From 2ea42bba1e7296ae2e8dccec324430a107aa79d6 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Wed, 14 Jun 2023 22:43:03 +0000 Subject: [PATCH 001/340] Bump guava in /clients/sellingpartner-api-aa-java Bumps [guava](https://github.com/google/guava) from 30.1-jre to 32.0.0-jre. - [Release notes](https://github.com/google/guava/releases) - [Commits](https://github.com/google/guava/commits) --- updated-dependencies: - dependency-name: com.google.guava:guava dependency-type: direct:production ... Signed-off-by: dependabot[bot] --- clients/sellingpartner-api-aa-java/pom.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/clients/sellingpartner-api-aa-java/pom.xml b/clients/sellingpartner-api-aa-java/pom.xml index b209b2ce5..8ead67f12 100644 --- a/clients/sellingpartner-api-aa-java/pom.xml +++ b/clients/sellingpartner-api-aa-java/pom.xml @@ -119,7 +119,7 @@ com.google.guava guava - 30.1-jre + 32.0.0-jre From c1a9cdf9111f022f26f0f3cfa4875809176854d6 Mon Sep 17 00:00:00 2001 From: andiec Date: Tue, 21 Nov 2023 13:24:00 -0500 Subject: [PATCH 002/340] updated ListingsItemissuesChangeNotification cr: https://code.amazon.com/reviews/CR-106928054 --- .../ListingsItemIssuesChangeNotification.json | 2 +- ...emIssuesChangeNotification_2023-12-13.json | 245 ++++++++++++++++++ 2 files changed, 246 insertions(+), 1 deletion(-) create mode 100644 schemas/notifications/ListingsItemIssuesChangeNotification_2023-12-13.json diff --git a/schemas/notifications/ListingsItemIssuesChangeNotification.json b/schemas/notifications/ListingsItemIssuesChangeNotification.json index 957aa8142..7e465cafb 100644 --- a/schemas/notifications/ListingsItemIssuesChangeNotification.json +++ b/schemas/notifications/ListingsItemIssuesChangeNotification.json @@ -242,4 +242,4 @@ } } } -} +} \ No newline at end of file diff --git a/schemas/notifications/ListingsItemIssuesChangeNotification_2023-12-13.json b/schemas/notifications/ListingsItemIssuesChangeNotification_2023-12-13.json new file mode 100644 index 000000000..ac9687e78 --- /dev/null +++ b/schemas/notifications/ListingsItemIssuesChangeNotification_2023-12-13.json @@ -0,0 +1,245 @@ +{ + "$schema": "http://json-schema.org/draft-07/schema", + "title": "Listings Item Issues Change Notification", + "description": "To be delivered when issues are created, changed, or resolved for a listings item.", + "type": "object", + "examples": [ + { + "NotificationVersion": "1.0", + "NotificationType": "LISTINGS_ITEM_ISSUES_CHANGE", + "PayloadVersion": "2023-12-13", + "EventTime": "2024-02-05T18:59:30.194Z", + "Payload": { + "SellerId": "AXXXXXXXXXXXXX", + "MarketplaceId": "ATVPDKIKX0DER", + "Asin": "BT6RZ7JM4H", + "Sku": "NLS-SHOES-03", + "Severities": [ + "ERROR", + "WARNING" + ], + "EnforcementActions": [ + "SEARCH_SUPPRESSED", + "LISTING_SUPPRESSED", + "ATTRIBUTE_SUPPRESSED", + "CATALOG_ITEM_REMOVED" + ] + }, + "NotificationMetadata": { + "ApplicationId": "amzn1.sellerapps.app.f108f511-eeac-46a6-b125-bcb752069ed0", + "SubscriptionId": "93b098e1-c42-2f45-93a1-78910a6a8369", + "PublishTime": "2024-02-05T18:59:48.768Z", + "NotificationId": "8e009934-da2c-4f9c-9bc7-93f23b7e1f60" + } + } + ], + "required": [ + "NotificationVersion", + "NotificationType", + "PayloadVersion", + "EventTime", + "Payload", + "NotificationMetadata" + ], + "properties": { + "NotificationVersion": { + "type": "string", + "title": "Notification Version", + "description": "The version of the notification.", + "examples": [ + "1.0" + ] + }, + "NotificationType": { + "type": "string", + "title": "Notification Type", + "description": "The type of the notification.", + "enum": ["LISTINGS_ITEM_ISSUES_CHANGE"] + }, + "PayloadVersion": { + "type": "string", + "title": "Payload Version", + "description": "The version of the payload.", + "examples": [ + "2023-12-13" + ] + }, + "EventTime": { + "type": "string", + "format": "date-time", + "title": "Event Time", + "description": "Timestamp of the event, formatted as ISO8601 date-time.", + "examples": [ + "2019-03-20T18:59:30.194Z" + ] + }, + "Payload": { + "type": "object", + "title": "Payload", + "description": "The details of this notification.", + "examples": [ + { + "SellerId": "A3AYAZLIQ7AX77", + "MarketplaceId": "ATVPDKIKX0DER", + "Asin": "BT6RZ7JM4H", + "Sku": "NLS-SHOES-03", + "Severities": [ + "ERROR", + "WARNING" + ], + "EnforcementActions": [ + "SEARCH_SUPPRESSED", + "LISTING_SUPPRESSED", + "ATTRIBUTE_SUPPRESSED", + "CATALOG_ITEM_REMOVED" + ] + } + ], + "required": [ + "SellerId", + "Sku", + "Severities" + ], + "properties": { + "SellerId": { + "type": "string", + "title": "Seller ID", + "description": "Selling partner identifier, such as a merchant account or vendor code, of the affected listings item.", + "examples": [ + "AXXXXXXXXXXXXX", + "TXXXX" + ] + }, + "MarketplaceId": { + "type": "string", + "title": "Marketplace ID", + "description": "Amazon marketplace identifier of the affected listings item.", + "examples": [ + "ATVPDKIKX0DER" + ] + }, + "Asin": { + "type": "string", + "title": "ASIN", + "description": "The Amazon Standard Identification Number (ASIN) identifier of the catalog item associated with the listings item.", + "examples": [ + "BT6RZ7JM4H" + ] + }, + "Sku": { + "type": "string", + "title": "SKU", + "description": "Identifier of the affected listings item.", + "examples": [ + "NLS-SHOES-03" + ] + }, + "Severities": { + "type": "array", + "title": "Severities", + "description": "Array of severities for the issues currently associated with the affected listings item. When no issues are affecting the listings item, \"NONE\" is provided instead.", + "items": { + "type": "string", + "enum": [ + "NONE", + "ERROR", + "WARNING" + ], + "x-docgen-enum-table-extension": [ + { + "value": "NONE", + "description": "When provided, no issues are affecting the listings item." + }, + { + "value": "ERROR", + "description": "When provided, at least one issue with \"ERROR\" severity is affecting the listings item." + }, + { + "value": "WARNING", + "description": "When provided, at least one issue with \"WARNING\" severity is affecting the listings item." + } + ] + }, + "uniqueItems": true, + "examples": [ + [ + "ERROR", + "WARNING" + ] + ] + }, + "EnforcementActions": { + "type": "array", + "title": "Enforcement Actions Taken", + "description": "Array of enforcement actions taken by Amazon for the issues associated with the affected listings item. Possible values: 'LISTING_SUPPRESSED' - This enforcement takes down the current listing item's buyability. 'ATTRIBUTE_SUPPRESSED' - An attribute's value on the listing item is invalid, which causes it to be rejected by Amazon. 'CATALOG_ITEM_REMOVED' - This catalog item is inactive on Amazon, and all offers against it in the applicable marketplace are non-buyable. 'SEARCH_SUPPRESSED' - This value indicates that the catalog item is hidden from search results.", + "items": { + "type": "string" + }, + "uniqueItems": true, + "examples": [ + [ + "SEARCH_SUPPRESSED", + "LISTING_SUPPRESSED", + "ATTRIBUTE_SUPPRESSED", + "CATALOG_ITEM_REMOVED" + ] + ] + } + } + }, + "NotificationMetadata": { + "type": "object", + "title": "Notification Metadata", + "description": "The metadata of the notification.", + "examples": [ + { + "ApplicationId": "amzn1.sellerapps.app.f1234566-aaec-55a6-b123-bcb752069ec5", + "SubscriptionId": "93b098e1-c42-2f45-93a1-78910a6a8369", + "PublishTime": "2019-03-20T18:59:48.768Z", + "NotificationId": "8e009934-da2c-4f9c-9bc7-93f23b7e1f60" + } + ], + "required": [ + "ApplicationId", + "SubscriptionId", + "PublishTime", + "NotificationId" + ], + "properties": { + "ApplicationId": { + "type": "string", + "title": "Application ID", + "description": "Identifies the application.", + "examples": [ + "amzn1.sellerapps.app.f1234566-aaec-55a6-b123-bcb752069ec5" + ] + }, + "SubscriptionId": { + "type": "string", + "title": "Subscription ID", + "description": "Identifies the subscription.", + "examples": [ + "93b098e1-c42-2f45-93a1-78910a6a8369" + ] + }, + "PublishTime": { + "type": "string", + "format": "date-time", + "title": "Publish Time", + "description": "Timestamp of when the notification was published, formatted as ISO8601 date-time.", + "examples": [ + "2019-03-20T18:59:48.768Z" + ] + }, + "NotificationId": { + "type": "string", + "title": "Notification ID", + "description": "Identifies the notification.", + "examples": [ + "8e009934-da2c-4f9c-9bc7-93f23b7e1f60" + ] + } + } + } + } +} From bea2055905cef94a0cc38a47e6018501c0f13635 Mon Sep 17 00:00:00 2001 From: andiec Date: Wed, 31 Jan 2024 11:11:11 -0500 Subject: [PATCH 003/340] fba small and light deprecation note added --- .DS_Store | Bin 8196 -> 8196 bytes models/.DS_Store | Bin 8196 -> 10244 bytes .../fbaSmallandLight.json | 11 ++++++++--- .../product-fees-api-model/productFeesV0.json | 8 ++++---- 4 files changed, 12 insertions(+), 7 deletions(-) diff --git a/.DS_Store b/.DS_Store index 066d450b63a01d8f20da8fbb9621ee561b70deb8..52e8b63df488a9c1c6351c4382e4a169552bc92e 100644 GIT binary patch delta 1039 zcmeIw%S%*I90%~<_oQ}jo$NTyOg5?42RUSpsoD7G!Jw0+hKkK-V5DQ-#n3c9u1(NH z_HYv+J#I-v1#K#^A}XR6wFt`!+GLbaEutc#7X+lr6_8P^64bXg_Vfq4!$ynV zXUN?gu=ZApEr#B#hXVbxPwnT~IG1&q>dopTDTIVtG|fUBkp|kz(OiZazw> z1vhP$qDJm?EKo&2@fpEwdVF5M3sqsLzD>b!SFCXq^TmqjQvIPoryhz|ZeFg4dbKqY zzfioCCm*($s57}eZ$Kr5GN^>Sw1zsUkD@e0N9hz@p)tBgPw5rCqmT3*07D{@FcVf} zKtmR?k&lINp%6>q#Y)tm8EsgP4QNLfHY1E4^df=*?8I*D!CoAKi6a=sNu0r1jNlS( zx^WA)aR-m_49_u%H~56l_`<+uFe|e$JJVPe%VD|9&B~aE)v{*R$~w$cYm>y+R;{kB ztN$~8&foFP1Y1xdhixvwHIXR&l!>&tj(K@bZjRbAtGSpa-PKsPq(I{WQ=y`gbCDol zAU<1>AtOzNs%lLWiWpZECD-#W&Xe?--qTn5A)S+viZnP;1UHsR)dn?Hf|Kj(j+n2!@b0Zh{G+W-In delta 1039 zcmeIwOGs2v90u_JcYJU!2lLE0YK@Ok!WpWmW=O>ml3_H>2P!sd5jl-{gQ3CK9Vbl6 zENjtgbD@%oKtg(9f!Pz25K9c6PdzdGcGj2X*mh$FH zRs%yuevWh0Mt?4lLIvcZ05wn-_0upNr_*$iZqY2=rpNS*Uea6oM2qx=zS1}PfmCE5 z69N|4k%s~lVhu`BhH?bZh$b|n1wrgU7j`0y-RMI<2BBjZhj6$SM{pFUa0X{Ffk|A$ zbxh+19^wh+FpmTl@DA^>i0>?wrLlCD$po{qEaqe`=3zb-V0En3$g;Icd`I2p`i91) zzu?=J!Z&Q$5s7>td#&IOktY3=#PSvPJg18r53&oZxk!=jYO*VHJGh*`8GMzTi&QxQ zGgcMINWVj%+Tjq2m{SyGrT<@?=jl1Uq7U?0I{!op6y%}^PPnCN75u114K_*HR0|97x!=2Hwr=94s8#AQiF Date: Tue, 30 Jul 2024 17:00:27 +0200 Subject: [PATCH 004/340] change mvn package org.projectlombok.lombok from version 1.18.08 to 1.18.34 --- clients/sellingpartner-api-aa-java/pom.xml | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/clients/sellingpartner-api-aa-java/pom.xml b/clients/sellingpartner-api-aa-java/pom.xml index 9b51bf461..4a176fe35 100644 --- a/clients/sellingpartner-api-aa-java/pom.xml +++ b/clients/sellingpartner-api-aa-java/pom.xml @@ -53,9 +53,10 @@ org.projectlombok lombok - 1.18.8 + 1.18.34 provided + com.google.code.gson From 26179ed07b1ce33ba8bba34fa38e9480491ab939 Mon Sep 17 00:00:00 2001 From: Marc Marschall Date: Tue, 30 Jul 2024 17:10:04 +0200 Subject: [PATCH 005/340] Update pom.xml --- clients/sellingpartner-api-aa-java/pom.xml | 1 - 1 file changed, 1 deletion(-) diff --git a/clients/sellingpartner-api-aa-java/pom.xml b/clients/sellingpartner-api-aa-java/pom.xml index 4a176fe35..547cdf829 100644 --- a/clients/sellingpartner-api-aa-java/pom.xml +++ b/clients/sellingpartner-api-aa-java/pom.xml @@ -83,7 +83,6 @@ 5.3.2 test - org.junit.jupiter From ee40fb65d98bc3a8392c15ba849e19333517998f Mon Sep 17 00:00:00 2001 From: Marc Marschall Date: Tue, 30 Jul 2024 17:11:05 +0200 Subject: [PATCH 006/340] Update pom.xml --- clients/sellingpartner-api-aa-java/pom.xml | 1 - 1 file changed, 1 deletion(-) diff --git a/clients/sellingpartner-api-aa-java/pom.xml b/clients/sellingpartner-api-aa-java/pom.xml index 547cdf829..d50c901c3 100644 --- a/clients/sellingpartner-api-aa-java/pom.xml +++ b/clients/sellingpartner-api-aa-java/pom.xml @@ -56,7 +56,6 @@ 1.18.34 provided - com.google.code.gson From dc2c0f1cfcf2d91124ec57d0319f01a38d749841 Mon Sep 17 00:00:00 2001 From: ruby4406 Date: Tue, 20 Aug 2024 03:33:42 +0530 Subject: [PATCH 007/340] Merge remote-tracking branch 'origin/SPAPIDoc-2419-listingsitemsissueschange-schema' into pr/4068 --- .DS_Store | Bin 0 -> 8196 bytes .idea/workspace.xml | 8 + clients/sellingpartner-api-aa-java/pom.xml | 2 +- models/.DS_Store | Bin 0 -> 10244 bytes .../fbaSmallandLight.json | 2271 +++++++++++++++++ .../ListingsItemIssuesChangeNotification.json | 2 +- 6 files changed, 2281 insertions(+), 2 deletions(-) create mode 100644 .DS_Store create mode 100644 .idea/workspace.xml create mode 100644 models/.DS_Store create mode 100644 models/fba-small-and-light-api-model/fbaSmallandLight.json diff --git a/.DS_Store b/.DS_Store new file mode 100644 index 0000000000000000000000000000000000000000..52e8b63df488a9c1c6351c4382e4a169552bc92e GIT binary patch literal 8196 zcmeHMU2GIp6u#fIlo>kEDJ)P&$}UtTLV=c_0s^}IL(6Z|ZD}dUc6Vol39~b0XLgHL zwCa;l;$JkzsEJQXR33~PMWYV}MIU@n{J|I>j2dJ7OEfRH)-0$4GXO=OBj-t`ZSOa5Bri)Xpmb!~HKF+TxO$sH|L_zwD+04t1d81j|%}$ve z38Dx@5r`rXMIeem6oLOj1nA7>O`hi57o$-hMIeg6Wf=j!KP2elG#SzfL4&P>x}XFg z%1eNt(LL1xfleZ%$&gM68mN*@Q9U43MOb1$sMC0YPbZoT>4cy{ok6HGgil6Tp&)oV z=_P{c3`s$wK8ipTfvFMT=~Kh<%w+~ME9&>t*-_i_{FataAyrk+sF^9xlxyXiQ-|HL zl%Mg7UPq>|pL6}LYiG;%ne1N697}7lPS^1>mSYwI1dU2|f?#Q zS2%W}(kt65b&9VNRqM-MeNpyGnN_RK*82zc4i2elZElHPf6u6IxsJEjEOT?-8SF|&}*>2k@>o${QbzZLE+IFw&S=`LNA>Taa^RX#I zL&Kh1@H+!zLl)T=v$UdT_L*eVDw$nm+KW{<2<6nAg^QM4y?ph$OqEt? zb+l;tw`xtYENm^-6N>hVe88aR?{W>UX#^wsV*M&v-p}Qo1(SLqR+s75Dq2SF_sCIU zqFG&~Xr9u4gce<>wyJAo%}@sHOxCo8s7>7{Yde&|l8Chs#?&pcGL&=kd3tG2$ZpWv zW$mndkUw~5#`E`#nojwZZqU1BdDuIgDVTf42y$hO9$5|+kK|mX+pv7M5O}>~v99mq zrrHg|G(xBKUcFD&J|Z2>a!M9~oR&{uU2aNl7mLu8Tpr$(7bS>gQ?f;uyJ;RJv>UwqF3Cz-t+ze}{g6_DMMspgllDB~mHT zu3Xfp#s?@J%wv@aT25STCQncK9G|^psT$X2P{IiInq|b+P_hViMRPo^NtC04ZE20G zS`}rW66mgPCKe&H={i-_swo%6*!7LXvXJTMBr`m-9Zm2v6WiJQX1PB%a3$ zcoDDSHN1|~cn4?j9?s%@e1MPfCBDTE_^krTyCx$UzgHr;lqxv3>l`9^8U2%0E?KTh zc-Fw{|L*C(|6j8HM~+1ih$2ASUUgThtAipj-TudG?F3yTbn(XLO$ZvOP#2WrM1yji m=!HKF={`YIxlS^q6M~Y2+Q0rGV7edF(fJ>p{{bQ|kM1wypjK4? literal 0 HcmV?d00001 diff --git a/.idea/workspace.xml b/.idea/workspace.xml new file mode 100644 index 000000000..f48cf1308 --- /dev/null +++ b/.idea/workspace.xml @@ -0,0 +1,8 @@ + + + { + "keyToString": { + "settings.editor.selected.configurable": "aws" + } +} + \ No newline at end of file diff --git a/clients/sellingpartner-api-aa-java/pom.xml b/clients/sellingpartner-api-aa-java/pom.xml index d50c901c3..1f6366119 100644 --- a/clients/sellingpartner-api-aa-java/pom.xml +++ b/clients/sellingpartner-api-aa-java/pom.xml @@ -118,7 +118,7 @@ com.google.guava guava - 30.1-jre + 32.0.0-jre diff --git a/models/.DS_Store b/models/.DS_Store new file mode 100644 index 0000000000000000000000000000000000000000..cd5aa68a204c15ed0367f3a875676bad62ead55f GIT binary patch literal 10244 zcmeI1-EI;=6vxlBXqQwIG-{}c$tK=-Q6gIrX}m$i7Z9TtYU*yGbmOv1SdbWk;o6V) zG2Z(MUi$z(g#Y=d(Z%vnEY#!-nfcGo&Ij|$nVFnfA`+Ee-667x$U>Bwxq##^LB5x9 zEUcN53{;>!QA{mzDZno`R+|f$025#WOn?b6fwMpWXSNL1rdCdw025#WzX-_v!A6u? zHagO(whko91%RedtOD}V9guBoqh+Hbt$2eVbW^BqDvXOEbaRy3re4|TNULs6!Z;to zj4X_YBGl;U-&WO0l(llo1em}$0l8dm&;fby+jD>T?=FQ@M_E8VHR+JL$h*|WQx0B! zgm(=JynfvFg2+QJU%YnU$K8DXn^;>4?25)MeFo?n?dXXbs z22CIAB)@$yil=bUayAh1J~iPH?-1wbxPWt_Qo4tMLHLrrX#5y)NgPb%NN|7%@rE2R&_hllQX~ zuFHjO?F2JVu*+gC_Q0==)%q5;7Q^y-pf}5oHg0j&DV_vreG)hY2b;fB%I7Dn(^*b} zxn~|Uo!WlXYU}+{rE~YuimFv}j#}The(Ya*_w@mKIzd16f6`C;aPc`MEb2EroMi$` zfC(@GCcp$%Mqpi!Y|H!qN5_BvU)lfTftdgkIDG;lRjpMk80YAMEIFjSYqt?!A<7`@ zjkKyJNYr&aR9(m8L0-q-LX>s$Qe{BCY;>d*B?wFZ7{LDj*iCN2TbtYSoOlz={{NKQ JljZyWKLMN3!xR7j literal 0 HcmV?d00001 diff --git a/models/fba-small-and-light-api-model/fbaSmallandLight.json b/models/fba-small-and-light-api-model/fbaSmallandLight.json new file mode 100644 index 000000000..b5e5aac98 --- /dev/null +++ b/models/fba-small-and-light-api-model/fbaSmallandLight.json @@ -0,0 +1,2271 @@ +{ + "swagger": "2.0", + "info": { + "description": "The Selling Partner API for FBA Small and Light lets you help sellers manage their listings in the Small and Light program. The program reduces the cost of fulfilling orders for small and lightweight FBA inventory. You can enroll or remove items from the program and check item eligibility and enrollment status. You can also preview the estimated program fees charged to a seller for items sold while enrolled in the program. \n\n**Note:** The FBA Small and Light program sunset in the US and EU regions on **September 26, 2023**. The program will be deprecated in the JP region on **March 31, 2024** and sunset on **April 1, 2024**. APIs announcing deprecation will no longer be supported after their deprecation date. Calls to deprecated APIs will fail beginning on their sunset date. For more information, refer to [FBA Small and Light program deprecation](https://developer-docs.amazon.com/sp-api/changelog/fba-small-and-light-program-deprecation).", + "version": "v1", + "title": "Selling Partner API for FBA Small And Light", + "contact": { + "name": "Selling Partner API Developer Support", + "url": "https://sellercentral.amazon.com/gp/mws/contactus.html" + }, + "license": { + "name": "Apache License 2.0", + "url": "http://www.apache.org/licenses/LICENSE-2.0" + } + }, + "host": "sellingpartnerapi-na.amazon.com", + "schemes": [ + "https" + ], + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "paths": { + "/fba/smallAndLight/v1/enrollments/{sellerSKU}": { + "get": { + "tags": [ + "smallAndLight" + ], + "description": "Returns the Small and Light enrollment status for the item indicated by the specified seller SKU in the specified marketplace.\n\n**Usage Plan:**\n\n| Rate (requests per second) | Burst |\n| ---- | ---- |\n| 2 | 10 |\n\nThe `x-amzn-RateLimit-Limit` response header returns the usage plan rate limits that were applied to the requested operation, when available. The table above indicates the default rate and burst values for this operation. Selling partners whose business demands require higher throughput may see higher rate and burst values than those shown here. For more information, see [Usage Plans and Rate Limits in the Selling Partner API](https://developer-docs.amazon.com/sp-api/docs/usage-plans-and-rate-limits-in-the-sp-api).", + "operationId": "getSmallAndLightEnrollmentBySellerSKU", + "deprecated": true, + "parameters": [ + { + "name": "sellerSKU", + "in": "path", + "description": "The seller SKU that identifies the item.", + "required": true, + "type": "string" + }, + { + "name": "marketplaceIds", + "in": "query", + "description": "The marketplace for which the enrollment status is retrieved. Note: Accepts a single marketplace only.", + "required": true, + "type": "array", + "items": { + "type": "string" + }, + "maxItems": 1 + } + ], + "responses": { + "200": { + "description": "Success.", + "schema": { + "$ref": "#/definitions/SmallAndLightEnrollment" + }, + "headers": { + "x-amzn-RateLimit-Limit": { + "type": "string", + "description": "Your rate limit (requests per second) for this operation." + }, + "x-amzn-RequestId": { + "type": "string", + "description": "Unique request reference identifier." + } + }, + "x-amzn-api-sandbox": { + "static": [ + { + "request": { + "parameters": { + "sellerSKU": { + "value": "SKU_ENROLLED_IN_SMALL_AND_LIGHT" + }, + "marketplaceIds": { + "value": [ + "ATVPDKIKX0DER" + ] + } + } + }, + "response": { + "marketplaceId": "ATVPDKIKX0DER", + "sellerSKU": "SKU_ENROLLED_IN_SMALL_AND_LIGHT", + "status": "ENROLLED" + } + } + ] + } + }, + "400": { + "description": "Request has missing or invalid parameters and cannot be parsed.", + "schema": { + "$ref": "#/definitions/ErrorList" + }, + "headers": { + "x-amzn-RateLimit-Limit": { + "type": "string", + "description": "Your rate limit (requests per second) for this operation." + }, + "x-amzn-RequestId": { + "type": "string", + "description": "Unique request reference identifier." + } + }, + "x-amzn-api-sandbox": { + "static": [ + { + "request": { + "parameters": { + "sellerSKU": { + "value": "SKU_400" + }, + "marketplaceIds": { + "value": [ + "ATVPDKIKX0DER" + ] + } + } + }, + "response": { + "errors": [ + { + "code": "InvalidInput", + "message": "Invalid input." + } + ] + } + } + ] + } + }, + "403": { + "description": "Indicates that access to the resource is forbidden. Possible reasons include Access Denied, Unauthorized, Expired Token, or Invalid Signature.", + "schema": { + "$ref": "#/definitions/ErrorList" + }, + "headers": { + "x-amzn-RequestId": { + "type": "string", + "description": "Unique request reference identifier." + } + }, + "x-amzn-api-sandbox": { + "static": [ + { + "request": { + "parameters": { + "sellerSKU": { + "value": "SKU_403" + }, + "marketplaceIds": { + "value": [ + "ATVPDKIKX0DER" + ] + } + } + }, + "response": { + "errors": [ + { + "code": "Unauthorized", + "message": "Access to requested resource is denied." + } + ] + } + } + ] + } + }, + "404": { + "description": "The resource specified does not exist.", + "schema": { + "$ref": "#/definitions/ErrorList" + }, + "headers": { + "x-amzn-RateLimit-Limit": { + "type": "string", + "description": "Your rate limit (requests per second) for this operation." + }, + "x-amzn-RequestId": { + "type": "string", + "description": "Unique request reference identifier." + } + }, + "x-amzn-api-sandbox": { + "static": [ + { + "request": { + "parameters": { + "sellerSKU": { + "value": "SKU_404" + }, + "marketplaceIds": { + "value": [ + "ATVPDKIKX0DER" + ] + } + } + }, + "response": { + "errors": [ + { + "code": "NotFound", + "message": "Requested resource is not found" + } + ] + } + } + ] + } + }, + "413": { + "description": "The request size exceeded the maximum accepted size.", + "schema": { + "$ref": "#/definitions/ErrorList" + }, + "headers": { + "x-amzn-RateLimit-Limit": { + "type": "string", + "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." + }, + "x-amzn-RequestId": { + "type": "string", + "description": "Unique request reference identifier." + } + }, + "x-amzn-api-sandbox": { + "static": [ + { + "request": { + "parameters": { + "sellerSKU": { + "value": "SKU_413" + }, + "marketplaceIds": { + "value": [ + "ATVPDKIKX0DER" + ] + } + } + }, + "response": { + "errors": [ + { + "code": "PayloadTooLarge", + "message": "Payload of the request is too large." + } + ] + } + } + ] + } + }, + "415": { + "description": "The request payload is in an unsupported format.", + "schema": { + "$ref": "#/definitions/ErrorList" + }, + "headers": { + "x-amzn-RateLimit-Limit": { + "type": "string", + "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." + }, + "x-amzn-RequestId": { + "type": "string", + "description": "Unique request reference identifier." + } + }, + "x-amzn-api-sandbox": { + "static": [ + { + "request": { + "parameters": { + "sellerSKU": { + "value": "SKU_415" + }, + "marketplaceIds": { + "value": [ + "ATVPDKIKX0DER" + ] + } + } + }, + "response": { + "errors": [ + { + "code": "UnsupportedType", + "message": "The entity of the request is of unsupported type." + } + ] + } + } + ] + } + }, + "429": { + "description": "The frequency of requests was greater than allowed.", + "schema": { + "$ref": "#/definitions/ErrorList" + }, + "headers": { + "x-amzn-RateLimit-Limit": { + "type": "string", + "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." + }, + "x-amzn-RequestId": { + "type": "string", + "description": "Unique request reference identifier." + } + }, + "x-amzn-api-sandbox": { + "static": [ + { + "request": { + "parameters": { + "sellerSKU": { + "value": "SKU_429" + }, + "marketplaceIds": { + "value": [ + "ATVPDKIKX0DER" + ] + } + } + }, + "response": { + "errors": [ + { + "code": "TooManyRequests", + "message": "Total number of requests exceed your allowed limits." + } + ] + } + } + ] + } + }, + "500": { + "description": "An unexpected condition occurred that prevented the server from fulfilling the request.", + "schema": { + "$ref": "#/definitions/ErrorList" + }, + "headers": { + "x-amzn-RateLimit-Limit": { + "type": "string", + "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." + }, + "x-amzn-RequestId": { + "type": "string", + "description": "Unique request reference identifier." + } + }, + "x-amzn-api-sandbox": { + "static": [ + { + "request": { + "parameters": { + "sellerSKU": { + "value": "SKU_500" + }, + "marketplaceIds": { + "value": [ + "ATVPDKIKX0DER" + ] + } + } + }, + "response": { + "errors": [ + { + "code": "InternalServerError", + "message": "Server encountered an unexpected condition while processing your request." + } + ] + } + } + ] + } + }, + "503": { + "description": "Temporary overloading or maintenance of the server.", + "schema": { + "$ref": "#/definitions/ErrorList" + }, + "headers": { + "x-amzn-RateLimit-Limit": { + "type": "string", + "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." + }, + "x-amzn-RequestId": { + "type": "string", + "description": "Unique request reference identifier." + } + }, + "x-amzn-api-sandbox": { + "static": [ + { + "request": { + "parameters": { + "sellerSKU": { + "value": "SKU_503" + }, + "marketplaceIds": { + "value": [ + "ATVPDKIKX0DER" + ] + } + } + }, + "response": { + "errors": [ + { + "code": "ServiceUnavailable", + "message": "Server is temporarily unavailable." + } + ] + } + } + ] + } + } + } + }, + "put": { + "tags": [ + "smallAndLight" + ], + "description": "Enrolls the item indicated by the specified seller SKU in the Small and Light program in the specified marketplace. If the item is not eligible, the ineligibility reasons are returned.\n\n**Usage Plan:**\n\n| Rate (requests per second) | Burst |\n| ---- | ---- |\n| 2 | 5 |\n\nThe `x-amzn-RateLimit-Limit` response header returns the usage plan rate limits that were applied to the requested operation, when available. The table above indicates the default rate and burst values for this operation. Selling partners whose business demands require higher throughput may see higher rate and burst values than those shown here. For more information, see [Usage Plans and Rate Limits in the Selling Partner API](https://developer-docs.amazon.com/sp-api/docs/usage-plans-and-rate-limits-in-the-sp-api).", + "operationId": "putSmallAndLightEnrollmentBySellerSKU", + "deprecated": true, + "parameters": [ + { + "name": "sellerSKU", + "in": "path", + "description": "The seller SKU that identifies the item.", + "required": true, + "type": "string" + }, + { + "name": "marketplaceIds", + "in": "query", + "description": "The marketplace in which to enroll the item. Note: Accepts a single marketplace only.", + "required": true, + "type": "array", + "items": { + "type": "string" + }, + "maxItems": 1 + } + ], + "responses": { + "200": { + "description": "Success.", + "schema": { + "$ref": "#/definitions/SmallAndLightEnrollment" + }, + "headers": { + "x-amzn-RateLimit-Limit": { + "type": "string", + "description": "Your rate limit (requests per second) for this operation." + }, + "x-amzn-RequestId": { + "type": "string", + "description": "Unique request reference identifier." + } + }, + "x-amzn-api-sandbox": { + "static": [ + { + "request": { + "parameters": { + "sellerSKU": { + "value": "SKU_ELIGIBLE_FOR_SMALL_AND_LIGHT" + }, + "marketplaceIds": { + "value": [ + "ATVPDKIKX0DER" + ] + } + } + }, + "response": { + "marketplaceId": "ATVPDKIKX0DER", + "sellerSKU": "SKU_ELIGIBLE_FOR_SMALL_AND_LIGHT", + "status": "ENROLLED" + } + } + ] + } + }, + "400": { + "description": "Request has missing or invalid parameters and cannot be parsed.", + "schema": { + "$ref": "#/definitions/ErrorList" + }, + "headers": { + "x-amzn-RateLimit-Limit": { + "type": "string", + "description": "Your rate limit (requests per second) for this operation." + }, + "x-amzn-RequestId": { + "type": "string", + "description": "Unique request reference identifier." + } + }, + "x-amzn-api-sandbox": { + "static": [ + { + "request": { + "parameters": { + "sellerSKU": { + "value": "SKU_400" + }, + "marketplaceIds": { + "value": [ + "ATVPDKIKX0DER" + ] + } + } + }, + "response": { + "errors": [ + { + "code": "InvalidInput", + "message": "Invalid input." + } + ] + } + } + ] + } + }, + "403": { + "description": "Indicates that access to the resource is forbidden. Possible reasons include Access Denied, Unauthorized, Expired Token, or Invalid Signature.", + "schema": { + "$ref": "#/definitions/ErrorList" + }, + "headers": { + "x-amzn-RequestId": { + "type": "string", + "description": "Unique request reference identifier." + } + }, + "x-amzn-api-sandbox": { + "static": [ + { + "request": { + "parameters": { + "sellerSKU": { + "value": "SKU_403" + }, + "marketplaceIds": { + "value": [ + "ATVPDKIKX0DER" + ] + } + } + }, + "response": { + "errors": [ + { + "code": "Unauthorized", + "message": "Access to requested resource is denied." + } + ] + } + } + ] + } + }, + "404": { + "description": "The resource specified does not exist.", + "schema": { + "$ref": "#/definitions/ErrorList" + }, + "headers": { + "x-amzn-RateLimit-Limit": { + "type": "string", + "description": "Your rate limit (requests per second) for this operation." + }, + "x-amzn-RequestId": { + "type": "string", + "description": "Unique request reference identifier." + } + }, + "x-amzn-api-sandbox": { + "static": [ + { + "request": { + "parameters": { + "sellerSKU": { + "value": "SKU_404" + }, + "marketplaceIds": { + "value": [ + "ATVPDKIKX0DER" + ] + } + } + }, + "response": { + "errors": [ + { + "code": "NotFound", + "message": "Requested resource is not found" + } + ] + } + } + ] + } + }, + "413": { + "description": "The request size exceeded the maximum accepted size.", + "schema": { + "$ref": "#/definitions/ErrorList" + }, + "headers": { + "x-amzn-RateLimit-Limit": { + "type": "string", + "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." + }, + "x-amzn-RequestId": { + "type": "string", + "description": "Unique request reference identifier." + } + }, + "x-amzn-api-sandbox": { + "static": [ + { + "request": { + "parameters": { + "sellerSKU": { + "value": "SKU_413" + }, + "marketplaceIds": { + "value": [ + "ATVPDKIKX0DER" + ] + } + } + }, + "response": { + "errors": [ + { + "code": "PayloadTooLarge", + "message": "Payload of the request is too large." + } + ] + } + } + ] + } + }, + "415": { + "description": "The request payload is in an unsupported format.", + "schema": { + "$ref": "#/definitions/ErrorList" + }, + "headers": { + "x-amzn-RateLimit-Limit": { + "type": "string", + "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." + }, + "x-amzn-RequestId": { + "type": "string", + "description": "Unique request reference identifier." + } + }, + "x-amzn-api-sandbox": { + "static": [ + { + "request": { + "parameters": { + "sellerSKU": { + "value": "SKU_415" + }, + "marketplaceIds": { + "value": [ + "ATVPDKIKX0DER" + ] + } + } + }, + "response": { + "errors": [ + { + "code": "UnsupportedType", + "message": "The entity of the request is of unsupported type." + } + ] + } + } + ] + } + }, + "429": { + "description": "The frequency of requests was greater than allowed.", + "schema": { + "$ref": "#/definitions/ErrorList" + }, + "headers": { + "x-amzn-RateLimit-Limit": { + "type": "string", + "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." + }, + "x-amzn-RequestId": { + "type": "string", + "description": "Unique request reference identifier." + } + }, + "x-amzn-api-sandbox": { + "static": [ + { + "request": { + "parameters": { + "sellerSKU": { + "value": "SKU_429" + }, + "marketplaceIds": { + "value": [ + "ATVPDKIKX0DER" + ] + } + } + }, + "response": { + "errors": [ + { + "code": "TooManyRequests", + "message": "Total number of requests exceed your allowed limits." + } + ] + } + } + ] + } + }, + "500": { + "description": "An unexpected condition occurred that prevented the server from fulfilling the request.", + "schema": { + "$ref": "#/definitions/ErrorList" + }, + "headers": { + "x-amzn-RateLimit-Limit": { + "type": "string", + "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." + }, + "x-amzn-RequestId": { + "type": "string", + "description": "Unique request reference identifier." + } + }, + "x-amzn-api-sandbox": { + "static": [ + { + "request": { + "parameters": { + "sellerSKU": { + "value": "SKU_500" + }, + "marketplaceIds": { + "value": [ + "ATVPDKIKX0DER" + ] + } + } + }, + "response": { + "errors": [ + { + "code": "InternalServerError", + "message": "Server encountered an unexpected condition while processing your request." + } + ] + } + } + ] + } + }, + "503": { + "description": "Temporary overloading or maintenance of the server.", + "schema": { + "$ref": "#/definitions/ErrorList" + }, + "headers": { + "x-amzn-RateLimit-Limit": { + "type": "string", + "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." + }, + "x-amzn-RequestId": { + "type": "string", + "description": "Unique request reference identifier." + } + }, + "x-amzn-api-sandbox": { + "static": [ + { + "request": { + "parameters": { + "sellerSKU": { + "value": "SKU_503" + }, + "marketplaceIds": { + "value": [ + "ATVPDKIKX0DER" + ] + } + } + }, + "response": { + "errors": [ + { + "code": "ServiceUnavailable", + "message": "Server is temporarily unavailable." + } + ] + } + } + ] + } + } + } + }, + "delete": { + "tags": [ + "smallAndLight" + ], + "description": "Removes the item indicated by the specified seller SKU from the Small and Light program in the specified marketplace. If the item is not eligible for disenrollment, the ineligibility reasons are returned.\n\n**Usage Plan:**\n\n| Rate (requests per second) | Burst |\n| ---- | ---- |\n| 2 | 5 |\n\nThe `x-amzn-RateLimit-Limit` response header returns the usage plan rate limits that were applied to the requested operation, when available. The table above indicates the default rate and burst values for this operation. Selling partners whose business demands require higher throughput may see higher rate and burst values than those shown here. For more information, see [Usage Plans and Rate Limits in the Selling Partner API](https://developer-docs.amazon.com/sp-api/docs/usage-plans-and-rate-limits-in-the-sp-api).", + "operationId": "deleteSmallAndLightEnrollmentBySellerSKU", + "deprecated": true, + "parameters": [ + { + "name": "sellerSKU", + "in": "path", + "description": "The seller SKU that identifies the item.", + "required": true, + "type": "string" + }, + { + "name": "marketplaceIds", + "in": "query", + "description": "The marketplace in which to remove the item from the Small and Light program. Note: Accepts a single marketplace only.", + "required": true, + "type": "array", + "items": { + "type": "string" + }, + "maxItems": 1 + } + ], + "responses": { + "204": { + "description": "Success.", + "headers": { + "x-amzn-RateLimit-Limit": { + "type": "string", + "description": "Your rate limit (requests per second) for this operation." + }, + "x-amzn-RequestId": { + "type": "string", + "description": "Unique request reference identifier." + } + }, + "x-amzn-api-sandbox": { + "static": [ + { + "request": { + "parameters": { + "sellerSKU": { + "value": "SKU_ENROLLED_FOR_SMALL_AND_LIGHT" + }, + "marketplaceIds": { + "value": [ + "ATVPDKIKX0DER" + ] + } + } + }, + "response": {} + } + ] + } + }, + "400": { + "description": "Request has missing or invalid parameters and cannot be parsed.", + "schema": { + "$ref": "#/definitions/ErrorList" + }, + "headers": { + "x-amzn-RateLimit-Limit": { + "type": "string", + "description": "Your rate limit (requests per second) for this operation." + }, + "x-amzn-RequestId": { + "type": "string", + "description": "Unique request reference identifier." + } + }, + "x-amzn-api-sandbox": { + "static": [ + { + "request": { + "parameters": { + "sellerSKU": { + "value": "SKU_400" + }, + "marketplaceIds": { + "value": [ + "ATVPDKIKX0DER" + ] + } + } + }, + "response": { + "errors": [ + { + "code": "InvalidInput", + "message": "Invalid input." + } + ] + } + } + ] + } + }, + "403": { + "description": "Indicates that access to the resource is forbidden. Possible reasons include Access Denied, Unauthorized, Expired Token, or Invalid Signature.", + "schema": { + "$ref": "#/definitions/ErrorList" + }, + "headers": { + "x-amzn-RequestId": { + "type": "string", + "description": "Unique request reference identifier." + } + }, + "x-amzn-api-sandbox": { + "static": [ + { + "request": { + "parameters": { + "sellerSKU": { + "value": "SKU_403" + }, + "marketplaceIds": { + "value": [ + "ATVPDKIKX0DER" + ] + } + } + }, + "response": { + "errors": [ + { + "code": "Unauthorized", + "message": "Access to requested resource is denied." + } + ] + } + } + ] + } + }, + "404": { + "description": "The resource specified does not exist.", + "schema": { + "$ref": "#/definitions/ErrorList" + }, + "headers": { + "x-amzn-RateLimit-Limit": { + "type": "string", + "description": "Your rate limit (requests per second) for this operation." + }, + "x-amzn-RequestId": { + "type": "string", + "description": "Unique request reference identifier." + } + }, + "x-amzn-api-sandbox": { + "static": [ + { + "request": { + "parameters": { + "sellerSKU": { + "value": "SKU_404" + }, + "marketplaceIds": { + "value": [ + "ATVPDKIKX0DER" + ] + } + } + }, + "response": { + "errors": [ + { + "code": "NotFound", + "message": "Requested resource is not found" + } + ] + } + } + ] + } + }, + "413": { + "description": "The request size exceeded the maximum accepted size.", + "schema": { + "$ref": "#/definitions/ErrorList" + }, + "headers": { + "x-amzn-RateLimit-Limit": { + "type": "string", + "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." + }, + "x-amzn-RequestId": { + "type": "string", + "description": "Unique request reference identifier." + } + }, + "x-amzn-api-sandbox": { + "static": [ + { + "request": { + "parameters": { + "sellerSKU": { + "value": "SKU_413" + }, + "marketplaceIds": { + "value": [ + "ATVPDKIKX0DER" + ] + } + } + }, + "response": { + "errors": [ + { + "code": "PayloadTooLarge", + "message": "Payload of the request is too large." + } + ] + } + } + ] + } + }, + "415": { + "description": "The request payload is in an unsupported format.", + "schema": { + "$ref": "#/definitions/ErrorList" + }, + "headers": { + "x-amzn-RateLimit-Limit": { + "type": "string", + "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." + }, + "x-amzn-RequestId": { + "type": "string", + "description": "Unique request reference identifier." + } + }, + "x-amzn-api-sandbox": { + "static": [ + { + "request": { + "parameters": { + "sellerSKU": { + "value": "SKU_415" + }, + "marketplaceIds": { + "value": [ + "ATVPDKIKX0DER" + ] + } + } + }, + "response": { + "errors": [ + { + "code": "UnsupportedType", + "message": "The entity of the request is of unsupported type." + } + ] + } + } + ] + } + }, + "429": { + "description": "The frequency of requests was greater than allowed.", + "schema": { + "$ref": "#/definitions/ErrorList" + }, + "headers": { + "x-amzn-RateLimit-Limit": { + "type": "string", + "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." + }, + "x-amzn-RequestId": { + "type": "string", + "description": "Unique request reference identifier." + } + }, + "x-amzn-api-sandbox": { + "static": [ + { + "request": { + "parameters": { + "sellerSKU": { + "value": "SKU_429" + }, + "marketplaceIds": { + "value": [ + "ATVPDKIKX0DER" + ] + } + } + }, + "response": { + "errors": [ + { + "code": "TooManyRequests", + "message": "Total number of requests exceed your allowed limits." + } + ] + } + } + ] + } + }, + "500": { + "description": "An unexpected condition occurred that prevented the server from fulfilling the request.", + "schema": { + "$ref": "#/definitions/ErrorList" + }, + "headers": { + "x-amzn-RateLimit-Limit": { + "type": "string", + "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." + }, + "x-amzn-RequestId": { + "type": "string", + "description": "Unique request reference identifier." + } + }, + "x-amzn-api-sandbox": { + "static": [ + { + "request": { + "parameters": { + "sellerSKU": { + "value": "SKU_500" + }, + "marketplaceIds": { + "value": [ + "ATVPDKIKX0DER" + ] + } + } + }, + "response": { + "errors": [ + { + "code": "InternalServerError", + "message": "Server encountered an unexpected condition while processing your request." + } + ] + } + } + ] + } + }, + "503": { + "description": "Temporary overloading or maintenance of the server.", + "schema": { + "$ref": "#/definitions/ErrorList" + }, + "headers": { + "x-amzn-RateLimit-Limit": { + "type": "string", + "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." + }, + "x-amzn-RequestId": { + "type": "string", + "description": "Unique request reference identifier." + } + }, + "x-amzn-api-sandbox": { + "static": [ + { + "request": { + "parameters": { + "sellerSKU": { + "value": "SKU_503" + }, + "marketplaceIds": { + "value": [ + "ATVPDKIKX0DER" + ] + } + } + }, + "response": { + "errors": [ + { + "code": "ServiceUnavailable", + "message": "Server is temporarily unavailable." + } + ] + } + } + ] + } + } + } + } + }, + "/fba/smallAndLight/v1/eligibilities/{sellerSKU}": { + "get": { + "tags": [ + "smallAndLight" + ], + "description": "Returns the Small and Light program eligibility status of the item indicated by the specified seller SKU in the specified marketplace. If the item is not eligible, the ineligibility reasons are returned. **Note:** The parameters associated with this operation may contain special characters that must be encoded to successfully call the API. To avoid errors with SKUs when encoding URLs, refer to [URL Encoding](https://developer-docs.amazon.com/sp-api/docs/url-encoding).\n\n**Usage Plan:**\n\n| Rate (requests per second) | Burst |\n| ---- | ---- |\n| 2 | 10 |\n\nThe `x-amzn-RateLimit-Limit` response header returns the usage plan rate limits that were applied to the requested operation, when available. The table above indicates the default rate and burst values for this operation. Selling partners whose business demands require higher throughput may see higher rate and burst values than those shown here. For more information, see [Usage Plans and Rate Limits in the Selling Partner API](https://developer-docs.amazon.com/sp-api/docs/usage-plans-and-rate-limits-in-the-sp-api).", + "operationId": "getSmallAndLightEligibilityBySellerSKU", + "deprecated": true, + "parameters": [ + { + "name": "sellerSKU", + "in": "path", + "description": "The seller SKU that identifies the item.", + "required": true, + "type": "string" + }, + { + "name": "marketplaceIds", + "in": "query", + "description": "The marketplace for which the eligibility status is retrieved. NOTE: Accepts a single marketplace only.", + "required": true, + "type": "array", + "items": { + "type": "string" + }, + "maxItems": 1 + } + ], + "responses": { + "200": { + "description": "Success.", + "schema": { + "$ref": "#/definitions/SmallAndLightEligibility" + }, + "headers": { + "x-amzn-RateLimit-Limit": { + "type": "string", + "description": "Your rate limit (requests per second) for this operation." + }, + "x-amzn-RequestId": { + "type": "string", + "description": "Unique request reference identifier." + } + }, + "x-amzn-api-sandbox": { + "static": [ + { + "request": { + "parameters": { + "sellerSKU": { + "value": "SKU_ELIGIBLE_FOR_SMALL_AND_LIGHT" + }, + "marketplaceIds": { + "value": [ + "ATVPDKIKX0DER" + ] + } + } + }, + "response": { + "marketplaceId": "ATVPDKIKX0DER", + "sellerSKU": "SKU_ELIGIBLE_FOR_SMALL_AND_LIGHT", + "status": "ELIGIBLE" + } + } + ] + } + }, + "400": { + "description": "Request has missing or invalid parameters and cannot be parsed.", + "schema": { + "$ref": "#/definitions/ErrorList" + }, + "headers": { + "x-amzn-RateLimit-Limit": { + "type": "string", + "description": "Your rate limit (requests per second) for this operation." + }, + "x-amzn-RequestId": { + "type": "string", + "description": "Unique request reference identifier." + } + }, + "x-amzn-api-sandbox": { + "static": [ + { + "request": { + "parameters": { + "sellerSKU": { + "value": "SKU_400" + }, + "marketplaceIds": { + "value": [ + "ATVPDKIKX0DER" + ] + } + } + }, + "response": { + "errors": [ + { + "code": "InvalidInput", + "message": "Invalid input." + } + ] + } + } + ] + } + }, + "403": { + "description": "Indicates that access to the resource is forbidden. Possible reasons include Access Denied, Unauthorized, Expired Token, or Invalid Signature.", + "schema": { + "$ref": "#/definitions/ErrorList" + }, + "headers": { + "x-amzn-RequestId": { + "type": "string", + "description": "Unique request reference identifier." + } + }, + "x-amzn-api-sandbox": { + "static": [ + { + "request": { + "parameters": { + "sellerSKU": { + "value": "SKU_403" + }, + "marketplaceIds": { + "value": [ + "ATVPDKIKX0DER" + ] + } + } + }, + "response": { + "errors": [ + { + "code": "Unauthorized", + "message": "Access to requested resource is denied." + } + ] + } + } + ] + } + }, + "404": { + "description": "The resource specified does not exist.", + "schema": { + "$ref": "#/definitions/ErrorList" + }, + "headers": { + "x-amzn-RateLimit-Limit": { + "type": "string", + "description": "Your rate limit (requests per second) for this operation." + }, + "x-amzn-RequestId": { + "type": "string", + "description": "Unique request reference identifier." + } + }, + "x-amzn-api-sandbox": { + "static": [ + { + "request": { + "parameters": { + "sellerSKU": { + "value": "SKU_404" + }, + "marketplaceIds": { + "value": [ + "ATVPDKIKX0DER" + ] + } + } + }, + "response": { + "errors": [ + { + "code": "NotFound", + "message": "Requested resource is not found" + } + ] + } + } + ] + } + }, + "413": { + "description": "The request size exceeded the maximum accepted size.", + "schema": { + "$ref": "#/definitions/ErrorList" + }, + "headers": { + "x-amzn-RateLimit-Limit": { + "type": "string", + "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." + }, + "x-amzn-RequestId": { + "type": "string", + "description": "Unique request reference identifier." + } + }, + "x-amzn-api-sandbox": { + "static": [ + { + "request": { + "parameters": { + "sellerSKU": { + "value": "SKU_413" + }, + "marketplaceIds": { + "value": [ + "ATVPDKIKX0DER" + ] + } + } + }, + "response": { + "errors": [ + { + "code": "PayloadTooLarge", + "message": "Payload of the request is too large." + } + ] + } + } + ] + } + }, + "415": { + "description": "The request payload is in an unsupported format.", + "schema": { + "$ref": "#/definitions/ErrorList" + }, + "headers": { + "x-amzn-RateLimit-Limit": { + "type": "string", + "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." + }, + "x-amzn-RequestId": { + "type": "string", + "description": "Unique request reference identifier." + } + }, + "x-amzn-api-sandbox": { + "static": [ + { + "request": { + "parameters": { + "sellerSKU": { + "value": "SKU_415" + }, + "marketplaceIds": { + "value": [ + "ATVPDKIKX0DER" + ] + } + } + }, + "response": { + "errors": [ + { + "code": "UnsupportedType", + "message": "The entity of the request is of unsupported type." + } + ] + } + } + ] + } + }, + "429": { + "description": "The frequency of requests was greater than allowed.", + "schema": { + "$ref": "#/definitions/ErrorList" + }, + "headers": { + "x-amzn-RateLimit-Limit": { + "type": "string", + "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." + }, + "x-amzn-RequestId": { + "type": "string", + "description": "Unique request reference identifier." + } + }, + "x-amzn-api-sandbox": { + "static": [ + { + "request": { + "parameters": { + "sellerSKU": { + "value": "SKU_429" + }, + "marketplaceIds": { + "value": [ + "ATVPDKIKX0DER" + ] + } + } + }, + "response": { + "errors": [ + { + "code": "TooManyRequests", + "message": "Total number of requests exceed your allowed limits." + } + ] + } + } + ] + } + }, + "500": { + "description": "An unexpected condition occurred that prevented the server from fulfilling the request.", + "schema": { + "$ref": "#/definitions/ErrorList" + }, + "headers": { + "x-amzn-RateLimit-Limit": { + "type": "string", + "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." + }, + "x-amzn-RequestId": { + "type": "string", + "description": "Unique request reference identifier." + } + }, + "x-amzn-api-sandbox": { + "static": [ + { + "request": { + "parameters": { + "sellerSKU": { + "value": "SKU_500" + }, + "marketplaceIds": { + "value": [ + "ATVPDKIKX0DER" + ] + } + } + }, + "response": { + "errors": [ + { + "code": "InternalServerError", + "message": "Server encountered an unexpected condition while processing your request." + } + ] + } + } + ] + } + }, + "503": { + "description": "Temporary overloading or maintenance of the server.", + "schema": { + "$ref": "#/definitions/ErrorList" + }, + "headers": { + "x-amzn-RateLimit-Limit": { + "type": "string", + "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." + }, + "x-amzn-RequestId": { + "type": "string", + "description": "Unique request reference identifier." + } + }, + "x-amzn-api-sandbox": { + "static": [ + { + "request": { + "parameters": { + "sellerSKU": { + "value": "SKU_503" + }, + "marketplaceIds": { + "value": [ + "ATVPDKIKX0DER" + ] + } + } + }, + "response": { + "errors": [ + { + "code": "ServiceUnavailable", + "message": "Server is temporarily unavailable." + } + ] + } + } + ] + } + } + } + } + }, + "/fba/smallAndLight/v1/feePreviews": { + "post": { + "tags": [ + "smallAndLight" + ], + "description": "Returns the Small and Light fee estimates for the specified items. You must include a marketplaceId parameter to retrieve the proper fee estimates for items to be sold in that marketplace. The ordering of items in the response will mirror the order of the items in the request. Duplicate ASIN/price combinations are removed.\n\n**Usage Plan:**\n\n| Rate (requests per second) | Burst |\n| ---- | ---- |\n| 1 | 3 |\n\nThe `x-amzn-RateLimit-Limit` response header returns the usage plan rate limits that were applied to the requested operation, when available. The table above indicates the default rate and burst values for this operation. Selling partners whose business demands require higher throughput may see higher rate and burst values than those shown here. For more information, see [Usage Plans and Rate Limits in the Selling Partner API](https://developer-docs.amazon.com/sp-api/docs/usage-plans-and-rate-limits-in-the-sp-api).", + "operationId": "getSmallAndLightFeePreview", + "deprecated": true, + "parameters": [ + { + "in": "body", + "name": "body", + "required": true, + "schema": { + "$ref": "#/definitions/SmallAndLightFeePreviewRequest" + } + } + ], + "responses": { + "200": { + "description": "Success.", + "schema": { + "$ref": "#/definitions/SmallAndLightFeePreviews" + }, + "headers": { + "x-amzn-RateLimit-Limit": { + "type": "string", + "description": "Your rate limit (requests per second) for this operation." + }, + "x-amzn-RequestId": { + "type": "string", + "description": "Unique request reference identifier." + } + }, + "x-amzn-api-sandbox": { + "static": [ + { + "request": { + "parameters": { + "body": { + "value": { + "marketplaceId": "ATVPDKIKX0DER", + "items": [ + { + "asin": "B076ZL9PB5", + "price": { + "currencyCode": "USD", + "amount": 6.5 + } + } + ] + } + } + } + }, + "response": { + "data": [ + { + "asin": "B076ZL9PB5", + "price": { + "amount": 6.5, + "currencyCode": "USD" + }, + "feeBreakdown": [ + { + "feeType": "FBAPerUnitFulfillmentFee", + "feeCharge": { + "amount": 0.75, + "currencyCode": "USD" + } + }, + { + "feeType": "FBAPerOrderFulfillmentFee", + "feeCharge": { + "amount": 1, + "currencyCode": "USD" + } + }, + { + "feeType": "FBAWeightBasedFee", + "feeCharge": { + "amount": 1.1, + "currencyCode": "USD" + } + }, + { + "feeType": "Commission", + "feeCharge": { + "amount": 0.98, + "currencyCode": "USD" + } + } + ], + "totalFees": { + "amount": 3.83, + "currencyCode": "USD" + }, + "errors": [] + } + ] + } + } + ] + } + }, + "400": { + "description": "Request has missing or invalid parameters and cannot be parsed.", + "schema": { + "$ref": "#/definitions/ErrorList" + }, + "headers": { + "x-amzn-RateLimit-Limit": { + "type": "string", + "description": "Your rate limit (requests per second) for this operation." + }, + "x-amzn-RequestId": { + "type": "string", + "description": "Unique request reference identifier." + } + }, + "x-amzn-api-sandbox": { + "static": [ + { + "request": { + "parameters": { + "body": { + "value": { + "marketplaceId": "TEST_CASE_400", + "items": [] + } + } + } + }, + "response": { + "errors": [ + { + "code": "InvalidInput", + "message": "Invalid input." + } + ] + } + } + ] + } + }, + "401": { + "description": "The request's Authorization header is not formatted correctly or does not contain a valid token.", + "schema": { + "$ref": "#/definitions/ErrorList" + }, + "headers": { + "x-amzn-RateLimit-Limit": { + "type": "string", + "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." + }, + "x-amzn-RequestId": { + "type": "string", + "description": "Unique request reference identifier." + } + }, + "x-amzn-api-sandbox": { + "static": [ + { + "request": { + "parameters": { + "body": { + "value": { + "marketplaceId": "TEST_CASE_401", + "items": [] + } + } + } + }, + "response": { + "errors": [ + { + "code": "Unauthorized", + "message": "Access to requested resource is denied." + } + ] + } + } + ] + } + }, + "403": { + "description": "Indicates that access to the resource is forbidden. Possible reasons include Access Denied, Unauthorized, Expired Token, or Invalid Signature.", + "schema": { + "$ref": "#/definitions/ErrorList" + }, + "headers": { + "x-amzn-RequestId": { + "type": "string", + "description": "Unique request reference identifier." + } + }, + "x-amzn-api-sandbox": { + "static": [ + { + "request": { + "parameters": { + "body": { + "value": { + "marketplaceId": "TEST_CASE_403", + "items": [] + } + } + } + }, + "response": { + "errors": [ + { + "code": "Unauthorized", + "message": "Access to requested resource is denied." + } + ] + } + } + ] + } + }, + "404": { + "description": "The resource specified does not exist.", + "schema": { + "$ref": "#/definitions/ErrorList" + }, + "headers": { + "x-amzn-RateLimit-Limit": { + "type": "string", + "description": "Your rate limit (requests per second) for this operation." + }, + "x-amzn-RequestId": { + "type": "string", + "description": "Unique request reference identifier." + } + }, + "x-amzn-api-sandbox": { + "static": [ + { + "request": { + "parameters": { + "body": { + "value": { + "marketplaceId": "TEST_CASE_404", + "items": [] + } + } + } + }, + "response": { + "errors": [ + { + "code": "NotFound", + "message": "The requested resource doesn't exist." + } + ] + } + } + ] + } + }, + "429": { + "description": "The frequency of requests was greater than allowed.", + "schema": { + "$ref": "#/definitions/ErrorList" + }, + "headers": { + "x-amzn-RateLimit-Limit": { + "type": "string", + "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." + }, + "x-amzn-RequestId": { + "type": "string", + "description": "Unique request reference identifier." + } + }, + "x-amzn-api-sandbox": { + "static": [ + { + "request": { + "parameters": { + "body": { + "value": { + "marketplaceId": "TEST_CASE_429", + "items": [] + } + } + } + }, + "response": { + "errors": [ + { + "code": "QuotaExceeded", + "message": "You exceeded your quota for the requested resource." + } + ] + } + } + ] + } + }, + "500": { + "description": "An unexpected condition occurred that prevented the server from fulfilling the request.", + "schema": { + "$ref": "#/definitions/ErrorList" + }, + "headers": { + "x-amzn-RateLimit-Limit": { + "type": "string", + "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." + }, + "x-amzn-RequestId": { + "type": "string", + "description": "Unique request reference identifier." + } + }, + "x-amzn-api-sandbox": { + "static": [ + { + "request": { + "parameters": { + "body": { + "value": { + "marketplaceId": "TEST_CASE_500", + "items": [] + } + } + } + }, + "response": { + "errors": [ + { + "code": "InternalFailure", + "message": "We encountered an internal error. Please try again." + } + ] + } + } + ] + } + }, + "503": { + "description": "Temporary overloading or maintenance of the server.", + "schema": { + "$ref": "#/definitions/ErrorList" + }, + "headers": { + "x-amzn-RateLimit-Limit": { + "type": "string", + "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." + }, + "x-amzn-RequestId": { + "type": "string", + "description": "Unique request reference identifier." + } + }, + "x-amzn-api-sandbox": { + "static": [ + { + "request": { + "parameters": { + "body": { + "value": { + "marketplaceId": "TEST_CASE_503", + "items": [] + } + } + } + }, + "response": { + "errors": [ + { + "code": "ServiceUnavailable", + "message": "Service is temporarily unavailable. Please try again." + } + ] + } + } + ] + } + } + } + } + } + }, + "definitions": { + "MarketplaceId": { + "type": "string", + "description": "A marketplace identifier." + }, + "SellerSKU": { + "type": "string", + "description": "Identifies an item in the given marketplace. SellerSKU is qualified by the seller's SellerId, which is included with every operation that you submit." + }, + "Error": { + "type": "object", + "required": [ + "code", + "message" + ], + "properties": { + "code": { + "type": "string", + "description": "An error code that identifies the type of error that occurred." + }, + "message": { + "type": "string", + "description": "A message that describes the error condition." + }, + "details": { + "type": "string", + "description": "Additional details that can help the caller understand or fix the issue." + } + }, + "description": "Error response returned when the request is unsuccessful." + }, + "ErrorList": { + "type": "object", + "properties": { + "errors": { + "type": "array", + "items": { + "$ref": "#/definitions/Error" + } + } + }, + "description": "A list of error responses returned when a request is unsuccessful." + }, + "SmallAndLightEnrollmentStatus": { + "type": "string", + "description": "The Small and Light enrollment status of the item.", + "enum": [ + "ENROLLED", + "NOT_ENROLLED" + ], + "x-docgen-enum-table-extension": [ + { + "value": "ENROLLED", + "description": "The Small and Light enrollment status is enrolled." + }, + { + "value": "NOT_ENROLLED", + "description": "The Small and Light enrollment status is not enrolled." + } + ] + }, + "SmallAndLightEligibilityStatus": { + "type": "string", + "description": "The Small and Light eligibility status of the item.", + "enum": [ + "ELIGIBLE", + "NOT_ELIGIBLE" + ], + "x-docgen-enum-table-extension": [ + { + "value": "ELIGIBLE", + "description": "The Small and Light eligibility status is eligible." + }, + { + "value": "NOT_ELIGIBLE", + "description": "The Small and Light eligibility status is not eligible." + } + ] + }, + "SmallAndLightEnrollment": { + "type": "object", + "required": [ + "marketplaceId", + "sellerSKU", + "status" + ], + "properties": { + "marketplaceId": { + "$ref": "#/definitions/MarketplaceId" + }, + "sellerSKU": { + "$ref": "#/definitions/SellerSKU" + }, + "status": { + "$ref": "#/definitions/SmallAndLightEnrollmentStatus" + } + }, + "description": "The Small and Light enrollment status of the item indicated by the specified seller SKU." + }, + "SmallAndLightEligibility": { + "type": "object", + "required": [ + "marketplaceId", + "sellerSKU", + "status" + ], + "properties": { + "marketplaceId": { + "$ref": "#/definitions/MarketplaceId" + }, + "sellerSKU": { + "$ref": "#/definitions/SellerSKU" + }, + "status": { + "$ref": "#/definitions/SmallAndLightEligibilityStatus" + } + }, + "description": "The Small and Light eligibility status of the item indicated by the specified seller SKU." + }, + "SmallAndLightFeePreviewRequest": { + "type": "object", + "required": [ + "items", + "marketplaceId" + ], + "properties": { + "marketplaceId": { + "$ref": "#/definitions/MarketplaceId" + }, + "items": { + "type": "array", + "description": "A list of items for which to retrieve fee estimates (limit: 25).", + "items": { + "$ref": "#/definitions/Item" + }, + "maxItems": 25 + } + }, + "description": "Request schema for submitting items for which to retrieve fee estimates." + }, + "SmallAndLightFeePreviews": { + "type": "object", + "properties": { + "data": { + "type": "array", + "description": "A list of fee estimates for the requested items. The order of the fee estimates will follow the same order as the items in the request, with duplicates removed.", + "items": { + "$ref": "#/definitions/FeePreview" + } + } + } + }, + "Item": { + "type": "object", + "required": [ + "asin", + "price" + ], + "properties": { + "asin": { + "type": "string", + "description": "The Amazon Standard Identification Number (ASIN) value used to identify the item." + }, + "price": { + "description": "The price that the seller plans to charge for the item.", + "$ref": "#/definitions/MoneyType" + } + }, + "description": "An item to be sold." + }, + "FeePreview": { + "type": "object", + "properties": { + "asin": { + "type": "string", + "description": "The Amazon Standard Identification Number (ASIN) value used to identify the item." + }, + "price": { + "description": "The price that the seller plans to charge for the item.", + "$ref": "#/definitions/MoneyType" + }, + "feeBreakdown": { + "type": "array", + "description": "A list of the Small and Light fees for the item.", + "items": { + "$ref": "#/definitions/FeeLineItem" + } + }, + "totalFees": { + "description": "The total fees charged if the item participated in the Small and Light program.", + "$ref": "#/definitions/MoneyType" + }, + "errors": { + "type": "array", + "description": "One or more unexpected errors occurred during the getSmallAndLightFeePreview operation.", + "items": { + "$ref": "#/definitions/Error" + } + } + }, + "description": "The fee estimate for a specific item." + }, + "FeeLineItem": { + "type": "object", + "required": [ + "feeCharge", + "feeType" + ], + "properties": { + "feeType": { + "type": "string", + "description": "The type of fee charged to the seller.", + "enum": [ + "FBAWeightBasedFee", + "FBAPerOrderFulfillmentFee", + "FBAPerUnitFulfillmentFee", + "Commission" + ], + "x-docgen-enum-table-extension": [ + { + "value": "FBAWeightBasedFee", + "description": "The FBA weight-based fee (weight handling)." + }, + { + "value": "FBAPerOrderFulfillmentFee", + "description": "The FBA per-order fulfillment fee (order handling)." + }, + { + "value": "FBAPerUnitFulfillmentFee", + "description": "The FBA fulfillment fee (Pick & Pack)." + }, + { + "value": "Commission", + "description": "The commission - referral fee." + } + ] + }, + "feeCharge": { + "description": "Amount charged to the seller for the specific fee type.", + "$ref": "#/definitions/MoneyType" + } + }, + "description": "Fee details for a specific fee." + }, + "MoneyType": { + "type": "object", + "properties": { + "currencyCode": { + "type": "string", + "description": "The currency code in ISO 4217 format." + }, + "amount": { + "type": "number", + "description": "The monetary value." + } + } + } + } +} \ No newline at end of file diff --git a/schemas/notifications/ListingsItemIssuesChangeNotification.json b/schemas/notifications/ListingsItemIssuesChangeNotification.json index 957aa8142..7e465cafb 100644 --- a/schemas/notifications/ListingsItemIssuesChangeNotification.json +++ b/schemas/notifications/ListingsItemIssuesChangeNotification.json @@ -242,4 +242,4 @@ } } } -} +} \ No newline at end of file From 9ea50da5f4b6b934f447c1bffeab21fbf61feac7 Mon Sep 17 00:00:00 2001 From: Michael Manganiello Date: Tue, 20 Aug 2024 14:43:06 -0300 Subject: [PATCH 008/340] fix: Remove schema defaults for objects with required keys There are many schemas that include `"default": {}` for keys of type object, that include required keys, making that default value invalid. Removing these invalid defaults fixes the schema conversion using tools like `go-jsonschema` [1], as now it understands the object cannot be empty. [1] https://github.com/omissis/go-jsonschema --- .../AnyOfferChangedNotification.json | 41 +------------------ .../BrandedItemContentChangeNotification.json | 5 +-- ...ventoryAvailabilityChangeNotification.json | 10 ++++- .../FeePromotionNotification.json | 24 +---------- .../FulfillmentOrderStatusNotification.json | 10 +---- .../ItemProductTypeChangeNotification.json | 5 +-- .../MfnOrderStatusChangeNotification.json | 4 -- .../OrderStatusChangeNotification.json | 6 +-- ...ductTypeDefinitionsChangeNotification.json | 5 +-- 9 files changed, 15 insertions(+), 95 deletions(-) diff --git a/schemas/notifications/AnyOfferChangedNotification.json b/schemas/notifications/AnyOfferChangedNotification.json index baa0f0be0..171f0f76a 100644 --- a/schemas/notifications/AnyOfferChangedNotification.json +++ b/schemas/notifications/AnyOfferChangedNotification.json @@ -4,7 +4,6 @@ "type": "object", "title": "The root schema", "description": "The root schema comprises the entire JSON document.", - "default": {}, "examples": [ { "NotificatonTionVersion": "1.0", @@ -251,7 +250,6 @@ "type": "object", "title": "The NotificationMetadata schema", "description": "An explanation about the purpose of this instance.", - "default": {}, "examples": [ { "ApplicationId": "app-id-d0e9e693-c3ad-4373-979f-ed4ec98dd746", @@ -315,7 +313,6 @@ "type": "object", "title": "The Payload schema", "description": "An explanation about the purpose of this instance.", - "default": {}, "examples": [ { "AnyOfferChangedNotification": { @@ -505,7 +502,6 @@ "type": "object", "title": "The AnyOfferChangedNotification schema", "description": "An explanation about the purpose of this instance.", - "default": {}, "examples": [ { "SellerId": "A3TH9S8BH6GOGM", @@ -706,7 +702,6 @@ "type": "object", "title": "The OfferChangeTrigger schema", "description": "An explanation about the purpose of this instance.", - "default": {}, "examples": [ { "MarketplaceId": "ATVPDKIKX0DER", @@ -782,7 +777,6 @@ "type": "object", "title": "The Summary schema", "description": "An explanation about the purpose of this instance.", - "default": {}, "examples": [ { "NumberOfOffers": [ @@ -952,7 +946,6 @@ "type": "object", "title": "The first anyOf schema", "description": "An explanation about the purpose of this instance.", - "default": {}, "examples": [ { "Condition": "new", @@ -1056,7 +1049,6 @@ "type": "object", "title": "The first anyOf schema", "description": "An explanation about the purpose of this instance.", - "default": {}, "examples": [ { "Condition": "new", @@ -1109,7 +1101,6 @@ "type": "object", "title": "The LandedPrice schema", "description": "An explanation about the purpose of this instance.", - "default": {}, "examples": [ { "Amount": 10.0, @@ -1149,7 +1140,6 @@ "type": "object", "title": "The ListingPrice schema", "description": "An explanation about the purpose of this instance.", - "default": {}, "examples": [ { "Amount": 10.0, @@ -1189,7 +1179,6 @@ "type": "object", "title": "The Shipping schema", "description": "An explanation about the purpose of this instance.", - "default": {}, "examples": [ { "Amount": 0.0, @@ -1231,7 +1220,6 @@ "type": "object", "title": "The second anyOf schema", "description": "An explanation about the purpose of this instance.", - "default": {}, "examples": [ { "Condition": "old", @@ -1288,7 +1276,6 @@ "type": "object", "title": "The LandedPrice schema", "description": "An explanation about the purpose of this instance.", - "default": {}, "examples": [ { "Amount": 11.0, @@ -1328,7 +1315,6 @@ "type": "object", "title": "The ListingPrice schema", "description": "An explanation about the purpose of this instance.", - "default": {}, "examples": [ { "Amount": 20.0, @@ -1368,7 +1354,6 @@ "type": "object", "title": "The Shipping schema", "description": "An explanation about the purpose of this instance.", - "default": {}, "examples": [ { "Amount": 40.0, @@ -1408,7 +1393,6 @@ "type": "object", "title": "The Points schema", "description": "An explanation about the purpose of this instance.", - "default": {}, "examples": [ { "PointsNumber": 34343 @@ -1488,7 +1472,6 @@ "type": "object", "title": "The first anyOf schema", "description": "An explanation about the purpose of this instance.", - "default": {}, "examples": [ { "Condition": "new", @@ -1529,7 +1512,6 @@ "type": "object", "title": "The LandedPrice schema", "description": "An explanation about the purpose of this instance.", - "default": {}, "examples": [ { "Amount": 10.0, @@ -1569,7 +1551,6 @@ "type": "object", "title": "The ListingPrice schema", "description": "An explanation about the purpose of this instance.", - "default": {}, "examples": [ { "Amount": 10.0, @@ -1609,7 +1590,6 @@ "type": "object", "title": "The Shipping schema", "description": "An explanation about the purpose of this instance.", - "default": {}, "examples": [ { "Amount": 0.0, @@ -1651,7 +1631,6 @@ "type": "object", "title": "The second anyOf schema", "description": "An explanation about the purpose of this instance.", - "default": {}, "examples": [ { "Condition": "old", @@ -1696,7 +1675,6 @@ "type": "object", "title": "The LandedPrice schema", "description": "An explanation about the purpose of this instance.", - "default": {}, "examples": [ { "Amount": 11.0, @@ -1736,7 +1714,6 @@ "type": "object", "title": "The ListingPrice schema", "description": "An explanation about the purpose of this instance.", - "default": {}, "examples": [ { "Amount": 20.0, @@ -1776,7 +1753,6 @@ "type": "object", "title": "The Shipping schema", "description": "An explanation about the purpose of this instance.", - "default": {}, "examples": [ { "Amount": 40.0, @@ -1816,7 +1792,6 @@ "type": "object", "title": "The Points schema", "description": "An explanation about the purpose of this instance.", - "default": {}, "examples": [ { "PointsNumber": 34343 @@ -1850,7 +1825,6 @@ "type": "object", "title": "The ListPrice schema", "description": "An explanation about the purpose of this instance.", - "default": {}, "examples": [ { "Amount": 55.0, @@ -1890,7 +1864,6 @@ "type": "object", "title": "The MinimumAdvertisedPrice schema", "description": "An explanation about the purpose of this instance.", - "default": {}, "examples": [ { "Amount": 66.0, @@ -1930,7 +1903,6 @@ "type": "object", "title": "The SuggestedLowerPricePlusShipping schema", "description": "An explanation about the purpose of this instance.", - "default": {}, "examples": [ { "Amount": 77.0, @@ -2001,7 +1973,6 @@ "type": "object", "title": "The first anyOf schema", "description": "An explanation about the purpose of this instance.", - "default": {}, "examples": [ { "ProductCategoryId": "1243", @@ -2068,7 +2039,6 @@ "type": "object", "title": "The first anyOf schema", "description": "An explanation about the purpose of this instance.", - "default": {}, "examples": [ { "Condition": "new", @@ -2124,7 +2094,6 @@ "type": "object", "title": "The CompetitivePriceThreshold schema", "description": "An explanation about the purpose of this instance.", - "default": {}, "examples": [ { "Amount": 22.0, @@ -2217,7 +2186,6 @@ "type": "object", "title": "The first anyOf schema", "description": "An explanation about the purpose of this instance.", - "default": {}, "examples": [ { "SellerId": "111", @@ -2301,7 +2269,6 @@ "type": "object", "title": "The SellerFeedbackRating schema", "description": "An explanation about the purpose of this instance.", - "default": {}, "examples": [ { "FeedbackCount": 9, @@ -2341,7 +2308,6 @@ "type": "object", "title": "The ShippingTime schema", "description": "An explanation about the purpose of this instance.", - "default": {}, "examples": [ { "MinimumHours": 10, @@ -2405,7 +2371,6 @@ "type": "object", "title": "The ListingPrice schema", "description": "An explanation about the purpose of this instance.", - "default": {}, "examples": [ { "Amount": 23.0, @@ -2445,7 +2410,6 @@ "type": "object", "title": "The Points schema", "description": "An explanation about the purpose of this instance.", - "default": {}, "examples": [ { "PointsNumber": 33333 @@ -2473,7 +2437,6 @@ "type": "object", "title": "The Shipping schema", "description": "An explanation about the purpose of this instance.", - "default": {}, "examples": [ { "Amount": 110.0, @@ -2513,7 +2476,6 @@ "type": "object", "title": "The ShipsFrom schema", "description": "An explanation about the purpose of this instance.", - "default": {}, "examples": [ { "Country": "USA", @@ -2563,7 +2525,6 @@ "type": "object", "title": "The PrimeInformation schema", "description": "An explanation about the purpose of this instance.", - "default": {}, "examples": [ { "IsOfferPrime": true, @@ -2649,4 +2610,4 @@ } } } -} \ No newline at end of file +} diff --git a/schemas/notifications/BrandedItemContentChangeNotification.json b/schemas/notifications/BrandedItemContentChangeNotification.json index f14d93c8f..92af14c39 100644 --- a/schemas/notifications/BrandedItemContentChangeNotification.json +++ b/schemas/notifications/BrandedItemContentChangeNotification.json @@ -4,7 +4,6 @@ "type": "object", "title": "The root schema", "description": "The root schema comprises the entire JSON document.", - "default": {}, "examples": [ { "NotificationVersion": "1.0", @@ -93,7 +92,6 @@ "type": "object", "title": "The Payload schema", "description": "An explanation about the purpose of this instance.", - "default": {}, "examples": [ { "MarketplaceId": "ATVPDKIKX0DER", @@ -185,7 +183,6 @@ "type": "object", "title": "The NotificationMetadata schema", "description": "An explanation about the purpose of this instance.", - "default": {}, "examples": [ { "ApplicationId": "amzn1.sellerapps.app.f1234566-aaec-55a6-b123-bcb752069ec5", @@ -246,4 +243,4 @@ } }, "additionalProperties": true -} \ No newline at end of file +} diff --git a/schemas/notifications/FBAInventoryAvailabilityChangeNotification.json b/schemas/notifications/FBAInventoryAvailabilityChangeNotification.json index 063f38a66..4bd3b3dd3 100644 --- a/schemas/notifications/FBAInventoryAvailabilityChangeNotification.json +++ b/schemas/notifications/FBAInventoryAvailabilityChangeNotification.json @@ -4,7 +4,13 @@ "type": "object", "title": "The root schema", "description": "The root schema comprises the entire JSON document.", - "default": {}, + "required": [ + "NotificationVersion", + "NotificationType", + "PayloadVersion", + "EventTime", + "Payload" + ], "properties": { "NotificationVersion": { "$id": "#/properties/NotificationVersion", @@ -413,4 +419,4 @@ } }, "additionalProperties": true -} \ No newline at end of file +} diff --git a/schemas/notifications/FeePromotionNotification.json b/schemas/notifications/FeePromotionNotification.json index e770ba6fc..c1ed4fa4f 100644 --- a/schemas/notifications/FeePromotionNotification.json +++ b/schemas/notifications/FeePromotionNotification.json @@ -4,7 +4,6 @@ "type": "object", "title": "The root schema", "description": "The root schema comprises the entire JSON document.", - "default": {}, "examples": [ { "NotificationVersion": "1.0", @@ -395,7 +394,6 @@ "type": "object", "title": "The NotificationMetadata schema", "description": "An explanation about the purpose of this instance.", - "default": {}, "examples": [ { "ApplicationId": "app-id-d0e9e693-c3ad-4373-979f-ed4ec98dd746", @@ -459,7 +457,6 @@ "type": "object", "title": "The Payload schema", "description": "An explanation about the purpose of this instance.", - "default": {}, "examples": [ { "FeePromotionNotification": { @@ -793,7 +790,6 @@ "type": "object", "title": "The FeePromotionNotification schema", "description": "An explanation about the purpose of this instance.", - "default": {}, "examples": [ { "MerchantId": "AJH434853485", @@ -1171,7 +1167,6 @@ "type": "object", "title": "The PromotionActiveTimeRange schema", "description": "An explanation about the purpose of this instance.", - "default": {}, "examples": [ { "EffectiveFromDate": "2020-07-13T19:42:04.284Z", @@ -1251,7 +1246,6 @@ "type": "object", "title": "The first anyOf schema", "description": "An explanation about the purpose of this instance.", - "default": {}, "examples": [ { "IdentifierType": "identifierType", @@ -1309,7 +1303,6 @@ "type": "object", "title": "The first anyOf schema", "description": "An explanation about the purpose of this instance.", - "default": {}, "examples": [ { "IdentifierValueId": "identifierValueId1", @@ -1652,7 +1645,6 @@ "type": "object", "title": "The first anyOf schema", "description": "An explanation about the purpose of this instance.", - "default": {}, "examples": [ { "FeeType": "FeeType", @@ -1839,7 +1831,6 @@ "type": "object", "title": "The PriceThreshold schema", "description": "An explanation about the purpose of this instance.", - "default": {}, "examples": [ { "Amount": 60, @@ -1879,7 +1870,6 @@ "type": "object", "title": "The FeeDiscountMonetaryAmount schema", "description": "An explanation about the purpose of this instance.", - "default": {}, "examples": [ { "Amount": 70, @@ -1919,7 +1909,6 @@ "type": "object", "title": "The FeesEstimate schema", "description": "An explanation about the purpose of this instance.", - "default": {}, "examples": [ { "TimeOfFeesEstimated": "2020-07-13T19:42:04.284Z", @@ -2070,7 +2059,6 @@ "type": "object", "title": "The TotalFeesEstimate schema", "description": "An explanation about the purpose of this instance.", - "default": {}, "examples": [ { "Amount": 90, @@ -2242,7 +2230,6 @@ "type": "object", "title": "The first anyOf schema", "description": "An explanation about the purpose of this instance.", - "default": {}, "examples": [ { "FeeType": "feeType", @@ -2328,7 +2315,6 @@ "type": "object", "title": "The FeeAmount schema", "description": "An explanation about the purpose of this instance.", - "default": {}, "examples": [ { "Amount": 10, @@ -2368,7 +2354,6 @@ "type": "object", "title": "The TaxAmount schema", "description": "An explanation about the purpose of this instance.", - "default": {}, "examples": [ { "Amount": 20, @@ -2408,7 +2393,6 @@ "type": "object", "title": "The FeePromotion schema", "description": "An explanation about the purpose of this instance.", - "default": {}, "examples": [ { "Amount": 30, @@ -2448,7 +2432,6 @@ "type": "object", "title": "The FinalFee schema", "description": "An explanation about the purpose of this instance.", - "default": {}, "examples": [ { "Amount": 40, @@ -2540,7 +2523,6 @@ "type": "object", "title": "The first anyOf schema", "description": "An explanation about the purpose of this instance.", - "default": {}, "examples": [ { "FeeType": "feeType", @@ -2585,7 +2567,6 @@ "type": "object", "title": "The FeeAmount schema", "description": "An explanation about the purpose of this instance.", - "default": {}, "examples": [ { "Amount": 10, @@ -2625,7 +2606,6 @@ "type": "object", "title": "The TaxAmount schema", "description": "An explanation about the purpose of this instance.", - "default": {}, "examples": [ { "Amount": 20, @@ -2665,7 +2645,6 @@ "type": "object", "title": "The FeePromotion schema", "description": "An explanation about the purpose of this instance.", - "default": {}, "examples": [ { "Amount": 30, @@ -2705,7 +2684,6 @@ "type": "object", "title": "The FinalFee schema", "description": "An explanation about the purpose of this instance.", - "default": {}, "examples": [ { "Amount": 40, @@ -2769,4 +2747,4 @@ } }, "additionalProperties": true -} \ No newline at end of file +} diff --git a/schemas/notifications/FulfillmentOrderStatusNotification.json b/schemas/notifications/FulfillmentOrderStatusNotification.json index 7e6d031f1..2794e6e1b 100644 --- a/schemas/notifications/FulfillmentOrderStatusNotification.json +++ b/schemas/notifications/FulfillmentOrderStatusNotification.json @@ -4,7 +4,6 @@ "type": "object", "title": "The root schema", "description": "The root schema comprises the entire JSON document.", - "default": {}, "examples": [ { "NotificationVersion": "1.0", @@ -114,7 +113,6 @@ "type": "object", "title": "The Payload schema", "description": "An explanation about the purpose of this instance.", - "default": {}, "examples": [ { "FulfillmentOrderStatusNotification": { @@ -167,7 +165,6 @@ "type": "object", "title": "The FulfillmentOrderStatusNotification schema", "description": "An explanation about the purpose of this instance.", - "default": {}, "examples": [ { "SellerId": "A3TH9S8BH6GOGM", @@ -274,7 +271,6 @@ "type": "object", "title": "The FulfillmentShipment schema", "description": "An explanation about the purpose of this instance.", - "default": {}, "examples": [ { "FulfillmentShipmentStatus": "PROCESSED", @@ -368,7 +364,6 @@ "type": "object", "title": "The info schema", "description": "An explanation about the purpose of this instance.", - "default": {}, "examples": [ { "PackageNumber": 1, @@ -425,7 +420,6 @@ "type": "object", "title": "The first anyOf schema", "description": "An explanation about the purpose of this instance.", - "default": {}, "examples": [ { "PackageNumber": 1, @@ -483,7 +477,6 @@ "type": "object", "title": "The FulfillmentReturnItem schema", "description": "An explanation about the purpose of this instance.", - "default": {}, "examples": [ { "ReceivedDateTime": "2020-07-13T19:42:04.284Z", @@ -541,7 +534,6 @@ "type": "object", "title": "The NotificationMetadata schema", "description": "An explanation about the purpose of this instance.", - "default": {}, "examples": [ { "ApplicationId": "app-id-d0e9e693-c3ad-4373-979f-ed4ec98dd746", @@ -602,4 +594,4 @@ } }, "additionalProperties": true -} \ No newline at end of file +} diff --git a/schemas/notifications/ItemProductTypeChangeNotification.json b/schemas/notifications/ItemProductTypeChangeNotification.json index a457e8f57..aad87a7d7 100644 --- a/schemas/notifications/ItemProductTypeChangeNotification.json +++ b/schemas/notifications/ItemProductTypeChangeNotification.json @@ -4,7 +4,6 @@ "type": "object", "title": "The root schema", "description": "The root schema comprises the entire JSON document.", - "default": {}, "examples": [ { "NotificationVersion": "1.0", @@ -79,7 +78,6 @@ "type": "object", "title": "The Payload schema", "description": "An explanation about the purpose of this instance.", - "default": {}, "examples": [ { "MarketplaceId": "ATVPDKIKX0DER", @@ -143,7 +141,6 @@ "type": "object", "title": "The NotificationMetadata schema", "description": "An explanation about the purpose of this instance.", - "default": {}, "examples": [ { "ApplicationId": "amzn1.sellerapps.app.f1234566-aaec-55a6-b123-bcb752069ec5", @@ -204,4 +201,4 @@ } }, "additionalProperties": true -} \ No newline at end of file +} diff --git a/schemas/notifications/MfnOrderStatusChangeNotification.json b/schemas/notifications/MfnOrderStatusChangeNotification.json index ee4ff92a2..565cd527b 100644 --- a/schemas/notifications/MfnOrderStatusChangeNotification.json +++ b/schemas/notifications/MfnOrderStatusChangeNotification.json @@ -4,7 +4,6 @@ "type": "object", "title": "The root schema", "description": "The root schema comprises the entire JSON document.", - "default": {}, "examples": [ { "NotificationVersion": "1.0", @@ -87,7 +86,6 @@ "type": "object", "title": "The Payload schema", "description": "An explanation about the purpose of this instance.", - "default": {}, "examples": [ { "MFNOrderStatusChangeNotification": { @@ -113,7 +111,6 @@ "type": "object", "title": "The MFNOrderStatusChangeNotification schema", "description": "An explanation about the purpose of this instance.", - "default": {}, "examples": [ { "SellerId": "AXXXXXXXXXXXXX", @@ -251,7 +248,6 @@ "type": "object", "title": "The NotificationMetadata schema", "description": "An explanation about the purpose of this instance.", - "default": {}, "examples": [ { "ApplicationId": "app-id-d0e9e693-c3ad-4373-979f-ed4ec98dd746", diff --git a/schemas/notifications/OrderStatusChangeNotification.json b/schemas/notifications/OrderStatusChangeNotification.json index 680cfdf59..cc35410f6 100644 --- a/schemas/notifications/OrderStatusChangeNotification.json +++ b/schemas/notifications/OrderStatusChangeNotification.json @@ -4,7 +4,6 @@ "type": "object", "title": "The root schema", "description": "The root schema comprises the entire JSON document.", - "default": {}, "examples": [ { "NotificationVersion": "1.0", @@ -88,7 +87,6 @@ "type": "object", "title": "The Payload schema", "description": "An explanation about the purpose of this instance.", - "default": {}, "examples": [ { "OrderStatusChangeNotification": { @@ -115,7 +113,6 @@ "type": "object", "title": "The OrderStatusChangeNotification schema", "description": "An explanation about the purpose of this instance.", - "default": {}, "examples": [ { "SellerId": "AXXXXXXXXXXXXX", @@ -264,7 +261,6 @@ "type": "object", "title": "The NotificationMetadata schema", "description": "An explanation about the purpose of this instance.", - "default": {}, "examples": [ { "ApplicationId": "app-id-d0e9e693-c3ad-4373-979f-ed4ec98dd746", @@ -325,4 +321,4 @@ } }, "additionalProperties": true -} \ No newline at end of file +} diff --git a/schemas/notifications/ProductTypeDefinitionsChangeNotification.json b/schemas/notifications/ProductTypeDefinitionsChangeNotification.json index a13173877..de82be5ef 100644 --- a/schemas/notifications/ProductTypeDefinitionsChangeNotification.json +++ b/schemas/notifications/ProductTypeDefinitionsChangeNotification.json @@ -4,7 +4,6 @@ "type": "object", "title": "The root schema", "description": "The root schema comprises the entire JSON document.", - "default": {}, "examples": [ { "NotificationVersion":"1.0", @@ -82,7 +81,6 @@ "type": "object", "title": "The Payload schema", "description": "An explanation about the purpose of this instance.", - "default": {}, "examples": [ { "AccountId": "AXXXXXXXXXXX", @@ -154,7 +152,6 @@ "type": "object", "title": "The NotificationMetadata schema", "description": "An explanation about the purpose of this instance.", - "default": {}, "examples": [ { "ApplicationId": "amzn1.sellerapps.app.f1234566-aaec-55a6-b123-bcb752069ec5", @@ -215,4 +212,4 @@ } }, "additionalProperties": true -} \ No newline at end of file +} From 2b183a15f88ead1236f76351c2d4512d0b4d5222 Mon Sep 17 00:00:00 2001 From: Denis Garcia Date: Sun, 25 Aug 2024 07:57:13 +0100 Subject: [PATCH 009/340] Update README.md fix a few typos in selling-partner-api-models/clients/sellingpartner-api-aa-javascript/README.md --- .../README.md | 20 +++++++++---------- 1 file changed, 10 insertions(+), 10 deletions(-) diff --git a/clients/sellingpartner-api-aa-javascript/README.md b/clients/sellingpartner-api-aa-javascript/README.md index 70e3b3df8..2ec8ba68a 100644 --- a/clients/sellingpartner-api-aa-javascript/README.md +++ b/clients/sellingpartner-api-aa-javascript/README.md @@ -4,8 +4,8 @@ This library is to help SP-API developers to create an app in JavaScript on Node.js easier than calling HTTP endpoints directly. This library comes with the following features. 1. Login with Amazon (LWA) helper that does OAuth token refresh flow. 2. This library takes care of HTTP communication with SP-API endpoints with a help of [superagent](https://www.npmjs.com/package/superagent), so you can call SP-API by just calling a right method of library that corresponds to SP-API operation. -3. Calling SP-API requires non-standard `x-amz-access-token` HTTP request header in request. The SDK generated by this library supports to include this header with token value you specify. -4. SP-API operaitons to handle restricted data are categorized as ["Restricted Operations"](https://developer-docs.amazon.com/sp-api/lang-ja_JP/docs/tokens-api-use-case-guide#restricted-operations), which requires ["Restricted Data Token" (RDT)](https://developer-docs.amazon.com/sp-api/lang-ja_JP/docs/authorization-with-the-restricted-data-token) instead of access token for tighter security. Calling restricted operation involves two seprate steps, one of wihch is calling Tokens API to retrieve RDT and the other of which is calling protected operation with RDT. This library helps to compbine these two steps into single library call. +3. Calling SP-API requires non-standard `x-amz-access-token` HTTP request header in the request. The SDK generated by this library supports to include this header with the token value you specify. +4. SP-API operations to handle restricted data are categorized as ["Restricted Operations"](https://developer-docs.amazon.com/sp-api/lang-ja_JP/docs/tokens-api-use-case-guide#restricted-operations), which requires ["Restricted Data Token" (RDT)](https://developer-docs.amazon.com/sp-api/lang-ja_JP/docs/authorization-with-the-restricted-data-token) instead of access token for tighter security. Calling restricted operation involves two separate steps, one of which is calling Tokens API to retrieve RDT and the other of which is calling protected operation with RDT. This library helps to combine these two steps into a single library call. ## Installation and Generating SDK Please note this library doesn't include SDK. You need to generate SDK with the template and script files included in this library. @@ -17,7 +17,7 @@ Please note this library doesn't include SDK. You need to generate SDK with the __CAUTION__: Please be aware that there are two major known issues with the latest JavaScript client library. 1. If you use swagger-codegen-cli newer than 2.4.29 (such as 2.4.30 or 3.x), there is a known compatibility issue with SP-API models that makes generating SDK fail. We recommend that you use swagger-codegen-cli-2.4.29 specifically. -2. Swagger codegen tool fails to generate SDK for "Merchant Fulfillment V0 API." For workaround, you need to modify a part of the API model file "merchantFulfillmentV0.json" +2. Swagger codegen tool fails to generate SDK for "Merchant Fulfillment V0 API." For a workaround, you need to modify a part of the API model file "merchantFulfillmentV0.json" ### Download swagger-codegen-cli JAR file We use `swagger-codegen-cli` executable JAR file. You can download it by the following command. @@ -41,14 +41,14 @@ You will find `models` directory and `sdk` directory under the package root.
* `models`: directory contains API models cloned from SP-API GitHub. * `sdk`: directory contains generated JavaScript SDK. -### Modify Merchant Fulfillment API model file to avoid error during SDK generation -If you want to call Merchant Fulfillment API with the generated SDK, you need to follow this instruction. There is an fatal known issue in generating Merchant Fulfillment API library. If downloading API models is successful, you should be able to find `merchantFulfillmentV0.json` file In `/models/merchant-fulfillment-api-model` directory. Open this file with an editor and find the following part. +### Modify Merchant Fulfillment API model file to avoid errors during SDK generation +If you want to call Merchant Fulfillment API with the generated SDK, you need to follow this instruction. There is a fatal known issue in generating Merchant Fulfillment API library. If downloading API models is successful, you should be able to find `merchantFulfillmentV0.json` file In `/models/merchant-fulfillment-api-model` directory. Open this file with an editor and find the following part. ``` "AvailableFormatOptionsForLabel": { "$ref": "#/definitions/AvailableFormatOptionsForLabelList" }, ``` -Since this part causes a fatal error in SDK generation for JavaScript, please replace this part with the following snipet. +Since this part causes a fatal error in SDK generation for JavaScript, please replace this part with the following snippet. ``` "AvailableFormatOptionsForLabel": { "type": "array", @@ -67,7 +67,7 @@ Found /models already exists. Would you like to delete all the fil With the correct modification in `merchantFulfillmentV0.json`, you should be able to find generated SDK for Merchant Fulfillment API. ### How to run tests -This library contains a sample programs in `sample_node_app` directory under the packagte root.
In order to run the program, you need to have LWA credential information saved in the file and name it `app.config.mjs` and put it `/src` directory. Because __client secret__ and __refresh token__ shouldn't be exposed, you must make sure that you don't commit this file to the repository. +This library contains sample programs in `sample_node_app` directory under the package root.
In order to run the program, you need to have LWA credential information saved in the file and name it `app.config.mjs` and put it `/src` directory. Because __client secret__ and __refresh token__ shouldn't be exposed, you must make sure that you don't commit this file to the repository. ```javascript export const AppConfig = { lwaClientId: "< LWA client ID >", @@ -101,7 +101,7 @@ ordersApiClient.enableAutoRetrievalRestrictedDataToken("", const ordersApi = new OrdersV0Api(ordersApiClient); const order = await ordersApi.getOrder(""); ``` -### Calling SP-API with access token +### Calling SP-API with the access token In case you manage LWA token refresh flow, you can explicitly use the access token you got yourself for your SP-API call as follows. ```javascript import { SellersApi, ApiClient as SellersApiClient } from '../../sdk/src/sellers/index.js'; @@ -112,10 +112,10 @@ sellerApiClient.applyXAmzAccessTokenToRequest(""; const lwaClient = new LwaAuthClient("", "", ""); const accessToken = await lwaClient.getAccessToken(); -``` \ No newline at end of file +``` From 14ee4a46d58b3f8745d0a5803a4e7e853c1b9055 Mon Sep 17 00:00:00 2001 From: Alex Rupprecht Date: Wed, 8 Nov 2023 16:09:53 -0500 Subject: [PATCH 010/340] Update weight to mandatory --- ...rDirectFulfillmentShipping_2021-12-28.json | 278 +----------------- 1 file changed, 2 insertions(+), 276 deletions(-) diff --git a/models/vendor-direct-fulfillment-shipping-api-model/vendorDirectFulfillmentShipping_2021-12-28.json b/models/vendor-direct-fulfillment-shipping-api-model/vendorDirectFulfillmentShipping_2021-12-28.json index 773ed8113..8bcdb642a 100644 --- a/models/vendor-direct-fulfillment-shipping-api-model/vendorDirectFulfillmentShipping_2021-12-28.json +++ b/models/vendor-direct-fulfillment-shipping-api-model/vendorDirectFulfillmentShipping_2021-12-28.json @@ -1810,158 +1810,7 @@ "dynamic": {} } } - }, - "/vendor/directFulfillment/shipping/2021-12-28/containerLabel": { - "post": { - "tags": [ - "createContainerLabel" - ], - "description": "Creates container (pallet) label for provided shipment package association", - "operationId": "createContainerLabel", - "parameters": [ - { - "in": "body", - "name": "body", - "required": true, - "schema": { - "$ref": "#/definitions/CreateContainerLabelRequest" - } - } - ], - "responses": { - "200": { - "description": "Success.", - "schema": { - "$ref": "#/definitions/CreateContainerLabelResponse" - }, - "examples": { - "containerLabel": { - "containerTrackingNumber": "TBA134335066000", - "content": "Base 64 encoded string goes here ", - "format": "PNG" - } - }, - "headers": { - "x-amzn-RateLimit-Limit": { - "type": "string", - "description": "Your rate limit (requests per second) for this operation." - }, - "x-amzn-RequestId": { - "type": "string", - "description": "Unique request reference identifier." - } - } - }, - "400": { - "description": "Request has missing or invalid parameters and cannot be parsed.", - "schema": { - "$ref": "#/definitions/ErrorList" - }, - "headers": { - "x-amzn-RateLimit-Limit": { - "type": "string", - "description": "Your rate limit (requests per second) for this operation." - }, - "x-amzn-RequestId": { - "type": "string", - "description": "Unique request reference identifier." - } - } - }, - "403": { - "description": "Indicates that access to the resource is forbidden. Possible reasons include Access Denied, Unauthorized, Expired Token, or Invalid Signature.", - "schema": { - "$ref": "#/definitions/ErrorList" - }, - "headers": { - "x-amzn-RequestId": { - "type": "string", - "description": "Unique request reference identifier." - } - } - }, - "404": { - "description": "The resource specified does not exist.", - "schema": { - "$ref": "#/definitions/ErrorList" - }, - "headers": { - "x-amzn-RateLimit-Limit": { - "type": "string", - "description": "Your rate limit (requests per second) for this operation." - }, - "x-amzn-RequestId": { - "type": "string", - "description": "Unique request reference identifier." - } - } - }, - "413": { - "description": "The request size exceeded the maximum accepted size.", - "schema": { - "$ref": "#/definitions/ErrorList" - }, - "headers": { - "x-amzn-RequestId": { - "type": "string", - "description": "Unique request reference identifier." - } - } - }, - "415": { - "description": "The request payload is in an unsupported format.", - "schema": { - "$ref": "#/definitions/ErrorList" - }, - "headers": { - "x-amzn-RequestId": { - "type": "string", - "description": "Unique request reference identifier." - } - } - }, - "429": { - "description": "The frequency of requests was greater than allowed.", - "schema": { - "$ref": "#/definitions/ErrorList" - }, - "headers": { - "x-amzn-RequestId": { - "type": "string", - "description": "Unique request reference identifier." - } - } - }, - "500": { - "description": "An unexpected condition occurred that prevented the server from fulfilling the request.", - "schema": { - "$ref": "#/definitions/ErrorList" - }, - "headers": { - "x-amzn-RequestId": { - "type": "string", - "description": "Unique request reference identifier." - } - } - }, - "503": { - "description": "Temporary overloading or maintenance of the server.", - "schema": { - "$ref": "#/definitions/ErrorList" - }, - "headers": { - "x-amzn-RequestId": { - "type": "string", - "description": "Unique request reference identifier." - } - } - } - }, - "x-amzn-api-sandbox": { - "dynamic": {} - } - } - } + } }, "definitions": { "PackingSlip": { @@ -2795,129 +2644,6 @@ } } } - }, - "CreateContainerLabelRequest": { - "description": "The request body schema for the createContainerLabel operation.", - "type": "object", - "required": [ - "sellingParty", - "shipFromParty", - "carrierId", - "vendorContainerId", - "packages" - ], - "properties": { - "sellingParty": { - "description": "ID of the selling party or vendor.", - "$ref": "#/definitions/PartyIdentification" - }, - "shipFromParty": { - "description": "Warehouse code of vendor.", - "$ref": "#/definitions/PartyIdentification" - }, - "carrierId": { - "description": "Carrier for which container (pallet) label requested.", - "$ref": "#/definitions/CarrierId" - }, - "vendorContainerId": { - "description": " Unique identifier for the container request incoming from vendor side.", - "$ref": "#/definitions/VendorContainerId" - }, - "packages": { - "description": "Array of Package object in order to associate shipment packages with container", - "$ref": "#/definitions/Packages" - } - } - }, - "Packages": { - "description": "Array of package object in order to associate shipments packages with given container.", - "type": "array", - "items": { - "$ref": "#/definitions/Package" - } - }, - "Package": { - "type": "object", - "description": "Object describing Package that is going to be associated with given container.", - "required": [ - "packageTrackingNumber" - ], - "properties": { - "packageTrackingNumber": { - "type": "string", - "description": "tracking identifier present on label of shipment package. Tracking number can be fetched from fetched from shippingLabels API response. Alternatively bar code on the shipping label can be scanned by the scanner to get the tracking number." - } - } - }, - "VendorContainerId": { - "type": "string", - "description": "unique identifier for the container provided by the vendor." - }, - "CarrierId": { - "type": "string", - "description": "Unique carrier code for the carrier for whom container labels are requested.", - "enum": [ - "SWA" - ], - "x-docgen-enum-table-extension": [ - { - "value": "SWA", - "description": "Ship with Amazon Carrier." - } - ] - }, - "CreateContainerLabelResponse": { - "description": "The response schema for the createContainerLabel operation.", - "type": "object", - "required": [ - "containerLabel" - ], - "properties": { - "containerLabel": { - "description": "Label data for container label.", - "$ref": "#/definitions/ContainerLabel" - } - } - }, - "ContainerLabel": { - "description": "Details of the container label.", - "type": "object", - "required": [ - "content", - "format" - ], - "properties": { - "containerTrackingNumber": { - "type": "string", - "description": "Container (pallet) tracking identifier from the shipping carrier." - }, - "content": { - "type": "string", - "description": "This field will contain the Base64encoded string of the container label content." - }, - "format": { - "description": "Format of the container label.", - "$ref": "#/definitions/ContainerLabelFormat" - } - } - }, - "ContainerLabelFormat": { - "type": "string", - "description": "Format of the container label.", - "enum": [ - "PNG", - "ZPL" - ], - "x-docgen-enum-table-extension": [ - { - "value": "PNG", - "description": "Portable Network Graphics (png) format." - }, - { - "value": "ZPL", - "description": "Zebra Programming Language (zpl) format." - } - ] } } -} \ No newline at end of file +} \ No newline at end of file From 3fd3f65dfbdd53c0c8dddb2208d3fdd515ea3647 Mon Sep 17 00:00:00 2001 From: Jack Evoniuk Date: Tue, 14 Nov 2023 10:46:16 -0800 Subject: [PATCH 011/340] Update Finances API --- models/finances-api-model/financesV0.json | 313 +--------------------- 1 file changed, 3 insertions(+), 310 deletions(-) diff --git a/models/finances-api-model/financesV0.json b/models/finances-api-model/financesV0.json index 8c16105ce..a4acf8ee9 100644 --- a/models/finances-api-model/financesV0.json +++ b/models/finances-api-model/financesV0.json @@ -1033,7 +1033,7 @@ }, "/finances/v0/financialEvents": { "get": { - "description": "Returns financial events for the specified data range. It may take up to 48 hours for orders to appear in your financial events. *note in ListFinancialEvents that deferred events don’t show up in responses until in they are released. \n\n**Usage Plan:**\n\n| Rate (requests per second) | Burst |\n| ---- | ---- |\n| 0.5 | 30 |\n\nThe `x-amzn-RateLimit-Limit` response header returns the usage plan rate limits that were applied to the requested operation, when available. The table above indicates the default rate and burst values for this operation. Selling partners whose business demands require higher throughput may see higher rate and burst values than those shown here. For more information, see [Usage Plans and Rate Limits in the Selling Partner API](https://developer-docs.amazon.com/sp-api/docs/usage-plans-and-rate-limits-in-the-sp-api).", + "description": "Returns financial events for the specified data range. It may take up to 48 hours for orders to appear in your financial events.\n\n**Usage Plan:**\n\n| Rate (requests per second) | Burst |\n| ---- | ---- |\n| 0.5 | 30 |\n\nThe `x-amzn-RateLimit-Limit` response header returns the usage plan rate limits that were applied to the requested operation, when available. The table above indicates the default rate and burst values for this operation. Selling partners whose business demands require higher throughput may see higher rate and burst values than those shown here. For more information, see [Usage Plans and Rate Limits in the Selling Partner API](https://developer-docs.amazon.com/sp-api/docs/usage-plans-and-rate-limits-in-the-sp-api).", "operationId": "listFinancialEvents", "parameters": [ { @@ -1319,184 +1319,6 @@ } } } - }, - "/finances/v0/transactions": { - "get": { - "description": "Returns transactions for the given parameters. It may take up to 48 hours for transactions to appear in your transaction events.\n\n**Usage Plan:**\n\n| Rate (requests per second) | Burst |\n| ---- | ---- |\n| 0.5 | 30 |\n\nThe `x-amzn-RateLimit-Limit` response header returns the usage plan rate limits that were applied to the requested operation, when available. The table above indicates the default rate and burst values for this operation. Selling partners whose business demands require higher throughput may see higher rate and burst values than those shown here. For more information, see [Usage Plans and Rate Limits in the Selling Partner API](https://developer-docs.amazon.com/sp-api/docs/usage-plans-and-rate-limits-in-the-sp-api).", - "operationId": "listTransactions", - "parameters": [ - { - "name": "PostedAfter", - "in": "query", - "description": "A date used for selecting transactions posted after (or at) a specified time. The date-time must be no later than two minutes before the request was submitted, in ISO 8601 date time format.", - "required": true, - "type": "string", - "format": "date-time" - }, - { - "name": "PostedBefore", - "in": "query", - "description": "A date used for selecting transactions posted before (but not at) a specified time. The date-time must be later than PostedAfter and no later than two minutes before the request was submitted, in ISO 8601 date time format. If PostedAfter and PostedBefore are more than 180 days apart, no transactions are returned. You must specify the PostedAfter parameter if you specify the PostedBefore parameter. Default: Now minus two minutes.", - "required": false, - "type": "string", - "format": "date-time" - }, - { - "name": "MarketplaceId", - "in": "query", - "description": "A string token used to select Marketplace ID.", - "required": true, - "type": "string" - }, - { - "name": "NextToken", - "in": "query", - "description": "A string token returned in the response of your previous request.", - "required": false, - "type": "string" - } - ], - "responses": { - "200": { - "description": "Success.", - "schema": { - "$ref": "#/definitions/ListTransactionsResponse" - }, - "x-amzn-api-sandbox": { - "static": [{ - "request": { - "parameters": { - "PostedAfter": { - "value": "2023-03-07" - }, - "NextToken": { - "value": "jehgri34yo7jr9e8f984tr9i4o" - } - } - }, - "response": { - "payload": { - "NextToken": "Next token value", - "Transactions": [{ - "SellingPartnerMetadata": { - "SellingPartnerId": "A3TH9S8BH6GOGM", - "AccountType": "PAYABLE", - "MarketplaceId": "ATIV93840DER" - }, - "RelatedIdentifiers": [{ - "RelatedIdentifierName": "ORDER_ID", - "RelatedIdentifierValue": "8129762527551" - }], - "TransactionType": "Shipment", - "PostedDate": "2020-07-14T03:35:13.214Z", - "TotalAmount": { - "CurrencyAmount": 10, - "CurrencyCode": "USD" - } - }] - } - } - }] - } - }, - "400": { - "description": "Request has missing or invalid parameters and cannot be parsed.", - "schema": { - "$ref": "#/definitions/ListTransactionsResponse" - }, - "x-amzn-api-sandbox": { - "static": [{ - "request": { - "parameters": { - } - }, - "response": { - "errors": [{ - "code": "InvalidInput", - "message": "Input not valid." - }] - } - }] - } - }, - "403": { - "description": "Indicates that access to the resource is forbidden. Possible reasons include Access Denied, Unauthorized, Expired Token, or Invalid Signature.", - "schema": { - "$ref": "#/definitions/ListTransactionsResponse" - }, - "headers": { - "x-amzn-RequestId": { - "type": "string", - "description": "Unique request reference identifier." - } - } - }, - "404": { - "description": "The resource specified does not exist.", - "schema": { - "$ref": "#/definitions/ListTransactionsResponse" - }, - "headers": { - "x-amzn-RateLimit-Limit": { - "type": "string", - "description": "Your rate limit (requests per second) for this operation." - }, - "x-amzn-RequestId": { - "type": "string", - "description": "Unique request reference identifier." - } - } - }, - "429": { - "description": "The frequency of requests was greater than allowed.", - "schema": { - "$ref": "#/definitions/ListTransactionsResponse" - }, - "headers": { - "x-amzn-RateLimit-Limit": { - "type": "string", - "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." - }, - "x-amzn-RequestId": { - "type": "string", - "description": "Unique request reference identifier." - } - } - }, - "500": { - "description": "An unexpected condition occurred that prevented the server from fulfilling the request.", - "schema": { - "$ref": "#/definitions/ListTransactionsResponse" - }, - "headers": { - "x-amzn-RateLimit-Limit": { - "type": "string", - "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." - }, - "x-amzn-RequestId": { - "type": "string", - "description": "Unique request reference identifier." - } - } - }, - "503": { - "description": "Temporary overloading or maintenance of the server.", - "schema": { - "$ref": "#/definitions/ListTransactionsResponse" - }, - "headers": { - "x-amzn-RateLimit-Limit": { - "type": "string", - "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." - }, - "x-amzn-RequestId": { - "type": "string", - "description": "Unique request reference identifier." - } - } - } - } - } } }, "definitions": { @@ -1720,7 +1542,7 @@ }, "ChargeRefundTransactions": { "description": "The amount of the charge refund credit.", - "$ref": "#/definitions/ChargeRefundTransactions" + "$ref": "#/definitions/ChargeRefundTransaction" } }, "description": "An event related to charge refund." @@ -1746,13 +1568,6 @@ }, "description": "The charge refund transaction." }, - "ChargeRefundTransactions": { - "type": "array", - "description": "A list of ChargeRefund Transactions", - "items": { - "$ref": "#/definitions/ChargeRefundTransaction" - } - }, "CouponPaymentEvent": { "type": "object", "properties": { @@ -1897,13 +1712,6 @@ } }, "FailedAdhocDisbursementEventList": { - "type": "array", - "items": { - "$ref": "#/definitions/FailedAdhocDisbursementEvent" - }, - "description": "A list of FailedAdhocDisbursementEvents." - }, - "FailedAdhocDisbursementEvent": { "type": "object", "properties": { "FundsTransfersType": { @@ -2044,87 +1852,6 @@ "$ref": "#/definitions/FinancialEventGroup" } }, - "Transactions": { - "type": "array", - "description": "Contains transactions within a given time period.", - "items": { - "$ref": "#/definitions/Transaction" - } - }, - "Transaction": { - "type": "object", - "properties": { - "SellingPartnerMetadata": { - "description": "Metadata describing the seller.", - "$ref": "#/definitions/SellingPartnerMetadata" - }, - "RelatedIdentifiers": { - "description": "Related business identifiers of the transaction.", - "$ref": "#/definitions/RelatedIdentifiers" - }, - "TransactionType": { - "type": "string", - "description": "The type of transaction.\n\nPossible values:\n\n* Shipment" - }, - "PostedDate": { - "description": "The date and time when the transaction was posted.", - "$ref": "#/definitions/Date" - }, - "TotalAmount": { - "description": "Total amount of transaction.", - "$ref": "#/definitions/Currency" - } - }, - "description": "Contains all information related to the transaction." - }, - "RelatedIdentifier": { - "type": "object", - "properties": { - "RelatedIdentifierName": { - "type": "string", - "description": "Enumerated set of related business identifier names.", - "enum": [ - "ORDER_ID" - ], - "x-docgen-enum-table-extension": [ - { - "value": "ORDER_ID", - "description": "Associated OrderId of transaction" - } - ] - }, - "RelatedIdentifierValue": { - "type": "string", - "description": "Corresponding value of RelatedIdentifierName" - } - }, - "description": "Related business identifier of the transaction." - }, - "RelatedIdentifiers" : { - "type": "array", - "description": "Related business identifiers of the transaction.", - "items": { - "$ref": "#/definitions/RelatedIdentifier" - } - }, - "SellingPartnerMetadata":{ - "type": "object", - "properties": { - "SellingPartnerId": { - "type": "string", - "description": "Unique seller identifier." - }, - "AccountType": { - "type": "string", - "description": "Account type of transaction." - }, - "MarketplaceId": { - "type": "string", - "description": "Marketplace identifier of transaction." - } - }, - "description": "Metadata describing the seller." - }, "FinancialEvents": { "type": "object", "properties": { @@ -2291,33 +2018,6 @@ }, "description": "The response schema for the listFinancialEventGroups operation." }, - "ListTransactionsPayload": { - "type": "object", - "properties": { - "NextToken": { - "type": "string", - "description": "When present and not empty, pass this string token in the next request to return the next response page." - }, - "Transactions": { - "$ref": "#/definitions/Transactions" - } - }, - "description": "The payload for the listTransactions operation." - }, - "ListTransactionsResponse": { - "type": "object", - "properties": { - "payload": { - "description": "The payload for the listTransactions operation.", - "$ref": "#/definitions/ListTransactionsPayload" - }, - "errors": { - "description": "One or more unexpected errors occurred during the listTransactions operation.", - "$ref": "#/definitions/ErrorList" - } - }, - "description": "The response schema for the listTransactions operation." - }, "ListFinancialEventsPayload": { "type": "object", "properties": { @@ -3269,13 +2969,6 @@ "description": "A list of information about trial shipment financial events." }, "ValueAddedServiceChargeEventList": { - "type": "array", - "items": { - "$ref": "#/definitions/ValueAddedServiceChargeEvent" - }, - "description": "A list of ValueAddedServiceCharge events." - }, - "ValueAddedServiceChargeEvent": { "type": "object", "properties": { "TransactionType": { @@ -3357,4 +3050,4 @@ "description": "Error response returned when the request is unsuccessful." } } -} \ No newline at end of file +} From fa0e9ecc4bc9752a44b47e58738a9bb955763322 Mon Sep 17 00:00:00 2001 From: Jack Evoniuk Date: Tue, 14 Nov 2023 13:38:51 -0800 Subject: [PATCH 012/340] Update Finances model --- models/finances-api-model/financesV0.json | 25 +++++++++++++++++++++-- 1 file changed, 23 insertions(+), 2 deletions(-) diff --git a/models/finances-api-model/financesV0.json b/models/finances-api-model/financesV0.json index a4acf8ee9..4b3a9757d 100644 --- a/models/finances-api-model/financesV0.json +++ b/models/finances-api-model/financesV0.json @@ -1033,7 +1033,7 @@ }, "/finances/v0/financialEvents": { "get": { - "description": "Returns financial events for the specified data range. It may take up to 48 hours for orders to appear in your financial events.\n\n**Usage Plan:**\n\n| Rate (requests per second) | Burst |\n| ---- | ---- |\n| 0.5 | 30 |\n\nThe `x-amzn-RateLimit-Limit` response header returns the usage plan rate limits that were applied to the requested operation, when available. The table above indicates the default rate and burst values for this operation. Selling partners whose business demands require higher throughput may see higher rate and burst values than those shown here. For more information, see [Usage Plans and Rate Limits in the Selling Partner API](https://developer-docs.amazon.com/sp-api/docs/usage-plans-and-rate-limits-in-the-sp-api).", + "description": "Returns financial events for the specified data range. It may take up to 48 hours for orders to appear in your financial events. **Note:** in `ListFinancialEvents`, deferred events don't show up in responses until in they are released.\n\n**Usage Plan:**\n\n| Rate (requests per second) | Burst |\n| ---- | ---- |\n| 0.5 | 30 |\n\nThe `x-amzn-RateLimit-Limit` response header returns the usage plan rate limits that were applied to the requested operation, when available. The table above indicates the default rate and burst values for this operation. Selling partners whose business demands require higher throughput may see higher rate and burst values than those shown here. For more information, see [Usage Plans and Rate Limits in the Selling Partner API](https://developer-docs.amazon.com/sp-api/docs/usage-plans-and-rate-limits-in-the-sp-api).", "operationId": "listFinancialEvents", "parameters": [ { @@ -1542,7 +1542,7 @@ }, "ChargeRefundTransactions": { "description": "The amount of the charge refund credit.", - "$ref": "#/definitions/ChargeRefundTransaction" + "$ref": "#/definitions/ChargeRefundTransactions" } }, "description": "An event related to charge refund." @@ -1568,6 +1568,13 @@ }, "description": "The charge refund transaction." }, + "ChargeRefundTransactions": { + "type": "array", + "description": "A list of `ChargeRefund` transactions.", + "items": { + "$ref": "#/definitions/ChargeRefundTransaction" + } + }, "CouponPaymentEvent": { "type": "object", "properties": { @@ -1712,6 +1719,13 @@ } }, "FailedAdhocDisbursementEventList": { + "type": "array", + "items": { + "$ref": "#/definitions/FailedAdhocDisbursementEvent" + }, + "description": "A list of `FailedAdhocDisbursementEvent`s." + }, + "FailedAdhocDisbursementEvent": { "type": "object", "properties": { "FundsTransfersType": { @@ -2969,6 +2983,13 @@ "description": "A list of information about trial shipment financial events." }, "ValueAddedServiceChargeEventList": { + "type": "array", + "items": { + "$ref": "#/definitions/ValueAddedServiceChargeEvent" + }, + "description": "A list of `ValueAddedServiceCharge` events." + }, + "ValueAddedServiceChargeEvent": { "type": "object", "properties": { "TransactionType": { From d893ffb9a1191b31b3e35ff0db968cbbf97ab749 Mon Sep 17 00:00:00 2001 From: Jack Evoniuk Date: Wed, 15 Nov 2023 09:05:19 -0800 Subject: [PATCH 013/340] Add Data Kiosk model and notification --- .../dataKiosk_2023-11-15.json | 1303 +++++++++++++++++ ...skQueryProcessingFinishedNotification.json | 22 + 2 files changed, 1325 insertions(+) create mode 100644 models/data-kiosk-api-model/dataKiosk_2023-11-15.json create mode 100644 schemas/notifications/DataKioskQueryProcessingFinishedNotification.json diff --git a/models/data-kiosk-api-model/dataKiosk_2023-11-15.json b/models/data-kiosk-api-model/dataKiosk_2023-11-15.json new file mode 100644 index 000000000..50d34740b --- /dev/null +++ b/models/data-kiosk-api-model/dataKiosk_2023-11-15.json @@ -0,0 +1,1303 @@ +{ + "swagger": "2.0", + "info": { + "description": "The Selling Partner API for Data Kiosk lets you submit GraphQL queries from a variety of schemas to help selling partners manage their businesses.", + "version": "2023-11-15", + "title": "Selling Partner API for Data Kiosk", + "contact": { + "name": "Selling Partner API Developer Support", + "url": "https://sellercentral.amazon.com/gp/mws/contactus.html" + }, + "license": { + "name": "Apache License 2.0", + "url": "http://www.apache.org/licenses/LICENSE-2.0" + } + }, + "host": "sellingpartnerapi-na.amazon.com", + "schemes": [ + "https" + ], + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "paths": { + "/dataKiosk/2023-11-15/queries": { + "get": { + "tags": [ + "queries" + ], + "operationId": "getQueries", + "description": "Returns details for the Data Kiosk queries that match the specified filters. See the `createQuery` operation for details about query retention.\n\n**Usage Plan:**\n\n| Rate (requests per second) | Burst |\n| ---- | ---- |\n| 0.0222 | 10 |\n\nThe `x-amzn-RateLimit-Limit` response header returns the usage plan rate limits that were applied to the requested operation, when available. The table above indicates the default rate and burst values for this operation. Selling partners whose business demands require higher throughput may see higher rate and burst values than those shown here. For more information, refer to [Usage Plans and Rate Limits in the Selling Partner API](https://developer-docs.amazon.com/sp-api/docs/usage-plans-and-rate-limits-in-the-sp-api).", + "parameters": [ + { + "name": "processingStatuses", + "in": "query", + "description": "A list of processing statuses used to filter queries.", + "required": false, + "type": "array", + "minItems": 1, + "items": { + "type": "string", + "enum": [ + "CANCELLED", + "DONE", + "FATAL", + "IN_PROGRESS", + "IN_QUEUE" + ], + "x-docgen-enum-table-extension": [ + { + "value": "CANCELLED", + "description": "The query was cancelled before it began processing." + }, + { + "value": "DONE", + "description": "The query has completed processing." + }, + { + "value": "FATAL", + "description": "The query was aborted due to a fatal error." + }, + { + "value": "IN_PROGRESS", + "description": "The query is being processed." + }, + { + "value": "IN_QUEUE", + "description": "The query has not yet started processing. It may be waiting for another `IN_PROGRESS` query." + } + ] + } + }, + { + "name": "pageSize", + "in": "query", + "description": "The maximum number of queries to return in a single call.", + "required": false, + "type": "integer", + "minimum": 1, + "maximum": 100, + "default": 10 + }, + { + "name": "createdSince", + "in": "query", + "description": "The earliest query creation date and time for queries to include in the response, in ISO 8601 date time format. The default is 90 days ago.", + "required": false, + "type": "string", + "format": "date-time" + }, + { + "name": "createdUntil", + "in": "query", + "description": "The latest query creation date and time for queries to include in the response, in ISO 8601 date time format. The default is the time of the `getQueries` request.", + "required": false, + "type": "string", + "format": "date-time" + }, + { + "name": "paginationToken", + "in": "query", + "description": "A token to fetch a certain page of results when there are multiple pages of results available. The value of this token is fetched from the `pagination.nextToken` field returned in the `GetQueriesResponse` object. All other parameters must be provided with the same values that were provided with the request that generated this token, with the exception of `pageSize` which can be modified between calls to `getQueries`. In the absence of this token value, `getQueries` returns the first page of results.", + "required": false, + "type": "string" + } + ], + "responses": { + "200": { + "description": "Success.", + "schema": { + "$ref": "#/definitions/GetQueriesResponse" + }, + "headers": { + "x-amzn-RateLimit-Limit": { + "description": "Your rate limit (requests per second) for this operation.", + "type": "string" + }, + "x-amzn-RequestId": { + "type": "string", + "description": "Unique request reference identifier." + } + }, + "x-amzn-api-sandbox": { + "static": [ + { + "request": { + "parameters": { + "processingStatuses": { + "value": [ + "IN_QUEUE", + "IN_PROGRESS" + ] + } + } + }, + "response": { + "pagination": { + "nextToken": "VGhpcyB0b2tlbiBpcyBvcGFxdWUgYW5kIGludGVudGlvbmFsbHkgb2JmdXNjYXRlZA==" + }, + "queries": [ + { + "queryId": "QueryId1", + "query": "query {sampleQuery(startDate:\"2022-03-12\" endDate:\"2022-03-20\" marketplaceIds:[\"ATVPDKIKX0DER\"]){sales{date averageSellingPrice{amount currencyCode}}}}", + "createdTime": "2019-12-10T13:47:20.677Z", + "processingStatus": "IN_PROGRESS", + "processingStartTime": "2019-12-10T13:47:20.677Z", + "processingEndTime": "2019-12-12T13:47:20.677Z" + } + ] + } + } + ] + } + }, + "400": { + "description": "Request has missing or invalid parameters and cannot be parsed.", + "schema": { + "$ref": "#/definitions/ErrorList" + }, + "headers": { + "x-amzn-RateLimit-Limit": { + "description": "Your rate limit (requests per second) for this operation.", + "type": "string" + }, + "x-amzn-RequestId": { + "type": "string", + "description": "Unique request reference identifier." + } + }, + "x-amzn-api-sandbox": { + "static": [ + { + "request": { + "parameters": { + "processingStatuses": { + "value": [ + "INVALID_STATUS", + "IN_PROGRESS" + ] + } + } + }, + "response": { + "errors": [ + { + "code": "InvalidInput", + "message": "1 validation error detected: Value '[INVALID_STATUS]' at 'processingStatuses' failed to satisfy constraint: Member must satisfy constraint: [Member must satisfy enum value set: [DONE, FATAL, IN_PROGRESS, CANCELLED, IN_QUEUE]]", + "details": "" + } + ] + } + } + ] + } + }, + "401": { + "description": "The request's Authorization header is not formatted correctly or does not contain a valid token.", + "schema": { + "$ref": "#/definitions/ErrorList" + }, + "headers": { + "x-amzn-RateLimit-Limit": { + "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned.", + "type": "string" + }, + "x-amzn-RequestId": { + "type": "string", + "description": "Unique request reference identifier." + } + } + }, + "403": { + "description": "Indicates that access to the resource is forbidden. Possible reasons include Access Denied, Unauthorized, Expired Token, or Invalid Signature.", + "schema": { + "$ref": "#/definitions/ErrorList" + }, + "headers": { + "x-amzn-RequestId": { + "type": "string", + "description": "Unique request reference identifier." + } + } + }, + "404": { + "description": "The specified resource does not exist.", + "schema": { + "$ref": "#/definitions/ErrorList" + }, + "headers": { + "x-amzn-RateLimit-Limit": { + "description": "Your rate limit (requests per second) for this operation.", + "type": "string" + }, + "x-amzn-RequestId": { + "type": "string", + "description": "Unique request reference identifier." + } + } + }, + "415": { + "description": "The request's Content-Type header is invalid.", + "schema": { + "$ref": "#/definitions/ErrorList" + }, + "headers": { + "x-amzn-RateLimit-Limit": { + "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned.", + "type": "string" + }, + "x-amzn-RequestId": { + "type": "string", + "description": "Unique request reference identifier." + } + } + }, + "429": { + "description": "The frequency of requests was greater than allowed.", + "schema": { + "$ref": "#/definitions/ErrorList" + }, + "headers": { + "x-amzn-RateLimit-Limit": { + "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned.", + "type": "string" + }, + "x-amzn-RequestId": { + "type": "string", + "description": "Unique request reference identifier." + } + } + }, + "500": { + "description": "An unexpected condition occurred that prevented the server from fulfilling the request.", + "schema": { + "$ref": "#/definitions/ErrorList" + }, + "headers": { + "x-amzn-RateLimit-Limit": { + "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned.", + "type": "string" + }, + "x-amzn-RequestId": { + "type": "string", + "description": "Unique request reference identifier." + } + } + }, + "503": { + "description": "Temporary overloading or maintenance of the server.", + "schema": { + "$ref": "#/definitions/ErrorList" + }, + "headers": { + "x-amzn-RateLimit-Limit": { + "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned.", + "type": "string" + }, + "x-amzn-RequestId": { + "type": "string", + "description": "Unique request reference identifier." + } + } + } + } + }, + "post": { + "tags": [ + "queries" + ], + "operationId": "createQuery", + "description": "Creates a Data Kiosk query request.\n\n**Note:** The retention of a query varies based on the fields requested. Each field within a schema is annotated with a `@resultRetention` directive that defines how long a query containing that field will be retained. When a query contains multiple fields with different retentions, the shortest (minimum) retention is applied. The retention of a query's resulting documents always matches the retention of the query.\n\n**Usage Plan:**\n\n| Rate (requests per second) | Burst |\n| ---- | ---- |\n| 0.0167 | 15 |\n\nThe `x-amzn-RateLimit-Limit` response header returns the usage plan rate limits that were applied to the requested operation, when available. The table above indicates the default rate and burst values for this operation. Selling partners whose business demands require higher throughput may see higher rate and burst values than those shown here. For more information, refer to [Usage Plans and Rate Limits in the Selling Partner API](https://developer-docs.amazon.com/sp-api/docs/usage-plans-and-rate-limits-in-the-sp-api).", + "parameters": [ + { + "name": "body", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/CreateQuerySpecification" + } + } + ], + "responses": { + "202": { + "description": "Success.", + "schema": { + "$ref": "#/definitions/CreateQueryResponse" + }, + "headers": { + "x-amzn-RateLimit-Limit": { + "description": "Your rate limit (requests per second) for this operation.", + "type": "string" + }, + "x-amzn-RequestId": { + "type": "string", + "description": "Unique request reference identifier." + } + }, + "x-amzn-api-sandbox": { + "static": [ + { + "request": { + "parameters": { + "body": { + "value": { + "query": "query {sampleQuery(startDate:\"2022-03-12\" endDate:\"2022-03-20\" marketplaceIds:[\"ATVPDKIKX0DER\"]){sales{date averageSellingPrice{amount currencyCode}}}}" + } + } + } + }, + "response": { + "queryId": "QueryId1" + } + } + ] + } + }, + "400": { + "description": "Request has missing or invalid parameters and cannot be parsed.", + "schema": { + "$ref": "#/definitions/ErrorList" + }, + "headers": { + "x-amzn-RateLimit-Limit": { + "description": "Your rate limit (requests per second) for this operation.", + "type": "string" + }, + "x-amzn-RequestId": { + "type": "string", + "description": "Unique request reference identifier." + } + }, + "x-amzn-api-sandbox": { + "static": [ + { + "request": { + "parameters": { + "body": { + "value": { + "query": "query {invalidSampleQuery(startDate:\"2022-03-12\" endDate:\"2022-03-20\" marketplaceIds:[\"ATVPDKIKX0DER\"]){sales{date averageSellingPrice{amount currencyCode}}}}" + } + } + } + }, + "response": { + "errors": [ + { + "code": "400", + "message": "Invalid input", + "details": "Invalid input" + } + ] + } + } + ] + } + }, + "401": { + "description": "The request's Authorization header is not formatted correctly or does not contain a valid token.", + "schema": { + "$ref": "#/definitions/ErrorList" + }, + "headers": { + "x-amzn-RateLimit-Limit": { + "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned.", + "type": "string" + }, + "x-amzn-RequestId": { + "type": "string", + "description": "Unique request reference identifier." + } + } + }, + "403": { + "description": "Indicates that access to the resource is forbidden. Possible reasons include Access Denied, Unauthorized, Expired Token, or Invalid Signature.", + "schema": { + "$ref": "#/definitions/ErrorList" + }, + "headers": { + "x-amzn-RequestId": { + "type": "string", + "description": "Unique request reference identifier." + } + } + }, + "404": { + "description": "The specified resource does not exist.", + "schema": { + "$ref": "#/definitions/ErrorList" + }, + "headers": { + "x-amzn-RateLimit-Limit": { + "description": "Your rate limit (requests per second) for this operation.", + "type": "string" + }, + "x-amzn-RequestId": { + "type": "string", + "description": "Unique request reference identifier." + } + } + }, + "415": { + "description": "The request's Content-Type header is invalid.", + "schema": { + "$ref": "#/definitions/ErrorList" + }, + "headers": { + "x-amzn-RateLimit-Limit": { + "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned.", + "type": "string" + }, + "x-amzn-RequestId": { + "type": "string", + "description": "Unique request reference identifier." + } + } + }, + "429": { + "description": "The frequency of requests was greater than allowed.", + "schema": { + "$ref": "#/definitions/ErrorList" + }, + "headers": { + "x-amzn-RateLimit-Limit": { + "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned.", + "type": "string" + }, + "x-amzn-RequestId": { + "type": "string", + "description": "Unique request reference identifier." + } + } + }, + "500": { + "description": "An unexpected condition occurred that prevented the server from fulfilling the request.", + "schema": { + "$ref": "#/definitions/ErrorList" + }, + "headers": { + "x-amzn-RateLimit-Limit": { + "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned.", + "type": "string" + }, + "x-amzn-RequestId": { + "type": "string", + "description": "Unique request reference identifier." + } + } + }, + "503": { + "description": "Temporary overloading or maintenance of the server.", + "schema": { + "$ref": "#/definitions/ErrorList" + }, + "headers": { + "x-amzn-RateLimit-Limit": { + "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned.", + "type": "string" + }, + "x-amzn-RequestId": { + "type": "string", + "description": "Unique request reference identifier." + } + } + } + } + }, + "parameters": [] + }, + "/dataKiosk/2023-11-15/queries/{queryId}": { + "delete": { + "tags": [ + "queries" + ], + "operationId": "cancelQuery", + "description": "Cancels the query specified by the `queryId` parameter. Only queries with a non-terminal `processingStatus` (`IN_QUEUE`, `IN_PROGRESS`) can be cancelled. Cancelling a query that already has a `processingStatus` of `CANCELLED` will no-op. Cancelled queries are returned in subsequent calls to the `getQuery` and `getQueries` operations.\n\n**Usage Plan:**\n\n| Rate (requests per second) | Burst |\n| ---- | ---- |\n| 0.0222 | 10 |\n\nThe `x-amzn-RateLimit-Limit` response header returns the usage plan rate limits that were applied to the requested operation, when available. The table above indicates the default rate and burst values for this operation. Selling partners whose business demands require higher throughput may see higher rate and burst values than those shown here. For more information, refer to [Usage Plans and Rate Limits in the Selling Partner API](https://developer-docs.amazon.com/sp-api/docs/usage-plans-and-rate-limits-in-the-sp-api).", + "parameters": [ + { + "name": "queryId", + "in": "path", + "description": "The identifier for the query. This identifier is unique only in combination with a selling partner account ID.", + "required": true, + "type": "string" + } + ], + "responses": { + "200": { + "description": "Success.", + "headers": { + "x-amzn-RateLimit-Limit": { + "description": "Your rate limit (requests per second) for this operation.", + "type": "string" + }, + "x-amzn-RequestId": { + "type": "string", + "description": "Unique request reference identifier." + } + }, + "x-amzn-api-sandbox": { + "static": [ + { + "request": { + "parameters": { + "queryId": { + "value": "QueryId1" + } + } + } + } + ] + } + }, + "400": { + "description": "Request has missing or invalid parameters and cannot be parsed.", + "schema": { + "$ref": "#/definitions/ErrorList" + }, + "headers": { + "x-amzn-RateLimit-Limit": { + "description": "Your rate limit (requests per second) for this operation.", + "type": "string" + }, + "x-amzn-RequestId": { + "type": "string", + "description": "Unique request reference identifier." + } + }, + "x-amzn-api-sandbox": { + "static": [ + { + "request": { + "parameters": {} + }, + "response": { + "errors": [ + { + "code": "400", + "message": "Invalid input", + "details": "Invalid input" + } + ] + } + } + ] + } + }, + "401": { + "description": "The request's Authorization header is not formatted correctly or does not contain a valid token.", + "schema": { + "$ref": "#/definitions/ErrorList" + }, + "headers": { + "x-amzn-RateLimit-Limit": { + "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned.", + "type": "string" + }, + "x-amzn-RequestId": { + "type": "string", + "description": "Unique request reference identifier." + } + } + }, + "403": { + "description": "Indicates that access to the resource is forbidden. Possible reasons include Access Denied, Unauthorized, Expired Token, or Invalid Signature.", + "schema": { + "$ref": "#/definitions/ErrorList" + }, + "headers": { + "x-amzn-RequestId": { + "type": "string", + "description": "Unique request reference identifier." + } + } + }, + "404": { + "description": "The specified resource does not exist.", + "schema": { + "$ref": "#/definitions/ErrorList" + }, + "headers": { + "x-amzn-RateLimit-Limit": { + "description": "Your rate limit (requests per second) for this operation.", + "type": "string" + }, + "x-amzn-RequestId": { + "type": "string", + "description": "Unique request reference identifier." + } + } + }, + "415": { + "description": "The request's Content-Type header is invalid.", + "schema": { + "$ref": "#/definitions/ErrorList" + }, + "headers": { + "x-amzn-RateLimit-Limit": { + "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned.", + "type": "string" + }, + "x-amzn-RequestId": { + "type": "string", + "description": "Unique request reference identifier." + } + } + }, + "429": { + "description": "The frequency of requests was greater than allowed.", + "schema": { + "$ref": "#/definitions/ErrorList" + }, + "headers": { + "x-amzn-RateLimit-Limit": { + "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned.", + "type": "string" + }, + "x-amzn-RequestId": { + "type": "string", + "description": "Unique request reference identifier." + } + } + }, + "500": { + "description": "An unexpected condition occurred that prevented the server from fulfilling the request.", + "schema": { + "$ref": "#/definitions/ErrorList" + }, + "headers": { + "x-amzn-RateLimit-Limit": { + "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned.", + "type": "string" + }, + "x-amzn-RequestId": { + "type": "string", + "description": "Unique request reference identifier." + } + } + }, + "503": { + "description": "Temporary overloading or maintenance of the server.", + "schema": { + "$ref": "#/definitions/ErrorList" + }, + "headers": { + "x-amzn-RateLimit-Limit": { + "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned.", + "type": "string" + }, + "x-amzn-RequestId": { + "type": "string", + "description": "Unique request reference identifier." + } + } + } + } + }, + "get": { + "tags": [ + "queries" + ], + "operationId": "getQuery", + "description": "Returns query details for the query specified by the `queryId` parameter. See the `createQuery` operation for details about query retention.\n\n**Usage Plan:**\n\n| Rate (requests per second) | Burst |\n| ---- | ---- |\n| 2.0 | 15 |\n\nThe `x-amzn-RateLimit-Limit` response header returns the usage plan rate limits that were applied to the requested operation, when available. The table above indicates the default rate and burst values for this operation. Selling partners whose business demands require higher throughput may see higher rate and burst values than those shown here. For more information, refer to [Usage Plans and Rate Limits in the Selling Partner API](https://developer-docs.amazon.com/sp-api/docs/usage-plans-and-rate-limits-in-the-sp-api).", + "parameters": [ + { + "name": "queryId", + "in": "path", + "required": true, + "description": "The query identifier.", + "type": "string" + } + ], + "responses": { + "200": { + "description": "Success.", + "schema": { + "$ref": "#/definitions/Query" + }, + "headers": { + "x-amzn-RateLimit-Limit": { + "description": "Your rate limit (requests per second) for this operation.", + "type": "string" + }, + "x-amzn-RequestId": { + "type": "string", + "description": "Unique request reference identifier." + } + }, + "x-amzn-api-sandbox": { + "static": [ + { + "request": { + "parameters": { + "queryId": { + "value": "QueryId1" + } + } + }, + "response": { + "queryId": "QueryId1", + "query": "query {sampleQuery(startDate:\"2022-03-12\" endDate:\"2022-03-20\" marketplaceIds:[\"ATVPDKIKX0DER\"]){sales{date averageSellingPrice{amount currencyCode}}}}", + "createdTime": "2019-12-10T13:47:20.677Z", + "processingStatus": "IN_PROGRESS", + "processingStartTime": "2019-12-10T13:47:20.677Z", + "processingEndTime": "2019-12-12T13:47:20.677Z" + } + } + ] + } + }, + "400": { + "description": "Request has missing or invalid parameters and cannot be parsed.", + "schema": { + "$ref": "#/definitions/ErrorList" + }, + "headers": { + "x-amzn-RateLimit-Limit": { + "description": "Your rate limit (requests per second) for this operation.", + "type": "string" + }, + "x-amzn-RequestId": { + "type": "string", + "description": "Unique request reference identifier." + } + }, + "x-amzn-api-sandbox": { + "static": [ + { + "request": { + "parameters": { + "queryId": { + "value": "InvalidQueryId1" + } + } + }, + "response": { + "errors": [ + { + "code": "NotFound", + "message": "The provided queryId was not found." + } + ] + } + } + ] + } + }, + "401": { + "description": "The request's Authorization header is not formatted correctly or does not contain a valid token.", + "schema": { + "$ref": "#/definitions/ErrorList" + }, + "headers": { + "x-amzn-RateLimit-Limit": { + "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned.", + "type": "string" + }, + "x-amzn-RequestId": { + "type": "string", + "description": "Unique request reference identifier." + } + } + }, + "403": { + "description": "Indicates that access to the resource is forbidden. Possible reasons include Access Denied, Unauthorized, Expired Token, or Invalid Signature.", + "schema": { + "$ref": "#/definitions/ErrorList" + }, + "headers": { + "x-amzn-RequestId": { + "type": "string", + "description": "Unique request reference identifier." + } + } + }, + "404": { + "description": "The specified resource does not exist.", + "schema": { + "$ref": "#/definitions/ErrorList" + }, + "headers": { + "x-amzn-RateLimit-Limit": { + "description": "Your rate limit (requests per second) for this operation.", + "type": "string" + }, + "x-amzn-RequestId": { + "type": "string", + "description": "Unique request reference identifier." + } + } + }, + "415": { + "description": "The request's Content-Type header is invalid.", + "schema": { + "$ref": "#/definitions/ErrorList" + }, + "headers": { + "x-amzn-RateLimit-Limit": { + "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned.", + "type": "string" + }, + "x-amzn-RequestId": { + "type": "string", + "description": "Unique request reference identifier." + } + } + }, + "429": { + "description": "The frequency of requests was greater than allowed.", + "schema": { + "$ref": "#/definitions/ErrorList" + }, + "headers": { + "x-amzn-RateLimit-Limit": { + "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned.", + "type": "string" + }, + "x-amzn-RequestId": { + "type": "string", + "description": "Unique request reference identifier." + } + } + }, + "500": { + "description": "An unexpected condition occurred that prevented the server from fulfilling the request.", + "schema": { + "$ref": "#/definitions/ErrorList" + }, + "headers": { + "x-amzn-RateLimit-Limit": { + "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned.", + "type": "string" + }, + "x-amzn-RequestId": { + "type": "string", + "description": "Unique request reference identifier." + } + } + }, + "503": { + "description": "Temporary overloading or maintenance of the server.", + "schema": { + "$ref": "#/definitions/ErrorList" + }, + "headers": { + "x-amzn-RateLimit-Limit": { + "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned.", + "type": "string" + }, + "x-amzn-RequestId": { + "type": "string", + "description": "Unique request reference identifier." + } + } + } + } + }, + "parameters": [] + }, + "/dataKiosk/2023-11-15/documents/{documentId}": { + "get": { + "tags": [ + "queries" + ], + "description": "Returns the information required for retrieving a Data Kiosk document's contents. See the `createQuery` operation for details about document retention.\n\n**Usage Plan:**\n\n| Rate (requests per second) | Burst |\n| ---- | ---- |\n| 0.0167 | 15 |\n\nThe `x-amzn-RateLimit-Limit` response header returns the usage plan rate limits that were applied to the requested operation, when available. The table above indicates the default rate and burst values for this operation. Selling partners whose business demands require higher throughput may see higher rate and burst values than those shown here. For more information, refer to [Usage Plans and Rate Limits in the Selling Partner API](https://developer-docs.amazon.com/sp-api/docs/usage-plans-and-rate-limits-in-the-sp-api).", + "operationId": "getDocument", + "parameters": [ + { + "name": "documentId", + "in": "path", + "description": "The identifier for the Data Kiosk document.", + "required": true, + "type": "string" + } + ], + "responses": { + "200": { + "description": "Success.", + "schema": { + "$ref": "#/definitions/GetDocumentResponse" + }, + "headers": { + "x-amzn-RateLimit-Limit": { + "description": "Your rate limit (requests per second) for this operation.", + "type": "string" + }, + "x-amzn-RequestId": { + "type": "string", + "description": "Unique request reference ID." + } + }, + "x-amzn-api-sandbox": { + "static": [ + { + "request": { + "parameters": { + "documentId": { + "value": "0356cf79-b8b0-4226-b4b9-0ee058ea5760" + } + } + }, + "response": { + "documentId": "0356cf79-b8b0-4226-b4b9-0ee058ea5760", + "documentUrl": "https://d34o8swod1owfl.cloudfront.net/QUERY_DATA_OUTPUT_DOC.txt" + } + } + ] + } + }, + "400": { + "description": "Request has missing or invalid parameters and cannot be parsed.", + "schema": { + "$ref": "#/definitions/ErrorList" + }, + "headers": { + "x-amzn-RateLimit-Limit": { + "description": "Your rate limit (requests per second) for this operation.", + "type": "string" + }, + "x-amzn-RequestId": { + "type": "string", + "description": "Unique request reference ID." + } + }, + "x-amzn-api-sandbox": { + "static": [ + { + "request": { + "parameters": { + "documentId": { + "value": "InvalidDocumentId1" + } + } + }, + "response": { + "errors": [ + { + "code": "NotFound", + "message": "The provided documentId was not found." + } + ] + } + } + ] + } + }, + "401": { + "description": "The request's Authorization header is not formatted correctly or does not contain a valid token.", + "schema": { + "$ref": "#/definitions/ErrorList" + }, + "headers": { + "x-amzn-RateLimit-Limit": { + "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned.", + "type": "string" + }, + "x-amzn-RequestId": { + "type": "string", + "description": "Unique request reference ID." + } + } + }, + "403": { + "description": "Indicates access to the resource is forbidden. Possible reasons include Access Denied, Unauthorized, Expired Token, or Invalid Signature.", + "schema": { + "$ref": "#/definitions/ErrorList" + }, + "headers": { + "x-amzn-RequestId": { + "type": "string", + "description": "Unique request reference ID." + } + } + }, + "404": { + "description": "The specified resource does not exist.", + "schema": { + "$ref": "#/definitions/ErrorList" + }, + "headers": { + "x-amzn-RateLimit-Limit": { + "description": "Your rate limit (requests per second) for this operation.", + "type": "string" + }, + "x-amzn-RequestId": { + "type": "string", + "description": "Unique request reference ID." + } + } + }, + "415": { + "description": "The request's Content-Type header is invalid.", + "schema": { + "$ref": "#/definitions/ErrorList" + }, + "headers": { + "x-amzn-RateLimit-Limit": { + "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned.", + "type": "string" + }, + "x-amzn-RequestId": { + "type": "string", + "description": "Unique request reference identifier." + } + } + }, + "429": { + "description": "The frequency of requests was greater than allowed.", + "schema": { + "$ref": "#/definitions/ErrorList" + }, + "headers": { + "x-amzn-RateLimit-Limit": { + "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned.", + "type": "string" + }, + "x-amzn-RequestId": { + "type": "string", + "description": "Unique request reference ID." + } + } + }, + "500": { + "description": "An unexpected condition occurred that prevented the server from fulfilling the request.", + "schema": { + "$ref": "#/definitions/ErrorList" + }, + "headers": { + "x-amzn-RateLimit-Limit": { + "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned.", + "type": "string" + }, + "x-amzn-RequestId": { + "type": "string", + "description": "Unique request reference ID." + } + } + }, + "503": { + "description": "Temporary overloading or maintenance of the server.", + "schema": { + "$ref": "#/definitions/ErrorList" + }, + "headers": { + "x-amzn-RateLimit-Limit": { + "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned.", + "type": "string" + }, + "x-amzn-RequestId": { + "type": "string", + "description": "Unique request reference ID." + } + } + } + } + } + } + }, + "definitions": { + "ErrorList": { + "type": "object", + "description": "A list of error responses returned when a request is unsuccessful.", + "required": [ + "errors" + ], + "properties": { + "errors": { + "type": "array", + "items": { + "$ref": "#/definitions/Error" + } + } + } + }, + "Error": { + "type": "object", + "description": "Error response returned when the request is unsuccessful.", + "required": [ + "code", + "message" + ], + "properties": { + "code": { + "type": "string", + "description": "An error code that identifies the type of error that occurred." + }, + "message": { + "type": "string", + "description": "A message that describes the error condition in a human-readable form." + }, + "details": { + "type": "string", + "description": "Additional details that can help the caller understand or fix the issue." + } + } + }, + "Query": { + "type": "object", + "description": "Detailed information about the query.", + "required": [ + "processingStatus", + "queryId", + "query", + "createdTime" + ], + "properties": { + "queryId": { + "description": "The query identifier. This identifier is unique only in combination with a selling partner account ID.", + "type": "string" + }, + "query": { + "description": "The submitted query.", + "type": "string" + }, + "createdTime": { + "description": "The date and time when the query was created, in ISO 8601 date time format.", + "type": "string", + "format": "date-time" + }, + "processingStatus": { + "description": "The processing status of the query.", + "type": "string", + "enum": [ + "CANCELLED", + "DONE", + "FATAL", + "IN_PROGRESS", + "IN_QUEUE" + ], + "x-docgen-enum-table-extension": [ + { + "value": "CANCELLED", + "description": "The query was cancelled before it began processing." + }, + { + "value": "DONE", + "description": "The query has completed processing." + }, + { + "value": "FATAL", + "description": "The query was aborted due to a fatal error." + }, + { + "value": "IN_PROGRESS", + "description": "The query is being processed." + }, + { + "value": "IN_QUEUE", + "description": "The query has not yet started processing. It may be waiting for another `IN_PROGRESS` query." + } + ] + }, + "processingStartTime": { + "description": "The date and time when the query processing started, in ISO 8601 date time format.", + "type": "string", + "format": "date-time" + }, + "processingEndTime": { + "description": "The date and time when the query processing completed, in ISO 8601 date time format.", + "type": "string", + "format": "date-time" + }, + "dataDocumentId": { + "description": "The data document identifier. This identifier is only present when there is data available as a result of the query. This identifier is unique only in combination with a selling partner account ID. Pass this identifier into the `getDocument` operation to get the information required to retrieve the data document's contents.", + "type": "string" + }, + "errorDocumentId": { + "description": "The error document identifier. This identifier is only present when an error occurs during query processing. This identifier is unique only in combination with a selling partner account ID. Pass this identifier into the `getDocument` operation to get the information required to retrieve the error document's contents.", + "type": "string" + }, + "pagination": { + "type": "object", + "description": "When a query produces results that are not included in the data document, pagination occurs. This means the results are divided into pages. To retrieve the next page, you must pass a `CreateQuerySpecification` object with `paginationToken` set to this object's `nextToken` and with `query` set to this object's `query` in the subsequent `createQuery` request. When there are no more pages to fetch, the `nextToken` field will be absent.", + "properties": { + "nextToken": { + "type": "string", + "description": "A token that can be used to fetch the next page of results." + } + } + } + } + }, + "QueryList": { + "type": "array", + "description": "A list of queries.", + "items": { + "$ref": "#/definitions/Query" + } + }, + "CreateQuerySpecification": { + "type": "object", + "description": "Information required to create the query.", + "required": [ + "query" + ], + "properties": { + "query": { + "description": "The GraphQL query to submit. A query must be at most 8000 characters after unnecessary whitespace is removed.", + "type": "string" + }, + "paginationToken":{ + "description": "A token to fetch a certain page of query results when there are multiple pages of query results available. The value of this token must be fetched from the `pagination.nextToken` field of the `Query` object, and the `query` field for this object must also be set to the `query` field of the same `Query` object. A `Query` object can be retrieved from either the `getQueries` or `getQuery` operation. In the absence of this token value, the first page of query results will be requested.", + "type": "string" + } + } + }, + "CreateQueryResponse": { + "type": "object", + "description": "The response for the `createQuery` operation.", + "required": [ + "queryId" + ], + "properties": { + "queryId": { + "description": "The identifier for the query. This identifier is unique only in combination with a selling partner account ID.", + "type": "string" + } + } + }, + "GetQueriesResponse": { + "type": "object", + "description": "The response for the `getQueries` operation.", + "required": [ + "queries" + ], + "properties": { + "queries": { + "description": "The Data Kiosk queries.", + "$ref": "#/definitions/QueryList" + }, + "pagination": { + "type": "object", + "description": "When a request has results that are not included in this response, pagination occurs. This means the results are divided into pages. To retrieve the next page, you must pass the `nextToken` as the `paginationToken` query parameter in the subsequent `getQueries` request. All other parameters must be provided with the same values that were provided with the request that generated this token, with the exception of `pageSize` which can be modified between calls to `getQueries`. When there are no more pages to fetch, the `nextToken` field will be absent.", + "properties": { + "nextToken": { + "type": "string", + "description": "A token that can be used to fetch the next page of results." + } + } + } + } + }, + "GetDocumentResponse": { + "type": "object", + "description": "The response for the `getDocument` operation.", + "required": [ + "documentId", + "documentUrl" + ], + "properties": { + "documentId": { + "description": "The identifier for the Data Kiosk document. This identifier is unique only in combination with a selling partner account ID.", + "type": "string" + }, + "documentUrl": { + "description": "A presigned URL that can be used to retrieve the Data Kiosk document. This URL expires after 5 minutes. If the Data Kiosk document is compressed, the `Content-Encoding` header will indicate the compression algorithm.\n\n**Note:** Most HTTP clients are capable of automatically decompressing downloaded files based on the `Content-Encoding` header.", + "type": "string" + } + } + } + }, + "basePath": "/" +} diff --git a/schemas/notifications/DataKioskQueryProcessingFinishedNotification.json b/schemas/notifications/DataKioskQueryProcessingFinishedNotification.json new file mode 100644 index 000000000..dd293c099 --- /dev/null +++ b/schemas/notifications/DataKioskQueryProcessingFinishedNotification.json @@ -0,0 +1,22 @@ +{ + "notificationVersion": "2023-11-15", + "notificationType": "DATA_KIOSK_QUERY_PROCESSING_FINISHED", + "payloadVersion": "2023-11-15", + "eventTime": "2023-12-23T21:30:13.713Z", + "payload": { + "accountId": "amzn1.merchant.o.A21CXK3C4ERTY8", + "queryId": "54517018502", + "query": "query MyQuery{salesAndTrafficByDate(startDate:\"2023-05-01\" endDate:\"2023-06-01\" aggregateBy:DAY){marketplaceId startDate endDate sales{unitsOrdered}traffic{pageViews}}}", + "processingStatus": "DONE", + "dataDocumentId": "amzn1.tortuga.3.edbcd0d8-3434-8222-1234-52ad8ade1208.REP4567URI9BMZ", + "pagination": { + "nextToken": "AAMA-EFRSURBSGhKZlpVSWVwOW96aU1xa2p6amVJdGp1YlZxMndOelFXa2hydStrUjZvVmFRRWVINldMNnFUVz" + } + }, + "notificationMetadata": { + "applicationId": "amzn1.sellerapps.app.aacccfff-4455-4b7c-4422-664ecacdd336", + "subscriptionId": "subscription-id-d0e9e693-c3ad-4373-979f-ed4ec98dd746", + "publishTime": "2023-12-23T21:30:16.903Z", + "notificationId": "d0e9e693-c3ad-4373-979f-ed4ec98dd746" + } +} \ No newline at end of file From 33f869439cdfd1a53cc6006c019c6ca05e0152b0 Mon Sep 17 00:00:00 2001 From: Jack Evoniuk Date: Wed, 15 Nov 2023 09:25:36 -0800 Subject: [PATCH 014/340] Update Data Kiosk notification schema --- ...skQueryProcessingFinishedNotification.json | 266 ++++++++++++++++-- 1 file changed, 248 insertions(+), 18 deletions(-) diff --git a/schemas/notifications/DataKioskQueryProcessingFinishedNotification.json b/schemas/notifications/DataKioskQueryProcessingFinishedNotification.json index dd293c099..d3891aad7 100644 --- a/schemas/notifications/DataKioskQueryProcessingFinishedNotification.json +++ b/schemas/notifications/DataKioskQueryProcessingFinishedNotification.json @@ -1,22 +1,252 @@ { - "notificationVersion": "2023-11-15", - "notificationType": "DATA_KIOSK_QUERY_PROCESSING_FINISHED", - "payloadVersion": "2023-11-15", - "eventTime": "2023-12-23T21:30:13.713Z", - "payload": { - "accountId": "amzn1.merchant.o.A21CXK3C4ERTY8", - "queryId": "54517018502", - "query": "query MyQuery{salesAndTrafficByDate(startDate:\"2023-05-01\" endDate:\"2023-06-01\" aggregateBy:DAY){marketplaceId startDate endDate sales{unitsOrdered}traffic{pageViews}}}", - "processingStatus": "DONE", - "dataDocumentId": "amzn1.tortuga.3.edbcd0d8-3434-8222-1234-52ad8ade1208.REP4567URI9BMZ", - "pagination": { - "nextToken": "AAMA-EFRSURBSGhKZlpVSWVwOW96aU1xa2p6amVJdGp1YlZxMndOelFXa2hydStrUjZvVmFRRWVINldMNnFUVz" + "$schema": "http://json-schema.org/draft-07/schema", + "type": "object", + "title": "Data Kiosk Query Processing Finished Notification.", + "description": "This notification is delivered when a Data Kiosk query finishes processing.", + "examples": [ + { + "notificationVersion": "2023-11-15", + "notificationType": "DATA_KIOSK_QUERY_PROCESSING_FINISHED", + "payloadVersion": "2023-11-15", + "eventTime": "2023-12-23T21:30:13.713Z", + "payload": { + "accountId": "amzn1.merchant.o.A21CXK3C4ERTY8", + "queryId": "54517018502", + "query": "query MyQuery{salesAndTrafficByDate(startDate:\"2023-05-01\" endDate:\"2023-06-01\" aggregateBy:DAY){marketplaceId startDate endDate sales{unitsOrdered}traffic{pageViews}}}", + "processingStatus": "DONE", + "dataDocumentId": "amzn1.tortuga.3.edbcd0d8-3434-8222-1234-52ad8ade1208.REP4567URI9BMZ", + "pagination": { + "nextToken": "AAMA-EFRSURBSGhKZlpVSWVwOW96aU1xa2p6amVJdGp1YlZxMndOelFXa2hydStrUjZvVmFRRWVINldMNnFUVz" + } + }, + "notificationMetadata": { + "applicationId": "amzn1.sellerapps.app.aacccfff-4455-4b7c-4422-664ecacdd336", + "subscriptionId": "subscription-id-d0e9e693-c3ad-4373-979f-ed4ec98dd746", + "publishTime": "2023-12-23T21:30:16.903Z", + "notificationId": "d0e9e693-c3ad-4373-979f-ed4ec98dd746" + } + } + ], + "required": [ + "notificationVersion", + "notificationType", + "payloadVersion", + "eventTime", + "payload", + "notificationMetadata" + ], + "properties": { + "notificationVersion": { + "$id": "#/properties/notificationVersion", + "type": "string", + "description": "The notification version.", + "examples": [ + "2023-11-15" + ] + }, + "notificationType": { + "$id": "#/properties/notificationType", + "type": "string", + "description": "The notification type.", + "examples": [ + "DATA_KIOSK_QUERY_PROCESSING_FINISHED" + ] + }, + "payloadVersion": { + "$id": "#/properties/payloadVersion", + "type": "string", + "description": "The payload version of the notification.", + "examples": [ + "2023-11-15" + ] + }, + "eventTime": { + "$id": "#/properties/eventTime", + "type": "string", + "description": "The time the notification was sent in ISO 8601 format.", + "examples": [ + "2023-12-23T21:30:13.713Z" + ] + }, + "payload": { + "$id": "#/properties/payload", + "type": "object", + "description": "The Data Kiosk query processing notification payload.", + "examples": [ + { + "accountId": "amzn1.merchant.o.A21CXK3C4ERTY8", + "queryId": "54517018502", + "query": "query MyQuery{salesAndTrafficByDate(startDate:\"2023-05-01\" endDate:\"2023-06-01\" aggregateBy:DAY){marketplaceId startDate endDate sales{unitsOrdered}traffic{pageViews}}}", + "processingStatus": "DONE", + "dataDocumentId": "amzn1.tortuga.3.edbcd0d8-3434-8222-1234-52ad8ade1208.REP4567URI9BMZ", + "pagination": { + "nextToken": "AAMA-EFRSURBSGhKZlpVSWVwOW96aU1xa2p6amVJdGp1YlZxMndOelFXa2hydStrUjZvVmFRRWVINldMNnFUVz" + } + }, + { + "accountId": "amzn1.merchant.o.A21CXK3C4ERTY8", + "queryId": "54517018502", + "query": "query MyQuery{salesAndTrafficByDate(startDate:\"2023-05-01\" endDate:\"2023-06-01\" aggregateBy:DAY){marketplaceId startDate endDate sales{unitsOrdered}traffic{pageViews}}}", + "processingStatus": "DONE", + "dataDocumentId": "amzn1.tortuga.3.edbcd0d8-3434-8222-1234-52ad8ade1208.REP4567URI9BMZ" + }, + { + "accountId": "amzn1.merchant.o.A21CXK3C4ERTY8", + "queryId": "54517018502", + "query": "query MyQuery{salesAndTrafficByDate(startDate:\"2023-05-01\" endDate:\"2023-06-01\" aggregateBy:DAY){marketplaceId startDate endDate sales{unitsOrdered}traffic{pageViews}}}", + "processingStatus": "DONE" + }, + { + "accountId": "amzn1.merchant.o.A21CXK3C4ERTY8", + "queryId": "54517018502", + "query": "query MyQuery{salesAndTrafficByDate(startDate:\"2023-05-01\" endDate:\"2023-06-01\" aggregateBy:DAY){marketplaceId startDate endDate sales{unitsOrdered}traffic{pageViews}}}", + "processingStatus": "CANCELLED" + }, + { + "accountId": "amzn1.merchant.o.A21CXK3C4ERTY8", + "queryId": "54517018502", + "query": "query MyQuery{salesAndTrafficByDate(startDate:\"2023-05-01\" endDate:\"2023-06-01\" aggregateBy:DAY){marketplaceId startDate endDate sales{unitsOrdered}traffic{pageViews}}}", + "processingStatus": "FATAL", + "errorDocumentId": "amzn1.tortuga.3.edbcd0d8-3434-8222-1234-52ad8ade1208.REP4567URI9BMZ" + } + ], + "required": [ + "accountId", + "queryId", + "query", + "processingStatus" + ], + "properties": { + "accountId": { + "$id": "#/properties/payload/properties/accountId", + "type": "string", + "description": "The merchant customer identifier or vendor group identifier of the selling partner account on whose behalf the query was submitted.", + "examples": [ + "amzn1.merchant.o.A21CXK3C4ERTY8", + "amzn1.vg.6213651" + ] + }, + "queryId": { + "$id": "#/properties/payload/properties/queryId", + "type": "string", + "description": "The query identifier. This identifier is unique only in combination with the `accountId`.", + "examples": [ + "54517018502" + ] + }, + "query": { + "$id": "#/properties/payload/properties/query", + "type": "string", + "description": "The submitted query.", + "examples": [ + "query MyQuery{salesAndTrafficByDate(startDate:\"2023-05-01\" endDate:\"2023-06-01\" aggregateBy:DAY){marketplaceId startDate endDate sales{unitsOrdered}traffic{pageViews}}}" + ] + }, + "processingStatus": { + "$id": "#/properties/payload/properties/processingStatus", + "type": "string", + "description": "The processing status of the query.", + "examples": [ + "CANCELLED", + "DONE", + "FATAL" + ], + "enum": [ + "CANCELLED", + "DONE", + "FATAL" + ] + }, + "dataDocumentId": { + "$id": "#/properties/payload/properties/dataDocumentId", + "type": "string", + "description": "The data document identifier. This document identifier is only present when there is data available as a result of the query. This identifier is unique only in combination with the `accountId`. Pass this identifier into the `getDocument` operation to get the information required to retrieve the data document's contents.", + "examples": [ + "amzn1.tortuga.3.edbcd0d8-3434-8222-1234-52ad8ade1208.REP4567URI9BMZ" + ] + }, + "errorDocumentId": { + "$id": "#/properties/payload/properties/errorDocumentId", + "type": "string", + "description": "The error document identifier. This document identifier is only present when an error occurs during query processing. This identifier is unique only in combination with the `accountId`. Pass this identifier into the `getDocument` operation to get the information required to retrieve the error document's contents.", + "examples": [ + "amzn1.tortuga.3.edbcd0d8-3434-8222-1234-52ad8ade1208.REP4567URI9BMZ" + ] + }, + "pagination": { + "$id": "#/properties/payload/properties/pagination", + "type": "object", + "description": "When a query produces results that are not included in the data document, pagination occurs. This means that results are divided into pages. To retrieve the next page, you must pass a `CreateQuerySpecification` object with `paginationToken` set to this object's `nextToken` and with `query` set to this object's `query` in the subsequent `createQuery` request. When there are no more pages to fetch, the `nextToken` field will be absent.", + "examples": [ + { + "nextToken": "AAMA-EFRSURBSGhKZlpVSWVwOW96aU1xa2p6amVJdGp1YlZxMndOelFXa2hydStrUjZvVmFRRWVINldMNnFUVz" + } + ], + "properties": { + "nextToken": { + "$id": "#/properties/payload/properties/pagination/properties/nextToken", + "type": "string", + "description": "A token that can be used to fetch the next page of results.", + "examples": [ + "AAMA-EFRSURBSGhKZlpVSWVwOW96aU1xa2p6amVJdGp1YlZxMndOelFXa2hydStrUjZvVmFRRWVINldMNnFUVz" + ] + } + } + } + } + }, + "notificationMetadata": { + "$id": "#/properties/notificationMetadata", + "type": "object", + "description": "The notification's metadata.", + "examples": [ + { + "applicationId": "amzn1.sellerapps.app.aacccfff-4455-4b7c-4422-664ecacdd336", + "subscriptionId": "subscription-id-d0e9e693-c3ad-4373-979f-ed4ec98dd746", + "publishTime": "2023-12-23T21:30:16.903Z", + "notificationId": "d0e9e693-c3ad-4373-979f-ed4ec98dd746" + } + ], + "required": [ + "applicationId", + "subscriptionId", + "publishTime", + "notificationId" + ], + "properties": { + "applicationId": { + "$id": "#/properties/notificationMetadata/properties/applicationId", + "type": "string", + "description": "The application identifier.", + "examples": [ + "amzn1.sellerapps.app.aacccfff-4455-4b7c-4422-664ecacdd336" + ] + }, + "subscriptionId": { + "$id": "#/properties/notificationMetadata/properties/subscriptionId", + "type": "string", + "description": "The subscription identifier.", + "examples": [ + "subscription-id-d0e9e693-c3ad-4373-979f-ed4ec98dd746" + ] + }, + "publishTime": { + "$id": "#/properties/notificationMetadata/properties/publishTime", + "type": "string", + "description": "The time the notification was published in ISO 8601 format.", + "examples": [ + "2023-12-23T21:30:16.903Z" + ] + }, + "notificationId": { + "$id": "#/properties/notificationMetadata/properties/notificationId", + "type": "string", + "description": "The notification identifier.", + "examples": [ + "d0e9e693-c3ad-4373-979f-ed4ec98dd746" + ] + } + } } - }, - "notificationMetadata": { - "applicationId": "amzn1.sellerapps.app.aacccfff-4455-4b7c-4422-664ecacdd336", - "subscriptionId": "subscription-id-d0e9e693-c3ad-4373-979f-ed4ec98dd746", - "publishTime": "2023-12-23T21:30:16.903Z", - "notificationId": "d0e9e693-c3ad-4373-979f-ed4ec98dd746" } } \ No newline at end of file From b37dd36221a2974b1f2e4af0d673a043a72410f7 Mon Sep 17 00:00:00 2001 From: Jack Evoniuk Date: Thu, 16 Nov 2023 16:53:21 -0800 Subject: [PATCH 015/340] Add the Sales and Traffic schema for Data Kiosk --- ...alytics_salesAndTraffic_2023_11_15.graphql | 699 ++++++++++++++++++ 1 file changed, 699 insertions(+) create mode 100644 schemas/data-kiosk/analytics_salesAndTraffic_2023_11_15.graphql diff --git a/schemas/data-kiosk/analytics_salesAndTraffic_2023_11_15.graphql b/schemas/data-kiosk/analytics_salesAndTraffic_2023_11_15.graphql new file mode 100644 index 000000000..9ecb45e55 --- /dev/null +++ b/schemas/data-kiosk/analytics_salesAndTraffic_2023_11_15.graphql @@ -0,0 +1,699 @@ +""" +This directive specifies the retention duration of a query containing a +particular field. When a query contains multiple fields with different +retentions, the shortest (minimum) retention is applied to the query. The +retention of a query's resulting documents always matches the retention of the query. +""" +directive @resultRetention( + """An ISO 8601 duration.""" + duration: String! +) on FIELD_DEFINITION + +"""Monetary amount with the corresponding currency code.""" +type Amount { + """The amount.""" + amount: Float! + + """Currency code of the amount in ISO 4217 format.""" + currencyCode: String! +} + +""" +A root type for Analytics Sales and Traffic queries version 2023_11_15. +""" +type Analytics_SalesAndTraffic_2023_11_15 { + """ + A query to retrieve sales and traffic data for the seller's account aggregated by ASIN. + """ + salesAndTrafficByAsin( + """Determines how the sales and traffic data should be aggregated.""" + aggregateBy: AsinGranularity! + + """ + The end date of the sales and traffic data to retrieve. If a date + granularity is specified and the provided end date occurs mid-week or + mid-month, the preceding Saturday for WEEK date granularity or the last day + of the previous month for MONTH date granularity will be used instead. + """ + endDate: Date! + + """ + The marketplace identifiers to retrieve sales and traffic data for. If + omitted, sales and traffic data for all applicable marketplaces will be retrieved. + """ + marketplaceIds: [String] + + """ + The start date of the sales and traffic data to retrieve. The start date + must be no more than two years ago. If a date granularity is specified and + the provided start date occurs mid-week or mid-month, the following Sunday + for WEEK date granularity or the first day of the next month for MONTH date + granularity will be used instead. + """ + startDate: Date! + ): [SalesAndTrafficByAsin] + + """ + A query to retrieve sales and traffic data for the seller's account aggregated by date. + """ + salesAndTrafficByDate( + """Determines how the sales and traffic data should be aggregated.""" + aggregateBy: DateGranularity! + + """ + The end date of the sales and traffic data to retrieve. If the provided end + date occurs mid-week or mid-month, the preceding Saturday for WEEK date + granularity or the last day of the previous month for MONTH date granularity + will be used instead. + """ + endDate: Date! + + """ + The marketplace identifiers to retrieve sales and traffic data for. If + omitted, sales and traffic data for all applicable marketplaces will be retrieved. + """ + marketplaceIds: [String] + + """ + The start date of the sales and traffic data to retrieve. The start date + must be no more than two years ago. If the provided start date occurs + mid-week or mid-month, the following Sunday for WEEK date granularity or the + first day of the next month for MONTH date granularity will be used instead. + """ + startDate: Date! + ): [SalesAndTrafficByDate] +} + +"""The sales data for the seller's account aggregated by ASIN.""" +type ByAsinSales { + """ + The amount of ordered product sales, calculated by multiplying the price of + products and the number of units sold for the selected time period. + """ + orderedProductSales: Amount! + + """ + The amount of ordered product sales to Amazon Business customers, calculated + by multiplying the price of products and the number of units sold for the + selected time period. Note: This field is only populated when the seller is a B2B seller. + """ + orderedProductSalesB2B: Amount + + """The number of items that were ordered for the selected time period.""" + totalOrderItems: Long! + + """ + The number of items that were ordered by Amazon Business customers for the + selected time period. Note: This field is only populated when the seller is a B2B seller. + """ + totalOrderItemsB2B: Long + + """The number of units ordered.""" + unitsOrdered: Long! + + """ + The number of units ordered by Amazon Business customers. Note: This field is + only populated when the seller is a B2B seller. + """ + unitsOrderedB2B: Long +} + +"""The traffic data for the seller's account aggregated by ASIN.""" +type ByAsinTraffic { + """ + Browser page views are the number of times a user visited your Amazon.com browser pages for the selected time period. + """ + browserPageViews: Long! + + """ + Browser B2B page views are the number of times an Amazon Business customer + visited your Amazon.com browser pages for the selected time period. Note: This + field is only populated when the seller is a B2B seller. + """ + browserPageViewsB2B: Long + + """ + The percentage of browser page views that a particular SKU/ASIN receives + relative to the total number of browser page views for all products. + """ + browserPageViewsPercentage: Float! + + """ + The percentage of browser views by Amazon Business customers that a particular + SKU/ASIN receives relative to the total number of mobile page views by Amazon + Business customers for all products. Note: This field is only populated when + the seller is a B2B seller. + """ + browserPageViewsPercentageB2B: Float + + """ + The percentage of browser sessions that contain at least one page view for a + particular SKU/ASIN relative to the total number of browser sessions for all products. + """ + browserSessionPercentage: Float! + + """ + The percentage of browser sessions that contain at least one page view by an + Amazon Business customer for a particular SKU/ASIN relative to the total + number of browser sessions by Amazon Business customers for all products. + Note: This field is only populated when the seller is a B2B seller. + """ + browserSessionPercentageB2B: Float + + """ + Browser sessions are visits to your Amazon.com browser pages by a user. All + browser activity within a 24-hour period is considered a browser session. For + example, if a user visits your pages using a browser multiple times within a + 24 hour period it is counted as a single browser session. + """ + browserSessions: Long! + + """ + Browser B2B sessions are visits to your Amazon.com browser pages by an Amazon + Business customer. All activity within a 24-hour period is considered a + browser session. For example, if an Amazon Business customer visits your pages + using browser multiple times within a 24 hour period it is counted as a single + session. Note: This field is only populated when the seller is a B2B seller. + """ + browserSessionsB2B: Long + + """ + The percentage of page views where the buy box (the add to shopping cart link) + appeared on the page for customers to add your product to their cart. + """ + buyBoxPercentage: Float! + + """ + The percentage of page views by Amazon Business customers where the buy box + (the add to shopping cart link) appeared on the page for customers to add your + product to their cart. Note: This field is only populated when the seller is a B2B seller. + """ + buyBoxPercentageB2B: Float + + """ + Mobile app page views are the number of times a user visited your Amazon.com + mobile app pages for the selected time period. + """ + mobileAppPageViews: Long! + + """ + Mobile app B2B page views are the number of times an Amazon Business customer + visited your Amazon.com mobile app pages for the selected time period. Note: + This field is only populated when the seller is a B2B seller. + """ + mobileAppPageViewsB2B: Long + + """ + The percentage of mobile app page views that a particular SKU/ASIN receives + relative to the total number of mobile app page views for all products. + """ + mobileAppPageViewsPercentage: Float! + + """ + The percentage of mobile page views by Amazon Business customers that a + particular SKU/ASIN receives relative to the total number of mobile page views + by Amazon Business customers for all products. Note: This field is only + populated when the seller is a B2B seller. + """ + mobileAppPageViewsPercentageB2B: Float + + """ + The percentage of mobile app sessions that contain at least one page view for + a particular SKU/ASIN relative to the total number of mobile app sessions for all products. + """ + mobileAppSessionPercentage: Float! + + """ + The percentage of mobile app sessions that contain at least one page view by + an Amazon Business customer for a particular SKU/ASIN relative to the total + number of mobile app sessions by Amazon Business customers for all products. + Note: This field is only populated when the seller is a B2B seller. + """ + mobileAppSessionPercentageB2B: Float + + """ + Mobile app sessions are visits to your Amazon.com mobile app pages by a user. + All mobile app activity within a 24-hour period is considered a mobile app + session. For example, if a user visits your pages using a mobile app multiple + times within a 24 hour period it is counted as a single mobile app session. + """ + mobileAppSessions: Long! + + """ + Mobile app B2B sessions are visits to your Amazon.com mobile app pages by an + Amazon Business customer. All activity within a 24-hour period is considered a + mobile app session. For example, if an Amazon Business customer visits your + pages using mobile app multiple times within a 24 hour period it is counted as + a single session. Note: This field is only populated when the seller is a B2B seller. + """ + mobileAppSessionsB2B: Long + + """ + Page views are the number of times a user visited your Amazon.com browser or + mobile app pages for the selected time period. It is calculated as the sum of + browserPageViews and mobileAppPageViews. + """ + pageViews: Long! + + """ + B2B page views are the number of times an Amazon Business customer visited + your Amazon.com pages using browser or mobile app for the selected time + period. Note: This field is only populated when the seller is a B2B seller. + """ + pageViewsB2B: Long + + """ + The percentage of browser and mobile app page views that a particular SKU/ASIN + receives relative to the total number of browser and mobile app page views for all products. + """ + pageViewsPercentage: Float! + + """ + The percentage of page views by Amazon Business customers that a particular + SKU/ASIN receives relative to the total number of page views by Amazon + Business customers for all products. Note: This field is only populated when + the seller is a B2B seller. + """ + pageViewsPercentageB2B: Float + + """ + The percentage of sessions that contain at least one page view for a + particular SKU/ASIN relative to the total number of sessions for all products. + """ + sessionPercentage: Float! + + """ + The percentage of sessions that contain at least one page view by an Amazon + Business customer for a particular SKU/ASIN relative to the total number of + sessions by Amazon Business customers for all products. Note: This field is + only populated when the seller is a B2B seller. + """ + sessionPercentageB2B: Float + + """ + Sessions are visits to your Amazon.com browser or mobile app pages by a user. + All browser and mobile app activity within a 24-hour period is considered a + session. It is calculated as the sum of browserSessions and mobileAppSessions. + """ + sessions: Long! + + """ + B2B sessions are visits to your Amazon.com pages using browser or mobile app + by an Amazon Business customer. All activity within a 24-hour period is + considered a session. For example, if an Amazon Business customer visits your + pages multiple times using mobile app or browser within a 24 hour period it is + counted as a single session. Note: This field is only populated when the + seller is a B2B seller. + """ + sessionsB2B: Long + + """ + The percentage conversion metric indicating how many units were purchased + relative to the number of people who viewed the products, calculated by + dividing unitsOrdered by sessions. + """ + unitSessionPercentage: Float! + + """ + The percentage conversion metric indicating how many units were purchased by + Amazon Business customers relative to the number of Amazon Business customers + who viewed the products, calculated by dividing unitsOrderedB2B by sessions. + Note: This field is only populated when the seller is a B2B seller. + """ + unitSessionPercentageB2B: Float +} + +"""The sales data for the seller's account aggregated by date.""" +type ByDateSales { + """ + The average ordered product sales, calculated by dividing orderedProductSales + by totalOrderItems for the selected time period. + """ + averageSalesPerOrderItem: Amount! + + """ + The average ordered product sales to Amazon Business customers, calculated by + dividing orderedProductSalesB2B by totalOrderItemsB2B for the selected time + period. Note: This field is only populated when the seller is a B2B seller. + """ + averageSalesPerOrderItemB2B: Amount + + """ + The average price of the units sold in the selected time period, calculated by + dividing the orderedProductSales by unitsOrdered for the selected time period. + """ + averageSellingPrice: Amount! + + """ + The average price of the units sold to Amazon Business customers, calculated + by dividing the orderedProductSalesB2B by unitsOrderedB2B for the selected + time period. Note: This field is only populated when the seller is a B2B seller. + """ + averageSellingPriceB2B: Amount + + """ + The average number of units in each order item for the selected time period. + """ + averageUnitsPerOrderItem: Float! + + """ + The average number of units in each order item ordered by Amazon Business + customers for the selected time period. Note: This field is only populated + when the seller is a B2B seller. + """ + averageUnitsPerOrderItemB2B: Float + + """Monetary amount of filed A-to-z guarantee claims.""" + claimsAmount: Amount! + + """The number of A-to-z guarantee claims granted.""" + claimsGranted: Long! + + """ + The amount of ordered product sales, calculated by multiplying the price of + products and the number of units sold for the selected time period. + """ + orderedProductSales: Amount! + + """ + The amount of ordered product sales to Amazon Business customers, calculated + by multiplying the price of products and the number of units sold for the + selected time period. + """ + orderedProductSalesB2B: Amount + + """The number of orders shipped in the selected time period.""" + ordersShipped: Long! + + """ + The percentage conversion metric indicating how many orders were refunded by + the seller, calculated by dividing unitsOrdered by unitsRefunded in the + selected time period. + """ + refundRate: Float! + + """ + The amount of ordered product sales shipped for the selected time period. + """ + shippedProductSales: Amount! + + """ + The number of items that were ordered for the selected time period. Example: + For an order containing 2 copies of book A and 3 copies of book B, the number + of orders is 1, the number of order items is 2 (book A and book B), and the + number of units is 5 (2 + 3). + """ + totalOrderItems: Long! + + """ + The number of items that were ordered by Amazon Business customers for the + selected time period. Example: For an order containing 2 copies of book A and + 3 copies of book B, the number of orders is 1, the number of order items is 2 + (book A and book B), and the number of units is 5 (2 + 3). + """ + totalOrderItemsB2B: Long + + """ + The number of units ordered for the selected time period. Example: For an + order containing 2 copies of book A and 3 copies of book B, the number of + orders is 1, the number of order items is 2 (book A and book B), and the + number of units is 5 (2 + 3). + """ + unitsOrdered: Long! + + """ + The number of units ordered by Amazon Business customers for the selected time + period. Example: For an order containing 2 copies of book A and 3 copies of + book B, the number of orders is 1, the number of order items is 2 (book A and + book B), and the number of units is 5 (2 + 3). + """ + unitsOrderedB2B: Long + + """The number of units refunded in the selected time period.""" + unitsRefunded: Long! + + """The number of units shipped in the selected time period.""" + unitsShipped: Long! +} + +"""The traffic data for the seller's account aggregated by date.""" +type ByDateTraffic { + """ + The average number of offers listed for sale in the selected time period. It + is calculated from the total number of offers and the total number of days in + the selected time period. + """ + averageOfferCount: Long! + + """ + The average number of parent items listed for sale in the selected time period. + """ + averageParentItems: Long! + + """ + Browser page views are the number of times a user visited your Amazon.com browser pages for the selected time period. + """ + browserPageViews: Long! + + """ + Browser B2B page views are the number of times an Amazon Business customer + visited your Amazon.com browser pages for the selected time period. Note: This + field is only populated when the seller is a B2B seller. + """ + browserPageViewsB2B: Long + + """ + Browser sessions are visits to your Amazon.com browser pages by a user. All + browser activity within a 24-hour period is considered a browser session. For + example, if a user visits your pages using a browser multiple times within a + 24 hour period it is counted as a single browser session. + """ + browserSessions: Long! + + """ + Browser B2B sessions are visits to your Amazon.com browser pages by an Amazon + Business customer. All activity within a 24-hour period is considered a + browser session. For example, if an Amazon Business customer visits your pages + using browser multiple times within a 24 hour period it is counted as a single + session. Note: This field is only populated when the seller is a B2B seller. + """ + browserSessionsB2B: Long + + """ + The percentage of page views where the buy box (the add to shopping cart link) + appeared on the page for customers to add your product to their cart. + """ + buyBoxPercentage: Float! + + """ + The percentage of page views by Amazon Business customers where the buy box + (the add to shopping cart link) appeared on the page for customers to add your + product to their cart. Note: This field is only populated when the seller is a B2B seller. + """ + buyBoxPercentageB2B: Float + + """ + The number of times customers left feedback in the selected time period. + """ + feedbackReceived: Long! + + """ + Mobile app page views are the number of times a user visited your Amazon.com + mobile app pages for the selected time period. + """ + mobileAppPageViews: Long! + + """ + Mobile app B2B page views are the number of times an Amazon Business customer + visited your Amazon.com mobile app pages for the selected time period. Note: + This field is only populated when the seller is a B2B seller. + """ + mobileAppPageViewsB2B: Long + + """ + Mobile app sessions are visits to your Amazon.com mobile app pages by a user. + All mobile app activity within a 24-hour period is considered a mobile app + session. For example, if a user visits your pages using a mobile app multiple + times within a 24 hour period it is counted as a single mobile app session. + """ + mobileAppSessions: Long! + + """ + Mobile app B2B sessions are visits to your Amazon.com mobile app pages by an + Amazon Business customer. All activity within a 24-hour period is considered a + mobile app session. For example, if an Amazon Business customer visits your + pages using mobile app multiple times within a 24 hour period it is counted as + a single session. Note: This field is only populated when the seller is a B2B seller. + """ + mobileAppSessionsB2B: Long + + """ + The number of times customers left negative feedback in the selected time period. + """ + negativeFeedbackReceived: Long! + + """ + The percentage conversion metric indicating how many order items were + generated relative to the number of people who viewed the products. + """ + orderItemSessionPercentage: Float! + + """ + The percentage conversion metric indicating how many order items were + generated by Amazon Business customers relative to the number of Amazon + Business customers who viewed the products. Note: This field is only populated + when the seller is a B2B seller. + """ + orderItemSessionPercentageB2B: Float + + """ + Page views are the number of times a user visited your Amazon.com browser or + mobile app pages for the selected time period. It is calculated as the sum of + browserPageViews and mobileAppPageViews. + """ + pageViews: Long! + + """ + B2B page views are the number of times an Amazon Business customer visited + your Amazon.com pages using browser or mobile app for the selected time + period. Note: This field is only populated when the seller is a B2B seller. + """ + pageViewsB2B: Long + + """ + The negative feedback rate is the number of orders that have received negative + feedback divided by the number of orders in the selected time period. + """ + receivedNegativeFeedbackRate: Float! + + """ + Sessions are visits to your Amazon.com browser or mobile app pages by a user. + All browser and mobile app activity within a 24-hour period is considered a + session. It is calculated as the sum of browserSessions and mobileAppSessions. + """ + sessions: Long! + + """ + B2B sessions are visits to your Amazon.com pages using browser or mobile app + by an Amazon Business customer. All activity within a 24-hour period is + considered a session. For example, if an Amazon Business customer visits your + pages multiple times using mobile app or browser within a 24 hour period it is + counted as a single session. Note: This field is only populated when the + seller is a B2B seller. + """ + sessionsB2B: Long + + """ + The percentage conversion metric indicating how many units were purchased + relative to the number of people who viewed the products. + """ + unitSessionPercentage: Float! + + """ + The percentage conversion metric indicating how many units were purchased by + Amazon Business customers relative to number of Amazon Business customers who + viewed the products. Note: This field is only populated when the seller is a B2B seller. + """ + unitSessionPercentageB2B: Float +} + +"""A root type for queries""" +type Query { + """Analytics Sales and Traffic queries version 2023_11_15.""" + analytics_salesAndTraffic_2023_11_15: Analytics_SalesAndTraffic_2023_11_15 +} + +""" +The sales and traffic data for the seller's account aggregated by ASIN. +""" +type SalesAndTrafficByAsin { + """ + The Amazon Standard Identification Number of the child product. Child products + are unique, sellable products that are related in our catalog to a single, + non-sellable parent product. Note: This field is only present when ASIN + aggregation is CHILD or SKU. + """ + childAsin: String + + """The end date of the period of the aggregated data.""" + endDate: Date! + + """The marketplace identifier of the sales and traffic data.""" + marketplaceId: String! + + """ + The Amazon Standard Identification Number of the parent product. A parent + product appears in our catalog as a non-buyable, generic identifier for a + product that has buyable variations (child products). + """ + parentAsin: String! + + """ + The sales data for the parentAsin/childAsin/sku within the specified date range. + """ + sales: ByAsinSales! + + """ + The Stock Keeping Unit of the product. The SKU is a seller specific product + identifier. Note: This field is only present when ASIN aggregation is SKU. + """ + sku: String + + """The start date of the period of the aggregated data.""" + startDate: Date! + + """ + The traffic data for the parentAsin/childAsin/sku within the specified date range. + """ + traffic: ByAsinTraffic! +} + +""" +The sales and traffic data for the seller's account aggregated by date. +""" +type SalesAndTrafficByDate { + """The end date of the sales and traffic data.""" + endDate: Date! + + """The marketplace identifier of the sales and traffic data.""" + marketplaceId: String! + + """The sales data for the seller's account.""" + sales: ByDateSales! + + """The start date of the sales and traffic data.""" + startDate: Date! + + """The traffic data for the seller's account.""" + traffic: ByDateTraffic! +} + +"""The ASIN granularity used in aggregation.""" +enum AsinGranularity { + """Sales and traffic data is aggregated by child ASIN.""" + CHILD + + """Sales and traffic data is aggregated by parent ASIN.""" + PARENT + + """Sales and traffic data is aggregated by sku.""" + SKU +} + +"""The date granularity used in aggregation.""" +enum DateGranularity { + """Sales and traffic data is aggregated by day.""" + DAY + + """Sales and traffic data is aggregated by month.""" + MONTH + + """Sales and traffic data is aggregated by week.""" + WEEK +} + +"""Date""" +scalar Date + +"""Long""" +scalar Long \ No newline at end of file From 82a3cee50feb15cb0f805a83803f844e25410463 Mon Sep 17 00:00:00 2001 From: Gibran Waldron Date: Wed, 22 Nov 2023 09:09:36 -0800 Subject: [PATCH 016/340] Add throttle rate for getCompetitiveSummary. --- .../productPricing_2022-05-01.json | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/models/product-pricing-api-model/productPricing_2022-05-01.json b/models/product-pricing-api-model/productPricing_2022-05-01.json index 7083491ab..eded62880 100644 --- a/models/product-pricing-api-model/productPricing_2022-05-01.json +++ b/models/product-pricing-api-model/productPricing_2022-05-01.json @@ -522,7 +522,7 @@ "tags": [ "productPricing" ], - "description": "Returns the competitive summary response including featured buying options for the ASIN and `marketplaceId` combination", + "description": "Returns the competitive summary response including featured buying options for the ASIN and `marketplaceId` combination.\n\n**Usage Plan:**\n\n| Rate (requests per second) | Burst |\n| ---- | ---- |\n| 0.033 | 1 |\n\nThe `x-amzn-RateLimit-Limit` response header returns the usage plan rate limits that were applied to the requested operation, when available. The table above indicates the default rate and burst values for this operation. Selling partners whose business demands require higher throughput may see higher rate and burst values than those shown here. For more information, refer to [Usage Plans and Rate Limits in the Selling Partner API](https://developer-docs.amazon.com/sp-api/docs/usage-plans-and-rate-limits-in-the-sp-api).", "operationId": "getCompetitiveSummary", "parameters": [ { @@ -548,7 +548,7 @@ }, "x-amzn-RequestId": { "type": "string", - "description": "The unique request reference identifier." + "description": "Unique request reference identifier." } }, "examples": { @@ -1628,7 +1628,7 @@ }, "details": { "type": "string", - "description": "Additional information that can help the caller understand or fix the issue." + "description": "Additional details that can help the caller understand or fix the issue." } }, "description": "Error response returned when the request is unsuccessful." From 753341e32bef306ac8f0d6da22e5a39dd03b1936 Mon Sep 17 00:00:00 2001 From: Jack Evoniuk Date: Mon, 27 Nov 2023 13:17:31 -0800 Subject: [PATCH 017/340] Remove DS Store --- models/shipping-api-model/.DS_Store | Bin 6148 -> 0 bytes 1 file changed, 0 insertions(+), 0 deletions(-) delete mode 100644 models/shipping-api-model/.DS_Store diff --git a/models/shipping-api-model/.DS_Store b/models/shipping-api-model/.DS_Store deleted file mode 100644 index 06113e51994e88779870da6277b5f089721ddf37..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 6148 zcmeHKO-sW-5Pe&FsEE*`$NYg9{0E`Ln|KL&w%TBo*p@Z{z2&F-W@f3>RK<%FnJKex zcRqHqZ$q{VAWYiX1uzCMq6!X<+3XSVi}qv?ErLPkSm6l^JmMVBy=XTaA_KB_r`TZ5 zom=tuv40yZu~;?tSM8=*Gir(wZ;WhE;RP9P>95hUU(uSOU_?XBaKmwhwOZ$ln9*9( z@~YmFRVq9%cCFc&M%Rq6+9~~0`Wn7TGE2&lJXgv}OU_j>QtIuFKCfV3R`%msuj5+3 zVdM}u(Vxi~a0Z-#UoyZmTV!-%=&dv03^)T@2ITvYPzCddouPg@*yt62IHXyHeYs0W zP7*PX*csA836@H<)DW*2!P03@Vq6}vGqiLBt;~61UX#6Y3pRMB+NbZ3;Vj6f;(i;xnoW Y?TK`VdBo0;7K;B7P#U~(2L6 Date: Thu, 7 Dec 2023 08:19:06 -0800 Subject: [PATCH 018/340] Update shipmentStatusUpdates for vendorDirectFulfillmentShippingV1 model. --- .../vendorDirectFulfillmentShippingV1.json | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/models/vendor-direct-fulfillment-shipping-api-model/vendorDirectFulfillmentShippingV1.json b/models/vendor-direct-fulfillment-shipping-api-model/vendorDirectFulfillmentShippingV1.json index 11c3415d5..f2619ddee 100644 --- a/models/vendor-direct-fulfillment-shipping-api-model/vendorDirectFulfillmentShippingV1.json +++ b/models/vendor-direct-fulfillment-shipping-api-model/vendorDirectFulfillmentShippingV1.json @@ -3030,11 +3030,11 @@ }, "statusCode": { "type": "string", - "description": "Indicates the shipment status code of the package that provides transportation information for Amazon tracking systems and ultimately for the final customer." + "description": "Indicates the shipment status code of the package that provides transportation information for Amazon tracking systems and ultimately for the final customer. For more information, refer to the [Additional Fields Explanation](https://developer-docs.amazon.com/sp-api/docs/vendor-direct-fulfillment-shipping-api-use-case-guide#additional-fields-explanation)." }, "reasonCode": { "type": "string", - "description": "Provides a reason code for the status of the package that will provide additional information about the transportation status." + "description": "Provides a reason code for the status of the package that will provide additional information about the transportation status. For more information, refer to the [Additional Fields Explanation](https://developer-docs.amazon.com/sp-api/docs/vendor-direct-fulfillment-shipping-api-use-case-guide#additional-fields-explanation)." }, "statusDateTime": { "type": "string", From 10ac94bcb16c61f0f8d1d8b99b952bf17d852393 Mon Sep 17 00:00:00 2001 From: Gibran Waldron Date: Thu, 7 Dec 2023 12:26:07 -0800 Subject: [PATCH 019/340] Update shipmentStatusUpdates for the vendor df shipping v2021-12-28 model. --- .../vendorDirectFulfillmentShipping_2021-12-28.json | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/models/vendor-direct-fulfillment-shipping-api-model/vendorDirectFulfillmentShipping_2021-12-28.json b/models/vendor-direct-fulfillment-shipping-api-model/vendorDirectFulfillmentShipping_2021-12-28.json index 8bcdb642a..45b6beb19 100644 --- a/models/vendor-direct-fulfillment-shipping-api-model/vendorDirectFulfillmentShipping_2021-12-28.json +++ b/models/vendor-direct-fulfillment-shipping-api-model/vendorDirectFulfillmentShipping_2021-12-28.json @@ -1810,7 +1810,7 @@ "dynamic": {} } } - } + } }, "definitions": { "PackingSlip": { @@ -2066,11 +2066,11 @@ }, "statusCode": { "type": "string", - "description": "Indicates the shipment status code of the package that provides transportation information for Amazon tracking systems and ultimately for the final customer." + "description": "Indicates the shipment status code of the package that provides transportation information for Amazon tracking systems and ultimately for the final customer. For more information, refer to the [Additional Fields Explanation](https://developer-docs.amazon.com/sp-api/docs/vendor-direct-fulfillment-shipping-api-use-case-guide#additional-fields-explanation)." }, "reasonCode": { "type": "string", - "description": "Provides a reason code for the status of the package that will provide additional information about the transportation status." + "description": "Provides a reason code for the status of the package that will provide additional information about the transportation status. For more information, refer to the [Additional Fields Explanation](https://developer-docs.amazon.com/sp-api/docs/vendor-direct-fulfillment-shipping-api-use-case-guide#additional-fields-explanation)." }, "statusDateTime": { "type": "string", @@ -2646,4 +2646,4 @@ } } } -} \ No newline at end of file +} \ No newline at end of file From 7b1889b3788fef5f80ec452b871d67afe2d5e1ef Mon Sep 17 00:00:00 2001 From: Jack Evoniuk Date: Fri, 8 Dec 2023 10:50:58 -0800 Subject: [PATCH 020/340] Update Product Type Definitions API --- .../definitionsProductTypes_2020-09-01.json | 16 ++++------------ 1 file changed, 4 insertions(+), 12 deletions(-) diff --git a/models/product-type-definitions-api-model/definitionsProductTypes_2020-09-01.json b/models/product-type-definitions-api-model/definitionsProductTypes_2020-09-01.json index e1ed126c2..75fa76c94 100644 --- a/models/product-type-definitions-api-model/definitionsProductTypes_2020-09-01.json +++ b/models/product-type-definitions-api-model/definitionsProductTypes_2020-09-01.json @@ -104,11 +104,7 @@ ] } ], - "productTypeVersion": { - "version": "UHqSqmb4FNUk=", - "latest": true, - "releaseCandidate": false - } + "productTypeVersion": "UHqSqmb4FNUk=" } }, "headers": { @@ -137,11 +133,7 @@ ] } ], - "productTypeVersion": { - "version": "UHqSqmb4FNUk=", - "latest": true, - "releaseCandidate": false - } + "productTypeVersion": "UHqSqmb4FNUk=" } } ] @@ -1128,8 +1120,8 @@ } }, "productTypeVersion": { - "description": "The version details for the Amazon product type.", - "$ref": "#/definitions/ProductTypeVersion" + "description": "Amazon product type version identifier.", + "type": "string" } }, "description": "A list of Amazon product types with definitions available." From 8204e40189bbfa0a2f68d771c1262d938e292880 Mon Sep 17 00:00:00 2001 From: Gibran Waldron Date: Wed, 13 Dec 2023 08:25:45 -0800 Subject: [PATCH 021/340] Notifications API enforcement actions update. --- .../notifications.json | 107 ++++++++++-------- 1 file changed, 59 insertions(+), 48 deletions(-) diff --git a/models/notifications-api-model/notifications.json b/models/notifications-api-model/notifications.json index 0b17158a9..91dc810a8 100644 --- a/models/notifications-api-model/notifications.json +++ b/models/notifications-api-model/notifications.json @@ -1,7 +1,7 @@ { "swagger": "2.0", "info": { - "description": "The Selling Partner API for Notifications lets you subscribe to notifications that are relevant to a selling partner's business. Using this API you can create a destination to receive notifications, subscribe to notifications, delete notification subscriptions, and more.\n\nFor more information, see the [Notifications Use Case Guide](doc:notifications-api-v1-use-case-guide).", + "description": "The Selling Partner API for Notifications lets you subscribe to notifications that are relevant to a selling partner's business. Using this API you can create a destination to receive notifications, subscribe to notifications, delete notification subscriptions, and more.\n\nFor more information, refer to the [Notifications Use Case Guide](https://developer-docs.amazon.com/sp-api/docs/notifications-api-v1-use-case-guide).", "version": "v1", "title": "Selling Partner API for Notifications", "contact": { @@ -29,11 +29,18 @@ "tags": [ "notifications" ], - "description": "Returns information about subscriptions of the specified notification type. You can use this API to get subscription information when you do not have a subscription identifier.\n\n**Usage Plan:**\n\n| Rate (requests per second) | Burst |\n| ---- | ---- |\n| 1 | 5 |\n\nThe `x-amzn-RateLimit-Limit` response header returns the usage plan rate limits that were applied to the requested operation, when available. The table above indicates the default rate and burst values for this operation. Selling partners whose business demands require higher throughput may see higher rate and burst values than those shown here. For more information, see [Usage Plans and Rate Limits in the Selling Partner API](doc:usage-plans-and-rate-limits-in-the-sp-api).", + "description": "Returns information about subscription of the specified notification type and payload version. `payloadVersion` is an optional parameter. When `payloadVersion` is not provided, it will return latest payload version subscription's information. You can use this API to get subscription information when you do not have a subscription identifier.\n\n**Usage Plan:**\n\n| Rate (requests per second) | Burst |\n| ---- | ---- |\n| 1 | 5 |\n\nThe `x-amzn-RateLimit-Limit` response header returns the usage plan rate limits that were applied to the requested operation, when available. The table above indicates the default rate and burst values for this operation. Selling partners whose business demands require higher throughput may observe higher rate and burst values than those shown here. For more information, refer to [Usage Plans and Rate Limits in the Selling Partner API](https://developer-docs.amazon.com/sp-api/docs/usage-plans-and-rate-limits-in-the-sp-api).", "operationId": "getSubscription", "parameters": [ { "$ref": "#/parameters/NotificationType" + }, + { + "name": "payloadVersion", + "in": "query", + "description": "The version of the payload object to be used in the notification.", + "required": false, + "type": "string" } ], "responses": { @@ -220,7 +227,7 @@ "tags": [ "notifications" ], - "description": "Creates a subscription for the specified notification type to be delivered to the specified destination. Before you can subscribe, you must first create the destination by calling the createDestination operation.\n\n**Usage Plan:**\n\n| Rate (requests per second) | Burst |\n| ---- | ---- |\n| 1 | 5 |\n\nThe `x-amzn-RateLimit-Limit` response header returns the usage plan rate limits that were applied to the requested operation, when available. The table above indicates the default rate and burst values for this operation. Selling partners whose business demands require higher throughput may see higher rate and burst values than those shown here. For more information, see [Usage Plans and Rate Limits in the Selling Partner API](doc:usage-plans-and-rate-limits-in-the-sp-api).", + "description": "Creates a subscription for the specified notification type to be delivered to the specified destination. Before you can subscribe, you must first create the destination by calling the `createDestination` operation. In cases where the specified notification type supports multiple payload versions, you can utilize this API to subscribe to a different payload version if you already have an existing subscription for a different payload version.\n\n**Usage Plan:**\n\n| Rate (requests per second) | Burst |\n| ---- | ---- |\n| 1 | 5 |\n\nThe `x-amzn-RateLimit-Limit` response header returns the usage plan rate limits that were applied to the requested operation, when available. The table above indicates the default rate and burst values for this operation. Selling partners whose business demands require higher throughput may observe higher rate and burst values than those shown here. For more information, refer to [Usage Plans and Rate Limits in the Selling Partner API](https://developer-docs.amazon.com/sp-api/docs/usage-plans-and-rate-limits-in-the-sp-api).", "operationId": "createSubscription", "parameters": [ { @@ -425,7 +432,7 @@ "tags": [ "notifications" ], - "description": "Returns information about a subscription for the specified notification type. The getSubscriptionById API is grantless. For more information, see [Grantless operations](doc:grantless-operations) in the Selling Partner API Developer Guide.\n\n**Usage Plan:**\n\n| Rate (requests per second) | Burst |\n| ---- | ---- |\n| 1 | 5 |\n\nThe `x-amzn-RateLimit-Limit` response header returns the usage plan rate limits that were applied to the requested operation, when available. The table above indicates the default rate and burst values for this operation. Selling partners whose business demands require higher throughput may see higher rate and burst values than those shown here. For more information, see [Usage Plans and Rate Limits in the Selling Partner API](doc:usage-plans-and-rate-limits-in-the-sp-api).", + "description": "Returns information about a subscription for the specified notification type. The `getSubscriptionById` operation is grantless. For more information, refer to [Grantless operations](https://developer-docs.amazon.com/sp-api/docs/grantless-operations) in the Selling Partner API Developer Guide.\n\n**Usage Plan:**\n\n| Rate (requests per second) | Burst |\n| ---- | ---- |\n| 1 | 5 |\n\nThe `x-amzn-RateLimit-Limit` response header returns the usage plan rate limits that were applied to the requested operation, when available. The table above indicates the default rate and burst values for this operation. Selling partners whose business demands require higher throughput may observe higher rate and burst values than those shown here. For more information, refer to [Usage Plans and Rate Limits in the Selling Partner API](https://developer-docs.amazon.com/sp-api/docs/usage-plans-and-rate-limits-in-the-sp-api).", "operationId": "getSubscriptionById", "parameters": [ { @@ -627,7 +634,7 @@ "tags": [ "notifications" ], - "description": "Deletes the subscription indicated by the subscription identifier and notification type that you specify. The subscription identifier can be for any subscription associated with your application. After you successfully call this operation, notifications will stop being sent for the associated subscription. The deleteSubscriptionById API is grantless. For more information, see [Grantless operations](doc:grantless-operations) in the Selling Partner API Developer Guide.\n\n**Usage Plan:**\n\n| Rate (requests per second) | Burst |\n| ---- | ---- |\n| 1 | 5 |\n\nThe `x-amzn-RateLimit-Limit` response header returns the usage plan rate limits that were applied to the requested operation, when available. The table above indicates the default rate and burst values for this operation. Selling partners whose business demands require higher throughput may see higher rate and burst values than those shown here. For more information, see [Usage Plans and Rate Limits in the Selling Partner API](doc:usage-plans-and-rate-limits-in-the-sp-api).", + "description": "Deletes the subscription indicated by the subscription identifier and notification type that you specify. The subscription identifier can be for any subscription associated with your application. After you successfully call this operation, notifications will stop being sent for the associated subscription. The `deleteSubscriptionById` operation is grantless. For more information, refer to [Grantless operations](https://developer-docs.amazon.com/sp-api/docs/grantless-operations) in the Selling Partner API Developer Guide.\n\n**Usage Plan:**\n\n| Rate (requests per second) | Burst |\n| ---- | ---- |\n| 1 | 5 |\n\nThe `x-amzn-RateLimit-Limit` response header returns the usage plan rate limits that were applied to the requested operation, when available. The table above indicates the default rate and burst values for this operation. Selling partners whose business demands require higher throughput may observe higher rate and burst values than those shown here. For more information, refer to [Usage Plans and Rate Limits in the Selling Partner API](https://developer-docs.amazon.com/sp-api/docs/usage-plans-and-rate-limits-in-the-sp-api).", "operationId": "deleteSubscriptionById", "parameters": [ { @@ -819,7 +826,7 @@ "tags": [ "notifications" ], - "description": "Returns information about all destinations. The getDestinations API is grantless. For more information, see [Grantless operations](doc:grantless-operations) in the Selling Partner API Developer Guide.\n\n**Usage Plan:**\n\n| Rate (requests per second) | Burst |\n| ---- | ---- |\n| 1 | 5 |\n\nThe `x-amzn-RateLimit-Limit` response header returns the usage plan rate limits that were applied to the requested operation, when available. The table above indicates the default rate and burst values for this operation. Selling partners whose business demands require higher throughput may see higher rate and burst values than those shown here. For more information, see [Usage Plans and Rate Limits in the Selling Partner API](doc:usage-plans-and-rate-limits-in-the-sp-api).", + "description": "Returns information about all destinations. The `getDestinations` operation is grantless. For more information, refer to [Grantless operations](https://developer-docs.amazon.com/sp-api/docs/grantless-operations) in the Selling Partner API Developer Guide.\n\n**Usage Plan:**\n\n| Rate (requests per second) | Burst |\n| ---- | ---- |\n| 1 | 5 |\n\nThe `x-amzn-RateLimit-Limit` response header returns the usage plan rate limits that were applied to the requested operation, when available. The table above indicates the default rate and burst values for this operation. Selling partners whose business demands require higher throughput may observe higher rate and burst values than those shown here. For more information, refer to [Usage Plans and Rate Limits in the Selling Partner API](https://developer-docs.amazon.com/sp-api/docs/usage-plans-and-rate-limits-in-the-sp-api).", "operationId": "getDestinations", "parameters": [], "responses": { @@ -1022,7 +1029,7 @@ "tags": [ "notifications" ], - "description": "Creates a destination resource to receive notifications. The createDestination API is grantless. For more information, see [Grantless operations](doc:grantless-operations) in the Selling Partner API Developer Guide.\n\n**Usage Plan:**\n\n| Rate (requests per second) | Burst |\n| ---- | ---- |\n| 1 | 5 |\n\nThe `x-amzn-RateLimit-Limit` response header returns the usage plan rate limits that were applied to the requested operation, when available. The table above indicates the default rate and burst values for this operation. Selling partners whose business demands require higher throughput may see higher rate and burst values than those shown here. For more information, see [Usage Plans and Rate Limits in the Selling Partner API](doc:usage-plans-and-rate-limits-in-the-sp-api).", + "description": "Creates a destination resource to receive notifications. The `createDestination` operation is grantless. For more information, refer to [Grantless operations](https://developer-docs.amazon.com/sp-api/docs/grantless-operations) in the Selling Partner API Developer Guide.\n\n**Usage Plan:**\n\n| Rate (requests per second) | Burst |\n| ---- | ---- |\n| 1 | 5 |\n\nThe `x-amzn-RateLimit-Limit` response header returns the usage plan rate limits that were applied to the requested operation, when available. The table above indicates the default rate and burst values for this operation. Selling partners whose business demands require higher throughput may observe higher rate and burst values than those shown here. For more information, refer to [Usage Plans and Rate Limits in the Selling Partner API](https://developer-docs.amazon.com/sp-api/docs/usage-plans-and-rate-limits-in-the-sp-api).", "operationId": "createDestination", "parameters": [ { @@ -1232,7 +1239,7 @@ "tags": [ "notifications" ], - "description": "Returns information about the destination that you specify. The getDestination API is grantless. For more information, see [Grantless operations](doc:grantless-operations) in the Selling Partner API Developer Guide.\n\n**Usage Plan:**\n\n| Rate (requests per second) | Burst |\n| ---- | ---- |\n| 1 | 5 |\n\nThe `x-amzn-RateLimit-Limit` response header returns the usage plan rate limits that were applied to the requested operation, when available. The table above indicates the default rate and burst values for this operation. Selling partners whose business demands require higher throughput may see higher rate and burst values than those shown here. For more information, see [Usage Plans and Rate Limits in the Selling Partner API](doc:usage-plans-and-rate-limits-in-the-sp-api).", + "description": "Returns information about the destination that you specify. The `getDestination` operation is grantless. For more information, refer to [Grantless operations](https://developer-docs.amazon.com/sp-api/docs/grantless-operations) in the Selling Partner API Developer Guide.\n\n**Usage Plan:**\n\n| Rate (requests per second) | Burst |\n| ---- | ---- |\n| 1 | 5 |\n\nThe `x-amzn-RateLimit-Limit` response header returns the usage plan rate limits that were applied to the requested operation, when available. The table above indicates the default rate and burst values for this operation. Selling partners whose business demands require higher throughput may observe higher rate and burst values than those shown here. For more information, refer to [Usage Plans and Rate Limits in the Selling Partner API](https://developer-docs.amazon.com/sp-api/docs/usage-plans-and-rate-limits-in-the-sp-api).", "operationId": "getDestination", "parameters": [ { @@ -1439,7 +1446,7 @@ "tags": [ "notifications" ], - "description": "Deletes the destination that you specify. The deleteDestination API is grantless. For more information, see [Grantless operations](doc:grantless-operations) in the Selling Partner API Developer Guide.\n\n**Usage Plan:**\n\n| Rate (requests per second) | Burst |\n| ---- | ---- |\n| 1 | 5 |\n\nThe `x-amzn-RateLimit-Limit` response header returns the usage plan rate limits that were applied to the requested operation, when available. The table above indicates the default rate and burst values for this operation. Selling partners whose business demands require higher throughput may see higher rate and burst values than those shown here. For more information, see [Usage Plans and Rate Limits in the Selling Partner API](doc:usage-plans-and-rate-limits-in-the-sp-api).", + "description": "Deletes the destination that you specify. The `deleteDestination` operation is grantless. For more information, refer to [Grantless operations](https://developer-docs.amazon.com/sp-api/docs/grantless-operations) in the Selling Partner API Developer Guide.\n\n**Usage Plan:**\n\n| Rate (requests per second) | Burst |\n| ---- | ---- |\n| 1 | 5 |\n\nThe `x-amzn-RateLimit-Limit` response header returns the usage plan rate limits that were applied to the requested operation, when available. The table above indicates the default rate and burst values for this operation. Selling partners whose business demands require higher throughput may observe higher rate and burst values than those shown here. For more information, refer to [Usage Plans and Rate Limits in the Selling Partner API](https://developer-docs.amazon.com/sp-api/docs/usage-plans-and-rate-limits-in-the-sp-api).", "operationId": "deleteDestination", "parameters": [ { @@ -1626,18 +1633,18 @@ }, "definitions": { "ProcessingDirective": { - "description": "Additional information passed to the subscription to control the processing of notifications. For example, you can use an `eventFilter` to customize your subscription to send notifications for only the specified marketplaceId's, or select the aggregation time period at which to send notifications (e.g. limit to one notification every five minutes for high frequency notifications). The specific features available vary depending on the notificationType.\n\nThis feature is currently only supported by the `ANY_OFFER_CHANGED` and `ORDER_CHANGE` notificationTypes.", + "description": "Additional information passed to the subscription to control the processing of notifications. For example, you can use an `eventFilter` to customize your subscription to send notifications for only the specified `marketplaceId`s, or select the aggregation time period at which to send notifications (for example: limit to one notification every five minutes for high frequency notifications). The specific features available vary depending on the `notificationType`.\n\nThis feature is currently only supported by the `ANY_OFFER_CHANGED` and `ORDER_CHANGE` `notificationType`s.", "type": "object", "properties": { "eventFilter": { - "description": "A notificationType specific filter.", + "description": "A `notificationType` specific filter.", "$ref": "#/definitions/EventFilter" } } }, "EventFilter": { - "description": "A notificationType specific filter. This object contains all of the currently available filters and properties that you can use to define a notificationType specific filter.", + "description": "A `notificationType` specific filter. This object contains all of the currently available filters and properties that you can use to define a `notificationType` specific filter.", "allOf": [ { "$ref": "#/definitions/AggregationFilter" @@ -1657,7 +1664,7 @@ "ANY_OFFER_CHANGED", "ORDER_CHANGE" ], - "description": "An eventFilterType value that is supported by the specific notificationType. This is used by the subscription service to determine the type of event filter. Refer to the section of the [Notifications Use Case Guide](doc:notifications-api-v1-use-case-guide) that describes the specific notificationType to determine if an eventFilterType is supported." + "description": "An `eventFilterType` value that is supported by the specific `notificationType`. This is used by the subscription service to determine the type of event filter. Refer to the section of the [Notifications Use Case Guide](https://developer-docs.amazon.com/sp-api/docs/notifications-api-v1-use-case-guide) that describes the specific `notificationType` to determine if an `eventFilterType` is supported." } }, "required": [ @@ -1668,7 +1675,7 @@ }, "MarketplaceFilter" : { - "description": "Use this event filter to customize your subscription to send notifications for only the specified marketplaceId's.", + "description": "An event filter to customize your subscription to send notifications for only the specified `marketplaceId`s.", "type": "object", "properties": { "marketplaceIds": { @@ -1682,7 +1689,7 @@ "items": { "type": "string" }, - "description": "A list of marketplace identifiers to subscribe to (e.g. ATVPDKIKX0DER). To receive notifications in every marketplace, do not provide this list." + "description": "A list of marketplace identifiers to subscribe to (for example: ATVPDKIKX0DER). To receive notifications in every marketplace, do not provide this list." }, "AggregationFilter" : { @@ -1692,7 +1699,7 @@ "$ref": "#/definitions/AggregationSettings" } }, - "description": "Use this filter to select the aggregation time period at which to send notifications (e.g. limit to one notification every five minutes for high frequency notifications)." + "description": "A filter used to select the aggregation time period at which to send notifications (for example: limit to one notification every five minutes for high frequency notifications)." }, "AggregationSettings": { @@ -1728,7 +1735,7 @@ }, "OrderChangeTypeFilter": { - "description": "Use this event filter to customize your subscription to send notifications for only the specified orderChangeType.", + "description": "An event filter to customize your subscription to send notifications for only the specified `orderChangeType`.", "type": "object", "properties": { "orderChangeTypes": { @@ -1741,7 +1748,7 @@ "items": { "$ref": "#/definitions/OrderChangeTypeEnum" }, - "description": "A list of order change types to subscribe to (e.g. BuyerRequestedChange). To receive notifications of all change types, do not provide this list." + "description": "A list of order change types to subscribe to (for example: `BuyerRequestedChange`). To receive notifications of all change types, do not provide this list." }, "OrderChangeTypeEnum": { @@ -1777,21 +1784,21 @@ "$ref": "#/definitions/ProcessingDirective" } }, - "description": "Represents a subscription to receive notifications." + "description": "Information about the subscription." }, "CreateSubscriptionResponse": { "type": "object", "properties": { "payload": { - "description": "The payload for the createSubscription operation.", + "description": "The payload for the `createSubscription` operation.", "$ref": "#/definitions/Subscription" }, "errors": { - "description": "One or more unexpected errors occurred during the createSubscription operation.", + "description": "One or more unexpected errors occurred during the `createSubscription` operation.", "$ref": "#/definitions/ErrorList" } }, - "description": "The response schema for the createSubscription operation." + "description": "The response schema for the `createSubscription` operation." }, "CreateSubscriptionRequest": { "type": "object", @@ -1808,45 +1815,49 @@ "$ref": "#/definitions/ProcessingDirective" } }, - "description": "The request schema for the createSubscription operation." + "required": [ + "destinationId", + "payloadVersion" + ], + "description": "The request schema for the `createSubscription` operation." }, "GetSubscriptionByIdResponse": { "type": "object", "properties": { "payload": { - "description": "The payload for the getSubscriptionById operation.", + "description": "The payload for the `getSubscriptionById` operation.", "$ref": "#/definitions/Subscription" }, "errors": { - "description": "An unexpected condition occurred during the getSubscriptionById operation.", + "description": "An unexpected condition occurred during the `getSubscriptionById` operation.", "$ref": "#/definitions/ErrorList" } }, - "description": "The response schema for the getSubscriptionById operation." + "description": "The response schema for the `getSubscriptionById` operation." }, "GetSubscriptionResponse": { "type": "object", "properties": { "payload": { - "description": "The payload for the getSubscription operation.", + "description": "The payload for the `getSubscription` operation.", "$ref": "#/definitions/Subscription" }, "errors": { - "description": "One or more unexpected errors occurred during the getSubscription operation.", + "description": "One or more unexpected errors occurred during the `getSubscription` operation.", "$ref": "#/definitions/ErrorList" } }, - "description": "The response schema for the getSubscription operation." + "description": "The response schema for the `getSubscription` operation." }, "DeleteSubscriptionByIdResponse": { "type": "object", "properties": { "errors": { - "description": "An unexpected condition occurred during the deleteSubscriptionById operation.", + "description": "An unexpected condition occurred during the `deleteSubscriptionById` operation.", "$ref": "#/definitions/ErrorList" } }, - "description": "The response schema for the deleteSubscriptionById operation." + "description": "The response schema for the `deleteSubscriptionById` operation." }, "DestinationList": { "type": "array", @@ -1877,7 +1888,7 @@ "$ref": "#/definitions/DestinationResource" } }, - "description": "Represents a destination created when you call the createDestination operation." + "description": "Information about the destination created when you call the `createDestination` operation." }, "DestinationResource": { "type": "object", @@ -1955,14 +1966,14 @@ }, "region": { "type": "string", - "description": "The AWS region in which you receive the notifications. For AWS regions that are supported in Amazon EventBridge, see https://docs.aws.amazon.com/general/latest/gr/ev.html." + "description": "The AWS region in which you receive the notifications. For AWS regions that are supported in Amazon EventBridge, refer to [Amazon EventBridge endpoints and quotas](https://docs.aws.amazon.com/general/latest/gr/ev.html)." }, "accountId": { "type": "string", "description": "The identifier for the AWS account that is responsible for charges related to receiving notifications." } }, - "description": "Represents an Amazon EventBridge destination." + "description": "The Amazon EventBridge destination." }, "CreateDestinationRequest": { "type": "object", @@ -1980,17 +1991,17 @@ "description": "A developer-defined name to help identify this destination." } }, - "description": "The request schema for the createDestination operation." + "description": "The request schema for the `createDestination` operation." }, "CreateDestinationResponse": { "type": "object", "properties": { "payload": { - "description": "The payload for the createDestination operation.", + "description": "The payload for the `createDestination` operation.", "$ref": "#/definitions/Destination" }, "errors": { - "description": "One or more unexpected errors occurred during the createDestination operation.", + "description": "One or more unexpected errors occurred during the `createDestination` operation.", "$ref": "#/definitions/ErrorList" } }, @@ -2000,39 +2011,39 @@ "type": "object", "properties": { "payload": { - "description": "The payload for the getDestination operation.", + "description": "The payload for the `getDestination` operation.", "$ref": "#/definitions/Destination" }, "errors": { - "description": "One or more unexpected errors occurred during the getDestination operation.", + "description": "One or more unexpected errors occurred during the `getDestination` operation.", "$ref": "#/definitions/ErrorList" } }, - "description": "The response schema for the getDestination operation." + "description": "The response schema for the `getDestination` operation." }, "GetDestinationsResponse": { "type": "object", "properties": { "payload": { - "description": "The payload for the getDestinations operation.", + "description": "The payload for the `getDestinations` operation.", "$ref": "#/definitions/DestinationList" }, "errors": { - "description": "One or more unexpected errors occurred during the getDestinations operation.", + "description": "One or more unexpected errors occurred during the `getDestinations` operation.", "$ref": "#/definitions/ErrorList" } }, - "description": "The response schema for the getDestinations operation." + "description": "The response schema for the `getDestinations` operation." }, "DeleteDestinationResponse": { "type": "object", "properties": { "errors": { - "description": "One or more unexpected errors occurred during the deleteDestination operation.", + "description": "One or more unexpected errors occurred during the `deleteDestination` operation.", "$ref": "#/definitions/ErrorList" } }, - "description": "The response schema for the deleteDestination operation." + "description": "The response schema for the `deleteDestination` operation." }, "ErrorList": { "type": "array", @@ -2054,21 +2065,21 @@ }, "message": { "type": "string", - "description": "A message that describes the error condition in a human-readable form." + "description": "A message that describes the error condition." }, "details": { "type": "string", "description": "Additional details that can help the caller understand or fix the issue." } }, - "description": "Error response returned when the request is unsuccessful." + "description": "An error response returned when the request is unsuccessful." } }, "parameters": { "NotificationType": { "name": "notificationType", "in": "path", - "description": "The type of notification.\n\n For more information about notification types, see [the Notifications API Use Case Guide](doc:notifications-api-v1-use-case-guide).", + "description": "The type of notification.\n\n For more information about notification types, refer to [the Notifications API Use Case Guide](https://developer-docs.amazon.com/sp-api/docs/notifications-api-v1-use-case-guide).", "required": true, "type": "string" } From fa482c0bd574cad780c403ccdc6300d5af41e990 Mon Sep 17 00:00:00 2001 From: Jack Evoniuk Date: Wed, 13 Dec 2023 09:52:29 -0800 Subject: [PATCH 022/340] Add Shipping v2 model --- models/shipping-api-model/shippingV2.json | 9382 +++++++++++++++++++++ 1 file changed, 9382 insertions(+) create mode 100644 models/shipping-api-model/shippingV2.json diff --git a/models/shipping-api-model/shippingV2.json b/models/shipping-api-model/shippingV2.json new file mode 100644 index 000000000..cceff9a29 --- /dev/null +++ b/models/shipping-api-model/shippingV2.json @@ -0,0 +1,9382 @@ +{ + "swagger": "2.0", + "info": { + "description": "The Amazon Shipping API is designed to support outbound shipping use cases both for orders originating on Amazon-owned marketplaces as well as external channels/marketplaces. With these APIs, you can request shipping rates, create shipments, cancel shipments, and track shipments.", + "version": "v2", + "title": "Amazon Shipping API", + "contact": { + "name": "Amazon Shipping API Support", + "email": "swa-api-core@amazon.com" + }, + "license": { + "name": "Amazon Software License", + "url": "https://aws.amazon.com/asl/" + } + }, + "host": "sellingpartnerapi-eu.amazon.com", + "schemes": [ + "https" + ], + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "paths": { + "/shipping/v2/shipments/rates": { + "post": { + "tags": [ + "shipping" + ], + "description": "Returns the available shipping service offerings.\n\n**Usage Plan:**\n\n| Rate (requests per second) | Burst |\n| ---- | ---- |\n| 80 | 100 |\n\nThe `x-amzn-RateLimit-Limit` response header returns the usage plan rate limits that were applied to the requested operation, when available. The table above indicates the default rate and burst values for this operation. Selling partners whose business demands require higher throughput may see higher rate and burst values then those shown here. For more information, see [Usage Plans and Rate Limits in the Selling Partner API](https://developer-docs.amazon.com/sp-api/docs/usage-plans-and-rate-limits-in-the-sp-api).", + "operationId": "getRates", + "parameters": [ + { + "in": "body", + "name": "body", + "required": true, + "schema": { + "$ref": "#/definitions/GetRatesRequest" + } + }, + { + "name": "x-amzn-shipping-business-id", + "in": "header", + "description": "Amazon shipping business to assume for this request. The default is AmazonShipping_UK.", + "required": false, + "type": "string", + "enum": [ + "AmazonShipping_US", + "AmazonShipping_IN", + "AmazonShipping_UK", + "AmazonShipping_UAE", + "AmazonShipping_SA", + "AmazonShipping_EG", + "AmazonShipping_IT", + "AmazonShipping_ES", + "AmazonShipping_FR", + "AmazonShipping_JP" + ], + "x-docgen-enum-table-extension": [ + { + "value": "AmazonShipping_US", + "description": "The United States Amazon shipping business." + }, + { + "value": "AmazonShipping_IN", + "description": "The India Amazon shipping business." + }, + { + "value": "AmazonShipping_UK", + "description": "The United Kingdom Amazon shipping business." + }, + { + "value": "AmazonShipping_UAE", + "description": "The United Arab Emirates Amazon shipping business." + }, + { + "value": "AmazonShipping_SA", + "description": "The Saudi Arabia Amazon shipping business." + }, + { + "value": "AmazonShipping_EG", + "description": "The Egypt Amazon shipping business." + }, + { + "value": "AmazonShipping_IT", + "description": "The Italy Amazon shipping business." + }, + { + "value": "AmazonShipping_ES", + "description": "The Spain Amazon shipping business." + }, + { + "value": "AmazonShipping_FR", + "description": "The France Amazon shipping business." + }, + { + "value": "AmazonShipping_JP", + "description": "The Japan Amazon shipping business." + } + ] + } + ], + "responses": { + "200": { + "description": "Success.", + "schema": { + "$ref": "#/definitions/GetRatesResponse" + }, + "examples": { + "application/json": { + "requestToken": "6DCCEDD3FF961C15FEB94F342D41C", + "rates": [ + { + "rateId": "F4B68849F969E239FF9FCA9C12E35", + "carrierId": "FOOSHIPGRD", + "carrierName": "FOO SHIP GRD", + "billedWeight": { + "value": 5, + "unit": "GRAMS" + }, + "totalCharge": { + "value": 7, + "unit": "USD" + }, + "serviceId": "FOORSID", + "serviceName": "FOO RS ID", + "promise": { + "deliveryWindow": { + "start": "2018-08-24T08:22:30.737Z", + "end": "2018-08-24T20:22:30.737Z" + }, + "pickupWindow": { + "start": "2018-08-23T08:22:30.737Z", + "end": "2018-08-23T20:22:30.737Z" + } + }, + "supportedDocumentSpecifications": [ + { + "format": "PNG", + "size": { + "length": 6, + "width": 4, + "unit": "INCH" + }, + "printOptions": [ + { + "supportedDPIs": [ + 300, + 203 + ], + "supportedPageLayouts": [ + "LEFT", + "RIGHT" + ], + "supportedFileJoiningOptions": [ + true, + false + ], + "supportedDocumentDetails": [ + { + "name": "LABEL", + "isMandatory": true + } + ] + } + ] + }, + { + "format": "ZPL", + "size": { + "length": 6, + "width": 4, + "unit": "INCH" + }, + "printOptions": [ + { + "supportedDPIs": [ + 300, + 203 + ], + "supportedPageLayouts": [ + "LEFT", + "RIGHT" + ], + "supportedFileJoiningOptions": [ + true, + false + ], + "supportedDocumentDetails": [ + { + "name": "LABEL", + "isMandatory": true + } + ] + } + ] + } + ], + "availableValueAddedServiceGroups": [ + { + "groupId": "SIG_VERIFICATION", + "groupDescription": "Signature Verification", + "isRequired": true, + "valueAddedServices": [ + { + "id": "CUST_SIG_VERIFICATION", + "name": "Customer Signature Verification", + "cost": { + "unit": "USD", + "value": 2 + } + } + ] + } + ], + "requiresAdditionalInputs": false, + "rateItemList":[ + { + "rateItemCharge":{ + "unit":"INR", + "value":"2.00000" + }, + "rateItemID":"BASE_RATE", + "rateItemNameLocalization":"Base Rate", + "rateItemType":"MANDATORY" + }, + { + "rateItemCharge":{ + "unit":"INR", + "value":"1.20000" + }, + "rateItemID":"DELIVERY_CONFIRMATION", + "rateItemNameLocalization":"Delivery Confirmation", + "rateItemType":"INCLUDED" + }, + { + "rateItemCharge":{ + "unit":"INR", + "value":"2.00" + }, + "rateItemID":"VAT", + "rateItemNameLocalization":"VAT", + "rateItemType":"MANDATORY" + } + ], + "paymentType": "PAY_THROUGH_AMAZON" + } + ], + "ineligibleRates": [ + { + "carrierId": "FOOSTDGRD", + "serviceId": "FOO8420430", + "carrierName": "FOOSTDGRD", + "serviceName": "FOO8420430", + "ineligibilityReasons": [ + { + "code": "NO_COVERAGE", + "message": "Required shipping network coverage doesn't exist for the offering" + } + ] + } + ] + } + }, + "headers": { + "x-amzn-RateLimit-Limit": { + "type": "string", + "description": "Your rate limit (requests per second) for this operation." + }, + "x-amzn-RequestId": { + "type": "string", + "description": "Unique request reference identifier." + } + } + }, + "400": { + "description": "Request has missing or invalid parameters and cannot be parsed.", + "schema": { + "$ref": "#/definitions/ErrorList" + }, + "examples": { + "application/json": { + "errors": [ + { + "code": "InvalidRequest", + "message": "Request is missing or has invalid parameters", + "details": "ChannelDetails object cannot be null" + } + ] + } + }, + "headers": { + "x-amzn-RateLimit-Limit": { + "type": "string", + "description": "Your rate limit (requests per second) for this operation." + }, + "x-amzn-RequestId": { + "type": "string", + "description": "Unique request reference identifier." + } + } + }, + "401": { + "description": "The request's Authorization header is not formatted correctly or does not contain a valid token.", + "schema": { + "$ref": "#/definitions/ErrorList" + }, + "examples": { + "application/json": { + "errors": [ + { + "code": "Unauthorized", + "message": "You don't have access to the requested response or the credentials are invalid." + } + ] + } + }, + "headers": { + "x-amzn-RateLimit-Limit": { + "type": "string", + "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." + }, + "x-amzn-RequestId": { + "type": "string", + "description": "Unique request reference identifier." + } + } + }, + "403": { + "description": "Indicates that access to the resource is forbidden. Possible reasons include Access Denied, Unauthorized, Expired Token, or Invalid Signature.", + "schema": { + "$ref": "#/definitions/ErrorList" + }, + "examples": { + "application/json": { + "errors": [ + { + "code": "Unauthorized", + "message": "You don't have access to the requested response or the credentials are invalid." + } + ] + } + }, + "headers": { + "x-amzn-RequestId": { + "type": "string", + "description": "Unique request reference identifier." + } + } + }, + "404": { + "description": "The resource specified does not exist.", + "schema": { + "$ref": "#/definitions/ErrorList" + }, + "examples": { + "application/json": { + "errors": [ + { + "code": "NotFound", + "message": "The requested resource is invalid or doesn't exist" + } + ] + } + }, + "headers": { + "x-amzn-RateLimit-Limit": { + "type": "string", + "description": "Your rate limit (requests per second) for this operation." + }, + "x-amzn-RequestId": { + "type": "string", + "description": "Unique request reference identifier." + } + } + }, + "413": { + "description": "The request size exceeded the maximum accepted size.", + "schema": { + "$ref": "#/definitions/ErrorList" + }, + "examples": { + "application/json": { + "errors": [ + { + "code": "InvalidRequest", + "message": "The request payload size is greater than maximum accepted size." + } + ] + } + }, + "headers": { + "x-amzn-RateLimit-Limit": { + "type": "string", + "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." + }, + "x-amzn-RequestId": { + "type": "string", + "description": "Unique request reference identifier." + } + } + }, + "415": { + "description": "The request payload is in an unsupported format.", + "schema": { + "$ref": "#/definitions/ErrorList" + }, + "examples": { + "application/json": { + "errors": [ + { + "code": "InvalidRequest", + "message": "The request payload format is not supported." + } + ] + } + }, + "headers": { + "x-amzn-RateLimit-Limit": { + "type": "string", + "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." + }, + "x-amzn-RequestId": { + "type": "string", + "description": "Unique request reference identifier." + } + } + }, + "429": { + "description": "The frequency of requests was greater than allowed.", + "schema": { + "$ref": "#/definitions/ErrorList" + }, + "examples": { + "application/json": { + "errors": [ + { + "code": "TooManyRequests", + "message": "The total number of requests exceeded your allowed limit." + } + ] + } + }, + "headers": { + "x-amzn-RateLimit-Limit": { + "type": "string", + "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." + }, + "x-amzn-RequestId": { + "type": "string", + "description": "Unique request reference identifier." + } + } + }, + "500": { + "description": "An unexpected condition occurred that prevented the server from fulfilling the request.", + "schema": { + "$ref": "#/definitions/ErrorList" + }, + "examples": { + "application/json": { + "errors": [ + { + "code": "InternalError", + "message": "Something went wrong while processing the request." + } + ] + } + }, + "headers": { + "x-amzn-RateLimit-Limit": { + "type": "string", + "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." + }, + "x-amzn-RequestId": { + "type": "string", + "description": "Unique request reference identifier." + } + } + }, + "503": { + "description": "Temporary overloading or maintenance of the server.", + "schema": { + "$ref": "#/definitions/ErrorList" + }, + "examples": { + "application/json": { + "errors": [ + { + "code": "ServiceUnavailable", + "message": "Service temporarily unavailable or down for maintenance. Please try again after sometime." + } + ] + } + }, + "headers": { + "x-amzn-RateLimit-Limit": { + "type": "string", + "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." + }, + "x-amzn-RequestId": { + "type": "string", + "description": "Unique request reference identifier." + } + } + } + }, + "x-amzn-api-sandbox": { + "dynamic": {} + } + }, + "parameters": [] + }, + "/shipping/v2/shipments/directPurchase": { + "post": { + "tags": [ + "shipping" + ], + "description": "Purchases the shipping service for a shipment using the best fit service offering. Returns purchase related details and documents.\n\n**Usage Plan:**\n\n| Rate (requests per second) | Burst |\n| ---- | ---- |\n| 80 | 100 |\n\nThe `x-amzn-RateLimit-Limit` response header returns the usage plan rate limits that were applied to the requested operation, when available. The table above indicates the default rate and burst values for this operation. Selling partners whose business demands require higher throughput may see higher rate and burst values then those shown here. For more information, see [Usage Plans and Rate Limits in the Selling Partner API](https://developer-docs.amazon.com/sp-api/docs/usage-plans-and-rate-limits-in-the-sp-api).", + "operationId": "directPurchaseShipment", + "parameters": [ + { + "in": "body", + "name": "body", + "required": true, + "schema": { + "$ref": "#/definitions/DirectPurchaseRequest" + } + }, + { + "name": "x-amzn-IdempotencyKey", + "description": "A unique value which the server uses to recognize subsequent retries of the same request.", + "in": "header", + "required": false, + "type": "string" + }, + { + "name": "locale", + "description": "The IETF Language Tag. Note that this only supports the primary language subtag with one secondary language subtag (i.e. en-US, fr-CA).\nThe secondary language subtag is almost always a regional designation.\nThis does not support additional subtags beyond the primary and secondary language subtags.\n", + "in": "header", + "required": false, + "type": "string" + }, + { + "name": "x-amzn-shipping-business-id", + "in": "header", + "description": "Amazon shipping business to assume for this request. The default is AmazonShipping_UK.", + "required": false, + "type": "string", + "enum": [ + "AmazonShipping_US", + "AmazonShipping_IN", + "AmazonShipping_UK", + "AmazonShipping_UAE", + "AmazonShipping_SA", + "AmazonShipping_EG", + "AmazonShipping_IT", + "AmazonShipping_ES", + "AmazonShipping_FR", + "AmazonShipping_JP" + ], + "x-docgen-enum-table-extension": [ + { + "value": "AmazonShipping_US", + "description": "The United States Amazon shipping business." + }, + { + "value": "AmazonShipping_IN", + "description": "The India Amazon shipping business." + }, + { + "value": "AmazonShipping_UK", + "description": "The United Kingdom Amazon shipping business." + }, + { + "value": "AmazonShipping_UAE", + "description": "The United Arab Emirates Amazon shipping business." + }, + { + "value": "AmazonShipping_SA", + "description": "The Saudi Arabia Amazon shipping business." + }, + { + "value": "AmazonShipping_EG", + "description": "The Egypt Amazon shipping business." + }, + { + "value": "AmazonShipping_IT", + "description": "The Italy Amazon shipping business." + }, + { + "value": "AmazonShipping_ES", + "description": "The Spain Amazon shipping business." + }, + { + "value": "AmazonShipping_FR", + "description": "The France Amazon shipping business." + }, + { + "value": "AmazonShipping_JP", + "description": "The Japan Amazon shipping business." + } + ] + } + ], + "responses": { + "200": { + "description": "Success", + "schema": { + "$ref": "#/definitions/DirectPurchaseResponse" + }, + "examples": { + "application/json": { + "shipmentId": "445454-3232-3232", + "packageDocumentDetailList": [ + { + "packageClientReferenceId": "ASUSDI-45343854", + "trackingId": "T1234567", + "packageDocuments": [ + { + "type": "LABEL", + "format": "PNG", + "contents": "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" + } + ] + } + ] + } + }, + "headers": { + "x-amzn-RateLimit-Limit": { + "type": "string", + "description": "Your rate limit (requests per second) for this operation." + }, + "x-amzn-RequestId": { + "type": "string", + "description": "Unique request reference identifier." + }, + "x-amzn-IdempotencyKey": { + "type": "string", + "description": "A unique value which the server uses to recognize subsequent retries of the same request." + } + } + }, + "400": { + "description": "Request has missing or invalid parameters and cannot be parsed.", + "schema": { + "$ref": "#/definitions/ErrorList" + }, + "examples": { + "application/json": { + "errors": [ + { + "code": "InvalidRequest", + "message": "Request is missing or has invalid parameters", + "details": "ChannelDetails object cannot be null" + } + ] + } + }, + "headers": { + "x-amzn-RateLimit-Limit": { + "type": "string", + "description": "Your rate limit (requests per second) for this operation." + }, + "x-amzn-RequestId": { + "type": "string", + "description": "Unique request reference identifier." + } + } + }, + "401": { + "description": "The request's Authorization header is not formatted correctly or does not contain a valid token.", + "schema": { + "$ref": "#/definitions/ErrorList" + }, + "examples": { + "application/json": { + "errors": [ + { + "code": "Unauthorized", + "message": "You don't have access to the requested response or the credentials are invalid." + } + ] + } + }, + "headers": { + "x-amzn-RateLimit-Limit": { + "type": "string", + "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." + }, + "x-amzn-RequestId": { + "type": "string", + "description": "Unique request reference identifier." + } + } + }, + "403": { + "description": "Indicates that access to the resource is forbidden. Possible reasons include Access Denied, Unauthorized, Expired Token, or Invalid Signature.", + "schema": { + "$ref": "#/definitions/ErrorList" + }, + "examples": { + "application/json": { + "errors": [ + { + "code": "Unauthorized", + "message": "You don't have access to the requested response or the credentials are invalid." + } + ] + } + }, + "headers": { + "x-amzn-RequestId": { + "type": "string", + "description": "Unique request reference identifier." + } + } + }, + "404": { + "description": "The resource specified does not exist.", + "schema": { + "$ref": "#/definitions/ErrorList" + }, + "examples": { + "application/json": { + "errors": [ + { + "code": "NotFound", + "message": "The requested resource is invalid or doesn't exist" + } + ] + } + }, + "headers": { + "x-amzn-RateLimit-Limit": { + "type": "string", + "description": "Your rate limit (requests per second) for this operation." + }, + "x-amzn-RequestId": { + "type": "string", + "description": "Unique request reference identifier." + } + } + }, + "413": { + "description": "The request size exceeded the maximum accepted size.", + "schema": { + "$ref": "#/definitions/ErrorList" + }, + "examples": { + "application/json": { + "errors": [ + { + "code": "InvalidRequest", + "message": "The request payload size is greater than maximum accepted size." + } + ] + } + }, + "headers": { + "x-amzn-RateLimit-Limit": { + "type": "string", + "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." + }, + "x-amzn-RequestId": { + "type": "string", + "description": "Unique request reference identifier." + } + } + }, + "415": { + "description": "The request payload is in an unsupported format.", + "schema": { + "$ref": "#/definitions/ErrorList" + }, + "examples": { + "application/json": { + "errors": [ + { + "code": "InvalidRequest", + "message": "The request payload format is not supported." + } + ] + } + }, + "headers": { + "x-amzn-RateLimit-Limit": { + "type": "string", + "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." + }, + "x-amzn-RequestId": { + "type": "string", + "description": "Unique request reference identifier." + } + } + }, + "429": { + "description": "The frequency of requests was greater than allowed.", + "schema": { + "$ref": "#/definitions/ErrorList" + }, + "examples": { + "application/json": { + "errors": [ + { + "code": "TooManyRequests", + "message": "The total number of requests exceeded your allowed limit." + } + ] + } + }, + "headers": { + "x-amzn-RateLimit-Limit": { + "type": "string", + "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." + }, + "x-amzn-RequestId": { + "type": "string", + "description": "Unique request reference identifier." + } + } + }, + "500": { + "description": "An unexpected condition occurred that prevented the server from fulfilling the request.", + "schema": { + "$ref": "#/definitions/ErrorList" + }, + "examples": { + "application/json": { + "errors": [ + { + "code": "InternalError", + "message": "Something went wrong while processing the request." + } + ] + } + }, + "headers": { + "x-amzn-RateLimit-Limit": { + "type": "string", + "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." + }, + "x-amzn-RequestId": { + "type": "string", + "description": "Unique request reference identifier." + } + } + }, + "503": { + "description": "Temporary overloading or maintenance of the server.", + "schema": { + "$ref": "#/definitions/ErrorList" + }, + "examples": { + "application/json": { + "errors": [ + { + "code": "ServiceUnavailable", + "message": "Service temporarily unavailable or down for maintenance. Please try again after sometime." + } + ] + } + }, + "headers": { + "x-amzn-RateLimit-Limit": { + "type": "string", + "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." + }, + "x-amzn-RequestId": { + "type": "string", + "description": "Unique request reference identifier." + } + } + } + } + }, + "parameters": [] + }, + "/shipping/v2/shipments": { + "post": { + "tags": [ + "shipping" + ], + "description": "Purchases a shipping service and returns purchase related details and documents.\n\nNote: You must complete the purchase within 10 minutes of rate creation by the shipping service provider. If you make the request after the 10 minutes have expired, you will receive an error response with the error code equal to \"TOKEN_EXPIRED\". If you receive this error response, you must get the rates for the shipment again.\n\n**Usage Plan:**\n\n| Rate (requests per second) | Burst |\n| ---- | ---- |\n| 80 | 100 |\n\nThe `x-amzn-RateLimit-Limit` response header returns the usage plan rate limits that were applied to the requested operation, when available. The table above indicates the default rate and burst values for this operation. Selling partners whose business demands require higher throughput may see higher rate and burst values then those shown here. For more information, see [Usage Plans and Rate Limits in the Selling Partner API](https://developer-docs.amazon.com/sp-api/docs/usage-plans-and-rate-limits-in-the-sp-api).", + "operationId": "purchaseShipment", + "parameters": [ + { + "in": "body", + "name": "body", + "required": true, + "schema": { + "$ref": "#/definitions/PurchaseShipmentRequest" + } + }, + { + "name": "x-amzn-IdempotencyKey", + "description": "A unique value which the server uses to recognize subsequent retries of the same request.", + "in": "header", + "required": false, + "type": "string" + }, + { + "name": "x-amzn-shipping-business-id", + "in": "header", + "description": "Amazon shipping business to assume for this request. The default is AmazonShipping_UK.", + "required": false, + "type": "string", + "enum": [ + "AmazonShipping_US", + "AmazonShipping_IN", + "AmazonShipping_UK", + "AmazonShipping_UAE", + "AmazonShipping_SA", + "AmazonShipping_EG", + "AmazonShipping_IT", + "AmazonShipping_ES", + "AmazonShipping_FR", + "AmazonShipping_JP" + ], + "x-docgen-enum-table-extension": [ + { + "value": "AmazonShipping_US", + "description": "The United States Amazon shipping business." + }, + { + "value": "AmazonShipping_IN", + "description": "The India Amazon shipping business." + }, + { + "value": "AmazonShipping_UK", + "description": "The United Kingdom Amazon shipping business." + }, + { + "value": "AmazonShipping_UAE", + "description": "The United Arab Emirates Amazon shipping business." + }, + { + "value": "AmazonShipping_SA", + "description": "The Saudi Arabia Amazon shipping business." + }, + { + "value": "AmazonShipping_EG", + "description": "The Egypt Amazon shipping business." + }, + { + "value": "AmazonShipping_IT", + "description": "The Italy Amazon shipping business." + }, + { + "value": "AmazonShipping_ES", + "description": "The Spain Amazon shipping business." + }, + { + "value": "AmazonShipping_FR", + "description": "The France Amazon shipping business." + }, + { + "value": "AmazonShipping_JP", + "description": "The Japan Amazon shipping business." + } + ] + } + ], + "responses": { + "200": { + "description": "Success.", + "schema": { + "$ref": "#/definitions/PurchaseShipmentResponse" + }, + "examples": { + "application/json": { + "shipmentId": "87852211788104", + "packageDocumentDetails": [ + { + "packageClientReferenceId": "abcd", + "packageDocuments": [ + { + "type": "LABEL", + "format": "PNG", + "contents": "sdioadaiosfhdodsaiufhouafhoudfhdouahfac==" + } + ], + "trackingId": 1578648261977 + } + ], + "promise": { + "pickupWindow": { + "start": "2019-12-11T07:09:05.513Z", + "end": "2019-12-11T09:09:05.513Z" + }, + "deliveryWindow": { + "start": "2019-12-13T07:09:05.513Z", + "end": "2019-12-13T09:09:05.513Z" + } + } + } + }, + "headers": { + "x-amzn-RateLimit-Limit": { + "type": "string", + "description": "Your rate limit (requests per second) for this operation." + }, + "x-amzn-RequestId": { + "type": "string", + "description": "Unique request reference identifier." + } + } + }, + "400": { + "description": "Request has missing or invalid parameters and cannot be parsed.", + "schema": { + "$ref": "#/definitions/ErrorList" + }, + "examples": { + "application/json": { + "errors": [ + { + "code": "InvalidRequest", + "message": "Request is missing or has invalid parameters", + "details": "RateId cannot be null" + } + ] + } + }, + "headers": { + "x-amzn-RateLimit-Limit": { + "type": "string", + "description": "Your rate limit (requests per second) for this operation." + }, + "x-amzn-RequestId": { + "type": "string", + "description": "Unique request reference identifier." + } + } + }, + "401": { + "description": "The request's Authorization header is not formatted correctly or does not contain a valid token.", + "schema": { + "$ref": "#/definitions/ErrorList" + }, + "examples": { + "application/json": { + "errors": [ + { + "code": "Unauthorized", + "message": "You don't have access to the requested response or the credentials are invalid." + } + ] + } + }, + "headers": { + "x-amzn-RateLimit-Limit": { + "type": "string", + "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." + }, + "x-amzn-RequestId": { + "type": "string", + "description": "Unique request reference identifier." + } + } + }, + "403": { + "description": "Indicates that access to the resource is forbidden. Possible reasons include Access Denied, Unauthorized, Expired Token, or Invalid Signature.", + "schema": { + "$ref": "#/definitions/ErrorList" + }, + "examples": { + "application/json": { + "errors": [ + { + "code": "Unauthorized", + "message": "You don't have access to the requested response or the credentials are invalid." + } + ] + } + }, + "headers": { + "x-amzn-RequestId": { + "type": "string", + "description": "Unique request reference identifier." + } + } + }, + "404": { + "description": "The resource specified does not exist.", + "schema": { + "$ref": "#/definitions/ErrorList" + }, + "examples": { + "application/json": { + "errors": [ + { + "code": "NotFound", + "message": "The requested resource is invalid or doesn't exist" + } + ] + } + }, + "headers": { + "x-amzn-RateLimit-Limit": { + "type": "string", + "description": "Your rate limit (requests per second) for this operation." + }, + "x-amzn-RequestId": { + "type": "string", + "description": "Unique request reference identifier." + } + } + }, + "413": { + "description": "The request size exceeded the maximum accepted size.", + "schema": { + "$ref": "#/definitions/ErrorList" + }, + "examples": { + "application/json": { + "errors": [ + { + "code": "InvalidRequest", + "message": "The request payload size is greater than maximum accepted size." + } + ] + } + }, + "headers": { + "x-amzn-RateLimit-Limit": { + "type": "string", + "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." + }, + "x-amzn-RequestId": { + "type": "string", + "description": "Unique request reference identifier." + } + } + }, + "415": { + "description": "The request payload is in an unsupported format.", + "schema": { + "$ref": "#/definitions/ErrorList" + }, + "examples": { + "application/json": { + "errors": [ + { + "code": "InvalidRequest", + "message": "The request payload format is not supported." + } + ] + } + }, + "headers": { + "x-amzn-RateLimit-Limit": { + "type": "string", + "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." + }, + "x-amzn-RequestId": { + "type": "string", + "description": "Unique request reference identifier." + } + } + }, + "429": { + "description": "The frequency of requests was greater than allowed.", + "schema": { + "$ref": "#/definitions/ErrorList" + }, + "examples": { + "application/json": { + "errors": [ + { + "code": "TooManyRequests", + "message": "The total number of requests exceeded your allowed limit." + } + ] + } + }, + "headers": { + "x-amzn-RateLimit-Limit": { + "type": "string", + "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." + }, + "x-amzn-RequestId": { + "type": "string", + "description": "Unique request reference identifier." + } + } + }, + "500": { + "description": "An unexpected condition occurred that prevented the server from fulfilling the request.", + "schema": { + "$ref": "#/definitions/ErrorList" + }, + "examples": { + "application/json": { + "errors": [ + { + "code": "InternalError", + "message": "Something went wrong while processing the request." + } + ] + } + }, + "headers": { + "x-amzn-RateLimit-Limit": { + "type": "string", + "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." + }, + "x-amzn-RequestId": { + "type": "string", + "description": "Unique request reference identifier." + } + } + }, + "503": { + "description": "Temporary overloading or maintenance of the server.", + "schema": { + "$ref": "#/definitions/ErrorList" + }, + "examples": { + "application/json": { + "errors": [ + { + "code": "ServiceUnavailable", + "message": "Service temporarily unavailable or down for maintenance. Please try again after sometime." + } + ] + } + }, + "headers": { + "x-amzn-RateLimit-Limit": { + "type": "string", + "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." + }, + "x-amzn-RequestId": { + "type": "string", + "description": "Unique request reference identifier." + } + } + } + }, + "x-amzn-api-sandbox": { + "dynamic": {} + } + }, + "parameters": [] + }, + "/shipping/v2/oneClickShipment": { + "post": { + "tags": [ + "shipping" + ], + "description": "Purchases a shipping service identifier and returns purchase-related details and documents.\n\n**Usage Plan:**\n\n| Rate (requests per second) | Burst |\n| ---- | ---- |\n| 80 | 100 |\n\nThe `x-amzn-RateLimit-Limit` response header returns the usage plan rate limits that were applied to the requested operation, when available. The table above indicates the default rate and burst values for this operation. Selling partners whose business demands require higher throughput may see higher rate and burst values then those shown here. For more information, see [Usage Plans and Rate Limits in the Selling Partner API](https://developer-docs.amazon.com/sp-api/docs/usage-plans-and-rate-limits-in-the-sp-api).", + "operationId": "oneClickShipment", + "parameters": [ + { + "in": "body", + "name": "body", + "required": true, + "schema": { + "$ref": "#/definitions/OneClickShipmentRequest" + } + }, + { + "name": "x-amzn-shipping-business-id", + "in": "header", + "description": "Amazon shipping business to assume for this request. The default is AmazonShipping_UK.", + "required": false, + "type": "string", + "enum": [ + "AmazonShipping_US", + "AmazonShipping_IN", + "AmazonShipping_UK", + "AmazonShipping_UAE", + "AmazonShipping_SA", + "AmazonShipping_EG", + "AmazonShipping_IT", + "AmazonShipping_ES", + "AmazonShipping_FR", + "AmazonShipping_JP" + ], + "x-docgen-enum-table-extension": [ + { + "value": "AmazonShipping_US", + "description": "The United States Amazon shipping business." + }, + { + "value": "AmazonShipping_IN", + "description": "The India Amazon shipping business." + }, + { + "value": "AmazonShipping_UK", + "description": "The United Kingdom Amazon shipping business." + }, + { + "value": "AmazonShipping_UAE", + "description": "The United Arab Emirates Amazon shipping business." + }, + { + "value": "AmazonShipping_SA", + "description": "The Saudi Arabia Amazon shipping business." + }, + { + "value": "AmazonShipping_EG", + "description": "The Egypt Amazon shipping business." + }, + { + "value": "AmazonShipping_IT", + "description": "The Italy Amazon shipping business." + }, + { + "value": "AmazonShipping_ES", + "description": "The Spain Amazon shipping business." + }, + { + "value": "AmazonShipping_FR", + "description": "The France Amazon shipping business." + }, + { + "value": "AmazonShipping_JP", + "description": "The Japan Amazon shipping business." + } + ] + } + ], + "responses": { + "200": { + "description": "Success.", + "schema": { + "$ref": "#/definitions/OneClickShipmentResponse" + }, + "examples": { + "application/json": { + "shipmentId": "87852211788104", + "packageDocumentDetails": [ + { + "packageClientReferenceId": "#abcd", + "packageDocuments": [ + { + "type": "LABEL", + "format": "PNG", + "contents": "sdioadaiosfhdodsaiufhouafhoudfhdouahfac==" + } + ], + "trackingId": 1578648261977 + } + ], + "promise": { + "pickupWindow": { + "start": "2019-12-11T07:09:05.513Z", + "end": "2019-12-11T09:09:05.513Z" + }, + "deliveryWindow": { + "start": "2019-12-13T07:09:05.513Z", + "end": "2019-12-13T09:09:05.513Z" + } + }, + "carrier" : { + "id": "AMZN_UK", + "name": "Amazon Shipping" + }, + "service" : { + "id": "SWA-UK-PREM", + "name": "Amazon Shipping One Day" + }, + "totalCharge": { + "unit": "GBP", + "value": 4.76 + } + } + }, + "headers": { + "x-amzn-RateLimit-Limit": { + "type": "string", + "description": "Your rate limit (requests per second) for this operation." + }, + "x-amzn-RequestId": { + "type": "string", + "description": "Unique request reference identifier." + } + } + }, + "400": { + "description": "Request has missing or invalid parameters and cannot be parsed.", + "schema": { + "$ref": "#/definitions/ErrorList" + }, + "examples": { + "application/json": { + "errors": [ + { + "code": "InvalidRequest", + "message": "Request is missing or has invalid parameters", + "details": "ServiceId cannot be null" + } + ] + } + }, + "headers": { + "x-amzn-RateLimit-Limit": { + "type": "string", + "description": "Your rate limit (requests per second) for this operation." + }, + "x-amzn-RequestId": { + "type": "string", + "description": "Unique request reference identifier." + } + } + }, + "401": { + "description": "The request's Authorization header is not formatted correctly or does not contain a valid token.", + "schema": { + "$ref": "#/definitions/ErrorList" + }, + "examples": { + "application/json": { + "errors": [ + { + "code": "Unauthorized", + "message": "You don't have access to the requested response or the credentials are invalid." + } + ] + } + }, + "headers": { + "x-amzn-RateLimit-Limit": { + "type": "string", + "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." + }, + "x-amzn-RequestId": { + "type": "string", + "description": "Unique request reference identifier." + } + } + }, + "403": { + "description": "Indicates that access to the resource is forbidden. Possible reasons include Access Denied, Unauthorized, Expired Token, or Invalid Signature.", + "schema": { + "$ref": "#/definitions/ErrorList" + }, + "examples": { + "application/json": { + "errors": [ + { + "code": "Unauthorized", + "message": "You don't have access to the requested response or the credentials are invalid." + } + ] + } + }, + "headers": { + "x-amzn-RequestId": { + "type": "string", + "description": "Unique request reference identifier." + } + } + }, + "404": { + "description": "The resource specified does not exist.", + "schema": { + "$ref": "#/definitions/ErrorList" + }, + "examples": { + "application/json": { + "errors": [ + { + "code": "NotFound", + "message": "The requested resource is invalid or doesn't exist" + } + ] + } + }, + "headers": { + "x-amzn-RateLimit-Limit": { + "type": "string", + "description": "Your rate limit (requests per second) for this operation." + }, + "x-amzn-RequestId": { + "type": "string", + "description": "Unique request reference identifier." + } + } + }, + "413": { + "description": "The request size exceeded the maximum accepted size.", + "schema": { + "$ref": "#/definitions/ErrorList" + }, + "examples": { + "application/json": { + "errors": [ + { + "code": "InvalidRequest", + "message": "The request payload size is greater than maximum accepted size." + } + ] + } + }, + "headers": { + "x-amzn-RateLimit-Limit": { + "type": "string", + "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." + }, + "x-amzn-RequestId": { + "type": "string", + "description": "Unique request reference identifier." + } + } + }, + "415": { + "description": "The request payload is in an unsupported format.", + "schema": { + "$ref": "#/definitions/ErrorList" + }, + "examples": { + "application/json": { + "errors": [ + { + "code": "InvalidRequest", + "message": "The request payload format is not supported." + } + ] + } + }, + "headers": { + "x-amzn-RateLimit-Limit": { + "type": "string", + "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." + }, + "x-amzn-RequestId": { + "type": "string", + "description": "Unique request reference identifier." + } + } + }, + "429": { + "description": "The frequency of requests was greater than allowed.", + "schema": { + "$ref": "#/definitions/ErrorList" + }, + "examples": { + "application/json": { + "errors": [ + { + "code": "TooManyRequests", + "message": "The total number of requests exceeded your allowed limit." + } + ] + } + }, + "headers": { + "x-amzn-RateLimit-Limit": { + "type": "string", + "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." + }, + "x-amzn-RequestId": { + "type": "string", + "description": "Unique request reference identifier." + } + } + }, + "500": { + "description": "An unexpected condition occurred that prevented the server from fulfilling the request.", + "schema": { + "$ref": "#/definitions/ErrorList" + }, + "examples": { + "application/json": { + "errors": [ + { + "code": "InternalError", + "message": "Something went wrong while processing the request." + } + ] + } + }, + "headers": { + "x-amzn-RateLimit-Limit": { + "type": "string", + "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." + }, + "x-amzn-RequestId": { + "type": "string", + "description": "Unique request reference identifier." + } + } + }, + "503": { + "description": "Temporary overloading or maintenance of the server.", + "schema": { + "$ref": "#/definitions/ErrorList" + }, + "examples": { + "application/json": { + "errors": [ + { + "code": "ServiceUnavailable", + "message": "Service temporarily unavailable or down for maintenance. Please try again after sometime." + } + ] + } + }, + "headers": { + "x-amzn-RateLimit-Limit": { + "type": "string", + "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." + }, + "x-amzn-RequestId": { + "type": "string", + "description": "Unique request reference identifier." + } + } + } + }, + "x-amzn-api-sandbox": { + "dynamic": {} + } + }, + "parameters": [] + }, + "/shipping/v2/tracking": { + "get": { + "tags": [ + "shipping" + ], + "description": "Returns tracking information for a purchased shipment.\n\n**Usage Plan:**\n\n| Rate (requests per second) | Burst |\n| ---- | ---- |\n| 80 | 100 |\n\nThe `x-amzn-RateLimit-Limit` response header returns the usage plan rate limits that were applied to the requested operation, when available. The table above indicates the default rate and burst values for this operation. Selling partners whose business demands require higher throughput may see higher rate and burst values then those shown here. For more information, see [Usage Plans and Rate Limits in the Selling Partner API](https://developer-docs.amazon.com/sp-api/docs/usage-plans-and-rate-limits-in-the-sp-api).", + "operationId": "getTracking", + "parameters": [ + { + "name": "trackingId", + "in": "query", + "description": "A carrier-generated tracking identifier originally returned by the purchaseShipment operation.", + "required": true, + "type": "string" + }, + { + "name": "carrierId", + "in": "query", + "description": "A carrier identifier originally returned by the getRates operation for the selected rate.", + "required": true, + "type": "string" + }, + { + "name": "x-amzn-shipping-business-id", + "in": "header", + "description": "Amazon shipping business to assume for this request. The default is AmazonShipping_UK.", + "required": false, + "type": "string", + "enum": [ + "AmazonShipping_US", + "AmazonShipping_IN", + "AmazonShipping_UK", + "AmazonShipping_UAE", + "AmazonShipping_SA", + "AmazonShipping_EG", + "AmazonShipping_IT", + "AmazonShipping_ES", + "AmazonShipping_FR", + "AmazonShipping_JP" + ], + "x-docgen-enum-table-extension": [ + { + "value": "AmazonShipping_US", + "description": "The United States Amazon shipping business." + }, + { + "value": "AmazonShipping_IN", + "description": "The India Amazon shipping business." + }, + { + "value": "AmazonShipping_UK", + "description": "The United Kingdom Amazon shipping business." + }, + { + "value": "AmazonShipping_UAE", + "description": "The United Arab Emirates Amazon shipping business." + }, + { + "value": "AmazonShipping_SA", + "description": "The Saudi Arabia Amazon shipping business." + }, + { + "value": "AmazonShipping_EG", + "description": "The Egypt Amazon shipping business." + }, + { + "value": "AmazonShipping_IT", + "description": "The Italy Amazon shipping business." + }, + { + "value": "AmazonShipping_ES", + "description": "The Spain Amazon shipping business." + }, + { + "value": "AmazonShipping_FR", + "description": "The France Amazon shipping business." + }, + { + "value": "AmazonShipping_JP", + "description": "The Japan Amazon shipping business." + } + ] + } + ], + "responses": { + "200": { + "description": "Success.", + "schema": { + "$ref": "#/definitions/GetTrackingResponse" + }, + "examples": { + "application/json": { + "trackingId": "23AA47DE2B3B6", + "alternateLegTrackingId": "null", + "eventHistory": [ + { + "eventCode": "ReadyForReceive", + "location": { + "postalCode": "4883493", + "countryCode": "CC" + }, + "eventTime": "2019-12-11T07:09:05.513Z" + } + ], + "promisedDeliveryDate": "2019-12-12T13:09:05.513Z", + "summary": { + "status": "PreTransit" + } + } + }, + "headers": { + "x-amzn-RateLimit-Limit": { + "type": "string", + "description": "Your rate limit (requests per second) for this operation." + }, + "x-amzn-RequestId": { + "type": "string", + "description": "Unique request reference identifier." + } + } + }, + "400": { + "description": "Request has missing or invalid parameters and cannot be parsed.", + "schema": { + "$ref": "#/definitions/ErrorList" + }, + "examples": { + "application/json": { + "errors": [ + { + "code": "InvalidRequest", + "message": "Request is missing or has invalid parameters", + "details": "CarrierId is missing in the request" + } + ] + } + }, + "headers": { + "x-amzn-RateLimit-Limit": { + "type": "string", + "description": "Your rate limit (requests per second) for this operation." + }, + "x-amzn-RequestId": { + "type": "string", + "description": "Unique request reference identifier." + } + } + }, + "401": { + "description": "The request's Authorization header is not formatted correctly or does not contain a valid token.", + "schema": { + "$ref": "#/definitions/ErrorList" + }, + "examples": { + "application/json": { + "errors": [ + { + "code": "Unauthorized", + "message": "You don't have access to the requested response or the credentials are invalid." + } + ] + } + }, + "headers": { + "x-amzn-RateLimit-Limit": { + "type": "string", + "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." + }, + "x-amzn-RequestId": { + "type": "string", + "description": "Unique request reference identifier." + } + } + }, + "403": { + "description": "Indicates that access to the resource is forbidden. Possible reasons include Access Denied, Unauthorized, Expired Token, or Invalid Signature.", + "schema": { + "$ref": "#/definitions/ErrorList" + }, + "examples": { + "application/json": { + "errors": [ + { + "code": "Unauthorized", + "message": "You don't have access to the requested response or the credentials are invalid." + } + ] + } + }, + "headers": { + "x-amzn-RequestId": { + "type": "string", + "description": "Unique request reference identifier." + } + } + }, + "404": { + "description": "The resource specified does not exist.", + "schema": { + "$ref": "#/definitions/ErrorList" + }, + "examples": { + "application/json": { + "errors": [ + { + "code": "NotFound", + "message": "The requested resource is invalid or doesn't exist" + } + ] + } + }, + "headers": { + "x-amzn-RateLimit-Limit": { + "type": "string", + "description": "Your rate limit (requests per second) for this operation." + }, + "x-amzn-RequestId": { + "type": "string", + "description": "Unique request reference identifier." + } + } + }, + "413": { + "description": "The request size exceeded the maximum accepted size.", + "schema": { + "$ref": "#/definitions/ErrorList" + }, + "examples": { + "application/json": { + "errors": [ + { + "code": "InvalidRequest", + "message": "The request payload size is greater than maximum accepted size." + } + ] + } + }, + "headers": { + "x-amzn-RateLimit-Limit": { + "type": "string", + "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." + }, + "x-amzn-RequestId": { + "type": "string", + "description": "Unique request reference identifier." + } + } + }, + "415": { + "description": "The request payload is in an unsupported format.", + "schema": { + "$ref": "#/definitions/ErrorList" + }, + "examples": { + "application/json": { + "errors": [ + { + "code": "InvalidRequest", + "message": "The request payload format is not supported." + } + ] + } + }, + "headers": { + "x-amzn-RateLimit-Limit": { + "type": "string", + "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." + }, + "x-amzn-RequestId": { + "type": "string", + "description": "Unique request reference identifier." + } + } + }, + "429": { + "description": "The frequency of requests was greater than allowed.", + "schema": { + "$ref": "#/definitions/ErrorList" + }, + "examples": { + "application/json": { + "errors": [ + { + "code": "TooManyRequests", + "message": "The total number of requests exceeded your allowed limit." + } + ] + } + }, + "headers": { + "x-amzn-RateLimit-Limit": { + "type": "string", + "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." + }, + "x-amzn-RequestId": { + "type": "string", + "description": "Unique request reference identifier." + } + } + }, + "500": { + "description": "An unexpected condition occurred that prevented the server from fulfilling the request.", + "schema": { + "$ref": "#/definitions/ErrorList" + }, + "examples": { + "application/json": { + "errors": [ + { + "code": "InternalError", + "message": "Something went wrong while processing the request." + } + ] + } + }, + "headers": { + "x-amzn-RateLimit-Limit": { + "type": "string", + "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." + }, + "x-amzn-RequestId": { + "type": "string", + "description": "Unique request reference identifier." + } + } + }, + "503": { + "description": "Temporary overloading or maintenance of the server.", + "schema": { + "$ref": "#/definitions/ErrorList" + }, + "examples": { + "application/json": { + "errors": [ + { + "code": "ServiceUnavailable", + "message": "Service temporarily unavailable or down for maintenance. Please try again after sometime." + } + ] + } + }, + "headers": { + "x-amzn-RateLimit-Limit": { + "type": "string", + "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." + }, + "x-amzn-RequestId": { + "type": "string", + "description": "Unique request reference identifier." + } + } + } + }, + "x-amzn-api-sandbox": { + "dynamic": {} + } + }, + "parameters": [] + }, + "/shipping/v2/shipments/{shipmentId}/documents": { + "get": { + "tags": [ + "shipping" + ], + "description": "Returns the shipping documents associated with a package in a shipment.\n\n**Usage Plan:**\n\n| Rate (requests per second) | Burst |\n| ---- | ---- |\n| 80 | 100 |\n\nThe `x-amzn-RateLimit-Limit` response header returns the usage plan rate limits that were applied to the requested operation, when available. The table above indicates the default rate and burst values for this operation. Selling partners whose business demands require higher throughput may see higher rate and burst values then those shown here. For more information, see [Usage Plans and Rate Limits in the Selling Partner API](https://developer-docs.amazon.com/sp-api/docs/usage-plans-and-rate-limits-in-the-sp-api).", + "operationId": "getShipmentDocuments", + "parameters": [ + { + "name": "shipmentId", + "description":"The shipment identifier originally returned by the purchaseShipment operation.", + "in": "path", + "required": true, + "type": "string" + }, + { + "name": "packageClientReferenceId", + "in": "query", + "description": "The package client reference identifier originally provided in the request body parameter for the getRates operation.", + "required": true, + "type": "string" + }, + { + "name": "format", + "in": "query", + "description": "The file format of the document. Must be one of the supported formats returned by the getRates operation.", + "required": false, + "type": "string" + }, + { + "name": "dpi", + "in": "query", + "description": "The resolution of the document (for example, 300 means 300 dots per inch). Must be one of the supported resolutions returned in the response to the getRates operation.", + "required": false, + "type": "number" + }, + { + "name": "x-amzn-shipping-business-id", + "in": "header", + "description": "Amazon shipping business to assume for this request. The default is AmazonShipping_UK.", + "required": false, + "type": "string", + "enum": [ + "AmazonShipping_US", + "AmazonShipping_IN", + "AmazonShipping_UK", + "AmazonShipping_UAE", + "AmazonShipping_SA", + "AmazonShipping_EG", + "AmazonShipping_IT", + "AmazonShipping_ES", + "AmazonShipping_FR", + "AmazonShipping_JP" + ], + "x-docgen-enum-table-extension": [ + { + "value": "AmazonShipping_US", + "description": "The United States Amazon shipping business." + }, + { + "value": "AmazonShipping_IN", + "description": "The India Amazon shipping business." + }, + { + "value": "AmazonShipping_UK", + "description": "The United Kingdom Amazon shipping business." + }, + { + "value": "AmazonShipping_UAE", + "description": "The United Arab Emirates Amazon shipping business." + }, + { + "value": "AmazonShipping_SA", + "description": "The Saudi Arabia Amazon shipping business." + }, + { + "value": "AmazonShipping_EG", + "description": "The Egypt Amazon shipping business." + }, + { + "value": "AmazonShipping_IT", + "description": "The Italy Amazon shipping business." + }, + { + "value": "AmazonShipping_ES", + "description": "The Spain Amazon shipping business." + }, + { + "value": "AmazonShipping_FR", + "description": "The France Amazon shipping business." + }, + { + "value": "AmazonShipping_JP", + "description": "The Japan Amazon shipping business." + } + ] + } + ], + "responses": { + "200": { + "description": "Success.", + "schema": { + "$ref": "#/definitions/GetShipmentDocumentsResponse" + }, + "examples": { + "application/json": { + "shipmentId": "445454-3232-3232", + "packageDocumentDetail": { + "packageClientReferenceId": "ASUSDI-45343854", + "trackingId": "T1234567", + "packageDocuments": [ + { + "type": "LABEL", + "format": "PNG", + "contents": "sdioadaiosfhdodsaiufhouafhoudfhdouahfac==" + } + ] + } + } + }, + "headers": { + "x-amzn-RateLimit-Limit": { + "type": "string", + "description": "Your rate limit (requests per second) for this operation." + }, + "x-amzn-RequestId": { + "type": "string", + "description": "Unique request reference identifier." + } + } + }, + "400": { + "description": "Request has missing or invalid parameters and cannot be parsed.", + "schema": { + "$ref": "#/definitions/ErrorList" + }, + "examples": { + "application/json": { + "errors": [ + { + "code": "InvalidRequest", + "message": "Request is missing or has invalid parameters", + "details": "shipmentId is missing in the request" + } + ] + } + }, + "headers": { + "x-amzn-RateLimit-Limit": { + "type": "string", + "description": "Your rate limit (requests per second) for this operation." + }, + "x-amzn-RequestId": { + "type": "string", + "description": "Unique request reference identifier." + } + } + }, + "401": { + "description": "The request's Authorization header is not formatted correctly or does not contain a valid token.", + "schema": { + "$ref": "#/definitions/ErrorList" + }, + "examples": { + "application/json": { + "errors": [ + { + "code": "Unauthorized", + "message": "You don't have access to the requested response or the credentials are invalid." + } + ] + } + }, + "headers": { + "x-amzn-RateLimit-Limit": { + "type": "string", + "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." + }, + "x-amzn-RequestId": { + "type": "string", + "description": "Unique request reference identifier." + } + } + }, + "403": { + "description": "Indicates that access to the resource is forbidden. Possible reasons include Access Denied, Unauthorized, Expired Token, or Invalid Signature.", + "schema": { + "$ref": "#/definitions/ErrorList" + }, + "examples": { + "application/json": { + "errors": [ + { + "code": "Unauthorized", + "message": "You don't have access to the requested response or the credentials are invalid." + } + ] + } + }, + "headers": { + "x-amzn-RequestId": { + "type": "string", + "description": "Unique request reference identifier." + } + } + }, + "404": { + "description": "The resource specified does not exist.", + "schema": { + "$ref": "#/definitions/ErrorList" + }, + "examples": { + "application/json": { + "errors": [ + { + "code": "NotFound", + "message": "The requested resource is invalid or doesn't exist" + } + ] + } + }, + "headers": { + "x-amzn-RateLimit-Limit": { + "type": "string", + "description": "Your rate limit (requests per second) for this operation." + }, + "x-amzn-RequestId": { + "type": "string", + "description": "Unique request reference identifier." + } + } + }, + "413": { + "description": "The request size exceeded the maximum accepted size.", + "schema": { + "$ref": "#/definitions/ErrorList" + }, + "examples": { + "application/json": { + "errors": [ + { + "code": "InvalidRequest", + "message": "The request payload size is greater than maximum accepted size." + } + ] + } + }, + "headers": { + "x-amzn-RateLimit-Limit": { + "type": "string", + "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." + }, + "x-amzn-RequestId": { + "type": "string", + "description": "Unique request reference identifier." + } + } + }, + "415": { + "description": "The request payload is in an unsupported format.", + "schema": { + "$ref": "#/definitions/ErrorList" + }, + "examples": { + "application/json": { + "errors": [ + { + "code": "InvalidRequest", + "message": "The request payload format is not supported." + } + ] + } + }, + "headers": { + "x-amzn-RateLimit-Limit": { + "type": "string", + "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." + }, + "x-amzn-RequestId": { + "type": "string", + "description": "Unique request reference identifier." + } + } + }, + "429": { + "description": "The frequency of requests was greater than allowed.", + "schema": { + "$ref": "#/definitions/ErrorList" + }, + "examples": { + "application/json": { + "errors": [ + { + "code": "TooManyRequests", + "message": "The total number of requests exceeded your allowed limit." + } + ] + } + }, + "headers": { + "x-amzn-RateLimit-Limit": { + "type": "string", + "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." + }, + "x-amzn-RequestId": { + "type": "string", + "description": "Unique request reference identifier." + } + } + }, + "500": { + "description": "An unexpected condition occurred that prevented the server from fulfilling the request.", + "schema": { + "$ref": "#/definitions/ErrorList" + }, + "examples": { + "application/json": { + "errors": [ + { + "code": "InternalError", + "message": "Something went wrong while processing the request." + } + ] + } + }, + "headers": { + "x-amzn-RateLimit-Limit": { + "type": "string", + "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." + }, + "x-amzn-RequestId": { + "type": "string", + "description": "Unique request reference identifier." + } + } + }, + "503": { + "description": "Temporary overloading or maintenance of the server.", + "schema": { + "$ref": "#/definitions/ErrorList" + }, + "examples": { + "application/json": { + "errors": [ + { + "code": "ServiceUnavailable", + "message": "Service temporarily unavailable or down for maintenance. Please try again after sometime." + } + ] + } + }, + "headers": { + "x-amzn-RateLimit-Limit": { + "type": "string", + "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." + }, + "x-amzn-RequestId": { + "type": "string", + "description": "Unique request reference identifier." + } + } + } + }, + "x-amzn-api-sandbox": { + "dynamic": {} + } + }, + "parameters": [] + }, + "/shipping/v2/shipments/{shipmentId}/cancel": { + "put": { + "tags": [ + "shipping" + ], + "description": "Cancels a purchased shipment. Returns an empty object if the shipment is successfully cancelled.\n\n**Usage Plan:**\n\n| Rate (requests per second) | Burst |\n| ---- | ---- |\n| 80 | 100 |\n\nThe `x-amzn-RateLimit-Limit` response header returns the usage plan rate limits that were applied to the requested operation, when available. The table above indicates the default rate and burst values for this operation. Selling partners whose business demands require higher throughput may see higher rate and burst values then those shown here. For more information, see [Usage Plans and Rate Limits in the Selling Partner API](https://developer-docs.amazon.com/sp-api/docs/usage-plans-and-rate-limits-in-the-sp-api).", + "operationId": "cancelShipment", + "parameters": [ + { + "name": "shipmentId", + "description":"The shipment identifier originally returned by the purchaseShipment operation.", + "in": "path", + "required": true, + "type": "string" + }, + { + "name": "x-amzn-shipping-business-id", + "in": "header", + "description": "Amazon shipping business to assume for this request. The default is AmazonShipping_UK.", + "required": false, + "type": "string", + "enum": [ + "AmazonShipping_US", + "AmazonShipping_IN", + "AmazonShipping_UK", + "AmazonShipping_UAE", + "AmazonShipping_SA", + "AmazonShipping_EG", + "AmazonShipping_IT", + "AmazonShipping_ES", + "AmazonShipping_FR", + "AmazonShipping_JP" + ], + "x-docgen-enum-table-extension": [ + { + "value": "AmazonShipping_US", + "description": "The United States Amazon shipping business." + }, + { + "value": "AmazonShipping_IN", + "description": "The India Amazon shipping business." + }, + { + "value": "AmazonShipping_UK", + "description": "The United Kingdom Amazon shipping business." + }, + { + "value": "AmazonShipping_UAE", + "description": "The United Arab Emirates Amazon shipping business." + }, + { + "value": "AmazonShipping_SA", + "description": "The Saudi Arabia Amazon shipping business." + }, + { + "value": "AmazonShipping_EG", + "description": "The Egypt Amazon shipping business." + }, + { + "value": "AmazonShipping_IT", + "description": "The Italy Amazon shipping business." + }, + { + "value": "AmazonShipping_ES", + "description": "The Spain Amazon shipping business." + }, + { + "value": "AmazonShipping_FR", + "description": "The France Amazon shipping business." + }, + { + "value": "AmazonShipping_JP", + "description": "The Japan Amazon shipping business." + } + ] + } + ], + "responses": { + "200": { + "description": "Success.", + "schema": { + "$ref": "#/definitions/CancelShipmentResponse" + }, + "examples": { + "application/json": {} + }, + "headers": { + "x-amzn-RateLimit-Limit": { + "type": "string", + "description": "Your rate limit (requests per second) for this operation." + }, + "x-amzn-RequestId": { + "type": "string", + "description": "Unique request reference identifier." + } + } + }, + "400": { + "description": "Request has missing or invalid parameters and cannot be parsed.", + "schema": { + "$ref": "#/definitions/ErrorList" + }, + "examples": { + "application/json": { + "errors": [ + { + "code": "InvalidRequest", + "message": "Request is missing or has invalid parameters", + "details": "ShipmentId cannot be null" + } + ] + } + }, + "headers": { + "x-amzn-RateLimit-Limit": { + "type": "string", + "description": "Your rate limit (requests per second) for this operation." + }, + "x-amzn-RequestId": { + "type": "string", + "description": "Unique request reference identifier." + } + } + }, + "401": { + "description": "The request's Authorization header is not formatted correctly or does not contain a valid token.", + "schema": { + "$ref": "#/definitions/ErrorList" + }, + "examples": { + "application/json": { + "errors": [ + { + "code": "Unauthorized", + "message": "You don't have access to the requested response or the credentials are invalid." + } + ] + } + }, + "headers": { + "x-amzn-RateLimit-Limit": { + "type": "string", + "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." + }, + "x-amzn-RequestId": { + "type": "string", + "description": "Unique request reference identifier." + } + } + }, + "403": { + "description": "Indicates that access to the resource is forbidden. Possible reasons include Access Denied, Unauthorized, Expired Token, or Invalid Signature.", + "schema": { + "$ref": "#/definitions/ErrorList" + }, + "examples": { + "application/json": { + "errors": [ + { + "code": "Unauthorized", + "message": "You don't have access to the requested response or the credentials are invalid." + } + ] + } + }, + "headers": { + "x-amzn-RequestId": { + "type": "string", + "description": "Unique request reference identifier." + } + } + }, + "404": { + "description": "The resource specified does not exist.", + "schema": { + "$ref": "#/definitions/ErrorList" + }, + "examples": { + "application/json": { + "errors": [ + { + "code": "NotFound", + "message": "The requested resource is invalid or doesn't exist" + } + ] + } + }, + "headers": { + "x-amzn-RateLimit-Limit": { + "type": "string", + "description": "Your rate limit (requests per second) for this operation." + }, + "x-amzn-RequestId": { + "type": "string", + "description": "Unique request reference identifier." + } + } + }, + "413": { + "description": "The request size exceeded the maximum accepted size.", + "schema": { + "$ref": "#/definitions/ErrorList" + }, + "examples": { + "application/json": { + "errors": [ + { + "code": "InvalidRequest", + "message": "The request payload size is greater than maximum accepted size." + } + ] + } + }, + "headers": { + "x-amzn-RateLimit-Limit": { + "type": "string", + "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." + }, + "x-amzn-RequestId": { + "type": "string", + "description": "Unique request reference identifier." + } + } + }, + "415": { + "description": "The request payload is in an unsupported format.", + "schema": { + "$ref": "#/definitions/ErrorList" + }, + "examples": { + "application/json": { + "errors": [ + { + "code": "InvalidRequest", + "message": "The request payload format is not supported." + } + ] + } + }, + "headers": { + "x-amzn-RateLimit-Limit": { + "type": "string", + "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." + }, + "x-amzn-RequestId": { + "type": "string", + "description": "Unique request reference identifier." + } + } + }, + "429": { + "description": "The frequency of requests was greater than allowed.", + "schema": { + "$ref": "#/definitions/ErrorList" + }, + "examples": { + "application/json": { + "errors": [ + { + "code": "TooManyRequests", + "message": "The total number of requests exceeded your allowed limit." + } + ] + } + }, + "headers": { + "x-amzn-RateLimit-Limit": { + "type": "string", + "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." + }, + "x-amzn-RequestId": { + "type": "string", + "description": "Unique request reference identifier." + } + } + }, + "500": { + "description": "An unexpected condition occurred that prevented the server from fulfilling the request.", + "schema": { + "$ref": "#/definitions/ErrorList" + }, + "examples": { + "application/json": { + "errors": [ + { + "code": "InternalError", + "message": "Something went wrong while processing the request." + } + ] + } + }, + "headers": { + "x-amzn-RateLimit-Limit": { + "type": "string", + "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." + }, + "x-amzn-RequestId": { + "type": "string", + "description": "Unique request reference identifier." + } + } + }, + "503": { + "description": "Temporary overloading or maintenance of the server.", + "schema": { + "$ref": "#/definitions/ErrorList" + }, + "examples": { + "application/json": { + "errors": [ + { + "code": "ServiceUnavailable", + "message": "Service temporarily unavailable or down for maintenance. Please try again after sometime." + } + ] + } + }, + "headers": { + "x-amzn-RateLimit-Limit": { + "type": "string", + "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." + }, + "x-amzn-RequestId": { + "type": "string", + "description": "Unique request reference identifier." + } + } + } + }, + "x-amzn-api-sandbox": { + "dynamic": {} + } + }, + "parameters": [] + }, + "/shipping/v2/shipments/additionalInputs/schema": { + "get": { + "tags": [ + "shipping" + ], + "description": "Returns the JSON schema to use for providing additional inputs when needed to purchase a shipping offering. Call the getAdditionalInputs operation when the response to a previous call to the getRates operation indicates that additional inputs are required for the rate (shipping offering) that you want to purchase.\n\n**Usage Plan:**\n\n| Rate (requests per second) | Burst |\n| ---- | ---- |\n| 80 | 100 |\n\nThe `x-amzn-RateLimit-Limit` response header returns the usage plan rate limits that were applied to the requested operation, when available. The table above indicates the default rate and burst values for this operation. Selling partners whose business demands require higher throughput may see higher rate and burst values then those shown here. For more information, see [Usage Plans and Rate Limits in the Selling Partner API](https://developer-docs.amazon.com/sp-api/docs/usage-plans-and-rate-limits-in-the-sp-api).", + "operationId": "getAdditionalInputs", + "parameters": [ + { + "name": "requestToken", + "in": "query", + "description": "The request token returned in the response to the getRates operation.", + "required": true, + "type": "string" + }, + { + "name": "rateId", + "in": "query", + "description": "The rate identifier for the shipping offering (rate) returned in the response to the getRates operation.", + "required": true, + "type": "string" + }, + { + "name": "x-amzn-shipping-business-id", + "in": "header", + "description": "Amazon shipping business to assume for this request. The default is AmazonShipping_UK.", + "required": false, + "type": "string", + "enum": [ + "AmazonShipping_US", + "AmazonShipping_IN", + "AmazonShipping_UK", + "AmazonShipping_UAE", + "AmazonShipping_SA", + "AmazonShipping_EG", + "AmazonShipping_IT", + "AmazonShipping_ES", + "AmazonShipping_FR", + "AmazonShipping_JP" + ], + "x-docgen-enum-table-extension": [ + { + "value": "AmazonShipping_US", + "description": "The United States Amazon shipping business." + }, + { + "value": "AmazonShipping_IN", + "description": "The India Amazon shipping business." + }, + { + "value": "AmazonShipping_UK", + "description": "The United Kingdom Amazon shipping business." + }, + { + "value": "AmazonShipping_UAE", + "description": "The United Arab Emirates Amazon shipping business." + }, + { + "value": "AmazonShipping_SA", + "description": "The Saudi Arabia Amazon shipping business." + }, + { + "value": "AmazonShipping_EG", + "description": "The Egypt Amazon shipping business." + }, + { + "value": "AmazonShipping_IT", + "description": "The Italy Amazon shipping business." + }, + { + "value": "AmazonShipping_ES", + "description": "The Spain Amazon shipping business." + }, + { + "value": "AmazonShipping_FR", + "description": "The France Amazon shipping business." + }, + { + "value": "AmazonShipping_JP", + "description": "The Japan Amazon shipping business." + } + ] + } + ], + "responses": { + "200": { + "description": "Success.", + "schema": { + "$ref": "#/definitions/GetAdditionalInputsResponse" + }, + "examples": { + "application/json": { + "payload": { + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "Additional inputs for Shipping Offering", + "type": "object", + "properties": { + "harmonizedSystemCode": { + "type": "string", + "description": "Harmonized System's commodity code for an item." + }, + "packageClientReferenceId": { + "type": "string", + "description": "Unique identifier for the item." + } + } + } + } + }, + "headers": { + "x-amzn-RateLimit-Limit": { + "type": "string", + "description": "Your rate limit (requests per second) for this operation." + }, + "x-amzn-RequestId": { + "type": "string", + "description": "Unique request reference identifier." + } + }, + "x-amzn-api-sandbox": { + "static": [ + { + "request": { + "parameters": { + "requestToken": { + "value": "amzn1.rq.123456789.101" + }, + "rateId": { + "value": "122324234543535321345436534321423423523452345" + } + } + }, + "response": { + "payload": { + } + } + } + ] + } + }, + "400": { + "description": "Request has missing or invalid parameters and cannot be parsed.", + "schema": { + "$ref": "#/definitions/ErrorList" + }, + "examples": { + "application/json": { + "errors": [ + { + "code": "InvalidRequest", + "message": "Request is missing or has invalid parameters", + "details": "RequestToken cannot be null" + } + ] + } + }, + "headers": { + "x-amzn-RateLimit-Limit": { + "type": "string", + "description": "Your rate limit (requests per second) for this operation." + }, + "x-amzn-RequestId": { + "type": "string", + "description": "Unique request reference identifier." + } + }, + "x-amzn-api-sandbox": { + "static": [ + { + "request": { + "parameters": { + "requestToken": { + "value": "null" + }, + "rateId": { + "value": "2314346237423894905834905890346890789075" + } + } + }, + "response": { + "errors": [ + { + "code": "InvalidRequest", + "message": "Request is missing or has invalid parameters", + "details": "RequestToken cannot be null" + } + ] + } + } + ] + } + }, + "401": { + "description": "The request's Authorization header is not formatted correctly or does not contain a valid token.", + "schema": { + "$ref": "#/definitions/ErrorList" + }, + "examples": { + "application/json": { + "errors": [ + { + "code": "Unauthorized", + "message": "You don't have access to the requested response or the credentials are invalid." + } + ] + } + }, + "headers": { + "x-amzn-RateLimit-Limit": { + "type": "string", + "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." + }, + "x-amzn-RequestId": { + "type": "string", + "description": "Unique request reference identifier." + } + } + }, + "403": { + "description": "Indicates that access to the resource is forbidden. Possible reasons include Access Denied, Unauthorized, Expired Token, or Invalid Signature.", + "schema": { + "$ref": "#/definitions/ErrorList" + }, + "examples": { + "application/json": { + "errors": [ + { + "code": "Unauthorized", + "message": "You don't have access to the requested response or the credentials are invalid." + } + ] + } + }, + "headers": { + "x-amzn-RequestId": { + "type": "string", + "description": "Unique request reference identifier." + } + } + }, + "404": { + "description": "The resource specified does not exist.", + "schema": { + "$ref": "#/definitions/ErrorList" + }, + "examples": { + "application/json": { + "errors": [ + { + "code": "NotFound", + "message": "The requested resource is invalid or doesn't exist" + } + ] + } + }, + "headers": { + "x-amzn-RateLimit-Limit": { + "type": "string", + "description": "Your rate limit (requests per second) for this operation." + }, + "x-amzn-RequestId": { + "type": "string", + "description": "Unique request reference identifier." + } + } + }, + "413": { + "description": "The request size exceeded the maximum accepted size.", + "schema": { + "$ref": "#/definitions/ErrorList" + }, + "examples": { + "application/json": { + "errors": [ + { + "code": "InvalidRequest", + "message": "The request payload size is greater than maximum accepted size." + } + ] + } + }, + "headers": { + "x-amzn-RateLimit-Limit": { + "type": "string", + "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." + }, + "x-amzn-RequestId": { + "type": "string", + "description": "Unique request reference identifier." + } + } + }, + "415": { + "description": "The request payload is in an unsupported format.", + "schema": { + "$ref": "#/definitions/ErrorList" + }, + "examples": { + "application/json": { + "errors": [ + { + "code": "InvalidRequest", + "message": "The request payload format is not supported." + } + ] + } + }, + "headers": { + "x-amzn-RateLimit-Limit": { + "type": "string", + "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." + }, + "x-amzn-RequestId": { + "type": "string", + "description": "Unique request reference identifier." + } + } + }, + "429": { + "description": "The frequency of requests was greater than allowed.", + "schema": { + "$ref": "#/definitions/ErrorList" + }, + "examples": { + "application/json": { + "errors": [ + { + "code": "TooManyRequests", + "message": "The total number of requests exceeded your allowed limit." + } + ] + } + }, + "headers": { + "x-amzn-RateLimit-Limit": { + "type": "string", + "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." + }, + "x-amzn-RequestId": { + "type": "string", + "description": "Unique request reference identifier." + } + } + }, + "500": { + "description": "An unexpected condition occurred that prevented the server from fulfilling the request.", + "schema": { + "$ref": "#/definitions/ErrorList" + }, + "examples": { + "application/json": { + "errors": [ + { + "code": "InternalError", + "message": "Something went wrong while processing the request." + } + ] + } + }, + "headers": { + "x-amzn-RateLimit-Limit": { + "type": "string", + "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." + }, + "x-amzn-RequestId": { + "type": "string", + "description": "Unique request reference identifier." + } + } + }, + "503": { + "description": "Temporary overloading or maintenance of the server.", + "schema": { + "$ref": "#/definitions/ErrorList" + }, + "examples": { + "application/json": { + "errors": [ + { + "code": "ServiceUnavailable", + "message": "Service temporarily unavailable or down for maintenance. Please try again after sometime." + } + ] + } + }, + "headers": { + "x-amzn-RateLimit-Limit": { + "type": "string", + "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." + }, + "x-amzn-RequestId": { + "type": "string", + "description": "Unique request reference identifier." + } + } + } + } + }, + "parameters": [] + }, + "/shipping/v2/carrierAccountFormInputs": { + "get": { + "tags": [ + "shipping" + ], + "description": "This API will return a list of input schema required to register a shipper account with the carrier. \n\n**Usage Plan:**\n\n| Rate (requests per second) | Burst |\n| ---- | ---- |\n| 80 | 100 |\n\nThe `x-amzn-RateLimit-Limit` response header returns the usage plan rate limits that were applied to the requested operation, when available. The table above indicates the default rate and burst values for this operation. Selling partners whose business demands require higher throughput may see higher rate and burst values then those shown here. For more information, see [Usage Plans and Rate Limits in the Selling Partner API](https://developer-docs.amazon.com/sp-api/docs/usage-plans-and-rate-limits-in-the-sp-api).", + "operationId": "getCarrierAccountFormInputs", + "parameters": [ + { + "name": "x-amzn-shipping-business-id", + "in": "header", + "description": "Amazon shipping business to assume for this request. The default is AmazonShipping_UK.", + "required": false, + "type": "string", + "enum": [ + "AmazonShipping_US", + "AmazonShipping_IN", + "AmazonShipping_UK", + "AmazonShipping_UAE", + "AmazonShipping_SA", + "AmazonShipping_EG", + "AmazonShipping_IT", + "AmazonShipping_ES", + "AmazonShipping_FR", + "AmazonShipping_JP" + ], + "x-docgen-enum-table-extension": [ + { + "value": "AmazonShipping_US", + "description": "The United States Amazon shipping business." + }, + { + "value": "AmazonShipping_IN", + "description": "The India Amazon shipping business." + }, + { + "value": "AmazonShipping_UK", + "description": "The United Kingdom Amazon shipping business." + }, + { + "value": "AmazonShipping_UAE", + "description": "The United Arab Emirates Amazon shipping business." + }, + { + "value": "AmazonShipping_SA", + "description": "The Saudi Arabia Amazon shipping business." + }, + { + "value": "AmazonShipping_EG", + "description": "The Egypt Amazon shipping business." + }, + { + "value": "AmazonShipping_IT", + "description": "The Italy Amazon shipping business." + }, + { + "value": "AmazonShipping_ES", + "description": "The Spain Amazon shipping business." + }, + { + "value": "AmazonShipping_FR", + "description": "The France Amazon shipping business." + }, + { + "value": "AmazonShipping_JP", + "description": "The Japan Amazon shipping business." + } + ] + } + ], + "responses": { + "200": { + "description": "Success.", + "schema": { + "$ref": "#/definitions/GetCarrierAccountFormInputsResponse" + }, + "examples": { + "application/json": { + "linkableCarriers":[ + { + "carrierId":"FedEx", + "linkableAccountTypes":[ + { + "accountTypeId":"", + "carrierAccountInputs":[ + { + "descriptionLocalizationKey": "accountNumberDescriptionString", + "inputType": "TEXTBOX", + "isConfidential": true, + "isHidden": false, + "isMandatory": true, + "name": "ACCOUNT_NUMBER", + "validationMetadata": + [ + {"errorMessage": "stringId4", + "validationStrategy": "MIN_LENGTH", + "value": "5"}, + {"errorMessage": "stringId5", + "validationStrategy": "MAX_LENGTH", + "value": "35"} + ] + } + ] + } + ] + } + ] + } + }, + "headers": { + "x-amzn-RateLimit-Limit": { + "type": "string", + "description": "Your rate limit (requests per second) for this operation." + }, + "x-amzn-RequestId": { + "type": "string", + "description": "Unique request reference identifier." + } + } + }, + "400": { + "description": "Request has missing or invalid parameters and cannot be parsed.", + "schema": { + "$ref": "#/definitions/ErrorList" + }, + "examples": { + "application/json": { + "errors": [ + { + "code": "InvalidRequest", + "message": "Request is missing or has invalid parameters", + "details": "RequestToken cannot be null" + } + ] + } + }, + "headers": { + "x-amzn-RateLimit-Limit": { + "type": "string", + "description": "Your rate limit (requests per second) for this operation." + }, + "x-amzn-RequestId": { + "type": "string", + "description": "Unique request reference identifier." + } + } + }, + "401": { + "description": "The request's Authorization header is not formatted correctly or does not contain a valid token.", + "schema": { + "$ref": "#/definitions/ErrorList" + }, + "examples": { + "application/json": { + "errors": [ + { + "code": "Unauthorized", + "message": "You don't have access to the requested response or the credentials are invalid." + } + ] + } + }, + "headers": { + "x-amzn-RateLimit-Limit": { + "type": "string", + "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." + }, + "x-amzn-RequestId": { + "type": "string", + "description": "Unique request reference identifier." + } + } + }, + "403": { + "description": "Indicates that access to the resource is forbidden. Possible reasons include Access Denied, Unauthorized, Expired Token, or Invalid Signature.", + "schema": { + "$ref": "#/definitions/ErrorList" + }, + "examples": { + "application/json": { + "errors": [ + { + "code": "Unauthorized", + "message": "You don't have access to the requested response or the credentials are invalid." + } + ] + } + }, + "headers": { + "x-amzn-RequestId": { + "type": "string", + "description": "Unique request reference identifier." + } + } + }, + "404": { + "description": "The resource specified does not exist.", + "schema": { + "$ref": "#/definitions/ErrorList" + }, + "examples": { + "application/json": { + "errors": [ + { + "code": "NotFound", + "message": "The requested resource is invalid or doesn't exist" + } + ] + } + }, + "headers": { + "x-amzn-RateLimit-Limit": { + "type": "string", + "description": "Your rate limit (requests per second) for this operation." + }, + "x-amzn-RequestId": { + "type": "string", + "description": "Unique request reference identifier." + } + } + }, + "413": { + "description": "The request size exceeded the maximum accepted size.", + "schema": { + "$ref": "#/definitions/ErrorList" + }, + "examples": { + "application/json": { + "errors": [ + { + "code": "InvalidRequest", + "message": "The request payload size is greater than maximum accepted size." + } + ] + } + }, + "headers": { + "x-amzn-RateLimit-Limit": { + "type": "string", + "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." + }, + "x-amzn-RequestId": { + "type": "string", + "description": "Unique request reference identifier." + } + } + }, + "415": { + "description": "The request payload is in an unsupported format.", + "schema": { + "$ref": "#/definitions/ErrorList" + }, + "examples": { + "application/json": { + "errors": [ + { + "code": "InvalidRequest", + "message": "The request payload format is not supported." + } + ] + } + }, + "headers": { + "x-amzn-RateLimit-Limit": { + "type": "string", + "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." + }, + "x-amzn-RequestId": { + "type": "string", + "description": "Unique request reference identifier." + } + } + }, + "429": { + "description": "The frequency of requests was greater than allowed.", + "schema": { + "$ref": "#/definitions/ErrorList" + }, + "examples": { + "application/json": { + "errors": [ + { + "code": "TooManyRequests", + "message": "The total number of requests exceeded your allowed limit." + } + ] + } + }, + "headers": { + "x-amzn-RateLimit-Limit": { + "type": "string", + "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." + }, + "x-amzn-RequestId": { + "type": "string", + "description": "Unique request reference identifier." + } + } + }, + "500": { + "description": "An unexpected condition occurred that prevented the server from fulfilling the request.", + "schema": { + "$ref": "#/definitions/ErrorList" + }, + "examples": { + "application/json": { + "errors": [ + { + "code": "InternalError", + "message": "Something went wrong while processing the request." + } + ] + } + }, + "headers": { + "x-amzn-RateLimit-Limit": { + "type": "string", + "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." + }, + "x-amzn-RequestId": { + "type": "string", + "description": "Unique request reference identifier." + } + } + }, + "503": { + "description": "Temporary overloading or maintenance of the server.", + "schema": { + "$ref": "#/definitions/ErrorList" + }, + "examples": { + "application/json": { + "errors": [ + { + "code": "ServiceUnavailable", + "message": "Service temporarily unavailable or down for maintenance. Please try again after sometime." + } + ] + } + }, + "headers": { + "x-amzn-RateLimit-Limit": { + "type": "string", + "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." + }, + "x-amzn-RequestId": { + "type": "string", + "description": "Unique request reference identifier." + } + } + } + } + }, + "parameters": [] + }, + "/shipping/v2/carrierAccounts": { + "put": { + "tags": [ + "shipping" + ], + "description": "This API will return Get all carrier accounts for a merchant. \n\n**Usage Plan:**\n\n| Rate (requests per second) | Burst |\n| ---- | ---- |\n| 80 | 100 |\n\nThe `x-amzn-RateLimit-Limit` response header returns the usage plan rate limits that were applied to the requested operation, when available. The table above indicates the default rate and burst values for this operation. Selling partners whose business demands require higher throughput may see higher rate and burst values then those shown here. For more information, see [Usage Plans and Rate Limits in the Selling Partner API](https://developer-docs.amazon.com/sp-api/docs/usage-plans-and-rate-limits-in-the-sp-api).", + "operationId": "getCarrierAccounts", + "parameters": [ + { + "name": "body", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/GetCarrierAccountsRequest" + } + }, + { + "name": "x-amzn-shipping-business-id", + "in": "header", + "description": "Amazon shipping business to assume for this request. The default is AmazonShipping_UK.", + "required": false, + "type": "string", + "enum": [ + "AmazonShipping_US", + "AmazonShipping_IN", + "AmazonShipping_UK", + "AmazonShipping_UAE", + "AmazonShipping_SA", + "AmazonShipping_EG", + "AmazonShipping_IT", + "AmazonShipping_ES", + "AmazonShipping_FR", + "AmazonShipping_JP" + ], + "x-docgen-enum-table-extension": [ + { + "value": "AmazonShipping_US", + "description": "The United States Amazon shipping business." + }, + { + "value": "AmazonShipping_IN", + "description": "The India Amazon shipping business." + }, + { + "value": "AmazonShipping_UK", + "description": "The United Kingdom Amazon shipping business." + }, + { + "value": "AmazonShipping_UAE", + "description": "The United Arab Emirates Amazon shipping business." + }, + { + "value": "AmazonShipping_SA", + "description": "The Saudi Arabia Amazon shipping business." + }, + { + "value": "AmazonShipping_EG", + "description": "The Egypt Amazon shipping business." + }, + { + "value": "AmazonShipping_IT", + "description": "The Italy Amazon shipping business." + }, + { + "value": "AmazonShipping_ES", + "description": "The Spain Amazon shipping business." + }, + { + "value": "AmazonShipping_FR", + "description": "The France Amazon shipping business." + }, + { + "value": "AmazonShipping_JP", + "description": "The Japan Amazon shipping business." + } + ] + } + ], + "responses": { + "200": { + "description": "Success.", + "schema": { + "$ref": "#/definitions/GetCarrierAccountsResponse" + }, + "examples": { + "application/json": { + "activeAccounts":[ + { + "accountId":"XX", + "carrierId":"FedEx" + } + ] + } + }, + "headers": { + "x-amzn-RateLimit-Limit": { + "type": "string", + "description": "Your rate limit (requests per second) for this operation." + }, + "x-amzn-RequestId": { + "type": "string", + "description": "Unique request reference identifier." + } + } + }, + "400": { + "description": "Request has missing or invalid parameters and cannot be parsed.", + "schema": { + "$ref": "#/definitions/ErrorList" + }, + "examples": { + "application/json": { + "errors": [ + { + "code": "InvalidRequest", + "message": "Request is missing or has invalid parameters", + "details": "RequestToken cannot be null" + } + ] + } + }, + "headers": { + "x-amzn-RateLimit-Limit": { + "type": "string", + "description": "Your rate limit (requests per second) for this operation." + }, + "x-amzn-RequestId": { + "type": "string", + "description": "Unique request reference identifier." + } + } + }, + "401": { + "description": "The request's Authorization header is not formatted correctly or does not contain a valid token.", + "schema": { + "$ref": "#/definitions/ErrorList" + }, + "examples": { + "application/json": { + "errors": [ + { + "code": "Unauthorized", + "message": "You don't have access to the requested response or the credentials are invalid." + } + ] + } + }, + "headers": { + "x-amzn-RateLimit-Limit": { + "type": "string", + "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." + }, + "x-amzn-RequestId": { + "type": "string", + "description": "Unique request reference identifier." + } + } + }, + "403": { + "description": "Indicates that access to the resource is forbidden. Possible reasons include Access Denied, Unauthorized, Expired Token, or Invalid Signature.", + "schema": { + "$ref": "#/definitions/ErrorList" + }, + "examples": { + "application/json": { + "errors": [ + { + "code": "Unauthorized", + "message": "You don't have access to the requested response or the credentials are invalid." + } + ] + } + }, + "headers": { + "x-amzn-RequestId": { + "type": "string", + "description": "Unique request reference identifier." + } + } + }, + "404": { + "description": "The resource specified does not exist.", + "schema": { + "$ref": "#/definitions/ErrorList" + }, + "examples": { + "application/json": { + "errors": [ + { + "code": "NotFound", + "message": "The requested resource is invalid or doesn't exist" + } + ] + } + }, + "headers": { + "x-amzn-RateLimit-Limit": { + "type": "string", + "description": "Your rate limit (requests per second) for this operation." + }, + "x-amzn-RequestId": { + "type": "string", + "description": "Unique request reference identifier." + } + } + }, + "413": { + "description": "The request size exceeded the maximum accepted size.", + "schema": { + "$ref": "#/definitions/ErrorList" + }, + "examples": { + "application/json": { + "errors": [ + { + "code": "InvalidRequest", + "message": "The request payload size is greater than maximum accepted size." + } + ] + } + }, + "headers": { + "x-amzn-RateLimit-Limit": { + "type": "string", + "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." + }, + "x-amzn-RequestId": { + "type": "string", + "description": "Unique request reference identifier." + } + } + }, + "415": { + "description": "The request payload is in an unsupported format.", + "schema": { + "$ref": "#/definitions/ErrorList" + }, + "examples": { + "application/json": { + "errors": [ + { + "code": "InvalidRequest", + "message": "The request payload format is not supported." + } + ] + } + }, + "headers": { + "x-amzn-RateLimit-Limit": { + "type": "string", + "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." + }, + "x-amzn-RequestId": { + "type": "string", + "description": "Unique request reference identifier." + } + } + }, + "429": { + "description": "The frequency of requests was greater than allowed.", + "schema": { + "$ref": "#/definitions/ErrorList" + }, + "examples": { + "application/json": { + "errors": [ + { + "code": "TooManyRequests", + "message": "The total number of requests exceeded your allowed limit." + } + ] + } + }, + "headers": { + "x-amzn-RateLimit-Limit": { + "type": "string", + "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." + }, + "x-amzn-RequestId": { + "type": "string", + "description": "Unique request reference identifier." + } + } + }, + "500": { + "description": "An unexpected condition occurred that prevented the server from fulfilling the request.", + "schema": { + "$ref": "#/definitions/ErrorList" + }, + "examples": { + "application/json": { + "errors": [ + { + "code": "InternalError", + "message": "Something went wrong while processing the request." + } + ] + } + }, + "headers": { + "x-amzn-RateLimit-Limit": { + "type": "string", + "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." + }, + "x-amzn-RequestId": { + "type": "string", + "description": "Unique request reference identifier." + } + } + }, + "503": { + "description": "Temporary overloading or maintenance of the server.", + "schema": { + "$ref": "#/definitions/ErrorList" + }, + "examples": { + "application/json": { + "errors": [ + { + "code": "ServiceUnavailable", + "message": "Service temporarily unavailable or down for maintenance. Please try again after sometime." + } + ] + } + }, + "headers": { + "x-amzn-RateLimit-Limit": { + "type": "string", + "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." + }, + "x-amzn-RequestId": { + "type": "string", + "description": "Unique request reference identifier." + } + } + } + } + }, + "parameters": [] + }, + "/shipping/v2/carrierAccounts/{carrierId}": { + "put": { + "tags": [ + "shipping" + ], + "description": "This API associates/links the specified carrier account with the merchant. \n\n**Usage Plan:**\n\n| Rate (requests per second) | Burst |\n| ---- | ---- |\n| 80 | 100 |\n\nThe `x-amzn-RateLimit-Limit` response header returns the usage plan rate limits that were applied to the requested operation, when available. The table above indicates the default rate and burst values for this operation. Selling partners whose business demands require higher throughput may see higher rate and burst values then those shown here. For more information, see [Usage Plans and Rate Limits in the Selling Partner API](https://developer-docs.amazon.com/sp-api/docs/usage-plans-and-rate-limits-in-the-sp-api).", + "operationId": "linkCarrierAccount", + "parameters": [ + { + "name": "carrierId", + "description": "The unique identifier associated with the carrier account.", + "in": "path", + "required": true, + "type": "string" + }, + { + "name": "body", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/LinkCarrierAccountRequest" + } + }, + { + "name": "x-amzn-shipping-business-id", + "in": "header", + "description": "Amazon shipping business to assume for this request. The default is AmazonShipping_UK.", + "required": false, + "type": "string", + "enum": [ + "AmazonShipping_US", + "AmazonShipping_IN", + "AmazonShipping_UK", + "AmazonShipping_UAE", + "AmazonShipping_SA", + "AmazonShipping_EG", + "AmazonShipping_IT", + "AmazonShipping_ES", + "AmazonShipping_FR", + "AmazonShipping_JP" + ], + "x-docgen-enum-table-extension": [ + { + "value": "AmazonShipping_US", + "description": "The United States Amazon shipping business." + }, + { + "value": "AmazonShipping_IN", + "description": "The India Amazon shipping business." + }, + { + "value": "AmazonShipping_UK", + "description": "The United Kingdom Amazon shipping business." + }, + { + "value": "AmazonShipping_UAE", + "description": "The United Arab Emirates Amazon shipping business." + }, + { + "value": "AmazonShipping_SA", + "description": "The Saudi Arabia Amazon shipping business." + }, + { + "value": "AmazonShipping_EG", + "description": "The Egypt Amazon shipping business." + }, + { + "value": "AmazonShipping_IT", + "description": "The Italy Amazon shipping business." + }, + { + "value": "AmazonShipping_ES", + "description": "The Spain Amazon shipping business." + }, + { + "value": "AmazonShipping_FR", + "description": "The France Amazon shipping business." + }, + { + "value": "AmazonShipping_JP", + "description": "The Japan Amazon shipping business." + } + ] + } + ], + "responses": { + "200": { + "description": "Success.", + "schema": { + "$ref": "#/definitions/LinkCarrierAccountResponse" + }, + "examples": { + "application/json": { + "registrationStatus": "ACTIVE" + } + }, + "headers": { + "x-amzn-RateLimit-Limit": { + "type": "string", + "description": "Your rate limit (requests per second) for this operation." + }, + "x-amzn-RequestId": { + "type": "string", + "description": "Unique request reference identifier." + } + } + }, + "400": { + "description": "Request has missing or invalid parameters and cannot be parsed.", + "schema": { + "$ref": "#/definitions/ErrorList" + }, + "examples": { + "application/json": { + "errors": [ + { + "code": "InvalidRequest", + "message": "Request is missing or has invalid parameters", + "details": "RequestToken cannot be null" + } + ] + } + }, + "headers": { + "x-amzn-RateLimit-Limit": { + "type": "string", + "description": "Your rate limit (requests per second) for this operation." + }, + "x-amzn-RequestId": { + "type": "string", + "description": "Unique request reference identifier." + } + } + }, + "401": { + "description": "The request's Authorization header is not formatted correctly or does not contain a valid token.", + "schema": { + "$ref": "#/definitions/ErrorList" + }, + "examples": { + "application/json": { + "errors": [ + { + "code": "Unauthorized", + "message": "You don't have access to the requested response or the credentials are invalid." + } + ] + } + }, + "headers": { + "x-amzn-RateLimit-Limit": { + "type": "string", + "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." + }, + "x-amzn-RequestId": { + "type": "string", + "description": "Unique request reference identifier." + } + } + }, + "403": { + "description": "Indicates that access to the resource is forbidden. Possible reasons include Access Denied, Unauthorized, Expired Token, or Invalid Signature.", + "schema": { + "$ref": "#/definitions/ErrorList" + }, + "examples": { + "application/json": { + "errors": [ + { + "code": "Unauthorized", + "message": "You don't have access to the requested response or the credentials are invalid." + } + ] + } + }, + "headers": { + "x-amzn-RequestId": { + "type": "string", + "description": "Unique request reference identifier." + } + } + }, + "404": { + "description": "The resource specified does not exist.", + "schema": { + "$ref": "#/definitions/ErrorList" + }, + "examples": { + "application/json": { + "errors": [ + { + "code": "NotFound", + "message": "The requested resource is invalid or doesn't exist" + } + ] + } + }, + "headers": { + "x-amzn-RateLimit-Limit": { + "type": "string", + "description": "Your rate limit (requests per second) for this operation." + }, + "x-amzn-RequestId": { + "type": "string", + "description": "Unique request reference identifier." + } + } + }, + "413": { + "description": "The request size exceeded the maximum accepted size.", + "schema": { + "$ref": "#/definitions/ErrorList" + }, + "examples": { + "application/json": { + "errors": [ + { + "code": "InvalidRequest", + "message": "The request payload size is greater than maximum accepted size." + } + ] + } + }, + "headers": { + "x-amzn-RateLimit-Limit": { + "type": "string", + "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." + }, + "x-amzn-RequestId": { + "type": "string", + "description": "Unique request reference identifier." + } + } + }, + "415": { + "description": "The request payload is in an unsupported format.", + "schema": { + "$ref": "#/definitions/ErrorList" + }, + "examples": { + "application/json": { + "errors": [ + { + "code": "InvalidRequest", + "message": "The request payload format is not supported." + } + ] + } + }, + "headers": { + "x-amzn-RateLimit-Limit": { + "type": "string", + "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." + }, + "x-amzn-RequestId": { + "type": "string", + "description": "Unique request reference identifier." + } + } + }, + "429": { + "description": "The frequency of requests was greater than allowed.", + "schema": { + "$ref": "#/definitions/ErrorList" + }, + "examples": { + "application/json": { + "errors": [ + { + "code": "TooManyRequests", + "message": "The total number of requests exceeded your allowed limit." + } + ] + } + }, + "headers": { + "x-amzn-RateLimit-Limit": { + "type": "string", + "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." + }, + "x-amzn-RequestId": { + "type": "string", + "description": "Unique request reference identifier." + } + } + }, + "500": { + "description": "An unexpected condition occurred that prevented the server from fulfilling the request.", + "schema": { + "$ref": "#/definitions/ErrorList" + }, + "examples": { + "application/json": { + "errors": [ + { + "code": "InternalError", + "message": "Something went wrong while processing the request." + } + ] + } + }, + "headers": { + "x-amzn-RateLimit-Limit": { + "type": "string", + "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." + }, + "x-amzn-RequestId": { + "type": "string", + "description": "Unique request reference identifier." + } + } + }, + "503": { + "description": "Temporary overloading or maintenance of the server.", + "schema": { + "$ref": "#/definitions/ErrorList" + }, + "examples": { + "application/json": { + "errors": [ + { + "code": "ServiceUnavailable", + "message": "Service temporarily unavailable or down for maintenance. Please try again after sometime." + } + ] + } + }, + "headers": { + "x-amzn-RateLimit-Limit": { + "type": "string", + "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." + }, + "x-amzn-RequestId": { + "type": "string", + "description": "Unique request reference identifier." + } + } + } + } + }, + "parameters": [] + }, + "/shipping/v2/carrierAccounts/{carrierId}/unlink": { + "put": { + "tags": [ + "shipping" + ], + "description": "This API Unlink the specified carrier account with the merchant. \n\n**Usage Plan:**\n\n| Rate (requests per second) | Burst |\n| ---- | ---- |\n| 80 | 100 |\n\nThe `x-amzn-RateLimit-Limit` response header returns the usage plan rate limits that were applied to the requested operation, when available. The table above indicates the default rate and burst values for this operation. Selling partners whose business demands require higher throughput may see higher rate and burst values then those shown here. For more information, see [Usage Plans and Rate Limits in the Selling Partner API](https://developer-docs.amazon.com/sp-api/docs/usage-plans-and-rate-limits-in-the-sp-api).", + "operationId": "unlinkCarrierAccount", + "parameters": [ + { + "name": "carrierId", + "description":"carrier Id to unlink with merchant.", + "in": "path", + "required": true, + "type": "string" + }, + { + "name": "body", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/UnlinkCarrierAccountRequest" + } + }, + { + "name": "x-amzn-shipping-business-id", + "in": "header", + "description": "Amazon shipping business to assume for this request. The default is AmazonShipping_UK.", + "required": false, + "type": "string", + "enum": [ + "AmazonShipping_US", + "AmazonShipping_IN", + "AmazonShipping_UK", + "AmazonShipping_UAE", + "AmazonShipping_SA", + "AmazonShipping_EG", + "AmazonShipping_IT", + "AmazonShipping_ES", + "AmazonShipping_FR", + "AmazonShipping_JP" + ], + "x-docgen-enum-table-extension": [ + { + "value": "AmazonShipping_US", + "description": "The United States Amazon shipping business." + }, + { + "value": "AmazonShipping_IN", + "description": "The India Amazon shipping business." + }, + { + "value": "AmazonShipping_UK", + "description": "The United Kingdom Amazon shipping business." + }, + { + "value": "AmazonShipping_UAE", + "description": "The United Arab Emirates Amazon shipping business." + }, + { + "value": "AmazonShipping_SA", + "description": "The Saudi Arabia Amazon shipping business." + }, + { + "value": "AmazonShipping_EG", + "description": "The Egypt Amazon shipping business." + }, + { + "value": "AmazonShipping_IT", + "description": "The Italy Amazon shipping business." + }, + { + "value": "AmazonShipping_ES", + "description": "The Spain Amazon shipping business." + }, + { + "value": "AmazonShipping_FR", + "description": "The France Amazon shipping business." + }, + { + "value": "AmazonShipping_JP", + "description": "The Japan Amazon shipping business." + } + ] + } + ], + "responses": { + "200": { + "description": "Success.", + "schema": { + "$ref": "#/definitions/UnlinkCarrierAccountResponse" + }, + "examples": { + "application/json": { + "merchantId": "", + "isUnlinked": true + } + }, + "headers": { + "x-amzn-RateLimit-Limit": { + "type": "string", + "description": "Your rate limit (requests per second) for this operation." + }, + "x-amzn-RequestId": { + "type": "string", + "description": "Unique request reference identifier." + } + } + }, + "400": { + "description": "Request has missing or invalid parameters and cannot be parsed.", + "schema": { + "$ref": "#/definitions/ErrorList" + }, + "examples": { + "application/json": { + "errors": [ + { + "code": "InvalidRequest", + "message": "Request is missing or has invalid parameters", + "details": "RequestToken cannot be null" + } + ] + } + }, + "headers": { + "x-amzn-RateLimit-Limit": { + "type": "string", + "description": "Your rate limit (requests per second) for this operation." + }, + "x-amzn-RequestId": { + "type": "string", + "description": "Unique request reference identifier." + } + } + }, + "401": { + "description": "The request's Authorization header is not formatted correctly or does not contain a valid token.", + "schema": { + "$ref": "#/definitions/ErrorList" + }, + "examples": { + "application/json": { + "errors": [ + { + "code": "Unauthorized", + "message": "You don't have access to the requested response or the credentials are invalid." + } + ] + } + }, + "headers": { + "x-amzn-RateLimit-Limit": { + "type": "string", + "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." + }, + "x-amzn-RequestId": { + "type": "string", + "description": "Unique request reference identifier." + } + } + }, + "403": { + "description": "Indicates that access to the resource is forbidden. Possible reasons include Access Denied, Unauthorized, Expired Token, or Invalid Signature.", + "schema": { + "$ref": "#/definitions/ErrorList" + }, + "examples": { + "application/json": { + "errors": [ + { + "code": "Unauthorized", + "message": "You don't have access to the requested response or the credentials are invalid." + } + ] + } + }, + "headers": { + "x-amzn-RequestId": { + "type": "string", + "description": "Unique request reference identifier." + } + } + }, + "404": { + "description": "The resource specified does not exist.", + "schema": { + "$ref": "#/definitions/ErrorList" + }, + "examples": { + "application/json": { + "errors": [ + { + "code": "NotFound", + "message": "The requested resource is invalid or doesn't exist" + } + ] + } + }, + "headers": { + "x-amzn-RateLimit-Limit": { + "type": "string", + "description": "Your rate limit (requests per second) for this operation." + }, + "x-amzn-RequestId": { + "type": "string", + "description": "Unique request reference identifier." + } + } + }, + "413": { + "description": "The request size exceeded the maximum accepted size.", + "schema": { + "$ref": "#/definitions/ErrorList" + }, + "examples": { + "application/json": { + "errors": [ + { + "code": "InvalidRequest", + "message": "The request payload size is greater than maximum accepted size." + } + ] + } + }, + "headers": { + "x-amzn-RateLimit-Limit": { + "type": "string", + "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." + }, + "x-amzn-RequestId": { + "type": "string", + "description": "Unique request reference identifier." + } + } + }, + "415": { + "description": "The request payload is in an unsupported format.", + "schema": { + "$ref": "#/definitions/ErrorList" + }, + "examples": { + "application/json": { + "errors": [ + { + "code": "InvalidRequest", + "message": "The request payload format is not supported." + } + ] + } + }, + "headers": { + "x-amzn-RateLimit-Limit": { + "type": "string", + "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." + }, + "x-amzn-RequestId": { + "type": "string", + "description": "Unique request reference identifier." + } + } + }, + "429": { + "description": "The frequency of requests was greater than allowed.", + "schema": { + "$ref": "#/definitions/ErrorList" + }, + "examples": { + "application/json": { + "errors": [ + { + "code": "TooManyRequests", + "message": "The total number of requests exceeded your allowed limit." + } + ] + } + }, + "headers": { + "x-amzn-RateLimit-Limit": { + "type": "string", + "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." + }, + "x-amzn-RequestId": { + "type": "string", + "description": "Unique request reference identifier." + } + } + }, + "500": { + "description": "An unexpected condition occurred that prevented the server from fulfilling the request.", + "schema": { + "$ref": "#/definitions/ErrorList" + }, + "examples": { + "application/json": { + "errors": [ + { + "code": "InternalError", + "message": "Something went wrong while processing the request." + } + ] + } + }, + "headers": { + "x-amzn-RateLimit-Limit": { + "type": "string", + "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." + }, + "x-amzn-RequestId": { + "type": "string", + "description": "Unique request reference identifier." + } + } + }, + "503": { + "description": "Temporary overloading or maintenance of the server.", + "schema": { + "$ref": "#/definitions/ErrorList" + }, + "examples": { + "application/json": { + "errors": [ + { + "code": "ServiceUnavailable", + "message": "Service temporarily unavailable or down for maintenance. Please try again after sometime." + } + ] + } + }, + "headers": { + "x-amzn-RateLimit-Limit": { + "type": "string", + "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." + }, + "x-amzn-RequestId": { + "type": "string", + "description": "Unique request reference identifier." + } + } + } + } + }, + "parameters": [] + }, + "/shipping/v2/collectionForms": { + "post": { + "tags": [ + "shipping" + ], + "description": "This API Call to generate the collection form. \n\n**Usage Plan:**\n\n| Rate (requests per second) | Burst |\n| ---- | ---- |\n| 80 | 100 |\n\nThe `x-amzn-RateLimit-Limit` response header returns the usage plan rate limits that were applied to the requested operation, when available. The table above indicates the default rate and burst values for this operation. Selling partners whose business demands require higher throughput may see higher rate and burst values then those shown here. For more information, see [Usage Plans and Rate Limits in the Selling Partner API](https://developer-docs.amazon.com/sp-api/docs/usage-plans-and-rate-limits-in-the-sp-api).", + "operationId": "generateCollectionForm", + "parameters": [ + { + "name": "body", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/GenerateCollectionFormRequest" + } + }, + { + "name": "x-amzn-IdempotencyKey", + "description": "A unique value which the server uses to recognize subsequent retries of the same request.", + "in": "header", + "required": false, + "type": "string" + }, + { + "name": "x-amzn-shipping-business-id", + "in": "header", + "description": "Amazon shipping business to assume for this request. The default is AmazonShipping_UK.", + "required": false, + "type": "string", + "enum": [ + "AmazonShipping_US", + "AmazonShipping_IN", + "AmazonShipping_UK", + "AmazonShipping_UAE", + "AmazonShipping_SA", + "AmazonShipping_EG", + "AmazonShipping_IT", + "AmazonShipping_ES", + "AmazonShipping_FR", + "AmazonShipping_JP" + ], + "x-docgen-enum-table-extension": [ + { + "value": "AmazonShipping_US", + "description": "The United States Amazon shipping business." + }, + { + "value": "AmazonShipping_IN", + "description": "The India Amazon shipping business." + }, + { + "value": "AmazonShipping_UK", + "description": "The United Kingdom Amazon shipping business." + }, + { + "value": "AmazonShipping_UAE", + "description": "The United Arab Emirates Amazon shipping business." + }, + { + "value": "AmazonShipping_SA", + "description": "The Saudi Arabia Amazon shipping business." + }, + { + "value": "AmazonShipping_EG", + "description": "The Egypt Amazon shipping business." + }, + { + "value": "AmazonShipping_IT", + "description": "The Italy Amazon shipping business." + }, + { + "value": "AmazonShipping_ES", + "description": "The Spain Amazon shipping business." + }, + { + "value": "AmazonShipping_FR", + "description": "The France Amazon shipping business." + }, + { + "value": "AmazonShipping_JP", + "description": "The Japan Amazon shipping business." + } + ] + } + ], + "responses": { + "200": { + "description": "Success.", + "schema": { + "$ref": "#/definitions/GenerateCollectionFormResponse" + }, + "examples": { + "application/json": { + "collectionsFormDocument": + { + "base64EncodedContent": "VGhpcyBpcyBzb21lIHRleHQgdG8gY29udmVydCB2aWEgQ3J5cHQu", + "documentFormat": "application/pdf" + } + } + }, + "headers": { + "x-amzn-RateLimit-Limit": { + "type": "string", + "description": "Your rate limit (requests per second) for this operation." + }, + "x-amzn-RequestId": { + "type": "string", + "description": "Unique request reference identifier." + } + } + }, + "400": { + "description": "Request has missing or invalid parameters and cannot be parsed.", + "schema": { + "$ref": "#/definitions/ErrorList" + }, + "examples": { + "application/json": { + "errors": [ + { + "code": "InvalidRequest", + "message": "Request is missing or has invalid parameters", + "details": "RequestToken cannot be null" + } + ] + } + }, + "headers": { + "x-amzn-RateLimit-Limit": { + "type": "string", + "description": "Your rate limit (requests per second) for this operation." + }, + "x-amzn-RequestId": { + "type": "string", + "description": "Unique request reference identifier." + } + } + }, + "401": { + "description": "The request's Authorization header is not formatted correctly or does not contain a valid token.", + "schema": { + "$ref": "#/definitions/ErrorList" + }, + "examples": { + "application/json": { + "errors": [ + { + "code": "Unauthorized", + "message": "You don't have access to the requested response or the credentials are invalid." + } + ] + } + }, + "headers": { + "x-amzn-RateLimit-Limit": { + "type": "string", + "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." + }, + "x-amzn-RequestId": { + "type": "string", + "description": "Unique request reference identifier." + } + } + }, + "403": { + "description": "Indicates that access to the resource is forbidden. Possible reasons include Access Denied, Unauthorized, Expired Token, or Invalid Signature.", + "schema": { + "$ref": "#/definitions/ErrorList" + }, + "examples": { + "application/json": { + "errors": [ + { + "code": "Unauthorized", + "message": "You don't have access to the requested response or the credentials are invalid." + } + ] + } + }, + "headers": { + "x-amzn-RequestId": { + "type": "string", + "description": "Unique request reference identifier." + } + } + }, + "404": { + "description": "The resource specified does not exist.", + "schema": { + "$ref": "#/definitions/ErrorList" + }, + "examples": { + "application/json": { + "errors": [ + { + "code": "NotFound", + "message": "The requested resource is invalid or doesn't exist" + } + ] + } + }, + "headers": { + "x-amzn-RateLimit-Limit": { + "type": "string", + "description": "Your rate limit (requests per second) for this operation." + }, + "x-amzn-RequestId": { + "type": "string", + "description": "Unique request reference identifier." + } + } + }, + "413": { + "description": "The request size exceeded the maximum accepted size.", + "schema": { + "$ref": "#/definitions/ErrorList" + }, + "examples": { + "application/json": { + "errors": [ + { + "code": "InvalidRequest", + "message": "The request payload size is greater than maximum accepted size." + } + ] + } + }, + "headers": { + "x-amzn-RateLimit-Limit": { + "type": "string", + "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." + }, + "x-amzn-RequestId": { + "type": "string", + "description": "Unique request reference identifier." + } + } + }, + "415": { + "description": "The request payload is in an unsupported format.", + "schema": { + "$ref": "#/definitions/ErrorList" + }, + "examples": { + "application/json": { + "errors": [ + { + "code": "InvalidRequest", + "message": "The request payload format is not supported." + } + ] + } + }, + "headers": { + "x-amzn-RateLimit-Limit": { + "type": "string", + "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." + }, + "x-amzn-RequestId": { + "type": "string", + "description": "Unique request reference identifier." + } + } + }, + "429": { + "description": "The frequency of requests was greater than allowed.", + "schema": { + "$ref": "#/definitions/ErrorList" + }, + "examples": { + "application/json": { + "errors": [ + { + "code": "TooManyRequests", + "message": "The total number of requests exceeded your allowed limit." + } + ] + } + }, + "headers": { + "x-amzn-RateLimit-Limit": { + "type": "string", + "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." + }, + "x-amzn-RequestId": { + "type": "string", + "description": "Unique request reference identifier." + } + } + }, + "500": { + "description": "An unexpected condition occurred that prevented the server from fulfilling the request.", + "schema": { + "$ref": "#/definitions/ErrorList" + }, + "examples": { + "application/json": { + "errors": [ + { + "code": "InternalError", + "message": "Something went wrong while processing the request." + } + ] + } + }, + "headers": { + "x-amzn-RateLimit-Limit": { + "type": "string", + "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." + }, + "x-amzn-RequestId": { + "type": "string", + "description": "Unique request reference identifier." + } + } + }, + "503": { + "description": "Temporary overloading or maintenance of the server.", + "schema": { + "$ref": "#/definitions/ErrorList" + }, + "examples": { + "application/json": { + "errors": [ + { + "code": "ServiceUnavailable", + "message": "Service temporarily unavailable or down for maintenance. Please try again after sometime." + } + ] + } + }, + "headers": { + "x-amzn-RateLimit-Limit": { + "type": "string", + "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." + }, + "x-amzn-RequestId": { + "type": "string", + "description": "Unique request reference identifier." + } + } + } + } + }, + "parameters": [] + }, + "/shipping/v2/collectionForms/history": { + "put": { + "tags": [ + "shipping" + ], + "description": "This API Call to get the history of the previously generated collection forms. \n\n**Usage Plan:**\n\n| Rate (requests per second) | Burst |\n| ---- | ---- |\n| 80 | 100 |\n\nThe `x-amzn-RateLimit-Limit` response header returns the usage plan rate limits that were applied to the requested operation, when available. The table above indicates the default rate and burst values for this operation. Selling partners whose business demands require higher throughput may see higher rate and burst values then those shown here. For more information, see [Usage Plans and Rate Limits in the Selling Partner API](https://developer-docs.amazon.com/sp-api/docs/usage-plans-and-rate-limits-in-the-sp-api).", + "operationId": "getCollectionFormHistory", + "parameters": [ + { + "name": "body", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/GetCollectionFormHistoryRequest" + } + }, + { + "name": "x-amzn-shipping-business-id", + "in": "header", + "description": "Amazon shipping business to assume for this request. The default is AmazonShipping_UK.", + "required": false, + "type": "string", + "enum": [ + "AmazonShipping_US", + "AmazonShipping_IN", + "AmazonShipping_UK", + "AmazonShipping_UAE", + "AmazonShipping_SA", + "AmazonShipping_EG", + "AmazonShipping_IT", + "AmazonShipping_ES", + "AmazonShipping_FR", + "AmazonShipping_JP" + ], + "x-docgen-enum-table-extension": [ + { + "value": "AmazonShipping_US", + "description": "The United States Amazon shipping business." + }, + { + "value": "AmazonShipping_IN", + "description": "The India Amazon shipping business." + }, + { + "value": "AmazonShipping_UK", + "description": "The United Kingdom Amazon shipping business." + }, + { + "value": "AmazonShipping_UAE", + "description": "The United Arab Emirates Amazon shipping business." + }, + { + "value": "AmazonShipping_SA", + "description": "The Saudi Arabia Amazon shipping business." + }, + { + "value": "AmazonShipping_EG", + "description": "The Egypt Amazon shipping business." + }, + { + "value": "AmazonShipping_IT", + "description": "The Italy Amazon shipping business." + }, + { + "value": "AmazonShipping_ES", + "description": "The Spain Amazon shipping business." + }, + { + "value": "AmazonShipping_FR", + "description": "The France Amazon shipping business." + }, + { + "value": "AmazonShipping_JP", + "description": "The Japan Amazon shipping business." + } + ] + } + ], + "responses": { + "200": { + "description": "Success.", + "schema": { + "$ref": "#/definitions/GetCollectionFormHistoryResponse" + }, + "examples": { + "application/json": { + "collectionFormsHistoryRecordList": [ + { + "carrierName": "USPS", + "creationDate": 1650163712052, + "generationStatus": "COMPLETED", + "collectionFormId": "2c631e32-2538-3431-889e-008b6f5a6f11", + "shipFromAddress": "<**-redacted-**>" + } + ], + "lastRefreshedDate": "April 17 2022 06:20 PM PDT" + } + }, + "headers": { + "x-amzn-RateLimit-Limit": { + "type": "string", + "description": "Your rate limit (requests per second) for this operation." + }, + "x-amzn-RequestId": { + "type": "string", + "description": "Unique request reference identifier." + } + } + }, + "400": { + "description": "Request has missing or invalid parameters and cannot be parsed.", + "schema": { + "$ref": "#/definitions/ErrorList" + }, + "examples": { + "application/json": { + "errors": [ + { + "code": "InvalidRequest", + "message": "Request is missing or has invalid parameters", + "details": "RequestToken cannot be null" + } + ] + } + }, + "headers": { + "x-amzn-RateLimit-Limit": { + "type": "string", + "description": "Your rate limit (requests per second) for this operation." + }, + "x-amzn-RequestId": { + "type": "string", + "description": "Unique request reference identifier." + } + } + }, + "401": { + "description": "The request's Authorization header is not formatted correctly or does not contain a valid token.", + "schema": { + "$ref": "#/definitions/ErrorList" + }, + "examples": { + "application/json": { + "errors": [ + { + "code": "Unauthorized", + "message": "You don't have access to the requested response or the credentials are invalid." + } + ] + } + }, + "headers": { + "x-amzn-RateLimit-Limit": { + "type": "string", + "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." + }, + "x-amzn-RequestId": { + "type": "string", + "description": "Unique request reference identifier." + } + } + }, + "403": { + "description": "Indicates that access to the resource is forbidden. Possible reasons include Access Denied, Unauthorized, Expired Token, or Invalid Signature.", + "schema": { + "$ref": "#/definitions/ErrorList" + }, + "examples": { + "application/json": { + "errors": [ + { + "code": "Unauthorized", + "message": "You don't have access to the requested response or the credentials are invalid." + } + ] + } + }, + "headers": { + "x-amzn-RequestId": { + "type": "string", + "description": "Unique request reference identifier." + } + } + }, + "404": { + "description": "The resource specified does not exist.", + "schema": { + "$ref": "#/definitions/ErrorList" + }, + "examples": { + "application/json": { + "errors": [ + { + "code": "NotFound", + "message": "The requested resource is invalid or doesn't exist" + } + ] + } + }, + "headers": { + "x-amzn-RateLimit-Limit": { + "type": "string", + "description": "Your rate limit (requests per second) for this operation." + }, + "x-amzn-RequestId": { + "type": "string", + "description": "Unique request reference identifier." + } + } + }, + "413": { + "description": "The request size exceeded the maximum accepted size.", + "schema": { + "$ref": "#/definitions/ErrorList" + }, + "examples": { + "application/json": { + "errors": [ + { + "code": "InvalidRequest", + "message": "The request payload size is greater than maximum accepted size." + } + ] + } + }, + "headers": { + "x-amzn-RateLimit-Limit": { + "type": "string", + "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." + }, + "x-amzn-RequestId": { + "type": "string", + "description": "Unique request reference identifier." + } + } + }, + "415": { + "description": "The request payload is in an unsupported format.", + "schema": { + "$ref": "#/definitions/ErrorList" + }, + "examples": { + "application/json": { + "errors": [ + { + "code": "InvalidRequest", + "message": "The request payload format is not supported." + } + ] + } + }, + "headers": { + "x-amzn-RateLimit-Limit": { + "type": "string", + "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." + }, + "x-amzn-RequestId": { + "type": "string", + "description": "Unique request reference identifier." + } + } + }, + "429": { + "description": "The frequency of requests was greater than allowed.", + "schema": { + "$ref": "#/definitions/ErrorList" + }, + "examples": { + "application/json": { + "errors": [ + { + "code": "TooManyRequests", + "message": "The total number of requests exceeded your allowed limit." + } + ] + } + }, + "headers": { + "x-amzn-RateLimit-Limit": { + "type": "string", + "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." + }, + "x-amzn-RequestId": { + "type": "string", + "description": "Unique request reference identifier." + } + } + }, + "500": { + "description": "An unexpected condition occurred that prevented the server from fulfilling the request.", + "schema": { + "$ref": "#/definitions/ErrorList" + }, + "examples": { + "application/json": { + "errors": [ + { + "code": "InternalError", + "message": "Something went wrong while processing the request." + } + ] + } + }, + "headers": { + "x-amzn-RateLimit-Limit": { + "type": "string", + "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." + }, + "x-amzn-RequestId": { + "type": "string", + "description": "Unique request reference identifier." + } + } + }, + "503": { + "description": "Temporary overloading or maintenance of the server.", + "schema": { + "$ref": "#/definitions/ErrorList" + }, + "examples": { + "application/json": { + "errors": [ + { + "code": "ServiceUnavailable", + "message": "Service temporarily unavailable or down for maintenance. Please try again after sometime." + } + ] + } + }, + "headers": { + "x-amzn-RateLimit-Limit": { + "type": "string", + "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." + }, + "x-amzn-RequestId": { + "type": "string", + "description": "Unique request reference identifier." + } + } + } + } + }, + "parameters": [] + }, + "/shipping/v2/unmanifestedShipments": { + "put": { + "tags": [ + "shipping" + ], + "description": "This API Get all unmanifested carriers with shipment locations. Any locations which has unmanifested shipments\n with an eligible carrier for manifesting shall be returned. \n\n**Usage Plan:**\n\n| Rate (requests per second) | Burst |\n| ---- | ---- |\n| 80 | 100 |\n\nThe `x-amzn-RateLimit-Limit` response header returns the usage plan rate limits that were applied to the requested operation, when available. The table above indicates the default rate and burst values for this operation. Selling partners whose business demands require higher throughput may see higher rate and burst values then those shown here. For more information, see [Usage Plans and Rate Limits in the Selling Partner API](https://developer-docs.amazon.com/sp-api/docs/usage-plans-and-rate-limits-in-the-sp-api).", + "operationId": "getUnmanifestedShipments", + "parameters": [ + { + "name": "body", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/GetUnmanifestedShipmentsRequest" + } + }, + { + "name": "x-amzn-shipping-business-id", + "in": "header", + "description": "Amazon shipping business to assume for this request. The default is AmazonShipping_UK.", + "required": false, + "type": "string", + "enum": [ + "AmazonShipping_US", + "AmazonShipping_IN", + "AmazonShipping_UK", + "AmazonShipping_UAE", + "AmazonShipping_SA", + "AmazonShipping_EG", + "AmazonShipping_IT", + "AmazonShipping_ES", + "AmazonShipping_FR", + "AmazonShipping_JP" + ], + "x-docgen-enum-table-extension": [ + { + "value": "AmazonShipping_US", + "description": "The United States Amazon shipping business." + }, + { + "value": "AmazonShipping_IN", + "description": "The India Amazon shipping business." + }, + { + "value": "AmazonShipping_UK", + "description": "The United Kingdom Amazon shipping business." + }, + { + "value": "AmazonShipping_UAE", + "description": "The United Arab Emirates Amazon shipping business." + }, + { + "value": "AmazonShipping_SA", + "description": "The Saudi Arabia Amazon shipping business." + }, + { + "value": "AmazonShipping_EG", + "description": "The Egypt Amazon shipping business." + }, + { + "value": "AmazonShipping_IT", + "description": "The Italy Amazon shipping business." + }, + { + "value": "AmazonShipping_ES", + "description": "The Spain Amazon shipping business." + }, + { + "value": "AmazonShipping_FR", + "description": "The France Amazon shipping business." + }, + { + "value": "AmazonShipping_JP", + "description": "The Japan Amazon shipping business." + } + ] + } + ], + "responses": { + "200": { + "description": "Success.", + "schema": { + "$ref": "#/definitions/GetUnmanifestedShipmentsResponse" + }, + "examples": { + "application/json": { + "unmanifestedCarrierInformationList": [ + { + "carrierId": "USPS", + "carrierName": "USPS", + "unmanifestedShipmentLocationList": [ + { + "address": "<**-redacted-**>", + "lastManifestDate": 1650163712052 + } + ] + } + ] + } + }, + "headers": { + "x-amzn-RateLimit-Limit": { + "type": "string", + "description": "Your rate limit (requests per second) for this operation." + }, + "x-amzn-RequestId": { + "type": "string", + "description": "Unique request reference identifier." + } + } + }, + "400": { + "description": "Request has missing or invalid parameters and cannot be parsed.", + "schema": { + "$ref": "#/definitions/ErrorList" + }, + "examples": { + "application/json": { + "errors": [ + { + "code": "InvalidRequest", + "message": "Request is missing or has invalid parameters", + "details": "RequestToken cannot be null" + } + ] + } + }, + "headers": { + "x-amzn-RateLimit-Limit": { + "type": "string", + "description": "Your rate limit (requests per second) for this operation." + }, + "x-amzn-RequestId": { + "type": "string", + "description": "Unique request reference identifier." + } + } + }, + "401": { + "description": "The request's Authorization header is not formatted correctly or does not contain a valid token.", + "schema": { + "$ref": "#/definitions/ErrorList" + }, + "examples": { + "application/json": { + "errors": [ + { + "code": "Unauthorized", + "message": "You don't have access to the requested response or the credentials are invalid." + } + ] + } + }, + "headers": { + "x-amzn-RateLimit-Limit": { + "type": "string", + "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." + }, + "x-amzn-RequestId": { + "type": "string", + "description": "Unique request reference identifier." + } + } + }, + "403": { + "description": "Indicates that access to the resource is forbidden. Possible reasons include Access Denied, Unauthorized, Expired Token, or Invalid Signature.", + "schema": { + "$ref": "#/definitions/ErrorList" + }, + "examples": { + "application/json": { + "errors": [ + { + "code": "Unauthorized", + "message": "You don't have access to the requested response or the credentials are invalid." + } + ] + } + }, + "headers": { + "x-amzn-RequestId": { + "type": "string", + "description": "Unique request reference identifier." + } + } + }, + "404": { + "description": "The resource specified does not exist.", + "schema": { + "$ref": "#/definitions/ErrorList" + }, + "examples": { + "application/json": { + "errors": [ + { + "code": "NotFound", + "message": "The requested resource is invalid or doesn't exist" + } + ] + } + }, + "headers": { + "x-amzn-RateLimit-Limit": { + "type": "string", + "description": "Your rate limit (requests per second) for this operation." + }, + "x-amzn-RequestId": { + "type": "string", + "description": "Unique request reference identifier." + } + } + }, + "413": { + "description": "The request size exceeded the maximum accepted size.", + "schema": { + "$ref": "#/definitions/ErrorList" + }, + "examples": { + "application/json": { + "errors": [ + { + "code": "InvalidRequest", + "message": "The request payload size is greater than maximum accepted size." + } + ] + } + }, + "headers": { + "x-amzn-RateLimit-Limit": { + "type": "string", + "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." + }, + "x-amzn-RequestId": { + "type": "string", + "description": "Unique request reference identifier." + } + } + }, + "415": { + "description": "The request payload is in an unsupported format.", + "schema": { + "$ref": "#/definitions/ErrorList" + }, + "examples": { + "application/json": { + "errors": [ + { + "code": "InvalidRequest", + "message": "The request payload format is not supported." + } + ] + } + }, + "headers": { + "x-amzn-RateLimit-Limit": { + "type": "string", + "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." + }, + "x-amzn-RequestId": { + "type": "string", + "description": "Unique request reference identifier." + } + } + }, + "429": { + "description": "The frequency of requests was greater than allowed.", + "schema": { + "$ref": "#/definitions/ErrorList" + }, + "examples": { + "application/json": { + "errors": [ + { + "code": "TooManyRequests", + "message": "The total number of requests exceeded your allowed limit." + } + ] + } + }, + "headers": { + "x-amzn-RateLimit-Limit": { + "type": "string", + "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." + }, + "x-amzn-RequestId": { + "type": "string", + "description": "Unique request reference identifier." + } + } + }, + "500": { + "description": "An unexpected condition occurred that prevented the server from fulfilling the request.", + "schema": { + "$ref": "#/definitions/ErrorList" + }, + "examples": { + "application/json": { + "errors": [ + { + "code": "InternalError", + "message": "Something went wrong while processing the request." + } + ] + } + }, + "headers": { + "x-amzn-RateLimit-Limit": { + "type": "string", + "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." + }, + "x-amzn-RequestId": { + "type": "string", + "description": "Unique request reference identifier." + } + } + }, + "503": { + "description": "Temporary overloading or maintenance of the server.", + "schema": { + "$ref": "#/definitions/ErrorList" + }, + "examples": { + "application/json": { + "errors": [ + { + "code": "ServiceUnavailable", + "message": "Service temporarily unavailable or down for maintenance. Please try again after sometime." + } + ] + } + }, + "headers": { + "x-amzn-RateLimit-Limit": { + "type": "string", + "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." + }, + "x-amzn-RequestId": { + "type": "string", + "description": "Unique request reference identifier." + } + } + } + } + }, + "parameters": [] + }, + "/shipping/v2/collectionForms/{collectionFormId}": { + "get": { + "tags": [ + "shipping" + ], + "description": "This API reprint a collection form. \n\n**Usage Plan:**\n\n| Rate (requests per second) | Burst |\n| ---- | ---- |\n| 80 | 100 |\n\nThe `x-amzn-RateLimit-Limit` response header returns the usage plan rate limits that were applied to the requested operation, when available. The table above indicates the default rate and burst values for this operation. Selling partners whose business demands require higher throughput may see higher rate and burst values then those shown here. For more information, see [Usage Plans and Rate Limits in the Selling Partner API](https://developer-docs.amazon.com/sp-api/docs/usage-plans-and-rate-limits-in-the-sp-api).", + "operationId": "getCollectionForm", + "parameters": [ + { + "name": "collectionFormId", + "in": "path", + "description": "collection form Id to reprint a collection.", + "required": true, + "type": "string" + }, + { + "name": "x-amzn-shipping-business-id", + "in": "header", + "description": "Amazon shipping business to assume for this request. The default is AmazonShipping_UK.", + "required": false, + "type": "string", + "enum": [ + "AmazonShipping_US", + "AmazonShipping_IN", + "AmazonShipping_UK", + "AmazonShipping_UAE", + "AmazonShipping_SA", + "AmazonShipping_EG", + "AmazonShipping_IT", + "AmazonShipping_ES", + "AmazonShipping_FR", + "AmazonShipping_JP" + ], + "x-docgen-enum-table-extension": [ + { + "value": "AmazonShipping_US", + "description": "The United States Amazon shipping business." + }, + { + "value": "AmazonShipping_IN", + "description": "The India Amazon shipping business." + }, + { + "value": "AmazonShipping_UK", + "description": "The United Kingdom Amazon shipping business." + }, + { + "value": "AmazonShipping_UAE", + "description": "The United Arab Emirates Amazon shipping business." + }, + { + "value": "AmazonShipping_SA", + "description": "The Saudi Arabia Amazon shipping business." + }, + { + "value": "AmazonShipping_EG", + "description": "The Egypt Amazon shipping business." + }, + { + "value": "AmazonShipping_IT", + "description": "The Italy Amazon shipping business." + }, + { + "value": "AmazonShipping_ES", + "description": "The Spain Amazon shipping business." + }, + { + "value": "AmazonShipping_FR", + "description": "The France Amazon shipping business." + }, + { + "value": "AmazonShipping_JP", + "description": "The Japan Amazon shipping business." + } + ] + } + ], + "responses": { + "200": { + "description": "Success.", + "schema": { + "$ref": "#/definitions/GetCollectionFormResponse" + }, + "examples": { + "application/json": { + "collectionsFormDocument": + { + "base64EncodedContent": "VGhpcyBpcyBzb21lIHRleHQgdG8gY29udmVydCB2aWEgQ3J5cHQu", + "documentFormat": "application/pdf" + } + } + }, + "headers": { + "x-amzn-RateLimit-Limit": { + "type": "string", + "description": "Your rate limit (requests per second) for this operation." + }, + "x-amzn-RequestId": { + "type": "string", + "description": "Unique request reference identifier." + } + } + }, + "400": { + "description": "Request has missing or invalid parameters and cannot be parsed.", + "schema": { + "$ref": "#/definitions/ErrorList" + }, + "examples": { + "application/json": { + "errors": [ + { + "code": "InvalidRequest", + "message": "Request is missing or has invalid parameters", + "details": "RequestToken cannot be null" + } + ] + } + }, + "headers": { + "x-amzn-RateLimit-Limit": { + "type": "string", + "description": "Your rate limit (requests per second) for this operation." + }, + "x-amzn-RequestId": { + "type": "string", + "description": "Unique request reference identifier." + } + } + }, + "401": { + "description": "The request's Authorization header is not formatted correctly or does not contain a valid token.", + "schema": { + "$ref": "#/definitions/ErrorList" + }, + "examples": { + "application/json": { + "errors": [ + { + "code": "Unauthorized", + "message": "You don't have access to the requested response or the credentials are invalid." + } + ] + } + }, + "headers": { + "x-amzn-RateLimit-Limit": { + "type": "string", + "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." + }, + "x-amzn-RequestId": { + "type": "string", + "description": "Unique request reference identifier." + } + } + }, + "403": { + "description": "Indicates that access to the resource is forbidden. Possible reasons include Access Denied, Unauthorized, Expired Token, or Invalid Signature.", + "schema": { + "$ref": "#/definitions/ErrorList" + }, + "examples": { + "application/json": { + "errors": [ + { + "code": "Unauthorized", + "message": "You don't have access to the requested response or the credentials are invalid." + } + ] + } + }, + "headers": { + "x-amzn-RequestId": { + "type": "string", + "description": "Unique request reference identifier." + } + } + }, + "404": { + "description": "The resource specified does not exist.", + "schema": { + "$ref": "#/definitions/ErrorList" + }, + "examples": { + "application/json": { + "errors": [ + { + "code": "NotFound", + "message": "The requested resource is invalid or doesn't exist" + } + ] + } + }, + "headers": { + "x-amzn-RateLimit-Limit": { + "type": "string", + "description": "Your rate limit (requests per second) for this operation." + }, + "x-amzn-RequestId": { + "type": "string", + "description": "Unique request reference identifier." + } + } + }, + "413": { + "description": "The request size exceeded the maximum accepted size.", + "schema": { + "$ref": "#/definitions/ErrorList" + }, + "examples": { + "application/json": { + "errors": [ + { + "code": "InvalidRequest", + "message": "The request payload size is greater than maximum accepted size." + } + ] + } + }, + "headers": { + "x-amzn-RateLimit-Limit": { + "type": "string", + "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." + }, + "x-amzn-RequestId": { + "type": "string", + "description": "Unique request reference identifier." + } + } + }, + "415": { + "description": "The request payload is in an unsupported format.", + "schema": { + "$ref": "#/definitions/ErrorList" + }, + "examples": { + "application/json": { + "errors": [ + { + "code": "InvalidRequest", + "message": "The request payload format is not supported." + } + ] + } + }, + "headers": { + "x-amzn-RateLimit-Limit": { + "type": "string", + "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." + }, + "x-amzn-RequestId": { + "type": "string", + "description": "Unique request reference identifier." + } + } + }, + "429": { + "description": "The frequency of requests was greater than allowed.", + "schema": { + "$ref": "#/definitions/ErrorList" + }, + "examples": { + "application/json": { + "errors": [ + { + "code": "TooManyRequests", + "message": "The total number of requests exceeded your allowed limit." + } + ] + } + }, + "headers": { + "x-amzn-RateLimit-Limit": { + "type": "string", + "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." + }, + "x-amzn-RequestId": { + "type": "string", + "description": "Unique request reference identifier." + } + } + }, + "500": { + "description": "An unexpected condition occurred that prevented the server from fulfilling the request.", + "schema": { + "$ref": "#/definitions/ErrorList" + }, + "examples": { + "application/json": { + "errors": [ + { + "code": "InternalError", + "message": "Something went wrong while processing the request." + } + ] + } + }, + "headers": { + "x-amzn-RateLimit-Limit": { + "type": "string", + "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." + }, + "x-amzn-RequestId": { + "type": "string", + "description": "Unique request reference identifier." + } + } + }, + "503": { + "description": "Temporary overloading or maintenance of the server.", + "schema": { + "$ref": "#/definitions/ErrorList" + }, + "examples": { + "application/json": { + "errors": [ + { + "code": "ServiceUnavailable", + "message": "Service temporarily unavailable or down for maintenance. Please try again after sometime." + } + ] + } + }, + "headers": { + "x-amzn-RateLimit-Limit": { + "type": "string", + "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." + }, + "x-amzn-RequestId": { + "type": "string", + "description": "Unique request reference identifier." + } + } + } + } + }, + "parameters": [] + }, + "/shipping/v2/accessPoints": { + "get": { + "tags": [ + "shipping" + ], + "description": "Returns a list of access points in proximity of input postal code.\n\n**Usage Plan:**\n\n| Rate (requests per second) | Burst |\n| ---- | ---- |\n| 80 | 100 |\n\nThe `x-amzn-RateLimit-Limit` response header returns the usage plan rate limits that were applied to the requested operation, when available. The table above indicates the default rate and burst values for this operation. Selling partners whose business demands require higher throughput may see higher rate and burst values then those shown here. For more information, see [Usage Plans and Rate Limits in the Selling Partner API](https://developer-docs.amazon.com/sp-api/docs/usage-plans-and-rate-limits-in-the-sp-api).", + "operationId": "getAccessPoints", + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "parameters": [ + { + "in": "query", + "name": "accessPointTypes", + "required": true, + "type": "array", + "items": { + "type": "string", + "enum": [ + "HELIX", + "CAMPUS_LOCKER", + "OMNI_LOCKER", + "ODIN_LOCKER", + "DOBBY_LOCKER", + "CORE_LOCKER", + "3P", + "CAMPUS_ROOM" + ] + }, + "x-docgen-enum-table-extension": [ + { + "value": "HELIX", + "description": "Counter, aka Helix, is an assisted access point where customers interact with a store associate to collect or return packages. Counter stores do not have Locker" + }, + { + "value": "CAMPUS_LOCKER", + "description": "It denotes a physical Locker present at Locker+ stores" + }, + { + "value": "OMNI_LOCKER", + "description": "Omni lockers are similar to core lockers installed at apartment buildings. Core and Omni will have common base hardware platform" + }, + { + "value": "ODIN_LOCKER", + "description": "Odin lockers rely on Bluetooth connection as there is no screen or scanner on the locker. Drivers, customers, and even technicians can interact with the locker using an app (different depending on the user)." + }, + { + "value": "DOBBY_LOCKER", + "description": "Dobby lockers are Odin lockers installed at apartment complexes and available only to residents." + }, + { + "value": "CORE_LOCKER", + "description": "Core lockers are the traditional and initial style of lockers when Hub was launched. Core lockers have a screen, keypad and scanner. Customer either enter their pickup code using the Locker screen or scan pickup code barcode to pick up their package." + }, + { + "value": "3P", + "description": "Networks that are owned end-to-end by commercial carriers (CC - e.g. DHL, UPS, DPD and Postal organizations), who operate both the transportation leg and the access point aspect. These networks offer a range of pickup points including: 3P Lockers, legacy Postal Offices, 3P Counters (e.g. Gas Stations and Retail Outlets - supermarkets, bookstores, news-stands etc)." + }, + { + "value": "CAMPUS_ROOM", + "description": "Locker+, formerly known as Campus, are attended, physical stores, where the Locker is used dynamically by the staff to keep packages ready for customer pickup. Locker+ store can have multiple Lockers installed," + } + ], + "collectionFormat": "csv", + "x-example": "HELIX" + }, + { + "in": "query", + "name": "countryCode", + "required": true, + "type": "string", + "collectionFormat": "csv", + "x-example": "US" + }, + { + "in": "query", + "name": "postalCode", + "required": true, + "type": "string", + "collectionFormat": "csv", + "x-example": "EX332JL" + }, + { + "name": "x-amzn-shipping-business-id", + "in": "header", + "description": "Amazon shipping business to assume for this request. The default is AmazonShipping_UK.", + "required": false, + "type": "string", + "enum": [ + "AmazonShipping_US", + "AmazonShipping_IN", + "AmazonShipping_UK", + "AmazonShipping_UAE", + "AmazonShipping_SA", + "AmazonShipping_EG", + "AmazonShipping_IT", + "AmazonShipping_ES", + "AmazonShipping_FR", + "AmazonShipping_JP" + ], + "x-docgen-enum-table-extension": [ + { + "value": "AmazonShipping_US", + "description": "The United States Amazon shipping business." + }, + { + "value": "AmazonShipping_IN", + "description": "The India Amazon shipping business." + }, + { + "value": "AmazonShipping_UK", + "description": "The United Kingdom Amazon shipping business." + }, + { + "value": "AmazonShipping_UAE", + "description": "The United Arab Emirates Amazon shipping business." + }, + { + "value": "AmazonShipping_SA", + "description": "The Saudi Arabia Amazon shipping business." + }, + { + "value": "AmazonShipping_EG", + "description": "The Egypt Amazon shipping business." + }, + { + "value": "AmazonShipping_IT", + "description": "The Italy Amazon shipping business." + }, + { + "value": "AmazonShipping_ES", + "description": "The Spain Amazon shipping business." + }, + { + "value": "AmazonShipping_FR", + "description": "The France Amazon shipping business." + }, + { + "value": "AmazonShipping_JP", + "description": "The Japan Amazon shipping business." + } + ] + } + ], + "responses": { + "200": { + "description": "Success.", + "schema": { + "$ref": "#/definitions/GetAccessPointsResponse" + }, + "examples": { + "application/json": { + "HELIX": { + "accessPointId": "00046c4b-bb0a-4c03-831e-5633e142f16a", + "name": "Amazon Hub Counter - Co-op Braunton", + "timezone": "Europe/London", + "type": "HELIX", + "accessibilityAttributes": { + "distance": "21.200000762939453", + "driveTime": "0.0" + }, + "address": { + "addressObject": { + "addressLine1": "Exeter Road", + "city": "Braunton", + "countryCode": "GB", + "zipOrPostalCode": "EX33 2JL" + }, + "geocode": { + "latitude": "51.1076671", + "longitude": "-4.1607301" + } + }, + "exceptionOperatingHours": [ + { + "dateRange": { + "endDate": "1.6932672E9", + "startDate": "1.6931808E9" + }, + "operatingHours": { + "closingTime": { + "hourOfDay": 0, + "minuteOfHour": 0, + "secondOfMinute": 0 + }, + "midDayClosures": [], + "openingTime": { + "hourOfDay": 0, + "minuteOfHour": 0, + "secondOfMinute": 0 + } + } + } + ], + "assistanceType": "STAFF_ASSISTED", + "score": "0.6688068509101868", + "standardOperatingHours": { + "WEDNESDAY": { + "closingTime": { + "hourOfDay": 22, + "minuteOfHour": 0, + "secondOfMinute": 0 + }, + "midDayClosures": [], + "openingTime": { + "hourOfDay": 7, + "minuteOfHour": 0, + "secondOfMinute": 0 + } + }, + "MONDAY": { + "closingTime": { + "hourOfDay": 22, + "minuteOfHour": 0, + "secondOfMinute": 0 + }, + "midDayClosures": [], + "openingTime": { + "hourOfDay": 7, + "minuteOfHour": 0, + "secondOfMinute": 0 + } + }, + "THURSDAY": { + "closingTime": { + "hourOfDay": 22, + "minuteOfHour": 0, + "secondOfMinute": 0 + }, + "midDayClosures": [], + "openingTime": { + "hourOfDay": 7, + "minuteOfHour": 0, + "secondOfMinute": 0 + } + }, + "SUNDAY": { + "closingTime": { + "hourOfDay": 22, + "minuteOfHour": 0, + "secondOfMinute": 0 + }, + "midDayClosures": [], + "openingTime": { + "hourOfDay": 7, + "minuteOfHour": 0, + "secondOfMinute": 0 + } + }, + "TUESDAY": { + "closingTime": { + "hourOfDay": 22, + "minuteOfHour": 0, + "secondOfMinute": 0 + }, + "midDayClosures": [], + "openingTime": { + "hourOfDay": 7, + "minuteOfHour": 0, + "secondOfMinute": 0 + } + }, + "FRIDAY": { + "closingTime": { + "hourOfDay": 22, + "minuteOfHour": 0, + "secondOfMinute": 0 + }, + "midDayClosures": [], + "openingTime": { + "hourOfDay": 7, + "minuteOfHour": 0, + "secondOfMinute": 0 + } + }, + "SATURDAY": { + "closingTime": { + "hourOfDay": 22, + "minuteOfHour": 0, + "secondOfMinute": 0 + }, + "midDayClosures": [], + "openingTime": { + "hourOfDay": 7, + "minuteOfHour": 0, + "secondOfMinute": 0 + } + } + } + } + } + }, + "headers": { + "x-amzn-RateLimit-Limit": { + "type": "string", + "description": "Your rate limit (requests per second) for this operation." + }, + "x-amzn-RequestId": { + "type": "string", + "description": "Unique request reference identifier." + } + } + }, + "400": { + "description": "Request has missing or invalid parameters and cannot be parsed.", + "schema": { + "$ref": "#/definitions/ErrorList" + }, + "examples": { + "application/json": { + "errors": [ + { + "code": "InvalidRequest", + "message": "Request is missing or has invalid parameters", + "details": "Access Point types cannot be null" + } + ] + } + }, + "headers": { + "x-amzn-RateLimit-Limit": { + "type": "string", + "description": "Your rate limit (requests per second) for this operation." + }, + "x-amzn-RequestId": { + "type": "string", + "description": "Unique request reference identifier." + } + } + }, + "401": { + "description": "The request's Authorization header is not formatted correctly or does not contain a valid token.", + "schema": { + "$ref": "#/definitions/ErrorList" + }, + "examples": { + "application/json": { + "errors": [ + { + "code": "Unauthorized", + "message": "You don't have access to the requested response or the credentials are invalid." + } + ] + } + }, + "headers": { + "x-amzn-RateLimit-Limit": { + "type": "string", + "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." + }, + "x-amzn-RequestId": { + "type": "string", + "description": "Unique request reference identifier." + } + } + }, + "403": { + "description": "Indicates that access to the resource is forbidden. Possible reasons include Access Denied, Unauthorized, Expired Token, or Invalid Signature.", + "schema": { + "$ref": "#/definitions/ErrorList" + }, + "examples": { + "application/json": { + "errors": [ + { + "code": "Unauthorized", + "message": "You don't have access to the requested response or the credentials are invalid." + } + ] + } + }, + "headers": { + "x-amzn-RequestId": { + "type": "string", + "description": "Unique request reference identifier." + } + } + }, + "404": { + "description": "The resource specified does not exist.", + "schema": { + "$ref": "#/definitions/ErrorList" + }, + "examples": { + "application/json": { + "errors": [ + { + "code": "NotFound", + "message": "The requested resource is invalid or doesn't exist" + } + ] + } + }, + "headers": { + "x-amzn-RateLimit-Limit": { + "type": "string", + "description": "Your rate limit (requests per second) for this operation." + }, + "x-amzn-RequestId": { + "type": "string", + "description": "Unique request reference identifier." + } + } + }, + "413": { + "description": "The request size exceeded the maximum accepted size.", + "schema": { + "$ref": "#/definitions/ErrorList" + }, + "examples": { + "application/json": { + "errors": [ + { + "code": "InvalidRequest", + "message": "The request payload size is greater than maximum accepted size." + } + ] + } + }, + "headers": { + "x-amzn-RateLimit-Limit": { + "type": "string", + "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." + }, + "x-amzn-RequestId": { + "type": "string", + "description": "Unique request reference identifier." + } + } + }, + "415": { + "description": "The request payload is in an unsupported format.", + "schema": { + "$ref": "#/definitions/ErrorList" + }, + "examples": { + "application/json": { + "errors": [ + { + "code": "InvalidRequest", + "message": "The request payload format is not supported." + } + ] + } + }, + "headers": { + "x-amzn-RateLimit-Limit": { + "type": "string", + "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." + }, + "x-amzn-RequestId": { + "type": "string", + "description": "Unique request reference identifier." + } + } + }, + "429": { + "description": "The frequency of requests was greater than allowed.", + "schema": { + "$ref": "#/definitions/ErrorList" + }, + "examples": { + "application/json": { + "errors": [ + { + "code": "TooManyRequests", + "message": "The total number of requests exceeded your allowed limit." + } + ] + } + }, + "headers": { + "x-amzn-RateLimit-Limit": { + "type": "string", + "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." + }, + "x-amzn-RequestId": { + "type": "string", + "description": "Unique request reference identifier." + } + } + }, + "500": { + "description": "An unexpected condition occurred that prevented the server from fulfilling the request.", + "schema": { + "$ref": "#/definitions/ErrorList" + }, + "examples": { + "application/json": { + "errors": [ + { + "code": "InternalError", + "message": "Something went wrong while processing the request." + } + ] + } + }, + "headers": { + "x-amzn-RateLimit-Limit": { + "type": "string", + "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." + }, + "x-amzn-RequestId": { + "type": "string", + "description": "Unique request reference identifier." + } + } + }, + "503": { + "description": "Temporary overloading or maintenance of the server.", + "schema": { + "$ref": "#/definitions/ErrorList" + }, + "examples": { + "application/json": { + "errors": [ + { + "code": "ServiceUnavailable", + "message": "Service temporarily unavailable or down for maintenance. Please try again after sometime." + } + ] + } + }, + "headers": { + "x-amzn-RateLimit-Limit": { + "type": "string", + "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." + }, + "x-amzn-RequestId": { + "type": "string", + "description": "Unique request reference identifier." + } + } + } + }, + "x-amzn-api-sandbox": { + "dynamic": {} + } + }, + "parameters": [] + } + }, + "definitions": { + "Error": { + "type": "object", + "required": [ + "code", + "message" + ], + "properties": { + "code": { + "type": "string", + "description": "An error code that identifies the type of error that occurred." + }, + "message": { + "type": "string", + "description": "A message that describes the error condition." + }, + "details": { + "type": "string", + "description": "Additional details that can help the caller understand or fix the issue." + } + }, + "description": "Error response returned when the request is unsuccessful." + }, + "ErrorList": { + "type": "object", + "description": "A list of error responses returned when a request is unsuccessful.", + "required": [ + "errors" + ], + "properties": { + "errors": { + "type": "array", + "items": { + "$ref": "#/definitions/Error" + } + } + } + }, + "Weight": { + "description": "The weight in the units indicated.", + "type": "object", + "required": [ + "unit", + "value" + ], + "properties": { + "unit": { + "type": "string", + "description": "The unit of measurement.", + "enum": [ + "GRAM", + "KILOGRAM", + "OUNCE", + "POUND" + ], + "x-docgen-enum-table-extension": [ + { + "value": "GRAM", + "description": "Metric unit of mass equal to one thousandth of a kilogram." + }, + { + "value": "KILOGRAM", + "description": "Metric unit of mass." + }, + { + "value": "OUNCE", + "description": "The imperial unit of weight that is one sixteenth of a pound." + }, + { + "value": "POUND", + "description": "The imperial unit of weight." + } + ] + }, + "value": { + "type": "number", + "description": "The measurement value." + } + } + }, + "LiquidVolume": { + "type": "object", + "required": [ + "unit", + "value" + ], + "properties": { + "unit": { + "type": "string", + "description": "The unit of measurement.", + "enum": [ + "ML", + "L", + "FL_OZ", + "GAL", + "PT", + "QT", + "C" + ], + "x-docgen-enum-table-extension": [ + { + "value": "ML", + "description": "Milliliter - Metric unit of volume." + }, + { + "value": "L", + "description": "Liter - Metric unit of volume." + }, + { + "value": "FL_OZ", + "description": "Fluid Ounce - Imperial unit of volume." + }, + { + "value": "GAL", + "description": "Gallon - Imperial unit of volume." + }, + { + "value": "PT", + "description": "Pint - Imperial unit of volume." + }, + { + "value": "QT", + "description": "Quart - Imperial unit of volume." + }, + { + "value": "C", + "description": "Cup - Imperial unit of volume." + } + ] + }, + "value": { + "type": "number", + "description": "The measurement value." + } + }, + "description": "Liquid Volume." + }, + "InvoiceDetails": { + "description": "The invoice details for charges associated with the goods in the package. Only applies to certain regions.", + "type": "object", + "properties": { + "invoiceNumber": { + "type": "string", + "description": "The invoice number of the item." + }, + "invoiceDate": { + "type": "string", + "format": "date-time", + "description": "The invoice date of the item in ISO 8061 format." + } + } + }, + "ChargeList": { + "type": "array", + "description": "A list of charges based on the shipping service charges applied on a package.", + "items": { + "$ref": "#/definitions/ChargeComponent" + } + }, + "ChargeComponent": { + "type": "object", + "description": "The type and amount of a charge applied on a package.", + "properties": { + "amount": { + "$ref": "#/definitions/Currency" + }, + "chargeType": { + "type": "string", + "description": "The type of charge.", + "enum": [ + "TAX", + "DISCOUNT" + ], + "x-docgen-enum-table-extension": [ + { + "value": "TAX", + "description": "A tax imposed on a package." + }, + { + "value": "DISCOUNT", + "description": "A discount deducted from the cost of a package." + } + ] + } + } + }, + "Currency": { + "description": "The monetary value in the currency indicated, in ISO 4217 standard format.", + "type": "object", + "required": [ + "unit", + "value" + ], + "properties": { + "value": { + "type": "number", + "description": "The monetary value." + }, + "unit": { + "type": "string", + "description": "The ISO 4217 format 3-character currency code.", + "minLength": 3, + "maxLength": 3 + } + } + }, + "Dimensions": { + "type": "object", + "required": [ + "height", + "length", + "unit", + "width" + ], + "properties": { + "length": { + "type": "number", + "description": "The length of the package." + }, + "width": { + "type": "number", + "description": "The width of the package." + }, + "height": { + "type": "number", + "description": "The height of the package." + }, + "unit": { + "type": "string", + "description": "The unit of measurement.", + "enum": [ + "INCH", + "CENTIMETER" + ], + "x-docgen-enum-table-extension": [ + { + "value": "INCH", + "description": "The imperial unit of length equal to one twelfth of a foot." + }, + { + "value": "CENTIMETER", + "description": "A metric unit of length, equal to one hundredth of a meter." + } + ] + } + }, + "description": "A set of measurements for a three-dimensional object." + }, + "RequestToken": { + "type": "string", + "description": "A unique token generated to identify a getRates operation." + }, + "RateId": { + "type": "string", + "description": "An identifier for the rate (shipment offering) provided by a shipping service provider." + }, + "CarrierId": { + "type": "string", + "description": "The carrier identifier for the offering, provided by the carrier." + }, + "CarrierName": { + "type": "string", + "description": "The carrier name for the offering." + }, + "PackageClientReferenceId": { + "type": "string", + "description": "A client provided unique identifier for a package being shipped. This value should be saved by the client to pass as a parameter to the getShipmentDocuments operation." + }, + "ShipmentId": { + "type": "string", + "description": "The unique shipment identifier provided by a shipping service." + }, + "TrackingId": { + "type": "string", + "description": "The carrier generated identifier for a package in a purchased shipment." + }, + "AlternateLegTrackingId": { + "type": "string", + "description": "The carrier generated reverse identifier for a returned package in a purchased shipment." + }, + "ServiceId": { + "type": "string", + "description": "An identifier for the shipping service." + }, + "ServiceName": { + "type": "string", + "description": "The name of the shipping service." + }, + "ShipperInstruction": { + "type": "object", + "properties": { + "deliveryNotes": { + "type": "string", + "description": "The delivery notes for the shipment", + "maxLength": 256 + } + }, + "description": "The shipper instruction." + }, + "Address": { + "type": "object", + "required": [ + "addressLine1", + "city", + "countryCode", + "name", + "postalCode", + "stateOrRegion" + ], + "properties": { + "name": { + "type": "string", + "description": "The name of the person, business or institution at the address.", + "minLength": 1, + "maxLength": 50 + }, + "addressLine1": { + "type": "string", + "description": "The first line of the address.", + "minLength": 1, + "maxLength": 60 + }, + "addressLine2": { + "type": "string", + "description": "Additional address information, if required.", + "minLength": 1, + "maxLength": 60 + }, + "addressLine3": { + "type": "string", + "description": "Additional address information, if required.", + "minLength": 1, + "maxLength": 60 + }, + "companyName": { + "type": "string", + "description": "The name of the business or institution associated with the address." + }, + "stateOrRegion": { + "$ref": "#/definitions/StateOrRegion" + }, + "city": { + "$ref": "#/definitions/City" + }, + "countryCode": { + "$ref": "#/definitions/CountryCode" + }, + "postalCode": { + "$ref": "#/definitions/PostalCode" + }, + "email": { + "type": "string", + "description": "The email address of the contact associated with the address.", + "maxLength": 64 + }, + "phoneNumber": { + "type": "string", + "description": "The phone number of the person, business or institution located at that address, including the country calling code.", + "minLength": 1, + "maxLength": 20 + }, + "geocode": { + "$ref": "#/definitions/Geocode" + } + }, + "description": "The address." + }, + "Geocode": { + "type": "object", + "description": "Defines the latitude and longitude of the access point.", + "properties": { + "latitude": { + "description": "The latitude of access point.", + "type": "string" + }, + "longitude": { + "description": "The longitude of access point.", + "type": "string" + } + } + }, + "StateOrRegion": { + "type": "string", + "description": "The state, county or region where the person, business or institution is located." + }, + "City": { + "type": "string", + "description": "The city or town where the person, business or institution is located." + }, + "CountryCode": { + "type": "string", + "description": "The two digit country code. Follows ISO 3166-1 alpha-2 format." + }, + "PostalCode": { + "type": "string", + "description": "The postal code of that address. It contains a series of letters or digits or both, sometimes including spaces or punctuation." + }, + "Location": { + "type": "object", + "properties": { + "stateOrRegion": { + "$ref": "#/definitions/StateOrRegion" + }, + "city": { + "$ref": "#/definitions/City" + }, + "countryCode": { + "$ref": "#/definitions/CountryCode" + }, + "postalCode": { + "$ref": "#/definitions/PostalCode" + } + }, + "description": "The location where the person, business or institution is located." + }, + "DocumentFormat": { + "type": "string", + "description": "The file format of the document.", + "enum": [ + "PDF", + "PNG", + "ZPL" + ], + "x-docgen-enum-table-extension": [ + { + "value": "PDF", + "description": "The Portable Document Format (PDF) file format. Used to present documents, including text formatting and images, in a manner independent of application software, hardware, and operating systems." + }, + { + "value": "PNG", + "description": "Portable Network Graphics (PNG) is a raster-graphics file format that supports lossless data compression." + }, + { + "value": "ZPL", + "description": "Zebra Programming Language (ZPL) format is from Zebra Technologies. It's used primarily for labeling applications and can only be used with ZPL compatible printers." + } + ] + }, + "DocumentType": { + "type": "string", + "description": "The type of shipping document.", + "enum": [ + "PACKSLIP", + "LABEL", + "RECEIPT", + "CUSTOM_FORM" + ], + "x-docgen-enum-table-extension": [ + { + "value": "PACKSLIP", + "description": "A listing of the items packed within the shipment." + }, + { + "value": "LABEL", + "description": "The shipping label for the specific shipment." + }, + { + "value": "RECEIPT", + "description": "The receipt of the shipment." + }, + { + "value": "CUSTOM_FORM", + "description": "The customs documentation for a cross-border shipment." + } + ] + }, + "Dpi": { + "type": "integer", + "description": "The dots per inch (DPI) value used in printing. This value represents a measure of the resolution of the document." + }, + "PageLayout": { + "type": "string", + "description": "Indicates the position of the label on the paper. Should be the same value as returned in getRates response." + }, + "NeedFileJoining": { + "type": "boolean", + "description": "When true, files should be stitched together. Otherwise, files should be returned separately. Defaults to false." + }, + "Contents": { + "type": "string", + "description": "A Base64 encoded string of the file contents." + }, + "PackageDocumentList": { + "type": "array", + "description": "A list of documents related to a package.", + "items": { + "$ref": "#/definitions/PackageDocument" + } + }, + "PackageDocument": { + "type": "object", + "required": [ + "contents", + "format", + "type" + ], + "properties": { + "type": { + "$ref": "#/definitions/DocumentType" + }, + "format": { + "$ref": "#/definitions/DocumentFormat" + }, + "contents": { + "$ref": "#/definitions/Contents" + } + }, + "description": "A document related to a package." + }, + "PrintOptionList": { + "type": "array", + "description": "A list of the format options for a label.", + "items": { + "$ref": "#/definitions/PrintOption" + } + }, + "PrintOption": { + "type": "object", + "required": [ + "supportedDocumentDetails", + "supportedFileJoiningOptions", + "supportedPageLayouts" + ], + "properties": { + "supportedDPIs": { + "type": "array", + "description": "A list of the supported DPI options for a document.", + "items": { + "$ref": "#/definitions/Dpi" + } + }, + "supportedPageLayouts": { + "type": "array", + "description": "A list of the supported page layout options for a document.", + "items": { + "$ref": "#/definitions/PageLayout" + } + }, + "supportedFileJoiningOptions": { + "type": "array", + "description": "A list of the supported needFileJoining boolean values for a document.", + "items": { + "$ref": "#/definitions/NeedFileJoining" + } + }, + "supportedDocumentDetails": { + "description": "A list of the supported documented details.", + "type": "array", + "items": { + "$ref": "#/definitions/SupportedDocumentDetail" + } + } + }, + "description": "The format options available for a label." + }, + "DocumentSize": { + "type": "object", + "required": [ + "length", + "unit", + "width" + ], + "properties": { + "width": { + "description": "The width of the document measured in the units specified.", + "type": "number" + }, + "length": { + "description": "The length of the document measured in the units specified.", + "type": "number" + }, + "unit": { + "type": "string", + "description": "The unit of measurement.", + "enum": [ + "INCH", + "CENTIMETER" + ], + "x-docgen-enum-table-extension": [ + { + "value": "INCH", + "description": "The imperial unit of length equal to one twelfth of a foot." + }, + { + "value": "CENTIMETER", + "description": "A metric unit of length, equal to one hundredth of a meter." + } + ] + } + }, + "description": "The size dimensions of the label." + }, + "SupportedDocumentDetail": { + "type": "object", + "required": [ + "isMandatory", + "name" + ], + "properties": { + "name": { + "$ref": "#/definitions/DocumentType" + }, + "isMandatory": { + "type": "boolean", + "description": "When true, the supported document type is required." + } + }, + "description": "The supported document types for a service offering." + }, + "RequestedDocumentSpecification": { + "type": "object", + "required": [ + "format", + "needFileJoining", + "requestedDocumentTypes", + "size" + ], + "properties": { + "format": { + "$ref": "#/definitions/DocumentFormat" + }, + "size": { + "$ref": "#/definitions/DocumentSize" + }, + "dpi": { + "$ref": "#/definitions/Dpi" + }, + "pageLayout": { + "$ref": "#/definitions/PageLayout" + }, + "needFileJoining": { + "$ref": "#/definitions/NeedFileJoining" + }, + "requestedDocumentTypes": { + "description": "A list of the document types requested.", + "type": "array", + "items": { + "$ref": "#/definitions/DocumentType" + } + } + }, + "description": "The document specifications requested. For calls to the purchaseShipment operation, the shipment purchase fails if the specified document specifications are not among those returned in the response to the getRates operation." + }, + "SupportedDocumentSpecificationList": { + "type": "array", + "description": "A list of the document specifications supported for a shipment service offering.", + "items": { + "$ref": "#/definitions/SupportedDocumentSpecification" + } + }, + "SupportedDocumentSpecification": { + "type": "object", + "required": [ + "format", + "printOptions", + "size" + ], + "properties": { + "format": { + "$ref": "#/definitions/DocumentFormat" + }, + "size": { + "$ref": "#/definitions/DocumentSize" + }, + "printOptions": { + "$ref": "#/definitions/PrintOptionList" + } + }, + "description": "Document specification that is supported for a service offering." + }, + "Item": { + "type": "object", + "required": [ + "quantity" + ], + "properties": { + "itemValue": { + "$ref": "#/definitions/Currency" + }, + "description": { + "type": "string", + "description": "The product description of the item." + }, + "itemIdentifier": { + "type": "string", + "description": "A unique identifier for an item provided by the client." + }, + "quantity": { + "type": "integer", + "description": "The number of units. This value is required." + }, + "weight": { + "$ref": "#/definitions/Weight" + }, + "liquidVolume": { + "$ref": "#/definitions/LiquidVolume" + }, + "isHazmat": { + "type": "boolean", + "description": "When true, the item qualifies as hazardous materials (hazmat). Defaults to false." + }, + "dangerousGoodsDetails": { + "$ref": "#/definitions/DangerousGoodsDetails" + }, + "productType": { + "type": "string", + "description": "The product type of the item." + }, + "invoiceDetails": { + "$ref": "#/definitions/InvoiceDetails" + }, + "serialNumbers": { + "type": "array", + "items": { + "type": "string" + }, + "description": "A list of unique serial numbers in an Amazon package that can be used to guarantee non-fraudulent items. The number of serial numbers in the list must be less than or equal to the quantity of items being shipped. Only applicable when channel source is Amazon." + }, + "directFulfillmentItemIdentifiers": { + "$ref": "#/definitions/DirectFulfillmentItemIdentifiers" + } + }, + "description": "An item in a package." + }, + "ItemList": { + "type": "array", + "description": "A list of items.", + "items": { + "$ref": "#/definitions/Item" + } + }, + "Package": { + "type": "object", + "required": [ + "dimensions", + "insuredValue", + "items", + "packageClientReferenceId", + "weight" + ], + "properties": { + "dimensions": { + "$ref": "#/definitions/Dimensions" + }, + "weight": { + "$ref": "#/definitions/Weight" + }, + "insuredValue": { + "$ref": "#/definitions/Currency" + }, + "isHazmat": { + "type": "boolean", + "description": "When true, the package contains hazardous materials. Defaults to false." + }, + "sellerDisplayName": { + "type": "string", + "description": "The seller name displayed on the label." + }, + "charges": { + "$ref": "#/definitions/ChargeList" + }, + "packageClientReferenceId": { + "$ref": "#/definitions/PackageClientReferenceId" + }, + "items": { + "$ref": "#/definitions/ItemList" + } + }, + "description": "A package to be shipped through a shipping service offering." + }, + "PackageList": { + "type": "array", + "description": "A list of packages to be shipped through a shipping service offering.", + "items": { + "$ref": "#/definitions/Package" + } + }, + "DirectFulfillmentItemIdentifiers": { + "type": "object", + "required": [ + "lineItemID" + ], + "properties": { + "lineItemID": { + "type": "string", + "description": "A unique identifier for an item provided by the client for a direct fulfillment shipment. This is only populated for direct fulfillment multi-piece shipments. It is required if a vendor wants to change the configuration of the packages in which the purchase order is shipped." + }, + "pieceNumber": { + "type": "string", + "description": "A unique identifier for an item provided by the client for a direct fulfillment shipment. This is only populated if a single line item has multiple pieces. Defaults to 1." + } + }, + "description": "Item identifiers for an item in a direct fulfillment shipment." + }, + "PackageDocumentDetail": { + "type": "object", + "required": [ + "packageClientReferenceId", + "packageDocuments" + ], + "properties": { + "packageClientReferenceId": { + "$ref": "#/definitions/PackageClientReferenceId" + }, + "packageDocuments": { + "$ref": "#/definitions/PackageDocumentList" + }, + "trackingId": { + "$ref": "#/definitions/TrackingId" + } + }, + "description": "The post-purchase details of a package that will be shipped using a shipping service." + }, + "PackageDocumentDetailList": { + "type": "array", + "description": "A list of post-purchase details about a package that will be shipped using a shipping service.", + "items": { + "$ref": "#/definitions/PackageDocumentDetail" + } + }, + "TimeWindow": { + "type": "object", + "properties": { + "start": { + "type": "string", + "format": "date-time", + "description": "The start time of the time window." + }, + "end": { + "type": "string", + "format": "date-time", + "description": "The end time of the time window." + } + }, + "description": "The start and end time that specifies the time interval of an event." + }, + "Promise": { + "type": "object", + "properties": { + "deliveryWindow": { + "$ref": "#/definitions/TimeWindow" + }, + "pickupWindow": { + "$ref": "#/definitions/TimeWindow" + } + }, + "description": "The time windows promised for pickup and delivery events." + }, + "RequestedValueAddedServiceList": { + "type": "array", + "description": "The value-added services to be added to a shipping service purchase.", + "items": { + "$ref": "#/definitions/RequestedValueAddedService" + } + }, + "RequestedValueAddedService": { + "type": "object", + "required": [ + "id" + ], + "properties": { + "id": { + "type": "string", + "description": "The identifier of the selected value-added service. Must be among those returned in the response to the getRates operation." + } + }, + "description": "A value-added service to be applied to a shipping service purchase." + }, + "AvailableValueAddedServiceGroupList": { + "type": "array", + "description": "A list of value-added services available for a shipping service offering.", + "items": { + "$ref": "#/definitions/AvailableValueAddedServiceGroup" + } + }, + "AvailableValueAddedServiceGroup": { + "type": "object", + "required": [ + "groupDescription", + "groupId", + "isRequired" + ], + "properties": { + "groupId": { + "type": "string", + "description": "The type of the value-added service group." + }, + "groupDescription": { + "type": "string", + "description": "The name of the value-added service group." + }, + "isRequired": { + "type": "boolean", + "description": "When true, one or more of the value-added services listed must be specified." + }, + "valueAddedServices": { + "type": "array", + "description": "A list of optional value-added services available for purchase with a shipping service offering.", + "items": { + "$ref": "#/definitions/ValueAddedService" + } + } + }, + "description": "The value-added services available for purchase with a shipping service offering." + }, + "ValueAddedService": { + "type": "object", + "required": [ + "cost", + "id", + "name" + ], + "properties": { + "id": { + "type": "string", + "description": "The identifier for the value-added service." + }, + "name": { + "type": "string", + "description": "The name of the value-added service." + }, + "cost": { + "description": "The cost of the value-added service.", + "$ref": "#/definitions/Currency" + } + }, + "description": "A value-added service available for purchase with a shipment service offering." + }, + "CollectOnDelivery": { + "type": "object", + "required": [ + "amount" + ], + "properties": { + "amount": { + "$ref": "#/definitions/Currency" + } + }, + "description": "The amount to collect on delivery." + }, + "ValueAddedServiceDetails": { + "type": "object", + "properties": { + "collectOnDelivery": { + "$ref": "#/definitions/CollectOnDelivery" + } + }, + "description": "A collection of supported value-added services." + }, + "DangerousGoodsDetails": { + "type": "object", + "properties": { + "unitedNationsRegulatoryId" : { + "type": "string", + "description": "The specific UNID of the item being shipped.", + "pattern" : "^[0-9]{4}$" + }, + "transportationRegulatoryClass" : { + "type": "string", + "description": "The specific regulatory class of the item being shipped.", + "pattern": "^[1-9](\\.[1-9])?$" + }, + "packingGroup" : { + "type": "string", + "description": "The specific packaging group of the item being shipped.", + "enum": [ + "I", + "II", + "III" + ], + "x-docgen-enum-table-extension": [ + { + "value": "I", + "description": "Packing group I indicates great danger." + }, + { + "value": "II", + "description": "Packing group II indicates medium danger." + }, + { + "value": "III", + "description": "Packing group III indicates minor danger." + } + ] + }, + "packingInstruction": { + "type": "string", + "description": "The specific packing instruction of the item being shipped.", + "enum": [ + "PI965_SECTION_IA", + "PI965_SECTION_IB", + "PI965_SECTION_II", + "PI966_SECTION_I", + "PI966_SECTION_II", + "PI967_SECTION_I", + "PI967_SECTION_II", + "PI968_SECTION_IA", + "PI968_SECTION_IB", + "PI969_SECTION_I", + "PI969_SECTION_II", + "PI970_SECTION_I", + "PI970_SECTION_II" + ], + "x-docgen-enum-table-extension": [ + { + "value": "PI965_SECTION_IA", + "description": "Ion PI965 Section IA (LiBa)" + }, + { + "value": "PI965_SECTION_IB", + "description": "Ion PI965 Section IB (LiBa)" + }, + { + "value": "PI965_SECTION_II", + "description": "Ion PI965 Section II (LiBa)" + }, + { + "value": "PI966_SECTION_I", + "description": "Ion PI966 Section I (LiBa with equipment)" + }, + { + "value": "PI966_SECTION_II", + "description": "Ion PI966 Section II (LiBa with equipment)" + }, + { + "value": "PI967_SECTION_I", + "description": "Ion PI967 Section I (LiBa in equipment)" + }, + { + "value": "PI967_SECTION_II", + "description": "Ion PI967 Section II (LiBa in equipment)" + }, + { + "value": "PI968_SECTION_IA", + "description": "Metal PI968 Section IA (LiBa)" + }, + { + "value": "PI968_SECTION_IB", + "description": "Metal PI968 Section IB (LiBa)" + }, + { + "value": "PI969_SECTION_I", + "description": "Metal PI969 Section I (LiBa with equipment)" + }, + { + "value": "PI969_SECTION_II", + "description": "Metal PI969 Section II (LiBa with equipment)" + }, + { + "value": "PI970_SECTION_I", + "description": "Metal PI970 Section I (LiBa in equipment)" + }, + { + "value": "PI970_SECTION_II", + "description": "Metal PI970 Section II (LiBa in equipment)" + } + ] + } + }, + "description": "Details related to any dangerous goods/items that are being shipped." + }, + "TaxType": { + "type": "string", + "description": "Indicates the type of tax.", + "enum": [ + "GST" + ], + "x-docgen-enum-table-extension": [ + { + "value": "GST", + "description": "Goods and Services Tax." + } + ] + }, + "TaxDetail": { + "description": "Indicates the tax specifications associated with the shipment for customs compliance purposes in certain regions.", + "type": "object", + "required": [ + "taxRegistrationNumber", + "taxType" + ], + "properties": { + "taxType": { + "$ref": "#/definitions/TaxType" + }, + "taxRegistrationNumber": { + "description": "The shipper's tax registration number associated with the shipment for customs compliance purposes in certain regions.", + "type": "string" + } + } + }, + "TaxDetailList": { + "type": "array", + "description": "A list of tax detail information.", + "items": { + "$ref": "#/definitions/TaxDetail" + } + }, + "EventCode": { + "type": "string", + "description": "The tracking event type.", + "enum": [ + "ReadyForReceive", + "PickupDone", + "Delivered", + "Departed", + "DeliveryAttempted", + "Lost", + "OutForDelivery", + "ArrivedAtCarrierFacility", + "Rejected", + "Undeliverable", + "PickupCancelled" + ], + "x-docgen-enum-table-extension": [ + { + "value": "ReadyForReceive", + "description": "Package has been created and is ready for pickup at the shippers location. This is a pre-transit status event code." + }, + { + "value": "PickupDone", + "description": "Package has been picked up by the service provider." + }, + { + "value": "Delivered", + "description": "Package has been delivered." + }, + { + "value": "Departed", + "description": "Package has departed from a particular location in carrier network." + }, + { + "value": "DeliveryAttempted", + "description": "Delivery was attempted, but was unsuccessful." + }, + { + "value": "Lost", + "description": "Package is lost." + }, + { + "value": "OutForDelivery", + "description": "Package is out for delivery." + }, + { + "value": "ArrivedAtCarrierFacility", + "description": "Package is in transit and has been received at a carrier location." + }, + { + "value": "Rejected", + "description": "Package was rejected by the recipient." + }, + { + "value": "Undeliverable", + "description": "Package is undeliverable." + }, + { + "value": "PickupCancelled", + "description": "Pickup scheduled for the package was cancelled." + } + ] + }, + "Event": { + "type": "object", + "required": [ + "eventCode", + "eventTime" + ], + "properties": { + "eventCode": { + "$ref": "#/definitions/EventCode" + }, + "location": { + "$ref": "#/definitions/Location" + }, + "eventTime": { + "type": "string", + "format": "date-time", + "description": "The ISO 8601 formatted timestamp of the event." + } + }, + "description": "A tracking event." + }, + "TrackingSummary": { + "type": "object", + "properties": { + "status": { + "$ref": "#/definitions/Status" + } + }, + "description": "A package status summary." + }, + "Status": { + "type": "string", + "description": "The status of the package being shipped.", + "enum": [ + "PreTransit", + "InTransit", + "Delivered", + "Lost", + "OutForDelivery", + "Rejected", + "Undeliverable", + "DeliveryAttempted", + "PickupCancelled" + ], + "x-docgen-enum-table-extension": [ + { + "value": "PreTransit", + "description": "Package has been created but has not been picked up." + }, + { + "value": "InTransit", + "description": "Package has been picked up and is in transit." + }, + { + "value": "Delivered", + "description": "Package has has been delivered successfully." + }, + { + "value": "Lost", + "description": "Package is lost." + }, + { + "value": "OutForDelivery", + "description": "Package is out for delivery." + }, + { + "value": "Rejected", + "description": "Package has been rejected by the recipient." + }, + { + "value": "Undeliverable", + "description": "Package was undeliverable." + }, + { + "value": "DeliveryAttempted", + "description": "Delivery was attempted to the recipient location, but was not delivered." + }, + { + "value": "PickupCancelled", + "description": "Pickup was cancelled for the package." + } + ] + }, + "AmazonOrderDetails": { + "type": "object", + "required": [ + "orderId" + ], + "properties": { + "orderId": { + "type": "string", + "description": "The Amazon order ID associated with the Amazon order fulfilled by this shipment." + } + }, + "description": "Amazon order information. This is required if the shipment source channel is Amazon." + }, + "AmazonShipmentDetails": { + "type": "object", + "required": [ + "shipmentId" + ], + "properties": { + "shipmentId": { + "type": "string", + "description": "This attribute is required only for a Direct Fulfillment shipment. This is the encrypted shipment ID." + } + }, + "description": "Amazon shipment information." + }, + "ChannelType": { + "type": "string", + "description": "The shipment source channel type.", + "enum": [ + "AMAZON", + "EXTERNAL" + ], + "x-docgen-enum-table-extension": [ + { + "value": "AMAZON", + "description": "Indicates that the shipment originates from an Amazon order." + }, + { + "value": "EXTERNAL", + "description": "Indicates that the shipment originates from a non-Amazon channel." + } + ] + }, + "ChannelDetails": { + "type": "object", + "required": [ + "channelType" + ], + "properties": { + "channelType": { + "$ref": "#/definitions/ChannelType" + }, + "amazonOrderDetails": { + "$ref": "#/definitions/AmazonOrderDetails" + }, + "amazonShipmentDetails": { + "$ref": "#/definitions/AmazonShipmentDetails" + } + }, + "description": "Shipment source channel related information." + }, + "RateList": { + "type": "array", + "description": "A list of eligible shipping service offerings.", + "items": { + "$ref": "#/definitions/Rate" + } + }, + "Rate": { + "type": "object", + "required": [ + "carrierId", + "carrierName", + "promise", + "rateId", + "requiresAdditionalInputs", + "serviceId", + "serviceName", + "supportedDocumentSpecifications", + "totalCharge" + ], + "properties": { + "rateId": { + "$ref": "#/definitions/RateId" + }, + "carrierId": { + "$ref": "#/definitions/CarrierId" + }, + "carrierName": { + "$ref": "#/definitions/CarrierName" + }, + "serviceId": { + "$ref": "#/definitions/ServiceId" + }, + "serviceName": { + "$ref": "#/definitions/ServiceName" + }, + "billedWeight": { + "$ref": "#/definitions/Weight" + }, + "totalCharge": { + "$ref": "#/definitions/Currency" + }, + "promise": { + "$ref": "#/definitions/Promise" + }, + "supportedDocumentSpecifications": { + "$ref": "#/definitions/SupportedDocumentSpecificationList" + }, + "availableValueAddedServiceGroups": { + "$ref": "#/definitions/AvailableValueAddedServiceGroupList" + }, + "requiresAdditionalInputs": { + "type": "boolean", + "description" : "When true, indicates that additional inputs are required to purchase this shipment service. You must then call the getAdditionalInputs operation to return the JSON schema to use when providing the additional inputs to the purchaseShipment operation." + }, + "rateItemList": { + "$ref": "#/definitions/RateItemList" + }, + "paymentType": { + "$ref": "#/definitions/PaymentType" + }, + "benefits": { + "$ref": "#/definitions/Benefits" + } + }, + "description": "The details of a shipping service offering." + }, + "IneligibilityReasonCode": { + "type": "string", + "description": "Reasons that make a shipment service offering ineligible.", + "enum": [ + "NO_COVERAGE", + "PICKUP_SLOT_RESTRICTION", + "UNSUPPORTED_VAS", + "VAS_COMBINATION_RESTRICTION", + "SIZE_RESTRICTIONS", + "WEIGHT_RESTRICTIONS", + "LATE_DELIVERY", + "PROGRAM_CONSTRAINTS", + "TERMS_AND_CONDITIONS_NOT_ACCEPTED", + "UNKNOWN" + ], + "x-docgen-enum-table-extension": [ + { + "value": "NO_COVERAGE", + "description": "The shipment is ineligible because there is no coverage to that address." + }, + { + "value": "PICKUP_SLOT_RESTRICTION", + "description": "The shipment is ineligible because there is an issue with the pickup slot." + }, + { + "value": "UNSUPPORTED_VAS", + "description": "The shipment is ineligible because the value-added service is invalid for this shipment." + }, + { + "value": "VAS_COMBINATION_RESTRICTION", + "description": "The shipment is ineligible because an invalid combination of value-added services were chosen." + }, + { + "value": "SIZE_RESTRICTIONS", + "description": "The shipment is ineligible because the package dimensions are unsupported." + }, + { + "value": "WEIGHT_RESTRICTIONS", + "description": "The shipment is ineligible because the weight is unsupported." + }, + { + "value": "LATE_DELIVERY", + "description": "The shipment is ineligible because delivery is too late." + }, + { + "value": "PROGRAM_CONSTRAINTS", + "description": "The shipment is ineligible because of program constraints." + }, + { + "value": "TERMS_AND_CONDITIONS_NOT_ACCEPTED", + "description": "The shipment is ineligible because terms and conditions have not been accepted by the carrier." + }, + { + "value": "UNKNOWN", + "description": "The ineligibility reason is unknown." + } + ] + }, + "IneligibilityReason" : { + "description": "The reason why a shipping service offering is ineligible.", + "type": "object", + "required": [ + "code", + "message" + ], + "properties": { + "code": { + "$ref": "#/definitions/IneligibilityReasonCode" + }, + "message": { + "type": "string", + "description": "The ineligibility reason." + } + } + }, + "IneligibleRate": { + "description": "Detailed information for an ineligible shipping service offering.", + "type": "object", + "required": [ + "carrierId", + "carrierName", + "ineligibilityReasons", + "serviceId", + "serviceName" + ], + "properties": { + "serviceId": { + "$ref": "#/definitions/ServiceId" + }, + "serviceName": { + "$ref": "#/definitions/ServiceName" + }, + "carrierName": { + "$ref": "#/definitions/CarrierName" + }, + "carrierId": { + "$ref": "#/definitions/CarrierId" + }, + "ineligibilityReasons": { + "type": "array", + "description": "A list of reasons why a shipping service offering is ineligible.", + "items": { + "$ref": "#/definitions/IneligibilityReason" + } + } + } + }, + "IneligibleRateList": { + "type": "array", + "description": "A list of ineligible shipping service offerings.", + "items": { + "$ref": "#/definitions/IneligibleRate" + } + }, + "CancelShipmentResult": { + "type": "object", + "description": "The payload for the cancelShipment operation.", + "additionalProperties": {} + }, + "CancelShipmentResponse": { + "type": "object", + "properties": { + "payload": { + "$ref": "#/definitions/CancelShipmentResult" + } + }, + "description": "Response schema for the cancelShipment operation." + }, + "GetRatesRequest": { + "description": "The request schema for the getRates operation. When the channelType is Amazon, the shipTo address is not required and will be ignored.", + "type": "object", + "required": [ + "channelDetails", + "packages", + "shipFrom" + ], + "properties": { + "shipTo": { + "description": "The ship to address.", + "$ref": "#/definitions/Address" + }, + "shipFrom": { + "description": "The ship from address.", + "$ref": "#/definitions/Address" + }, + "returnTo": { + "description": "The return to address.", + "$ref": "#/definitions/Address" + }, + "shipDate": { + "type": "string", + "format": "date-time", + "description": "The ship date and time (the requested pickup). This defaults to the current date and time." + }, + "shipperInstruction": { + "$ref": "#/definitions/ShipperInstruction", + "description": "This field describe shipper instruction." + }, + "packages": { + "$ref": "#/definitions/PackageList" + }, + "valueAddedServices": { + "$ref": "#/definitions/ValueAddedServiceDetails" + }, + "taxDetails": { + "$ref": "#/definitions/TaxDetailList" + }, + "channelDetails": { + "$ref": "#/definitions/ChannelDetails" + }, + "clientReferenceDetails": { + "$ref": "#/definitions/ClientReferenceDetails" + }, + "shipmentType": { + "$ref": "#/definitions/ShipmentType" + }, + "destinationAccessPointDetails": { + "$ref": "#/definitions/AccessPointDetails" + } + } + }, + "AccessPointDetails": { + "type": "object", + "properties": { + "accessPointId": { + "$ref": "#/definitions/AccessPointId" + } + } + }, + "GetRatesResult": { + "type": "object", + "required": [ + "rates", + "requestToken" + ], + "properties": { + "requestToken": { + "$ref": "#/definitions/RequestToken" + }, + "rates": { + "$ref": "#/definitions/RateList" + }, + "ineligibleRates": { + "$ref": "#/definitions/IneligibleRateList" + } + }, + "description": "The payload for the getRates operation." + }, + "GetRatesResponse": { + "type": "object", + "properties": { + "payload": { + "$ref": "#/definitions/GetRatesResult" + } + }, + "description": "The response schema for the getRates operation." + }, + "DirectPurchaseRequest": { + "description": "The request schema for the directPurchaseShipment operation. When the channel type is Amazon, the shipTo address is not required and will be ignored.", + "type": "object", + "required": [ + "channelDetails" + ], + "properties": { + "shipTo": { + "description": "The address where the shipment will be delivered. For vendor orders, shipTo information is pulled directly from the Amazon order.", + "$ref": "#/definitions/Address" + }, + "shipFrom": { + "description": "The address where the package will be picked up.", + "$ref": "#/definitions/Address" + }, + "returnTo": { + "description": "The address where the package will be returned if it cannot be delivered.", + "$ref": "#/definitions/Address" + }, + "packages": { + "$ref": "#/definitions/PackageList" + }, + "channelDetails": { + "$ref": "#/definitions/ChannelDetails" + }, + "labelSpecifications": { + "description": "The document (label) specifications requested. The default label returned is PNG DPI 203 4x6 if no label specification is provided. Requesting an invalid file format results in a failure.", + "$ref": "#/definitions/RequestedDocumentSpecification" + } + } + }, + "DirectPurchaseResult": { + "type": "object", + "required": [ + "shipmentId" + ], + "properties": { + "shipmentId": { + "$ref": "#/definitions/ShipmentId" + }, + "packageDocumentDetailList": { + "$ref": "#/definitions/PackageDocumentDetailList" + } + }, + "description": "The payload for the directPurchaseShipment operation." + }, + "DirectPurchaseResponse": { + "type": "object", + "properties": { + "payload": { + "$ref": "#/definitions/DirectPurchaseResult" + } + }, + "description": "The response schema for the directPurchaseShipment operation." + }, + "GetShipmentDocumentsResult": { + "type": "object", + "required": [ + "packageDocumentDetail", + "shipmentId" + ], + "properties": { + "shipmentId": { + "$ref": "#/definitions/ShipmentId" + }, + "packageDocumentDetail": { + "$ref": "#/definitions/PackageDocumentDetail" + } + }, + "description": "The payload for the getShipmentDocuments operation." + }, + "GetShipmentDocumentsResponse": { + "type": "object", + "properties": { + "payload": { + "$ref": "#/definitions/GetShipmentDocumentsResult" + } + }, + "description": "The response schema for the the getShipmentDocuments operation." + }, + "GetTrackingResult": { + "type": "object", + "required": [ + "eventHistory", + "promisedDeliveryDate", + "summary", + "trackingId", + "alternateLegTrackingId" + ], + "properties": { + "trackingId": { + "$ref": "#/definitions/TrackingId" + }, + "alternateLegTrackingId": { + "$ref": "#/definitions/AlternateLegTrackingId" + }, + "eventHistory": { + "type": "array", + "description": "A list of tracking events.", + "items": { + "$ref": "#/definitions/Event" + } + }, + "promisedDeliveryDate": { + "type": "string", + "format": "date-time", + "description": "The date and time by which the shipment is promised to be delivered." + }, + "summary": { + "$ref": "#/definitions/TrackingSummary" + } + }, + "description": "The payload for the getTracking operation." + }, + "GetTrackingResponse": { + "type": "object", + "properties": { + "payload": { + "$ref": "#/definitions/GetTrackingResult" + } + }, + "description": "The response schema for the getTracking operation." + }, + "PurchaseShipmentRequest": { + "description": "The request schema for the purchaseShipment operation.", + "type": "object", + "required": [ + "rateId", + "requestedDocumentSpecification", + "requestToken" + ], + "properties": { + "requestToken": { + "$ref": "#/definitions/RequestToken" + }, + "rateId": { + "$ref": "#/definitions/RateId" + }, + "requestedDocumentSpecification": { + "$ref": "#/definitions/RequestedDocumentSpecification" + }, + "requestedValueAddedServices": { + "$ref": "#/definitions/RequestedValueAddedServiceList" + }, + "additionalInputs": { + "type": "object", + "additionalProperties" : {}, + "description": "The additional inputs required to purchase a shipping offering, in JSON format. The JSON provided here must adhere to the JSON schema that is returned in the response to the getAdditionalInputs operation.\n\nAdditional inputs are only required when indicated by the requiresAdditionalInputs property in the response to the getRates operation." + } + } + }, + "PurchaseShipmentResult": { + "type": "object", + "required": [ + "packageDocumentDetails", + "promise", + "shipmentId" + ], + "properties": { + "shipmentId": { + "$ref": "#/definitions/ShipmentId" + }, + "packageDocumentDetails": { + + "$ref": "#/definitions/PackageDocumentDetailList" + }, + "promise": { + "$ref": "#/definitions/Promise" + } + }, + "description": "The payload for the purchaseShipment operation." + }, + "PurchaseShipmentResponse": { + "type": "object", + "properties": { + "payload": { + "$ref": "#/definitions/PurchaseShipmentResult" + } + }, + "description": "The response schema for the purchaseShipment operation." + }, + "OneClickShipmentRequest": { + "description": "The request schema for the OneClickShipment operation. When the channelType is not Amazon, shipTo is required and when channelType is Amazon shipTo is ignored.", + "type": "object", + "required": [ + "channelDetails", + "packages", + "shipFrom", + "labelSpecifications", + "serviceSelection" + ], + "properties": { + "shipTo": { + "description": "The ship to address.", + "$ref": "#/definitions/Address" + }, + "shipFrom": { + "description": "The ship from address.", + "$ref": "#/definitions/Address" + }, + "returnTo": { + "description": "The return to address.", + "$ref": "#/definitions/Address" + }, + "shipDate": { + "type": "string", + "format": "date-time", + "description": "The ship date and time (the requested pickup). This defaults to the current date and time." + }, + "packages": { + "$ref": "#/definitions/PackageList" + }, + "valueAddedServicesDetails": { + "$ref": "#/definitions/OneClickShipmentValueAddedServiceDetails" + }, + "taxDetails": { + "$ref": "#/definitions/TaxDetailList" + }, + "channelDetails": { + "$ref": "#/definitions/ChannelDetails" + }, + "labelSpecifications" : { + "$ref": "#/definitions/RequestedDocumentSpecification" + }, + "serviceSelection": { + "$ref": "#/definitions/ServiceSelection" + }, + "shipperInstruction": { + "$ref": "#/definitions/ShipperInstruction", + "description": "Optional field for shipper instruction." + }, + "destinationAccessPointDetails": { + "$ref": "#/definitions/AccessPointDetails" + } + } + }, + "OneClickShipmentResponse": { + "type": "object", + "properties": { + "payload": { + "$ref": "#/definitions/OneClickShipmentResult" + } + }, + "description": "The response schema for the OneClickShipment operation." + }, + "OneClickShipmentResult": { + "type": "object", + "required": [ + "packageDocumentDetails", + "promise", + "shipmentId", + "service", + "carrier", + "totalCharge" + ], + "properties": { + "shipmentId": { + "$ref": "#/definitions/ShipmentId" + }, + "packageDocumentDetails": { + "$ref": "#/definitions/PackageDocumentDetailList" + }, + "promise": { + "$ref": "#/definitions/Promise" + }, + "carrier": { + "$ref": "#/definitions/Carrier" + }, + "service": { + "$ref": "#/definitions/Service" + }, + "totalCharge": { + "$ref": "#/definitions/Currency" + } + }, + "description": "The payload for the OneClickShipment API." + }, + "GetAccessPointsResponse": { + "type": "object", + "properties": { + "payload": { + "$ref": "#/definitions/GetAccessPointsResult" + } + }, + "description": "The response schema for the GetAccessPoints operation." + }, + "GetAccessPointsResult": { + "type": "object", + "required": [ + "accessPointsMap" + ], + "properties": { + "accessPointsMap": { + "$ref": "#/definitions/AccessPointsMap" + } + }, + "description": "The payload for the GetAccessPoints API." + }, + "AccessPointType": { + "description": "The type of access point, like counter (HELIX), lockers, etc.", + "type": "string", + "enum": [ + "HELIX", + "CAMPUS_LOCKER", + "OMNI_LOCKER", + "ODIN_LOCKER", + "DOBBY_LOCKER", + "CORE_LOCKER", + "3P", + "CAMPUS_ROOM" + ], + "x-docgen-enum-table-extension": [ + { + "value": "HELIX", + "description": "Counter, aka Helix, is an assisted access point where customers interact with a store associate to collect or return packages. Counter stores do not have Locker" + }, + { + "value": "CAMPUS_LOCKER", + "description": "It denotes a physical Locker present at Locker+ stores" + }, + { + "value": "OMNI_LOCKER", + "description": "Omni lockers are similar to core lockers installed at apartment buildings. Core and Omni will have common base hardware platform" + }, + { + "value": "ODIN_LOCKER", + "description": "Odin lockers rely on Bluetooth connection as there is no screen or scanner on the locker. Drivers, customers, and even technicians can interact with the locker using an app (different depending on the user)." + }, + { + "value": "DOBBY_LOCKER", + "description": "Dobby lockers are Odin lockers installed at apartment complexes and available only to residents." + }, + { + "value": "CORE_LOCKER", + "description": "Core lockers are the traditional and initial style of lockers when Hub was launched. Core lockers have a screen, keypad and scanner. Customer either enter their pickup code using the Locker screen or scan pickup code barcode to pick up their package." + }, + { + "value": "3P", + "description": "Networks that are owned end-to-end by commercial carriers (CC - e.g. DHL, UPS, DPD and Postal organizations), who operate both the transportation leg and the access point aspect. These networks offer a range of pickup points including: 3P Lockers, legacy Postal Offices, 3P Counters (e.g. Gas Stations and Retail Outlets - supermarkets, bookstores, news-stands etc)." + }, + { + "value": "CAMPUS_ROOM", + "description": "Locker+, formerly known as Campus, are attended, physical stores, where the Locker is used dynamically by the staff to keep packages ready for customer pickup. Locker+ store can have multiple Lockers installed," + } + ] + }, + "AccessPointsMap": { + "description": "Map of type of access point to list of access points", + "type": "object", + "additionalProperties": { + "$ref": "#/definitions/AccessPointList" + } + }, + "AccessPointList": { + "description": "List of relevant Access points requested by shipper. These access points are sorted by proximity to postal code, and are limited to 40. We have internally defined a radius value to render relevant results.", + "type": "array", + "items": { + "$ref": "#/definitions/AccessPoint" + } + }, + "AccessPointId": { + "description": "Unique identifier for the access point", + "type": "string" + }, + "AccessPoint": { + "type": "object", + "description": "Access point details", + "properties": { + "accessPointId": { + "$ref": "#/definitions/AccessPointId" + }, + "name": { + "description": "Name of entity (store/hub etc) where this access point is located", + "type": "string" + }, + "timezone": { + "description": "Timezone of access point", + "type": "string" + }, + "type": { + "$ref": "#/definitions/AccessPointType" + }, + "accessibilityAttributes": { + "$ref": "#/definitions/AccessibilityAttributes" + }, + "address": { + "$ref": "#/definitions/Address" + }, + "exceptionOperatingHours": { + "type": "array", + "items": { + "$ref": "#/definitions/ExceptionOperatingHours" + } + }, + "assistanceType": { + "type": "string", + "enum": [ + "STAFF_ASSISTED", + "SELF_ASSISTED" + ] + }, + "score": { + "type": "string", + "description": "The score of access point, based on proximity to postal code and sorting preference. This can be used to sort access point results on shipper's end." + }, + "standardOperatingHours": { + "$ref": "#/definitions/DayOfWeekTimeMap" + } + } + }, + "AccessibilityAttributes": { + "type": "object", + "description": "Defines the accessibility details of the access point.", + "properties": { + "distance": { + "description": "The approximate distance of access point from input postalCode's centroid.", + "type": "string" + }, + "driveTime": { + "description": "The approximate (static) drive time from input postal code's centroid.", + "type": "integer" + } + } + }, + "OperatingHours": { + "type": "object", + "description": "The hours in which the access point shall remain operational", + "properties": { + "closingTime": { + "$ref": "#/definitions/TimeOfDay" + }, + "openingTime": { + "$ref": "#/definitions/TimeOfDay" + }, + "midDayClosures": { + "type": "array", + "items": { + "$ref": "#/definitions/TimeOfDay" + } + } + } + }, + "TimeOfDay": { + "type": "object", + "description": "Denotes time of the day, used for defining opening or closing time of access points", + "properties": { + "hourOfDay": { + "type": "integer" + }, + "minuteOfHour": { + "type": "integer" + }, + "secondOfMinute": { + "type": "integer" + } + } + }, + "DayOfWeekTimeMap": { + "description": "Map of day of the week to operating hours of that day", + "type": "object", + "additionalProperties": { + "$ref": "#/definitions/OperatingHours" + } + }, + "ExceptionOperatingHours": { + "type": "object", + "description": "Defines exceptions to standard operating hours for certain date ranges.", + "properties": { + "dateRange": { + "$ref": "#/definitions/DateRange" + }, + "operatingHours": { + "$ref": "#/definitions/OperatingHours" + } + } + }, + "GetAdditionalInputsResult": { + "type": "object", + "description": "The JSON schema to use to provide additional inputs when required to purchase a shipping offering.", + "additionalProperties": {} + }, + "GetAdditionalInputsResponse": { + "type": "object", + "properties": { + "payload": { + "$ref": "#/definitions/GetAdditionalInputsResult" + } + }, + "description": "The response schema for the getAdditionalInputs operation." + }, + "GetCarrierAccountsRequest": { + "description": "The request schema for the GetCarrierAccounts operation.", + "type": "object", + "properties": { + "clientReferenceDetails": { + "$ref": "#/definitions/ClientReferenceDetails" + } + } + }, + "LinkCarrierAccountRequest": { + "description": "The request schema for verify and add the merchant's account with a certain carrier.", + "type": "object", + "required": [ + "carrierAccountAttributes", + "carrierAccountType" + ], + "properties": { + "clientReferenceDetails": { + "$ref": "#/definitions/ClientReferenceDetails" + }, + "carrierAccountType" : { + "$ref": "#/definitions/CarrierAccountType" + }, + "carrierAccountAttributes" : { + "$ref": "#/definitions/CarrierAccountAttributes" + }, + "encryptedCarrierAccountAttributes" : { + "$ref": "#/definitions/CarrierAccountAttributes" + } + } + }, + "UnlinkCarrierAccountRequest": { + "description": "The request schema for remove the Carrier Account associated with the provided merchant.", + "type": "object", + "properties": { + "clientReferenceDetails": { + "$ref": "#/definitions/ClientReferenceDetails" + } + } + }, + "GenerateCollectionFormRequest": { + "description": "The request schema Call to generate the collection form.", + "type": "object", + "required": [ + "carrierId" + ], + "properties": { + "clientReferenceDetails": { + "$ref": "#/definitions/ClientReferenceDetails" + }, + "carrierId" : { + "$ref": "#/definitions/CarrierId" + }, + "shipFromAddress" : { + "$ref": "#/definitions/Address" + } + } + }, + "GetCollectionFormHistoryRequest": { + "description": "The request schema to get query collections form history API .", + "type": "object", + "properties": { + "clientReferenceDetails": { + "$ref": "#/definitions/ClientReferenceDetails" + }, + "maxResults" : { + "type": "integer", + "description": "max Number of Results for query ." + }, + "carrierId" : { + "$ref": "#/definitions/CarrierId" + }, + "shipFromAddress" : { + "$ref": "#/definitions/Address" + }, + "dateRange" : { + "$ref": "#/definitions/DateRange" + } + } + }, + "GetUnmanifestedShipmentsRequest": { + "description": "The request schema for the GetUnmanifestedShipmentsRequest operation.", + "type": "object", + "properties": { + "clientReferenceDetails": { + "$ref": "#/definitions/ClientReferenceDetails" + } + } + }, + "GetCarrierAccountFormInputsResponse": { + "description": "The Response for the GetCarrierAccountFormInputsResponse operation.", + "type": "object", + "properties": { + "linkableCarriersList": { + "$ref": "#/definitions/LinkableCarriersList" + } + } + }, + "GetCarrierAccountsResponse": { + "description": "The Response for the GetCarrierAccountsResponse operation.", + "type": "object", + "required": [ + "activeAccounts" + ], + "properties": { + "activeAccounts": { + "$ref": "#/definitions/ActiveAccounts" + } + } + }, + "LinkCarrierAccountResponse": { + "description": "The Response for the LinkCarrierAccount operation.", + "type": "object", + "properties": { + "registrationStatus": { + "$ref": "#/definitions/AccountStatus" + } + } + }, + "UnlinkCarrierAccountResponse": { + "description": "The Response for the UnlinkCarrierAccountResponse operation.", + "type": "object", + "properties": { + "isUnlinked": { + "type" : "boolean", + "description" : "Is Carrier unlinked from Merchant" + } + } + }, + "GenerateCollectionFormResponse": { + "description": "The Response for the GenerateCollectionFormResponse operation.", + "type": "object", + "properties": { + "collectionsFormDocument": { + "$ref": "#/definitions/CollectionsFormDocument" + } + } + }, + "GetCollectionFormHistoryResponse": { + "description": "The Response for the GetCollectionFormHistoryResponse operation.", + "type": "object", + "properties": { + "collectionFormsHistoryRecordList": { + "$ref": "#/definitions/CollectionFormsHistoryRecordList" + }, + "lastRefreshedDate" : { + "type" : "string", + "description" : "Last Refereshed Date of collection" + } + } + }, + "GetUnmanifestedShipmentsResponse": { + "description": "The Response for the GetUnmanifestedShipmentsResponse operation.", + "type": "object", + "properties": { + "unmanifestedCarrierInformationList": { + "$ref": "#/definitions/UnmanifestedCarrierInformationList" + } + } + }, + "GetCollectionFormResponse": { + "description": "The Response for the GetCollectionFormResponse operation.", + "type": "object", + "properties": { + "collectionsFormDocument": { + "$ref": "#/definitions/CollectionsFormDocument" + } + } + }, + + "ClientReferenceDetails": { + "type": "array", + "description": "Object to pass additional information about the MCI Integrator shipperType: List of ClientReferenceDetail", + "items": { + "$ref": "#/definitions/ClientReferenceDetail" + } + }, + "ClientReferenceDetail": { + "type": "object", + "required": [ + "clientReferenceType", + "clientReferenceId" + ], + "properties": { + "clientReferenceType": { + "type": "string", + "description": "Client Reference type.", + "enum": [ + "IntegratorShipperId", + "IntegratorMerchantId" + ], + "x-docgen-enum-table-extension": [ + { + "value": "IntegratorShipperId", + "description": "The unique identifier assigned to a 3P seller by the shipping integrator." + }, + { + "value": "IntegratorMerchantId", + "description": "The unique identifier assigned to a 3P shipping integrator by Amazon." + } + ] + }, + "clientReferenceId": { + "type": "string", + "description": "The Client Reference Id." + } + }, + "description": "Client Reference Details" + }, + "CollectionFormId": { + "type": "string", + "description": "Collection Form Id for Reprint ." + }, + "ShipmentType": { + "type": "string", + "description": "Shipment type.", + "enum": [ + "FORWARD", + "RETURNS" + ], + "x-docgen-enum-table-extension": [ + { + "value": "FORWARD", + "description": "The identifier for forward request." + }, + { + "value": "RETURNS", + "description": "The identifier for return request." + } + ] + }, + "ActiveAccounts": { + "type": "array", + "description": "A list of ActiveAccount", + "items": { + "$ref": "#/definitions/ActiveAccount" + } + }, + "ActiveAccount": { + "type": "object", + "properties": { + "accountId": { + "type": "string", + "description": "Account Id associated with this account." + }, + "carrierId": { + "$ref": "#/definitions/CarrierId" + } + }, + "description": "Active Account Details" + }, + "DateRange": { + "type": "object", + "properties": { + "startDate": { + "type": "string", + "format": "dateTime", + "description": "Start Date for query ." + }, + "endDate": { + "type": "string", + "format": "dateTime", + "description": "end date for query." + } + }, + "description": "Date Range for query the results." + }, + "CarrierAccountAttributes": { + "type": "array", + "description": "A list of all attributes required by the carrier in order to successfully link the merchant's account", + "items": { + "$ref": "#/definitions/CarrierAccountAttribute" + } + }, + "CarrierAccountAttribute": { + "type": "object", + "properties": { + "attributeName": { + "type": "string", + "description": "Attribute Name ." + }, + "propertyGroup": { + "type": "string", + "description": "Property Group." + }, + "value": { + "type": "string", + "description": "Value ." + } + }, + "description": "Attribute Properties required by carrier" + }, + "CarrierAccountType": { + "type": "string", + "description": "CarrierAccountType associated with account." + }, + "MerchantId": { + "type": "string", + "description": "merchant Id of provided merchant " + }, + "AccountStatus": { + "type": "string", + "description": "Account Status.", + "enum": [ + "ACTIVE", + "INACTIVE", + "PENDING", + "SUSPENDED" + ], + "x-docgen-enum-table-extension": [ + { + "value": "ACTIVE", + "description": "Seller Account is Active." + }, + { + "value": "INACTIVE", + "description": "Seller Account is InActive." + }, + { + "value": "PENDING", + "description": "Seller Account is Pending." + }, + { + "value": "SUSPENDED", + "description": "Seller Account is Suspended." + } + ] + }, + "CollectionsFormDocument": { + "type": "object", + "properties": { + "base64EncodedContent": { + "type": "string", + "description": "Base64 document Value of Collection." + }, + "documentFormat": { + "type": "string", + "format": "application/pdf", + "description": "Collection Document format is PDF." + } + }, + "description": "Collection Form Document Details" + }, + "CollectionFormsHistoryRecordList": { + "type": "array", + "description": "A list of CollectionFormsHistoryRecord", + "items": { + "$ref": "#/definitions/CollectionFormsHistoryRecord" + } + }, + "CollectionFormsHistoryRecord": { + "type": "object", + "properties": { + "carrierName": { + "$ref": "#/definitions/CarrierName" + }, + "creationDate": { + "type": "string", + "format": "dateTime", + "description": "Creation Time for this account." + }, + "generationStatus": { + "$ref": "#/definitions/GenerationStatus" + }, + "collectionFormId": { + "$ref": "#/definitions/CollectionFormId" + }, + "shipFromAddress": { + "$ref": "#/definitions/Address" + } + }, + "description": "Active Account Details" + }, + "UnmanifestedCarrierInformationList": { + "type": "array", + "description": "A list of UnmanifestedCarrierInformation", + "items": { + "$ref": "#/definitions/UnmanifestedCarrierInformation" + } + }, + "UnmanifestedCarrierInformation": { + "type": "object", + "properties": { + "carrierId": { + "$ref": "#/definitions/CarrierId" + }, + "carrierName": { + "$ref": "#/definitions/CarrierName" + }, + "unmanifestedShipmentLocationList": { + "$ref": "#/definitions/UnmanifestedShipmentLocationList" + } + }, + "description": "UnmanifestedCarrierInformation like carrierId CarrierName and Location" + }, + "UnmanifestedShipmentLocationList": { + "type": "array", + "description": "A list of UnmanifestedShipmentLocation", + "items": { + "$ref": "#/definitions/UnmanifestedShipmentLocation" + } + }, + "UnmanifestedShipmentLocation": { + "type": "object", + "properties": { + "address": { + "$ref": "#/definitions/Address" + }, + "lastManifestDate": { + "type": "string", + "format": "dateTime", + "description": "Its Last Manifest Date." + } + }, + "description": "UnmanifestedShipmentLocation info " + }, + "LinkableCarriersList": { + "type": "array", + "description": "A list of LinkableCarrier", + "items": { + "$ref": "#/definitions/LinkableCarrier" + } + }, + "LinkableCarrier": { + "type": "object", + "properties": { + "carrierId": { + "$ref": "#/definitions/CarrierId" + }, + "linkableAccountTypes": { + "$ref": "#/definitions/LinkableAccountTypeList" + } + }, + "description": "Info About Linkable Carrier" + }, + "LinkableAccountTypeList": { + "type": "array", + "description": "A list of LinkableAccountType", + "items": { + "$ref": "#/definitions/LinkableAccountType" + } + }, + "LinkableAccountType": { + "type": "object", + "properties": { + "accountType": { + "$ref": "#/definitions/AccountType" + }, + "carrierAccountInputs": { + "$ref": "#/definitions/CarrierAccountInputsList" + } + }, + "description": "Info About Linkable Account Type" + }, + + "CarrierAccountInputsList": { + "type": "array", + "description": "A list of CarrierAccountInput", + "items": { + "$ref": "#/definitions/CarrierAccountInput" + } + }, + "CarrierAccountInput": { + "type": "object", + "properties": { + "descriptionLocalizationKey": { + "type": "string", + "description": "descriptionLocalizationKey value ." + }, + "name": { + "type": "string", + "description": "name value ." + }, + "groupName": { + "type": "string", + "description": "groupName value ." + }, + "inputType": { + "$ref": "#/definitions/InputType" + }, + "isMandatory": { + "type": "boolean", + "description": "mandatory or not value ." + }, + "isConfidential": { + "type": "boolean", + "description": "is value is Confidential ." + }, + "isHidden": { + "type": "boolean", + "description": "is value is hidden ." + }, + "validationMetadata": { + "$ref": "#/definitions/ValidationMetadataList" + } + }, + "description": "Info About CarrierAccountInput" + }, + "ValidationMetadataList": { + "type": "array", + "description": "A list of ValidationMetadata", + "items": { + "$ref": "#/definitions/ValidationMetadata" + } + }, + "ValidationMetadata": { + "type": "object", + "properties": { + "errorMessage": { + "type": "string", + "description": "errorMessage for the error." + }, + "validationStrategy": { + "type": "string", + "description": "validationStrategy for the error." + }, + "value": { + "type": "string", + "description": "Value." + } + }, + "description": "ValidationMetadata Details" + }, + "GenerationStatus": { + "type": "string", + "description": "Generation Status.", + "enum": [ + "Completed", + "InProgress" + ], + "x-docgen-enum-table-extension": [ + { + "value": "Completed", + "description": "Genertaion is succesfully completed ." + }, + { + "value": "InProgress", + "description": "Genertaion is in Progress." + } + ] + }, + "AccountType": { + "type": "string", + "description": "Shipper Account Type.", + "enum": [ + "SHIPPER_ACCOUNT", + "SHIPPER_ACCOUNT_WITH_INVOICE", + "AMAZON_ACCOUNT" + ], + "x-docgen-enum-table-extension": [ + { + "value": "SHIPPER_ACCOUNT", + "description": "Shipper Account in case of others carriers like : FEDEX, ROYLA_MAIL, DHL etc." + }, + { + "value": "SHIPPER_ACCOUNT_WITH_INVOICE", + "description": "Shipper Account only for UPS ." + }, + { + "value": "AMAZON_ACCOUNT", + "description": "this for default account and will be used if seller dont have any active linked account." + } + ] + }, + "InputType": { + "type": "string", + "description": "Type of Input.", + "enum": [ + "TEXTBOX", + "PASSWORD" + ], + "x-docgen-enum-table-extension": [ + { + "value": "TEXTBOX", + "description": "Input Type is Textbox." + }, + { + "value": "PASSWORD", + "description": "Input Type is Password." + } + ] + }, + + "PaymentType": { + "type": "string", + "description": "Payment type of the purchase.", + "enum": [ + "PAY_THROUGH_AMAZON", + "PAY_DIRECT_TO_CARRIER" + ], + "x-docgen-enum-table-extension": [ + { + "value": "PAY_THROUGH_AMAZON", + "description": "Payment Through Amazon." + }, + { + "value": "PAY_DIRECT_TO_CARRIER", + "description": "Payment Direct to Carrier." + } + ] + }, + "RateItemList": { + "type": "array", + "description": "A list of RateItem", + "items": { + "$ref": "#/definitions/RateItem" + } + }, + "RateItem": { + "type": "object", + "properties": { + "rateItemID": { + "$ref": "#/definitions/RateItemID" + }, + "rateItemType": { + "$ref": "#/definitions/RateItemType" + }, + "rateItemCharge": { + "$ref": "#/definitions/Currency" + }, + "rateItemNameLocalization": { + "type": "string", + "description": "Used for the localization." + } + }, + "description": "Rate Item for shipping (base cost, transaction fee, confirmation, insurance, etc.) Data source definition: " + }, + "RateItemID": { + "type": "string", + "description": "Unique ID for the rateItem.", + "enum": [ + "BASE_RATE", + "TRANSACTION_FEE", + "ADULT_SIGNATURE_CONFIRMATION", + "SIGNATURE_CONFIRMATION", + "NO_CONFIRMATION", + "WAIVE_SIGNATURE", + "IMPLIED_LIABILITY", + "HIDDEN_POSTAGE", + "DECLARED_VALUE", + "SUNDAY_HOLIDAY_DELIVERY", + "DELIVERY_CONFIRMATION", + "IMPORT_DUTY_CHARGE", + "VAT", + "NO_SATURDAY_DELIVERY", + "INSURANCE", + "COD", + "FUEL_SURCHARGE", + "INSPECTION_CHARGE", + "DELIVERY_AREA_SURCHARGE", + "WAYBILL_CHARGE", + "AMAZON_SPONSORED_DISCOUNT", + "INTEGRATOR_SPONSORED_DISCOUNT", + "OVERSIZE_SURCHARGE", + "CONGESTION_CHARGE", + "RESIDENTIAL_SURCHARGE", + "ADDITIONAL_SURCHARGE", + "SURCHARGE", + "REBATE" + ], + "x-docgen-enum-table-extension": [ + { + "value": "BASE_RATE", + "description": "for Base Rate." + }, + { + "value": "TRANSACTION_FEE", + "description": "Charge for TransAction Fee." + }, + { + "value": "ADULT_SIGNATURE_CONFIRMATION", + "description": "Charge for Adult Signature Confirmation." + }, + { + "value": "SIGNATURE_CONFIRMATION", + "description": "Charge for signature confirmation." + }, + { + "value": "NO_CONFIRMATION", + "description": "Charge for No Confirmation." + }, + { + "value": "WAIVE_SIGNATURE", + "description": "Charge for Waive Signature." + }, + { + "value": "IMPLIED_LIABILITY", + "description": "Charge for Implied Liability." + }, + { + "value": "HIDDEN_POSTAGE", + "description": "Hidden Postage Charge." + }, + { + "value": "DECLARED_VALUE", + "description": "Declared Valure Coverage Charge." + }, + { + "value": "SUNDAY_HOLIDAY_DELIVERY", + "description": "Sunday Holiday Delivery Charge." + }, + { + "value": "DELIVERY_CONFIRMATION", + "description": "Charge for Delivery Confirmation." + }, + { + "value": "IMPORT_DUTY_CHARGE", + "description": "Import Duty Charge." + }, + { + "value": "VAT", + "description": "Vat Charge." + }, + { + "value": "NO_SATURDAY_DELIVERY", + "description": "Charge for No Satuarday Delivery." + }, + { + "value": "INSURANCE", + "description": "Insurance Charge." + }, + { + "value": "COD", + "description": "COD Charge." + }, + { + "value": "AMAZON_SPONSORED_DISCOUNT", + "description": "Amazon Sponsored Discount." + }, + { + "value": "INTEGRATOR_SPONSORED_DISCOUNT", + "description": "Integrator Sponsored Discount." + }, + { + "value": "FUEL_SURCHARGE", + "description": "Fuel Surcharge." + }, + { + "value": "INSPECTION_CHARGE", + "description": "Inspection Charge." + }, + { + "value": "DELIVERY_AREA_SURCHARGE", + "description": "Delivery Area Surcharge." + }, + { + "value": "WAYBILL_CHARGE", + "description": "WayBill Charge." + }, + { + "value": "OVERSIZE_SURCHARGE", + "description": "OverSize Surcharge." + }, + { + "value": "CONGESTION_CHARGE", + "description": "Congestion Charge." + }, + { + "value": "RESIDENTIAL_SURCHARGE", + "description": "Residential Surcharge." + }, + { + "value": "ADDITIONAL_SURCHARGE", + "description": "Additional Surcharge." + }, + { + "value": "SURCHARGE", + "description": "Surcharge." + }, + { + "value": "REBATE", + "description": "Rebate." + } + ] + }, + "RateItemType": { + "type": "string", + "description": "Type of the rateItem.", + "enum": [ + "MANDATORY", + "OPTIONAL", + "INCLUDED" + ], + "x-docgen-enum-table-extension": [ + { + "value": "MANDATORY", + "description": "Rate Item is mandatory." + }, + { + "value": "OPTIONAL", + "description": "Rate Item is Optional." + }, + { + "value": "INCLUDED", + "description": "Rate Item is included." + } + ] + }, + "Benefits": { + "type": "object", + "description": "Representing the included/excluded benefits that we offer for each ShippingOffering/Rate. Benefits being services provided by Amazon when sellers purchase shipping through Amazon.", + "required": [ + "includedBenefits", + "excludedBenefits" + ], + "properties": { + "includedBenefits": { + "$ref": "#/definitions/IncludedBenefits" + }, + "excludedBenefits": { + "$ref": "#/definitions/ExcludedBenefits" + } + } + }, + "IncludedBenefits": { + "type": "array", + "description": "A list of included benefits.", + "items": { + "type": "string" + } + }, + "ExcludedBenefits": { + "type": "array", + "description": "A list of excluded benefit. Refer to the ExcludeBenefit object for further documentation", + "items": { + "$ref": "#/definitions/ExcludedBenefit" + } + }, + "ExcludedBenefit": { + "type": "object", + "description": "Object representing an excluded benefit that is excluded for an ShippingOffering/Rate.", + "required": [ + "benefit", + "reasonCode" + ], + "properties": { + "benefit": { + "type": "string" + }, + "reasonCode": { + "type": "string" + } + } + }, + "ServiceSelection" : { + "description": "Service Selection Criteria.", + "type": "object", + "required": ["serviceId"], + "properties": { + "serviceId": { + "$ref": "#/definitions/ServiceIds" + } + } + }, + "ServiceIds": { + "type": "array", + "description": "A list of ServiceId.", + "items": { + "type": "string" + } + }, + "OneClickShipmentValueAddedServiceDetails": { + "type": "array", + "description": "The value-added services to be added to a shipping service purchase.", + "items": { + "$ref": "#/definitions/OneClickShipmentValueAddedService" + } + }, + "OneClickShipmentValueAddedService": { + "type": "object", + "required": [ + "id" + ], + "properties": { + "id": { + "type": "string", + "description": "The identifier of the selected value-added service." + }, + "amount": { + "$ref": "#/definitions/Currency" + } + }, + "description": "A value-added service to be applied to a shipping service purchase." + }, + "Service" : { + "type": "object", + "required": [ + "id", + "name" + ], + "properties": { + "id": { + "$ref": "#/definitions/ServiceId" + }, + "name": { + "$ref": "#/definitions/ServiceName" + } + }, + "description": "Service Related Info" + }, + "Carrier" : { + "type": "object", + "required": [ + "id", + "name" + ], + "properties": { + "id": { + "$ref": "#/definitions/CarrierId" + }, + "name": { + "$ref": "#/definitions/CarrierName" + } + }, + "description": "Carrier Related Info" + } + } +} \ No newline at end of file From 77347d1f87f72c1fb6b249996560909ced18f47d Mon Sep 17 00:00:00 2001 From: Jack Evoniuk Date: Wed, 13 Dec 2023 10:51:04 -0800 Subject: [PATCH 023/340] Add Application Management model --- .../application_2023-11-30.json | 198 ++++++++++++++++++ 1 file changed, 198 insertions(+) create mode 100644 models/application-management-api-model/application_2023-11-30.json diff --git a/models/application-management-api-model/application_2023-11-30.json b/models/application-management-api-model/application_2023-11-30.json new file mode 100644 index 000000000..dfe087ad2 --- /dev/null +++ b/models/application-management-api-model/application_2023-11-30.json @@ -0,0 +1,198 @@ +{ + "swagger": "2.0", + "info": { + "title": "Selling Partner API for Application Management", + "description": "The Selling Partner API for Application Management lets you programmatically update the client secret on registered applications.", + "version": "2023-11-30", + "contact": { + "name": "Selling Partner API Developer Support", + "url": "https://sellercentral.amazon.com/gp/mws/contactus.html" + }, + "license": { + "name": "Apache License 2.0", + "url": "http://www.apache.org/licenses/LICENSE-2.0" + } + }, + "host": "sellingpartnerapi-na.amazon.com", + "schemes": [ + "https" + ], + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "paths": { + "/applications/2023-11-30/clientSecret": { + "post": { + "tags": [ + "Applications" + ], + "description": "Rotates application client secrets for a developer application. Developers must register a destination queue in the developer console before calling this operation. When this operation is called a new client secret is generated and sent to the developer-registered queue. For more information, refer to [Rotate your application client secret](https://developer-docs.amazon.com/sp-api/docs/application-management-api-v2023-11-30-use-case-guide).\n\n**Usage Plan:**\n\n| Rate (requests per second) | Burst |\n| ---- | ---- |\n| 0.0167 | 1 |\n\nThe `x-amzn-RateLimit-Limit` response header returns the usage plan rate limits that were applied to the requested operation, when available. The table above indicates the default rate and burst values for this operation. Selling partners whose business demands require higher throughput may see higher rate and burst values than those shown here. For more information, refer to [Usage Plans and Rate Limits in the Selling Partner API](https://developer-docs.amazon.com/sp-api/docs/usage-plans-and-rate-limits-in-the-sp-api).", + "operationId": "rotateApplicationClientSecret", + "parameters": [ + ], + "responses": { + "204": { + "description": "Success.", + "headers": { + "x-amzn-RateLimit-Limit": { + "description": "Your rate limit (requests per second) for this operation.", + "type": "string" + }, + "x-amzn-RequestId": { + "description": "Unique request reference identifier.", + "type": "string" + } + } + }, + "400": { + "description": "The application has not enrolled for programmatic rotations. Please visit your developer console to enroll.", + "headers": { + "x-amzn-RateLimit-Limit": { + "description": "Your rate limit (requests per second) for this operation.", + "type": "string" + }, + "x-amzn-RequestId": { + "description": "Unique request reference identifier.", + "type": "string" + } + }, + "schema": { + "$ref": "#/definitions/ErrorList" + } + }, + "403": { + "description": "Indicates that access to the resource is forbidden. Possible reasons include Access Denied, Unauthorized, Expired Token, or Invalid Signature.", + "headers": { + "x-amzn-RequestId": { + "description": "Unique request reference identifier.", + "type": "string" + } + }, + "schema": { + "$ref": "#/definitions/ErrorList" + } + }, + "404": { + "description": "The resource specified does not exist.", + "headers": { + "x-amzn-RateLimit-Limit": { + "description": "Your rate limit (requests per second) for this operation.", + "type": "string" + }, + "x-amzn-RequestId": { + "description": "Unique request reference identifier.", + "type": "string" + } + }, + "schema": { + "$ref": "#/definitions/ErrorList" + } + }, + "413": { + "description": "The request size exceeded the maximum accepted size.", + "headers": { + "x-amzn-RequestId": { + "description": "Unique request reference identifier.", + "type": "string" + } + }, + "schema": { + "$ref": "#/definitions/ErrorList" + } + }, + "415": { + "description": "The request payload is in an unsupported format.", + "headers": { + "x-amzn-RequestId": { + "description": "Unique request reference identifier.", + "type": "string" + } + }, + "schema": { + "$ref": "#/definitions/ErrorList" + } + }, + "429": { + "description": "The frequency of requests was greater than allowed.", + "headers": { + "x-amzn-RequestId": { + "description": "Unique request reference identifier.", + "type": "string" + } + }, + "schema": { + "$ref": "#/definitions/ErrorList" + } + }, + "500": { + "description": "An unexpected condition occurred that prevented the server from fulfilling the request.", + "headers": { + "x-amzn-RequestId": { + "description": "Unique request reference identifier.", + "type": "string" + } + }, + "schema": { + "$ref": "#/definitions/ErrorList" + } + }, + "503": { + "description": "Temporary overloading or maintenance of the server.", + "headers": { + "x-amzn-RequestId": { + "description": "Unique request reference identifier.", + "type": "string" + } + }, + "schema": { + "$ref": "#/definitions/ErrorList" + } + } + } + } + } + }, + "definitions": { + "ErrorList": { + "type": "object", + "description": "A list of error responses returned when a request is unsuccessful.", + "required": [ + "errors" + ], + "properties": { + "errors": { + "type": "array", + "description": "array of errors", + "items": { + "$ref": "#/definitions/Error" + } + } + } + }, + "Error": { + "description": "Error response returned when the request is unsuccessful.", + "properties": { + "code": { + "description": "An error code that identifies the type of error that occurred.", + "type": "string" + }, + "message": { + "description": "A message that describes the error condition.", + "type": "string" + }, + "details": { + "description": "Additional details that can help the caller understand or fix the issue.", + "type": "string" + } + }, + "required": [ + "code", + "message" + ], + "type": "object" + } + } +} \ No newline at end of file From e013b410497af3b6a3d6644deca22fe560020a39 Mon Sep 17 00:00:00 2001 From: Alex Rupprecht Date: Wed, 13 Dec 2023 14:08:12 -0500 Subject: [PATCH 024/340] Updates for December release --- ...ndorDirectFulfillmentOrders_2021-12-28.json | 18 +++++++++--------- 1 file changed, 9 insertions(+), 9 deletions(-) diff --git a/models/vendor-direct-fulfillment-orders-api-model/vendorDirectFulfillmentOrders_2021-12-28.json b/models/vendor-direct-fulfillment-orders-api-model/vendorDirectFulfillmentOrders_2021-12-28.json index 1e5e033b3..8991a6ae3 100644 --- a/models/vendor-direct-fulfillment-orders-api-model/vendorDirectFulfillmentOrders_2021-12-28.json +++ b/models/vendor-direct-fulfillment-orders-api-model/vendorDirectFulfillmentOrders_2021-12-28.json @@ -1009,35 +1009,35 @@ "properties": { "name": { "type": "string", - "description": "The name of the person, business or institution at that address." + "description": "The name of the person, business or institution at that address. For Amazon label only vendors, this field will have the value `xxxxx` within the object `shipToParty`." }, "attention": { "type": "string", - "description": "The attention name of the person at that address." + "description": "The attention name of the person at that address. For Amazon label only vendors, this field will have the value `xxxxx` within the object `shipToParty`." }, "addressLine1": { "type": "string", - "description": "First line of the address." + "description": "First line of the address. For Amazon label only vendors, this field will have the value `xxxxx` within the object `shipToParty`." }, "addressLine2": { "type": "string", - "description": "Additional address information, if required." + "description": "Additional address information, if required. For Amazon label only vendors, this field will have the value `xxxxx` within the object `shipToParty`." }, "addressLine3": { "type": "string", - "description": "Additional address information, if required." + "description": "Additional address information, if required. For Amazon label only vendors, this field will have the value `xxxxx` within the object `shipToParty`." }, "city": { "type": "string", - "description": "The city where the person, business or institution is located." + "description": "The city where the person, business or institution is located. For Amazon label only vendors, this field will have the value `xxxxx` within the object `shipToParty`." }, "county": { "type": "string", - "description": "The county where person, business or institution is located." + "description": "The county where person, business or institution is located. For Amazon label only vendors, this field will have the value `xxxxx` within the object `shipToParty`." }, "district": { "type": "string", - "description": "The district where person, business or institution is located." + "description": "The district where person, business or institution is located. For Amazon label only vendors, this field will have the value `xxxxx` within the object `shipToParty`." }, "stateOrRegion": { "type": "string", @@ -1053,7 +1053,7 @@ }, "phone": { "type": "string", - "description": "The phone number of the person, business or institution located at that address." + "description": "The phone number of the person, business or institution located at that address. For Amazon label only vendors, this field will have the value `xxxxx` within the object `shipToParty`." } }, "description": "Address of the party." From 51f4bdd29a457c90a601ddd9fd203f04dfdc2f4c Mon Sep 17 00:00:00 2001 From: Alex Rupprecht Date: Wed, 13 Dec 2023 14:12:25 -0500 Subject: [PATCH 025/340] December release description updates --- .../vendorDirectFulfillmentOrdersV1.json | 1939 +++-------------- 1 file changed, 322 insertions(+), 1617 deletions(-) diff --git a/models/vendor-direct-fulfillment-orders-api-model/vendorDirectFulfillmentOrdersV1.json b/models/vendor-direct-fulfillment-orders-api-model/vendorDirectFulfillmentOrdersV1.json index b6206a5a6..8991a6ae3 100644 --- a/models/vendor-direct-fulfillment-orders-api-model/vendorDirectFulfillmentOrdersV1.json +++ b/models/vendor-direct-fulfillment-orders-api-model/vendorDirectFulfillmentOrdersV1.json @@ -2,7 +2,7 @@ "swagger": "2.0", "info": { "description": "The Selling Partner API for Direct Fulfillment Orders provides programmatic access to a direct fulfillment vendor's order data.", - "version": "v1", + "version": "2021-12-28", "title": "Selling Partner API for Direct Fulfillment Orders", "contact": { "name": "Selling Partner API Developer Support", @@ -24,12 +24,12 @@ "application/json" ], "paths": { - "/vendor/directFulfillment/orders/v1/purchaseOrders": { + "/vendor/directFulfillment/orders/2021-12-28/purchaseOrders": { "get": { "tags": [ "vendorOrders" ], - "description": "Returns a list of purchase orders created during the time frame that you specify. You define the time frame using the createdAfter and createdBefore parameters. You must use both parameters. You can choose to get only the purchase order numbers by setting the includeDetails parameter to false. In that case, the operation returns a list of purchase order numbers. You can then call the getOrder operation to return the details of a specific order.\n\n**Usage Plan:**\n\n| Rate (requests per second) | Burst |\n| ---- | ---- |\n| 10 | 10 |\n\nThe `x-amzn-RateLimit-Limit` response header returns the usage plan rate limits that were applied to the requested operation, when available. The table above indicates the default rate and burst values for this operation. Selling partners whose business demands require higher throughput may see higher rate and burst values than those shown here. For more information, see [Usage Plans and Rate Limits in the Selling Partner API](https://developer-docs.amazon.com/sp-api/docs/usage-plans-and-rate-limits-in-the-sp-api).", + "description": "Returns a list of purchase orders created during the time frame that you specify. You define the time frame using the createdAfter and createdBefore parameters. You must use both parameters. You can choose to get only the purchase order numbers by setting the includeDetails parameter to false. In that case, the operation returns a list of purchase order numbers. You can then call the getOrder operation to return the details of a specific order.\n\n**Usage Plan:**\n\n| Rate (requests per second) | Burst |\n| ---- | ---- |\n| 10 | 10 |\n\nThe `x-amzn-RateLimit-Limit` response header returns the usage plan rate limits that were applied to the requested operation, when available. The table above indicates the default rate and burst values for this operation. Selling partners whose business demands require higher throughput may see higher rate and burst values then those shown here. For more information, see [Usage Plans and Rate Limits in the Selling Partner API](doc:usage-plans-and-rate-limits-in-the-sp-api).", "operationId": "getOrders", "parameters": [ { @@ -138,1227 +138,14 @@ "200": { "description": "Success.", "schema": { - "$ref": "#/definitions/GetOrdersResponse" + "$ref": "#/definitions/OrderList" }, "examples": { - "payload": { - "pagination": { - "nextToken": "MDAwMDAwMDAwMQ==" - }, - "orders": [ - { - "purchaseOrderNumber": "2JK3S9VC", - "orderDetails": { - "customerOrderNumber": "123-ABC", - "orderDate": "2020-02-20T13:51:00Z", - "orderStatus": "NEW", - "shipmentDetails": { - "isPriorityShipment": false, - "isScheduledDeliveryShipment": false, - "isPslipRequired": true, - "isGift": false, - "shipMethod": "UPS_2ND", - "shipmentDates": { - "requiredShipDate": "2020-02-21T00:00:00Z", - "promisedDeliveryDate": "2020-02-24T00:00:00Z" - }, - "messageToCustomer": "This shipment completes your order. You can always check the status of your orders from the \"Your Account\" link at the top of each page of our site.Thank you for shopping at Amazon.com" - }, - "taxTotal": { - "taxLineItem": [ - { - "taxRate": "0.1", - "taxAmount": { - "currencyCode": "USD", - "amount": "190" - }, - "type": "TOTAL" - } - ] - }, - "sellingParty": { - "partyId": "999US" - }, - "shipFromParty": { - "partyId": "ABCD" - }, - "shipToParty": { - "name": "ABCD", - "attention": "ABCD", - "addressLine1": "123 XYZ Street", - "addressLine2": "Apt 5", - "city": "San Jose", - "stateOrRegion": "CA", - "postalCode": "94086", - "countryCode": "USA" - }, - "billToParty": { - "partyId": "ABCD" - }, - "items": [ - { - "itemSequenceNumber": "00001", - "buyerProductIdentifier": "B07DFVDRAB", - "vendorProductIdentifier": "8806098286500", - "title": "LG 8 kg Inverter Wi-Fi Fully-Automatic Front Loading Washing Machine (FHT1408SWS, STS-VCM, Inbuilt Heater)", - "orderedQuantity": { - "amount": 1, - "unitOfMeasure": "EACH" - }, - "netPrice": { - "currencyCode": "USD", - "amount": "500" - }, - "taxDetails": { - "taxLineItem": [ - { - "taxRate": "0.1", - "taxAmount": { - "currencyCode": "USD", - "amount": "50" - }, - "type": "TOTAL" - } - ] - } - }, - { - "itemSequenceNumber": "00002", - "buyerProductIdentifier": "B07DFYF5AB", - "vendorProductIdentifier": "8806098286123", - "title": "LG 6.5 kg Inverter Fully-Automatic Front Loading Washing Machine (FHT1065SNW, Blue and White, Inbuilt Heater)", - "orderedQuantity": { - "amount": 2, - "unitOfMeasure": "EACH" - }, - "netPrice": { - "currencyCode": "USD", - "amount": "700" - }, - "taxDetails": { - "taxLineItem": [ - { - "taxRate": "0.1", - "taxAmount": { - "currencyCode": "USD", - "amount": "140" - }, - "type": "TOTAL" - } - ] - } - } - ] - } - } - ] - } - }, - "headers": { - "x-amzn-RateLimit-Limit": { - "type": "string", - "description": "Your rate limit (requests per second) for this operation." - }, - "x-amzn-RequestId": { - "type": "string", - "description": "Unique request reference identifier." - } - }, - "x-amzn-api-sandbox": { - "static": [ - { - "request": { - "parameters": { - "createdBefore": { - "value": "2020-02-20T00:00:00-08:00" - }, - "createdAfter": { - "value": "2020-02-15T14:00:00-08:00" - }, - "includeDetails": { - "value": "true" - }, - "limit": { - "value": 2 - }, - "sortOrder": { - "value": "DESC" - } - } - }, - "response": { - "payload": { - "pagination": { - "nextToken": "MDAwMDAwMDAwMQ==" - }, - "orders": [ - { - "purchaseOrderNumber": "2JK3S9VC", - "orderDetails": { - "customerOrderNumber": "123-ABC", - "orderDate": "2020-02-20T13:51:00Z", - "orderStatus": "NEW", - "shipmentDetails": { - "isPriorityShipment": false, - "isScheduledDeliveryShipment": false, - "isPslipRequired": true, - "isGift": false, - "shipMethod": "UPS_2ND", - "shipmentDates": { - "requiredShipDate": "2020-02-21T00:00:00Z", - "promisedDeliveryDate": "2020-02-24T00:00:00Z" - }, - "messageToCustomer": "This shipment completes your order. You can always check the status of your orders from the \"Your Account\" link at the top of each page of our site.Thank you for shopping at Amazon.com" - }, - "taxTotal": { - "taxLineItem": [ - { - "taxRate": "0.1", - "taxAmount": { - "currencyCode": "USD", - "amount": "190" - }, - "type": "TOTAL" - } - ] - }, - "sellingParty": { - "partyId": "999US" - }, - "shipFromParty": { - "partyId": "ABCD" - }, - "shipToParty": { - "name": "ABCD", - "attention": "ABCD", - "addressLine1": "123 XYZ Street", - "addressLine2": "Apt 5", - "city": "San Jose", - "stateOrRegion": "CA", - "postalCode": "94086", - "countryCode": "USA" - }, - "billToParty": { - "partyId": "ABCD" - }, - "items": [ - { - "itemSequenceNumber": "00001", - "buyerProductIdentifier": "B07DFVDRAB", - "vendorProductIdentifier": "8806098286500", - "title": "LG 8 kg Inverter Wi-Fi Fully-Automatic Front Loading Washing Machine (FHT1408SWS, STS-VCM, Inbuilt Heater)", - "orderedQuantity": { - "amount": 1, - "unitOfMeasure": "EACH" - }, - "netPrice": { - "currencyCode": "USD", - "amount": "500" - }, - "taxDetails": { - "taxLineItem": [ - { - "taxRate": "0.1", - "taxAmount": { - "currencyCode": "USD", - "amount": "50" - }, - "type": "TOTAL" - } - ] - } - }, - { - "itemSequenceNumber": "00002", - "buyerProductIdentifier": "B07DFYF5AB", - "vendorProductIdentifier": "8806098286123", - "title": "LG 6.5 kg Inverter Fully-Automatic Front Loading Washing Machine (FHT1065SNW, Blue and White, Inbuilt Heater)", - "orderedQuantity": { - "amount": 2, - "unitOfMeasure": "EACH" - }, - "netPrice": { - "currencyCode": "USD", - "amount": "700" - }, - "taxDetails": { - "taxLineItem": [ - { - "taxRate": "0.1", - "taxAmount": { - "currencyCode": "USD", - "amount": "140" - }, - "type": "TOTAL" - } - ] - } - } - ] - } - }, - { - "purchaseOrderNumber": "3TRD2IAB", - "orderDetails": { - "customerOrderNumber": "456-ABC", - "orderDate": "2020-02-18T11:47:00Z", - "orderStatus": "NEW", - "shipmentDetails": { - "isPriorityShipment": false, - "isScheduledDeliveryShipment": false, - "isPslipRequired": true, - "isGift": false, - "shipMethod": "UPS_2ND", - "shipmentDates": { - "requiredShipDate": "2020-02-20T00:00:00Z", - "promisedDeliveryDate": "2020-02-22T00:00:00Z" - }, - "messageToCustomer": "This shipment completes your order. You can always check the status of your orders from the \"Your Account\" link at the top of each page of our site.Thank you for shopping at Amazon.com" - }, - "taxTotal": { - "taxLineItem": [ - { - "taxRate": "0.1", - "taxAmount": { - "currencyCode": "USD", - "amount": "2" - }, - "type": "TOTAL" - } - ] - }, - "sellingParty": { - "partyId": "999US" - }, - "shipFromParty": { - "partyId": "ABCD" - }, - "shipToParty": { - "name": "XYZ", - "attention": "XYZ", - "addressLine1": "456 ABC Street", - "city": "Seattle", - "stateOrRegion": "WA", - "postalCode": "98007", - "countryCode": "USA" - }, - "billToParty": { - "partyId": "ABCD" - }, - "items": [ - { - "itemSequenceNumber": "00001", - "buyerProductIdentifier": "B01LNRIIAB", - "vendorProductIdentifier": "8806098286501", - "title": "Baby Dove Baby Wipes Rich Moisture (50 Pieces)", - "orderedQuantity": { - "amount": 1, - "unitOfMeasure": "EACH" - }, - "netPrice": { - "currencyCode": "USD", - "amount": "20" - }, - "taxDetails": { - "taxLineItem": [ - { - "taxRate": "0.1", - "taxAmount": { - "currencyCode": "USD", - "amount": "2" - }, - "type": "TOTAL" - } - ] - } - } - ] - } - } - ] - } - } - }, - { - "request": { - "parameters": { - "createdBefore": { - "value": "2020-02-20T00:00:00-08:00" - }, - "createdAfter": { - "value": "2020-02-15T14:00:00-08:00" - }, - "includeDetails": { - "value": "true" - }, - "limit": { - "value": 2 - }, - "sortOrder": { - "value": "DESC" - }, - "nextToken": { - "value": "MDAwMDAwMDAwMQ==" - } - } - }, - "response": { - "payload": { - "orders": [ - { - "purchaseOrderNumber": "2JK3S9VCD", - "orderDetails": { - "customerOrderNumber": "123-ABC", - "orderDate": "2020-02-20T13:51:00Z", - "orderStatus": "NEW", - "shipmentDetails": { - "isPriorityShipment": false, - "isScheduledDeliveryShipment": false, - "isPslipRequired": true, - "isGift": false, - "shipMethod": "UPS_2ND", - "shipmentDates": { - "requiredShipDate": "2020-02-21T00:00:00Z", - "promisedDeliveryDate": "2020-02-24T00:00:00Z" - }, - "messageToCustomer": "This shipment completes your order. You can always check the status of your orders from the \"Your Account\" link at the top of each page of our site.Thank you for shopping at Amazon.com" - }, - "taxTotal": { - "taxLineItem": [ - { - "taxAmount": { - "currencyCode": "USD", - "amount": "190" - }, - "type": "TOTAL" - } - ] - }, - "sellingParty": { - "partyId": "999US" - }, - "shipFromParty": { - "partyId": "ABCD" - }, - "shipToParty": { - "name": "ABCD", - "attention": "ABCD", - "addressLine1": "123 XYZ Street", - "addressLine2": "Apt 5", - "city": "San Jose", - "stateOrRegion": "CA", - "postalCode": "94086", - "countryCode": "USA" - }, - "billToParty": { - "partyId": "ABCD" - }, - "items": [ - { - "itemSequenceNumber": "00001", - "buyerProductIdentifier": "B07DFVDRAB", - "vendorProductIdentifier": "8806098286500", - "title": "LG 8 kg Inverter Wi-Fi Fully-Automatic Front Loading Washing Machine (FHT1408SWS, STS-VCM, Inbuilt Heater)", - "orderedQuantity": { - "amount": 1, - "unitOfMeasure": "EACH" - }, - "netPrice": { - "currencyCode": "USD", - "amount": "500" - }, - "taxDetails": { - "taxLineItem": [ - { - "taxRate": "0.1", - "taxAmount": { - "currencyCode": "USD", - "amount": "50" - }, - "type": "TOTAL" - } - ] - } - }, - { - "itemSequenceNumber": "00002", - "buyerProductIdentifier": "B07DFYF5AB", - "vendorProductIdentifier": "8806098286123", - "title": "LG 6.5 kg Inverter Fully-Automatic Front Loading Washing Machine (FHT1065SNW, Blue and White, Inbuilt Heater)", - "orderedQuantity": { - "amount": 2, - "unitOfMeasure": "EACH" - }, - "netPrice": { - "currencyCode": "USD", - "amount": "700" - }, - "taxDetails": { - "taxLineItem": [ - { - "taxRate": "0.1", - "taxAmount": { - "currencyCode": "USD", - "amount": "140" - }, - "type": "TOTAL" - } - ] - } - } - ] - } - }, - { - "purchaseOrderNumber": "3TRD2IABC", - "orderDetails": { - "customerOrderNumber": "456-ABC", - "orderDate": "2020-02-18T11:47:00Z", - "orderStatus": "NEW", - "shipmentDetails": { - "isPriorityShipment": false, - "isScheduledDeliveryShipment": false, - "isPslipRequired": true, - "isGift": false, - "shipMethod": "UPS_2ND", - "shipmentDates": { - "requiredShipDate": "2020-02-20T00:00:00Z", - "promisedDeliveryDate": "2020-02-22T00:00:00Z" - }, - "messageToCustomer": "This shipment completes your order. You can always check the status of your orders from the \"Your Account\" link at the top of each page of our site.Thank you for shopping at Amazon.com" - }, - "taxTotal": { - "taxLineItem": [ - { - "taxRate": "0.1", - "taxAmount": { - "currencyCode": "USD", - "amount": "2" - }, - "type": "TOTAL" - } - ] - }, - "sellingParty": { - "partyId": "999US" - }, - "shipFromParty": { - "partyId": "ABCD" - }, - "shipToParty": { - "name": "XYZ", - "attention": "XYZ", - "addressLine1": "456 ABC Street", - "city": "Seattle", - "stateOrRegion": "WA", - "postalCode": "98007", - "countryCode": "USA" - }, - "billToParty": { - "partyId": "ABCD" - }, - "items": [ - { - "itemSequenceNumber": "00001", - "buyerProductIdentifier": "B01LNRIIAB", - "vendorProductIdentifier": "8806098286501", - "title": "Baby Dove Baby Wipes Rich Moisture (50 Pieces)", - "orderedQuantity": { - "amount": 1, - "unitOfMeasure": "EACH" - }, - "netPrice": { - "currencyCode": "USD", - "amount": "20" - }, - "taxDetails": { - "taxLineItem": [ - { - "taxRate": "0.1", - "taxAmount": { - "currencyCode": "USD", - "amount": "2" - }, - "type": "TOTAL" - } - ] - } - } - ] - } - } - ] - } - } - }, - { - "request": { - "parameters": { - "createdBefore": { - "value": "2020-02-20T00:00:00-08:00" - }, - "createdAfter": { - "value": "2020-02-15T14:00:00-08:00" - }, - "includeDetails": { - "value": "true" - }, - "limit": { - "value": 2 - }, - "sortOrder": { - "value": "DESC" - }, - "nextToken": { - "value": "MDAwMDAwMDAwMQ==" - } - } - }, - "response": { - "payload": { - "orders": [ - { - "purchaseOrderNumber": "2JK3S9VCD", - "orderDetails": { - "customerOrderNumber": "123-ABC", - "orderDate": "2020-02-20T13:51:00Z", - "orderStatus": "NEW", - "shipmentDetails": { - "isPriorityShipment": false, - "isScheduledDeliveryShipment": false, - "isPslipRequired": true, - "isGift": false, - "shipMethod": "UPS_2ND", - "shipmentDates": { - "requiredShipDate": "2020-02-21T00:00:00Z", - "promisedDeliveryDate": "2020-02-24T00:00:00Z" - }, - "messageToCustomer": "This shipment completes your order. You can always check the status of your orders from the \"Your Account\" link at the top of each page of our site.Thank you for shopping at Amazon.com" - }, - "taxTotal": { - "taxLineItem": [ - { - "taxAmount": { - "currencyCode": "USD", - "amount": "190" - }, - "type": "TOTAL" - } - ] - }, - "sellingParty": { - "partyId": "999US" - }, - "shipFromParty": { - "partyId": "ABCD" - }, - "shipToParty": { - "name": "ABCD", - "attention": "ABCD", - "addressLine1": "123 XYZ Street", - "addressLine2": "Apt 5", - "city": "San Jose", - "stateOrRegion": "CA", - "postalCode": "94086", - "countryCode": "USA" - }, - "billToParty": { - "partyId": "ABCD" - }, - "items": [ - { - "itemSequenceNumber": "00001", - "buyerProductIdentifier": "B07DFVDRAB", - "vendorProductIdentifier": "8806098286500", - "title": "LG 8 kg Inverter Wi-Fi Fully-Automatic Front Loading Washing Machine (FHT1408SWS, STS-VCM, Inbuilt Heater)", - "orderedQuantity": { - "amount": 1, - "unitOfMeasure": "EACH" - }, - "netPrice": { - "currencyCode": "USD", - "amount": "500" - }, - "taxDetails": { - "taxLineItem": [ - { - "taxRate": "0.1", - "taxAmount": { - "currencyCode": "USD", - "amount": "50" - }, - "type": "TOTAL" - } - ] - } - }, - { - "itemSequenceNumber": "00002", - "buyerProductIdentifier": "B07DFYF5AB", - "vendorProductIdentifier": "8806098286123", - "title": "LG 6.5 kg Inverter Fully-Automatic Front Loading Washing Machine (FHT1065SNW, Blue and White, Inbuilt Heater)", - "orderedQuantity": { - "amount": 2, - "unitOfMeasure": "EACH" - }, - "netPrice": { - "currencyCode": "USD", - "amount": "700" - }, - "taxDetails": { - "taxLineItem": [ - { - "taxRate": "0.1", - "taxAmount": { - "currencyCode": "USD", - "amount": "140" - }, - "type": "TOTAL" - } - ] - } - } - ] - } - }, - { - "purchaseOrderNumber": "3TRD2IABC", - "orderDetails": { - "customerOrderNumber": "456-ABC", - "orderDate": "2020-02-18T11:47:00Z", - "orderStatus": "NEW", - "shipmentDetails": { - "isPriorityShipment": false, - "isScheduledDeliveryShipment": false, - "isPslipRequired": true, - "isGift": false, - "shipMethod": "UPS_2ND", - "shipmentDates": { - "requiredShipDate": "2020-02-20T00:00:00Z", - "promisedDeliveryDate": "2020-02-22T00:00:00Z" - }, - "messageToCustomer": "This shipment completes your order. You can always check the status of your orders from the \"Your Account\" link at the top of each page of our site.Thank you for shopping at Amazon.com" - }, - "taxTotal": { - "taxLineItem": [ - { - "taxRate": "0.1", - "taxAmount": { - "currencyCode": "USD", - "amount": "2" - }, - "type": "TOTAL" - } - ] - }, - "sellingParty": { - "partyId": "999US" - }, - "shipFromParty": { - "partyId": "ABCD" - }, - "shipToParty": { - "name": "XYZ", - "attention": "XYZ", - "addressLine1": "456 ABC Street", - "city": "Seattle", - "stateOrRegion": "WA", - "postalCode": "98007", - "countryCode": "USA" - }, - "billToParty": { - "partyId": "ABCD" - }, - "items": [ - { - "itemSequenceNumber": "00001", - "buyerProductIdentifier": "B01LNRIIAB", - "vendorProductIdentifier": "8806098286501", - "title": "Baby Dove Baby Wipes Rich Moisture (50 Pieces)", - "orderedQuantity": { - "amount": 1, - "unitOfMeasure": "EACH" - }, - "netPrice": { - "currencyCode": "USD", - "amount": "20" - }, - "taxDetails": { - "taxLineItem": [ - { - "taxRate": "0.1", - "taxAmount": { - "currencyCode": "USD", - "amount": "2" - }, - "type": "TOTAL" - } - ] - } - } - ] - } - } - ] - } - } - }, - { - "request": { - "parameters": { - "createdBefore": { - "value": "2019-08-21T00:00:00-08:00" - }, - "createdAfter": { - "value": "2019-08-20T14:00:00-08:00" - }, - "includeDetails": { - "value": "false" - }, - "sortOrder": { - "value": "DESC" - } - } - }, - "response": { - "payload": { - "pagination": { - "nextToken": "MDAwMDAwMDAwMQ==" - }, - "orders": [ - { - "purchaseOrderNumber": "2JK3S9VC" - }, - { - "purchaseOrderNumber": "3TRD2IAB" - } - ] - } - } - }, - { - "request": { - "parameters": { - "createdBefore": { - "value": "2019-08-21T00:00:00-08:00" - }, - "createdAfter": { - "value": "2019-08-20T14:00:00-08:00" - }, - "includeDetails": { - "value": "false" - }, - "sortOrder": { - "value": "DESC" - } - } - }, - "response": { - "payload": { - "pagination": { - "nextToken": "MDAwMDAwMDAwMQ==" - }, - "orders": [ - { - "purchaseOrderNumber": "2JK3S9VC" - }, - { - "purchaseOrderNumber": "3TRD2IAB" - } - ] - } - } - }, - { - "request": { - "parameters": { - "createdBefore": { - "value": "2019-08-21T00:00:00-08:00" - }, - "createdAfter": { - "value": "2019-08-20T14:00:00-08:00" - }, - "includeDetails": { - "value": "false" - }, - "sortOrder": { - "value": "DESC" - }, - "nextToken": { - "value": "MDAwMDAwMDAwMQ==" - } - } - }, - "response": { - "payload": { - "orders": [ - { - "purchaseOrderNumber": "2JK3S9VCD" - }, - { - "purchaseOrderNumber": "3TRD2IABC" - } - ] - } - } - }, - { - "request": { - "parameters": {} - }, - "response": { - "payload": { - "orders": [ - { - "purchaseOrderNumber": "2JK3S9VCD", - "orderDetails": { - "customerOrderNumber": "123-ABC", - "orderDate": "2020-02-20T13:51:00Z", - "orderStatus": "NEW", - "shipmentDetails": { - "isPriorityShipment": false, - "isScheduledDeliveryShipment": false, - "isPslipRequired": true, - "isGift": false, - "shipMethod": "UPS_2ND", - "shipmentDates": { - "requiredShipDate": "2020-02-21T00:00:00Z", - "promisedDeliveryDate": "2020-02-24T00:00:00Z" - }, - "messageToCustomer": "This shipment completes your order. You can always check the status of your orders from the \"Your Account\" link at the top of each page of our site. Thank you for shopping at Amazon.com." - }, - "taxTotal": { - "taxLineItem": [ - { - "taxAmount": { - "currencyCode": "USD", - "amount": "190" - }, - "type": "TOTAL" - } - ] - }, - "sellingParty": { - "partyId": "999US" - }, - "shipFromParty": { - "partyId": "ABCD" - }, - "shipToParty": { - "name": "ABCD", - "attention": "ABCD", - "addressLine1": "123 XYZ Street", - "addressLine2": "Apt 5", - "city": "San Jose", - "stateOrRegion": "CA", - "postalCode": "94086", - "countryCode": "USA" - }, - "billToParty": { - "partyId": "ABCD" - }, - "items": [ - { - "itemSequenceNumber": "00001", - "buyerProductIdentifier": "B07DFVDRAB", - "vendorProductIdentifier": "8806098286500", - "title": "LG 8 kg Inverter Wi-Fi Fully-Automatic Front Loading Washing Machine (FHT1408SWS, STS-VCM, Inbuilt Heater)", - "orderedQuantity": { - "amount": 1, - "unitOfMeasure": "EACH" - }, - "netPrice": { - "currencyCode": "USD", - "amount": "500" - }, - "taxDetails": { - "taxLineItem": [ - { - "taxRate": "0.1", - "taxAmount": { - "currencyCode": "USD", - "amount": "50" - }, - "type": "TOTAL" - } - ] - } - }, - { - "itemSequenceNumber": "00002", - "buyerProductIdentifier": "B07DFYF5AB", - "vendorProductIdentifier": "8806098286123", - "title": "LG 6.5 kg Inverter Fully-Automatic Front Loading Washing Machine (FHT1065SNW, Blue and White, Inbuilt Heater)", - "orderedQuantity": { - "amount": 2, - "unitOfMeasure": "EACH" - }, - "netPrice": { - "currencyCode": "USD", - "amount": "700" - }, - "taxDetails": { - "taxLineItem": [ - { - "taxRate": "0.1", - "taxAmount": { - "currencyCode": "USD", - "amount": "140" - }, - "type": "TOTAL" - } - ] - } - } - ] - } - }, - { - "purchaseOrderNumber": "3TRD2IABC", - "orderDetails": { - "customerOrderNumber": "456-ABC", - "orderDate": "2020-02-18T11:47:00Z", - "orderStatus": "NEW", - "shipmentDetails": { - "isPriorityShipment": false, - "isScheduledDeliveryShipment": false, - "isPslipRequired": true, - "isGift": false, - "shipMethod": "UPS_2ND", - "shipmentDates": { - "requiredShipDate": "2020-02-20T00:00:00Z", - "promisedDeliveryDate": "2020-02-22T00:00:00Z" - }, - "messageToCustomer": "This shipment completes your order. You can always check the status of your orders from the \"Your Account\" link at the top of each page of our site. Thank you for shopping at Amazon.com." - }, - "taxTotal": { - "taxLineItem": [ - { - "taxRate": "0.1", - "taxAmount": { - "currencyCode": "USD", - "amount": "2" - }, - "type": "TOTAL" - } - ] - }, - "sellingParty": { - "partyId": "999US" - }, - "shipFromParty": { - "partyId": "ABCD" - }, - "shipToParty": { - "name": "XYZ", - "attention": "XYZ", - "addressLine1": "456 ABC Street", - "city": "Seattle", - "stateOrRegion": "WA", - "postalCode": "98007", - "countryCode": "USA" - }, - "billToParty": { - "partyId": "ABCD" - }, - "items": [ - { - "itemSequenceNumber": "00001", - "buyerProductIdentifier": "B01LNRIIAB", - "vendorProductIdentifier": "8806098286501", - "title": "Baby Dove Baby Wipes Rich Moisture (50 Pieces)", - "orderedQuantity": { - "amount": 1, - "unitOfMeasure": "EACH" - }, - "netPrice": { - "currencyCode": "USD", - "amount": "20" - }, - "taxDetails": { - "taxLineItem": [ - { - "taxRate": "0.1", - "taxAmount": { - "currencyCode": "USD", - "amount": "2" - }, - "type": "TOTAL" - } - ] - } - } - ] - } - } - ] - } - } - } - ] - } - }, - "400": { - "description": "Request has missing or invalid parameters and cannot be parsed.", - "schema": { - "$ref": "#/definitions/GetOrdersResponse" - }, - "headers": { - "x-amzn-RateLimit-Limit": { - "type": "string", - "description": "Your rate limit (requests per second) for this operation." + "pagination": { + "nextToken": "MDAwMDAwMDAwMQ==" }, - "x-amzn-RequestId": { - "type": "string", - "description": "Unique request reference identifier." - } - }, - "x-amzn-api-sandbox": { - "static": [ + "orders": [ { - "request": { - "parameters": { - "createdBefore": { - "value": "2021-01-2100:00:00" - }, - "createdAfter": { - "value": "2021-02-20T14:00:00" - } - } - }, - "response": { - "errors": [ - { - "code": "InvalidRequest", - "message": "The request is invalid.", - "details": "" - } - ] - } - } - ] - } - }, - "403": { - "description": "Indicates that access to the resource is forbidden. Possible reasons include Access Denied, Unauthorized, Expired Token, or Invalid Signature.", - "schema": { - "$ref": "#/definitions/GetOrdersResponse" - }, - "headers": { - "x-amzn-RequestId": { - "type": "string", - "description": "Unique request reference identifier." - } - } - }, - "404": { - "description": "The resource specified does not exist.", - "schema": { - "$ref": "#/definitions/GetOrdersResponse" - }, - "headers": { - "x-amzn-RateLimit-Limit": { - "type": "string", - "description": "Your rate limit (requests per second) for this operation." - }, - "x-amzn-RequestId": { - "type": "string", - "description": "Unique request reference identifier." - } - } - }, - "415": { - "description": "The request payload is in an unsupported format.", - "schema": { - "$ref": "#/definitions/GetOrdersResponse" - }, - "headers": { - "x-amzn-RateLimit-Limit": { - "type": "string", - "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." - }, - "x-amzn-RequestId": { - "type": "string", - "description": "Unique request reference identifier." - } - } - }, - "429": { - "description": "The frequency of requests was greater than allowed.", - "schema": { - "$ref": "#/definitions/GetOrdersResponse" - }, - "headers": { - "x-amzn-RateLimit-Limit": { - "type": "string", - "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." - }, - "x-amzn-RequestId": { - "type": "string", - "description": "Unique request reference identifier." - } - } - }, - "500": { - "description": "An unexpected condition occurred that prevented the server from fulfilling the request.", - "schema": { - "$ref": "#/definitions/GetOrdersResponse" - }, - "headers": { - "x-amzn-RateLimit-Limit": { - "type": "string", - "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." - }, - "x-amzn-RequestId": { - "type": "string", - "description": "Unique request reference identifier." - } - } - }, - "503": { - "description": "Temporary overloading or maintenance of the server.", - "schema": { - "$ref": "#/definitions/GetOrdersResponse" - }, - "headers": { - "x-amzn-RateLimit-Limit": { - "type": "string", - "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." - }, - "x-amzn-RequestId": { - "type": "string", - "description": "Unique request reference identifier." - } - } - } - } - } - }, - "/vendor/directFulfillment/orders/v1/purchaseOrders/{purchaseOrderNumber}": { - "get": { - "tags": [ - "vendorOrders" - ], - "description": "Returns purchase order information for the purchaseOrderNumber that you specify.\n\n**Usage Plan:**\n\n| Rate (requests per second) | Burst |\n| ---- | ---- |\n| 10 | 10 |\n\nThe `x-amzn-RateLimit-Limit` response header returns the usage plan rate limits that were applied to the requested operation, when available. The table above indicates the default rate and burst values for this operation. Selling partners whose business demands require higher throughput may see higher rate and burst values than those shown here. For more information, see [Usage Plans and Rate Limits in the Selling Partner API](https://developer-docs.amazon.com/sp-api/docs/usage-plans-and-rate-limits-in-the-sp-api).", - "operationId": "getOrder", - "parameters": [ - { - "name": "purchaseOrderNumber", - "in": "path", - "description": "The order identifier for the purchase order that you want. Formatting Notes: alpha-numeric code.", - "required": true, - "type": "string" - } - ], - "responses": { - "200": { - "description": "Success.", - "schema": { - "$ref": "#/definitions/GetOrderResponse" - }, - "examples": { - "application/json": { - "payload": { "purchaseOrderNumber": "2JK3S9VC", "orderDetails": { "customerOrderNumber": "123-ABC", @@ -1379,6 +166,7 @@ "taxTotal": { "taxLineItem": [ { + "taxRate": "0.1", "taxAmount": { "currencyCode": "USD", "amount": "190" @@ -1431,6 +219,9 @@ "type": "TOTAL" } ] + }, + "buyerCustomizedInfo": { + "customizedUrl": "aHR0cHM6Ly8xcC1kZi1wdWJsaWMtZGF0YS5zMy5hbWF6b25hd3MuY29tLzExMS0xMjYwNzQ1LTYyOTE0MTZfNTgzNjIxNTQwMTM1NjEuemlw" } }, { @@ -1462,254 +253,279 @@ ] } } + ] + }, + "headers": { + "x-amzn-RateLimit-Limit": { + "type": "string", + "description": "Your rate limit (requests per second) for this operation." + }, + "x-amzn-RequestId": { + "type": "string", + "description": "Unique request reference identifier." + } + } + }, + "400": { + "description": "Request has missing or invalid parameters and cannot be parsed.", + "schema": { + "$ref": "#/definitions/ErrorList" + }, + "headers": { + "x-amzn-RateLimit-Limit": { + "type": "string", + "description": "Your rate limit (requests per second) for this operation." + }, + "x-amzn-RequestId": { + "type": "string", + "description": "Unique request reference identifier." + } + } + }, + "403": { + "description": "Indicates that access to the resource is forbidden. Possible reasons include Access Denied, Unauthorized, Expired Token, or Invalid Signature.", + "schema": { + "$ref": "#/definitions/ErrorList" + }, + "headers": { + "x-amzn-RequestId": { + "type": "string", + "description": "Unique request reference identifier." + } + } + }, + "404": { + "description": "The resource specified does not exist.", + "schema": { + "$ref": "#/definitions/ErrorList" + }, + "headers": { + "x-amzn-RateLimit-Limit": { + "type": "string", + "description": "Your rate limit (requests per second) for this operation." + }, + "x-amzn-RequestId": { + "type": "string", + "description": "Unique request reference identifier." + } + } + }, + "415": { + "description": "The request payload is in an unsupported format.", + "schema": { + "$ref": "#/definitions/ErrorList" + }, + "headers": { + "x-amzn-RateLimit-Limit": { + "type": "string", + "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." + }, + "x-amzn-RequestId": { + "type": "string", + "description": "Unique request reference identifier." } + } + }, + "429": { + "description": "The frequency of requests was greater than allowed.", + "schema": { + "$ref": "#/definitions/ErrorList" }, "headers": { "x-amzn-RateLimit-Limit": { "type": "string", - "description": "Your rate limit (requests per second) for this operation." + "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." }, "x-amzn-RequestId": { "type": "string", "description": "Unique request reference identifier." } + } + }, + "500": { + "description": "An unexpected condition occurred that prevented the server from fulfilling the request.", + "schema": { + "$ref": "#/definitions/ErrorList" }, - "x-amzn-api-sandbox": { - "static": [ - { - "request": { - "parameters": { - "purchaseOrderNumber": { - "value": "2JK3S9VC" - } - } + "headers": { + "x-amzn-RateLimit-Limit": { + "type": "string", + "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." + }, + "x-amzn-RequestId": { + "type": "string", + "description": "Unique request reference identifier." + } + } + }, + "503": { + "description": "Temporary overloading or maintenance of the server.", + "schema": { + "$ref": "#/definitions/ErrorList" + }, + "headers": { + "x-amzn-RateLimit-Limit": { + "type": "string", + "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." + }, + "x-amzn-RequestId": { + "type": "string", + "description": "Unique request reference identifier." + } + } + } + }, + "x-amzn-api-sandbox": { + "dynamic": {} + } + } + }, + "/vendor/directFulfillment/orders/2021-12-28/purchaseOrders/{purchaseOrderNumber}": { + "get": { + "tags": [ + "vendorOrders" + ], + "description": "Returns purchase order information for the purchaseOrderNumber that you specify.\n\n**Usage Plan:**\n\n| Rate (requests per second) | Burst |\n| ---- | ---- |\n| 10 | 10 |\n\nThe `x-amzn-RateLimit-Limit` response header returns the usage plan rate limits that were applied to the requested operation, when available. The table above indicates the default rate and burst values for this operation. Selling partners whose business demands require higher throughput may see higher rate and burst values then those shown here. For more information, see [Usage Plans and Rate Limits in the Selling Partner API](doc:usage-plans-and-rate-limits-in-the-sp-api).", + "operationId": "getOrder", + "parameters": [ + { + "name": "purchaseOrderNumber", + "in": "path", + "description": "The order identifier for the purchase order that you want. Formatting Notes: alpha-numeric code.", + "required": true, + "type": "string" + } + ], + "responses": { + "200": { + "description": "Success.", + "schema": { + "$ref": "#/definitions/Order" + }, + "examples": { + "application/json": { + "purchaseOrderNumber": "2JK3S9VC", + "orderDetails": { + "customerOrderNumber": "123-ABC", + "orderDate": "2020-02-20T13:51:00Z", + "orderStatus": "NEW", + "shipmentDetails": { + "isPriorityShipment": false, + "isScheduledDeliveryShipment": false, + "isPslipRequired": true, + "isGift": false, + "shipMethod": "UPS_2ND", + "shipmentDates": { + "requiredShipDate": "2020-02-21T00:00:00Z", + "promisedDeliveryDate": "2020-02-24T00:00:00Z" + }, + "messageToCustomer": "This shipment completes your order. You can always check the status of your orders from the \"Your Account\" link at the top of each page of our site.Thank you for shopping at Amazon.com" }, - "response": { - "payload": { - "purchaseOrderNumber": "2JK3S9VC", - "orderDetails": { - "customerOrderNumber": "123-ABC", - "orderDate": "2020-02-20T13:51:00Z", - "orderStatus": "NEW", - "shipmentDetails": { - "isPriorityShipment": false, - "isScheduledDeliveryShipment": false, - "isPslipRequired": true, - "isGift": false, - "shipMethod": "UPS_2ND", - "shipmentDates": { - "requiredShipDate": "2020-02-21T00:00:00Z", - "promisedDeliveryDate": "2020-02-24T00:00:00Z" - }, - "messageToCustomer": "This shipment completes your order. You can always check the status of your orders from the \"Your Account\" link at the top of each page of our site.Thank you for shopping at Amazon.com" - }, - "taxTotal": { - "taxLineItem": [ - { - "taxRate": "0.1", - "taxAmount": { - "currencyCode": "USD", - "amount": "190" - }, - "type": "TOTAL" - } - ] - }, - "sellingParty": { - "partyId": "999US" - }, - "shipFromParty": { - "partyId": "ABCD" - }, - "shipToParty": { - "name": "ABCD", - "attention": "ABCD", - "addressLine1": "123 XYZ Street", - "addressLine2": "Apt 5", - "city": "San Jose", - "stateOrRegion": "CA", - "postalCode": "94086", - "countryCode": "USA" - }, - "billToParty": { - "partyId": "ABCD" + "taxTotal": { + "taxLineItem": [ + { + "taxAmount": { + "currencyCode": "USD", + "amount": "190" }, - "items": [ - { - "itemSequenceNumber": "00001", - "buyerProductIdentifier": "B07DFVDRAB", - "vendorProductIdentifier": "8806098286500", - "title": "LG 8 kg Inverter Wi-Fi Fully-Automatic Front Loading Washing Machine (FHT1408SWS, STS-VCM, Inbuilt Heater)", - "orderedQuantity": { - "amount": 1, - "unitOfMeasure": "EACH" - }, - "netPrice": { - "currencyCode": "USD", - "amount": "500" - }, - "taxDetails": { - "taxLineItem": [ - { - "taxRate": "0.1", - "taxAmount": { - "currencyCode": "USD", - "amount": "50" - }, - "type": "TOTAL" - } - ] - } - }, + "type": "TOTAL" + } + ] + }, + "sellingParty": { + "partyId": "999US" + }, + "shipFromParty": { + "partyId": "ABCD" + }, + "shipToParty": { + "name": "ABCD", + "attention": "ABCD", + "addressLine1": "123 XYZ Street", + "addressLine2": "Apt 5", + "city": "San Jose", + "stateOrRegion": "CA", + "postalCode": "94086", + "countryCode": "USA" + }, + "billToParty": { + "partyId": "ABCD" + }, + "items": [ + { + "itemSequenceNumber": "00001", + "buyerProductIdentifier": "B07DFVDRAB", + "vendorProductIdentifier": "8806098286500", + "title": "LG 8 kg Inverter Wi-Fi Fully-Automatic Front Loading Washing Machine (FHT1408SWS, STS-VCM, Inbuilt Heater)", + "orderedQuantity": { + "amount": 1, + "unitOfMeasure": "EACH" + }, + "netPrice": { + "currencyCode": "USD", + "amount": "500" + }, + "taxDetails": { + "taxLineItem": [ { - "itemSequenceNumber": "00002", - "buyerProductIdentifier": "B07DFYF5AB", - "vendorProductIdentifier": "8806098286123", - "title": "LG 6.5 kg Inverter Fully-Automatic Front Loading Washing Machine (FHT1065SNW, Blue and White, Inbuilt Heater)", - "orderedQuantity": { - "amount": 2, - "unitOfMeasure": "EACH" - }, - "netPrice": { + "taxRate": "0.1", + "taxAmount": { "currencyCode": "USD", - "amount": "700" + "amount": "50" }, - "taxDetails": { - "taxLineItem": [ - { - "taxRate": "0.1", - "taxAmount": { - "currencyCode": "USD", - "amount": "140" - }, - "type": "TOTAL" - } - ] - } + "type": "TOTAL" } ] + }, + "buyerCustomizedInfo": { + "customizedUrl": "aHR0cHM6Ly8xcC1kZi1wdWJsaWMtZGF0YS5zMy5hbWF6b25hd3MuY29tLzExMS0xMjYwNzQ1LTYyOTE0MTZfNTgzNjIxNTQwMTM1NjEuemlw" } - } - } - }, - { - "request": { - "parameters": {} - }, - "response": { - "payload": { - "purchaseOrderNumber": "2JK3S9VCD", - "orderDetails": { - "customerOrderNumber": "123-ABC", - "orderDate": "2020-02-20T13:51:00Z", - "orderStatus": "NEW", - "shipmentDetails": { - "isPriorityShipment": false, - "isScheduledDeliveryShipment": false, - "isPslipRequired": true, - "isGift": false, - "shipMethod": "UPS_2ND", - "shipmentDates": { - "requiredShipDate": "2020-02-21T00:00:00Z", - "promisedDeliveryDate": "2020-02-24T00:00:00Z" - }, - "messageToCustomer": "This shipment completes your order. You can always check the status of your orders from the \"Your Account\" link at the top of each page of our site. Thank you for shopping at Amazon.com." - }, - "taxTotal": { - "taxLineItem": [ - { - "taxAmount": { - "currencyCode": "USD", - "amount": "190" - }, - "type": "TOTAL" - } - ] - }, - "sellingParty": { - "partyId": "999US" - }, - "shipFromParty": { - "partyId": "ABCD" - }, - "shipToParty": { - "name": "ABCD", - "attention": "ABCD", - "addressLine1": "123 XYZ Street", - "addressLine2": "Apt 5", - "city": "San Jose", - "stateOrRegion": "CA", - "postalCode": "94086", - "countryCode": "USA" - }, - "billToParty": { - "partyId": "ABCD" - }, - "items": [ - { - "itemSequenceNumber": "00001", - "buyerProductIdentifier": "B07DFVDRAB", - "vendorProductIdentifier": "8806098286500", - "title": "LG 8 kg Inverter Wi-Fi Fully-Automatic Front Loading Washing Machine (FHT1408SWS, STS-VCM, Inbuilt Heater)", - "orderedQuantity": { - "amount": 1, - "unitOfMeasure": "EACH" - }, - "netPrice": { - "currencyCode": "USD", - "amount": "500" - }, - "taxDetails": { - "taxLineItem": [ - { - "taxRate": "0.1", - "taxAmount": { - "currencyCode": "USD", - "amount": "50" - }, - "type": "TOTAL" - } - ] - } - }, + }, + { + "itemSequenceNumber": "00002", + "buyerProductIdentifier": "B07DFYF5AB", + "vendorProductIdentifier": "8806098286123", + "title": "LG 6.5 kg Inverter Fully-Automatic Front Loading Washing Machine (FHT1065SNW, Blue and White, Inbuilt Heater)", + "orderedQuantity": { + "amount": 2, + "unitOfMeasure": "EACH" + }, + "netPrice": { + "currencyCode": "USD", + "amount": "700" + }, + "taxDetails": { + "taxLineItem": [ { - "itemSequenceNumber": "00002", - "buyerProductIdentifier": "B07DFYF5AB", - "vendorProductIdentifier": "8806098286123", - "title": "LG 6.5 kg Inverter Fully-Automatic Front Loading Washing Machine (FHT1065SNW, Blue and White, Inbuilt Heater)", - "orderedQuantity": { - "amount": 2, - "unitOfMeasure": "EACH" - }, - "netPrice": { + "taxRate": "0.1", + "taxAmount": { "currencyCode": "USD", - "amount": "700" + "amount": "140" }, - "taxDetails": { - "taxLineItem": [ - { - "taxRate": "0.1", - "taxAmount": { - "currencyCode": "USD", - "amount": "140" - }, - "type": "TOTAL" - } - ] - } + "type": "TOTAL" } ] } } - } + ] } - ] + } + }, + "headers": { + "x-amzn-RateLimit-Limit": { + "type": "string", + "description": "Your rate limit (requests per second) for this operation." + }, + "x-amzn-RequestId": { + "type": "string", + "description": "Unique request reference identifier." + } } }, "400": { "description": "Request has missing or invalid parameters and cannot be parsed.", "schema": { - "$ref": "#/definitions/GetOrderResponse" + "$ref": "#/definitions/ErrorList" }, "headers": { "x-amzn-RateLimit-Limit": { @@ -1720,34 +536,12 @@ "type": "string", "description": "Unique request reference identifier." } - }, - "x-amzn-api-sandbox": { - "static": [ - { - "request": { - "parameters": { - "purchaseOrderNumber": { - "value": "null" - } - } - }, - "response": { - "errors": [ - { - "code": "InvalidRequest", - "message": "Request is missing or has invalid parameters", - "details": "purchaseOrderNumber cannot be null" - } - ] - } - } - ] } }, "401": { "description": "The request's Authorization header is not formatted correctly or does not contain a valid token.", "schema": { - "$ref": "#/definitions/GetOrderResponse" + "$ref": "#/definitions/ErrorList" }, "headers": { "x-amzn-RateLimit-Limit": { @@ -1763,7 +557,7 @@ "403": { "description": "Indicates that access to the resource is forbidden. Possible reasons include Access Denied, Unauthorized, Expired Token, or Invalid Signature.", "schema": { - "$ref": "#/definitions/GetOrderResponse" + "$ref": "#/definitions/ErrorList" }, "headers": { "x-amzn-RequestId": { @@ -1775,7 +569,7 @@ "404": { "description": "The resource specified does not exist.", "schema": { - "$ref": "#/definitions/GetOrderResponse" + "$ref": "#/definitions/ErrorList" }, "headers": { "x-amzn-RateLimit-Limit": { @@ -1791,7 +585,7 @@ "415": { "description": "The request payload is in an unsupported format.", "schema": { - "$ref": "#/definitions/GetOrderResponse" + "$ref": "#/definitions/ErrorList" }, "headers": { "x-amzn-RateLimit-Limit": { @@ -1807,7 +601,7 @@ "429": { "description": "The frequency of requests was greater than allowed.", "schema": { - "$ref": "#/definitions/GetOrderResponse" + "$ref": "#/definitions/ErrorList" }, "headers": { "x-amzn-RateLimit-Limit": { @@ -1823,7 +617,7 @@ "500": { "description": "An unexpected condition occurred that prevented the server from fulfilling the request.", "schema": { - "$ref": "#/definitions/GetOrderResponse" + "$ref": "#/definitions/ErrorList" }, "headers": { "x-amzn-RateLimit-Limit": { @@ -1839,7 +633,7 @@ "503": { "description": "Temporary overloading or maintenance of the server.", "schema": { - "$ref": "#/definitions/GetOrderResponse" + "$ref": "#/definitions/ErrorList" }, "headers": { "x-amzn-RateLimit-Limit": { @@ -1852,15 +646,18 @@ } } } + }, + "x-amzn-api-sandbox": { + "dynamic": {} } } }, - "/vendor/directFulfillment/orders/v1/acknowledgements": { + "/vendor/directFulfillment/orders/2021-12-28/acknowledgements": { "post": { "tags": [ "vendorOrders" ], - "description": "Submits acknowledgements for one or more purchase orders.\n\n**Usage Plan:**\n\n| Rate (requests per second) | Burst |\n| ---- | ---- |\n| 10 | 10 |\n\nThe `x-amzn-RateLimit-Limit` response header returns the usage plan rate limits that were applied to the requested operation, when available. The table above indicates the default rate and burst values for this operation. Selling partners whose business demands require higher throughput may see higher rate and burst values than those shown here. For more information, see [Usage Plans and Rate Limits in the Selling Partner API](https://developer-docs.amazon.com/sp-api/docs/usage-plans-and-rate-limits-in-the-sp-api).", + "description": "Submits acknowledgements for one or more purchase orders.\n\n**Usage Plan:**\n\n| Rate (requests per second) | Burst |\n| ---- | ---- |\n| 10 | 10 |\n\nThe `x-amzn-RateLimit-Limit` response header returns the usage plan rate limits that were applied to the requested operation, when available. The table above indicates the default rate and burst values for this operation. Selling partners whose business demands require higher throughput may see higher rate and burst values then those shown here. For more information, see [Usage Plans and Rate Limits in the Selling Partner API](doc:usage-plans-and-rate-limits-in-the-sp-api).", "operationId": "submitAcknowledgement", "parameters": [ { @@ -1876,7 +673,7 @@ "202": { "description": "Success.", "schema": { - "$ref": "#/definitions/SubmitAcknowledgementResponse" + "$ref": "#/definitions/TransactionId" }, "headers": { "x-amzn-RateLimit-Limit": { @@ -1887,71 +684,12 @@ "type": "string", "description": "Unique request reference identifier." } - }, - "x-amzn-api-sandbox": { - "static": [ - { - "request": { - "parameters": { - "body": { - "value": { - "orderAcknowledgements": [ - { - "purchaseOrderNumber": "2JK3S9VC", - "vendorOrderNumber": "ABC", - "acknowledgementDate": "2020-02-20T19:17:34.304Z", - "acknowledgementStatus": { - "code": "00", - "description": "Shipping 100 percent of ordered product" - }, - "sellingParty": { - "partyId": "999US" - }, - "shipFromParty": { - "partyId": "ABCD" - }, - "itemAcknowledgements": [ - { - "itemSequenceNumber": "00001", - "buyerProductIdentifier": "B07DFVDRAB", - "vendorProductIdentifier": "8806098286500", - "acknowledgedQuantity": { - "amount": 1, - "unitOfMeasure": "Each" - } - } - ] - } - ] - } - } - } - }, - "response": { - "payload": { - "transactionId": "20190827182357-8725bde9-c61c-49f9-86ac-46efd82d4da5" - } - } - }, - { - "request": { - "parameters": { - "body": {} - } - }, - "response": { - "payload": { - "transactionId": "mock-TransactionId-20190827182357-8725bde9-c61c-49f9-86ac-46efd82d4da5" - } - } - } - ] } }, "400": { "description": "Request has missing or invalid parameters and cannot be parsed.", "schema": { - "$ref": "#/definitions/SubmitAcknowledgementResponse" + "$ref": "#/definitions/ErrorList" }, "headers": { "x-amzn-RateLimit-Limit": { @@ -1962,41 +700,12 @@ "type": "string", "description": "Unique request reference identifier." } - }, - "x-amzn-api-sandbox": { - "static": [ - { - "request": { - "parameters": { - "body": { - "value": { - "orderAcknowledgements": [ - { - "purchaseOrderNumber": "TestOrder400", - "sellingParty": {} - } - ] - } - } - } - }, - "response": { - "errors": [ - { - "code": "InvalidInput", - "message": "The content of element 'sellingParty' is not complete. One of '{partyId, address, taxInfo}' is expected.", - "details": "" - } - ] - } - } - ] } }, "403": { "description": "Indicates that access to the resource is forbidden. Possible reasons include Access Denied, Unauthorized, Expired Token, or Invalid Signature.", "schema": { - "$ref": "#/definitions/SubmitAcknowledgementResponse" + "$ref": "#/definitions/ErrorList" }, "headers": { "x-amzn-RequestId": { @@ -2008,7 +717,7 @@ "404": { "description": "The resource specified does not exist.", "schema": { - "$ref": "#/definitions/SubmitAcknowledgementResponse" + "$ref": "#/definitions/ErrorList" }, "headers": { "x-amzn-RateLimit-Limit": { @@ -2024,7 +733,7 @@ "413": { "description": "The request size exceeded the maximum accepted size.", "schema": { - "$ref": "#/definitions/SubmitAcknowledgementResponse" + "$ref": "#/definitions/ErrorList" }, "headers": { "x-amzn-RateLimit-Limit": { @@ -2040,7 +749,7 @@ "415": { "description": "The request payload is in an unsupported format.", "schema": { - "$ref": "#/definitions/SubmitAcknowledgementResponse" + "$ref": "#/definitions/ErrorList" }, "headers": { "x-amzn-RateLimit-Limit": { @@ -2056,7 +765,7 @@ "429": { "description": "The frequency of requests was greater than allowed.", "schema": { - "$ref": "#/definitions/SubmitAcknowledgementResponse" + "$ref": "#/definitions/ErrorList" }, "headers": { "x-amzn-RateLimit-Limit": { @@ -2072,7 +781,7 @@ "500": { "description": "An unexpected condition occurred that prevented the server from fulfilling the request.", "schema": { - "$ref": "#/definitions/SubmitAcknowledgementResponse" + "$ref": "#/definitions/ErrorList" }, "headers": { "x-amzn-RateLimit-Limit": { @@ -2088,7 +797,7 @@ "503": { "description": "Temporary overloading or maintenance of the server.", "schema": { - "$ref": "#/definitions/SubmitAcknowledgementResponse" + "$ref": "#/definitions/ErrorList" }, "headers": { "x-amzn-RateLimit-Limit": { @@ -2101,37 +810,14 @@ } } } + }, + "x-amzn-api-sandbox": { + "dynamic": {} } } } }, "definitions": { - "GetOrdersResponse": { - "type": "object", - "properties": { - "payload": { - "description": "A list of purchase orders.", - "$ref": "#/definitions/OrderList" - }, - "errors": { - "$ref": "#/definitions/ErrorList" - } - }, - "description": "The response schema for the getOrders operation." - }, - "GetOrderResponse": { - "type": "object", - "properties": { - "payload": { - "description": "The payload for the getOrder operation.", - "$ref": "#/definitions/Order" - }, - "errors": { - "$ref": "#/definitions/ErrorList" - } - }, - "description": "The response schema for the getOrder operation." - }, "OrderList": { "type": "object", "properties": { @@ -2191,7 +877,7 @@ "orderDate": { "type": "string", "format": "date-time", - "description": "The date the order was placed. This field is expected to be in ISO-8601 date/time format, for example:2018-07-16T23:00:00Z/ 2018-07-16T23:00:00-05:00 /2018-07-16T23:00:00-08:00. If no time zone is specified, UTC should be assumed." + "description": "The date the order was placed. This field is expected to be in ISO-8601 date/time format, for example:2018-07-16T23:00:00Z/ 2018-07-16T23:00:00-05:00 /2018-07-16T23:00:00-08:00. If no time zone is specified, UTC should be assumed." }, "orderStatus": { "type": "string", @@ -2225,13 +911,7 @@ "$ref": "#/definitions/ShipmentDetails" }, "taxTotal": { - "type": "object", - "properties": { - "taxLineItem": { - "description": "Tax details.", - "$ref": "#/definitions/TaxLineItem" - } - } + "$ref": "#/definitions/TaxItemDetails" }, "sellingParty": { "description": "PartyID of vendor code.", @@ -2329,35 +1009,35 @@ "properties": { "name": { "type": "string", - "description": "The name of the person, business or institution at that address." + "description": "The name of the person, business or institution at that address. For Amazon label only vendors, this field will have the value `xxxxx` within the object `shipToParty`." }, "attention": { "type": "string", - "description": "The attention name of the person at that address." + "description": "The attention name of the person at that address. For Amazon label only vendors, this field will have the value `xxxxx` within the object `shipToParty`." }, "addressLine1": { "type": "string", - "description": "First line of the address." + "description": "First line of the address. For Amazon label only vendors, this field will have the value `xxxxx` within the object `shipToParty`." }, "addressLine2": { "type": "string", - "description": "Additional address information, if required." + "description": "Additional address information, if required. For Amazon label only vendors, this field will have the value `xxxxx` within the object `shipToParty`." }, "addressLine3": { "type": "string", - "description": "Additional address information, if required." + "description": "Additional address information, if required. For Amazon label only vendors, this field will have the value `xxxxx` within the object `shipToParty`." }, "city": { "type": "string", - "description": "The city where the person, business or institution is located." + "description": "The city where the person, business or institution is located. For Amazon label only vendors, this field will have the value `xxxxx` within the object `shipToParty`." }, "county": { "type": "string", - "description": "The county where person, business or institution is located." + "description": "The county where person, business or institution is located. For Amazon label only vendors, this field will have the value `xxxxx` within the object `shipToParty`." }, "district": { "type": "string", - "description": "The district where person, business or institution is located." + "description": "The district where person, business or institution is located. For Amazon label only vendors, this field will have the value `xxxxx` within the object `shipToParty`." }, "stateOrRegion": { "type": "string", @@ -2373,7 +1053,7 @@ }, "phone": { "type": "string", - "description": "The phone number of the person, business or institution located at that address." + "description": "The phone number of the person, business or institution located at that address. For Amazon label only vendors, this field will have the value `xxxxx` within the object `shipToParty`." } }, "description": "Address of the party." @@ -2419,18 +1099,16 @@ "$ref": "#/definitions/Money" }, "taxDetails": { - "type": "object", "description": "Total tax details for the line item.", - "properties": { - "taxLineItem": { - "description": "Tax details.", - "$ref": "#/definitions/TaxLineItem" - } - } + "$ref": "#/definitions/TaxItemDetails" }, "totalPrice": { "description": "The price to Amazon each (cost).", "$ref": "#/definitions/Money" + }, + "buyerCustomizedInfo": { + "description": "The buyer information for products the vendor has configured as customizable, specifying the types of customizations or configurations along with types and ranges for their product. This provides the ability for buyers to customize multiple aspects of the products according to what the vendor allows.", + "$ref": "#/definitions/buyerCustomizedInfoDetail" } } }, @@ -2447,6 +1125,15 @@ }, "description": "An amount of money, including units in the form of currency." }, + "buyerCustomizedInfoDetail": { + "type": "object", + "properties": { + "customizedUrl": { + "type": "string", + "description": "A [Base 64](https://datatracker.ietf.org/doc/html/rfc4648#section-4) encoded URL using the UTF-8 character set. The URL provides the location of the zip file that specifies the types of customizations or configurations allowed by the vendor, along with types and ranges for the attributes of their products." + } + } + }, "Decimal": { "type": "string", "description": "A decimal number with no loss of precision. Useful when precision loss is unacceptable, as with currencies. Follows RFC7159 for number representation." @@ -2474,10 +1161,18 @@ } }, "ErrorList": { - "type": "array", + "type": "object", "description": "A list of error responses returned when a request is unsuccessful.", - "items": { - "$ref": "#/definitions/Error" + "required": [ + "errors" + ], + "properties": { + "errors": { + "type": "array", + "items": { + "$ref": "#/definitions/Error" + } + } } }, "SubmitAcknowledgementRequest": { @@ -2783,6 +1478,16 @@ } }, "description": "Gift details for the item." + }, + "TaxItemDetails": { + "type": "object", + "description": "Total tax details for the line item.", + "properties": { + "taxLineItem": { + "description": "Tax details.", + "$ref": "#/definitions/TaxLineItem" + } + } } } } \ No newline at end of file From 69563337ac7d37a64ad5e90a06cf25c19e6124fa Mon Sep 17 00:00:00 2001 From: Alex Rupprecht Date: Wed, 13 Dec 2023 15:47:07 -0500 Subject: [PATCH 026/340] December release --- .../vendorDirectFulfillmentOrdersV1.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/models/vendor-direct-fulfillment-orders-api-model/vendorDirectFulfillmentOrdersV1.json b/models/vendor-direct-fulfillment-orders-api-model/vendorDirectFulfillmentOrdersV1.json index 8991a6ae3..8acec601e 100644 --- a/models/vendor-direct-fulfillment-orders-api-model/vendorDirectFulfillmentOrdersV1.json +++ b/models/vendor-direct-fulfillment-orders-api-model/vendorDirectFulfillmentOrdersV1.json @@ -1019,7 +1019,7 @@ "type": "string", "description": "First line of the address. For Amazon label only vendors, this field will have the value `xxxxx` within the object `shipToParty`." }, - "addressLine2": { + "addressLine2": { "type": "string", "description": "Additional address information, if required. For Amazon label only vendors, this field will have the value `xxxxx` within the object `shipToParty`." }, From 3092ce61bc36d8db104be083de55815f35236665 Mon Sep 17 00:00:00 2001 From: Alex Rupprecht <44652230+alex-rupprecht@users.noreply.github.com> Date: Wed, 13 Dec 2023 15:50:23 -0500 Subject: [PATCH 027/340] Update vendorDirectFulfillmentOrdersV1.json --- .../vendorDirectFulfillmentOrdersV1.json | 1434 +++-------------- 1 file changed, 184 insertions(+), 1250 deletions(-) diff --git a/models/vendor-direct-fulfillment-orders-api-model/vendorDirectFulfillmentOrdersV1.json b/models/vendor-direct-fulfillment-orders-api-model/vendorDirectFulfillmentOrdersV1.json index 8acec601e..a355fbb47 100644 --- a/models/vendor-direct-fulfillment-orders-api-model/vendorDirectFulfillmentOrdersV1.json +++ b/models/vendor-direct-fulfillment-orders-api-model/vendorDirectFulfillmentOrdersV1.json @@ -1,9 +1,9 @@ { "swagger": "2.0", "info": { - "description": "The Selling Partner API for Direct Fulfillment Orders provides programmatic access to a direct fulfillment vendor's order data.", - "version": "2021-12-28", - "title": "Selling Partner API for Direct Fulfillment Orders", + "description": "The Selling Partner API for Direct Fulfillment Inventory Updates provides programmatic access to a direct fulfillment vendor's inventory updates.", + "version": "v1", + "title": "Selling Partner API for Direct Fulfillment Inventory Updates", "contact": { "name": "Selling Partner API Developer Support", "url": "https://sellercentral.amazon.com/gp/mws/contactus.html" @@ -24,236 +24,35 @@ "application/json" ], "paths": { - "/vendor/directFulfillment/orders/2021-12-28/purchaseOrders": { - "get": { + "/vendor/directFulfillment/inventory/v1/warehouses/{warehouseId}/items": { + "post": { "tags": [ - "vendorOrders" + "updateInventory" ], - "description": "Returns a list of purchase orders created during the time frame that you specify. You define the time frame using the createdAfter and createdBefore parameters. You must use both parameters. You can choose to get only the purchase order numbers by setting the includeDetails parameter to false. In that case, the operation returns a list of purchase order numbers. You can then call the getOrder operation to return the details of a specific order.\n\n**Usage Plan:**\n\n| Rate (requests per second) | Burst |\n| ---- | ---- |\n| 10 | 10 |\n\nThe `x-amzn-RateLimit-Limit` response header returns the usage plan rate limits that were applied to the requested operation, when available. The table above indicates the default rate and burst values for this operation. Selling partners whose business demands require higher throughput may see higher rate and burst values then those shown here. For more information, see [Usage Plans and Rate Limits in the Selling Partner API](doc:usage-plans-and-rate-limits-in-the-sp-api).", - "operationId": "getOrders", + "description": "Submits inventory updates for the specified warehouse for either a partial or full feed of inventory items.\n\n**Usage Plan:**\n\n| Rate (requests per second) | Burst |\n| ---- | ---- |\n| 10 | 10 |\n\nThe `x-amzn-RateLimit-Limit` response header returns the usage plan rate limits that were applied to the requested operation, when available. The table above indicates the default rate and burst values for this operation. Selling partners whose business demands require higher throughput may see higher rate and burst values than those shown here. For more information, see [Usage Plans and Rate Limits in the Selling Partner API](https://developer-docs.amazon.com/sp-api/docs/usage-plans-and-rate-limits-in-the-sp-api).", + "operationId": "submitInventoryUpdate", "parameters": [ { - "name": "shipFromPartyId", - "in": "query", - "description": "The vendor warehouse identifier for the fulfillment warehouse. If not specified, the result will contain orders for all warehouses.", - "required": false, - "type": "string" - }, - { - "name": "status", - "in": "query", - "description": "Returns only the purchase orders that match the specified status. If not specified, the result will contain orders that match any status.", - "required": false, - "type": "string", - "enum": [ - "NEW", - "SHIPPED", - "ACCEPTED", - "CANCELLED" - ], - "x-docgen-enum-table-extension": [ - { - "value": "NEW", - "description": "Status for newly created purchase orders." - }, - { - "value": "SHIPPED", - "description": "Status for purchase orders that are already shipped." - }, - { - "value": "ACCEPTED", - "description": "Status for purchase orders accepted by vendors." - }, - { - "value": "CANCELLED", - "description": "Status for cancelled purchase orders." - } - ] - }, - { - "name": "limit", - "in": "query", - "description": "The limit to the number of purchase orders returned.", - "required": false, - "type": "integer", - "maximum": 100, - "minimum": 1, - "format": "int64" - }, - { - "name": "createdAfter", - "in": "query", - "description": "Purchase orders that became available after this date and time will be included in the result. Must be in ISO-8601 date/time format.", + "in": "body", + "name": "body", "required": true, - "type": "string", - "format": "date-time" + "schema": { + "$ref": "#/definitions/SubmitInventoryUpdateRequest" + } }, { - "name": "createdBefore", - "in": "query", - "description": "Purchase orders that became available before this date and time will be included in the result. Must be in ISO-8601 date/time format.", + "name": "warehouseId", + "in": "path", + "description": "Identifier for the warehouse for which to update inventory.", "required": true, - "type": "string", - "format": "date-time" - }, - { - "name": "sortOrder", - "in": "query", - "description": "Sort the list in ascending or descending order by order creation date.", - "required": false, - "type": "string", - "enum": [ - "ASC", - "DESC" - ], - "x-docgen-enum-table-extension": [ - { - "value": "ASC", - "description": "Sort in ascending order by order creation date." - }, - { - "value": "DESC", - "description": "Sort in descending order by order creation date." - } - ] - }, - { - "name": "nextToken", - "in": "query", - "description": "Used for pagination when there are more orders than the specified result size limit. The token value is returned in the previous API call.", - "required": false, "type": "string" - }, - { - "name": "includeDetails", - "in": "query", - "description": "When true, returns the complete purchase order details. Otherwise, only purchase order numbers are returned.", - "required": false, - "type": "string", - "default": "true", - "format": "boolean" } ], "responses": { - "200": { + "202": { "description": "Success.", "schema": { - "$ref": "#/definitions/OrderList" - }, - "examples": { - "pagination": { - "nextToken": "MDAwMDAwMDAwMQ==" - }, - "orders": [ - { - "purchaseOrderNumber": "2JK3S9VC", - "orderDetails": { - "customerOrderNumber": "123-ABC", - "orderDate": "2020-02-20T13:51:00Z", - "orderStatus": "NEW", - "shipmentDetails": { - "isPriorityShipment": false, - "isScheduledDeliveryShipment": false, - "isPslipRequired": true, - "isGift": false, - "shipMethod": "UPS_2ND", - "shipmentDates": { - "requiredShipDate": "2020-02-21T00:00:00Z", - "promisedDeliveryDate": "2020-02-24T00:00:00Z" - }, - "messageToCustomer": "This shipment completes your order. You can always check the status of your orders from the \"Your Account\" link at the top of each page of our site.Thank you for shopping at Amazon.com" - }, - "taxTotal": { - "taxLineItem": [ - { - "taxRate": "0.1", - "taxAmount": { - "currencyCode": "USD", - "amount": "190" - }, - "type": "TOTAL" - } - ] - }, - "sellingParty": { - "partyId": "999US" - }, - "shipFromParty": { - "partyId": "ABCD" - }, - "shipToParty": { - "name": "ABCD", - "attention": "ABCD", - "addressLine1": "123 XYZ Street", - "addressLine2": "Apt 5", - "city": "San Jose", - "stateOrRegion": "CA", - "postalCode": "94086", - "countryCode": "USA" - }, - "billToParty": { - "partyId": "ABCD" - }, - "items": [ - { - "itemSequenceNumber": "00001", - "buyerProductIdentifier": "B07DFVDRAB", - "vendorProductIdentifier": "8806098286500", - "title": "LG 8 kg Inverter Wi-Fi Fully-Automatic Front Loading Washing Machine (FHT1408SWS, STS-VCM, Inbuilt Heater)", - "orderedQuantity": { - "amount": 1, - "unitOfMeasure": "EACH" - }, - "netPrice": { - "currencyCode": "USD", - "amount": "500" - }, - "taxDetails": { - "taxLineItem": [ - { - "taxRate": "0.1", - "taxAmount": { - "currencyCode": "USD", - "amount": "50" - }, - "type": "TOTAL" - } - ] - }, - "buyerCustomizedInfo": { - "customizedUrl": "aHR0cHM6Ly8xcC1kZi1wdWJsaWMtZGF0YS5zMy5hbWF6b25hd3MuY29tLzExMS0xMjYwNzQ1LTYyOTE0MTZfNTgzNjIxNTQwMTM1NjEuemlw" - } - }, - { - "itemSequenceNumber": "00002", - "buyerProductIdentifier": "B07DFYF5AB", - "vendorProductIdentifier": "8806098286123", - "title": "LG 6.5 kg Inverter Fully-Automatic Front Loading Washing Machine (FHT1065SNW, Blue and White, Inbuilt Heater)", - "orderedQuantity": { - "amount": 2, - "unitOfMeasure": "EACH" - }, - "netPrice": { - "currencyCode": "USD", - "amount": "700" - }, - "taxDetails": { - "taxLineItem": [ - { - "taxRate": "0.1", - "taxAmount": { - "currencyCode": "USD", - "amount": "140" - }, - "type": "TOTAL" - } - ] - } - } - ] - } - } - ] + "$ref": "#/definitions/SubmitInventoryUpdateResponse" }, "headers": { "x-amzn-RateLimit-Limit": { @@ -264,40 +63,78 @@ "type": "string", "description": "Unique request reference identifier." } + }, + "x-amzn-api-sandbox": { + "static": [ + { + "request": { + "parameters": { + "body": { + "value": { + "inventory": { + "sellingParty": { + "partyId": "VENDORID" + }, + "isFullUpdate": false, + "items": [ + { + "buyerProductIdentifier": "ABCD4562", + "vendorProductIdentifier": "7Q89K11", + "availableQuantity": { + "amount": 10, + "unitOfMeasure": "Each" + }, + "isObsolete": false + }, + { + "buyerProductIdentifier": "ABCD4563", + "vendorProductIdentifier": "7Q89K12", + "availableQuantity": { + "amount": 15, + "unitOfMeasure": "Each" + }, + "isObsolete": false + }, + { + "buyerProductIdentifier": "ABCD4564", + "vendorProductIdentifier": "7Q89K13", + "availableQuantity": { + "amount": 20, + "unitOfMeasure": "Each" + }, + "isObsolete": false + } + ] + } + } + } + } + }, + "response": { + "payload": { + "transactionId": "20190905010908-8a3b6901-ef20-412f-9270-21c021796605" + } + } + }, + { + "request": { + "parameters": { + "body": {} + } + }, + "response": { + "payload": { + "transactionId": "mock-TransactionId-20190905010908-8a3b6901-ef20-412f-9270-21c021796605" + } + } + } + ] } }, "400": { "description": "Request has missing or invalid parameters and cannot be parsed.", "schema": { - "$ref": "#/definitions/ErrorList" - }, - "headers": { - "x-amzn-RateLimit-Limit": { - "type": "string", - "description": "Your rate limit (requests per second) for this operation." - }, - "x-amzn-RequestId": { - "type": "string", - "description": "Unique request reference identifier." - } - } - }, - "403": { - "description": "Indicates that access to the resource is forbidden. Possible reasons include Access Denied, Unauthorized, Expired Token, or Invalid Signature.", - "schema": { - "$ref": "#/definitions/ErrorList" - }, - "headers": { - "x-amzn-RequestId": { - "type": "string", - "description": "Unique request reference identifier." - } - } - }, - "404": { - "description": "The resource specified does not exist.", - "schema": { - "$ref": "#/definitions/ErrorList" + "$ref": "#/definitions/SubmitInventoryUpdateResponse" }, "headers": { "x-amzn-RateLimit-Limit": { @@ -308,245 +145,51 @@ "type": "string", "description": "Unique request reference identifier." } - } - }, - "415": { - "description": "The request payload is in an unsupported format.", - "schema": { - "$ref": "#/definitions/ErrorList" - }, - "headers": { - "x-amzn-RateLimit-Limit": { - "type": "string", - "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." - }, - "x-amzn-RequestId": { - "type": "string", - "description": "Unique request reference identifier." - } - } - }, - "429": { - "description": "The frequency of requests was greater than allowed.", - "schema": { - "$ref": "#/definitions/ErrorList" - }, - "headers": { - "x-amzn-RateLimit-Limit": { - "type": "string", - "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." - }, - "x-amzn-RequestId": { - "type": "string", - "description": "Unique request reference identifier." - } - } - }, - "500": { - "description": "An unexpected condition occurred that prevented the server from fulfilling the request.", - "schema": { - "$ref": "#/definitions/ErrorList" - }, - "headers": { - "x-amzn-RateLimit-Limit": { - "type": "string", - "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." - }, - "x-amzn-RequestId": { - "type": "string", - "description": "Unique request reference identifier." - } - } - }, - "503": { - "description": "Temporary overloading or maintenance of the server.", - "schema": { - "$ref": "#/definitions/ErrorList" - }, - "headers": { - "x-amzn-RateLimit-Limit": { - "type": "string", - "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." - }, - "x-amzn-RequestId": { - "type": "string", - "description": "Unique request reference identifier." - } - } - } - }, - "x-amzn-api-sandbox": { - "dynamic": {} - } - } - }, - "/vendor/directFulfillment/orders/2021-12-28/purchaseOrders/{purchaseOrderNumber}": { - "get": { - "tags": [ - "vendorOrders" - ], - "description": "Returns purchase order information for the purchaseOrderNumber that you specify.\n\n**Usage Plan:**\n\n| Rate (requests per second) | Burst |\n| ---- | ---- |\n| 10 | 10 |\n\nThe `x-amzn-RateLimit-Limit` response header returns the usage plan rate limits that were applied to the requested operation, when available. The table above indicates the default rate and burst values for this operation. Selling partners whose business demands require higher throughput may see higher rate and burst values then those shown here. For more information, see [Usage Plans and Rate Limits in the Selling Partner API](doc:usage-plans-and-rate-limits-in-the-sp-api).", - "operationId": "getOrder", - "parameters": [ - { - "name": "purchaseOrderNumber", - "in": "path", - "description": "The order identifier for the purchase order that you want. Formatting Notes: alpha-numeric code.", - "required": true, - "type": "string" - } - ], - "responses": { - "200": { - "description": "Success.", - "schema": { - "$ref": "#/definitions/Order" }, - "examples": { - "application/json": { - "purchaseOrderNumber": "2JK3S9VC", - "orderDetails": { - "customerOrderNumber": "123-ABC", - "orderDate": "2020-02-20T13:51:00Z", - "orderStatus": "NEW", - "shipmentDetails": { - "isPriorityShipment": false, - "isScheduledDeliveryShipment": false, - "isPslipRequired": true, - "isGift": false, - "shipMethod": "UPS_2ND", - "shipmentDates": { - "requiredShipDate": "2020-02-21T00:00:00Z", - "promisedDeliveryDate": "2020-02-24T00:00:00Z" - }, - "messageToCustomer": "This shipment completes your order. You can always check the status of your orders from the \"Your Account\" link at the top of each page of our site.Thank you for shopping at Amazon.com" + "x-amzn-api-sandbox": { + "static": [ + { + "request": { + "parameters": { + "warehouseId": { + "value": "DUMMYCODE" + } + } }, - "taxTotal": { - "taxLineItem": [ + "response": { + "errors": [ { - "taxAmount": { - "currencyCode": "USD", - "amount": "190" - }, - "type": "TOTAL" + "code": "InvalidInput", + "message": "Invalid transmission ID.", + "details": "" } ] - }, - "sellingParty": { - "partyId": "999US" - }, - "shipFromParty": { - "partyId": "ABCD" - }, - "shipToParty": { - "name": "ABCD", - "attention": "ABCD", - "addressLine1": "123 XYZ Street", - "addressLine2": "Apt 5", - "city": "San Jose", - "stateOrRegion": "CA", - "postalCode": "94086", - "countryCode": "USA" - }, - "billToParty": { - "partyId": "ABCD" - }, - "items": [ - { - "itemSequenceNumber": "00001", - "buyerProductIdentifier": "B07DFVDRAB", - "vendorProductIdentifier": "8806098286500", - "title": "LG 8 kg Inverter Wi-Fi Fully-Automatic Front Loading Washing Machine (FHT1408SWS, STS-VCM, Inbuilt Heater)", - "orderedQuantity": { - "amount": 1, - "unitOfMeasure": "EACH" - }, - "netPrice": { - "currencyCode": "USD", - "amount": "500" - }, - "taxDetails": { - "taxLineItem": [ - { - "taxRate": "0.1", - "taxAmount": { - "currencyCode": "USD", - "amount": "50" - }, - "type": "TOTAL" - } - ] - }, - "buyerCustomizedInfo": { - "customizedUrl": "aHR0cHM6Ly8xcC1kZi1wdWJsaWMtZGF0YS5zMy5hbWF6b25hd3MuY29tLzExMS0xMjYwNzQ1LTYyOTE0MTZfNTgzNjIxNTQwMTM1NjEuemlw" - } - }, - { - "itemSequenceNumber": "00002", - "buyerProductIdentifier": "B07DFYF5AB", - "vendorProductIdentifier": "8806098286123", - "title": "LG 6.5 kg Inverter Fully-Automatic Front Loading Washing Machine (FHT1065SNW, Blue and White, Inbuilt Heater)", - "orderedQuantity": { - "amount": 2, - "unitOfMeasure": "EACH" - }, - "netPrice": { - "currencyCode": "USD", - "amount": "700" - }, - "taxDetails": { - "taxLineItem": [ - { - "taxRate": "0.1", - "taxAmount": { - "currencyCode": "USD", - "amount": "140" - }, - "type": "TOTAL" - } - ] - } - } - ] + } } - } - }, - "headers": { - "x-amzn-RateLimit-Limit": { - "type": "string", - "description": "Your rate limit (requests per second) for this operation." - }, - "x-amzn-RequestId": { - "type": "string", - "description": "Unique request reference identifier." - } + ] } }, - "400": { - "description": "Request has missing or invalid parameters and cannot be parsed.", + "403": { + "description": "Indicates that access to the resource is forbidden. Possible reasons include Access Denied, Unauthorized, Expired Token, or Invalid Signature.", "schema": { - "$ref": "#/definitions/ErrorList" + "$ref": "#/definitions/SubmitInventoryUpdateResponse" }, "headers": { - "x-amzn-RateLimit-Limit": { - "type": "string", - "description": "Your rate limit (requests per second) for this operation." - }, "x-amzn-RequestId": { "type": "string", "description": "Unique request reference identifier." } } }, - "401": { - "description": "The request's Authorization header is not formatted correctly or does not contain a valid token.", + "404": { + "description": "The resource specified does not exist.", "schema": { - "$ref": "#/definitions/ErrorList" + "$ref": "#/definitions/SubmitInventoryUpdateResponse" }, "headers": { "x-amzn-RateLimit-Limit": { "type": "string", - "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." + "description": "Your rate limit (requests per second) for this operation." }, "x-amzn-RequestId": { "type": "string", @@ -554,27 +197,15 @@ } } }, - "403": { - "description": "Indicates that access to the resource is forbidden. Possible reasons include Access Denied, Unauthorized, Expired Token, or Invalid Signature.", - "schema": { - "$ref": "#/definitions/ErrorList" - }, - "headers": { - "x-amzn-RequestId": { - "type": "string", - "description": "Unique request reference identifier." - } - } - }, - "404": { - "description": "The resource specified does not exist.", + "413": { + "description": "The request size exceeded the maximum accepted size.", "schema": { - "$ref": "#/definitions/ErrorList" + "$ref": "#/definitions/SubmitInventoryUpdateResponse" }, "headers": { "x-amzn-RateLimit-Limit": { "type": "string", - "description": "Your rate limit (requests per second) for this operation." + "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." }, "x-amzn-RequestId": { "type": "string", @@ -585,7 +216,7 @@ "415": { "description": "The request payload is in an unsupported format.", "schema": { - "$ref": "#/definitions/ErrorList" + "$ref": "#/definitions/SubmitInventoryUpdateResponse" }, "headers": { "x-amzn-RateLimit-Limit": { @@ -601,7 +232,7 @@ "429": { "description": "The frequency of requests was greater than allowed.", "schema": { - "$ref": "#/definitions/ErrorList" + "$ref": "#/definitions/SubmitInventoryUpdateResponse" }, "headers": { "x-amzn-RateLimit-Limit": { @@ -617,7 +248,7 @@ "500": { "description": "An unexpected condition occurred that prevented the server from fulfilling the request.", "schema": { - "$ref": "#/definitions/ErrorList" + "$ref": "#/definitions/SubmitInventoryUpdateResponse" }, "headers": { "x-amzn-RateLimit-Limit": { @@ -633,7 +264,7 @@ "503": { "description": "Temporary overloading or maintenance of the server.", "schema": { - "$ref": "#/definitions/ErrorList" + "$ref": "#/definitions/SubmitInventoryUpdateResponse" }, "headers": { "x-amzn-RateLimit-Limit": { @@ -646,298 +277,71 @@ } } } + } + }, + "parameters": [] + } + }, + "definitions": { + "SubmitInventoryUpdateRequest": { + "type": "object", + "properties": { + "inventory": { + "description": "Inventory details required to update some or all items for the requested warehouse.", + "$ref": "#/definitions/InventoryUpdate" + } + }, + "description": "The request body for the submitInventoryUpdate operation." + }, + "InventoryUpdate": { + "type": "object", + "required": [ + "isFullUpdate", + "items", + "sellingParty" + ], + "properties": { + "sellingParty": { + "description": "ID of the selling party or vendor.", + "$ref": "#/definitions/PartyIdentification" + }, + "isFullUpdate": { + "type": "boolean", + "description": "When true, this request contains a full feed. Otherwise, this request contains a partial feed. When sending a full feed, you must send information about all items in the warehouse. Any items not in the full feed are updated as not available. When sending a partial feed, only include the items that need an update to inventory. The status of other items will remain unchanged." }, - "x-amzn-api-sandbox": { - "dynamic": {} + "items": { + "type": "array", + "description": "A list of inventory items with updated details, including quantity available.", + "items": { + "$ref": "#/definitions/ItemDetails" + } } } }, - "/vendor/directFulfillment/orders/2021-12-28/acknowledgements": { - "post": { - "tags": [ - "vendorOrders" - ], - "description": "Submits acknowledgements for one or more purchase orders.\n\n**Usage Plan:**\n\n| Rate (requests per second) | Burst |\n| ---- | ---- |\n| 10 | 10 |\n\nThe `x-amzn-RateLimit-Limit` response header returns the usage plan rate limits that were applied to the requested operation, when available. The table above indicates the default rate and burst values for this operation. Selling partners whose business demands require higher throughput may see higher rate and burst values then those shown here. For more information, see [Usage Plans and Rate Limits in the Selling Partner API](doc:usage-plans-and-rate-limits-in-the-sp-api).", - "operationId": "submitAcknowledgement", - "parameters": [ - { - "in": "body", - "name": "body", - "required": true, - "schema": { - "$ref": "#/definitions/SubmitAcknowledgementRequest" - } - } - ], - "responses": { - "202": { - "description": "Success.", - "schema": { - "$ref": "#/definitions/TransactionId" - }, - "headers": { - "x-amzn-RateLimit-Limit": { - "type": "string", - "description": "Your rate limit (requests per second) for this operation." - }, - "x-amzn-RequestId": { - "type": "string", - "description": "Unique request reference identifier." - } - } - }, - "400": { - "description": "Request has missing or invalid parameters and cannot be parsed.", - "schema": { - "$ref": "#/definitions/ErrorList" - }, - "headers": { - "x-amzn-RateLimit-Limit": { - "type": "string", - "description": "Your rate limit (requests per second) for this operation." - }, - "x-amzn-RequestId": { - "type": "string", - "description": "Unique request reference identifier." - } - } - }, - "403": { - "description": "Indicates that access to the resource is forbidden. Possible reasons include Access Denied, Unauthorized, Expired Token, or Invalid Signature.", - "schema": { - "$ref": "#/definitions/ErrorList" - }, - "headers": { - "x-amzn-RequestId": { - "type": "string", - "description": "Unique request reference identifier." - } - } - }, - "404": { - "description": "The resource specified does not exist.", - "schema": { - "$ref": "#/definitions/ErrorList" - }, - "headers": { - "x-amzn-RateLimit-Limit": { - "type": "string", - "description": "Your rate limit (requests per second) for this operation." - }, - "x-amzn-RequestId": { - "type": "string", - "description": "Unique request reference identifier." - } - } - }, - "413": { - "description": "The request size exceeded the maximum accepted size.", - "schema": { - "$ref": "#/definitions/ErrorList" - }, - "headers": { - "x-amzn-RateLimit-Limit": { - "type": "string", - "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." - }, - "x-amzn-RequestId": { - "type": "string", - "description": "Unique request reference identifier." - } - } - }, - "415": { - "description": "The request payload is in an unsupported format.", - "schema": { - "$ref": "#/definitions/ErrorList" - }, - "headers": { - "x-amzn-RateLimit-Limit": { - "type": "string", - "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." - }, - "x-amzn-RequestId": { - "type": "string", - "description": "Unique request reference identifier." - } - } - }, - "429": { - "description": "The frequency of requests was greater than allowed.", - "schema": { - "$ref": "#/definitions/ErrorList" - }, - "headers": { - "x-amzn-RateLimit-Limit": { - "type": "string", - "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." - }, - "x-amzn-RequestId": { - "type": "string", - "description": "Unique request reference identifier." - } - } - }, - "500": { - "description": "An unexpected condition occurred that prevented the server from fulfilling the request.", - "schema": { - "$ref": "#/definitions/ErrorList" - }, - "headers": { - "x-amzn-RateLimit-Limit": { - "type": "string", - "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." - }, - "x-amzn-RequestId": { - "type": "string", - "description": "Unique request reference identifier." - } - } - }, - "503": { - "description": "Temporary overloading or maintenance of the server.", - "schema": { - "$ref": "#/definitions/ErrorList" - }, - "headers": { - "x-amzn-RateLimit-Limit": { - "type": "string", - "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." - }, - "x-amzn-RequestId": { - "type": "string", - "description": "Unique request reference identifier." - } - } - } - }, - "x-amzn-api-sandbox": { - "dynamic": {} - } - } - } - }, - "definitions": { - "OrderList": { - "type": "object", - "properties": { - "pagination": { - "$ref": "#/definitions/Pagination" - }, - "orders": { - "type": "array", - "items": { - "$ref": "#/definitions/Order" - } - } - } - }, - "Pagination": { - "type": "object", - "properties": { - "nextToken": { - "type": "string", - "description": "A generated string used to pass information to your next request. If NextToken is returned, pass the value of NextToken to the next request. If NextToken is not returned, there are no more order items to return." - } - } - }, - "Order": { - "type": "object", - "required": [ - "purchaseOrderNumber" - ], - "properties": { - "purchaseOrderNumber": { - "type": "string", - "description": "The purchase order number for this order. Formatting Notes: alpha-numeric code." - }, - "orderDetails": { - "description": "Purchase order details.", - "$ref": "#/definitions/OrderDetails" - } - } - }, - "OrderDetails": { + "ItemDetails": { "type": "object", "required": [ - "billToParty", - "customerOrderNumber", - "items", - "orderDate", - "sellingParty", - "shipFromParty", - "shipToParty", - "shipmentDetails" + "availableQuantity" ], "properties": { - "customerOrderNumber": { - "type": "string", - "description": "The customer order number." - }, - "orderDate": { + "buyerProductIdentifier": { "type": "string", - "format": "date-time", - "description": "The date the order was placed. This field is expected to be in ISO-8601 date/time format, for example:2018-07-16T23:00:00Z/ 2018-07-16T23:00:00-05:00 /2018-07-16T23:00:00-08:00. If no time zone is specified, UTC should be assumed." + "description": "The buyer selected product identification of the item. Either buyerProductIdentifier or vendorProductIdentifier should be submitted." }, - "orderStatus": { + "vendorProductIdentifier": { "type": "string", - "description": "Current status of the order.", - "enum": [ - "NEW", - "SHIPPED", - "ACCEPTED", - "CANCELLED" - ], - "x-docgen-enum-table-extension": [ - { - "value": "NEW", - "description": "Status for newly created orders." - }, - { - "value": "SHIPPED", - "description": "Status for orders that are already shipped." - }, - { - "value": "ACCEPTED", - "description": "Status for orders accepted by vendors." - }, - { - "value": "CANCELLED", - "description": "Status for cancelled orders." - } - ] - }, - "shipmentDetails": { - "$ref": "#/definitions/ShipmentDetails" + "description": "The vendor selected product identification of the item. Either buyerProductIdentifier or vendorProductIdentifier should be submitted." }, - "taxTotal": { - "$ref": "#/definitions/TaxItemDetails" - }, - "sellingParty": { - "description": "PartyID of vendor code.", - "$ref": "#/definitions/PartyIdentification" - }, - "shipFromParty": { - "description": "PartyID of vendor's warehouse.", - "$ref": "#/definitions/PartyIdentification" - }, - "shipToParty": { - "description": "Name/Address and tax details of the ship to party.", - "$ref": "#/definitions/Address" - }, - "billToParty": { - "description": "Name/Address and tax details of the bill to party.", - "$ref": "#/definitions/PartyIdentification" + "availableQuantity": { + "description": "Total item quantity available in the warehouse.", + "$ref": "#/definitions/ItemQuantity" }, - "items": { - "type": "array", - "description": "A list of items in this purchase order.", - "items": { - "$ref": "#/definitions/OrderItem" - } + "isObsolete": { + "type": "boolean", + "description": "When true, the item is permanently unavailable." } }, - "description": "Details of an order." + "description": "Updated inventory details for an item." }, "PartyIdentification": { "type": "object", @@ -947,423 +351,56 @@ "properties": { "partyId": { "type": "string", - "description": "Assigned identification for the party. For example, warehouse code or vendor code. Please refer to specific party for more details." - }, - "address": { - "description": "Address details of the party.", - "$ref": "#/definitions/Address" - }, - "taxInfo": { - "description": "Tax registration details of the entity.", - "$ref": "#/definitions/TaxRegistrationDetails" + "description": "Assigned identification for the party." } } }, - "TaxRegistrationDetails": { - "type": "object", - "required": [ - "taxRegistrationNumber" - ], - "properties": { - "taxRegistrationType": { - "type": "string", - "description": "Tax registration type for the entity.", - "enum": [ - "VAT", - "GST" - ], - "x-docgen-enum-table-extension": [ - { - "value": "VAT", - "description": "Value-added tax." - }, - { - "value": "GST", - "description": "Goods and Services tax." - } - ] - }, - "taxRegistrationNumber": { - "type": "string", - "description": "Tax registration number for the party. For example, VAT ID." - }, - "taxRegistrationAddress": { - "description": "Address associated with the tax registration number.", - "$ref": "#/definitions/Address" - }, - "taxRegistrationMessages": { - "type": "string", - "description": "Tax registration message that can be used for additional tax related details." - } - }, - "description": "Tax registration details of the entity." - }, - "Address": { - "type": "object", - "required": [ - "addressLine1", - "countryCode", - "name", - "stateOrRegion" - ], - "properties": { - "name": { - "type": "string", - "description": "The name of the person, business or institution at that address. For Amazon label only vendors, this field will have the value `xxxxx` within the object `shipToParty`." - }, - "attention": { - "type": "string", - "description": "The attention name of the person at that address. For Amazon label only vendors, this field will have the value `xxxxx` within the object `shipToParty`." - }, - "addressLine1": { - "type": "string", - "description": "First line of the address. For Amazon label only vendors, this field will have the value `xxxxx` within the object `shipToParty`." - }, - "addressLine2": { - "type": "string", - "description": "Additional address information, if required. For Amazon label only vendors, this field will have the value `xxxxx` within the object `shipToParty`." - }, - "addressLine3": { - "type": "string", - "description": "Additional address information, if required. For Amazon label only vendors, this field will have the value `xxxxx` within the object `shipToParty`." - }, - "city": { - "type": "string", - "description": "The city where the person, business or institution is located. For Amazon label only vendors, this field will have the value `xxxxx` within the object `shipToParty`." - }, - "county": { - "type": "string", - "description": "The county where person, business or institution is located. For Amazon label only vendors, this field will have the value `xxxxx` within the object `shipToParty`." - }, - "district": { - "type": "string", - "description": "The district where person, business or institution is located. For Amazon label only vendors, this field will have the value `xxxxx` within the object `shipToParty`." - }, - "stateOrRegion": { - "type": "string", - "description": "The state or region where person, business or institution is located." - }, - "postalCode": { - "type": "string", - "description": "The postal code of that address. It conatins a series of letters or digits or both, sometimes including spaces or punctuation." - }, - "countryCode": { - "type": "string", - "description": "The two digit country code. In ISO 3166-1 alpha-2 format." - }, - "phone": { - "type": "string", - "description": "The phone number of the person, business or institution located at that address. For Amazon label only vendors, this field will have the value `xxxxx` within the object `shipToParty`." - } - }, - "description": "Address of the party." - }, - "OrderItem": { + "ItemQuantity": { "type": "object", "required": [ - "itemSequenceNumber", - "netPrice", - "orderedQuantity" + "unitOfMeasure" ], "properties": { - "itemSequenceNumber": { - "type": "string", - "description": "Numbering of the item on the purchase order. The first item will be 1, the second 2, and so on." - }, - "buyerProductIdentifier": { - "type": "string", - "description": "Buyer's standard identification number (ASIN) of an item." - }, - "vendorProductIdentifier": { - "type": "string", - "description": "The vendor selected product identification of the item." - }, - "title": { - "type": "string", - "description": "Title for the item." - }, - "orderedQuantity": { - "description": "Item quantity ordered.", - "$ref": "#/definitions/ItemQuantity" - }, - "scheduledDeliveryShipment": { - "description": "Details for the scheduled delivery shipment.", - "$ref": "#/definitions/ScheduledDeliveryShipment" - }, - "giftDetails": { - "description": "Gift message and wrapId details.", - "$ref": "#/definitions/GiftDetails" - }, - "netPrice": { - "description": "Net price (before tax) to vendor with currency details.", - "$ref": "#/definitions/Money" - }, - "taxDetails": { - "description": "Total tax details for the line item.", - "$ref": "#/definitions/TaxItemDetails" - }, - "totalPrice": { - "description": "The price to Amazon each (cost).", - "$ref": "#/definitions/Money" + "amount": { + "type": "integer", + "description": "Quantity of units available for a specific item." }, - "buyerCustomizedInfo": { - "description": "The buyer information for products the vendor has configured as customizable, specifying the types of customizations or configurations along with types and ranges for their product. This provides the ability for buyers to customize multiple aspects of the products according to what the vendor allows.", - "$ref": "#/definitions/buyerCustomizedInfoDetail" - } - } - }, - "Money": { - "type": "object", - "properties": { - "currencyCode": { + "unitOfMeasure": { "type": "string", - "description": "Three digit currency code in ISO 4217 format. String of length 3." - }, - "amount": { - "$ref": "#/definitions/Decimal" + "description": "Unit of measure for the available quantity." } }, - "description": "An amount of money, including units in the form of currency." - }, - "buyerCustomizedInfoDetail": { - "type": "object", - "properties": { - "customizedUrl": { - "type": "string", - "description": "A [Base 64](https://datatracker.ietf.org/doc/html/rfc4648#section-4) encoded URL using the UTF-8 character set. The URL provides the location of the zip file that specifies the types of customizations or configurations allowed by the vendor, along with types and ranges for the attributes of their products." - } - } - }, - "Decimal": { - "type": "string", - "description": "A decimal number with no loss of precision. Useful when precision loss is unacceptable, as with currencies. Follows RFC7159 for number representation." + "description": "Details of item quantity." }, - "SubmitAcknowledgementResponse": { + "SubmitInventoryUpdateResponse": { "type": "object", "properties": { "payload": { - "description": "The payload for the submitAcknowledgement operation.", - "$ref": "#/definitions/TransactionId" + "description": "The response payload for the submitInventoryUpdate operation.", + "$ref": "#/definitions/TransactionReference" }, "errors": { "$ref": "#/definitions/ErrorList" } }, - "description": "The response schema for the submitAcknowledgement operation." + "description": "The response schema for the submitInventoryUpdate operation." }, - "TransactionId": { + "TransactionReference": { "type": "object", "properties": { "transactionId": { "type": "string", - "description": "GUID assigned by Amazon to identify this transaction. This value can be used with the Transaction Status API to return the status of this transaction." + "description": "GUID to identify this transaction. This value can be used with the Transaction Status API to return the status of this transaction." } } }, "ErrorList": { - "type": "object", - "description": "A list of error responses returned when a request is unsuccessful.", - "required": [ - "errors" - ], - "properties": { - "errors": { - "type": "array", - "items": { - "$ref": "#/definitions/Error" - } - } - } - }, - "SubmitAcknowledgementRequest": { - "type": "object", - "properties": { - "orderAcknowledgements": { - "type": "array", - "description": "A list of one or more purchase orders.", - "items": { - "$ref": "#/definitions/OrderAcknowledgementItem" - } - } - }, - "description": "The request schema for the submitAcknowledgement operation." - }, - "OrderAcknowledgementItem": { - "type": "object", - "required": [ - "acknowledgementDate", - "acknowledgementStatus", - "itemAcknowledgements", - "purchaseOrderNumber", - "sellingParty", - "shipFromParty", - "vendorOrderNumber" - ], - "properties": { - "purchaseOrderNumber": { - "type": "string", - "description": "The purchase order number for this order. Formatting Notes: alpha-numeric code." - }, - "vendorOrderNumber": { - "type": "string", - "description": "The vendor's order number for this order." - }, - "acknowledgementDate": { - "type": "string", - "format": "date-time", - "description": "The date and time when the order is acknowledged, in ISO-8601 date/time format. For example: 2018-07-16T23:00:00Z / 2018-07-16T23:00:00-05:00 / 2018-07-16T23:00:00-08:00." - }, - "acknowledgementStatus": { - "description": "Status of acknowledgement.", - "$ref": "#/definitions/AcknowledgementStatus" - }, - "sellingParty": { - "description": "PartyID as vendor code.", - "$ref": "#/definitions/PartyIdentification" - }, - "shipFromParty": { - "description": "PartyID as the vendor's warehouseId.", - "$ref": "#/definitions/PartyIdentification" - }, - "itemAcknowledgements": { - "type": "array", - "description": "Item details including acknowledged quantity.", - "items": { - "$ref": "#/definitions/OrderItemAcknowledgement" - } - } - }, - "description": "Details of an individual order being acknowledged." - }, - "OrderItemAcknowledgement": { - "type": "object", - "required": [ - "acknowledgedQuantity", - "itemSequenceNumber" - ], - "properties": { - "itemSequenceNumber": { - "type": "string", - "description": "Line item sequence number for the item." - }, - "buyerProductIdentifier": { - "type": "string", - "description": "Buyer's standard identification number (ASIN) of an item." - }, - "vendorProductIdentifier": { - "type": "string", - "description": "The vendor selected product identification of the item. Should be the same as was provided in the purchase order." - }, - "acknowledgedQuantity": { - "description": "Details of quantity acknowledged with the above acknowledgement code.", - "$ref": "#/definitions/ItemQuantity" - } - } - }, - "ItemQuantity": { - "type": "object", - "properties": { - "amount": { - "type": "integer", - "description": "Acknowledged quantity. This value should not be zero." - }, - "unitOfMeasure": { - "type": "string", - "description": "Unit of measure for the acknowledged quantity.", - "enum": [ - "Each" - ], - "x-docgen-enum-table-extension": [ - { - "value": "Each", - "description": "Unit of measure to represent individual piece." - } - ] - } - }, - "description": "Details of quantity ordered." - }, - "TaxLineItem": { "type": "array", - "description": "A list of tax line items.", + "description": "A list of error responses returned when a request is unsuccessful.", "items": { - "$ref": "#/definitions/TaxDetails" - } - }, - "TaxDetails": { - "type": "object", - "required": [ - "taxAmount" - ], - "properties": { - "taxRate": { - "$ref": "#/definitions/Decimal" - }, - "taxAmount": { - "$ref": "#/definitions/Money" - }, - "taxableAmount": { - "$ref": "#/definitions/Money" - }, - "type": { - "type": "string", - "description": "Tax type.", - "enum": [ - "CONSUMPTION", - "GST", - "MwSt.", - "PST", - "TOTAL", - "TVA", - "VAT" - ], - "x-docgen-enum-table-extension": [ - { - "value": "CONSUMPTION", - "description": "Tax levied on consumption spending on goods and services." - }, - { - "value": "GST", - "description": "Tax levied on most goods and services sold for domestic consumption." - }, - { - "value": "MwSt.", - "description": "Mehrwertsteuer, MwSt, is German for value-added tax." - }, - { - "value": "PST", - "description": "A provincial sales tax (PST) is imposed on consumers of goods and particular services in many Canadian provinces." - }, - { - "value": "TOTAL", - "description": "Combined total of all the applicable taxes." - }, - { - "value": "TVA", - "description": "Taxe sur la Valeur Ajoutée (TVA) is French for value-added tax." - }, - { - "value": "VAT", - "description": "Value-added tax." - } - ] - } + "$ref": "#/definitions/Error" } }, - "AcknowledgementStatus": { - "type": "object", - "properties": { - "code": { - "type": "string", - "description": "Acknowledgement code is a unique two digit value which indicates the status of the acknowledgement. For a list of acknowledgement codes that Amazon supports, see the Vendor Direct Fulfillment APIs Use Case Guide." - }, - "description": { - "type": "string", - "description": "Reason for the acknowledgement code." - } - }, - "description": "Status of acknowledgement." - }, "Error": { "type": "object", "required": [ @@ -1385,109 +422,6 @@ } }, "description": "Error response returned when the request is unsuccessful." - }, - "ShipmentDetails": { - "type": "object", - "required": [ - "isPriorityShipment", - "isPslipRequired", - "messageToCustomer", - "shipMethod", - "shipmentDates" - ], - "properties": { - "isPriorityShipment": { - "type": "boolean", - "description": "When true, this is a priority shipment." - }, - "isScheduledDeliveryShipment": { - "type": "boolean", - "description": "When true, this order is part of a scheduled delivery program." - }, - "isPslipRequired": { - "type": "boolean", - "description": "When true, a packing slip is required to be sent to the customer." - }, - "isGift": { - "type": "boolean", - "description": "When true, the order contain a gift. Include the gift message and gift wrap information." - }, - "shipMethod": { - "type": "string", - "description": "Ship method to be used for shipping the order. Amazon defines ship method codes indicating the shipping carrier and shipment service level. To see the full list of ship methods in use, including both the code and the friendly name, search the 'Help' section on Vendor Central for 'ship methods'." - }, - "shipmentDates": { - "$ref": "#/definitions/ShipmentDates" - }, - "messageToCustomer": { - "type": "string", - "description": "Message to customer for order status." - } - }, - "description": "Shipment details required for the shipment." - }, - "ShipmentDates": { - "type": "object", - "required": [ - "requiredShipDate" - ], - "properties": { - "requiredShipDate": { - "type": "string", - "format": "date-time", - "description": "Time by which the vendor is required to ship the order." - }, - "promisedDeliveryDate": { - "type": "string", - "format": "date-time", - "description": "Delivery date promised to the Amazon customer." - } - }, - "description": "Shipment dates." - }, - "ScheduledDeliveryShipment": { - "type": "object", - "properties": { - "scheduledDeliveryServiceType": { - "type": "string", - "description": "Scheduled delivery service type." - }, - "earliestNominatedDeliveryDate": { - "type": "string", - "format": "date-time", - "description": "Earliest nominated delivery date for the scheduled delivery." - }, - "latestNominatedDeliveryDate": { - "type": "string", - "format": "date-time", - "description": "Latest nominated delivery date for the scheduled delivery." - } - }, - "description": "Dates for the scheduled delivery shipments." - }, - "GiftDetails": { - "type": "object", - "properties": { - "giftMessage": { - "type": "string", - "description": "Gift message to be printed in shipment." - }, - "giftWrapId": { - "type": "string", - "description": "Gift wrap identifier for the gift wrapping, if any." - } - }, - "description": "Gift details for the item." - }, - "TaxItemDetails": { - "type": "object", - "description": "Total tax details for the line item.", - "properties": { - "taxLineItem": { - "description": "Tax details.", - "$ref": "#/definitions/TaxLineItem" - } - } } } -} \ No newline at end of file +} From 867594e8866bf70a2328f7536866ab1d26e2199f Mon Sep 17 00:00:00 2001 From: Jack Evoniuk Date: Wed, 13 Dec 2023 13:36:25 -0800 Subject: [PATCH 028/340] Update Listings Items 2021 model --- .../listingsItems_2021-08-01.json | 334 +++++++++++++++--- 1 file changed, 283 insertions(+), 51 deletions(-) diff --git a/models/listings-items-api-model/listingsItems_2021-08-01.json b/models/listings-items-api-model/listingsItems_2021-08-01.json index 02dc28910..c1de701fd 100644 --- a/models/listings-items-api-model/listingsItems_2021-08-01.json +++ b/models/listings-items-api-model/listingsItems_2021-08-01.json @@ -1,7 +1,7 @@ { "swagger": "2.0", "info": { - "description": "The Selling Partner API for Listings Items (Listings Items API) provides programmatic access to selling partner listings on Amazon. Use this API in collaboration with the Selling Partner API for Product Type Definitions, which you use to retrieve the information about Amazon product types needed to use the Listings Items API.\n\nFor more information, see the [Listings Items API Use Case Guide](doc:listings-items-api-v2021-08-01-use-case-guide).", + "description": "The Selling Partner API for Listings Items (Listings Items API) provides programmatic access to selling partner listings on Amazon. Use this API in collaboration with the Selling Partner API for Product Type Definitions, which you use to retrieve the information about Amazon product types needed to use the Listings Items API.\n\nFor more information, see the [Listings Items API Use Case Guide](https://developer-docs.amazon.com/sp-api/docs/listings-items-api-v2021-08-01-use-case-guide).", "version": "2021-08-01", "title": "Selling Partner API for Listings Items", "contact": { @@ -66,7 +66,7 @@ }, { "name": "issueLocale", - "description": "A locale for localization of issues. When not provided, the default language code of the first marketplace is used. Examples: \"en_US\", \"fr_CA\", \"fr_FR\". Localized messages default to \"en_US\" when a localization is not available in the specified locale.", + "description": "A locale for localization of issues. When not provided, the default language code of the first marketplace is used. Examples: `en_US`, `fr_CA`, `fr_FR`. Localized messages default to `en_US` when a localization is not available in the specified locale.", "in": "query", "required": false, "type": "string", @@ -230,7 +230,7 @@ "tags": [ "listings" ], - "description": "Returns details about a listings item for a selling partner.\n\n**Note:** The parameters associated with this operation may contain special characters that must be encoded to successfully call the API. To avoid errors with SKUs when encoding URLs, refer to [URL Encoding](https://developer-docs.amazon.com/sp-api/docs/url-encoding).\n\n**Usage Plan:**\n\n| Rate (requests per second) | Burst |\n| ---- | ---- |\n| 5 | 10 |\n\nThe `x-amzn-RateLimit-Limit` response header returns the usage plan rate limits that were applied to the requested operation, when available. The table above indicates the default rate and burst values for this operation. Selling partners whose business demands require higher throughput may see higher rate and burst values than those shown here. For more information, see [Usage Plans and Rate Limits in the Selling Partner API](https://developer-docs.amazon.com/sp-api/docs/usage-plans-and-rate-limits-in-the-sp-api).", + "description": "Returns details about a listings item for a selling partner.\n\n**Note:** This operation has a throttling rate of one request per second when `mode` is `VALIDATION_PREVIEW`.\n\n**Note:** The parameters associated with this operation may contain special characters that must be encoded to successfully call the API. To avoid errors with SKUs when encoding URLs, refer to [URL Encoding](https://developer-docs.amazon.com/sp-api/docs/url-encoding).\n\n**Usage Plan:**\n\n| Rate (requests per second) | Burst |\n| ---- | ---- |\n| 5 | 10 |\n\nThe `x-amzn-RateLimit-Limit` response header returns the usage plan rate limits that were applied to the requested operation, when available. The table above indicates the default rate and burst values for this operation. Selling partners whose business demands require higher throughput may see higher rate and burst values than those shown here. For more information, see [Usage Plans and Rate Limits in the Selling Partner API](https://developer-docs.amazon.com/sp-api/docs/usage-plans-and-rate-limits-in-the-sp-api).", "operationId": "getListingsItem", "consumes": [ "application/json" @@ -267,7 +267,7 @@ }, { "name": "issueLocale", - "description": "A locale for localization of issues. When not provided, the default language code of the first marketplace is used. Examples: \"en_US\", \"fr_CA\", \"fr_FR\". Localized messages default to \"en_US\" when a localization is not available in the specified locale.", + "description": "A locale for localization of issues. When not provided, the default language code of the first marketplace is used. Examples: `en_US`, `fr_CA`, `fr_FR`. Localized messages default to `en_US` when a localization is not available in the specified locale.", "in": "query", "required": false, "type": "string", @@ -275,7 +275,7 @@ }, { "name": "includedData", - "description": "A comma-delimited list of data sets to include in the response. Default: summaries.", + "description": "A comma-delimited list of data sets to include in the response. Default: `summaries`.", "in": "query", "required": false, "type": "array", @@ -295,23 +295,23 @@ }, { "value": "attributes", - "description": "JSON object containing structured listing item attribute data keyed by attribute name." + "description": "A JSON object containing structured listing item attribute data keyed by attribute name." }, { "value": "issues", - "description": "Issues associated with the listing item." + "description": "The issues associated with the listing item." }, { "value": "offers", - "description": "Current offers for the listing item." + "description": "The current offers for the listing item." }, { "value": "fulfillmentAvailability", - "description": "Fulfillment availability details for the listing item." + "description": "The fulfillment availability details for the listing item." }, { "value": "procurement", - "description": "Vendor procurement details for the listing item. " + "description": "The vendor procurement details for the listing item. " } ], "type": "string" @@ -375,7 +375,80 @@ "quantity": 100 } ], - "issues": [] + "issues": [ + { + "code": "90220", + "message": "'size' is required but not supplied.", + "severity": "ERROR", + "attributeNames": ["size"], + "categories": ["MISSING_ATTRIBUTE"] + }, + { + "code": "18027", + "message": "We believe the main image has text, logo, graphic or watermark which is not permitted for this product type. Please submit a compliant image to lift the suppression. Also refer to Product image requirements.", + "severity": "ERROR", + "categories": ["INVALID_IMAGE"], + "enforcements": { + "actions": [ + { + "action": "SEARCH_SUPPRESSED" + } + ], + "exemption": { + "status": "EXEMPT_UNTIL_EXPIRY_DATE", + "expiryDate": "2025-05-28T00:36:48.914Z" + } + } + }, + { + "code": "99300", + "message": "Product Detail Page Rules Violation (Inaccurate information on product detail page)", + "severity": "ERROR", + "categories": [], + "enforcements": { + "actions": [ + { + "action": "ATTRIBUTE_SUPPRESSED" + } + ], + "exemption": { + "status": "EXEMPT" + } + } + }, + { + "code": "18155", + "message": "The 'minimum price' is greater than the selling price (excluding shipping) for the listing. Please review and update your price and/or minimum price.", + "severity": "ERROR", + "categories": ["INVALID_PRICE"], + "enforcements": { + "actions": [ + { + "action": "LISTING_SUPPRESSED" + } + ], + "exemption": { + "status": "NOT_EXEMPT" + } + } + }, + { + "code": "18742", + "message": "Restricted Products Policy Violation", + "severity": "ERROR", + "categories": [], + "enforcements": { + "actions": [ + { + "action": "CATALOG_ITEM_REMOVED" + } + ], + "exemption": { + "status": "NOT_EXEMPT" + } + } + } + ] } }, "x-amzn-api-sandbox": { @@ -424,7 +497,80 @@ "quantity": 100 } ], - "issues": [] + "issues": [ + { + "code": "90220", + "message": "'size' is required but not supplied.", + "severity": "ERROR", + "attributeNames": ["size"], + "categories": ["MISSING_ATTRIBUTE"] + }, + { + "code": "18027", + "message": "We believe the main image has text, logo, graphic or watermark which is not permitted for this product type. Please submit a compliant image to lift the suppression. Also refer to Product image requirements.", + "severity": "ERROR", + "categories": ["INVALID_IMAGE"], + "enforcements": { + "actions": [ + { + "action": "SEARCH_SUPPRESSED" + } + ], + "exemption": { + "status": "EXEMPT_UNTIL_EXPIRY_DATE", + "expiryDate": "2025-05-28T00:36:48.914Z" + } + } + }, + { + "code": "99300", + "message": "Product Detail Page Rules Violation (Inaccurate information on product detail page)", + "severity": "ERROR", + "categories": [], + "enforcements": { + "actions": [ + { + "action": "ATTRIBUTE_SUPPRESSED" + } + ], + "exemption": { + "status": "EXEMPT" + } + } + }, + { + "code": "18155", + "message": "The 'minimum price' is greater than the selling price (excluding shipping) for the listing. Please review and update your price and/or minimum price.", + "severity": "ERROR", + "categories": ["INVALID_PRICE"], + "enforcements": { + "actions": [ + { + "action": "LISTING_SUPPRESSED" + } + ], + "exemption": { + "status": "NOT_EXEMPT" + } + } + }, + { + "code": "18742", + "message": "Restricted Products Policy Violation", + "severity": "ERROR", + "categories": [], + "enforcements": { + "actions": [ + { + "action": "CATALOG_ITEM_REMOVED" + } + ], + "exemption": { + "status": "NOT_EXEMPT" + } + } + } + ] } } ] @@ -599,7 +745,7 @@ }, { "name": "issueLocale", - "description": "A locale for localization of issues. When not provided, the default language code of the first marketplace is used. Examples: \"en_US\", \"fr_CA\", \"fr_FR\". Localized messages default to \"en_US\" when a localization is not available in the specified locale.", + "description": "A locale for localization of issues. When not provided, the default language code of the first marketplace is used. Examples: `en_US`, `fr_CA`, `fr_FR`. Localized messages default to `en_US` when a localization is not available in the specified locale.", "in": "query", "required": false, "type": "string", @@ -607,7 +753,7 @@ }, { "name": "body", - "description": "The request body schema for the patchListingsItem operation.", + "description": "The request body schema for the `patchListingsItem` operation.", "in": "body", "required": true, "schema": { @@ -774,7 +920,7 @@ "tags": [ "listings" ], - "description": "Creates a new or fully-updates an existing listings item for a selling partner.\n\n**Note:** The parameters associated with this operation may contain special characters that must be encoded to successfully call the API. To avoid errors with SKUs when encoding URLs, refer to [URL Encoding](https://developer-docs.amazon.com/sp-api/docs/url-encoding).\n\n**Usage Plan:**\n\n| Rate (requests per second) | Burst |\n| ---- | ---- |\n| 5 | 10 |\n\nThe `x-amzn-RateLimit-Limit` response header returns the usage plan rate limits that were applied to the requested operation, when available. The table above indicates the default rate and burst values for this operation. Selling partners whose business demands require higher throughput may see higher rate and burst values than those shown here. For more information, see [Usage Plans and Rate Limits in the Selling Partner API](https://developer-docs.amazon.com/sp-api/docs/usage-plans-and-rate-limits-in-the-sp-api).", + "description": "Creates or fully updates an existing listings item for a selling partner.\n\n**Note:** The parameters associated with this operation may contain special characters that must be encoded to successfully call the API. To avoid errors with SKUs when encoding URLs, refer to [URL Encoding](https://developer-docs.amazon.com/sp-api/docs/url-encoding).\n\n**Usage Plan:**\n\n| Rate (requests per second) | Burst |\n| ---- | ---- |\n| 5 | 10 |\n\nThe `x-amzn-RateLimit-Limit` response header returns the usage plan rate limits that were applied to the requested operation, when available. The table above indicates the default rate and burst values for this operation. Selling partners whose business demands require higher throughput may see higher rate and burst values than those shown here. For more information, see [Usage Plans and Rate Limits in the Selling Partner API](https://developer-docs.amazon.com/sp-api/docs/usage-plans-and-rate-limits-in-the-sp-api).", "operationId": "putListingsItem", "consumes": [ "application/json" @@ -811,7 +957,7 @@ }, { "name": "issueLocale", - "description": "A locale for localization of issues. When not provided, the default language code of the first marketplace is used. Examples: \"en_US\", \"fr_CA\", \"fr_FR\". Localized messages default to \"en_US\" when a localization is not available in the specified locale.", + "description": "A locale for localization of issues. When not provided, the default language code of the first marketplace is used. Examples: `en_US`, `fr_CA`, `fr_FR`. Localized messages default to `en_US` when a localization is not available in the specified locale.", "in": "query", "required": false, "type": "string", @@ -819,7 +965,7 @@ }, { "name": "body", - "description": "The request body schema for the putListingsItem operation.", + "description": "The request body schema for the `putListingsItem` operation.", "in": "body", "required": true, "schema": { @@ -1042,14 +1188,14 @@ "$ref": "#/definitions/ItemOffers" }, "fulfillmentAvailability": { - "description": "Fulfillment availability for the listings item.", + "description": "The fulfillment availability for the listings item.", "type": "array", "items": { "$ref": "#/definitions/FulfillmentAvailability" } }, "procurement": { - "description": "Vendor procurement information for the listings item.", + "description": "The vendor procurement information for the listings item.", "type": "array", "items": { "$ref": "#/definitions/ItemProcurement" @@ -1103,7 +1249,7 @@ "x-docgen-enum-table-extension": [ { "value": "new_new", - "description": "New" + "description": "New." }, { "value": "new_open_box", @@ -1115,7 +1261,7 @@ }, { "value": "refurbished_refurbished", - "description": "Refurbished" + "description": "Refurbished." }, { "value": "used_like_new", @@ -1151,7 +1297,7 @@ }, { "value": "club_club", - "description": "Club" + "description": "Club." } ], "type": "string" @@ -1178,25 +1324,25 @@ } }, "fnSku": { - "description": "Fulfillment network stock keeping unit is an identifier used by Amazon fulfillment centers to identify each unique item.", + "description": "The fulfillment network stock keeping unit is an identifier used by Amazon fulfillment centers to identify each unique item.", "type": "string" }, "itemName": { - "description": "Name, or title, associated with an Amazon catalog item.", + "description": "The name or title associated with an Amazon catalog item.", "type": "string" }, "createdDate": { - "description": "Date the listings item was created, in ISO 8601 format.", + "description": "The date the listings item was created in ISO 8601 format.", "type": "string", "format": "date-time" }, "lastUpdatedDate": { - "description": "Date the listings item was last updated, in ISO 8601 format.", + "description": "The date the listings item was last updated in ISO 8601 format.", "type": "string", "format": "date-time" }, "mainImage": { - "description": "Main image for the listings item.", + "description": "The main image for the listings item.", "$ref": "#/definitions/ItemImage" } }, @@ -1212,18 +1358,18 @@ "type": "object" }, "ItemImage": { - "description": "Image for the listings item.", + "description": "The image for the listings item.", "properties": { "link": { - "description": "Link, or URL, for the image.", + "description": "The link, or URL, to the image.", "type": "string" }, "height": { - "description": "Height of the image in pixels.", + "description": "The height of the image in pixels.", "type": "integer" }, "width": { - "description": "Width of the image in pixels.", + "description": "The width of the image in pixels.", "type": "integer" } }, @@ -1235,12 +1381,12 @@ "type": "object" }, "ItemAttributes": { - "description": "JSON object containing structured listings item attribute data keyed by attribute name.", + "description": "A JSON object containing structured listings item attribute data keyed by attribute name.", "type": "object", "additionalProperties": true }, "ItemIssues": { - "description": "Issues associated with the listings item.", + "description": "The issues associated with the listings item.", "items": { "$ref": "#/definitions/Issue" }, @@ -1281,20 +1427,106 @@ "type": "string" }, "attributeNames": { - "description": "Names of the attributes associated with the issue, if applicable.", + "description": "The names of the attributes associated with the issue, if applicable.", "type": "array", "items": { "type": "string" } + }, + "categories": { + "description": "List of issue categories. \n\nPossible vales: \n\n* `INVALID_ATTRIBUTE` - Indicating an invalid attribute in the listing. \n\n* `MISSING_ATTRIBUTE` - Highlighting a missing attribute in the listing. \n\n* `INVALID_IMAGE` - Signifying an invalid image in the listing. \n\n* `MISSING_IMAGE` - Noting the absence of an image in the listing. \n\n* `INVALID_PRICE` - Pertaining to issues with the listing`s price-related attributes. \n\n* `MISSING_PRICE` - Pointing out the absence of a price attribute in the listing. \n\n* `DUPLICATE` - Identifying listings with potential duplicate problems, such as this ASIN potentially being a duplicate of another ASIN. \n\n* `QUALIFICATION_REQUIRED` - Indicating that the listing requires qualification-related approval.", + "type": "array", + "items": { + "type": "string" + }, + "example": ["INVALID_ATTRIBUTE"] + }, + "enforcements": { + "description": "This field provides information about the enforcement actions taken by Amazon that affect the publishing or status of a listing. It also includes details about any associated exemptions.", + "$ref": "#/definitions/IssueEnforcements" } }, "required": [ "code", "message", - "severity" + "severity", + "categories" ], "type": "object" }, + "IssueEnforcements": { + "description": "This field provides information about the enforcement actions taken by Amazon that affect the publishing or status of a listing. It also includes details about any associated exemptions.", + "type": "object", + "properties": { + "actions": { + "description": "List of enforcement actions taken by Amazon that affect the publishing or status of a listing.", + "type": "array", + "items": { + "$ref": "#/definitions/IssueEnforcementAction" + } + }, + "exemption": { + "description": "The \"exemption\" field serves to convey the status of enforcement actions by Amazon.", + "$ref": "#/definitions/IssueExemption" + } + }, + "required": [ + "actions", + "exemption" + ] + }, + "IssueEnforcementAction": { + "description": "The enforcement action taken by Amazon that affect the publishing or status of a listing", + "type": "object", + "properties": { + "action":{ + "description": "The enforcement action name. \n\nPossible values: \n\n* `LISTING_SUPPRESSED` - This enforcement takes down the current listing item`s buyability. \n\n* `ATTRIBUTE_SUPPRESSED` - An attribute`s value on the listing item is invalid, which causes it to be rejected by Amazon. \n\n* `CATALOG_ITEM_REMOVED` - This catalog item is inactive on Amazon, and all offers against it in the applicable marketplace are non-buyable. \n\n* `SEARCH_SUPPRESSED` - This value indicates that the catalog item is hidden from search results.", + "type": "string", + "example": "LISTING_SUPPRESSED" + } + }, + "required": [ + "action" + ] + }, + "IssueExemption": { + "description": "Conveying the status of the listed enforcement actions and, if applicable, provides information about the exemption's expiry date.", + "type": "object", + "properties": { + "status": { + "description": "This field indicates the current exemption status for the listed enforcement actions. It can take values such as `EXEMPT`, signifying permanent exemption, `EXEMPT_UNTIL_EXPIRY_DATE` indicating temporary exemption until a specified date, or `NOT_EXEMPT` signifying no exemptions, and enforcement actions were already applied.", + "enum": [ + "EXEMPT", + "EXEMPT_UNTIL_EXPIRY_DATE", + "NOT_EXEMPT" + ], + "x-docgen-enum-table-extension": [ + { + "value": "EXEMPT", + "description": "This status is assigned to a product listing when it has been exempted from the listed enforcement actions. In cases of `EXEMPT`, Amazon acknowledges the existence of enforcement actions but ensures the user that these actions will not be applied to the listing. The user is advised to consider addressing the issue, although enforcement actions will not be taken." + }, + { + "value": "EXEMPT_UNTIL_EXPIRY_DATE", + "description": "This status indicates that a product listing has been granted a temporary exemption from the listed enforcement actions. The exemption will remain in effect until a specified expiry date. After this date, Amazon will enforce the listed actions. The `expiryDate` field provides the timestamp indicating when the temporary exemption will end, adhering to the ISO 8601 format" + }, + { + "value": "NOT_EXEMPT", + "description": "This status is assigned to a product listing when it has no exemptions from the listed enforcement actions. When the status is `NOT_EXEMPT`, it signifies that Amazon has already taken the specified enforcement actions. There is no exemption in place, and the listed actions are actively enforced" + } + ], + "type": "string" + }, + "expiryDate": { + "description": "This field represents the timestamp, following the ISO 8601 format, which specifies the date when temporary exemptions, if applicable, will expire, and Amazon will begin enforcing the listed actions.", + "type": "string", + "format": "date-time", + "example": "2023-10-28T00:36:48.914Z" + } + }, + "required": [ + "status" + ] + }, "ItemOffers": { "description": "Offer details for the listings item.", "items": { @@ -1306,7 +1538,7 @@ "description": "Offer details of a listings item for an Amazon marketplace.", "properties": { "marketplaceId": { - "description": "Amazon marketplace identifier.", + "description": "The Amazon marketplace identifier.", "type": "string" }, "offerType": { @@ -1328,7 +1560,7 @@ "type": "string" }, "price": { - "description": "Purchase price of the listings item", + "description": "The purchase price of the listings item", "$ref": "#/definitions/Money" }, "points": { @@ -1343,7 +1575,7 @@ "type": "object" }, "ItemProcurement": { - "description": "Vendor procurement information for the listings item.", + "description": "The vendor procurement information for the listings item.", "properties": { "costPrice": { "description": "The price (numeric value) that you want Amazon to pay you for this product.", @@ -1356,10 +1588,10 @@ "type": "object" }, "FulfillmentAvailability": { - "description": "Fulfillment availability details for the listings item.", + "description": "The fulfillment availability details for the listings item.", "properties": { "fulfillmentChannelCode": { - "description": "Designates which fulfillment network will be used.", + "description": "The code of the fulfillment network that will be used.", "type": "string" }, "quantity": { @@ -1374,11 +1606,11 @@ "type": "object" }, "Money": { - "description": "The currency type and the amount.", + "description": "The currency type and amount.", "properties": { "currencyCode": { "type": "string", - "description": "Three-digit currency code. In ISO 4217 format." + "description": "Three-digit currency code in ISO 4217 format." }, "amount": { "description": "The currency amount.", @@ -1396,7 +1628,7 @@ "description": "A decimal number with no loss of precision. Useful when precision loss is unnaceptable, as with currencies. Follows RFC7159 for number representation." }, "Points": { - "description": "The number of Amazon Points offered with the purchase of an item, and their monetary value. Note that the Points element is only returned in Japan (JP).", + "description": "The number of Amazon Points offered with the purchase of an item, and their monetary value. Note that the `Points` element is only returned in Japan (JP).", "type": "object", "properties": { "pointsNumber": { @@ -1411,7 +1643,7 @@ "description": "Individual JSON Patch operation for an HTTP PATCH request.", "properties": { "op": { - "description": "Type of JSON Patch operation. Supported JSON Patch operations include add, replace, and delete. See .", + "description": "Type of JSON Patch operation. Supported JSON Patch operations include add, replace, and delete. Refer to [JavaScript Object Notation (JSON) Patch](https://tools.ietf.org/html/rfc6902) for more information.", "enum": [ "add", "replace", @@ -1420,21 +1652,21 @@ "x-docgen-enum-table-extension": [ { "value": "add", - "description": "The \"add\" operation adds or replaces the target property." + "description": "The `add` operation adds or replaces the target property." }, { "value": "replace", - "description": "The \"replace\" operation adds or replaces the target property." + "description": "The `replace` operation adds or replaces the target property." }, { "value": "delete", - "description": "The \"delete\" operation removes the target property. Not supported for vendors (vendors will receive an HTTP status code 400 response)." + "description": "The `delete` operation removes the target property. Not supported for vendors (vendors will receive an HTTP status code 400 response)." } ], "type": "string" }, "path": { - "description": "JSON Pointer path of the element to patch. See .", + "description": "JSON Pointer path of the element to patch. Refer to [JavaScript Object Notation (JSON) Patch](https://tools.ietf.org/html/rfc6902) for more information.", "type": "string" }, "value": { @@ -1453,7 +1685,7 @@ "type": "object" }, "ListingsItemPatchRequest": { - "description": "The request body schema for the patchListingsItem operation.", + "description": "The request body schema for the `patchListingsItem` operation.", "properties": { "productType": { "description": "The Amazon product type of the listings item.", @@ -1475,7 +1707,7 @@ "type": "object" }, "ListingsItemPutRequest": { - "description": "The request body schema for the putListingsItem operation.", + "description": "The request body schema for the `putListingsItem` operation.", "properties": { "productType": { "description": "The Amazon product type of the listings item.", @@ -1505,7 +1737,7 @@ "type": "string" }, "attributes": { - "description": "JSON object containing structured listings item attribute data keyed by attribute name.", + "description": "A JSON object containing structured listings item attribute data keyed by attribute name.", "type": "object", "additionalProperties": true } From 27ac39ebe5943a85a108e72fd3d08a93d8bc447e Mon Sep 17 00:00:00 2001 From: Jack Evoniuk Date: Tue, 2 Jan 2024 14:47:36 -0800 Subject: [PATCH 029/340] Update Listings Items model --- models/listings-items-api-model/listingsItems_2021-08-01.json | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/models/listings-items-api-model/listingsItems_2021-08-01.json b/models/listings-items-api-model/listingsItems_2021-08-01.json index c1de701fd..44cbcbfe2 100644 --- a/models/listings-items-api-model/listingsItems_2021-08-01.json +++ b/models/listings-items-api-model/listingsItems_2021-08-01.json @@ -1434,7 +1434,7 @@ } }, "categories": { - "description": "List of issue categories. \n\nPossible vales: \n\n* `INVALID_ATTRIBUTE` - Indicating an invalid attribute in the listing. \n\n* `MISSING_ATTRIBUTE` - Highlighting a missing attribute in the listing. \n\n* `INVALID_IMAGE` - Signifying an invalid image in the listing. \n\n* `MISSING_IMAGE` - Noting the absence of an image in the listing. \n\n* `INVALID_PRICE` - Pertaining to issues with the listing`s price-related attributes. \n\n* `MISSING_PRICE` - Pointing out the absence of a price attribute in the listing. \n\n* `DUPLICATE` - Identifying listings with potential duplicate problems, such as this ASIN potentially being a duplicate of another ASIN. \n\n* `QUALIFICATION_REQUIRED` - Indicating that the listing requires qualification-related approval.", + "description": "List of issue categories. \n\nPossible vales: \n\n* `INVALID_ATTRIBUTE` - Indicating an invalid attribute in the listing. \n\n* `MISSING_ATTRIBUTE` - Highlighting a missing attribute in the listing. \n\n* `INVALID_IMAGE` - Signifying an invalid image in the listing. \n\n* `MISSING_IMAGE` - Noting the absence of an image in the listing. \n\n* `INVALID_PRICE` - Pertaining to issues with the listing's price-related attributes. \n\n* `MISSING_PRICE` - Pointing out the absence of a price attribute in the listing. \n\n* `DUPLICATE` - Identifying listings with potential duplicate problems, such as this ASIN potentially being a duplicate of another ASIN. \n\n* `QUALIFICATION_REQUIRED` - Indicating that the listing requires qualification-related approval.", "type": "array", "items": { "type": "string" @@ -1480,7 +1480,7 @@ "type": "object", "properties": { "action":{ - "description": "The enforcement action name. \n\nPossible values: \n\n* `LISTING_SUPPRESSED` - This enforcement takes down the current listing item`s buyability. \n\n* `ATTRIBUTE_SUPPRESSED` - An attribute`s value on the listing item is invalid, which causes it to be rejected by Amazon. \n\n* `CATALOG_ITEM_REMOVED` - This catalog item is inactive on Amazon, and all offers against it in the applicable marketplace are non-buyable. \n\n* `SEARCH_SUPPRESSED` - This value indicates that the catalog item is hidden from search results.", + "description": "The enforcement action name. \n\nPossible values: \n\n* `LISTING_SUPPRESSED` - This enforcement takes down the current listing item's buyability. \n\n* `ATTRIBUTE_SUPPRESSED` - An attribute's value on the listing item is invalid, which causes it to be rejected by Amazon. \n\n* `CATALOG_ITEM_REMOVED` - This catalog item is inactive on Amazon, and all offers against it in the applicable marketplace are non-buyable. \n\n* `SEARCH_SUPPRESSED` - This value indicates that the catalog item is hidden from search results.", "type": "string", "example": "LISTING_SUPPRESSED" } From 29335c2794bd85556ff37a4d3d6c8cbb2804fe64 Mon Sep 17 00:00:00 2001 From: Alex Rupprecht <44652230+alex-rupprecht@users.noreply.github.com> Date: Fri, 12 Jan 2024 13:25:41 -0500 Subject: [PATCH 030/340] Update listingsItems_2021-08-01.json Removing extra note on throttling rate --- models/listings-items-api-model/listingsItems_2021-08-01.json | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/models/listings-items-api-model/listingsItems_2021-08-01.json b/models/listings-items-api-model/listingsItems_2021-08-01.json index 44cbcbfe2..d1c386079 100644 --- a/models/listings-items-api-model/listingsItems_2021-08-01.json +++ b/models/listings-items-api-model/listingsItems_2021-08-01.json @@ -230,7 +230,7 @@ "tags": [ "listings" ], - "description": "Returns details about a listings item for a selling partner.\n\n**Note:** This operation has a throttling rate of one request per second when `mode` is `VALIDATION_PREVIEW`.\n\n**Note:** The parameters associated with this operation may contain special characters that must be encoded to successfully call the API. To avoid errors with SKUs when encoding URLs, refer to [URL Encoding](https://developer-docs.amazon.com/sp-api/docs/url-encoding).\n\n**Usage Plan:**\n\n| Rate (requests per second) | Burst |\n| ---- | ---- |\n| 5 | 10 |\n\nThe `x-amzn-RateLimit-Limit` response header returns the usage plan rate limits that were applied to the requested operation, when available. The table above indicates the default rate and burst values for this operation. Selling partners whose business demands require higher throughput may see higher rate and burst values than those shown here. For more information, see [Usage Plans and Rate Limits in the Selling Partner API](https://developer-docs.amazon.com/sp-api/docs/usage-plans-and-rate-limits-in-the-sp-api).", + "description": "Returns details about a listings item for a selling partner.\n\n**Note:** The parameters associated with this operation may contain special characters that must be encoded to successfully call the API. To avoid errors with SKUs when encoding URLs, refer to [URL Encoding](https://developer-docs.amazon.com/sp-api/docs/url-encoding).\n\n**Usage Plan:**\n\n| Rate (requests per second) | Burst |\n| ---- | ---- |\n| 5 | 10 |\n\nThe `x-amzn-RateLimit-Limit` response header returns the usage plan rate limits that were applied to the requested operation, when available. The table above indicates the default rate and burst values for this operation. Selling partners whose business demands require higher throughput may see higher rate and burst values than those shown here. For more information, see [Usage Plans and Rate Limits in the Selling Partner API](https://developer-docs.amazon.com/sp-api/docs/usage-plans-and-rate-limits-in-the-sp-api).", "operationId": "getListingsItem", "consumes": [ "application/json" @@ -1793,4 +1793,4 @@ "type": "object" } } -} \ No newline at end of file +} From 9579c0d04003309767bce382901519ff3a15ddd5 Mon Sep 17 00:00:00 2001 From: Jack Evoniuk Date: Mon, 22 Jan 2024 11:18:15 -0800 Subject: [PATCH 031/340] Fix link in App Management model --- .../application_2023-11-30.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/models/application-management-api-model/application_2023-11-30.json b/models/application-management-api-model/application_2023-11-30.json index dfe087ad2..c013126cb 100644 --- a/models/application-management-api-model/application_2023-11-30.json +++ b/models/application-management-api-model/application_2023-11-30.json @@ -29,7 +29,7 @@ "tags": [ "Applications" ], - "description": "Rotates application client secrets for a developer application. Developers must register a destination queue in the developer console before calling this operation. When this operation is called a new client secret is generated and sent to the developer-registered queue. For more information, refer to [Rotate your application client secret](https://developer-docs.amazon.com/sp-api/docs/application-management-api-v2023-11-30-use-case-guide).\n\n**Usage Plan:**\n\n| Rate (requests per second) | Burst |\n| ---- | ---- |\n| 0.0167 | 1 |\n\nThe `x-amzn-RateLimit-Limit` response header returns the usage plan rate limits that were applied to the requested operation, when available. The table above indicates the default rate and burst values for this operation. Selling partners whose business demands require higher throughput may see higher rate and burst values than those shown here. For more information, refer to [Usage Plans and Rate Limits in the Selling Partner API](https://developer-docs.amazon.com/sp-api/docs/usage-plans-and-rate-limits-in-the-sp-api).", + "description": "Rotates application client secrets for a developer application. Developers must register a destination queue in the developer console before calling this operation. When this operation is called a new client secret is generated and sent to the developer-registered queue. For more information, refer to [Rotate your application client secret](https://developer-docs.amazon.com/sp-api/v0/docs/application-management-api-v2023-11-30-use-case-guide#tutorial-rotate-your-applications-client-secret).\n\n**Usage Plan:**\n\n| Rate (requests per second) | Burst |\n| ---- | ---- |\n| 0.0167 | 1 |\n\nThe `x-amzn-RateLimit-Limit` response header returns the usage plan rate limits that were applied to the requested operation, when available. The table above indicates the default rate and burst values for this operation. Selling partners whose business demands require higher throughput may see higher rate and burst values than those shown here. For more information, refer to [Usage Plans and Rate Limits in the Selling Partner API](https://developer-docs.amazon.com/sp-api/docs/usage-plans-and-rate-limits-in-the-sp-api).", "operationId": "rotateApplicationClientSecret", "parameters": [ ], From 451a246720c552b51623500b0fe92701a2a1bfe9 Mon Sep 17 00:00:00 2001 From: Jack Evoniuk Date: Mon, 29 Jan 2024 10:20:46 -0800 Subject: [PATCH 032/340] Update Orders v0 model Clarify availability of ElectronicInvoiceStatus --- models/orders-api-model/ordersV0.json | 40 +++++++++++++-------------- 1 file changed, 20 insertions(+), 20 deletions(-) diff --git a/models/orders-api-model/ordersV0.json b/models/orders-api-model/ordersV0.json index c3bdf7a3a..2526011f7 100644 --- a/models/orders-api-model/ordersV0.json +++ b/models/orders-api-model/ordersV0.json @@ -35,28 +35,28 @@ { "name": "CreatedAfter", "in": "query", - "description": "A date used for selecting orders created after (or at) a specified time. Only orders placed after the specified time are returned. Either the CreatedAfter parameter or the LastUpdatedAfter parameter is required. Both cannot be empty. The date must be in ISO 8601 format.", + "description": "A date used for selecting orders created after (or at) a specified time. Only orders placed after the specified time are returned. Either the CreatedAfter parameter or the LastUpdatedAfter parameter is required. Both cannot be empty. The date must be in ISO 8601 format.", "required": false, "type": "string" }, { "name": "CreatedBefore", "in": "query", - "description": "A date used for selecting orders created before (or at) a specified time. Only orders placed before the specified time are returned. The date must be in ISO 8601 format.", + "description": "A date used for selecting orders created before (or at) a specified time. Only orders placed before the specified time are returned. The date must be in ISO 8601 format.", "required": false, "type": "string" }, { "name": "LastUpdatedAfter", "in": "query", - "description": "A date used for selecting orders that were last updated after (or at) a specified time. An update is defined as any change in order status, including the creation of a new order. Includes updates made by Amazon and by the seller. The date must be in ISO 8601 format.", + "description": "A date used for selecting orders that were last updated after (or at) a specified time. An update is defined as any change in order status, including the creation of a new order. Includes updates made by Amazon and by the seller. The date must be in ISO 8601 format.", "required": false, "type": "string" }, { "name": "LastUpdatedBefore", "in": "query", - "description": "A date used for selecting orders that were last updated before (or at) a specified time. An update is defined as any change in order status, including the creation of a new order. Includes updates made by Amazon and by the seller. The date must be in ISO 8601 format.", + "description": "A date used for selecting orders that were last updated before (or at) a specified time. An update is defined as any change in order status, including the creation of a new order. Includes updates made by Amazon and by the seller. The date must be in ISO 8601 format.", "required": false, "type": "string" }, @@ -184,28 +184,28 @@ { "name": "EarliestDeliveryDateBefore", "in": "query", - "description": "A date used for selecting orders with a earliest delivery date before (or at) a specified time. The date must be in ISO 8601 format.", + "description": "A date used for selecting orders with a earliest delivery date before (or at) a specified time. The date must be in ISO 8601 format.", "required": false, "type": "string" }, { "name": "EarliestDeliveryDateAfter", "in": "query", - "description": "A date used for selecting orders with a earliest delivery date after (or at) a specified time. The date must be in ISO 8601 format.", + "description": "A date used for selecting orders with a earliest delivery date after (or at) a specified time. The date must be in ISO 8601 format.", "required": false, "type": "string" }, { "name": "LatestDeliveryDateBefore", "in": "query", - "description": "A date used for selecting orders with a latest delivery date before (or at) a specified time. The date must be in ISO 8601 format.", + "description": "A date used for selecting orders with a latest delivery date before (or at) a specified time. The date must be in ISO 8601 format.", "required": false, "type": "string" }, { "name": "LatestDeliveryDateAfter", "in": "query", - "description": "A date used for selecting orders with a latest delivery date after (or at) a specified time. The date must be in ISO 8601 format.", + "description": "A date used for selecting orders with a latest delivery date after (or at) a specified time. The date must be in ISO 8601 format.", "required": false, "type": "string" } @@ -2997,11 +2997,11 @@ }, "LastUpdatedBefore": { "type": "string", - "description": "A date used for selecting orders that were last updated before (or at) a specified time. An update is defined as any change in order status, including the creation of a new order. Includes updates made by Amazon and by the seller. All dates must be in ISO 8601 format." + "description": "A date used for selecting orders that were last updated before (or at) a specified time. An update is defined as any change in order status, including the creation of a new order. Includes updates made by Amazon and by the seller. All dates must be in ISO 8601 format." }, "CreatedBefore": { "type": "string", - "description": "A date used for selecting orders created before (or at) a specified time. Only orders placed before the specified time are returned. The date must be in ISO 8601 format." + "description": "A date used for selecting orders created before (or at) a specified time. Only orders placed before the specified time are returned. The date must be in ISO 8601 format." } }, "description": "A list of orders along with additional information to make subsequent API calls." @@ -3210,19 +3210,19 @@ }, "EarliestShipDate": { "type": "string", - "description": "The start of the time period within which you have committed to ship the order. In ISO 8601 date time format. Returned only for seller-fulfilled orders.\n\n__Note__: EarliestShipDate might not be returned for orders placed before February 1, 2013." + "description": "The start of the time period within which you have committed to ship the order. In ISO 8601 date time format. Returned only for seller-fulfilled orders.\n\n__Note__: EarliestShipDate might not be returned for orders placed before February 1, 2013." }, "LatestShipDate": { "type": "string", - "description": "The end of the time period within which you have committed to ship the order. In ISO 8601 date time format. Returned only for seller-fulfilled orders.\n\n__Note__: LatestShipDate might not be returned for orders placed before February 1, 2013." + "description": "The end of the time period within which you have committed to ship the order. In ISO 8601 date time format. Returned only for seller-fulfilled orders.\n\n__Note__: LatestShipDate might not be returned for orders placed before February 1, 2013." }, "EarliestDeliveryDate": { "type": "string", - "description": "The start of the time period within which you have committed to fulfill the order. In ISO 8601 date time format. Returned only for seller-fulfilled orders." + "description": "The start of the time period within which you have committed to fulfill the order. In ISO 8601 date time format. Returned only for seller-fulfilled orders." }, "LatestDeliveryDate": { "type": "string", - "description": "The end of the time period within which you have committed to fulfill the order. In ISO 8601 date time format. Returned only for seller-fulfilled orders that do not have a PendingAvailability, Pending, or Canceled status." + "description": "The end of the time period within which you have committed to fulfill the order. In ISO 8601 date time format. Returned only for seller-fulfilled orders that do not have a PendingAvailability, Pending, or Canceled status." }, "IsBusinessOrder": { "type": "boolean", @@ -3422,7 +3422,7 @@ }, "ReviewDate": { "type": "string", - "description": "The date the order was reviewed. In ISO 8601 date time format." + "description": "The date the order was reviewed. In ISO 8601 date time format." }, "ExternalReviewerId": { "type": "string", @@ -3744,7 +3744,7 @@ "properties": { "ExceptionDate": { "type": "string", - "description": "Date when the business is closed, in ISO-8601 date format." + "description": "Date when the business is closed, in ISO 8601 date format." }, "IsOpen": { "type": "boolean", @@ -4039,11 +4039,11 @@ }, "ScheduledDeliveryStartDate": { "type": "string", - "description": "The start date of the scheduled delivery window in the time zone of the order destination. In ISO 8601 date time format." + "description": "The start date of the scheduled delivery window in the time zone of the order destination. In ISO 8601 date time format." }, "ScheduledDeliveryEndDate": { "type": "string", - "description": "The end date of the scheduled delivery window in the time zone of the order destination. In ISO 8601 date time format." + "description": "The end date of the scheduled delivery window in the time zone of the order destination. In ISO 8601 date time format." }, "PriceDesignation": { "type": "string", @@ -4689,7 +4689,7 @@ ] }, "ElectronicInvoiceStatus": { - "description": "The status of the electronic invoice.", + "description": "The status of the electronic invoice. Only available for Easy Ship orders and orders in the BR marketplace.", "type": "string", "enum": [ "NotRequired", @@ -4784,7 +4784,7 @@ }, "shipDate": { "type": "string", - "description": "The shipping date for the package. Must be in ISO-8601 date/time format.", + "description": "The shipping date for the package. Must be in ISO 8601 date/time format.", "format": "date-time" }, "shipFromSupplySourceId": { From e8269549c7ebe12fdb0e7aab67c7a0cb47f19f42 Mon Sep 17 00:00:00 2001 From: Alex Rupprecht Date: Wed, 31 Jan 2024 10:57:10 -0500 Subject: [PATCH 033/340] Updating with brazil extendedaddresses and iso 8601 links --- models/orders-api-model/ordersV0.json | 25 +++++++++++++++++++++++++ 1 file changed, 25 insertions(+) diff --git a/models/orders-api-model/ordersV0.json b/models/orders-api-model/ordersV0.json index 2526011f7..a780dc5c4 100644 --- a/models/orders-api-model/ordersV0.json +++ b/models/orders-api-model/ordersV0.json @@ -3616,6 +3616,9 @@ "type": "string", "description": "The phone number. Not returned for Fulfillment by Amazon (FBA) orders." }, + "ExtendedFields": { + "$ref": "#/definitions/AddressExtendedFields" + }, "AddressType": { "type": "string", "description": "The address type of the shipping address.", @@ -3637,6 +3640,28 @@ }, "description": "The shipping address for the order." }, + "AddressExtendedFields": { + "type": "object", + "properties": { + "StreetName": { + "type": "string", + "description": "The street name." + }, + "StreetNumber": { + "type": "string", + "description": "The house number/building number/property number in the street." + }, + "Complement": { + "type": "string", + "description": "The floor number/unit number in the building/private house number." + }, + "Neighborhood": { + "type": "string", + "description": "The neighborhood. It's smaller than a region and an integral part of an address. It is used in some countries like Brazil." + } + }, + "description": "The container for address extended fields. For example, street name or street number. Only available for Brazil shipping addresses as of now." + }, "DeliveryPreferences": { "type": "object", "properties": { From 5ae2d06468462143663bf053805c6bcb78c94391 Mon Sep 17 00:00:00 2001 From: Gibran Waldron Date: Wed, 31 Jan 2024 09:24:54 -0800 Subject: [PATCH 034/340] Updated respective links to point to new notifications type values page. --- .../notifications-api-model/notifications.json | 16 ++++++++-------- 1 file changed, 8 insertions(+), 8 deletions(-) diff --git a/models/notifications-api-model/notifications.json b/models/notifications-api-model/notifications.json index 91dc810a8..d27d24684 100644 --- a/models/notifications-api-model/notifications.json +++ b/models/notifications-api-model/notifications.json @@ -432,7 +432,7 @@ "tags": [ "notifications" ], - "description": "Returns information about a subscription for the specified notification type. The `getSubscriptionById` operation is grantless. For more information, refer to [Grantless operations](https://developer-docs.amazon.com/sp-api/docs/grantless-operations) in the Selling Partner API Developer Guide.\n\n**Usage Plan:**\n\n| Rate (requests per second) | Burst |\n| ---- | ---- |\n| 1 | 5 |\n\nThe `x-amzn-RateLimit-Limit` response header returns the usage plan rate limits that were applied to the requested operation, when available. The table above indicates the default rate and burst values for this operation. Selling partners whose business demands require higher throughput may observe higher rate and burst values than those shown here. For more information, refer to [Usage Plans and Rate Limits in the Selling Partner API](https://developer-docs.amazon.com/sp-api/docs/usage-plans-and-rate-limits-in-the-sp-api).", + "description": "Returns information about a subscription for the specified notification type. The `getSubscriptionById` operation is grantless. For more information, refer to [Grantless operations](https://developer-docs.amazon.com/sp-api/docs/grantless-operations).\n\n**Usage Plan:**\n\n| Rate (requests per second) | Burst |\n| ---- | ---- |\n| 1 | 5 |\n\nThe `x-amzn-RateLimit-Limit` response header returns the usage plan rate limits that were applied to the requested operation, when available. The table above indicates the default rate and burst values for this operation. Selling partners whose business demands require higher throughput may observe higher rate and burst values than those shown here. For more information, refer to [Usage Plans and Rate Limits in the Selling Partner API](https://developer-docs.amazon.com/sp-api/docs/usage-plans-and-rate-limits-in-the-sp-api).", "operationId": "getSubscriptionById", "parameters": [ { @@ -634,7 +634,7 @@ "tags": [ "notifications" ], - "description": "Deletes the subscription indicated by the subscription identifier and notification type that you specify. The subscription identifier can be for any subscription associated with your application. After you successfully call this operation, notifications will stop being sent for the associated subscription. The `deleteSubscriptionById` operation is grantless. For more information, refer to [Grantless operations](https://developer-docs.amazon.com/sp-api/docs/grantless-operations) in the Selling Partner API Developer Guide.\n\n**Usage Plan:**\n\n| Rate (requests per second) | Burst |\n| ---- | ---- |\n| 1 | 5 |\n\nThe `x-amzn-RateLimit-Limit` response header returns the usage plan rate limits that were applied to the requested operation, when available. The table above indicates the default rate and burst values for this operation. Selling partners whose business demands require higher throughput may observe higher rate and burst values than those shown here. For more information, refer to [Usage Plans and Rate Limits in the Selling Partner API](https://developer-docs.amazon.com/sp-api/docs/usage-plans-and-rate-limits-in-the-sp-api).", + "description": "Deletes the subscription indicated by the subscription identifier and notification type that you specify. The subscription identifier can be for any subscription associated with your application. After you successfully call this operation, notifications will stop being sent for the associated subscription. The `deleteSubscriptionById` operation is grantless. For more information, refer to [Grantless operations](https://developer-docs.amazon.com/sp-api/docs/grantless-operations).\n\n**Usage Plan:**\n\n| Rate (requests per second) | Burst |\n| ---- | ---- |\n| 1 | 5 |\n\nThe `x-amzn-RateLimit-Limit` response header returns the usage plan rate limits that were applied to the requested operation, when available. The table above indicates the default rate and burst values for this operation. Selling partners whose business demands require higher throughput may observe higher rate and burst values than those shown here. For more information, refer to [Usage Plans and Rate Limits in the Selling Partner API](https://developer-docs.amazon.com/sp-api/docs/usage-plans-and-rate-limits-in-the-sp-api).", "operationId": "deleteSubscriptionById", "parameters": [ { @@ -826,7 +826,7 @@ "tags": [ "notifications" ], - "description": "Returns information about all destinations. The `getDestinations` operation is grantless. For more information, refer to [Grantless operations](https://developer-docs.amazon.com/sp-api/docs/grantless-operations) in the Selling Partner API Developer Guide.\n\n**Usage Plan:**\n\n| Rate (requests per second) | Burst |\n| ---- | ---- |\n| 1 | 5 |\n\nThe `x-amzn-RateLimit-Limit` response header returns the usage plan rate limits that were applied to the requested operation, when available. The table above indicates the default rate and burst values for this operation. Selling partners whose business demands require higher throughput may observe higher rate and burst values than those shown here. For more information, refer to [Usage Plans and Rate Limits in the Selling Partner API](https://developer-docs.amazon.com/sp-api/docs/usage-plans-and-rate-limits-in-the-sp-api).", + "description": "Returns information about all destinations. The `getDestinations` operation is grantless. For more information, refer to [Grantless operations](https://developer-docs.amazon.com/sp-api/docs/grantless-operations).\n\n**Usage Plan:**\n\n| Rate (requests per second) | Burst |\n| ---- | ---- |\n| 1 | 5 |\n\nThe `x-amzn-RateLimit-Limit` response header returns the usage plan rate limits that were applied to the requested operation, when available. The table above indicates the default rate and burst values for this operation. Selling partners whose business demands require higher throughput may observe higher rate and burst values than those shown here. For more information, refer to [Usage Plans and Rate Limits in the Selling Partner API](https://developer-docs.amazon.com/sp-api/docs/usage-plans-and-rate-limits-in-the-sp-api).", "operationId": "getDestinations", "parameters": [], "responses": { @@ -1029,7 +1029,7 @@ "tags": [ "notifications" ], - "description": "Creates a destination resource to receive notifications. The `createDestination` operation is grantless. For more information, refer to [Grantless operations](https://developer-docs.amazon.com/sp-api/docs/grantless-operations) in the Selling Partner API Developer Guide.\n\n**Usage Plan:**\n\n| Rate (requests per second) | Burst |\n| ---- | ---- |\n| 1 | 5 |\n\nThe `x-amzn-RateLimit-Limit` response header returns the usage plan rate limits that were applied to the requested operation, when available. The table above indicates the default rate and burst values for this operation. Selling partners whose business demands require higher throughput may observe higher rate and burst values than those shown here. For more information, refer to [Usage Plans and Rate Limits in the Selling Partner API](https://developer-docs.amazon.com/sp-api/docs/usage-plans-and-rate-limits-in-the-sp-api).", + "description": "Creates a destination resource to receive notifications. The `createDestination` operation is grantless. For more information, refer to [Grantless operations](https://developer-docs.amazon.com/sp-api/docs/grantless-operations).\n\n**Usage Plan:**\n\n| Rate (requests per second) | Burst |\n| ---- | ---- |\n| 1 | 5 |\n\nThe `x-amzn-RateLimit-Limit` response header returns the usage plan rate limits that were applied to the requested operation, when available. The table above indicates the default rate and burst values for this operation. Selling partners whose business demands require higher throughput may observe higher rate and burst values than those shown here. For more information, refer to [Usage Plans and Rate Limits in the Selling Partner API](https://developer-docs.amazon.com/sp-api/docs/usage-plans-and-rate-limits-in-the-sp-api).", "operationId": "createDestination", "parameters": [ { @@ -1239,7 +1239,7 @@ "tags": [ "notifications" ], - "description": "Returns information about the destination that you specify. The `getDestination` operation is grantless. For more information, refer to [Grantless operations](https://developer-docs.amazon.com/sp-api/docs/grantless-operations) in the Selling Partner API Developer Guide.\n\n**Usage Plan:**\n\n| Rate (requests per second) | Burst |\n| ---- | ---- |\n| 1 | 5 |\n\nThe `x-amzn-RateLimit-Limit` response header returns the usage plan rate limits that were applied to the requested operation, when available. The table above indicates the default rate and burst values for this operation. Selling partners whose business demands require higher throughput may observe higher rate and burst values than those shown here. For more information, refer to [Usage Plans and Rate Limits in the Selling Partner API](https://developer-docs.amazon.com/sp-api/docs/usage-plans-and-rate-limits-in-the-sp-api).", + "description": "Returns information about the destination that you specify. The `getDestination` operation is grantless. For more information, refer to [Grantless operations](https://developer-docs.amazon.com/sp-api/docs/grantless-operations).\n\n**Usage Plan:**\n\n| Rate (requests per second) | Burst |\n| ---- | ---- |\n| 1 | 5 |\n\nThe `x-amzn-RateLimit-Limit` response header returns the usage plan rate limits that were applied to the requested operation, when available. The table above indicates the default rate and burst values for this operation. Selling partners whose business demands require higher throughput may observe higher rate and burst values than those shown here. For more information, refer to [Usage Plans and Rate Limits in the Selling Partner API](https://developer-docs.amazon.com/sp-api/docs/usage-plans-and-rate-limits-in-the-sp-api).", "operationId": "getDestination", "parameters": [ { @@ -1446,7 +1446,7 @@ "tags": [ "notifications" ], - "description": "Deletes the destination that you specify. The `deleteDestination` operation is grantless. For more information, refer to [Grantless operations](https://developer-docs.amazon.com/sp-api/docs/grantless-operations) in the Selling Partner API Developer Guide.\n\n**Usage Plan:**\n\n| Rate (requests per second) | Burst |\n| ---- | ---- |\n| 1 | 5 |\n\nThe `x-amzn-RateLimit-Limit` response header returns the usage plan rate limits that were applied to the requested operation, when available. The table above indicates the default rate and burst values for this operation. Selling partners whose business demands require higher throughput may observe higher rate and burst values than those shown here. For more information, refer to [Usage Plans and Rate Limits in the Selling Partner API](https://developer-docs.amazon.com/sp-api/docs/usage-plans-and-rate-limits-in-the-sp-api).", + "description": "Deletes the destination that you specify. The `deleteDestination` operation is grantless. For more information, refer to [Grantless operations](https://developer-docs.amazon.com/sp-api/docs/grantless-operations).\n\n**Usage Plan:**\n\n| Rate (requests per second) | Burst |\n| ---- | ---- |\n| 1 | 5 |\n\nThe `x-amzn-RateLimit-Limit` response header returns the usage plan rate limits that were applied to the requested operation, when available. The table above indicates the default rate and burst values for this operation. Selling partners whose business demands require higher throughput may observe higher rate and burst values than those shown here. For more information, refer to [Usage Plans and Rate Limits in the Selling Partner API](https://developer-docs.amazon.com/sp-api/docs/usage-plans-and-rate-limits-in-the-sp-api).", "operationId": "deleteDestination", "parameters": [ { @@ -1664,7 +1664,7 @@ "ANY_OFFER_CHANGED", "ORDER_CHANGE" ], - "description": "An `eventFilterType` value that is supported by the specific `notificationType`. This is used by the subscription service to determine the type of event filter. Refer to the section of the [Notifications Use Case Guide](https://developer-docs.amazon.com/sp-api/docs/notifications-api-v1-use-case-guide) that describes the specific `notificationType` to determine if an `eventFilterType` is supported." + "description": "An `eventFilterType` value that is supported by the specific `notificationType`. This is used by the subscription service to determine the type of event filter. Refer to [Notification Type Values](https://developer-docs.amazon.com/sp-api/docs/notification-type-values) to determine if an `eventFilterType` is supported." } }, "required": [ @@ -2079,7 +2079,7 @@ "NotificationType": { "name": "notificationType", "in": "path", - "description": "The type of notification.\n\n For more information about notification types, refer to [the Notifications API Use Case Guide](https://developer-docs.amazon.com/sp-api/docs/notifications-api-v1-use-case-guide).", + "description": "The type of notification.\n\n For more information about notification types, refer to [Notification Type Values](https://developer-docs.amazon.com/sp-api/docs/notification-type-values).", "required": true, "type": "string" } From 6458ecc2d63c27a0c7d3d802b46ab482671a44f8 Mon Sep 17 00:00:00 2001 From: Jack Evoniuk Date: Wed, 31 Jan 2024 09:52:07 -0800 Subject: [PATCH 035/340] Update Listings Items 2021 model --- .../listingsItems_2021-08-01.json | 307 +++++++++++++++++- 1 file changed, 302 insertions(+), 5 deletions(-) diff --git a/models/listings-items-api-model/listingsItems_2021-08-01.json b/models/listings-items-api-model/listingsItems_2021-08-01.json index d1c386079..917f6dc08 100644 --- a/models/listings-items-api-model/listingsItems_2021-08-01.json +++ b/models/listings-items-api-model/listingsItems_2021-08-01.json @@ -318,7 +318,7 @@ }, "collectionFormat": "csv", "x-example": "summaries", - "default": "summaries" + "default": ["summaries"] } ], "responses": { @@ -708,7 +708,7 @@ "tags": [ "listings" ], - "description": "Partially update (patch) a listings item for a selling partner. Only top-level listings item attributes can be patched. Patching nested attributes is not supported.\n\n**Note:** The parameters associated with this operation may contain special characters that must be encoded to successfully call the API. To avoid errors with SKUs when encoding URLs, refer to [URL Encoding](https://developer-docs.amazon.com/sp-api/docs/url-encoding).\n\n**Usage Plan:**\n\n| Rate (requests per second) | Burst |\n| ---- | ---- |\n| 5 | 10 |\n\nThe `x-amzn-RateLimit-Limit` response header returns the usage plan rate limits that were applied to the requested operation, when available. The table above indicates the default rate and burst values for this operation. Selling partners whose business demands require higher throughput may see higher rate and burst values than those shown here. For more information, see [Usage Plans and Rate Limits in the Selling Partner API](https://developer-docs.amazon.com/sp-api/docs/usage-plans-and-rate-limits-in-the-sp-api).", + "description": "Partially update (patch) a listings item for a selling partner. Only top-level listings item attributes can be patched. Patching nested attributes is not supported.\n\n**Note:** This operation has a throttling rate of one request per second when `mode` is `VALIDATION_PREVIEW`.\n\n**Note:** The parameters associated with this operation may contain special characters that must be encoded to successfully call the API. To avoid errors with SKUs when encoding URLs, refer to [URL Encoding](https://developer-docs.amazon.com/sp-api/docs/url-encoding).\n\n**Usage Plan:**\n\n| Rate (requests per second) | Burst |\n| ---- | ---- |\n| 5 | 10 |\n\nThe `x-amzn-RateLimit-Limit` response header returns the usage plan rate limits that were applied to the requested operation, when available. The table above indicates the default rate and burst values for this operation. Selling partners whose business demands require higher throughput may see higher rate and burst values than those shown here. For more information, see [Usage Plans and Rate Limits in the Selling Partner API](https://developer-docs.amazon.com/sp-api/docs/usage-plans-and-rate-limits-in-the-sp-api).", "operationId": "patchListingsItem", "consumes": [ "application/json" @@ -743,6 +743,50 @@ "collectionFormat": "csv", "x-example": "ATVPDKIKX0DER" }, + { + "name": "includedData", + "description": "A comma-delimited list of data sets to include in the response. Default: `issues`.", + "in": "query", + "required": false, + "type": "array", + "items": { + "enum": [ + "identifiers", + "issues" + ], + "x-docgen-enum-table-extension": [ + { + "value": "identifiers", + "description": "Identifiers associated with the item in the Amazon catalog, such as Amazon Standard Identification Number (ASIN). Can only be requested when `mode` is `VALIDATION_PREVIEW`." + }, + { + "value": "issues", + "description": "The issues associated with the listing item." + } + ], + "type": "string" + }, + "collectionFormat": "csv", + "x-example": "issues", + "default": ["issues"] + }, + { + "name": "mode", + "description": "The mode of operation for the request.", + "in": "query", + "enum": [ + "VALIDATION_PREVIEW" + ], + "x-docgen-enum-table-extension": [ + { + "value": "VALIDATION_PREVIEW", + "description": "Indicates the submitted data should be validated without persisting to the selling partner's catalog." + } + ], + "required": false, + "type": "string", + "x-example": "VALIDATION_PREVIEW" + }, { "name": "issueLocale", "description": "A locale for localization of issues. When not provided, the default language code of the first marketplace is used. Examples: `en_US`, `fr_CA`, `fr_FR`. Localized messages default to `en_US` when a localization is not available in the specified locale.", @@ -800,6 +844,91 @@ "submissionId": "f1dc2914-75dd-11ea-bc55-0242ac130003", "issues": [] } + }, + { + "request": { + "parameters": { + "sku": { + "value": "VALIDATION_VALID" + }, + "marketplaceIds": { + "value": [ + "ATVPDKIKX0DER" + ] + }, + "includedData": { + "value": [ + "identifiers", + "issues" + ] + }, + "mode": { + "value": "VALIDATION_PREVIEW" + } + } + }, + "response": { + "sku": "VALIDATION_VALID", + "status": "VALID", + "submissionId": "1edc94ea-a3d7-210b-42bc-0ec72c1384762", + "identifiers": [ + { + "marketplaceId": "ATVPDKIKX0DER", + "asin": "B07N4M94X4" + } + ], + "issues": [] + } + }, + { + "request": { + "parameters": { + "sku": { + "value": "VALIDATION_INVALID" + }, + "marketplaceIds": { + "value": [ + "ATVPDKIKX0DER" + ] + }, + "includedData": { + "value": [ + "identifiers", + "issues" + ] + }, + "mode": { + "value": "VALIDATION_PREVIEW" + } + } + }, + "response": { + "sku": "VALIDATION_INVALID", + "status": "INVALID", + "submissionId": "a1c562c2-1695-11ee-be56-0242ac120002", + "identifiers": [], + "issues": [ + { + "code":"90000900", + "message":"The attributes are invalid.", + "severity":"ERROR", + "attributeNames": [ + "fake_attribute" + ], + "categories": ["INVALID_ATTRIBUTE"], + "enforcements": { + "actions": [ + { + "action": "ATTRIBUTE_SUPPRESSED" + } + ], + "exemption": { + "status": "NOT_EXEMPT" + } + } + } + ] + } } ] } @@ -920,7 +1049,7 @@ "tags": [ "listings" ], - "description": "Creates or fully updates an existing listings item for a selling partner.\n\n**Note:** The parameters associated with this operation may contain special characters that must be encoded to successfully call the API. To avoid errors with SKUs when encoding URLs, refer to [URL Encoding](https://developer-docs.amazon.com/sp-api/docs/url-encoding).\n\n**Usage Plan:**\n\n| Rate (requests per second) | Burst |\n| ---- | ---- |\n| 5 | 10 |\n\nThe `x-amzn-RateLimit-Limit` response header returns the usage plan rate limits that were applied to the requested operation, when available. The table above indicates the default rate and burst values for this operation. Selling partners whose business demands require higher throughput may see higher rate and burst values than those shown here. For more information, see [Usage Plans and Rate Limits in the Selling Partner API](https://developer-docs.amazon.com/sp-api/docs/usage-plans-and-rate-limits-in-the-sp-api).", + "description": "Creates or fully updates an existing listings item for a selling partner.\n\n**Note:** This operation has a throttling rate of one request per second when `mode` is `VALIDATION_PREVIEW`.\n\n**Note:** The parameters associated with this operation may contain special characters that must be encoded to successfully call the API. To avoid errors with SKUs when encoding URLs, refer to [URL Encoding](https://developer-docs.amazon.com/sp-api/docs/url-encoding).\n\n**Usage Plan:**\n\n| Rate (requests per second) | Burst |\n| ---- | ---- |\n| 5 | 10 |\n\nThe `x-amzn-RateLimit-Limit` response header returns the usage plan rate limits that were applied to the requested operation, when available. The table above indicates the default rate and burst values for this operation. Selling partners whose business demands require higher throughput may see higher rate and burst values than those shown here. For more information, see [Usage Plans and Rate Limits in the Selling Partner API](https://developer-docs.amazon.com/sp-api/docs/usage-plans-and-rate-limits-in-the-sp-api).", "operationId": "putListingsItem", "consumes": [ "application/json" @@ -955,6 +1084,50 @@ "collectionFormat": "csv", "x-example": "ATVPDKIKX0DER" }, + { + "name": "includedData", + "description": "A comma-delimited list of data sets to include in the response. Default: `issues`.", + "in": "query", + "required": false, + "type": "array", + "items": { + "enum": [ + "identifiers", + "issues" + ], + "x-docgen-enum-table-extension": [ + { + "value": "identifiers", + "description": "Identifiers associated with the item in the Amazon catalog, such as Amazon Standard Identification Number (ASIN). Can only be requested when `mode` is `VALIDATION_PREVIEW`." + }, + { + "value": "issues", + "description": "The issues associated with the listing item." + } + ], + "type": "string" + }, + "collectionFormat": "csv", + "x-example": "issues", + "default": ["issues"] + }, + { + "name": "mode", + "description": "The mode of operation for the request.", + "in": "query", + "enum": [ + "VALIDATION_PREVIEW" + ], + "x-docgen-enum-table-extension": [ + { + "value": "VALIDATION_PREVIEW", + "description": "Indicates the submitted data should be validated without persisting to the selling partner's catalog." + } + ], + "required": false, + "type": "string", + "x-example": "VALIDATION_PREVIEW" + }, { "name": "issueLocale", "description": "A locale for localization of issues. When not provided, the default language code of the first marketplace is used. Examples: `en_US`, `fr_CA`, `fr_FR`. Localized messages default to `en_US` when a localization is not available in the specified locale.", @@ -1012,6 +1185,100 @@ "submissionId": "f1dc2914-75dd-11ea-bc55-0242ac130003", "issues": [] } + }, + { + "request": { + "parameters": { + "sku": { + "value": "VALIDATION_VALID" + }, + "marketplaceIds": { + "value": [ + "ATVPDKIKX0DER" + ] + }, + "includedData": { + "value": [ + "identifiers", + "issues" + ] + }, + "mode": { + "value": "VALIDATION_PREVIEW" + } + } + }, + "response": { + "sku": "VALIDATION_VALID", + "status": "VALID", + "submissionId": "1edc94ea-a3d7-210b-42bc-0ec72c1384762", + "identifiers": [ + { + "marketplaceId": "ATVPDKIKX0DER", + "asin": "B07N4M94X4" + } + ], + "issues": [] + } + }, + { + "request": { + "parameters": { + "sku": { + "value": "VALIDATION_INVALID" + }, + "marketplaceIds": { + "value": [ + "ATVPDKIKX0DER" + ] + }, + "includedData": { + "value": [ + "identifiers", + "issues" + ] + }, + "mode": { + "value": "VALIDATION_PREVIEW" + } + } + }, + "response": { + "sku": "VALIDATION_INVALID", + "status": "INVALID", + "submissionId": "a1c562c2-1695-11ee-be56-0242ac120002", + "identifiers": [], + "issues": [ + { + "code":"90220", + "message":"'condition_type' is required but not supplied.", + "severity":"ERROR", + "attributeNames": [ + "condition_type" + ], + "categories": ["MISSING_ATTRIBUTE"], + "enforcements": { + "actions": [ + { + "action": "LISTING_SUPPRESSED" + } + ], + "exemption": { + "status": "NOT_EXEMPT" + } + } + }, + { + "code":"90000900", + "message":"The attributes are invalid.", + "severity":"ERROR", + "attributeNames": [ + "fake_attribute" + ], + "categories": [] + } + ] + } } ] } @@ -1759,7 +2026,8 @@ "description": "The status of the listings item submission.", "enum": [ "ACCEPTED", - "INVALID" + "INVALID", + "VALID" ], "x-docgen-enum-table-extension": [ { @@ -1769,6 +2037,10 @@ { "value": "INVALID", "description": "The listings submission was not valid and was not accepted for processing." + }, + { + "value": "VALID", + "description": "The listings submission was valid. Only returned when the `mode` is `VALIDATION_PREVIEW`." } ], "type": "string" @@ -1783,6 +2055,10 @@ "items": { "$ref": "#/definitions/Issue" } + }, + "identifiers": { + "description": "Identity attributes associated with the item in the Amazon catalog, such as the ASIN.", + "$ref": "#/definitions/ItemIdentifiers" } }, "required": [ @@ -1791,6 +2067,27 @@ "submissionId" ], "type": "object" + }, + "ItemIdentifiers": { + "description": "Identity attributes associated with the item in the Amazon catalog, such as the ASIN.", + "items": { + "$ref": "#/definitions/ItemIdentifiersByMarketplace" + }, + "type": "array" + }, + "ItemIdentifiersByMarketplace": { + "description": "Identity attributes associated with the item in the Amazon catalog for the indicated Amazon marketplace.", + "properties": { + "marketplaceId": { + "description": "A marketplace identifier. Identifies the Amazon marketplace for the listings item.", + "type": "string" + }, + "asin": { + "description": "Amazon Standard Identification Number (ASIN) of the listings item.", + "type": "string" + } + }, + "type": "object" } } -} +} \ No newline at end of file From dcd043456c275a045c2fd85ad435a01d67191cbd Mon Sep 17 00:00:00 2001 From: Jack Evoniuk Date: Wed, 31 Jan 2024 10:11:19 -0800 Subject: [PATCH 036/340] Update Data Kiosk model --- .../dataKiosk_2023-11-15.json | 443 +++++++++--------- 1 file changed, 224 insertions(+), 219 deletions(-) diff --git a/models/data-kiosk-api-model/dataKiosk_2023-11-15.json b/models/data-kiosk-api-model/dataKiosk_2023-11-15.json index 50d34740b..2b02ee93c 100644 --- a/models/data-kiosk-api-model/dataKiosk_2023-11-15.json +++ b/models/data-kiosk-api-model/dataKiosk_2023-11-15.json @@ -127,29 +127,62 @@ { "request": { "parameters": { + "pageSize": { + "value": 1 + }, "processingStatuses": { - "value": [ - "IN_QUEUE", - "IN_PROGRESS" - ] + "value": [ + "DONE", + "IN_PROGRESS" + ] + } } + }, + "response": { + "pagination": { + "nextToken": "NextToken1" + }, + "queries": [ + { + "queryId": "QueryId1", + "query": "query {sampleQuery(startDate:\"2023-03-01\" endDate:\"2023-03-31\" marketplaceIds:[\"ATVPDKIKX0DER\"]){sales{date averageSellingPrice{amount currencyCode}}}}", + "createdTime": "2023-12-11T13:47:20.677Z", + "processingStatus": "DONE", + "processingStartTime": "2023-12-11T13:47:20.677Z", + "processingEndTime": "2023-12-11T14:47:20.677Z", + "dataDocumentId": "DocumentId1" + } + ] } }, - "response": { - "pagination": { - "nextToken": "VGhpcyB0b2tlbiBpcyBvcGFxdWUgYW5kIGludGVudGlvbmFsbHkgb2JmdXNjYXRlZA==" - }, - "queries": [ - { - "queryId": "QueryId1", - "query": "query {sampleQuery(startDate:\"2022-03-12\" endDate:\"2022-03-20\" marketplaceIds:[\"ATVPDKIKX0DER\"]){sales{date averageSellingPrice{amount currencyCode}}}}", - "createdTime": "2019-12-10T13:47:20.677Z", - "processingStatus": "IN_PROGRESS", - "processingStartTime": "2019-12-10T13:47:20.677Z", - "processingEndTime": "2019-12-12T13:47:20.677Z" + { + "request": { + "parameters": { + "pageSize": { + "value": 1 + }, + "processingStatuses": { + "value": [ + "DONE", + "IN_PROGRESS" + ] + }, + "paginationToken": { + "value": "NextToken1" + } } - ] - } + }, + "response": { + "queries": [ + { + "queryId": "QueryId2", + "query": "query {sampleQuery(startDate:\"2023-04-01\" endDate:\"2023-04-30\" marketplaceIds:[\"ATVPDKIKX0DER\"]){sales{date averageSellingPrice{amount currencyCode}}}}", + "createdTime": "2023-12-12T13:47:20.677Z", + "processingStatus": "IN_PROGRESS", + "processingStartTime": "2023-12-12T13:47:20.677Z" + } + ] + } } ] } @@ -176,12 +209,11 @@ "parameters": { "processingStatuses": { "value": [ - "INVALID_STATUS", - "IN_PROGRESS" + "INVALID_STATUS" ] + } } - } - }, + }, "response": { "errors": [ { @@ -195,22 +227,6 @@ ] } }, - "401": { - "description": "The request's Authorization header is not formatted correctly or does not contain a valid token.", - "schema": { - "$ref": "#/definitions/ErrorList" - }, - "headers": { - "x-amzn-RateLimit-Limit": { - "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned.", - "type": "string" - }, - "x-amzn-RequestId": { - "type": "string", - "description": "Unique request reference identifier." - } - } - }, "403": { "description": "Indicates that access to the resource is forbidden. Possible reasons include Access Denied, Unauthorized, Expired Token, or Invalid Signature.", "schema": { @@ -224,7 +240,7 @@ } }, "404": { - "description": "The specified resource does not exist.", + "description": "The resource specified does not exist.", "schema": { "$ref": "#/definitions/ErrorList" }, @@ -239,16 +255,24 @@ } } }, + "413": { + "description": "The request size exceeded the maximum accepted size.", + "schema": { + "$ref": "#/definitions/ErrorList" + }, + "headers": { + "x-amzn-RequestId": { + "description": "Unique request reference identifier.", + "type": "string" + } + } + }, "415": { - "description": "The request's Content-Type header is invalid.", + "description": "The request payload is in an unsupported format.", "schema": { "$ref": "#/definitions/ErrorList" }, "headers": { - "x-amzn-RateLimit-Limit": { - "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned.", - "type": "string" - }, "x-amzn-RequestId": { "type": "string", "description": "Unique request reference identifier." @@ -261,10 +285,6 @@ "$ref": "#/definitions/ErrorList" }, "headers": { - "x-amzn-RateLimit-Limit": { - "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned.", - "type": "string" - }, "x-amzn-RequestId": { "type": "string", "description": "Unique request reference identifier." @@ -277,10 +297,6 @@ "$ref": "#/definitions/ErrorList" }, "headers": { - "x-amzn-RateLimit-Limit": { - "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned.", - "type": "string" - }, "x-amzn-RequestId": { "type": "string", "description": "Unique request reference identifier." @@ -293,10 +309,6 @@ "$ref": "#/definitions/ErrorList" }, "headers": { - "x-amzn-RateLimit-Limit": { - "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned.", - "type": "string" - }, "x-amzn-RequestId": { "type": "string", "description": "Unique request reference identifier." @@ -315,6 +327,7 @@ { "name": "body", "in": "body", + "description": "The body of the request.", "required": true, "schema": { "$ref": "#/definitions/CreateQuerySpecification" @@ -344,7 +357,7 @@ "parameters": { "body": { "value": { - "query": "query {sampleQuery(startDate:\"2022-03-12\" endDate:\"2022-03-20\" marketplaceIds:[\"ATVPDKIKX0DER\"]){sales{date averageSellingPrice{amount currencyCode}}}}" + "query": "query {sampleQuery(startDate:\"2023-03-01\" endDate:\"2023-03-31\" marketplaceIds:[\"ATVPDKIKX0DER\"]){sales{date averageSellingPrice{amount currencyCode}}}}" } } } @@ -378,17 +391,17 @@ "parameters": { "body": { "value": { - "query": "query {invalidSampleQuery(startDate:\"2022-03-12\" endDate:\"2022-03-20\" marketplaceIds:[\"ATVPDKIKX0DER\"]){sales{date averageSellingPrice{amount currencyCode}}}}" + "query": "query {invalidSampleQuery(startDate:\"2023-03-01\" endDate:\"2023-03-31\" marketplaceIds:[\"ATVPDKIKX0DER\"]){sales{date averageSellingPrice{amount currencyCode}}}}" + } } } - } - }, + }, "response": { "errors": [ { - "code": "400", - "message": "Invalid input", - "details": "Invalid input" + "code": "InvalidInput", + "message": "The provided query is invalid.", + "details": "Query 'invalidSampleQuery' is not supported." } ] } @@ -396,60 +409,52 @@ ] } }, - "401": { - "description": "The request's Authorization header is not formatted correctly or does not contain a valid token.", + "403": { + "description": "Indicates that access to the resource is forbidden. Possible reasons include Access Denied, Unauthorized, Expired Token, or Invalid Signature.", "schema": { "$ref": "#/definitions/ErrorList" }, "headers": { - "x-amzn-RateLimit-Limit": { - "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned.", - "type": "string" - }, "x-amzn-RequestId": { "type": "string", "description": "Unique request reference identifier." } } }, - "403": { - "description": "Indicates that access to the resource is forbidden. Possible reasons include Access Denied, Unauthorized, Expired Token, or Invalid Signature.", + "404": { + "description": "The resource specified does not exist.", "schema": { "$ref": "#/definitions/ErrorList" }, "headers": { + "x-amzn-RateLimit-Limit": { + "description": "Your rate limit (requests per second) for this operation.", + "type": "string" + }, "x-amzn-RequestId": { "type": "string", "description": "Unique request reference identifier." } } }, - "404": { - "description": "The specified resource does not exist.", + "413": { + "description": "The request size exceeded the maximum accepted size.", "schema": { "$ref": "#/definitions/ErrorList" }, "headers": { - "x-amzn-RateLimit-Limit": { - "description": "Your rate limit (requests per second) for this operation.", - "type": "string" - }, "x-amzn-RequestId": { - "type": "string", - "description": "Unique request reference identifier." + "description": "Unique request reference identifier.", + "type": "string" } } }, "415": { - "description": "The request's Content-Type header is invalid.", + "description": "The request payload is in an unsupported format.", "schema": { "$ref": "#/definitions/ErrorList" }, "headers": { - "x-amzn-RateLimit-Limit": { - "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned.", - "type": "string" - }, "x-amzn-RequestId": { "type": "string", "description": "Unique request reference identifier." @@ -462,10 +467,6 @@ "$ref": "#/definitions/ErrorList" }, "headers": { - "x-amzn-RateLimit-Limit": { - "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned.", - "type": "string" - }, "x-amzn-RequestId": { "type": "string", "description": "Unique request reference identifier." @@ -478,10 +479,6 @@ "$ref": "#/definitions/ErrorList" }, "headers": { - "x-amzn-RateLimit-Limit": { - "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned.", - "type": "string" - }, "x-amzn-RequestId": { "type": "string", "description": "Unique request reference identifier." @@ -494,10 +491,6 @@ "$ref": "#/definitions/ErrorList" }, "headers": { - "x-amzn-RateLimit-Limit": { - "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned.", - "type": "string" - }, "x-amzn-RequestId": { "type": "string", "description": "Unique request reference identifier." @@ -525,7 +518,7 @@ } ], "responses": { - "200": { + "204": { "description": "Success.", "headers": { "x-amzn-RateLimit-Limit": { @@ -546,7 +539,8 @@ "value": "QueryId1" } } - } + }, + "response": {} } ] } @@ -570,12 +564,16 @@ "static": [ { "request": { - "parameters": {} + "parameters": { + "queryId": { + "value": "InvalidQueryId1" + } + } }, "response": { "errors": [ { - "code": "400", + "code": "InvalidInput", "message": "Invalid input", "details": "Invalid input" } @@ -585,60 +583,73 @@ ] } }, - "401": { - "description": "The request's Authorization header is not formatted correctly or does not contain a valid token.", + "403": { + "description": "Indicates that access to the resource is forbidden. Possible reasons include Access Denied, Unauthorized, Expired Token, or Invalid Signature.", "schema": { "$ref": "#/definitions/ErrorList" }, "headers": { - "x-amzn-RateLimit-Limit": { - "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned.", - "type": "string" - }, "x-amzn-RequestId": { "type": "string", "description": "Unique request reference identifier." } } }, - "403": { - "description": "Indicates that access to the resource is forbidden. Possible reasons include Access Denied, Unauthorized, Expired Token, or Invalid Signature.", + "404": { + "description": "The resource specified does not exist.", "schema": { "$ref": "#/definitions/ErrorList" }, "headers": { + "x-amzn-RateLimit-Limit": { + "description": "Your rate limit (requests per second) for this operation.", + "type": "string" + }, "x-amzn-RequestId": { "type": "string", "description": "Unique request reference identifier." } + }, + "x-amzn-api-sandbox": { + "static": [ + { + "request": { + "parameters": { + "queryId": { + "value": "NotFoundQueryId1" + } + } + }, + "response": { + "errors": [ + { + "code": "NotFound", + "message": "The provided queryId was not found." + } + ] + } + } + ] } }, - "404": { - "description": "The specified resource does not exist.", + "413": { + "description": "The request size exceeded the maximum accepted size.", "schema": { "$ref": "#/definitions/ErrorList" }, "headers": { - "x-amzn-RateLimit-Limit": { - "description": "Your rate limit (requests per second) for this operation.", - "type": "string" - }, "x-amzn-RequestId": { - "type": "string", - "description": "Unique request reference identifier." + "description": "Unique request reference identifier.", + "type": "string" } } }, "415": { - "description": "The request's Content-Type header is invalid.", + "description": "The request payload is in an unsupported format.", "schema": { "$ref": "#/definitions/ErrorList" }, "headers": { - "x-amzn-RateLimit-Limit": { - "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned.", - "type": "string" - }, "x-amzn-RequestId": { "type": "string", "description": "Unique request reference identifier." @@ -651,10 +662,6 @@ "$ref": "#/definitions/ErrorList" }, "headers": { - "x-amzn-RateLimit-Limit": { - "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned.", - "type": "string" - }, "x-amzn-RequestId": { "type": "string", "description": "Unique request reference identifier." @@ -667,10 +674,6 @@ "$ref": "#/definitions/ErrorList" }, "headers": { - "x-amzn-RateLimit-Limit": { - "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned.", - "type": "string" - }, "x-amzn-RequestId": { "type": "string", "description": "Unique request reference identifier." @@ -683,10 +686,6 @@ "$ref": "#/definitions/ErrorList" }, "headers": { - "x-amzn-RateLimit-Limit": { - "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned.", - "type": "string" - }, "x-amzn-RequestId": { "type": "string", "description": "Unique request reference identifier." @@ -738,11 +737,12 @@ }, "response": { "queryId": "QueryId1", - "query": "query {sampleQuery(startDate:\"2022-03-12\" endDate:\"2022-03-20\" marketplaceIds:[\"ATVPDKIKX0DER\"]){sales{date averageSellingPrice{amount currencyCode}}}}", - "createdTime": "2019-12-10T13:47:20.677Z", - "processingStatus": "IN_PROGRESS", - "processingStartTime": "2019-12-10T13:47:20.677Z", - "processingEndTime": "2019-12-12T13:47:20.677Z" + "query": "query {sampleQuery(startDate:\"2023-03-01\" endDate:\"2023-03-31\" marketplaceIds:[\"ATVPDKIKX0DER\"]){sales{date averageSellingPrice{amount currencyCode}}}}", + "createdTime": "2023-12-11T13:47:20.677Z", + "processingStatus": "DONE", + "processingStartTime": "2023-12-11T13:47:20.677Z", + "processingEndTime": "2023-12-11T14:47:20.677Z", + "dataDocumentId": "DocumentId1" } } ] @@ -776,8 +776,9 @@ "response": { "errors": [ { - "code": "NotFound", - "message": "The provided queryId was not found." + "code": "InvalidInput", + "message": "Invalid input", + "details": "Invalid input" } ] } @@ -785,60 +786,73 @@ ] } }, - "401": { - "description": "The request's Authorization header is not formatted correctly or does not contain a valid token.", + "403": { + "description": "Indicates that access to the resource is forbidden. Possible reasons include Access Denied, Unauthorized, Expired Token, or Invalid Signature.", "schema": { "$ref": "#/definitions/ErrorList" }, "headers": { - "x-amzn-RateLimit-Limit": { - "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned.", - "type": "string" - }, "x-amzn-RequestId": { "type": "string", "description": "Unique request reference identifier." } } }, - "403": { - "description": "Indicates that access to the resource is forbidden. Possible reasons include Access Denied, Unauthorized, Expired Token, or Invalid Signature.", + "404": { + "description": "The resource specified does not exist.", "schema": { "$ref": "#/definitions/ErrorList" }, "headers": { + "x-amzn-RateLimit-Limit": { + "description": "Your rate limit (requests per second) for this operation.", + "type": "string" + }, "x-amzn-RequestId": { "type": "string", "description": "Unique request reference identifier." } + }, + "x-amzn-api-sandbox": { + "static": [ + { + "request": { + "parameters": { + "queryId": { + "value": "NotFoundQueryId1" + } + } + }, + "response": { + "errors": [ + { + "code": "NotFound", + "message": "The provided queryId was not found." + } + ] + } + } + ] } }, - "404": { - "description": "The specified resource does not exist.", + "413": { + "description": "The request size exceeded the maximum accepted size.", "schema": { "$ref": "#/definitions/ErrorList" }, "headers": { - "x-amzn-RateLimit-Limit": { - "description": "Your rate limit (requests per second) for this operation.", - "type": "string" - }, "x-amzn-RequestId": { - "type": "string", - "description": "Unique request reference identifier." + "description": "Unique request reference identifier.", + "type": "string" } } }, "415": { - "description": "The request's Content-Type header is invalid.", + "description": "The request payload is in an unsupported format.", "schema": { "$ref": "#/definitions/ErrorList" }, "headers": { - "x-amzn-RateLimit-Limit": { - "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned.", - "type": "string" - }, "x-amzn-RequestId": { "type": "string", "description": "Unique request reference identifier." @@ -851,10 +865,6 @@ "$ref": "#/definitions/ErrorList" }, "headers": { - "x-amzn-RateLimit-Limit": { - "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned.", - "type": "string" - }, "x-amzn-RequestId": { "type": "string", "description": "Unique request reference identifier." @@ -867,10 +877,6 @@ "$ref": "#/definitions/ErrorList" }, "headers": { - "x-amzn-RateLimit-Limit": { - "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned.", - "type": "string" - }, "x-amzn-RequestId": { "type": "string", "description": "Unique request reference identifier." @@ -883,10 +889,6 @@ "$ref": "#/definitions/ErrorList" }, "headers": { - "x-amzn-RateLimit-Limit": { - "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned.", - "type": "string" - }, "x-amzn-RequestId": { "type": "string", "description": "Unique request reference identifier." @@ -926,7 +928,7 @@ }, "x-amzn-RequestId": { "type": "string", - "description": "Unique request reference ID." + "description": "Unique request reference identifier." } }, "x-amzn-api-sandbox": { @@ -935,12 +937,12 @@ "request": { "parameters": { "documentId": { - "value": "0356cf79-b8b0-4226-b4b9-0ee058ea5760" + "value": "DocumentId1" } } }, "response": { - "documentId": "0356cf79-b8b0-4226-b4b9-0ee058ea5760", + "documentId": "DocumentId1", "documentUrl": "https://d34o8swod1owfl.cloudfront.net/QUERY_DATA_OUTPUT_DOC.txt" } } @@ -959,7 +961,7 @@ }, "x-amzn-RequestId": { "type": "string", - "description": "Unique request reference ID." + "description": "Unique request reference identifier." } }, "x-amzn-api-sandbox": { @@ -975,8 +977,9 @@ "response": { "errors": [ { - "code": "NotFound", - "message": "The provided documentId was not found." + "code": "InvalidInput", + "message": "Invalid input", + "details": "Invalid input" } ] } @@ -984,60 +987,73 @@ ] } }, - "401": { - "description": "The request's Authorization header is not formatted correctly or does not contain a valid token.", + "403": { + "description": "Indicates that access to the resource is forbidden. Possible reasons include Access Denied, Unauthorized, Expired Token, or Invalid Signature.", "schema": { "$ref": "#/definitions/ErrorList" }, "headers": { - "x-amzn-RateLimit-Limit": { - "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned.", - "type": "string" - }, "x-amzn-RequestId": { "type": "string", - "description": "Unique request reference ID." + "description": "Unique request reference identifier." } } }, - "403": { - "description": "Indicates access to the resource is forbidden. Possible reasons include Access Denied, Unauthorized, Expired Token, or Invalid Signature.", + "404": { + "description": "The resource specified does not exist.", "schema": { "$ref": "#/definitions/ErrorList" }, "headers": { + "x-amzn-RateLimit-Limit": { + "description": "Your rate limit (requests per second) for this operation.", + "type": "string" + }, "x-amzn-RequestId": { "type": "string", - "description": "Unique request reference ID." + "description": "Unique request reference identifier." } + }, + "x-amzn-api-sandbox": { + "static": [ + { + "request": { + "parameters": { + "documentId": { + "value": "NotFoundDocumentId1" + } + } + }, + "response": { + "errors": [ + { + "code": "NotFound", + "message": "The provided documentId was not found." + } + ] + } + } + ] } }, - "404": { - "description": "The specified resource does not exist.", + "413": { + "description": "The request size exceeded the maximum accepted size.", "schema": { "$ref": "#/definitions/ErrorList" }, "headers": { - "x-amzn-RateLimit-Limit": { - "description": "Your rate limit (requests per second) for this operation.", - "type": "string" - }, "x-amzn-RequestId": { - "type": "string", - "description": "Unique request reference ID." + "description": "Unique request reference identifier.", + "type": "string" } } }, "415": { - "description": "The request's Content-Type header is invalid.", + "description": "The request payload is in an unsupported format.", "schema": { "$ref": "#/definitions/ErrorList" }, "headers": { - "x-amzn-RateLimit-Limit": { - "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned.", - "type": "string" - }, "x-amzn-RequestId": { "type": "string", "description": "Unique request reference identifier." @@ -1050,13 +1066,9 @@ "$ref": "#/definitions/ErrorList" }, "headers": { - "x-amzn-RateLimit-Limit": { - "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned.", - "type": "string" - }, "x-amzn-RequestId": { "type": "string", - "description": "Unique request reference ID." + "description": "Unique request reference identifier." } } }, @@ -1066,13 +1078,9 @@ "$ref": "#/definitions/ErrorList" }, "headers": { - "x-amzn-RateLimit-Limit": { - "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned.", - "type": "string" - }, "x-amzn-RequestId": { "type": "string", - "description": "Unique request reference ID." + "description": "Unique request reference identifier." } } }, @@ -1082,13 +1090,9 @@ "$ref": "#/definitions/ErrorList" }, "headers": { - "x-amzn-RateLimit-Limit": { - "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned.", - "type": "string" - }, "x-amzn-RequestId": { "type": "string", - "description": "Unique request reference ID." + "description": "Unique request reference identifier." } } } @@ -1105,6 +1109,7 @@ ], "properties": { "errors": { + "description": "Error response returned when the request is unsuccessful.", "type": "array", "items": { "$ref": "#/definitions/Error" @@ -1126,7 +1131,7 @@ }, "message": { "type": "string", - "description": "A message that describes the error condition in a human-readable form." + "description": "A message that describes the error condition." }, "details": { "type": "string", @@ -1300,4 +1305,4 @@ } }, "basePath": "/" -} +} \ No newline at end of file From 45493f0551e33b57450df0407f37473e0d3e0d0d Mon Sep 17 00:00:00 2001 From: Alex Rupprecht Date: Wed, 31 Jan 2024 13:55:28 -0500 Subject: [PATCH 037/340] Update ShipsInPackage for release --- .../fulfillment-inbound-api-model/fulfillmentInboundV0.json | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/models/fulfillment-inbound-api-model/fulfillmentInboundV0.json b/models/fulfillment-inbound-api-model/fulfillmentInboundV0.json index fd15b10ff..df45bb5f2 100644 --- a/models/fulfillment-inbound-api-model/fulfillmentInboundV0.json +++ b/models/fulfillment-inbound-api-model/fulfillmentInboundV0.json @@ -31,6 +31,7 @@ ], "description": "Returns information that lets a seller know if Amazon recommends sending an item to a given marketplace. In some cases, Amazon provides guidance for why a given SellerSKU or ASIN is not recommended for shipment to Amazon's fulfillment network. Sellers may still ship items that are not recommended, at their discretion.\n\n**Usage Plan:**\n\n| Rate (requests per second) | Burst |\n| ---- | ---- |\n| 2 | 30 |\n\nThe `x-amzn-RateLimit-Limit` response header returns the usage plan rate limits that were applied to the requested operation, when available. The table above indicates the default rate and burst values for this operation. Selling partners whose business demands require higher throughput may see higher rate and burst values than those shown here. For more information, see [Usage Plans and Rate Limits in the Selling Partner API](https://developer-docs.amazon.com/sp-api/docs/usage-plans-and-rate-limits-in-the-sp-api).", "operationId": "getInboundGuidance", + "deprecated": true, "parameters": [ { "name": "MarketplaceId", @@ -5862,6 +5863,7 @@ "CapSealing", "SetStickering", "BlankStickering", + "ShipsInProductPackaging", "NoPrep" ], "x-docgen-enum-table-extension": [ @@ -5921,6 +5923,10 @@ "value": "BlankStickering", "description": "Indicates applying a blank sticker to obscure a bad barcode that cannot be covered by another sticker." }, + { + "value": "ShipsInProductPackaging", + "description": "Indicates that item ships in its original product packaging." + }, { "value": "NoPrep", "description": "Indicates that the item does not require any prep." From e4747183920cbebde2920dd05bfe362ed73139b4 Mon Sep 17 00:00:00 2001 From: Gibran Waldron Date: Thu, 15 Feb 2024 11:35:11 -0800 Subject: [PATCH 038/340] Update Finances API Financial Events Group originaltotal description. --- models/finances-api-model/financesV0.json | 66 +++++++++++------------ 1 file changed, 33 insertions(+), 33 deletions(-) diff --git a/models/finances-api-model/financesV0.json b/models/finances-api-model/financesV0.json index 4b3a9757d..287152149 100644 --- a/models/finances-api-model/financesV0.json +++ b/models/finances-api-model/financesV0.json @@ -43,7 +43,7 @@ { "name": "FinancialEventGroupStartedBefore", "in": "query", - "description": "A date used for selecting financial event groups that opened before (but not at) a specified date and time, in ISO 8601 format. The date-time must be later than FinancialEventGroupStartedAfter and no later than two minutes before the request was submitted. If FinancialEventGroupStartedAfter and FinancialEventGroupStartedBefore are more than 180 days apart, no financial event groups are returned.", + "description": "A date used for selecting financial event groups that opened before (but not at) a specified date and time, in [ISO 8601](https://developer-docs.amazon.com/sp-api/docs/iso-8601) format. The date-time must be later than FinancialEventGroupStartedAfter and no later than two minutes before the request was submitted. If FinancialEventGroupStartedAfter and FinancialEventGroupStartedBefore are more than 180 days apart, no financial event groups are returned.", "required": false, "type": "string", "format": "date-time" @@ -51,7 +51,7 @@ { "name": "FinancialEventGroupStartedAfter", "in": "query", - "description": "A date used for selecting financial event groups that opened after (or at) a specified date and time, in ISO 8601 format. The date-time must be no later than two minutes before the request was submitted.", + "description": "A date used for selecting financial event groups that opened after (or at) a specified date and time, in [ISO 8601](https://developer-docs.amazon.com/sp-api/docs/iso-8601) format. The date-time must be no later than two minutes before the request was submitted.", "required": false, "type": "string", "format": "date-time" @@ -244,7 +244,7 @@ { "name": "PostedAfter", "in": "query", - "description": "A date used for selecting financial events posted after (or at) a specified time. The date-time **must** be more than two minutes before the time of the request, in ISO 8601 date time format.", + "description": "A date used for selecting financial events posted after (or at) a specified time. The date-time **must** be more than two minutes before the time of the request, in [ISO 8601](https://developer-docs.amazon.com/sp-api/docs/iso-8601) date time format.", "required": false, "type": "string", "format": "date-time" @@ -252,7 +252,7 @@ { "name": "PostedBefore", "in": "query", - "description": "A date used for selecting financial events posted before (but not at) a specified time. The date-time must be later than `PostedAfter` and no later than two minutes before the request was submitted, in ISO 8601 date time format. If `PostedAfter` and `PostedBefore` are more than 180 days apart, no financial events are returned. You must specify the `PostedAfter` parameter if you specify the `PostedBefore` parameter. Default: Now minus two minutes.", + "description": "A date used for selecting financial events posted before (but not at) a specified time. The date-time must be later than `PostedAfter` and no later than two minutes before the request was submitted, in [ISO 8601](https://developer-docs.amazon.com/sp-api/docs/iso-8601) date time format. If `PostedAfter` and `PostedBefore` are more than 180 days apart, no financial events are returned. You must specify the `PostedAfter` parameter if you specify the `PostedBefore` parameter. Default: Now minus two minutes.", "required": false, "type": "string", "format": "date-time" @@ -1050,7 +1050,7 @@ { "name": "PostedAfter", "in": "query", - "description": "A date used for selecting financial events posted after (or at) a specified time. The date-time must be no later than two minutes before the request was submitted, in ISO 8601 date time format.", + "description": "A date used for selecting financial events posted after (or at) a specified time. The date-time must be no later than two minutes before the request was submitted, in [ISO 8601](https://developer-docs.amazon.com/sp-api/docs/iso-8601) date time format.", "required": false, "type": "string", "format": "date-time" @@ -1058,7 +1058,7 @@ { "name": "PostedBefore", "in": "query", - "description": "A date used for selecting financial events posted before (but not at) a specified time. The date-time must be later than PostedAfter and no later than two minutes before the request was submitted, in ISO 8601 date time format. If PostedAfter and PostedBefore are more than 180 days apart, no financial events are returned. You must specify the PostedAfter parameter if you specify the PostedBefore parameter. Default: Now minus two minutes.", + "description": "A date used for selecting financial events posted before (but not at) a specified time. The date-time must be later than PostedAfter and no later than two minutes before the request was submitted, in [ISO 8601](https://developer-docs.amazon.com/sp-api/docs/iso-8601) date time format. If PostedAfter and PostedBefore are more than 180 days apart, no financial events are returned. You must specify the PostedAfter parameter if you specify the PostedBefore parameter. Default: Now minus two minutes.", "required": false, "type": "string", "format": "date-time" @@ -1569,12 +1569,12 @@ "description": "The charge refund transaction." }, "ChargeRefundTransactions": { - "type": "array", - "description": "A list of `ChargeRefund` transactions.", - "items": { - "$ref": "#/definitions/ChargeRefundTransaction" - } - }, + "type": "array", + "description": "A list of `ChargeRefund` transactions", + "items": { + "$ref": "#/definitions/ChargeRefundTransaction" + } + }, "CouponPaymentEvent": { "type": "object", "properties": { @@ -1680,11 +1680,11 @@ "$ref": "#/definitions/Currency" }, "GroupBeginDate": { - "description": "The beginning date and time of the financial event group that contains the debt. In ISO 8601 date time format.", + "description": "The beginning date and time of the financial event group that contains the debt. In [ISO 8601](https://developer-docs.amazon.com/sp-api/docs/iso-8601) date time format.", "$ref": "#/definitions/Date" }, "GroupEndDate": { - "description": "The ending date and time of the financial event group that contains the debt. In ISO 8601 date time format.", + "description": "The ending date and time of the financial event group that contains the debt. In [ISO 8601](https://developer-docs.amazon.com/sp-api/docs/iso-8601) date time format.", "$ref": "#/definitions/Date" } }, @@ -1720,12 +1720,12 @@ }, "FailedAdhocDisbursementEventList": { "type": "array", - "items": { - "$ref": "#/definitions/FailedAdhocDisbursementEvent" - }, - "description": "A list of `FailedAdhocDisbursementEvent`s." - }, - "FailedAdhocDisbursementEvent": { + "items": { + "$ref": "#/definitions/FailedAdhocDisbursementEvent" + }, + "description": "A list of `FailedAdhocDisbursementEvent`s." + }, + "FailedAdhocDisbursementEvent": { "type": "object", "properties": { "FundsTransfersType": { @@ -1825,7 +1825,7 @@ "description": "The status of the fund transfer." }, "OriginalTotal": { - "description": "The total amount in the currency of the marketplace in which the transactions occurred.", + "description": "The total amount in the currency of the marketplace in which the transactions occurred. For a closed financial group, this is the total amount of a disbursement or a charge amount. For an open financial event group, this is the current balance.", "$ref": "#/definitions/Currency" }, "ConvertedTotal": { @@ -1833,7 +1833,7 @@ "$ref": "#/definitions/Currency" }, "FundTransferDate": { - "description": "The date and time when the disbursement or charge was initiated. Only present for closed settlements. In ISO 8601 date time format.", + "description": "The date and time when the disbursement or charge was initiated. Only present for closed settlements. In [ISO 8601](https://developer-docs.amazon.com/sp-api/docs/iso-8601) date time format.", "$ref": "#/definitions/Date" }, "TraceId": { @@ -1849,11 +1849,11 @@ "$ref": "#/definitions/Currency" }, "FinancialEventGroupStart": { - "description": "The date and time at which the financial event group is opened. In ISO 8601 date time format.", + "description": "The date and time at which the financial event group is opened. In [ISO 8601](https://developer-docs.amazon.com/sp-api/docs/iso-8601) date time format.", "$ref": "#/definitions/Date" }, "FinancialEventGroupEnd": { - "description": "The date and time at which the financial event group is closed. In ISO 8601 date time format.", + "description": "The date and time at which the financial event group is closed. In [ISO 8601](https://developer-docs.amazon.com/sp-api/docs/iso-8601) date time format.", "$ref": "#/definitions/Date" } }, @@ -2133,7 +2133,7 @@ "description": "An order identifier that is specified by the seller." }, "TransactionPostedDate": { - "description": "The date and time when the payment transaction is posted. In ISO 8601 date time format.", + "description": "The date and time when the payment transaction is posted. In [ISO 8601](https://developer-docs.amazon.com/sp-api/docs/iso-8601) date time format.", "$ref": "#/definitions/Date" }, "BusinessObjectType": { @@ -2843,7 +2843,7 @@ "$ref": "#/definitions/Currency" }, "TransactionCreationDate": { - "description": "The date and time that the credit transaction was created, in ISO 8601 date time format.", + "description": "The date and time that the credit transaction was created, in [ISO 8601](https://developer-docs.amazon.com/sp-api/docs/iso-8601) date time format.", "$ref": "#/definitions/Date" } }, @@ -2984,12 +2984,12 @@ }, "ValueAddedServiceChargeEventList": { "type": "array", - "items": { - "$ref": "#/definitions/ValueAddedServiceChargeEvent" - }, - "description": "A list of `ValueAddedServiceCharge` events." - }, - "ValueAddedServiceChargeEvent": { + "items": { + "$ref": "#/definitions/ValueAddedServiceChargeEvent" + }, + "description": "A list of `ValueAddedServiceCharge` events." + }, + "ValueAddedServiceChargeEvent": { "type": "object", "properties": { "TransactionType": { @@ -3071,4 +3071,4 @@ "description": "Error response returned when the request is unsuccessful." } } -} +} \ No newline at end of file From 679931ba88538a70e166ecfadb5d7c50f5f2b1af Mon Sep 17 00:00:00 2001 From: Alex Rupprecht Date: Mon, 19 Feb 2024 10:38:07 -0500 Subject: [PATCH 039/340] Fixing github issue with wrong file information --- .../vendorDirectFulfillmentOrdersV1.json | 2619 ++++++++++++++++- 1 file changed, 2490 insertions(+), 129 deletions(-) diff --git a/models/vendor-direct-fulfillment-orders-api-model/vendorDirectFulfillmentOrdersV1.json b/models/vendor-direct-fulfillment-orders-api-model/vendorDirectFulfillmentOrdersV1.json index a355fbb47..49e96b1bb 100644 --- a/models/vendor-direct-fulfillment-orders-api-model/vendorDirectFulfillmentOrdersV1.json +++ b/models/vendor-direct-fulfillment-orders-api-model/vendorDirectFulfillmentOrdersV1.json @@ -1,9 +1,9 @@ { "swagger": "2.0", "info": { - "description": "The Selling Partner API for Direct Fulfillment Inventory Updates provides programmatic access to a direct fulfillment vendor's inventory updates.", + "description": "The Selling Partner API for Direct Fulfillment Orders provides programmatic access to a direct fulfillment vendor's order data.", "version": "v1", - "title": "Selling Partner API for Direct Fulfillment Inventory Updates", + "title": "Selling Partner API for Direct Fulfillment Orders", "contact": { "name": "Selling Partner API Developer Support", "url": "https://sellercentral.amazon.com/gp/mws/contactus.html" @@ -24,35 +24,235 @@ "application/json" ], "paths": { - "/vendor/directFulfillment/inventory/v1/warehouses/{warehouseId}/items": { - "post": { + "/vendor/directFulfillment/orders/v1/purchaseOrders": { + "get": { "tags": [ - "updateInventory" + "vendorOrders" ], - "description": "Submits inventory updates for the specified warehouse for either a partial or full feed of inventory items.\n\n**Usage Plan:**\n\n| Rate (requests per second) | Burst |\n| ---- | ---- |\n| 10 | 10 |\n\nThe `x-amzn-RateLimit-Limit` response header returns the usage plan rate limits that were applied to the requested operation, when available. The table above indicates the default rate and burst values for this operation. Selling partners whose business demands require higher throughput may see higher rate and burst values than those shown here. For more information, see [Usage Plans and Rate Limits in the Selling Partner API](https://developer-docs.amazon.com/sp-api/docs/usage-plans-and-rate-limits-in-the-sp-api).", - "operationId": "submitInventoryUpdate", + "description": "Returns a list of purchase orders created during the time frame that you specify. You define the time frame using the createdAfter and createdBefore parameters. You must use both parameters. You can choose to get only the purchase order numbers by setting the includeDetails parameter to false. In that case, the operation returns a list of purchase order numbers. You can then call the getOrder operation to return the details of a specific order.\n\n**Usage Plan:**\n\n| Rate (requests per second) | Burst |\n| ---- | ---- |\n| 10 | 10 |\n\nThe `x-amzn-RateLimit-Limit` response header returns the usage plan rate limits that were applied to the requested operation, when available. The table above indicates the default rate and burst values for this operation. Selling partners whose business demands require higher throughput may see higher rate and burst values than those shown here. For more information, see [Usage Plans and Rate Limits in the Selling Partner API](https://developer-docs.amazon.com/sp-api/docs/usage-plans-and-rate-limits-in-the-sp-api).", + "operationId": "getOrders", "parameters": [ { - "in": "body", - "name": "body", + "name": "shipFromPartyId", + "in": "query", + "description": "The vendor warehouse identifier for the fulfillment warehouse. If not specified, the result will contain orders for all warehouses.", + "required": false, + "type": "string" + }, + { + "name": "status", + "in": "query", + "description": "Returns only the purchase orders that match the specified status. If not specified, the result will contain orders that match any status.", + "required": false, + "type": "string", + "enum": [ + "NEW", + "SHIPPED", + "ACCEPTED", + "CANCELLED" + ], + "x-docgen-enum-table-extension": [ + { + "value": "NEW", + "description": "Status for newly created purchase orders." + }, + { + "value": "SHIPPED", + "description": "Status for purchase orders that are already shipped." + }, + { + "value": "ACCEPTED", + "description": "Status for purchase orders accepted by vendors." + }, + { + "value": "CANCELLED", + "description": "Status for cancelled purchase orders." + } + ] + }, + { + "name": "limit", + "in": "query", + "description": "The limit to the number of purchase orders returned.", + "required": false, + "type": "integer", + "maximum": 100, + "minimum": 1, + "format": "int64" + }, + { + "name": "createdAfter", + "in": "query", + "description": "Purchase orders that became available after this date and time will be included in the result. Must be in ISO-8601 date/time format.", "required": true, - "schema": { - "$ref": "#/definitions/SubmitInventoryUpdateRequest" - } + "type": "string", + "format": "date-time" }, { - "name": "warehouseId", - "in": "path", - "description": "Identifier for the warehouse for which to update inventory.", + "name": "createdBefore", + "in": "query", + "description": "Purchase orders that became available before this date and time will be included in the result. Must be in ISO-8601 date/time format.", "required": true, + "type": "string", + "format": "date-time" + }, + { + "name": "sortOrder", + "in": "query", + "description": "Sort the list in ascending or descending order by order creation date.", + "required": false, + "type": "string", + "enum": [ + "ASC", + "DESC" + ], + "x-docgen-enum-table-extension": [ + { + "value": "ASC", + "description": "Sort in ascending order by order creation date." + }, + { + "value": "DESC", + "description": "Sort in descending order by order creation date." + } + ] + }, + { + "name": "nextToken", + "in": "query", + "description": "Used for pagination when there are more orders than the specified result size limit. The token value is returned in the previous API call.", + "required": false, "type": "string" + }, + { + "name": "includeDetails", + "in": "query", + "description": "When true, returns the complete purchase order details. Otherwise, only purchase order numbers are returned.", + "required": false, + "type": "string", + "default": "true", + "format": "boolean" } ], "responses": { - "202": { + "200": { "description": "Success.", "schema": { - "$ref": "#/definitions/SubmitInventoryUpdateResponse" + "$ref": "#/definitions/GetOrdersResponse" + }, + "examples": { + "payload": { + "pagination": { + "nextToken": "MDAwMDAwMDAwMQ==" + }, + "orders": [ + { + "purchaseOrderNumber": "2JK3S9VC", + "orderDetails": { + "customerOrderNumber": "123-ABC", + "orderDate": "2020-02-20T13:51:00Z", + "orderStatus": "NEW", + "shipmentDetails": { + "isPriorityShipment": false, + "isScheduledDeliveryShipment": false, + "isPslipRequired": true, + "isGift": false, + "shipMethod": "UPS_2ND", + "shipmentDates": { + "requiredShipDate": "2020-02-21T00:00:00Z", + "promisedDeliveryDate": "2020-02-24T00:00:00Z" + }, + "messageToCustomer": "This shipment completes your order. You can always check the status of your orders from the \"Your Account\" link at the top of each page of our site.Thank you for shopping at Amazon.com" + }, + "taxTotal": { + "taxLineItem": [ + { + "taxRate": "0.1", + "taxAmount": { + "currencyCode": "USD", + "amount": "190" + }, + "type": "TOTAL" + } + ] + }, + "sellingParty": { + "partyId": "999US" + }, + "shipFromParty": { + "partyId": "ABCD" + }, + "shipToParty": { + "name": "ABCD", + "attention": "ABCD", + "addressLine1": "123 XYZ Street", + "addressLine2": "Apt 5", + "city": "San Jose", + "stateOrRegion": "CA", + "postalCode": "94086", + "countryCode": "USA" + }, + "billToParty": { + "partyId": "ABCD" + }, + "items": [ + { + "itemSequenceNumber": "00001", + "buyerProductIdentifier": "B07DFVDRAB", + "vendorProductIdentifier": "8806098286500", + "title": "LG 8 kg Inverter Wi-Fi Fully-Automatic Front Loading Washing Machine (FHT1408SWS, STS-VCM, Inbuilt Heater)", + "orderedQuantity": { + "amount": 1, + "unitOfMeasure": "EACH" + }, + "netPrice": { + "currencyCode": "USD", + "amount": "500" + }, + "taxDetails": { + "taxLineItem": [ + { + "taxRate": "0.1", + "taxAmount": { + "currencyCode": "USD", + "amount": "50" + }, + "type": "TOTAL" + } + ] + } + }, + { + "itemSequenceNumber": "00002", + "buyerProductIdentifier": "B07DFYF5AB", + "vendorProductIdentifier": "8806098286123", + "title": "LG 6.5 kg Inverter Fully-Automatic Front Loading Washing Machine (FHT1065SNW, Blue and White, Inbuilt Heater)", + "orderedQuantity": { + "amount": 2, + "unitOfMeasure": "EACH" + }, + "netPrice": { + "currencyCode": "USD", + "amount": "700" + }, + "taxDetails": { + "taxLineItem": [ + { + "taxRate": "0.1", + "taxAmount": { + "currencyCode": "USD", + "amount": "140" + }, + "type": "TOTAL" + } + ] + } + } + ] + } + } + ] + } }, "headers": { "x-amzn-RateLimit-Limit": { @@ -69,62 +269,929 @@ { "request": { "parameters": { - "body": { - "value": { - "inventory": { + "createdBefore": { + "value": "2020-02-20T00:00:00-08:00" + }, + "createdAfter": { + "value": "2020-02-15T14:00:00-08:00" + }, + "includeDetails": { + "value": "true" + }, + "limit": { + "value": 2 + }, + "sortOrder": { + "value": "DESC" + } + } + }, + "response": { + "payload": { + "pagination": { + "nextToken": "MDAwMDAwMDAwMQ==" + }, + "orders": [ + { + "purchaseOrderNumber": "2JK3S9VC", + "orderDetails": { + "customerOrderNumber": "123-ABC", + "orderDate": "2020-02-20T13:51:00Z", + "orderStatus": "NEW", + "shipmentDetails": { + "isPriorityShipment": false, + "isScheduledDeliveryShipment": false, + "isPslipRequired": true, + "isGift": false, + "shipMethod": "UPS_2ND", + "shipmentDates": { + "requiredShipDate": "2020-02-21T00:00:00Z", + "promisedDeliveryDate": "2020-02-24T00:00:00Z" + }, + "messageToCustomer": "This shipment completes your order. You can always check the status of your orders from the \"Your Account\" link at the top of each page of our site.Thank you for shopping at Amazon.com" + }, + "taxTotal": { + "taxLineItem": [ + { + "taxRate": "0.1", + "taxAmount": { + "currencyCode": "USD", + "amount": "190" + }, + "type": "TOTAL" + } + ] + }, "sellingParty": { - "partyId": "VENDORID" + "partyId": "999US" + }, + "shipFromParty": { + "partyId": "ABCD" + }, + "shipToParty": { + "name": "ABCD", + "attention": "ABCD", + "addressLine1": "123 XYZ Street", + "addressLine2": "Apt 5", + "city": "San Jose", + "stateOrRegion": "CA", + "postalCode": "94086", + "countryCode": "USA" + }, + "billToParty": { + "partyId": "ABCD" }, - "isFullUpdate": false, "items": [ { - "buyerProductIdentifier": "ABCD4562", - "vendorProductIdentifier": "7Q89K11", - "availableQuantity": { - "amount": 10, - "unitOfMeasure": "Each" + "itemSequenceNumber": "00001", + "buyerProductIdentifier": "B07DFVDRAB", + "vendorProductIdentifier": "8806098286500", + "title": "LG 8 kg Inverter Wi-Fi Fully-Automatic Front Loading Washing Machine (FHT1408SWS, STS-VCM, Inbuilt Heater)", + "orderedQuantity": { + "amount": 1, + "unitOfMeasure": "EACH" + }, + "netPrice": { + "currencyCode": "USD", + "amount": "500" }, - "isObsolete": false + "taxDetails": { + "taxLineItem": [ + { + "taxRate": "0.1", + "taxAmount": { + "currencyCode": "USD", + "amount": "50" + }, + "type": "TOTAL" + } + ] + } }, { - "buyerProductIdentifier": "ABCD4563", - "vendorProductIdentifier": "7Q89K12", - "availableQuantity": { - "amount": 15, - "unitOfMeasure": "Each" + "itemSequenceNumber": "00002", + "buyerProductIdentifier": "B07DFYF5AB", + "vendorProductIdentifier": "8806098286123", + "title": "LG 6.5 kg Inverter Fully-Automatic Front Loading Washing Machine (FHT1065SNW, Blue and White, Inbuilt Heater)", + "orderedQuantity": { + "amount": 2, + "unitOfMeasure": "EACH" }, - "isObsolete": false + "netPrice": { + "currencyCode": "USD", + "amount": "700" + }, + "taxDetails": { + "taxLineItem": [ + { + "taxRate": "0.1", + "taxAmount": { + "currencyCode": "USD", + "amount": "140" + }, + "type": "TOTAL" + } + ] + } + } + ] + } + }, + { + "purchaseOrderNumber": "3TRD2IAB", + "orderDetails": { + "customerOrderNumber": "456-ABC", + "orderDate": "2020-02-18T11:47:00Z", + "orderStatus": "NEW", + "shipmentDetails": { + "isPriorityShipment": false, + "isScheduledDeliveryShipment": false, + "isPslipRequired": true, + "isGift": false, + "shipMethod": "UPS_2ND", + "shipmentDates": { + "requiredShipDate": "2020-02-20T00:00:00Z", + "promisedDeliveryDate": "2020-02-22T00:00:00Z" }, + "messageToCustomer": "This shipment completes your order. You can always check the status of your orders from the \"Your Account\" link at the top of each page of our site.Thank you for shopping at Amazon.com" + }, + "taxTotal": { + "taxLineItem": [ + { + "taxRate": "0.1", + "taxAmount": { + "currencyCode": "USD", + "amount": "2" + }, + "type": "TOTAL" + } + ] + }, + "sellingParty": { + "partyId": "999US" + }, + "shipFromParty": { + "partyId": "ABCD" + }, + "shipToParty": { + "name": "XYZ", + "attention": "XYZ", + "addressLine1": "456 ABC Street", + "city": "Seattle", + "stateOrRegion": "WA", + "postalCode": "98007", + "countryCode": "USA" + }, + "billToParty": { + "partyId": "ABCD" + }, + "items": [ { - "buyerProductIdentifier": "ABCD4564", - "vendorProductIdentifier": "7Q89K13", - "availableQuantity": { - "amount": 20, - "unitOfMeasure": "Each" + "itemSequenceNumber": "00001", + "buyerProductIdentifier": "B01LNRIIAB", + "vendorProductIdentifier": "8806098286501", + "title": "Baby Dove Baby Wipes Rich Moisture (50 Pieces)", + "orderedQuantity": { + "amount": 1, + "unitOfMeasure": "EACH" }, - "isObsolete": false + "netPrice": { + "currencyCode": "USD", + "amount": "20" + }, + "taxDetails": { + "taxLineItem": [ + { + "taxRate": "0.1", + "taxAmount": { + "currencyCode": "USD", + "amount": "2" + }, + "type": "TOTAL" + } + ] + } } ] } } + ] + } + } + }, + { + "request": { + "parameters": { + "createdBefore": { + "value": "2020-02-20T00:00:00-08:00" + }, + "createdAfter": { + "value": "2020-02-15T14:00:00-08:00" + }, + "includeDetails": { + "value": "true" + }, + "limit": { + "value": 2 + }, + "sortOrder": { + "value": "DESC" + }, + "nextToken": { + "value": "MDAwMDAwMDAwMQ==" } } }, "response": { "payload": { - "transactionId": "20190905010908-8a3b6901-ef20-412f-9270-21c021796605" + "orders": [ + { + "purchaseOrderNumber": "2JK3S9VCD", + "orderDetails": { + "customerOrderNumber": "123-ABC", + "orderDate": "2020-02-20T13:51:00Z", + "orderStatus": "NEW", + "shipmentDetails": { + "isPriorityShipment": false, + "isScheduledDeliveryShipment": false, + "isPslipRequired": true, + "isGift": false, + "shipMethod": "UPS_2ND", + "shipmentDates": { + "requiredShipDate": "2020-02-21T00:00:00Z", + "promisedDeliveryDate": "2020-02-24T00:00:00Z" + }, + "messageToCustomer": "This shipment completes your order. You can always check the status of your orders from the \"Your Account\" link at the top of each page of our site.Thank you for shopping at Amazon.com" + }, + "taxTotal": { + "taxLineItem": [ + { + "taxAmount": { + "currencyCode": "USD", + "amount": "190" + }, + "type": "TOTAL" + } + ] + }, + "sellingParty": { + "partyId": "999US" + }, + "shipFromParty": { + "partyId": "ABCD" + }, + "shipToParty": { + "name": "ABCD", + "attention": "ABCD", + "addressLine1": "123 XYZ Street", + "addressLine2": "Apt 5", + "city": "San Jose", + "stateOrRegion": "CA", + "postalCode": "94086", + "countryCode": "USA" + }, + "billToParty": { + "partyId": "ABCD" + }, + "items": [ + { + "itemSequenceNumber": "00001", + "buyerProductIdentifier": "B07DFVDRAB", + "vendorProductIdentifier": "8806098286500", + "title": "LG 8 kg Inverter Wi-Fi Fully-Automatic Front Loading Washing Machine (FHT1408SWS, STS-VCM, Inbuilt Heater)", + "orderedQuantity": { + "amount": 1, + "unitOfMeasure": "EACH" + }, + "netPrice": { + "currencyCode": "USD", + "amount": "500" + }, + "taxDetails": { + "taxLineItem": [ + { + "taxRate": "0.1", + "taxAmount": { + "currencyCode": "USD", + "amount": "50" + }, + "type": "TOTAL" + } + ] + } + }, + { + "itemSequenceNumber": "00002", + "buyerProductIdentifier": "B07DFYF5AB", + "vendorProductIdentifier": "8806098286123", + "title": "LG 6.5 kg Inverter Fully-Automatic Front Loading Washing Machine (FHT1065SNW, Blue and White, Inbuilt Heater)", + "orderedQuantity": { + "amount": 2, + "unitOfMeasure": "EACH" + }, + "netPrice": { + "currencyCode": "USD", + "amount": "700" + }, + "taxDetails": { + "taxLineItem": [ + { + "taxRate": "0.1", + "taxAmount": { + "currencyCode": "USD", + "amount": "140" + }, + "type": "TOTAL" + } + ] + } + } + ] + } + }, + { + "purchaseOrderNumber": "3TRD2IABC", + "orderDetails": { + "customerOrderNumber": "456-ABC", + "orderDate": "2020-02-18T11:47:00Z", + "orderStatus": "NEW", + "shipmentDetails": { + "isPriorityShipment": false, + "isScheduledDeliveryShipment": false, + "isPslipRequired": true, + "isGift": false, + "shipMethod": "UPS_2ND", + "shipmentDates": { + "requiredShipDate": "2020-02-20T00:00:00Z", + "promisedDeliveryDate": "2020-02-22T00:00:00Z" + }, + "messageToCustomer": "This shipment completes your order. You can always check the status of your orders from the \"Your Account\" link at the top of each page of our site.Thank you for shopping at Amazon.com" + }, + "taxTotal": { + "taxLineItem": [ + { + "taxRate": "0.1", + "taxAmount": { + "currencyCode": "USD", + "amount": "2" + }, + "type": "TOTAL" + } + ] + }, + "sellingParty": { + "partyId": "999US" + }, + "shipFromParty": { + "partyId": "ABCD" + }, + "shipToParty": { + "name": "XYZ", + "attention": "XYZ", + "addressLine1": "456 ABC Street", + "city": "Seattle", + "stateOrRegion": "WA", + "postalCode": "98007", + "countryCode": "USA" + }, + "billToParty": { + "partyId": "ABCD" + }, + "items": [ + { + "itemSequenceNumber": "00001", + "buyerProductIdentifier": "B01LNRIIAB", + "vendorProductIdentifier": "8806098286501", + "title": "Baby Dove Baby Wipes Rich Moisture (50 Pieces)", + "orderedQuantity": { + "amount": 1, + "unitOfMeasure": "EACH" + }, + "netPrice": { + "currencyCode": "USD", + "amount": "20" + }, + "taxDetails": { + "taxLineItem": [ + { + "taxRate": "0.1", + "taxAmount": { + "currencyCode": "USD", + "amount": "2" + }, + "type": "TOTAL" + } + ] + } + } + ] + } + } + ] } } }, { "request": { "parameters": { - "body": {} + "createdBefore": { + "value": "2020-02-20T00:00:00-08:00" + }, + "createdAfter": { + "value": "2020-02-15T14:00:00-08:00" + }, + "includeDetails": { + "value": "true" + }, + "limit": { + "value": 2 + }, + "sortOrder": { + "value": "DESC" + }, + "nextToken": { + "value": "MDAwMDAwMDAwMQ==" + } + } + }, + "response": { + "payload": { + "orders": [ + { + "purchaseOrderNumber": "2JK3S9VCD", + "orderDetails": { + "customerOrderNumber": "123-ABC", + "orderDate": "2020-02-20T13:51:00Z", + "orderStatus": "NEW", + "shipmentDetails": { + "isPriorityShipment": false, + "isScheduledDeliveryShipment": false, + "isPslipRequired": true, + "isGift": false, + "shipMethod": "UPS_2ND", + "shipmentDates": { + "requiredShipDate": "2020-02-21T00:00:00Z", + "promisedDeliveryDate": "2020-02-24T00:00:00Z" + }, + "messageToCustomer": "This shipment completes your order. You can always check the status of your orders from the \"Your Account\" link at the top of each page of our site.Thank you for shopping at Amazon.com" + }, + "taxTotal": { + "taxLineItem": [ + { + "taxAmount": { + "currencyCode": "USD", + "amount": "190" + }, + "type": "TOTAL" + } + ] + }, + "sellingParty": { + "partyId": "999US" + }, + "shipFromParty": { + "partyId": "ABCD" + }, + "shipToParty": { + "name": "ABCD", + "attention": "ABCD", + "addressLine1": "123 XYZ Street", + "addressLine2": "Apt 5", + "city": "San Jose", + "stateOrRegion": "CA", + "postalCode": "94086", + "countryCode": "USA" + }, + "billToParty": { + "partyId": "ABCD" + }, + "items": [ + { + "itemSequenceNumber": "00001", + "buyerProductIdentifier": "B07DFVDRAB", + "vendorProductIdentifier": "8806098286500", + "title": "LG 8 kg Inverter Wi-Fi Fully-Automatic Front Loading Washing Machine (FHT1408SWS, STS-VCM, Inbuilt Heater)", + "orderedQuantity": { + "amount": 1, + "unitOfMeasure": "EACH" + }, + "netPrice": { + "currencyCode": "USD", + "amount": "500" + }, + "taxDetails": { + "taxLineItem": [ + { + "taxRate": "0.1", + "taxAmount": { + "currencyCode": "USD", + "amount": "50" + }, + "type": "TOTAL" + } + ] + } + }, + { + "itemSequenceNumber": "00002", + "buyerProductIdentifier": "B07DFYF5AB", + "vendorProductIdentifier": "8806098286123", + "title": "LG 6.5 kg Inverter Fully-Automatic Front Loading Washing Machine (FHT1065SNW, Blue and White, Inbuilt Heater)", + "orderedQuantity": { + "amount": 2, + "unitOfMeasure": "EACH" + }, + "netPrice": { + "currencyCode": "USD", + "amount": "700" + }, + "taxDetails": { + "taxLineItem": [ + { + "taxRate": "0.1", + "taxAmount": { + "currencyCode": "USD", + "amount": "140" + }, + "type": "TOTAL" + } + ] + } + } + ] + } + }, + { + "purchaseOrderNumber": "3TRD2IABC", + "orderDetails": { + "customerOrderNumber": "456-ABC", + "orderDate": "2020-02-18T11:47:00Z", + "orderStatus": "NEW", + "shipmentDetails": { + "isPriorityShipment": false, + "isScheduledDeliveryShipment": false, + "isPslipRequired": true, + "isGift": false, + "shipMethod": "UPS_2ND", + "shipmentDates": { + "requiredShipDate": "2020-02-20T00:00:00Z", + "promisedDeliveryDate": "2020-02-22T00:00:00Z" + }, + "messageToCustomer": "This shipment completes your order. You can always check the status of your orders from the \"Your Account\" link at the top of each page of our site.Thank you for shopping at Amazon.com" + }, + "taxTotal": { + "taxLineItem": [ + { + "taxRate": "0.1", + "taxAmount": { + "currencyCode": "USD", + "amount": "2" + }, + "type": "TOTAL" + } + ] + }, + "sellingParty": { + "partyId": "999US" + }, + "shipFromParty": { + "partyId": "ABCD" + }, + "shipToParty": { + "name": "XYZ", + "attention": "XYZ", + "addressLine1": "456 ABC Street", + "city": "Seattle", + "stateOrRegion": "WA", + "postalCode": "98007", + "countryCode": "USA" + }, + "billToParty": { + "partyId": "ABCD" + }, + "items": [ + { + "itemSequenceNumber": "00001", + "buyerProductIdentifier": "B01LNRIIAB", + "vendorProductIdentifier": "8806098286501", + "title": "Baby Dove Baby Wipes Rich Moisture (50 Pieces)", + "orderedQuantity": { + "amount": 1, + "unitOfMeasure": "EACH" + }, + "netPrice": { + "currencyCode": "USD", + "amount": "20" + }, + "taxDetails": { + "taxLineItem": [ + { + "taxRate": "0.1", + "taxAmount": { + "currencyCode": "USD", + "amount": "2" + }, + "type": "TOTAL" + } + ] + } + } + ] + } + } + ] + } + } + }, + { + "request": { + "parameters": { + "createdBefore": { + "value": "2019-08-21T00:00:00-08:00" + }, + "createdAfter": { + "value": "2019-08-20T14:00:00-08:00" + }, + "includeDetails": { + "value": "false" + }, + "sortOrder": { + "value": "DESC" + } } }, "response": { "payload": { - "transactionId": "mock-TransactionId-20190905010908-8a3b6901-ef20-412f-9270-21c021796605" + "pagination": { + "nextToken": "MDAwMDAwMDAwMQ==" + }, + "orders": [ + { + "purchaseOrderNumber": "2JK3S9VC" + }, + { + "purchaseOrderNumber": "3TRD2IAB" + } + ] + } + } + }, + { + "request": { + "parameters": { + "createdBefore": { + "value": "2019-08-21T00:00:00-08:00" + }, + "createdAfter": { + "value": "2019-08-20T14:00:00-08:00" + }, + "includeDetails": { + "value": "false" + }, + "sortOrder": { + "value": "DESC" + } + } + }, + "response": { + "payload": { + "pagination": { + "nextToken": "MDAwMDAwMDAwMQ==" + }, + "orders": [ + { + "purchaseOrderNumber": "2JK3S9VC" + }, + { + "purchaseOrderNumber": "3TRD2IAB" + } + ] + } + } + }, + { + "request": { + "parameters": { + "createdBefore": { + "value": "2019-08-21T00:00:00-08:00" + }, + "createdAfter": { + "value": "2019-08-20T14:00:00-08:00" + }, + "includeDetails": { + "value": "false" + }, + "sortOrder": { + "value": "DESC" + }, + "nextToken": { + "value": "MDAwMDAwMDAwMQ==" + } + } + }, + "response": { + "payload": { + "orders": [ + { + "purchaseOrderNumber": "2JK3S9VCD" + }, + { + "purchaseOrderNumber": "3TRD2IABC" + } + ] + } + } + }, + { + "request": { + "parameters": {} + }, + "response": { + "payload": { + "orders": [ + { + "purchaseOrderNumber": "2JK3S9VCD", + "orderDetails": { + "customerOrderNumber": "123-ABC", + "orderDate": "2020-02-20T13:51:00Z", + "orderStatus": "NEW", + "shipmentDetails": { + "isPriorityShipment": false, + "isScheduledDeliveryShipment": false, + "isPslipRequired": true, + "isGift": false, + "shipMethod": "UPS_2ND", + "shipmentDates": { + "requiredShipDate": "2020-02-21T00:00:00Z", + "promisedDeliveryDate": "2020-02-24T00:00:00Z" + }, + "messageToCustomer": "This shipment completes your order. You can always check the status of your orders from the \"Your Account\" link at the top of each page of our site. Thank you for shopping at Amazon.com." + }, + "taxTotal": { + "taxLineItem": [ + { + "taxAmount": { + "currencyCode": "USD", + "amount": "190" + }, + "type": "TOTAL" + } + ] + }, + "sellingParty": { + "partyId": "999US" + }, + "shipFromParty": { + "partyId": "ABCD" + }, + "shipToParty": { + "name": "ABCD", + "attention": "ABCD", + "addressLine1": "123 XYZ Street", + "addressLine2": "Apt 5", + "city": "San Jose", + "stateOrRegion": "CA", + "postalCode": "94086", + "countryCode": "USA" + }, + "billToParty": { + "partyId": "ABCD" + }, + "items": [ + { + "itemSequenceNumber": "00001", + "buyerProductIdentifier": "B07DFVDRAB", + "vendorProductIdentifier": "8806098286500", + "title": "LG 8 kg Inverter Wi-Fi Fully-Automatic Front Loading Washing Machine (FHT1408SWS, STS-VCM, Inbuilt Heater)", + "orderedQuantity": { + "amount": 1, + "unitOfMeasure": "EACH" + }, + "netPrice": { + "currencyCode": "USD", + "amount": "500" + }, + "taxDetails": { + "taxLineItem": [ + { + "taxRate": "0.1", + "taxAmount": { + "currencyCode": "USD", + "amount": "50" + }, + "type": "TOTAL" + } + ] + } + }, + { + "itemSequenceNumber": "00002", + "buyerProductIdentifier": "B07DFYF5AB", + "vendorProductIdentifier": "8806098286123", + "title": "LG 6.5 kg Inverter Fully-Automatic Front Loading Washing Machine (FHT1065SNW, Blue and White, Inbuilt Heater)", + "orderedQuantity": { + "amount": 2, + "unitOfMeasure": "EACH" + }, + "netPrice": { + "currencyCode": "USD", + "amount": "700" + }, + "taxDetails": { + "taxLineItem": [ + { + "taxRate": "0.1", + "taxAmount": { + "currencyCode": "USD", + "amount": "140" + }, + "type": "TOTAL" + } + ] + } + } + ] + } + }, + { + "purchaseOrderNumber": "3TRD2IABC", + "orderDetails": { + "customerOrderNumber": "456-ABC", + "orderDate": "2020-02-18T11:47:00Z", + "orderStatus": "NEW", + "shipmentDetails": { + "isPriorityShipment": false, + "isScheduledDeliveryShipment": false, + "isPslipRequired": true, + "isGift": false, + "shipMethod": "UPS_2ND", + "shipmentDates": { + "requiredShipDate": "2020-02-20T00:00:00Z", + "promisedDeliveryDate": "2020-02-22T00:00:00Z" + }, + "messageToCustomer": "This shipment completes your order. You can always check the status of your orders from the \"Your Account\" link at the top of each page of our site. Thank you for shopping at Amazon.com." + }, + "taxTotal": { + "taxLineItem": [ + { + "taxRate": "0.1", + "taxAmount": { + "currencyCode": "USD", + "amount": "2" + }, + "type": "TOTAL" + } + ] + }, + "sellingParty": { + "partyId": "999US" + }, + "shipFromParty": { + "partyId": "ABCD" + }, + "shipToParty": { + "name": "XYZ", + "attention": "XYZ", + "addressLine1": "456 ABC Street", + "city": "Seattle", + "stateOrRegion": "WA", + "postalCode": "98007", + "countryCode": "USA" + }, + "billToParty": { + "partyId": "ABCD" + }, + "items": [ + { + "itemSequenceNumber": "00001", + "buyerProductIdentifier": "B01LNRIIAB", + "vendorProductIdentifier": "8806098286501", + "title": "Baby Dove Baby Wipes Rich Moisture (50 Pieces)", + "orderedQuantity": { + "amount": 1, + "unitOfMeasure": "EACH" + }, + "netPrice": { + "currencyCode": "USD", + "amount": "20" + }, + "taxDetails": { + "taxLineItem": [ + { + "taxRate": "0.1", + "taxAmount": { + "currencyCode": "USD", + "amount": "2" + }, + "type": "TOTAL" + } + ] + } + } + ] + } + } + ] } } } @@ -134,7 +1201,7 @@ "400": { "description": "Request has missing or invalid parameters and cannot be parsed.", "schema": { - "$ref": "#/definitions/SubmitInventoryUpdateResponse" + "$ref": "#/definitions/GetOrdersResponse" }, "headers": { "x-amzn-RateLimit-Limit": { @@ -151,16 +1218,19 @@ { "request": { "parameters": { - "warehouseId": { - "value": "DUMMYCODE" + "createdBefore": { + "value": "2021-01-2100:00:00" + }, + "createdAfter": { + "value": "2021-02-20T14:00:00" } } }, "response": { "errors": [ { - "code": "InvalidInput", - "message": "Invalid transmission ID.", + "code": "InvalidRequest", + "message": "The request is invalid.", "details": "" } ] @@ -172,7 +1242,7 @@ "403": { "description": "Indicates that access to the resource is forbidden. Possible reasons include Access Denied, Unauthorized, Expired Token, or Invalid Signature.", "schema": { - "$ref": "#/definitions/SubmitInventoryUpdateResponse" + "$ref": "#/definitions/GetOrdersResponse" }, "headers": { "x-amzn-RequestId": { @@ -184,7 +1254,7 @@ "404": { "description": "The resource specified does not exist.", "schema": { - "$ref": "#/definitions/SubmitInventoryUpdateResponse" + "$ref": "#/definitions/GetOrdersResponse" }, "headers": { "x-amzn-RateLimit-Limit": { @@ -197,26 +1267,10 @@ } } }, - "413": { - "description": "The request size exceeded the maximum accepted size.", - "schema": { - "$ref": "#/definitions/SubmitInventoryUpdateResponse" - }, - "headers": { - "x-amzn-RateLimit-Limit": { - "type": "string", - "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." - }, - "x-amzn-RequestId": { - "type": "string", - "description": "Unique request reference identifier." - } - } - }, "415": { "description": "The request payload is in an unsupported format.", "schema": { - "$ref": "#/definitions/SubmitInventoryUpdateResponse" + "$ref": "#/definitions/GetOrdersResponse" }, "headers": { "x-amzn-RateLimit-Limit": { @@ -232,7 +1286,7 @@ "429": { "description": "The frequency of requests was greater than allowed.", "schema": { - "$ref": "#/definitions/SubmitInventoryUpdateResponse" + "$ref": "#/definitions/GetOrdersResponse" }, "headers": { "x-amzn-RateLimit-Limit": { @@ -248,7 +1302,7 @@ "500": { "description": "An unexpected condition occurred that prevented the server from fulfilling the request.", "schema": { - "$ref": "#/definitions/SubmitInventoryUpdateResponse" + "$ref": "#/definitions/GetOrdersResponse" }, "headers": { "x-amzn-RateLimit-Limit": { @@ -264,7 +1318,7 @@ "503": { "description": "Temporary overloading or maintenance of the server.", "schema": { - "$ref": "#/definitions/SubmitInventoryUpdateResponse" + "$ref": "#/definitions/GetOrdersResponse" }, "headers": { "x-amzn-RateLimit-Limit": { @@ -278,119 +1332,1144 @@ } } } - }, - "parameters": [] - } - }, - "definitions": { - "SubmitInventoryUpdateRequest": { - "type": "object", - "properties": { - "inventory": { - "description": "Inventory details required to update some or all items for the requested warehouse.", - "$ref": "#/definitions/InventoryUpdate" - } - }, - "description": "The request body for the submitInventoryUpdate operation." + } }, - "InventoryUpdate": { - "type": "object", - "required": [ - "isFullUpdate", - "items", - "sellingParty" + "/vendor/directFulfillment/orders/v1/purchaseOrders/{purchaseOrderNumber}": { + "get": { + "tags": [ + "vendorOrders" + ], + "description": "Returns purchase order information for the purchaseOrderNumber that you specify.\n\n**Usage Plan:**\n\n| Rate (requests per second) | Burst |\n| ---- | ---- |\n| 10 | 10 |\n\nThe `x-amzn-RateLimit-Limit` response header returns the usage plan rate limits that were applied to the requested operation, when available. The table above indicates the default rate and burst values for this operation. Selling partners whose business demands require higher throughput may see higher rate and burst values than those shown here. For more information, see [Usage Plans and Rate Limits in the Selling Partner API](https://developer-docs.amazon.com/sp-api/docs/usage-plans-and-rate-limits-in-the-sp-api).", + "operationId": "getOrder", + "parameters": [ + { + "name": "purchaseOrderNumber", + "in": "path", + "description": "The order identifier for the purchase order that you want. Formatting Notes: alpha-numeric code.", + "required": true, + "type": "string" + } + ], + "responses": { + "200": { + "description": "Success.", + "schema": { + "$ref": "#/definitions/GetOrderResponse" + }, + "examples": { + "application/json": { + "payload": { + "purchaseOrderNumber": "2JK3S9VC", + "orderDetails": { + "customerOrderNumber": "123-ABC", + "orderDate": "2020-02-20T13:51:00Z", + "orderStatus": "NEW", + "shipmentDetails": { + "isPriorityShipment": false, + "isScheduledDeliveryShipment": false, + "isPslipRequired": true, + "isGift": false, + "shipMethod": "UPS_2ND", + "shipmentDates": { + "requiredShipDate": "2020-02-21T00:00:00Z", + "promisedDeliveryDate": "2020-02-24T00:00:00Z" + }, + "messageToCustomer": "This shipment completes your order. You can always check the status of your orders from the \"Your Account\" link at the top of each page of our site.Thank you for shopping at Amazon.com" + }, + "taxTotal": { + "taxLineItem": [ + { + "taxAmount": { + "currencyCode": "USD", + "amount": "190" + }, + "type": "TOTAL" + } + ] + }, + "sellingParty": { + "partyId": "999US" + }, + "shipFromParty": { + "partyId": "ABCD" + }, + "shipToParty": { + "name": "ABCD", + "attention": "ABCD", + "addressLine1": "123 XYZ Street", + "addressLine2": "Apt 5", + "city": "San Jose", + "stateOrRegion": "CA", + "postalCode": "94086", + "countryCode": "USA" + }, + "billToParty": { + "partyId": "ABCD" + }, + "items": [ + { + "itemSequenceNumber": "00001", + "buyerProductIdentifier": "B07DFVDRAB", + "vendorProductIdentifier": "8806098286500", + "title": "LG 8 kg Inverter Wi-Fi Fully-Automatic Front Loading Washing Machine (FHT1408SWS, STS-VCM, Inbuilt Heater)", + "orderedQuantity": { + "amount": 1, + "unitOfMeasure": "EACH" + }, + "netPrice": { + "currencyCode": "USD", + "amount": "500" + }, + "taxDetails": { + "taxLineItem": [ + { + "taxRate": "0.1", + "taxAmount": { + "currencyCode": "USD", + "amount": "50" + }, + "type": "TOTAL" + } + ] + } + }, + { + "itemSequenceNumber": "00002", + "buyerProductIdentifier": "B07DFYF5AB", + "vendorProductIdentifier": "8806098286123", + "title": "LG 6.5 kg Inverter Fully-Automatic Front Loading Washing Machine (FHT1065SNW, Blue and White, Inbuilt Heater)", + "orderedQuantity": { + "amount": 2, + "unitOfMeasure": "EACH" + }, + "netPrice": { + "currencyCode": "USD", + "amount": "700" + }, + "taxDetails": { + "taxLineItem": [ + { + "taxRate": "0.1", + "taxAmount": { + "currencyCode": "USD", + "amount": "140" + }, + "type": "TOTAL" + } + ] + } + } + ] + } + } + } + }, + "headers": { + "x-amzn-RateLimit-Limit": { + "type": "string", + "description": "Your rate limit (requests per second) for this operation." + }, + "x-amzn-RequestId": { + "type": "string", + "description": "Unique request reference identifier." + } + }, + "x-amzn-api-sandbox": { + "static": [ + { + "request": { + "parameters": { + "purchaseOrderNumber": { + "value": "2JK3S9VC" + } + } + }, + "response": { + "payload": { + "purchaseOrderNumber": "2JK3S9VC", + "orderDetails": { + "customerOrderNumber": "123-ABC", + "orderDate": "2020-02-20T13:51:00Z", + "orderStatus": "NEW", + "shipmentDetails": { + "isPriorityShipment": false, + "isScheduledDeliveryShipment": false, + "isPslipRequired": true, + "isGift": false, + "shipMethod": "UPS_2ND", + "shipmentDates": { + "requiredShipDate": "2020-02-21T00:00:00Z", + "promisedDeliveryDate": "2020-02-24T00:00:00Z" + }, + "messageToCustomer": "This shipment completes your order. You can always check the status of your orders from the \"Your Account\" link at the top of each page of our site.Thank you for shopping at Amazon.com" + }, + "taxTotal": { + "taxLineItem": [ + { + "taxRate": "0.1", + "taxAmount": { + "currencyCode": "USD", + "amount": "190" + }, + "type": "TOTAL" + } + ] + }, + "sellingParty": { + "partyId": "999US" + }, + "shipFromParty": { + "partyId": "ABCD" + }, + "shipToParty": { + "name": "ABCD", + "attention": "ABCD", + "addressLine1": "123 XYZ Street", + "addressLine2": "Apt 5", + "city": "San Jose", + "stateOrRegion": "CA", + "postalCode": "94086", + "countryCode": "USA" + }, + "billToParty": { + "partyId": "ABCD" + }, + "items": [ + { + "itemSequenceNumber": "00001", + "buyerProductIdentifier": "B07DFVDRAB", + "vendorProductIdentifier": "8806098286500", + "title": "LG 8 kg Inverter Wi-Fi Fully-Automatic Front Loading Washing Machine (FHT1408SWS, STS-VCM, Inbuilt Heater)", + "orderedQuantity": { + "amount": 1, + "unitOfMeasure": "EACH" + }, + "netPrice": { + "currencyCode": "USD", + "amount": "500" + }, + "taxDetails": { + "taxLineItem": [ + { + "taxRate": "0.1", + "taxAmount": { + "currencyCode": "USD", + "amount": "50" + }, + "type": "TOTAL" + } + ] + } + }, + { + "itemSequenceNumber": "00002", + "buyerProductIdentifier": "B07DFYF5AB", + "vendorProductIdentifier": "8806098286123", + "title": "LG 6.5 kg Inverter Fully-Automatic Front Loading Washing Machine (FHT1065SNW, Blue and White, Inbuilt Heater)", + "orderedQuantity": { + "amount": 2, + "unitOfMeasure": "EACH" + }, + "netPrice": { + "currencyCode": "USD", + "amount": "700" + }, + "taxDetails": { + "taxLineItem": [ + { + "taxRate": "0.1", + "taxAmount": { + "currencyCode": "USD", + "amount": "140" + }, + "type": "TOTAL" + } + ] + } + } + ] + } + } + } + }, + { + "request": { + "parameters": {} + }, + "response": { + "payload": { + "purchaseOrderNumber": "2JK3S9VCD", + "orderDetails": { + "customerOrderNumber": "123-ABC", + "orderDate": "2020-02-20T13:51:00Z", + "orderStatus": "NEW", + "shipmentDetails": { + "isPriorityShipment": false, + "isScheduledDeliveryShipment": false, + "isPslipRequired": true, + "isGift": false, + "shipMethod": "UPS_2ND", + "shipmentDates": { + "requiredShipDate": "2020-02-21T00:00:00Z", + "promisedDeliveryDate": "2020-02-24T00:00:00Z" + }, + "messageToCustomer": "This shipment completes your order. You can always check the status of your orders from the \"Your Account\" link at the top of each page of our site. Thank you for shopping at Amazon.com." + }, + "taxTotal": { + "taxLineItem": [ + { + "taxAmount": { + "currencyCode": "USD", + "amount": "190" + }, + "type": "TOTAL" + } + ] + }, + "sellingParty": { + "partyId": "999US" + }, + "shipFromParty": { + "partyId": "ABCD" + }, + "shipToParty": { + "name": "ABCD", + "attention": "ABCD", + "addressLine1": "123 XYZ Street", + "addressLine2": "Apt 5", + "city": "San Jose", + "stateOrRegion": "CA", + "postalCode": "94086", + "countryCode": "USA" + }, + "billToParty": { + "partyId": "ABCD" + }, + "items": [ + { + "itemSequenceNumber": "00001", + "buyerProductIdentifier": "B07DFVDRAB", + "vendorProductIdentifier": "8806098286500", + "title": "LG 8 kg Inverter Wi-Fi Fully-Automatic Front Loading Washing Machine (FHT1408SWS, STS-VCM, Inbuilt Heater)", + "orderedQuantity": { + "amount": 1, + "unitOfMeasure": "EACH" + }, + "netPrice": { + "currencyCode": "USD", + "amount": "500" + }, + "taxDetails": { + "taxLineItem": [ + { + "taxRate": "0.1", + "taxAmount": { + "currencyCode": "USD", + "amount": "50" + }, + "type": "TOTAL" + } + ] + } + }, + { + "itemSequenceNumber": "00002", + "buyerProductIdentifier": "B07DFYF5AB", + "vendorProductIdentifier": "8806098286123", + "title": "LG 6.5 kg Inverter Fully-Automatic Front Loading Washing Machine (FHT1065SNW, Blue and White, Inbuilt Heater)", + "orderedQuantity": { + "amount": 2, + "unitOfMeasure": "EACH" + }, + "netPrice": { + "currencyCode": "USD", + "amount": "700" + }, + "taxDetails": { + "taxLineItem": [ + { + "taxRate": "0.1", + "taxAmount": { + "currencyCode": "USD", + "amount": "140" + }, + "type": "TOTAL" + } + ] + } + } + ] + } + } + } + } + ] + } + }, + "400": { + "description": "Request has missing or invalid parameters and cannot be parsed.", + "schema": { + "$ref": "#/definitions/GetOrderResponse" + }, + "headers": { + "x-amzn-RateLimit-Limit": { + "type": "string", + "description": "Your rate limit (requests per second) for this operation." + }, + "x-amzn-RequestId": { + "type": "string", + "description": "Unique request reference identifier." + } + }, + "x-amzn-api-sandbox": { + "static": [ + { + "request": { + "parameters": { + "purchaseOrderNumber": { + "value": "null" + } + } + }, + "response": { + "errors": [ + { + "code": "InvalidRequest", + "message": "Request is missing or has invalid parameters", + "details": "purchaseOrderNumber cannot be null" + } + ] + } + } + ] + } + }, + "401": { + "description": "The request's Authorization header is not formatted correctly or does not contain a valid token.", + "schema": { + "$ref": "#/definitions/GetOrderResponse" + }, + "headers": { + "x-amzn-RateLimit-Limit": { + "type": "string", + "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." + }, + "x-amzn-RequestId": { + "type": "string", + "description": "Unique request reference identifier." + } + } + }, + "403": { + "description": "Indicates that access to the resource is forbidden. Possible reasons include Access Denied, Unauthorized, Expired Token, or Invalid Signature.", + "schema": { + "$ref": "#/definitions/GetOrderResponse" + }, + "headers": { + "x-amzn-RequestId": { + "type": "string", + "description": "Unique request reference identifier." + } + } + }, + "404": { + "description": "The resource specified does not exist.", + "schema": { + "$ref": "#/definitions/GetOrderResponse" + }, + "headers": { + "x-amzn-RateLimit-Limit": { + "type": "string", + "description": "Your rate limit (requests per second) for this operation." + }, + "x-amzn-RequestId": { + "type": "string", + "description": "Unique request reference identifier." + } + } + }, + "415": { + "description": "The request payload is in an unsupported format.", + "schema": { + "$ref": "#/definitions/GetOrderResponse" + }, + "headers": { + "x-amzn-RateLimit-Limit": { + "type": "string", + "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." + }, + "x-amzn-RequestId": { + "type": "string", + "description": "Unique request reference identifier." + } + } + }, + "429": { + "description": "The frequency of requests was greater than allowed.", + "schema": { + "$ref": "#/definitions/GetOrderResponse" + }, + "headers": { + "x-amzn-RateLimit-Limit": { + "type": "string", + "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." + }, + "x-amzn-RequestId": { + "type": "string", + "description": "Unique request reference identifier." + } + } + }, + "500": { + "description": "An unexpected condition occurred that prevented the server from fulfilling the request.", + "schema": { + "$ref": "#/definitions/GetOrderResponse" + }, + "headers": { + "x-amzn-RateLimit-Limit": { + "type": "string", + "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." + }, + "x-amzn-RequestId": { + "type": "string", + "description": "Unique request reference identifier." + } + } + }, + "503": { + "description": "Temporary overloading or maintenance of the server.", + "schema": { + "$ref": "#/definitions/GetOrderResponse" + }, + "headers": { + "x-amzn-RateLimit-Limit": { + "type": "string", + "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." + }, + "x-amzn-RequestId": { + "type": "string", + "description": "Unique request reference identifier." + } + } + } + } + } + }, + "/vendor/directFulfillment/orders/v1/acknowledgements": { + "post": { + "tags": [ + "vendorOrders" + ], + "description": "Submits acknowledgements for one or more purchase orders.\n\n**Usage Plan:**\n\n| Rate (requests per second) | Burst |\n| ---- | ---- |\n| 10 | 10 |\n\nThe `x-amzn-RateLimit-Limit` response header returns the usage plan rate limits that were applied to the requested operation, when available. The table above indicates the default rate and burst values for this operation. Selling partners whose business demands require higher throughput may see higher rate and burst values than those shown here. For more information, see [Usage Plans and Rate Limits in the Selling Partner API](https://developer-docs.amazon.com/sp-api/docs/usage-plans-and-rate-limits-in-the-sp-api).", + "operationId": "submitAcknowledgement", + "parameters": [ + { + "in": "body", + "name": "body", + "required": true, + "schema": { + "$ref": "#/definitions/SubmitAcknowledgementRequest" + } + } + ], + "responses": { + "202": { + "description": "Success.", + "schema": { + "$ref": "#/definitions/SubmitAcknowledgementResponse" + }, + "headers": { + "x-amzn-RateLimit-Limit": { + "type": "string", + "description": "Your rate limit (requests per second) for this operation." + }, + "x-amzn-RequestId": { + "type": "string", + "description": "Unique request reference identifier." + } + }, + "x-amzn-api-sandbox": { + "static": [ + { + "request": { + "parameters": { + "body": { + "value": { + "orderAcknowledgements": [ + { + "purchaseOrderNumber": "2JK3S9VC", + "vendorOrderNumber": "ABC", + "acknowledgementDate": "2020-02-20T19:17:34.304Z", + "acknowledgementStatus": { + "code": "00", + "description": "Shipping 100 percent of ordered product" + }, + "sellingParty": { + "partyId": "999US" + }, + "shipFromParty": { + "partyId": "ABCD" + }, + "itemAcknowledgements": [ + { + "itemSequenceNumber": "00001", + "buyerProductIdentifier": "B07DFVDRAB", + "vendorProductIdentifier": "8806098286500", + "acknowledgedQuantity": { + "amount": 1, + "unitOfMeasure": "Each" + } + } + ] + } + ] + } + } + } + }, + "response": { + "payload": { + "transactionId": "20190827182357-8725bde9-c61c-49f9-86ac-46efd82d4da5" + } + } + }, + { + "request": { + "parameters": { + "body": {} + } + }, + "response": { + "payload": { + "transactionId": "mock-TransactionId-20190827182357-8725bde9-c61c-49f9-86ac-46efd82d4da5" + } + } + } + ] + } + }, + "400": { + "description": "Request has missing or invalid parameters and cannot be parsed.", + "schema": { + "$ref": "#/definitions/SubmitAcknowledgementResponse" + }, + "headers": { + "x-amzn-RateLimit-Limit": { + "type": "string", + "description": "Your rate limit (requests per second) for this operation." + }, + "x-amzn-RequestId": { + "type": "string", + "description": "Unique request reference identifier." + } + }, + "x-amzn-api-sandbox": { + "static": [ + { + "request": { + "parameters": { + "body": { + "value": { + "orderAcknowledgements": [ + { + "purchaseOrderNumber": "TestOrder400", + "sellingParty": {} + } + ] + } + } + } + }, + "response": { + "errors": [ + { + "code": "InvalidInput", + "message": "The content of element 'sellingParty' is not complete. One of '{partyId, address, taxInfo}' is expected.", + "details": "" + } + ] + } + } + ] + } + }, + "403": { + "description": "Indicates that access to the resource is forbidden. Possible reasons include Access Denied, Unauthorized, Expired Token, or Invalid Signature.", + "schema": { + "$ref": "#/definitions/SubmitAcknowledgementResponse" + }, + "headers": { + "x-amzn-RequestId": { + "type": "string", + "description": "Unique request reference identifier." + } + } + }, + "404": { + "description": "The resource specified does not exist.", + "schema": { + "$ref": "#/definitions/SubmitAcknowledgementResponse" + }, + "headers": { + "x-amzn-RateLimit-Limit": { + "type": "string", + "description": "Your rate limit (requests per second) for this operation." + }, + "x-amzn-RequestId": { + "type": "string", + "description": "Unique request reference identifier." + } + } + }, + "413": { + "description": "The request size exceeded the maximum accepted size.", + "schema": { + "$ref": "#/definitions/SubmitAcknowledgementResponse" + }, + "headers": { + "x-amzn-RateLimit-Limit": { + "type": "string", + "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." + }, + "x-amzn-RequestId": { + "type": "string", + "description": "Unique request reference identifier." + } + } + }, + "415": { + "description": "The request payload is in an unsupported format.", + "schema": { + "$ref": "#/definitions/SubmitAcknowledgementResponse" + }, + "headers": { + "x-amzn-RateLimit-Limit": { + "type": "string", + "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." + }, + "x-amzn-RequestId": { + "type": "string", + "description": "Unique request reference identifier." + } + } + }, + "429": { + "description": "The frequency of requests was greater than allowed.", + "schema": { + "$ref": "#/definitions/SubmitAcknowledgementResponse" + }, + "headers": { + "x-amzn-RateLimit-Limit": { + "type": "string", + "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." + }, + "x-amzn-RequestId": { + "type": "string", + "description": "Unique request reference identifier." + } + } + }, + "500": { + "description": "An unexpected condition occurred that prevented the server from fulfilling the request.", + "schema": { + "$ref": "#/definitions/SubmitAcknowledgementResponse" + }, + "headers": { + "x-amzn-RateLimit-Limit": { + "type": "string", + "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." + }, + "x-amzn-RequestId": { + "type": "string", + "description": "Unique request reference identifier." + } + } + }, + "503": { + "description": "Temporary overloading or maintenance of the server.", + "schema": { + "$ref": "#/definitions/SubmitAcknowledgementResponse" + }, + "headers": { + "x-amzn-RateLimit-Limit": { + "type": "string", + "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." + }, + "x-amzn-RequestId": { + "type": "string", + "description": "Unique request reference identifier." + } + } + } + } + } + } + }, + "definitions": { + "GetOrdersResponse": { + "type": "object", + "properties": { + "payload": { + "description": "A list of purchase orders.", + "$ref": "#/definitions/OrderList" + }, + "errors": { + "$ref": "#/definitions/ErrorList" + } + }, + "description": "The response schema for the getOrders operation." + }, + "GetOrderResponse": { + "type": "object", + "properties": { + "payload": { + "description": "The payload for the getOrder operation.", + "$ref": "#/definitions/Order" + }, + "errors": { + "$ref": "#/definitions/ErrorList" + } + }, + "description": "The response schema for the getOrder operation." + }, + "OrderList": { + "type": "object", + "properties": { + "pagination": { + "$ref": "#/definitions/Pagination" + }, + "orders": { + "type": "array", + "items": { + "$ref": "#/definitions/Order" + } + } + } + }, + "Pagination": { + "type": "object", + "properties": { + "nextToken": { + "type": "string", + "description": "A generated string used to pass information to your next request. If NextToken is returned, pass the value of NextToken to the next request. If NextToken is not returned, there are no more order items to return." + } + } + }, + "Order": { + "type": "object", + "required": [ + "purchaseOrderNumber" + ], + "properties": { + "purchaseOrderNumber": { + "type": "string", + "description": "The purchase order number for this order. Formatting Notes: alpha-numeric code." + }, + "orderDetails": { + "description": "Purchase order details.", + "$ref": "#/definitions/OrderDetails" + } + } + }, + "OrderDetails": { + "type": "object", + "required": [ + "billToParty", + "customerOrderNumber", + "items", + "orderDate", + "sellingParty", + "shipFromParty", + "shipToParty", + "shipmentDetails" ], "properties": { + "customerOrderNumber": { + "type": "string", + "description": "The customer order number." + }, + "orderDate": { + "type": "string", + "format": "date-time", + "description": "The date the order was placed. This field is expected to be in ISO-8601 date/time format, for example:2018-07-16T23:00:00Z/ 2018-07-16T23:00:00-05:00 /2018-07-16T23:00:00-08:00. If no time zone is specified, UTC should be assumed." + }, + "orderStatus": { + "type": "string", + "description": "Current status of the order.", + "enum": [ + "NEW", + "SHIPPED", + "ACCEPTED", + "CANCELLED" + ], + "x-docgen-enum-table-extension": [ + { + "value": "NEW", + "description": "Status for newly created orders." + }, + { + "value": "SHIPPED", + "description": "Status for orders that are already shipped." + }, + { + "value": "ACCEPTED", + "description": "Status for orders accepted by vendors." + }, + { + "value": "CANCELLED", + "description": "Status for cancelled orders." + } + ] + }, + "shipmentDetails": { + "$ref": "#/definitions/ShipmentDetails" + }, + "taxTotal": { + "type": "object", + "properties": { + "taxLineItem": { + "description": "Tax details.", + "$ref": "#/definitions/TaxLineItem" + } + } + }, "sellingParty": { - "description": "ID of the selling party or vendor.", + "description": "PartyID of vendor code.", "$ref": "#/definitions/PartyIdentification" }, - "isFullUpdate": { - "type": "boolean", - "description": "When true, this request contains a full feed. Otherwise, this request contains a partial feed. When sending a full feed, you must send information about all items in the warehouse. Any items not in the full feed are updated as not available. When sending a partial feed, only include the items that need an update to inventory. The status of other items will remain unchanged." + "shipFromParty": { + "description": "PartyID of vendor's warehouse.", + "$ref": "#/definitions/PartyIdentification" + }, + "shipToParty": { + "description": "Name/Address and tax details of the ship to party.", + "$ref": "#/definitions/Address" + }, + "billToParty": { + "description": "Name/Address and tax details of the bill to party.", + "$ref": "#/definitions/PartyIdentification" }, "items": { "type": "array", - "description": "A list of inventory items with updated details, including quantity available.", + "description": "A list of items in this purchase order.", "items": { - "$ref": "#/definitions/ItemDetails" + "$ref": "#/definitions/OrderItem" } } + }, + "description": "Details of an order." + }, + "PartyIdentification": { + "type": "object", + "required": [ + "partyId" + ], + "properties": { + "partyId": { + "type": "string", + "description": "Assigned identification for the party. For example, warehouse code or vendor code. Please refer to specific party for more details." + }, + "address": { + "description": "Address details of the party.", + "$ref": "#/definitions/Address" + }, + "taxInfo": { + "description": "Tax registration details of the entity.", + "$ref": "#/definitions/TaxRegistrationDetails" + } } }, - "ItemDetails": { + "TaxRegistrationDetails": { "type": "object", "required": [ - "availableQuantity" + "taxRegistrationNumber" ], "properties": { - "buyerProductIdentifier": { + "taxRegistrationType": { "type": "string", - "description": "The buyer selected product identification of the item. Either buyerProductIdentifier or vendorProductIdentifier should be submitted." + "description": "Tax registration type for the entity.", + "enum": [ + "VAT", + "GST" + ], + "x-docgen-enum-table-extension": [ + { + "value": "VAT", + "description": "Value-added tax." + }, + { + "value": "GST", + "description": "Goods and Services tax." + } + ] }, - "vendorProductIdentifier": { + "taxRegistrationNumber": { "type": "string", - "description": "The vendor selected product identification of the item. Either buyerProductIdentifier or vendorProductIdentifier should be submitted." + "description": "Tax registration number for the party. For example, VAT ID." }, - "availableQuantity": { - "description": "Total item quantity available in the warehouse.", - "$ref": "#/definitions/ItemQuantity" + "taxRegistrationAddress": { + "description": "Address associated with the tax registration number.", + "$ref": "#/definitions/Address" }, - "isObsolete": { - "type": "boolean", - "description": "When true, the item is permanently unavailable." + "taxRegistrationMessages": { + "type": "string", + "description": "Tax registration message that can be used for additional tax related details." } }, - "description": "Updated inventory details for an item." + "description": "Tax registration details of the entity." }, - "PartyIdentification": { + "Address": { "type": "object", "required": [ - "partyId" + "addressLine1", + "countryCode", + "name", + "stateOrRegion" ], "properties": { - "partyId": { + "name": { + "type": "string", + "description": "The name of the person, business or institution at that address. For Amazon label only vendors, this field will have the value `xxxxx` within the object `shipToParty`." + }, + "attention": { + "type": "string", + "description": "The attention name of the person at that address. For Amazon label only vendors, this field will have the value `xxxxx` within the object `shipToParty`." + }, + "addressLine1": { + "type": "string", + "description": "First line of the address. For Amazon label only vendors, this field will have the value `xxxxx` within the object `shipToParty`." + }, + "addressLine2": { + "type": "string", + "description": "Additional address information, if required. For Amazon label only vendors, this field will have the value `xxxxx` within the object `shipToParty`." + }, + "addressLine3": { + "type": "string", + "description": "Additional address information, if required. For Amazon label only vendors, this field will have the value `xxxxx` within the object `shipToParty`." + }, + "city": { + "type": "string", + "description": "The city where the person, business or institution is located. For Amazon label only vendors, this field will have the value `xxxxx` within the object `shipToParty`." + }, + "county": { + "type": "string", + "description": "The county where person, business or institution is located. For Amazon label only vendors, this field will have the value `xxxxx` within the object `shipToParty`." + }, + "district": { + "type": "string", + "description": "The district where person, business or institution is located. For Amazon label only vendors, this field will have the value `xxxxx` within the object `shipToParty`." + }, + "stateOrRegion": { + "type": "string", + "description": "The state or region where person, business or institution is located." + }, + "postalCode": { + "type": "string", + "description": "The postal code of that address. It conatins a series of letters or digits or both, sometimes including spaces or punctuation." + }, + "countryCode": { + "type": "string", + "description": "The two digit country code. In ISO 3166-1 alpha-2 format." + }, + "phone": { "type": "string", - "description": "Assigned identification for the party." + "description": "The phone number of the person, business or institution located at that address. For Amazon label only vendors, this field will have the value `xxxxx` within the object `shipToParty`." } - } + }, + "description": "Address of the party." }, - "ItemQuantity": { + "OrderItem": { "type": "object", "required": [ - "unitOfMeasure" + "itemSequenceNumber", + "netPrice", + "orderedQuantity" ], "properties": { - "amount": { - "type": "integer", - "description": "Quantity of units available for a specific item." + "itemSequenceNumber": { + "type": "string", + "description": "Numbering of the item on the purchase order. The first item will be 1, the second 2, and so on." }, - "unitOfMeasure": { + "buyerProductIdentifier": { + "type": "string", + "description": "Buyer's standard identification number (ASIN) of an item." + }, + "vendorProductIdentifier": { + "type": "string", + "description": "The vendor selected product identification of the item." + }, + "title": { + "type": "string", + "description": "Title for the item." + }, + "orderedQuantity": { + "description": "Item quantity ordered.", + "$ref": "#/definitions/ItemQuantity" + }, + "scheduledDeliveryShipment": { + "description": "Details for the scheduled delivery shipment.", + "$ref": "#/definitions/ScheduledDeliveryShipment" + }, + "giftDetails": { + "description": "Gift message and wrapId details.", + "$ref": "#/definitions/GiftDetails" + }, + "netPrice": { + "description": "Net price (before tax) to vendor with currency details.", + "$ref": "#/definitions/Money" + }, + "taxDetails": { + "type": "object", + "description": "Total tax details for the line item.", + "properties": { + "taxLineItem": { + "description": "Tax details.", + "$ref": "#/definitions/TaxLineItem" + } + } + }, + "totalPrice": { + "description": "The price to Amazon each (cost).", + "$ref": "#/definitions/Money" + } + } + }, + "Money": { + "type": "object", + "properties": { + "currencyCode": { "type": "string", - "description": "Unit of measure for the available quantity." + "description": "Three digit currency code in ISO 4217 format. String of length 3." + }, + "amount": { + "$ref": "#/definitions/Decimal" } }, - "description": "Details of item quantity." + "description": "An amount of money, including units in the form of currency." + }, + "Decimal": { + "type": "string", + "description": "A decimal number with no loss of precision. Useful when precision loss is unacceptable, as with currencies. Follows RFC7159 for number representation." }, - "SubmitInventoryUpdateResponse": { + "SubmitAcknowledgementResponse": { "type": "object", "properties": { "payload": { - "description": "The response payload for the submitInventoryUpdate operation.", - "$ref": "#/definitions/TransactionReference" + "description": "The payload for the submitAcknowledgement operation.", + "$ref": "#/definitions/TransactionId" }, "errors": { "$ref": "#/definitions/ErrorList" } }, - "description": "The response schema for the submitInventoryUpdate operation." + "description": "The response schema for the submitAcknowledgement operation." }, - "TransactionReference": { + "TransactionId": { "type": "object", "properties": { "transactionId": { "type": "string", - "description": "GUID to identify this transaction. This value can be used with the Transaction Status API to return the status of this transaction." + "description": "GUID assigned by Amazon to identify this transaction. This value can be used with the Transaction Status API to return the status of this transaction." } } }, @@ -401,6 +2480,195 @@ "$ref": "#/definitions/Error" } }, + "SubmitAcknowledgementRequest": { + "type": "object", + "properties": { + "orderAcknowledgements": { + "type": "array", + "description": "A list of one or more purchase orders.", + "items": { + "$ref": "#/definitions/OrderAcknowledgementItem" + } + } + }, + "description": "The request schema for the submitAcknowledgement operation." + }, + "OrderAcknowledgementItem": { + "type": "object", + "required": [ + "acknowledgementDate", + "acknowledgementStatus", + "itemAcknowledgements", + "purchaseOrderNumber", + "sellingParty", + "shipFromParty", + "vendorOrderNumber" + ], + "properties": { + "purchaseOrderNumber": { + "type": "string", + "description": "The purchase order number for this order. Formatting Notes: alpha-numeric code." + }, + "vendorOrderNumber": { + "type": "string", + "description": "The vendor's order number for this order." + }, + "acknowledgementDate": { + "type": "string", + "format": "date-time", + "description": "The date and time when the order is acknowledged, in ISO-8601 date/time format. For example: 2018-07-16T23:00:00Z / 2018-07-16T23:00:00-05:00 / 2018-07-16T23:00:00-08:00." + }, + "acknowledgementStatus": { + "description": "Status of acknowledgement.", + "$ref": "#/definitions/AcknowledgementStatus" + }, + "sellingParty": { + "description": "PartyID as vendor code.", + "$ref": "#/definitions/PartyIdentification" + }, + "shipFromParty": { + "description": "PartyID as the vendor's warehouseId.", + "$ref": "#/definitions/PartyIdentification" + }, + "itemAcknowledgements": { + "type": "array", + "description": "Item details including acknowledged quantity.", + "items": { + "$ref": "#/definitions/OrderItemAcknowledgement" + } + } + }, + "description": "Details of an individual order being acknowledged." + }, + "OrderItemAcknowledgement": { + "type": "object", + "required": [ + "acknowledgedQuantity", + "itemSequenceNumber" + ], + "properties": { + "itemSequenceNumber": { + "type": "string", + "description": "Line item sequence number for the item." + }, + "buyerProductIdentifier": { + "type": "string", + "description": "Buyer's standard identification number (ASIN) of an item." + }, + "vendorProductIdentifier": { + "type": "string", + "description": "The vendor selected product identification of the item. Should be the same as was provided in the purchase order." + }, + "acknowledgedQuantity": { + "description": "Details of quantity acknowledged with the above acknowledgement code.", + "$ref": "#/definitions/ItemQuantity" + } + } + }, + "ItemQuantity": { + "type": "object", + "properties": { + "amount": { + "type": "integer", + "description": "Acknowledged quantity. This value should not be zero." + }, + "unitOfMeasure": { + "type": "string", + "description": "Unit of measure for the acknowledged quantity.", + "enum": [ + "Each" + ], + "x-docgen-enum-table-extension": [ + { + "value": "Each", + "description": "Unit of measure to represent individual piece." + } + ] + } + }, + "description": "Details of quantity ordered." + }, + "TaxLineItem": { + "type": "array", + "description": "A list of tax line items.", + "items": { + "$ref": "#/definitions/TaxDetails" + } + }, + "TaxDetails": { + "type": "object", + "required": [ + "taxAmount" + ], + "properties": { + "taxRate": { + "$ref": "#/definitions/Decimal" + }, + "taxAmount": { + "$ref": "#/definitions/Money" + }, + "taxableAmount": { + "$ref": "#/definitions/Money" + }, + "type": { + "type": "string", + "description": "Tax type.", + "enum": [ + "CONSUMPTION", + "GST", + "MwSt.", + "PST", + "TOTAL", + "TVA", + "VAT" + ], + "x-docgen-enum-table-extension": [ + { + "value": "CONSUMPTION", + "description": "Tax levied on consumption spending on goods and services." + }, + { + "value": "GST", + "description": "Tax levied on most goods and services sold for domestic consumption." + }, + { + "value": "MwSt.", + "description": "Mehrwertsteuer, MwSt, is German for value-added tax." + }, + { + "value": "PST", + "description": "A provincial sales tax (PST) is imposed on consumers of goods and particular services in many Canadian provinces." + }, + { + "value": "TOTAL", + "description": "Combined total of all the applicable taxes." + }, + { + "value": "TVA", + "description": "Taxe sur la Valeur Ajoutée (TVA) is French for value-added tax." + }, + { + "value": "VAT", + "description": "Value-added tax." + } + ] + } + } + }, + "AcknowledgementStatus": { + "type": "object", + "properties": { + "code": { + "type": "string", + "description": "Acknowledgement code is a unique two digit value which indicates the status of the acknowledgement. For a list of acknowledgement codes that Amazon supports, see the Vendor Direct Fulfillment APIs Use Case Guide." + }, + "description": { + "type": "string", + "description": "Reason for the acknowledgement code." + } + }, + "description": "Status of acknowledgement." + }, "Error": { "type": "object", "required": [ @@ -422,6 +2690,99 @@ } }, "description": "Error response returned when the request is unsuccessful." + }, + "ShipmentDetails": { + "type": "object", + "required": [ + "isPriorityShipment", + "isPslipRequired", + "messageToCustomer", + "shipMethod", + "shipmentDates" + ], + "properties": { + "isPriorityShipment": { + "type": "boolean", + "description": "When true, this is a priority shipment." + }, + "isScheduledDeliveryShipment": { + "type": "boolean", + "description": "When true, this order is part of a scheduled delivery program." + }, + "isPslipRequired": { + "type": "boolean", + "description": "When true, a packing slip is required to be sent to the customer." + }, + "isGift": { + "type": "boolean", + "description": "When true, the order contain a gift. Include the gift message and gift wrap information." + }, + "shipMethod": { + "type": "string", + "description": "Ship method to be used for shipping the order. Amazon defines ship method codes indicating the shipping carrier and shipment service level. To see the full list of ship methods in use, including both the code and the friendly name, search the 'Help' section on Vendor Central for 'ship methods'." + }, + "shipmentDates": { + "$ref": "#/definitions/ShipmentDates" + }, + "messageToCustomer": { + "type": "string", + "description": "Message to customer for order status." + } + }, + "description": "Shipment details required for the shipment." + }, + "ShipmentDates": { + "type": "object", + "required": [ + "requiredShipDate" + ], + "properties": { + "requiredShipDate": { + "type": "string", + "format": "date-time", + "description": "Time by which the vendor is required to ship the order." + }, + "promisedDeliveryDate": { + "type": "string", + "format": "date-time", + "description": "Delivery date promised to the Amazon customer." + } + }, + "description": "Shipment dates." + }, + "ScheduledDeliveryShipment": { + "type": "object", + "properties": { + "scheduledDeliveryServiceType": { + "type": "string", + "description": "Scheduled delivery service type." + }, + "earliestNominatedDeliveryDate": { + "type": "string", + "format": "date-time", + "description": "Earliest nominated delivery date for the scheduled delivery." + }, + "latestNominatedDeliveryDate": { + "type": "string", + "format": "date-time", + "description": "Latest nominated delivery date for the scheduled delivery." + } + }, + "description": "Dates for the scheduled delivery shipments." + }, + "GiftDetails": { + "type": "object", + "properties": { + "giftMessage": { + "type": "string", + "description": "Gift message to be printed in shipment." + }, + "giftWrapId": { + "type": "string", + "description": "Gift wrap identifier for the gift wrapping, if any." + } + }, + "description": "Gift details for the item." } } -} +} \ No newline at end of file From cd79e82e8e833e3c0c8ba168337304594e184836 Mon Sep 17 00:00:00 2001 From: Umeda Date: Tue, 20 Feb 2024 12:24:32 +0900 Subject: [PATCH 040/340] Add javascript SDK --- .../README.md | 121 + .../package-lock.json | 3870 +++++++++++++++++ .../package.json | 22 + .../src/generate-js-sdk.sh | 85 + .../src/helper/LwaAuthClient.mjs | 59 + .../src/js.config.json | 5 + .../templates/ApiClient.mustache | 769 ++++ .../swagger-codegen/templates/api.mustache | 101 + .../swagger-codegen/templates/index.mustache | 59 + .../swagger-codegen/templates/model.mustache | 18 + .../templates/package.mustache | 29 + .../templates/partial_model_generic.mustache | 155 + .../src/sample_node_app/index.mjs | 13 + 13 files changed, 5306 insertions(+) create mode 100644 clients/sellingpartner-api-aa-javascript/README.md create mode 100644 clients/sellingpartner-api-aa-javascript/package-lock.json create mode 100644 clients/sellingpartner-api-aa-javascript/package.json create mode 100755 clients/sellingpartner-api-aa-javascript/src/generate-js-sdk.sh create mode 100644 clients/sellingpartner-api-aa-javascript/src/helper/LwaAuthClient.mjs create mode 100644 clients/sellingpartner-api-aa-javascript/src/js.config.json create mode 100644 clients/sellingpartner-api-aa-javascript/src/resources/swagger-codegen/templates/ApiClient.mustache create mode 100644 clients/sellingpartner-api-aa-javascript/src/resources/swagger-codegen/templates/api.mustache create mode 100644 clients/sellingpartner-api-aa-javascript/src/resources/swagger-codegen/templates/index.mustache create mode 100644 clients/sellingpartner-api-aa-javascript/src/resources/swagger-codegen/templates/model.mustache create mode 100644 clients/sellingpartner-api-aa-javascript/src/resources/swagger-codegen/templates/package.mustache create mode 100644 clients/sellingpartner-api-aa-javascript/src/resources/swagger-codegen/templates/partial_model_generic.mustache create mode 100644 clients/sellingpartner-api-aa-javascript/src/sample_node_app/index.mjs diff --git a/clients/sellingpartner-api-aa-javascript/README.md b/clients/sellingpartner-api-aa-javascript/README.md new file mode 100644 index 000000000..70e3b3df8 --- /dev/null +++ b/clients/sellingpartner-api-aa-javascript/README.md @@ -0,0 +1,121 @@ +# Selling Partner API JavaScript client library for Node.js (v18 or later) + +## About this library +This library is to help SP-API developers to create an app in JavaScript on Node.js easier than calling HTTP endpoints directly. This library comes with the following features. +1. Login with Amazon (LWA) helper that does OAuth token refresh flow. +2. This library takes care of HTTP communication with SP-API endpoints with a help of [superagent](https://www.npmjs.com/package/superagent), so you can call SP-API by just calling a right method of library that corresponds to SP-API operation. +3. Calling SP-API requires non-standard `x-amz-access-token` HTTP request header in request. The SDK generated by this library supports to include this header with token value you specify. +4. SP-API operaitons to handle restricted data are categorized as ["Restricted Operations"](https://developer-docs.amazon.com/sp-api/lang-ja_JP/docs/tokens-api-use-case-guide#restricted-operations), which requires ["Restricted Data Token" (RDT)](https://developer-docs.amazon.com/sp-api/lang-ja_JP/docs/authorization-with-the-restricted-data-token) instead of access token for tighter security. Calling restricted operation involves two seprate steps, one of wihch is calling Tokens API to retrieve RDT and the other of which is calling protected operation with RDT. This library helps to compbine these two steps into single library call. + +## Installation and Generating SDK +Please note this library doesn't include SDK. You need to generate SDK with the template and script files included in this library. +### Prerequisites for SDK Generation +* Java version 7 or higher +* swagger-codegen-cli (swagger-codegen-cli-2.4.29) is recommended. + * Download swagger-codegen-cli JAR file and store it. You will need its path later when generating SDK. +* Node.js v18 or higher. + +__CAUTION__: Please be aware that there are two major known issues with the latest JavaScript client library. +1. If you use swagger-codegen-cli newer than 2.4.29 (such as 2.4.30 or 3.x), there is a known compatibility issue with SP-API models that makes generating SDK fail. We recommend that you use swagger-codegen-cli-2.4.29 specifically. +2. Swagger codegen tool fails to generate SDK for "Merchant Fulfillment V0 API." For workaround, you need to modify a part of the API model file "merchantFulfillmentV0.json" + +### Download swagger-codegen-cli JAR file +We use `swagger-codegen-cli` executable JAR file. You can download it by the following command. +```bash +$ wget https://repo1.maven.org/maven2/io/swagger/swagger-codegen-cli/2.4.29/swagger-codegen-cli-2.4.29.jar +``` +### Installing dependencies +Change the directory to `/src`. Run the following command to install dependencies in Node.js environment. +```bash +$ npm install +``` + +### Download API models and Generate SDK +Go to `/src` directory which is under the package root. In this directory you should be able to find `generate-js-sdk.sh` shell script file. +Run this script as the command line below. +```bash +$ ./generate-js-sdk.sh -j +``` + +You will find `models` directory and `sdk` directory under the package root.
+* `models`: directory contains API models cloned from SP-API GitHub. +* `sdk`: directory contains generated JavaScript SDK. + +### Modify Merchant Fulfillment API model file to avoid error during SDK generation +If you want to call Merchant Fulfillment API with the generated SDK, you need to follow this instruction. There is an fatal known issue in generating Merchant Fulfillment API library. If downloading API models is successful, you should be able to find `merchantFulfillmentV0.json` file In `/models/merchant-fulfillment-api-model` directory. Open this file with an editor and find the following part. +``` +"AvailableFormatOptionsForLabel": { + "$ref": "#/definitions/AvailableFormatOptionsForLabelList" +}, +``` +Since this part causes a fatal error in SDK generation for JavaScript, please replace this part with the following snipet. +``` +"AvailableFormatOptionsForLabel": { + "type": "array", + "description": "The available label formats.", + "items": { + "$ref": "#/definitions/LabelFormatOption" + } +}, +``` +After modification, please run the shell script (`generate-js-sdk.sh`) again but you should type 'n' to the prompt that asks whether to download models again. +```bash +$ ./generate-js-sdk.sh -j ~/devbin/swagger-codegen-cli-2.4.29.jar +Found /models already exists. Would you like to delete all the files under '/models' and clone again? [y/n]: n # answer 'n' otherwise modification will be overwritten. + +``` +With the correct modification in `merchantFulfillmentV0.json`, you should be able to find generated SDK for Merchant Fulfillment API. + +### How to run tests +This library contains a sample programs in `sample_node_app` directory under the packagte root.
In order to run the program, you need to have LWA credential information saved in the file and name it `app.config.mjs` and put it `/src` directory. Because __client secret__ and __refresh token__ shouldn't be exposed, you must make sure that you don't commit this file to the repository. +```javascript +export const AppConfig = { + lwaClientId: "< LWA client ID >", + lwaClientSecret: "< LWA client secret >", + lwaRefreshToken: "< LWA refresh token >", + endpoint: "https://sandbox.sellingpartnerapi-na.amazon.com", +} +``` +After you save `app.config.mjs` file, you can run the sample program`. +```bash +$ npm run test +``` +--- +## How to use SDK +### Calling SP-API operation with LWA credentials +```javascript +import { SellersApi, ApiClient as SellersApiClient } from '../../sdk/src/sellers/index.js'; + +const sellerApiClient = new SellersApiClient("https://sellingpartnerapi-na.amazon.com"); +const sellerApi = new SellersApi(sellerApiClient); +sellerApiClient.enableAutoRetrievalAccessToken("", "", ""); +const participations = await sellerApi.getMarketplaceParticipations(); +``` +### Calling RDT-required SP-API operation with LWA credentials +```javascript +import { OrdersV0Api, ApiClient as OrdersApiClient } from '../../sdk/src/ordersV0/index.js'; + +const ordersApiClient = new OrdersApiClient("https://sellingpartnerapi-fe.amazon.com"); +ordersApiClient.enableAutoRetrievalRestrictedDataToken("", + "", "", ["buyerInfo", "shippingAddress"]); +const ordersApi = new OrdersV0Api(ordersApiClient); +const order = await ordersApi.getOrder(""); +``` +### Calling SP-API with access token +In case you manage LWA token refresh flow, you can explicitly use the access token you got yourself for your SP-API call as follows. +```javascript +import { SellersApi, ApiClient as SellersApiClient } from '../../sdk/src/sellers/index.js'; + +const sellerApiClient = new SellersApiClient("https://sellingpartnerapi-fe.amazon.com"); +const sellerApi = new SellersApi(sellerApiClient); +sellerApiClient.applyXAmzAccessTokenToRequest(""); +const participations = await sellerApi.getMarketplaceParticipations(); +``` +### LWA Token refresh helper +The following code shows how to use `LwaAuthClient` to execute token refresh flow. +```javascript +import { LwaAuthClient } from ""; + +const lwaClient = new LwaAuthClient("", "", ""); +const accessToken = await lwaClient.getAccessToken(); +``` \ No newline at end of file diff --git a/clients/sellingpartner-api-aa-javascript/package-lock.json b/clients/sellingpartner-api-aa-javascript/package-lock.json new file mode 100644 index 000000000..5c817cd15 --- /dev/null +++ b/clients/sellingpartner-api-aa-javascript/package-lock.json @@ -0,0 +1,3870 @@ +{ + "name": "@amzn/testsellingpartnerjavascriptapilwalib", + "version": "1.0.0", + "lockfileVersion": 3, + "requires": true, + "packages": { + "": { + "name": "@amzn/testsellingpartnerjavascriptapilwalib", + "version": "1.0.0", + "license": "ISC", + "dependencies": { + "superagent": "^8.0.9" + }, + "devDependencies": { + "jest": "^29.6.2" + } + }, + "node_modules/@ampproject/remapping": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/@ampproject/remapping/-/remapping-2.2.1.tgz", + "integrity": "sha512-lFMjJTrFL3j7L9yBxwYfCq2k6qqwHyzuUl/XBnif78PWTJYyL/dfowQHWE3sp6U6ZzqWiiIZnpTMO96zhkjwtg==", + "dev": true, + "dependencies": { + "@jridgewell/gen-mapping": "^0.3.0", + "@jridgewell/trace-mapping": "^0.3.9" + }, + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/@babel/code-frame": { + "version": "7.22.13", + "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.22.13.tgz", + "integrity": "sha512-XktuhWlJ5g+3TJXc5upd9Ks1HutSArik6jf2eAjYFyIOf4ej3RN+184cZbzDvbPnuTJIUhPKKJE3cIsYTiAT3w==", + "dev": true, + "dependencies": { + "@babel/highlight": "^7.22.13", + "chalk": "^2.4.2" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/code-frame/node_modules/ansi-styles": { + "version": "3.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", + "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", + "dev": true, + "dependencies": { + "color-convert": "^1.9.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/@babel/code-frame/node_modules/chalk": { + "version": "2.4.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", + "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", + "dev": true, + "dependencies": { + "ansi-styles": "^3.2.1", + "escape-string-regexp": "^1.0.5", + "supports-color": "^5.3.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/@babel/code-frame/node_modules/color-convert": { + "version": "1.9.3", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz", + "integrity": "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==", + "dev": true, + "dependencies": { + "color-name": "1.1.3" + } + }, + "node_modules/@babel/code-frame/node_modules/color-name": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz", + "integrity": "sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw==", + "dev": true + }, + "node_modules/@babel/code-frame/node_modules/escape-string-regexp": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz", + "integrity": "sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg==", + "dev": true, + "engines": { + "node": ">=0.8.0" + } + }, + "node_modules/@babel/code-frame/node_modules/has-flag": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", + "integrity": "sha512-sKJf1+ceQBr4SMkvQnBDNDtf4TXpVhVGateu0t918bl30FnbE2m4vNLX+VWe/dpjlb+HugGYzW7uQXH98HPEYw==", + "dev": true, + "engines": { + "node": ">=4" + } + }, + "node_modules/@babel/code-frame/node_modules/supports-color": { + "version": "5.5.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", + "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", + "dev": true, + "dependencies": { + "has-flag": "^3.0.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/@babel/compat-data": { + "version": "7.22.20", + "resolved": "https://registry.npmjs.org/@babel/compat-data/-/compat-data-7.22.20.tgz", + "integrity": "sha512-BQYjKbpXjoXwFW5jGqiizJQQT/aC7pFm9Ok1OWssonuguICi264lbgMzRp2ZMmRSlfkX6DsWDDcsrctK8Rwfiw==", + "dev": true, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/core": { + "version": "7.23.0", + "resolved": "https://registry.npmjs.org/@babel/core/-/core-7.23.0.tgz", + "integrity": "sha512-97z/ju/Jy1rZmDxybphrBuI+jtJjFVoz7Mr9yUQVVVi+DNZE333uFQeMOqcCIy1x3WYBIbWftUSLmbNXNT7qFQ==", + "dev": true, + "dependencies": { + "@ampproject/remapping": "^2.2.0", + "@babel/code-frame": "^7.22.13", + "@babel/generator": "^7.23.0", + "@babel/helper-compilation-targets": "^7.22.15", + "@babel/helper-module-transforms": "^7.23.0", + "@babel/helpers": "^7.23.0", + "@babel/parser": "^7.23.0", + "@babel/template": "^7.22.15", + "@babel/traverse": "^7.23.0", + "@babel/types": "^7.23.0", + "convert-source-map": "^2.0.0", + "debug": "^4.1.0", + "gensync": "^1.0.0-beta.2", + "json5": "^2.2.3", + "semver": "^6.3.1" + }, + "engines": { + "node": ">=6.9.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/babel" + } + }, + "node_modules/@babel/generator": { + "version": "7.23.0", + "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.23.0.tgz", + "integrity": "sha512-lN85QRR+5IbYrMWM6Y4pE/noaQtg4pNiqeNGX60eqOfo6gtEj6uw/JagelB8vVztSd7R6M5n1+PQkDbHbBRU4g==", + "dev": true, + "dependencies": { + "@babel/types": "^7.23.0", + "@jridgewell/gen-mapping": "^0.3.2", + "@jridgewell/trace-mapping": "^0.3.17", + "jsesc": "^2.5.1" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-compilation-targets": { + "version": "7.22.15", + "resolved": "https://registry.npmjs.org/@babel/helper-compilation-targets/-/helper-compilation-targets-7.22.15.tgz", + "integrity": "sha512-y6EEzULok0Qvz8yyLkCvVX+02ic+By2UdOhylwUOvOn9dvYc9mKICJuuU1n1XBI02YWsNsnrY1kc6DVbjcXbtw==", + "dev": true, + "dependencies": { + "@babel/compat-data": "^7.22.9", + "@babel/helper-validator-option": "^7.22.15", + "browserslist": "^4.21.9", + "lru-cache": "^5.1.1", + "semver": "^6.3.1" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-environment-visitor": { + "version": "7.22.20", + "resolved": "https://registry.npmjs.org/@babel/helper-environment-visitor/-/helper-environment-visitor-7.22.20.tgz", + "integrity": "sha512-zfedSIzFhat/gFhWfHtgWvlec0nqB9YEIVrpuwjruLlXfUSnA8cJB0miHKwqDnQ7d32aKo2xt88/xZptwxbfhA==", + "dev": true, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-function-name": { + "version": "7.23.0", + "resolved": "https://registry.npmjs.org/@babel/helper-function-name/-/helper-function-name-7.23.0.tgz", + "integrity": "sha512-OErEqsrxjZTJciZ4Oo+eoZqeW9UIiOcuYKRJA4ZAgV9myA+pOXhhmpfNCKjEH/auVfEYVFJ6y1Tc4r0eIApqiw==", + "dev": true, + "dependencies": { + "@babel/template": "^7.22.15", + "@babel/types": "^7.23.0" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-hoist-variables": { + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/helper-hoist-variables/-/helper-hoist-variables-7.22.5.tgz", + "integrity": "sha512-wGjk9QZVzvknA6yKIUURb8zY3grXCcOZt+/7Wcy8O2uctxhplmUPkOdlgoNhmdVee2c92JXbf1xpMtVNbfoxRw==", + "dev": true, + "dependencies": { + "@babel/types": "^7.22.5" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-module-imports": { + "version": "7.22.15", + "resolved": "https://registry.npmjs.org/@babel/helper-module-imports/-/helper-module-imports-7.22.15.tgz", + "integrity": "sha512-0pYVBnDKZO2fnSPCrgM/6WMc7eS20Fbok+0r88fp+YtWVLZrp4CkafFGIp+W0VKw4a22sgebPT99y+FDNMdP4w==", + "dev": true, + "dependencies": { + "@babel/types": "^7.22.15" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-module-transforms": { + "version": "7.23.0", + "resolved": "https://registry.npmjs.org/@babel/helper-module-transforms/-/helper-module-transforms-7.23.0.tgz", + "integrity": "sha512-WhDWw1tdrlT0gMgUJSlX0IQvoO1eN279zrAUbVB+KpV2c3Tylz8+GnKOLllCS6Z/iZQEyVYxhZVUdPTqs2YYPw==", + "dev": true, + "dependencies": { + "@babel/helper-environment-visitor": "^7.22.20", + "@babel/helper-module-imports": "^7.22.15", + "@babel/helper-simple-access": "^7.22.5", + "@babel/helper-split-export-declaration": "^7.22.6", + "@babel/helper-validator-identifier": "^7.22.20" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0" + } + }, + "node_modules/@babel/helper-plugin-utils": { + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.22.5.tgz", + "integrity": "sha512-uLls06UVKgFG9QD4OeFYLEGteMIAa5kpTPcFL28yuCIIzsf6ZyKZMllKVOCZFhiZ5ptnwX4mtKdWCBE/uT4amg==", + "dev": true, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-simple-access": { + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/helper-simple-access/-/helper-simple-access-7.22.5.tgz", + "integrity": "sha512-n0H99E/K+Bika3++WNL17POvo4rKWZ7lZEp1Q+fStVbUi8nxPQEBOlTmCOxW/0JsS56SKKQ+ojAe2pHKJHN35w==", + "dev": true, + "dependencies": { + "@babel/types": "^7.22.5" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-split-export-declaration": { + "version": "7.22.6", + "resolved": "https://registry.npmjs.org/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.22.6.tgz", + "integrity": "sha512-AsUnxuLhRYsisFiaJwvp1QF+I3KjD5FOxut14q/GzovUe6orHLesW2C7d754kRm53h5gqrz6sFl6sxc4BVtE/g==", + "dev": true, + "dependencies": { + "@babel/types": "^7.22.5" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-string-parser": { + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/helper-string-parser/-/helper-string-parser-7.22.5.tgz", + "integrity": "sha512-mM4COjgZox8U+JcXQwPijIZLElkgEpO5rsERVDJTc2qfCDfERyob6k5WegS14SX18IIjv+XD+GrqNumY5JRCDw==", + "dev": true, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-validator-identifier": { + "version": "7.22.20", + "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.22.20.tgz", + "integrity": "sha512-Y4OZ+ytlatR8AI+8KZfKuL5urKp7qey08ha31L8b3BwewJAoJamTzyvxPR/5D+KkdJCGPq/+8TukHBlY10FX9A==", + "dev": true, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-validator-option": { + "version": "7.22.15", + "resolved": "https://registry.npmjs.org/@babel/helper-validator-option/-/helper-validator-option-7.22.15.tgz", + "integrity": "sha512-bMn7RmyFjY/mdECUbgn9eoSY4vqvacUnS9i9vGAGttgFWesO6B4CYWA7XlpbWgBt71iv/hfbPlynohStqnu5hA==", + "dev": true, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helpers": { + "version": "7.23.1", + "resolved": "https://registry.npmjs.org/@babel/helpers/-/helpers-7.23.1.tgz", + "integrity": "sha512-chNpneuK18yW5Oxsr+t553UZzzAs3aZnFm4bxhebsNTeshrC95yA7l5yl7GBAG+JG1rF0F7zzD2EixK9mWSDoA==", + "dev": true, + "dependencies": { + "@babel/template": "^7.22.15", + "@babel/traverse": "^7.23.0", + "@babel/types": "^7.23.0" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/highlight": { + "version": "7.22.20", + "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.22.20.tgz", + "integrity": "sha512-dkdMCN3py0+ksCgYmGG8jKeGA/8Tk+gJwSYYlFGxG5lmhfKNoAy004YpLxpS1W2J8m/EK2Ew+yOs9pVRwO89mg==", + "dev": true, + "dependencies": { + "@babel/helper-validator-identifier": "^7.22.20", + "chalk": "^2.4.2", + "js-tokens": "^4.0.0" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/highlight/node_modules/ansi-styles": { + "version": "3.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", + "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", + "dev": true, + "dependencies": { + "color-convert": "^1.9.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/@babel/highlight/node_modules/chalk": { + "version": "2.4.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", + "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", + "dev": true, + "dependencies": { + "ansi-styles": "^3.2.1", + "escape-string-regexp": "^1.0.5", + "supports-color": "^5.3.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/@babel/highlight/node_modules/color-convert": { + "version": "1.9.3", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz", + "integrity": "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==", + "dev": true, + "dependencies": { + "color-name": "1.1.3" + } + }, + "node_modules/@babel/highlight/node_modules/color-name": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz", + "integrity": "sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw==", + "dev": true + }, + "node_modules/@babel/highlight/node_modules/escape-string-regexp": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz", + "integrity": "sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg==", + "dev": true, + "engines": { + "node": ">=0.8.0" + } + }, + "node_modules/@babel/highlight/node_modules/has-flag": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", + "integrity": "sha512-sKJf1+ceQBr4SMkvQnBDNDtf4TXpVhVGateu0t918bl30FnbE2m4vNLX+VWe/dpjlb+HugGYzW7uQXH98HPEYw==", + "dev": true, + "engines": { + "node": ">=4" + } + }, + "node_modules/@babel/highlight/node_modules/supports-color": { + "version": "5.5.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", + "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", + "dev": true, + "dependencies": { + "has-flag": "^3.0.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/@babel/parser": { + "version": "7.23.0", + "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.23.0.tgz", + "integrity": "sha512-vvPKKdMemU85V9WE/l5wZEmImpCtLqbnTvqDS2U1fJ96KrxoW7KrXhNsNCblQlg8Ck4b85yxdTyelsMUgFUXiw==", + "dev": true, + "bin": { + "parser": "bin/babel-parser.js" + }, + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/@babel/plugin-syntax-async-generators": { + "version": "7.8.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-async-generators/-/plugin-syntax-async-generators-7.8.4.tgz", + "integrity": "sha512-tycmZxkGfZaxhMRbXlPXuVFpdWlXpir2W4AMhSJgRKzk/eDlIXOhb2LHWoLpDF7TEHylV5zNhykX6KAgHJmTNw==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.8.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-syntax-bigint": { + "version": "7.8.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-bigint/-/plugin-syntax-bigint-7.8.3.tgz", + "integrity": "sha512-wnTnFlG+YxQm3vDxpGE57Pj0srRU4sHE/mDkt1qv2YJJSeUAec2ma4WLUnUPeKjyrfntVwe/N6dCXpU+zL3Npg==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.8.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-syntax-class-properties": { + "version": "7.12.13", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-class-properties/-/plugin-syntax-class-properties-7.12.13.tgz", + "integrity": "sha512-fm4idjKla0YahUNgFNLCB0qySdsoPiZP3iQE3rky0mBUtMZ23yDJ9SJdg6dXTSDnulOVqiF3Hgr9nbXvXTQZYA==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.12.13" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-syntax-import-meta": { + "version": "7.10.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-import-meta/-/plugin-syntax-import-meta-7.10.4.tgz", + "integrity": "sha512-Yqfm+XDx0+Prh3VSeEQCPU81yC+JWZ2pDPFSS4ZdpfZhp4MkFMaDC1UqseovEKwSUpnIL7+vK+Clp7bfh0iD7g==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.10.4" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-syntax-json-strings": { + "version": "7.8.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-json-strings/-/plugin-syntax-json-strings-7.8.3.tgz", + "integrity": "sha512-lY6kdGpWHvjoe2vk4WrAapEuBR69EMxZl+RoGRhrFGNYVK8mOPAW8VfbT/ZgrFbXlDNiiaxQnAtgVCZ6jv30EA==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.8.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-syntax-jsx": { + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-jsx/-/plugin-syntax-jsx-7.22.5.tgz", + "integrity": "sha512-gvyP4hZrgrs/wWMaocvxZ44Hw0b3W8Pe+cMxc8V1ULQ07oh8VNbIRaoD1LRZVTvD+0nieDKjfgKg89sD7rrKrg==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.22.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-syntax-logical-assignment-operators": { + "version": "7.10.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-logical-assignment-operators/-/plugin-syntax-logical-assignment-operators-7.10.4.tgz", + "integrity": "sha512-d8waShlpFDinQ5MtvGU9xDAOzKH47+FFoney2baFIoMr952hKOLp1HR7VszoZvOsV/4+RRszNY7D17ba0te0ig==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.10.4" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-syntax-nullish-coalescing-operator": { + "version": "7.8.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-nullish-coalescing-operator/-/plugin-syntax-nullish-coalescing-operator-7.8.3.tgz", + "integrity": "sha512-aSff4zPII1u2QD7y+F8oDsz19ew4IGEJg9SVW+bqwpwtfFleiQDMdzA/R+UlWDzfnHFCxxleFT0PMIrR36XLNQ==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.8.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-syntax-numeric-separator": { + "version": "7.10.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-numeric-separator/-/plugin-syntax-numeric-separator-7.10.4.tgz", + "integrity": "sha512-9H6YdfkcK/uOnY/K7/aA2xpzaAgkQn37yzWUMRK7OaPOqOpGS1+n0H5hxT9AUw9EsSjPW8SVyMJwYRtWs3X3ug==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.10.4" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-syntax-object-rest-spread": { + "version": "7.8.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-object-rest-spread/-/plugin-syntax-object-rest-spread-7.8.3.tgz", + "integrity": "sha512-XoqMijGZb9y3y2XskN+P1wUGiVwWZ5JmoDRwx5+3GmEplNyVM2s2Dg8ILFQm8rWM48orGy5YpI5Bl8U1y7ydlA==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.8.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-syntax-optional-catch-binding": { + "version": "7.8.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-optional-catch-binding/-/plugin-syntax-optional-catch-binding-7.8.3.tgz", + "integrity": "sha512-6VPD0Pc1lpTqw0aKoeRTMiB+kWhAoT24PA+ksWSBrFtl5SIRVpZlwN3NNPQjehA2E/91FV3RjLWoVTglWcSV3Q==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.8.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-syntax-optional-chaining": { + "version": "7.8.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-optional-chaining/-/plugin-syntax-optional-chaining-7.8.3.tgz", + "integrity": "sha512-KoK9ErH1MBlCPxV0VANkXW2/dw4vlbGDrFgz8bmUsBGYkFRcbRwMh6cIJubdPrkxRwuGdtCk0v/wPTKbQgBjkg==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.8.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-syntax-top-level-await": { + "version": "7.14.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-top-level-await/-/plugin-syntax-top-level-await-7.14.5.tgz", + "integrity": "sha512-hx++upLv5U1rgYfwe1xBQUhRmU41NEvpUvrp8jkrSCdvGSnM5/qdRMtylJ6PG5OFkBaHkbTAKTnd3/YyESRHFw==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.14.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-syntax-typescript": { + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-typescript/-/plugin-syntax-typescript-7.22.5.tgz", + "integrity": "sha512-1mS2o03i7t1c6VzH6fdQ3OA8tcEIxwG18zIPRp+UY1Ihv6W+XZzBCVxExF9upussPXJ0xE9XRHwMoNs1ep/nRQ==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.22.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/template": { + "version": "7.22.15", + "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.22.15.tgz", + "integrity": "sha512-QPErUVm4uyJa60rkI73qneDacvdvzxshT3kksGqlGWYdOTIUOwJ7RDUL8sGqslY1uXWSL6xMFKEXDS3ox2uF0w==", + "dev": true, + "dependencies": { + "@babel/code-frame": "^7.22.13", + "@babel/parser": "^7.22.15", + "@babel/types": "^7.22.15" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/traverse": { + "version": "7.23.0", + "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.23.0.tgz", + "integrity": "sha512-t/QaEvyIoIkwzpiZ7aoSKK8kObQYeF7T2v+dazAYCb8SXtp58zEVkWW7zAnju8FNKNdr4ScAOEDmMItbyOmEYw==", + "dev": true, + "dependencies": { + "@babel/code-frame": "^7.22.13", + "@babel/generator": "^7.23.0", + "@babel/helper-environment-visitor": "^7.22.20", + "@babel/helper-function-name": "^7.23.0", + "@babel/helper-hoist-variables": "^7.22.5", + "@babel/helper-split-export-declaration": "^7.22.6", + "@babel/parser": "^7.23.0", + "@babel/types": "^7.23.0", + "debug": "^4.1.0", + "globals": "^11.1.0" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/types": { + "version": "7.23.0", + "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.23.0.tgz", + "integrity": "sha512-0oIyUfKoI3mSqMvsxBdclDwxXKXAUA8v/apZbc+iSyARYou1o8ZGDxbUYyLFoW2arqS2jDGqJuZvv1d/io1axg==", + "dev": true, + "dependencies": { + "@babel/helper-string-parser": "^7.22.5", + "@babel/helper-validator-identifier": "^7.22.20", + "to-fast-properties": "^2.0.0" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@bcoe/v8-coverage": { + "version": "0.2.3", + "resolved": "https://registry.npmjs.org/@bcoe/v8-coverage/-/v8-coverage-0.2.3.tgz", + "integrity": "sha512-0hYQ8SB4Db5zvZB4axdMHGwEaQjkZzFjQiN9LVYvIFB2nSUHW9tYpxWriPrWDASIxiaXax83REcLxuSdnGPZtw==", + "dev": true + }, + "node_modules/@istanbuljs/load-nyc-config": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/@istanbuljs/load-nyc-config/-/load-nyc-config-1.1.0.tgz", + "integrity": "sha512-VjeHSlIzpv/NyD3N0YuHfXOPDIixcA1q2ZV98wsMqcYlPmv2n3Yb2lYP9XMElnaFVXg5A7YLTeLu6V84uQDjmQ==", + "dev": true, + "dependencies": { + "camelcase": "^5.3.1", + "find-up": "^4.1.0", + "get-package-type": "^0.1.0", + "js-yaml": "^3.13.1", + "resolve-from": "^5.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/@istanbuljs/schema": { + "version": "0.1.3", + "resolved": "https://registry.npmjs.org/@istanbuljs/schema/-/schema-0.1.3.tgz", + "integrity": "sha512-ZXRY4jNvVgSVQ8DL3LTcakaAtXwTVUxE81hslsyD2AtoXW/wVob10HkOJ1X/pAlcI7D+2YoZKg5do8G/w6RYgA==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/@jest/console": { + "version": "29.7.0", + "resolved": "https://registry.npmjs.org/@jest/console/-/console-29.7.0.tgz", + "integrity": "sha512-5Ni4CU7XHQi32IJ398EEP4RrB8eV09sXP2ROqD4bksHrnTree52PsxvX8tpL8LvTZ3pFzXyPbNQReSN41CAhOg==", + "dev": true, + "dependencies": { + "@jest/types": "^29.6.3", + "@types/node": "*", + "chalk": "^4.0.0", + "jest-message-util": "^29.7.0", + "jest-util": "^29.7.0", + "slash": "^3.0.0" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + } + }, + "node_modules/@jest/core": { + "version": "29.7.0", + "resolved": "https://registry.npmjs.org/@jest/core/-/core-29.7.0.tgz", + "integrity": "sha512-n7aeXWKMnGtDA48y8TLWJPJmLmmZ642Ceo78cYWEpiD7FzDgmNDV/GCVRorPABdXLJZ/9wzzgZAlHjXjxDHGsg==", + "dev": true, + "dependencies": { + "@jest/console": "^29.7.0", + "@jest/reporters": "^29.7.0", + "@jest/test-result": "^29.7.0", + "@jest/transform": "^29.7.0", + "@jest/types": "^29.6.3", + "@types/node": "*", + "ansi-escapes": "^4.2.1", + "chalk": "^4.0.0", + "ci-info": "^3.2.0", + "exit": "^0.1.2", + "graceful-fs": "^4.2.9", + "jest-changed-files": "^29.7.0", + "jest-config": "^29.7.0", + "jest-haste-map": "^29.7.0", + "jest-message-util": "^29.7.0", + "jest-regex-util": "^29.6.3", + "jest-resolve": "^29.7.0", + "jest-resolve-dependencies": "^29.7.0", + "jest-runner": "^29.7.0", + "jest-runtime": "^29.7.0", + "jest-snapshot": "^29.7.0", + "jest-util": "^29.7.0", + "jest-validate": "^29.7.0", + "jest-watcher": "^29.7.0", + "micromatch": "^4.0.4", + "pretty-format": "^29.7.0", + "slash": "^3.0.0", + "strip-ansi": "^6.0.0" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + }, + "peerDependencies": { + "node-notifier": "^8.0.1 || ^9.0.0 || ^10.0.0" + }, + "peerDependenciesMeta": { + "node-notifier": { + "optional": true + } + } + }, + "node_modules/@jest/environment": { + "version": "29.7.0", + "resolved": "https://registry.npmjs.org/@jest/environment/-/environment-29.7.0.tgz", + "integrity": "sha512-aQIfHDq33ExsN4jP1NWGXhxgQ/wixs60gDiKO+XVMd8Mn0NWPWgc34ZQDTb2jKaUWQ7MuwoitXAsN2XVXNMpAw==", + "dev": true, + "dependencies": { + "@jest/fake-timers": "^29.7.0", + "@jest/types": "^29.6.3", + "@types/node": "*", + "jest-mock": "^29.7.0" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + } + }, + "node_modules/@jest/expect": { + "version": "29.7.0", + "resolved": "https://registry.npmjs.org/@jest/expect/-/expect-29.7.0.tgz", + "integrity": "sha512-8uMeAMycttpva3P1lBHB8VciS9V0XAr3GymPpipdyQXbBcuhkLQOSe8E/p92RyAdToS6ZD1tFkX+CkhoECE0dQ==", + "dev": true, + "dependencies": { + "expect": "^29.7.0", + "jest-snapshot": "^29.7.0" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + } + }, + "node_modules/@jest/expect-utils": { + "version": "29.7.0", + "resolved": "https://registry.npmjs.org/@jest/expect-utils/-/expect-utils-29.7.0.tgz", + "integrity": "sha512-GlsNBWiFQFCVi9QVSx7f5AgMeLxe9YCCs5PuP2O2LdjDAA8Jh9eX7lA1Jq/xdXw3Wb3hyvlFNfZIfcRetSzYcA==", + "dev": true, + "dependencies": { + "jest-get-type": "^29.6.3" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + } + }, + "node_modules/@jest/fake-timers": { + "version": "29.7.0", + "resolved": "https://registry.npmjs.org/@jest/fake-timers/-/fake-timers-29.7.0.tgz", + "integrity": "sha512-q4DH1Ha4TTFPdxLsqDXK1d3+ioSL7yL5oCMJZgDYm6i+6CygW5E5xVr/D1HdsGxjt1ZWSfUAs9OxSB/BNelWrQ==", + "dev": true, + "dependencies": { + "@jest/types": "^29.6.3", + "@sinonjs/fake-timers": "^10.0.2", + "@types/node": "*", + "jest-message-util": "^29.7.0", + "jest-mock": "^29.7.0", + "jest-util": "^29.7.0" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + } + }, + "node_modules/@jest/globals": { + "version": "29.7.0", + "resolved": "https://registry.npmjs.org/@jest/globals/-/globals-29.7.0.tgz", + "integrity": "sha512-mpiz3dutLbkW2MNFubUGUEVLkTGiqW6yLVTA+JbP6fI6J5iL9Y0Nlg8k95pcF8ctKwCS7WVxteBs29hhfAotzQ==", + "dev": true, + "dependencies": { + "@jest/environment": "^29.7.0", + "@jest/expect": "^29.7.0", + "@jest/types": "^29.6.3", + "jest-mock": "^29.7.0" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + } + }, + "node_modules/@jest/reporters": { + "version": "29.7.0", + "resolved": "https://registry.npmjs.org/@jest/reporters/-/reporters-29.7.0.tgz", + "integrity": "sha512-DApq0KJbJOEzAFYjHADNNxAE3KbhxQB1y5Kplb5Waqw6zVbuWatSnMjE5gs8FUgEPmNsnZA3NCWl9NG0ia04Pg==", + "dev": true, + "dependencies": { + "@bcoe/v8-coverage": "^0.2.3", + "@jest/console": "^29.7.0", + "@jest/test-result": "^29.7.0", + "@jest/transform": "^29.7.0", + "@jest/types": "^29.6.3", + "@jridgewell/trace-mapping": "^0.3.18", + "@types/node": "*", + "chalk": "^4.0.0", + "collect-v8-coverage": "^1.0.0", + "exit": "^0.1.2", + "glob": "^7.1.3", + "graceful-fs": "^4.2.9", + "istanbul-lib-coverage": "^3.0.0", + "istanbul-lib-instrument": "^6.0.0", + "istanbul-lib-report": "^3.0.0", + "istanbul-lib-source-maps": "^4.0.0", + "istanbul-reports": "^3.1.3", + "jest-message-util": "^29.7.0", + "jest-util": "^29.7.0", + "jest-worker": "^29.7.0", + "slash": "^3.0.0", + "string-length": "^4.0.1", + "strip-ansi": "^6.0.0", + "v8-to-istanbul": "^9.0.1" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + }, + "peerDependencies": { + "node-notifier": "^8.0.1 || ^9.0.0 || ^10.0.0" + }, + "peerDependenciesMeta": { + "node-notifier": { + "optional": true + } + } + }, + "node_modules/@jest/schemas": { + "version": "29.6.3", + "resolved": "https://registry.npmjs.org/@jest/schemas/-/schemas-29.6.3.tgz", + "integrity": "sha512-mo5j5X+jIZmJQveBKeS/clAueipV7KgiX1vMgCxam1RNYiqE1w62n0/tJJnHtjW8ZHcQco5gY85jA3mi0L+nSA==", + "dev": true, + "dependencies": { + "@sinclair/typebox": "^0.27.8" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + } + }, + "node_modules/@jest/source-map": { + "version": "29.6.3", + "resolved": "https://registry.npmjs.org/@jest/source-map/-/source-map-29.6.3.tgz", + "integrity": "sha512-MHjT95QuipcPrpLM+8JMSzFx6eHp5Bm+4XeFDJlwsvVBjmKNiIAvasGK2fxz2WbGRlnvqehFbh07MMa7n3YJnw==", + "dev": true, + "dependencies": { + "@jridgewell/trace-mapping": "^0.3.18", + "callsites": "^3.0.0", + "graceful-fs": "^4.2.9" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + } + }, + "node_modules/@jest/test-result": { + "version": "29.7.0", + "resolved": "https://registry.npmjs.org/@jest/test-result/-/test-result-29.7.0.tgz", + "integrity": "sha512-Fdx+tv6x1zlkJPcWXmMDAG2HBnaR9XPSd5aDWQVsfrZmLVT3lU1cwyxLgRmXR9yrq4NBoEm9BMsfgFzTQAbJYA==", + "dev": true, + "dependencies": { + "@jest/console": "^29.7.0", + "@jest/types": "^29.6.3", + "@types/istanbul-lib-coverage": "^2.0.0", + "collect-v8-coverage": "^1.0.0" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + } + }, + "node_modules/@jest/test-sequencer": { + "version": "29.7.0", + "resolved": "https://registry.npmjs.org/@jest/test-sequencer/-/test-sequencer-29.7.0.tgz", + "integrity": "sha512-GQwJ5WZVrKnOJuiYiAF52UNUJXgTZx1NHjFSEB0qEMmSZKAkdMoIzw/Cj6x6NF4AvV23AUqDpFzQkN/eYCYTxw==", + "dev": true, + "dependencies": { + "@jest/test-result": "^29.7.0", + "graceful-fs": "^4.2.9", + "jest-haste-map": "^29.7.0", + "slash": "^3.0.0" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + } + }, + "node_modules/@jest/transform": { + "version": "29.7.0", + "resolved": "https://registry.npmjs.org/@jest/transform/-/transform-29.7.0.tgz", + "integrity": "sha512-ok/BTPFzFKVMwO5eOHRrvnBVHdRy9IrsrW1GpMaQ9MCnilNLXQKmAX8s1YXDFaai9xJpac2ySzV0YeRRECr2Vw==", + "dev": true, + "dependencies": { + "@babel/core": "^7.11.6", + "@jest/types": "^29.6.3", + "@jridgewell/trace-mapping": "^0.3.18", + "babel-plugin-istanbul": "^6.1.1", + "chalk": "^4.0.0", + "convert-source-map": "^2.0.0", + "fast-json-stable-stringify": "^2.1.0", + "graceful-fs": "^4.2.9", + "jest-haste-map": "^29.7.0", + "jest-regex-util": "^29.6.3", + "jest-util": "^29.7.0", + "micromatch": "^4.0.4", + "pirates": "^4.0.4", + "slash": "^3.0.0", + "write-file-atomic": "^4.0.2" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + } + }, + "node_modules/@jest/types": { + "version": "29.6.3", + "resolved": "https://registry.npmjs.org/@jest/types/-/types-29.6.3.tgz", + "integrity": "sha512-u3UPsIilWKOM3F9CXtrG8LEJmNxwoCQC/XVj4IKYXvvpx7QIi/Kg1LI5uDmDpKlac62NUtX7eLjRh+jVZcLOzw==", + "dev": true, + "dependencies": { + "@jest/schemas": "^29.6.3", + "@types/istanbul-lib-coverage": "^2.0.0", + "@types/istanbul-reports": "^3.0.0", + "@types/node": "*", + "@types/yargs": "^17.0.8", + "chalk": "^4.0.0" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + } + }, + "node_modules/@jridgewell/gen-mapping": { + "version": "0.3.3", + "resolved": "https://registry.npmjs.org/@jridgewell/gen-mapping/-/gen-mapping-0.3.3.tgz", + "integrity": "sha512-HLhSWOLRi875zjjMG/r+Nv0oCW8umGb0BgEhyX3dDX3egwZtB8PqLnjz3yedt8R5StBrzcg4aBpnh8UA9D1BoQ==", + "dev": true, + "dependencies": { + "@jridgewell/set-array": "^1.0.1", + "@jridgewell/sourcemap-codec": "^1.4.10", + "@jridgewell/trace-mapping": "^0.3.9" + }, + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/@jridgewell/resolve-uri": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/@jridgewell/resolve-uri/-/resolve-uri-3.1.1.tgz", + "integrity": "sha512-dSYZh7HhCDtCKm4QakX0xFpsRDqjjtZf/kjI/v3T3Nwt5r8/qz/M19F9ySyOqU94SXBmeG9ttTul+YnR4LOxFA==", + "dev": true, + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/@jridgewell/set-array": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/@jridgewell/set-array/-/set-array-1.1.2.tgz", + "integrity": "sha512-xnkseuNADM0gt2bs+BvhO0p78Mk762YnZdsuzFV018NoG1Sj1SCQvpSqa7XUaTam5vAGasABV9qXASMKnFMwMw==", + "dev": true, + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/@jridgewell/sourcemap-codec": { + "version": "1.4.15", + "resolved": "https://registry.npmjs.org/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.4.15.tgz", + "integrity": "sha512-eF2rxCRulEKXHTRiDrDy6erMYWqNw4LPdQ8UQA4huuxaQsVeRPFl2oM8oDGxMFhJUWZf9McpLtJasDDZb/Bpeg==", + "dev": true + }, + "node_modules/@jridgewell/trace-mapping": { + "version": "0.3.19", + "resolved": "https://registry.npmjs.org/@jridgewell/trace-mapping/-/trace-mapping-0.3.19.tgz", + "integrity": "sha512-kf37QtfW+Hwx/buWGMPcR60iF9ziHa6r/CZJIHbmcm4+0qrXiVdxegAH0F6yddEVQ7zdkjcGCgCzUu+BcbhQxw==", + "dev": true, + "dependencies": { + "@jridgewell/resolve-uri": "^3.1.0", + "@jridgewell/sourcemap-codec": "^1.4.14" + } + }, + "node_modules/@sinclair/typebox": { + "version": "0.27.8", + "resolved": "https://registry.npmjs.org/@sinclair/typebox/-/typebox-0.27.8.tgz", + "integrity": "sha512-+Fj43pSMwJs4KRrH/938Uf+uAELIgVBmQzg/q1YG10djyfA3TnrU8N8XzqCh/okZdszqBQTZf96idMfE5lnwTA==", + "dev": true + }, + "node_modules/@sinonjs/commons": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/@sinonjs/commons/-/commons-3.0.0.tgz", + "integrity": "sha512-jXBtWAF4vmdNmZgD5FoKsVLv3rPgDnLgPbU84LIJ3otV44vJlDRokVng5v8NFJdCf/da9legHcKaRuZs4L7faA==", + "dev": true, + "dependencies": { + "type-detect": "4.0.8" + } + }, + "node_modules/@sinonjs/fake-timers": { + "version": "10.3.0", + "resolved": "https://registry.npmjs.org/@sinonjs/fake-timers/-/fake-timers-10.3.0.tgz", + "integrity": "sha512-V4BG07kuYSUkTCSBHG8G8TNhM+F19jXFWnQtzj+we8DrkpSBCee9Z3Ms8yiGer/dlmhe35/Xdgyo3/0rQKg7YA==", + "dev": true, + "dependencies": { + "@sinonjs/commons": "^3.0.0" + } + }, + "node_modules/@types/babel__core": { + "version": "7.20.2", + "resolved": "https://registry.npmjs.org/@types/babel__core/-/babel__core-7.20.2.tgz", + "integrity": "sha512-pNpr1T1xLUc2l3xJKuPtsEky3ybxN3m4fJkknfIpTCTfIZCDW57oAg+EfCgIIp2rvCe0Wn++/FfodDS4YXxBwA==", + "dev": true, + "dependencies": { + "@babel/parser": "^7.20.7", + "@babel/types": "^7.20.7", + "@types/babel__generator": "*", + "@types/babel__template": "*", + "@types/babel__traverse": "*" + } + }, + "node_modules/@types/babel__generator": { + "version": "7.6.5", + "resolved": "https://registry.npmjs.org/@types/babel__generator/-/babel__generator-7.6.5.tgz", + "integrity": "sha512-h9yIuWbJKdOPLJTbmSpPzkF67e659PbQDba7ifWm5BJ8xTv+sDmS7rFmywkWOvXedGTivCdeGSIIX8WLcRTz8w==", + "dev": true, + "dependencies": { + "@babel/types": "^7.0.0" + } + }, + "node_modules/@types/babel__template": { + "version": "7.4.2", + "resolved": "https://registry.npmjs.org/@types/babel__template/-/babel__template-7.4.2.tgz", + "integrity": "sha512-/AVzPICMhMOMYoSx9MoKpGDKdBRsIXMNByh1PXSZoa+v6ZoLa8xxtsT/uLQ/NJm0XVAWl/BvId4MlDeXJaeIZQ==", + "dev": true, + "dependencies": { + "@babel/parser": "^7.1.0", + "@babel/types": "^7.0.0" + } + }, + "node_modules/@types/babel__traverse": { + "version": "7.20.2", + "resolved": "https://registry.npmjs.org/@types/babel__traverse/-/babel__traverse-7.20.2.tgz", + "integrity": "sha512-ojlGK1Hsfce93J0+kn3H5R73elidKUaZonirN33GSmgTUMpzI/MIFfSpF3haANe3G1bEBS9/9/QEqwTzwqFsKw==", + "dev": true, + "dependencies": { + "@babel/types": "^7.20.7" + } + }, + "node_modules/@types/graceful-fs": { + "version": "4.1.7", + "resolved": "https://registry.npmjs.org/@types/graceful-fs/-/graceful-fs-4.1.7.tgz", + "integrity": "sha512-MhzcwU8aUygZroVwL2jeYk6JisJrPl/oov/gsgGCue9mkgl9wjGbzReYQClxiUgFDnib9FuHqTndccKeZKxTRw==", + "dev": true, + "dependencies": { + "@types/node": "*" + } + }, + "node_modules/@types/istanbul-lib-coverage": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/@types/istanbul-lib-coverage/-/istanbul-lib-coverage-2.0.4.tgz", + "integrity": "sha512-z/QT1XN4K4KYuslS23k62yDIDLwLFkzxOuMplDtObz0+y7VqJCaO2o+SPwHCvLFZh7xazvvoor2tA/hPz9ee7g==", + "dev": true + }, + "node_modules/@types/istanbul-lib-report": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/@types/istanbul-lib-report/-/istanbul-lib-report-3.0.1.tgz", + "integrity": "sha512-gPQuzaPR5h/djlAv2apEG1HVOyj1IUs7GpfMZixU0/0KXT3pm64ylHuMUI1/Akh+sq/iikxg6Z2j+fcMDXaaTQ==", + "dev": true, + "dependencies": { + "@types/istanbul-lib-coverage": "*" + } + }, + "node_modules/@types/istanbul-reports": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/@types/istanbul-reports/-/istanbul-reports-3.0.2.tgz", + "integrity": "sha512-kv43F9eb3Lhj+lr/Hn6OcLCs/sSM8bt+fIaP11rCYngfV6NVjzWXJ17owQtDQTL9tQ8WSLUrGsSJ6rJz0F1w1A==", + "dev": true, + "dependencies": { + "@types/istanbul-lib-report": "*" + } + }, + "node_modules/@types/node": { + "version": "20.8.4", + "resolved": "https://registry.npmjs.org/@types/node/-/node-20.8.4.tgz", + "integrity": "sha512-ZVPnqU58giiCjSxjVUESDtdPk4QR5WQhhINbc9UBrKLU68MX5BF6kbQzTrkwbolyr0X8ChBpXfavr5mZFKZQ5A==", + "dev": true, + "dependencies": { + "undici-types": "~5.25.1" + } + }, + "node_modules/@types/stack-utils": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/@types/stack-utils/-/stack-utils-2.0.1.tgz", + "integrity": "sha512-Hl219/BT5fLAaz6NDkSuhzasy49dwQS/DSdu4MdggFB8zcXv7vflBI3xp7FEmkmdDkBUI2bPUNeMttp2knYdxw==", + "dev": true + }, + "node_modules/@types/yargs": { + "version": "17.0.28", + "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-17.0.28.tgz", + "integrity": "sha512-N3e3fkS86hNhtk6BEnc0rj3zcehaxx8QWhCROJkqpl5Zaoi7nAic3jH8q94jVD3zu5LGk+PUB6KAiDmimYOEQw==", + "dev": true, + "dependencies": { + "@types/yargs-parser": "*" + } + }, + "node_modules/@types/yargs-parser": { + "version": "21.0.1", + "resolved": "https://registry.npmjs.org/@types/yargs-parser/-/yargs-parser-21.0.1.tgz", + "integrity": "sha512-axdPBuLuEJt0c4yI5OZssC19K2Mq1uKdrfZBzuxLvaztgqUtFYZUNw7lETExPYJR9jdEoIg4mb7RQKRQzOkeGQ==", + "dev": true + }, + "node_modules/ansi-escapes": { + "version": "4.3.2", + "resolved": "https://registry.npmjs.org/ansi-escapes/-/ansi-escapes-4.3.2.tgz", + "integrity": "sha512-gKXj5ALrKWQLsYG9jlTRmR/xKluxHV+Z9QEwNIgCfM1/uwPMCuzVVnh5mwTd+OuBZcwSIMbqssNWRm1lE51QaQ==", + "dev": true, + "dependencies": { + "type-fest": "^0.21.3" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/ansi-regex": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz", + "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "dev": true, + "dependencies": { + "color-convert": "^2.0.1" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" + } + }, + "node_modules/anymatch": { + "version": "3.1.3", + "resolved": "https://registry.npmjs.org/anymatch/-/anymatch-3.1.3.tgz", + "integrity": "sha512-KMReFUr0B4t+D+OBkjR3KYqvocp2XaSzO55UcB6mgQMd3KbcE+mWTyvVV7D/zsdEbNnV6acZUutkiHQXvTr1Rw==", + "dev": true, + "dependencies": { + "normalize-path": "^3.0.0", + "picomatch": "^2.0.4" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/argparse": { + "version": "1.0.10", + "resolved": "https://registry.npmjs.org/argparse/-/argparse-1.0.10.tgz", + "integrity": "sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg==", + "dev": true, + "dependencies": { + "sprintf-js": "~1.0.2" + } + }, + "node_modules/asap": { + "version": "2.0.6", + "resolved": "https://registry.npmjs.org/asap/-/asap-2.0.6.tgz", + "integrity": "sha512-BSHWgDSAiKs50o2Re8ppvp3seVHXSRM44cdSsT9FfNEUUZLOGWVCsiWaRPWM1Znn+mqZ1OfVZ3z3DWEzSp7hRA==" + }, + "node_modules/asynckit": { + "version": "0.4.0", + "resolved": "https://registry.npmjs.org/asynckit/-/asynckit-0.4.0.tgz", + "integrity": "sha512-Oei9OH4tRh0YqU3GxhX79dM/mwVgvbZJaSNaRk+bshkj0S5cfHcgYakreBjrHwatXKbz+IoIdYLxrKim2MjW0Q==" + }, + "node_modules/babel-jest": { + "version": "29.7.0", + "resolved": "https://registry.npmjs.org/babel-jest/-/babel-jest-29.7.0.tgz", + "integrity": "sha512-BrvGY3xZSwEcCzKvKsCi2GgHqDqsYkOP4/by5xCgIwGXQxIEh+8ew3gmrE1y7XRR6LHZIj6yLYnUi/mm2KXKBg==", + "dev": true, + "dependencies": { + "@jest/transform": "^29.7.0", + "@types/babel__core": "^7.1.14", + "babel-plugin-istanbul": "^6.1.1", + "babel-preset-jest": "^29.6.3", + "chalk": "^4.0.0", + "graceful-fs": "^4.2.9", + "slash": "^3.0.0" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + }, + "peerDependencies": { + "@babel/core": "^7.8.0" + } + }, + "node_modules/babel-plugin-istanbul": { + "version": "6.1.1", + "resolved": "https://registry.npmjs.org/babel-plugin-istanbul/-/babel-plugin-istanbul-6.1.1.tgz", + "integrity": "sha512-Y1IQok9821cC9onCx5otgFfRm7Lm+I+wwxOx738M/WLPZ9Q42m4IG5W0FNX8WLL2gYMZo3JkuXIH2DOpWM+qwA==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.0.0", + "@istanbuljs/load-nyc-config": "^1.0.0", + "@istanbuljs/schema": "^0.1.2", + "istanbul-lib-instrument": "^5.0.4", + "test-exclude": "^6.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/babel-plugin-istanbul/node_modules/istanbul-lib-instrument": { + "version": "5.2.1", + "resolved": "https://registry.npmjs.org/istanbul-lib-instrument/-/istanbul-lib-instrument-5.2.1.tgz", + "integrity": "sha512-pzqtp31nLv/XFOzXGuvhCb8qhjmTVo5vjVk19XE4CRlSWz0KoeJ3bw9XsA7nOp9YBf4qHjwBxkDzKcME/J29Yg==", + "dev": true, + "dependencies": { + "@babel/core": "^7.12.3", + "@babel/parser": "^7.14.7", + "@istanbuljs/schema": "^0.1.2", + "istanbul-lib-coverage": "^3.2.0", + "semver": "^6.3.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/babel-plugin-jest-hoist": { + "version": "29.6.3", + "resolved": "https://registry.npmjs.org/babel-plugin-jest-hoist/-/babel-plugin-jest-hoist-29.6.3.tgz", + "integrity": "sha512-ESAc/RJvGTFEzRwOTT4+lNDk/GNHMkKbNzsvT0qKRfDyyYTskxB5rnU2njIDYVxXCBHHEI1c0YwHob3WaYujOg==", + "dev": true, + "dependencies": { + "@babel/template": "^7.3.3", + "@babel/types": "^7.3.3", + "@types/babel__core": "^7.1.14", + "@types/babel__traverse": "^7.0.6" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + } + }, + "node_modules/babel-preset-current-node-syntax": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/babel-preset-current-node-syntax/-/babel-preset-current-node-syntax-1.0.1.tgz", + "integrity": "sha512-M7LQ0bxarkxQoN+vz5aJPsLBn77n8QgTFmo8WK0/44auK2xlCXrYcUxHFxgU7qW5Yzw/CjmLRK2uJzaCd7LvqQ==", + "dev": true, + "dependencies": { + "@babel/plugin-syntax-async-generators": "^7.8.4", + "@babel/plugin-syntax-bigint": "^7.8.3", + "@babel/plugin-syntax-class-properties": "^7.8.3", + "@babel/plugin-syntax-import-meta": "^7.8.3", + "@babel/plugin-syntax-json-strings": "^7.8.3", + "@babel/plugin-syntax-logical-assignment-operators": "^7.8.3", + "@babel/plugin-syntax-nullish-coalescing-operator": "^7.8.3", + "@babel/plugin-syntax-numeric-separator": "^7.8.3", + "@babel/plugin-syntax-object-rest-spread": "^7.8.3", + "@babel/plugin-syntax-optional-catch-binding": "^7.8.3", + "@babel/plugin-syntax-optional-chaining": "^7.8.3", + "@babel/plugin-syntax-top-level-await": "^7.8.3" + }, + "peerDependencies": { + "@babel/core": "^7.0.0" + } + }, + "node_modules/babel-preset-jest": { + "version": "29.6.3", + "resolved": "https://registry.npmjs.org/babel-preset-jest/-/babel-preset-jest-29.6.3.tgz", + "integrity": "sha512-0B3bhxR6snWXJZtR/RliHTDPRgn1sNHOR0yVtq/IiQFyuOVjFS+wuio/R4gSNkyYmKmJB4wGZv2NZanmKmTnNA==", + "dev": true, + "dependencies": { + "babel-plugin-jest-hoist": "^29.6.3", + "babel-preset-current-node-syntax": "^1.0.0" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0" + } + }, + "node_modules/balanced-match": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.2.tgz", + "integrity": "sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==", + "dev": true + }, + "node_modules/brace-expansion": { + "version": "1.1.11", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", + "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", + "dev": true, + "dependencies": { + "balanced-match": "^1.0.0", + "concat-map": "0.0.1" + } + }, + "node_modules/braces": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/braces/-/braces-3.0.2.tgz", + "integrity": "sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==", + "dev": true, + "dependencies": { + "fill-range": "^7.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/browserslist": { + "version": "4.22.1", + "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.22.1.tgz", + "integrity": "sha512-FEVc202+2iuClEhZhrWy6ZiAcRLvNMyYcxZ8raemul1DYVOVdFsbqckWLdsixQZCpJlwe77Z3UTalE7jsjnKfQ==", + "dev": true, + "funding": [ + { + "type": "opencollective", + "url": "https://opencollective.com/browserslist" + }, + { + "type": "tidelift", + "url": "https://tidelift.com/funding/github/npm/browserslist" + }, + { + "type": "github", + "url": "https://github.com/sponsors/ai" + } + ], + "dependencies": { + "caniuse-lite": "^1.0.30001541", + "electron-to-chromium": "^1.4.535", + "node-releases": "^2.0.13", + "update-browserslist-db": "^1.0.13" + }, + "bin": { + "browserslist": "cli.js" + }, + "engines": { + "node": "^6 || ^7 || ^8 || ^9 || ^10 || ^11 || ^12 || >=13.7" + } + }, + "node_modules/bser": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/bser/-/bser-2.1.1.tgz", + "integrity": "sha512-gQxTNE/GAfIIrmHLUE3oJyp5FO6HRBfhjnw4/wMmA63ZGDJnWBmgY/lyQBpnDUkGmAhbSe39tx2d/iTOAfglwQ==", + "dev": true, + "dependencies": { + "node-int64": "^0.4.0" + } + }, + "node_modules/buffer-from": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/buffer-from/-/buffer-from-1.1.2.tgz", + "integrity": "sha512-E+XQCRwSbaaiChtv6k6Dwgc+bx+Bs6vuKJHHl5kox/BaKbhiXzqQOwK4cO22yElGp2OCmjwVhT3HmxgyPGnJfQ==", + "dev": true + }, + "node_modules/call-bind": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/call-bind/-/call-bind-1.0.2.tgz", + "integrity": "sha512-7O+FbCihrB5WGbFYesctwmTKae6rOiIzmz1icreWJ+0aA7LJfuqhEso2T9ncpcFtzMQtzXf2QGGueWJGTYsqrA==", + "dependencies": { + "function-bind": "^1.1.1", + "get-intrinsic": "^1.0.2" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/callsites": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/callsites/-/callsites-3.1.0.tgz", + "integrity": "sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==", + "dev": true, + "engines": { + "node": ">=6" + } + }, + "node_modules/camelcase": { + "version": "5.3.1", + "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-5.3.1.tgz", + "integrity": "sha512-L28STB170nwWS63UjtlEOE3dldQApaJXZkOI1uMFfzf3rRuPegHaHesyee+YxQ+W6SvRDQV6UrdOdRiR153wJg==", + "dev": true, + "engines": { + "node": ">=6" + } + }, + "node_modules/caniuse-lite": { + "version": "1.0.30001547", + "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001547.tgz", + "integrity": "sha512-W7CrtIModMAxobGhz8iXmDfuJiiKg1WADMO/9x7/CLNin5cpSbuBjooyoIUVB5eyCc36QuTVlkVa1iB2S5+/eA==", + "dev": true, + "funding": [ + { + "type": "opencollective", + "url": "https://opencollective.com/browserslist" + }, + { + "type": "tidelift", + "url": "https://tidelift.com/funding/github/npm/caniuse-lite" + }, + { + "type": "github", + "url": "https://github.com/sponsors/ai" + } + ] + }, + "node_modules/chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "dev": true, + "dependencies": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/chalk?sponsor=1" + } + }, + "node_modules/char-regex": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/char-regex/-/char-regex-1.0.2.tgz", + "integrity": "sha512-kWWXztvZ5SBQV+eRgKFeh8q5sLuZY2+8WUIzlxWVTg+oGwY14qylx1KbKzHd8P6ZYkAg0xyIDU9JMHhyJMZ1jw==", + "dev": true, + "engines": { + "node": ">=10" + } + }, + "node_modules/ci-info": { + "version": "3.9.0", + "resolved": "https://registry.npmjs.org/ci-info/-/ci-info-3.9.0.tgz", + "integrity": "sha512-NIxF55hv4nSqQswkAeiOi1r83xy8JldOFDTWiug55KBu9Jnblncd2U6ViHmYgHf01TPZS77NJBhBMKdWj9HQMQ==", + "dev": true, + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/sibiraj-s" + } + ], + "engines": { + "node": ">=8" + } + }, + "node_modules/cjs-module-lexer": { + "version": "1.2.3", + "resolved": "https://registry.npmjs.org/cjs-module-lexer/-/cjs-module-lexer-1.2.3.tgz", + "integrity": "sha512-0TNiGstbQmCFwt4akjjBg5pLRTSyj/PkWQ1ZoO2zntmg9yLqSRxwEa4iCfQLGjqhiqBfOJa7W/E8wfGrTDmlZQ==", + "dev": true + }, + "node_modules/cliui": { + "version": "8.0.1", + "resolved": "https://registry.npmjs.org/cliui/-/cliui-8.0.1.tgz", + "integrity": "sha512-BSeNnyus75C4//NQ9gQt1/csTXyo/8Sb+afLAkzAptFuMsod9HFokGNudZpi/oQV73hnVK+sR+5PVRMd+Dr7YQ==", + "dev": true, + "dependencies": { + "string-width": "^4.2.0", + "strip-ansi": "^6.0.1", + "wrap-ansi": "^7.0.0" + }, + "engines": { + "node": ">=12" + } + }, + "node_modules/co": { + "version": "4.6.0", + "resolved": "https://registry.npmjs.org/co/-/co-4.6.0.tgz", + "integrity": "sha512-QVb0dM5HvG+uaxitm8wONl7jltx8dqhfU33DcqtOZcLSVIKSDDLDi7+0LbAKiyI8hD9u42m2YxXSkMGWThaecQ==", + "dev": true, + "engines": { + "iojs": ">= 1.0.0", + "node": ">= 0.12.0" + } + }, + "node_modules/collect-v8-coverage": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/collect-v8-coverage/-/collect-v8-coverage-1.0.2.tgz", + "integrity": "sha512-lHl4d5/ONEbLlJvaJNtsF/Lz+WvB07u2ycqTYbdrq7UypDXailES4valYb2eWiJFxZlVmpGekfqoxQhzyFdT4Q==", + "dev": true + }, + "node_modules/color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "dev": true, + "dependencies": { + "color-name": "~1.1.4" + }, + "engines": { + "node": ">=7.0.0" + } + }, + "node_modules/color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", + "dev": true + }, + "node_modules/combined-stream": { + "version": "1.0.8", + "resolved": "https://registry.npmjs.org/combined-stream/-/combined-stream-1.0.8.tgz", + "integrity": "sha512-FQN4MRfuJeHf7cBbBMJFXhKSDq+2kAArBlmRBvcvFE5BB1HZKXtSFASDhdlz9zOYwxh8lDdnvmMOe/+5cdoEdg==", + "dependencies": { + "delayed-stream": "~1.0.0" + }, + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/component-emitter": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/component-emitter/-/component-emitter-1.3.0.tgz", + "integrity": "sha512-Rd3se6QB+sO1TwqZjscQrurpEPIfO0/yYnSin6Q/rD3mOutHvUrCAhJub3r90uNb+SESBuE0QYoB90YdfatsRg==" + }, + "node_modules/concat-map": { + "version": "0.0.1", + "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz", + "integrity": "sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg==", + "dev": true + }, + "node_modules/convert-source-map": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/convert-source-map/-/convert-source-map-2.0.0.tgz", + "integrity": "sha512-Kvp459HrV2FEJ1CAsi1Ku+MY3kasH19TFykTz2xWmMeq6bk2NU3XXvfJ+Q61m0xktWwt+1HSYf3JZsTms3aRJg==", + "dev": true + }, + "node_modules/cookiejar": { + "version": "2.1.4", + "resolved": "https://registry.npmjs.org/cookiejar/-/cookiejar-2.1.4.tgz", + "integrity": "sha512-LDx6oHrK+PhzLKJU9j5S7/Y3jM/mUHvD/DeI1WQmJn652iPC5Y4TBzC9l+5OMOXlyTTA+SmVUPm0HQUwpD5Jqw==" + }, + "node_modules/create-jest": { + "version": "29.7.0", + "resolved": "https://registry.npmjs.org/create-jest/-/create-jest-29.7.0.tgz", + "integrity": "sha512-Adz2bdH0Vq3F53KEMJOoftQFutWCukm6J24wbPWRO4k1kMY7gS7ds/uoJkNuV8wDCtWWnuwGcJwpWcih+zEW1Q==", + "dev": true, + "dependencies": { + "@jest/types": "^29.6.3", + "chalk": "^4.0.0", + "exit": "^0.1.2", + "graceful-fs": "^4.2.9", + "jest-config": "^29.7.0", + "jest-util": "^29.7.0", + "prompts": "^2.0.1" + }, + "bin": { + "create-jest": "bin/create-jest.js" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + } + }, + "node_modules/cross-spawn": { + "version": "7.0.3", + "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.3.tgz", + "integrity": "sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w==", + "dev": true, + "dependencies": { + "path-key": "^3.1.0", + "shebang-command": "^2.0.0", + "which": "^2.0.1" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/debug": { + "version": "4.3.4", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.4.tgz", + "integrity": "sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==", + "dependencies": { + "ms": "2.1.2" + }, + "engines": { + "node": ">=6.0" + }, + "peerDependenciesMeta": { + "supports-color": { + "optional": true + } + } + }, + "node_modules/dedent": { + "version": "1.5.1", + "resolved": "https://registry.npmjs.org/dedent/-/dedent-1.5.1.tgz", + "integrity": "sha512-+LxW+KLWxu3HW3M2w2ympwtqPrqYRzU8fqi6Fhd18fBALe15blJPI/I4+UHveMVG6lJqB4JNd4UG0S5cnVHwIg==", + "dev": true, + "peerDependencies": { + "babel-plugin-macros": "^3.1.0" + }, + "peerDependenciesMeta": { + "babel-plugin-macros": { + "optional": true + } + } + }, + "node_modules/deepmerge": { + "version": "4.3.1", + "resolved": "https://registry.npmjs.org/deepmerge/-/deepmerge-4.3.1.tgz", + "integrity": "sha512-3sUqbMEc77XqpdNO7FRyRog+eW3ph+GYCbj+rK+uYyRMuwsVy0rMiVtPn+QJlKFvWP/1PYpapqYn0Me2knFn+A==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/delayed-stream": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/delayed-stream/-/delayed-stream-1.0.0.tgz", + "integrity": "sha512-ZySD7Nf91aLB0RxL4KGrKHBXl7Eds1DAmEdcoVawXnLD7SDhpNgtuII2aAkg7a7QS41jxPSZ17p4VdGnMHk3MQ==", + "engines": { + "node": ">=0.4.0" + } + }, + "node_modules/detect-newline": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/detect-newline/-/detect-newline-3.1.0.tgz", + "integrity": "sha512-TLz+x/vEXm/Y7P7wn1EJFNLxYpUD4TgMosxY6fAVJUnJMbupHBOncxyWUG9OpTaH9EBD7uFI5LfEgmMOc54DsA==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/dezalgo": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/dezalgo/-/dezalgo-1.0.4.tgz", + "integrity": "sha512-rXSP0bf+5n0Qonsb+SVVfNfIsimO4HEtmnIpPHY8Q1UCzKlQrDMfdobr8nJOOsRgWCyMRqeSBQzmWUMq7zvVig==", + "dependencies": { + "asap": "^2.0.0", + "wrappy": "1" + } + }, + "node_modules/diff-sequences": { + "version": "29.6.3", + "resolved": "https://registry.npmjs.org/diff-sequences/-/diff-sequences-29.6.3.tgz", + "integrity": "sha512-EjePK1srD3P08o2j4f0ExnylqRs5B9tJjcp9t1krH2qRi8CCdsYfwe9JgSLurFBWwq4uOlipzfk5fHNvwFKr8Q==", + "dev": true, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + } + }, + "node_modules/electron-to-chromium": { + "version": "1.4.549", + "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.4.549.tgz", + "integrity": "sha512-gpXfJslSi4hYDkA0mTLEpYKRv9siAgSUgZ+UWyk+J5Cttpd1ThCVwdclzIwQSclz3hYn049+M2fgrP1WpvF8xg==", + "dev": true + }, + "node_modules/emittery": { + "version": "0.13.1", + "resolved": "https://registry.npmjs.org/emittery/-/emittery-0.13.1.tgz", + "integrity": "sha512-DeWwawk6r5yR9jFgnDKYt4sLS0LmHJJi3ZOnb5/JdbYwj3nW+FxQnHIjhBKz8YLC7oRNPVM9NQ47I3CVx34eqQ==", + "dev": true, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sindresorhus/emittery?sponsor=1" + } + }, + "node_modules/emoji-regex": { + "version": "8.0.0", + "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz", + "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==", + "dev": true + }, + "node_modules/error-ex": { + "version": "1.3.2", + "resolved": "https://registry.npmjs.org/error-ex/-/error-ex-1.3.2.tgz", + "integrity": "sha512-7dFHNmqeFSEt2ZBsCriorKnn3Z2pj+fd9kmI6QoWw4//DL+icEBfc0U7qJCisqrTsKTjw4fNFy2pW9OqStD84g==", + "dev": true, + "dependencies": { + "is-arrayish": "^0.2.1" + } + }, + "node_modules/escalade": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/escalade/-/escalade-3.1.1.tgz", + "integrity": "sha512-k0er2gUkLf8O0zKJiAhmkTnJlTvINGv7ygDNPbeIsX/TJjGJZHuh9B2UxbsaEkmlEo9MfhrSzmhIlhRlI2GXnw==", + "dev": true, + "engines": { + "node": ">=6" + } + }, + "node_modules/escape-string-regexp": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-2.0.0.tgz", + "integrity": "sha512-UpzcLCXolUWcNu5HtVMHYdXJjArjsF9C0aNnquZYY4uW/Vu0miy5YoWvbV345HauVvcAUnpRuhMMcqTcGOY2+w==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/esprima": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/esprima/-/esprima-4.0.1.tgz", + "integrity": "sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A==", + "dev": true, + "bin": { + "esparse": "bin/esparse.js", + "esvalidate": "bin/esvalidate.js" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/execa": { + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/execa/-/execa-5.1.1.tgz", + "integrity": "sha512-8uSpZZocAZRBAPIEINJj3Lo9HyGitllczc27Eh5YYojjMFMn8yHMDMaUHE2Jqfq05D/wucwI4JGURyXt1vchyg==", + "dev": true, + "dependencies": { + "cross-spawn": "^7.0.3", + "get-stream": "^6.0.0", + "human-signals": "^2.1.0", + "is-stream": "^2.0.0", + "merge-stream": "^2.0.0", + "npm-run-path": "^4.0.1", + "onetime": "^5.1.2", + "signal-exit": "^3.0.3", + "strip-final-newline": "^2.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sindresorhus/execa?sponsor=1" + } + }, + "node_modules/exit": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/exit/-/exit-0.1.2.tgz", + "integrity": "sha512-Zk/eNKV2zbjpKzrsQ+n1G6poVbErQxJ0LBOJXaKZ1EViLzH+hrLu9cdXI4zw9dBQJslwBEpbQ2P1oS7nDxs6jQ==", + "dev": true, + "engines": { + "node": ">= 0.8.0" + } + }, + "node_modules/expect": { + "version": "29.7.0", + "resolved": "https://registry.npmjs.org/expect/-/expect-29.7.0.tgz", + "integrity": "sha512-2Zks0hf1VLFYI1kbh0I5jP3KHHyCHpkfyHBzsSXRFgl/Bg9mWYfMW8oD+PdMPlEwy5HNsR9JutYy6pMeOh61nw==", + "dev": true, + "dependencies": { + "@jest/expect-utils": "^29.7.0", + "jest-get-type": "^29.6.3", + "jest-matcher-utils": "^29.7.0", + "jest-message-util": "^29.7.0", + "jest-util": "^29.7.0" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + } + }, + "node_modules/fast-json-stable-stringify": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/fast-json-stable-stringify/-/fast-json-stable-stringify-2.1.0.tgz", + "integrity": "sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw==", + "dev": true + }, + "node_modules/fast-safe-stringify": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/fast-safe-stringify/-/fast-safe-stringify-2.1.1.tgz", + "integrity": "sha512-W+KJc2dmILlPplD/H4K9l9LcAHAfPtP6BY84uVLXQ6Evcz9Lcg33Y2z1IVblT6xdY54PXYVHEv+0Wpq8Io6zkA==" + }, + "node_modules/fb-watchman": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/fb-watchman/-/fb-watchman-2.0.2.tgz", + "integrity": "sha512-p5161BqbuCaSnB8jIbzQHOlpgsPmK5rJVDfDKO91Axs5NC1uu3HRQm6wt9cd9/+GtQQIO53JdGXXoyDpTAsgYA==", + "dev": true, + "dependencies": { + "bser": "2.1.1" + } + }, + "node_modules/fill-range": { + "version": "7.0.1", + "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.0.1.tgz", + "integrity": "sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ==", + "dev": true, + "dependencies": { + "to-regex-range": "^5.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/find-up": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/find-up/-/find-up-4.1.0.tgz", + "integrity": "sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw==", + "dev": true, + "dependencies": { + "locate-path": "^5.0.0", + "path-exists": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/form-data": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/form-data/-/form-data-4.0.0.tgz", + "integrity": "sha512-ETEklSGi5t0QMZuiXoA/Q6vcnxcLQP5vdugSpuAyi6SVGi2clPPp+xgEhuMaHC+zGgn31Kd235W35f7Hykkaww==", + "dependencies": { + "asynckit": "^0.4.0", + "combined-stream": "^1.0.8", + "mime-types": "^2.1.12" + }, + "engines": { + "node": ">= 6" + } + }, + "node_modules/formidable": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/formidable/-/formidable-2.1.2.tgz", + "integrity": "sha512-CM3GuJ57US06mlpQ47YcunuUZ9jpm8Vx+P2CGt2j7HpgkKZO/DJYQ0Bobim8G6PFQmK5lOqOOdUXboU+h73A4g==", + "dependencies": { + "dezalgo": "^1.0.4", + "hexoid": "^1.0.0", + "once": "^1.4.0", + "qs": "^6.11.0" + }, + "funding": { + "url": "https://ko-fi.com/tunnckoCore/commissions" + } + }, + "node_modules/fs.realpath": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz", + "integrity": "sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw==", + "dev": true + }, + "node_modules/fsevents": { + "version": "2.3.3", + "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.3.3.tgz", + "integrity": "sha512-5xoDfX+fL7faATnagmWPpbFtwh/R77WmMMqqHGS65C3vvB0YHrgF+B1YmZ3441tMj5n63k0212XNoJwzlhffQw==", + "dev": true, + "hasInstallScript": true, + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": "^8.16.0 || ^10.6.0 || >=11.0.0" + } + }, + "node_modules/function-bind": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.1.tgz", + "integrity": "sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A==" + }, + "node_modules/gensync": { + "version": "1.0.0-beta.2", + "resolved": "https://registry.npmjs.org/gensync/-/gensync-1.0.0-beta.2.tgz", + "integrity": "sha512-3hN7NaskYvMDLQY55gnW3NQ+mesEAepTqlg+VEbj7zzqEMBVNhzcGYYeqFo/TlYz6eQiFcp1HcsCZO+nGgS8zg==", + "dev": true, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/get-caller-file": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/get-caller-file/-/get-caller-file-2.0.5.tgz", + "integrity": "sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg==", + "dev": true, + "engines": { + "node": "6.* || 8.* || >= 10.*" + } + }, + "node_modules/get-intrinsic": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/get-intrinsic/-/get-intrinsic-1.2.1.tgz", + "integrity": "sha512-2DcsyfABl+gVHEfCOaTrWgyt+tb6MSEGmKq+kI5HwLbIYgjgmMcV8KQ41uaKz1xxUcn9tJtgFbQUEVcEbd0FYw==", + "dependencies": { + "function-bind": "^1.1.1", + "has": "^1.0.3", + "has-proto": "^1.0.1", + "has-symbols": "^1.0.3" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/get-package-type": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/get-package-type/-/get-package-type-0.1.0.tgz", + "integrity": "sha512-pjzuKtY64GYfWizNAJ0fr9VqttZkNiK2iS430LtIHzjBEr6bX8Am2zm4sW4Ro5wjWW5cAlRL1qAMTcXbjNAO2Q==", + "dev": true, + "engines": { + "node": ">=8.0.0" + } + }, + "node_modules/get-stream": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-6.0.1.tgz", + "integrity": "sha512-ts6Wi+2j3jQjqi70w5AlN8DFnkSwC+MqmxEzdEALB2qXZYV3X/b1CTfgPLGJNMeAWxdPfU8FO1ms3NUfaHCPYg==", + "dev": true, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/glob": { + "version": "7.2.3", + "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.3.tgz", + "integrity": "sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==", + "dev": true, + "dependencies": { + "fs.realpath": "^1.0.0", + "inflight": "^1.0.4", + "inherits": "2", + "minimatch": "^3.1.1", + "once": "^1.3.0", + "path-is-absolute": "^1.0.0" + }, + "engines": { + "node": "*" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/globals": { + "version": "11.12.0", + "resolved": "https://registry.npmjs.org/globals/-/globals-11.12.0.tgz", + "integrity": "sha512-WOBp/EEGUiIsJSp7wcv/y6MO+lV9UoncWqxuFfm8eBwzWNgyfBd6Gz+IeKQ9jCmyhoH99g15M3T+QaVHFjizVA==", + "dev": true, + "engines": { + "node": ">=4" + } + }, + "node_modules/graceful-fs": { + "version": "4.2.11", + "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.11.tgz", + "integrity": "sha512-RbJ5/jmFcNNCcDV5o9eTnBLJ/HszWV0P73bc+Ff4nS/rJj+YaS6IGyiOL0VoBYX+l1Wrl3k63h/KrH+nhJ0XvQ==", + "dev": true + }, + "node_modules/has": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/has/-/has-1.0.4.tgz", + "integrity": "sha512-qdSAmqLF6209RFj4VVItywPMbm3vWylknmB3nvNiUIs72xAimcM8nVYxYr7ncvZq5qzk9MKIZR8ijqD/1QuYjQ==", + "engines": { + "node": ">= 0.4.0" + } + }, + "node_modules/has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/has-proto": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/has-proto/-/has-proto-1.0.1.tgz", + "integrity": "sha512-7qE+iP+O+bgF9clE5+UoBFzE65mlBiVj3tKCrlNQ0Ogwm0BjpT/gK4SlLYDMybDh5I3TCTKnPPa0oMG7JDYrhg==", + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/has-symbols": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/has-symbols/-/has-symbols-1.0.3.tgz", + "integrity": "sha512-l3LCuF6MgDNwTDKkdYGEihYjt5pRPbEg46rtlmnSPlUbgmB8LOIrKJbYYFBSbnPaJexMKtiPO8hmeRjRz2Td+A==", + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/hexoid": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/hexoid/-/hexoid-1.0.0.tgz", + "integrity": "sha512-QFLV0taWQOZtvIRIAdBChesmogZrtuXvVWsFHZTk2SU+anspqZ2vMnoLg7IE1+Uk16N19APic1BuF8bC8c2m5g==", + "engines": { + "node": ">=8" + } + }, + "node_modules/html-escaper": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/html-escaper/-/html-escaper-2.0.2.tgz", + "integrity": "sha512-H2iMtd0I4Mt5eYiapRdIDjp+XzelXQ0tFE4JS7YFwFevXXMmOp9myNrUvCg0D6ws8iqkRPBfKHgbwig1SmlLfg==", + "dev": true + }, + "node_modules/human-signals": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/human-signals/-/human-signals-2.1.0.tgz", + "integrity": "sha512-B4FFZ6q/T2jhhksgkbEW3HBvWIfDW85snkQgawt07S7J5QXTk6BkNV+0yAeZrM5QpMAdYlocGoljn0sJ/WQkFw==", + "dev": true, + "engines": { + "node": ">=10.17.0" + } + }, + "node_modules/import-local": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/import-local/-/import-local-3.1.0.tgz", + "integrity": "sha512-ASB07uLtnDs1o6EHjKpX34BKYDSqnFerfTOJL2HvMqF70LnxpjkzDB8J44oT9pu4AMPkQwf8jl6szgvNd2tRIg==", + "dev": true, + "dependencies": { + "pkg-dir": "^4.2.0", + "resolve-cwd": "^3.0.0" + }, + "bin": { + "import-local-fixture": "fixtures/cli.js" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/imurmurhash": { + "version": "0.1.4", + "resolved": "https://registry.npmjs.org/imurmurhash/-/imurmurhash-0.1.4.tgz", + "integrity": "sha512-JmXMZ6wuvDmLiHEml9ykzqO6lwFbof0GG4IkcGaENdCRDDmMVnny7s5HsIgHCbaq0w2MyPhDqkhTUgS2LU2PHA==", + "dev": true, + "engines": { + "node": ">=0.8.19" + } + }, + "node_modules/inflight": { + "version": "1.0.6", + "resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz", + "integrity": "sha512-k92I/b08q4wvFscXCLvqfsHCrjrF7yiXsQuIVvVE7N82W3+aqpzuUdBbfhWcy/FZR3/4IgflMgKLOsvPDrGCJA==", + "dev": true, + "dependencies": { + "once": "^1.3.0", + "wrappy": "1" + } + }, + "node_modules/inherits": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz", + "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==", + "dev": true + }, + "node_modules/is-arrayish": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/is-arrayish/-/is-arrayish-0.2.1.tgz", + "integrity": "sha512-zz06S8t0ozoDXMG+ube26zeCTNXcKIPJZJi8hBrF4idCLms4CG9QtK7qBl1boi5ODzFpjswb5JPmHCbMpjaYzg==", + "dev": true + }, + "node_modules/is-core-module": { + "version": "2.13.0", + "resolved": "https://registry.npmjs.org/is-core-module/-/is-core-module-2.13.0.tgz", + "integrity": "sha512-Z7dk6Qo8pOCp3l4tsX2C5ZVas4V+UxwQodwZhLopL91TX8UyyHEXafPcyoeeWuLrwzHcr3igO78wNLwHJHsMCQ==", + "dev": true, + "dependencies": { + "has": "^1.0.3" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-fullwidth-code-point": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz", + "integrity": "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/is-generator-fn": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/is-generator-fn/-/is-generator-fn-2.1.0.tgz", + "integrity": "sha512-cTIB4yPYL/Grw0EaSzASzg6bBy9gqCofvWN8okThAYIxKJZC+udlRAmGbM0XLeniEJSs8uEgHPGuHSe1XsOLSQ==", + "dev": true, + "engines": { + "node": ">=6" + } + }, + "node_modules/is-number": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz", + "integrity": "sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==", + "dev": true, + "engines": { + "node": ">=0.12.0" + } + }, + "node_modules/is-stream": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-2.0.1.tgz", + "integrity": "sha512-hFoiJiTl63nn+kstHGBtewWSKnQLpyb155KHheA1l39uvtO9nWIop1p3udqPcUd/xbF1VLMO4n7OI6p7RbngDg==", + "dev": true, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/isexe": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz", + "integrity": "sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==", + "dev": true + }, + "node_modules/istanbul-lib-coverage": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/istanbul-lib-coverage/-/istanbul-lib-coverage-3.2.0.tgz", + "integrity": "sha512-eOeJ5BHCmHYvQK7xt9GkdHuzuCGS1Y6g9Gvnx3Ym33fz/HpLRYxiS0wHNr+m/MBC8B647Xt608vCDEvhl9c6Mw==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/istanbul-lib-instrument": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/istanbul-lib-instrument/-/istanbul-lib-instrument-6.0.1.tgz", + "integrity": "sha512-EAMEJBsYuyyztxMxW3g7ugGPkrZsV57v0Hmv3mm1uQsmB+QnZuepg731CRaIgeUVSdmsTngOkSnauNF8p7FIhA==", + "dev": true, + "dependencies": { + "@babel/core": "^7.12.3", + "@babel/parser": "^7.14.7", + "@istanbuljs/schema": "^0.1.2", + "istanbul-lib-coverage": "^3.2.0", + "semver": "^7.5.4" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/istanbul-lib-instrument/node_modules/lru-cache": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz", + "integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==", + "dev": true, + "dependencies": { + "yallist": "^4.0.0" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/istanbul-lib-instrument/node_modules/semver": { + "version": "7.5.4", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.5.4.tgz", + "integrity": "sha512-1bCSESV6Pv+i21Hvpxp3Dx+pSD8lIPt8uVjRrxAUt/nbswYc+tK6Y2btiULjd4+fnq15PX+nqQDC7Oft7WkwcA==", + "dev": true, + "dependencies": { + "lru-cache": "^6.0.0" + }, + "bin": { + "semver": "bin/semver.js" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/istanbul-lib-instrument/node_modules/yallist": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", + "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==", + "dev": true + }, + "node_modules/istanbul-lib-report": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/istanbul-lib-report/-/istanbul-lib-report-3.0.1.tgz", + "integrity": "sha512-GCfE1mtsHGOELCU8e/Z7YWzpmybrx/+dSTfLrvY8qRmaY6zXTKWn6WQIjaAFw069icm6GVMNkgu0NzI4iPZUNw==", + "dev": true, + "dependencies": { + "istanbul-lib-coverage": "^3.0.0", + "make-dir": "^4.0.0", + "supports-color": "^7.1.0" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/istanbul-lib-source-maps": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/istanbul-lib-source-maps/-/istanbul-lib-source-maps-4.0.1.tgz", + "integrity": "sha512-n3s8EwkdFIJCG3BPKBYvskgXGoy88ARzvegkitk60NxRdwltLOTaH7CUiMRXvwYorl0Q712iEjcWB+fK/MrWVw==", + "dev": true, + "dependencies": { + "debug": "^4.1.1", + "istanbul-lib-coverage": "^3.0.0", + "source-map": "^0.6.1" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/istanbul-reports": { + "version": "3.1.6", + "resolved": "https://registry.npmjs.org/istanbul-reports/-/istanbul-reports-3.1.6.tgz", + "integrity": "sha512-TLgnMkKg3iTDsQ9PbPTdpfAK2DzjF9mqUG7RMgcQl8oFjad8ob4laGxv5XV5U9MAfx8D6tSJiUyuAwzLicaxlg==", + "dev": true, + "dependencies": { + "html-escaper": "^2.0.0", + "istanbul-lib-report": "^3.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/jest": { + "version": "29.7.0", + "resolved": "https://registry.npmjs.org/jest/-/jest-29.7.0.tgz", + "integrity": "sha512-NIy3oAFp9shda19hy4HK0HRTWKtPJmGdnvywu01nOqNC2vZg+Z+fvJDxpMQA88eb2I9EcafcdjYgsDthnYTvGw==", + "dev": true, + "dependencies": { + "@jest/core": "^29.7.0", + "@jest/types": "^29.6.3", + "import-local": "^3.0.2", + "jest-cli": "^29.7.0" + }, + "bin": { + "jest": "bin/jest.js" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + }, + "peerDependencies": { + "node-notifier": "^8.0.1 || ^9.0.0 || ^10.0.0" + }, + "peerDependenciesMeta": { + "node-notifier": { + "optional": true + } + } + }, + "node_modules/jest-changed-files": { + "version": "29.7.0", + "resolved": "https://registry.npmjs.org/jest-changed-files/-/jest-changed-files-29.7.0.tgz", + "integrity": "sha512-fEArFiwf1BpQ+4bXSprcDc3/x4HSzL4al2tozwVpDFpsxALjLYdyiIK4e5Vz66GQJIbXJ82+35PtysofptNX2w==", + "dev": true, + "dependencies": { + "execa": "^5.0.0", + "jest-util": "^29.7.0", + "p-limit": "^3.1.0" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + } + }, + "node_modules/jest-circus": { + "version": "29.7.0", + "resolved": "https://registry.npmjs.org/jest-circus/-/jest-circus-29.7.0.tgz", + "integrity": "sha512-3E1nCMgipcTkCocFwM90XXQab9bS+GMsjdpmPrlelaxwD93Ad8iVEjX/vvHPdLPnFf+L40u+5+iutRdA1N9myw==", + "dev": true, + "dependencies": { + "@jest/environment": "^29.7.0", + "@jest/expect": "^29.7.0", + "@jest/test-result": "^29.7.0", + "@jest/types": "^29.6.3", + "@types/node": "*", + "chalk": "^4.0.0", + "co": "^4.6.0", + "dedent": "^1.0.0", + "is-generator-fn": "^2.0.0", + "jest-each": "^29.7.0", + "jest-matcher-utils": "^29.7.0", + "jest-message-util": "^29.7.0", + "jest-runtime": "^29.7.0", + "jest-snapshot": "^29.7.0", + "jest-util": "^29.7.0", + "p-limit": "^3.1.0", + "pretty-format": "^29.7.0", + "pure-rand": "^6.0.0", + "slash": "^3.0.0", + "stack-utils": "^2.0.3" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + } + }, + "node_modules/jest-cli": { + "version": "29.7.0", + "resolved": "https://registry.npmjs.org/jest-cli/-/jest-cli-29.7.0.tgz", + "integrity": "sha512-OVVobw2IubN/GSYsxETi+gOe7Ka59EFMR/twOU3Jb2GnKKeMGJB5SGUUrEz3SFVmJASUdZUzy83sLNNQ2gZslg==", + "dev": true, + "dependencies": { + "@jest/core": "^29.7.0", + "@jest/test-result": "^29.7.0", + "@jest/types": "^29.6.3", + "chalk": "^4.0.0", + "create-jest": "^29.7.0", + "exit": "^0.1.2", + "import-local": "^3.0.2", + "jest-config": "^29.7.0", + "jest-util": "^29.7.0", + "jest-validate": "^29.7.0", + "yargs": "^17.3.1" + }, + "bin": { + "jest": "bin/jest.js" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + }, + "peerDependencies": { + "node-notifier": "^8.0.1 || ^9.0.0 || ^10.0.0" + }, + "peerDependenciesMeta": { + "node-notifier": { + "optional": true + } + } + }, + "node_modules/jest-config": { + "version": "29.7.0", + "resolved": "https://registry.npmjs.org/jest-config/-/jest-config-29.7.0.tgz", + "integrity": "sha512-uXbpfeQ7R6TZBqI3/TxCU4q4ttk3u0PJeC+E0zbfSoSjq6bJ7buBPxzQPL0ifrkY4DNu4JUdk0ImlBUYi840eQ==", + "dev": true, + "dependencies": { + "@babel/core": "^7.11.6", + "@jest/test-sequencer": "^29.7.0", + "@jest/types": "^29.6.3", + "babel-jest": "^29.7.0", + "chalk": "^4.0.0", + "ci-info": "^3.2.0", + "deepmerge": "^4.2.2", + "glob": "^7.1.3", + "graceful-fs": "^4.2.9", + "jest-circus": "^29.7.0", + "jest-environment-node": "^29.7.0", + "jest-get-type": "^29.6.3", + "jest-regex-util": "^29.6.3", + "jest-resolve": "^29.7.0", + "jest-runner": "^29.7.0", + "jest-util": "^29.7.0", + "jest-validate": "^29.7.0", + "micromatch": "^4.0.4", + "parse-json": "^5.2.0", + "pretty-format": "^29.7.0", + "slash": "^3.0.0", + "strip-json-comments": "^3.1.1" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + }, + "peerDependencies": { + "@types/node": "*", + "ts-node": ">=9.0.0" + }, + "peerDependenciesMeta": { + "@types/node": { + "optional": true + }, + "ts-node": { + "optional": true + } + } + }, + "node_modules/jest-diff": { + "version": "29.7.0", + "resolved": "https://registry.npmjs.org/jest-diff/-/jest-diff-29.7.0.tgz", + "integrity": "sha512-LMIgiIrhigmPrs03JHpxUh2yISK3vLFPkAodPeo0+BuF7wA2FoQbkEg1u8gBYBThncu7e1oEDUfIXVuTqLRUjw==", + "dev": true, + "dependencies": { + "chalk": "^4.0.0", + "diff-sequences": "^29.6.3", + "jest-get-type": "^29.6.3", + "pretty-format": "^29.7.0" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + } + }, + "node_modules/jest-docblock": { + "version": "29.7.0", + "resolved": "https://registry.npmjs.org/jest-docblock/-/jest-docblock-29.7.0.tgz", + "integrity": "sha512-q617Auw3A612guyaFgsbFeYpNP5t2aoUNLwBUbc/0kD1R4t9ixDbyFTHd1nok4epoVFpr7PmeWHrhvuV3XaJ4g==", + "dev": true, + "dependencies": { + "detect-newline": "^3.0.0" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + } + }, + "node_modules/jest-each": { + "version": "29.7.0", + "resolved": "https://registry.npmjs.org/jest-each/-/jest-each-29.7.0.tgz", + "integrity": "sha512-gns+Er14+ZrEoC5fhOfYCY1LOHHr0TI+rQUHZS8Ttw2l7gl+80eHc/gFf2Ktkw0+SIACDTeWvpFcv3B04VembQ==", + "dev": true, + "dependencies": { + "@jest/types": "^29.6.3", + "chalk": "^4.0.0", + "jest-get-type": "^29.6.3", + "jest-util": "^29.7.0", + "pretty-format": "^29.7.0" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + } + }, + "node_modules/jest-environment-node": { + "version": "29.7.0", + "resolved": "https://registry.npmjs.org/jest-environment-node/-/jest-environment-node-29.7.0.tgz", + "integrity": "sha512-DOSwCRqXirTOyheM+4d5YZOrWcdu0LNZ87ewUoywbcb2XR4wKgqiG8vNeYwhjFMbEkfju7wx2GYH0P2gevGvFw==", + "dev": true, + "dependencies": { + "@jest/environment": "^29.7.0", + "@jest/fake-timers": "^29.7.0", + "@jest/types": "^29.6.3", + "@types/node": "*", + "jest-mock": "^29.7.0", + "jest-util": "^29.7.0" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + } + }, + "node_modules/jest-get-type": { + "version": "29.6.3", + "resolved": "https://registry.npmjs.org/jest-get-type/-/jest-get-type-29.6.3.tgz", + "integrity": "sha512-zrteXnqYxfQh7l5FHyL38jL39di8H8rHoecLH3JNxH3BwOrBsNeabdap5e0I23lD4HHI8W5VFBZqG4Eaq5LNcw==", + "dev": true, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + } + }, + "node_modules/jest-haste-map": { + "version": "29.7.0", + "resolved": "https://registry.npmjs.org/jest-haste-map/-/jest-haste-map-29.7.0.tgz", + "integrity": "sha512-fP8u2pyfqx0K1rGn1R9pyE0/KTn+G7PxktWidOBTqFPLYX0b9ksaMFkhK5vrS3DVun09pckLdlx90QthlW7AmA==", + "dev": true, + "dependencies": { + "@jest/types": "^29.6.3", + "@types/graceful-fs": "^4.1.3", + "@types/node": "*", + "anymatch": "^3.0.3", + "fb-watchman": "^2.0.0", + "graceful-fs": "^4.2.9", + "jest-regex-util": "^29.6.3", + "jest-util": "^29.7.0", + "jest-worker": "^29.7.0", + "micromatch": "^4.0.4", + "walker": "^1.0.8" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + }, + "optionalDependencies": { + "fsevents": "^2.3.2" + } + }, + "node_modules/jest-leak-detector": { + "version": "29.7.0", + "resolved": "https://registry.npmjs.org/jest-leak-detector/-/jest-leak-detector-29.7.0.tgz", + "integrity": "sha512-kYA8IJcSYtST2BY9I+SMC32nDpBT3J2NvWJx8+JCuCdl/CR1I4EKUJROiP8XtCcxqgTTBGJNdbB1A8XRKbTetw==", + "dev": true, + "dependencies": { + "jest-get-type": "^29.6.3", + "pretty-format": "^29.7.0" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + } + }, + "node_modules/jest-matcher-utils": { + "version": "29.7.0", + "resolved": "https://registry.npmjs.org/jest-matcher-utils/-/jest-matcher-utils-29.7.0.tgz", + "integrity": "sha512-sBkD+Xi9DtcChsI3L3u0+N0opgPYnCRPtGcQYrgXmR+hmt/fYfWAL0xRXYU8eWOdfuLgBe0YCW3AFtnRLagq/g==", + "dev": true, + "dependencies": { + "chalk": "^4.0.0", + "jest-diff": "^29.7.0", + "jest-get-type": "^29.6.3", + "pretty-format": "^29.7.0" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + } + }, + "node_modules/jest-message-util": { + "version": "29.7.0", + "resolved": "https://registry.npmjs.org/jest-message-util/-/jest-message-util-29.7.0.tgz", + "integrity": "sha512-GBEV4GRADeP+qtB2+6u61stea8mGcOT4mCtrYISZwfu9/ISHFJ/5zOMXYbpBE9RsS5+Gb63DW4FgmnKJ79Kf6w==", + "dev": true, + "dependencies": { + "@babel/code-frame": "^7.12.13", + "@jest/types": "^29.6.3", + "@types/stack-utils": "^2.0.0", + "chalk": "^4.0.0", + "graceful-fs": "^4.2.9", + "micromatch": "^4.0.4", + "pretty-format": "^29.7.0", + "slash": "^3.0.0", + "stack-utils": "^2.0.3" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + } + }, + "node_modules/jest-mock": { + "version": "29.7.0", + "resolved": "https://registry.npmjs.org/jest-mock/-/jest-mock-29.7.0.tgz", + "integrity": "sha512-ITOMZn+UkYS4ZFh83xYAOzWStloNzJFO2s8DWrE4lhtGD+AorgnbkiKERe4wQVBydIGPx059g6riW5Btp6Llnw==", + "dev": true, + "dependencies": { + "@jest/types": "^29.6.3", + "@types/node": "*", + "jest-util": "^29.7.0" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + } + }, + "node_modules/jest-pnp-resolver": { + "version": "1.2.3", + "resolved": "https://registry.npmjs.org/jest-pnp-resolver/-/jest-pnp-resolver-1.2.3.tgz", + "integrity": "sha512-+3NpwQEnRoIBtx4fyhblQDPgJI0H1IEIkX7ShLUjPGA7TtUTvI1oiKi3SR4oBR0hQhQR80l4WAe5RrXBwWMA8w==", + "dev": true, + "engines": { + "node": ">=6" + }, + "peerDependencies": { + "jest-resolve": "*" + }, + "peerDependenciesMeta": { + "jest-resolve": { + "optional": true + } + } + }, + "node_modules/jest-regex-util": { + "version": "29.6.3", + "resolved": "https://registry.npmjs.org/jest-regex-util/-/jest-regex-util-29.6.3.tgz", + "integrity": "sha512-KJJBsRCyyLNWCNBOvZyRDnAIfUiRJ8v+hOBQYGn8gDyF3UegwiP4gwRR3/SDa42g1YbVycTidUF3rKjyLFDWbg==", + "dev": true, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + } + }, + "node_modules/jest-resolve": { + "version": "29.7.0", + "resolved": "https://registry.npmjs.org/jest-resolve/-/jest-resolve-29.7.0.tgz", + "integrity": "sha512-IOVhZSrg+UvVAshDSDtHyFCCBUl/Q3AAJv8iZ6ZjnZ74xzvwuzLXid9IIIPgTnY62SJjfuupMKZsZQRsCvxEgA==", + "dev": true, + "dependencies": { + "chalk": "^4.0.0", + "graceful-fs": "^4.2.9", + "jest-haste-map": "^29.7.0", + "jest-pnp-resolver": "^1.2.2", + "jest-util": "^29.7.0", + "jest-validate": "^29.7.0", + "resolve": "^1.20.0", + "resolve.exports": "^2.0.0", + "slash": "^3.0.0" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + } + }, + "node_modules/jest-resolve-dependencies": { + "version": "29.7.0", + "resolved": "https://registry.npmjs.org/jest-resolve-dependencies/-/jest-resolve-dependencies-29.7.0.tgz", + "integrity": "sha512-un0zD/6qxJ+S0et7WxeI3H5XSe9lTBBR7bOHCHXkKR6luG5mwDDlIzVQ0V5cZCuoTgEdcdwzTghYkTWfubi+nA==", + "dev": true, + "dependencies": { + "jest-regex-util": "^29.6.3", + "jest-snapshot": "^29.7.0" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + } + }, + "node_modules/jest-runner": { + "version": "29.7.0", + "resolved": "https://registry.npmjs.org/jest-runner/-/jest-runner-29.7.0.tgz", + "integrity": "sha512-fsc4N6cPCAahybGBfTRcq5wFR6fpLznMg47sY5aDpsoejOcVYFb07AHuSnR0liMcPTgBsA3ZJL6kFOjPdoNipQ==", + "dev": true, + "dependencies": { + "@jest/console": "^29.7.0", + "@jest/environment": "^29.7.0", + "@jest/test-result": "^29.7.0", + "@jest/transform": "^29.7.0", + "@jest/types": "^29.6.3", + "@types/node": "*", + "chalk": "^4.0.0", + "emittery": "^0.13.1", + "graceful-fs": "^4.2.9", + "jest-docblock": "^29.7.0", + "jest-environment-node": "^29.7.0", + "jest-haste-map": "^29.7.0", + "jest-leak-detector": "^29.7.0", + "jest-message-util": "^29.7.0", + "jest-resolve": "^29.7.0", + "jest-runtime": "^29.7.0", + "jest-util": "^29.7.0", + "jest-watcher": "^29.7.0", + "jest-worker": "^29.7.0", + "p-limit": "^3.1.0", + "source-map-support": "0.5.13" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + } + }, + "node_modules/jest-runtime": { + "version": "29.7.0", + "resolved": "https://registry.npmjs.org/jest-runtime/-/jest-runtime-29.7.0.tgz", + "integrity": "sha512-gUnLjgwdGqW7B4LvOIkbKs9WGbn+QLqRQQ9juC6HndeDiezIwhDP+mhMwHWCEcfQ5RUXa6OPnFF8BJh5xegwwQ==", + "dev": true, + "dependencies": { + "@jest/environment": "^29.7.0", + "@jest/fake-timers": "^29.7.0", + "@jest/globals": "^29.7.0", + "@jest/source-map": "^29.6.3", + "@jest/test-result": "^29.7.0", + "@jest/transform": "^29.7.0", + "@jest/types": "^29.6.3", + "@types/node": "*", + "chalk": "^4.0.0", + "cjs-module-lexer": "^1.0.0", + "collect-v8-coverage": "^1.0.0", + "glob": "^7.1.3", + "graceful-fs": "^4.2.9", + "jest-haste-map": "^29.7.0", + "jest-message-util": "^29.7.0", + "jest-mock": "^29.7.0", + "jest-regex-util": "^29.6.3", + "jest-resolve": "^29.7.0", + "jest-snapshot": "^29.7.0", + "jest-util": "^29.7.0", + "slash": "^3.0.0", + "strip-bom": "^4.0.0" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + } + }, + "node_modules/jest-snapshot": { + "version": "29.7.0", + "resolved": "https://registry.npmjs.org/jest-snapshot/-/jest-snapshot-29.7.0.tgz", + "integrity": "sha512-Rm0BMWtxBcioHr1/OX5YCP8Uov4riHvKPknOGs804Zg9JGZgmIBkbtlxJC/7Z4msKYVbIJtfU+tKb8xlYNfdkw==", + "dev": true, + "dependencies": { + "@babel/core": "^7.11.6", + "@babel/generator": "^7.7.2", + "@babel/plugin-syntax-jsx": "^7.7.2", + "@babel/plugin-syntax-typescript": "^7.7.2", + "@babel/types": "^7.3.3", + "@jest/expect-utils": "^29.7.0", + "@jest/transform": "^29.7.0", + "@jest/types": "^29.6.3", + "babel-preset-current-node-syntax": "^1.0.0", + "chalk": "^4.0.0", + "expect": "^29.7.0", + "graceful-fs": "^4.2.9", + "jest-diff": "^29.7.0", + "jest-get-type": "^29.6.3", + "jest-matcher-utils": "^29.7.0", + "jest-message-util": "^29.7.0", + "jest-util": "^29.7.0", + "natural-compare": "^1.4.0", + "pretty-format": "^29.7.0", + "semver": "^7.5.3" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + } + }, + "node_modules/jest-snapshot/node_modules/lru-cache": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz", + "integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==", + "dev": true, + "dependencies": { + "yallist": "^4.0.0" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/jest-snapshot/node_modules/semver": { + "version": "7.5.4", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.5.4.tgz", + "integrity": "sha512-1bCSESV6Pv+i21Hvpxp3Dx+pSD8lIPt8uVjRrxAUt/nbswYc+tK6Y2btiULjd4+fnq15PX+nqQDC7Oft7WkwcA==", + "dev": true, + "dependencies": { + "lru-cache": "^6.0.0" + }, + "bin": { + "semver": "bin/semver.js" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/jest-snapshot/node_modules/yallist": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", + "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==", + "dev": true + }, + "node_modules/jest-util": { + "version": "29.7.0", + "resolved": "https://registry.npmjs.org/jest-util/-/jest-util-29.7.0.tgz", + "integrity": "sha512-z6EbKajIpqGKU56y5KBUgy1dt1ihhQJgWzUlZHArA/+X2ad7Cb5iF+AK1EWVL/Bo7Rz9uurpqw6SiBCefUbCGA==", + "dev": true, + "dependencies": { + "@jest/types": "^29.6.3", + "@types/node": "*", + "chalk": "^4.0.0", + "ci-info": "^3.2.0", + "graceful-fs": "^4.2.9", + "picomatch": "^2.2.3" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + } + }, + "node_modules/jest-validate": { + "version": "29.7.0", + "resolved": "https://registry.npmjs.org/jest-validate/-/jest-validate-29.7.0.tgz", + "integrity": "sha512-ZB7wHqaRGVw/9hST/OuFUReG7M8vKeq0/J2egIGLdvjHCmYqGARhzXmtgi+gVeZ5uXFF219aOc3Ls2yLg27tkw==", + "dev": true, + "dependencies": { + "@jest/types": "^29.6.3", + "camelcase": "^6.2.0", + "chalk": "^4.0.0", + "jest-get-type": "^29.6.3", + "leven": "^3.1.0", + "pretty-format": "^29.7.0" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + } + }, + "node_modules/jest-validate/node_modules/camelcase": { + "version": "6.3.0", + "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-6.3.0.tgz", + "integrity": "sha512-Gmy6FhYlCY7uOElZUSbxo2UCDH8owEk996gkbrpsgGtrJLM3J7jGxl9Ic7Qwwj4ivOE5AWZWRMecDdF7hqGjFA==", + "dev": true, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/jest-watcher": { + "version": "29.7.0", + "resolved": "https://registry.npmjs.org/jest-watcher/-/jest-watcher-29.7.0.tgz", + "integrity": "sha512-49Fg7WXkU3Vl2h6LbLtMQ/HyB6rXSIX7SqvBLQmssRBGN9I0PNvPmAmCWSOY6SOvrjhI/F7/bGAv9RtnsPA03g==", + "dev": true, + "dependencies": { + "@jest/test-result": "^29.7.0", + "@jest/types": "^29.6.3", + "@types/node": "*", + "ansi-escapes": "^4.2.1", + "chalk": "^4.0.0", + "emittery": "^0.13.1", + "jest-util": "^29.7.0", + "string-length": "^4.0.1" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + } + }, + "node_modules/jest-worker": { + "version": "29.7.0", + "resolved": "https://registry.npmjs.org/jest-worker/-/jest-worker-29.7.0.tgz", + "integrity": "sha512-eIz2msL/EzL9UFTFFx7jBTkeZfku0yUAyZZZmJ93H2TYEiroIx2PQjEXcwYtYl8zXCxb+PAmA2hLIt/6ZEkPHw==", + "dev": true, + "dependencies": { + "@types/node": "*", + "jest-util": "^29.7.0", + "merge-stream": "^2.0.0", + "supports-color": "^8.0.0" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + } + }, + "node_modules/jest-worker/node_modules/supports-color": { + "version": "8.1.1", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-8.1.1.tgz", + "integrity": "sha512-MpUEN2OodtUzxvKQl72cUF7RQ5EiHsGvSsVG0ia9c5RbWGL2CI4C7EpPS8UTBIplnlzZiNuV56w+FuNxy3ty2Q==", + "dev": true, + "dependencies": { + "has-flag": "^4.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/supports-color?sponsor=1" + } + }, + "node_modules/js-tokens": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-4.0.0.tgz", + "integrity": "sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==", + "dev": true + }, + "node_modules/js-yaml": { + "version": "3.14.1", + "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-3.14.1.tgz", + "integrity": "sha512-okMH7OXXJ7YrN9Ok3/SXrnu4iX9yOk+25nqX4imS2npuvTYDmo/QEZoqwZkYaIDk3jVvBOTOIEgEhaLOynBS9g==", + "dev": true, + "dependencies": { + "argparse": "^1.0.7", + "esprima": "^4.0.0" + }, + "bin": { + "js-yaml": "bin/js-yaml.js" + } + }, + "node_modules/jsesc": { + "version": "2.5.2", + "resolved": "https://registry.npmjs.org/jsesc/-/jsesc-2.5.2.tgz", + "integrity": "sha512-OYu7XEzjkCQ3C5Ps3QIZsQfNpqoJyZZA99wd9aWd05NCtC5pWOkShK2mkL6HXQR6/Cy2lbNdPlZBpuQHXE63gA==", + "dev": true, + "bin": { + "jsesc": "bin/jsesc" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/json-parse-even-better-errors": { + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/json-parse-even-better-errors/-/json-parse-even-better-errors-2.3.1.tgz", + "integrity": "sha512-xyFwyhro/JEof6Ghe2iz2NcXoj2sloNsWr/XsERDK/oiPCfaNhl5ONfp+jQdAZRQQ0IJWNzH9zIZF7li91kh2w==", + "dev": true + }, + "node_modules/json5": { + "version": "2.2.3", + "resolved": "https://registry.npmjs.org/json5/-/json5-2.2.3.tgz", + "integrity": "sha512-XmOWe7eyHYH14cLdVPoyg+GOH3rYX++KpzrylJwSW98t3Nk+U8XOl8FWKOgwtzdb8lXGf6zYwDUzeHMWfxasyg==", + "dev": true, + "bin": { + "json5": "lib/cli.js" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/kleur": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/kleur/-/kleur-3.0.3.tgz", + "integrity": "sha512-eTIzlVOSUR+JxdDFepEYcBMtZ9Qqdef+rnzWdRZuMbOywu5tO2w2N7rqjoANZ5k9vywhL6Br1VRjUIgTQx4E8w==", + "dev": true, + "engines": { + "node": ">=6" + } + }, + "node_modules/leven": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/leven/-/leven-3.1.0.tgz", + "integrity": "sha512-qsda+H8jTaUaN/x5vzW2rzc+8Rw4TAQ/4KjB46IwK5VH+IlVeeeje/EoZRpiXvIqjFgK84QffqPztGI3VBLG1A==", + "dev": true, + "engines": { + "node": ">=6" + } + }, + "node_modules/lines-and-columns": { + "version": "1.2.4", + "resolved": "https://registry.npmjs.org/lines-and-columns/-/lines-and-columns-1.2.4.tgz", + "integrity": "sha512-7ylylesZQ/PV29jhEDl3Ufjo6ZX7gCqJr5F7PKrqc93v7fzSymt1BpwEU8nAUXs8qzzvqhbjhK5QZg6Mt/HkBg==", + "dev": true + }, + "node_modules/locate-path": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-5.0.0.tgz", + "integrity": "sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g==", + "dev": true, + "dependencies": { + "p-locate": "^4.1.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/lru-cache": { + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-5.1.1.tgz", + "integrity": "sha512-KpNARQA3Iwv+jTA0utUVVbrh+Jlrr1Fv0e56GGzAFOXN7dk/FviaDW8LHmK52DlcH4WP2n6gI8vN1aesBFgo9w==", + "dev": true, + "dependencies": { + "yallist": "^3.0.2" + } + }, + "node_modules/make-dir": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/make-dir/-/make-dir-4.0.0.tgz", + "integrity": "sha512-hXdUTZYIVOt1Ex//jAQi+wTZZpUpwBj/0QsOzqegb3rGMMeJiSEu5xLHnYfBrRV4RH2+OCSOO95Is/7x1WJ4bw==", + "dev": true, + "dependencies": { + "semver": "^7.5.3" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/make-dir/node_modules/lru-cache": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz", + "integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==", + "dev": true, + "dependencies": { + "yallist": "^4.0.0" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/make-dir/node_modules/semver": { + "version": "7.5.4", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.5.4.tgz", + "integrity": "sha512-1bCSESV6Pv+i21Hvpxp3Dx+pSD8lIPt8uVjRrxAUt/nbswYc+tK6Y2btiULjd4+fnq15PX+nqQDC7Oft7WkwcA==", + "dev": true, + "dependencies": { + "lru-cache": "^6.0.0" + }, + "bin": { + "semver": "bin/semver.js" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/make-dir/node_modules/yallist": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", + "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==", + "dev": true + }, + "node_modules/makeerror": { + "version": "1.0.12", + "resolved": "https://registry.npmjs.org/makeerror/-/makeerror-1.0.12.tgz", + "integrity": "sha512-JmqCvUhmt43madlpFzG4BQzG2Z3m6tvQDNKdClZnO3VbIudJYmxsT0FNJMeiB2+JTSlTQTSbU8QdesVmwJcmLg==", + "dev": true, + "dependencies": { + "tmpl": "1.0.5" + } + }, + "node_modules/merge-stream": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/merge-stream/-/merge-stream-2.0.0.tgz", + "integrity": "sha512-abv/qOcuPfk3URPfDzmZU1LKmuw8kT+0nIHvKrKgFrwifol/doWcdA4ZqsWQ8ENrFKkd67Mfpo/LovbIUsbt3w==", + "dev": true + }, + "node_modules/methods": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/methods/-/methods-1.1.2.tgz", + "integrity": "sha512-iclAHeNqNm68zFtnZ0e+1L2yUIdvzNoauKU4WBA3VvH/vPFieF7qfRlwUZU+DA9P9bPXIS90ulxoUoCH23sV2w==", + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/micromatch": { + "version": "4.0.5", + "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-4.0.5.tgz", + "integrity": "sha512-DMy+ERcEW2q8Z2Po+WNXuw3c5YaUSFjAO5GsJqfEl7UjvtIuFKO6ZrKvcItdy98dwFI2N1tg3zNIdKaQT+aNdA==", + "dev": true, + "dependencies": { + "braces": "^3.0.2", + "picomatch": "^2.3.1" + }, + "engines": { + "node": ">=8.6" + } + }, + "node_modules/mime": { + "version": "2.6.0", + "resolved": "https://registry.npmjs.org/mime/-/mime-2.6.0.tgz", + "integrity": "sha512-USPkMeET31rOMiarsBNIHZKLGgvKc/LrjofAnBlOttf5ajRvqiRA8QsenbcooctK6d6Ts6aqZXBA+XbkKthiQg==", + "bin": { + "mime": "cli.js" + }, + "engines": { + "node": ">=4.0.0" + } + }, + "node_modules/mime-db": { + "version": "1.52.0", + "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.52.0.tgz", + "integrity": "sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg==", + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/mime-types": { + "version": "2.1.35", + "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.35.tgz", + "integrity": "sha512-ZDY+bPm5zTTF+YpCrAU9nK0UgICYPT0QtT1NZWFv4s++TNkcgVaT0g6+4R2uI4MjQjzysHB1zxuWL50hzaeXiw==", + "dependencies": { + "mime-db": "1.52.0" + }, + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/mimic-fn": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/mimic-fn/-/mimic-fn-2.1.0.tgz", + "integrity": "sha512-OqbOk5oEQeAZ8WXWydlu9HJjz9WVdEIvamMCcXmuqUYjTknH/sqsWvhQ3vgwKFRR1HpjvNBKQ37nbJgYzGqGcg==", + "dev": true, + "engines": { + "node": ">=6" + } + }, + "node_modules/minimatch": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz", + "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==", + "dev": true, + "dependencies": { + "brace-expansion": "^1.1.7" + }, + "engines": { + "node": "*" + } + }, + "node_modules/ms": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", + "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==" + }, + "node_modules/natural-compare": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/natural-compare/-/natural-compare-1.4.0.tgz", + "integrity": "sha512-OWND8ei3VtNC9h7V60qff3SVobHr996CTwgxubgyQYEpg290h9J0buyECNNJexkFm5sOajh5G116RYA1c8ZMSw==", + "dev": true + }, + "node_modules/node-int64": { + "version": "0.4.0", + "resolved": "https://registry.npmjs.org/node-int64/-/node-int64-0.4.0.tgz", + "integrity": "sha512-O5lz91xSOeoXP6DulyHfllpq+Eg00MWitZIbtPfoSEvqIHdl5gfcY6hYzDWnj0qD5tz52PI08u9qUvSVeUBeHw==", + "dev": true + }, + "node_modules/node-releases": { + "version": "2.0.13", + "resolved": "https://registry.npmjs.org/node-releases/-/node-releases-2.0.13.tgz", + "integrity": "sha512-uYr7J37ae/ORWdZeQ1xxMJe3NtdmqMC/JZK+geofDrkLUApKRHPd18/TxtBOJ4A0/+uUIliorNrfYV6s1b02eQ==", + "dev": true + }, + "node_modules/normalize-path": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-3.0.0.tgz", + "integrity": "sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/npm-run-path": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/npm-run-path/-/npm-run-path-4.0.1.tgz", + "integrity": "sha512-S48WzZW777zhNIrn7gxOlISNAqi9ZC/uQFnRdbeIHhZhCA6UqpkOT8T1G7BvfdgP4Er8gF4sUbaS0i7QvIfCWw==", + "dev": true, + "dependencies": { + "path-key": "^3.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/object-inspect": { + "version": "1.12.3", + "resolved": "https://registry.npmjs.org/object-inspect/-/object-inspect-1.12.3.tgz", + "integrity": "sha512-geUvdk7c+eizMNUDkRpW1wJwgfOiOeHbxBR/hLXK1aT6zmVSO0jsQcs7fj6MGw89jC/cjGfLcNOrtMYtGqm81g==", + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/once": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz", + "integrity": "sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w==", + "dependencies": { + "wrappy": "1" + } + }, + "node_modules/onetime": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/onetime/-/onetime-5.1.2.tgz", + "integrity": "sha512-kbpaSSGJTWdAY5KPVeMOKXSrPtr8C8C7wodJbcsd51jRnmD+GZu8Y0VoU6Dm5Z4vWr0Ig/1NKuWRKf7j5aaYSg==", + "dev": true, + "dependencies": { + "mimic-fn": "^2.1.0" + }, + "engines": { + "node": ">=6" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/p-limit": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-3.1.0.tgz", + "integrity": "sha512-TYOanM3wGwNGsZN2cVTYPArw454xnXj5qmWF1bEoAc4+cU/ol7GVh7odevjp1FNHduHc3KZMcFduxU5Xc6uJRQ==", + "dev": true, + "dependencies": { + "yocto-queue": "^0.1.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/p-locate": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-4.1.0.tgz", + "integrity": "sha512-R79ZZ/0wAxKGu3oYMlz8jy/kbhsNrS7SKZ7PxEHBgJ5+F2mtFW2fK2cOtBh1cHYkQsbzFV7I+EoRKe6Yt0oK7A==", + "dev": true, + "dependencies": { + "p-limit": "^2.2.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/p-locate/node_modules/p-limit": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.3.0.tgz", + "integrity": "sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==", + "dev": true, + "dependencies": { + "p-try": "^2.0.0" + }, + "engines": { + "node": ">=6" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/p-try": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/p-try/-/p-try-2.2.0.tgz", + "integrity": "sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ==", + "dev": true, + "engines": { + "node": ">=6" + } + }, + "node_modules/parse-json": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/parse-json/-/parse-json-5.2.0.tgz", + "integrity": "sha512-ayCKvm/phCGxOkYRSCM82iDwct8/EonSEgCSxWxD7ve6jHggsFl4fZVQBPRNgQoKiuV/odhFrGzQXZwbifC8Rg==", + "dev": true, + "dependencies": { + "@babel/code-frame": "^7.0.0", + "error-ex": "^1.3.1", + "json-parse-even-better-errors": "^2.3.0", + "lines-and-columns": "^1.1.6" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/path-exists": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-4.0.0.tgz", + "integrity": "sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/path-is-absolute": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz", + "integrity": "sha512-AVbw3UJ2e9bq64vSaS9Am0fje1Pa8pbGqTTsmXfaIiMpnr5DlDhfJOuLj9Sf95ZPVDAUerDfEk88MPmPe7UCQg==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/path-key": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/path-key/-/path-key-3.1.1.tgz", + "integrity": "sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/path-parse": { + "version": "1.0.7", + "resolved": "https://registry.npmjs.org/path-parse/-/path-parse-1.0.7.tgz", + "integrity": "sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==", + "dev": true + }, + "node_modules/picocolors": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-1.0.0.tgz", + "integrity": "sha512-1fygroTLlHu66zi26VoTDv8yRgm0Fccecssto+MhsZ0D/DGW2sm8E8AjW7NU5VVTRt5GxbeZ5qBuJr+HyLYkjQ==", + "dev": true + }, + "node_modules/picomatch": { + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.3.1.tgz", + "integrity": "sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==", + "dev": true, + "engines": { + "node": ">=8.6" + }, + "funding": { + "url": "https://github.com/sponsors/jonschlinkert" + } + }, + "node_modules/pirates": { + "version": "4.0.6", + "resolved": "https://registry.npmjs.org/pirates/-/pirates-4.0.6.tgz", + "integrity": "sha512-saLsH7WeYYPiD25LDuLRRY/i+6HaPYr6G1OUlN39otzkSTxKnubR9RTxS3/Kk50s1g2JTgFwWQDQyplC5/SHZg==", + "dev": true, + "engines": { + "node": ">= 6" + } + }, + "node_modules/pkg-dir": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/pkg-dir/-/pkg-dir-4.2.0.tgz", + "integrity": "sha512-HRDzbaKjC+AOWVXxAU/x54COGeIv9eb+6CkDSQoNTt4XyWoIJvuPsXizxu/Fr23EiekbtZwmh1IcIG/l/a10GQ==", + "dev": true, + "dependencies": { + "find-up": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/pretty-format": { + "version": "29.7.0", + "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-29.7.0.tgz", + "integrity": "sha512-Pdlw/oPxN+aXdmM9R00JVC9WVFoCLTKJvDVLgmJ+qAffBMxsV85l/Lu7sNx4zSzPyoL2euImuEwHhOXdEgNFZQ==", + "dev": true, + "dependencies": { + "@jest/schemas": "^29.6.3", + "ansi-styles": "^5.0.0", + "react-is": "^18.0.0" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + } + }, + "node_modules/pretty-format/node_modules/ansi-styles": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-5.2.0.tgz", + "integrity": "sha512-Cxwpt2SfTzTtXcfOlzGEee8O+c+MmUgGrNiBcXnuWxuFJHe6a5Hz7qwhwe5OgaSYI0IJvkLqWX1ASG+cJOkEiA==", + "dev": true, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" + } + }, + "node_modules/prompts": { + "version": "2.4.2", + "resolved": "https://registry.npmjs.org/prompts/-/prompts-2.4.2.tgz", + "integrity": "sha512-NxNv/kLguCA7p3jE8oL2aEBsrJWgAakBpgmgK6lpPWV+WuOmY6r2/zbAVnP+T8bQlA0nzHXSJSJW0Hq7ylaD2Q==", + "dev": true, + "dependencies": { + "kleur": "^3.0.3", + "sisteransi": "^1.0.5" + }, + "engines": { + "node": ">= 6" + } + }, + "node_modules/pure-rand": { + "version": "6.0.4", + "resolved": "https://registry.npmjs.org/pure-rand/-/pure-rand-6.0.4.tgz", + "integrity": "sha512-LA0Y9kxMYv47GIPJy6MI84fqTd2HmYZI83W/kM/SkKfDlajnZYfmXFTxkbY+xSBPkLJxltMa9hIkmdc29eguMA==", + "dev": true, + "funding": [ + { + "type": "individual", + "url": "https://github.com/sponsors/dubzzz" + }, + { + "type": "opencollective", + "url": "https://opencollective.com/fast-check" + } + ] + }, + "node_modules/qs": { + "version": "6.11.2", + "resolved": "https://registry.npmjs.org/qs/-/qs-6.11.2.tgz", + "integrity": "sha512-tDNIz22aBzCDxLtVH++VnTfzxlfeK5CbqohpSqpJgj1Wg/cQbStNAz3NuqCs5vV+pjBsK4x4pN9HlVh7rcYRiA==", + "dependencies": { + "side-channel": "^1.0.4" + }, + "engines": { + "node": ">=0.6" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/react-is": { + "version": "18.2.0", + "resolved": "https://registry.npmjs.org/react-is/-/react-is-18.2.0.tgz", + "integrity": "sha512-xWGDIW6x921xtzPkhiULtthJHoJvBbF3q26fzloPCK0hsvxtPVelvftw3zjbHWSkR2km9Z+4uxbDDK/6Zw9B8w==", + "dev": true + }, + "node_modules/require-directory": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/require-directory/-/require-directory-2.1.1.tgz", + "integrity": "sha512-fGxEI7+wsG9xrvdjsrlmL22OMTTiHRwAMroiEeMgq8gzoLC/PQr7RsRDSTLUg/bZAZtF+TVIkHc6/4RIKrui+Q==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/resolve": { + "version": "1.22.8", + "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.22.8.tgz", + "integrity": "sha512-oKWePCxqpd6FlLvGV1VU0x7bkPmmCNolxzjMf4NczoDnQcIWrAF+cPtZn5i6n+RfD2d9i0tzpKnG6Yk168yIyw==", + "dev": true, + "dependencies": { + "is-core-module": "^2.13.0", + "path-parse": "^1.0.7", + "supports-preserve-symlinks-flag": "^1.0.0" + }, + "bin": { + "resolve": "bin/resolve" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/resolve-cwd": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/resolve-cwd/-/resolve-cwd-3.0.0.tgz", + "integrity": "sha512-OrZaX2Mb+rJCpH/6CpSqt9xFVpN++x01XnN2ie9g6P5/3xelLAkXWVADpdz1IHD/KFfEXyE6V0U01OQ3UO2rEg==", + "dev": true, + "dependencies": { + "resolve-from": "^5.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/resolve-from": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-5.0.0.tgz", + "integrity": "sha512-qYg9KP24dD5qka9J47d0aVky0N+b4fTU89LN9iDnjB5waksiC49rvMB0PrUJQGoTmH50XPiqOvAjDfaijGxYZw==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/resolve.exports": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/resolve.exports/-/resolve.exports-2.0.2.tgz", + "integrity": "sha512-X2UW6Nw3n/aMgDVy+0rSqgHlv39WZAlZrXCdnbyEiKm17DSqHX4MmQMaST3FbeWR5FTuRcUwYAziZajji0Y7mg==", + "dev": true, + "engines": { + "node": ">=10" + } + }, + "node_modules/semver": { + "version": "6.3.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz", + "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==", + "dev": true, + "bin": { + "semver": "bin/semver.js" + } + }, + "node_modules/shebang-command": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-2.0.0.tgz", + "integrity": "sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==", + "dev": true, + "dependencies": { + "shebang-regex": "^3.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/shebang-regex": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-3.0.0.tgz", + "integrity": "sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/side-channel": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/side-channel/-/side-channel-1.0.4.tgz", + "integrity": "sha512-q5XPytqFEIKHkGdiMIrY10mvLRvnQh42/+GoBlFW3b2LXLE2xxJpZFdm94we0BaoV3RwJyGqg5wS7epxTv0Zvw==", + "dependencies": { + "call-bind": "^1.0.0", + "get-intrinsic": "^1.0.2", + "object-inspect": "^1.9.0" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/signal-exit": { + "version": "3.0.7", + "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.7.tgz", + "integrity": "sha512-wnD2ZE+l+SPC/uoS0vXeE9L1+0wuaMqKlfz9AMUo38JsyLSBWSFcHR1Rri62LZc12vLr1gb3jl7iwQhgwpAbGQ==", + "dev": true + }, + "node_modules/sisteransi": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/sisteransi/-/sisteransi-1.0.5.tgz", + "integrity": "sha512-bLGGlR1QxBcynn2d5YmDX4MGjlZvy2MRBDRNHLJ8VI6l6+9FUiyTFNJ0IveOSP0bcXgVDPRcfGqA0pjaqUpfVg==", + "dev": true + }, + "node_modules/slash": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/slash/-/slash-3.0.0.tgz", + "integrity": "sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/source-map-support": { + "version": "0.5.13", + "resolved": "https://registry.npmjs.org/source-map-support/-/source-map-support-0.5.13.tgz", + "integrity": "sha512-SHSKFHadjVA5oR4PPqhtAVdcBWwRYVd6g6cAXnIbRiIwc2EhPrTuKUBdSLvlEKyIP3GCf89fltvcZiP9MMFA1w==", + "dev": true, + "dependencies": { + "buffer-from": "^1.0.0", + "source-map": "^0.6.0" + } + }, + "node_modules/sprintf-js": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/sprintf-js/-/sprintf-js-1.0.3.tgz", + "integrity": "sha512-D9cPgkvLlV3t3IzL0D0YLvGA9Ahk4PcvVwUbN0dSGr1aP0Nrt4AEnTUbuGvquEC0mA64Gqt1fzirlRs5ibXx8g==", + "dev": true + }, + "node_modules/stack-utils": { + "version": "2.0.6", + "resolved": "https://registry.npmjs.org/stack-utils/-/stack-utils-2.0.6.tgz", + "integrity": "sha512-XlkWvfIm6RmsWtNJx+uqtKLS8eqFbxUg0ZzLXqY0caEy9l7hruX8IpiDnjsLavoBgqCCR71TqWO8MaXYheJ3RQ==", + "dev": true, + "dependencies": { + "escape-string-regexp": "^2.0.0" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/string-length": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/string-length/-/string-length-4.0.2.tgz", + "integrity": "sha512-+l6rNN5fYHNhZZy41RXsYptCjA2Igmq4EG7kZAYFQI1E1VTXarr6ZPXBg6eq7Y6eK4FEhY6AJlyuFIb/v/S0VQ==", + "dev": true, + "dependencies": { + "char-regex": "^1.0.2", + "strip-ansi": "^6.0.0" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/string-width": { + "version": "4.2.3", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz", + "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==", + "dev": true, + "dependencies": { + "emoji-regex": "^8.0.0", + "is-fullwidth-code-point": "^3.0.0", + "strip-ansi": "^6.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/strip-ansi": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz", + "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==", + "dev": true, + "dependencies": { + "ansi-regex": "^5.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/strip-bom": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/strip-bom/-/strip-bom-4.0.0.tgz", + "integrity": "sha512-3xurFv5tEgii33Zi8Jtp55wEIILR9eh34FAW00PZf+JnSsTmV/ioewSgQl97JHvgjoRGwPShsWm+IdrxB35d0w==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/strip-final-newline": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/strip-final-newline/-/strip-final-newline-2.0.0.tgz", + "integrity": "sha512-BrpvfNAE3dcvq7ll3xVumzjKjZQ5tI1sEUIKr3Uoks0XUl45St3FlatVqef9prk4jRDzhW6WZg+3bk93y6pLjA==", + "dev": true, + "engines": { + "node": ">=6" + } + }, + "node_modules/strip-json-comments": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-3.1.1.tgz", + "integrity": "sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig==", + "dev": true, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/superagent": { + "version": "8.1.2", + "resolved": "https://registry.npmjs.org/superagent/-/superagent-8.1.2.tgz", + "integrity": "sha512-6WTxW1EB6yCxV5VFOIPQruWGHqc3yI7hEmZK6h+pyk69Lk/Ut7rLUY6W/ONF2MjBuGjvmMiIpsrVJ2vjrHlslA==", + "dependencies": { + "component-emitter": "^1.3.0", + "cookiejar": "^2.1.4", + "debug": "^4.3.4", + "fast-safe-stringify": "^2.1.1", + "form-data": "^4.0.0", + "formidable": "^2.1.2", + "methods": "^1.1.2", + "mime": "2.6.0", + "qs": "^6.11.0", + "semver": "^7.3.8" + }, + "engines": { + "node": ">=6.4.0 <13 || >=14" + } + }, + "node_modules/superagent/node_modules/lru-cache": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz", + "integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==", + "dependencies": { + "yallist": "^4.0.0" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/superagent/node_modules/semver": { + "version": "7.5.4", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.5.4.tgz", + "integrity": "sha512-1bCSESV6Pv+i21Hvpxp3Dx+pSD8lIPt8uVjRrxAUt/nbswYc+tK6Y2btiULjd4+fnq15PX+nqQDC7Oft7WkwcA==", + "dependencies": { + "lru-cache": "^6.0.0" + }, + "bin": { + "semver": "bin/semver.js" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/superagent/node_modules/yallist": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", + "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==" + }, + "node_modules/supports-color": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", + "dev": true, + "dependencies": { + "has-flag": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/supports-preserve-symlinks-flag": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/supports-preserve-symlinks-flag/-/supports-preserve-symlinks-flag-1.0.0.tgz", + "integrity": "sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w==", + "dev": true, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/test-exclude": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/test-exclude/-/test-exclude-6.0.0.tgz", + "integrity": "sha512-cAGWPIyOHU6zlmg88jwm7VRyXnMN7iV68OGAbYDk/Mh/xC/pzVPlQtY6ngoIH/5/tciuhGfvESU8GrHrcxD56w==", + "dev": true, + "dependencies": { + "@istanbuljs/schema": "^0.1.2", + "glob": "^7.1.4", + "minimatch": "^3.0.4" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/tmpl": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/tmpl/-/tmpl-1.0.5.tgz", + "integrity": "sha512-3f0uOEAQwIqGuWW2MVzYg8fV/QNnc/IpuJNG837rLuczAaLVHslWHZQj4IGiEl5Hs3kkbhwL9Ab7Hrsmuj+Smw==", + "dev": true + }, + "node_modules/to-fast-properties": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/to-fast-properties/-/to-fast-properties-2.0.0.tgz", + "integrity": "sha512-/OaKK0xYrs3DmxRYqL/yDc+FxFUVYhDlXMhRmv3z915w2HF1tnN1omB354j8VUGO/hbRzyD6Y3sA7v7GS/ceog==", + "dev": true, + "engines": { + "node": ">=4" + } + }, + "node_modules/to-regex-range": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-5.0.1.tgz", + "integrity": "sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==", + "dev": true, + "dependencies": { + "is-number": "^7.0.0" + }, + "engines": { + "node": ">=8.0" + } + }, + "node_modules/type-detect": { + "version": "4.0.8", + "resolved": "https://registry.npmjs.org/type-detect/-/type-detect-4.0.8.tgz", + "integrity": "sha512-0fr/mIH1dlO+x7TlcMy+bIDqKPsw/70tVyeHW787goQjhmqaZe10uwLujubK9q9Lg6Fiho1KUKDYz0Z7k7g5/g==", + "dev": true, + "engines": { + "node": ">=4" + } + }, + "node_modules/type-fest": { + "version": "0.21.3", + "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.21.3.tgz", + "integrity": "sha512-t0rzBq87m3fVcduHDUFhKmyyX+9eo6WQjZvf51Ea/M0Q7+T374Jp1aUiyUl0GKxp8M/OETVHSDvmkyPgvX+X2w==", + "dev": true, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/undici-types": { + "version": "5.25.3", + "resolved": "https://registry.npmjs.org/undici-types/-/undici-types-5.25.3.tgz", + "integrity": "sha512-Ga1jfYwRn7+cP9v8auvEXN1rX3sWqlayd4HP7OKk4mZWylEmu3KzXDUGrQUN6Ol7qo1gPvB2e5gX6udnyEPgdA==", + "dev": true + }, + "node_modules/update-browserslist-db": { + "version": "1.0.13", + "resolved": "https://registry.npmjs.org/update-browserslist-db/-/update-browserslist-db-1.0.13.tgz", + "integrity": "sha512-xebP81SNcPuNpPP3uzeW1NYXxI3rxyJzF3pD6sH4jE7o/IX+WtSpwnVU+qIsDPyk0d3hmFQ7mjqc6AtV604hbg==", + "dev": true, + "funding": [ + { + "type": "opencollective", + "url": "https://opencollective.com/browserslist" + }, + { + "type": "tidelift", + "url": "https://tidelift.com/funding/github/npm/browserslist" + }, + { + "type": "github", + "url": "https://github.com/sponsors/ai" + } + ], + "dependencies": { + "escalade": "^3.1.1", + "picocolors": "^1.0.0" + }, + "bin": { + "update-browserslist-db": "cli.js" + }, + "peerDependencies": { + "browserslist": ">= 4.21.0" + } + }, + "node_modules/v8-to-istanbul": { + "version": "9.1.3", + "resolved": "https://registry.npmjs.org/v8-to-istanbul/-/v8-to-istanbul-9.1.3.tgz", + "integrity": "sha512-9lDD+EVI2fjFsMWXc6dy5JJzBsVTcQ2fVkfBvncZ6xJWG9wtBhOldG+mHkSL0+V1K/xgZz0JDO5UT5hFwHUghg==", + "dev": true, + "dependencies": { + "@jridgewell/trace-mapping": "^0.3.12", + "@types/istanbul-lib-coverage": "^2.0.1", + "convert-source-map": "^2.0.0" + }, + "engines": { + "node": ">=10.12.0" + } + }, + "node_modules/walker": { + "version": "1.0.8", + "resolved": "https://registry.npmjs.org/walker/-/walker-1.0.8.tgz", + "integrity": "sha512-ts/8E8l5b7kY0vlWLewOkDXMmPdLcVV4GmOQLyxuSswIJsweeFZtAsMF7k1Nszz+TYBQrlYRmzOnr398y1JemQ==", + "dev": true, + "dependencies": { + "makeerror": "1.0.12" + } + }, + "node_modules/which": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/which/-/which-2.0.2.tgz", + "integrity": "sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==", + "dev": true, + "dependencies": { + "isexe": "^2.0.0" + }, + "bin": { + "node-which": "bin/node-which" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/wrap-ansi": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-7.0.0.tgz", + "integrity": "sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==", + "dev": true, + "dependencies": { + "ansi-styles": "^4.0.0", + "string-width": "^4.1.0", + "strip-ansi": "^6.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/wrap-ansi?sponsor=1" + } + }, + "node_modules/wrappy": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz", + "integrity": "sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ==" + }, + "node_modules/write-file-atomic": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/write-file-atomic/-/write-file-atomic-4.0.2.tgz", + "integrity": "sha512-7KxauUdBmSdWnmpaGFg+ppNjKF8uNLry8LyzjauQDOVONfFLNKrKvQOxZ/VuTIcS/gge/YNahf5RIIQWTSarlg==", + "dev": true, + "dependencies": { + "imurmurhash": "^0.1.4", + "signal-exit": "^3.0.7" + }, + "engines": { + "node": "^12.13.0 || ^14.15.0 || >=16.0.0" + } + }, + "node_modules/y18n": { + "version": "5.0.8", + "resolved": "https://registry.npmjs.org/y18n/-/y18n-5.0.8.tgz", + "integrity": "sha512-0pfFzegeDWJHJIAmTLRP2DwHjdF5s7jo9tuztdQxAhINCdvS+3nGINqPd00AphqJR/0LhANUS6/+7SCb98YOfA==", + "dev": true, + "engines": { + "node": ">=10" + } + }, + "node_modules/yallist": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/yallist/-/yallist-3.1.1.tgz", + "integrity": "sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g==", + "dev": true + }, + "node_modules/yargs": { + "version": "17.7.2", + "resolved": "https://registry.npmjs.org/yargs/-/yargs-17.7.2.tgz", + "integrity": "sha512-7dSzzRQ++CKnNI/krKnYRV7JKKPUXMEh61soaHKg9mrWEhzFWhFnxPxGl+69cD1Ou63C13NUPCnmIcrvqCuM6w==", + "dev": true, + "dependencies": { + "cliui": "^8.0.1", + "escalade": "^3.1.1", + "get-caller-file": "^2.0.5", + "require-directory": "^2.1.1", + "string-width": "^4.2.3", + "y18n": "^5.0.5", + "yargs-parser": "^21.1.1" + }, + "engines": { + "node": ">=12" + } + }, + "node_modules/yargs-parser": { + "version": "21.1.1", + "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-21.1.1.tgz", + "integrity": "sha512-tVpsJW7DdjecAiFpbIB1e3qxIQsE6NoPc5/eTdrbbIC4h0LVsWhnoa3g+m2HclBIujHzsxZ4VJVA+GUuc2/LBw==", + "dev": true, + "engines": { + "node": ">=12" + } + }, + "node_modules/yocto-queue": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/yocto-queue/-/yocto-queue-0.1.0.tgz", + "integrity": "sha512-rVksvsnNCdJ/ohGc6xgPwyN8eheCxsiLM8mxuE/t/mOVqJewPuO1miLpTHQiRgTKCLexL4MeAFVagts7HmNZ2Q==", + "dev": true, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + } + } +} diff --git a/clients/sellingpartner-api-aa-javascript/package.json b/clients/sellingpartner-api-aa-javascript/package.json new file mode 100644 index 000000000..77b90524e --- /dev/null +++ b/clients/sellingpartner-api-aa-javascript/package.json @@ -0,0 +1,22 @@ +{ + "name": "@amzn/testsellingpartnerjavascriptapilwalib", + "type": "module", + "version": "1.0.0", + "description": "The NPM package name should always start with `@amzn/` to cleanly separate from public packages, avoid accidental publish to public repository, and allow publishing to CodeArtifact.", + "main": "/src/index.mjs", + "scripts": { + "test": "node --experimental-vm-modules node_modules/jest/bin/jest.js --config test_for_generated_sdk/jest.config.json" + }, + "repository": { + "type": "git", + "url": "ssh://git.amazon.com/pkg/TestSellingPartnerJavaScriptApiLwaLib" + }, + "author": "", + "license": "ISC", + "dependencies": { + "superagent": "^8.0.9" + }, + "devDependencies": { + "jest": "^29.6.2" + } +} diff --git a/clients/sellingpartner-api-aa-javascript/src/generate-js-sdk.sh b/clients/sellingpartner-api-aa-javascript/src/generate-js-sdk.sh new file mode 100755 index 000000000..09f052fb5 --- /dev/null +++ b/clients/sellingpartner-api-aa-javascript/src/generate-js-sdk.sh @@ -0,0 +1,85 @@ +#!/bin/bash +GITHUB_REPO="https://github.com/amzn/selling-partner-api-models.git" +BASE_DIR=$(cd "$(dirname "$0")" && cd .. && pwd) +CLONE_DIR="$BASE_DIR/models" + +# Get swagger jar file path from the input arguments +swagger_jar_path="" +while getopts 'j:' flag; do + case "${flag}" in + j) swagger_jar_path="${OPTARG}" + ;; + *) echo "available options are '-j'" + exit 1 + ;; + esac +done + +if [ ! -f "$swagger_jar_path" ]; then + echo "option '-j ' did not specify executable file. Aborted." + exit 1 +fi + +########################################################################## +if [ -d "$CLONE_DIR" ]; then + # prompt user, and if user gives "y", delete the directory. + read -p "Found $CLONE_DIR already exists. Would you like to delete all the files under '$CLONE_DIR' and clone again? [y/n]: " confirm + if [ "$confirm" == "y" ]; then + # delete all the files in the directory + rm -rf "${CLONE_DIR:?}/*" + echo "Deleted files in $CLONE_DIR directory. Recreating $CLONE_DIR again." + git clone "$GITHUB_REPO" "$CLONE_DIR" + else + echo "OK. Proceeding with the existing ${CLONE_DIR} without cloning." + fi +else + midir "$CLONE_DIR" + git clone "$GITHUB_REPO" "$CLONE_DIR" +fi + +########################################################################## +TEMPLATE_DIR="$BASE_DIR/src/resources/swagger-codegen/templates" +MODEL_DIR="$CLONE_DIR/models" +SDK_DIR="$BASE_DIR/sdk" +CODEGEN_CONFIG_PATH="$BASE_DIR/src/js.config.json" + +MODELS=("${MODEL_DIR}"/*/*) +basePackage="js-client" + +if [ -d "$SDK_DIR" ]; then + rm -rf "${SDK_DIR:?}/*" +fi + +if [ ! -d "$SDK_DIR" ]; then + mkdir "$SDK_DIR" +fi + +function get_model_name () { + swaggerFile="$1" + modelNameWithExtension="${swaggerFile##*/}" + echo "${modelNameWithExtension%.*}" +} + +for model in "${MODELS[@]}" +do + modelName=$(get_model_name "$model") + echo "model = $model" + echo "model name = $modelName" + java -jar "${swagger_jar_path}" generate \ + --config "${CODEGEN_CONFIG_PATH}" \ + --input-spec "${model}" \ + --lang javascript \ + --template-dir "${TEMPLATE_DIR}" \ + --output "${SDK_DIR}" \ + --invoker-package "${modelName}" \ + --api-package "${basePackage}.${modelName}.api" \ + --model-package "${basePackage}.${modelName}.model" \ + --group-id "com.amazon" \ + --artifact-id "sp-api-javascript-client" +done + +echo "***********************************************************" +echo "SP-API SDK is created under ${SDK_DIR} and SDK source code " +echo "should be found ${SDK_DIR}/src/." +echo "Please copy the SDK source DIRECTORIES (such as \"catalogItems_2022-04-01\")" +echo "you want to use to the directory \"code/javascript/src/jsdsdk.\"." \ No newline at end of file diff --git a/clients/sellingpartner-api-aa-javascript/src/helper/LwaAuthClient.mjs b/clients/sellingpartner-api-aa-javascript/src/helper/LwaAuthClient.mjs new file mode 100644 index 000000000..e788d393d --- /dev/null +++ b/clients/sellingpartner-api-aa-javascript/src/helper/LwaAuthClient.mjs @@ -0,0 +1,59 @@ +import superagent from 'superagent'; + +export class LwaAuthClient { + #clientId = null; + #clientSecret = null; + #refreshToken = null; + #accessToken = null; + #accessTokenExpiry = null; + /** + * Constructs a new LwaAuthClient. + * @class + * @param {String} clientId LWA client ID. Get this value from SP-API Developer Portal. + * @param {String} clientSecret LWA client secret. Get this value from SP-API Developer Portal. + * @param {String} refreshToken LWA refresh token. Get this value from SP-API Developer Portal. + */ + constructor(clientId, clientSecret, refreshToken) { + if (!clientId || typeof clientId !== 'string') { + throw new Error(`invalid clientId.`); + } + if (!clientSecret || typeof clientSecret !== 'string') { + throw new Error(`invalid clientSecret`); + } + if (!refreshToken || typeof refreshToken !== 'string') { + throw new Error(`invalid refreshToken`); + } + this.#clientId = clientId; + this.#clientSecret = clientSecret; + this.#refreshToken = refreshToken; + } + + /** + * Either retrieve LWA access token or return access token if it already has valid token. + * @returns {Promise} LWA access token. + */ + async getAccessToken() { + if (this.#accessToken && this.#accessToken && this.#accessTokenExpiry > Date.now()) { + console.log(`LWA access token already exists and is valid. ${this.#accessTokenExpiry}`); + return Promise.resolve(this.#accessToken); + } + const token = await this.#doRefresh(); + if (!token || !token.access_token) { + throw new Error(`Failed to refresh LWA token.`); + } + this.#accessToken = token.access_token; + this.#accessTokenExpiry = new Date().getTime() + (token.expires_in * 1000); + return this.#accessToken; + } + + /** + * Private method to execute LWA token refresh flow. + * @returns {Promise} LWA token response. + */ + #doRefresh = async () => { + const res = await superagent.post('https://api.amazon.com/auth/o2/token') + .send(`grant_type=refresh_token&refresh_token=${this.#refreshToken}&client_id=${this.#clientId}&client_secret=${this.#clientSecret}`) + .set("Content-Type", "application/x-www-form-urlencoded;charset=UTF-8"); + return res.body; + } +} diff --git a/clients/sellingpartner-api-aa-javascript/src/js.config.json b/clients/sellingpartner-api-aa-javascript/src/js.config.json new file mode 100644 index 000000000..c0a52786d --- /dev/null +++ b/clients/sellingpartner-api-aa-javascript/src/js.config.json @@ -0,0 +1,5 @@ +{ + "usePromises": true, + "useES6": true, + "modelPropertyNaming": "camelCase" +} \ No newline at end of file diff --git a/clients/sellingpartner-api-aa-javascript/src/resources/swagger-codegen/templates/ApiClient.mustache b/clients/sellingpartner-api-aa-javascript/src/resources/swagger-codegen/templates/ApiClient.mustache new file mode 100644 index 000000000..ebe7ef759 --- /dev/null +++ b/clients/sellingpartner-api-aa-javascript/src/resources/swagger-codegen/templates/ApiClient.mustache @@ -0,0 +1,769 @@ +{{>licenseInfo}} +import superagent from "superagent"; +import querystring from "querystring"; +import { URL } from 'node:url'; + +{{#emitJSDoc}}/** +* @module {{#invokerPackage}}{{invokerPackage}}/{{/invokerPackage}}ApiClient +* @version {{projectVersion}} +*/ + +/** +* Private class used by ApiClient class. Used for executing LWA refresh token flow. +* @class +*/ +class LwaOAuthClient { + /** + * Private member to store LWA credential and refresh token. + * @type {Object.} + */ + #lwaClientInfo = {}; + + /** + * Private member to cache one access token that is retrieved by auto-retrieval. + * @type {String | null} + */ + #cachedToken = null; + + /** + * Private member to cache one access token that is retrieved by auto-retrieval. + * @type {Number | null} + */ + #cachedTokenExpiration = null; + + /** + * Constructs a new LwaOAuthClient. + * @param {String} clientId LWA Client ID. + * @param {String} clientSecret LWA Client Secret. + * @param {String} refreshToken LWA Refresh token. + */ + constructor(clientId, clientSecret, refreshToken) { + this.#lwaClientInfo = { + clientId, clientSecret, refreshToken, + }; + } + + /** + * Execute LWA refresh token flow to retrieve access token to be used for SP-API calls. + * @returns {Promise} LWA access token. + */ + retrieveAccessToken = async () => { + if (this.#cachedToken && this.#cachedTokenExpiration && this.#cachedTokenExpiration > Date.now()) { + return Promise.resolve(this.#cachedToken); + } + const res = await this.#doRefresh(); + this.#cachedToken = res.access_token; + this.#cachedTokenExpiration = Date.now() + res.expires_in * 1000; + return this.#cachedToken; + } + + /** + * Private method to execute LWA token refresh flow. + * @returns {Promise} LWA token response. + */ + #doRefresh = async () => { + const res = await superagent.post('https://api.amazon.com/auth/o2/token') + .send(`grant_type=refresh_token&refresh_token=${this.#lwaClientInfo.refreshToken}&client_id=${this.#lwaClientInfo.clientId}&client_secret=${this.#lwaClientInfo.clientSecret}`) + .set("Content-Type", "application/x-www-form-urlencoded;charset=UTF-8"); + return res.body; + } +} + +/** +* Private class used by ApiClient class. Used for executing LWA refresh token flow and calling Tokens API to retrieve RDT. +* @class +*/ +class TokensApiClient { + /** + * Private member to execute LWA refresh token flow. + * @type {Object.} + */ + #lwaClient = null; + + /** + * Private member to store 'dataElements' parameter for Tokens API call. + * @type {Array.} + */ + #dataElements = null; + + /** + * Constructs a new TokensApiClient. + * @param {String} clientId LWA Client ID. + * @param {String} clientSecret LWA Client Secret. + * @param {String} refreshToken LWA Refresh token. + * @param {Array.} dataElements Optional specifiers for PII data elements tp retrieve. + */ + constructor(clientId, clientSecret, refreshToken, dataElements) { + this.#lwaClient = new LwaOAuthClient(clientId, clientSecret, refreshToken, dataElements); + if (dataElements && !Array.isArray(dataElements)) { + throw new Error(`dataElements parameter to TokensApiClient constructor must be array of string. Illegal parameter:${dataElements}`); + } + this.#dataElements = dataElements ? dataElements : null; + } + + /** + * Execute createRestrictedDataToken to retrieve RDT to be used for PII-handling SP-API calls. + * @param {String} method method for SP-API request. + * @param {String} url URL for SP-API call to be made. + * @param {Array.} dataElements specify PII information to get from "buyerInfo", "shippingAddress" and "buyerTaxInformation". + * @returns {Promise} Restricted Data Token (RDT). + */ + retrieveRestrictedDataToken = async (method, url) => { + const accessToken = await this.#lwaClient.retrieveAccessToken(); + const urlToRequest = new URL(url); + const res = await this.#doCreateRestrictedDataToken(accessToken, method, urlToRequest); + return res.restrictedDataToken; + } + + /** + * Private method to execute createRestrictedDataToken + * @param {String} accessToken Access token to call RDT request. + * @param {URL} url URL object for URL string manipulation. + * @param {Array.} dataElements specify PII information to get from "buyerInfo", "shippingAddress" and "buyerTaxInformation". + * @returns {Promise} createRestrictedDataToken response. + */ + #doCreateRestrictedDataToken = async (accessToken, method, url) => { + const tokenApiUrl = `${url.origin}/tokens/2021-03-01/restrictedDataToken`; + const pathToRequest = url.pathname; + const res = await superagent.post(tokenApiUrl) + .send( + { + restrictedResources: [ + { + method: method, + path: pathToRequest, + dataElements: this.#dataElements ? this.#dataElements : undefined, + } + ] + } + ).set("Content-Type", "application/json") + .set({"x-amz-access-token": accessToken}); + return res.body; + } +} + +/** +* Manages low level client-server communications, parameter marshalling, etc. There should not be any need for an +* application to use this class directly - the *Api and model classes provide the public API for the service. The +* contents of this file should be regarded as internal but are documented for completeness. +* @alias module:{{#invokerPackage}}{{invokerPackage}}/{{/invokerPackage}}ApiClient +* @class +*/{{/emitJSDoc}} +export class ApiClient { + #tokenForApiCall = null; + #lwaClient = null; + #rdtClient = null; + + {{#emitJSDoc}}/** + * Constructs a new ApiClient. + * @param {String} baseUrl Base URL of endpoint ex. "https://sellingpartnerapi-na.amazon.com" + */{{/emitJSDoc}} + constructor(baseUrl) { + {{#emitJSDoc}}/** + * The base URL against which to resolve every API call's (relative) path. + * @type {String} + * @default {{{basePath}}} + */{{/emitJSDoc}} + this.basePath = baseUrl ? baseUrl.replace(/\/+$/, '') : '{{{basePath}}}'.replace(/\/+$/, ''); + + {{#emitJSDoc}}/** + * The authentication methods to be included for all API calls. + * @type {Array.} + */{{/emitJSDoc}}{{=< >=}} + this.authentications = { +<#authMethods> +<#isBasic> + '': {type: 'basic'}<^-last>, + +<#isApiKey> + '': {type: 'apiKey', 'in': <#isKeyInHeader>'header'<^isKeyInHeader>'query', name: ''}<^-last>, + +<#isOAuth> + '': {type: 'oauth2'}<^-last>, + + + } + + <={{ }}=>{{#emitJSDoc}}/** + * The default HTTP headers to be included for all API calls. + * @type {Array.} + * @default {} + */{{/emitJSDoc}} + this.defaultHeaders = {}; + + /** + * The default HTTP timeout for all API calls. + * @type {Number} + * @default 60000 + */ + this.timeout = 60000; + + /** + * If set to false an additional timestamp parameter is added to all API GET calls to + * prevent browser caching + * @type {Boolean} + * @default true + */ + this.cache = true; + + {{#emitJSDoc}}/** + * If set to true, the client will save the cookies from each server + * response, and return them in the next request. + * @default false + */{{/emitJSDoc}} + this.enableCookies = false; + + /* + * Used to save and return cookies in a node.js (non-browser) setting, + * if this.enableCookies is set to true. + */ + if (typeof window === 'undefined') { + this.agent = new superagent.agent(); + } + + /* + * Allow user to override superagent agent + */ + this.requestAgent = null; + } + + {{#emitJSDoc}}/** + * Returns this ApiClient so that you can chain the methods. + * @param {String} clientId LWA client ID. + * @param {String} clientSecret LWA client secret. + * @param {String} refreshToken LWA refresh token. + * @param {Array.} dataElementsOption specify PII information to get from "buyerInfo", "shippingAddress" and "buyerTaxInformation". + * @returns {ApiClient} This ApiClient, which is going to use give accessToken for all API calls. + */{{/emitJSDoc}} + enableAutoRetrievalRestrictedDataToken(clientId, clientSecret, refreshToken, dataElementsOption) { + // TODO + if (!clientId || !clientSecret || !refreshToken) { + throw new Error('invalid parameter(s) to enableAutoRetrievalRestrictedDataToken.'); + } + this.#rdtClient = new TokensApiClient(clientId, clientSecret, refreshToken, dataElementsOption); + return this; + } + + {{#emitJSDoc}}/** + * Returns this ApiClient so that you can chain the methods. + * @param {String} clientId LWA client ID. + * @param {String} clientSecret LWA client secret. + * @param {String} refreshToken LWA refresh token. + * @returns {ApiClient} This ApiClient, which is going to use give accessToken for all API calls. + */{{/emitJSDoc}} + enableAutoRetrievalAccessToken(clientId, clientSecret, refreshToken) { + if (!clientId || !clientSecret || !refreshToken) { + throw new Error('invalid parameter(s) to enableAutoRetrievalAccessToken.'); + } + this.#lwaClient = new LwaOAuthClient(clientId, clientSecret, refreshToken); + return this; + } + + + {{#emitJSDoc}}/** + * Returns this ApiClient so that you can chain the methods. + * @param {String} restrictedDataToken RDT token to use for SP-API call. + * @returns {ApiClient} This ApiClient, which is going to use give RDT for all API calls. + */{{/emitJSDoc}} + applyRestrictedDataToken(restrictedDataToken) { + this.#tokenForApiCall = restrictedDataToken; + return this; + } + + {{#emitJSDoc}}/** + * Returns a string representation for an actual parameter. + * @param param The actual parameter. + * @returns {String} The string representation of param. + */{{/emitJSDoc}} + paramToString(param) { + if (param == undefined || param == null) { + return ''; + } + if (param instanceof Date) { + return param.toJSON(); + } + + return param.toString(); + } + + {{#emitJSDoc}}/** + * Builds full URL by appending the given path to the base URL and replacing path parameter place-holders with parameter values. + * NOTE: query parameters are not handled here. + * @param {String} path The path to append to the base URL. + * @param {Object} pathParams The parameter values to append. + * @returns {String} The encoded path with parameter values substituted. + */{{/emitJSDoc}} + buildUrl(path, pathParams) { + if (!path.match(/^\//)) { + path = '/' + path; + } + + var url = this.basePath + path; + url = url.replace(/\{([\w-]+)\}/g, (fullMatch, key) => { + var value; + if (pathParams.hasOwnProperty(key)) { + value = this.paramToString(pathParams[key]); + } else { + value = fullMatch; + } + + return encodeURIComponent(value); + }); + + return url; + } + + {{#emitJSDoc}}/** + * Checks whether the given content type represents JSON.
+ * JSON content type examples:
+ *
    + *
  • application/json
  • + *
  • application/json; charset=UTF8
  • + *
  • APPLICATION/JSON
  • + *
+ * @param {String} contentType The MIME content type to check. + * @returns {Boolean} true if contentType represents JSON, otherwise false. + */{{/emitJSDoc}} + isJsonMime(contentType) { + return Boolean(contentType != null && contentType.match(/^application\/json(;.*)?$/i)); + } + + {{#emitJSDoc}}/** + * Chooses a content type from the given array, with JSON preferred; i.e. return JSON if included, otherwise return the first. + * @param {Array.} contentTypes + * @returns {String} The chosen content type, preferring JSON. + */{{/emitJSDoc}} + jsonPreferredMime(contentTypes) { + for (var i = 0; i < contentTypes.length; i++) { + if (this.isJsonMime(contentTypes[i])) { + return contentTypes[i]; + } + } + + return contentTypes[0]; + } + + {{#emitJSDoc}}/** + * Checks whether the given parameter value represents file-like content. + * @param param The parameter to check. + * @returns {Boolean} true if param represents a file. + */ + {{/emitJSDoc}} + isFileParam(param) { + // fs.ReadStream in Node.js and Electron (but not in runtime like browserify) + if (typeof require === 'function') { + let fs; + try { + fs = require('fs'); + } catch (err) {} + if (fs && fs.ReadStream && param instanceof fs.ReadStream) { + return true; + } + } + + // Buffer in Node.js + if (typeof Buffer === 'function' && param instanceof Buffer) { + return true; + } + + // Blob in browser + if (typeof Blob === 'function' && param instanceof Blob) { + return true; + } + + // File in browser (it seems File object is also instance of Blob, but keep this for safe) + if (typeof File === 'function' && param instanceof File) { + return true; + } + + return false; + } + + {{#emitJSDoc}}/** + * Normalizes parameter values: + *
    + *
  • remove nils
  • + *
  • keep files and arrays
  • + *
  • format to string with `paramToString` for other cases
  • + *
+ * @param {Object.} params The parameters as object properties. + * @returns {Object.} normalized parameters. + */{{/emitJSDoc}} + normalizeParams(params) { + var newParams = {}; + for (var key in params) { + if (params.hasOwnProperty(key) && params[key] != undefined && params[key] != null) { + var value = params[key]; + if (this.isFileParam(value) || Array.isArray(value)) { + newParams[key] = value; + } else { + newParams[key] = this.paramToString(value); + } + } + } + + return newParams; + } + + {{#emitJSDoc}}/** + * Enumeration of collection format separator strategies. + * @enum {String} + * @readonly + */{{/emitJSDoc}} + static CollectionFormatEnum = { + {{#emitJSDoc}}/** + * Comma-separated values. Value: csv + * @const + */{{/emitJSDoc}} + CSV: ',', + + {{#emitJSDoc}}/** + * Space-separated values. Value: ssv + * @const + */{{/emitJSDoc}} + SSV: ' ', + + {{#emitJSDoc}}/** + * Tab-separated values. Value: tsv + * @const + */{{/emitJSDoc}} + TSV: '\t', + + {{#emitJSDoc}}/** + * Pipe(|)-separated values. Value: pipes + * @const + */{{/emitJSDoc}} + PIPES: '|', + + {{#emitJSDoc}}/** + * Native array. Value: multi + * @const + */{{/emitJSDoc}} + MULTI: 'multi' + }; + + {{#emitJSDoc}}/** + * Builds a string representation of an array-type actual parameter, according to the given collection format. + * @param {Array} param An array parameter. + * @param {module:{{#invokerPackage}}{{invokerPackage}}/{{/invokerPackage}}ApiClient.CollectionFormatEnum} collectionFormat The array element separator strategy. + * @returns {String|Array} A string representation of the supplied collection, using the specified delimiter. Returns + * param as is if collectionFormat is multi. + */{{/emitJSDoc}} + buildCollectionParam(param, collectionFormat) { + if (param == null) { + return null; + } + switch (collectionFormat) { + case 'csv': + return param.map(this.paramToString).join(','); + case 'ssv': + return param.map(this.paramToString).join(' '); + case 'tsv': + return param.map(this.paramToString).join('\t'); + case 'pipes': + return param.map(this.paramToString).join('|'); + case 'multi': + //return the array directly as SuperAgent will handle it as expected + return param.map(this.paramToString); + default: + throw new Error('Unknown collection format: ' + collectionFormat); + } + } + + {{#emitJSDoc}}/** + * Applies authentication headers to the request. + * @param {String} accessOrRdtToken Either Access Token or Restricted Data Token to add as 'x-amz-access-token'. + * @returns {ApiClient} This ApiClient, which is going to use give RDT for all API calls. + */ + {{/emitJSDoc}} + applyXAmzAccessTokenToRequest(accessOrRdtToken) { + if (!accessOrRdtToken) { + throw new Error('empty string, null or undefined passed to applyXAmzAccessTokenToRequest'); + } + this.#tokenForApiCall = accessOrRdtToken; + return this; + } + + {{#emitJSDoc}}/** + * Deserializes an HTTP response body into a value of the specified type. + * @param {Object} response A SuperAgent response object. + * @param {(String|Array.|Object.|Function)} returnType The type to return. Pass a string for simple types + * or the constructor function for a complex type. Pass an array containing the type name to return an array of that type. To + * return an object, pass an object with one property whose name is the key type and whose value is the corresponding value type: + * all properties on data will be converted to this type. + * @returns A value of the specified type. + */ + {{/emitJSDoc}} + deserialize(response, returnType) { + if (response == null || returnType == null || response.status == 204) { + return null; + } + + // Rely on SuperAgent for parsing response body. + // See http://visionmedia.github.io/superagent/#parsing-response-bodies + var data = response.body; + if (data == null || (typeof data === 'object' && typeof data.length === 'undefined' && !Object.keys(data).length)) { + // SuperAgent does not always produce a body; use the unparsed response as a fallback + data = response.text; + } + + return ApiClient.convertToType(data, returnType); + } + + {{#emitJSDoc}}{{^usePromises}}/** + * Callback function to receive the result of the operation. + * @callback module:{{#invokerPackage}}{{invokerPackage}}/{{/invokerPackage}}ApiClient~callApiCallback + * @param {String} error Error message, if any. + * @param data The data returned by the service call. + * @param {String} response The complete HTTP response. + */{{/usePromises}}{{/emitJSDoc}} + + {{#emitJSDoc}}/** + * Invokes the REST service using the supplied settings and parameters. + * @param {String} path The base URL to invoke. + * @param {String} httpMethod The HTTP method to use. + * @param {Object.} pathParams A map of path parameters and their values. + * @param {Object.} queryParams A map of query parameters and their values. + * @param {Object.} headerParams A map of header parameters and their values. + * @param {Object.} formParams A map of form parameters and their values. + * @param {Object} bodyParam The value to pass as the request body. + * @param {Array.} contentTypes An array of request MIME types. + * @param {Array.} accepts An array of acceptable response MIME types. + * @param {(String|Array|ObjectFunction)} returnType The required type to return; can be a string for simple types or the + * constructor for a complex type.{{^usePromises}} + * @param {module:{{#invokerPackage}}{{invokerPackage}}/{{/invokerPackage}}ApiClient~callApiCallback} callback The callback function.{{/usePromises}} + * @returns {{#usePromises}}{Promise} A {@link https://www.promisejs.org/|Promise} object{{/usePromises}}{{^usePromises}}{Object} The SuperAgent request object{{/usePromises}}. + */ + {{/emitJSDoc}} + async callApi(path, httpMethod, pathParams, + queryParams, headerParams, formParams, bodyParam, contentTypes, accepts, + returnType{{^usePromises}}, callback{{/usePromises}}) { + + var url = this.buildUrl(path, pathParams); + var request = superagent(httpMethod, url); + if (!this.#tokenForApiCall && !this.#lwaClient && !this.#rdtClient) { + throw new Error('none of accessToken, RDT token and auto-retrieval is set.'); + } + + // set query parameters + if (httpMethod.toUpperCase() === 'GET' && this.cache === false) { + queryParams['_'] = new Date().getTime(); + } + + request.query(this.normalizeParams(queryParams)); + + // set header parameters + request.set(this.defaultHeaders).set(this.normalizeParams(headerParams)); + + // set x-amz-access-token header + if (this.#tokenForApiCall) { + // add custom header for SP-API call. + request.set({"x-amz-access-token": this.#tokenForApiCall}); + } else if (this.#rdtClient) { + const rdt = await this.#rdtClient.retrieveRestrictedDataToken(httpMethod, url); + request.set({"x-amz-access-token": rdt}); + } else if (this.#lwaClient) { + // execute token refresh. + const accessToken = await this.#lwaClient.retrieveAccessToken(); + request.set({"x-amz-access-token": accessToken}); + } + + // set requestAgent if it is set by user + if (this.requestAgent) { + request.agent(this.requestAgent); + } + + // set request timeout + request.timeout(this.timeout); + + var contentType = this.jsonPreferredMime(contentTypes); + if (contentType) { + // Issue with superagent and multipart/form-data (https://github.com/visionmedia/superagent/issues/746) + if(contentType != 'multipart/form-data') { + request.type(contentType); + } + } else if (!request.header['Content-Type']) { + request.type('application/json'); + } + + if (contentType === 'application/x-www-form-urlencoded') { + request.send(querystring.stringify(this.normalizeParams(formParams))); + } else if (contentType == 'multipart/form-data') { + var _formParams = this.normalizeParams(formParams); + for (var key in _formParams) { + if (_formParams.hasOwnProperty(key)) { + if (this.isFileParam(_formParams[key])) { + // file field + request.attach(key, _formParams[key]); + } else { + request.field(key, _formParams[key]); + } + } + } + } else if (bodyParam) { + request.send(bodyParam); + } + + var accept = this.jsonPreferredMime(accepts); + if (accept) { + request.accept(accept); + } + + if (returnType === 'Blob') { + request.responseType('blob'); + } else if (returnType === 'String') { + request.responseType('string'); + } + + // Attach previously saved cookies, if enabled + if (this.enableCookies){ + if (typeof window === 'undefined') { + this.agent.attachCookies(request); + } + else { + request.withCredentials(); + } + } + + {{#usePromises}}return new Promise((resolve, reject) => { + request.end((error, response) => { + if (error) { + reject(error); + } else { + try { + var data = this.deserialize(response, returnType); + if (this.enableCookies && typeof window === 'undefined'){ + this.agent.saveCookies(response); + } + + resolve({data, response}); + } catch (err) { + reject(err); + } + } + }); + });{{/usePromises}} + + {{^usePromises}}request.end((error, response) => { + if (callback) { + var data = null; + if (!error) { + try { + data = this.deserialize(response, returnType); + if (this.enableCookies && typeof window === 'undefined'){ + this.agent.saveCookies(response); + } + } catch (err) { + error = err; + } + } + + callback(error, data, response); + } + }); + + return request;{{/usePromises}} + } + + {{#emitJSDoc}}/** + * Parses an ISO-8601 string representation of a date value. + * @param {String} str The date value as a string. + * @returns {Date} The parsed date object. + */{{/emitJSDoc}} + static parseDate(str) { + return new Date(str); + } + + {{#emitJSDoc}}/** + * Converts a value to the specified type. + * @param {(String|Object)} data The data to convert, as a string or object. + * @param {(String|Array.|Object.|Function)} type The type to return. Pass a string for simple types + * or the constructor function for a complex type. Pass an array containing the type name to return an array of that type. To + * return an object, pass an object with one property whose name is the key type and whose value is the corresponding value type: + * all properties on data will be converted to this type. + * @returns An instance of the specified type or null or undefined if data is null or undefined. + */ + {{/emitJSDoc}} + static convertToType(data, type) { + if (data === null || data === undefined) + return data + + switch (type) { + case 'Boolean': + return Boolean(data); + case 'Integer': + return parseInt(data, 10); + case 'Number': + return parseFloat(data); + case 'String': + return String(data); + case 'Date': + return ApiClient.parseDate(String(data)); + case 'Blob': + return data; + default: + if (type === Object) { + // generic object, return directly + return data; + } else if (typeof type === 'function') { + // for model type like: User + return type.constructFromObject(data); + } else if (Array.isArray(type)) { + // for array type like: ['String'] + var itemType = type[0]; + + return data.map((item) => { + return ApiClient.convertToType(item, itemType); + }); + } else if (typeof type === 'object') { + // for plain object type like: {'String': 'Integer'} + var keyType, valueType; + for (var k in type) { + if (type.hasOwnProperty(k)) { + keyType = k; + valueType = type[k]; + break; + } + } + + var result = {}; + for (var k in data) { + if (data.hasOwnProperty(k)) { + var key = ApiClient.convertToType(k, keyType); + var value = ApiClient.convertToType(data[k], valueType); + result[key] = value; + } + } + + return result; + } else { + // for unknown type, return the data directly + return data; + } + } + } + + {{#emitJSDoc}}/** + * Constructs a new map or array model from REST data. + * @param data {Object|Array} The REST data. + * @param obj {Object|Array} The target object or array. + */{{/emitJSDoc}} + static constructFromObject(data, obj, itemType) { + if (Array.isArray(data)) { + for (var i = 0; i < data.length; i++) { + if (data.hasOwnProperty(i)) + obj[i] = ApiClient.convertToType(data[i], itemType); + } + } else { + for (var k in data) { + if (data.hasOwnProperty(k)) + obj[k] = ApiClient.convertToType(data[k], itemType); + } + } + } +} +{{#emitJSDoc}}/** +* The default API client implementation. +* @type {module:{{#invokerPackage}}{{invokerPackage}}/{{/invokerPackage}}ApiClient} +*/{{/emitJSDoc}} +ApiClient.instance = new ApiClient(); diff --git a/clients/sellingpartner-api-aa-javascript/src/resources/swagger-codegen/templates/api.mustache b/clients/sellingpartner-api-aa-javascript/src/resources/swagger-codegen/templates/api.mustache new file mode 100644 index 000000000..a656e61da --- /dev/null +++ b/clients/sellingpartner-api-aa-javascript/src/resources/swagger-codegen/templates/api.mustache @@ -0,0 +1,101 @@ +{{>licenseInfo}} +{{=< >=}} +import {ApiClient} from "../ApiClient.js"; +<#imports>import {} from '../<#modelPackage><&modelPackage>/.js'; + + +<#emitJSDoc>/** +* service. +* @module <#invokerPackage><&invokerPackage>/<#apiPackage><&apiPackage>/ +* @version +*/ +export class { + + <#emitJSDoc>/** + * Constructs a new <&classname>. <#description> + * + * @alias module:<#invokerPackage><&invokerPackage>/<#apiPackage>/ + * @class + * @param {module:<#invokerPackage><&invokerPackage>/ApiClient} [apiClient] Optional API client implementation to use, + * default to {@link module:<#invokerPackage><&invokerPackage>/ApiClient#instance} if unspecified. + */ + constructor(apiClient) { + this.apiClient = apiClient || ApiClient.instance; + } + +<#operations><#operation><#emitJSDoc><^usePromises> + /** + * Callback function to receive the result of the operation. + * @callback module:<#invokerPackage>/<#apiPackage>/~Callback + * @param {String} error Error message, if any. + * @param <#vendorExtensions.x-jsdoc-type>{<&vendorExtensions.x-jsdoc-type>} data The data returned by the service call.<^vendorExtensions.x-jsdoc-type>data This operation does not return a value. + * @param {String} response The complete HTTP response. + */ + + /**<#summary> + * <#notes> + * <#allParams><#required> + * @param {<&vendorExtensions.x-jsdoc-type>} <#hasOptionalParams> + * @param {Object} opts Optional parameters<#allParams><^required> + * @param {<&vendorExtensions.x-jsdoc-type>} opts. <#defaultValue> (default to <.>)<^usePromises> + * @param {module:<#invokerPackage><&invokerPackage>/<#apiPackage><&apiPackage>/<&classname>~Callback} callback The callback function, accepting three arguments: error, data, response<#returnType> + * data is of type: {@link <&vendorExtensions.x-jsdoc-type>}<#usePromises> + * @return {Promise} a {@link https://www.promisejs.org/|Promise}<#returnType>, with an object containing data of type {@link <&vendorExtensions.x-jsdoc-type>} and HTTP response<^returnType>, with an object containing HTTP response + */ + <#usePromises>WithHttpInfo(<^usePromises><#hasParams>, callback) {<#hasOptionalParams> + opts = opts || {}; + let postBody = <#bodyParam><#required><^required>opts['']<^bodyParam>null; +<#allParams><#required> + // verify the required parameter '' is set + if ( === undefined || === null) { + throw new Error("Missing the required parameter '' when calling "); + } + + + let pathParams = {<#pathParams> + '': <#required><^required>opts['']<#hasMore>, + }; + let queryParams = {<#queryParams> + '': <#collectionFormat>this.apiClient.buildCollectionParam(<#required><^required>opts[''], '')<^collectionFormat><#required><^required>opts['']<#hasMore>, + }; + let headerParams = {<#headerParams> + '': <#required><^required>opts['']<#hasMore>, + }; + let formParams = {<#formParams> + '': <#collectionFormat>this.apiClient.buildCollectionParam(<#required><^required>opts[''], '')<^collectionFormat><#required><^required>opts['']<#hasMore>, + }; + + let contentTypes = [<#consumes>'<& mediaType>'<#hasMore>, ]; + let accepts = [<#produces>'<& mediaType>'<#hasMore>, ]; + let returnType = <#returnType><&returnType><^returnType>null; + + return this.apiClient.callApi( + '<&path>', '', + pathParams, queryParams, headerParams, formParams, postBody, + contentTypes, accepts, returnType<^usePromises>, callback + ); + } +<#usePromises> + <#emitJSDoc> + + /**<#summary> + * <#notes> + * <#allParams><#required> + * @param {<&vendorExtensions.x-jsdoc-type>} <#hasOptionalParams> + * @param {Object} opts Optional parameters<#allParams><^required> + * @param {<&vendorExtensions.x-jsdoc-type>} opts. <#defaultValue> (default to <.>)<^usePromises> + * @param {module:<#invokerPackage><&invokerPackage>/<#apiPackage><&apiPackage>/<&classname>~Callback} callback The callback function, accepting three arguments: error, data, response<#returnType> + * data is of type: {@link <&vendorExtensions.x-jsdoc-type>}<#usePromises> + * @return {Promise} a {@link https://www.promisejs.org/|Promise}<#returnType>, with data of type {@link <&vendorExtensions.x-jsdoc-type>} + */ + () { + return this.WithHttpInfo() + .then(function(response_and_data) { + return response_and_data.data; + }); + } + + + +} +<={{ }}=> diff --git a/clients/sellingpartner-api-aa-javascript/src/resources/swagger-codegen/templates/index.mustache b/clients/sellingpartner-api-aa-javascript/src/resources/swagger-codegen/templates/index.mustache new file mode 100644 index 000000000..59ce2bc58 --- /dev/null +++ b/clients/sellingpartner-api-aa-javascript/src/resources/swagger-codegen/templates/index.mustache @@ -0,0 +1,59 @@ +{{>licenseInfo}} +{{=< >=}} +import {ApiClient} from './ApiClient.js'; +<#models>import {<#model>} from './<#modelPackage>/.js'; +<#apiInfo><#apis>import {} from './<#apiPackage>/.js'; + +<={{ }}=> + +{{#emitJSDoc}}/**{{#projectDescription}} +* {{projectDescription}}.
{{/projectDescription}} +* The index module provides access to constructors for all the classes which comprise the public API. +*

+* An AMD (recommended!) or CommonJS application will generally do something equivalent to the following: +*

+* var {{moduleName}} = require('{{#invokerPackage}}{{invokerPackage}}/{{/invokerPackage}}index'); // See note below*.
+* var xxxSvc = new {{moduleName}}.XxxApi(); // Allocate the API class we're going to use.
+* var yyyModel = new {{moduleName}}.Yyy(); // Construct a model instance.
+* yyyModel.someProperty = 'someValue';
+* ...
+* var zzz = xxxSvc.doSomething(yyyModel); // Invoke the service.
+* ...
+* 
+* *NOTE: For a top-level AMD script, use require(['{{#invokerPackage}}{{invokerPackage}}/{{/invokerPackage}}index'], function(){...}) +* and put the application logic within the callback function. +*

+*

+* A non-AMD browser application (discouraged) might do something like this: +*

+* var xxxSvc = new {{moduleName}}.XxxApi(); // Allocate the API class we're going to use.
+* var yyy = new {{moduleName}}.Yyy(); // Construct a model instance.
+* yyyModel.someProperty = 'someValue';
+* ...
+* var zzz = xxxSvc.doSomething(yyyModel); // Invoke the service.
+* ...
+* 
+*

+* @module {{#invokerPackage}}{{invokerPackage}}/{{/invokerPackage}}index +* @version {{projectVersion}} +*/{{/emitJSDoc}} +export { + {{=< >=}} + <#emitJSDoc>/** + * The ApiClient constructor. + * @property {module:<#invokerPackage>/ApiClient} + */ + ApiClient<#models>, + + <#emitJSDoc>/** + * The model constructor. + * @property {module:<#invokerPackage>/<#modelPackage>/} + */ + <#apiInfo><#apis>, + + <#emitJSDoc>/** + * The service constructor. + * @property {module:<#invokerPackage>/<#apiPackage>/} + */ + +};<={{ }}=> diff --git a/clients/sellingpartner-api-aa-javascript/src/resources/swagger-codegen/templates/model.mustache b/clients/sellingpartner-api-aa-javascript/src/resources/swagger-codegen/templates/model.mustache new file mode 100644 index 000000000..234d649d4 --- /dev/null +++ b/clients/sellingpartner-api-aa-javascript/src/resources/swagger-codegen/templates/model.mustache @@ -0,0 +1,18 @@ +{{>licenseInfo}} +{{=< >=}} +import {ApiClient} from '../ApiClient.js'; +<#imports> +import {} from './.js'; + +<={{ }}=> + +{{#models}} + {{#model}} + {{#isEnum}} +{{>partial_model_enum_class}} + {{/isEnum}} + {{^isEnum}} +{{>partial_model_generic}} + {{/isEnum}} + {{/model}} +{{/models}} diff --git a/clients/sellingpartner-api-aa-javascript/src/resources/swagger-codegen/templates/package.mustache b/clients/sellingpartner-api-aa-javascript/src/resources/swagger-codegen/templates/package.mustache new file mode 100644 index 000000000..d7d4b7f26 --- /dev/null +++ b/clients/sellingpartner-api-aa-javascript/src/resources/swagger-codegen/templates/package.mustache @@ -0,0 +1,29 @@ +{ + "name": "{{{projectName}}}", + "type": "module", + "version": "{{{projectVersion}}}", + "description": "{{{projectDescription}}}", + "license": "{{licenseName}}", + "main": "{{sourceFolder}}{{#invokerPackage}}/{{invokerPackage}}{{/invokerPackage}}/index.js", + "scripts": { + "test": "mocha --compilers js:babel-core/register --recursive" + }, + "browser": { + "fs": false + }, + "dependencies": { + "babel": "^6.23.0", + "babel-cli": "^6.26.0", + "babel-plugin-transform-builtin-extend": "^1.1.2", + "superagent": "3.7.0", + "querystring": "0.2.0" + }, + "devDependencies": { + "babel-core": "6.26.0", + "babel-preset-env": "^1.6.1", + "babel-preset-stage-0": "^6.24.1", + "mocha": "~2.3.4", + "sinon": "1.17.3", + "expect.js": "~0.3.1" + } +} diff --git a/clients/sellingpartner-api-aa-javascript/src/resources/swagger-codegen/templates/partial_model_generic.mustache b/clients/sellingpartner-api-aa-javascript/src/resources/swagger-codegen/templates/partial_model_generic.mustache new file mode 100644 index 000000000..3fdd6cdc2 --- /dev/null +++ b/clients/sellingpartner-api-aa-javascript/src/resources/swagger-codegen/templates/partial_model_generic.mustache @@ -0,0 +1,155 @@ +{{#emitJSDoc}} +/** + * The {{classname}} model module. + * @module {{#invokerPackage}}{{invokerPackage}}/{{/invokerPackage}}{{#modelPackage}}{{modelPackage}}/{{/modelPackage}}{{classname}} + * @version {{projectVersion}} + */ +{{/emitJSDoc}} +export class {{classname}} {{#parentModel}}extends {{classname}} {{/parentModel}}{{#parent}}{{^parentModel}}{{#vendorExtensions.x-isArray}}extends Array {{/vendorExtensions.x-isArray}}{{/parentModel}}{{/parent}}{ +{{#emitJSDoc}} + /** + * Constructs a new {{classname}}.{{#description}} + * {{description}}{{/description}} + * @alias module:{{#invokerPackage}}{{invokerPackage}}/{{/invokerPackage}}{{#modelPackage}}{{modelPackage}}/{{/modelPackage}}{{classname}} + * @class{{#useInheritance}}{{#parent}} + * @extends {{#parentModel}}module:{{#invokerPackage}}{{invokerPackage}}/{{/invokerPackage}}{{#modelPackage}}{{modelPackage}}/{{/modelPackage}}{{classname}}{{/parentModel}}{{^parentModel}}{{#vendorExtensions.x-isArray}}Array{{/vendorExtensions.x-isArray}}{{#vendorExtensions.x-isMap}}Object{{/vendorExtensions.x-isMap}}{{/parentModel}}{{/parent}}{{#interfaces}} + * @implements module:{{#invokerPackage}}{{invokerPackage}}/{{/invokerPackage}}{{#modelPackage}}{{modelPackage}}/{{/modelPackage}}{{.}}{{/interfaces}}{{/useInheritance}}{{#vendorExtensions.x-all-required}} + * @param {{name}} {{=< >=}}{<&vendorExtensions.x-jsdoc-type>}<={{ }}=> {{#description}}{{{description}}}{{/description}}{{/vendorExtensions.x-all-required}} + */ +{{/emitJSDoc}} + constructor({{#vendorExtensions.x-all-required}}{{name}}{{^-last}}, {{/-last}}{{/vendorExtensions.x-all-required}}) { +{{#parentModel}} + super({{#vendorExtensions.x-all-required}}{{name}}{{^-last}}, {{/-last}}{{/vendorExtensions.x-all-required}}); +{{/parentModel}} +{{#parent}} + {{^parentModel}} + {{#vendorExtensions.x-isArray}} + super(); + {{/vendorExtensions.x-isArray}} + {{/parentModel}} +{{/parent}} +{{#useInheritance}} + {{#interfaceModels}} + {{classname}}.call(this{{#vendorExtensions.x-all-required}}, {{name}}{{/vendorExtensions.x-all-required}}); + {{/interfaceModels}} +{{/useInheritance}} +{{#vars}} + {{#required}} + this.{{name}} = {{name}}; + {{/required}} +{{/vars}} + } + +{{#emitJSDoc}} + /** + * Constructs a {{classname}} from a plain JavaScript object, optionally creating a new instance. + * Copies all relevant properties from data to obj if supplied or a new instance if not. + * @param {Object} data The plain JavaScript object bearing properties of interest. + * @param {{=< >=}}{module:<#invokerPackage>/<#modelPackage>/}<={{ }}=> obj Optional instance to populate. + * @return {{=< >=}}{module:<#invokerPackage>/<#modelPackage>/}<={{ }}=> The populated {{classname}} instance. + */ +{{/emitJSDoc}} + static constructFromObject(data, obj) { + if (data){{! TODO: support polymorphism: discriminator property on data determines class to instantiate.}} { + switch(typeof data) { + case 'string': + obj = String(data); + break; + case 'number': + obj = Number(data); + break; + case 'boolean': + obj = Boolean(data); + break; + } + obj = obj || new {{classname}}(); +{{#parent}} + {{^parentModel}} + ApiClient.constructFromObject(data, obj, '{{vendorExtensions.x-itemType}}'); + {{/parentModel}} +{{/parent}} +{{#useInheritance}} + {{#parentModel}} + {{classname}}.constructFromObject(data, obj); + {{/parentModel}} + {{#interfaces}} + {{.}}.constructFromObject(data, obj); + {{/interfaces}} +{{/useInheritance}} +{{#vars}} + if (data.hasOwnProperty('{{baseName}}')) + obj.{{name}}{{{defaultValueWithParam}}} +{{/vars}} + } + return obj; + } +{{#emitModelMethods}} + + {{#vars}} + {{#emitJSDoc}} + /**{{#description}} + * Returns {{{description}}}{{/description}}{{#minimum}} + * minimum: {{minimum}}{{/minimum}}{{#maximum}} + * maximum: {{maximum}}{{/maximum}} + * @return {{=< >=}}{<&vendorExtensions.x-jsdoc-type>}<={{ }}=> + */ + {{/emitJSDoc}} + {{getter}}() { + return this.{{name}}; + } + + {{#emitJSDoc}} + /**{{#description}} + * Sets {{{description}}}{{/description}} + * @param {{=< >=}}{<&vendorExtensions.x-jsdoc-type>}<={{ }}=> {{name}}{{#description}} {{{description}}}{{/description}} + */ + {{/emitJSDoc}} + {{setter}}({{name}}) { + this.{{name}} = {{name}}; + } + + {{/vars}} +{{/emitModelMethods}} +} +{{#hasVars}} + + {{#vars}} + {{#isEnum}} + {{^isContainer}} +{{>partial_model_inner_enum}} + {{/isContainer}} + {{/isEnum}} + {{#items.isEnum}} + {{#items}} + {{^isContainer}} +{{>partial_model_inner_enum}} + {{/isContainer}} + {{/items}} + {{/items.isEnum}} + {{#emitJSDoc}} +/**{{#description}} + * {{{description}}}{{/description}} + * @member {{=< >=}}{<&vendorExtensions.x-jsdoc-type>}<={{ }}=> {{name}}{{#defaultValue}} + * @default {{{defaultValue}}}{{/defaultValue}} + */ + {{/emitJSDoc}} +{{classname}}.prototype.{{name}} = {{#defaultValue}}{{{defaultValue}}}{{/defaultValue}}{{^defaultValue}}undefined{{/defaultValue}}; + + {{/vars}} +{{/hasVars}} +{{#useInheritance}} + {{#interfaceModels}} +// Implement {{classname}} interface: + {{#allVars}} + {{#emitJSDoc}} +/**{{#description}} + * {{{description}}}{{/description}} + * @member {{=< >=}}{<&vendorExtensions.x-jsdoc-type>}<={{ }}=> {{name}}{{#defaultValue}} + * @default {{{defaultValue}}}{{/defaultValue}} + */ + {{/emitJSDoc}} +{{classname}}.prototype.{{name}} = {{#defaultValue}}{{{defaultValue}}}{{/defaultValue}}{{^defaultValue}}undefined{{/defaultValue}}; + + {{/allVars}} + {{/interfaceModels}} +{{/useInheritance}} \ No newline at end of file diff --git a/clients/sellingpartner-api-aa-javascript/src/sample_node_app/index.mjs b/clients/sellingpartner-api-aa-javascript/src/sample_node_app/index.mjs new file mode 100644 index 000000000..c360f204d --- /dev/null +++ b/clients/sellingpartner-api-aa-javascript/src/sample_node_app/index.mjs @@ -0,0 +1,13 @@ +import { AppConfig } from '../app.config.mjs'; +import { LwaAuthClient } from '../helper/LwaAuthClient.mjs'; +import { SellersApi, ApiClient as SellersApiClient } from '../../sdk/src/sellers/index.js'; + +(async () => { + const lwaClient = new LwaAuthClient(AppConfig.lwaClientId, AppConfig.lwaClientSecret, AppConfig.lwaRefreshToken); + const sellerApiClient = new SellersApiClient(AppConfig.endpoint); + + const sellerApi = new SellersApi(sellerApiClient); + sellerApiClient.applyXAmzAccessTokenToRequest(await lwaClient.getAccessToken()); + const participations = await sellerApi.getMarketplaceParticipations(); + console.log(JSON.stringify(participations) + "\n**********************************"); +})(); From a2342da0e298225e733d59029933cbebf2d2265f Mon Sep 17 00:00:00 2001 From: Gibran Waldron Date: Wed, 21 Feb 2024 14:25:04 -0800 Subject: [PATCH 041/340] Add endUserDataReport.json to GitHub. --- schemas/reports/endUserDataReport.json | 436 +++++++++++++++++++++++++ 1 file changed, 436 insertions(+) create mode 100644 schemas/reports/endUserDataReport.json diff --git a/schemas/reports/endUserDataReport.json b/schemas/reports/endUserDataReport.json new file mode 100644 index 000000000..3ff444430 --- /dev/null +++ b/schemas/reports/endUserDataReport.json @@ -0,0 +1,436 @@ +{ + "$schema": "http://json-schema.org/draft-07/schema", + "type": "object", + "description": "Provides end user (customer) data to DE, FR, IT, ES, NL, PL, SE and BE (EU-8) Selling Partners. This data contains customer personal data, including contact information, page view (glance view), and order data for customers who have elected to share this data with specific sellers. This data is accessible across various reporting periods, including DAY, WEEK and MONTH. Developers can choose to define start and end dates, along with the desired reporting period for data retrieval and aggregation. Please note that the report will not generate any data if no customers have elected to share their data.", + "examples": [ + { + "reportSpecification": { + "dataStartTime": "2023-09-10", + "dataEndTime": "2023-09-16", + "reportType": "END_USER_DATA_REPORT", + "reportOptions": { + "reportPeriod": "WEEK" + }, + "marketplaceIds": [ + "A1PA6795UKMFR9", "APJ6JRA9NG5V4" + ] + }, + "endUserData": [ + { + "fullName": "John Doe", + "mailingAddress": { + "addressLine1": "ABC Blvd", + "addressLine2": "Apartment 000", + "addressLine3": "", + "city": "Berlin", + "stateOrRegion": "Berlin", + "districtOrCounty": "", + "postalCode": "10115", + "countryCode": "DE" + }, + "primaryEmail": "jdoe@xyz.com", + "asinMetrics": [ + { + "startDate": "2023-09-10", + "endDate": "2023-09-16", + "marketplaceId": "A1PA6795UKMFR9", + "asin": "B00EZ1IGCO", + "pageViews": 12352, + "gms": 145.2, + "currencyCode": "EUR" + }, + { + "startDate": "2023-09-10", + "endDate": "2023-09-16", + "marketplaceId": "A1PA6795UKMFR9", + "asin": "A0DEZ1IKDB", + "pageViews": 432, + "gms": 98.8, + "currencyCode": "EUR" + } + ] + }, + { + "fullName": "Oliver Smith", + "mailingAddress": { + "addressLine1": "000 XYZ Street", + "addressLine2": "", + "addressLine3": "", + "city": "Rome", + "stateOrRegion": "Lazio", + "districtOrCounty": "", + "postalCode": "39100", + "countryCode": "IT" + }, + "primaryEmail": "osmith@xyz.com", + "asinMetrics": [ + { + "startDate": "2023-09-10", + "endDate": "2023-09-16", + "marketplaceId": "APJ6JRA9NG5V4", + "asin": "B00EZ1IGCO", + "pageViews": 12352, + "gms": 145.2, + "currencyCode": "EUR" + }, + { + "startDate": "2023-09-10", + "endDate": "2023-09-16", + "marketplaceId": "APJ6JRA9NG5V4", + "asin": "A0DEZ1IKDB", + "pageViews": 432, + "gms": 98.8, + "currencyCode": "EUR" + } + ] + } + ] + }, + { + "reportSpecification": { + "reportType": "END_USER_DATA_REPORT", + "marketplaceIds": [ + "A1PA6795UKMFR9" + ], + "dataStartTime": "2022-08-15", + "dataEndTime": "2023-10-05" + }, + "endUserData": [ + { + "fullName": "John Doe", + "mailingAddress": { + "addressLine1": "ABC Blvd", + "addressLine2": "Apartment 000", + "addressLine3": "", + "city": "Berlin", + "stateOrRegion": "Berlin", + "districtOrCounty": "", + "postalCode": "10115", + "countryCode": "DE" + }, + "primaryEmail": "jdoe@xyz.com", + "asinMetrics": [ + { + "startDate": "2023-09-01", + "endDate": "2023-09-30", + "marketplaceId": "A1PA6795UKMFR9", + "asin": "B00EZ1IGCO", + "pageViews": 1256, + "gms": 125.2, + "currencyCode": "EUR" + }, + { + "startDate": "2023-08-01", + "endDate": "2023-08-31", + "marketplaceId": "A1PA6795UKMFR9", + "asin": "B00EZ1IGCO", + "pageViews": 12352, + "gms": 145.2, + "currencyCode": "EUR" + }, + { + "startDate": "2023-07-01", + "endDate": "2023-07-31", + "marketplaceId": "A1PA6795UKMFR9", + "asin": "B00EZ1IGCO", + "pageViews": 12352, + "gms": 145.2, + "currencyCode": "EUR" + }, + { + "startDate": "2023-06-01", + "endDate": "2023-06-30", + "marketplaceId": "A1PA6795UKMFR9", + "asin": "B00EZ1IGCO", + "pageViews": 12352, + "gms": 145.2, + "currencyCode": "EUR" + }, + { + "startDate": "2023-05-01", + "endDate": "2023-05-31", + "marketplaceId": "A1PA6795UKMFR9", + "asin": "B00EZ1IGCO", + "pageViews": 12352, + "gms": 145.2, + "currencyCode": "EUR" + }, + { + "startDate": "2023-04-01", + "endDate": "2023-04-30", + "marketplaceId": "A1PA6795UKMFR9", + "asin": "B00EZ1IGCO", + "pageViews": 12352, + "gms": 145.2, + "currencyCode": "EUR" + }, + { + "startDate": "2023-03-01", + "endDate": "2023-03-31", + "marketplaceId": "A1PA6795UKMFR9", + "asin": "B00EZ1IGCO", + "pageViews": 12352, + "gms": 145.2, + "currencyCode": "EUR" + }, + { + "startDate": "2023-02-01", + "endDate": "2023-02-28", + "marketplaceId": "A1PA6795UKMFR9", + "asin": "B00EZ1IGCO", + "pageViews": 12352, + "gms": 145.2, + "currencyCode": "EUR" + }, + { + "startDate": "2023-01-01", + "endDate": "2023-01-31", + "marketplaceId": "A1PA6795UKMFR9", + "asin": "B00EZ1IGCO", + "pageViews": 12352, + "gms": 145.2, + "currencyCode": "EUR" + }, + { + "startDate": "2022-12-01", + "endDate": "2022-12-31", + "marketplaceId": "A1PA6795UKMFR9", + "asin": "B00EZ1IGCO", + "pageViews": 12352, + "gms": 145.2, + "currencyCode": "EUR" + }, + { + "startDate": "2022-11-01", + "endDate": "2022-11-30", + "marketplaceId": "A1PA6795UKMFR9", + "asin": "B00EZ1IGCO", + "pageViews": 12352, + "gms": 145.2, + "currencyCode": "EUR" + }, + { + "startDate": "2022-10-01", + "endDate": "2022-10-31", + "marketplaceId": "A1PA6795UKMFR9", + "asin": "B00EZ1IGCO", + "pageViews": 12352, + "gms": 145.2, + "currencyCode": "EUR" + }, + { + "startDate": "2022-09-01", + "endDate": "2022-09-30", + "marketplaceId": "A1PA6795UKMFR9", + "asin": "B00EZ1IGCO", + "pageViews": 12352, + "gms": 145.2, + "currencyCode": "EUR" + } + ] + } + ] + } + ], + "required": [ + "reportSpecification", + "endUserData" + ], + "properties": { + "reportSpecification": { + "type": "object", + "description": "Summarizes the report request.", + "required": [ + "reportType", + "marketplaceIds", + "dataStartTime", + "dataEndTime" + ], + "properties": { + "reportType": { + "type": "string", + "description": "The report type." + }, + "reportOptions": { + "type": "object", + "description": "Used to specify the report period.", + "properties": { + "reportPeriod": { + "type": "string", + "description": "The granularity of the data in the report. Valid values are: DAY, WEEK, and MONTH. If no granularity is specified, reportPeriod defaults to MONTH.", + "enum": [ + "DAY", + "WEEK", + "MONTH" + ] + } + } + }, + "dataStartTime": { + "type": "string", + "format": "date", + "description": "Determines the start date of the report - the time component is ignored. If the provided start date occurs mid-week or mid-month, the following Sunday for weekly reporting periods or the first day of the next month for monthly reporting periods will be used instead.", + "examples": [ + "2023-06-06" + ] + }, + "dataEndTime": { + "type": "string", + "format": "date", + "description": "Determines the end date of the report - the time component is ignored. If the provided end date occurs mid-week or mid-month, the preceding Saturday for weekly reporting periods or the last day of the previous month for monthly reporting periods will be used instead. Additionally if the end date differs from the start date by more than 365 days, it will be adjusted to the closest end date with a maximum 365 day difference based on the selected reporting period.", + "examples": [ + "2021-06-19" + ] + }, + "marketplaceIds": { + "type": "array", + "description": "Any of the EU(8) marketplaces. DE, FR, IT, ES, NL, PL, SE and BE", + "items": { + "type": "string", + "description": "Any EU(8) Marketplace ID. DE, FR, IT, ES, NL, PL, SE and BE. The ID for the marketplace can be found on the SP-API documentation. - https://developer-docs.amazon.com/sp-api/docs/marketplace-ids" + } + } + } + }, + "endUserData": { + "type": "array", + "description": "A list of consented end users (buyers) and their data.", + "items": { + "$ref": "#/definitions/EndUserData" + } + } + }, + "definitions": { + "EndUserData": { + "type": "object", + "description": "Contains end user contact information, page view and GMS metrics.", + "required": [ + "fullName", + "mailingAddress", + "primaryEmail", + "asinMetrics" + ], + "properties": { + "fullName": { + "type": "string", + "description": "Full Name of the end user." + }, + "mailingAddress": { + "type": "object", + "description": "Mailing address of the end user.", + "properties": { + "addressLine1": { + "type": "string", + "description": "The first line of the address." + }, + "addressLine2": { + "type": "string", + "description": "Additional address." + }, + "addressLine3": { + "type": "string", + "description": "Additional address." + }, + "city": { + "type": "string", + "description": "City." + }, + "stateOrRegion": { + "type": "string", + "description": "State or Region." + }, + "districtOrCounty": { + "type": "string", + "description": "District or County." + }, + "postalCode": { + "type": "string", + "description": "Postal code." + }, + "countryCode": { + "type": "string", + "description": "The two letter ISO 3166-1 alpha-2 country code.", + "examples": ["IT", "DE", "FR"] + } + } + }, + "primaryEmail": { + "type": "string", + "description": "Primary email of the end user." + }, + "asinMetrics": { + "type": "array", + "description": "A list of Asin Page View and GMS metrics of an end user.", + "items": { + "$ref": "#/definitions/AsinMetrics" + } + } + } + }, + "AsinMetrics": { + "type": "object", + "description": "Page view and GMS metrics of the end user.", + "required": [ + "startDate", + "endDate", + "marketplaceId", + "asin" + ], + "properties": { + "startDate": { + "type": "string", + "format": "date", + "description": "Start date of the aggregation window.", + "examples": [ + "2023-01-16" + ] + }, + "endDate": { + "type": "string", + "format": "date", + "description": "End date of the aggregation window.", + "examples": [ + "2023-01-23" + ] + }, + "marketplaceId": { + "type": "string", + "description": "Marketplace for which the metrics are provided.", + "examples": [ + "A1PA6795UKMFR9" + ] + }, + "asin": { + "type": "string", + "description": "ASIN for which the metrics are provided. Only ASINs with an active offer from the Seller are included.", + "examples": [ + "B00EZ1IGCO" + ] + }, + "pageViews": { + "type": "integer", + "description": "End user's page views (count) for the ASIN.", + "minimum": 0, + "examples": [ + 12352 + ] + }, + "gms": { + "type": "number", + "description": "End user's GMS for the ASIN. GMS = (Product Price * Quantity) + Shipping + Giftwrap - Returns - Promotional Discounts.", + "minimum": 0, + "examples": [ + 15.23 + ] + }, + "currencyCode": { + "type": "string", + "description": "The ISO 4217 currency code in which GMS is calculated.", + "examples": [ + "EUR" + ] + } + } + } + } +} \ No newline at end of file From a5a759d377583cec737ab7bb250912c487219d03 Mon Sep 17 00:00:00 2001 From: Umeda Date: Wed, 21 Feb 2024 13:44:07 +0900 Subject: [PATCH 042/340] Add Python SDK --- .../sellingpartner-api-aa-python/README.md | 155 +++++ .../auth/LwaException.py | 18 + .../auth/LwaExceptionErrorCode.py | 12 + .../auth/LwaRequest.py | 96 +++ .../auth/credentials.py | 8 + .../requirements.txt | 38 + .../resources/api.mustache | 214 ++++++ .../resources/api_client.mustache | 647 ++++++++++++++++++ .../resources/api_test.mustache | 37 + .../resources/configuration.mustache | 271 ++++++++ .../spapi/spapiclient.py | 63 ++ clients/sellingpartner-api-aa-python/test.py | 27 + .../test_lwaexception.py | 13 + .../test_lwarequest.py | 32 + 14 files changed, 1631 insertions(+) create mode 100644 clients/sellingpartner-api-aa-python/README.md create mode 100644 clients/sellingpartner-api-aa-python/auth/LwaException.py create mode 100644 clients/sellingpartner-api-aa-python/auth/LwaExceptionErrorCode.py create mode 100644 clients/sellingpartner-api-aa-python/auth/LwaRequest.py create mode 100644 clients/sellingpartner-api-aa-python/auth/credentials.py create mode 100644 clients/sellingpartner-api-aa-python/requirements.txt create mode 100644 clients/sellingpartner-api-aa-python/resources/api.mustache create mode 100644 clients/sellingpartner-api-aa-python/resources/api_client.mustache create mode 100644 clients/sellingpartner-api-aa-python/resources/api_test.mustache create mode 100644 clients/sellingpartner-api-aa-python/resources/configuration.mustache create mode 100644 clients/sellingpartner-api-aa-python/spapi/spapiclient.py create mode 100644 clients/sellingpartner-api-aa-python/test.py create mode 100644 clients/sellingpartner-api-aa-python/test_lwaexception.py create mode 100644 clients/sellingpartner-api-aa-python/test_lwarequest.py diff --git a/clients/sellingpartner-api-aa-python/README.md b/clients/sellingpartner-api-aa-python/README.md new file mode 100644 index 000000000..f63eb5d2f --- /dev/null +++ b/clients/sellingpartner-api-aa-python/README.md @@ -0,0 +1,155 @@ +--- +title: "Tutorial: Automate your SP-API calls using Python SDK" +excerpt: "Tutorial to automate your SP-API calls with Python SDK with Login with Amazon (LWA) token exchange and authentication." +slug: "tutorial-automate-your-sp-api-calls-using-python-sdk" +category: 659db4609baec900382f6ebe +--- + +This tutorial provides you with all the required details to generate a Python SDK with Login with Amazon (LWA) token exchange and authentication, to build your application seamlessly. You will learn the prerequisites required to build the Python SDK and also view an example using the Selling Partner API for Orders and the Swagger Code Generator. + +You can use this SDK to integrate Amazon marketplace features into your applications, including accessing product information, managing orders, handling shipments, and more. + +## Tutorial + +The following tutorial will help you set up your own Python SDK for automating SP-API calls. + +### Prerequisites + +To complete this tutorial, you need the following prerequisites: + +* A hybrid or SP-API app in draft or published state +* Integrated development environment (IDE) software +* Python (version 3.6 or later) +* `swagger-codegen-cli-2.3` (or later) This tool is used to generate Python client code from the SP-API's Swagger definitions. + +Before your application can connect to the Selling Partner API, you must register it, and it must be authorized by a selling partner. If you do not have a hybrid or SP-API app, follow the steps to [register as a developer](https://developer-docs.amazon.com/sp-api/docs/registering-as-a-developer), [register your application](https://developer-docs.amazon.com/sp-api/docs/registering-your-application), and [Authorizing Selling Partner API applications](https://developer-docs.amazon.com/sp-api/docs/authorizing-selling-partner-api-applications). Then, return to this tutorial. + +Next, set up your workspace for the tutorial. + +### Step 1. Set up your workspace + +1. On your local drive, create a directory for this project, name it `SPAPI_Python_SDK`, and navigate to the new directory. +2. Clone the [client repo](https://github.com/amzn/selling-partner-api-models/tree/main/clients). +3. Download the following tools. + - IDE software (this walkthrough uses [Visual Studio](https://visualstudio.microsoft.com/) IDE on Windows OS) + - Python (version 3.6 or later). You can download this software from [python.org](https://www.python.org/downloads/). +4. Run the following command in your terminal to download the Swagger Code Jar: + +``` + `wget https://repo1.maven.org/maven2/io/swagger/swagger-codegen-cli/2.4.13/swagger-codegen-cli-2.4.13.jar -O swagger-codegen-cli.jar` +``` + +5. Copy `swagger-codegen-cli.jar` into your local directory `C:\\SPAPI_Python_SDK`. +6. Run the following command in your terminal to install the Python `backoff` library in your environment: + +``` + pip install backoff +``` +7. In GitHub, go to and run the following command to clone the selling-partner-api-models repository to your local directory `C:\\SPAPI_Python_SDK`. + +``` + git clone https://github.com/amzn/selling-partner-api-models +``` + +Now that you have completed the required setup, the next step is to generate the Python SDK with the authentication and authorization classes downloaded to your local directory `C:\\SPAPI_Python_SDK`. + +### Step 2. Generate a Python client from Swagger definitions + +1. Locate the Swagger JSON file for the [SP-API API model](https://github.com/amzn/selling-partner-api-models/tree/main/models) you want to use (for example, Orders API) from your local directory `C:\\SPAPI_Python_SDK`. +2. Run the following command in your terminal to generate client code. Make sure to replace the paths and API model with your settings. + +``` + java -jar /[path_to_swagger_jar]/swagger-codegen-cli.jar generate -l python -t /[path_to_mustach_resources]/resources/ -D packageName=swagger_client -o /[path_to_client_folder]/client/[SP-API_NAME] -i /[path_to_model_folder]/models/[SP-API_NAME]/SP-API.json +``` + +Now that you have generated a Python client, you need to integrate the authentication model. + +### Step 3. Integrate the authentication module + +1. Locate the `auth` and `spapi` client code folders in `C:\\SPAPI_Python_SDK`, the directory where the SDK was downloaded. +2. Update the paths in the following Python files: `spapiclient.py` and `LwaRequest.py`. + +With authentication set up, you're now ready to set up the Python SDK package. + +### Step 4. Set up the Python SDK package + +1. Navigate to `C:\\SPAPI_Python_SDK` the directory where the SDK was generated. +2. Use the following code to create a `setup.py` file. This file is required for packaging your SDK. Make sure you replace information in the example with information for your package and dependencies. + +```python + from setuptools import setup, find_packages + + setup( + name='SellingPartnerAPIAuthAndAuthPython', # Replace with your package's name + version='1.0.0', # Replace with your package's version + package_dir={'': 'src'}, # Replace 'src' as necessary + packages=find_packages(where='src'), + install_requires=[line.strip() for line in open("requirements.txt", "r")], + description='A Python SDK for Amazon Selling Partner API', + long_description=open('README.md').read(), + long_description_content_type='text/markdown', + url='TBD' + ) +``` + +With the Python SDK set up, you're now ready to interact with the SP-API endpoints. + +### Step 5. Create an instance of the Orders API and call an operation + +The following is an example of how to use the Python SDK with the Orders API to make a `getOrders` request. Update the code with your information and then run the code in your terminal. + +```python + if __name__ == "__main__": + + from auth.credentials import SPAPIConfig + config = SPAPIConfig( + client_id="Your client-id", + client_secret="Your client-secret", + refresh_token="Your refresh-token", + region="NA", # Possible values NA, EU, FE, and SANDBOX + scope = None # Required for grant_type='client_credentials' ; Possible values "sellingpartnerapi::notifications" and "sellingpartnerapi::migration" + ) + + from spapi.spapiclient import SPAPIClient + + # Create the API Client + print("Config and client initialized...") + api_client = SPAPIClient(config) + + marketplace_ids = ["ATVPDKIKX0DER"] + created_after = "2024-01-19T00:00:00" + + orders_api = api_client.get_api_client('OrdersV0Api') + orders_response = orders_api.get_orders(marketplace_ids=marketplace_ids, created_after=created_after) + print("Orders API Response:") + print(orders_response) +``` + +> 🚧 Caution +> +> Never commit this file to your version control system as it contains sensitive information. Please ensure these LWA credentials are stored securely in an encrypted format. + +A status code of 200 means the API call was successful. + +## Step 6. Connect to the Selling Partner API using the generated the Python SDK + +Run the following commands in your terminal to build and install your SDK locally: + + ```bash + python3 setup.py sdist bdist_wheel + ``` + ```bash + pip install dist/{YourPackageName}-1.0.0-py3-none-any.whl + ``` + +Run the following test script in your terminal to test the Python SDK: + + ```bash + python test.py + ``` + +A status code of 200 means the API call was successful. + +## Conclusion + +In this tutorial, you learned how to automate your SP-API calls using an SP-API SDK for Python. In the walkthrough, you learned how to set up your workspace, generate a Python SDK for Selling Partner API, connect to the Orders API, and make your first API call. diff --git a/clients/sellingpartner-api-aa-python/auth/LwaException.py b/clients/sellingpartner-api-aa-python/auth/LwaException.py new file mode 100644 index 000000000..49fb356e4 --- /dev/null +++ b/clients/sellingpartner-api-aa-python/auth/LwaException.py @@ -0,0 +1,18 @@ + +class LwaException(Exception): + def __init__(self, error_code, error_message, cause=None): + super().__init__(f"LWA Error - Code {error_code}, Message: {error_message}") + self.error_code = error_code + self.error_message = error_message + self.cause = cause + + def __str__(self): + cause_str = f", Cause: {self.cause}" if self.cause else "" + return f"LWA Error - Code: {self.error_code}, Message: {self.error_message}{cause_str}" + + def get_error_code(self): + return self.error_code + + def get_error_message(self): + return self.error_message + diff --git a/clients/sellingpartner-api-aa-python/auth/LwaExceptionErrorCode.py b/clients/sellingpartner-api-aa-python/auth/LwaExceptionErrorCode.py new file mode 100644 index 000000000..3e822e3d9 --- /dev/null +++ b/clients/sellingpartner-api-aa-python/auth/LwaExceptionErrorCode.py @@ -0,0 +1,12 @@ +from enum import Enum + +class LwaExceptionErrorCode(Enum): + ACCESS_DENIED = "access_denied" + INVALID_GRANT = "invalid_grant" + INVALID_REQUEST = "invalid_request" + INVALID_SCOPE = "invalid_scope" + SERVER_ERROR = "server_error" + TEMPORARILY_UNAVAILABLE = "temporarily_unavailable" + UNAUTHORIZED_CLIENT = "unauthorized_client" + INVALID_CLIENT = "invalid_client" + OTHER = "other" diff --git a/clients/sellingpartner-api-aa-python/auth/LwaRequest.py b/clients/sellingpartner-api-aa-python/auth/LwaRequest.py new file mode 100644 index 000000000..2e8a3b438 --- /dev/null +++ b/clients/sellingpartner-api-aa-python/auth/LwaRequest.py @@ -0,0 +1,96 @@ +import requests +import time +import logging +import sys + +#Update path +sys.path.append("path_to_folder/SellingPartnerAPIAuthAndAuthPython") + +from auth.LwaException import LwaException +from auth.LwaExceptionErrorCode import LwaExceptionErrorCode + +logging.basicConfig(level=logging.INFO) +logger = logging.getLogger(__name__) + +class AccessTokenCache: + def __init__(self, max_retries=3): + self.token_info = None + self.max_retries = max_retries + + def get_lwa_access_token(self, client_id, client_secret, refresh_token=None, grant_type="refresh_token", scope=None): + if self.token_info and time.time() < self.token_info["expires_at"]: + return self.token_info["access_token"] + return self.request_new_token(client_id, client_secret, refresh_token, grant_type, scope) + + + def request_new_token(self, client_id, client_secret, refresh_token, grant_type, scope): + self.validate_token_request(grant_type, refresh_token, scope) + data = self.prepare_token_request_data(client_id, client_secret, refresh_token, grant_type, scope) + + retries = 0 + while retries <= self.max_retries: + try: + response = requests.post("https://api.amazon.com/auth/o2/token", data=data) + response.raise_for_status() + token_response = response.json() + token_response["expires_at"] = time.time() + token_response.get("expires_in", 1800) - 30 + self.token_info = token_response + return token_response["access_token"] + except requests.RequestException as e: + if retries < self.max_retries: + retries += 1 + time.sleep(2 ** retries) + continue + error_code = self.map_http_status_to_lwa_exception_code(e.response.status_code if e.response else None) + error_message = f"Token request failed with status code {e.response.status_code}: {e.response.text}" if e.response else "Token request failed." + logger.error(error_message) + raise LwaException(error_code, error_message) from e + + + def validate_token_request(self, grant_type, refresh_token, scope): + if grant_type == "refresh_token" and not refresh_token: + raise LwaException(LwaExceptionErrorCode.INVALID_REQUEST.value, "Refresh token must be provided for grant_type 'refresh_token'") + if grant_type == "client_credentials" and not scope: + raise LwaException(LwaExceptionErrorCode.INVALID_SCOPE.value, "Scope must be provided for grant_type 'client_credentials'") + + + def prepare_token_request_data(self, client_id, client_secret, refresh_token, grant_type, scope): + data = { + "client_id": client_id, + "client_secret": client_secret, + "grant_type": grant_type + } + if grant_type == "refresh_token": + if not refresh_token: + raise LwaException(LwaExceptionErrorCode.INVALID_REQUEST.value, "Refresh token must be provided for grant_type 'refresh_token'") + data["refresh_token"] = refresh_token + elif grant_type == "client_credentials": + if not scope: + raise LwaException(LwaExceptionErrorCode.INVALID_SCOPE.value, "Scope must be provided for grant_type 'client_credentials'") + data["scope"] = scope + return data + + def is_retriable(self, error_code): + retriable_codes = [ + LwaExceptionErrorCode.SERVER_ERROR.value, + LwaExceptionErrorCode.TEMPORARILY_UNAVAILABLE.value + ] + return error_code in retriable_codes + + def format_error_message(self, e): + return f"Token request failed with status code {e.response.status_code}: {e.response.text}" if e.response else f"Token request failed: {e}" + + def map_http_status_to_lwa_exception_code(self, status_code): + if status_code is None: + return LWAExceptionErrorCode.SERVER_ERROR.value + if status_code == 400: + return LWAExceptionErrorCode.INVALID_REQUEST.value + if status_code == 401: + return LWAExceptionErrorCode.UNAUTHORIZED_CLIENT.value + if status_code == 403: + return LWAExceptionErrorCode.ACCESS_DENIED.value + if status_code == 500: + return LWAExceptionErrorCode.SERVER_ERROR.value + if status_code == 503: + return LWAExceptionErrorCode.TEMPORARILY_UNAVAILABLE.value + return LWAExceptionErrorCode.OTHER.value diff --git a/clients/sellingpartner-api-aa-python/auth/credentials.py b/clients/sellingpartner-api-aa-python/auth/credentials.py new file mode 100644 index 000000000..715a1c3bf --- /dev/null +++ b/clients/sellingpartner-api-aa-python/auth/credentials.py @@ -0,0 +1,8 @@ +class SPAPIConfig: + def __init__(self, client_id, client_secret, refresh_token, region="SANDBOX", access_token=None, scope=None): + self.client_id = client_id + self.client_secret = client_secret + self.refresh_token = refresh_token + self.region = region + self.scope = scope + self.access_token = access_token # Initially empty, filled by LWA request method diff --git a/clients/sellingpartner-api-aa-python/requirements.txt b/clients/sellingpartner-api-aa-python/requirements.txt new file mode 100644 index 000000000..7c107f35e --- /dev/null +++ b/clients/sellingpartner-api-aa-python/requirements.txt @@ -0,0 +1,38 @@ +arrow==1.2.3 +attrs==23.1.0 +boto3==1.26.151 +botocore==1.29.151 +bravado==11.0.3 +bravado-core==5.17.1 +cachetools==5.3.1 +certifi==2023.5.7 +charset-normalizer==3.1.0 +chevron==0.14.0 +confuse==2.0.1 +fqdn==1.5.1 +idna==3.4 +isoduration==20.11.0 +jmespath==1.0.1 +jsonpointer==2.4 +jsonref==1.1.0 +jsonschema==4.18.2 +jsonschema-specifications==2023.6.1 +monotonic==1.6 +msgpack==1.0.5 +python-amazon-sp-api==1.0.2 +python-dateutil==2.8.2 +pytz==2023.3 +PyYAML==6.0 +referencing==0.29.1 +requests==2.31.0 +rfc3339-validator==0.1.4 +rfc3987==1.3.8 +rpds-py==0.8.10 +s3transfer==0.6.1 +simplejson==3.19.1 +six==1.16.0 +swagger-spec-validator==3.0.3 +typing_extensions==4.7.1 +uri-template==1.3.0 +urllib3==1.26.16 +webcolors==1.13 diff --git a/clients/sellingpartner-api-aa-python/resources/api.mustache b/clients/sellingpartner-api-aa-python/resources/api.mustache new file mode 100644 index 000000000..cc03d94b7 --- /dev/null +++ b/clients/sellingpartner-api-aa-python/resources/api.mustache @@ -0,0 +1,214 @@ +# coding: utf-8 + +{{>partial_header}} + +from __future__ import absolute_import + +import re # noqa: F401 + +# python 2 and python 3 compatibility library +import six + +from {{packageName}}.api_client import ApiClient + + +{{#operations}} +class {{classname}}(object): + """NOTE: This class is auto generated by the swagger code generator program. + + Do not edit the class manually. + Ref: https://github.com/swagger-api/swagger-codegen + """ + + def __init__(self, api_client=None): + if api_client is None: + api_client = ApiClient() + self.api_client = api_client +{{#operation}} + + def {{operationId}}(self, {{#sortParamsByRequiredFlag}}{{#allParams}}{{#required}}{{paramName}}, {{/required}}{{/allParams}}{{/sortParamsByRequiredFlag}}**kwargs): # noqa: E501 + """{{#summary}}{{{.}}}{{/summary}}{{^summary}}{{operationId}}{{/summary}} # noqa: E501 + +{{#notes}} + {{{notes}}} # noqa: E501 +{{/notes}} + This method makes a synchronous HTTP request by default. To make an + asynchronous HTTP request, please pass async_req=True +{{#sortParamsByRequiredFlag}} + >>> thread = api.{{operationId}}({{#allParams}}{{#required}}{{paramName}}, {{/required}}{{/allParams}}async_req=True) +{{/sortParamsByRequiredFlag}} +{{^sortParamsByRequiredFlag}} + >>> thread = api.{{operationId}}({{#allParams}}{{#required}}{{paramName}}={{paramName}}_value, {{/required}}{{/allParams}}async_req=True) +{{/sortParamsByRequiredFlag}} + >>> result = thread.get() + + :param async_req bool +{{#allParams}} + :param {{dataType}} {{paramName}}:{{#description}} {{{description}}}{{/description}}{{#required}} (required){{/required}}{{#optional}}(optional){{/optional}} +{{/allParams}} + :return: {{#returnType}}{{returnType}}{{/returnType}}{{^returnType}}None{{/returnType}} + If the method is called asynchronously, + returns the request thread. + """ + kwargs['_return_http_data_only'] = True + if kwargs.get('async_req'): + return self.{{operationId}}_with_http_info({{#sortParamsByRequiredFlag}}{{#allParams}}{{#required}}{{paramName}}, {{/required}}{{/allParams}}{{/sortParamsByRequiredFlag}}**kwargs) # noqa: E501 + else: + (data) = self.{{operationId}}_with_http_info({{#sortParamsByRequiredFlag}}{{#allParams}}{{#required}}{{paramName}}, {{/required}}{{/allParams}}{{/sortParamsByRequiredFlag}}**kwargs) # noqa: E501 + return data + + def {{operationId}}_with_http_info(self, {{#sortParamsByRequiredFlag}}{{#allParams}}{{#required}}{{paramName}}, {{/required}}{{/allParams}}{{/sortParamsByRequiredFlag}}**kwargs): # noqa: E501 + """{{#summary}}{{{.}}}{{/summary}}{{^summary}}{{operationId}}{{/summary}} # noqa: E501 + +{{#notes}} + {{{notes}}} # noqa: E501 +{{/notes}} + This method makes a synchronous HTTP request by default. To make an + asynchronous HTTP request, please pass async_req=True +{{#sortParamsByRequiredFlag}} + >>> thread = api.{{operationId}}_with_http_info({{#allParams}}{{#required}}{{paramName}}, {{/required}}{{/allParams}}async_req=True) +{{/sortParamsByRequiredFlag}} +{{^sortParamsByRequiredFlag}} + >>> thread = api.{{operationId}}_with_http_info({{#allParams}}{{#required}}{{paramName}}={{paramName}}_value, {{/required}}{{/allParams}}async_req=True) +{{/sortParamsByRequiredFlag}} + >>> result = thread.get() + + :param async_req bool +{{#allParams}} + :param {{dataType}} {{paramName}}:{{#description}} {{{description}}}{{/description}}{{#required}} (required){{/required}}{{#optional}}(optional{{#defaultValue}}, default to {{{.}}}{{/defaultValue}}){{/optional}} +{{/allParams}} + :return: {{#returnType}}{{returnType}}{{/returnType}}{{^returnType}}None{{/returnType}} + If the method is called asynchronously, + returns the request thread. + """ + + all_params = [{{#allParams}}'{{paramName}}'{{#hasMore}}, {{/hasMore}}{{/allParams}}] # noqa: E501 + all_params.append('async_req') + all_params.append('_return_http_data_only') + all_params.append('_preload_content') + all_params.append('_request_timeout') + + params = locals() + for key, val in six.iteritems(params['kwargs']): + if key not in all_params: + raise TypeError( + "Got an unexpected keyword argument '%s'" + " to method {{operationId}}" % key + ) + params[key] = val + del params['kwargs'] +{{#allParams}} +{{#required}} + # verify the required parameter '{{paramName}}' is set + if self.api_client.client_side_validation and ('{{paramName}}' not in params or + params['{{paramName}}'] is None): # noqa: E501 + raise ValueError("Missing the required parameter `{{paramName}}` when calling `{{operationId}}`") # noqa: E501 +{{/required}} +{{/allParams}} + +{{#allParams}} +{{#hasValidation}} + {{#maxLength}} + if self.api_client.client_side_validation and ('{{paramName}}' in params and + len(params['{{paramName}}']) > {{maxLength}}): + raise ValueError("Invalid value for parameter `{{paramName}}` when calling `{{operationId}}`, length must be less than or equal to `{{maxLength}}`") # noqa: E501 + {{/maxLength}} + {{#minLength}} + if self.api_client.client_side_validation and ('{{paramName}}' in params and + len(params['{{paramName}}']) < {{minLength}}): + raise ValueError("Invalid value for parameter `{{paramName}}` when calling `{{operationId}}`, length must be greater than or equal to `{{minLength}}`") # noqa: E501 + {{/minLength}} + {{#maximum}} + if self.api_client.client_side_validation and ('{{paramName}}' in params and params['{{paramName}}'] >{{#exclusiveMaximum}}={{/exclusiveMaximum}} {{maximum}}): # noqa: E501 + raise ValueError("Invalid value for parameter `{{paramName}}` when calling `{{operationId}}`, must be a value less than {{^exclusiveMaximum}}or equal to {{/exclusiveMaximum}}`{{maximum}}`") # noqa: E501 + {{/maximum}} + {{#minimum}} + if self.api_client.client_side_validation and ('{{paramName}}' in params and params['{{paramName}}'] <{{#exclusiveMinimum}}={{/exclusiveMinimum}} {{minimum}}): # noqa: E501 + raise ValueError("Invalid value for parameter `{{paramName}}` when calling `{{operationId}}`, must be a value greater than {{^exclusiveMinimum}}or equal to {{/exclusiveMinimum}}`{{minimum}}`") # noqa: E501 + {{/minimum}} + {{#pattern}} + if self.api_client.client_side_validation and ('{{paramName}}' in params and not re.search(r'{{{vendorExtensions.x-regex}}}', params['{{paramName}}']{{#vendorExtensions.x-modifiers}}{{#-first}}, flags={{/-first}}re.{{.}}{{^-last}} | {{/-last}}{{/vendorExtensions.x-modifiers}})): # noqa: E501 + raise ValueError("Invalid value for parameter `{{paramName}}` when calling `{{operationId}}`, must conform to the pattern `{{{pattern}}}`") # noqa: E501 + {{/pattern}} + {{#maxItems}} + if self.api_client.client_side_validation and ('{{paramName}}' in params and + len(params['{{paramName}}']) > {{maxItems}}): + raise ValueError("Invalid value for parameter `{{paramName}}` when calling `{{operationId}}`, number of items must be less than or equal to `{{maxItems}}`") # noqa: E501 + {{/maxItems}} + {{#minItems}} + if self.api_client.client_side_validation and ('{{paramName}}' in params and + len(params['{{paramName}}']) < {{minItems}}): + raise ValueError("Invalid value for parameter `{{paramName}}` when calling `{{operationId}}`, number of items must be greater than or equal to `{{minItems}}`") # noqa: E501 + {{/minItems}} +{{/hasValidation}} +{{#-last}} +{{/-last}} +{{/allParams}} + collection_formats = {} + + path_params = {} +{{#pathParams}} + if '{{paramName}}' in params: + path_params['{{baseName}}'] = params['{{paramName}}']{{#isListContainer}} # noqa: E501 + collection_formats['{{baseName}}'] = '{{collectionFormat}}'{{/isListContainer}} # noqa: E501 +{{/pathParams}} + + query_params = [] +{{#queryParams}} + if '{{paramName}}' in params: + query_params.append(('{{baseName}}', params['{{paramName}}'])){{#isListContainer}} # noqa: E501 + collection_formats['{{baseName}}'] = '{{collectionFormat}}'{{/isListContainer}} # noqa: E501 +{{/queryParams}} + + header_params = {} +{{#headerParams}} + if '{{paramName}}' in params: + header_params['{{baseName}}'] = params['{{paramName}}']{{#isListContainer}} # noqa: E501 + collection_formats['{{baseName}}'] = '{{collectionFormat}}'{{/isListContainer}} # noqa: E501 +{{/headerParams}} + + form_params = [] + local_var_files = {} +{{#formParams}} + if '{{paramName}}' in params: + {{#notFile}}form_params.append(('{{baseName}}', params['{{paramName}}'])){{/notFile}}{{#isFile}}local_var_files['{{baseName}}'] = params['{{paramName}}']{{/isFile}}{{#isListContainer}} # noqa: E501 + collection_formats['{{baseName}}'] = '{{collectionFormat}}'{{/isListContainer}} # noqa: E501 +{{/formParams}} + + body_params = None +{{#bodyParam}} + if '{{paramName}}' in params: + body_params = params['{{paramName}}'] +{{/bodyParam}} + {{#hasProduces}} + # HTTP header `Accept` + header_params['Accept'] = self.api_client.select_header_accept( + [{{#produces}}'{{{mediaType}}}'{{#hasMore}}, {{/hasMore}}{{/produces}}]) # noqa: E501 + + {{/hasProduces}} + {{#hasConsumes}} + # HTTP header `Content-Type` + header_params['Content-Type'] = self.api_client.select_header_content_type( # noqa: E501 + [{{#consumes}}'{{{mediaType}}}'{{#hasMore}}, {{/hasMore}}{{/consumes}}]) # noqa: E501 + + {{/hasConsumes}} + # Authentication setting + auth_settings = [{{#authMethods}}'{{name}}'{{#hasMore}}, {{/hasMore}}{{/authMethods}}] # noqa: E501 + + return self.api_client.call_api( + '{{{path}}}', '{{httpMethod}}', + path_params, + query_params, + header_params, + body=body_params, + post_params=form_params, + files=local_var_files, + response_type={{#returnType}}'{{returnType}}'{{/returnType}}{{^returnType}}None{{/returnType}}, # noqa: E501 + auth_settings=auth_settings, + async_req=params.get('async_req'), + _return_http_data_only=params.get('_return_http_data_only'), + _preload_content=params.get('_preload_content', True), + _request_timeout=params.get('_request_timeout'), + collection_formats=collection_formats) +{{/operation}} +{{/operations}} \ No newline at end of file diff --git a/clients/sellingpartner-api-aa-python/resources/api_client.mustache b/clients/sellingpartner-api-aa-python/resources/api_client.mustache new file mode 100644 index 000000000..40fc64912 --- /dev/null +++ b/clients/sellingpartner-api-aa-python/resources/api_client.mustache @@ -0,0 +1,647 @@ +# coding: utf-8 +{{>partial_header}} +from __future__ import absolute_import + +import datetime +import json +import mimetypes +from multiprocessing.pool import ThreadPool +import os +import re +import tempfile + +# python 2 and python 3 compatibility library +import six +from six.moves.urllib.parse import quote +{{#tornado}} +import tornado.gen +{{/tornado}} + +from {{packageName}}.configuration import Configuration +import {{modelPackage}} +from {{packageName}} import rest + + +class ApiClient(object): + """Generic API client for Swagger client library builds. + + Swagger generic API client. This client handles the client- + server communication, and is invariant across implementations. Specifics of + the methods and models for each application are generated from the Swagger + templates. + + NOTE: This class is auto generated by the swagger code generator program. + Ref: https://github.com/swagger-api/swagger-codegen + Do not edit the class manually. + + :param configuration: .Configuration object for this client + :param header_name: a header to pass when making calls to the API. + :param header_value: a header value to pass when making calls to + the API. + :param cookie: a cookie to include in the header when making calls + to the API + """ + + PRIMITIVE_TYPES = (float, bool, bytes, six.text_type) + six.integer_types + NATIVE_TYPES_MAPPING = { + 'int': int, + 'long': int if six.PY3 else long, # noqa: F821 + 'float': float, + 'str': str, + 'bool': bool, + 'date': datetime.date, + 'datetime': datetime.datetime, + 'object': object, + } + + def __init__(self, configuration=None, header_name=None, header_value=None, + cookie=None): + if configuration is None: + configuration = Configuration() + self.configuration = configuration + + # Use the pool property to lazily initialize the ThreadPool. + self._pool = None + self.rest_client = rest.RESTClientObject(configuration) + self.default_headers = {} + if header_name is not None: + self.default_headers[header_name] = header_value + self.cookie = cookie + # Set default User-Agent. + self.user_agent = '{{#httpUserAgent}}{{{.}}}{{/httpUserAgent}}{{^httpUserAgent}}Swagger-Codegen/{{{packageVersion}}}/python{{/httpUserAgent}}' + self.client_side_validation = configuration.client_side_validation + + def __del__(self): + if self._pool is not None: + self._pool.close() + self._pool.join() + + @property + def pool(self): + if self._pool is None: + self._pool = ThreadPool() + return self._pool + + @property + def user_agent(self): + """User agent for this API client""" + return self.default_headers['User-Agent'] + + @user_agent.setter + def user_agent(self, value): + self.default_headers['User-Agent'] = value + + def set_default_header(self, header_name, header_value): + self.default_headers[header_name] = header_value + + {{#tornado}} + @tornado.gen.coroutine + {{/tornado}} + {{#asyncio}}async {{/asyncio}}def __call_api( + self, resource_path, method, path_params=None, + query_params=None, header_params=None, body=None, post_params=None, + files=None, response_type=None, auth_settings=None, + _return_http_data_only=None, collection_formats=None, + _preload_content=True, _request_timeout=None): + + config = self.configuration + + # header parameters + header_params = header_params or {} + header_params.update(self.default_headers) + if self.configuration.access_token: + header_params['x-amz-access-token'] = self.configuration.access_token + if self.cookie: + header_params['Cookie'] = self.cookie + if header_params: + header_params = self.sanitize_for_serialization(header_params) + header_params = dict(self.parameters_to_tuples(header_params, + collection_formats)) + + # path parameters + if path_params: + path_params = self.sanitize_for_serialization(path_params) + path_params = self.parameters_to_tuples(path_params, + collection_formats) + for k, v in path_params: + # specified safe chars, encode everything + resource_path = resource_path.replace( + '{%s}' % k, + quote(str(v), safe=config.safe_chars_for_path_param) + ) + + # query parameters + if query_params: + query_params = self.sanitize_for_serialization(query_params) + query_params = self.parameters_to_tuples(query_params, + collection_formats) + + # post parameters + if post_params or files: + post_params = self.prepare_post_parameters(post_params, files) + post_params = self.sanitize_for_serialization(post_params) + post_params = self.parameters_to_tuples(post_params, + collection_formats) + + # auth setting + self.update_params_for_auth(header_params, query_params, auth_settings) + + # body + if body: + body = self.sanitize_for_serialization(body) + + # request url + url = self.configuration.host + resource_path + + # perform request and return response + response_data = {{#asyncio}}await {{/asyncio}}{{#tornado}}yield {{/tornado}}self.request( + method, url, query_params=query_params, headers=header_params, + post_params=post_params, body=body, + _preload_content=_preload_content, + _request_timeout=_request_timeout) + + self.last_response = response_data + + return_data = response_data + if _preload_content: + # deserialize response data + if response_type: + return_data = self.deserialize(response_data, response_type) + else: + return_data = None + +{{^tornado}} + if _return_http_data_only: + return (return_data) + else: + return (return_data, response_data.status, + response_data.getheaders()) +{{/tornado}} +{{#tornado}} + if _return_http_data_only: + raise tornado.gen.Return(return_data) + else: + raise tornado.gen.Return((return_data, response_data.status, + response_data.getheaders())) +{{/tornado}} + + def sanitize_for_serialization(self, obj): + """Builds a JSON POST object. + + If obj is None, return None. + If obj is str, int, long, float, bool, return directly. + If obj is datetime.datetime, datetime.date + convert to string in iso8601 format. + If obj is list, sanitize each element in the list. + If obj is dict, return the dict. + If obj is swagger model, return the properties dict. + + :param obj: The data to serialize. + :return: The serialized form of data. + """ + if obj is None: + return None + elif isinstance(obj, self.PRIMITIVE_TYPES): + return obj + elif isinstance(obj, list): + return [self.sanitize_for_serialization(sub_obj) + for sub_obj in obj] + elif isinstance(obj, tuple): + return tuple(self.sanitize_for_serialization(sub_obj) + for sub_obj in obj) + elif isinstance(obj, (datetime.datetime, datetime.date)): + return obj.isoformat() + + if isinstance(obj, dict): + obj_dict = obj + else: + # Convert model obj to dict except + # attributes `swagger_types`, `attribute_map` + # and attributes which value is not None. + # Convert attribute name to json key in + # model definition for request. + obj_dict = {obj.attribute_map[attr]: getattr(obj, attr) + for attr, _ in six.iteritems(obj.swagger_types) + if getattr(obj, attr) is not None} + + return {key: self.sanitize_for_serialization(val) + for key, val in six.iteritems(obj_dict)} + + def deserialize(self, response, response_type): + """Deserializes response into an object. + + :param response: RESTResponse object to be deserialized. + :param response_type: class literal for + deserialized object, or string of class name. + + :return: deserialized object. + """ + # handle file downloading + # save response body into a tmp file and return the instance + if response_type == "file": + return self.__deserialize_file(response) + + # fetch data from response object + try: + data = json.loads(response.data) + except ValueError: + data = response.data + + return self.__deserialize(data, response_type) + + def __deserialize(self, data, klass): + """Deserializes dict, list, str into an object. + + :param data: dict, list or str. + :param klass: class literal, or string of class name. + + :return: object. + """ + if data is None: + return None + + if type(klass) == str: + if klass.startswith('list['): + sub_kls = re.match(r'list\[(.*)\]', klass).group(1) + return [self.__deserialize(sub_data, sub_kls) + for sub_data in data] + + if klass.startswith('dict('): + sub_kls = re.match(r'dict\(([^,]*), (.*)\)', klass).group(2) + return {k: self.__deserialize(v, sub_kls) + for k, v in six.iteritems(data)} + + # convert str to class + if klass in self.NATIVE_TYPES_MAPPING: + klass = self.NATIVE_TYPES_MAPPING[klass] + else: + klass = getattr({{modelPackage}}, klass) + + if klass in self.PRIMITIVE_TYPES: + return self.__deserialize_primitive(data, klass) + elif klass == object: + return self.__deserialize_object(data) + elif klass == datetime.date: + return self.__deserialize_date(data) + elif klass == datetime.datetime: + return self.__deserialize_datatime(data) + else: + return self.__deserialize_model(data, klass) + + def call_api(self, resource_path, method, + path_params=None, query_params=None, header_params=None, + body=None, post_params=None, files=None, + response_type=None, auth_settings=None, async_req=None, + _return_http_data_only=None, collection_formats=None, + _preload_content=True, _request_timeout=None): + """Makes the HTTP request (synchronous) and returns deserialized data. + + To make an async request, set the async_req parameter. + + :param resource_path: Path to method endpoint. + :param method: Method to call. + :param path_params: Path parameters in the url. + :param query_params: Query parameters in the url. + :param header_params: Header parameters to be + placed in the request header. + :param body: Request body. + :param post_params dict: Request post form parameters, + for `application/x-www-form-urlencoded`, `multipart/form-data`. + :param auth_settings list: Auth Settings names for the request. + :param response: Response data type. + :param files dict: key -> filename, value -> filepath, + for `multipart/form-data`. + :param async_req bool: execute request asynchronously + :param _return_http_data_only: response data without head status code + and headers + :param collection_formats: dict of collection formats for path, query, + header, and post parameters. + :param _preload_content: if False, the urllib3.HTTPResponse object will + be returned without reading/decoding response + data. Default is True. + :param _request_timeout: timeout setting for this request. If one + number provided, it will be total request + timeout. It can also be a pair (tuple) of + (connection, read) timeouts. + :return: + If async_req parameter is True, + the request will be called asynchronously. + The method will return the request thread. + If parameter async_req is False or missing, + then the method will return the response directly. + """ + if not async_req: + return self.__call_api(resource_path, method, + path_params, query_params, header_params, + body, post_params, files, + response_type, auth_settings, + _return_http_data_only, collection_formats, + _preload_content, _request_timeout) + else: + thread = self.pool.apply_async(self.__call_api, (resource_path, + method, path_params, query_params, + header_params, body, + post_params, files, + response_type, auth_settings, + _return_http_data_only, + collection_formats, + _preload_content, _request_timeout)) + return thread + + def request(self, method, url, query_params=None, headers=None, + post_params=None, body=None, _preload_content=True, + _request_timeout=None): + """Makes the HTTP request using RESTClient.""" + if method == "GET": + return self.rest_client.GET(url, + query_params=query_params, + _preload_content=_preload_content, + _request_timeout=_request_timeout, + headers=headers) + elif method == "HEAD": + return self.rest_client.HEAD(url, + query_params=query_params, + _preload_content=_preload_content, + _request_timeout=_request_timeout, + headers=headers) + elif method == "OPTIONS": + return self.rest_client.OPTIONS(url, + query_params=query_params, + headers=headers, + post_params=post_params, + _preload_content=_preload_content, + _request_timeout=_request_timeout, + body=body) + elif method == "POST": + return self.rest_client.POST(url, + query_params=query_params, + headers=headers, + post_params=post_params, + _preload_content=_preload_content, + _request_timeout=_request_timeout, + body=body) + elif method == "PUT": + return self.rest_client.PUT(url, + query_params=query_params, + headers=headers, + post_params=post_params, + _preload_content=_preload_content, + _request_timeout=_request_timeout, + body=body) + elif method == "PATCH": + return self.rest_client.PATCH(url, + query_params=query_params, + headers=headers, + post_params=post_params, + _preload_content=_preload_content, + _request_timeout=_request_timeout, + body=body) + elif method == "DELETE": + return self.rest_client.DELETE(url, + query_params=query_params, + headers=headers, + _preload_content=_preload_content, + _request_timeout=_request_timeout, + body=body) + else: + raise ValueError( + "http method must be `GET`, `HEAD`, `OPTIONS`," + " `POST`, `PATCH`, `PUT` or `DELETE`." + ) + + def parameters_to_tuples(self, params, collection_formats): + """Get parameters as list of tuples, formatting collections. + + :param params: Parameters as dict or list of two-tuples + :param dict collection_formats: Parameter collection formats + :return: Parameters as list of tuples, collections formatted + """ + new_params = [] + if collection_formats is None: + collection_formats = {} + for k, v in six.iteritems(params) if isinstance(params, dict) else params: # noqa: E501 + if k in collection_formats: + collection_format = collection_formats[k] + if collection_format == 'multi': + new_params.extend((k, value) for value in v) + else: + if collection_format == 'ssv': + delimiter = ' ' + elif collection_format == 'tsv': + delimiter = '\t' + elif collection_format == 'pipes': + delimiter = '|' + else: # csv is the default + delimiter = ',' + new_params.append( + (k, delimiter.join(str(value) for value in v))) + else: + new_params.append((k, v)) + return new_params + + def prepare_post_parameters(self, post_params=None, files=None): + """Builds form parameters. + + :param post_params: Normal form parameters. + :param files: File parameters. + :return: Form parameters with files. + """ + params = [] + + if post_params: + params = post_params + + if files: + for k, v in six.iteritems(files): + if not v: + continue + file_names = v if type(v) is list else [v] + for n in file_names: + with open(n, 'rb') as f: + filename = os.path.basename(f.name) + filedata = f.read() + mimetype = (mimetypes.guess_type(filename)[0] or + 'application/octet-stream') + params.append( + tuple([k, tuple([filename, filedata, mimetype])])) + + return params + + def select_header_accept(self, accepts): + """Returns `Accept` based on an array of accepts provided. + + :param accepts: List of headers. + :return: Accept (e.g. application/json). + """ + if not accepts: + return + + accepts = [x.lower() for x in accepts] + + if 'application/json' in accepts: + return 'application/json' + else: + return ', '.join(accepts) + + def select_header_content_type(self, content_types): + """Returns `Content-Type` based on an array of content_types provided. + + :param content_types: List of content-types. + :return: Content-Type (e.g. application/json). + """ + if not content_types: + return 'application/json' + + content_types = [x.lower() for x in content_types] + + if 'application/json' in content_types or '*/*' in content_types: + return 'application/json' + else: + return content_types[0] + + def update_params_for_auth(self, headers, querys, auth_settings): + """Updates header and query params based on authentication setting. + + :param headers: Header parameters dict to be updated. + :param querys: Query parameters tuple list to be updated. + :param auth_settings: Authentication setting identifiers list. + """ + if not auth_settings: + return + + for auth in auth_settings: + auth_setting = self.configuration.auth_settings().get(auth) + if auth_setting: + if not auth_setting['value']: + continue + elif auth_setting['in'] == 'header': + headers[auth_setting['key']] = auth_setting['value'] + elif auth_setting['in'] == 'query': + querys.append((auth_setting['key'], auth_setting['value'])) + else: + raise ValueError( + 'Authentication token must be in `query` or `header`' + ) + + def __deserialize_file(self, response): + """Deserializes body to file + + Saves response body into a file in a temporary folder, + using the filename from the `Content-Disposition` header if provided. + + :param response: RESTResponse. + :return: file path. + """ + fd, path = tempfile.mkstemp(dir=self.configuration.temp_folder_path) + os.close(fd) + os.remove(path) + + content_disposition = response.getheader("Content-Disposition") + if content_disposition: + filename = re.search(r'filename=[\'"]?([^\'"\s]+)[\'"]?', + content_disposition).group(1) + path = os.path.join(os.path.dirname(path), filename) + + with open(path, {{^writeBinary}}"w"{{/writeBinary}}{{#writeBinary}}"wb"{{/writeBinary}}) as f: + f.write(response.data) + + return path + + def __deserialize_primitive(self, data, klass): + """Deserializes string to primitive type. + + :param data: str. + :param klass: class literal. + + :return: int, long, float, str, bool. + """ + try: + return klass(data) + except UnicodeEncodeError: + return six.text_type(data) + except TypeError: + return data + + def __deserialize_object(self, value): + """Return a original value. + + :return: object. + """ + return value + + def __deserialize_date(self, string): + """Deserializes string to date. + + :param string: str. + :return: date. + """ + try: + from dateutil.parser import parse + return parse(string).date() + except ImportError: + return string + except ValueError: + raise rest.ApiException( + status=0, + reason="Failed to parse `{0}` as date object".format(string) + ) + + def __deserialize_datatime(self, string): + """Deserializes string to datetime. + + The string should be in iso8601 datetime format. + + :param string: str. + :return: datetime. + """ + try: + from dateutil.parser import parse + return parse(string) + except ImportError: + return string + except ValueError: + raise rest.ApiException( + status=0, + reason=( + "Failed to parse `{0}` as datetime object" + .format(string) + ) + ) + + def __hasattr(self, object, name): + return name in object.__class__.__dict__ + + def __deserialize_model(self, data, klass): + """Deserializes list or dict to model. + + :param data: dict, list. + :param klass: class literal. + :return: model object. + """ + + if (not klass.swagger_types and + not self.__hasattr(klass, 'get_real_child_model')): + return data + + kwargs = {} + if klass.swagger_types is not None: + for attr, attr_type in six.iteritems(klass.swagger_types): + if (data is not None and + klass.attribute_map[attr] in data and + isinstance(data, (list, dict))): + value = data[klass.attribute_map[attr]] + kwargs[attr] = self.__deserialize(value, attr_type) + + instance = klass(**kwargs) + + if (isinstance(instance, dict) and + klass.swagger_types is not None and + isinstance(data, dict)): + for key, value in data.items(): + if key not in klass.swagger_types: + instance[key] = value + if self.__hasattr(instance, 'get_real_child_model'): + klass_name = instance.get_real_child_model(data) + if klass_name: + instance = self.__deserialize(data, klass_name) + return instance \ No newline at end of file diff --git a/clients/sellingpartner-api-aa-python/resources/api_test.mustache b/clients/sellingpartner-api-aa-python/resources/api_test.mustache new file mode 100644 index 000000000..b71c8a4ea --- /dev/null +++ b/clients/sellingpartner-api-aa-python/resources/api_test.mustache @@ -0,0 +1,37 @@ +# coding: utf-8 + +{{>partial_header}} + +from __future__ import absolute_import + +import unittest + +import {{packageName}} +from {{apiPackage}}.{{classVarName}} import {{classname}} # noqa: E501 +from {{packageName}}.rest import ApiException + + +class {{#operations}}Test{{classname}}(unittest.TestCase): + """{{classname}} unit test stubs""" + + def setUp(self): + self.api = {{apiPackage}}.{{classVarName}}.{{classname}}() # noqa: E501 + + def tearDown(self): + pass + + {{#operation}} + def test_{{operationId}}(self): + """Test case for {{{operationId}}} + +{{#summary}} + {{{summary}}} # noqa: E501 +{{/summary}} + """ + pass + + {{/operation}} +{{/operations}} + +if __name__ == '__main__': + unittest.main() \ No newline at end of file diff --git a/clients/sellingpartner-api-aa-python/resources/configuration.mustache b/clients/sellingpartner-api-aa-python/resources/configuration.mustache new file mode 100644 index 000000000..9fa5239e8 --- /dev/null +++ b/clients/sellingpartner-api-aa-python/resources/configuration.mustache @@ -0,0 +1,271 @@ +# coding: utf-8 + +{{>partial_header}} + +from __future__ import absolute_import + +import copy +import logging +import multiprocessing +import sys +import urllib3 + +import six +from six.moves import http_client as httplib + + +class Configuration(object): + """NOTE: This class is auto generated by the swagger code generator program. + + Ref: https://github.com/swagger-api/swagger-codegen + Do not edit the class manually. + """ + + _default = None + + def __init__(self): + """Constructor""" + if self._default: + for key in self._default.__dict__.keys(): + self.__dict__[key] = copy.copy(self._default.__dict__[key]) + return + + # Default Base url + self.host = "{{{basePath}}}" + # Temp file folder for downloading files + self.temp_folder_path = None + + # Authentication Settings + # dict to store API key(s) + self.api_key = {} + # dict to store API prefix (e.g. Bearer) + self.api_key_prefix = {} + # function to refresh API key if expired + self.refresh_api_key_hook = None + # Username for HTTP basic authentication + self.username = "" + # Password for HTTP basic authentication + self.password = "" +{{#authMethods}}{{#isOAuth}} + # access token for OAuth + self.access_token = "" +{{/isOAuth}}{{/authMethods}} + # Logging Settings + self.logger = {} + self.logger["package_logger"] = logging.getLogger("{{packageName}}") + self.logger["urllib3_logger"] = logging.getLogger("urllib3") + # Log format + self.logger_format = '%(asctime)s %(levelname)s %(message)s' + # Log stream handler + self.logger_stream_handler = None + # Log file handler + self.logger_file_handler = None + # Debug file location + self.logger_file = None + # Debug switch + self.debug = False + + # SSL/TLS verification + # Set this to false to skip verifying SSL certificate when calling API + # from https server. + self.verify_ssl = True + # Set this to customize the certificate file to verify the peer. + self.ssl_ca_cert = None + # client certificate file + self.cert_file = None + # client key file + self.key_file = None + # Set this to True/False to enable/disable SSL hostname verification. + self.assert_hostname = None + + # urllib3 connection pool's maximum number of connections saved + # per pool. urllib3 uses 1 connection as default value, but this is + # not the best value when you are making a lot of possibly parallel + # requests to the same host, which is often the case here. + # cpu_count * 5 is used as default value to increase performance. + self.connection_pool_maxsize = multiprocessing.cpu_count() * 5 + + # Proxy URL + self.proxy = None + # Safe chars for path_param + self.safe_chars_for_path_param = '' + + # Disable client side validation + self.client_side_validation = True + + @classmethod + def set_default(cls, default): + cls._default = default + + @property + def logger_file(self): + """The logger file. + + If the logger_file is None, then add stream handler and remove file + handler. Otherwise, add file handler and remove stream handler. + + :param value: The logger_file path. + :type: str + """ + return self.__logger_file + + @logger_file.setter + def logger_file(self, value): + """The logger file. + + If the logger_file is None, then add stream handler and remove file + handler. Otherwise, add file handler and remove stream handler. + + :param value: The logger_file path. + :type: str + """ + self.__logger_file = value + if self.__logger_file: + # If set logging file, + # then add file handler and remove stream handler. + self.logger_file_handler = logging.FileHandler(self.__logger_file) + self.logger_file_handler.setFormatter(self.logger_formatter) + for _, logger in six.iteritems(self.logger): + logger.addHandler(self.logger_file_handler) + if self.logger_stream_handler: + logger.removeHandler(self.logger_stream_handler) + else: + # If not set logging file, + # then add stream handler and remove file handler. + self.logger_stream_handler = logging.StreamHandler() + self.logger_stream_handler.setFormatter(self.logger_formatter) + for _, logger in six.iteritems(self.logger): + logger.addHandler(self.logger_stream_handler) + if self.logger_file_handler: + logger.removeHandler(self.logger_file_handler) + + @property + def debug(self): + """Debug status + + :param value: The debug status, True or False. + :type: bool + """ + return self.__debug + + @debug.setter + def debug(self, value): + """Debug status + + :param value: The debug status, True or False. + :type: bool + """ + self.__debug = value + if self.__debug: + # if debug status is True, turn on debug logging + for _, logger in six.iteritems(self.logger): + logger.setLevel(logging.DEBUG) + # turn on httplib debug + httplib.HTTPConnection.debuglevel = 1 + else: + # if debug status is False, turn off debug logging, + # setting log level to default `logging.WARNING` + for _, logger in six.iteritems(self.logger): + logger.setLevel(logging.WARNING) + # turn off httplib debug + httplib.HTTPConnection.debuglevel = 0 + + @property + def logger_format(self): + """The logger format. + + The logger_formatter will be updated when sets logger_format. + + :param value: The format string. + :type: str + """ + return self.__logger_format + + @logger_format.setter + def logger_format(self, value): + """The logger format. + + The logger_formatter will be updated when sets logger_format. + + :param value: The format string. + :type: str + """ + self.__logger_format = value + self.logger_formatter = logging.Formatter(self.__logger_format) + + def get_api_key_with_prefix(self, identifier): + """Gets API key (with prefix if set). + + :param identifier: The identifier of apiKey. + :return: The token for api key authentication. + """ + + if self.refresh_api_key_hook: + self.refresh_api_key_hook(self) + + key = self.api_key.get(identifier) + if key: + prefix = self.api_key_prefix.get(identifier) + if prefix: + return "%s %s" % (prefix, key) + else: + return key + + def get_basic_auth_token(self): + """Gets HTTP basic authentication header (string). + + :return: The token for basic HTTP authentication. + """ + token = "" + if self.username or self.password: + token = urllib3.util.make_headers( + basic_auth=self.username + ':' + self.password + ).get('authorization') + return token + + def auth_settings(self): + """Gets Auth Settings dict for api client. + + :return: The Auth Settings information dict. + """ + return { +{{#authMethods}} +{{#isApiKey}} + '{{name}}': + { + 'type': 'api_key', + 'in': {{#isKeyInHeader}}'header'{{/isKeyInHeader}}{{#isKeyInQuery}}'query'{{/isKeyInQuery}}, + 'key': '{{keyParamName}}', + 'value': self.get_api_key_with_prefix('{{keyParamName}}') + }, +{{/isApiKey}} +{{#isBasic}} + '{{name}}': + { + 'type': 'basic', + 'in': 'header', + 'key': 'Authorization', + 'value': self.get_basic_auth_token() + }, +{{/isBasic}}{{#isOAuth}} + '{{name}}': + { + 'type': 'oauth2', + 'in': 'header', + 'key': 'Authorization', + 'value': 'Bearer ' + self.access_token + }, +{{/isOAuth}}{{/authMethods}} + } + + def to_debug_report(self): + """Gets the essential information for debugging. + + :return: The report for debugging. + """ + return "Python SDK Debug Report:\n"\ + "OS: {env}\n"\ + "Python Version: {pyversion}\n"\ + "Version of the API: {{version}}\n"\ + "SDK Package Version: {{packageVersion}}".\ + format(env=sys.platform, pyversion=sys.version) diff --git a/clients/sellingpartner-api-aa-python/spapi/spapiclient.py b/clients/sellingpartner-api-aa-python/spapi/spapiclient.py new file mode 100644 index 000000000..a23c56953 --- /dev/null +++ b/clients/sellingpartner-api-aa-python/spapi/spapiclient.py @@ -0,0 +1,63 @@ +import os +import sys +import logging +import backoff +from requests.exceptions import HTTPError + +#Update Path +sys.path.append('path_to_folder/SellingPartnerAPIAuthAndAuthPython/client/orders') +from swagger_client.configuration import Configuration +from swagger_client.api_client import ApiClient + +#Update Path +sys.path.append('path_to_folder/SellingPartnerAPIAuthAndAuthPython') +from auth.LwaRequest import AccessTokenCache + +logging.basicConfig(level=logging.INFO) + +def is_rate_limit_error(e): + """Check if the exception is a rate limit error (HTTP 429).""" + return isinstance(e, HTTPError) and e.response.status_code == 429 + +class SPAPIClient: + region_to_endpoint = { + "NA": "https://sellingpartnerapi-na.amazon.com", + "EU": "https://sellingpartnerapi-eu.amazon.com", + "FE": "https://sellingpartnerapi-fe.amazon.com", + "SANDBOX": "https://sandbox.sellingpartnerapi-na.amazon.com" + } + + def __init__(self, config): + self.config = config + self.api_base_url = self.region_to_endpoint.get(config.region) + self.access_token_cache = AccessTokenCache() + self.api_client = None + self._initialize_client() + + def _initialize_client(self): + logging.debug("Initializing API Client...") + + access_token = self.access_token_cache.get_lwa_access_token( + client_id=self.config.client_id, + client_secret=self.config.client_secret, + refresh_token=self.config.refresh_token + ) + configuration = Configuration() + configuration.host = self.api_base_url + configuration.access_token = access_token + + self.api_client = ApiClient(configuration=configuration) + + @backoff.on_exception(backoff.expo, + HTTPError, + giveup=is_rate_limit_error, + max_tries=5, + on_giveup=lambda e: logging.error(f"Too Many Retries: {e}")) + + def get_api_client(self, api_name): + try: + module = __import__('swagger_client.api', fromlist=[api_name]) + api_class = getattr(module, api_name) + return api_class(self.api_client) + except AttributeError: + raise Exception(f"API client for {api_name} not found.") \ No newline at end of file diff --git a/clients/sellingpartner-api-aa-python/test.py b/clients/sellingpartner-api-aa-python/test.py new file mode 100644 index 000000000..2d2feb690 --- /dev/null +++ b/clients/sellingpartner-api-aa-python/test.py @@ -0,0 +1,27 @@ +if __name__ == "__main__": + print("Starting the Script...") + + from auth.credentials import SPAPIConfig + # User inputs their credentials in the config + config = SPAPIConfig( + client_id="Your Client-id", + client_secret="Your Client-secret", + refresh_token="Your Refresh-token", + region="SANDBOX", # Possible values NA, EU, FE, and SANDBOX + scope = None # Required for grant_type='client_credentials' ; Possible values "sellingpartnerapi::notifications" and "sellingpartnerapi::migration" + ) + + from spapi.spapiclient import SPAPIClient + + # Create the API Client + print("Config and client initialized...") + api_client = SPAPIClient(config) + + marketplace_ids = ["ATVPDKIKX0DER"] + created_after = "2024-01-19T12:34:56.789012" + + orders_api = api_client.get_api_client('OrdersV0Api') + orders_response = orders_api.get_orders(marketplace_ids=marketplace_ids, created_after=created_after) + print("Orders API Response:") + print(orders_response) + diff --git a/clients/sellingpartner-api-aa-python/test_lwaexception.py b/clients/sellingpartner-api-aa-python/test_lwaexception.py new file mode 100644 index 000000000..2e1c83ff9 --- /dev/null +++ b/clients/sellingpartner-api-aa-python/test_lwaexception.py @@ -0,0 +1,13 @@ +import unittest +from auth.LwaException import LwaException + +class TestLwaException(unittest.TestCase): + + def test_exception_creation(self): + error = LwaException("invalid_client", "Invalid client ID") + self.assertEqual(str(error), "LWA Error - Code: invalid_client, Message: Invalid client ID") + +# Add more test cases as needed + +if __name__ == '__main__': + unittest.main() diff --git a/clients/sellingpartner-api-aa-python/test_lwarequest.py b/clients/sellingpartner-api-aa-python/test_lwarequest.py new file mode 100644 index 000000000..ab47ce32e --- /dev/null +++ b/clients/sellingpartner-api-aa-python/test_lwarequest.py @@ -0,0 +1,32 @@ +import unittest +from unittest.mock import patch +from auth.LwaRequest import AccessTokenCache +from auth.LwaException import LwaException + +class TestAccessTokenCache(unittest.TestCase): + + @patch('auth.LwaRequest.requests.post') + def test_token_retrieval_success(self, mock_post): + # Mock a successful token response + mock_response = mock_post.return_value + mock_response.raise_for_status.side_effect = None + mock_response.json.return_value = {"access_token": "test_token", "expires_in": 3600} + + token_cache = AccessTokenCache() + token = token_cache.get_lwa_access_token("client_id", "client_secret", "refresh_token") + + self.assertEqual(token, "test_token") + + @patch('auth.LwaRequest.requests.post') + def test_token_retrieval_failure(self, mock_post): + # Mock a failing token response + mock_post.side_effect = Exception("Network error") + + token_cache = AccessTokenCache() + with self.assertRaises(LwaException): + token_cache.get_lwa_access_token("client_id", "client_secret", "refresh_token") + +# Add more test cases as needed + +if __name__ == '__main__': + unittest.main() From 3879e134659d9d151d59ce93dfebb39892cff4a0 Mon Sep 17 00:00:00 2001 From: Jack Evoniuk Date: Tue, 5 Mar 2024 14:54:08 -0800 Subject: [PATCH 043/340] Update analytics_salesAndTraffic_2023_11_15 --- ...alytics_salesAndTraffic_2023_11_15.graphql | 413 +++++++----------- 1 file changed, 147 insertions(+), 266 deletions(-) diff --git a/schemas/data-kiosk/analytics_salesAndTraffic_2023_11_15.graphql b/schemas/data-kiosk/analytics_salesAndTraffic_2023_11_15.graphql index 9ecb45e55..4347e7a4b 100644 --- a/schemas/data-kiosk/analytics_salesAndTraffic_2023_11_15.graphql +++ b/schemas/data-kiosk/analytics_salesAndTraffic_2023_11_15.graphql @@ -1,3 +1,7 @@ +schema { + query: Query +} + """ This directive specifies the retention duration of a query containing a particular field. When a query contains multiple fields with different @@ -5,44 +9,36 @@ retentions, the shortest (minimum) retention is applied to the query. The retention of a query's resulting documents always matches the retention of the query. """ directive @resultRetention( - """An ISO 8601 duration.""" + "An ISO 8601 duration." duration: String! ) on FIELD_DEFINITION -"""Monetary amount with the corresponding currency code.""" +"Monetary amount with the corresponding currency code." type Amount { - """The amount.""" + "The amount." amount: Float! - - """Currency code of the amount in ISO 4217 format.""" + "Currency code of the amount in ISO 4217 format." currencyCode: String! } -""" -A root type for Analytics Sales and Traffic queries version 2023_11_15. -""" +"A root type for Analytics Sales and Traffic queries version 2023_11_15." type Analytics_SalesAndTraffic_2023_11_15 { - """ - A query to retrieve sales and traffic data for the seller's account aggregated by ASIN. - """ + "A query to retrieve sales and traffic data for the seller's account aggregated by ASIN." salesAndTrafficByAsin( - """Determines how the sales and traffic data should be aggregated.""" - aggregateBy: AsinGranularity! - + "Determines how the sales and traffic data should be aggregated." + aggregateBy: AsinGranularity!, """ The end date of the sales and traffic data to retrieve. If a date granularity is specified and the provided end date occurs mid-week or mid-month, the preceding Saturday for WEEK date granularity or the last day of the previous month for MONTH date granularity will be used instead. """ - endDate: Date! - + endDate: Date!, """ The marketplace identifiers to retrieve sales and traffic data for. If omitted, sales and traffic data for all applicable marketplaces will be retrieved. """ - marketplaceIds: [String] - + marketplaceIds: [String], """ The start date of the sales and traffic data to retrieve. The start date must be no more than two years ago. If a date granularity is specified and @@ -52,28 +48,22 @@ type Analytics_SalesAndTraffic_2023_11_15 { """ startDate: Date! ): [SalesAndTrafficByAsin] - - """ - A query to retrieve sales and traffic data for the seller's account aggregated by date. - """ + "A query to retrieve sales and traffic data for the seller's account aggregated by date." salesAndTrafficByDate( - """Determines how the sales and traffic data should be aggregated.""" - aggregateBy: DateGranularity! - + "Determines how the sales and traffic data should be aggregated." + aggregateBy: DateGranularity!, """ The end date of the sales and traffic data to retrieve. If the provided end date occurs mid-week or mid-month, the preceding Saturday for WEEK date granularity or the last day of the previous month for MONTH date granularity will be used instead. """ - endDate: Date! - + endDate: Date!, """ The marketplace identifiers to retrieve sales and traffic data for. If omitted, sales and traffic data for all applicable marketplaces will be retrieved. """ - marketplaceIds: [String] - + marketplaceIds: [String], """ The start date of the sales and traffic data to retrieve. The start date must be no more than two years ago. If the provided start date occurs @@ -84,90 +74,76 @@ type Analytics_SalesAndTraffic_2023_11_15 { ): [SalesAndTrafficByDate] } -"""The sales data for the seller's account aggregated by ASIN.""" +"The sales data for the seller's account aggregated by ASIN." type ByAsinSales { """ The amount of ordered product sales, calculated by multiplying the price of products and the number of units sold for the selected time period. """ - orderedProductSales: Amount! - + orderedProductSales: Amount! @resultRetention(duration : "P30D") """ The amount of ordered product sales to Amazon Business customers, calculated by multiplying the price of products and the number of units sold for the selected time period. Note: This field is only populated when the seller is a B2B seller. """ - orderedProductSalesB2B: Amount - - """The number of items that were ordered for the selected time period.""" - totalOrderItems: Long! - + orderedProductSalesB2B: Amount @resultRetention(duration : "P30D") + "The number of items that were ordered for the selected time period." + totalOrderItems: Long! @resultRetention(duration : "P30D") """ The number of items that were ordered by Amazon Business customers for the selected time period. Note: This field is only populated when the seller is a B2B seller. """ - totalOrderItemsB2B: Long - - """The number of units ordered.""" - unitsOrdered: Long! - + totalOrderItemsB2B: Long @resultRetention(duration : "P30D") + "The number of units ordered." + unitsOrdered: Long! @resultRetention(duration : "P30D") """ The number of units ordered by Amazon Business customers. Note: This field is only populated when the seller is a B2B seller. """ - unitsOrderedB2B: Long + unitsOrderedB2B: Long @resultRetention(duration : "P30D") } -"""The traffic data for the seller's account aggregated by ASIN.""" +"The traffic data for the seller's account aggregated by ASIN." type ByAsinTraffic { - """ - Browser page views are the number of times a user visited your Amazon.com browser pages for the selected time period. - """ - browserPageViews: Long! - + "Browser page views are the number of times a user visited your Amazon.com browser pages for the selected time period." + browserPageViews: Long! @resultRetention(duration : "P30D") """ Browser B2B page views are the number of times an Amazon Business customer visited your Amazon.com browser pages for the selected time period. Note: This field is only populated when the seller is a B2B seller. """ - browserPageViewsB2B: Long - + browserPageViewsB2B: Long @resultRetention(duration : "P30D") """ The percentage of browser page views that a particular SKU/ASIN receives relative to the total number of browser page views for all products. """ - browserPageViewsPercentage: Float! - + browserPageViewsPercentage: Float! @resultRetention(duration : "P30D") """ The percentage of browser views by Amazon Business customers that a particular SKU/ASIN receives relative to the total number of mobile page views by Amazon Business customers for all products. Note: This field is only populated when the seller is a B2B seller. """ - browserPageViewsPercentageB2B: Float - + browserPageViewsPercentageB2B: Float @resultRetention(duration : "P30D") """ The percentage of browser sessions that contain at least one page view for a particular SKU/ASIN relative to the total number of browser sessions for all products. """ - browserSessionPercentage: Float! - + browserSessionPercentage: Float! @resultRetention(duration : "P30D") """ The percentage of browser sessions that contain at least one page view by an Amazon Business customer for a particular SKU/ASIN relative to the total number of browser sessions by Amazon Business customers for all products. Note: This field is only populated when the seller is a B2B seller. """ - browserSessionPercentageB2B: Float - + browserSessionPercentageB2B: Float @resultRetention(duration : "P30D") """ Browser sessions are visits to your Amazon.com browser pages by a user. All browser activity within a 24-hour period is considered a browser session. For example, if a user visits your pages using a browser multiple times within a 24 hour period it is counted as a single browser session. """ - browserSessions: Long! - + browserSessions: Long! @resultRetention(duration : "P30D") """ Browser B2B sessions are visits to your Amazon.com browser pages by an Amazon Business customer. All activity within a 24-hour period is considered a @@ -175,70 +151,60 @@ type ByAsinTraffic { using browser multiple times within a 24 hour period it is counted as a single session. Note: This field is only populated when the seller is a B2B seller. """ - browserSessionsB2B: Long - + browserSessionsB2B: Long @resultRetention(duration : "P30D") """ The percentage of page views where the buy box (the add to shopping cart link) appeared on the page for customers to add your product to their cart. """ - buyBoxPercentage: Float! - + buyBoxPercentage: Float! @resultRetention(duration : "P30D") """ The percentage of page views by Amazon Business customers where the buy box (the add to shopping cart link) appeared on the page for customers to add your product to their cart. Note: This field is only populated when the seller is a B2B seller. """ - buyBoxPercentageB2B: Float - + buyBoxPercentageB2B: Float @resultRetention(duration : "P30D") """ Mobile app page views are the number of times a user visited your Amazon.com mobile app pages for the selected time period. """ - mobileAppPageViews: Long! - + mobileAppPageViews: Long! @resultRetention(duration : "P30D") """ Mobile app B2B page views are the number of times an Amazon Business customer visited your Amazon.com mobile app pages for the selected time period. Note: This field is only populated when the seller is a B2B seller. """ - mobileAppPageViewsB2B: Long - + mobileAppPageViewsB2B: Long @resultRetention(duration : "P30D") """ The percentage of mobile app page views that a particular SKU/ASIN receives relative to the total number of mobile app page views for all products. """ - mobileAppPageViewsPercentage: Float! - + mobileAppPageViewsPercentage: Float! @resultRetention(duration : "P30D") """ The percentage of mobile page views by Amazon Business customers that a particular SKU/ASIN receives relative to the total number of mobile page views by Amazon Business customers for all products. Note: This field is only populated when the seller is a B2B seller. """ - mobileAppPageViewsPercentageB2B: Float - + mobileAppPageViewsPercentageB2B: Float @resultRetention(duration : "P30D") """ The percentage of mobile app sessions that contain at least one page view for a particular SKU/ASIN relative to the total number of mobile app sessions for all products. """ - mobileAppSessionPercentage: Float! - + mobileAppSessionPercentage: Float! @resultRetention(duration : "P30D") """ The percentage of mobile app sessions that contain at least one page view by an Amazon Business customer for a particular SKU/ASIN relative to the total number of mobile app sessions by Amazon Business customers for all products. Note: This field is only populated when the seller is a B2B seller. """ - mobileAppSessionPercentageB2B: Float - + mobileAppSessionPercentageB2B: Float @resultRetention(duration : "P30D") """ Mobile app sessions are visits to your Amazon.com mobile app pages by a user. All mobile app activity within a 24-hour period is considered a mobile app session. For example, if a user visits your pages using a mobile app multiple times within a 24 hour period it is counted as a single mobile app session. """ - mobileAppSessions: Long! - + mobileAppSessions: Long! @resultRetention(duration : "P30D") """ Mobile app B2B sessions are visits to your Amazon.com mobile app pages by an Amazon Business customer. All activity within a 24-hour period is considered a @@ -246,57 +212,49 @@ type ByAsinTraffic { pages using mobile app multiple times within a 24 hour period it is counted as a single session. Note: This field is only populated when the seller is a B2B seller. """ - mobileAppSessionsB2B: Long - + mobileAppSessionsB2B: Long @resultRetention(duration : "P30D") """ Page views are the number of times a user visited your Amazon.com browser or mobile app pages for the selected time period. It is calculated as the sum of browserPageViews and mobileAppPageViews. """ - pageViews: Long! - + pageViews: Long! @resultRetention(duration : "P30D") """ B2B page views are the number of times an Amazon Business customer visited your Amazon.com pages using browser or mobile app for the selected time period. Note: This field is only populated when the seller is a B2B seller. """ - pageViewsB2B: Long - + pageViewsB2B: Long @resultRetention(duration : "P30D") """ The percentage of browser and mobile app page views that a particular SKU/ASIN receives relative to the total number of browser and mobile app page views for all products. """ - pageViewsPercentage: Float! - + pageViewsPercentage: Float! @resultRetention(duration : "P30D") """ The percentage of page views by Amazon Business customers that a particular SKU/ASIN receives relative to the total number of page views by Amazon Business customers for all products. Note: This field is only populated when the seller is a B2B seller. """ - pageViewsPercentageB2B: Float - + pageViewsPercentageB2B: Float @resultRetention(duration : "P30D") """ The percentage of sessions that contain at least one page view for a particular SKU/ASIN relative to the total number of sessions for all products. """ - sessionPercentage: Float! - + sessionPercentage: Float! @resultRetention(duration : "P30D") """ The percentage of sessions that contain at least one page view by an Amazon Business customer for a particular SKU/ASIN relative to the total number of sessions by Amazon Business customers for all products. Note: This field is only populated when the seller is a B2B seller. """ - sessionPercentageB2B: Float - + sessionPercentageB2B: Float @resultRetention(duration : "P30D") """ Sessions are visits to your Amazon.com browser or mobile app pages by a user. All browser and mobile app activity within a 24-hour period is considered a session. It is calculated as the sum of browserSessions and mobileAppSessions. """ - sessions: Long! - + sessions: Long! @resultRetention(duration : "P30D") """ B2B sessions are visits to your Amazon.com pages using browser or mobile app by an Amazon Business customer. All activity within a 24-hour period is @@ -305,171 +263,138 @@ type ByAsinTraffic { counted as a single session. Note: This field is only populated when the seller is a B2B seller. """ - sessionsB2B: Long - + sessionsB2B: Long @resultRetention(duration : "P30D") """ The percentage conversion metric indicating how many units were purchased relative to the number of people who viewed the products, calculated by dividing unitsOrdered by sessions. """ - unitSessionPercentage: Float! - + unitSessionPercentage: Float! @resultRetention(duration : "P30D") """ The percentage conversion metric indicating how many units were purchased by Amazon Business customers relative to the number of Amazon Business customers who viewed the products, calculated by dividing unitsOrderedB2B by sessions. Note: This field is only populated when the seller is a B2B seller. """ - unitSessionPercentageB2B: Float + unitSessionPercentageB2B: Float @resultRetention(duration : "P30D") } -"""The sales data for the seller's account aggregated by date.""" +"The sales data for the seller's account aggregated by date." type ByDateSales { """ The average ordered product sales, calculated by dividing orderedProductSales by totalOrderItems for the selected time period. """ - averageSalesPerOrderItem: Amount! - + averageSalesPerOrderItem: Amount! @resultRetention(duration : "P30D") """ The average ordered product sales to Amazon Business customers, calculated by dividing orderedProductSalesB2B by totalOrderItemsB2B for the selected time period. Note: This field is only populated when the seller is a B2B seller. """ - averageSalesPerOrderItemB2B: Amount - + averageSalesPerOrderItemB2B: Amount @resultRetention(duration : "P30D") """ The average price of the units sold in the selected time period, calculated by dividing the orderedProductSales by unitsOrdered for the selected time period. """ - averageSellingPrice: Amount! - + averageSellingPrice: Amount! @resultRetention(duration : "P30D") """ The average price of the units sold to Amazon Business customers, calculated by dividing the orderedProductSalesB2B by unitsOrderedB2B for the selected time period. Note: This field is only populated when the seller is a B2B seller. """ - averageSellingPriceB2B: Amount - - """ - The average number of units in each order item for the selected time period. - """ - averageUnitsPerOrderItem: Float! - + averageSellingPriceB2B: Amount @resultRetention(duration : "P30D") + "The average number of units in each order item for the selected time period." + averageUnitsPerOrderItem: Float! @resultRetention(duration : "P30D") """ The average number of units in each order item ordered by Amazon Business customers for the selected time period. Note: This field is only populated when the seller is a B2B seller. """ - averageUnitsPerOrderItemB2B: Float - - """Monetary amount of filed A-to-z guarantee claims.""" - claimsAmount: Amount! - - """The number of A-to-z guarantee claims granted.""" - claimsGranted: Long! - + averageUnitsPerOrderItemB2B: Float @resultRetention(duration : "P30D") + "Monetary amount of filed A-to-z guarantee claims." + claimsAmount: Amount! @resultRetention(duration : "P30D") + "The number of A-to-z guarantee claims granted." + claimsGranted: Long! @resultRetention(duration : "P30D") """ The amount of ordered product sales, calculated by multiplying the price of products and the number of units sold for the selected time period. """ - orderedProductSales: Amount! - + orderedProductSales: Amount! @resultRetention(duration : "P30D") """ The amount of ordered product sales to Amazon Business customers, calculated by multiplying the price of products and the number of units sold for the selected time period. """ - orderedProductSalesB2B: Amount - - """The number of orders shipped in the selected time period.""" - ordersShipped: Long! - + orderedProductSalesB2B: Amount @resultRetention(duration : "P30D") + "The number of orders shipped in the selected time period." + ordersShipped: Long! @resultRetention(duration : "P30D") """ The percentage conversion metric indicating how many orders were refunded by the seller, calculated by dividing unitsOrdered by unitsRefunded in the selected time period. """ - refundRate: Float! - - """ - The amount of ordered product sales shipped for the selected time period. - """ - shippedProductSales: Amount! - + refundRate: Float! @resultRetention(duration : "P30D") + "The amount of ordered product sales shipped for the selected time period." + shippedProductSales: Amount! @resultRetention(duration : "P30D") """ The number of items that were ordered for the selected time period. Example: For an order containing 2 copies of book A and 3 copies of book B, the number of orders is 1, the number of order items is 2 (book A and book B), and the number of units is 5 (2 + 3). """ - totalOrderItems: Long! - + totalOrderItems: Long! @resultRetention(duration : "P30D") """ The number of items that were ordered by Amazon Business customers for the selected time period. Example: For an order containing 2 copies of book A and 3 copies of book B, the number of orders is 1, the number of order items is 2 (book A and book B), and the number of units is 5 (2 + 3). """ - totalOrderItemsB2B: Long - + totalOrderItemsB2B: Long @resultRetention(duration : "P30D") """ The number of units ordered for the selected time period. Example: For an order containing 2 copies of book A and 3 copies of book B, the number of orders is 1, the number of order items is 2 (book A and book B), and the number of units is 5 (2 + 3). """ - unitsOrdered: Long! - + unitsOrdered: Long! @resultRetention(duration : "P30D") """ The number of units ordered by Amazon Business customers for the selected time period. Example: For an order containing 2 copies of book A and 3 copies of book B, the number of orders is 1, the number of order items is 2 (book A and book B), and the number of units is 5 (2 + 3). """ - unitsOrderedB2B: Long - - """The number of units refunded in the selected time period.""" - unitsRefunded: Long! - - """The number of units shipped in the selected time period.""" - unitsShipped: Long! + unitsOrderedB2B: Long @resultRetention(duration : "P30D") + "The number of units refunded in the selected time period." + unitsRefunded: Long! @resultRetention(duration : "P30D") + "The number of units shipped in the selected time period." + unitsShipped: Long! @resultRetention(duration : "P30D") } -"""The traffic data for the seller's account aggregated by date.""" +"The traffic data for the seller's account aggregated by date." type ByDateTraffic { """ The average number of offers listed for sale in the selected time period. It is calculated from the total number of offers and the total number of days in the selected time period. """ - averageOfferCount: Long! - - """ - The average number of parent items listed for sale in the selected time period. - """ - averageParentItems: Long! - - """ - Browser page views are the number of times a user visited your Amazon.com browser pages for the selected time period. - """ - browserPageViews: Long! - + averageOfferCount: Long! @resultRetention(duration : "P30D") + "The average number of parent items listed for sale in the selected time period." + averageParentItems: Long! @resultRetention(duration : "P30D") + "Browser page views are the number of times a user visited your Amazon.com browser pages for the selected time period." + browserPageViews: Long! @resultRetention(duration : "P30D") """ Browser B2B page views are the number of times an Amazon Business customer visited your Amazon.com browser pages for the selected time period. Note: This field is only populated when the seller is a B2B seller. """ - browserPageViewsB2B: Long - + browserPageViewsB2B: Long @resultRetention(duration : "P30D") """ Browser sessions are visits to your Amazon.com browser pages by a user. All browser activity within a 24-hour period is considered a browser session. For example, if a user visits your pages using a browser multiple times within a 24 hour period it is counted as a single browser session. """ - browserSessions: Long! - + browserSessions: Long! @resultRetention(duration : "P30D") """ Browser B2B sessions are visits to your Amazon.com browser pages by an Amazon Business customer. All activity within a 24-hour period is considered a @@ -477,47 +402,38 @@ type ByDateTraffic { using browser multiple times within a 24 hour period it is counted as a single session. Note: This field is only populated when the seller is a B2B seller. """ - browserSessionsB2B: Long - + browserSessionsB2B: Long @resultRetention(duration : "P30D") """ The percentage of page views where the buy box (the add to shopping cart link) appeared on the page for customers to add your product to their cart. """ - buyBoxPercentage: Float! - + buyBoxPercentage: Float! @resultRetention(duration : "P30D") """ The percentage of page views by Amazon Business customers where the buy box (the add to shopping cart link) appeared on the page for customers to add your product to their cart. Note: This field is only populated when the seller is a B2B seller. """ - buyBoxPercentageB2B: Float - - """ - The number of times customers left feedback in the selected time period. - """ - feedbackReceived: Long! - + buyBoxPercentageB2B: Float @resultRetention(duration : "P30D") + "The number of times customers left feedback in the selected time period." + feedbackReceived: Long! @resultRetention(duration : "P30D") """ Mobile app page views are the number of times a user visited your Amazon.com mobile app pages for the selected time period. """ - mobileAppPageViews: Long! - + mobileAppPageViews: Long! @resultRetention(duration : "P30D") """ Mobile app B2B page views are the number of times an Amazon Business customer visited your Amazon.com mobile app pages for the selected time period. Note: This field is only populated when the seller is a B2B seller. """ - mobileAppPageViewsB2B: Long - + mobileAppPageViewsB2B: Long @resultRetention(duration : "P30D") """ Mobile app sessions are visits to your Amazon.com mobile app pages by a user. All mobile app activity within a 24-hour period is considered a mobile app session. For example, if a user visits your pages using a mobile app multiple times within a 24 hour period it is counted as a single mobile app session. """ - mobileAppSessions: Long! - + mobileAppSessions: Long! @resultRetention(duration : "P30D") """ Mobile app B2B sessions are visits to your Amazon.com mobile app pages by an Amazon Business customer. All activity within a 24-hour period is considered a @@ -525,54 +441,44 @@ type ByDateTraffic { pages using mobile app multiple times within a 24 hour period it is counted as a single session. Note: This field is only populated when the seller is a B2B seller. """ - mobileAppSessionsB2B: Long - - """ - The number of times customers left negative feedback in the selected time period. - """ - negativeFeedbackReceived: Long! - + mobileAppSessionsB2B: Long @resultRetention(duration : "P30D") + "The number of times customers left negative feedback in the selected time period." + negativeFeedbackReceived: Long! @resultRetention(duration : "P30D") """ The percentage conversion metric indicating how many order items were generated relative to the number of people who viewed the products. """ - orderItemSessionPercentage: Float! - + orderItemSessionPercentage: Float! @resultRetention(duration : "P30D") """ The percentage conversion metric indicating how many order items were generated by Amazon Business customers relative to the number of Amazon Business customers who viewed the products. Note: This field is only populated when the seller is a B2B seller. """ - orderItemSessionPercentageB2B: Float - + orderItemSessionPercentageB2B: Float @resultRetention(duration : "P30D") """ Page views are the number of times a user visited your Amazon.com browser or mobile app pages for the selected time period. It is calculated as the sum of browserPageViews and mobileAppPageViews. """ - pageViews: Long! - + pageViews: Long! @resultRetention(duration : "P30D") """ B2B page views are the number of times an Amazon Business customer visited your Amazon.com pages using browser or mobile app for the selected time period. Note: This field is only populated when the seller is a B2B seller. """ - pageViewsB2B: Long - + pageViewsB2B: Long @resultRetention(duration : "P30D") """ The negative feedback rate is the number of orders that have received negative feedback divided by the number of orders in the selected time period. """ - receivedNegativeFeedbackRate: Float! - + receivedNegativeFeedbackRate: Float! @resultRetention(duration : "P30D") """ Sessions are visits to your Amazon.com browser or mobile app pages by a user. All browser and mobile app activity within a 24-hour period is considered a session. It is calculated as the sum of browserSessions and mobileAppSessions. """ - sessions: Long! - + sessions: Long! @resultRetention(duration : "P30D") """ B2B sessions are visits to your Amazon.com pages using browser or mobile app by an Amazon Business customer. All activity within a 24-hour period is @@ -581,31 +487,27 @@ type ByDateTraffic { counted as a single session. Note: This field is only populated when the seller is a B2B seller. """ - sessionsB2B: Long - + sessionsB2B: Long @resultRetention(duration : "P30D") """ The percentage conversion metric indicating how many units were purchased relative to the number of people who viewed the products. """ - unitSessionPercentage: Float! - + unitSessionPercentage: Float! @resultRetention(duration : "P30D") """ The percentage conversion metric indicating how many units were purchased by Amazon Business customers relative to number of Amazon Business customers who viewed the products. Note: This field is only populated when the seller is a B2B seller. """ - unitSessionPercentageB2B: Float + unitSessionPercentageB2B: Float @resultRetention(duration : "P30D") } -"""A root type for queries""" +"A root type for queries" type Query { - """Analytics Sales and Traffic queries version 2023_11_15.""" + "Analytics Sales and Traffic queries version 2023_11_15." analytics_salesAndTraffic_2023_11_15: Analytics_SalesAndTraffic_2023_11_15 } -""" -The sales and traffic data for the seller's account aggregated by ASIN. -""" +"The sales and traffic data for the seller's account aggregated by ASIN." type SalesAndTrafficByAsin { """ The Amazon Standard Identification Number of the child product. Child products @@ -613,87 +515,66 @@ type SalesAndTrafficByAsin { non-sellable parent product. Note: This field is only present when ASIN aggregation is CHILD or SKU. """ - childAsin: String - - """The end date of the period of the aggregated data.""" - endDate: Date! - - """The marketplace identifier of the sales and traffic data.""" - marketplaceId: String! - + childAsin: String @resultRetention(duration : "P30D") + "The end date of the period of the aggregated data." + endDate: Date! @resultRetention(duration : "P30D") + "The marketplace identifier of the sales and traffic data." + marketplaceId: String! @resultRetention(duration : "P30D") """ The Amazon Standard Identification Number of the parent product. A parent product appears in our catalog as a non-buyable, generic identifier for a product that has buyable variations (child products). """ - parentAsin: String! - - """ - The sales data for the parentAsin/childAsin/sku within the specified date range. - """ + parentAsin: String! @resultRetention(duration : "P30D") + "The sales data for the parentAsin/childAsin/sku within the specified date range." sales: ByAsinSales! - """ The Stock Keeping Unit of the product. The SKU is a seller specific product identifier. Note: This field is only present when ASIN aggregation is SKU. """ - sku: String - - """The start date of the period of the aggregated data.""" - startDate: Date! - - """ - The traffic data for the parentAsin/childAsin/sku within the specified date range. - """ + sku: String @resultRetention(duration : "P30D") + "The start date of the period of the aggregated data." + startDate: Date! @resultRetention(duration : "P30D") + "The traffic data for the parentAsin/childAsin/sku within the specified date range." traffic: ByAsinTraffic! } -""" -The sales and traffic data for the seller's account aggregated by date. -""" +"The sales and traffic data for the seller's account aggregated by date." type SalesAndTrafficByDate { - """The end date of the sales and traffic data.""" - endDate: Date! - - """The marketplace identifier of the sales and traffic data.""" - marketplaceId: String! - - """The sales data for the seller's account.""" + "The end date of the sales and traffic data." + endDate: Date! @resultRetention(duration : "P30D") + "The marketplace identifier of the sales and traffic data." + marketplaceId: String! @resultRetention(duration : "P30D") + "The sales data for the seller's account." sales: ByDateSales! - - """The start date of the sales and traffic data.""" - startDate: Date! - - """The traffic data for the seller's account.""" + "The start date of the sales and traffic data." + startDate: Date! @resultRetention(duration : "P30D") + "The traffic data for the seller's account." traffic: ByDateTraffic! } -"""The ASIN granularity used in aggregation.""" +"The ASIN granularity used in aggregation." enum AsinGranularity { - """Sales and traffic data is aggregated by child ASIN.""" + "Sales and traffic data is aggregated by child ASIN." CHILD - - """Sales and traffic data is aggregated by parent ASIN.""" + "Sales and traffic data is aggregated by parent ASIN." PARENT - - """Sales and traffic data is aggregated by sku.""" + "Sales and traffic data is aggregated by sku." SKU } -"""The date granularity used in aggregation.""" +"The date granularity used in aggregation." enum DateGranularity { - """Sales and traffic data is aggregated by day.""" + "Sales and traffic data is aggregated by day." DAY - - """Sales and traffic data is aggregated by month.""" + "Sales and traffic data is aggregated by month." MONTH - - """Sales and traffic data is aggregated by week.""" + "Sales and traffic data is aggregated by week." WEEK } -"""Date""" +"Date" scalar Date -"""Long""" -scalar Long \ No newline at end of file +"Long" +scalar Long From ac2165497ca703ebec7206cebec997a1f490208c Mon Sep 17 00:00:00 2001 From: Jack Evoniuk Date: Wed, 20 Mar 2024 10:30:37 -0700 Subject: [PATCH 044/340] Update the Fulfillment Outbound model --- .../fulfillmentOutbound_2020-07-01.json | 239 ++++++++++-------- 1 file changed, 138 insertions(+), 101 deletions(-) diff --git a/models/fulfillment-outbound-api-model/fulfillmentOutbound_2020-07-01.json b/models/fulfillment-outbound-api-model/fulfillmentOutbound_2020-07-01.json index 819d8a68c..555969314 100644 --- a/models/fulfillment-outbound-api-model/fulfillmentOutbound_2020-07-01.json +++ b/models/fulfillment-outbound-api-model/fulfillmentOutbound_2020-07-01.json @@ -32,7 +32,7 @@ "tags": [ "fbaOutbound" ], - "description": "Returns a list of fulfillment order previews based on shipping criteria that you specify.\n\n**Usage Plan:**\n\n| Rate (requests per second) | Burst |\n| ---- | ---- |\n| 2 | 30 |\n\nThe `x-amzn-RateLimit-Limit` response header returns the usage plan rate limits that were applied to the requested operation, when available. The table above indicates the default rate and burst values for this operation. Selling partners whose business demands require higher throughput may see higher rate and burst values than those shown here. For more information, see [Usage Plans and Rate Limits in the Selling Partner API](https://developer-docs.amazon.com/sp-api/docs/usage-plans-and-rate-limits-in-the-sp-api).", + "description": "Returns a list of fulfillment order previews based on shipping criteria that you specify.\n\n**Usage Plan:**\n\n| Rate (requests per second) | Burst |\n| ---- | ---- |\n| 2 | 30 |\n\nThe `x-amzn-RateLimit-Limit` response header returns the usage plan rate limits that were applied to the requested operation, when available. The table above indicates the default rate and burst values for this operation. Selling partners whose business demands require higher throughput may see higher rate and burst values than those shown here. For more information, refer to [Usage Plans and Rate Limits in the Selling Partner API](https://developer-docs.amazon.com/sp-api/docs/usage-plans-and-rate-limits-in-the-sp-api).", "operationId": "getFulfillmentPreview", "parameters": [ { @@ -235,7 +235,7 @@ "tags": [ "fbaOutbound" ], - "description": "Returns a list of fulfillment orders fulfilled after (or at) a specified date-time, or indicated by the next token parameter.\n\n**Usage Plan:**\n\n| Rate (requests per second) | Burst |\n| ---- | ---- |\n| 2 | 30 |\n\nThe `x-amzn-RateLimit-Limit` response header returns the usage plan rate limits that were applied to the requested operation, when available. The table above indicates the default rate and burst values for this operation. Selling partners whose business demands require higher throughput may see higher rate and burst values than those shown here. For more information, see [Usage Plans and Rate Limits in the Selling Partner API](https://developer-docs.amazon.com/sp-api/docs/usage-plans-and-rate-limits-in-the-sp-api)", + "description": "Returns a list of fulfillment orders fulfilled after (or at) a specified date-time, or indicated by the next token parameter.\n\n**Usage Plan:**\n\n| Rate (requests per second) | Burst |\n| ---- | ---- |\n| 2 | 30 |\n\nThe `x-amzn-RateLimit-Limit` response header returns the usage plan rate limits that were applied to the requested operation, when available. The table above indicates the default rate and burst values for this operation. Selling partners whose business demands require higher throughput may see higher rate and burst values than those shown here. For more information, refer to [Usage Plans and Rate Limits in the Selling Partner API](https://developer-docs.amazon.com/sp-api/docs/usage-plans-and-rate-limits-in-the-sp-api)", "operationId": "listAllFulfillmentOrders", "parameters": [ { @@ -444,7 +444,7 @@ "tags": [ "fbaOutbound" ], - "description": "Requests that Amazon ship items from the seller's inventory in Amazon's fulfillment network to a destination address.\n\n**Usage Plan:**\n\n| Rate (requests per second) | Burst |\n| ---- | ---- |\n| 2 | 30 |\n\nThe `x-amzn-RateLimit-Limit` response header returns the usage plan rate limits that were applied to the requested operation, when available. The table above indicates the default rate and burst values for this operation. Selling partners whose business demands require higher throughput may see higher rate and burst values than those shown here. For more information, see [Usage Plans and Rate Limits in the Selling Partner API](https://developer-docs.amazon.com/sp-api/docs/usage-plans-and-rate-limits-in-the-sp-api)", + "description": "Requests that Amazon ship items from the seller's inventory in Amazon's fulfillment network to a destination address.\n\n**Usage Plan:**\n\n| Rate (requests per second) | Burst |\n| ---- | ---- |\n| 2 | 30 |\n\nThe `x-amzn-RateLimit-Limit` response header returns the usage plan rate limits that were applied to the requested operation, when available. The table above indicates the default rate and burst values for this operation. Selling partners whose business demands require higher throughput may see higher rate and burst values than those shown here. For more information, refer to [Usage Plans and Rate Limits in the Selling Partner API](https://developer-docs.amazon.com/sp-api/docs/usage-plans-and-rate-limits-in-the-sp-api)", "operationId": "createFulfillmentOrder", "parameters": [ { @@ -592,13 +592,13 @@ "tags": [ "fbaOutbound" ], - "description": "Returns delivery tracking information for a package in an outbound shipment for a Multi-Channel Fulfillment order.\n\n**Usage Plan:**\n\n| Rate (requests per second) | Burst |\n| ---- | ---- |\n| 2 | 30 |\n\nThe `x-amzn-RateLimit-Limit` response header returns the usage plan rate limits that were applied to the requested operation, when available. The table above indicates the default rate and burst values for this operation. Selling partners whose business demands require higher throughput may see higher rate and burst values than those shown here. For more information, see [Usage Plans and Rate Limits in the Selling Partner API](https://developer-docs.amazon.com/sp-api/docs/usage-plans-and-rate-limits-in-the-sp-api).", + "description": "Returns delivery tracking information for a package in an outbound shipment for a Multi-Channel Fulfillment order.\n\n**Usage Plan:**\n\n| Rate (requests per second) | Burst |\n| ---- | ---- |\n| 2 | 30 |\n\nThe `x-amzn-RateLimit-Limit` response header returns the usage plan rate limits that were applied to the requested operation, when available. The table above indicates the default rate and burst values for this operation. Selling partners whose business demands require higher throughput may see higher rate and burst values than those shown here. For more information, refer to [Usage Plans and Rate Limits in the Selling Partner API](https://developer-docs.amazon.com/sp-api/docs/usage-plans-and-rate-limits-in-the-sp-api).", "operationId": "getPackageTrackingDetails", "parameters": [ { "name": "packageNumber", "in": "query", - "description": "The unencrypted package identifier returned by the getFulfillmentOrder operation.", + "description": "The unencrypted package identifier returned by the `getFulfillmentOrder` operation.", "required": true, "type": "integer", "format": "int32" @@ -783,7 +783,7 @@ "tags": [ "fbaOutbound" ], - "description": "Returns a list of return reason codes for a seller SKU in a given marketplace. The parameters for this operation may contain special characters that require URL encoding. To avoid errors with SKUs when encoding URLs, refer to [URL Encoding](https://developer-docs.amazon.com/sp-api/docs/url-encoding).\n\n**Usage Plan:**\n\n| Rate (requests per second) | Burst |\n| ---- | ---- |\n| 2 | 30 |\n\nThe `x-amzn-RateLimit-Limit` response header returns the usage plan rate limits that were applied to the requested operation, when available. The table above indicates the default rate and burst values for this operation. Selling partners whose business demands require higher throughput may see higher rate and burst values than those shown here. For more information, see [Usage Plans and Rate Limits in the Selling Partner API](https://developer-docs.amazon.com/sp-api/docs/usage-plans-and-rate-limits-in-the-sp-api).", + "description": "Returns a list of return reason codes for a seller SKU in a given marketplace. The parameters for this operation may contain special characters that require URL encoding. To avoid errors with SKUs when encoding URLs, refer to [URL Encoding](https://developer-docs.amazon.com/sp-api/docs/url-encoding).\n\n**Usage Plan:**\n\n| Rate (requests per second) | Burst |\n| ---- | ---- |\n| 2 | 30 |\n\nThe `x-amzn-RateLimit-Limit` response header returns the usage plan rate limits that were applied to the requested operation, when available. The table above indicates the default rate and burst values for this operation. Selling partners whose business demands require higher throughput may see higher rate and burst values than those shown here. For more information, refer to [Usage Plans and Rate Limits in the Selling Partner API](https://developer-docs.amazon.com/sp-api/docs/usage-plans-and-rate-limits-in-the-sp-api).", "operationId": "listReturnReasonCodes", "parameters": [ { @@ -810,8 +810,8 @@ { "name": "language", "in": "query", - "description": "The language that the TranslatedDescription property of the ReasonCodeDetails response object should be translated into.", - "required": true, + "description": "The language that the `TranslatedDescription` property of the `ReasonCodeDetails` response object should be translated into.", + "required": false, "type": "string" } ], @@ -1005,7 +1005,7 @@ "tags": [ "fbaOutbound" ], - "description": "Creates a fulfillment return.\n\n**Usage Plan:**\n\n| Rate (requests per second) | Burst |\n| ---- | ---- |\n| 2 | 30 |\n\nThe `x-amzn-RateLimit-Limit` response header returns the usage plan rate limits that were applied to the requested operation, when available. The table above indicates the default rate and burst values for this operation. Selling partners whose business demands require higher throughput may see higher rate and burst values than those shown here. For more information, see [Usage Plans and Rate Limits in the Selling Partner API](https://developer-docs.amazon.com/sp-api/docs/usage-plans-and-rate-limits-in-the-sp-api).", + "description": "Creates a fulfillment return.\n\n**Usage Plan:**\n\n| Rate (requests per second) | Burst |\n| ---- | ---- |\n| 2 | 30 |\n\nThe `x-amzn-RateLimit-Limit` response header returns the usage plan rate limits that were applied to the requested operation, when available. The table above indicates the default rate and burst values for this operation. Selling partners whose business demands require higher throughput may see higher rate and burst values than those shown here. For more information, refer to [Usage Plans and Rate Limits in the Selling Partner API](https://developer-docs.amazon.com/sp-api/docs/usage-plans-and-rate-limits-in-the-sp-api).", "operationId": "createFulfillmentReturn", "parameters": [ { @@ -1019,7 +1019,7 @@ { "name": "sellerFulfillmentOrderId", "in": "path", - "description": "An identifier assigned by the seller to the fulfillment order at the time it was created. The seller uses their own records to find the correct SellerFulfillmentOrderId value based on the buyer's request to return items.", + "description": "An identifier assigned by the seller to the fulfillment order at the time it was created. The seller uses their own records to find the correct `SellerFulfillmentOrderId` value based on the buyer's request to return items.", "required": true, "type": "string" } @@ -1198,7 +1198,7 @@ "tags": [ "fbaOutbound" ], - "description": "Returns the fulfillment order indicated by the specified order identifier.\n\n**Usage Plan:**\n\n| Rate (requests per second) | Burst |\n| ---- | ---- |\n| 2 | 30 |\n\nThe `x-amzn-RateLimit-Limit` response header returns the usage plan rate limits that were applied to the requested operation, when available. The table above indicates the default rate and burst values for this operation. Selling partners whose business demands require higher throughput may see higher rate and burst values than those shown here. For more information, see [Usage Plans and Rate Limits in the Selling Partner API](https://developer-docs.amazon.com/sp-api/docs/usage-plans-and-rate-limits-in-the-sp-api).", + "description": "Returns the fulfillment order indicated by the specified order identifier.\n\n**Usage Plan:**\n\n| Rate (requests per second) | Burst |\n| ---- | ---- |\n| 2 | 30 |\n\nThe `x-amzn-RateLimit-Limit` response header returns the usage plan rate limits that were applied to the requested operation, when available. The table above indicates the default rate and burst values for this operation. Selling partners whose business demands require higher throughput may see higher rate and burst values than those shown here. For more information, refer to [Usage Plans and Rate Limits in the Selling Partner API](https://developer-docs.amazon.com/sp-api/docs/usage-plans-and-rate-limits-in-the-sp-api).", "operationId": "getFulfillmentOrder", "parameters": [ { @@ -1431,7 +1431,7 @@ "tags": [ "fbaOutbound" ], - "description": "Updates and/or requests shipment for a fulfillment order with an order hold on it.\n\n**Usage Plan:**\n\n| Rate (requests per second) | Burst |\n| ---- | ---- |\n| 2 | 30 |\n\nThe `x-amzn-RateLimit-Limit` response header returns the usage plan rate limits that were applied to the requested operation, when available. The table above indicates the default rate and burst values for this operation. Selling partners whose business demands require higher throughput may see higher rate and burst values than those shown here. For more information, see [Usage Plans and Rate Limits in the Selling Partner API](https://developer-docs.amazon.com/sp-api/docs/usage-plans-and-rate-limits-in-the-sp-api).", + "description": "Updates and/or requests shipment for a fulfillment order with an order hold on it.\n\n**Usage Plan:**\n\n| Rate (requests per second) | Burst |\n| ---- | ---- |\n| 2 | 30 |\n\nThe `x-amzn-RateLimit-Limit` response header returns the usage plan rate limits that were applied to the requested operation, when available. The table above indicates the default rate and burst values for this operation. Selling partners whose business demands require higher throughput may see higher rate and burst values than those shown here. For more information, refer to [Usage Plans and Rate Limits in the Selling Partner API](https://developer-docs.amazon.com/sp-api/docs/usage-plans-and-rate-limits-in-the-sp-api).", "operationId": "updateFulfillmentOrder", "parameters": [ { @@ -1587,7 +1587,7 @@ "tags": [ "fbaOutbound" ], - "description": "Requests that Amazon stop attempting to fulfill the fulfillment order indicated by the specified order identifier.\n\n**Usage Plan:**\n\n| Rate (requests per second) | Burst |\n| ---- | ---- |\n| 2 | 30 |\n\nThe `x-amzn-RateLimit-Limit` response header returns the usage plan rate limits that were applied to the requested operation, when available. The table above indicates the default rate and burst values for this operation. Selling partners whose business demands require higher throughput may see higher rate and burst values than those shown here. For more information, see [Usage Plans and Rate Limits in the Selling Partner API](https://developer-docs.amazon.com/sp-api/docs/usage-plans-and-rate-limits-in-the-sp-api).", + "description": "Requests that Amazon stop attempting to fulfill the fulfillment order indicated by the specified order identifier.\n\n**Usage Plan:**\n\n| Rate (requests per second) | Burst |\n| ---- | ---- |\n| 2 | 30 |\n\nThe `x-amzn-RateLimit-Limit` response header returns the usage plan rate limits that were applied to the requested operation, when available. The table above indicates the default rate and burst values for this operation. Selling partners whose business demands require higher throughput may see higher rate and burst values than those shown here. For more information, refer to [Usage Plans and Rate Limits in the Selling Partner API](https://developer-docs.amazon.com/sp-api/docs/usage-plans-and-rate-limits-in-the-sp-api).", "operationId": "cancelFulfillmentOrder", "parameters": [ { @@ -1892,7 +1892,7 @@ "tags": [ "fbaOutbound" ], - "description": "Returns a list of features available for Multi-Channel Fulfillment orders in the marketplace you specify, and whether the seller for which you made the call is enrolled for each feature.\n\n**Usage Plan:**\n\n| Rate (requests per second) | Burst |\n| ---- | ---- |\n| 2 | 30 |\n\nThe `x-amzn-RateLimit-Limit` response header returns the usage plan rate limits that were applied to the requested operation, when available. The table above indicates the default rate and burst values for this operation. Selling partners whose business demands require higher throughput may see higher rate and burst values than those shown here. For more information, see [Usage Plans and Rate Limits in the Selling Partner API](https://developer-docs.amazon.com/sp-api/docs/usage-plans-and-rate-limits-in-the-sp-api).", + "description": "Returns a list of features available for Multi-Channel Fulfillment orders in the marketplace you specify, and whether the seller for which you made the call is enrolled for each feature.\n\n**Usage Plan:**\n\n| Rate (requests per second) | Burst |\n| ---- | ---- |\n| 2 | 30 |\n\nThe `x-amzn-RateLimit-Limit` response header returns the usage plan rate limits that were applied to the requested operation, when available. The table above indicates the default rate and burst values for this operation. Selling partners whose business demands require higher throughput may see higher rate and burst values than those shown here. For more information, refer to [Usage Plans and Rate Limits in the Selling Partner API](https://developer-docs.amazon.com/sp-api/docs/usage-plans-and-rate-limits-in-the-sp-api).", "operationId": "getFeatures", "parameters": [ { @@ -2056,7 +2056,7 @@ "tags": [ "fbaOutbound" ], - "description": "Returns a list of inventory items that are eligible for the fulfillment feature you specify.\n\n**Usage Plan:**\n\n| Rate (requests per second) | Burst |\n| ---- | ---- |\n| 2 | 30 |\n\nThe `x-amzn-RateLimit-Limit` response header returns the usage plan rate limits that were applied to the requested operation, when available. The table above indicates the default rate and burst values for this operation. Selling partners whose business demands require higher throughput may see higher rate and burst values than those shown here. For more information, see [Usage Plans and Rate Limits in the Selling Partner API](https://developer-docs.amazon.com/sp-api/docs/usage-plans-and-rate-limits-in-the-sp-api)..", + "description": "Returns a list of inventory items that are eligible for the fulfillment feature you specify.\n\n**Usage Plan:**\n\n| Rate (requests per second) | Burst |\n| ---- | ---- |\n| 2 | 30 |\n\nThe `x-amzn-RateLimit-Limit` response header returns the usage plan rate limits that were applied to the requested operation, when available. The table above indicates the default rate and burst values for this operation. Selling partners whose business demands require higher throughput may see higher rate and burst values than those shown here. For more information, refer to [Usage Plans and Rate Limits in the Selling Partner API](https://developer-docs.amazon.com/sp-api/docs/usage-plans-and-rate-limits-in-the-sp-api)..", "operationId": "getFeatureInventory", "parameters": [ { @@ -2248,7 +2248,7 @@ "tags": [ "fbaOutbound" ], - "description": "Returns the number of items with the sellerSKU you specify that can have orders fulfilled using the specified feature. Note that if the sellerSKU isn't eligible, the response will contain an empty skuInfo object. The parameters for this operation may contain special characters that require URL encoding. To avoid errors with SKUs when encoding URLs, refer to [URL Encoding](https://developer-docs.amazon.com/sp-api/docs/url-encoding).\n\n**Usage Plan:**\n\n| Rate (requests per second) | Burst |\n| ---- | ---- |\n| 2 | 30 |\n\nThe `x-amzn-RateLimit-Limit` response header returns the usage plan rate limits that were applied to the requested operation, when available. The table above indicates the default rate and burst values for this operation. Selling partners whose business demands require higher throughput may see higher rate and burst values than those shown here. For more information, see [Usage Plans and Rate Limits in the Selling Partner API](https://developer-docs.amazon.com/sp-api/docs/usage-plans-and-rate-limits-in-the-sp-api).", + "description": "Returns the number of items with the sellerSKU you specify that can have orders fulfilled using the specified feature. Note that if the sellerSKU isn't eligible, the response will contain an empty skuInfo object. The parameters for this operation may contain special characters that require URL encoding. To avoid errors with SKUs when encoding URLs, refer to [URL Encoding](https://developer-docs.amazon.com/sp-api/docs/url-encoding).\n\n**Usage Plan:**\n\n| Rate (requests per second) | Burst |\n| ---- | ---- |\n| 2 | 30 |\n\nThe `x-amzn-RateLimit-Limit` response header returns the usage plan rate limits that were applied to the requested operation, when available. The table above indicates the default rate and burst values for this operation. Selling partners whose business demands require higher throughput may see higher rate and burst values than those shown here. For more information, refer to [Usage Plans and Rate Limits in the Selling Partner API](https://developer-docs.amazon.com/sp-api/docs/usage-plans-and-rate-limits-in-the-sp-api).", "operationId": "getFeatureSKU", "parameters": [ { @@ -2268,7 +2268,7 @@ { "name": "sellerSku", "in": "path", - "description": "Used to identify an item in the given marketplace. SellerSKU is qualified by the seller's SellerId, which is included with every operation that you submit.", + "description": "Used to identify an item in the given marketplace. `SellerSKU` is qualified by the seller's `SellerId`, which is included with every operation that you submit.", "required": true, "type": "string" } @@ -2543,7 +2543,7 @@ }, "sellerFulfillmentOrderItemId": { "type": "string", - "description": "A fulfillment order item identifier that the seller creates to track fulfillment order items. Used to disambiguate multiple fulfillment items that have the same SellerSKU. For example, the seller might assign different SellerFulfillmentOrderItemId values to two items in a fulfillment order that share the same SellerSKU but have different GiftMessage values.", + "description": "A fulfillment order item identifier that the seller creates to track fulfillment order items. Used to disambiguate multiple fulfillment items that have the same `SellerSKU`. For example, the seller might assign different `SellerFulfillmentOrderItemId` values to two items in a fulfillment order that share the same `SellerSKU` but have different `GiftMessage` values.", "maxLength": 50 }, "quantity": { @@ -2564,7 +2564,7 @@ "description": "Amazon's fulfillment network SKU of the item." }, "perUnitDeclaredValue": { - "description": "The monetary value assigned by the seller to this item.", + "description": "The monetary value assigned by the seller to this item. This is a required field for India MCF orders.", "$ref": "#/definitions/Money" }, "perUnitPrice": { @@ -2587,7 +2587,7 @@ }, "FulfillmentPolicy": { "type": "string", - "description": "The FulfillmentPolicy value specified when you submitted the createFulfillmentOrder operation.", + "description": "The `FulfillmentPolicy` value specified when you submitted the `createFulfillmentOrder` operation.", "enum": [ "FillOrKill", "FillAll", @@ -2596,7 +2596,7 @@ "x-docgen-enum-table-extension": [ { "value": "FillOrKill", - "description": "If an item in a fulfillment order is determined to be unfulfillable before any shipment in the order has acquired the status of Pending (the process of picking units from inventory has begun), then the entire order is considered unfulfillable. However, if an item in a fulfillment order is determined to be unfulfillable after a shipment in the order has acquired the status of Pending, Amazon cancels as much of the fulfillment order as possible. See the FulfillmentShipment object for shipment status definitions." + "description": "If an item in a fulfillment order is determined to be unfulfillable before any shipment in the order has acquired the status of Pending (the process of picking units from inventory has begun), then the entire order is considered unfulfillable. However, if an item in a fulfillment order is determined to be unfulfillable after a shipment in the order has acquired the status of Pending, Amazon cancels as much of the fulfillment order as possible. Refer to the `FulfillmentShipment` object for shipment status definitions." }, { "value": "FillAll", @@ -2679,12 +2679,12 @@ }, "sellerFulfillmentOrderId": { "type": "string", - "description": "A fulfillment order identifier that the seller creates to track their fulfillment order. The SellerFulfillmentOrderId must be unique for each fulfillment order that a seller creates. If the seller's system already creates unique order identifiers, then these might be good values for them to use.", + "description": "A fulfillment order identifier that the seller creates to track their fulfillment order. The `SellerFulfillmentOrderId` must be unique for each fulfillment order that a seller creates. If the seller's system already creates unique order identifiers, then these might be good values for them to use.", "maxLength": 40 }, "displayableOrderId": { "type": "string", - "description": "A fulfillment order identifier that the seller creates. This value displays as the order identifier in recipient-facing materials such as the outbound shipment packing slip. The value of DisplayableOrderId should match the order identifier that the seller provides to the recipient. The seller can use the SellerFulfillmentOrderId for this value or they can specify an alternate value if they want the recipient to reference an alternate order identifier.\n\nThe value must be an alpha-numeric or ISO 8859-1 compliant string from one to 40 characters in length. Cannot contain two spaces in a row. Leading and trailing white space is removed.", + "description": "A fulfillment order identifier that the seller creates. This value displays as the order identifier in recipient-facing materials such as the outbound shipment packing slip. The value of `DisplayableOrderId` should match the order identifier that the seller provides to the recipient. The seller can use the `SellerFulfillmentOrderId` for this value or they can specify an alternate value if they want the recipient to reference an alternate order identifier.\n\nThe value must be an alpha-numeric or ISO 8859-1 compliant string from one to 40 characters in length. Cannot contain two spaces in a row. Leading and trailing white space is removed.", "maxLength": 40 }, "displayableOrderDate": { @@ -2694,10 +2694,10 @@ "displayableOrderComment": { "type": "string", "description": "Order-specific text that appears in recipient-facing materials such as the outbound shipment packing slip.", - "maxLength": 1000 + "maxLength": 750 }, "shippingSpeedCategory": { - "description": "The shipping method for the fulfillment order. When this value is ScheduledDelivery, choose Ship for the fulfillmentAction. Hold is not a valid fulfillmentAction value when the shippingSpeedCategory value is ScheduledDelivery.", + "description": "The shipping method for the fulfillment order. When this value is ScheduledDelivery, choose Ship for the `fulfillmentAction`. Hold is not a valid `fulfillmentAction` value when the `shippingSpeedCategory` value is `ScheduledDelivery`.", "$ref": "#/definitions/ShippingSpeedCategory" }, "deliveryWindow": { @@ -2733,9 +2733,13 @@ "items": { "description": "A list of items to include in the fulfillment order preview, including quantity.", "$ref": "#/definitions/CreateFulfillmentOrderItemList" + }, + "paymentInformation": { + "description": "An array of various payment attributes related to this fulfillment order. This property is required if the order is placed against the India marketplace.", + "$ref": "#/definitions/PaymentInformationList" } }, - "description": "The request body schema for the createFulfillmentOrder operation." + "description": "The request body schema for the `createFulfillmentOrder` operation." }, "CreateFulfillmentReturnRequest": { "type": "object", @@ -2747,7 +2751,7 @@ "$ref": "#/definitions/CreateReturnItemList" } }, - "description": "The createFulfillmentReturn operation creates a fulfillment return for items that were fulfilled using the createFulfillmentOrder operation. For calls to createFulfillmentReturn, you must include ReturnReasonCode values returned by a previous call to the listReturnReasonCodes operation." + "description": "The `createFulfillmentReturn` operation creates a fulfillment return for items that were fulfilled using the `createFulfillmentOrder` operation. For calls to `createFulfillmentReturn`, you must include `ReturnReasonCode` values returned by a previous call to the `listReturnReasonCodes` operation." }, "CreateFulfillmentReturnResult": { "type": "object", @@ -2767,15 +2771,15 @@ "type": "object", "properties": { "payload": { - "description": "The payload for the createFulfillmentReturn operation.", + "description": "The payload for the `createFulfillmentReturn` operation.", "$ref": "#/definitions/CreateFulfillmentReturnResult" }, "errors": { - "description": "One or more unexpected errors occurred during the createFulfillmentReturn operation.", + "description": "One or more unexpected errors occurred during the `createFulfillmentReturn` operation.", "$ref": "#/definitions/ErrorList" } }, - "description": "The response schema for the createFulfillmentReturn operation." + "description": "The response schema for the `createFulfillmentReturn` operation." }, "CreateReturnItem": { "type": "object", @@ -2847,11 +2851,11 @@ ], "properties": { "startDate": { - "description": "The date and time of the start of the Scheduled Delivery window, in ISO 8601 date time format.", + "description": "The date and time of the start of the Scheduled Delivery window. Must be in ISO 8601 format.", "$ref": "#/definitions/Timestamp" }, "endDate": { - "description": "The date and time of the end of the Scheduled Delivery window, in ISO 8601 date time format.", + "description": "The date and time of the end of the Scheduled Delivery window. Must be in ISO 8601 format.", "$ref": "#/definitions/Timestamp" } }, @@ -2948,7 +2952,7 @@ "properties": { "sellerFulfillmentOrderId": { "type": "string", - "description": "The fulfillment order identifier submitted with the createFulfillmentOrder operation." + "description": "The fulfillment order identifier submitted with the `createFulfillmentOrder` operation." }, "marketplaceId": { "type": "string", @@ -2956,15 +2960,15 @@ }, "displayableOrderId": { "type": "string", - "description": "A fulfillment order identifier submitted with the createFulfillmentOrder operation. Displays as the order identifier in recipient-facing materials such as the packing slip." + "description": "A fulfillment order identifier submitted with the `createFulfillmentOrder` operation. Displays as the order identifier in recipient-facing materials such as the packing slip." }, "displayableOrderDate": { - "description": "A date and time submitted with the createFulfillmentOrder operation. Displays as the order date in recipient-facing materials such as the packing slip.", + "description": "A date and time submitted with the `createFulfillmentOrder` operation. Displays as the order date in recipient-facing materials such as the packing slip.", "$ref": "#/definitions/Timestamp" }, "displayableOrderComment": { "type": "string", - "description": "A text block submitted with the createFulfillmentOrder operation. Displays in recipient-facing materials such as the packing slip." + "description": "A text block submitted with the `createFulfillmentOrder` operation. Displays in recipient-facing materials such as the packing slip." }, "shippingSpeedCategory": { "$ref": "#/definitions/ShippingSpeedCategory" @@ -2973,7 +2977,7 @@ "$ref": "#/definitions/DeliveryWindow" }, "destinationAddress": { - "description": "The destination address submitted with the createFulfillmentOrder operation.", + "description": "The destination address submitted with the `createFulfillmentOrder` operation.", "$ref": "#/definitions/Address" }, "fulfillmentAction": { @@ -2993,7 +2997,7 @@ "$ref": "#/definitions/FulfillmentOrderStatus" }, "statusUpdatedDate": { - "description": "The date and time that the status of the fulfillment order last changed, in ISO 8601 date time format.", + "description": "The date and time that the status of the fulfillment order last changed. Must be in ISO 8601 format.", "$ref": "#/definitions/Timestamp" }, "notificationEmails": { @@ -3025,7 +3029,7 @@ }, "sellerFulfillmentOrderItemId": { "type": "string", - "description": "A fulfillment order item identifier submitted with a call to the createFulfillmentOrder operation." + "description": "A fulfillment order item identifier submitted with a call to the `createFulfillmentOrder` operation." }, "quantity": { "$ref": "#/definitions/Quantity" @@ -3055,11 +3059,11 @@ "$ref": "#/definitions/Quantity" }, "estimatedShipDate": { - "description": "The estimated date and time that the item quantity is scheduled to ship from the fulfillment center. Note that this value can change over time. If the shipment that contains the item quantity has been cancelled, estimatedShipDate is not returned.", + "description": "The estimated date and time that the item quantity is scheduled to ship from the fulfillment center. Note that this value can change over time. If the shipment that contains the item quantity has been cancelled, `estimatedShipDate` is not returned.", "$ref": "#/definitions/Timestamp" }, "estimatedArrivalDate": { - "description": "The estimated arrival date and time of the item quantity. Note that this value can change over time. If the shipment that contains the item quantity has been cancelled, estimatedArrivalDate is not returned.", + "description": "The estimated arrival date and time of the item quantity. Note that this value can change over time. If the shipment that contains the item quantity has been cancelled, `estimatedArrivalDate` is not returned.", "$ref": "#/definitions/Timestamp" }, "perUnitPrice": { @@ -3071,7 +3075,7 @@ "$ref": "#/definitions/Money" }, "perUnitDeclaredValue": { - "description": "The monetary value assigned by the seller to this item.", + "description": "The monetary value assigned by the seller to this item. This is a required field for India MCF orders.", "$ref": "#/definitions/Money" } }, @@ -3112,7 +3116,7 @@ "$ref": "#/definitions/Weight" }, "estimatedFees": { - "description": "The estimated fulfillment fees for this fulfillment order preview, if applicable.", + "description": "The estimated fulfillment fees for this fulfillment order preview, if applicable. The fees data will not be available for IN marketplace orders.", "$ref": "#/definitions/FeeList" }, "fulfillmentPreviewShipments": { @@ -3122,7 +3126,7 @@ "$ref": "#/definitions/UnfulfillablePreviewItemList" }, "orderUnfulfillableReasons": { - "description": "Error codes associated with the fulfillment order preview that indicate why the order is not fulfillable.\n\nError code examples:\n\nDeliverySLAUnavailable\nInvalidDestinationAddress", + "description": "Error codes associated with the fulfillment order preview that indicate why the order is not fulfillable.\n\nError code examples:\n\n`DeliverySLAUnavailable`\n`InvalidDestinationAddress`", "$ref": "#/definitions/StringList" }, "marketplaceId": { @@ -3157,10 +3161,10 @@ }, "sellerFulfillmentOrderItemId": { "type": "string", - "description": "A fulfillment order item identifier that the seller created with a call to the createFulfillmentOrder operation." + "description": "A fulfillment order item identifier that the seller created with a call to the `createFulfillmentOrder` operation." }, "estimatedShippingWeight": { - "description": "The estimated shipping weight of the item quantity for a single item, as identified by sellerSku, in a shipment.", + "description": "The estimated shipping weight of the item quantity for a single item, as identified by `sellerSku`, in a shipment.", "$ref": "#/definitions/Weight" }, "shippingWeightCalculationMethod": { @@ -3205,11 +3209,11 @@ ], "properties": { "earliestShipDate": { - "description": "The earliest date that the shipment is expected to be sent from the fulfillment center, in ISO 8601 date time format.", + "description": "The earliest date that the shipment is expected to be sent from the fulfillment center. Must be in ISO 8601 format.", "$ref": "#/definitions/Timestamp" }, "latestShipDate": { - "description": "The latest date that the shipment is expected to be sent from the fulfillment center, in ISO 8601 date time format.", + "description": "The latest date that the shipment is expected to be sent from the fulfillment center. Must be in ISO 8601 format.", "$ref": "#/definitions/Timestamp" }, "earliestArrivalDate": { @@ -3217,7 +3221,7 @@ "$ref": "#/definitions/Timestamp" }, "latestArrivalDate": { - "description": "The latest date that the shipment is expected to arrive at its destination, in ISO 8601 date time format.", + "description": "The latest date that the shipment is expected to arrive at its destination. Must be in ISO 8601 format.", "$ref": "#/definitions/Timestamp" }, "shippingNotes": { @@ -3300,16 +3304,16 @@ }, { "value": "CANCELLED_BY_SELLER", - "description": "The shipment was cancelled using the CancelFulfillmentOrder request." + "description": "The shipment was cancelled using the `CancelFulfillmentOrder` request." } ] }, "shippingDate": { - "description": "The meaning of the shippingDate value depends on the current status of the shipment. If the current value of FulfillmentShipmentStatus is:\n\n* Pending - shippingDate represents the estimated time that the shipment will leave the Amazon fulfillment center.\n\n* Shipped - shippingDate represents the date that the shipment left the Amazon fulfillment center.\nIf a shipment includes more than one package, shippingDate applies to all of the packages in the shipment. If the value of FulfillmentShipmentStatus is CancelledByFulfiller or CancelledBySeller, shippingDate is not returned. The value must be in ISO 8601 date time format.", + "description": "The meaning of the `shippingDate` value depends on the current status of the shipment. If the current value of `FulfillmentShipmentStatus` is:\n\n* Pending - `shippingDate` represents the estimated time that the shipment will leave the Amazon fulfillment center.\n\n* Shipped - `shippingDate` represents the date that the shipment left the Amazon fulfillment center.\nIf a shipment includes more than one package, `shippingDate` applies to all of the packages in the shipment. If the value of `FulfillmentShipmentStatus` is `CancelledByFulfiller` or `CancelledBySeller`, `shippingDate` is not returned. The value must be in ISO 8601 format.", "$ref": "#/definitions/Timestamp" }, "estimatedArrivalDate": { - "description": "The estimated arrival date and time of the shipment, in ISO 8601 date time format. Note that this value can change over time. If a shipment includes more than one package, estimatedArrivalDate applies to all of the packages in the shipment. If the shipment has been cancelled, estimatedArrivalDate is not returned.", + "description": "The estimated arrival date and time of the shipment. Must be in ISO 8601 format. Note that this value can change over time. If a shipment includes more than one package, `estimatedArrivalDate` applies to all of the packages in the shipment. If the shipment has been cancelled, `estimatedArrivalDate` is not returned.", "$ref": "#/definitions/Timestamp" }, "shippingNotes": { @@ -3342,7 +3346,7 @@ }, "sellerFulfillmentOrderItemId": { "type": "string", - "description": "The fulfillment order item identifier that the seller created and submitted with a call to the createFulfillmentOrder operation." + "description": "The fulfillment order item identifier that the seller created and submitted with a call to the `createFulfillmentOrder` operation." }, "quantity": { "$ref": "#/definitions/Quantity" @@ -3394,7 +3398,7 @@ "description": "The tracking number, if provided, can be used to obtain tracking and delivery information." }, "estimatedArrivalDate": { - "description": "The estimated arrival date and time of the package, in ISO 8601 date time format.", + "description": "The estimated arrival date and time of the package. Must be in ISO 8601 format.", "$ref": "#/definitions/Timestamp" } }, @@ -3430,6 +3434,9 @@ }, "returnAuthorizations": { "$ref": "#/definitions/ReturnAuthorizationList" + }, + "paymentInformation": { + "$ref": "#/definitions/PaymentInformationList" } } }, @@ -3437,15 +3444,15 @@ "type": "object", "properties": { "payload": { - "description": "The payload for the getFulfillmentOrder operation.", + "description": "The payload for the `getFulfillmentOrder` operation.", "$ref": "#/definitions/GetFulfillmentOrderResult" }, "errors": { - "description": "One or more unexpected errors occurred during the getFulfillmentOrder operation.", + "description": "One or more unexpected errors occurred during the `getFulfillmentOrder` operation.", "$ref": "#/definitions/ErrorList" } }, - "description": "The response schema for the getFulfillmentOrder operation." + "description": "The response schema for the `getFulfillmentOrder` operation." }, "GetFulfillmentPreviewItem": { "type": "object", @@ -3464,7 +3471,7 @@ "$ref": "#/definitions/Quantity" }, "perUnitDeclaredValue": { - "description": "The monetary value assigned by the seller to this item. This is a required field if this order is an export order.", + "description": "The monetary value assigned by the seller to this item. This is a required field if this order is an export order or an India MCF order.", "$ref": "#/definitions/Money" }, "sellerFulfillmentOrderItemId": { @@ -3502,7 +3509,7 @@ "$ref": "#/definitions/GetFulfillmentPreviewItemList" }, "shippingSpeedCategories": { - "description": "A list of shipping methods used for creating fulfillment order previews.\n\nPossible values:\n\n* Standard - Standard shipping method.\n* Expedited - Expedited shipping method.\n* Priority - Priority shipping method.\n* ScheduledDelivery - Scheduled Delivery shipping method.\nNote: Shipping method service level agreements vary by marketplace. Sellers should see the Seller Central website in their marketplace for shipping method service level agreements and fulfillment fees.", + "description": "A list of shipping methods used for creating fulfillment order previews.\n\nPossible values:\n\n* `Standard` - Standard shipping method.\n* `Expedited` - Expedited shipping method.\n* `Priority` - Priority shipping method.\n* `ScheduledDelivery` - Scheduled Delivery shipping method.\nNote: Shipping method service level agreements vary by marketplace. Sellers should refer to the Seller Central website in their marketplace for shipping method service level agreements and fulfillment fees.", "$ref": "#/definitions/ShippingSpeedCategoryList" }, "includeCODFulfillmentPreview": { @@ -3511,7 +3518,7 @@ }, "includeDeliveryWindows": { "type": "boolean", - "description": "When true, returns the ScheduledDeliveryInfo response object, which contains the available delivery windows for a Scheduled Delivery. The ScheduledDeliveryInfo response object can only be returned for fulfillment order previews with ShippingSpeedCategories = ScheduledDelivery." + "description": "When true, returns the `ScheduledDeliveryInfo` response object, which contains the available delivery windows for a Scheduled Delivery. The `ScheduledDeliveryInfo` response object can only be returned for fulfillment order previews with `ShippingSpeedCategories` = `ScheduledDelivery`." }, "featureConstraints": { "type": "array", @@ -3521,7 +3528,7 @@ } } }, - "description": "The request body schema for the getFulfillmentPreview operation." + "description": "The request body schema for the `getFulfillmentPreview` operation." }, "GetFulfillmentPreviewResult": { "type": "object", @@ -3536,15 +3543,15 @@ "type": "object", "properties": { "payload": { - "description": "The response payload for the getFulfillmentPreview operation.", + "description": "The response payload for the `getFulfillmentPreview` operation.", "$ref": "#/definitions/GetFulfillmentPreviewResult" }, "errors": { - "description": "One or more unexpected errors occurred during the getFulfillmentPreview operation.", + "description": "One or more unexpected errors occurred during the `getFulfillmentPreview` operation.", "$ref": "#/definitions/ErrorList" } }, - "description": "The response schema for the getFulfillmentPreview operation." + "description": "The response schema for the `getFulfillmentPreview` operation." }, "InvalidItemReasonCode": { "type": "string", @@ -3640,15 +3647,15 @@ "type": "object", "properties": { "payload": { - "description": "The payload for the listAllFulfillmentOrders operation.", + "description": "The payload for the `listAllFulfillmentOrders` operation.", "$ref": "#/definitions/ListAllFulfillmentOrdersResult" }, "errors": { - "description": "One or more unexpected errors occurred during the listAllFulfillmentOrders operation.", + "description": "One or more unexpected errors occurred during the `listAllFulfillmentOrders` operation.", "$ref": "#/definitions/ErrorList" } }, - "description": "The response schema for the listAllFulfillmentOrders operation." + "description": "The response schema for the `listAllFulfillmentOrders` operation." }, "ListReturnReasonCodesResult": { "type": "object", @@ -3662,15 +3669,15 @@ "type": "object", "properties": { "payload": { - "description": "The payload for the listReturnReasonCodes operation.", + "description": "The payload for the `listReturnReasonCodes` operation.", "$ref": "#/definitions/ListReturnReasonCodesResult" }, "errors": { - "description": "One or more unexpected errors occurred during the listReturnReasonCodes operation.", + "description": "One or more unexpected errors occurred during the `listReturnReasonCodes` operation.", "$ref": "#/definitions/ErrorList" } }, - "description": "The response schema for the listReturnReasonCodes operation." + "description": "The response schema for the `listReturnReasonCodes` operation." }, "NotificationEmailList": { "type": "array", @@ -3964,7 +3971,7 @@ }, "currentStatusDescription": { "type": "string", - "description": "Description corresponding to the CurrentStatus value." + "description": "Description corresponding to the `CurrentStatus` value." }, "signedForBy": { "type": "string", @@ -3982,15 +3989,15 @@ "type": "object", "properties": { "payload": { - "description": "The payload for the getPackageTrackingDetails operation.", + "description": "The payload for the `getPackageTrackingDetails` operation.", "$ref": "#/definitions/PackageTrackingDetails" }, "errors": { - "description": "One or more unexpected errors occurred during the getPackageTrackingDetails operation.", + "description": "One or more unexpected errors occurred during the `getPackageTrackingDetails` operation.", "$ref": "#/definitions/ErrorList" } }, - "description": "The response schema for the getPackageTrackingDetails operation." + "description": "The response schema for the `getPackageTrackingDetails` operation." }, "ReasonCodeDetails": { "type": "object", @@ -4021,6 +4028,29 @@ "$ref": "#/definitions/ReasonCodeDetails" } }, + "PaymentInformation": { + "type": "object", + "required": [ + "paymentTransactionId", + "paymentMode", + "paymentDate" + ], + "properties": { + "paymentTransactionId": { + "type": "string", + "description": "The transaction identifier of this payment." + }, + "paymentMode": { + "type": "string", + "description": "The transaction mode of this payment." + }, + "paymentDate": { + "description": "The transaction date of this payment.", + "$ref": "#/definitions/Timestamp" + } + }, + "description": "The attributes related to the payment made from customer to seller for this order." + }, "ReturnAuthorization": { "type": "object", "required": [ @@ -4054,6 +4084,13 @@ }, "description": "Return authorization information for items accepted for return." }, + "PaymentInformationList": { + "type": "array", + "description": "An array of various payment attributes related to this fulfillment order.", + "items": { + "$ref": "#/definitions/PaymentInformation" + } + }, "ReturnAuthorizationList": { "type": "array", "description": "An array of return authorization information.", @@ -4106,7 +4143,7 @@ }, "returnAuthorizationId": { "type": "string", - "description": "Identifies the return authorization used to return this item. See ReturnAuthorization." + "description": "Identifies the return authorization used to return this item. Refer to `ReturnAuthorization`." }, "returnReceivedCondition": { "$ref": "#/definitions/ReturnItemDisposition" @@ -4401,7 +4438,7 @@ ], "properties": { "eventDate": { - "description": "The date and time that the delivery event took place, in ISO 8601 date time format.", + "description": "The date and time that the delivery event took place. Must be in ISO 8601 format.", "$ref": "#/definitions/Timestamp" }, "eventAddress": { @@ -4444,7 +4481,7 @@ }, "sellerFulfillmentOrderItemId": { "type": "string", - "description": "A fulfillment order item identifier created with a call to the getFulfillmentPreview operation.", + "description": "A fulfillment order item identifier created with a call to the `getFulfillmentPreview` operation.", "maxLength": 50 }, "itemUnfulfillableReasons": { @@ -4474,7 +4511,7 @@ }, "sellerFulfillmentOrderItemId": { "type": "string", - "description": "Identifies the fulfillment order item to update. Created with a previous call to the createFulfillmentOrder operation.", + "description": "Identifies the fulfillment order item to update. Created with a previous call to the `createFulfillmentOrder` operation.", "maxLength": 50 }, "quantity": { @@ -4499,7 +4536,7 @@ "description": "Indicates whether the item is sellable or unsellable." }, "perUnitDeclaredValue": { - "description": "The monetary value assigned by the seller to this item.", + "description": "The monetary value assigned by the seller to this item. This is a required field for India MCF orders.", "$ref": "#/definitions/Money" }, "perUnitPrice": { @@ -4522,7 +4559,7 @@ }, "UpdateFulfillmentOrderRequest": { "type": "object", - "description": "The request body schema for the updateFulfillmentOrder operation.", + "description": "The request body schema for the `updateFulfillmentOrder` operation.", "properties": { "marketplaceId": { "type": "string", @@ -4530,7 +4567,7 @@ }, "displayableOrderId": { "type": "string", - "description": "A fulfillment order identifier that the seller creates. This value displays as the order identifier in recipient-facing materials such as the outbound shipment packing slip. The value of DisplayableOrderId should match the order identifier that the seller provides to the recipient. The seller can use the SellerFulfillmentOrderId for this value or they can specify an alternate value if they want the recipient to reference an alternate order identifier.", + "description": "A fulfillment order identifier that the seller creates. This value displays as the order identifier in recipient-facing materials such as the outbound shipment packing slip. The value of `DisplayableOrderId` should match the order identifier that the seller provides to the recipient. The seller can use the `SellerFulfillmentOrderId` for this value or they can specify an alternate value if they want the recipient to reference an alternate order identifier.", "maxLength": 40 }, "displayableOrderDate": { @@ -4540,7 +4577,7 @@ "displayableOrderComment": { "type": "string", "description": "Order-specific text that appears in recipient-facing materials such as the outbound shipment packing slip.", - "maxLength": 1000 + "maxLength": 750 }, "shippingSpeedCategory": { "$ref": "#/definitions/ShippingSpeedCategory" @@ -4579,31 +4616,31 @@ "type": "object", "properties": { "errors": { - "description": "One or more unexpected errors occurred during the updateFulfillmentOrder operation.", + "description": "One or more unexpected errors occurred during the `updateFulfillmentOrder` operation.", "$ref": "#/definitions/ErrorList" } }, - "description": "The response schema for the updateFulfillmentOrder operation." + "description": "The response schema for the `updateFulfillmentOrder` operation." }, "CreateFulfillmentOrderResponse": { "type": "object", "properties": { "errors": { - "description": "One or more unexpected errors occurred during the createFulfillmentOrder operation.", + "description": "One or more unexpected errors occurred during the `createFulfillmentOrder` operation.", "$ref": "#/definitions/ErrorList" } }, - "description": "The response schema for the createFulfillmentOrder operation." + "description": "The response schema for the `createFulfillmentOrder` operation." }, "CancelFulfillmentOrderResponse": { "type": "object", "properties": { "errors": { - "description": "One or more unexpected errors occurred during the cancelFulfillmentOrder operation.", + "description": "One or more unexpected errors occurred during the `cancelFulfillmentOrder` operation.", "$ref": "#/definitions/ErrorList" } }, - "description": "The response schema for the cancelFulfillmentOrder operation." + "description": "The response schema for the `cancelFulfillmentOrder` operation." }, "Weight": { "type": "object", @@ -4654,7 +4691,7 @@ }, "ShippingSpeedCategory": { "type": "string", - "description": "The shipping method used for the fulfillment order. When this value is ScheduledDelivery, choose Ship for the fulfillmentAction. Hold is not a valid fulfillmentAction value when the shippingSpeedCategory value is ScheduledDelivery.", + "description": "The shipping method used for the fulfillment order. When this value is `ScheduledDelivery`, choose Ship for the `fulfillmentAction`. Hold is not a valid `fulfillmentAction` value when the `shippingSpeedCategory` value is `ScheduledDelivery`.", "enum": [ "Standard", "Expedited", @@ -4687,7 +4724,7 @@ "$ref": "#/definitions/GetFeatureInventoryResult" }, "errors": { - "description": "One or more unexpected errors occurred during the getFeatureInventory operation.", + "description": "One or more unexpected errors occurred during the `getFeatureInventory` operation.", "$ref": "#/definitions/ErrorList" } }, @@ -4720,14 +4757,14 @@ } } }, - "description": "The payload for the getEligibileInventory operation." + "description": "The payload for the `getEligibileInventory` operation." }, "FeatureSku": { "type": "object", "properties": { "sellerSku": { "type": "string", - "description": "Used to identify an item in the given marketplace. SellerSKU is qualified by the seller's SellerId, which is included with every operation that you submit." + "description": "Used to identify an item in the given marketplace. `SellerSKU` is qualified by the seller's SellerId, which is included with every operation that you submit." }, "fnSku": { "type": "string", @@ -4761,7 +4798,7 @@ "$ref": "#/definitions/ErrorList" } }, - "description": "The response schema for the getFeatures operation." + "description": "The response schema for the `getFeatures` operation." }, "GetFeaturesResult": { "type": "object", @@ -4773,7 +4810,7 @@ "$ref": "#/definitions/Features" } }, - "description": "The payload for the getFeatures operation." + "description": "The payload for the `getFeatures` operation." }, "Features": { "type": "array", @@ -4814,7 +4851,7 @@ "$ref": "#/definitions/ErrorList" } }, - "description": "The response schema for the getFeatureSKU operation." + "description": "The response schema for the `getFeatureSKU` operation." }, "GetFeatureSkuResult": { "type": "object", @@ -4838,7 +4875,7 @@ }, "ineligibleReasons": { "type": "array", - "description": "A list of one or more reasons that the seller SKU is ineligibile for the feature.\n\nPossible values:\n* MERCHANT_NOT_ENROLLED - The merchant isn't enrolled for the feature.\n* SKU_NOT_ELIGIBLE - The SKU doesn't reside in a warehouse that supports the feature.\n* INVALID_SKU - There is an issue with the SKU provided.", + "description": "A list of one or more reasons that the seller SKU is ineligibile for the feature.\n\nPossible values:\n* `MERCHANT_NOT_ENROLLED` - The merchant isn't enrolled for the feature.\n* `SKU_NOT_ELIGIBLE` - The SKU doesn't reside in a warehouse that supports the feature.\n* `INVALID_SKU` - There is an issue with the SKU provided.", "items": { "type": "string" } @@ -4848,7 +4885,7 @@ "$ref": "#/definitions/FeatureSku" } }, - "description": "The payload for the getFeatureSKU operation." + "description": "The payload for the `getFeatureSKU` operation." }, "FeatureSettings": { "type": "object", @@ -4876,11 +4913,11 @@ ] } }, - "description": "FeatureSettings allows users to apply fulfillment features to an order. To block an order from being shipped using Amazon Logistics (AMZL) and an AMZL tracking number, use featureName as BLOCK_AMZL and featureFulfillmentPolicy as Required. Blocking AMZL will incur an additional fee surcharge on your MCF orders and increase the risk of some of your orders being unfulfilled or delivered late if there are no alternative carriers available. Using BLOCK_AMZL in an order request will take precedence over your Seller Central account setting. To ship in non-Amazon branded packaging (blank boxes), use featureName BLANK_BOX." + "description": "`FeatureSettings` allows users to apply fulfillment features to an order. To block an order from being shipped using Amazon Logistics (AMZL) and an AMZL tracking number, use `featureName` as `BLOCK_AMZL` and `featureFulfillmentPolicy` as `Required`. Blocking AMZL will incur an additional fee surcharge on your MCF orders and increase the risk of some of your orders being unfulfilled or delivered late if there are no alternative carriers available. Using `BLOCK_AMZL` in an order request will take precedence over your Seller Central account setting. To ship in non-Amazon branded packaging (blank boxes), use featureName `BLANK_BOX`." }, "SubmitFulfillmentOrderStatusUpdateRequest": { "type": "object", - "description":"The request body schema for the submitFulfillmentOrderStatusUpdate operation.", + "description":"The request body schema for the `submitFulfillmentOrderStatusUpdate` operation.", "properties": { "fulfillmentOrderStatus": { "$ref": "#/definitions/FulfillmentOrderStatus" @@ -4891,11 +4928,11 @@ "type": "object", "properties": { "errors": { - "description": "One or more unexpected errors occurred during the SubmitFulfillmentOrderStatusUpdate operation.", + "description": "One or more unexpected errors occurred during the `SubmitFulfillmentOrderStatusUpdate` operation.", "$ref": "#/definitions/ErrorList" } }, - "description": "The response schema for the SubmitFulfillmentOrderStatusUpdate operation." + "description": "The response schema for the `SubmitFulfillmentOrderStatusUpdate` operation." } } } From fdb613094e360f39db5da0c77cad320ff293e1b1 Mon Sep 17 00:00:00 2001 From: Gibran Waldron Date: Wed, 20 Mar 2024 11:03:55 -0700 Subject: [PATCH 045/340] Update Feed_Processing_Finished and Report_Processing_Finished notification schemas. --- .../FeedProcessingFinishedNotification.json | 81 +++++++++++++++---- .../ReportProcessingFinishedNotification.json | 81 +++++++++++++++---- 2 files changed, 130 insertions(+), 32 deletions(-) diff --git a/schemas/notifications/FeedProcessingFinishedNotification.json b/schemas/notifications/FeedProcessingFinishedNotification.json index 9055c5c54..1925c5a10 100644 --- a/schemas/notifications/FeedProcessingFinishedNotification.json +++ b/schemas/notifications/FeedProcessingFinishedNotification.json @@ -12,6 +12,28 @@ "payload": { "feedProcessingFinishedNotification": { "sellerId": "A3TH9S8BH6GOGM", + "accountId": "amzn1.merchant.o.A3TH9S8BH6GOGM", + "feedId": "53347018456", + "feedType": "POST_PRODUCT_DATA", + "processingStatus": "DONE", + "resultFeedDocumentId": "amzn1.tortuga.3.edbcd0d8-3434-8222-1234-52ad8ade1208.URUTI57URI9BMZ" + } + }, + "notificationMetadata": { + "applicationId": "amzn1.sellerapps.app.aacccfff-44aa-4b7c-b42b-ed4ec98dd746", + "subscriptionId": "subscription-id-d0e9e693-c3ad-4373-979f-ed4ec98dd746", + "publishTime": "2020-07-13T19:42:04.284Z", + "notificationId": "d0e9e693-c3ad-4373-979f-ed4ec98dd746" + } + }, + { + "notificationVersion": "2020-09-04", + "notificationType": "FEED_PROCESSING_FINISHED", + "payloadVersion": "2020-09-04", + "eventTime": "2020-07-13T19:42:04.284Z", + "payload": { + "feedProcessingFinishedNotification": { + "accountId": "amzn1.vg.6213651", "feedId": "53347018456", "feedType": "POST_PRODUCT_DATA", "processingStatus": "DONE", @@ -38,7 +60,7 @@ "notificationVersion": { "$id": "#/properties/notificationVersion", "type": "string", - "description": "An explanation about the purpose of this instance.", + "description": "The version of the notification.", "examples": [ "2020-09-04" ] @@ -46,7 +68,7 @@ "notificationType": { "$id": "#/properties/notificationType", "type": "string", - "description": "An explanation about the purpose of this instance.", + "description": "The type of the notification.", "examples": [ "FEED_PROCESSING_FINISHED" ] @@ -54,7 +76,7 @@ "payloadVersion": { "$id": "#/properties/payloadVersion", "type": "string", - "description": "An explanation about the purpose of this instance.", + "description": "The version of the payload.", "examples": [ "2020-09-04" ] @@ -62,7 +84,7 @@ "eventTime": { "$id": "#/properties/eventTime", "type": "string", - "description": "An explanation about the purpose of this instance.", + "description": "The timestamp of the event, formatted as ISO 8601 date-time.", "examples": [ "2020-07-13T19:42:04.284Z" ] @@ -70,11 +92,21 @@ "payload": { "$id": "#/properties/payload", "type": "object", - "description": "An explanation about the purpose of this instance.", + "description": "The details of this notification.", "examples": [ { "feedProcessingFinishedNotification": { "sellerId": "A3TH9S8BH6GOGM", + "accountId": "amzn1.merchant.o.A3TH9S8BH6GOGM", + "feedId": "53347018456", + "feedType": "POST_PRODUCT_DATA", + "processingStatus": "DONE", + "resultFeedDocumentId": "amzn1.tortuga.3.edbcd0d8-3434-8222-1234-52ad8ade1208.URUTI57URI9BMZ" + } + }, + { + "feedProcessingFinishedNotification": { + "accountId": "amzn1.vg.6213651", "feedId": "53347018456", "feedType": "POST_PRODUCT_DATA", "processingStatus": "DONE", @@ -93,6 +125,14 @@ "examples": [ { "sellerId": "A3TH9S8BH6GOGM", + "accountId": "amzn1.merchant.o.A3TH9S8BH6GOGM", + "feedId": "53347018456", + "feedType": "POST_PRODUCT_DATA", + "processingStatus": "DONE", + "resultFeedDocumentId": "amzn1.tortuga.3.edbcd0d8-3434-8222-1234-52ad8ade1208.URUTI57URI9BMZ" + }, + { + "accountId": "amzn1.vg.6213651", "feedId": "53347018456", "feedType": "POST_PRODUCT_DATA", "processingStatus": "DONE", @@ -100,7 +140,7 @@ } ], "required": [ - "sellerId", + "accountId", "feedId", "feedType", "processingStatus" @@ -109,15 +149,24 @@ "sellerId": { "$id": "#/properties/payload/properties/feedProcessingFinishedNotification/properties/sellerId", "type": "string", - "description": "An explanation about the purpose of this instance.", + "description": "The merchant customer identifier of the selling partner account on whose behalf the feed was submitted. This field will be null when the feed was submitted on behalf of a vendor group identifier.", "examples": [ "A3TH9S8BH6GOGM" ] }, + "accountId": { + "$id": "#/properties/payload/properties/feedProcessingFinishedNotification/properties/accountId", + "type": "string", + "description": "The merchant customer identifier or vendor group identifier of the selling partner account on whose behalf the feed was submitted.", + "examples": [ + "amzn1.merchant.o.A3TH9S8BH6GOGM", + "amzn1.vg.6213651" + ] + }, "feedId": { "$id": "#/properties/payload/properties/feedProcessingFinishedNotification/properties/feedId", "type": "string", - "description": "An explanation about the purpose of this instance.", + "description": "The feed identifier.", "examples": [ "53347018456" ] @@ -125,7 +174,7 @@ "feedType": { "$id": "#/properties/payload/properties/feedProcessingFinishedNotification/properties/feedType", "type": "string", - "description": "An explanation about the purpose of this instance.", + "description": "The feed type.", "examples": [ "POST_PRODUCT_DATA" ] @@ -133,7 +182,7 @@ "processingStatus": { "$id": "#/properties/payload/properties/feedProcessingFinishedNotification/properties/processingStatus", "type": "string", - "description": "An explanation about the purpose of this instance.", + "description": "The processing status of the feed.", "examples": [ "CANCELLED", "DONE", @@ -148,7 +197,7 @@ "resultFeedDocumentId": { "$id": "#/properties/payload/properties/feedProcessingFinishedNotification/properties/resultFeedDocumentId", "type": "string", - "description": "An explanation about the purpose of this instance.", + "description": "The feed document identifier. This identifier is unique only in combination with a seller ID.", "examples": [ "amzn1.tortuga.3.edbcd0d8-3434-8222-1234-52ad8ade1208.URUTI57URI9BMZ" ] @@ -160,7 +209,7 @@ "notificationMetadata": { "$id": "#/properties/notificationMetadata", "type": "object", - "description": "An explanation about the purpose of this instance.", + "description": "The metadata of the notification.", "examples": [ { "applicationId": "amzn1.sellerapps.app.aacccfff-44aa-4b7c-b42b-ed4ec98dd746", @@ -179,7 +228,7 @@ "applicationId": { "$id": "#/properties/notificationMetadata/properties/applicationId", "type": "string", - "description": "An explanation about the purpose of this instance.", + "description": "The application identifier.", "examples": [ "amzn1.sellerapps.app.aacccfff-44aa-4b7c-b42b-ed4ec98dd746" ] @@ -187,7 +236,7 @@ "subscriptionId": { "$id": "#/properties/notificationMetadata/properties/subscriptionId", "type": "string", - "description": "An explanation about the purpose of this instance.", + "description": "The subscription identifier.", "examples": [ "subscription-id-d0e9e693-c3ad-4373-979f-ed4ec98dd746" ] @@ -195,7 +244,7 @@ "publishTime": { "$id": "#/properties/notificationMetadata/properties/publishTime", "type": "string", - "description": "An explanation about the purpose of this instance.", + "description": "The timestamp of when the notification was published, formatted as ISO 8601 date-time.", "examples": [ "2020-07-13T19:42:04.284Z" ] @@ -203,7 +252,7 @@ "notificationId": { "$id": "#/properties/notificationMetadata/properties/notificationId", "type": "string", - "description": "An explanation about the purpose of this instance.", + "description": "The notification identifier.", "examples": [ "d0e9e693-c3ad-4373-979f-ed4ec98dd746" ] diff --git a/schemas/notifications/ReportProcessingFinishedNotification.json b/schemas/notifications/ReportProcessingFinishedNotification.json index a104dab23..8a2246c83 100644 --- a/schemas/notifications/ReportProcessingFinishedNotification.json +++ b/schemas/notifications/ReportProcessingFinishedNotification.json @@ -12,6 +12,28 @@ "payload": { "reportProcessingFinishedNotification": { "sellerId": "A3TH9S8BH6GOGM", + "accountId": "amzn1.merchant.o.A3TH9S8BH6GOGM", + "reportId": "54517018502", + "reportType": "GET_FLAT_FILE_ACTIONABLE_ORDER_DATA", + "processingStatus": "CANCELLED", + "reportDocumentId": "amzn1.tortuga.3.edbcd0d8-3434-8222-1234-52ad8ade1208.REP4567URI9BMZ" + } + }, + "notificationMetadata": { + "applicationId": "amzn1.sellerapps.app.aacccfff-4455-4b7c-4422-664ecacdd336", + "subscriptionId": "subscription-id-d0e9e693-c3ad-4373-979f-ed4ec98dd746", + "publishTime": "2020-07-13T19:42:04.284Z", + "notificationId": "d0e9e693-c3ad-4373-979f-ed4ec98dd746" + } + }, + { + "notificationVersion": "2020-09-04", + "notificationType": "REPORT_PROCESSING_FINISHED", + "payloadVersion": "2020-09-04", + "eventTime": "2020-07-14T03:35:13.214Z", + "payload": { + "reportProcessingFinishedNotification": { + "accountId": "amzn1.vg.6213651", "reportId": "54517018502", "reportType": "GET_FLAT_FILE_ACTIONABLE_ORDER_DATA", "processingStatus": "CANCELLED", @@ -38,7 +60,7 @@ "notificationVersion": { "$id": "#/properties/notificationVersion", "type": "string", - "description": "An explanation about the purpose of this instance.", + "description": "The version of the notification.", "examples": [ "2020-09-04" ] @@ -46,7 +68,7 @@ "notificationType": { "$id": "#/properties/notificationType", "type": "string", - "description": "An explanation about the purpose of this instance.", + "description": "The type of the notification.", "examples": [ "REPORT_PROCESSING_FINISHED" ] @@ -54,7 +76,7 @@ "payloadVersion": { "$id": "#/properties/payloadVersion", "type": "string", - "description": "An explanation about the purpose of this instance.", + "description": "The version of the payload.", "examples": [ "2020-09-04" ] @@ -62,7 +84,7 @@ "eventTime": { "$id": "#/properties/eventTime", "type": "string", - "description": "An explanation about the purpose of this instance.", + "description": "The timestamp of the event, formatted as ISO 8601 date-time.", "examples": [ "2020-07-14T03:35:13.214Z" ] @@ -70,11 +92,21 @@ "payload": { "$id": "#/properties/payload", "type": "object", - "description": "An explanation about the purpose of this instance.", + "description": "The details of this notification.", "examples": [ { "reportProcessingFinishedNotification": { "sellerId": "A3TH9S8BH6GOGM", + "accountId": "amzn1.merchant.o.A3TH9S8BH6GOGM", + "reportId": "54517018502", + "reportType": "GET_FLAT_FILE_ACTIONABLE_ORDER_DATA", + "processingStatus": "CANCELLED", + "reportDocumentId": "amzn1.tortuga.3.edbcd0d8-3434-8222-1234-52ad8ade1208.REP4567URI9BMZ" + } + }, + { + "reportProcessingFinishedNotification": { + "accountId": "amzn1.vg.6213651", "reportId": "54517018502", "reportType": "GET_FLAT_FILE_ACTIONABLE_ORDER_DATA", "processingStatus": "CANCELLED", @@ -93,6 +125,14 @@ "examples": [ { "sellerId": "A3TH9S8BH6GOGM", + "accountId": "amzn1.merchant.o.A3TH9S8BH6GOGM", + "reportId": "54517018502", + "reportType": "GET_FLAT_FILE_ACTIONABLE_ORDER_DATA", + "processingStatus": "CANCELLED", + "reportDocumentId": "amzn1.tortuga.3.edbcd0d8-3434-8222-1234-52ad8ade1208.REP4567URI9BMZ" + }, + { + "accountId": "amzn1.vg.6213651", "reportId": "54517018502", "reportType": "GET_FLAT_FILE_ACTIONABLE_ORDER_DATA", "processingStatus": "CANCELLED", @@ -100,7 +140,7 @@ } ], "required": [ - "sellerId", + "accountId", "reportId", "reportType", "processingStatus" @@ -109,15 +149,24 @@ "sellerId": { "$id": "#/properties/payload/properties/reportProcessingFinishedNotification/properties/sellerId", "type": "string", - "description": "An explanation about the purpose of this instance.", + "description": "The merchant customer identifier of the selling partner account on whose behalf the report was submitted. This field will be null when the report was submitted on behalf of a vendor group identifier.", "examples": [ "A3TH9S8BH6GOGM" ] }, + "accountId": { + "$id": "#/properties/payload/properties/reportProcessingFinishedNotification/properties/accountId", + "type": "string", + "description": "The merchant customer identifier or vendor group identifier of the selling partner account on whose behalf the report was submitted.", + "examples": [ + "amzn1.merchant.o.A3TH9S8BH6GOGM", + "amzn1.vg.6213651" + ] + }, "reportId": { "$id": "#/properties/payload/properties/reportProcessingFinishedNotification/properties/reportId", "type": "string", - "description": "An explanation about the purpose of this instance.", + "description": "The report identifier.", "examples": [ "54517018502" ] @@ -125,7 +174,7 @@ "reportType": { "$id": "#/properties/payload/properties/reportProcessingFinishedNotification/properties/reportType", "type": "string", - "description": "An explanation about the purpose of this instance.", + "description": "The report type.", "examples": [ "GET_FLAT_FILE_ACTIONABLE_ORDER_DATA" ] @@ -133,7 +182,7 @@ "processingStatus": { "$id": "#/properties/payload/properties/reportProcessingFinishedNotification/properties/processingStatus", "type": "string", - "description": "An explanation about the purpose of this instance.", + "description": "The processing status of the report.", "examples": [ "CANCELLED", "DONE", @@ -148,7 +197,7 @@ "reportDocumentId": { "$id": "#/properties/payload/properties/reportProcessingFinishedNotification/properties/reportDocumentId", "type": "string", - "description": "An explanation about the purpose of this instance.", + "description": "The report document identifier. This identifier is unique only in combination with a seller ID.", "examples": [ "amzn1.tortuga.3.edbcd0d8-3434-8222-1234-52ad8ade1208.REP4567URI9BMZ" ] @@ -160,7 +209,7 @@ "notificationMetadata": { "$id": "#/properties/notificationMetadata", "type": "object", - "description": "An explanation about the purpose of this instance.", + "description": "The metadata of the notification.", "examples": [ { "applicationId": "amzn1.sellerapps.app.aacccfff-4455-4b7c-4422-664ecacdd336", @@ -179,7 +228,7 @@ "applicationId": { "$id": "#/properties/notificationMetadata/properties/applicationId", "type": "string", - "description": "An explanation about the purpose of this instance.", + "description": "The application identifier.", "examples": [ "amzn1.sellerapps.app.aacccfff-4455-4b7c-4422-664ecacdd336" ] @@ -187,7 +236,7 @@ "subscriptionId": { "$id": "#/properties/notificationMetadata/properties/subscriptionId", "type": "string", - "description": "An explanation about the purpose of this instance.", + "description": "The subscription identifier.", "examples": [ "subscription-id-d0e9e693-c3ad-4373-979f-ed4ec98dd746" ] @@ -195,7 +244,7 @@ "publishTime": { "$id": "#/properties/notificationMetadata/properties/publishTime", "type": "string", - "description": "An explanation about the purpose of this instance.", + "description": "The timestamp of when the notification was published, formatted as ISO 8601 date-time.", "examples": [ "2020-07-13T19:42:04.284Z" ] @@ -203,7 +252,7 @@ "notificationId": { "$id": "#/properties/notificationMetadata/properties/notificationId", "type": "string", - "description": "An explanation about the purpose of this instance.", + "description": "The notification identifier.", "examples": [ "d0e9e693-c3ad-4373-979f-ed4ec98dd746" ] From fc71d318dd7cd216f49c5ee06b1aa5693ef428f6 Mon Sep 17 00:00:00 2001 From: Jack Evoniuk Date: Wed, 20 Mar 2024 11:07:14 -0700 Subject: [PATCH 046/340] Update Vendor Shipments model --- .../vendorShipments.json | 961 +++--------------- 1 file changed, 120 insertions(+), 841 deletions(-) diff --git a/models/vendor-shipments-api-model/vendorShipments.json b/models/vendor-shipments-api-model/vendorShipments.json index 596d3067e..f65021f05 100644 --- a/models/vendor-shipments-api-model/vendorShipments.json +++ b/models/vendor-shipments-api-model/vendorShipments.json @@ -35,183 +35,10 @@ { "in": "body", "name": "body", + "description": "A request to submit shipment confirmation.", "required": true, "schema": { - "$ref": "#/definitions/SubmitShipmentConfirmationsRequest", - "example": { - "shipmentConfirmations": [ - { - "shipmentIdentifier": "00050003", - "shipmentConfirmationType": "Original", - "shipmentType": "LessThanTruckLoad", - "shipmentStructure": "PalletizedStandardCase", - "transportationDetails": { - "transportationMode": "Road", - "billOfLadingNumber": "02440000" - }, - "shipmentConfirmationDate": "2019-08-07T19:56:45.632Z", - "shippedDate": "2019-08-07T19:56:45.632Z", - "estimatedDeliveryDate": "2019-08-07T19:56:45.632Z", - "sellingParty": { - "partyId": "VENDORCODE" - }, - "shipFromParty": { - "address": { - "name": "ABC electronics warehouse", - "addressLine1": "DEF 1st street", - "city": "Lisses", - "stateOrRegion": "abcland", - "postalCode": "91090", - "countryCode": "DE" - }, - "partyId": "VENDORWAREHOUSECODE" - }, - "shipToParty": { - "partyId": "AMZWAREHOUSECODE" - }, - "shipmentMeasurements": { - "grossShipmentWeight": { - "unitOfMeasure": "Kg", - "value": "120.45" - }, - "shipmentVolume": { - "unitOfMeasure": "CuFt", - "value": "2.4" - }, - "palletCount": 1 - }, - "shippedItems": [ - { - "itemSequenceNumber": "001", - "vendorProductIdentifier": "9782700001659", - "shippedQuantity": { - "amount": 100, - "unitOfMeasure": "Eaches", - "unitSize": 1 - }, - "itemDetails": { - "purchaseOrderNumber": "1BBBAAAA", - "lotNumber": "1045", - "maximumRetailPrice": { - "currencyCode": "EUR", - "amount": "299.00" - }, - "handlingCode": "Oversized" - } - } - ], - "cartons": [ - { - "cartonIdentifiers": [ - { - "containerIdentificationType": "SSCC", - "containerIdentificationNumber": "00102234567666698888" - } - ], - "cartonSequenceNumber": "001", - "items": [ - { - "itemReference": "001", - "shippedQuantity": { - "amount": 25, - "unitOfMeasure": "Eaches", - "unitSize": 1 - } - } - ] - }, - { - "cartonIdentifiers": [ - { - "containerIdentificationType": "SSCC", - "containerIdentificationNumber": "00102234567666699999" - } - ], - "cartonSequenceNumber": "002", - "items": [ - { - "itemReference": "001", - "shippedQuantity": { - "amount": 25, - "unitOfMeasure": "Eaches", - "unitSize": 1 - } - } - ] - }, - { - "cartonIdentifiers": [ - { - "containerIdentificationType": "SSCC", - "containerIdentificationNumber": "00102234567666696666" - } - ], - "cartonSequenceNumber": "003", - "items": [ - { - "itemReference": "001", - "shippedQuantity": { - "amount": 25, - "unitOfMeasure": "Eaches", - "unitSize": 1 - } - } - ] - }, - { - "cartonIdentifiers": [ - { - "containerIdentificationType": "SSCC", - "containerIdentificationNumber": "00102234567666697777" - } - ], - "cartonSequenceNumber": "004", - "items": [ - { - "itemReference": "001", - "shippedQuantity": { - "amount": 25, - "unitOfMeasure": "Eaches", - "unitSize": 1 - } - } - ] - } - ], - "pallets": [ - { - "palletIdentifiers": [ - { - "containerIdentificationType": "SSCC", - "containerIdentificationNumber": "00102234567898098745" - } - ], - "tier": 2, - "block": 2, - "dimensions": { - "length": "1.2", - "width": "0.8", - "height": "1", - "unitOfMeasure": "In" - }, - "weight": { - "unitOfMeasure": "Kg", - "value": "120.45" - }, - "cartonReferenceDetails": { - "cartonCount": 4, - "cartonReferenceNumbers": [ - "001", - "002", - "003", - "004" - ] - } - } - ] - } - ] - } + "$ref": "#/definitions/SubmitShipmentConfirmationsRequest" } } ], @@ -376,10 +203,6 @@ "$ref": "#/definitions/SubmitShipmentConfirmationsResponse" }, "headers": { - "x-amzn-RateLimit-Limit": { - "type": "string", - "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." - }, "x-amzn-RequestId": { "type": "string", "description": "Unique request reference identifier." @@ -392,10 +215,6 @@ "$ref": "#/definitions/SubmitShipmentConfirmationsResponse" }, "headers": { - "x-amzn-RateLimit-Limit": { - "type": "string", - "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." - }, "x-amzn-RequestId": { "type": "string", "description": "Unique request reference identifier." @@ -408,10 +227,6 @@ "$ref": "#/definitions/SubmitShipmentConfirmationsResponse" }, "headers": { - "x-amzn-RateLimit-Limit": { - "type": "string", - "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." - }, "x-amzn-RequestId": { "type": "string", "description": "Unique request reference identifier." @@ -424,10 +239,6 @@ "$ref": "#/definitions/SubmitShipmentConfirmationsResponse" }, "headers": { - "x-amzn-RateLimit-Limit": { - "type": "string", - "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." - }, "x-amzn-RequestId": { "type": "string", "description": "Unique request reference identifier." @@ -440,10 +251,6 @@ "$ref": "#/definitions/SubmitShipmentConfirmationsResponse" }, "headers": { - "x-amzn-RateLimit-Limit": { - "type": "string", - "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." - }, "x-amzn-RequestId": { "type": "string", "description": "Unique request reference identifier." @@ -451,8 +258,7 @@ } } } - }, - "parameters": [] + } }, "/vendor/shipping/v1/shipments": { "post": { @@ -465,6 +271,7 @@ { "in": "body", "name": "body", + "description": "A request to submit shipment request.", "required": true, "schema": { "$ref": "#/definitions/SubmitShipments" @@ -838,10 +645,6 @@ "$ref": "#/definitions/SubmitShipmentConfirmationsResponse" }, "headers": { - "x-amzn-RateLimit-Limit": { - "type": "string", - "description": "Your rate limit (requests per second) for this operation." - }, "x-amzn-RequestId": { "type": "string", "description": "Unique request reference identifier." @@ -854,10 +657,6 @@ "$ref": "#/definitions/SubmitShipmentConfirmationsResponse" }, "headers": { - "x-amzn-RateLimit-Limit": { - "type": "string", - "description": "Your rate limit (requests per second) for this operation." - }, "x-amzn-RequestId": { "type": "string", "description": "Unique request reference identifier." @@ -870,10 +669,6 @@ "$ref": "#/definitions/SubmitShipmentConfirmationsResponse" }, "headers": { - "x-amzn-RateLimit-Limit": { - "type": "string", - "description": "Your rate limit (requests per second) for this operation." - }, "x-amzn-RequestId": { "type": "string", "description": "Unique request reference identifier." @@ -886,10 +681,6 @@ "$ref": "#/definitions/SubmitShipmentConfirmationsResponse" }, "headers": { - "x-amzn-RateLimit-Limit": { - "type": "string", - "description": "Your rate limit (requests per second) for this operation." - }, "x-amzn-RequestId": { "type": "string", "description": "Unique request reference identifier." @@ -902,10 +693,6 @@ "$ref": "#/definitions/SubmitShipmentConfirmationsResponse" }, "headers": { - "x-amzn-RateLimit-Limit": { - "type": "string", - "description": "Your rate limit (requests per second) for this operation." - }, "x-amzn-RequestId": { "type": "string", "description": "Unique request reference identifier." @@ -962,7 +749,7 @@ { "name": "createdAfter", "in": "query", - "description": "Get Shipment Details that became available after this timestamp will be included in the result. Must be in ISO-8601 date/time format.", + "description": "Get Shipment Details that became available after this timestamp will be included in the result. Must be in ISO 8601 format.", "required": false, "type": "string", "format": "date-time" @@ -970,7 +757,7 @@ { "name": "createdBefore", "in": "query", - "description": "Get Shipment Details that became available before this timestamp will be included in the result. Must be in ISO-8601 date/time format.", + "description": "Get Shipment Details that became available before this timestamp will be included in the result. Must be in ISO 8601 format.", "required": false, "type": "string", "format": "date-time" @@ -978,7 +765,7 @@ { "name": "shipmentConfirmedBefore", "in": "query", - "description": "Get Shipment Details by passing Shipment confirmed create Date Before. Must be in ISO-8601 date/time format.", + "description": "Get Shipment Details by passing Shipment confirmed create Date Before. Must be in ISO 8601 format.", "required": false, "type": "string", "format": "date-time" @@ -986,7 +773,7 @@ { "name": "shipmentConfirmedAfter", "in": "query", - "description": "Get Shipment Details by passing Shipment confirmed create Date After. Must be in ISO-8601 date/time format.", + "description": "Get Shipment Details by passing Shipment confirmed create Date After. Must be in ISO 8601 format.", "required": false, "type": "string", "format": "date-time" @@ -994,7 +781,7 @@ { "name": "packageLabelCreatedBefore", "in": "query", - "description": "Get Shipment Details by passing Package label create Date by buyer. Must be in ISO-8601 date/time format.", + "description": "Get Shipment Details by passing Package label create Date by buyer. Must be in ISO 8601 format.", "required": false, "type": "string", "format": "date-time" @@ -1002,7 +789,7 @@ { "name": "packageLabelCreatedAfter", "in": "query", - "description": "Get Shipment Details by passing Package label create Date After by buyer. Must be in ISO-8601 date/time format.", + "description": "Get Shipment Details by passing Package label create Date After by buyer. Must be in ISO 8601 format.", "required": false, "type": "string", "format": "date-time" @@ -1010,7 +797,7 @@ { "name": "shippedBefore", "in": "query", - "description": "Get Shipment Details by passing Shipped Date Before. Must be in ISO-8601 date/time format.", + "description": "Get Shipment Details by passing Shipped Date Before. Must be in ISO 8601 format.", "required": false, "type": "string", "format": "date-time" @@ -1018,7 +805,7 @@ { "name": "shippedAfter", "in": "query", - "description": "Get Shipment Details by passing Shipped Date After. Must be in ISO-8601 date/time format.", + "description": "Get Shipment Details by passing Shipped Date After. Must be in ISO 8601 format.", "required": false, "type": "string", "format": "date-time" @@ -1026,7 +813,7 @@ { "name": "estimatedDeliveryBefore", "in": "query", - "description": "Get Shipment Details by passing Estimated Delivery Date Before. Must be in ISO-8601 date/time format.", + "description": "Get Shipment Details by passing Estimated Delivery Date Before. Must be in ISO 8601 format.", "required": false, "type": "string", "format": "date-time" @@ -1034,7 +821,7 @@ { "name": "estimatedDeliveryAfter", "in": "query", - "description": "Get Shipment Details by passing Estimated Delivery Date Before. Must be in ISO-8601 date/time format.", + "description": "Get Shipment Details by passing Estimated Delivery Date Before. Must be in ISO 8601 format.", "required": false, "type": "string", "format": "date-time" @@ -1042,7 +829,7 @@ { "name": "shipmentDeliveryBefore", "in": "query", - "description": "Get Shipment Details by passing Shipment Delivery Date Before. Must be in ISO-8601 date/time format.", + "description": "Get Shipment Details by passing Shipment Delivery Date Before. Must be in ISO 8601 format.", "required": false, "type": "string", "format": "date-time" @@ -1050,7 +837,7 @@ { "name": "shipmentDeliveryAfter", "in": "query", - "description": "Get Shipment Details by passing Shipment Delivery Date After. Must be in ISO-8601 date/time format.", + "description": "Get Shipment Details by passing Shipment Delivery Date After. Must be in ISO 8601 format.", "required": false, "type": "string", "format": "date-time" @@ -1058,7 +845,7 @@ { "name": "requestedPickUpBefore", "in": "query", - "description": "Get Shipment Details by passing Before Requested pickup date. Must be in ISO-8601 date/time format.", + "description": "Get Shipment Details by passing Before Requested pickup date. Must be in ISO 8601 format.", "required": false, "type": "string", "format": "date-time" @@ -1066,7 +853,7 @@ { "name": "requestedPickUpAfter", "in": "query", - "description": "Get Shipment Details by passing After Requested pickup date. Must be in ISO-8601 date/time format.", + "description": "Get Shipment Details by passing After Requested pickup date. Must be in ISO 8601 format.", "required": false, "type": "string", "format": "date-time" @@ -1074,7 +861,7 @@ { "name": "scheduledPickUpBefore", "in": "query", - "description": "Get Shipment Details by passing Before scheduled pickup date. Must be in ISO-8601 date/time format.", + "description": "Get Shipment Details by passing Before scheduled pickup date. Must be in ISO 8601 format.", "required": false, "type": "string", "format": "date-time" @@ -1082,7 +869,7 @@ { "name": "scheduledPickUpAfter", "in": "query", - "description": "Get Shipment Details by passing After Scheduled pickup date. Must be in ISO-8601 date/time format.", + "description": "Get Shipment Details by passing After Scheduled pickup date. Must be in ISO 8601 format.", "required": false, "type": "string", "format": "date-time" @@ -1584,384 +1371,28 @@ "expiryAfterDuration": { "durationUnit": "Days", "durationValue": 0 - } - } - } - } - ] - } - ], - "transportationDetails": { - "shipMode": "LessThanTruckLoad", - "transportationMode": "Road", - "shippedDate": "2019-08-07T19:56:45.632", - "estimatedDeliveryDate": "2019-08-07T19:56:45.632", - "shipmentDeliveryDate": "2019-08-07T19:56:45.632", - "carrierDetails": { - "name": "UPS", - "phone": "1234567890", - "email": "abc@xyz.com", - "code": "1-1231", - "shipmentReferenceNumber": "TRACK001" - }, - "billOfLadingNumber": "12534233421" - } - } - ] - } - } - } - ] - }, - "400": { - "description": "Request has missing or invalid parameters and cannot be parsed.", - "schema": { - "$ref": "#/definitions/GetShipmentDetailsResponse" - }, - "headers": { - "x-amzn-RateLimit-Limit": { - "type": "string", - "description": "Your rate limit (requests per second) for this operation." - }, - "x-amzn-RequestId": { - "type": "string", - "description": "Unique request reference identifier." - } - }, - "x-amazon-spds-sandbox-behaviors": [ - { - "request": { - "parameters": { - "vendorShipmentIdentifier": { - "value": "null" - } - } - }, - "response": { - "errors": [ - { - "code": "InvalidRequest", - "message": "Request is missing or has invalid parameters", - "details": "vendor Shipment Identifier cannot be null" - } - ] - } - } - ] - }, - "401": { - "description": "The request's Authorization header is not formatted correctly or does not contain a valid token.", - "schema": { - "$ref": "#/definitions/GetShipmentDetailsResponse" - }, - "headers": { - "x-amzn-RateLimit-Limit": { - "type": "string", - "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." - }, - "x-amzn-RequestId": { - "type": "string", - "description": "Unique request reference identifier." - } - } - }, - "403": { - "description": "Indicates that access to the resource is forbidden. Possible reasons include Access Denied, Unauthorized, Expired Token, or Invalid Signature.", - "schema": { - "$ref": "#/definitions/GetShipmentDetailsResponse" - }, - "headers": { - "x-amzn-RateLimit-Limit": { - "type": "string", - "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." - }, - "x-amzn-RequestId": { - "type": "string", - "description": "Unique request reference identifier." - } - } - }, - "404": { - "description": "The resource specified does not exist.", - "schema": { - "$ref": "#/definitions/GetShipmentDetailsResponse" - }, - "headers": { - "x-amzn-RateLimit-Limit": { - "type": "string", - "description": "Your rate limit (requests per second) for this operation." - }, - "x-amzn-RequestId": { - "type": "string", - "description": "Unique request reference identifier." - } - } - }, - "415": { - "description": "The request payload is in an unsupported format.", - "schema": { - "$ref": "#/definitions/GetShipmentDetailsResponse" - }, - "headers": { - "x-amzn-RateLimit-Limit": { - "type": "string", - "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." - }, - "x-amzn-RequestId": { - "type": "string", - "description": "Unique request reference identifier." - } - } - }, - "429": { - "description": "The frequency of requests was greater than allowed.", - "schema": { - "$ref": "#/definitions/GetShipmentDetailsResponse" - }, - "headers": { - "x-amzn-RateLimit-Limit": { - "type": "string", - "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." - }, - "x-amzn-RequestId": { - "type": "string", - "description": "Unique request reference identifier." - } - } - }, - "500": { - "description": "An unexpected condition occurred that prevented the server from fulfilling the request.", - "schema": { - "$ref": "#/definitions/GetShipmentDetailsResponse" - }, - "headers": { - "x-amzn-RateLimit-Limit": { - "type": "string", - "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." - }, - "x-amzn-RequestId": { - "type": "string", - "description": "Unique request reference identifier." - } - } - }, - "503": { - "description": "Temporary overloading or maintenance of the server.", - "schema": { - "$ref": "#/definitions/GetShipmentDetailsResponse" - }, - "headers": { - "x-amzn-RateLimit-Limit": { - "type": "string", - "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." - }, - "x-amzn-RequestId": { - "type": "string", - "description": "Unique request reference identifier." - } - } - } - } - } - }, - "/vendor/shipping/v1/transportLabels": { - "get": { - "tags": [ - "vendorShipping" - ], - "description": "Returns transport Labels based on the filters that you specify.\n\n**Usage Plan:**\n\n| Rate (requests per second) | Burst |\n| ---- | ---- |\n| 10 | 10 |\n\nThe `x-amzn-RateLimit-Limit` response header returns the usage plan rate limits that were applied to the requested operation, when available. The table above indicates the default rate and burst values for this operation. Selling partners whose business demands require higher throughput may see higher rate and burst values than those shown here. For more information, see [Usage Plans and Rate Limits in the Selling Partner API](https://developer-docs.amazon.com/sp-api/docs/usage-plans-and-rate-limits-in-the-sp-api).", - "operationId": "GetShipmentLabels", - "parameters": [ - { - "name": "limit", - "in": "query", - "description": "The limit to the number of records returned. Default value is 50 records.", - "required": false, - "type": "integer", - "maximum": 50, - "minimum": 1, - "format": "int64" - }, - { - "name": "sortOrder", - "in": "query", - "description": "Sort in ascending or descending order by transport label creation date.", - "required": false, - "type": "string", - "enum": [ - "ASC", - "DESC" - ], - "x-docgen-enum-table-extension": [ - { - "value": "ASC", - "description": "Sort in ascending order by transport label creation date." - }, - { - "value": "DESC", - "description": "Sort in descending order by transport label creation date." - } - ] - }, - { - "name": "nextToken", - "in": "query", - "description": "Used for pagination when there are more transport label than the specified result size limit.", - "required": false, - "type": "string" - }, - { - "name": "labelCreatedAfter", - "in": "query", - "description": "transport Labels that became available after this timestamp will be included in the result. Must be in ISO-8601 date/time format.", - "required": false, - "type": "string", - "format": "date-time" - }, - { - "name": "labelcreatedBefore", - "in": "query", - "description": "transport Labels that became available before this timestamp will be included in the result. Must be in ISO-8601 date/time format.", - "required": false, - "type": "string", - "format": "date-time" - }, - { - "name": "buyerReferenceNumber", - "in": "query", - "description": "Get transport labels by passing Buyer Reference Number to retreive the corresponding transport label.", - "required": false, - "type": "string" - }, - { - "name": "vendorShipmentIdentifier", - "in": "query", - "description": "Get transport labels by passing Vendor Shipment ID to retreive the corresponding transport label.", - "required": false, - "type": "string" - }, - { - "name": "sellerWarehouseCode", - "in": "query", - "description": "Get Shipping labels based Vendor Warehouse code. This value should be same as 'shipFromParty.partyId' in the Shipment.", - "required": false, - "type": "string" - } - ], - "responses": { - "200": { - "description": "Success.", - "schema": { - "$ref": "#/definitions/GetShipmentLabels" - }, - "examples": { - "application/json": { - "payload": { - "pagination": { - "nextToken": "MDAwMDAwMDAwMQ==" - }, - "transportLabels": [ - { - "labelCreateDateTime": "1628505423212", - "shipmentInformation": { - "vendorDetails": { - "sellingParty": { - "partyId": "WHF47" - }, - "vendorShipmentId": "7822" - }, - "buyerReferenceNumber": "14511336331", - "shipToParty": { - "partyId": "LAX9" - }, - "shipFromParty": { - "partyId": "0-55767831", - "address": { - "name": "Wheeler Bros., Inc. HQ", - "addressLine1": "384 Drum Ave", - "addressLine2": "", - "addressLine3": "", - "city": "Somerset", - "stateOrRegion": "PA", - "postalCode": "15501", - "countryCode": "US" + } + } + } + } + ] } - }, - "masterTrackingId": "1ZR873R70319165935", - "totalLabelCount": 1, - "shipMode": "SmallParcel" - }, - "labelData": [ - { - "labelSequenceNumber": 1, - "labelFormat": "PDF", - "carrierCode": "UPSN", - "trackingId": "1ZR873R70319165935", - "label": "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GqUnjuQTNSOw6h7Lzw+MyywXrrDTItooQ4gA+NK4t/fszGk75/Ucm/CjxIg3YWwk5OKP+V8PZoeJTo2LQ3nDuzG/bQz30nJNnbbEhNiCBkEcCLLVtzRtnaoTxlDbQDwXfGnc29t1V9NRxMkJP0eJeBnLjTS7cn9rt+jfK0Snv/PpABWG/bZhrKbDlQuxHQ2COBBkqyO7fReZkNPJi5MMQYiNhCf0/hA/KVjcc37UOjpHiXgZs77y7rFfoEvt6zGnv5NRHZ7n+u0koO0c8UJsRIMgDgT56GQ+WKUkQ85lLkU+CiF2ER7S5ENBYZbbQ3J+iAzxPoy+wpfY/YrtjuvUvlUXbDOxQpyjX4gtaBDEgdhfHLtp8bsVNITM9TvTQDEoRBvheRk2/GwKNB1FzDbPIRvpEBnifSz7yvW5R7oUt+P6SRC4UmSkDm8hDgxBiGY0C+JA7t+aGZm7dHpCprseaqAYFKKN8LwMG342BZqOIozEnpBzLUZRhPpKCPFi9C8LcSCxfy9473JpC7nC+10DxaAQbYTnZdjwsynQdBRhJPaEnGsxiiLUV0KIF6N/WYgDif17wXuXCDHkvKm8hr0yhAgQHtgt8y4uHF4FlV4Uob4SQrwY/XYSB5L5qRn4vRqmImSizbCGvTKECBCe3L2DL/7j8Cqo9KII9ZUQ4sXot5M4kMxPzcDvVRfVIRfZd2nYK0OIAOEpPmcJfJnDq6DSiyLUV0KIF6PfTuJAzvypWcoJEb0yseIjHPtPVPEC1DmiCPWVEOLF6KeXOJAP/nvhhIhemVjxEfTfGUQd6hxRhPpKCPFi9NNLHMgH/71wQkSvTKz4CPrvDKIOdY4oQn0lhHgx+uklDkT/XtiCEiuei/47g6hDnSOKUF8JIV6MfnqJA9G/F7agxIrnov/OIOpQ54gi1FdCiBejn17iQPTvhS0oseK56L8ziDrUOaII9ZUQ4sXop5c4EP17YQtKrHgu+u8Mog51jihCfSWEeDH66SUORP9e2IISK56L/juDqEOdI4pQXwkhXox+eokD0b8XtqDEiuei/84g6lDniCLUV0KIF6OfXuJA9O+FLSix4rnovzOIOtQ5ogjX4hJCCCGEEEII8TJ2/6tUvI3dHS2EEEIIIYQQYie7/1Uq3sb/AB78i4gNCmVuZHN0cmVhbQplbmRvYmoKeHJlZgowIDcKMDAwMDAwMDAwMCA2NTUzNSBmDQowMDAwMDAwMDE1IDAwMDAwIG4NCjAwMDAwMDAxOTUgMDAwMDAgbg0KMDAwMDAwMDA3OCAwMDAwMCBuDQowMDAwMDAwMjUyIDAwMDAwIG4NCjAwMDAwMDA0NzkgMDAwMDAgbg0KMDAwMDAwMDYyMSAwMDAwMCBuDQp0cmFpbGVyCjw8Ci9Sb290IDEgMCBSCi9JbmZvIDMgMCBSCi9JRCBbPDZENEMxOEUzNENDNDYzQ0FEQTU1NUNFMTIxOTg0QUIzPiA8NkQ0QzE4RTM0Q0M0NjNDQURBNTU1Q0UxMjE5ODRBQjM+XQovU2l6ZSA3Cj4+CnN0YXJ0eHJlZgo0MDQ4NQolJUVPRgo=" - } - ] - } - ] - } - } - }, - "headers": { - "x-amzn-RateLimit-Limit": { - "type": "string", - "description": "Your rate limit (requests per second) for this operation." - }, - "x-amzn-RequestId": { - "type": "string", - "description": "Unique request reference identifier." - } - }, - "x-amazon-spds-sandbox-behaviors": [ - { - "request": { - "parameters": { - "vendorShipmentIdentifier": { - "value": "12345678" - } - } - }, - "response": { - "payload": { - "labelCreateDateTime": "1628505423212", - "shipmentInformation": { - "vendorDetails": { - "sellingParty": { - "partyId": "WHF47" - }, - "vendorShipmentId": "7822" - }, - "buyerReferenceNumber": "14511336331", - "shipToParty": { - "partyId": "LAX9" - }, - "shipFromParty": { - "partyId": "0-55767831", - "address": { - "name": "Wheeler Bros., Inc. HQ", - "addressLine1": "384 Drum Ave", - "addressLine2": "Suite 123", - "addressLine3": "DOOR 1", - "city": "Somerset", - "stateOrRegion": "PA", - "postalCode": "15501", - "countryCode": "US" + ], + "transportationDetails": { + "shipMode": "LessThanTruckLoad", + "transportationMode": "Road", + "shippedDate": "2019-08-07T19:56:45.632", + "estimatedDeliveryDate": "2019-08-07T19:56:45.632", + "shipmentDeliveryDate": "2019-08-07T19:56:45.632", + "carrierDetails": { + "name": "UPS", + "phone": "1234567890", + "email": "abc@xyz.com", + "code": "1-1231", + "shipmentReferenceNumber": "TRACK001" + }, + "billOfLadingNumber": "12534233421" } - }, - "masterTrackingId": "1ZR873R70319165935", - "totalLabelCount": 1, - "shipMode": "SmallParcel" - }, - "labelData": [ - { - "labelSequenceNumber": 1, - "labelFormat": "PDF", - "carrierCode": "UPSN", - "trackingId": "1ZR873R70319165935", - "label": "JVBERi0xLjQKJfbk/N8KMSAwIG9iago8PAovVHlwZSAvQ2F0YWxvZwovVmVyc2lvbiAvMS40Ci9QYWdlcyAyIDAgUgo+PgplbmRvYmoKMyAwIG9iago8PAovTW9kRGF0ZSAoRDoyMDIxMDgwNjE0MzU1MFopCi9DcmVhdGlvbkRhdGUgKEQ6MjAyMTA4MDYxNDM1NTBaKQovUHJvZHVjZXIgKGlUZXh0IDIuMS43IGJ5IDFUM1hUKQo+PgplbmRvYmoKMiAwIG9iago8PAovVHlwZSAvUGFnZXMKL0tpZHMgWzQgMCBSXQovQ291bnQgMQo+PgplbmRvYmoKNCAwIG9iago8PAovQ29udGVudHMgNSAwIFIKL1R5cGUgL1BhZ2UKL1Jlc291cmNlcyA8PAovUHJvY1NldCBbL1BERiAvVGV4dCAvSW1hZ2VCIC9JbWFnZUMgL0ltYWdlSV0KL1hPYmplY3QgPDwKL2ltZzAgNiAwIFIKPj4KPj4KL1BhcmVudCAyIDAgUgovUm90YXRlIDkwCi9NZWRpYUJveCBbMC4wIDAuMCA1OTUuMCA4NDIuMF0KL0Nyb3BCb3ggWzAuMCAwLjAgNTk1LjAgODQyLjBdCj4+CmVuZG9iago1IDAgb2JqCjw8Ci9MZW5ndGggNjkKL0ZpbHRlciAvRmxhdGVEZWNvZGUKPj4Kc3RyZWFtDQp4nDNQMFTQNVQwUDC1NAWSyblchVyFChYmRkAOTBAkrKCfmZtuoOCSrxDIFQhU4xTCZWymYGpqqRCSwuUaAhQDADg3D4YNCmVuZHN0cmVhbQplbmRvYmoKNiAwIG9iago8PAovTGVuZ3RoIDM5NjkwCi9Db2xvclNwYWNlIC9EZXZpY2VSR0IKL1N1YnR5cGUgL0ltYWdlCi9IZWlnaHQgODAwCi9GaWx0ZXIgL0ZsYXRlRGVjb2RlCi9UeXBlIC9YT2JqZWN0Ci9XaWR0aCAxNDAwCi9CaXRzUGVyQ29tcG9uZW50IDgKPj4Kc3RyZWFtDQp4nOzd25bjuo4l0Pz/n979kNVZUWFbBkmApKg5n86OtHUBFinIo0b3nz8AAAA813+QanWiAQAAWGn1WymnWZ1oAAAAVlr9Vspp5Ao4mAcoG1oxP/J/rI4AtBFv6kgOReQKOJjRiw2NvyYzaHUEoI14U0dyKCJXwMGMXmxo/DWZQasjAG3EmzqSQxG5Ag5m9GJD46/JDFodAWgj3tSRHIrIFXAwoxcbGn9NZtDqCEAb8aaO5FBEroCDGb3Y0PhrMoNWRwDaiDd1JIcicgUczOjFhsZfkxm0OgLQRrypIzkUkSvgYEYvNjT+msyg1RGANuJNHcmhiFwBBzN6saHx12QGrY4AtBFv6kgOReQKOJjRiw2NvyYzaHUEoI14U0dyKCJXwMGMXmxo/DWZQasjAG3EmzqSQxG5Ag5m9GJD46/JDFodAWgj3tSRHIrIFXAwoxcbGn9NZtDqCEAb8aaO5FBEroCDGb3Y0PhrMoNWRwDaiDd1JIcicgUczOjFhsZfkxm0OgLQRrypIzkUkSvgYEYvNjT+msyg1RGANuJNHcmhiFwBBzN6saHx12QGrY4AtBFv6kgOReQKOJjRiw2NvyYzaHUEoI14U0dyKCJXwMGMXmxo/DWZQasjAG3EmzqSQxG5Ag5m9GJD46/JDFodAWgj3tSRHIrIFXAwoxcbGn9NZtDqCEAb8aaO5FBEroCDGb3Y0PhrMoNWRwDaiDd1JIcicgUczOjFhsZfkxm0OgLQRrypIzkUkSvgYEYvNjT+msyg1RGANuJNHcmhiFwBBzN6saHx12QGrY4AtBFv6kgOReQKOJjRiw2NvyYzaHUEoI14U0dyKCJXwMGMXmxo/DWZQasjAG3EmzqSQ5FPufIoBw5gO2JDWU9Yuq2OALQRb+pIDkU+5cqjHDiA7YgNZT1h6bY6AtBGvKkjORT5lCuPcuAAtiM2lPWEpdvqCEAb8aaO5FDkIlce5cDd2Y7YUMrjlRGrIwBtxJs6kkORi1zZuIC7s4OxofbXYpKtjgC0EW/qSA5FrnNl7wJuzfbFhtpfi0m2OgLQRrypIzkU+Zor2xdwX/YuNtT+Wkyy1RGANuL9ZNVNlxyKRHJl+wJuyt7FhppeGaiwOgLQRryfrLrpkkORYK4kELgjoxcbanploMLqCEAb8X6y6uZKDkXiuRI/4HaMXmyo892YPKsjAG3Em7pGSw5F5Ao4mNGLDbW/FpNsdQSgjXjzT3rHJYcicgUczOjFhtpfi0m2OgLQRrz5J73jkkMRuQIOZvRiQ+2vxSRbHQFoI968ymq65FBEroCDGb3YUO/LMWlWRwDaiDd1jZYcisgVcDCjFxtqfy0m2eoIQBvxfrLq5koOReQKOJjRiw31vhyTZnUEoI14P1l10yWHInIFHMzoxYaaXhmosDoC0Ea8n6y66ZJDEbkCDmb0YkNNrwxUWB0BaCPeT1bddMmhiFwBBzN6saGmVwYqrI4AtBFv6kgORT7l6nrLsqEBt2CnYkNNrwxUWB0BaCPeT1bdVsmhyKdcXW9ZNjTgFuxUbKjplYEKqyMAbcT7yarbKjkU+ZSr6y3Lhgbcgp2KDTW9MlBhdQSgjXg/WXVbJYcin3J1vWXZ0IBbsFOxoaZXBiqsjgC0Ee8nq2665FDkU66u02tDA27BTsWGml4ZqLA6AtBGvJ+suumSQ5FPubpOrw0NuAU7FRtqemWgwuoIQBvxfrLqpksORT7l6jq9NjTgFuxUbKjplYEKqyMAbcT7yarbKjkU+ZSr6y3Lhgbcgp2KDTW9MlBhdQSgjXg/WXVbJYcin3LlUQ4cwHbEhrKesHRbHQFoI95PVt1WyaHIp1x5lAMHsB2xoawnLN1WRwDaiDd1JIcin3LlUQ4cwHbEhrKesHRbHQFoI97UkRyKfMqVRzlwANsRG8p6wtJtdQSgjXhTR3IoIlfAwYxebGj8NZlBqyMAbcSbOpJDEbkCDmb0YkPjr8kMWh0BaCPeuynampZ0ueKY8J/fGYCjFT2UYcTUYZR3VkcA2oj3boq2piVdrjgm/Od3BuBoRQ9lGDF1GOWd1RGANuK9m6KtaUmXK44J/7X8zjA58wDjbFBsKHHUpM/qCEAb8d5N0da0pMsVx4T/Yr8zLEw+wAhbExsaHC8ZtzoC0Ea8d1O0NS3pcsUx4b/A7wzLww/Qzb7EhroHS7KsjgC0Ee/djBS844ulXZYcilznqmlbs8sBu7EpsaGRZyspVkcA2oj3bkYK3vHF0i5LDkWucxXcvuxywJ5sSmwo9q5AodURgDbivZuRgnd8sbTLkkORi1x15NlGB2zFjsSGml4ZqLA6AtBGvHczUvCOL5Z2WXIocpGrjjDb6ICt2JHYUNMrAxVWRwDaiPduRgre8cXSLksORS5y1RdmGx2wDzsSG2p6ZaDC6ghAG/HezUjBO75Y2mXJochFrvrCbKMD9mFHYkNNrwxUWB0BaCPeuxkpeMcXS7ssORS5yFVfmG10wD7sSGyo6ZWBCqsjAG3EezcjBe/4YmmXJYciF7nqC7ONDtiHHYkNNb0yUGF1BKCNeO9mpOAdXyztsuRQ5CJXfWG20QH7sCOxoaZXBiqsjgC0Ee/djBS844ulXZYcilzkqiPPNjpgK3YkNtT0ykCF1RGANuK9m5GCd3yxtMuSQ5GLXDXtXTY6YEN2JDYUe1eg0OoIQBvx3s1IwTu+WNplyaHIda6atjW7HLAbmxIbGnm2kmJ1BKCNeO9mpOAdXyztsuRQ5GuumnY2QQW2Yl9iQ30PVhKtjgC0Ee/djBS844ulXZYcikRy1bS5SSmwD1sTG2p9qpJudQSgjXjvZqTgHV8s7bLkUCSYK5sbcEd2JzYUf6RSZHUEoI1472ak4B1fLO2y5FBkPOeSCWzLNsWGml4ZqLA6AtBGvHczUvCOL5Z2WXIoIlfAwYxebKjplYEKqyMAbcR7NyMF7/hiaZclhyJyBRzM6MWGml4ZqLA6AtBGvHczUvCOL5Z2WXIoIlfAwYxebKjplYEKqyMAbcR7NyMF7/hiaZclhyJyBRzM6MWGml4ZqLA6AtBGvHczUvCOL5Z2WXIoIlfAwYxebKjplYEKqyMAbcR7NyMF7/hiaZclhyJyBRzM6MWGml4ZqLA6AtBGvHczUvCOL5Z2WXIoIlfAwYxebKjplYEKqyMAbcR7NyMF7/hiaZclhyJyBRzM6MWGml4ZqLA6AtBGvHczUvCOL5Z2WXIoIlfAwYxebKjplYEKqyMAbcR7NyMF7/hiaZclhyJyBRzM6MWGml4ZqLA6AtBGvHczUvCOL5Z2WXIoIlfAwYxebKjplYEKqyMAbcR7NyMF7/hiaZclhyJyBRzM6MWGml4ZqLA6AtBGvHczUvCOL5Z2WXIoIlfAwYxebKjplYEKqyMAbcR7NyMF7/hiaZclhyKfctW0odnrgD3ZjthQ1hOWbqsjAG3EezcjBe/4YmmXJYcin3LVtKHZ64A92Y7YUNYTlm6rIwBtxHs3IwXv+GJplyWHIp9y1bSh2euAPdmO2FDWE5ZuqyMAbcR7NyMF7/hiaZclhyIXuWra0+x1wIZsR2wo5fHKiNURgDbivZuRgnd8sbTLkkORi1zZuIC7s4OxoaZXBiqsjgC0Ee/dXBc8+K99p0vvsuRQ5DpX9i7g1mxfbKjplYEKqyMAbcR7N9cFD/5r3+nSuyw5FPmaK9sXcF/2LjbU9MpAhdURgDbivZtPBY+05qJTX79S0WXJoUgkV7Yv4KbsXWzoehBlgtURgDbivZtPBY+05qJTX79S0WXJoUgwVxII3JHRiw1dD6JMsDoC0Ea8d/Na8MGN6PozpV2WHIrEcyV+wO0YvdhQxzhKrtURgDbivZvXgn9qRLBTI/+adS+Jx4T/Wn5nALgdoxcbuhg7mWN1BKCNeO/mteCfGhHs1Mi/Zt1L4jHhP78zAEczerGhi7GTOVZHANqI925eC/6pEcFOjfxr1r0kHhP+8zsDcDSjFxu6GDuZY3UEoI147+a14NeNuOhUpIOlXZYcisgVcDCjFxv69pZAudURgDbivZvXgl834qJTkQ6WdllyKCJXwMGMXmzo21sC5VZHANqI925eC37djsEOlnZZcigiV8DBjF5sqGngpMLqCEAb8d7Np4IXbU2lXZYcisgVcDCjFxsaHEQZtzoC0Ea8d/Op4EWbUmmXJYcicgUczOjFhroHUbKsjgC0Ee/dfCp40aZU2mXJoYhcAQczerGh7kGULKsjAG3EezefCl60KZV2WXIoIlfAwYxebKh7ECXL6ghAG/HezXXB0/tV2mXJoYhcAQczerGhphGUCqsjAG3EezfXBU/vV2mXJYcicgUczOjFhppGUCqsjgC0Ee/dFG1NS7pccUz4z+8MwNGKHsowYuowyjurIwBtxHs3RVvTki5XHBP+8zsDcLSihzKMmDqM8s7qCEAb8d5N0da0pMsVx4T//M4AHK3ooQwjpg6jvLM6AtBGvHdTtDUt6XLFMeE/vzMARyt6KMOIJZMkCst9rXoD5ZOmjlSouJfEY8J/fmcAjlb0UIYRSyZJFJb7WvUGyidNHalQcS+Jx4T//M4AHK3ooQwjlkySKCz3teoNlE+uC97Ur0jXSrssORSRK+BgRi82lDV50kRhua+G91XxnuJTwZs6Fe9aaZclhyJyBRzM6MWGsiZPmigs99XwvireU3wqeFOn4l0r7bLkUESugIMZvdhQ1uRJE4XlvhreV8V7ik8Fb+pUvGulXZYcisgVcDCjFxvKmjxporDcV8P7qnhP8angn9ox2LvSLksOReQKOJjRiw0FB06hzaWw3Fd80xDvOT4V/FM7BntX2mXJoYhcAQczerGh4MAptLkUlvuKbxriPcdrwa8bMdjB0i5LDkXkCjiY0YsNjUybdFNY7qvhHVW8p3gt+HUjLjoV6WNplyWHInIFHMzoxYY+vx8UTpIoLPcV3zTEe47Xgn9qRLBTI/+adS+Jx4T//M4AHM3oxYYuxs66SRKF5b7im4Z4z/Fa8E+NCHZq5F+z7iXxmPCf3xmAoxm92NDF2Fk3SaKw3Fd80xDvOV4L/qkRwU6N/GvWvSQeE/7zOwNwNKMXG7oYO+smSRSW+4pvGuI9x2vBm3r02qnrz5R2WXIoIlfAwYxebKhvCmWQwnJf8U1DvOd4LXhTj147df2Z0i5LDkXkCjiY0YsN9U2hDFJY7iu+aYj3HJ8KHmnNRae+fqWiy5JDEbkCDmb0YkPf3hKEtoTCcl/xTUO857guePBf+06X3mXJoYhcAQczerEh7wtLKCz3Fd80xHuO64IH/7XvdOldlhyKyBVwMKMXG/K+sITCcl/xTUO85xgpeMcXS7ssORSRK+BgRi825H1hCYXlvuKbhnjPMVLwji+WdllyKCJXwMGMXmzI+8ISCst9xTcN8Z5jpOAdXyztsuRQRK6Agxm92JD3hSUUlvuKbxriPcdIwTu+WNplyaGIXAEHM3qxIe8LSygs9xXfNMR7jpGCd3yxtMuSQxG5Ag5m9GJD3heWUFjuK75piPccIwXv+GJplyWHInIFHMzoxYa8LyyhsNxXfNMQ7zlGCt7xxdIuSw5F5Ao4mNGLDXlfWEJhua/4piHec4wUvOOLpV2WHIrIFXAwoxcb8r6whMJyX/FNQ7znGCl4xxdLuyw5FJEr4GBGLzbkfWEJheW+4puGeM8xUvCOL5Z2WXIoIlfAwYxebMj7whIKy33FNw3xnmOk4B1fLO2y5FBEroCDGb3YkPeFJRSW+4pvGuI9x0jBO75Y2mXJoYhcAQczerEh7wtLKCz3Fd80xHuOkYJ3fLG0y5JDEbkCDmb0YkPeF5ZQWO4rvmmI9xwjBe/4YmmXJYcicgUczOjFhrwvLKGw3Fd80xDvOUYK3vHF0i5LDkXkCjiY0YsNeV9YQmG5r/imId5zjBS844ulXZYcisgVcDCjFxvyvrCEwnJf8U1DvOcYKXjHF0u7LDkUkSvgYEYvNuR9YQmF5b7im4Z4zzFS8I4vlnZZcigiV8DBjF5syPvCEgrLfcU3DfGeY6TgHV8s7bLkUESugIMZvdiQ94UlFJb7im8a4j3HSME7vljaZcmhiFwBBzN6sSHvC0soLPcV3zTEe46Rgnd8sbTLkkMRuQIOZvRiQ94XllBY7iu+aYj3HCMF7/hiaZclhyJyBRzM6MWGvC8sobDcV3zTEO85Rgre8cXSLksOReQKOJjRiw15X1hCYbmv+KYh3nOMFLzji6VdlhyKyBVwMKMXG/K+sITCcl/xTUO85xgpeMcXS7ssORSRK+BgRi825H1hCYXlvuKbhnjPMVLwji+WdllyKCJXwMGMXmzI+8ISCst9xTcN8Z5jpOAdXyztsuRQRK6Agxm92JD3hSUUlvuKbxriPcdIwTu+WNplyaGIXAEHM3qxIe8LS3QUNt4p6JYexYFVQtRIwTu+WNplyaGIXAEHM3qxIe8LS3QUNt4p6JYexYFVQtRIwTu+WNplyaGIXAEHM3qxIe8LS3QUNt4p6JYexYFVQtRIwTu+WNplyaGIXAEHM3qxIe8LS3QUNt4p6JYexYFVQtRIwTu+WNplyaGIXAEHM3qxIe8LS3QUNt4p6JYexYFVQtRIwTu+WNplyaGIXAEHM3qxIe8LS3QUNt4p6JYexYFVQtRIwTu+WNplyaGIXAEHM3qxIe8LSygs9xXfNMR7jpGCd3yxtMuSQxG5Ag5m9GJD3heWUFjuK75piPccTR2pUHEviceE//zOAByt6KEMI5ZMkigs97XqDZRPmjpSoeJeEo8J//mdATha0UMZRiyZJOko7MBLAESlR3FglRBVFIYlXa44JvzndwbgaEUPZRixZJKko7ADLwEQlR7FgVVCVFEYlnS54pjwn98ZgKMVPZRhxJJJko7CDrwEQFR6FAdWCU8kORSRK+BgRi825H1hCYXlvvzOQB3JoYhcAQczerEh7wtLKCz35XcG6kgOReQKOJjRiw15X1hCYbkvvzNQR3IoIlfAwYxebMj7whIdhW16uYM+6VEcWCU8keRQRK6Agxm92JD3hSU6Ctv0cgd90qM4sEp4IsmhiFwBBzN6sSHvC0t0FLbp5Q76pEdxYJXwRJJDEbkCDmb0YkPeF5boKGzTyx30SY/iwCrhiSSHInIFHMzoxYa8LyzRUdimlzvokx7FgVXCE0kOReQKOJjRiw15X1iio7BNL3fQJz2KA6uEJ5IcisgVcDCjFxvyvrBER2GbXu6gT3oUB1YJTyQ5FJEr4GBGLzbkfWGJjsI2vdxBn/QoDqwSnkhyKCJXwMGMXmzI+8ISHYVtermDPulRHFglPJHkUESugIMZvdiQ94UlFJb78jsDdSSHInIFHMzoxYa8LyyhsNyX3xmoIzkUkSvgYEYvNuR9YQmF5b78zkAdyaGIXAEHM3qxIe8LSygs9+V3BupIDkXkCjiY0YsNeV9YQmG5L78zUEdyKCJXwMGMXmzI+8ISCst9+Z2BOpJDEbkCDmb0YkPeF5ZQWO7L7wzUkRyKyBVwMKMXG/K+sITCcl9+Z6CO5FBEroCDGb3YkPeFJRSW+/I7A3UkhyJyBRzM6MWGvC8s0VHYppc76JMexYFVwhNJDkXkCjiY0YsNeV9YoqOwTS930Cc9igOrhCeSHIrIFXAwoxcb8r6wREdhm17uoE96FAdWCU8kORSRK+BgRi825H1hiY7CNr3cQZ/0KA6sEp5IcigiV8DBjF5syPvCEh2FbXq5gz7pURxYJTyR5FBEroCDGb3YkPeFJToK2/RyB33SoziwSngiyaGIXAEHM3qxIe8LSygs9+V3BupIDkXkCjiY0YsNeV9YQmG5L78zUEdyKCJXwMGMXmzI+8ISCst9+Z2BOpJDEbkCDmb0YkPeF5ZQWO7L7wzUkRyKyBVwMKMXG/K+sITCcl9+Z6CO5FBEroCDGb3YkPeFJRSW+/I7A3UkhyJyBRzM6MWGvC8sobDcl98ZqCM5FJEr4GBGLzbkfWEJheW+/M5AHcmhiFwBBzN6sSHvC0soLPfldwbqSA5F5Ao4WGT0aprfNjSznqTQ3CU6Cpu9WOGN9CgOrBKeSHIoIlfAwSKj1/iUuFZ6oWhVV+2U5vJXR2GzkwJvpEdxYJXwRJJDEbkCDhYZvcanxLXSC0WrumqnNJe/OgqbnRR4Iz2KA6uEJ5IcisgVcLDI6DU+Ja6VXiha1VU7pbn81VHY7KTAG+lRHFglPJHkUESugINFRq/xKXGt9ELRqq7aKc3lr47CZicF3kiP4sAq4YkkhyJyBRwsMnqNT4lrpReKVnXVTmkuf3UUNjsp8EZ6FAdWCU8kORSRK+BgkdFrfEpcK71QtKqrdkpz+Uthua/SHYmHkxyKyBVwsMjo1TS/bWhmPUmhuUsoLPfloUAdyaGIXAEHi4xeTfPbhmbWkxSau4TCcl8eCtSRHIrIFXCw+OjVNMVtZU4lSaS5S3QUNnuxwhvpURxYJTyR5FBEroCDNY1eFcPhXbTeOz/VVbui14/VUdjspMAb6VEcWCU8keRQRK6Ag5XOcidtnq03zk911a7o9WN1FDY7KfBGehQHVglPJDkUkSvgYB2jV8WIuL/Wu+anumpX9PqxOgqbnRR4Iz2KA6uEJ5IcisgVcLDu0ctQRx3RWqKjsE37APRJj+LAKuGJJIcicgUcbGT0MtdRRK6W6Chs0yYAfdKjOLBKeCLJoYhcAQcbHL2MdlQQqiU6Ctu0A0Cf9CgOrBKeSHIoIlfAwcZHr4dMd023yS911a7o9WN1FDY7KfBGehQHVglPJDkUkSvgYCmj1xNGu6Yhll/qql3R68fqKGx2UuCN9CgOrBKeSHIoIlfAwRJHr7OHuqYhll/qql3R68dSWO6rdEfi4SSHInIFHCx39Dp4nGsaYvmlrtoVvX4sheW+SnckHk5yKCJXwMHSR69TH8dNQyy/1FW7otePpbDcV+mOxMNJDkXkCjiY0SuoaYjll7pqV/T6sToKm50UeCM9igOrhCeSHIrIFXAwo1fQ+Kj8ZHXVruj1Y3UUNjsp8EZ6FAdWCU8kORSRK+BgRq+g8VH5yeqqXdHrx+oobHZS4I30KA6sEp5IcigiV8DBjF5B46Pyk9VVu6LXj6Ww3FfpjsTDSQ5F5Ao4mNGLDXlfWEJhuS+/M1BHcigiV8DB6kavpqnPfMhP8rCEwnJfniPUkRyKyBVwsMTRq2nMy5JSBHYjAEsoLPflwUEdyaGIXAEHGx+9mqa7OrllYS19X0JhuS/PC+pIDkXkCjhY9+jVNNRNU1QlJtPxJRSW+/KkoI7kUESugIN1jF5N49wSpRVjAr1eQmG5L88I6kgOReQKOFjr6NU0y61VXTrq6PISCst9eTpQR3IoIlfAwZpGr6ZBbgcTCkgFLV5CYbkvjwbqSA5F5Ao4WHz0apri9jGnjOTS3yU6Cpu9XuGN9CgOrBKeSHIoIlfAwYKj1/iguEpFoWhVV+2s/vKf3xnYVXoUB1YJTyQ5FJEr4GCR0Wt8SlwrvVC0qqt2SnP5q6Ow2UmBN9KjOLBKeCLJoYhcAQeLjF6lw2Hfpc6/jO6z88fvDDfRUdjspMAb6VEcWCU8keRQRK6Ag30dvbYd3iZfWNPp+KWu2uOd5Z+OwmYnBd5Ij+LAKuGJJIcicgUc7OvotfnYNu3ygifirbpqj3eWfzoKm50UeCM9igOrhCeSHIrIFXCwr6PX/jPbnCsMD7C8UVft8c7yj8JyX6U7Eg8nORSRK+BgX0evWwxst7hI4rwvLKGw3Fd80xBvWkkOReQKONjX0esWA9stLpI47wtLKCz3Fd80xJtWkkMRuQIO9nX02n9m2/8KaRV+XdDZTB2FjXcKuqVHcWCV8ESSQxG5Ag72dfTaf2abc4XhAZY36qo93ln+6ShsdlLgjfQoDqwSnkhyKCJXwMG+jl47T24zry1+Ll7t3Fn+6ShsdlLgjfQoDqwSnkhyKCJXwMG+jl5FM2HWNU+7pI6T8k9dtcc7yz8dhc1OCryRHsWBVcITSQ5F5Ap2YFQoEqln40iYNtqtOm/pxTxTXbVTmstfHYXNTgq8kR7FgVXCE0kOReQKRmQ96I0KRSL1bJrfNpReKFrVVTulufzVUdjspMAb6VEcWCU8keRQRK6gT+7j3qhQJFjPphFuKxWFolVdtbP6y3/+/7Xkzkp3JB5OcigiV9Cq6XEfXGJGhSLxena0dbk5NSSdFi+hsNyXRwN1JIcicgWtmh73wUe/UaFIUz27O7vEhOpRRJeXUFjuy9OBOpJDEbmCJk3P+vgAYFQo0lrP8f7OUV03Smn0Eh2FzV648EZ6FAdWCU8kORSRK4irGyqMCkX66pnV6Ap1tWIa7V6io7DZyxfeSI/iwCrhiSSHInIFcfFneusYYFQoMlLP0Dw3UUV9WELTl+gobPYihjfSoziwSngiyaGIXEFc6wM9PgwYFYqk1DM629VIrAab0P0lOgqbvZrhjfQoDqwSnkhyKCJXEFcxHlx8pvJWniK9nk3DXreUS2VbkrBER2GzVza8kR7FgVXCE0kOReQK4rqf5l9HAqNCkTn1bJoAtRgJWaKjsN1LG+LSoziwSngiyaGIXEHc4AO9YvbgmnqyIZvAEgrLfRkeqCM5FJEriBt/oBsVJlPPoKZk8ktdtSt6/VgKy32V7kg8nORQRK4gbvJbRsUtPM0+9dy83cFM8lZdtSt6/VgKy32V7kicKpgHyaGIXEGTrMe6UWGOfeq5ebsjgeSTumpX9PqxOgqbnRR4Iz2KA6uEo/zLw3UwJIcicgVNEp/sRoUJ9qnn5u3+enlcqKt2Ra8fq6Ow2UmBN9KjOLBKOE0kFZJDEbmCVrlPdqNCqX3quflk+PXyuFBX7YpeP1ZHYbOTAm+kR3FglXCIpjxIDkXkCjrkPtONCnX2qefmk+HXy+NCXbUrev1YHYXNTgq8kR7FgVXCaSLBkByKyBX0SV87RoUK+9Rz88mwaYjll7pqV/T6sToKm50UeCM9igOrhKP8y8N1KiSHInIFHGyf0WvzybBpiOWXumpX9PqxOgqbnRR4Iz2KA6uEowTzIDkUkSvgYPuMXptPhk1DLL/UVbui14/VUdjspMAb6VEcWCU8keRQRK4glzFgK/vUXCT4J/y6IBWZOgob7xR0S4/iwCrhiSSHInIFg+bMGPTZp85iwD82hyU6ChvvFHRLj+LAKuGJJIcicgXdMucMK7HGPuXVff6xJyzRUdh4p6BbehQHVglPJDkUkSvokDlhmBAq7VPYzfteFudHqKt2Ra8fq6Ow2UmBN9KjOLBKOEc8JJJDEbmCVq0jRIfVt3iOfaq6edPLsvwIddWu6PVjdRQ2OynwRnoUB1YJ54iHRHIocp2rYOpscTxH07N+xOobPcQ+Jd2842VBfoS6alf0+rEUlvsq3ZE4VTAPkkORi1xFdi27HI+S9Xw3J0yzT0l1nH8iO4BUpFNY7iu+aYg3P0UiITkUucjV113LRsfTFEXd8qmzT0ltmPzzNQxSUUFhua/4piHe/BTJg+RQ5CJX17uWjY4Hqsu5FVRkn3raMPkn8gCVinQdhY13CrqlR3FglfBEkkORi1xdb1n2Oh6oLuGWTxH1DApu6bxVV+2KXj9WR2GzkwJvpEdxYJXwCL9CIjkUucjVxZZ1vafZ6zhV3dPcqFBEPYNCwysf1FW7oteP1VHY7KTAG+lRHFglHOVTKl7/U3Ko8ClX11tW/F+rrhtWKHqgmxPqKGnQp3mViLpqV/T6sToKm50UeCM9igOrhHNcBOOP3xmY4iJXn7asrxuavY5TpT/ZzQnVKkp6HYMmWZc0LvGmHqiu2hW9fqyOwmYnBd5Ij+LAKuEcv8Lw8z//+J2BKS5y9WnL+rqb2es4WNOzfsTqGz1EVkmPb/qcGzxVXbUrev1YHYXNTgq8kR7FgVXCOV6T8C8ef/zOwBQXuerezex1HKzpWd9t9V2eY7Cqc9r9Vnoptr3TA9RVu6LXj9VR2OykwBvpURxYJZzjNQz//vL275JDuotcdW9l9jrO1vS477D6/o7SXdjqLscVVYaFdH+JjsJmr2Z4Iz2KA6uEc7wNw9uQSA5FrnPVsY/Z63iIpod+3OrbOk1HbYs6O6i0Skym70t0FDZ7HcMb6VEcWCUc5W0eXv8oORT5mqvWTcxex6M0PfpNBfO1FjmroUWqy8UcOr6EwnJfnhTUkRyKBHMV3MFsdDxW0wxgjUzTVO2+Jk42oWhU0+4lFJb78pig29dsSA5F5Ao4WHz0apri1ppTOuro9RIKy315RtAhmBDJoYhcAQcLjl5NI9wOphWQChq9REdhsxcuvJEexYFVwjne5iH+Rxg3niv7G4wzKhSJ1LNpfttHXaFoVVft3C4/XEdhs5MCb6RHcWCVcI5PYXj9u+RQ5GuurncwuxwPl7UELKIikXpeNLGjLx0Hab2A4JU06b4G/vid4SY6CpudFHgjPYoDq4RzXCThj98ZmOI6V9ebmI2OJ8t93FtBRb7WM9jH1o50H63pepouafyC+aSu2ln95T//7zNwZ6U7Ekf6FIbXv0sORa5z1bSt2eh4iIq1YAUV+VrPut1s5LDBq0oMSfyMvKqrdlZ/+c/vDNxZ6Y7EqYIJkRyKXOSqaU+z1/EcFcvB8inytZ6l+9jIwSPfTcxJ/HS8qqt2SnP5S2G5r9IdiVMF4yE5FLnI1dtkfk2svY6zNT3rgzv8p8NOvrUj9VU+sREjB49cW1ZOgufirbpqpzSXvzoKm50UeCM9igOrhCeSHIpc5OrTlvV1N7PXcaqmB33TDBD8GK2+1rOjWd0X0HH8vjixuUhbNTddR2HjnYJu6VEcWCU8wp8Pb3arrodTXeTq05b1dTez13Gq+DO9dQwwKhT5Ws/WTo1cQN/xvx5BVG4n0lOdTddR2HinoFt6FAdWCUf5lIrX/5QcKlzk6iKc17uZ7Y5TtT7Q48OAUaHI13p+7dFII1IOXnqFLBHpqc6mU1juK75piDd/XQTjj98ZmOJTri62rK+7me2OU/U9zSPzwMU/MeJrPa+7M9iLlCPXXR6rBFOns7kUlvuKbxrizV+/wvDzP//4nYEpPuXqYsv6upvZ7jhV99P860hgVCjytZ7XrRlpR+Jh06+NtepSdzszb/lRheUw8U1DvPnrNQn/4vHH7wxM8SlXTRua7Y6HGEy4tTNfpJ65TanocspB2EduPG5n1e0fX1gOFl814s1fr2H495e3f5cc0n3KVdOGZrvjIcYTbu1MFqln/+6WofUuug8yeAou1FV7vLNbmVDb4NkTDwsTrFo13NfbMLwNieRQ5FOuOoYB2x3Hywq5tTNNpJ5DG9yYjrsYOc7IKbhQV+3xzu5jWnkjF5B1TJhjyZLh7t7m4fWPkkORT7nqngdsd5wtK+fWzhzBeo5uc7067mLkOBtW4Ax11R7v7CY6biq9DkcWloco3ZF4OMmhyKdcNW1otjueIzHq1s4E8XqO7nTtOm5h8FBb3f5J6qo93tlN9N1Rbh2OLCwPUboj8XCSQxG5gla5T3ajQqmmejYNcoP6bmH8aDvc+3nqqj3e2U303VFuHY4sLA9RuiNxpHgYJIcicgUdcp/pRoU6rfVsmuW6dd9CygEX3vip6qo93tlN9N1Rbh06CjueDfgqPYoDq4RzxCMhORSRK+iTvnaMChX66tk00bXqvv6UA7KDorTsrOOm0usweA1QJD2KA6uE00SyITkUqciV7Q7YxMhe1DTXmf2Ie2ZmgjdYV4SOYzYtcOiTHsWBVcKxLhIiORSpyJXtDtjE+F7UNN0Z+Yh4ZniWL5+Ow/ZdMzRJj+LAKuFwb0MiORSpyJXtDq6ZCqZJL/KpY17wvnirrtoVvV6rtLDxU1dcLfRJj+LAKuER/vidgSkqcmW74yFan+9mg/mUN6hpiOWXumpX9HoT8++64xSdgYAW6VEcWCWc7FM8JIciFbmy3XG8jge9CWEJhQ2K55NXddWu6PVjdRQ2OynwRnoUB1YJR/kZiYuESA5FKnJlu+NsHc/6pgnBqkmkqkGtEeWnumpX9PqxOgqbnRR4Iz2KA6uEc3zKxmtIJIciFbmy3XGwpmf9n5ffkOPfIoWqBnWklH/qql3R683V3XhHYTNTAh+kR3FglXCOn2H49L9//kVySFeRK9sdB+sYIfqsvtFDKGnQtGAfqa7aFb1e6+IGqyvQcdjWJECH9CgOrBLO8TMJv4Lxx+8MTPEpVzlbp9BylqJFYeHUUdKgrGw/U121K3q9yvU9TihCxzHjnYJu6VEcWCWc42cYPv3vn3+RHNJ9ytXopmm740SRhPetCGuniHoGdezt/FNX7Yper3J9mxOK0HHMeKegW3oUB1YJ54iHRHIo8ilXrZuk7Y4nCMa7YzlYO0XUM2hkk6eu2hW9XuLtTV3fb3odjiwsD9GyIYk3/+NXJD4lRHIo8ilXTRua7Y6HiMe7dS1YO0XUM2h8q3+yumpX9HqJT3d0fbO5dTiysDxE6Y7Ew0kORb4+3MfNvykoEox3x1qwdoqoZ9DgPv9wddWu6PUSF3fU908j13BSYXmI0h2Js33NhuRQRK4gLvhA73j6GxWKqGdQZHblk7pqV/R6iYs76vunkWuIH3AgFBCVHsWBVcJRggmRHIrIFcRdP9a7BwBzQh0lZUPBveKk0EY2wKZ/GrmG+AHjnYJu6VEcWCWc420e4n+EcXIFTcamCXPCbErKhh64D1zcUd8/jVxD/IDNGze0S4/iwCrhHJ/C8Pp3yaGIXEGTjJnCnDCPkrKhZ+4DHTeVW4dTC8sTmB9odZGEP35nYAq5glatj/umz1uSuVSVDT1zK2i9r/QinFpYnsAIQatPYXj9u+RQRK6gQ+uD3oSwisKyocfuBk13lF6EgwvL8UwRdAgmRHIoIlfQp/URbzxYQm3ZUHA3ENpcCst9xTcN8eafYDwkhyJyBTMZDCZT4aCmIZZf6qpd0evHUljuq3RH4uEkhyJyBRxs29Frt3GxaYjll7pqV/R6H5Nv9jmF5TylOxIPJzkUkSvgYCmjV+441zQuTnv6910Vf9VVu6LXay288bMLy9ka9iPxppHkUESuYAKTwCrdBW8a6oLH7zimzBzpsR1fG/iDC8vxFi4cjic5FJErmMAksEpHwZvGuXhbBw8bOQV38cxeL0/7qYXlCVatGp5AcigiVzCBSWCV1oI3zXLxGS/lsNen4EYe2OiLm3r9e1EROo7ZvjShWXoUB1YJj/ArJJJDkU+5mrx/wtksjVWaCl607yUe9tMpuJcHdvn6jt7+a3oROgo7sEAhKj2KA6uEk30KieRQ5FOuxrdNoYV/LI1V4gVP3PR+ni79sK+n4HYe2OLrO3r7r+l16Dhg79KEBulRHFglnOk6IZJDkU+5GtwzbXfwk6WxSrDgiTverzMWHfnnKbidB/b3+o4+/WtuHY4sLA/huUCfSDYkhyKfctW0odnu4JqlsUqk4Inb3XwVhaJVXbWz+rvc9R19+tfcOhxZWB6idEfiSL8i0bEDw6BI6gZNviPYkKWxSqTgWXvdKumFolVdtVOau4NP93V9v7l1OLKwPETpjsSRfiXhIhuSQ5HrXNm4IIVJYJVIwZvmtwqDV5JeKFrVVTuluZvouNncOpxaWJ4gvmmIN3/9isRFNiSHIl9zZe+CcSaBVb4WfGR4a/puawCyjsOGHtvc1jvNrcPBheV48U1DvPlp/k4L/0RyZfuCQSaBVeKP15GxLXiQju7nHo1NpOfkXlbd5vGF5WDxTUO8eXWdEMmhSCRXdjDgpr5uXIkzW9EQmH5AliuKCtdKFzV0S4/iwCrhcG9DIjkUCeZKAmGEkWCVr3XOndkiR2vtePoBWS6YE53N1VHYeKegW3oUB1YJj/DH7wxM0bTFVV8MHKZi2KDJ1/LmNqWi0ZJznmBOju/s5JvtOFe8U9AtPYoDq4QDfc2G5FBEriCu6YHeOGjY5EvEH68pHSlqsdgcJpKTUzu78MY7jh/vFHRLj+LAKuEowYRIDkXkCuLiD/SmkcCEUGe8U92nS+yvzBwmkpMjOxu/8Yrb7zhy6wVDh/QoDqwSzvE2D/E/wji5grjg07xtwjAkVBpv1sgZs5orMIf52tAjOxu/66IKdBy275qhSXoUB1YJ5/gUhte/Sw5F5Arigk/znjnDnFAjpVndZ8zqrLQcJpK6wzp7cVOvfy8qwpGF5SHim4Z489dFEv74nYEp5AriIk/z1ke/OaFUd/27e5F7tLpjtp6CC3XVHu/sJq7v6O2/phfhyMLyEKU7Ekf6FIYJmy38JVcQF3madzz0jQp1vtYzfWxLPFT8CluP2XcWPqmr9nhnN3F9R2//Nb0ORxaWhyjdkThVMCGSQxG5grim7brpoW9UKBKp5/XA1tqOrOM0XV7rMfvOwid11R7v7Cau7+jTv+bW4cjC8hClOxKnCsZDcigiVxAX2bH7HvpGhSKRen6d2ZrakXWcpstrPSZrBSN3Umev7+jTv+bW4cjC8hDxTUO8aSU5FJEraBJ5pnc89I0KRYL1TBzeUg7SdGFNB2QHwbyd1NxP93V9v7l1OLKwPER80xBvWkkOReQKmkQe663PfXNCnZEW7NCXDS+JcdvmrVTHzebWoaOw8U5Bt/QoDqwSzveaEMmhiFxBq8jDPfjoNydUi5c0OL/NbM1u10OWDcM2R+ud5taho7DxTkG39CgOrBLO9xoSyaGIXEGrrNHCkDBBU1V364uonOrhW8Gq2+w4Y7xT0C09igOrhPO9hkRyKCJX0CFrujAkVGuq6lYdEZWD2QqWUFjuK75piDetJIcicgV9mh76JoRVWgu7SS/mRyUnu09VV+3EFqOw3FfpjsTT/PF/z8AUcgUjmh79ZoP5Osq7Qy/mByY3yU9TV+3EFqOw3FfpjsSpPqXi9T8lhwpyBSmaZgBTwTSKHDQY4Ierq3ZFrx9LYbmv0h2JI10E44/fGZhCriCXYWArqh3UlFt+qat2Ra8fS2G5r9IdiSP9CsPP//zjdwamkCvgYEavoKYhll/qql3R68dSWO6rdEfiSK9J+BePP35nYAq5Ag624ei155TYNMTyS121K3r9WArLfZXuSBzpNQz//vL275JDOrmCXMaArWxS86YRUVSOp/tLKCz35alBq7dheBsSyaGIXMGgpqe/kWCy5XUej4ecnEfTl1BY7svDgg5v8/D6R8mhiFxBt6bnvtlgiUh5i1qTHo/uK2E32v1W9Y13HD9n0cKl9CgOrBKeSHIoIlfQIXPCMCFUihS2oik10ei8GHaj1z9Nq0DHYXvWJzRKj+LAKuFkn+IhORSRK2iVNVoYEiaIVDW9IzWh6L8edvPARn+6o5lF6DhmvFPQLT2KA6uEo/yMxEVCJIcicgVNBkaJNqtv9BCRkua2oyYOQ5fEbh7Y5bd39PZ+64rQccx4p6BbehQHVgnn+BWJi5BIDkXkCuJmDgzV9/IQkZImtiNyqERJRVpw5Yepq3Zii9d6e0fXd5peh44DdsUB2qRHcWCVcI6fYfj0v3/+RXJIJ1cQV/RMNyfUiZQ0a2yLHCddRaFoVVftrP4u9/aOvt5mbh06CjsQCohKj+LAKuEcP5Pw63//8TsDU8gVxNU90I0KRSL1zBrbIsdJV1EoWtVVO6u/y729o6+3mVuHIwvLQ5TuSBzpZxhe997XT0oO6eQK4uqe5kaFIpF6poxtkYNEDptyEDb3zOa+3tTX28ytw6mF5Qk8FGj1MwyvG+/rJyWHdHIFcXVPc6NCkUg9U8a2yEGaOpt7NLbyzOa+va+LO02vw6mF5Qnim4Z488/F1vr6F8khnVxBXNED3ZxQJ1LSlLEtcpCOthYdlrWCbT2vs2/v7tdf6opwcGE5XnzTEG9aSQ5F5Ari0p/s5oRqkZKmjG2Rg6SHJDEtwevnrbpqj3d2N9W1DZ468bAwwapVwxNIDkXkCpq0DsndVt/oISIlTWlHXU/npCVyFj6pq/Z4Zze06vaPLywHi68a8aaV5FBErqBJ07O+2+q7PEekqikdqWvrnMBEzsInddUe7+zmZt54x/H7MwFh6VEcWCU8keRQRK6gVeZ4YUIoFilsSlNK2yozh4lETmfTdRQ23inolh7FgVXCE0kOReQK+mQOGcaDMpHapvSltLNic5hI5HQ2XUdh452CbulRHFglHOsiG5JDEbmCETPHDDpEipzSoNIWy89hIpF7Qmcn3+xzCst54puGePPXzyRcJ0RyKCJXkKJpBrClTxOpdl/vZva69ODMNyc2e1p442cXlrPFNw3x5q9/SfgZjLchkRyKyBVwsMjo1TS/jRi/hdwjs0p1ZrY1Z8lEzp57ZKi2cOFwU3/+7+8MP//+x+8MTCFXwMEio1fjq0+/8VvIPTKrVGdmTzNXzdcLSDwsTLBq1XBff378zvDr72//IjmkkyvYgVGhSKSeTfPbiPFbyD0yq1RnZkMXN/X696IiHFlYHiK+aYg3f/3xOwOryRWMyHrQGxWKROrZNL+NGL+F3COzSnVmNnR9R2//Nb0IRxaWh4hvGuLNX59SMWGzhb/kCvrkPu6NCkUi9Qy2MsXI9Wcdk+XqArOt6zt6+6/pdeg4YLxT0C09igOrhKO8jcSnv0gO6eQKWlVMEUaFIpF6djS028j1Zx1zeRHOU1ftlObu4PqOPv1rbh06CjsQCohKj+LAKuGJJIcicgWtKmYJo0KRSD27G9pq5OITD7u2CEeqq3ZKc3dwfUef/jW3Dh2FHQgFRKVHcWCVcLJP2ZAcisgVNCmaKIwKRSL1HO9pxMiVJx52bRFOVVftrP4u9+m+ru83tw5HFpaHKN2ROFI8JJJDEbmCuKYHfdMMYFQoUlHPlI5nnWXhTfFPXbWz+ruDjpvNrcOpheUJ4puGePNXPCSSQxG5griO8Tj4FaNCkZvW82t+0u8oeEbeqqt2Yot30HqnuXU4uLAcr3RH4kivSZiz08I/cgVxrQ/0+DBgVCiinkGx6ZX36qpd0evlVt1mxxlHkwEB6VEcWCUc5VcePmVDcigiVxBXMR5cfKbyVp5CPYPCAyxv1FW7oteP1VHY7KTAG+lRHFglnOZnJD5lQ3IoIlcQ1/00/zoSGBWKqGdQeIDljbpqV/T6sToKm50UeCM9igOrhDP9+f+j5qd/lRwqyBXEDT7QK2YPrqlnUGs4+amu2hW93lb1jXccPycfcCk9igOrhGNdZENyKCJXEDf+QDcqTFZRz6YmajGvJOSnaRXoOGzPqoZG6VEcWCWc7FM2JIcicgVxWc90o8I0WfVsmvG6Zd01m3tgJD7d0cwidBwz3inolh7FgVXCOTrSVX1JPI1cQZOsx7pRYY7BejaNdrnSS8E+HhiDt3f09n7ritBxzHinoFt6FAdWCeeIp0JyKCJX0CTxyW5UmKC7ntF5rl5RZba93zuqq3ZFr5d4e0fXd5peh44DdsUB2qRHcWCVcJpINiSHInIFrXKf7EaFUh31bBrnpimt0rZ3fRd11a7o9RJv7+jrbebWoaOwA6GAqPQoDqwSjnUREsmhiFxBh9xnulGhTuksN9+cQtGqrtoVvV7i7R19vc3cOnQUdiAUEJUexYFVwuHehkRyKCJX0Cd97RgVKjTVs2mQW2VCoWhVV+2KXq/yelNfbzO3Dh2FHQgFRKVHcWCVcLJPIZEcisgVcLD46NU7IS5QXSha1VW7otervL2viztNr0PHAbviAG3SoziwSjjQ14RIDkXkCjhYcPRqHwwXKy0Ureqqnd7otd7e3a+/1BXh4MJyvPimId78EwyG5FBErmAy+/lMTU/Ye5lZRnI9ucsLc352YTnbqlXDfcUjITkUkSuoZipYKFLkpvkt/ryOH6T1AoJXwrYe3uJVt398YTlYfNWIN3/FkyA5FJEriOt4oJsN1vpa3qIGdR+t6XqaLol96O8/M2+84/it6xE6pEdxYJXwRJJDEbmCuNYHet3IQdDXwtY1ZeSw0nI2/V2io7DxTkG39CgOrBLOEQ+J5FBEriCu6YHeNBUYEop8rWppO0YOLi0H09wlOgob7xR0S4/iwCrhHPGQSA5F5Ari4g/0ppHAkFAnpVNZF9B6cGk5VbCzT2juzFvuOEu8U9AtPYoDq4TDvQ2J5FBEriAu/kBvHzTMCSXGO5V4AR3HF5UjRdp6cHNX3X7HkeOXCt3SoziwSjjZp4RIDkXkCuKCD/SmR785oVR3/bMaMX78r0eQltuJ9PTIzsZvvKICHYftuGBolR7FgVXCsS7iITkUkSuICz7QW5/75oQ6X0taOrOlHLz0Clki0tPzOhu/66IidByz+5ohLj2KA6uEA33NhuRQRK4gLvhA73juGxWKxB+vFWNbypHrLq/1LHxSV+3xzm6i46bS6zB4DVAkPYoDq4TTRFIhORSRK4gLPtA7nvtGhSJf61k3uSUeNv3auq+Wt+qqPd7ZTfTdUW4dOgo7ng34Kj2KA6uEc8QjITkUkSuICz7QO577RoUikXrGh7dIU5qOFuxyykFyL5uf6qo93tlN9N1Rbh2OLCwPUbojcaR4GCSHInIFcU0P+qbnvlGhSKSeI20d13oX3QdhH7nxuIW+O8qtw5GF5SHim4Z481c8JJJDEbmCuKYHfdNz36hQJFLPkbYO6riLkeOwifSE7G8w9quuATYR3zTEm1aSQxG5grimB33Tc9+cUCRY0pHOjui4i5HjsIn0hNxC8AbrilCx9GBcehQHVglPJDkUkSuIK5olzAl14iUdbG6HjlsYPBSbSA/JLZQuk9YLKL1maJIexYFVwhNJDkXkCuKKBglzQp2mko70t1XfLYwfjR1U5OQuipZJ66krrhb6pEdxYJXwRJJDEbmCbikPfUNCqdJZrlv3LaQckOWKonIv8+/6IYXlSPFNQ7xpJTkUkStYy5BQqq+qTRNdq+7rTzngkls+Xl21U5rLXwrLfZXuSDyc5FBEroCDzXkZPGD2S7/ZR6mrdkWvH0thua/SHYmHkxyKyBVwsPHRq2m6u+/IN36bT1ZX7YpeP1ZHYbOTAm+kR3FglfBEkkMRuYJEnv67SS++MY9x4dcFQcrUUdh4p6BbehQHVglPJDkUkSsYVD1dMEK12ZAtYomOwo5s7xCUHsWBVcITSQ5F5Aq6TR4z6KDIbMjOsERHYXP2d7iUHsWBVcITSQ5F5Ao6ZE4YtvdKKsyGbAtLdBQ2Z3OHS+lRHFglPJHkUESuoFXmeGE8KKa2bMiGsERHYXO2dbiUHsWBVcITSQ5F5AqaZM4WJoR6CsuG7AZLdBQ2Z0+HS+lRHFglPJHkUESuoEnwyX79GUPCNKoa9DWTXKirdkWvN1d34x2FzUwJfJAexYFVwhNJDkXkCuJan+lfP2xIqKaqQU1DLL/UVbui12td3GB1BToO25oE6JAexYFVwhNJDkXkCuI6HuhfP29OKKWkQU1DLL/UVbui16tc3+OEIpxaWJ4gvmmIN60khyJyBXEdT/PIV8wJdZQ0qGmI5Ze6alf0epXr25xQhFMLyxPENw3xppXkUESuIK7jaR6cAcwJRZQ0qGmI5Ze6alf0eom3N3V9v+l1OLKwPETLhiTetJEcisgVxHU80INfMSoUUc+gpiGWX+qqXdHrJT7d0fXN5taho7C9iYAG6VEcWCU8keRQRK4grvWZHv+8UaGIerKhB74vRHa/pn8auYb4AeOdgm7pURxYJTyR5FBEriCubqIwKhRRTzY0uF3c0cUd9f3TyDXEDxjvFHRLj+LAKuGJJIcicgVNiiYKo0IR9WRDg9vFHV3cUd8/jVxD/IDxTkG39CgOrBKeSHIoIlfQqmKcMCoUObuep97X8cZ3jNu5uKO+fxq5hvgB452CbulRHFglPJHkUESuoEP6LGFOKHJeSUXlACmbxu103FRuHToKG+8UdEuP4sAq4YkkhyJyBX0SBwlzQp0zSmqkPEzKvnE7rfeVXoRTC8sTxDcN8aaV5FBErmCQJ/7O7tsII+XBHtvcpjtKL8LBheV48U1DvGklORSRK+Bg9xq9mibJG90Xv2juEgrLfXkoUEdyKCJXwMH2H72apkcj5Rk0d4mOwo4vT/gqPYoDq4QnkhyKyBVwsD1Hr/G5NP2+ci/paeqqndLcnc285Y6zjCYDAtKjOLBKeCLJoYhcAQfbZ/Qan0VLR8q6y3uCumqnNHc3q26/48jxS4Vu6VEcWCU8keRQRK6Ag60dvcbnz2kj5ZxLPVVdtVOau48JtQ2eve6CoVV6FAdWCU8kORSRK+Bg80ev8Zmz1U0v+yR11U5p7iamlTdyAdXXDHHpURxYJTyR5FBEroCDzRm9xufMEQfcwt3VVTuluTvouKn0OgxeAxRJj+LAKuGJJIcicgUcrG70Gp8tBx12O7dWV+3cLi/Ud0e5dego7Hg24Kv0KA6sEp5IcigiV8DBckev8Xly0PgtbHtrt1ZX7YpeL9F3R7l16CjseDbgq/QoDqwSnkhyKCJXwMHGR6/xGXJQbkG2vc1bq6t2Ra+X6Luj3Dp0FHY8G/BVehQHVglPJDkUkSvgYH2j1/jcOKiuINve8q3VVbui10t03FR6HY4sLA9RuiPxcJJDEbkCDhYfvZqmuFJzKsNCzwxD8AbrinBqYXkCDxHqSA5F5Ao4WGT0aprfJphZH5Z4ZhiWL4dTC8sTrFo1PIHkUESugINFRq++159W8XPNqg3LtMbmJB2rpuLUFVcLfdKjOLBKeCLJoYhcAQeLjF7jU2J82Ov71gR1RXiCumpX9HoT8++64xSdgYAW6VEcWCU8keRQRK6Ag0VGr/EpMf6M3nZETCzCA9VVe2ZPR851Cx0321pD6JAexYFVwrEusiE5FJEr4GCR0WtsQuz8/6dvtxFxsAgPV1ftJa3sOOktdNzjeDHhq/QoDqwSzvEzCdcJkRyKyBVwsMjo1TMX9m6b246IfUXgr7pqr21i631truPW0ksKr9KjOLBKOMe/JPwMxtuQSA5F5Ap2Y8NPFBm9mua3wbku8VC5UorwWHXVXt6+1lvb2VaFhX/SoziwSjjHn//7O8PPv//xOwNTyBVswqhQIVLPpvltcMYb/Hqd9CI8Sl21N+lde6B21HFHE2oL6VEcWCWc48+P3xl+/f3tXySHdHIFCxkVqkXq2TS/teo4V3FJWK87PyOHGjShLNU6bmdaeXmy9CgOrBLO8cfvDKwmVzCZUWGmSD2b5rcJZtaHJbLCUBfCjovZX8e9TK4wz5QexYFVwjk+peI1JJJDEbmCCepmD65F6tnXnToz68MSKWGoS2Df9ezvmBvhgZ6zTkn0NhKf/iI5pJMrqNM5ytvw8zTVc7BfWSaUZdt7v6m6atcdoe5o2zrmRnig+CIVb1pJDkXkCnI1DQPmhGrdJc3qY7eigmx7v7dWV+3uI9TFYPDIfV9PMX4XsEp80xBvfvmaDcmhiFzBuKYBwGwwU0p5s/rbLbEg297jrdVVu+Prw1koOX7FdY5cQ8dXoEh6FAdWCUcJJkRyKCJX0K1vojAPzJRe6pSmj0i5C9YabPeEeKSHcIc8d5w33inolh7FgVXCOd7mIf5HGCdX0GRsmjAPzFZa6vQwtEq/I+YYbPGcSOSeZYcwd5wu2CYYkR7FgVXCOT6F4fXvkkMRuYK4wUHCPDDftFKPZGNQ6X1RYbC505KQeKJf310SZquG+4pvGuLNXxdJ+ON3BqaQK4hretC/rizzwHxLSt2ak0HT7ossI82dmYTEc7394uRUVx8f6sQ2DPHmf30Kw8VWPOvSeAq5grjB57t5YL7lpW4aDvssuS9GjDR3ZgwSU3f9xTnxri4X1AnvGeLN/womRHIoIlcQN/iINw/Mt1Wpg/lptfq2aDbS3MkxyDpd5IvVIbdquK/4piHe/BOMh+RQRK4grulB/7q4zAPzbVvqjixFMrbD9TxQXbXj381IQcOldh+n76TtF/7lsCkHhGnim4Z400pyKCJXENf0oDcP7OAWpd4hQoPX8HB11Y5/NyMFDZfafZy+U7eebs4BYZr4piHetJIcisgVtGp63JsH1rpdqVdFKCnOD1VX7fh3M1LQcKndx+m7ho5vXVxDXbmgSHzTEG+uvSZEcigiV9Ct6blvJFji1nWemZ+sMD9TXbXj381IQcOldh+n4iJbr2HtZUCH+KYh3lx7DYnkUESuIEXTDGA8mOaY2lZnJivAz1RX7W071X3LrV9MNHL9sFbp8uRRXkMiORSRK0jXObgbFQo01fMuZa/ISVZon6mu2tt2KiN0s3Vc/6ry8ijpURxYJTyR5FBErqBU9ezBtXg9b1r/rOscCSp11d62UxmhayhX1nFar39RdXmW9CgOrBLO0ZGu6kviaeQK5iiaPbgWr+duvZickI588k9dtbftVEboGmqVeKimA64oLY+THsWBVcI54pGQHIrIFcxnVJgmWM89R7iZF9NUAX6pq/a2ncrKW8rHWk8aP+C8gvJg6VEcWCWc428SIsGQHIrIFaxlVCgVrOee89tu10OWkbzFv1sq98a/frLvdBfHHLxgSJQexYFVwjl+JuE6HpJDEbmCTRgVKkTqufPwtudVMWgkcvHvlkq/64uP9Rf68wWkXDOkSI/iwCrhHL+ScJEQyaGIXEGrCUvGwswSGb12nty2vTBGBCP3trnx75YqvevBE0UuIPGwMMGqVcN9vU3C25BIDkXkClp5mt9IpFk7T27bXhgjgpE7qbkXNzXt3o8sLA8R3zTEm78ukvDH7wxMIVfQpOKxbkio87Wq+49tm18eHYKpO6mzTcuw+hpOKiwPEd80xJu/4kmQHIrIFTSpeKabE+p8Len+M9v+V0irSE8P62xwGc65hpMKy0PENw3xppXkUESuIK7omW5OqPO1pPvPbHOuMHIWPqmr9nhnN3F9R3Pu98jC8hClOxJn+5oNyaGIXEFc3QPdnFAk/njdeWabcIWROvBJXbXHO7uJ6zuac79HFpaHKN2ROFUwIZJDEbmCuLoHulGhyNd63mJgm3CRX0/Bhbpqj3d2E5Mr/PUa5lw2RKRHcWCVcI63eYj/EcbJFcTVPc2NCkW+1vMWA9stLpK4rw09r7PxW66rQ8cBBy8bItKjOLBKOMenMLz+XXIoIlcQV/c0NyoU+VrPWwxst7hI4r429LzOxm+5rg4dBxy8bIhIj+LAKuEcF0n443cGppAriKt7mhsVinyt5y0GtltcJHFfG3rR2fh3S9Xdcsrpvl7DnMuGiPQoDqwSzvEpDK9/lxyKyBXE1T3QjQpFvtZz/5ltzhVGzsInddXetlPjkZuv4/pXlZdHSY/iwCrhKMGESA5F5Ari6h7oRoUiX+u5/8w25wojZ+GTumpv26nxyM3Xcf2rysujpEdxYJVwlGA8JIcicgVxRc90c0KdryXdfGybdnnBE/FWXbW37dR45ObruP5V5eVR0qM4sEp4IsmhiFxBk9zHujmhWqSk205uwQtLubb4uXg1s7N1d9FkPHLXxak7ctPxV5SWx0mP4sAq4YkkhyJyBU2ynu+GhDkiVd1zeJt8VfHT8Wpmc+vuoklW0r7eWveJrk/dd7VQIT2KA6uE870mRHIoIlfQKnG6MCRUi1R1w+7Mv57WIvBTXbW37VRixr7eV8e5vl5A1jFhjurlyXO8hkRyKCJX0KHpid9q9c0dJVjYTdq0yWVQbcP+Tgje9dEmFGFJYSFF9fLkOV5DIjkUkSvo0/TQNx6sEq/tqq6N5UVgbmmr/s4J3tvvXh82vQ6TCwuJSpcnDyc5FJEr6Nb03DcbLBEvb3o3J5hTQ9Jt0uKZqfv09esj59ah4y76SgRN0qM4sEp4IsmhiFzBoGljBh2aipzSymkmVI8iy7s8P3IXB+n7p5FriB+wr1DQJD2KA6uEJ5IcisgVZCmaLhhROsutVV066izs8qqwXRyq759GriF+wL5yQZP0KA6sEp5IcigiV1DK7r1Wx+g1MC1OUloxJljS67Vhuzhg3z+NXINFxO0sWbbcWjwkkkMRuQIO1j16NQ11MxUViplmtnuTpF0ctu+fRq7BOuJ2Fi5ebioeEsmhiFwBBxsZvZrmujkqSsR8czq+W8w6jp97SZYS97XDEuZ2gnmQHIrIFXCw8dGrabqrk1sW1qru+54xaz1R+lVZUNzXPguZDm/78qlZFfte5DOSQzq5Ag6WNXo1zXi5skrBPuq6v3nMmk6Ufm2WFfe14XIm7m1fPjUrfd+LfEZyqCBXwMHSR6+mYW9EytWyp4oYSNpXz7xrzmBR39rbvnxq1vwmSg5F5Ao4WOno1TT4GQ75JzcS8hbUce/dtYW49CgOrBJKvO3Lp2ZNaOKv40sOReQKONjk0csoSERWSJryJnsdFeiuMMSlR3FglVDibV8+NSuxiZ9S8fqfkkMFuQIOZvRiQ+PvC00vHZbAXx2l6KszNEmP4sAqocTbvnxqVlYTL4Lxx+8MTCFXwMGMXmxo5H0h/l3h/6WjIH3VhibpURxYJZQoSkXkpG//84/fGZhCroCDGb3Y0MioOX9YPUZHWVqrDR3SoziwSihRlIqvJ317Ga//JDkUkSvgYEYvNjQyanbMqxXmF21cx/WvKi+Pkh7FgVVCiaJURE769i9v/y45pJMr4GBGLzY0Mmp2zKsV5hdt3N2vnyc7fnmS7m0Y3oZEcigiV8DBjF5saOR9oel1o878oo27+/XzZMcvTyq8zcPrHyWHInIFHMzoxYZG3heaXjfqdN9yRv06jVw/rFW6PHk4yaHIa66WxEy2gQpGLzY08r7Q9LpRZ/yWMwrZfw0dX4Ei6VEcWCU8keRQ5DVXS8Im4UAFoxcbGnlfaHrdqJN1yxnl7LmGjq9AkfQoDqwSShSlIv3yZp6UJ3jN1ZKc2yGBCjYWNjQyajbMqZXSbzmjrg3X0PEVKJIexYFVQomiVKRf3syT8gSfcrUk8LZKIJf9hA3tOWqW+nVHS+6340TxTkG39CgOrBJKFKUi/fJmnpQnuM7VktjbMIEsdhI2tOeoWertHU2+8Y7jxzsF3dKjOLBKmGdVs17PKzkUieRqyW5mCwXG2TfY0APfF67vaE4FOg4b7xR0S4/iwCphnlXNej2v5FAkkqslu5ktFBhn32BDD3xfiNxRdR06DhjvFHRLj+LAKmGeVc16Pa/kUOQ6V0s2LrslkMVmwoYe+L7QdEdFdeg4YLxT0C09igOrhHlWNev1vJJDkbe5WrJl2SfZX9ODftzq2z2BerKhB24CHXeUXoeOA3bt3NAmPYoDq4R5VjXr9bySQ5GLsM2MnB2SW2h60I9bfbsnUE829MBNYOSOsupwZGF5CMPDeaqbFQ+J5FBkk7BJOLfQ9KAft/p2T6CebOiBm8AOd3RkYXkIw8N5qpsVD4nkUORt2JZcxvyTQqumB/241bd7AvVkQyObQPY203DqlFvOPWzfNay9DOiwcPEybvkOHLy8mSflCeQK4jqeFCNW3+4J1JMNjWwC2dtMzzXcVMdNza82D5QexYFVQomiVKRf3syT8gQjuVqSSQuBhTqeFJ8eH7s9ZU6lnmyoaa/o/m6i+SWq0HFHS6rN06RHcWCVUKIoFemXN/OkPMFIrpZk0kLg7vZ8ypxKPdnQyCYQ/266ycWpO3L84NNrzBOlR3FglXCaSDwkhyIjuVqSSQuBmzIkLKGqbGhkK2jaSdLl3njk1gbP+On4fRcMFdKjOLBKOEowIZJDkZFcLcmkhcDtGA8Waio+7GbDSKcvxq/31X3GiwsYvGZIlB7FgVXCUV7z8DYhkkORkVwtyaSFwI0YDJZragHsZsNIT1iM/9X8XyJ1HDOnZHApPYoDq4QSS/ry6aSvf5cciozkaqtVA1sxEmyiqRGwmz1XyuDxL0769SsjlhQWUlSvUEp96ktpv+InlRyKXD/Zp+1mS04K6SR5N60dga3suXBGDnhxovi3+uxQWOhzi32DT663uLqTBv9Jcijymqumrazi6W8L5Y4EeE/KzobuslckXtjFF/v+qcM+hYVW8U1DvDd0vcUtP6nkUESuYJCn/84Unw3daMfIurBPX7w+Zm4dOq4/3inolh7FgVVCiU99Ke1X/KSSQxG5gm6e+/vTAjZ0o30j68LefvfrYXPr0HH98U5Bt/QoDqwSSnzqS3W/Xo//9oySQxG5glYVIwRFNIIN3Wj3SLyw1ltOr0PHAeOdgm7pURxYJZQoSkX3eT99LOWk8M91rpakTtTZ1vxnBIN0hA3daBtJvLDrQ00oQscx452CbulRHFgllChKRcfZrz+QeFL479v/Jc/kXctWyebmPx0YpC9sKLiT7BDa3Au7Pk51BToOG+8UdEuP4sAqoURRKtIvb+ZJeYK3uVqS+R0WGlzreFKMWH27J1BPNnSjTWDyhZWepePI8U5Bt/QoDqwSHuHPh994V10Pp3rN1duwVSdwyUmhVePsMGr17Z5APdnQjTaBbS+sQ8f1t27a0CE9igOrhHNcJOGPFy6meM3Vp6SVJnDJSaFV/xjRZfXtnkA92dCNNoEdLizrdB3X37hnQ4/0KA6sEs7xNgxvQyI5FPkUtsgnSy9jwkmhVfP0MGb17Z5APdnQXTaBHS4s8XQd1x/vFHRLj+LAKqHKRV/q2vfrmJ9OITkUec3Vp6SVJnDJSaFV04N+3OrbPcHXekaq/eSO3PHes665Lhu32ARKLyx4nNw6bFJY6BDfNMR7Qxetqe5g5OCSQ5HXXF2HcNplTDgpcLzgs/Viq3ny/HbHe8+65tJs/Anrvv4+1VcVP2BFHRYWFgbFNw3x3tCn1szp4NfDSg5FXnPVtJVlZXLJSYHjXewbkb3lyfvPHe8965qrs/H2u8EDxr9bp6OkX6/84mN9p7u+gKxjwhwTVih13rbmegOsOPunw0oORa5jP203W3JS4HgX+0Zkb/n0mcheNPMzWd7e4+b3HrnmVpHjjJzr7XeDB4x/t0hHPUeuvPt01xeQeFiYYNWqIcXbvrztV24Tfx7t4siSQxG5Ag52PXpFZrPXz/R9q+4zWSJ3utu9911hRNYVRr54YeS7FTqr2f6L38i5Oq4BNjdnnVLktTVft8SKkzb9EcbJFXCwr6NX5PH68zORoW7mZ7J8OtfO9x655pSaDH7m4ltfjXw3XVv5WgqVeKLINdSdAopMW6pUeG3Np2YlNvHTcV7/LjkUkSvIZQzYSnrNI92c+Zksu93XbvXJ9fbKg7cT/26urFvu+NcsHbczr748WHoUB1YJVYLNSmzixUH++J2BKa5ztSR1os7tNA0A5oGZvpY60ohfn4l0sPQzHdcckXU9yz/TdLMTPnPxra9Gvpuo6e46CpV4osg1xE80r8Q8WHoUB1YJVYKdWtJEyaHI15zPzJ6tkttpevRfW30rZ7qucKQFbz8T6VrRZ7qvOSLrehZ+puk2B2sY+UzkixdGvjsufkfxW+741/RriJ9oXq15sPQoDqwSal33aFUHJYcib3O1ZOOyW3IvTQ/9oNX3dKCL8kZasFubdrvmrOuZeV87XM/b7wYPGP9un46S5t5y3VV1HHDwsiEiPYoDq4QnkhyKvObqbdiqE7jkpNCtdYowHqxyUdtI/T99JtKvrM/sfM0j17PqvrLOFTnO1+v5KnjA/cVvua4OpZ2CbulRHFgllNi8KZJDkddcfUpaaQKXnBT6DEwTJoTZrgsbqfzrZ/q+1feZ/a95ZjWyzp71rchxIge/ED/m5uK3XFeHjgMOXjZEpEdxYJVQYvPu7Hxt3Nprrj4lrTSBS05Kouc8/gZv8yFV2sfXqkZq/vMzkX5lfSZyPTtcc+v17HBfWeeKHOfiyF81HXZn8Vuuq8ORheUh5q8XEm3epg0viTO85upT0koTuOSkpGh69h2wlSXe1Kkl2kp6SSPNyvpMljtec8TMa86997dH262851FY7iu+aYj3nnbu1z5XwmFec/UpaaUJXHJSxjU9+HbbVztU3MtJ9dnQ15J2FDzSqbef+fSfF5/J0n3NHfc1U9Z9XX/x4jh99/4nrOmwXFNY7iu+aYj3/nbrneRQ5DVXTVtZViaXnJRxTX05oIlFaRTyOtcl7a555Cu/PvP2XJHPZOm45shnluc2674+faWiX3/C4sccPNf4ifb3tPvlJPFNQ7xvZJMmSg5FXnPVtJVlZXLJSRnU15Fb93HyEkg58sNd1HNmzSPnumMG7njNEdX9evvdxGLGj5940v094R45lSV8trVNlByKyBXduvel+25odQ8Co0KRi3qO1Lz787/O9fZ/X3ymWsV9jZxr5mfefr6jX93HHzlg62Erzr6/g2+N4z155T7EwiZKDkXkim7d+9J9N7S6p7lRoch1PfsKnvWtvr/UqbuvvnPN/EzfffUd+fWLF9IP2CF+X5vbrbDwV3oUB1YJs+3QRMmhiFzRrXtfuu+GVvcgWP6UOdXXerZWe6RTPz//6TiRz1Sovq/Wc838zMh9tR7z4qq6LzV+tG5Nd7etjjuaUFtIj+LAKmGG3XonORSRK7qNPyirrzBd3UNhn8fNYbbtVOQ4M1Ox233N/EzWfQ0ereMU8eOk6L7fTXTcy+QK80zpURxYJRTatmWbXAbnec3Vkk3MznlTwcYd0826GzmjPhv6WtKOgr/tVNZxOj5z/cX4Z7rvK3Kcjvua+Zms+2o98lcpB0k0ctfLHXMjPNBz1umRNu/UbtfDMV5ztWQrs3/eV1Pv5jcx94xFtyPnda5L2l3zX1/JOk73Zz595eKLbz/TcV+R43Tf18zPfPpK6311HPzC+BFyDd74WsfcCA/0nHV6pM0btO2FcXd9uVoSyIqTNu3bFuAnO5cx/aS5N7VJlQ52UdKssu/Wvsj1zPzMHVXf19vjN500foSLo6UcpPWWJ3zr69GyDgjTTFik1Nm8L5JDke5cLclk+kmb9m0L8KsNSzc/MynHybpaLqr6qfKRLrz9fFEHs66n9ZpHPtN6zSOfiaioYcr1fDXy9boLGz9y67c6znh9DR1fgSLpURxYJTyR5FBkJFdLMtl90reLqOJZwFYqetcamw6JV/tw11V9LXukEX3fGr/+kevJutO+s2cduU/WXWRdz+uhLnR8feTC6k7Rd5C6m+r4ChRJj+LAKuGJJIciI7laksnuk35aRBbX2Yr62zhEtMm91If7Wtif/xppx6fPVLQv63pGrrn1MyPX3PqZiJFztd7X4FUFT9H6+aKLzDpa8Fu9N/HxGjq+AkXSoziwSihRlIr0y5t5Up5gJFdLMjl4wRfHtL6O1LG3B7f68SM3nY4+TbWNdGRm17Ku58nXvNv1XBwteIqmDw9KPNfPL8aPlntrHdcf7RMMSI/iwCqhRFEq0i9v5kl5gu5cHbYQLLFBe+6cTRfWccHjB4+fiz6t5X3bkU//efGZ8QsevJ6O+8qy/Jr3r+GfsPh3my5g/FK7j3Nx2K/fGtRx/fFOQbf0KA6sElZa1UTJoUhfru67Ci6+bn31aX+iTk1O3+U1XeqEU9Cto86/Pv+2WZHPDF5t07kipy665u5zFV3zLWr4Jyz+3fjZm2Sd7u0Xvx429+46rj/eKeiWHsWBVcIaazsoORR5zdWSrSzrpNcfsIjSNTWuKDx1V9h6ndsW4ckGqx3pWlZndztXlt3qs0MN3343eMD4J1Nkna7pjiLf6lDaKeiWHsWBVcJsO7RPcijymqslm9j4Sa8/bPst0pSK0gh9Pemc0306u+CtMtiCTxvR2/998ZmRc7V+JutcWWZec6QXI9eTfpyv4t8NnrpV1um+fvHtKXLvrrRT0C09igOrhHn2adzyC+BUZ+TqYqftXsI7LPzN3aKwmvhw43mL7CpZO0/kW917WtFxZp6rrz513em+rz9h8e/Gz94k63SRLzbVoUPHAeOdgm7pURxYJcywW8s2uQzOc0Cu3q6O4BJ++0/27aDuyswsae65BON2Ujr18wifMhD5TOu5Rj6Tda4sM6+5tV9N5x08zsXRPp0i+N2mCxi/1O7j9J2x69qvjpxyQJgmvmmI9+Y2bNZWF8NJDsjVp1uIrOLXf7Vvx3VXZmZJc88lGLeT3qlIBuRkH1m9yO3p26MFTxH/ZIqs07V+seLuJpQLisQ3DfHe1rZt2vCSOMPbXH0KW+kC6T5p69+vP3NREAvwl+6yzKxn7rk80G/na6c6+hgJwNvPRM6Vlas75rOoPlm9SFz4f8Li3x25no5L7T5O36lbTzfngDBNfNMQ7w1t3qM9r4oDvObqU9hKt7KRk366ksgVfrr9vqM9TUcY5m+zuecqXQVUuO5UdysjX/n1mci5sqJ1x4iW1ierF1kl/RPW9N3Bq1p7rgk6rj/eKeiWHsWBVUKJt93Zp4mSQ5HXXL1N2mvyczM5ctJPlxG5vE+rvu9oD3S9SV5bfe09jrmR57jo1MxuRs6VdT13TOlu9amu4dvjB0/a+vmii0w80TQd1x/vFHRLj+LAKqFEUSrSL2/mSXmC11y9TdrbBCZmcuSkgyv319/jV8JfrfWfX8ng6SKXt/xeaBVZ+x3djHz+52c+nSvymZFbrr6vrM9ErjlSw6Z77DhXlrfHj5+04yu5V5hyivk6biHeKeiWHsWBVUKJolSkX97Mk/IEr7n69JfX+CVmcuSkgyv39V/f/m+r78JgC2ZeXtP1Bz9ZfPkMaWpoxzGDoer+S5+Z95X1mbpv1d1Ftz9h3V8vvbbug6/VcQvxTkG39CgOrBKeSHIo8pqr17B9il9iJpec9PVcNu1Bexbw+hqa+r7brfHV10619nEkJ2//98VnRsy8r6zPRK45UsOm+x38TJ+3V950O/EjxG/z/7Vvdkua66gSrfd/6ZqLHdFRY0sogQTJdq6rbluC5Ndf7zknb+pwAlF4kyNEAHorJqZEfBF1jiji3lf41iL25BanoAbN3aNB2gkv/fI8l5YMvRx6PpFKsc500hkXK/bTcogzVO4KB7dApzNRXAJR7Eqy+BT0VkxMifgi6hxRxLCvkK1F78ktTsXrsXtm1mzI8wYK8/IZlvkMZBsp0/DM7K8V5e6Mi3WGpRmx03lmKduAYoSIK0yi2rDfmYYe2UIg0FsxMSWiCqMu28unzhFFzPpq2fAVDclyqmUr/mF0gt0nw1eOzzyDqqR8CbDK3oQjVy5nhr6Kat0ZF+sMSzNip/MMctGAZYcCHiBdasb1UEOPbCEQ6K2YmBJRglGaEyqozhFFvKmv6FtXc4dz7OcP3O3gRTxMClVJ+RJGPjtz/lZfLFiaETudZ1w6YwZxU0nA0Ip0Jr3fNfTIFgKB3oqJKRElzEpzSAXVOaKI1/RVZvEOz2hpgyCZ37hCZx6XYoZvY8GGqUrKlzDymcl5+PwLfLHOIJq9vhA7mTOI5nC8PQYDgBpcIlk2nyVAiDBbZlawGJZmWLItRVTniCLe0Vf2dsXf/jujvQ2CfvP25XPoEVEyfJuJN0Btar6Bnc9Ywr98i3UGuRXzVfeEFen9ogFu02W2wrtXId344d6FyLB3ckWSYV2G9dpSRHWOKOIdfYVEgcz4bFFrAGe4Pm27voOBz/HsAG5BHAJe64DB8N2H+mKdQTRnfCF2vGcQzThDj0jIXONcvwF5dV5Ocy1EkkPmV8S4l8aoV38R1TmiiBf0FTgdw2OzJ8hDEfuo9X8KA5/j2QHcgjgEeqU6e+A0X6wzp+lhacYZeqyQ0eYorOpwv3gChQhDb8XElIgS7qWZFWtLEdU5oogX9JV3Sy/v4g8/Tngv9S8074d4uf/1QX8Ky0oF+mHYAEX9EPbFigvRU6S5Uw9ih8gPTLWSXWwJLZBYvFJChKG3YmJKRBVgsbYUUZ0jirj31ZY2yzj1bunlXfzhxwnvpcMXGrL/9UF/CnalkFIOz8z+WtESAV+suBA9pZo79SB2WPzANIgJcKwwm0Bi8UoJEYbeiokpEVWAldpSRHWOKOLeV4/rcO+WXvodGtQA3glX7bkLTR/0x2FUCqkm60xFOF/T3KmnmqGGE4QtOVYYwsmJFcIGXxpq75Oxa7T9k9TsV7yee19tWVYZp/iV4UnkugZwSKBqT/8U6oP+OIxKIdWcnRn+OdAVyHmvL1ZcLE7IoVdPNUMNmSQ0cKwwnKfrF18GXxpqb+FFnSOKmPXVlq0Vc+ravXebiCNN3wxv8ps7ik5bIM9N0WnYlUJKeT+DPPFqy3jvtBxjbw5jekr5galWgnCsMC9P1y++DL401N7CizpHFGH31Zbd5XXq2r0aIjre/D+6CtUhvCNLR7HMJ5Ltv2dm/eytGjIXGV+suFjsymFGTx1Dj0kZRFOIzYC17Txdv/gy+NJQez+d/iKqc0QRSF9t2WZaoQ/C9fl7dPnqAnlZos6Bnk9WpRA7nV3xRF+n2Ul6DMvAreFxsewcxdP1iy9TMeaiGbBM/UVU54gikL7ass1OWKGaOC/bS1ZNRWivT9pelvlEsn05MyxToGpIucO+ivSwCPtCasHSU5TnuzsDlh26TVe8h/B0/eLLEGdcbAEvVn8R1TmiCLuvtiyuTqf2jGtpiwvcb/r0J4K6jgfyNbcTPjwz+6u3cMiVgK9SPSwy8oxasPT05HkJxQhoOXn9fJ6uX3yZ14/nu3HVq7+I6hxRhNHhzStro9OlEk2f+A/XlyJsRy1HxMgnknPWmYpwTtDTyZvyPLzrMohbQCwnrz+Fp+sXX+b14/lulov3/ny7PCHy2G3f1nK7NqQR/vKh+CD57ztiQf1GxMjnLOfDPyfPLOWBZ5A+Qc6w9GQIa3tTnpfkLdjGwxefyAtCEJ/lCxP6Yoy63KvWX0R1jiji3lcVzbbcfrs6HAxfA/gF8CrHPvHLW2qzCuzE3jNf9wTxHlMYs8zSE4Ol8Il5vl80SF7nggeI54FyBnfnjWVPosXHoLdiYkpECXZdLoXrL6I6RxRx76twmw1bFNyBu3p7GP5QjAbw6RgdGPtSmx/5/7u+PAl6FAGW6f37dlYU1pmZMO8ZO6J7XN5EZTSzfC3vEjXPziDaYnkYesTTgl9n4YrOm4HMGbpT44oQRdBbMTElooRlaf4e6C+iOkcUkeyrv3fvpop2IHEQZpqRk+Ip2H2Y+Vjbd120ZOKLuJKMlOa0Myw69XTaOS3PhkdchvcK7q4tD4gLuoyAwUzqhACht2JiSkQJSGk2FlGdI4qw+8r19n54eH3ZzJm3Fxeuk/YtDeCd1YduzXadyyiS9s9JwmdZpvryFqlO+AzLF9I8gTMszSxfnZrDemL8wLjuspwWRT0TkzlDd2pcEaIIeismpkRUgVRnVxHVOaKIWV/ZW2v4fHas1Kl9PXNleGxo5LPYCUc4R6RxheuoOXxhJ3xYEaRAgTMsX0gXhc+wNLN8dWoO6AnzA+O6W+f0HQRixJMmRBh6KyamRBSClGZLEdU5oohhXxmLy1hl94ezpiU6XV5fXsS1Idc/BZLzfEWIIg3x4C3c1/bAxX+AVa4uDcsXYqfzzJc1ZxjaB53iJwN+iTEeSCBSvFJChKG3YmJKxBdR54gi7n01bDZwiV3eDk/a9gNOf1c/HrR7iwC+dQs6RbpeLd8iHneFLP5iJH9WIKRY3oKyfCF2qs94Qeyw9CB2MnlmMbQPOsVPuvwSozuWr8Ur3gS+NNTewos6RxRx7yvkt41t7e+x4Z/vFjJOjeveM8LL+d81Q56tPBPX+MN/dqLeip15Y2UhveEqKMvX3icx6iLtzDORHxj8bsYvNzqQfu/bQxYiDL401N7CizpHFHHvK/u3DWjQuwAzTsHpQI5pUQc4PGPLrpvJHr5F2ptISUY+xjKff98iVchUiuULsVNxJgNih6UHsTM8XxS7oXAJfjfjlx0fxN17tZ7tIQsRBl8aam/hRZ0jirj3lf3bxmUW334Zp7gw24s2dpiTc2UIQ3pyOB1tlGTkY7jyiVSBVSmWr84znZyWZy5Dj6AM/CT3bpK7L+RJkQbcBV4pIcLQWzExJeKLqHNEEfe+mnVaaQdmnHq39PChlnaSY3NlqLIFD9+C3cKiJCMfY5nPy1ukBMMzgaohdlh6WL5sAdwzYT0zs8n8hONaSjLI3C3FFa8tO5nMmIbAFSGKoLdiYkrEF1HniCLufVWxHkEZMae4DCNY45imD+TMFHlbC2m2NnYl7U3Y+RwmHMn/7Iq3cIgdlh6Wr5lr42L4TECPbRz3xYoLuWiQuVuKI/uMqCkEXLDTJsQAeismpkR8EXWOKOLeV9XrcXnA69QrA7l7ee4KVhyFt7WQZmtjV9LehJFPVs6faOc0Xyw9T9E8vAsaxO+WEsg8MQl5jyybQvTQPJ7iU6hzRBHEvhqaatiBrt37o//O8DG87YE0TBu7kvYmjHxmcv73/MxO2GayBxA71b68+UHOLDUcojmsATSI3y0FjBRJAhJa3t2vuQ2EOJzm8RSlGGXaUkF1jiiC/gW/P6nega7dO1MIxkKULYRowF47sb10v4U8iVmOgdip81X3hBVFp0JEgEHmbil4sP9kzwJxPcmQ0S/EXkrHU3RiVGpXEdU5ogj6F3xp/KhmHk70UOE5mp+IUid2sfxqezfS7Efd8M+B3wysDYnYqfCVyY83h6w8szQHMrYkc7cUV7y27GFRKsjoF2IvpeMpOjEqtauI6hxRxLKv8PV1fzs7T3SaB1zUGkADo8rLxApRCr3xkJb+ctuz8tOZ5/6aDq2BLvC7pdSFHDAe0FDkQogiTpggQcQoU38F1TmiCKOvvEvs/so+SXFKQSs6BtIMzaXs4en6P8Wy65CevJxBmjnc8KwZ2Thrw9iRHG7MM0uP1/uSzN1SMuEnM0BxSjQrRAOd4ym+hjpHFDHrq9geu7waHkOuFy1PDRGXWVGQOj66EO+I4iOAK8uo5vAM0gCBJmHNyPZZm6XLyOH2PLP0BAQYJB2dzN8Ye/LwkcSKV4IvDbW38KLOEUUM+8peVsbb+6Ib/tlrdvkWREPEBWkD49ZDa3H/oOdj4VoTfzGyitSRXmtQasZX0s6sw8M2n5jnaj30JD+Re4x/n1Tk4SOJFa8EXxpq70ezpYLqHFHEva/AZpsdiy3ApFMQDRGXZQ/Ytx5ai4pveoVN8R9GSmdpH/7ZOLN0HZAavhuzM7yCE4sL0Yy48J6p1oMwtD9z+lbuMVZH/ZHEileCLw2193PZVUR1jiji3ld4pxknvduP4rT0rrgzq+lyXz13oRV90/U7oQ47pfecx54glr1qM7dwO9e2S5BUGIsidqZOD8gPTMbL46iOOpBYvFJChKG3YmJKxE52FVGdI4q495V36RXJqHCqIeIy24fLffXchVb3QdfvhCKWKf37dlZf5MzMqbeg4fOGZvxiHiQuRDNiPHOmQg/O0BrXhbgTSCxeKSHC0FsxMSViP/0VVOeIIu595V16RTIqnGqI6AxXk72vHv0prPug66dCEa58IlVgnWER8zW8RSSv+YlncIbWuC7EnUBi8UoJEYbeiokpEV9EnSOKuPeVd+kVycBPVuzzmevw3bcyy+0s20//DtZ9zbm9Kv7hzSdSAtYZ+2LgCnJx2GkBqUk7w8Ozv1acQfQENIPMknbHZVbYBBKLV0qIMPRWtO2AzS++g6sVhcC59xXYbNyezDh1rvOIYA2ggZFneiHCCsFjS211UexN0YsJ5BM5zzpjqI1ddNmnNFvY5uXY8G7RGURPWDOCkTTQptej129A0vkEoqBkTAgbeiuC1x3DIwo4pyhqCVHEsK/wZUVX0uwUl6QBNJh+6ubskufSj5ysEKl+I/KgfFb3QOkwJo0jd1lnWNDjdRms9huQdD67MiaEDb0V8bu+ERIkKC1RoafZr3g9s77i7jFwiGK36Gx0/Wgype8RFpCNHOaKVMtxCeQTOV9xprQHwA7f5QW5NTuD5BBR4s1JJp+zRIEGvecDfgOqzucFIYjPEp7Q+3MNwnbu9dq7Y9UPogijr/AlhpxHLAScEtni9JUclclk0yLn6TrVe0S8+URKUHemqAE6uyvsi5WxWFZjyQmndJilId7rLL8BVefzghDEZwlP6KznNQu7sDO/pS5qBlHEsq/wHxiuHchyOgvB+3DoUUP3AuwWmvUY8hzsT5dIok3xH66UIoWoPkNvgEB3Da8kr7ukgmeQHCJiwoJBzcatJd7rLL8BVefzghDEZwlP6KznNQu7sDO/pS5qBlEEt682Tkfsof3bSUP3AoyeNEpvXEQ+6wF5LIPigiulSCE6z+Txepm24wSW37roWGcalIMyXIfDfgPCziegn5gxIWbQW/F+0bAJzoJgsUx7f11crSgEDr2v+nt16A58aO95DR2LjWlc1nf51ri1/L4jwjJGxJJlVi9vh4VAzhh+M2eS4K1lN6QNbpAY0dALoiR8BtHjvRXIretw2G9A2PkE9BMzJsQMeiveLxo2wVkQLOy6u7qiR5IQYYZ9NWs2cDHG2jXsFA9htn5nLjR0IEjhkM4p0mY0g6Fn2XKl8BPxVeysDtM++6txxnadPBMG7Ct/ew7ICAhHdHmIXEyeQfQELroS6ypB2G9AGOI9pirga+kocEWIIuitmOxh92gJD0aqd1VBpRdFGBtpeBLcRd5ezThNPpx50dAtMVJkp7Qzq0OniBjwbQUlifgqRmKR5D+3QKDsfLt67RMj2luLjJ5MVl35z9/NuJuZAl1kfNkCcJtLbULkobdisofdoyWcnFYClV4UMdtIw2N/X3F7MuPUuIs8nHnU1l0yS85yfzanNCAD0QmG6aUsDR/FyC2S/9mZ8+uFtFasD723XMa9fn97azH0GwjNyOHSIH6ScjfjbmYHdJFx59WAXBGiCHorJnvYPVrCz1H5V+lFEbONNDyGnGTJwJ1W7M9zZv9kZmmxM9afz0A/gCIdbYdRk4BPY6fX2ww/o39g1gYQAmmtfBOC14l9vrcWRO+z5MfyiXsP3M24G9rBXWTc2Rpwg4g2IZLQWzExJaKVQwq3XYB4K/e+mj25t5/dk669l3Hq2r3eITpkA5yJXaNZurbk09sJLoXeDvSKERmWSfb2wyPKt5THigK0Q8zYrlrMfMX8Dq2Fk4kLCNzNuBvaYb0KENC/LJAQeeitmJgS8UXUOaKIe1/dm23WfsZD7wJMOm1AA3jHrpGRrsMXWvhjjTT/chYEF3q2H1HHpTxiCEhCijLWWQuur6E10AV+knI3425oh/UqQED/skBC5KG34uWie1TEx3C1ohA4w40ErkH87tJaxqnYhfFRs8v0qYX2qWAPxN4nv6ECLdfU8mLyTFIesmkzHhGntp2wa9xOp6+lKQP8bsYv94pth/UqQED/skBC5KG34vCie2DEZ1CTiCKGfYWswftzsEuXBl1OZyEYrpGHgTPfJPBRM+orBB273+yFg5iNKUGmIzwgSyOgl58R+OHkgUC8uJ1OX4gAA/xuxi/3im2n4dbSGsugEG2gK+PW3vnhFXlc5esvk3pDFDHrq2Wrz1ZZs9OkX3CyNIAzZltxlrFdK1R8FqPlOr/siC+WHq8XXLDriutAUexgBup8ue6CBl2H87B8xS5yQ6vOlRB14Evj3t6dG0MMcZWvvzpqCVEEsa9wU9xmzkzuLs0ZkEW0PDN7Fdh1Rp7xQtiW8yLFZzGaJNNI4fOzGUnqMRzZB0CpiLCM60zsf8/P7HjPuPxmNC9x3QW943B9ZbIUcNdgUIg28KVhtHfb6hAxdhVFnSCKqPiCU44F/AbWL67knAFEvg7LkIcHwKQt3XmrABpMimyDkgHBws55rCisW8gTL7YFpA/nPeu+S3yLx8t6EvMeu2jgvYtrSOpMWuMerhBwvyJEEfRWDFsD50LQ2VsINYAoYthXs2ZbToFxALybd7oEcYrL62eZEOOMnRM8b4jTsKlSkUXgsZ+j+SMsU+0tRKaIf8/P7CQbwxa2lA00bNw+7j0W7L+7wz8Hzrg0gOcN5biMwJUAFV5i0SWCmFqOCRaiAnorxoYicF3kOSH/Kr0o4t5Xs2ZDdlF4B+adcoNF7u7CzoZxJlCdpSPEu8tCm0gWuGA8IkGEnmFW7Yp6wDboeps/4HobAMkh6wyXoUdcRuwWUWGR2aJYht7rBAvhhd6KPdMhklAKx1WyS4B4K/e+GnbafQqMngxsv7zTGKDB0wYQ0XM/M6uCXaBl7bg8QuRQEoU28d9hmV4k+Zcz4aohdpLNYGvLvAXP5F2AASY1I3YyOsEolmQs1AlLhF7+zyXQdYVaIWLQWzExJb/J6wKBWzKinr0yxPu499Ww04YdSOzJLU4vXmZmXzN9s0COysAjRP5W/vjs0f8d7NwiyR+eCdQLsZNvBttC5i14Ju/CGx1iDckzcobFD0zeAp6cvCliBiheDKcsnULkobdiYkpEOQcW6ygx4k3c+2r25N5+xJ7MOJ3JoG9vZ0zHYQRix0jPQExJs0gDsGHCNITwHYzEIslnFajNl8uF622nC8RvLD+gHZYvlwavU9wIEWIS+gkEsiXJ4mvQW9G2Aza/oBOoew8HShLv4N5X92abtZ+3J43zGaczsy554Y39IIxw7EjBLxeerpgSokhD/NKO3SrV14UXI6tI5lnVyfhy+XW5cL2diaS7GJ4fugZzAtph+XLpWcKyw4KYhH5eE4j4IMk5fd84P4vDk3+mKvEC7n3l3VoZXxSnLHlDGa7rPcxytZS9zGrgoq1nGcJekTH9gXhnGKYC1sQQO6WBilOU4L683u3zmbfgmbwL47A3G7gdlq+YJAOiqTzcJPTzpljE18iM6ouH+ikMc37OvlU/iCLwjTQ7Y9/CJyjmdBaC8fy5EDM8e2X7DUjKGKwWiYTgMhWjwqb4xzKlSMJZRfH6CjSGq4Htt0Nf1faNw5ec2Hlw2WH5whl6nMkgWstAT0I/LwtHfIrwtN6faxD6OXzlqh9EEbO+Wra6vcpiExRwugxhaOeJeNNr5MqVFsRauNC2x06Rfy96reE6Ef1Es+L34T+oAo1hH16amnkcPvfazwSCXAnbYflKqkrKwG16aQ65RwPFoBBthOdl1vOahU52LT2vvE6n4gtw+8oekKIebna3hcCCGhYisMGWBR2+BWUsg60TacjDb7lEgiHQLX+cZT5Z2UbsBHwNWwJseLuxwQMGSe+x2AMM7cz+mvQVk+RKMstyhfc6YXQNFINCtBGel1nPaxbEP9QMogh6Xxnf8aIedu3ehw4RGAhyzJUB0B0o23WxWuSyJYZv69oJLLHwArZHMuGInbCvyxXbztKL98AM5GI+A4F0IXaGSli+XHoCeeba5/qtk0TXQDEoRBvheTEaXrMg/kOLURQBbiT84d9XlwPeXQc+dO3eJw5RQH9PyIj9oZLOWhi+bBnDt3Xt9I5ePRAjn6ycI3Y2+lpaAL0slXvNBsKnwKoFXUORsDZHRIrkBQzilRIiDL0V7xcNm+AsiBfjakUhcMCNhD+8H/j5/39dgjLCTt+H92P02/V7HrR/F9O50Axftgzje12R27vlr/V5EUY+Mzkf9rPR56z6InZcbw0ZQ1+z815VsfDDILXoFDbL7d4snUBpEgI28UoJEYbeiskedo+WeDgqvShitpGWx2YPh2eW64vr9GXElv/9Fn2N4MLwb1mdSK+v4VswioxOuuWPA/abK+H3W7En+YhiQXk7DVGbV1VHZ3VikgyqlZxDQ/gBy3ilhAhDb8VkD7tHSzwclV4UMdtIy2Ozh4YX43yF09cQW/73W0gJvLl13UK+ZXSRhruAr3sIrG4sMiuWKfUmfNYDwz8bZyhBgQrBEPJ6DGtEd0lteL2aVfXLOIS2wAP28UoJEYbeiskedo+WeDgqvShitpGWx2YPXb4oTusEH0Js+d9v2UZiS8arbfktKxUZuDJstjsuPbY7lk3xH/SUIsXaXtCla6JCxM7GbJxZr6HHfhkn0Bl1wAVeKSHC0FsxMSXii6hzRBH3vhp2Gv6QJQN/uEVwJ7Fvx/2WbSS8ZLwX7XAqRAYSiCi84JK0tBY2KC4sUxpI+LBSs78aZ+pA2infdbgF0EtRfsIKET3E1OUr8iz64w04wislRBh6KyamRHwRdY4o4t5XrPXoWnoZp0P7+MPzwdNo37KNBFz8uxi4MvN1gkg74a7mBL2EjYglrmoGzBp2kDN1IO7C7edqXdB+aX4Qs4F6hTUbCSzNwyHsijTgDq+UEGHorZiYEvFF1DmiiHtfJddjbPtlnBoykIfngyQQuQKWgKY7xLNE1rE3wDdhZJWVecROf5VBd65WdB3Oy8gnIQyiJ6N5mckTklDB3hhLKyVEGHorJqZEtHJIyQ6RId4Ht6+2LMChTfBh5m4brhwah+27hyyZR4j8Lf7xuTu4V2EkdpZ8byGQImZ8hRsDbK15Jzqo0ADGjpxBGPo1lLvygNzNGDyfE6IrrZQQYeitmJgS0cSsZFsqqM4RRRD7atilw/HhdvLQIPgwc7cT1/fF3l2zKEqXDG52o0ivr0xRkHoJCnZu78mPlQO5FfOVaQ+8wSbNiIILwNWCseP2bZq9I1lNRnQaJ8S1XYAQYfClofY+H6NkW4qozhFFEPtqZqp6gly79+J3qAR/2Ik3zFmwGQxtLsH0MAPGV/n2/Q+pLJaqhJdlev++zRTF1TCgr3yTuCxMutLC5RpXCyr3SnIF/uuvadIjK5wzwUOuy8MrEys+Qv+8iCIuZbqUbEsR1TmiiGFfIc12PzO7BU5QzOmv/9cLaDAgr5pMpIHruMGAVFaMoOWMkmk9ijULCq48d1YH8UXR4zVCadq88rb8EO0kPfbL6AQPuS4Pr0ys+Aj98yKKuJTpXrL+IqpzRBGz9l422/3Y7CIyQWGnSUDBs4f9ZL4y+F3Q5vK5V2GFSMSmrWRdlYR43LiI4c32sEBF9UJ8UfRkei95JZM6xELei2EnbxZ0Z0B3vQs85Lo8vDKx4iP0z4so4lKje8n6i6jOEUVk2ns4KbOHRU6TDK3hDzdywsdl5tTW06x2lqhl3igid5VG/CNQgsv50hFDfFH0gG3PCoflCLHACmdL3Zdw/X4cJVY8F3xpIAvT+0oQGX5rZm+3SBKCxb2v8E6b3V0uPbpT5OLwsGtvawAvzNJip6s5n4Y7pEtV9KeT7LfOPYD4CusZXuSGU22/k+pAjHK8IHvHosSK54IvDaO9jTOajjYueb7/ub8KKr0o4t5XeKctN1XSFFfwUA+wrd2xcNkuwGCmaqm2MxxczOUY3jCF6kWaQKX+np9VHLHpPYP4Snbg8Hq+jWNmWWcqoKcIsV/tVAQSi1dKiDD0VgyMgFePyEBpiQo9zX7F67n3Fd5sxJ7MOEXuPnd/7t08NjNhS7Wd4Xjb499JO7RjiyIueCt1Ly7yBLHD8pVsv2v7JqzZpmxrsfx0Uup9mbqlX6KqcBEDXjovzky5DOKVEiIMvRWXpgKvBJdkPxSJ6Xct3s29r/A1RezJpFNjPLcPb5LD9Q+F2Wqbw/G21r/DdmgnF0X8xVWpWX2HfzYsZ84gvpK9NzQb1oxcJOankzq/+UxSMpOXEfDVcGtpDTeIp0iIMPRWTEyJaOWQwm0XIN7KsK+WPR9oyOWVpNPh9ROGNwlxBa2+S2twebMry1joIpcel66XZ2yzYi+uSnk76oQzYYbGKcRcd8a+nWQyk/l3CWDlP2aE4vpujWVQiDbaRlV8EHWOKGLWV+FVNnwLLsDk/gxcwWHZifmlBAKm15tG4zDRWkak7XEpYCkPMSt2gbfc/fzyyvBi8kzAV5hhP2cIux7GFTbuEsA16/UeS2myBLj3mH2604zfmQaKQSHa6J8X8R3UOaIIo68CS2x4zLUD85uzaNnuGkBiOHZuEYiWO0Uifg0NS3mITbELvDd+PP+Kn10x7JT6yjDsai8Zv0ZcxDCHriuMBwR4E5spBO467KLCb8ypoYFiUIg2MvMybPjSWRM2dkW26FH1RQXLvsJX0OXA7BbSzMm9VzEv22c/yW/9TyyXGMRIhTbv+csVbzhiO0alWNVE7HT6yjC0b1Dql2V8oy+XBlBYshy466Qjrt+AR1sDxaAQbYTnZdbz1eMmZtzzvL0EKr0ogv4Fvz8BNx4drpddA4h9UtYYpto0V9+1zQau3F33JFAQMSq1nJSAC68vl32i5lhogYsxR+H8VPtiMdQACnMdDvv1qsJdN9xaWmMZFKKN8ITOep474ALnnuftVVDpRRH0L3j4YdJvbP16vbA0e/3mQQz2RzfjWJGscoDsDfYd2Pm8JzxWAuQWyzJLcx11Odx7i8gPDH6X6DQmDPQeu+i9ZWtgGRSijfB4znoePym4XPJs/3WLJCFYgMsHuYibIjr99f92sl24XDfgjQ6Pmp6iCk4TySoHyJYYX8Yyn3/fZqqAnA/bvOhhaa6gOoe7fHEZKgfDwU96nbquELLQztP1iy+DL40f4Mf57Lmmo4FLku9V66+CFqMoYraRls02mwtkvxGdJnHt7S0D2CDgqHhnHCLS2zBJOkN7K658nlYFRM8TNT/RF5fpzAPh4CddHr0XAyF7r1DuXuw8q0+E+Ae+NH6A3+Gz55qOBi5lwkvWJkkIFpn2jt11rUHEaQbX3t4ygJ0CMrG35bBaJCtMCslciV/n/z3Db/HEIWYRPZ2aA3TmEMkPy1f4jHFrCX434zFw0RXvb+K/FcTcGaaIBoVoA18aP6Mf2EjPazp6sEu2pQoqvShitpHq7g7PZJy6eNwQGd+OTr+G9/FHbsXhIl0e66Bk6ePY+RwmvCj/SHERPZ2aw3TmEMkPy1fgDHLRAL+bcRe4iwd7sRO4EnDXY1CINpZTPGtvvOc1HW1Q6lWhp9Op+AKzDo/dJcqgO33oEBm76ATvyPduxvkiufFSBAgvRj47c474Yp15K535qfY1vAsaxE+CvmJSwUiHdrznA+4oGoQ4h+UgG+2NtL1Goxm7WIeIESLJva/wZqv4+tOdLtevy1T4bsYpRXzGqeHdJY8bS0zk8DmuEPQozsGoVKaa4fMXX8M/BzR3diPiq0JPZ34yvsL2QYP4ScRXWCoYqWEnfzKjgWVTiB7sQbZHxnhbN27iQaj6oghj5yAX8Z60T9KdgrsXZOMAtu3/WcYM1zFhmXDoIoevjCugU3EOeHvgpWTdQp7E7NQRU7jXe0xPaaQ/MK67AS9hqXiwhjXEV8zR0ntMsBAV0FsxfN0xTuJFqAFEEcO+Wu6c4Vt8udk2XU6XvjKD84UNbHxulvGG0+K9WCpyeGB2i9hdoodlpSjd6L1r2EFsInYqQHxV6+nMj9cXzlAVKBW/GzCOu3PFaxg0HIVdIK5jaoWogN6KMQvoIInXoR4QRcz6KrDKhqa4O9Cr1ghwmRNQ80PxZtg2EvZ+gsjhgZmj1zfG+6BXitUDp9lh+TptRk7TY6jCpeLXA8ZBX6UZSBpHnFJ0CkGB3or0QRB0KF1BF9PpVHwBo6+8/X9/PjxsN3Ng6Owz+OCcMOmlBHILGiRe7Bdpd87PpHtf2SGvpKJS4Qa4XBnayZitaMiA5nBcrDOzK8k8s/TcJRkkr3st475c8TZbRjzWeRGigorpFrs4rYjqHFHEsq/wzr+/HV5Bmtk1bvaxgK9/V142dPQ9FjC1vFIq0vV2+JwuT1RTVKmAzWHbzP4aNo5fKdUciIt1xr6YtEPXsyRvwWUW94IHi9un2ATdVfsSgkvFgIstHFg+dY4ogv6DATHObWZ7SG1f9mi/bOiQb5N39XGttYmcPRzeWsoL1kO0cEilkM45rbtYmjvPsOKqtjO86zWIGwkHSzHi8kI0u9GREHSKZlz0cynTpWRbKqjOEUUk+8oejZlxotOLTe/Ktc+8bOhcHyk8jURTRSKTt8IJFyeAdN3sCsv1b++/oxE9Gc2sM97YM/nxanbZzOhZwrLjVWgbx41kpCY92hooBoVoIzwvu8ZNzLgkefjX5iqo9KKIcF/dexLfV0SnxhlcyezYy4bOyAwIy3K/yMyV2Ssz2e4AY9bEEm+SWXW52wk0ath7zDKimfWEpTAWe0whS8/9ogHRlEuhbdllJ6CT4tHWQDEoRBvhedk1bmLGJcn3tPdXQaUXRXj7ylhH3o1Hceq6NbtrKNfQuTg8jSxVMSN2m52TpZfhSi+rKDM7iM2KZkDiQjSzzmRi9+Yno9llHzxvqKLIyBgBDQasLRWy8oBroBgUoo3qedF0tHHJs/3XLZKEYAH2VWyVDc/gnczan/j1mcdDRu9YYZ8iPAg4PYF8BFdiWeU4rayIns4znZypeejxqNTRJeEh1+UhYDApWwgEeiuG58J7V8T4m2pKESl6VH1Bx+6rLc1f5xS3c8LUg5K2C/sa3vzbhVNBq1lm9fJ2WIhAXcIFdTVVUg8SO8tOQHMYVlwBX95bS1xmhU0gsXilhAhDb8Vwe4MXRZJLqrcXQg0gihj2lbG46vow7LR0Og7ZwLPknKAtwBM1/0cg80jtHl3Nw7GzOkz77K/e0mSuGBdZepDYWXbCmgOw4gr7Clw0wG2KJYHE4pUSIgy9FQPWwIkQReythdpAFHHvK3vzZPrQuJtxGtuxXjYO4Op74ogaDCGQSa8MuxmqRRqmltpcacdr5zIrcIyUImnvLE2nnk47p+XwBF/Du53it7A9nLcmVnwBfGnY7f3uJSNiqBlEEfe+spdPpg+NuxmnmX37CIYRxSJdHg7kMJB5XEOpyID+WJjLW95wBI6RUiTtszNImbylRHxlWmWXnYwvL9W+6DlcEtBGsVZBOEt0AdtTIYQXfGkY7X3UQhDnoJYQRdz7yl5ZRh+6diDLaUAGfh30WI0tySXYPhnIWyzblLd5kQGDoEfEb8aywLFTGihN+JZX7cxXneU6OzFfMep8sXJ4v2jAtdaQf0Rk3ZVmg0K0kZzxE5aAOBY1higC3EjIgnLtQJZTMMCk+JhrFnjSWHbAJCyvLC+eI/LvXcMg4nHpFz8/My5w8MwjRn6xSmWqifgK29xox+srQ4UvVg4NazMXFDtey3SSieJqwA1mMiwECL0V7YvuyRFsWF1B19PpVHyBZV+5RgB5i6tizZ1L9gnzbmizD4Cmlo5A++Arw+ZGkXZiwVuITuT87MrssMCh5xOpFKuab7XzRLixD615XeBGAsbpxJxypQZizydZiCX0Vly2fV6PyMDqCrqeTqfiC+RXnHEs7MvrFL/oErx828AycDwz4TCXqfOKD/iii1wmbfj2Z8Qy8GWicMvCS6zQ9hmkTMMzgcqyWqJUT2fHBurF8kWM/QcmbyFmn04yUVwNuEFWnoUwoLdisofdoyU8HJjq0/SI1xDoK2QdDQ9ketjrFN+ZiKqN04d8ERB+zTVi52r2Ck/v5WTAV4VIW//wrZ1h+4ArUcvzAgRsG6QThoVGXOO+EDthivR0Nm24Xixf9BwuyVsIu+ASc8cVGYiamGchZtBbMdnD7tESHg7M84GSxDvI9NXy7qVvKT2Mr1Dc2vLwxgEMfCBm2ZhFsUza8qIrBPtip8ikQS9DL4ZZ+7wAMVKKlClQyqWME0r8xLhOq1fG1/AubhC/HnZBJ+aOKzIQNTfVQgyht2JiSkQ5B9ZInSOKqO6rhu2XMe7d8H51WVxfFvujM0wUUp3ZWzzzhirEJkUkfgU06MJIzsymfUWAGCmdpX3450BpKuywziCxV8flBfHVGVcm9uFd3CB+PeOFS8AdXWFSgxBF0FsxMSWinAPLdKAk8Q56+qp0+2U2rXfDp8W6cX1ZlqlAzhgCjLexWAIhe0Uir2ybXoWg5qXB5S2BYKf0nnPkidcv1w7rTEwhK64YdQpZt2KBGASus67QcXmskNcfshAs8KWh9j6f08qkzhFF9P/GqLbv2rq4pF0D6PqyLMMPp2h2YHndDicQckYkohCMyxaZTItXrTDAS/k7L4S3KNV2WGeQ2CviyoD46owrFvvQIyLVvpvx69IfA3Rap605XiGIYAtj0N6uhtd0VDCsjquIbQo7nYov8OK+4q7f1yTKu82WZ7zbCfHLFRnY2y6nBi5fAZ1iiSurrFp02jntzGmcGdfQIyjDdZh4lwIeeIWw/niFYBGeGlfPazoqCOy95ipoMYoi2vpqbw8v1++BU38CSOyBtHDzSRfprXimT9Rp1SyzenmbL6VhBzEbsINoDp9h5YfFxhyG9Ri3luB3k65d+jPgsdNVbYlXCArhwXFd1HRUEChBcxVUelEEt69mM7JlfJDJPXnq7wo77wrxDuwpGA54YGoQO8gyCdtBNAfOsPLDYnsOA3qQiwb43aRrXDyFQOBcpxX2hagDXxo/uR+6mo4PotKLIrh9NVxWnUvsfcszI/7RgQtBwZgC1opA7HSeYdHpi6WnM4cZO8O7oEH8pMs1GvaT+Vq84k3gS+Nn8t8ZcC81EYhz0WIURRgbybvNLk/AY0mny7v8lPUSDudleRAihjEFrI2B2Ok8s9RJjKuav35nepAzSFxIjF5fSztL8LtJ1+D1R/O1eMWbwJfGz+hHsstLgXxxNFqMoojZRgpsM8NUndPhXVf4RYdZeDODZEyI72BPAWtMEDudZ/beYnH3HnsSs8y6hZgywO8mXePimyHKe0S8QgzBl4ba+3DsMm2poDpHFBHrq+E2u5ua9S3Radia6+7GAXR9WQz6lQtxAsspYM0IYqfzzPB8YCfs2iEzzcM/G2eW9g07Xj3J6BAZrruluOL1UuSuTb8QdM4ZT5HELtOWIqpzRBHevjJW2f3hrG+JTpMgNveubs+HxaJfuRAnoCn4PeP/A8ILopkVV6cvwxroAr9bSjj2WFro9ikGhWijYTw1HT0sk9xfBZVeFIH31XKJgXvP1cyUzYm76Pfukpdhi3ghtkOZAsTCaWdmVyoWAsvsxQ6ieXgmkMOwrxg/MJm7pWTC90ZU4YhlU4geGsZT09HDMsn9VVDpRRFIX+EbbHgytgNZaxNh6KXHdUxbw10h3kF+CpBFdNoZ+yJ+xWU2aXxoBzE7u+LNYcBXmB+YzN1SkhlYBpK3b3ussC9EHQ3jqenowc7zliqo9KIIu68Cu2t2EjfCWpgu6Ou6QljnXSHeQXIKkJ1w2plOWHo67ZyQw6EGUBh+t5TS2BOpRV0XuRCiiIbx1HT0YFRq145S6UURRl/1fPdPcHqI9yEZPafFIkQ/gSn4e/766231w6DiDKIHidGbB8RORg8SO0tPha8MQw2gMPxuKdyQuelFNBS5EKKI0vG8uOAqF3eKKpjX0+xXvJ5hX23p9r0jdpexS4AQgoh3q9wXEbKa6s7EnsS8I7D0sBR2ZoOVw7spg8zdUvIhG2ciOXVqKHIhRBGl43lxwVUuhtDLRxHT71q8m3tfsVrdNTXE+aIMrMZNiHfgWgWzLz5ioeIMomd2BonLC0sPEjtLT7WvGENroAv8bimZkJdnvMaJGoQ4k/B4Nky3CHNI8lV6UUR+Iw0NetdX0iloocJvNV6F5ygX4gRcU3Da7CB6WGc69bB4rq+htc5w+nE1T4OGIhdCFIEvjR/9dwbhRKUXReQ3UuDuTEbMqes6128DXoXnKBfiBJZTcHk7HBxkjorOIHpYZ0r1IGSu7PIVsHM3ZeAyezjLSKujfmtixRfAl8ZP6Je5puPLqPSiCGJfGfvNPlPhN3zsNAIfCH01hPiHPQXDMZn91Ril0jOIHtaZIj0IiB77Yr+vvJ0luM0HsSvq1ydWvBh8aai9D+fAMh0oSbwDYl/NTF2e05sZt/bEIXJ9WfTREeKCMQXIpOhM/gwCy06nr4yd4d3OJBxCc+zfSax4H/jSUHsfzoE1UueIIoh9NTN1eU5vZtxa0u+WAXR9WfTREeKCMQXIpMzODP9cdIaledeZGUjsXpsZX1vsLInF+zh68vDBxIrXgC8NtffhHFimAyWJd1DxBV+64DYzOB2ZITpzAPVZEWKJPSPIEN3PdD5had57BrkVywbLV6ed+0WDQLyPpjQPX06seDr40gi3t6ajjdPyrNKLIu59FV5iw7fD80Snw+vgKzA54evVnKxNiENYzggyQX/PzFZTxRlEz1PODM8H8uMlk+cKO4Y1VsjvoCIPSqx4LvjSCLe3pqOTo5a/Si+KuPdVZpWBJ7lOXdfxnMTudnK4PCFOgD4jyHJgnXkrnfk5zY5h7cstYUDMgxIrngu+NMLtreno4cDlr9KLImJ9ZTRk3aQsDSYH9oRJd/EUnUJspHQX/TU7+2vyjC2AFUjSTsBXaX5mrpN5Zum5mzLI3E3iiqgUlpgzoxMCoWF4NR09HLiBVXpRRLivXjMIxoAfPnQbN5IQT6FoRi42h8PIOmNElAmqc4F05scWgNvp0bMkc5cFHlcFRA3nBCWEl4aZ1XR8FpVeFJHfSFw9zU7tzXz40B31U1CIM2mYEeRnXucZlmYWT4y9Ws/wLmgQv0skkGcwA5RjXqcVEQlRSsPAajo+i0ovishvJPst/bO+NOXyax87fOgq0ivEywjMSPj8xdfwzw1nkLhmdlj58frKnGHpqdC81LMkc5cOGF0g8OXJvOvf0DYQ4hDCo+q6qOn4Jiq9KCLTV8O71RtsZiHm1z52wtAhccViF+ILeKcgNjj3W3ufxBSy8sNSWGc59iSmGblokLlbAR6jV7lxLON0JoBlU4gewnPquqjp+CYqvSgi3FfJbZZRe7+e9FshlQUe2slRCLEL1xRkZufv+ZmdzjNIXLPzmfxkfHnPsPRUazZuLcncLcIVaV552J0tgGhWiAbCU7N36MSdA6ug0osiYn1lr7LA3bBTrt9D5h2U5GKXfiH24poC1uwgdk470xkXi9Pyk1QOysDvFpEPGYwo5iimQYjDaRhS0cOBRVTniCLufRVeZXiLEp0m/donl64bcGUGT5oQH2E5BZe3w8EJzBFiBxnSzjP2xWRciGtWnovOsDTf3Rm4zGbAJcVUFeU/pqEzsUJQqJ5QsZe95VPniCLufRVeYniLEp0m/YJXTpj9JP3KhTgBewqGYzL7q3eUEDuI2c4zsyve/ARyyMpz6ZnZleRFA9wmF7oqsPo51aiGjYkVIga+NNTej2ZLBdU5oghiX4FdSm/mHr8aQCGeiPHTC/l5xvoJ98Sfgqz8dOa5k4zm4d0Dk0AUZl/sifecxArhBV8al/Z2Nbym4wT6q6DFKIrg9tVy0RV18i6/QojDMcZ/+fPMOONdKYiv5d2GM4jm4Z8DOfSeYcXFgqJ5SWkIGalhO4G3LI5KrBAu8KXxM/kZjHupiUCg9FdBi1EUwe2r2A48x2+1TiFEM/Y4I/N+PxPbEnW3WGeQW7FsdCrsJOz9B6ZOfFIqy05nHo5KrBAuwvOya9xEmP4qqPSiiIq+2rW+Mn4PX7lLGWfKFmI7y4lA5uXvmcyshc8bvlhnEM0zO94cZs6w4mIR8ztUfkI4uFSWnc48HJVYIVyE52XXuIkAu6qg0osihn01fFK9i7Y4tR0dsnWXSs6ULcQJ0Mehc9AQX6wzLD2dnKYHZ6j8zHBYwvCQ6/JwVGKFcBGeF1fPazoaaNt4AUnNfsXrATdS9SxscXr34n3bgx27kaW9soU4geUsIJNyORMescwVJITkGUTzaeultBasM8atJS6zFbCE4SHX5eGoxArhIjwvrobXdDTQs+5ikvpdi3cz20jLNZXpyVKnrmnlHivCDme5r7Q3xJdxjc/Sws/tn9sxJbGLDWdmV5Kxl1JUC9YZ5KIBbrOIY4UFeLp+8WXwpaH2Fl7UOaKIe18NO8370O5YutO7X3Dr4mO1cQCNKGZhIrEL8QVc4xM745XxlMF8omYEVt0z+RnePTPhxwoL8HT94svgS0PtLbyoc0QR974adhr4ENx4XKeG3+Xixcdq4wAuMzl8awcuxEfAxyd8xivjKYP5RM0IrLpn8jO8e2bCjxUW4On6xZfBl4baW3hR54gi7n2Fd9rl5L1LZ0uP6HToF9GW99uGnUY7NO0N8XHsQbCHCD/jVfKUqXyiZgRW3cP5+YGJhMeDKOyEiM5JrBBe8KUxbO/h29MWznc4LdVqAFHEva/AZpvtq9jJsNOl39jdpbVOZp8A++ugD4cQv8AgIGPCGqUnjuQTNSOw6h7Lzw+MyywXrrDTItooQ4gA+NK4t/fszGk75/Ucm/CjxIg3YWwk5OKP+V8PZoeJTo2LQ3nDuzG/bQz30nJNnbbEhNiCBkEcCLLVtzRtnaoTxlDbQDwXfGnc29t1V9NRxMkJP0eJeBnLjTS7cn9rt+jfK0Snv/PpABWG/bZhrKbDlQuxHQ2COBBkqyO7fReZkNPJi5MMQYiNhCf0/hA/KVjcc37UOjpHiXgZs77y7rFfoEvt6zGnv5NRHZ7n+u0koO0c8UJsRIMgDgT56GQ+WKUkQ85lLkU+CiF2ER7S5ENBYZbbQ3J+iAzxPoy+wpfY/YrtjuvUvlUXbDOxQpyjX4gtaBDEgdhfHLtp8bsVNITM9TvTQDEoRBvheRk2/GwKNB1FzDbPIRvpEBnifSz7yvW5R7oUt+P6SRC4UmSkDm8hDgxBiGY0C+JA7t+aGZm7dHpCprseaqAYFKKN8LwMG342BZqOIozEnpBzLUZRhPpKCPFi9C8LcSCxfy9473JpC7nC+10DxaAQbYTnZdjwsynQdBRhJPaEnGsxiiLUV0KIF6N/WYgDif17wXuXCDHkvKm8hr0yhAgQHtgt8y4uHF4FlV4Uob4SQrwY/XYSB5L5qRn4vRqmImSizbCGvTKECBCe3L2DL/7j8Cqo9KII9ZUQ4sXot5M4kMxPzcDvVRfVIRfZd2nYK0OIAOEpPmcJfJnDq6DSiyLUV0KIF6PfTuJAzvypWcoJEb0yseIjHPtPVPEC1DmiCPWVEOLF6KeXOJAP/nvhhIhemVjxEfTfGUQd6hxRhPpKCPFi9NNLHMgH/71wQkSvTKz4CPrvDKIOdY4oQn0lhHgx+uklDkT/XtiCEiuei/47g6hDnSOKUF8JIV6MfnqJA9G/F7agxIrnov/OIOpQ54gi1FdCiBejn17iQPTvhS0oseK56L8ziDrUOaII9ZUQ4sXop5c4EP17YQtKrHgu+u8Mog51jihCfSWEeDH66SUORP9e2IISK56L/juDqEOdI4pQXwkhXox+eokD0b8XtqDEiuei/84g6lDniCLUV0KIF6OfXuJA9O+FLSix4rnovzOIOtQ5ogjX4hJCCCGEEEII8TJ2/6tUvI3dHS2EEEIIIYQQYie7/1Uq3sb/AB78i4gNCmVuZHN0cmVhbQplbmRvYmoKeHJlZgowIDcKMDAwMDAwMDAwMCA2NTUzNSBmDQowMDAwMDAwMDE1IDAwMDAwIG4NCjAwMDAwMDAxOTUgMDAwMDAgbg0KMDAwMDAwMDA3OCAwMDAwMCBuDQowMDAwMDAwMjUyIDAwMDAwIG4NCjAwMDAwMDA0NzkgMDAwMDAgbg0KMDAwMDAwMDYyMSAwMDAwMCBuDQp0cmFpbGVyCjw8Ci9Sb290IDEgMCBSCi9JbmZvIDMgMCBSCi9JRCBbPDZENEMxOEUzNENDNDYzQ0FEQTU1NUNFMTIxOTg0QUIzPiA8NkQ0QzE4RTM0Q0M0NjNDQURBNTU1Q0UxMjE5ODRBQjM+XQovU2l6ZSA3Cj4+CnN0YXJ0eHJlZgo0MDQ4NQolJUVPRgo=" } ] } @@ -1972,17 +1403,7 @@ "400": { "description": "Request has missing or invalid parameters and cannot be parsed.", "schema": { - "$ref": "#/definitions/GetShipmentLabels" - }, - "examples": { - "application/json": { - "errors": [ - { - "code": "InvalidRequest", - "message": "The request is invalid." - } - ] - } + "$ref": "#/definitions/GetShipmentDetailsResponse" }, "headers": { "x-amzn-RateLimit-Limit": { @@ -2018,13 +1439,9 @@ "401": { "description": "The request's Authorization header is not formatted correctly or does not contain a valid token.", "schema": { - "$ref": "#/definitions/GetShipmentLabels" + "$ref": "#/definitions/GetShipmentDetailsResponse" }, "headers": { - "x-amzn-RateLimit-Limit": { - "type": "string", - "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." - }, "x-amzn-RequestId": { "type": "string", "description": "Unique request reference identifier." @@ -2034,13 +1451,9 @@ "403": { "description": "Indicates that access to the resource is forbidden. Possible reasons include Access Denied, Unauthorized, Expired Token, or Invalid Signature.", "schema": { - "$ref": "#/definitions/GetShipmentLabels" + "$ref": "#/definitions/GetShipmentDetailsResponse" }, "headers": { - "x-amzn-RateLimit-Limit": { - "type": "string", - "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." - }, "x-amzn-RequestId": { "type": "string", "description": "Unique request reference identifier." @@ -2050,7 +1463,7 @@ "404": { "description": "The resource specified does not exist.", "schema": { - "$ref": "#/definitions/GetShipmentLabels" + "$ref": "#/definitions/GetShipmentDetailsResponse" }, "headers": { "x-amzn-RateLimit-Limit": { @@ -2066,13 +1479,9 @@ "415": { "description": "The request payload is in an unsupported format.", "schema": { - "$ref": "#/definitions/GetShipmentLabels" + "$ref": "#/definitions/GetShipmentDetailsResponse" }, "headers": { - "x-amzn-RateLimit-Limit": { - "type": "string", - "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." - }, "x-amzn-RequestId": { "type": "string", "description": "Unique request reference identifier." @@ -2082,13 +1491,9 @@ "429": { "description": "The frequency of requests was greater than allowed.", "schema": { - "$ref": "#/definitions/GetShipmentLabels" + "$ref": "#/definitions/GetShipmentDetailsResponse" }, "headers": { - "x-amzn-RateLimit-Limit": { - "type": "string", - "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." - }, "x-amzn-RequestId": { "type": "string", "description": "Unique request reference identifier." @@ -2098,13 +1503,9 @@ "500": { "description": "An unexpected condition occurred that prevented the server from fulfilling the request.", "schema": { - "$ref": "#/definitions/GetShipmentLabels" + "$ref": "#/definitions/GetShipmentDetailsResponse" }, "headers": { - "x-amzn-RateLimit-Limit": { - "type": "string", - "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." - }, "x-amzn-RequestId": { "type": "string", "description": "Unique request reference identifier." @@ -2114,13 +1515,9 @@ "503": { "description": "Temporary overloading or maintenance of the server.", "schema": { - "$ref": "#/definitions/GetShipmentLabels" + "$ref": "#/definitions/GetShipmentDetailsResponse" }, "headers": { - "x-amzn-RateLimit-Limit": { - "type": "string", - "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." - }, "x-amzn-RequestId": { "type": "string", "description": "Unique request reference identifier." @@ -2137,6 +1534,7 @@ "properties": { "shipmentConfirmations": { "type": "array", + "description": "A list of one or more shipment confirmations.", "items": { "$ref": "#/definitions/ShipmentConfirmation" } @@ -2149,12 +1547,13 @@ "properties": { "shipments": { "type": "array", + "description": "A list of one or more shipments with underlying details.", "items": { "$ref": "#/definitions/Shipment" } } }, - "description": "The request schema for the SubmitTransportRequestConfirmations operation." + "description": "The request schema for the SubmitShipments operation." }, "GetShipmentDetailsResponse": { "type": "object", @@ -2168,57 +1567,35 @@ }, "description": "The response schema for the GetShipmentDetails operation." }, - "GetShipmentLabels": { - "type": "object", - "properties": { - "payload": { - "$ref": "#/definitions/transportationLabels" - }, - "errors": { - "$ref": "#/definitions/ErrorList" - } - }, - "description": "The response schema for the GetShipmentLabels operation." - }, "ShipmentDetails": { "type": "object", + "description": "The request schema for the GetShipmentDetails operation.", "properties": { "pagination": { "$ref": "#/definitions/Pagination" }, "shipments": { "type": "array", + "description": "A list of one or more shipments with underlying details.", "items": { "$ref": "#/definitions/Shipment" } } } }, - "transportationLabels": { - "type": "object", - "properties": { - "pagination": { - "$ref": "#/definitions/Pagination" - }, - "transportLabels": { - "type": "array", - "items": { - "$ref": "#/definitions/transportLabel" - } - } - } - }, "Pagination": { "type": "object", + "description": "The pagination elements required to retrieve the remaining data.", "properties": { "nextToken": { "type": "string", - "description": "A generated string used to pass information to your next request. If NextToken is returned, pass the value of NextToken to the next request. If NextToken is not returned, there are no more order items to return." + "description": "A generated string used to pass information to your next request. If NextToken is returned, pass the value of NextToken to the next request. If NextToken is not returned, there are no more shipment items to return." } } }, "ShipmentConfirmation": { "type": "object", + "description": "A list of one or more shipment confirmations.", "required": [ "sellingParty", "shipFromParty", @@ -2319,7 +1696,7 @@ }, "transportationDetails": { "description": "Transportation details for this shipment.", - "$ref": "#/definitions/TransportationDetails" + "$ref": "#/definitions/TransportationDetailsForShipmentConfirmation" }, "amazonReferenceNumber": { "type": "string", @@ -2384,6 +1761,7 @@ }, "Shipment": { "type": "object", + "description": "A list of one or more shipments with respective details.", "required": [ "sellingParty", "shipFromParty", @@ -2523,13 +1901,13 @@ }, "collectFreightPickupDetails": { "description": "Indicates the earliest pickup date for the transportation from vendor warehouse. This information is mandatory to be filled for requesting transportation from Buyer (WePay/Collect).", - "$ref": "#/definitions/collectFreightPickupDetails" + "$ref": "#/definitions/CollectFreightPickupDetails" }, "purchaseOrders": { "type": "array", "description": "Indicates the purchase orders involved for the transportation request. This group is an array create 1 for each PO and list their corresponding items. This information is used for deciding the route,truck allocation and storage efficiently. This is a mandatory information for Buyer performing transportation from vendor warehouse (WePay/Collect)", "items": { - "$ref": "#/definitions/purchaseOrders" + "$ref": "#/definitions/PurchaseOrders" } }, "importDetails": { @@ -2540,7 +1918,7 @@ "type": "array", "description": "A list of the items in this transportation and their associated inner container details. If any of the item detail fields are common at a carton or a pallet level, provide them at the corresponding carton or pallet level.", "items": { - "$ref": "#/definitions/containers" + "$ref": "#/definitions/Containers" } }, "transportationDetails": { @@ -2549,26 +1927,6 @@ } } }, - "transportLabel": { - "type": "object", - "properties": { - "labelCreateDateTime": { - "type": "string", - "description": "Date on which label is created." - }, - "shipmentInformation": { - "description": "Indicates the shipment Information details like warehouse and business reference details like ARN, Selling Party detail and Vendor Warehouse details", - "$ref": "#/definitions/ShipmentInformation" - }, - "labelData": { - "type": "array", - "description": "Indicates the label data,format and type associated .", - "items": { - "$ref": "#/definitions/LabelData" - } - } - } - }, "ShipmentMeasurements": { "type": "object", "properties": { @@ -2591,92 +1949,6 @@ }, "description": "Shipment measurement details." }, - "ShipmentInformation": { - "type": "object", - "properties": { - "vendorDetails": { - "description": "Vendor Details requesting for Shipment Label", - "$ref": "#/definitions/VendorDetails" - }, - "buyerReferenceNumber": { - "type": "string", - "description": "Buyer Reference number which is a unique number." - }, - "shipToParty": { - "description": "Name/Address of the destination warehouse where the shipment is being shipped to.", - "$ref": "#/definitions/PartyIdentification" - }, - "shipFromParty": { - "description": "Name/Address of the destination warehouse where the shipment is being shipped to.", - "$ref": "#/definitions/PartyIdentification" - }, - "warehouseId": { - "type": "string", - "description": "Vendor Warehouse ID from where the shipment is scheduled to be picked up by buyer / Carrier." - }, - "masterTrackingId": { - "type": "string", - "description": "Unique Id with which the shipment can be tracked for Small Parcels." - }, - "totalLabelCount": { - "type": "integer", - "description": "Number of Labels that are created as part of this shipment." - }, - "shipMode": { - "type": "string", - "description": "Type of shipment whether it is Small Parcel", - "enum": [ - "SmallParcel", - "LTL" - ] - } - }, - "description": "Shipment Information details for Label request." - }, - "LabelData": { - "type": "object", - "properties": { - "labelSequenceNumber": { - "type": "integer", - "description": "Label list sequence number" - }, - "labelFormat": { - "type": "string", - "description": "Type of the label format like PDF", - "enum": [ - "PDF" - ] - }, - "carrierCode": { - "type": "string", - "description": "Unique identification for the carrier like UPS,DHL,USPS..etc" - }, - "trackingId": { - "type": "string", - "description": "Tracking Id for the transportation." - }, - "label": { - "type": "string", - "description": "Label created as part of the transportation and it is base64 encoded" - } - }, - "description": "Label details as part of the transport label response" - }, - "VendorDetails": { - "type": "object", - "properties": { - "sellingParty": { - "description": "Name/Address and tax details of the selling party.", - "$ref": "#/definitions/PartyIdentification" - }, - "vendorShipmentId": { - "type": "string", - "format": "date-time", - "description": "Unique vendor shipment id which is not used in last 365 days" - } - }, - "description": "Vendor Details as part of Label response." - }, "ShipmentStatusDetails": { "type": "object", "properties": { @@ -2742,7 +2014,7 @@ }, "description": "Shipment measurement details." }, - "collectFreightPickupDetails": { + "CollectFreightPickupDetails": { "type": "object", "properties": { "requestedPickUp": { @@ -2763,7 +2035,7 @@ }, "description": "Transport Request pickup date from Vendor Warehouse by Buyer" }, - "purchaseOrders": { + "PurchaseOrders": { "type": "object", "properties": { "purchaseOrderNumber": { @@ -2791,6 +2063,7 @@ }, "TransportationDetails": { "type": "object", + "description": "Transportation details for this shipment.", "properties": { "shipMode": { "type": "string", @@ -2859,12 +2132,54 @@ }, "billOfLadingNumber": { "type": "string", - "description": "Bill Of Lading (BOL) number is the unique number assigned by the vendor. The BOL present in the Shipment Confirmation message ideally matches the paper BOL provided with the shipment, but that is no must. Instead of BOL, an alternative reference number (like Delivery Note Number) for the shipment can also be sent in this field." + "description": "The Bill of Lading (BOL) number is a unique number assigned to each shipment of goods by the vendor or shipper during the creation of the Bill of Lading. This number must be unique for every shipment and cannot be a date/time or single character. The BOL numer is mandatory in Shipment Confirmation message for FTL and LTL shipments, and must match the paper BOL provided with the shipment. Instead of BOL, an alternative reference number (like Delivery Note Number) for the shipment can also be sent in this field." + } + } + }, + "TransportationDetailsForShipmentConfirmation": { + "type": "object", + "description": "Transportation details for this shipment.", + "properties": { + "carrierScac": { + "type": "string", + "description": "Code that identifies the carrier for the shipment. The Standard Carrier Alpha Code (SCAC) is a unique two to four letter code used to identify a carrier. Carrier SCAC codes are assigned and maintained by the NMFTA (National Motor Freight Association). This field is mandatory for US, CA, MX shipment confirmations." + }, + "carrierShipmentReferenceNumber": { + "type": "string", + "description": "The field also known as PRO number is a unique number assigned by the carrier. It is used to identify and track the shipment that goes out for delivery. This field is mandatory for UA, CA, MX shipment confirmations." + }, + "transportationMode": { + "type": "string", + "description": "The mode of transportation for this shipment.", + "enum": [ + "Road", + "Air", + "Ocean" + ], + "x-docgen-enum-table-extension": [ + { + "value": "Road", + "description": "The mode of transportation is by Road (on a truck)." + }, + { + "value": "Air", + "description": "The mode of transportation is by Air (on a plane)." + }, + { + "value": "Ocean", + "description": "The mode of transportation is by Ocean (on a ship)." + } + ] + }, + "billOfLadingNumber": { + "type": "string", + "description": "The Bill of Lading (BOL) number is a unique number assigned to each shipment of goods by the vendor or shipper during the creation of the Bill of Lading. This number must be unique for every shipment and cannot be a date/time or single character. The BOL numer is mandatory in Shipment Confirmation message for FTL and LTL shipments, and must match the paper BOL provided with the shipment. Instead of BOL, an alternative reference number (like Delivery Note Number) for the shipment can also be sent in this field." } } }, "CarrierDetails": { "type": "object", + "description": "Indicates the carrier details and their contact informations", "properties": { "name": { "type": "string", @@ -2890,6 +2205,7 @@ }, "ImportDetails": { "type": "object", + "description": "Provide these fields only if this shipment is a direct import.", "properties": { "methodOfPayment": { "type": "string", @@ -2981,8 +2297,9 @@ } } }, - "containers": { + "Containers": { "type": "object", + "description": "A list of the items in this transportation and their associated inner container details. If any of the item detail fields are common at a carton or a pallet level, provide them at the corresponding carton or pallet level.", "required": [ "containerIdentifiers", "containerType" @@ -3187,6 +2504,7 @@ }, "ContainerSequenceNumbers": { "type": "object", + "description": "Container sequence numbers that are involved in this shipment.", "properties": { "containerSequenceNumber": { "type": "string", @@ -3247,7 +2565,7 @@ "description": "The batch or lot number associates an item with information the manufacturer considers relevant for traceability of the trade item to which the Element String is applied. The data may refer to the trade item itself or to items contained. This field is mandatory for all perishable items." }, "expiry": { - "description": "Either expiryDate or mfgDate and expiryAfterDuration are mandatory for perishable items.", + "description": "Expiry refers to the collection of dates required for certain items. These could be either expiryDate or mfgDate and expiryAfterDuration. These are mandatory for perishable items.", "$ref": "#/definitions/Expiry" }, "maximumRetailPrice": { @@ -3303,18 +2621,9 @@ }, "description": "Item details for be provided for every item in shipment at either the item or carton or pallet level, whichever is appropriate." }, - "PurchaseOrderItemDetails": { - "type": "object", - "properties": { - "maximumRetailPrice": { - "description": "Maximum retail price of the item being shipped.", - "$ref": "#/definitions/Money" - } - }, - "description": "Item details for be provided for every item in shipment at either the item or carton or pallet level, whichever is appropriate." - }, "ContainerIdentification": { "type": "object", + "description": "A list of carton identifiers.", "required": [ "containerIdentificationNumber", "containerIdentificationType" @@ -3382,6 +2691,7 @@ }, "CartonReferenceDetails": { "type": "object", + "description": "Carton reference details.", "required": [ "cartonReferenceNumbers" ], @@ -3401,6 +2711,7 @@ }, "PartyIdentification": { "type": "object", + "description": "Name/Address and tax details of the party.", "required": [ "partyId" ], @@ -3517,6 +2828,7 @@ "properties": { "stops": { "type": "array", + "description": "The port or location involved in transporting the cargo, as specified in transportation contracts or operational plans.", "items": { "$ref": "#/definitions/Stop" } @@ -3780,44 +3092,9 @@ }, "description": "Details of item quantity." }, - "packedQuantity": { - "type": "object", - "required": [ - "amount", - "unitOfMeasure" - ], - "properties": { - "amount": { - "type": "integer", - "description": "Amount of units shipped for a specific item at a shipment level. If the item is present only in certain cartons or pallets within the shipment, please provide this at the appropriate carton or pallet level." - }, - "unitOfMeasure": { - "type": "string", - "description": "Unit of measure for the shipped quantity.", - "enum": [ - "Cases", - "Eaches" - ], - "x-docgen-enum-table-extension": [ - { - "value": "Cases", - "description": "Packing of individual items into a case." - }, - { - "value": "Eaches", - "description": "Individual items." - } - ] - }, - "unitSize": { - "type": "integer", - "description": "The case size, in the event that we ordered using cases. Otherwise, 1." - } - }, - "description": "Details of item quantity." - }, "Expiry": { "type": "object", + "description": "Expiry refers to the collection of dates required for certain items. These could be either expiryDate or mfgDate and expiryAfterDuration. These are mandatory for perishable items.", "properties": { "manufacturerDate": { "type": "string", @@ -3837,6 +3114,7 @@ }, "Duration": { "type": "object", + "description": "Duration after manufacturing date during which the product is valid for consumption.", "required": [ "durationUnit", "durationValue" @@ -3881,6 +3159,7 @@ }, "TransactionReference": { "type": "object", + "description": "The response payload for the SubmitShipmentConfirmations operation.", "properties": { "transactionId": { "type": "string", @@ -3918,4 +3197,4 @@ "description": "Error response returned when the request is unsuccessful." } } -} \ No newline at end of file +} From 3948a112921ad8fbf7ce528fcc61fdb772f6d965 Mon Sep 17 00:00:00 2001 From: Gibran Waldron Date: Wed, 20 Mar 2024 11:31:09 -0700 Subject: [PATCH 047/340] Update MarketplaceAsinPageViewMetrics.json scema. --- schemas/reports/marketplaceAsinPageViewMetrics.json | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/schemas/reports/marketplaceAsinPageViewMetrics.json b/schemas/reports/marketplaceAsinPageViewMetrics.json index 8e785227d..284b96a62 100644 --- a/schemas/reports/marketplaceAsinPageViewMetrics.json +++ b/schemas/reports/marketplaceAsinPageViewMetrics.json @@ -1,7 +1,7 @@ { "$schema": "http://json-schema.org/draft-07/schema", "type": "object", - "description": "Provides information on the ASIN page view (glance view) metrics for the DE, FR, IT, ES, NL, PL, SE and BE (EU-8) marketplaces, with data available up to the last seven days. A page view is a customer view of the product's detail page for a given ASIN. Developers have the option to specify a start and end date to retrieve data within that range. If no dates are specified, the report will provide the data for the latest available day. For marketplaces and product categories where the seller does not have a meaningful presence (40 units sold), the report will not return any data.", + "description": "Provides information on the ASIN page view (glance view) metrics for the DE, FR, IT, ES, NL, PL, SE, BE (EU-8) and UK marketplaces, with data available up to the last seven days. A page view is a customer view of the product's detail page for a given ASIN. Developers have the option to specify a start and end date to retrieve data within that range. If no dates are specified, the report will provide the data for the latest available day. For marketplaces and product categories where the seller does not have a meaningful presence (40 units sold), the report will not return any data.", "examples": [ { "reportSpecification": { @@ -164,14 +164,14 @@ }, "reportOptions": { "type": "object", - "description": "Used to specify the product type.", + "description": "Specifies the product type.", "required": [ "productType" ], "properties": { "productType": { "type": "string", - "description": "The Amazon product type of the ASINs for which the report is being requested. All ASINs with the productType will be included. The value for the product type can be found by following instructions on Seller Central's Help page. - https://sellercentral.amazon.com/help/hub/reference/GYV2F6WS9N9FDYD9", + "description": "The Amazon product type of the ASINs for which the report is being requested. All ASINs with the productType will be included. The value for the product type can be found by following instructions on Seller Central's Help page. - https://developer-docs.amazon.com/sp-api/docs/seller-central-urls", "examples": [ "AUTO_BATTERY", "LUGGAGE", @@ -198,10 +198,10 @@ }, "marketplaceIds": { "type": "array", - "description": "Any of the EU(8) marketplaces. DE, FR, IT, ES, NL, PL, SE and BE", + "description": "Any of the EU(8) or UK marketplaces. DE, FR, IT, ES, NL, PL, SE, BE and UK", "items": { "type": "string", - "description": "Any EU(8) Marketplace ID. DE, FR, IT, ES, NL, PL, SE and BE. The ID for the marketplace can be found on the SP-API documentation. - https://developer-docs.amazon.com/sp-api/docs/marketplace-ids" + "description": "Any EU(8) or UK Marketplace ID. DE, FR, IT, ES, NL, PL, SE, BE and UK. The ID for the marketplace can be found on the SP-API documentation. - https://developer-docs.amazon.com/sp-api/docs/marketplace-ids" } } } @@ -267,4 +267,4 @@ } } } -} \ No newline at end of file +} From 10c5a0a1284143a6ca09c06d43bc93fbdd8832de Mon Sep 17 00:00:00 2001 From: Jack Evoniuk Date: Wed, 27 Mar 2024 11:23:34 -0700 Subject: [PATCH 048/340] Update Fulfillment Inbound v0 model Remove the getInboundGuidance operation. --- .../fulfillmentInboundV0.json | 604 ++---------------- 1 file changed, 62 insertions(+), 542 deletions(-) diff --git a/models/fulfillment-inbound-api-model/fulfillmentInboundV0.json b/models/fulfillment-inbound-api-model/fulfillmentInboundV0.json index df45bb5f2..64b5a6a77 100644 --- a/models/fulfillment-inbound-api-model/fulfillmentInboundV0.json +++ b/models/fulfillment-inbound-api-model/fulfillmentInboundV0.json @@ -24,254 +24,6 @@ "application/json" ], "paths": { - "/fba/inbound/v0/itemsGuidance": { - "get": { - "tags": [ - "fbaInbound" - ], - "description": "Returns information that lets a seller know if Amazon recommends sending an item to a given marketplace. In some cases, Amazon provides guidance for why a given SellerSKU or ASIN is not recommended for shipment to Amazon's fulfillment network. Sellers may still ship items that are not recommended, at their discretion.\n\n**Usage Plan:**\n\n| Rate (requests per second) | Burst |\n| ---- | ---- |\n| 2 | 30 |\n\nThe `x-amzn-RateLimit-Limit` response header returns the usage plan rate limits that were applied to the requested operation, when available. The table above indicates the default rate and burst values for this operation. Selling partners whose business demands require higher throughput may see higher rate and burst values than those shown here. For more information, see [Usage Plans and Rate Limits in the Selling Partner API](https://developer-docs.amazon.com/sp-api/docs/usage-plans-and-rate-limits-in-the-sp-api).", - "operationId": "getInboundGuidance", - "deprecated": true, - "parameters": [ - { - "name": "MarketplaceId", - "in": "query", - "description": "A marketplace identifier. Specifies the marketplace where the product would be stored.", - "required": true, - "type": "string" - }, - { - "name": "SellerSKUList", - "in": "query", - "description": "A list of SellerSKU values. Used to identify items for which you want inbound guidance for shipment to Amazon's fulfillment network. Note: SellerSKU is qualified by the SellerId, which is included with every Selling Partner API operation that you submit. If you specify a SellerSKU that identifies a variation parent ASIN, this operation returns an error. A variation parent ASIN represents a generic product that cannot be sold. Variation child ASINs represent products that have specific characteristics (such as size and color) and can be sold. ", - "required": false, - "type": "array", - "items": { - "type": "string" - }, - "maxItems": 50 - }, - { - "name": "ASINList", - "in": "query", - "description": "A list of ASIN values. Used to identify items for which you want inbound guidance for shipment to Amazon's fulfillment network. Note: If you specify a ASIN that identifies a variation parent ASIN, this operation returns an error. A variation parent ASIN represents a generic product that cannot be sold. Variation child ASINs represent products that have specific characteristics (such as size and color) and can be sold.", - "required": false, - "type": "array", - "items": { - "type": "string" - }, - "maxItems": 50 - } - ], - "responses": { - "200": { - "description": "Success.", - "schema": { - "$ref": "#/definitions/GetInboundGuidanceResponse" - }, - "headers": { - "x-amzn-RateLimit-Limit": { - "type": "string", - "description": "Your rate limit (requests per second) for this operation." - }, - "x-amzn-RequestId": { - "type": "string", - "description": "Unique request reference identifier." - } - }, - "x-amzn-api-sandbox": { - "static": [ - { - "request": { - "parameters": { - "MarketplaceId": { - "value": "MarketplaceId" - }, - "SellerSKUList": { - "value": [ - "sku1", - "sku2" - ] - } - } - }, - "response": { - "payload": { - "SKUInboundGuidanceList": [ - { - "SellerSKU": "SellerSKU", - "ASIN": "ASIN", - "InboundGuidance": "InboundNotRecommended", - "GuidanceReasonList": [ - "SlowMovingASIN" - ] - } - ], - "InvalidSKUList": [ - { - "SellerSKU": "SellerSKU", - "ErrorReason": "DoesNotExist" - } - ], - "ASINInboundGuidanceList": [ - { - "ASIN": "ASIN", - "InboundGuidance": "InboundNotRecommended", - "GuidanceReasonList": [ - "SlowMovingASIN" - ] - } - ], - "InvalidASINList": [ - { - "ASIN": "ASIN", - "ErrorReason": "DoesNotExist" - } - ] - } - } - } - ] - } - }, - "400": { - "description": "Request has missing or invalid parameters and cannot be parsed.", - "schema": { - "$ref": "#/definitions/GetInboundGuidanceResponse" - }, - "headers": { - "x-amzn-RateLimit-Limit": { - "type": "string", - "description": "Your rate limit (requests per second) for this operation." - }, - "x-amzn-RequestId": { - "type": "string", - "description": "Unique request reference identifier." - } - }, - "x-amzn-api-sandbox": { - "static": [ - { - "request": { - "parameters": { - "MarketplaceId": { - "value": "BADVALUE" - }, - "SellerSKUList": { - "value": [ - "sku1", - "sku2" - ] - } - } - }, - "response": { - "errors": [ - { - "code": "Invalid Input", - "message": "MarketplaceId is incorrect" - } - ] - } - } - ] - } - }, - "401": { - "description": "The request's Authorization header is not formatted correctly or does not contain a valid token.", - "schema": { - "$ref": "#/definitions/GetInboundGuidanceResponse" - }, - "headers": { - "x-amzn-RateLimit-Limit": { - "type": "string", - "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." - }, - "x-amzn-RequestId": { - "type": "string", - "description": "Unique request reference identifier." - } - } - }, - "403": { - "description": "Indicates that access to the resource is forbidden. Possible reasons include Access Denied, Unauthorized, Expired Token, or Invalid Signature.", - "schema": { - "$ref": "#/definitions/GetInboundGuidanceResponse" - }, - "headers": { - "x-amzn-RequestId": { - "type": "string", - "description": "Unique request reference identifier." - } - } - }, - "404": { - "description": "The specified resource does not exist.", - "schema": { - "$ref": "#/definitions/GetInboundGuidanceResponse" - }, - "headers": { - "x-amzn-RateLimit-Limit": { - "type": "string", - "description": "Your rate limit (requests per second) for this operation." - }, - "x-amzn-RequestId": { - "type": "string", - "description": "Unique request reference identifier." - } - } - }, - "429": { - "description": "The frequency of requests was greater than allowed.", - "schema": { - "$ref": "#/definitions/GetInboundGuidanceResponse" - }, - "headers": { - "x-amzn-RateLimit-Limit": { - "type": "string", - "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." - }, - "x-amzn-RequestId": { - "type": "string", - "description": "Unique request reference identifier." - } - } - }, - "500": { - "description": "An unexpected condition occurred that prevented the server from fulfilling the request.", - "schema": { - "$ref": "#/definitions/GetInboundGuidanceResponse" - }, - "headers": { - "x-amzn-RateLimit-Limit": { - "type": "string", - "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." - }, - "x-amzn-RequestId": { - "type": "string", - "description": "Unique request reference identifier." - } - } - }, - "503": { - "description": "Temporary overloading or maintenance of the server.", - "schema": { - "$ref": "#/definitions/GetInboundGuidanceResponse" - }, - "headers": { - "x-amzn-RateLimit-Limit": { - "type": "string", - "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." - }, - "x-amzn-RequestId": { - "type": "string", - "description": "Unique request reference identifier." - } - } - } - } - } - }, "/fba/inbound/v0/plans": { "post": { "tags": [ @@ -279,6 +31,7 @@ ], "description": "Returns one or more inbound shipment plans, which provide the information you need to create one or more inbound shipments for a set of items that you specify. Multiple inbound shipment plans might be required so that items can be optimally placed in Amazon's fulfillment network—for example, positioning inventory closer to the customer. Alternatively, two inbound shipment plans might be created with the same Amazon fulfillment center destination if the two shipment plans require different processing—for example, items that require labels must be shipped separately from stickerless, commingled inventory.\n\n**Usage Plan:**\n\n| Rate (requests per second) | Burst |\n| ---- | ---- |\n| 2 | 30 |\n\nThe `x-amzn-RateLimit-Limit` response header returns the usage plan rate limits that were applied to the requested operation, when available. The table above indicates the default rate and burst values for this operation. Selling partners whose business demands require higher throughput may see higher rate and burst values than those shown here. For more information, see [Usage Plans and Rate Limits in the Selling Partner API](https://developer-docs.amazon.com/sp-api/docs/usage-plans-and-rate-limits-in-the-sp-api).", "operationId": "createInboundShipmentPlan", + "deprecated": true, "parameters": [ { "in": "body", @@ -286,7 +39,8 @@ "required": true, "schema": { "$ref": "#/definitions/CreateInboundShipmentPlanRequest" - } + }, + "description": "The request schema for the CreateInboundShipmentPlanRequest operation." } ], "responses": { @@ -465,10 +219,6 @@ "$ref": "#/definitions/CreateInboundShipmentPlanResponse" }, "headers": { - "x-amzn-RateLimit-Limit": { - "type": "string", - "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." - }, "x-amzn-RequestId": { "type": "string", "description": "Unique request reference identifier." @@ -509,10 +259,6 @@ "$ref": "#/definitions/CreateInboundShipmentPlanResponse" }, "headers": { - "x-amzn-RateLimit-Limit": { - "type": "string", - "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." - }, "x-amzn-RequestId": { "type": "string", "description": "Unique request reference identifier." @@ -525,10 +271,6 @@ "$ref": "#/definitions/CreateInboundShipmentPlanResponse" }, "headers": { - "x-amzn-RateLimit-Limit": { - "type": "string", - "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." - }, "x-amzn-RequestId": { "type": "string", "description": "Unique request reference identifier." @@ -541,10 +283,6 @@ "$ref": "#/definitions/CreateInboundShipmentPlanResponse" }, "headers": { - "x-amzn-RateLimit-Limit": { - "type": "string", - "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." - }, "x-amzn-RequestId": { "type": "string", "description": "Unique request reference identifier." @@ -561,6 +299,7 @@ ], "description": "Returns a new inbound shipment based on the specified shipmentId that was returned by the createInboundShipmentPlan operation.\n\n**Usage Plan:**\n\n| Rate (requests per second) | Burst |\n| ---- | ---- |\n| 2 | 30 |\n\nThe `x-amzn-RateLimit-Limit` response header returns the usage plan rate limits that were applied to the requested operation, when available. The table above indicates the default rate and burst values for this operation. Selling partners whose business demands require higher throughput may see higher rate and burst values than those shown here. For more information, see [Usage Plans and Rate Limits in the Selling Partner API](https://developer-docs.amazon.com/sp-api/docs/usage-plans-and-rate-limits-in-the-sp-api).", "operationId": "createInboundShipment", + "deprecated": true, "parameters": [ { "in": "body", @@ -568,7 +307,8 @@ "required": true, "schema": { "$ref": "#/definitions/InboundShipmentRequest" - } + }, + "description": "The request schema for the InboundShipmentRequest operation." }, { "name": "shipmentId", @@ -721,10 +461,6 @@ "$ref": "#/definitions/InboundShipmentResponse" }, "headers": { - "x-amzn-RateLimit-Limit": { - "type": "string", - "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." - }, "x-amzn-RequestId": { "type": "string", "description": "Unique request reference identifier." @@ -765,10 +501,6 @@ "$ref": "#/definitions/InboundShipmentResponse" }, "headers": { - "x-amzn-RateLimit-Limit": { - "type": "string", - "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." - }, "x-amzn-RequestId": { "type": "string", "description": "Unique request reference identifier." @@ -781,10 +513,6 @@ "$ref": "#/definitions/InboundShipmentResponse" }, "headers": { - "x-amzn-RateLimit-Limit": { - "type": "string", - "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." - }, "x-amzn-RequestId": { "type": "string", "description": "Unique request reference identifier." @@ -797,10 +525,6 @@ "$ref": "#/definitions/InboundShipmentResponse" }, "headers": { - "x-amzn-RateLimit-Limit": { - "type": "string", - "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." - }, "x-amzn-RequestId": { "type": "string", "description": "Unique request reference identifier." @@ -815,6 +539,7 @@ ], "description": "Updates or removes items from the inbound shipment identified by the specified shipment identifier. Adding new items is not supported.\n\n**Usage Plan:**\n\n| Rate (requests per second) | Burst |\n| ---- | ---- |\n| 2 | 30 |\n\nThe `x-amzn-RateLimit-Limit` response header returns the usage plan rate limits that were applied to the requested operation, when available. The table above indicates the default rate and burst values for this operation. Selling partners whose business demands require higher throughput may see higher rate and burst values than those shown here. For more information, see [Usage Plans and Rate Limits in the Selling Partner API](https://developer-docs.amazon.com/sp-api/docs/usage-plans-and-rate-limits-in-the-sp-api).", "operationId": "updateInboundShipment", + "deprecated": true, "parameters": [ { "in": "body", @@ -822,7 +547,8 @@ "required": true, "schema": { "$ref": "#/definitions/InboundShipmentRequest" - } + }, + "description": "The request schema for the InboundShipmentRequest operation." }, { "name": "shipmentId", @@ -958,10 +684,6 @@ "$ref": "#/definitions/InboundShipmentResponse" }, "headers": { - "x-amzn-RateLimit-Limit": { - "type": "string", - "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." - }, "x-amzn-RequestId": { "type": "string", "description": "Unique request reference identifier." @@ -1002,10 +724,6 @@ "$ref": "#/definitions/InboundShipmentResponse" }, "headers": { - "x-amzn-RateLimit-Limit": { - "type": "string", - "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." - }, "x-amzn-RequestId": { "type": "string", "description": "Unique request reference identifier." @@ -1018,10 +736,6 @@ "$ref": "#/definitions/InboundShipmentResponse" }, "headers": { - "x-amzn-RateLimit-Limit": { - "type": "string", - "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." - }, "x-amzn-RequestId": { "type": "string", "description": "Unique request reference identifier." @@ -1034,10 +748,6 @@ "$ref": "#/definitions/InboundShipmentResponse" }, "headers": { - "x-amzn-RateLimit-Limit": { - "type": "string", - "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." - }, "x-amzn-RequestId": { "type": "string", "description": "Unique request reference identifier." @@ -1054,6 +764,7 @@ ], "description": "Returns pre-order information, including dates, that a seller needs before confirming a shipment for pre-order. \n\n**Usage Plan:**\n\n| Rate (requests per second) | Burst |\n| ---- | ---- |\n| 2 | 30 |\n\nThe `x-amzn-RateLimit-Limit` response header returns the usage plan rate limits that were applied to the requested operation, when available. The table above indicates the default rate and burst values for this operation. Selling partners whose business demands require higher throughput may see higher rate and burst values than those shown here. For more information, see [Usage Plans and Rate Limits in the Selling Partner API](https://developer-docs.amazon.com/sp-api/docs/usage-plans-and-rate-limits-in-the-sp-api).", "operationId": "getPreorderInfo", + "deprecated": true, "parameters": [ { "name": "shipmentId", @@ -1157,10 +868,6 @@ "$ref": "#/definitions/GetPreorderInfoResponse" }, "headers": { - "x-amzn-RateLimit-Limit": { - "type": "string", - "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." - }, "x-amzn-RequestId": { "type": "string", "description": "Unique request reference identifier." @@ -1201,10 +908,6 @@ "$ref": "#/definitions/GetPreorderInfoResponse" }, "headers": { - "x-amzn-RateLimit-Limit": { - "type": "string", - "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." - }, "x-amzn-RequestId": { "type": "string", "description": "Unique request reference identifier." @@ -1217,10 +920,6 @@ "$ref": "#/definitions/GetPreorderInfoResponse" }, "headers": { - "x-amzn-RateLimit-Limit": { - "type": "string", - "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." - }, "x-amzn-RequestId": { "type": "string", "description": "Unique request reference identifier." @@ -1233,10 +932,6 @@ "$ref": "#/definitions/GetPreorderInfoResponse" }, "headers": { - "x-amzn-RateLimit-Limit": { - "type": "string", - "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." - }, "x-amzn-RequestId": { "type": "string", "description": "Unique request reference identifier." @@ -1253,6 +948,7 @@ ], "description": "Returns information needed to confirm a shipment for pre-order. Call this operation after calling the getPreorderInfo operation to get the NeedByDate value and other pre-order information about the shipment.\n\n**Usage Plan:**\n\n| Rate (requests per second) | Burst |\n| ---- | ---- |\n| 2 | 30 |\n\nThe `x-amzn-RateLimit-Limit` response header returns the usage plan rate limits that were applied to the requested operation, when available. The table above indicates the default rate and burst values for this operation. Selling partners whose business demands require higher throughput may see higher rate and burst values than those shown here. For more information, see [Usage Plans and Rate Limits in the Selling Partner API](https://developer-docs.amazon.com/sp-api/docs/usage-plans-and-rate-limits-in-the-sp-api).", "operationId": "confirmPreorder", + "deprecated": true, "parameters": [ { "name": "shipmentId", @@ -1368,10 +1064,6 @@ "$ref": "#/definitions/ConfirmPreorderResponse" }, "headers": { - "x-amzn-RateLimit-Limit": { - "type": "string", - "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." - }, "x-amzn-RequestId": { "type": "string", "description": "Unique request reference identifier." @@ -1412,10 +1104,6 @@ "$ref": "#/definitions/ConfirmPreorderResponse" }, "headers": { - "x-amzn-RateLimit-Limit": { - "type": "string", - "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." - }, "x-amzn-RequestId": { "type": "string", "description": "Unique request reference identifier." @@ -1428,10 +1116,6 @@ "$ref": "#/definitions/ConfirmPreorderResponse" }, "headers": { - "x-amzn-RateLimit-Limit": { - "type": "string", - "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." - }, "x-amzn-RequestId": { "type": "string", "description": "Unique request reference identifier." @@ -1444,10 +1128,6 @@ "$ref": "#/definitions/ConfirmPreorderResponse" }, "headers": { - "x-amzn-RateLimit-Limit": { - "type": "string", - "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." - }, "x-amzn-RequestId": { "type": "string", "description": "Unique request reference identifier." @@ -1625,10 +1305,6 @@ "$ref": "#/definitions/GetPrepInstructionsResponse" }, "headers": { - "x-amzn-RateLimit-Limit": { - "type": "string", - "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." - }, "x-amzn-RequestId": { "type": "string", "description": "Unique request reference identifier." @@ -1669,10 +1345,6 @@ "$ref": "#/definitions/GetPrepInstructionsResponse" }, "headers": { - "x-amzn-RateLimit-Limit": { - "type": "string", - "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." - }, "x-amzn-RequestId": { "type": "string", "description": "Unique request reference identifier." @@ -1685,10 +1357,6 @@ "$ref": "#/definitions/GetPrepInstructionsResponse" }, "headers": { - "x-amzn-RateLimit-Limit": { - "type": "string", - "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." - }, "x-amzn-RequestId": { "type": "string", "description": "Unique request reference identifier." @@ -1701,10 +1369,6 @@ "$ref": "#/definitions/GetPrepInstructionsResponse" }, "headers": { - "x-amzn-RateLimit-Limit": { - "type": "string", - "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." - }, "x-amzn-RequestId": { "type": "string", "description": "Unique request reference identifier." @@ -1721,6 +1385,7 @@ ], "description": "Returns current transportation information about an inbound shipment.\n\n**Usage Plan:**\n\n| Rate (requests per second) | Burst |\n| ---- | ---- |\n| 2 | 30 |\n\nThe `x-amzn-RateLimit-Limit` response header returns the usage plan rate limits that were applied to the requested operation, when available. The table above indicates the default rate and burst values for this operation. Selling partners whose business demands require higher throughput may see higher rate and burst values than those shown here. For more information, see [Usage Plans and Rate Limits in the Selling Partner API](https://developer-docs.amazon.com/sp-api/docs/usage-plans-and-rate-limits-in-the-sp-api).", "operationId": "getTransportDetails", + "deprecated": true, "parameters": [ { "name": "shipmentId", @@ -1838,10 +1503,6 @@ "$ref": "#/definitions/GetTransportDetailsResponse" }, "headers": { - "x-amzn-RateLimit-Limit": { - "type": "string", - "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." - }, "x-amzn-RequestId": { "type": "string", "description": "Unique request reference identifier." @@ -1882,10 +1543,6 @@ "$ref": "#/definitions/GetTransportDetailsResponse" }, "headers": { - "x-amzn-RateLimit-Limit": { - "type": "string", - "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." - }, "x-amzn-RequestId": { "type": "string", "description": "Unique request reference identifier." @@ -1898,10 +1555,6 @@ "$ref": "#/definitions/GetTransportDetailsResponse" }, "headers": { - "x-amzn-RateLimit-Limit": { - "type": "string", - "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." - }, "x-amzn-RequestId": { "type": "string", "description": "Unique request reference identifier." @@ -1914,10 +1567,6 @@ "$ref": "#/definitions/GetTransportDetailsResponse" }, "headers": { - "x-amzn-RateLimit-Limit": { - "type": "string", - "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." - }, "x-amzn-RequestId": { "type": "string", "description": "Unique request reference identifier." @@ -1932,6 +1581,7 @@ ], "description": "Sends transportation information to Amazon about an inbound shipment.\n\n**Usage Plan:**\n\n| Rate (requests per second) | Burst |\n| ---- | ---- |\n| 2 | 30 |\n\nThe `x-amzn-RateLimit-Limit` response header returns the usage plan rate limits that were applied to the requested operation, when available. The table above indicates the default rate and burst values for this operation. Selling partners whose business demands require higher throughput may see higher rate and burst values than those shown here. For more information, see [Usage Plans and Rate Limits in the Selling Partner API](https://developer-docs.amazon.com/sp-api/docs/usage-plans-and-rate-limits-in-the-sp-api).", "operationId": "putTransportDetails", + "deprecated": true, "parameters": [ { "name": "shipmentId", @@ -1946,7 +1596,8 @@ "required": true, "schema": { "$ref": "#/definitions/PutTransportDetailsRequest" - } + }, + "description": "The request schema for the PutTransportDetailsRequest operation." } ], "responses": { @@ -2171,10 +1822,6 @@ "$ref": "#/definitions/PutTransportDetailsResponse" }, "headers": { - "x-amzn-RateLimit-Limit": { - "type": "string", - "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." - }, "x-amzn-RequestId": { "type": "string", "description": "Unique request reference identifier." @@ -2215,10 +1862,6 @@ "$ref": "#/definitions/PutTransportDetailsResponse" }, "headers": { - "x-amzn-RateLimit-Limit": { - "type": "string", - "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." - }, "x-amzn-RequestId": { "type": "string", "description": "Unique request reference identifier." @@ -2231,10 +1874,6 @@ "$ref": "#/definitions/PutTransportDetailsResponse" }, "headers": { - "x-amzn-RateLimit-Limit": { - "type": "string", - "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." - }, "x-amzn-RequestId": { "type": "string", "description": "Unique request reference identifier." @@ -2247,10 +1886,6 @@ "$ref": "#/definitions/PutTransportDetailsResponse" }, "headers": { - "x-amzn-RateLimit-Limit": { - "type": "string", - "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." - }, "x-amzn-RequestId": { "type": "string", "description": "Unique request reference identifier." @@ -2267,6 +1902,7 @@ ], "description": "Cancels a previously-confirmed request to ship an inbound shipment using an Amazon-partnered carrier.\n\nTo be successful, you must call this operation before the VoidDeadline date that is returned by the getTransportDetails operation.\n\nImportant: The VoidDeadline date is 24 hours after you confirm a Small Parcel shipment transportation request or one hour after you confirm a Less Than Truckload/Full Truckload (LTL/FTL) shipment transportation request. After the void deadline passes, your account will be charged for the shipping cost.\n\n**Usage Plan:**\n\n| Rate (requests per second) | Burst |\n| ---- | ---- |\n| 2 | 30 |\n\nThe `x-amzn-RateLimit-Limit` response header returns the usage plan rate limits that were applied to the requested operation, when available. The table above indicates the default rate and burst values for this operation. Selling partners whose business demands require higher throughput may see higher rate and burst values than those shown here. For more information, see [Usage Plans and Rate Limits in the Selling Partner API](https://developer-docs.amazon.com/sp-api/docs/usage-plans-and-rate-limits-in-the-sp-api).", "operationId": "voidTransport", + "deprecated": true, "parameters": [ { "name": "shipmentId", @@ -2356,10 +1992,6 @@ "$ref": "#/definitions/VoidTransportResponse" }, "headers": { - "x-amzn-RateLimit-Limit": { - "type": "string", - "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." - }, "x-amzn-RequestId": { "type": "string", "description": "Unique request reference identifier." @@ -2400,10 +2032,6 @@ "$ref": "#/definitions/VoidTransportResponse" }, "headers": { - "x-amzn-RateLimit-Limit": { - "type": "string", - "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." - }, "x-amzn-RequestId": { "type": "string", "description": "Unique request reference identifier." @@ -2416,10 +2044,6 @@ "$ref": "#/definitions/VoidTransportResponse" }, "headers": { - "x-amzn-RateLimit-Limit": { - "type": "string", - "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." - }, "x-amzn-RequestId": { "type": "string", "description": "Unique request reference identifier." @@ -2432,10 +2056,6 @@ "$ref": "#/definitions/VoidTransportResponse" }, "headers": { - "x-amzn-RateLimit-Limit": { - "type": "string", - "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." - }, "x-amzn-RequestId": { "type": "string", "description": "Unique request reference identifier." @@ -2452,6 +2072,7 @@ ], "description": "Initiates the process of estimating the shipping cost for an inbound shipment by an Amazon-partnered carrier.\n\nPrior to calling the estimateTransport operation, you must call the putTransportDetails operation to provide Amazon with the transportation information for the inbound shipment.\n\n**Usage Plan:**\n\n| Rate (requests per second) | Burst |\n| ---- | ---- |\n| 2 | 30 |\n\nThe `x-amzn-RateLimit-Limit` response header returns the usage plan rate limits that were applied to the requested operation, when available. The table above indicates the default rate and burst values for this operation. Selling partners whose business demands require higher throughput may see higher rate and burst values than those shown here. For more information, see [Usage Plans and Rate Limits in the Selling Partner API](https://developer-docs.amazon.com/sp-api/docs/usage-plans-and-rate-limits-in-the-sp-api).", "operationId": "estimateTransport", + "deprecated": true, "parameters": [ { "name": "shipmentId", @@ -2541,10 +2162,6 @@ "$ref": "#/definitions/EstimateTransportResponse" }, "headers": { - "x-amzn-RateLimit-Limit": { - "type": "string", - "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." - }, "x-amzn-RequestId": { "type": "string", "description": "Unique request reference identifier." @@ -2585,10 +2202,6 @@ "$ref": "#/definitions/EstimateTransportResponse" }, "headers": { - "x-amzn-RateLimit-Limit": { - "type": "string", - "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." - }, "x-amzn-RequestId": { "type": "string", "description": "Unique request reference identifier." @@ -2601,10 +2214,6 @@ "$ref": "#/definitions/EstimateTransportResponse" }, "headers": { - "x-amzn-RateLimit-Limit": { - "type": "string", - "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." - }, "x-amzn-RequestId": { "type": "string", "description": "Unique request reference identifier." @@ -2617,10 +2226,6 @@ "$ref": "#/definitions/EstimateTransportResponse" }, "headers": { - "x-amzn-RateLimit-Limit": { - "type": "string", - "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." - }, "x-amzn-RequestId": { "type": "string", "description": "Unique request reference identifier." @@ -2637,6 +2242,7 @@ ], "description": "Confirms that the seller accepts the Amazon-partnered shipping estimate, agrees to allow Amazon to charge their account for the shipping cost, and requests that the Amazon-partnered carrier ship the inbound shipment.\n\nPrior to calling the confirmTransport operation, you should call the getTransportDetails operation to get the Amazon-partnered shipping estimate.\n\nImportant: After confirming the transportation request, if the seller decides that they do not want the Amazon-partnered carrier to ship the inbound shipment, you can call the voidTransport operation to cancel the transportation request. Note that for a Small Parcel shipment, the seller has 24 hours after confirming a transportation request to void the transportation request. For a Less Than Truckload/Full Truckload (LTL/FTL) shipment, the seller has one hour after confirming a transportation request to void it. After the grace period has expired the seller's account will be charged for the shipping cost.\n\n**Usage Plan:**\n\n| Rate (requests per second) | Burst |\n| ---- | ---- |\n| 2 | 30 |\n\nThe `x-amzn-RateLimit-Limit` response header returns the usage plan rate limits that were applied to the requested operation, when available. The table above indicates the default rate and burst values for this operation. Selling partners whose business demands require higher throughput may see higher rate and burst values than those shown here. For more information, see [Usage Plans and Rate Limits in the Selling Partner API](https://developer-docs.amazon.com/sp-api/docs/usage-plans-and-rate-limits-in-the-sp-api).", "operationId": "confirmTransport", + "deprecated": true, "parameters": [ { "name": "shipmentId", @@ -2726,10 +2332,6 @@ "$ref": "#/definitions/ConfirmTransportResponse" }, "headers": { - "x-amzn-RateLimit-Limit": { - "type": "string", - "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." - }, "x-amzn-RequestId": { "type": "string", "description": "Unique request reference identifier." @@ -2770,10 +2372,6 @@ "$ref": "#/definitions/ConfirmTransportResponse" }, "headers": { - "x-amzn-RateLimit-Limit": { - "type": "string", - "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." - }, "x-amzn-RequestId": { "type": "string", "description": "Unique request reference identifier." @@ -2786,10 +2384,6 @@ "$ref": "#/definitions/ConfirmTransportResponse" }, "headers": { - "x-amzn-RateLimit-Limit": { - "type": "string", - "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." - }, "x-amzn-RequestId": { "type": "string", "description": "Unique request reference identifier." @@ -2802,10 +2396,6 @@ "$ref": "#/definitions/ConfirmTransportResponse" }, "headers": { - "x-amzn-RateLimit-Limit": { - "type": "string", - "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." - }, "x-amzn-RequestId": { "type": "string", "description": "Unique request reference identifier." @@ -2942,8 +2532,7 @@ "type": "array", "items": { "type": "string" - }, - "maxItems": 999 + } }, { "name": "NumberOfPallets", @@ -3057,10 +2646,6 @@ "$ref": "#/definitions/GetLabelsResponse" }, "headers": { - "x-amzn-RateLimit-Limit": { - "type": "string", - "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." - }, "x-amzn-RequestId": { "type": "string", "description": "Unique request reference identifier." @@ -3101,10 +2686,6 @@ "$ref": "#/definitions/GetLabelsResponse" }, "headers": { - "x-amzn-RateLimit-Limit": { - "type": "string", - "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." - }, "x-amzn-RequestId": { "type": "string", "description": "Unique request reference identifier." @@ -3117,10 +2698,6 @@ "$ref": "#/definitions/GetLabelsResponse" }, "headers": { - "x-amzn-RateLimit-Limit": { - "type": "string", - "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." - }, "x-amzn-RequestId": { "type": "string", "description": "Unique request reference identifier." @@ -3133,10 +2710,6 @@ "$ref": "#/definitions/GetLabelsResponse" }, "headers": { - "x-amzn-RateLimit-Limit": { - "type": "string", - "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." - }, "x-amzn-RequestId": { "type": "string", "description": "Unique request reference identifier." @@ -3240,10 +2813,6 @@ "$ref": "#/definitions/GetBillOfLadingResponse" }, "headers": { - "x-amzn-RateLimit-Limit": { - "type": "string", - "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." - }, "x-amzn-RequestId": { "type": "string", "description": "Unique request reference identifier." @@ -3284,10 +2853,6 @@ "$ref": "#/definitions/GetBillOfLadingResponse" }, "headers": { - "x-amzn-RateLimit-Limit": { - "type": "string", - "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." - }, "x-amzn-RequestId": { "type": "string", "description": "Unique request reference identifier." @@ -3300,10 +2865,6 @@ "$ref": "#/definitions/GetBillOfLadingResponse" }, "headers": { - "x-amzn-RateLimit-Limit": { - "type": "string", - "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." - }, "x-amzn-RequestId": { "type": "string", "description": "Unique request reference identifier." @@ -3316,10 +2877,6 @@ "$ref": "#/definitions/GetBillOfLadingResponse" }, "headers": { - "x-amzn-RateLimit-Limit": { - "type": "string", - "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." - }, "x-amzn-RequestId": { "type": "string", "description": "Unique request reference identifier." @@ -3336,6 +2893,7 @@ ], "description": "Returns a list of inbound shipments based on criteria that you specify.\n\n**Usage Plan:**\n\n| Rate (requests per second) | Burst |\n| ---- | ---- |\n| 2 | 30 |\n\nThe `x-amzn-RateLimit-Limit` response header returns the usage plan rate limits that were applied to the requested operation, when available. The table above indicates the default rate and burst values for this operation. Selling partners whose business demands require higher throughput may see higher rate and burst values than those shown here. For more information, see [Usage Plans and Rate Limits in the Selling Partner API](https://developer-docs.amazon.com/sp-api/docs/usage-plans-and-rate-limits-in-the-sp-api).", "operationId": "getShipments", + "deprecated": true, "parameters": [ { "name": "ShipmentStatusList", @@ -3414,7 +2972,8 @@ "type": "array", "items": { "type": "string" - } + }, + "maxItems": 999 }, { "name": "LastUpdatedAfter", @@ -3575,10 +3134,6 @@ "$ref": "#/definitions/GetShipmentsResponse" }, "headers": { - "x-amzn-RateLimit-Limit": { - "type": "string", - "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." - }, "x-amzn-RequestId": { "type": "string", "description": "Unique request reference identifier." @@ -3619,10 +3174,6 @@ "$ref": "#/definitions/GetShipmentsResponse" }, "headers": { - "x-amzn-RateLimit-Limit": { - "type": "string", - "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." - }, "x-amzn-RequestId": { "type": "string", "description": "Unique request reference identifier." @@ -3635,10 +3186,6 @@ "$ref": "#/definitions/GetShipmentsResponse" }, "headers": { - "x-amzn-RateLimit-Limit": { - "type": "string", - "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." - }, "x-amzn-RequestId": { "type": "string", "description": "Unique request reference identifier." @@ -3651,10 +3198,6 @@ "$ref": "#/definitions/GetShipmentsResponse" }, "headers": { - "x-amzn-RateLimit-Limit": { - "type": "string", - "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." - }, "x-amzn-RequestId": { "type": "string", "description": "Unique request reference identifier." @@ -3671,6 +3214,7 @@ ], "description": "Returns a list of items in a specified inbound shipment.\n\n**Usage Plan:**\n\n| Rate (requests per second) | Burst |\n| ---- | ---- |\n| 2 | 30 |\n\nThe `x-amzn-RateLimit-Limit` response header returns the usage plan rate limits that were applied to the requested operation, when available. The table above indicates the default rate and burst values for this operation. Selling partners whose business demands require higher throughput may see higher rate and burst values than those shown here. For more information, see [Usage Plans and Rate Limits in the Selling Partner API](https://developer-docs.amazon.com/sp-api/docs/usage-plans-and-rate-limits-in-the-sp-api).", "operationId": "getShipmentItemsByShipmentId", + "deprecated": true, "parameters": [ { "name": "shipmentId", @@ -3792,10 +3336,6 @@ "$ref": "#/definitions/GetShipmentItemsResponse" }, "headers": { - "x-amzn-RateLimit-Limit": { - "type": "string", - "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." - }, "x-amzn-RequestId": { "type": "string", "description": "Unique request reference identifier." @@ -3836,10 +3376,6 @@ "$ref": "#/definitions/GetShipmentItemsResponse" }, "headers": { - "x-amzn-RateLimit-Limit": { - "type": "string", - "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." - }, "x-amzn-RequestId": { "type": "string", "description": "Unique request reference identifier." @@ -3852,10 +3388,6 @@ "$ref": "#/definitions/GetShipmentItemsResponse" }, "headers": { - "x-amzn-RateLimit-Limit": { - "type": "string", - "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." - }, "x-amzn-RequestId": { "type": "string", "description": "Unique request reference identifier." @@ -3868,10 +3400,6 @@ "$ref": "#/definitions/GetShipmentItemsResponse" }, "headers": { - "x-amzn-RateLimit-Limit": { - "type": "string", - "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." - }, "x-amzn-RequestId": { "type": "string", "description": "Unique request reference identifier." @@ -3888,6 +3416,7 @@ ], "description": "Returns a list of items in a specified inbound shipment, or a list of items that were updated within a specified time frame.\n\n**Usage Plan:**\n\n| Rate (requests per second) | Burst |\n| ---- | ---- |\n| 2 | 30 |\n\nThe `x-amzn-RateLimit-Limit` response header returns the usage plan rate limits that were applied to the requested operation, when available. The table above indicates the default rate and burst values for this operation. Selling partners whose business demands require higher throughput may see higher rate and burst values than those shown here. For more information, see [Usage Plans and Rate Limits in the Selling Partner API](https://developer-docs.amazon.com/sp-api/docs/usage-plans-and-rate-limits-in-the-sp-api).", "operationId": "getShipmentItems", + "deprecated": true, "parameters": [ { "name": "LastUpdatedAfter", @@ -4092,10 +3621,6 @@ "$ref": "#/definitions/GetShipmentItemsResponse" }, "headers": { - "x-amzn-RateLimit-Limit": { - "type": "string", - "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." - }, "x-amzn-RequestId": { "type": "string", "description": "Unique request reference identifier." @@ -4136,10 +3661,6 @@ "$ref": "#/definitions/GetShipmentItemsResponse" }, "headers": { - "x-amzn-RateLimit-Limit": { - "type": "string", - "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." - }, "x-amzn-RequestId": { "type": "string", "description": "Unique request reference identifier." @@ -4152,10 +3673,6 @@ "$ref": "#/definitions/GetShipmentItemsResponse" }, "headers": { - "x-amzn-RateLimit-Limit": { - "type": "string", - "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." - }, "x-amzn-RequestId": { "type": "string", "description": "Unique request reference identifier." @@ -4168,10 +3685,6 @@ "$ref": "#/definitions/GetShipmentItemsResponse" }, "headers": { - "x-amzn-RateLimit-Limit": { - "type": "string", - "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." - }, "x-amzn-RequestId": { "type": "string", "description": "Unique request reference identifier." @@ -4268,6 +3781,7 @@ }, "Address": { "type": "object", + "description": "Specific details to identify a place.", "required": [ "AddressLine1", "City", @@ -4379,7 +3893,8 @@ }, "BigDecimalType": { "type": "number", - "format": "double" + "format": "double", + "description": "Number format that supports decimal." }, "BoxContentsFeeDetails": { "type": "object", @@ -4536,7 +4051,8 @@ "description": "Date that determines which pre-order items in the shipment are eligible for pre-order. The pre-order Buy Box will appear for any pre-order item in the shipment with a release date on or after this date. In YYYY-MM-DD format.", "$ref": "#/definitions/DateStringType" } - } + }, + "description": "Result for confirm preorder operation" }, "ConfirmPreorderResponse": { "type": "object", @@ -4557,7 +4073,8 @@ "TransportResult": { "$ref": "#/definitions/TransportResult" } - } + }, + "description": "Common container for transport result" }, "ConfirmTransportResponse": { "type": "object", @@ -4639,7 +4156,8 @@ "InboundShipmentPlans": { "$ref": "#/definitions/InboundShipmentPlanList" } - } + }, + "description": "Result for the create inbound shipment operation" }, "CreateInboundShipmentPlanResponse": { "type": "object", @@ -4685,7 +4203,8 @@ "type": "string", "description": "The shipment identifier submitted in the request." } - } + }, + "description": "Result of an inbound shipment operation" }, "InboundShipmentResponse": { "type": "object", @@ -4720,7 +4239,8 @@ }, "DateStringType": { "type": "string", - "format": "date" + "format": "date", + "description": "Type containing date in string format" }, "Dimensions": { "type": "object", @@ -4809,20 +4329,8 @@ "InvalidASINList": { "$ref": "#/definitions/InvalidASINList" } - } - }, - "GetInboundGuidanceResponse": { - "type": "object", - "properties": { - "payload": { - "description": "The payload for the getInboundGuidance operation.", - "$ref": "#/definitions/GetInboundGuidanceResult" - }, - "errors": { - "$ref": "#/definitions/ErrorList" - } }, - "description": "The response schema for the getInboundGuidance operation." + "description": "Result for the get inbound guidance operation" }, "LabelDownloadURL": { "type": "object", @@ -4831,7 +4339,8 @@ "type": "string", "description": "URL to download the label for the package. Note: The URL will only be valid for 15 seconds" } - } + }, + "description": "Download URL for a label" }, "BillOfLadingDownloadURL": { "type": "object", @@ -4840,7 +4349,8 @@ "type": "string", "description": "URL to download the bill of lading for the package. Note: The URL will only be valid for 15 seconds" } - } + }, + "description": "Download URL for the bill of lading." }, "GetLabelsResponse": { "type": "object", @@ -4874,7 +4384,8 @@ "description": "Date in YYYY-MM-DD format that determines which pre-order items in the shipment are eligible for pre-order. If this shipment is confirmed for pre-order with a subsequent call to the confirmPreorder operation, the pre-order Buy Box will appear for any pre-order items in the shipment with a release date on or after this date. Call the getShipmentItems operation to get the release dates for the pre-order items in this shipment.", "$ref": "#/definitions/DateStringType" } - } + }, + "description": "Result for the get preorder info operation" }, "GetPreorderInfoResponse": { "type": "object", @@ -4905,7 +4416,8 @@ "InvalidASINList": { "$ref": "#/definitions/InvalidASINList" } - } + }, + "description": "Result for the get prep instructions operation" }, "GetPrepInstructionsResponse": { "type": "object", @@ -4926,7 +4438,8 @@ "TransportContent": { "$ref": "#/definitions/TransportContent" } - } + }, + "description": "Result for the get transport details operation" }, "GetTransportDetailsResponse": { "type": "object", @@ -5237,7 +4750,8 @@ "type": "array", "items": { "$ref": "#/definitions/InboundShipmentPlanRequestItem" - } + }, + "description": "List of inbound shipment plan requests" }, "IntendedBoxContentsSource": { "type": "string", @@ -5273,7 +4787,8 @@ "description": "The reason that the ASIN is invalid.", "$ref": "#/definitions/ErrorReason" } - } + }, + "description": "Contains details about an invalid ASIN" }, "InvalidASINList": { "type": "array", @@ -5293,7 +4808,8 @@ "description": "The reason why the seller SKU is invalid.", "$ref": "#/definitions/ErrorReason" } - } + }, + "description": "Contains detail about an invalid SKU" }, "InvalidSKUList": { "type": "array", @@ -5359,7 +4875,8 @@ "type": "string", "description": "When present and not empty, pass this string token in the next request to return the next response page." } - } + }, + "description": "Result for the get shipment items operation" }, "GetShipmentItemsResponse": { "type": "object", @@ -5385,7 +4902,8 @@ "type": "string", "description": "When present and not empty, pass this string token in the next request to return the next response page." } - } + }, + "description": "Result for the get shipments operation" }, "GetShipmentsResponse": { "type": "object", @@ -6245,7 +5763,8 @@ }, "TimeStampStringType": { "type": "string", - "format": "date-time" + "format": "date-time", + "description": "Timestamp in ISO 8601 format." }, "TrackingId": { "type": "string", @@ -6455,7 +5974,8 @@ }, "UnsignedIntType": { "type": "integer", - "format": "int64" + "format": "int64", + "description": "Contains an unsigned integer" }, "VoidTransportResponse": { "type": "object", From ec49efe4c35134e737d505c7c3673ad4ece8c08c Mon Sep 17 00:00:00 2001 From: Jack Evoniuk Date: Wed, 27 Mar 2024 11:27:50 -0700 Subject: [PATCH 049/340] Update Merchant Fulfillment model --- .../merchantFulfillmentV0.json | 1220 ++++------------- 1 file changed, 284 insertions(+), 936 deletions(-) diff --git a/models/merchant-fulfillment-api-model/merchantFulfillmentV0.json b/models/merchant-fulfillment-api-model/merchantFulfillmentV0.json index 25f184218..64e4dad87 100644 --- a/models/merchant-fulfillment-api-model/merchantFulfillmentV0.json +++ b/models/merchant-fulfillment-api-model/merchantFulfillmentV0.json @@ -24,14 +24,13 @@ "application/json" ], "paths": { - "/mfn/v0/eligibleServices": { + "/mfn/v0/eligibleShippingServices": { "post": { "tags": [ "merchantFulfillment" ], - "deprecated": true, - "description": "Returns a list of shipping service offers that satisfy the specified shipment request details.\n\n**Usage Plan:**\n\n| Rate (requests per second) | Burst |\n| ---- | ---- |\n| 1 | 1 |\n\nThe `x-amzn-RateLimit-Limit` response header returns the usage plan rate limits that were applied to the requested operation, when available. The table above indicates the default rate and burst values for this operation. Selling partners whose business demands require higher throughput may see higher rate and burst values than those shown here. For more information, see [Usage Plans and Rate Limits in the Selling Partner API](https://developer-docs.amazon.com/sp-api/docs/usage-plans-and-rate-limits-in-the-sp-api).", - "operationId": "getEligibleShipmentServicesOld", + "description": "Returns a list of shipping service offers that satisfy the specified shipment request details.\n\n**Usage Plan:**\n\n| Rate (requests per second) | Burst |\n| ---- | ---- |\n| 5 | 10 |\n\nThe `x-amzn-RateLimit-Limit` response header returns the usage plan rate limits that were applied to the requested operation, when available. The table above indicates the default rate and burst values for this operation. Selling partners whose business demands require higher throughput may see higher rate and burst values than those shown here. For more information, see [Usage Plans and Rate Limits in the Selling Partner API](https://developer-docs.amazon.com/sp-api/docs/usage-plans-and-rate-limits-in-the-sp-api).", + "operationId": "getEligibleShipmentServices", "parameters": [ { "in": "body", @@ -373,28 +372,28 @@ } } }, - "/mfn/v0/eligibleShippingServices": { - "post": { + "/mfn/v0/shipments/{shipmentId}": { + "get": { "tags": [ "merchantFulfillment" ], - "description": "Returns a list of shipping service offers that satisfy the specified shipment request details.\n\n**Usage Plan:**\n\n| Rate (requests per second) | Burst |\n| ---- | ---- |\n| 5 | 10 |\n\nThe `x-amzn-RateLimit-Limit` response header returns the usage plan rate limits that were applied to the requested operation, when available. The table above indicates the default rate and burst values for this operation. Selling partners whose business demands require higher throughput may see higher rate and burst values than those shown here. For more information, see [Usage Plans and Rate Limits in the Selling Partner API](https://developer-docs.amazon.com/sp-api/docs/usage-plans-and-rate-limits-in-the-sp-api).", - "operationId": "getEligibleShipmentServices", + "description": "Returns the shipment information for an existing shipment.\n\n**Usage Plan:**\n\n| Rate (requests per second) | Burst |\n| ---- | ---- |\n| 1 | 1 |\n\nThe `x-amzn-RateLimit-Limit` response header returns the usage plan rate limits that were applied to the requested operation, when available. The table above indicates the default rate and burst values for this operation. Selling partners whose business demands require higher throughput may see higher rate and burst values than those shown here. For more information, see [Usage Plans and Rate Limits in the Selling Partner API](https://developer-docs.amazon.com/sp-api/docs/usage-plans-and-rate-limits-in-the-sp-api).", + "operationId": "getShipment", "parameters": [ { - "in": "body", - "name": "body", + "name": "shipmentId", + "in": "path", + "description": "The Amazon-defined shipment identifier for the shipment.", "required": true, - "schema": { - "$ref": "#/definitions/GetEligibleShipmentServicesRequest" - } + "type": "string", + "pattern": "[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}" } ], "responses": { "200": { "description": "Success", "schema": { - "$ref": "#/definitions/GetEligibleShipmentServicesResponse" + "$ref": "#/definitions/GetShipmentResponse" }, "headers": { "x-amzn-RateLimit-Limit": { @@ -411,142 +410,92 @@ { "request": { "parameters": { - "body": { - "value": { - "ShipmentRequestDetails": { - "AmazonOrderId": "903-5563053-5647845", - "ItemList": [ - { - "OrderItemId": "52986411826454", - "Quantity": 1 - } - ], - "ShipFromAddress": { - "Name": "John Doe", - "AddressLine1": "300 Turnbull Ave", - "Email": "jdoeasdfllkj@yahoo.com", - "City": "Detroit", - "StateOrProvinceCode": "MI", - "PostalCode": "48123", - "CountryCode": "US", - "Phone": "7132341234" - }, - "PackageDimensions": { - "Length": 10.25, - "Width": 10.25, - "Height": 10.25, - "Unit": "inches" - }, - "Weight": { - "Value": 10.25, - "Unit": "oz" - }, - "ShippingServiceOptions": { - "DeliveryExperience": "NoTracking", - "CarrierWillPickUp": false, - "CarrierWillPickUpOption": "ShipperWillDropOff" - } - } - } + "shipmentId": { + "value": "abcddcba-00c3-4f6f-a63a-639f76ee9253" } } }, "response": { "payload": { - "ShippingServiceList": [ - { - "ShippingServiceName": "UPS 2nd Day Air\u00AE", - "CarrierName": "UPS\u00AE", - "ShippingServiceId": "UPS_PTP_2ND_DAY_AIR", - "ShippingServiceOfferId": "WHgxtyn6qjGGaCzOCog1azF5HLHje5Pz3Lc2Fmt5eKoZAReW8oJ1SMumuBS8lA/Hjuglhyiu0+KRLvyJxFV0PB9YFMDhygs3VyTL0WGYkGxiuRkmuEvpqldUn9rrkWVodqnR4vx2VtXvtER/Ju6RqYoddJZGy6RS2KLzzhQ2NclN0NYXMZVqpOe5RsRBddXaGuJr7oza3M52+JzChocAHzcurIhCRynpbxfmNLzZMQEbgnpGLzuaoSMzfxg90/NaXFR/Ou01du/uKd5AbfMW/AxAKP9ht6Oi9lDHq6WkGqvjkVLW0/jj/fBgblIwcs+t", - "ShipDate": "2019-10-28T16:36:36Z", - "EarliestEstimatedDeliveryDate": "2019-10-31T06:00:00Z", - "LatestEstimatedDeliveryDate": "2019-10-31T06:00:00Z", - "Rate": { - "CurrencyCode": "USD", - "Amount": 34.73 - }, - "ShippingServiceOptions": { - "DeliveryExperience": "NoTracking", - "CarrierWillPickUp": false, - "LabelFormat": "" - }, - "AvailableLabelFormats": [ - "ZPL203", - "ShippingServiceDefault", - "PDF", - "PNG" - ], - "AvailableFormatOptionsForLabel": [ - { - "LabelFormat": "ZPL203" - }, - { - "LabelFormat": "ShippingServiceDefault" - }, - { - "LabelFormat": "PDF" - }, - { - "LabelFormat": "PNG" - } - ] - }, + "ShipmentId": "abcddcba-00c3-4f6f-a63a-639f76ee9253", + "AmazonOrderId": "903-5563053-5647845", + "SellerOrderId": "903-5563053-5647845", + "Insurance": { + "CurrencyCode": "USD", + "Amount": 0.0 + }, + "ItemList": [ { - "ShippingServiceName": "UPS Next Day Air Saver\u00AE", - "CarrierName": "UPS\u00AE", - "ShippingServiceId": "UPS_PTP_NEXT_DAY_AIR_SAVER", - "ShippingServiceOfferId": "WHgxtyn6qjGGaCzOCog1azF5HLHje5Pz3Lc2Fmt5eKqqhKGQ2YZmuxsXKVXmdgdWNvfxb1qfm5bGm8NuqlqnNT3eTiJ4viTctepggbeUKUSykClJ+Qmw43zdA8wsgREhQCmb4Bbo/skapLQS1F9uwH2FgY5SfMsj/egudyocpVRT45KSQAT0H5YiXW3OyyRAae9fZ0RzDJAABHiisOyYyXnB1mtWOZqc7rlGR4yyqN7jmiT4t8dmuGPX7ptY4qskrN+6VHZO9bM9tdDS0ysHhAVv4jO3Q5sWFg4nEPaARWSsrpa6zSGMLxAOj56O3tcP", - "ShipDate": "2019-10-28T16:36:36Z", - "EarliestEstimatedDeliveryDate": "2019-10-30T06:00:00Z", - "LatestEstimatedDeliveryDate": "2019-10-30T06:00:00Z", - "Rate": { - "CurrencyCode": "USD", - "Amount": 98.75 - }, - "ShippingServiceOptions": { - "DeliveryExperience": "NoTracking", - "CarrierWillPickUp": false, - "LabelFormat": "" - }, - "AvailableLabelFormats": [ - "ZPL203", - "ShippingServiceDefault", - "PDF", - "PNG" - ], - "AvailableFormatOptionsForLabel": [ - { - "LabelFormat": "ZPL203" - }, - { - "LabelFormat": "ShippingServiceDefault" - }, - { - "LabelFormat": "PDF" - }, - { - "LabelFormat": "PNG" - } - ] + "OrderItemId": "12958298061782", + "Quantity": 1 } ], - "TemporarilyUnavailableCarrierList": [ - { - "CarrierName": "UPS\u00AE" + "ShipFromAddress": { + "Name": "John Doe", + "AddressLine1": "300 Turnbull Ave", + "Email": "jdoeasdfllkj@yahoo.com", + "City": "Detroit", + "StateOrProvinceCode": "MI", + "PostalCode": "48123", + "CountryCode": "US", + "Phone": "7132341234" + }, + "ShipToAddress": { + "Name": "New York", + "AddressLine1": "TIME WARNER CENTER", + "AddressLine2": "10 COLUMBUS CIR", + "Email": "", + "City": "NEW YORK", + "StateOrProvinceCode": "NY", + "PostalCode": "10019-1158", + "CountryCode": "US", + "Phone": "" + }, + "PackageDimensions": { + "Length": 10.25, + "Width": 10.25, + "Height": 10.25, + "Unit": "inches" + }, + "Weight": { + "Value": 10.25, + "Unit": "oz" + }, + "ShippingService": { + "ShippingServiceName": "UPS 2nd Day Air\u00AE", + "CarrierName": "UPS\u00AE", + "ShippingServiceId": "UPS_PTP_2ND_DAY_AIR", + "ShippingServiceOfferId": "", + "ShipDate": "2019-10-28T18:00:00Z", + "Rate": { + "CurrencyCode": "USD", + "Amount": 34.73 }, - { - "CarrierName": "DHLECOMMERCE" - } - ], - "TermsAndConditionsNotAcceptedCarrierList": [ - { - "CarrierName": "YANWEN" + "ShippingServiceOptions": { + "DeliveryExperience": "DeliveryConfirmationWithoutSignature", + "DeclaredValue": { + "CurrencyCode": "USD", + "Amount": 0.0 + } }, - { - "CarrierName": "CHINA_POST" + "RequiresAdditionalSellerInputs": false + }, + "Label": { + "Dimensions": { + "Length": 6.0, + "Width": 4.0, + "Unit": "inches" + }, + "FileContents": { + "Contents": "H4sIAAAAAAAAAOS6dV", + "FileType": "image/png", + "Checksum": "9ALVyphCKfc3+Lb2ssyh8A==" } - ] + }, + "Status": "Purchased", + "TrackingId": "1Z17E2100206868939", + "CreatedDate": "2019-10-28T18:29:34Z", + "LastUpdatedDate": "2019-10-28T18:30:35Z" } } } @@ -556,562 +505,7 @@ "400": { "description": "Request has missing or invalid parameters and cannot be parsed.", "schema": { - "$ref": "#/definitions/GetEligibleShipmentServicesResponse" - }, - "headers": { - "x-amzn-RateLimit-Limit": { - "type": "string", - "description": "Your rate limit (requests per second) for this operation." - }, - "x-amzn-RequestId": { - "type": "string", - "description": "Unique request reference identifier." - } - }, - "x-amzn-api-sandbox": { - "static": [ - { - "request": { - "parameters": { - "body": { - "value": { - "ShipmentRequestDetails": { - "AmazonOrderId": "TEST_CASE_400", - "ItemList": [ - { - "OrderItemId": "52986411826454", - "Quantity": 1 - } - ], - "ShipFromAddress": { - "Name": "John Doe", - "AddressLine1": "300 Turnbull Ave", - "Email": "jdoeasdfllkj@yahoo.com", - "City": "Detroit", - "StateOrProvinceCode": "MI", - "PostalCode": "48123", - "CountryCode": "USA", - "Phone": "7132341234" - }, - "PackageDimensions": { - "Length": 10.25, - "Width": 10.25, - "Height": 10.25, - "Unit": "inches" - }, - "Weight": { - "Value": 10.25, - "Unit": "oz" - }, - "ShippingServiceOptions": { - "DeliveryExperience": "NoTracking", - "CarrierWillPickUp": false, - "CarrierWillPickUpOption": "ShipperWillDropOff" - } - } - } - } - } - }, - "response": { - "errors": [ - { - "code": "InvalidInput", - "message": "1 validation error detected: Value 'USA' at 'shipmentRequestDetails.shipFromAddress.countryCode' failed to satisfy constraint: Member must have length less than or equal to 2", - "details": "" - } - ] - } - } - ] - } - }, - "401": { - "description": "The request's Authorization header is not formatted correctly or does not contain a valid token.", - "schema": { - "$ref": "#/definitions/GetEligibleShipmentServicesResponse" - }, - "headers": { - "x-amzn-RateLimit-Limit": { - "type": "string", - "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." - }, - "x-amzn-RequestId": { - "type": "string", - "description": "Unique request reference identifier." - } - } - }, - "403": { - "description": "Indicates that access to the resource is forbidden. Possible reasons include Access Denied, Unauthorized, Expired Token, or Invalid Signature.", - "schema": { - "$ref": "#/definitions/GetEligibleShipmentServicesResponse" - }, - "headers": { - "x-amzn-RequestId": { - "type": "string", - "description": "Unique request reference identifier." - } - } - }, - "404": { - "description": "The specified resource does not exist.", - "schema": { - "$ref": "#/definitions/GetEligibleShipmentServicesResponse" - }, - "headers": { - "x-amzn-RateLimit-Limit": { - "type": "string", - "description": "Your rate limit (requests per second) for this operation." - }, - "x-amzn-RequestId": { - "type": "string", - "description": "Unique request reference identifier." - } - } - }, - "429": { - "description": "The frequency of requests was greater than allowed.", - "schema": { - "$ref": "#/definitions/GetEligibleShipmentServicesResponse" - }, - "headers": { - "x-amzn-RateLimit-Limit": { - "type": "string", - "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." - }, - "x-amzn-RequestId": { - "type": "string", - "description": "Unique request reference identifier." - } - } - }, - "500": { - "description": "An unexpected condition occurred that prevented the server from fulfilling the request.", - "schema": { - "$ref": "#/definitions/GetEligibleShipmentServicesResponse" - }, - "headers": { - "x-amzn-RateLimit-Limit": { - "type": "string", - "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." - }, - "x-amzn-RequestId": { - "type": "string", - "description": "Unique request reference identifier." - } - } - }, - "503": { - "description": "Temporary overloading or maintenance of the server.", - "schema": { - "$ref": "#/definitions/GetEligibleShipmentServicesResponse" - }, - "headers": { - "x-amzn-RateLimit-Limit": { - "type": "string", - "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." - }, - "x-amzn-RequestId": { - "type": "string", - "description": "Unique request reference identifier." - } - } - } - } - } - }, - "/mfn/v0/shipments/{shipmentId}": { - "get": { - "tags": [ - "merchantFulfillment" - ], - "description": "Returns the shipment information for an existing shipment.\n\n**Usage Plan:**\n\n| Rate (requests per second) | Burst |\n| ---- | ---- |\n| 1 | 1 |\n\nThe `x-amzn-RateLimit-Limit` response header returns the usage plan rate limits that were applied to the requested operation, when available. The table above indicates the default rate and burst values for this operation. Selling partners whose business demands require higher throughput may see higher rate and burst values than those shown here. For more information, see [Usage Plans and Rate Limits in the Selling Partner API](https://developer-docs.amazon.com/sp-api/docs/usage-plans-and-rate-limits-in-the-sp-api).", - "operationId": "getShipment", - "parameters": [ - { - "name": "shipmentId", - "in": "path", - "description": "The Amazon-defined shipment identifier for the shipment.", - "required": true, - "type": "string", - "pattern": "[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}" - } - ], - "responses": { - "200": { - "description": "Success", - "schema": { - "$ref": "#/definitions/GetShipmentResponse" - }, - "headers": { - "x-amzn-RateLimit-Limit": { - "type": "string", - "description": "Your rate limit (requests per second) for this operation." - }, - "x-amzn-RequestId": { - "type": "string", - "description": "Unique request reference identifier." - } - }, - "x-amzn-api-sandbox": { - "static": [ - { - "request": { - "parameters": { - "shipmentId": { - "value": "abcddcba-00c3-4f6f-a63a-639f76ee9253" - } - } - }, - "response": { - "payload": { - "ShipmentId": "abcddcba-00c3-4f6f-a63a-639f76ee9253", - "AmazonOrderId": "903-5563053-5647845", - "SellerOrderId": "903-5563053-5647845", - "Insurance": { - "CurrencyCode": "USD", - "Amount": 0.0 - }, - "ItemList": [ - { - "OrderItemId": "12958298061782", - "Quantity": 1 - } - ], - "ShipFromAddress": { - "Name": "John Doe", - "AddressLine1": "300 Turnbull Ave", - "Email": "jdoeasdfllkj@yahoo.com", - "City": "Detroit", - "StateOrProvinceCode": "MI", - "PostalCode": "48123", - "CountryCode": "US", - "Phone": "7132341234" - }, - "ShipToAddress": { - "Name": "New York", - "AddressLine1": "TIME WARNER CENTER", - "AddressLine2": "10 COLUMBUS CIR", - "Email": "", - "City": "NEW YORK", - "StateOrProvinceCode": "NY", - "PostalCode": "10019-1158", - "CountryCode": "US", - "Phone": "" - }, - "PackageDimensions": { - "Length": 10.25, - "Width": 10.25, - "Height": 10.25, - "Unit": "inches" - }, - "Weight": { - "Value": 10.25, - "Unit": "oz" - }, - "ShippingService": { - "ShippingServiceName": "UPS 2nd Day Air\u00AE", - "CarrierName": "UPS\u00AE", - "ShippingServiceId": "UPS_PTP_2ND_DAY_AIR", - "ShippingServiceOfferId": "", - "ShipDate": "2019-10-28T18:00:00Z", - "Rate": { - "CurrencyCode": "USD", - "Amount": 34.73 - }, - "ShippingServiceOptions": { - "DeliveryExperience": "DeliveryConfirmationWithoutSignature", - "DeclaredValue": { - "CurrencyCode": "USD", - "Amount": 0.0 - } - }, - "RequiresAdditionalSellerInputs": false - }, - "Label": { - "Dimensions": { - "Length": 6.0, - "Width": 4.0, - "Unit": "inches" - }, - "FileContents": { - "Contents": "H4sIAAAAAAAAAOS6dV", - "FileType": "image/png", - "Checksum": "9ALVyphCKfc3+Lb2ssyh8A==" - } - }, - "Status": "Purchased", - "TrackingId": "1Z17E2100206868939", - "CreatedDate": "2019-10-28T18:29:34Z", - "LastUpdatedDate": "2019-10-28T18:30:35Z" - } - } - } - ] - } - }, - "400": { - "description": "Request has missing or invalid parameters and cannot be parsed.", - "schema": { - "$ref": "#/definitions/GetShipmentResponse" - }, - "headers": { - "x-amzn-RateLimit-Limit": { - "type": "string", - "description": "Your rate limit (requests per second) for this operation." - }, - "x-amzn-RequestId": { - "type": "string", - "description": "Unique request reference identifier." - } - }, - "x-amzn-api-sandbox": { - "static": [ - { - "request": { - "parameters": { - "shipmentId": { - "value": "aabbccdd-1beb-4cda-8bf4-7366cfddbec1" - } - } - }, - "response": { - "errors": [ - { - "code": "InvalidInput", - "message": "1 validation error detected: Value 'TEST_CASE_400' at 'shipmentId' failed to satisfy constraint: Member must satisfy regular expression pattern: [0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}", - "details": "" - } - ] - } - } - ] - } - }, - "401": { - "description": "The request's Authorization header is not formatted correctly or does not contain a valid token.", - "schema": { - "$ref": "#/definitions/GetShipmentResponse" - }, - "headers": { - "x-amzn-RateLimit-Limit": { - "type": "string", - "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." - }, - "x-amzn-RequestId": { - "type": "string", - "description": "Unique request reference identifier." - } - } - }, - "403": { - "description": "Indicates that access to the resource is forbidden. Possible reasons include Access Denied, Unauthorized, Expired Token, or Invalid Signature.", - "schema": { - "$ref": "#/definitions/GetShipmentResponse" - }, - "headers": { - "x-amzn-RequestId": { - "type": "string", - "description": "Unique request reference identifier." - } - } - }, - "404": { - "description": "The specified resource does not exist.", - "schema": { - "$ref": "#/definitions/GetShipmentResponse" - }, - "headers": { - "x-amzn-RateLimit-Limit": { - "type": "string", - "description": "Your rate limit (requests per second) for this operation." - }, - "x-amzn-RequestId": { - "type": "string", - "description": "Unique request reference identifier." - } - } - }, - "429": { - "description": "The frequency of requests was greater than allowed.", - "schema": { - "$ref": "#/definitions/GetShipmentResponse" - }, - "headers": { - "x-amzn-RateLimit-Limit": { - "type": "string", - "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." - }, - "x-amzn-RequestId": { - "type": "string", - "description": "Unique request reference identifier." - } - } - }, - "500": { - "description": "An unexpected condition occurred that prevented the server from fulfilling the request.", - "schema": { - "$ref": "#/definitions/GetShipmentResponse" - }, - "headers": { - "x-amzn-RateLimit-Limit": { - "type": "string", - "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." - }, - "x-amzn-RequestId": { - "type": "string", - "description": "Unique request reference identifier." - } - } - }, - "503": { - "description": "Temporary overloading or maintenance of the server.", - "schema": { - "$ref": "#/definitions/GetShipmentResponse" - }, - "headers": { - "x-amzn-RateLimit-Limit": { - "type": "string", - "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." - }, - "x-amzn-RequestId": { - "type": "string", - "description": "Unique request reference identifier." - } - } - } - } - }, - "delete": { - "tags": [ - "merchantFulfillment" - ], - "description": "Cancel the shipment indicated by the specified shipment identifier.\n\n**Usage Plan:**\n\n| Rate (requests per second) | Burst |\n| ---- | ---- |\n| 1 | 1 |\n\nThe `x-amzn-RateLimit-Limit` response header returns the usage plan rate limits that were applied to the requested operation, when available. The table above indicates the default rate and burst values for this operation. Selling partners whose business demands require higher throughput may see higher rate and burst values than those shown here. For more information, see [Usage Plans and Rate Limits in the Selling Partner API](https://developer-docs.amazon.com/sp-api/docs/usage-plans-and-rate-limits-in-the-sp-api).", - "operationId": "cancelShipment", - "parameters": [ - { - "name": "shipmentId", - "in": "path", - "description": "The Amazon-defined shipment identifier for the shipment to cancel.", - "required": true, - "type": "string", - "pattern": "[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}" - } - ], - "responses": { - "200": { - "description": "Success", - "schema": { - "$ref": "#/definitions/CancelShipmentResponse" - }, - "headers": { - "x-amzn-RateLimit-Limit": { - "type": "string", - "description": "Your rate limit (requests per second) for this operation." - }, - "x-amzn-RequestId": { - "type": "string", - "description": "Unique request reference identifier." - } - }, - "x-amzn-api-sandbox": { - "static": [ - { - "request": { - "parameters": { - "shipmentId": { - "value": "be7a0a53-00c3-4f6f-a63a-639f76ee9253" - } - } - }, - "response": { - "payload": { - "ShipmentId": "be7a0a53-00c3-4f6f-a63a-639f76ee9253", - "AmazonOrderId": "903-5563053-5647845", - "SellerOrderId": "903-5563053-5647845", - "Insurance": { - "CurrencyCode": "USD", - "Amount": 0.0 - }, - "ItemList": [ - { - "OrderItemId": "12958298061782", - "Quantity": 1 - } - ], - "ShipFromAddress": { - "Name": "John Doe", - "AddressLine1": "300 Turnbull Ave", - "Email": "jdoeasdfllkj@yahoo.com", - "City": "Detroit", - "StateOrProvinceCode": "MI", - "PostalCode": "48123", - "CountryCode": "US", - "Phone": "7132341234" - }, - "ShipToAddress": { - "Name": "New York", - "AddressLine1": "TIME WARNER CENTER", - "AddressLine2": "10 COLUMBUS CIR", - "Email": "", - "City": "NEW YORK", - "StateOrProvinceCode": "NY", - "PostalCode": "10019-1158", - "CountryCode": "US", - "Phone": "" - }, - "PackageDimensions": { - "Length": 10.25, - "Width": 10.25, - "Height": 10.25, - "Unit": "inches" - }, - "Weight": { - "Value": 10.25, - "Unit": "oz" - }, - "ShippingService": { - "ShippingServiceName": "UPS 2nd Day Air\u00AE", - "CarrierName": "UPS\u00AE", - "ShippingServiceId": "UPS_PTP_2ND_DAY_AIR", - "ShippingServiceOfferId": "", - "ShipDate": "2019-10-28T18:00:00Z", - "Rate": { - "CurrencyCode": "USD", - "Amount": 34.73 - }, - "ShippingServiceOptions": { - "DeliveryExperience": "DeliveryConfirmationWithoutSignature", - "DeclaredValue": { - "CurrencyCode": "USD", - "Amount": 0.0 - } - }, - "RequiresAdditionalSellerInputs": false - }, - "Label": { - "Dimensions": {}, - "FileContents": { - "Contents": "", - "FileType": "", - "Checksum": "" - } - }, - "Status": "RefundPending", - "TrackingId": "1Z17E2100206868939", - "CreatedDate": "2019-10-28T18:29:34Z", - "LastUpdatedDate": "2019-10-28T18:36:55Z" - } - } - } - ] - } - }, - "400": { - "description": "Request has missing or invalid parameters and cannot be parsed.", - "schema": { - "$ref": "#/definitions/CancelShipmentResponse" + "$ref": "#/definitions/GetShipmentResponse" }, "headers": { "x-amzn-RateLimit-Limit": { @@ -1129,7 +523,7 @@ "request": { "parameters": { "shipmentId": { - "value": "87d20cf7-1beb-4cda-8bf4-7366cfddbec1" + "value": "aabbccdd-1beb-4cda-8bf4-7366cfddbec1" } } }, @@ -1149,7 +543,7 @@ "401": { "description": "The request's Authorization header is not formatted correctly or does not contain a valid token.", "schema": { - "$ref": "#/definitions/CancelShipmentResponse" + "$ref": "#/definitions/GetShipmentResponse" }, "headers": { "x-amzn-RateLimit-Limit": { @@ -1165,7 +559,7 @@ "403": { "description": "Indicates that access to the resource is forbidden. Possible reasons include Access Denied, Unauthorized, Expired Token, or Invalid Signature.", "schema": { - "$ref": "#/definitions/CancelShipmentResponse" + "$ref": "#/definitions/GetShipmentResponse" }, "headers": { "x-amzn-RequestId": { @@ -1175,9 +569,9 @@ } }, "404": { - "description": "The resource specified does not exist.", + "description": "The specified resource does not exist.", "schema": { - "$ref": "#/definitions/CancelShipmentResponse" + "$ref": "#/definitions/GetShipmentResponse" }, "headers": { "x-amzn-RateLimit-Limit": { @@ -1193,7 +587,7 @@ "429": { "description": "The frequency of requests was greater than allowed.", "schema": { - "$ref": "#/definitions/CancelShipmentResponse" + "$ref": "#/definitions/GetShipmentResponse" }, "headers": { "x-amzn-RateLimit-Limit": { @@ -1209,7 +603,7 @@ "500": { "description": "An unexpected condition occurred that prevented the server from fulfilling the request.", "schema": { - "$ref": "#/definitions/CancelShipmentResponse" + "$ref": "#/definitions/GetShipmentResponse" }, "headers": { "x-amzn-RateLimit-Limit": { @@ -1225,7 +619,7 @@ "503": { "description": "Temporary overloading or maintenance of the server.", "schema": { - "$ref": "#/definitions/CancelShipmentResponse" + "$ref": "#/definitions/GetShipmentResponse" }, "headers": { "x-amzn-RateLimit-Limit": { @@ -1238,17 +632,14 @@ } } } - } - } - }, - "/mfn/v0/shipments/{shipmentId}/cancel": { - "put": { + } + }, + "delete": { "tags": [ "merchantFulfillment" ], - "deprecated": true, - "description": "Cancel the shipment indicated by the specified shipment identifer.\n\n**Usage Plan:**\n\n| Rate (requests per second) | Burst |\n| ---- | ---- |\n| 1 | 1 |\n\nThe `x-amzn-RateLimit-Limit` response header returns the usage plan rate limits that were applied to the requested operation, when available. The table above indicates the default rate and burst values for this operation. Selling partners whose business demands require higher throughput may see higher rate and burst values than those shown here. For more information, see [Usage Plans and Rate Limits in the Selling Partner API](https://developer-docs.amazon.com/sp-api/docs/usage-plans-and-rate-limits-in-the-sp-api).", - "operationId": "cancelShipmentOld", + "description": "Cancel the shipment indicated by the specified shipment identifier.\n\n**Usage Plan:**\n\n| Rate (requests per second) | Burst |\n| ---- | ---- |\n| 1 | 1 |\n\nThe `x-amzn-RateLimit-Limit` response header returns the usage plan rate limits that were applied to the requested operation, when available. The table above indicates the default rate and burst values for this operation. Selling partners whose business demands require higher throughput may see higher rate and burst values than those shown here. For more information, see [Usage Plans and Rate Limits in the Selling Partner API](https://developer-docs.amazon.com/sp-api/docs/usage-plans-and-rate-limits-in-the-sp-api).", + "operationId": "cancelShipment", "parameters": [ { "name": "shipmentId", @@ -1332,7 +723,7 @@ "Unit": "oz" }, "ShippingService": { - "ShippingServiceName": "UPS 2nd Day Air \u00AE", + "ShippingServiceName": "UPS 2nd Day Air\u00AE", "CarrierName": "UPS\u00AE", "ShippingServiceId": "UPS_PTP_2ND_DAY_AIR", "ShippingServiceOfferId": "", @@ -1435,7 +826,7 @@ } }, "404": { - "description": "The specified resource does not exist.", + "description": "The resource specified does not exist.", "schema": { "$ref": "#/definitions/CancelShipmentResponse" }, @@ -1839,228 +1230,6 @@ } } }, - "/mfn/v0/sellerInputs": { - "post": { - "tags": [ - "merchantFulfillment" - ], - "deprecated": true, - "description": "Get a list of additional seller inputs required for a ship method. This is generally used for international shipping.\n\n**Usage Plan:**\n\n| Rate (requests per second) | Burst |\n| ---- | ---- |\n| 1 | 1 |\n\nThe `x-amzn-RateLimit-Limit` response header returns the usage plan rate limits that were applied to the requested operation, when available. The table above indicates the default rate and burst values for this operation. Selling partners whose business demands require higher throughput may see higher rate and burst values than those shown here. For more information, see [Usage Plans and Rate Limits in the Selling Partner API](https://developer-docs.amazon.com/sp-api/docs/usage-plans-and-rate-limits-in-the-sp-api).", - "operationId": "getAdditionalSellerInputsOld", - "parameters": [ - { - "in": "body", - "name": "body", - "required": true, - "schema": { - "$ref": "#/definitions/GetAdditionalSellerInputsRequest" - } - } - ], - "responses": { - "200": { - "description": "Success", - "schema": { - "$ref": "#/definitions/GetAdditionalSellerInputsResponse" - }, - "headers": { - "x-amzn-RateLimit-Limit": { - "type": "string", - "description": "Your rate limit (requests per second) for this operation." - }, - "x-amzn-RequestId": { - "type": "string", - "description": "Unique request reference identifier." - } - }, - "x-amzn-api-sandbox": { - "static": [ - { - "request": { - "parameters": { - "body": { - "value": { - "ShippingServiceId": "UPS_PTP_GND", - "ShipFromAddress": { - "Name": "John Doe", - "AddressLine1": "300 Turnbull Ave", - "Email": "jdoeasdfllkj@yahoo.com", - "City": "Detroit", - "StateOrProvinceCode": "MI", - "PostalCode": "48123", - "CountryCode": "US", - "Phone": "7132341234" - }, - "OrderId": "903-5563053-5647845" - } - } - } - }, - "response": { - "payload": { - "ShipmentLevelFields": [ - { - "AdditionalInputFieldName": "John Doe" - } - ], - "ItemLevelFieldsList": [ - { - "Asin": "ASIN_ID_200", - "AdditionalInputs": [] - } - ] - } - } - } - ] - } - }, - "400": { - "description": "Request has missing or invalid parameters and cannot be parsed.", - "schema": { - "$ref": "#/definitions/GetAdditionalSellerInputsResponse" - }, - "headers": { - "x-amzn-RateLimit-Limit": { - "type": "string", - "description": "Your rate limit (requests per second) for this operation." - }, - "x-amzn-RequestId": { - "type": "string", - "description": "Unique request reference identifier." - } - }, - "x-amzn-api-sandbox": { - "static": [ - { - "request": { - "parameters": { - "body": { - "value": { - "ShippingServiceId": "UPS_PTP_GND", - "ShipFromAddress": { - "Name": "John Doe", - "AddressLine1": "300 Turnbull Ave", - "Email": "jdoeasdfllkj@yahoo.com", - "City": "Detroit", - "StateOrProvinceCode": "MI", - "PostalCode": "48123", - "CountryCode": "XX", - "Phone": "7132341234" - }, - "OrderId": "901-5563053-5647845" - } - } - } - }, - "response": { - "errors": [ - { - "code": "InvalidInput", - "message": "Invalid Ship From Address when calling GetAdditionalSellerInputs", - "details": "" - } - ] - } - } - ] - } - }, - "401": { - "description": "The request's Authorization header is not formatted correctly or does not contain a valid token.", - "schema": { - "$ref": "#/definitions/GetAdditionalSellerInputsResponse" - }, - "headers": { - "x-amzn-RateLimit-Limit": { - "type": "string", - "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." - }, - "x-amzn-RequestId": { - "type": "string", - "description": "Unique request reference identifier." - } - } - }, - "403": { - "description": "Indicates that access to the resource is forbidden. Possible reasons include Access Denied, Unauthorized, Expired Token, or Invalid Signature.", - "schema": { - "$ref": "#/definitions/GetAdditionalSellerInputsResponse" - }, - "headers": { - "x-amzn-RequestId": { - "type": "string", - "description": "Unique request reference identifier." - } - } - }, - "404": { - "description": "The specified resource does not exist.", - "schema": { - "$ref": "#/definitions/GetAdditionalSellerInputsResponse" - }, - "headers": { - "x-amzn-RateLimit-Limit": { - "type": "string", - "description": "Your rate limit (requests per second) for this operation." - }, - "x-amzn-RequestId": { - "type": "string", - "description": "Unique request reference identifier." - } - } - }, - "429": { - "description": "The frequency of requests was greater than allowed.", - "schema": { - "$ref": "#/definitions/GetAdditionalSellerInputsResponse" - }, - "headers": { - "x-amzn-RateLimit-Limit": { - "type": "string", - "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." - }, - "x-amzn-RequestId": { - "type": "string", - "description": "Unique request reference identifier." - } - } - }, - "500": { - "description": "An unexpected condition occurred that prevented the server from fulfilling the request.", - "schema": { - "$ref": "#/definitions/GetAdditionalSellerInputsResponse" - }, - "headers": { - "x-amzn-RateLimit-Limit": { - "type": "string", - "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." - }, - "x-amzn-RequestId": { - "type": "string", - "description": "Unique request reference identifier." - } - } - }, - "503": { - "description": "Temporary overloading or maintenance of the server.", - "schema": { - "$ref": "#/definitions/GetAdditionalSellerInputsResponse" - }, - "headers": { - "x-amzn-RateLimit-Limit": { - "type": "string", - "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." - }, - "x-amzn-RequestId": { - "type": "string", - "description": "Unique request reference identifier." - } - } - } - } - } - }, "/mfn/v0/additionalSellerInputs": { "post": { "tags": [ @@ -2995,6 +2164,16 @@ "ItemLevelSellerInputsList": { "description": "A list of additional seller inputs required to ship this item using the chosen shipping service.", "$ref": "#/definitions/AdditionalSellerInputsList" + }, + "LiquidVolume": { + "$ref": "#/definitions/LiquidVolume" + }, + "IsHazmat": { + "type": "boolean", + "description": "When true, the item qualifies as hazardous materials (hazmat). Defaults to false." + }, + "DangerousGoodsDetails": { + "$ref": "#/definitions/DangerousGoodsDetails" } }, "description": "An Amazon order item identifier and a quantity." @@ -3956,6 +3135,175 @@ "type": "number", "format": "double", "description": "The weight value." + }, + "LiquidVolume": { + "type": "object", + "required": [ + "Unit", + "Value" + ], + "properties": { + "Unit": { + "type": "string", + "description": "The unit of measurement.", + "enum": [ + "ML", + "L", + "FL_OZ", + "GAL", + "PT", + "QT", + "C" + ], + "x-docgen-enum-table-extension": [ + { + "value": "ML", + "description": "Milliliter - Metric unit of volume." + }, + { + "value": "L", + "description": "Liter - Metric unit of volume." + }, + { + "value": "FL_OZ", + "description": "Fluid Ounce - Imperial unit of volume." + }, + { + "value": "GAL", + "description": "Gallon - Imperial unit of volume." + }, + { + "value": "PT", + "description": "Pint - Imperial unit of volume." + }, + { + "value": "QT", + "description": "Quart - Imperial unit of volume." + }, + { + "value": "C", + "description": "Cup - Imperial unit of volume." + } + ] + }, + "Value": { + "type": "number", + "description": "The measurement value." + } + }, + "description": "Liquid Volume." + }, + "DangerousGoodsDetails": { + "type": "object", + "description": "Details related to any dangerous goods/items that are being shipped.", + "properties": { + "UnitedNationsRegulatoryId" : { + "type": "string", + "description": "The specific UNID of the item being shipped.", + "pattern" : "^(UN|ID|NA)[0-9]{4}$" + }, + "TransportationRegulatoryClass" : { + "type": "string", + "description": "The specific regulatory class of the item being shipped.", + "pattern": "^[1-9](\\.[1-9])?$" + }, + "PackingGroup" : { + "type": "string", + "description": "The specific packaging group of the item being shipped.", + "enum": [ + "I", + "II", + "III" + ], + "x-docgen-enum-table-extension": [ + { + "value": "I", + "description": "Packing group I indicates great danger." + }, + { + "value": "II", + "description": "Packing group II indicates medium danger." + }, + { + "value": "III", + "description": "Packing group III indicates minor danger." + } + ] + }, + "PackingInstruction": { + "type": "string", + "description": "The specific packing instruction of the item being shipped.", + "enum": [ + "PI965_SECTION_IA", + "PI965_SECTION_IB", + "PI965_SECTION_II", + "PI966_SECTION_I", + "PI966_SECTION_II", + "PI967_SECTION_I", + "PI967_SECTION_II", + "PI968_SECTION_IA", + "PI968_SECTION_IB", + "PI969_SECTION_I", + "PI969_SECTION_II", + "PI970_SECTION_I", + "PI970_SECTION_II" + ], + "x-docgen-enum-table-extension": [ + { + "value": "PI965_SECTION_IA", + "description": "Ion PI965 Section IA (LiBa)" + }, + { + "value": "PI965_SECTION_IB", + "description": "Ion PI965 Section IB (LiBa)" + }, + { + "value": "PI965_SECTION_II", + "description": "Ion PI965 Section II (LiBa)" + }, + { + "value": "PI966_SECTION_I", + "description": "Ion PI966 Section I (LiBa with equipment)" + }, + { + "value": "PI966_SECTION_II", + "description": "Ion PI966 Section II (LiBa with equipment)" + }, + { + "value": "PI967_SECTION_I", + "description": "Ion PI967 Section I (LiBa in equipment)" + }, + { + "value": "PI967_SECTION_II", + "description": "Ion PI967 Section II (LiBa in equipment)" + }, + { + "value": "PI968_SECTION_IA", + "description": "Metal PI968 Section IA (LiBa)" + }, + { + "value": "PI968_SECTION_IB", + "description": "Metal PI968 Section IB (LiBa)" + }, + { + "value": "PI969_SECTION_I", + "description": "Metal PI969 Section I (LiBa with equipment)" + }, + { + "value": "PI969_SECTION_II", + "description": "Metal PI969 Section II (LiBa with equipment)" + }, + { + "value": "PI970_SECTION_I", + "description": "Metal PI970 Section I (LiBa in equipment)" + }, + { + "value": "PI970_SECTION_II", + "description": "Metal PI970 Section II (LiBa in equipment)" + } + ] + } + } } } -} \ No newline at end of file +} From 7c0e507555d8f0420ab4095c0115250472e582f9 Mon Sep 17 00:00:00 2001 From: Gibran Waldron Date: Fri, 29 Mar 2024 15:02:38 -0700 Subject: [PATCH 050/340] Add redirect for FBA small and light API. --- .../fbaSmallandLight.json | 2271 ----------------- .../fbaSmallandLight.md | 1 + 2 files changed, 1 insertion(+), 2271 deletions(-) delete mode 100644 models/fba-small-and-light-api-model/fbaSmallandLight.json create mode 100644 models/fba-small-and-light-api-model/fbaSmallandLight.md diff --git a/models/fba-small-and-light-api-model/fbaSmallandLight.json b/models/fba-small-and-light-api-model/fbaSmallandLight.json deleted file mode 100644 index b5e5aac98..000000000 --- a/models/fba-small-and-light-api-model/fbaSmallandLight.json +++ /dev/null @@ -1,2271 +0,0 @@ -{ - "swagger": "2.0", - "info": { - "description": "The Selling Partner API for FBA Small and Light lets you help sellers manage their listings in the Small and Light program. The program reduces the cost of fulfilling orders for small and lightweight FBA inventory. You can enroll or remove items from the program and check item eligibility and enrollment status. You can also preview the estimated program fees charged to a seller for items sold while enrolled in the program. \n\n**Note:** The FBA Small and Light program sunset in the US and EU regions on **September 26, 2023**. The program will be deprecated in the JP region on **March 31, 2024** and sunset on **April 1, 2024**. APIs announcing deprecation will no longer be supported after their deprecation date. Calls to deprecated APIs will fail beginning on their sunset date. For more information, refer to [FBA Small and Light program deprecation](https://developer-docs.amazon.com/sp-api/changelog/fba-small-and-light-program-deprecation).", - "version": "v1", - "title": "Selling Partner API for FBA Small And Light", - "contact": { - "name": "Selling Partner API Developer Support", - "url": "https://sellercentral.amazon.com/gp/mws/contactus.html" - }, - "license": { - "name": "Apache License 2.0", - "url": "http://www.apache.org/licenses/LICENSE-2.0" - } - }, - "host": "sellingpartnerapi-na.amazon.com", - "schemes": [ - "https" - ], - "consumes": [ - "application/json" - ], - "produces": [ - "application/json" - ], - "paths": { - "/fba/smallAndLight/v1/enrollments/{sellerSKU}": { - "get": { - "tags": [ - "smallAndLight" - ], - "description": "Returns the Small and Light enrollment status for the item indicated by the specified seller SKU in the specified marketplace.\n\n**Usage Plan:**\n\n| Rate (requests per second) | Burst |\n| ---- | ---- |\n| 2 | 10 |\n\nThe `x-amzn-RateLimit-Limit` response header returns the usage plan rate limits that were applied to the requested operation, when available. The table above indicates the default rate and burst values for this operation. Selling partners whose business demands require higher throughput may see higher rate and burst values than those shown here. For more information, see [Usage Plans and Rate Limits in the Selling Partner API](https://developer-docs.amazon.com/sp-api/docs/usage-plans-and-rate-limits-in-the-sp-api).", - "operationId": "getSmallAndLightEnrollmentBySellerSKU", - "deprecated": true, - "parameters": [ - { - "name": "sellerSKU", - "in": "path", - "description": "The seller SKU that identifies the item.", - "required": true, - "type": "string" - }, - { - "name": "marketplaceIds", - "in": "query", - "description": "The marketplace for which the enrollment status is retrieved. Note: Accepts a single marketplace only.", - "required": true, - "type": "array", - "items": { - "type": "string" - }, - "maxItems": 1 - } - ], - "responses": { - "200": { - "description": "Success.", - "schema": { - "$ref": "#/definitions/SmallAndLightEnrollment" - }, - "headers": { - "x-amzn-RateLimit-Limit": { - "type": "string", - "description": "Your rate limit (requests per second) for this operation." - }, - "x-amzn-RequestId": { - "type": "string", - "description": "Unique request reference identifier." - } - }, - "x-amzn-api-sandbox": { - "static": [ - { - "request": { - "parameters": { - "sellerSKU": { - "value": "SKU_ENROLLED_IN_SMALL_AND_LIGHT" - }, - "marketplaceIds": { - "value": [ - "ATVPDKIKX0DER" - ] - } - } - }, - "response": { - "marketplaceId": "ATVPDKIKX0DER", - "sellerSKU": "SKU_ENROLLED_IN_SMALL_AND_LIGHT", - "status": "ENROLLED" - } - } - ] - } - }, - "400": { - "description": "Request has missing or invalid parameters and cannot be parsed.", - "schema": { - "$ref": "#/definitions/ErrorList" - }, - "headers": { - "x-amzn-RateLimit-Limit": { - "type": "string", - "description": "Your rate limit (requests per second) for this operation." - }, - "x-amzn-RequestId": { - "type": "string", - "description": "Unique request reference identifier." - } - }, - "x-amzn-api-sandbox": { - "static": [ - { - "request": { - "parameters": { - "sellerSKU": { - "value": "SKU_400" - }, - "marketplaceIds": { - "value": [ - "ATVPDKIKX0DER" - ] - } - } - }, - "response": { - "errors": [ - { - "code": "InvalidInput", - "message": "Invalid input." - } - ] - } - } - ] - } - }, - "403": { - "description": "Indicates that access to the resource is forbidden. Possible reasons include Access Denied, Unauthorized, Expired Token, or Invalid Signature.", - "schema": { - "$ref": "#/definitions/ErrorList" - }, - "headers": { - "x-amzn-RequestId": { - "type": "string", - "description": "Unique request reference identifier." - } - }, - "x-amzn-api-sandbox": { - "static": [ - { - "request": { - "parameters": { - "sellerSKU": { - "value": "SKU_403" - }, - "marketplaceIds": { - "value": [ - "ATVPDKIKX0DER" - ] - } - } - }, - "response": { - "errors": [ - { - "code": "Unauthorized", - "message": "Access to requested resource is denied." - } - ] - } - } - ] - } - }, - "404": { - "description": "The resource specified does not exist.", - "schema": { - "$ref": "#/definitions/ErrorList" - }, - "headers": { - "x-amzn-RateLimit-Limit": { - "type": "string", - "description": "Your rate limit (requests per second) for this operation." - }, - "x-amzn-RequestId": { - "type": "string", - "description": "Unique request reference identifier." - } - }, - "x-amzn-api-sandbox": { - "static": [ - { - "request": { - "parameters": { - "sellerSKU": { - "value": "SKU_404" - }, - "marketplaceIds": { - "value": [ - "ATVPDKIKX0DER" - ] - } - } - }, - "response": { - "errors": [ - { - "code": "NotFound", - "message": "Requested resource is not found" - } - ] - } - } - ] - } - }, - "413": { - "description": "The request size exceeded the maximum accepted size.", - "schema": { - "$ref": "#/definitions/ErrorList" - }, - "headers": { - "x-amzn-RateLimit-Limit": { - "type": "string", - "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." - }, - "x-amzn-RequestId": { - "type": "string", - "description": "Unique request reference identifier." - } - }, - "x-amzn-api-sandbox": { - "static": [ - { - "request": { - "parameters": { - "sellerSKU": { - "value": "SKU_413" - }, - "marketplaceIds": { - "value": [ - "ATVPDKIKX0DER" - ] - } - } - }, - "response": { - "errors": [ - { - "code": "PayloadTooLarge", - "message": "Payload of the request is too large." - } - ] - } - } - ] - } - }, - "415": { - "description": "The request payload is in an unsupported format.", - "schema": { - "$ref": "#/definitions/ErrorList" - }, - "headers": { - "x-amzn-RateLimit-Limit": { - "type": "string", - "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." - }, - "x-amzn-RequestId": { - "type": "string", - "description": "Unique request reference identifier." - } - }, - "x-amzn-api-sandbox": { - "static": [ - { - "request": { - "parameters": { - "sellerSKU": { - "value": "SKU_415" - }, - "marketplaceIds": { - "value": [ - "ATVPDKIKX0DER" - ] - } - } - }, - "response": { - "errors": [ - { - "code": "UnsupportedType", - "message": "The entity of the request is of unsupported type." - } - ] - } - } - ] - } - }, - "429": { - "description": "The frequency of requests was greater than allowed.", - "schema": { - "$ref": "#/definitions/ErrorList" - }, - "headers": { - "x-amzn-RateLimit-Limit": { - "type": "string", - "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." - }, - "x-amzn-RequestId": { - "type": "string", - "description": "Unique request reference identifier." - } - }, - "x-amzn-api-sandbox": { - "static": [ - { - "request": { - "parameters": { - "sellerSKU": { - "value": "SKU_429" - }, - "marketplaceIds": { - "value": [ - "ATVPDKIKX0DER" - ] - } - } - }, - "response": { - "errors": [ - { - "code": "TooManyRequests", - "message": "Total number of requests exceed your allowed limits." - } - ] - } - } - ] - } - }, - "500": { - "description": "An unexpected condition occurred that prevented the server from fulfilling the request.", - "schema": { - "$ref": "#/definitions/ErrorList" - }, - "headers": { - "x-amzn-RateLimit-Limit": { - "type": "string", - "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." - }, - "x-amzn-RequestId": { - "type": "string", - "description": "Unique request reference identifier." - } - }, - "x-amzn-api-sandbox": { - "static": [ - { - "request": { - "parameters": { - "sellerSKU": { - "value": "SKU_500" - }, - "marketplaceIds": { - "value": [ - "ATVPDKIKX0DER" - ] - } - } - }, - "response": { - "errors": [ - { - "code": "InternalServerError", - "message": "Server encountered an unexpected condition while processing your request." - } - ] - } - } - ] - } - }, - "503": { - "description": "Temporary overloading or maintenance of the server.", - "schema": { - "$ref": "#/definitions/ErrorList" - }, - "headers": { - "x-amzn-RateLimit-Limit": { - "type": "string", - "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." - }, - "x-amzn-RequestId": { - "type": "string", - "description": "Unique request reference identifier." - } - }, - "x-amzn-api-sandbox": { - "static": [ - { - "request": { - "parameters": { - "sellerSKU": { - "value": "SKU_503" - }, - "marketplaceIds": { - "value": [ - "ATVPDKIKX0DER" - ] - } - } - }, - "response": { - "errors": [ - { - "code": "ServiceUnavailable", - "message": "Server is temporarily unavailable." - } - ] - } - } - ] - } - } - } - }, - "put": { - "tags": [ - "smallAndLight" - ], - "description": "Enrolls the item indicated by the specified seller SKU in the Small and Light program in the specified marketplace. If the item is not eligible, the ineligibility reasons are returned.\n\n**Usage Plan:**\n\n| Rate (requests per second) | Burst |\n| ---- | ---- |\n| 2 | 5 |\n\nThe `x-amzn-RateLimit-Limit` response header returns the usage plan rate limits that were applied to the requested operation, when available. The table above indicates the default rate and burst values for this operation. Selling partners whose business demands require higher throughput may see higher rate and burst values than those shown here. For more information, see [Usage Plans and Rate Limits in the Selling Partner API](https://developer-docs.amazon.com/sp-api/docs/usage-plans-and-rate-limits-in-the-sp-api).", - "operationId": "putSmallAndLightEnrollmentBySellerSKU", - "deprecated": true, - "parameters": [ - { - "name": "sellerSKU", - "in": "path", - "description": "The seller SKU that identifies the item.", - "required": true, - "type": "string" - }, - { - "name": "marketplaceIds", - "in": "query", - "description": "The marketplace in which to enroll the item. Note: Accepts a single marketplace only.", - "required": true, - "type": "array", - "items": { - "type": "string" - }, - "maxItems": 1 - } - ], - "responses": { - "200": { - "description": "Success.", - "schema": { - "$ref": "#/definitions/SmallAndLightEnrollment" - }, - "headers": { - "x-amzn-RateLimit-Limit": { - "type": "string", - "description": "Your rate limit (requests per second) for this operation." - }, - "x-amzn-RequestId": { - "type": "string", - "description": "Unique request reference identifier." - } - }, - "x-amzn-api-sandbox": { - "static": [ - { - "request": { - "parameters": { - "sellerSKU": { - "value": "SKU_ELIGIBLE_FOR_SMALL_AND_LIGHT" - }, - "marketplaceIds": { - "value": [ - "ATVPDKIKX0DER" - ] - } - } - }, - "response": { - "marketplaceId": "ATVPDKIKX0DER", - "sellerSKU": "SKU_ELIGIBLE_FOR_SMALL_AND_LIGHT", - "status": "ENROLLED" - } - } - ] - } - }, - "400": { - "description": "Request has missing or invalid parameters and cannot be parsed.", - "schema": { - "$ref": "#/definitions/ErrorList" - }, - "headers": { - "x-amzn-RateLimit-Limit": { - "type": "string", - "description": "Your rate limit (requests per second) for this operation." - }, - "x-amzn-RequestId": { - "type": "string", - "description": "Unique request reference identifier." - } - }, - "x-amzn-api-sandbox": { - "static": [ - { - "request": { - "parameters": { - "sellerSKU": { - "value": "SKU_400" - }, - "marketplaceIds": { - "value": [ - "ATVPDKIKX0DER" - ] - } - } - }, - "response": { - "errors": [ - { - "code": "InvalidInput", - "message": "Invalid input." - } - ] - } - } - ] - } - }, - "403": { - "description": "Indicates that access to the resource is forbidden. Possible reasons include Access Denied, Unauthorized, Expired Token, or Invalid Signature.", - "schema": { - "$ref": "#/definitions/ErrorList" - }, - "headers": { - "x-amzn-RequestId": { - "type": "string", - "description": "Unique request reference identifier." - } - }, - "x-amzn-api-sandbox": { - "static": [ - { - "request": { - "parameters": { - "sellerSKU": { - "value": "SKU_403" - }, - "marketplaceIds": { - "value": [ - "ATVPDKIKX0DER" - ] - } - } - }, - "response": { - "errors": [ - { - "code": "Unauthorized", - "message": "Access to requested resource is denied." - } - ] - } - } - ] - } - }, - "404": { - "description": "The resource specified does not exist.", - "schema": { - "$ref": "#/definitions/ErrorList" - }, - "headers": { - "x-amzn-RateLimit-Limit": { - "type": "string", - "description": "Your rate limit (requests per second) for this operation." - }, - "x-amzn-RequestId": { - "type": "string", - "description": "Unique request reference identifier." - } - }, - "x-amzn-api-sandbox": { - "static": [ - { - "request": { - "parameters": { - "sellerSKU": { - "value": "SKU_404" - }, - "marketplaceIds": { - "value": [ - "ATVPDKIKX0DER" - ] - } - } - }, - "response": { - "errors": [ - { - "code": "NotFound", - "message": "Requested resource is not found" - } - ] - } - } - ] - } - }, - "413": { - "description": "The request size exceeded the maximum accepted size.", - "schema": { - "$ref": "#/definitions/ErrorList" - }, - "headers": { - "x-amzn-RateLimit-Limit": { - "type": "string", - "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." - }, - "x-amzn-RequestId": { - "type": "string", - "description": "Unique request reference identifier." - } - }, - "x-amzn-api-sandbox": { - "static": [ - { - "request": { - "parameters": { - "sellerSKU": { - "value": "SKU_413" - }, - "marketplaceIds": { - "value": [ - "ATVPDKIKX0DER" - ] - } - } - }, - "response": { - "errors": [ - { - "code": "PayloadTooLarge", - "message": "Payload of the request is too large." - } - ] - } - } - ] - } - }, - "415": { - "description": "The request payload is in an unsupported format.", - "schema": { - "$ref": "#/definitions/ErrorList" - }, - "headers": { - "x-amzn-RateLimit-Limit": { - "type": "string", - "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." - }, - "x-amzn-RequestId": { - "type": "string", - "description": "Unique request reference identifier." - } - }, - "x-amzn-api-sandbox": { - "static": [ - { - "request": { - "parameters": { - "sellerSKU": { - "value": "SKU_415" - }, - "marketplaceIds": { - "value": [ - "ATVPDKIKX0DER" - ] - } - } - }, - "response": { - "errors": [ - { - "code": "UnsupportedType", - "message": "The entity of the request is of unsupported type." - } - ] - } - } - ] - } - }, - "429": { - "description": "The frequency of requests was greater than allowed.", - "schema": { - "$ref": "#/definitions/ErrorList" - }, - "headers": { - "x-amzn-RateLimit-Limit": { - "type": "string", - "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." - }, - "x-amzn-RequestId": { - "type": "string", - "description": "Unique request reference identifier." - } - }, - "x-amzn-api-sandbox": { - "static": [ - { - "request": { - "parameters": { - "sellerSKU": { - "value": "SKU_429" - }, - "marketplaceIds": { - "value": [ - "ATVPDKIKX0DER" - ] - } - } - }, - "response": { - "errors": [ - { - "code": "TooManyRequests", - "message": "Total number of requests exceed your allowed limits." - } - ] - } - } - ] - } - }, - "500": { - "description": "An unexpected condition occurred that prevented the server from fulfilling the request.", - "schema": { - "$ref": "#/definitions/ErrorList" - }, - "headers": { - "x-amzn-RateLimit-Limit": { - "type": "string", - "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." - }, - "x-amzn-RequestId": { - "type": "string", - "description": "Unique request reference identifier." - } - }, - "x-amzn-api-sandbox": { - "static": [ - { - "request": { - "parameters": { - "sellerSKU": { - "value": "SKU_500" - }, - "marketplaceIds": { - "value": [ - "ATVPDKIKX0DER" - ] - } - } - }, - "response": { - "errors": [ - { - "code": "InternalServerError", - "message": "Server encountered an unexpected condition while processing your request." - } - ] - } - } - ] - } - }, - "503": { - "description": "Temporary overloading or maintenance of the server.", - "schema": { - "$ref": "#/definitions/ErrorList" - }, - "headers": { - "x-amzn-RateLimit-Limit": { - "type": "string", - "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." - }, - "x-amzn-RequestId": { - "type": "string", - "description": "Unique request reference identifier." - } - }, - "x-amzn-api-sandbox": { - "static": [ - { - "request": { - "parameters": { - "sellerSKU": { - "value": "SKU_503" - }, - "marketplaceIds": { - "value": [ - "ATVPDKIKX0DER" - ] - } - } - }, - "response": { - "errors": [ - { - "code": "ServiceUnavailable", - "message": "Server is temporarily unavailable." - } - ] - } - } - ] - } - } - } - }, - "delete": { - "tags": [ - "smallAndLight" - ], - "description": "Removes the item indicated by the specified seller SKU from the Small and Light program in the specified marketplace. If the item is not eligible for disenrollment, the ineligibility reasons are returned.\n\n**Usage Plan:**\n\n| Rate (requests per second) | Burst |\n| ---- | ---- |\n| 2 | 5 |\n\nThe `x-amzn-RateLimit-Limit` response header returns the usage plan rate limits that were applied to the requested operation, when available. The table above indicates the default rate and burst values for this operation. Selling partners whose business demands require higher throughput may see higher rate and burst values than those shown here. For more information, see [Usage Plans and Rate Limits in the Selling Partner API](https://developer-docs.amazon.com/sp-api/docs/usage-plans-and-rate-limits-in-the-sp-api).", - "operationId": "deleteSmallAndLightEnrollmentBySellerSKU", - "deprecated": true, - "parameters": [ - { - "name": "sellerSKU", - "in": "path", - "description": "The seller SKU that identifies the item.", - "required": true, - "type": "string" - }, - { - "name": "marketplaceIds", - "in": "query", - "description": "The marketplace in which to remove the item from the Small and Light program. Note: Accepts a single marketplace only.", - "required": true, - "type": "array", - "items": { - "type": "string" - }, - "maxItems": 1 - } - ], - "responses": { - "204": { - "description": "Success.", - "headers": { - "x-amzn-RateLimit-Limit": { - "type": "string", - "description": "Your rate limit (requests per second) for this operation." - }, - "x-amzn-RequestId": { - "type": "string", - "description": "Unique request reference identifier." - } - }, - "x-amzn-api-sandbox": { - "static": [ - { - "request": { - "parameters": { - "sellerSKU": { - "value": "SKU_ENROLLED_FOR_SMALL_AND_LIGHT" - }, - "marketplaceIds": { - "value": [ - "ATVPDKIKX0DER" - ] - } - } - }, - "response": {} - } - ] - } - }, - "400": { - "description": "Request has missing or invalid parameters and cannot be parsed.", - "schema": { - "$ref": "#/definitions/ErrorList" - }, - "headers": { - "x-amzn-RateLimit-Limit": { - "type": "string", - "description": "Your rate limit (requests per second) for this operation." - }, - "x-amzn-RequestId": { - "type": "string", - "description": "Unique request reference identifier." - } - }, - "x-amzn-api-sandbox": { - "static": [ - { - "request": { - "parameters": { - "sellerSKU": { - "value": "SKU_400" - }, - "marketplaceIds": { - "value": [ - "ATVPDKIKX0DER" - ] - } - } - }, - "response": { - "errors": [ - { - "code": "InvalidInput", - "message": "Invalid input." - } - ] - } - } - ] - } - }, - "403": { - "description": "Indicates that access to the resource is forbidden. Possible reasons include Access Denied, Unauthorized, Expired Token, or Invalid Signature.", - "schema": { - "$ref": "#/definitions/ErrorList" - }, - "headers": { - "x-amzn-RequestId": { - "type": "string", - "description": "Unique request reference identifier." - } - }, - "x-amzn-api-sandbox": { - "static": [ - { - "request": { - "parameters": { - "sellerSKU": { - "value": "SKU_403" - }, - "marketplaceIds": { - "value": [ - "ATVPDKIKX0DER" - ] - } - } - }, - "response": { - "errors": [ - { - "code": "Unauthorized", - "message": "Access to requested resource is denied." - } - ] - } - } - ] - } - }, - "404": { - "description": "The resource specified does not exist.", - "schema": { - "$ref": "#/definitions/ErrorList" - }, - "headers": { - "x-amzn-RateLimit-Limit": { - "type": "string", - "description": "Your rate limit (requests per second) for this operation." - }, - "x-amzn-RequestId": { - "type": "string", - "description": "Unique request reference identifier." - } - }, - "x-amzn-api-sandbox": { - "static": [ - { - "request": { - "parameters": { - "sellerSKU": { - "value": "SKU_404" - }, - "marketplaceIds": { - "value": [ - "ATVPDKIKX0DER" - ] - } - } - }, - "response": { - "errors": [ - { - "code": "NotFound", - "message": "Requested resource is not found" - } - ] - } - } - ] - } - }, - "413": { - "description": "The request size exceeded the maximum accepted size.", - "schema": { - "$ref": "#/definitions/ErrorList" - }, - "headers": { - "x-amzn-RateLimit-Limit": { - "type": "string", - "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." - }, - "x-amzn-RequestId": { - "type": "string", - "description": "Unique request reference identifier." - } - }, - "x-amzn-api-sandbox": { - "static": [ - { - "request": { - "parameters": { - "sellerSKU": { - "value": "SKU_413" - }, - "marketplaceIds": { - "value": [ - "ATVPDKIKX0DER" - ] - } - } - }, - "response": { - "errors": [ - { - "code": "PayloadTooLarge", - "message": "Payload of the request is too large." - } - ] - } - } - ] - } - }, - "415": { - "description": "The request payload is in an unsupported format.", - "schema": { - "$ref": "#/definitions/ErrorList" - }, - "headers": { - "x-amzn-RateLimit-Limit": { - "type": "string", - "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." - }, - "x-amzn-RequestId": { - "type": "string", - "description": "Unique request reference identifier." - } - }, - "x-amzn-api-sandbox": { - "static": [ - { - "request": { - "parameters": { - "sellerSKU": { - "value": "SKU_415" - }, - "marketplaceIds": { - "value": [ - "ATVPDKIKX0DER" - ] - } - } - }, - "response": { - "errors": [ - { - "code": "UnsupportedType", - "message": "The entity of the request is of unsupported type." - } - ] - } - } - ] - } - }, - "429": { - "description": "The frequency of requests was greater than allowed.", - "schema": { - "$ref": "#/definitions/ErrorList" - }, - "headers": { - "x-amzn-RateLimit-Limit": { - "type": "string", - "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." - }, - "x-amzn-RequestId": { - "type": "string", - "description": "Unique request reference identifier." - } - }, - "x-amzn-api-sandbox": { - "static": [ - { - "request": { - "parameters": { - "sellerSKU": { - "value": "SKU_429" - }, - "marketplaceIds": { - "value": [ - "ATVPDKIKX0DER" - ] - } - } - }, - "response": { - "errors": [ - { - "code": "TooManyRequests", - "message": "Total number of requests exceed your allowed limits." - } - ] - } - } - ] - } - }, - "500": { - "description": "An unexpected condition occurred that prevented the server from fulfilling the request.", - "schema": { - "$ref": "#/definitions/ErrorList" - }, - "headers": { - "x-amzn-RateLimit-Limit": { - "type": "string", - "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." - }, - "x-amzn-RequestId": { - "type": "string", - "description": "Unique request reference identifier." - } - }, - "x-amzn-api-sandbox": { - "static": [ - { - "request": { - "parameters": { - "sellerSKU": { - "value": "SKU_500" - }, - "marketplaceIds": { - "value": [ - "ATVPDKIKX0DER" - ] - } - } - }, - "response": { - "errors": [ - { - "code": "InternalServerError", - "message": "Server encountered an unexpected condition while processing your request." - } - ] - } - } - ] - } - }, - "503": { - "description": "Temporary overloading or maintenance of the server.", - "schema": { - "$ref": "#/definitions/ErrorList" - }, - "headers": { - "x-amzn-RateLimit-Limit": { - "type": "string", - "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." - }, - "x-amzn-RequestId": { - "type": "string", - "description": "Unique request reference identifier." - } - }, - "x-amzn-api-sandbox": { - "static": [ - { - "request": { - "parameters": { - "sellerSKU": { - "value": "SKU_503" - }, - "marketplaceIds": { - "value": [ - "ATVPDKIKX0DER" - ] - } - } - }, - "response": { - "errors": [ - { - "code": "ServiceUnavailable", - "message": "Server is temporarily unavailable." - } - ] - } - } - ] - } - } - } - } - }, - "/fba/smallAndLight/v1/eligibilities/{sellerSKU}": { - "get": { - "tags": [ - "smallAndLight" - ], - "description": "Returns the Small and Light program eligibility status of the item indicated by the specified seller SKU in the specified marketplace. If the item is not eligible, the ineligibility reasons are returned. **Note:** The parameters associated with this operation may contain special characters that must be encoded to successfully call the API. To avoid errors with SKUs when encoding URLs, refer to [URL Encoding](https://developer-docs.amazon.com/sp-api/docs/url-encoding).\n\n**Usage Plan:**\n\n| Rate (requests per second) | Burst |\n| ---- | ---- |\n| 2 | 10 |\n\nThe `x-amzn-RateLimit-Limit` response header returns the usage plan rate limits that were applied to the requested operation, when available. The table above indicates the default rate and burst values for this operation. Selling partners whose business demands require higher throughput may see higher rate and burst values than those shown here. For more information, see [Usage Plans and Rate Limits in the Selling Partner API](https://developer-docs.amazon.com/sp-api/docs/usage-plans-and-rate-limits-in-the-sp-api).", - "operationId": "getSmallAndLightEligibilityBySellerSKU", - "deprecated": true, - "parameters": [ - { - "name": "sellerSKU", - "in": "path", - "description": "The seller SKU that identifies the item.", - "required": true, - "type": "string" - }, - { - "name": "marketplaceIds", - "in": "query", - "description": "The marketplace for which the eligibility status is retrieved. NOTE: Accepts a single marketplace only.", - "required": true, - "type": "array", - "items": { - "type": "string" - }, - "maxItems": 1 - } - ], - "responses": { - "200": { - "description": "Success.", - "schema": { - "$ref": "#/definitions/SmallAndLightEligibility" - }, - "headers": { - "x-amzn-RateLimit-Limit": { - "type": "string", - "description": "Your rate limit (requests per second) for this operation." - }, - "x-amzn-RequestId": { - "type": "string", - "description": "Unique request reference identifier." - } - }, - "x-amzn-api-sandbox": { - "static": [ - { - "request": { - "parameters": { - "sellerSKU": { - "value": "SKU_ELIGIBLE_FOR_SMALL_AND_LIGHT" - }, - "marketplaceIds": { - "value": [ - "ATVPDKIKX0DER" - ] - } - } - }, - "response": { - "marketplaceId": "ATVPDKIKX0DER", - "sellerSKU": "SKU_ELIGIBLE_FOR_SMALL_AND_LIGHT", - "status": "ELIGIBLE" - } - } - ] - } - }, - "400": { - "description": "Request has missing or invalid parameters and cannot be parsed.", - "schema": { - "$ref": "#/definitions/ErrorList" - }, - "headers": { - "x-amzn-RateLimit-Limit": { - "type": "string", - "description": "Your rate limit (requests per second) for this operation." - }, - "x-amzn-RequestId": { - "type": "string", - "description": "Unique request reference identifier." - } - }, - "x-amzn-api-sandbox": { - "static": [ - { - "request": { - "parameters": { - "sellerSKU": { - "value": "SKU_400" - }, - "marketplaceIds": { - "value": [ - "ATVPDKIKX0DER" - ] - } - } - }, - "response": { - "errors": [ - { - "code": "InvalidInput", - "message": "Invalid input." - } - ] - } - } - ] - } - }, - "403": { - "description": "Indicates that access to the resource is forbidden. Possible reasons include Access Denied, Unauthorized, Expired Token, or Invalid Signature.", - "schema": { - "$ref": "#/definitions/ErrorList" - }, - "headers": { - "x-amzn-RequestId": { - "type": "string", - "description": "Unique request reference identifier." - } - }, - "x-amzn-api-sandbox": { - "static": [ - { - "request": { - "parameters": { - "sellerSKU": { - "value": "SKU_403" - }, - "marketplaceIds": { - "value": [ - "ATVPDKIKX0DER" - ] - } - } - }, - "response": { - "errors": [ - { - "code": "Unauthorized", - "message": "Access to requested resource is denied." - } - ] - } - } - ] - } - }, - "404": { - "description": "The resource specified does not exist.", - "schema": { - "$ref": "#/definitions/ErrorList" - }, - "headers": { - "x-amzn-RateLimit-Limit": { - "type": "string", - "description": "Your rate limit (requests per second) for this operation." - }, - "x-amzn-RequestId": { - "type": "string", - "description": "Unique request reference identifier." - } - }, - "x-amzn-api-sandbox": { - "static": [ - { - "request": { - "parameters": { - "sellerSKU": { - "value": "SKU_404" - }, - "marketplaceIds": { - "value": [ - "ATVPDKIKX0DER" - ] - } - } - }, - "response": { - "errors": [ - { - "code": "NotFound", - "message": "Requested resource is not found" - } - ] - } - } - ] - } - }, - "413": { - "description": "The request size exceeded the maximum accepted size.", - "schema": { - "$ref": "#/definitions/ErrorList" - }, - "headers": { - "x-amzn-RateLimit-Limit": { - "type": "string", - "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." - }, - "x-amzn-RequestId": { - "type": "string", - "description": "Unique request reference identifier." - } - }, - "x-amzn-api-sandbox": { - "static": [ - { - "request": { - "parameters": { - "sellerSKU": { - "value": "SKU_413" - }, - "marketplaceIds": { - "value": [ - "ATVPDKIKX0DER" - ] - } - } - }, - "response": { - "errors": [ - { - "code": "PayloadTooLarge", - "message": "Payload of the request is too large." - } - ] - } - } - ] - } - }, - "415": { - "description": "The request payload is in an unsupported format.", - "schema": { - "$ref": "#/definitions/ErrorList" - }, - "headers": { - "x-amzn-RateLimit-Limit": { - "type": "string", - "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." - }, - "x-amzn-RequestId": { - "type": "string", - "description": "Unique request reference identifier." - } - }, - "x-amzn-api-sandbox": { - "static": [ - { - "request": { - "parameters": { - "sellerSKU": { - "value": "SKU_415" - }, - "marketplaceIds": { - "value": [ - "ATVPDKIKX0DER" - ] - } - } - }, - "response": { - "errors": [ - { - "code": "UnsupportedType", - "message": "The entity of the request is of unsupported type." - } - ] - } - } - ] - } - }, - "429": { - "description": "The frequency of requests was greater than allowed.", - "schema": { - "$ref": "#/definitions/ErrorList" - }, - "headers": { - "x-amzn-RateLimit-Limit": { - "type": "string", - "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." - }, - "x-amzn-RequestId": { - "type": "string", - "description": "Unique request reference identifier." - } - }, - "x-amzn-api-sandbox": { - "static": [ - { - "request": { - "parameters": { - "sellerSKU": { - "value": "SKU_429" - }, - "marketplaceIds": { - "value": [ - "ATVPDKIKX0DER" - ] - } - } - }, - "response": { - "errors": [ - { - "code": "TooManyRequests", - "message": "Total number of requests exceed your allowed limits." - } - ] - } - } - ] - } - }, - "500": { - "description": "An unexpected condition occurred that prevented the server from fulfilling the request.", - "schema": { - "$ref": "#/definitions/ErrorList" - }, - "headers": { - "x-amzn-RateLimit-Limit": { - "type": "string", - "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." - }, - "x-amzn-RequestId": { - "type": "string", - "description": "Unique request reference identifier." - } - }, - "x-amzn-api-sandbox": { - "static": [ - { - "request": { - "parameters": { - "sellerSKU": { - "value": "SKU_500" - }, - "marketplaceIds": { - "value": [ - "ATVPDKIKX0DER" - ] - } - } - }, - "response": { - "errors": [ - { - "code": "InternalServerError", - "message": "Server encountered an unexpected condition while processing your request." - } - ] - } - } - ] - } - }, - "503": { - "description": "Temporary overloading or maintenance of the server.", - "schema": { - "$ref": "#/definitions/ErrorList" - }, - "headers": { - "x-amzn-RateLimit-Limit": { - "type": "string", - "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." - }, - "x-amzn-RequestId": { - "type": "string", - "description": "Unique request reference identifier." - } - }, - "x-amzn-api-sandbox": { - "static": [ - { - "request": { - "parameters": { - "sellerSKU": { - "value": "SKU_503" - }, - "marketplaceIds": { - "value": [ - "ATVPDKIKX0DER" - ] - } - } - }, - "response": { - "errors": [ - { - "code": "ServiceUnavailable", - "message": "Server is temporarily unavailable." - } - ] - } - } - ] - } - } - } - } - }, - "/fba/smallAndLight/v1/feePreviews": { - "post": { - "tags": [ - "smallAndLight" - ], - "description": "Returns the Small and Light fee estimates for the specified items. You must include a marketplaceId parameter to retrieve the proper fee estimates for items to be sold in that marketplace. The ordering of items in the response will mirror the order of the items in the request. Duplicate ASIN/price combinations are removed.\n\n**Usage Plan:**\n\n| Rate (requests per second) | Burst |\n| ---- | ---- |\n| 1 | 3 |\n\nThe `x-amzn-RateLimit-Limit` response header returns the usage plan rate limits that were applied to the requested operation, when available. The table above indicates the default rate and burst values for this operation. Selling partners whose business demands require higher throughput may see higher rate and burst values than those shown here. For more information, see [Usage Plans and Rate Limits in the Selling Partner API](https://developer-docs.amazon.com/sp-api/docs/usage-plans-and-rate-limits-in-the-sp-api).", - "operationId": "getSmallAndLightFeePreview", - "deprecated": true, - "parameters": [ - { - "in": "body", - "name": "body", - "required": true, - "schema": { - "$ref": "#/definitions/SmallAndLightFeePreviewRequest" - } - } - ], - "responses": { - "200": { - "description": "Success.", - "schema": { - "$ref": "#/definitions/SmallAndLightFeePreviews" - }, - "headers": { - "x-amzn-RateLimit-Limit": { - "type": "string", - "description": "Your rate limit (requests per second) for this operation." - }, - "x-amzn-RequestId": { - "type": "string", - "description": "Unique request reference identifier." - } - }, - "x-amzn-api-sandbox": { - "static": [ - { - "request": { - "parameters": { - "body": { - "value": { - "marketplaceId": "ATVPDKIKX0DER", - "items": [ - { - "asin": "B076ZL9PB5", - "price": { - "currencyCode": "USD", - "amount": 6.5 - } - } - ] - } - } - } - }, - "response": { - "data": [ - { - "asin": "B076ZL9PB5", - "price": { - "amount": 6.5, - "currencyCode": "USD" - }, - "feeBreakdown": [ - { - "feeType": "FBAPerUnitFulfillmentFee", - "feeCharge": { - "amount": 0.75, - "currencyCode": "USD" - } - }, - { - "feeType": "FBAPerOrderFulfillmentFee", - "feeCharge": { - "amount": 1, - "currencyCode": "USD" - } - }, - { - "feeType": "FBAWeightBasedFee", - "feeCharge": { - "amount": 1.1, - "currencyCode": "USD" - } - }, - { - "feeType": "Commission", - "feeCharge": { - "amount": 0.98, - "currencyCode": "USD" - } - } - ], - "totalFees": { - "amount": 3.83, - "currencyCode": "USD" - }, - "errors": [] - } - ] - } - } - ] - } - }, - "400": { - "description": "Request has missing or invalid parameters and cannot be parsed.", - "schema": { - "$ref": "#/definitions/ErrorList" - }, - "headers": { - "x-amzn-RateLimit-Limit": { - "type": "string", - "description": "Your rate limit (requests per second) for this operation." - }, - "x-amzn-RequestId": { - "type": "string", - "description": "Unique request reference identifier." - } - }, - "x-amzn-api-sandbox": { - "static": [ - { - "request": { - "parameters": { - "body": { - "value": { - "marketplaceId": "TEST_CASE_400", - "items": [] - } - } - } - }, - "response": { - "errors": [ - { - "code": "InvalidInput", - "message": "Invalid input." - } - ] - } - } - ] - } - }, - "401": { - "description": "The request's Authorization header is not formatted correctly or does not contain a valid token.", - "schema": { - "$ref": "#/definitions/ErrorList" - }, - "headers": { - "x-amzn-RateLimit-Limit": { - "type": "string", - "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." - }, - "x-amzn-RequestId": { - "type": "string", - "description": "Unique request reference identifier." - } - }, - "x-amzn-api-sandbox": { - "static": [ - { - "request": { - "parameters": { - "body": { - "value": { - "marketplaceId": "TEST_CASE_401", - "items": [] - } - } - } - }, - "response": { - "errors": [ - { - "code": "Unauthorized", - "message": "Access to requested resource is denied." - } - ] - } - } - ] - } - }, - "403": { - "description": "Indicates that access to the resource is forbidden. Possible reasons include Access Denied, Unauthorized, Expired Token, or Invalid Signature.", - "schema": { - "$ref": "#/definitions/ErrorList" - }, - "headers": { - "x-amzn-RequestId": { - "type": "string", - "description": "Unique request reference identifier." - } - }, - "x-amzn-api-sandbox": { - "static": [ - { - "request": { - "parameters": { - "body": { - "value": { - "marketplaceId": "TEST_CASE_403", - "items": [] - } - } - } - }, - "response": { - "errors": [ - { - "code": "Unauthorized", - "message": "Access to requested resource is denied." - } - ] - } - } - ] - } - }, - "404": { - "description": "The resource specified does not exist.", - "schema": { - "$ref": "#/definitions/ErrorList" - }, - "headers": { - "x-amzn-RateLimit-Limit": { - "type": "string", - "description": "Your rate limit (requests per second) for this operation." - }, - "x-amzn-RequestId": { - "type": "string", - "description": "Unique request reference identifier." - } - }, - "x-amzn-api-sandbox": { - "static": [ - { - "request": { - "parameters": { - "body": { - "value": { - "marketplaceId": "TEST_CASE_404", - "items": [] - } - } - } - }, - "response": { - "errors": [ - { - "code": "NotFound", - "message": "The requested resource doesn't exist." - } - ] - } - } - ] - } - }, - "429": { - "description": "The frequency of requests was greater than allowed.", - "schema": { - "$ref": "#/definitions/ErrorList" - }, - "headers": { - "x-amzn-RateLimit-Limit": { - "type": "string", - "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." - }, - "x-amzn-RequestId": { - "type": "string", - "description": "Unique request reference identifier." - } - }, - "x-amzn-api-sandbox": { - "static": [ - { - "request": { - "parameters": { - "body": { - "value": { - "marketplaceId": "TEST_CASE_429", - "items": [] - } - } - } - }, - "response": { - "errors": [ - { - "code": "QuotaExceeded", - "message": "You exceeded your quota for the requested resource." - } - ] - } - } - ] - } - }, - "500": { - "description": "An unexpected condition occurred that prevented the server from fulfilling the request.", - "schema": { - "$ref": "#/definitions/ErrorList" - }, - "headers": { - "x-amzn-RateLimit-Limit": { - "type": "string", - "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." - }, - "x-amzn-RequestId": { - "type": "string", - "description": "Unique request reference identifier." - } - }, - "x-amzn-api-sandbox": { - "static": [ - { - "request": { - "parameters": { - "body": { - "value": { - "marketplaceId": "TEST_CASE_500", - "items": [] - } - } - } - }, - "response": { - "errors": [ - { - "code": "InternalFailure", - "message": "We encountered an internal error. Please try again." - } - ] - } - } - ] - } - }, - "503": { - "description": "Temporary overloading or maintenance of the server.", - "schema": { - "$ref": "#/definitions/ErrorList" - }, - "headers": { - "x-amzn-RateLimit-Limit": { - "type": "string", - "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." - }, - "x-amzn-RequestId": { - "type": "string", - "description": "Unique request reference identifier." - } - }, - "x-amzn-api-sandbox": { - "static": [ - { - "request": { - "parameters": { - "body": { - "value": { - "marketplaceId": "TEST_CASE_503", - "items": [] - } - } - } - }, - "response": { - "errors": [ - { - "code": "ServiceUnavailable", - "message": "Service is temporarily unavailable. Please try again." - } - ] - } - } - ] - } - } - } - } - } - }, - "definitions": { - "MarketplaceId": { - "type": "string", - "description": "A marketplace identifier." - }, - "SellerSKU": { - "type": "string", - "description": "Identifies an item in the given marketplace. SellerSKU is qualified by the seller's SellerId, which is included with every operation that you submit." - }, - "Error": { - "type": "object", - "required": [ - "code", - "message" - ], - "properties": { - "code": { - "type": "string", - "description": "An error code that identifies the type of error that occurred." - }, - "message": { - "type": "string", - "description": "A message that describes the error condition." - }, - "details": { - "type": "string", - "description": "Additional details that can help the caller understand or fix the issue." - } - }, - "description": "Error response returned when the request is unsuccessful." - }, - "ErrorList": { - "type": "object", - "properties": { - "errors": { - "type": "array", - "items": { - "$ref": "#/definitions/Error" - } - } - }, - "description": "A list of error responses returned when a request is unsuccessful." - }, - "SmallAndLightEnrollmentStatus": { - "type": "string", - "description": "The Small and Light enrollment status of the item.", - "enum": [ - "ENROLLED", - "NOT_ENROLLED" - ], - "x-docgen-enum-table-extension": [ - { - "value": "ENROLLED", - "description": "The Small and Light enrollment status is enrolled." - }, - { - "value": "NOT_ENROLLED", - "description": "The Small and Light enrollment status is not enrolled." - } - ] - }, - "SmallAndLightEligibilityStatus": { - "type": "string", - "description": "The Small and Light eligibility status of the item.", - "enum": [ - "ELIGIBLE", - "NOT_ELIGIBLE" - ], - "x-docgen-enum-table-extension": [ - { - "value": "ELIGIBLE", - "description": "The Small and Light eligibility status is eligible." - }, - { - "value": "NOT_ELIGIBLE", - "description": "The Small and Light eligibility status is not eligible." - } - ] - }, - "SmallAndLightEnrollment": { - "type": "object", - "required": [ - "marketplaceId", - "sellerSKU", - "status" - ], - "properties": { - "marketplaceId": { - "$ref": "#/definitions/MarketplaceId" - }, - "sellerSKU": { - "$ref": "#/definitions/SellerSKU" - }, - "status": { - "$ref": "#/definitions/SmallAndLightEnrollmentStatus" - } - }, - "description": "The Small and Light enrollment status of the item indicated by the specified seller SKU." - }, - "SmallAndLightEligibility": { - "type": "object", - "required": [ - "marketplaceId", - "sellerSKU", - "status" - ], - "properties": { - "marketplaceId": { - "$ref": "#/definitions/MarketplaceId" - }, - "sellerSKU": { - "$ref": "#/definitions/SellerSKU" - }, - "status": { - "$ref": "#/definitions/SmallAndLightEligibilityStatus" - } - }, - "description": "The Small and Light eligibility status of the item indicated by the specified seller SKU." - }, - "SmallAndLightFeePreviewRequest": { - "type": "object", - "required": [ - "items", - "marketplaceId" - ], - "properties": { - "marketplaceId": { - "$ref": "#/definitions/MarketplaceId" - }, - "items": { - "type": "array", - "description": "A list of items for which to retrieve fee estimates (limit: 25).", - "items": { - "$ref": "#/definitions/Item" - }, - "maxItems": 25 - } - }, - "description": "Request schema for submitting items for which to retrieve fee estimates." - }, - "SmallAndLightFeePreviews": { - "type": "object", - "properties": { - "data": { - "type": "array", - "description": "A list of fee estimates for the requested items. The order of the fee estimates will follow the same order as the items in the request, with duplicates removed.", - "items": { - "$ref": "#/definitions/FeePreview" - } - } - } - }, - "Item": { - "type": "object", - "required": [ - "asin", - "price" - ], - "properties": { - "asin": { - "type": "string", - "description": "The Amazon Standard Identification Number (ASIN) value used to identify the item." - }, - "price": { - "description": "The price that the seller plans to charge for the item.", - "$ref": "#/definitions/MoneyType" - } - }, - "description": "An item to be sold." - }, - "FeePreview": { - "type": "object", - "properties": { - "asin": { - "type": "string", - "description": "The Amazon Standard Identification Number (ASIN) value used to identify the item." - }, - "price": { - "description": "The price that the seller plans to charge for the item.", - "$ref": "#/definitions/MoneyType" - }, - "feeBreakdown": { - "type": "array", - "description": "A list of the Small and Light fees for the item.", - "items": { - "$ref": "#/definitions/FeeLineItem" - } - }, - "totalFees": { - "description": "The total fees charged if the item participated in the Small and Light program.", - "$ref": "#/definitions/MoneyType" - }, - "errors": { - "type": "array", - "description": "One or more unexpected errors occurred during the getSmallAndLightFeePreview operation.", - "items": { - "$ref": "#/definitions/Error" - } - } - }, - "description": "The fee estimate for a specific item." - }, - "FeeLineItem": { - "type": "object", - "required": [ - "feeCharge", - "feeType" - ], - "properties": { - "feeType": { - "type": "string", - "description": "The type of fee charged to the seller.", - "enum": [ - "FBAWeightBasedFee", - "FBAPerOrderFulfillmentFee", - "FBAPerUnitFulfillmentFee", - "Commission" - ], - "x-docgen-enum-table-extension": [ - { - "value": "FBAWeightBasedFee", - "description": "The FBA weight-based fee (weight handling)." - }, - { - "value": "FBAPerOrderFulfillmentFee", - "description": "The FBA per-order fulfillment fee (order handling)." - }, - { - "value": "FBAPerUnitFulfillmentFee", - "description": "The FBA fulfillment fee (Pick & Pack)." - }, - { - "value": "Commission", - "description": "The commission - referral fee." - } - ] - }, - "feeCharge": { - "description": "Amount charged to the seller for the specific fee type.", - "$ref": "#/definitions/MoneyType" - } - }, - "description": "Fee details for a specific fee." - }, - "MoneyType": { - "type": "object", - "properties": { - "currencyCode": { - "type": "string", - "description": "The currency code in ISO 4217 format." - }, - "amount": { - "type": "number", - "description": "The monetary value." - } - } - } - } -} \ No newline at end of file diff --git a/models/fba-small-and-light-api-model/fbaSmallandLight.md b/models/fba-small-and-light-api-model/fbaSmallandLight.md new file mode 100644 index 000000000..eabedafde --- /dev/null +++ b/models/fba-small-and-light-api-model/fbaSmallandLight.md @@ -0,0 +1 @@ +This API has been removed. You can retrieve the new fees for affected products by using the [Product Fees API](https://developer-docs.amazon.com/sp-api/docs/product-fees-api-v0-reference) and/or the relevant FBA and Referral Fee reports. Update your bookmarks to the new location for future reference. \ No newline at end of file From ecf64c25910fe9b76573421c5367cc3ce375843e Mon Sep 17 00:00:00 2001 From: Gibran Waldron Date: Fri, 29 Mar 2024 15:32:34 -0700 Subject: [PATCH 051/340] Add redirect for the authorization API. --- .../authorization.json | 307 ------------------ .../authorization-api-model/authorization.md | 1 + 2 files changed, 1 insertion(+), 307 deletions(-) delete mode 100644 models/authorization-api-model/authorization.json create mode 100644 models/authorization-api-model/authorization.md diff --git a/models/authorization-api-model/authorization.json b/models/authorization-api-model/authorization.json deleted file mode 100644 index 457fed564..000000000 --- a/models/authorization-api-model/authorization.json +++ /dev/null @@ -1,307 +0,0 @@ -{ - "swagger": "2.0", - "info": { - "description": "The Selling Partner API for Authorization helps developers manage authorizations and check the specific permissions associated with a given authorization.", - "version": "v1", - "title": "Selling Partner API for Authorization", - "contact": { - "name": "Selling Partner API Developer Support", - "url": "https://sellercentral.amazon.com/gp/mws/contactus.html" - }, - "license": { - "name": "Apache License 2.0", - "url": "http://www.apache.org/licenses/LICENSE-2.0" - } - }, - "host": "sellingpartnerapi-na.amazon.com", - "schemes": [ - "https" - ], - "consumes": [ - "application/json" - ], - "produces": [ - "application/json" - ], - "paths": { - "/authorization/v1/authorizationCode": { - "get": { - "tags": [ - "authorization" - ], - "summary": "Returns the Login with Amazon (LWA) authorization code for an existing Amazon MWS authorization.", - "description": "With the getAuthorizationCode operation, you can request a Login With Amazon (LWA) authorization code that will allow you to call a Selling Partner API on behalf of a seller who has already authorized you to call Amazon Marketplace Web Service (Amazon MWS). You specify a developer ID, an MWS auth token, and a seller ID. Taken together, these represent the Amazon MWS authorization that the seller previously granted you. The operation returns an LWA authorization code that can be exchanged for a refresh token and access token representing authorization to call the Selling Partner API on the seller's behalf. By using this API, sellers who have already authorized you for Amazon MWS do not need to re-authorize you for the Selling Partner API.\n\n**Usage Plan:**\n\n| Rate (requests per second) | Burst |\n| ---- | ---- |\n| 1 | 5 |\n\nFor more information, see \"Usage Plans and Rate Limits\" in the Selling Partner API documentation.", - "operationId": "getAuthorizationCode", - "parameters": [ - { - "name": "sellingPartnerId", - "in": "query", - "description": "The seller ID of the seller for whom you are requesting Selling Partner API authorization. This must be the seller ID of the seller who authorized your application on the Marketplace Appstore.", - "required": true, - "type": "string", - "allowEmptyValue": false - }, - { - "name": "developerId", - "in": "query", - "description": "Your developer ID. This must be one of the developer ID values that you provided when you registered your application in Developer Central.", - "required": true, - "type": "string", - "allowEmptyValue": false - }, - { - "name": "mwsAuthToken", - "in": "query", - "description": "The MWS Auth Token that was generated when the seller authorized your application on the Marketplace Appstore.", - "required": true, - "type": "string", - "allowEmptyValue": false - } - ], - "responses": { - "200": { - "description": "Success.", - "schema": { - "$ref": "#/definitions/GetAuthorizationCodeResponse" - }, - "examples": { - "payload": { - "authorizationCode": "ANDMxqpCmqWHJeyzdbMH" - } - }, - "headers": { - "x-amzn-RateLimit-Limit": { - "type": "string", - "description": "Your rate limit (requests per second) for this operation." - }, - "x-amzn-RequestId": { - "type": "string", - "description": "Unique request reference ID." - } - }, - "x-amzn-api-sandbox": { - "static": [ - { - "request": { - "parameters": {} - }, - "response": { - "payload": { - "authorizationCode": "ANDMxqpCmqWHJeyzdbMH" - } - } - } - ] - } - }, - "400": { - "description": "Request has missing or invalid parameters and cannot be parsed.", - "schema": { - "$ref": "#/definitions/GetAuthorizationCodeResponse" - }, - "examples": { - "errors": [ - { - "code": "1001", - "message": "Authorization code you provided is invalid." - } - ] - }, - "headers": { - "x-amzn-RateLimit-Limit": { - "type": "string", - "description": "Your rate limit (requests per second) for this operation." - }, - "x-amzn-RequestId": { - "type": "string", - "description": "Unique request reference ID." - } - }, - "x-amzn-api-sandbox": { - "static": [ - { - "request": { - "parameters": { - "mwsAuthToken": { - "value": "TEST_CASE_400" - } - } - }, - "response": { - "errors": [ - { - "code": "InvalidInput", - "message": "Invalid input." - } - ] - } - } - ] - } - }, - "403": { - "description": "Indicates that access to the resource is forbidden. Possible reasons include Access Denied, Unauthorized, Expired Token, or Invalid Signature.", - "schema": { - "$ref": "#/definitions/GetAuthorizationCodeResponse" - }, - "headers": { - "x-amzn-RequestId": { - "type": "string", - "description": "Unique request reference ID." - } - } - }, - "404": { - "description": "The resource specified does not exist.", - "schema": { - "$ref": "#/definitions/GetAuthorizationCodeResponse" - }, - "headers": { - "x-amzn-RateLimit-Limit": { - "type": "string", - "description": "Your rate limit (requests per second) for this operation." - }, - "x-amzn-RequestId": { - "type": "string", - "description": "Unique request reference ID." - } - } - }, - "413": { - "description": "The request size exceeded the maximum accepted size.", - "schema": { - "$ref": "#/definitions/GetAuthorizationCodeResponse" - }, - "headers": { - "x-amzn-RateLimit-Limit": { - "type": "string", - "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." - }, - "x-amzn-RequestId": { - "type": "string", - "description": "Unique request reference ID." - } - } - }, - "415": { - "description": "The request payload is in an unsupported format.", - "schema": { - "$ref": "#/definitions/GetAuthorizationCodeResponse" - }, - "headers": { - "x-amzn-RateLimit-Limit": { - "type": "string", - "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." - }, - "x-amzn-RequestId": { - "type": "string", - "description": "Unique request reference ID." - } - } - }, - "429": { - "description": "The frequency of requests was greater than allowed.", - "schema": { - "$ref": "#/definitions/GetAuthorizationCodeResponse" - }, - "headers": { - "x-amzn-RateLimit-Limit": { - "type": "string", - "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." - }, - "x-amzn-RequestId": { - "type": "string", - "description": "Unique request reference ID." - } - } - }, - "500": { - "description": "An unexpected condition occurred that prevented the server from fulfilling the request.", - "schema": { - "$ref": "#/definitions/GetAuthorizationCodeResponse" - }, - "headers": { - "x-amzn-RateLimit-Limit": { - "type": "string", - "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." - }, - "x-amzn-RequestId": { - "type": "string", - "description": "Unique request reference ID." - } - } - }, - "503": { - "description": "Temporary overloading or maintenance of the server.", - "schema": { - "$ref": "#/definitions/GetAuthorizationCodeResponse" - }, - "headers": { - "x-amzn-RateLimit-Limit": { - "type": "string", - "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." - }, - "x-amzn-RequestId": { - "type": "string", - "description": "Unique request reference ID." - } - } - } - } - } - } - }, - "definitions": { - "GetAuthorizationCodeResponse": { - "type": "object", - "properties": { - "payload": { - "$ref": "#/definitions/AuthorizationCode" - }, - "errors": { - "$ref": "#/definitions/ErrorList" - } - }, - "description": "The response schema for the GetAuthorizationCode operation." - }, - "AuthorizationCode": { - "type": "object", - "properties": { - "authorizationCode": { - "type": "string", - "description": "A Login with Amazon (LWA) authorization code that can be exchanged for a refresh token and access token that authorize you to make calls to a Selling Partner API." - } - }, - "description": "A Login with Amazon (LWA) authorization code." - }, - "ErrorList": { - "type": "array", - "description": "A list of error responses returned when a request is unsuccessful.", - "items": { - "$ref": "#/definitions/Error" - } - }, - "Error": { - "type": "object", - "required": [ - "code", - "message" - ], - "properties": { - "code": { - "type": "string", - "description": "An error code that identifies the type of error that occurred." - }, - "message": { - "type": "string", - "description": "A message that describes the error condition in a human-readable form." - }, - "details": { - "type": "string", - "description": "Additional details that can help the caller understand or fix the issue." - } - }, - "description": "Error response returned when the request is unsuccessful." - } - } -} \ No newline at end of file diff --git a/models/authorization-api-model/authorization.md b/models/authorization-api-model/authorization.md new file mode 100644 index 000000000..676a1c203 --- /dev/null +++ b/models/authorization-api-model/authorization.md @@ -0,0 +1 @@ +This API has been removed. Refer to the [SP-API Deprecations](https://developer-docs.amazon.com/sp-api/docs/sp-api-deprecations) table for more information. \ No newline at end of file From 3a1dcbe979a147c478bebb1bac7a636e04bfc193 Mon Sep 17 00:00:00 2001 From: Jack Evoniuk Date: Mon, 1 Apr 2024 12:08:37 -0700 Subject: [PATCH 052/340] Add Fulfillment Inbound v2024 model --- .../fulfillmentInboundv2024-03-20.json | 9875 +++++++++++++++++ 1 file changed, 9875 insertions(+) create mode 100644 models/fulfillment-inbound-api-model/fulfillmentInboundv2024-03-20.json diff --git a/models/fulfillment-inbound-api-model/fulfillmentInboundv2024-03-20.json b/models/fulfillment-inbound-api-model/fulfillmentInboundv2024-03-20.json new file mode 100644 index 000000000..e06624036 --- /dev/null +++ b/models/fulfillment-inbound-api-model/fulfillmentInboundv2024-03-20.json @@ -0,0 +1,9875 @@ +{ + "swagger": "2.0", + "info": { + "contact": { + "name": "Selling Partner API Developer Support", + "url": "https://sellercentral.amazon.com/gp/mws/contactus.html" + }, + "description": "The Selling Partner API for Fulfillment By Amazon (FBA) Inbound. The FBA Inbound API enables building inbound workflows to create, manage, and send shipments into Amazon's fulfillment network. The API has interoperability with the Send-to-Amazon user interface.", + "license": { + "name": "Apache License 2.0", + "url": "http://www.apache.org/licenses/LICENSE-2.0" + }, + "title": "The Selling Partner API for FBA inbound operations.", + "version": "2024-03-20" + }, + "host": "sellingpartnerapi-na.amazon.com", + "schemes": [ + "https" + ], + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "paths": { + "/inbound/fba/2024-03-20/inboundPlans": { + "get": { + "produces": [ + "application/json" + ], + "parameters": [ + { + "description": "The number of inbound plans to return in the response matching the given query.", + "in": "query", + "maximum": 30, + "minimum": 1, + "name": "pageSize", + "type": "integer", + "default": 10 + }, + { + "description": "A token to fetch a certain page when there are multiple pages worth of results. The value of this token is fetched from the `pagination` returned in the API response. In the absence of the token value from the query parameter the API returns the first page of the result.", + "in": "query", + "maxLength": 1024, + "minLength": 0, + "name": "paginationToken", + "type": "string" + }, + { + "description": "The status of an inbound plan.", + "enum": [ + "ACTIVE", + "VOIDED", + "SHIPPED" + ], + "in": "query", + "name": "status", + "type": "string", + "x-docgen-enum-table-extension": [ + { + "value": "ACTIVE", + "description": "An inbound plan that is being worked on." + }, + { + "value": "VOIDED", + "description": "An inbound plan with all shipment cancelled and can no longer be modified." + }, + { + "value": "SHIPPED", + "description": "A completed inbound plan. Only minor modifications can be made at this time." + } + ] + }, + { + "description": "Sort by field.", + "enum": [ + "LAST_UPDATED_TIME", + "CREATION_TIME" + ], + "in": "query", + "name": "sortBy", + "type": "string", + "x-docgen-enum-table-extension": [ + { + "value": "LAST_UPDATED_TIME", + "description": "Last updated time of the inbound plan." + }, + { + "value": "CREATION_TIME", + "description": "Inbound plan creation time." + } + ] + }, + { + "description": "The sort order.", + "enum": [ + "ASC", + "DESC" + ], + "in": "query", + "name": "sortOrder", + "type": "string", + "x-docgen-enum-table-extension": [ + { + "value": "ASC", + "description": "Ascending order." + }, + { + "value": "DESC", + "description": "Descending order." + } + ] + } + ], + "responses": { + "200": { + "description": "ListInboundPlans 200 response", + "schema": { + "$ref": "#/definitions/ListInboundPlansResponse" + }, + "x-amzn-api-sandbox": { + "static": [ + { + "request": { + "parameters": { + "status": { + "value": "ACTIVE" + }, + "sortBy": { + "value": "LAST_UPDATED_TIME" + }, + "sortOrder": { + "value": "ASC" + }, + "pageSize": { + "value": 2 + }, + "paginationToken": { + "value": "paginationToken" + } + } + }, + "response": { + "inboundPlans": [ + { + "inboundPlanId": "wf1234abcd-1234-abcd-5678-1234abcd5678", + "name": "FBA (03/08/2023, 01:15 PM)", + "createdAt": "2023-03-08T13:15:30Z", + "lastUpdatedAt": "2023-03-08T13:15:30Z", + "status": "ACTIVE", + "marketplaceIds": [ + "A2EUQ1WTGCTBG2" + ], + "sourceAddress": { + "name": "name", + "addressLine1": "123 example street", + "addressLine2": "Floor 19", + "city": "Toronto", + "stateOrProvinceCode": "ON", + "countryCode": "CA", + "postalCode": "M1M1M1", + "companyName": "Acme" + }, + "contactInformation": { + "email": "email@email.com", + "phoneNumber": "1234567890" + } + }, + { + "inboundPlanId": "wf2234abcd-1234-abcd-5678-1234abcd5678", + "name": "FBA (03/08/2023, 01:15 PM)", + "createdAt": "2023-03-08T13:15:30Z", + "lastUpdatedAt": "2023-03-08T13:15:30Z", + "status": "ACTIVE", + "marketplaceIds": [ + "A2EUQ1WTGCTBG2" + ], + "sourceAddress": { + "name": "name", + "addressLine1": "123 example street", + "addressLine2": "Floor 19", + "city": "Toronto", + "stateOrProvinceCode": "ON", + "countryCode": "CA", + "postalCode": "M1M1M1", + "companyName": "Acme" + }, + "contactInformation": { + "email": "email@email.com", + "phoneNumber": "1234567890" + } + } + ], + "pagination": { + "nextToken": "nextPaginationToken" + } + } + } + ] + }, + "headers": { + "x-amzn-RequestId": { + "description": "Unique request reference identifier.", + "type": "string" + }, + "x-amzn-RateLimit-Limit": { + "description": "Your rate limit (requests per second) for this operation.", + "type": "string" + } + } + }, + "400": { + "description": "Request has missing or invalid parameters and cannot be parsed.", + "schema": { + "$ref": "#/definitions/ErrorList" + }, + "x-amzn-api-sandbox": { + "static": [ + { + "request": { + "parameters": { + "status": { + "value": "badStatus" + }, + "sortBy": { + "value": "LAST_UPDATED_TIME" + }, + "sortOrder": { + "value": "ASC" + }, + "pageSize": { + "value": 5 + } + } + }, + "response": { + "errors": [ + { + "code": "BadRequest", + "message": "The status is invalid." + } + ] + } + } + ] + }, + "headers": { + "x-amzn-RequestId": { + "description": "Unique request reference identifier.", + "type": "string" + }, + "x-amzn-RateLimit-Limit": { + "description": "Your rate limit (requests per second) for this operation.", + "type": "string" + } + } + }, + "500": { + "description": "An unexpected condition occurred that prevented the server from fulfilling the request.", + "schema": { + "$ref": "#/definitions/ErrorList" + }, + "headers": { + "x-amzn-RequestId": { + "description": "Unique request reference identifier.", + "type": "string" + } + } + }, + "403": { + "description": "Indicates that access to the resource is forbidden. Possible reasons include Access Denied, Unauthorized, Expired Token, or Invalid Signature.", + "schema": { + "$ref": "#/definitions/ErrorList" + }, + "headers": { + "x-amzn-RequestId": { + "description": "Unique request reference identifier.", + "type": "string" + } + } + }, + "404": { + "description": "The resource specified does not exist.", + "schema": { + "$ref": "#/definitions/ErrorList" + }, + "headers": { + "x-amzn-RequestId": { + "description": "Unique request reference identifier.", + "type": "string" + }, + "x-amzn-RateLimit-Limit": { + "description": "Your rate limit (requests per second) for this operation.", + "type": "string" + } + } + }, + "413": { + "description": "The request size exceeded the maximum accepted size.", + "schema": { + "$ref": "#/definitions/ErrorList" + }, + "headers": { + "x-amzn-RequestId": { + "description": "Unique request reference identifier.", + "type": "string" + } + } + }, + "415": { + "description": "The request payload is in an unsupported format.", + "schema": { + "$ref": "#/definitions/ErrorList" + }, + "headers": { + "x-amzn-RequestId": { + "description": "Unique request reference identifier.", + "type": "string" + } + } + }, + "429": { + "description": "The frequency of requests was greater than allowed.", + "schema": { + "$ref": "#/definitions/ErrorList" + }, + "headers": { + "x-amzn-RequestId": { + "description": "Unique request reference identifier.", + "type": "string" + } + } + }, + "503": { + "description": "Temporary overloading or maintenance of the server.", + "schema": { + "$ref": "#/definitions/ErrorList" + }, + "headers": { + "x-amzn-RequestId": { + "description": "Unique request reference identifier.", + "type": "string" + } + } + } + }, + "tags": [ + "fbaInbound" + ], + "description": "Provides a list of inbound plans with minimal information.\n\n**Usage Plan:**\n\n| Rate (requests per second) | Burst |\n| ---- | ---- |\n| 1 | 1 |\n\nThe `x-amzn-RateLimit-Limit` response header returns the usage plan rate limits that were applied to the requested operation, when available. The table above indicates the default rate and burst values for this operation. Selling partners whose business demands require higher throughput may see higher rate and burst values than those shown here. For more information, refer to [Usage Plans and Rate Limits in the Selling Partner API](https://developer-docs.amazon.com/sp-api/docs/usage-plans-and-rate-limits-in-the-sp-api).", + "operationId": "listInboundPlans" + }, + "post": { + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "parameters": [ + { + "in": "body", + "name": "body", + "required": true, + "schema": { + "$ref": "#/definitions/CreateInboundPlanRequest" + }, + "description": "The body of the request to `createInboundPlan`." + } + ], + "responses": { + "202": { + "description": "CreateInboundPlan 202 response", + "schema": { + "$ref": "#/definitions/CreateInboundPlanResponse" + }, + "x-amzn-api-sandbox": { + "static": [ + { + "request": { + "parameters": { + "body": { + "value": { + "name": "FBA (03/20/2024, 12:01 PM)", + "contactInformation": { + "email": "email@email.com", + "phoneNumber": "+14161234567" + }, + "sourceAddress": { + "name": "name", + "addressLine1": "123 example street", + "city": "Toronto", + "stateOrProvinceCode": "ON", + "countryCode": "CA", + "postalCode": "M1M1M1" + }, + "destinationMarketplaces": [ + "A2EUQ1WTGCTBG2" + ], + "items": [ + { + "msku": "msku", + "prepOwner": "AMAZON", + "labelOwner": "AMAZON", + "quantity": 2, + "expiration": "2024-01-01", + "manufacturingLotCode": "lotCode" + } + ] + } + } + } + }, + "response": { + "inboundPlanId": "wf1234abcd-1234-abcd-5678-1234abcd5678", + "operationId": "1234abcd-1234-abcd-5678-1234abcd5678" + } + } + ] + }, + "headers": { + "x-amzn-RequestId": { + "description": "Unique request reference identifier.", + "type": "string" + }, + "x-amzn-RateLimit-Limit": { + "description": "Your rate limit (requests per second) for this operation.", + "type": "string" + } + } + }, + "400": { + "description": "Request has missing or invalid parameters and cannot be parsed.", + "schema": { + "$ref": "#/definitions/ErrorList" + }, + "x-amzn-api-sandbox": { + "static": [ + { + "request": { + "parameters": { + "body": { + "value": { + "name": "FBA (03/20/2024, 12:01 PM)", + "contactInformation": { + "email": "email@email.com", + "phoneNumber": "+14161234567" + }, + "sourceAddress": { + "name": "name", + "addressLine1": "123 example street", + "city": "Toronto", + "countryCode": "CA", + "stateOrProvinceCode": "ON", + "postalCode": "M1M1M1" + }, + "destinationMarketplaces": [ + "badMarketplace" + ], + "items": [ + { + "msku": "msku", + "prepOwner": "AMAZON", + "labelOwner": "AMAZON", + "quantity": 2, + "expiration": "2024-01-01", + "manufacturingLotCode": "lotCode" + } + ] + } + } + } + }, + "response": { + "errors": [ + { + "code": "BadRequest", + "message": "Invalid destinationMarketplace provided." + } + ] + } + } + ] + }, + "headers": { + "x-amzn-RequestId": { + "description": "Unique request reference identifier.", + "type": "string" + }, + "x-amzn-RateLimit-Limit": { + "description": "Your rate limit (requests per second) for this operation.", + "type": "string" + } + } + }, + "500": { + "description": "An unexpected condition occurred that prevented the server from fulfilling the request.", + "schema": { + "$ref": "#/definitions/ErrorList" + }, + "headers": { + "x-amzn-RequestId": { + "description": "Unique request reference identifier.", + "type": "string" + } + } + }, + "403": { + "description": "Indicates that access to the resource is forbidden. Possible reasons include Access Denied, Unauthorized, Expired Token, or Invalid Signature.", + "schema": { + "$ref": "#/definitions/ErrorList" + }, + "headers": { + "x-amzn-RequestId": { + "description": "Unique request reference identifier.", + "type": "string" + } + } + }, + "404": { + "description": "The resource specified does not exist.", + "schema": { + "$ref": "#/definitions/ErrorList" + }, + "headers": { + "x-amzn-RequestId": { + "description": "Unique request reference identifier.", + "type": "string" + }, + "x-amzn-RateLimit-Limit": { + "description": "Your rate limit (requests per second) for this operation.", + "type": "string" + } + } + }, + "413": { + "description": "The request size exceeded the maximum accepted size.", + "schema": { + "$ref": "#/definitions/ErrorList" + }, + "headers": { + "x-amzn-RequestId": { + "description": "Unique request reference identifier.", + "type": "string" + } + } + }, + "415": { + "description": "The request payload is in an unsupported format.", + "schema": { + "$ref": "#/definitions/ErrorList" + }, + "headers": { + "x-amzn-RequestId": { + "description": "Unique request reference identifier.", + "type": "string" + } + } + }, + "429": { + "description": "The frequency of requests was greater than allowed.", + "schema": { + "$ref": "#/definitions/ErrorList" + }, + "headers": { + "x-amzn-RequestId": { + "description": "Unique request reference identifier.", + "type": "string" + } + } + }, + "503": { + "description": "Temporary overloading or maintenance of the server.", + "schema": { + "$ref": "#/definitions/ErrorList" + }, + "headers": { + "x-amzn-RequestId": { + "description": "Unique request reference identifier.", + "type": "string" + } + } + } + }, + "tags": [ + "fbaInbound" + ], + "description": "Creates an inbound plan. An inbound plan contains all the necessary information to send shipments into Amazon's fufillment network.\n\n**Usage Plan:**\n\n| Rate (requests per second) | Burst |\n| ---- | ---- |\n| 0.05 | 1 |\n\nThe `x-amzn-RateLimit-Limit` response header returns the usage plan rate limits that were applied to the requested operation, when available. The table above indicates the default rate and burst values for this operation. Selling partners whose business demands require higher throughput may see higher rate and burst values than those shown here. For more information, refer to [Usage Plans and Rate Limits in the Selling Partner API](https://developer-docs.amazon.com/sp-api/docs/usage-plans-and-rate-limits-in-the-sp-api).", + "operationId": "createInboundPlan" + } + }, + "/inbound/fba/2024-03-20/inboundPlans/{inboundPlanId}": { + "get": { + "produces": [ + "application/json" + ], + "parameters": [ + { + "description": "Identifier to an inbound plan.", + "in": "path", + "maxLength": 38, + "minLength": 38, + "name": "inboundPlanId", + "pattern": "^[a-zA-Z0-9-]*$", + "required": true, + "type": "string" + } + ], + "responses": { + "200": { + "description": "GetInboundPlan 200 response", + "schema": { + "$ref": "#/definitions/InboundPlan" + }, + "x-amzn-api-sandbox": { + "static": [ + { + "request": { + "parameters": { + "inboundPlanId": { + "value": "wf1234abcd-1234-abcd-5678-1234abcd5678" + } + } + }, + "response": { + "inboundPlanId": "wf1234abcd-1234-abcd-5678-1234abcd5678", + "name": "FBA (03/20/2024, 12:01 PM)", + "createdAt": "2024-03-20T12:01:00Z", + "lastUpdatedAt": "2024-03-28T13:15:30Z", + "status": "ACTIVE", + "marketplaceIds": [ + "A2EUQ1WTGCTBG2" + ], + "packingOptions": [], + "placementOptions": [], + "shipments": [], + "sourceAddress": { + "name": "name", + "addressLine1": "123 example street", + "addressLine2": "Floor 19", + "city": "Toronto", + "stateOrProvinceCode": "ON", + "countryCode": "CA", + "postalCode": "M1M1M1", + "companyName": "Acme" + }, + "contactInformation": { + "email": "email@email.com", + "phoneNumber": "1234567890" + } + } + } + ] + }, + "headers": { + "x-amzn-RequestId": { + "description": "Unique request reference identifier.", + "type": "string" + }, + "x-amzn-RateLimit-Limit": { + "description": "Your rate limit (requests per second) for this operation.", + "type": "string" + } + } + }, + "400": { + "description": "Request has missing or invalid parameters and cannot be parsed.", + "schema": { + "$ref": "#/definitions/ErrorList" + }, + "x-amzn-api-sandbox": { + "static": [ + { + "request": { + "parameters": { + "inboundPlanId": { + "value": "wfbad4abcd-1234-abcd-5678-1234abcd5678" + } + } + }, + "response": { + "errors": [ + { + "code": "BadRequest", + "message": "The inboundPlanId is malformed." + } + ] + } + } + ] + }, + "headers": { + "x-amzn-RequestId": { + "description": "Unique request reference identifier.", + "type": "string" + }, + "x-amzn-RateLimit-Limit": { + "description": "Your rate limit (requests per second) for this operation.", + "type": "string" + } + } + }, + "500": { + "description": "An unexpected condition occurred that prevented the server from fulfilling the request.", + "schema": { + "$ref": "#/definitions/ErrorList" + }, + "headers": { + "x-amzn-RequestId": { + "description": "Unique request reference identifier.", + "type": "string" + } + } + }, + "403": { + "description": "Indicates that access to the resource is forbidden. Possible reasons include Access Denied, Unauthorized, Expired Token, or Invalid Signature.", + "schema": { + "$ref": "#/definitions/ErrorList" + }, + "headers": { + "x-amzn-RequestId": { + "description": "Unique request reference identifier.", + "type": "string" + } + } + }, + "404": { + "description": "The resource specified does not exist.", + "schema": { + "$ref": "#/definitions/ErrorList" + }, + "headers": { + "x-amzn-RequestId": { + "description": "Unique request reference identifier.", + "type": "string" + }, + "x-amzn-RateLimit-Limit": { + "description": "Your rate limit (requests per second) for this operation.", + "type": "string" + } + } + }, + "413": { + "description": "The request size exceeded the maximum accepted size.", + "schema": { + "$ref": "#/definitions/ErrorList" + }, + "headers": { + "x-amzn-RequestId": { + "description": "Unique request reference identifier.", + "type": "string" + } + } + }, + "415": { + "description": "The request payload is in an unsupported format.", + "schema": { + "$ref": "#/definitions/ErrorList" + }, + "headers": { + "x-amzn-RequestId": { + "description": "Unique request reference identifier.", + "type": "string" + } + } + }, + "429": { + "description": "The frequency of requests was greater than allowed.", + "schema": { + "$ref": "#/definitions/ErrorList" + }, + "headers": { + "x-amzn-RequestId": { + "description": "Unique request reference identifier.", + "type": "string" + } + } + }, + "503": { + "description": "Temporary overloading or maintenance of the server.", + "schema": { + "$ref": "#/definitions/ErrorList" + }, + "headers": { + "x-amzn-RequestId": { + "description": "Unique request reference identifier.", + "type": "string" + } + } + } + }, + "tags": [ + "fbaInbound" + ], + "description": "Fetches the top level information about an inbound plan.\n\n**Usage Plan:**\n\n| Rate (requests per second) | Burst |\n| ---- | ---- |\n| 1 | 1 |\n\nThe `x-amzn-RateLimit-Limit` response header returns the usage plan rate limits that were applied to the requested operation, when available. The table above indicates the default rate and burst values for this operation. Selling partners whose business demands require higher throughput may see higher rate and burst values than those shown here. For more information, refer to [Usage Plans and Rate Limits in the Selling Partner API](https://developer-docs.amazon.com/sp-api/docs/usage-plans-and-rate-limits-in-the-sp-api).", + "operationId": "getInboundPlan" + } + }, + "/inbound/fba/2024-03-20/inboundPlans/{inboundPlanId}/boxes": { + "get": { + "produces": [ + "application/json" + ], + "parameters": [ + { + "description": "Identifier to an inbound plan.", + "in": "path", + "maxLength": 38, + "minLength": 38, + "name": "inboundPlanId", + "pattern": "^[a-zA-Z0-9-]*$", + "required": true, + "type": "string" + }, + { + "description": "The number of boxes to return in the response matching the given query.", + "in": "query", + "maximum": 1000, + "minimum": 1, + "name": "pageSize", + "type": "integer", + "default": 10 + }, + { + "description": "A token to fetch a certain page when there are multiple pages worth of results. The value of this token is fetched from the `pagination` returned in the API response. In the absence of the token value from the query parameter the API returns the first page of the result.", + "in": "query", + "maxLength": 1024, + "minLength": 0, + "name": "paginationToken", + "type": "string" + } + ], + "responses": { + "200": { + "description": "ListInboundPlanBoxes 200 response", + "schema": { + "$ref": "#/definitions/ListInboundPlanBoxesResponse" + }, + "x-amzn-api-sandbox": { + "static": [ + { + "request": { + "parameters": { + "inboundPlanId": { + "value": "wf1234abcd-1234-abcd-5678-1234abcd5678" + }, + "pageSize": { + "value": 2 + }, + "paginationToken": { + "value": "paginationToken" + } + } + }, + "response": { + "boxes": [ + { + "packageId": "pk1234abcd-1234-abcd-5678-1234abcd5678", + "weight": { + "unit": "KG", + "value": 5.5 + }, + "dimensions": { + "unitOfMeasurement": "CM", + "length": 3.0, + "width": 4.0, + "height": 5.0 + }, + "quantity": 2, + "boxId": "boxId", + "templateName": "templateName", + "items": [ + { + "quantity": 5, + "expiration": "2024-01-01", + "manufacturingLotCode": "manufacturingLotCode", + "prepInstructions": [ + { + "prepType": "ITEM_POLYBAGGING", + "prepOwner": "AMAZON", + "fee": { + "code": "USD", + "amount": 10.0 + } + } + ], + "msku": "msku", + "asin": "asin", + "fnsku": "fnsku", + "labelOwner": "AMAZON" + } + ], + "destinationRegion": { + "countryCode": "US", + "state": "CA", + "warehouseId": "ABC1" + } + } + ], + "pagination": { + "nextToken": "nextPaginationToken" + } + } + } + ] + }, + "headers": { + "x-amzn-RequestId": { + "description": "Unique request reference identifier.", + "type": "string" + }, + "x-amzn-RateLimit-Limit": { + "description": "Your rate limit (requests per second) for this operation.", + "type": "string" + } + } + }, + "400": { + "description": "Request has missing or invalid parameters and cannot be parsed.", + "schema": { + "$ref": "#/definitions/ErrorList" + }, + "x-amzn-api-sandbox": { + "static": [ + { + "request": { + "parameters": { + "inboundPlanId": { + "value": "bad234abcd-1234-abcd-5678-1234abcd5678" + }, + "pageSize": { + "value": 2 + }, + "paginationToken": { + "value": "paginationToken" + } + } + }, + "response": { + "errors": [ + { + "code": "BadRequest", + "message": "The requested inboundPlanId does not exist." + } + ] + } + } + ] + }, + "headers": { + "x-amzn-RequestId": { + "description": "Unique request reference identifier.", + "type": "string" + }, + "x-amzn-RateLimit-Limit": { + "description": "Your rate limit (requests per second) for this operation.", + "type": "string" + } + } + }, + "500": { + "description": "An unexpected condition occurred that prevented the server from fulfilling the request.", + "schema": { + "$ref": "#/definitions/ErrorList" + }, + "headers": { + "x-amzn-RequestId": { + "description": "Unique request reference identifier.", + "type": "string" + } + } + }, + "403": { + "description": "Indicates that access to the resource is forbidden. Possible reasons include Access Denied, Unauthorized, Expired Token, or Invalid Signature.", + "schema": { + "$ref": "#/definitions/ErrorList" + }, + "headers": { + "x-amzn-RequestId": { + "description": "Unique request reference identifier.", + "type": "string" + } + } + }, + "404": { + "description": "The resource specified does not exist.", + "schema": { + "$ref": "#/definitions/ErrorList" + }, + "headers": { + "x-amzn-RequestId": { + "description": "Unique request reference identifier.", + "type": "string" + }, + "x-amzn-RateLimit-Limit": { + "description": "Your rate limit (requests per second) for this operation.", + "type": "string" + } + } + }, + "413": { + "description": "The request size exceeded the maximum accepted size.", + "schema": { + "$ref": "#/definitions/ErrorList" + }, + "headers": { + "x-amzn-RequestId": { + "description": "Unique request reference identifier.", + "type": "string" + } + } + }, + "415": { + "description": "The request payload is in an unsupported format.", + "schema": { + "$ref": "#/definitions/ErrorList" + }, + "headers": { + "x-amzn-RequestId": { + "description": "Unique request reference identifier.", + "type": "string" + } + } + }, + "429": { + "description": "The frequency of requests was greater than allowed.", + "schema": { + "$ref": "#/definitions/ErrorList" + }, + "headers": { + "x-amzn-RequestId": { + "description": "Unique request reference identifier.", + "type": "string" + } + } + }, + "503": { + "description": "Temporary overloading or maintenance of the server.", + "schema": { + "$ref": "#/definitions/ErrorList" + }, + "headers": { + "x-amzn-RequestId": { + "description": "Unique request reference identifier.", + "type": "string" + } + } + } + }, + "tags": [ + "fbaInbound" + ], + "description": "Provides a paginated list of box packages in an inbound plan.\n\n**Usage Plan:**\n\n| Rate (requests per second) | Burst |\n| ---- | ---- |\n| 1 | 1 |\n\nThe `x-amzn-RateLimit-Limit` response header returns the usage plan rate limits that were applied to the requested operation, when available. The table above indicates the default rate and burst values for this operation. Selling partners whose business demands require higher throughput may see higher rate and burst values than those shown here. For more information, refer to [Usage Plans and Rate Limits in the Selling Partner API](https://developer-docs.amazon.com/sp-api/docs/usage-plans-and-rate-limits-in-the-sp-api).", + "operationId": "listInboundPlanBoxes" + } + }, + "/inbound/fba/2024-03-20/inboundPlans/{inboundPlanId}/cancellation": { + "put": { + "produces": [ + "application/json" + ], + "parameters": [ + { + "description": "Identifier to an inbound plan.", + "in": "path", + "maxLength": 38, + "minLength": 38, + "name": "inboundPlanId", + "pattern": "^[a-zA-Z0-9-]*$", + "required": true, + "type": "string" + } + ], + "responses": { + "202": { + "description": "CancelInboundPlan 202 response", + "schema": { + "$ref": "#/definitions/CancelInboundPlanResponse" + }, + "x-amzn-api-sandbox": { + "static": [ + { + "request": { + "parameters": { + "inboundPlanId": { + "value": "wf1234abcd-1234-abcd-5678-1234abcd5678" + } + } + }, + "response": { + "operationId": "1234abcd-1234-abcd-5678-1234abcd5678" + } + } + ] + }, + "headers": { + "x-amzn-RequestId": { + "description": "Unique request reference identifier.", + "type": "string" + }, + "x-amzn-RateLimit-Limit": { + "description": "Your rate limit (requests per second) for this operation.", + "type": "string" + } + } + }, + "400": { + "description": "Request has missing or invalid parameters and cannot be parsed.", + "schema": { + "$ref": "#/definitions/ErrorList" + }, + "x-amzn-api-sandbox": { + "static": [ + { + "request": { + "parameters": { + "inboundPlanId": { + "value": "wfbad4abcd-1234-abcd-5678-1234abcd5678" + } + } + }, + "response": { + "errors": [ + { + "code": "BadRequest", + "message": "The inbound plan is already cancelled." + } + ] + } + } + ] + }, + "headers": { + "x-amzn-RequestId": { + "description": "Unique request reference identifier.", + "type": "string" + }, + "x-amzn-RateLimit-Limit": { + "description": "Your rate limit (requests per second) for this operation.", + "type": "string" + } + } + }, + "500": { + "description": "An unexpected condition occurred that prevented the server from fulfilling the request.", + "schema": { + "$ref": "#/definitions/ErrorList" + }, + "headers": { + "x-amzn-RequestId": { + "description": "Unique request reference identifier.", + "type": "string" + } + } + }, + "403": { + "description": "Indicates that access to the resource is forbidden. Possible reasons include Access Denied, Unauthorized, Expired Token, or Invalid Signature.", + "schema": { + "$ref": "#/definitions/ErrorList" + }, + "headers": { + "x-amzn-RequestId": { + "description": "Unique request reference identifier.", + "type": "string" + } + } + }, + "404": { + "description": "The resource specified does not exist.", + "schema": { + "$ref": "#/definitions/ErrorList" + }, + "headers": { + "x-amzn-RequestId": { + "description": "Unique request reference identifier.", + "type": "string" + }, + "x-amzn-RateLimit-Limit": { + "description": "Your rate limit (requests per second) for this operation.", + "type": "string" + } + } + }, + "413": { + "description": "The request size exceeded the maximum accepted size.", + "schema": { + "$ref": "#/definitions/ErrorList" + }, + "headers": { + "x-amzn-RequestId": { + "description": "Unique request reference identifier.", + "type": "string" + } + } + }, + "415": { + "description": "The request payload is in an unsupported format.", + "schema": { + "$ref": "#/definitions/ErrorList" + }, + "headers": { + "x-amzn-RequestId": { + "description": "Unique request reference identifier.", + "type": "string" + } + } + }, + "429": { + "description": "The frequency of requests was greater than allowed.", + "schema": { + "$ref": "#/definitions/ErrorList" + }, + "headers": { + "x-amzn-RequestId": { + "description": "Unique request reference identifier.", + "type": "string" + } + } + }, + "503": { + "description": "Temporary overloading or maintenance of the server.", + "schema": { + "$ref": "#/definitions/ErrorList" + }, + "headers": { + "x-amzn-RequestId": { + "description": "Unique request reference identifier.", + "type": "string" + } + } + } + }, + "tags": [ + "fbaInbound" + ], + "description": "Cancels an Inbound Plan. Charges may apply if the cancellation is performed outside of a void window. The window\n for Amazon Partnered Carriers is 24 hours for Small Parcel Delivery (SPD) and one hour for Less-Than-Truckload (LTL) carrier shipments.\n\n**Usage Plan:**\n\n| Rate (requests per second) | Burst |\n| ---- | ---- |\n| 0.05 | 1 |\n\nThe `x-amzn-RateLimit-Limit` response header returns the usage plan rate limits that were applied to the requested operation, when available. The table above indicates the default rate and burst values for this operation. Selling partners whose business demands require higher throughput may see higher rate and burst values than those shown here. For more information, refer to [Usage Plans and Rate Limits in the Selling Partner API](https://developer-docs.amazon.com/sp-api/docs/usage-plans-and-rate-limits-in-the-sp-api).", + "operationId": "cancelInboundPlan" + } + }, + "/inbound/fba/2024-03-20/inboundPlans/{inboundPlanId}/items": { + "get": { + "produces": [ + "application/json" + ], + "parameters": [ + { + "description": "Identifier to an inbound plan.", + "in": "path", + "maxLength": 38, + "minLength": 38, + "name": "inboundPlanId", + "pattern": "^[a-zA-Z0-9-]*$", + "required": true, + "type": "string" + }, + { + "description": "The number of items to return in the response matching the given query.", + "in": "query", + "maximum": 1000, + "minimum": 1, + "name": "pageSize", + "type": "integer", + "default": 10 + }, + { + "description": "A token to fetch a certain page when there are multiple pages worth of results. The value of this token is fetched from the `pagination` returned in the API response. In the absence of the token value from the query parameter the API returns the first page of the result.", + "in": "query", + "maxLength": 1024, + "minLength": 0, + "name": "paginationToken", + "type": "string" + } + ], + "responses": { + "200": { + "description": "ListInboundPlanItems 200 response", + "schema": { + "$ref": "#/definitions/ListInboundPlanItemsResponse" + }, + "x-amzn-api-sandbox": { + "static": [ + { + "request": { + "parameters": { + "inboundPlanId": { + "value": "wf1234abcd-1234-abcd-5678-1234abcd5678" + }, + "pageSize": { + "value": 2 + }, + "paginationToken": { + "value": "paginationToken" + } + } + }, + "response": { + "items": [ + { + "quantity": 5, + "expiration": "2024-01-01", + "manufacturingLotCode": "manufacturingLotCode", + "prepInstructions": [ + { + "prepType": "ITEM_POLYBAGGING", + "prepOwner": "AMAZON", + "fee": { + "code": "USD", + "amount": 10.0 + } + } + ], + "msku": "msku", + "asin": "asin", + "fnsku": "fnsku", + "labelOwner": "AMAZON" + } + ], + "pagination": { + "nextToken": "nextPaginationToken" + } + } + } + ] + }, + "headers": { + "x-amzn-RequestId": { + "description": "Unique request reference identifier.", + "type": "string" + }, + "x-amzn-RateLimit-Limit": { + "description": "Your rate limit (requests per second) for this operation.", + "type": "string" + } + } + }, + "400": { + "description": "Request has missing or invalid parameters and cannot be parsed.", + "schema": { + "$ref": "#/definitions/ErrorList" + }, + "x-amzn-api-sandbox": { + "static": [ + { + "request": { + "parameters": { + "inboundPlanId": { + "value": "wfbad4abcd-1234-abcd-5678-1234abcd5678" + }, + "pageSize": { + "value": 1 + }, + "paginationToken": { + "value": "" + } + } + }, + "response": { + "errors": [ + { + "code": "BadRequest", + "message": "The requested inbound plan does not exist." + } + ] + } + } + ] + }, + "headers": { + "x-amzn-RequestId": { + "description": "Unique request reference identifier.", + "type": "string" + }, + "x-amzn-RateLimit-Limit": { + "description": "Your rate limit (requests per second) for this operation.", + "type": "string" + } + } + }, + "500": { + "description": "An unexpected condition occurred that prevented the server from fulfilling the request.", + "schema": { + "$ref": "#/definitions/ErrorList" + }, + "headers": { + "x-amzn-RequestId": { + "description": "Unique request reference identifier.", + "type": "string" + } + } + }, + "403": { + "description": "Indicates that access to the resource is forbidden. Possible reasons include Access Denied, Unauthorized, Expired Token, or Invalid Signature.", + "schema": { + "$ref": "#/definitions/ErrorList" + }, + "headers": { + "x-amzn-RequestId": { + "description": "Unique request reference identifier.", + "type": "string" + } + } + }, + "404": { + "description": "The resource specified does not exist.", + "schema": { + "$ref": "#/definitions/ErrorList" + }, + "headers": { + "x-amzn-RequestId": { + "description": "Unique request reference identifier.", + "type": "string" + }, + "x-amzn-RateLimit-Limit": { + "description": "Your rate limit (requests per second) for this operation.", + "type": "string" + } + } + }, + "413": { + "description": "The request size exceeded the maximum accepted size.", + "schema": { + "$ref": "#/definitions/ErrorList" + }, + "headers": { + "x-amzn-RequestId": { + "description": "Unique request reference identifier.", + "type": "string" + } + } + }, + "415": { + "description": "The request payload is in an unsupported format.", + "schema": { + "$ref": "#/definitions/ErrorList" + }, + "headers": { + "x-amzn-RequestId": { + "description": "Unique request reference identifier.", + "type": "string" + } + } + }, + "429": { + "description": "The frequency of requests was greater than allowed.", + "schema": { + "$ref": "#/definitions/ErrorList" + }, + "headers": { + "x-amzn-RequestId": { + "description": "Unique request reference identifier.", + "type": "string" + } + } + }, + "503": { + "description": "Temporary overloading or maintenance of the server.", + "schema": { + "$ref": "#/definitions/ErrorList" + }, + "headers": { + "x-amzn-RequestId": { + "description": "Unique request reference identifier.", + "type": "string" + } + } + } + }, + "tags": [ + "fbaInbound" + ], + "description": "Provides a paginated list of item packages in an inbound plan.\n\n**Usage Plan:**\n\n| Rate (requests per second) | Burst |\n| ---- | ---- |\n| 1 | 1 |\n\nThe `x-amzn-RateLimit-Limit` response header returns the usage plan rate limits that were applied to the requested operation, when available. The table above indicates the default rate and burst values for this operation. Selling partners whose business demands require higher throughput may see higher rate and burst values than those shown here. For more information, refer to [Usage Plans and Rate Limits in the Selling Partner API](https://developer-docs.amazon.com/sp-api/docs/usage-plans-and-rate-limits-in-the-sp-api).", + "operationId": "listInboundPlanItems" + } + }, + "/inbound/fba/2024-03-20/inboundPlans/{inboundPlanId}/packingInformation": { + "post": { + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "parameters": [ + { + "description": "Identifier to an inbound plan.", + "in": "path", + "maxLength": 38, + "minLength": 38, + "name": "inboundPlanId", + "pattern": "^[a-zA-Z0-9-]*$", + "required": true, + "type": "string" + }, + { + "in": "body", + "name": "body", + "required": true, + "schema": { + "$ref": "#/definitions/SetPackingInformationRequest" + }, + "description": "The body of the request to `setPackingInformation`." + } + ], + "responses": { + "202": { + "description": "SetPackingInformation 202 response", + "schema": { + "$ref": "#/definitions/SetPackingInformationResponse" + }, + "x-amzn-api-sandbox": { + "static": [ + { + "request": { + "parameters": { + "inboundPlanId": { + "value": "wf1234abcd-1234-abcd-5678-1234abcd5678" + }, + "body": { + "value": { + "packageGroupings": [ + { + "shipmentId": "sh1234abcd-1234-abcd-5678-1234abcd5678", + "packingGroupId": "pg1234abcd-1234-abcd-5678-1234abcd5678", + "boxes": [ + { + "boxId": "boxId", + "templateName": "templateName", + "contents": [ + { + "msku": "msku", + "quantityInBox": 5, + "expiration": "2024-01-01", + "prepOwner": "AMAZON", + "labelOwner": "AMAZON", + "manufacturingLotCode": "manufacturingLotCode" + } + ], + "contentInformationSource": "BOX_CONTENT_PROVIDED", + "weight": { + "unit": "KG", + "value": 5.5 + }, + "dimensions": { + "unitOfMeasurement": "CM", + "length": 3.0, + "width": 4.0, + "height": 5.0 + }, + "quantity": 2 + } + ] + } + ] + } + } + } + }, + "response": { + "operationId": "1234abcd-1234-abcd-5678-1234abcd5678" + } + } + ] + }, + "headers": { + "x-amzn-RequestId": { + "description": "Unique request reference identifier.", + "type": "string" + }, + "x-amzn-RateLimit-Limit": { + "description": "Your rate limit (requests per second) for this operation.", + "type": "string" + } + } + }, + "400": { + "description": "Request has missing or invalid parameters and cannot be parsed.", + "schema": { + "$ref": "#/definitions/ErrorList" + }, + "x-amzn-api-sandbox": { + "static": [ + { + "request": { + "parameters": { + "inboundPlanId": { + "value": "bad234abcd-1234-abcd-5678-1234abcd5678" + }, + "body": { + "value": { + "packageGroupings": [ + { + "shipmentId": "sh1234abcd-1234-abcd-5678-1234abcd5678", + "packingGroupId": "bad234abcd-1234-abcd-5678-1234abcd5678", + "boxes": [ + { + "boxId": "boxId", + "templateName": "templateName", + "contents": [ + { + "msku": "msku", + "quantityInBox": 5, + "expiration": "2024-01-01", + "prepOwner": "AMAZON", + "labelOwner": "AMAZON", + "manufacturingLotCode": "manufacturingLotCode" + } + ], + "contentInformationSource": "BOX_CONTENT_PROVIDED", + "weight": { + "unit": "KG", + "value": 5.5 + }, + "dimensions": { + "unitOfMeasurement": "CM", + "length": 3.0, + "width": 4.0, + "height": 5.0 + }, + "quantity": 2 + } + ] + } + ] + } + } + } + }, + "response": { + "errors": [ + { + "code": "BadRequest", + "message": "The requested packingGroupId does not exist for the specified inbound plan." + } + ] + } + } + ] + }, + "headers": { + "x-amzn-RequestId": { + "description": "Unique request reference identifier.", + "type": "string" + }, + "x-amzn-RateLimit-Limit": { + "description": "Your rate limit (requests per second) for this operation.", + "type": "string" + } + } + }, + "500": { + "description": "An unexpected condition occurred that prevented the server from fulfilling the request.", + "schema": { + "$ref": "#/definitions/ErrorList" + }, + "headers": { + "x-amzn-RequestId": { + "description": "Unique request reference identifier.", + "type": "string" + } + } + }, + "403": { + "description": "Indicates that access to the resource is forbidden. Possible reasons include Access Denied, Unauthorized, Expired Token, or Invalid Signature.", + "schema": { + "$ref": "#/definitions/ErrorList" + }, + "headers": { + "x-amzn-RequestId": { + "description": "Unique request reference identifier.", + "type": "string" + } + } + }, + "404": { + "description": "The resource specified does not exist.", + "schema": { + "$ref": "#/definitions/ErrorList" + }, + "headers": { + "x-amzn-RequestId": { + "description": "Unique request reference identifier.", + "type": "string" + }, + "x-amzn-RateLimit-Limit": { + "description": "Your rate limit (requests per second) for this operation.", + "type": "string" + } + } + }, + "413": { + "description": "The request size exceeded the maximum accepted size.", + "schema": { + "$ref": "#/definitions/ErrorList" + }, + "headers": { + "x-amzn-RequestId": { + "description": "Unique request reference identifier.", + "type": "string" + } + } + }, + "415": { + "description": "The request payload is in an unsupported format.", + "schema": { + "$ref": "#/definitions/ErrorList" + }, + "headers": { + "x-amzn-RequestId": { + "description": "Unique request reference identifier.", + "type": "string" + } + } + }, + "429": { + "description": "The frequency of requests was greater than allowed.", + "schema": { + "$ref": "#/definitions/ErrorList" + }, + "headers": { + "x-amzn-RequestId": { + "description": "Unique request reference identifier.", + "type": "string" + } + } + }, + "503": { + "description": "Temporary overloading or maintenance of the server.", + "schema": { + "$ref": "#/definitions/ErrorList" + }, + "headers": { + "x-amzn-RequestId": { + "description": "Unique request reference identifier.", + "type": "string" + } + } + } + }, + "tags": [ + "fbaInbound" + ], + "description": "Sets packing information for an inbound plan. This should be called after an inbound plan is created to populate\n the box level information required for planning and transportation estimates.\n\n**Usage Plan:**\n\n| Rate (requests per second) | Burst |\n| ---- | ---- |\n| 0.05 | 1 |\n\nThe `x-amzn-RateLimit-Limit` response header returns the usage plan rate limits that were applied to the requested operation, when available. The table above indicates the default rate and burst values for this operation. Selling partners whose business demands require higher throughput may see higher rate and burst values than those shown here. For more information, refer to [Usage Plans and Rate Limits in the Selling Partner API](https://developer-docs.amazon.com/sp-api/docs/usage-plans-and-rate-limits-in-the-sp-api).", + "operationId": "setPackingInformation" + } + }, + "/inbound/fba/2024-03-20/inboundPlans/{inboundPlanId}/packingOptions": { + "get": { + "produces": [ + "application/json" + ], + "parameters": [ + { + "description": "Identifier to an inbound plan.", + "in": "path", + "maxLength": 38, + "minLength": 38, + "name": "inboundPlanId", + "pattern": "^[a-zA-Z0-9-]*$", + "required": true, + "type": "string" + }, + { + "description": "The number of packing options to return in the response matching the given query.", + "in": "query", + "maximum": 20, + "minimum": 1, + "name": "pageSize", + "type": "integer", + "default": 10 + }, + { + "description": "A token to fetch a certain page when there are multiple pages worth of results. The value of this token is fetched from the `pagination` returned in the API response. In the absence of the token value from the query parameter the API returns the first page of the result.", + "in": "query", + "maxLength": 1024, + "minLength": 0, + "name": "paginationToken", + "type": "string" + } + ], + "responses": { + "200": { + "description": "ListPackingOptions 200 response", + "schema": { + "$ref": "#/definitions/ListPackingOptionsResponse" + }, + "x-amzn-api-sandbox": { + "static": [ + { + "request": { + "parameters": { + "inboundPlanId": { + "value": "wf1234abcd-1234-abcd-5678-1234abcd5678" + }, + "pageSize": { + "value": 2 + }, + "paginationToken": { + "value": "paginationToken" + } + } + }, + "response": { + "packingOptions": [ + { + "inboundPlanId": "wf1234abcd-1234-abcd-5678-1234abcd5678", + "packingOptionId": "po1234abcd-1234-abcd-5678-1234abcd5678", + "packingGroups": [ + "pg1234abcd-1234-abcd-5678-1234abcd5678" + ], + "fees": [ + { + "value": { + "code": "USD", + "amount": 1.0 + }, + "type": "FEE", + "target": "Placement Services", + "description": "description" + } + ], + "discounts": [ + { + "value": { + "code": "USD", + "amount": 1.0 + }, + "type": "DISCOUNT", + "target": "Placement Services", + "description": "description" + } + ], + "expiration": "2024-01-01T00:00:00.000Z", + "status": "OFFERED", + "supportedShippingConfigurations": [ + { + "shippingSolution": "AMAZON_PARTNERED_CARRIER", + "shippingMode": "GROUND_SMALL_PARCEL" + } + ] + } + ], + "pagination": { + "nextToken": "nextPaginationToken" + } + } + } + ] + }, + "headers": { + "x-amzn-RequestId": { + "description": "Unique request reference identifier.", + "type": "string" + }, + "x-amzn-RateLimit-Limit": { + "description": "Your rate limit (requests per second) for this operation.", + "type": "string" + } + } + }, + "400": { + "description": "Request has missing or invalid parameters and cannot be parsed.", + "schema": { + "$ref": "#/definitions/ErrorList" + }, + "x-amzn-api-sandbox": { + "static": [ + { + "request": { + "parameters": { + "inboundPlanId": { + "value": "bad234abcd-1234-abcd-5678-1234abcd5678" + }, + "pageSize": { + "value": 2 + }, + "paginationToken": { + "value": "paginationToken" + } + } + }, + "response": { + "errors": [ + { + "code": "BadRequest", + "message": "The requested inbound plan does not exist." + } + ] + } + } + ] + }, + "headers": { + "x-amzn-RequestId": { + "description": "Unique request reference identifier.", + "type": "string" + }, + "x-amzn-RateLimit-Limit": { + "description": "Your rate limit (requests per second) for this operation.", + "type": "string" + } + } + }, + "500": { + "description": "An unexpected condition occurred that prevented the server from fulfilling the request.", + "schema": { + "$ref": "#/definitions/ErrorList" + }, + "headers": { + "x-amzn-RequestId": { + "description": "Unique request reference identifier.", + "type": "string" + } + } + }, + "403": { + "description": "Indicates that access to the resource is forbidden. Possible reasons include Access Denied, Unauthorized, Expired Token, or Invalid Signature.", + "schema": { + "$ref": "#/definitions/ErrorList" + }, + "headers": { + "x-amzn-RequestId": { + "description": "Unique request reference identifier.", + "type": "string" + } + } + }, + "404": { + "description": "The resource specified does not exist.", + "schema": { + "$ref": "#/definitions/ErrorList" + }, + "headers": { + "x-amzn-RequestId": { + "description": "Unique request reference identifier.", + "type": "string" + }, + "x-amzn-RateLimit-Limit": { + "description": "Your rate limit (requests per second) for this operation.", + "type": "string" + } + } + }, + "413": { + "description": "The request size exceeded the maximum accepted size.", + "schema": { + "$ref": "#/definitions/ErrorList" + }, + "headers": { + "x-amzn-RequestId": { + "description": "Unique request reference identifier.", + "type": "string" + } + } + }, + "415": { + "description": "The request payload is in an unsupported format.", + "schema": { + "$ref": "#/definitions/ErrorList" + }, + "headers": { + "x-amzn-RequestId": { + "description": "Unique request reference identifier.", + "type": "string" + } + } + }, + "429": { + "description": "The frequency of requests was greater than allowed.", + "schema": { + "$ref": "#/definitions/ErrorList" + }, + "headers": { + "x-amzn-RequestId": { + "description": "Unique request reference identifier.", + "type": "string" + } + } + }, + "503": { + "description": "Temporary overloading or maintenance of the server.", + "schema": { + "$ref": "#/definitions/ErrorList" + }, + "headers": { + "x-amzn-RequestId": { + "description": "Unique request reference identifier.", + "type": "string" + } + } + } + }, + "tags": [ + "fbaInbound" + ], + "description": "Retrieves a list of all packing options for an inbound plan. Packing options must first be generated by the corresponding endpoint before becoming available.\n\n**Usage Plan:**\n\n| Rate (requests per second) | Burst |\n| ---- | ---- |\n| 1 | 1 |\n\nThe `x-amzn-RateLimit-Limit` response header returns the usage plan rate limits that were applied to the requested operation, when available. The table above indicates the default rate and burst values for this operation. Selling partners whose business demands require higher throughput may see higher rate and burst values than those shown here. For more information, refer to [Usage Plans and Rate Limits in the Selling Partner API](https://developer-docs.amazon.com/sp-api/docs/usage-plans-and-rate-limits-in-the-sp-api).", + "operationId": "listPackingOptions" + }, + "post": { + "produces": [ + "application/json" + ], + "parameters": [ + { + "description": "Identifier to an inbound plan.", + "in": "path", + "maxLength": 38, + "minLength": 38, + "name": "inboundPlanId", + "pattern": "^[a-zA-Z0-9-]*$", + "required": true, + "type": "string" + } + ], + "responses": { + "202": { + "description": "GeneratePackingOptions 202 response", + "schema": { + "$ref": "#/definitions/GeneratePackingOptionsResponse" + }, + "x-amzn-api-sandbox": { + "static": [ + { + "request": { + "parameters": { + "inboundPlanId": { + "value": "wf1234abcd-1234-abcd-5678-1234abcd5678" + } + } + }, + "response": { + "operationId": "1234abcd-1234-abcd-5678-1234abcd5678" + } + } + ] + }, + "headers": { + "x-amzn-RequestId": { + "description": "Unique request reference identifier.", + "type": "string" + }, + "x-amzn-RateLimit-Limit": { + "description": "Your rate limit (requests per second) for this operation.", + "type": "string" + } + } + }, + "400": { + "description": "Request has missing or invalid parameters and cannot be parsed.", + "schema": { + "$ref": "#/definitions/ErrorList" + }, + "x-amzn-api-sandbox": { + "static": [ + { + "request": { + "parameters": { + "inboundPlanId": { + "value": "wfbad4abcd-1234-abcd-5678-1234abcd5678" + } + } + }, + "response": { + "errors": [ + { + "code": "BadRequest", + "message": "The inbound plan is not in a valid state to generate packing options." + } + ] + } + } + ] + }, + "headers": { + "x-amzn-RequestId": { + "description": "Unique request reference identifier.", + "type": "string" + }, + "x-amzn-RateLimit-Limit": { + "description": "Your rate limit (requests per second) for this operation.", + "type": "string" + } + } + }, + "500": { + "description": "An unexpected condition occurred that prevented the server from fulfilling the request.", + "schema": { + "$ref": "#/definitions/ErrorList" + }, + "headers": { + "x-amzn-RequestId": { + "description": "Unique request reference identifier.", + "type": "string" + } + } + }, + "403": { + "description": "Indicates that access to the resource is forbidden. Possible reasons include Access Denied, Unauthorized, Expired Token, or Invalid Signature.", + "schema": { + "$ref": "#/definitions/ErrorList" + }, + "headers": { + "x-amzn-RequestId": { + "description": "Unique request reference identifier.", + "type": "string" + } + } + }, + "404": { + "description": "The resource specified does not exist.", + "schema": { + "$ref": "#/definitions/ErrorList" + }, + "headers": { + "x-amzn-RequestId": { + "description": "Unique request reference identifier.", + "type": "string" + }, + "x-amzn-RateLimit-Limit": { + "description": "Your rate limit (requests per second) for this operation.", + "type": "string" + } + } + }, + "413": { + "description": "The request size exceeded the maximum accepted size.", + "schema": { + "$ref": "#/definitions/ErrorList" + }, + "headers": { + "x-amzn-RequestId": { + "description": "Unique request reference identifier.", + "type": "string" + } + } + }, + "415": { + "description": "The request payload is in an unsupported format.", + "schema": { + "$ref": "#/definitions/ErrorList" + }, + "headers": { + "x-amzn-RequestId": { + "description": "Unique request reference identifier.", + "type": "string" + } + } + }, + "429": { + "description": "The frequency of requests was greater than allowed.", + "schema": { + "$ref": "#/definitions/ErrorList" + }, + "headers": { + "x-amzn-RequestId": { + "description": "Unique request reference identifier.", + "type": "string" + } + } + }, + "503": { + "description": "Temporary overloading or maintenance of the server.", + "schema": { + "$ref": "#/definitions/ErrorList" + }, + "headers": { + "x-amzn-RequestId": { + "description": "Unique request reference identifier.", + "type": "string" + } + } + } + }, + "tags": [ + "fbaInbound" + ], + "description": "Generates available packing options for the inbound plan.\n\n**Usage Plan:**\n\n| Rate (requests per second) | Burst |\n| ---- | ---- |\n| 0.05 | 1 |\n\nThe `x-amzn-RateLimit-Limit` response header returns the usage plan rate limits that were applied to the requested operation, when available. The table above indicates the default rate and burst values for this operation. Selling partners whose business demands require higher throughput may see higher rate and burst values than those shown here. For more information, refer to [Usage Plans and Rate Limits in the Selling Partner API](https://developer-docs.amazon.com/sp-api/docs/usage-plans-and-rate-limits-in-the-sp-api).", + "operationId": "generatePackingOptions" + } + }, + "/inbound/fba/2024-03-20/inboundPlans/{inboundPlanId}/packingOptions/{packingOptionId}/confirmation": { + "post": { + "produces": [ + "application/json" + ], + "parameters": [ + { + "description": "Identifier to an inbound plan.", + "in": "path", + "maxLength": 38, + "minLength": 38, + "name": "inboundPlanId", + "pattern": "^[a-zA-Z0-9-]*$", + "required": true, + "type": "string" + }, + { + "description": "Identifier to a packing option.", + "in": "path", + "maxLength": 38, + "minLength": 38, + "name": "packingOptionId", + "pattern": "^[a-zA-Z0-9-]*$", + "required": true, + "type": "string" + } + ], + "responses": { + "202": { + "description": "ConfirmPackingOption 202 response", + "schema": { + "$ref": "#/definitions/ConfirmPackingOptionResponse" + }, + "x-amzn-api-sandbox": { + "static": [ + { + "request": { + "parameters": { + "inboundPlanId": { + "value": "wf1234abcd-1234-abcd-5678-1234abcd5678" + }, + "packingOptionId": { + "value": "po1234abcd-1234-abcd-5678-1234abcd5678" + } + } + }, + "response": { + "operationId": "1234abcd-1234-abcd-5678-1234abcd5678" + } + } + ] + }, + "headers": { + "x-amzn-RequestId": { + "description": "Unique request reference identifier.", + "type": "string" + }, + "x-amzn-RateLimit-Limit": { + "description": "Your rate limit (requests per second) for this operation.", + "type": "string" + } + } + }, + "400": { + "description": "Request has missing or invalid parameters and cannot be parsed.", + "schema": { + "$ref": "#/definitions/ErrorList" + }, + "x-amzn-api-sandbox": { + "static": [ + { + "request": { + "parameters": { + "inboundPlanId": { + "value": "wf1234abcd-1234-abcd-5678-1234abcd5678" + }, + "packingOptionId": { + "value": "bad234abcd-1234-abcd-5678-1234abcd5678" + } + } + }, + "response": { + "errors": [ + { + "code": "BadRequest", + "message": "The requested packingOptionId does not exist for the given inbound plan." + } + ] + } + } + ] + }, + "headers": { + "x-amzn-RequestId": { + "description": "Unique request reference identifier.", + "type": "string" + }, + "x-amzn-RateLimit-Limit": { + "description": "Your rate limit (requests per second) for this operation.", + "type": "string" + } + } + }, + "500": { + "description": "An unexpected condition occurred that prevented the server from fulfilling the request.", + "schema": { + "$ref": "#/definitions/ErrorList" + }, + "headers": { + "x-amzn-RequestId": { + "description": "Unique request reference identifier.", + "type": "string" + } + } + }, + "403": { + "description": "Indicates that access to the resource is forbidden. Possible reasons include Access Denied, Unauthorized, Expired Token, or Invalid Signature.", + "schema": { + "$ref": "#/definitions/ErrorList" + }, + "headers": { + "x-amzn-RequestId": { + "description": "Unique request reference identifier.", + "type": "string" + } + } + }, + "404": { + "description": "The resource specified does not exist.", + "schema": { + "$ref": "#/definitions/ErrorList" + }, + "headers": { + "x-amzn-RequestId": { + "description": "Unique request reference identifier.", + "type": "string" + }, + "x-amzn-RateLimit-Limit": { + "description": "Your rate limit (requests per second) for this operation.", + "type": "string" + } + } + }, + "413": { + "description": "The request size exceeded the maximum accepted size.", + "schema": { + "$ref": "#/definitions/ErrorList" + }, + "headers": { + "x-amzn-RequestId": { + "description": "Unique request reference identifier.", + "type": "string" + } + } + }, + "415": { + "description": "The request payload is in an unsupported format.", + "schema": { + "$ref": "#/definitions/ErrorList" + }, + "headers": { + "x-amzn-RequestId": { + "description": "Unique request reference identifier.", + "type": "string" + } + } + }, + "429": { + "description": "The frequency of requests was greater than allowed.", + "schema": { + "$ref": "#/definitions/ErrorList" + }, + "headers": { + "x-amzn-RequestId": { + "description": "Unique request reference identifier.", + "type": "string" + } + } + }, + "503": { + "description": "Temporary overloading or maintenance of the server.", + "schema": { + "$ref": "#/definitions/ErrorList" + }, + "headers": { + "x-amzn-RequestId": { + "description": "Unique request reference identifier.", + "type": "string" + } + } + } + }, + "tags": [ + "fbaInbound" + ], + "description": "Confirms the packing option for an inbound plan.\n\n**Usage Plan:**\n\n| Rate (requests per second) | Burst |\n| ---- | ---- |\n| 0.05 | 1 |\n\nThe `x-amzn-RateLimit-Limit` response header returns the usage plan rate limits that were applied to the requested operation, when available. The table above indicates the default rate and burst values for this operation. Selling partners whose business demands require higher throughput may see higher rate and burst values than those shown here. For more information, refer to [Usage Plans and Rate Limits in the Selling Partner API](https://developer-docs.amazon.com/sp-api/docs/usage-plans-and-rate-limits-in-the-sp-api).", + "operationId": "confirmPackingOption" + } + }, + "/inbound/fba/2024-03-20/inboundPlans/{inboundPlanId}/packingOptions/{packingOptionId}/packingGroups/{packingGroupId}/items": { + "get": { + "produces": [ + "application/json" + ], + "parameters": [ + { + "description": "Identifier to an inbound plan.", + "in": "path", + "maxLength": 38, + "minLength": 38, + "name": "inboundPlanId", + "pattern": "^[a-zA-Z0-9-]*$", + "required": true, + "type": "string" + }, + { + "description": "Identifier to a packing option.", + "in": "path", + "maxLength": 38, + "minLength": 38, + "name": "packingOptionId", + "pattern": "^[a-zA-Z0-9-]*$", + "required": true, + "type": "string" + }, + { + "description": "Identifier to a packing group.", + "in": "path", + "maxLength": 38, + "minLength": 38, + "name": "packingGroupId", + "pattern": "^[a-zA-Z0-9-]*$", + "required": true, + "type": "string" + }, + { + "description": "The number of packing group items to return in the response matching the given query.", + "in": "query", + "maximum": 100, + "minimum": 1, + "name": "pageSize", + "type": "integer", + "default": 10 + }, + { + "description": "A token to fetch a certain page when there are multiple pages worth of results. The value of this token is fetched from the `pagination` returned in the API response. In the absence of the token value from the query parameter the API returns the first page of the result.", + "in": "query", + "maxLength": 1024, + "minLength": 0, + "name": "paginationToken", + "type": "string" + } + ], + "responses": { + "200": { + "description": "ListPackingGroupItems 200 response", + "schema": { + "$ref": "#/definitions/ListPackingGroupItemsResponse" + }, + "x-amzn-api-sandbox": { + "static": [ + { + "request": { + "parameters": { + "inboundPlanId": { + "value": "wf1234abcd-1234-abcd-5678-1234abcd5678" + }, + "packingOptionId": { + "value": "po1234abcd-1234-abcd-5678-1234abcd5678" + }, + "packingGroupId": { + "value": "pg1234abcd-1234-abcd-5678-1234abcd5678" + }, + "pageSize": { + "value": 2 + }, + "paginationToken": { + "value": "paginationToken" + } + } + }, + "response": { + "items": [ + { + "quantity": 5, + "prepInstructions": [ + { + "prepType": "ITEM_POLYBAGGING", + "prepOwner": "AMAZON", + "fee": { + "code": "USD", + "amount": 10.0 + } + } + ], + "msku": "msku", + "asin": "asin", + "fnsku": "fnsku", + "labelOwner": "AMAZON" + } + ], + "pagination": { + "nextToken": "nextPaginationToken" + } + } + } + ] + }, + "headers": { + "x-amzn-RequestId": { + "description": "Unique request reference identifier.", + "type": "string" + }, + "x-amzn-RateLimit-Limit": { + "description": "Your rate limit (requests per second) for this operation.", + "type": "string" + } + } + }, + "400": { + "description": "Request has missing or invalid parameters and cannot be parsed.", + "schema": { + "$ref": "#/definitions/ErrorList" + }, + "x-amzn-api-sandbox": { + "static": [ + { + "request": { + "parameters": { + "inboundPlanId": { + "value": "wf1234abcd-1234-abcd-5678-1234abcd5678" + }, + "packingOptionId": { + "value": "bad234abcd-1234-abcd-5678-1234abcd5678" + }, + "packingGroupId": { + "value": "pg1234abcd-1234-abcd-5678-1234abcd5678" + }, + "pageSize": { + "value": 2 + }, + "paginationToken": { + "value": "paginationToken" + } + } + }, + "response": { + "errors": [ + { + "code": "BadRequest", + "message": "The requested packingOptionId does not exist for the specified inbound plan." + } + ] + } + } + ] + }, + "headers": { + "x-amzn-RequestId": { + "description": "Unique request reference identifier.", + "type": "string" + }, + "x-amzn-RateLimit-Limit": { + "description": "Your rate limit (requests per second) for this operation.", + "type": "string" + } + } + }, + "500": { + "description": "An unexpected condition occurred that prevented the server from fulfilling the request.", + "schema": { + "$ref": "#/definitions/ErrorList" + }, + "headers": { + "x-amzn-RequestId": { + "description": "Unique request reference identifier.", + "type": "string" + } + } + }, + "403": { + "description": "Indicates that access to the resource is forbidden. Possible reasons include Access Denied, Unauthorized, Expired Token, or Invalid Signature.", + "schema": { + "$ref": "#/definitions/ErrorList" + }, + "headers": { + "x-amzn-RequestId": { + "description": "Unique request reference identifier.", + "type": "string" + } + } + }, + "404": { + "description": "The resource specified does not exist.", + "schema": { + "$ref": "#/definitions/ErrorList" + }, + "headers": { + "x-amzn-RequestId": { + "description": "Unique request reference identifier.", + "type": "string" + }, + "x-amzn-RateLimit-Limit": { + "description": "Your rate limit (requests per second) for this operation.", + "type": "string" + } + } + }, + "413": { + "description": "The request size exceeded the maximum accepted size.", + "schema": { + "$ref": "#/definitions/ErrorList" + }, + "headers": { + "x-amzn-RequestId": { + "description": "Unique request reference identifier.", + "type": "string" + } + } + }, + "415": { + "description": "The request payload is in an unsupported format.", + "schema": { + "$ref": "#/definitions/ErrorList" + }, + "headers": { + "x-amzn-RequestId": { + "description": "Unique request reference identifier.", + "type": "string" + } + } + }, + "429": { + "description": "The frequency of requests was greater than allowed.", + "schema": { + "$ref": "#/definitions/ErrorList" + }, + "headers": { + "x-amzn-RequestId": { + "description": "Unique request reference identifier.", + "type": "string" + } + } + }, + "503": { + "description": "Temporary overloading or maintenance of the server.", + "schema": { + "$ref": "#/definitions/ErrorList" + }, + "headers": { + "x-amzn-RequestId": { + "description": "Unique request reference identifier.", + "type": "string" + } + } + } + }, + "tags": [ + "fbaInbound" + ], + "description": "Retrieves a list of all items in a packing options's packing group. Packing options must first be generated by the corresponding endpoint before packing group items can be listed.\n\n**Usage Plan:**\n\n| Rate (requests per second) | Burst |\n| ---- | ---- |\n| 1 | 1 |\n\nThe `x-amzn-RateLimit-Limit` response header returns the usage plan rate limits that were applied to the requested operation, when available. The table above indicates the default rate and burst values for this operation. Selling partners whose business demands require higher throughput may see higher rate and burst values than those shown here. For more information, refer to [Usage Plans and Rate Limits in the Selling Partner API](https://developer-docs.amazon.com/sp-api/docs/usage-plans-and-rate-limits-in-the-sp-api).", + "operationId": "listPackingGroupItems" + } + }, + "/inbound/fba/2024-03-20/inboundPlans/{inboundPlanId}/pallets": { + "get": { + "produces": [ + "application/json" + ], + "parameters": [ + { + "description": "Identifier to an inbound plan.", + "in": "path", + "maxLength": 38, + "minLength": 38, + "name": "inboundPlanId", + "pattern": "^[a-zA-Z0-9-]*$", + "required": true, + "type": "string" + }, + { + "description": "The number of pallets to return in the response matching the given query.", + "in": "query", + "maximum": 1000, + "minimum": 1, + "name": "pageSize", + "type": "integer", + "default": 10 + }, + { + "description": "A token to fetch a certain page when there are multiple pages worth of results. The value of this token is fetched from the `pagination` returned in the API response. In the absence of the token value from the query parameter the API returns the first page of the result.", + "in": "query", + "maxLength": 1024, + "minLength": 0, + "name": "paginationToken", + "type": "string" + } + ], + "responses": { + "200": { + "description": "ListInboundPlanPallets 200 response", + "schema": { + "$ref": "#/definitions/ListInboundPlanPalletsResponse" + }, + "x-amzn-api-sandbox": { + "static": [ + { + "request": { + "parameters": { + "inboundPlanId": { + "value": "wf1234abcd-1234-abcd-5678-1234abcd5678" + }, + "pageSize": { + "value": 2 + }, + "paginationToken": { + "value": "paginationToken" + } + } + }, + "response": { + "pallets": [ + { + "stackability": "STACKABLE", + "packageId": "pk1234abcd-1234-abcd-5678-1234abcd5678", + "weight": { + "unit": "KG", + "value": 5.5 + }, + "dimensions": { + "unitOfMeasurement": "CM", + "length": 3.0, + "width": 4.0, + "height": 5.0 + }, + "quantity": 2 + } + ], + "pagination": { + "nextToken": "nextPaginationToken" + } + } + } + ] + }, + "headers": { + "x-amzn-RequestId": { + "description": "Unique request reference identifier.", + "type": "string" + }, + "x-amzn-RateLimit-Limit": { + "description": "Your rate limit (requests per second) for this operation.", + "type": "string" + } + } + }, + "400": { + "description": "Request has missing or invalid parameters and cannot be parsed.", + "schema": { + "$ref": "#/definitions/ErrorList" + }, + "x-amzn-api-sandbox": { + "static": [ + { + "request": { + "parameters": { + "inboundPlanId": { + "value": "bad234abcd-1234-abcd-5678-1234abcd5678" + }, + "pageSize": { + "value": 2 + }, + "paginationToken": { + "value": "paginationToken" + } + } + }, + "response": { + "errors": [ + { + "code": "BadRequest", + "message": "The requested inbound plan does not exist." + } + ] + } + } + ] + }, + "headers": { + "x-amzn-RequestId": { + "description": "Unique request reference identifier.", + "type": "string" + }, + "x-amzn-RateLimit-Limit": { + "description": "Your rate limit (requests per second) for this operation.", + "type": "string" + } + } + }, + "500": { + "description": "An unexpected condition occurred that prevented the server from fulfilling the request.", + "schema": { + "$ref": "#/definitions/ErrorList" + }, + "headers": { + "x-amzn-RequestId": { + "description": "Unique request reference identifier.", + "type": "string" + } + } + }, + "403": { + "description": "Indicates that access to the resource is forbidden. Possible reasons include Access Denied, Unauthorized, Expired Token, or Invalid Signature.", + "schema": { + "$ref": "#/definitions/ErrorList" + }, + "headers": { + "x-amzn-RequestId": { + "description": "Unique request reference identifier.", + "type": "string" + } + } + }, + "404": { + "description": "The resource specified does not exist.", + "schema": { + "$ref": "#/definitions/ErrorList" + }, + "headers": { + "x-amzn-RequestId": { + "description": "Unique request reference identifier.", + "type": "string" + }, + "x-amzn-RateLimit-Limit": { + "description": "Your rate limit (requests per second) for this operation.", + "type": "string" + } + } + }, + "413": { + "description": "The request size exceeded the maximum accepted size.", + "schema": { + "$ref": "#/definitions/ErrorList" + }, + "headers": { + "x-amzn-RequestId": { + "description": "Unique request reference identifier.", + "type": "string" + } + } + }, + "415": { + "description": "The request payload is in an unsupported format.", + "schema": { + "$ref": "#/definitions/ErrorList" + }, + "headers": { + "x-amzn-RequestId": { + "description": "Unique request reference identifier.", + "type": "string" + } + } + }, + "429": { + "description": "The frequency of requests was greater than allowed.", + "schema": { + "$ref": "#/definitions/ErrorList" + }, + "headers": { + "x-amzn-RequestId": { + "description": "Unique request reference identifier.", + "type": "string" + } + } + }, + "503": { + "description": "Temporary overloading or maintenance of the server.", + "schema": { + "$ref": "#/definitions/ErrorList" + }, + "headers": { + "x-amzn-RequestId": { + "description": "Unique request reference identifier.", + "type": "string" + } + } + } + }, + "tags": [ + "fbaInbound" + ], + "description": "Provides a paginated list of pallet packages in an inbound plan. An inbound plan will have pallets when the related details are provided after generating Less-Than-Truckload (LTL) carrier shipments.\n\n**Usage Plan:**\n\n| Rate (requests per second) | Burst |\n| ---- | ---- |\n| 1 | 1 |\n\nThe `x-amzn-RateLimit-Limit` response header returns the usage plan rate limits that were applied to the requested operation, when available. The table above indicates the default rate and burst values for this operation. Selling partners whose business demands require higher throughput may see higher rate and burst values than those shown here. For more information, refer to [Usage Plans and Rate Limits in the Selling Partner API](https://developer-docs.amazon.com/sp-api/docs/usage-plans-and-rate-limits-in-the-sp-api).", + "operationId": "listInboundPlanPallets" + } + }, + "/inbound/fba/2024-03-20/inboundPlans/{inboundPlanId}/placementOptions": { + "get": { + "produces": [ + "application/json" + ], + "parameters": [ + { + "description": "Identifier to an inbound plan.", + "in": "path", + "maxLength": 38, + "minLength": 38, + "name": "inboundPlanId", + "pattern": "^[a-zA-Z0-9-]*$", + "required": true, + "type": "string" + }, + { + "description": "The number of placement options to return in the response matching the given query.", + "in": "query", + "maximum": 20, + "minimum": 1, + "name": "pageSize", + "type": "integer", + "default": 10 + }, + { + "description": "A token to fetch a certain page when there are multiple pages worth of results. The value of this token is fetched from the `pagination` returned in the API response. In the absence of the token value from the query parameter the API returns the first page of the result.", + "in": "query", + "maxLength": 1024, + "minLength": 0, + "name": "paginationToken", + "type": "string" + } + ], + "responses": { + "200": { + "description": "ListPlacementOptions 200 response", + "schema": { + "$ref": "#/definitions/ListPlacementOptionsResponse" + }, + "x-amzn-api-sandbox": { + "static": [ + { + "request": { + "parameters": { + "inboundPlanId": { + "value": "wf1234abcd-1234-abcd-5678-1234abcd5678" + }, + "pageSize": { + "value": 2 + }, + "paginationToken": { + "value": "paginationToken" + } + } + }, + "response": { + "placementOptions": [ + { + "placementOptionId": "pl1234abcd-1234-abcd-5678-1234abcd5678", + "status": "OFFERED", + "fees": [ + { + "value": { + "code": "USD", + "amount": 1.0 + }, + "type": "FEE", + "target": "Placement Services", + "description": "description" + } + ], + "discounts": [ + { + "value": { + "code": "USD", + "amount": 1.0 + }, + "type": "DISCOUNT", + "target": "Placement Services", + "description": "description" + } + ], + "expiration": "2024-01-01T00:00:00.000Z", + "shipmentIds": [ + "sh1234abcd-1234-abcd-5678-1234abcd5678" + ] + } + ], + "pagination": { + "nextToken": "nextPaginationToken" + } + } + } + ] + }, + "headers": { + "x-amzn-RequestId": { + "description": "Unique request reference identifier.", + "type": "string" + }, + "x-amzn-RateLimit-Limit": { + "description": "Your rate limit (requests per second) for this operation.", + "type": "string" + } + } + }, + "400": { + "description": "Request has missing or invalid parameters and cannot be parsed.", + "schema": { + "$ref": "#/definitions/ErrorList" + }, + "x-amzn-api-sandbox": { + "static": [ + { + "request": { + "parameters": { + "inboundPlanId": { + "value": "bad234abcd-1234-abcd-5678-1234abcd5678" + }, + "pageSize": { + "value": 2 + }, + "paginationToken": { + "value": "paginationToken" + } + } + }, + "response": { + "errors": [ + { + "code": "BadRequest", + "message": "The requested inbound plan does not exist." + } + ] + } + } + ] + }, + "headers": { + "x-amzn-RequestId": { + "description": "Unique request reference identifier.", + "type": "string" + }, + "x-amzn-RateLimit-Limit": { + "description": "Your rate limit (requests per second) for this operation.", + "type": "string" + } + } + }, + "500": { + "description": "An unexpected condition occurred that prevented the server from fulfilling the request.", + "schema": { + "$ref": "#/definitions/ErrorList" + }, + "headers": { + "x-amzn-RequestId": { + "description": "Unique request reference identifier.", + "type": "string" + } + } + }, + "403": { + "description": "Indicates that access to the resource is forbidden. Possible reasons include Access Denied, Unauthorized, Expired Token, or Invalid Signature.", + "schema": { + "$ref": "#/definitions/ErrorList" + }, + "headers": { + "x-amzn-RequestId": { + "description": "Unique request reference identifier.", + "type": "string" + } + } + }, + "404": { + "description": "The resource specified does not exist.", + "schema": { + "$ref": "#/definitions/ErrorList" + }, + "headers": { + "x-amzn-RequestId": { + "description": "Unique request reference identifier.", + "type": "string" + }, + "x-amzn-RateLimit-Limit": { + "description": "Your rate limit (requests per second) for this operation.", + "type": "string" + } + } + }, + "413": { + "description": "The request size exceeded the maximum accepted size.", + "schema": { + "$ref": "#/definitions/ErrorList" + }, + "headers": { + "x-amzn-RequestId": { + "description": "Unique request reference identifier.", + "type": "string" + } + } + }, + "415": { + "description": "The request payload is in an unsupported format.", + "schema": { + "$ref": "#/definitions/ErrorList" + }, + "headers": { + "x-amzn-RequestId": { + "description": "Unique request reference identifier.", + "type": "string" + } + } + }, + "429": { + "description": "The frequency of requests was greater than allowed.", + "schema": { + "$ref": "#/definitions/ErrorList" + }, + "headers": { + "x-amzn-RequestId": { + "description": "Unique request reference identifier.", + "type": "string" + } + } + }, + "503": { + "description": "Temporary overloading or maintenance of the server.", + "schema": { + "$ref": "#/definitions/ErrorList" + }, + "headers": { + "x-amzn-RequestId": { + "description": "Unique request reference identifier.", + "type": "string" + } + } + } + }, + "tags": [ + "fbaInbound" + ], + "description": "Provides a list of all placement options for an inbound plan. Placement options must first be generated by the corresponding endpoint before becoming available.\n\n**Usage Plan:**\n\n| Rate (requests per second) | Burst |\n| ---- | ---- |\n| 1 | 1 |\n\nThe `x-amzn-RateLimit-Limit` response header returns the usage plan rate limits that were applied to the requested operation, when available. The table above indicates the default rate and burst values for this operation. Selling partners whose business demands require higher throughput may see higher rate and burst values than those shown here. For more information, refer to [Usage Plans and Rate Limits in the Selling Partner API](https://developer-docs.amazon.com/sp-api/docs/usage-plans-and-rate-limits-in-the-sp-api).", + "operationId": "listPlacementOptions" + }, + "post": { + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "parameters": [ + { + "description": "Identifier to an inbound plan.", + "in": "path", + "maxLength": 38, + "minLength": 38, + "name": "inboundPlanId", + "pattern": "^[a-zA-Z0-9-]*$", + "required": true, + "type": "string" + }, + { + "in": "body", + "name": "body", + "required": true, + "schema": { + "$ref": "#/definitions/GeneratePlacementOptionsRequest" + }, + "description": "The body of the request to `generatePlacementOptions`." + } + ], + "responses": { + "202": { + "description": "GeneratePlacementOptions 202 response", + "schema": { + "$ref": "#/definitions/GeneratePlacementOptionsResponse" + }, + "x-amzn-api-sandbox": { + "static": [ + { + "request": { + "parameters": { + "inboundPlanId": { + "value": "wf1234abcd-1234-abcd-5678-1234abcd5678" + }, + "body": { + "value": { + "customPlacement": [ + { + "warehouseId": "warehouseId", + "items": [ + { + "msku": "msku", + "prepOwner": "AMAZON", + "labelOwner": "AMAZON", + "quantity": 2, + "expiration": "2024-01-01", + "manufacturingLotCode": "lotCode" + } + ] + } + ] + } + } + } + }, + "response": { + "operationId": "1234abcd-1234-abcd-5678-1234abcd5678" + } + } + ] + }, + "headers": { + "x-amzn-RequestId": { + "description": "Unique request reference identifier.", + "type": "string" + }, + "x-amzn-RateLimit-Limit": { + "description": "Your rate limit (requests per second) for this operation.", + "type": "string" + } + } + }, + "400": { + "description": "Request has missing or invalid parameters and cannot be parsed.", + "schema": { + "$ref": "#/definitions/ErrorList" + }, + "x-amzn-api-sandbox": { + "static": [ + { + "request": { + "parameters": { + "inboundPlanId": { + "value": "wf1234abcd-1234-abcd-5678-1234abcd5678" + }, + "body": { + "value": { + "customPlacement": [ + { + "warehouseId": "badWarehouseId", + "items": [ + { + "msku": "msku", + "prepOwner": "AMAZON", + "labelOwner": "AMAZON", + "quantity": 2, + "expiration": "2024-01-01", + "manufacturingLotCode": "lotCode" + } + ] + } + ] + } + } + } + }, + "response": { + "errors": [ + { + "code": "BadRequest", + "message": "The inbound plan is not in a valid state to generate placement options." + } + ] + } + } + ] + }, + "headers": { + "x-amzn-RequestId": { + "description": "Unique request reference identifier.", + "type": "string" + }, + "x-amzn-RateLimit-Limit": { + "description": "Your rate limit (requests per second) for this operation.", + "type": "string" + } + } + }, + "500": { + "description": "An unexpected condition occurred that prevented the server from fulfilling the request.", + "schema": { + "$ref": "#/definitions/ErrorList" + }, + "headers": { + "x-amzn-RequestId": { + "description": "Unique request reference identifier.", + "type": "string" + } + } + }, + "403": { + "description": "Indicates that access to the resource is forbidden. Possible reasons include Access Denied, Unauthorized, Expired Token, or Invalid Signature.", + "schema": { + "$ref": "#/definitions/ErrorList" + }, + "headers": { + "x-amzn-RequestId": { + "description": "Unique request reference identifier.", + "type": "string" + } + } + }, + "404": { + "description": "The resource specified does not exist.", + "schema": { + "$ref": "#/definitions/ErrorList" + }, + "headers": { + "x-amzn-RequestId": { + "description": "Unique request reference identifier.", + "type": "string" + }, + "x-amzn-RateLimit-Limit": { + "description": "Your rate limit (requests per second) for this operation.", + "type": "string" + } + } + }, + "413": { + "description": "The request size exceeded the maximum accepted size.", + "schema": { + "$ref": "#/definitions/ErrorList" + }, + "headers": { + "x-amzn-RequestId": { + "description": "Unique request reference identifier.", + "type": "string" + } + } + }, + "415": { + "description": "The request payload is in an unsupported format.", + "schema": { + "$ref": "#/definitions/ErrorList" + }, + "headers": { + "x-amzn-RequestId": { + "description": "Unique request reference identifier.", + "type": "string" + } + } + }, + "429": { + "description": "The frequency of requests was greater than allowed.", + "schema": { + "$ref": "#/definitions/ErrorList" + }, + "headers": { + "x-amzn-RequestId": { + "description": "Unique request reference identifier.", + "type": "string" + } + } + }, + "503": { + "description": "Temporary overloading or maintenance of the server.", + "schema": { + "$ref": "#/definitions/ErrorList" + }, + "headers": { + "x-amzn-RequestId": { + "description": "Unique request reference identifier.", + "type": "string" + } + } + } + }, + "tags": [ + "fbaInbound" + ], + "description": "Generates placement options for the inbound plan.\n\n**Usage Plan:**\n\n| Rate (requests per second) | Burst |\n| ---- | ---- |\n| 0.05 | 1 |\n\nThe `x-amzn-RateLimit-Limit` response header returns the usage plan rate limits that were applied to the requested operation, when available. The table above indicates the default rate and burst values for this operation. Selling partners whose business demands require higher throughput may see higher rate and burst values than those shown here. For more information, refer to [Usage Plans and Rate Limits in the Selling Partner API](https://developer-docs.amazon.com/sp-api/docs/usage-plans-and-rate-limits-in-the-sp-api).", + "operationId": "generatePlacementOptions" + } + }, + "/inbound/fba/2024-03-20/inboundPlans/{inboundPlanId}/placementOptions/{placementOptionId}/confirmation": { + "post": { + "produces": [ + "application/json" + ], + "parameters": [ + { + "description": "Identifier to an inbound plan.", + "in": "path", + "maxLength": 38, + "minLength": 38, + "name": "inboundPlanId", + "pattern": "^[a-zA-Z0-9-]*$", + "required": true, + "type": "string" + }, + { + "description": "Identifier to a placement option. A placement option represents the shipment splits and destinations of SKUs.", + "in": "path", + "maxLength": 38, + "minLength": 38, + "name": "placementOptionId", + "pattern": "^[a-zA-Z0-9-]*$", + "required": true, + "type": "string" + } + ], + "responses": { + "202": { + "description": "ConfirmPlacementOption 202 response", + "schema": { + "$ref": "#/definitions/ConfirmPlacementOptionResponse" + }, + "x-amzn-api-sandbox": { + "static": [ + { + "request": { + "parameters": { + "inboundPlanId": { + "value": "wf1234abcd-1234-abcd-5678-1234abcd5678" + }, + "placementOptionId": { + "value": "pl1234abcd-1234-abcd-5678-1234abcd5678" + } + } + }, + "response": { + "operationId": "1234abcd-1234-abcd-5678-1234abcd5678" + } + } + ] + }, + "headers": { + "x-amzn-RequestId": { + "description": "Unique request reference identifier.", + "type": "string" + }, + "x-amzn-RateLimit-Limit": { + "description": "Your rate limit (requests per second) for this operation.", + "type": "string" + } + } + }, + "400": { + "description": "Request has missing or invalid parameters and cannot be parsed.", + "schema": { + "$ref": "#/definitions/ErrorList" + }, + "x-amzn-api-sandbox": { + "static": [ + { + "request": { + "parameters": { + "inboundPlanId": { + "value": "wf1234abcd-1234-abcd-5678-1234abcd5678" + }, + "placementOptionId": { + "value": "bad234abcd-1234-abcd-5678-1234abcd5678" + } + } + }, + "response": { + "errors": [ + { + "code": "BadRequest", + "message": "The requested placementOptionId does not exist for the given inbound plan." + } + ] + } + } + ] + }, + "headers": { + "x-amzn-RequestId": { + "description": "Unique request reference identifier.", + "type": "string" + }, + "x-amzn-RateLimit-Limit": { + "description": "Your rate limit (requests per second) for this operation.", + "type": "string" + } + } + }, + "500": { + "description": "An unexpected condition occurred that prevented the server from fulfilling the request.", + "schema": { + "$ref": "#/definitions/ErrorList" + }, + "headers": { + "x-amzn-RequestId": { + "description": "Unique request reference identifier.", + "type": "string" + } + } + }, + "403": { + "description": "Indicates that access to the resource is forbidden. Possible reasons include Access Denied, Unauthorized, Expired Token, or Invalid Signature.", + "schema": { + "$ref": "#/definitions/ErrorList" + }, + "headers": { + "x-amzn-RequestId": { + "description": "Unique request reference identifier.", + "type": "string" + } + } + }, + "404": { + "description": "The resource specified does not exist.", + "schema": { + "$ref": "#/definitions/ErrorList" + }, + "headers": { + "x-amzn-RequestId": { + "description": "Unique request reference identifier.", + "type": "string" + }, + "x-amzn-RateLimit-Limit": { + "description": "Your rate limit (requests per second) for this operation.", + "type": "string" + } + } + }, + "413": { + "description": "The request size exceeded the maximum accepted size.", + "schema": { + "$ref": "#/definitions/ErrorList" + }, + "headers": { + "x-amzn-RequestId": { + "description": "Unique request reference identifier.", + "type": "string" + } + } + }, + "415": { + "description": "The request payload is in an unsupported format.", + "schema": { + "$ref": "#/definitions/ErrorList" + }, + "headers": { + "x-amzn-RequestId": { + "description": "Unique request reference identifier.", + "type": "string" + } + } + }, + "429": { + "description": "The frequency of requests was greater than allowed.", + "schema": { + "$ref": "#/definitions/ErrorList" + }, + "headers": { + "x-amzn-RequestId": { + "description": "Unique request reference identifier.", + "type": "string" + } + } + }, + "503": { + "description": "Temporary overloading or maintenance of the server.", + "schema": { + "$ref": "#/definitions/ErrorList" + }, + "headers": { + "x-amzn-RequestId": { + "description": "Unique request reference identifier.", + "type": "string" + } + } + } + }, + "tags": [ + "fbaInbound" + ], + "description": "Confirms the placement option for an inbound plan. Once confirmed, it cannot be changed for the Inbound Plan.\n\n**Usage Plan:**\n\n| Rate (requests per second) | Burst |\n| ---- | ---- |\n| 0.05 | 1 |\n\nThe `x-amzn-RateLimit-Limit` response header returns the usage plan rate limits that were applied to the requested operation, when available. The table above indicates the default rate and burst values for this operation. Selling partners whose business demands require higher throughput may see higher rate and burst values than those shown here. For more information, refer to [Usage Plans and Rate Limits in the Selling Partner API](https://developer-docs.amazon.com/sp-api/docs/usage-plans-and-rate-limits-in-the-sp-api).", + "operationId": "confirmPlacementOption" + } + }, + "/inbound/fba/2024-03-20/inboundPlans/{inboundPlanId}/shipments/{shipmentId}": { + "get": { + "produces": [ + "application/json" + ], + "parameters": [ + { + "description": "Identifier to an inbound plan.", + "in": "path", + "maxLength": 38, + "minLength": 38, + "name": "inboundPlanId", + "pattern": "^[a-zA-Z0-9-]*$", + "required": true, + "type": "string" + }, + { + "description": "Identifier to a shipment. A shipment contains the boxes and units being inbounded.", + "in": "path", + "maxLength": 38, + "minLength": 38, + "name": "shipmentId", + "pattern": "^[a-zA-Z0-9-]*$", + "required": true, + "type": "string" + } + ], + "responses": { + "200": { + "description": "GetShipment 200 response", + "schema": { + "$ref": "#/definitions/Shipment" + }, + "x-amzn-api-sandbox": { + "static": [ + { + "request": { + "parameters": { + "inboundPlanId": { + "value": "wf1234abcd-1234-abcd-5678-1234abcd5678" + }, + "shipmentId": { + "value": "sh1234abcd-1234-abcd-5678-1234abcd5678" + } + } + }, + "response": { + "inboundPlanId": "wf1234abcd-1234-abcd-5678-1234abcd5678", + "placementOptionId": "pl1234abcd-1234-abcd-5678-1234abcd5678", + "shipmentId": "sh1234abcd-1234-abcd-5678-1234abcd5678", + "shipmentConfirmationId": "FBA1234ABCD", + "amazonReferenceId": "amazonReferenceId", + "selectedTransportationOptionId": "to1234abcd-1234-abcd-5678-1234abcd5678", + "name": "FBA (10/02/2023 20:07)-ABC1", + "source": { + "sourceType": "SELLER_FACILITY", + "address": { + "name": "name", + "addressLine1": "123 example street", + "city": "Toronto", + "countryCode": "CA", + "stateOrProvinceCode": "ON", + "postalCode": "M1M1M1" + } + }, + "destination": { + "destinationType": "AMAZON_WAREHOUSE", + "address": { + "name": "name", + "addressLine1": "124 example street", + "city": "Toronto", + "countryCode": "CA", + "stateOrProvinceCode": "ON", + "postalCode": "M1M1M1" + }, + "warehouseId": "YYZ5" + }, + "dates": { + "deliveryWindow": { + "start": "2024-01-01T00:00Z", + "end": "2024-01-08T00:00Z", + "editableUntil": "2024-01-07T00:00Z" + } + }, + "status": "WORKING", + "trackingDetails": { + "spdTrackingDetail": { + "spdTrackingItems": [ + { + "boxId": "boxId", + "trackingId": "trackingId", + "trackingNumberValidationStatus": "VALIDATED" + } + ] + }, + "ltlTrackingDetail": { + "freightBillNumber": [ + "freightBillNumber1" + ], + "billOfLadingNumber": "billOfLadingNumber" + } + }, + "palletInformation": { + "pallets": [ + { + "stackability": "STACKABLE", + "weight": { + "unit": "KG", + "value": 5.5 + }, + "dimensions": { + "unitOfMeasurement": "CM", + "length": 3.0, + "width": 4.0, + "height": 5.0 + }, + "quantity": 2 + } + ], + "freightClass": "FC_50", + "declaredValue": { + "code": "USD", + "amount": 500.0 + } + }, + "contactInformation": { + "name": "name", + "phoneNumber": "1234567890", + "email": "email@email.com" + }, + "selfShipAppointmentDetails": [ + { + "appointmentId": 1, + "appointmentSlotTime": { + "startTime": "2024-01-01T00:00:00.000Z", + "endTime": "2024-01-01T00:00:00.000Z" + }, + "appointmentStatus": "appointmentStatus" + } + ] + } + } + ] + }, + "headers": { + "x-amzn-RequestId": { + "description": "Unique request reference identifier.", + "type": "string" + }, + "x-amzn-RateLimit-Limit": { + "description": "Your rate limit (requests per second) for this operation.", + "type": "string" + } + } + }, + "400": { + "description": "Request has missing or invalid parameters and cannot be parsed.", + "schema": { + "$ref": "#/definitions/ErrorList" + }, + "x-amzn-api-sandbox": { + "static": [ + { + "request": { + "parameters": { + "inboundPlanId": { + "value": "wf1234abcd-1234-abcd-5678-1234abcd5678" + }, + "shipmentId": { + "value": "bad234abcd-1234-abcd-5678-1234abcd5678" + } + } + }, + "response": { + "errors": [ + { + "code": "BadRequest", + "message": "The requested shipment does not exist for the provided inbound plan." + } + ] + } + } + ] + }, + "headers": { + "x-amzn-RequestId": { + "description": "Unique request reference identifier.", + "type": "string" + }, + "x-amzn-RateLimit-Limit": { + "description": "Your rate limit (requests per second) for this operation.", + "type": "string" + } + } + }, + "500": { + "description": "An unexpected condition occurred that prevented the server from fulfilling the request.", + "schema": { + "$ref": "#/definitions/ErrorList" + }, + "headers": { + "x-amzn-RequestId": { + "description": "Unique request reference identifier.", + "type": "string" + } + } + }, + "403": { + "description": "Indicates that access to the resource is forbidden. Possible reasons include Access Denied, Unauthorized, Expired Token, or Invalid Signature.", + "schema": { + "$ref": "#/definitions/ErrorList" + }, + "headers": { + "x-amzn-RequestId": { + "description": "Unique request reference identifier.", + "type": "string" + } + } + }, + "404": { + "description": "The resource specified does not exist.", + "schema": { + "$ref": "#/definitions/ErrorList" + }, + "headers": { + "x-amzn-RequestId": { + "description": "Unique request reference identifier.", + "type": "string" + }, + "x-amzn-RateLimit-Limit": { + "description": "Your rate limit (requests per second) for this operation.", + "type": "string" + } + } + }, + "413": { + "description": "The request size exceeded the maximum accepted size.", + "schema": { + "$ref": "#/definitions/ErrorList" + }, + "headers": { + "x-amzn-RequestId": { + "description": "Unique request reference identifier.", + "type": "string" + } + } + }, + "415": { + "description": "The request payload is in an unsupported format.", + "schema": { + "$ref": "#/definitions/ErrorList" + }, + "headers": { + "x-amzn-RequestId": { + "description": "Unique request reference identifier.", + "type": "string" + } + } + }, + "429": { + "description": "The frequency of requests was greater than allowed.", + "schema": { + "$ref": "#/definitions/ErrorList" + }, + "headers": { + "x-amzn-RequestId": { + "description": "Unique request reference identifier.", + "type": "string" + } + } + }, + "503": { + "description": "Temporary overloading or maintenance of the server.", + "schema": { + "$ref": "#/definitions/ErrorList" + }, + "headers": { + "x-amzn-RequestId": { + "description": "Unique request reference identifier.", + "type": "string" + } + } + } + }, + "tags": [ + "fbaInbound" + ], + "description": "Provides the full details for a specific shipment within an inbound plan. The `transportationOptionId` inside `acceptedTransportationSelection` can be used to retrieve the transportation details for the shipment.\n\n**Usage Plan:**\n\n| Rate (requests per second) | Burst |\n| ---- | ---- |\n| 1 | 1 |\n\nThe `x-amzn-RateLimit-Limit` response header returns the usage plan rate limits that were applied to the requested operation, when available. The table above indicates the default rate and burst values for this operation. Selling partners whose business demands require higher throughput may see higher rate and burst values than those shown here. For more information, refer to [Usage Plans and Rate Limits in the Selling Partner API](https://developer-docs.amazon.com/sp-api/docs/usage-plans-and-rate-limits-in-the-sp-api).", + "operationId": "getShipment" + } + }, + "/inbound/fba/2024-03-20/inboundPlans/{inboundPlanId}/shipments/{shipmentId}/deliveryChallanDocument": { + "get": { + "produces": [ + "application/json" + ], + "parameters": [ + { + "description": "Identifier to an inbound plan.", + "in": "path", + "maxLength": 38, + "minLength": 38, + "name": "inboundPlanId", + "pattern": "^[a-zA-Z0-9-]*$", + "required": true, + "type": "string" + }, + { + "description": "Identifier to a shipment. A shipment contains the boxes and units being inbounded.", + "in": "path", + "maxLength": 38, + "minLength": 38, + "name": "shipmentId", + "pattern": "^[a-zA-Z0-9-]*$", + "required": true, + "type": "string" + } + ], + "responses": { + "200": { + "description": "GetDeliveryChallanDocument 200 response", + "schema": { + "$ref": "#/definitions/GetDeliveryChallanDocumentResponse" + }, + "x-amzn-api-sandbox": { + "static": [ + { + "request": { + "parameters": { + "inboundPlanId": { + "value": "wf1234abcd-1234-abcd-5678-1234abcd5678" + }, + "shipmentId": { + "value": "sh1234abcd-1234-abcd-5678-1234abcd5678" + } + } + }, + "response": { + "documentDownload": { + "uri": "https://s3.amazonaws.com/bucket", + "downloadType": "URL", + "expiration": "2024-01-01T00:00:00.000Z" + } + } + } + ] + }, + "headers": { + "x-amzn-RequestId": { + "description": "Unique request reference identifier.", + "type": "string" + }, + "x-amzn-RateLimit-Limit": { + "description": "Your rate limit (requests per second) for this operation.", + "type": "string" + } + } + }, + "400": { + "description": "Request has missing or invalid parameters and cannot be parsed.", + "schema": { + "$ref": "#/definitions/ErrorList" + }, + "x-amzn-api-sandbox": { + "static": [ + { + "request": { + "parameters": { + "inboundPlanId": { + "value": "wf1234abcd-1234-abcd-5678-1234abcd5678" + }, + "shipmentId": { + "value": "bad234abcd-1234-abcd-5678-1234abcd5678" + } + } + }, + "response": { + "errors": [ + { + "code": "BadRequest", + "message": "The requested shipmentId does not exist for the specified inbound plan." + } + ] + } + } + ] + }, + "headers": { + "x-amzn-RequestId": { + "description": "Unique request reference identifier.", + "type": "string" + }, + "x-amzn-RateLimit-Limit": { + "description": "Your rate limit (requests per second) for this operation.", + "type": "string" + } + } + }, + "500": { + "description": "An unexpected condition occurred that prevented the server from fulfilling the request.", + "schema": { + "$ref": "#/definitions/ErrorList" + }, + "headers": { + "x-amzn-RequestId": { + "description": "Unique request reference identifier.", + "type": "string" + } + } + }, + "403": { + "description": "Indicates that access to the resource is forbidden. Possible reasons include Access Denied, Unauthorized, Expired Token, or Invalid Signature.", + "schema": { + "$ref": "#/definitions/ErrorList" + }, + "headers": { + "x-amzn-RequestId": { + "description": "Unique request reference identifier.", + "type": "string" + } + } + }, + "404": { + "description": "The resource specified does not exist.", + "schema": { + "$ref": "#/definitions/ErrorList" + }, + "headers": { + "x-amzn-RequestId": { + "description": "Unique request reference identifier.", + "type": "string" + }, + "x-amzn-RateLimit-Limit": { + "description": "Your rate limit (requests per second) for this operation.", + "type": "string" + } + } + }, + "413": { + "description": "The request size exceeded the maximum accepted size.", + "schema": { + "$ref": "#/definitions/ErrorList" + }, + "headers": { + "x-amzn-RequestId": { + "description": "Unique request reference identifier.", + "type": "string" + } + } + }, + "415": { + "description": "The request payload is in an unsupported format.", + "schema": { + "$ref": "#/definitions/ErrorList" + }, + "headers": { + "x-amzn-RequestId": { + "description": "Unique request reference identifier.", + "type": "string" + } + } + }, + "429": { + "description": "The frequency of requests was greater than allowed.", + "schema": { + "$ref": "#/definitions/ErrorList" + }, + "headers": { + "x-amzn-RequestId": { + "description": "Unique request reference identifier.", + "type": "string" + } + } + }, + "503": { + "description": "Temporary overloading or maintenance of the server.", + "schema": { + "$ref": "#/definitions/ErrorList" + }, + "headers": { + "x-amzn-RequestId": { + "description": "Unique request reference identifier.", + "type": "string" + } + } + } + }, + "tags": [ + "fbaInbound" + ], + "description": "Provide delivery challan document for PCP transportation in IN marketplace.\n\n**Usage Plan:**\n\n| Rate (requests per second) | Burst |\n| ---- | ---- |\n| 1 | 1 |\n\nThe `x-amzn-RateLimit-Limit` response header returns the usage plan rate limits that were applied to the requested operation, when available. The table above indicates the default rate and burst values for this operation. Selling partners whose business demands require higher throughput may see higher rate and burst values than those shown here. For more information, refer to [Usage Plans and Rate Limits in the Selling Partner API](https://developer-docs.amazon.com/sp-api/docs/usage-plans-and-rate-limits-in-the-sp-api).", + "operationId": "getDeliveryChallanDocument" + } + }, + "/inbound/fba/2024-03-20/inboundPlans/{inboundPlanId}/shipments/{shipmentId}/deliveryWindow": { + "post": { + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "parameters": [ + { + "description": "Identifier to an inbound plan.", + "in": "path", + "maxLength": 38, + "minLength": 38, + "name": "inboundPlanId", + "pattern": "^[a-zA-Z0-9-]*$", + "required": true, + "type": "string" + }, + { + "description": "Identifier to a shipment. A shipment contains the boxes and units being inbounded.", + "in": "path", + "maxLength": 38, + "minLength": 38, + "name": "shipmentId", + "pattern": "^[a-zA-Z0-9-]*$", + "required": true, + "type": "string" + }, + { + "in": "body", + "name": "body", + "required": true, + "schema": { + "$ref": "#/definitions/UpdateShipmentDeliveryWindowRequest" + }, + "description": "The body of the request to `updateShipmentDeliveryWindow`." + } + ], + "responses": { + "202": { + "description": "UpdateShipmentDeliveryWindow 202 response", + "schema": { + "$ref": "#/definitions/UpdateShipmentDeliveryWindowResponse" + }, + "x-amzn-api-sandbox": { + "static": [ + { + "request": { + "parameters": { + "inboundPlanId": { + "value": "wf1234abcd-1234-abcd-5678-1234abcd5678" + }, + "shipmentId": { + "value": "sh1234abcd-1234-abcd-5678-1234abcd5678" + }, + "body": { + "value": { + "deliveryWindow": { + "start": "2024-01-01T00:00Z" + } + } + } + } + }, + "response": { + "operationId": "1234abcd-1234-abcd-5678-1234abcd5678" + } + } + ] + }, + "headers": { + "x-amzn-RequestId": { + "description": "Unique request reference identifier.", + "type": "string" + }, + "x-amzn-RateLimit-Limit": { + "description": "Your rate limit (requests per second) for this operation.", + "type": "string" + } + } + }, + "400": { + "description": "Request has missing or invalid parameters and cannot be parsed.", + "schema": { + "$ref": "#/definitions/ErrorList" + }, + "x-amzn-api-sandbox": { + "static": [ + { + "request": { + "parameters": { + "inboundPlanId": { + "value": "wf1234abcd-1234-abcd-5678-1234abcd5678" + }, + "shipmentId": { + "value": "bad234abcd-1234-abcd-5678-1234abcd5678" + }, + "body": { + "value": { + "deliveryWindow": { + "start": "2024-01-01T00:00Z" + } + } + } + } + }, + "response": { + "errors": [ + { + "code": "BadRequest", + "message": "The requested shipmentId does not exist for the specified inbound plan." + } + ] + } + } + ] + }, + "headers": { + "x-amzn-RequestId": { + "description": "Unique request reference identifier.", + "type": "string" + }, + "x-amzn-RateLimit-Limit": { + "description": "Your rate limit (requests per second) for this operation.", + "type": "string" + } + } + }, + "500": { + "description": "An unexpected condition occurred that prevented the server from fulfilling the request.", + "schema": { + "$ref": "#/definitions/ErrorList" + }, + "headers": { + "x-amzn-RequestId": { + "description": "Unique request reference identifier.", + "type": "string" + } + } + }, + "403": { + "description": "Indicates that access to the resource is forbidden. Possible reasons include Access Denied, Unauthorized, Expired Token, or Invalid Signature.", + "schema": { + "$ref": "#/definitions/ErrorList" + }, + "headers": { + "x-amzn-RequestId": { + "description": "Unique request reference identifier.", + "type": "string" + } + } + }, + "404": { + "description": "The resource specified does not exist.", + "schema": { + "$ref": "#/definitions/ErrorList" + }, + "headers": { + "x-amzn-RequestId": { + "description": "Unique request reference identifier.", + "type": "string" + }, + "x-amzn-RateLimit-Limit": { + "description": "Your rate limit (requests per second) for this operation.", + "type": "string" + } + } + }, + "413": { + "description": "The request size exceeded the maximum accepted size.", + "schema": { + "$ref": "#/definitions/ErrorList" + }, + "headers": { + "x-amzn-RequestId": { + "description": "Unique request reference identifier.", + "type": "string" + } + } + }, + "415": { + "description": "The request payload is in an unsupported format.", + "schema": { + "$ref": "#/definitions/ErrorList" + }, + "headers": { + "x-amzn-RequestId": { + "description": "Unique request reference identifier.", + "type": "string" + } + } + }, + "429": { + "description": "The frequency of requests was greater than allowed.", + "schema": { + "$ref": "#/definitions/ErrorList" + }, + "headers": { + "x-amzn-RequestId": { + "description": "Unique request reference identifier.", + "type": "string" + } + } + }, + "503": { + "description": "Temporary overloading or maintenance of the server.", + "schema": { + "$ref": "#/definitions/ErrorList" + }, + "headers": { + "x-amzn-RequestId": { + "description": "Unique request reference identifier.", + "type": "string" + } + } + } + }, + "tags": [ + "fbaInbound" + ], + "description": "Update the time window that a shipment will be delivered to the warehouse. The window is used to provide the expected time that a non-Amazon partnered carrier will arrive at the warehouse.\n\n**Usage Plan:**\n\n| Rate (requests per second) | Burst |\n| ---- | ---- |\n| 1 | 1 |\n\nThe `x-amzn-RateLimit-Limit` response header returns the usage plan rate limits that were applied to the requested operation, when available. The table above indicates the default rate and burst values for this operation. Selling partners whose business demands require higher throughput may see higher rate and burst values than those shown here. For more information, refer to [Usage Plans and Rate Limits in the Selling Partner API](https://developer-docs.amazon.com/sp-api/docs/usage-plans-and-rate-limits-in-the-sp-api).", + "operationId": "updateShipmentDeliveryWindow" + } + }, + "/inbound/fba/2024-03-20/inboundPlans/{inboundPlanId}/shipments/{shipmentId}/selfShipAppointmentSlots": { + "get": { + "produces": [ + "application/json" + ], + "parameters": [ + { + "description": "Identifier to an inbound plan.", + "in": "path", + "maxLength": 38, + "minLength": 38, + "name": "inboundPlanId", + "pattern": "^[a-zA-Z0-9-]*$", + "required": true, + "type": "string" + }, + { + "description": "Identifier to a shipment. A shipment contains the boxes and units being inbounded.", + "in": "path", + "maxLength": 38, + "minLength": 38, + "name": "shipmentId", + "pattern": "^[a-zA-Z0-9-]*$", + "required": true, + "type": "string" + }, + { + "description": "The number of self ship appointment slots to return in the response matching the given query.", + "in": "query", + "maximum": 100, + "minimum": 1, + "name": "pageSize", + "type": "integer", + "default": 10 + }, + { + "description": "A token to fetch a certain page when there are multiple pages worth of results. The value of this token is fetched from the `pagination` returned in the API response. In the absence of the token value from the query parameter the API returns the first page of the result.", + "in": "query", + "maxLength": 1024, + "minLength": 0, + "name": "paginationToken", + "type": "string" + } + ], + "responses": { + "200": { + "description": "GetSelfShipAppointmentSlots 200 response", + "schema": { + "$ref": "#/definitions/GetSelfShipAppointmentSlotsResponse" + }, + "x-amzn-api-sandbox": { + "static": [ + { + "request": { + "parameters": { + "inboundPlanId": { + "value": "wf1234abcd-1234-abcd-5678-1234abcd5678" + }, + "shipmentId": { + "value": "sh1234abcd-1234-abcd-5678-1234abcd5678" + }, + "pageSize": { + "value": 2 + }, + "paginationToken": { + "value": "paginationToken" + } + } + }, + "response": { + "selfShipAppointmentSlotsAvailability": { + "expiresAt": "2024-01-02T00:00:00.000Z", + "slots": [ + { + "slotId": "aa1234abcd-1234-abcd-5678-1234abcd5678", + "slotTime": { + "startTime": "2024-01-01T00:00:00.000Z", + "endTime": "2024-01-02T00:00:00.000Z" + } + } + ] + }, + "pagination": { + "nextToken": "nextPaginationToken" + } + } + } + ] + }, + "headers": { + "x-amzn-RequestId": { + "description": "Unique request reference identifier.", + "type": "string" + }, + "x-amzn-RateLimit-Limit": { + "description": "Your rate limit (requests per second) for this operation.", + "type": "string" + } + } + }, + "400": { + "description": "Request has missing or invalid parameters and cannot be parsed.", + "schema": { + "$ref": "#/definitions/ErrorList" + }, + "x-amzn-api-sandbox": { + "static": [ + { + "request": { + "parameters": { + "inboundPlanId": { + "value": "wf1234abcd-1234-abcd-5678-1234abcd5678" + }, + "shipmentId": { + "value": "bad234abcd-1234-abcd-5678-1234abcd5678" + } + } + }, + "response": { + "errors": [ + { + "code": "BadRequest", + "message": "The requested shipmentId does not exist for the given inbound plan." + } + ] + } + } + ] + }, + "headers": { + "x-amzn-RequestId": { + "description": "Unique request reference identifier.", + "type": "string" + }, + "x-amzn-RateLimit-Limit": { + "description": "Your rate limit (requests per second) for this operation.", + "type": "string" + } + } + }, + "500": { + "description": "An unexpected condition occurred that prevented the server from fulfilling the request.", + "schema": { + "$ref": "#/definitions/ErrorList" + }, + "headers": { + "x-amzn-RequestId": { + "description": "Unique request reference identifier.", + "type": "string" + } + } + }, + "403": { + "description": "Indicates that access to the resource is forbidden. Possible reasons include Access Denied, Unauthorized, Expired Token, or Invalid Signature.", + "schema": { + "$ref": "#/definitions/ErrorList" + }, + "headers": { + "x-amzn-RequestId": { + "description": "Unique request reference identifier.", + "type": "string" + } + } + }, + "404": { + "description": "The resource specified does not exist.", + "schema": { + "$ref": "#/definitions/ErrorList" + }, + "headers": { + "x-amzn-RequestId": { + "description": "Unique request reference identifier.", + "type": "string" + }, + "x-amzn-RateLimit-Limit": { + "description": "Your rate limit (requests per second) for this operation.", + "type": "string" + } + } + }, + "413": { + "description": "The request size exceeded the maximum accepted size.", + "schema": { + "$ref": "#/definitions/ErrorList" + }, + "headers": { + "x-amzn-RequestId": { + "description": "Unique request reference identifier.", + "type": "string" + } + } + }, + "415": { + "description": "The request payload is in an unsupported format.", + "schema": { + "$ref": "#/definitions/ErrorList" + }, + "headers": { + "x-amzn-RequestId": { + "description": "Unique request reference identifier.", + "type": "string" + } + } + }, + "429": { + "description": "The frequency of requests was greater than allowed.", + "schema": { + "$ref": "#/definitions/ErrorList" + }, + "headers": { + "x-amzn-RequestId": { + "description": "Unique request reference identifier.", + "type": "string" + } + } + }, + "503": { + "description": "Temporary overloading or maintenance of the server.", + "schema": { + "$ref": "#/definitions/ErrorList" + }, + "headers": { + "x-amzn-RequestId": { + "description": "Unique request reference identifier.", + "type": "string" + } + } + } + }, + "tags": [ + "fbaInbound" + ], + "description": "Retrieves a list of available self-ship appointment slots used to drop off a shipment at a warehouse.\n\n**Usage Plan:**\n\n| Rate (requests per second) | Burst |\n| ---- | ---- |\n| 1 | 1 |\n\nThe `x-amzn-RateLimit-Limit` response header returns the usage plan rate limits that were applied to the requested operation, when available. The table above indicates the default rate and burst values for this operation. Selling partners whose business demands require higher throughput may see higher rate and burst values than those shown here. For more information, refer to [Usage Plans and Rate Limits in the Selling Partner API](https://developer-docs.amazon.com/sp-api/docs/usage-plans-and-rate-limits-in-the-sp-api).", + "operationId": "getSelfShipAppointmentSlots" + }, + "post": { + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "parameters": [ + { + "description": "Identifier to an inbound plan.", + "in": "path", + "maxLength": 38, + "minLength": 38, + "name": "inboundPlanId", + "pattern": "^[a-zA-Z0-9-]*$", + "required": true, + "type": "string" + }, + { + "description": "Identifier to a shipment. A shipment contains the boxes and units being inbounded.", + "in": "path", + "maxLength": 38, + "minLength": 38, + "name": "shipmentId", + "pattern": "^[a-zA-Z0-9-]*$", + "required": true, + "type": "string" + }, + { + "in": "body", + "name": "body", + "required": true, + "schema": { + "$ref": "#/definitions/GenerateSelfShipAppointmentSlotsRequest" + }, + "description": "The body of the request `generateSelfShipAppointmentSlots`." + } + ], + "responses": { + "201": { + "description": "GenerateSelfShipAppointmentSlots 201 response", + "schema": { + "$ref": "#/definitions/GenerateSelfShipAppointmentSlotsResponse" + }, + "x-amzn-api-sandbox": { + "static": [ + { + "request": { + "parameters": { + "inboundPlanId": { + "value": "wf1234abcd-1234-abcd-5678-1234abcd5678" + }, + "shipmentId": { + "value": "sh1234abcd-1234-abcd-5678-1234abcd5678" + }, + "body": { + "value": { + "desiredEndDate": "2024-01-15T00:00:00.000Z", + "desiredStartDate": "2024-01-16T00:00:00.000Z" + } + } + } + }, + "response": { + "operationId": "1234abcd-1234-abcd-5678-1234abcd5678" + } + } + ] + }, + "headers": { + "x-amzn-RequestId": { + "description": "Unique request reference identifier.", + "type": "string" + }, + "x-amzn-RateLimit-Limit": { + "description": "Your rate limit (requests per second) for this operation.", + "type": "string" + } + } + }, + "400": { + "description": "Request has missing or invalid parameters and cannot be parsed.", + "schema": { + "$ref": "#/definitions/ErrorList" + }, + "x-amzn-api-sandbox": { + "static": [ + { + "request": { + "parameters": { + "inboundPlanId": { + "value": "wf1234abcd-1234-abcd-5678-1234abcd5678" + }, + "shipmentId": { + "value": "bad234abcd-1234-abcd-5678-1234abcd5678" + }, + "body": { + "value": { + "desiredEndDate": "2024-01-15T00:00:00.000Z", + "desiredStartDate": "2024-01-16T00:00:00.000Z" + } + } + } + }, + "response": { + "errors": [ + { + "code": "BadRequest", + "message": "The requested shipmentId does not exist in the inbound plan." + } + ] + } + } + ] + }, + "headers": { + "x-amzn-RequestId": { + "description": "Unique request reference identifier.", + "type": "string" + }, + "x-amzn-RateLimit-Limit": { + "description": "Your rate limit (requests per second) for this operation.", + "type": "string" + } + } + }, + "500": { + "description": "An unexpected condition occurred that prevented the server from fulfilling the request.", + "schema": { + "$ref": "#/definitions/ErrorList" + }, + "headers": { + "x-amzn-RequestId": { + "description": "Unique request reference identifier.", + "type": "string" + } + } + }, + "403": { + "description": "Indicates that access to the resource is forbidden. Possible reasons include Access Denied, Unauthorized, Expired Token, or Invalid Signature.", + "schema": { + "$ref": "#/definitions/ErrorList" + }, + "headers": { + "x-amzn-RequestId": { + "description": "Unique request reference identifier.", + "type": "string" + } + } + }, + "404": { + "description": "The resource specified does not exist.", + "schema": { + "$ref": "#/definitions/ErrorList" + }, + "headers": { + "x-amzn-RequestId": { + "description": "Unique request reference identifier.", + "type": "string" + }, + "x-amzn-RateLimit-Limit": { + "description": "Your rate limit (requests per second) for this operation.", + "type": "string" + } + } + }, + "413": { + "description": "The request size exceeded the maximum accepted size.", + "schema": { + "$ref": "#/definitions/ErrorList" + }, + "headers": { + "x-amzn-RequestId": { + "description": "Unique request reference identifier.", + "type": "string" + } + } + }, + "415": { + "description": "The request payload is in an unsupported format.", + "schema": { + "$ref": "#/definitions/ErrorList" + }, + "headers": { + "x-amzn-RequestId": { + "description": "Unique request reference identifier.", + "type": "string" + } + } + }, + "429": { + "description": "The frequency of requests was greater than allowed.", + "schema": { + "$ref": "#/definitions/ErrorList" + }, + "headers": { + "x-amzn-RequestId": { + "description": "Unique request reference identifier.", + "type": "string" + } + } + }, + "503": { + "description": "Temporary overloading or maintenance of the server.", + "schema": { + "$ref": "#/definitions/ErrorList" + }, + "headers": { + "x-amzn-RequestId": { + "description": "Unique request reference identifier.", + "type": "string" + } + } + } + }, + "tags": [ + "fbaInbound" + ], + "description": "Initiates the process of generating the appointment slots list.\n\n**Usage Plan:**\n\n| Rate (requests per second) | Burst |\n| ---- | ---- |\n| 1 | 1 |\n\nThe `x-amzn-RateLimit-Limit` response header returns the usage plan rate limits that were applied to the requested operation, when available. The table above indicates the default rate and burst values for this operation. Selling partners whose business demands require higher throughput may see higher rate and burst values than those shown here. For more information, refer to [Usage Plans and Rate Limits in the Selling Partner API](https://developer-docs.amazon.com/sp-api/docs/usage-plans-and-rate-limits-in-the-sp-api).", + "operationId": "generateSelfShipAppointmentSlots" + } + }, + "/inbound/fba/2024-03-20/inboundPlans/{inboundPlanId}/shipments/{shipmentId}/selfShipAppointmentSlots/{slotId}/cancellation": { + "put": { + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "parameters": [ + { + "description": "Identifier to an inbound plan.", + "in": "path", + "maxLength": 38, + "minLength": 38, + "name": "inboundPlanId", + "pattern": "^[a-zA-Z0-9-]*$", + "required": true, + "type": "string" + }, + { + "description": "Identifier to a shipment. A shipment contains the boxes and units being inbounded.", + "in": "path", + "maxLength": 38, + "minLength": 38, + "name": "shipmentId", + "pattern": "^[a-zA-Z0-9-]*$", + "required": true, + "type": "string" + }, + { + "description": "Identifier to a self-ship appointment slot.", + "in": "path", + "maxLength": 38, + "minLength": 38, + "name": "slotId", + "pattern": "^[a-zA-Z0-9-]*$", + "required": true, + "type": "string" + }, + { + "in": "body", + "name": "body", + "required": true, + "schema": { + "$ref": "#/definitions/CancelSelfShipAppointmentRequest" + }, + "description": "The body of the request to `cancelSelfShipAppointment`." + } + ], + "responses": { + "202": { + "description": "CancelSelfShipAppointment 202 response", + "schema": { + "$ref": "#/definitions/CancelSelfShipAppointmentResponse" + }, + "x-amzn-api-sandbox": { + "static": [ + { + "request": { + "parameters": { + "inboundPlanId": { + "value": "wf1234abcd-1234-abcd-5678-1234abcd5678" + }, + "shipmentId": { + "value": "sh1234abcd-1234-abcd-5678-1234abcd5678" + }, + "slotId": { + "value": "aa1234abcd-1234-abcd-5678-1234abcd5678" + }, + "body": { + "value": { + "reasonComment": "OTHER" + } + } + } + }, + "response": { + "operationId": "1234abcd-1234-abcd-5678-1234abcd5678" + } + } + ] + }, + "headers": { + "x-amzn-RequestId": { + "description": "Unique request reference identifier.", + "type": "string" + }, + "x-amzn-RateLimit-Limit": { + "description": "Your rate limit (requests per second) for this operation.", + "type": "string" + } + } + }, + "400": { + "description": "Request has missing or invalid parameters and cannot be parsed.", + "schema": { + "$ref": "#/definitions/ErrorList" + }, + "x-amzn-api-sandbox": { + "static": [ + { + "request": { + "parameters": { + "inboundPlanId": { + "value": "wf1234abcd-1234-abcd-5678-1234abcd5678" + }, + "shipmentId": { + "value": "bad234abcd-1234-abcd-5678-1234abcd5678" + }, + "slotId": { + "value": "aa1234abcd-1234-abcd-5678-1234abcd5678" + }, + "body": { + "value": { + "reasonComment": "OTHER" + } + } + } + }, + "response": { + "errors": [ + { + "code": "BadRequest", + "message": "The requested shipmentId does not exist for the specified inbound plan." + } + ] + } + } + ] + }, + "headers": { + "x-amzn-RequestId": { + "description": "Unique request reference identifier.", + "type": "string" + }, + "x-amzn-RateLimit-Limit": { + "description": "Your rate limit (requests per second) for this operation.", + "type": "string" + } + } + }, + "500": { + "description": "An unexpected condition occurred that prevented the server from fulfilling the request.", + "schema": { + "$ref": "#/definitions/ErrorList" + }, + "headers": { + "x-amzn-RequestId": { + "description": "Unique request reference identifier.", + "type": "string" + } + } + }, + "403": { + "description": "Indicates that access to the resource is forbidden. Possible reasons include Access Denied, Unauthorized, Expired Token, or Invalid Signature.", + "schema": { + "$ref": "#/definitions/ErrorList" + }, + "headers": { + "x-amzn-RequestId": { + "description": "Unique request reference identifier.", + "type": "string" + } + } + }, + "404": { + "description": "The resource specified does not exist.", + "schema": { + "$ref": "#/definitions/ErrorList" + }, + "headers": { + "x-amzn-RequestId": { + "description": "Unique request reference identifier.", + "type": "string" + }, + "x-amzn-RateLimit-Limit": { + "description": "Your rate limit (requests per second) for this operation.", + "type": "string" + } + } + }, + "413": { + "description": "The request size exceeded the maximum accepted size.", + "schema": { + "$ref": "#/definitions/ErrorList" + }, + "headers": { + "x-amzn-RequestId": { + "description": "Unique request reference identifier.", + "type": "string" + } + } + }, + "415": { + "description": "The request payload is in an unsupported format.", + "schema": { + "$ref": "#/definitions/ErrorList" + }, + "headers": { + "x-amzn-RequestId": { + "description": "Unique request reference identifier.", + "type": "string" + } + } + }, + "429": { + "description": "The frequency of requests was greater than allowed.", + "schema": { + "$ref": "#/definitions/ErrorList" + }, + "headers": { + "x-amzn-RequestId": { + "description": "Unique request reference identifier.", + "type": "string" + } + } + }, + "503": { + "description": "Temporary overloading or maintenance of the server.", + "schema": { + "$ref": "#/definitions/ErrorList" + }, + "headers": { + "x-amzn-RequestId": { + "description": "Unique request reference identifier.", + "type": "string" + } + } + } + }, + "tags": [ + "fbaInbound" + ], + "description": "Cancels a self-ship appointment slot against a shipment.\n\n**Usage Plan:**\n\n| Rate (requests per second) | Burst |\n| ---- | ---- |\n| 1 | 1 |\n\nThe `x-amzn-RateLimit-Limit` response header returns the usage plan rate limits that were applied to the requested operation, when available. The table above indicates the default rate and burst values for this operation. Selling partners whose business demands require higher throughput may see higher rate and burst values than those shown here. For more information, refer to [Usage Plans and Rate Limits in the Selling Partner API](https://developer-docs.amazon.com/sp-api/docs/usage-plans-and-rate-limits-in-the-sp-api).", + "operationId": "cancelSelfShipAppointment" + } + }, + "/inbound/fba/2024-03-20/inboundPlans/{inboundPlanId}/shipments/{shipmentId}/selfShipAppointmentSlots/{slotId}/schedule": { + "post": { + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "parameters": [ + { + "description": "Identifier to an inbound plan.", + "in": "path", + "maxLength": 38, + "minLength": 38, + "name": "inboundPlanId", + "pattern": "^[a-zA-Z0-9-]*$", + "required": true, + "type": "string" + }, + { + "description": "Identifier to a shipment. A shipment contains the boxes and units being inbounded.", + "in": "path", + "maxLength": 38, + "minLength": 38, + "name": "shipmentId", + "pattern": "^[a-zA-Z0-9-]*$", + "required": true, + "type": "string" + }, + { + "description": "Identifier to a self-ship appointment slot.", + "in": "path", + "maxLength": 38, + "minLength": 38, + "name": "slotId", + "pattern": "^[a-zA-Z0-9-]*$", + "required": true, + "type": "string" + }, + { + "in": "body", + "name": "body", + "required": true, + "schema": { + "$ref": "#/definitions/ScheduleSelfShipAppointmentRequest" + }, + "description": "The body of the request to `scheduleSelfShipAppointment`." + } + ], + "responses": { + "200": { + "description": "ScheduleSelfShipAppointment 200 response", + "schema": { + "$ref": "#/definitions/ScheduleSelfShipAppointmentResponse" + }, + "x-amzn-api-sandbox": { + "static": [ + { + "request": { + "parameters": { + "inboundPlanId": { + "value": "wf1234abcd-1234-abcd-5678-1234abcd5678" + }, + "shipmentId": { + "value": "sh1234abcd-1234-abcd-5678-1234abcd5678" + }, + "slotId": { + "value": "aa1234abcd-1234-abcd-5678-1234abcd5678" + }, + "body": { + "value": { + "reasonComment": "OTHER" + } + } + } + }, + "response": { + "selfShipAppointmentDetails": { + "appointmentId": 1000, + "appointmentSlotTime": { + "startTime": "2023-03-08T13:15:30Z", + "endTime": "2023-03-09T13:15:30Z" + }, + "appointmentStatus": "ARRIVAL_SCHEDULED" + } + } + } + ] + }, + "headers": { + "x-amzn-RequestId": { + "description": "Unique request reference identifier.", + "type": "string" + }, + "x-amzn-RateLimit-Limit": { + "description": "Your rate limit (requests per second) for this operation.", + "type": "string" + } + } + }, + "400": { + "description": "Request has missing or invalid parameters and cannot be parsed.", + "schema": { + "$ref": "#/definitions/ErrorList" + }, + "x-amzn-api-sandbox": { + "static": [ + { + "request": { + "parameters": { + "inboundPlanId": { + "value": "wf1234abcd-1234-abcd-5678-1234abcd5678" + }, + "shipmentId": { + "value": "bad234abcd-1234-abcd-5678-1234abcd5678" + }, + "slotId": { + "value": "aa1234abcd-1234-abcd-5678-1234abcd5678" + }, + "body": { + "value": { + "reasonComment": "OTHER" + } + } + } + }, + "response": { + "errors": [ + { + "code": "BadRequest", + "message": "The requested shipmentId does not exist for the specified inbound plan." + } + ] + } + } + ] + }, + "headers": { + "x-amzn-RequestId": { + "description": "Unique request reference identifier.", + "type": "string" + }, + "x-amzn-RateLimit-Limit": { + "description": "Your rate limit (requests per second) for this operation.", + "type": "string" + } + } + }, + "500": { + "description": "An unexpected condition occurred that prevented the server from fulfilling the request.", + "schema": { + "$ref": "#/definitions/ErrorList" + }, + "headers": { + "x-amzn-RequestId": { + "description": "Unique request reference identifier.", + "type": "string" + } + } + }, + "403": { + "description": "Indicates that access to the resource is forbidden. Possible reasons include Access Denied, Unauthorized, Expired Token, or Invalid Signature.", + "schema": { + "$ref": "#/definitions/ErrorList" + }, + "headers": { + "x-amzn-RequestId": { + "description": "Unique request reference identifier.", + "type": "string" + } + } + }, + "404": { + "description": "The resource specified does not exist.", + "schema": { + "$ref": "#/definitions/ErrorList" + }, + "headers": { + "x-amzn-RequestId": { + "description": "Unique request reference identifier.", + "type": "string" + }, + "x-amzn-RateLimit-Limit": { + "description": "Your rate limit (requests per second) for this operation.", + "type": "string" + } + } + }, + "413": { + "description": "The request size exceeded the maximum accepted size.", + "schema": { + "$ref": "#/definitions/ErrorList" + }, + "headers": { + "x-amzn-RequestId": { + "description": "Unique request reference identifier.", + "type": "string" + } + } + }, + "415": { + "description": "The request payload is in an unsupported format.", + "schema": { + "$ref": "#/definitions/ErrorList" + }, + "headers": { + "x-amzn-RequestId": { + "description": "Unique request reference identifier.", + "type": "string" + } + } + }, + "429": { + "description": "The frequency of requests was greater than allowed.", + "schema": { + "$ref": "#/definitions/ErrorList" + }, + "headers": { + "x-amzn-RequestId": { + "description": "Unique request reference identifier.", + "type": "string" + } + } + }, + "503": { + "description": "Temporary overloading or maintenance of the server.", + "schema": { + "$ref": "#/definitions/ErrorList" + }, + "headers": { + "x-amzn-RequestId": { + "description": "Unique request reference identifier.", + "type": "string" + } + } + } + }, + "tags": [ + "fbaInbound" + ], + "description": "Confirms or reschedules a self-ship appointment slot against a shipment.\n\n**Usage Plan:**\n\n| Rate (requests per second) | Burst |\n| ---- | ---- |\n| 1 | 1 |\n\nThe `x-amzn-RateLimit-Limit` response header returns the usage plan rate limits that were applied to the requested operation, when available. The table above indicates the default rate and burst values for this operation. Selling partners whose business demands require higher throughput may see higher rate and burst values than those shown here. For more information, refer to [Usage Plans and Rate Limits in the Selling Partner API](https://developer-docs.amazon.com/sp-api/docs/usage-plans-and-rate-limits-in-the-sp-api).", + "operationId": "scheduleSelfShipAppointment" + } + }, + "/inbound/fba/2024-03-20/inboundPlans/{inboundPlanId}/shipments/{shipmentId}/trackingDetails": { + "put": { + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "parameters": [ + { + "description": "Identifier to an inbound plan.", + "in": "path", + "maxLength": 38, + "minLength": 38, + "name": "inboundPlanId", + "pattern": "^[a-zA-Z0-9-]*$", + "required": true, + "type": "string" + }, + { + "description": "Identifier to a shipment. A shipment contains the boxes and units being inbounded.", + "in": "path", + "maxLength": 38, + "minLength": 38, + "name": "shipmentId", + "pattern": "^[a-zA-Z0-9-]*$", + "required": true, + "type": "string" + }, + { + "in": "body", + "name": "body", + "required": true, + "schema": { + "$ref": "#/definitions/UpdateShipmentTrackingDetailsRequest" + }, + "description": "The body of the request to `updateShipmentTrackingDetails`." + } + ], + "responses": { + "202": { + "description": "UpdateShipmentTrackingDetails 202 response", + "schema": { + "$ref": "#/definitions/UpdateShipmentTrackingDetailsResponse" + }, + "x-amzn-api-sandbox": { + "static": [ + { + "request": { + "parameters": { + "inboundPlanId": { + "value": "wf1234abcd-1234-abcd-5678-1234abcd5678" + }, + "shipmentId": { + "value": "sh1234abcd-1234-abcd-5678-1234abcd5678" + }, + "body": { + "value": { + "trackingDetails": { + "ltlTrackingDetail": { + "freightBillNumber": [ + "freightBillNumber1" + ], + "billOfLadingNumber": "billOfLadingNumber" + }, + "spdTrackingDetail": { + "spdTrackingItems": [ + { + "boxId": "boxId", + "trackingId": "trackingId" + } + ] + } + } + } + } + } + }, + "response": { + "operationId": "1234abcd-1234-abcd-5678-1234abcd5678" + } + } + ] + }, + "headers": { + "x-amzn-RequestId": { + "description": "Unique request reference identifier.", + "type": "string" + }, + "x-amzn-RateLimit-Limit": { + "description": "Your rate limit (requests per second) for this operation.", + "type": "string" + } + } + }, + "400": { + "description": "Request has missing or invalid parameters and cannot be parsed.", + "schema": { + "$ref": "#/definitions/ErrorList" + }, + "x-amzn-api-sandbox": { + "static": [ + { + "request": { + "parameters": { + "inboundPlanId": { + "value": "wf1234abcd-1234-abcd-5678-1234abcd5678" + }, + "shipmentId": { + "value": "bad234abcd-1234-abcd-5678-1234abcd5678" + }, + "body": { + "value": { + "trackingDetails": { + "ltlTrackingDetail": { + "freightBillNumber": [ + "freightBillNumber1" + ], + "billOfLadingNumber": "billOfLadingNumber" + }, + "spdTrackingDetail": { + "spdTrackingItems": [ + { + "boxId": "boxId", + "trackingId": "trackingId" + } + ] + } + } + } + } + } + }, + "response": { + "errors": [ + { + "code": "BadRequest", + "message": "The requested shipmentId does not exist for the specified inbound plan." + } + ] + } + } + ] + }, + "headers": { + "x-amzn-RequestId": { + "description": "Unique request reference identifier.", + "type": "string" + }, + "x-amzn-RateLimit-Limit": { + "description": "Your rate limit (requests per second) for this operation.", + "type": "string" + } + } + }, + "500": { + "description": "An unexpected condition occurred that prevented the server from fulfilling the request.", + "schema": { + "$ref": "#/definitions/ErrorList" + }, + "headers": { + "x-amzn-RequestId": { + "description": "Unique request reference identifier.", + "type": "string" + } + } + }, + "403": { + "description": "Indicates that access to the resource is forbidden. Possible reasons include Access Denied, Unauthorized, Expired Token, or Invalid Signature.", + "schema": { + "$ref": "#/definitions/ErrorList" + }, + "headers": { + "x-amzn-RequestId": { + "description": "Unique request reference identifier.", + "type": "string" + } + } + }, + "404": { + "description": "The resource specified does not exist.", + "schema": { + "$ref": "#/definitions/ErrorList" + }, + "headers": { + "x-amzn-RequestId": { + "description": "Unique request reference identifier.", + "type": "string" + }, + "x-amzn-RateLimit-Limit": { + "description": "Your rate limit (requests per second) for this operation.", + "type": "string" + } + } + }, + "413": { + "description": "The request size exceeded the maximum accepted size.", + "schema": { + "$ref": "#/definitions/ErrorList" + }, + "headers": { + "x-amzn-RequestId": { + "description": "Unique request reference identifier.", + "type": "string" + } + } + }, + "415": { + "description": "The request payload is in an unsupported format.", + "schema": { + "$ref": "#/definitions/ErrorList" + }, + "headers": { + "x-amzn-RequestId": { + "description": "Unique request reference identifier.", + "type": "string" + } + } + }, + "429": { + "description": "The frequency of requests was greater than allowed.", + "schema": { + "$ref": "#/definitions/ErrorList" + }, + "headers": { + "x-amzn-RequestId": { + "description": "Unique request reference identifier.", + "type": "string" + } + } + }, + "503": { + "description": "Temporary overloading or maintenance of the server.", + "schema": { + "$ref": "#/definitions/ErrorList" + }, + "headers": { + "x-amzn-RequestId": { + "description": "Unique request reference identifier.", + "type": "string" + } + } + } + }, + "tags": [ + "fbaInbound" + ], + "description": "Updates a shipment's tracking details.\n\n**Usage Plan:**\n\n| Rate (requests per second) | Burst |\n| ---- | ---- |\n| 1 | 1 |\n\nThe `x-amzn-RateLimit-Limit` response header returns the usage plan rate limits that were applied to the requested operation, when available. The table above indicates the default rate and burst values for this operation. Selling partners whose business demands require higher throughput may see higher rate and burst values than those shown here. For more information, refer to [Usage Plans and Rate Limits in the Selling Partner API](https://developer-docs.amazon.com/sp-api/docs/usage-plans-and-rate-limits-in-the-sp-api).", + "operationId": "updateShipmentTrackingDetails" + } + }, + "/inbound/fba/2024-03-20/inboundPlans/{inboundPlanId}/transportationOptions": { + "get": { + "produces": [ + "application/json" + ], + "parameters": [ + { + "description": "Identifier to an inbound plan.", + "in": "path", + "maxLength": 38, + "minLength": 38, + "name": "inboundPlanId", + "pattern": "^[a-zA-Z0-9-]*$", + "required": true, + "type": "string" + }, + { + "description": "The number of transportation options to return in the response matching the given query.", + "in": "query", + "maximum": 20, + "minimum": 1, + "name": "pageSize", + "type": "integer", + "default": 10 + }, + { + "description": "A token to fetch a certain page when there are multiple pages worth of results. The value of this token is fetched from the `pagination` returned in the API response. In the absence of the token value from the query parameter the API returns the first page of the result.", + "in": "query", + "maxLength": 1024, + "minLength": 0, + "name": "paginationToken", + "type": "string" + }, + { + "description": "The placement option to get transportation options for. Either placementOptionId or shipmentId must be specified.", + "in": "query", + "maxLength": 38, + "minLength": 38, + "name": "placementOptionId", + "pattern": "^[a-zA-Z0-9-]*$", + "type": "string" + }, + { + "description": "The shipment to get transportation options for. Either placementOptionId or shipmentId must be specified.", + "in": "query", + "maxLength": 38, + "minLength": 38, + "name": "shipmentId", + "pattern": "^[a-zA-Z0-9-]*$", + "type": "string" + } + ], + "responses": { + "200": { + "description": "ListTransportationOptions 200 response", + "schema": { + "$ref": "#/definitions/ListTransportationOptionsResponse" + }, + "x-amzn-api-sandbox": { + "static": [ + { + "request": { + "parameters": { + "inboundPlanId": { + "value": "wf1234abcd-1234-abcd-5678-1234abcd5678" + }, + "placementOptionId": { + "value": "pl1234abcd-1234-abcd-5678-1234abcd5678" + }, + "shipmentId": { + "value": "sh1234abcd-1234-abcd-5678-1234abcd5678" + }, + "pageSize": { + "value": 2 + }, + "paginationToken": { + "value": "paginationToken" + } + } + }, + "response": { + "transportationOptions": [ + { + "inboundPlanId": "wf1234abcd-1234-abcd-5678-1234abcd5678", + "placementOptionId": "pl1234abcd-1234-abcd-5678-1234abcd5678", + "shipmentId": "sh1234abcd-1234-abcd-5678-1234abcd5678", + "transportationOptionId": "to1234abcd-1234-abcd-5678-1234abcd5678", + "shippingSolution": "AMAZON_PARTNERED_CARRIER", + "carrier": { + "name": "name", + "alphaCode": "USPS" + }, + "shippingMode": "GROUND_SMALL_PARCEL", + "quote": { + "cost": { + "code": "USD", + "amount": 500.0 + }, + "voidableUntil": "2024-01-01T00:00:00.000Z", + "expiration": "2024-01-01T00:00:00.000Z" + }, + "appointmentSlot": { + "slotId": "aa1234abcd-1234-abcd-5678-1234abcd5678", + "slotTime": { + "startTime": "2024-01-01T00:00Z", + "endTime": "2024-01-01T00:00Z" + } + } + } + ], + "pagination": { + "nextToken": "nextPaginationToken" + } + } + } + ] + }, + "headers": { + "x-amzn-RequestId": { + "description": "Unique request reference identifier.", + "type": "string" + }, + "x-amzn-RateLimit-Limit": { + "description": "Your rate limit (requests per second) for this operation.", + "type": "string" + } + } + }, + "400": { + "description": "Request has missing or invalid parameters and cannot be parsed.", + "schema": { + "$ref": "#/definitions/ErrorList" + }, + "x-amzn-api-sandbox": { + "static": [ + { + "request": { + "parameters": { + "inboundPlanId": { + "value": "wf1234abcd-1234-abcd-5678-1234abcd5678" + }, + "placementOptionId": { + "value": "pl1234abcd-1234-abcd-5678-1234abcd5678" + }, + "shipmentId": { + "value": "bad234abcd-1234-abcd-5678-1234abcd5678" + }, + "pageSize": { + "value": 2 + }, + "paginationToken": { + "value": "paginationToken" + } + } + }, + "response": { + "errors": [ + { + "code": "BadRequest", + "message": "The requested shipmentId does not exist for the specified inbound plan." + } + ] + } + } + ] + }, + "headers": { + "x-amzn-RequestId": { + "description": "Unique request reference identifier.", + "type": "string" + }, + "x-amzn-RateLimit-Limit": { + "description": "Your rate limit (requests per second) for this operation.", + "type": "string" + } + } + }, + "500": { + "description": "An unexpected condition occurred that prevented the server from fulfilling the request.", + "schema": { + "$ref": "#/definitions/ErrorList" + }, + "headers": { + "x-amzn-RequestId": { + "description": "Unique request reference identifier.", + "type": "string" + } + } + }, + "403": { + "description": "Indicates that access to the resource is forbidden. Possible reasons include Access Denied, Unauthorized, Expired Token, or Invalid Signature.", + "schema": { + "$ref": "#/definitions/ErrorList" + }, + "headers": { + "x-amzn-RequestId": { + "description": "Unique request reference identifier.", + "type": "string" + } + } + }, + "404": { + "description": "The resource specified does not exist.", + "schema": { + "$ref": "#/definitions/ErrorList" + }, + "headers": { + "x-amzn-RequestId": { + "description": "Unique request reference identifier.", + "type": "string" + }, + "x-amzn-RateLimit-Limit": { + "description": "Your rate limit (requests per second) for this operation.", + "type": "string" + } + } + }, + "413": { + "description": "The request size exceeded the maximum accepted size.", + "schema": { + "$ref": "#/definitions/ErrorList" + }, + "headers": { + "x-amzn-RequestId": { + "description": "Unique request reference identifier.", + "type": "string" + } + } + }, + "415": { + "description": "The request payload is in an unsupported format.", + "schema": { + "$ref": "#/definitions/ErrorList" + }, + "headers": { + "x-amzn-RequestId": { + "description": "Unique request reference identifier.", + "type": "string" + } + } + }, + "429": { + "description": "The frequency of requests was greater than allowed.", + "schema": { + "$ref": "#/definitions/ErrorList" + }, + "headers": { + "x-amzn-RequestId": { + "description": "Unique request reference identifier.", + "type": "string" + } + } + }, + "503": { + "description": "Temporary overloading or maintenance of the server.", + "schema": { + "$ref": "#/definitions/ErrorList" + }, + "headers": { + "x-amzn-RequestId": { + "description": "Unique request reference identifier.", + "type": "string" + } + } + } + }, + "tags": [ + "fbaInbound" + ], + "description": "Retrieves all transportation options for a shipment. Transportation options must first be generated by the corresponding endpoint before becoming available.\n\n**Usage Plan:**\n\n| Rate (requests per second) | Burst |\n| ---- | ---- |\n| 1 | 1 |\n\nThe `x-amzn-RateLimit-Limit` response header returns the usage plan rate limits that were applied to the requested operation, when available. The table above indicates the default rate and burst values for this operation. Selling partners whose business demands require higher throughput may see higher rate and burst values than those shown here. For more information, refer to [Usage Plans and Rate Limits in the Selling Partner API](https://developer-docs.amazon.com/sp-api/docs/usage-plans-and-rate-limits-in-the-sp-api).", + "operationId": "listTransportationOptions" + }, + "post": { + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "parameters": [ + { + "description": "Identifier to an inbound plan.", + "in": "path", + "maxLength": 38, + "minLength": 38, + "name": "inboundPlanId", + "pattern": "^[a-zA-Z0-9-]*$", + "required": true, + "type": "string" + }, + { + "in": "body", + "name": "body", + "required": true, + "schema": { + "$ref": "#/definitions/GenerateTransportationOptionsRequest" + }, + "description": "The body of the request to `generateTransportationOptions`." + } + ], + "responses": { + "202": { + "description": "GenerateTransportationOptions 202 response", + "schema": { + "$ref": "#/definitions/GenerateTransportationOptionsResponse" + }, + "x-amzn-api-sandbox": { + "static": [ + { + "request": { + "parameters": { + "inboundPlanId": { + "value": "wf1234abcd-1234-abcd-5678-1234abcd5678" + }, + "body": { + "value": { + "placementOptionId": "pl1234abcd-1234-abcd-5678-1234abcd5678", + "shipmentTransportationConfigurations": [ + { + "shipmentId": "sh1234abcd-1234-abcd-5678-1234abcd5678", + "readyToShipWindow": { + "start": "2024-01-01T00:00Z" + }, + "contactInformation": { + "name": "name", + "phoneNumber": "1234567890", + "email": "email@email.com" + }, + "palletInformation": { + "pallets": [ + { + "stackability": "STACKABLE", + "weight": { + "unit": "KG", + "value": 5.5 + }, + "dimensions": { + "unitOfMeasurement": "CM", + "length": 3.0, + "width": 4.0, + "height": 5.0 + }, + "quantity": 2 + } + ], + "freightClass": "FC_50", + "declaredValue": { + "code": "USD", + "amount": 500.0 + } + } + } + ] + } + } + } + }, + "response": { + "operationId": "1234abcd-1234-abcd-5678-1234abcd5678" + } + } + ] + }, + "headers": { + "x-amzn-RequestId": { + "description": "Unique request reference identifier.", + "type": "string" + }, + "x-amzn-RateLimit-Limit": { + "description": "Your rate limit (requests per second) for this operation.", + "type": "string" + } + } + }, + "400": { + "description": "Request has missing or invalid parameters and cannot be parsed.", + "schema": { + "$ref": "#/definitions/ErrorList" + }, + "x-amzn-api-sandbox": { + "static": [ + { + "request": { + "parameters": { + "inboundPlanId": { + "value": "wf1234abcd-1234-abcd-5678-1234abcd5678" + }, + "body": { + "value": { + "placementOptionId": "pl1234abcd-1234-abcd-5678-1234abcd5678", + "shipmentTransportationConfigurations": [ + { + "shipmentId": "bad234abcd-1234-abcd-5678-1234abcd5678", + "readyToShipWindow": { + "start": "2024-01-01T00:00Z" + }, + "contactInformation": { + "name": "name", + "phoneNumber": "1234567890", + "email": "email@email.com" + }, + "palletInformation": { + "pallets": [ + { + "stackability": "STACKABLE", + "weight": { + "unit": "KG", + "value": 5.5 + }, + "dimensions": { + "unitOfMeasurement": "CM", + "length": 3.0, + "width": 4.0, + "height": 5.0 + }, + "quantity": 2 + } + ], + "freightClass": "FC_50", + "declaredValue": { + "code": "USD", + "amount": 500.0 + } + } + } + ] + } + } + } + }, + "response": { + "errors": [ + { + "code": "BadRequest", + "message": "The requested shipmentId does not exist under the provided placement option." + } + ] + } + } + ] + }, + "headers": { + "x-amzn-RequestId": { + "description": "Unique request reference identifier.", + "type": "string" + }, + "x-amzn-RateLimit-Limit": { + "description": "Your rate limit (requests per second) for this operation.", + "type": "string" + } + } + }, + "500": { + "description": "An unexpected condition occurred that prevented the server from fulfilling the request.", + "schema": { + "$ref": "#/definitions/ErrorList" + }, + "headers": { + "x-amzn-RequestId": { + "description": "Unique request reference identifier.", + "type": "string" + } + } + }, + "403": { + "description": "Indicates that access to the resource is forbidden. Possible reasons include Access Denied, Unauthorized, Expired Token, or Invalid Signature.", + "schema": { + "$ref": "#/definitions/ErrorList" + }, + "headers": { + "x-amzn-RequestId": { + "description": "Unique request reference identifier.", + "type": "string" + } + } + }, + "404": { + "description": "The resource specified does not exist.", + "schema": { + "$ref": "#/definitions/ErrorList" + }, + "headers": { + "x-amzn-RequestId": { + "description": "Unique request reference identifier.", + "type": "string" + }, + "x-amzn-RateLimit-Limit": { + "description": "Your rate limit (requests per second) for this operation.", + "type": "string" + } + } + }, + "413": { + "description": "The request size exceeded the maximum accepted size.", + "schema": { + "$ref": "#/definitions/ErrorList" + }, + "headers": { + "x-amzn-RequestId": { + "description": "Unique request reference identifier.", + "type": "string" + } + } + }, + "415": { + "description": "The request payload is in an unsupported format.", + "schema": { + "$ref": "#/definitions/ErrorList" + }, + "headers": { + "x-amzn-RequestId": { + "description": "Unique request reference identifier.", + "type": "string" + } + } + }, + "429": { + "description": "The frequency of requests was greater than allowed.", + "schema": { + "$ref": "#/definitions/ErrorList" + }, + "headers": { + "x-amzn-RequestId": { + "description": "Unique request reference identifier.", + "type": "string" + } + } + }, + "503": { + "description": "Temporary overloading or maintenance of the server.", + "schema": { + "$ref": "#/definitions/ErrorList" + }, + "headers": { + "x-amzn-RequestId": { + "description": "Unique request reference identifier.", + "type": "string" + } + } + } + }, + "tags": [ + "fbaInbound" + ], + "description": "Generates available transportation options for a given placement option.\n\n**Usage Plan:**\n\n| Rate (requests per second) | Burst |\n| ---- | ---- |\n| 0.05 | 1 |\n\nThe `x-amzn-RateLimit-Limit` response header returns the usage plan rate limits that were applied to the requested operation, when available. The table above indicates the default rate and burst values for this operation. Selling partners whose business demands require higher throughput may see higher rate and burst values than those shown here. For more information, refer to [Usage Plans and Rate Limits in the Selling Partner API](https://developer-docs.amazon.com/sp-api/docs/usage-plans-and-rate-limits-in-the-sp-api).", + "operationId": "generateTransportationOptions" + } + }, + "/inbound/fba/2024-03-20/inboundPlans/{inboundPlanId}/transportationOptions/confirmation": { + "post": { + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "parameters": [ + { + "description": "Identifier to an inbound plan.", + "in": "path", + "maxLength": 38, + "minLength": 38, + "name": "inboundPlanId", + "pattern": "^[a-zA-Z0-9-]*$", + "required": true, + "type": "string" + }, + { + "in": "body", + "name": "body", + "required": true, + "schema": { + "$ref": "#/definitions/ConfirmTransportationOptionsRequest" + }, + "description": "The body of the request to `confirmTransportationOptions`." + } + ], + "responses": { + "202": { + "description": "ConfirmTransportationOptions 202 response", + "schema": { + "$ref": "#/definitions/ConfirmTransportationOptionsResponse" + }, + "x-amzn-api-sandbox": { + "static": [ + { + "request": { + "parameters": { + "inboundPlanId": { + "value": "wf1234abcd-1234-abcd-5678-1234abcd5678" + }, + "body": { + "value": { + "transportationSelections": [ + { + "shipmentId": "sh1234abcd-1234-abcd-5678-1234abcd5678", + "transportationOptionId": "to1234abcd-1234-abcd-5678-1234abcd5678", + "contactInformation": { + "name": "name", + "phoneNumber": "1234567890", + "email": "email@email.com" + }, + "deliveryWindow": { + "start": "2024-01-01T00:00Z" + } + } + ] + } + } + } + }, + "response": { + "operationId": "1234abcd-1234-abcd-5678-1234abcd5678" + } + } + ] + }, + "headers": { + "x-amzn-RequestId": { + "description": "Unique request reference identifier.", + "type": "string" + }, + "x-amzn-RateLimit-Limit": { + "description": "Your rate limit (requests per second) for this operation.", + "type": "string" + } + } + }, + "400": { + "description": "Request has missing or invalid parameters and cannot be parsed.", + "schema": { + "$ref": "#/definitions/ErrorList" + }, + "x-amzn-api-sandbox": { + "static": [ + { + "request": { + "parameters": { + "inboundPlanId": { + "value": "wfbad4abcd-1234-abcd-5678-1234abcd5678" + }, + "body": { + "value": { + "transportationSelections": [ + { + "shipmentId": "sh1234abcd-1234-abcd-5678-1234abcd5678", + "transportationOptionId": "bad234abcd-1234-abcd-5678-1234abcd5678", + "contactInformation": { + "name": "name", + "phoneNumber": "1234567890", + "email": "email@email.com" + }, + "deliveryWindow": { + "start": "2024-01-01T00:00Z" + } + } + ] + } + } + } + }, + "response": { + "errors": [ + { + "code": "BadRequest", + "message": "The requested transportationOptionId does not exist under the associated shipment." + } + ] + } + } + ] + }, + "headers": { + "x-amzn-RequestId": { + "description": "Unique request reference identifier.", + "type": "string" + }, + "x-amzn-RateLimit-Limit": { + "description": "Your rate limit (requests per second) for this operation.", + "type": "string" + } + } + }, + "500": { + "description": "An unexpected condition occurred that prevented the server from fulfilling the request.", + "schema": { + "$ref": "#/definitions/ErrorList" + }, + "headers": { + "x-amzn-RequestId": { + "description": "Unique request reference identifier.", + "type": "string" + } + } + }, + "403": { + "description": "Indicates that access to the resource is forbidden. Possible reasons include Access Denied, Unauthorized, Expired Token, or Invalid Signature.", + "schema": { + "$ref": "#/definitions/ErrorList" + }, + "headers": { + "x-amzn-RequestId": { + "description": "Unique request reference identifier.", + "type": "string" + } + } + }, + "404": { + "description": "The resource specified does not exist.", + "schema": { + "$ref": "#/definitions/ErrorList" + }, + "headers": { + "x-amzn-RequestId": { + "description": "Unique request reference identifier.", + "type": "string" + }, + "x-amzn-RateLimit-Limit": { + "description": "Your rate limit (requests per second) for this operation.", + "type": "string" + } + } + }, + "413": { + "description": "The request size exceeded the maximum accepted size.", + "schema": { + "$ref": "#/definitions/ErrorList" + }, + "headers": { + "x-amzn-RequestId": { + "description": "Unique request reference identifier.", + "type": "string" + } + } + }, + "415": { + "description": "The request payload is in an unsupported format.", + "schema": { + "$ref": "#/definitions/ErrorList" + }, + "headers": { + "x-amzn-RequestId": { + "description": "Unique request reference identifier.", + "type": "string" + } + } + }, + "429": { + "description": "The frequency of requests was greater than allowed.", + "schema": { + "$ref": "#/definitions/ErrorList" + }, + "headers": { + "x-amzn-RequestId": { + "description": "Unique request reference identifier.", + "type": "string" + } + } + }, + "503": { + "description": "Temporary overloading or maintenance of the server.", + "schema": { + "$ref": "#/definitions/ErrorList" + }, + "headers": { + "x-amzn-RequestId": { + "description": "Unique request reference identifier.", + "type": "string" + } + } + } + }, + "tags": [ + "fbaInbound" + ], + "description": "Confirms all the transportation options for an inbound plan. A placement option must be confirmed prior to use of this API. Once confirmed, new transportation options can not be generated or confirmed for the Inbound Plan.\n\n**Usage Plan:**\n\n| Rate (requests per second) | Burst |\n| ---- | ---- |\n| 0.05 | 1 |\n\nThe `x-amzn-RateLimit-Limit` response header returns the usage plan rate limits that were applied to the requested operation, when available. The table above indicates the default rate and burst values for this operation. Selling partners whose business demands require higher throughput may see higher rate and burst values than those shown here. For more information, refer to [Usage Plans and Rate Limits in the Selling Partner API](https://developer-docs.amazon.com/sp-api/docs/usage-plans-and-rate-limits-in-the-sp-api).", + "operationId": "confirmTransportationOptions" + } + }, + "/inbound/fba/2024-03-20/items/compliance": { + "get": { + "produces": [ + "application/json" + ], + "parameters": [ + { + "collectionFormat": "multi", + "description": "List of merchant SKUs, a merchant-supplied identifier for a specific SKU.", + "in": "query", + "items": { + "maxLength": 40, + "minLength": 1, + "type": "string" + }, + "maxItems": 100, + "minItems": 1, + "name": "mskus", + "required": true, + "type": "array" + }, + { + "description": "The Marketplace ID. Refer to [Marketplace IDs](https://developer-docs.amazon.com/sp-api/docs/marketplace-ids) for a list of possible values.", + "in": "query", + "maxLength": 256, + "minLength": 1, + "name": "marketplaceId", + "required": true, + "type": "string" + } + ], + "responses": { + "200": { + "description": "ListItemComplianceDetails 200 response", + "schema": { + "$ref": "#/definitions/ListItemComplianceDetailsResponse" + }, + "x-amzn-api-sandbox": { + "static": [ + { + "request": { + "parameters": { + "mskus": { + "value": [ + "msku1", + "msku2" + ] + }, + "marketplaceId": { + "value": "ATVPDKIKX0DER" + } + } + }, + "response": { + "complianceDetails": [ + { + "msku": "msku1", + "fnsku": "fnsku1", + "asin": "asin1", + "taxDetails": { + "hsnCode": "720299", + "declaredValue": { + "code": "USD", + "amount": 50.0 + }, + "taxRates": [ + { + "taxType": "TOTAL_TAX", + "gstRate": 1.0, + "cessRate": 1.0 + } + ] + } + }, + { + "msku": "msku2", + "fnsku": "fnsku2", + "asin": "asin2", + "taxDetails": { + "hsnCode": "720299", + "declaredValue": { + "code": "USD", + "amount": 50.0 + }, + "taxRates": [ + { + "taxType": "TOTAL_TAX", + "gstRate": 1.0, + "cessRate": 1.0 + } + ] + } + } + ] + } + } + ] + }, + "headers": { + "x-amzn-RequestId": { + "description": "Unique request reference identifier.", + "type": "string" + }, + "x-amzn-RateLimit-Limit": { + "description": "Your rate limit (requests per second) for this operation.", + "type": "string" + } + } + }, + "400": { + "description": "Request has missing or invalid parameters and cannot be parsed.", + "schema": { + "$ref": "#/definitions/ErrorList" + }, + "x-amzn-api-sandbox": { + "static": [ + { + "request": { + "parameters": { + "mskus": { + "value": [ + "badmsku" + ] + }, + "marketplaceId": { + "value": "ATVPDKIKX0DER" + } + } + }, + "response": { + "errors": [ + { + "code": "BadRequest", + "message": "The requested MSKU is not valid for the specified marketplace." + } + ] + } + } + ] + }, + "headers": { + "x-amzn-RequestId": { + "description": "Unique request reference identifier.", + "type": "string" + }, + "x-amzn-RateLimit-Limit": { + "description": "Your rate limit (requests per second) for this operation.", + "type": "string" + } + } + }, + "500": { + "description": "An unexpected condition occurred that prevented the server from fulfilling the request.", + "schema": { + "$ref": "#/definitions/ErrorList" + }, + "headers": { + "x-amzn-RequestId": { + "description": "Unique request reference identifier.", + "type": "string" + } + } + }, + "403": { + "description": "Indicates that access to the resource is forbidden. Possible reasons include Access Denied, Unauthorized, Expired Token, or Invalid Signature.", + "schema": { + "$ref": "#/definitions/ErrorList" + }, + "headers": { + "x-amzn-RequestId": { + "description": "Unique request reference identifier.", + "type": "string" + } + } + }, + "404": { + "description": "The resource specified does not exist.", + "schema": { + "$ref": "#/definitions/ErrorList" + }, + "headers": { + "x-amzn-RequestId": { + "description": "Unique request reference identifier.", + "type": "string" + }, + "x-amzn-RateLimit-Limit": { + "description": "Your rate limit (requests per second) for this operation.", + "type": "string" + } + } + }, + "413": { + "description": "The request size exceeded the maximum accepted size.", + "schema": { + "$ref": "#/definitions/ErrorList" + }, + "headers": { + "x-amzn-RequestId": { + "description": "Unique request reference identifier.", + "type": "string" + } + } + }, + "415": { + "description": "The request payload is in an unsupported format.", + "schema": { + "$ref": "#/definitions/ErrorList" + }, + "headers": { + "x-amzn-RequestId": { + "description": "Unique request reference identifier.", + "type": "string" + } + } + }, + "429": { + "description": "The frequency of requests was greater than allowed.", + "schema": { + "$ref": "#/definitions/ErrorList" + }, + "headers": { + "x-amzn-RequestId": { + "description": "Unique request reference identifier.", + "type": "string" + } + } + }, + "503": { + "description": "Temporary overloading or maintenance of the server.", + "schema": { + "$ref": "#/definitions/ErrorList" + }, + "headers": { + "x-amzn-RequestId": { + "description": "Unique request reference identifier.", + "type": "string" + } + } + } + }, + "tags": [ + "fbaInbound" + ], + "description": "List the inbound compliance details for MSKUs in a given marketplace.\n\n**Usage Plan:**\n\n| Rate (requests per second) | Burst |\n| ---- | ---- |\n| 1 | 1 |\n\nThe `x-amzn-RateLimit-Limit` response header returns the usage plan rate limits that were applied to the requested operation, when available. The table above indicates the default rate and burst values for this operation. Selling partners whose business demands require higher throughput may see higher rate and burst values than those shown here. For more information, refer to [Usage Plans and Rate Limits in the Selling Partner API](https://developer-docs.amazon.com/sp-api/docs/usage-plans-and-rate-limits-in-the-sp-api).", + "operationId": "listItemComplianceDetails" + }, + "put": { + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "parameters": [ + { + "description": "The Marketplace ID. Refer to [Marketplace IDs](https://developer-docs.amazon.com/sp-api/docs/marketplace-ids) for a list of possible values.", + "in": "query", + "maxLength": 256, + "minLength": 1, + "name": "marketplaceId", + "required": true, + "type": "string" + }, + { + "in": "body", + "name": "body", + "required": true, + "schema": { + "$ref": "#/definitions/UpdateItemComplianceDetailsRequest" + }, + "description": "The body of the request to `updateItemComplianceDetails`." + } + ], + "responses": { + "202": { + "description": "UpdateItemComplianceDetails 202 response", + "schema": { + "$ref": "#/definitions/UpdateItemComplianceDetailsResponse" + }, + "x-amzn-api-sandbox": { + "static": [ + { + "request": { + "parameters": { + "marketplaceId": { + "value": "ATVPDKIKX0DER" + }, + "body": { + "value": { + "msku": "msku", + "taxDetails": { + "hsnCode": "720299", + "declaredValue": { + "code": "USD", + "amount": 50.0 + }, + "taxRates": [ + { + "taxType": "TOTAL_TAX", + "gstRate": 1.0, + "cessRate": 1.0 + } + ] + } + } + } + } + }, + "response": { + "operationId": "1234abcd-1234-abcd-5678-1234abcd5678" + } + } + ] + }, + "headers": { + "x-amzn-RequestId": { + "description": "Unique request reference identifier.", + "type": "string" + }, + "x-amzn-RateLimit-Limit": { + "description": "Your rate limit (requests per second) for this operation.", + "type": "string" + } + } + }, + "400": { + "description": "Request has missing or invalid parameters and cannot be parsed.", + "schema": { + "$ref": "#/definitions/ErrorList" + }, + "x-amzn-api-sandbox": { + "static": [ + { + "request": { + "parameters": { + "marketplaceId": { + "value": "ATVPDKIKX0DER" + }, + "body": { + "value": { + "msku": "badmsku", + "taxDetails": { + "hsnCode": "720299", + "declaredValue": { + "code": "USD", + "amount": 50.0 + }, + "taxRates": [ + { + "taxType": "TOTAL_TAX", + "gstRate": 1.0, + "cessRate": 1.0 + } + ] + } + } + } + } + }, + "response": { + "errors": [ + { + "code": "BadRequest", + "message": "The requested msku does not exist for the specified marketplace." + } + ] + } + } + ] + }, + "headers": { + "x-amzn-RequestId": { + "description": "Unique request reference identifier.", + "type": "string" + }, + "x-amzn-RateLimit-Limit": { + "description": "Your rate limit (requests per second) for this operation.", + "type": "string" + } + } + }, + "500": { + "description": "An unexpected condition occurred that prevented the server from fulfilling the request.", + "schema": { + "$ref": "#/definitions/ErrorList" + }, + "headers": { + "x-amzn-RequestId": { + "description": "Unique request reference identifier.", + "type": "string" + } + } + }, + "403": { + "description": "Indicates that access to the resource is forbidden. Possible reasons include Access Denied, Unauthorized, Expired Token, or Invalid Signature.", + "schema": { + "$ref": "#/definitions/ErrorList" + }, + "headers": { + "x-amzn-RequestId": { + "description": "Unique request reference identifier.", + "type": "string" + } + } + }, + "404": { + "description": "The resource specified does not exist.", + "schema": { + "$ref": "#/definitions/ErrorList" + }, + "headers": { + "x-amzn-RequestId": { + "description": "Unique request reference identifier.", + "type": "string" + }, + "x-amzn-RateLimit-Limit": { + "description": "Your rate limit (requests per second) for this operation.", + "type": "string" + } + } + }, + "413": { + "description": "The request size exceeded the maximum accepted size.", + "schema": { + "$ref": "#/definitions/ErrorList" + }, + "headers": { + "x-amzn-RequestId": { + "description": "Unique request reference identifier.", + "type": "string" + } + } + }, + "415": { + "description": "The request payload is in an unsupported format.", + "schema": { + "$ref": "#/definitions/ErrorList" + }, + "headers": { + "x-amzn-RequestId": { + "description": "Unique request reference identifier.", + "type": "string" + } + } + }, + "429": { + "description": "The frequency of requests was greater than allowed.", + "schema": { + "$ref": "#/definitions/ErrorList" + }, + "headers": { + "x-amzn-RequestId": { + "description": "Unique request reference identifier.", + "type": "string" + } + } + }, + "503": { + "description": "Temporary overloading or maintenance of the server.", + "schema": { + "$ref": "#/definitions/ErrorList" + }, + "headers": { + "x-amzn-RequestId": { + "description": "Unique request reference identifier.", + "type": "string" + } + } + } + }, + "tags": [ + "fbaInbound" + ], + "description": "Update compliance details for list of MSKUs. The details provided here are only used for the IN marketplace compliance validation.\n\n**Usage Plan:**\n\n| Rate (requests per second) | Burst |\n| ---- | ---- |\n| 1 | 1 |\n\nThe `x-amzn-RateLimit-Limit` response header returns the usage plan rate limits that were applied to the requested operation, when available. The table above indicates the default rate and burst values for this operation. Selling partners whose business demands require higher throughput may see higher rate and burst values than those shown here. For more information, refer to [Usage Plans and Rate Limits in the Selling Partner API](https://developer-docs.amazon.com/sp-api/docs/usage-plans-and-rate-limits-in-the-sp-api).", + "operationId": "updateItemComplianceDetails" + } + }, + "/inbound/fba/2024-03-20/operations/{operationId}": { + "get": { + "produces": [ + "application/json" + ], + "parameters": [ + { + "description": "Identifier to an asynchronous operation.", + "in": "path", + "maxLength": 38, + "minLength": 36, + "name": "operationId", + "pattern": "^[a-zA-Z0-9-]*$", + "required": true, + "type": "string" + } + ], + "responses": { + "200": { + "description": "GetInboundOperationStatus 200 response", + "schema": { + "$ref": "#/definitions/InboundOperationStatus" + }, + "x-amzn-api-sandbox": { + "static": [ + { + "request": { + "parameters": { + "operationId": { + "value": "1234abcd-1234-abcd-5678-1234abcd5678" + } + } + }, + "response": { + "operationId": "a440f2ff-cb08-416a-99e1-67a04eee88f6", + "operation": "operationName", + "operationStatus": "SUCCESS", + "operationProblems": [ + { + "code": "DimensionMismatch", + "message": "The dimension does not match what is expected.", + "details": "", + "severity": "WARNING" + } + ] + } + } + ] + }, + "headers": { + "x-amzn-RequestId": { + "description": "Unique request reference identifier.", + "type": "string" + }, + "x-amzn-RateLimit-Limit": { + "description": "Your rate limit (requests per second) for this operation.", + "type": "string" + } + } + }, + "400": { + "description": "Request has missing or invalid parameters and cannot be parsed.", + "schema": { + "$ref": "#/definitions/ErrorList" + }, + "x-amzn-api-sandbox": { + "static": [ + { + "request": { + "parameters": { + "operationId": { + "value": "bad4abcd-1234-abcd-5678-1234abcd5678" + } + } + }, + "response": { + "errors": [ + { + "code": "BadRequest", + "message": "The operationId is malformed." + } + ] + } + } + ] + }, + "headers": { + "x-amzn-RequestId": { + "description": "Unique request reference identifier.", + "type": "string" + }, + "x-amzn-RateLimit-Limit": { + "description": "Your rate limit (requests per second) for this operation.", + "type": "string" + } + } + }, + "500": { + "description": "An unexpected condition occurred that prevented the server from fulfilling the request.", + "schema": { + "$ref": "#/definitions/ErrorList" + }, + "headers": { + "x-amzn-RequestId": { + "description": "Unique request reference identifier.", + "type": "string" + } + } + }, + "403": { + "description": "Indicates that access to the resource is forbidden. Possible reasons include Access Denied, Unauthorized, Expired Token, or Invalid Signature.", + "schema": { + "$ref": "#/definitions/ErrorList" + }, + "headers": { + "x-amzn-RequestId": { + "description": "Unique request reference identifier.", + "type": "string" + } + } + }, + "404": { + "description": "The resource specified does not exist.", + "schema": { + "$ref": "#/definitions/ErrorList" + }, + "headers": { + "x-amzn-RequestId": { + "description": "Unique request reference identifier.", + "type": "string" + }, + "x-amzn-RateLimit-Limit": { + "description": "Your rate limit (requests per second) for this operation.", + "type": "string" + } + } + }, + "413": { + "description": "The request size exceeded the maximum accepted size.", + "schema": { + "$ref": "#/definitions/ErrorList" + }, + "headers": { + "x-amzn-RequestId": { + "description": "Unique request reference identifier.", + "type": "string" + } + } + }, + "415": { + "description": "The request payload is in an unsupported format.", + "schema": { + "$ref": "#/definitions/ErrorList" + }, + "headers": { + "x-amzn-RequestId": { + "description": "Unique request reference identifier.", + "type": "string" + } + } + }, + "429": { + "description": "The frequency of requests was greater than allowed.", + "schema": { + "$ref": "#/definitions/ErrorList" + }, + "headers": { + "x-amzn-RequestId": { + "description": "Unique request reference identifier.", + "type": "string" + } + } + }, + "503": { + "description": "Temporary overloading or maintenance of the server.", + "schema": { + "$ref": "#/definitions/ErrorList" + }, + "headers": { + "x-amzn-RequestId": { + "description": "Unique request reference identifier.", + "type": "string" + } + } + } + }, + "tags": [ + "fbaInbound" + ], + "description": "Gets the status of the processing of an asynchronous API call.\n\n**Usage Plan:**\n\n| Rate (requests per second) | Burst |\n| ---- | ---- |\n| 1 | 1 |\n\nThe `x-amzn-RateLimit-Limit` response header returns the usage plan rate limits that were applied to the requested operation, when available. The table above indicates the default rate and burst values for this operation. Selling partners whose business demands require higher throughput may see higher rate and burst values than those shown here. For more information, refer to [Usage Plans and Rate Limits in the Selling Partner API](https://developer-docs.amazon.com/sp-api/docs/usage-plans-and-rate-limits-in-the-sp-api).", + "operationId": "getInboundOperationStatus" + } + } + }, + "definitions": { + "Address": { + "description": "Specific details to identify a place.", + "properties": { + "addressLine1": { + "description": "Street address information.", + "maxLength": 180, + "minLength": 1, + "type": "string" + }, + "addressLine2": { + "description": "Additional street address information.", + "maxLength": 60, + "minLength": 1, + "type": "string" + }, + "city": { + "description": "The city.", + "maxLength": 30, + "minLength": 1, + "type": "string" + }, + "companyName": { + "description": "The name of the business.", + "maxLength": 50, + "minLength": 1, + "type": "string" + }, + "countryCode": { + "description": "The country code in two-character ISO 3166-1 alpha-2 format.", + "maxLength": 2, + "minLength": 2, + "pattern": "^[A-Z]{2}$", + "type": "string" + }, + "name": { + "description": "The name of the individual or business.", + "maxLength": 50, + "minLength": 1, + "type": "string" + }, + "postalCode": { + "description": "The postal code.", + "maxLength": 32, + "minLength": 1, + "type": "string" + }, + "stateOrProvinceCode": { + "description": "The state or province code.", + "maxLength": 64, + "minLength": 1, + "type": "string" + } + }, + "required": [ + "addressLine1", + "city", + "countryCode", + "name", + "postalCode" + ], + "type": "object", + "example": { + "addressLine1": "123 example street", + "addressLine2": "Floor 19", + "city": "Toronto", + "companyName": "Acme", + "countryCode": "CA", + "name": "name", + "postalCode": "M1M1M1", + "stateOrProvinceCode": "ON" + } + }, + "AppointmentSlot": { + "description": "The fulfillment center appointment slot for the transportation option.", + "properties": { + "slotId": { + "description": "An identifier to a self-ship appointment slot.", + "maxLength": 38, + "minLength": 38, + "pattern": "^[a-zA-Z0-9-]*$", + "type": "string" + }, + "slotTime": { + "$ref": "#/definitions/AppointmentSlotTime" + } + }, + "required": [ + "slotId", + "slotTime" + ], + "type": "object" + }, + "AppointmentSlotTime": { + "description": "An appointment slot time with a start and end.", + "properties": { + "endTime": { + "description": "The end timestamp of the appointment in UTC.", + "format": "date-time", + "type": "string" + }, + "startTime": { + "description": "The start timestamp of the appointment in UTC.", + "format": "date-time", + "type": "string" + } + }, + "required": [ + "endTime", + "startTime" + ], + "type": "object" + }, + "Box": { + "description": "Contains information about a box that is used in the inbound plan. The box may contain an item and metadata about the box itself.", + "properties": { + "boxId": { + "description": "The ID provided by Amazon that identifies a given box. This ID is comprised of the external shipment ID (which\n is generated after transportation has been confirmed) and the index of the box.", + "maxLength": 1024, + "minLength": 1, + "type": "string" + }, + "destinationRegion": { + "$ref": "#/definitions/Region" + }, + "dimensions": { + "$ref": "#/definitions/Dimensions" + }, + "items": { + "description": "Items contained within the box.", + "items": { + "$ref": "#/definitions/Item" + }, + "type": "array" + }, + "packageId": { + "description": "Primary key to uniquely identify a Package (Box or Pallet).", + "maxLength": 38, + "minLength": 38, + "pattern": "^[a-zA-Z0-9-]*$", + "type": "string" + }, + "quantity": { + "description": "The number of containers where all other properties like weight or dimensions are identical.", + "maximum": 10000, + "minimum": 1, + "type": "integer" + }, + "templateName": { + "description": "Template name of the box.", + "maxLength": 1024, + "minLength": 1, + "type": "string" + }, + "weight": { + "$ref": "#/definitions/Weight" + } + }, + "required": [ + "packageId" + ], + "type": "object" + }, + "BoxContent": { + "description": "Specifies contents in a box. Each `BoxContent` minimally contains a mapping of an MSKU to the prep owner, label owner and its quantity in the box. It also contains the MSKU expiration date and manufacturing lot code if applicable.", + "properties": { + "expiration": { + "description": "The date in ISO 8601 format for when the MSKU expires.", + "pattern": "^([0-9]{4})-(0[1-9]|1[0-2])-(0[1-9]|[1-2][0-9]|3[0-1])$", + "type": "string" + }, + "labelOwner": { + "$ref": "#/definitions/LabelOwner" + }, + "manufacturingLotCode": { + "description": "The manufacturing lot code.", + "maxLength": 256, + "minLength": 1, + "type": "string" + }, + "msku": { + "description": "The merchant SKU, a merchant-supplied identifier for a specific SKU.", + "maxLength": 40, + "minLength": 1, + "type": "string" + }, + "prepOwner": { + "$ref": "#/definitions/PrepOwner" + }, + "quantityInBox": { + "description": "The number of units of the given MSKU in the box.", + "maximum": 10000, + "minimum": 1, + "type": "integer" + } + }, + "required": [ + "labelOwner", + "msku", + "prepOwner", + "quantityInBox" + ], + "type": "object", + "example": { + "expiration": "2024-01-01", + "labelOwner": "AMAZON", + "manufacturingLotCode": "manufacturingLotCode", + "msku": "Sunglasses", + "prepOwner": "AMAZON", + "quantityInBox": 10 + } + }, + "BoxContentInformationSource": { + "description": "Indication of how box content is meant to be provided.", + "enum": [ + "BOX_CONTENT_PROVIDED", + "MANUAL_PROCESS", + "BARCODE_2D" + ], + "type": "string", + "x-docgen-enum-table-extension": [ + { + "value": "BOX_CONTENT_PROVIDED", + "description": "Box contents have been provided by the seller." + }, + { + "value": "MANUAL_PROCESS", + "description": "Box contents will be manually processed during receive. This service incurs charges." + }, + { + "value": "BARCODE_2D", + "description": "Box contents information is provided by a barcode on the shipment. For more information, see Using 2D barcodes for box content information on Seller Central." + } + ] + }, + "BoxInput": { + "description": "Input information for a given box.", + "properties": { + "boxId": { + "description": "The ID of the box to update that was provided by Amazon. This ID is comprised of the external shipment ID\n (which is generated after transportation has been confirmed) and the index of the box.", + "maxLength": 1024, + "minLength": 1, + "type": "string" + }, + "contentInformationSource": { + "$ref": "#/definitions/BoxContentInformationSource" + }, + "contents": { + "description": "The Contents of the box containing a list of MSKUs and their quantity. If `boxAttribute` is `BARCODE_2D` or `MANUAL_PROCESS`, user should provide ALL of the items that could be in the box, without specifying item quantities.", + "items": { + "$ref": "#/definitions/BoxContent" + }, + "type": "array" + }, + "dimensions": { + "$ref": "#/definitions/Dimensions" + }, + "quantity": { + "description": "The number of containers where all other properties like weight or dimensions are identical.", + "maximum": 10000, + "minimum": 1, + "type": "integer" + }, + "templateName": { + "description": "The seller-provided name for a 'type' of box (or a group of boxes with the same contents), which will be used to identify all created boxes of that type. When providing bulk box information, this value must be unique from the other box types. When providing individual boxes with existing IDs, this value can be shared between many boxes that have the same contents.", + "maxLength": 1024, + "minLength": 1, + "type": "string" + }, + "weight": { + "$ref": "#/definitions/Weight" + } + }, + "required": [ + "contentInformationSource", + "dimensions", + "quantity", + "templateName", + "weight" + ], + "type": "object", + "example": { + "boxId": "FBA10ABC0YY100001", + "contentInformationSource": "BOX_CONTENT_PROVIDED", + "contents": [ + { + "expiration": "2024-01-01", + "labelOwner": "AMAZON", + "manufacturingLotCode": "manufacturingLotCode", + "msku": "Sunglasses", + "prepOwner": "AMAZON", + "quantityInBox": 10 + } + ], + "dimensions": { + "height": 5, + "length": 3, + "unitOfMeasurement": "CM", + "width": 4 + }, + "quantity": 2, + "templateName": "templateName", + "weight": { + "unit": "KG", + "value": 5.5 + } + } + }, + "CancelInboundPlanResponse": { + "description": "The `cancelInboundPlan` response.", + "properties": { + "operationId": { + "description": "UUID for the given operation.", + "maxLength": 38, + "minLength": 36, + "pattern": "^[a-zA-Z0-9-]*$", + "type": "string" + } + }, + "required": [ + "operationId" + ], + "type": "object" + }, + "CancelSelfShipAppointmentRequest": { + "description": "The `cancelSelfShipAppointment` request.", + "properties": { + "reasonComment": { + "$ref": "#/definitions/ReasonComment" + } + }, + "type": "object", + "example": { + "reasonComment": "OTHER" + } + }, + "CancelSelfShipAppointmentResponse": { + "description": "The `cancelSelfShipAppointment` response.", + "properties": { + "operationId": { + "description": "UUID for the given operation.", + "maxLength": 38, + "minLength": 36, + "pattern": "^[a-zA-Z0-9-]*$", + "type": "string" + } + }, + "required": [ + "operationId" + ], + "type": "object" + }, + "Carrier": { + "description": "The carrier for the inbound shipment.", + "properties": { + "alphaCode": { + "description": "The carrier code. For example, USPS or DHLEX.", + "maxLength": 1024, + "minLength": 1, + "type": "string" + }, + "name": { + "description": "The name of the carrier.", + "maxLength": 1024, + "minLength": 1, + "type": "string" + } + }, + "type": "object" + }, + "ComplianceDetail": { + "description": "Contains item identifiers and related tax information.", + "properties": { + "asin": { + "description": "The Amazon Standard Identification Number, which identifies the detail page identifier.", + "maxLength": 10, + "minLength": 1, + "type": "string" + }, + "fnsku": { + "description": "The Fulfillment Network SKU, which identifies a real fulfillable item with catalog data and condition.", + "maxLength": 10, + "minLength": 1, + "type": "string" + }, + "msku": { + "description": "The merchant SKU, a merchant-supplied identifier for a specific SKU.", + "maxLength": 40, + "minLength": 1, + "type": "string" + }, + "taxDetails": { + "$ref": "#/definitions/TaxDetails" + } + }, + "type": "object" + }, + "ConfirmPackingOptionResponse": { + "description": "The `confirmPackingOption` response.", + "properties": { + "operationId": { + "description": "UUID for the given operation.", + "maxLength": 38, + "minLength": 36, + "pattern": "^[a-zA-Z0-9-]*$", + "type": "string" + } + }, + "required": [ + "operationId" + ], + "type": "object" + }, + "ConfirmPlacementOptionResponse": { + "description": "The `confirmPlacementOption` response.", + "properties": { + "operationId": { + "description": "UUID for the given operation.", + "maxLength": 38, + "minLength": 36, + "pattern": "^[a-zA-Z0-9-]*$", + "type": "string" + } + }, + "required": [ + "operationId" + ], + "type": "object" + }, + "ConfirmTransportationOptionsRequest": { + "description": "The `confirmTransportationOptions` request.", + "properties": { + "transportationSelections": { + "description": "Information needed to confirm one of the available transportation options.", + "items": { + "$ref": "#/definitions/TransportationSelection" + }, + "minItems": 1, + "type": "array" + } + }, + "required": [ + "transportationSelections" + ], + "type": "object", + "example": { + "transportationSelections": [ + { + "contactInformation": { + "email": "email@email.com", + "name": "John Smithy", + "phoneNumber": "1234567890" + }, + "deliveryWindow": { + "start": "2024-01-01T00:00Z" + }, + "shipmentId": "sh1234abcd-1234-abcd-5678-1234abcd5678", + "transportationOptionId": "to1234abcd-1234-abcd-5678-1234abcd5678" + } + ] + } + }, + "ConfirmTransportationOptionsResponse": { + "description": "The `confirmTransportationOptions` response.", + "properties": { + "operationId": { + "description": "UUID for the given operation.", + "maxLength": 38, + "minLength": 36, + "pattern": "^[a-zA-Z0-9-]*$", + "type": "string" + } + }, + "required": [ + "operationId" + ], + "type": "object" + }, + "ContactInformation": { + "description": "The seller's contact information.", + "properties": { + "email": { + "description": "Email address.", + "maxLength": 1024, + "minLength": 1, + "type": "string" + }, + "name": { + "description": "The name belonging to the contact. This field is required when contact information is being provided for\n Less-Than-Truckload (LTL) carrier shipments.", + "maxLength": 1024, + "minLength": 1, + "type": "string" + }, + "phoneNumber": { + "description": "The phone number of the seller.", + "maxLength": 20, + "minLength": 1, + "type": "string" + } + }, + "required": [ + "phoneNumber" + ], + "type": "object", + "example": { + "email": "email@email.com", + "phoneNumber": "1234567890" + } + }, + "CreateInboundPlanRequest": { + "description": "The `createInboundPlan` request.", + "properties": { + "contactInformation": { + "$ref": "#/definitions/ContactInformation" + }, + "destinationMarketplaces": { + "description": "Marketplaces where the items need to be shipped to. Currently only one marketplace can be selected in this request.", + "items": { + "description": "The Marketplace ID. Refer to [Marketplace IDs](https://developer-docs.amazon.com/sp-api/docs/marketplace-ids) for a list of possible values.", + "maxLength": 256, + "minLength": 1, + "type": "string" + }, + "maxItems": 1, + "minItems": 1, + "type": "array" + }, + "items": { + "description": "Items included in this plan.", + "items": { + "$ref": "#/definitions/ItemInput" + }, + "maxItems": 2000, + "minItems": 1, + "type": "array" + }, + "name": { + "description": "Name for the Inbound Plan. If one isn't provided, a default name will be provided.", + "maxLength": 40, + "minLength": 1, + "type": "string" + }, + "sourceAddress": { + "$ref": "#/definitions/Address" + } + }, + "required": [ + "contactInformation", + "destinationMarketplaces", + "items", + "sourceAddress" + ], + "type": "object", + "example": { + "contactInformation": { + "email": "email@email.com", + "phoneNumber": "1234567890" + }, + "destinationMarketplaces": [ + "ATVPDKIKX0DER" + ], + "items": [ + { + "expiration": "2024-01-01", + "labelOwner": "AMAZON", + "manufacturingLotCode": "manufacturingLotCode", + "msku": "Sunglasses", + "prepOwner": "AMAZON", + "quantity": 10 + } + ], + "name": "My inbound plan", + "sourceAddress": { + "addressLine1": "123 example street", + "addressLine2": "Floor 19", + "city": "Toronto", + "companyName": "Acme", + "countryCode": "CA", + "name": "name", + "postalCode": "M1M1M1", + "stateOrProvinceCode": "ON" + } + } + }, + "CreateInboundPlanResponse": { + "description": "The `createInboundPlan` response.", + "properties": { + "inboundPlanId": { + "description": "Identifier to an inbound plan.", + "maxLength": 38, + "minLength": 38, + "pattern": "^[a-zA-Z0-9-]*$", + "type": "string" + }, + "operationId": { + "description": "UUID for the given operation.", + "maxLength": 38, + "minLength": 36, + "pattern": "^[a-zA-Z0-9-]*$", + "type": "string" + } + }, + "required": [ + "inboundPlanId", + "operationId" + ], + "type": "object" + }, + "Currency": { + "description": "Currency definition.", + "properties": { + "amount": { + "description": "Decimal value of the currency.", + "type": "number" + }, + "code": { + "description": "ISO 4217 standard of a currency code.", + "maxLength": 3, + "minLength": 3, + "type": "string" + } + }, + "required": [ + "amount", + "code" + ], + "type": "object" + }, + "CustomPlacementInput": { + "description": "Provide units going to the warehouse.", + "properties": { + "items": { + "description": "Items included while creating Inbound Plan.", + "items": { + "$ref": "#/definitions/ItemInput" + }, + "maxItems": 2000, + "minItems": 1, + "type": "array" + }, + "warehouseId": { + "description": "Warehouse Id.", + "maxLength": 1024, + "minLength": 1, + "type": "string" + } + }, + "required": [ + "items", + "warehouseId" + ], + "type": "object", + "example": { + "items": [ + { + "expiration": "2024-01-01", + "labelOwner": "AMAZON", + "manufacturingLotCode": "manufacturingLotCode", + "msku": "Sunglasses", + "prepOwner": "AMAZON", + "quantity": 10 + } + ], + "warehouseId": "YYZ14" + } + }, + "Dates": { + "description": "Specifies the dates that the seller expects their shipment will be shipped and delivered.", + "properties": { + "deliveryWindow": { + "$ref": "#/definitions/Window" + }, + "readyToShipWindow": { + "$ref": "#/definitions/Window" + } + }, + "type": "object", + "example": { + "readyToShipWindow": { + "end": "2024-01-06T14:48:00.000Z", + "start": "2024-01-05T14:48:00.000Z" + } + } + }, + "Dimensions": { + "description": "Measurement of a package dimensions.", + "properties": { + "height": { + "description": "Height.", + "format": "double", + "maximum": 100000, + "minimum": 0, + "type": "number" + }, + "length": { + "description": "Length.", + "format": "double", + "maximum": 100000, + "minimum": 0, + "type": "number" + }, + "unitOfMeasurement": { + "$ref": "#/definitions/UnitOfMeasurement" + }, + "width": { + "description": "Width.", + "format": "double", + "maximum": 100000, + "minimum": 0, + "type": "number" + } + }, + "required": [ + "height", + "length", + "unitOfMeasurement", + "width" + ], + "type": "object" + }, + "DocumentDownload": { + "description": "Resource to download the requested document.", + "properties": { + "downloadType": { + "description": "The type of download. Can be `URL` or `PDF_BASE64`.", + "type": "string" + }, + "expiration": { + "description": "The timestamp of expiration of the URI. This is in ISO 8601 datetime format with pattern `yyyy-MM-ddTHH:mm:ss.sssZ`.", + "format": "date-time", + "type": "string" + }, + "uri": { + "description": "Uniform resource identifier to identify where the document is located.", + "type": "string" + } + }, + "required": [ + "downloadType", + "uri" + ], + "type": "object" + }, + "Error": { + "description": "Error object containing information about what went wrong.", + "properties": { + "code": { + "description": "An error code that identifies the type of error that occurred.", + "maxLength": 256, + "minLength": 1, + "type": "string" + }, + "details": { + "description": "Additional details that can help the caller understand or fix the issue.", + "maxLength": 8192, + "minLength": 0, + "type": "string" + }, + "message": { + "description": "A message that describes the error condition.", + "maxLength": 2048, + "minLength": 1, + "type": "string" + } + }, + "required": [ + "code", + "message" + ], + "type": "object", + "example": { + "code": "FBA_ERROR_001", + "details": "The shipment is in a status that does not allow it to be edited.", + "message": "Invalid Request" + } + }, + "ErrorList": { + "description": "A list of error responses returned when a request is unsuccessful.", + "properties": { + "errors": { + "description": "List of errors.", + "items": { + "$ref": "#/definitions/Error" + }, + "type": "array" + } + }, + "required": [ + "errors" + ], + "type": "object" + }, + "GeneratePackingOptionsResponse": { + "description": "The `generatePackingOptions` response.", + "properties": { + "operationId": { + "description": "UUID for the given operation.", + "maxLength": 38, + "minLength": 36, + "pattern": "^[a-zA-Z0-9-]*$", + "type": "string" + } + }, + "required": [ + "operationId" + ], + "type": "object" + }, + "GeneratePlacementOptionsRequest": { + "description": "The `generatePlacementOptions` request.", + "properties": { + "customPlacement": { + "description": "Custom placements options to be added to the plan.", + "items": { + "$ref": "#/definitions/CustomPlacementInput" + }, + "type": "array" + } + }, + "type": "object", + "example": { + "customPlacement": [ + { + "items": [ + { + "expiration": "2024-01-01", + "labelOwner": "AMAZON", + "manufacturingLotCode": "manufacturingLotCode", + "msku": "Sunglasses", + "prepOwner": "AMAZON", + "quantity": 10 + } + ], + "warehouseId": "YYZ14" + } + ] + } + }, + "GeneratePlacementOptionsResponse": { + "description": "The `generatePlacementOptions` response.", + "properties": { + "operationId": { + "description": "UUID for the given operation.", + "maxLength": 38, + "minLength": 36, + "pattern": "^[a-zA-Z0-9-]*$", + "type": "string" + } + }, + "required": [ + "operationId" + ], + "type": "object" + }, + "GenerateSelfShipAppointmentSlotsRequest": { + "description": "The `generateSelfShipAppointmentSlots` request.", + "properties": { + "desiredEndDate": { + "description": "The ISO 8601 datetime with pattern `yyyy-MM-ddTHH:mm:ss.sssZ`.", + "format": "date-time", + "type": "string" + }, + "desiredStartDate": { + "description": "The ISO 8601 datetime with pattern `yyyy-MM-ddTHH:mm:ss.sssZ`.", + "format": "date-time", + "type": "string" + } + }, + "type": "object", + "example": { + "desiredEndDate": "2024-01-06T14:48:00.000Z", + "desiredStartDate": "2024-01-05T14:48:00.000Z" + } + }, + "GenerateSelfShipAppointmentSlotsResponse": { + "description": "The `generateSelfShipAppointmentSlots` response.", + "properties": { + "operationId": { + "description": "UUID for the given operation.", + "maxLength": 38, + "minLength": 36, + "pattern": "^[a-zA-Z0-9-]*$", + "type": "string" + } + }, + "required": [ + "operationId" + ], + "type": "object" + }, + "GenerateTransportationOptionsRequest": { + "description": "The `generateTransportationOptions` request.", + "properties": { + "placementOptionId": { + "description": "The placement option to generate transportation options for.", + "maxLength": 38, + "minLength": 38, + "pattern": "^[a-zA-Z0-9-]*$", + "type": "string" + }, + "shipmentTransportationConfigurations": { + "description": "List of shipment transportation configurations.", + "items": { + "$ref": "#/definitions/ShipmentTransportationConfiguration" + }, + "type": "array" + } + }, + "required": [ + "placementOptionId", + "shipmentTransportationConfigurations" + ], + "type": "object", + "example": { + "placementOptionId": "pl1234abcd-1234-abcd-5678-1234abcd5678", + "shipmentTransportationConfigurations": [ + { + "contactInformation": { + "email": "email@email.com", + "name": "John Smithy", + "phoneNumber": "1234567890" + }, + "palletInformation": { + "declaredValue": { + "amount": 500, + "code": "USD" + }, + "freightClass": "FC_50", + "pallets": [ + { + "dimensions": { + "height": 5, + "length": 3, + "unitOfMeasurement": "CM", + "width": 4 + }, + "quantity": 2, + "stackability": "STACKABLE", + "weight": { + "unit": "KG", + "value": 5.5 + } + } + ] + }, + "readyToShipWindow": { + "start": "2024-01-01T00:00Z" + }, + "shipmentId": "sh1234abcd-1234-abcd-5678-1234abcd5678" + } + ] + } + }, + "GenerateTransportationOptionsResponse": { + "description": "The `generateTransportationOptions` response.", + "properties": { + "operationId": { + "description": "UUID for the given operation.", + "maxLength": 38, + "minLength": 36, + "pattern": "^[a-zA-Z0-9-]*$", + "type": "string" + } + }, + "required": [ + "operationId" + ], + "type": "object" + }, + "GetDeliveryChallanDocumentResponse": { + "description": "The `getDeliveryChallanDocumentResponse` response.", + "properties": { + "documentDownload": { + "$ref": "#/definitions/DocumentDownload" + } + }, + "required": [ + "documentDownload" + ], + "type": "object" + }, + "GetSelfShipAppointmentSlotsResponse": { + "description": "The `getSelfShipAppointmentSlots` response.", + "properties": { + "pagination": { + "$ref": "#/definitions/Pagination" + }, + "selfShipAppointmentSlotsAvailability": { + "$ref": "#/definitions/SelfShipAppointmentSlotsAvailability" + } + }, + "required": [ + "selfShipAppointmentSlotsAvailability" + ], + "type": "object" + }, + "InboundOperationStatus": { + "description": "The `getInboundOperationStatus` response.", + "properties": { + "operation": { + "description": "The name of the operation that was executed in the asynchronous API call.", + "maxLength": 1024, + "minLength": 1, + "type": "string" + }, + "operationId": { + "description": "The operation Id returned by the asynchronous API call.", + "maxLength": 38, + "minLength": 36, + "pattern": "^[a-zA-Z0-9-]*$", + "type": "string" + }, + "operationProblems": { + "description": "The problems in the processing of the asynchronous operation.", + "items": { + "$ref": "#/definitions/OperationProblem" + }, + "type": "array" + }, + "operationStatus": { + "$ref": "#/definitions/OperationStatus" + } + }, + "required": [ + "operation", + "operationId", + "operationProblems", + "operationStatus" + ], + "type": "object" + }, + "InboundPlan": { + "description": "Inbound plan containing details of the inbound workflow.", + "properties": { + "contactInformation": { + "$ref": "#/definitions/ContactInformation" + }, + "createdAt": { + "description": "The ISO 8601 datetime with pattern `yyyy-MM-ddTHH:mm:ss.sssZ`.", + "format": "date-time", + "type": "string" + }, + "inboundPlanId": { + "description": "Identifier to an inbound plan.", + "maxLength": 38, + "minLength": 38, + "pattern": "^[a-zA-Z0-9-]*$", + "type": "string" + }, + "lastUpdatedAt": { + "description": "The ISO 8601 datetime with pattern `yyyy-MM-ddTHH:mm:ss.sssZ`.", + "format": "date-time", + "type": "string" + }, + "marketplaceIds": { + "description": "Marketplace IDs.", + "items": { + "description": "The Marketplace ID. Refer to [Marketplace IDs](https://developer-docs.amazon.com/sp-api/docs/marketplace-ids) for a list of possible values.", + "maxLength": 256, + "minLength": 1, + "type": "string" + }, + "type": "array" + }, + "name": { + "description": "The human-readable name of the inbound plan.", + "type": "string" + }, + "packingOptions": { + "description": "Packing options for the inbound plan. This property will be populated when it has been generated via the corresponding endpoint. If there is a chosen placement option, only packing options for that placement option will be returned. If there are confirmed shipments, only packing options for those shipments will be returned. Query the packing option for more details.", + "items": { + "$ref": "#/definitions/PackingOptionSummary" + }, + "type": "array" + }, + "placementOptions": { + "description": "Placement options for the inbound plan. This property will be populated when it has been generated via the corresponding endpoint. If there is a chosen placement option, that will be the only returned option. Query the placement option for more details.", + "items": { + "$ref": "#/definitions/PlacementOptionSummary" + }, + "type": "array" + }, + "shipments": { + "description": "Shipment IDs for the inbound plan. This property will be populated when it has been generated via the corresponding endpoint. If there is a chosen placement option, only shipments for that option will be returned. If there are confirmed shipments, only those shipments will be returned. Query the shipment for more details.", + "items": { + "$ref": "#/definitions/ShipmentSummary" + }, + "type": "array" + }, + "sourceAddress": { + "$ref": "#/definitions/Address" + }, + "status": { + "description": "Current status of the inbound plan. Can be `ACTIVE`, `VOIDED`, or `SHIPPED`.", + "maxLength": 1024, + "minLength": 1, + "type": "string" + } + }, + "required": [ + "contactInformation", + "createdAt", + "inboundPlanId", + "lastUpdatedAt", + "marketplaceIds", + "name", + "sourceAddress", + "status" + ], + "type": "object", + "example": { + "contactInformation": { + "email": "email@email.com", + "phoneNumber": "1234567890" + }, + "createdAt": "2024-03-20T12:01:00Z", + "inboundPlanId": "wf1234abcd-1234-abcd-5678-1234abcd5678", + "lastUpdatedAt": "2024-03-28T13:15:30Z", + "marketplaceIds": [ + "A2EUQ1WTGCTBG2" + ], + "name": "FBA (03/20/2024, 12:01 PM)", + "packingOptions": [], + "placementOptions": [], + "shipments": [], + "sourceAddress": { + "addressLine1": "123 example street", + "addressLine2": "Floor 19", + "city": "Toronto", + "companyName": "Acme", + "countryCode": "CA", + "name": "name", + "postalCode": "M1M1M1", + "stateOrProvinceCode": "ON" + }, + "status": "ACTIVE" + } + }, + "InboundPlanSummary": { + "description": "A light-weight inbound plan.", + "properties": { + "contactInformation": { + "$ref": "#/definitions/ContactInformation" + }, + "createdAt": { + "description": "The ISO 8601 datetime with pattern `yyyy-MM-ddTHH:mm:ss.sssZ`.", + "format": "date-time", + "type": "string" + }, + "inboundPlanId": { + "description": "Identifier to an inbound plan.", + "maxLength": 38, + "minLength": 38, + "pattern": "^[a-zA-Z0-9-]*$", + "type": "string" + }, + "lastUpdatedAt": { + "description": "ISO 8601 datetime with pattern `yyyy-MM-ddTHH:mm:ss.sssZ`.", + "format": "date-time", + "type": "string" + }, + "marketplaceIds": { + "description": "Marketplace IDs.", + "items": { + "description": "The Marketplace ID. Refer to [Marketplace IDs](https://developer-docs.amazon.com/sp-api/docs/marketplace-ids) for a list of possible values.", + "maxLength": 256, + "minLength": 1, + "type": "string" + }, + "type": "array" + }, + "name": { + "description": "Human-readable name of the inbound plan.", + "type": "string" + }, + "sourceAddress": { + "$ref": "#/definitions/Address" + }, + "status": { + "description": "Current status of the inbound plan. Can be 'ACTIVE', 'VOIDED', or 'SHIPPED'.", + "maxLength": 1024, + "minLength": 1, + "type": "string" + } + }, + "required": [ + "contactInformation", + "createdAt", + "inboundPlanId", + "lastUpdatedAt", + "marketplaceIds", + "name", + "sourceAddress", + "status" + ], + "type": "object", + "example": { + "contactInformation": { + "email": "email@email.com", + "phoneNumber": "1234567890" + }, + "createdAt": "2023-03-08T13:15:30Z", + "inboundPlanId": "wf1234abcd-1234-abcd-5678-1234abcd5678", + "lastUpdatedAt": "2023-03-08T13:15:30Z", + "marketplaceIds": [ + "A2EUQ1WTGCTBG2" + ], + "name": "FBA (03/08/2023, 01:15 PM)", + "sourceAddress": { + "addressLine1": "123 example street", + "addressLine2": "Floor 19", + "city": "Toronto", + "companyName": "Acme", + "countryCode": "CA", + "name": "name", + "postalCode": "M1M1M1", + "stateOrProvinceCode": "ON" + }, + "status": "ACTIVE" + } + }, + "Incentive": { + "description": "Contains details about cost related modifications to the placement cost.", + "properties": { + "description": { + "description": "Description of the incentive.", + "maxLength": 1024, + "minLength": 1, + "type": "string" + }, + "target": { + "description": "Target of the incentive. Can be 'Placement Services' or 'Fulfillment Fee Discount'.", + "maxLength": 1024, + "minLength": 1, + "type": "string" + }, + "type": { + "description": "Type of incentive. Can be `FEE` or `DISCOUNT`.", + "maxLength": 1024, + "minLength": 1, + "type": "string" + }, + "value": { + "$ref": "#/definitions/Currency" + } + }, + "required": [ + "description", + "target", + "type", + "value" + ], + "type": "object" + }, + "Item": { + "description": "Information associated with a single SKU in the seller's catalog.", + "properties": { + "asin": { + "description": "The Amazon Standard Identification Number (ASIN) of the item.", + "maxLength": 10, + "minLength": 1, + "type": "string" + }, + "expiration": { + "description": "The expiration date of the MSKU in ISO 8601 format. The same MSKU with different expiration dates cannot go into the same box.", + "pattern": "^([0-9]{4})-(0[1-9]|1[0-2])-(0[1-9]|[1-2][0-9]|3[0-1])$", + "type": "string" + }, + "fnsku": { + "description": "A unique identifier assigned by Amazon to products stored in and fulfilled from an Amazon fulfillment center.", + "maxLength": 10, + "minLength": 1, + "type": "string" + }, + "labelOwner": { + "description": "Specifies who will label the items. Options include `AMAZON` and `SELLER`.", + "maxLength": 1024, + "minLength": 1, + "type": "string" + }, + "manufacturingLotCode": { + "description": "The manufacturing lot code.", + "maxLength": 256, + "minLength": 1, + "type": "string" + }, + "msku": { + "description": "The merchant defined SKU ID.", + "maxLength": 40, + "minLength": 1, + "type": "string" + }, + "prepInstructions": { + "description": "Special preparations that are required for an item.", + "items": { + "$ref": "#/definitions/PrepInstruction" + }, + "type": "array" + }, + "quantity": { + "description": "The number of the specified MSKU.", + "maximum": 10000, + "minimum": 1, + "type": "integer" + } + }, + "required": [ + "asin", + "fnsku", + "labelOwner", + "msku", + "prepInstructions", + "quantity" + ], + "type": "object" + }, + "ItemInput": { + "description": "Defines an item's input parameters.", + "properties": { + "expiration": { + "description": "The expiration date of the MSKU in ISO 8601 format. The same MSKU with different expiration dates cannot go into the same box.", + "pattern": "^([0-9]{4})-(0[1-9]|1[0-2])-(0[1-9]|[1-2][0-9]|3[0-1])$", + "type": "string" + }, + "labelOwner": { + "$ref": "#/definitions/LabelOwner" + }, + "manufacturingLotCode": { + "description": "The manufacturing lot code.", + "maxLength": 256, + "minLength": 1, + "type": "string" + }, + "msku": { + "description": "The merchant SKU.", + "maxLength": 40, + "minLength": 1, + "type": "string" + }, + "prepOwner": { + "$ref": "#/definitions/PrepOwner" + }, + "quantity": { + "description": "The number of units of the specified MSKU that will be shipped.", + "maximum": 10000, + "minimum": 1, + "type": "integer" + } + }, + "required": [ + "labelOwner", + "msku", + "prepOwner", + "quantity" + ], + "type": "object", + "example": { + "expiration": "2024-01-01", + "labelOwner": "AMAZON", + "manufacturingLotCode": "manufacturingLotCode", + "msku": "Sunglasses", + "prepOwner": "AMAZON", + "quantity": 10 + } + }, + "LabelOwner": { + "description": "Specifies who will label the items. Options include `AMAZON` and `SELLER`.", + "enum": [ + "AMAZON", + "SELLER" + ], + "type": "string", + "x-docgen-enum-table-extension": [ + { + "value": "AMAZON", + "description": "-" + }, + { + "value": "SELLER", + "description": "-" + } + ] + }, + "ListInboundPlanBoxesResponse": { + "description": "`listInboundPlanBoxes` response.", + "properties": { + "boxes": { + "description": "A list of boxes in an inbound plan.", + "items": { + "$ref": "#/definitions/Box" + }, + "type": "array" + }, + "pagination": { + "$ref": "#/definitions/Pagination" + } + }, + "required": [ + "boxes" + ], + "type": "object" + }, + "ListInboundPlanItemsResponse": { + "description": "`listInboundPlanItems` response.", + "properties": { + "items": { + "description": "The items in an inbound plan.", + "items": { + "$ref": "#/definitions/Item" + }, + "type": "array" + }, + "pagination": { + "$ref": "#/definitions/Pagination" + } + }, + "required": [ + "items" + ], + "type": "object" + }, + "ListInboundPlanPalletsResponse": { + "description": "`listInboundPlanPallets` response.", + "properties": { + "pagination": { + "$ref": "#/definitions/Pagination" + }, + "pallets": { + "description": "The pallets in an inbound plan.", + "items": { + "$ref": "#/definitions/Pallet" + }, + "type": "array" + } + }, + "required": [ + "pallets" + ], + "type": "object" + }, + "ListInboundPlansResponse": { + "description": "`listInboundPlans` response.", + "properties": { + "inboundPlans": { + "description": "A list of inbound plans with minimal information.", + "items": { + "$ref": "#/definitions/InboundPlanSummary" + }, + "type": "array" + }, + "pagination": { + "$ref": "#/definitions/Pagination" + } + }, + "type": "object" + }, + "ListItemComplianceDetailsResponse": { + "description": "`listItemComplianceDetails` response.", + "properties": { + "complianceDetails": { + "description": "List of compliance details.", + "items": { + "$ref": "#/definitions/ComplianceDetail" + }, + "type": "array" + } + }, + "type": "object" + }, + "ListPackingGroupItemsResponse": { + "description": "`listPackingGroupItems` response.", + "properties": { + "items": { + "description": "Provides the information about the list of items in the inbound plan.", + "items": { + "$ref": "#/definitions/Item" + }, + "type": "array" + }, + "pagination": { + "$ref": "#/definitions/Pagination" + } + }, + "required": [ + "items" + ], + "type": "object" + }, + "ListPackingOptionsResponse": { + "description": "`listPackingOptions` response.", + "properties": { + "packingOptions": { + "description": "List of packing options.", + "items": { + "$ref": "#/definitions/PackingOption" + }, + "type": "array" + }, + "pagination": { + "$ref": "#/definitions/Pagination" + } + }, + "required": [ + "packingOptions" + ], + "type": "object" + }, + "ListPlacementOptionsResponse": { + "description": "`listPlacementOptions` response.", + "properties": { + "pagination": { + "$ref": "#/definitions/Pagination" + }, + "placementOptions": { + "description": "Placement options generated for the inbound plan.", + "items": { + "$ref": "#/definitions/PlacementOption" + }, + "type": "array" + } + }, + "required": [ + "placementOptions" + ], + "type": "object" + }, + "ListTransportationOptionsResponse": { + "description": "`listTransportationOptions` response.", + "properties": { + "pagination": { + "$ref": "#/definitions/Pagination" + }, + "transportationOptions": { + "description": "Transportation options generated for the placement option.", + "items": { + "$ref": "#/definitions/TransportationOption" + }, + "type": "array" + } + }, + "required": [ + "transportationOptions" + ], + "type": "object" + }, + "LtlTrackingDetail": { + "description": "Contains information related to Less-Than-Truckload (LTL) shipment tracking.", + "properties": { + "billOfLadingNumber": { + "description": "The number of the carrier shipment acknowledgement document.", + "maxLength": 1024, + "minLength": 1, + "type": "string" + }, + "freightBillNumber": { + "description": "The number associated with the freight bill.", + "items": { + "maxLength": 1024, + "minLength": 1, + "pattern": "^[a-zA-Z0-9-._\\s]*$", + "type": "string" + }, + "type": "array" + } + }, + "type": "object" + }, + "LtlTrackingDetailInput": { + "description": "Contains input information to update Less-Than-Truckload (LTL) tracking information.", + "properties": { + "billOfLadingNumber": { + "description": "The number of the carrier shipment acknowledgement document.", + "maxLength": 1024, + "minLength": 1, + "type": "string" + }, + "freightBillNumber": { + "description": "Number associated with the freight bill.", + "items": { + "maxLength": 1024, + "minLength": 1, + "pattern": "^[a-zA-Z0-9-._\\s]*$", + "type": "string" + }, + "maxItems": 1, + "minItems": 1, + "type": "array" + } + }, + "required": [ + "freightBillNumber" + ], + "type": "object", + "example": { + "billOfLadingNumber": "billOfLadingNumber", + "freightBillNumber": [ + "freightBillNumber1" + ] + } + }, + "OperationProblem": { + "description": "A problem with additional properties persisted to an operation.", + "properties": { + "code": { + "description": "An error code that identifies the type of error that occurred.", + "maxLength": 256, + "minLength": 1, + "type": "string" + }, + "details": { + "description": "Additional details that can help the caller understand or fix the issue.", + "maxLength": 8192, + "minLength": 0, + "type": "string" + }, + "message": { + "description": "A message that describes the error condition.", + "maxLength": 2048, + "minLength": 1, + "type": "string" + }, + "severity": { + "description": "The severity of the problem. Can be 'WARNING', or 'ERROR'.", + "maxLength": 1024, + "minLength": 1, + "type": "string" + } + }, + "required": [ + "code", + "message", + "severity" + ], + "type": "object" + }, + "OperationStatus": { + "description": "The status of an operation.", + "enum": [ + "SUCCESS", + "FAILED", + "IN_PROGRESS" + ], + "type": "string", + "x-docgen-enum-table-extension": [ + { + "value": "SUCCESS", + "description": "Indicates a request has successfully finished processing." + }, + { + "value": "FAILED", + "description": "Indicates a request has finished processing but is in a failed state." + }, + { + "value": "IN_PROGRESS", + "description": "Indicates a request is still processing." + } + ] + }, + "PackageGroupingInput": { + "description": "Packing information for the inbound plan.", + "properties": { + "boxes": { + "description": "Box level information being provided.", + "items": { + "$ref": "#/definitions/BoxInput" + }, + "maxItems": 5000, + "minItems": 1, + "type": "array" + }, + "packingGroupId": { + "description": "The ID of the `packingGroup` that packages are grouped according to. The `PackingGroupId` can only be provided before placement confirmation, and it must belong to the confirmed `PackingOption`. One of `ShipmentId` or `PackingGroupId` must be provided with every request.", + "maxLength": 38, + "minLength": 38, + "pattern": "^[a-zA-Z0-9-]*$", + "type": "string" + }, + "shipmentId": { + "description": "The ID of the shipment that packages are grouped according to. The `ShipmentId` can only be provided after placement confirmation, and the shipment must belong to the confirmed placement option. One of `ShipmentId` or `PackingGroupId` must be provided with every request.", + "maxLength": 38, + "minLength": 38, + "pattern": "^[a-zA-Z0-9-]*$", + "type": "string" + } + }, + "required": [ + "boxes" + ], + "type": "object", + "example": { + "boxes": [ + { + "boxId": "boxId", + "contentInformationSource": "BOX_CONTENT_PROVIDED", + "contents": [ + { + "expiration": "2024-01-01", + "labelOwner": "AMAZON", + "manufacturingLotCode": "manufacturingLotCode", + "msku": "Sunglasses", + "prepOwner": "AMAZON", + "quantityInBox": 10 + } + ], + "dimensions": { + "height": 5, + "length": 3, + "unitOfMeasurement": "CM", + "width": 4 + }, + "quantity": 2, + "templateName": "templateName", + "weight": { + "unit": "KG", + "value": 5.5 + } + } + ], + "packingGroupId": "pg1234abcd-1234-abcd-5678-1234abcd5678", + "shipmentId": "sh1234abcd-1234-abcd-5678-1234abcd5678" + } + }, + "PackingOption": { + "description": "A packing option contains a set of pack groups plus additional information about the packing option, such as any discounts or fees if it's selected.", + "properties": { + "discounts": { + "description": "Discount for the offered option.", + "items": { + "$ref": "#/definitions/Incentive" + }, + "type": "array" + }, + "expiration": { + "description": "The timestamp at which this packing option becomes no longer valid. This is in ISO 8601 datetime format with pattern `yyyy-MM-ddTHH:mm:ss.sssZ`.", + "format": "date-time", + "type": "string" + }, + "fees": { + "description": "Fee for the offered option.", + "items": { + "$ref": "#/definitions/Incentive" + }, + "type": "array" + }, + "inboundPlanId": { + "description": "Identifier to an inbound plan.", + "maxLength": 38, + "minLength": 38, + "pattern": "^[a-zA-Z0-9-]*$", + "type": "string" + }, + "packingGroups": { + "description": "Packing group IDs.", + "items": { + "description": "Identifier to a packing group.", + "maxLength": 38, + "minLength": 38, + "pattern": "^[a-zA-Z0-9-]*$", + "type": "string" + }, + "type": "array" + }, + "packingOptionId": { + "description": "Identifier to a packing option.", + "maxLength": 38, + "minLength": 38, + "pattern": "^[a-zA-Z0-9-]*$", + "type": "string" + }, + "status": { + "description": "The status of the packing option. Can be `OFFERED`, `ACCEPTED`, or `EXPIRED`.", + "maxLength": 1024, + "minLength": 1, + "type": "string" + }, + "supportedShippingConfigurations": { + "description": "List of supported shipping modes.", + "items": { + "$ref": "#/definitions/ShippingConfiguration" + }, + "type": "array" + } + }, + "required": [ + "discounts", + "fees", + "inboundPlanId", + "packingGroups", + "packingOptionId", + "status", + "supportedShippingConfigurations" + ], + "type": "object" + }, + "PackingOptionSummary": { + "description": "Summary information about a packing option.", + "properties": { + "packingOptionId": { + "description": "Identifier to a packing option.", + "maxLength": 38, + "minLength": 38, + "pattern": "^[a-zA-Z0-9-]*$", + "type": "string" + }, + "status": { + "description": "The status of a packing option. Can be 'OFFERED', 'ACCEPTED', or 'EXPIRED'.", + "maxLength": 1024, + "minLength": 1, + "type": "string" + } + }, + "required": [ + "packingOptionId", + "status" + ], + "type": "object", + "example": { + "packingOptionId": "po1234abcd-1234-abcd-5678-1234abcd5678", + "status": "OFFERED" + } + }, + "Pagination": { + "description": "Contains tokens to fetch from a certain page.", + "properties": { + "nextToken": { + "description": "When present, pass this string token in the next request to return the next response page.", + "maxLength": 1024, + "minLength": 1, + "type": "string" + } + }, + "type": "object" + }, + "Pallet": { + "description": "Contains information about a pallet that is used in the inbound plan. The pallet is a container that holds multiple items or boxes.", + "properties": { + "dimensions": { + "$ref": "#/definitions/Dimensions" + }, + "packageId": { + "description": "Primary key to uniquely identify a Package (Box or Pallet).", + "maxLength": 38, + "minLength": 38, + "pattern": "^[a-zA-Z0-9-]*$", + "type": "string" + }, + "quantity": { + "description": "The number of containers where all other properties like weight or dimensions are identical.", + "maximum": 10000, + "minimum": 1, + "type": "integer" + }, + "stackability": { + "$ref": "#/definitions/Stackability" + }, + "weight": { + "$ref": "#/definitions/Weight" + } + }, + "required": [ + "packageId" + ], + "type": "object" + }, + "PalletInformation": { + "description": "Pallet information, including weight, dimensions, quantity, stackability, freight class, and declared value.", + "properties": { + "declaredValue": { + "$ref": "#/definitions/Currency" + }, + "freightClass": { + "description": "Freight class. Can be `NONE`, `FC_50`, `FC_55`, `FC_60`, `FC_65`, `FC_70`, `FC_77_5`, `FC_85`, `FC_92_5`, `FC_100`, `FC_110`, `FC_125`, `FC_150`, `FC_175`, `FC_200`, `FC_250`, `FC_300`, `FC_400`, or `FC_500`.", + "maxLength": 1024, + "minLength": 1, + "type": "string" + }, + "pallets": { + "description": "Set pallet configuration for Less-Than-Truckload (LTL).", + "items": { + "$ref": "#/definitions/PalletInput" + }, + "type": "array" + } + }, + "required": [ + "pallets" + ], + "type": "object" + }, + "PalletInput": { + "description": "Set pallet configuration for Less-Than-Truckload (LTL).", + "properties": { + "dimensions": { + "$ref": "#/definitions/Dimensions" + }, + "quantity": { + "description": "The number of containers where all other properties like weight or dimensions are identical.", + "maximum": 10000, + "minimum": 1, + "type": "integer" + }, + "stackability": { + "$ref": "#/definitions/Stackability" + }, + "weight": { + "$ref": "#/definitions/Weight" + } + }, + "required": [ + "quantity" + ], + "type": "object" + }, + "PlacementOption": { + "description": "Contains information pertaining to the placement of the contents of an inbound plan and the related costs.", + "properties": { + "discounts": { + "description": "Discount for the offered option.", + "items": { + "$ref": "#/definitions/Incentive" + }, + "type": "array" + }, + "expiration": { + "description": "The expiration date of the placement option. This is in ISO 8601 datetime format with pattern `yyyy-MM-ddTHH:mm:ss.sssZ`.", + "format": "date-time", + "type": "string" + }, + "fees": { + "description": "Fee for the offered option.", + "items": { + "$ref": "#/definitions/Incentive" + }, + "type": "array" + }, + "placementOptionId": { + "description": "Identifier to a placement option. A placement option represents the shipment splits and destinations of SKUs.", + "maxLength": 38, + "minLength": 38, + "pattern": "^[a-zA-Z0-9-]*$", + "type": "string" + }, + "shipmentIds": { + "description": "Shipment ids.", + "items": { + "description": "Identifier to a shipment. A shipment contains the boxes and units being inbounded.", + "maxLength": 38, + "minLength": 38, + "pattern": "^[a-zA-Z0-9-]*$", + "type": "string" + }, + "type": "array" + }, + "status": { + "description": "The status of a placement option. Can be `OFFERED`, `ACCEPTED`, or `EXPIRED`.", + "maxLength": 1024, + "minLength": 1, + "type": "string" + } + }, + "required": [ + "discounts", + "fees", + "placementOptionId", + "shipmentIds", + "status" + ], + "type": "object" + }, + "PlacementOptionSummary": { + "description": "Summary information about a placement option.", + "properties": { + "placementOptionId": { + "description": "Identifier to a placement option. A placement option represents the shipment splits and destinations of SKUs.", + "maxLength": 38, + "minLength": 38, + "pattern": "^[a-zA-Z0-9-]*$", + "type": "string" + }, + "status": { + "description": "The status of a placement option. Can be `OFFERED` or `ACCEPTED`.", + "maxLength": 1024, + "minLength": 1, + "type": "string" + } + }, + "required": [ + "placementOptionId", + "status" + ], + "type": "object", + "example": { + "placementOptionId": "pl1234abcd-1234-abcd-5678-1234abcd5678", + "status": "ACCEPTED" + } + }, + "PrepInstruction": { + "description": "Information pertaining to the preparation of inbound goods.", + "properties": { + "fee": { + "$ref": "#/definitions/Currency" + }, + "prepOwner": { + "description": "In some situations, special preparations are required for items and this field reflects the owner of the\n preparations. Options include `AMAZON` or `SELLER`.", + "maxLength": 1024, + "minLength": 1, + "type": "string" + }, + "prepType": { + "description": "Type of preparation that should be done. Can be `ITEM_LABELING`, `ITEM_BUBBLEWRAP`, `ITEM_POLYBAGGING`, `ITEM_TAPING`, `ITEM_BLACK_SHRINKWRAP`, `ITEM_HANG_GARMENT`, `ITEM_BOXING`, `ITEM_SETCREAT`, `ITEM_RMOVHANG`, `ITEM_SUFFOSTK`, `ITEM_CAP_SEALING`, `ITEM_DEBUNDLE`, `ITEM_SETSTK`, `ITEM_SIOC`, `ITEM_NO_PREP`, `ADULT`, `BABY`, `TEXTILE`, `HANGER`, `FRAGILE`, `LIQUID`, `SHARP`, `SMALL`, `PERFORATED`, `GRANULAR`, `SET`, `FC_PROVIDED`, `UNKNOWN`, or `NONE`.", + "maxLength": 1024, + "minLength": 1, + "type": "string" + } + }, + "type": "object" + }, + "PrepOwner": { + "description": "In some situations, special preparations are required for items and this field reflects the owner of the preparations. Options include `AMAZON` or `SELLER`.", + "enum": [ + "AMAZON", + "SELLER" + ], + "type": "string", + "x-docgen-enum-table-extension": [ + { + "value": "AMAZON", + "description": "-" + }, + { + "value": "SELLER", + "description": "-" + } + ] + }, + "Quote": { + "description": "The estimated shipping cost associated with the transportation option.", + "properties": { + "cost": { + "$ref": "#/definitions/Currency" + }, + "expiration": { + "description": "The timestamp at which this transportation option quote becomes no longer valid. This is in ISO 8601 datetime format with pattern `yyyy-MM-ddTHH:mm:ss.sssZ`.", + "format": "date-time", + "type": "string" + }, + "voidableUntil": { + "description": "Voidable until timestamp.", + "format": "date-time", + "type": "string" + } + }, + "required": [ + "cost" + ], + "type": "object" + }, + "ReasonComment": { + "description": "Reason for cancelling or rescheduling a self-ship appointment.", + "enum": [ + "APPOINTMENT_REQUESTED_BY_MISTAKE", + "VEHICLE_DELAY", + "SLOT_NOT_SUITABLE", + "OUTSIDE_CARRIER_BUSINESS_HOURS", + "UNFAVOURABLE_EXTERNAL_CONDITIONS", + "PROCUREMENT_DELAY", + "SHIPPING_PLAN_CHANGED", + "INCREASED_QUANTITY", + "OTHER" + ], + "type": "string", + "x-docgen-enum-table-extension": [ + { + "value": "APPOINTMENT_REQUESTED_BY_MISTAKE", + "description": "-" + }, + { + "value": "VEHICLE_DELAY", + "description": "-" + }, + { + "value": "SLOT_NOT_SUITABLE", + "description": "-" + }, + { + "value": "OUTSIDE_CARRIER_BUSINESS_HOURS", + "description": "-" + }, + { + "value": "UNFAVOURABLE_EXTERNAL_CONDITIONS", + "description": "-" + }, + { + "value": "PROCUREMENT_DELAY", + "description": "-" + }, + { + "value": "SHIPPING_PLAN_CHANGED", + "description": "-" + }, + { + "value": "INCREASED_QUANTITY", + "description": "-" + }, + { + "value": "OTHER", + "description": "-" + } + ] + }, + "Region": { + "description": "Representation of a location used within the inbounding experience.", + "properties": { + "countryCode": { + "description": "ISO 3166 standard alpha-2 country code.", + "maxLength": 1024, + "minLength": 1, + "type": "string" + }, + "state": { + "description": "State.", + "maxLength": 1024, + "minLength": 1, + "type": "string" + }, + "warehouseId": { + "description": "An identifier for a warehouse, such as a FC, IXD, upstream storage.", + "maxLength": 1024, + "minLength": 1, + "type": "string" + } + }, + "type": "object" + }, + "ScheduleSelfShipAppointmentRequest": { + "description": "`scheduleSelfShipAppointment` request.", + "properties": { + "reasonComment": { + "$ref": "#/definitions/ReasonComment" + } + }, + "type": "object", + "example": { + "reasonComment": "OTHER" + } + }, + "ScheduleSelfShipAppointmentResponse": { + "description": "`scheduleSelfShipAppointment` response.", + "properties": { + "selfShipAppointmentDetails": { + "$ref": "#/definitions/SelfShipAppointmentDetails" + } + }, + "required": [ + "selfShipAppointmentDetails" + ], + "type": "object", + "example": { + "selfShipAppointmentDetails": { + "appointmentId": 1000, + "appointmentSlotTime": { + "endTime": "2023-03-09T13:15:30Z", + "startTime": "2023-03-08T13:15:30Z" + }, + "appointmentStatus": "ARRIVAL_SCHEDULED" + } + } + }, + "SelfShipAppointmentDetails": { + "description": "Appointment details for carrier pickup or fulfillment center appointments.", + "properties": { + "appointmentId": { + "description": "Identifier for appointment.", + "type": "number" + }, + "appointmentSlotTime": { + "$ref": "#/definitions/AppointmentSlotTime" + }, + "appointmentStatus": { + "description": "Status of the appointment.", + "maxLength": 1024, + "minLength": 1, + "type": "string" + } + }, + "type": "object" + }, + "SelfShipAppointmentSlotsAvailability": { + "description": "The self ship appointment time slots availability and an expiration date for which the slots can be scheduled.", + "properties": { + "expiresAt": { + "description": "ISO 8601 datetime with pattern `yyyy-MM-ddTHH:mm:ss.sssZ`.", + "format": "date-time", + "type": "string" + }, + "slots": { + "description": "List of appointment slots.", + "items": { + "$ref": "#/definitions/AppointmentSlot" + }, + "type": "array" + } + }, + "type": "object" + }, + "SetPackingInformationRequest": { + "description": "`setPackingInformation` request.", + "properties": { + "packageGroupings": { + "description": "List of packing information for the inbound plan.", + "items": { + "$ref": "#/definitions/PackageGroupingInput" + }, + "type": "array" + } + }, + "type": "object", + "example": { + "packageGroupings": [ + { + "boxes": [ + { + "boxId": "boxId", + "contentInformationSource": "BOX_CONTENT_PROVIDED", + "contents": [ + { + "expiration": "2024-01-01", + "labelOwner": "AMAZON", + "manufacturingLotCode": "manufacturingLotCode", + "msku": "Sunglasses", + "prepOwner": "AMAZON", + "quantityInBox": 10 + } + ], + "dimensions": { + "height": 5, + "length": 3, + "unitOfMeasurement": "CM", + "width": 4 + }, + "quantity": 2, + "templateName": "templateName", + "weight": { + "unit": "KG", + "value": 5.5 + } + } + ], + "packingGroupId": "pg1234abcd-1234-abcd-5678-1234abcd5678", + "shipmentId": "sh1234abcd-1234-abcd-5678-1234abcd5678" + } + ] + } + }, + "SetPackingInformationResponse": { + "description": "`setPackingInformation` response.", + "properties": { + "operationId": { + "description": "UUID for the given operation.", + "maxLength": 38, + "minLength": 36, + "pattern": "^[a-zA-Z0-9-]*$", + "type": "string" + } + }, + "required": [ + "operationId" + ], + "type": "object" + }, + "Shipment": { + "description": "Contains information pertaining to a shipment in an inbound plan.", + "properties": { + "amazonReferenceId": { + "description": "A unique identifier created by Amazon that identifies this Amazon-partnered, Less Than Truckload/Full Truckload (LTL/FTL) shipment.", + "maxLength": 1024, + "minLength": 1, + "type": "string" + }, + "contactInformation": { + "$ref": "#/definitions/ContactInformation" + }, + "dates": { + "$ref": "#/definitions/Dates" + }, + "destination": { + "$ref": "#/definitions/ShipmentDestination" + }, + "inboundPlanId": { + "description": "Identifier to an inbound plan.", + "maxLength": 38, + "minLength": 38, + "pattern": "^[a-zA-Z0-9-]*$", + "type": "string" + }, + "name": { + "description": "The name of the shipment.", + "type": "string" + }, + "palletInformation": { + "$ref": "#/definitions/PalletInformation" + }, + "placementOptionId": { + "description": "Identifier to a placement option. A placement option represents the shipment splits and destinations of SKUs.", + "maxLength": 38, + "minLength": 38, + "pattern": "^[a-zA-Z0-9-]*$", + "type": "string" + }, + "selectedTransportationOptionId": { + "description": "Identifier to a transportation option. A transportation option represent one option for how to send a shipment.", + "maxLength": 38, + "minLength": 38, + "pattern": "^[a-zA-Z0-9-]*$", + "type": "string" + }, + "selfShipAppointmentDetails": { + "description": "List of self ship appointment details.", + "items": { + "$ref": "#/definitions/SelfShipAppointmentDetails" + }, + "type": "array" + }, + "shipmentConfirmationId": { + "description": "The confirmed shipment ID which shows up on labels (for example, FBA1234ABCD).", + "maxLength": 1024, + "minLength": 1, + "type": "string" + }, + "shipmentId": { + "description": "Identifier to a shipment. A shipment contains the boxes and units being inbounded.", + "maxLength": 38, + "minLength": 38, + "pattern": "^[a-zA-Z0-9-]*$", + "type": "string" + }, + "source": { + "$ref": "#/definitions/ShipmentSource" + }, + "status": { + "description": "The status of a shipment. The state of the shipment will typically start in `WORKING` and transition to `READY_TO_SHIP` once required actions are complete prior to being picked up or shipped out. Can be `ABANDONED`, `CANCELLED`, `CHECKED_IN`, `CLOSED`, `DELETED`, `DELIVERED`, `IN_TRANSIT`, `MIXED`, `READY_TO_SHIP`, `RECEIVING`, `SHIPPED`, or `WORKING`.", + "maxLength": 1024, + "minLength": 1, + "type": "string" + }, + "trackingDetails": { + "$ref": "#/definitions/TrackingDetails" + } + }, + "required": [ + "destination", + "inboundPlanId", + "placementOptionId", + "shipmentId", + "source" + ], + "type": "object" + }, + "ShipmentDestination": { + "description": "The Amazon fulfillment center address and warehouse ID.", + "properties": { + "address": { + "$ref": "#/definitions/Address", + "description": "The address the shipment should be sent to. Empty if the destination type is `AMAZON_OPTIMIZED`." + }, + "destinationType": { + "description": "The type of destination for this shipment. Can be `AMAZON_OPTIMIZED`, or `AMAZON_WAREHOUSE`.", + "maxLength": 1024, + "minLength": 1, + "type": "string" + }, + "warehouseId": { + "description": "The warehouse that the shipment should be sent to. Empty if the destination type is `AMAZON_OPTIMIZED`.", + "maxLength": 1024, + "minLength": 1, + "type": "string" + } + }, + "required": [ + "destinationType" + ], + "type": "object" + }, + "ShipmentSource": { + "description": "Specifies the 'ship from' address for the shipment.", + "properties": { + "address": { + "$ref": "#/definitions/Address" + }, + "sourceType": { + "description": "The type of source for this shipment. Can be `SELLER_FACILITY`.", + "maxLength": 1024, + "minLength": 1, + "type": "string" + } + }, + "required": [ + "sourceType" + ], + "type": "object" + }, + "ShipmentSummary": { + "description": "Summary information about a shipment.", + "properties": { + "shipmentId": { + "description": "Identifier to a shipment. A shipment contains the boxes and units being inbounded.", + "maxLength": 38, + "minLength": 38, + "pattern": "^[a-zA-Z0-9-]*$", + "type": "string" + }, + "status": { + "description": "The status of a shipment. The state of the shipment will typically start in `WORKING` and transition to `READY_TO_SHIP` once required actions are complete prior to being picked up or shipped out. Can be `ABANDONED`, `CANCELLED`, `CHECKED_IN`, `CLOSED`, `DELETED`, `DELIVERED`, `IN_TRANSIT`, `MIXED`, `READY_TO_SHIP`, `RECEIVING`, `SHIPPED`, or `WORKING`.", + "maxLength": 1024, + "minLength": 1, + "type": "string" + } + }, + "required": [ + "shipmentId", + "status" + ], + "type": "object", + "example": { + "shipmentId": "sh1234abcd-1234-abcd-5678-1234abcd5678", + "status": "SHIPPED" + } + }, + "ShipmentTransportationConfiguration": { + "description": "Details needed to generate the transportation options.", + "properties": { + "contactInformation": { + "$ref": "#/definitions/ContactInformation" + }, + "palletInformation": { + "$ref": "#/definitions/PalletInformation" + }, + "readyToShipWindow": { + "$ref": "#/definitions/WindowInput", + "description": "The range of dates within which the seller intends to ship their items. This is the pick-up date or \u201cready to ship\u201d date, not an estimated delivery date.\n" + }, + "shipmentId": { + "description": "Identifier to a shipment. A shipment contains the boxes and units being inbounded.", + "maxLength": 38, + "minLength": 38, + "pattern": "^[a-zA-Z0-9-]*$", + "type": "string" + } + }, + "required": [ + "readyToShipWindow", + "shipmentId" + ], + "type": "object" + }, + "ShippingConfiguration": { + "description": "The shipping configurations supported for the packing option. Available modes are ground small parcel, freight less-than-truckload (LTL), freight full-truckload (FTL) palletized, freight FTL non-palletized, ocean less-than-container-load (LCL), ocean full-container load (FCL), air small parcel, and air small parcel express.", + "properties": { + "shippingMode": { + "description": "Mode of shipment transportation that this option will provide. Can be `GROUND_SMALL_PARCEL`, `FREIGHT_LTL`, `FREIGHT_FTL_PALLET`, `FREIGHT_FTL_NONPALLET`, `OCEAN_LCL`, `OCEAN_FCL`, `AIR_SMALL_PARCEL`, or `AIR_SMALL_PARCEL_EXPRESS`.", + "maxLength": 1024, + "minLength": 1, + "type": "string" + }, + "shippingSolution": { + "description": "Shipping program for the option. Can be `AMAZON_PARTNERED_CARRIER` or `USE_YOUR_OWN_CARRIER`.", + "maxLength": 1024, + "minLength": 1, + "type": "string" + } + }, + "type": "object" + }, + "SpdTrackingDetail": { + "description": "Contains information related to Small Parcel Delivery (SPD) shipment tracking.", + "properties": { + "spdTrackingItems": { + "description": "List of Small Parcel Delivery (SPD) tracking items.", + "items": { + "$ref": "#/definitions/SpdTrackingItem" + }, + "type": "array" + } + }, + "type": "object" + }, + "SpdTrackingDetailInput": { + "description": "Contains input information to update Small Parcel Delivery (SPD) tracking information.", + "properties": { + "spdTrackingItems": { + "description": "List of Small Parcel Delivery (SPD) tracking items input.", + "items": { + "$ref": "#/definitions/SpdTrackingItemInput" + }, + "type": "array" + } + }, + "required": [ + "spdTrackingItems" + ], + "type": "object", + "example": { + "spdTrackingItems": [ + { + "boxId": "FBA10ABC0YY100001", + "trackingId": "FBA10002000" + } + ] + } + }, + "SpdTrackingItem": { + "description": "Contains information used to track and identify a Small Parcel Delivery (SPD) item.", + "properties": { + "boxId": { + "description": "The ID provided by Amazon that identifies a given box. This ID is comprised of the external shipment ID (which\n is generated after transportation has been confirmed) and the index of the box.", + "maxLength": 1024, + "minLength": 1, + "type": "string" + }, + "trackingId": { + "description": "The tracking ID associated with each box in a non-Amazon partnered Small Parcel Delivery (SPD) shipment.", + "maxLength": 1024, + "minLength": 1, + "type": "string" + }, + "trackingNumberValidationStatus": { + "description": "Whether or not Amazon has validated the tracking number. If more than 24 hours have passed and the status is\n not yet 'VALIDATED', please verify the number and update if necessary. Can be `VALIDATED` or `NOT_VALIDATED`.", + "maxLength": 1024, + "minLength": 1, + "type": "string" + } + }, + "type": "object" + }, + "SpdTrackingItemInput": { + "description": "Small Parcel Delivery (SPD) tracking items input information.", + "properties": { + "boxId": { + "description": "The ID provided by Amazon that identifies a given box. This ID is comprised of the external shipment ID (which\n is generated after transportation has been confirmed) and the index of the box.", + "maxLength": 1024, + "minLength": 1, + "type": "string" + }, + "trackingId": { + "description": "The tracking Id associated with each box in a non-Amazon partnered Small Parcel Delivery (SPD) shipment. The seller must provide this information. ", + "maxLength": 1024, + "minLength": 1, + "type": "string" + } + }, + "required": [ + "boxId", + "trackingId" + ], + "type": "object", + "example": { + "boxId": "FBA10ABC0YY100001", + "trackingId": "FBA10002000" + } + }, + "Stackability": { + "description": "Indicates whether pallets will be stacked when carrier arrives for pick-up.", + "enum": [ + "STACKABLE", + "NON_STACKABLE" + ], + "type": "string", + "x-docgen-enum-table-extension": [ + { + "value": "STACKABLE", + "description": "A pallet that can be stacked on top of another pallet." + }, + { + "value": "NON_STACKABLE", + "description": "A pallet that cannot be stacked on top of another pallet." + } + ] + }, + "TaxDetails": { + "description": "Information used to determine the tax compliance.", + "properties": { + "declaredValue": { + "$ref": "#/definitions/Currency" + }, + "hsnCode": { + "description": "Harmonized System of Nomenclature code.", + "maxLength": 1024, + "minLength": 1, + "type": "string" + }, + "taxRates": { + "description": "List of tax rates.", + "items": { + "$ref": "#/definitions/TaxRate" + }, + "type": "array" + } + }, + "type": "object" + }, + "TaxRate": { + "description": "Contains the type and rate of tax.", + "properties": { + "cessRate": { + "description": "Rate of cess tax.", + "format": "double", + "type": "number" + }, + "gstRate": { + "description": "Rate of gst tax.", + "format": "double", + "type": "number" + }, + "taxType": { + "description": "Type of tax. Can be `CGST`, `SGST`, `IGST`, or `TOTAL_TAX`.", + "maxLength": 1024, + "minLength": 1, + "type": "string" + } + }, + "type": "object" + }, + "TrackingDetails": { + "description": "Tracking information for Less-Than-Truckload (LTL) and Small Parcel Delivery (SPD) shipments.", + "properties": { + "ltlTrackingDetail": { + "$ref": "#/definitions/LtlTrackingDetail" + }, + "spdTrackingDetail": { + "$ref": "#/definitions/SpdTrackingDetail" + } + }, + "type": "object" + }, + "TrackingDetailsInput": { + "description": "Tracking information input for Less-Than-Truckload (LTL) and Small Parcel Delivery (SPD) shipments.", + "properties": { + "ltlTrackingDetail": { + "$ref": "#/definitions/LtlTrackingDetailInput" + }, + "spdTrackingDetail": { + "$ref": "#/definitions/SpdTrackingDetailInput" + } + }, + "type": "object", + "example": { + "ltlTrackingDetail": { + "billOfLadingNumber": "billOfLadingNumber", + "freightBillNumber": [ + "freightBillNumber1" + ] + } + } + }, + "TransportationOption": { + "description": "Contains information pertaining to a transportation option and the related carrier.", + "properties": { + "appointmentSlot": { + "$ref": "#/definitions/AppointmentSlot" + }, + "carrier": { + "$ref": "#/definitions/Carrier" + }, + "inboundPlanId": { + "description": "Identifier to an inbound plan.", + "maxLength": 38, + "minLength": 38, + "pattern": "^[a-zA-Z0-9-]*$", + "type": "string" + }, + "placementOptionId": { + "description": "The identifier of a placement option. A placement option represents the shipment splits and destinations of SKUs.", + "maxLength": 38, + "minLength": 38, + "pattern": "^[a-zA-Z0-9-]*$", + "type": "string" + }, + "quote": { + "$ref": "#/definitions/Quote" + }, + "shipmentId": { + "description": "Identifier to a shipment. A shipment contains the boxes and units being inbounded.", + "maxLength": 38, + "minLength": 38, + "pattern": "^[a-zA-Z0-9-]*$", + "type": "string" + }, + "shippingMode": { + "description": "The shipping mode associated with the transportation option. Available modes are ground small parcel, freight less-than-truckload (LTL), freight full-truckload (FTL) palletized, freight FTL non-palletized, ocean less-than-container-load (LCL), ocean full-container load (FCL), air small parcel, and air small parcel express.", + "maxLength": 1024, + "minLength": 1, + "type": "string" + }, + "shippingSolution": { + "description": "The shipping solution associated with the transportation option. Available solutions are Amazon-partnered carrier or 'use your own carrier'.", + "maxLength": 1024, + "minLength": 1, + "type": "string" + }, + "transportationOptionId": { + "description": "Identifier to a transportation option. A transportation option represent one option for how to send a shipment.", + "maxLength": 38, + "minLength": 38, + "pattern": "^[a-zA-Z0-9-]*$", + "type": "string" + } + }, + "required": [ + "carrier", + "inboundPlanId", + "placementOptionId", + "shipmentId", + "shippingMode", + "shippingSolution", + "transportationOptionId" + ], + "type": "object" + }, + "TransportationSelection": { + "description": "The transportation option selected to confirm.", + "properties": { + "contactInformation": { + "$ref": "#/definitions/ContactInformation" + }, + "deliveryWindow": { + "$ref": "#/definitions/WindowInput", + "description": "The range of dates within which the seller expects that their shipment will be delivered to Amazon.\n" + }, + "shipmentId": { + "description": "Shipment ID that the transportation Option is for.", + "maxLength": 38, + "minLength": 38, + "pattern": "^[a-zA-Z0-9-]*$", + "type": "string" + }, + "transportationOptionId": { + "description": "Transportation option being selected for the provided shipment.", + "maxLength": 38, + "minLength": 38, + "pattern": "^[a-zA-Z0-9-]*$", + "type": "string" + } + }, + "required": [ + "shipmentId", + "transportationOptionId" + ], + "type": "object" + }, + "UnitOfMeasurement": { + "description": "Unit of linear measure.", + "enum": [ + "IN", + "CM" + ], + "type": "string", + "x-docgen-enum-table-extension": [ + { + "value": "IN", + "description": "Inches." + }, + { + "value": "CM", + "description": "Centimeters." + } + ] + }, + "UnitOfWeight": { + "description": "Unit of the weight being measured.", + "enum": [ + "LB", + "KG" + ], + "type": "string", + "x-docgen-enum-table-extension": [ + { + "value": "LB", + "description": "Pounds." + }, + { + "value": "KG", + "description": "Kilograms." + } + ] + }, + "UpdateItemComplianceDetailsRequest": { + "description": "The `updateItemComplianceDetails` request.", + "properties": { + "msku": { + "description": "The merchant SKU, a merchant-supplied identifier for a specific SKU.", + "maxLength": 40, + "minLength": 1, + "type": "string" + }, + "taxDetails": { + "$ref": "#/definitions/TaxDetails" + } + }, + "required": [ + "msku", + "taxDetails" + ], + "type": "object", + "example": { + "msku": "Sunglasses", + "taxDetails": { + "declaredValue": { + "amount": 5.5, + "code": "CAD" + }, + "hsnCode": "hsnCode" + } + } + }, + "UpdateItemComplianceDetailsResponse": { + "description": "The `updateItemComplianceDetails` response.", + "properties": { + "operationId": { + "description": "UUID for the given operation.", + "maxLength": 38, + "minLength": 36, + "pattern": "^[a-zA-Z0-9-]*$", + "type": "string" + } + }, + "required": [ + "operationId" + ], + "type": "object" + }, + "UpdateShipmentDeliveryWindowRequest": { + "description": "The `updateShipmentDeliveryWindow` request.", + "properties": { + "deliveryWindow": { + "$ref": "#/definitions/WindowInput", + "description": "The range of dates within which the seller expects that their shipment will be delivered to Amazon.\n" + } + }, + "required": [ + "deliveryWindow" + ], + "type": "object", + "example": { + "deliveryWindow": { + "start": "2024-01-01T00:00Z" + } + } + }, + "UpdateShipmentDeliveryWindowResponse": { + "description": "The `updateShipmentDeliveryWindow` response.", + "properties": { + "operationId": { + "description": "UUID for the given operation.", + "maxLength": 38, + "minLength": 36, + "pattern": "^[a-zA-Z0-9-]*$", + "type": "string" + } + }, + "required": [ + "operationId" + ], + "type": "object" + }, + "UpdateShipmentTrackingDetailsRequest": { + "description": "The `updateShipmentTrackingDetails` request.", + "properties": { + "trackingDetails": { + "$ref": "#/definitions/TrackingDetailsInput" + } + }, + "required": [ + "trackingDetails" + ], + "type": "object", + "example": { + "trackingDetails": { + "spdTrackingDetail": { + "spdTrackingItems": [ + { + "boxId": "FBA10ABC0YY100001", + "trackingId": "FBA10002000" + } + ] + } + } + } + }, + "UpdateShipmentTrackingDetailsResponse": { + "description": "The `updateShipmentTrackingDetails` response.", + "properties": { + "operationId": { + "description": "UUID for the given operation.", + "maxLength": 38, + "minLength": 36, + "pattern": "^[a-zA-Z0-9-]*$", + "type": "string" + } + }, + "required": [ + "operationId" + ], + "type": "object" + }, + "Weight": { + "description": "The weight of a package.", + "properties": { + "unit": { + "$ref": "#/definitions/UnitOfWeight" + }, + "value": { + "description": "Value of a weight.", + "format": "double", + "maximum": 100000, + "minimum": 0, + "type": "number" + } + }, + "required": [ + "unit", + "value" + ], + "type": "object" + }, + "Window": { + "description": "Contains a start and end DateTime representing a time range.", + "properties": { + "editableUntil": { + "description": "The timestamp at which this Window can no longer be edited.", + "format": "date-time", + "type": "string" + }, + "end": { + "description": "The end timestamp of the window.", + "format": "date-time", + "type": "string" + }, + "start": { + "description": "The start timestamp of the window.", + "format": "date-time", + "type": "string" + } + }, + "required": [ + "end", + "start" + ], + "type": "object" + }, + "WindowInput": { + "description": "Contains only a starting DateTime.", + "properties": { + "start": { + "description": "The start date of the window. The time component must be zero.", + "format": "date-time", + "type": "string" + } + }, + "required": [ + "start" + ], + "type": "object" + } + }, + "x-components": {} +} \ No newline at end of file From 5653763a7993a5e7d2171f1aa0d769271df7f7c9 Mon Sep 17 00:00:00 2001 From: Jack Evoniuk Date: Wed, 24 Apr 2024 10:21:40 -0700 Subject: [PATCH 053/340] Update Data Kiosk schemas --- .../analytics_economics_2024_03_15.graphql | 493 ++++++++++++++ ...alytics_salesAndTraffic_2024_04_24.graphql | 625 ++++++++++++++++++ 2 files changed, 1118 insertions(+) create mode 100644 schemas/data-kiosk/analytics_economics_2024_03_15.graphql create mode 100644 schemas/data-kiosk/analytics_salesAndTraffic_2024_04_24.graphql diff --git a/schemas/data-kiosk/analytics_economics_2024_03_15.graphql b/schemas/data-kiosk/analytics_economics_2024_03_15.graphql new file mode 100644 index 000000000..bdfda3733 --- /dev/null +++ b/schemas/data-kiosk/analytics_economics_2024_03_15.graphql @@ -0,0 +1,493 @@ +""" +A Scalar for the primitive long type. +""" +scalar Long +""" +An RFC-3339 compliant Full Date Scalar. Example: "2024-03-15" +""" +scalar Date + +extend type Query + @domainResolver( + sdpInstanceType: "amzn1.sdp.1.type.1.DataKiosk.Domain.Analytics_Economics_2024_03_15" + ) { + """ + Seller economics queries version 2024_03_15. + """ + analytics_economics_2024_03_15: Analytics_Economics_2024_03_15 +} + +""" +A root type for seller economics queries version 2024_03_15. +""" +type Analytics_Economics_2024_03_15 { + """ + A query to retrieve seller economics data for the seller's account aggregated by date and product identifier. The seller economics data consists of aggregated sales, fees, and cost for selected period. + """ + economics( + """ + The start date of the seller economics data to retrieve. The start date must be no more than two years ago. If the provided start date occurs mid-week or mid-month in UTC+0 timezone, the following Sunday for WEEK date granularity or the first day of the next month for MONTH date granularity will be used instead. + """ + startDate: Date! + """ + The end date of the seller economics data to retrieve. If the provided end date occurs mid-week or mid-month in UTC+0 timezone, the preceding Saturday for WEEK date granularity or the last day of the previous month for MONTH date granularity will be used instead. + """ + endDate: Date! + """ + The marketplace identifiers to retrieve seller economics data for. + """ + marketplaceIds: [String]! + """ + Specifies which fee types to breakdown into individual components. + """ + includeComponentsForFeeTypes: [FeeType] + """ + Determines how the seller economics data should be aggregated. By default it's aggregated by MSKU and DAY. + """ + aggregateBy: EconomicsAggregation + ): [Economics] @supportedAccountTypes(types: [MERCHANT]) +} + +""" +The seller economics data for a given product in the seller's account. +""" +type Economics { + """ + The marketplace identifier of the seller economics data. + """ + marketplaceId: String! + @paamRights( + require: ["seller_economics_api_view", "seller_economics_mobile_view"] + ) + @resultRetention(duration: "P30D") + """ + The start date of the seller economics data, please note this date may be adjusted to the start of DateGranularity. + """ + startDate: Date! + @paamRights( + require: ["seller_economics_api_view", "seller_economics_mobile_view"] + ) + @resultRetention(duration: "P30D") + """ + The end date of the seller economics data, please note this date may be adjusted to the end of DateGranularity. + """ + endDate: Date! + @paamRights( + require: ["seller_economics_api_view", "seller_economics_mobile_view"] + ) + @resultRetention(duration: "P30D") + """ + The Amazon Standard Identification Number of the parent product. A parent product appears in our catalog as a non-buyable, generic identifier for a product that has buyable variations (child products). + """ + parentAsin: String! + @paamRights( + require: ["seller_economics_api_view", "seller_economics_mobile_view"] + ) + @resultRetention(duration: "P30D") + """ + The Amazon Standard Identification Number of the child product. Child products are unique, sellable products that are related in our catalog to a single, non-sellable parent product. Note: This field is only present when product aggregation is CHILD_ASIN, FNSKU or MSKU. + """ + childAsin: String + @paamRights( + require: ["seller_economics_api_view", "seller_economics_mobile_view"] + ) + @resultRetention(duration: "P30D") + """ + The Fulfillment Network Stock Keeping Unit (FNSKU) of the product. Note: This field is only present when product aggregation is FNSKU or MSKU. This field may be null when product aggregation is MSKU and the row is associated with more than one FNSKU. + """ + fnsku: String + @paamRights( + require: ["seller_economics_api_view", "seller_economics_mobile_view"] + ) + @resultRetention(duration: "P30D") + """ + The Merchant Stock Keeping Unit (MSKU) of the product. Note: This field is only present when product aggregation is FNSKU or MSKU. This field may be null when product aggregation is FNSKU and the row is associated with more than one MSKU. + """ + msku: String + @paamRights( + require: ["seller_economics_api_view", "seller_economics_mobile_view"] + ) + @resultRetention(duration: "P30D") + """ + The sales data for the product within the specified date range. + """ + sales: Sales! + """ + The fees applied to the product within the specified date range. Supported fee types can be found [here](https://sellercentral.amazon.com/gp/help/GZ8Y22NL2FSRY8M5.) + """ + fees: [FeeSummary]! + """ + The advertising spend data for the product within the specified date range. Supported advertisement charge types can be found [here](https://sellercentral.amazon.com/gp/help/GZ8Y22NL2FSRY8M5). + """ + ads: [AdSummary] + """ + The off Amazon cost provided by the seller for this product (per unit). The off Amazon cost can be provided on [SKU Central](https://sellercentral.amazon.com/skucentral?mSku=xxx) and [Revenue Calculator](https://sellercentral.amazon.com/revcal). + """ + cost: PerUnitCost + """ + The net proceeds for this product within the specified date range. The value remains unchanged regardless of whether sales, fees, ads, or cost are selected in the query. + """ + netProceeds: NetProceeds! +} + +""" +The sales data for a given product in the seller's account within a given date range. +""" +type Sales { + """ + The amount of ordered product sales, calculated by multiplying the price of products and the number of units sold for the selected time period. + """ + orderedProductSales: Amount! + @paamRights( + require: ["seller_economics_api_view", "seller_economics_mobile_view"] + ) + @resultRetention(duration: "P30D") + """ + The number of units ordered for the selected time period. Example: For an order containing 2 copies of book A and 3 copies of book B, the number of orders is 1, the number of order items is 2 (book A and book B), and the number of units is 5 (2 + 3). + """ + unitsOrdered: Long! + @paamRights( + require: ["seller_economics_api_view", "seller_economics_mobile_view"] + ) + @resultRetention(duration: "P30D") + """ + The average price of the units sold in the selected time period, calculated by dividing the orderedProductSales by unitsOrdered for the selected time period. This field will be null when unitsOrdered is 0. + """ + averageSellingPrice: Amount + @paamRights( + require: ["seller_economics_api_view", "seller_economics_mobile_view"] + ) + @resultRetention(duration: "P30D") + """ + The amount of refunded product sales for the selected time period, it's counted by refund request time. + """ + refundedProductSales: Amount! + @paamRights( + require: ["seller_economics_api_view", "seller_economics_mobile_view"] + ) + @resultRetention(duration: "P30D") + """ + The number of units refunded in the selected time period. + """ + unitsRefunded: Long! + @paamRights( + require: ["seller_economics_api_view", "seller_economics_mobile_view"] + ) + @resultRetention(duration: "P30D") + """ + The amount of net product sales, calculated by orderedProductSales - refundedProductSales. + """ + netProductSales: Amount! + @paamRights( + require: ["seller_economics_api_view", "seller_economics_mobile_view"] + ) + @resultRetention(duration: "P30D") + """ + The number of net units sold for the selected time period, calculated by unitsOrdered - unitsRefunded. + """ + netUnitsSold: Long! + @paamRights( + require: ["seller_economics_api_view", "seller_economics_mobile_view"] + ) + @resultRetention(duration: "P30D") +} + +""" +The fees data summary for the seller's account aggregated by transaction event type: charge. +""" +type FeeSummary { + """ + Fee type name, for example: "FBA fulfillment fees" + """ + feeTypeName: String! + @paamRights( + require: ["seller_economics_api_view", "seller_economics_mobile_view"] + ) + @resultRetention(duration: "P30D") + """ + Charge summary for a fee type. + """ + charge: Fee +} + +""" +A fee applied to a given product in the seller's account within a given date range. Fee information can be found [here](https://sellercentral.amazon.com/gp/help/GZ8Y22NL2FSRY8M5). +""" +type Fee { + """ + Fee aggregated transaction detail. + """ + aggregatedDetail: AggregatedDetail! + """ + A breakdown of the fee into individual components. This field will be null for fee types that cannot be divided into individual components. + """ + components: [FeeComponent] + @paamRights( + require: ["seller_economics_api_view", "seller_economics_mobile_view"] + ) + @resultRetention(duration: "P30D") +} + +""" +The fee component data applied to a given product in the seller's account within a given date range. It's breakdown of parent fee. +""" +type FeeComponent { + """ + Fee component name, for example: "Base fulfillment fee". + """ + name: String! + @paamRights( + require: ["seller_economics_api_view", "seller_economics_mobile_view"] + ) + @resultRetention(duration: "P30D") + """ + Fee component aggregated detail. + """ + aggregatedDetail: AggregatedDetail! +} + +""" +The advertisements spend data summary for the seller's account aggregated by transaction event type: charge. +""" +type AdSummary { + """ + Advertisement type name, for example: "Sponsored Products charge". + """ + adTypeName: String! + @paamRights( + require: ["seller_economics_api_view", "seller_economics_mobile_view"] + ) + @resultRetention(duration: "P30D") + """ + Charge aggregated detail for an advertisement type. + """ + charge: AggregatedDetail +} + +""" +The aggregated transaction detail for the seller's account aggregated by transaction event type and transaction type, for example: charge and "fbaFulfillmentFee". +""" +type AggregatedDetail { + """ + Charged quantity for a given product in the seller's account. When the fee is not charged on a per unit basis, this value may be null or may not be an integer. + """ + quantity: Float + @paamRights( + require: ["seller_economics_api_view", "seller_economics_mobile_view"] + ) + @resultRetention(duration: "P30D") + """ + Final charge amount after promotion and tax are considered. This value is calculated as amount - promotionAmount + taxAmount. + """ + totalAmount: Amount! + @paamRights( + require: ["seller_economics_api_view", "seller_economics_mobile_view"] + ) + @resultRetention(duration: "P30D") + """ + Final charge amount per unit after promotion and tax are considered. This value is calculated by dividing totalAmount by quantity. This value will be null when quantity is null. + """ + amountPerUnit: Amount + @paamRights( + require: ["seller_economics_api_view", "seller_economics_mobile_view"] + ) + @resultRetention(duration: "P30D") + """ + Amount calculated by rate card. + """ + amount: Amount! + @paamRights( + require: ["seller_economics_api_view", "seller_economics_mobile_view"] + ) + @resultRetention(duration: "P30D") + """ + The promotion amount associated with this transaction type. This value is deducted from amount when computing totalAmount. + """ + promotionAmount: Amount! + @paamRights( + require: ["seller_economics_api_view", "seller_economics_mobile_view"] + ) + @resultRetention(duration: "P30D") + """ + The tax amount associated with this transaction type. This value is added to amount when computing totalAmount. + """ + taxAmount: Amount! + @paamRights( + require: ["seller_economics_api_view", "seller_economics_mobile_view"] + ) + @resultRetention(duration: "P30D") +} + +""" +The item level per unit cost provided by seller. Fields in this type will be null if not provided by the seller. +""" +type PerUnitCost { + """ + Cost to manufacture or acquire the product. This value is provided by the seller and is applicable to both Fulfillment by Amazon (FBA) and Merchant Fulfilled Network (MFN) products. + """ + costOfGoodsSold: Amount + @paamRights( + require: ["Seller_Provided_Costs_API_Read", "Seller_Provided_Costs_Read"] + ) + @resultRetention(duration: "P30D") + """ + Miscellaneous costs not related to this specific product, ex: overhead, etc. This value is provided by the seller and applicable to both Fulfillment by Amazon (FBA) and Merchant Fulfilled Network (MFN) products. + """ + miscellaneousCost: Amount + @paamRights( + require: ["Seller_Provided_Costs_API_Read", "Seller_Provided_Costs_Read"] + ) + @resultRetention(duration: "P30D") + """ + The item level per unit cost provided by the seller and applicable to Fulfillment by Amazon (FBA) products. + """ + fbaCost: FbaPerUnitCost + """ + The item level per unit cost provided by the seller and applicable to Merchant Fulfilled Network (MFN) products. + """ + mfnCost: MfnPerUnitCost +} + +""" +The item level per unit cost provided by the seller and applicable to Fulfillment by Amazon (FBA) products. Fields in this type will be null if not provided by the seller. +""" +type FbaPerUnitCost { + """ + Cost of shipping the Fulfillment by Amazon (FBA) item to an Amazon fulfillment center. This value is provided by the seller and applicable to Fulfillment by Amazon (FBA) products. + """ + shippingToAmazonCost: Amount + @paamRights( + require: ["Seller_Provided_Costs_API_Read", "Seller_Provided_Costs_Read"] + ) + @resultRetention(duration: "P30D") +} + +""" +The item level per unit cost provided by the seller and applicable to Merchant Fulfilled Network (MFN) products. Fields in this type will be null if not provided by the seller. +""" +type MfnPerUnitCost { + """ + Cost of fulfilling an order containing the product, including labor, packing material, shipping to customer, customer service etc. This value is provided by the seller and applicable to Merchant Fulfilled Network (MFN) products. + """ + fulfillmentCost: Amount + @paamRights( + require: ["Seller_Provided_Costs_API_Read", "Seller_Provided_Costs_Read"] + ) + @resultRetention(duration: "P30D") + """ + Cost to store a single unit of the product per month. This value is provided by the seller and applicable to Merchant Fulfilled Network (MFN) products. + """ + storageCost: Amount + @paamRights( + require: ["Seller_Provided_Costs_API_Read", "Seller_Provided_Costs_Read"] + ) + @resultRetention(duration: "P30D") +} + +""" +The net proceeds for a given product in the seller's account for a given time range. These fields are calculated as sales.netProductSales - sum of fees.charge.totalAmount - sum of ads.charge.totalAmount - (cost of Merchant Fulfilled Network (MFN) products or cost of Fulfillment by Amazon (FBA) products) * sales.netUnitsSold. +""" +type NetProceeds { + """ + "Total net proceeds for a given product in the seller's account for a given time range. + """ + total: Amount + @paamRights( + require: ["Seller_Provided_Costs_API_Read", "Seller_Provided_Costs_Read"] + ) + @resultRetention(duration: "P30D") + """ + Net proceeds per unit for a given product in the seller's account for a given time range. This value is calculated by dividing total by sales.netUnitsSold. + """ + perUnit: Amount + @paamRights( + require: ["Seller_Provided_Costs_API_Read", "Seller_Provided_Costs_Read"] + ) + @resultRetention(duration: "P30D") +} + +""" +Monetary amount with the corresponding currency code. +""" +type Amount { + """ + The amount. + """ + amount: Float! + """ + Currency code of the amount in ISO 4217 format. + """ + currencyCode: String! +} + +""" +Defines how the seller economics data will be aggregated. +""" +input EconomicsAggregation { + """ + The product identifier granularity used in aggregation. By default the results will be aggregated by MSKU. + """ + productId: ProductIdentifierGranularity + """ + The date granularity used in aggregation. By default the results will be aggregated by DAY. + """ + date: DateGranularity +} + +""" +The date granularity used in aggregation. +""" +enum DateGranularity { + """ + Seller economics data is aggregated by day against marketplace local time. + """ + DAY + """ + Seller economics data is aggregated by week against marketplace local time, Sunday is the first day of the week. + """ + WEEK + """ + Seller economics data is aggregated by month against marketplace local time. + """ + MONTH + """ + Seller economics data is aggregated by the entire date range specified by startDate and endDate. + """ + RANGE +} + +""" +The product identifier granularity used in aggregation. +""" +enum ProductIdentifierGranularity { + """ + Seller Economics data is aggregated by parent ASIN. + """ + PARENT_ASIN + """ + Seller Economics data is aggregated by child ASIN. + """ + CHILD_ASIN + """ + Seller Economics data is aggregated by fulfillment network sku. + """ + FNSKU + """ + Seller Economics data is aggregated by merchant sku. + """ + MSKU +} + +""" +The fee type used in filter fee components generation. +""" +enum FeeType { + """ + Fulfillment by Amazon (FBA) Fulfillment Fees, including base rate and surcharges. + """ + FBA_FULFILLMENT_FEE + """ + Fulfillment by Amazon (FBA) Monthly Inventory Storage Fee, including base rate and surcharges. + """ + FBA_STORAGE_FEE +} diff --git a/schemas/data-kiosk/analytics_salesAndTraffic_2024_04_24.graphql b/schemas/data-kiosk/analytics_salesAndTraffic_2024_04_24.graphql new file mode 100644 index 000000000..691307c99 --- /dev/null +++ b/schemas/data-kiosk/analytics_salesAndTraffic_2024_04_24.graphql @@ -0,0 +1,625 @@ +""" +A Scalar for the primitive long type. +""" +scalar Long +""" +An RFC-3339 compliant Full Date Scalar. Example: "2023-11-15" +""" +scalar Date + +extend type Query + @domainResolver( + sdpInstanceType: "amzn1.sdp.1.type.1.DataKiosk.Domain.Analytics_SalesAndTraffic_2024_04_24" + ) { + """ + Analytics Sales and Traffic queries version 2024_04_24. + """ + analytics_salesAndTraffic_2024_04_24: Analytics_SalesAndTraffic_2024_04_24 +} + +""" +A root type for Analytics Sales and Traffic queries version 2024_04_24. +""" +type Analytics_SalesAndTraffic_2024_04_24 { + """ + A query to retrieve sales and traffic data for the seller's account aggregated by date. + """ + salesAndTrafficByDate( + """ + The start date of the sales and traffic data to retrieve. The start date must be no more than two years ago. If the provided start date occurs mid-week or mid-month, the following Sunday for WEEK date granularity or the first day of the next month for MONTH date granularity will be used instead. + """ + startDate: Date! + + """ + The end date of the sales and traffic data to retrieve. If the provided end date occurs mid-week or mid-month, the preceding Saturday for WEEK date granularity or the last day of the previous month for MONTH date granularity will be used instead. + """ + endDate: Date! + + """ + The marketplace identifiers to retrieve sales and traffic data for. + """ + marketplaceIds: [String!]! + + """ + Determines how the sales and traffic data should be aggregated. + """ + aggregateBy: DateGranularity! + ): [SalesAndTrafficByDate] @supportedAccountTypes(types: [MERCHANT]) + + """ + A query to retrieve sales and traffic data for the seller's account aggregated by ASIN. + """ + salesAndTrafficByAsin( + """ + The start date of the sales and traffic data to retrieve. The start date must be no more than two years ago. If a date granularity is specified and the provided start date occurs mid-week or mid-month, the following Sunday for WEEK date granularity or the first day of the next month for MONTH date granularity will be used instead. + """ + startDate: Date! + + """ + The end date of the sales and traffic data to retrieve. If a date granularity is specified and the provided end date occurs mid-week or mid-month, the preceding Saturday for WEEK date granularity or the last day of the previous month for MONTH date granularity will be used instead. + """ + endDate: Date! + + """ + The marketplace identifiers to retrieve sales and traffic data for. + """ + marketplaceIds: [String!]! + + """ + Determines how the sales and traffic data should be aggregated. + """ + aggregateBy: AsinGranularity! + ): [SalesAndTrafficByAsin] @supportedAccountTypes(types: [MERCHANT]) +} + +""" +The sales and traffic data for the seller's account aggregated by date. +""" +type SalesAndTrafficByDate { + """ + The marketplace identifier of the sales and traffic data. + """ + marketplaceId: String! + @paamRights(require: ["analytics_sales_and_traffic_view_pa"]) + @resultRetention(duration: "P30D") + + """ + The start date of the sales and traffic data. + """ + startDate: Date! + @paamRights(require: ["analytics_sales_and_traffic_view_pa"]) + @resultRetention(duration: "P30D") + + """ + The end date of the sales and traffic data. + """ + endDate: Date! + @paamRights(require: ["analytics_sales_and_traffic_view_pa"]) + @resultRetention(duration: "P30D") + + """ + The sales data for the seller's account. + """ + sales: ByDateSales! + @paamRights(require: ["analytics_sales_and_traffic_view_pa"]) + + """ + The traffic data for the seller's account. + """ + traffic: ByDateTraffic! + @paamRights(require: ["analytics_sales_and_traffic_view_pa"]) +} + +""" +The sales data for the seller's account aggregated by date. +""" +type ByDateSales { + """ + The amount of ordered product sales, calculated by multiplying the price of products and the number of units sold for the selected time period. + """ + orderedProductSales: Amount! @resultRetention(duration: "P30D") + + """ + The amount of ordered product sales to Amazon Business customers, calculated by multiplying the price of products and the number of units sold for the selected time period. + """ + orderedProductSalesB2B: Amount @resultRetention(duration: "P30D") + + """ + The number of units ordered for the selected time period. Example: For an order containing 2 copies of book A and 3 copies of book B, the number of orders is 1, the number of order items is 2 (book A and book B), and the number of units is 5 (2 + 3). + """ + unitsOrdered: Long! @resultRetention(duration: "P30D") + + """ + The number of units ordered by Amazon Business customers for the selected time period. Example: For an order containing 2 copies of book A and 3 copies of book B, the number of orders is 1, the number of order items is 2 (book A and book B), and the number of units is 5 (2 + 3). + """ + unitsOrderedB2B: Long @resultRetention(duration: "P30D") + + """ + The number of items that were ordered for the selected time period. Example: For an order containing 2 copies of book A and 3 copies of book B, the number of orders is 1, the number of order items is 2 (book A and book B), and the number of units is 5 (2 + 3). + """ + totalOrderItems: Long! @resultRetention(duration: "P30D") + + """ + The number of items that were ordered by Amazon Business customers for the selected time period. Example: For an order containing 2 copies of book A and 3 copies of book B, the number of orders is 1, the number of order items is 2 (book A and book B), and the number of units is 5 (2 + 3). + """ + totalOrderItemsB2B: Long @resultRetention(duration: "P30D") + + """ + The average ordered product sales, calculated by dividing orderedProductSales by totalOrderItems for the selected time period. + """ + averageSalesPerOrderItem: Amount! @resultRetention(duration: "P30D") + + """ + The average ordered product sales to Amazon Business customers, calculated by dividing orderedProductSalesB2B by totalOrderItemsB2B for the selected time period. Note: This field is only populated when the seller is a B2B seller. + """ + averageSalesPerOrderItemB2B: Amount @resultRetention(duration: "P30D") + + """ + The average number of units in each order item for the selected time period. + """ + averageUnitsPerOrderItem: Float! @resultRetention(duration: "P30D") + + """ + The average number of units in each order item ordered by Amazon Business customers for the selected time period. Note: This field is only populated when the seller is a B2B seller. + """ + averageUnitsPerOrderItemB2B: Float @resultRetention(duration: "P30D") + + """ + The average price of the units sold in the selected time period, calculated by dividing the orderedProductSales by unitsOrdered for the selected time period. + """ + averageSellingPrice: Amount! @resultRetention(duration: "P30D") + + """ + The average price of the units sold to Amazon Business customers, calculated by dividing the orderedProductSalesB2B by unitsOrderedB2B for the selected time period. Note: This field is only populated when the seller is a B2B seller. + """ + averageSellingPriceB2B: Amount @resultRetention(duration: "P30D") + + """ + The number of units refunded in the selected time period. + """ + unitsRefunded: Long! @resultRetention(duration: "P30D") + + """ + The percentage conversion metric indicating how many orders were refunded by the seller, calculated by dividing unitsOrdered by unitsRefunded in the selected time period. + """ + refundRate: Float! @resultRetention(duration: "P30D") + + """ + The number of A-to-z guarantee claims granted. + """ + claimsGranted: Long! @resultRetention(duration: "P30D") + + """ + Monetary amount of filed A-to-z guarantee claims. + """ + claimsAmount: Amount! @resultRetention(duration: "P30D") + + """ + The amount of ordered product sales shipped for the selected time period. + """ + shippedProductSales: Amount! @resultRetention(duration: "P30D") + + """ + The number of units shipped in the selected time period. + """ + unitsShipped: Long! @resultRetention(duration: "P30D") + + """ + The number of orders shipped in the selected time period. + """ + ordersShipped: Long! @resultRetention(duration: "P30D") +} + +""" +The traffic data for the seller's account aggregated by date. +""" +type ByDateTraffic { + """ + Browser sessions are visits to your Amazon.com browser pages by a user. All browser activity within a 24-hour period is considered a browser session. For example, if a user visits your pages using a browser multiple times within a 24 hour period it is counted as a single browser session. + """ + browserSessions: Long! @resultRetention(duration: "P30D") + + """ + Browser B2B sessions are visits to your Amazon.com browser pages by an Amazon Business customer. All activity within a 24-hour period is considered a browser session. For example, if an Amazon Business customer visits your pages using browser multiple times within a 24 hour period it is counted as a single session. Note: This field is only populated when the seller is a B2B seller. + """ + browserSessionsB2B: Long @resultRetention(duration: "P30D") + + """ + Mobile app sessions are visits to your Amazon.com mobile app pages by a user. All mobile app activity within a 24-hour period is considered a mobile app session. For example, if a user visits your pages using a mobile app multiple times within a 24 hour period it is counted as a single mobile app session. + """ + mobileAppSessions: Long! @resultRetention(duration: "P30D") + + """ + Mobile app B2B sessions are visits to your Amazon.com mobile app pages by an Amazon Business customer. All activity within a 24-hour period is considered a mobile app session. For example, if an Amazon Business customer visits your pages using mobile app multiple times within a 24 hour period it is counted as a single session. Note: This field is only populated when the seller is a B2B seller. + """ + mobileAppSessionsB2B: Long @resultRetention(duration: "P30D") + + """ + Sessions are visits to your Amazon.com browser or mobile app pages by a user. All browser and mobile app activity within a 24-hour period is considered a session. It is calculated as the sum of browserSessions and mobileAppSessions. + """ + sessions: Long! @resultRetention(duration: "P30D") + + """ + B2B sessions are visits to your Amazon.com pages using browser or mobile app by an Amazon Business customer. All activity within a 24-hour period is considered a session. For example, if an Amazon Business customer visits your pages multiple times using mobile app or browser within a 24 hour period it is counted as a single session. Note: This field is only populated when the seller is a B2B seller. + """ + sessionsB2B: Long @resultRetention(duration: "P30D") + + """ + Browser page views are the number of times a user visited your Amazon.com browser pages for the selected time period. + """ + browserPageViews: Long! @resultRetention(duration: "P30D") + + """ + Browser B2B page views are the number of times an Amazon Business customer visited your Amazon.com browser pages for the selected time period. Note: This field is only populated when the seller is a B2B seller. + """ + browserPageViewsB2B: Long @resultRetention(duration: "P30D") + + """ + Mobile app page views are the number of times a user visited your Amazon.com mobile app pages for the selected time period. + """ + mobileAppPageViews: Long! @resultRetention(duration: "P30D") + + """ + Mobile app B2B page views are the number of times an Amazon Business customer visited your Amazon.com mobile app pages for the selected time period. Note: This field is only populated when the seller is a B2B seller. + """ + mobileAppPageViewsB2B: Long @resultRetention(duration: "P30D") + + """ + Page views are the number of times a user visited your Amazon.com browser or mobile app pages for the selected time period. It is calculated as the sum of browserPageViews and mobileAppPageViews. + """ + pageViews: Long! @resultRetention(duration: "P30D") + + """ + B2B page views are the number of times an Amazon Business customer visited your Amazon.com pages using browser or mobile app for the selected time period. Note: This field is only populated when the seller is a B2B seller. + """ + pageViewsB2B: Long @resultRetention(duration: "P30D") + + """ + The percentage of page views where the buy box (the add to shopping cart link) appeared on the page for customers to add your product to their cart. + """ + buyBoxPercentage: Float! @resultRetention(duration: "P30D") + + """ + The percentage of page views by Amazon Business customers where the buy box (the add to shopping cart link) appeared on the page for customers to add your product to their cart. Note: This field is only populated when the seller is a B2B seller. + """ + buyBoxPercentageB2B: Float @resultRetention(duration: "P30D") + + """ + The percentage conversion metric indicating how many order items were generated relative to the number of people who viewed the products. + """ + orderItemSessionPercentage: Float! @resultRetention(duration: "P30D") + + """ + The percentage conversion metric indicating how many order items were generated by Amazon Business customers relative to the number of Amazon Business customers who viewed the products. Note: This field is only populated when the seller is a B2B seller. + """ + orderItemSessionPercentageB2B: Float @resultRetention(duration: "P30D") + + """ + The percentage conversion metric indicating how many units were purchased relative to the number of people who viewed the products. + """ + unitSessionPercentage: Float! @resultRetention(duration: "P30D") + + """ + The percentage conversion metric indicating how many units were purchased by Amazon Business customers relative to number of Amazon Business customers who viewed the products. Note: This field is only populated when the seller is a B2B seller. + """ + unitSessionPercentageB2B: Float @resultRetention(duration: "P30D") + + """ + The average number of offers listed for sale in the selected time period. It is calculated from the total number of offers and the total number of days in the selected time period. + """ + averageOfferCount: Long! @resultRetention(duration: "P30D") + + """ + The average number of parent items listed for sale in the selected time period. + """ + averageParentItems: Long! @resultRetention(duration: "P30D") + + """ + The number of times customers left feedback in the selected time period. + """ + feedbackReceived: Long! @resultRetention(duration: "P30D") + + """ + The number of times customers left negative feedback in the selected time period. + """ + negativeFeedbackReceived: Long! @resultRetention(duration: "P30D") + + """ + The negative feedback rate is the number of orders that have received negative feedback divided by the number of orders in the selected time period. + """ + receivedNegativeFeedbackRate: Float! @resultRetention(duration: "P30D") +} + +""" +The sales and traffic data for the seller's account aggregated by ASIN. +""" +type SalesAndTrafficByAsin { + """ + The marketplace identifier of the sales and traffic data. + """ + marketplaceId: String! + @paamRights(require: ["analytics_sales_and_traffic_view_pa"]) + @resultRetention(duration: "P30D") + + """ + The start date of the period of the aggregated data. + """ + startDate: Date! + @paamRights(require: ["analytics_sales_and_traffic_view_pa"]) + @resultRetention(duration: "P30D") + + """ + The end date of the period of the aggregated data. + """ + endDate: Date! + @paamRights(require: ["analytics_sales_and_traffic_view_pa"]) + @resultRetention(duration: "P30D") + + """ + The Amazon Standard Identification Number of the parent product. A parent product appears in our catalog as a non-buyable, generic identifier for a product that has buyable variations (child products). + """ + parentAsin: String! + @paamRights(require: ["analytics_sales_and_traffic_view_pa"]) + @resultRetention(duration: "P30D") + + """ + The Amazon Standard Identification Number of the child product. Child products are unique, sellable products that are related in our catalog to a single, non-sellable parent product. Note: This field is only present when ASIN aggregation is CHILD or SKU. + """ + childAsin: String + @paamRights(require: ["analytics_sales_and_traffic_view_pa"]) + @resultRetention(duration: "P30D") + + """ + The Stock Keeping Unit of the product. The SKU is a seller specific product identifier. Note: This field is only present when ASIN aggregation is SKU. + """ + sku: String + @paamRights(require: ["analytics_sales_and_traffic_view_pa"]) + @resultRetention(duration: "P30D") + + """ + The sales data for the parentAsin/childAsin/sku within the specified date range. + """ + sales: ByAsinSales! + @paamRights(require: ["analytics_sales_and_traffic_view_pa"]) + + """ + The traffic data for the parentAsin/childAsin/sku within the specified date range. + """ + traffic: ByAsinTraffic! + @paamRights(require: ["analytics_sales_and_traffic_view_pa"]) +} + +""" +The sales data for the seller's account aggregated by ASIN. +""" +type ByAsinSales { + """ + The number of units ordered. + """ + unitsOrdered: Long! @resultRetention(duration: "P30D") + + """ + The number of units ordered by Amazon Business customers. Note: This field is only populated when the seller is a B2B seller. + """ + unitsOrderedB2B: Long @resultRetention(duration: "P30D") + + """ + The amount of ordered product sales, calculated by multiplying the price of products and the number of units sold for the selected time period. + """ + orderedProductSales: Amount! @resultRetention(duration: "P30D") + + """ + The amount of ordered product sales to Amazon Business customers, calculated by multiplying the price of products and the number of units sold for the selected time period. Note: This field is only populated when the seller is a B2B seller. + """ + orderedProductSalesB2B: Amount @resultRetention(duration: "P30D") + + """ + The number of items that were ordered for the selected time period. + """ + totalOrderItems: Long! @resultRetention(duration: "P30D") + + """ + The number of items that were ordered by Amazon Business customers for the selected time period. Note: This field is only populated when the seller is a B2B seller. + """ + totalOrderItemsB2B: Long @resultRetention(duration: "P30D") +} + +""" +The traffic data for the seller's account aggregated by ASIN. +""" +type ByAsinTraffic { + """ + Browser sessions are visits to your Amazon.com browser pages by a user. All browser activity within a 24-hour period is considered a browser session. For example, if a user visits your pages using a browser multiple times within a 24 hour period it is counted as a single browser session. + """ + browserSessions: Long! @resultRetention(duration: "P30D") + + """ + Browser B2B sessions are visits to your Amazon.com browser pages by an Amazon Business customer. All activity within a 24-hour period is considered a browser session. For example, if an Amazon Business customer visits your pages using browser multiple times within a 24 hour period it is counted as a single session. Note: This field is only populated when the seller is a B2B seller. + """ + browserSessionsB2B: Long @resultRetention(duration: "P30D") + + """ + Mobile app sessions are visits to your Amazon.com mobile app pages by a user. All mobile app activity within a 24-hour period is considered a mobile app session. For example, if a user visits your pages using a mobile app multiple times within a 24 hour period it is counted as a single mobile app session. + """ + mobileAppSessions: Long! @resultRetention(duration: "P30D") + + """ + Mobile app B2B sessions are visits to your Amazon.com mobile app pages by an Amazon Business customer. All activity within a 24-hour period is considered a mobile app session. For example, if an Amazon Business customer visits your pages using mobile app multiple times within a 24 hour period it is counted as a single session. Note: This field is only populated when the seller is a B2B seller. + """ + mobileAppSessionsB2B: Long @resultRetention(duration: "P30D") + + """ + Sessions are visits to your Amazon.com browser or mobile app pages by a user. All browser and mobile app activity within a 24-hour period is considered a session. It is calculated as the sum of browserSessions and mobileAppSessions. + """ + sessions: Long! @resultRetention(duration: "P30D") + + """ + B2B sessions are visits to your Amazon.com pages using browser or mobile app by an Amazon Business customer. All activity within a 24-hour period is considered a session. For example, if an Amazon Business customer visits your pages multiple times using mobile app or browser within a 24 hour period it is counted as a single session. Note: This field is only populated when the seller is a B2B seller. + """ + sessionsB2B: Long @resultRetention(duration: "P30D") + + """ + The percentage of browser sessions that contain at least one page view for a particular SKU/ASIN relative to the total number of browser sessions for all products. + """ + browserSessionPercentage: Float! @resultRetention(duration: "P30D") + + """ + The percentage of browser sessions that contain at least one page view by an Amazon Business customer for a particular SKU/ASIN relative to the total number of browser sessions by Amazon Business customers for all products. Note: This field is only populated when the seller is a B2B seller. + """ + browserSessionPercentageB2B: Float @resultRetention(duration: "P30D") + + """ + The percentage of mobile app sessions that contain at least one page view for a particular SKU/ASIN relative to the total number of mobile app sessions for all products. + """ + mobileAppSessionPercentage: Float! @resultRetention(duration: "P30D") + + """ + The percentage of mobile app sessions that contain at least one page view by an Amazon Business customer for a particular SKU/ASIN relative to the total number of mobile app sessions by Amazon Business customers for all products. Note: This field is only populated when the seller is a B2B seller. + """ + mobileAppSessionPercentageB2B: Float @resultRetention(duration: "P30D") + + """ + The percentage of sessions that contain at least one page view for a particular SKU/ASIN relative to the total number of sessions for all products. + """ + sessionPercentage: Float! @resultRetention(duration: "P30D") + + """ + The percentage of sessions that contain at least one page view by an Amazon Business customer for a particular SKU/ASIN relative to the total number of sessions by Amazon Business customers for all products. Note: This field is only populated when the seller is a B2B seller. + """ + sessionPercentageB2B: Float @resultRetention(duration: "P30D") + + """ + Browser page views are the number of times a user visited your Amazon.com browser pages for the selected time period. + """ + browserPageViews: Long! @resultRetention(duration: "P30D") + + """ + Browser B2B page views are the number of times an Amazon Business customer visited your Amazon.com browser pages for the selected time period. Note: This field is only populated when the seller is a B2B seller. + """ + browserPageViewsB2B: Long @resultRetention(duration: "P30D") + + """ + Mobile app page views are the number of times a user visited your Amazon.com mobile app pages for the selected time period. + """ + mobileAppPageViews: Long! @resultRetention(duration: "P30D") + + """ + Mobile app B2B page views are the number of times an Amazon Business customer visited your Amazon.com mobile app pages for the selected time period. Note: This field is only populated when the seller is a B2B seller. + """ + mobileAppPageViewsB2B: Long @resultRetention(duration: "P30D") + + """ + Page views are the number of times a user visited your Amazon.com browser or mobile app pages for the selected time period. It is calculated as the sum of browserPageViews and mobileAppPageViews. + """ + pageViews: Long! @resultRetention(duration: "P30D") + + """ + B2B page views are the number of times an Amazon Business customer visited your Amazon.com pages using browser or mobile app for the selected time period. Note: This field is only populated when the seller is a B2B seller. + """ + pageViewsB2B: Long @resultRetention(duration: "P30D") + + """ + The percentage of browser page views that a particular SKU/ASIN receives relative to the total number of browser page views for all products. + """ + browserPageViewsPercentage: Float! @resultRetention(duration: "P30D") + + """ + The percentage of browser views by Amazon Business customers that a particular SKU/ASIN receives relative to the total number of mobile page views by Amazon Business customers for all products. Note: This field is only populated when the seller is a B2B seller. + """ + browserPageViewsPercentageB2B: Float @resultRetention(duration: "P30D") + + """ + The percentage of mobile app page views that a particular SKU/ASIN receives relative to the total number of mobile app page views for all products. + """ + mobileAppPageViewsPercentage: Float! @resultRetention(duration: "P30D") + + """ + The percentage of mobile page views by Amazon Business customers that a particular SKU/ASIN receives relative to the total number of mobile page views by Amazon Business customers for all products. Note: This field is only populated when the seller is a B2B seller. + """ + mobileAppPageViewsPercentageB2B: Float @resultRetention(duration: "P30D") + + """ + The percentage of browser and mobile app page views that a particular SKU/ASIN receives relative to the total number of browser and mobile app page views for all products. + """ + pageViewsPercentage: Float! @resultRetention(duration: "P30D") + + """ + The percentage of page views by Amazon Business customers that a particular SKU/ASIN receives relative to the total number of page views by Amazon Business customers for all products. Note: This field is only populated when the seller is a B2B seller. + """ + pageViewsPercentageB2B: Float @resultRetention(duration: "P30D") + + """ + The percentage of page views where the buy box (the add to shopping cart link) appeared on the page for customers to add your product to their cart. + """ + buyBoxPercentage: Float! @resultRetention(duration: "P30D") + + """ + The percentage of page views by Amazon Business customers where the buy box (the add to shopping cart link) appeared on the page for customers to add your product to their cart. Note: This field is only populated when the seller is a B2B seller. + """ + buyBoxPercentageB2B: Float @resultRetention(duration: "P30D") + + """ + The percentage conversion metric indicating how many units were purchased relative to the number of people who viewed the products, calculated by dividing unitsOrdered by sessions. + """ + unitSessionPercentage: Float! @resultRetention(duration: "P30D") + + """ + The percentage conversion metric indicating how many units were purchased by Amazon Business customers relative to the number of Amazon Business customers who viewed the products, calculated by dividing unitsOrderedB2B by sessions. Note: This field is only populated when the seller is a B2B seller. + """ + unitSessionPercentageB2B: Float @resultRetention(duration: "P30D") +} + +""" +Monetary amount with the corresponding currency code. +""" +type Amount { + """ + The amount. + """ + amount: Float! + + """ + Currency code of the amount in ISO 4217 format. + """ + currencyCode: String! +} + +""" +The date granularity used in aggregation. +""" +enum DateGranularity { + """ + Sales and traffic data is aggregated by day. + """ + DAY + + """ + Sales and traffic data is aggregated by week. + """ + WEEK + + """ + Sales and traffic data is aggregated by month. + """ + MONTH +} + +""" +The ASIN granularity used in aggregation. +""" +enum AsinGranularity { + """ + Sales and traffic data is aggregated by parent ASIN. + """ + PARENT + + """ + Sales and traffic data is aggregated by child ASIN. + """ + CHILD + + """ + Sales and traffic data is aggregated by sku. + """ + SKU +} From 037fc474ca991f0b1375502bd0d82bb33a98fddd Mon Sep 17 00:00:00 2001 From: andiec Date: Wed, 24 Apr 2024 13:26:32 -0400 Subject: [PATCH 054/340] orders v0 update release --- models/orders-api-model/ordersV0.json | 747 +++++++++++++++++++------- 1 file changed, 559 insertions(+), 188 deletions(-) diff --git a/models/orders-api-model/ordersV0.json b/models/orders-api-model/ordersV0.json index a780dc5c4..eec2f95e9 100644 --- a/models/orders-api-model/ordersV0.json +++ b/models/orders-api-model/ordersV0.json @@ -1,7 +1,7 @@ { "swagger": "2.0", "info": { - "description": "The Selling Partner API for Orders helps you programmatically retrieve order information. These APIs let you develop fast, flexible, custom applications in areas like order synchronization, order research, and demand-based decision support tools. The Orders API supports orders that are two years old or less. Orders more than two years old will not show in the API response.\n\n_Note:_ The Orders API supports orders from 2016 and after for the JP, AU, and SG marketplaces.", + "description": "The Selling Partner API for Orders helps you programmatically retrieve order information. These APIs let you develop fast, flexible, custom applications in areas like order synchronization, order research, and demand-based decision support tools. The Orders API supports orders that are two years old or less. Orders more than two years old will not show in the API response.\n\n**Note:** The Orders API supports orders from 2016 and after for the JP, AU, and SG marketplaces.", "version": "v0", "title": "Selling Partner API for Orders", "contact": { @@ -29,34 +29,34 @@ "tags": [ "ordersV0" ], - "description": "Returns orders created or updated during the time frame indicated by the specified parameters. You can also apply a range of filtering criteria to narrow the list of orders returned. If NextToken is present, that will be used to retrieve the orders instead of other criteria.\n\n**Usage Plan:**\n\n| Rate (requests per second) | Burst |\n| ---- | ---- |\n| 0.0167 | 20 |\n\nThe `x-amzn-RateLimit-Limit` response header returns the usage plan rate limits that were applied to the requested operation, when available. The table above indicates the default rate and burst values for this operation. Selling partners whose business demands require higher throughput may see higher rate and burst values then those shown here. For more information, see [Usage Plans and Rate Limits in the Selling Partner API](doc:usage-plans-and-rate-limits-in-the-sp-api).", + "description": "Returns orders created or updated during the time frame indicated by the specified parameters. You can also apply a range of filtering criteria to narrow the list of orders returned. If NextToken is present, that will be used to retrieve the orders instead of other criteria.\n\n**Usage Plan:**\n\n| Rate (requests per second) | Burst |\n| ---- | ---- |\n| 0.0167 | 20 |\n\nThe `x-amzn-RateLimit-Limit` response header returns the usage plan rate limits that were applied to the requested operation, when available. The table above indicates the default rate and burst values for this operation. Selling partners whose business demands require higher throughput may see higher rate and burst values then those shown here. For more information, refer to [Usage Plans and Rate Limits in the Selling Partner API](https://developer-docs.amazon.com/sp-api/docs/usage-plans-and-rate-limits-in-the-sp-api).", "operationId": "getOrders", "parameters": [ { "name": "CreatedAfter", "in": "query", - "description": "A date used for selecting orders created after (or at) a specified time. Only orders placed after the specified time are returned. Either the CreatedAfter parameter or the LastUpdatedAfter parameter is required. Both cannot be empty. The date must be in ISO 8601 format.", + "description": "A date used for selecting orders created after (or at) a specified time. Only orders placed after the specified time are returned. The date must be in ISO 8601 format.\n\n**Note**: Either the `CreatedAfter` parameter or the `LastUpdatedAfter` parameter is required. You could specify `CreatedBefore` but not provide `LastUpdatedAfter` or `LastUpdatedBefore` when `CreatedAfter` is specified.", "required": false, "type": "string" }, { "name": "CreatedBefore", "in": "query", - "description": "A date used for selecting orders created before (or at) a specified time. Only orders placed before the specified time are returned. The date must be in ISO 8601 format.", + "description": "A date used for selecting orders created before (or at) a specified time. Only orders placed before the specified time are returned. The date must be in ISO 8601 format.\n\n**Note**: `CreatedBefore` is optional when `CreatedAfter` is specified. But if specified, `CreatedBefore` should be equal to or after the `CreatedAfter` date and at least 2 minutes before the current time.", "required": false, "type": "string" }, { "name": "LastUpdatedAfter", "in": "query", - "description": "A date used for selecting orders that were last updated after (or at) a specified time. An update is defined as any change in order status, including the creation of a new order. Includes updates made by Amazon and by the seller. The date must be in ISO 8601 format.", + "description": "A date used for selecting orders that were last updated before (or at) a specified time. An update is defined as any change in order status, including the creation of a new order. Includes updates made by Amazon and by the seller. The date must be in ISO 8601 format.\n\n**Note**: `LastUpdatedBefore` is optional when `LastUpdatedAfter` is specified. But if specified, `LastUpdatedBefore` should be equal to or after the `LastUpdatedAfter` date and at least 2 minutes before current time.", "required": false, "type": "string" }, { "name": "LastUpdatedBefore", "in": "query", - "description": "A date used for selecting orders that were last updated before (or at) a specified time. An update is defined as any change in order status, including the creation of a new order. Includes updates made by Amazon and by the seller. The date must be in ISO 8601 format.", + "description": "A date used for selecting orders that were last updated before (or at) a specified time. An update is defined as any change in order status, including the creation of a new order. Includes updates made by Amazon and by the seller. The date must be in ISO 8601 format.\n\n**Note**: LastUpdatedBefore is optional when LastUpdatedAfter is set. But if specified, LastUpdatedBefore should be equal to or after the LastUpdatedAfter date and at least 2 minutes before current time.", "required": false, "type": "string" }, @@ -73,7 +73,7 @@ { "name": "MarketplaceIds", "in": "query", - "description": "A list of MarketplaceId values. Used to select orders that were placed in the specified marketplaces.\n\nRefer to [Marketplace IDs](https://developer-docs.amazon.com/sp-api/docs/marketplace-ids) for a complete list of marketplaceId values.", + "description": "A list of `MarketplaceId` values. Used to select orders that were placed in the specified marketplaces.\n\nRefer to [Marketplace IDs](https://developer-docs.amazon.com/sp-api/docs/marketplace-ids) for a complete list of `MarketplaceId` values.", "required": true, "type": "array", "items": { @@ -84,7 +84,7 @@ { "name": "FulfillmentChannels", "in": "query", - "description": "A list that indicates how an order was fulfilled. Filters the results by fulfillment channel. Possible values: AFN (Fulfillment by Amazon); MFN (Fulfilled by the seller).", + "description": "A list that indicates how an order was fulfilled. Filters the results by fulfillment channel. \n\n**Possible values**: `AFN` (Fulfillment by Amazon); `MFN` (Fulfilled by the seller).", "required": false, "type": "array", "items": { @@ -94,7 +94,7 @@ { "name": "PaymentMethods", "in": "query", - "description": "A list of payment method values. Used to select orders paid using the specified payment methods. Possible values: COD (Cash on delivery); CVS (Convenience store payment); Other (Any payment method other than COD or CVS).", + "description": "A list of payment method values. Used to select orders paid using the specified payment methods.\n\n**Possible values**: `COD` (Cash on delivery); `CVS` (Convenience store payment); `Other` (Any payment method other than `COD` or `CVS`).", "required": false, "type": "array", "items": { @@ -563,10 +563,6 @@ "$ref": "#/definitions/GetOrdersResponse" }, "headers": { - "x-amzn-RateLimit-Limit": { - "type": "string", - "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." - }, "x-amzn-RequestId": { "type": "string", "description": "Unique request reference identifier." @@ -579,10 +575,6 @@ "$ref": "#/definitions/GetOrdersResponse" }, "headers": { - "x-amzn-RateLimit-Limit": { - "type": "string", - "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." - }, "x-amzn-RequestId": { "type": "string", "description": "Unique request reference identifier." @@ -595,10 +587,6 @@ "$ref": "#/definitions/GetOrdersResponse" }, "headers": { - "x-amzn-RateLimit-Limit": { - "type": "string", - "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." - }, "x-amzn-RequestId": { "type": "string", "description": "Unique request reference identifier." @@ -613,7 +601,7 @@ "tags": [ "ordersV0" ], - "description": "Returns the order that you specify.\n\n**Usage Plan:**\n\n| Rate (requests per second) | Burst |\n| ---- | ---- |\n| 0.0167 | 20 |\n\nThe `x-amzn-RateLimit-Limit` response header returns the usage plan rate limits that were applied to the requested operation, when available. The table above indicates the default rate and burst values for this operation. Selling partners whose business demands require higher throughput may see higher rate and burst values then those shown here. For more information, see [Usage Plans and Rate Limits in the Selling Partner API](doc:usage-plans-and-rate-limits-in-the-sp-api).", + "description": "Returns the order that you specify.\n\n**Usage Plan:**\n\n| Rate (requests per second) | Burst |\n| ---- | ---- |\n| 0.5 | 30 |\n\nThe `x-amzn-RateLimit-Limit` response header returns the usage plan rate limits that were applied to the requested operation, when available. The table above indicates the default rate and burst values for this operation. Selling partners whose business demands require higher throughput may see higher rate and burst values then those shown here. For more information, refer to [Usage Plans and Rate Limits in the Selling Partner API](https://developer-docs.amazon.com/sp-api/docs/usage-plans-and-rate-limits-in-the-sp-api).", "operationId": "getOrder", "parameters": [ { @@ -907,10 +895,6 @@ "$ref": "#/definitions/GetOrderResponse" }, "headers": { - "x-amzn-RateLimit-Limit": { - "type": "string", - "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." - }, "x-amzn-RequestId": { "type": "string", "description": "Unique request reference identifier." @@ -923,10 +907,6 @@ "$ref": "#/definitions/GetOrderResponse" }, "headers": { - "x-amzn-RateLimit-Limit": { - "type": "string", - "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." - }, "x-amzn-RequestId": { "type": "string", "description": "Unique request reference identifier." @@ -939,10 +919,6 @@ "$ref": "#/definitions/GetOrderResponse" }, "headers": { - "x-amzn-RateLimit-Limit": { - "type": "string", - "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." - }, "x-amzn-RequestId": { "type": "string", "description": "Unique request reference identifier." @@ -957,13 +933,13 @@ "tags": [ "ordersV0" ], - "description": "Returns buyer information for the order that you specify.\n\n**Usage Plan:**\n\n| Rate (requests per second) | Burst |\n| ---- | ---- |\n| 0.0167 | 20 |\n\nThe `x-amzn-RateLimit-Limit` response header returns the usage plan rate limits that were applied to the requested operation, when available. The table above indicates the default rate and burst values for this operation. Selling partners whose business demands require higher throughput may see higher rate and burst values then those shown here. For more information, see [Usage Plans and Rate Limits in the Selling Partner API](doc:usage-plans-and-rate-limits-in-the-sp-api).", + "description": "Returns buyer information for the order that you specify.\n\n**Usage Plan:**\n\n| Rate (requests per second) | Burst |\n| ---- | ---- |\n| 0.5 | 30 |\n\nThe `x-amzn-RateLimit-Limit` response header returns the usage plan rate limits that were applied to the requested operation, when available. The table above indicates the default rate and burst values for this operation. Selling partners whose business demands require higher throughput may see higher rate and burst values then those shown here. For more information, refer to [Usage Plans and Rate Limits in the Selling Partner API](https://developer-docs.amazon.com/sp-api/docs/usage-plans-and-rate-limits-in-the-sp-api).", "operationId": "getOrderBuyerInfo", "parameters": [ { "name": "orderId", "in": "path", - "description": "An orderId is an Amazon-defined order identifier, in 3-7-7 format.", + "description": "An `orderId` is an Amazon-defined order identifier, in 3-7-7 format.", "required": true, "type": "string" } @@ -1089,10 +1065,6 @@ "$ref": "#/definitions/GetOrderBuyerInfoResponse" }, "headers": { - "x-amzn-RateLimit-Limit": { - "type": "string", - "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." - }, "x-amzn-RequestId": { "type": "string", "description": "Unique request reference identifier." @@ -1105,10 +1077,6 @@ "$ref": "#/definitions/GetOrderBuyerInfoResponse" }, "headers": { - "x-amzn-RateLimit-Limit": { - "type": "string", - "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." - }, "x-amzn-RequestId": { "type": "string", "description": "Unique request reference identifier." @@ -1121,10 +1089,6 @@ "$ref": "#/definitions/GetOrderBuyerInfoResponse" }, "headers": { - "x-amzn-RateLimit-Limit": { - "type": "string", - "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." - }, "x-amzn-RequestId": { "type": "string", "description": "Unique request reference identifier." @@ -1139,13 +1103,13 @@ "tags": [ "ordersV0" ], - "description": "Returns the shipping address for the order that you specify.\n\n**Usage Plan:**\n\n| Rate (requests per second) | Burst |\n| ---- | ---- |\n| 0.0167 | 20 |\n\nThe `x-amzn-RateLimit-Limit` response header returns the usage plan rate limits that were applied to the requested operation, when available. The table above indicates the default rate and burst values for this operation. Selling partners whose business demands require higher throughput may see higher rate and burst values then those shown here. For more information, see [Usage Plans and Rate Limits in the Selling Partner API](doc:usage-plans-and-rate-limits-in-the-sp-api).", + "description": "Returns the shipping address for the order that you specify.\n\n**Usage Plan:**\n\n| Rate (requests per second) | Burst |\n| ---- | ---- |\n| 0.5 | 30 |\n\nThe `x-amzn-RateLimit-Limit` response header returns the usage plan rate limits that were applied to the requested operation, when available. The table above indicates the default rate and burst values for this operation. Selling partners whose business demands require higher throughput may see higher rate and burst values then those shown here. For more information, refer to [Usage Plans and Rate Limits in the Selling Partner API](https://developer-docs.amazon.com/sp-api/docs/usage-plans-and-rate-limits-in-the-sp-api).", "operationId": "getOrderAddress", "parameters": [ { "name": "orderId", "in": "path", - "description": "An orderId is an Amazon-defined order identifier, in 3-7-7 format.", + "description": "An `orderId` is an Amazon-defined order identifier, in 3-7-7 format.", "required": true, "type": "string" } @@ -1281,10 +1245,6 @@ "$ref": "#/definitions/GetOrderAddressResponse" }, "headers": { - "x-amzn-RateLimit-Limit": { - "type": "string", - "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." - }, "x-amzn-RequestId": { "type": "string", "description": "Unique request reference identifier." @@ -1297,10 +1257,6 @@ "$ref": "#/definitions/GetOrderAddressResponse" }, "headers": { - "x-amzn-RateLimit-Limit": { - "type": "string", - "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." - }, "x-amzn-RequestId": { "type": "string", "description": "Unique request reference identifier." @@ -1312,15 +1268,227 @@ "schema": { "$ref": "#/definitions/GetOrderAddressResponse" }, + "headers": { + "x-amzn-RequestId": { + "type": "string", + "description": "Unique request reference identifier." + } + } + } + } + } + }, + "/orders/v0/orders/{orderId}/fulfillmentInstructions": { + "get": { + "tags": [ + "ordersV0" + ], + "description": "Returns the fulfillment instructions for the order that you specify.\n\n**Usage Plan:**\n\n| Rate (requests per second) | Burst |\n| ---- | ---- |\n| 0.5 | 20 |\n\nThe `x-amzn-RateLimit-Limit` response header returns the usage plan rate limits that were applied to the requested operation, when available. The table above indicates the default rate and burst values for this operation. Selling partners whose business demands require higher throughput may see higher rate and burst values then those shown here. For more information, refer to [Usage Plans and Rate Limits in the Selling Partner API](https://developer-docs.amazon.com/sp-api/docs/usage-plans-and-rate-limits-in-the-sp-api).", + "operationId": "getOrderFulfillmentInstructions", + "parameters": [ + { + "name": "orderId", + "in": "path", + "description": "An Amazon-defined order identifier, in 3-7-7 format.", + "required": true, + "type": "string" + } + ], + "responses": { + "200": { + "description": "Success.", + "schema": { + "$ref": "#/definitions/GetOrderFulfillmentInstructionsResponse" + }, + "examples": { + "application/json":{ + "payload": { + "AmazonOrderId": "902-3159896-1390916", + "FulfillmentPlans": [ + { + "CreationDate": "2023-10-25T12:00:00Z", + "FulfillmentPlanId" : "1", + "FulfillmentType" : "SHIP", + "FulfillmentPlanStatus": "ACTIVE", + "LastStatusUpdateDate" : "2023-10-25T12:00:00Z", + "FulfillmentPlanItems": [ + { + "OrderItemId": "6217867064725", + "Measurement" : { + "Unit" : "COUNT", + "Value" : 20 + } + } + ], + "ShippingInstructions": { + "CarrierCode": "UPS", + "ShippingMethod": "Ground", + "ShippingConstraints" : { + "PalletDelivery" : "MANDATORY" + } + }, + "FulfillmentLocation": { + "SupplySourceId": "bb3e1352-a3b4-4b99-aeb7-b1a923837ef2" + } + } + ] + } + } + }, "headers": { "x-amzn-RateLimit-Limit": { "type": "string", - "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." + "description": "Your rate limit (requests per second) for this operation." }, "x-amzn-RequestId": { "type": "string", "description": "Unique request reference identifier." } + }, + "x-amzn-api-sandbox": { + "static": [ + { + "request": { + "parameters": { + "orderId": { + "value": "TEST_CASE_200" + } + } + }, + "response": { + "payload": { + "AmazonOrderId": "TEST_CASE_200", + "FulfillmentPlans": [{ + "CreationDate": "2023-10-25T12:00:00Z", + "FulfillmentPlanId" : "1", + "FulfillmentType" : "SHIP", + "FulfillmentPlanStatus": "ACTIVE", + "LastStatusUpdateDate" : "2023-10-25T12:00:00Z", + "FulfillmentPlanItems": [ + { + "OrderItemId": "6217867064725", + "Measurement" : { + "Unit" : "COUNT", + "Value" : 20 + } + } + ], + "ShippingInstructions": { + "CarrierCode": "UPS", + "ShippingMethod": "Ground", + "ShippingConstraints" : { + "PalletDelivery" : "MANDATORY" + } + }, + "FulfillmentLocation": { + "SupplySourceId": "bb3e1352-a3b4-4b99-aeb7-b1a923837ef2" + } + }] + } + } + } + ] + } + }, + "400": { + "description": "Request has missing or invalid parameters and cannot be parsed.", + "schema": { + "$ref": "#/definitions/GetOrderFulfillmentInstructionsResponse" + }, + "headers": { + "x-amzn-RateLimit-Limit": { + "type": "string", + "description": "Your rate limit (requests per second) for this operation." + }, + "x-amzn-RequestId": { + "type": "string", + "description": "Unique request reference identifier." + } + }, + "x-amzn-api-sandbox": { + "static": [ + { + "request": { + "parameters": { + "orderId": { + "value": "TEST_CASE_400" + } + } + }, + "response": { + "errors": [ + { + "code": "InvalidInput", + "message": "Invalid Input" + } + ] + } + } + ] + } + }, + "403": { + "description": "Indicates access to the resource is forbidden. Possible reasons include Access Denied, Unauthorized, Expired Token, or Invalid Signature.", + "schema": { + "$ref": "#/definitions/GetOrderFulfillmentInstructionsResponse" + }, + "headers": { + "x-amzn-RequestId": { + "type": "string", + "description": "Unique request reference identifier." + } + } + }, + "404": { + "description": "The resource specified does not exist.", + "schema": { + "$ref": "#/definitions/GetOrderFulfillmentInstructionsResponse" + }, + "headers": { + "x-amzn-RateLimit-Limit": { + "type": "string", + "description": "Your rate limit (requests per second) for this operation." + }, + "x-amzn-RequestId": { + "type": "string", + "description": "Unique request reference identifier." + } + } + }, + "429": { + "description": "The frequency of requests was greater than allowed.", + "schema": { + "$ref": "#/definitions/GetOrderFulfillmentInstructionsResponse" + }, + "headers": { + "x-amzn-RequestId": { + "type": "string", + "description": "Unique request reference identifier." + } + } + }, + "500": { + "description": "An unexpected condition occurred that prevented the server from fulfilling the request.", + "schema": { + "$ref": "#/definitions/GetOrderFulfillmentInstructionsResponse" + }, + "headers": { + "x-amzn-RequestId": { + "type": "string", + "description": "Unique request reference identifier." + } + } + }, + "503": { + "description": "Temporary overloading or maintenance of the server.", + "schema": { + "$ref": "#/definitions/GetOrderFulfillmentInstructionsResponse" + }, + "headers": { + "x-amzn-RequestId": { + "type": "string", + "description": "Unique request reference identifier." + } } } } @@ -1331,7 +1499,7 @@ "tags": [ "ordersV0" ], - "description": "Returns detailed order item information for the order that you specify. If NextToken is provided, it's used to retrieve the next page of order items.\n\n__Note__: When an order is in the Pending state (the order has been placed but payment has not been authorized), the getOrderItems operation does not return information about pricing, taxes, shipping charges, gift status or promotions for the order items in the order. After an order leaves the Pending state (this occurs when payment has been authorized) and enters the Unshipped, Partially Shipped, or Shipped state, the getOrderItems operation returns information about pricing, taxes, shipping charges, gift status and promotions for the order items in the order.\n\n**Usage Plan:**\n\n| Rate (requests per second) | Burst |\n| ---- | ---- |\n| 0.5 | 30 |\n\nThe `x-amzn-RateLimit-Limit` response header returns the usage plan rate limits that were applied to the requested operation, when available. The table above indicates the default rate and burst values for this operation. Selling partners whose business demands require higher throughput may see higher rate and burst values then those shown here. For more information, see [Usage Plans and Rate Limits in the Selling Partner API](doc:usage-plans-and-rate-limits-in-the-sp-api).", + "description": "Returns detailed order item information for the order that you specify. If `NextToken` is provided, it's used to retrieve the next page of order items.\n\n**Note**: When an order is in the Pending state (the order has been placed but payment has not been authorized), the `getOrderItems` operation does not return information about pricing, taxes, shipping charges, gift status or promotions for the order items in the order. After an order leaves the Pending state (this occurs when payment has been authorized) and enters the `Unshipped`, `Partially Shipped`, or `Shipped` state, the `getOrderItems` operation returns information about pricing, taxes, shipping charges, gift status and promotions for the order items in the order.\n\n**Usage Plan:**\n\n| Rate (requests per second) | Burst |\n| ---- | ---- |\n| 0.5 | 30 |\n\nThe `x-amzn-RateLimit-Limit` response header returns the usage plan rate limits that were applied to the requested operation, when available. The table above indicates the default rate and burst values for this operation. Selling partners whose business demands require higher throughput may see higher rate and burst values then those shown here. For more information, refer to [Usage Plans and Rate Limits in the Selling Partner API](https://developer-docs.amazon.com/sp-api/docs/usage-plans-and-rate-limits-in-the-sp-api).", "operationId": "getOrderItems", "parameters": [ { @@ -1406,7 +1574,7 @@ "GiftWrapLevel": "Classic" }, "BuyerRequestedCancel": { - "IsBuyerRequestedCancel": true, + "IsBuyerRequestedCancel": "true", "BuyerCancelReason": "Found cheaper somewhere else." }, "SerialNumbers": ["854"] @@ -1440,7 +1608,7 @@ "GiftWrapLevel": "Classic" }, "BuyerRequestedCancel": { - "IsBuyerRequestedCancel": true, + "IsBuyerRequestedCancel": "true", "BuyerCancelReason": "Found cheaper somewhere else." } } @@ -1480,7 +1648,7 @@ "QuantityOrdered": 1, "QuantityShipped": 0, "ProductInfo": { - "NumberOfItems": 1 + "NumberOfItems": "1" }, "ItemPrice": { "CurrencyCode": "USD", @@ -1494,7 +1662,7 @@ "CurrencyCode": "USD", "Amount": "0.00" }, - "IsGift": false, + "IsGift": "false", "ConditionId": "New", "ConditionSubtypeId": "New", "IsTransparency": false, @@ -1503,7 +1671,7 @@ "DeemedResellerCategory": "IOSS", "StoreChainStoreId": "ISPU_StoreId", "BuyerRequestedCancel": { - "IsBuyerRequestedCancel": true, + "IsBuyerRequestedCancel": "true", "BuyerCancelReason": "Found cheaper somewhere else." } } @@ -1585,10 +1753,6 @@ "$ref": "#/definitions/GetOrderItemsResponse" }, "headers": { - "x-amzn-RateLimit-Limit": { - "type": "string", - "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." - }, "x-amzn-RequestId": { "type": "string", "description": "Unique request reference identifier." @@ -1601,10 +1765,6 @@ "$ref": "#/definitions/GetOrderItemsResponse" }, "headers": { - "x-amzn-RateLimit-Limit": { - "type": "string", - "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." - }, "x-amzn-RequestId": { "type": "string", "description": "Unique request reference identifier." @@ -1617,10 +1777,6 @@ "$ref": "#/definitions/GetOrderItemsResponse" }, "headers": { - "x-amzn-RateLimit-Limit": { - "type": "string", - "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." - }, "x-amzn-RequestId": { "type": "string", "description": "Unique request reference identifier." @@ -1635,7 +1791,7 @@ "tags": [ "ordersV0" ], - "description": "Returns buyer information for the order items in the order that you specify.\n\n**Usage Plan:**\n\n| Rate (requests per second) | Burst |\n| ---- | ---- |\n| 0.5 | 30 |\n\nThe `x-amzn-RateLimit-Limit` response header returns the usage plan rate limits that were applied to the requested operation, when available. The table above indicates the default rate and burst values for this operation. Selling partners whose business demands require higher throughput may see higher rate and burst values then those shown here. For more information, see [Usage Plans and Rate Limits in the Selling Partner API](doc:usage-plans-and-rate-limits-in-the-sp-api).", + "description": "Returns buyer information for the order items in the order that you specify.\n\n**Usage Plan:**\n\n| Rate (requests per second) | Burst |\n| ---- | ---- |\n| 0.5 | 30 |\n\nThe `x-amzn-RateLimit-Limit` response header returns the usage plan rate limits that were applied to the requested operation, when available. The table above indicates the default rate and burst values for this operation. Selling partners whose business demands require higher throughput may see higher rate and burst values then those shown here. For more information, refer to [Usage Plans and Rate Limits in the Selling Partner API](https://developer-docs.amazon.com/sp-api/docs/usage-plans-and-rate-limits-in-the-sp-api).", "operationId": "getOrderItemsBuyerInfo", "parameters": [ { @@ -1788,10 +1944,6 @@ "$ref": "#/definitions/GetOrderItemsBuyerInfoResponse" }, "headers": { - "x-amzn-RateLimit-Limit": { - "type": "string", - "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." - }, "x-amzn-RequestId": { "type": "string", "description": "Unique request reference identifier." @@ -1804,10 +1956,6 @@ "$ref": "#/definitions/GetOrderItemsBuyerInfoResponse" }, "headers": { - "x-amzn-RateLimit-Limit": { - "type": "string", - "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." - }, "x-amzn-RequestId": { "type": "string", "description": "Unique request reference identifier." @@ -1820,10 +1968,6 @@ "$ref": "#/definitions/GetOrderItemsBuyerInfoResponse" }, "headers": { - "x-amzn-RateLimit-Limit": { - "type": "string", - "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." - }, "x-amzn-RequestId": { "type": "string", "description": "Unique request reference identifier." @@ -1838,7 +1982,7 @@ "tags": [ "shipment" ], - "description": "Update the shipment status for an order that you specify.\n\n**Usage Plan:**\n\n| Rate (requests per second) | Burst |\n| ---- | ---- |\n| 5 | 15 |\n\nThe `x-amzn-RateLimit-Limit` response header returns the usage plan rate limits that were applied to the requested operation, when available. The table above indicates the default rate and burst values for this operation. Selling partners whose business demands require higher throughput may see higher rate and burst values then those shown here. For more information, see [Usage Plans and Rate Limits in the Selling Partner API](doc:usage-plans-and-rate-limits-in-the-sp-api).", + "description": "Update the shipment status for an order that you specify.\n\n**Usage Plan:**\n\n| Rate (requests per second) | Burst |\n| ---- | ---- |\n| 5 | 15 |\n\nThe `x-amzn-RateLimit-Limit` response header returns the usage plan rate limits that were applied to the requested operation, when available. The table above indicates the default rate and burst values for this operation. Selling partners whose business demands require higher throughput may see higher rate and burst values then those shown here. For more information, refer to [Usage Plans and Rate Limits in the Selling Partner API](https://developer-docs.amazon.com/sp-api/docs/usage-plans-and-rate-limits-in-the-sp-api).", "operationId": "updateShipmentStatus", "parameters": [ { @@ -1851,7 +1995,7 @@ { "name": "payload", "in": "body", - "description": "The request body for the updateShipmentStatus operation.", + "description": "The request body for the `updateShipmentStatus` operation.", "required": true, "schema": { "$ref": "#/definitions/UpdateShipmentStatusRequest" @@ -2019,13 +2163,13 @@ "tags": [ "ordersV0" ], - "description": "Returns regulated information for the order that you specify.\n\n**Usage Plan:**\n\n| Rate (requests per second) | Burst |\n| ---- | ---- |\n| 0.5 | 30 |\n\nThe `x-amzn-RateLimit-Limit` response header returns the usage plan rate limits that were applied to the requested operation, when available. The table above indicates the default rate and burst values for this operation. Selling partners whose business demands require higher throughput may see higher rate and burst values then those shown here. For more information, see [Usage Plans and Rate Limits in the Selling Partner API](doc:usage-plans-and-rate-limits-in-the-sp-api).", + "description": "Returns regulated information for the order that you specify.\n\n**Usage Plan:**\n\n| Rate (requests per second) | Burst |\n| ---- | ---- |\n| 0.5 | 30 |\n\nThe `x-amzn-RateLimit-Limit` response header returns the usage plan rate limits that were applied to the requested operation, when available. The table above indicates the default rate and burst values for this operation. Selling partners whose business demands require higher throughput may see higher rate and burst values then those shown here. For more information, refer to [Usage Plans and Rate Limits in the Selling Partner API](https://developer-docs.amazon.com/sp-api/docs/usage-plans-and-rate-limits-in-the-sp-api).", "operationId": "getOrderRegulatedInfo", "parameters": [ { "name": "orderId", "in": "path", - "description": "An orderId is an Amazon-defined order identifier, in 3-7-7 format.", + "description": "An Amazon-defined order identifier, in 3-7-7 format.", "required": true, "type": "string" } @@ -2311,20 +2455,20 @@ "tags": [ "ordersV0" ], - "description": "Updates (approves or rejects) the verification status of an order containing regulated products.\n\n**Usage Plan:**\n\n| Rate (requests per second) | Burst |\n| ---- | ---- |\n| 0.5 | 30 |\n\nThe `x-amzn-RateLimit-Limit` response header returns the usage plan rate limits that were applied to the requested operation, when available. The table above indicates the default rate and burst values for this operation. Selling partners whose business demands require higher throughput may see higher rate and burst values then those shown here. For more information, see [Usage Plans and Rate Limits in the Selling Partner API](doc:usage-plans-and-rate-limits-in-the-sp-api).", + "description": "Updates (approves or rejects) the verification status of an order containing regulated products.\n\n**Usage Plan:**\n\n| Rate (requests per second) | Burst |\n| ---- | ---- |\n| 0.5 | 30 |\n\nThe `x-amzn-RateLimit-Limit` response header returns the usage plan rate limits that were applied to the requested operation, when available. The table above indicates the default rate and burst values for this operation. Selling partners whose business demands require higher throughput may see higher rate and burst values then those shown here. For more information, refer to [Usage Plans and Rate Limits in the Selling Partner API](https://developer-docs.amazon.com/sp-api/docs/usage-plans-and-rate-limits-in-the-sp-api).", "operationId": "updateVerificationStatus", "parameters": [ { "name": "orderId", "in": "path", - "description": "An orderId is an Amazon-defined order identifier, in 3-7-7 format.", + "description": "An Amazon-defined order identifier, in 3-7-7 format.", "required": true, "type": "string" }, { "name": "payload", "in": "body", - "description": "The request body for the updateVerificationStatus operation.", + "description": "The request body for the `updateVerificationStatus` operation.", "required": true, "schema": { "$ref": "#/definitions/UpdateVerificationStatusRequest" @@ -2537,7 +2681,7 @@ "tags": [ "ordersV0" ], - "description": "Updates the shipment confirmation status for a specified order.\n\n**Usage Plan:**\n\n| Rate (requests per second) | Burst |\n| ---- | ---- |\n| 2 | 10 |\n\nThe `x-amzn-RateLimit-Limit` response header returns the usage plan rate limits that were applied to the requested operation, when available. The table above indicates the default rate and burst values for this operation. Selling partners whose business demands require higher throughput may see higher rate and burst values then those shown here. For more information, see [Usage Plans and Rate Limits in the Selling Partner API](doc:usage-plans-and-rate-limits-in-the-sp-api).", + "description": "Updates the shipment confirmation status for a specified order.\n\n**Usage Plan:**\n\n| Rate (requests per second) | Burst |\n| ---- | ---- |\n| 2 | 10 |\n\nThe `x-amzn-RateLimit-Limit` response header returns the usage plan rate limits that were applied to the requested operation, when available. The table above indicates the default rate and burst values for this operation. Selling partners whose business demands require higher throughput may see higher rate and burst values then those shown here. For more information, refer to [Usage Plans and Rate Limits in the Selling Partner API](https://developer-docs.amazon.com/sp-api/docs/usage-plans-and-rate-limits-in-the-sp-api).", "operationId": "confirmShipment", "parameters": [ { @@ -2550,7 +2694,7 @@ { "name": "payload", "in": "body", - "description": "Request body of confirmShipment.", + "description": "The request body of the `confirmShipment` operation.", "required": true, "schema": { "$ref": "#/definitions/ConfirmShipmentRequest" @@ -2675,10 +2819,6 @@ "$ref": "#/definitions/ConfirmShipmentErrorResponse" }, "headers": { - "x-amzn-RateLimit-Limit": { - "type": "string", - "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." - }, "x-amzn-RequestId": { "type": "string", "description": "Unique request reference identifier." @@ -2719,10 +2859,6 @@ "$ref": "#/definitions/ConfirmShipmentErrorResponse" }, "headers": { - "x-amzn-RateLimit-Limit": { - "type": "string", - "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." - }, "x-amzn-RequestId": { "type": "string", "description": "Unique request reference identifier." @@ -2735,10 +2871,6 @@ "$ref": "#/definitions/ConfirmShipmentErrorResponse" }, "headers": { - "x-amzn-RateLimit-Limit": { - "type": "string", - "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." - }, "x-amzn-RequestId": { "type": "string", "description": "Unique request reference identifier." @@ -2751,10 +2883,6 @@ "$ref": "#/definitions/ConfirmShipmentErrorResponse" }, "headers": { - "x-amzn-RateLimit-Limit": { - "type": "string", - "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." - }, "x-amzn-RequestId": { "type": "string", "description": "Unique request reference identifier." @@ -2767,7 +2895,7 @@ }, "definitions": { "UpdateShipmentStatusRequest": { - "description": "The request body for the updateShipmentStatus operation.", + "description": "The request body for the `updateShipmentStatus` operation.", "type": "object", "properties": { "marketplaceId": { @@ -2786,11 +2914,11 @@ ] }, "UpdateVerificationStatusRequest": { - "description": "The request body for the updateVerificationStatus operation.", + "description": "The request body for the `updateVerificationStatus` operation.", "type": "object", "properties": { "regulatedOrderVerificationStatus": { - "description": "The updated values of the VerificationStatus field.", + "description": "The updated values of the `VerificationStatus` field.", "$ref": "#/definitions/UpdateVerificationStatusRequestBody" } }, @@ -2799,7 +2927,7 @@ ] }, "UpdateVerificationStatusRequestBody": { - "description": "The updated values of the VerificationStatus field.", + "description": "The updated values of the `VerificationStatus` field.", "type": "object", "properties": { "status": { @@ -2868,119 +2996,133 @@ "type": "object", "properties": { "errors": { - "description": "One or more unexpected errors occurred during the UpdateShipmentStatus operation.", + "description": "One or more unexpected errors occurred during the `UpdateShipmentStatus` operation.", "$ref": "#/definitions/ErrorList" } }, - "description": "The error response schema for the UpdateShipmentStatus operation." + "description": "The error response schema for the `UpdateShipmentStatus` operation." }, "UpdateVerificationStatusErrorResponse": { "type": "object", "properties": { "errors": { - "description": "One or more unexpected errors occurred during the UpdateVerificationStatus operation.", + "description": "One or more unexpected errors occurred during the `UpdateVerificationStatus` operation.", "$ref": "#/definitions/ErrorList" } }, - "description": "The error response schema for the UpdateVerificationStatus operation." + "description": "The error response schema for the `UpdateVerificationStatus` operation." }, "GetOrdersResponse": { "type": "object", "properties": { "payload": { - "description": "The payload for the getOrders operation.", + "description": "The payload for the `getOrders` operation.", "$ref": "#/definitions/OrdersList" }, "errors": { - "description": "One or more unexpected errors occurred during the getOrders operation.", + "description": "One or more unexpected errors occurred during the `getOrders` operation.", "$ref": "#/definitions/ErrorList" } }, - "description": "The response schema for the getOrders operation." + "description": "The response schema for the `getOrders` operation." }, "GetOrderResponse": { "type": "object", "properties": { "payload": { - "description": "The payload for the getOrder operation.", + "description": "The payload for the `getOrder` operation.", "$ref": "#/definitions/Order" }, "errors": { - "description": "One or more unexpected errors occurred during the getOrder operation.", + "description": "One or more unexpected errors occurred during the `getOrder` operation.", "$ref": "#/definitions/ErrorList" } }, - "description": "The response schema for the getOrder operation." + "description": "The response schema for the `getOrder` operation." }, "GetOrderBuyerInfoResponse": { "type": "object", "properties": { "payload": { - "description": "The payload for the getOrderBuyerInfo operation.", + "description": "The payload for the `getOrderBuyerInfo` operation.", "$ref": "#/definitions/OrderBuyerInfo" }, "errors": { - "description": "One or more unexpected errors occurred during the getOrderBuyerInfo operation.", + "description": "One or more unexpected errors occurred during the `getOrderBuyerInfo` operation.", "$ref": "#/definitions/ErrorList" } }, - "description": "The response schema for the getOrderBuyerInfo operation." + "description": "The response schema for the `getOrderBuyerInfo` operation." }, "GetOrderRegulatedInfoResponse": { "type": "object", "properties": { "payload": { - "description": "The payload for the getOrderRegulatedInfo operation.", + "description": "The payload for the `getOrderRegulatedInfo` operation.", "$ref": "#/definitions/OrderRegulatedInfo" }, "errors": { - "description": "One or more unexpected errors occurred during the getOrderRegulatedInfo operation.", + "description": "One or more unexpected errors occurred during the `getOrderRegulatedInfo` operation.", "$ref": "#/definitions/ErrorList" } }, - "description": "The response schema for the getOrderRegulatedInfo operation." + "description": "The response schema for the `getOrderRegulatedInfo` operation." }, "GetOrderAddressResponse": { "type": "object", "properties": { "payload": { - "description": "The payload for the getOrderAddress operations.", + "description": "The payload for the `getOrderAddress` operations.", "$ref": "#/definitions/OrderAddress" }, "errors": { - "description": "One or more unexpected errors occurred during the getOrderAddress operation.", + "description": "One or more unexpected errors occurred during the `getOrderAddress` operation.", "$ref": "#/definitions/ErrorList" } }, - "description": "The response schema for the getOrderAddress operation." + "description": "The response schema for the `getOrderAddress` operation." }, "GetOrderItemsResponse": { "type": "object", "properties": { "payload": { - "description": "The payload for the getOrderItems operation.", + "description": "The payload for the `getOrderItems` operation.", "$ref": "#/definitions/OrderItemsList" }, "errors": { - "description": "One or more unexpected errors occurred during the getOrderItems operation.", + "description": "One or more unexpected errors occurred during the `getOrderItems` operation.", "$ref": "#/definitions/ErrorList" } }, - "description": "The response schema for the getOrderItems operation." + "description": "The response schema for the `getOrderItems` operation." }, "GetOrderItemsBuyerInfoResponse": { "type": "object", "properties": { "payload": { - "description": "The payload for the getOrderItemsBuyerInfo operation.", + "description": "The payload for the `getOrderItemsBuyerInfo` operation.", "$ref": "#/definitions/OrderItemsBuyerInfoList" }, "errors": { - "description": "One or more unexpected errors occurred during the getOrderItemsBuyerInfo operation.", + "description": "One or more unexpected errors occurred during the `getOrderItemsBuyerInfo` operation.", + "$ref": "#/definitions/ErrorList" + } + }, + "description": "The response schema for the `getOrderItemsBuyerInfo` operation." + }, + "GetOrderFulfillmentInstructionsResponse": { + "type": "object", + "properties": { + "payload" : { + "description": "The payload for the `getOrderFulfillmentInstructions` operation.", + "$ref": "#/definitions/FulfillmentInstructions" + }, + "errors": { + "description": "One or more unexpected errors occurred during the `getOrderFulfillmentInstructions` operation.", "$ref": "#/definitions/ErrorList" } }, - "description": "The response schema for the getOrderItemsBuyerInfo operation." + "description": "The response schema for the `getOrderFulfillmentInstructions` operation." }, "OrdersList": { "type": "object", @@ -3036,7 +3178,7 @@ }, "LastUpdateDate": { "type": "string", - "description": "The date when the order was last updated.\n\n__Note__: LastUpdateDate is returned with an incorrect date for orders that were last updated before 2009-04-01." + "description": "The date when the order was last updated.\n\n**Note**: `LastUpdateDate` is returned with an incorrect date for orders that were last updated before 2009-04-01." }, "OrderStatus": { "type": "string", @@ -3129,12 +3271,12 @@ "description": "The number of items unshipped." }, "PaymentExecutionDetail": { - "description": "Information about sub-payment methods for a Cash On Delivery (COD) order.\n\n__Note__: For a COD order that is paid for using one sub-payment method, one PaymentExecutionDetailItem object is returned, with PaymentExecutionDetailItem/PaymentMethod = COD. For a COD order that is paid for using multiple sub-payment methods, two or more PaymentExecutionDetailItem objects are returned.", + "description": "Information about sub-payment methods for a Cash On Delivery (COD) order.\n\n**Note**: For a COD order that is paid for using one sub-payment method, one `PaymentExecutionDetailItem` object is returned, with `PaymentExecutionDetailItem`/`PaymentMethod` = COD. For a COD order that is paid for using multiple sub-payment methods, two or more `PaymentExecutionDetailItem` objects are returned.", "$ref": "#/definitions/PaymentExecutionDetailItemList" }, "PaymentMethod": { "type": "string", - "description": "The payment method for the order. This property is limited to Cash On Delivery (COD) and Convenience Store (CVS) payment methods. Unless you need the specific COD payment information provided by the PaymentExecutionDetailItem object, we recommend using the PaymentMethodDetails property to get payment method information.", + "description": "The payment method for the order. This property is limited to Cash On Delivery (COD) and Convenience Store (CVS) payment methods. Unless you need the specific COD payment information provided by the `PaymentExecutionDetailItem` object, we recommend using the `PaymentMethodDetails` property to get payment method information.", "enum": [ "COD", "CVS", @@ -3165,7 +3307,7 @@ }, "ShipmentServiceLevelCategory": { "type": "string", - "description": "The shipment service level category of the order.\n\nPossible values: Expedited, FreeEconomy, NextDay, Priority, SameDay, SecondDay, Scheduled, Standard." + "description": "The shipment service level category of the order.\n\n**Possible values**: `Expedited`, `FreeEconomy`, `NextDay`, `Priority`, `SameDay`, `SecondDay`, `Scheduled`, `Standard`." }, "EasyShipShipmentStatus": { "description": "The status of the Amazon Easy Ship order. This property is included only for Amazon Easy Ship orders.", @@ -3210,11 +3352,11 @@ }, "EarliestShipDate": { "type": "string", - "description": "The start of the time period within which you have committed to ship the order. In ISO 8601 date time format. Returned only for seller-fulfilled orders.\n\n__Note__: EarliestShipDate might not be returned for orders placed before February 1, 2013." + "description": "The start of the time period within which you have committed to ship the order. In ISO 8601 date time format. Returned only for seller-fulfilled orders.\n\n**Note**: `EarliestShipDate` might not be returned for orders placed before February 1, 2013." }, "LatestShipDate": { "type": "string", - "description": "The end of the time period within which you have committed to ship the order. In ISO 8601 date time format. Returned only for seller-fulfilled orders.\n\n__Note__: LatestShipDate might not be returned for orders placed before February 1, 2013." + "description": "The end of the time period within which you have committed to ship the order. In ISO 8601 date time format. Returned only for seller-fulfilled orders.\n\n**Note**: `LatestShipDate` might not be returned for orders placed before February 1, 2013." }, "EarliestDeliveryDate": { "type": "string", @@ -3222,7 +3364,7 @@ }, "LatestDeliveryDate": { "type": "string", - "description": "The end of the time period within which you have committed to fulfill the order. In ISO 8601 date time format. Returned only for seller-fulfilled orders that do not have a PendingAvailability, Pending, or Canceled status." + "description": "The end of the time period within which you have committed to fulfill the order. In ISO 8601 date time format. Returned only for seller-fulfilled orders that do not have a `PendingAvailability`, Pending, or Canceled status." }, "IsBusinessOrder": { "type": "boolean", @@ -3242,7 +3384,7 @@ }, "ReplacedOrderId": { "type": "string", - "description": "The order ID value for the order that is being replaced. Returned only if IsReplacementOrder = true." + "description": "The order ID value for the order that is being replaced. Returned only if `IsReplacementOrder` = true." }, "IsReplacementOrder": { "type": "boolean", @@ -3254,7 +3396,7 @@ }, "IsEstimatedShipDateSet": { "type": "boolean", - "description": "When true, the estimated ship date is set for the order. Returned only for Sourcing on Demand orders." + "description": "When true, the estimated ship date is specified for the order. Returned only for Sourcing on Demand orders." }, "IsSoldByAB": { "type": "boolean", @@ -3281,13 +3423,13 @@ }, { "value": "BUSINESS", - "description": "Buyer should be issued a business invoice. Tax information is available in BuyerTaxInformation structure." + "description": "Buyer should be issued a business invoice. Tax information is available in `BuyerTaxInformation` structure." } ], - "description": "The buyer's invoicing preference. Available only in the TR marketplace." + "description": "The buyer's invoicing preference. Sellers can use this data to issue electronic invoices for orders in Turkey.\n\n**Note**: This attribute is only available in the Turkey marketplace." }, "BuyerTaxInformation": { - "description": "Contains the business invoice tax information.", + "description": "Contains the business invoice tax information. Sellers can use this data to issue electronic invoices for business orders in Turkey.\n\n**Note**:\n1. This attribute is only available in the Turkey marketplace for the orders that `BuyerInvoicePreference` is BUSINESS.\n2. The `BuyerTaxInformation` is a restricted data. Use a Restricted Data Token (RDT) and restricted Selling Partner API roles to access this restricted data.", "$ref": "#/definitions/BuyerTaxInformation" }, "FulfillmentInstruction": { @@ -3303,17 +3445,19 @@ "description": "When true, this order is marked to be delivered to an Access Point. The access location is chosen by the customer. Access Points include Amazon Hub Lockers, Amazon Hub Counters, and pickup points operated by carriers." }, "MarketplaceTaxInfo": { - "description": "Tax information about the marketplace.", + "description": "Tax information about the marketplace where the sale took place. Sellers can use this data to issue electronic invoices for orders in Brazil.\n\n**Note**: This attribute is only available in the Brazil marketplace for the orders with `Pending` or `Unshipped` status.", "$ref": "#/definitions/MarketplaceTaxInfo" }, "SellerDisplayName": { "type": "string", - "description": "The seller’s friendly name registered in the marketplace." + "description": "The seller’s friendly name registered in the marketplace where the sale took place. Sellers can use this data to issue electronic invoices for orders in Brazil.\n\n**Note**: This attribute is only available in the Brazil marketplace for the orders with `Pending` or `Unshipped` status." }, "ShippingAddress": { + "description": "The shipping address for the order.\n\n**Note**:\n1. `ShippingAddress` is only available for orders with the following status values: `Unshipped`, `PartiallyShipped`, `Shipped` and `InvoiceUnconfirmed`.\n2. The `ShippingAddress` contains restricted data. Use a Restricted Data Token (RDT) and restricted Selling Partner API roles to access the restricted data in `ShippingAddress`, for example, `Name`, `AddressLine1`, `AddressLine2`, `AddressLine3`, `Phone`, `AddressType` and `ExtendedFields`.", "$ref": "#/definitions/Address" }, "BuyerInfo": { + "description": "Buyer information.\n\n**Note**: The `BuyerInfo` contains restricted data. Use a Restricted Data Token (RDT) and restricted Selling Partner API roles to access the restricted data in `BuyerInfo`, for example, `BuyerName`, `BuyerTaxInfo`, `PurchaseOrderNumber`.", "$ref": "#/definitions/BuyerInfo" }, "AutomatedShippingSettings": { @@ -3351,10 +3495,10 @@ }, "BuyerCounty": { "type": "string", - "description": "The county of the buyer." + "description": "The county of the buyer.\n\n**Note**: This attribute is only available in the Brazil marketplace." }, "BuyerTaxInfo": { - "description": "Tax information about the buyer.", + "description": "Tax information about the buyer. Sellers can use this data to issue electronic invoices for business orders.\n\n**Note**: This attribute is only available for business orders in the Brazil, Mexico and India marketplaces.", "$ref": "#/definitions/BuyerTaxInfo" }, "PurchaseOrderNumber": { @@ -3461,7 +3605,7 @@ "x-docgen-enum-table-extension": [ { "value": "Pending", - "description": "The order is pending approval. Note that the approval might be needed from someone other than the merchant as determined by the RequiresMerchantAction property." + "description": "The order is pending approval. Note that the approval might be needed from someone other than the merchant as determined by the `RequiresMerchantAction` property." }, { "value": "Approved", @@ -3535,7 +3679,7 @@ }, "FieldValue": { "type": "string", - "description": "The content of the field as collected in regulatory form. Note that FileAttachment type fields will contain a URL to download the attachment here." + "description": "The content of the field as collected in regulatory form. Note that `FileAttachment` type fields will contain a URL to download the attachment here." } } }, @@ -3551,9 +3695,10 @@ }, "BuyerCompanyName": { "type": "string", - "description": "Company Name of the Buyer." + "description": "The company name of the contact buyer. For Invoice By Amazon (IBA) orders, the buyer company should be Amazon entities." }, "ShippingAddress": { + "description": "The shipping address for the order.\n\n**Note**: `ShippingAddress` is only available for orders with the following status values: `Unshipped`, `PartiallyShipped`, `Shipped` and `InvoiceUnconfirmed`.", "$ref": "#/definitions/Address" }, "DeliveryPreferences": { @@ -3572,6 +3717,10 @@ "type": "string", "description": "The name." }, + "CompanyName": { + "type": "string", + "description": "The company name of the recipient.\n\n**Note**: This attribute is only available for shipping address." + }, "AddressLine1": { "type": "string", "description": "The street address." @@ -3586,7 +3735,7 @@ }, "City": { "type": "string", - "description": "The city " + "description": "The city." }, "County": { "type": "string", @@ -3614,9 +3763,10 @@ }, "Phone": { "type": "string", - "description": "The phone number. Not returned for Fulfillment by Amazon (FBA) orders." + "description": "The phone number of the buyer.\n\n**Note**: \n1. This attribute is only available for shipping address.\n2. The buyer `Phone` number is suppressed in some cases, including but not limited to \na. `Phone` is suppressed for all Fulfillment by Amazon (FBA) orders.\nb. `Phone` is suppressed for the shipped MFN(Fulfilled by the seller) order when current date is past Latest Delivery Date." }, "ExtendedFields": { + "description": "The container for address extended fields. For example, street name or street number.\n\nNote: Only available for Brazil shipping addresses.", "$ref": "#/definitions/AddressExtendedFields" }, "AddressType": { @@ -3660,7 +3810,7 @@ "description": "The neighborhood. It's smaller than a region and an integral part of an address. It is used in some countries like Brazil." } }, - "description": "The container for address extended fields. For example, street name or street number. Only available for Brazil shipping addresses as of now." + "description": "The container of extended address fields. For example, street name, street number. Only available with Brazil shipping addresses as of now." }, "DeliveryPreferences": { "type": "object", @@ -3875,7 +4025,7 @@ }, "PaymentMethod": { "type": "string", - "description": "A sub-payment method for a COD order.\n\nPossible values:\n* `COD`: Cash On Delivery.\n* `GC`: Gift Card.\n* `PointsAccount`: Amazon Points.\n* `Invoice`: Invoice." + "description": "A sub-payment method for a COD order.\n\n**Possible values**:\n* `COD`: Cash On Delivery.\n* `GC`: Gift Card.\n* `PointsAccount`: Amazon Points.\n* `Invoice`: Invoice." } }, "description": "Information about a sub-payment method used to pay for a COD order." @@ -4004,7 +4154,7 @@ "$ref": "#/definitions/PointsGrantedDetail" }, "ItemPrice": { - "description": "The selling price of the order item. Note that an order item is an item and a quantity. This means that the value of ItemPrice is equal to the selling price of the item multiplied by the quantity ordered. Note that ItemPrice excludes ShippingPrice and GiftWrapPrice.", + "description": "The selling price of the order item. An order item is an item and a quantity. This means that the value of `ItemPrice` is equal to the selling price of the item multiplied by the quantity ordered. Note that `ItemPrice` excludes `ShippingPrice` and `GiftWrapPrice`.", "$ref": "#/definitions/Money" }, "ShippingPrice": { @@ -4047,8 +4197,8 @@ "$ref": "#/definitions/Money" }, "IsGift": { - "type": "boolean", - "description": "When true, the item is a gift." + "type": "string", + "description": "Indicates whether the item is a gift.\n\n**Possible values**: `true`, `false`." }, "ConditionNote": { "type": "string", @@ -4056,11 +4206,11 @@ }, "ConditionId": { "type": "string", - "description": "The condition of the item.\n\nPossible values: New, Used, Collectible, Refurbished, Preorder, Club." + "description": "The condition of the item.\n\n**Possible values**: `New`, `Used`, `Collectible`, `Refurbished`, `Preorder`, `Club`." }, "ConditionSubtypeId": { "type": "string", - "description": "The subcondition of the item.\n\nPossible values: New, Mint, Very Good, Good, Acceptable, Poor, Club, OEM, Warranty, Refurbished Warranty, Refurbished, Open Box, Any, Other." + "description": "The subcondition of the item.\n\n**Possible values**: `New`, `Mint`, `Very Good`, `Good`, `Acceptable`, `Poor`, `Club`, `OEM`, `Warranty`, `Refurbished Warranty`, `Refurbished`, `Open Box`, `Any`, `Other`." }, "ScheduledDeliveryStartDate": { "type": "string", @@ -4072,7 +4222,7 @@ }, "PriceDesignation": { "type": "string", - "description": "Indicates that the selling price is a special price that is available only for Amazon Business orders. For more information about the Amazon Business Seller Program, see the [Amazon Business website](https://www.amazon.com/b2b/info/amazon-business). \n\nPossible values: BusinessPrice - A special price that is available only for Amazon Business orders." + "description": "Indicates that the selling price is a special price that is available only for Amazon Business orders. For more information about the Amazon Business Seller Program, refer to [Amazon Business](https://business.amazon.com). \n\n**Possible values**: `BusinessPrice` - A special price that is available only for Amazon Business orders." }, "TaxCollection": { "description": "Information about withheld taxes.", @@ -4113,6 +4263,7 @@ ] }, "BuyerInfo": { + "description": "A single item's buyer information.\n\n**Note**: The `BuyerInfo` contains restricted data. Use a Restricted Data Token (RDT) and restricted Selling Partner API roles to access the restricted data in `BuyerInfo`, for example, `BuyerCustomizedInfo` and `GiftMessageText`.", "$ref": "#/definitions/ItemBuyerInfo" }, "BuyerRequestedCancel": { @@ -4133,12 +4284,17 @@ "Measurement": { "description": "Measurement information for the order item.", "$ref": "#/definitions/Measurement" + }, + "ShippingConstraints" : { + "description" : "Shipping constraints applicable to this order.", + "$ref" : "#/definitions/ShippingConstraints" } }, "description": "A single order item." }, "SubstitutionPreferences": { "type": "object", + "description": "Substitution preferences for an order item.", "required": [ "SubstitutionType" ], @@ -4181,6 +4337,7 @@ }, "SubstitutionOption": { "type": "object", + "description": "Substitution options for an order item.", "properties": { "ASIN": { "type": "string", @@ -4206,6 +4363,7 @@ }, "Measurement": { "type": "object", + "description": "Measurement information for an order item.", "required": [ "Unit", "Value" @@ -4414,7 +4572,7 @@ "description": "An Amazon-defined order item identifier." }, "BuyerCustomizedInfo": { - "description": "Buyer information for custom orders from the Amazon Custom program.", + "description": "Buyer information for custom orders from the Amazon Custom program.\n\n**Note**: This attribute is only available for MFN (Fulfilled by the seller) orders.", "$ref": "#/definitions/BuyerCustomizedInfoDetail" }, "GiftWrapPrice": { @@ -4427,7 +4585,7 @@ }, "GiftMessageText": { "type": "string", - "description": "A gift message provided by the buyer." + "description": "A gift message provided by the buyer.\n\n**Note**: This attribute is only available for MFN (Fulfilled by the seller) orders." }, "GiftWrapLevel": { "type": "string", @@ -4454,7 +4612,7 @@ "type": "object", "properties": { "NumberOfItems": { - "type": "integer", + "type": "string", "description": "The total number of items that are included in the ASIN." } }, @@ -4502,7 +4660,7 @@ "x-docgen-enum-table-extension": [ { "value": "Amazon Services, Inc.", - "description": "Amazon Services, Inc." + "description": "The `MarketplaceFacilitator` entity for the US marketplace." } ] } @@ -4535,12 +4693,225 @@ "type": "object", "properties": { "FulfillmentSupplySourceId": { - "description": "Denotes the recommended sourceId where the order should be fulfilled from.", + "description": "Denotes the recommended `sourceId` where the order should be fulfilled from.", "type": "string" } }, "description": "Contains the instructions about the fulfillment like where should it be fulfilled from." }, + "FulfillmentInstructions": { + "type": "object", + "description": "Contains all fulfillment plans for the order", + "required": [ + "AmazonOrderId" + ], + "properties": { + "FulfillmentPlans": { + "type": "array", + "description": "List of all fulfillment plans for the given order id", + "items": { + "$ref": "#/definitions/FulfillmentPlan" + } + }, + "AmazonOrderId": { + "type": "string", + "description": "An Amazon-defined order identifier, in 3-7-7 format." + } + } + }, + "FulfillmentPlan": { + "type": "object", + "description": "A collection of order items that are to be fulfilled from the same location with the same shipping, pickup, and service instructions", + "required": [ + "FulfillmentPlanId", + "CreationDate", + "FulfillmentType", + "FulfillmentPlanStatus", + "LastStatusUpdateDate", + "FulfillmentPlanItems" + ], + "properties": { + "FulfillmentPlanId": { + "type": "string", + "description": "Unique identifier of a fulfillment plan" + }, + "CreationDate": { + "type": "string", + "description": "Time when the fulfillment plan was created in ISO 8601 format" + }, + "FulfillmentType": { + "type": "string", + "description": "Type of fulfillment", + "enum": [ + "INSTORE_PICKUP", + "SERVICE", + "SHIP" + ], + "x-docgen-enum-table-extension": [ + { + "value": "INSTORE_PICKUP", + "description": "Buyer picks up items in plan from store" + }, + { + "value": "SERVICE", + "description": "Services that are performed for the buyer, such as assembly" + }, + { + "value": "SHIP", + "description": "Shipped by seller through detailed ship method" + } + ] + }, + "FulfillmentPlanStatus": { + "type": "string", + "description": "Status of the fulfillment plan", + "enum": [ + "ACTIVE", + "ABORTED", + "COMPLETED", + "PARTIALLY_FULFILLED" + ], + "x-docgen-enum-table-extension": [ + { + "value": "ACTIVE", + "description": "The plan is ready to be fulfilled" + }, + { + "value": "ABORTED", + "description": "Plan was canceled, either through order canceling or replanning of shipment." + }, + { + "value": "COMPLETED", + "description": "Plan has been fulfilled and completed" + }, + { + "value": "PARTIALLY_FULFILLED", + "description": "Plan has been partially fulfilled" + } + ] + }, + "LastStatusUpdateDate": { + "type": "string", + "description": "Time when the fulfillment plan's status was last updated in ISO 8601 Format" + }, + "FulfillmentLocation": { + "description": "Represents a location from which the plan is to be fulfilled", + "$ref": "#/definitions/FulfillmentLocation" + }, + "ShippingInstructions": { + "description": "Represents shipping related information of a delivery", + "$ref": "#/definitions/ShippingInstructions" + }, + "FulfillmentPlanItems": { + "description": "Represents the details of order items that are included in the fulfillment plan", + "type": "array", + "items": { + "$ref": "#/definitions/FulfillmentPlanItem" + } + } + } + }, + "FulfillmentLocation": { + "type": "object", + "description": "Represents a location from which the plan is to be fulfilled", + "properties": { + "SupplySourceId": { + "type": "string", + "description": "The fulfillment location identifier" + } + } + }, + "ShippingInstructions": { + "type": "object", + "description": "Represents shipping related information of a delivery", + "properties": { + "CarrierCode": { + "description": "Carrier Name that will deliver the package.", + "type": "string" + }, + "ShippingMethod": { + "description": "Ship method to be used for shipping the order", + "type": "string" + }, + "ShippingConstraints": { + "description": "Models constraints around shipping", + "$ref": "#/definitions/FulfillmentPlanShippingConstraints" + } + } + }, + "ShippingConstraints": { + "type": "object", + "description": "Delivery constraints applicable to this order.", + "properties": { + "PalletDelivery": { + "description": "Indicates if the line item needs to be delivered by pallet", + "$ref": "#/definitions/ConstraintType" + } + } + }, + "ConstraintType": { + "type": "string", + "description": "Details the importance of the constraint present on the item", + "enum": [ + "MANDATORY" + ], + "x-docgen-enum-table-extension": [ + { + "value": "MANDATORY", + "description": "Item must follow the constraint to ensure order is met with buyer's delivery requirements." + } + ] + }, + "FulfillmentPlanShippingConstraints": { + "type": "object", + "description" :"Delivery constraints applicable to this order.", + "properties" : { + "PalletDelivery": { + "description": "Indicates if the line item needs to be delivered by pallet", + "$ref": "#/definitions/FulfillmentPlanConstraintType" + }, + "SignatureConfirmation": { + "description": "Indicates if the line item needs to be shipped with delivery confirmation services", + "$ref": "#/definitions/FulfillmentPlanConstraintType" + } + } + }, + "FulfillmentPlanConstraintType": { + "type": "string", + "description" :"Details the importance of the constraint present on the item", + "enum": [ + "MANDATORY", + "RECOMMENDED" + ], + "x-docgen-enum-table-extension": [ + { + "value": "MANDATORY", + "description": "Item must follow the constraint to ensure order is met with buyer's delivery requirements." + }, + { + "value": "RECOMMENDED", + "description": "Item is recommended to follow the constraint to ensure order is met with buyer's delivery requirements." + } + ] + }, + "FulfillmentPlanItem": { + "type": "object", + "description": "The order items associated with this fulfillment plan", + "required": [ + "OrderItemId", + "Measurement" + ], + "properties": { + "OrderItemId": { + "type": "string", + "description": "An Amazon-defined associated order item's order item identifier." + }, + "Measurement": { + "description": "Measurement information for the order item.", + "$ref": "#/definitions/Measurement" + } + } + }, "BuyerInfo": { "type": "object", "properties": { @@ -4554,10 +4925,10 @@ }, "BuyerCounty": { "type": "string", - "description": "The county of the buyer." + "description": "The county of the buyer.\n\n**Note**: This attribute is only available in the Brazil marketplace." }, "BuyerTaxInfo": { - "description": "Tax information about the buyer.", + "description": "Tax information about the buyer. Sellers can use this data to issue electronic invoices for business orders.\n\n**Note**: This attribute is only available for business orders in the Brazil, Mexico and India marketplaces.", "$ref": "#/definitions/BuyerTaxInfo" }, "PurchaseOrderNumber": { @@ -4571,7 +4942,7 @@ "type": "object", "properties": { "BuyerCustomizedInfo": { - "description": "Buyer information for custom orders from the Amazon Custom program.", + "description": "Buyer information for custom orders from the Amazon Custom program.\n\n**Note**: This attribute is only available for MFN (Fulfilled by the seller) orders.", "$ref": "#/definitions/BuyerCustomizedInfoDetail" }, "GiftWrapPrice": { @@ -4584,7 +4955,7 @@ }, "GiftMessageText": { "type": "string", - "description": "A gift message provided by the buyer." + "description": "A gift message provided by the buyer.\n\n**Note**: This attribute is only available for MFN (Fulfilled by the seller) orders." }, "GiftWrapLevel": { "type": "string", @@ -4615,8 +4986,8 @@ "type": "object", "properties": { "IsBuyerRequestedCancel": { - "type": "boolean", - "description": "When true, the buyer has requested cancellation." + "type": "string", + "description": "Indicate whether the buyer has requested cancellation.\n\n**Possible Values**: `true`, `false`." }, "BuyerCancelReason": { "type": "string", @@ -4714,7 +5085,7 @@ ] }, "ElectronicInvoiceStatus": { - "description": "The status of the electronic invoice. Only available for Easy Ship orders and orders in the BR marketplace.", + "description": "The status of the electronic invoice. Only available for Easy Ship orders and orders in the BR marketplace.", "type": "string", "enum": [ "NotRequired", @@ -4769,10 +5140,10 @@ }, "ConfirmShipmentErrorResponse": { "type": "object", - "description": "The error response schema for an shipment confirmation.", + "description": "The error response schema for the `confirmShipment` operation.", "properties": { "errors": { - "description": "One or more unexpected errors occurred during the confirmShipment operation.", + "description": "One or more unexpected errors occurred during the `confirmShipment` operation.", "$ref": "#/definitions/ErrorList" } } @@ -4793,7 +5164,7 @@ }, "carrierCode": { "type": "string", - "description": "Identifies the carrier that will deliver the package. This field is required for all marketplaces, see [reference](https://developer-docs.amazon.com/sp-api/changelog/carriercode-value-required-in-shipment-confirmations-for-br-mx-ca-sg-au-in-jp-marketplaces)." + "description": "Identifies the carrier that will deliver the package. This field is required for all marketplaces. For the acceptable `CarrierCode` value, refer to the list of CarrierCode." }, "carrierName": { "type": "string", From 30a4f5b5d7b072d0124381ab9991632061ac8178 Mon Sep 17 00:00:00 2001 From: Jack Evoniuk Date: Wed, 24 Apr 2024 10:41:38 -0700 Subject: [PATCH 055/340] Update Easy Ship model --- .../easy-ship-model/easyShip_2022-03-23.json | 140 +++++++++++------- 1 file changed, 87 insertions(+), 53 deletions(-) diff --git a/models/easy-ship-model/easyShip_2022-03-23.json b/models/easy-ship-model/easyShip_2022-03-23.json index b1e3767a2..9d39d0c45 100644 --- a/models/easy-ship-model/easyShip_2022-03-23.json +++ b/models/easy-ship-model/easyShip_2022-03-23.json @@ -34,6 +34,7 @@ "parameters": [ { "name": "ListHandoverSlotsRequest", + "description": "The request schema for the `listHandoverSlots` operation.", "in": "body", "schema": { "$ref": "#/definitions/ListHandoverSlotsRequest" @@ -186,10 +187,6 @@ "$ref": "#/definitions/ErrorList" }, "headers": { - "x-amzn-RateLimit-Limit": { - "description": "Your rate limit (requests per second) for this operation.", - "type": "string" - }, "x-amzn-RequestId": { "type": "string", "description": "Unique request reference identifier." @@ -197,7 +194,7 @@ } }, "403": { - "description": "Indicates access to the resource is forbidden. Possible reasons include Access Denied, Unauthorized, Expired Token, or Invalid Signature.", + "description": "Indicates that access to the resource is forbidden. Possible reasons include Access Denied, Unauthorized, Expired Token, or Invalid Signature.", "schema": { "$ref": "#/definitions/ErrorList" }, @@ -209,7 +206,7 @@ } }, "404": { - "description": "The specified resource does not exist.", + "description": "The resource specified does not exist.", "schema": { "$ref": "#/definitions/ErrorList" }, @@ -224,6 +221,18 @@ } } }, + "413": { + "description": "The request size exceeded the maximum accepted size.", + "schema": { + "$ref": "#/definitions/ErrorList" + }, + "headers": { + "x-amzn-RequestId": { + "type": "string", + "description": "Unique request reference identifier." + } + } + }, "415": { "description": "The request payload is in an unsupported format.", "schema": { @@ -400,10 +409,6 @@ "$ref": "#/definitions/ErrorList" }, "headers": { - "x-amzn-RateLimit-Limit": { - "description": "Your rate limit (requests per second) for this operation.", - "type": "string" - }, "x-amzn-RequestId": { "type": "string", "description": "Unique request reference identifier." @@ -411,7 +416,7 @@ } }, "403": { - "description": "Indicates access to the resource is forbidden. Possible reasons include Access Denied, Unauthorized, Expired Token, or Invalid Signature.", + "description": "Indicates that access to the resource is forbidden. Possible reasons include Access Denied, Unauthorized, Expired Token, or Invalid Signature.", "schema": { "$ref": "#/definitions/ErrorList" }, @@ -423,7 +428,7 @@ } }, "404": { - "description": "The specified resource does not exist.", + "description": "The resource specified does not exist.", "schema": { "$ref": "#/definitions/ErrorList" }, @@ -438,6 +443,18 @@ } } }, + "413": { + "description": "The request size exceeded the maximum accepted size.", + "schema": { + "$ref": "#/definitions/ErrorList" + }, + "headers": { + "x-amzn-RequestId": { + "type": "string", + "description": "Unique request reference identifier." + } + } + }, "415": { "description": "The request payload is in an unsupported format.", "schema": { @@ -496,8 +513,9 @@ "operationId": "createScheduledPackage", "parameters": [ { - "in": "body", "name": "CreateScheduledPackageRequest", + "description": "The request schema for the `createScheduledPackage` operation.", + "in": "body", "required": true, "schema": { "$ref": "#/definitions/CreateScheduledPackageRequest" @@ -651,10 +669,6 @@ "$ref": "#/definitions/ErrorList" }, "headers": { - "x-amzn-RateLimit-Limit": { - "description": "Your rate limit (requests per second) for this operation.", - "type": "string" - }, "x-amzn-RequestId": { "type": "string", "description": "Unique request reference identifier." @@ -662,7 +676,7 @@ } }, "403": { - "description": "Indicates access to the resource is forbidden. Possible reasons include Access Denied, Unauthorized, Expired Token, or Invalid Signature.", + "description": "Indicates that access to the resource is forbidden. Possible reasons include Access Denied, Unauthorized, Expired Token, or Invalid Signature.", "schema": { "$ref": "#/definitions/ErrorList" }, @@ -674,7 +688,7 @@ } }, "404": { - "description": "The specified resource does not exist.", + "description": "The resource specified does not exist.", "schema": { "$ref": "#/definitions/ErrorList" }, @@ -689,6 +703,18 @@ } } }, + "413": { + "description": "The request size exceeded the maximum accepted size.", + "schema": { + "$ref": "#/definitions/ErrorList" + }, + "headers": { + "x-amzn-RequestId": { + "type": "string", + "description": "Unique request reference identifier." + } + } + }, "415": { "description": "The request payload is in an unsupported format.", "schema": { @@ -748,6 +774,7 @@ "parameters": [ { "name": "UpdateScheduledPackagesRequest", + "description": "The request schema for the `updateScheduledPackages` operation.", "in": "body", "schema": { "$ref": "#/definitions/UpdateScheduledPackagesRequest" @@ -944,10 +971,6 @@ "$ref": "#/definitions/ErrorList" }, "headers": { - "x-amzn-RateLimit-Limit": { - "description": "Your rate limit (requests per second) for this operation.", - "type": "string" - }, "x-amzn-RequestId": { "type": "string", "description": "Unique request reference identifier." @@ -955,7 +978,7 @@ } }, "403": { - "description": "Indicates access to the resource is forbidden. Possible reasons include Access Denied, Unauthorized, Expired Token, or Invalid Signature.", + "description": "Indicates that access to the resource is forbidden. Possible reasons include Access Denied, Unauthorized, Expired Token, or Invalid Signature.", "schema": { "$ref": "#/definitions/ErrorList" }, @@ -967,7 +990,7 @@ } }, "404": { - "description": "The specified resource does not exist.", + "description": "The resource specified does not exist.", "schema": { "$ref": "#/definitions/ErrorList" }, @@ -982,6 +1005,18 @@ } } }, + "413": { + "description": "The request size exceeded the maximum accepted size.", + "schema": { + "$ref": "#/definitions/ErrorList" + }, + "headers": { + "x-amzn-RequestId": { + "type": "string", + "description": "Unique request reference identifier." + } + } + }, "415": { "description": "The request payload is in an unsupported format.", "schema": { @@ -1043,6 +1078,7 @@ "parameters": [ { "name": "CreateScheduledPackagesRequest", + "description": "The request schema for the `createScheduledPackageBulk` operation.", "in": "body", "required": true, "schema": { @@ -1167,7 +1203,7 @@ }, "x-amzn-RequestId": { "type": "string", - "description": "Unique request reference ID." + "description": "Unique request reference identifier." } } }, @@ -1231,7 +1267,7 @@ }, "x-amzn-RequestId": { "type": "string", - "description": "Unique request reference ID." + "description": "Unique request reference identifier." } } }, @@ -1241,30 +1277,26 @@ "$ref": "#/definitions/ErrorList" }, "headers": { - "x-amzn-RateLimit-Limit": { - "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned.", - "type": "string" - }, "x-amzn-RequestId": { "type": "string", - "description": "Unique request reference ID." + "description": "Unique request reference identifier." } } }, "403": { - "description": "Indicates access to the resource is forbidden. Possible reasons include Access Denied, Unauthorized, Expired Token, or Invalid Signature.", + "description": "Indicates that access to the resource is forbidden. Possible reasons include Access Denied, Unauthorized, Expired Token, or Invalid Signature.", "schema": { "$ref": "#/definitions/ErrorList" }, "headers": { "x-amzn-RequestId": { "type": "string", - "description": "Unique request reference ID." + "description": "Unique request reference identifier." } } }, "404": { - "description": "The specified resource does not exist.", + "description": "The resource specified does not exist.", "schema": { "$ref": "#/definitions/ErrorList" }, @@ -1275,7 +1307,7 @@ }, "x-amzn-RequestId": { "type": "string", - "description": "Unique request reference ID." + "description": "Unique request reference identifier." } } }, @@ -1285,13 +1317,21 @@ "$ref": "#/definitions/ErrorList" }, "headers": { - "x-amzn-RateLimit-Limit": { - "description": "Your rate limit (requests per second) for this operation.", - "type": "string" - }, "x-amzn-RequestId": { "type": "string", - "description": "Unique request reference ID." + "description": "Unique request reference identifier." + } + } + }, + "413": { + "description": "The request size exceeded the maximum accepted size.", + "schema": { + "$ref": "#/definitions/ErrorList" + }, + "headers": { + "x-amzn-RequestId": { + "type": "string", + "description": "Unique request reference identifier." } } }, @@ -1308,18 +1348,14 @@ } }, "500": { - "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned..", + "description": "An unexpected condition occurred that prevented the server from fulfilling the request.", "schema": { "$ref": "#/definitions/ErrorList" }, "headers": { - "x-amzn-RateLimit-Limit": { - "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned.", - "type": "string" - }, "x-amzn-RequestId": { "type": "string", - "description": "Unique request reference ID." + "description": "Unique request reference identifier." } } }, @@ -1329,13 +1365,9 @@ "$ref": "#/definitions/ErrorList" }, "headers": { - "x-amzn-RateLimit-Limit": { - "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned.", - "type": "string" - }, "x-amzn-RequestId": { "type": "string", - "description": "Unique request reference ID." + "description": "Unique request reference identifier." } } } @@ -1594,7 +1626,7 @@ "maxItems": 100 }, "Package": { - "description": "A package. This object contains all the details of the scheduled Easy Ship package including the package identifier, physical attributes such as dimensions and weight, selected time slot to handover the package to carrier, status of the package, and tracking/invoice details.", + "description": "This object contains all the details of the scheduled Easy Ship package.", "type": "object", "required": [ "packageDimensions", @@ -1640,6 +1672,7 @@ ], "properties": { "packages": { + "description": "A list of packages.", "type": "array", "items": { "$ref": "#/definitions/Package" @@ -1921,6 +1954,7 @@ ], "properties": { "errors": { + "description": "A list of error responses returned when a request is unsuccessful.", "type": "array", "items": { "$ref": "#/definitions/Error" From 8333398594c2b194aa319010463d4571eb785de0 Mon Sep 17 00:00:00 2001 From: Jack Evoniuk Date: Wed, 24 Apr 2024 11:33:59 -0700 Subject: [PATCH 056/340] Update Feeds model --- models/feeds-api-model/feeds_2021-06-30.json | 291 ++++++------------- 1 file changed, 87 insertions(+), 204 deletions(-) diff --git a/models/feeds-api-model/feeds_2021-06-30.json b/models/feeds-api-model/feeds_2021-06-30.json index 1c2419716..87f2c67c2 100644 --- a/models/feeds-api-model/feeds_2021-06-30.json +++ b/models/feeds-api-model/feeds_2021-06-30.json @@ -143,7 +143,7 @@ }, "x-amzn-RequestId": { "type": "string", - "description": "Unique request reference ID." + "description": "Unique request reference identifier." } }, "x-amzn-api-sandbox": { @@ -158,28 +158,28 @@ }, "pageSize": { "value": 10 - }, - "processingStatuses": { - "value": [ - "CANCELLED", - "DONE" - ] + }, + "processingStatuses": { + "value": [ + "CANCELLED", + "DONE" + ] + } } + }, + "response": { + "feeds": [ + { + "feedId": "FeedId1", + "feedType": "POST_PRODUCT_DATA", + "createdTime": "2024-03-11T13:16:24.630Z", + "processingStatus": "CANCELLED", + "processingStartTime": "2024-03-11T13:16:24.630Z", + "processingEndTime": "2024-03-11T13:16:24.630Z" + } + ], + "nextToken": "VGhpcyB0b2tlbiBpcyBvcGFxdWUgYW5kIGludGVudGlvbmFsbHkgb2JmdXNjYXRlZA==" } - }, - "response": { - "feeds": [ - { - "feedId": "FeedId1", - "feedType": "POST_PRODUCT_DATA", - "createdTime": "2019-12-11T13:16:24.630Z", - "processingStatus": "CANCELLED", - "processingStartTime": "2019-12-11T13:16:24.630Z", - "processingEndTime": "2019-12-11T13:16:24.630Z" - } - ], - "nextToken": "VGhpcyB0b2tlbiBpcyBvcGFxdWUgYW5kIGludGVudGlvbmFsbHkgb2JmdXNjYXRlZA==" - } } ] } @@ -196,7 +196,7 @@ }, "x-amzn-RequestId": { "type": "string", - "description": "Unique request reference ID." + "description": "Unique request reference identifier." } }, "x-amzn-api-sandbox": { @@ -211,12 +211,12 @@ }, "processingStatuses": { "value": [ - "BAD_VALUE", - "DONE" - ] + "BAD_VALUE", + "DONE" + ] + } } - } - }, + }, "response": { "errors": [ { @@ -236,13 +236,9 @@ "$ref": "#/definitions/ErrorList" }, "headers": { - "x-amzn-RateLimit-Limit": { - "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned.", - "type": "string" - }, "x-amzn-RequestId": { "type": "string", - "description": "Unique request reference ID." + "description": "Unique request reference identifier." } } }, @@ -254,7 +250,7 @@ "headers": { "x-amzn-RequestId": { "type": "string", - "description": "Unique request reference ID." + "description": "Unique request reference identifier." } } }, @@ -270,7 +266,7 @@ }, "x-amzn-RequestId": { "type": "string", - "description": "Unique request reference ID." + "description": "Unique request reference identifier." } } }, @@ -280,10 +276,6 @@ "$ref": "#/definitions/ErrorList" }, "headers": { - "x-amzn-RateLimit-Limit": { - "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned.", - "type": "string" - }, "x-amzn-RequestId": { "type": "string", "description": "Unique request reference identifier." @@ -296,13 +288,9 @@ "$ref": "#/definitions/ErrorList" }, "headers": { - "x-amzn-RateLimit-Limit": { - "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned.", - "type": "string" - }, "x-amzn-RequestId": { "type": "string", - "description": "Unique request reference ID." + "description": "Unique request reference identifier." } } }, @@ -312,13 +300,9 @@ "$ref": "#/definitions/ErrorList" }, "headers": { - "x-amzn-RateLimit-Limit": { - "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned.", - "type": "string" - }, "x-amzn-RequestId": { "type": "string", - "description": "Unique request reference ID." + "description": "Unique request reference identifier." } } }, @@ -328,13 +312,9 @@ "$ref": "#/definitions/ErrorList" }, "headers": { - "x-amzn-RateLimit-Limit": { - "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned.", - "type": "string" - }, "x-amzn-RequestId": { "type": "string", - "description": "Unique request reference ID." + "description": "Unique request reference identifier." } } } @@ -353,7 +333,8 @@ "required": true, "schema": { "$ref": "#/definitions/CreateFeedSpecification" - } + }, + "description": "Information required to create the feed." } ], "responses": { @@ -369,7 +350,7 @@ }, "x-amzn-RequestId": { "type": "string", - "description": "Unique request reference ID." + "description": "Unique request reference identifier." } }, "x-amzn-api-sandbox": { @@ -408,7 +389,7 @@ }, "x-amzn-RequestId": { "type": "string", - "description": "Unique request reference ID." + "description": "Unique request reference identifier." } }, "x-amzn-api-sandbox": { @@ -423,10 +404,10 @@ "A1F83G8C2ARO7P" ], "inputFeedDocumentId": "badDocumentId" + } } } - } - }, + }, "response": { "errors": [ { @@ -446,13 +427,9 @@ "$ref": "#/definitions/ErrorList" }, "headers": { - "x-amzn-RateLimit-Limit": { - "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned.", - "type": "string" - }, "x-amzn-RequestId": { "type": "string", - "description": "Unique request reference ID." + "description": "Unique request reference identifier." } } }, @@ -464,7 +441,7 @@ "headers": { "x-amzn-RequestId": { "type": "string", - "description": "Unique request reference ID." + "description": "Unique request reference identifier." } } }, @@ -480,7 +457,7 @@ }, "x-amzn-RequestId": { "type": "string", - "description": "Unique request reference ID." + "description": "Unique request reference identifier." } } }, @@ -490,10 +467,6 @@ "$ref": "#/definitions/ErrorList" }, "headers": { - "x-amzn-RateLimit-Limit": { - "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned.", - "type": "string" - }, "x-amzn-RequestId": { "type": "string", "description": "Unique request reference identifier." @@ -506,13 +479,9 @@ "$ref": "#/definitions/ErrorList" }, "headers": { - "x-amzn-RateLimit-Limit": { - "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned.", - "type": "string" - }, "x-amzn-RequestId": { "type": "string", - "description": "Unique request reference ID." + "description": "Unique request reference identifier." } } }, @@ -522,13 +491,9 @@ "$ref": "#/definitions/ErrorList" }, "headers": { - "x-amzn-RateLimit-Limit": { - "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned.", - "type": "string" - }, "x-amzn-RequestId": { "type": "string", - "description": "Unique request reference ID." + "description": "Unique request reference identifier." } } }, @@ -538,13 +503,9 @@ "$ref": "#/definitions/ErrorList" }, "headers": { - "x-amzn-RateLimit-Limit": { - "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned.", - "type": "string" - }, "x-amzn-RequestId": { "type": "string", - "description": "Unique request reference ID." + "description": "Unique request reference identifier." } } } @@ -578,7 +539,7 @@ }, "x-amzn-RequestId": { "type": "string", - "description": "Unique request reference ID." + "description": "Unique request reference identifier." } }, "x-amzn-api-sandbox": { @@ -607,7 +568,7 @@ }, "x-amzn-RequestId": { "type": "string", - "description": "Unique request reference ID." + "description": "Unique request reference identifier." } }, "x-amzn-api-sandbox": { @@ -639,13 +600,9 @@ "$ref": "#/definitions/ErrorList" }, "headers": { - "x-amzn-RateLimit-Limit": { - "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned.", - "type": "string" - }, "x-amzn-RequestId": { "type": "string", - "description": "Unique request reference ID." + "description": "Unique request reference identifier." } } }, @@ -657,7 +614,7 @@ "headers": { "x-amzn-RequestId": { "type": "string", - "description": "Unique request reference ID." + "description": "Unique request reference identifier." } } }, @@ -673,7 +630,7 @@ }, "x-amzn-RequestId": { "type": "string", - "description": "Unique request reference ID." + "description": "Unique request reference identifier." } } }, @@ -683,10 +640,6 @@ "$ref": "#/definitions/ErrorList" }, "headers": { - "x-amzn-RateLimit-Limit": { - "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned.", - "type": "string" - }, "x-amzn-RequestId": { "type": "string", "description": "Unique request reference identifier." @@ -699,13 +652,9 @@ "$ref": "#/definitions/ErrorList" }, "headers": { - "x-amzn-RateLimit-Limit": { - "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned.", - "type": "string" - }, "x-amzn-RequestId": { "type": "string", - "description": "Unique request reference ID." + "description": "Unique request reference identifier." } } }, @@ -715,13 +664,9 @@ "$ref": "#/definitions/ErrorList" }, "headers": { - "x-amzn-RateLimit-Limit": { - "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned.", - "type": "string" - }, "x-amzn-RequestId": { "type": "string", - "description": "Unique request reference ID." + "description": "Unique request reference identifier." } } }, @@ -731,13 +676,9 @@ "$ref": "#/definitions/ErrorList" }, "headers": { - "x-amzn-RateLimit-Limit": { - "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned.", - "type": "string" - }, "x-amzn-RequestId": { "type": "string", - "description": "Unique request reference ID." + "description": "Unique request reference identifier." } } } @@ -771,7 +712,7 @@ }, "x-amzn-RequestId": { "type": "string", - "description": "Unique request reference ID." + "description": "Unique request reference identifier." } }, "x-amzn-api-sandbox": { @@ -787,10 +728,10 @@ "response": { "feedId": "FeedId1", "feedType": "POST_PRODUCT_DATA", - "createdTime": "2019-12-11T13:16:24.630Z", + "createdTime": "2024-03-11T13:16:24.630Z", "processingStatus": "CANCELLED", - "processingStartTime": "2019-12-11T13:16:24.630Z", - "processingEndTime": "2019-12-11T13:16:24.630Z" + "processingStartTime": "2024-03-11T13:16:24.630Z", + "processingEndTime": "2024-03-11T13:16:24.630Z" } } ] @@ -808,7 +749,7 @@ }, "x-amzn-RequestId": { "type": "string", - "description": "Unique request reference ID." + "description": "Unique request reference identifier." } }, "x-amzn-api-sandbox": { @@ -840,13 +781,9 @@ "$ref": "#/definitions/ErrorList" }, "headers": { - "x-amzn-RateLimit-Limit": { - "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned.", - "type": "string" - }, "x-amzn-RequestId": { "type": "string", - "description": "Unique request reference ID." + "description": "Unique request reference identifier." } } }, @@ -858,7 +795,7 @@ "headers": { "x-amzn-RequestId": { "type": "string", - "description": "Unique request reference ID." + "description": "Unique request reference identifier." } } }, @@ -874,7 +811,7 @@ }, "x-amzn-RequestId": { "type": "string", - "description": "Unique request reference ID." + "description": "Unique request reference identifier." } } }, @@ -884,10 +821,6 @@ "$ref": "#/definitions/ErrorList" }, "headers": { - "x-amzn-RateLimit-Limit": { - "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned.", - "type": "string" - }, "x-amzn-RequestId": { "type": "string", "description": "Unique request reference identifier." @@ -900,13 +833,9 @@ "$ref": "#/definitions/ErrorList" }, "headers": { - "x-amzn-RateLimit-Limit": { - "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned.", - "type": "string" - }, "x-amzn-RequestId": { "type": "string", - "description": "Unique request reference ID." + "description": "Unique request reference identifier." } } }, @@ -916,13 +845,9 @@ "$ref": "#/definitions/ErrorList" }, "headers": { - "x-amzn-RateLimit-Limit": { - "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned.", - "type": "string" - }, "x-amzn-RequestId": { "type": "string", - "description": "Unique request reference ID." + "description": "Unique request reference identifier." } } }, @@ -932,13 +857,9 @@ "$ref": "#/definitions/ErrorList" }, "headers": { - "x-amzn-RateLimit-Limit": { - "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned.", - "type": "string" - }, "x-amzn-RequestId": { "type": "string", - "description": "Unique request reference ID." + "description": "Unique request reference identifier." } } } @@ -960,7 +881,8 @@ "required": true, "schema": { "$ref": "#/definitions/CreateFeedDocumentSpecification" - } + }, + "description": "Specifies the content type for the createFeedDocument operation." } ], "responses": { @@ -972,7 +894,7 @@ "type": "string" }, "x-amzn-RequestId": { - "description": "Unique request reference ID.", + "description": "Unique request reference identifier.", "type": "string" } }, @@ -1007,7 +929,7 @@ "type": "string" }, "x-amzn-RequestId": { - "description": "Unique request reference ID.", + "description": "Unique request reference identifier.", "type": "string" } }, @@ -1041,7 +963,7 @@ "description": "Indicates that access to the resource is forbidden. Possible reasons include Access Denied, Unauthorized, Expired Token, or Invalid Signature.", "headers": { "x-amzn-RequestId": { - "description": "Unique request reference ID.", + "description": "Unique request reference identifier.", "type": "string" } }, @@ -1057,7 +979,7 @@ "type": "string" }, "x-amzn-RequestId": { - "description": "Unique request reference ID.", + "description": "Unique request reference identifier.", "type": "string" } }, @@ -1068,12 +990,8 @@ "413": { "description": "The request size exceeded the maximum accepted size.", "headers": { - "x-amzn-RateLimit-Limit": { - "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned.", - "type": "string" - }, "x-amzn-RequestId": { - "description": "Unique request reference ID.", + "description": "Unique request reference identifier.", "type": "string" } }, @@ -1084,12 +1002,8 @@ "415": { "description": "The request payload is in an unsupported format.", "headers": { - "x-amzn-RateLimit-Limit": { - "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned.", - "type": "string" - }, "x-amzn-RequestId": { - "description": "Unique request reference ID.", + "description": "Unique request reference identifier.", "type": "string" } }, @@ -1100,12 +1014,8 @@ "429": { "description": "The frequency of requests was greater than allowed.", "headers": { - "x-amzn-RateLimit-Limit": { - "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned.", - "type": "string" - }, "x-amzn-RequestId": { - "description": "Unique request reference ID.", + "description": "Unique request reference identifier.", "type": "string" } }, @@ -1116,12 +1026,8 @@ "500": { "description": "An unexpected condition occurred that prevented the server from fulfilling the request.", "headers": { - "x-amzn-RateLimit-Limit": { - "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned.", - "type": "string" - }, "x-amzn-RequestId": { - "description": "Unique request reference ID.", + "description": "Unique request reference identifier.", "type": "string" } }, @@ -1132,12 +1038,8 @@ "503": { "description": "Temporary overloading or maintenance of the server.", "headers": { - "x-amzn-RateLimit-Limit": { - "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned.", - "type": "string" - }, "x-amzn-RequestId": { - "description": "Unique request reference ID.", + "description": "Unique request reference identifier.", "type": "string" } }, @@ -1178,7 +1080,7 @@ }, "x-amzn-RequestId": { "type": "string", - "description": "Unique request reference ID." + "description": "Unique request reference identifier." } }, "x-amzn-api-sandbox": { @@ -1211,7 +1113,7 @@ }, "x-amzn-RequestId": { "type": "string", - "description": "Unique request reference ID." + "description": "Unique request reference identifier." } }, "x-amzn-api-sandbox": { @@ -1243,13 +1145,9 @@ "$ref": "#/definitions/ErrorList" }, "headers": { - "x-amzn-RateLimit-Limit": { - "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned.", - "type": "string" - }, "x-amzn-RequestId": { "type": "string", - "description": "Unique request reference ID." + "description": "Unique request reference identifier." } } }, @@ -1261,7 +1159,7 @@ "headers": { "x-amzn-RequestId": { "type": "string", - "description": "Unique request reference ID." + "description": "Unique request reference identifier." } } }, @@ -1277,7 +1175,7 @@ }, "x-amzn-RequestId": { "type": "string", - "description": "Unique request reference ID." + "description": "Unique request reference identifier." } } }, @@ -1287,10 +1185,6 @@ "$ref": "#/definitions/ErrorList" }, "headers": { - "x-amzn-RateLimit-Limit": { - "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned.", - "type": "string" - }, "x-amzn-RequestId": { "type": "string", "description": "Unique request reference identifier." @@ -1303,13 +1197,9 @@ "$ref": "#/definitions/ErrorList" }, "headers": { - "x-amzn-RateLimit-Limit": { - "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned.", - "type": "string" - }, "x-amzn-RequestId": { "type": "string", - "description": "Unique request reference ID." + "description": "Unique request reference identifier." } } }, @@ -1319,13 +1209,9 @@ "$ref": "#/definitions/ErrorList" }, "headers": { - "x-amzn-RateLimit-Limit": { - "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned.", - "type": "string" - }, "x-amzn-RequestId": { "type": "string", - "description": "Unique request reference ID." + "description": "Unique request reference identifier." } } }, @@ -1335,13 +1221,9 @@ "$ref": "#/definitions/ErrorList" }, "headers": { - "x-amzn-RateLimit-Limit": { - "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned.", - "type": "string" - }, "x-amzn-RequestId": { "type": "string", - "description": "Unique request reference ID." + "description": "Unique request reference identifier." } } } @@ -1363,7 +1245,7 @@ }, "message": { "type": "string", - "description": "A message that describes the error condition in a human-readable form." + "description": "A message that describes the error condition." }, "details": { "type": "string", @@ -1383,7 +1265,8 @@ "type": "array", "items": { "$ref": "#/definitions/Error" - } + }, + "description": "An error response returned when the request is unsuccessful." } } }, @@ -1604,4 +1487,4 @@ } } } -} +} \ No newline at end of file From 897f751942efca4c3fe9c4a4bc470f9f296d09b1 Mon Sep 17 00:00:00 2001 From: Jack Evoniuk Date: Wed, 24 Apr 2024 11:42:31 -0700 Subject: [PATCH 057/340] Update Reports model --- .../reports-api-model/reports_2021-06-30.json | 391 +++++------------- 1 file changed, 108 insertions(+), 283 deletions(-) diff --git a/models/reports-api-model/reports_2021-06-30.json b/models/reports-api-model/reports_2021-06-30.json index b4bc54b70..6ab68f10c 100644 --- a/models/reports-api-model/reports_2021-06-30.json +++ b/models/reports-api-model/reports_2021-06-30.json @@ -30,7 +30,7 @@ "reports" ], "operationId": "getReports", - "description": "Returns report details for the reports that match the filters that you specify.\n\n**Usage Plan:**\n\n| Rate (requests per second) | Burst |\n| ---- | ---- |\n| 0.0222 | 10 |\n\nThe `x-amzn-RateLimit-Limit` response header returns the usage plan rate limits that were applied to the requested operation, when available. The table above indicates the default rate and burst values for this operation. Selling partners whose business demands require higher throughput may see higher rate and burst values than those shown here. For more information, see [Usage Plans and Rate Limits in the Selling Partner API](https://developer-docs.amazon.com/sp-api/docs/usage-plans-and-rate-limits-in-the-sp-api).", + "description": "Returns report details for the reports that match the filters that you specify.\n\n**Usage Plan:**\n\n| Rate (requests per second) | Burst |\n| ---- | ---- |\n| 0.0222 | 10 |\n\nThe `x-amzn-RateLimit-Limit` response header returns the usage plan rate limits that were applied to the requested operation, when available. The table above indicates the default rate and burst values for this operation. Selling partners whose business demands require higher throughput may see higher rate and burst values than those shown here. For more information, refer to [Usage Plans and Rate Limits in the Selling Partner API](https://developer-docs.amazon.com/sp-api/docs/usage-plans-and-rate-limits-in-the-sp-api).", "parameters": [ { "name": "reportTypes", @@ -79,7 +79,7 @@ }, { "value": "IN_QUEUE", - "description": "The report has not yet started processing. It may be waiting for another IN_PROGRESS report." + "description": "The report has not yet started processing. It may be waiting for another `IN_PROGRESS` report." } ] } @@ -109,7 +109,7 @@ { "name": "createdSince", "in": "query", - "description": "The earliest report creation date and time for reports to include in the response, in ISO 8601 date time format. The default is 90 days ago. Reports are retained for a maximum of 90 days.", + "description": "The earliest report creation date and time for reports to include in the response, in ISO 8601 date time format. The default is 90 days ago. Reports are retained for a maximum of 90 days.", "required": false, "type": "string", "format": "date-time" @@ -117,7 +117,7 @@ { "name": "createdUntil", "in": "query", - "description": "The latest report creation date and time for reports to include in the response, in ISO 8601 date time format. The default is now.", + "description": "The latest report creation date and time for reports to include in the response, in ISO 8601 date time format. The default is now.", "required": false, "type": "string", "format": "date-time" @@ -125,7 +125,7 @@ { "name": "nextToken", "in": "query", - "description": "A string token returned in the response to your previous request. nextToken is returned when the number of results exceeds the specified pageSize value. To get the next page of results, call the getReports operation and include this token as the only parameter. Specifying nextToken with any other parameters will cause the request to fail.", + "description": "A string token returned in the response to your previous request. `nextToken` is returned when the number of results exceeds the specified `pageSize` value. To get the next page of results, call the `getReports` operation and include this token as the only parameter. Specifying `nextToken` with any other parameters will cause the request to fail.", "required": false, "type": "string" } @@ -158,28 +158,28 @@ ] }, "processingStatuses": { - "value": [ - "IN_QUEUE", - "IN_PROGRESS" - ] + "value": [ + "IN_QUEUE", + "IN_PROGRESS" + ] + } } + }, + "response": { + "nextToken": "VGhpcyB0b2tlbiBpcyBvcGFxdWUgYW5kIGludGVudGlvbmFsbHkgb2JmdXNjYXRlZA==", + "reports": [ + { + "reportId": "ReportId1", + "reportType": "FEE_DISCOUNTS_REPORT", + "dataStartTime": "2024-03-11T13:47:20.677Z", + "dataEndTime": "2024-03-12T13:47:20.677Z", + "createdTime": "2024-03-10T13:47:20.677Z", + "processingStatus": "IN_PROGRESS", + "processingStartTime": "2024-03-10T13:47:20.677Z", + "processingEndTime": "2024-03-12T13:47:20.677Z" + } + ] } - }, - "response": { - "nextToken": "VGhpcyB0b2tlbiBpcyBvcGFxdWUgYW5kIGludGVudGlvbmFsbHkgb2JmdXNjYXRlZA==", - "reports": [ - { - "reportId": "ReportId1", - "reportType": "FEE_DISCOUNTS_REPORT", - "dataStartTime": "2019-12-11T13:47:20.677Z", - "dataEndTime": "2019-12-12T13:47:20.677Z", - "createdTime": "2019-12-10T13:47:20.677Z", - "processingStatus": "IN_PROGRESS", - "processingStartTime": "2019-12-10T13:47:20.677Z", - "processingEndTime": "2019-12-12T13:47:20.677Z" - } - ] - } } ] } @@ -211,13 +211,13 @@ ] }, "processingStatuses": { - "value": [ - "BAD_VALUE", - "IN_PROGRESS" - ] + "value": [ + "BAD_VALUE", + "IN_PROGRESS" + ] + } } - } - }, + }, "response": { "errors": [ { @@ -237,10 +237,6 @@ "$ref": "#/definitions/ErrorList" }, "headers": { - "x-amzn-RateLimit-Limit": { - "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned.", - "type": "string" - }, "x-amzn-RequestId": { "type": "string", "description": "Unique request reference identifier." @@ -281,10 +277,6 @@ "$ref": "#/definitions/ErrorList" }, "headers": { - "x-amzn-RateLimit-Limit": { - "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned.", - "type": "string" - }, "x-amzn-RequestId": { "type": "string", "description": "Unique request reference identifier." @@ -297,10 +289,6 @@ "$ref": "#/definitions/ErrorList" }, "headers": { - "x-amzn-RateLimit-Limit": { - "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned.", - "type": "string" - }, "x-amzn-RequestId": { "type": "string", "description": "Unique request reference identifier." @@ -313,10 +301,6 @@ "$ref": "#/definitions/ErrorList" }, "headers": { - "x-amzn-RateLimit-Limit": { - "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned.", - "type": "string" - }, "x-amzn-RequestId": { "type": "string", "description": "Unique request reference identifier." @@ -329,10 +313,6 @@ "$ref": "#/definitions/ErrorList" }, "headers": { - "x-amzn-RateLimit-Limit": { - "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned.", - "type": "string" - }, "x-amzn-RequestId": { "type": "string", "description": "Unique request reference identifier." @@ -346,7 +326,7 @@ "reports" ], "operationId": "createReport", - "description": "Creates a report.\n\n**Usage Plan:**\n\n| Rate (requests per second) | Burst |\n| ---- | ---- |\n| 0.0167 | 15 |\n\nThe `x-amzn-RateLimit-Limit` response header returns the usage plan rate limits that were applied to the requested operation, when available. The table above indicates the default rate and burst values for this operation. Selling partners whose business demands require higher throughput may see higher rate and burst values than those shown here. For more information, see [Usage Plans and Rate Limits in the Selling Partner API](https://developer-docs.amazon.com/sp-api/docs/usage-plans-and-rate-limits-in-the-sp-api).", + "description": "Creates a report.\n\n**Usage Plan:**\n\n| Rate (requests per second) | Burst |\n| ---- | ---- |\n| 0.0167 | 15 |\n\nThe `x-amzn-RateLimit-Limit` response header returns the usage plan rate limits that were applied to the requested operation, when available. The table above indicates the default rate and burst values for this operation. Selling partners whose business demands require higher throughput may see higher rate and burst values than those shown here. For more information, refer to [Usage Plans and Rate Limits in the Selling Partner API](https://developer-docs.amazon.com/sp-api/docs/usage-plans-and-rate-limits-in-the-sp-api).", "parameters": [ { "name": "body", @@ -354,7 +334,8 @@ "required": true, "schema": { "$ref": "#/definitions/CreateReportSpecification" - } + }, + "description": "Information required to create the report." } ], "responses": { @@ -381,7 +362,7 @@ "body": { "value": { "reportType": "GET_MERCHANT_LISTINGS_ALL_DATA", - "dataStartTime": "2019-12-10T20:11:24.000Z", + "dataStartTime": "2024-03-10T20:11:24.000Z", "marketplaceIds": [ "A1PA6795UKMFR9", "ATVPDKIKX0DER" @@ -420,15 +401,15 @@ "body": { "value": { "reportType": "BAD_FEE_DISCOUNTS_REPORT", - "dataStartTime": "2019-12-10T20:11:24.000Z", + "dataStartTime": "2024-03-10T20:11:24.000Z", "marketplaceIds": [ "A1PA6795UKMFR9", "ATVPDKIKX0DER" - ] + ] + } } } - } - }, + }, "response": { "errors": [ { @@ -448,10 +429,6 @@ "$ref": "#/definitions/ErrorList" }, "headers": { - "x-amzn-RateLimit-Limit": { - "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned.", - "type": "string" - }, "x-amzn-RequestId": { "type": "string", "description": "Unique request reference identifier." @@ -492,10 +469,6 @@ "$ref": "#/definitions/ErrorList" }, "headers": { - "x-amzn-RateLimit-Limit": { - "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned.", - "type": "string" - }, "x-amzn-RequestId": { "type": "string", "description": "Unique request reference identifier." @@ -508,10 +481,6 @@ "$ref": "#/definitions/ErrorList" }, "headers": { - "x-amzn-RateLimit-Limit": { - "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned.", - "type": "string" - }, "x-amzn-RequestId": { "type": "string", "description": "Unique request reference identifier." @@ -524,10 +493,6 @@ "$ref": "#/definitions/ErrorList" }, "headers": { - "x-amzn-RateLimit-Limit": { - "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned.", - "type": "string" - }, "x-amzn-RequestId": { "type": "string", "description": "Unique request reference identifier." @@ -540,10 +505,6 @@ "$ref": "#/definitions/ErrorList" }, "headers": { - "x-amzn-RateLimit-Limit": { - "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned.", - "type": "string" - }, "x-amzn-RequestId": { "type": "string", "description": "Unique request reference identifier." @@ -560,7 +521,7 @@ "reports" ], "operationId": "cancelReport", - "description": "Cancels the report that you specify. Only reports with processingStatus=IN_QUEUE can be cancelled. Cancelled reports are returned in subsequent calls to the getReport and getReports operations.\n\n**Usage Plan:**\n\n| Rate (requests per second) | Burst |\n| ---- | ---- |\n| 0.0222 | 10 |\n\nThe `x-amzn-RateLimit-Limit` response header returns the usage plan rate limits that were applied to the requested operation, when available. The table above indicates the default rate and burst values for this operation. Selling partners whose business demands require higher throughput may see higher rate and burst values than those shown here. For more information, see [Usage Plans and Rate Limits in the Selling Partner API](https://developer-docs.amazon.com/sp-api/docs/usage-plans-and-rate-limits-in-the-sp-api).", + "description": "Cancels the report that you specify. Only reports with `processingStatus=IN_QUEUE` can be cancelled. Cancelled reports are returned in subsequent calls to the `getReport` and `getReports` operations.\n\n**Usage Plan:**\n\n| Rate (requests per second) | Burst |\n| ---- | ---- |\n| 0.0222 | 10 |\n\nThe `x-amzn-RateLimit-Limit` response header returns the usage plan rate limits that were applied to the requested operation, when available. The table above indicates the default rate and burst values for this operation. Selling partners whose business demands require higher throughput may see higher rate and burst values than those shown here. For more information, refer to [Usage Plans and Rate Limits in the Selling Partner API](https://developer-docs.amazon.com/sp-api/docs/usage-plans-and-rate-limits-in-the-sp-api).", "parameters": [ { "name": "reportId", @@ -637,10 +598,6 @@ "$ref": "#/definitions/ErrorList" }, "headers": { - "x-amzn-RateLimit-Limit": { - "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned.", - "type": "string" - }, "x-amzn-RequestId": { "type": "string", "description": "Unique request reference identifier." @@ -681,10 +638,6 @@ "$ref": "#/definitions/ErrorList" }, "headers": { - "x-amzn-RateLimit-Limit": { - "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned.", - "type": "string" - }, "x-amzn-RequestId": { "type": "string", "description": "Unique request reference identifier." @@ -697,10 +650,6 @@ "$ref": "#/definitions/ErrorList" }, "headers": { - "x-amzn-RateLimit-Limit": { - "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned.", - "type": "string" - }, "x-amzn-RequestId": { "type": "string", "description": "Unique request reference identifier." @@ -713,10 +662,6 @@ "$ref": "#/definitions/ErrorList" }, "headers": { - "x-amzn-RateLimit-Limit": { - "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned.", - "type": "string" - }, "x-amzn-RequestId": { "type": "string", "description": "Unique request reference identifier." @@ -729,10 +674,6 @@ "$ref": "#/definitions/ErrorList" }, "headers": { - "x-amzn-RateLimit-Limit": { - "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned.", - "type": "string" - }, "x-amzn-RequestId": { "type": "string", "description": "Unique request reference identifier." @@ -746,7 +687,7 @@ "reports" ], "operationId": "getReport", - "description": "Returns report details (including the reportDocumentId, if available) for the report that you specify.\n\n**Usage Plan:**\n\n| Rate (requests per second) | Burst |\n| ---- | ---- |\n| 2 | 15 |\n\nThe `x-amzn-RateLimit-Limit` response header returns the usage plan rate limits that were applied to the requested operation, when available. The table above indicates the default rate and burst values for this operation. Selling partners whose business demands require higher throughput may see higher rate and burst values than those shown here. For more information, see [Usage Plans and Rate Limits in the Selling Partner API](https://developer-docs.amazon.com/sp-api/docs/usage-plans-and-rate-limits-in-the-sp-api).", + "description": "Returns report details (including the `reportDocumentId`, if available) for the report that you specify.\n\n**Usage Plan:**\n\n| Rate (requests per second) | Burst |\n| ---- | ---- |\n| 2 | 15 |\n\nThe `x-amzn-RateLimit-Limit` response header returns the usage plan rate limits that were applied to the requested operation, when available. The table above indicates the default rate and burst values for this operation. Selling partners whose business demands require higher throughput may see higher rate and burst values than those shown here. For more information, refer to [Usage Plans and Rate Limits in the Selling Partner API](https://developer-docs.amazon.com/sp-api/docs/usage-plans-and-rate-limits-in-the-sp-api).", "parameters": [ { "name": "reportId", @@ -785,12 +726,12 @@ "response": { "reportId": "ReportId1", "reportType": "FEE_DISCOUNTS_REPORT", - "dataStartTime": "2019-12-11T13:47:20.677Z", - "dataEndTime": "2019-12-12T13:47:20.677Z", - "createdTime": "2019-12-10T13:47:20.677Z", + "dataStartTime": "2024-03-11T13:47:20.677Z", + "dataEndTime": "2024-03-12T13:47:20.677Z", + "createdTime": "2024-03-10T13:47:20.677Z", "processingStatus": "IN_PROGRESS", - "processingStartTime": "2019-12-10T13:47:20.677Z", - "processingEndTime": "2019-12-12T13:47:20.677Z" + "processingStartTime": "2024-03-10T13:47:20.677Z", + "processingEndTime": "2024-03-12T13:47:20.677Z" } } ] @@ -840,10 +781,6 @@ "$ref": "#/definitions/ErrorList" }, "headers": { - "x-amzn-RateLimit-Limit": { - "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned.", - "type": "string" - }, "x-amzn-RequestId": { "type": "string", "description": "Unique request reference identifier." @@ -884,10 +821,6 @@ "$ref": "#/definitions/ErrorList" }, "headers": { - "x-amzn-RateLimit-Limit": { - "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned.", - "type": "string" - }, "x-amzn-RequestId": { "type": "string", "description": "Unique request reference identifier." @@ -900,10 +833,6 @@ "$ref": "#/definitions/ErrorList" }, "headers": { - "x-amzn-RateLimit-Limit": { - "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned.", - "type": "string" - }, "x-amzn-RequestId": { "type": "string", "description": "Unique request reference identifier." @@ -916,10 +845,6 @@ "$ref": "#/definitions/ErrorList" }, "headers": { - "x-amzn-RateLimit-Limit": { - "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned.", - "type": "string" - }, "x-amzn-RequestId": { "type": "string", "description": "Unique request reference identifier." @@ -932,10 +857,6 @@ "$ref": "#/definitions/ErrorList" }, "headers": { - "x-amzn-RateLimit-Limit": { - "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned.", - "type": "string" - }, "x-amzn-RequestId": { "type": "string", "description": "Unique request reference identifier." @@ -952,7 +873,7 @@ "reports" ], "operationId": "getReportSchedules", - "description": "Returns report schedule details that match the filters that you specify.\n\n**Usage Plan:**\n\n| Rate (requests per second) | Burst |\n| ---- | ---- |\n| 0.0222 | 10 |\n\nThe `x-amzn-RateLimit-Limit` response header returns the usage plan rate limits that were applied to the requested operation, when available. The table above indicates the default rate and burst values for this operation. Selling partners whose business demands require higher throughput may see higher rate and burst values than those shown here. For more information, see [Usage Plans and Rate Limits in the Selling Partner API](https://developer-docs.amazon.com/sp-api/docs/usage-plans-and-rate-limits-in-the-sp-api).", + "description": "Returns report schedule details that match the filters that you specify.\n\n**Usage Plan:**\n\n| Rate (requests per second) | Burst |\n| ---- | ---- |\n| 0.0222 | 10 |\n\nThe `x-amzn-RateLimit-Limit` response header returns the usage plan rate limits that were applied to the requested operation, when available. The table above indicates the default rate and burst values for this operation. Selling partners whose business demands require higher throughput may see higher rate and burst values than those shown here. For more information, refer to [Usage Plans and Rate Limits in the Selling Partner API](https://developer-docs.amazon.com/sp-api/docs/usage-plans-and-rate-limits-in-the-sp-api).", "parameters": [ { "name": "reportTypes", @@ -995,26 +916,26 @@ ] } } - }, - "response": { - "reportSchedules": [ - { - "reportType": "FEE_DISCOUNTS_REPORT", - "marketplaceIds": [ - "ATVPDKIKX0DER" - ], - "reportScheduleId": "ID1", - "period": "PT5M", - "nextReportCreationTime": "2019-12-11T15:03:44.973Z" - }, - { - "reportType": "GET_FBA_FULFILLMENT_CUSTOMER_TAXES_DATA", - "reportScheduleId": "ID2", - "period": "PT5M", - "nextReportCreationTime": "2019-12-11T15:03:44.973Z" - } - ] - } + }, + "response": { + "reportSchedules": [ + { + "reportType": "FEE_DISCOUNTS_REPORT", + "marketplaceIds": [ + "ATVPDKIKX0DER" + ], + "reportScheduleId": "ID1", + "period": "PT5M", + "nextReportCreationTime": "2024-03-11T15:03:44.973Z" + }, + { + "reportType": "GET_FBA_FULFILLMENT_CUSTOMER_TAXES_DATA", + "reportScheduleId": "ID2", + "period": "PT5M", + "nextReportCreationTime": "2024-03-11T15:03:44.973Z" + } + ] + } } ] } @@ -1046,7 +967,7 @@ ] } } - }, + }, "response": { "errors": [ { @@ -1066,10 +987,6 @@ "$ref": "#/definitions/ErrorList" }, "headers": { - "x-amzn-RateLimit-Limit": { - "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned.", - "type": "string" - }, "x-amzn-RequestId": { "type": "string", "description": "Unique request reference identifier." @@ -1110,10 +1027,6 @@ "$ref": "#/definitions/ErrorList" }, "headers": { - "x-amzn-RateLimit-Limit": { - "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned.", - "type": "string" - }, "x-amzn-RequestId": { "type": "string", "description": "Unique request reference identifier." @@ -1126,10 +1039,6 @@ "$ref": "#/definitions/ErrorList" }, "headers": { - "x-amzn-RateLimit-Limit": { - "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned.", - "type": "string" - }, "x-amzn-RequestId": { "type": "string", "description": "Unique request reference identifier." @@ -1142,10 +1051,6 @@ "$ref": "#/definitions/ErrorList" }, "headers": { - "x-amzn-RateLimit-Limit": { - "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned.", - "type": "string" - }, "x-amzn-RequestId": { "type": "string", "description": "Unique request reference identifier." @@ -1158,10 +1063,6 @@ "$ref": "#/definitions/ErrorList" }, "headers": { - "x-amzn-RateLimit-Limit": { - "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned.", - "type": "string" - }, "x-amzn-RequestId": { "type": "string", "description": "Unique request reference identifier." @@ -1175,7 +1076,7 @@ "reports" ], "operationId": "createReportSchedule", - "description": "Creates a report schedule. If a report schedule with the same report type and marketplace IDs already exists, it will be cancelled and replaced with this one.\n\n**Usage Plan:**\n\n| Rate (requests per second) | Burst |\n| ---- | ---- |\n| 0.0222 | 10 |\n\nThe `x-amzn-RateLimit-Limit` response header returns the usage plan rate limits that were applied to the requested operation, when available. The table above indicates the default rate and burst values for this operation. Selling partners whose business demands require higher throughput may see higher rate and burst values than those shown here. For more information, see [Usage Plans and Rate Limits in the Selling Partner API](https://developer-docs.amazon.com/sp-api/docs/usage-plans-and-rate-limits-in-the-sp-api).", + "description": "Creates a report schedule. If a report schedule with the same report type and marketplace IDs already exists, it will be cancelled and replaced with this one.\n\n**Usage Plan:**\n\n| Rate (requests per second) | Burst |\n| ---- | ---- |\n| 0.0222 | 10 |\n\nThe `x-amzn-RateLimit-Limit` response header returns the usage plan rate limits that were applied to the requested operation, when available. The table above indicates the default rate and burst values for this operation. Selling partners whose business demands require higher throughput may see higher rate and burst values than those shown here. For more information, refer to [Usage Plans and Rate Limits in the Selling Partner API](https://developer-docs.amazon.com/sp-api/docs/usage-plans-and-rate-limits-in-the-sp-api).", "parameters": [ { "name": "body", @@ -1183,7 +1084,8 @@ "required": true, "schema": { "$ref": "#/definitions/CreateReportScheduleSpecification" - } + }, + "description": "Information required to create the report schedule." } ], "responses": { @@ -1211,7 +1113,7 @@ "value": { "reportType": "FEE_DISCOUNTS_REPORT", "period": "PT5M", - "nextReportCreationTime": "2019-12-10T20:11:24.000Z", + "nextReportCreationTime": "2024-03-10T20:11:24.000Z", "marketplaceIds": [ "A1PA6795UKMFR9", "ATVPDKIKX0DER" @@ -1251,11 +1153,11 @@ "value": { "reportType": "BAD_FEE_DISCOUNTS_REPORT", "period": "PT5M", - "nextReportCreationTime": "2019-12-10T20:11:24.000Z" + "nextReportCreationTime": "2024-03-10T20:11:24.000Z" } } - } - }, + } + }, "response": { "errors": [ { @@ -1275,10 +1177,6 @@ "$ref": "#/definitions/ErrorList" }, "headers": { - "x-amzn-RateLimit-Limit": { - "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned.", - "type": "string" - }, "x-amzn-RequestId": { "type": "string", "description": "Unique request reference identifier." @@ -1319,10 +1217,6 @@ "$ref": "#/definitions/ErrorList" }, "headers": { - "x-amzn-RateLimit-Limit": { - "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned.", - "type": "string" - }, "x-amzn-RequestId": { "type": "string", "description": "Unique request reference identifier." @@ -1335,10 +1229,6 @@ "$ref": "#/definitions/ErrorList" }, "headers": { - "x-amzn-RateLimit-Limit": { - "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned.", - "type": "string" - }, "x-amzn-RequestId": { "type": "string", "description": "Unique request reference identifier." @@ -1351,10 +1241,6 @@ "$ref": "#/definitions/ErrorList" }, "headers": { - "x-amzn-RateLimit-Limit": { - "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned.", - "type": "string" - }, "x-amzn-RequestId": { "type": "string", "description": "Unique request reference identifier." @@ -1367,10 +1253,6 @@ "$ref": "#/definitions/ErrorList" }, "headers": { - "x-amzn-RateLimit-Limit": { - "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned.", - "type": "string" - }, "x-amzn-RequestId": { "type": "string", "description": "Unique request reference identifier." @@ -1387,7 +1269,7 @@ "reports" ], "operationId": "cancelReportSchedule", - "description": "Cancels the report schedule that you specify.\n\n**Usage Plan:**\n\n| Rate (requests per second) | Burst |\n| ---- | ---- |\n| 0.0222 | 10 |\n\nThe `x-amzn-RateLimit-Limit` response header returns the usage plan rate limits that were applied to the requested operation, when available. The table above indicates the default rate and burst values for this operation. Selling partners whose business demands require higher throughput may see higher rate and burst values than those shown here. For more information, see [Usage Plans and Rate Limits in the Selling Partner API](https://developer-docs.amazon.com/sp-api/docs/usage-plans-and-rate-limits-in-the-sp-api).", + "description": "Cancels the report schedule that you specify.\n\n**Usage Plan:**\n\n| Rate (requests per second) | Burst |\n| ---- | ---- |\n| 0.0222 | 10 |\n\nThe `x-amzn-RateLimit-Limit` response header returns the usage plan rate limits that were applied to the requested operation, when available. The table above indicates the default rate and burst values for this operation. Selling partners whose business demands require higher throughput may see higher rate and burst values than those shown here. For more information, refer to [Usage Plans and Rate Limits in the Selling Partner API](https://developer-docs.amazon.com/sp-api/docs/usage-plans-and-rate-limits-in-the-sp-api).", "parameters": [ { "name": "reportScheduleId", @@ -1464,10 +1346,6 @@ "$ref": "#/definitions/ErrorList" }, "headers": { - "x-amzn-RateLimit-Limit": { - "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned.", - "type": "string" - }, "x-amzn-RequestId": { "type": "string", "description": "Unique request reference identifier." @@ -1508,10 +1386,6 @@ "$ref": "#/definitions/ErrorList" }, "headers": { - "x-amzn-RateLimit-Limit": { - "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned.", - "type": "string" - }, "x-amzn-RequestId": { "type": "string", "description": "Unique request reference identifier." @@ -1524,10 +1398,6 @@ "$ref": "#/definitions/ErrorList" }, "headers": { - "x-amzn-RateLimit-Limit": { - "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned.", - "type": "string" - }, "x-amzn-RequestId": { "type": "string", "description": "Unique request reference identifier." @@ -1540,10 +1410,6 @@ "$ref": "#/definitions/ErrorList" }, "headers": { - "x-amzn-RateLimit-Limit": { - "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned.", - "type": "string" - }, "x-amzn-RequestId": { "type": "string", "description": "Unique request reference identifier." @@ -1556,10 +1422,6 @@ "$ref": "#/definitions/ErrorList" }, "headers": { - "x-amzn-RateLimit-Limit": { - "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned.", - "type": "string" - }, "x-amzn-RequestId": { "type": "string", "description": "Unique request reference identifier." @@ -1573,7 +1435,7 @@ "reports" ], "operationId": "getReportSchedule", - "description": "Returns report schedule details for the report schedule that you specify.\n\n**Usage Plan:**\n\n| Rate (requests per second) | Burst |\n| ---- | ---- |\n| 0.0222 | 10 |\n\nThe `x-amzn-RateLimit-Limit` response header returns the usage plan rate limits that were applied to the requested operation, when available. The table above indicates the default rate and burst values for this operation. Selling partners whose business demands require higher throughput may see higher rate and burst values than those shown here. For more information, see [Usage Plans and Rate Limits in the Selling Partner API](https://developer-docs.amazon.com/sp-api/docs/usage-plans-and-rate-limits-in-the-sp-api).", + "description": "Returns report schedule details for the report schedule that you specify.\n\n**Usage Plan:**\n\n| Rate (requests per second) | Burst |\n| ---- | ---- |\n| 0.0222 | 10 |\n\nThe `x-amzn-RateLimit-Limit` response header returns the usage plan rate limits that were applied to the requested operation, when available. The table above indicates the default rate and burst values for this operation. Selling partners whose business demands require higher throughput may see higher rate and burst values than those shown here. For more information, refer to [Usage Plans and Rate Limits in the Selling Partner API](https://developer-docs.amazon.com/sp-api/docs/usage-plans-and-rate-limits-in-the-sp-api).", "parameters": [ { "name": "reportScheduleId", @@ -1613,7 +1475,7 @@ "reportScheduleId": "ReportScheduleId1", "reportType": "FEE_DISCOUNTS_REPORT", "period": "PT5M", - "nextReportCreationTime": "2019-12-12T13:47:20.677Z" + "nextReportCreationTime": "2024-03-12T13:47:20.677Z" } } ] @@ -1663,10 +1525,6 @@ "$ref": "#/definitions/ErrorList" }, "headers": { - "x-amzn-RateLimit-Limit": { - "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned.", - "type": "string" - }, "x-amzn-RequestId": { "type": "string", "description": "Unique request reference identifier." @@ -1707,10 +1565,6 @@ "$ref": "#/definitions/ErrorList" }, "headers": { - "x-amzn-RateLimit-Limit": { - "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned.", - "type": "string" - }, "x-amzn-RequestId": { "type": "string", "description": "Unique request reference identifier." @@ -1723,10 +1577,6 @@ "$ref": "#/definitions/ErrorList" }, "headers": { - "x-amzn-RateLimit-Limit": { - "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned.", - "type": "string" - }, "x-amzn-RequestId": { "type": "string", "description": "Unique request reference identifier." @@ -1739,10 +1589,6 @@ "$ref": "#/definitions/ErrorList" }, "headers": { - "x-amzn-RateLimit-Limit": { - "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned.", - "type": "string" - }, "x-amzn-RequestId": { "type": "string", "description": "Unique request reference identifier." @@ -1755,10 +1601,6 @@ "$ref": "#/definitions/ErrorList" }, "headers": { - "x-amzn-RateLimit-Limit": { - "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned.", - "type": "string" - }, "x-amzn-RequestId": { "type": "string", "description": "Unique request reference identifier." @@ -1774,7 +1616,7 @@ "tags": [ "reports" ], - "description": "Returns the information required for retrieving a report document's contents.\n\n**Usage Plan:**\n\n| Rate (requests per second) | Burst |\n| ---- | ---- |\n| 0.0167 | 15 |\n\nThe `x-amzn-RateLimit-Limit` response header returns the usage plan rate limits that were applied to the requested operation, when available. The table above indicates the default rate and burst values for this operation. Selling partners whose business demands require higher throughput may see higher rate and burst values than those shown here. For more information, see [Usage Plans and Rate Limits in the Selling Partner API](https://developer-docs.amazon.com/sp-api/docs/usage-plans-and-rate-limits-in-the-sp-api).", + "description": "Returns the information required for retrieving a report document's contents.\n\n**Usage Plan:**\n\n| Rate (requests per second) | Burst |\n| ---- | ---- |\n| 0.0167 | 15 |\n\nThe `x-amzn-RateLimit-Limit` response header returns the usage plan rate limits that were applied to the requested operation, when available. The table above indicates the default rate and burst values for this operation. Selling partners whose business demands require higher throughput may see higher rate and burst values than those shown here. For more information, refer to [Usage Plans and Rate Limits in the Selling Partner API](https://developer-docs.amazon.com/sp-api/docs/usage-plans-and-rate-limits-in-the-sp-api).", "operationId": "getReportDocument", "parameters": [ { @@ -1798,7 +1640,7 @@ }, "x-amzn-RequestId": { "type": "string", - "description": "Unique request reference ID." + "description": "Unique request reference identifier." } }, "x-amzn-api-sandbox": { @@ -1831,7 +1673,7 @@ }, "x-amzn-RequestId": { "type": "string", - "description": "Unique request reference ID." + "description": "Unique request reference identifier." } }, "x-amzn-api-sandbox": { @@ -1863,13 +1705,9 @@ "$ref": "#/definitions/ErrorList" }, "headers": { - "x-amzn-RateLimit-Limit": { - "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned.", - "type": "string" - }, "x-amzn-RequestId": { "type": "string", - "description": "Unique request reference ID." + "description": "Unique request reference identifier." } } }, @@ -1881,7 +1719,7 @@ "headers": { "x-amzn-RequestId": { "type": "string", - "description": "Unique request reference ID." + "description": "Unique request reference identifier." } } }, @@ -1897,7 +1735,7 @@ }, "x-amzn-RequestId": { "type": "string", - "description": "Unique request reference ID." + "description": "Unique request reference identifier." } } }, @@ -1907,10 +1745,6 @@ "$ref": "#/definitions/ErrorList" }, "headers": { - "x-amzn-RateLimit-Limit": { - "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned.", - "type": "string" - }, "x-amzn-RequestId": { "type": "string", "description": "Unique request reference identifier." @@ -1923,13 +1757,9 @@ "$ref": "#/definitions/ErrorList" }, "headers": { - "x-amzn-RateLimit-Limit": { - "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned.", - "type": "string" - }, "x-amzn-RequestId": { "type": "string", - "description": "Unique request reference ID." + "description": "Unique request reference identifier." } } }, @@ -1939,13 +1769,9 @@ "$ref": "#/definitions/ErrorList" }, "headers": { - "x-amzn-RateLimit-Limit": { - "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned.", - "type": "string" - }, "x-amzn-RequestId": { "type": "string", - "description": "Unique request reference ID." + "description": "Unique request reference identifier." } } }, @@ -1955,13 +1781,9 @@ "$ref": "#/definitions/ErrorList" }, "headers": { - "x-amzn-RateLimit-Limit": { - "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned.", - "type": "string" - }, "x-amzn-RequestId": { "type": "string", - "description": "Unique request reference ID." + "description": "Unique request reference identifier." } } } @@ -1981,7 +1803,8 @@ "type": "array", "items": { "$ref": "#/definitions/Error" - } + }, + "description": "Error response returned when the request is unsuccessful." } } }, @@ -1998,7 +1821,7 @@ }, "message": { "type": "string", - "description": "A message that describes the error condition in a human-readable form." + "description": "A message that describes the error condition." }, "details": { "type": "string", @@ -2080,22 +1903,22 @@ }, { "value": "IN_QUEUE", - "description": "The report has not yet started processing. It may be waiting for another IN_PROGRESS report." + "description": "The report has not yet started processing. It may be waiting for another `IN_PROGRESS` report." } ] }, "processingStartTime": { - "description": "The date and time when the report processing started, in ISO 8601 date time format.", + "description": "The date and time when the report processing started, in ISO 8601 date time format.", "type": "string", "format": "date-time" }, "processingEndTime": { - "description": "The date and time when the report processing completed, in ISO 8601 date time format.", + "description": "The date and time when the report processing completed, in ISO 8601 date time format.", "type": "string", "format": "date-time" }, "reportDocumentId": { - "description": "The identifier for the report document. Pass this into the getReportDocument operation to get the information you will need to retrieve the report document's contents.", + "description": "The identifier for the report document. Pass this into the `getReportDocument` operation to get the information you will need to retrieve the report document's contents.", "type": "string" } } @@ -2109,6 +1932,7 @@ }, "CreateReportScheduleSpecification": { "type": "object", + "description": "Information required to create the report schedule.", "required": [ "marketplaceIds", "period", @@ -2132,7 +1956,7 @@ "$ref": "#/definitions/ReportOptions" }, "period": { - "description": "One of a set of predefined ISO 8601 periods that specifies how often a report should be created.", + "description": "One of a set of predefined ISO 8601 periods that specifies how often a report should be created.", "type": "string", "enum": [ "PT5M", @@ -2230,7 +2054,7 @@ ] }, "nextReportCreationTime": { - "description": "The date and time when the schedule will create its next report, in ISO 8601 date time format.", + "description": "The date and time when the schedule will create its next report, in ISO 8601 date time format.", "type": "string", "format": "date-time" } @@ -2252,12 +2076,12 @@ "type": "string" }, "dataStartTime": { - "description": "The start of a date and time range, in ISO 8601 date time format, used for selecting the data to report. The default is now. The value must be prior to or equal to the current date and time. Not all report types make use of this.", + "description": "The start of a date and time range, in ISO 8601 date time format, used for selecting the data to report. The default is now. The value must be prior to or equal to the current date and time. Not all report types make use of this.", "type": "string", "format": "date-time" }, "dataEndTime": { - "description": "The end of a date and time range, in ISO 8601 date time format, used for selecting the data to report. The default is now. The value must be prior to or equal to the current date and time. Not all report types make use of this.", + "description": "The end of a date and time range, in ISO 8601 date time format, used for selecting the data to report. The default is now. The value must be prior to or equal to the current date and time. Not all report types make use of this.", "type": "string", "format": "date-time" }, @@ -2307,11 +2131,11 @@ "$ref": "#/definitions/ReportOptions" }, "period": { - "description": "An ISO 8601 period value that indicates how often a report should be created.", + "description": "An ISO 8601 period value that indicates how often a report should be created.", "type": "string" }, "nextReportCreationTime": { - "description": "The date and time when the schedule will create its next report, in ISO 8601 date time format.", + "description": "The date and time when the schedule will create its next report, in ISO 8601 date time format.", "type": "string", "format": "date-time" } @@ -2328,13 +2152,14 @@ "type": "array", "items": { "$ref": "#/definitions/ReportSchedule" - } + }, + "description": "Detailed information about a report schedule." } } }, "CreateReportResponse": { "type": "object", - "description": "Response schema.", + "description": "The response schema.", "required": [ "reportId" ], @@ -2356,11 +2181,11 @@ "$ref": "#/definitions/ReportList" }, "nextToken": { - "description": "Returned when the number of results exceeds pageSize. To get the next page of results, call getReports with this token as the only parameter.", + "description": "Returned when the number of results exceeds `pageSize`. To get the next page of results, call `getReports` with this token as the only parameter.", "type": "string" } }, - "description": "The response for the getReports operation." + "description": "The response for the `getReports` operation." }, "CreateReportScheduleResponse": { "type": "object", @@ -2392,7 +2217,7 @@ "type": "string" }, "compressionAlgorithm": { - "description": "If the report document contents have been compressed, the compression algorithm used is returned in this property and you must decompress the report when you download. Otherwise, you can download the report directly. Refer to [Step 2. Download the report](doc:reports-api-v2021-06-30-retrieve-a-report#step-2-download-the-report) in the use case guide, where sample code is provided.", + "description": "If the report document contents have been compressed, the compression algorithm used is returned in this property and you must decompress the report when you download. Otherwise, you can download the report directly. Refer to [Step 2. Download the report](https://developer-docs.amazon.com/sp-api/docs/reports-api-v2021-06-30-retrieve-a-report#step-2-download-the-report) in the use case guide, where sample code is provided.", "type": "string", "enum": [ "GZIP" @@ -2408,4 +2233,4 @@ } }, "basePath": "/" -} +} \ No newline at end of file From 4536089b1d68a5d51f8f3dc908e390e3a0d83a6a Mon Sep 17 00:00:00 2001 From: Jack Evoniuk Date: Wed, 24 Apr 2024 11:53:03 -0700 Subject: [PATCH 058/340] Update Vendor report schemas --- schemas/reports/vendorForecastingReport.json | 13 ++++++++++++- schemas/reports/vendorInventoryReport.json | 18 +++++++++++++++--- .../vendorNetPureProductMarginReport.json | 13 ++++++++++++- schemas/reports/vendorSalesReport.json | 15 ++++++++++++++- schemas/reports/vendorTrafficReport.json | 13 ++++++++++++- 5 files changed, 65 insertions(+), 7 deletions(-) diff --git a/schemas/reports/vendorForecastingReport.json b/schemas/reports/vendorForecastingReport.json index b685a22e8..9b4c4a360 100644 --- a/schemas/reports/vendorForecastingReport.json +++ b/schemas/reports/vendorForecastingReport.json @@ -9,6 +9,7 @@ "reportOptions": { "sellingProgram": "RETAIL" }, + "lastUpdatedDate": "2021-06-20", "marketplaceIds": [ "ATVPDKIKX0DER" ] @@ -268,13 +269,14 @@ "properties": { "reportSpecification": { "type": "object", - "description": "Report input summary which includes the marketplace and selling program.", + "description": "The report input summary which includes the marketplace, selling program, and last updated date.", "examples": [ { "reportType": "GET_VENDOR_FORECASTING_REPORT", "reportOptions": { "sellingProgram": "RETAIL" }, + "lastUpdatedDate": "2021-06-20", "marketplaceIds": [ "ATVPDKIKX0DER" ] @@ -283,6 +285,7 @@ "required": [ "reportType", "reportOptions", + "lastUpdatedDate", "marketplaceIds" ], "properties": { @@ -315,6 +318,14 @@ } } }, + "lastUpdatedDate": { + "type": "string", + "format": "date", + "description": "The date when the report was last updated. Follows the ISO 8601 Date format of YYYY-MM-DD.", + "examples": [ + "2021-06-20" + ] + }, "marketplaceIds": { "type": "array", "description": "This parameter must match the marketplaceId of the selling partner account. Each selling partner account belongs to only one marketplaceId.", diff --git a/schemas/reports/vendorInventoryReport.json b/schemas/reports/vendorInventoryReport.json index 4cb37e519..04f281a4c 100644 --- a/schemas/reports/vendorInventoryReport.json +++ b/schemas/reports/vendorInventoryReport.json @@ -1,7 +1,7 @@ { "$schema": "http://json-schema.org/draft-07/schema", "type": "object", - "description": "This report shares inventory data of a vendor's items both at an aggregated level (across the vendor's entire catalog of items) and at a per-ASIN level. Data is available at different date range aggregation levels: WEEK, MONTH, QUARTER, YEAR. Requests can span multiple date range periods. For example, if the customer specified reportPeriod=WEEK and a dataStartTime and dataEndTime that are 3 weeks apart, the report would contain data for each of those 3 contiguous weeks.", + "description": "This report shares inventory data of a vendor's items both at an aggregated level (across the vendor's entire catalog of items) and at a per-ASIN level. Data is available at different date range aggregation levels: DAY, WEEK, MONTH, QUARTER, YEAR. Requests can span multiple date range periods. For example, if the customer specified reportPeriod=WEEK and a dataStartTime and dataEndTime that are 3 weeks apart, the report would contain data for each of those 3 contiguous weeks.", "examples": [ { "reportSpecification": { @@ -11,6 +11,7 @@ "sellingProgram": "RETAIL", "distributorView": "MANUFACTURING" }, + "lastUpdatedDate": "2021-06-20", "dataStartTime": "2021-06-06", "dataEndTime": "2021-06-19", "marketplaceIds": [ @@ -257,7 +258,7 @@ "properties": { "reportSpecification": { "type": "object", - "description": "Report summary including a reporting date range, distributor view, and selling program in the input.", + "description": "The report summary including a reporting date range, distributor view, selling program, and last updated date in the input.", "examples": [ { "reportType": "GET_VENDOR_INVENTORY_REPORT", @@ -266,6 +267,7 @@ "reportPeriod": "WEEK", "sellingProgram": "RETAIL" }, + "lastUpdatedDate": "2021-06-20", "dataStartTime": "2021-06-06", "dataEndTime": "2021-06-19", "marketplaceIds": [ @@ -276,6 +278,7 @@ "required": [ "reportType", "reportOptions", + "lastUpdatedDate", "dataStartTime", "dataEndTime", "marketplaceIds" @@ -314,8 +317,9 @@ }, "reportPeriod": { "type": "string", - "description": "Determines what granularity of data is expected in the report. Valid values are: WEEK, MONTH, QUARTER, YEAR.", + "description": "Determines what granularity of data is expected in the report. Valid values are: DAY, WEEK, MONTH, QUARTER, YEAR.", "enum": [ + "DAY", "WEEK", "MONTH", "QUARTER", @@ -332,6 +336,14 @@ } } }, + "lastUpdatedDate": { + "type": "string", + "format": "date", + "description": "The date when the report was last updated. Follows the ISO 8601 Date format of YYYY-MM-DD.", + "examples": [ + "2021-06-20" + ] + }, "dataStartTime": { "type": "string", "format": "date", diff --git a/schemas/reports/vendorNetPureProductMarginReport.json b/schemas/reports/vendorNetPureProductMarginReport.json index 208f6a3a9..dfb9efd45 100644 --- a/schemas/reports/vendorNetPureProductMarginReport.json +++ b/schemas/reports/vendorNetPureProductMarginReport.json @@ -9,6 +9,7 @@ "reportOptions": { "reportPeriod": "WEEK" }, + "lastUpdatedDate": "2021-06-20", "dataStartTime": "2021-06-06", "dataEndTime": "2021-06-19", "marketplaceIds": [ @@ -63,13 +64,14 @@ "properties": { "reportSpecification": { "type": "object", - "description": "Summarizes the original report request.", + "description": "The report summary including the specified reporting date range and the last updated date in the input.", "examples": [ { "reportType": "GET_VENDOR_NET_PURE_PRODUCT_MARGIN_REPORT", "reportOptions": { "reportPeriod": "WEEK" }, + "lastUpdatedDate": "2021-06-20", "dataStartTime": "2021-06-06", "dataEndTime": "2021-06-19", "marketplaceIds": [ @@ -80,6 +82,7 @@ "required": [ "reportType", "reportOptions", + "lastUpdatedDate", "dataStartTime", "dataEndTime", "marketplaceIds" @@ -112,6 +115,14 @@ } } }, + "lastUpdatedDate": { + "type": "string", + "format": "date", + "description": "The date when the report was last updated. Follows the ISO 8601 Date format of YYYY-MM-DD.", + "examples": [ + "2021-06-20" + ] + }, "dataStartTime": { "type": "string", "format": "date", diff --git a/schemas/reports/vendorSalesReport.json b/schemas/reports/vendorSalesReport.json index 87f0ebf53..e6bd1bc04 100644 --- a/schemas/reports/vendorSalesReport.json +++ b/schemas/reports/vendorSalesReport.json @@ -11,6 +11,7 @@ "reportPeriod": "WEEK", "sellingProgram": "RETAIL" }, + "lastUpdatedDate": "2021-06-20", "dataStartTime": "2021-06-06", "dataEndTime": "2021-06-19", "marketplaceIds": [ @@ -148,6 +149,7 @@ "reportPeriod": "WEEK", "sellingProgram": "FRESH" }, + "lastUpdatedDate": "2021-06-20", "dataStartTime": "2021-06-06", "dataEndTime": "2021-06-19", "marketplaceIds": [ @@ -204,6 +206,7 @@ "reportPeriod": "WEEK", "sellingProgram": "RETAIL" }, + "lastUpdatedDate": "2021-06-20", "dataStartTime": "2021-06-06", "dataEndTime": "2021-06-12", "marketplaceIds": [ @@ -268,7 +271,7 @@ "properties": { "reportSpecification": { "type": "object", - "description": "Report summary including reporting date range, distributor view, and selling program in the input.", + "description": "The report summary including reporting date range, distributor view, selling program, and last updated date in the input.", "examples": [ { "reportType": "GET_VENDOR_SALES_REPORT", @@ -277,6 +280,7 @@ "reportPeriod": "WEEK", "sellingProgram": "RETAIL" }, + "lastUpdatedDate": "2021-06-20", "dataStartTime": "2021-06-06", "dataEndTime": "2021-06-19", "marketplaceIds": [ @@ -287,6 +291,7 @@ "required": [ "reportType", "reportOptions", + "lastUpdatedDate", "dataStartTime", "dataEndTime", "marketplaceIds" @@ -345,6 +350,14 @@ } } }, + "lastUpdatedDate": { + "type": "string", + "format": "date", + "description": "The date when the report was last updated. Follows the ISO 8601 Date format of YYYY-MM-DD.", + "examples": [ + "2021-06-20" + ] + }, "dataStartTime": { "type": "string", "format": "date", diff --git a/schemas/reports/vendorTrafficReport.json b/schemas/reports/vendorTrafficReport.json index 60fd4d5e1..522b3c94f 100644 --- a/schemas/reports/vendorTrafficReport.json +++ b/schemas/reports/vendorTrafficReport.json @@ -9,6 +9,7 @@ "reportOptions": { "reportPeriod": "WEEK" }, + "lastUpdatedDate": "2021-06-20", "dataStartTime": "2021-06-06", "dataEndTime": "2021-06-19", "marketplaceIds": [ @@ -51,13 +52,14 @@ "properties": { "reportSpecification": { "type": "object", - "description": "Report summary including the specified reporting date range in the input.", + "description": "The report summary including the specified reporting date range and the last updated date in the input.", "examples": [ { "reportType": "GET_VENDOR_TRAFFIC_REPORT", "reportOptions": { "reportPeriod": "WEEK" }, + "lastUpdatedDate": "2021-06-20", "dataStartTime": "2021-06-06", "dataEndTime": "2021-06-19", "marketplaceIds": [ @@ -68,6 +70,7 @@ "required": [ "reportType", "reportOptions", + "lastUpdatedDate", "dataStartTime", "dataEndTime", "marketplaceIds" @@ -105,6 +108,14 @@ } } }, + "lastUpdatedDate": { + "type": "string", + "format": "date", + "description": "The date when the report was last updated. Follows the ISO 8601 date format of YYYY-MM-DD.", + "examples": [ + "2021-06-20" + ] + }, "dataStartTime": { "type": "string", "format": "date", From 15ca9f96b324d9bd4b74b132b41ee79220512391 Mon Sep 17 00:00:00 2001 From: Jack Evoniuk Date: Wed, 24 Apr 2024 13:56:48 -0700 Subject: [PATCH 059/340] Update Sales and Traffic 2024 schema --- ...alytics_salesAndTraffic_2024_04_24.graphql | 867 +++++++++--------- 1 file changed, 408 insertions(+), 459 deletions(-) diff --git a/schemas/data-kiosk/analytics_salesAndTraffic_2024_04_24.graphql b/schemas/data-kiosk/analytics_salesAndTraffic_2024_04_24.graphql index 691307c99..597668d4b 100644 --- a/schemas/data-kiosk/analytics_salesAndTraffic_2024_04_24.graphql +++ b/schemas/data-kiosk/analytics_salesAndTraffic_2024_04_24.graphql @@ -1,625 +1,574 @@ -""" -A Scalar for the primitive long type. -""" -scalar Long -""" -An RFC-3339 compliant Full Date Scalar. Example: "2023-11-15" -""" -scalar Date - -extend type Query - @domainResolver( - sdpInstanceType: "amzn1.sdp.1.type.1.DataKiosk.Domain.Analytics_SalesAndTraffic_2024_04_24" - ) { - """ - Analytics Sales and Traffic queries version 2024_04_24. - """ - analytics_salesAndTraffic_2024_04_24: Analytics_SalesAndTraffic_2024_04_24 +schema { + query: Query } """ -A root type for Analytics Sales and Traffic queries version 2024_04_24. +This directive specifies the retention duration of a query containing a +particular field. When a query contains multiple fields with different +retentions, the shortest (minimum) retention is applied to the query. The +retention of a query's resulting documents always matches the retention of the query. """ -type Analytics_SalesAndTraffic_2024_04_24 { - """ - A query to retrieve sales and traffic data for the seller's account aggregated by date. - """ - salesAndTrafficByDate( - """ - The start date of the sales and traffic data to retrieve. The start date must be no more than two years ago. If the provided start date occurs mid-week or mid-month, the following Sunday for WEEK date granularity or the first day of the next month for MONTH date granularity will be used instead. - """ - startDate: Date! - - """ - The end date of the sales and traffic data to retrieve. If the provided end date occurs mid-week or mid-month, the preceding Saturday for WEEK date granularity or the last day of the previous month for MONTH date granularity will be used instead. - """ - endDate: Date! +directive @resultRetention( + "An ISO 8601 duration." + duration: String! + ) on FIELD_DEFINITION - """ - The marketplace identifiers to retrieve sales and traffic data for. - """ - marketplaceIds: [String!]! - - """ - Determines how the sales and traffic data should be aggregated. - """ - aggregateBy: DateGranularity! - ): [SalesAndTrafficByDate] @supportedAccountTypes(types: [MERCHANT]) +"Monetary amount with the corresponding currency code." +type Amount { + "The amount." + amount: Float! + "Currency code of the amount in ISO 4217 format." + currencyCode: String! +} - """ - A query to retrieve sales and traffic data for the seller's account aggregated by ASIN. - """ +"A root type for Analytics Sales and Traffic queries version 2024_04_24." +type Analytics_SalesAndTraffic_2024_04_24 { + "A query to retrieve sales and traffic data for the seller's account aggregated by ASIN." salesAndTrafficByAsin( + "Determines how the sales and traffic data should be aggregated." + aggregateBy: AsinGranularity!, """ - The start date of the sales and traffic data to retrieve. The start date must be no more than two years ago. If a date granularity is specified and the provided start date occurs mid-week or mid-month, the following Sunday for WEEK date granularity or the first day of the next month for MONTH date granularity will be used instead. + The end date of the sales and traffic data to retrieve. If a date + granularity is specified and the provided end date occurs mid-week or + mid-month, the preceding Saturday for WEEK date granularity or the last day + of the previous month for MONTH date granularity will be used instead. """ - startDate: Date! - + endDate: Date!, + "The marketplace identifiers to retrieve sales and traffic data for." + marketplaceIds: [String!]!, """ - The end date of the sales and traffic data to retrieve. If a date granularity is specified and the provided end date occurs mid-week or mid-month, the preceding Saturday for WEEK date granularity or the last day of the previous month for MONTH date granularity will be used instead. + The start date of the sales and traffic data to retrieve. The start date + must be no more than two years ago. If a date granularity is specified and + the provided start date occurs mid-week or mid-month, the following Sunday + for WEEK date granularity or the first day of the next month for MONTH date + granularity will be used instead. """ - endDate: Date! - + startDate: Date! + ): [SalesAndTrafficByAsin] + "A query to retrieve sales and traffic data for the seller's account aggregated by date." + salesAndTrafficByDate( + "Determines how the sales and traffic data should be aggregated." + aggregateBy: DateGranularity!, """ - The marketplace identifiers to retrieve sales and traffic data for. + The end date of the sales and traffic data to retrieve. If the provided end + date occurs mid-week or mid-month, the preceding Saturday for WEEK date + granularity or the last day of the previous month for MONTH date granularity + will be used instead. """ - marketplaceIds: [String!]! - + endDate: Date!, + "The marketplace identifiers to retrieve sales and traffic data for." + marketplaceIds: [String!]!, """ - Determines how the sales and traffic data should be aggregated. + The start date of the sales and traffic data to retrieve. The start date + must be no more than two years ago. If the provided start date occurs + mid-week or mid-month, the following Sunday for WEEK date granularity or the + first day of the next month for MONTH date granularity will be used instead. """ - aggregateBy: AsinGranularity! - ): [SalesAndTrafficByAsin] @supportedAccountTypes(types: [MERCHANT]) + startDate: Date! + ): [SalesAndTrafficByDate] } -""" -The sales and traffic data for the seller's account aggregated by date. -""" -type SalesAndTrafficByDate { +"The sales data for the seller's account aggregated by ASIN." +type ByAsinSales { """ - The marketplace identifier of the sales and traffic data. + The amount of ordered product sales, calculated by multiplying the price of + products and the number of units sold for the selected time period. """ - marketplaceId: String! - @paamRights(require: ["analytics_sales_and_traffic_view_pa"]) - @resultRetention(duration: "P30D") - + orderedProductSales: Amount! @resultRetention(duration : "P30D") """ - The start date of the sales and traffic data. + The amount of ordered product sales to Amazon Business customers, calculated + by multiplying the price of products and the number of units sold for the + selected time period. Note: This field is only populated when the seller is a B2B seller. """ - startDate: Date! - @paamRights(require: ["analytics_sales_and_traffic_view_pa"]) - @resultRetention(duration: "P30D") - + orderedProductSalesB2B: Amount @resultRetention(duration : "P30D") + "The number of items that were ordered for the selected time period." + totalOrderItems: Long! @resultRetention(duration : "P30D") """ - The end date of the sales and traffic data. + The number of items that were ordered by Amazon Business customers for the + selected time period. Note: This field is only populated when the seller is a B2B seller. """ - endDate: Date! - @paamRights(require: ["analytics_sales_and_traffic_view_pa"]) - @resultRetention(duration: "P30D") - + totalOrderItemsB2B: Long @resultRetention(duration : "P30D") + "The number of units ordered." + unitsOrdered: Long! @resultRetention(duration : "P30D") """ - The sales data for the seller's account. + The number of units ordered by Amazon Business customers. Note: This field is + only populated when the seller is a B2B seller. """ - sales: ByDateSales! - @paamRights(require: ["analytics_sales_and_traffic_view_pa"]) - - """ - The traffic data for the seller's account. - """ - traffic: ByDateTraffic! - @paamRights(require: ["analytics_sales_and_traffic_view_pa"]) + unitsOrderedB2B: Long @resultRetention(duration : "P30D") } -""" -The sales data for the seller's account aggregated by date. -""" -type ByDateSales { - """ - The amount of ordered product sales, calculated by multiplying the price of products and the number of units sold for the selected time period. - """ - orderedProductSales: Amount! @resultRetention(duration: "P30D") - - """ - The amount of ordered product sales to Amazon Business customers, calculated by multiplying the price of products and the number of units sold for the selected time period. - """ - orderedProductSalesB2B: Amount @resultRetention(duration: "P30D") - - """ - The number of units ordered for the selected time period. Example: For an order containing 2 copies of book A and 3 copies of book B, the number of orders is 1, the number of order items is 2 (book A and book B), and the number of units is 5 (2 + 3). - """ - unitsOrdered: Long! @resultRetention(duration: "P30D") - - """ - The number of units ordered by Amazon Business customers for the selected time period. Example: For an order containing 2 copies of book A and 3 copies of book B, the number of orders is 1, the number of order items is 2 (book A and book B), and the number of units is 5 (2 + 3). - """ - unitsOrderedB2B: Long @resultRetention(duration: "P30D") - - """ - The number of items that were ordered for the selected time period. Example: For an order containing 2 copies of book A and 3 copies of book B, the number of orders is 1, the number of order items is 2 (book A and book B), and the number of units is 5 (2 + 3). - """ - totalOrderItems: Long! @resultRetention(duration: "P30D") - - """ - The number of items that were ordered by Amazon Business customers for the selected time period. Example: For an order containing 2 copies of book A and 3 copies of book B, the number of orders is 1, the number of order items is 2 (book A and book B), and the number of units is 5 (2 + 3). - """ - totalOrderItemsB2B: Long @resultRetention(duration: "P30D") - - """ - The average ordered product sales, calculated by dividing orderedProductSales by totalOrderItems for the selected time period. - """ - averageSalesPerOrderItem: Amount! @resultRetention(duration: "P30D") - - """ - The average ordered product sales to Amazon Business customers, calculated by dividing orderedProductSalesB2B by totalOrderItemsB2B for the selected time period. Note: This field is only populated when the seller is a B2B seller. - """ - averageSalesPerOrderItemB2B: Amount @resultRetention(duration: "P30D") - - """ - The average number of units in each order item for the selected time period. - """ - averageUnitsPerOrderItem: Float! @resultRetention(duration: "P30D") - - """ - The average number of units in each order item ordered by Amazon Business customers for the selected time period. Note: This field is only populated when the seller is a B2B seller. - """ - averageUnitsPerOrderItemB2B: Float @resultRetention(duration: "P30D") - - """ - The average price of the units sold in the selected time period, calculated by dividing the orderedProductSales by unitsOrdered for the selected time period. - """ - averageSellingPrice: Amount! @resultRetention(duration: "P30D") - - """ - The average price of the units sold to Amazon Business customers, calculated by dividing the orderedProductSalesB2B by unitsOrderedB2B for the selected time period. Note: This field is only populated when the seller is a B2B seller. - """ - averageSellingPriceB2B: Amount @resultRetention(duration: "P30D") - - """ - The number of units refunded in the selected time period. - """ - unitsRefunded: Long! @resultRetention(duration: "P30D") - +"The traffic data for the seller's account aggregated by ASIN." +type ByAsinTraffic { + "Browser page views are the number of times a user visited your Amazon.com browser pages for the selected time period." + browserPageViews: Long! @resultRetention(duration : "P30D") """ - The percentage conversion metric indicating how many orders were refunded by the seller, calculated by dividing unitsOrdered by unitsRefunded in the selected time period. + Browser B2B page views are the number of times an Amazon Business customer + visited your Amazon.com browser pages for the selected time period. Note: This + field is only populated when the seller is a B2B seller. """ - refundRate: Float! @resultRetention(duration: "P30D") - + browserPageViewsB2B: Long @resultRetention(duration : "P30D") """ - The number of A-to-z guarantee claims granted. + The percentage of browser page views that a particular SKU/ASIN receives + relative to the total number of browser page views for all products. """ - claimsGranted: Long! @resultRetention(duration: "P30D") - + browserPageViewsPercentage: Float! @resultRetention(duration : "P30D") """ - Monetary amount of filed A-to-z guarantee claims. + The percentage of browser views by Amazon Business customers that a particular + SKU/ASIN receives relative to the total number of mobile page views by Amazon + Business customers for all products. Note: This field is only populated when + the seller is a B2B seller. """ - claimsAmount: Amount! @resultRetention(duration: "P30D") - + browserPageViewsPercentageB2B: Float @resultRetention(duration : "P30D") """ - The amount of ordered product sales shipped for the selected time period. + The percentage of browser sessions that contain at least one page view for a + particular SKU/ASIN relative to the total number of browser sessions for all products. """ - shippedProductSales: Amount! @resultRetention(duration: "P30D") - + browserSessionPercentage: Float! @resultRetention(duration : "P30D") """ - The number of units shipped in the selected time period. + The percentage of browser sessions that contain at least one page view by an + Amazon Business customer for a particular SKU/ASIN relative to the total + number of browser sessions by Amazon Business customers for all products. + Note: This field is only populated when the seller is a B2B seller. """ - unitsShipped: Long! @resultRetention(duration: "P30D") - + browserSessionPercentageB2B: Float @resultRetention(duration : "P30D") """ - The number of orders shipped in the selected time period. + Browser sessions are visits to your Amazon.com browser pages by a user. All + browser activity within a 24-hour period is considered a browser session. For + example, if a user visits your pages using a browser multiple times within a + 24 hour period it is counted as a single browser session. """ - ordersShipped: Long! @resultRetention(duration: "P30D") -} - -""" -The traffic data for the seller's account aggregated by date. -""" -type ByDateTraffic { + browserSessions: Long! @resultRetention(duration : "P30D") """ - Browser sessions are visits to your Amazon.com browser pages by a user. All browser activity within a 24-hour period is considered a browser session. For example, if a user visits your pages using a browser multiple times within a 24 hour period it is counted as a single browser session. + Browser B2B sessions are visits to your Amazon.com browser pages by an Amazon + Business customer. All activity within a 24-hour period is considered a + browser session. For example, if an Amazon Business customer visits your pages + using browser multiple times within a 24 hour period it is counted as a single + session. Note: This field is only populated when the seller is a B2B seller. """ - browserSessions: Long! @resultRetention(duration: "P30D") - + browserSessionsB2B: Long @resultRetention(duration : "P30D") """ - Browser B2B sessions are visits to your Amazon.com browser pages by an Amazon Business customer. All activity within a 24-hour period is considered a browser session. For example, if an Amazon Business customer visits your pages using browser multiple times within a 24 hour period it is counted as a single session. Note: This field is only populated when the seller is a B2B seller. + The percentage of page views where the buy box (the add to shopping cart link) + appeared on the page for customers to add your product to their cart. """ - browserSessionsB2B: Long @resultRetention(duration: "P30D") - + buyBoxPercentage: Float! @resultRetention(duration : "P30D") """ - Mobile app sessions are visits to your Amazon.com mobile app pages by a user. All mobile app activity within a 24-hour period is considered a mobile app session. For example, if a user visits your pages using a mobile app multiple times within a 24 hour period it is counted as a single mobile app session. + The percentage of page views by Amazon Business customers where the buy box + (the add to shopping cart link) appeared on the page for customers to add your + product to their cart. Note: This field is only populated when the seller is a B2B seller. """ - mobileAppSessions: Long! @resultRetention(duration: "P30D") - + buyBoxPercentageB2B: Float @resultRetention(duration : "P30D") """ - Mobile app B2B sessions are visits to your Amazon.com mobile app pages by an Amazon Business customer. All activity within a 24-hour period is considered a mobile app session. For example, if an Amazon Business customer visits your pages using mobile app multiple times within a 24 hour period it is counted as a single session. Note: This field is only populated when the seller is a B2B seller. + Mobile app page views are the number of times a user visited your Amazon.com + mobile app pages for the selected time period. """ - mobileAppSessionsB2B: Long @resultRetention(duration: "P30D") - + mobileAppPageViews: Long! @resultRetention(duration : "P30D") """ - Sessions are visits to your Amazon.com browser or mobile app pages by a user. All browser and mobile app activity within a 24-hour period is considered a session. It is calculated as the sum of browserSessions and mobileAppSessions. + Mobile app B2B page views are the number of times an Amazon Business customer + visited your Amazon.com mobile app pages for the selected time period. Note: + This field is only populated when the seller is a B2B seller. """ - sessions: Long! @resultRetention(duration: "P30D") - + mobileAppPageViewsB2B: Long @resultRetention(duration : "P30D") """ - B2B sessions are visits to your Amazon.com pages using browser or mobile app by an Amazon Business customer. All activity within a 24-hour period is considered a session. For example, if an Amazon Business customer visits your pages multiple times using mobile app or browser within a 24 hour period it is counted as a single session. Note: This field is only populated when the seller is a B2B seller. + The percentage of mobile app page views that a particular SKU/ASIN receives + relative to the total number of mobile app page views for all products. """ - sessionsB2B: Long @resultRetention(duration: "P30D") - + mobileAppPageViewsPercentage: Float! @resultRetention(duration : "P30D") """ - Browser page views are the number of times a user visited your Amazon.com browser pages for the selected time period. + The percentage of mobile page views by Amazon Business customers that a + particular SKU/ASIN receives relative to the total number of mobile page views + by Amazon Business customers for all products. Note: This field is only + populated when the seller is a B2B seller. """ - browserPageViews: Long! @resultRetention(duration: "P30D") - + mobileAppPageViewsPercentageB2B: Float @resultRetention(duration : "P30D") """ - Browser B2B page views are the number of times an Amazon Business customer visited your Amazon.com browser pages for the selected time period. Note: This field is only populated when the seller is a B2B seller. + The percentage of mobile app sessions that contain at least one page view for + a particular SKU/ASIN relative to the total number of mobile app sessions for all products. """ - browserPageViewsB2B: Long @resultRetention(duration: "P30D") - + mobileAppSessionPercentage: Float! @resultRetention(duration : "P30D") """ - Mobile app page views are the number of times a user visited your Amazon.com mobile app pages for the selected time period. + The percentage of mobile app sessions that contain at least one page view by + an Amazon Business customer for a particular SKU/ASIN relative to the total + number of mobile app sessions by Amazon Business customers for all products. + Note: This field is only populated when the seller is a B2B seller. """ - mobileAppPageViews: Long! @resultRetention(duration: "P30D") - + mobileAppSessionPercentageB2B: Float @resultRetention(duration : "P30D") """ - Mobile app B2B page views are the number of times an Amazon Business customer visited your Amazon.com mobile app pages for the selected time period. Note: This field is only populated when the seller is a B2B seller. + Mobile app sessions are visits to your Amazon.com mobile app pages by a user. + All mobile app activity within a 24-hour period is considered a mobile app + session. For example, if a user visits your pages using a mobile app multiple + times within a 24 hour period it is counted as a single mobile app session. """ - mobileAppPageViewsB2B: Long @resultRetention(duration: "P30D") - + mobileAppSessions: Long! @resultRetention(duration : "P30D") """ - Page views are the number of times a user visited your Amazon.com browser or mobile app pages for the selected time period. It is calculated as the sum of browserPageViews and mobileAppPageViews. + Mobile app B2B sessions are visits to your Amazon.com mobile app pages by an + Amazon Business customer. All activity within a 24-hour period is considered a + mobile app session. For example, if an Amazon Business customer visits your + pages using mobile app multiple times within a 24 hour period it is counted as + a single session. Note: This field is only populated when the seller is a B2B seller. """ - pageViews: Long! @resultRetention(duration: "P30D") - + mobileAppSessionsB2B: Long @resultRetention(duration : "P30D") """ - B2B page views are the number of times an Amazon Business customer visited your Amazon.com pages using browser or mobile app for the selected time period. Note: This field is only populated when the seller is a B2B seller. + Page views are the number of times a user visited your Amazon.com browser or + mobile app pages for the selected time period. It is calculated as the sum of + browserPageViews and mobileAppPageViews. """ - pageViewsB2B: Long @resultRetention(duration: "P30D") - + pageViews: Long! @resultRetention(duration : "P30D") """ - The percentage of page views where the buy box (the add to shopping cart link) appeared on the page for customers to add your product to their cart. + B2B page views are the number of times an Amazon Business customer visited + your Amazon.com pages using browser or mobile app for the selected time + period. Note: This field is only populated when the seller is a B2B seller. """ - buyBoxPercentage: Float! @resultRetention(duration: "P30D") - + pageViewsB2B: Long @resultRetention(duration : "P30D") """ - The percentage of page views by Amazon Business customers where the buy box (the add to shopping cart link) appeared on the page for customers to add your product to their cart. Note: This field is only populated when the seller is a B2B seller. + The percentage of browser and mobile app page views that a particular SKU/ASIN + receives relative to the total number of browser and mobile app page views for all products. """ - buyBoxPercentageB2B: Float @resultRetention(duration: "P30D") - + pageViewsPercentage: Float! @resultRetention(duration : "P30D") """ - The percentage conversion metric indicating how many order items were generated relative to the number of people who viewed the products. + The percentage of page views by Amazon Business customers that a particular + SKU/ASIN receives relative to the total number of page views by Amazon + Business customers for all products. Note: This field is only populated when + the seller is a B2B seller. """ - orderItemSessionPercentage: Float! @resultRetention(duration: "P30D") - + pageViewsPercentageB2B: Float @resultRetention(duration : "P30D") """ - The percentage conversion metric indicating how many order items were generated by Amazon Business customers relative to the number of Amazon Business customers who viewed the products. Note: This field is only populated when the seller is a B2B seller. + The percentage of sessions that contain at least one page view for a + particular SKU/ASIN relative to the total number of sessions for all products. """ - orderItemSessionPercentageB2B: Float @resultRetention(duration: "P30D") - + sessionPercentage: Float! @resultRetention(duration : "P30D") """ - The percentage conversion metric indicating how many units were purchased relative to the number of people who viewed the products. + The percentage of sessions that contain at least one page view by an Amazon + Business customer for a particular SKU/ASIN relative to the total number of + sessions by Amazon Business customers for all products. Note: This field is + only populated when the seller is a B2B seller. """ - unitSessionPercentage: Float! @resultRetention(duration: "P30D") - + sessionPercentageB2B: Float @resultRetention(duration : "P30D") """ - The percentage conversion metric indicating how many units were purchased by Amazon Business customers relative to number of Amazon Business customers who viewed the products. Note: This field is only populated when the seller is a B2B seller. + Sessions are visits to your Amazon.com browser or mobile app pages by a user. + All browser and mobile app activity within a 24-hour period is considered a + session. It is calculated as the sum of browserSessions and mobileAppSessions. """ - unitSessionPercentageB2B: Float @resultRetention(duration: "P30D") - + sessions: Long! @resultRetention(duration : "P30D") """ - The average number of offers listed for sale in the selected time period. It is calculated from the total number of offers and the total number of days in the selected time period. + B2B sessions are visits to your Amazon.com pages using browser or mobile app + by an Amazon Business customer. All activity within a 24-hour period is + considered a session. For example, if an Amazon Business customer visits your + pages multiple times using mobile app or browser within a 24 hour period it is + counted as a single session. Note: This field is only populated when the + seller is a B2B seller. """ - averageOfferCount: Long! @resultRetention(duration: "P30D") - + sessionsB2B: Long @resultRetention(duration : "P30D") """ - The average number of parent items listed for sale in the selected time period. + The percentage conversion metric indicating how many units were purchased + relative to the number of people who viewed the products, calculated by + dividing unitsOrdered by sessions. """ - averageParentItems: Long! @resultRetention(duration: "P30D") - + unitSessionPercentage: Float! @resultRetention(duration : "P30D") """ - The number of times customers left feedback in the selected time period. + The percentage conversion metric indicating how many units were purchased by + Amazon Business customers relative to the number of Amazon Business customers + who viewed the products, calculated by dividing unitsOrderedB2B by sessions. + Note: This field is only populated when the seller is a B2B seller. """ - feedbackReceived: Long! @resultRetention(duration: "P30D") - - """ - The number of times customers left negative feedback in the selected time period. - """ - negativeFeedbackReceived: Long! @resultRetention(duration: "P30D") - - """ - The negative feedback rate is the number of orders that have received negative feedback divided by the number of orders in the selected time period. - """ - receivedNegativeFeedbackRate: Float! @resultRetention(duration: "P30D") + unitSessionPercentageB2B: Float @resultRetention(duration : "P30D") } -""" -The sales and traffic data for the seller's account aggregated by ASIN. -""" -type SalesAndTrafficByAsin { +"The sales data for the seller's account aggregated by date." +type ByDateSales { """ - The marketplace identifier of the sales and traffic data. + The average ordered product sales, calculated by dividing orderedProductSales + by totalOrderItems for the selected time period. """ - marketplaceId: String! - @paamRights(require: ["analytics_sales_and_traffic_view_pa"]) - @resultRetention(duration: "P30D") - + averageSalesPerOrderItem: Amount! @resultRetention(duration : "P30D") """ - The start date of the period of the aggregated data. + The average ordered product sales to Amazon Business customers, calculated by + dividing orderedProductSalesB2B by totalOrderItemsB2B for the selected time + period. Note: This field is only populated when the seller is a B2B seller. """ - startDate: Date! - @paamRights(require: ["analytics_sales_and_traffic_view_pa"]) - @resultRetention(duration: "P30D") - + averageSalesPerOrderItemB2B: Amount @resultRetention(duration : "P30D") """ - The end date of the period of the aggregated data. + The average price of the units sold in the selected time period, calculated by + dividing the orderedProductSales by unitsOrdered for the selected time period. """ - endDate: Date! - @paamRights(require: ["analytics_sales_and_traffic_view_pa"]) - @resultRetention(duration: "P30D") - + averageSellingPrice: Amount! @resultRetention(duration : "P30D") """ - The Amazon Standard Identification Number of the parent product. A parent product appears in our catalog as a non-buyable, generic identifier for a product that has buyable variations (child products). + The average price of the units sold to Amazon Business customers, calculated + by dividing the orderedProductSalesB2B by unitsOrderedB2B for the selected + time period. Note: This field is only populated when the seller is a B2B seller. """ - parentAsin: String! - @paamRights(require: ["analytics_sales_and_traffic_view_pa"]) - @resultRetention(duration: "P30D") - + averageSellingPriceB2B: Amount @resultRetention(duration : "P30D") + "The average number of units in each order item for the selected time period." + averageUnitsPerOrderItem: Float! @resultRetention(duration : "P30D") """ - The Amazon Standard Identification Number of the child product. Child products are unique, sellable products that are related in our catalog to a single, non-sellable parent product. Note: This field is only present when ASIN aggregation is CHILD or SKU. + The average number of units in each order item ordered by Amazon Business + customers for the selected time period. Note: This field is only populated + when the seller is a B2B seller. """ - childAsin: String - @paamRights(require: ["analytics_sales_and_traffic_view_pa"]) - @resultRetention(duration: "P30D") - + averageUnitsPerOrderItemB2B: Float @resultRetention(duration : "P30D") + "Monetary amount of filed A-to-z guarantee claims." + claimsAmount: Amount! @resultRetention(duration : "P30D") + "The number of A-to-z guarantee claims granted." + claimsGranted: Long! @resultRetention(duration : "P30D") """ - The Stock Keeping Unit of the product. The SKU is a seller specific product identifier. Note: This field is only present when ASIN aggregation is SKU. + The amount of ordered product sales, calculated by multiplying the price of + products and the number of units sold for the selected time period. """ - sku: String - @paamRights(require: ["analytics_sales_and_traffic_view_pa"]) - @resultRetention(duration: "P30D") - + orderedProductSales: Amount! @resultRetention(duration : "P30D") """ - The sales data for the parentAsin/childAsin/sku within the specified date range. + The amount of ordered product sales to Amazon Business customers, calculated + by multiplying the price of products and the number of units sold for the + selected time period. """ - sales: ByAsinSales! - @paamRights(require: ["analytics_sales_and_traffic_view_pa"]) - + orderedProductSalesB2B: Amount @resultRetention(duration : "P30D") + "The number of orders shipped in the selected time period." + ordersShipped: Long! @resultRetention(duration : "P30D") """ - The traffic data for the parentAsin/childAsin/sku within the specified date range. + The percentage conversion metric indicating how many orders were refunded by + the seller, calculated by dividing unitsOrdered by unitsRefunded in the + selected time period. """ - traffic: ByAsinTraffic! - @paamRights(require: ["analytics_sales_and_traffic_view_pa"]) -} - -""" -The sales data for the seller's account aggregated by ASIN. -""" -type ByAsinSales { + refundRate: Float! @resultRetention(duration : "P30D") + "The amount of ordered product sales shipped for the selected time period." + shippedProductSales: Amount! @resultRetention(duration : "P30D") """ - The number of units ordered. + The number of items that were ordered for the selected time period. Example: + For an order containing 2 copies of book A and 3 copies of book B, the number + of orders is 1, the number of order items is 2 (book A and book B), and the + number of units is 5 (2 + 3). """ - unitsOrdered: Long! @resultRetention(duration: "P30D") - + totalOrderItems: Long! @resultRetention(duration : "P30D") """ - The number of units ordered by Amazon Business customers. Note: This field is only populated when the seller is a B2B seller. + The number of items that were ordered by Amazon Business customers for the + selected time period. Example: For an order containing 2 copies of book A and + 3 copies of book B, the number of orders is 1, the number of order items is 2 + (book A and book B), and the number of units is 5 (2 + 3). """ - unitsOrderedB2B: Long @resultRetention(duration: "P30D") - - """ - The amount of ordered product sales, calculated by multiplying the price of products and the number of units sold for the selected time period. - """ - orderedProductSales: Amount! @resultRetention(duration: "P30D") - - """ - The amount of ordered product sales to Amazon Business customers, calculated by multiplying the price of products and the number of units sold for the selected time period. Note: This field is only populated when the seller is a B2B seller. - """ - orderedProductSalesB2B: Amount @resultRetention(duration: "P30D") - + totalOrderItemsB2B: Long @resultRetention(duration : "P30D") """ - The number of items that were ordered for the selected time period. + The number of units ordered for the selected time period. Example: For an + order containing 2 copies of book A and 3 copies of book B, the number of + orders is 1, the number of order items is 2 (book A and book B), and the + number of units is 5 (2 + 3). """ - totalOrderItems: Long! @resultRetention(duration: "P30D") - + unitsOrdered: Long! @resultRetention(duration : "P30D") """ - The number of items that were ordered by Amazon Business customers for the selected time period. Note: This field is only populated when the seller is a B2B seller. + The number of units ordered by Amazon Business customers for the selected time + period. Example: For an order containing 2 copies of book A and 3 copies of + book B, the number of orders is 1, the number of order items is 2 (book A and + book B), and the number of units is 5 (2 + 3). """ - totalOrderItemsB2B: Long @resultRetention(duration: "P30D") + unitsOrderedB2B: Long @resultRetention(duration : "P30D") + "The number of units refunded in the selected time period." + unitsRefunded: Long! @resultRetention(duration : "P30D") + "The number of units shipped in the selected time period." + unitsShipped: Long! @resultRetention(duration : "P30D") } -""" -The traffic data for the seller's account aggregated by ASIN. -""" -type ByAsinTraffic { - """ - Browser sessions are visits to your Amazon.com browser pages by a user. All browser activity within a 24-hour period is considered a browser session. For example, if a user visits your pages using a browser multiple times within a 24 hour period it is counted as a single browser session. - """ - browserSessions: Long! @resultRetention(duration: "P30D") - - """ - Browser B2B sessions are visits to your Amazon.com browser pages by an Amazon Business customer. All activity within a 24-hour period is considered a browser session. For example, if an Amazon Business customer visits your pages using browser multiple times within a 24 hour period it is counted as a single session. Note: This field is only populated when the seller is a B2B seller. - """ - browserSessionsB2B: Long @resultRetention(duration: "P30D") - - """ - Mobile app sessions are visits to your Amazon.com mobile app pages by a user. All mobile app activity within a 24-hour period is considered a mobile app session. For example, if a user visits your pages using a mobile app multiple times within a 24 hour period it is counted as a single mobile app session. - """ - mobileAppSessions: Long! @resultRetention(duration: "P30D") - - """ - Mobile app B2B sessions are visits to your Amazon.com mobile app pages by an Amazon Business customer. All activity within a 24-hour period is considered a mobile app session. For example, if an Amazon Business customer visits your pages using mobile app multiple times within a 24 hour period it is counted as a single session. Note: This field is only populated when the seller is a B2B seller. - """ - mobileAppSessionsB2B: Long @resultRetention(duration: "P30D") - +"The traffic data for the seller's account aggregated by date." +type ByDateTraffic { """ - Sessions are visits to your Amazon.com browser or mobile app pages by a user. All browser and mobile app activity within a 24-hour period is considered a session. It is calculated as the sum of browserSessions and mobileAppSessions. + The average number of offers listed for sale in the selected time period. It + is calculated from the total number of offers and the total number of days in + the selected time period. """ - sessions: Long! @resultRetention(duration: "P30D") - + averageOfferCount: Long! @resultRetention(duration : "P30D") + "The average number of parent items listed for sale in the selected time period." + averageParentItems: Long! @resultRetention(duration : "P30D") + "Browser page views are the number of times a user visited your Amazon.com browser pages for the selected time period." + browserPageViews: Long! @resultRetention(duration : "P30D") """ - B2B sessions are visits to your Amazon.com pages using browser or mobile app by an Amazon Business customer. All activity within a 24-hour period is considered a session. For example, if an Amazon Business customer visits your pages multiple times using mobile app or browser within a 24 hour period it is counted as a single session. Note: This field is only populated when the seller is a B2B seller. + Browser B2B page views are the number of times an Amazon Business customer + visited your Amazon.com browser pages for the selected time period. Note: This + field is only populated when the seller is a B2B seller. """ - sessionsB2B: Long @resultRetention(duration: "P30D") - + browserPageViewsB2B: Long @resultRetention(duration : "P30D") """ - The percentage of browser sessions that contain at least one page view for a particular SKU/ASIN relative to the total number of browser sessions for all products. + Browser sessions are visits to your Amazon.com browser pages by a user. All + browser activity within a 24-hour period is considered a browser session. For + example, if a user visits your pages using a browser multiple times within a + 24 hour period it is counted as a single browser session. """ - browserSessionPercentage: Float! @resultRetention(duration: "P30D") - + browserSessions: Long! @resultRetention(duration : "P30D") """ - The percentage of browser sessions that contain at least one page view by an Amazon Business customer for a particular SKU/ASIN relative to the total number of browser sessions by Amazon Business customers for all products. Note: This field is only populated when the seller is a B2B seller. + Browser B2B sessions are visits to your Amazon.com browser pages by an Amazon + Business customer. All activity within a 24-hour period is considered a + browser session. For example, if an Amazon Business customer visits your pages + using browser multiple times within a 24 hour period it is counted as a single + session. Note: This field is only populated when the seller is a B2B seller. """ - browserSessionPercentageB2B: Float @resultRetention(duration: "P30D") - + browserSessionsB2B: Long @resultRetention(duration : "P30D") """ - The percentage of mobile app sessions that contain at least one page view for a particular SKU/ASIN relative to the total number of mobile app sessions for all products. + The percentage of page views where the buy box (the add to shopping cart link) + appeared on the page for customers to add your product to their cart. """ - mobileAppSessionPercentage: Float! @resultRetention(duration: "P30D") - + buyBoxPercentage: Float! @resultRetention(duration : "P30D") """ - The percentage of mobile app sessions that contain at least one page view by an Amazon Business customer for a particular SKU/ASIN relative to the total number of mobile app sessions by Amazon Business customers for all products. Note: This field is only populated when the seller is a B2B seller. + The percentage of page views by Amazon Business customers where the buy box + (the add to shopping cart link) appeared on the page for customers to add your + product to their cart. Note: This field is only populated when the seller is a B2B seller. """ - mobileAppSessionPercentageB2B: Float @resultRetention(duration: "P30D") - + buyBoxPercentageB2B: Float @resultRetention(duration : "P30D") + "The number of times customers left feedback in the selected time period." + feedbackReceived: Long! @resultRetention(duration : "P30D") """ - The percentage of sessions that contain at least one page view for a particular SKU/ASIN relative to the total number of sessions for all products. + Mobile app page views are the number of times a user visited your Amazon.com + mobile app pages for the selected time period. """ - sessionPercentage: Float! @resultRetention(duration: "P30D") - + mobileAppPageViews: Long! @resultRetention(duration : "P30D") """ - The percentage of sessions that contain at least one page view by an Amazon Business customer for a particular SKU/ASIN relative to the total number of sessions by Amazon Business customers for all products. Note: This field is only populated when the seller is a B2B seller. + Mobile app B2B page views are the number of times an Amazon Business customer + visited your Amazon.com mobile app pages for the selected time period. Note: + This field is only populated when the seller is a B2B seller. """ - sessionPercentageB2B: Float @resultRetention(duration: "P30D") - + mobileAppPageViewsB2B: Long @resultRetention(duration : "P30D") """ - Browser page views are the number of times a user visited your Amazon.com browser pages for the selected time period. + Mobile app sessions are visits to your Amazon.com mobile app pages by a user. + All mobile app activity within a 24-hour period is considered a mobile app + session. For example, if a user visits your pages using a mobile app multiple + times within a 24 hour period it is counted as a single mobile app session. """ - browserPageViews: Long! @resultRetention(duration: "P30D") - + mobileAppSessions: Long! @resultRetention(duration : "P30D") """ - Browser B2B page views are the number of times an Amazon Business customer visited your Amazon.com browser pages for the selected time period. Note: This field is only populated when the seller is a B2B seller. + Mobile app B2B sessions are visits to your Amazon.com mobile app pages by an + Amazon Business customer. All activity within a 24-hour period is considered a + mobile app session. For example, if an Amazon Business customer visits your + pages using mobile app multiple times within a 24 hour period it is counted as + a single session. Note: This field is only populated when the seller is a B2B seller. """ - browserPageViewsB2B: Long @resultRetention(duration: "P30D") - + mobileAppSessionsB2B: Long @resultRetention(duration : "P30D") + "The number of times customers left negative feedback in the selected time period." + negativeFeedbackReceived: Long! @resultRetention(duration : "P30D") """ - Mobile app page views are the number of times a user visited your Amazon.com mobile app pages for the selected time period. + The percentage conversion metric indicating how many order items were + generated relative to the number of people who viewed the products. """ - mobileAppPageViews: Long! @resultRetention(duration: "P30D") - - """ - Mobile app B2B page views are the number of times an Amazon Business customer visited your Amazon.com mobile app pages for the selected time period. Note: This field is only populated when the seller is a B2B seller. - """ - mobileAppPageViewsB2B: Long @resultRetention(duration: "P30D") - + orderItemSessionPercentage: Float! @resultRetention(duration : "P30D") """ - Page views are the number of times a user visited your Amazon.com browser or mobile app pages for the selected time period. It is calculated as the sum of browserPageViews and mobileAppPageViews. + The percentage conversion metric indicating how many order items were + generated by Amazon Business customers relative to the number of Amazon + Business customers who viewed the products. Note: This field is only populated + when the seller is a B2B seller. """ - pageViews: Long! @resultRetention(duration: "P30D") - + orderItemSessionPercentageB2B: Float @resultRetention(duration : "P30D") """ - B2B page views are the number of times an Amazon Business customer visited your Amazon.com pages using browser or mobile app for the selected time period. Note: This field is only populated when the seller is a B2B seller. + Page views are the number of times a user visited your Amazon.com browser or + mobile app pages for the selected time period. It is calculated as the sum of + browserPageViews and mobileAppPageViews. """ - pageViewsB2B: Long @resultRetention(duration: "P30D") - + pageViews: Long! @resultRetention(duration : "P30D") """ - The percentage of browser page views that a particular SKU/ASIN receives relative to the total number of browser page views for all products. + B2B page views are the number of times an Amazon Business customer visited + your Amazon.com pages using browser or mobile app for the selected time + period. Note: This field is only populated when the seller is a B2B seller. """ - browserPageViewsPercentage: Float! @resultRetention(duration: "P30D") - + pageViewsB2B: Long @resultRetention(duration : "P30D") """ - The percentage of browser views by Amazon Business customers that a particular SKU/ASIN receives relative to the total number of mobile page views by Amazon Business customers for all products. Note: This field is only populated when the seller is a B2B seller. + The negative feedback rate is the number of orders that have received negative + feedback divided by the number of orders in the selected time period. """ - browserPageViewsPercentageB2B: Float @resultRetention(duration: "P30D") - + receivedNegativeFeedbackRate: Float! @resultRetention(duration : "P30D") """ - The percentage of mobile app page views that a particular SKU/ASIN receives relative to the total number of mobile app page views for all products. + Sessions are visits to your Amazon.com browser or mobile app pages by a user. + All browser and mobile app activity within a 24-hour period is considered a + session. It is calculated as the sum of browserSessions and mobileAppSessions. """ - mobileAppPageViewsPercentage: Float! @resultRetention(duration: "P30D") - + sessions: Long! @resultRetention(duration : "P30D") """ - The percentage of mobile page views by Amazon Business customers that a particular SKU/ASIN receives relative to the total number of mobile page views by Amazon Business customers for all products. Note: This field is only populated when the seller is a B2B seller. + B2B sessions are visits to your Amazon.com pages using browser or mobile app + by an Amazon Business customer. All activity within a 24-hour period is + considered a session. For example, if an Amazon Business customer visits your + pages multiple times using mobile app or browser within a 24 hour period it is + counted as a single session. Note: This field is only populated when the + seller is a B2B seller. """ - mobileAppPageViewsPercentageB2B: Float @resultRetention(duration: "P30D") - + sessionsB2B: Long @resultRetention(duration : "P30D") """ - The percentage of browser and mobile app page views that a particular SKU/ASIN receives relative to the total number of browser and mobile app page views for all products. + The percentage conversion metric indicating how many units were purchased + relative to the number of people who viewed the products. """ - pageViewsPercentage: Float! @resultRetention(duration: "P30D") - + unitSessionPercentage: Float! @resultRetention(duration : "P30D") """ - The percentage of page views by Amazon Business customers that a particular SKU/ASIN receives relative to the total number of page views by Amazon Business customers for all products. Note: This field is only populated when the seller is a B2B seller. + The percentage conversion metric indicating how many units were purchased by + Amazon Business customers relative to number of Amazon Business customers who + viewed the products. Note: This field is only populated when the seller is a B2B seller. """ - pageViewsPercentageB2B: Float @resultRetention(duration: "P30D") + unitSessionPercentageB2B: Float @resultRetention(duration : "P30D") +} - """ - The percentage of page views where the buy box (the add to shopping cart link) appeared on the page for customers to add your product to their cart. - """ - buyBoxPercentage: Float! @resultRetention(duration: "P30D") +"A root type for queries" +type Query { + "Analytics Sales and Traffic queries version 2024_04_24." + analytics_salesAndTraffic_2024_04_24: Analytics_SalesAndTraffic_2024_04_24 +} +"The sales and traffic data for the seller's account aggregated by ASIN." +type SalesAndTrafficByAsin { """ - The percentage of page views by Amazon Business customers where the buy box (the add to shopping cart link) appeared on the page for customers to add your product to their cart. Note: This field is only populated when the seller is a B2B seller. + The Amazon Standard Identification Number of the child product. Child products + are unique, sellable products that are related in our catalog to a single, + non-sellable parent product. Note: This field is only present when ASIN + aggregation is CHILD or SKU. """ - buyBoxPercentageB2B: Float @resultRetention(duration: "P30D") - + childAsin: String @resultRetention(duration : "P30D") + "The end date of the period of the aggregated data." + endDate: Date! @resultRetention(duration : "P30D") + "The marketplace identifier of the sales and traffic data." + marketplaceId: String! @resultRetention(duration : "P30D") """ - The percentage conversion metric indicating how many units were purchased relative to the number of people who viewed the products, calculated by dividing unitsOrdered by sessions. + The Amazon Standard Identification Number of the parent product. A parent + product appears in our catalog as a non-buyable, generic identifier for a + product that has buyable variations (child products). """ - unitSessionPercentage: Float! @resultRetention(duration: "P30D") - + parentAsin: String! @resultRetention(duration : "P30D") + "The sales data for the parentAsin/childAsin/sku within the specified date range." + sales: ByAsinSales! """ - The percentage conversion metric indicating how many units were purchased by Amazon Business customers relative to the number of Amazon Business customers who viewed the products, calculated by dividing unitsOrderedB2B by sessions. Note: This field is only populated when the seller is a B2B seller. + The Stock Keeping Unit of the product. The SKU is a seller specific product + identifier. Note: This field is only present when ASIN aggregation is SKU. """ - unitSessionPercentageB2B: Float @resultRetention(duration: "P30D") + sku: String @resultRetention(duration : "P30D") + "The start date of the period of the aggregated data." + startDate: Date! @resultRetention(duration : "P30D") + "The traffic data for the parentAsin/childAsin/sku within the specified date range." + traffic: ByAsinTraffic! } -""" -Monetary amount with the corresponding currency code. -""" -type Amount { - """ - The amount. - """ - amount: Float! +"The sales and traffic data for the seller's account aggregated by date." +type SalesAndTrafficByDate { + "The end date of the sales and traffic data." + endDate: Date! @resultRetention(duration : "P30D") + "The marketplace identifier of the sales and traffic data." + marketplaceId: String! @resultRetention(duration : "P30D") + "The sales data for the seller's account." + sales: ByDateSales! + "The start date of the sales and traffic data." + startDate: Date! @resultRetention(duration : "P30D") + "The traffic data for the seller's account." + traffic: ByDateTraffic! +} - """ - Currency code of the amount in ISO 4217 format. - """ - currencyCode: String! +"The ASIN granularity used in aggregation." +enum AsinGranularity { + "Sales and traffic data is aggregated by child ASIN." + CHILD + "Sales and traffic data is aggregated by parent ASIN." + PARENT + "Sales and traffic data is aggregated by sku." + SKU } -""" -The date granularity used in aggregation. -""" +"The date granularity used in aggregation." enum DateGranularity { - """ - Sales and traffic data is aggregated by day. - """ + "Sales and traffic data is aggregated by day." DAY - - """ - Sales and traffic data is aggregated by week. - """ - WEEK - - """ - Sales and traffic data is aggregated by month. - """ + "Sales and traffic data is aggregated by month." MONTH + "Sales and traffic data is aggregated by week." + WEEK } -""" -The ASIN granularity used in aggregation. -""" -enum AsinGranularity { - """ - Sales and traffic data is aggregated by parent ASIN. - """ - PARENT - - """ - Sales and traffic data is aggregated by child ASIN. - """ - CHILD +"Date" +scalar Date - """ - Sales and traffic data is aggregated by sku. - """ - SKU -} +"Long" +scalar Long From 92f86a526b6bd514e6ea054bca7b1ae5666b1062 Mon Sep 17 00:00:00 2001 From: Jack Evoniuk Date: Wed, 24 Apr 2024 13:59:36 -0700 Subject: [PATCH 060/340] Update Data Kiosk Economics schema --- .../analytics_economics_2024_03_15.graphql | 622 +++++++----------- 1 file changed, 234 insertions(+), 388 deletions(-) diff --git a/schemas/data-kiosk/analytics_economics_2024_03_15.graphql b/schemas/data-kiosk/analytics_economics_2024_03_15.graphql index bdfda3733..224c06c53 100644 --- a/schemas/data-kiosk/analytics_economics_2024_03_15.graphql +++ b/schemas/data-kiosk/analytics_economics_2024_03_15.graphql @@ -1,493 +1,339 @@ +schema { + query: Query +} + """ -A Scalar for the primitive long type. +This directive specifies the retention duration of a query containing a +particular field. When a query contains multiple fields with different +retentions, the shortest (minimum) retention is applied to the query. The +retention of a query's resulting documents always matches the retention of the query. """ -scalar Long +directive @resultRetention( + "An ISO 8601 duration." + duration: String! + ) on FIELD_DEFINITION + +"The advertisements spend data summary for the seller's account aggregated by transaction event type: charge." +type AdSummary { + "Advertisement type name, for example: \"Sponsored Products charge\"." + adTypeName: String! @resultRetention(duration : "P30D") + "Charge aggregated detail for an advertisement type." + charge: AggregatedDetail +} + """ -An RFC-3339 compliant Full Date Scalar. Example: "2024-03-15" +The aggregated transaction detail for the seller's account aggregated by +transaction event type and transaction type, for example: charge and +"fbaFulfillmentFee". """ -scalar Date - -extend type Query - @domainResolver( - sdpInstanceType: "amzn1.sdp.1.type.1.DataKiosk.Domain.Analytics_Economics_2024_03_15" - ) { +type AggregatedDetail { + "Amount calculated by rate card." + amount: Amount! @resultRetention(duration : "P30D") """ - Seller economics queries version 2024_03_15. + Final charge amount per unit after promotion and tax are considered. This + value is calculated by dividing totalAmount by quantity. This value will be + null when quantity is null. """ - analytics_economics_2024_03_15: Analytics_Economics_2024_03_15 + amountPerUnit: Amount @resultRetention(duration : "P30D") + "The promotion amount associated with this transaction type. This value is deducted from amount when computing totalAmount." + promotionAmount: Amount! @resultRetention(duration : "P30D") + """ + Charged quantity for a given product in the seller's account. When the fee is + not charged on a per unit basis, this value may be null or may not be an integer. + """ + quantity: Float @resultRetention(duration : "P30D") + "The tax amount associated with this transaction type. This value is added to amount when computing totalAmount." + taxAmount: Amount! @resultRetention(duration : "P30D") + """ + Final charge amount after promotion and tax are considered. This value is + calculated as amount - promotionAmount + taxAmount. + """ + totalAmount: Amount! @resultRetention(duration : "P30D") } -""" -A root type for seller economics queries version 2024_03_15. -""" +"Monetary amount with the corresponding currency code." +type Amount { + "The amount." + amount: Float! + "Currency code of the amount in ISO 4217 format." + currencyCode: String! +} + +"A root type for seller economics queries version 2024_03_15." type Analytics_Economics_2024_03_15 { """ - A query to retrieve seller economics data for the seller's account aggregated by date and product identifier. The seller economics data consists of aggregated sales, fees, and cost for selected period. + A query to retrieve seller economics data for the seller's account aggregated + by date and product identifier. The seller economics data consists of + aggregated sales, fees, and cost for selected period. """ economics( + "Determines how the seller economics data should be aggregated. By default it's aggregated by MSKU and DAY." + aggregateBy: EconomicsAggregation, """ - The start date of the seller economics data to retrieve. The start date must be no more than two years ago. If the provided start date occurs mid-week or mid-month in UTC+0 timezone, the following Sunday for WEEK date granularity or the first day of the next month for MONTH date granularity will be used instead. + The end date of the seller economics data to retrieve. If the provided end + date occurs mid-week or mid-month in UTC+0 timezone, the preceding Saturday + for WEEK date granularity or the last day of the previous month for MONTH + date granularity will be used instead. """ - startDate: Date! + endDate: Date!, + "Specifies which fee types to breakdown into individual components." + includeComponentsForFeeTypes: [FeeType], + "The marketplace identifiers to retrieve seller economics data for." + marketplaceIds: [String]!, """ - The end date of the seller economics data to retrieve. If the provided end date occurs mid-week or mid-month in UTC+0 timezone, the preceding Saturday for WEEK date granularity or the last day of the previous month for MONTH date granularity will be used instead. + The start date of the seller economics data to retrieve. The start date must + be no more than two years ago. If the provided start date occurs mid-week or + mid-month in UTC+0 timezone, the following Sunday for WEEK date granularity + or the first day of the next month for MONTH date granularity will be used instead. """ - endDate: Date! - """ - The marketplace identifiers to retrieve seller economics data for. - """ - marketplaceIds: [String]! - """ - Specifies which fee types to breakdown into individual components. - """ - includeComponentsForFeeTypes: [FeeType] - """ - Determines how the seller economics data should be aggregated. By default it's aggregated by MSKU and DAY. - """ - aggregateBy: EconomicsAggregation - ): [Economics] @supportedAccountTypes(types: [MERCHANT]) + startDate: Date! + ): [Economics] } -""" -The seller economics data for a given product in the seller's account. -""" +"The seller economics data for a given product in the seller's account." type Economics { """ - The marketplace identifier of the seller economics data. - """ - marketplaceId: String! - @paamRights( - require: ["seller_economics_api_view", "seller_economics_mobile_view"] - ) - @resultRetention(duration: "P30D") - """ - The start date of the seller economics data, please note this date may be adjusted to the start of DateGranularity. - """ - startDate: Date! - @paamRights( - require: ["seller_economics_api_view", "seller_economics_mobile_view"] - ) - @resultRetention(duration: "P30D") + The advertising spend data for the product within the specified date range. + Supported advertisement charge types can be found + [here](https://sellercentral.amazon.com/gp/help/GZ8Y22NL2FSRY8M5). """ - The end date of the seller economics data, please note this date may be adjusted to the end of DateGranularity. - """ - endDate: Date! - @paamRights( - require: ["seller_economics_api_view", "seller_economics_mobile_view"] - ) - @resultRetention(duration: "P30D") - """ - The Amazon Standard Identification Number of the parent product. A parent product appears in our catalog as a non-buyable, generic identifier for a product that has buyable variations (child products). - """ - parentAsin: String! - @paamRights( - require: ["seller_economics_api_view", "seller_economics_mobile_view"] - ) - @resultRetention(duration: "P30D") - """ - The Amazon Standard Identification Number of the child product. Child products are unique, sellable products that are related in our catalog to a single, non-sellable parent product. Note: This field is only present when product aggregation is CHILD_ASIN, FNSKU or MSKU. - """ - childAsin: String - @paamRights( - require: ["seller_economics_api_view", "seller_economics_mobile_view"] - ) - @resultRetention(duration: "P30D") - """ - The Fulfillment Network Stock Keeping Unit (FNSKU) of the product. Note: This field is only present when product aggregation is FNSKU or MSKU. This field may be null when product aggregation is MSKU and the row is associated with more than one FNSKU. - """ - fnsku: String - @paamRights( - require: ["seller_economics_api_view", "seller_economics_mobile_view"] - ) - @resultRetention(duration: "P30D") + ads: [AdSummary] """ - The Merchant Stock Keeping Unit (MSKU) of the product. Note: This field is only present when product aggregation is FNSKU or MSKU. This field may be null when product aggregation is FNSKU and the row is associated with more than one MSKU. + The Amazon Standard Identification Number of the child product. Child products + are unique, sellable products that are related in our catalog to a single, + non-sellable parent product. Note: This field is only present when product + aggregation is CHILD_ASIN, FNSKU or MSKU. """ - msku: String - @paamRights( - require: ["seller_economics_api_view", "seller_economics_mobile_view"] - ) - @resultRetention(duration: "P30D") + childAsin: String @resultRetention(duration : "P30D") """ - The sales data for the product within the specified date range. + The off Amazon cost provided by the seller for this product (per unit). The + off Amazon cost can be provided on [SKU + Central](https://sellercentral.amazon.com/skucentral?mSku=xxx) and [Revenue + Calculator](https://sellercentral.amazon.com/revcal). """ - sales: Sales! + cost: PerUnitCost + "The end date of the seller economics data, please note this date may be adjusted to the end of DateGranularity." + endDate: Date! @resultRetention(duration : "P30D") """ - The fees applied to the product within the specified date range. Supported fee types can be found [here](https://sellercentral.amazon.com/gp/help/GZ8Y22NL2FSRY8M5.) + The fees applied to the product within the specified date range. Supported fee + types can be found + [here](https://sellercentral.amazon.com/gp/help/GZ8Y22NL2FSRY8M5.) """ fees: [FeeSummary]! """ - The advertising spend data for the product within the specified date range. Supported advertisement charge types can be found [here](https://sellercentral.amazon.com/gp/help/GZ8Y22NL2FSRY8M5). + The Fulfillment Network Stock Keeping Unit (FNSKU) of the product. Note: This + field is only present when product aggregation is FNSKU or MSKU. This field + may be null when product aggregation is MSKU and the row is associated with + more than one FNSKU. """ - ads: [AdSummary] + fnsku: String @resultRetention(duration : "P30D") + "The marketplace identifier of the seller economics data." + marketplaceId: String! @resultRetention(duration : "P30D") """ - The off Amazon cost provided by the seller for this product (per unit). The off Amazon cost can be provided on [SKU Central](https://sellercentral.amazon.com/skucentral?mSku=xxx) and [Revenue Calculator](https://sellercentral.amazon.com/revcal). + The Merchant Stock Keeping Unit (MSKU) of the product. Note: This field is + only present when product aggregation is FNSKU or MSKU. This field may be null + when product aggregation is FNSKU and the row is associated with more than one MSKU. """ - cost: PerUnitCost + msku: String @resultRetention(duration : "P30D") """ - The net proceeds for this product within the specified date range. The value remains unchanged regardless of whether sales, fees, ads, or cost are selected in the query. + The net proceeds for this product within the specified date range. The value + remains unchanged regardless of whether sales, fees, ads, or cost are selected in the query. """ netProceeds: NetProceeds! -} - -""" -The sales data for a given product in the seller's account within a given date range. -""" -type Sales { - """ - The amount of ordered product sales, calculated by multiplying the price of products and the number of units sold for the selected time period. - """ - orderedProductSales: Amount! - @paamRights( - require: ["seller_economics_api_view", "seller_economics_mobile_view"] - ) - @resultRetention(duration: "P30D") - """ - The number of units ordered for the selected time period. Example: For an order containing 2 copies of book A and 3 copies of book B, the number of orders is 1, the number of order items is 2 (book A and book B), and the number of units is 5 (2 + 3). - """ - unitsOrdered: Long! - @paamRights( - require: ["seller_economics_api_view", "seller_economics_mobile_view"] - ) - @resultRetention(duration: "P30D") - """ - The average price of the units sold in the selected time period, calculated by dividing the orderedProductSales by unitsOrdered for the selected time period. This field will be null when unitsOrdered is 0. - """ - averageSellingPrice: Amount - @paamRights( - require: ["seller_economics_api_view", "seller_economics_mobile_view"] - ) - @resultRetention(duration: "P30D") """ - The amount of refunded product sales for the selected time period, it's counted by refund request time. + The Amazon Standard Identification Number of the parent product. A parent + product appears in our catalog as a non-buyable, generic identifier for a + product that has buyable variations (child products). """ - refundedProductSales: Amount! - @paamRights( - require: ["seller_economics_api_view", "seller_economics_mobile_view"] - ) - @resultRetention(duration: "P30D") - """ - The number of units refunded in the selected time period. - """ - unitsRefunded: Long! - @paamRights( - require: ["seller_economics_api_view", "seller_economics_mobile_view"] - ) - @resultRetention(duration: "P30D") - """ - The amount of net product sales, calculated by orderedProductSales - refundedProductSales. - """ - netProductSales: Amount! - @paamRights( - require: ["seller_economics_api_view", "seller_economics_mobile_view"] - ) - @resultRetention(duration: "P30D") - """ - The number of net units sold for the selected time period, calculated by unitsOrdered - unitsRefunded. - """ - netUnitsSold: Long! - @paamRights( - require: ["seller_economics_api_view", "seller_economics_mobile_view"] - ) - @resultRetention(duration: "P30D") + parentAsin: String! @resultRetention(duration : "P30D") + "The sales data for the product within the specified date range." + sales: Sales! + "The start date of the seller economics data, please note this date may be adjusted to the start of DateGranularity." + startDate: Date! @resultRetention(duration : "P30D") } """ -The fees data summary for the seller's account aggregated by transaction event type: charge. +The item level per unit cost provided by the seller and applicable to +Fulfillment by Amazon (FBA) products. Fields in this type will be null if not +provided by the seller. """ -type FeeSummary { - """ - Fee type name, for example: "FBA fulfillment fees" - """ - feeTypeName: String! - @paamRights( - require: ["seller_economics_api_view", "seller_economics_mobile_view"] - ) - @resultRetention(duration: "P30D") +type FbaPerUnitCost { """ - Charge summary for a fee type. + Cost of shipping the Fulfillment by Amazon (FBA) item to an Amazon fulfillment + center. This value is provided by the seller and applicable to Fulfillment by + Amazon (FBA) products. """ - charge: Fee + shippingToAmazonCost: Amount @resultRetention(duration : "P30D") } """ -A fee applied to a given product in the seller's account within a given date range. Fee information can be found [here](https://sellercentral.amazon.com/gp/help/GZ8Y22NL2FSRY8M5). +A fee applied to a given product in the seller's account within a given date +range. Fee information can be found +[here](https://sellercentral.amazon.com/gp/help/GZ8Y22NL2FSRY8M5). """ type Fee { - """ - Fee aggregated transaction detail. - """ + "Fee aggregated transaction detail." aggregatedDetail: AggregatedDetail! """ - A breakdown of the fee into individual components. This field will be null for fee types that cannot be divided into individual components. + A breakdown of the fee into individual components. This field will be null for + fee types that cannot be divided into individual components. """ - components: [FeeComponent] - @paamRights( - require: ["seller_economics_api_view", "seller_economics_mobile_view"] - ) - @resultRetention(duration: "P30D") + components: [FeeComponent] @resultRetention(duration : "P30D") } """ -The fee component data applied to a given product in the seller's account within a given date range. It's breakdown of parent fee. +The fee component data applied to a given product in the seller's account within +a given date range. It's breakdown of parent fee. """ type FeeComponent { - """ - Fee component name, for example: "Base fulfillment fee". - """ - name: String! - @paamRights( - require: ["seller_economics_api_view", "seller_economics_mobile_view"] - ) - @resultRetention(duration: "P30D") - """ - Fee component aggregated detail. - """ + "Fee component aggregated detail." aggregatedDetail: AggregatedDetail! + "Fee component name, for example: \"Base fulfillment fee\"." + name: String! @resultRetention(duration : "P30D") +} + +"The fees data summary for the seller's account aggregated by transaction event type: charge." +type FeeSummary { + "Charge summary for a fee type." + charge: Fee + "Fee type name, for example: \"FBA fulfillment fees\"" + feeTypeName: String! @resultRetention(duration : "P30D") } """ -The advertisements spend data summary for the seller's account aggregated by transaction event type: charge. +The item level per unit cost provided by the seller and applicable to Merchant +Fulfilled Network (MFN) products. Fields in this type will be null if not +provided by the seller. """ -type AdSummary { +type MfnPerUnitCost { """ - Advertisement type name, for example: "Sponsored Products charge". + Cost of fulfilling an order containing the product, including labor, packing + material, shipping to customer, customer service etc. This value is provided + by the seller and applicable to Merchant Fulfilled Network (MFN) products. """ - adTypeName: String! - @paamRights( - require: ["seller_economics_api_view", "seller_economics_mobile_view"] - ) - @resultRetention(duration: "P30D") + fulfillmentCost: Amount @resultRetention(duration : "P30D") """ - Charge aggregated detail for an advertisement type. + Cost to store a single unit of the product per month. This value is provided + by the seller and applicable to Merchant Fulfilled Network (MFN) products. """ - charge: AggregatedDetail + storageCost: Amount @resultRetention(duration : "P30D") } """ -The aggregated transaction detail for the seller's account aggregated by transaction event type and transaction type, for example: charge and "fbaFulfillmentFee". +The net proceeds for a given product in the seller's account for a given time +range. These fields are calculated as sales.netProductSales - sum of +fees.charge.totalAmount - sum of ads.charge.totalAmount - (cost of Merchant +Fulfilled Network (MFN) products or cost of Fulfillment by Amazon (FBA) +products) * sales.netUnitsSold. """ -type AggregatedDetail { - """ - Charged quantity for a given product in the seller's account. When the fee is not charged on a per unit basis, this value may be null or may not be an integer. - """ - quantity: Float - @paamRights( - require: ["seller_economics_api_view", "seller_economics_mobile_view"] - ) - @resultRetention(duration: "P30D") - """ - Final charge amount after promotion and tax are considered. This value is calculated as amount - promotionAmount + taxAmount. - """ - totalAmount: Amount! - @paamRights( - require: ["seller_economics_api_view", "seller_economics_mobile_view"] - ) - @resultRetention(duration: "P30D") - """ - Final charge amount per unit after promotion and tax are considered. This value is calculated by dividing totalAmount by quantity. This value will be null when quantity is null. - """ - amountPerUnit: Amount - @paamRights( - require: ["seller_economics_api_view", "seller_economics_mobile_view"] - ) - @resultRetention(duration: "P30D") - """ - Amount calculated by rate card. - """ - amount: Amount! - @paamRights( - require: ["seller_economics_api_view", "seller_economics_mobile_view"] - ) - @resultRetention(duration: "P30D") - """ - The promotion amount associated with this transaction type. This value is deducted from amount when computing totalAmount. - """ - promotionAmount: Amount! - @paamRights( - require: ["seller_economics_api_view", "seller_economics_mobile_view"] - ) - @resultRetention(duration: "P30D") +type NetProceeds { """ - The tax amount associated with this transaction type. This value is added to amount when computing totalAmount. + Net proceeds per unit for a given product in the seller's account for a given + time range. This value is calculated by dividing total by sales.netUnitsSold. """ - taxAmount: Amount! - @paamRights( - require: ["seller_economics_api_view", "seller_economics_mobile_view"] - ) - @resultRetention(duration: "P30D") + perUnit: Amount @resultRetention(duration : "P30D") + "\"Total net proceeds for a given product in the seller's account for a given time range." + total: Amount @resultRetention(duration : "P30D") } -""" -The item level per unit cost provided by seller. Fields in this type will be null if not provided by the seller. -""" +"The item level per unit cost provided by seller. Fields in this type will be null if not provided by the seller." type PerUnitCost { """ - Cost to manufacture or acquire the product. This value is provided by the seller and is applicable to both Fulfillment by Amazon (FBA) and Merchant Fulfilled Network (MFN) products. - """ - costOfGoodsSold: Amount - @paamRights( - require: ["Seller_Provided_Costs_API_Read", "Seller_Provided_Costs_Read"] - ) - @resultRetention(duration: "P30D") - """ - Miscellaneous costs not related to this specific product, ex: overhead, etc. This value is provided by the seller and applicable to both Fulfillment by Amazon (FBA) and Merchant Fulfilled Network (MFN) products. - """ - miscellaneousCost: Amount - @paamRights( - require: ["Seller_Provided_Costs_API_Read", "Seller_Provided_Costs_Read"] - ) - @resultRetention(duration: "P30D") - """ - The item level per unit cost provided by the seller and applicable to Fulfillment by Amazon (FBA) products. + Cost to manufacture or acquire the product. This value is provided by the + seller and is applicable to both Fulfillment by Amazon (FBA) and Merchant + Fulfilled Network (MFN) products. """ + costOfGoodsSold: Amount @resultRetention(duration : "P30D") + "The item level per unit cost provided by the seller and applicable to Fulfillment by Amazon (FBA) products." fbaCost: FbaPerUnitCost - """ - The item level per unit cost provided by the seller and applicable to Merchant Fulfilled Network (MFN) products. - """ + "The item level per unit cost provided by the seller and applicable to Merchant Fulfilled Network (MFN) products." mfnCost: MfnPerUnitCost -} - -""" -The item level per unit cost provided by the seller and applicable to Fulfillment by Amazon (FBA) products. Fields in this type will be null if not provided by the seller. -""" -type FbaPerUnitCost { """ - Cost of shipping the Fulfillment by Amazon (FBA) item to an Amazon fulfillment center. This value is provided by the seller and applicable to Fulfillment by Amazon (FBA) products. + Miscellaneous costs not related to this specific product, ex: overhead, etc. + This value is provided by the seller and applicable to both Fulfillment by + Amazon (FBA) and Merchant Fulfilled Network (MFN) products. """ - shippingToAmazonCost: Amount - @paamRights( - require: ["Seller_Provided_Costs_API_Read", "Seller_Provided_Costs_Read"] - ) - @resultRetention(duration: "P30D") + miscellaneousCost: Amount @resultRetention(duration : "P30D") } -""" -The item level per unit cost provided by the seller and applicable to Merchant Fulfilled Network (MFN) products. Fields in this type will be null if not provided by the seller. -""" -type MfnPerUnitCost { - """ - Cost of fulfilling an order containing the product, including labor, packing material, shipping to customer, customer service etc. This value is provided by the seller and applicable to Merchant Fulfilled Network (MFN) products. - """ - fulfillmentCost: Amount - @paamRights( - require: ["Seller_Provided_Costs_API_Read", "Seller_Provided_Costs_Read"] - ) - @resultRetention(duration: "P30D") - """ - Cost to store a single unit of the product per month. This value is provided by the seller and applicable to Merchant Fulfilled Network (MFN) products. - """ - storageCost: Amount - @paamRights( - require: ["Seller_Provided_Costs_API_Read", "Seller_Provided_Costs_Read"] - ) - @resultRetention(duration: "P30D") +"A root type for queries" +type Query { + "Seller economics queries version 2024_03_15." + analytics_economics_2024_03_15: Analytics_Economics_2024_03_15 } -""" -The net proceeds for a given product in the seller's account for a given time range. These fields are calculated as sales.netProductSales - sum of fees.charge.totalAmount - sum of ads.charge.totalAmount - (cost of Merchant Fulfilled Network (MFN) products or cost of Fulfillment by Amazon (FBA) products) * sales.netUnitsSold. -""" -type NetProceeds { - """ - "Total net proceeds for a given product in the seller's account for a given time range. - """ - total: Amount - @paamRights( - require: ["Seller_Provided_Costs_API_Read", "Seller_Provided_Costs_Read"] - ) - @resultRetention(duration: "P30D") +"The sales data for a given product in the seller's account within a given date range." +type Sales { """ - Net proceeds per unit for a given product in the seller's account for a given time range. This value is calculated by dividing total by sales.netUnitsSold. + The average price of the units sold in the selected time period, calculated by + dividing the orderedProductSales by unitsOrdered for the selected time period. + This field will be null when unitsOrdered is 0. """ - perUnit: Amount - @paamRights( - require: ["Seller_Provided_Costs_API_Read", "Seller_Provided_Costs_Read"] - ) - @resultRetention(duration: "P30D") -} - -""" -Monetary amount with the corresponding currency code. -""" -type Amount { + averageSellingPrice: Amount @resultRetention(duration : "P30D") + "The amount of net product sales, calculated by orderedProductSales - refundedProductSales." + netProductSales: Amount! @resultRetention(duration : "P30D") + "The number of net units sold for the selected time period, calculated by unitsOrdered - unitsRefunded." + netUnitsSold: Long! @resultRetention(duration : "P30D") """ - The amount. + The amount of ordered product sales, calculated by multiplying the price of + products and the number of units sold for the selected time period. """ - amount: Float! + orderedProductSales: Amount! @resultRetention(duration : "P30D") + "The amount of refunded product sales for the selected time period, it's counted by refund request time." + refundedProductSales: Amount! @resultRetention(duration : "P30D") """ - Currency code of the amount in ISO 4217 format. + The number of units ordered for the selected time period. Example: For an + order containing 2 copies of book A and 3 copies of book B, the number of + orders is 1, the number of order items is 2 (book A and book B), and the + number of units is 5 (2 + 3). """ - currencyCode: String! + unitsOrdered: Long! @resultRetention(duration : "P30D") + "The number of units refunded in the selected time period." + unitsRefunded: Long! @resultRetention(duration : "P30D") } -""" -Defines how the seller economics data will be aggregated. -""" -input EconomicsAggregation { - """ - The product identifier granularity used in aggregation. By default the results will be aggregated by MSKU. - """ - productId: ProductIdentifierGranularity - """ - The date granularity used in aggregation. By default the results will be aggregated by DAY. - """ - date: DateGranularity -} - -""" -The date granularity used in aggregation. -""" +"The date granularity used in aggregation." enum DateGranularity { - """ - Seller economics data is aggregated by day against marketplace local time. - """ + "Seller economics data is aggregated by day against marketplace local time." DAY - """ - Seller economics data is aggregated by week against marketplace local time, Sunday is the first day of the week. - """ - WEEK - """ - Seller economics data is aggregated by month against marketplace local time. - """ + "Seller economics data is aggregated by month against marketplace local time." MONTH - """ - Seller economics data is aggregated by the entire date range specified by startDate and endDate. - """ + "Seller economics data is aggregated by the entire date range specified by startDate and endDate." RANGE + "Seller economics data is aggregated by week against marketplace local time, Sunday is the first day of the week." + WEEK } -""" -The product identifier granularity used in aggregation. -""" +"The fee type used in filter fee components generation." +enum FeeType { + "Fulfillment by Amazon (FBA) Fulfillment Fees, including base rate and surcharges." + FBA_FULFILLMENT_FEE + "Fulfillment by Amazon (FBA) Monthly Inventory Storage Fee, including base rate and surcharges." + FBA_STORAGE_FEE +} + +"The product identifier granularity used in aggregation." enum ProductIdentifierGranularity { - """ - Seller Economics data is aggregated by parent ASIN. - """ - PARENT_ASIN - """ - Seller Economics data is aggregated by child ASIN. - """ + "Seller Economics data is aggregated by child ASIN." CHILD_ASIN - """ - Seller Economics data is aggregated by fulfillment network sku. - """ + "Seller Economics data is aggregated by fulfillment network sku." FNSKU - """ - Seller Economics data is aggregated by merchant sku. - """ + "Seller Economics data is aggregated by merchant sku." MSKU + "Seller Economics data is aggregated by parent ASIN." + PARENT_ASIN } -""" -The fee type used in filter fee components generation. -""" -enum FeeType { - """ - Fulfillment by Amazon (FBA) Fulfillment Fees, including base rate and surcharges. - """ - FBA_FULFILLMENT_FEE - """ - Fulfillment by Amazon (FBA) Monthly Inventory Storage Fee, including base rate and surcharges. - """ - FBA_STORAGE_FEE +"Date" +scalar Date + +"Long" +scalar Long + +"Defines how the seller economics data will be aggregated." +input EconomicsAggregation { + "The date granularity used in aggregation. By default the results will be aggregated by DAY." + date: DateGranularity + "The product identifier granularity used in aggregation. By default the results will be aggregated by MSKU." + productId: ProductIdentifierGranularity } From 7345234a23ed3365892fba0896b87ee84283936d Mon Sep 17 00:00:00 2001 From: Gibran Waldron Date: Wed, 1 May 2024 09:33:38 -0700 Subject: [PATCH 061/340] Update OrdersV0 model. --- models/orders-api-model/ordersV0.json | 420 -------------------------- 1 file changed, 420 deletions(-) diff --git a/models/orders-api-model/ordersV0.json b/models/orders-api-model/ordersV0.json index eec2f95e9..ee15b5934 100644 --- a/models/orders-api-model/ordersV0.json +++ b/models/orders-api-model/ordersV0.json @@ -1278,222 +1278,6 @@ } } }, - "/orders/v0/orders/{orderId}/fulfillmentInstructions": { - "get": { - "tags": [ - "ordersV0" - ], - "description": "Returns the fulfillment instructions for the order that you specify.\n\n**Usage Plan:**\n\n| Rate (requests per second) | Burst |\n| ---- | ---- |\n| 0.5 | 20 |\n\nThe `x-amzn-RateLimit-Limit` response header returns the usage plan rate limits that were applied to the requested operation, when available. The table above indicates the default rate and burst values for this operation. Selling partners whose business demands require higher throughput may see higher rate and burst values then those shown here. For more information, refer to [Usage Plans and Rate Limits in the Selling Partner API](https://developer-docs.amazon.com/sp-api/docs/usage-plans-and-rate-limits-in-the-sp-api).", - "operationId": "getOrderFulfillmentInstructions", - "parameters": [ - { - "name": "orderId", - "in": "path", - "description": "An Amazon-defined order identifier, in 3-7-7 format.", - "required": true, - "type": "string" - } - ], - "responses": { - "200": { - "description": "Success.", - "schema": { - "$ref": "#/definitions/GetOrderFulfillmentInstructionsResponse" - }, - "examples": { - "application/json":{ - "payload": { - "AmazonOrderId": "902-3159896-1390916", - "FulfillmentPlans": [ - { - "CreationDate": "2023-10-25T12:00:00Z", - "FulfillmentPlanId" : "1", - "FulfillmentType" : "SHIP", - "FulfillmentPlanStatus": "ACTIVE", - "LastStatusUpdateDate" : "2023-10-25T12:00:00Z", - "FulfillmentPlanItems": [ - { - "OrderItemId": "6217867064725", - "Measurement" : { - "Unit" : "COUNT", - "Value" : 20 - } - } - ], - "ShippingInstructions": { - "CarrierCode": "UPS", - "ShippingMethod": "Ground", - "ShippingConstraints" : { - "PalletDelivery" : "MANDATORY" - } - }, - "FulfillmentLocation": { - "SupplySourceId": "bb3e1352-a3b4-4b99-aeb7-b1a923837ef2" - } - } - ] - } - } - }, - "headers": { - "x-amzn-RateLimit-Limit": { - "type": "string", - "description": "Your rate limit (requests per second) for this operation." - }, - "x-amzn-RequestId": { - "type": "string", - "description": "Unique request reference identifier." - } - }, - "x-amzn-api-sandbox": { - "static": [ - { - "request": { - "parameters": { - "orderId": { - "value": "TEST_CASE_200" - } - } - }, - "response": { - "payload": { - "AmazonOrderId": "TEST_CASE_200", - "FulfillmentPlans": [{ - "CreationDate": "2023-10-25T12:00:00Z", - "FulfillmentPlanId" : "1", - "FulfillmentType" : "SHIP", - "FulfillmentPlanStatus": "ACTIVE", - "LastStatusUpdateDate" : "2023-10-25T12:00:00Z", - "FulfillmentPlanItems": [ - { - "OrderItemId": "6217867064725", - "Measurement" : { - "Unit" : "COUNT", - "Value" : 20 - } - } - ], - "ShippingInstructions": { - "CarrierCode": "UPS", - "ShippingMethod": "Ground", - "ShippingConstraints" : { - "PalletDelivery" : "MANDATORY" - } - }, - "FulfillmentLocation": { - "SupplySourceId": "bb3e1352-a3b4-4b99-aeb7-b1a923837ef2" - } - }] - } - } - } - ] - } - }, - "400": { - "description": "Request has missing or invalid parameters and cannot be parsed.", - "schema": { - "$ref": "#/definitions/GetOrderFulfillmentInstructionsResponse" - }, - "headers": { - "x-amzn-RateLimit-Limit": { - "type": "string", - "description": "Your rate limit (requests per second) for this operation." - }, - "x-amzn-RequestId": { - "type": "string", - "description": "Unique request reference identifier." - } - }, - "x-amzn-api-sandbox": { - "static": [ - { - "request": { - "parameters": { - "orderId": { - "value": "TEST_CASE_400" - } - } - }, - "response": { - "errors": [ - { - "code": "InvalidInput", - "message": "Invalid Input" - } - ] - } - } - ] - } - }, - "403": { - "description": "Indicates access to the resource is forbidden. Possible reasons include Access Denied, Unauthorized, Expired Token, or Invalid Signature.", - "schema": { - "$ref": "#/definitions/GetOrderFulfillmentInstructionsResponse" - }, - "headers": { - "x-amzn-RequestId": { - "type": "string", - "description": "Unique request reference identifier." - } - } - }, - "404": { - "description": "The resource specified does not exist.", - "schema": { - "$ref": "#/definitions/GetOrderFulfillmentInstructionsResponse" - }, - "headers": { - "x-amzn-RateLimit-Limit": { - "type": "string", - "description": "Your rate limit (requests per second) for this operation." - }, - "x-amzn-RequestId": { - "type": "string", - "description": "Unique request reference identifier." - } - } - }, - "429": { - "description": "The frequency of requests was greater than allowed.", - "schema": { - "$ref": "#/definitions/GetOrderFulfillmentInstructionsResponse" - }, - "headers": { - "x-amzn-RequestId": { - "type": "string", - "description": "Unique request reference identifier." - } - } - }, - "500": { - "description": "An unexpected condition occurred that prevented the server from fulfilling the request.", - "schema": { - "$ref": "#/definitions/GetOrderFulfillmentInstructionsResponse" - }, - "headers": { - "x-amzn-RequestId": { - "type": "string", - "description": "Unique request reference identifier." - } - } - }, - "503": { - "description": "Temporary overloading or maintenance of the server.", - "schema": { - "$ref": "#/definitions/GetOrderFulfillmentInstructionsResponse" - }, - "headers": { - "x-amzn-RequestId": { - "type": "string", - "description": "Unique request reference identifier." - } - } - } - } - } - }, "/orders/v0/orders/{orderId}/orderItems": { "get": { "tags": [ @@ -3110,20 +2894,6 @@ }, "description": "The response schema for the `getOrderItemsBuyerInfo` operation." }, - "GetOrderFulfillmentInstructionsResponse": { - "type": "object", - "properties": { - "payload" : { - "description": "The payload for the `getOrderFulfillmentInstructions` operation.", - "$ref": "#/definitions/FulfillmentInstructions" - }, - "errors": { - "description": "One or more unexpected errors occurred during the `getOrderFulfillmentInstructions` operation.", - "$ref": "#/definitions/ErrorList" - } - }, - "description": "The response schema for the `getOrderFulfillmentInstructions` operation." - }, "OrdersList": { "type": "object", "required": [ @@ -4699,146 +4469,6 @@ }, "description": "Contains the instructions about the fulfillment like where should it be fulfilled from." }, - "FulfillmentInstructions": { - "type": "object", - "description": "Contains all fulfillment plans for the order", - "required": [ - "AmazonOrderId" - ], - "properties": { - "FulfillmentPlans": { - "type": "array", - "description": "List of all fulfillment plans for the given order id", - "items": { - "$ref": "#/definitions/FulfillmentPlan" - } - }, - "AmazonOrderId": { - "type": "string", - "description": "An Amazon-defined order identifier, in 3-7-7 format." - } - } - }, - "FulfillmentPlan": { - "type": "object", - "description": "A collection of order items that are to be fulfilled from the same location with the same shipping, pickup, and service instructions", - "required": [ - "FulfillmentPlanId", - "CreationDate", - "FulfillmentType", - "FulfillmentPlanStatus", - "LastStatusUpdateDate", - "FulfillmentPlanItems" - ], - "properties": { - "FulfillmentPlanId": { - "type": "string", - "description": "Unique identifier of a fulfillment plan" - }, - "CreationDate": { - "type": "string", - "description": "Time when the fulfillment plan was created in ISO 8601 format" - }, - "FulfillmentType": { - "type": "string", - "description": "Type of fulfillment", - "enum": [ - "INSTORE_PICKUP", - "SERVICE", - "SHIP" - ], - "x-docgen-enum-table-extension": [ - { - "value": "INSTORE_PICKUP", - "description": "Buyer picks up items in plan from store" - }, - { - "value": "SERVICE", - "description": "Services that are performed for the buyer, such as assembly" - }, - { - "value": "SHIP", - "description": "Shipped by seller through detailed ship method" - } - ] - }, - "FulfillmentPlanStatus": { - "type": "string", - "description": "Status of the fulfillment plan", - "enum": [ - "ACTIVE", - "ABORTED", - "COMPLETED", - "PARTIALLY_FULFILLED" - ], - "x-docgen-enum-table-extension": [ - { - "value": "ACTIVE", - "description": "The plan is ready to be fulfilled" - }, - { - "value": "ABORTED", - "description": "Plan was canceled, either through order canceling or replanning of shipment." - }, - { - "value": "COMPLETED", - "description": "Plan has been fulfilled and completed" - }, - { - "value": "PARTIALLY_FULFILLED", - "description": "Plan has been partially fulfilled" - } - ] - }, - "LastStatusUpdateDate": { - "type": "string", - "description": "Time when the fulfillment plan's status was last updated in ISO 8601 Format" - }, - "FulfillmentLocation": { - "description": "Represents a location from which the plan is to be fulfilled", - "$ref": "#/definitions/FulfillmentLocation" - }, - "ShippingInstructions": { - "description": "Represents shipping related information of a delivery", - "$ref": "#/definitions/ShippingInstructions" - }, - "FulfillmentPlanItems": { - "description": "Represents the details of order items that are included in the fulfillment plan", - "type": "array", - "items": { - "$ref": "#/definitions/FulfillmentPlanItem" - } - } - } - }, - "FulfillmentLocation": { - "type": "object", - "description": "Represents a location from which the plan is to be fulfilled", - "properties": { - "SupplySourceId": { - "type": "string", - "description": "The fulfillment location identifier" - } - } - }, - "ShippingInstructions": { - "type": "object", - "description": "Represents shipping related information of a delivery", - "properties": { - "CarrierCode": { - "description": "Carrier Name that will deliver the package.", - "type": "string" - }, - "ShippingMethod": { - "description": "Ship method to be used for shipping the order", - "type": "string" - }, - "ShippingConstraints": { - "description": "Models constraints around shipping", - "$ref": "#/definitions/FulfillmentPlanShippingConstraints" - } - } - }, "ShippingConstraints": { "type": "object", "description": "Delivery constraints applicable to this order.", @@ -4862,56 +4492,6 @@ } ] }, - "FulfillmentPlanShippingConstraints": { - "type": "object", - "description" :"Delivery constraints applicable to this order.", - "properties" : { - "PalletDelivery": { - "description": "Indicates if the line item needs to be delivered by pallet", - "$ref": "#/definitions/FulfillmentPlanConstraintType" - }, - "SignatureConfirmation": { - "description": "Indicates if the line item needs to be shipped with delivery confirmation services", - "$ref": "#/definitions/FulfillmentPlanConstraintType" - } - } - }, - "FulfillmentPlanConstraintType": { - "type": "string", - "description" :"Details the importance of the constraint present on the item", - "enum": [ - "MANDATORY", - "RECOMMENDED" - ], - "x-docgen-enum-table-extension": [ - { - "value": "MANDATORY", - "description": "Item must follow the constraint to ensure order is met with buyer's delivery requirements." - }, - { - "value": "RECOMMENDED", - "description": "Item is recommended to follow the constraint to ensure order is met with buyer's delivery requirements." - } - ] - }, - "FulfillmentPlanItem": { - "type": "object", - "description": "The order items associated with this fulfillment plan", - "required": [ - "OrderItemId", - "Measurement" - ], - "properties": { - "OrderItemId": { - "type": "string", - "description": "An Amazon-defined associated order item's order item identifier." - }, - "Measurement": { - "description": "Measurement information for the order item.", - "$ref": "#/definitions/Measurement" - } - } - }, "BuyerInfo": { "type": "object", "properties": { From d8dc5b7f460341a01eada74c9748750b4f18e069 Mon Sep 17 00:00:00 2001 From: Gibran Waldron Date: Mon, 6 May 2024 13:14:01 -0700 Subject: [PATCH 062/340] Remove analytics_economics_2024_03_15.graphql from GitHub. --- .../analytics_economics_2024_03_15.graphql | 339 ------------------ 1 file changed, 339 deletions(-) delete mode 100644 schemas/data-kiosk/analytics_economics_2024_03_15.graphql diff --git a/schemas/data-kiosk/analytics_economics_2024_03_15.graphql b/schemas/data-kiosk/analytics_economics_2024_03_15.graphql deleted file mode 100644 index 224c06c53..000000000 --- a/schemas/data-kiosk/analytics_economics_2024_03_15.graphql +++ /dev/null @@ -1,339 +0,0 @@ -schema { - query: Query -} - -""" -This directive specifies the retention duration of a query containing a -particular field. When a query contains multiple fields with different -retentions, the shortest (minimum) retention is applied to the query. The -retention of a query's resulting documents always matches the retention of the query. -""" -directive @resultRetention( - "An ISO 8601 duration." - duration: String! - ) on FIELD_DEFINITION - -"The advertisements spend data summary for the seller's account aggregated by transaction event type: charge." -type AdSummary { - "Advertisement type name, for example: \"Sponsored Products charge\"." - adTypeName: String! @resultRetention(duration : "P30D") - "Charge aggregated detail for an advertisement type." - charge: AggregatedDetail -} - -""" -The aggregated transaction detail for the seller's account aggregated by -transaction event type and transaction type, for example: charge and -"fbaFulfillmentFee". -""" -type AggregatedDetail { - "Amount calculated by rate card." - amount: Amount! @resultRetention(duration : "P30D") - """ - Final charge amount per unit after promotion and tax are considered. This - value is calculated by dividing totalAmount by quantity. This value will be - null when quantity is null. - """ - amountPerUnit: Amount @resultRetention(duration : "P30D") - "The promotion amount associated with this transaction type. This value is deducted from amount when computing totalAmount." - promotionAmount: Amount! @resultRetention(duration : "P30D") - """ - Charged quantity for a given product in the seller's account. When the fee is - not charged on a per unit basis, this value may be null or may not be an integer. - """ - quantity: Float @resultRetention(duration : "P30D") - "The tax amount associated with this transaction type. This value is added to amount when computing totalAmount." - taxAmount: Amount! @resultRetention(duration : "P30D") - """ - Final charge amount after promotion and tax are considered. This value is - calculated as amount - promotionAmount + taxAmount. - """ - totalAmount: Amount! @resultRetention(duration : "P30D") -} - -"Monetary amount with the corresponding currency code." -type Amount { - "The amount." - amount: Float! - "Currency code of the amount in ISO 4217 format." - currencyCode: String! -} - -"A root type for seller economics queries version 2024_03_15." -type Analytics_Economics_2024_03_15 { - """ - A query to retrieve seller economics data for the seller's account aggregated - by date and product identifier. The seller economics data consists of - aggregated sales, fees, and cost for selected period. - """ - economics( - "Determines how the seller economics data should be aggregated. By default it's aggregated by MSKU and DAY." - aggregateBy: EconomicsAggregation, - """ - The end date of the seller economics data to retrieve. If the provided end - date occurs mid-week or mid-month in UTC+0 timezone, the preceding Saturday - for WEEK date granularity or the last day of the previous month for MONTH - date granularity will be used instead. - """ - endDate: Date!, - "Specifies which fee types to breakdown into individual components." - includeComponentsForFeeTypes: [FeeType], - "The marketplace identifiers to retrieve seller economics data for." - marketplaceIds: [String]!, - """ - The start date of the seller economics data to retrieve. The start date must - be no more than two years ago. If the provided start date occurs mid-week or - mid-month in UTC+0 timezone, the following Sunday for WEEK date granularity - or the first day of the next month for MONTH date granularity will be used instead. - """ - startDate: Date! - ): [Economics] -} - -"The seller economics data for a given product in the seller's account." -type Economics { - """ - The advertising spend data for the product within the specified date range. - Supported advertisement charge types can be found - [here](https://sellercentral.amazon.com/gp/help/GZ8Y22NL2FSRY8M5). - """ - ads: [AdSummary] - """ - The Amazon Standard Identification Number of the child product. Child products - are unique, sellable products that are related in our catalog to a single, - non-sellable parent product. Note: This field is only present when product - aggregation is CHILD_ASIN, FNSKU or MSKU. - """ - childAsin: String @resultRetention(duration : "P30D") - """ - The off Amazon cost provided by the seller for this product (per unit). The - off Amazon cost can be provided on [SKU - Central](https://sellercentral.amazon.com/skucentral?mSku=xxx) and [Revenue - Calculator](https://sellercentral.amazon.com/revcal). - """ - cost: PerUnitCost - "The end date of the seller economics data, please note this date may be adjusted to the end of DateGranularity." - endDate: Date! @resultRetention(duration : "P30D") - """ - The fees applied to the product within the specified date range. Supported fee - types can be found - [here](https://sellercentral.amazon.com/gp/help/GZ8Y22NL2FSRY8M5.) - """ - fees: [FeeSummary]! - """ - The Fulfillment Network Stock Keeping Unit (FNSKU) of the product. Note: This - field is only present when product aggregation is FNSKU or MSKU. This field - may be null when product aggregation is MSKU and the row is associated with - more than one FNSKU. - """ - fnsku: String @resultRetention(duration : "P30D") - "The marketplace identifier of the seller economics data." - marketplaceId: String! @resultRetention(duration : "P30D") - """ - The Merchant Stock Keeping Unit (MSKU) of the product. Note: This field is - only present when product aggregation is FNSKU or MSKU. This field may be null - when product aggregation is FNSKU and the row is associated with more than one MSKU. - """ - msku: String @resultRetention(duration : "P30D") - """ - The net proceeds for this product within the specified date range. The value - remains unchanged regardless of whether sales, fees, ads, or cost are selected in the query. - """ - netProceeds: NetProceeds! - """ - The Amazon Standard Identification Number of the parent product. A parent - product appears in our catalog as a non-buyable, generic identifier for a - product that has buyable variations (child products). - """ - parentAsin: String! @resultRetention(duration : "P30D") - "The sales data for the product within the specified date range." - sales: Sales! - "The start date of the seller economics data, please note this date may be adjusted to the start of DateGranularity." - startDate: Date! @resultRetention(duration : "P30D") -} - -""" -The item level per unit cost provided by the seller and applicable to -Fulfillment by Amazon (FBA) products. Fields in this type will be null if not -provided by the seller. -""" -type FbaPerUnitCost { - """ - Cost of shipping the Fulfillment by Amazon (FBA) item to an Amazon fulfillment - center. This value is provided by the seller and applicable to Fulfillment by - Amazon (FBA) products. - """ - shippingToAmazonCost: Amount @resultRetention(duration : "P30D") -} - -""" -A fee applied to a given product in the seller's account within a given date -range. Fee information can be found -[here](https://sellercentral.amazon.com/gp/help/GZ8Y22NL2FSRY8M5). -""" -type Fee { - "Fee aggregated transaction detail." - aggregatedDetail: AggregatedDetail! - """ - A breakdown of the fee into individual components. This field will be null for - fee types that cannot be divided into individual components. - """ - components: [FeeComponent] @resultRetention(duration : "P30D") -} - -""" -The fee component data applied to a given product in the seller's account within -a given date range. It's breakdown of parent fee. -""" -type FeeComponent { - "Fee component aggregated detail." - aggregatedDetail: AggregatedDetail! - "Fee component name, for example: \"Base fulfillment fee\"." - name: String! @resultRetention(duration : "P30D") -} - -"The fees data summary for the seller's account aggregated by transaction event type: charge." -type FeeSummary { - "Charge summary for a fee type." - charge: Fee - "Fee type name, for example: \"FBA fulfillment fees\"" - feeTypeName: String! @resultRetention(duration : "P30D") -} - -""" -The item level per unit cost provided by the seller and applicable to Merchant -Fulfilled Network (MFN) products. Fields in this type will be null if not -provided by the seller. -""" -type MfnPerUnitCost { - """ - Cost of fulfilling an order containing the product, including labor, packing - material, shipping to customer, customer service etc. This value is provided - by the seller and applicable to Merchant Fulfilled Network (MFN) products. - """ - fulfillmentCost: Amount @resultRetention(duration : "P30D") - """ - Cost to store a single unit of the product per month. This value is provided - by the seller and applicable to Merchant Fulfilled Network (MFN) products. - """ - storageCost: Amount @resultRetention(duration : "P30D") -} - -""" -The net proceeds for a given product in the seller's account for a given time -range. These fields are calculated as sales.netProductSales - sum of -fees.charge.totalAmount - sum of ads.charge.totalAmount - (cost of Merchant -Fulfilled Network (MFN) products or cost of Fulfillment by Amazon (FBA) -products) * sales.netUnitsSold. -""" -type NetProceeds { - """ - Net proceeds per unit for a given product in the seller's account for a given - time range. This value is calculated by dividing total by sales.netUnitsSold. - """ - perUnit: Amount @resultRetention(duration : "P30D") - "\"Total net proceeds for a given product in the seller's account for a given time range." - total: Amount @resultRetention(duration : "P30D") -} - -"The item level per unit cost provided by seller. Fields in this type will be null if not provided by the seller." -type PerUnitCost { - """ - Cost to manufacture or acquire the product. This value is provided by the - seller and is applicable to both Fulfillment by Amazon (FBA) and Merchant - Fulfilled Network (MFN) products. - """ - costOfGoodsSold: Amount @resultRetention(duration : "P30D") - "The item level per unit cost provided by the seller and applicable to Fulfillment by Amazon (FBA) products." - fbaCost: FbaPerUnitCost - "The item level per unit cost provided by the seller and applicable to Merchant Fulfilled Network (MFN) products." - mfnCost: MfnPerUnitCost - """ - Miscellaneous costs not related to this specific product, ex: overhead, etc. - This value is provided by the seller and applicable to both Fulfillment by - Amazon (FBA) and Merchant Fulfilled Network (MFN) products. - """ - miscellaneousCost: Amount @resultRetention(duration : "P30D") -} - -"A root type for queries" -type Query { - "Seller economics queries version 2024_03_15." - analytics_economics_2024_03_15: Analytics_Economics_2024_03_15 -} - -"The sales data for a given product in the seller's account within a given date range." -type Sales { - """ - The average price of the units sold in the selected time period, calculated by - dividing the orderedProductSales by unitsOrdered for the selected time period. - This field will be null when unitsOrdered is 0. - """ - averageSellingPrice: Amount @resultRetention(duration : "P30D") - "The amount of net product sales, calculated by orderedProductSales - refundedProductSales." - netProductSales: Amount! @resultRetention(duration : "P30D") - "The number of net units sold for the selected time period, calculated by unitsOrdered - unitsRefunded." - netUnitsSold: Long! @resultRetention(duration : "P30D") - """ - The amount of ordered product sales, calculated by multiplying the price of - products and the number of units sold for the selected time period. - """ - orderedProductSales: Amount! @resultRetention(duration : "P30D") - "The amount of refunded product sales for the selected time period, it's counted by refund request time." - refundedProductSales: Amount! @resultRetention(duration : "P30D") - """ - The number of units ordered for the selected time period. Example: For an - order containing 2 copies of book A and 3 copies of book B, the number of - orders is 1, the number of order items is 2 (book A and book B), and the - number of units is 5 (2 + 3). - """ - unitsOrdered: Long! @resultRetention(duration : "P30D") - "The number of units refunded in the selected time period." - unitsRefunded: Long! @resultRetention(duration : "P30D") -} - -"The date granularity used in aggregation." -enum DateGranularity { - "Seller economics data is aggregated by day against marketplace local time." - DAY - "Seller economics data is aggregated by month against marketplace local time." - MONTH - "Seller economics data is aggregated by the entire date range specified by startDate and endDate." - RANGE - "Seller economics data is aggregated by week against marketplace local time, Sunday is the first day of the week." - WEEK -} - -"The fee type used in filter fee components generation." -enum FeeType { - "Fulfillment by Amazon (FBA) Fulfillment Fees, including base rate and surcharges." - FBA_FULFILLMENT_FEE - "Fulfillment by Amazon (FBA) Monthly Inventory Storage Fee, including base rate and surcharges." - FBA_STORAGE_FEE -} - -"The product identifier granularity used in aggregation." -enum ProductIdentifierGranularity { - "Seller Economics data is aggregated by child ASIN." - CHILD_ASIN - "Seller Economics data is aggregated by fulfillment network sku." - FNSKU - "Seller Economics data is aggregated by merchant sku." - MSKU - "Seller Economics data is aggregated by parent ASIN." - PARENT_ASIN -} - -"Date" -scalar Date - -"Long" -scalar Long - -"Defines how the seller economics data will be aggregated." -input EconomicsAggregation { - "The date granularity used in aggregation. By default the results will be aggregated by DAY." - date: DateGranularity - "The product identifier granularity used in aggregation. By default the results will be aggregated by MSKU." - productId: ProductIdentifierGranularity -} From ffc03ba27d379446f6fadaedbdbfc70dd6b1a334 Mon Sep 17 00:00:00 2001 From: Shreeharsh <162564990+shreeharsh-a@users.noreply.github.com> Date: Thu, 9 May 2024 12:51:53 +0530 Subject: [PATCH 063/340] Update closing_inactive_issues.yml --- .github/workflows/closing_inactive_issues.yml | 73 ++++++------------- 1 file changed, 23 insertions(+), 50 deletions(-) diff --git a/.github/workflows/closing_inactive_issues.yml b/.github/workflows/closing_inactive_issues.yml index 4340e285c..9c9356bf1 100644 --- a/.github/workflows/closing_inactive_issues.yml +++ b/.github/workflows/closing_inactive_issues.yml @@ -1,57 +1,30 @@ -name: "Close stale issues" +# This workflow warns and then closes issues and PRs that have had no activity for a specified amount of time. +# +# You can adjust the behavior by modifying this file. +# For more information, see: +# https://github.com/actions/stale +name: Mark stale issues and pull requests -# Controls when the action will run. on: schedule: - # Controls when the action will run: Minute (0-59) | Hour (0-23) | Day of the month (1-31) | Month (1-12 or JAN-DEC) | Day of the week (0-6 or SUN-SAT) - - cron: "30 18 * * *" + - cron: '0 0 * * *' jobs: - cleanup: - name: Stale issue job - runs-on: ubuntu-latest - steps: - - uses: aws-actions/stale-issue-cleanup@v4 - with: - - #Issue types to process ("issues", "pull_requests", or "issues,pull_requests") - issue-types: 'issues' - # Setting messages to an empty string will cause the automation to skip - # that category - # Implementing ancient issue closure only at the moment. - stale-issue-message: 'This is a very old issue that is probably not getting as much - attention as it deserves. - We encourage you to check if this is still an issue after - the latest release and if you find that this is still a problem, please feel free - to open a new issue and make a reference to this one.' - #ancient-issue-message: 'It looks like this issue has not been active for more than thirty days. - #In the absence of more information, we will be closing this issue soon. - #If you find that this is still a problem, please add a comment to prevent automatic closure, or - #if the issue is already closed please feel free to reopen it.' - - # These labels are required - stale-issue-label: 'closing soon' - exempt-issue-labels: 'no auto-closure' - response-requested-label: 'answer required' + stale: - # Don't set closed-for-staleness label to skip closing very old issues - # regardless of label - closed-for-staleness-label: 'closed for inactivity' - - # Issue timing. Setting ancient issues to 6 months and stale to 1 month with no activity. - # Issue will automatically close after 5 days of being marked as stale. - days-before-stale: 180 - days-before-close: 5 - days-before-ancient: 180 - - # If you don't want to mark an issue as being ancient based on a - # threshold of "upvotes", you can set this here. An "upvote" is - # the total number of +1, heart, hooray, and rocket reactions - # on an issue. - # Current threshold based off the minimum expected for a possible bug. - minimum-upvotes-to-exempt: 10 + runs-on: ubuntu-latest + permissions: + issues: write + contents: write - repo-token: ${{ secrets.GITHUB_TOKEN }} - loglevel: DEBUG - # Set dry-run to true to not perform label or close actions. - #dry-run: true \ No newline at end of file + steps: + - uses: actions/stale@v5 + with: + days-before-issue-stale: 180 + days-before-issue-close: 3 + close-issue-message: 'closed for inactivity' + repo-token: ${{ secrets.GITHUB_TOKEN }} + stale-issue-message: 'This is a very old issue that is probably not getting as much attention as it deserves. We encourage you to check if this is still an issue after the latest release and if you find that this is still a problem, please feel free to open a new issue and make a reference to this one.' + stale-issue-label: 'closing soon' + minimum-upvotes-to-exempt: 10 + operations-per-run: 1000 From 795683b1f90c4ae3eedb7b3f4613f21839d582b1 Mon Sep 17 00:00:00 2001 From: Shreeharsh <162564990+shreeharsh-a@users.noreply.github.com> Date: Thu, 9 May 2024 13:04:04 +0530 Subject: [PATCH 064/340] Update closing_inactive_issues.yml --- .github/workflows/closing_inactive_issues.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/workflows/closing_inactive_issues.yml b/.github/workflows/closing_inactive_issues.yml index 9c9356bf1..5f166a962 100644 --- a/.github/workflows/closing_inactive_issues.yml +++ b/.github/workflows/closing_inactive_issues.yml @@ -7,7 +7,7 @@ name: Mark stale issues and pull requests on: schedule: - - cron: '0 0 * * *' + - cron: '5 * * * *' jobs: stale: @@ -20,7 +20,7 @@ jobs: steps: - uses: actions/stale@v5 with: - days-before-issue-stale: 180 + days-before-issue-stale: 90 days-before-issue-close: 3 close-issue-message: 'closed for inactivity' repo-token: ${{ secrets.GITHUB_TOKEN }} From e5663e3fd668d5941c7461fbc211a8385c365289 Mon Sep 17 00:00:00 2001 From: Shreeharsh <162564990+shreeharsh-a@users.noreply.github.com> Date: Thu, 9 May 2024 14:39:43 +0530 Subject: [PATCH 065/340] Update closing_inactive_issues.yml --- .github/workflows/closing_inactive_issues.yml | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/.github/workflows/closing_inactive_issues.yml b/.github/workflows/closing_inactive_issues.yml index 5f166a962..bbac872eb 100644 --- a/.github/workflows/closing_inactive_issues.yml +++ b/.github/workflows/closing_inactive_issues.yml @@ -18,7 +18,7 @@ jobs: contents: write steps: - - uses: actions/stale@v5 + - uses: actions/stale@v9 with: days-before-issue-stale: 90 days-before-issue-close: 3 @@ -26,5 +26,4 @@ jobs: repo-token: ${{ secrets.GITHUB_TOKEN }} stale-issue-message: 'This is a very old issue that is probably not getting as much attention as it deserves. We encourage you to check if this is still an issue after the latest release and if you find that this is still a problem, please feel free to open a new issue and make a reference to this one.' stale-issue-label: 'closing soon' - minimum-upvotes-to-exempt: 10 operations-per-run: 1000 From c86a0fcfa5efaaa774cb6c4510023533a468b15a Mon Sep 17 00:00:00 2001 From: Gibran Waldron Date: Thu, 9 May 2024 11:28:47 -0700 Subject: [PATCH 066/340] Add Economics DK schema, and update sales and trafic schemas. --- .../analytics_economics_2024_03_15.graphql | 339 ++++++++++++++++++ ...alytics_salesAndTraffic_2023_11_15.graphql | 22 +- ...alytics_salesAndTraffic_2024_04_24.graphql | 4 +- 3 files changed, 352 insertions(+), 13 deletions(-) create mode 100644 schemas/data-kiosk/analytics_economics_2024_03_15.graphql diff --git a/schemas/data-kiosk/analytics_economics_2024_03_15.graphql b/schemas/data-kiosk/analytics_economics_2024_03_15.graphql new file mode 100644 index 000000000..4a54c05fb --- /dev/null +++ b/schemas/data-kiosk/analytics_economics_2024_03_15.graphql @@ -0,0 +1,339 @@ +schema { + query: Query +} + +""" +This directive specifies the retention duration of a query containing a +particular field. When a query contains multiple fields with different +retentions, the shortest (minimum) retention is applied to the query. The +retention of a query's resulting documents always matches the retention of the query. +""" +directive @resultRetention( + "An ISO 8601 duration." + duration: String! + ) on FIELD_DEFINITION + +"The advertisements spend data summary for the seller's account aggregated by transaction event type: charge." +type AdSummary { + "Advertisement type name, for example: \"Sponsored Products charge\"." + adTypeName: String! @resultRetention(duration : "P30D") + "Charge aggregated detail for an advertisement type." + charge: AggregatedDetail +} + +""" +The aggregated transaction detail for the seller's account aggregated by +transaction event type and transaction type, for example: charge and +"fbaFulfillmentFee". +""" +type AggregatedDetail { + "Amount calculated by rate card." + amount: Amount! @resultRetention(duration : "P30D") + """ + Final charge amount per unit after promotion and tax are considered. This + value is calculated by dividing totalAmount by quantity. This value will be + null when quantity is null. + """ + amountPerUnit: Amount @resultRetention(duration : "P30D") + "The promotion amount associated with this transaction type. This value is deducted from amount when computing totalAmount." + promotionAmount: Amount! @resultRetention(duration : "P30D") + """ + Charged quantity for a given product in the seller's account. When the fee is + not charged on a per unit basis, this value may be null or may not be an integer. + """ + quantity: Float @resultRetention(duration : "P30D") + "The tax amount associated with this transaction type. This value is added to amount when computing totalAmount." + taxAmount: Amount! @resultRetention(duration : "P30D") + """ + Final charge amount after promotion and tax are considered. This value is + calculated as amount - promotionAmount + taxAmount. + """ + totalAmount: Amount! @resultRetention(duration : "P30D") +} + +"Monetary amount with the corresponding currency code." +type Amount { + "The amount." + amount: Float! + "Currency code of the amount in ISO 4217 format." + currencyCode: String! +} + +"A root type for seller economics queries version 2024_03_15." +type Analytics_Economics_2024_03_15 { + """ + A query to retrieve seller economics data for the seller's account aggregated + by date and product identifier. The seller economics data consists of + aggregated sales, fees, and cost for selected period. + """ + economics( + "Determines how the seller economics data should be aggregated. By default it's aggregated by MSKU and DAY." + aggregateBy: EconomicsAggregation, + """ + The end date of the seller economics data to retrieve. If the provided end + date occurs mid-week or mid-month in UTC+0 timezone, the preceding Saturday + for WEEK date granularity or the last day of the previous month for MONTH + date granularity will be used instead. + """ + endDate: Date!, + "Specifies which fee types to breakdown into individual components." + includeComponentsForFeeTypes: [FeeType], + "The marketplace identifiers to retrieve seller economics data for." + marketplaceIds: [String]!, + """ + The start date of the seller economics data to retrieve. The start date must + be no more than two years ago. If the provided start date occurs mid-week or + mid-month in UTC+0 timezone, the following Sunday for WEEK date granularity + or the first day of the next month for MONTH date granularity will be used instead. + """ + startDate: Date! + ): [Economics] +} + +"The seller economics data for a given product in the seller's account." +type Economics { + """ + The advertising spend data for the product within the specified date range. + Supported advertisement charge types can be found + [here](https://sellercentral.amazon.com/gp/help/GZ8Y22NL2FSRY8M5). + """ + ads: [AdSummary] + """ + The Amazon Standard Identification Number of the child product. Child products + are unique, sellable products that are related in our catalog to a single, + non-sellable parent product. Note: This field is only present when product + aggregation is CHILD_ASIN, FNSKU or MSKU. + """ + childAsin: String @resultRetention(duration : "P30D") + """ + The off Amazon cost provided by the seller for this product (per unit). The + off Amazon cost can be provided on [SKU + Central](https://sellercentral.amazon.com/skucentral?mSku=xxx) and [Revenue + Calculator](https://sellercentral.amazon.com/revcal). + """ + cost: PerUnitCost + "The end date of the seller economics data, please note this date may be adjusted to the end of DateGranularity." + endDate: Date! @resultRetention(duration : "P30D") + """ + The fees applied to the product within the specified date range. Supported fee + types can be found + [here](https://sellercentral.amazon.com/gp/help/GZ8Y22NL2FSRY8M5.) + """ + fees: [FeeSummary]! + """ + The Fulfillment Network Stock Keeping Unit (FNSKU) of the product. Note: This + field is only present when product aggregation is FNSKU or MSKU. This field + may be null when product aggregation is MSKU and the row is associated with + more than one FNSKU. + """ + fnsku: String @resultRetention(duration : "P30D") + "The marketplace identifier of the seller economics data." + marketplaceId: String! @resultRetention(duration : "P30D") + """ + The Merchant Stock Keeping Unit (MSKU) of the product. Note: This field is + only present when product aggregation is FNSKU or MSKU. This field may be null + when product aggregation is FNSKU and the row is associated with more than one MSKU. + """ + msku: String @resultRetention(duration : "P30D") + """ + The net proceeds for this product within the specified date range. The value + remains unchanged regardless of whether sales, fees, ads, or cost are selected in the query. + """ + netProceeds: NetProceeds! + """ + The Amazon Standard Identification Number of the parent product. A parent + product appears in our catalog as a non-buyable, generic identifier for a + product that has buyable variations (child products). + """ + parentAsin: String! @resultRetention(duration : "P30D") + "The sales data for the product within the specified date range." + sales: Sales! + "The start date of the seller economics data, please note this date may be adjusted to the start of DateGranularity." + startDate: Date! @resultRetention(duration : "P30D") +} + +""" +The item level per unit cost provided by the seller and applicable to +Fulfillment by Amazon (FBA) products. Fields in this type will be null if not +provided by the seller. +""" +type FbaPerUnitCost { + """ + Cost of shipping the Fulfillment by Amazon (FBA) item to an Amazon fulfillment + center. This value is provided by the seller and applicable to Fulfillment by + Amazon (FBA) products. + """ + shippingToAmazonCost: Amount @resultRetention(duration : "P30D") +} + +""" +A fee applied to a given product in the seller's account within a given date +range. Fee information can be found +[here](https://sellercentral.amazon.com/gp/help/GZ8Y22NL2FSRY8M5). +""" +type Fee { + "Fee aggregated transaction detail." + aggregatedDetail: AggregatedDetail! + """ + A breakdown of the fee into individual components. This field will be null for + fee types that cannot be divided into individual components. + """ + components: [FeeComponent] @resultRetention(duration : "P30D") +} + +""" +The fee component data applied to a given product in the seller's account within +a given date range. It's breakdown of parent fee. +""" +type FeeComponent { + "Fee component aggregated detail." + aggregatedDetail: AggregatedDetail! + "Fee component name, for example: \"Base fulfillment fee\"." + name: String! @resultRetention(duration : "P30D") +} + +"The fees data summary for the seller's account aggregated by transaction event type: charge." +type FeeSummary { + "Charge summary for a fee type." + charge: Fee + "Fee type name, for example: \"FBA fulfillment fees\"" + feeTypeName: String! @resultRetention(duration : "P30D") +} + +""" +The item level per unit cost provided by the seller and applicable to Merchant +Fulfilled Network (MFN) products. Fields in this type will be null if not +provided by the seller. +""" +type MfnPerUnitCost { + """ + Cost of fulfilling an order containing the product, including labor, packing + material, shipping to customer, customer service etc. This value is provided + by the seller and applicable to Merchant Fulfilled Network (MFN) products. + """ + fulfillmentCost: Amount @resultRetention(duration : "P30D") + """ + Cost to store a single unit of the product per month. This value is provided + by the seller and applicable to Merchant Fulfilled Network (MFN) products. + """ + storageCost: Amount @resultRetention(duration : "P30D") +} + +""" +The net proceeds for a given product in the seller's account for a given time +range. These fields are calculated as sales.netProductSales - sum of +fees.charge.totalAmount - sum of ads.charge.totalAmount - (cost of Merchant +Fulfilled Network (MFN) products or cost of Fulfillment by Amazon (FBA) +products) * sales.netUnitsSold. +""" +type NetProceeds { + """ + Net proceeds per unit for a given product in the seller's account for a given + time range. This value is calculated by dividing total by sales.netUnitsSold. + """ + perUnit: Amount @resultRetention(duration : "P30D") + "\"Total net proceeds for a given product in the seller's account for a given time range." + total: Amount @resultRetention(duration : "P30D") +} + +"The item level per unit cost provided by seller. Fields in this type will be null if not provided by the seller." +type PerUnitCost { + """ + Cost to manufacture or acquire the product. This value is provided by the + seller and is applicable to both Fulfillment by Amazon (FBA) and Merchant + Fulfilled Network (MFN) products. + """ + costOfGoodsSold: Amount @resultRetention(duration : "P30D") + "The item level per unit cost provided by the seller and applicable to Fulfillment by Amazon (FBA) products." + fbaCost: FbaPerUnitCost + "The item level per unit cost provided by the seller and applicable to Merchant Fulfilled Network (MFN) products." + mfnCost: MfnPerUnitCost + """ + Miscellaneous costs not related to this specific product, ex: overhead, etc. + This value is provided by the seller and applicable to both Fulfillment by + Amazon (FBA) and Merchant Fulfilled Network (MFN) products. + """ + miscellaneousCost: Amount @resultRetention(duration : "P30D") +} + +"A root type for queries" +type Query { + "Seller economics queries version 2024_03_15." + analytics_economics_2024_03_15: Analytics_Economics_2024_03_15 +} + +"The sales data for a given product in the seller's account within a given date range." +type Sales { + """ + The average price of the units sold in the selected time period, calculated by + dividing the orderedProductSales by unitsOrdered for the selected time period. + This field will be null when unitsOrdered is 0. + """ + averageSellingPrice: Amount @resultRetention(duration : "P30D") + "The amount of net product sales, calculated by orderedProductSales - refundedProductSales." + netProductSales: Amount! @resultRetention(duration : "P30D") + "The number of net units sold for the selected time period, calculated by unitsOrdered - unitsRefunded." + netUnitsSold: Long! @resultRetention(duration : "P30D") + """ + The amount of ordered product sales, calculated by multiplying the price of + products and the number of units sold for the selected time period. + """ + orderedProductSales: Amount! @resultRetention(duration : "P30D") + "The amount of refunded product sales for the selected time period, it's counted by refund request time." + refundedProductSales: Amount! @resultRetention(duration : "P30D") + """ + The number of units ordered for the selected time period. Example: For an + order containing 2 copies of book A and 3 copies of book B, the number of + orders is 1, the number of order items is 2 (book A and book B), and the + number of units is 5 (2 + 3). + """ + unitsOrdered: Long! @resultRetention(duration : "P30D") + "The number of units refunded in the selected time period." + unitsRefunded: Long! @resultRetention(duration : "P30D") +} + +"The date granularity used in aggregation." +enum DateGranularity { + "Seller economics data is aggregated by day against marketplace local time." + DAY + "Seller economics data is aggregated by month against marketplace local time." + MONTH + "Seller economics data is aggregated by the entire date range specified by startDate and endDate." + RANGE + "Seller economics data is aggregated by week against marketplace local time, Sunday is the first day of the week." + WEEK +} + +"The fee type used in filter fee components generation." +enum FeeType { + "Fulfillment by Amazon (FBA) Fulfillment Fees, including base rate and surcharges." + FBA_FULFILLMENT_FEE + "Fulfillment by Amazon (FBA) Monthly Inventory Storage Fee, including base rate and surcharges." + FBA_STORAGE_FEE +} + +"The product identifier granularity used in aggregation." +enum ProductIdentifierGranularity { + "Seller Economics data is aggregated by child ASIN." + CHILD_ASIN + "Seller Economics data is aggregated by fulfillment network sku." + FNSKU + "Seller Economics data is aggregated by merchant sku." + MSKU + "Seller Economics data is aggregated by parent ASIN." + PARENT_ASIN +} + +"An RFC-3339 compliant Full Date Scalar. Example: \"2024-03-15\"" +scalar Date + +"A Scalar for the primitive long type." +scalar Long + +"Defines how the seller economics data will be aggregated." +input EconomicsAggregation { + "The date granularity used in aggregation. By default the results will be aggregated by DAY." + date: DateGranularity + "The product identifier granularity used in aggregation. By default the results will be aggregated by MSKU." + productId: ProductIdentifierGranularity +} diff --git a/schemas/data-kiosk/analytics_salesAndTraffic_2023_11_15.graphql b/schemas/data-kiosk/analytics_salesAndTraffic_2023_11_15.graphql index 4347e7a4b..6afb98538 100644 --- a/schemas/data-kiosk/analytics_salesAndTraffic_2023_11_15.graphql +++ b/schemas/data-kiosk/analytics_salesAndTraffic_2023_11_15.graphql @@ -9,9 +9,9 @@ retentions, the shortest (minimum) retention is applied to the query. The retention of a query's resulting documents always matches the retention of the query. """ directive @resultRetention( - "An ISO 8601 duration." - duration: String! -) on FIELD_DEFINITION + "An ISO 8601 duration." + duration: String! + ) on FIELD_DEFINITION "Monetary amount with the corresponding currency code." type Amount { @@ -26,19 +26,19 @@ type Analytics_SalesAndTraffic_2023_11_15 { "A query to retrieve sales and traffic data for the seller's account aggregated by ASIN." salesAndTrafficByAsin( "Determines how the sales and traffic data should be aggregated." - aggregateBy: AsinGranularity!, + aggregateBy: AsinGranularity!, """ The end date of the sales and traffic data to retrieve. If a date granularity is specified and the provided end date occurs mid-week or mid-month, the preceding Saturday for WEEK date granularity or the last day of the previous month for MONTH date granularity will be used instead. """ - endDate: Date!, + endDate: Date!, """ The marketplace identifiers to retrieve sales and traffic data for. If omitted, sales and traffic data for all applicable marketplaces will be retrieved. """ - marketplaceIds: [String], + marketplaceIds: [String], """ The start date of the sales and traffic data to retrieve. The start date must be no more than two years ago. If a date granularity is specified and @@ -51,19 +51,19 @@ type Analytics_SalesAndTraffic_2023_11_15 { "A query to retrieve sales and traffic data for the seller's account aggregated by date." salesAndTrafficByDate( "Determines how the sales and traffic data should be aggregated." - aggregateBy: DateGranularity!, + aggregateBy: DateGranularity!, """ The end date of the sales and traffic data to retrieve. If the provided end date occurs mid-week or mid-month, the preceding Saturday for WEEK date granularity or the last day of the previous month for MONTH date granularity will be used instead. """ - endDate: Date!, + endDate: Date!, """ The marketplace identifiers to retrieve sales and traffic data for. If omitted, sales and traffic data for all applicable marketplaces will be retrieved. """ - marketplaceIds: [String], + marketplaceIds: [String], """ The start date of the sales and traffic data to retrieve. The start date must be no more than two years ago. If the provided start date occurs @@ -573,8 +573,8 @@ enum DateGranularity { WEEK } -"Date" +"An RFC-3339 compliant Full Date Scalar. Example: \"2023-11-15\"" scalar Date -"Long" +"A Scalar for the primitive long type." scalar Long diff --git a/schemas/data-kiosk/analytics_salesAndTraffic_2024_04_24.graphql b/schemas/data-kiosk/analytics_salesAndTraffic_2024_04_24.graphql index 597668d4b..b3deb1922 100644 --- a/schemas/data-kiosk/analytics_salesAndTraffic_2024_04_24.graphql +++ b/schemas/data-kiosk/analytics_salesAndTraffic_2024_04_24.graphql @@ -567,8 +567,8 @@ enum DateGranularity { WEEK } -"Date" +"An RFC-3339 compliant Full Date Scalar. Example: \"2023-11-15\"" scalar Date -"Long" +"A Scalar for the primitive long type." scalar Long From bb2c77238048c6d6b2db4382e7be1418c1fdbafb Mon Sep 17 00:00:00 2001 From: Gibran Waldron Date: Wed, 22 May 2024 10:07:24 -0700 Subject: [PATCH 067/340] Update Product Pricing API v2022-05-01 getCompetitiveSummary. --- .../productPricing_2022-05-01.json | 505 +++++++++++++++++- 1 file changed, 496 insertions(+), 9 deletions(-) diff --git a/models/product-pricing-api-model/productPricing_2022-05-01.json b/models/product-pricing-api-model/productPricing_2022-05-01.json index eded62880..2943186c6 100644 --- a/models/product-pricing-api-model/productPricing_2022-05-01.json +++ b/models/product-pricing-api-model/productPricing_2022-05-01.json @@ -38,7 +38,8 @@ "required": true, "schema": { "$ref": "#/definitions/GetFeaturedOfferExpectedPriceBatchRequest" - } + }, + "description": "The batch of `getFeaturedOfferExpectedPrice` requests." } ], "responses": { @@ -436,6 +437,36 @@ "type": "string", "description": "Unique request reference identifier." } + }, + "x-amzn-api-sandbox": { + "static": [ + { + "request": { + "parameters": { + "body": { + "value": { + "requests": [ + { + "marketplaceId": "MARKETPLACE_ID", + "sku": "INVALID_SKU", + "method": "GET", + "uri": "/products/pricing/2022-05-01/offer/featuredOfferExpectedPrice" + } + ] + } + } + } + }, + "response": { + "errors": [ + { + "code": "INVALID_SKU", + "message": "The requested SKU does not exist for the seller in the requested marketplace." + } + ] + } + } + ] } }, "401": { @@ -640,6 +671,110 @@ } ] } + ], + "referencePrices": [ + { + "name": "CompetitivePriceThreshold", + "price": { + "amount": 18.11, + "currencyCode": "USD" + } + } + ], + "lowestPricedOffers": [ + { + "lowestPricedOffersInput":{ + "itemCondition": "New", + "offerType": "Consumer" + }, + "offers": [ + { + "listingPrice": { + "currencyCode": "USD", + "amount": 17.15 + }, + "shippingOptions": [ + { + "shippingOptionType": "DEFAULT", + "price": { + "amount": 2.50, + "currencyCode": "USD" + } + } + ], + "points": { + "pointsMonetaryValue": { + "amount": 0.50, + "currencyCode": "USD" + }, + "pointsNumber": 50 + }, + "primeDetails": { + "eligibility": "REGIONAL" + }, + "subCondition": "New", + "sellerId": "A2ZWOLFOFDPJL1", + "fulfillmentType": "MFN" + }, + { + "listingPrice": { + "amount": 18.11, + "currencyCode": "USD" + }, + "shippingOptions": [ + { + "shippingOptionType": "DEFAULT", + "price": { + "amount": 2.50, + "currencyCode": "USD" + } + } + ], + "points": { + "pointsNumber": 3, + "pointsMonetaryValue": { + "amount": 0.03, + "currencyCode": "USD" + } + }, + "primeDetails": { + "eligibility": "NATIONAL" + }, + "sellerId": "A3DJR8M9Y3OUPG", + "subCondition": "New", + "fulfillmentType": "MFN" + } + ] + }, + { + "lowestPricedOffersInput": { + "itemCondition": "Used", + "offerType": "Consumer" + }, + "offers": [ + { + "listingPrice": { + "CurrencyCode": "USD", + "Amount": 12.00 + }, + "shippingOptions": [ + { + "shippingOptionType": "DEFAULT", + "price": { + "amount": 2.50, + "currencyCode": "USD" + } + } + ], + "primeDetails": { + "eligibility": "REGIONAL" + }, + "subCondition": "Acceptable", + "sellerId": "A3DH5AGPM3JVAB", + "fulfillmentType": "AFN" + } + ] + } ] } } @@ -658,7 +793,19 @@ "asin": "B00ZIAODGE", "marketplaceId": "ATVPDKIKX0DER", "includedData": [ - "featuredBuyingOptions" + "featuredBuyingOptions", + "referencePrices", + "lowestPricedOffers" + ], + "lowestPricedOffersInputs": [ + { + "itemCondition": "New", + "offerType": "Consumer" + }, + { + "itemCondition": "Used", + "offerType": "Consumer" + } ], "uri": "/products/pricing/2022-05-01/items/competitiveSummary", "method": "GET" @@ -765,7 +912,112 @@ } ] } + ], + "referencePrices": [ + { + "name": "CompetitivePriceThreshold", + "price": { + "amount": 18.11, + "currencyCode": "USD" + } + } + ], + "lowestPricedOffers": [ + { + "lowestPricedOffersInput":{ + "itemCondition": "New", + "offerType": "Consumer" + }, + "offers": [ + { + "listingPrice": { + "currencyCode": "USD", + "amount": 17.15 + }, + "shippingOptions": [ + { + "shippingOptionType": "DEFAULT", + "price": { + "amount": 2.50, + "currencyCode": "USD" + } + } + ], + "points": { + "pointsMonetaryValue": { + "amount": 0.50, + "currencyCode": "USD" + }, + "pointsNumber": 50 + }, + "primeDetails": { + "eligibility": "REGIONAL" + }, + "subCondition": "New", + "sellerId": "A2ZWOLFOFDPJL1", + "fulfillmentType": "MFN" + }, + { + "listingPrice": { + "amount": 18.11, + "currencyCode": "USD" + }, + "shippingOptions": [ + { + "shippingOptionType": "DEFAULT", + "price": { + "amount": 2.50, + "currencyCode": "USD" + } + } + ], + "points": { + "pointsNumber": 3, + "pointsMonetaryValue": { + "amount": 0.03, + "currencyCode": "USD" + } + }, + "primeDetails": { + "eligibility": "NATIONAL" + }, + "sellerId": "A3DJR8M9Y3OUPG", + "subCondition": "New", + "fulfillmentType": "MFN" + } + ] + }, + { + "lowestPricedOffersInput": { + "itemCondition": "Used", + "offerType": "Consumer" + }, + "offers": [ + { + "listingPrice": { + "currencyCode": "USD", + "amount": 12.00 + }, + "shippingOptions": [ + { + "shippingOptionType": "DEFAULT", + "price": { + "amount": 2.50, + "currencyCode": "USD" + } + } + ], + "primeDetails": { + "eligibility": "REGIONAL" + }, + "subCondition": "Acceptable", + "sellerId": "A3DH5AGPM3JVAB", + "fulfillmentType": "AFN" + } + ] + } ] + } }, { @@ -804,6 +1056,39 @@ }, "schema": { "$ref": "#/definitions/Errors" + }, + "x-amzn-api-sandbox": { + "static": [ + { + "request": { + "parameters": { + "body": { + "value": { + "requests": [ + { + "asin": "11_AABB_123", + "marketplaceId": "ATVPDKIKX0DER", + "includedData": [ + "featuredBuyingOptions" + ], + "uri": "/products/pricing/2022-05-01/items/competitiveSummary", + "method": "GET" + } + ] + } + } + } + }, + "response": { + "errors": [ + { + "code": "INVALID_ASIN", + "message": "11_AABB_123 is not a valid ASIN" + } + ] + } + } + ] } }, "403": { @@ -956,7 +1241,8 @@ } } } - ] + ], + "description": "Schema for an individual featured offer expected price response." }, "CompetitiveSummaryBatchRequest": { "description": "The `competitiveSummary` batch request data.", @@ -1007,6 +1293,15 @@ }, "minItems": 1 }, + "lowestPricedOffersInputs": { + "type": "array", + "description": "The list of `lowestPricedOffersInput` parameters used to build the `lowestPricedOffers` in the response. This attribute is valid only if `lowestPricedOffers` is requested in `includedData`.", + "items": { + "$ref": "#/definitions/LowestPricedOffersInput" + }, + "minItems": 0, + "maxItems": 5 + }, "method": { "description": "HTTP method type", "$ref": "#/definitions/HttpMethod" @@ -1021,9 +1316,33 @@ "type": "string", "description": "The supported types of data in the `getCompetitiveSummary` API.", "enum": [ - "featuredBuyingOptions" + "featuredBuyingOptions", + "referencePrices", + "lowestPricedOffers" ] }, + "LowestPricedOffersInput": { + "description": "The input required for building the `LowestPricedOffers` data in the response.", + "type": "object", + "required": [ + "itemCondition", + "offerType" + ], + "properties": { + "itemCondition": { + "type": "string", + "description": "The condition of the item offer that was requested for the `LowestPricedOffers`. The default `itemCondition` is `New`.", + "$ref": "#/definitions/Condition" + }, + "offerType": { + "type": "string", + "description": "The type of offers requested for the `LowestPricedOffers`. The `offerType` options are `Consumer` or `Business`. The default `offerType` is `Consumer`.", + "enum": [ + "CONSUMER" + ] + } + } + }, "CompetitiveSummaryBatchResponse": { "description": "The response schema of the `competitiveSummaryBatch` operation.", "type": "object", @@ -1088,9 +1407,40 @@ "$ref": "#/definitions/FeaturedBuyingOption" } }, + "lowestPricedOffers": { + "description": "A list of the lowest priced offers for the given ASIN `marketplaceId` combination.", + "type": "array", + "items": { + "$ref": "#/definitions/LowestPricedOffer" + } + }, + "referencePrices": { + "description": "A list of reference prices for the given ASIN `marketplaceId` combination.", + "type": "array", + "items": { + "$ref": "#/definitions/ReferencePrice" + } + }, "errors": { "description": "A list of errors", - "$ref": "#/definitions/Errors" + "$ref": "#/definitions/ErrorList" + } + } + }, + "ReferencePrice": { + "description": "The reference price for the given ASIN `marketplaceId` combination. ", + "type": "object", + "required": [ + "name", + "price" + ], + "properties": { + "name": { + "description": "The name of the reference price like `CompetitivePriceThreshold`." + }, + "price": { + "description": "The reference price for the ASIN `marketplaceId` combination. ", + "$ref": "#/definitions/MoneyType" } } }, @@ -1149,6 +1499,30 @@ } ] }, + "LowestPricedOffer": { + "description": "The lowest priced offer for the requested item condition and offer type.", + "type": "object", + "required": [ + "lowestPricedOffersInput", + "offers" + ], + "properties": { + "lowestPricedOffersInput": { + "description": "The filtering criteria used to retrieve this lowest-priced offers correspond to the `lowestPricedOffersInputs` received in the request.", + "type": "object", + "$ref": "#/definitions/LowestPricedOffersInput" + }, + "offers": { + "description": "A list of up to 20 lowest priced offers that match the criteria specified in the `lowestPricedOffersInput` parameter.", + "type": "array", + "items": { + "$ref": "#/definitions/Offer" + }, + "minItems": 1, + "maxItems": 20 + } + } + }, "Offer": { "description": "The offer data of a product.", "type": "object", @@ -1167,6 +1541,79 @@ "description": "Item Condition.", "$ref": "#/definitions/Condition" }, + "subCondition": { + "type": "string", + "description": "The item subcondition for the offer.", + "enum": [ + "New", + "Mint", + "VeryGood", + "Good", + "Acceptable", + "Poor", + "Club", + "OEM", + "Warranty", + "RefurbishedWarranty", + "Refurbished", + "OpenBox", + "Other" + ], + "x-docgen-enum-table-extension": [ + { + "value": "New", + "description": "New" + }, + { + "value": "Mint", + "description": "Mint" + }, + { + "value": "VeryGood", + "description": "VeryGood" + }, + { + "value": "Good", + "description": "Good" + }, + { + "value": "Acceptable", + "description": "Acceptable" + }, + { + "value": "Poor", + "description": "Poor" + }, + { + "value": "Club", + "description": "Club" + }, + { + "value": "OEM", + "description": "OEM" + }, + { + "value": "Warranty", + "description": "Warranty" + }, + { + "value": "RefurbishedWarranty", + "description": "RefurbishedWarranty" + }, + { + "value": "Refurbished", + "description": "Refurbished" + }, + { + "value": "OpenBox", + "description": "OpenBox" + }, + { + "value": "Other", + "description": "Other" + } + ] + }, "fulfillmentType": { "$ref": "#/definitions/FulfillmentType", "description": "The fulfillment type for the offer. Possible values are AFN (Amazon Fulfillment Network) and MFN (Merchant Fulfillment Network)." @@ -1185,6 +1632,42 @@ "points": { "description": "The number of Amazon Points offered with the purchase of an item, and their monetary value. Note that the Points element is only returned in Japan (JP).", "$ref": "#/definitions/Points" + }, + "primeDetails": { + "description": "Amazon Prime details.", + "$ref": "#/definitions/PrimeDetails" + } + } + }, + "PrimeDetails": { + "description": "Amazon Prime details.", + "type": "object", + "required": [ + "eligibility" + ], + "properties": { + "eligibility": { + "description": "Indicates whether the offer is an Amazon Prime offer.", + "type": "string", + "enum": [ + "NATIONAL", + "REGIONAL", + "NONE" + ], + "x-docgen-enum-table-extension": [ + { + "value": "NATIONAL", + "description": "Indicates that this offer has Prime eligibility throughout the entire marketplace." + }, + { + "value": "REGIONAL", + "description": "Indicates that this offer has Prime eligibility in some(but not all) regions in the marketplace." + }, + { + "value": "NONE", + "description": "Indicates that this offer is not an Amazon Prime offer in any regions." + } + ] } } }, @@ -1356,7 +1839,8 @@ "description": "The current active price of the offer.", "$ref": "#/definitions/Price" } - } + }, + "description": "Schema for `currentFeaturedOffer` or `competingFeaturedOffer`." }, "HttpHeaders": { "description": "A mapping of additional HTTP headers to send/receive for an individual request within a batch.", @@ -1505,7 +1989,8 @@ "type": "number", "description": "The monetary value." } - } + }, + "description": "Currency type and monetary value. Schema for demonstrating pricing info." }, "Price": { "type": "object", @@ -1525,7 +2010,8 @@ "description": "The number of Amazon Points offered with the purchase of an item, and their monetary value.", "$ref": "#/definitions/Points" } - } + }, + "description": "Schema for item's price information, including listing price, shipping price, and Amazon points." }, "Points": { "type": "object", @@ -1539,7 +2025,8 @@ "description": "The monetary value of the points.", "$ref": "#/definitions/MoneyType" } - } + }, + "description": "The number of Amazon Points offered with the purchase of an item, and their monetary value." }, "FulfillmentType": { "type": "string", From 9ed893a16e116c1392aa1caa6c0b361c3bd30c68 Mon Sep 17 00:00:00 2001 From: lisa-delaney Date: Wed, 22 May 2024 10:49:37 -0700 Subject: [PATCH 068/340] Update Catalog Items API v2022 --- .../catalogItems_2022-04-01.json | 144 +++++++++++++++++- 1 file changed, 141 insertions(+), 3 deletions(-) diff --git a/models/catalog-items-api-model/catalogItems_2022-04-01.json b/models/catalog-items-api-model/catalogItems_2022-04-01.json index 95c528059..1047cb99e 100644 --- a/models/catalog-items-api-model/catalogItems_2022-04-01.json +++ b/models/catalog-items-api-model/catalogItems_2022-04-01.json @@ -29,7 +29,7 @@ "tags": [ "catalog" ], - "description": "Search for and return a list of Amazon catalog items and associated information either by identifier or by keywords.\n\n**Usage Plans:**\n\n| Rate (requests per second) | Burst |\n| ---- | ---- |\n| 2 | 2 |\n\nThe `x-amzn-RateLimit-Limit` response header returns the usage plan rate limits that were applied to the requested operation, when available. The table above indicates the default rate and burst values for this operation. Selling partners whose business demands require higher throughput may observe higher rate and burst values than those shown here. For more information, refer to the [Usage Plans and Rate Limits in the Selling Partner API](doc:usage-plans-and-rate-limits-in-the-sp-api).", + "description": "Search for and return a list of Amazon catalog items and associated information either by identifier or by keywords.\n\n**Usage Plans:**\n\n| Rate (requests per second) | Burst |\n| ---- | ---- |\n| 5 | 5 |\n\nThe `x-amzn-RateLimit-Limit` response header returns the usage plan rate limits that were applied to the requested operation, when available. The table above indicates the default rate and burst values for this operation. Selling partners whose business demands require higher throughput may observe higher rate and burst values than those shown here. For more information, refer to the [Usage Plans and Rate Limits in the Selling Partner API](doc:usage-plans-and-rate-limits-in-the-sp-api).", "operationId": "searchCatalogItems", "consumes": [ "application/json" @@ -125,6 +125,7 @@ "items": { "enum": [ "attributes", + "classifications", "dimensions", "identifiers", "images", @@ -140,6 +141,10 @@ "value": "attributes", "description": "A JSON object containing structured item attribute data keyed by attribute name. Catalog item attributes conform to the related Amazon product type definitions available in the Selling Partner API for Product Type Definitions." }, + { + "value": "classifications", + "description": "Classifications (browse nodes) for an item in the Amazon catalog." + }, { "value": "dimensions", "description": "Dimensions for an item in the Amazon catalog." @@ -797,6 +802,29 @@ } ] }, + "classifications": [ + { + "marketplaceId": "ATVPDKIKX0DER", + "classifications": [ + { + "displayName": "QLED TVs", + "classificationId": "21489946011", + "parent": { + "displayName": "Televisions", + "classificationId": "172659", + "parent": { + "displayName": "Television & Video", + "classificationId": "1266092011", + "parent": { + "displayName": "Electronics", + "classificationId": "172282" + } + } + } + } + ] + } + ], "dimensions": [ { "marketplaceId": "ATVPDKIKX0DER", @@ -1140,6 +1168,7 @@ }, "includedData": { "value": [ + "classifications", "dimensions", "identifiers", "images", @@ -1176,6 +1205,29 @@ "items": [ { "asin": "B07N4M94X4", + "classifications": [ + { + "marketplaceId": "ATVPDKIKX0DER", + "classifications": [ + { + "displayName": "QLED TVs", + "classificationId": "21489946011", + "parent": { + "displayName": "Televisions", + "classificationId": "172659", + "parent": { + "displayName": "Television & Video", + "classificationId": "1266092011", + "parent": { + "displayName": "Electronics", + "classificationId": "172282" + } + } + } + } + ] + } + ], "dimensions": [ { "marketplaceId": "ATVPDKIKX0DER", @@ -1616,7 +1668,7 @@ "tags": [ "catalog" ], - "description": "Retrieves details for an item in the Amazon catalog.\n\n**Usage Plan:**\n\n| Rate (requests per second) | Burst |\n| ---- | ---- |\n| 2 | 2 |\n\nThe `x-amzn-RateLimit-Limit` response header returns the usage plan rate limits that were applied to the requested operation, when available. The table above indicates the default rate and burst values for this operation. Selling partners whose business demands require higher throughput may observe higher rate and burst values than those shown here. For more information, refer to the [Usage Plans and Rate Limits in the Selling Partner API](doc:usage-plans-and-rate-limits-in-the-sp-api).", + "description": "Retrieves details for an item in the Amazon catalog.\n\n**Usage Plan:**\n\n| Rate (requests per second) | Burst |\n| ---- | ---- |\n| 5 | 5 |\n\nThe `x-amzn-RateLimit-Limit` response header returns the usage plan rate limits that were applied to the requested operation, when available. The table above indicates the default rate and burst values for this operation. Selling partners whose business demands require higher throughput may observe higher rate and burst values than those shown here. For more information, refer to the [Usage Plans and Rate Limits in the Selling Partner API](doc:usage-plans-and-rate-limits-in-the-sp-api).", "operationId": "getCatalogItem", "consumes": [ "application/json" @@ -1653,6 +1705,7 @@ "items": { "enum": [ "attributes", + "classifications", "dimensions", "identifiers", "images", @@ -1668,6 +1721,10 @@ "value": "attributes", "description": "A JSON object containing structured item attribute data keyed by attribute name. Catalog item attributes conform to the related Amazon product type definitions available in the Selling Partner API for Product Type Definitions." }, + { + "value": "classifications", + "description": "Classifications (browse nodes) for an item in the Amazon catalog." + }, { "value": "dimensions", "description": "Dimensions for an item in the Amazon catalog." @@ -2233,6 +2290,29 @@ } ] }, + "classifications": [ + { + "marketplaceId": "ATVPDKIKX0DER", + "classifications": [ + { + "displayName": "QLED TVs", + "classificationId": "21489946011", + "parent": { + "displayName": "Televisions", + "classificationId": "172659", + "parent": { + "displayName": "Television & Video", + "classificationId": "1266092011", + "parent": { + "displayName": "Electronics", + "classificationId": "172282" + } + } + } + } + ] + } + ], "dimensions": [ { "marketplaceId": "ATVPDKIKX0DER", @@ -2571,6 +2651,7 @@ }, "includedData": { "value": [ + "classifications", "dimensions", "identifiers", "images", @@ -2585,6 +2666,29 @@ }, "response": { "asin": "B07N4M94X4", + "classifications": [ + { + "marketplaceId": "ATVPDKIKX0DER", + "classifications": [ + { + "displayName": "QLED TVs", + "classificationId": "21489946011", + "parent": { + "displayName": "Televisions", + "classificationId": "172659", + "parent": { + "displayName": "Television & Video", + "classificationId": "1266092011", + "parent": { + "displayName": "Electronics", + "classificationId": "172282" + } + } + } + } + ] + } + ], "dimensions": [ { "marketplaceId": "ATVPDKIKX0DER", @@ -3066,6 +3170,9 @@ "attributes": { "$ref": "#/definitions/ItemAttributes" }, + "classifications": { + "$ref": "#/definitions/ItemBrowseClassifications" + }, "dimensions": { "$ref": "#/definitions/ItemDimensions" }, @@ -3109,12 +3216,16 @@ "description": "Classification (browse node) associated with an Amazon catalog item.", "properties": { "displayName": { - "description": "Display name for the classification.", + "description": "Display name for the classification (browse node).", "type": "string" }, "classificationId": { "description": "Identifier of the classification (browse node identifier).", "type": "string" + }, + "parent": { + "description": "Parent classification (browse node) of the current classification.", + "$ref": "#/definitions/ItemBrowseClassification" } }, "required": [ @@ -3157,6 +3268,33 @@ ], "type": "object" }, + "ItemBrowseClassifications": { + "description": "Array of classifications (browse nodes) associated with the item in the Amazon catalog by Amazon marketplace.", + "items": { + "$ref": "#/definitions/ItemBrowseClassificationsByMarketplace" + }, + "type": "array" + }, + "ItemBrowseClassificationsByMarketplace": { + "description": "Classifications (browse nodes) associated with the item in the Amazon catalog for the indicated Amazon marketplace.", + "properties": { + "marketplaceId": { + "description": "Amazon marketplace identifier.", + "type": "string" + }, + "classifications": { + "description": "Classifications (browse nodes) associated with the item in the Amazon catalog for the indicated Amazon marketplace.", + "items": { + "$ref": "#/definitions/ItemBrowseClassification" + }, + "type": "array" + } + }, + "required": [ + "marketplaceId" + ], + "type": "object" + }, "Dimension": { "description": "Individual dimension value of an Amazon catalog item or item package.", "properties": { From 845a74644175295968fea90667f7a9dd0653da21 Mon Sep 17 00:00:00 2001 From: Gibran Waldron Date: Wed, 22 May 2024 15:03:10 -0700 Subject: [PATCH 069/340] Update Product Pricing API v2022-05-01 getCompetitiveSummary. --- models/product-pricing-api-model/productPricing_2022-05-01.json | 1 + 1 file changed, 1 insertion(+) diff --git a/models/product-pricing-api-model/productPricing_2022-05-01.json b/models/product-pricing-api-model/productPricing_2022-05-01.json index 2943186c6..a0e6f466d 100644 --- a/models/product-pricing-api-model/productPricing_2022-05-01.json +++ b/models/product-pricing-api-model/productPricing_2022-05-01.json @@ -1436,6 +1436,7 @@ ], "properties": { "name": { + "type": "string", "description": "The name of the reference price like `CompetitivePriceThreshold`." }, "price": { From 59d7ed410bdf97bebd862d5dddc89892318526aa Mon Sep 17 00:00:00 2001 From: Shreeharsh <162564990+shreeharsh-a@users.noreply.github.com> Date: Thu, 23 May 2024 14:57:23 +0530 Subject: [PATCH 070/340] Update closing_inactive_issues.yml --- .github/workflows/closing_inactive_issues.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/closing_inactive_issues.yml b/.github/workflows/closing_inactive_issues.yml index bbac872eb..b207fc834 100644 --- a/.github/workflows/closing_inactive_issues.yml +++ b/.github/workflows/closing_inactive_issues.yml @@ -20,7 +20,7 @@ jobs: steps: - uses: actions/stale@v9 with: - days-before-issue-stale: 90 + days-before-issue-stale: 30 days-before-issue-close: 3 close-issue-message: 'closed for inactivity' repo-token: ${{ secrets.GITHUB_TOKEN }} From 743722b1d35845e7dfcc7e422ebf9cfcf93dc705 Mon Sep 17 00:00:00 2001 From: Shreeharsh <162564990+shreeharsh-a@users.noreply.github.com> Date: Wed, 29 May 2024 13:22:51 +0530 Subject: [PATCH 071/340] Update README.md --- README.md | 2 ++ 1 file changed, 2 insertions(+) diff --git a/README.md b/README.md index 16c9975da..5c3396158 100644 --- a/README.md +++ b/README.md @@ -7,6 +7,8 @@ The [clients directory](https://github.com/amzn/selling-partner-api-models/tree/ The [schemas directory](https://github.com/amzn/selling-partner-api-models/tree/main/schemas) contains all of the currently available Selling Partner Api schemas. +**Note:** For any issues related to SP API like bugs or troubleshooting, please reach out to Developer Support so that the right team can help / channel your inputs (in case of bugs / feature requests) to the development team. + ## Security See [CONTRIBUTING](CONTRIBUTING.md#security-issue-notifications) for more information. From 833f3bf804e456b6285bf00a5f33988de29d703b Mon Sep 17 00:00:00 2001 From: Shreeharsh <162564990+shreeharsh-a@users.noreply.github.com> Date: Wed, 29 May 2024 18:53:27 +0530 Subject: [PATCH 072/340] Update README.md --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index 5c3396158..0d6c3d98c 100644 --- a/README.md +++ b/README.md @@ -7,7 +7,7 @@ The [clients directory](https://github.com/amzn/selling-partner-api-models/tree/ The [schemas directory](https://github.com/amzn/selling-partner-api-models/tree/main/schemas) contains all of the currently available Selling Partner Api schemas. -**Note:** For any issues related to SP API like bugs or troubleshooting, please reach out to Developer Support so that the right team can help / channel your inputs (in case of bugs / feature requests) to the development team. +**Note:** For any issues related to SP API like bugs or troubleshooting, please reach out to [Developer Support](https://developer.amazonservices.com/support) so that the right team can help / channel your inputs (in case of bugs / feature requests) to the development team. ## Security From 10e9b0cee08f0338c73b777f233f3951e7f6de45 Mon Sep 17 00:00:00 2001 From: Jack Evoniuk Date: Tue, 4 Jun 2024 09:54:22 -0700 Subject: [PATCH 073/340] Update the Fulfillment Inbound v2024-03-20 model --- ...son => fulfillmentInbound_2024-03-20.json} | 6964 +++++++++++++---- 1 file changed, 5580 insertions(+), 1384 deletions(-) rename models/fulfillment-inbound-api-model/{fulfillmentInboundv2024-03-20.json => fulfillmentInbound_2024-03-20.json} (63%) diff --git a/models/fulfillment-inbound-api-model/fulfillmentInboundv2024-03-20.json b/models/fulfillment-inbound-api-model/fulfillmentInbound_2024-03-20.json similarity index 63% rename from models/fulfillment-inbound-api-model/fulfillmentInboundv2024-03-20.json rename to models/fulfillment-inbound-api-model/fulfillmentInbound_2024-03-20.json index e06624036..2cba22f3c 100644 --- a/models/fulfillment-inbound-api-model/fulfillmentInboundv2024-03-20.json +++ b/models/fulfillment-inbound-api-model/fulfillmentInbound_2024-03-20.json @@ -154,17 +154,15 @@ ], "sourceAddress": { "name": "name", + "companyName": "Acme", "addressLine1": "123 example street", - "addressLine2": "Floor 19", + "addressLine2": "Unit 102", "city": "Toronto", - "stateOrProvinceCode": "ON", "countryCode": "CA", + "stateOrProvinceCode": "ON", "postalCode": "M1M1M1", - "companyName": "Acme" - }, - "contactInformation": { - "email": "email@email.com", - "phoneNumber": "1234567890" + "phoneNumber": "1234567890", + "email": "email@email.com" } }, { @@ -178,17 +176,15 @@ ], "sourceAddress": { "name": "name", + "companyName": "Acme", "addressLine1": "123 example street", - "addressLine2": "Floor 19", + "addressLine2": "Unit 102", "city": "Toronto", - "stateOrProvinceCode": "ON", "countryCode": "CA", + "stateOrProvinceCode": "ON", "postalCode": "M1M1M1", - "companyName": "Acme" - }, - "contactInformation": { - "email": "email@email.com", - "phoneNumber": "1234567890" + "phoneNumber": "1234567890", + "email": "email@email.com" } } ], @@ -256,8 +252,8 @@ } } }, - "500": { - "description": "An unexpected condition occurred that prevented the server from fulfilling the request.", + "404": { + "description": "The resource specified does not exist.", "schema": { "$ref": "#/definitions/ErrorList" }, @@ -265,11 +261,15 @@ "x-amzn-RequestId": { "description": "Unique request reference identifier.", "type": "string" + }, + "x-amzn-RateLimit-Limit": { + "description": "Your rate limit (requests per second) for this operation.", + "type": "string" } } }, - "403": { - "description": "Indicates that access to the resource is forbidden. Possible reasons include Access Denied, Unauthorized, Expired Token, or Invalid Signature.", + "500": { + "description": "An unexpected condition occurred that prevented the server from fulfilling the request.", "schema": { "$ref": "#/definitions/ErrorList" }, @@ -280,8 +280,8 @@ } } }, - "404": { - "description": "The resource specified does not exist.", + "403": { + "description": "Indicates that access to the resource is forbidden. Possible reasons include Access Denied, Unauthorized, Expired Token, or Invalid Signature.", "schema": { "$ref": "#/definitions/ErrorList" }, @@ -289,10 +289,6 @@ "x-amzn-RequestId": { "description": "Unique request reference identifier.", "type": "string" - }, - "x-amzn-RateLimit-Limit": { - "description": "Your rate limit (requests per second) for this operation.", - "type": "string" } } }, @@ -348,7 +344,7 @@ "tags": [ "fbaInbound" ], - "description": "Provides a list of inbound plans with minimal information.\n\n**Usage Plan:**\n\n| Rate (requests per second) | Burst |\n| ---- | ---- |\n| 1 | 1 |\n\nThe `x-amzn-RateLimit-Limit` response header returns the usage plan rate limits that were applied to the requested operation, when available. The table above indicates the default rate and burst values for this operation. Selling partners whose business demands require higher throughput may see higher rate and burst values than those shown here. For more information, refer to [Usage Plans and Rate Limits in the Selling Partner API](https://developer-docs.amazon.com/sp-api/docs/usage-plans-and-rate-limits-in-the-sp-api).", + "description": "Provides a list of inbound plans with minimal information.\n\n**Usage Plan:**\n\n| Rate (requests per second) | Burst |\n| ---- | ---- |\n| 2 | 6 |\n\nThe `x-amzn-RateLimit-Limit` response header returns the usage plan rate limits that were applied to the requested operation, when available. The table above indicates the default rate and burst values for this operation. Selling partners whose business demands require higher throughput may see higher rate and burst values than those shown here. For more information, refer to [Usage Plans and Rate Limits in the Selling Partner API](https://developer-docs.amazon.com/sp-api/docs/usage-plans-and-rate-limits-in-the-sp-api). ", "operationId": "listInboundPlans" }, "post": { @@ -383,17 +379,17 @@ "body": { "value": { "name": "FBA (03/20/2024, 12:01 PM)", - "contactInformation": { - "email": "email@email.com", - "phoneNumber": "+14161234567" - }, "sourceAddress": { "name": "name", + "companyName": "Acme", "addressLine1": "123 example street", + "addressLine2": "Unit 102", "city": "Toronto", - "stateOrProvinceCode": "ON", "countryCode": "CA", - "postalCode": "M1M1M1" + "stateOrProvinceCode": "ON", + "postalCode": "M1M1M1", + "phoneNumber": "1234567890", + "email": "email@email.com" }, "destinationMarketplaces": [ "A2EUQ1WTGCTBG2" @@ -443,17 +439,17 @@ "body": { "value": { "name": "FBA (03/20/2024, 12:01 PM)", - "contactInformation": { - "email": "email@email.com", - "phoneNumber": "+14161234567" - }, "sourceAddress": { "name": "name", + "companyName": "Acme", "addressLine1": "123 example street", + "addressLine2": "Unit 102", "city": "Toronto", "countryCode": "CA", "stateOrProvinceCode": "ON", - "postalCode": "M1M1M1" + "postalCode": "M1M1M1", + "phoneNumber": "1234567890", + "email": "email@email.com" }, "destinationMarketplaces": [ "badMarketplace" @@ -494,8 +490,8 @@ } } }, - "500": { - "description": "An unexpected condition occurred that prevented the server from fulfilling the request.", + "404": { + "description": "The resource specified does not exist.", "schema": { "$ref": "#/definitions/ErrorList" }, @@ -503,11 +499,15 @@ "x-amzn-RequestId": { "description": "Unique request reference identifier.", "type": "string" + }, + "x-amzn-RateLimit-Limit": { + "description": "Your rate limit (requests per second) for this operation.", + "type": "string" } } }, - "403": { - "description": "Indicates that access to the resource is forbidden. Possible reasons include Access Denied, Unauthorized, Expired Token, or Invalid Signature.", + "500": { + "description": "An unexpected condition occurred that prevented the server from fulfilling the request.", "schema": { "$ref": "#/definitions/ErrorList" }, @@ -518,8 +518,8 @@ } } }, - "404": { - "description": "The resource specified does not exist.", + "403": { + "description": "Indicates that access to the resource is forbidden. Possible reasons include Access Denied, Unauthorized, Expired Token, or Invalid Signature.", "schema": { "$ref": "#/definitions/ErrorList" }, @@ -527,10 +527,6 @@ "x-amzn-RequestId": { "description": "Unique request reference identifier.", "type": "string" - }, - "x-amzn-RateLimit-Limit": { - "description": "Your rate limit (requests per second) for this operation.", - "type": "string" } } }, @@ -586,7 +582,7 @@ "tags": [ "fbaInbound" ], - "description": "Creates an inbound plan. An inbound plan contains all the necessary information to send shipments into Amazon's fufillment network.\n\n**Usage Plan:**\n\n| Rate (requests per second) | Burst |\n| ---- | ---- |\n| 0.05 | 1 |\n\nThe `x-amzn-RateLimit-Limit` response header returns the usage plan rate limits that were applied to the requested operation, when available. The table above indicates the default rate and burst values for this operation. Selling partners whose business demands require higher throughput may see higher rate and burst values than those shown here. For more information, refer to [Usage Plans and Rate Limits in the Selling Partner API](https://developer-docs.amazon.com/sp-api/docs/usage-plans-and-rate-limits-in-the-sp-api).", + "description": "Creates an inbound plan. An inbound plan contains all the necessary information to send shipments into Amazon's fufillment network.\n\n**Usage Plan:**\n\n| Rate (requests per second) | Burst |\n| ---- | ---- |\n| 2 | 2 |\n\nThe `x-amzn-RateLimit-Limit` response header returns the usage plan rate limits that were applied to the requested operation, when available. The table above indicates the default rate and burst values for this operation. Selling partners whose business demands require higher throughput may see higher rate and burst values than those shown here. For more information, refer to [Usage Plans and Rate Limits in the Selling Partner API](https://developer-docs.amazon.com/sp-api/docs/usage-plans-and-rate-limits-in-the-sp-api). ", "operationId": "createInboundPlan" } }, @@ -597,7 +593,7 @@ ], "parameters": [ { - "description": "Identifier to an inbound plan.", + "description": "Identifier of an inbound plan.", "in": "path", "maxLength": 38, "minLength": 38, @@ -637,17 +633,15 @@ "shipments": [], "sourceAddress": { "name": "name", + "companyName": "Acme", "addressLine1": "123 example street", - "addressLine2": "Floor 19", + "addressLine2": "Unit 102", "city": "Toronto", - "stateOrProvinceCode": "ON", "countryCode": "CA", + "stateOrProvinceCode": "ON", "postalCode": "M1M1M1", - "companyName": "Acme" - }, - "contactInformation": { - "email": "email@email.com", - "phoneNumber": "1234567890" + "phoneNumber": "1234567890", + "email": "email@email.com" } } } @@ -701,8 +695,8 @@ } } }, - "500": { - "description": "An unexpected condition occurred that prevented the server from fulfilling the request.", + "404": { + "description": "The resource specified does not exist.", "schema": { "$ref": "#/definitions/ErrorList" }, @@ -710,11 +704,15 @@ "x-amzn-RequestId": { "description": "Unique request reference identifier.", "type": "string" + }, + "x-amzn-RateLimit-Limit": { + "description": "Your rate limit (requests per second) for this operation.", + "type": "string" } } }, - "403": { - "description": "Indicates that access to the resource is forbidden. Possible reasons include Access Denied, Unauthorized, Expired Token, or Invalid Signature.", + "500": { + "description": "An unexpected condition occurred that prevented the server from fulfilling the request.", "schema": { "$ref": "#/definitions/ErrorList" }, @@ -725,8 +723,8 @@ } } }, - "404": { - "description": "The resource specified does not exist.", + "403": { + "description": "Indicates that access to the resource is forbidden. Possible reasons include Access Denied, Unauthorized, Expired Token, or Invalid Signature.", "schema": { "$ref": "#/definitions/ErrorList" }, @@ -734,10 +732,6 @@ "x-amzn-RequestId": { "description": "Unique request reference identifier.", "type": "string" - }, - "x-amzn-RateLimit-Limit": { - "description": "Your rate limit (requests per second) for this operation.", - "type": "string" } } }, @@ -793,7 +787,7 @@ "tags": [ "fbaInbound" ], - "description": "Fetches the top level information about an inbound plan.\n\n**Usage Plan:**\n\n| Rate (requests per second) | Burst |\n| ---- | ---- |\n| 1 | 1 |\n\nThe `x-amzn-RateLimit-Limit` response header returns the usage plan rate limits that were applied to the requested operation, when available. The table above indicates the default rate and burst values for this operation. Selling partners whose business demands require higher throughput may see higher rate and burst values than those shown here. For more information, refer to [Usage Plans and Rate Limits in the Selling Partner API](https://developer-docs.amazon.com/sp-api/docs/usage-plans-and-rate-limits-in-the-sp-api).", + "description": "Fetches the top level information about an inbound plan.\n\n**Usage Plan:**\n\n| Rate (requests per second) | Burst |\n| ---- | ---- |\n| 2 | 6 |\n\nThe `x-amzn-RateLimit-Limit` response header returns the usage plan rate limits that were applied to the requested operation, when available. The table above indicates the default rate and burst values for this operation. Selling partners whose business demands require higher throughput may see higher rate and burst values than those shown here. For more information, refer to [Usage Plans and Rate Limits in the Selling Partner API](https://developer-docs.amazon.com/sp-api/docs/usage-plans-and-rate-limits-in-the-sp-api). ", "operationId": "getInboundPlan" } }, @@ -804,7 +798,7 @@ ], "parameters": [ { - "description": "Identifier to an inbound plan.", + "description": "Identifier of an inbound plan.", "in": "path", "maxLength": 38, "minLength": 38, @@ -895,7 +889,8 @@ "countryCode": "US", "state": "CA", "warehouseId": "ABC1" - } + }, + "contentInformationSource": "BOX_CONTENT_PROVIDED" } ], "pagination": { @@ -959,8 +954,8 @@ } } }, - "500": { - "description": "An unexpected condition occurred that prevented the server from fulfilling the request.", + "404": { + "description": "The resource specified does not exist.", "schema": { "$ref": "#/definitions/ErrorList" }, @@ -968,11 +963,15 @@ "x-amzn-RequestId": { "description": "Unique request reference identifier.", "type": "string" + }, + "x-amzn-RateLimit-Limit": { + "description": "Your rate limit (requests per second) for this operation.", + "type": "string" } } }, - "403": { - "description": "Indicates that access to the resource is forbidden. Possible reasons include Access Denied, Unauthorized, Expired Token, or Invalid Signature.", + "500": { + "description": "An unexpected condition occurred that prevented the server from fulfilling the request.", "schema": { "$ref": "#/definitions/ErrorList" }, @@ -983,8 +982,8 @@ } } }, - "404": { - "description": "The resource specified does not exist.", + "403": { + "description": "Indicates that access to the resource is forbidden. Possible reasons include Access Denied, Unauthorized, Expired Token, or Invalid Signature.", "schema": { "$ref": "#/definitions/ErrorList" }, @@ -992,10 +991,6 @@ "x-amzn-RequestId": { "description": "Unique request reference identifier.", "type": "string" - }, - "x-amzn-RateLimit-Limit": { - "description": "Your rate limit (requests per second) for this operation.", - "type": "string" } } }, @@ -1051,7 +1046,7 @@ "tags": [ "fbaInbound" ], - "description": "Provides a paginated list of box packages in an inbound plan.\n\n**Usage Plan:**\n\n| Rate (requests per second) | Burst |\n| ---- | ---- |\n| 1 | 1 |\n\nThe `x-amzn-RateLimit-Limit` response header returns the usage plan rate limits that were applied to the requested operation, when available. The table above indicates the default rate and burst values for this operation. Selling partners whose business demands require higher throughput may see higher rate and burst values than those shown here. For more information, refer to [Usage Plans and Rate Limits in the Selling Partner API](https://developer-docs.amazon.com/sp-api/docs/usage-plans-and-rate-limits-in-the-sp-api).", + "description": "Provides a paginated list of box packages in an inbound plan.\n\n**Usage Plan:**\n\n| Rate (requests per second) | Burst |\n| ---- | ---- |\n| 2 | 6 |\n\nThe `x-amzn-RateLimit-Limit` response header returns the usage plan rate limits that were applied to the requested operation, when available. The table above indicates the default rate and burst values for this operation. Selling partners whose business demands require higher throughput may see higher rate and burst values than those shown here. For more information, refer to [Usage Plans and Rate Limits in the Selling Partner API](https://developer-docs.amazon.com/sp-api/docs/usage-plans-and-rate-limits-in-the-sp-api). ", "operationId": "listInboundPlanBoxes" } }, @@ -1062,7 +1057,7 @@ ], "parameters": [ { - "description": "Identifier to an inbound plan.", + "description": "Identifier of an inbound plan.", "in": "path", "maxLength": 38, "minLength": 38, @@ -1142,8 +1137,8 @@ } } }, - "500": { - "description": "An unexpected condition occurred that prevented the server from fulfilling the request.", + "404": { + "description": "The resource specified does not exist.", "schema": { "$ref": "#/definitions/ErrorList" }, @@ -1151,11 +1146,15 @@ "x-amzn-RequestId": { "description": "Unique request reference identifier.", "type": "string" + }, + "x-amzn-RateLimit-Limit": { + "description": "Your rate limit (requests per second) for this operation.", + "type": "string" } } }, - "403": { - "description": "Indicates that access to the resource is forbidden. Possible reasons include Access Denied, Unauthorized, Expired Token, or Invalid Signature.", + "500": { + "description": "An unexpected condition occurred that prevented the server from fulfilling the request.", "schema": { "$ref": "#/definitions/ErrorList" }, @@ -1166,8 +1165,8 @@ } } }, - "404": { - "description": "The resource specified does not exist.", + "403": { + "description": "Indicates that access to the resource is forbidden. Possible reasons include Access Denied, Unauthorized, Expired Token, or Invalid Signature.", "schema": { "$ref": "#/definitions/ErrorList" }, @@ -1175,10 +1174,6 @@ "x-amzn-RequestId": { "description": "Unique request reference identifier.", "type": "string" - }, - "x-amzn-RateLimit-Limit": { - "description": "Your rate limit (requests per second) for this operation.", - "type": "string" } } }, @@ -1234,7 +1229,7 @@ "tags": [ "fbaInbound" ], - "description": "Cancels an Inbound Plan. Charges may apply if the cancellation is performed outside of a void window. The window\n for Amazon Partnered Carriers is 24 hours for Small Parcel Delivery (SPD) and one hour for Less-Than-Truckload (LTL) carrier shipments.\n\n**Usage Plan:**\n\n| Rate (requests per second) | Burst |\n| ---- | ---- |\n| 0.05 | 1 |\n\nThe `x-amzn-RateLimit-Limit` response header returns the usage plan rate limits that were applied to the requested operation, when available. The table above indicates the default rate and burst values for this operation. Selling partners whose business demands require higher throughput may see higher rate and burst values than those shown here. For more information, refer to [Usage Plans and Rate Limits in the Selling Partner API](https://developer-docs.amazon.com/sp-api/docs/usage-plans-and-rate-limits-in-the-sp-api).", + "description": "Cancels an Inbound Plan. Charges may apply if the cancellation is performed outside of a void window. The window for Amazon Partnered Carriers is 24 hours for Small Parcel Delivery (SPD) and one hour for Less-Than-Truckload (LTL) carrier shipments.\n\n**Usage Plan:**\n\n| Rate (requests per second) | Burst |\n| ---- | ---- |\n| 2 | 2 |\n\nThe `x-amzn-RateLimit-Limit` response header returns the usage plan rate limits that were applied to the requested operation, when available. The table above indicates the default rate and burst values for this operation. Selling partners whose business demands require higher throughput may see higher rate and burst values than those shown here. For more information, refer to [Usage Plans and Rate Limits in the Selling Partner API](https://developer-docs.amazon.com/sp-api/docs/usage-plans-and-rate-limits-in-the-sp-api). ", "operationId": "cancelInboundPlan" } }, @@ -1245,7 +1240,7 @@ ], "parameters": [ { - "description": "Identifier to an inbound plan.", + "description": "Identifier of an inbound plan.", "in": "path", "maxLength": 38, "minLength": 38, @@ -1377,8 +1372,8 @@ } } }, - "500": { - "description": "An unexpected condition occurred that prevented the server from fulfilling the request.", + "404": { + "description": "The resource specified does not exist.", "schema": { "$ref": "#/definitions/ErrorList" }, @@ -1386,11 +1381,15 @@ "x-amzn-RequestId": { "description": "Unique request reference identifier.", "type": "string" + }, + "x-amzn-RateLimit-Limit": { + "description": "Your rate limit (requests per second) for this operation.", + "type": "string" } } }, - "403": { - "description": "Indicates that access to the resource is forbidden. Possible reasons include Access Denied, Unauthorized, Expired Token, or Invalid Signature.", + "500": { + "description": "An unexpected condition occurred that prevented the server from fulfilling the request.", "schema": { "$ref": "#/definitions/ErrorList" }, @@ -1401,8 +1400,8 @@ } } }, - "404": { - "description": "The resource specified does not exist.", + "403": { + "description": "Indicates that access to the resource is forbidden. Possible reasons include Access Denied, Unauthorized, Expired Token, or Invalid Signature.", "schema": { "$ref": "#/definitions/ErrorList" }, @@ -1410,10 +1409,6 @@ "x-amzn-RequestId": { "description": "Unique request reference identifier.", "type": "string" - }, - "x-amzn-RateLimit-Limit": { - "description": "Your rate limit (requests per second) for this operation.", - "type": "string" } } }, @@ -1469,12 +1464,12 @@ "tags": [ "fbaInbound" ], - "description": "Provides a paginated list of item packages in an inbound plan.\n\n**Usage Plan:**\n\n| Rate (requests per second) | Burst |\n| ---- | ---- |\n| 1 | 1 |\n\nThe `x-amzn-RateLimit-Limit` response header returns the usage plan rate limits that were applied to the requested operation, when available. The table above indicates the default rate and burst values for this operation. Selling partners whose business demands require higher throughput may see higher rate and burst values than those shown here. For more information, refer to [Usage Plans and Rate Limits in the Selling Partner API](https://developer-docs.amazon.com/sp-api/docs/usage-plans-and-rate-limits-in-the-sp-api).", + "description": "Provides a paginated list of item packages in an inbound plan.\n\n**Usage Plan:**\n\n| Rate (requests per second) | Burst |\n| ---- | ---- |\n| 2 | 6 |\n\nThe `x-amzn-RateLimit-Limit` response header returns the usage plan rate limits that were applied to the requested operation, when available. The table above indicates the default rate and burst values for this operation. Selling partners whose business demands require higher throughput may see higher rate and burst values than those shown here. For more information, refer to [Usage Plans and Rate Limits in the Selling Partner API](https://developer-docs.amazon.com/sp-api/docs/usage-plans-and-rate-limits-in-the-sp-api). ", "operationId": "listInboundPlanItems" } }, - "/inbound/fba/2024-03-20/inboundPlans/{inboundPlanId}/packingInformation": { - "post": { + "/inbound/fba/2024-03-20/inboundPlans/{inboundPlanId}/name": { + "put": { "consumes": [ "application/json" ], @@ -1483,7 +1478,7 @@ ], "parameters": [ { - "description": "Identifier to an inbound plan.", + "description": "Identifier of an inbound plan.", "in": "path", "maxLength": 38, "minLength": 38, @@ -1497,17 +1492,14 @@ "name": "body", "required": true, "schema": { - "$ref": "#/definitions/SetPackingInformationRequest" + "$ref": "#/definitions/UpdateInboundPlanNameRequest" }, - "description": "The body of the request to `setPackingInformation`." + "description": "The body of the request to `updateInboundPlanName`." } ], "responses": { - "202": { - "description": "SetPackingInformation 202 response", - "schema": { - "$ref": "#/definitions/SetPackingInformationResponse" - }, + "204": { + "description": "UpdateInboundPlanName 204 response", "x-amzn-api-sandbox": { "static": [ { @@ -1518,46 +1510,10 @@ }, "body": { "value": { - "packageGroupings": [ - { - "shipmentId": "sh1234abcd-1234-abcd-5678-1234abcd5678", - "packingGroupId": "pg1234abcd-1234-abcd-5678-1234abcd5678", - "boxes": [ - { - "boxId": "boxId", - "templateName": "templateName", - "contents": [ - { - "msku": "msku", - "quantityInBox": 5, - "expiration": "2024-01-01", - "prepOwner": "AMAZON", - "labelOwner": "AMAZON", - "manufacturingLotCode": "manufacturingLotCode" - } - ], - "contentInformationSource": "BOX_CONTENT_PROVIDED", - "weight": { - "unit": "KG", - "value": 5.5 - }, - "dimensions": { - "unitOfMeasurement": "CM", - "length": 3.0, - "width": 4.0, - "height": 5.0 - }, - "quantity": 2 - } - ] - } - ] + "name": "updatedInboundPlanName" } } } - }, - "response": { - "operationId": "1234abcd-1234-abcd-5678-1234abcd5678" } } ] @@ -1584,44 +1540,11 @@ "request": { "parameters": { "inboundPlanId": { - "value": "bad234abcd-1234-abcd-5678-1234abcd5678" + "value": "wfbad4abcd-1234-abcd-5678-1234abcd5678" }, "body": { "value": { - "packageGroupings": [ - { - "shipmentId": "sh1234abcd-1234-abcd-5678-1234abcd5678", - "packingGroupId": "bad234abcd-1234-abcd-5678-1234abcd5678", - "boxes": [ - { - "boxId": "boxId", - "templateName": "templateName", - "contents": [ - { - "msku": "msku", - "quantityInBox": 5, - "expiration": "2024-01-01", - "prepOwner": "AMAZON", - "labelOwner": "AMAZON", - "manufacturingLotCode": "manufacturingLotCode" - } - ], - "contentInformationSource": "BOX_CONTENT_PROVIDED", - "weight": { - "unit": "KG", - "value": 5.5 - }, - "dimensions": { - "unitOfMeasurement": "CM", - "length": 3.0, - "width": 4.0, - "height": 5.0 - }, - "quantity": 2 - } - ] - } - ] + "name": "name" } } } @@ -1630,7 +1553,7 @@ "errors": [ { "code": "BadRequest", - "message": "The requested packingGroupId does not exist for the specified inbound plan." + "message": "The requested inbound plan does not exist." } ] } @@ -1648,8 +1571,8 @@ } } }, - "500": { - "description": "An unexpected condition occurred that prevented the server from fulfilling the request.", + "404": { + "description": "The resource specified does not exist.", "schema": { "$ref": "#/definitions/ErrorList" }, @@ -1657,11 +1580,15 @@ "x-amzn-RequestId": { "description": "Unique request reference identifier.", "type": "string" + }, + "x-amzn-RateLimit-Limit": { + "description": "Your rate limit (requests per second) for this operation.", + "type": "string" } } }, - "403": { - "description": "Indicates that access to the resource is forbidden. Possible reasons include Access Denied, Unauthorized, Expired Token, or Invalid Signature.", + "500": { + "description": "An unexpected condition occurred that prevented the server from fulfilling the request.", "schema": { "$ref": "#/definitions/ErrorList" }, @@ -1672,8 +1599,8 @@ } } }, - "404": { - "description": "The resource specified does not exist.", + "403": { + "description": "Indicates that access to the resource is forbidden. Possible reasons include Access Denied, Unauthorized, Expired Token, or Invalid Signature.", "schema": { "$ref": "#/definitions/ErrorList" }, @@ -1681,10 +1608,6 @@ "x-amzn-RequestId": { "description": "Unique request reference identifier.", "type": "string" - }, - "x-amzn-RateLimit-Limit": { - "description": "Your rate limit (requests per second) for this operation.", - "type": "string" } } }, @@ -1740,18 +1663,18 @@ "tags": [ "fbaInbound" ], - "description": "Sets packing information for an inbound plan. This should be called after an inbound plan is created to populate\n the box level information required for planning and transportation estimates.\n\n**Usage Plan:**\n\n| Rate (requests per second) | Burst |\n| ---- | ---- |\n| 0.05 | 1 |\n\nThe `x-amzn-RateLimit-Limit` response header returns the usage plan rate limits that were applied to the requested operation, when available. The table above indicates the default rate and burst values for this operation. Selling partners whose business demands require higher throughput may see higher rate and burst values than those shown here. For more information, refer to [Usage Plans and Rate Limits in the Selling Partner API](https://developer-docs.amazon.com/sp-api/docs/usage-plans-and-rate-limits-in-the-sp-api).", - "operationId": "setPackingInformation" + "description": "Updates the name of an existing inbound plan.\n\n**Usage Plan:**\n\n| Rate (requests per second) | Burst |\n| ---- | ---- |\n| 2 | 30 |\n\nThe `x-amzn-RateLimit-Limit` response header returns the usage plan rate limits that were applied to the requested operation, when available. The table above indicates the default rate and burst values for this operation. Selling partners whose business demands require higher throughput may see higher rate and burst values than those shown here. For more information, refer to [Usage Plans and Rate Limits in the Selling Partner API](https://developer-docs.amazon.com/sp-api/docs/usage-plans-and-rate-limits-in-the-sp-api). ", + "operationId": "updateInboundPlanName" } }, - "/inbound/fba/2024-03-20/inboundPlans/{inboundPlanId}/packingOptions": { + "/inbound/fba/2024-03-20/inboundPlans/{inboundPlanId}/packingGroups/{packingGroupId}/boxes": { "get": { "produces": [ "application/json" ], "parameters": [ { - "description": "Identifier to an inbound plan.", + "description": "Identifier of an inbound plan.", "in": "path", "maxLength": 38, "minLength": 38, @@ -1761,9 +1684,19 @@ "type": "string" }, { - "description": "The number of packing options to return in the response matching the given query.", + "description": "Identifier of a packing group.", + "in": "path", + "maxLength": 38, + "minLength": 38, + "name": "packingGroupId", + "pattern": "^[a-zA-Z0-9-]*$", + "required": true, + "type": "string" + }, + { + "description": "The number of packing group boxes to return in the response matching the given query.", "in": "query", - "maximum": 20, + "maximum": 100, "minimum": 1, "name": "pageSize", "type": "integer", @@ -1780,9 +1713,9 @@ ], "responses": { "200": { - "description": "ListPackingOptions 200 response", + "description": "ListPackingGroupBoxes 200 response", "schema": { - "$ref": "#/definitions/ListPackingOptionsResponse" + "$ref": "#/definitions/ListPackingGroupBoxesResponse" }, "x-amzn-api-sandbox": { "static": [ @@ -1792,6 +1725,9 @@ "inboundPlanId": { "value": "wf1234abcd-1234-abcd-5678-1234abcd5678" }, + "packingGroupId": { + "value": "pg1234abcd-1234-abcd-5678-1234abcd5678" + }, "pageSize": { "value": 2 }, @@ -1801,48 +1737,3229 @@ } }, "response": { - "packingOptions": [ + "boxes": [ { - "inboundPlanId": "wf1234abcd-1234-abcd-5678-1234abcd5678", - "packingOptionId": "po1234abcd-1234-abcd-5678-1234abcd5678", - "packingGroups": [ - "pg1234abcd-1234-abcd-5678-1234abcd5678" - ], - "fees": [ - { - "value": { - "code": "USD", - "amount": 1.0 - }, - "type": "FEE", - "target": "Placement Services", - "description": "description" - } - ], - "discounts": [ + "packageId": "pk1234abcd-1234-abcd-5678-1234abcd5678", + "weight": { + "unit": "KG", + "value": 5.5 + }, + "dimensions": { + "unitOfMeasurement": "CM", + "length": 3.0, + "width": 4.0, + "height": 5.0 + }, + "quantity": 2, + "boxId": "boxId", + "templateName": "templateName", + "items": [ { - "value": { - "code": "USD", - "amount": 1.0 - }, - "type": "DISCOUNT", - "target": "Placement Services", - "description": "description" + "quantity": 5, + "expiration": "2024-01-01", + "manufacturingLotCode": "manufacturingLotCode", + "prepInstructions": [ + { + "prepType": "ITEM_POLYBAGGING", + "prepOwner": "AMAZON", + "fee": { + "code": "USD", + "amount": 10.0 + } + } + ], + "msku": "msku", + "asin": "asin", + "fnsku": "fnsku", + "labelOwner": "AMAZON" } ], - "expiration": "2024-01-01T00:00:00.000Z", - "status": "OFFERED", - "supportedShippingConfigurations": [ - { - "shippingSolution": "AMAZON_PARTNERED_CARRIER", - "shippingMode": "GROUND_SMALL_PARCEL" - } - ] + "destinationRegion": { + "countryCode": "US", + "state": "CA", + "warehouseId": "ABC1" + }, + "contentInformationSource": "BOX_CONTENT_PROVIDED" + } + ], + "pagination": { + "nextToken": "nextPaginationToken" + } + } + } + ] + }, + "headers": { + "x-amzn-RequestId": { + "description": "Unique request reference identifier.", + "type": "string" + }, + "x-amzn-RateLimit-Limit": { + "description": "Your rate limit (requests per second) for this operation.", + "type": "string" + } + } + }, + "400": { + "description": "Request has missing or invalid parameters and cannot be parsed.", + "schema": { + "$ref": "#/definitions/ErrorList" + }, + "x-amzn-api-sandbox": { + "static": [ + { + "request": { + "parameters": { + "inboundPlanId": { + "value": "wf1234abcd-1234-abcd-5678-1234abcd5678" + }, + "packingGroupId": { + "value": "bad234abcd-1234-abcd-5678-1234abcd5678" + }, + "pageSize": { + "value": 2 + }, + "paginationToken": { + "value": "paginationToken" + } + } + }, + "response": { + "errors": [ + { + "code": "BadRequest", + "message": "The requested packingGroupId does not exist for the specified inbound plan." + } + ] + } + } + ] + }, + "headers": { + "x-amzn-RequestId": { + "description": "Unique request reference identifier.", + "type": "string" + }, + "x-amzn-RateLimit-Limit": { + "description": "Your rate limit (requests per second) for this operation.", + "type": "string" + } + } + }, + "404": { + "description": "The resource specified does not exist.", + "schema": { + "$ref": "#/definitions/ErrorList" + }, + "headers": { + "x-amzn-RequestId": { + "description": "Unique request reference identifier.", + "type": "string" + }, + "x-amzn-RateLimit-Limit": { + "description": "Your rate limit (requests per second) for this operation.", + "type": "string" + } + } + }, + "500": { + "description": "An unexpected condition occurred that prevented the server from fulfilling the request.", + "schema": { + "$ref": "#/definitions/ErrorList" + }, + "headers": { + "x-amzn-RequestId": { + "description": "Unique request reference identifier.", + "type": "string" + } + } + }, + "403": { + "description": "Indicates that access to the resource is forbidden. Possible reasons include Access Denied, Unauthorized, Expired Token, or Invalid Signature.", + "schema": { + "$ref": "#/definitions/ErrorList" + }, + "headers": { + "x-amzn-RequestId": { + "description": "Unique request reference identifier.", + "type": "string" + } + } + }, + "413": { + "description": "The request size exceeded the maximum accepted size.", + "schema": { + "$ref": "#/definitions/ErrorList" + }, + "headers": { + "x-amzn-RequestId": { + "description": "Unique request reference identifier.", + "type": "string" + } + } + }, + "415": { + "description": "The request payload is in an unsupported format.", + "schema": { + "$ref": "#/definitions/ErrorList" + }, + "headers": { + "x-amzn-RequestId": { + "description": "Unique request reference identifier.", + "type": "string" + } + } + }, + "429": { + "description": "The frequency of requests was greater than allowed.", + "schema": { + "$ref": "#/definitions/ErrorList" + }, + "headers": { + "x-amzn-RequestId": { + "description": "Unique request reference identifier.", + "type": "string" + } + } + }, + "503": { + "description": "Temporary overloading or maintenance of the server.", + "schema": { + "$ref": "#/definitions/ErrorList" + }, + "headers": { + "x-amzn-RequestId": { + "description": "Unique request reference identifier.", + "type": "string" + } + } + } + }, + "tags": [ + "fbaInbound" + ], + "description": "Retrieves a page of boxes from a given packing group. These boxes were previously provided through the `setPackingInformation` operation. This API is used for workflows where boxes are packed before Amazon determines shipment splits.\n\n**Usage Plan:**\n\n| Rate (requests per second) | Burst |\n| ---- | ---- |\n| 2 | 30 |\n\nThe `x-amzn-RateLimit-Limit` response header returns the usage plan rate limits that were applied to the requested operation, when available. The table above indicates the default rate and burst values for this operation. Selling partners whose business demands require higher throughput may see higher rate and burst values than those shown here. For more information, refer to [Usage Plans and Rate Limits in the Selling Partner API](https://developer-docs.amazon.com/sp-api/docs/usage-plans-and-rate-limits-in-the-sp-api). ", + "operationId": "listPackingGroupBoxes" + } + }, + "/inbound/fba/2024-03-20/inboundPlans/{inboundPlanId}/packingGroups/{packingGroupId}/items": { + "get": { + "produces": [ + "application/json" + ], + "parameters": [ + { + "description": "Identifier of an inbound plan.", + "in": "path", + "maxLength": 38, + "minLength": 38, + "name": "inboundPlanId", + "pattern": "^[a-zA-Z0-9-]*$", + "required": true, + "type": "string" + }, + { + "description": "Identifier of a packing group.", + "in": "path", + "maxLength": 38, + "minLength": 38, + "name": "packingGroupId", + "pattern": "^[a-zA-Z0-9-]*$", + "required": true, + "type": "string" + }, + { + "description": "The number of packing group items to return in the response matching the given query.", + "in": "query", + "maximum": 100, + "minimum": 1, + "name": "pageSize", + "type": "integer", + "default": 10 + }, + { + "description": "A token to fetch a certain page when there are multiple pages worth of results. The value of this token is fetched from the `pagination` returned in the API response. In the absence of the token value from the query parameter the API returns the first page of the result.", + "in": "query", + "maxLength": 1024, + "minLength": 0, + "name": "paginationToken", + "type": "string" + } + ], + "responses": { + "200": { + "description": "ListPackingGroupItems 200 response", + "schema": { + "$ref": "#/definitions/ListPackingGroupItemsResponse" + }, + "x-amzn-api-sandbox": { + "static": [ + { + "request": { + "parameters": { + "inboundPlanId": { + "value": "wf1234abcd-1234-abcd-5678-1234abcd5678" + }, + "packingGroupId": { + "value": "pg1234abcd-1234-abcd-5678-1234abcd5678" + }, + "pageSize": { + "value": 2 + }, + "paginationToken": { + "value": "paginationToken" + } + } + }, + "response": { + "items": [ + { + "quantity": 5, + "prepInstructions": [ + { + "prepType": "ITEM_POLYBAGGING", + "prepOwner": "AMAZON", + "fee": { + "code": "USD", + "amount": 10.0 + } + } + ], + "msku": "msku", + "asin": "asin", + "fnsku": "fnsku", + "labelOwner": "AMAZON" + } + ], + "pagination": { + "nextToken": "nextPaginationToken" + } + } + } + ] + }, + "headers": { + "x-amzn-RequestId": { + "description": "Unique request reference identifier.", + "type": "string" + }, + "x-amzn-RateLimit-Limit": { + "description": "Your rate limit (requests per second) for this operation.", + "type": "string" + } + } + }, + "400": { + "description": "Request has missing or invalid parameters and cannot be parsed.", + "schema": { + "$ref": "#/definitions/ErrorList" + }, + "x-amzn-api-sandbox": { + "static": [ + { + "request": { + "parameters": { + "inboundPlanId": { + "value": "wf1234abcd-1234-abcd-5678-1234abcd5678" + }, + "packingGroupId": { + "value": "bad234abcd-1234-abcd-5678-1234abcd5678" + }, + "pageSize": { + "value": 2 + }, + "paginationToken": { + "value": "paginationToken" + } + } + }, + "response": { + "errors": [ + { + "code": "BadRequest", + "message": "The requested packingGroupId does not exist for the specified inbound plan." + } + ] + } + } + ] + }, + "headers": { + "x-amzn-RequestId": { + "description": "Unique request reference identifier.", + "type": "string" + }, + "x-amzn-RateLimit-Limit": { + "description": "Your rate limit (requests per second) for this operation.", + "type": "string" + } + } + }, + "404": { + "description": "The resource specified does not exist.", + "schema": { + "$ref": "#/definitions/ErrorList" + }, + "headers": { + "x-amzn-RequestId": { + "description": "Unique request reference identifier.", + "type": "string" + }, + "x-amzn-RateLimit-Limit": { + "description": "Your rate limit (requests per second) for this operation.", + "type": "string" + } + } + }, + "500": { + "description": "An unexpected condition occurred that prevented the server from fulfilling the request.", + "schema": { + "$ref": "#/definitions/ErrorList" + }, + "headers": { + "x-amzn-RequestId": { + "description": "Unique request reference identifier.", + "type": "string" + } + } + }, + "403": { + "description": "Indicates that access to the resource is forbidden. Possible reasons include Access Denied, Unauthorized, Expired Token, or Invalid Signature.", + "schema": { + "$ref": "#/definitions/ErrorList" + }, + "headers": { + "x-amzn-RequestId": { + "description": "Unique request reference identifier.", + "type": "string" + } + } + }, + "413": { + "description": "The request size exceeded the maximum accepted size.", + "schema": { + "$ref": "#/definitions/ErrorList" + }, + "headers": { + "x-amzn-RequestId": { + "description": "Unique request reference identifier.", + "type": "string" + } + } + }, + "415": { + "description": "The request payload is in an unsupported format.", + "schema": { + "$ref": "#/definitions/ErrorList" + }, + "headers": { + "x-amzn-RequestId": { + "description": "Unique request reference identifier.", + "type": "string" + } + } + }, + "429": { + "description": "The frequency of requests was greater than allowed.", + "schema": { + "$ref": "#/definitions/ErrorList" + }, + "headers": { + "x-amzn-RequestId": { + "description": "Unique request reference identifier.", + "type": "string" + } + } + }, + "503": { + "description": "Temporary overloading or maintenance of the server.", + "schema": { + "$ref": "#/definitions/ErrorList" + }, + "headers": { + "x-amzn-RequestId": { + "description": "Unique request reference identifier.", + "type": "string" + } + } + } + }, + "tags": [ + "fbaInbound" + ], + "description": "Retrieves a page of items in a given packing group. Packing options must first be generated by the corresponding operation before packing group items can be listed.\n\n**Usage Plan:**\n\n| Rate (requests per second) | Burst |\n| ---- | ---- |\n| 2 | 30 |\n\nThe `x-amzn-RateLimit-Limit` response header returns the usage plan rate limits that were applied to the requested operation, when available. The table above indicates the default rate and burst values for this operation. Selling partners whose business demands require higher throughput may see higher rate and burst values than those shown here. For more information, refer to [Usage Plans and Rate Limits in the Selling Partner API](https://developer-docs.amazon.com/sp-api/docs/usage-plans-and-rate-limits-in-the-sp-api). ", + "operationId": "listPackingGroupItems" + } + }, + "/inbound/fba/2024-03-20/inboundPlans/{inboundPlanId}/packingInformation": { + "post": { + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "parameters": [ + { + "description": "Identifier of an inbound plan.", + "in": "path", + "maxLength": 38, + "minLength": 38, + "name": "inboundPlanId", + "pattern": "^[a-zA-Z0-9-]*$", + "required": true, + "type": "string" + }, + { + "in": "body", + "name": "body", + "required": true, + "schema": { + "$ref": "#/definitions/SetPackingInformationRequest" + }, + "description": "The body of the request to `setPackingInformation`." + } + ], + "responses": { + "202": { + "description": "SetPackingInformation 202 response", + "schema": { + "$ref": "#/definitions/SetPackingInformationResponse" + }, + "x-amzn-api-sandbox": { + "static": [ + { + "request": { + "parameters": { + "inboundPlanId": { + "value": "wf1234abcd-1234-abcd-5678-1234abcd5678" + }, + "body": { + "value": { + "packageGroupings": [ + { + "shipmentId": "sh1234abcd-1234-abcd-5678-1234abcd5678", + "packingGroupId": "pg1234abcd-1234-abcd-5678-1234abcd5678", + "boxes": [ + { + "items": [ + { + "msku": "msku", + "quantity": 5, + "expiration": "2024-01-01", + "prepOwner": "AMAZON", + "labelOwner": "AMAZON", + "manufacturingLotCode": "manufacturingLotCode" + } + ], + "contentInformationSource": "BOX_CONTENT_PROVIDED", + "weight": { + "unit": "KG", + "value": 5.5 + }, + "dimensions": { + "unitOfMeasurement": "CM", + "length": 3.0, + "width": 4.0, + "height": 5.0 + }, + "quantity": 2 + } + ] + } + ] + } + } + } + }, + "response": { + "operationId": "1234abcd-1234-abcd-5678-1234abcd5678" + } + } + ] + }, + "headers": { + "x-amzn-RequestId": { + "description": "Unique request reference identifier.", + "type": "string" + }, + "x-amzn-RateLimit-Limit": { + "description": "Your rate limit (requests per second) for this operation.", + "type": "string" + } + } + }, + "400": { + "description": "Request has missing or invalid parameters and cannot be parsed.", + "schema": { + "$ref": "#/definitions/ErrorList" + }, + "x-amzn-api-sandbox": { + "static": [ + { + "request": { + "parameters": { + "inboundPlanId": { + "value": "bad234abcd-1234-abcd-5678-1234abcd5678" + }, + "body": { + "value": { + "packageGroupings": [ + { + "shipmentId": "sh1234abcd-1234-abcd-5678-1234abcd5678", + "packingGroupId": "bad234abcd-1234-abcd-5678-1234abcd5678", + "boxes": [ + { + "items": [ + { + "msku": "msku", + "quantity": 5, + "expiration": "2024-01-01", + "prepOwner": "AMAZON", + "labelOwner": "AMAZON", + "manufacturingLotCode": "manufacturingLotCode" + } + ], + "contentInformationSource": "BOX_CONTENT_PROVIDED", + "weight": { + "unit": "KG", + "value": 5.5 + }, + "dimensions": { + "unitOfMeasurement": "CM", + "length": 3.0, + "width": 4.0, + "height": 5.0 + }, + "quantity": 2 + } + ] + } + ] + } + } + } + }, + "response": { + "errors": [ + { + "code": "BadRequest", + "message": "The requested packingGroupId does not exist for the specified inbound plan." + } + ] + } + } + ] + }, + "headers": { + "x-amzn-RequestId": { + "description": "Unique request reference identifier.", + "type": "string" + }, + "x-amzn-RateLimit-Limit": { + "description": "Your rate limit (requests per second) for this operation.", + "type": "string" + } + } + }, + "404": { + "description": "The resource specified does not exist.", + "schema": { + "$ref": "#/definitions/ErrorList" + }, + "headers": { + "x-amzn-RequestId": { + "description": "Unique request reference identifier.", + "type": "string" + }, + "x-amzn-RateLimit-Limit": { + "description": "Your rate limit (requests per second) for this operation.", + "type": "string" + } + } + }, + "500": { + "description": "An unexpected condition occurred that prevented the server from fulfilling the request.", + "schema": { + "$ref": "#/definitions/ErrorList" + }, + "headers": { + "x-amzn-RequestId": { + "description": "Unique request reference identifier.", + "type": "string" + } + } + }, + "403": { + "description": "Indicates that access to the resource is forbidden. Possible reasons include Access Denied, Unauthorized, Expired Token, or Invalid Signature.", + "schema": { + "$ref": "#/definitions/ErrorList" + }, + "headers": { + "x-amzn-RequestId": { + "description": "Unique request reference identifier.", + "type": "string" + } + } + }, + "413": { + "description": "The request size exceeded the maximum accepted size.", + "schema": { + "$ref": "#/definitions/ErrorList" + }, + "headers": { + "x-amzn-RequestId": { + "description": "Unique request reference identifier.", + "type": "string" + } + } + }, + "415": { + "description": "The request payload is in an unsupported format.", + "schema": { + "$ref": "#/definitions/ErrorList" + }, + "headers": { + "x-amzn-RequestId": { + "description": "Unique request reference identifier.", + "type": "string" + } + } + }, + "429": { + "description": "The frequency of requests was greater than allowed.", + "schema": { + "$ref": "#/definitions/ErrorList" + }, + "headers": { + "x-amzn-RequestId": { + "description": "Unique request reference identifier.", + "type": "string" + } + } + }, + "503": { + "description": "Temporary overloading or maintenance of the server.", + "schema": { + "$ref": "#/definitions/ErrorList" + }, + "headers": { + "x-amzn-RequestId": { + "description": "Unique request reference identifier.", + "type": "string" + } + } + } + }, + "tags": [ + "fbaInbound" + ], + "description": "Sets packing information for an inbound plan. This should be called after an inbound plan is created to populate the box level information required for planning and transportation estimates.\n\n**Usage Plan:**\n\n| Rate (requests per second) | Burst |\n| ---- | ---- |\n| 2 | 2 |\n\nThe `x-amzn-RateLimit-Limit` response header returns the usage plan rate limits that were applied to the requested operation, when available. The table above indicates the default rate and burst values for this operation. Selling partners whose business demands require higher throughput may see higher rate and burst values than those shown here. For more information, refer to [Usage Plans and Rate Limits in the Selling Partner API](https://developer-docs.amazon.com/sp-api/docs/usage-plans-and-rate-limits-in-the-sp-api). ", + "operationId": "setPackingInformation" + } + }, + "/inbound/fba/2024-03-20/inboundPlans/{inboundPlanId}/packingOptions": { + "get": { + "produces": [ + "application/json" + ], + "parameters": [ + { + "description": "Identifier of an inbound plan.", + "in": "path", + "maxLength": 38, + "minLength": 38, + "name": "inboundPlanId", + "pattern": "^[a-zA-Z0-9-]*$", + "required": true, + "type": "string" + }, + { + "description": "The number of packing options to return in the response matching the given query.", + "in": "query", + "maximum": 20, + "minimum": 1, + "name": "pageSize", + "type": "integer", + "default": 10 + }, + { + "description": "A token to fetch a certain page when there are multiple pages worth of results. The value of this token is fetched from the `pagination` returned in the API response. In the absence of the token value from the query parameter the API returns the first page of the result.", + "in": "query", + "maxLength": 1024, + "minLength": 0, + "name": "paginationToken", + "type": "string" + } + ], + "responses": { + "200": { + "description": "ListPackingOptions 200 response", + "schema": { + "$ref": "#/definitions/ListPackingOptionsResponse" + }, + "x-amzn-api-sandbox": { + "static": [ + { + "request": { + "parameters": { + "inboundPlanId": { + "value": "wf1234abcd-1234-abcd-5678-1234abcd5678" + }, + "pageSize": { + "value": 2 + }, + "paginationToken": { + "value": "paginationToken" + } + } + }, + "response": { + "packingOptions": [ + { + "packingOptionId": "po1234abcd-1234-abcd-5678-1234abcd5678", + "packingGroups": [ + "pg1234abcd-1234-abcd-5678-1234abcd5678" + ], + "fees": [ + { + "value": { + "code": "USD", + "amount": 1.0 + }, + "type": "FEE", + "target": "Placement Services", + "description": "description" + } + ], + "discounts": [ + { + "value": { + "code": "USD", + "amount": 1.0 + }, + "type": "DISCOUNT", + "target": "Placement Services", + "description": "description" + } + ], + "expiration": "2024-01-01T00:00:00.000Z", + "status": "OFFERED", + "supportedShippingConfigurations": [ + { + "shippingSolution": "AMAZON_PARTNERED_CARRIER", + "shippingMode": "GROUND_SMALL_PARCEL" + } + ] + } + ], + "pagination": { + "nextToken": "nextPaginationToken" + } + } + } + ] + }, + "headers": { + "x-amzn-RequestId": { + "description": "Unique request reference identifier.", + "type": "string" + }, + "x-amzn-RateLimit-Limit": { + "description": "Your rate limit (requests per second) for this operation.", + "type": "string" + } + } + }, + "400": { + "description": "Request has missing or invalid parameters and cannot be parsed.", + "schema": { + "$ref": "#/definitions/ErrorList" + }, + "x-amzn-api-sandbox": { + "static": [ + { + "request": { + "parameters": { + "inboundPlanId": { + "value": "bad234abcd-1234-abcd-5678-1234abcd5678" + }, + "pageSize": { + "value": 2 + }, + "paginationToken": { + "value": "paginationToken" + } + } + }, + "response": { + "errors": [ + { + "code": "BadRequest", + "message": "The requested inbound plan does not exist." + } + ] + } + } + ] + }, + "headers": { + "x-amzn-RequestId": { + "description": "Unique request reference identifier.", + "type": "string" + }, + "x-amzn-RateLimit-Limit": { + "description": "Your rate limit (requests per second) for this operation.", + "type": "string" + } + } + }, + "404": { + "description": "The resource specified does not exist.", + "schema": { + "$ref": "#/definitions/ErrorList" + }, + "headers": { + "x-amzn-RequestId": { + "description": "Unique request reference identifier.", + "type": "string" + }, + "x-amzn-RateLimit-Limit": { + "description": "Your rate limit (requests per second) for this operation.", + "type": "string" + } + } + }, + "500": { + "description": "An unexpected condition occurred that prevented the server from fulfilling the request.", + "schema": { + "$ref": "#/definitions/ErrorList" + }, + "headers": { + "x-amzn-RequestId": { + "description": "Unique request reference identifier.", + "type": "string" + } + } + }, + "403": { + "description": "Indicates that access to the resource is forbidden. Possible reasons include Access Denied, Unauthorized, Expired Token, or Invalid Signature.", + "schema": { + "$ref": "#/definitions/ErrorList" + }, + "headers": { + "x-amzn-RequestId": { + "description": "Unique request reference identifier.", + "type": "string" + } + } + }, + "413": { + "description": "The request size exceeded the maximum accepted size.", + "schema": { + "$ref": "#/definitions/ErrorList" + }, + "headers": { + "x-amzn-RequestId": { + "description": "Unique request reference identifier.", + "type": "string" + } + } + }, + "415": { + "description": "The request payload is in an unsupported format.", + "schema": { + "$ref": "#/definitions/ErrorList" + }, + "headers": { + "x-amzn-RequestId": { + "description": "Unique request reference identifier.", + "type": "string" + } + } + }, + "429": { + "description": "The frequency of requests was greater than allowed.", + "schema": { + "$ref": "#/definitions/ErrorList" + }, + "headers": { + "x-amzn-RequestId": { + "description": "Unique request reference identifier.", + "type": "string" + } + } + }, + "503": { + "description": "Temporary overloading or maintenance of the server.", + "schema": { + "$ref": "#/definitions/ErrorList" + }, + "headers": { + "x-amzn-RequestId": { + "description": "Unique request reference identifier.", + "type": "string" + } + } + } + }, + "tags": [ + "fbaInbound" + ], + "description": "Retrieves a list of all packing options for an inbound plan. Packing options must first be generated by the corresponding operation before becoming available.\n\n**Usage Plan:**\n\n| Rate (requests per second) | Burst |\n| ---- | ---- |\n| 2 | 6 |\n\nThe `x-amzn-RateLimit-Limit` response header returns the usage plan rate limits that were applied to the requested operation, when available. The table above indicates the default rate and burst values for this operation. Selling partners whose business demands require higher throughput may see higher rate and burst values than those shown here. For more information, refer to [Usage Plans and Rate Limits in the Selling Partner API](https://developer-docs.amazon.com/sp-api/docs/usage-plans-and-rate-limits-in-the-sp-api). ", + "operationId": "listPackingOptions" + }, + "post": { + "produces": [ + "application/json" + ], + "parameters": [ + { + "description": "Identifier of an inbound plan.", + "in": "path", + "maxLength": 38, + "minLength": 38, + "name": "inboundPlanId", + "pattern": "^[a-zA-Z0-9-]*$", + "required": true, + "type": "string" + } + ], + "responses": { + "202": { + "description": "GeneratePackingOptions 202 response", + "schema": { + "$ref": "#/definitions/GeneratePackingOptionsResponse" + }, + "x-amzn-api-sandbox": { + "static": [ + { + "request": { + "parameters": { + "inboundPlanId": { + "value": "wf1234abcd-1234-abcd-5678-1234abcd5678" + } + } + }, + "response": { + "operationId": "1234abcd-1234-abcd-5678-1234abcd5678" + } + } + ] + }, + "headers": { + "x-amzn-RequestId": { + "description": "Unique request reference identifier.", + "type": "string" + }, + "x-amzn-RateLimit-Limit": { + "description": "Your rate limit (requests per second) for this operation.", + "type": "string" + } + } + }, + "400": { + "description": "Request has missing or invalid parameters and cannot be parsed.", + "schema": { + "$ref": "#/definitions/ErrorList" + }, + "x-amzn-api-sandbox": { + "static": [ + { + "request": { + "parameters": { + "inboundPlanId": { + "value": "wfbad4abcd-1234-abcd-5678-1234abcd5678" + } + } + }, + "response": { + "errors": [ + { + "code": "BadRequest", + "message": "The inbound plan is not in a valid state to generate packing options." + } + ] + } + } + ] + }, + "headers": { + "x-amzn-RequestId": { + "description": "Unique request reference identifier.", + "type": "string" + }, + "x-amzn-RateLimit-Limit": { + "description": "Your rate limit (requests per second) for this operation.", + "type": "string" + } + } + }, + "404": { + "description": "The resource specified does not exist.", + "schema": { + "$ref": "#/definitions/ErrorList" + }, + "headers": { + "x-amzn-RequestId": { + "description": "Unique request reference identifier.", + "type": "string" + }, + "x-amzn-RateLimit-Limit": { + "description": "Your rate limit (requests per second) for this operation.", + "type": "string" + } + } + }, + "500": { + "description": "An unexpected condition occurred that prevented the server from fulfilling the request.", + "schema": { + "$ref": "#/definitions/ErrorList" + }, + "headers": { + "x-amzn-RequestId": { + "description": "Unique request reference identifier.", + "type": "string" + } + } + }, + "403": { + "description": "Indicates that access to the resource is forbidden. Possible reasons include Access Denied, Unauthorized, Expired Token, or Invalid Signature.", + "schema": { + "$ref": "#/definitions/ErrorList" + }, + "headers": { + "x-amzn-RequestId": { + "description": "Unique request reference identifier.", + "type": "string" + } + } + }, + "413": { + "description": "The request size exceeded the maximum accepted size.", + "schema": { + "$ref": "#/definitions/ErrorList" + }, + "headers": { + "x-amzn-RequestId": { + "description": "Unique request reference identifier.", + "type": "string" + } + } + }, + "415": { + "description": "The request payload is in an unsupported format.", + "schema": { + "$ref": "#/definitions/ErrorList" + }, + "headers": { + "x-amzn-RequestId": { + "description": "Unique request reference identifier.", + "type": "string" + } + } + }, + "429": { + "description": "The frequency of requests was greater than allowed.", + "schema": { + "$ref": "#/definitions/ErrorList" + }, + "headers": { + "x-amzn-RequestId": { + "description": "Unique request reference identifier.", + "type": "string" + } + } + }, + "503": { + "description": "Temporary overloading or maintenance of the server.", + "schema": { + "$ref": "#/definitions/ErrorList" + }, + "headers": { + "x-amzn-RequestId": { + "description": "Unique request reference identifier.", + "type": "string" + } + } + } + }, + "tags": [ + "fbaInbound" + ], + "description": "Generates available packing options for the inbound plan.\n\n**Usage Plan:**\n\n| Rate (requests per second) | Burst |\n| ---- | ---- |\n| 2 | 2 |\n\nThe `x-amzn-RateLimit-Limit` response header returns the usage plan rate limits that were applied to the requested operation, when available. The table above indicates the default rate and burst values for this operation. Selling partners whose business demands require higher throughput may see higher rate and burst values than those shown here. For more information, refer to [Usage Plans and Rate Limits in the Selling Partner API](https://developer-docs.amazon.com/sp-api/docs/usage-plans-and-rate-limits-in-the-sp-api). ", + "operationId": "generatePackingOptions" + } + }, + "/inbound/fba/2024-03-20/inboundPlans/{inboundPlanId}/packingOptions/{packingOptionId}/confirmation": { + "post": { + "produces": [ + "application/json" + ], + "parameters": [ + { + "description": "Identifier of an inbound plan.", + "in": "path", + "maxLength": 38, + "minLength": 38, + "name": "inboundPlanId", + "pattern": "^[a-zA-Z0-9-]*$", + "required": true, + "type": "string" + }, + { + "description": "Identifier of a packing option.", + "in": "path", + "maxLength": 38, + "minLength": 38, + "name": "packingOptionId", + "pattern": "^[a-zA-Z0-9-]*$", + "required": true, + "type": "string" + } + ], + "responses": { + "202": { + "description": "ConfirmPackingOption 202 response", + "schema": { + "$ref": "#/definitions/ConfirmPackingOptionResponse" + }, + "x-amzn-api-sandbox": { + "static": [ + { + "request": { + "parameters": { + "inboundPlanId": { + "value": "wf1234abcd-1234-abcd-5678-1234abcd5678" + }, + "packingOptionId": { + "value": "po1234abcd-1234-abcd-5678-1234abcd5678" + } + } + }, + "response": { + "operationId": "1234abcd-1234-abcd-5678-1234abcd5678" + } + } + ] + }, + "headers": { + "x-amzn-RequestId": { + "description": "Unique request reference identifier.", + "type": "string" + }, + "x-amzn-RateLimit-Limit": { + "description": "Your rate limit (requests per second) for this operation.", + "type": "string" + } + } + }, + "400": { + "description": "Request has missing or invalid parameters and cannot be parsed.", + "schema": { + "$ref": "#/definitions/ErrorList" + }, + "x-amzn-api-sandbox": { + "static": [ + { + "request": { + "parameters": { + "inboundPlanId": { + "value": "wf1234abcd-1234-abcd-5678-1234abcd5678" + }, + "packingOptionId": { + "value": "bad234abcd-1234-abcd-5678-1234abcd5678" + } + } + }, + "response": { + "errors": [ + { + "code": "BadRequest", + "message": "The requested packingOptionId does not exist for the given inbound plan." + } + ] + } + } + ] + }, + "headers": { + "x-amzn-RequestId": { + "description": "Unique request reference identifier.", + "type": "string" + }, + "x-amzn-RateLimit-Limit": { + "description": "Your rate limit (requests per second) for this operation.", + "type": "string" + } + } + }, + "404": { + "description": "The resource specified does not exist.", + "schema": { + "$ref": "#/definitions/ErrorList" + }, + "headers": { + "x-amzn-RequestId": { + "description": "Unique request reference identifier.", + "type": "string" + }, + "x-amzn-RateLimit-Limit": { + "description": "Your rate limit (requests per second) for this operation.", + "type": "string" + } + } + }, + "500": { + "description": "An unexpected condition occurred that prevented the server from fulfilling the request.", + "schema": { + "$ref": "#/definitions/ErrorList" + }, + "headers": { + "x-amzn-RequestId": { + "description": "Unique request reference identifier.", + "type": "string" + } + } + }, + "403": { + "description": "Indicates that access to the resource is forbidden. Possible reasons include Access Denied, Unauthorized, Expired Token, or Invalid Signature.", + "schema": { + "$ref": "#/definitions/ErrorList" + }, + "headers": { + "x-amzn-RequestId": { + "description": "Unique request reference identifier.", + "type": "string" + } + } + }, + "413": { + "description": "The request size exceeded the maximum accepted size.", + "schema": { + "$ref": "#/definitions/ErrorList" + }, + "headers": { + "x-amzn-RequestId": { + "description": "Unique request reference identifier.", + "type": "string" + } + } + }, + "415": { + "description": "The request payload is in an unsupported format.", + "schema": { + "$ref": "#/definitions/ErrorList" + }, + "headers": { + "x-amzn-RequestId": { + "description": "Unique request reference identifier.", + "type": "string" + } + } + }, + "429": { + "description": "The frequency of requests was greater than allowed.", + "schema": { + "$ref": "#/definitions/ErrorList" + }, + "headers": { + "x-amzn-RequestId": { + "description": "Unique request reference identifier.", + "type": "string" + } + } + }, + "503": { + "description": "Temporary overloading or maintenance of the server.", + "schema": { + "$ref": "#/definitions/ErrorList" + }, + "headers": { + "x-amzn-RequestId": { + "description": "Unique request reference identifier.", + "type": "string" + } + } + } + }, + "tags": [ + "fbaInbound" + ], + "description": "Confirms the packing option for an inbound plan.\n\n**Usage Plan:**\n\n| Rate (requests per second) | Burst |\n| ---- | ---- |\n| 2 | 2 |\n\nThe `x-amzn-RateLimit-Limit` response header returns the usage plan rate limits that were applied to the requested operation, when available. The table above indicates the default rate and burst values for this operation. Selling partners whose business demands require higher throughput may see higher rate and burst values than those shown here. For more information, refer to [Usage Plans and Rate Limits in the Selling Partner API](https://developer-docs.amazon.com/sp-api/docs/usage-plans-and-rate-limits-in-the-sp-api). ", + "operationId": "confirmPackingOption" + } + }, + "/inbound/fba/2024-03-20/inboundPlans/{inboundPlanId}/pallets": { + "get": { + "produces": [ + "application/json" + ], + "parameters": [ + { + "description": "Identifier of an inbound plan.", + "in": "path", + "maxLength": 38, + "minLength": 38, + "name": "inboundPlanId", + "pattern": "^[a-zA-Z0-9-]*$", + "required": true, + "type": "string" + }, + { + "description": "The number of pallets to return in the response matching the given query.", + "in": "query", + "maximum": 1000, + "minimum": 1, + "name": "pageSize", + "type": "integer", + "default": 10 + }, + { + "description": "A token to fetch a certain page when there are multiple pages worth of results. The value of this token is fetched from the `pagination` returned in the API response. In the absence of the token value from the query parameter the API returns the first page of the result.", + "in": "query", + "maxLength": 1024, + "minLength": 0, + "name": "paginationToken", + "type": "string" + } + ], + "responses": { + "200": { + "description": "ListInboundPlanPallets 200 response", + "schema": { + "$ref": "#/definitions/ListInboundPlanPalletsResponse" + }, + "x-amzn-api-sandbox": { + "static": [ + { + "request": { + "parameters": { + "inboundPlanId": { + "value": "wf1234abcd-1234-abcd-5678-1234abcd5678" + }, + "pageSize": { + "value": 2 + }, + "paginationToken": { + "value": "paginationToken" + } + } + }, + "response": { + "pallets": [ + { + "stackability": "STACKABLE", + "packageId": "pk1234abcd-1234-abcd-5678-1234abcd5678", + "weight": { + "unit": "KG", + "value": 5.5 + }, + "dimensions": { + "unitOfMeasurement": "CM", + "length": 3.0, + "width": 4.0, + "height": 5.0 + }, + "quantity": 2 + } + ], + "pagination": { + "nextToken": "nextPaginationToken" + } + } + } + ] + }, + "headers": { + "x-amzn-RequestId": { + "description": "Unique request reference identifier.", + "type": "string" + }, + "x-amzn-RateLimit-Limit": { + "description": "Your rate limit (requests per second) for this operation.", + "type": "string" + } + } + }, + "400": { + "description": "Request has missing or invalid parameters and cannot be parsed.", + "schema": { + "$ref": "#/definitions/ErrorList" + }, + "x-amzn-api-sandbox": { + "static": [ + { + "request": { + "parameters": { + "inboundPlanId": { + "value": "bad234abcd-1234-abcd-5678-1234abcd5678" + }, + "pageSize": { + "value": 2 + }, + "paginationToken": { + "value": "paginationToken" + } + } + }, + "response": { + "errors": [ + { + "code": "BadRequest", + "message": "The requested inbound plan does not exist." + } + ] + } + } + ] + }, + "headers": { + "x-amzn-RequestId": { + "description": "Unique request reference identifier.", + "type": "string" + }, + "x-amzn-RateLimit-Limit": { + "description": "Your rate limit (requests per second) for this operation.", + "type": "string" + } + } + }, + "404": { + "description": "The resource specified does not exist.", + "schema": { + "$ref": "#/definitions/ErrorList" + }, + "headers": { + "x-amzn-RequestId": { + "description": "Unique request reference identifier.", + "type": "string" + }, + "x-amzn-RateLimit-Limit": { + "description": "Your rate limit (requests per second) for this operation.", + "type": "string" + } + } + }, + "500": { + "description": "An unexpected condition occurred that prevented the server from fulfilling the request.", + "schema": { + "$ref": "#/definitions/ErrorList" + }, + "headers": { + "x-amzn-RequestId": { + "description": "Unique request reference identifier.", + "type": "string" + } + } + }, + "403": { + "description": "Indicates that access to the resource is forbidden. Possible reasons include Access Denied, Unauthorized, Expired Token, or Invalid Signature.", + "schema": { + "$ref": "#/definitions/ErrorList" + }, + "headers": { + "x-amzn-RequestId": { + "description": "Unique request reference identifier.", + "type": "string" + } + } + }, + "413": { + "description": "The request size exceeded the maximum accepted size.", + "schema": { + "$ref": "#/definitions/ErrorList" + }, + "headers": { + "x-amzn-RequestId": { + "description": "Unique request reference identifier.", + "type": "string" + } + } + }, + "415": { + "description": "The request payload is in an unsupported format.", + "schema": { + "$ref": "#/definitions/ErrorList" + }, + "headers": { + "x-amzn-RequestId": { + "description": "Unique request reference identifier.", + "type": "string" + } + } + }, + "429": { + "description": "The frequency of requests was greater than allowed.", + "schema": { + "$ref": "#/definitions/ErrorList" + }, + "headers": { + "x-amzn-RequestId": { + "description": "Unique request reference identifier.", + "type": "string" + } + } + }, + "503": { + "description": "Temporary overloading or maintenance of the server.", + "schema": { + "$ref": "#/definitions/ErrorList" + }, + "headers": { + "x-amzn-RequestId": { + "description": "Unique request reference identifier.", + "type": "string" + } + } + } + }, + "tags": [ + "fbaInbound" + ], + "description": "Provides a paginated list of pallet packages in an inbound plan. An inbound plan will have pallets when the related details are provided after generating Less-Than-Truckload (LTL) carrier shipments.\n\n**Usage Plan:**\n\n| Rate (requests per second) | Burst |\n| ---- | ---- |\n| 2 | 6 |\n\nThe `x-amzn-RateLimit-Limit` response header returns the usage plan rate limits that were applied to the requested operation, when available. The table above indicates the default rate and burst values for this operation. Selling partners whose business demands require higher throughput may see higher rate and burst values than those shown here. For more information, refer to [Usage Plans and Rate Limits in the Selling Partner API](https://developer-docs.amazon.com/sp-api/docs/usage-plans-and-rate-limits-in-the-sp-api). ", + "operationId": "listInboundPlanPallets" + } + }, + "/inbound/fba/2024-03-20/inboundPlans/{inboundPlanId}/placementOptions": { + "get": { + "produces": [ + "application/json" + ], + "parameters": [ + { + "description": "Identifier of an inbound plan.", + "in": "path", + "maxLength": 38, + "minLength": 38, + "name": "inboundPlanId", + "pattern": "^[a-zA-Z0-9-]*$", + "required": true, + "type": "string" + }, + { + "description": "The number of placement options to return in the response matching the given query.", + "in": "query", + "maximum": 20, + "minimum": 1, + "name": "pageSize", + "type": "integer", + "default": 10 + }, + { + "description": "A token to fetch a certain page when there are multiple pages worth of results. The value of this token is fetched from the `pagination` returned in the API response. In the absence of the token value from the query parameter the API returns the first page of the result.", + "in": "query", + "maxLength": 1024, + "minLength": 0, + "name": "paginationToken", + "type": "string" + } + ], + "responses": { + "200": { + "description": "ListPlacementOptions 200 response", + "schema": { + "$ref": "#/definitions/ListPlacementOptionsResponse" + }, + "x-amzn-api-sandbox": { + "static": [ + { + "request": { + "parameters": { + "inboundPlanId": { + "value": "wf1234abcd-1234-abcd-5678-1234abcd5678" + }, + "pageSize": { + "value": 2 + }, + "paginationToken": { + "value": "paginationToken" + } + } + }, + "response": { + "placementOptions": [ + { + "placementOptionId": "pl1234abcd-1234-abcd-5678-1234abcd5678", + "status": "OFFERED", + "fees": [ + { + "value": { + "code": "USD", + "amount": 1.0 + }, + "type": "FEE", + "target": "Placement Services", + "description": "description" + } + ], + "discounts": [ + { + "value": { + "code": "USD", + "amount": 1.0 + }, + "type": "DISCOUNT", + "target": "Placement Services", + "description": "description" + } + ], + "expiration": "2024-01-01T00:00:00.000Z", + "shipmentIds": [ + "sh1234abcd-1234-abcd-5678-1234abcd5678" + ] + } + ], + "pagination": { + "nextToken": "nextPaginationToken" + } + } + } + ] + }, + "headers": { + "x-amzn-RequestId": { + "description": "Unique request reference identifier.", + "type": "string" + }, + "x-amzn-RateLimit-Limit": { + "description": "Your rate limit (requests per second) for this operation.", + "type": "string" + } + } + }, + "400": { + "description": "Request has missing or invalid parameters and cannot be parsed.", + "schema": { + "$ref": "#/definitions/ErrorList" + }, + "x-amzn-api-sandbox": { + "static": [ + { + "request": { + "parameters": { + "inboundPlanId": { + "value": "bad234abcd-1234-abcd-5678-1234abcd5678" + }, + "pageSize": { + "value": 2 + }, + "paginationToken": { + "value": "paginationToken" + } + } + }, + "response": { + "errors": [ + { + "code": "BadRequest", + "message": "The requested inbound plan does not exist." + } + ] + } + } + ] + }, + "headers": { + "x-amzn-RequestId": { + "description": "Unique request reference identifier.", + "type": "string" + }, + "x-amzn-RateLimit-Limit": { + "description": "Your rate limit (requests per second) for this operation.", + "type": "string" + } + } + }, + "404": { + "description": "The resource specified does not exist.", + "schema": { + "$ref": "#/definitions/ErrorList" + }, + "headers": { + "x-amzn-RequestId": { + "description": "Unique request reference identifier.", + "type": "string" + }, + "x-amzn-RateLimit-Limit": { + "description": "Your rate limit (requests per second) for this operation.", + "type": "string" + } + } + }, + "500": { + "description": "An unexpected condition occurred that prevented the server from fulfilling the request.", + "schema": { + "$ref": "#/definitions/ErrorList" + }, + "headers": { + "x-amzn-RequestId": { + "description": "Unique request reference identifier.", + "type": "string" + } + } + }, + "403": { + "description": "Indicates that access to the resource is forbidden. Possible reasons include Access Denied, Unauthorized, Expired Token, or Invalid Signature.", + "schema": { + "$ref": "#/definitions/ErrorList" + }, + "headers": { + "x-amzn-RequestId": { + "description": "Unique request reference identifier.", + "type": "string" + } + } + }, + "413": { + "description": "The request size exceeded the maximum accepted size.", + "schema": { + "$ref": "#/definitions/ErrorList" + }, + "headers": { + "x-amzn-RequestId": { + "description": "Unique request reference identifier.", + "type": "string" + } + } + }, + "415": { + "description": "The request payload is in an unsupported format.", + "schema": { + "$ref": "#/definitions/ErrorList" + }, + "headers": { + "x-amzn-RequestId": { + "description": "Unique request reference identifier.", + "type": "string" + } + } + }, + "429": { + "description": "The frequency of requests was greater than allowed.", + "schema": { + "$ref": "#/definitions/ErrorList" + }, + "headers": { + "x-amzn-RequestId": { + "description": "Unique request reference identifier.", + "type": "string" + } + } + }, + "503": { + "description": "Temporary overloading or maintenance of the server.", + "schema": { + "$ref": "#/definitions/ErrorList" + }, + "headers": { + "x-amzn-RequestId": { + "description": "Unique request reference identifier.", + "type": "string" + } + } + } + }, + "tags": [ + "fbaInbound" + ], + "description": "Provides a list of all placement options for an inbound plan. Placement options must first be generated by the corresponding operation before becoming available.\n\n**Usage Plan:**\n\n| Rate (requests per second) | Burst |\n| ---- | ---- |\n| 2 | 6 |\n\nThe `x-amzn-RateLimit-Limit` response header returns the usage plan rate limits that were applied to the requested operation, when available. The table above indicates the default rate and burst values for this operation. Selling partners whose business demands require higher throughput may see higher rate and burst values than those shown here. For more information, refer to [Usage Plans and Rate Limits in the Selling Partner API](https://developer-docs.amazon.com/sp-api/docs/usage-plans-and-rate-limits-in-the-sp-api). ", + "operationId": "listPlacementOptions" + }, + "post": { + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "parameters": [ + { + "description": "Identifier of an inbound plan.", + "in": "path", + "maxLength": 38, + "minLength": 38, + "name": "inboundPlanId", + "pattern": "^[a-zA-Z0-9-]*$", + "required": true, + "type": "string" + }, + { + "in": "body", + "name": "body", + "required": true, + "schema": { + "$ref": "#/definitions/GeneratePlacementOptionsRequest" + }, + "description": "The body of the request to `generatePlacementOptions`." + } + ], + "responses": { + "202": { + "description": "GeneratePlacementOptions 202 response", + "schema": { + "$ref": "#/definitions/GeneratePlacementOptionsResponse" + }, + "x-amzn-api-sandbox": { + "static": [ + { + "request": { + "parameters": { + "inboundPlanId": { + "value": "wf1234abcd-1234-abcd-5678-1234abcd5678" + }, + "body": { + "value": { + "customPlacement": [ + { + "warehouseId": "warehouseId", + "items": [ + { + "msku": "msku", + "prepOwner": "AMAZON", + "labelOwner": "AMAZON", + "quantity": 2, + "expiration": "2024-01-01", + "manufacturingLotCode": "lotCode" + } + ] + } + ] + } + } + } + }, + "response": { + "operationId": "1234abcd-1234-abcd-5678-1234abcd5678" + } + } + ] + }, + "headers": { + "x-amzn-RequestId": { + "description": "Unique request reference identifier.", + "type": "string" + }, + "x-amzn-RateLimit-Limit": { + "description": "Your rate limit (requests per second) for this operation.", + "type": "string" + } + } + }, + "400": { + "description": "Request has missing or invalid parameters and cannot be parsed.", + "schema": { + "$ref": "#/definitions/ErrorList" + }, + "x-amzn-api-sandbox": { + "static": [ + { + "request": { + "parameters": { + "inboundPlanId": { + "value": "wf1234abcd-1234-abcd-5678-1234abcd5678" + }, + "body": { + "value": { + "customPlacement": [ + { + "warehouseId": "badWarehouseId", + "items": [ + { + "msku": "msku", + "prepOwner": "AMAZON", + "labelOwner": "AMAZON", + "quantity": 2, + "expiration": "2024-01-01", + "manufacturingLotCode": "lotCode" + } + ] + } + ] + } + } + } + }, + "response": { + "errors": [ + { + "code": "BadRequest", + "message": "The inbound plan is not in a valid state to generate placement options." + } + ] + } + } + ] + }, + "headers": { + "x-amzn-RequestId": { + "description": "Unique request reference identifier.", + "type": "string" + }, + "x-amzn-RateLimit-Limit": { + "description": "Your rate limit (requests per second) for this operation.", + "type": "string" + } + } + }, + "404": { + "description": "The resource specified does not exist.", + "schema": { + "$ref": "#/definitions/ErrorList" + }, + "headers": { + "x-amzn-RequestId": { + "description": "Unique request reference identifier.", + "type": "string" + }, + "x-amzn-RateLimit-Limit": { + "description": "Your rate limit (requests per second) for this operation.", + "type": "string" + } + } + }, + "500": { + "description": "An unexpected condition occurred that prevented the server from fulfilling the request.", + "schema": { + "$ref": "#/definitions/ErrorList" + }, + "headers": { + "x-amzn-RequestId": { + "description": "Unique request reference identifier.", + "type": "string" + } + } + }, + "403": { + "description": "Indicates that access to the resource is forbidden. Possible reasons include Access Denied, Unauthorized, Expired Token, or Invalid Signature.", + "schema": { + "$ref": "#/definitions/ErrorList" + }, + "headers": { + "x-amzn-RequestId": { + "description": "Unique request reference identifier.", + "type": "string" + } + } + }, + "413": { + "description": "The request size exceeded the maximum accepted size.", + "schema": { + "$ref": "#/definitions/ErrorList" + }, + "headers": { + "x-amzn-RequestId": { + "description": "Unique request reference identifier.", + "type": "string" + } + } + }, + "415": { + "description": "The request payload is in an unsupported format.", + "schema": { + "$ref": "#/definitions/ErrorList" + }, + "headers": { + "x-amzn-RequestId": { + "description": "Unique request reference identifier.", + "type": "string" + } + } + }, + "429": { + "description": "The frequency of requests was greater than allowed.", + "schema": { + "$ref": "#/definitions/ErrorList" + }, + "headers": { + "x-amzn-RequestId": { + "description": "Unique request reference identifier.", + "type": "string" + } + } + }, + "503": { + "description": "Temporary overloading or maintenance of the server.", + "schema": { + "$ref": "#/definitions/ErrorList" + }, + "headers": { + "x-amzn-RequestId": { + "description": "Unique request reference identifier.", + "type": "string" + } + } + } + }, + "tags": [ + "fbaInbound" + ], + "description": "Generates placement options for the inbound plan.\n\n**Usage Plan:**\n\n| Rate (requests per second) | Burst |\n| ---- | ---- |\n| 2 | 2 |\n\nThe `x-amzn-RateLimit-Limit` response header returns the usage plan rate limits that were applied to the requested operation, when available. The table above indicates the default rate and burst values for this operation. Selling partners whose business demands require higher throughput may see higher rate and burst values than those shown here. For more information, refer to [Usage Plans and Rate Limits in the Selling Partner API](https://developer-docs.amazon.com/sp-api/docs/usage-plans-and-rate-limits-in-the-sp-api). ", + "operationId": "generatePlacementOptions" + } + }, + "/inbound/fba/2024-03-20/inboundPlans/{inboundPlanId}/placementOptions/{placementOptionId}/confirmation": { + "post": { + "produces": [ + "application/json" + ], + "parameters": [ + { + "description": "Identifier of an inbound plan.", + "in": "path", + "maxLength": 38, + "minLength": 38, + "name": "inboundPlanId", + "pattern": "^[a-zA-Z0-9-]*$", + "required": true, + "type": "string" + }, + { + "description": "The identifier of a placement option. A placement option represents the shipment splits and destinations of SKUs.", + "in": "path", + "maxLength": 38, + "minLength": 38, + "name": "placementOptionId", + "pattern": "^[a-zA-Z0-9-]*$", + "required": true, + "type": "string" + } + ], + "responses": { + "202": { + "description": "ConfirmPlacementOption 202 response", + "schema": { + "$ref": "#/definitions/ConfirmPlacementOptionResponse" + }, + "x-amzn-api-sandbox": { + "static": [ + { + "request": { + "parameters": { + "inboundPlanId": { + "value": "wf1234abcd-1234-abcd-5678-1234abcd5678" + }, + "placementOptionId": { + "value": "pl1234abcd-1234-abcd-5678-1234abcd5678" + } + } + }, + "response": { + "operationId": "1234abcd-1234-abcd-5678-1234abcd5678" + } + } + ] + }, + "headers": { + "x-amzn-RequestId": { + "description": "Unique request reference identifier.", + "type": "string" + }, + "x-amzn-RateLimit-Limit": { + "description": "Your rate limit (requests per second) for this operation.", + "type": "string" + } + } + }, + "400": { + "description": "Request has missing or invalid parameters and cannot be parsed.", + "schema": { + "$ref": "#/definitions/ErrorList" + }, + "x-amzn-api-sandbox": { + "static": [ + { + "request": { + "parameters": { + "inboundPlanId": { + "value": "wf1234abcd-1234-abcd-5678-1234abcd5678" + }, + "placementOptionId": { + "value": "bad234abcd-1234-abcd-5678-1234abcd5678" + } + } + }, + "response": { + "errors": [ + { + "code": "BadRequest", + "message": "The requested placementOptionId does not exist for the given inbound plan." + } + ] + } + } + ] + }, + "headers": { + "x-amzn-RequestId": { + "description": "Unique request reference identifier.", + "type": "string" + }, + "x-amzn-RateLimit-Limit": { + "description": "Your rate limit (requests per second) for this operation.", + "type": "string" + } + } + }, + "404": { + "description": "The resource specified does not exist.", + "schema": { + "$ref": "#/definitions/ErrorList" + }, + "headers": { + "x-amzn-RequestId": { + "description": "Unique request reference identifier.", + "type": "string" + }, + "x-amzn-RateLimit-Limit": { + "description": "Your rate limit (requests per second) for this operation.", + "type": "string" + } + } + }, + "500": { + "description": "An unexpected condition occurred that prevented the server from fulfilling the request.", + "schema": { + "$ref": "#/definitions/ErrorList" + }, + "headers": { + "x-amzn-RequestId": { + "description": "Unique request reference identifier.", + "type": "string" + } + } + }, + "403": { + "description": "Indicates that access to the resource is forbidden. Possible reasons include Access Denied, Unauthorized, Expired Token, or Invalid Signature.", + "schema": { + "$ref": "#/definitions/ErrorList" + }, + "headers": { + "x-amzn-RequestId": { + "description": "Unique request reference identifier.", + "type": "string" + } + } + }, + "413": { + "description": "The request size exceeded the maximum accepted size.", + "schema": { + "$ref": "#/definitions/ErrorList" + }, + "headers": { + "x-amzn-RequestId": { + "description": "Unique request reference identifier.", + "type": "string" + } + } + }, + "415": { + "description": "The request payload is in an unsupported format.", + "schema": { + "$ref": "#/definitions/ErrorList" + }, + "headers": { + "x-amzn-RequestId": { + "description": "Unique request reference identifier.", + "type": "string" + } + } + }, + "429": { + "description": "The frequency of requests was greater than allowed.", + "schema": { + "$ref": "#/definitions/ErrorList" + }, + "headers": { + "x-amzn-RequestId": { + "description": "Unique request reference identifier.", + "type": "string" + } + } + }, + "503": { + "description": "Temporary overloading or maintenance of the server.", + "schema": { + "$ref": "#/definitions/ErrorList" + }, + "headers": { + "x-amzn-RequestId": { + "description": "Unique request reference identifier.", + "type": "string" + } + } + } + }, + "tags": [ + "fbaInbound" + ], + "description": "Confirms the placement option for an inbound plan. Once confirmed, it cannot be changed for the Inbound Plan.\n\n**Usage Plan:**\n\n| Rate (requests per second) | Burst |\n| ---- | ---- |\n| 2 | 2 |\n\nThe `x-amzn-RateLimit-Limit` response header returns the usage plan rate limits that were applied to the requested operation, when available. The table above indicates the default rate and burst values for this operation. Selling partners whose business demands require higher throughput may see higher rate and burst values than those shown here. For more information, refer to [Usage Plans and Rate Limits in the Selling Partner API](https://developer-docs.amazon.com/sp-api/docs/usage-plans-and-rate-limits-in-the-sp-api). ", + "operationId": "confirmPlacementOption" + } + }, + "/inbound/fba/2024-03-20/inboundPlans/{inboundPlanId}/shipments/{shipmentId}": { + "get": { + "produces": [ + "application/json" + ], + "parameters": [ + { + "description": "Identifier of an inbound plan.", + "in": "path", + "maxLength": 38, + "minLength": 38, + "name": "inboundPlanId", + "pattern": "^[a-zA-Z0-9-]*$", + "required": true, + "type": "string" + }, + { + "description": "Identifier of a shipment. A shipment contains the boxes and units being inbounded.", + "in": "path", + "maxLength": 38, + "minLength": 38, + "name": "shipmentId", + "pattern": "^[a-zA-Z0-9-]*$", + "required": true, + "type": "string" + } + ], + "responses": { + "200": { + "description": "GetShipment 200 response", + "schema": { + "$ref": "#/definitions/Shipment" + }, + "x-amzn-api-sandbox": { + "static": [ + { + "request": { + "parameters": { + "inboundPlanId": { + "value": "wf1234abcd-1234-abcd-5678-1234abcd5678" + }, + "shipmentId": { + "value": "sh1234abcd-1234-abcd-5678-1234abcd5678" + } + } + }, + "response": { + "placementOptionId": "pl1234abcd-1234-abcd-5678-1234abcd5678", + "shipmentId": "sh1234abcd-1234-abcd-5678-1234abcd5678", + "shipmentConfirmationId": "FBA1234ABCD", + "amazonReferenceId": "amazonReferenceId", + "selectedTransportationOptionId": "to1234abcd-1234-abcd-5678-1234abcd5678", + "selectedDeliveryWindow": { + "startDate": "2024-01-01T00:00:00.000Z", + "endDate": "2024-01-01T06:00:00.000Z", + "editableUntil": "2024-01-01T06:00:00.000Z", + "availabilityType": "AVAILABLE", + "deliveryWindowOptionId": "dw1234abcd-1234-abcd-5678-1234abcd5678" + }, + "name": "FBA (10/02/2023 20:07)-ABC1", + "source": { + "sourceType": "SELLER_FACILITY", + "address": { + "name": "name", + "companyName": "Acme", + "addressLine1": "123 example street", + "addressLine2": "Unit 102", + "city": "Toronto", + "countryCode": "CA", + "stateOrProvinceCode": "ON", + "postalCode": "M1M1M1", + "phoneNumber": "1234567890", + "email": "email@email.com" + } + }, + "destination": { + "destinationType": "AMAZON_WAREHOUSE", + "address": { + "name": "name", + "companyName": "Acme", + "addressLine1": "123 example street", + "addressLine2": "Unit 102", + "city": "Toronto", + "countryCode": "CA", + "stateOrProvinceCode": "ON", + "postalCode": "M1M1M1", + "phoneNumber": "1234567890", + "email": "email@email.com" + }, + "warehouseId": "YYZ5" + }, + "dates": { + "readyToShipWindow": { + "start": "2024-01-01T00:00Z", + "end": "2024-01-08T00:00Z", + "editableUntil": "2024-01-07T00:00Z" + } + }, + "status": "WORKING", + "trackingDetails": { + "spdTrackingDetail": { + "spdTrackingItems": [ + { + "boxId": "boxId", + "trackingId": "trackingId", + "trackingNumberValidationStatus": "VALIDATED" + } + ] + }, + "ltlTrackingDetail": { + "freightBillNumber": [ + "freightBillNumber1" + ], + "billOfLadingNumber": "billOfLadingNumber" + } + }, + "freightInformation": { + "freightClass": "FC_50", + "declaredValue": { + "code": "USD", + "amount": 500.0 + } + }, + "contactInformation": { + "name": "name", + "phoneNumber": "1234567890", + "email": "email@email.com" + }, + "selfShipAppointmentDetails": [ + { + "appointmentId": 1, + "appointmentSlotTime": { + "startTime": "2024-01-01T00:00:00.000Z", + "endTime": "2024-01-01T00:00:00.000Z" + }, + "appointmentStatus": "appointmentStatus" + } + ] + } + } + ] + }, + "headers": { + "x-amzn-RequestId": { + "description": "Unique request reference identifier.", + "type": "string" + }, + "x-amzn-RateLimit-Limit": { + "description": "Your rate limit (requests per second) for this operation.", + "type": "string" + } + } + }, + "400": { + "description": "Request has missing or invalid parameters and cannot be parsed.", + "schema": { + "$ref": "#/definitions/ErrorList" + }, + "x-amzn-api-sandbox": { + "static": [ + { + "request": { + "parameters": { + "inboundPlanId": { + "value": "wf1234abcd-1234-abcd-5678-1234abcd5678" + }, + "shipmentId": { + "value": "bad234abcd-1234-abcd-5678-1234abcd5678" + } + } + }, + "response": { + "errors": [ + { + "code": "BadRequest", + "message": "The requested shipment does not exist for the provided inbound plan." + } + ] + } + } + ] + }, + "headers": { + "x-amzn-RequestId": { + "description": "Unique request reference identifier.", + "type": "string" + }, + "x-amzn-RateLimit-Limit": { + "description": "Your rate limit (requests per second) for this operation.", + "type": "string" + } + } + }, + "404": { + "description": "The resource specified does not exist.", + "schema": { + "$ref": "#/definitions/ErrorList" + }, + "headers": { + "x-amzn-RequestId": { + "description": "Unique request reference identifier.", + "type": "string" + }, + "x-amzn-RateLimit-Limit": { + "description": "Your rate limit (requests per second) for this operation.", + "type": "string" + } + } + }, + "500": { + "description": "An unexpected condition occurred that prevented the server from fulfilling the request.", + "schema": { + "$ref": "#/definitions/ErrorList" + }, + "headers": { + "x-amzn-RequestId": { + "description": "Unique request reference identifier.", + "type": "string" + } + } + }, + "403": { + "description": "Indicates that access to the resource is forbidden. Possible reasons include Access Denied, Unauthorized, Expired Token, or Invalid Signature.", + "schema": { + "$ref": "#/definitions/ErrorList" + }, + "headers": { + "x-amzn-RequestId": { + "description": "Unique request reference identifier.", + "type": "string" + } + } + }, + "413": { + "description": "The request size exceeded the maximum accepted size.", + "schema": { + "$ref": "#/definitions/ErrorList" + }, + "headers": { + "x-amzn-RequestId": { + "description": "Unique request reference identifier.", + "type": "string" + } + } + }, + "415": { + "description": "The request payload is in an unsupported format.", + "schema": { + "$ref": "#/definitions/ErrorList" + }, + "headers": { + "x-amzn-RequestId": { + "description": "Unique request reference identifier.", + "type": "string" + } + } + }, + "429": { + "description": "The frequency of requests was greater than allowed.", + "schema": { + "$ref": "#/definitions/ErrorList" + }, + "headers": { + "x-amzn-RequestId": { + "description": "Unique request reference identifier.", + "type": "string" + } + } + }, + "503": { + "description": "Temporary overloading or maintenance of the server.", + "schema": { + "$ref": "#/definitions/ErrorList" + }, + "headers": { + "x-amzn-RequestId": { + "description": "Unique request reference identifier.", + "type": "string" + } + } + } + }, + "tags": [ + "fbaInbound" + ], + "description": "Provides the full details for a specific shipment within an inbound plan. The `transportationOptionId` inside `acceptedTransportationSelection` can be used to retrieve the transportation details for the shipment.\n\n**Usage Plan:**\n\n| Rate (requests per second) | Burst |\n| ---- | ---- |\n| 2 | 6 |\n\nThe `x-amzn-RateLimit-Limit` response header returns the usage plan rate limits that were applied to the requested operation, when available. The table above indicates the default rate and burst values for this operation. Selling partners whose business demands require higher throughput may see higher rate and burst values than those shown here. For more information, refer to [Usage Plans and Rate Limits in the Selling Partner API](https://developer-docs.amazon.com/sp-api/docs/usage-plans-and-rate-limits-in-the-sp-api). ", + "operationId": "getShipment" + } + }, + "/inbound/fba/2024-03-20/inboundPlans/{inboundPlanId}/shipments/{shipmentId}/boxes": { + "get": { + "produces": [ + "application/json" + ], + "parameters": [ + { + "description": "Identifier of an inbound plan.", + "in": "path", + "maxLength": 38, + "minLength": 38, + "name": "inboundPlanId", + "pattern": "^[a-zA-Z0-9-]*$", + "required": true, + "type": "string" + }, + { + "description": "Identifier of a shipment. A shipment contains the boxes and units being inbounded.", + "in": "path", + "maxLength": 38, + "minLength": 38, + "name": "shipmentId", + "pattern": "^[a-zA-Z0-9-]*$", + "required": true, + "type": "string" + }, + { + "description": "The number of boxes to return in the response matching the given query.", + "in": "query", + "maximum": 1000, + "minimum": 1, + "name": "pageSize", + "type": "integer", + "default": 10 + }, + { + "description": "A token to fetch a certain page when there are multiple pages worth of results. The value of this token is fetched from the `pagination` returned in the API response. In the absence of the token value from the query parameter the API returns the first page of the result.", + "in": "query", + "maxLength": 1024, + "minLength": 0, + "name": "paginationToken", + "type": "string" + } + ], + "responses": { + "200": { + "description": "ListShipmentBoxes 200 response", + "schema": { + "$ref": "#/definitions/ListShipmentBoxesResponse" + }, + "x-amzn-api-sandbox": { + "static": [ + { + "request": { + "parameters": { + "inboundPlanId": { + "value": "wf1234abcd-1234-abcd-5678-1234abcd5678" + }, + "shipmentId": { + "value": "sh1234abcd-1234-abcd-5678-1234abcd5678" + }, + "pageSize": { + "value": 2 + }, + "paginationToken": { + "value": "paginationToken" + } + } + }, + "response": { + "boxes": [ + { + "packageId": "pk1234abcd-1234-abcd-5678-1234abcd5678", + "weight": { + "unit": "KG", + "value": 5.5 + }, + "dimensions": { + "unitOfMeasurement": "CM", + "length": 3.0, + "width": 4.0, + "height": 5.0 + }, + "quantity": 2, + "boxId": "boxId", + "templateName": "templateName", + "items": [ + { + "quantity": 5, + "expiration": "2024-01-01", + "manufacturingLotCode": "manufacturingLotCode", + "prepInstructions": [ + { + "prepType": "ITEM_POLYBAGGING", + "prepOwner": "AMAZON", + "fee": { + "code": "USD", + "amount": 10.0 + } + } + ], + "msku": "msku", + "asin": "asin", + "fnsku": "fnsku", + "labelOwner": "AMAZON" + } + ], + "destinationRegion": { + "countryCode": "US", + "state": "CA", + "warehouseId": "ABC1" + }, + "contentInformationSource": "BOX_CONTENT_PROVIDED" + } + ], + "pagination": { + "nextToken": "nextPaginationToken" + } + } + } + ] + }, + "headers": { + "x-amzn-RequestId": { + "description": "Unique request reference identifier.", + "type": "string" + }, + "x-amzn-RateLimit-Limit": { + "description": "Your rate limit (requests per second) for this operation.", + "type": "string" + } + } + }, + "400": { + "description": "Request has missing or invalid parameters and cannot be parsed.", + "schema": { + "$ref": "#/definitions/ErrorList" + }, + "x-amzn-api-sandbox": { + "static": [ + { + "request": { + "parameters": { + "inboundPlanId": { + "value": "bad234abcd-1234-abcd-5678-1234abcd5678" + }, + "shipmentId": { + "value": "sh1234abcd-1234-abcd-5678-1234abcd5678" + }, + "pageSize": { + "value": 2 + }, + "paginationToken": { + "value": "paginationToken" + } + } + }, + "response": { + "errors": [ + { + "code": "BadRequest", + "message": "The requested inboundPlanId does not exist." + } + ] + } + } + ] + }, + "headers": { + "x-amzn-RequestId": { + "description": "Unique request reference identifier.", + "type": "string" + }, + "x-amzn-RateLimit-Limit": { + "description": "Your rate limit (requests per second) for this operation.", + "type": "string" + } + } + }, + "404": { + "description": "The resource specified does not exist.", + "schema": { + "$ref": "#/definitions/ErrorList" + }, + "headers": { + "x-amzn-RequestId": { + "description": "Unique request reference identifier.", + "type": "string" + }, + "x-amzn-RateLimit-Limit": { + "description": "Your rate limit (requests per second) for this operation.", + "type": "string" + } + } + }, + "500": { + "description": "An unexpected condition occurred that prevented the server from fulfilling the request.", + "schema": { + "$ref": "#/definitions/ErrorList" + }, + "headers": { + "x-amzn-RequestId": { + "description": "Unique request reference identifier.", + "type": "string" + } + } + }, + "403": { + "description": "Indicates that access to the resource is forbidden. Possible reasons include Access Denied, Unauthorized, Expired Token, or Invalid Signature.", + "schema": { + "$ref": "#/definitions/ErrorList" + }, + "headers": { + "x-amzn-RequestId": { + "description": "Unique request reference identifier.", + "type": "string" + } + } + }, + "413": { + "description": "The request size exceeded the maximum accepted size.", + "schema": { + "$ref": "#/definitions/ErrorList" + }, + "headers": { + "x-amzn-RequestId": { + "description": "Unique request reference identifier.", + "type": "string" + } + } + }, + "415": { + "description": "The request payload is in an unsupported format.", + "schema": { + "$ref": "#/definitions/ErrorList" + }, + "headers": { + "x-amzn-RequestId": { + "description": "Unique request reference identifier.", + "type": "string" + } + } + }, + "429": { + "description": "The frequency of requests was greater than allowed.", + "schema": { + "$ref": "#/definitions/ErrorList" + }, + "headers": { + "x-amzn-RequestId": { + "description": "Unique request reference identifier.", + "type": "string" + } + } + }, + "503": { + "description": "Temporary overloading or maintenance of the server.", + "schema": { + "$ref": "#/definitions/ErrorList" + }, + "headers": { + "x-amzn-RequestId": { + "description": "Unique request reference identifier.", + "type": "string" + } + } + } + }, + "tags": [ + "fbaInbound" + ], + "description": "Provides a paginated list of box packages in a shipment.\n\n**Usage Plan:**\n\n| Rate (requests per second) | Burst |\n| ---- | ---- |\n| 2 | 30 |\n\nThe `x-amzn-RateLimit-Limit` response header returns the usage plan rate limits that were applied to the requested operation, when available. The table above indicates the default rate and burst values for this operation. Selling partners whose business demands require higher throughput may see higher rate and burst values than those shown here. For more information, refer to [Usage Plans and Rate Limits in the Selling Partner API](https://developer-docs.amazon.com/sp-api/docs/usage-plans-and-rate-limits-in-the-sp-api). ", + "operationId": "listShipmentBoxes" + } + }, + "/inbound/fba/2024-03-20/inboundPlans/{inboundPlanId}/shipments/{shipmentId}/contentUpdatePreviews": { + "get": { + "produces": [ + "application/json" + ], + "parameters": [ + { + "description": "Identifier of an inbound plan.", + "in": "path", + "maxLength": 38, + "minLength": 38, + "name": "inboundPlanId", + "pattern": "^[a-zA-Z0-9-]*$", + "required": true, + "type": "string" + }, + { + "description": "Identifier of a shipment. A shipment contains the boxes and units being inbounded.", + "in": "path", + "maxLength": 38, + "minLength": 38, + "name": "shipmentId", + "pattern": "^[a-zA-Z0-9-]*$", + "required": true, + "type": "string" + }, + { + "description": "The number of content update previews to return.", + "in": "query", + "maximum": 20, + "minimum": 1, + "name": "pageSize", + "type": "integer", + "default": 10 + }, + { + "description": "A token to fetch a certain page when there are multiple pages worth of results. The value of this token is fetched from the `pagination` returned in the API response. In the absence of the token value from the query parameter the API returns the first page of the result.", + "in": "query", + "maxLength": 1024, + "minLength": 0, + "name": "paginationToken", + "type": "string" + } + ], + "responses": { + "200": { + "description": "ListShipmentContentUpdatePreviews 200 response", + "schema": { + "$ref": "#/definitions/ListShipmentContentUpdatePreviewsResponse" + }, + "x-amzn-api-sandbox": { + "static": [ + { + "request": { + "parameters": { + "inboundPlanId": { + "value": "wf1234abcd-1234-abcd-5678-1234abcd5678" + }, + "shipmentId": { + "value": "sh1234abcd-1234-abcd-5678-1234abcd5678" + }, + "pageSize": { + "value": 2 + }, + "paginationToken": { + "value": "paginationToken" + } + } + }, + "response": { + "contentUpdatePreviews": [ + { + "contentUpdatePreviewId": "cu1234abcd-1234-abcd-5678-1234abcd5678", + "expiration": "2024-01-01", + "transportationOption": { + "shipmentId": "sh1234abcd-1234-abcd-5678-1234abcd5678", + "transportationOptionId": "to1234abcd-1234-abcd-5678-1234abcd5678", + "shippingSolution": "AMAZON_PARTNERED_CARRIER", + "carrier": { + "name": "name", + "alphaCode": "USPS" + }, + "shippingMode": "GROUND_SMALL_PARCEL", + "quote": { + "cost": { + "code": "USD", + "amount": 500.0 + }, + "voidableUntil": "2024-01-01T00:00:00.000Z", + "expiration": "2024-01-01T00:00:00.000Z" + }, + "carrierAppointment": { + "startTime": "2024-01-01T00:00:00.000Z", + "endTime": "2024-01-02T00:00:00.000Z" + }, + "preconditions": [ + "CONFIRMED_DELIVERY_WINDOW" + ] + }, + "requestedUpdates": { + "boxes": [ + { + "packageId": "pk1234abcd-1234-abcd-5678-1234abcd5678", + "weight": { + "unit": "KG", + "value": 5.5 + }, + "dimensions": { + "unitOfMeasurement": "CM", + "length": 3.0, + "width": 4.0, + "height": 5.0 + }, + "quantity": 1, + "items": [ + { + "msku": "msku", + "prepOwner": "AMAZON", + "labelOwner": "AMAZON", + "quantity": 2, + "expiration": "2024-01-01", + "manufacturingLotCode": "lotCode" + } + ], + "contentInformationSource": "BOX_CONTENT_PROVIDED" + } + ], + "items": [ + { + "msku": "msku", + "prepOwner": "AMAZON", + "labelOwner": "AMAZON", + "quantity": 2, + "expiration": "2024-01-01", + "manufacturingLotCode": "lotCode" + } + ] + } + } + ], + "pagination": { + "nextToken": "nextPaginationToken" + } + } + } + ] + }, + "headers": { + "x-amzn-RequestId": { + "description": "Unique request reference identifier.", + "type": "string" + }, + "x-amzn-RateLimit-Limit": { + "description": "Your rate limit (requests per second) for this operation.", + "type": "string" + } + } + }, + "400": { + "description": "Request has missing or invalid parameters and cannot be parsed.", + "schema": { + "$ref": "#/definitions/ErrorList" + }, + "x-amzn-api-sandbox": { + "static": [ + { + "request": { + "parameters": { + "inboundPlanId": { + "value": "bad234abcd-1234-abcd-5678-1234abcd5678" + }, + "shipmentId": { + "value": "sh1234abcd-1234-abcd-5678-1234abcd5678" + }, + "pageSize": { + "value": 2 + }, + "paginationToken": { + "value": "paginationToken" + } + } + }, + "response": { + "errors": [ + { + "code": "BadRequest", + "message": "The requested inbound plan does not exist." + } + ] + } + } + ] + }, + "headers": { + "x-amzn-RequestId": { + "description": "Unique request reference identifier.", + "type": "string" + }, + "x-amzn-RateLimit-Limit": { + "description": "Your rate limit (requests per second) for this operation.", + "type": "string" + } + } + }, + "404": { + "description": "The resource specified does not exist.", + "schema": { + "$ref": "#/definitions/ErrorList" + }, + "headers": { + "x-amzn-RequestId": { + "description": "Unique request reference identifier.", + "type": "string" + }, + "x-amzn-RateLimit-Limit": { + "description": "Your rate limit (requests per second) for this operation.", + "type": "string" + } + } + }, + "500": { + "description": "An unexpected condition occurred that prevented the server from fulfilling the request.", + "schema": { + "$ref": "#/definitions/ErrorList" + }, + "headers": { + "x-amzn-RequestId": { + "description": "Unique request reference identifier.", + "type": "string" + } + } + }, + "403": { + "description": "Indicates that access to the resource is forbidden. Possible reasons include Access Denied, Unauthorized, Expired Token, or Invalid Signature.", + "schema": { + "$ref": "#/definitions/ErrorList" + }, + "headers": { + "x-amzn-RequestId": { + "description": "Unique request reference identifier.", + "type": "string" + } + } + }, + "413": { + "description": "The request size exceeded the maximum accepted size.", + "schema": { + "$ref": "#/definitions/ErrorList" + }, + "headers": { + "x-amzn-RequestId": { + "description": "Unique request reference identifier.", + "type": "string" + } + } + }, + "415": { + "description": "The request payload is in an unsupported format.", + "schema": { + "$ref": "#/definitions/ErrorList" + }, + "headers": { + "x-amzn-RequestId": { + "description": "Unique request reference identifier.", + "type": "string" + } + } + }, + "429": { + "description": "The frequency of requests was greater than allowed.", + "schema": { + "$ref": "#/definitions/ErrorList" + }, + "headers": { + "x-amzn-RequestId": { + "description": "Unique request reference identifier.", + "type": "string" + } + } + }, + "503": { + "description": "Temporary overloading or maintenance of the server.", + "schema": { + "$ref": "#/definitions/ErrorList" + }, + "headers": { + "x-amzn-RequestId": { + "description": "Unique request reference identifier.", + "type": "string" + } + } + } + }, + "tags": [ + "fbaInbound" + ], + "description": "Retrieve a paginated list of shipment content update previews for a given shipment. The shipment content update preview is a summary of the requested shipment content changes along with the transportation cost implications of the change that can only be confirmed prior to the expiry date specified.\n\n**Usage Plan:**\n\n| Rate (requests per second) | Burst |\n| ---- | ---- |\n| 2 | 30 |\n\nThe `x-amzn-RateLimit-Limit` response header returns the usage plan rate limits that were applied to the requested operation, when available. The table above indicates the default rate and burst values for this operation. Selling partners whose business demands require higher throughput may see higher rate and burst values than those shown here. For more information, refer to [Usage Plans and Rate Limits in the Selling Partner API](https://developer-docs.amazon.com/sp-api/docs/usage-plans-and-rate-limits-in-the-sp-api). ", + "operationId": "listShipmentContentUpdatePreviews" + }, + "post": { + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "parameters": [ + { + "description": "Identifier of an inbound plan.", + "in": "path", + "maxLength": 38, + "minLength": 38, + "name": "inboundPlanId", + "pattern": "^[a-zA-Z0-9-]*$", + "required": true, + "type": "string" + }, + { + "description": "Identifier of a shipment. A shipment contains the boxes and units being inbounded.", + "in": "path", + "maxLength": 38, + "minLength": 38, + "name": "shipmentId", + "pattern": "^[a-zA-Z0-9-]*$", + "required": true, + "type": "string" + }, + { + "in": "body", + "name": "body", + "required": true, + "schema": { + "$ref": "#/definitions/GenerateShipmentContentUpdatePreviewsRequest" + }, + "description": "The body of the request to `generateShipmentContentUpdatePreviews`." + } + ], + "responses": { + "202": { + "description": "GenerateShipmentContentUpdatePreviews 202 response", + "schema": { + "$ref": "#/definitions/GenerateShipmentContentUpdatePreviewsResponse" + }, + "x-amzn-api-sandbox": { + "static": [ + { + "request": { + "parameters": { + "inboundPlanId": { + "value": "wf1234abcd-1234-abcd-5678-1234abcd5678" + }, + "shipmentId": { + "value": "sh1234abcd-1234-abcd-5678-1234abcd5678" + }, + "body": { + "value": { + "boxes": [ + { + "packageId": "pk1234abcd-1234-abcd-5678-1234abcd5678", + "weight": { + "unit": "KG", + "value": 5.5 + }, + "dimensions": { + "unitOfMeasurement": "CM", + "length": 3.0, + "width": 4.0, + "height": 5.0 + }, + "quantity": 1, + "items": [ + { + "msku": "msku", + "prepOwner": "AMAZON", + "labelOwner": "AMAZON", + "quantity": 2, + "expiration": "2024-01-01", + "manufacturingLotCode": "lotCode" + } + ], + "contentInformationSource": "BOX_CONTENT_PROVIDED" + } + ], + "items": [ + { + "msku": "msku", + "prepOwner": "AMAZON", + "labelOwner": "AMAZON", + "quantity": 2, + "expiration": "2024-01-01", + "manufacturingLotCode": "lotCode" + } + ] + } } - ], - "pagination": { - "nextToken": "nextPaginationToken" } + }, + "response": { + "operationId": "1234abcd-1234-abcd-5678-1234abcd5678" } } ] @@ -1869,13 +4986,51 @@ "request": { "parameters": { "inboundPlanId": { - "value": "bad234abcd-1234-abcd-5678-1234abcd5678" + "value": "wf1234abcd-1234-abcd-5678-1234abcd5678" }, - "pageSize": { - "value": 2 + "shipmentId": { + "value": "bad234abcd-1234-abcd-5678-1234abcd5678" }, - "paginationToken": { - "value": "paginationToken" + "body": { + "value": { + "boxes": [ + { + "packageId": "pk1234abcd-1234-abcd-5678-1234abcd5678", + "weight": { + "unit": "KG", + "value": 5.5 + }, + "dimensions": { + "unitOfMeasurement": "CM", + "length": 3.0, + "width": 4.0, + "height": 5.0 + }, + "quantity": 1, + "items": [ + { + "msku": "msku", + "prepOwner": "AMAZON", + "labelOwner": "AMAZON", + "quantity": 2, + "expiration": "2024-01-01", + "manufacturingLotCode": "lotCode" + } + ], + "contentInformationSource": "BOX_CONTENT_PROVIDED" + } + ], + "items": [ + { + "msku": "msku", + "prepOwner": "AMAZON", + "labelOwner": "AMAZON", + "quantity": 2, + "expiration": "2024-01-01", + "manufacturingLotCode": "lotCode" + } + ] + } } } }, @@ -1883,7 +5038,7 @@ "errors": [ { "code": "BadRequest", - "message": "The requested inbound plan does not exist." + "message": "The requested shipment does not exist under the specified inbound plan." } ] } @@ -1901,8 +5056,8 @@ } } }, - "500": { - "description": "An unexpected condition occurred that prevented the server from fulfilling the request.", + "404": { + "description": "The resource specified does not exist.", "schema": { "$ref": "#/definitions/ErrorList" }, @@ -1910,11 +5065,15 @@ "x-amzn-RequestId": { "description": "Unique request reference identifier.", "type": "string" + }, + "x-amzn-RateLimit-Limit": { + "description": "Your rate limit (requests per second) for this operation.", + "type": "string" } } }, - "403": { - "description": "Indicates that access to the resource is forbidden. Possible reasons include Access Denied, Unauthorized, Expired Token, or Invalid Signature.", + "500": { + "description": "An unexpected condition occurred that prevented the server from fulfilling the request.", "schema": { "$ref": "#/definitions/ErrorList" }, @@ -1925,8 +5084,8 @@ } } }, - "404": { - "description": "The resource specified does not exist.", + "403": { + "description": "Indicates that access to the resource is forbidden. Possible reasons include Access Denied, Unauthorized, Expired Token, or Invalid Signature.", "schema": { "$ref": "#/definitions/ErrorList" }, @@ -1934,10 +5093,6 @@ "x-amzn-RequestId": { "description": "Unique request reference identifier.", "type": "string" - }, - "x-amzn-RateLimit-Limit": { - "description": "Your rate limit (requests per second) for this operation.", - "type": "string" } } }, @@ -1993,16 +5148,18 @@ "tags": [ "fbaInbound" ], - "description": "Retrieves a list of all packing options for an inbound plan. Packing options must first be generated by the corresponding endpoint before becoming available.\n\n**Usage Plan:**\n\n| Rate (requests per second) | Burst |\n| ---- | ---- |\n| 1 | 1 |\n\nThe `x-amzn-RateLimit-Limit` response header returns the usage plan rate limits that were applied to the requested operation, when available. The table above indicates the default rate and burst values for this operation. Selling partners whose business demands require higher throughput may see higher rate and burst values than those shown here. For more information, refer to [Usage Plans and Rate Limits in the Selling Partner API](https://developer-docs.amazon.com/sp-api/docs/usage-plans-and-rate-limits-in-the-sp-api).", - "operationId": "listPackingOptions" - }, - "post": { + "description": "Generate a shipment content update preview given a set of intended boxes and/or items for a shipment with a confirmed carrier. The shipment content update preview will be viewable with the updated costs and contents prior to confirmation.\n\n**Usage Plan:**\n\n| Rate (requests per second) | Burst |\n| ---- | ---- |\n| 2 | 30 |\n\nThe `x-amzn-RateLimit-Limit` response header returns the usage plan rate limits that were applied to the requested operation, when available. The table above indicates the default rate and burst values for this operation. Selling partners whose business demands require higher throughput may see higher rate and burst values than those shown here. For more information, refer to [Usage Plans and Rate Limits in the Selling Partner API](https://developer-docs.amazon.com/sp-api/docs/usage-plans-and-rate-limits-in-the-sp-api). ", + "operationId": "generateShipmentContentUpdatePreviews" + } + }, + "/inbound/fba/2024-03-20/inboundPlans/{inboundPlanId}/shipments/{shipmentId}/contentUpdatePreviews/{contentUpdatePreviewId}": { + "get": { "produces": [ "application/json" ], "parameters": [ { - "description": "Identifier to an inbound plan.", + "description": "Identifier of an inbound plan.", "in": "path", "maxLength": 38, "minLength": 38, @@ -2010,13 +5167,33 @@ "pattern": "^[a-zA-Z0-9-]*$", "required": true, "type": "string" + }, + { + "description": "Identifier of a shipment. A shipment contains the boxes and units being inbounded.", + "in": "path", + "maxLength": 38, + "minLength": 38, + "name": "shipmentId", + "pattern": "^[a-zA-Z0-9-]*$", + "required": true, + "type": "string" + }, + { + "description": "Identifier of a content update preview.", + "in": "path", + "maxLength": 38, + "minLength": 38, + "name": "contentUpdatePreviewId", + "pattern": "^[a-zA-Z0-9-]*$", + "required": true, + "type": "string" } ], "responses": { - "202": { - "description": "GeneratePackingOptions 202 response", + "200": { + "description": "GetShipmentContentUpdatePreview 200 response", "schema": { - "$ref": "#/definitions/GeneratePackingOptionsResponse" + "$ref": "#/definitions/ContentUpdatePreview" }, "x-amzn-api-sandbox": { "static": [ @@ -2025,11 +5202,82 @@ "parameters": { "inboundPlanId": { "value": "wf1234abcd-1234-abcd-5678-1234abcd5678" + }, + "shipmentId": { + "value": "sh1234abcd-1234-abcd-5678-1234abcd5678" + }, + "contentUpdatePreviewId": { + "value": "cu1234abcd-1234-abcd-5678-1234abcd5678" } } }, "response": { - "operationId": "1234abcd-1234-abcd-5678-1234abcd5678" + "contentUpdatePreviewId": "cu1234abcd-1234-abcd-5678-1234abcd5678", + "expiration": "2024-01-01", + "transportationOption": { + "shipmentId": "sh1234abcd-1234-abcd-5678-1234abcd5678", + "transportationOptionId": "to1234abcd-1234-abcd-5678-1234abcd5678", + "shippingSolution": "AMAZON_PARTNERED_CARRIER", + "carrier": { + "name": "name", + "alphaCode": "USPS" + }, + "shippingMode": "GROUND_SMALL_PARCEL", + "quote": { + "cost": { + "code": "USD", + "amount": 500.0 + }, + "voidableUntil": "2024-01-01T00:00:00.000Z", + "expiration": "2024-01-01T00:00:00.000Z" + }, + "carrierAppointment": { + "startTime": "2024-01-01T00:00Z", + "endTime": "2024-01-01T00:00Z" + }, + "preconditions": [ + "CONFIRMED_DELIVERY_WINDOW" + ] + }, + "requestedUpdates": { + "boxes": [ + { + "packageId": "pk1234abcd-1234-abcd-5678-1234abcd5678", + "weight": { + "unit": "KG", + "value": 5.5 + }, + "dimensions": { + "unitOfMeasurement": "CM", + "length": 3.0, + "width": 4.0, + "height": 5.0 + }, + "quantity": 1, + "items": [ + { + "msku": "msku", + "prepOwner": "AMAZON", + "labelOwner": "AMAZON", + "quantity": 2, + "expiration": "2024-01-01", + "manufacturingLotCode": "lotCode" + } + ], + "contentInformationSource": "BOX_CONTENT_PROVIDED" + } + ], + "items": [ + { + "msku": "msku", + "prepOwner": "AMAZON", + "labelOwner": "AMAZON", + "quantity": 2, + "expiration": "2024-01-01", + "manufacturingLotCode": "lotCode" + } + ] + } } } ] @@ -2056,7 +5304,13 @@ "request": { "parameters": { "inboundPlanId": { - "value": "wfbad4abcd-1234-abcd-5678-1234abcd5678" + "value": "bad234abcd-1234-abcd-5678-1234abcd5678" + }, + "shipmentId": { + "value": "sh1234abcd-1234-abcd-5678-1234abcd5678" + }, + "contentUpdatePreviewId": { + "value": "cu1234abcd-1234-abcd-5678-1234abcd5678" } } }, @@ -2064,7 +5318,7 @@ "errors": [ { "code": "BadRequest", - "message": "The inbound plan is not in a valid state to generate packing options." + "message": "The requested inbound plan does not exist." } ] } @@ -2082,8 +5336,8 @@ } } }, - "500": { - "description": "An unexpected condition occurred that prevented the server from fulfilling the request.", + "404": { + "description": "The resource specified does not exist.", "schema": { "$ref": "#/definitions/ErrorList" }, @@ -2091,11 +5345,15 @@ "x-amzn-RequestId": { "description": "Unique request reference identifier.", "type": "string" + }, + "x-amzn-RateLimit-Limit": { + "description": "Your rate limit (requests per second) for this operation.", + "type": "string" } } }, - "403": { - "description": "Indicates that access to the resource is forbidden. Possible reasons include Access Denied, Unauthorized, Expired Token, or Invalid Signature.", + "500": { + "description": "An unexpected condition occurred that prevented the server from fulfilling the request.", "schema": { "$ref": "#/definitions/ErrorList" }, @@ -2106,8 +5364,8 @@ } } }, - "404": { - "description": "The resource specified does not exist.", + "403": { + "description": "Indicates that access to the resource is forbidden. Possible reasons include Access Denied, Unauthorized, Expired Token, or Invalid Signature.", "schema": { "$ref": "#/definitions/ErrorList" }, @@ -2115,10 +5373,6 @@ "x-amzn-RequestId": { "description": "Unique request reference identifier.", "type": "string" - }, - "x-amzn-RateLimit-Limit": { - "description": "Your rate limit (requests per second) for this operation.", - "type": "string" } } }, @@ -2174,18 +5428,18 @@ "tags": [ "fbaInbound" ], - "description": "Generates available packing options for the inbound plan.\n\n**Usage Plan:**\n\n| Rate (requests per second) | Burst |\n| ---- | ---- |\n| 0.05 | 1 |\n\nThe `x-amzn-RateLimit-Limit` response header returns the usage plan rate limits that were applied to the requested operation, when available. The table above indicates the default rate and burst values for this operation. Selling partners whose business demands require higher throughput may see higher rate and burst values than those shown here. For more information, refer to [Usage Plans and Rate Limits in the Selling Partner API](https://developer-docs.amazon.com/sp-api/docs/usage-plans-and-rate-limits-in-the-sp-api).", - "operationId": "generatePackingOptions" + "description": "Retrieve a shipment content update preview which provides a summary of the requested shipment content changes along with the transportation cost implications of the change that can only be confirmed prior to the expiry date specified.\n\n**Usage Plan:**\n\n| Rate (requests per second) | Burst |\n| ---- | ---- |\n| 2 | 30 |\n\nThe `x-amzn-RateLimit-Limit` response header returns the usage plan rate limits that were applied to the requested operation, when available. The table above indicates the default rate and burst values for this operation. Selling partners whose business demands require higher throughput may see higher rate and burst values than those shown here. For more information, refer to [Usage Plans and Rate Limits in the Selling Partner API](https://developer-docs.amazon.com/sp-api/docs/usage-plans-and-rate-limits-in-the-sp-api). ", + "operationId": "getShipmentContentUpdatePreview" } }, - "/inbound/fba/2024-03-20/inboundPlans/{inboundPlanId}/packingOptions/{packingOptionId}/confirmation": { + "/inbound/fba/2024-03-20/inboundPlans/{inboundPlanId}/shipments/{shipmentId}/contentUpdatePreviews/{contentUpdatePreviewId}/confirmation": { "post": { "produces": [ "application/json" ], "parameters": [ { - "description": "Identifier to an inbound plan.", + "description": "Identifier of an inbound plan.", "in": "path", "maxLength": 38, "minLength": 38, @@ -2195,11 +5449,21 @@ "type": "string" }, { - "description": "Identifier to a packing option.", + "description": "Identifier of a shipment. A shipment contains the boxes and units being inbounded.", "in": "path", "maxLength": 38, "minLength": 38, - "name": "packingOptionId", + "name": "shipmentId", + "pattern": "^[a-zA-Z0-9-]*$", + "required": true, + "type": "string" + }, + { + "description": "Identifier of a content update preview.", + "in": "path", + "maxLength": 38, + "minLength": 38, + "name": "contentUpdatePreviewId", "pattern": "^[a-zA-Z0-9-]*$", "required": true, "type": "string" @@ -2207,9 +5471,9 @@ ], "responses": { "202": { - "description": "ConfirmPackingOption 202 response", + "description": "ConfirmShipmentContentUpdatePreview 202 response", "schema": { - "$ref": "#/definitions/ConfirmPackingOptionResponse" + "$ref": "#/definitions/ConfirmShipmentContentUpdatePreviewResponse" }, "x-amzn-api-sandbox": { "static": [ @@ -2219,8 +5483,11 @@ "inboundPlanId": { "value": "wf1234abcd-1234-abcd-5678-1234abcd5678" }, - "packingOptionId": { - "value": "po1234abcd-1234-abcd-5678-1234abcd5678" + "shipmentId": { + "value": "sh1234abcd-1234-abcd-5678-1234abcd5678" + }, + "contentUpdatePreviewId": { + "value": "cu1234abcd-1234-abcd-5678-1234abcd5678" } } }, @@ -2254,7 +5521,10 @@ "inboundPlanId": { "value": "wf1234abcd-1234-abcd-5678-1234abcd5678" }, - "packingOptionId": { + "shipmentId": { + "value": "sh1234abcd-1234-abcd-5678-1234abcd5678" + }, + "contentUpdatePreviewId": { "value": "bad234abcd-1234-abcd-5678-1234abcd5678" } } @@ -2263,7 +5533,7 @@ "errors": [ { "code": "BadRequest", - "message": "The requested packingOptionId does not exist for the given inbound plan." + "message": "The requested contentUpdatePreviewId does not exist for the given shipment." } ] } @@ -2281,8 +5551,8 @@ } } }, - "500": { - "description": "An unexpected condition occurred that prevented the server from fulfilling the request.", + "404": { + "description": "The resource specified does not exist.", "schema": { "$ref": "#/definitions/ErrorList" }, @@ -2290,11 +5560,15 @@ "x-amzn-RequestId": { "description": "Unique request reference identifier.", "type": "string" + }, + "x-amzn-RateLimit-Limit": { + "description": "Your rate limit (requests per second) for this operation.", + "type": "string" } } }, - "403": { - "description": "Indicates that access to the resource is forbidden. Possible reasons include Access Denied, Unauthorized, Expired Token, or Invalid Signature.", + "500": { + "description": "An unexpected condition occurred that prevented the server from fulfilling the request.", "schema": { "$ref": "#/definitions/ErrorList" }, @@ -2305,8 +5579,8 @@ } } }, - "404": { - "description": "The resource specified does not exist.", + "403": { + "description": "Indicates that access to the resource is forbidden. Possible reasons include Access Denied, Unauthorized, Expired Token, or Invalid Signature.", "schema": { "$ref": "#/definitions/ErrorList" }, @@ -2314,10 +5588,6 @@ "x-amzn-RequestId": { "description": "Unique request reference identifier.", "type": "string" - }, - "x-amzn-RateLimit-Limit": { - "description": "Your rate limit (requests per second) for this operation.", - "type": "string" } } }, @@ -2373,18 +5643,18 @@ "tags": [ "fbaInbound" ], - "description": "Confirms the packing option for an inbound plan.\n\n**Usage Plan:**\n\n| Rate (requests per second) | Burst |\n| ---- | ---- |\n| 0.05 | 1 |\n\nThe `x-amzn-RateLimit-Limit` response header returns the usage plan rate limits that were applied to the requested operation, when available. The table above indicates the default rate and burst values for this operation. Selling partners whose business demands require higher throughput may see higher rate and burst values than those shown here. For more information, refer to [Usage Plans and Rate Limits in the Selling Partner API](https://developer-docs.amazon.com/sp-api/docs/usage-plans-and-rate-limits-in-the-sp-api).", - "operationId": "confirmPackingOption" + "description": "Confirm a shipment content update preview and accept the changes in transportation cost.\n\n**Usage Plan:**\n\n| Rate (requests per second) | Burst |\n| ---- | ---- |\n| 2 | 30 |\n\nThe `x-amzn-RateLimit-Limit` response header returns the usage plan rate limits that were applied to the requested operation, when available. The table above indicates the default rate and burst values for this operation. Selling partners whose business demands require higher throughput may see higher rate and burst values than those shown here. For more information, refer to [Usage Plans and Rate Limits in the Selling Partner API](https://developer-docs.amazon.com/sp-api/docs/usage-plans-and-rate-limits-in-the-sp-api). ", + "operationId": "confirmShipmentContentUpdatePreview" } }, - "/inbound/fba/2024-03-20/inboundPlans/{inboundPlanId}/packingOptions/{packingOptionId}/packingGroups/{packingGroupId}/items": { + "/inbound/fba/2024-03-20/inboundPlans/{inboundPlanId}/shipments/{shipmentId}/deliveryChallanDocument": { "get": { "produces": [ "application/json" ], "parameters": [ { - "description": "Identifier to an inbound plan.", + "description": "Identifier of an inbound plan.", "in": "path", "maxLength": 38, "minLength": 38, @@ -2394,48 +5664,21 @@ "type": "string" }, { - "description": "Identifier to a packing option.", - "in": "path", - "maxLength": 38, - "minLength": 38, - "name": "packingOptionId", - "pattern": "^[a-zA-Z0-9-]*$", - "required": true, - "type": "string" - }, - { - "description": "Identifier to a packing group.", + "description": "Identifier of a shipment. A shipment contains the boxes and units being inbounded.", "in": "path", "maxLength": 38, "minLength": 38, - "name": "packingGroupId", + "name": "shipmentId", "pattern": "^[a-zA-Z0-9-]*$", "required": true, "type": "string" - }, - { - "description": "The number of packing group items to return in the response matching the given query.", - "in": "query", - "maximum": 100, - "minimum": 1, - "name": "pageSize", - "type": "integer", - "default": 10 - }, - { - "description": "A token to fetch a certain page when there are multiple pages worth of results. The value of this token is fetched from the `pagination` returned in the API response. In the absence of the token value from the query parameter the API returns the first page of the result.", - "in": "query", - "maxLength": 1024, - "minLength": 0, - "name": "paginationToken", - "type": "string" } ], "responses": { "200": { - "description": "ListPackingGroupItems 200 response", + "description": "GetDeliveryChallanDocument 200 response", "schema": { - "$ref": "#/definitions/ListPackingGroupItemsResponse" + "$ref": "#/definitions/GetDeliveryChallanDocumentResponse" }, "x-amzn-api-sandbox": { "static": [ @@ -2445,42 +5688,16 @@ "inboundPlanId": { "value": "wf1234abcd-1234-abcd-5678-1234abcd5678" }, - "packingOptionId": { - "value": "po1234abcd-1234-abcd-5678-1234abcd5678" - }, - "packingGroupId": { - "value": "pg1234abcd-1234-abcd-5678-1234abcd5678" - }, - "pageSize": { - "value": 2 - }, - "paginationToken": { - "value": "paginationToken" + "shipmentId": { + "value": "sh1234abcd-1234-abcd-5678-1234abcd5678" } } }, "response": { - "items": [ - { - "quantity": 5, - "prepInstructions": [ - { - "prepType": "ITEM_POLYBAGGING", - "prepOwner": "AMAZON", - "fee": { - "code": "USD", - "amount": 10.0 - } - } - ], - "msku": "msku", - "asin": "asin", - "fnsku": "fnsku", - "labelOwner": "AMAZON" - } - ], - "pagination": { - "nextToken": "nextPaginationToken" + "documentDownload": { + "uri": "https://s3.amazonaws.com/bucket", + "downloadType": "URL", + "expiration": "2024-01-01T00:00:00.000Z" } } } @@ -2510,17 +5727,8 @@ "inboundPlanId": { "value": "wf1234abcd-1234-abcd-5678-1234abcd5678" }, - "packingOptionId": { + "shipmentId": { "value": "bad234abcd-1234-abcd-5678-1234abcd5678" - }, - "packingGroupId": { - "value": "pg1234abcd-1234-abcd-5678-1234abcd5678" - }, - "pageSize": { - "value": 2 - }, - "paginationToken": { - "value": "paginationToken" } } }, @@ -2528,7 +5736,7 @@ "errors": [ { "code": "BadRequest", - "message": "The requested packingOptionId does not exist for the specified inbound plan." + "message": "The requested shipmentId does not exist for the specified inbound plan." } ] } @@ -2546,8 +5754,8 @@ } } }, - "500": { - "description": "An unexpected condition occurred that prevented the server from fulfilling the request.", + "404": { + "description": "The resource specified does not exist.", "schema": { "$ref": "#/definitions/ErrorList" }, @@ -2555,11 +5763,15 @@ "x-amzn-RequestId": { "description": "Unique request reference identifier.", "type": "string" + }, + "x-amzn-RateLimit-Limit": { + "description": "Your rate limit (requests per second) for this operation.", + "type": "string" } } }, - "403": { - "description": "Indicates that access to the resource is forbidden. Possible reasons include Access Denied, Unauthorized, Expired Token, or Invalid Signature.", + "500": { + "description": "An unexpected condition occurred that prevented the server from fulfilling the request.", "schema": { "$ref": "#/definitions/ErrorList" }, @@ -2570,8 +5782,8 @@ } } }, - "404": { - "description": "The resource specified does not exist.", + "403": { + "description": "Indicates that access to the resource is forbidden. Possible reasons include Access Denied, Unauthorized, Expired Token, or Invalid Signature.", "schema": { "$ref": "#/definitions/ErrorList" }, @@ -2579,10 +5791,6 @@ "x-amzn-RequestId": { "description": "Unique request reference identifier.", "type": "string" - }, - "x-amzn-RateLimit-Limit": { - "description": "Your rate limit (requests per second) for this operation.", - "type": "string" } } }, @@ -2638,18 +5846,18 @@ "tags": [ "fbaInbound" ], - "description": "Retrieves a list of all items in a packing options's packing group. Packing options must first be generated by the corresponding endpoint before packing group items can be listed.\n\n**Usage Plan:**\n\n| Rate (requests per second) | Burst |\n| ---- | ---- |\n| 1 | 1 |\n\nThe `x-amzn-RateLimit-Limit` response header returns the usage plan rate limits that were applied to the requested operation, when available. The table above indicates the default rate and burst values for this operation. Selling partners whose business demands require higher throughput may see higher rate and burst values than those shown here. For more information, refer to [Usage Plans and Rate Limits in the Selling Partner API](https://developer-docs.amazon.com/sp-api/docs/usage-plans-and-rate-limits-in-the-sp-api).", - "operationId": "listPackingGroupItems" + "description": "Provide delivery challan document for PCP transportation in IN marketplace.\n\n**Usage Plan:**\n\n| Rate (requests per second) | Burst |\n| ---- | ---- |\n| 2 | 6 |\n\nThe `x-amzn-RateLimit-Limit` response header returns the usage plan rate limits that were applied to the requested operation, when available. The table above indicates the default rate and burst values for this operation. Selling partners whose business demands require higher throughput may see higher rate and burst values than those shown here. For more information, refer to [Usage Plans and Rate Limits in the Selling Partner API](https://developer-docs.amazon.com/sp-api/docs/usage-plans-and-rate-limits-in-the-sp-api). ", + "operationId": "getDeliveryChallanDocument" } }, - "/inbound/fba/2024-03-20/inboundPlans/{inboundPlanId}/pallets": { + "/inbound/fba/2024-03-20/inboundPlans/{inboundPlanId}/shipments/{shipmentId}/deliveryWindowOptions": { "get": { "produces": [ "application/json" ], "parameters": [ { - "description": "Identifier to an inbound plan.", + "description": "Identifier of an inbound plan.", "in": "path", "maxLength": 38, "minLength": 38, @@ -2659,9 +5867,19 @@ "type": "string" }, { - "description": "The number of pallets to return in the response matching the given query.", + "description": "The shipment to get delivery window options for.", + "in": "path", + "maxLength": 38, + "minLength": 38, + "name": "shipmentId", + "pattern": "^[a-zA-Z0-9-]*$", + "required": true, + "type": "string" + }, + { + "description": "The number of delivery window options to return in the response matching the given query.", "in": "query", - "maximum": 1000, + "maximum": 100, "minimum": 1, "name": "pageSize", "type": "integer", @@ -2678,9 +5896,9 @@ ], "responses": { "200": { - "description": "ListInboundPlanPallets 200 response", + "description": "ListDeliveryWindowOptions 200 response", "schema": { - "$ref": "#/definitions/ListInboundPlanPalletsResponse" + "$ref": "#/definitions/ListDeliveryWindowOptionsResponse" }, "x-amzn-api-sandbox": { "static": [ @@ -2690,6 +5908,9 @@ "inboundPlanId": { "value": "wf1234abcd-1234-abcd-5678-1234abcd5678" }, + "shipmentId": { + "value": "sh1234abcd-1234-abcd-5678-1234abcd5678" + }, "pageSize": { "value": 2 }, @@ -2699,21 +5920,13 @@ } }, "response": { - "pallets": [ + "deliveryWindowOptions": [ { - "stackability": "STACKABLE", - "packageId": "pk1234abcd-1234-abcd-5678-1234abcd5678", - "weight": { - "unit": "KG", - "value": 5.5 - }, - "dimensions": { - "unitOfMeasurement": "CM", - "length": 3.0, - "width": 4.0, - "height": 5.0 - }, - "quantity": 2 + "deliveryWindowOptionId": "dw1234abcd-1234-abcd-5678-1234abcd5678", + "startDate": "2024-01-01T00:00:00.000Z", + "endDate": "2024-01-01T06:00:00.000Z", + "availabilityType": "AVAILABLE", + "validUntil": "2024-01-01T06:00:00.000Z" } ], "pagination": { @@ -2745,6 +5958,9 @@ "request": { "parameters": { "inboundPlanId": { + "value": "wf1234abcd-1234-abcd-5678-1234abcd5678" + }, + "shipmentId": { "value": "bad234abcd-1234-abcd-5678-1234abcd5678" }, "pageSize": { @@ -2759,7 +5975,7 @@ "errors": [ { "code": "BadRequest", - "message": "The requested inbound plan does not exist." + "message": "The requested shipmentId does not exist for the specified inbound plan." } ] } @@ -2777,8 +5993,8 @@ } } }, - "500": { - "description": "An unexpected condition occurred that prevented the server from fulfilling the request.", + "404": { + "description": "The resource specified does not exist.", "schema": { "$ref": "#/definitions/ErrorList" }, @@ -2786,11 +6002,15 @@ "x-amzn-RequestId": { "description": "Unique request reference identifier.", "type": "string" + }, + "x-amzn-RateLimit-Limit": { + "description": "Your rate limit (requests per second) for this operation.", + "type": "string" } } }, - "403": { - "description": "Indicates that access to the resource is forbidden. Possible reasons include Access Denied, Unauthorized, Expired Token, or Invalid Signature.", + "500": { + "description": "An unexpected condition occurred that prevented the server from fulfilling the request.", "schema": { "$ref": "#/definitions/ErrorList" }, @@ -2801,8 +6021,8 @@ } } }, - "404": { - "description": "The resource specified does not exist.", + "403": { + "description": "Indicates that access to the resource is forbidden. Possible reasons include Access Denied, Unauthorized, Expired Token, or Invalid Signature.", "schema": { "$ref": "#/definitions/ErrorList" }, @@ -2810,10 +6030,6 @@ "x-amzn-RequestId": { "description": "Unique request reference identifier.", "type": "string" - }, - "x-amzn-RateLimit-Limit": { - "description": "Your rate limit (requests per second) for this operation.", - "type": "string" } } }, @@ -2869,102 +6085,56 @@ "tags": [ "fbaInbound" ], - "description": "Provides a paginated list of pallet packages in an inbound plan. An inbound plan will have pallets when the related details are provided after generating Less-Than-Truckload (LTL) carrier shipments.\n\n**Usage Plan:**\n\n| Rate (requests per second) | Burst |\n| ---- | ---- |\n| 1 | 1 |\n\nThe `x-amzn-RateLimit-Limit` response header returns the usage plan rate limits that were applied to the requested operation, when available. The table above indicates the default rate and burst values for this operation. Selling partners whose business demands require higher throughput may see higher rate and burst values than those shown here. For more information, refer to [Usage Plans and Rate Limits in the Selling Partner API](https://developer-docs.amazon.com/sp-api/docs/usage-plans-and-rate-limits-in-the-sp-api).", - "operationId": "listInboundPlanPallets" - } - }, - "/inbound/fba/2024-03-20/inboundPlans/{inboundPlanId}/placementOptions": { - "get": { + "description": "Retrieves all delivery window options for a shipment. Delivery window options must first be generated by the `generateDeliveryWindowOptions` operation before becoming available.\n\n**Usage Plan:**\n\n| Rate (requests per second) | Burst |\n| ---- | ---- |\n| 2 | 30 |\n\nThe `x-amzn-RateLimit-Limit` response header returns the usage plan rate limits that were applied to the requested operation, when available. The table above indicates the default rate and burst values for this operation. Selling partners whose business demands require higher throughput may see higher rate and burst values than those shown here. For more information, refer to [Usage Plans and Rate Limits in the Selling Partner API](https://developer-docs.amazon.com/sp-api/docs/usage-plans-and-rate-limits-in-the-sp-api). ", + "operationId": "listDeliveryWindowOptions" + }, + "post": { "produces": [ "application/json" ], "parameters": [ { - "description": "Identifier to an inbound plan.", + "description": "Identifier of an inbound plan.", "in": "path", "maxLength": 38, "minLength": 38, "name": "inboundPlanId", "pattern": "^[a-zA-Z0-9-]*$", "required": true, - "type": "string" - }, - { - "description": "The number of placement options to return in the response matching the given query.", - "in": "query", - "maximum": 20, - "minimum": 1, - "name": "pageSize", - "type": "integer", - "default": 10 - }, - { - "description": "A token to fetch a certain page when there are multiple pages worth of results. The value of this token is fetched from the `pagination` returned in the API response. In the absence of the token value from the query parameter the API returns the first page of the result.", - "in": "query", - "maxLength": 1024, - "minLength": 0, - "name": "paginationToken", - "type": "string" - } - ], - "responses": { - "200": { - "description": "ListPlacementOptions 200 response", - "schema": { - "$ref": "#/definitions/ListPlacementOptionsResponse" - }, - "x-amzn-api-sandbox": { - "static": [ - { - "request": { - "parameters": { - "inboundPlanId": { - "value": "wf1234abcd-1234-abcd-5678-1234abcd5678" - }, - "pageSize": { - "value": 2 - }, - "paginationToken": { - "value": "paginationToken" - } - } - }, - "response": { - "placementOptions": [ - { - "placementOptionId": "pl1234abcd-1234-abcd-5678-1234abcd5678", - "status": "OFFERED", - "fees": [ - { - "value": { - "code": "USD", - "amount": 1.0 - }, - "type": "FEE", - "target": "Placement Services", - "description": "description" - } - ], - "discounts": [ - { - "value": { - "code": "USD", - "amount": 1.0 - }, - "type": "DISCOUNT", - "target": "Placement Services", - "description": "description" - } - ], - "expiration": "2024-01-01T00:00:00.000Z", - "shipmentIds": [ - "sh1234abcd-1234-abcd-5678-1234abcd5678" - ] + "type": "string" + }, + { + "description": "The shipment to generate delivery window options for.", + "in": "path", + "maxLength": 38, + "minLength": 38, + "name": "shipmentId", + "pattern": "^[a-zA-Z0-9-]*$", + "required": true, + "type": "string" + } + ], + "responses": { + "202": { + "description": "GenerateDeliveryWindowOptions 202 response", + "schema": { + "$ref": "#/definitions/GenerateDeliveryWindowOptionsResponse" + }, + "x-amzn-api-sandbox": { + "static": [ + { + "request": { + "parameters": { + "inboundPlanId": { + "value": "wf1234abcd-1234-abcd-5678-1234abcd5678" + }, + "shipmentId": { + "value": "sh1234abcd-1234-abcd-5678-1234abcd5678" } - ], - "pagination": { - "nextToken": "nextPaginationToken" } + }, + "response": { + "operationId": "1234abcd-1234-abcd-5678-1234abcd5678" } } ] @@ -2991,13 +6161,10 @@ "request": { "parameters": { "inboundPlanId": { - "value": "bad234abcd-1234-abcd-5678-1234abcd5678" - }, - "pageSize": { - "value": 2 + "value": "wf1234abcd-1234-abcd-5678-1234abcd5678" }, - "paginationToken": { - "value": "paginationToken" + "shipmentId": { + "value": "bad234abcd-1234-abcd-5678-1234abcd5678" } } }, @@ -3005,7 +6172,7 @@ "errors": [ { "code": "BadRequest", - "message": "The requested inbound plan does not exist." + "message": "The provided shipmentId is not valid for the specified inbound plan." } ] } @@ -3023,8 +6190,8 @@ } } }, - "500": { - "description": "An unexpected condition occurred that prevented the server from fulfilling the request.", + "404": { + "description": "The resource specified does not exist.", "schema": { "$ref": "#/definitions/ErrorList" }, @@ -3032,11 +6199,15 @@ "x-amzn-RequestId": { "description": "Unique request reference identifier.", "type": "string" + }, + "x-amzn-RateLimit-Limit": { + "description": "Your rate limit (requests per second) for this operation.", + "type": "string" } } }, - "403": { - "description": "Indicates that access to the resource is forbidden. Possible reasons include Access Denied, Unauthorized, Expired Token, or Invalid Signature.", + "500": { + "description": "An unexpected condition occurred that prevented the server from fulfilling the request.", "schema": { "$ref": "#/definitions/ErrorList" }, @@ -3047,8 +6218,8 @@ } } }, - "404": { - "description": "The resource specified does not exist.", + "403": { + "description": "Indicates that access to the resource is forbidden. Possible reasons include Access Denied, Unauthorized, Expired Token, or Invalid Signature.", "schema": { "$ref": "#/definitions/ErrorList" }, @@ -3056,10 +6227,6 @@ "x-amzn-RequestId": { "description": "Unique request reference identifier.", "type": "string" - }, - "x-amzn-RateLimit-Limit": { - "description": "Your rate limit (requests per second) for this operation.", - "type": "string" } } }, @@ -3115,19 +6282,18 @@ "tags": [ "fbaInbound" ], - "description": "Provides a list of all placement options for an inbound plan. Placement options must first be generated by the corresponding endpoint before becoming available.\n\n**Usage Plan:**\n\n| Rate (requests per second) | Burst |\n| ---- | ---- |\n| 1 | 1 |\n\nThe `x-amzn-RateLimit-Limit` response header returns the usage plan rate limits that were applied to the requested operation, when available. The table above indicates the default rate and burst values for this operation. Selling partners whose business demands require higher throughput may see higher rate and burst values than those shown here. For more information, refer to [Usage Plans and Rate Limits in the Selling Partner API](https://developer-docs.amazon.com/sp-api/docs/usage-plans-and-rate-limits-in-the-sp-api).", - "operationId": "listPlacementOptions" - }, + "description": "Generates available delivery window options for a given shipment.\n\n**Usage Plan:**\n\n| Rate (requests per second) | Burst |\n| ---- | ---- |\n| 2 | 30 |\n\nThe `x-amzn-RateLimit-Limit` response header returns the usage plan rate limits that were applied to the requested operation, when available. The table above indicates the default rate and burst values for this operation. Selling partners whose business demands require higher throughput may see higher rate and burst values than those shown here. For more information, refer to [Usage Plans and Rate Limits in the Selling Partner API](https://developer-docs.amazon.com/sp-api/docs/usage-plans-and-rate-limits-in-the-sp-api). ", + "operationId": "generateDeliveryWindowOptions" + } + }, + "/inbound/fba/2024-03-20/inboundPlans/{inboundPlanId}/shipments/{shipmentId}/deliveryWindowOptions/{deliveryWindowOptionId}/confirmation": { "post": { - "consumes": [ - "application/json" - ], "produces": [ "application/json" ], "parameters": [ { - "description": "Identifier to an inbound plan.", + "description": "Identifier of an inbound plan.", "in": "path", "maxLength": 38, "minLength": 38, @@ -3137,20 +6303,31 @@ "type": "string" }, { - "in": "body", - "name": "body", + "description": "The shipment to confirm the delivery window option for.", + "in": "path", + "maxLength": 38, + "minLength": 38, + "name": "shipmentId", + "pattern": "^[a-zA-Z0-9-]*$", "required": true, - "schema": { - "$ref": "#/definitions/GeneratePlacementOptionsRequest" - }, - "description": "The body of the request to `generatePlacementOptions`." + "type": "string" + }, + { + "description": "The id of the delivery window option to be confirmed.", + "in": "path", + "maxLength": 38, + "minLength": 36, + "name": "deliveryWindowOptionId", + "pattern": "^[a-zA-Z0-9-]*$", + "required": true, + "type": "string" } ], "responses": { "202": { - "description": "GeneratePlacementOptions 202 response", + "description": "ConfirmDeliveryWindowOptions 202 response", "schema": { - "$ref": "#/definitions/GeneratePlacementOptionsResponse" + "$ref": "#/definitions/ConfirmDeliveryWindowOptionsResponse" }, "x-amzn-api-sandbox": { "static": [ @@ -3160,24 +6337,11 @@ "inboundPlanId": { "value": "wf1234abcd-1234-abcd-5678-1234abcd5678" }, - "body": { - "value": { - "customPlacement": [ - { - "warehouseId": "warehouseId", - "items": [ - { - "msku": "msku", - "prepOwner": "AMAZON", - "labelOwner": "AMAZON", - "quantity": 2, - "expiration": "2024-01-01", - "manufacturingLotCode": "lotCode" - } - ] - } - ] - } + "shipmentId": { + "value": "sh1234abcd-1234-abcd-5678-1234abcd5678" + }, + "deliveryWindowOptionId": { + "value": "dw1234abcd-1234-abcd-5678-1234abcd5678" } } }, @@ -3211,24 +6375,11 @@ "inboundPlanId": { "value": "wf1234abcd-1234-abcd-5678-1234abcd5678" }, - "body": { - "value": { - "customPlacement": [ - { - "warehouseId": "badWarehouseId", - "items": [ - { - "msku": "msku", - "prepOwner": "AMAZON", - "labelOwner": "AMAZON", - "quantity": 2, - "expiration": "2024-01-01", - "manufacturingLotCode": "lotCode" - } - ] - } - ] - } + "shipmentId": { + "value": "bad234abcd-1234-abcd-5678-1234abcd5678" + }, + "deliveryWindowOptionId": { + "value": "dw1234abcd-1234-abcd-5678-1234abcd5678" } } }, @@ -3236,7 +6387,7 @@ "errors": [ { "code": "BadRequest", - "message": "The inbound plan is not in a valid state to generate placement options." + "message": "The requested shipmentId does not exist under the associated inbound plan." } ] } @@ -3254,8 +6405,8 @@ } } }, - "500": { - "description": "An unexpected condition occurred that prevented the server from fulfilling the request.", + "404": { + "description": "The resource specified does not exist.", "schema": { "$ref": "#/definitions/ErrorList" }, @@ -3263,11 +6414,15 @@ "x-amzn-RequestId": { "description": "Unique request reference identifier.", "type": "string" + }, + "x-amzn-RateLimit-Limit": { + "description": "Your rate limit (requests per second) for this operation.", + "type": "string" } } }, - "403": { - "description": "Indicates that access to the resource is forbidden. Possible reasons include Access Denied, Unauthorized, Expired Token, or Invalid Signature.", + "500": { + "description": "An unexpected condition occurred that prevented the server from fulfilling the request.", "schema": { "$ref": "#/definitions/ErrorList" }, @@ -3278,8 +6433,8 @@ } } }, - "404": { - "description": "The resource specified does not exist.", + "403": { + "description": "Indicates that access to the resource is forbidden. Possible reasons include Access Denied, Unauthorized, Expired Token, or Invalid Signature.", "schema": { "$ref": "#/definitions/ErrorList" }, @@ -3287,10 +6442,6 @@ "x-amzn-RequestId": { "description": "Unique request reference identifier.", "type": "string" - }, - "x-amzn-RateLimit-Limit": { - "description": "Your rate limit (requests per second) for this operation.", - "type": "string" } } }, @@ -3346,18 +6497,18 @@ "tags": [ "fbaInbound" ], - "description": "Generates placement options for the inbound plan.\n\n**Usage Plan:**\n\n| Rate (requests per second) | Burst |\n| ---- | ---- |\n| 0.05 | 1 |\n\nThe `x-amzn-RateLimit-Limit` response header returns the usage plan rate limits that were applied to the requested operation, when available. The table above indicates the default rate and burst values for this operation. Selling partners whose business demands require higher throughput may see higher rate and burst values than those shown here. For more information, refer to [Usage Plans and Rate Limits in the Selling Partner API](https://developer-docs.amazon.com/sp-api/docs/usage-plans-and-rate-limits-in-the-sp-api).", - "operationId": "generatePlacementOptions" + "description": "Confirms the delivery window option for chosen shipment within an inbound plan. A placement option must be confirmed prior to use of this API. Once confirmed, new delivery window options cannot be generated, but the chosen delivery window option can be updated before shipment closure. The window is used to provide the expected time when a shipment will arrive at the warehouse. All transportation options which have the program `CONFIRMED_DELIVERY_WINDOW` require a delivery window to be confirmed prior to transportation option confirmation.\n\n**Usage Plan:**\n\n| Rate (requests per second) | Burst |\n| ---- | ---- |\n| 2 | 30 |\n\nThe `x-amzn-RateLimit-Limit` response header returns the usage plan rate limits that were applied to the requested operation, when available. The table above indicates the default rate and burst values for this operation. Selling partners whose business demands require higher throughput may see higher rate and burst values than those shown here. For more information, refer to [Usage Plans and Rate Limits in the Selling Partner API](https://developer-docs.amazon.com/sp-api/docs/usage-plans-and-rate-limits-in-the-sp-api). ", + "operationId": "confirmDeliveryWindowOptions" } }, - "/inbound/fba/2024-03-20/inboundPlans/{inboundPlanId}/placementOptions/{placementOptionId}/confirmation": { - "post": { + "/inbound/fba/2024-03-20/inboundPlans/{inboundPlanId}/shipments/{shipmentId}/items": { + "get": { "produces": [ "application/json" ], "parameters": [ { - "description": "Identifier to an inbound plan.", + "description": "Identifier of an inbound plan.", "in": "path", "maxLength": 38, "minLength": 38, @@ -3367,21 +6518,38 @@ "type": "string" }, { - "description": "Identifier to a placement option. A placement option represents the shipment splits and destinations of SKUs.", + "description": "Identifier of a shipment. A shipment contains the boxes and units being inbounded.", "in": "path", "maxLength": 38, "minLength": 38, - "name": "placementOptionId", + "name": "shipmentId", "pattern": "^[a-zA-Z0-9-]*$", "required": true, "type": "string" + }, + { + "description": "The number of items to return in the response matching the given query.", + "in": "query", + "maximum": 1000, + "minimum": 1, + "name": "pageSize", + "type": "integer", + "default": 10 + }, + { + "description": "A token to fetch a certain page when there are multiple pages worth of results. The value of this token is fetched from the `pagination` returned in the API response. In the absence of the token value from the query parameter the API returns the first page of the result.", + "in": "query", + "maxLength": 1024, + "minLength": 0, + "name": "paginationToken", + "type": "string" } ], "responses": { - "202": { - "description": "ConfirmPlacementOption 202 response", + "200": { + "description": "ListShipmentItems 200 response", "schema": { - "$ref": "#/definitions/ConfirmPlacementOptionResponse" + "$ref": "#/definitions/ListShipmentItemsResponse" }, "x-amzn-api-sandbox": { "static": [ @@ -3391,13 +6559,42 @@ "inboundPlanId": { "value": "wf1234abcd-1234-abcd-5678-1234abcd5678" }, - "placementOptionId": { - "value": "pl1234abcd-1234-abcd-5678-1234abcd5678" + "shipmentId": { + "value": "sh1234abcd-1234-abcd-5678-1234abcd5678" + }, + "pageSize": { + "value": 2 + }, + "paginationToken": { + "value": "paginationToken" } } }, "response": { - "operationId": "1234abcd-1234-abcd-5678-1234abcd5678" + "items": [ + { + "quantity": 5, + "expiration": "2024-01-01", + "manufacturingLotCode": "manufacturingLotCode", + "prepInstructions": [ + { + "prepType": "ITEM_POLYBAGGING", + "prepOwner": "AMAZON", + "fee": { + "code": "USD", + "amount": 10.0 + } + } + ], + "msku": "msku", + "asin": "asin", + "fnsku": "fnsku", + "labelOwner": "AMAZON" + } + ], + "pagination": { + "nextToken": "nextPaginationToken" + } } } ] @@ -3424,10 +6621,16 @@ "request": { "parameters": { "inboundPlanId": { - "value": "wf1234abcd-1234-abcd-5678-1234abcd5678" + "value": "wfbad4abcd-1234-abcd-5678-1234abcd5678" }, - "placementOptionId": { - "value": "bad234abcd-1234-abcd-5678-1234abcd5678" + "shipmentId": { + "value": "sh1234abcd-1234-abcd-5678-1234abcd5678" + }, + "pageSize": { + "value": 1 + }, + "paginationToken": { + "value": "" } } }, @@ -3435,7 +6638,7 @@ "errors": [ { "code": "BadRequest", - "message": "The requested placementOptionId does not exist for the given inbound plan." + "message": "The requested inbound plan does not exist." } ] } @@ -3453,8 +6656,8 @@ } } }, - "500": { - "description": "An unexpected condition occurred that prevented the server from fulfilling the request.", + "404": { + "description": "The resource specified does not exist.", "schema": { "$ref": "#/definitions/ErrorList" }, @@ -3462,11 +6665,15 @@ "x-amzn-RequestId": { "description": "Unique request reference identifier.", "type": "string" + }, + "x-amzn-RateLimit-Limit": { + "description": "Your rate limit (requests per second) for this operation.", + "type": "string" } } }, - "403": { - "description": "Indicates that access to the resource is forbidden. Possible reasons include Access Denied, Unauthorized, Expired Token, or Invalid Signature.", + "500": { + "description": "An unexpected condition occurred that prevented the server from fulfilling the request.", "schema": { "$ref": "#/definitions/ErrorList" }, @@ -3477,8 +6684,8 @@ } } }, - "404": { - "description": "The resource specified does not exist.", + "403": { + "description": "Indicates that access to the resource is forbidden. Possible reasons include Access Denied, Unauthorized, Expired Token, or Invalid Signature.", "schema": { "$ref": "#/definitions/ErrorList" }, @@ -3486,10 +6693,6 @@ "x-amzn-RequestId": { "description": "Unique request reference identifier.", "type": "string" - }, - "x-amzn-RateLimit-Limit": { - "description": "Your rate limit (requests per second) for this operation.", - "type": "string" } } }, @@ -3545,18 +6748,21 @@ "tags": [ "fbaInbound" ], - "description": "Confirms the placement option for an inbound plan. Once confirmed, it cannot be changed for the Inbound Plan.\n\n**Usage Plan:**\n\n| Rate (requests per second) | Burst |\n| ---- | ---- |\n| 0.05 | 1 |\n\nThe `x-amzn-RateLimit-Limit` response header returns the usage plan rate limits that were applied to the requested operation, when available. The table above indicates the default rate and burst values for this operation. Selling partners whose business demands require higher throughput may see higher rate and burst values than those shown here. For more information, refer to [Usage Plans and Rate Limits in the Selling Partner API](https://developer-docs.amazon.com/sp-api/docs/usage-plans-and-rate-limits-in-the-sp-api).", - "operationId": "confirmPlacementOption" + "description": "Provides a paginated list of item packages in a shipment.\n\n**Usage Plan:**\n\n| Rate (requests per second) | Burst |\n| ---- | ---- |\n| 2 | 30 |\n\nThe `x-amzn-RateLimit-Limit` response header returns the usage plan rate limits that were applied to the requested operation, when available. The table above indicates the default rate and burst values for this operation. Selling partners whose business demands require higher throughput may see higher rate and burst values than those shown here. For more information, refer to [Usage Plans and Rate Limits in the Selling Partner API](https://developer-docs.amazon.com/sp-api/docs/usage-plans-and-rate-limits-in-the-sp-api). ", + "operationId": "listShipmentItems" } }, - "/inbound/fba/2024-03-20/inboundPlans/{inboundPlanId}/shipments/{shipmentId}": { - "get": { + "/inbound/fba/2024-03-20/inboundPlans/{inboundPlanId}/shipments/{shipmentId}/name": { + "put": { + "consumes": [ + "application/json" + ], "produces": [ "application/json" ], "parameters": [ { - "description": "Identifier to an inbound plan.", + "description": "Identifier of an inbound plan.", "in": "path", "maxLength": 38, "minLength": 38, @@ -3566,7 +6772,7 @@ "type": "string" }, { - "description": "Identifier to a shipment. A shipment contains the boxes and units being inbounded.", + "description": "Identifier of a shipment. A shipment contains the boxes and units being inbounded.", "in": "path", "maxLength": 38, "minLength": 38, @@ -3574,14 +6780,20 @@ "pattern": "^[a-zA-Z0-9-]*$", "required": true, "type": "string" + }, + { + "in": "body", + "name": "body", + "required": true, + "schema": { + "$ref": "#/definitions/UpdateShipmentNameRequest" + }, + "description": "The body of the request to `updateShipmentName`." } ], "responses": { - "200": { - "description": "GetShipment 200 response", - "schema": { - "$ref": "#/definitions/Shipment" - }, + "204": { + "description": "UpdateShipmentName 204 response", "x-amzn-api-sandbox": { "static": [ { @@ -3592,103 +6804,13 @@ }, "shipmentId": { "value": "sh1234abcd-1234-abcd-5678-1234abcd5678" - } - } - }, - "response": { - "inboundPlanId": "wf1234abcd-1234-abcd-5678-1234abcd5678", - "placementOptionId": "pl1234abcd-1234-abcd-5678-1234abcd5678", - "shipmentId": "sh1234abcd-1234-abcd-5678-1234abcd5678", - "shipmentConfirmationId": "FBA1234ABCD", - "amazonReferenceId": "amazonReferenceId", - "selectedTransportationOptionId": "to1234abcd-1234-abcd-5678-1234abcd5678", - "name": "FBA (10/02/2023 20:07)-ABC1", - "source": { - "sourceType": "SELLER_FACILITY", - "address": { - "name": "name", - "addressLine1": "123 example street", - "city": "Toronto", - "countryCode": "CA", - "stateOrProvinceCode": "ON", - "postalCode": "M1M1M1" - } - }, - "destination": { - "destinationType": "AMAZON_WAREHOUSE", - "address": { - "name": "name", - "addressLine1": "124 example street", - "city": "Toronto", - "countryCode": "CA", - "stateOrProvinceCode": "ON", - "postalCode": "M1M1M1" - }, - "warehouseId": "YYZ5" - }, - "dates": { - "deliveryWindow": { - "start": "2024-01-01T00:00Z", - "end": "2024-01-08T00:00Z", - "editableUntil": "2024-01-07T00:00Z" - } - }, - "status": "WORKING", - "trackingDetails": { - "spdTrackingDetail": { - "spdTrackingItems": [ - { - "boxId": "boxId", - "trackingId": "trackingId", - "trackingNumberValidationStatus": "VALIDATED" - } - ] }, - "ltlTrackingDetail": { - "freightBillNumber": [ - "freightBillNumber1" - ], - "billOfLadingNumber": "billOfLadingNumber" - } - }, - "palletInformation": { - "pallets": [ - { - "stackability": "STACKABLE", - "weight": { - "unit": "KG", - "value": 5.5 - }, - "dimensions": { - "unitOfMeasurement": "CM", - "length": 3.0, - "width": 4.0, - "height": 5.0 - }, - "quantity": 2 + "body": { + "value": { + "name": "updatedShipmentName" } - ], - "freightClass": "FC_50", - "declaredValue": { - "code": "USD", - "amount": 500.0 - } - }, - "contactInformation": { - "name": "name", - "phoneNumber": "1234567890", - "email": "email@email.com" - }, - "selfShipAppointmentDetails": [ - { - "appointmentId": 1, - "appointmentSlotTime": { - "startTime": "2024-01-01T00:00:00.000Z", - "endTime": "2024-01-01T00:00:00.000Z" - }, - "appointmentStatus": "appointmentStatus" } - ] + } } } ] @@ -3719,6 +6841,11 @@ }, "shipmentId": { "value": "bad234abcd-1234-abcd-5678-1234abcd5678" + }, + "body": { + "value": { + "name": "updatedShipmentName" + } } } }, @@ -3726,7 +6853,7 @@ "errors": [ { "code": "BadRequest", - "message": "The requested shipment does not exist for the provided inbound plan." + "message": "The requested shipmentId does not exist for the specified inbound plan." } ] } @@ -3744,8 +6871,8 @@ } } }, - "500": { - "description": "An unexpected condition occurred that prevented the server from fulfilling the request.", + "404": { + "description": "The resource specified does not exist.", "schema": { "$ref": "#/definitions/ErrorList" }, @@ -3753,11 +6880,15 @@ "x-amzn-RequestId": { "description": "Unique request reference identifier.", "type": "string" + }, + "x-amzn-RateLimit-Limit": { + "description": "Your rate limit (requests per second) for this operation.", + "type": "string" } } }, - "403": { - "description": "Indicates that access to the resource is forbidden. Possible reasons include Access Denied, Unauthorized, Expired Token, or Invalid Signature.", + "500": { + "description": "An unexpected condition occurred that prevented the server from fulfilling the request.", "schema": { "$ref": "#/definitions/ErrorList" }, @@ -3768,8 +6899,8 @@ } } }, - "404": { - "description": "The resource specified does not exist.", + "403": { + "description": "Indicates that access to the resource is forbidden. Possible reasons include Access Denied, Unauthorized, Expired Token, or Invalid Signature.", "schema": { "$ref": "#/definitions/ErrorList" }, @@ -3777,10 +6908,6 @@ "x-amzn-RequestId": { "description": "Unique request reference identifier.", "type": "string" - }, - "x-amzn-RateLimit-Limit": { - "description": "Your rate limit (requests per second) for this operation.", - "type": "string" } } }, @@ -3836,18 +6963,18 @@ "tags": [ "fbaInbound" ], - "description": "Provides the full details for a specific shipment within an inbound plan. The `transportationOptionId` inside `acceptedTransportationSelection` can be used to retrieve the transportation details for the shipment.\n\n**Usage Plan:**\n\n| Rate (requests per second) | Burst |\n| ---- | ---- |\n| 1 | 1 |\n\nThe `x-amzn-RateLimit-Limit` response header returns the usage plan rate limits that were applied to the requested operation, when available. The table above indicates the default rate and burst values for this operation. Selling partners whose business demands require higher throughput may see higher rate and burst values than those shown here. For more information, refer to [Usage Plans and Rate Limits in the Selling Partner API](https://developer-docs.amazon.com/sp-api/docs/usage-plans-and-rate-limits-in-the-sp-api).", - "operationId": "getShipment" + "description": "Updates the name of an existing shipment.\n\n**Usage Plan:**\n\n| Rate (requests per second) | Burst |\n| ---- | ---- |\n| 2 | 30 |\n\nThe `x-amzn-RateLimit-Limit` response header returns the usage plan rate limits that were applied to the requested operation, when available. The table above indicates the default rate and burst values for this operation. Selling partners whose business demands require higher throughput may see higher rate and burst values than those shown here. For more information, refer to [Usage Plans and Rate Limits in the Selling Partner API](https://developer-docs.amazon.com/sp-api/docs/usage-plans-and-rate-limits-in-the-sp-api). ", + "operationId": "updateShipmentName" } }, - "/inbound/fba/2024-03-20/inboundPlans/{inboundPlanId}/shipments/{shipmentId}/deliveryChallanDocument": { + "/inbound/fba/2024-03-20/inboundPlans/{inboundPlanId}/shipments/{shipmentId}/pallets": { "get": { "produces": [ "application/json" ], "parameters": [ { - "description": "Identifier to an inbound plan.", + "description": "Identifier of an inbound plan.", "in": "path", "maxLength": 38, "minLength": 38, @@ -3857,7 +6984,7 @@ "type": "string" }, { - "description": "Identifier to a shipment. A shipment contains the boxes and units being inbounded.", + "description": "Identifier of a shipment. A shipment contains the boxes and units being inbounded.", "in": "path", "maxLength": 38, "minLength": 38, @@ -3865,13 +6992,30 @@ "pattern": "^[a-zA-Z0-9-]*$", "required": true, "type": "string" + }, + { + "description": "The number of pallets to return in the response matching the given query.", + "in": "query", + "maximum": 1000, + "minimum": 1, + "name": "pageSize", + "type": "integer", + "default": 10 + }, + { + "description": "A token to fetch a certain page when there are multiple pages worth of results. The value of this token is fetched from the `pagination` returned in the API response. In the absence of the token value from the query parameter the API returns the first page of the result.", + "in": "query", + "maxLength": 1024, + "minLength": 0, + "name": "paginationToken", + "type": "string" } ], "responses": { "200": { - "description": "GetDeliveryChallanDocument 200 response", + "description": "ListShipmentPallets 200 response", "schema": { - "$ref": "#/definitions/GetDeliveryChallanDocumentResponse" + "$ref": "#/definitions/ListShipmentPalletsResponse" }, "x-amzn-api-sandbox": { "static": [ @@ -3883,14 +7027,35 @@ }, "shipmentId": { "value": "sh1234abcd-1234-abcd-5678-1234abcd5678" + }, + "pageSize": { + "value": 2 + }, + "paginationToken": { + "value": "paginationToken" } } }, "response": { - "documentDownload": { - "uri": "https://s3.amazonaws.com/bucket", - "downloadType": "URL", - "expiration": "2024-01-01T00:00:00.000Z" + "pallets": [ + { + "stackability": "STACKABLE", + "packageId": "pk1234abcd-1234-abcd-5678-1234abcd5678", + "weight": { + "unit": "KG", + "value": 5.5 + }, + "dimensions": { + "unitOfMeasurement": "CM", + "length": 3.0, + "width": 4.0, + "height": 5.0 + }, + "quantity": 2 + } + ], + "pagination": { + "nextToken": "nextPaginationToken" } } } @@ -3918,10 +7083,16 @@ "request": { "parameters": { "inboundPlanId": { - "value": "wf1234abcd-1234-abcd-5678-1234abcd5678" + "value": "bad234abcd-1234-abcd-5678-1234abcd5678" }, "shipmentId": { - "value": "bad234abcd-1234-abcd-5678-1234abcd5678" + "value": "sh1234abcd-1234-abcd-5678-1234abcd5678" + }, + "pageSize": { + "value": 2 + }, + "paginationToken": { + "value": "paginationToken" } } }, @@ -3929,7 +7100,7 @@ "errors": [ { "code": "BadRequest", - "message": "The requested shipmentId does not exist for the specified inbound plan." + "message": "The requested inbound plan does not exist." } ] } @@ -3947,8 +7118,8 @@ } } }, - "500": { - "description": "An unexpected condition occurred that prevented the server from fulfilling the request.", + "404": { + "description": "The resource specified does not exist.", "schema": { "$ref": "#/definitions/ErrorList" }, @@ -3956,11 +7127,15 @@ "x-amzn-RequestId": { "description": "Unique request reference identifier.", "type": "string" + }, + "x-amzn-RateLimit-Limit": { + "description": "Your rate limit (requests per second) for this operation.", + "type": "string" } } }, - "403": { - "description": "Indicates that access to the resource is forbidden. Possible reasons include Access Denied, Unauthorized, Expired Token, or Invalid Signature.", + "500": { + "description": "An unexpected condition occurred that prevented the server from fulfilling the request.", "schema": { "$ref": "#/definitions/ErrorList" }, @@ -3971,8 +7146,8 @@ } } }, - "404": { - "description": "The resource specified does not exist.", + "403": { + "description": "Indicates that access to the resource is forbidden. Possible reasons include Access Denied, Unauthorized, Expired Token, or Invalid Signature.", "schema": { "$ref": "#/definitions/ErrorList" }, @@ -3980,10 +7155,6 @@ "x-amzn-RequestId": { "description": "Unique request reference identifier.", "type": "string" - }, - "x-amzn-RateLimit-Limit": { - "description": "Your rate limit (requests per second) for this operation.", - "type": "string" } } }, @@ -4039,12 +7210,12 @@ "tags": [ "fbaInbound" ], - "description": "Provide delivery challan document for PCP transportation in IN marketplace.\n\n**Usage Plan:**\n\n| Rate (requests per second) | Burst |\n| ---- | ---- |\n| 1 | 1 |\n\nThe `x-amzn-RateLimit-Limit` response header returns the usage plan rate limits that were applied to the requested operation, when available. The table above indicates the default rate and burst values for this operation. Selling partners whose business demands require higher throughput may see higher rate and burst values than those shown here. For more information, refer to [Usage Plans and Rate Limits in the Selling Partner API](https://developer-docs.amazon.com/sp-api/docs/usage-plans-and-rate-limits-in-the-sp-api).", - "operationId": "getDeliveryChallanDocument" + "description": "Provides a paginated list of pallet packages in a shipment. A palletized shipment will have pallets when the related details are provided after generating Less-Than-Truckload (LTL) carrier shipments.\n\n**Usage Plan:**\n\n| Rate (requests per second) | Burst |\n| ---- | ---- |\n| 2 | 30 |\n\nThe `x-amzn-RateLimit-Limit` response header returns the usage plan rate limits that were applied to the requested operation, when available. The table above indicates the default rate and burst values for this operation. Selling partners whose business demands require higher throughput may see higher rate and burst values than those shown here. For more information, refer to [Usage Plans and Rate Limits in the Selling Partner API](https://developer-docs.amazon.com/sp-api/docs/usage-plans-and-rate-limits-in-the-sp-api). ", + "operationId": "listShipmentPallets" } }, - "/inbound/fba/2024-03-20/inboundPlans/{inboundPlanId}/shipments/{shipmentId}/deliveryWindow": { - "post": { + "/inbound/fba/2024-03-20/inboundPlans/{inboundPlanId}/shipments/{shipmentId}/selfShipAppointmentCancellation": { + "put": { "consumes": [ "application/json" ], @@ -4053,7 +7224,7 @@ ], "parameters": [ { - "description": "Identifier to an inbound plan.", + "description": "Identifier of an inbound plan.", "in": "path", "maxLength": 38, "minLength": 38, @@ -4063,7 +7234,7 @@ "type": "string" }, { - "description": "Identifier to a shipment. A shipment contains the boxes and units being inbounded.", + "description": "Identifier of a shipment. A shipment contains the boxes and units being inbounded.", "in": "path", "maxLength": 38, "minLength": 38, @@ -4077,16 +7248,16 @@ "name": "body", "required": true, "schema": { - "$ref": "#/definitions/UpdateShipmentDeliveryWindowRequest" + "$ref": "#/definitions/CancelSelfShipAppointmentRequest" }, - "description": "The body of the request to `updateShipmentDeliveryWindow`." + "description": "The body of the request to `cancelSelfShipAppointment`." } ], "responses": { "202": { - "description": "UpdateShipmentDeliveryWindow 202 response", + "description": "CancelSelfShipAppointment 202 response", "schema": { - "$ref": "#/definitions/UpdateShipmentDeliveryWindowResponse" + "$ref": "#/definitions/CancelSelfShipAppointmentResponse" }, "x-amzn-api-sandbox": { "static": [ @@ -4101,9 +7272,7 @@ }, "body": { "value": { - "deliveryWindow": { - "start": "2024-01-01T00:00Z" - } + "reasonComment": "OTHER" } } } @@ -4143,9 +7312,7 @@ }, "body": { "value": { - "deliveryWindow": { - "start": "2024-01-01T00:00Z" - } + "reasonComment": "OTHER" } } } @@ -4172,8 +7339,8 @@ } } }, - "500": { - "description": "An unexpected condition occurred that prevented the server from fulfilling the request.", + "404": { + "description": "The resource specified does not exist.", "schema": { "$ref": "#/definitions/ErrorList" }, @@ -4181,11 +7348,15 @@ "x-amzn-RequestId": { "description": "Unique request reference identifier.", "type": "string" + }, + "x-amzn-RateLimit-Limit": { + "description": "Your rate limit (requests per second) for this operation.", + "type": "string" } } }, - "403": { - "description": "Indicates that access to the resource is forbidden. Possible reasons include Access Denied, Unauthorized, Expired Token, or Invalid Signature.", + "500": { + "description": "An unexpected condition occurred that prevented the server from fulfilling the request.", "schema": { "$ref": "#/definitions/ErrorList" }, @@ -4196,8 +7367,8 @@ } } }, - "404": { - "description": "The resource specified does not exist.", + "403": { + "description": "Indicates that access to the resource is forbidden. Possible reasons include Access Denied, Unauthorized, Expired Token, or Invalid Signature.", "schema": { "$ref": "#/definitions/ErrorList" }, @@ -4205,10 +7376,6 @@ "x-amzn-RequestId": { "description": "Unique request reference identifier.", "type": "string" - }, - "x-amzn-RateLimit-Limit": { - "description": "Your rate limit (requests per second) for this operation.", - "type": "string" } } }, @@ -4264,8 +7431,8 @@ "tags": [ "fbaInbound" ], - "description": "Update the time window that a shipment will be delivered to the warehouse. The window is used to provide the expected time that a non-Amazon partnered carrier will arrive at the warehouse.\n\n**Usage Plan:**\n\n| Rate (requests per second) | Burst |\n| ---- | ---- |\n| 1 | 1 |\n\nThe `x-amzn-RateLimit-Limit` response header returns the usage plan rate limits that were applied to the requested operation, when available. The table above indicates the default rate and burst values for this operation. Selling partners whose business demands require higher throughput may see higher rate and burst values than those shown here. For more information, refer to [Usage Plans and Rate Limits in the Selling Partner API](https://developer-docs.amazon.com/sp-api/docs/usage-plans-and-rate-limits-in-the-sp-api).", - "operationId": "updateShipmentDeliveryWindow" + "description": "Cancels a self-ship appointment slot against a shipment.\n\n**Usage Plan:**\n\n| Rate (requests per second) | Burst |\n| ---- | ---- |\n| 2 | 30 |\n\nThe `x-amzn-RateLimit-Limit` response header returns the usage plan rate limits that were applied to the requested operation, when available. The table above indicates the default rate and burst values for this operation. Selling partners whose business demands require higher throughput may see higher rate and burst values than those shown here. For more information, refer to [Usage Plans and Rate Limits in the Selling Partner API](https://developer-docs.amazon.com/sp-api/docs/usage-plans-and-rate-limits-in-the-sp-api). ", + "operationId": "cancelSelfShipAppointment" } }, "/inbound/fba/2024-03-20/inboundPlans/{inboundPlanId}/shipments/{shipmentId}/selfShipAppointmentSlots": { @@ -4275,7 +7442,7 @@ ], "parameters": [ { - "description": "Identifier to an inbound plan.", + "description": "Identifier of an inbound plan.", "in": "path", "maxLength": 38, "minLength": 38, @@ -4285,7 +7452,7 @@ "type": "string" }, { - "description": "Identifier to a shipment. A shipment contains the boxes and units being inbounded.", + "description": "Identifier of a shipment. A shipment contains the boxes and units being inbounded.", "in": "path", "maxLength": 38, "minLength": 38, @@ -4408,6 +7575,22 @@ } } }, + "404": { + "description": "The resource specified does not exist.", + "schema": { + "$ref": "#/definitions/ErrorList" + }, + "headers": { + "x-amzn-RequestId": { + "description": "Unique request reference identifier.", + "type": "string" + }, + "x-amzn-RateLimit-Limit": { + "description": "Your rate limit (requests per second) for this operation.", + "type": "string" + } + } + }, "500": { "description": "An unexpected condition occurred that prevented the server from fulfilling the request.", "schema": { @@ -4432,22 +7615,6 @@ } } }, - "404": { - "description": "The resource specified does not exist.", - "schema": { - "$ref": "#/definitions/ErrorList" - }, - "headers": { - "x-amzn-RequestId": { - "description": "Unique request reference identifier.", - "type": "string" - }, - "x-amzn-RateLimit-Limit": { - "description": "Your rate limit (requests per second) for this operation.", - "type": "string" - } - } - }, "413": { "description": "The request size exceeded the maximum accepted size.", "schema": { @@ -4500,7 +7667,7 @@ "tags": [ "fbaInbound" ], - "description": "Retrieves a list of available self-ship appointment slots used to drop off a shipment at a warehouse.\n\n**Usage Plan:**\n\n| Rate (requests per second) | Burst |\n| ---- | ---- |\n| 1 | 1 |\n\nThe `x-amzn-RateLimit-Limit` response header returns the usage plan rate limits that were applied to the requested operation, when available. The table above indicates the default rate and burst values for this operation. Selling partners whose business demands require higher throughput may see higher rate and burst values than those shown here. For more information, refer to [Usage Plans and Rate Limits in the Selling Partner API](https://developer-docs.amazon.com/sp-api/docs/usage-plans-and-rate-limits-in-the-sp-api).", + "description": "Retrieves a list of available self-ship appointment slots used to drop off a shipment at a warehouse.\n\n**Usage Plan:**\n\n| Rate (requests per second) | Burst |\n| ---- | ---- |\n| 2 | 6 |\n\nThe `x-amzn-RateLimit-Limit` response header returns the usage plan rate limits that were applied to the requested operation, when available. The table above indicates the default rate and burst values for this operation. Selling partners whose business demands require higher throughput may see higher rate and burst values than those shown here. For more information, refer to [Usage Plans and Rate Limits in the Selling Partner API](https://developer-docs.amazon.com/sp-api/docs/usage-plans-and-rate-limits-in-the-sp-api). ", "operationId": "getSelfShipAppointmentSlots" }, "post": { @@ -4512,7 +7679,7 @@ ], "parameters": [ { - "description": "Identifier to an inbound plan.", + "description": "Identifier of an inbound plan.", "in": "path", "maxLength": 38, "minLength": 38, @@ -4522,7 +7689,7 @@ "type": "string" }, { - "description": "Identifier to a shipment. A shipment contains the boxes and units being inbounded.", + "description": "Identifier of a shipment. A shipment contains the boxes and units being inbounded.", "in": "path", "maxLength": 38, "minLength": 38, @@ -4538,7 +7705,7 @@ "schema": { "$ref": "#/definitions/GenerateSelfShipAppointmentSlotsRequest" }, - "description": "The body of the request `generateSelfShipAppointmentSlots`." + "description": "The body of the request to `generateSelfShipAppointmentSlots`." } ], "responses": { @@ -4629,8 +7796,8 @@ } } }, - "500": { - "description": "An unexpected condition occurred that prevented the server from fulfilling the request.", + "404": { + "description": "The resource specified does not exist.", "schema": { "$ref": "#/definitions/ErrorList" }, @@ -4638,11 +7805,15 @@ "x-amzn-RequestId": { "description": "Unique request reference identifier.", "type": "string" + }, + "x-amzn-RateLimit-Limit": { + "description": "Your rate limit (requests per second) for this operation.", + "type": "string" } } }, - "403": { - "description": "Indicates that access to the resource is forbidden. Possible reasons include Access Denied, Unauthorized, Expired Token, or Invalid Signature.", + "500": { + "description": "An unexpected condition occurred that prevented the server from fulfilling the request.", "schema": { "$ref": "#/definitions/ErrorList" }, @@ -4653,8 +7824,8 @@ } } }, - "404": { - "description": "The resource specified does not exist.", + "403": { + "description": "Indicates that access to the resource is forbidden. Possible reasons include Access Denied, Unauthorized, Expired Token, or Invalid Signature.", "schema": { "$ref": "#/definitions/ErrorList" }, @@ -4662,10 +7833,6 @@ "x-amzn-RequestId": { "description": "Unique request reference identifier.", "type": "string" - }, - "x-amzn-RateLimit-Limit": { - "description": "Your rate limit (requests per second) for this operation.", - "type": "string" } } }, @@ -4721,12 +7888,12 @@ "tags": [ "fbaInbound" ], - "description": "Initiates the process of generating the appointment slots list.\n\n**Usage Plan:**\n\n| Rate (requests per second) | Burst |\n| ---- | ---- |\n| 1 | 1 |\n\nThe `x-amzn-RateLimit-Limit` response header returns the usage plan rate limits that were applied to the requested operation, when available. The table above indicates the default rate and burst values for this operation. Selling partners whose business demands require higher throughput may see higher rate and burst values than those shown here. For more information, refer to [Usage Plans and Rate Limits in the Selling Partner API](https://developer-docs.amazon.com/sp-api/docs/usage-plans-and-rate-limits-in-the-sp-api).", + "description": "Initiates the process of generating the appointment slots list.\n\n**Usage Plan:**\n\n| Rate (requests per second) | Burst |\n| ---- | ---- |\n| 2 | 2 |\n\nThe `x-amzn-RateLimit-Limit` response header returns the usage plan rate limits that were applied to the requested operation, when available. The table above indicates the default rate and burst values for this operation. Selling partners whose business demands require higher throughput may see higher rate and burst values than those shown here. For more information, refer to [Usage Plans and Rate Limits in the Selling Partner API](https://developer-docs.amazon.com/sp-api/docs/usage-plans-and-rate-limits-in-the-sp-api). ", "operationId": "generateSelfShipAppointmentSlots" } }, - "/inbound/fba/2024-03-20/inboundPlans/{inboundPlanId}/shipments/{shipmentId}/selfShipAppointmentSlots/{slotId}/cancellation": { - "put": { + "/inbound/fba/2024-03-20/inboundPlans/{inboundPlanId}/shipments/{shipmentId}/selfShipAppointmentSlots/{slotId}/schedule": { + "post": { "consumes": [ "application/json" ], @@ -4735,7 +7902,7 @@ ], "parameters": [ { - "description": "Identifier to an inbound plan.", + "description": "Identifier of an inbound plan.", "in": "path", "maxLength": 38, "minLength": 38, @@ -4745,7 +7912,7 @@ "type": "string" }, { - "description": "Identifier to a shipment. A shipment contains the boxes and units being inbounded.", + "description": "Identifier of a shipment. A shipment contains the boxes and units being inbounded.", "in": "path", "maxLength": 38, "minLength": 38, @@ -4755,7 +7922,7 @@ "type": "string" }, { - "description": "Identifier to a self-ship appointment slot.", + "description": "An identifier to a self-ship appointment slot.", "in": "path", "maxLength": 38, "minLength": 38, @@ -4769,16 +7936,16 @@ "name": "body", "required": true, "schema": { - "$ref": "#/definitions/CancelSelfShipAppointmentRequest" + "$ref": "#/definitions/ScheduleSelfShipAppointmentRequest" }, - "description": "The body of the request to `cancelSelfShipAppointment`." + "description": "The body of the request to `scheduleSelfShipAppointment`." } ], "responses": { - "202": { - "description": "CancelSelfShipAppointment 202 response", + "200": { + "description": "ScheduleSelfShipAppointment 200 response", "schema": { - "$ref": "#/definitions/CancelSelfShipAppointmentResponse" + "$ref": "#/definitions/ScheduleSelfShipAppointmentResponse" }, "x-amzn-api-sandbox": { "static": [ @@ -4802,7 +7969,14 @@ } }, "response": { - "operationId": "1234abcd-1234-abcd-5678-1234abcd5678" + "selfShipAppointmentDetails": { + "appointmentId": 1000, + "appointmentSlotTime": { + "startTime": "2023-03-08T13:15:30Z", + "endTime": "2023-03-09T13:15:30Z" + }, + "appointmentStatus": "ARRIVAL_SCHEDULED" + } } } ] @@ -4866,8 +8040,8 @@ } } }, - "500": { - "description": "An unexpected condition occurred that prevented the server from fulfilling the request.", + "404": { + "description": "The resource specified does not exist.", "schema": { "$ref": "#/definitions/ErrorList" }, @@ -4875,11 +8049,15 @@ "x-amzn-RequestId": { "description": "Unique request reference identifier.", "type": "string" + }, + "x-amzn-RateLimit-Limit": { + "description": "Your rate limit (requests per second) for this operation.", + "type": "string" } } }, - "403": { - "description": "Indicates that access to the resource is forbidden. Possible reasons include Access Denied, Unauthorized, Expired Token, or Invalid Signature.", + "500": { + "description": "An unexpected condition occurred that prevented the server from fulfilling the request.", "schema": { "$ref": "#/definitions/ErrorList" }, @@ -4890,8 +8068,8 @@ } } }, - "404": { - "description": "The resource specified does not exist.", + "403": { + "description": "Indicates that access to the resource is forbidden. Possible reasons include Access Denied, Unauthorized, Expired Token, or Invalid Signature.", "schema": { "$ref": "#/definitions/ErrorList" }, @@ -4899,10 +8077,6 @@ "x-amzn-RequestId": { "description": "Unique request reference identifier.", "type": "string" - }, - "x-amzn-RateLimit-Limit": { - "description": "Your rate limit (requests per second) for this operation.", - "type": "string" } } }, @@ -4958,12 +8132,12 @@ "tags": [ "fbaInbound" ], - "description": "Cancels a self-ship appointment slot against a shipment.\n\n**Usage Plan:**\n\n| Rate (requests per second) | Burst |\n| ---- | ---- |\n| 1 | 1 |\n\nThe `x-amzn-RateLimit-Limit` response header returns the usage plan rate limits that were applied to the requested operation, when available. The table above indicates the default rate and burst values for this operation. Selling partners whose business demands require higher throughput may see higher rate and burst values than those shown here. For more information, refer to [Usage Plans and Rate Limits in the Selling Partner API](https://developer-docs.amazon.com/sp-api/docs/usage-plans-and-rate-limits-in-the-sp-api).", - "operationId": "cancelSelfShipAppointment" + "description": "Confirms or reschedules a self-ship appointment slot against a shipment.\n\n**Usage Plan:**\n\n| Rate (requests per second) | Burst |\n| ---- | ---- |\n| 2 | 2 |\n\nThe `x-amzn-RateLimit-Limit` response header returns the usage plan rate limits that were applied to the requested operation, when available. The table above indicates the default rate and burst values for this operation. Selling partners whose business demands require higher throughput may see higher rate and burst values than those shown here. For more information, refer to [Usage Plans and Rate Limits in the Selling Partner API](https://developer-docs.amazon.com/sp-api/docs/usage-plans-and-rate-limits-in-the-sp-api). ", + "operationId": "scheduleSelfShipAppointment" } }, - "/inbound/fba/2024-03-20/inboundPlans/{inboundPlanId}/shipments/{shipmentId}/selfShipAppointmentSlots/{slotId}/schedule": { - "post": { + "/inbound/fba/2024-03-20/inboundPlans/{inboundPlanId}/shipments/{shipmentId}/sourceAddress": { + "put": { "consumes": [ "application/json" ], @@ -4972,7 +8146,7 @@ ], "parameters": [ { - "description": "Identifier to an inbound plan.", + "description": "Identifier of an inbound plan.", "in": "path", "maxLength": 38, "minLength": 38, @@ -4982,7 +8156,7 @@ "type": "string" }, { - "description": "Identifier to a shipment. A shipment contains the boxes and units being inbounded.", + "description": "Identifier of a shipment. A shipment contains the boxes and units being inbounded.", "in": "path", "maxLength": 38, "minLength": 38, @@ -4991,31 +8165,21 @@ "required": true, "type": "string" }, - { - "description": "Identifier to a self-ship appointment slot.", - "in": "path", - "maxLength": 38, - "minLength": 38, - "name": "slotId", - "pattern": "^[a-zA-Z0-9-]*$", - "required": true, - "type": "string" - }, { "in": "body", "name": "body", "required": true, "schema": { - "$ref": "#/definitions/ScheduleSelfShipAppointmentRequest" + "$ref": "#/definitions/UpdateShipmentSourceAddressRequest" }, - "description": "The body of the request to `scheduleSelfShipAppointment`." + "description": "The body of the request to `updateShipmentSourceAddress`." } ], "responses": { - "200": { - "description": "ScheduleSelfShipAppointment 200 response", + "202": { + "description": "UpdateShipmentSourceAddress 202 response", "schema": { - "$ref": "#/definitions/ScheduleSelfShipAppointmentResponse" + "$ref": "#/definitions/UpdateShipmentSourceAddressResponse" }, "x-amzn-api-sandbox": { "static": [ @@ -5028,25 +8192,26 @@ "shipmentId": { "value": "sh1234abcd-1234-abcd-5678-1234abcd5678" }, - "slotId": { - "value": "aa1234abcd-1234-abcd-5678-1234abcd5678" - }, "body": { "value": { - "reasonComment": "OTHER" + "address": { + "name": "name", + "companyName": "Acme", + "addressLine1": "123 example street", + "addressLine2": "Unit 102", + "city": "Toronto", + "countryCode": "CA", + "stateOrProvinceCode": "ON", + "postalCode": "M1M1M1", + "phoneNumber": "1234567890", + "email": "email@email.com" + } } } } }, "response": { - "selfShipAppointmentDetails": { - "appointmentId": 1000, - "appointmentSlotTime": { - "startTime": "2023-03-08T13:15:30Z", - "endTime": "2023-03-09T13:15:30Z" - }, - "appointmentStatus": "ARRIVAL_SCHEDULED" - } + "operationId": "1234abcd-1234-abcd-5678-1234abcd5678" } } ] @@ -5078,12 +8243,20 @@ "shipmentId": { "value": "bad234abcd-1234-abcd-5678-1234abcd5678" }, - "slotId": { - "value": "aa1234abcd-1234-abcd-5678-1234abcd5678" - }, "body": { "value": { - "reasonComment": "OTHER" + "address": { + "name": "name", + "companyName": "Acme", + "addressLine1": "123 example street", + "addressLine2": "Unit 102", + "city": "Toronto", + "countryCode": "CA", + "stateOrProvinceCode": "ON", + "postalCode": "M1M1M1", + "phoneNumber": "1234567890", + "email": "email@email.com" + } } } } @@ -5110,8 +8283,8 @@ } } }, - "500": { - "description": "An unexpected condition occurred that prevented the server from fulfilling the request.", + "404": { + "description": "The resource specified does not exist.", "schema": { "$ref": "#/definitions/ErrorList" }, @@ -5119,11 +8292,15 @@ "x-amzn-RequestId": { "description": "Unique request reference identifier.", "type": "string" + }, + "x-amzn-RateLimit-Limit": { + "description": "Your rate limit (requests per second) for this operation.", + "type": "string" } } }, - "403": { - "description": "Indicates that access to the resource is forbidden. Possible reasons include Access Denied, Unauthorized, Expired Token, or Invalid Signature.", + "500": { + "description": "An unexpected condition occurred that prevented the server from fulfilling the request.", "schema": { "$ref": "#/definitions/ErrorList" }, @@ -5134,8 +8311,8 @@ } } }, - "404": { - "description": "The resource specified does not exist.", + "403": { + "description": "Indicates that access to the resource is forbidden. Possible reasons include Access Denied, Unauthorized, Expired Token, or Invalid Signature.", "schema": { "$ref": "#/definitions/ErrorList" }, @@ -5143,10 +8320,6 @@ "x-amzn-RequestId": { "description": "Unique request reference identifier.", "type": "string" - }, - "x-amzn-RateLimit-Limit": { - "description": "Your rate limit (requests per second) for this operation.", - "type": "string" } } }, @@ -5202,8 +8375,8 @@ "tags": [ "fbaInbound" ], - "description": "Confirms or reschedules a self-ship appointment slot against a shipment.\n\n**Usage Plan:**\n\n| Rate (requests per second) | Burst |\n| ---- | ---- |\n| 1 | 1 |\n\nThe `x-amzn-RateLimit-Limit` response header returns the usage plan rate limits that were applied to the requested operation, when available. The table above indicates the default rate and burst values for this operation. Selling partners whose business demands require higher throughput may see higher rate and burst values than those shown here. For more information, refer to [Usage Plans and Rate Limits in the Selling Partner API](https://developer-docs.amazon.com/sp-api/docs/usage-plans-and-rate-limits-in-the-sp-api).", - "operationId": "scheduleSelfShipAppointment" + "description": "Updates the source address of an existing shipment. The shipment source address can only be updated prior to the confirmation of the shipment carriers. As a result of the updated source address, existing transportation options will be invalidated and will need to be regenerated to capture the potential difference in transportation options and quotes due to the new source address.\n\n**Usage Plan:**\n\n| Rate (requests per second) | Burst |\n| ---- | ---- |\n| 2 | 30 |\n\nThe `x-amzn-RateLimit-Limit` response header returns the usage plan rate limits that were applied to the requested operation, when available. The table above indicates the default rate and burst values for this operation. Selling partners whose business demands require higher throughput may see higher rate and burst values than those shown here. For more information, refer to [Usage Plans and Rate Limits in the Selling Partner API](https://developer-docs.amazon.com/sp-api/docs/usage-plans-and-rate-limits-in-the-sp-api). ", + "operationId": "updateShipmentSourceAddress" } }, "/inbound/fba/2024-03-20/inboundPlans/{inboundPlanId}/shipments/{shipmentId}/trackingDetails": { @@ -5216,7 +8389,7 @@ ], "parameters": [ { - "description": "Identifier to an inbound plan.", + "description": "Identifier of an inbound plan.", "in": "path", "maxLength": 38, "minLength": 38, @@ -5226,7 +8399,7 @@ "type": "string" }, { - "description": "Identifier to a shipment. A shipment contains the boxes and units being inbounded.", + "description": "Identifier of a shipment. A shipment contains the boxes and units being inbounded.", "in": "path", "maxLength": 38, "minLength": 38, @@ -5361,8 +8534,8 @@ } } }, - "500": { - "description": "An unexpected condition occurred that prevented the server from fulfilling the request.", + "404": { + "description": "The resource specified does not exist.", "schema": { "$ref": "#/definitions/ErrorList" }, @@ -5370,11 +8543,15 @@ "x-amzn-RequestId": { "description": "Unique request reference identifier.", "type": "string" + }, + "x-amzn-RateLimit-Limit": { + "description": "Your rate limit (requests per second) for this operation.", + "type": "string" } } }, - "403": { - "description": "Indicates that access to the resource is forbidden. Possible reasons include Access Denied, Unauthorized, Expired Token, or Invalid Signature.", + "500": { + "description": "An unexpected condition occurred that prevented the server from fulfilling the request.", "schema": { "$ref": "#/definitions/ErrorList" }, @@ -5385,8 +8562,8 @@ } } }, - "404": { - "description": "The resource specified does not exist.", + "403": { + "description": "Indicates that access to the resource is forbidden. Possible reasons include Access Denied, Unauthorized, Expired Token, or Invalid Signature.", "schema": { "$ref": "#/definitions/ErrorList" }, @@ -5394,10 +8571,6 @@ "x-amzn-RequestId": { "description": "Unique request reference identifier.", "type": "string" - }, - "x-amzn-RateLimit-Limit": { - "description": "Your rate limit (requests per second) for this operation.", - "type": "string" } } }, @@ -5453,7 +8626,7 @@ "tags": [ "fbaInbound" ], - "description": "Updates a shipment's tracking details.\n\n**Usage Plan:**\n\n| Rate (requests per second) | Burst |\n| ---- | ---- |\n| 1 | 1 |\n\nThe `x-amzn-RateLimit-Limit` response header returns the usage plan rate limits that were applied to the requested operation, when available. The table above indicates the default rate and burst values for this operation. Selling partners whose business demands require higher throughput may see higher rate and burst values than those shown here. For more information, refer to [Usage Plans and Rate Limits in the Selling Partner API](https://developer-docs.amazon.com/sp-api/docs/usage-plans-and-rate-limits-in-the-sp-api).", + "description": "Updates a shipment's tracking details.\n\n**Usage Plan:**\n\n| Rate (requests per second) | Burst |\n| ---- | ---- |\n| 2 | 2 |\n\nThe `x-amzn-RateLimit-Limit` response header returns the usage plan rate limits that were applied to the requested operation, when available. The table above indicates the default rate and burst values for this operation. Selling partners whose business demands require higher throughput may see higher rate and burst values than those shown here. For more information, refer to [Usage Plans and Rate Limits in the Selling Partner API](https://developer-docs.amazon.com/sp-api/docs/usage-plans-and-rate-limits-in-the-sp-api). ", "operationId": "updateShipmentTrackingDetails" } }, @@ -5464,7 +8637,7 @@ ], "parameters": [ { - "description": "Identifier to an inbound plan.", + "description": "Identifier of an inbound plan.", "in": "path", "maxLength": 38, "minLength": 38, @@ -5491,7 +8664,7 @@ "type": "string" }, { - "description": "The placement option to get transportation options for. Either placementOptionId or shipmentId must be specified.", + "description": "The placement option to get transportation options for. Either `placementOptionId` or `shipmentId` must be specified.", "in": "query", "maxLength": 38, "minLength": 38, @@ -5500,7 +8673,7 @@ "type": "string" }, { - "description": "The shipment to get transportation options for. Either placementOptionId or shipmentId must be specified.", + "description": "The shipment to get transportation options for. Either `placementOptionId` or `shipmentId` must be specified.", "in": "query", "maxLength": 38, "minLength": 38, @@ -5540,8 +8713,6 @@ "response": { "transportationOptions": [ { - "inboundPlanId": "wf1234abcd-1234-abcd-5678-1234abcd5678", - "placementOptionId": "pl1234abcd-1234-abcd-5678-1234abcd5678", "shipmentId": "sh1234abcd-1234-abcd-5678-1234abcd5678", "transportationOptionId": "to1234abcd-1234-abcd-5678-1234abcd5678", "shippingSolution": "AMAZON_PARTNERED_CARRIER", @@ -5558,13 +8729,13 @@ "voidableUntil": "2024-01-01T00:00:00.000Z", "expiration": "2024-01-01T00:00:00.000Z" }, - "appointmentSlot": { - "slotId": "aa1234abcd-1234-abcd-5678-1234abcd5678", - "slotTime": { - "startTime": "2024-01-01T00:00Z", - "endTime": "2024-01-01T00:00Z" - } - } + "carrierAppointment": { + "startTime": "2024-01-01T00:00:00.000Z", + "endTime": "2024-01-02T00:00:00.000Z" + }, + "preconditions": [ + "CONFIRMED_DELIVERY_WINDOW" + ] } ], "pagination": { @@ -5634,8 +8805,8 @@ } } }, - "500": { - "description": "An unexpected condition occurred that prevented the server from fulfilling the request.", + "404": { + "description": "The resource specified does not exist.", "schema": { "$ref": "#/definitions/ErrorList" }, @@ -5643,11 +8814,15 @@ "x-amzn-RequestId": { "description": "Unique request reference identifier.", "type": "string" + }, + "x-amzn-RateLimit-Limit": { + "description": "Your rate limit (requests per second) for this operation.", + "type": "string" } } }, - "403": { - "description": "Indicates that access to the resource is forbidden. Possible reasons include Access Denied, Unauthorized, Expired Token, or Invalid Signature.", + "500": { + "description": "An unexpected condition occurred that prevented the server from fulfilling the request.", "schema": { "$ref": "#/definitions/ErrorList" }, @@ -5658,8 +8833,8 @@ } } }, - "404": { - "description": "The resource specified does not exist.", + "403": { + "description": "Indicates that access to the resource is forbidden. Possible reasons include Access Denied, Unauthorized, Expired Token, or Invalid Signature.", "schema": { "$ref": "#/definitions/ErrorList" }, @@ -5667,10 +8842,6 @@ "x-amzn-RequestId": { "description": "Unique request reference identifier.", "type": "string" - }, - "x-amzn-RateLimit-Limit": { - "description": "Your rate limit (requests per second) for this operation.", - "type": "string" } } }, @@ -5726,7 +8897,7 @@ "tags": [ "fbaInbound" ], - "description": "Retrieves all transportation options for a shipment. Transportation options must first be generated by the corresponding endpoint before becoming available.\n\n**Usage Plan:**\n\n| Rate (requests per second) | Burst |\n| ---- | ---- |\n| 1 | 1 |\n\nThe `x-amzn-RateLimit-Limit` response header returns the usage plan rate limits that were applied to the requested operation, when available. The table above indicates the default rate and burst values for this operation. Selling partners whose business demands require higher throughput may see higher rate and burst values than those shown here. For more information, refer to [Usage Plans and Rate Limits in the Selling Partner API](https://developer-docs.amazon.com/sp-api/docs/usage-plans-and-rate-limits-in-the-sp-api).", + "description": "Retrieves all transportation options for a shipment. Transportation options must first be generated by the `generateTransportationOptions` operation before becoming available.\n\n**Usage Plan:**\n\n| Rate (requests per second) | Burst |\n| ---- | ---- |\n| 2 | 6 |\n\nThe `x-amzn-RateLimit-Limit` response header returns the usage plan rate limits that were applied to the requested operation, when available. The table above indicates the default rate and burst values for this operation. Selling partners whose business demands require higher throughput may see higher rate and burst values than those shown here. For more information, refer to [Usage Plans and Rate Limits in the Selling Partner API](https://developer-docs.amazon.com/sp-api/docs/usage-plans-and-rate-limits-in-the-sp-api). ", "operationId": "listTransportationOptions" }, "post": { @@ -5738,7 +8909,7 @@ ], "parameters": [ { - "description": "Identifier to an inbound plan.", + "description": "Identifier of an inbound plan.", "in": "path", "maxLength": 38, "minLength": 38, @@ -5785,29 +8956,29 @@ "phoneNumber": "1234567890", "email": "email@email.com" }, - "palletInformation": { - "pallets": [ - { - "stackability": "STACKABLE", - "weight": { - "unit": "KG", - "value": 5.5 - }, - "dimensions": { - "unitOfMeasurement": "CM", - "length": 3.0, - "width": 4.0, - "height": 5.0 - }, - "quantity": 2 - } - ], + "freightInformation": { "freightClass": "FC_50", "declaredValue": { "code": "USD", "amount": 500.0 } - } + }, + "pallets": [ + { + "stackability": "STACKABLE", + "weight": { + "unit": "KG", + "value": 5.5 + }, + "dimensions": { + "unitOfMeasurement": "CM", + "length": 3.0, + "width": 4.0, + "height": 5.0 + }, + "quantity": 2 + } + ] } ] } @@ -5858,29 +9029,29 @@ "phoneNumber": "1234567890", "email": "email@email.com" }, - "palletInformation": { - "pallets": [ - { - "stackability": "STACKABLE", - "weight": { - "unit": "KG", - "value": 5.5 - }, - "dimensions": { - "unitOfMeasurement": "CM", - "length": 3.0, - "width": 4.0, - "height": 5.0 - }, - "quantity": 2 - } - ], + "freightInformation": { "freightClass": "FC_50", "declaredValue": { "code": "USD", "amount": 500.0 } - } + }, + "pallets": [ + { + "stackability": "STACKABLE", + "weight": { + "unit": "KG", + "value": 5.5 + }, + "dimensions": { + "unitOfMeasurement": "CM", + "length": 3.0, + "width": 4.0, + "height": 5.0 + }, + "quantity": 2 + } + ] } ] } @@ -5909,8 +9080,8 @@ } } }, - "500": { - "description": "An unexpected condition occurred that prevented the server from fulfilling the request.", + "404": { + "description": "The resource specified does not exist.", "schema": { "$ref": "#/definitions/ErrorList" }, @@ -5918,11 +9089,15 @@ "x-amzn-RequestId": { "description": "Unique request reference identifier.", "type": "string" + }, + "x-amzn-RateLimit-Limit": { + "description": "Your rate limit (requests per second) for this operation.", + "type": "string" } } }, - "403": { - "description": "Indicates that access to the resource is forbidden. Possible reasons include Access Denied, Unauthorized, Expired Token, or Invalid Signature.", + "500": { + "description": "An unexpected condition occurred that prevented the server from fulfilling the request.", "schema": { "$ref": "#/definitions/ErrorList" }, @@ -5933,8 +9108,8 @@ } } }, - "404": { - "description": "The resource specified does not exist.", + "403": { + "description": "Indicates that access to the resource is forbidden. Possible reasons include Access Denied, Unauthorized, Expired Token, or Invalid Signature.", "schema": { "$ref": "#/definitions/ErrorList" }, @@ -5942,10 +9117,6 @@ "x-amzn-RequestId": { "description": "Unique request reference identifier.", "type": "string" - }, - "x-amzn-RateLimit-Limit": { - "description": "Your rate limit (requests per second) for this operation.", - "type": "string" } } }, @@ -6001,7 +9172,7 @@ "tags": [ "fbaInbound" ], - "description": "Generates available transportation options for a given placement option.\n\n**Usage Plan:**\n\n| Rate (requests per second) | Burst |\n| ---- | ---- |\n| 0.05 | 1 |\n\nThe `x-amzn-RateLimit-Limit` response header returns the usage plan rate limits that were applied to the requested operation, when available. The table above indicates the default rate and burst values for this operation. Selling partners whose business demands require higher throughput may see higher rate and burst values than those shown here. For more information, refer to [Usage Plans and Rate Limits in the Selling Partner API](https://developer-docs.amazon.com/sp-api/docs/usage-plans-and-rate-limits-in-the-sp-api).", + "description": "Generates available transportation options for a given placement option.\n\n**Usage Plan:**\n\n| Rate (requests per second) | Burst |\n| ---- | ---- |\n| 2 | 2 |\n\nThe `x-amzn-RateLimit-Limit` response header returns the usage plan rate limits that were applied to the requested operation, when available. The table above indicates the default rate and burst values for this operation. Selling partners whose business demands require higher throughput may see higher rate and burst values than those shown here. For more information, refer to [Usage Plans and Rate Limits in the Selling Partner API](https://developer-docs.amazon.com/sp-api/docs/usage-plans-and-rate-limits-in-the-sp-api). ", "operationId": "generateTransportationOptions" } }, @@ -6015,7 +9186,7 @@ ], "parameters": [ { - "description": "Identifier to an inbound plan.", + "description": "Identifier of an inbound plan.", "in": "path", "maxLength": 38, "minLength": 38, @@ -6058,9 +9229,6 @@ "name": "name", "phoneNumber": "1234567890", "email": "email@email.com" - }, - "deliveryWindow": { - "start": "2024-01-01T00:00Z" } } ] @@ -6107,10 +9275,7 @@ "contactInformation": { "name": "name", "phoneNumber": "1234567890", - "email": "email@email.com" - }, - "deliveryWindow": { - "start": "2024-01-01T00:00Z" + "email": "email@email.com" } } ] @@ -6140,8 +9305,8 @@ } } }, - "500": { - "description": "An unexpected condition occurred that prevented the server from fulfilling the request.", + "404": { + "description": "The resource specified does not exist.", "schema": { "$ref": "#/definitions/ErrorList" }, @@ -6149,11 +9314,15 @@ "x-amzn-RequestId": { "description": "Unique request reference identifier.", "type": "string" + }, + "x-amzn-RateLimit-Limit": { + "description": "Your rate limit (requests per second) for this operation.", + "type": "string" } } }, - "403": { - "description": "Indicates that access to the resource is forbidden. Possible reasons include Access Denied, Unauthorized, Expired Token, or Invalid Signature.", + "500": { + "description": "An unexpected condition occurred that prevented the server from fulfilling the request.", "schema": { "$ref": "#/definitions/ErrorList" }, @@ -6164,8 +9333,8 @@ } } }, - "404": { - "description": "The resource specified does not exist.", + "403": { + "description": "Indicates that access to the resource is forbidden. Possible reasons include Access Denied, Unauthorized, Expired Token, or Invalid Signature.", "schema": { "$ref": "#/definitions/ErrorList" }, @@ -6173,10 +9342,6 @@ "x-amzn-RequestId": { "description": "Unique request reference identifier.", "type": "string" - }, - "x-amzn-RateLimit-Limit": { - "description": "Your rate limit (requests per second) for this operation.", - "type": "string" } } }, @@ -6232,7 +9397,7 @@ "tags": [ "fbaInbound" ], - "description": "Confirms all the transportation options for an inbound plan. A placement option must be confirmed prior to use of this API. Once confirmed, new transportation options can not be generated or confirmed for the Inbound Plan.\n\n**Usage Plan:**\n\n| Rate (requests per second) | Burst |\n| ---- | ---- |\n| 0.05 | 1 |\n\nThe `x-amzn-RateLimit-Limit` response header returns the usage plan rate limits that were applied to the requested operation, when available. The table above indicates the default rate and burst values for this operation. Selling partners whose business demands require higher throughput may see higher rate and burst values than those shown here. For more information, refer to [Usage Plans and Rate Limits in the Selling Partner API](https://developer-docs.amazon.com/sp-api/docs/usage-plans-and-rate-limits-in-the-sp-api).", + "description": "Confirms all the transportation options for an inbound plan. A placement option must be confirmed prior to use of this API. Once confirmed, new transportation options can not be generated or confirmed for the Inbound Plan.\n\n**Usage Plan:**\n\n| Rate (requests per second) | Burst |\n| ---- | ---- |\n| 2 | 2 |\n\nThe `x-amzn-RateLimit-Limit` response header returns the usage plan rate limits that were applied to the requested operation, when available. The table above indicates the default rate and burst values for this operation. Selling partners whose business demands require higher throughput may see higher rate and burst values than those shown here. For more information, refer to [Usage Plans and Rate Limits in the Selling Partner API](https://developer-docs.amazon.com/sp-api/docs/usage-plans-and-rate-limits-in-the-sp-api). ", "operationId": "confirmTransportationOptions" } }, @@ -6244,7 +9409,7 @@ "parameters": [ { "collectionFormat": "multi", - "description": "List of merchant SKUs, a merchant-supplied identifier for a specific SKU.", + "description": "List of merchant SKUs - a merchant-supplied identifier for a specific SKU.", "in": "query", "items": { "maxLength": 40, @@ -6387,6 +9552,22 @@ } } }, + "404": { + "description": "The resource specified does not exist.", + "schema": { + "$ref": "#/definitions/ErrorList" + }, + "headers": { + "x-amzn-RequestId": { + "description": "Unique request reference identifier.", + "type": "string" + }, + "x-amzn-RateLimit-Limit": { + "description": "Your rate limit (requests per second) for this operation.", + "type": "string" + } + } + }, "500": { "description": "An unexpected condition occurred that prevented the server from fulfilling the request.", "schema": { @@ -6411,6 +9592,196 @@ } } }, + "413": { + "description": "The request size exceeded the maximum accepted size.", + "schema": { + "$ref": "#/definitions/ErrorList" + }, + "headers": { + "x-amzn-RequestId": { + "description": "Unique request reference identifier.", + "type": "string" + } + } + }, + "415": { + "description": "The request payload is in an unsupported format.", + "schema": { + "$ref": "#/definitions/ErrorList" + }, + "headers": { + "x-amzn-RequestId": { + "description": "Unique request reference identifier.", + "type": "string" + } + } + }, + "429": { + "description": "The frequency of requests was greater than allowed.", + "schema": { + "$ref": "#/definitions/ErrorList" + }, + "headers": { + "x-amzn-RequestId": { + "description": "Unique request reference identifier.", + "type": "string" + } + } + }, + "503": { + "description": "Temporary overloading or maintenance of the server.", + "schema": { + "$ref": "#/definitions/ErrorList" + }, + "headers": { + "x-amzn-RequestId": { + "description": "Unique request reference identifier.", + "type": "string" + } + } + } + }, + "tags": [ + "fbaInbound" + ], + "description": "List the inbound compliance details for MSKUs in a given marketplace.\n\n**Usage Plan:**\n\n| Rate (requests per second) | Burst |\n| ---- | ---- |\n| 2 | 6 |\n\nThe `x-amzn-RateLimit-Limit` response header returns the usage plan rate limits that were applied to the requested operation, when available. The table above indicates the default rate and burst values for this operation. Selling partners whose business demands require higher throughput may see higher rate and burst values than those shown here. For more information, refer to [Usage Plans and Rate Limits in the Selling Partner API](https://developer-docs.amazon.com/sp-api/docs/usage-plans-and-rate-limits-in-the-sp-api). ", + "operationId": "listItemComplianceDetails" + }, + "put": { + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "parameters": [ + { + "description": "The Marketplace ID. Refer to [Marketplace IDs](https://developer-docs.amazon.com/sp-api/docs/marketplace-ids) for a list of possible values.", + "in": "query", + "maxLength": 256, + "minLength": 1, + "name": "marketplaceId", + "required": true, + "type": "string" + }, + { + "in": "body", + "name": "body", + "required": true, + "schema": { + "$ref": "#/definitions/UpdateItemComplianceDetailsRequest" + }, + "description": "The body of the request to `updateItemComplianceDetails`." + } + ], + "responses": { + "202": { + "description": "UpdateItemComplianceDetails 202 response", + "schema": { + "$ref": "#/definitions/UpdateItemComplianceDetailsResponse" + }, + "x-amzn-api-sandbox": { + "static": [ + { + "request": { + "parameters": { + "marketplaceId": { + "value": "ATVPDKIKX0DER" + }, + "body": { + "value": { + "msku": "msku", + "taxDetails": { + "hsnCode": "720299", + "declaredValue": { + "code": "USD", + "amount": 50.0 + }, + "taxRates": [ + { + "taxType": "TOTAL_TAX", + "gstRate": 1.0, + "cessRate": 1.0 + } + ] + } + } + } + } + }, + "response": { + "operationId": "1234abcd-1234-abcd-5678-1234abcd5678" + } + } + ] + }, + "headers": { + "x-amzn-RequestId": { + "description": "Unique request reference identifier.", + "type": "string" + }, + "x-amzn-RateLimit-Limit": { + "description": "Your rate limit (requests per second) for this operation.", + "type": "string" + } + } + }, + "400": { + "description": "Request has missing or invalid parameters and cannot be parsed.", + "schema": { + "$ref": "#/definitions/ErrorList" + }, + "x-amzn-api-sandbox": { + "static": [ + { + "request": { + "parameters": { + "marketplaceId": { + "value": "ATVPDKIKX0DER" + }, + "body": { + "value": { + "msku": "badmsku", + "taxDetails": { + "hsnCode": "720299", + "declaredValue": { + "code": "USD", + "amount": 50.0 + }, + "taxRates": [ + { + "taxType": "TOTAL_TAX", + "gstRate": 1.0, + "cessRate": 1.0 + } + ] + } + } + } + } + }, + "response": { + "errors": [ + { + "code": "BadRequest", + "message": "The requested msku does not exist for the specified marketplace." + } + ] + } + } + ] + }, + "headers": { + "x-amzn-RequestId": { + "description": "Unique request reference identifier.", + "type": "string" + }, + "x-amzn-RateLimit-Limit": { + "description": "Your rate limit (requests per second) for this operation.", + "type": "string" + } + } + }, "404": { "description": "The resource specified does not exist.", "schema": { @@ -6427,6 +9798,30 @@ } } }, + "500": { + "description": "An unexpected condition occurred that prevented the server from fulfilling the request.", + "schema": { + "$ref": "#/definitions/ErrorList" + }, + "headers": { + "x-amzn-RequestId": { + "description": "Unique request reference identifier.", + "type": "string" + } + } + }, + "403": { + "description": "Indicates that access to the resource is forbidden. Possible reasons include Access Denied, Unauthorized, Expired Token, or Invalid Signature.", + "schema": { + "$ref": "#/definitions/ErrorList" + }, + "headers": { + "x-amzn-RequestId": { + "description": "Unique request reference identifier.", + "type": "string" + } + } + }, "413": { "description": "The request size exceeded the maximum accepted size.", "schema": { @@ -6479,10 +9874,12 @@ "tags": [ "fbaInbound" ], - "description": "List the inbound compliance details for MSKUs in a given marketplace.\n\n**Usage Plan:**\n\n| Rate (requests per second) | Burst |\n| ---- | ---- |\n| 1 | 1 |\n\nThe `x-amzn-RateLimit-Limit` response header returns the usage plan rate limits that were applied to the requested operation, when available. The table above indicates the default rate and burst values for this operation. Selling partners whose business demands require higher throughput may see higher rate and burst values than those shown here. For more information, refer to [Usage Plans and Rate Limits in the Selling Partner API](https://developer-docs.amazon.com/sp-api/docs/usage-plans-and-rate-limits-in-the-sp-api).", - "operationId": "listItemComplianceDetails" - }, - "put": { + "description": "Update compliance details for list of MSKUs. The details provided here are only used for the IN marketplace compliance validation.\n\n**Usage Plan:**\n\n| Rate (requests per second) | Burst |\n| ---- | ---- |\n| 2 | 2 |\n\nThe `x-amzn-RateLimit-Limit` response header returns the usage plan rate limits that were applied to the requested operation, when available. The table above indicates the default rate and burst values for this operation. Selling partners whose business demands require higher throughput may see higher rate and burst values than those shown here. For more information, refer to [Usage Plans and Rate Limits in the Selling Partner API](https://developer-docs.amazon.com/sp-api/docs/usage-plans-and-rate-limits-in-the-sp-api). ", + "operationId": "updateItemComplianceDetails" + } + }, + "/inbound/fba/2024-03-20/items/labels": { + "post": { "consumes": [ "application/json" ], @@ -6490,62 +9887,89 @@ "application/json" ], "parameters": [ - { - "description": "The Marketplace ID. Refer to [Marketplace IDs](https://developer-docs.amazon.com/sp-api/docs/marketplace-ids) for a list of possible values.", - "in": "query", - "maxLength": 256, - "minLength": 1, - "name": "marketplaceId", - "required": true, - "type": "string" - }, { "in": "body", "name": "body", "required": true, "schema": { - "$ref": "#/definitions/UpdateItemComplianceDetailsRequest" + "$ref": "#/definitions/CreateMarketplaceItemLabelsRequest" }, - "description": "The body of the request to `updateItemComplianceDetails`." + "description": "The body of the request to `createMarketplaceItemLabels`." } ], "responses": { - "202": { - "description": "UpdateItemComplianceDetails 202 response", + "200": { + "description": "CreateMarketplaceItemLabels 200 response", "schema": { - "$ref": "#/definitions/UpdateItemComplianceDetailsResponse" + "$ref": "#/definitions/CreateMarketplaceItemLabelsResponse" }, "x-amzn-api-sandbox": { "static": [ { "request": { "parameters": { - "marketplaceId": { - "value": "ATVPDKIKX0DER" - }, "body": { "value": { - "msku": "msku", - "taxDetails": { - "hsnCode": "720299", - "declaredValue": { - "code": "USD", - "amount": 50.0 + "marketplaceId": "ATVPDKIKX0DER", + "mskuQuantities": [ + { + "msku": "msku1", + "quantity": 1 }, - "taxRates": [ - { - "taxType": "TOTAL_TAX", - "gstRate": 1.0, - "cessRate": 1.0 - } - ] - } + { + "msku": "msku2", + "quantity": 1 + } + ], + "labelType": "STANDARD_FORMAT", + "pageType": "A4_21", + "localeCode": "en_US" } } } }, "response": { - "operationId": "1234abcd-1234-abcd-5678-1234abcd5678" + "documentDownloads": [ + { + "uri": "https://s3.amazonaws.com/bucket", + "downloadType": "URL", + "expiration": "2024-01-01T00:00:00.000Z" + } + ] + } + }, + { + "request": { + "parameters": { + "body": { + "value": { + "marketplaceId": "ATVPDKIKX0DER", + "mskuQuantities": [ + { + "msku": "msku1", + "quantity": 1 + }, + { + "msku": "msku2", + "quantity": 1 + } + ], + "labelType": "THERMAL_PRINTING", + "height": 25.0, + "width": 100.0, + "localeCode": "en_US" + } + } + } + }, + "response": { + "documentDownloads": [ + { + "uri": "https://s3.amazonaws.com/bucket", + "downloadType": "URL", + "expiration": "2024-01-01T00:00:00.000Z" + } + ] } } ] @@ -6571,26 +9995,19 @@ { "request": { "parameters": { - "marketplaceId": { - "value": "ATVPDKIKX0DER" - }, "body": { "value": { - "msku": "badmsku", - "taxDetails": { - "hsnCode": "720299", - "declaredValue": { - "code": "USD", - "amount": 50.0 - }, - "taxRates": [ - { - "taxType": "TOTAL_TAX", - "gstRate": 1.0, - "cessRate": 1.0 - } - ] - } + "marketplaceId": "ATVPDKIKX0DER", + "mskuQuantities": [ + { + "msku": "badMsku", + "quantity": 1 + } + ], + "labelType": "THERMAL_PRINTING", + "height": 25.0, + "width": 100.0, + "localeCode": "en_US" } } } @@ -6599,7 +10016,7 @@ "errors": [ { "code": "BadRequest", - "message": "The requested msku does not exist for the specified marketplace." + "message": "The requested MSKU is not valid for the specified marketplace." } ] } @@ -6617,8 +10034,8 @@ } } }, - "500": { - "description": "An unexpected condition occurred that prevented the server from fulfilling the request.", + "404": { + "description": "The resource specified does not exist.", "schema": { "$ref": "#/definitions/ErrorList" }, @@ -6626,11 +10043,15 @@ "x-amzn-RequestId": { "description": "Unique request reference identifier.", "type": "string" + }, + "x-amzn-RateLimit-Limit": { + "description": "Your rate limit (requests per second) for this operation.", + "type": "string" } } }, - "403": { - "description": "Indicates that access to the resource is forbidden. Possible reasons include Access Denied, Unauthorized, Expired Token, or Invalid Signature.", + "500": { + "description": "An unexpected condition occurred that prevented the server from fulfilling the request.", "schema": { "$ref": "#/definitions/ErrorList" }, @@ -6641,8 +10062,8 @@ } } }, - "404": { - "description": "The resource specified does not exist.", + "403": { + "description": "Indicates that access to the resource is forbidden. Possible reasons include Access Denied, Unauthorized, Expired Token, or Invalid Signature.", "schema": { "$ref": "#/definitions/ErrorList" }, @@ -6650,10 +10071,6 @@ "x-amzn-RequestId": { "description": "Unique request reference identifier.", "type": "string" - }, - "x-amzn-RateLimit-Limit": { - "description": "Your rate limit (requests per second) for this operation.", - "type": "string" } } }, @@ -6709,8 +10126,8 @@ "tags": [ "fbaInbound" ], - "description": "Update compliance details for list of MSKUs. The details provided here are only used for the IN marketplace compliance validation.\n\n**Usage Plan:**\n\n| Rate (requests per second) | Burst |\n| ---- | ---- |\n| 1 | 1 |\n\nThe `x-amzn-RateLimit-Limit` response header returns the usage plan rate limits that were applied to the requested operation, when available. The table above indicates the default rate and burst values for this operation. Selling partners whose business demands require higher throughput may see higher rate and burst values than those shown here. For more information, refer to [Usage Plans and Rate Limits in the Selling Partner API](https://developer-docs.amazon.com/sp-api/docs/usage-plans-and-rate-limits-in-the-sp-api).", - "operationId": "updateItemComplianceDetails" + "description": "For a given marketplace - creates labels for a list of mskus.\n\n**Usage Plan:**\n\n| Rate (requests per second) | Burst |\n| ---- | ---- |\n| 2 | 30 |\n\nThe `x-amzn-RateLimit-Limit` response header returns the usage plan rate limits that were applied to the requested operation, when available. The table above indicates the default rate and burst values for this operation. Selling partners whose business demands require higher throughput may see higher rate and burst values than those shown here. For more information, refer to [Usage Plans and Rate Limits in the Selling Partner API](https://developer-docs.amazon.com/sp-api/docs/usage-plans-and-rate-limits-in-the-sp-api). ", + "operationId": "createMarketplaceItemLabels" } }, "/inbound/fba/2024-03-20/operations/{operationId}": { @@ -6720,7 +10137,7 @@ ], "parameters": [ { - "description": "Identifier to an asynchronous operation.", + "description": "Identifier of an asynchronous operation.", "in": "path", "maxLength": 38, "minLength": 36, @@ -6810,8 +10227,8 @@ } } }, - "500": { - "description": "An unexpected condition occurred that prevented the server from fulfilling the request.", + "404": { + "description": "The resource specified does not exist.", "schema": { "$ref": "#/definitions/ErrorList" }, @@ -6819,11 +10236,15 @@ "x-amzn-RequestId": { "description": "Unique request reference identifier.", "type": "string" + }, + "x-amzn-RateLimit-Limit": { + "description": "Your rate limit (requests per second) for this operation.", + "type": "string" } } }, - "403": { - "description": "Indicates that access to the resource is forbidden. Possible reasons include Access Denied, Unauthorized, Expired Token, or Invalid Signature.", + "500": { + "description": "An unexpected condition occurred that prevented the server from fulfilling the request.", "schema": { "$ref": "#/definitions/ErrorList" }, @@ -6834,8 +10255,8 @@ } } }, - "404": { - "description": "The resource specified does not exist.", + "403": { + "description": "Indicates that access to the resource is forbidden. Possible reasons include Access Denied, Unauthorized, Expired Token, or Invalid Signature.", "schema": { "$ref": "#/definitions/ErrorList" }, @@ -6843,10 +10264,6 @@ "x-amzn-RequestId": { "description": "Unique request reference identifier.", "type": "string" - }, - "x-amzn-RateLimit-Limit": { - "description": "Your rate limit (requests per second) for this operation.", - "type": "string" } } }, @@ -6902,7 +10319,7 @@ "tags": [ "fbaInbound" ], - "description": "Gets the status of the processing of an asynchronous API call.\n\n**Usage Plan:**\n\n| Rate (requests per second) | Burst |\n| ---- | ---- |\n| 1 | 1 |\n\nThe `x-amzn-RateLimit-Limit` response header returns the usage plan rate limits that were applied to the requested operation, when available. The table above indicates the default rate and burst values for this operation. Selling partners whose business demands require higher throughput may see higher rate and burst values than those shown here. For more information, refer to [Usage Plans and Rate Limits in the Selling Partner API](https://developer-docs.amazon.com/sp-api/docs/usage-plans-and-rate-limits-in-the-sp-api).", + "description": "Gets the status of the processing of an asynchronous API call.\n\n**Usage Plan:**\n\n| Rate (requests per second) | Burst |\n| ---- | ---- |\n| 2 | 6 |\n\nThe `x-amzn-RateLimit-Limit` response header returns the usage plan rate limits that were applied to the requested operation, when available. The table above indicates the default rate and burst values for this operation. Selling partners whose business demands require higher throughput may see higher rate and burst values than those shown here. For more information, refer to [Usage Plans and Rate Limits in the Selling Partner API](https://developer-docs.amazon.com/sp-api/docs/usage-plans-and-rate-limits-in-the-sp-api). ", "operationId": "getInboundOperationStatus" } } @@ -6942,12 +10359,110 @@ "pattern": "^[A-Z]{2}$", "type": "string" }, + "email": { + "description": "The email address.", + "maxLength": 1024, + "minLength": 1, + "type": "string" + }, + "name": { + "description": "The name of the individual who is the primary contact.", + "maxLength": 50, + "minLength": 1, + "type": "string" + }, + "phoneNumber": { + "description": "The phone number.", + "maxLength": 20, + "minLength": 1, + "type": "string" + }, + "postalCode": { + "description": "The postal code.", + "maxLength": 32, + "minLength": 1, + "type": "string" + }, + "stateOrProvinceCode": { + "description": "The state or province code.", + "maxLength": 64, + "minLength": 1, + "type": "string" + } + }, + "required": [ + "addressLine1", + "city", + "countryCode", + "name", + "postalCode" + ], + "type": "object", + "example": { + "addressLine1": "123 example street", + "addressLine2": "Floor 19", + "city": "Toronto", + "companyName": "Acme", + "countryCode": "CA", + "email": "email@email.com", + "name": "name", + "phoneNumber": "1234567890", + "postalCode": "M1M1M1", + "stateOrProvinceCode": "ON" + } + }, + "AddressInput": { + "description": "Specific details to identify a place.", + "properties": { + "addressLine1": { + "description": "Street address information.", + "maxLength": 180, + "minLength": 1, + "type": "string" + }, + "addressLine2": { + "description": "Additional street address information.", + "maxLength": 60, + "minLength": 1, + "type": "string" + }, + "city": { + "description": "The city.", + "maxLength": 30, + "minLength": 1, + "type": "string" + }, + "companyName": { + "description": "The name of the business.", + "maxLength": 50, + "minLength": 1, + "type": "string" + }, + "countryCode": { + "description": "The country code in two-character ISO 3166-1 alpha-2 format.", + "maxLength": 2, + "minLength": 2, + "pattern": "^[A-Z]{2}$", + "type": "string" + }, + "email": { + "description": "The email address.", + "maxLength": 1024, + "minLength": 1, + "type": "string" + }, "name": { - "description": "The name of the individual or business.", + "description": "The name of the individual who is the primary contact.", "maxLength": 50, "minLength": 1, "type": "string" }, + "phoneNumber": { + "description": "The phone number.", + "maxLength": 20, + "minLength": 1, + "type": "string" + }, "postalCode": { "description": "The postal code.", "maxLength": 32, @@ -6966,6 +10481,7 @@ "city", "countryCode", "name", + "phoneNumber", "postalCode" ], "type": "object", @@ -6975,7 +10491,9 @@ "city": "Toronto", "companyName": "Acme", "countryCode": "CA", + "email": "email@email.com", "name": "name", + "phoneNumber": "1234567890", "postalCode": "M1M1M1", "stateOrProvinceCode": "ON" } @@ -7001,7 +10519,7 @@ "type": "object" }, "AppointmentSlotTime": { - "description": "An appointment slot time with a start and end.", + "description": "An appointment slot time with start and end.", "properties": { "endTime": { "description": "The end timestamp of the appointment in UTC.", @@ -7021,14 +10539,17 @@ "type": "object" }, "Box": { - "description": "Contains information about a box that is used in the inbound plan. The box may contain an item and metadata about the box itself.", + "description": "Contains information about a box that is used in the inbound plan. The box is a container that holds multiple items.", "properties": { "boxId": { - "description": "The ID provided by Amazon that identifies a given box. This ID is comprised of the external shipment ID (which\n is generated after transportation has been confirmed) and the index of the box.", + "description": "The ID provided by Amazon that identifies a given box. This ID is comprised of the external shipment ID (which is generated after transportation has been confirmed) and the index of the box.", "maxLength": 1024, "minLength": 1, "type": "string" }, + "contentInformationSource": { + "$ref": "#/definitions/BoxContentInformationSource" + }, "destinationRegion": { "$ref": "#/definitions/Region" }, @@ -7060,64 +10581,15 @@ "maxLength": 1024, "minLength": 1, "type": "string" - }, - "weight": { - "$ref": "#/definitions/Weight" - } - }, - "required": [ - "packageId" - ], - "type": "object" - }, - "BoxContent": { - "description": "Specifies contents in a box. Each `BoxContent` minimally contains a mapping of an MSKU to the prep owner, label owner and its quantity in the box. It also contains the MSKU expiration date and manufacturing lot code if applicable.", - "properties": { - "expiration": { - "description": "The date in ISO 8601 format for when the MSKU expires.", - "pattern": "^([0-9]{4})-(0[1-9]|1[0-2])-(0[1-9]|[1-2][0-9]|3[0-1])$", - "type": "string" - }, - "labelOwner": { - "$ref": "#/definitions/LabelOwner" - }, - "manufacturingLotCode": { - "description": "The manufacturing lot code.", - "maxLength": 256, - "minLength": 1, - "type": "string" - }, - "msku": { - "description": "The merchant SKU, a merchant-supplied identifier for a specific SKU.", - "maxLength": 40, - "minLength": 1, - "type": "string" - }, - "prepOwner": { - "$ref": "#/definitions/PrepOwner" - }, - "quantityInBox": { - "description": "The number of units of the given MSKU in the box.", - "maximum": 10000, - "minimum": 1, - "type": "integer" + }, + "weight": { + "$ref": "#/definitions/Weight" } }, "required": [ - "labelOwner", - "msku", - "prepOwner", - "quantityInBox" + "packageId" ], - "type": "object", - "example": { - "expiration": "2024-01-01", - "labelOwner": "AMAZON", - "manufacturingLotCode": "manufacturingLotCode", - "msku": "Sunglasses", - "prepOwner": "AMAZON", - "quantityInBox": 10 - } + "type": "object" }, "BoxContentInformationSource": { "description": "Indication of how box content is meant to be provided.", @@ -7145,37 +10617,25 @@ "BoxInput": { "description": "Input information for a given box.", "properties": { - "boxId": { - "description": "The ID of the box to update that was provided by Amazon. This ID is comprised of the external shipment ID\n (which is generated after transportation has been confirmed) and the index of the box.", - "maxLength": 1024, - "minLength": 1, - "type": "string" - }, "contentInformationSource": { "$ref": "#/definitions/BoxContentInformationSource" }, - "contents": { - "description": "The Contents of the box containing a list of MSKUs and their quantity. If `boxAttribute` is `BARCODE_2D` or `MANUAL_PROCESS`, user should provide ALL of the items that could be in the box, without specifying item quantities.", + "dimensions": { + "$ref": "#/definitions/Dimensions" + }, + "items": { + "description": "The items and their quantity in the box. This must be empty if the box `contentInformationSource` is `BARCODE_2D` or `MANUAL_PROCESS`.", "items": { - "$ref": "#/definitions/BoxContent" + "$ref": "#/definitions/ItemInput" }, "type": "array" }, - "dimensions": { - "$ref": "#/definitions/Dimensions" - }, "quantity": { "description": "The number of containers where all other properties like weight or dimensions are identical.", "maximum": 10000, "minimum": 1, "type": "integer" }, - "templateName": { - "description": "The seller-provided name for a 'type' of box (or a group of boxes with the same contents), which will be used to identify all created boxes of that type. When providing bulk box information, this value must be unique from the other box types. When providing individual boxes with existing IDs, this value can be shared between many boxes that have the same contents.", - "maxLength": 1024, - "minLength": 1, - "type": "string" - }, "weight": { "$ref": "#/definitions/Weight" } @@ -7184,37 +10644,76 @@ "contentInformationSource", "dimensions", "quantity", - "templateName", "weight" ], "type": "object", "example": { "boxId": "FBA10ABC0YY100001", "contentInformationSource": "BOX_CONTENT_PROVIDED", - "contents": [ + "dimensions": { + "height": 5, + "length": 3, + "unitOfMeasurement": "CM", + "width": 4 + }, + "items": [ { "expiration": "2024-01-01", "labelOwner": "AMAZON", "manufacturingLotCode": "manufacturingLotCode", "msku": "Sunglasses", "prepOwner": "AMAZON", - "quantityInBox": 10 + "quantity": 10 } ], - "dimensions": { - "height": 5, - "length": 3, - "unitOfMeasurement": "CM", - "width": 4 - }, "quantity": 2, - "templateName": "templateName", "weight": { "unit": "KG", "value": 5.5 } } }, + "BoxUpdateInput": { + "description": "Input information for updating a box", + "properties": { + "contentInformationSource": { + "$ref": "#/definitions/BoxContentInformationSource" + }, + "dimensions": { + "$ref": "#/definitions/Dimensions" + }, + "items": { + "description": "The items and their quantity in the box. This must be empty if the box `contentInformationSource` is `BARCODE_2D` or `MANUAL_PROCESS`.", + "items": { + "$ref": "#/definitions/ItemInput" + }, + "type": "array" + }, + "packageId": { + "description": "Primary key to uniquely identify a Box Package. PackageId must be provided if the intent is to update an existing box. Adding a new box will not require providing this value. Any existing PackageIds not provided will be treated as to-be-removed", + "maxLength": 38, + "minLength": 38, + "pattern": "^[a-zA-Z0-9-]*$", + "type": "string" + }, + "quantity": { + "description": "The number of containers where all other properties like weight or dimensions are identical.", + "maximum": 10000, + "minimum": 1, + "type": "integer" + }, + "weight": { + "$ref": "#/definitions/Weight" + } + }, + "required": [ + "contentInformationSource", + "dimensions", + "quantity", + "weight" + ], + "type": "object" + }, "CancelInboundPlanResponse": { "description": "The `cancelInboundPlan` response.", "properties": { @@ -7244,7 +10743,7 @@ } }, "CancelSelfShipAppointmentResponse": { - "description": "The `cancelSelfShipAppointment` response.", + "description": "The `CancelSelfShipAppointment` response.", "properties": { "operationId": { "description": "UUID for the given operation.", @@ -7277,6 +10776,26 @@ }, "type": "object" }, + "CarrierAppointment": { + "description": "Contains details for a transportation carrier appointment. This appointment is vended out by Amazon and is an indicator for when a transportation carrier is accepting shipments to be picked up.", + "properties": { + "endTime": { + "description": "The end timestamp of the appointment in UTC.", + "format": "date-time", + "type": "string" + }, + "startTime": { + "description": "The start timestamp of the appointment in UTC.", + "format": "date-time", + "type": "string" + } + }, + "required": [ + "endTime", + "startTime" + ], + "type": "object" + }, "ComplianceDetail": { "description": "Contains item identifiers and related tax information.", "properties": { @@ -7304,6 +10823,25 @@ }, "type": "object" }, + "ConfirmDeliveryWindowOptionsResponse": { + "description": "The `confirmDeliveryWindowOptions` response.", + "properties": { + "operationId": { + "description": "UUID for the given operation.", + "maxLength": 38, + "minLength": 36, + "pattern": "^[a-zA-Z0-9-]*$", + "type": "string" + } + }, + "required": [ + "operationId" + ], + "type": "object", + "example": { + "operationId": "1234abcd-1234-abcd-5678-1234abcd5678" + } + }, "ConfirmPackingOptionResponse": { "description": "The `confirmPackingOption` response.", "properties": { @@ -7336,6 +10874,22 @@ ], "type": "object" }, + "ConfirmShipmentContentUpdatePreviewResponse": { + "description": "The `confirmShipmentContentUpdatePreview` response.", + "properties": { + "operationId": { + "description": "UUID for the given operation.", + "maxLength": 38, + "minLength": 36, + "pattern": "^[a-zA-Z0-9-]*$", + "type": "string" + } + }, + "required": [ + "operationId" + ], + "type": "object" + }, "ConfirmTransportationOptionsRequest": { "description": "The `confirmTransportationOptions` request.", "properties": { @@ -7389,39 +10943,68 @@ "description": "The seller's contact information.", "properties": { "email": { - "description": "Email address.", + "description": "The email address.", "maxLength": 1024, "minLength": 1, "type": "string" }, "name": { - "description": "The name belonging to the contact. This field is required when contact information is being provided for\n Less-Than-Truckload (LTL) carrier shipments.", - "maxLength": 1024, + "description": "The contact's name.", + "maxLength": 50, "minLength": 1, "type": "string" }, "phoneNumber": { - "description": "The phone number of the seller.", + "description": "The phone number.", "maxLength": 20, "minLength": 1, "type": "string" } }, "required": [ + "name", "phoneNumber" ], "type": "object", "example": { "email": "email@email.com", + "name": "name", "phoneNumber": "1234567890" } }, + "ContentUpdatePreview": { + "description": "Preview of the changes that will be applied to the shipment.", + "properties": { + "contentUpdatePreviewId": { + "description": "Identifier of a content update preview.", + "maxLength": 38, + "minLength": 38, + "pattern": "^[a-zA-Z0-9-]*$", + "type": "string" + }, + "expiration": { + "description": "The date in ISO 8601 format for when the content update expires.", + "pattern": "^([0-9]{4})-(0[1-9]|1[0-2])-(0[1-9]|[1-2][0-9]|3[0-1])$", + "type": "string" + }, + "requestedUpdates": { + "$ref": "#/definitions/RequestedUpdates" + }, + "transportationOption": { + "$ref": "#/definitions/TransportationOption" + } + }, + "required": [ + "contentUpdatePreviewId", + "expiration", + "requestedUpdates", + "transportationOption" + ], + "type": "object" + }, "CreateInboundPlanRequest": { "description": "The `createInboundPlan` request.", "properties": { - "contactInformation": { - "$ref": "#/definitions/ContactInformation" - }, "destinationMarketplaces": { "description": "Marketplaces where the items need to be shipped to. Currently only one marketplace can be selected in this request.", "items": { @@ -7450,11 +11033,10 @@ "type": "string" }, "sourceAddress": { - "$ref": "#/definitions/Address" + "$ref": "#/definitions/AddressInput" } }, "required": [ - "contactInformation", "destinationMarketplaces", "items", "sourceAddress" @@ -7463,6 +11045,7 @@ "example": { "contactInformation": { "email": "email@email.com", + "name": "name", "phoneNumber": "1234567890" }, "destinationMarketplaces": [ @@ -7485,7 +11068,9 @@ "city": "Toronto", "companyName": "Acme", "countryCode": "CA", + "email": "email@email.com", "name": "name", + "phoneNumber": "1234567890", "postalCode": "M1M1M1", "stateOrProvinceCode": "ON" } @@ -7495,7 +11080,7 @@ "description": "The `createInboundPlan` response.", "properties": { "inboundPlanId": { - "description": "Identifier to an inbound plan.", + "description": "Identifier of an inbound plan.", "maxLength": 38, "minLength": 38, "pattern": "^[a-zA-Z0-9-]*$", @@ -7515,6 +11100,85 @@ ], "type": "object" }, + "CreateMarketplaceItemLabelsRequest": { + "description": "The `createMarketplaceItemLabels` request.", + "properties": { + "height": { + "description": "The height of the item label.", + "maximum": 100, + "minimum": 25, + "type": "number" + }, + "labelType": { + "$ref": "#/definitions/LabelPrintType" + }, + "localeCode": { + "description": "The locale code constructed from ISO 639 language code and ISO 3166-1 alpha-2 standard of country codes separated by an underscore character.", + "pattern": "^[a-z]{2}_[A-Z]{2}$", + "type": "string" + }, + "marketplaceId": { + "description": "The Marketplace ID. Refer to [Marketplace IDs](https://developer-docs.amazon.com/sp-api/docs/marketplace-ids) for a list of possible values.", + "maxLength": 256, + "minLength": 1, + "type": "string" + }, + "mskuQuantities": { + "description": "Represents the quantity of an msku to print item labels for.", + "items": { + "$ref": "#/definitions/MskuQuantity" + }, + "maxItems": 100, + "minItems": 1, + "type": "array" + }, + "pageType": { + "$ref": "#/definitions/ItemLabelPageType" + }, + "width": { + "description": "The width of the item label.", + "maximum": 100, + "minimum": 25, + "type": "number" + } + }, + "required": [ + "labelType", + "marketplaceId", + "mskuQuantities" + ], + "type": "object", + "example": { + "height": 25, + "labelType": "STANDARD_FORMAT", + "localeCode": "en_US", + "marketplaceId": "A2EUQ1WTGCTBG2", + "mskuQuantities": [ + { + "msku": "msku", + "quantity": 5 + } + ], + "pageType": "A4_21", + "width": 100 + } + }, + "CreateMarketplaceItemLabelsResponse": { + "description": "The `createMarketplaceItemLabels` response.", + "properties": { + "documentDownloads": { + "description": "Resources to download the requested document.", + "items": { + "$ref": "#/definitions/DocumentDownload" + }, + "type": "array" + } + }, + "required": [ + "documentDownloads" + ], + "type": "object" + }, "Currency": { "description": "Currency definition.", "properties": { @@ -7574,11 +11238,8 @@ } }, "Dates": { - "description": "Specifies the dates that the seller expects their shipment will be shipped and delivered.", + "description": "Specifies the date that the seller expects their shipment will be shipped.", "properties": { - "deliveryWindow": { - "$ref": "#/definitions/Window" - }, "readyToShipWindow": { "$ref": "#/definitions/Window" } @@ -7591,19 +11252,66 @@ } } }, + "DeliveryWindowOption": { + "description": "Contains information pertaining to a delivery window option.", + "properties": { + "availabilityType": { + "description": "Identifies type of Delivery Window Availability. Values: `AVAILABLE`, `CONGESTED`", + "type": "string" + }, + "deliveryWindowOptionId": { + "description": "Identifier of a delivery window option. A delivery window option represent one option for when a shipment is expected to be delivered.", + "maxLength": 38, + "minLength": 36, + "pattern": "^[a-zA-Z0-9-]*$", + "type": "string" + }, + "endDate": { + "description": "The timestamp at which this delivery window option ends. This is based in ISO 8601 datetime with pattern `yyyy-MM-ddTHH:mm:ss.sssZ`.", + "format": "date-time", + "type": "string" + }, + "startDate": { + "description": "The timestamp at which this delivery window option starts. This is based in ISO 8601 datetime with pattern `yyyy-MM-ddTHH:mm:ss.sssZ`.", + "format": "date-time", + "type": "string" + }, + "validUntil": { + "description": "The timestamp at which this window delivery option becomes no longer valid. This is based in ISO 8601 datetime with pattern `yyyy-MM-ddTHH:mm:ss.sssZ`.", + "format": "date-time", + "type": "string" + } + }, + "required": [ + "availabilityType", + "deliveryWindowOptionId", + "endDate", + "startDate", + "validUntil" + ], + "type": "object", + "example": { + "availabilityType": "AVAILABLE", + "deliveryWindowOptionId": "dw1234abcd-1234-abcd-5678-1234abcd5678", + "endDate": "2024-01-05T20:00:00.000Z", + "inboundPlanId": "wf1234abcd-1234-abcd-5678-1234abcd5678", + "placementOptionId": "pl1234abcd-1234-abcd-5678-1234abcd5678", + "shipmentId": "sh1234abcd-1234-abcd-5678-1234abcd5678", + "startDate": "2024-01-05T14:00:00.000Z", + "validUntil": "2024-01-05T20:00:00.000Z" + } + }, "Dimensions": { - "description": "Measurement of a package dimensions.", + "description": "Measurement of a package's dimensions.", "properties": { "height": { - "description": "Height.", - "format": "double", + "description": "The height of a package.", "maximum": 100000, "minimum": 0, "type": "number" }, "length": { - "description": "Length.", - "format": "double", + "description": "The length of a package.", "maximum": 100000, "minimum": 0, "type": "number" @@ -7612,8 +11320,7 @@ "$ref": "#/definitions/UnitOfMeasurement" }, "width": { - "description": "Width.", - "format": "double", + "description": "The width of a package.", "maximum": 100000, "minimum": 0, "type": "number" @@ -7631,7 +11338,7 @@ "description": "Resource to download the requested document.", "properties": { "downloadType": { - "description": "The type of download. Can be `URL` or `PDF_BASE64`.", + "description": "The type of download. Can be `URL`.", "type": "string" }, "expiration": { @@ -7695,7 +11402,45 @@ } }, "required": [ - "errors" + "errors" + ], + "type": "object" + }, + "FreightInformation": { + "description": "Freight information describes the skus being transported. Freight carrier options and quotes will only be returned if the freight information is provided.", + "properties": { + "declaredValue": { + "$ref": "#/definitions/Currency" + }, + "freightClass": { + "description": "Freight class. Can be: `NONE`, `FC_50`, `FC_55`, `FC_60`, `FC_65`, `FC_70`, `FC_77_5`, `FC_85`, `FC_92_5`, `FC_100`, `FC_110`, `FC_125`, `FC_150`, `FC_175`, `FC_200`, `FC_250`, `FC_300`, `FC_400`, `FC_500`.", + "maxLength": 1024, + "minLength": 1, + "type": "string" + } + }, + "type": "object", + "example": { + "declaredValue": { + "amount": 5.5, + "code": "CAD" + }, + "freightClass": "FC_50" + } + }, + "GenerateDeliveryWindowOptionsResponse": { + "description": "The `generateDeliveryWindowOptions` response.", + "properties": { + "operationId": { + "description": "UUID for the given operation.", + "maxLength": 38, + "minLength": 36, + "pattern": "^[a-zA-Z0-9-]*$", + "type": "string" + } + }, + "required": [ + "operationId" ], "type": "object" }, @@ -7719,7 +11464,7 @@ "description": "The `generatePlacementOptions` request.", "properties": { "customPlacement": { - "description": "Custom placements options to be added to the plan.", + "description": "Custom placement options to be added to the plan.", "items": { "$ref": "#/definitions/CustomPlacementInput" }, @@ -7797,6 +11542,89 @@ ], "type": "object" }, + "GenerateShipmentContentUpdatePreviewsRequest": { + "description": "The `GenerateShipmentContentUpdatePreviews` request.", + "properties": { + "boxes": { + "description": "A list of boxes that will be present in the shipment after the update.", + "items": { + "$ref": "#/definitions/BoxUpdateInput" + }, + "maxItems": 5000, + "minItems": 1, + "type": "array" + }, + "items": { + "description": "A list of all items that will be present in the shipment after the update.", + "items": { + "$ref": "#/definitions/ItemInput" + }, + "maxItems": 2000, + "minItems": 1, + "type": "array" + } + }, + "required": [ + "boxes", + "items" + ], + "type": "object", + "example": { + "boxes": [ + { + "contentInformationSource": "BOX_CONTENT_PROVIDED", + "dimensions": { + "height": 5, + "length": 3, + "unitOfMeasurement": "CM", + "width": 4 + }, + "items": [ + { + "expiration": "2024-01-01", + "labelOwner": "AMAZON", + "manufacturingLotCode": "manufacturingLotCode", + "msku": "Sunglasses", + "prepOwner": "AMAZON", + "quantity": 10 + } + ], + "packageId": "pk1234abcd-1234-abcd-5678-1234abcd5678", + "quantity": 2, + "weight": { + "unit": "KG", + "value": 5.5 + } + } + ], + "items": [ + { + "expiration": "2024-01-01", + "labelOwner": "AMAZON", + "manufacturingLotCode": "manufacturingLotCode", + "msku": "Sunglasses", + "prepOwner": "AMAZON", + "quantity": 10 + } + ] + } + }, + "GenerateShipmentContentUpdatePreviewsResponse": { + "description": "The `GenerateShipmentContentUpdatePreviews` response.", + "properties": { + "operationId": { + "description": "UUID for the given operation.", + "maxLength": 38, + "minLength": 36, + "pattern": "^[a-zA-Z0-9-]*$", + "type": "string" + } + }, + "required": [ + "operationId" + ], + "type": "object" + }, "GenerateTransportationOptionsRequest": { "description": "The `generateTransportationOptions` request.", "properties": { @@ -7812,6 +11640,7 @@ "items": { "$ref": "#/definitions/ShipmentTransportationConfiguration" }, + "minItems": 1, "type": "array" } }, @@ -7829,29 +11658,29 @@ "name": "John Smithy", "phoneNumber": "1234567890" }, - "palletInformation": { + "freightInformation": { "declaredValue": { - "amount": 500, - "code": "USD" + "amount": 5.5, + "code": "CAD" }, - "freightClass": "FC_50", - "pallets": [ - { - "dimensions": { - "height": 5, - "length": 3, - "unitOfMeasurement": "CM", - "width": 4 - }, - "quantity": 2, - "stackability": "STACKABLE", - "weight": { - "unit": "KG", - "value": 5.5 - } - } - ] + "freightClass": "FC_50" }, + "pallets": [ + { + "dimensions": { + "height": 5, + "length": 3, + "unitOfMeasurement": "CM", + "width": 4 + }, + "quantity": 2, + "stackability": "STACKABLE", + "weight": { + "unit": "KG", + "value": 5.5 + } + } + ], "readyToShipWindow": { "start": "2024-01-01T00:00Z" }, @@ -7904,16 +11733,16 @@ "type": "object" }, "InboundOperationStatus": { - "description": "The `getInboundOperationStatus` response.", + "description": "GetInboundOperationStatus response.", "properties": { "operation": { - "description": "The name of the operation that was executed in the asynchronous API call.", + "description": "The name of the operation in the asynchronous API call.", "maxLength": 1024, "minLength": 1, "type": "string" }, "operationId": { - "description": "The operation Id returned by the asynchronous API call.", + "description": "The operation ID returned by the asynchronous API call.", "maxLength": 38, "minLength": 36, "pattern": "^[a-zA-Z0-9-]*$", @@ -7941,16 +11770,13 @@ "InboundPlan": { "description": "Inbound plan containing details of the inbound workflow.", "properties": { - "contactInformation": { - "$ref": "#/definitions/ContactInformation" - }, "createdAt": { "description": "The ISO 8601 datetime with pattern `yyyy-MM-ddTHH:mm:ss.sssZ`.", "format": "date-time", "type": "string" }, "inboundPlanId": { - "description": "Identifier to an inbound plan.", + "description": "Identifier of an inbound plan.", "maxLength": 38, "minLength": 38, "pattern": "^[a-zA-Z0-9-]*$", @@ -7972,25 +11798,25 @@ "type": "array" }, "name": { - "description": "The human-readable name of the inbound plan.", + "description": "Human-readable name of the inbound plan.", "type": "string" }, "packingOptions": { - "description": "Packing options for the inbound plan. This property will be populated when it has been generated via the corresponding endpoint. If there is a chosen placement option, only packing options for that placement option will be returned. If there are confirmed shipments, only packing options for those shipments will be returned. Query the packing option for more details.", + "description": "Packing options for the inbound plan. This property will be populated when it has been generated via the corresponding operation. If there is a chosen placement option, only packing options for that placement option will be returned. If there are confirmed shipments, only packing options for those shipments will be returned. Query the packing option for more details.", "items": { "$ref": "#/definitions/PackingOptionSummary" }, "type": "array" }, "placementOptions": { - "description": "Placement options for the inbound plan. This property will be populated when it has been generated via the corresponding endpoint. If there is a chosen placement option, that will be the only returned option. Query the placement option for more details.", + "description": "Placement options for the inbound plan. This property will be populated when it has been generated via the corresponding operation. If there is a chosen placement option, that will be the only returned option. Query the placement option for more details.", "items": { "$ref": "#/definitions/PlacementOptionSummary" }, "type": "array" }, "shipments": { - "description": "Shipment IDs for the inbound plan. This property will be populated when it has been generated via the corresponding endpoint. If there is a chosen placement option, only shipments for that option will be returned. If there are confirmed shipments, only those shipments will be returned. Query the shipment for more details.", + "description": "Shipment IDs for the inbound plan. This property will be populated when it has been generated via the corresponding operation. If there is a chosen placement option, only shipments for that option will be returned. If there are confirmed shipments, only those shipments will be returned. Query the shipment for more details.", "items": { "$ref": "#/definitions/ShipmentSummary" }, @@ -8000,14 +11826,13 @@ "$ref": "#/definitions/Address" }, "status": { - "description": "Current status of the inbound plan. Can be `ACTIVE`, `VOIDED`, or `SHIPPED`.", + "description": "Current status of the inbound plan. Can be: `ACTIVE`, `VOIDED`, `SHIPPED`, 'ERRORED'.", "maxLength": 1024, "minLength": 1, "type": "string" } }, "required": [ - "contactInformation", "createdAt", "inboundPlanId", "lastUpdatedAt", @@ -8020,6 +11845,7 @@ "example": { "contactInformation": { "email": "email@email.com", + "name": "name", "phoneNumber": "1234567890" }, "createdAt": "2024-03-20T12:01:00Z", @@ -8038,7 +11864,9 @@ "city": "Toronto", "companyName": "Acme", "countryCode": "CA", + "email": "email@email.com", "name": "name", + "phoneNumber": "1234567890", "postalCode": "M1M1M1", "stateOrProvinceCode": "ON" }, @@ -8048,23 +11876,20 @@ "InboundPlanSummary": { "description": "A light-weight inbound plan.", "properties": { - "contactInformation": { - "$ref": "#/definitions/ContactInformation" - }, "createdAt": { "description": "The ISO 8601 datetime with pattern `yyyy-MM-ddTHH:mm:ss.sssZ`.", "format": "date-time", "type": "string" }, "inboundPlanId": { - "description": "Identifier to an inbound plan.", + "description": "Identifier of an inbound plan.", "maxLength": 38, "minLength": 38, "pattern": "^[a-zA-Z0-9-]*$", "type": "string" }, "lastUpdatedAt": { - "description": "ISO 8601 datetime with pattern `yyyy-MM-ddTHH:mm:ss.sssZ`.", + "description": "The ISO 8601 datetime with pattern `yyyy-MM-ddTHH:mm:ss.sssZ`.", "format": "date-time", "type": "string" }, @@ -8086,14 +11911,13 @@ "$ref": "#/definitions/Address" }, "status": { - "description": "Current status of the inbound plan. Can be 'ACTIVE', 'VOIDED', or 'SHIPPED'.", + "description": "Current status of the inbound plan. Can be: `ACTIVE`, `VOIDED`, `SHIPPED`, 'ERRORED'.", "maxLength": 1024, "minLength": 1, "type": "string" } }, "required": [ - "contactInformation", "createdAt", "inboundPlanId", "lastUpdatedAt", @@ -8106,6 +11930,7 @@ "example": { "contactInformation": { "email": "email@email.com", + "name": "name", "phoneNumber": "1234567890" }, "createdAt": "2023-03-08T13:15:30Z", @@ -8121,7 +11946,9 @@ "city": "Toronto", "companyName": "Acme", "countryCode": "CA", + "email": "email@email.com", "name": "name", + "phoneNumber": "1234567890", "postalCode": "M1M1M1", "stateOrProvinceCode": "ON" }, @@ -8144,7 +11971,7 @@ "type": "string" }, "type": { - "description": "Type of incentive. Can be `FEE` or `DISCOUNT`.", + "description": "Type of incentive. Can be: `FEE`, `DISCOUNT`.", "maxLength": 1024, "minLength": 1, "type": "string" @@ -8182,7 +12009,7 @@ "type": "string" }, "labelOwner": { - "description": "Specifies who will label the items. Options include `AMAZON` and `SELLER`.", + "description": "Specifies who will label the items. Options include `AMAZON`, `SELLER`, and `NONE`.", "maxLength": 1024, "minLength": 1, "type": "string" @@ -8241,7 +12068,7 @@ "type": "string" }, "msku": { - "description": "The merchant SKU.", + "description": "Merchant SKU.", "maxLength": 40, "minLength": 1, "type": "string" @@ -8250,7 +12077,7 @@ "$ref": "#/definitions/PrepOwner" }, "quantity": { - "description": "The number of units of the specified MSKU that will be shipped.", + "description": "The number of units of the specified msku that will be shipped.", "maximum": 10000, "minimum": 1, "type": "integer" @@ -8272,26 +12099,133 @@ "quantity": 10 } }, + "ItemLabelPageType": { + "description": "The page type to use to print the labels. Possible values: 'A4_21', 'A4_24', 'A4_24_64x33', 'A4_24_66x35', 'A4_24_70x36', 'A4_24_70x37', 'A4_24i', 'A4_27', 'A4_40_52x29', 'A4_44_48x25', 'Letter_30'.", + "enum": [ + "A4_21", + "A4_24", + "A4_24_64x33", + "A4_24_66x35", + "A4_24_70x36", + "A4_24_70x37", + "A4_24i", + "A4_27", + "A4_40_52x29", + "A4_44_48x25", + "Letter_30" + ], + "type": "string", + "x-docgen-enum-table-extension": [ + { + "value": "A4_21", + "description": "-" + }, + { + "value": "A4_24", + "description": "-" + }, + { + "value": "A4_24_64x33", + "description": "-" + }, + { + "value": "A4_24_66x35", + "description": "-" + }, + { + "value": "A4_24_70x36", + "description": "-" + }, + { + "value": "A4_24_70x37", + "description": "-" + }, + { + "value": "A4_24i", + "description": "-" + }, + { + "value": "A4_27", + "description": "-" + }, + { + "value": "A4_40_52x29", + "description": "-" + }, + { + "value": "A4_44_48x25", + "description": "-" + }, + { + "value": "Letter_30", + "description": "-" + } + ], + "example": "A4_21" + }, "LabelOwner": { - "description": "Specifies who will label the items. Options include `AMAZON` and `SELLER`.", + "description": "Specifies who will label the items. Options include `AMAZON`, `SELLER` or `NONE`.", "enum": [ "AMAZON", - "SELLER" + "SELLER", + "NONE" ], "type": "string", "x-docgen-enum-table-extension": [ { "value": "AMAZON", - "description": "-" + "description": "Amazon provides the information." }, { "value": "SELLER", - "description": "-" + "description": "Seller provides the information." + }, + { + "value": "NONE", + "description": "No owner is required for the labelling." } ] }, + "LabelPrintType": { + "description": "Indicates the type of print type for a given label.", + "enum": [ + "STANDARD_FORMAT", + "THERMAL_PRINTING" + ], + "type": "string", + "x-docgen-enum-table-extension": [ + { + "value": "STANDARD_FORMAT", + "description": "-" + }, + { + "value": "THERMAL_PRINTING", + "description": "-" + } + ], + "example": "STANDARD_FORMAT" + }, + "ListDeliveryWindowOptionsResponse": { + "description": "The `listDeliveryWindowOptions` response.", + "properties": { + "deliveryWindowOptions": { + "description": "Delivery window options generated for the placement option.", + "items": { + "$ref": "#/definitions/DeliveryWindowOption" + }, + "type": "array" + }, + "pagination": { + "$ref": "#/definitions/Pagination" + } + }, + "required": [ + "deliveryWindowOptions" + ], + "type": "object" + }, "ListInboundPlanBoxesResponse": { - "description": "`listInboundPlanBoxes` response.", + "description": "The `listInboundPlanBoxes` response.", "properties": { "boxes": { "description": "A list of boxes in an inbound plan.", @@ -8310,7 +12244,7 @@ "type": "object" }, "ListInboundPlanItemsResponse": { - "description": "`listInboundPlanItems` response.", + "description": "The `listInboundPlanItems` response.", "properties": { "items": { "description": "The items in an inbound plan.", @@ -8329,7 +12263,7 @@ "type": "object" }, "ListInboundPlanPalletsResponse": { - "description": "`listInboundPlanPallets` response.", + "description": "The `listInboundPlanPallets` response.", "properties": { "pagination": { "$ref": "#/definitions/Pagination" @@ -8348,7 +12282,7 @@ "type": "object" }, "ListInboundPlansResponse": { - "description": "`listInboundPlans` response.", + "description": "The `listInboundPlans` response.", "properties": { "inboundPlans": { "description": "A list of inbound plans with minimal information.", @@ -8364,7 +12298,7 @@ "type": "object" }, "ListItemComplianceDetailsResponse": { - "description": "`listItemComplianceDetails` response.", + "description": "The `listItemComplianceDetails` response.", "properties": { "complianceDetails": { "description": "List of compliance details.", @@ -8376,11 +12310,30 @@ }, "type": "object" }, + "ListPackingGroupBoxesResponse": { + "description": "The `listPackingGroupBoxes` response.", + "properties": { + "boxes": { + "description": "Provides the information about the list of boxes in the packing group.", + "items": { + "$ref": "#/definitions/Box" + }, + "type": "array" + }, + "pagination": { + "$ref": "#/definitions/Pagination" + } + }, + "required": [ + "boxes" + ], + "type": "object" + }, "ListPackingGroupItemsResponse": { - "description": "`listPackingGroupItems` response.", + "description": "The `listPackingGroupItems` response.", "properties": { "items": { - "description": "Provides the information about the list of items in the inbound plan.", + "description": "Provides the information about the list of items in the packing group.", "items": { "$ref": "#/definitions/Item" }, @@ -8396,7 +12349,7 @@ "type": "object" }, "ListPackingOptionsResponse": { - "description": "`listPackingOptions` response.", + "description": "The `listPlacementOptions` response.", "properties": { "packingOptions": { "description": "List of packing options.", @@ -8415,7 +12368,7 @@ "type": "object" }, "ListPlacementOptionsResponse": { - "description": "`listPlacementOptions` response.", + "description": "The `listPlacementOptions` response.", "properties": { "pagination": { "$ref": "#/definitions/Pagination" @@ -8423,18 +12376,94 @@ "placementOptions": { "description": "Placement options generated for the inbound plan.", "items": { - "$ref": "#/definitions/PlacementOption" + "$ref": "#/definitions/PlacementOption" + }, + "type": "array" + } + }, + "required": [ + "placementOptions" + ], + "type": "object" + }, + "ListShipmentBoxesResponse": { + "description": "The `listShipmentBoxes` response.", + "properties": { + "boxes": { + "description": "A list of boxes in a shipment.", + "items": { + "$ref": "#/definitions/Box" + }, + "type": "array" + }, + "pagination": { + "$ref": "#/definitions/Pagination" + } + }, + "required": [ + "boxes" + ], + "type": "object" + }, + "ListShipmentContentUpdatePreviewsResponse": { + "description": "The `ListShipmentContentUpdatePreviews` response.", + "properties": { + "contentUpdatePreviews": { + "description": "A list of content update previews in a shipment.", + "items": { + "$ref": "#/definitions/ContentUpdatePreview" + }, + "type": "array" + }, + "pagination": { + "$ref": "#/definitions/Pagination" + } + }, + "required": [ + "contentUpdatePreviews" + ], + "type": "object" + }, + "ListShipmentItemsResponse": { + "description": "The `listShipmentItems` response.", + "properties": { + "items": { + "description": "The items in a shipment.", + "items": { + "$ref": "#/definitions/Item" + }, + "type": "array" + }, + "pagination": { + "$ref": "#/definitions/Pagination" + } + }, + "required": [ + "items" + ], + "type": "object" + }, + "ListShipmentPalletsResponse": { + "description": "The `listShipmentPallets` response.", + "properties": { + "pagination": { + "$ref": "#/definitions/Pagination" + }, + "pallets": { + "description": "The pallets in a shipment.", + "items": { + "$ref": "#/definitions/Pallet" }, "type": "array" } }, "required": [ - "placementOptions" + "pallets" ], "type": "object" }, "ListTransportationOptionsResponse": { - "description": "`listTransportationOptions` response.", + "description": "The `listTransportationOptions` response.", "properties": { "pagination": { "$ref": "#/definitions/Pagination" @@ -8507,6 +12536,32 @@ ] } }, + "MskuQuantity": { + "description": "Represents an msku and the related quantity.", + "properties": { + "msku": { + "description": "The merchant SKU, a merchant-supplied identifier for a specific SKU.", + "maxLength": 40, + "minLength": 1, + "type": "string" + }, + "quantity": { + "description": "A positive integer.", + "maximum": 10000, + "minimum": 1, + "type": "integer" + } + }, + "required": [ + "msku", + "quantity" + ], + "type": "object", + "example": { + "msku": "msku", + "quantity": 5 + } + }, "OperationProblem": { "description": "A problem with additional properties persisted to an operation.", "properties": { @@ -8529,7 +12584,7 @@ "type": "string" }, "severity": { - "description": "The severity of the problem. Can be 'WARNING', or 'ERROR'.", + "description": "The severity of the problem. Can be: `WARNING`, `ERROR`.", "maxLength": 1024, "minLength": 1, "type": "string" @@ -8599,26 +12654,25 @@ "example": { "boxes": [ { - "boxId": "boxId", + "boxId": "FBA10ABC0YY100001", "contentInformationSource": "BOX_CONTENT_PROVIDED", - "contents": [ + "dimensions": { + "height": 5, + "length": 3, + "unitOfMeasurement": "CM", + "width": 4 + }, + "items": [ { "expiration": "2024-01-01", "labelOwner": "AMAZON", "manufacturingLotCode": "manufacturingLotCode", "msku": "Sunglasses", "prepOwner": "AMAZON", - "quantityInBox": 10 + "quantity": 10 } ], - "dimensions": { - "height": 5, - "length": 3, - "unitOfMeasurement": "CM", - "width": 4 - }, "quantity": 2, - "templateName": "templateName", "weight": { "unit": "KG", "value": 5.5 @@ -8640,7 +12694,7 @@ "type": "array" }, "expiration": { - "description": "The timestamp at which this packing option becomes no longer valid. This is in ISO 8601 datetime format with pattern `yyyy-MM-ddTHH:mm:ss.sssZ`.", + "description": "The timestamp at which this packing option becomes no longer valid. This is based in ISO 8601 datetime with pattern `yyyy-MM-ddTHH:mm:ss.sssZ`.", "format": "date-time", "type": "string" }, @@ -8651,17 +12705,10 @@ }, "type": "array" }, - "inboundPlanId": { - "description": "Identifier to an inbound plan.", - "maxLength": 38, - "minLength": 38, - "pattern": "^[a-zA-Z0-9-]*$", - "type": "string" - }, "packingGroups": { "description": "Packing group IDs.", "items": { - "description": "Identifier to a packing group.", + "description": "Identifier of a packing group.", "maxLength": 38, "minLength": 38, "pattern": "^[a-zA-Z0-9-]*$", @@ -8670,14 +12717,14 @@ "type": "array" }, "packingOptionId": { - "description": "Identifier to a packing option.", + "description": "Identifier of a packing option.", "maxLength": 38, "minLength": 38, "pattern": "^[a-zA-Z0-9-]*$", "type": "string" }, "status": { - "description": "The status of the packing option. Can be `OFFERED`, `ACCEPTED`, or `EXPIRED`.", + "description": "The status of the packing option. Can be: `OFFERED`, `ACCEPTED`, or `EXPIRED`.", "maxLength": 1024, "minLength": 1, "type": "string" @@ -8693,7 +12740,6 @@ "required": [ "discounts", "fees", - "inboundPlanId", "packingGroups", "packingOptionId", "status", @@ -8705,7 +12751,7 @@ "description": "Summary information about a packing option.", "properties": { "packingOptionId": { - "description": "Identifier to a packing option.", + "description": "Identifier of a packing option.", "maxLength": 38, "minLength": 38, "pattern": "^[a-zA-Z0-9-]*$", @@ -8771,33 +12817,8 @@ ], "type": "object" }, - "PalletInformation": { - "description": "Pallet information, including weight, dimensions, quantity, stackability, freight class, and declared value.", - "properties": { - "declaredValue": { - "$ref": "#/definitions/Currency" - }, - "freightClass": { - "description": "Freight class. Can be `NONE`, `FC_50`, `FC_55`, `FC_60`, `FC_65`, `FC_70`, `FC_77_5`, `FC_85`, `FC_92_5`, `FC_100`, `FC_110`, `FC_125`, `FC_150`, `FC_175`, `FC_200`, `FC_250`, `FC_300`, `FC_400`, or `FC_500`.", - "maxLength": 1024, - "minLength": 1, - "type": "string" - }, - "pallets": { - "description": "Set pallet configuration for Less-Than-Truckload (LTL).", - "items": { - "$ref": "#/definitions/PalletInput" - }, - "type": "array" - } - }, - "required": [ - "pallets" - ], - "type": "object" - }, "PalletInput": { - "description": "Set pallet configuration for Less-Than-Truckload (LTL).", + "description": "Contains input information about a pallet to be used in the inbound plan.", "properties": { "dimensions": { "$ref": "#/definitions/Dimensions" @@ -8818,7 +12839,21 @@ "required": [ "quantity" ], - "type": "object" + "type": "object", + "example": { + "dimensions": { + "height": 5, + "length": 3, + "unitOfMeasurement": "CM", + "width": 4 + }, + "quantity": 2, + "stackability": "STACKABLE", + "weight": { + "unit": "KG", + "value": 5.5 + } + } }, "PlacementOption": { "description": "Contains information pertaining to the placement of the contents of an inbound plan and the related costs.", @@ -8831,7 +12866,7 @@ "type": "array" }, "expiration": { - "description": "The expiration date of the placement option. This is in ISO 8601 datetime format with pattern `yyyy-MM-ddTHH:mm:ss.sssZ`.", + "description": "The expiration date of the placement option. This is based in ISO 8601 datetime with pattern `yyyy-MM-ddTHH:mm:ss.sssZ`.", "format": "date-time", "type": "string" }, @@ -8843,7 +12878,7 @@ "type": "array" }, "placementOptionId": { - "description": "Identifier to a placement option. A placement option represents the shipment splits and destinations of SKUs.", + "description": "The identifier of a placement option. A placement option represents the shipment splits and destinations of SKUs.", "maxLength": 38, "minLength": 38, "pattern": "^[a-zA-Z0-9-]*$", @@ -8852,7 +12887,7 @@ "shipmentIds": { "description": "Shipment ids.", "items": { - "description": "Identifier to a shipment. A shipment contains the boxes and units being inbounded.", + "description": "Identifier of a shipment. A shipment contains the boxes and units being inbounded.", "maxLength": 38, "minLength": 38, "pattern": "^[a-zA-Z0-9-]*$", @@ -8861,7 +12896,7 @@ "type": "array" }, "status": { - "description": "The status of a placement option. Can be `OFFERED`, `ACCEPTED`, or `EXPIRED`.", + "description": "The status of a placement option. Can be: `OFFERED`, `ACCEPTED`, or `EXPIRED`.", "maxLength": 1024, "minLength": 1, "type": "string" @@ -8880,14 +12915,14 @@ "description": "Summary information about a placement option.", "properties": { "placementOptionId": { - "description": "Identifier to a placement option. A placement option represents the shipment splits and destinations of SKUs.", + "description": "The identifier of a placement option. A placement option represents the shipment splits and destinations of SKUs.", "maxLength": 38, "minLength": 38, "pattern": "^[a-zA-Z0-9-]*$", "type": "string" }, "status": { - "description": "The status of a placement option. Can be `OFFERED` or `ACCEPTED`.", + "description": "The status of a placement option. Can be: `OFFERED` or `ACCEPTED`.", "maxLength": 1024, "minLength": 1, "type": "string" @@ -8910,13 +12945,13 @@ "$ref": "#/definitions/Currency" }, "prepOwner": { - "description": "In some situations, special preparations are required for items and this field reflects the owner of the\n preparations. Options include `AMAZON` or `SELLER`.", + "description": "In some situations, special preparations are required for items and this field reflects the owner of the preparations. Options include `AMAZON`, `SELLER` or `NONE`.", "maxLength": 1024, "minLength": 1, "type": "string" }, "prepType": { - "description": "Type of preparation that should be done. Can be `ITEM_LABELING`, `ITEM_BUBBLEWRAP`, `ITEM_POLYBAGGING`, `ITEM_TAPING`, `ITEM_BLACK_SHRINKWRAP`, `ITEM_HANG_GARMENT`, `ITEM_BOXING`, `ITEM_SETCREAT`, `ITEM_RMOVHANG`, `ITEM_SUFFOSTK`, `ITEM_CAP_SEALING`, `ITEM_DEBUNDLE`, `ITEM_SETSTK`, `ITEM_SIOC`, `ITEM_NO_PREP`, `ADULT`, `BABY`, `TEXTILE`, `HANGER`, `FRAGILE`, `LIQUID`, `SHARP`, `SMALL`, `PERFORATED`, `GRANULAR`, `SET`, `FC_PROVIDED`, `UNKNOWN`, or `NONE`.", + "description": "Type of preparation that should be done. Can be: `ITEM_LABELING`, `ITEM_BUBBLEWRAP`, `ITEM_POLYBAGGING`, `ITEM_TAPING`, `ITEM_BLACK_SHRINKWRAP`, `ITEM_HANG_GARMENT`, `ITEM_BOXING`, `ITEM_SETCREAT`, `ITEM_RMOVHANG`, `ITEM_SUFFOSTK`, `ITEM_CAP_SEALING`, `ITEM_DEBUNDLE`, `ITEM_SETSTK`, `ITEM_SIOC`, `ITEM_NO_PREP`, `ADULT`, `BABY`, `TEXTILE`, `HANGER`, `FRAGILE`, `LIQUID`, `SHARP`, `SMALL`, `PERFORATED`, `GRANULAR`, `SET`, `FC_PROVIDED`, `UNKNOWN`, `NONE`.", "maxLength": 1024, "minLength": 1, "type": "string" @@ -8925,20 +12960,25 @@ "type": "object" }, "PrepOwner": { - "description": "In some situations, special preparations are required for items and this field reflects the owner of the preparations. Options include `AMAZON` or `SELLER`.", + "description": "In some situations, special preparations are required for items and this field reflects the owner of the preparations. Options include `AMAZON`, `SELLER` or `NONE`.", "enum": [ "AMAZON", - "SELLER" + "SELLER", + "NONE" ], "type": "string", "x-docgen-enum-table-extension": [ { "value": "AMAZON", - "description": "-" + "description": "Amazon provides the information." }, { "value": "SELLER", - "description": "-" + "description": "Seller provides the information." + }, + { + "value": "NONE", + "description": "No owner is required for the preparations." } ] }, @@ -8949,7 +12989,7 @@ "$ref": "#/definitions/Currency" }, "expiration": { - "description": "The timestamp at which this transportation option quote becomes no longer valid. This is in ISO 8601 datetime format with pattern `yyyy-MM-ddTHH:mm:ss.sssZ`.", + "description": "The timestamp at which this transportation option quote becomes no longer valid. This is based in ISO 8601 datetime with pattern `yyyy-MM-ddTHH:mm:ss.sssZ`.", "format": "date-time", "type": "string" }, @@ -9041,8 +13081,28 @@ }, "type": "object" }, + "RequestedUpdates": { + "description": "Objects that were included in the update request.", + "properties": { + "boxes": { + "description": "A list of boxes that will be present in the shipment after the update.", + "items": { + "$ref": "#/definitions/BoxUpdateInput" + }, + "type": "array" + }, + "items": { + "description": "A list of all items that will be present in the shipment after the update.", + "items": { + "$ref": "#/definitions/ItemInput" + }, + "type": "array" + } + }, + "type": "object" + }, "ScheduleSelfShipAppointmentRequest": { - "description": "`scheduleSelfShipAppointment` request.", + "description": "The `scheduleSelfShipAppointment` request.", "properties": { "reasonComment": { "$ref": "#/definitions/ReasonComment" @@ -9054,7 +13114,7 @@ } }, "ScheduleSelfShipAppointmentResponse": { - "description": "`scheduleSelfShipAppointment` response.", + "description": "The `scheduleSelfShipAppointment` response.", "properties": { "selfShipAppointmentDetails": { "$ref": "#/definitions/SelfShipAppointmentDetails" @@ -9075,6 +13135,51 @@ } } }, + "SelectedDeliveryWindow": { + "description": "Selected delivery window attributes.", + "properties": { + "availabilityType": { + "description": "Identifies type of Delivery Window Availability. Values: `AVAILABLE`, `CONGESTED`", + "type": "string" + }, + "deliveryWindowOptionId": { + "description": "Identifier of a delivery window option. A delivery window option represent one option for when a shipment is expected to be delivered.", + "maxLength": 38, + "minLength": 36, + "pattern": "^[a-zA-Z0-9-]*$", + "type": "string" + }, + "editableUntil": { + "description": "The timestamp at which this Window can no longer be edited.", + "format": "date-time", + "type": "string" + }, + "endDate": { + "description": "The end timestamp of the window.", + "format": "date-time", + "type": "string" + }, + "startDate": { + "description": "The start timestamp of the window.", + "format": "date-time", + "type": "string" + } + }, + "required": [ + "availabilityType", + "deliveryWindowOptionId", + "endDate", + "startDate" + ], + "type": "object", + "example": { + "availabilityType": "AVAILABLE", + "deliveryWindowOptionId": "dw1234abcd-1234-abcd-5678-1234abcd5678", + "editableUntil": "2024-01-05T20:00:00.000Z", + "endDate": "2024-01-05T20:00:00.000Z", + "startDate": "2024-01-05T14:00:00.000Z" + } + }, "SelfShipAppointmentDetails": { "description": "Appointment details for carrier pickup or fulfillment center appointments.", "properties": { @@ -9098,7 +13203,7 @@ "description": "The self ship appointment time slots availability and an expiration date for which the slots can be scheduled.", "properties": { "expiresAt": { - "description": "ISO 8601 datetime with pattern `yyyy-MM-ddTHH:mm:ss.sssZ`.", + "description": "The ISO 8601 datetime with pattern `yyyy-MM-ddTHH:mm:ss.sssZ`.", "format": "date-time", "type": "string" }, @@ -9113,42 +13218,45 @@ "type": "object" }, "SetPackingInformationRequest": { - "description": "`setPackingInformation` request.", + "description": "The `setPackingInformation` request.", "properties": { "packageGroupings": { "description": "List of packing information for the inbound plan.", "items": { "$ref": "#/definitions/PackageGroupingInput" }, + "minItems": 1, "type": "array" } }, + "required": [ + "packageGroupings" + ], "type": "object", "example": { "packageGroupings": [ { "boxes": [ { - "boxId": "boxId", + "boxId": "FBA10ABC0YY100001", "contentInformationSource": "BOX_CONTENT_PROVIDED", - "contents": [ + "dimensions": { + "height": 5, + "length": 3, + "unitOfMeasurement": "CM", + "width": 4 + }, + "items": [ { "expiration": "2024-01-01", "labelOwner": "AMAZON", "manufacturingLotCode": "manufacturingLotCode", "msku": "Sunglasses", "prepOwner": "AMAZON", - "quantityInBox": 10 + "quantity": 10 } ], - "dimensions": { - "height": 5, - "length": 3, - "unitOfMeasurement": "CM", - "width": 4 - }, "quantity": 2, - "templateName": "templateName", "weight": { "unit": "KG", "value": 5.5 @@ -9162,7 +13270,7 @@ } }, "SetPackingInformationResponse": { - "description": "`setPackingInformation` response.", + "description": "The `setPackingInformation` response.", "properties": { "operationId": { "description": "UUID for the given operation.", @@ -9195,29 +13303,25 @@ "destination": { "$ref": "#/definitions/ShipmentDestination" }, - "inboundPlanId": { - "description": "Identifier to an inbound plan.", - "maxLength": 38, - "minLength": 38, - "pattern": "^[a-zA-Z0-9-]*$", - "type": "string" + "freightInformation": { + "$ref": "#/definitions/FreightInformation" }, "name": { "description": "The name of the shipment.", "type": "string" }, - "palletInformation": { - "$ref": "#/definitions/PalletInformation" - }, "placementOptionId": { - "description": "Identifier to a placement option. A placement option represents the shipment splits and destinations of SKUs.", + "description": "The identifier of a placement option. A placement option represents the shipment splits and destinations of SKUs.", "maxLength": 38, "minLength": 38, "pattern": "^[a-zA-Z0-9-]*$", "type": "string" }, + "selectedDeliveryWindow": { + "$ref": "#/definitions/SelectedDeliveryWindow" + }, "selectedTransportationOptionId": { - "description": "Identifier to a transportation option. A transportation option represent one option for how to send a shipment.", + "description": "Identifier of a transportation option. A transportation option represent one option for how to send a shipment.", "maxLength": 38, "minLength": 38, "pattern": "^[a-zA-Z0-9-]*$", @@ -9231,13 +13335,13 @@ "type": "array" }, "shipmentConfirmationId": { - "description": "The confirmed shipment ID which shows up on labels (for example, FBA1234ABCD).", + "description": "The confirmed shipment ID which shows up on labels (for example, `FBA1234ABCD`).", "maxLength": 1024, "minLength": 1, "type": "string" }, "shipmentId": { - "description": "Identifier to a shipment. A shipment contains the boxes and units being inbounded.", + "description": "Identifier of a shipment. A shipment contains the boxes and units being inbounded.", "maxLength": 38, "minLength": 38, "pattern": "^[a-zA-Z0-9-]*$", @@ -9258,12 +13362,37 @@ }, "required": [ "destination", - "inboundPlanId", "placementOptionId", "shipmentId", "source" ], - "type": "object" + "type": "object", + "example": { + "destination": { + "destinationType": "AMAZON_OPTIMIZED" + }, + "freightInformation": { + "declaredValue": { + "amount": 5.5, + "code": "CAD" + }, + "freightClass": "FC_50" + }, + "inboundPlanId": "wf1234abcd-1234-abcd-5678-1234abcd5678", + "placementOptionId": "pl1234abcd-1234-abcd-5678-1234abcd5678", + "selectedDeliveryWindow": { + "availabilityType": "AVAILABLE", + "deliveryWindowOptionId": "dw1234abcd-1234-abcd-5678-1234abcd5678", + "editableUntil": "2024-01-05T20:00:00.000Z", + "endDate": "2024-01-05T20:00:00.000Z", + "startDate": "2024-01-05T14:00:00.000Z" + }, + "shipmentConfirmationId": "shipmentConfirmationId", + "shipmentId": "sh1234abcd-1234-abcd-5678-1234abcd5678", + "source": { + "sourceType": "SELLER_FACILITY" + } + } }, "ShipmentDestination": { "description": "The Amazon fulfillment center address and warehouse ID.", @@ -9273,13 +13402,13 @@ "description": "The address the shipment should be sent to. Empty if the destination type is `AMAZON_OPTIMIZED`." }, "destinationType": { - "description": "The type of destination for this shipment. Can be `AMAZON_OPTIMIZED`, or `AMAZON_WAREHOUSE`.", + "description": "The type of destination for this shipment. Can be: `AMAZON_OPTIMIZED`, `AMAZON_WAREHOUSE`.", "maxLength": 1024, "minLength": 1, "type": "string" }, "warehouseId": { - "description": "The warehouse that the shipment should be sent to. Empty if the destination type is `AMAZON_OPTIMIZED`.", + "description": "The warehouse that the shipment should be sent to. Empty if the destination type is `AMAZON_OPTIMIZED`.", "maxLength": 1024, "minLength": 1, "type": "string" @@ -9297,7 +13426,7 @@ "$ref": "#/definitions/Address" }, "sourceType": { - "description": "The type of source for this shipment. Can be `SELLER_FACILITY`.", + "description": "The type of source for this shipment. Can be: `SELLER_FACILITY`.", "maxLength": 1024, "minLength": 1, "type": "string" @@ -9312,14 +13441,14 @@ "description": "Summary information about a shipment.", "properties": { "shipmentId": { - "description": "Identifier to a shipment. A shipment contains the boxes and units being inbounded.", + "description": "Identifier of a shipment. A shipment contains the boxes and units being inbounded.", "maxLength": 38, "minLength": 38, "pattern": "^[a-zA-Z0-9-]*$", "type": "string" }, "status": { - "description": "The status of a shipment. The state of the shipment will typically start in `WORKING` and transition to `READY_TO_SHIP` once required actions are complete prior to being picked up or shipped out. Can be `ABANDONED`, `CANCELLED`, `CHECKED_IN`, `CLOSED`, `DELETED`, `DELIVERED`, `IN_TRANSIT`, `MIXED`, `READY_TO_SHIP`, `RECEIVING`, `SHIPPED`, or `WORKING`.", + "description": "The status of a shipment. The state of the shipment will typically start in `WORKING` and transition to `READY_TO_SHIP` once required actions are complete prior to being picked up or shipped out. Can be: `ABANDONED`, `CANCELLED`, `CHECKED_IN`, `CLOSED`, `DELETED`, `DELIVERED`, `IN_TRANSIT`, `MIXED`, `READY_TO_SHIP`, `RECEIVING`, `SHIPPED`, `WORKING`.", "maxLength": 1024, "minLength": 1, "type": "string" @@ -9341,15 +13470,22 @@ "contactInformation": { "$ref": "#/definitions/ContactInformation" }, - "palletInformation": { - "$ref": "#/definitions/PalletInformation" + "freightInformation": { + "$ref": "#/definitions/FreightInformation" + }, + "pallets": { + "description": "List of pallet configuration inputs.", + "items": { + "$ref": "#/definitions/PalletInput" + }, + "type": "array" }, "readyToShipWindow": { "$ref": "#/definitions/WindowInput", - "description": "The range of dates within which the seller intends to ship their items. This is the pick-up date or \u201cready to ship\u201d date, not an estimated delivery date.\n" + "description": "The range of dates within which the seller intends to ship their items. This is the pick-up date or 'ready to ship' date, not an estimated delivery date." }, "shipmentId": { - "description": "Identifier to a shipment. A shipment contains the boxes and units being inbounded.", + "description": "Identifier of a shipment. A shipment contains the boxes and units being inbounded.", "maxLength": 38, "minLength": 38, "pattern": "^[a-zA-Z0-9-]*$", @@ -9366,13 +13502,13 @@ "description": "The shipping configurations supported for the packing option. Available modes are ground small parcel, freight less-than-truckload (LTL), freight full-truckload (FTL) palletized, freight FTL non-palletized, ocean less-than-container-load (LCL), ocean full-container load (FCL), air small parcel, and air small parcel express.", "properties": { "shippingMode": { - "description": "Mode of shipment transportation that this option will provide. Can be `GROUND_SMALL_PARCEL`, `FREIGHT_LTL`, `FREIGHT_FTL_PALLET`, `FREIGHT_FTL_NONPALLET`, `OCEAN_LCL`, `OCEAN_FCL`, `AIR_SMALL_PARCEL`, or `AIR_SMALL_PARCEL_EXPRESS`.", + "description": "Mode of shipment transportation that this option will provide. Can be: `GROUND_SMALL_PARCEL`, `FREIGHT_LTL`, `FREIGHT_FTL_PALLET`, `FREIGHT_FTL_NONPALLET`, `OCEAN_LCL`, `OCEAN_FCL`, `AIR_SMALL_PARCEL`, `AIR_SMALL_PARCEL_EXPRESS`.", "maxLength": 1024, "minLength": 1, "type": "string" }, "shippingSolution": { - "description": "Shipping program for the option. Can be `AMAZON_PARTNERED_CARRIER` or `USE_YOUR_OWN_CARRIER`.", + "description": "Shipping program for the option. Can be: `AMAZON_PARTNERED_CARRIER`, `USE_YOUR_OWN_CARRIER`.", "maxLength": 1024, "minLength": 1, "type": "string" @@ -9421,7 +13557,7 @@ "description": "Contains information used to track and identify a Small Parcel Delivery (SPD) item.", "properties": { "boxId": { - "description": "The ID provided by Amazon that identifies a given box. This ID is comprised of the external shipment ID (which\n is generated after transportation has been confirmed) and the index of the box.", + "description": "The ID provided by Amazon that identifies a given box. This ID is comprised of the external shipment ID (which is generated after transportation has been confirmed) and the index of the box.", "maxLength": 1024, "minLength": 1, "type": "string" @@ -9433,7 +13569,7 @@ "type": "string" }, "trackingNumberValidationStatus": { - "description": "Whether or not Amazon has validated the tracking number. If more than 24 hours have passed and the status is\n not yet 'VALIDATED', please verify the number and update if necessary. Can be `VALIDATED` or `NOT_VALIDATED`.", + "description": "Whether or not Amazon has validated the tracking number. If more than 24 hours have passed and the status is not yet 'VALIDATED', please verify the number and update if necessary. Can be: `VALIDATED`, `NOT_VALIDATED`.", "maxLength": 1024, "minLength": 1, "type": "string" @@ -9445,13 +13581,13 @@ "description": "Small Parcel Delivery (SPD) tracking items input information.", "properties": { "boxId": { - "description": "The ID provided by Amazon that identifies a given box. This ID is comprised of the external shipment ID (which\n is generated after transportation has been confirmed) and the index of the box.", + "description": "The ID provided by Amazon that identifies a given box. This ID is comprised of the external shipment ID (which is generated after transportation has been confirmed) and the index of the box.", "maxLength": 1024, "minLength": 1, "type": "string" }, "trackingId": { - "description": "The tracking Id associated with each box in a non-Amazon partnered Small Parcel Delivery (SPD) shipment. The seller must provide this information. ", + "description": "The tracking Id associated with each box in a non-Amazon partnered Small Parcel Delivery (SPD) shipment. The seller must provide this information.", "maxLength": 1024, "minLength": 1, "type": "string" @@ -9512,16 +13648,14 @@ "properties": { "cessRate": { "description": "Rate of cess tax.", - "format": "double", "type": "number" }, "gstRate": { "description": "Rate of gst tax.", - "format": "double", "type": "number" }, "taxType": { - "description": "Type of tax. Can be `CGST`, `SGST`, `IGST`, or `TOTAL_TAX`.", + "description": "Type of tax. Can be: `CGST`, `SGST`, `IGST`, `TOTAL_TAX`.", "maxLength": 1024, "minLength": 1, "type": "string" @@ -9564,50 +13698,44 @@ "TransportationOption": { "description": "Contains information pertaining to a transportation option and the related carrier.", "properties": { - "appointmentSlot": { - "$ref": "#/definitions/AppointmentSlot" - }, "carrier": { "$ref": "#/definitions/Carrier" }, - "inboundPlanId": { - "description": "Identifier to an inbound plan.", - "maxLength": 38, - "minLength": 38, - "pattern": "^[a-zA-Z0-9-]*$", - "type": "string" + "carrierAppointment": { + "$ref": "#/definitions/CarrierAppointment" }, - "placementOptionId": { - "description": "The identifier of a placement option. A placement option represents the shipment splits and destinations of SKUs.", - "maxLength": 38, - "minLength": 38, - "pattern": "^[a-zA-Z0-9-]*$", - "type": "string" + "preconditions": { + "description": "Identifies a list of preconditions for confirming the transportation option.", + "items": { + "description": "Identifies type of Transportation Option precondition. Values: `CONFIRMED_DELIVERY_WINDOW`", + "type": "string" + }, + "type": "array" }, "quote": { "$ref": "#/definitions/Quote" }, "shipmentId": { - "description": "Identifier to a shipment. A shipment contains the boxes and units being inbounded.", + "description": "Identifier of a shipment. A shipment contains the boxes and units being inbounded.", "maxLength": 38, "minLength": 38, "pattern": "^[a-zA-Z0-9-]*$", "type": "string" }, "shippingMode": { - "description": "The shipping mode associated with the transportation option. Available modes are ground small parcel, freight less-than-truckload (LTL), freight full-truckload (FTL) palletized, freight FTL non-palletized, ocean less-than-container-load (LCL), ocean full-container load (FCL), air small parcel, and air small parcel express.", + "description": "Mode of shipment transportation that this option will provide. Can be: `GROUND_SMALL_PARCEL`, `FREIGHT_LTL`, `FREIGHT_FTL_PALLET`, `FREIGHT_FTL_NONPALLET`, `OCEAN_LCL`, `OCEAN_FCL`, `AIR_SMALL_PARCEL`, `AIR_SMALL_PARCEL_EXPRESS`.", "maxLength": 1024, "minLength": 1, "type": "string" }, "shippingSolution": { - "description": "The shipping solution associated with the transportation option. Available solutions are Amazon-partnered carrier or 'use your own carrier'.", + "description": "Shipping program for the option. Can be: `AMAZON_PARTNERED_CARRIER`, `USE_YOUR_OWN_CARRIER`.", "maxLength": 1024, "minLength": 1, "type": "string" }, "transportationOptionId": { - "description": "Identifier to a transportation option. A transportation option represent one option for how to send a shipment.", + "description": "Identifier of a transportation option. A transportation option represent one option for how to send a shipment.", "maxLength": 38, "minLength": 38, "pattern": "^[a-zA-Z0-9-]*$", @@ -9616,14 +13744,38 @@ }, "required": [ "carrier", - "inboundPlanId", - "placementOptionId", + "preconditions", "shipmentId", "shippingMode", "shippingSolution", "transportationOptionId" ], - "type": "object" + "type": "object", + "example": { + "carrier": { + "alphaCode": "ABCD", + "name": "Carrier Name" + }, + "carrierAppointment": { + "endTime": "2024-01-06T14:48:00.000Z", + "startTime": "2024-01-05T14:48:00.000Z" + }, + "preconditions": [ + "CONFIRMED_DELIVERY_WINDOW" + ], + "quote": { + "cost": { + "amount": 5.5, + "code": "CAD" + }, + "expiration": "2024-01-06T14:48:00.000Z", + "voidableUntil": "2024-01-05T14:48:00.000Z" + }, + "shipmentId": "sh1234abcd-1234-abcd-5678-1234abcd5678", + "shippingMode": "GROUND_SMALL_PARCEL", + "shippingSolution": "AMAZON_PARTNERED_CARRIER", + "transportationOptionId": "to1234abcd-1234-abcd-5678-1234abcd5678" + } }, "TransportationSelection": { "description": "The transportation option selected to confirm.", @@ -9631,10 +13783,6 @@ "contactInformation": { "$ref": "#/definitions/ContactInformation" }, - "deliveryWindow": { - "$ref": "#/definitions/WindowInput", - "description": "The range of dates within which the seller expects that their shipment will be delivered to Amazon.\n" - }, "shipmentId": { "description": "Shipment ID that the transportation Option is for.", "maxLength": 38, @@ -9692,6 +13840,24 @@ } ] }, + "UpdateInboundPlanNameRequest": { + "description": "The `updateInboundPlanName` request.", + "properties": { + "name": { + "description": "A human-readable name to update the inbound plan name to.", + "maxLength": 40, + "minLength": 1, + "type": "string" + } + }, + "required": [ + "name" + ], + "type": "object", + "example": { + "name": "name" + } + }, "UpdateItemComplianceDetailsRequest": { "description": "The `updateItemComplianceDetails` request.", "properties": { @@ -9737,26 +13903,52 @@ ], "type": "object" }, - "UpdateShipmentDeliveryWindowRequest": { - "description": "The `updateShipmentDeliveryWindow` request.", + "UpdateShipmentNameRequest": { + "description": "The `updateShipmentName` request.", "properties": { - "deliveryWindow": { - "$ref": "#/definitions/WindowInput", - "description": "The range of dates within which the seller expects that their shipment will be delivered to Amazon.\n" + "name": { + "description": "A human-readable name to update the shipment name to.", + "maxLength": 100, + "minLength": 1, + "type": "string" + } + }, + "required": [ + "name" + ], + "type": "object", + "example": { + "name": "name" + } + }, + "UpdateShipmentSourceAddressRequest": { + "description": "The `UpdateShipmentSourceAddress` request.", + "properties": { + "address": { + "$ref": "#/definitions/AddressInput" } }, "required": [ - "deliveryWindow" + "address" ], "type": "object", "example": { - "deliveryWindow": { - "start": "2024-01-01T00:00Z" + "address": { + "addressLine1": "123 example street", + "addressLine2": "Floor 19", + "city": "Toronto", + "companyName": "Acme", + "countryCode": "CA", + "email": "email@email.com", + "name": "name", + "phoneNumber": "1234567890", + "postalCode": "M1M1M1", + "stateOrProvinceCode": "ON" } } }, - "UpdateShipmentDeliveryWindowResponse": { - "description": "The `updateShipmentDeliveryWindow` response.", + "UpdateShipmentSourceAddressResponse": { + "description": "The `UpdateShipmentSourceAddress` response.", "properties": { "operationId": { "description": "UUID for the given operation.", @@ -9819,7 +14011,6 @@ }, "value": { "description": "Value of a weight.", - "format": "double", "maximum": 100000, "minimum": 0, "type": "number" @@ -9854,7 +14045,12 @@ "end", "start" ], - "type": "object" + "type": "object", + "example": { + "editableUntil": "2024-01-05T20:00:00.000Z", + "end": "2024-01-05T20:00:00.000Z", + "start": "2024-01-05T14:00:00.000Z" + } }, "WindowInput": { "description": "Contains only a starting DateTime.", From 1fa0c98ebae4455734dfc817291b2237f6e59e6e Mon Sep 17 00:00:00 2001 From: Gibran Waldron Date: Wed, 19 Jun 2024 09:48:03 -0700 Subject: [PATCH 074/340] Add Amazon Warehousing and Distribution model to Github. --- .../awd_2024-05-09.json | 1640 +++++++++++++++++ 1 file changed, 1640 insertions(+) create mode 100644 models/amazon-warehousing-and-distribution-model/awd_2024-05-09.json diff --git a/models/amazon-warehousing-and-distribution-model/awd_2024-05-09.json b/models/amazon-warehousing-and-distribution-model/awd_2024-05-09.json new file mode 100644 index 000000000..c8e7f4c28 --- /dev/null +++ b/models/amazon-warehousing-and-distribution-model/awd_2024-05-09.json @@ -0,0 +1,1640 @@ +{ + "swagger": "2.0", + "info": { + "title": "The Selling Partner API for AWD", + "version": "2024-05-09", + "description": "The Selling Partner API for Amazon Warehousing and Distribution (AWD).", + "contact": { + "name": "Selling Partner API Developer Support", + "url": "https://sellercentral.amazon.com/gp/mws/contactus.html" + }, + "license": { + "name": "Apache License 2.0", + "url": "https://www.apache.org/licenses/LICENSE-2.0" + } + }, + "host": "sellingpartnerapi-na.amazon.com", + "schemes": [ + "https" + ], + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "paths": { + "/awd/2024-05-09/inboundShipments/{shipmentId}": { + "get": { + "produces": [ + "application/json" + ], + "parameters": [ + { + "description": "ID for the shipment. A shipment contains the cases being inbounded.", + "in": "path", + "minLength": 1, + "name": "shipmentId", + "required": true, + "type": "string" + } + ], + "responses": { + "200": { + "description": "The 200 response for `getInboundShipment`.", + "headers": { + "x-amzn-RateLimit-Limit": { + "description": "Your rate limit (requests per second) for this operation.", + "type": "string" + }, + "x-amzn-RequestId": { + "description": "Unique request reference identifier.", + "type": "string" + } + }, + "schema": { + "$ref": "#/definitions/InboundShipment" + }, + "x-amzn-api-sandbox": { + "static": [ + { + "request": { + "parameters": { + "shipmentId": { + "value": "TestShipmentId" + } + } + }, + "response": { + "createdAt": "2023-06-07T12:12:09.061Z", + "destinationAddress": { + "addressLine1": "address_line_1", + "addressLine2": "address_line_2", + "addressLine3": "address_line_3", + "city": "City1", + "countryCode": "CC", + "district": "District1", + "name": "DestinationName", + "postalCode": "123456", + "stateOrRegion": "State1" + }, + "orderId": "TestOrderId", + "originAddress": { + "addressLine1": "address_1", + "addressLine2": "address_2", + "addressLine3": "address_3", + "city": "City1", + "countryCode": "CC", + "district": "District1", + "name": "address_name", + "postalCode": "123456", + "stateOrRegion": "State1" + }, + "receivedQuantity": [ + { + "quantity": 0, + "unitOfMeasurement": "CASES" + } + ], + "shipmentContainerQuantities": [ + { + "count": 2, + "distributionPackage": { + "contents": { + "packages": [], + "products": [ + { + "quantity": 20, + "sku": "testPen" + } + ] + }, + "measurements": { + "dimensions": { + "height": 33.02, + "length": 45.72, + "unitOfMeasurement": "CENTIMETERS", + "width": 15.24 + }, + "weight": { + "unitOfMeasurement": "KILOGRAMS", + "weight": 5.443104 + } + }, + "type": "CASE" + } + } + ], + "shipmentId": "TestShipmentId", + "shipmentStatus": "CREATED", + "updatedAt": "2023-06-07T12:12:09.061Z" + } + } + ] + } + }, + "400": { + "description": "Request has missing or invalid parameters and cannot be parsed.", + "headers": { + "x-amzn-RateLimit-Limit": { + "description": "Your rate limit (requests per second) for this operation.", + "type": "string" + }, + "x-amzn-RequestId": { + "description": "Unique request reference identifier.", + "type": "string" + } + }, + "schema": { + "$ref": "#/definitions/ErrorList" + }, + "x-amzn-api-sandbox": { + "static": [ + { + "request": { + "parameters": { + "shipmentId": { + "value": " " + } + } + }, + "response": { + "errors": [ + { + "code": "BAD_REQUEST", + "details": "This exception is thrown when client inputs are invalid", + "message": "ShipmentId should be present for this request" + } + ] + } + } + ] + } + }, + "403": { + "description": "Indicates that access to the resource is forbidden. Possible reasons include Access Denied, Unauthorized, Expired Token, or Invalid Signature.", + "headers": { + "x-amzn-RequestId": { + "description": "Unique request reference identifier.", + "type": "string" + } + }, + "schema": { + "$ref": "#/definitions/ErrorList" + } + }, + "404": { + "description": "The resource specified does not exist.", + "headers": { + "x-amzn-RateLimit-Limit": { + "description": "Your rate limit (requests per second) for this operation.", + "type": "string" + }, + "x-amzn-RequestId": { + "description": "Unique request reference identifier.", + "type": "string" + } + }, + "schema": { + "$ref": "#/definitions/ErrorList" + } + }, + "413": { + "description": "The request size exceeded the maximum accepted size.", + "headers": { + "x-amzn-RequestId": { + "description": "Unique request reference identifier.", + "type": "string" + } + }, + "schema": { + "$ref": "#/definitions/ErrorList" + } + }, + "415": { + "description": "The request payload is in an unsupported format.", + "headers": { + "x-amzn-RequestId": { + "description": "Unique request reference identifier.", + "type": "string" + } + }, + "schema": { + "$ref": "#/definitions/ErrorList" + } + }, + "429": { + "description": "The frequency of requests was greater than allowed.", + "headers": { + "x-amzn-RequestId": { + "description": "Unique request reference identifier.", + "type": "string" + } + }, + "schema": { + "$ref": "#/definitions/ErrorList" + } + }, + "500": { + "description": "An unexpected condition occurred that prevented the server from fulfilling the request.", + "headers": { + "x-amzn-RequestId": { + "description": "Unique request reference identifier.", + "type": "string" + } + }, + "schema": { + "$ref": "#/definitions/ErrorList" + } + }, + "503": { + "description": "Temporary overloading or maintenance of the server.", + "headers": { + "x-amzn-RequestId": { + "description": "Unique request reference identifier.", + "type": "string" + } + }, + "schema": { + "$ref": "#/definitions/ErrorList" + } + } + }, + "tags": [ + "awd" + ], + "description": "Retrieves an AWD inbound shipment.", + "operationId": "getInboundShipment" + } + }, + "/awd/2024-05-09/inboundShipments": { + "get": { + "produces": [ + "application/json" + ], + "parameters": [ + { + "description": "Field to sort results by. Required if `sortOrder` is provided.", + "enum": [ + "UPDATED_AT", + "CREATED_AT" + ], + "in": "query", + "name": "sortBy", + "type": "string", + "x-docgen-enum-table-extension": [ + { + "description": "Sort by `Updated at`timestamp.", + "value": "UPDATED_AT" + }, + { + "description": "Sort by `Created at` timestamp.", + "value": "CREATED_AT" + } + ] + }, + { + "description": "Sort the response in `ASCENDING` or `DESCENDING` order.", + "enum": [ + "ASCENDING", + "DESCENDING" + ], + "in": "query", + "name": "sortOrder", + "type": "string", + "x-docgen-enum-table-extension": [ + { + "description": "Sorts the collection in ascending order.", + "value": "ASCENDING" + }, + { + "description": "Sorts the collection in descending order.", + "value": "DESCENDING" + } + ], + "x-example": "ASCENDING" + }, + { + "description": "Filter by inbound shipment status.", + "enum": [ + "CREATED", + "SHIPPED", + "IN_TRANSIT", + "RECEIVING", + "DELIVERED", + "CLOSED", + "CANCELLED" + ], + "in": "query", + "name": "shipmentStatus", + "type": "string", + "x-docgen-enum-table-extension": [ + { + "description": "Shipment is created, but hasn't shipped.", + "value": "CREATED" + }, + { + "description": "Shipment was picked up by the carrier or was dropped off with the carrier.", + "value": "SHIPPED" + }, + { + "description": "The carrier has notified AWD that the shipment is in transit between the origin and destination nodes.", + "value": "IN_TRANSIT" + }, + { + "description": "The shipment has been partially received.", + "value": "RECEIVING" + }, + { + "description": "The shipment has reached the destination node and has been delivered to the facility yard. The shipment `receive` process at the warehouse will start soon.", + "value": "DELIVERED" + }, + { + "description": "No more actions are required for the shipment. This is a final state.", + "value": "CLOSED" + }, + { + "description": "The shipment is cancelled. This is a final state.", + "value": "CANCELLED" + } + ], + "x-example": "CREATED" + }, + { + "description": "List the inbound shipments that were updated after a certain time (inclusive). The date must be in ISO 8601 format.", + "format": "date-time", + "in": "query", + "name": "updatedAfter", + "type": "string", + "x-example": "2023-01-12T10:00:00.000Z" + }, + { + "description": "List the inbound shipments that were updated before a certain time (inclusive). The date must be in ISO 8601 format.", + "format": "date-time", + "in": "query", + "name": "updatedBefore", + "type": "string", + "x-example": "2023-01-12T10:00:00.000Z" + }, + { + "default": 25, + "description": "Maximum number of results to return.", + "format": "int32", + "in": "query", + "maximum": 200, + "minimum": 1, + "name": "maxResults", + "type": "integer", + "x-example": "10" + }, + { + "description": "Token to retrieve the next set of paginated results.", + "in": "query", + "name": "nextToken", + "type": "string", + "x-example": "SampleToken" + } + ], + "responses": { + "200": { + "description": "The 200 response for `listInboundShipments`.", + "headers": { + "x-amzn-RateLimit-Limit": { + "description": "Your rate limit (requests per second) for this operation.", + "type": "string" + }, + "x-amzn-RequestId": { + "description": "Unique request reference identifier.", + "type": "string" + } + }, + "schema": { + "$ref": "#/definitions/ShipmentListing" + }, + "x-amzn-api-sandbox": { + "static": [ + { + "request": { + "parameters": {} + }, + "response": { + "shipments": [{ + "createdAt": "2023-06-07T12:12:09.061Z", + "orderId": "TestOrderId", + "shipmentId": "TestShipmentId", + "shipmentStatus": "CREATED", + "updatedAt": "2023-06-07T12:12:09.061Z" + }] + } + } + ] + } + }, + "400": { + "description": "Request has missing or invalid parameters and cannot be parsed.", + "headers": { + "x-amzn-RateLimit-Limit": { + "description": "Your rate limit (requests per second) for this operation.", + "type": "string" + }, + "x-amzn-RequestId": { + "description": "Unique request reference identifier.", + "type": "string" + } + }, + "schema": { + "$ref": "#/definitions/ErrorList" + }, + "x-amzn-api-sandbox": { + "static": [ + { + "request": { + "parameters": { + "sortBy": { + "value": "TEST" + } + } + }, + "response": { + "errors": [ + { + "code": "BAD_REQUEST", + "details": "This exception is thrown when client inputs are invalid", + "message": "Invalid shipment sortable field received: TEST" + } + ] + } + } + ] + } + }, + "403": { + "description": "Indicates that access to the resource is forbidden. Possible reasons include Access Denied, Unauthorized, Expired Token, or Invalid Signature.", + "headers": { + "x-amzn-RequestId": { + "description": "Unique request reference identifier.", + "type": "string" + } + }, + "schema": { + "$ref": "#/definitions/ErrorList" + } + }, + "404": { + "description": "The resource specified does not exist.", + "headers": { + "x-amzn-RateLimit-Limit": { + "description": "Your rate limit (requests per second) for this operation.", + "type": "string" + }, + "x-amzn-RequestId": { + "description": "Unique request reference identifier.", + "type": "string" + } + }, + "schema": { + "$ref": "#/definitions/ErrorList" + } + }, + "413": { + "description": "The request size exceeded the maximum accepted size.", + "headers": { + "x-amzn-RequestId": { + "description": "Unique request reference identifier.", + "type": "string" + } + }, + "schema": { + "$ref": "#/definitions/ErrorList" + } + }, + "415": { + "description": "The request payload is in an unsupported format.", + "headers": { + "x-amzn-RequestId": { + "description": "Unique request reference identifier.", + "type": "string" + } + }, + "schema": { + "$ref": "#/definitions/ErrorList" + } + }, + "429": { + "description": "The frequency of requests was greater than allowed.", + "headers": { + "x-amzn-RequestId": { + "description": "Unique request reference identifier.", + "type": "string" + } + }, + "schema": { + "$ref": "#/definitions/ErrorList" + } + }, + "500": { + "description": "An unexpected condition occurred that prevented the server from fulfilling the request.", + "headers": { + "x-amzn-RequestId": { + "description": "Unique request reference identifier.", + "type": "string" + } + }, + "schema": { + "$ref": "#/definitions/ErrorList" + } + }, + "503": { + "description": "Temporary overloading or maintenance of the server.", + "headers": { + "x-amzn-RequestId": { + "description": "Unique request reference identifier.", + "type": "string" + } + }, + "schema": { + "$ref": "#/definitions/ErrorList" + } + } + }, + "tags": [ + "awd" + ], + "description": "Retrieves a summary for all the inbound AWD shipments associated with a merchant, with the ability to apply optional filters.", + "operationId": "listInboundShipments" + } + }, + "/awd/2024-05-09/inventory": { + "get": { + "produces": [ + "application/json" + ], + "parameters": [ + { + "description": "Filter by seller or merchant SKU for the item.", + "in": "query", + "name": "sku", + "type": "string", + "x-example": "TestSKU" + }, + { + "description": "Sort the response in `ASCENDING` or `DESCENDING` order.", + "enum": [ + "ASCENDING", + "DESCENDING" + ], + "in": "query", + "name": "sortOrder", + "type": "string", + "x-docgen-enum-table-extension": [ + { + "description": "Sorts the collection in ascending order.", + "value": "ASCENDING" + }, + { + "description": "Sorts the collection in descending order.", + "value": "DESCENDING" + } + ] + }, + { + "description": "Set to `SHOW` to return summaries with additional inventory details. Defaults to `HIDE,` which returns only inventory summary totals.", + "enum": [ + "SHOW", + "HIDE" + ], + "in": "query", + "name": "details", + "type": "string", + "x-docgen-enum-table-extension": [ + { + "description": "Show the additional summarized inventory details.", + "value": "SHOW" + }, + { + "description": "Hide the additional summarized inventory details.", + "value": "HIDE" + } + ], + "x-example": "SHOW" + }, + { + "description": "Token to retrieve the next set of paginated results.", + "in": "query", + "name": "nextToken", + "type": "string", + "x-example": "SampleToken" + }, + { + "default": 25, + "description": "Maximum number of results to return.", + "format": "int32", + "in": "query", + "maximum": 200, + "minimum": 1, + "name": "maxResults", + "type": "integer", + "x-example": "10" + } + ], + "responses": { + "200": { + "description": "The 200 response for `listInventory`.", + "headers": { + "x-amzn-RateLimit-Limit": { + "description": "Your rate limit (requests per second) for this operation.", + "type": "string" + }, + "x-amzn-RequestId": { + "description": "Unique request reference identifier.", + "type": "string" + } + }, + "schema": { + "$ref": "#/definitions/InventoryListing" + }, + "x-amzn-api-sandbox": { + "static": [ + { + "request": {}, + "response": { + "inventory": [ + { + "totalOnhandQuantity": 20, + "sku": "100TestSKU1Pen", + "inventoryDetails": { + "availableDistributableQuantity": 10, + "reservedDistributableQuantity": 10 + } + }, + { + "totalOnhandQuantity": 20, + "sku": "2U-BKEX-VW4D", + "inventoryDetails": { + "availableDistributableQuantity": 10, + "reservedDistributableQuantity": 10 + } + } + ] + } + } + ] + } + }, + "400": { + "description": "Request has missing or invalid parameters and cannot be parsed.", + "headers": { + "x-amzn-RateLimit-Limit": { + "description": "Your rate limit (requests per second) for this operation.", + "type": "string" + }, + "x-amzn-RequestId": { + "description": "Unique request reference identifier.", + "type": "string" + } + }, + "schema": { + "$ref": "#/definitions/ErrorList" + }, + "x-amzn-api-sandbox": { + "static": [ + { + "request": { + "parameters": { + "sortOrder": { + "value": "UNKNOWN" + } + } + }, + "response": { + "errors": [ + { + "code": "BAD_REQUEST", + "details": "This exception is thrown when client inputs are invalid", + "message": "Invalid value: UNKNOWN passed for sort order. Possible values are: [ASCENDING, DESCENDING]" + } + ] + } + } + ] + } + }, + "403": { + "description": "Indicates that access to the resource is forbidden. Possible reasons include Access Denied, Unauthorized, Expired Token, or Invalid Signature.", + "headers": { + "x-amzn-RequestId": { + "description": "Unique request reference identifier.", + "type": "string" + } + }, + "schema": { + "$ref": "#/definitions/ErrorList" + } + }, + "404": { + "description": "The resource specified does not exist.", + "headers": { + "x-amzn-RateLimit-Limit": { + "description": "Your rate limit (requests per second) for this operation.", + "type": "string" + }, + "x-amzn-RequestId": { + "description": "Unique request reference identifier.", + "type": "string" + } + }, + "schema": { + "$ref": "#/definitions/ErrorList" + } + }, + "413": { + "description": "The request size exceeded the maximum accepted size.", + "headers": { + "x-amzn-RequestId": { + "description": "Unique request reference identifier.", + "type": "string" + } + }, + "schema": { + "$ref": "#/definitions/ErrorList" + } + }, + "415": { + "description": "The request payload is in an unsupported format.", + "headers": { + "x-amzn-RequestId": { + "description": "Unique request reference identifier.", + "type": "string" + } + }, + "schema": { + "$ref": "#/definitions/ErrorList" + } + }, + "429": { + "description": "The frequency of requests was greater than allowed.", + "headers": { + "x-amzn-RequestId": { + "description": "Unique request reference identifier.", + "type": "string" + } + }, + "schema": { + "$ref": "#/definitions/ErrorList" + } + }, + "500": { + "description": "An unexpected condition occurred that prevented the server from fulfilling the request.", + "headers": { + "x-amzn-RequestId": { + "description": "Unique request reference identifier.", + "type": "string" + } + }, + "schema": { + "$ref": "#/definitions/ErrorList" + } + }, + "503": { + "description": "Temporary overloading or maintenance of the server.", + "headers": { + "x-amzn-RequestId": { + "description": "Unique request reference identifier.", + "type": "string" + } + }, + "schema": { + "$ref": "#/definitions/ErrorList" + } + } + }, + "tags": [ + "awd" + ], + "description": "Lists AWD inventory associated with a merchant with the ability to apply optional filters.", + "operationId": "listInventory" + } + } + }, + "definitions": { + "Address": { + "description": "Shipping address that represents the origin or destination location.", + "properties": { + "addressLine1": { + "description": "First line of the address text.", + "type": "string" + }, + "addressLine2": { + "description": "Optional second line of the address text.", + "type": "string" + }, + "addressLine3": { + "description": "Optional third line of the address text.", + "type": "string" + }, + "city": { + "description": "Optional city where this address is located.", + "type": "string" + }, + "countryCode": { + "description": "Two-digit, ISO 3166-1 alpha-2 formatted country code where this address is located.", + "type": "string" + }, + "county": { + "description": "Optional county where this address is located.", + "type": "string", + "example": "Washington" + }, + "district": { + "description": "Optional district where this address is located.", + "type": "string" + }, + "name": { + "description": "Name of the person, business, or institution at this address.", + "type": "string" + }, + "phoneNumber": { + "description": "Optional E.164-formatted phone number for an available contact at this address.", + "type": "string", + "example": "+14155552671" + }, + "postalCode": { + "description": "Optional postal code where this address is located.", + "type": "string" + }, + "stateOrRegion": { + "description": "State or region where this address is located. Note that this is contextual to the specified country code.", + "type": "string" + } + }, + "required": [ + "addressLine1", + "countryCode", + "name", + "stateOrRegion" + ], + "type": "object", + "example": { + "addressLine1": "address_1", + "addressLine2": "address_2", + "addressLine3": "address_3", + "city": "Seattle", + "countryCode": "US", + "county": "Washington", + "district": "District1", + "name": "address_name", + "phoneNumber": "+14155552671", + "postalCode": "123456", + "stateOrRegion": "Washington" + } + }, + "CarrierCode": { + "description": "Identifies the carrier that will deliver the shipment.", + "properties": { + "carrierCodeType": { + "description": "Denotes the carrier type.", + "$ref": "#/definitions/CarrierCodeType" + }, + "carrierCodeValue": { + "description": "Value of the carrier code.", + "type": "string", + "example": "TestCarrierCode" + } + }, + "type": "object", + "example": { + "carrierCodeType": "SCAC", + "carrierCodeValue": "TestCarrierCode" + } + }, + "CarrierCodeType": { + "description": "Denotes the type for the carrier.", + "enum": [ + "SCAC" + ], + "type": "string", + "x-docgen-enum-table-extension": [ + { + "description": "Standard Carrier Alpha Code. Ref: https://help.cbp.gov/s/article/Article-572?language=en_US.", + "value": "SCAC" + } + ], + "example": "SCAC" + }, + "DimensionUnitOfMeasurement": { + "description": "Unit of measurement for package dimensions.", + "enum": [ + "INCHES", + "CENTIMETERS" + ], + "type": "string", + "x-docgen-enum-table-extension": [ + { + "description": "Denotes package dimensions in inches.", + "value": "INCHES" + }, + { + "description": "Denotes package dimensions in centimeters.", + "value": "CENTIMETERS" + } + ], + "example": "INCHES" + }, + "DistributionPackage": { + "description": "Represents an AWD distribution package.", + "properties": { + "contents": { + "description": "The contents appropriate for the type.", + "$ref": "#/definitions/DistributionPackageContents" + }, + "measurements": { + "description": "Measurements of a package, including weight, volume, and dimensions.", + "$ref": "#/definitions/MeasurementData" + }, + "type": { + "description": "Type of distribution package.", + "$ref": "#/definitions/DistributionPackageType" + } + }, + "required": [ + "contents", + "measurements", + "type" + ], + "type": "object", + "example": { + "contents": { + "products": [ + { + "quantity": 1, + "sku": "testPen" + } + ] + }, + "measurements": { + "dimensions": { + "height": 1, + "length": 1, + "unitOfMeasurement": "INCHES", + "width": 1 + }, + "volume": { + "unitOfMeasurement": "CUIN", + "volume": 1 + }, + "weight": { + "unitOfMeasurement": "POUNDS", + "weight": 1 + } + }, + "type": "CASE" + } + }, + "DistributionPackageContents": { + "description": "Represents the contents inside a package, which can be products or a nested package.", + "properties": { + "packages": { + "description": "This is required only when `DistributionPackageType=PALLET`.", + "items": { + "$ref": "#/definitions/DistributionPackageQuantity" + }, + "type": "array" + }, + "products": { + "description": "This is required only when `DistributionPackageType=CASE`.", + "items": { + "$ref": "#/definitions/ProductQuantity" + }, + "type": "array" + } + }, + "type": "object" + }, + "DistributionPackageQuantity": { + "description": "Represents a distribution package with its respective quantity.", + "properties": { + "count": { + "description": "Number of cases or pallets with the same package configuration.", + "format": "int32", + "type": "integer" + }, + "distributionPackage": { + "$ref": "#/definitions/DistributionPackage" + } + }, + "required": [ + "count", + "distributionPackage" + ], + "type": "object", + "example": { + "count": 1, + "distributionPackage": { + "contents": { + "products": [ + { + "quantity": 1, + "sku": "testPen" + } + ] + }, + "measurements": { + "dimensions": { + "height": 1, + "length": 1, + "unitOfMeasurement": "INCHES", + "width": 1 + }, + "volume": { + "unitOfMeasurement": "CUIN", + "volume": 1 + }, + "weight": { + "unitOfMeasurement": "POUNDS", + "weight": 1 + } + }, + "type": "CASE" + } + } + }, + "DistributionPackageType": { + "description": "Type of distribution packages.", + "enum": [ + "CASE", + "PALLET" + ], + "type": "string", + "x-docgen-enum-table-extension": [ + { + "description": "Package type `CASE`.", + "value": "CASE" + }, + { + "description": "Package type `PALLET`. Currently, the `PALLET` package type is not supported.", + "value": "PALLET" + } + ], + "example": "CASE" + }, + "Error": { + "description": "Error response returned when the request is unsuccessful.", + "properties": { + "code": { + "description": "An error code that identifies the type of error that occurred.", + "type": "string" + }, + "details": { + "description": "Additional details that can help the caller understand or fix the issue.", + "type": "string" + }, + "message": { + "description": "A message that describes the error condition.", + "type": "string" + } + }, + "required": [ + "code", + "message" + ], + "type": "object" + }, + "ErrorList": { + "description": "This exception is thrown when client inputs are invalid.", + "properties": { + "errors": { + "description": "A list of errors describing the failures.", + "items": { + "$ref": "#/definitions/Error" + }, + "type": "array" + } + }, + "type": "object", + "required": [ + "errors" + ] + }, + "InboundShipment": { + "description": "Represents an AWD inbound shipment.", + "properties": { + "carrierCode": { + "description": "The shipment carrier code.", + "$ref": "#/definitions/CarrierCode" + }, + "createdAt": { + "description": "Timestamp when the shipment was created. The date is returned in ISO 8601 format.", + "format": "date-time", + "type": "string" + }, + "destinationAddress": { + "description": "Destination address for this shipment.", + "$ref": "#/definitions/Address" + }, + "externalReferenceId": { + "description": "Client-provided reference ID that can correlate this shipment to client resources. For example, to map this shipment to an internal bookkeeping order record.", + "type": "string", + "example": "TestReferenceId" + }, + "orderId": { + "description": "The AWD inbound order ID that this inbound shipment belongs to.", + "minLength": 1, + "type": "string" + }, + "originAddress": { + "description": "Origin address for this shipment.", + "$ref": "#/definitions/Address" + }, + "receivedQuantity": { + "description": "Quantity received (at the receiving end) as part of this shipment.", + "items": { + "$ref": "#/definitions/InventoryQuantity" + }, + "type": "array" + }, + "shipBy": { + "description": "Timestamp when the shipment will be shipped.", + "format": "date-time", + "type": "string" + }, + "shipmentContainerQuantities": { + "description": "Packages that are part of this shipment.", + "items": { + "$ref": "#/definitions/DistributionPackageQuantity" + }, + "type": "array" + }, + "shipmentId": { + "description": "Unique shipment ID.", + "minLength": 1, + "type": "string" + }, + "shipmentStatus": { + "description": "Current status of this shipment.", + "$ref": "#/definitions/InboundShipmentStatus" + }, + "trackingId": { + "description": "Carrier-unique tracking ID for this shipment.", + "minLength": 1, + "type": "string" + }, + "updatedAt": { + "description": "Timestamp when the shipment was updated. The date is returned in ISO 8601 format.", + "format": "date-time", + "type": "string" + }, + "warehouseReferenceId": { + "description": "An AWD-provided reference ID that you can use to interact with the warehouse. For example, a carrier appointment booking.", + "type": "string", + "example": "TestWarehouseReferenceId" + } + }, + "required": [ + "destinationAddress", + "orderId", + "originAddress", + "shipmentContainerQuantities", + "shipmentId", + "shipmentStatus" + ], + "type": "object" + }, + "InboundShipmentStatus": { + "description": "Possible shipment statuses used by shipments.", + "enum": [ + "CREATED", + "SHIPPED", + "IN_TRANSIT", + "RECEIVING", + "DELIVERED", + "CLOSED", + "CANCELLED" + ], + "type": "string", + "x-docgen-enum-table-extension": [ + { + "description": "Shipment is created but has not yet shipped.", + "value": "CREATED" + }, + { + "description": "Shipment was picked up by the carrier or was dropped off with the carrier.", + "value": "SHIPPED" + }, + { + "description": "The carrier has notified AWD that the shipment is in transit between origin and destination node.", + "value": "IN_TRANSIT" + }, + { + "description": "The shipment has been partially received.", + "value": "RECEIVING" + }, + { + "description": "The shipment has reached the destination node and has been delivered to the facility yard. The shipment receive process at the warehouse will start soon.", + "value": "DELIVERED" + }, + { + "description": "No more actions required on the shipment. This is a final state.", + "value": "CLOSED" + }, + { + "description": "Shipment has been cancelled. This is a final state.", + "value": "CANCELLED" + } + ] + }, + "InboundShipmentSummary": { + "description": "Summary for an AWD inbound shipment containing the shipment ID, which can be used to retrieve the actual shipment.", + "properties": { + "createdAt": { + "description": "Timestamp when the shipment was created.", + "format": "date-time", + "type": "string" + }, + "externalReferenceId": { + "description": "Optional client-provided reference ID that can be used to correlate this shipment with client resources. For example, to map this shipment to an internal bookkeeping order record.", + "type": "string", + "example": "TestReferenceId" + }, + "orderId": { + "description": "The AWD inbound order ID that this inbound shipment belongs to.", + "minLength": 1, + "type": "string" + }, + "shipmentId": { + "description": "A unique shipment ID.", + "minLength": 1, + "type": "string" + }, + "shipmentStatus": { + "$ref": "#/definitions/InboundShipmentStatus" + }, + "updatedAt": { + "description": "Timestamp when the shipment was updated.", + "format": "date-time", + "type": "string" + } + }, + "required": [ + "orderId", + "shipmentId", + "shipmentStatus" + ], + "type": "object" + }, + "InventoryDetails": { + "description": "Additional inventory details. This object is only displayed if the details parameter in the request is set to `SHOW`.", + "properties": { + "availableDistributableQuantity": { + "description": "Quantity that is available for downstream channel replenishment.", + "format": "int64", + "type": "integer" + }, + "reservedDistributableQuantity": { + "description": "Quantity that is reserved for a downstream channel replenishment order that is being prepared for shipment.", + "format": "int64", + "type": "integer" + } + }, + "type": "object" + }, + "InventoryDetailsVisibility": { + "description": "Enum to specify if returned summaries should include additional summarized inventory details and quantities.", + "enum": [ + "SHOW", + "HIDE" + ], + "type": "string", + "x-docgen-enum-table-extension": [ + { + "description": "Show the additional summarized inventory details.", + "value": "SHOW" + }, + { + "description": "Hide the additional summarized inventory details.", + "value": "HIDE" + } + ], + "example": "SHOW" + }, + "InventoryListing": { + "description": "AWD inventory payload.", + "properties": { + "inventory": { + "description": "List of inventory summaries.", + "items": { + "$ref": "#/definitions/InventorySummary" + }, + "type": "array" + }, + "nextToken": { + "description": "Token to retrieve the next set of paginated results.", + "type": "string", + "example": "SampleToken" + } + }, + "required": [ + "inventory" + ], + "type": "object" + }, + "InventoryQuantity": { + "description": "Quantity of inventory with an associated measurement unit context.", + "properties": { + "quantity": { + "description": "Quantity of the respective inventory.", + "type": "number" + }, + "unitOfMeasurement": { + "description": "Unit of measurement for the inventory.", + "$ref": "#/definitions/InventoryUnitOfMeasurement" + } + }, + "required": [ + "quantity", + "unitOfMeasurement" + ], + "type": "object" + }, + "InventorySummary": { + "description": "Summary of inventory per SKU.", + "properties": { + "inventoryDetails": { + "$ref": "#/definitions/InventoryDetails" + }, + "sku": { + "description": "The seller or merchant SKU.", + "type": "string" + }, + "totalOnhandQuantity": { + "description": "Total quantity that is present in AWD distribution centers.", + "format": "int64", + "type": "integer" + } + }, + "required": [ + "sku" + ], + "type": "object" + }, + "InventoryUnitOfMeasurement": { + "description": "Unit of measurement for the inventory.", + "enum": [ + "PRODUCT_UNITS", + "CASES", + "PALLETS" + ], + "type": "string", + "x-docgen-enum-table-extension": [ + { + "description": "Measures a discrete amount of product units.", + "value": "PRODUCT_UNITS" + }, + { + "description": "Measures a discrete amount of cases.", + "value": "CASES" + }, + { + "description": "Measures a discrete amount of pallets.", + "value": "PALLETS" + } + ] + }, + "MeasurementData": { + "description": "Package weight and dimension.", + "properties": { + "dimensions": { + "description": "Dimensions of the package. Dimensions are required when creating an inbound or outbound order.", + "$ref": "#/definitions/PackageDimensions" + }, + "volume": { + "description": "Volume of the package.", + "$ref": "#/definitions/PackageVolume" + }, + "weight": { + "description": "Weight of the package.", + "$ref": "#/definitions/PackageWeight" + } + }, + "required": [ + "weight" + ], + "type": "object" + }, + "PackageDimensions": { + "description": "Dimensions of the package.", + "properties": { + "height": { + "description": "Height of the package.", + "format": "double", + "type": "number" + }, + "length": { + "description": "Length of the package.", + "format": "double", + "type": "number" + }, + "unitOfMeasurement": { + "description": "Unit of measurement for package dimensions.", + "$ref": "#/definitions/DimensionUnitOfMeasurement" + }, + "width": { + "description": "Width of the package.", + "format": "double", + "type": "number" + } + }, + "required": [ + "height", + "length", + "unitOfMeasurement", + "width" + ], + "type": "object" + }, + "PackageVolume": { + "description": "Represents the volume of the package with a unit of measurement.", + "properties": { + "unitOfMeasurement": { + "description": "Unit of measurement for the package volume.", + "$ref": "#/definitions/VolumeUnitOfMeasurement" + }, + "volume": { + "description": "The package volume value.", + "format": "double", + "type": "number" + } + }, + "required": [ + "unitOfMeasurement", + "volume" + ], + "type": "object" + }, + "PackageWeight": { + "description": "Represents the weight of the package with a unit of measurement.", + "properties": { + "unitOfMeasurement": { + "description": "Unit of measurement for the package weight.", + "$ref": "#/definitions/WeightUnitOfMeasurement" + }, + "weight": { + "description": "The package weight value.", + "format": "double", + "type": "number" + } + }, + "required": [ + "unitOfMeasurement", + "weight" + ], + "type": "object" + }, + "ProductAttribute": { + "description": "Product instance attribute that is not described at the SKU level in the catalog.", + "properties": { + "name": { + "description": "Product attribute name.", + "type": "string", + "example": "TestAttribute" + }, + "value": { + "description": "Product attribute value.", + "type": "string", + "example": "TestAttributeValue" + } + }, + "type": "object", + "example": { + "name": "TestAttribute", + "value": "TestAttributeValue" + } + }, + "ProductQuantity": { + "description": "Represents a product with the SKU details and the corresponding quantity.", + "properties": { + "attributes": { + "description": "Attributes for this instance of the product. For example, already-prepped, or other attributes that distinguish the product beyond the SKU.", + "items": { + "$ref": "#/definitions/ProductAttribute" + }, + "type": "array", + "example": { + "name": "TestAttribute", + "value": "TestAttributeValue" + } + }, + "quantity": { + "description": "Product quantity.", + "format": "int32", + "type": "integer" + }, + "sku": { + "description": "The seller or merchant SKU.", + "type": "string" + } + }, + "required": [ + "quantity", + "sku" + ], + "type": "object" + }, + "ShipmentListing": { + "description": "A list of inbound shipment summaries filtered by the attributes specified in the request.", + "properties": { + "nextToken": { + "description": "Token to retrieve the next set of paginated results.", + "type": "string", + "example": "SampleToken" + }, + "shipments": { + "description": "List of inbound shipment summaries.", + "items": { + "$ref": "#/definitions/InboundShipmentSummary" + }, + "type": "array" + } + }, + "type": "object" + }, + "ShipmentSortableField": { + "description": "Denotes the field name on which the shipments are to be sorted.", + "enum": [ + "UPDATED_AT", + "CREATED_AT" + ], + "type": "string", + "x-docgen-enum-table-extension": [ + { + "description": "Sort by updated at timestamp.", + "value": "UPDATED_AT" + }, + { + "description": "Sort by created at timestamp.", + "value": "CREATED_AT" + } + ], + "example": "CREATED_AT" + }, + "SortOrder": { + "description": "Sort order for a collection of items. For example, order or shipment.", + "enum": [ + "ASCENDING", + "DESCENDING" + ], + "type": "string", + "x-docgen-enum-table-extension": [ + { + "description": "Sorts the collection in ascending order.", + "value": "ASCENDING" + }, + { + "description": "Sorts the collection in descending order.", + "value": "DESCENDING" + } + ], + "example": "ASCENDING" + }, + "VolumeUnitOfMeasurement": { + "description": "Unit of measurement for the package volume.", + "enum": [ + "CU_IN", + "CBM", + "CC" + ], + "type": "string", + "x-docgen-enum-table-extension": [ + { + "description": "Denotes volume measurement in cubic inches.", + "value": "CU_IN" + }, + { + "description": "Denotes volume measurement in cubic meters.", + "value": "CBM" + }, + { + "description": "Denotes volume measurement in cubic centimeters.", + "value": "CC" + } + ] + }, + "WeightUnitOfMeasurement": { + "description": "Unit of measurement for the package weight.", + "enum": [ + "POUNDS", + "KILOGRAMS" + ], + "type": "string", + "x-docgen-enum-table-extension": [ + { + "description": "Denotes weight measurement in pounds.", + "value": "POUNDS" + }, + { + "description": "Denotes weight measurement in kilograms.", + "value": "KILOGRAMS" + } + ] + } + } +} \ No newline at end of file From fb6ca163e769965cab78d631d2cef24e27c6252d Mon Sep 17 00:00:00 2001 From: Jack Evoniuk Date: Wed, 19 Jun 2024 11:56:49 -0700 Subject: [PATCH 075/340] Update Replenishment API model --- .../replenishment-2022-11-07.json | 177 ++++++++++++++---- 1 file changed, 144 insertions(+), 33 deletions(-) diff --git a/models/replenishment-api-model/replenishment-2022-11-07.json b/models/replenishment-api-model/replenishment-2022-11-07.json index c61768d81..b75ad3aa3 100644 --- a/models/replenishment-api-model/replenishment-2022-11-07.json +++ b/models/replenishment-api-model/replenishment-2022-11-07.json @@ -410,39 +410,39 @@ "x-docgen-enum-table-extension": [ { "value": "SHIPPED_SUBSCRIPTION_UNITS", - "description": "The number of units shipped to the subscribers over a period of time. Applicable only for the PERFORMANCE timePeriodType." + "description": "The number of units shipped to the subscribers over a period of time. Applicable only for the `PERFORMANCE` `timePeriodType`." }, { "value": "TOTAL_SUBSCRIPTIONS_REVENUE", - "description": "The revenue generated from subscriptions over a period of time. Applicable only for the PERFORMANCE timePeriodType." + "description": "The revenue generated from subscriptions over a period of time. Applicable only for the `PERFORMANCE` `timePeriodType`." }, { "value": "ACTIVE_SUBSCRIPTIONS", - "description": "The number of active subscriptions present at the end of the period. Applicable only for the PERFORMANCE timePeriodType." + "description": "The number of active subscriptions present at the end of the period. Applicable only for the `PERFORMANCE` `timePeriodType`." }, { "value": "NEXT_90DAYS_SHIPPED_SUBSCRIPTION_UNITS", - "description": "The forecasted shipped subscription units for the next 90 days. Applicable only for the FORECAST timePeriodType." + "description": "The forecasted shipped subscription units for the next 90 days. Applicable only for the `FORECAST` `timePeriodType`." }, { "value": "NEXT_60DAYS_SHIPPED_SUBSCRIPTION_UNITS", - "description": "The forecasted shipped subscription units for the next 60 days. Applicable only for the FORECAST timePeriodType." + "description": "The forecasted shipped subscription units for the next 60 days. Applicable only for the `FORECAST` `timePeriodType`." }, { "value": "NEXT_30DAYS_SHIPPED_SUBSCRIPTION_UNITS", - "description": "The forecasted shipped subscription units for the next 30 days. Applicable only for the FORECAST timePeriodType." + "description": "The forecasted shipped subscription units for the next 30 days. Applicable only for the `FORECAST` `timePeriodType`." }, { "value": "NEXT_90DAYS_TOTAL_SUBSCRIPTIONS_REVENUE", - "description": "The forecasted total subscription revenue for the next 90 days. Applicable only for the FORECAST timePeriodType." + "description": "The forecasted total subscription revenue for the next 90 days. Applicable only for the `FORECAST` `timePeriodType`." }, { "value": "NEXT_60DAYS_TOTAL_SUBSCRIPTIONS_REVENUE", - "description": "The forecasted total subscription revenue for the next 60 days. Applicable only for the FORECAST timePeriodType." + "description": "The forecasted total subscription revenue for the next 60 days. Applicable only for the `FORECAST` `timePeriodType`." }, { "value": "NEXT_30DAYS_TOTAL_SUBSCRIPTIONS_REVENUE", - "description": "The forecasted total subscription revenue for the next 30 days. Applicable only for the FORECAST timePeriodType." + "description": "The forecasted total subscription revenue for the next 30 days. Applicable only for the `FORECAST` `timePeriodType`." } ] }, @@ -582,7 +582,7 @@ "description": "The marketplace identifier. The supported marketplaces for both sellers and vendors are US, CA, ES, UK, FR, IT, IN, DE and JP. The supported marketplaces for vendors only are BR, AU, MX, AE and NL. Refer to [Marketplace IDs](https://developer-docs.amazon.com/sp-api/docs/marketplace-ids) to find the identifier for the marketplace." }, "AggregationFrequency": { - "description": "The time period used to group data in the response. Note that this is only valid for the performance time period type.", + "description": "The time period used to group data in the response. Note that this is only valid for the `PERFORMANCE` time period type.", "type": "string", "enum": [ "WEEK", @@ -620,12 +620,12 @@ "startDate": { "type": "string", "format": "date-time", - "description": "When this object is used as a request parameter, the specified startDate is adjusted based on the aggregation frequency.\n\n* For WEEK the metric is computed from the first day of the week (that is, Sunday based on ISO 8601) that contains the startDate.\n* For MONTH the metric is computed from the first day of the month that contains the startDate.\n* For QUARTER the metric is computed from the first day of the quarter that contains the startDate.\n* For YEAR the metric is computed from the first day of the year that contains the startDate." + "description": "When this object is used as a request parameter, the specified `startDate` is adjusted based on the aggregation frequency.\n\n* For `WEEK` the metric is computed from the first day of the week (Sunday, based on ISO 8601) that contains the `startDate`.\n* For `MONTH` the metric is computed from the first day of the month that contains the `startDate`.\n* For `QUARTER` the metric is computed from the first day of the quarter that contains the `startDate`.\n* For `YEAR` the metric is computed from the first day of the year that contains the `startDate`." }, "endDate": { "type": "string", "format": "date-time", - "description": "When this object is used as a request parameter, the specified endDate is adjusted based on the aggregation frequency.\n\n* For WEEK the metric is computed up to the last day of the week (that is, Sunday based on ISO 8601) that contains the endDate.\n* For MONTH, the metric is computed up to the last day that contains the endDate.\n* For QUARTER the metric is computed up to the last day of the quarter that contains the endDate.\n* For YEAR the metric is computed up to the last day of the year that contains the endDate.\n Note: The end date may be adjusted to a lower value based on the data available in our system." + "description": "When this object is used as a request parameter, the specified `endDate` is adjusted based on the aggregation frequency.\n\n* For `WEEK` the metric is computed up to the last day of the week (Sunday, based on ISO 8601) that contains the `endDate`.\n* For `MONTH`, the metric is computed up to the last day that contains the `endDate`.\n* For `QUARTER` the metric is computed up to the last day of the quarter that contains the `endDate`.\n* For `YEAR` the metric is computed up to the last day of the year that contains the `endDate`.\n Note: The end date may be adjusted to a lower value based on the data available in our system." } } }, @@ -637,7 +637,10 @@ "TOTAL_SUBSCRIPTIONS_REVENUE", "ACTIVE_SUBSCRIPTIONS", "NOT_DELIVERED_DUE_TO_OOS", - "SUBSCRIBER_NON_SUBSCRIBER_AVERAGE_REVENUE" + "SUBSCRIBER_NON_SUBSCRIBER_AVERAGE_REVENUE", + "LOST_REVENUE_DUE_TO_OOS", + "SUBSCRIBER_NON_SUBSCRIBER_AVERAGE_REORDERS", + "COUPONS_REVENUE_PENETRATION" ], "x-docgen-enum-table-extension": [ { @@ -659,6 +662,18 @@ { "value": "SUBSCRIBER_NON_SUBSCRIBER_AVERAGE_REVENUE", "description": "The average revenue per subscriber and non-subscriber over the past 12 months for sellers and 6 months for vendors." + }, + { + "value": "LOST_REVENUE_DUE_TO_OOS", + "description": "The revenue that would have been generated had there not been out of stock." + }, + { + "value": "SUBSCRIBER_NON_SUBSCRIBER_AVERAGE_REORDERS", + "description": "The average reorders per subscriber and non-subscriber over the last 12 months." + }, + { + "value": "COUPONS_REVENUE_PENETRATION", + "description": "The percentage of revenue from ASINs with coupons out of total revenue from all ASINs." } ] }, @@ -694,7 +709,7 @@ }, { "value": "FORECAST", - "description": "Indicates forecasted metrics. Only TOTAL_SUBSCRIPTIONS_REVENUE and SHIPPED_SUBSCRIPTION_UNITS are supported. Forecast data is supported for sellers but not for vendors." + "description": "Indicates forecasted metrics. Only `TOTAL_SUBSCRIPTIONS_REVENUE` and `SHIPPED_SUBSCRIPTION_UNITS` are supported. Forecast data is supported for sellers but not for vendors." } ] }, @@ -716,42 +731,67 @@ "description": "An object which contains metric data for a selling partner.", "properties": { "notDeliveredDueToOOS": { - "description": "The percentage of items that were not shipped out of the total shipped units over a period of time due to being out of stock. Applicable only for the PERFORMANCE timePeriodType.", + "description": "The percentage of items that were not shipped out of the total shipped units over a period of time due to being out of stock. Applicable only for the `PERFORMANCE` `timePeriodType`.", "type": "number", "format": "double", "minimum": 0, "maximum": 100 }, "totalSubscriptionsRevenue": { - "description": "The revenue generated from subscriptions over a period of time. Applicable for both the PERFORMANCE and FORECAST timePeriodType.", + "description": "The revenue generated from subscriptions over a period of time. Applicable for both the `PERFORMANCE` and `FORECAST` `timePeriodType`.", "type": "number", "format": "double", "minimum": 0 }, "shippedSubscriptionUnits": { - "description": "The number of units shipped to the subscribers over a period of time. Applicable for both the PERFORMANCE and FORECAST timePeriodType.", + "description": "The number of units shipped to the subscribers over a period of time. Applicable for both the `PERFORMANCE` and `FORECAST` `timePeriodType`.", "type": "number", "format": "int64", "minimum": 0 }, "activeSubscriptions": { - "description": "The number of active subscriptions present at the end of the period. Applicable only for the PERFORMANCE timePeriodType.", + "description": "The number of active subscriptions present at the end of the period. Applicable only for the `PERFORMANCE` `timePeriodType`.", "type": "number", "format": "int64", "minimum": 0 }, "subscriberAverageRevenue": { - "description": "The average revenue per subscriber of the program over a period of past 12 months for sellers and 6 months for vendors. Applicable only for the PERFORMANCE timePeriodType.", + "description": "The average revenue per subscriber of the program over a period of past 12 months for sellers and 6 months for vendors. Applicable only for the `PERFORMANCE` `timePeriodType`.", "type": "number", "format": "double", "minimum": 0 }, "nonSubscriberAverageRevenue": { - "description": "The average revenue per non-subscriber of the program over a period of past 12 months for sellers and 6 months for vendors. Applicable only for the PERFORMANCE timePeriodType.", + "description": "The average revenue per non-subscriber of the program over a period of past 12 months for sellers and 6 months for vendors. Applicable only for the `PERFORMANCE` `timePeriodType`.", + "type": "number", + "format": "double", + "minimum": 0 + }, + "lostRevenueDueToOOS": { + "description": "The revenue that would have been generated had there not been out of stock. Applicable only for the PERFORMANCE timePeriodType.", + "type": "number", + "format": "double", + "minimum": 0 + }, + "subscriberAverageReorders": { + "description": "The average reorders per subscriber of the program over a period of 12 months. Applicable only for the PERFORMANCE timePeriodType.", "type": "number", "format": "double", "minimum": 0 }, + "nonSubscriberAverageReorders": { + "description": "The average reorders per non-subscriber of the program over a period of past 12 months. Applicable only for the PERFORMANCE timePeriodType.", + "type": "number", + "format": "double", + "minimum": 0 + }, + "couponsRevenuePenetration": { + "description": "The percentage of revenue from ASINs with coupons out of total revenue from all ASINs. Applicable only for the PERFORMANCE timePeriodType.", + "type": "number", + "format": "double", + "minimum": 0, + "maximum": 100 + }, "timeInterval": { "description": "A time interval used to compute metrics.", "$ref": "#/definitions/TimeInterval" @@ -854,69 +894,82 @@ "description": "The Amazon Standard Identification Number (ASIN)." }, "notDeliveredDueToOOS": { - "description": "The percentage of items that were not shipped out of the total shipped units over a period of time due to being out of stock. Applicable only for the PERFORMANCE timePeriodType.", + "description": "The percentage of items that were not shipped out of the total shipped units over a period of time due to being out of stock. Applicable only for the `PERFORMANCE` `timePeriodType`.", "type": "number", "format": "double", "minimum": 0, "maximum": 100 }, "totalSubscriptionsRevenue": { - "description": "The revenue generated from subscriptions over a period of time. Applicable only for the PERFORMANCE timePeriodType.", + "description": "The revenue generated from subscriptions over a period of time. Applicable only for the `PERFORMANCE` `timePeriodType`.", "type": "number", "format": "double", "minimum": 0 }, "shippedSubscriptionUnits": { - "description": "The number of units shipped to the subscribers over a period of time. Applicable only for the PERFORMANCE timePeriodType.", + "description": "The number of units shipped to the subscribers over a period of time. Applicable only for the `PERFORMANCE` `timePeriodType`.", "type": "number", "format": "int64", "minimum": 0 }, "activeSubscriptions": { - "description": "The number of active subscriptions present at the end of the period. Applicable only for the PERFORMANCE timePeriodType.", + "description": "The number of active subscriptions present at the end of the period. Applicable only for the `PERFORMANCE` `timePeriodType`.", "type": "number", "format": "int64", "minimum": 0 }, "revenuePenetration": { - "description": "The percentage of total program revenue out of total product revenue. Applicable only for the PERFORMANCE timePeriodType.", + "description": "The percentage of total program revenue out of total product revenue. Applicable only for the `PERFORMANCE` `timePeriodType`.", + "type": "number", + "format": "double", + "minimum": 0, + "maximum": 100 + }, + "lostRevenueDueToOOS": { + "description": "The revenue that would have been generated had there not been out of stock. Applicable only for the PERFORMANCE timePeriodType.", + "type": "number", + "format": "double", + "minimum": 0 + }, + "couponsRevenuePenetration": { + "description": "The percentage of revenue from ASINs with coupons out of total revenue from all ASINs. Applicable only for the PERFORMANCE timePeriodType.", "type": "number", "format": "double", "minimum": 0, "maximum": 100 }, "next30DayTotalSubscriptionsRevenue": { - "description": "The forecasted total subscription revenue for the next 30 days. Applicable only for the FORECAST timePeriodType.", + "description": "The forecasted total subscription revenue for the next 30 days. Applicable only for the `FORECAST` `timePeriodType`.", "type": "number", "format": "double", "minimum": 0 }, "next60DayTotalSubscriptionsRevenue": { - "description": "The forecasted total subscription revenue for the next 60 days. Applicable only for the FORECAST timePeriodType.", + "description": "The forecasted total subscription revenue for the next 60 days. Applicable only for the `FORECAST` `timePeriodType`.", "type": "number", "format": "double", "minimum": 0 }, "next90DayTotalSubscriptionsRevenue": { - "description": "The forecasted total subscription revenue for the next 90 days. Applicable only for the FORECAST timePeriodType.", + "description": "The forecasted total subscription revenue for the next 90 days. Applicable only for the `FORECAST` `timePeriodType`.", "type": "number", "format": "double", "minimum": 0 }, "next30DayShippedSubscriptionUnits": { - "description": "The forecasted shipped subscription units for the next 30 days. Applicable only for the FORECAST timePeriodType.", + "description": "The forecasted shipped subscription units for the next 30 days. Applicable only for the `FORECAST` `timePeriodType`.", "type": "number", "format": "int64", "minimum": 0 }, "next60DayShippedSubscriptionUnits": { - "description": "The forecasted shipped subscription units for the next 60 days. Applicable only for the FORECAST timePeriodType.", + "description": "The forecasted shipped subscription units for the next 60 days. Applicable only for the `FORECAST` `timePeriodType`.", "type": "number", "format": "int64", "minimum": 0 }, "next90DayShippedSubscriptionUnits": { - "description": "The forecasted shipped subscription units for the next 90 days. Applicable only for the FORECAST timePeriodType.", + "description": "The forecasted shipped subscription units for the next 90 days. Applicable only for the `FORECAST` `timePeriodType`.", "type": "number", "format": "int64", "minimum": 0 @@ -940,6 +993,7 @@ "properties": { "errors": { "type": "array", + "description": "A list of error responses returned when a request is unsuccessful.", "items": { "$ref": "#/definitions/Error" } @@ -980,6 +1034,7 @@ "parameters": [ { "name": "body", + "description": "The request body for the `getSellingPartnerMetrics` operation.", "in": "body", "schema": { "$ref": "#/definitions/GetSellingPartnerMetricsRequest" @@ -1012,6 +1067,10 @@ "notDeliveredDueToOOS": 5.54, "totalSubscriptionsRevenue": 131340.24, "activeSubscriptions": 0, + "lostRevenueDueToOOS": 38493.29, + "subscriberAverageReorders": 3.25, + "nonSubscriberAverageReorders": 1.11, + "couponsRevenuePenetration": 0.0, "currencyCode": "USD", "timeInterval": { "endDate": "2023-05-09T22:36:56Z", @@ -1054,6 +1113,10 @@ "notDeliveredDueToOOS": 5.54, "totalSubscriptionsRevenue": 131340.24, "activeSubscriptions": 0, + "lostRevenueDueToOOS": 38493.29, + "subscriberAverageReorders": 3.25, + "nonSubscriberAverageReorders": 1.11, + "couponsRevenuePenetration": 0.0, "currencyCode": "USD", "timeInterval": { "endDate": "2023-05-09T22:36:56Z", @@ -1098,7 +1161,10 @@ "TOTAL_SUBSCRIPTIONS_REVENUE", "NOT_DELIVERED_DUE_TO_OOS", "ACTIVE_SUBSCRIPTIONS", - "SUBSCRIBER_NON_SUBSCRIBER_AVERAGE_REVENUE" + "SUBSCRIBER_NON_SUBSCRIBER_AVERAGE_REVENUE", + "LOST_REVENUE_DUE_TO_OOS", + "SUBSCRIBER_NON_SUBSCRIBER_AVERAGE_REORDERS", + "COUPONS_REVENUE_PENETRATION" ], "timePeriodType": "PERFORMANCE", "marketplaceId": "ATVPDKIKX0DER", @@ -1161,6 +1227,18 @@ } } }, + "413": { + "description": "The request size exceeded the maximum accepted size.", + "headers": { + "x-amzn-RequestId": { + "type": "string", + "description": "Unique request reference identifier." + } + }, + "schema": { + "$ref": "#/definitions/ErrorList" + } + }, "415": { "description": "The request payload is in an unsupported format.", "schema": { @@ -1254,6 +1332,8 @@ "totalSubscriptionsRevenue": 12.89, "asin": "B000TMUDOW", "revenuePenetration": 10.34, + "lostRevenueDueToOOS": 12.32, + "couponsRevenuePenetration": 10, "timeInterval": { "endDate": "2023-03-11T00:00:00Z", "startDate": "2023-03-05T00:00:00Z" @@ -1266,6 +1346,8 @@ "totalSubscriptionsRevenue": 34.03, "asin": "B004CLH5CY", "revenuePenetration": 9.87, + "lostRevenueDueToOOS": 17.82, + "couponsRevenuePenetration": 17, "timeInterval": { "endDate": "2023-03-11T00:00:00Z", "startDate": "2023-03-05T00:00:00Z" @@ -1322,6 +1404,8 @@ "revenuePenetration": 23.6, "shippedSubscriptionUnits": 100, "activeSubscriptions": 100, + "lostRevenueDueToOOS": 12.32, + "couponsRevenuePenetration": 10, "timeInterval": { "startDate": "2022-01-01T00:00:00Z", "endDate": "2022-12-31T00:00:00Z" @@ -1335,6 +1419,8 @@ "revenuePenetration": 35.90, "shippedSubscriptionUnits": 100, "activeSubscriptions": 100, + "lostRevenueDueToOOS": 17.82, + "couponsRevenuePenetration": 17, "timeInterval": { "startDate": "2022-01-01T00:00:00Z", "endDate": "2022-12-31T00:00:00Z" @@ -1451,6 +1537,18 @@ } } }, + "413": { + "description": "The request size exceeded the maximum accepted size.", + "headers": { + "x-amzn-RequestId": { + "type": "string", + "description": "Unique request reference identifier." + } + }, + "schema": { + "$ref": "#/definitions/ErrorList" + } + }, "415": { "description": "The request payload is in an unsupported format.", "schema": { @@ -1507,11 +1605,12 @@ "tags": [ "offers" ], - "description": "Returns the details of a selling partner's replenishment program offers. Note that this operation only supports sellers at this time.\n\n**Usage Plan:**\n\n| Rate (requests per second) | Burst |\n| ---- | ---- |\n| 1 | 1 |\n\nThe `x-amzn-RateLimit-Limit` response header returns the usage plan rate limits that were applied to the requested operation, when available. The table above indicates the default rate and burst values for this operation. Selling partners whose business demands require higher throughput may see higher rate and burst values than those shown here. For more information, see [Usage Plans and Rate Limits in the Selling Partner API](https://developer-docs.amazon.com/sp-api/docs/usage-plans-and-rate-limits-in-the-sp-api).", + "description": "Returns the details of a selling partner's replenishment program offers.\n\n**Usage Plan:**\n\n| Rate (requests per second) | Burst |\n| ---- | ---- |\n| 1 | 1 |\n\nThe `x-amzn-RateLimit-Limit` response header returns the usage plan rate limits that were applied to the requested operation, when available. The table above indicates the default rate and burst values for this operation. Selling partners whose business demands require higher throughput may see higher rate and burst values than those shown here. For more information, see [Usage Plans and Rate Limits in the Selling Partner API](https://developer-docs.amazon.com/sp-api/docs/usage-plans-and-rate-limits-in-the-sp-api).", "operationId": "listOffers", "parameters": [ { "name": "body", + "description": "The request body for the `listOffers` operation.", "in": "body", "schema": { "$ref": "#/definitions/ListOffersRequest" @@ -1768,6 +1867,18 @@ } } }, + "413": { + "description": "The request size exceeded the maximum accepted size.", + "headers": { + "x-amzn-RequestId": { + "type": "string", + "description": "Unique request reference identifier." + } + }, + "schema": { + "$ref": "#/definitions/ErrorList" + } + }, "415": { "description": "The request payload is in an unsupported format.", "schema": { From 8ed18b94a3fe2597d570e49a8b17d28bfebd3976 Mon Sep 17 00:00:00 2001 From: Jack Evoniuk Date: Wed, 19 Jun 2024 12:26:39 -0700 Subject: [PATCH 076/340] Add Vendor Analytics dataset for Data Kiosk --- ...alytics_vendorAnalytics_2024_09_30.graphql | 332 ++++++++++++++++++ 1 file changed, 332 insertions(+) create mode 100644 schemas/data-kiosk/analytics_vendorAnalytics_2024_09_30.graphql diff --git a/schemas/data-kiosk/analytics_vendorAnalytics_2024_09_30.graphql b/schemas/data-kiosk/analytics_vendorAnalytics_2024_09_30.graphql new file mode 100644 index 000000000..e49043438 --- /dev/null +++ b/schemas/data-kiosk/analytics_vendorAnalytics_2024_09_30.graphql @@ -0,0 +1,332 @@ +schema { + query: Query +} + +""" +This directive specifies the retention duration of a query containing a +particular field. When a query contains multiple fields with different +retentions, the shortest (minimum) retention is applied to the query. The +retention of a query's resulting documents always matches the retention of the query. +""" +directive @resultRetention( + "An ISO 8601 duration." + duration: String! + ) on FIELD_DEFINITION + +"Monetary amount with the corresponding currency code." +type Amount { + "The amount." + amount: Float! + "Currency code of the amount in ISO 4217 format." + currencyCode: String! +} + +"Root type for Vendor Analytics queries version 2024_09_30." +type Analytics_vendorAnalytics_2024_09_30 { + "The manufacturing view provides metrics about products manufactured by the Vendor." + manufacturingView( + "Determines how the data should be aggregated, e.g. daily, weekly, monthly." + aggregateBy: DateGranularity!, + "Currency code for all monetary amounts in ISO 4217 format. If not provided, amounts will be returned in USD." + currencyCode: String, + "The end date of the vendor analytics data to retrieve." + endDate: Date!, + "The start date of the vendor analytics data to retrieve. The start date must be no more than two years ago." + startDate: Date! + ): [ManufacturingView] + """ + The sourcing view provides metrics about products that are sourced directly + from the Vendor to Amazon (i.e., when the Vendor is a distributor). + """ + sourcingView( + "Determines how the data should be aggregated, e.g. daily, weekly, monthly." + aggregateBy: DateGranularity!, + "Currency code for all monetary amounts in ISO 4217 format. If not provided, amounts will be returned in USD." + currencyCode: String, + "The end date of the vendor analytics data to retrieve." + endDate: Date!, + "The start date of the vendor analytics data to retrieve. The start date must be no more than two years ago." + startDate: Date! + ): [SourcingView] +} + +"Customer satisfaction metric group. Null value for a given metric means that this metric is not available yet." +type CustomerSatisfaction { + "The number of items returned as recorded on the Customer Returns transaction table." + customerReturns: Long @resultRetention(duration : "P30D") +} + +"Amazon's estimate that customer demand will be at or below this value." +type ForecastedDemandStatistic { + "Amazon’s best estimate of weekly customer demand (in units). This estimate does not account for safety stock." + mean: Long @resultRetention(duration : "P30D") + "Amazon estimates that there is a 70% probability that customer demand will be at or below this number of units." + p70: Long @resultRetention(duration : "P30D") + "Amazon estimates that there is a 80% probability that customer demand will be at or below this number of units." + p80: Long @resultRetention(duration : "P30D") + "Amazon estimates that there is a 90% probability that customer demand will be at or below this number of units." + p90: Long @resultRetention(duration : "P30D") +} + +"Forecasted customer demand by week. Null value for a given metric means that this metric is not available yet." +type ForecastedDemandWeekly { + "Amazon's estimate that customer demand will be at or below this value." + demand: ForecastedDemandStatistic + "End date of the forecasting range." + endDate: Date! @resultRetention(duration : "P30D") + "Start date of the forecasting range." + startDate: Date! @resultRetention(duration : "P30D") + "Week number of the forecasting range." + weekNumber: Int! @resultRetention(duration : "P30D") +} + +"Group by attributes, essentially catalog attributes, some of which can be null, e.g., group by brand." +type GroupByAttributes { + "Amazon Standard Identification Number, used to uniquely identify products in Amazon's catalog." + asin: String @resultRetention(duration : "P30D") + "Brand name." + brand: String @resultRetention(duration : "P30D") + "Amazon brand code for the owning brand." + brandCode: String @resultRetention(duration : "P30D") + "European Article Number. A 13-digit product identifier, often represented on products as a barcode." + ean: String @resultRetention(duration : "P30D") + "13-digit International Standard Book Number." + isbn13: String @resultRetention(duration : "P30D") + "Code used to identify the manufacturer, an entity who makes the products that are sold on Amazon." + manufacturerCode: String @resultRetention(duration : "P30D") + "The model or style number of the product." + modelNumber: String @resultRetention(duration : "P30D") + """ + Products with variations (size, color, etc.) have a Parent ASIN and Child + ASINs. The Parent ASIN represents the generic overall product + (non-purchasable). + """ + parentAsin: String @resultRetention(duration : "P30D") + "Which type of prep instructions are required, e.g., ASIN stickering, Boxing, Bubble wrapping, Shrinkwrap, Cap Sealing." + prepInstructions: String @resultRetention(duration : "P30D") + "Differentiates if the prep instructions required will be performed by Amazon or the vendor." + prepInstructionsPerformedBy: String @resultRetention(duration : "P30D") + """ + The product group which describes the business group, as defined by the Amazon + catalog, e.g., PC, Wireless, Major Appliances. + """ + productGroup: String @resultRetention(duration : "P30D") + "Product name." + productTitle: String @resultRetention(duration : "P30D") + "The day that an item is available for purchase by the public." + releaseDate: String @resultRetention(duration : "P30D") + "Availability status for the ASIN." + replenishmentCategory: String @resultRetention(duration : "P30D") + "The Universal Product Code (UPC) used for retail packaging scanning at the point of sale." + upc: String @resultRetention(duration : "P30D") +} + +""" +The manufacturing view provides metrics about products manufactured by the Vendor for the given time period, +including both totals (aggregate across all of the vendor catalog) and metrics grouped by, e.g., ASIN. +""" +type ManufacturingView { + "End date of the time period." + endDate: Date! @resultRetention(duration : "P30D") + "The marketplace identifier for the associated metrics." + marketplaceId: String! @resultRetention(duration : "P30D") + "Metrics for the given time period, grouped by, e.g., ASIN." + metrics: [ManufacturingViewMetricsGroupedBy]! + "Start date of the time period." + startDate: Date! @resultRetention(duration : "P30D") + "Totals (aggregate across all of the vendor catalog) for the given time period." + totals: ManufacturingViewMetrics! +} + +"Metrics broken down by metric groups, e.g., Product availability, Orders, Costs, Customer satisfaction." +type ManufacturingViewMetrics { + "Customer satisfaction metric group." + customerSatisfaction: CustomerSatisfaction + "Forecasting metric group." + forecasting: [ForecastedDemandWeekly] + "Orders metric group." + orders: Orders + "Product availability metric group." + productAvailability: ProductAvailability + "Shipped orders metric group." + shippedOrders: ShippedOrders + "Sourcing metric group." + sourcing: Sourcing + "Traffic metric group." + traffic: Traffic +} + +"Manufacturing view metrics grouped by the selected \"group by\" attributes, e.g., brand, ASIN." +type ManufacturingViewMetricsGroupedBy { + "Group by attributes, e.g., brand, ASIN." + groupByKey: GroupByAttributes! + "Metrics for the given time period, grouped by the attributes selected in the groupByKey." + metrics: ManufacturingViewMetrics! +} + +"Orders metric group. Null value for a given metric means that this metric is not available yet." +type Orders { + """ + The number of ordered units and the associated revenue in a given time period + with adjustments made for prior sales, like returns/cancellations. This metric + is also applicable for Kindle and Physical books. Ordered Revenue Amount (OPS) + = Product Price * Ordered Units. + """ + orderedUnitsWithRevenue: UnitsWithValue + "Number of units ordered (or pre-ordered), but have not shipped." + unfilledOrderedUnits: Long @resultRetention(duration : "P30D") +} + +"Product availability metric group. Null value for a given metric means that this metric is not available yet." +type ProductAvailability { + """ + The number of units and their cost that is at least 90 days old and in + sellable condition on the last day of the selected time frame. + """ + aged90DaysSellableInventory: UnitsWithValue + """ + Calculated as the number of units shipped in comparison to the number of units + at Amazon at the start of the period, plus any units received during the same + time period. Sell Through Rate = (Shipped Units - Customer Returns) / + (Sellable On Hand Units + Net Received Units). + """ + sellThroughRate: Float @resultRetention(duration : "P30D") + "The number of units and their cost in Amazon FCs that is in sellable condition on the last day of the selected time frame." + sellableOnHandInventory: UnitsWithValue + """ + Ultra Fast Track (UFT), is an hourly measure of the percentage of time an ASIN + is available to be shipped to the customer from an FC via Prime shipping, + versus the selection Amazon intended to carry. This metric takes into account + a Customer Importance Factor (CIF), which weighs the ASIN’s importance to + shoppers against Amazon’s cost of having that item in stock. + """ + ultraFastTrack: Float @resultRetention(duration : "P30D") + """ + Excess number of units and their cost on the last day of the selected time + frame based on forecasted demand. (Note:Not Available for Daily/Custom Time selections) + """ + unhealthyInventory: UnitsWithValue + """ + The number of units and their cost in Amazon FCs that is in unsellable + condition on the last day of the selected time frame. + """ + unsellableOnHandInventory: UnitsWithValue +} + +"A root type for queries" +type Query { + "API is versioned." + analytics_vendorAnalytics_2024_09_30: Analytics_vendorAnalytics_2024_09_30 +} + +"Shipped orders metric group. Null value for a given metric means that this metric is not available yet." +type ShippedOrders { + """ + The number of items shipped and the associated gross price the customer paid + for them. Shipped Revenue Amount = Gross Price (the price the customer sees in + the cart) * Shipped Units. + """ + shippedUnitsWithRevenue: UnitsWithValue +} + +"Sourcing metric group. Null value for a given metric means that this metric is not available yet." +type Sourcing { + """ + Net number of units and their cost received by Amazon after subtracting the + units returned to the supplier in the selected time frame. + """ + netReceived: UnitsWithValue + "Number of units included in the Vendor's open POs (i.e., confirmed PO quantities that are not yet received)." + openPurchaseOrderQuantity: Long @resultRetention(duration : "P30D") + "Time (in days) from when Vendor receives a PO from Amazon, to when inventory is received in a FC." + overallVendorLeadTime: Float @resultRetention(duration : "P30D") + """ + OOS (Out of Stock) rate on all products that are procurable. Retail Out of + Stock (ROOS) = Out of Stock Glance Views on Procurable ASINs / Total Glance + Views. Procurability refers to whether Amazon is able to fulfill a customer + delivery promise, considering the ability of known vendors to supply the ASIN + in the foreseeable future. + """ + procurableProductOOS: Float @resultRetention(duration : "P30D") + """ + PO units received by Amazon in comparison to PO units confirmed by the vendor. + The fill rate here applies only to Procurable ASINs. Fill Rate = Net Received + Units / Confirmed Units. + """ + receivedFillRate: Float @resultRetention(duration : "P30D") + """ + How many units Vendors confirm out of the units Amazon asks for, accounting + for Procurable ASINs only. Vendor Confirmation Rate = Confirmed Units / + Submitted Units. + """ + vendorConfirmationRate: Float @resultRetention(duration : "P30D") +} + +""" +The sourcing view provides metrics about products that are sourced directly from +the Vendor to Amazon (i.e., when the Vendor is a distributor) +for the given time period, including both totals (aggregate across all of the +vendor catalog) and metrics grouped by, e.g., ASIN. +""" +type SourcingView { + "End date of the time period." + endDate: Date! @resultRetention(duration : "P30D") + "The marketplace identifier for the associated metrics." + marketplaceId: String! @resultRetention(duration : "P30D") + "Metrics for the given time period, grouped by, e.g., ASIN." + metrics: [SourcingViewMetricsGroupedBy]! + "Start date of the time period." + startDate: Date! @resultRetention(duration : "P30D") + "Totals (aggregate across all of the vendor catalog) for the given time period." + totals: SourcingViewMetrics! +} + +"Metrics broken down by metric groups, e.g., Product availability, Costs, Customer satisfaction." +type SourcingViewMetrics { + "Customer satisfaction metric group." + customerSatisfaction: CustomerSatisfaction + "Product availability metric group." + productAvailability: ProductAvailability + "Shipped orders metric group." + shippedOrders: ShippedOrders + "Sourcing metric group." + sourcing: Sourcing +} + +"Sourcing view metrics grouped by the selected \"group by\" attributes, e.g., brand, ASIN." +type SourcingViewMetricsGroupedBy { + "Group by attributes, e.g., brand, ASIN." + groupByKey: GroupByAttributes! + "Metrics for the given time period, grouped by the attributes selected in the groupByKey." + metrics: SourcingViewMetrics! +} + +"Traffic metric group. Null value for a given metric means that this metric is not available yet." +type Traffic { + "Glance views where Retail is the featured offer (i.e., winning the buy box)." + glanceViews: Long @resultRetention(duration : "P30D") +} + +"Number of units with their corresponding monetary value." +type UnitsWithValue { + "Number of units." + units: Long @resultRetention(duration : "P30D") + "Monetary value of the units." + value: Amount @resultRetention(duration : "P30D") +} + +"Date granularity used in aggregation." +enum DateGranularity { + "Metrics are aggregated by day." + DAY + "Metrics are aggregated by month." + MONTH + "Metrics are aggregated by week." + WEEK +} + +"Date" +scalar Date + +"Long" +scalar Long From a065aca92971e65b807203fb9dd5adaf19933197 Mon Sep 17 00:00:00 2001 From: lisa-delaney Date: Wed, 19 Jun 2024 14:59:00 -0700 Subject: [PATCH 077/340] Update FBA Inventory and Fulfillment Outbound models --- .DS_Store | Bin 8196 -> 8196 bytes .../fba-inventory-api-model/fbaInventory.json | 639 +++++++++----- .../fulfillmentOutbound_2020-07-01.json | 776 +++++++++++++----- 3 files changed, 994 insertions(+), 421 deletions(-) diff --git a/.DS_Store b/.DS_Store index 52e8b63df488a9c1c6351c4382e4a169552bc92e..20dd4b7e5ad4e98fa9264c11d1da949b6ecd02dd 100644 GIT binary patch literal 8196 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 diff --git a/models/fba-inventory-api-model/fbaInventory.json b/models/fba-inventory-api-model/fbaInventory.json index 4a85d63a5..9afb9b700 100644 --- a/models/fba-inventory-api-model/fbaInventory.json +++ b/models/fba-inventory-api-model/fbaInventory.json @@ -25,11 +25,14 @@ ], "paths": { "/fba/inventory/v1/summaries": { + "x-amzn-api-sandbox": { + "dynamic": {} + }, "get": { "tags": [ "fbaInventory" ], - "description": "Returns a list of inventory summaries. The summaries returned depend on the presence or absence of the `startDateTime`, `sellerSkus` and `sellerSku` parameters:\n\n- All inventory summaries with available details are returned when the `startDateTime`, `sellerSkus` and `sellerSku` parameters are omitted.\n- When `startDateTime` is provided, the operation returns inventory summaries that have had changes after the date and time specified. The `sellerSkus` and `sellerSku` parameters are ignored. **Important:** To avoid errors, use both `startDateTime` and `nextToken` to get the next page of inventory summaries that have changed after the date and time specified.\n- When the `sellerSkus` parameter is provided, the operation returns inventory summaries for only the specified `sellerSkus`. The `sellerSku` parameter is ignored.\n- When the `sellerSku` parameter is provided, the operation returns inventory summaries for only the specified `sellerSku`.\n\n**Note:** The parameters associated with this operation may contain special characters that must be encoded to successfully call the API. To avoid errors with SKUs when encoding URLs, refer to [URL Encoding](https://developer-docs.amazon.com/sp-api/docs/url-encoding).\n\n**Usage Plan:**\n\n| Rate (requests per second) | Burst |\n| ---- | ---- |\n| 2 | 2 |\n\nThe `x-amzn-RateLimit-Limit` response header returns the usage plan rate limits that were applied to the requested operation, when available. The table above indicates the default rate and burst values for this operation. Selling partners whose business demands require higher throughput may see higher rate and burst values than those shown here. For more information, see [Usage Plans and Rate Limits in the Selling Partner API](doc:usage-plans-and-rate-limits-in-the-sp-api).", + "description": "Returns a list of inventory summaries. The summaries returned depend on the presence or absence of the startDateTime, sellerSkus and sellerSku parameters:\n\n- All inventory summaries with available details are returned when the startDateTime, sellerSkus and sellerSku parameters are omitted.\n- When startDateTime is provided, the operation returns inventory summaries that have had changes after the date and time specified. The sellerSkus and sellerSku parameters are ignored. Important: To avoid errors, use both startDateTime and nextToken to get the next page of inventory summaries that have changed after the date and time specified.\n- When the sellerSkus parameter is provided, the operation returns inventory summaries for only the specified sellerSkus. The sellerSku parameter is ignored.\n- When the sellerSku parameter is provided, the operation returns inventory summaries for only the specified sellerSku.\n\nNote: The parameters associated with this operation may contain special characters that must be encoded to successfully call the API. To avoid errors with SKUs when encoding URLs, refer to URL Encoding.\n\nUsage Plan:\n\n| Rate (requests per second) | Burst |\n| ---- | ---- |\n| 2 | 2 |\n\nThe x-amzn-RateLimit-Limit response header returns the usage plan rate limits that were applied to the requested operation, when available. The table above indicates the default rate and burst values for this operation. Selling partners whose business demands require higher throughput may see higher rate and burst values than those shown here. For more information, see Usage Plans and Rate Limits in the Selling Partner API.", "operationId": "getInventorySummaries", "produces": [ "application/json" @@ -124,160 +127,8 @@ }, "x-amzn-RequestId": { "type": "string", - "description": "Unique request reference ID." + "description": "Unique request reference identifier." } - }, - "x-amzn-api-sandbox": { - "static": [ - { - "request": { - "parameters": { - "details": { - "value": true - }, - "granularityType": { - "value": "Marketplace" - }, - "granularityId": { - "value": "ATVPDKIKX0DER" - }, - "marketplaceIds": { - "value": [ - "ATVPDKIKX0DER" - ] - } - } - }, - "response": { - "pagination": { - "nextToken": "seed" - }, - "payload": { - "granularity": { - "granularityType": "Marketplace", - "granularityId": "ATVPDKIKX0DER" - }, - "inventorySummaries": [ - { - "asin": "B0020MLK00", - "fnSku": "B0020MLK00", - "sellerSku": "EMTEC 1 GB", - "condition": "NewItem", - "inventoryDetails": { - "fulfillableQuantity": 0, - "inboundWorkingQuantity": 0, - "inboundShippedQuantity": 0, - "inboundReceivingQuantity": 0, - "reservedQuantity": { - "totalReservedQuantity": 0, - "pendingCustomerOrderQuantity": 0, - "pendingTransshipmentQuantity": 0, - "fcProcessingQuantity": 0 - }, - "researchingQuantity": { - "totalResearchingQuantity": 0, - "researchingQuantityBreakdown": [] - }, - "unfulfillableQuantity": { - "totalUnfulfillableQuantity": 0, - "customerDamagedQuantity": 0, - "warehouseDamagedQuantity": 0, - "distributorDamagedQuantity": 0, - "carrierDamagedQuantity": 0, - "defectiveQuantity": 0, - "expiredQuantity": 0 - } - }, - "lastUpdatedTime": "", - "productName": "EMTEC 1 GB 60x SD Flash Memory Card with USB 2.0 Card Reader", - "totalQuantity": 0 - }, - { - "asin": "B0020MLK00", - "fnSku": "B0020MLK00", - "sellerSku": "EMTEC-SdCard-reader", - "condition": "NewItem", - "inventoryDetails": { - "fulfillableQuantity": 0, - "inboundWorkingQuantity": 0, - "inboundShippedQuantity": 0, - "inboundReceivingQuantity": 0, - "reservedQuantity": { - "totalReservedQuantity": 0, - "pendingCustomerOrderQuantity": 0, - "pendingTransshipmentQuantity": 0, - "fcProcessingQuantity": 0 - }, - "researchingQuantity": { - "totalResearchingQuantity": 0, - "researchingQuantityBreakdown": [] - }, - "unfulfillableQuantity": { - "totalUnfulfillableQuantity": 0, - "customerDamagedQuantity": 0, - "warehouseDamagedQuantity": 0, - "distributorDamagedQuantity": 0, - "carrierDamagedQuantity": 0, - "defectiveQuantity": 0, - "expiredQuantity": 0 - } - }, - "lastUpdatedTime": "", - "productName": "EMTEC 1 GB 60x SD Flash Memory Card with USB 2.0 Card Reader", - "totalQuantity": 0 - }, - { - "asin": "B00T9QONN6", - "fnSku": "B00T9QONN6", - "sellerSku": "Silicon Power 32GB", - "condition": "NewItem", - "inventoryDetails": { - "fulfillableQuantity": 66, - "inboundWorkingQuantity": 21, - "inboundShippedQuantity": 0, - "inboundReceivingQuantity": 0, - "reservedQuantity": { - "totalReservedQuantity": 0, - "pendingCustomerOrderQuantity": 0, - "pendingTransshipmentQuantity": 0, - "fcProcessingQuantity": 0 - }, - "researchingQuantity": { - "totalResearchingQuantity": 0, - "researchingQuantityBreakdown": [ - { - "name": "researchingQuantityInShortTerm", - "quantity": 0 - }, - { - "name": "researchingQuantityInMidTerm", - "quantity": 0 - }, - { - "name": "researchingQuantityInLongTerm", - "quantity": 0 - } - ] - }, - "unfulfillableQuantity": { - "totalUnfulfillableQuantity": 0, - "customerDamagedQuantity": 0, - "warehouseDamagedQuantity": 0, - "distributorDamagedQuantity": 0, - "carrierDamagedQuantity": 0, - "defectiveQuantity": 0, - "expiredQuantity": 0 - } - }, - "lastUpdatedTime": "2018-03-31T23:40:39Z", - "productName": "Silicon Power 32GB up to 85MB/s MicroSDHC UHS-1 Class10, Elite Flash Memory Card with Adaptor (SP032GBSTHBU1V20SP)", - "totalQuantity": 87 - } - ] - } - } - } - ] } }, "400": { @@ -292,7 +143,7 @@ }, "x-amzn-RequestId": { "type": "string", - "description": "Unique request reference ID." + "description": "Unique request reference identifier." } } }, @@ -304,7 +155,7 @@ "headers": { "x-amzn-RequestId": { "type": "string", - "description": "Unique request reference ID." + "description": "Unique request reference identifier." } } }, @@ -320,7 +171,7 @@ }, "x-amzn-RequestId": { "type": "string", - "description": "Unique request reference ID." + "description": "Unique request reference identifier." } } }, @@ -330,13 +181,9 @@ "$ref": "#/definitions/GetInventorySummariesResponse" }, "headers": { - "x-amzn-RateLimit-Limit": { - "type": "string", - "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." - }, "x-amzn-RequestId": { "type": "string", - "description": "Unique request reference ID." + "description": "Unique request reference identifier." } } }, @@ -346,52 +193,372 @@ "$ref": "#/definitions/GetInventorySummariesResponse" }, "headers": { - "x-amzn-RateLimit-Limit": { + "x-amzn-RequestId": { "type": "string", - "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." - }, + "description": "Unique request reference identifier." + } + } + }, + "503": { + "description": "Temporary overloading or maintenance of the server.", + "schema": { + "$ref": "#/definitions/GetInventorySummariesResponse" + }, + "headers": { + "x-amzn-RequestId": { + "type": "string", + "description": "Unique request reference identifier." + } + } + } + } + } + }, + "/fba/inventory/v1/items": { + "x-amzn-api-sandbox": { + "dynamic": {} + }, + "x-amzn-api-sandbox-only": true, + "post": { + "tags": [ + "fbaInventory" + ], + "description": "Requests that Amazon create product-details in the Sandbox Inventory in the sandbox environment. This is a sandbox-only operation and must be directed to a sandbox endpoint. Refer to [Selling Partner API sandbox](https://developer-docs.amazon.com/sp-api/docs/the-selling-partner-api-sandbox) for more information.", + "operationId": "createInventoryItem", + "produces": [ + "application/json" + ], + "parameters": [ + { + "name": "createInventoryItemRequestBody", + "in": "body", + "description": "CreateInventoryItem Request Body Parameter.", + "required": true, + "schema": { + "$ref": "#/definitions/CreateInventoryItemRequest" + } + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/CreateInventoryItemResponse" + }, + "headers": { + "x-amzn-RequestId": { + "type": "string", + "description": "Unique request reference identifier." + } + } + }, + "400": { + "description": "Request has missing or invalid parameters and cannot be parsed.", + "schema": { + "$ref": "#/definitions/CreateInventoryItemResponse" + }, + "headers": { + "x-amzn-RequestId": { + "type": "string", + "description": "Unique request reference identifier." + } + } + }, + "403": { + "description": "Indicates access to the resource is forbidden. Possible reasons include Access Denied, Unauthorized, Expired Token, Invalid Signature or Resource Not Found.", + "schema": { + "$ref": "#/definitions/CreateInventoryItemResponse" + }, + "headers": { + "x-amzn-RequestId": { + "type": "string", + "description": "Unique request reference identifier." + } + } + }, + "404": { + "description": "The specified resource does not exist.", + "schema": { + "$ref": "#/definitions/CreateInventoryItemResponse" + }, + "headers": { + "x-amzn-RequestId": { + "type": "string", + "description": "Unique request reference identifier." + } + } + }, + "429": { + "description": "The frequency of requests was greater than allowed.", + "schema": { + "$ref": "#/definitions/CreateInventoryItemResponse" + }, + "headers": { "x-amzn-RequestId": { "type": "string", - "description": "Unique request reference ID." + "description": "Unique request reference identifier." } + } + }, + "500": { + "description": "An unexpected condition occurred that prevented the server from fulfilling the request.", + "schema": { + "$ref": "#/definitions/CreateInventoryItemResponse" }, - "x-amzn-api-sandbox": { - "static": [ - { - "request": { - "parameters": { - "marketplaceIds": { - "value": [ - "1" - ] - } - } - }, - "response": { - "errors": [ - { - "message": "We encountered an internal error. Please try again.", - "code": "InternalFailure" - } - ] - } - } - ] + "headers": { + "x-amzn-RequestId": { + "type": "string", + "description": "Unique request reference identifier." + } } }, "503": { "description": "Temporary overloading or maintenance of the server.", "schema": { - "$ref": "#/definitions/GetInventorySummariesResponse" + "$ref": "#/definitions/CreateInventoryItemResponse" }, "headers": { - "x-amzn-RateLimit-Limit": { + "x-amzn-RequestId": { "type": "string", - "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." - }, + "description": "Unique request reference identifier." + } + } + } + } + } + }, + "/fba/inventory/v1/items/{sellerSku}": { + "x-amzn-api-sandbox": { + "dynamic": {} + }, + "x-amzn-api-sandbox-only": true, + "delete": { + "tags": [ + "fbaInventory" + ], + "description": "Requests that Amazon Deletes an item from the Sandbox Inventory in the sandbox environment. This is a sandbox-only operation and must be directed to a sandbox endpoint. Refer to [Selling Partner API sandbox](https://developer-docs.amazon.com/sp-api/docs/the-selling-partner-api-sandbox) for more information.", + "operationId": "deleteInventoryItem", + "produces": [ + "application/json" + ], + "parameters": [ + { + "name": "sellerSku", + "in": "path", + "description": "A single seller SKU used for querying the specified seller SKU inventory summaries.", + "required": true, + "type": "string" + }, + { + "name": "marketplaceId", + "in": "query", + "description": "The marketplace ID for the marketplace for which the sellerSku is to be deleted.", + "required": true, + "type": "string" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/DeleteInventoryItemResponse" + }, + "headers": { + "x-amzn-RequestId": { + "type": "string", + "description": "Unique request reference identifier." + } + } + }, + "400": { + "description": "Request has missing or invalid parameters and cannot be parsed.", + "schema": { + "$ref": "#/definitions/DeleteInventoryItemResponse" + }, + "headers": { + "x-amzn-RequestId": { + "type": "string", + "description": "Unique request reference identifier." + } + } + }, + "403": { + "description": "Indicates access to the resource is forbidden. Possible reasons include Access Denied, Unauthorized, Expired Token, Invalid Signature or Resource Not Found.", + "schema": { + "$ref": "#/definitions/DeleteInventoryItemResponse" + }, + "headers": { + "x-amzn-RequestId": { + "type": "string", + "description": "Unique request reference identifier." + } + } + }, + "404": { + "description": "The specified resource does not exist.", + "schema": { + "$ref": "#/definitions/DeleteInventoryItemResponse" + }, + "headers": { + "x-amzn-RequestId": { + "type": "string", + "description": "Unique request reference identifier." + } + } + }, + "429": { + "description": "The frequency of requests was greater than allowed.", + "schema": { + "$ref": "#/definitions/DeleteInventoryItemResponse" + }, + "headers": { + "x-amzn-RequestId": { + "type": "string", + "description": "Unique request reference identifier." + } + } + }, + "500": { + "description": "An unexpected condition occurred that prevented the server from fulfilling the request.", + "schema": { + "$ref": "#/definitions/DeleteInventoryItemResponse" + }, + "headers": { + "x-amzn-RequestId": { + "type": "string", + "description": "Unique request reference identifier." + } + } + }, + "503": { + "description": "Temporary overloading or maintenance of the server.", + "schema": { + "$ref": "#/definitions/DeleteInventoryItemResponse" + }, + "headers": { + "x-amzn-RequestId": { + "type": "string", + "description": "Unique request reference identifier." + } + } + } + } + } + }, + "/fba/inventory/v1/items/inventory": { + "x-amzn-api-sandbox": { + "dynamic": {} + }, + "x-amzn-api-sandbox-only": true, + "post": { + "tags": [ + "fbaInventory" + ], + "description": "Requests that Amazon add items to the Sandbox Inventory with desired amount of quantity in the sandbox environment. This is a sandbox-only operation and must be directed to a sandbox endpoint. Refer to [Selling Partner API sandbox](https://developer-docs.amazon.com/sp-api/docs/the-selling-partner-api-sandbox) for more information.", + "operationId": "addInventory", + "produces": [ + "application/json" + ], + "parameters": [ + { + "name": "x-amzn-idempotency-token", + "in": "header", + "description": "A unique token/requestId provided with each call to ensure idempotency.", + "required": true, + "type": "string" + }, + { + "name": "addInventoryRequestBody", + "in": "body", + "description": "List of items to add to Sandbox inventory.", + "required": true, + "schema": { + "$ref": "#/definitions/AddInventoryRequest" + } + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/AddInventoryResponse" + }, + "headers": { + "x-amzn-RequestId": { + "type": "string", + "description": "Unique request reference identifier." + } + } + }, + "400": { + "description": "Request has missing or invalid parameters and cannot be parsed.", + "schema": { + "$ref": "#/definitions/AddInventoryResponse" + }, + "headers": { + "x-amzn-RequestId": { + "type": "string", + "description": "Unique request reference identifier." + } + } + }, + "403": { + "description": "Indicates access to the resource is forbidden. Possible reasons include Access Denied, Unauthorized, Expired Token, Invalid Signature or Resource Not Found.", + "schema": { + "$ref": "#/definitions/AddInventoryResponse" + }, + "headers": { + "x-amzn-RequestId": { + "type": "string", + "description": "Unique request reference identifier." + } + } + }, + "404": { + "description": "The specified resource does not exist.", + "schema": { + "$ref": "#/definitions/AddInventoryResponse" + }, + "headers": { "x-amzn-RequestId": { "type": "string", - "description": "Unique request reference ID." + "description": "Unique request reference identifier." + } + } + }, + "429": { + "description": "The frequency of requests was greater than allowed.", + "schema": { + "$ref": "#/definitions/AddInventoryResponse" + }, + "headers": { + "x-amzn-RequestId": { + "type": "string", + "description": "Unique request reference identifier." + } + } + }, + "500": { + "description": "An unexpected condition occurred that prevented the server from fulfilling the request.", + "schema": { + "$ref": "#/definitions/AddInventoryResponse" + }, + "headers": { + "x-amzn-RequestId": { + "type": "string", + "description": "Unique request reference identifier." + } + } + }, + "503": { + "description": "Temporary overloading or maintenance of the server.", + "schema": { + "$ref": "#/definitions/AddInventoryResponse" + }, + "headers": { + "x-amzn-RequestId": { + "type": "string", + "description": "Unique request reference identifier." } } } @@ -400,6 +567,90 @@ } }, "definitions": { + "CreateInventoryItemRequest": { + "description": "An item to be created in the inventory.", + "type": "object", + "properties": { + "sellerSku" : { + "description": "The seller SKU of the item.", + "type": "string" + }, + "marketplaceId" : { + "description": "The marketplaceId.", + "type": "string" + }, + "productName": { + "description": "The name of the item.", + "type": "string" + } + }, + "required": ["sellerSku", "marketplaceId", "productName"] + }, + "AddInventoryRequest": { + "description": "The object with the list of Inventory to be added", + "type": "object", + "properties": { + "inventoryItems": { + "$ref": "#/definitions/InventoryItems" + } + } + }, + "InventoryItems": { + "description": "List of Inventory to be added", + "type": "array", + "items": { + "$ref": "#/definitions/InventoryItem" + } + }, + "InventoryItem": { + "description": "An item in the list of inventory to be added.", + "type": "object", + "properties": { + "sellerSku" : { + "description": "The seller SKU of the item.", + "type": "string" + }, + "marketplaceId" : { + "description": "The marketplaceId.", + "type": "string" + }, + "quantity": { + "description": "The quantity of item to add.", + "type": "integer" + } + }, + "required": ["sellerSku", "marketplaceId", "quantity"] + }, + "CreateInventoryItemResponse": { + "type": "object", + "properties": { + "errors": { + "description": "One or more unexpected errors occurred during the CreateInventoryItem operation.", + "$ref": "#/definitions/ErrorList" + } + }, + "description": "The response schema for the CreateInventoryItem operation." + }, + "DeleteInventoryItemResponse": { + "type": "object", + "properties": { + "errors": { + "description": "One or more unexpected errors occurred during the DeleteInventoryItem operation.", + "$ref": "#/definitions/ErrorList" + } + }, + "description": "The response schema for the DeleteInventoryItem operation." + }, + "AddInventoryResponse": { + "type": "object", + "properties": { + "errors": { + "description": "One or more unexpected errors occurred during the AddInventory operation.", + "$ref": "#/definitions/ErrorList" + } + }, + "description": "The response schema for the AddInventory operation." + }, "Granularity": { "type": "object", "properties": { @@ -678,4 +929,4 @@ } } } -} \ No newline at end of file +} diff --git a/models/fulfillment-outbound-api-model/fulfillmentOutbound_2020-07-01.json b/models/fulfillment-outbound-api-model/fulfillmentOutbound_2020-07-01.json index 555969314..6eb14282a 100644 --- a/models/fulfillment-outbound-api-model/fulfillmentOutbound_2020-07-01.json +++ b/models/fulfillment-outbound-api-model/fulfillmentOutbound_2020-07-01.json @@ -41,7 +41,8 @@ "required": true, "schema": { "$ref": "#/definitions/GetFulfillmentPreviewRequest" - } + }, + "description": "GetFulfillmentPreviewRequest parameter" } ], "responses": { @@ -138,10 +139,6 @@ "$ref": "#/definitions/GetFulfillmentPreviewResponse" }, "headers": { - "x-amzn-RateLimit-Limit": { - "type": "string", - "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." - }, "x-amzn-RequestId": { "type": "string", "description": "Unique request reference identifier." @@ -182,10 +179,6 @@ "$ref": "#/definitions/GetFulfillmentPreviewResponse" }, "headers": { - "x-amzn-RateLimit-Limit": { - "type": "string", - "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." - }, "x-amzn-RequestId": { "type": "string", "description": "Unique request reference identifier." @@ -198,10 +191,6 @@ "$ref": "#/definitions/GetFulfillmentPreviewResponse" }, "headers": { - "x-amzn-RateLimit-Limit": { - "type": "string", - "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." - }, "x-amzn-RequestId": { "type": "string", "description": "Unique request reference identifier." @@ -213,16 +202,162 @@ "schema": { "$ref": "#/definitions/GetFulfillmentPreviewResponse" }, + "headers": { + "x-amzn-RequestId": { + "type": "string", + "description": "Unique request reference identifier." + } + } + } + } + } + }, + "/fba/outbound/2020-07-01/deliveryOffers": { + "x-amzn-api-sandbox": { + "dynamic": {} + }, + "post": { + "tags": [ + "fbaOutbound" + ], + "description": "Returns delivery options that include an estimated delivery date and offer expiration, based on criteria that you specify.\n\n**Usage Plan:**\n\n| Rate (requests per second) | Burst |\n| ---- | ---- |\n| 5 | 30 |\n\nThe `x-amzn-RateLimit-Limit` response header returns the usage plan rate limits that were applied to the requested operation, when available. The table above indicates the default rate and burst values for this operation. Selling partners whose business demands require higher throughput may see higher rate and burst values than those shown here. For more information, see [Usage Plans and Rate Limits in the Selling Partner API](https://developer-docs.amazon.com/sp-api/docs/usage-plans-and-rate-limits-in-the-sp-api).", + "operationId": "deliveryOffers", + "parameters": [ + { + "in": "body", + "name": "body", + "required": true, + "schema": { + "$ref": "#/definitions/GetDeliveryOffersRequest" + }, + "description": "GetDeliveryOffersRequest parameter" + } + ], + "responses": { + "200": { + "description": "Success.", + "schema": { + "$ref": "#/definitions/GetDeliveryOffersResponse" + }, + "examples": { + "payload": { + "deliveryOffers": [{ + "expiresAt": "2023-10-11T18:00:00Z", + "dateRange": { + "earliest": "2023-10-13T10:00:00Z", + "latest": "2023-10-14T16:00:00Z" + }, + "policy": { + "messaging": { + "text": "Get it as soon as Wed, Aug 23", + "locale": "en_US" + } + } + }] + } + }, "headers": { "x-amzn-RateLimit-Limit": { "type": "string", - "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." + "description": "Your rate limit (requests per second) for this operation." }, "x-amzn-RequestId": { "type": "string", "description": "Unique request reference identifier." } } + }, + "400": { + "description": "Request has missing or invalid parameters and cannot be parsed.", + "schema": { + "$ref": "#/definitions/GetDeliveryOffersResponse" + }, + "headers": { + "x-amzn-RateLimit-Limit": { + "type": "string", + "description": "Your rate limit (requests per second) for this operation." + }, + "x-amzn-RequestId": { + "type": "string", + "description": "Unique request reference identifier." + } + } + }, + "401": { + "description": "The request's Authorization header is not formatted correctly or does not contain a valid token.", + "schema": { + "$ref": "#/definitions/GetDeliveryOffersResponse" + }, + "headers": { + "x-amzn-RequestId": { + "type": "string", + "description": "Unique request reference identifier." + } + } + }, + "403": { + "description": "Indicates that access to the resource is forbidden. Possible reasons include Access Denied, Unauthorized, Expired Token, or Invalid Signature.", + "schema": { + "$ref": "#/definitions/GetDeliveryOffersResponse" + }, + "headers": { + "x-amzn-RequestId": { + "type": "string", + "description": "Unique request reference identifier." + } + } + }, + "404": { + "description": "The specified resource does not exist.", + "schema": { + "$ref": "#/definitions/GetDeliveryOffersResponse" + }, + "headers": { + "x-amzn-RateLimit-Limit": { + "type": "string", + "description": "Your rate limit (requests per second) for this operation." + }, + "x-amzn-RequestId": { + "type": "string", + "description": "Unique request reference identifier." + } + } + }, + "429": { + "description": "The frequency of requests was greater than allowed.", + "schema": { + "$ref": "#/definitions/GetDeliveryOffersResponse" + }, + "headers": { + "x-amzn-RequestId": { + "type": "string", + "description": "Unique request reference identifier." + } + } + }, + "500": { + "description": "An unexpected condition occurred that prevented the server from fulfilling the request.", + "schema": { + "$ref": "#/definitions/GetDeliveryOffersResponse" + }, + "headers": { + "x-amzn-RequestId": { + "type": "string", + "description": "Unique request reference identifier." + } + } + }, + "503": { + "description": "Temporary overloading or maintenance of the server.", + "schema": { + "$ref": "#/definitions/GetDeliveryOffersResponse" + }, + "headers": { + "x-amzn-RequestId": { + "type": "string", + "description": "Unique request reference identifier." + } + } } } } @@ -352,10 +487,6 @@ "$ref": "#/definitions/ListAllFulfillmentOrdersResponse" }, "headers": { - "x-amzn-RateLimit-Limit": { - "type": "string", - "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." - }, "x-amzn-RequestId": { "type": "string", "description": "Unique request reference identifier." @@ -396,10 +527,6 @@ "$ref": "#/definitions/ListAllFulfillmentOrdersResponse" }, "headers": { - "x-amzn-RateLimit-Limit": { - "type": "string", - "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." - }, "x-amzn-RequestId": { "type": "string", "description": "Unique request reference identifier." @@ -412,10 +539,6 @@ "$ref": "#/definitions/ListAllFulfillmentOrdersResponse" }, "headers": { - "x-amzn-RateLimit-Limit": { - "type": "string", - "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." - }, "x-amzn-RequestId": { "type": "string", "description": "Unique request reference identifier." @@ -428,10 +551,6 @@ "$ref": "#/definitions/ListAllFulfillmentOrdersResponse" }, "headers": { - "x-amzn-RateLimit-Limit": { - "type": "string", - "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." - }, "x-amzn-RequestId": { "type": "string", "description": "Unique request reference identifier." @@ -453,7 +572,8 @@ "required": true, "schema": { "$ref": "#/definitions/CreateFulfillmentOrderRequest" - } + }, + "description": "CreateFulfillmentOrderRequest parameter" } ], "responses": { @@ -495,10 +615,6 @@ "$ref": "#/definitions/CreateFulfillmentOrderResponse" }, "headers": { - "x-amzn-RateLimit-Limit": { - "type": "string", - "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." - }, "x-amzn-RequestId": { "type": "string", "description": "Unique request reference identifier." @@ -539,10 +655,6 @@ "$ref": "#/definitions/CreateFulfillmentOrderResponse" }, "headers": { - "x-amzn-RateLimit-Limit": { - "type": "string", - "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." - }, "x-amzn-RequestId": { "type": "string", "description": "Unique request reference identifier." @@ -555,10 +667,6 @@ "$ref": "#/definitions/CreateFulfillmentOrderResponse" }, "headers": { - "x-amzn-RateLimit-Limit": { - "type": "string", - "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." - }, "x-amzn-RequestId": { "type": "string", "description": "Unique request reference identifier." @@ -571,10 +679,6 @@ "$ref": "#/definitions/CreateFulfillmentOrderResponse" }, "headers": { - "x-amzn-RateLimit-Limit": { - "type": "string", - "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." - }, "x-amzn-RequestId": { "type": "string", "description": "Unique request reference identifier." @@ -686,10 +790,6 @@ "$ref": "#/definitions/GetPackageTrackingDetailsResponse" }, "headers": { - "x-amzn-RateLimit-Limit": { - "type": "string", - "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." - }, "x-amzn-RequestId": { "type": "string", "description": "Unique request reference identifier." @@ -730,10 +830,6 @@ "$ref": "#/definitions/GetPackageTrackingDetailsResponse" }, "headers": { - "x-amzn-RateLimit-Limit": { - "type": "string", - "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." - }, "x-amzn-RequestId": { "type": "string", "description": "Unique request reference identifier." @@ -746,10 +842,6 @@ "$ref": "#/definitions/GetPackageTrackingDetailsResponse" }, "headers": { - "x-amzn-RateLimit-Limit": { - "type": "string", - "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." - }, "x-amzn-RequestId": { "type": "string", "description": "Unique request reference identifier." @@ -762,10 +854,6 @@ "$ref": "#/definitions/GetPackageTrackingDetailsResponse" }, "headers": { - "x-amzn-RateLimit-Limit": { - "type": "string", - "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." - }, "x-amzn-RequestId": { "type": "string", "description": "Unique request reference identifier." @@ -908,10 +996,6 @@ "$ref": "#/definitions/ListReturnReasonCodesResponse" }, "headers": { - "x-amzn-RateLimit-Limit": { - "type": "string", - "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." - }, "x-amzn-RequestId": { "type": "string", "description": "Unique request reference identifier." @@ -952,10 +1036,6 @@ "$ref": "#/definitions/ListReturnReasonCodesResponse" }, "headers": { - "x-amzn-RateLimit-Limit": { - "type": "string", - "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." - }, "x-amzn-RequestId": { "type": "string", "description": "Unique request reference identifier." @@ -968,10 +1048,6 @@ "$ref": "#/definitions/ListReturnReasonCodesResponse" }, "headers": { - "x-amzn-RateLimit-Limit": { - "type": "string", - "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." - }, "x-amzn-RequestId": { "type": "string", "description": "Unique request reference identifier." @@ -984,10 +1060,6 @@ "$ref": "#/definitions/ListReturnReasonCodesResponse" }, "headers": { - "x-amzn-RateLimit-Limit": { - "type": "string", - "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." - }, "x-amzn-RequestId": { "type": "string", "description": "Unique request reference identifier." @@ -1014,7 +1086,8 @@ "required": true, "schema": { "$ref": "#/definitions/CreateFulfillmentReturnRequest" - } + }, + "description": "CreateFulfillmentReturnRequest parameter" }, { "name": "sellerFulfillmentOrderId", @@ -1097,10 +1170,6 @@ "$ref": "#/definitions/CreateFulfillmentReturnResponse" }, "headers": { - "x-amzn-RateLimit-Limit": { - "type": "string", - "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." - }, "x-amzn-RequestId": { "type": "string", "description": "Unique request reference identifier." @@ -1113,10 +1182,6 @@ "$ref": "#/definitions/CreateFulfillmentReturnResponse" }, "headers": { - "x-amzn-RateLimit-Limit": { - "type": "string", - "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." - }, "x-amzn-RequestId": { "type": "string", "description": "Unique request reference identifier." @@ -1145,10 +1210,6 @@ "$ref": "#/definitions/CreateFulfillmentReturnResponse" }, "headers": { - "x-amzn-RateLimit-Limit": { - "type": "string", - "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." - }, "x-amzn-RequestId": { "type": "string", "description": "Unique request reference identifier." @@ -1161,10 +1222,6 @@ "$ref": "#/definitions/CreateFulfillmentReturnResponse" }, "headers": { - "x-amzn-RateLimit-Limit": { - "type": "string", - "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." - }, "x-amzn-RequestId": { "type": "string", "description": "Unique request reference identifier." @@ -1177,10 +1234,6 @@ "$ref": "#/definitions/CreateFulfillmentReturnResponse" }, "headers": { - "x-amzn-RateLimit-Limit": { - "type": "string", - "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." - }, "x-amzn-RequestId": { "type": "string", "description": "Unique request reference identifier." @@ -1297,7 +1350,8 @@ "sellerFulfillmentOrderItemId": "OrderItemID1", "quantity": 3, "packageNumber": 0, - "serialNumber": "" + "serialNumber": "", + "manufacturerLotCodes": ["LOT0822-1234", "LOT1030-5678"] } ] } @@ -1339,10 +1393,6 @@ "$ref": "#/definitions/GetFulfillmentOrderResponse" }, "headers": { - "x-amzn-RateLimit-Limit": { - "type": "string", - "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." - }, "x-amzn-RequestId": { "type": "string", "description": "Unique request reference identifier." @@ -1383,10 +1433,6 @@ "$ref": "#/definitions/GetFulfillmentOrderResponse" }, "headers": { - "x-amzn-RateLimit-Limit": { - "type": "string", - "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." - }, "x-amzn-RequestId": { "type": "string", "description": "Unique request reference identifier." @@ -1399,10 +1445,6 @@ "$ref": "#/definitions/GetFulfillmentOrderResponse" }, "headers": { - "x-amzn-RateLimit-Limit": { - "type": "string", - "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." - }, "x-amzn-RequestId": { "type": "string", "description": "Unique request reference identifier." @@ -1415,10 +1457,6 @@ "$ref": "#/definitions/GetFulfillmentOrderResponse" }, "headers": { - "x-amzn-RateLimit-Limit": { - "type": "string", - "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." - }, "x-amzn-RequestId": { "type": "string", "description": "Unique request reference identifier." @@ -1440,7 +1478,8 @@ "required": true, "schema": { "$ref": "#/definitions/UpdateFulfillmentOrderRequest" - } + }, + "description": "UpdateFulfillmentOrderRequest parameter" }, { "name": "sellerFulfillmentOrderId", @@ -1490,10 +1529,6 @@ "$ref": "#/definitions/UpdateFulfillmentOrderResponse" }, "headers": { - "x-amzn-RateLimit-Limit": { - "type": "string", - "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." - }, "x-amzn-RequestId": { "type": "string", "description": "Unique request reference identifier." @@ -1534,10 +1569,6 @@ "$ref": "#/definitions/UpdateFulfillmentOrderResponse" }, "headers": { - "x-amzn-RateLimit-Limit": { - "type": "string", - "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." - }, "x-amzn-RequestId": { "type": "string", "description": "Unique request reference identifier." @@ -1550,10 +1581,6 @@ "$ref": "#/definitions/UpdateFulfillmentOrderResponse" }, "headers": { - "x-amzn-RateLimit-Limit": { - "type": "string", - "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." - }, "x-amzn-RequestId": { "type": "string", "description": "Unique request reference identifier." @@ -1566,10 +1593,6 @@ "$ref": "#/definitions/UpdateFulfillmentOrderResponse" }, "headers": { - "x-amzn-RateLimit-Limit": { - "type": "string", - "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." - }, "x-amzn-RequestId": { "type": "string", "description": "Unique request reference identifier." @@ -1638,10 +1661,6 @@ "$ref": "#/definitions/CancelFulfillmentOrderResponse" }, "headers": { - "x-amzn-RateLimit-Limit": { - "type": "string", - "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." - }, "x-amzn-RequestId": { "type": "string", "description": "Unique request reference identifier." @@ -1682,10 +1701,6 @@ "$ref": "#/definitions/CancelFulfillmentOrderResponse" }, "headers": { - "x-amzn-RateLimit-Limit": { - "type": "string", - "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." - }, "x-amzn-RequestId": { "type": "string", "description": "Unique request reference identifier." @@ -1698,10 +1713,6 @@ "$ref": "#/definitions/CancelFulfillmentOrderResponse" }, "headers": { - "x-amzn-RateLimit-Limit": { - "type": "string", - "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." - }, "x-amzn-RequestId": { "type": "string", "description": "Unique request reference identifier." @@ -1714,10 +1725,6 @@ "$ref": "#/definitions/CancelFulfillmentOrderResponse" }, "headers": { - "x-amzn-RateLimit-Limit": { - "type": "string", - "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." - }, "x-amzn-RequestId": { "type": "string", "description": "Unique request reference identifier." @@ -1753,7 +1760,8 @@ "required": true, "schema": { "$ref": "#/definitions/SubmitFulfillmentOrderStatusUpdateRequest" - } + }, + "description": "The identifier assigned to the item by the seller when the fulfillment order was created." } ], "responses": { @@ -1763,10 +1771,6 @@ "$ref": "#/definitions/SubmitFulfillmentOrderStatusUpdateResponse" }, "headers": { - "x-amzn-RateLimit-Limit": { - "type": "string", - "description": "Your rate limit (requests per second) for this operation." - }, "x-amzn-RequestId": { "type": "string", "description": "Unique request reference identifier." @@ -1779,10 +1783,6 @@ "$ref": "#/definitions/SubmitFulfillmentOrderStatusUpdateResponse" }, "headers": { - "x-amzn-RateLimit-Limit": { - "type": "string", - "description": "Your rate limit (requests per second) for this operation." - }, "x-amzn-RequestId": { "type": "string", "description": "Unique request reference identifier." @@ -1795,10 +1795,6 @@ "$ref": "#/definitions/SubmitFulfillmentOrderStatusUpdateResponse" }, "headers": { - "x-amzn-RateLimit-Limit": { - "type": "string", - "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." - }, "x-amzn-RequestId": { "type": "string", "description": "Unique request reference identifier." @@ -1823,10 +1819,6 @@ "$ref": "#/definitions/SubmitFulfillmentOrderStatusUpdateResponse" }, "headers": { - "x-amzn-RateLimit-Limit": { - "type": "string", - "description": "Your rate limit (requests per second) for this operation." - }, "x-amzn-RequestId": { "type": "string", "description": "Unique request reference identifier." @@ -1839,10 +1831,6 @@ "$ref": "#/definitions/SubmitFulfillmentOrderStatusUpdateResponse" }, "headers": { - "x-amzn-RateLimit-Limit": { - "type": "string", - "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." - }, "x-amzn-RequestId": { "type": "string", "description": "Unique request reference identifier." @@ -1855,10 +1843,6 @@ "$ref": "#/definitions/SubmitFulfillmentOrderStatusUpdateResponse" }, "headers": { - "x-amzn-RateLimit-Limit": { - "type": "string", - "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." - }, "x-amzn-RequestId": { "type": "string", "description": "Unique request reference identifier." @@ -1871,10 +1855,6 @@ "$ref": "#/definitions/SubmitFulfillmentOrderStatusUpdateResponse" }, "headers": { - "x-amzn-RateLimit-Limit": { - "type": "string", - "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." - }, "x-amzn-RequestId": { "type": "string", "description": "Unique request reference identifier." @@ -1959,10 +1939,6 @@ "$ref": "#/definitions/GetFeaturesResponse" }, "headers": { - "x-amzn-RateLimit-Limit": { - "type": "string", - "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." - }, "x-amzn-RequestId": { "type": "string", "description": "Unique request reference identifier." @@ -2003,10 +1979,6 @@ "$ref": "#/definitions/GetFeaturesResponse" }, "headers": { - "x-amzn-RateLimit-Limit": { - "type": "string", - "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." - }, "x-amzn-RequestId": { "type": "string", "description": "Unique request reference identifier." @@ -2019,10 +1991,6 @@ "$ref": "#/definitions/GetFeaturesResponse" }, "headers": { - "x-amzn-RateLimit-Limit": { - "type": "string", - "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." - }, "x-amzn-RequestId": { "type": "string", "description": "Unique request reference identifier." @@ -2035,10 +2003,6 @@ "$ref": "#/definitions/GetFeaturesResponse" }, "headers": { - "x-amzn-RateLimit-Limit": { - "type": "string", - "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." - }, "x-amzn-RequestId": { "type": "string", "description": "Unique request reference identifier." @@ -2079,6 +2043,14 @@ "description": "A string token returned in the response to your previous request that is used to return the next response page. A value of null will return the first page.", "required": false, "type": "string" + }, + { + "name": "queryStartDate", + "in": "query", + "description": "A date that you can use to select inventory that has been updated since a specified date. An update is defined as any change in feature-enabled inventory availability. The date must be in the format yyyy-MM-ddTHH:mm:ss.sssZ", + "required": false, + "type": "string", + "format": "date-time" } ], "responses": { @@ -2151,10 +2123,6 @@ "$ref": "#/definitions/GetFeatureInventoryResponse" }, "headers": { - "x-amzn-RateLimit-Limit": { - "type": "string", - "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." - }, "x-amzn-RequestId": { "type": "string", "description": "Unique request reference identifier." @@ -2195,10 +2163,6 @@ "$ref": "#/definitions/GetFeatureInventoryResponse" }, "headers": { - "x-amzn-RateLimit-Limit": { - "type": "string", - "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." - }, "x-amzn-RequestId": { "type": "string", "description": "Unique request reference identifier." @@ -2211,10 +2175,6 @@ "$ref": "#/definitions/GetFeatureInventoryResponse" }, "headers": { - "x-amzn-RateLimit-Limit": { - "type": "string", - "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." - }, "x-amzn-RequestId": { "type": "string", "description": "Unique request reference identifier." @@ -2227,10 +2187,6 @@ "$ref": "#/definitions/GetFeatureInventoryResponse" }, "headers": { - "x-amzn-RateLimit-Limit": { - "type": "string", - "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." - }, "x-amzn-RequestId": { "type": "string", "description": "Unique request reference identifier." @@ -2326,10 +2282,6 @@ "$ref": "#/definitions/GetFeatureSkuResponse" }, "headers": { - "x-amzn-RateLimit-Limit": { - "type": "string", - "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." - }, "x-amzn-RequestId": { "type": "string", "description": "Unique request reference identifier." @@ -2370,10 +2322,6 @@ "$ref": "#/definitions/GetFeatureSkuResponse" }, "headers": { - "x-amzn-RateLimit-Limit": { - "type": "string", - "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." - }, "x-amzn-RequestId": { "type": "string", "description": "Unique request reference identifier." @@ -2386,10 +2334,6 @@ "$ref": "#/definitions/GetFeatureSkuResponse" }, "headers": { - "x-amzn-RateLimit-Limit": { - "type": "string", - "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." - }, "x-amzn-RequestId": { "type": "string", "description": "Unique request reference identifier." @@ -2402,10 +2346,6 @@ "$ref": "#/definitions/GetFeatureSkuResponse" }, "headers": { - "x-amzn-RateLimit-Limit": { - "type": "string", - "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." - }, "x-amzn-RequestId": { "type": "string", "description": "Unique request reference identifier." @@ -2707,6 +2647,10 @@ "description": "The destination address for the fulfillment order.", "$ref": "#/definitions/Address" }, + "deliveryPreferences": { + "description": "The delivery preferences applied to the destination address. These preferences will be applied when possible and are best effort.\nThis feature is currently supported only in the JP marketplace and not applicable for other marketplaces.", + "$ref": "#/definitions/DeliveryPreferences" + }, "fulfillmentAction": { "$ref": "#/definitions/FulfillmentAction" }, @@ -2754,6 +2698,7 @@ "description": "The `createFulfillmentReturn` operation creates a fulfillment return for items that were fulfilled using the `createFulfillmentOrder` operation. For calls to `createFulfillmentReturn`, you must include `ReturnReasonCode` values returned by a previous call to the `listReturnReasonCodes` operation." }, "CreateFulfillmentReturnResult": { + "description": "The result for the createFulfillmentReturn operation.", "type": "object", "properties": { "returnItems": { @@ -2868,6 +2813,65 @@ "$ref": "#/definitions/DeliveryWindow" } }, + "DeliveryPreferences": { + "type": "object", + "properties": { + "deliveryInstructions": { + "type": "string", + "description": "Additional delivery instructions. For example, this could be instructions on how to enter a building, nearby landmark or navigation instructions, 'Beware of dogs', etc.", + "maxLength": 250 + }, + "dropOffLocation": { + "description": "The preferred location to leave packages at the destination address.", + "$ref": "#/definitions/DropOffLocation" + } + }, + "description": "The delivery preferences applied to the destination address. These preferences will be applied when possible and are best effort.\nThis feature is currently supported only in the JP marketplace and not applicable for other marketplaces." + }, + "DropOffLocation": { + "type": "object", + "required": ["type"], + "properties": { + "type": { + "type": "string", + "description": "Specifies the preferred location to leave the package at the destination address.", + "enum": ["FRONT_DOOR", "DELIVERY_BOX", "GAS_METER_BOX", "BICYCLE_BASKET", "GARAGE", "RECEPTIONIST", "FALLBACK_NEIGHBOR_DELIVERY", "DO_NOT_LEAVE_UNATTENDED"], + "x-docgen-enum-table-extension": [{ + "value": "FRONT_DOOR", + "description": "Indicates delivery preferred to front door." + }, { + "value": "DELIVERY_BOX", + "description": "Indicates delivery preferred to a delivery box." + }, { + "value": "GAS_METER_BOX", + "description": "Indicates delivery preferred to a gas meter box." + }, { + "value": "BICYCLE_BASKET", + "description": "Indicates delivery preferred to a bicycle basket." + }, { + "value": "GARAGE", + "description": "Indicates delivery preferred to a garage." + }, { + "value": "RECEPTIONIST", + "description": "Indicates delivery preferred with a receptionist." + }, { + "value": "FALLBACK_NEIGHBOR_DELIVERY", + "description": "Indicates delivery preferred with a designated neighbor if the recipient is not available at the destination address." + }, { + "value": "DO_NOT_LEAVE_UNATTENDED", + "description": "Indicates delivery preferred as attended." + }] + }, + "attributes": { + "type": "object", + "additionalProperties": { + "type": "string" + }, + "description": "Additional information about the drop-off location that can vary depending on the type of drop-off location specified in the `type` field.\nIf the `type` is set to `FALLBACK_NEIGHBOR_DELIVERY`, the `attributes` object should include the exact keys `neighborName` and `houseNumber` to provide the name and house number of the designated neighbor." + } + }, + "description": "The preferred location to leave packages at the destination address." + }, "Fee": { "type": "object", "required": [ @@ -3359,6 +3363,10 @@ "serialNumber": { "type": "string", "description": "The serial number of the shipped item." + }, + "manufacturerLotCodes": { + "description": "The manufacturer lot codes of the shipped items.", + "$ref": "#/definitions/StringList" } }, "description": "Item information for a shipment in a fulfillment order." @@ -3400,6 +3408,10 @@ "estimatedArrivalDate": { "description": "The estimated arrival date and time of the package. Must be in ISO 8601 format.", "$ref": "#/definitions/Timestamp" + }, + "lockerDetails": { + "description": "The locker details, if provided can be used to access locker delivery box.", + "$ref": "#/definitions/LockerDetails" } }, "description": "Package information for a shipment in a fulfillment order." @@ -3412,6 +3424,7 @@ } }, "GetFulfillmentOrderResult": { + "description": "The request for the getFulfillmentOrder operation.", "type": "object", "required": [ "fulfillmentOrder", @@ -3553,6 +3566,295 @@ }, "description": "The response schema for the `getFulfillmentPreview` operation." }, + "GetDeliveryOffersRequest": { + "type": "object", + "required": [ + "product", + "terms" + ], + "properties": { + "product": { + "$ref": "#/definitions/GetDeliveryOffersProduct", + "description": "The product details for the delivery offer." + }, + "terms": { + "$ref": "#/definitions/GetDeliveryOffersTerms", + "description": "The terms for the delivery offer." + } + }, + "description": "The request body schema for the getDeliveryOffers operation." + }, + "GetDeliveryOffersResponse": { + "type": "object", + "properties": { + "payload": { + "$ref": "#/definitions/GetDeliveryOffersResult", + "description": "The response payload for the getDeliveryOffers operation." + }, + "errors": { + "$ref": "#/definitions/ErrorList", + "description": "One or more unexpected errors occurred during the getDeliveryOffers operation." + } + }, + "description": "The response schema for the getDeliveryOffers operation." + }, + "GetDeliveryOffersResult": { + "type": "object", + "properties": { + "deliveryOffers": { + "$ref": "#/definitions/DeliveryOffersList", + "description": "An array of delivery offers." + } + }, + "description": "A list of delivery offers, including offer expiration, earliest and latest date and time range, and the delivery offer policy." + }, + "DeliveryOffersList": { + "type": "array", + "description": "An array of delivery offer information.", + "items": { + "$ref": "#/definitions/DeliveryOffer" + } + }, + "DeliveryOffer": { + "type": "object", + "properties": { + "expiresAt": { + "$ref": "#/definitions/Timestamp", + "description": "The timestamp at which a delivery offer expires." + }, + "dateRange": { + "$ref": "#/definitions/DateRange", + "description": "The range between which delivery is expected." + }, + "policy": { + "$ref": "#/definitions/DeliveryPolicy", + "description": "The policy for a delivery offer, including localized messaging." + } + }, + "description": "An available offer for delivery of a product." + }, + "GetDeliveryOffersProduct": { + "type": "object", + "required": [ + "productIdentifier" + ], + "properties": { + "productIdentifier": { + "$ref": "#/definitions/ProductIdentifier", + "description": "Product identifier input that locates a product for MCF." + }, + "amount": { + "$ref": "#/definitions/Amount", + "description": "The amount of the requested product." + } + }, + "description": "The product details for the delivery offer." + }, + "Amount": { + "type": "object", + "required": [ + "unitOfMeasure", + "value" + ], + "properties": { + "unitOfMeasure": { + "type": "string", + "description": "The unit of measure for the amount.", + "enum": [ + "Eaches" + ], + "x-docgen-enum-table-extension": [ + { + "value": "Eaches", + "description": "Specifies an integer count of units." + } + ] + }, + "value": { + "$ref": "#/definitions/Decimal", + "description": "The amount of a product in the associated unit of measure." + } + }, + "description": "A quantity based on unit of measure." + }, + "GetDeliveryOffersTerms": { + "type": "object", + "required": [ + "origin", + "destination" + ], + "properties": { + "origin": { + "$ref": "#/definitions/Origin", + "description": "The origin for the delivery offer." + }, + "destination": { + "$ref": "#/definitions/Destination", + "description": "The destination for the delivery offer." + } + }, + "description": "The delivery terms for the delivery offer." + }, + "IpAddress": { + "type": "string", + "format": "ip", + "description": "An IP Address." + }, + "Destination": { + "type": "object", + "properties": { + "deliveryAddress": { + "$ref": "#/definitions/VariablePrecisionAddress" + }, + "ipAddress": { + "$ref": "#/definitions/IpAddress", + "description": "The IP address of the customer." + } + }, + "description": "The destination for the delivery offer." + }, + "ProductIdentifier": { + "type": "object", + "required": [ + "merchantSku" + ], + "properties": { + "merchantSku": { + "type": "string", + "description": "The merchant SKU for the product.", + "maxLength": 50 + } + }, + "description": "Product identifier input that locates a product for MCF." + }, + "Origin": { + "type": "object", + "required": [ + "countryCode" + ], + "description": "The origin for the delivery offer.", + "properties": { + "countryCode": { + "type": "string", + "description": "The two digit country code the items should ship from. In ISO 3166-1 alpha-2 format.", + "minLength": 2, + "maxLength": 2 + } + } + }, + "VariablePrecisionAddress": { + "type": "object", + "required": [ + "countryCode", + "postalCode" + ], + "properties": { + "addressLine1": { + "type": "string", + "description": "The first line of the address." + }, + "addressLine2": { + "type": "string", + "description": "Additional address information, if required." + }, + "addressLine3": { + "type": "string", + "description": "Additional address information, if required." + }, + "city": { + "type": "string", + "description": "The city where the person, business, or institution is located. This property should not be used in Japan." + }, + "districtOrCounty": { + "type": "string", + "description": "The district or county where the person, business, or institution is located." + }, + "stateOrRegion": { + "type": "string", + "description": "The state or region where the person, business or institution is located." + }, + "postalCode": { + "type": "string", + "description": "The postal code of the address." + }, + "countryCode": { + "type": "string", + "description": "The two digit country code. In ISO 3166-1 alpha-2 format.", + "minLength": 2, + "maxLength": 2 + } + }, + "description": "A physical address with varying degrees of precision. A more precise address can provide more accurate results than country code and postal code alone." + }, + "DeliveryQuantity": { + "type": "object", + "required": [ + "unitOfMeasure", + "amount" + ], + "properties": { + "unitOfMeasure": { + "type": "string", + "description": "The unit of measure for the amount.", + "enum": [ + "Each" + ], + "x-docgen-enum-table-extension": [ + { + "value": "Each", + "description": "Specifies an integer count of units." + } + ] + }, + "amount": { + "$ref": "#/definitions/Decimal", + "description": "The amount of a product in the associated unit of measure." + } + }, + "description": "A quantity based on unit of measure." + }, + "DateRange": { + "type": "object", + "required": [ + "earliest", + "latest" + ], + "properties": { + "earliest": { + "$ref": "#/definitions/Timestamp", + "description": "The earliest point in a date range." + }, + "latest": { + "$ref": "#/definitions/Timestamp", + "description": "The latest point in a date range." + } + }, + "description": "The time range within which something (for example, a delivery) will occur." + }, + "DeliveryPolicy": { + "type": "object", + "properties": { + "message": { + "$ref": "#/definitions/DeliveryMessage", + "description": "Localized messaging for a delivery offering." + } + }, + "description": "The policy for a delivery offering." + }, + "DeliveryMessage": { + "type": "object", + "properties": { + "text": { + "type": "string", + "description": "The message content for a delivery offering." + }, + "locale": { + "type": "string", + "description": "The locale for the message (for example, en_US)." + } + }, + "description": "Localized messaging for a delivery offering." + }, "InvalidItemReasonCode": { "type": "string", "description": "A code for why the item is invalid for return.", @@ -3628,6 +3930,7 @@ } }, "ListAllFulfillmentOrdersResult": { + "description": "The request for the listAllFulfillmentOrders operation.", "type": "object", "properties": { "nextToken": { @@ -3658,6 +3961,7 @@ "description": "The response schema for the `listAllFulfillmentOrders` operation." }, "ListReturnReasonCodesResult": { + "description": "The request for the listReturnReasonCodes operation.", "type": "object", "properties": { "reasonCodeDetails": { @@ -3679,6 +3983,20 @@ }, "description": "The response schema for the `listReturnReasonCodes` operation." }, + "LockerDetails": { + "type": "object", + "properties": { + "lockerNumber": { + "type": "string", + "description": "Indicates the locker number" + }, + "lockerAccessCode": { + "type": "string", + "description": "Indicates the locker access code" + } + }, + "description": "The locker details, if provided can be used to access locker delivery box." + }, "NotificationEmailList": { "type": "array", "description": "A list of email addresses that the seller provides that are used by Amazon to send ship-complete notifications to recipients on behalf of the seller.", @@ -3924,6 +4242,7 @@ ] }, "PackageTrackingDetails": { + "description": "Tracking details of package", "type": "object", "required": [ "packageNumber" @@ -4214,18 +4533,21 @@ "description": "Delivery information for a scheduled delivery. This is only available in the JP marketplace." }, "ShippingSpeedCategoryList": { + "description": "ShippingSpeedCategory List", "type": "array", "items": { "$ref": "#/definitions/ShippingSpeedCategory" } }, "StringList": { + "description": "String list", "type": "array", "items": { "type": "string" } }, "Timestamp": { + "description": "Date timestamp", "type": "string", "format": "date-time" }, From 9fee02185a15e8933d41a57c33ef5917d61f7c33 Mon Sep 17 00:00:00 2001 From: Jack Evoniuk Date: Wed, 19 Jun 2024 15:12:36 -0700 Subject: [PATCH 078/340] Update Vendor Analytics dataset --- .DS_Store | Bin 8196 -> 0 bytes ...alytics_vendorAnalytics_2024_09_30.graphql | 26 ++++++++++++++++-- 2 files changed, 24 insertions(+), 2 deletions(-) delete mode 100644 .DS_Store diff --git a/.DS_Store b/.DS_Store deleted file mode 100644 index 20dd4b7e5ad4e98fa9264c11d1da949b6ecd02dd..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 8196 zcmeHMU2GIp6u#fIlo>m~v{ER@vMUQnptZaF6r_mTAATyWAluSyDc0Scp&gl>sXMc~ z{G?i9G@2OkKkCw^ zd(WLYXTCFc&n#mMZ3Q*XSUqD*q{Bs}n!0N=cicU$YJ#t+Bm~(rW-vQbvPUz9mAPtm zpa>!mL?DPj5P={9K?H7u2+*GGHt{<9J|7MGAOb-I{+AJO-wzQwTuk^l&e3~yQ0J8Z zgl-AoH9Ds{z_W??nDB9&qi0HM^6CM;Df|)x+?>WE?sUS0kK-J??sk|S0r z>7<>4-ImVpcBLN6GBV}!bY_>Xm4=kr?Uw1JbyLfG2D+-zl)*mTRIO5*RWMcCvrX~= zQ4*ygWx=6Cjq&*Ecta!}TiZO=5IGc&t!i$FtX|bTHYSO6(WaK2L;H-JX+6VTf&V&S zGp4w9WU60=U2NyyB`T6-zs{EZl5VM%XN3Av{R8q~O3zwmQa`8-DYI;Hu9L(ad96rJ z^<^!ikTdNer6!v;vIQgUXsw3fPA1(fJDax*V~1tyj&7O#DM#Dyloy&blp3(DywmP2 zHl!#8TidD8T6$6IpcQGUTK8((N8M%YU0U8Ij3#2-Md|p=x#7jj8dt8}kl57OegDKP zrKVPv>*n+obz9FET7TNkYNo22!@VV4bw&m#!lt9|)wR4N)u5rrOy{(T+WL9(Z(9%w z@i|v)%B!Rb8U5jc?i^5}qR6iiS`?K;<-I|bZnE1_-4#`DBotb7hbZoL_3e3$dajm3 zD;mfk-D6XL{M(GhB}uV+_7M%Zsl29HloYksNM|&|SFLX$)waGO_uN<3-6Kk=td+}= zGd9b7mv5a$I5%r zxNlJ?)bB3Us;ZhwPS3BOR~t%(dPU`HvQc!is1xn!S#b7?(M0l;_e`RR<^0)1IWXqM zSejiHeRMau5L?RD(WchJ_EORvW>2%D>|J((on)uk8Fr4HXFs!x>=*VcyMzkJsKo*- zMkAUKLmcbTf(_V+ZRkNSb|Hg(Fpz@<2V-~ykK!<%z!5x)=kNkv!E1OO$M7bO<9&R9 z5Ai8J#}_z_FL4e(;yixB1^k9f_+6+G<_n93CBjmnNr(w6g;m04VT-Us=od1=urR_s z5X$McXR>F)0g@-ZMkw9<&w#@5Yo}Xy%ht|&<*pk(-M*RWCfKdB>*majELq;PdfnZv zmubjZTPEtC6TsvAq)hQR@9| zX~V^(^0Kf}MJdC@72(FPB2cDsF&17aD;1Q7l4rXn+$bv$xp0@5hWbJK|F@XiRn+`DLjuC@e*FfQM^igKZZAm?Qh|2yn~N$0w-|_pLo2Vz_<7w zKTKhA_hcsH!c-;~lX=sy%wf`(*+1Fjrj;uAo!7hd|EBAI|G#Pd3vN7!KoEhyjsPk< zk{xX{?|Sbyx7Lo(@gN;;bLWk7^h~Jp%5g%k94EZ|hasIuXsT Date: Fri, 21 Jun 2024 15:15:42 -0700 Subject: [PATCH 079/340] Update dates in the Feeds and Reports models --- models/feeds-api-model/feeds_2020-09-04.json | 4 ++-- models/reports-api-model/reports_2020-09-04.json | 4 ++-- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/models/feeds-api-model/feeds_2020-09-04.json b/models/feeds-api-model/feeds_2020-09-04.json index 739289852..4c5d746b6 100644 --- a/models/feeds-api-model/feeds_2020-09-04.json +++ b/models/feeds-api-model/feeds_2020-09-04.json @@ -1,7 +1,7 @@ { "swagger": "2.0", "info": { - "description": "Effective **June 27, 2023**, the Selling Partner API for Feeds v2020-09-04 will no longer be available and all calls to it will fail. Integrations that rely on the Feeds API must migrate to [Feeds v2021-06-30](https://developer-docs.amazon.com/sp-api/docs/feeds-api-v2021-06-30-reference) to avoid service disruption.", + "description": "Effective **June 27, 2024**, the Selling Partner API for Feeds v2020-09-04 will no longer be available and all calls to it will fail. Integrations that rely on the Feeds API must migrate to [Feeds v2021-06-30](https://developer-docs.amazon.com/sp-api/docs/feeds-api-v2021-06-30-reference) to avoid service disruption.", "version": "2020-09-04", "title": "Selling Partner API for Feeds", "contact": { @@ -1711,4 +1711,4 @@ "description": "Information required to encrypt and upload a feed document's contents." } } -} \ No newline at end of file +} diff --git a/models/reports-api-model/reports_2020-09-04.json b/models/reports-api-model/reports_2020-09-04.json index 4127a00e9..183e0ecc7 100644 --- a/models/reports-api-model/reports_2020-09-04.json +++ b/models/reports-api-model/reports_2020-09-04.json @@ -1,7 +1,7 @@ { "swagger": "2.0", "info": { - "description": "Effective **June 27, 2023**, the Selling Partner API for Reports v2020-09-04 will no longer be available and all calls to it will fail. Integrations that rely on the Reports API must migrate to [Reports v2021-06-30](https://developer-docs.amazon.com/sp-api/docs/reports-api-v2021-06-30-reference) to avoid service disruption.", + "description": "Effective **June 27, 2024**, the Selling Partner API for Reports v2020-09-04 will no longer be available and all calls to it will fail. Integrations that rely on the Reports API must migrate to [Reports v2021-06-30](https://developer-docs.amazon.com/sp-api/docs/reports-api-v2021-06-30-reference) to avoid service disruption.", "version": "2020-09-04", "title": "Selling Partner API for Reports", "contact": { @@ -2544,4 +2544,4 @@ "description": "Response schema." } } -} \ No newline at end of file +} From ae647a4ad460e19ee7de03cd772800177cb6f0b4 Mon Sep 17 00:00:00 2001 From: Jack Evoniuk Date: Tue, 25 Jun 2024 14:41:24 -0700 Subject: [PATCH 080/340] Update Analytics Sales and Traffic schema --- .../data-kiosk/analytics_salesAndTraffic_2023_11_15.graphql | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/schemas/data-kiosk/analytics_salesAndTraffic_2023_11_15.graphql b/schemas/data-kiosk/analytics_salesAndTraffic_2023_11_15.graphql index 6afb98538..bbc24f042 100644 --- a/schemas/data-kiosk/analytics_salesAndTraffic_2023_11_15.graphql +++ b/schemas/data-kiosk/analytics_salesAndTraffic_2023_11_15.graphql @@ -47,7 +47,7 @@ type Analytics_SalesAndTraffic_2023_11_15 { granularity will be used instead. """ startDate: Date! - ): [SalesAndTrafficByAsin] + ): [SalesAndTrafficByAsin] @deprecated(reason : "No longer supported. Use salesAndTrafficByAsin from the analytics_salesAndTraffic_2024_04_24 schema instead.") "A query to retrieve sales and traffic data for the seller's account aggregated by date." salesAndTrafficByDate( "Determines how the sales and traffic data should be aggregated." @@ -71,7 +71,7 @@ type Analytics_SalesAndTraffic_2023_11_15 { first day of the next month for MONTH date granularity will be used instead. """ startDate: Date! - ): [SalesAndTrafficByDate] + ): [SalesAndTrafficByDate] @deprecated(reason : "No longer supported. Use salesAndTrafficByDate from the analytics_salesAndTraffic_2024_04_24 schema instead.") } "The sales data for the seller's account aggregated by ASIN." @@ -504,7 +504,7 @@ type ByDateTraffic { "A root type for queries" type Query { "Analytics Sales and Traffic queries version 2023_11_15." - analytics_salesAndTraffic_2023_11_15: Analytics_SalesAndTraffic_2023_11_15 + analytics_salesAndTraffic_2023_11_15: Analytics_SalesAndTraffic_2023_11_15 @deprecated(reason : "No longer supported. Use analytics_salesAndTraffic_2024_04_24 instead.") } "The sales and traffic data for the seller's account aggregated by ASIN." From 1b8301502dece406945600ef434757cb753a273e Mon Sep 17 00:00:00 2001 From: Gibran Waldron Date: Thu, 27 Jun 2024 08:07:14 -0700 Subject: [PATCH 081/340] Vendor df models update. --- .../vendorDirectFulfillmentInventoryV1.json | 48 +- .../vendorDirectFulfillmentOrdersV1.json | 343 +---- ...dorDirectFulfillmentOrders_2021-12-28.json | 91 +- .../vendorDirectFulfillmentPaymentsV1.json | 306 ++-- ...rectFulfillmentSandboxData_2021-10-28.json | 80 +- .../vendorDirectFulfillmentShippingV1.json | 1336 ++++++++--------- ...rDirectFulfillmentShipping_2021-12-28.json | 140 +- ...vendorDirectFulfillmentTransactionsV1.json | 26 +- ...ectFulfillmentTransactions_2021-12-28.json | 97 +- .../vendorInvoices.json | 91 +- .../vendor-orders-api-model/vendorOrders.json | 226 +-- .../vendorTransactionStatus.json | 37 +- 12 files changed, 1052 insertions(+), 1769 deletions(-) diff --git a/models/vendor-direct-fulfillment-inventory-api-model/vendorDirectFulfillmentInventoryV1.json b/models/vendor-direct-fulfillment-inventory-api-model/vendorDirectFulfillmentInventoryV1.json index 0e3e472d6..fef0184f9 100644 --- a/models/vendor-direct-fulfillment-inventory-api-model/vendorDirectFulfillmentInventoryV1.json +++ b/models/vendor-direct-fulfillment-inventory-api-model/vendorDirectFulfillmentInventoryV1.json @@ -29,7 +29,7 @@ "tags": [ "updateInventory" ], - "description": "Submits inventory updates for the specified warehouse for either a partial or full feed of inventory items.\n\n**Usage Plan:**\n\n| Rate (requests per second) | Burst |\n| ---- | ---- |\n| 10 | 10 |\n\nThe `x-amzn-RateLimit-Limit` response header returns the usage plan rate limits that were applied to the requested operation, when available. The table above indicates the default rate and burst values for this operation. Selling partners whose business demands require higher throughput may see higher rate and burst values than those shown here. For more information, see [Usage Plans and Rate Limits in the Selling Partner API](https://developer-docs.amazon.com/sp-api/docs/usage-plans-and-rate-limits-in-the-sp-api).", + "description": "Submits inventory updates for the specified warehouse for either a partial or full feed of inventory items.\n\n**Usage Plan:**\n\n| Rate (requests per second) | Burst |\n| ---- | ---- |\n| 10 | 10 |\n\nThe `x-amzn-RateLimit-Limit` response header returns the usage plan rate limits that are applied to the operation, when available. The table above indicates the default rate and burst values for this operation. Selling partners whose business demands require higher throughput may see higher rate and burst values than those shown here. For more information, refer to [Usage Plans and Rate Limits in the *SP-API*](https://developer-docs.amazon.com/sp-api/docs/usage-plans-and-rate-limits-in-the-sp-api).", "operationId": "submitInventoryUpdate", "parameters": [ { @@ -38,7 +38,8 @@ "required": true, "schema": { "$ref": "#/definitions/SubmitInventoryUpdateRequest" - } + }, + "description": "The request body that contains the inventory update data to submit." }, { "name": "warehouseId", @@ -203,10 +204,6 @@ "$ref": "#/definitions/SubmitInventoryUpdateResponse" }, "headers": { - "x-amzn-RateLimit-Limit": { - "type": "string", - "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." - }, "x-amzn-RequestId": { "type": "string", "description": "Unique request reference identifier." @@ -219,10 +216,6 @@ "$ref": "#/definitions/SubmitInventoryUpdateResponse" }, "headers": { - "x-amzn-RateLimit-Limit": { - "type": "string", - "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." - }, "x-amzn-RequestId": { "type": "string", "description": "Unique request reference identifier." @@ -235,10 +228,6 @@ "$ref": "#/definitions/SubmitInventoryUpdateResponse" }, "headers": { - "x-amzn-RateLimit-Limit": { - "type": "string", - "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." - }, "x-amzn-RequestId": { "type": "string", "description": "Unique request reference identifier." @@ -251,10 +240,6 @@ "$ref": "#/definitions/SubmitInventoryUpdateResponse" }, "headers": { - "x-amzn-RateLimit-Limit": { - "type": "string", - "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." - }, "x-amzn-RequestId": { "type": "string", "description": "Unique request reference identifier." @@ -267,10 +252,6 @@ "$ref": "#/definitions/SubmitInventoryUpdateResponse" }, "headers": { - "x-amzn-RateLimit-Limit": { - "type": "string", - "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." - }, "x-amzn-RequestId": { "type": "string", "description": "Unique request reference identifier." @@ -291,9 +272,10 @@ "$ref": "#/definitions/InventoryUpdate" } }, - "description": "The request body for the submitInventoryUpdate operation." + "description": "The request body for the `submitInventoryUpdate` operation." }, "InventoryUpdate": { + "description": "Inventory details required to update some or all items for the requested warehouse.", "type": "object", "required": [ "isFullUpdate", @@ -302,12 +284,12 @@ ], "properties": { "sellingParty": { - "description": "ID of the selling party or vendor.", + "description": "The ID for the selling party or vendor.", "$ref": "#/definitions/PartyIdentification" }, "isFullUpdate": { "type": "boolean", - "description": "When true, this request contains a full feed. Otherwise, this request contains a partial feed. When sending a full feed, you must send information about all items in the warehouse. Any items not in the full feed are updated as not available. When sending a partial feed, only include the items that need an update to inventory. The status of other items will remain unchanged." + "description": "When `true`, this request contains a full feed. When `false`, this request contains a partial feed. When sending a full feed, you must send information about all items in the warehouse. Any items not in the full feed are updated as not available. When sending a partial feed, only include the items that need an inventory update. The status of other items will remain unchanged." }, "items": { "type": "array", @@ -326,11 +308,11 @@ "properties": { "buyerProductIdentifier": { "type": "string", - "description": "The buyer selected product identification of the item. Either buyerProductIdentifier or vendorProductIdentifier should be submitted." + "description": "The buyer-selected product identification for the item. Either `buyerProductIdentifier` or `vendorProductIdentifier` must be submitted." }, "vendorProductIdentifier": { "type": "string", - "description": "The vendor selected product identification of the item. Either buyerProductIdentifier or vendorProductIdentifier should be submitted." + "description": "The vendor selected product identification for the item. Either `buyerProductIdentifier` or `vendorProductIdentifier` must be submitted." }, "availableQuantity": { "description": "Total item quantity available in the warehouse.", @@ -338,12 +320,13 @@ }, "isObsolete": { "type": "boolean", - "description": "When true, the item is permanently unavailable." + "description": "When `true`, the item is permanently unavailable." } }, "description": "Updated inventory details for an item." }, "PartyIdentification": { + "description": "Name, address and tax details for a group.", "type": "object", "required": [ "partyId" @@ -370,20 +353,20 @@ "description": "Unit of measure for the available quantity." } }, - "description": "Details of item quantity." + "description": "Details about item quantity." }, "SubmitInventoryUpdateResponse": { "type": "object", "properties": { "payload": { - "description": "The response payload for the submitInventoryUpdate operation.", + "description": "The response payload for the `submitInventoryUpdate` operation.", "$ref": "#/definitions/TransactionReference" }, "errors": { "$ref": "#/definitions/ErrorList" } }, - "description": "The response schema for the submitInventoryUpdate operation." + "description": "The response schema for the `submitInventoryUpdate` operation." }, "TransactionReference": { "type": "object", @@ -392,7 +375,8 @@ "type": "string", "description": "GUID to identify this transaction. This value can be used with the Transaction Status API to return the status of this transaction." } - } + }, + "description": "A response that contains the transaction ID." }, "ErrorList": { "type": "array", diff --git a/models/vendor-direct-fulfillment-orders-api-model/vendorDirectFulfillmentOrdersV1.json b/models/vendor-direct-fulfillment-orders-api-model/vendorDirectFulfillmentOrdersV1.json index 49e96b1bb..978715266 100644 --- a/models/vendor-direct-fulfillment-orders-api-model/vendorDirectFulfillmentOrdersV1.json +++ b/models/vendor-direct-fulfillment-orders-api-model/vendorDirectFulfillmentOrdersV1.json @@ -691,251 +691,6 @@ } } }, - { - "request": { - "parameters": { - "createdBefore": { - "value": "2020-02-20T00:00:00-08:00" - }, - "createdAfter": { - "value": "2020-02-15T14:00:00-08:00" - }, - "includeDetails": { - "value": "true" - }, - "limit": { - "value": 2 - }, - "sortOrder": { - "value": "DESC" - }, - "nextToken": { - "value": "MDAwMDAwMDAwMQ==" - } - } - }, - "response": { - "payload": { - "orders": [ - { - "purchaseOrderNumber": "2JK3S9VCD", - "orderDetails": { - "customerOrderNumber": "123-ABC", - "orderDate": "2020-02-20T13:51:00Z", - "orderStatus": "NEW", - "shipmentDetails": { - "isPriorityShipment": false, - "isScheduledDeliveryShipment": false, - "isPslipRequired": true, - "isGift": false, - "shipMethod": "UPS_2ND", - "shipmentDates": { - "requiredShipDate": "2020-02-21T00:00:00Z", - "promisedDeliveryDate": "2020-02-24T00:00:00Z" - }, - "messageToCustomer": "This shipment completes your order. You can always check the status of your orders from the \"Your Account\" link at the top of each page of our site.Thank you for shopping at Amazon.com" - }, - "taxTotal": { - "taxLineItem": [ - { - "taxAmount": { - "currencyCode": "USD", - "amount": "190" - }, - "type": "TOTAL" - } - ] - }, - "sellingParty": { - "partyId": "999US" - }, - "shipFromParty": { - "partyId": "ABCD" - }, - "shipToParty": { - "name": "ABCD", - "attention": "ABCD", - "addressLine1": "123 XYZ Street", - "addressLine2": "Apt 5", - "city": "San Jose", - "stateOrRegion": "CA", - "postalCode": "94086", - "countryCode": "USA" - }, - "billToParty": { - "partyId": "ABCD" - }, - "items": [ - { - "itemSequenceNumber": "00001", - "buyerProductIdentifier": "B07DFVDRAB", - "vendorProductIdentifier": "8806098286500", - "title": "LG 8 kg Inverter Wi-Fi Fully-Automatic Front Loading Washing Machine (FHT1408SWS, STS-VCM, Inbuilt Heater)", - "orderedQuantity": { - "amount": 1, - "unitOfMeasure": "EACH" - }, - "netPrice": { - "currencyCode": "USD", - "amount": "500" - }, - "taxDetails": { - "taxLineItem": [ - { - "taxRate": "0.1", - "taxAmount": { - "currencyCode": "USD", - "amount": "50" - }, - "type": "TOTAL" - } - ] - } - }, - { - "itemSequenceNumber": "00002", - "buyerProductIdentifier": "B07DFYF5AB", - "vendorProductIdentifier": "8806098286123", - "title": "LG 6.5 kg Inverter Fully-Automatic Front Loading Washing Machine (FHT1065SNW, Blue and White, Inbuilt Heater)", - "orderedQuantity": { - "amount": 2, - "unitOfMeasure": "EACH" - }, - "netPrice": { - "currencyCode": "USD", - "amount": "700" - }, - "taxDetails": { - "taxLineItem": [ - { - "taxRate": "0.1", - "taxAmount": { - "currencyCode": "USD", - "amount": "140" - }, - "type": "TOTAL" - } - ] - } - } - ] - } - }, - { - "purchaseOrderNumber": "3TRD2IABC", - "orderDetails": { - "customerOrderNumber": "456-ABC", - "orderDate": "2020-02-18T11:47:00Z", - "orderStatus": "NEW", - "shipmentDetails": { - "isPriorityShipment": false, - "isScheduledDeliveryShipment": false, - "isPslipRequired": true, - "isGift": false, - "shipMethod": "UPS_2ND", - "shipmentDates": { - "requiredShipDate": "2020-02-20T00:00:00Z", - "promisedDeliveryDate": "2020-02-22T00:00:00Z" - }, - "messageToCustomer": "This shipment completes your order. You can always check the status of your orders from the \"Your Account\" link at the top of each page of our site.Thank you for shopping at Amazon.com" - }, - "taxTotal": { - "taxLineItem": [ - { - "taxRate": "0.1", - "taxAmount": { - "currencyCode": "USD", - "amount": "2" - }, - "type": "TOTAL" - } - ] - }, - "sellingParty": { - "partyId": "999US" - }, - "shipFromParty": { - "partyId": "ABCD" - }, - "shipToParty": { - "name": "XYZ", - "attention": "XYZ", - "addressLine1": "456 ABC Street", - "city": "Seattle", - "stateOrRegion": "WA", - "postalCode": "98007", - "countryCode": "USA" - }, - "billToParty": { - "partyId": "ABCD" - }, - "items": [ - { - "itemSequenceNumber": "00001", - "buyerProductIdentifier": "B01LNRIIAB", - "vendorProductIdentifier": "8806098286501", - "title": "Baby Dove Baby Wipes Rich Moisture (50 Pieces)", - "orderedQuantity": { - "amount": 1, - "unitOfMeasure": "EACH" - }, - "netPrice": { - "currencyCode": "USD", - "amount": "20" - }, - "taxDetails": { - "taxLineItem": [ - { - "taxRate": "0.1", - "taxAmount": { - "currencyCode": "USD", - "amount": "2" - }, - "type": "TOTAL" - } - ] - } - } - ] - } - } - ] - } - } - }, - { - "request": { - "parameters": { - "createdBefore": { - "value": "2019-08-21T00:00:00-08:00" - }, - "createdAfter": { - "value": "2019-08-20T14:00:00-08:00" - }, - "includeDetails": { - "value": "false" - }, - "sortOrder": { - "value": "DESC" - } - } - }, - "response": { - "payload": { - "pagination": { - "nextToken": "MDAwMDAwMDAwMQ==" - }, - "orders": [ - { - "purchaseOrderNumber": "2JK3S9VC" - }, - { - "purchaseOrderNumber": "3TRD2IAB" - } - ] - } - } - }, { "request": { "parameters": { @@ -1273,10 +1028,6 @@ "$ref": "#/definitions/GetOrdersResponse" }, "headers": { - "x-amzn-RateLimit-Limit": { - "type": "string", - "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." - }, "x-amzn-RequestId": { "type": "string", "description": "Unique request reference identifier." @@ -1289,10 +1040,6 @@ "$ref": "#/definitions/GetOrdersResponse" }, "headers": { - "x-amzn-RateLimit-Limit": { - "type": "string", - "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." - }, "x-amzn-RequestId": { "type": "string", "description": "Unique request reference identifier." @@ -1305,10 +1052,6 @@ "$ref": "#/definitions/GetOrdersResponse" }, "headers": { - "x-amzn-RateLimit-Limit": { - "type": "string", - "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." - }, "x-amzn-RequestId": { "type": "string", "description": "Unique request reference identifier." @@ -1321,10 +1064,6 @@ "$ref": "#/definitions/GetOrdersResponse" }, "headers": { - "x-amzn-RateLimit-Limit": { - "type": "string", - "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." - }, "x-amzn-RequestId": { "type": "string", "description": "Unique request reference identifier." @@ -1750,10 +1489,6 @@ "$ref": "#/definitions/GetOrderResponse" }, "headers": { - "x-amzn-RateLimit-Limit": { - "type": "string", - "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." - }, "x-amzn-RequestId": { "type": "string", "description": "Unique request reference identifier." @@ -1794,10 +1529,6 @@ "$ref": "#/definitions/GetOrderResponse" }, "headers": { - "x-amzn-RateLimit-Limit": { - "type": "string", - "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." - }, "x-amzn-RequestId": { "type": "string", "description": "Unique request reference identifier." @@ -1810,10 +1541,6 @@ "$ref": "#/definitions/GetOrderResponse" }, "headers": { - "x-amzn-RateLimit-Limit": { - "type": "string", - "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." - }, "x-amzn-RequestId": { "type": "string", "description": "Unique request reference identifier." @@ -1826,10 +1553,6 @@ "$ref": "#/definitions/GetOrderResponse" }, "headers": { - "x-amzn-RateLimit-Limit": { - "type": "string", - "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." - }, "x-amzn-RequestId": { "type": "string", "description": "Unique request reference identifier." @@ -1842,10 +1565,6 @@ "$ref": "#/definitions/GetOrderResponse" }, "headers": { - "x-amzn-RateLimit-Limit": { - "type": "string", - "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." - }, "x-amzn-RequestId": { "type": "string", "description": "Unique request reference identifier." @@ -1853,7 +1572,7 @@ } } } - } + } }, "/vendor/directFulfillment/orders/v1/acknowledgements": { "post": { @@ -1869,7 +1588,8 @@ "required": true, "schema": { "$ref": "#/definitions/SubmitAcknowledgementRequest" - } + }, + "description": "The request body that contains the order acknowledgement." } ], "responses": { @@ -2027,10 +1747,6 @@ "$ref": "#/definitions/SubmitAcknowledgementResponse" }, "headers": { - "x-amzn-RateLimit-Limit": { - "type": "string", - "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." - }, "x-amzn-RequestId": { "type": "string", "description": "Unique request reference identifier." @@ -2043,10 +1759,6 @@ "$ref": "#/definitions/SubmitAcknowledgementResponse" }, "headers": { - "x-amzn-RateLimit-Limit": { - "type": "string", - "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." - }, "x-amzn-RequestId": { "type": "string", "description": "Unique request reference identifier." @@ -2059,10 +1771,6 @@ "$ref": "#/definitions/SubmitAcknowledgementResponse" }, "headers": { - "x-amzn-RateLimit-Limit": { - "type": "string", - "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." - }, "x-amzn-RequestId": { "type": "string", "description": "Unique request reference identifier." @@ -2075,10 +1783,6 @@ "$ref": "#/definitions/SubmitAcknowledgementResponse" }, "headers": { - "x-amzn-RateLimit-Limit": { - "type": "string", - "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." - }, "x-amzn-RequestId": { "type": "string", "description": "Unique request reference identifier." @@ -2091,10 +1795,6 @@ "$ref": "#/definitions/SubmitAcknowledgementResponse" }, "headers": { - "x-amzn-RateLimit-Limit": { - "type": "string", - "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." - }, "x-amzn-RequestId": { "type": "string", "description": "Unique request reference identifier." @@ -2136,15 +1836,18 @@ "type": "object", "properties": { "pagination": { - "$ref": "#/definitions/Pagination" + "$ref": "#/definitions/Pagination", + "description": "The pagination elements required to retrieve the remaining data." }, "orders": { "type": "array", "items": { "$ref": "#/definitions/Order" - } + }, + "description": "Represents a purchase order within the `OrderList`." } - } + }, + "description": "A purchase orders list returned as a response." }, "Pagination": { "type": "object", @@ -2153,9 +1856,11 @@ "type": "string", "description": "A generated string used to pass information to your next request. If NextToken is returned, pass the value of NextToken to the next request. If NextToken is not returned, there are no more order items to return." } - } + }, + "description": "The pagination elements required to retrieve the remaining data." }, "Order": { + "description": "Represents a purchase order.", "type": "object", "required": [ "purchaseOrderNumber" @@ -2226,6 +1931,7 @@ }, "taxTotal": { "type": "object", + "description": "The total tax object within the shipment that relates to the order.", "properties": { "taxLineItem": { "description": "Tax details.", @@ -2260,6 +1966,7 @@ "description": "Details of an order." }, "PartyIdentification": { + "description": "Name, address, and tax details of a party.", "type": "object", "required": [ "partyId" @@ -2329,7 +2036,7 @@ "properties": { "name": { "type": "string", - "description": "The name of the person, business or institution at that address. For Amazon label only vendors, this field will have the value `xxxxx` within the object `shipToParty`." + "description": "The name of the person, business, or institution at that address. For Amazon label only vendors, this field will have the value `xxxxx` within the object `shipToParty`." }, "attention": { "type": "string", @@ -2349,15 +2056,15 @@ }, "city": { "type": "string", - "description": "The city where the person, business or institution is located. For Amazon label only vendors, this field will have the value `xxxxx` within the object `shipToParty`." + "description": "The city where the person, business, or institution is located. For Amazon label only vendors, this field will have the value `xxxxx` within the object `shipToParty`." }, "county": { "type": "string", - "description": "The county where person, business or institution is located. For Amazon label only vendors, this field will have the value `xxxxx` within the object `shipToParty`." + "description": "The county where the person, business, or institution is located. For Amazon label only vendors, this field will have the value `xxxxx` within the object `shipToParty`." }, "district": { "type": "string", - "description": "The district where person, business or institution is located. For Amazon label only vendors, this field will have the value `xxxxx` within the object `shipToParty`." + "description": "The district where the person, business, or institution is located. For Amazon label only vendors, this field will have the value `xxxxx` within the object `shipToParty`." }, "stateOrRegion": { "type": "string", @@ -2373,7 +2080,7 @@ }, "phone": { "type": "string", - "description": "The phone number of the person, business or institution located at that address. For Amazon label only vendors, this field will have the value `xxxxx` within the object `shipToParty`." + "description": "The phone number of the person, business, or institution located at that address. For Amazon label only vendors, this field will have the value `xxxxx` within the object `shipToParty`." } }, "description": "Address of the party." @@ -2432,7 +2139,8 @@ "description": "The price to Amazon each (cost).", "$ref": "#/definitions/Money" } - } + }, + "description": "An order item." }, "Money": { "type": "object", @@ -2471,7 +2179,8 @@ "type": "string", "description": "GUID assigned by Amazon to identify this transaction. This value can be used with the Transaction Status API to return the status of this transaction." } - } + }, + "description": "Response that contains the transaction ID." }, "ErrorList": { "type": "array", @@ -2563,7 +2272,8 @@ "description": "Details of quantity acknowledged with the above acknowledgement code.", "$ref": "#/definitions/ItemQuantity" } - } + }, + "description": "Individual item details within the acknowledged order." }, "ItemQuantity": { "type": "object", @@ -2653,7 +2363,8 @@ } ] } - } + }, + "description": "The order's tax details." }, "AcknowledgementStatus": { "type": "object", diff --git a/models/vendor-direct-fulfillment-orders-api-model/vendorDirectFulfillmentOrders_2021-12-28.json b/models/vendor-direct-fulfillment-orders-api-model/vendorDirectFulfillmentOrders_2021-12-28.json index 8991a6ae3..7013fb61b 100644 --- a/models/vendor-direct-fulfillment-orders-api-model/vendorDirectFulfillmentOrders_2021-12-28.json +++ b/models/vendor-direct-fulfillment-orders-api-model/vendorDirectFulfillmentOrders_2021-12-28.json @@ -316,10 +316,6 @@ "$ref": "#/definitions/ErrorList" }, "headers": { - "x-amzn-RateLimit-Limit": { - "type": "string", - "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." - }, "x-amzn-RequestId": { "type": "string", "description": "Unique request reference identifier." @@ -332,10 +328,6 @@ "$ref": "#/definitions/ErrorList" }, "headers": { - "x-amzn-RateLimit-Limit": { - "type": "string", - "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." - }, "x-amzn-RequestId": { "type": "string", "description": "Unique request reference identifier." @@ -348,10 +340,6 @@ "$ref": "#/definitions/ErrorList" }, "headers": { - "x-amzn-RateLimit-Limit": { - "type": "string", - "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." - }, "x-amzn-RequestId": { "type": "string", "description": "Unique request reference identifier." @@ -364,10 +352,6 @@ "$ref": "#/definitions/ErrorList" }, "headers": { - "x-amzn-RateLimit-Limit": { - "type": "string", - "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." - }, "x-amzn-RequestId": { "type": "string", "description": "Unique request reference identifier." @@ -544,10 +528,6 @@ "$ref": "#/definitions/ErrorList" }, "headers": { - "x-amzn-RateLimit-Limit": { - "type": "string", - "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." - }, "x-amzn-RequestId": { "type": "string", "description": "Unique request reference identifier." @@ -588,10 +568,6 @@ "$ref": "#/definitions/ErrorList" }, "headers": { - "x-amzn-RateLimit-Limit": { - "type": "string", - "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." - }, "x-amzn-RequestId": { "type": "string", "description": "Unique request reference identifier." @@ -604,10 +580,6 @@ "$ref": "#/definitions/ErrorList" }, "headers": { - "x-amzn-RateLimit-Limit": { - "type": "string", - "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." - }, "x-amzn-RequestId": { "type": "string", "description": "Unique request reference identifier." @@ -620,10 +592,6 @@ "$ref": "#/definitions/ErrorList" }, "headers": { - "x-amzn-RateLimit-Limit": { - "type": "string", - "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." - }, "x-amzn-RequestId": { "type": "string", "description": "Unique request reference identifier." @@ -636,10 +604,6 @@ "$ref": "#/definitions/ErrorList" }, "headers": { - "x-amzn-RateLimit-Limit": { - "type": "string", - "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." - }, "x-amzn-RequestId": { "type": "string", "description": "Unique request reference identifier." @@ -666,7 +630,8 @@ "required": true, "schema": { "$ref": "#/definitions/SubmitAcknowledgementRequest" - } + }, + "description": "The request body containing the acknowledgement to an order" } ], "responses": { @@ -736,10 +701,6 @@ "$ref": "#/definitions/ErrorList" }, "headers": { - "x-amzn-RateLimit-Limit": { - "type": "string", - "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." - }, "x-amzn-RequestId": { "type": "string", "description": "Unique request reference identifier." @@ -752,10 +713,6 @@ "$ref": "#/definitions/ErrorList" }, "headers": { - "x-amzn-RateLimit-Limit": { - "type": "string", - "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." - }, "x-amzn-RequestId": { "type": "string", "description": "Unique request reference identifier." @@ -768,10 +725,6 @@ "$ref": "#/definitions/ErrorList" }, "headers": { - "x-amzn-RateLimit-Limit": { - "type": "string", - "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." - }, "x-amzn-RequestId": { "type": "string", "description": "Unique request reference identifier." @@ -784,10 +737,6 @@ "$ref": "#/definitions/ErrorList" }, "headers": { - "x-amzn-RateLimit-Limit": { - "type": "string", - "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." - }, "x-amzn-RequestId": { "type": "string", "description": "Unique request reference identifier." @@ -800,10 +749,6 @@ "$ref": "#/definitions/ErrorList" }, "headers": { - "x-amzn-RateLimit-Limit": { - "type": "string", - "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." - }, "x-amzn-RequestId": { "type": "string", "description": "Unique request reference identifier." @@ -822,15 +767,18 @@ "type": "object", "properties": { "pagination": { - "$ref": "#/definitions/Pagination" + "$ref": "#/definitions/Pagination", + "description": "The pagination elements required to retrieve the remaining data." }, "orders": { "type": "array", "items": { "$ref": "#/definitions/Order" - } + }, + "description": "Represents a purchase order within the OrderList." } - } + }, + "description": "A list of purchase orders." }, "Pagination": { "type": "object", @@ -839,9 +787,11 @@ "type": "string", "description": "A generated string used to pass information to your next request. If NextToken is returned, pass the value of NextToken to the next request. If NextToken is not returned, there are no more order items to return." } - } + }, + "description": "The pagination elements required to retrieve the remaining data." }, "Order": { + "description": "Represents a purchase order.", "type": "object", "required": [ "purchaseOrderNumber" @@ -941,6 +891,7 @@ }, "PartyIdentification": { "type": "object", + "description": "Name, address and tax details of a party.", "required": [ "partyId" ], @@ -1110,7 +1061,8 @@ "description": "The buyer information for products the vendor has configured as customizable, specifying the types of customizations or configurations along with types and ranges for their product. This provides the ability for buyers to customize multiple aspects of the products according to what the vendor allows.", "$ref": "#/definitions/buyerCustomizedInfoDetail" } - } + }, + "description": "An item within an order" }, "Money": { "type": "object", @@ -1132,7 +1084,8 @@ "type": "string", "description": "A [Base 64](https://datatracker.ietf.org/doc/html/rfc4648#section-4) encoded URL using the UTF-8 character set. The URL provides the location of the zip file that specifies the types of customizations or configurations allowed by the vendor, along with types and ranges for the attributes of their products." } - } + }, + "description": "The details of the products the vendor has configured as customizable." }, "Decimal": { "type": "string", @@ -1158,7 +1111,8 @@ "type": "string", "description": "GUID assigned by Amazon to identify this transaction. This value can be used with the Transaction Status API to return the status of this transaction." } - } + }, + "description": "Response containing the transaction ID." }, "ErrorList": { "type": "object", @@ -1171,7 +1125,8 @@ "type": "array", "items": { "$ref": "#/definitions/Error" - } + }, + "description": "An array of Error objects representing individual errors encountered during the request." } } }, @@ -1258,7 +1213,8 @@ "description": "Details of quantity acknowledged with the above acknowledgement code.", "$ref": "#/definitions/ItemQuantity" } - } + }, + "description": "Details of an individual item within the order being acknowledged." }, "ItemQuantity": { "type": "object", @@ -1348,7 +1304,8 @@ } ] } - } + }, + "description": "The tax details related to the order." }, "AcknowledgementStatus": { "type": "object", diff --git a/models/vendor-direct-fulfillment-payments-api-model/vendorDirectFulfillmentPaymentsV1.json b/models/vendor-direct-fulfillment-payments-api-model/vendorDirectFulfillmentPaymentsV1.json index ca1dd212a..7f1d7d291 100644 --- a/models/vendor-direct-fulfillment-payments-api-model/vendorDirectFulfillmentPaymentsV1.json +++ b/models/vendor-direct-fulfillment-payments-api-model/vendorDirectFulfillmentPaymentsV1.json @@ -29,12 +29,13 @@ "tags": [ "vendorInvoice" ], - "description": "Submits one or more invoices for a vendor's direct fulfillment orders.\n\n**Usage Plan:**\n\n| Rate (requests per second) | Burst |\n| ---- | ---- |\n| 10 | 10 |\n\nThe `x-amzn-RateLimit-Limit` response header returns the usage plan rate limits that were applied to the requested operation, when available. The table above indicates the default rate and burst values for this operation. Selling partners whose business demands require higher throughput may see higher rate and burst values than those shown here. For more information, see [Usage Plans and Rate Limits in the Selling Partner API](https://developer-docs.amazon.com/sp-api/docs/usage-plans-and-rate-limits-in-the-sp-api).", + "description": "Submits one or more invoices for a vendor's direct fulfillment orders.\n\n**Usage Plan:**\n\n| Rate (requests per second) | Burst |\n| ---- | ---- |\n| 10 | 10 |\n\nThe `x-amzn-RateLimit-Limit` response header returns the usage plan rate limits that were applied to the requested operation, when available. The preceding table indicates the default rate and burst values for this operation. Selling partners whose business demands require higher throughput may see higher rate and burst values than those shown here. For more information, refer to [Usage Plans and Rate Limits in the Selling Partner API](https://developer-docs.amazon.com/sp-api/docs/usage-plans-and-rate-limits-in-the-sp-api).", "operationId": "submitInvoice", "parameters": [ { "in": "body", "name": "body", + "description": "The request body that contains one or more invoices for vendor orders.", "required": true, "schema": { "$ref": "#/definitions/SubmitInvoiceRequest" @@ -69,132 +70,132 @@ "invoiceNumber": "0092590411", "invoiceDate": "2020-03-13T11:16:24Z", "remitToParty": { - "partyId": "YourVendorCode", - "address": { - "name": "vendor name", - "addressLine1": "vendor address 1", - "addressLine2": "vendor address 2", - "addressLine3": "vendor address 3", - "city": "DECity", - "county": "Schwabing", - "district": "München", - "stateOrRegion": "Bayern", - "postalCode": "DEPostCode", - "countryCode": "DE" + "partyId": "YourVendorCode", + "address": { + "name": "vendor name", + "addressLine1": "vendor address 1", + "addressLine2": "vendor address 2", + "addressLine3": "vendor address 3", + "city": "DECity", + "county": "Schwabing", + "district": "München", + "stateOrRegion": "Bayern", + "postalCode": "DEPostCode", + "countryCode": "DE" + }, + "taxRegistrationDetails": [ + { + "taxRegistrationType": "VAT", + "taxRegistrationNumber": "DE123456789" + } + ] }, - "taxRegistrationDetails": [ - { - "taxRegistrationType": "VAT", - "taxRegistrationNumber": "DE123456789" - } - ] - }, - "shipFromParty": { - "partyId": "ABCD" - }, - "billToParty": { - "partyId": "5450534005838", - "address": { - "name": "Amazon EU SARL", - "addressLine1": "Marcel-Breuer-Str. 12", - "city": "München", - "county": "Schwabing", - "district": "München", - "stateOrRegion": "Bayern", - "postalCode": "80807", - "countryCode": "DE" + "shipFromParty": { + "partyId": "ABCD" }, - "taxRegistrationDetails": [ - { - "taxRegistrationType": "VAT", - "taxRegistrationNumber": "DE814584193", - "taxRegistrationAddress": { - "name": "Amazon EU SARL", - "addressLine1": "Marcel-Breuer-Str. 12", - "city": "München", - "stateOrRegion": "Bayern", - "postalCode": "80807", - "countryCode": "DE" - }, - "taxRegistrationMessage": "txmessage" - } - ] - }, - "shipToCountryCode": "DE", - "paymentTermsCode": "Basic", - "invoiceTotal": { - "currencyCode": "EUR", - "amount": "1428.00" - }, - "taxTotals": [ - { - "taxType": "CGST", - "taxRate": "0.19", - "taxAmount": { - "currencyCode": "EUR", - "amount": "228.00" - }, - "taxableAmount": { - "currencyCode": "EUR", - "amount": "1200.00" - } - } - ], - "items": [ - { - "itemSequenceNumber": "1", - "buyerProductIdentifier": "B00IVLAABC", - "invoicedQuantity": { - "amount": 1, - "unitOfMeasure": "Each" + "billToParty": { + "partyId": "5450534005838", + "address": { + "name": "Amazon EU SARL", + "addressLine1": "Marcel-Breuer-Str. 12", + "city": "München", + "county": "Schwabing", + "district": "München", + "stateOrRegion": "Bayern", + "postalCode": "80807", + "countryCode": "DE" }, - "netCost": { - "currencyCode": "EUR", - "amount": "1200.00" - }, - "purchaseOrderNumber": "D3rC3KTxG", - "vendorOrderNumber": "0092590411", - "hsnCode": "76.06.92.99.00", - "taxDetails": [ + "taxRegistrationDetails": [ { - "taxType": "CGST", - "taxRate": "0.19", - "taxAmount": { - "currencyCode": "EUR", - "amount": "228.00" + "taxRegistrationType": "VAT", + "taxRegistrationNumber": "DE814584193", + "taxRegistrationAddress": { + "name": "Amazon EU SARL", + "addressLine1": "Marcel-Breuer-Str. 12", + "city": "München", + "stateOrRegion": "Bayern", + "postalCode": "80807", + "countryCode": "DE" }, - "taxableAmount": { - "currencyCode": "EUR", - "amount": "1200.00" - } + "taxRegistrationMessage": "txmessage" } ] - } - ] - } - ] + }, + "shipToCountryCode": "DE", + "paymentTermsCode": "Basic", + "invoiceTotal": { + "currencyCode": "EUR", + "amount": "1428.00" + }, + "taxTotals": [ + { + "taxType": "CGST", + "taxRate": "0.19", + "taxAmount": { + "currencyCode": "EUR", + "amount": "228.00" + }, + "taxableAmount": { + "currencyCode": "EUR", + "amount": "1200.00" + } + } + ], + "items": [ + { + "itemSequenceNumber": "1", + "buyerProductIdentifier": "B00IVLAABC", + "invoicedQuantity": { + "amount": 1, + "unitOfMeasure": "Each" + }, + "netCost": { + "currencyCode": "EUR", + "amount": "1200.00" + }, + "purchaseOrderNumber": "D3rC3KTxG", + "vendorOrderNumber": "0092590411", + "hsnCode": "76.06.92.99.00", + "taxDetails": [ + { + "taxType": "CGST", + "taxRate": "0.19", + "taxAmount": { + "currencyCode": "EUR", + "amount": "228.00" + }, + "taxableAmount": { + "currencyCode": "EUR", + "amount": "1200.00" + } + } + ] + } + ] + } + ] + } } } + }, + "response": { + "payload": { + "transactionId": "20190905010908-8a3b6901-ef20-412f-9270-21c021796605" + } } }, - "response": { - "payload": { - "transactionId": "20190905010908-8a3b6901-ef20-412f-9270-21c021796605" - } - } - }, - { - "request": { - "parameters": { - "body": {} - } - }, - "response": { - "payload": { - "transactionId": "mock-TransactionId-20190905010908-8a3b6901-ef20-412f-9270-21c021796605" + { + "request": { + "parameters": { + "body": {} + } + }, + "response": { + "payload": { + "transactionId": "mock-TransactionId-20190905010908-8a3b6901-ef20-412f-9270-21c021796605" + } } } - } ] } }, @@ -225,30 +226,30 @@ "invoiceNumber": "TestInvoice400", "invoiceDate": "2020-08.13" } - ] + ] + } } } + }, + "response": { + "errors": [ + { + "code": "InvalidInput", + "message": "The value '2020-03.13' of element 'invoiceDate' is not valid.", + "details": "" + }, + { + "code": "InvalidInput", + "message": "The content of element 'invoice' is not complete. One of '{invoiceNumber, referenceNumber}' is expected.", + "details": "" + }, + { + "code": "InvalidInput", + "message": "'2020-03.13' is not a valid value for 'dateTime'.", + "details": "" + } + ] } - }, - "response": { - "errors": [ - { - "code": "InvalidInput", - "message": "The value '2020-03.13' of element 'invoiceDate' is not valid.", - "details": "" - }, - { - "code": "InvalidInput", - "message": "The content of element 'invoice' is not complete. One of '{invoiceNumber, referenceNumber}' is expected.", - "details": "" - }, - { - "code": "InvalidInput", - "message": "'2020-03.13' is not a valid value for 'dateTime'.", - "details": "" - } - ] - } } ] } @@ -287,10 +288,6 @@ "$ref": "#/definitions/SubmitInvoiceResponse" }, "headers": { - "x-amzn-RateLimit-Limit": { - "type": "string", - "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." - }, "x-amzn-RequestId": { "type": "string", "description": "Unique request reference identifier." @@ -303,10 +300,6 @@ "$ref": "#/definitions/SubmitInvoiceResponse" }, "headers": { - "x-amzn-RateLimit-Limit": { - "type": "string", - "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." - }, "x-amzn-RequestId": { "type": "string", "description": "Unique request reference identifier." @@ -319,10 +312,6 @@ "$ref": "#/definitions/SubmitInvoiceResponse" }, "headers": { - "x-amzn-RateLimit-Limit": { - "type": "string", - "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." - }, "x-amzn-RequestId": { "type": "string", "description": "Unique request reference identifier." @@ -335,10 +324,6 @@ "$ref": "#/definitions/SubmitInvoiceResponse" }, "headers": { - "x-amzn-RateLimit-Limit": { - "type": "string", - "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." - }, "x-amzn-RequestId": { "type": "string", "description": "Unique request reference identifier." @@ -351,10 +336,6 @@ "$ref": "#/definitions/SubmitInvoiceResponse" }, "headers": { - "x-amzn-RateLimit-Limit": { - "type": "string", - "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." - }, "x-amzn-RequestId": { "type": "string", "description": "Unique request reference identifier." @@ -372,6 +353,7 @@ "properties": { "invoices": { "type": "array", + "description": "An array of invoice details you want to submit.", "items": { "$ref": "#/definitions/InvoiceDetail" } @@ -455,7 +437,8 @@ "$ref": "#/definitions/InvoiceItem" } } - } + }, + "description": "Represents the invoice details, including the invoice number, date, parties involved, payment terms, totals, taxes, charges, and line items." }, "InvoiceItem": { "type": "object", @@ -512,10 +495,12 @@ "$ref": "#/definitions/ChargeDetails" } } - } + }, + "description": "Details of the invoice items." }, "PartyIdentification": { "type": "object", + "description": "Name, address, and tax details of a party.", "required": [ "partyId" ], @@ -563,7 +548,7 @@ }, "taxRegistrationNumber": { "type": "string", - "description": "Tax registration number for the entity. For example, VAT ID, Consumption Tax ID." + "description": "Tax registration number for the entity. For example, VAT ID or Consumption Tax ID." }, "taxRegistrationAddress": { "description": "Address associated with the tax registration number.", @@ -852,7 +837,7 @@ "description": "The language code of the additional information detail." } }, - "description": "A field where the selling party can provide additional information for tax-related or any other purposes." + "description": "A field where the selling party provides additional information." }, "ItemQuantity": { "type": "object", @@ -892,7 +877,8 @@ "type": "string", "description": "GUID to identify this transaction. This value can be used with the Transaction Status API to return the status of this transaction." } - } + }, + "description": "Response that contains the transaction ID." }, "ErrorList": { "type": "array", diff --git a/models/vendor-direct-fulfillment-sandbox-test-data-api-model/vendorDirectFulfillmentSandboxData_2021-10-28.json b/models/vendor-direct-fulfillment-sandbox-test-data-api-model/vendorDirectFulfillmentSandboxData_2021-10-28.json index 9348ea319..2ff945dfb 100644 --- a/models/vendor-direct-fulfillment-sandbox-test-data-api-model/vendorDirectFulfillmentSandboxData_2021-10-28.json +++ b/models/vendor-direct-fulfillment-sandbox-test-data-api-model/vendorDirectFulfillmentSandboxData_2021-10-28.json @@ -36,6 +36,7 @@ "in": "body", "name": "body", "required": true, + "description": "The request payload that contain parameters to generate test order data scenarios.", "schema": { "$ref": "#/definitions/GenerateOrderScenarioRequest" } @@ -48,10 +49,6 @@ "$ref": "#/definitions/TransactionReference" }, "headers": { - "x-amzn-RateLimit-Limit": { - "description": "Your rate limit (requests per second) for this operation.", - "type": "string" - }, "x-amzn-RequestId": { "type": "string", "description": "Unique request reference identifier." @@ -64,10 +61,6 @@ "$ref": "#/definitions/ErrorList" }, "headers": { - "x-amzn-RateLimit-Limit": { - "description": "Your rate limit (requests per second) for this operation.", - "type": "string" - }, "x-amzn-RequestId": { "type": "string", "description": "Unique request reference identifier." @@ -92,10 +85,6 @@ "$ref": "#/definitions/ErrorList" }, "headers": { - "x-amzn-RateLimit-Limit": { - "description": "Your rate limit (requests per second) for this operation.", - "type": "string" - }, "x-amzn-RequestId": { "type": "string", "description": "Unique request reference identifier." @@ -174,16 +163,12 @@ "tags": [ "vendorDFSandboxtransactionstatus" ], - "description": "Returns the status of the transaction indicated by the specified transactionId. If the transaction was successful, also returns the requested test order data.", + "description": "Retrieves the transaction status identified by the specified `transactionId`, and returns the requested test order data if the transaction is successful.", "operationId": "getOrderScenarios", "responses": { "200": { "description": "Success.", "headers": { - "x-amzn-RateLimit-Limit": { - "description": "Your rate limit (requests per second) for this operation.", - "type": "string" - }, "x-amzn-RequestId": { "description": "Unique request reference identifier.", "type": "string" @@ -230,10 +215,6 @@ "400": { "description": "Request has missing or invalid parameters and cannot be parsed.", "headers": { - "x-amzn-RateLimit-Limit": { - "description": "Your rate limit (requests per second) for this operation.", - "type": "string" - }, "x-amzn-RequestId": { "description": "Unique request reference identifier.", "type": "string" @@ -244,12 +225,8 @@ } }, "401": { - "description": "The request's Authorization header is not formatted correctly or does not contain a valid token.", + "description": "The request's authorization header is not formatted correctly or does not contain a valid token.", "headers": { - "x-amzn-RateLimit-Limit": { - "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned.", - "type": "string" - }, "x-amzn-RequestId": { "description": "Unique request reference identifier.", "type": "string" @@ -274,10 +251,6 @@ "404": { "description": "The resource specified does not exist.", "headers": { - "x-amzn-RateLimit-Limit": { - "description": "Your rate limit (requests per second) for this operation.", - "type": "string" - }, "x-amzn-RequestId": { "description": "Unique request reference identifier.", "type": "string" @@ -290,10 +263,6 @@ "415": { "description": "The request payload is in an unsupported format.", "headers": { - "x-amzn-RateLimit-Limit": { - "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned.", - "type": "string" - }, "x-amzn-RequestId": { "description": "Unique request reference identifier.", "type": "string" @@ -306,10 +275,6 @@ "429": { "description": "The frequency of requests was greater than allowed.", "headers": { - "x-amzn-RateLimit-Limit": { - "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned.", - "type": "string" - }, "x-amzn-RequestId": { "description": "Unique request reference identifier.", "type": "string" @@ -322,10 +287,6 @@ "500": { "description": "An unexpected condition occurred that prevented the server from fulfilling the request.", "headers": { - "x-amzn-RateLimit-Limit": { - "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned.", - "type": "string" - }, "x-amzn-RequestId": { "description": "Unique request reference identifier.", "type": "string" @@ -338,10 +299,6 @@ "503": { "description": "Temporary overloading or maintenance of the server.", "headers": { - "x-amzn-RateLimit-Limit": { - "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned.", - "type": "string" - }, "x-amzn-RequestId": { "description": "Unique request reference identifier.", "type": "string" @@ -356,7 +313,7 @@ { "name": "transactionId", "in": "path", - "description": "The transaction identifier returned in the response to the generateOrderScenarios operation.", + "description": "The transaction identifier returned in the response for the `generateOrderScenarios` operation.", "required": true, "type": "string" } @@ -370,7 +327,7 @@ }, "definitions": { "GenerateOrderScenarioRequest": { - "description": "The request body for the generateOrderScenarios operation.", + "description": "The `generateOrderScenarios` request body.", "type": "object", "properties": { "orders": { @@ -391,17 +348,17 @@ ], "properties": { "sellingParty": { - "description": "The identifier of the selling party or vendor.", + "description": "The identifier for the selling party or vendor.", "$ref": "#/definitions/PartyIdentification" }, "shipFromParty": { - "description": "The warehouse code of the vendor.", + "description": "The warehouse code for the vendor.", "$ref": "#/definitions/PartyIdentification" } } }, "PartyIdentification": { - "description": "The identification object for the party information. For example, warehouse code or vendor code. Please refer to specific party for more details.", + "description": "The identification object for the party information. For example, warehouse code or vendor code.", "type": "object", "required": [ "partyId" @@ -409,16 +366,17 @@ "properties": { "partyId": { "type": "string", - "description": "Assigned identification for the party. For example, warehouse code or vendor code. Please refer to specific party for more details." + "description": "Assigned identification for the party. For example, warehouse code or vendor code." } } }, "Pagination": { - "description": "A generated string used to pass information to your next request. If NextToken is returned, pass the value of NextToken to the next request. If NextToken is not returned, there are no more order items to return.", + "description": "A generated string used to pass information to your next request. If `NextToken` is returned, pass the value of `NextToken` to the next request. If `NextToken` is not returned, there are no more order items to return.", "type": "object", "properties": { "nextToken": { - "type": "string" + "type": "string", + "description": "A generated token that retrieves the next set of results. This token is specified in the next request." } } }, @@ -427,12 +385,13 @@ "type": "object", "properties": { "transactionId": { - "type": "string" + "type": "string", + "description": "A GUID (Globally Unique Identifier) assigned by Amazon to uniquely identify the transaction." } } }, "TransactionStatus": { - "description": "The payload for the getOrderScenarios operation.", + "description": "The payload for `getOrderScenarios`.", "type": "object", "properties": { "transactionStatus": { @@ -441,11 +400,11 @@ } }, "Transaction": { - "description": "The transaction details including the status. If the transaction was successful, also includes the requested test order data.", + "description": "The transaction details that include the status. If the transaction is successful, also includes the requested test order data.", "type": "object", "properties": { "transactionId": { - "description": "The unique identifier returned in the response to the generateOrderScenarios request.", + "description": "The unique identifier returned in the response for the `generateOrderScenarios` request.", "type": "string" }, "status": { @@ -472,7 +431,7 @@ ] }, "testCaseData": { - "description": "Test case data for the transaction. Only available when the transaction status is SUCCESS.", + "description": "Test case data for the transaction. Only available when the transaction status is `SUCCESS`.", "$ref": "#/definitions/TestCaseData" } }, @@ -534,6 +493,7 @@ "properties": { "errors": { "type": "array", + "description": "An array of individual error objects that contain error details.", "items": { "$ref": "#/definitions/Error" } @@ -552,7 +512,7 @@ "properties": { "code": { "type": "string", - "description": "An error code that identifies the type of error that occured." + "description": "An error code that identifies the type of error that occurred." }, "message": { "type": "string", diff --git a/models/vendor-direct-fulfillment-shipping-api-model/vendorDirectFulfillmentShippingV1.json b/models/vendor-direct-fulfillment-shipping-api-model/vendorDirectFulfillmentShippingV1.json index f2619ddee..d21fcea25 100644 --- a/models/vendor-direct-fulfillment-shipping-api-model/vendorDirectFulfillmentShippingV1.json +++ b/models/vendor-direct-fulfillment-shipping-api-model/vendorDirectFulfillmentShippingV1.json @@ -29,13 +29,13 @@ "tags": [ "vendorShippingLabels" ], - "description": "Returns a list of shipping labels created during the time frame that you specify. You define that time frame using the createdAfter and createdBefore parameters. You must use both of these parameters. The date range to search must not be more than 7 days.\n\n**Usage Plan:**\n\n| Rate (requests per second) | Burst |\n| ---- | ---- |\n| 10 | 10 |\n\nThe `x-amzn-RateLimit-Limit` response header returns the usage plan rate limits that were applied to the requested operation, when available. The table above indicates the default rate and burst values for this operation. Selling partners whose business demands require higher throughput may see higher rate and burst values than those shown here. For more information, see [Usage Plans and Rate Limits in the Selling Partner API](https://developer-docs.amazon.com/sp-api/docs/usage-plans-and-rate-limits-in-the-sp-api).", + "description": "Returns a list of shipping labels created during the time frame that you specify. You define that time frame using the `createdAfter` and `createdBefore` parameters. You must use both of these parameters. The date range to search must not be more than 7 days.\n\n**Usage Plan:**\n\n| Rate (requests per second) | Burst |\n| ---- | ---- |\n| 10 | 10 |\n\nThe `x-amzn-RateLimit-Limit` response header returns the usage plan rate limits that were applied to the requested operation, when available. The table above indicates the default rate and burst values for this operation. Selling partners whose business demands require higher throughput may see higher rate and burst values than those shown here. For more information, refer to [Usage Plans and Rate Limits in the Selling Partner API](https://developer-docs.amazon.com/sp-api/docs/usage-plans-and-rate-limits-in-the-sp-api).", "operationId": "getShippingLabels", "parameters": [ { "name": "shipFromPartyId", "in": "query", - "description": "The vendor warehouseId for order fulfillment. If not specified, the result will contain orders for all warehouses.", + "description": "The vendor `warehouseId` for order fulfillment. If not specified, the result will contain orders for all warehouses.", "required": false, "type": "string" }, @@ -51,7 +51,7 @@ { "name": "createdAfter", "in": "query", - "description": "Shipping labels that became available after this date and time will be included in the result. Must be in ISO-8601 date/time format.", + "description": "Shipping labels that became available after this date and time will be included in the result. Must be in ISO 8601 date/time format.", "required": true, "type": "string", "format": "date-time" @@ -59,7 +59,7 @@ { "name": "createdBefore", "in": "query", - "description": "Shipping labels that became available before this date and time will be included in the result. Must be in ISO-8601 date/time format.", + "description": "Shipping labels that became available before this date and time will be included in the result. Must be in ISO 8601 date/time format.", "required": true, "type": "string", "format": "date-time" @@ -179,94 +179,94 @@ { "purchaseOrderNumber": "2JK3S9VC", "sellingParty": { - "partyId": "999US" - }, - "shipFromParty": { - "partyId": "ABCD" - }, - "labelFormat": "PNG", - "labelData": [ - { - "packageIdentifier": "PKG001", - "trackingNumber": "1Z6A34Y60369738804", - "shipMethod": "UPS_GR_RES", - "shipMethodName": "UPS Ground Residential", - "content": "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AAFiCBAAABAgAgQAAASIIUAAABAghgABAAABYggQAAAEiNE4QAzDMAzDMAzDMASIYRiGYRiGYRgCxDAMwzAMwzAMQ4AYhmEYhmEYhiFADMMwDMMwDMMw/jdAAAAAio50JkAAAAABAgAACBAAAAABAgAACBAAAAABAgAACBAAAECAAAAACBAAAECAAAAACBAAAECAAAAAAoRXbAT/MX77myfXs3IfRu/nymVXrn/0PjxZ3qjlyngcV5Yx+7JRj2nGfcjYxla2n8rHonKbjFqf2a+B3V43Ml6rK99rop7jGa+Hu173std/9uv86H1buQ8IEASIABEgAkSACBABIkAEiAARIAgQASJABIgAESACRIAIEAGCAEGACBABIkAEiAARIAJEgAgQAYIAESACRIAIEAEiQASIABEgCBAEiAARIAJEgAgQASJABAgCBAEiQASIABEgAkSACBABIkAECAJEgAgQASJABIgAESACRIAgQBAgAkSACBABIkAEiAARIAJEgCBABIgAESACRIAIEAEiQAQIAgQBIkAEiAARIAJEgAgQAYIAQYAIEAEiQASIABEgAkSACBABggARIAJEgAgQASJABIgAESAIEASIABEgAkSACBABIkAEiAARIAgQASJABIgAESACRIAIEAGCAEGACBABIkAEiAARIAJEgCBAECACRIAIEAEiQASIABEgAsTcU4DYCASIABEgAkSACBABIkAECAIEASJABIgAESACRIAIEAEiQAQIAkSACBABIkAEiAARIAJEgCBAECACRIAIEAEiQASIABEgCBAEiAARIAJEgAgQASJABIgAQYAgQASIABEgAkSACBABIkAQIAgQASJABIgAESACRIAIEAEiQBAgAkSACBABIkAEiAARIAIEAYIAESACRIAIEAEiQASIABEgAgQBIkAEiAARIAJEgAgQASJAECAIEAEiQASIABEgAkSACBAECAJEgAgQASJABIgAESACRIAIEASIABEgAkSACBABIkAEiABBgCBABIgAESACRIAIEAEiQASIAEGACBABIkAEiAARIAJEgAgQBAgCRIAIEAEiQASIABEgAgQBggARIAJEgAgQASJABIgAESACBAEiQASIABEgAkSACBABIkAQIAgQASJABIgAESACRIAIEAEiQBAgAkSACBABIkAEiAARIAIEAYIAESACRIAIEAEiQASIAEGAIEAEiAARIAJEgAgQASJABIgAQYAIEAEiQASIABEgAkSACBAECAJEgAgQASJABIgAESACRIAIEASIABEgAkSACBABIkAEiABBgCBABIgAESACRIAIEAEiQBAgCBABIkAEiAARIAJEgAgQAWLu6YGyEQgQASJABIgAESACRIAIEAQIAkSACBABIkAEiAARIAJEgAgQBIgAESACRIAIEAEiQASIAEGAIEAEiAARIAJEgAgQASJAECAIEAEiQGLfmKJGxwCJmCQLEAEiQASIAEGAIEAEiAARIOEB8uftVU4wKh+fXQGyazs85b5FvdfsWp7M18PO21rE66MAQYAgQATINQHS6Y1WgAgQAbI2ORUgAkSAIEAQIAKkdYCcMgnM3oajJlQCRIB0CxEBIkAECAIEASJAWgTIaZPAjgHy7ZsTASJAOk9WBYgAESACBAEiQARIWYCcOAkUIAJk17cIp09a3xQgt0SIAEGAIEAEyFUBEvmGGHX9JwdI1k7E3SaZpwZI1YRtdRvInLjueoyinrMZl41+3YvefgQIAgQBIkCuCZCqiYQAESCd13/HAIlcXxHvNTcGyOprkwARIAIEASJABEjhRFSACBAB0mcbqDhPjQARIAJEgCBABIgAESACRIC8LECibluACBABggBBgAgQASJABIgAKYsQASJABAgCBAEiQASIABEgAkSACBABggBBgAgQASJA7g6QlXUhQPYFSMXzWoAIEAEiQBAgAkSACBABIkAEiAARIAIEAYIAESACRIAIEAEiQASIABEgAgQBIkAEiAARIMtHRRIgAkSACBABIkAQIAJEgAgQAfLaAMma/AsQASJABIgAQYAIEAEiQASIABEgAuRVAVL5+iBAECAIEAEiQBoHSOQ67BogqxEiQASIABEgAkSAIEAEiAA5LkAyJt4C5J4AyZz8CxABIkAEiABBgAgQASJABIgAESACRIAIEAQIAkSACJB3BUj0OrwtQEYmpwJEgAgQAYIAQYAIEAEiQATIEQGSPfkXIAKkKkC6vD4IEAQIAkSACJCGAZKxDgWIABEgAkSAIEAQIAJEgAgQAfJv/qGJBYgAESACBAGCABEgAiR8MiFA5n7WJUAEiAC5P0A6fUAhQBAgCBABcmSARLwxCRABIkAEiAARIAgQBIgAESAh+wIIEAEiQASIABEgCBAEiAARIKVBIkDGY02ACBABIkAECAIEASJArgyQ7EmnABEgAkSACBABggBBgAgQAVIWICuHaRUgewMka5kFyP4AmX2vESBrAdLtKHkCBAGCABEg2wKkKkI6BUj1pHdl2QWIABEgvQJk9wE9BAgCBAEiQK4IkC5vwgKkV4BEL7cAiQuQyAMgCBABIkDMPQWIjUCACJAtAdLhjbgiQHZMegWIAIkMkKplFyACRIAIEASIABEgZW9MAkSACJCeAVK57AJEgAgQAYIAESACpPSNSYAIkOhlFyBrz+XI7UuACBABggBBgAiQdgGy4805O0B2TXoFiACJeh2I2rYESMy2mPm+KUAQIAgQASJANkaIABEgNwXIbz9xy17nAsR5QAQIAgQBIkAEiAA5IkAyJp9vD5Dd25MAESACBAGCABEgAmTx9+rf1s/pE0YBIkCqtyUBIkAEiABBgAgQAdLqjSl7EiZA7g2Q6nh5S4Bkv9cIEAEiQAQIAkSACJDtAZI5GRMgvQIkYh0KkB7xIUD2Bci32xMgCBAEiAARIIOXzZpUrU5musdH5O/2Bci9AZL1Oi9ABIgAMfcUIDYCASJAjg2Q6ImZALkvQHbsP3LbmdAFiAARIAgQBIgAESCNA6Ryp+mI+9A5QCIm3gJEgAgQAYIAQYAIEAHSNkC+TXwEiAARIALktACJfK8XIAgQBIgAESAJkxYBck+A7DqErwARIAJEgCBAECACRIAIkKTnjgARIAJEgAgQBAgCRIC0DZDsT92jJmsCRIAIEAGSFQgCRICYewoQG4EAESACRIAIEAEiQASIAEGAIEAEyM0BkjXpjZiwvTFARg+DK0AEiAC5O0BGzwsjQBAgCBABIkAEiAARIAJEgAgQBAgCRIAIkLcGSFZQRE/UBYgAESACRIAgQBAgAkSAFAZI1mMhQASIABEgAkSAIEAQIAJEgAgQASJABIgAESAIEASIABEgZwXI6nV2CpDu26QAESACRIAIEAGCABEgAqRlgFROFAVI7TYpQASIABEgAkSAIEAEiABJe+M+PUCyg0KACBABIkAEiAARIAgQASJANgdI5b4Pu4MiI0Ay94WJ2iYFiAARILEBUrGPmABBgCBABMiVAVJ9/gsBIkAEiAARIAIEAYIAESACpEWARD5e1QGSeUJGASJABIgAESDmngLERiBABMi2AKlaD523GQGSf5SzrG3ylAD5baIpQASIAEGAIEAEyGsDJPLNLztAon/O1DVAor41eroubw2QlZ+0ZWzvpwRI5ra6M0Aynm+r67/qPEECBAGCABEgxwXIrslJ53NPnLa+d03kuq+jDtvfrQFySpCfuJwCBAGCABEgAkSACJBD19GbA+RNE3MBIkAQIAgQASJABIgAMYEVIAJEgCBAECACRIAIEAEiQASIABEgAkSAIEAEiAA5KECythkBclaAnDIpFCACRIAIEAGCABEgAiQpQLLfqCu3mextOGObzHocd2+TGQGS8RrY7XUj47W68r2m8ihY2e+J2Y9jh9cHAYIAQYAIkBYBkvlGLEAEiAARIAJEgCBAECACRIAIEAEiQASIABEgAsTc0wNlIxAgAkSACBABIkAEiAARIAgQBIgAESACRIAIEAEiQASIABEgCBABIkAEiAARIAJEgAgQAYIAQYAIEAEiQASIABEgAkSAIEAQIAJEgAgQASJABIgAESACBAGCABEgAkSACBABIkAEiABBgCBABIgAESACRIAIEAEiQASIAEGACBABIkAEiAARIAJEgAgQBAgCRIAIEAEiQASIABEgAkSACBAEiAARIAJEgAgQASJABIgAQYAgQASIABEgAkSACBABIkAQIAgQASJABIgAESACRIAIEAEiQBAgAkSACBABIkAEiAARIAIEAYIAESACRIAIEAEiQASIABEgAgQBIkAEiAARIAJEgAgQASJAECAIEAEiQASIABEgAkSACBAECAJEgAgQASJABIgAESACRIAIEASIABEgAkSACBABIkAEiABBgCBABIgAESACRIAIEAEiQASIAEGACBABIkAEiAARIAJEgAgQBAgCRIAIEAEiQASIABEgAgQBggARIAJEgAgQASJABIgAESACBAEiQASIABEgAkSACBABIkAQIAgQASJABIgAESACRIAIEAEiQBAgAkSACBABIkAEiAARIAIEAYIAESACRIAIEAEiQASIAEGAIEAEiAARIAJEgAgQASJABIgAQYAIEAEiQASIABEgAkSACBAECAJEgAgQASJABIgAESACRIAIEASIABEgAkSACBABIkAEiABBgCBABIgAESACRIAIEAEiQBAgCBABIkAEiAARIAJEgAgQAWLuKUAQIAJEgAgQASJABIgAESAIEASIABEgAkSACBABIkAEiAARIAgQASJABIgAESACRIAIEAGCAEGACBABIkAEiAARIAJEgJjXChAEiAARIAJEgAgQASJABIgAQYAgQASIABEgAkSACBABIkAQIAgQASJABIgAESACRIAIEAEiQBAgAkSACBABIkAEiAARIAIEAYIAESACRIAIEAEiQASIABEgAgQBIkAEiAARIAJEgAgQASJAECAIEAEiQASIABEgAkSACBAECAJEgAgQASJABIgAESACRIAIEASIABEgAkSACBABIkAEiABBgCBABIgAESACRIAIEAEiQASIAEGACBABIkAEiAARIAJEgAgQBAgCRIAIEAEiQASIABEgAgQBggARIAJEgAgQASJABIgAESACBAEiQASIABEgAkSACBABIkAQIAgQASJABIgAESACRIAIEAEiQBAgAkSACBABIkAEiAARIAIEAYIAESACRIAIEAEiQASIAEGAIEAEiAARIAJEgAgQASJABIgAQYAIEAEiQASIABEgAkSACBAECAJEgAgQASJABIgAESACRIAIEASIABEgAkSACBABIkAEiABBgCBABIgAESACRIAIEAEiQBAgCBABIkAEiAARIAJEgAgQAWLuKUBsBAJEgAgQASJABIgAESACBAGCABEgAkSACBABIkAEiAARIAIEASJABIgAESACRIAIEAEiQBAgCBABIkAEiAARIAJEgAgQBAgCRIAIEAEiQASIABEgAkSAIEAQIAJEgAgQASJABIgAESAIEASIABEgAkSACBABIkAEiAARIAgQASJABIgAESACRIAIEAGCAEGACBABIkAEiAARIAJEgAgQAYIAESACRIAIEAEiQASIABEgCBAEiAARIAJEgAgQASJABAgCBAEiQASIABEgAkSACBABIkAECAJEgAgQASJABIgAESACRIAgQBAgAkSACBABIkAEiAARIAJEgCBABIgAESACRIAIEAEiQAQIAgQBIkAEiAARIAJEgAgQAYIAQYAIEAEiQASIABEgAkSACBABggARIAJEgAgQASJABIgAESAIEASIABEgAkSACBABIkAEiAARIAgQASJABIgAESACRIAIEAGCAEGACBABIkAEiAARIAJEgCBAECACRIAIEAEiQASIABEgAkSAIEAEiAARIAJEgAgQASJABAgCBAEiQASIABEgAkSACBABIkAECAJEgAgQASJABIgAESACRIAgQBAgAkSACBABIkAE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" - } - ] - }, - { - "purchaseOrderNumber": "2JK3S9VD", - "sellingParty": { - "partyId": "999US" - }, - "shipFromParty": { - "partyId": "ABCD" + "partyId": "999US" + }, + "shipFromParty": { + "partyId": "ABCD" + }, + "labelFormat": "PNG", + "labelData": [ + { + "packageIdentifier": "PKG001", + "trackingNumber": "1Z6A34Y60369738804", + "shipMethod": "UPS_GR_RES", + "shipMethodName": "UPS Ground Residential", + "content": "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AAFiCBAAABAgAgQAAASIIUAAABAghgABAAABYggQAAAEiNE4QAzDMAzDMAzDMASIYRiGYRiGYRgCxDAMwzAMwzAMQ4AYhmEYhmEYhiFADMMwDMMwDMMw/jdAAAAAio50JkAAAAABAgAACBAAAAABAgAACBAAAAABAgAACBAAAECAAAAACBAAAECAAAAACBAAAECAAAAAAoRXbAT/MX77myfXs3IfRu/nymVXrn/0PjxZ3qjlyngcV5Yx+7JRj2nGfcjYxla2n8rHonKbjFqf2a+B3V43Ml6rK99rop7jGa+Hu173std/9uv86H1buQ8IEASIABEgAkSACBABIkAEiAARIAgQASJABIgAESACRIAIEAGCAEGACBABIkAEiAARIAJEgAgQAYIAESACRIAIEAEiQASIABEgCBAEiAARIAJEgAgQASJABAgCBAEiQASIABEgAkSACBABIkAECAJEgAgQASJABIgAESACRIAgQBAgAkSACBABIkAEiAARIAJEgCBABIgAESACRIAIEAEiQAQIAgQBIkAEiAARIAJEgAgQAYIAQYAIEAEiQASIABEgAkSACBABggARIAJEgAgQASJABIgAESAIEASIABEgAkSACBABIkAEiAARIAgQASJABIgAESACRIAIEAGCAEGACBABIkAEiAARIAJEgCBAECACRIAIEAEiQASIABEgAsTcU4DYCASIABEgAkSACBABIkAECAIEASJABIgAESACRIAIEAEiQAQIAkSACBABIkAEiAARIAJEgCBAECACRIAIEAEiQASIABEgCBAEiAARIAJEgAgQASJABIgAQYAgQASIABEgAkSACBABIkAQIAgQASJABIgAESACRIAIEAEiQBAgAkSACBABIkAEiAARIAIEAYIAESACRIAIEAEiQASIABEgAgQBIkAEiAARIAJEgAgQASJAECAIEAEiQASIABEgAkSACBAECAJEgAgQASJABIgAESACRIAIEASIABEgAkSACBABIkAEiABBgCBABIgAESACRIAIEAEiQASIAEGACBABIkAEiAARIAJEgAgQBAgCRIAIEAEiQASIABEgAgQBggARIAJEgAgQASJABIgAESACBAEiQASIABEgAkSACBABIkAQIAgQASJABIgAESACRIAIEAEiQBAgAkSACBABIkAEiAARIAIEAYIAESACRIAIEAEiQASIAEGAIEAEiAARIAJEgAgQASJABIgAQYAIEAEiQASIABEgAkSACBAECAJEgAgQASJABIgAESACRIAIEASIABEgAkSACBABIkAEiABBgCBABIgAESACRIAIEAEiQBAgCBABIkAEiAARIAJEgAgQAWLu6YGyEQgQASJABIgAESACRIAIEAQIAkSACBABIkAEiAARIAJEgAgQBIgAESACRIAIEAEiQASIAEGAIEAEiAARIAJEgAgQASJAECAIEAEiQGLfmKJGxwCJmCQLEAEiQASIAEGAIEAEiAARIOEB8uftVU4wKh+fXQGyazs85b5FvdfsWp7M18PO21rE66MAQYAgQATINQHS6Y1WgAgQAbI2ORUgAkSAIEAQIAKkdYCcMgnM3oajJlQCRIB0CxEBIkAECAIEASJAWgTIaZPAjgHy7ZsTASJAOk9WBYgAESACBAEiQARIWYCcOAkUIAJk17cIp09a3xQgt0SIAEGAIEAEyFUBEvmGGHX9JwdI1k7E3SaZpwZI1YRtdRvInLjueoyinrMZl41+3YvefgQIAgQBIkCuCZCqiYQAESCd13/HAIlcXxHvNTcGyOprkwARIAIEASJABEjhRFSACBAB0mcbqDhPjQARIAJEgCBABIgAESACRIC8LECibluACBABggBBgAgQASJABIgAKYsQASJABAgCBAEiQASIABEgAkSACBABggBBgAgQASJA7g6QlXUhQPYFSMXzWoAIEAEiQBAgAkSACBABIkAEiAARIAIEAYIAESACRIAIEAEiQASIABEgAgQBIkAEiAARIMtHRRIgAkSACBABIkAQIAJEgAgQAfLaAMma/AsQASJABIgAQYAIEAEiQASIABEgAuRVAVL5+iBAECAIEAEiQBoHSOQ67BogqxEiQASIABEgAkSAIEAEiAA5LkAyJt4C5J4AyZz8CxABIkAEiABBgAgQASJABIgAESACRIAIEAQIAkSACJB3BUj0OrwtQEYmpwJEgAgQAYIAQYAIEAEiQATIEQGSPfkXIAKkKkC6vD4IEAQIAkSACJCGAZKxDgWIABEgAkSAIEAQIAJEgAgQAfJv/qGJBYgAESACBAGCABEgAiR8MiFA5n7WJUAEiAC5P0A6fUAhQBAgCBABcmSARLwxCRABIkAEiAARIAgQBIgAESAh+wIIEAEiQASIABEgCBAEiAARIKVBIkDGY02ACBABIkAECAIEASJArgyQ7EmnABEgAkSACBABggBBgAgQAVIWICuHaRUgewMka5kFyP4AmX2vESBrAdLtKHkCBAGCABEg2wKkKkI6BUj1pHdl2QWIABEgvQJk9wE9BAgCBAEiQK4IkC5vwgKkV4BEL7cAiQuQyAMgCBABIkDMPQWIjUCACJAtAdLhjbgiQHZMegWIAIkMkKplFyACRIAIEASIABEgZW9MAkSACJCeAVK57AJEgAgQAYIAESACpPSNSYAIkOhlFyBrz+XI7UuACBABggBBgAiQdgGy4805O0B2TXoFiACJeh2I2rYESMy2mPm+KUAQIAgQASJANkaIABEgNwXIbz9xy17nAsR5QAQIAgQBIkAEiAA5IkAyJp9vD5Dd25MAESACBAGCABEgAmTx9+rf1s/pE0YBIkCqtyUBIkAEiABBgAgQAdLqjSl7EiZA7g2Q6nh5S4Bkv9cIEAEiQAQIAkSACJDtAZI5GRMgvQIkYh0KkB7xIUD2Bci32xMgCBAEiAARIIOXzZpUrU5musdH5O/2Bci9AZL1Oi9ABIgAMfcUIDYCASJAjg2Q6ImZALkvQHbsP3LbmdAFiAARIAgQBIgAESCNA6Ryp+mI+9A5QCIm3gJEgAgQAYIAQYAIEAHSNkC+TXwEiAARIALktACJfK8XIAgQBIgAESAJkxYBck+A7DqErwARIAJEgCBAECACRIAIkKTnjgARIAJEgAgQBAgCRIC0DZDsT92jJmsCRIAIEAGSFQgCRICYewoQG4EAESACRIAIEAEiQASIAEGAIEAEyM0BkjXpjZiwvTFARg+DK0AEiAC5O0BGzwsjQBAgCBABIkAEiAARIAJEgAgQBAgCRIAIkLcGSFZQRE/UBYgAESACRIAgQBAgAkSAFAZI1mMhQASIABEgAkSAIEAQIAJEgAgQASJABIgAESAIEASIABEgZwXI6nV2CpDu26QAESACRIAIEAGCABEgAqRlgFROFAVI7TYpQASIABEgAkSAIEAEiABJe+M+PUCyg0KACBABIkAEiAARIAgQASJANgdI5b4Pu4MiI0Ay94WJ2iYFiAARILEBUrGPmABBgCBABMiVAVJ9/gsBIkAEiAARIAIEAYIAESACpEWARD5e1QGSeUJGASJABIgAESDmngLERiBABMi2AKlaD523GQGSf5SzrG3ylAD5baIpQASIAEGAIEAEyGsDJPLNLztAon/O1DVAor41eroubw2QlZ+0ZWzvpwRI5ra6M0Aynm+r67/qPEECBAGCABEgxwXIrslJ53NPnLa+d03kuq+jDtvfrQFySpCfuJwCBAGCABEgAkSACJBD19GbA+RNE3MBIkAQIAgQASJABIgAMYEVIAJEgCBAECACRIAIEAEiQASIABEgAkSAIEAEiAA5KECythkBclaAnDIpFCACRIAIEAGCABEgAiQpQLLfqCu3mextOGObzHocd2+TGQGS8RrY7XUj47W68r2m8ihY2e+J2Y9jh9cHAYIAQYAIkBYBkvlGLEAEiAARIAJEgCBAECACRIAIEAEiQASIABEgAsTc0wNlIxAgAkSACBABIkAEiAARIAgQBIgAESACRIAIEAEiQASIABEgCBABIkAEiAARIAJEgAgQAYIAQYAIEAEiQASIABEgAkSAIEAQIAJEgAgQASJABIgAESACBAGCABEgAkSACBABIkAEiABBgCBABIgAESACRIAIEAEiQASIAEGACBABIkAEiAARIAJEgAgQBAgCRIAIEAEiQASIABEgAkSACBAEiAARIAJEgAgQASJABIgAQYAgQASIABEgAkSACBABIkAQIAgQASJABIgAESACRIAIEAEiQBAgAkSACBABIkAEiAARIAIEAYIAESACRIAIEAEiQASIABEgAgQBIkAEiAARIAJEgAgQASJAECAIEAEiQASIABEgAkSACBAECAJEgAgQASJABIgAESACRIAIEASIABEgAkSACBABIkAEiABBgCBABIgAESACRIAIEAEiQASIAEGACBABIkAEiAARIAJEgAgQBAgCRIAIEAEiQASIABEgAgQBggARIAJEgAgQASJABIgAESACBAEiQASIABEgAkSACBABIkAQIAgQASJABIgAESACRIAIEAEiQBAgAkSACBABIkAEiAARIAIEAYIAESACRIAIEAEiQASIAEGAIEAEiAARIAJEgAgQASJABIgAQYAIEAEiQASIABEgAkSACBAECAJEgAgQASJABIgAESACRIAIEASIABEgAkSACBABIkAEiABBgCBABIgAESACRIAIEAEiQBAgCBABIkAEiAARIAJEgAgQAWLuKUAQIAJEgAgQASJABIgAESAIEASIABEgAkSACBABIkAEiAARIAgQASJABIgAESACRIAIEAGCAEGACBABIkAEiAARIAJEgJjXChAEiAARIAJEgAgQASJABIgAQYAgQASIABEgAkSACBABIkAQIAgQASJABIgAESACRIAIEAEiQBAgAkSACBABIkAEiAARIAIEAYIAESACRIAIEAEiQASIABEgAgQBIkAEiAARIAJEgAgQASJAECAIEAEiQASIABEgAkSACBAECAJEgAgQASJABIgAESACRIAIEASIABEgAkSACBABIkAEiABBgCBABIgAESACRIAIEAEiQASIAEGACBABIkAEiAARIAJEgAgQBAgCRIAIEAEiQASIABEgAgQBggARIAJEgAgQASJABIgAESACBAEiQASIABEgAkSACBABIkAQIAgQASJABIgAESACRIAIEAEiQBAgAkSACBABIkAEiAARIAIEAYIAESACRIAIEAEiQASIAEGAIEAEiAARIAJEgAgQASJABIgAQYAIEAEiQASIABEgAkSACBAECAJEgAgQASJABIgAESACRIAIEASIABEgAkSACBABIkAEiABBgCBABIgAESACRIAIEAEiQBAgCBABIkAEiAARIAJEgAgQAWLuKUBsBAJEgAgQASJABIgAESACBAGCABEgAkSACBABIkAEiAARIAIEASJABIgAESACRIAIEAEiQBAgCBABIkAEiAARIAJEgAgQBAgCRIAIEAEiQASIABEgAkSAIEAQIAJEgAgQASJABIgAESAIEASIABEgAkSACBABIkAEiAARIAgQASJABIgAESACRIAIEAGCAEGACBABIkAEiAARIAJEgAgQAYIAESACRIAIEAEiQASIABEgCBAEiAARIAJEgAgQASJABAgCBAEiQASIABEgAkSACBABIkAECAJEgAgQASJABIgAESACRIAgQBAgAkSACBABIkAEiAARIAJEgCBABIgAESACRIAIEAEiQAQIAgQBIkAEiAARIAJEgAgQAYIAQYAIEAEiQASIABEgAkSACBABggARIAJEgAgQASJABIgAESAIEASIABEgAkSACBABIkAEiAARIAgQASJABIgAESACRIAIEAGCAEGACBABIkAEiAARIAJEgCBAECACRIAIEAEiQASIABEgAkSAIEAEiAARIAJEgAgQASJABAgCBAEiQASIABEgAkSACBABIkAECAJEgAgQASJABIgAESACRIAgQBAgAkSACBABIkAEiAARIAgQAABAgAgQAABAgAAAAAIEAABAgAAAAAIEAABAgAAAAAIEAAAQIAAAAAIEAAAQIAAAAAIEAAAQIAAAwDsCxDAMwzAMwzAMo2hYCYZhGIZhGIZhCBDDMAzDMAzDMASIYRiGYRiGYRiGADEMwzAMwzAMQ4AYhmEYhmEYhmEIEMMwDMMwDMMwBIhhGIZhGIZhGALEMAzDMAzDMAxDgBiGYRiGYRiGIUAMwzAMwzAMwzAEiGEYhmEYhmEYAsQwDMMwDMMwDAFiGIZhGIZhGIYhQAzDMAzDMAzDODNAAAAAsgkQAABAgAAAAAIEAABAgAAAAAIEAABAgAAAAAIEAAAQIP9xgV/H08s8+bfR61q97azbe3K5rHX/7boyrhsAAMIC5KfJ67f/vnq51b9/cttPw2Lm3yMn8avL8effZ103AACUBMjsv3UJkKzAqAiQiJiKuG4AABAgD287675XBcjI/dkdUgAACBABUnDfs5f9lG9yAAAQIK8PkNH7GDEhrwyQzHgBAIDyADl5J/S//9uJAfLkiF5Z1w0AAOkBMnrI1pMCZPa/FT1gU/GxunO6+AAAYGuARP1btwD56b/PBEjGOTVmz9Xx5HadBwQAgOMCJGKyf0uArNzfimXPvJ8AACBAJs99sXrfOwRI1nUDAMB1AfL0SFWf/n31tk8NkOywAwAAAVIYICvrYzYosr7RECAAABwXIBk7oe8MkL8jpGqdRAVIZFgCAEB5gHw7BO+3w7j+FhNPrzfi73+77YjJedShiZ9ed1RMOPIVAAAtA4RzHlgAABAgVD2oVgQAAAIEAAAQINYEAAAgQAAAAAECAAAgQAAAAAECAAAgQAAAAAECAAAIEAAAAAECAAAIEAAAAAECAAAIEAAAQIAAAAAIEAAAQIAAAAAIEAAAQIAAAAACBAAAQIAAAAACBAAAQIAAAAACBAAAECAAAAACBAAAECAAAAACBAAAECAAAIAAAQAAECAAAIAAAQAAECAAAIAAAQAABIgAAQAABAgAACBAAAAABAgAACBAAAAABAgAACBAAAAAAQIAACBAAAAAAQIAACBAAAAAAQIAAAgQAAAAAQIAAAgQAAAAAQIAAAgQAABAgAAAAAgQAABAgAAAAAgQAABAgAAAAAIEAABAgAAAAAIEAABAgAAAAAIEAAAQIAIEAAAQIAAAgAABAAAQIAAAgAABAAAQIAAAgAABAAAECAAAgAABAAAECAAAgAABAAAECAAAIEAAAAAECAAAIEAAAAAECAAAIEAAAAABAgAAIEAAAAABAgAAIEAAAAABAgAACBAAAAABAgAA/Fd7d6CiOBIEYPj9n3oODhaGZTXVVdWdTuf7IHA7p44xcaxfowoQAAAAAQIAAAgQAABAgLglAAAAAQIAAAgQAAAAAQIAAAgQAAAAAQIAAAgQAABAgAAAAAgQAABAgAAAAAgQAABAgHy9kj9CCdbdt9zvAIAtAuT3UPKvZcZw9PvfxLZLdNutul4z13Vkna7Oe3UZKwfyzLaqnOeO9d11vwUANgqQb0NJ94Bg0MgPc6ujYPXAWBmaI/9/lwG4ElcrbsuT9lsA4IEB0hkhho15w+odz+KvvtzsUL3TbffGANnptgcAHhIgXYOCYaN2m909VN4dIN9O88QA+fPfV6fNXMddAmSn/RYAOCxARo77jlyPkcuJHD4WuazRZ5tHn+XNDFtdg1zn4Uajt8+Ky62s12j4fLstR5/1H903o9s3s6/cvY4ALx7aLC9bBEgxQKLD4NUGGBkqPw1K1esUvT06fmd2u4y+AhC9rqcGSMf7EKLDePQ2HhnORy+vevoZ61jdPgACxCJAXhYgkWdTu4aizLA0+zpVo6s6mEcvNxsmAmT9oV+RT4LrCs+Odem8jwgQAAFiESCXd4Ds4NY1JHZFQ/czxVfh03XYSeWVlVnvfbjzPSCRKO3cj1cFyNW2m30/WBUgnYfOAQgQiwA5JEA+3Smyd5qRYaV6ObMuqzIkV3e+ziH2DQHSGRd3B8jKEF8RINF1B3hzgFhf6/36ALmKkK5DbO78hJ/ZATJrKBcg5wTI3z/rePVAgAAYTJ+wvm95DBAgjUO9ALkvQLJD69sCpOv3rg6Q6jrvGiCR/RZAgJwbEpnznRAtAkSAHBMgVzv0iQFy15vqBUjv34a3vgQP8PS/h9VDzEdOf9J7KQRIcdCtDH4z35i98jqtjJDqIDfj07Hu+hSszsMBdwuQzPplbw8BAmAwnRUfmfcPz/g9tvNLAqTrmPXOT3eadRz9t8vPXo+O4Xj24HpngHR8yeVTAqS6L3Z8EeGKSBcgAGcHSDQuqr/jia8cCZCfn1S1duxQmetSfekusjNkr2v19q3srF3POGc/YawaBZU/Lp3HoXbsJ5Ev3Kx8gWdk21av86x17AxHAAGyd3yMPq6d/NG2AgQAAINpMUBGQ+Xb5VRfRREgAgQAgBcGyNXpR+Kj8/rYzgIEAICf5x+ClTnPjE/SEiACBACAwwbTru/wqL6Xw5vQBQgAAC8NkI7v8uh4RcV2FiAAABw4mM6OkMz5bWcBAgDAwYNp1/d/zDiP7SxAAAA4cDCtfmdHx2I7CxAAAF42mAoPASJAAAAM8JbNFwECAIAAsQgQAQIAIEAsAkSAAAAgQCwCRIAAAAgQiwARIAAAhAJEUJ05qAsQAAAMpgvj49tpIuFiOwsQAAAMpkPx8S1ARi/HdhYgAAC8cDAdfeUiexpfRChAAAB4+WCaiYTqaQWIAAEA4GWDaeUVio7TnxBrAgQAAINpMT6y51/xe21nAQIAwIMG0673ZXSf96nhJkAAADCYLhj+Z5z/CUN95qOHI+u30/oLEAAAATI1QE64nF22c/RjiXfedwQIAIAAmXZ97w6Zb0O7ABEgAAAcEiDd6/uWeVWAAPD1j/fVz6oPAqPH9XZd5u/TVi7vyQNE5svPvp0/883PXUNK975ReTNwx/4WXb/qbb3p0CZABMjQ39sdb0cBApB4YPg0MH16sKgMcJ2X/SmWIqfNXF7Xuu8aIVfrFDlNZtvcuW9kPg61c3+Lrt/o7551vxUgAmR1gET/W4AAPOzBIRofI6Gyasgc+VnmGeuOZ7l33NZX2zAbKR0Db8fpuveNVftbNlAEiAARIAIE4JEPDicGyOyh+YkBEtmGkX9HX1F5U4BE97fR3ydABIgA+Xw4lgABePADxA4BMnLYzuiz9N0B8rTHm5HDyyKHn42evjNAOrbl6CFinfvb6O/qCJDsIXErB3LL+UsmQD6dToAAPDg+qsNTV4D860EmGyDZL7aqDHlPCpC/H7yrh1xFTt8VIJ2vVlTfVJ7Z37pCeHTfHLlvCRCLABEgANMH0sqbXDNBsupZ7pWD39MC5NuD/9X/uytAut7I3nW4XcdhYNmoqMTxjp+CZXlngJzyWCpAAAYe/K+eccoMQivjovIej8whNR2v/uwUIJHYzG7z0VdQIqGUDYrodqu+MbwSDSNh3x3aAsQiPgQIwLIH/k/DwNXPrwaI6NAxOihH1qUaIJXvy3jSNo8GSGU7Zj7mdmRfy2zL0Z/P3N9G9q2O7/kwI4EAAWDhgOTxgTv35R3ecwEIEABAWAMCBAAAQIAAAAACBAAAECAAAAACBAAAECAAAAACBAAAECAAAIAAESAAAIAAAQAABAgAAIAAAQAAnhEgFovFYrFYLBaLxTJ7+T9CdBgAALDsVRA3AQAAIEAAAAABAgAAIEAAAAABAgAAIEAAAAABAgAACBAAAAABAgAACBAAAAABAgAACBAAAECAAAAACBAAAECAAAAACBAAAECAAAAAAgQAAECAAAAAAgQAAECAAAAAAgQAABAgAAAAAgQAABAgAAAAAgQAABAgAACAAAEAABAgAACAAAEAABAgAACAAAEAABAgAACAAAEAAAQIAACAAAEAAAQIAACAAAEAAAQIAAAgQAAAAAQIAAAgQAAAAAQIAAAgQAAAAAECAAAgQAAAAAECAAAgQAAAAAECAAAIEAAAAAECAAAIEAAAAAECAAAIEAAAQIAAAAAIEAAAQIAAAAAIEAAAQIAAAAAIEAAAQIAAAAACBAAAQIAAAAACBAAAQIAAAAACBAAAECAAAAACBAAAECAAAAACBAAAECAAAIAAAQAAECAAAIAAAQAAECAAAIAAAQAABAgAAIAAAQAABAgAAIAAAQAABAgAACBAAAAABAgAACBAAAAABAgAACBAAAAAAeImAAAABAgAACBAAAAABAgAACBAAAAABAgAACBAAAAAAQIAACBAAAAAAQIAACBAAAAAAQIAAAgQAAAAAQIAAAgQAAAAAQIAAAgQAABAgAAAAAgQAABAgAAAAAgQAABAgAAAAAIEAABAgAAAAAIEAABAgAAAAAIEAAAQIAAAAAIEAAAQIAAAAAIEAAAQIAAAAAIEAAAQIAAAgAABAAAQIAAAgAABAAAQIAAAgAABAAAECAAAgAABAAAECAAAgAABAAAECAAAIEAAAAAECAAAIEAAAAAECAAAIEAAAAABAgAAIEAAAAABAgAAIEAAAAABAgAACBAAAAABAgAACBAAAAABAgAACBAAAAABAgAACBAAAECAAAAACBAAAECAAAAACBAAAECAAAAAAgQAAECAAAAAAgQAAECAAAAAAgQAABAgAAAAAgQAABAgAAAAAgQAABAgAACAAAEAABAgAACAAAEAABAgAACAAAEAAAQIAACAAAEAAAQIAACAAAEAAAQIAAAgQNwEAACAAAEAAAQIAACAAAEAAAQIAACAAAEAAAQIAAAgQAAAAAQIAAAgQAAAAAQIAAAgQAAAAAECAAAgQAAAAAECAAAgQAAAAAECAAAIEAAAAAECAAAIEAAAAAECAAAIEAAAQIAAAAAIEAAAQIAAAAAIEAAAYEv/AasPkdDtNTO4AAAAAElFTkSuQmCC" + } + ] }, - "labelFormat": "PNG", - "labelData": [ - { - "packageIdentifier": "PKG002", - "trackingNumber": "1Z6A34Y60369738805", - "shipMethod": "UPS_GR_RES", - "shipMethodName": "UPS Ground Residential", - "content": "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AAFiCBAAABAgAgQAAASIIUAAABAghgABAAABYggQAAAEiNE4QAzDMAzDMAzDMASIYRiGYRiGYRgCxDAMwzAMwzAMQ4AYhmEYhmEYhiFADMMwDMMwDMMw/jdAAAAAio50JkAAAAABAgAACBAAAAABAgAACBAAAAABAgAACBAAAECAAAAACBAAAECAAAAACBAAAECAAAAAAoRXbAT/MX77myfXs3IfRu/nymVXrn/0PjxZ3qjlyngcV5Yx+7JRj2nGfcjYxla2n8rHonKbjFqf2a+B3V43Ml6rK99rop7jGa+Hu173std/9uv86H1buQ8IEASIABEgAkSACBABIkAEiAARIAgQASJABIgAESACRIAIEAGCAEGACBABIkAEiAARIAJEgAgQAYIAESACRIAIEAEiQASIABEgCBAEiAARIAJEgAgQASJABAgCBAEiQASIABEgAkSACBABIkAECAJEgAgQASJABIgAESACRIAgQBAgAkSACBABIkAEiAARIAJEgCBABIgAESACRIAIEAEiQAQIAgQBIkAEiAARIAJEgAgQAYIAQYAIEAEiQASIABEgAkSACBABggARIAJEgAgQASJABIgAESAIEASIABEgAkSACBABIkAEiAARIAgQASJABIgAESACRIAIEAGCAEGACBABIkAEiAARIAJEgCBAECACRIAIEAEiQASIABEgAsTcU4DYCASIABEgAkSACBABIkAECAIEASJABIgAESACRIAIEAEiQAQIAkSACBABIkAEiAARIAJEgCBAECACRIAIEAEiQASIABEgCBAEiAARIAJEgAgQASJABIgAQYAgQASIABEgAkSACBABIkAQIAgQASJABIgAESACRIAIEAEiQBAgAkSACBABIkAEiAARIAIEAYIAESACRIAIEAEiQASIABEgAgQBIkAEiAARIAJEgAgQASJAECAIEAEiQASIABEgAkSACBAECAJEgAgQASJABIgAESACRIAIEASIABEgAkSACBABIkAEiABBgCBABIgAESACRIAIEAEiQASIAEGACBABIkAEiAARIAJEgAgQBAgCRIAIEAEiQASIABEgAgQBggARIAJEgAgQASJABIgAESACBAEiQASIABEgAkSACBABIkAQIAgQASJABIgAESACRIAIEAEiQBAgAkSACBABIkAEiAARIAIEAYIAESACRIAIEAEiQASIAEGAIEAEiAARIAJEgAgQASJABIgAQYAIEAEiQASIABEgAkSACBAECAJEgAgQASJABIgAESACRIAIEASIABEgAkSACBABIkAEiABBgCBABIgAESACRIAIEAEiQBAgCBABIkAEiAARIAJEgAgQAWLu6YGyEQgQASJABIgAESACRIAIEAQIAkSACBABIkAEiAARIAJEgAgQBIgAESACRIAIEAEiQASIAEGAIEAEiAARIAJEgAgQASJAECAIEAEiQGLfmKJGxwCJmCQLEAEiQASIAEGAIEAEiAARIOEB8uftVU4wKh+fXQGyazs85b5FvdfsWp7M18PO21rE66MAQYAgQATINQHS6Y1WgAgQAbI2ORUgAkSAIEAQIAKkdYCcMgnM3oajJlQCRIB0CxEBIkAECAIEASJAWgTIaZPAjgHy7ZsTASJAOk9WBYgAESACBAEiQARIWYCcOAkUIAJk17cIp09a3xQgt0SIAEGAIEAEyFUBEvmGGHX9JwdI1k7E3SaZpwZI1YRtdRvInLjueoyinrMZl41+3YvefgQIAgQBIkCuCZCqiYQAESCd13/HAIlcXxHvNTcGyOprkwARIAIEASJABEjhRFSACBAB0mcbqDhPjQARIAJEgCBABIgAESACRIC8LECibluACBABggBBgAgQASJABIgAKYsQASJABAgCBAEiQASIABEgAkSACBABggBBgAgQASJA7g6QlXUhQPYFSMXzWoAIEAEiQBAgAkSACBABIkAEiAARIAIEAYIAESACRIAIEAEiQASIABEgAgQBIkAEiAARIMtHRRIgAkSACBABIkAQIAJEgAgQAfLaAMma/AsQASJABIgAQYAIEAEiQASIABEgAuRVAVL5+iBAECAIEAEiQBoHSOQ67BogqxEiQASIABEgAkSAIEAEiAA5LkAyJt4C5J4AyZz8CxABIkAEiABBgAgQASJABIgAESACRIAIEAQIAkSACJB3BUj0OrwtQEYmpwJEgAgQAYIAQYAIEAEiQATIEQGSPfkXIAKkKkC6vD4IEAQIAkSACJCGAZKxDgWIABEgAkSAIEAQIAJEgAgQAfJv/qGJBYgAESACBAGCABEgAiR8MiFA5n7WJUAEiAC5P0A6fUAhQBAgCBABcmSARLwxCRABIkAEiAARIAgQBIgAESAh+wIIEAEiQASIABEgCBAEiAARIKVBIkDGY02ACBABIkAECAIEASJArgyQ7EmnABEgAkSACBABggBBgAgQAVIWICuHaRUgewMka5kFyP4AmX2vESBrAdLtKHkCBAGCABEg2wKkKkI6BUj1pHdl2QWIABEgvQJk9wE9BAgCBAEiQK4IkC5vwgKkV4BEL7cAiQuQyAMgCBABIkDMPQWIjUCACJAtAdLhjbgiQHZMegWIAIkMkKplFyACRIAIEASIABEgZW9MAkSACJCeAVK57AJEgAgQAYIAESACpPSNSYAIkOhlFyBrz+XI7UuACBABggBBgAiQdgGy4805O0B2TXoFiACJeh2I2rYESMy2mPm+KUAQIAgQASJANkaIABEgNwXIbz9xy17nAsR5QAQIAgQBIkAEiAA5IkAyJp9vD5Dd25MAESACBAGCABEgAmTx9+rf1s/pE0YBIkCqtyUBIkAEiABBgAgQAdLqjSl7EiZA7g2Q6nh5S4Bkv9cIEAEiQAQIAkSACJDtAZI5GRMgvQIkYh0KkB7xIUD2Bci32xMgCBAEiAARIIOXzZpUrU5musdH5O/2Bci9AZL1Oi9ABIgAMfcUIDYCASJAjg2Q6ImZALkvQHbsP3LbmdAFiAARIAgQBIgAESCNA6Ryp+mI+9A5QCIm3gJEgAgQAYIAQYAIEAHSNkC+TXwEiAARIALktACJfK8XIAgQBIgAESAJkxYBck+A7DqErwARIAJEgCBAECACRIAIkKTnjgARIAJEgAgQBAgCRIC0DZDsT92jJmsCRIAIEAGSFQgCRICYewoQG4EAESACRIAIEAEiQASIAEGAIEAEyM0BkjXpjZiwvTFARg+DK0AEiAC5O0BGzwsjQBAgCBABIkAEiAARIAJEgAgQBAgCRIAIkLcGSFZQRE/UBYgAESACRIAgQBAgAkSAFAZI1mMhQASIABEgAkSAIEAQIAJEgAgQASJABIgAESAIEASIABEgZwXI6nV2CpDu26QAESACRIAIEAGCABEgAqRlgFROFAVI7TYpQASIABEgAkSAIEAEiABJe+M+PUCyg0KACBABIkAEiAARIAgQASJANgdI5b4Pu4MiI0Ay94WJ2iYFiAARILEBUrGPmABBgCBABMiVAVJ9/gsBIkAEiAARIAIEAYIAESACpEWARD5e1QGSeUJGASJABIgAESDmngLERiBABMi2AKlaD523GQGSf5SzrG3ylAD5baIpQASIAEGAIEAEyGsDJPLNLztAon/O1DVAor41eroubw2QlZ+0ZWzvpwRI5ra6M0Aynm+r67/qPEECBAGCABEgxwXIrslJ53NPnLa+d03kuq+jDtvfrQFySpCfuJwCBAGCABEgAkSACJBD19GbA+RNE3MBIkAQIAgQASJABIgAMYEVIAJEgCBAECACRIAIEAEiQASIABEgAkSAIEAEiAA5KECythkBclaAnDIpFCACRIAIEAGCABEgAiQpQLLfqCu3mextOGObzHocd2+TGQGS8RrY7XUj47W68r2m8ihY2e+J2Y9jh9cHAYIAQYAIkBYBkvlGLEAEiAARIAJEgCBAECACRIAIEAEiQASIABEgAsTc0wNlIxAgAkSACBABIkAEiAARIAgQBIgAESACRIAIEAEiQASIABEgCBABIkAEiAARIAJEgAgQAYIAQYAIEAEiQASIABEgAkSAIEAQIAJEgAgQASJABIgAESACBAGCABEgAkSACBABIkAEiABBgCBABIgAESACRIAIEAEiQASIAEGACBABIkAEiAARIAJEgAgQBAgCRIAIEAEiQASIABEgAkSACBAEiAARIAJEgAgQASJABIgAQYAgQASIABEgAkSACBABIkAQIAgQASJABIgAESACRIAIEAEiQBAgAkSACBABIkAEiAARIAIEAYIAESACRIAIEAEiQASIABEgAgQBIkAEiAARIAJEgAgQASJAECAIEAEiQASIABEgAkSACBAECAJEgAgQASJABIgAESACRIAIEASIABEgAkSACBABIkAEiABBgCBABIgAESACRIAIEAEiQASIAEGACBABIkAEiAARIAJEgAgQBAgCRIAIEAEiQASIABEgAgQBggARIAJEgAgQASJABIgAESACBAEiQASIABEgAkSACBABIkAQIAgQASJABIgAESACRIAIEAEiQBAgAkSACBABIkAEiAARIAIEAYIAESACRIAIEAEiQASIAEGAIEAEiAARIAJEgAgQASJABIgAQYAIEAEiQASIABEgAkSACBAECAJEgAgQASJABIgAESACRIAIEASIABEgAkSACBABIkAEiABBgCBABIgAESACRIAIEAEiQBAgCBABIkAEiAARIAJEgAgQAWLuKUAQIAJEgAgQASJABIgAESAIEASIABEgAkSACBABIkAEiAARIAgQASJABIgAESACRIAIEAGCAEGACBABIkAEiAARIAJEgJjXChAEiAARIAJEgAgQASJABIgAQYAgQASIABEgAkSACBABIkAQIAgQASJABIgAESACRIAIEAEiQBAgAkSACBABIkAEiAARIAIEAYIAESACRIAIEAEiQASIABEgAgQBIkAEiAARIAJEgAgQASJAECAIEAEiQASIABEgAkSACBAECAJEgAgQASJABIgAESACRIAIEASIABEgAkSACBABIkAEiABBgCBABIgAESACRIAIEAEiQASIAEGACBABIkAEiAARIAJEgAgQBAgCRIAIEAEiQASIABEgAgQBggARIAJEgAgQASJABIgAESACBAEiQASIABEgAkSACBABIkAQIAgQASJABIgAESACRIAIEAEiQBAgAkSACBABIkAEiAARIAIEAYIAESACRIAIEAEiQASIAEGAIEAEiAARIAJEgAgQASJABIgAQYAIEAEiQASIABEgAkSACBAECAJEgAgQASJABIgAESACRIAIEASIABEgAkSACBABIkAEiABBgCBABIgAESACRIAIEAEiQBAgCBABIkAEiAARIAJEgAgQAWLuKUBsBAJEgAgQASJABIgAESACBAGCABEgAkSACBABIkAEiAARIAIEASJABIgAESACRIAIEAEiQBAgCBABIkAEiAARIAJEgAgQBAgCRIAIEAEiQASIABEgAkSAIEAQIAJEgAgQASJABIgAESAIEASIABEgAkSACBABIkAEiAARIAgQASJABIgAESACRIAIEAGCAEGACBABIkAEiAARIAJEgAgQAYIAESACRIAIEAEiQASIABEgCBAEiAARIAJEgAgQASJABAgCBAEiQASIABEgAkSACBABIkAECAJEgAgQASJABIgAESACRIAgQBAgAkSACBABIkAEiAARIAJEgCBABIgAESACRIAIEAEiQAQIAgQBIkAEiAARIAJEgAgQAYIAQYAIEAEiQASIABEgAkSACBABggARIAJEgAgQASJABIgAESAIEASIABEgAkSACBABIkAEiAARIAgQASJABIgAESACRIAIEAGCAEGACBABIkAEiAARIAJEgCBAECACRIAIEAEiQASIABEgAkSAIEAEiAARIAJEgAgQASJABAgCBAEiQASIABEgAkSACBABIkAECAJEgAgQASJABIgAESACRIAgQBAgAkSACBABIkAE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" - } - ] - } - ] + { + "purchaseOrderNumber": "2JK3S9VD", + "sellingParty": { + "partyId": "999US" + }, + "shipFromParty": { + "partyId": "ABCD" + }, + "labelFormat": "PNG", + "labelData": [ + { + "packageIdentifier": "PKG002", + "trackingNumber": "1Z6A34Y60369738805", + "shipMethod": "UPS_GR_RES", + "shipMethodName": "UPS Ground Residential", + "content": "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AAFiCBAAABAgAgQAAASIIUAAABAghgABAAABYggQAAAEiNE4QAzDMAzDMAzDMASIYRiGYRiGYRgCxDAMwzAMwzAMQ4AYhmEYhmEYhiFADMMwDMMwDMMw/jdAAAAAio50JkAAAAABAgAACBAAAAABAgAACBAAAAABAgAACBAAAECAAAAACBAAAECAAAAACBAAAECAAAAAAoRXbAT/MX77myfXs3IfRu/nymVXrn/0PjxZ3qjlyngcV5Yx+7JRj2nGfcjYxla2n8rHonKbjFqf2a+B3V43Ml6rK99rop7jGa+Hu173std/9uv86H1buQ8IEASIABEgAkSACBABIkAEiAARIAgQASJABIgAESACRIAIEAGCAEGACBABIkAEiAARIAJEgAgQAYIAESACRIAIEAEiQASIABEgCBAEiAARIAJEgAgQASJABAgCBAEiQASIABEgAkSACBABIkAECAJEgAgQASJABIgAESACRIAgQBAgAkSACBABIkAEiAARIAJEgCBABIgAESACRIAIEAEiQAQIAgQBIkAEiAARIAJEgAgQAYIAQYAIEAEiQASIABEgAkSACBABggARIAJEgAgQASJABIgAESAIEASIABEgAkSACBABIkAEiAARIAgQASJABIgAESACRIAIEAGCAEGACBABIkAEiAARIAJEgCBAECACRIAIEAEiQASIABEgAsTcU4DYCASIABEgAkSACBABIkAECAIEASJABIgAESACRIAIEAEiQAQIAkSACBABIkAEiAARIAJEgCBAECACRIAIEAEiQASIABEgCBAEiAARIAJEgAgQASJABIgAQYAgQASIABEgAkSACBABIkAQIAgQASJABIgAESACRIAIEAEiQBAgAkSACBABIkAEiAARIAIEAYIAESACRIAIEAEiQASIABEgAgQBIkAEiAARIAJEgAgQASJAECAIEAEiQASIABEgAkSACBAECAJEgAgQASJABIgAESACRIAIEASIABEgAkSACBABIkAEiABBgCBABIgAESACRIAIEAEiQASIAEGACBABIkAEiAARIAJEgAgQBAgCRIAIEAEiQASIABEgAgQBggARIAJEgAgQASJABIgAESACBAEiQASIABEgAkSACBABIkAQIAgQASJABIgAESACRIAIEAEiQBAgAkSACBABIkAEiAARIAIEAYIAESACRIAIEAEiQASIAEGAIEAEiAARIAJEgAgQASJABIgAQYAIEAEiQASIABEgAkSACBAECAJEgAgQASJABIgAESACRIAIEASIABEgAkSACBABIkAEiABBgCBABIgAESACRIAIEAEiQBAgCBABIkAEiAARIAJEgAgQAWLu6YGyEQgQASJABIgAESACRIAIEAQIAkSACBABIkAEiAARIAJEgAgQBIgAESACRIAIEAEiQASIAEGAIEAEiAARIAJEgAgQASJAECAIEAEiQGLfmKJGxwCJmCQLEAEiQASIAEGAIEAEiAARIOEB8uftVU4wKh+fXQGyazs85b5FvdfsWp7M18PO21rE66MAQYAgQATINQHS6Y1WgAgQAbI2ORUgAkSAIEAQIAKkdYCcMgnM3oajJlQCRIB0CxEBIkAECAIEASJAWgTIaZPAjgHy7ZsTASJAOk9WBYgAESACBAEiQARIWYCcOAkUIAJk17cIp09a3xQgt0SIAEGAIEAEyFUBEvmGGHX9JwdI1k7E3SaZpwZI1YRtdRvInLjueoyinrMZl41+3YvefgQIAgQBIkCuCZCqiYQAESCd13/HAIlcXxHvNTcGyOprkwARIAIEASJABEjhRFSACBAB0mcbqDhPjQARIAJEgCBABIgAESACRIC8LECibluACBABggBBgAgQASJABIgAKYsQASJABAgCBAEiQASIABEgAkSACBABggBBgAgQASJA7g6QlXUhQPYFSMXzWoAIEAEiQBAgAkSACBABIkAEiAARIAIEAYIAESACRIAIEAEiQASIABEgAgQBIkAEiAARIMtHRRIgAkSACBABIkAQIAJEgAgQAfLaAMma/AsQASJABIgAQYAIEAEiQASIABEgAuRVAVL5+iBAECAIEAEiQBoHSOQ67BogqxEiQASIABEgAkSAIEAEiAA5LkAyJt4C5J4AyZz8CxABIkAEiABBgAgQASJABIgAESACRIAIEAQIAkSACJB3BUj0OrwtQEYmpwJEgAgQAYIAQYAIEAEiQATIEQGSPfkXIAKkKkC6vD4IEAQIAkSACJCGAZKxDgWIABEgAkSAIEAQIAJEgAgQAfJv/qGJBYgAESACBAGCABEgAiR8MiFA5n7WJUAEiAC5P0A6fUAhQBAgCBABcmSARLwxCRABIkAEiAARIAgQBIgAESAh+wIIEAEiQASIABEgCBAEiAARIKVBIkDGY02ACBABIkAECAIEASJArgyQ7EmnABEgAkSACBABggBBgAgQAVIWICuHaRUgewMka5kFyP4AmX2vESBrAdLtKHkCBAGCABEg2wKkKkI6BUj1pHdl2QWIABEgvQJk9wE9BAgCBAEiQK4IkC5vwgKkV4BEL7cAiQuQyAMgCBABIkDMPQWIjUCACJAtAdLhjbgiQHZMegWIAIkMkKplFyACRIAIEASIABEgZW9MAkSACJCeAVK57AJEgAgQAYIAESACpPSNSYAIkOhlFyBrz+XI7UuACBABggBBgAiQdgGy4805O0B2TXoFiACJeh2I2rYESMy2mPm+KUAQIAgQASJANkaIABEgNwXIbz9xy17nAsR5QAQIAgQBIkAEiAA5IkAyJp9vD5Dd25MAESACBAGCABEgAmTx9+rf1s/pE0YBIkCqtyUBIkAEiABBgAgQAdLqjSl7EiZA7g2Q6nh5S4Bkv9cIEAEiQAQIAkSACJDtAZI5GRMgvQIkYh0KkB7xIUD2Bci32xMgCBAEiAARIIOXzZpUrU5musdH5O/2Bci9AZL1Oi9ABIgAMfcUIDYCASJAjg2Q6ImZALkvQHbsP3LbmdAFiAARIAgQBIgAESCNA6Ryp+mI+9A5QCIm3gJEgAgQAYIAQYAIEAHSNkC+TXwEiAARIALktACJfK8XIAgQBIgAESAJkxYBck+A7DqErwARIAJEgCBAECACRIAIkKTnjgARIAJEgAgQBAgCRIC0DZDsT92jJmsCRIAIEAGSFQgCRICYewoQG4EAESACRIAIEAEiQASIAEGAIEAEyM0BkjXpjZiwvTFARg+DK0AEiAC5O0BGzwsjQBAgCBABIkAEiAARIAJEgAgQBAgCRIAIkLcGSFZQRE/UBYgAESACRIAgQBAgAkSAFAZI1mMhQASIABEgAkSAIEAQIAJEgAgQASJABIgAESAIEASIABEgZwXI6nV2CpDu26QAESACRIAIEAGCABEgAqRlgFROFAVI7TYpQASIABEgAkSAIEAEiABJe+M+PUCyg0KACBABIkAEiAARIAgQASJANgdI5b4Pu4MiI0Ay94WJ2iYFiAARILEBUrGPmABBgCBABMiVAVJ9/gsBIkAEiAARIAIEAYIAESACpEWARD5e1QGSeUJGASJABIgAESDmngLERiBABMi2AKlaD523GQGSf5SzrG3ylAD5baIpQASIAEGAIEAEyGsDJPLNLztAon/O1DVAor41eroubw2QlZ+0ZWzvpwRI5ra6M0Aynm+r67/qPEECBAGCABEgxwXIrslJ53NPnLa+d03kuq+jDtvfrQFySpCfuJwCBAGCABEgAkSACJBD19GbA+RNE3MBIkAQIAgQASJABIgAMYEVIAJEgCBAECACRIAIEAEiQASIABEgAkSAIEAEiAA5KECythkBclaAnDIpFCACRIAIEAGCABEgAiQpQLLfqCu3mextOGObzHocd2+TGQGS8RrY7XUj47W68r2m8ihY2e+J2Y9jh9cHAYIAQYAIkBYBkvlGLEAEiAARIAJEgCBAECACRIAIEAEiQASIABEgAsTc0wNlIxAgAkSACBABIkAEiAARIAgQBIgAESACRIAIEAEiQASIABEgCBABIkAEiAARIAJEgAgQAYIAQYAIEAEiQASIABEgAkSAIEAQIAJEgAgQASJABIgAESACBAGCABEgAkSACBABIkAEiABBgCBABIgAESACRIAIEAEiQASIAEGACBABIkAEiAARIAJEgAgQBAgCRIAIEAEiQASIABEgAkSACBAEiAARIAJEgAgQASJABIgAQYAgQASIABEgAkSACBABIkAQIAgQASJABIgAESACRIAIEAEiQBAgAkSACBABIkAEiAARIAIEAYIAESACRIAIEAEiQASIABEgAgQBIkAEiAARIAJEgAgQASJAECAIEAEiQASIABEgAkSACBAECAJEgAgQASJABIgAESACRIAIEASIABEgAkSACBABIkAEiABBgCBABIgAESACRIAIEAEiQASIAEGACBABIkAEiAARIAJEgAgQBAgCRIAIEAEiQASIABEgAgQBggARIAJEgAgQASJABIgAESACBAEiQASIABEgAkSACBABIkAQIAgQASJABIgAESACRIAIEAEiQBAgAkSACBABIkAEiAARIAIEAYIAESACRIAIEAEiQASIAEGAIEAEiAARIAJEgAgQASJABIgAQYAIEAEiQASIABEgAkSACBAECAJEgAgQASJABIgAESACRIAIEASIABEgAkSACBABIkAEiABBgCBABIgAESACRIAIEAEiQBAgCBABIkAEiAARIAJEgAgQAWLuKUAQIAJEgAgQASJABIgAESAIEASIABEgAkSACBABIkAEiAARIAgQASJABIgAESACRIAIEAGCAEGACBABIkAEiAARIAJEgJjXChAEiAARIAJEgAgQASJABIgAQYAgQASIABEgAkSACBABIkAQIAgQASJABIgAESACRIAIEAEiQBAgAkSACBABIkAEiAARIAIEAYIAESACRIAIEAEiQASIABEgAgQBIkAEiAARIAJEgAgQASJAECAIEAEiQASIABEgAkSACBAECAJEgAgQASJABIgAESACRIAIEASIABEgAkSACBABIkAEiABBgCBABIgAESACRIAIEAEiQASIAEGACBABIkAEiAARIAJEgAgQBAgCRIAIEAEiQASIABEgAgQBggARIAJEgAgQASJABIgAESACBAEiQASIABEgAkSACBABIkAQIAgQASJABIgAESACRIAIEAEiQBAgAkSACBABIkAEiAARIAIEAYIAESACRIAIEAEiQASIAEGAIEAEiAARIAJEgAgQASJABIgAQYAIEAEiQASIABEgAkSACBAECAJEgAgQASJABIgAESACRIAIEASIABEgAkSACBABIkAEiABBgCBABIgAESACRIAIEAEiQBAgCBABIkAEiAARIAJEgAgQAWLuKUBsBAJEgAgQASJABIgAESACBAGCABEgAkSACBABIkAEiAARIAIEASJABIgAESACRIAIEAEiQBAgCBABIkAEiAARIAJEgAgQBAgCRIAIEAEiQASIABEgAkSAIEAQIAJEgAgQASJABIgAESAIEASIABEgAkSACBABIkAEiAARIAgQASJABIgAESACRIAIEAGCAEGACBABIkAEiAARIAJEgAgQAYIAESACRIAIEAEiQASIABEgCBAEiAARIAJEgAgQASJABAgCBAEiQASIABEgAkSACBABIkAECAJEgAgQASJABIgAESACRIAgQBAgAkSACBABIkAEiAARIAJEgCBABIgAESACRIAIEAEiQAQIAgQBIkAEiAARIAJEgAgQAYIAQYAIEAEiQASIABEgAkSACBABggARIAJEgAgQASJABIgAESAIEASIABEgAkSACBABIkAEiAARIAgQASJABIgAESACRIAIEAGCAEGACBABIkAEiAARIAJEgCBAECACRIAIEAEiQASIABEgAkSAIEAEiAARIAJEgAgQASJABAgCBAEiQASIABEgAkSACBABIkAECAJEgAgQASJABIgAESACRIAgQBAgAkSACBABIkAE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" + } + ] + } + ] + } } - } - }, - { - "request": { - "parameters": {} }, - "response": { - "payload": { - "shippingLabels": [ - { - "purchaseOrderNumber": "mockpurchaseOrderNumber1", - "sellingParty": { - "partyId": "999US" - }, - "shipFromParty": { - "partyId": "ABCD" - }, - "labelFormat": "PNG", - "labelData": [ - { - "packageIdentifier": "PKG001", - "trackingNumber": "1Z6A34Y60369738804", - "shipMethod": "UPS_GR_RES", - "shipMethodName": "UPS Ground Residential", - "content": "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AAFiCBAAABAgAgQAAASIIUAAABAghgABAAABYggQAAAEiNE4QAzDMAzDMAzDMASIYRiGYRiGYRgCxDAMwzAMwzAMQ4AYhmEYhmEYhiFADMMwDMMwDMMw/jdAAAAAio50JkAAAAABAgAACBAAAAABAgAACBAAAAABAgAACBAAAECAAAAACBAAAECAAAAACBAAAECAAAAAAoRXbAT/MX77myfXs3IfRu/nymVXrn/0PjxZ3qjlyngcV5Yx+7JRj2nGfcjYxla2n8rHonKbjFqf2a+B3V43Ml6rK99rop7jGa+Hu173std/9uv86H1buQ8IEASIABEgAkSACBABIkAEiAARIAgQASJABIgAESACRIAIEAGCAEGACBABIkAEiAARIAJEgAgQAYIAESACRIAIEAEiQASIABEgCBAEiAARIAJEgAgQASJABAgCBAEiQASIABEgAkSACBABIkAECAJEgAgQASJABIgAESACRIAgQBAgAkSACBABIkAEiAARIAJEgCBABIgAESACRIAIEAEiQAQIAgQBIkAEiAARIAJEgAgQAYIAQYAIEAEiQASIABEgAkSACBABggARIAJEgAgQASJABIgAESAIEASIABEgAkSACBABIkAEiAARIAgQASJABIgAESACRIAIEAGCAEGACBABIkAEiAARIAJEgCBAECACRIAIEAEiQASIABEgAsTcU4DYCASIABEgAkSACBABIkAECAIEASJABIgAESACRIAIEAEiQAQIAkSACBABIkAEiAARIAJEgCBAECACRIAIEAEiQASIABEgCBAEiAARIAJEgAgQASJABIgAQYAgQASIABEgAkSACBABIkAQIAgQASJABIgAESACRIAIEAEiQBAgAkSACBABIkAEiAARIAIEAYIAESACRIAIEAEiQASIABEgAgQBIkAEiAARIAJEgAgQASJAECAIEAEiQASIABEgAkSACBAECAJEgAgQASJABIgAESACRIAIEASIABEgAkSACBABIkAEiABBgCBABIgAESACRIAIEAEiQASIAEGACBABIkAEiAARIAJEgAgQBAgCRIAIEAEiQASIABEgAgQBggARIAJEgAgQASJABIgAESACBAEiQASIABEgAkSACBABIkAQIAgQASJABIgAESACRIAIEAEiQBAgAkSACBABIkAEiAARIAIEAYIAESACRIAIEAEiQASIAEGAIEAEiAARIAJEgAgQASJABIgAQYAIEAEiQASIABEgAkSACBAECAJEgAgQASJABIgAESACRIAIEASIABEgAkSACBABIkAEiABBgCBABIgAESACRIAIEAEiQBAgCBABIkAEiAARIAJEgAgQAWLu6YGyEQgQASJABIgAESACRIAIEAQIAkSACBABIkAEiAARIAJEgAgQBIgAESACRIAIEAEiQASIAEGAIEAEiAARIAJEgAgQASJAECAIEAEiQGLfmKJGxwCJmCQLEAEiQASIAEGAIEAEiAARIOEB8uftVU4wKh+fXQGyazs85b5FvdfsWp7M18PO21rE66MAQYAgQATINQHS6Y1WgAgQAbI2ORUgAkSAIEAQIAKkdYCcMgnM3oajJlQCRIB0CxEBIkAECAIEASJAWgTIaZPAjgHy7ZsTASJAOk9WBYgAESACBAEiQARIWYCcOAkUIAJk17cIp09a3xQgt0SIAEGAIEAEyFUBEvmGGHX9JwdI1k7E3SaZpwZI1YRtdRvInLjueoyinrMZl41+3YvefgQIAgQBIkCuCZCqiYQAESCd13/HAIlcXxHvNTcGyOprkwARIAIEASJABEjhRFSACBAB0mcbqDhPjQARIAJEgCBABIgAESACRIC8LECibluACBABggBBgAgQASJABIgAKYsQASJABAgCBAEiQASIABEgAkSACBABggBBgAgQASJA7g6QlXUhQPYFSMXzWoAIEAEiQBAgAkSACBABIkAEiAARIAIEAYIAESACRIAIEAEiQASIABEgAgQBIkAEiAARIMtHRRIgAkSACBABIkAQIAJEgAgQAfLaAMma/AsQASJABIgAQYAIEAEiQASIABEgAuRVAVL5+iBAECAIEAEiQBoHSOQ67BogqxEiQASIABEgAkSAIEAEiAA5LkAyJt4C5J4AyZz8CxABIkAEiABBgAgQASJABIgAESACRIAIEAQIAkSACJB3BUj0OrwtQEYmpwJEgAgQAYIAQYAIEAEiQATIEQGSPfkXIAKkKkC6vD4IEAQIAkSACJCGAZKxDgWIABEgAkSAIEAQIAJEgAgQAfJv/qGJBYgAESACBAGCABEgAiR8MiFA5n7WJUAEiAC5P0A6fUAhQBAgCBABcmSARLwxCRABIkAEiAARIAgQBIgAESAh+wIIEAEiQASIABEgCBAEiAARIKVBIkDGY02ACBABIkAECAIEASJArgyQ7EmnABEgAkSACBABggBBgAgQAVIWICuHaRUgewMka5kFyP4AmX2vESBrAdLtKHkCBAGCABEg2wKkKkI6BUj1pHdl2QWIABEgvQJk9wE9BAgCBAEiQK4IkC5vwgKkV4BEL7cAiQuQyAMgCBABIkDMPQWIjUCACJAtAdLhjbgiQHZMegWIAIkMkKplFyACRIAIEASIABEgZW9MAkSACJCeAVK57AJEgAgQAYIAESACpPSNSYAIkOhlFyBrz+XI7UuACBABggBBgAiQdgGy4805O0B2TXoFiACJeh2I2rYESMy2mPm+KUAQIAgQASJANkaIABEgNwXIbz9xy17nAsR5QAQIAgQBIkAEiAA5IkAyJp9vD5Dd25MAESACBAGCABEgAmTx9+rf1s/pE0YBIkCqtyUBIkAEiABBgAgQAdLqjSl7EiZA7g2Q6nh5S4Bkv9cIEAEiQAQIAkSACJDtAZI5GRMgvQIkYh0KkB7xIUD2Bci32xMgCBAEiAARIIOXzZpUrU5musdH5O/2Bci9AZL1Oi9ABIgAMfcUIDYCASJAjg2Q6ImZALkvQHbsP3LbmdAFiAARIAgQBIgAESCNA6Ryp+mI+9A5QCIm3gJEgAgQAYIAQYAIEAHSNkC+TXwEiAARIALktACJfK8XIAgQBIgAESAJkxYBck+A7DqErwARIAJEgCBAECACRIAIkKTnjgARIAJEgAgQBAgCRIC0DZDsT92jJmsCRIAIEAGSFQgCRICYewoQG4EAESACRIAIEAEiQASIAEGAIEAEyM0BkjXpjZiwvTFARg+DK0AEiAC5O0BGzwsjQBAgCBABIkAEiAARIAJEgAgQBAgCRIAIkLcGSFZQRE/UBYgAESACRIAgQBAgAkSAFAZI1mMhQASIABEgAkSAIEAQIAJEgAgQASJABIgAESAIEASIABEgZwXI6nV2CpDu26QAESACRIAIEAGCABEgAqRlgFROFAVI7TYpQASIABEgAkSAIEAEiABJe+M+PUCyg0KACBABIkAEiAARIAgQASJANgdI5b4Pu4MiI0Ay94WJ2iYFiAARILEBUrGPmABBgCBABMiVAVJ9/gsBIkAEiAARIAIEAYIAESACpEWARD5e1QGSeUJGASJABIgAESDmngLERiBABMi2AKlaD523GQGSf5SzrG3ylAD5baIpQASIAEGAIEAEyGsDJPLNLztAon/O1DVAor41eroubw2QlZ+0ZWzvpwRI5ra6M0Aynm+r67/qPEECBAGCABEgxwXIrslJ53NPnLa+d03kuq+jDtvfrQFySpCfuJwCBAGCABEgAkSACJBD19GbA+RNE3MBIkAQIAgQASJABIgAMYEVIAJEgCBAECACRIAIEAEiQASIABEgAkSAIEAEiAA5KECythkBclaAnDIpFCACRIAIEAGCABEgAiQpQLLfqCu3mextOGObzHocd2+TGQGS8RrY7XUj47W68r2m8ihY2e+J2Y9jh9cHAYIAQYAIkBYBkvlGLEAEiAARIAJEgCBAECACRIAIEAEiQASIABEgAsTc0wNlIxAgAkSACBABIkAEiAARIAgQBIgAESACRIAIEAEiQASIABEgCBABIkAEiAARIAJEgAgQAYIAQYAIEAEiQASIABEgAkSAIEAQIAJEgAgQASJABIgAESACBAGCABEgAkSACBABIkAEiABBgCBABIgAESACRIAIEAEiQASIAEGACBABIkAEiAARIAJEgAgQBAgCRIAIEAEiQASIABEgAkSACBAEiAARIAJEgAgQASJABIgAQYAgQASIABEgAkSACBABIkAQIAgQASJABIgAESACRIAIEAEiQBAgAkSACBABIkAEiAARIAIEAYIAESACRIAIEAEiQASIABEgAgQBIkAEiAARIAJEgAgQASJAECAIEAEiQASIABEgAkSACBAECAJEgAgQASJABIgAESACRIAIEASIABEgAkSACBABIkAEiABBgCBABIgAESACRIAIEAEiQASIAEGACBABIkAEiAARIAJEgAgQBAgCRIAIEAEiQASIABEgAgQBggARIAJEgAgQASJABIgAESACBAEiQASIABEgAkSACBABIkAQIAgQASJABIgAESACRIAIEAEiQBAgAkSACBABIkAEiAARIAIEAYIAESACRIAIEAEiQASIAEGAIEAEiAARIAJEgAgQASJABIgAQYAIEAEiQASIABEgAkSACBAECAJEgAgQASJABIgAESACRIAIEASIABEgAkSACBABIkAEiABBgCBABIgAESACRIAIEAEiQBAgCBABIkAEiAARIAJEgAgQAWLuKUAQIAJEgAgQASJABIgAESAIEASIABEgAkSACBABIkAEiAARIAgQASJABIgAESACRIAIEAGCAEGACBABIkAEiAARIAJEgJjXChAEiAARIAJEgAgQASJABIgAQYAgQASIABEgAkSACBABIkAQIAgQASJABIgAESACRIAIEAEiQBAgAkSACBABIkAEiAARIAIEAYIAESACRIAIEAEiQASIABEgAgQBIkAEiAARIAJEgAgQASJAECAIEAEiQASIABEgAkSACBAECAJEgAgQASJABIgAESACRIAIEASIABEgAkSACBABIkAEiABBgCBABIgAESACRIAIEAEiQASIAEGACBABIkAEiAARIAJEgAgQBAgCRIAIEAEiQASIABEgAgQBggARIAJEgAgQASJABIgAESACBAEiQASIABEgAkSACBABIkAQIAgQASJABIgAESACRIAIEAEiQBAgAkSACBABIkAEiAARIAIEAYIAESACRIAIEAEiQASIAEGAIEAEiAARIAJEgAgQASJABIgAQYAIEAEiQASIABEgAkSACBAECAJEgAgQASJABIgAESACRIAIEASIABEgAkSACBABIkAEiABBgCBABIgAESACRIAIEAEiQBAgCBABIkAEiAARIAJEgAgQAWLuKUBsBAJEgAgQASJABIgAESACBAGCABEgAkSACBABIkAEiAARIAIEASJABIgAESACRIAIEAEiQBAgCBABIkAEiAARIAJEgAgQBAgCRIAIEAEiQASIABEgAkSAIEAQIAJEgAgQASJABIgAESAIEASIABEgAkSACBABIkAEiAARIAgQASJABIgAESACRIAIEAGCAEGACBABIkAEiAARIAJEgAgQAYIAESACRIAIEAEiQASIABEgCBAEiAARIAJEgAgQASJABAgCBAEiQASIABEgAkSACBABIkAECAJEgAgQASJABIgAESACRIAgQBAgAkSACBABIkAEiAARIAJEgCBABIgAESACRIAIEAEiQAQIAgQBIkAEiAARIAJEgAgQAYIAQYAIEAEiQASIABEgAkSACBABggARIAJEgAgQASJABIgAESAIEASIABEgAkSACBABIkAEiAARIAgQASJABIgAESACRIAIEAGCAEGACBABIkAEiAARIAJEgCBAECACRIAIEAEiQASIABEgAkSAIEAEiAARIAJEgAgQASJABAgCBAEiQASIABEgAkSACBABIkAECAJEgAgQASJABIgAESACRIAgQBAgAkSACBABIkAE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" - } - ] - }, - { - "purchaseOrderNumber": "mockpurchaseOrderNumber2", - "sellingParty": { - "partyId": "999US" - }, - "shipFromParty": { - "partyId": "ABCD" + { + "request": { + "parameters": {} + }, + "response": { + "payload": { + "shippingLabels": [ + { + "purchaseOrderNumber": "mockpurchaseOrderNumber1", + "sellingParty": { + "partyId": "999US" + }, + "shipFromParty": { + "partyId": "ABCD" + }, + "labelFormat": "PNG", + "labelData": [ + { + "packageIdentifier": "PKG001", + "trackingNumber": "1Z6A34Y60369738804", + "shipMethod": "UPS_GR_RES", + "shipMethodName": "UPS Ground Residential", + "content": "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AAFiCBAAABAgAgQAAASIIUAAABAghgABAAABYggQAAAEiNE4QAzDMAzDMAzDMASIYRiGYRiGYRgCxDAMwzAMwzAMQ4AYhmEYhmEYhiFADMMwDMMwDMMw/jdAAAAAio50JkAAAAABAgAACBAAAAABAgAACBAAAAABAgAACBAAAECAAAAACBAAAECAAAAACBAAAECAAAAAAoRXbAT/MX77myfXs3IfRu/nymVXrn/0PjxZ3qjlyngcV5Yx+7JRj2nGfcjYxla2n8rHonKbjFqf2a+B3V43Ml6rK99rop7jGa+Hu173std/9uv86H1buQ8IEASIABEgAkSACBABIkAEiAARIAgQASJABIgAESACRIAIEAGCAEGACBABIkAEiAARIAJEgAgQAYIAESACRIAIEAEiQASIABEgCBAEiAARIAJEgAgQASJABAgCBAEiQASIABEgAkSACBABIkAECAJEgAgQASJABIgAESACRIAgQBAgAkSACBABIkAEiAARIAJEgCBABIgAESACRIAIEAEiQAQIAgQBIkAEiAARIAJEgAgQAYIAQYAIEAEiQASIABEgAkSACBABggARIAJEgAgQASJABIgAESAIEASIABEgAkSACBABIkAEiAARIAgQASJABIgAESACRIAIEAGCAEGACBABIkAEiAARIAJEgCBAECACRIAIEAEiQASIABEgAsTcU4DYCASIABEgAkSACBABIkAECAIEASJABIgAESACRIAIEAEiQAQIAkSACBABIkAEiAARIAJEgCBAECACRIAIEAEiQASIABEgCBAEiAARIAJEgAgQASJABIgAQYAgQASIABEgAkSACBABIkAQIAgQASJABIgAESACRIAIEAEiQBAgAkSACBABIkAEiAARIAIEAYIAESACRIAIEAEiQASIABEgAgQBIkAEiAARIAJEgAgQASJAECAIEAEiQASIABEgAkSACBAECAJEgAgQASJABIgAESACRIAIEASIABEgAkSACBABIkAEiABBgCBABIgAESACRIAIEAEiQASIAEGACBABIkAEiAARIAJEgAgQBAgCRIAIEAEiQASIABEgAgQBggARIAJEgAgQASJABIgAESACBAEiQASIABEgAkSACBABIkAQIAgQASJABIgAESACRIAIEAEiQBAgAkSACBABIkAEiAARIAIEAYIAESACRIAIEAEiQASIAEGAIEAEiAARIAJEgAgQASJABIgAQYAIEAEiQASIABEgAkSACBAECAJEgAgQASJABIgAESACRIAIEASIABEgAkSACBABIkAEiABBgCBABIgAESACRIAIEAEiQBAgCBABIkAEiAARIAJEgAgQAWLu6YGyEQgQASJABIgAESACRIAIEAQIAkSACBABIkAEiAARIAJEgAgQBIgAESACRIAIEAEiQASIAEGAIEAEiAARIAJEgAgQASJAECAIEAEiQGLfmKJGxwCJmCQLEAEiQASIAEGAIEAEiAARIOEB8uftVU4wKh+fXQGyazs85b5FvdfsWp7M18PO21rE66MAQYAgQATINQHS6Y1WgAgQAbI2ORUgAkSAIEAQIAKkdYCcMgnM3oajJlQCRIB0CxEBIkAECAIEASJAWgTIaZPAjgHy7ZsTASJAOk9WBYgAESACBAEiQARIWYCcOAkUIAJk17cIp09a3xQgt0SIAEGAIEAEyFUBEvmGGHX9JwdI1k7E3SaZpwZI1YRtdRvInLjueoyinrMZl41+3YvefgQIAgQBIkCuCZCqiYQAESCd13/HAIlcXxHvNTcGyOprkwARIAIEASJABEjhRFSACBAB0mcbqDhPjQARIAJEgCBABIgAESACRIC8LECibluACBABggBBgAgQASJABIgAKYsQASJABAgCBAEiQASIABEgAkSACBABggBBgAgQASJA7g6QlXUhQPYFSMXzWoAIEAEiQBAgAkSACBABIkAEiAARIAIEAYIAESACRIAIEAEiQASIABEgAgQBIkAEiAARIMtHRRIgAkSACBABIkAQIAJEgAgQAfLaAMma/AsQASJABIgAQYAIEAEiQASIABEgAuRVAVL5+iBAECAIEAEiQBoHSOQ67BogqxEiQASIABEgAkSAIEAEiAA5LkAyJt4C5J4AyZz8CxABIkAEiABBgAgQASJABIgAESACRIAIEAQIAkSACJB3BUj0OrwtQEYmpwJEgAgQAYIAQYAIEAEiQATIEQGSPfkXIAKkKkC6vD4IEAQIAkSACJCGAZKxDgWIABEgAkSAIEAQIAJEgAgQAfJv/qGJBYgAESACBAGCABEgAiR8MiFA5n7WJUAEiAC5P0A6fUAhQBAgCBABcmSARLwxCRABIkAEiAARIAgQBIgAESAh+wIIEAEiQASIABEgCBAEiAARIKVBIkDGY02ACBABIkAECAIEASJArgyQ7EmnABEgAkSACBABggBBgAgQAVIWICuHaRUgewMka5kFyP4AmX2vESBrAdLtKHkCBAGCABEg2wKkKkI6BUj1pHdl2QWIABEgvQJk9wE9BAgCBAEiQK4IkC5vwgKkV4BEL7cAiQuQyAMgCBABIkDMPQWIjUCACJAtAdLhjbgiQHZMegWIAIkMkKplFyACRIAIEASIABEgZW9MAkSACJCeAVK57AJEgAgQAYIAESACpPSNSYAIkOhlFyBrz+XI7UuACBABggBBgAiQdgGy4805O0B2TXoFiACJeh2I2rYESMy2mPm+KUAQIAgQASJANkaIABEgNwXIbz9xy17nAsR5QAQIAgQBIkAEiAA5IkAyJp9vD5Dd25MAESACBAGCABEgAmTx9+rf1s/pE0YBIkCqtyUBIkAEiABBgAgQAdLqjSl7EiZA7g2Q6nh5S4Bkv9cIEAEiQAQIAkSACJDtAZI5GRMgvQIkYh0KkB7xIUD2Bci32xMgCBAEiAARIIOXzZpUrU5musdH5O/2Bci9AZL1Oi9ABIgAMfcUIDYCASJAjg2Q6ImZALkvQHbsP3LbmdAFiAARIAgQBIgAESCNA6Ryp+mI+9A5QCIm3gJEgAgQAYIAQYAIEAHSNkC+TXwEiAARIALktACJfK8XIAgQBIgAESAJkxYBck+A7DqErwARIAJEgCBAECACRIAIkKTnjgARIAJEgAgQBAgCRIC0DZDsT92jJmsCRIAIEAGSFQgCRICYewoQG4EAESACRIAIEAEiQASIAEGAIEAEyM0BkjXpjZiwvTFARg+DK0AEiAC5O0BGzwsjQBAgCBABIkAEiAARIAJEgAgQBAgCRIAIkLcGSFZQRE/UBYgAESACRIAgQBAgAkSAFAZI1mMhQASIABEgAkSAIEAQIAJEgAgQASJABIgAESAIEASIABEgZwXI6nV2CpDu26QAESACRIAIEAGCABEgAqRlgFROFAVI7TYpQASIABEgAkSAIEAEiABJe+M+PUCyg0KACBABIkAEiAARIAgQASJANgdI5b4Pu4MiI0Ay94WJ2iYFiAARILEBUrGPmABBgCBABMiVAVJ9/gsBIkAEiAARIAIEAYIAESACpEWARD5e1QGSeUJGASJABIgAESDmngLERiBABMi2AKlaD523GQGSf5SzrG3ylAD5baIpQASIAEGAIEAEyGsDJPLNLztAon/O1DVAor41eroubw2QlZ+0ZWzvpwRI5ra6M0Aynm+r67/qPEECBAGCABEgxwXIrslJ53NPnLa+d03kuq+jDtvfrQFySpCfuJwCBAGCABEgAkSACJBD19GbA+RNE3MBIkAQIAgQASJABIgAMYEVIAJEgCBAECACRIAIEAEiQASIABEgAkSAIEAEiAA5KECythkBclaAnDIpFCACRIAIEAGCABEgAiQpQLLfqCu3mextOGObzHocd2+TGQGS8RrY7XUj47W68r2m8ihY2e+J2Y9jh9cHAYIAQYAIkBYBkvlGLEAEiAARIAJEgCBAECACRIAIEAEiQASIABEgAsTc0wNlIxAgAkSACBABIkAEiAARIAgQBIgAESACRIAIEAEiQASIABEgCBABIkAEiAARIAJEgAgQAYIAQYAIEAEiQASIABEgAkSAIEAQIAJEgAgQASJABIgAESACBAGCABEgAkSACBABIkAEiABBgCBABIgAESACRIAIEAEiQASIAEGACBABIkAEiAARIAJEgAgQBAgCRIAIEAEiQASIABEgAkSACBAEiAARIAJEgAgQASJABIgAQYAgQASIABEgAkSACBABIkAQIAgQASJABIgAESACRIAIEAEiQBAgAkSACBABIkAEiAARIAIEAYIAESACRIAIEAEiQASIABEgAgQBIkAEiAARIAJEgAgQASJAECAIEAEiQASIABEgAkSACBAECAJEgAgQASJABIgAESACRIAIEASIABEgAkSACBABIkAEiABBgCBABIgAESACRIAIEAEiQASIAEGACBABIkAEiAARIAJEgAgQBAgCRIAIEAEiQASIABEgAgQBggARIAJEgAgQASJABIgAESACBAEiQASIABEgAkSACBABIkAQIAgQASJABIgAESACRIAIEAEiQBAgAkSACBABIkAEiAARIAIEAYIAESACRIAIEAEiQASIAEGAIEAEiAARIAJEgAgQASJABIgAQYAIEAEiQASIABEgAkSACBAECAJEgAgQASJABIgAESACRIAIEASIABEgAkSACBABIkAEiABBgCBABIgAESACRIAIEAEiQBAgCBABIkAEiAARIAJEgAgQAWLuKUAQIAJEgAgQASJABIgAESAIEASIABEgAkSACBABIkAEiAARIAgQASJABIgAESACRIAIEAGCAEGACBABIkAEiAARIAJEgJjXChAEiAARIAJEgAgQASJABIgAQYAgQASIABEgAkSACBABIkAQIAgQASJABIgAESACRIAIEAEiQBAgAkSACBABIkAEiAARIAIEAYIAESACRIAIEAEiQASIABEgAgQBIkAEiAARIAJEgAgQASJAECAIEAEiQASIABEgAkSACBAECAJEgAgQASJABIgAESACRIAIEASIABEgAkSACBABIkAEiABBgCBABIgAESACRIAIEAEiQASIAEGACBABIkAEiAARIAJEgAgQBAgCRIAIEAEiQASIABEgAgQBggARIAJEgAgQASJABIgAESACBAEiQASIABEgAkSACBABIkAQIAgQASJABIgAESACRIAIEAEiQBAgAkSACBABIkAEiAARIAIEAYIAESACRIAIEAEiQASIAEGAIEAEiAARIAJEgAgQASJABIgAQYAIEAEiQASIABEgAkSACBAECAJEgAgQASJABIgAESACRIAIEASIABEgAkSACBABIkAEiABBgCBABIgAESACRIAIEAEiQBAgCBABIkAEiAARIAJEgAgQAWLuKUBsBAJEgAgQASJABIgAESACBAGCABEgAkSACBABIkAEiAARIAIEASJABIgAESACRIAIEAEiQBAgCBABIkAEiAARIAJEgAgQBAgCRIAIEAEiQASIABEgAkSAIEAQIAJEgAgQASJABIgAESAIEASIABEgAkSACBABIkAEiAARIAgQASJABIgAESACRIAIEAGCAEGACBABIkAEiAARIAJEgAgQAYIAESACRIAIEAEiQASIABEgCBAEiAARIAJEgAgQASJABAgCBAEiQASIABEgAkSACBABIkAECAJEgAgQASJABIgAESACRIAgQBAgAkSACBABIkAEiAARIAJEgCBABIgAESACRIAIEAEiQAQIAgQBIkAEiAARIAJEgAgQAYIAQYAIEAEiQASIABEgAkSACBABggARIAJEgAgQASJABIgAESAIEASIABEgAkSACBABIkAEiAARIAgQASJABIgAESACRIAIEAGCAEGACBABIkAEiAARIAJEgCBAECACRIAIEAEiQASIABEgAkSAIEAEiAARIAJEgAgQASJABAgCBAEiQASIABEgAkSACBABIkAECAJEgAgQASJABIgAESACRIAgQBAgAkSACBABIkAE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" + } + ] }, - "labelFormat": "PNG", - "labelData": [ - { - "packageIdentifier": "PKG002", - "trackingNumber": "1Z6A34Y60369738805", - "shipMethod": "UPS_GR_RES", - "shipMethodName": "UPS Ground Residential", - "content": "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AAFiCBAAABAgAgQAAASIIUAAABAghgABAAABYggQAAAEiNE4QAzDMAzDMAzDMASIYRiGYRiGYRgCxDAMwzAMwzAMQ4AYhmEYhmEYhiFADMMwDMMwDMMw/jdAAAAAio50JkAAAAABAgAACBAAAAABAgAACBAAAAABAgAACBAAAECAAAAACBAAAECAAAAACBAAAECAAAAAAoRXbAT/MX77myfXs3IfRu/nymVXrn/0PjxZ3qjlyngcV5Yx+7JRj2nGfcjYxla2n8rHonKbjFqf2a+B3V43Ml6rK99rop7jGa+Hu173std/9uv86H1buQ8IEASIABEgAkSACBABIkAEiAARIAgQASJABIgAESACRIAIEAGCAEGACBABIkAEiAARIAJEgAgQAYIAESACRIAIEAEiQASIABEgCBAEiAARIAJEgAgQASJABAgCBAEiQASIABEgAkSACBABIkAECAJEgAgQASJABIgAESACRIAgQBAgAkSACBABIkAEiAARIAJEgCBABIgAESACRIAIEAEiQAQIAgQBIkAEiAARIAJEgAgQAYIAQYAIEAEiQASIABEgAkSACBABggARIAJEgAgQASJABIgAESAIEASIABEgAkSACBABIkAEiAARIAgQASJABIgAESACRIAIEAGCAEGACBABIkAEiAARIAJEgCBAECACRIAIEAEiQASIABEgAsTcU4DYCASIABEgAkSACBABIkAECAIEASJABIgAESACRIAIEAEiQAQIAkSACBABIkAEiAARIAJEgCBAECACRIAIEAEiQASIABEgCBAEiAARIAJEgAgQASJABIgAQYAgQASIABEgAkSACBABIkAQIAgQASJABIgAESACRIAIEAEiQBAgAkSACBABIkAEiAARIAIEAYIAESACRIAIEAEiQASIABEgAgQBIkAEiAARIAJEgAgQASJAECAIEAEiQASIABEgAkSACBAECAJEgAgQASJABIgAESACRIAIEASIABEgAkSACBABIkAEiABBgCBABIgAESACRIAIEAEiQASIAEGACBABIkAEiAARIAJEgAgQBAgCRIAIEAEiQASIABEgAgQBggARIAJEgAgQASJABIgAESACBAEiQASIABEgAkSACBABIkAQIAgQASJABIgAESACRIAIEAEiQBAgAkSACBABIkAEiAARIAIEAYIAESACRIAIEAEiQASIAEGAIEAEiAARIAJEgAgQASJABIgAQYAIEAEiQASIABEgAkSACBAECAJEgAgQASJABIgAESACRIAIEASIABEgAkSACBABIkAEiABBgCBABIgAESACRIAIEAEiQBAgCBABIkAEiAARIAJEgAgQAWLu6YGyEQgQASJABIgAESACRIAIEAQIAkSACBABIkAEiAARIAJEgAgQBIgAESACRIAIEAEiQASIAEGAIEAEiAARIAJEgAgQASJAECAIEAEiQGLfmKJGxwCJmCQLEAEiQASIAEGAIEAEiAARIOEB8uftVU4wKh+fXQGyazs85b5FvdfsWp7M18PO21rE66MAQYAgQATINQHS6Y1WgAgQAbI2ORUgAkSAIEAQIAKkdYCcMgnM3oajJlQCRIB0CxEBIkAECAIEASJAWgTIaZPAjgHy7ZsTASJAOk9WBYgAESACBAEiQARIWYCcOAkUIAJk17cIp09a3xQgt0SIAEGAIEAEyFUBEvmGGHX9JwdI1k7E3SaZpwZI1YRtdRvInLjueoyinrMZl41+3YvefgQIAgQBIkCuCZCqiYQAESCd13/HAIlcXxHvNTcGyOprkwARIAIEASJABEjhRFSACBAB0mcbqDhPjQARIAJEgCBABIgAESACRIC8LECibluACBABggBBgAgQASJABIgAKYsQASJABAgCBAEiQASIABEgAkSACBABggBBgAgQASJA7g6QlXUhQPYFSMXzWoAIEAEiQBAgAkSACBABIkAEiAARIAIEAYIAESACRIAIEAEiQASIABEgAgQBIkAEiAARIMtHRRIgAkSACBABIkAQIAJEgAgQAfLaAMma/AsQASJABIgAQYAIEAEiQASIABEgAuRVAVL5+iBAECAIEAEiQBoHSOQ67BogqxEiQASIABEgAkSAIEAEiAA5LkAyJt4C5J4AyZz8CxABIkAEiABBgAgQASJABIgAESACRIAIEAQIAkSACJB3BUj0OrwtQEYmpwJEgAgQAYIAQYAIEAEiQATIEQGSPfkXIAKkKkC6vD4IEAQIAkSACJCGAZKxDgWIABEgAkSAIEAQIAJEgAgQAfJv/qGJBYgAESACBAGCABEgAiR8MiFA5n7WJUAEiAC5P0A6fUAhQBAgCBABcmSARLwxCRABIkAEiAARIAgQBIgAESAh+wIIEAEiQASIABEgCBAEiAARIKVBIkDGY02ACBABIkAECAIEASJArgyQ7EmnABEgAkSACBABggBBgAgQAVIWICuHaRUgewMka5kFyP4AmX2vESBrAdLtKHkCBAGCABEg2wKkKkI6BUj1pHdl2QWIABEgvQJk9wE9BAgCBAEiQK4IkC5vwgKkV4BEL7cAiQuQyAMgCBABIkDMPQWIjUCACJAtAdLhjbgiQHZMegWIAIkMkKplFyACRIAIEASIABEgZW9MAkSACJCeAVK57AJEgAgQAYIAESACpPSNSYAIkOhlFyBrz+XI7UuACBABggBBgAiQdgGy4805O0B2TXoFiACJeh2I2rYESMy2mPm+KUAQIAgQASJANkaIABEgNwXIbz9xy17nAsR5QAQIAgQBIkAEiAA5IkAyJp9vD5Dd25MAESACBAGCABEgAmTx9+rf1s/pE0YBIkCqtyUBIkAEiABBgAgQAdLqjSl7EiZA7g2Q6nh5S4Bkv9cIEAEiQAQIAkSACJDtAZI5GRMgvQIkYh0KkB7xIUD2Bci32xMgCBAEiAARIIOXzZpUrU5musdH5O/2Bci9AZL1Oi9ABIgAMfcUIDYCASJAjg2Q6ImZALkvQHbsP3LbmdAFiAARIAgQBIgAESCNA6Ryp+mI+9A5QCIm3gJEgAgQAYIAQYAIEAHSNkC+TXwEiAARIALktACJfK8XIAgQBIgAESAJkxYBck+A7DqErwARIAJEgCBAECACRIAIkKTnjgARIAJEgAgQBAgCRIC0DZDsT92jJmsCRIAIEAGSFQgCRICYewoQG4EAESACRIAIEAEiQASIAEGAIEAEyM0BkjXpjZiwvTFARg+DK0AEiAC5O0BGzwsjQBAgCBABIkAEiAARIAJEgAgQBAgCRIAIkLcGSFZQRE/UBYgAESACRIAgQBAgAkSAFAZI1mMhQASIABEgAkSAIEAQIAJEgAgQASJABIgAESAIEASIABEgZwXI6nV2CpDu26QAESACRIAIEAGCABEgAqRlgFROFAVI7TYpQASIABEgAkSAIEAEiABJe+M+PUCyg0KACBABIkAEiAARIAgQASJANgdI5b4Pu4MiI0Ay94WJ2iYFiAARILEBUrGPmABBgCBABMiVAVJ9/gsBIkAEiAARIAIEAYIAESACpEWARD5e1QGSeUJGASJABIgAESDmngLERiBABMi2AKlaD523GQGSf5SzrG3ylAD5baIpQASIAEGAIEAEyGsDJPLNLztAon/O1DVAor41eroubw2QlZ+0ZWzvpwRI5ra6M0Aynm+r67/qPEECBAGCABEgxwXIrslJ53NPnLa+d03kuq+jDtvfrQFySpCfuJwCBAGCABEgAkSACJBD19GbA+RNE3MBIkAQIAgQASJABIgAMYEVIAJEgCBAECACRIAIEAEiQASIABEgAkSAIEAEiAA5KECythkBclaAnDIpFCACRIAIEAGCABEgAiQpQLLfqCu3mextOGObzHocd2+TGQGS8RrY7XUj47W68r2m8ihY2e+J2Y9jh9cHAYIAQYAIkBYBkvlGLEAEiAARIAJEgCBAECACRIAIEAEiQASIABEgAsTc0wNlIxAgAkSACBABIkAEiAARIAgQBIgAESACRIAIEAEiQASIABEgCBABIkAEiAARIAJEgAgQAYIAQYAIEAEiQASIABEgAkSAIEAQIAJEgAgQASJABIgAESACBAGCABEgAkSACBABIkAEiABBgCBABIgAESACRIAIEAEiQASIAEGACBABIkAEiAARIAJEgAgQBAgCRIAIEAEiQASIABEgAkSACBAEiAARIAJEgAgQASJABIgAQYAgQASIABEgAkSACBABIkAQIAgQASJABIgAESACRIAIEAEiQBAgAkSACBABIkAEiAARIAIEAYIAESACRIAIEAEiQASIABEgAgQBIkAEiAARIAJEgAgQASJAECAIEAEiQASIABEgAkSACBAECAJEgAgQASJABIgAESACRIAIEASIABEgAkSACBABIkAEiABBgCBABIgAESACRIAIEAEiQASIAEGACBABIkAEiAARIAJEgAgQBAgCRIAIEAEiQASIABEgAgQBggARIAJEgAgQASJABIgAESACBAEiQASIABEgAkSACBABIkAQIAgQASJABIgAESACRIAIEAEiQBAgAkSACBABIkAEiAARIAIEAYIAESACRIAIEAEiQASIAEGAIEAEiAARIAJEgAgQASJABIgAQYAIEAEiQASIABEgAkSACBAECAJEgAgQASJABIgAESACRIAIEASIABEgAkSACBABIkAEiABBgCBABIgAESACRIAIEAEiQBAgCBABIkAEiAARIAJEgAgQAWLuKUAQIAJEgAgQASJABIgAESAIEASIABEgAkSACBABIkAEiAARIAgQASJABIgAESACRIAIEAGCAEGACBABIkAEiAARIAJEgJjXChAEiAARIAJEgAgQASJABIgAQYAgQASIABEgAkSACBABIkAQIAgQASJABIgAESACRIAIEAEiQBAgAkSACBABIkAEiAARIAIEAYIAESACRIAIEAEiQASIABEgAgQBIkAEiAARIAJEgAgQASJAECAIEAEiQASIABEgAkSACBAECAJEgAgQASJABIgAESACRIAIEASIABEgAkSACBABIkAEiABBgCBABIgAESACRIAIEAEiQASIAEGACBABIkAEiAARIAJEgAgQBAgCRIAIEAEiQASIABEgAgQBggARIAJEgAgQASJABIgAESACBAEiQASIABEgAkSACBABIkAQIAgQASJABIgAESACRIAIEAEiQBAgAkSACBABIkAEiAARIAIEAYIAESACRIAIEAEiQASIAEGAIEAEiAARIAJEgAgQASJABIgAQYAIEAEiQASIABEgAkSACBAECAJEgAgQASJABIgAESACRIAIEASIABEgAkSACBABIkAEiABBgCBABIgAESACRIAIEAEiQBAgCBABIkAEiAARIAJEgAgQAWLuKUBsBAJEgAgQASJABIgAESACBAGCABEgAkSACBABIkAEiAARIAIEASJABIgAESACRIAIEAEiQBAgCBABIkAEiAARIAJEgAgQBAgCRIAIEAEiQASIABEgAkSAIEAQIAJEgAgQASJABIgAESAIEASIABEgAkSACBABIkAEiAARIAgQASJABIgAESACRIAIEAGCAEGACBABIkAEiAARIAJEgAgQAYIAESACRIAIEAEiQASIABEgCBAEiAARIAJEgAgQASJABAgCBAEiQASIABEgAkSACBABIkAECAJEgAgQASJABIgAESACRIAgQBAgAkSACBABIkAEiAARIAJEgCBABIgAESACRIAIEAEiQAQIAgQBIkAEiAARIAJEgAgQAYIAQYAIEAEiQASIABEgAkSACBABggARIAJEgAgQASJABIgAESAIEASIABEgAkSACBABIkAEiAARIAgQASJABIgAESACRIAIEAGCAEGACBABIkAEiAARIAJEgCBAECACRIAIEAEiQASIABEgAkSAIEAEiAARIAJEgAgQASJABAgCBAEiQASIABEgAkSACBABIkAECAJEgAgQASJABIgAESACRIAgQBAgAkSACBABIkAE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" - } - ] - } - ] + { + "purchaseOrderNumber": "mockpurchaseOrderNumber2", + "sellingParty": { + "partyId": "999US" + }, + "shipFromParty": { + "partyId": "ABCD" + }, + "labelFormat": "PNG", + "labelData": [ + { + "packageIdentifier": "PKG002", + "trackingNumber": "1Z6A34Y60369738805", + "shipMethod": "UPS_GR_RES", + "shipMethodName": "UPS Ground Residential", + "content": "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AAFiCBAAABAgAgQAAASIIUAAABAghgABAAABYggQAAAEiNE4QAzDMAzDMAzDMASIYRiGYRiGYRgCxDAMwzAMwzAMQ4AYhmEYhmEYhiFADMMwDMMwDMMw/jdAAAAAio50JkAAAAABAgAACBAAAAABAgAACBAAAAABAgAACBAAAECAAAAACBAAAECAAAAACBAAAECAAAAAAoRXbAT/MX77myfXs3IfRu/nymVXrn/0PjxZ3qjlyngcV5Yx+7JRj2nGfcjYxla2n8rHonKbjFqf2a+B3V43Ml6rK99rop7jGa+Hu173std/9uv86H1buQ8IEASIABEgAkSACBABIkAEiAARIAgQASJABIgAESACRIAIEAGCAEGACBABIkAEiAARIAJEgAgQAYIAESACRIAIEAEiQASIABEgCBAEiAARIAJEgAgQASJABAgCBAEiQASIABEgAkSACBABIkAECAJEgAgQASJABIgAESACRIAgQBAgAkSACBABIkAEiAARIAJEgCBABIgAESACRIAIEAEiQAQIAgQBIkAEiAARIAJEgAgQAYIAQYAIEAEiQASIABEgAkSACBABggARIAJEgAgQASJABIgAESAIEASIABEgAkSACBABIkAEiAARIAgQASJABIgAESACRIAIEAGCAEGACBABIkAEiAARIAJEgCBAECACRIAIEAEiQASIABEgAsTcU4DYCASIABEgAkSACBABIkAECAIEASJABIgAESACRIAIEAEiQAQIAkSACBABIkAEiAARIAJEgCBAECACRIAIEAEiQASIABEgCBAEiAARIAJEgAgQASJABIgAQYAgQASIABEgAkSACBABIkAQIAgQASJABIgAESACRIAIEAEiQBAgAkSACBABIkAEiAARIAIEAYIAESACRIAIEAEiQASIABEgAgQBIkAEiAARIAJEgAgQASJAECAIEAEiQASIABEgAkSACBAECAJEgAgQASJABIgAESACRIAIEASIABEgAkSACBABIkAEiABBgCBABIgAESACRIAIEAEiQASIAEGACBABIkAEiAARIAJEgAgQBAgCRIAIEAEiQASIABEgAgQBggARIAJEgAgQASJABIgAESACBAEiQASIABEgAkSACBABIkAQIAgQASJABIgAESACRIAIEAEiQBAgAkSACBABIkAEiAARIAIEAYIAESACRIAIEAEiQASIAEGAIEAEiAARIAJEgAgQASJABIgAQYAIEAEiQASIABEgAkSACBAECAJEgAgQASJABIgAESACRIAIEASIABEgAkSACBABIkAEiABBgCBABIgAESACRIAIEAEiQBAgCBABIkAEiAARIAJEgAgQAWLu6YGyEQgQASJABIgAESACRIAIEAQIAkSACBABIkAEiAARIAJEgAgQBIgAESACRIAIEAEiQASIAEGAIEAEiAARIAJEgAgQASJAECAIEAEiQGLfmKJGxwCJmCQLEAEiQASIAEGAIEAEiAARIOEB8uftVU4wKh+fXQGyazs85b5FvdfsWp7M18PO21rE66MAQYAgQATINQHS6Y1WgAgQAbI2ORUgAkSAIEAQIAKkdYCcMgnM3oajJlQCRIB0CxEBIkAECAIEASJAWgTIaZPAjgHy7ZsTASJAOk9WBYgAESACBAEiQARIWYCcOAkUIAJk17cIp09a3xQgt0SIAEGAIEAEyFUBEvmGGHX9JwdI1k7E3SaZpwZI1YRtdRvInLjueoyinrMZl41+3YvefgQIAgQBIkCuCZCqiYQAESCd13/HAIlcXxHvNTcGyOprkwARIAIEASJABEjhRFSACBAB0mcbqDhPjQARIAJEgCBABIgAESACRIC8LECibluACBABggBBgAgQASJABIgAKYsQASJABAgCBAEiQASIABEgAkSACBABggBBgAgQASJA7g6QlXUhQPYFSMXzWoAIEAEiQBAgAkSACBABIkAEiAARIAIEAYIAESACRIAIEAEiQASIABEgAgQBIkAEiAARIMtHRRIgAkSACBABIkAQIAJEgAgQAfLaAMma/AsQASJABIgAQYAIEAEiQASIABEgAuRVAVL5+iBAECAIEAEiQBoHSOQ67BogqxEiQASIABEgAkSAIEAEiAA5LkAyJt4C5J4AyZz8CxABIkAEiABBgAgQASJABIgAESACRIAIEAQIAkSACJB3BUj0OrwtQEYmpwJEgAgQAYIAQYAIEAEiQATIEQGSPfkXIAKkKkC6vD4IEAQIAkSACJCGAZKxDgWIABEgAkSAIEAQIAJEgAgQAfJv/qGJBYgAESACBAGCABEgAiR8MiFA5n7WJUAEiAC5P0A6fUAhQBAgCBABcmSARLwxCRABIkAEiAARIAgQBIgAESAh+wIIEAEiQASIABEgCBAEiAARIKVBIkDGY02ACBABIkAECAIEASJArgyQ7EmnABEgAkSACBABggBBgAgQAVIWICuHaRUgewMka5kFyP4AmX2vESBrAdLtKHkCBAGCABEg2wKkKkI6BUj1pHdl2QWIABEgvQJk9wE9BAgCBAEiQK4IkC5vwgKkV4BEL7cAiQuQyAMgCBABIkDMPQWIjUCACJAtAdLhjbgiQHZMegWIAIkMkKplFyACRIAIEASIABEgZW9MAkSACJCeAVK57AJEgAgQAYIAESACpPSNSYAIkOhlFyBrz+XI7UuACBABggBBgAiQdgGy4805O0B2TXoFiACJeh2I2rYESMy2mPm+KUAQIAgQASJANkaIABEgNwXIbz9xy17nAsR5QAQIAgQBIkAEiAA5IkAyJp9vD5Dd25MAESACBAGCABEgAmTx9+rf1s/pE0YBIkCqtyUBIkAEiABBgAgQAdLqjSl7EiZA7g2Q6nh5S4Bkv9cIEAEiQAQIAkSACJDtAZI5GRMgvQIkYh0KkB7xIUD2Bci32xMgCBAEiAARIIOXzZpUrU5musdH5O/2Bci9AZL1Oi9ABIgAMfcUIDYCASJAjg2Q6ImZALkvQHbsP3LbmdAFiAARIAgQBIgAESCNA6Ryp+mI+9A5QCIm3gJEgAgQAYIAQYAIEAHSNkC+TXwEiAARIALktACJfK8XIAgQBIgAESAJkxYBck+A7DqErwARIAJEgCBAECACRIAIkKTnjgARIAJEgAgQBAgCRIC0DZDsT92jJmsCRIAIEAGSFQgCRICYewoQG4EAESACRIAIEAEiQASIAEGAIEAEyM0BkjXpjZiwvTFARg+DK0AEiAC5O0BGzwsjQBAgCBABIkAEiAARIAJEgAgQBAgCRIAIkLcGSFZQRE/UBYgAESACRIAgQBAgAkSAFAZI1mMhQASIABEgAkSAIEAQIAJEgAgQASJABIgAESAIEASIABEgZwXI6nV2CpDu26QAESACRIAIEAGCABEgAqRlgFROFAVI7TYpQASIABEgAkSAIEAEiABJe+M+PUCyg0KACBABIkAEiAARIAgQASJANgdI5b4Pu4MiI0Ay94WJ2iYFiAARILEBUrGPmABBgCBABMiVAVJ9/gsBIkAEiAARIAIEAYIAESACpEWARD5e1QGSeUJGASJABIgAESDmngLERiBABMi2AKlaD523GQGSf5SzrG3ylAD5baIpQASIAEGAIEAEyGsDJPLNLztAon/O1DVAor41eroubw2QlZ+0ZWzvpwRI5ra6M0Aynm+r67/qPEECBAGCABEgxwXIrslJ53NPnLa+d03kuq+jDtvfrQFySpCfuJwCBAGCABEgAkSACJBD19GbA+RNE3MBIkAQIAgQASJABIgAMYEVIAJEgCBAECACRIAIEAEiQASIABEgAkSAIEAEiAA5KECythkBclaAnDIpFCACRIAIEAGCABEgAiQpQLLfqCu3mextOGObzHocd2+TGQGS8RrY7XUj47W68r2m8ihY2e+J2Y9jh9cHAYIAQYAIkBYBkvlGLEAEiAARIAJEgCBAECACRIAIEAEiQASIABEgAsTc0wNlIxAgAkSACBABIkAEiAARIAgQBIgAESACRIAIEAEiQASIABEgCBABIkAEiAARIAJEgAgQAYIAQYAIEAEiQASIABEgAkSAIEAQIAJEgAgQASJABIgAESACBAGCABEgAkSACBABIkAEiABBgCBABIgAESACRIAIEAEiQASIAEGACBABIkAEiAARIAJEgAgQBAgCRIAIEAEiQASIABEgAkSACBAEiAARIAJEgAgQASJABIgAQYAgQASIABEgAkSACBABIkAQIAgQASJABIgAESACRIAIEAEiQBAgAkSACBABIkAEiAARIAIEAYIAESACRIAIEAEiQASIABEgAgQBIkAEiAARIAJEgAgQASJAECAIEAEiQASIABEgAkSACBAECAJEgAgQASJABIgAESACRIAIEASIABEgAkSACBABIkAEiABBgCBABIgAESACRIAIEAEiQASIAEGACBABIkAEiAARIAJEgAgQBAgCRIAIEAEiQASIABEgAgQBggARIAJEgAgQASJABIgAESACBAEiQASIABEgAkSACBABIkAQIAgQASJABIgAESACRIAIEAEiQBAgAkSACBABIkAEiAARIAIEAYIAESACRIAIEAEiQASIAEGAIEAEiAARIAJEgAgQASJABIgAQYAIEAEiQASIABEgAkSACBAECAJEgAgQASJABIgAESACRIAIEASIABEgAkSACBABIkAEiABBgCBABIgAESACRIAIEAEiQBAgCBABIkAEiAARIAJEgAgQAWLuKUAQIAJEgAgQASJABIgAESAIEASIABEgAkSACBABIkAEiAARIAgQASJABIgAESACRIAIEAGCAEGACBABIkAEiAARIAJEgJjXChAEiAARIAJEgAgQASJABIgAQYAgQASIABEgAkSACBABIkAQIAgQASJABIgAESACRIAIEAEiQBAgAkSACBABIkAEiAARIAIEAYIAESACRIAIEAEiQASIABEgAgQBIkAEiAARIAJEgAgQASJAECAIEAEiQASIABEgAkSACBAECAJEgAgQASJABIgAESACRIAIEASIABEgAkSACBABIkAEiABBgCBABIgAESACRIAIEAEiQASIAEGACBABIkAEiAARIAJEgAgQBAgCRIAIEAEiQASIABEgAgQBggARIAJEgAgQASJABIgAESACBAEiQASIABEgAkSACBABIkAQIAgQASJABIgAESACRIAIEAEiQBAgAkSACBABIkAEiAARIAIEAYIAESACRIAIEAEiQASIAEGAIEAEiAARIAJEgAgQASJABIgAQYAIEAEiQASIABEgAkSACBAECAJEgAgQASJABIgAESACRIAIEASIABEgAkSACBABIkAEiABBgCBABIgAESACRIAIEAEiQBAgCBABIkAEiAARIAJEgAgQAWLuKUBsBAJEgAgQASJABIgAESACBAGCABEgAkSACBABIkAEiAARIAIEASJABIgAESACRIAIEAEiQBAgCBABIkAEiAARIAJEgAgQBAgCRIAIEAEiQASIABEgAkSAIEAQIAJEgAgQASJABIgAESAIEASIABEgAkSACBABIkAEiAARIAgQASJABIgAESACRIAIEAGCAEGACBABIkAEiAARIAJEgAgQAYIAESACRIAIEAEiQASIABEgCBAEiAARIAJEgAgQASJABAgCBAEiQASIABEgAkSACBABIkAECAJEgAgQASJABIgAESACRIAgQBAgAkSACBABIkAEiAARIAJEgCBABIgAESACRIAIEAEiQAQIAgQBIkAEiAARIAJEgAgQAYIAQYAIEAEiQASIABEgAkSACBABggARIAJEgAgQASJABIgAESAIEASIABEgAkSACBABIkAEiAARIAgQASJABIgAESACRIAIEAGCAEGACBABIkAEiAARIAJEgCBAECACRIAIEAEiQASIABEgAkSAIEAEiAARIAJEgAgQASJABAgCBAEiQASIABEgAkSACBABIkAECAJEgAgQASJABIgAESACRIAgQBAgAkSACBABIkAE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" + } + ] + } + ] + } } } - } ] } }, @@ -355,10 +355,6 @@ "$ref": "#/definitions/GetShippingLabelListResponse" }, "headers": { - "x-amzn-RateLimit-Limit": { - "type": "string", - "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." - }, "x-amzn-RequestId": { "type": "string", "description": "Unique request reference identifier." @@ -371,10 +367,6 @@ "$ref": "#/definitions/GetShippingLabelListResponse" }, "headers": { - "x-amzn-RateLimit-Limit": { - "type": "string", - "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." - }, "x-amzn-RequestId": { "type": "string", "description": "Unique request reference identifier." @@ -387,10 +379,6 @@ "$ref": "#/definitions/GetShippingLabelListResponse" }, "headers": { - "x-amzn-RateLimit-Limit": { - "type": "string", - "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." - }, "x-amzn-RequestId": { "type": "string", "description": "Unique request reference identifier." @@ -403,10 +391,6 @@ "$ref": "#/definitions/GetShippingLabelListResponse" }, "headers": { - "x-amzn-RateLimit-Limit": { - "type": "string", - "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." - }, "x-amzn-RequestId": { "type": "string", "description": "Unique request reference identifier." @@ -419,7 +403,7 @@ "tags": [ "vendorShippingLabels" ], - "description": "Creates a shipping label for a purchase order and returns a transactionId for reference.\n\n**Usage Plan:**\n\n| Rate (requests per second) | Burst |\n| ---- | ---- |\n| 10 | 10 |\n\nThe `x-amzn-RateLimit-Limit` response header returns the usage plan rate limits that were applied to the requested operation, when available. The table above indicates the default rate and burst values for this operation. Selling partners whose business demands require higher throughput may see higher rate and burst values than those shown here. For more information, see [Usage Plans and Rate Limits in the Selling Partner API](https://developer-docs.amazon.com/sp-api/docs/usage-plans-and-rate-limits-in-the-sp-api).", + "description": "Creates a shipping label for a purchase order and returns a `transactionId` for reference.\n\n**Usage Plan:**\n\n| Rate (requests per second) | Burst |\n| ---- | ---- |\n| 10 | 10 |\n\nThe `x-amzn-RateLimit-Limit` response header returns the usage plan rate limits that were applied to the requested operation, when available. The table above indicates the default rate and burst values for this operation. Selling partners whose business demands require higher throughput may see higher rate and burst values than those shown here. For more information, refer to [Usage Plans and Rate Limits in the Selling Partner API](https://developer-docs.amazon.com/sp-api/docs/usage-plans-and-rate-limits-in-the-sp-api).", "operationId": "submitShippingLabelRequest", "parameters": [ { @@ -428,7 +412,8 @@ "required": true, "schema": { "$ref": "#/definitions/SubmitShippingLabelsRequest" - } + }, + "description": "Request body containing one or more shipping labels data." } ], "responses": { @@ -469,159 +454,159 @@ "containerIdentifier": "123", "trackingNumber": "XXXX", "dimensions": { - "length": "12", - "width": "12", - "height": "12", - "unitOfMeasure": "IN" - }, - "weight": { - "unitOfMeasure": "KG", - "value": "10" - }, - "packedItems": [ - { - "itemSequenceNumber": 1, - "buyerProductIdentifier": "B07DFVDRAB", - "packedQuantity": { - "amount": 1, - "unitOfMeasure": "Each" + "length": "12", + "width": "12", + "height": "12", + "unitOfMeasure": "IN" + }, + "weight": { + "unitOfMeasure": "KG", + "value": "10" + }, + "packedItems": [ + { + "itemSequenceNumber": 1, + "buyerProductIdentifier": "B07DFVDRAB", + "packedQuantity": { + "amount": 1, + "unitOfMeasure": "Each" + } } - } - ] - } - ] - } - ] + ] + } + ] + } + ] + } } } + }, + "response": { + "payload": { + "transactionId": "20190905010908-8a3b6901-ef20-412f-9270-21c021796605" + } } }, - "response": { - "payload": { - "transactionId": "20190905010908-8a3b6901-ef20-412f-9270-21c021796605" - } - } - }, - { - "request": { - "parameters": { - "body": { - "value": { - "shippingLabelRequests": [ - { - "purchaseOrderNumber": "2JK3S9VC", - "sellingParty": { - "partyId": "999US" - }, - "shipFromParty": { - "partyId": "ABCD" + { + "request": { + "parameters": { + "body": { + "value": { + "shippingLabelRequests": [ + { + "purchaseOrderNumber": "2JK3S9VC", + "sellingParty": { + "partyId": "999US" + }, + "shipFromParty": { + "partyId": "ABCD" + } } - } - ] + ] + } } } + }, + "response": { + "payload": { + "transactionId": "20190905010908-8a3b6901-ef20-412f-9270-21c021796605" + } } }, - "response": { - "payload": { - "transactionId": "20190905010908-8a3b6901-ef20-412f-9270-21c021796605" - } - } - }, - { - "request": { - "parameters": { - "body": { - "value": { - "shippingLabelRequests": [ - { - "purchaseOrderNumber": "2JK3S9VC", - "sellingParty": { - "partyId": "999US" - }, - "shipFromParty": { - "partyId": "ABCD" - }, - "containers": [ - { - "containerType": "carton", - "containerIdentifier": "123", - "trackingNumber": "XXXX", - "dimensions": { - "length": "12", - "width": "12", - "height": "12", - "unitOfMeasure": "IN" - }, - "weight": { - "unitOfMeasure": "KG", - "value": "10" - }, - "packedItems": [ - { - "itemSequenceNumber": 1, - "buyerProductIdentifier": "B07DFVDRAA", - "packedQuantity": { - "amount": 1, - "unitOfMeasure": "Each" - } + { + "request": { + "parameters": { + "body": { + "value": { + "shippingLabelRequests": [ + { + "purchaseOrderNumber": "2JK3S9VC", + "sellingParty": { + "partyId": "999US" + }, + "shipFromParty": { + "partyId": "ABCD" + }, + "containers": [ + { + "containerType": "carton", + "containerIdentifier": "123", + "trackingNumber": "XXXX", + "dimensions": { + "length": "12", + "width": "12", + "height": "12", + "unitOfMeasure": "IN" }, - { - "itemSequenceNumber": 2, - "buyerProductIdentifier": "B07DFVDRAB", - "packedQuantity": { - "amount": 1, - "unitOfMeasure": "Each" + "weight": { + "unitOfMeasure": "KG", + "value": "10" + }, + "packedItems": [ + { + "itemSequenceNumber": 1, + "buyerProductIdentifier": "B07DFVDRAA", + "packedQuantity": { + "amount": 1, + "unitOfMeasure": "Each" + } + }, + { + "itemSequenceNumber": 2, + "buyerProductIdentifier": "B07DFVDRAB", + "packedQuantity": { + "amount": 1, + "unitOfMeasure": "Each" + } } - } - ] - }, - { - "containerType": "carton", - "containerIdentifier": "1234", - "trackingNumber": "XXXX", - "dimensions": { - "length": "12", - "width": "12", - "height": "12", - "unitOfMeasure": "IN" - }, - "weight": { - "unitOfMeasure": "KG", - "value": "10" + ] }, - "packedItems": [ - { - "itemSequenceNumber": 3, - "buyerProductIdentifier": "B07DFVDRAC", - "packedQuantity": { - "amount": 1, - "unitOfMeasure": "Each" - } + { + "containerType": "carton", + "containerIdentifier": "1234", + "trackingNumber": "XXXX", + "dimensions": { + "length": "12", + "width": "12", + "height": "12", + "unitOfMeasure": "IN" }, - { - "itemSequenceNumber": 4, - "buyerProductIdentifier": "B07DFVDRAD", - "packedQuantity": { - "amount": 1, - "unitOfMeasure": "Each" + "weight": { + "unitOfMeasure": "KG", + "value": "10" + }, + "packedItems": [ + { + "itemSequenceNumber": 3, + "buyerProductIdentifier": "B07DFVDRAC", + "packedQuantity": { + "amount": 1, + "unitOfMeasure": "Each" + } + }, + { + "itemSequenceNumber": 4, + "buyerProductIdentifier": "B07DFVDRAD", + "packedQuantity": { + "amount": 1, + "unitOfMeasure": "Each" + } } - } - ] - } - ] - } - ] + ] + } + ] + } + ] + } } } - } - }, - "response": { - "payload": { - "transactionId": "20190905010908-8a3b6901-ef20-412f-9270-21c021796605" + }, + "response": { + "payload": { + "transactionId": "20190905010908-8a3b6901-ef20-412f-9270-21c021796605" + } } } - } ] } }, @@ -702,10 +687,6 @@ "$ref": "#/definitions/SubmitShippingLabelsResponse" }, "headers": { - "x-amzn-RateLimit-Limit": { - "type": "string", - "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." - }, "x-amzn-RequestId": { "type": "string", "description": "Unique request reference identifier." @@ -718,10 +699,6 @@ "$ref": "#/definitions/SubmitShippingLabelsResponse" }, "headers": { - "x-amzn-RateLimit-Limit": { - "type": "string", - "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." - }, "x-amzn-RequestId": { "type": "string", "description": "Unique request reference identifier." @@ -734,10 +711,6 @@ "$ref": "#/definitions/SubmitShippingLabelsResponse" }, "headers": { - "x-amzn-RateLimit-Limit": { - "type": "string", - "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." - }, "x-amzn-RequestId": { "type": "string", "description": "Unique request reference identifier." @@ -750,10 +723,6 @@ "$ref": "#/definitions/SubmitShippingLabelsResponse" }, "headers": { - "x-amzn-RateLimit-Limit": { - "type": "string", - "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." - }, "x-amzn-RequestId": { "type": "string", "description": "Unique request reference identifier." @@ -766,10 +735,6 @@ "$ref": "#/definitions/SubmitShippingLabelsResponse" }, "headers": { - "x-amzn-RateLimit-Limit": { - "type": "string", - "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." - }, "x-amzn-RequestId": { "type": "string", "description": "Unique request reference identifier." @@ -784,13 +749,13 @@ "tags": [ "vendorShippingLabels" ], - "description": "Returns a shipping label for the purchaseOrderNumber that you specify.\n\n**Usage Plan:**\n\n| Rate (requests per second) | Burst |\n| ---- | ---- |\n| 10 | 10 |\n\nThe `x-amzn-RateLimit-Limit` response header returns the usage plan rate limits that were applied to the requested operation, when available. The table above indicates the default rate and burst values for this operation. Selling partners whose business demands require higher throughput may see higher rate and burst values than those shown here. For more information, see [Usage Plans and Rate Limits in the Selling Partner API](https://developer-docs.amazon.com/sp-api/docs/usage-plans-and-rate-limits-in-the-sp-api).", + "description": "Returns a shipping label for the `purchaseOrderNumber` that you specify.\n\n**Usage Plan:**\n\n| Rate (requests per second) | Burst |\n| ---- | ---- |\n| 10 | 10 |\n\nThe `x-amzn-RateLimit-Limit` response header returns the usage plan rate limits that were applied to the requested operation, when available. The table above indicates the default rate and burst values for this operation. Selling partners whose business demands require higher throughput may see higher rate and burst values than those shown here. For more information, refer to [Usage Plans and Rate Limits in the Selling Partner API](https://developer-docs.amazon.com/sp-api/docs/usage-plans-and-rate-limits-in-the-sp-api).", "operationId": "getShippingLabel", "parameters": [ { "name": "purchaseOrderNumber", "in": "path", - "description": "The purchase order number for which you want to return the shipping label. It should be the same purchaseOrderNumber as received in the order.", + "description": "The purchase order number for which you want to return the shipping label. It should be the same `purchaseOrderNumber` as received in the order.", "required": true, "type": "string", "pattern": "^[a-zA-Z0-9]+$" @@ -857,42 +822,42 @@ "labelFormat": "PNG", "labelData": [ { - "packageIdentifier": "PKG001", - "trackingNumber": "1Z6A34Y60369738804", - "shipMethod": "UPS_GR_RES", - "shipMethodName": "UPS Ground Residential", - "content": "Base 64 encoded string goes here " - } - ] + "packageIdentifier": "PKG001", + "trackingNumber": "1Z6A34Y60369738804", + "shipMethod": "UPS_GR_RES", + "shipMethodName": "UPS Ground Residential", + "content": "Base 64 encoded string goes here " + } + ] + } } - } - }, - { - "request": { - "parameters": {} }, - "response": { - "payload": { - "purchaseOrderNumber": "mockpurchaseOrderNumber", - "sellingParty": { - "partyId": "999US" - }, - "shipFromParty": { - "partyId": "ABCD" - }, - "labelFormat": "PNG", - "labelData": [ - { - "packageIdentifier": "PKG001", - "trackingNumber": "1Z6A34Y60369738804", - "shipMethod": "UPS_GR_RES", - "shipMethodName": "UPS Ground Residential", - "content": "Base 64 encoded string goes here" - } - ] + { + "request": { + "parameters": {} + }, + "response": { + "payload": { + "purchaseOrderNumber": "mockpurchaseOrderNumber", + "sellingParty": { + "partyId": "999US" + }, + "shipFromParty": { + "partyId": "ABCD" + }, + "labelFormat": "PNG", + "labelData": [ + { + "packageIdentifier": "PKG001", + "trackingNumber": "1Z6A34Y60369738804", + "shipMethod": "UPS_GR_RES", + "shipMethodName": "UPS Ground Residential", + "content": "Base 64 encoded string goes here" + } + ] + } } } - } ] } }, @@ -935,15 +900,11 @@ } }, "401": { - "description": "The request's Authorization header is not formatted correctly or does not contain a valid token.", + "description": "The request's authorization header is not formatted correctly or does not contain a valid token.", "schema": { "$ref": "#/definitions/GetShippingLabelResponse" }, "headers": { - "x-amzn-RateLimit-Limit": { - "type": "string", - "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." - }, "x-amzn-RequestId": { "type": "string", "description": "Unique request reference identifier." @@ -984,10 +945,6 @@ "$ref": "#/definitions/GetShippingLabelResponse" }, "headers": { - "x-amzn-RateLimit-Limit": { - "type": "string", - "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." - }, "x-amzn-RequestId": { "type": "string", "description": "Unique request reference identifier." @@ -1000,10 +957,6 @@ "$ref": "#/definitions/GetShippingLabelResponse" }, "headers": { - "x-amzn-RateLimit-Limit": { - "type": "string", - "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." - }, "x-amzn-RequestId": { "type": "string", "description": "Unique request reference identifier." @@ -1016,10 +969,6 @@ "$ref": "#/definitions/GetShippingLabelResponse" }, "headers": { - "x-amzn-RateLimit-Limit": { - "type": "string", - "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." - }, "x-amzn-RequestId": { "type": "string", "description": "Unique request reference identifier." @@ -1032,10 +981,6 @@ "$ref": "#/definitions/GetShippingLabelResponse" }, "headers": { - "x-amzn-RateLimit-Limit": { - "type": "string", - "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." - }, "x-amzn-RequestId": { "type": "string", "description": "Unique request reference identifier." @@ -1050,7 +995,7 @@ "tags": [ "vendorShipping" ], - "description": "Submits one or more shipment confirmations for vendor orders.\n\n**Usage Plan:**\n\n| Rate (requests per second) | Burst |\n| ---- | ---- |\n| 10 | 10 |\n\nThe `x-amzn-RateLimit-Limit` response header returns the usage plan rate limits that were applied to the requested operation, when available. The table above indicates the default rate and burst values for this operation. Selling partners whose business demands require higher throughput may see higher rate and burst values than those shown here. For more information, see [Usage Plans and Rate Limits in the Selling Partner API](https://developer-docs.amazon.com/sp-api/docs/usage-plans-and-rate-limits-in-the-sp-api).", + "description": "Submits one or more shipment confirmations for vendor orders.\n\n**Usage Plan:**\n\n| Rate (requests per second) | Burst |\n| ---- | ---- |\n| 10 | 10 |\n\nThe `x-amzn-RateLimit-Limit` response header returns the usage plan rate limits that were applied to the requested operation, when available. The table above indicates the default rate and burst values for this operation. Selling partners whose business demands require higher throughput may see higher rate and burst values than those shown here. For more information, refer to [Usage Plans and Rate Limits in the Selling Partner API](https://developer-docs.amazon.com/sp-api/docs/usage-plans-and-rate-limits-in-the-sp-api).", "operationId": "submitShipmentConfirmations", "parameters": [ { @@ -1059,7 +1004,8 @@ "required": true, "schema": { "$ref": "#/definitions/SubmitShipmentConfirmationsRequest" - } + }, + "description": "Request body containing the shipment confirmations data." } ], "responses": { @@ -1100,182 +1046,182 @@ "shipFromParty": { "partyId": "VENDORWAREHOUSECODE" }, - "items": [ - { - "itemSequenceNumber": 1, - "buyerProductIdentifier": "ASIN001", - "vendorProductIdentifier": "9782700001659", - "shippedQuantity": { - "amount": 100, - "unitOfMeasure": "Each" - } - }, - { - "itemSequenceNumber": 2, - "buyerProductIdentifier": "ASIN002", - "vendorProductIdentifier": "9782700001659", - "shippedQuantity": { - "amount": 100, - "unitOfMeasure": "Each" - } - }, - { - "itemSequenceNumber": 3, - "buyerProductIdentifier": "ASIN003", - "vendorProductIdentifier": "9782700001659", - "shippedQuantity": { - "amount": 100, - "unitOfMeasure": "Each" - } - }, - { - "itemSequenceNumber": 4, - "buyerProductIdentifier": "ASIN004", - "vendorProductIdentifier": "9782700001659", - "shippedQuantity": { - "amount": 100, - "unitOfMeasure": "Each" - } - } - ], - "containers": [ - { - "containerType": "carton", - "containerIdentifier": "123", - "trackingNumber": "TRACK001", - "scacCode": "SCAC001", - "carrier": "ABCD001", - "shipMethod": "UPS", - "dimensions": { - "length": "10", - "width": "10", - "height": "10", - "unitOfMeasure": "IN" - }, - "weight": { - "unitOfMeasure": "KG", - "value": "10" - }, - "packedItems": [ - { - "itemSequenceNumber": 1, - "buyerProductIdentifier": "ASIN001", - "packedQuantity": { - "amount": 100, - "unitOfMeasure": "Each" - } + "items": [ + { + "itemSequenceNumber": 1, + "buyerProductIdentifier": "ASIN001", + "vendorProductIdentifier": "9782700001659", + "shippedQuantity": { + "amount": 100, + "unitOfMeasure": "Each" } - ] - }, - { - "containerType": "carton", - "containerIdentifier": "234", - "trackingNumber": "TRACK002", - "scacCode": "SCAC001", - "carrier": "ABCD001", - "shipMethod": "UPS", - "dimensions": { - "length": "10", - "width": "10", - "height": "10", - "unitOfMeasure": "IN" }, - "weight": { - "unitOfMeasure": "KG", - "value": "10" + { + "itemSequenceNumber": 2, + "buyerProductIdentifier": "ASIN002", + "vendorProductIdentifier": "9782700001659", + "shippedQuantity": { + "amount": 100, + "unitOfMeasure": "Each" + } }, - "packedItems": [ - { - "itemSequenceNumber": 2, - "buyerProductIdentifier": "ASIN002", - "packedQuantity": { - "amount": 100, - "unitOfMeasure": "Each" - } + { + "itemSequenceNumber": 3, + "buyerProductIdentifier": "ASIN003", + "vendorProductIdentifier": "9782700001659", + "shippedQuantity": { + "amount": 100, + "unitOfMeasure": "Each" } - ] - }, - { - "containerType": "carton", - "containerIdentifier": "ABCD", - "trackingNumber": "TRACK003", - "scacCode": "SCAC001", - "carrier": "ABCD001", - "shipMethod": "UPS", - "dimensions": { - "length": "10", - "width": "10", - "height": "10", - "unitOfMeasure": "IN" }, - "weight": { - "unitOfMeasure": "KG", - "value": "10" + { + "itemSequenceNumber": 4, + "buyerProductIdentifier": "ASIN004", + "vendorProductIdentifier": "9782700001659", + "shippedQuantity": { + "amount": 100, + "unitOfMeasure": "Each" + } + } + ], + "containers": [ + { + "containerType": "carton", + "containerIdentifier": "123", + "trackingNumber": "TRACK001", + "scacCode": "SCAC001", + "carrier": "ABCD001", + "shipMethod": "UPS", + "dimensions": { + "length": "10", + "width": "10", + "height": "10", + "unitOfMeasure": "IN" + }, + "weight": { + "unitOfMeasure": "KG", + "value": "10" + }, + "packedItems": [ + { + "itemSequenceNumber": 1, + "buyerProductIdentifier": "ASIN001", + "packedQuantity": { + "amount": 100, + "unitOfMeasure": "Each" + } + } + ] }, - "packedItems": [ - { - "itemSequenceNumber": 3, - "buyerProductIdentifier": "ASIN003", - "packedQuantity": { - "amount": 100, - "unitOfMeasure": "Each" + { + "containerType": "carton", + "containerIdentifier": "234", + "trackingNumber": "TRACK002", + "scacCode": "SCAC001", + "carrier": "ABCD001", + "shipMethod": "UPS", + "dimensions": { + "length": "10", + "width": "10", + "height": "10", + "unitOfMeasure": "IN" + }, + "weight": { + "unitOfMeasure": "KG", + "value": "10" + }, + "packedItems": [ + { + "itemSequenceNumber": 2, + "buyerProductIdentifier": "ASIN002", + "packedQuantity": { + "amount": 100, + "unitOfMeasure": "Each" + } } - } - ] - }, - { - "containerType": "carton", - "containerIdentifier": "id12", - "trackingNumber": "TRACK004", - "scacCode": "SCAC001", - "carrier": "ABCD001", - "shipMethod": "UPS", - "dimensions": { - "length": "10", - "width": "10", - "height": "10", - "unitOfMeasure": "IN" + ] }, - "weight": { - "unitOfMeasure": "KG", - "value": "10" + { + "containerType": "carton", + "containerIdentifier": "ABCD", + "trackingNumber": "TRACK003", + "scacCode": "SCAC001", + "carrier": "ABCD001", + "shipMethod": "UPS", + "dimensions": { + "length": "10", + "width": "10", + "height": "10", + "unitOfMeasure": "IN" + }, + "weight": { + "unitOfMeasure": "KG", + "value": "10" + }, + "packedItems": [ + { + "itemSequenceNumber": 3, + "buyerProductIdentifier": "ASIN003", + "packedQuantity": { + "amount": 100, + "unitOfMeasure": "Each" + } + } + ] }, - "packedItems": [ - { - "itemSequenceNumber": 4, - "buyerProductIdentifier": "ASIN004", - "packedQuantity": { - "amount": 100, - "unitOfMeasure": "Each" + { + "containerType": "carton", + "containerIdentifier": "id12", + "trackingNumber": "TRACK004", + "scacCode": "SCAC001", + "carrier": "ABCD001", + "shipMethod": "UPS", + "dimensions": { + "length": "10", + "width": "10", + "height": "10", + "unitOfMeasure": "IN" + }, + "weight": { + "unitOfMeasure": "KG", + "value": "10" + }, + "packedItems": [ + { + "itemSequenceNumber": 4, + "buyerProductIdentifier": "ASIN004", + "packedQuantity": { + "amount": 100, + "unitOfMeasure": "Each" + } } - } - ] - } - ] - } - ] + ] + } + ] + } + ] + } } } + }, + "response": { + "payload": { + "transactionId": "20190905010908-8a3b6901-ef20-412f-9270-21c021796605" + } } }, - "response": { - "payload": { - "transactionId": "20190905010908-8a3b6901-ef20-412f-9270-21c021796605" - } - } - }, - { - "request": { - "parameters": { - "body": {} - } - }, - "response": { - "payload": { - "transactionId": "mock-TransactionId-20190905010908-8a3b6901-ef20-412f-9270-21c021796605" + { + "request": { + "parameters": { + "body": {} + } + }, + "response": { + "payload": { + "transactionId": "mock-TransactionId-20190905010908-8a3b6901-ef20-412f-9270-21c021796605" + } } } - } ] } }, @@ -1357,10 +1303,6 @@ "$ref": "#/definitions/SubmitShipmentConfirmationsResponse" }, "headers": { - "x-amzn-RateLimit-Limit": { - "type": "string", - "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." - }, "x-amzn-RequestId": { "type": "string", "description": "Unique request reference identifier." @@ -1373,10 +1315,6 @@ "$ref": "#/definitions/SubmitShipmentConfirmationsResponse" }, "headers": { - "x-amzn-RateLimit-Limit": { - "type": "string", - "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." - }, "x-amzn-RequestId": { "type": "string", "description": "Unique request reference identifier." @@ -1389,10 +1327,6 @@ "$ref": "#/definitions/SubmitShipmentConfirmationsResponse" }, "headers": { - "x-amzn-RateLimit-Limit": { - "type": "string", - "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." - }, "x-amzn-RequestId": { "type": "string", "description": "Unique request reference identifier." @@ -1405,10 +1339,6 @@ "$ref": "#/definitions/SubmitShipmentConfirmationsResponse" }, "headers": { - "x-amzn-RateLimit-Limit": { - "type": "string", - "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." - }, "x-amzn-RequestId": { "type": "string", "description": "Unique request reference identifier." @@ -1421,10 +1351,6 @@ "$ref": "#/definitions/SubmitShipmentConfirmationsResponse" }, "headers": { - "x-amzn-RateLimit-Limit": { - "type": "string", - "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." - }, "x-amzn-RequestId": { "type": "string", "description": "Unique request reference identifier." @@ -1439,7 +1365,7 @@ "tags": [ "vendorShipping" ], - "description": "This API call is only to be used by Vendor-Own-Carrier (VOC) vendors. Calling this API will submit a shipment status update for the package that a vendor has shipped. It will provide the Amazon customer visibility on their order, when the package is outside of Amazon Network visibility.\n\n**Usage Plan:**\n\n| Rate (requests per second) | Burst |\n| ---- | ---- |\n| 10 | 10 |\n\nThe `x-amzn-RateLimit-Limit` response header returns the usage plan rate limits that were applied to the requested operation, when available. The table above indicates the default rate and burst values for this operation. Selling partners whose business demands require higher throughput may see higher rate and burst values than those shown here. For more information, see [Usage Plans and Rate Limits in the Selling Partner API](https://developer-docs.amazon.com/sp-api/docs/usage-plans-and-rate-limits-in-the-sp-api).", + "description": "This API call is only to be used by Vendor-Own-Carrier (VOC) vendors. Calling this API will submit a shipment status update for the package that a vendor has shipped. It will provide the Amazon customer visibility on their order, when the package is outside of Amazon Network visibility.\n\n**Usage Plan:**\n\n| Rate (requests per second) | Burst |\n| ---- | ---- |\n| 10 | 10 |\n\nThe `x-amzn-RateLimit-Limit` response header returns the usage plan rate limits that were applied to the requested operation, when available. The table above indicates the default rate and burst values for this operation. Selling partners whose business demands require higher throughput may see higher rate and burst values than those shown here. For more information, refer to [Usage Plans and Rate Limits in the Selling Partner API](https://developer-docs.amazon.com/sp-api/docs/usage-plans-and-rate-limits-in-the-sp-api).", "operationId": "submitShipmentStatusUpdates", "parameters": [ { @@ -1448,7 +1374,8 @@ "required": true, "schema": { "$ref": "#/definitions/SubmitShipmentStatusUpdatesRequest" - } + }, + "description": "Request body containing the shipment status update data." } ], "responses": { @@ -1489,41 +1416,41 @@ "reasonCode": "NS", "statusDateTime": "2020-08-07T19:56:45.632Z", "statusLocationAddress": { - "city": "Berlin", - "postalCode": "10115", - "stateOrRegion": "Berlin", - "countryCode": "DE" - }, - "shipmentSchedule": { - "estimatedDeliveryDateTime": "2020-08-07T19:56:45.632Z", - "apptWindowStartDateTime": "2020-08-07T19:56:45.632Z", - "apptWindowEndDateTime": "2020-08-07T19:56:45.632Z" + "city": "Berlin", + "postalCode": "10115", + "stateOrRegion": "Berlin", + "countryCode": "DE" + }, + "shipmentSchedule": { + "estimatedDeliveryDateTime": "2020-08-07T19:56:45.632Z", + "apptWindowStartDateTime": "2020-08-07T19:56:45.632Z", + "apptWindowEndDateTime": "2020-08-07T19:56:45.632Z" + } } } - } - ] + ] + } } } + }, + "response": { + "payload": { + "transactionId": "20190905010908-8a3b6901-ef20-412f-9270-21c021796605" + } } }, - "response": { - "payload": { - "transactionId": "20190905010908-8a3b6901-ef20-412f-9270-21c021796605" - } - } - }, - { - "request": { - "parameters": { - "body": {} - } - }, - "response": { - "payload": { - "transactionId": "mock-TransactionId-20190905010908-8a3b6901-ef20-412f-9270-21c021796605" + { + "request": { + "parameters": { + "body": {} + } + }, + "response": { + "payload": { + "transactionId": "mock-TransactionId-20190905010908-8a3b6901-ef20-412f-9270-21c021796605" + } } } - } ] } }, @@ -1605,10 +1532,6 @@ "$ref": "#/definitions/SubmitShipmentStatusUpdatesResponse" }, "headers": { - "x-amzn-RateLimit-Limit": { - "type": "string", - "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." - }, "x-amzn-RequestId": { "type": "string", "description": "Unique request reference identifier." @@ -1621,10 +1544,6 @@ "$ref": "#/definitions/SubmitShipmentStatusUpdatesResponse" }, "headers": { - "x-amzn-RateLimit-Limit": { - "type": "string", - "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." - }, "x-amzn-RequestId": { "type": "string", "description": "Unique request reference identifier." @@ -1637,10 +1556,6 @@ "$ref": "#/definitions/SubmitShipmentStatusUpdatesResponse" }, "headers": { - "x-amzn-RateLimit-Limit": { - "type": "string", - "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." - }, "x-amzn-RequestId": { "type": "string", "description": "Unique request reference identifier." @@ -1653,10 +1568,6 @@ "$ref": "#/definitions/SubmitShipmentStatusUpdatesResponse" }, "headers": { - "x-amzn-RateLimit-Limit": { - "type": "string", - "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." - }, "x-amzn-RequestId": { "type": "string", "description": "Unique request reference identifier." @@ -1669,10 +1580,6 @@ "$ref": "#/definitions/SubmitShipmentStatusUpdatesResponse" }, "headers": { - "x-amzn-RateLimit-Limit": { - "type": "string", - "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." - }, "x-amzn-RequestId": { "type": "string", "description": "Unique request reference identifier." @@ -1687,13 +1594,13 @@ "tags": [ "customerInvoices" ], - "description": "Returns a list of customer invoices created during a time frame that you specify. You define the time frame using the createdAfter and createdBefore parameters. You must use both of these parameters. The date range to search must be no more than 7 days.\n\n**Usage Plan:**\n\n| Rate (requests per second) | Burst |\n| ---- | ---- |\n| 10 | 10 |\n\nThe `x-amzn-RateLimit-Limit` response header returns the usage plan rate limits that were applied to the requested operation, when available. The table above indicates the default rate and burst values for this operation. Selling partners whose business demands require higher throughput may see higher rate and burst values than those shown here. For more information, see [Usage Plans and Rate Limits in the Selling Partner API](https://developer-docs.amazon.com/sp-api/docs/usage-plans-and-rate-limits-in-the-sp-api).", + "description": "Returns a list of customer invoices created during a time frame that you specify. You define the time frame using the `createdAfter` and `createdBefore` parameters. You must use both of these parameters. The date range to search must be no more than 7 days.\n\n**Usage Plan:**\n\n| Rate (requests per second) | Burst |\n| ---- | ---- |\n| 10 | 10 |\n\nThe `x-amzn-RateLimit-Limit` response header returns the usage plan rate limits that were applied to the requested operation, when available. The table above indicates the default rate and burst values for this operation. Selling partners whose business demands require higher throughput may see higher rate and burst values than those shown here. For more information, refer to [Usage Plans and Rate Limits in the Selling Partner API](https://developer-docs.amazon.com/sp-api/docs/usage-plans-and-rate-limits-in-the-sp-api).", "operationId": "getCustomerInvoices", "parameters": [ { "name": "shipFromPartyId", "in": "query", - "description": "The vendor warehouseId for order fulfillment. If not specified, the result will contain orders for all warehouses.", + "description": "The vendor `warehouseId` for order fulfillment. If not specified, the result will contain orders for all warehouses.", "required": false, "type": "string" }, @@ -1709,7 +1616,7 @@ { "name": "createdAfter", "in": "query", - "description": "Orders that became available after this date and time will be included in the result. Must be in ISO-8601 date/time format.", + "description": "Orders that became available after this date and time will be included in the result. Must be in ISO 8601 date/time format.", "required": true, "type": "string", "format": "date-time" @@ -1717,7 +1624,7 @@ { "name": "createdBefore", "in": "query", - "description": "Orders that became available before this date and time will be included in the result. Must be in ISO-8601 date/time format.", + "description": "Orders that became available before this date and time will be included in the result. Must be in ISO 8601 date/time format.", "required": true, "type": "string", "format": "date-time" @@ -1802,35 +1709,35 @@ "response": { "payload": { "pagination": { - "nextToken": "MDAwMDAwMDAwMQ==" - }, - "customerInvoices": [ - { - "purchaseOrderNumber": "PO98676856", - "content": "base 64 content goes here" - } - ] + "nextToken": "MDAwMDAwMDAwMQ==" + }, + "customerInvoices": [ + { + "purchaseOrderNumber": "PO98676856", + "content": "base 64 content goes here" + } + ] + } } - } - }, - { - "request": { - "parameters": {} }, - "response": { - "payload": { - "pagination": { - "nextToken": "MDAwMDAwMDAwMQ==" - }, - "customerInvoices": [ - { - "purchaseOrderNumber": "mockpurchaseOrderNumber", - "content": "base 64 content goes here" - } - ] + { + "request": { + "parameters": {} + }, + "response": { + "payload": { + "pagination": { + "nextToken": "MDAwMDAwMDAwMQ==" + }, + "customerInvoices": [ + { + "purchaseOrderNumber": "mockpurchaseOrderNumber", + "content": "base 64 content goes here" + } + ] + } } } - } ] } }, @@ -1941,10 +1848,6 @@ "$ref": "#/definitions/GetCustomerInvoiceResponse" }, "headers": { - "x-amzn-RateLimit-Limit": { - "type": "string", - "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." - }, "x-amzn-RequestId": { "type": "string", "description": "Unique request reference identifier." @@ -1957,10 +1860,6 @@ "$ref": "#/definitions/GetCustomerInvoiceResponse" }, "headers": { - "x-amzn-RateLimit-Limit": { - "type": "string", - "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." - }, "x-amzn-RequestId": { "type": "string", "description": "Unique request reference identifier." @@ -1973,10 +1872,6 @@ "$ref": "#/definitions/GetCustomerInvoiceResponse" }, "headers": { - "x-amzn-RateLimit-Limit": { - "type": "string", - "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." - }, "x-amzn-RequestId": { "type": "string", "description": "Unique request reference identifier." @@ -1989,10 +1884,6 @@ "$ref": "#/definitions/GetCustomerInvoiceResponse" }, "headers": { - "x-amzn-RateLimit-Limit": { - "type": "string", - "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." - }, "x-amzn-RequestId": { "type": "string", "description": "Unique request reference identifier." @@ -2007,7 +1898,7 @@ "tags": [ "customerInvoices" ], - "description": "Returns a customer invoice based on the purchaseOrderNumber that you specify.\n\n**Usage Plan:**\n\n| Rate (requests per second) | Burst |\n| ---- | ---- |\n| 10 | 10 |\n\nThe `x-amzn-RateLimit-Limit` response header returns the usage plan rate limits that were applied to the requested operation, when available. The table above indicates the default rate and burst values for this operation. Selling partners whose business demands require higher throughput may see higher rate and burst values than those shown here. For more information, see [Usage Plans and Rate Limits in the Selling Partner API](https://developer-docs.amazon.com/sp-api/docs/usage-plans-and-rate-limits-in-the-sp-api).", + "description": "Returns a customer invoice based on the `purchaseOrderNumber` that you specify.\n\n**Usage Plan:**\n\n| Rate (requests per second) | Burst |\n| ---- | ---- |\n| 10 | 10 |\n\nThe `x-amzn-RateLimit-Limit` response header returns the usage plan rate limits that were applied to the requested operation, when available. The table above indicates the default rate and burst values for this operation. Selling partners whose business demands require higher throughput may see higher rate and burst values than those shown here. For more information, refer to [Usage Plans and Rate Limits in the Selling Partner API](https://developer-docs.amazon.com/sp-api/docs/usage-plans-and-rate-limits-in-the-sp-api).", "operationId": "getCustomerInvoice", "parameters": [ { @@ -2113,15 +2004,11 @@ } }, "401": { - "description": "The request's Authorization header is not formatted correctly or does not contain a valid token.", + "description": "The request's authorization header is not formatted correctly or does not contain a valid token.", "schema": { "$ref": "#/definitions/GetCustomerInvoiceResponse" }, "headers": { - "x-amzn-RateLimit-Limit": { - "type": "string", - "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." - }, "x-amzn-RequestId": { "type": "string", "description": "Unique request reference identifier." @@ -2162,10 +2049,6 @@ "$ref": "#/definitions/GetCustomerInvoiceResponse" }, "headers": { - "x-amzn-RateLimit-Limit": { - "type": "string", - "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." - }, "x-amzn-RequestId": { "type": "string", "description": "Unique request reference identifier." @@ -2178,10 +2061,6 @@ "$ref": "#/definitions/GetCustomerInvoiceResponse" }, "headers": { - "x-amzn-RateLimit-Limit": { - "type": "string", - "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." - }, "x-amzn-RequestId": { "type": "string", "description": "Unique request reference identifier." @@ -2194,10 +2073,6 @@ "$ref": "#/definitions/GetCustomerInvoiceResponse" }, "headers": { - "x-amzn-RateLimit-Limit": { - "type": "string", - "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." - }, "x-amzn-RequestId": { "type": "string", "description": "Unique request reference identifier." @@ -2210,10 +2085,6 @@ "$ref": "#/definitions/GetCustomerInvoiceResponse" }, "headers": { - "x-amzn-RateLimit-Limit": { - "type": "string", - "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." - }, "x-amzn-RequestId": { "type": "string", "description": "Unique request reference identifier." @@ -2228,13 +2099,13 @@ "tags": [ "vendorShipping" ], - "description": "Returns a list of packing slips for the purchase orders that match the criteria specified. Date range to search must not be more than 7 days.\n\n**Usage Plan:**\n\n| Rate (requests per second) | Burst |\n| ---- | ---- |\n| 10 | 10 |\n\nThe `x-amzn-RateLimit-Limit` response header returns the usage plan rate limits that were applied to the requested operation, when available. The table above indicates the default rate and burst values for this operation. Selling partners whose business demands require higher throughput may see higher rate and burst values than those shown here. For more information, see [Usage Plans and Rate Limits in the Selling Partner API](https://developer-docs.amazon.com/sp-api/docs/usage-plans-and-rate-limits-in-the-sp-api).", + "description": "Returns a list of packing slips for the purchase orders that match the criteria specified. Date range to search must not be more than 7 days.\n\n**Usage Plan:**\n\n| Rate (requests per second) | Burst |\n| ---- | ---- |\n| 10 | 10 |\n\nThe `x-amzn-RateLimit-Limit` response header returns the usage plan rate limits that were applied to the requested operation, when available. The table above indicates the default rate and burst values for this operation. Selling partners whose business demands require higher throughput may see higher rate and burst values than those shown here. For more information, refer to [Usage Plans and Rate Limits in the Selling Partner API](https://developer-docs.amazon.com/sp-api/docs/usage-plans-and-rate-limits-in-the-sp-api).", "operationId": "getPackingSlips", "parameters": [ { "name": "shipFromPartyId", "in": "query", - "description": "The vendor warehouseId for order fulfillment. If not specified the result will contain orders for all warehouses.", + "description": "The vendor `warehouseId` for order fulfillment. If not specified the result will contain orders for all warehouses.", "required": false, "type": "string" }, @@ -2250,7 +2121,7 @@ { "name": "createdAfter", "in": "query", - "description": "Packing slips that became available after this date and time will be included in the result. Must be in ISO-8601 date/time format.", + "description": "Packing slips that became available after this date and time will be included in the result. Must be in ISO 8601 date/time format.", "required": true, "type": "string", "format": "date-time" @@ -2258,7 +2129,7 @@ { "name": "createdBefore", "in": "query", - "description": "Packing slips that became available before this date and time will be included in the result. Must be in ISO-8601 date/time format.", + "description": "Packing slips that became available before this date and time will be included in the result. Must be in ISO 8601 date/time format.", "required": true, "type": "string", "format": "date-time" @@ -2352,47 +2223,47 @@ "response": { "payload": { "pagination": { - "nextToken": "NEBxNEBxNEBxNR==" - }, - "packingSlips": [ - { - "purchaseOrderNumber": "UvgABdBjQ", - "content": "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MSAxMjkyIDk3NF0vSXRhbGljQW5nbGUgMC9Bc2NlbnQgOTc0L0NJRFNldCAyMiAwIFI+PgplbmRvYmoKMTkgMCBvYmo8PC9EVyAwL1N1YnR5cGUvQ0lERm9udFR5cGUyL0NJRFN5c3RlbUluZm88PC9TdXBwbGVtZW50IDAvUmVnaXN0cnkoQWRvYmUpL09yZGVyaW5nKFVDUyk+Pi9UeXBlL0ZvbnQvQmFzZUZvbnQvRUFBQUFBK0FtYXpvbkVtYmVyLVJlZ3VsYXIvRm9udERlc2NyaXB0b3IgMjAgMCBSL1dbMFs1MDAgMjYyIDM5MCA2OTAgNDgxIDc2OSA1OTIgNjAwIDYwNCA1NzAgNjQwIDc3NyAzODMgNTA5IDI0OCAyNzggNTI5IDg5MyAzNzMgMjU1IDQ2MSA1NzQgNTgwIDUyNyAyODUgNTg2IDg0MCA0MzIgNTg2IDU4NiA1ODYgNTg2IDU4NiA1NzUgNjA3IDU5MCA1ODYgNzc3IDU4NiA1ODYgNTEwIDU5MiA1ODggNTgwIDM3MyA2MjEgNjEzIDUyNiAyNDggNzA2IDUyNCA1ODggMjQ4IDYwNCA2NDIgNTg2IDQ3MiA0NzZdXS9DSURUb0dJRE1hcC9JZGVudGl0eT4+CmVuZG9iagoxNyAwIG9iajw8L1N1YnR5cGUvVHlwZTAvVHlwZS9Gb250L0Jhc2VGb250L0VBQUFBQStBbWF6b25FbWJlci1SZWd1bGFyL0VuY29kaW5nL0lkZW50aXR5LUgvVG9Vbmljb2RlIDE4IDAgUi9EZXNjZW5kYW50Rm9udHNbMTkgMCBSXT4+CmVuZG9iagoyMyAwIG9iaiA8PC9Db2xvclNwYWNlWy9JQ0NCYXNlZCA3IDAgUl0vTmFtZS9JbTMvU3VidHlwZS9JbWFnZS9IZWlnaHQgMTYwL0ZpbHRlci9GbGF0ZURlY29kZS9UeXBlL1hPYmplY3QvV2lkdGggMzc2L0xlbmd0aCA1MTA4L0JpdHNQZXJDb21wb25lbnQgOD4+c3RyZWFtCnic7Z2/rhxFGsUnu9JKKzmzLDkgsmQ5cWRZkDhBSEROECIjQIjQgYHwBrCklhaILQE5knmAEd4HMJcXwDyB7xv0np6zc/abquqenp4/1dM+P5VGM9PV1VXVX53+qrqrummMMcYYY4wxxhhjjDHG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WrvdbmLy5qUZfOZAMnPQmbcEXKIpyZu/yMyHy4fl+fcDXKKZX55Xq9M/B/in984eUxIvSYAT7XY7JQEiJQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQG6D0ryvFqdfz/AJdput2+WZApzv1icfz/AJZqDx5tTzPF4vLm6fnl5Of+WgItzd3s7x5I3Lz39eJp15v0AF2ez2UxJ3rt6OBy+ffk6Y845twRcnAnFeweSV5OauWe/359tS8BluV8sThleXmPycXCAT+j1d5nT34FMRmYIWj4spyrewQLThMfvj3PG+A//dTYZeX325urasqzPvOZcsV6vj8fjn8gUAAAAAAC/+xt439y+CmVuZHN0cmVhbQplbmRvYmoKNSAwIG9iajw8L0NvbG9yU3BhY2U8PC9EZWZhdWx0UkdCIDYgMCBSL0lDQzEzIDggMCBSPj4vUHJvY1NldFsvUERGL0ltYWdlQi9JbWFnZUMvVGV4dF0vRm9udDw8L0YzIDEwIDAgUi9GMjYgMTEgMCBSL0YyNCAxNyAwIFI+Pi9YT2JqZWN0PDwvSW0zIDIzIDAgUi9JbTQgMjQgMCBSL0ltMSAyNSAwIFIvSW0yIDI2IDAgUj4+Pj4KZW5kb2JqCjMgMCBvYmo8PC9Db250ZW50cyA0IDAgUi9CbGVlZEJveFswIDAgNjEyIDc5Ml0vVHlwZS9QYWdlL1Jlc291cmNlcyA1IDAgUi9Dcm9wQm94WzAgMCA2MTIgNzkyXS9QYXJlbnQgMSAwIFIvTWVkaWFCb3hbMCAwIDYxMiA3OTJdL1RyaW1Cb3hbMCAwIDYxMiA3OTJdPj4KZW5kb2JqCjEgMCBvYmo8PC9LaWRzWzMgMCBSXS9UeXBlL1BhZ2VzL0NvdW50IDE+PgplbmRvYmoKMjcgMCBvYmo8PC9UeXBlL0NhdGFsb2cvUGFnZXMgMSAwIFI+PgplbmRvYmoKMjggMCBvYmo8PC9Nb2REYXRlKEQ6MjAxOTAxMzAyMjQxMTBaKS9DcmVhdGlvbkRhdGUoRDoyMDE5MDEzMDIyNDExMFopL1Byb2R1Y2VyKGlUZXh0IDEuNCBcKGJ5IGxvd2FnaWUuY29tXCkpPj4KZW5kb2JqCnhyZWYKMCAyOQowMDAwMDAwMDAwIDY1NTM1IGYgCjAwMDAwNjU1NjkgMDAwMDAgbiAKMDAwMDAwMDAwMCA2NTUzNiBuIAowMDAwMDY1NDEwIDAwMDAwIG4gCjAwMDAwMDAwMTUgMDAwMDAgbiAKMDAwMDA2NTIxNyAwMDAwMCBuIAowMDAwMDA1OTcxIDAwMDAwIG4gCjAwMDAwMDMzMDcgMDAwMDAgbiAKMDAwMDAwNjgzMiAwMDAwMCBuIAowMDAwMDA2MDAzIDAwMDAwIG4gCjAwMDAwMDY4NjQgMDAwMDAgbiAKMDAwMDAxMjAwNSAwMDAwMCBuIAowMDAwMDA2OTU3IDAwMDAwIG4gCjAwMDAwMTE1OTggMDAwMDAgbiAKMDAwMDAxMTM3OSAwMDAwMCBuIAowMDAwMDA3NDgyIDAwMDAwIG4gCjAwMDAwMTEyODYgMDAwMDAgbiAKMDAwMDAxNzU5NCAwMDAwMCBuIAowMDAwMDEyMTQzIDAwMDAwIG4gCjAwMDAwMTcxNjAgMDAwMDAgbiAKMDAwMDAxNjkzOCAwMDAwMCBuIAowMDAwMDEyNjk4IDAwMDAwIG4gCjAwMDAwMTY4NDEgMDAwMDAgbiAKMDAwMDAxNzczNSAwMDAwMCBuIAowMDAwMDIzMDE2IDAwMDAwIG4gCjAwMDAwMjk3NzUgMDAwMDAgbiAKMDAwMDA2MjY0NCAwMDAwMCBuIAowMDAwMDY1NjE5IDAwMDAwIG4gCjAwMDAwNjU2NjQgMDAwMDAgbiAKdHJhaWxlcgo8PC9JbmZvIDI4IDAgUi9JRCBbPGIxMjZlODIwMDdjNzZhNmUxNTFlNzQ0Zjg2MjBmNDJmPjw1YmZlYjU4YTM5MjllZmRiZmQ2ZjU5MWM2MGIwNjc0MD5dL1Jvb3QgMjcgMCBSL1NpemUgMjk+PgpzdGFydHhyZWYKNjU3ODIKJSVFT0YK", - "contentType": "application/pdf" + "nextToken": "NEBxNEBxNEBxNR==" }, - { - "purchaseOrderNumber": "VvgCDdBjR", - "content": "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MSAxMjkyIDk3NF0vSXRhbGljQW5nbGUgMC9Bc2NlbnQgOTc0L0NJRFNldCAyMiAwIFI+PgplbmRvYmoKMTkgMCBvYmo8PC9EVyAwL1N1YnR5cGUvQ0lERm9udFR5cGUyL0NJRFN5c3RlbUluZm88PC9TdXBwbGVtZW50IDAvUmVnaXN0cnkoQWRvYmUpL09yZGVyaW5nKFVDUyk+Pi9UeXBlL0ZvbnQvQmFzZUZvbnQvRUFBQUFBK0FtYXpvbkVtYmVyLVJlZ3VsYXIvRm9udERlc2NyaXB0b3IgMjAgMCBSL1dbMFs1MDAgMjYyIDM5MCA2OTAgNDgxIDc2OSA1OTIgNjAwIDYwNCA1NzAgNjQwIDc3NyAzODMgNTA5IDI0OCAyNzggNTI5IDg5MyAzNzMgMjU1IDQ2MSA1NzQgNTgwIDUyNyAyODUgNTg2IDg0MCA0MzIgNTg2IDU4NiA1ODYgNTg2IDU4NiA1NzUgNjA3IDU5MCA1ODYgNzc3IDU4NiA1ODYgNTEwIDU5MiA1ODggNTgwIDM3MyA2MjEgNjEzIDUyNiAyNDggNzA2IDUyNCA1ODggMjQ4IDYwNCA2NDIgNTg2IDQ3MiA0NzZdXS9DSURUb0dJRE1hcC9JZGVudGl0eT4+CmVuZG9iagoxNyAwIG9iajw8L1N1YnR5cGUvVHlwZTAvVHlwZS9Gb250L0Jhc2VGb250L0VBQUFBQStBbWF6b25FbWJlci1SZWd1bGFyL0VuY29kaW5nL0lkZW50aXR5LUgvVG9Vbmljb2RlIDE4IDAgUi9EZXNjZW5kYW50Rm9udHNbMTkgMCBSXT4+CmVuZG9iagoyMyAwIG9iaiA8PC9Db2xvclNwYWNlWy9JQ0NCYXNlZCA3IDAgUl0vTmFtZS9JbTMvU3VidHlwZS9JbWFnZS9IZWlnaHQgMTYwL0ZpbHRlci9GbGF0ZURlY29kZS9UeXBlL1hPYmplY3QvV2lkdGggMzc2L0xlbmd0aCA1MTA4L0JpdHNQZXJDb21wb25lbnQgOD4+c3RyZWFtCnic7Z2/rhxFGsUnu9JKKzmzLDkgsmQ5cWRZkDhBSEROECIjQIjQgYHwBrCklhaILQE5knmAEd4HMJcXwDyB7xv0np6zc/abquqenp4/1dM+P5VGM9PV1VXVX53+qrqrummMMcYYY4wxxhhjjDHG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WrvdbmLy5qUZfOZAMnPQmbcEXKIpyZu/yMyHy4fl+fcDXKKZX55Xq9M/B/in984eUxIvSYAT7XY7JQEiJQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQG6D0ryvFqdfz/AJdput2+WZApzv1icfz/AJZqDx5tTzPF4vLm6fnl5Of+WgItzd3s7x5I3Lz39eJp15v0AF2ez2UxJ3rt6OBy+ffk6Y845twRcnAnFeweSV5OauWe/359tS8BluV8sThleXmPycXCAT+j1d5nT34FMRmYIWj4spyrewQLThMfvj3PG+A//dTYZeX325urasqzPvOZcsV6vj8fjn8gUAAAAAAC/+xt439y+CmVuZHN0cmVhbQplbmRvYmoKNSAwIG9iajw8L0NvbG9yU3BhY2U8PC9EZWZhdWx0UkdCIDYgMCBSL0lDQzEzIDggMCBSPj4vUHJvY1NldFsvUERGL0ltYWdlQi9JbWFnZUMvVGV4dF0vRm9udDw8L0YzIDEwIDAgUi9GMjYgMTEgMCBSL0YyNCAxNyAwIFI+Pi9YT2JqZWN0PDwvSW0zIDIzIDAgUi9JbTQgMjQgMCBSL0ltMSAyNSAwIFIvSW0yIDI2IDAgUj4+Pj4KZW5kb2JqCjMgMCBvYmo8PC9Db250ZW50cyA0IDAgUi9CbGVlZEJveFswIDAgNjEyIDc5Ml0vVHlwZS9QYWdlL1Jlc291cmNlcyA1IDAgUi9Dcm9wQm94WzAgMCA2MTIgNzkyXS9QYXJlbnQgMSAwIFIvTWVkaWFCb3hbMCAwIDYxMiA3OTJdL1RyaW1Cb3hbMCAwIDYxMiA3OTJdPj4KZW5kb2JqCjEgMCBvYmo8PC9LaWRzWzMgMCBSXS9UeXBlL1BhZ2VzL0NvdW50IDE+PgplbmRvYmoKMjcgMCBvYmo8PC9UeXBlL0NhdGFsb2cvUGFnZXMgMSAwIFI+PgplbmRvYmoKMjggMCBvYmo8PC9Nb2REYXRlKEQ6MjAxOTAxMzAyMjQxMTBaKS9DcmVhdGlvbkRhdGUoRDoyMDE5MDEzMDIyNDExMFopL1Byb2R1Y2VyKGlUZXh0IDEuNCBcKGJ5IGxvd2FnaWUuY29tXCkpPj4KZW5kb2JqCnhyZWYKMCAyOQowMDAwMDAwMDAwIDY1NTM1IGYgCjAwMDAwNjU1NjkgMDAwMDAgbiAKMDAwMDAwMDAwMCA2NTUzNiBuIAowMDAwMDY1NDEwIDAwMDAwIG4gCjAwMDAwMDAwMTUgMDAwMDAgbiAKMDAwMDA2NTIxNyAwMDAwMCBuIAowMDAwMDA1OTcxIDAwMDAwIG4gCjAwMDAwMDMzMDcgMDAwMDAgbiAKMDAwMDAwNjgzMiAwMDAwMCBuIAowMDAwMDA2MDAzIDAwMDAwIG4gCjAwMDAwMDY4NjQgMDAwMDAgbiAKMDAwMDAxMjAwNSAwMDAwMCBuIAowMDAwMDA2OTU3IDAwMDAwIG4gCjAwMDAwMTE1OTggMDAwMDAgbiAKMDAwMDAxMTM3OSAwMDAwMCBuIAowMDAwMDA3NDgyIDAwMDAwIG4gCjAwMDAwMTEyODYgMDAwMDAgbiAKMDAwMDAxNzU5NCAwMDAwMCBuIAowMDAwMDEyMTQzIDAwMDAwIG4gCjAwMDAwMTcxNjAgMDAwMDAgbiAKMDAwMDAxNjkzOCAwMDAwMCBuIAowMDAwMDEyNjk4IDAwMDAwIG4gCjAwMDAwMTY4NDEgMDAwMDAgbiAKMDAwMDAxNzczNSAwMDAwMCBuIAowMDAwMDIzMDE2IDAwMDAwIG4gCjAwMDAwMjk3NzUgMDAwMDAgbiAKMDAwMDA2MjY0NCAwMDAwMCBuIAowMDAwMDY1NjE5IDAwMDAwIG4gCjAwMDAwNjU2NjQgMDAwMDAgbiAKdHJhaWxlcgo8PC9JbmZvIDI4IDAgUi9JRCBbPGIxMjZlODIwMDdjNzZhNmUxNTFlNzQ0Zjg2MjBmNDJmPjw1YmZlYjU4YTM5MjllZmRiZmQ2ZjU5MWM2MGIwNjc0MD5dL1Jvb3QgMjcgMCBSL1NpemUgMjk+PgpzdGFydHhyZWYKNjU3ODIKJSVFT0YK", - "contentType": "application/pdf" - } - ] + "packingSlips": [ + { + "purchaseOrderNumber": "UvgABdBjQ", + "content": "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MSAxMjkyIDk3NF0vSXRhbGljQW5nbGUgMC9Bc2NlbnQgOTc0L0NJRFNldCAyMiAwIFI+PgplbmRvYmoKMTkgMCBvYmo8PC9EVyAwL1N1YnR5cGUvQ0lERm9udFR5cGUyL0NJRFN5c3RlbUluZm88PC9TdXBwbGVtZW50IDAvUmVnaXN0cnkoQWRvYmUpL09yZGVyaW5nKFVDUyk+Pi9UeXBlL0ZvbnQvQmFzZUZvbnQvRUFBQUFBK0FtYXpvbkVtYmVyLVJlZ3VsYXIvRm9udERlc2NyaXB0b3IgMjAgMCBSL1dbMFs1MDAgMjYyIDM5MCA2OTAgNDgxIDc2OSA1OTIgNjAwIDYwNCA1NzAgNjQwIDc3NyAzODMgNTA5IDI0OCAyNzggNTI5IDg5MyAzNzMgMjU1IDQ2MSA1NzQgNTgwIDUyNyAyODUgNTg2IDg0MCA0MzIgNTg2IDU4NiA1ODYgNTg2IDU4NiA1NzUgNjA3IDU5MCA1ODYgNzc3IDU4NiA1ODYgNTEwIDU5MiA1ODggNTgwIDM3MyA2MjEgNjEzIDUyNiAyNDggNzA2IDUyNCA1ODggMjQ4IDYwNCA2NDIgNTg2IDQ3MiA0NzZdXS9DSURUb0dJRE1hcC9JZGVudGl0eT4+CmVuZG9iagoxNyAwIG9iajw8L1N1YnR5cGUvVHlwZTAvVHlwZS9Gb250L0Jhc2VGb250L0VBQUFBQStBbWF6b25FbWJlci1SZWd1bGFyL0VuY29kaW5nL0lkZW50aXR5LUgvVG9Vbmljb2RlIDE4IDAgUi9EZXNjZW5kYW50Rm9udHNbMTkgMCBSXT4+CmVuZG9iagoyMyAwIG9iaiA8PC9Db2xvclNwYWNlWy9JQ0NCYXNlZCA3IDAgUl0vTmFtZS9JbTMvU3VidHlwZS9JbWFnZS9IZWlnaHQgMTYwL0ZpbHRlci9GbGF0ZURlY29kZS9UeXBlL1hPYmplY3QvV2lkdGggMzc2L0xlbmd0aCA1MTA4L0JpdHNQZXJDb21wb25lbnQgOD4+c3RyZWFtCnic7Z2/rhxFGsUnu9JKKzmzLDkgsmQ5cWRZkDhBSEROECIjQIjQgYHwBrCklhaILQE5knmAEd4HMJcXwDyB7xv0np6zc/abquqenp4/1dM+P5VGM9PV1VXVX53+qrqrummMMcYYY4wxxhhjjDHGGGOMMcYYY4wxZl9+f/ny6Vdfv//Bhw5nGj77/Iuffv6lth0ZU+bN9TWs9OIf/3SYQbhz994fV1e1bcqYDSAyDx6+V711OBww3Lx121JjJsVHH39SvV04HDzAq8EVpLZxGdOCq171FuFwpPDv73+sbV/GtDz96uvqzcHhSOH9Dz6sbV/GtHj4d96htn0Z02KdmXeobV/GtFhn5h1q25cxLdaZeYfa9mVMi3Vm3qG2fRnTYp2Zd6htX8a0WGfmHWrblzEt1pl5h9r2ZUyLdWbeobZ9GdNinZl3qG1fxrRYZ+YdatuXMS3WmXmH2vZlTIt1Zt6htn0Z02KdmXeobV/GtFhn5h1q25cxLdaZeYfa9mVMi3Vm3qG2fRnTYp2Zd6htX8a0WGfmHWrblzEt1pl5h9r2ZUyLdWbeobZ9GdNinZl3qG1fxrRMR2eQkxcvfnv9+m/k6vr6+veX//ns8y+q5+p4hf3mX98hHLuMte3LmJaT6cyDh+9CRqAexddfornleUPk6oJwpACFOU0ZT2tNxpQ5mc7QUSF37t6Lm27euh2zhJhofY115hDhlLZkTBcn05meg0Znpudl39iEVjmP/pR1xrxVnExnvv/hf+96vrr6s6vR5ZuK0fClulDsGawz5q3ilOPADx6+WzzcwEYnpbLODA91rMqYTaZwv2lgo+OgTWOd2SXUsSpjNtlHZ+7cvYf2wrtIcDY++/yLm7duX6z9liRlROaf2JqkE7tUjMOQDBdjK6P99PMvMdrWfOomMkNxFxwL+cdWJM5RIN50ZonyBJOCqMh5fCSCAiJBVBTS5F79OvPRx58gArOBfZ9++XVeadYZc0aM1hmJQ+T6+hptRIIQ4+ctCw0Q8XvyRr+leKBITyaRQvEQr1//HUVDGS6WKG/j3MTRJJQ33kqL9Ykd4yaBGoCaJbXRv0uzUlfrjDlTxumMmkk//Tqjf7qgzqi7NOQowzOZZ6wLSE3ipWhTfgjVJxSjX0VJ1Bn4VD27jOthbc2AMSdghM7gCq7dcU3HTzRDtBF8Sdpdv86oOyMlwaU87+CwOxPVgJ0ahS5PRvGZrPpZ7OvFmCgFvCbkX64LvsSyoOfS33jZx0FQCtEtUXcJn0gqborqoSPSLdT/yDP2Qg6tM+ZMGaEz6mWgvRSHI5R4v84M2VRsMlvHgSF6iozcFsdYdipp1KWYEwhC8WGeWAnFCEgwL7L09oAPCB3ITIzZi111JjbhYnNAgopQS2dw9VfkZDB5p9CVsa21JxnpeiKomPIxbqgdyEyM2YtddSbKSLEJT0FntjbzY+vM1qwWU449NUQY7YZZZ8zU2FVn4rjHViGqpTNyDIaPnaJRayCIIQ43jdaZrmkUxSLn48C8g2+dMefOvHVmYAdk6y2nnXQm1kBX9XYVuXiX6vXrv0eP2AyzAmOOy7x1Zsg9muT5HHS1eOco/rmTzkArtlZvT5HpWeWP9Pj5GXO+7DM+U3xIdVI6s7XfFIe1X7z4LRkSkQSN7jd1+SFDiozqRQaiezPCq9nLOIw5EPvcbyq29ynoTHwQpT9mvAGdj7uOHgeWOHQ5IcPnNyFXccKFdcacI/s8P1N8Jj/eU66lM1sfX8kP3ZS6gaN1Jgpd8bbRTvMo95l0eQATMWZv9nweGO0IwsLnbNGik2GNw+qMHqNNnprLA5q2PAp8ycuICGz+UZESzcReOuKuOhOduvxBwTixK6bcNVlyp+Em64yZIBXnN+2qM3oqpgmjtZzinUeObhXjo5FyOjb9Me4Vu4HSTM5EiLvvqjMXm9OykDKOy6Mn0yRjys3q1hKndUPMc+kecbKGnCZjjs1h52ujURyv3xSdhCFF6J/orb16onWNJw+pvTiuMjDlntw2vt9kzpk915+BqujBNrr9xxsHviit4YBdemYW8F0tSZHpXcS+TL58BPZiZ7CYsYG1h0MUU0ZF6d53TLl4O7tZOTnJRE7rjDkvDr6eXhy9OWzK+wStQ9UvSl1rVR3q6EMi4+hxFa/RK1wxVDQtY8TBdUZDN3vOLXI4SKhrXcaQw+pMfBR2Bqv4ziBUNC1jxAid4Q1fLggcl4+LYxFdz404nDjUtS5jyDid2Zpsz+veHE4ZTmBCxmxlhM7cuXuvZ81euDpTeFfLCQJfkcB3GSjElxpMIZzSlozpYrQm8Ka2WpmeLhuRFJ9Jq94kh4euG9AHqdjDhtNYkTH9TKE50DvqfxJmOmHr+xfIRIbBj2w+xgxiCjqDXkackjxltbl567betsBhcAV4d9HJGf1k3WFDJbMyZoMp6Izar3IFtZnOEMfwMGQlvROHGjZlTMpEmgNDMtUIyjPx+1YcpJLrEnVmIrf1T25QxhSYlM5crMaEkwlBfFZnap0p5DPOnKL3pVUm4nt164aTGpMxHUxNZy6yPpS4uvoTnkNdweFLEBIl1FxIzbkY9+7IY4RT2JAx25igzjDExaAS6OHwfbsnyAmfk4H3kueHS9YopiJMx/s6rvUYM4zJ6szFyrHpX0OmWS9gBR047Lgx7x/ly1JFkhvxmqg+bqEY64yZMVPWGQa05YHL9zWrts8nBrWaaL/Pg8QZjbeqsXuPsMSj5PXGTMKlmY4zY50xE2H6OjNCbY5HUWEuworEE3lsxjpjJsW56IzUBl7HEJfjsHAJvp6uGe80TarHZJ0x0+G8dEaheN/nGKAXBg3ZOuDM8Zzq1WKdMdPkTHUmCs73P/y4dVbjTsBfgoid7H6WdcbMnnPXGQUuq4teFTyQXWWHb2nhfPNJjeLuH45kNsbsxGx0Jg9xQW+9lCGZAjkzVclDbfsypmXGOuNwYZ0x08A6M+9Q276MabHOzDvUti9jWqwz8w617cuYFuvMvENt+zKmxToz71Dbvoxpsc7MO9S2L2NarDPzDrXty5gW68y8Q237MqbFOjPvUNu+jGmxzsw71LYvY1qsM/MOte3LmBbrzLxDbfsypsU6M+9Q276MabHOzDvUti9jWqwz8w617cuYFuvMvENt+zKm5Ztvv6veFhyOFHARqW1fxrRM543zDgcPU3jjlTHk6VdTfCGIw57hwcP3aluWMf/nzfU1bLJ6u3A4YLh56/YfV1e1LcuYDSA19mpmE97/4MPTv7LTmIHAOL/5tn2HkV5H4nBeAReL31++rG1HxhhjjDHGGGOMMcYYY4wxxhhjjDHGGGOMMcYYY4wxxhhjjDHGnBN/rRgYeblcvnnz5pjZGQmK8OrVq9q5mDSon+Enuh/XttmJ58+fL1ZcXl7i56M13Jr/RMwbN24cylxH5Pb+/fvIwzvvvIPv+v/XX39lKZ48eVIlY9MHNcMqQl3tmRSuNa5tQ2QMIMoCtQJQPR4/fsyf+IKf2oWRu34i8RMXp9kskYSR4HssFP8BVfLZdFR+ksMTo/Me620gz549w14S9ry2zVtLNHVdd2Dz+pNGAu+XHgvd4H6dgb0hJhSpStcpmjdKF8UT35Er/M+2oLKPaFMHIVY+BbyprTOoGZ67Eb5okvOkts3bTDR19HSoDJ9++mmiM4gWL/39OgO7YmTZKv5BmkgKUibnQWkimqRJ3XlsRWT8iR2xey5Z2Av7ci/szgjYXa4XNiW+CnfhNRff1UdgTOYW6cRk86xyK3KFY6lciond8Z3tCzH7RycS1yvWbdQZHIUJIsNdzT9WF7s8+GSe+ZPOBovAE/R8xeMV6iUl504nnTVA3UZSLDV2pIaw0phz9FUVU7Xdc8p0FOQBezHlWspvjkTey8DZj//Q4GVFNIB+nZHvzYYTVYvQ8JRmBFqX52qRdcHyCPfv30fOdehYonwvWnJ+CDQEZKCn+D1QajgulOw+sPIZOX5HiZIEF+vai2j0LMaBxPE7SqSBKaQWT1Ce/+Tc8Tukg1+oEsmOVJWeP+USJ3XLUxbtJ8+PmQcyBtoAL0bxdO+pM2oCSF/+A0iugHETL538Do3C9+jnEFk+NqklIibS0SZ8SZz2aPn4P4kZfSH6BvzOq3Axq8hePLqaNqvxyYohla+cqLpY7Whr/Imj6LiU4gjPHT5xUJ3HpiSPrEYVjc5MTLaoM4LnArB0yiqSVT0gHVZvojPFU8b6Ufp02+JeZh7EmwLRouSE7KkzSlY3qrQpSbO4CUaLnCSdBQ0fsWnoYl3MarGwXTFjg1UN5FmN5dXR2dfQpiHjEsoPYkofYg5VJ0xKW6N3lzhpasLcGt0hFbNLTKJDmGzigwo8EVAV9nRiVpO6Tf6JTnIeuWeTmQc6rfgiM16sLuLxdI/WGX3P3fIencn7C10tK/+5j84sSvTrTDKYnLgQGt3dWvlFNzJp9cnPJJGIfB55RIu1M5Ono+5MPF/Fgbim1AseojPRbc4jF+vTOjMnoqknTnv8PlBn2N0uigk9ZKlHv84wWbgKj0q3WePFEd+P4c9wTJL0Fz/RmWblbqGwarzNavwEPyHjiWMWKx8FicMXjzYfJ0j8mdiLTJozYYQkTQ7ONJmkx+L064w6hkiqX+3zf3pOWbE+uUlV5+f9zppo6smmniYp64W9wQBk//wZbTVebWMXPo7PFPtNHDOJox8xb4qMCMoMXaYROqP4uljz6IDX34E6g+8cneCOiqPvSZaSyo/DuWplqjFVBcdeIvF0PFrTBN8jDuQmtdfVUyvqTBxQiuMzTeZW5ePAShn7JhVSrM9kL9+BOmvG6Ux0nuMgzKLkeycjP/QW8jSLXpB2STyB/OaFLqPDdSa5u3S5utcWO48y/uE6k+xLLy7pPPZUftLqm6yfggznV3bUZ14bURPiiBa+Kz95slv7TXn9KKvJWFBS2/F6lOwYj5LsJY/Ot5/OGrQseh35AyrRA4dx8md8JAa2pKcg4k/skqSpkUNEUApJmsleevwjPmiR5FwPe8Sml2c1L6ziKxEcTkfRofmYTZ5m7FIpTcXUkyrxKJfhMZKeyteBYolUe8XniLSjaoNl6areqDN6gjeeqZilWFLlWXvxELGYrDp8YlNPbV+un+ohxfpU1w+H85N+xpwdxfFkY4w5INYZY8yxyTu2xhhjjDHGGGOMMcYYY4wx5m2Ds366tnItCz0gF+cvHDVXfJrXcwSMmQGch9jTnDlRIs5DhyhhLz29f3mcVZGtM8bMBs766VnClzMd4trmSds/khpYZ8wx4HQVfqevrnkry9V0SP6p+SnL9TKzcXfGyf/kz3xmEA7B9e4erVZ24sNmSiQuNbxcrzeLT0XT+r345EG1kq3QEZnao9XavHqqjSvrLsOSvMVVC+JiwnEB3nyxX1WLEuRUIK0zHJPlSg6ahIiUGe3ZCuZctcHyLtarYMWFkfWPMqa1jt+siBUV889EtC9iKtvRj9L/caVlY0bA2cRsZRwE0KABr7mcAa1hAcbHJ39qVZZFWBKKs3ppw1zwRPHJYr0AAicIc+tyPc+Xm+Kk4BjtcrWyZVy6gZMBi3OQWQQlqHXata8S19IuQjPKtVZDs566zkUnFmEe+mVYmy5ZAJOJRKWlbvAfdqBizLhKAzUzKVf+j84LM4Z0+LRwUlGa0K254dxXNZCs4cDzGJfXMGYctHNerbSCAdsOTIvSwcZFz4G2Ry2ihsTlu5uwJidlgW0qeWdZfFqeTaNZtyy1R9q8XmGgRhH3ZeaTychc0ObViqh+zElc50HeiDIfoUbFnLNojzaXgZL6LTZf4aQ1uvOhGOZQxZf6MfOJzijBmEKylT+Tpf/yiroMy3dELygmFWPmFwhjRsOrXrOyeUqN1qCOPsnlevlcjS3ExiU9od0iDrWoeCnU+gN872RsWRINJq5dYgPX0g08aNSZKA5MIW5dbC6+pP+Tn6qW5H4Q22D0TLh6VX9uE01IHLwYs1m/GDTfq19n8pIWKyrqjOJw3/g2nMSfQVY9W9PsD7VFzRwNB//Qh9E1ESaH/2mu9C4oEepuUIKwF4cI2CT5Z3JN1NLBWgtuJ52hjlEb6ThpF+Y53pHZR2cSBSgmqB2H6wwzqXZ9PJ3Je2RFneHZ14mOKeP0xdXsPWfT7AMNUubHN5tABKIfroFH9ejpOcThQcoO3zWgns5icy3cZi0U2jFpWVt1huqkRZwWm2tmRk2LwyDNuvPFQg3RmTgqRfJ7McrVcJ1J3KTk5zidSUoaCxUrqsefiYP/ybGQgrzcxpg94PWObVBLTEe70vrV1Aet5BnvzGplfgoLnZY4qkx9oCBwnISLVO+kM2z+f62g1nHpthsrtLAb/qE3hfi8axMbS5fOIBo7j8oAew2Aa9zpKGp9l+EtCXlum82Wm2hsEwT8cv0Gt+E6w9ttKqlWX+dqeBJ5lb2oM0yKy5IDVunl+q2XcZTbOmP2hHYo+6dcJH4y+zjUEBlnjCBr508ap96zplsecQlfNtsR/SZCKVtmyxEXI0dvp0tnKKfUxuTlmEwwWchXYjJQZ/LHZqRXi/X714boTBPW8i2WlGqTVFRRZ5rN9Z8VU1cW/e9+k9kT3hqOa8zmz5PwaRb9XJbW711uriW73Fw4N9m0XL+5TAvJLrOFdospMydSvLiUbvRnkmMlC/bGxONPOgDJpuXmLa08wZ7cMj4dsMW2F0Itwm21WMNdtR1rLFnoWLlSRcV1hpOkijGVYB7fGDNNiqMoy9VbtyjssXdjjDEjKDoS8XWTW70dY4wZx1/d75ExxhhjjDHGGGOMMcYYY4wxxrxV/BdAuo2VCmVuZHN0cmVhbQplbmRvYmoKMjQgMCBvYmogPDwvQ29sb3JTcGFjZVsvSUNDQmFzZWQgOSAwIFJdL05hbWUvSW00L1N1YnR5cGUvSW1hZ2UvSGVpZ2h0IDE2MC9GaWx0ZXIvRmxhdGVEZWNvZGUvVHlwZS9YT2JqZWN0L1dpZHRoIDM3Ni9MZW5ndGggNjU4Ni9CaXRzUGVyQ29tcG9uZW50IDg+PnN0cmVhbQp4nO2dP6jj1prApTLFEl91WXhEXFevWDBcN4FAVNjFg8C6mQtvCYur6ybw3Cz3FsNDbKXigWvDA3PZYsCbrItU8wSjZqpZgQcCad5ovSTNQBi5mCZDCu335/yTLNnS/X+z+kI8ks7/3zn6znfOJ+lmWSuttNJKK6200korrbTSSiuttNJKK620oiV8+sXH1t3I53/65r5b+0Dk16ef3xFzIZ9+9ff7bvMDkKe/tyzXj7Z3VFw061nWR1/fUWkPVn76g2V50d2WuRlb1mff322ZD0y+/8Ryo7svdt2zPioBv1n4/mpz57W5e/n+I2t0VwomL+Nd8Nspq/9xSY0W/qJwpQPa8ZbqFmEt1uJkhiclMSJ95lMEfzdalfz0iTW+Zh2vLLvgQe+7ngc8e7uxPcvLX1gjjs3tVI24z8TJ6Ba4/8EaXbOK15Cx9fv35jnUGwfBtqfbrGWHO90bi9upGXGXZDo3z/2p5d6PkmHxrK/MU1fojW2ZAtnh3rPgzrilmxWoelaHj9d4fIA7S23uf/9oN/FdysayQn22UsMX7mwxHNaR1LJF7pB2NpJs+IqIG2mLeBup9AVZ5wOivBUNVH2p4Gd0XEzG3KPITKWjbfIBRfna+tdcU6Y9vKV6Ptch8n1/lq1HHbiCp3QgqxeNXYo703GlLLjJMxgl7liUv6Lr61wWIH+2vsxVe6OOKN0Mb3F3BUeo9Tuet9CxF8BlJtlMvcUW1bC7zlaumpjXHlaxM+UYUlTGnRlH8vjUNC+QqlR2I8uTQI1kGGMBpx2q0oKyldEirELHr+bes14ZZ75aTnaoNVTrdYctDGwngebaTVVcd51PK3ThqiNOuDmYlyfy6ukGvrU+0gvXnbvZx2kW0gB4kZnRlhHoorVk41lTzttdcURkvcEJGtNPZWNk7Shjl7Pjoc1tzHH3hILvWL4AWkg24mSrrKDfIaiD0aZV2L+x/ukXfTYzyHW2sqqubLEMGuexC9ujyD3SZ57iLvPSDfzlX6y/GNzzZsyGYsIs28Ebumf1omijQ0m3u0L5QPa9KMMh3xltso1LdRiT3sKLGZqhJB2cOdac8ZjuFqzpdJutXbPXkbvPSmxNh1ZWkgzuqogyzHN3aWSNtSFalD9Z/665b2nAuALOLDOHiCmdTJhwPBZ1hytxZWadHndZMS+tlH/5D0PRWAUNPuXZdcMlFPR7RFfHApbHKmotJuQZ6akeD1hzBlyIVDSuttR1kTBcZuZEiWkiBgfXBdBiMlfkuM5zXwl16VYO+M+tbzT3mRyJI3nArHpTMUzdkStHMw33KVt8zBUmEhBP9gNlBr1OHYS15RDX5yyUovnljfVxJfeeqHhP9FwudEq5LAQseauIm5tRC7VkcAdkHhHhO26M6LgDCwYKnfDoA/UugBaTUVFbimVyn4q6TIsGmNHQ/y1w32ZCRXiSu0cDjg+2JncatL7kLmsruozwRlRHi+52T3QE3wiqgb/8/Dvrf/LcFzz7rfF8kTHU8S73Hp1uROtlYA61UEsrXd6Uh6KcFXAoK9673FnBg3oXQEuTUXiOuye6x69aTafWPxjc0ehaK3qK+2rngOIKmy3HfUu0cUGwkR2k7iJP8OcDg/tn1os8d5/vrogmTbqLeqI2JveNgODy4CrlzhHR6IgUTQxeywukSaq5k4Jf85FVlYyLNrmDGqJqj4tmgpQX1kmOO5Bb+WOvl+Me7RzIBmFc1+Q+smQ81XV81DOy8A9xR4t0jFEKU3Oe+0LMWmO+Ryu4b3DHWXPv8SoxMgBGe7gTXxrcfm6Ey8CsnLuudk3u61GxpdXchSq3DO4rfTLLc7eMlHu4u4qsbFlPmNzTHe5QVbJPPHkXlXBHywOmFKVnZkVNfoA7KZaRwlqfu2suFQ5yXxgddYi7b8Zl7puOGNoyuDF3tTLPA1GhZjM6unhT+ee4gzYfrTUvMak24D4CBd9R0+ZOsm0VdzXh1eHOtqG3WOf1eyl3Htqj1cbX3Cmss7kG97G6MVeHuOt7ge3nUu5W3o4cy+XwxgC42cd9BgtIbSaWJ+Np9BrcScmMJKr93F2JW3PnVddMVdvk3qnH3VcBU8FtwWe0PZDjPlVbCkyzjHsBaKR5yKPcMC7hjgslugfzQGWylc7M5C7tmYVXYb/nuRM3bMzqIHdtrijufLf0xHbQWkWQmdXhvlErWZeiyIWHu2u/95SNtqLO3sdd6Pee3noVCyoYar293EmbjRTQYrKpaGqU5z4WynZcZb+XcMcDWhT19nGPVFxP3iS8MqWUuFNG6nctM/PrccdMyEiB+xujiPVhxFfNXQTdQ7imGJVz34j7xRM6Q4zPTG3AbSj2Pu4jcQsrrLlkVDvzhuDfBafddkqcCFXcF3KsYtID3NdqKt7IRCxQn7HoD14mbWpyx7YsosgH3Y1RoIGjDTpiiSkwGPsioQmxx2qsRL+7uGe3GeHG2hZHgjIywAToUcY4He3jPhOjh4EWk7m9Fe7c+AXuuKaI0HPfqXBt5LnzjspU7OvhfVzJndetHV/ujnmmrW2JsYbgeVtgnNXkLvuxs/a0rW8J/bAQd47oA9WmKaIp5c65daIOXtW10+VQ5+3jvtbL8mw3GVsXPR3BV/uRXHA59gL3cQ4d9mkl9+KOmbvD3TQ09d7mQe60x98Zb7KFv8HT1QgNcIF4MfI8Mcp9w8e98eEukE5vn+8IuIbpV6C4xmvIBdJp9wBGQEdAZ7Q24qp/M/NEFBRxqkIyzL8z3eoIKtqYW1GL+1aaxD3cJsdd9Wrua7W5jn3e29Km3izaZttoNuKoqhuNvfzD3P9fSGHdtCFUro9YyTUxtYRBPpYHOM/wpjRxdBd476FvZ5sbKzQEyO8D3c6jVaUke1NtTLfcSXKOhf2yjYrP9b178/r16x/e6Qu4N3wgl5Z7UX58XxVSKu9fPrtkeXU4spaWe1GeX778UD+r95L65eXzJlVouRflw3eXz17XHvMf3r6lf15fXjbC2HLflZcweF++qw7fkbcfsreXl6+bVKHlXiJvUHl896aeunn36hkM9TeXl2+bVKHlXibvn5PGfnEQ/bvX30K8Z2/hHnnWqAot93J5I+bL7179WMX+/ZuX33L3QIxnzdRMy71KcKYU8u2L12/emvTfv33z+rk0ZL5F/fLj5bMGRlDWct8j719pG5HH/nOU73LXvn3DOV6+aVaFlvse+fDDt5d75aWYSz9cvmxYhZb7fnn3qhK9Oes2sTpJCtzjIctuxDjcvXY1mQ9jPkhPbfumMm0kDbhnNH9+V0D+7PnrRlbjrhS4h3a3gvvwxhAFtujCuT25sc5sJM24k7x7+8NrIT++bTaFlsoO96Ai4i1wVwd3LS+sf5z+Z9Wzwncim7/92+/KuSfzIEjwYIn/pmHfDmMz5TJYcoqADxL6NwnTzNBJIhDOl8GcrsyDROIOJ3YQZpDrEoLSecDZx8E8lWWkUDZdhdClKJVDE1G5RJQei4j15IXwc4z8VVQ/1c3IGp/y4/LLuC9tZ+gAoKRrD7v2MrRBDO2T9J2h3QcEfbvfx4AAFJTdh2SY3ulzLBkIIXyQwi8kZO6YpZ3ZQwwJnW7fnsDFU4jgCISJg2VDhhBKpWGpFBrY/a49V6VSAfZF7ba/yPn1vDHgv/2XzKKVP1UvIFRy7zvQTPs0m9hxljr9op6ZQOtjaClxhjgYFSgsMwfoxiITGQhpA8wgIc2SODk9Y9sTGLldoIrJ50Az7Ypuu8DwrgP/d1PKDPNKnFOo2AR7KJWlzjn/NKspOe5Set7UX1S9jHV12RBvr6zEHHeSIBvi6IGBSLgvhkXuNDb7fbZNgB/1VzycAw2cLxmsDOS0dAAQgV6Oe5eKRVUD/TjEswtBEIvFtDwYoEZ0x8HVALoQOmIpS6WMlJl0WEq5Gx0w8qEHrtMFmyha+P6oHHc592EAQmBAEWMTT7k5Oe4xWCIhqHw6WYLqTx2HFe8chuTE0TExUHMncPl5VVwKID84dPrw70TPt+ncsVUCeR9B50IsSCNLDe3+sgmW/dzzfeDBbQCyoie7y7yBWw7h9/rwMZXamZfpmTTo2hMAkU5suxukBe7itoBL4SmqWJg3u7Z9CngSyKB/KqOJwBrcbZ5ARL7S0OyjglcJVOWG8q6UpQaO7UySW+B+q1LGHVRywkxSaH1Rv6toNNKYSzxxQEED9HQnMM99XsZdXDLnbr7XhqXcVRxRarY8tZ3a4B8u99gW+p1MwlOaG42KJxRtHuDkRtTSMMFEMNAvnNAWAGSg5t6tGO/cFWBqUoSQbUQ2iyCtDFWlTjC/JFClkvUaVC49HhF3+jcFJoJdgXvmoCrpymkXTHvup1NMedoVkWSg5o6zbnFeHWZCcyPWU554OZyCYBKhzBP4oY4Aawfrg70hS0VLaM+S7xFxT+1umg6dfgJrebDhuwhxbsCfCJvvApWsAz9dMCwDtEoyh2ydjJCLQMUdDb7Q3uUOyRPIM4EIF1nsiAz6gPfCgR/MHHtrAgVgFok9TNN+N5OlJmDcp6f2b0DPQPNg3kJwF3DQheEFU9hQc09xarughZDdD8HmiLt8AbXLXEaSgYo75uaclnDH5M6c+gqmV2GIxw7MmktUdiJUlpqBlUOVkqXiuSOLfYzctaRhKg8Mu1hbiIkIj2VoLC4Exvol3jGpk6otGbm3QDpbijqWobLUTFZKlho22ep5yNxLJTw9HEeuNh+w7HIfRyUyK2F1P9wPbz6BvX1Pm4wNZJd7+QtR7kPhflga7Qvel9TlviiB9UC5Pwqpy/2WB7zJXU1cO3JR4oQqCG6MNZSK3azc7FpRSIONsILU5u7fGfdqH1ANh1ODpcuB8vbkpIKu7q6qzX3bKcH18LhfQa7B/epSm3vu80q3yZ19b1kq3GckwpcG3LWzDrdfQRfEdME8wP+1E26e5p2DIl9QZglGUU6/WGaYzqkb4sCehCkY7XFAPjzeY44pX+YO9jqqRPgfrlJoGCz3aKcrct/cEXfe3SWvmzTVtS/tVDjrus7Q7qa43cjOPuMg4BNyKS3tLifQvSryDWxYloba6Sece6E9cXgw00ZvOMRosIKF8p2UYqFzj7jjJhh2GTr8OPQCjvo1b4X63Isv+90Wd77v0a8WiOW+8uApZx1622J7AgAciVod4P/UJRPaNgMaJneZb2A7y0w7/aRzL7TtQC5HubB+TJtztCmD/6dDh4KweMGdajfnHdKrc/f8nEQq6m0O+CJ3vpMFMeXBy2+ik/sNt0qcoXkQ6MQh7zEa3FUQ96ly+knnXqh21CT3RJgvodxcAxsmRD9TP5PcQw4VW5RX5V4QV8f17o4769wh78UoD57kzt42aKdwezpZ7sCAG2Z5R4bK1wjCQ+ncM2ZMwV2cxadw6gxVELuwc9xph7nulHt4f2ah4kYH4940d9Fq6UuT3EPBHQ5ENONgh7uzy90ucpfOvXLuycRxkLutuDs23S857hQ3vjHudzLg93OXvrQS7oHGfVXuc6m4stxw1dzpfgtz3O1510lvl3vuwzs85lUn0BzsW5b6MkB1GEvVHFHkzn61PruNlAdPcmdv24WdCNz9LHeguM/J72nqGZUvc1dOP+ncK+WufEk6Fj62c1HgPkHVc3N6ZudTmdfhPq7JndxnqTAklQdPzas0qfVRm2MMMmzUgcEdHXP4XIjOW+XL3JXTTzr3KriH/AQUeRwndqqm3Bx36uW6LtY6++/RjXHfVhWR536BjxfFqfKCSg+eosCWIDnslsL+UQcGd/QMLsVjeiJzmS9zV04/6dzLcR+GKaVbQj/FfXuSoscxFkYTdOEwzz11usu5c4Pcx0b863H363BP+rBUwR/VBOlL06PvFC6wB5tnOOPA5A6Iu/Mcd5mv2BxQTj/h3DPVxCmtm/BoArHwqdh8rIm9zHEHe9Pu3+R4N/+QwxW4626r3uMp2QeOzW3JuLhHmdB6nCin5kGJkEmuvYP5rJTTb+8Cv16sLBOP+9WQWtyNAY9ELfERO/GRRNfCJ1rl42G7Yfohv+pN/CvuvxsPL5UNM6Hf5/W8g9cVod+vuj9TIsbHmsZ14ufEUDPuHXMHVTC5cPBZ7btwQaV952Ki17v7pZ5fW+/ZNN8siFTaPT6rK3JPgrBwUJDgdBhUeVFuXNJgeFrX61KP+zUGvPEZ/V51rNbPVy4LlQC/mkcHnlVrXtUp920z1OA+rP8yxSOQmtzzmwXy3xrca+4y1OBuH3auPiKp+9zSQqWIGnHXn61cV2fecq8UQ027DbjPak4MOe7Cq5Z31ynu5FeD8LDo8SMHnUzx0KX2c3qRSrJowF1j328ImdylV0276+Z2tz+U3APypg0n3YLHjxx08i27By+1uZtmeP11k0603y1ucFdeNe2uc0x3HfnVhvxjevzQQSffsrsbdteR+s+lblSa+g9L1tkiKHJXXrUKdx3th6gf7fGbZJl6y+4uyF1P6nOvzdCQjUrj749YmFfJq1bhrstxL3j85Ft2twztBqTBc9gblegARCXGvs6BrsrtRwqvWoXbKMd9x/Mk3rJ78NKAe+HL/Z5VY16VcuixVlO/S69agXu3FvfbYHQb0oB74VPmjbi79bkrr5rhrqvUMwWPn3zL7jZI3aw0ed8j/0RTE+4Hn+LOcRdeNcU93jOvao+fUPTGy6kPWZpw7+RSNuHuNeCuvGrabdTtJulpOXft8cPI6i27G3hy9Hal0ftNCzNlA+6HH7wx51XpVdPc0c83KeeuPX4EWr5l99vi3uhRGiPy6GDknB1Z8sLdHvdakg8LH8FLNlnT9/nUHzIRfzVrnzTylbT773ulls+OpZmrpOW+XyKV8JCJ0sw12HLfLyOd0t0fc6Mi+i33XWn6vvamcQm1dnNa7gdkfDjLgvh1sm25H5JN0xLclnuJNOZe+fpThdR70bvlfkiq/tBflbgt9zJp/h2UZgO+5rs5LfeD4h7O1BCv5V4qV/juz6JB9nVfRWu5H5YmA37ccs9Jc9qGePXlWuX8luQmuLfSXIoD/9F91+03Ii33+5Ercu94e14iIOnlP6zfcs/Llbh7EaTcLvZsNNKfeV4f9u+13BuI3JPcuhUROvIVvtpf4Wu5HxZtv1e9SrBQMeqO+Jb7YVno1OVYjYVV3df/HhP35CYeWbgCd2NDsvyJbPNBSve3x/3EOr9+JnvfOioXI3X59kujJ8UeHffEsm7iEZ1rcS9/isbkfsjcfHzc59bxTWTzcWPukU5c/vKM8Q5a5YdPCmK+GROH+OWGkD6nHoYxHaQhKtWUTmNUsfiQWBKqTzzEAX+NGS8ldLjUX3ykEMwn5EyTnciZzoafVUvnfAQlJvwX4mL5wtoT6yzjv2EnI4h32aAE9XnLw/JFY+76WY6qRwX0lyD8ell+atbo3LLCLLTwN7as8xO8wwJL/C4ta5BlA/p9ovrrjHI5oxjBERwu8cqJGTIQRXFe+cii4JTinOCHOY/oKMVqnB/D4fkcfo4IPMWfW0YEkQekDkSpNeRpA+JCFjJtlZXYk1PvuuYbOV+ZNYI2BdSweQaU52fYAYgvwR5JjhEd/BzjBCfueOieQXCMjaeGw9HRETIMjRDFHUgd5yNLUlDIk3Ps0fTIOjqHBOfU/ccnyHxwhNXKsErwewR55CIcc89irHoj/r+bcxcKfFNtnPd4xO9b0ebkr2aNEhyMyOQcf5M5tgTbhOyOEU5Ck1Ka0aBFCfBsiVwCwkbIz8W5CEE5wYMzzAkuPcHAM4qsyj3hm2iOZUPAEWI9Sjkd32mQ/EmGl5cYYUDcKUKcUT9QxrXk8yuA74x9f/+SqOf7U7dudp/+mqvREbRnYMF/AOEIh2wAiAfwe8SwwtA6PrbCWOJERc1ag38yS6iTwAjh7jkmRhlGOTEjZzyS4XQ+GMSk6ZBjGkq1RpoPuR/jeE5xZokF9wErQI6V1VY0f7kC9xuWr/I1giEHiKEtwGhA3YCIrUGKYPAQjqEbltROwQyngRLuOgR650iAYe5WkXug+nEguYc73GO83TKcZkmtaO6B4r6z114hn90fcJZPfs5XCFoBzYMWJEQCtMvSGsAYD0XDzs4R/VmgWhijRn9Sxl2HZKwHrss9oOFMM/DZNbl/c5/MUZ4WKhTi6D6GwR5QS7BR1llK1gJBgcE+X1onT+i+R3mCt3lYxl2HCC1zkDsal3u4n1DfBNSF1+Se/fFeqVtf7lQIxiho8jPrhAxFnNugWcdwesJtPrJinASx7WTDU9tLuesQoWVYbfOcaERG21t1T0jqmiaCInexWB2IviPuJ8L0HajJtq7cq6b57Ked+ihdzTc1xqJmkZ5Y4imvs5eMKSMz7rycuwyBkX9C66YztI/mwlqSkRFkKoxTC0PP2LwpcheL1QFq+aW0Z+L0GM8HykaqKz/dI/gS7GStk3rgNuDCJaVuQNMYeGB3YDckgjsyLZ9XdYgsD2dGMI5wEVTgLiODCYlG/ZGoQ447L1ZJZ6l5lWSgV2YN3uL86cu7gbwrZdhp0RTTOA9ENxzxOI9FNzyhQXyUCe4xMMJZ92x3XlUhskDIHdeXx8q+tBR3Xq+epTxRW0dBVuSeisVtCt1zNMd1G16F4OOY5+0jq+Fm5df3wBzkj+8b1bJSqv82XllIXLWDnqodn6Q0x1RdVX+UDzsmlhNHWPfPexj1u4ch//k3DSv58CTU8+igkYoxsvjq07uE/vGXfz1cpwcvN8A9y34N//zPX1xl36Ch9L744ul//Xy4Po9A4sFAKvTzweBxvLPcSiuttNJKK6200korrbTSSiuttNJKK3co/wcLjk64CmVuZHN0cmVhbQplbmRvYmoKMjUgMCBvYmogPDwvQ29sb3JTcGFjZS9EZXZpY2VSR0IvTmFtZS9JbTEvU3VidHlwZS9JbWFnZS9IZWlnaHQgMTk4L0ZpbHRlclsvRmxhdGVEZWNvZGUvRENURGVjb2RlXS9UeXBlL1hPYmplY3QvV2lkdGggNjc2L0xlbmd0aCAzMjY5MC9CaXRzUGVyQ29tcG9uZW50IDg+PnN0cmVhbQp4nMy6ZVBcQdc1OrgT3J3BJbgECBIywACDO0EGdwtOgru7uzuDu7u7S9AQNDgkyM3zvVVvvfe798et+v7cfVadqrNr9Wqp7j57d/Xb6tsPAA4YJAcCwMHBAWT/PYC3VwCBpJ2xl4M9p4mDHY2GGo2tg4XD2wbg0384/0f2H5H/Uw24t14ALipgGL4IAY4OAI8Lh4AL9zYIoAbAARAACP+LAfgvQ0PHgENBRUZEgkf4R9DEAQCQEOHg4ZGQMFBRkBFRAPAIiEjIgH8UNHRcPHwCWm7J38Iqxu4ehERCTv7x+bDmll0yutSmvrnVK2ISeqCgVisDC6+mdhkjk+UKs4xOaFrp0j9dgv+u77/tP17c/6d3HYCJAPevxQi4AHFAzxALGOn/F9B3b2nY3/97frMemKGahP4fZL8B2v3B7o+Pz9/X3fNUs8+vrq6e7P63cjtbV1fPH72UWSBvAGpq6pzFS4fYmT9dvhH+YNX/Kuyb8l9y/wNqXd3i7x8MrzeamAmK/wsibwDf+n8SiRsSxSz/jZ39q1kWsPvl//Cxxdxfbhy9AT7uxLbUtrS02Pw9l5z6f+nQzv7+ner/aoSqv2H00FBXfpdLQ/2BnZ2i5ZKQsHBrOQO+t4sXHaZqk/NhBEjVNGyekXkJXYOZqx6VBpZh5c9OR9hm0IYPZYiByOMJCgoWK7f1eR0iFkkH40mBvIojCXPoRhWSeRwxD9Gx+erDmeG5+vyIcKqTapWJlUHqB4bMU/wDekcOs4rowV3MUPD2cLkaW8qkUH1VnULugRoqLpt6r5KTvFnrAxUHjp681Cf9du1120a7Y6ikk9j+Sf3eqXJOjlHrtRL7pn7SrNXxUovNGObpVaFJPi3PvcJpuimnYjwKn0krQHsTVu7J3HiUgYcNRMErQvvxjtm1++cDw4nvbHfY7qqNNgRV1bcYE8Y/Jj8FeYcKguZ2yb4yQyQrfOgFBgldeiMn4b3LHGHwqgVRy08dXpcnf7758vdo2W+9pF7arBAQyzmcWm8nLJeS1xSe6A7/yDRmA2+7Gdtqe36p3URbKRvFHmQQ2OsKNomy0ybXXXmX6B3Rj5lmg6JH1aKQrQI77y442KSR+4mXefkTR1Hn5qtHZRqbx2bO/nvbtHbI8HoaHWEMi9/aaV7Al2ha0j2BX6PT5C0Pzz5epzn/JoPSQU/Hlu/YWd6Wg3qLoJZgKGnpxHpxptFTDapxEKNBN+OBSAcoKwnX7DOPIjRGOi+574BY0ZulA7MtOX1nLghJU+brMJHli7C2/bHAG8A2lnwDi2h1yzqNYoDeQigpoSzRv2JR4jpJ1ALRvk40nBpSzK0U/1Oqii3JSAFy0XtAkECyECnt39Y1JTC9LtniMePTJI96XkJPGtx/I8oBDGs2AydWuYSNJlLlZ1gheiun0Si4HJAZrT7guwtzAZJVlxOTC+sSqLL6QitZCYXpf45ICjVNxCuQwk6v94+UkqXwDhy6OhUBMuyd3xmPzs5GR7uljx4Yw5sYle+7/M+YycmX24QJkhvlKeZbCg1mXaKWlrW7TH3Zglx6XuMcd/bvpuofpk4e3C43ehxc/+oGzPRMAPfE3wAc52+AW360N8DFiwIKaWe71SW7im0xw5KW3DHhbmjaBOhTuGlruBOLGqmaeiw4/9KNoWtberwpRc6js5jNczT3na5u6366PTNOwLHClwgG7dpQbFX1K6f8Tpii096B2VmM49f550+1QTkEIzHiNAZLrRhmpAqL6GHq2c6iZtRYm/EJ1TwpS7xMQiYm5cgCbRVIgRL2kA8BHs97T1uaQmOq5cjQVR7cpLJNtGD8xtFip9lK5sSN6NGZ6ZhqFQUP3f53kNbmlVC1I5TGMtqtduBesJTJdPVibo3kysUvt1Cn9sBLy2DK6M5cK/Uvd3PMENROIwQDxAZv9EDUuonrIGFc0yya7KMcwKa/8rQaayLEdB4ta1rqgT1V3iAb6BwuHT1lsxggQ+Ot7RI4sLExEH5CQUmZTcwiZhMYsIRSqV22r6RsFUJCa/jzpZEs5Be1dkjgmWlbJvXZNF+ulWmARDkP46+gGOmV5LqEz9aceJGK9KNRk7NPfEaMFVx1BL8vo9EigUomKz2jaWq4TtgbdpxTSueKsVUQu0uFWMXjrfRtXc0SJ2s3ayeI7vCDwAiiOUW8t9dtKF452WApWbqqi7xoILJyP9sP7rNn38pfb4D3hi3XWzclgjnLlEbDpKUQdzUaZmyiQe1Yup9d9vFtmWaxUUUmw+4sOXK97LRiEhBvHvD8p6ARQpkBKHL0ebshFYO13yg9lmK+z7eR7W9qs6LqbmYbChPEg1z5ZcJtMdN7mvuM6WJJOSe1VAEDOmpC4+ZKbnTLorfc98UrErHDeyd8HEHMuorSvCt63bixH9v5TiHRprY5w5Lj+AKT16/6xoP0GoeYEghxtE4e5rqqXoSC7zKyP7SpsQUvpOlEjEuXDBcisQozHZiIO7s3LFDGTteCq1SH5Mmc3AQhP5zTUiiHizlF71EpVIQiITm7shL9BVIvplapE6ag2jjhIFbN1QAfBMn8ZoJT/+EaB0u9ZjbJktnR3zMAfbM0C4F601BoGLdEFXeJv6JRWhNLADjlB7HxgcQf4z5qIzqsARs9Q+k2hgUD2avxqPhy4fhUWkYLdAmFXRs0FYqxtCvoaY7uV7Uy/F78Hh4knePlhOVrgpNCHowCbR+7811aeDVtT62Kxhbnm+EgW02xtWr3FNYopTzOQRZh1EWOv+uZI5hCtR2zLAuq/HLsbwCsJDpAnEgzmZM5wqB8IjToHTO5viryr8Vanl85c32Cehq/QUv7emFlIc4j7Lxf7YZzdJOdRjRMwylKqPby8vwSs/OdGx1UBF1k38UJCmi4M+6x9dJ62XR1f/wosvEzT93t0p3tA+nwPik2uUluIZcnb6HlFr1QdVJxg2gPu6J3GQdPiq07Ke3Qiwh4yUrJQYklDmcMm8XTRKFdOuKQhAb0TkVc6OBKLZQEJoDdwXZxbJFCrKFMt9mfPtaA0TvBdR+skwAa9rSIuziwgVlncFd5TtY1iI6SU1FRSR1M4TtF9xyyJTmXyE01PEHUJ27KNcFjvO5m7xPWOpfOfUIUXk/KvkxrHpwcOJ3E4nwySpDU4gICFXRYVJPAUDAznK9i8KnniF2NzfqdFqh4ATkv6gdNxs+qogV41fecK2iM5DE07KTwwwmOlz89ahNxqXQ+B+WX3hDoyz4Da6srvYerZWetNYsYpfhR0MhcoZM2GnFxIPRfY6p1WVF+ydbojD/gxsESYQ2TqNHw0n2U4UicHYZ3r7E3TSK+viMjFQEPJA7Vf9npHEGgvuPvIglNZGa9e6ch14sJOD/C8qksq8opvttRjMplY7KIjbEeYyfyBt30W+e2s/gZqaaa54i2R7TOHGjcRVL0OdtM40/XI6CCFoKa0Zq63wHj2zMAuuezOh9Q3De9+bWLNaZYiuMrNNEK0xnWlAvkOJwINEW2usV7jmrv4cJgQb2oElwwbSOS946YCKhVNGF0WGf/Xi3e6CtXuvctNuv3TWfkf3TfAJX7K+s7Iys3Bm0VBl9LXczimp9CPueRm/E7Z/20VcLlsQq8zsp3TiXVVB6cHG5pGjW+EUxO4XpC/ElJ1QVz+erf55z6y0e4T6cmOKcd++Tx7usH7K4JTxB+IExTcUqHZf1M6Oe7/bUc1dF3/qDqQdvZLF8KlxRwtpR/ZzLbClpbeLFXb6F01p21vVJcWiKEBKNLNcm17MpAKnCMDelyvH9MaD5SM5fQ5litAs4EB5DnV7nOVxEgt9sUzcyqxqRihCogFKBQF4n593roZG8mYaYO+8D9uf00vkfJxvv8pOnvX451GErewuWT9aaO76jYG+A1kn/lWUPtf/vWNEr6/0ZaRlD3ahCa2PgWPui1QOx/Ps2fbv5r0YFM0lTHkHRvMS7xJ6/gV5XjIM8xN7GpJyKJ7a8JEnv+yfC7oGgrBZgxY0erAA2sEr1hCPpu8HI8fbi0sucNEHsu+FTtazBkkus78+ztdr/hEIHkiu0ysyqv49RxZLSqUI404DEshKOzbRNXZAcr4SGgwEeMb/qQij/WEbkQF86VksI4y+7prmEDtJWqVu6VbZfxFcxFuZqq9KS3vtkvDy9Q/mpaBI1qzkqZz4oXdYMVDcIGOegKMdB/USQ7fWoKYvtDTs8qU662VrZf9Q4bjfvpYCHpvORQ/IOw2ZR/Mqscrq3+D036fkwIG0c0162x5MqtW9mpUZUkZwKDXEDOfPl+gd4YA3gMpSgjOBmfHkPIEMXKa9rjDTDEeaFybtn/1GBD2ELiaSav/gUZbdiBSnuKPZGMsoSjniLekdTZzzLoPJxMtB4baLZ647OHFvPjbkyh6uEXwr45D/NlFrdOmYj2CUolU5s7zOzL659HPkEhJg8F0jeA93e4ZJskgkNMA0dLjfU3wMbTRzHD2KXzGma+y6XpBoOPPBMDpi6mjhcOS5+nwfhxwnZ+S5kwb7Fo8TG+ldJWf0wdkoQJtKCyuvUrXhgU2JQqNNgPyWKzMwzinSZe07fvS/2NrRx0+GzGzHhUr2jEg4jHyG8CkMcLApVLOLVInfmB/FJBFgAGNysN7yJn6XhlkKwj9M7t8enFt3Dt4v5PV0s50z5bMkf53oCwoFn095QqLWxXRztsg77YGHnxuRjTaHqeXe560DwG1SfTeLJPySFMH23lrdgVVQOrkpaiIndIqALt0LWivmJ4ObrTe7XFNFfCfcgqYOAHQ4kfJ9LCGgvJZ3TlIaTmwmnFNCYc7BE8TZKSuMX6sgYZhHxy6e+0ex+X27Qayuj0EiFWjbnhd61NiZZZ9apPBobg51O8MGiZCt7DrEyheZHsIdCTvPDMOLm84kI+kb8ALhb5g1Ble2aBrRi9d0KRk9ZzPYT+DXB9tPMG+KSc+3q5SHPX+UrQLn76z4lA993giVD84Klr+/LL5UmFpLId3LCvwB/B8f1XcKgNxrCsXTZ02G2NLwQ/edcK+u6Uzt5GYpn0EyAjt+jsIurYABs8f0wugnew2eRityQIxxbAwPQSC8waPB4hvGpe6hBLIKKMM52y6JT8rSlgr8Q12SBwDeHnz5obHt5bXCKLzSnnGbQ8VHtCBLHvtXUNwWC7NgX4syjC37O2zgOdOugO3O3Mi0q+qsXeetySXNPl7aP/fZnAs92IJOWeFNiO4WKvZ5JjLYoA2uAiDmHCgDzEfwmMFWXUCWxTRs2/tU6tYUAFkB3P4667Id9VX5jiRai4dfupoZlrOnOPNekJvNT2LGzs5h824clWtWfzre0gUtLFRDidIaDTCIhef9BqYkxDChdO2QbQe/QvDfLPUAK31irZpM/7Qq5z+KyV671cs8lcvqwrOGOAnnSTyducBtda66A/4OW+xvXs5Kal6t69BEqRkZuUqhcyS5IObYgzcm4XhR6X7DxVP9f8vq2LINTHCJhy+BLi2mB97pvRdrnR1RM7cnJvuGFjEOgpilTXKm/lpKAmZDOtGH44qcIv8yt+rEh4kBMr4pm4jjBPWzlAPpBtX+cV6OC00mg3MwlBytm8Xg/2RGF638ZG+5p1oV0q6my/iUEtVzQxvTiVkQly6rYOq3VSszyTu1DuorBnySKbx5iGLN+hOKrueEIHyzFVaEeGRBpywMnHJmBd/h95qkl57g8+Pr7UGXc/s/PWX/5F9aCnbIFAjsG6o/dGhIll8eDlNAT9LWxaqSLYagcenuaoOV4pPG4lfz0bobVHXGtKskpY5jt4tSDDv+vVGYNeVrWkNhYuRX7cnV9CoWyHCRp+bfBOjqRSLPjs1h/TpYKChcaLL0/JCmCgzHIIkw75gIkHhB1sa+TUdSietBV+aGOSdWNu5UwO5AgaEdCnD87QYv5AGvpjPBnQy99MIEJAbKU3i1egI5LJqqCWVbz0wRGxpHVDwVpgkJhp/WNzFAuxt2vsCXKOYv2Es3FWOjZoKrFRqLhaZSiJC84L05fEJOejMF9GwQ9+sexibmI1VZSXX11tct2qvoTAU++1OlYF/nXuAIJ8+ABp2AeFzDhcVjFmBUASTrrxVAxikbKVAKlpOT/6/CiXJJ+VOoCY2VV37lXogTc+/OTMtyxNSiZJk1uH5PDaMWOHYqROfZpYZHZximme387JDZ8w5Z9INJgC9PyIyIYBtfoqJhwU4sZISSHaNmzMOJ5ucEdOKw7HkYRC9umGrw1zcd/BZmcW3fDjEI6tI6Fmj41HzChifmut/fgFub46kdkcpI4Dbs0Kgw/BwuiGgyG9m4UDj4W96QlbsU9T3bFKVf2iTTI9g+sNQIyXWGtDcsg6gsXNWP/ZFft60GqCtLlZnndCNDy74hO1q903o292Utejj5NtbJkiEyIZqqkC7U3CBXy3EKwa1FgGKOHYO2HWxlKCfOESAiMUHxre+04LSq1xZ30GmHa9WahzlfTexLdgCOmMpRtNMtwNTlshbgqZYAoxVJSNFKgwrq9tqEwCvncnLIvhkD3/vIA/3Tii7sJOLNHsZVu8r9qA6Nc6DIyT06TIm3Ibn9c4TOlPxqhIxCSjkPnopfJA+RJ2+ZeRicVdUkjCG8Oqoe9jSPZtqZfyd1cbPMFi1TavouO4AohzUyRhjqppOR4juwyzarFkPxyQiSYPcyGGz4i9oJ82ShLVwVvjDeDzod5jeVHr4cwzNCrVPkYRKnTLxhGswSuwW8RZroQLJl8xb2mItfV4FyTAlWprRTLGbr79QGNvRqXTywnbkt2SuLHrGbvZoll4+vN4nyWRKiR1HdTOWv9L/exsLH/QaqdGsDHwJrZfITJBp55n3G+2WSlWoRt6673PFiSHQKkC46Qd1zmlG3KiIhq5PitOLMWWtAqXpJmE4AnznvxNgibKSyyvy52AwHxBZQYHdUbwAs2LFZubBIwS8eCAgBMe7FasINXjouPmYOMSc5UwgxD/NwDX1EFNEMIg2yqrAXlBPF/EkJE+UWuE6Sdj7BVqP1pCP6qNfjFHDM7nbKpRS1VlEAEr5/hBqww3mc2NFHkUkcCvXfzWdI5rQk2kSVJjXpphtNZenU+UVUYxnMKOpaAeFlJGghit+J8ZXX5fNlXj8qI8hXImGVxAC1g0TKjhuK3jSNxBtLhQLqCbZfqoImyoAjaYAD9KVlZwIB8I+dw6KunpNgAFOmOKuQYJEufU7fe1YeAldan0KiTT3yRn6hRzmWhWCH/QhB0IJcmmNlkgkdPWsIKFEgI1LsSejOe6IQVswA+lqXPdY6sJBPU2oSVo329u2DELpVXcPn5C1vccYbeAjcSlzK8m/OID3g2jtfElPeCpFzHKnP/59gagqujLRLDoHKjSscbN5vo3iCaY1THbCT3SR7jJqeAu9MFhRBCjukS/NXGIFp2tifeZ5y7PkTCCarDie8XTTI1ysH2XPun1E+bhiPq5sKPszLs1BVB+BTWsda3MHK4J489BaFZfXP6vxXL1VqE3AB2jxI/qrOCRrCb/qwpFAtXi2RK+2Etj/juDbzMn9vvvQc0itCcXqmo5Zmu8hBUONtnUkbBItecvCVJNTbwwWE+HKkuV9AiKZpFN/NaioqUmf7F6nl2fM38feYR6CkmV8dNjz8u1ftDG1mvu1huA2reVXVxm5o+YZlfH9i1Zt9PCGKTOOTKI8ma5qhO89LnQJVTUnR2aAxoiSPtcHB0d/a5F4mxR96fm/kIt9LuFm72LuYernbLUAh6aDqT6ovq402zcXRk7wkm/btMzLseg4eNIxmr2kED3Hq+uPrCKZaWURU13Mp/eoC7tlVf6KF7K9Ti+Hcunr68YLFMS5l0olaC5naiv4XxiSLBJawd9tm9qPK9ZpRyLk7j7BbNC1QdHhrcgQ3lLnqLXsnuRi52tRpj118PtJMp5DmLUwoGS+JHWw3DdW6KM1h9DL3c400+MNDEDp3hLpL7HUbJPtuU43kMtszzn1dtU766rypNMR7xwsWPR4Q8OPtktCU8cdIftWu5jzCeVlNbpIsssvwHqwFSb2GHH5hQWMVgSF4s79BM3VuTrpjlsq3lCos2f98qIWX6vfjQuT9Ob6DpjA1TqrVgRz1E1UBpM8QxjunaQcNyoa4kxgxdzuaSLZcxsJfQi4lO0iSY2PpPHTHPfCIeQH78mRTPKgAL7CWcgdtEB6uWIGEcxMZzqTiH8Ak4oKadE3gkttGQttlrR9Yh9OeZ5RsCGEGlFN8hInVDgY8Tvcrjg1jF6m1gSvJRV/9FDKIOY1pHjWIhQyhiNMDwbXeA07QyEu832g/7kPkUSyBQLPUr6ZITG2B0SP5e/1mTMWKy/3cbjaqVOxBPDjowwYLS9zM0UPWUSxYtqGxyjh5vU0Dxqgpc2UY9yfBDtv0vKifUu6r2dNWGzKG97nrLU0YrAHViFU9aTVY3KihEAfb5BS5KhGjLlLT8rEEcPltZZGTVT/aU34POdnxxqrQAdYUodadFA09PNmAUyD7ERc6hKmR74gciMJMi3Gw6PHw8D1BfiN1thUzyukN/hkQop3uUR2cmo+wX4qH+0SDXlBo8xhRjJHzrYY3Cu4gqPfW6P06j3ruvnE8rVf8DJ7FGVYdsW/c2sw+uiWFkLKCILr004ZMd3rcJQguSKH3m0F86OGlARxDtLncbAbtasV43OidpLBEeal55wLERSKoiEfkMufrtmWBuQJYr0fe1BHm+estEppVVLOrjmJzHBj1YBYcJrEIHbOYC5CnNEdBfa0YbU/kCNffSUFkGC7yo/hzve690P45z4rRGF7sqAeBYBkOjJNuuvvScwho6noDyPL5QJhXbK77WCwSHE0IkW73DanJrZ3ZFaRS1G0eC+dOdne2qMlU0GRgfIFc6YHsHvv3iIV/na9lALbXZGEbIUyNbaCiMuhi6wBnaEGvnXK0GLS3ZztGvEIeMgslQvfpsv36b+AhQ24AJBtsI19BFOBIh2yWsbDZV/OCgQoQMd4I4W7QGDbjh1UOQUYt4H0hoU4+uWW1JsbqhxYKF4wE5456iUDDZg8tDSqa9rZuXjeOy0qVp8+vhmxjQy7+nxDpDnEobEuLv7el6i2ghAjk1CSo6fMcVgZIfhFn/qKEx9vKK6eMfoHbDjf1F8m+u68n+J7tOTX6BfANenNv1nwvB/OBoBDY2Navt7MSCygaoC1Bn5CiMAAzVKig/sDhR5v6SCPD3XRGIWbfADkQWmKqvwZDVELVxt1b/zT1rjMjUlFuuIOpj5WsWnSKjF+eyRszlLbS9OH837xWWxH2ZdUTXueXa7TC80i1pFcE8I7ZjzCqNFsG/Ph4wkJAVMKIQFx0BqYuQXi2xMoeZSPx6ff8MwRNi8Hj6X45ETSRwVEAR3+byaFFCESdy9pHNkmZH+2x4x9lPVcZiv0In8l50SuLKYeCcE3DCQLaUkOTmxYz2kS48WC/VNbo2TRRwXqW+zqtjDeQ8g7Ac6GXvYzfXO3FhE+sqNLJ/x7VLbf9heT1TV4s+xnUUDNTrMN7m1u3+1RzWDxtDm7qwHUeDXFZCgjpxEiUOe1n62RTNEUFH3cKWfK0mdBvu5+dG8sstTowapO6wTUNzOMaB+0jHbdqN4+CT3rTQgQeNBzG7Ky9Yed6gj+MbopsxcMWSonlE0qU4xL9GNqE36oyHxV9AdZaIM1VxSV/F5/BpcaYGTnZO0J1iVTcEpmEzFH+ezl7r278yHbvNshZV9umSmFZRvQ1sy3+QgXFGYh6ciIaOmCFd9swXTzMUM+6n00veXMQElP/WVS5F58bIYrwpR1alkTtI2VqKV9kTYmwazl3imBWK+EC8dERPdBOkuRvEWKc1H5fvCQWHNUlcRxrzaXk0CbWYlAqoxK1xMGUnIBw43bwCLq9f1LYSvjXqaT6gDgb1/bSL1rnM+cEoE6M+H/bQ43t80111O9kL+JWqgROxiHsfVySRxcrxpPEoBZnDRS7gvpSMS4FCPO8bOvXW9wuAh7Y8pW+9UMlHA6dVH4Ie1+gvZF4wgFjgkwYbluT4HdXyhsc+zyDzexwkySl5llSINP91GHSMXz+KGdEKRjXoONic+xJocmxgPh3/g7pLdRJOQavnsx/B5Y00PYFUTG+MOnN8gnatx5CNm4fp74povxp5lal0iEJWaw/0JsvvTSSDvg1M8z1osBs2Kz28C70gfcvyEgxyqNUIGbU49j0OO+nDVpD7qLZTTUk0bK8Pr/djiS0WPvY3W7u3+G2znifrJr1MMMlH7Ojy/ndMLZuaP/xZ9PtLsfCwyCxvDiOd2b0kZ5itlkggu/xQ/fYTXNkYvFbLBpay54/vHUGh6g0KRVTLgd5WMisuJm8awiW1yGKpT9EBYfEKYgLX9KMkcfGD+JYzwFJ+B5eqTHsbXPhZkVu3JP+BC9bgOpudghGRo2+0+ybTupEmmSXhQCgq3mZBZho1oCc1tsziNDd+8NE8UN0KD82Ag6SdSE1xBHESa7ZXuB0776KhRdeFOoXwrO1mcaL3IhMFjnGLAMLwfA/oSiQpikHmajnFbCHw/ST+54TDN+mOOC1HJx5bkGGmKgvEMrboOe2xPT+m9wWK65VK2TlOmEX572WVarsWK3r0m3eSQCuCCRN4dcrZT2KeuY3rzxq7josmL+S3CtTOa4z3n21Ub0wQwffkimVOAudFEHaN/eDkJiBwnu9FZGzP9uB6VS6ojc6E/0O+dLDvIPFiX6uuHN0D/tHSH788Xp+fcZ5HUf/lNz8r5vTeHzfYtcWdL/VIKkw7T+C7FXxrj2g3bHt3sZe1s01y2IJcz/5Aeu/oXJOXK+xbBVpFaqfn5YJPCyoLBqano6LEY3R97PxqvF+ilgvGgU8owaBMjgZRpEZHxSJYROjMsjSvkDRBR5TJfXa1yHnVEjt0KXkf7HntahEF35nkOnl1zRqCm/ZVhXCfI34zL6M9cqINPK13MIY/iXKV2Qy8LsMiwMqOgilyZjtlWbhDgNBtdaEtps2nISi7G6IBwjden/+mMWv8U8F6BJr3jKzXFuA6dfCcKkP0osqdDvJkZ78Ch6uyCmTNcmtKZftht3ck7Hdc4uiq4uaFVNgM7rtfCCcV7DFYjH8ugjCi/ZezMTW+n6ZiRGoW6rb2ztsqg0C/WplaIzvgQohEj4rME+TBcx+cNdDIYSn9nC1Tdcl7V93idfcZL2HLWbgazLJCBC1+dAyP5sN7HKjm6uw4WsEgVZkGjTHAAYcGlRKQWWuKpf79962GqXLq9P3+sjDjaejGo9W1peune0Lv+0/Ol66Vfx2NxV82nTV33vkM3j509rZ+rddiT0X1iBlu58+MSLXvQSTCpwuPqAFP82IEZo2Yy+D5NQVOhPJq1+U4Vh6/ExZ7fsEVwprglEQt/IGHL74utIIykBn5Z8Ol6EokxtWPSGPcrC8B7E/YHVzBQSn95eDX0J9lZO5UP7JM8LvLYDi4fT76H+lIpMSVZx7sFDsqlc7tgGL2xXDTXJm23jGmZ1LbLkaSTqexNglnNoHZBqPuYz3m/JL0HbrGfm8GBpzEcQ4oOw18GZwKIZXJzGz14b/NHshThMTETiy5DWXIC38lcJdgDk1ZVQ5qEh4BJFJbkxIjZAE+DvttqxAC+3KoZsSMJtRJQwq/TpoUOkz5w7zcr+9Gjws+hjyYILdj54SNb+WPFN+MbBQ0oUFav95MMbWods2KpffhQLx91Gmbm5FqBLSZAtr65EK0rLzCsjUaeTcJdY8j9wSZasg+XznV8OiLYOULWMKfo95ZQNFpEsm7t3cOruGLX8t1fu52t7eUK/1v15xSdm/M3QNIb4NeKhvVOdnekzxug5g0gOOI9C3WfNN8Su3gDMHi75GxSLArJaB22sZOTJFj7U2S34O0TjkhcjZuari6o0d4+LqALY1R8lcJTM1VSYqvindZ1TizkaZqb3mLf/GBhFdTtUYo8feWTY//7itZbJdz5ef7jvN7GcbRym7eoxotpCeOw4RbCtDNkcX44Opon/48wh7FtnXKI+M8ugiyPjgzjx1OzB+R3LpAb6Ripm9Cf0WO9DLRcVrMpuQQD+n6KCY+J8a7TNawA1wlVp5Mq7cQMnImFygX3aPd9QtyOjeGvrV6Pp3Tu0P5HXc6zbqpKrgDWYxv2EiuedH6SDNBSrGpPgXt4I9+AFkwul1pnm0IhkYe/kV6euZ2+Fk5fsFPKd+5Pt1jTbcr7z3jiStZmXtDMp09ofa1vgHk98lM3mdtK7atNttc/L0LwaHTwfuEfnAhpMgZq0vZVmvaxTjnpwD8yKYwxfSlHYDadrBw287fssn5ZDy2H5Qv0CvWSNIa/HGLHEwqkoh4sCEuBUtFc47KGPg/338SpqVOPupBBYp/1uUaEklZtv/4Kyi6Kbe+CTTmPZJmrw7Qpi7SvdTB1F0lr+L76MCdI3y6vhyiRuId+/EDwaSBTPmI5FLdTeGjzgLNpqZq8fb2oThDry4I58PJYc0ZPgNWaizfP1VzVxZvECfYjDmurswnBU7aMk3HIL0wT2JjCPpSv500lcIohTIam92OFp/NHzpfWh4z6Km7cWD3BGG7e/HwhYBLztrsrNkGCv3aUUEBNFLva4VFZW2ErOprmx17SIj/Bdbe64f2NpZ4PYuuvPXc9y5l/X7SaLYLd7jaazp/en9z//ZaZNevK+G2AWzGqz7PU4GeoCFPgTx/5+LrFqU/oBcrd8fhjvx/SpMOWNcbx2WnJYYrvKpHXy26t/6WxwCyoST8c0QdV5mO3QaiyR4IzZXwYmD4aD6puM2imGqC2CW1joCqqqolqQiH60o+gxEGnTCGC2stEQweT7GpiZg5+DtXXegOcMMWJvwqNiO28Xr4aDp3ea/kL8/76vrjN3fSO3u6j3oGm8xEjniTlsDLgB/OGTbP2xHsrLVLskajxnvn2BbzwyUE2ip0vERI9l87AGdqErHCoWyBeZjH5/gafWfK2HJ2rAzR2ZH2TmppqKznOvzw7vZh2YouSIrWCVC4uz0Fa8mSZTdUSVSEpEcJlxA6P44x2gnJ4/jP5S6+BLdbcGGeRkYaScrZ7LLnr6FhisiuNEvOUkp11jfLE9zHWuFLhvGDLuGpjf9pIGIfUp10eJE44ePXzq8fTnJXHP99FvhHfedtsZ1k7vaR6cm90WlQ8RguPDjHoE3cmCpOpsFoOpWUn63IrXuMvdX7G42rMV1clIhpIAv49SBWWMUFbwik/SJQggv8luqf4BrC6j86Nw6yZLUfuPBEdI68RRB8sTdJUWz1KCHeJjFt2jAAoGg8Mlznkigsxquv4p6YimrKnIoIPeu0WkdvfabkW4lod9exVW/ZxJ12J6oTuWUJhIfUBGkus1/bWpZ4YewkRbBdFBZqP5eNKrF58ROp3dO4uX9W8c6omdk4bzFVM+h4tOI7Sxb2Hr5C5cw5Jsfx3RtxkETXWtS+N7psu99qRkyk7dB8ufTU6Zs2ZlmpHJ7oXLsf+xGN/u3F0S/wjLX3LrE76lUf/+TkaL6vkdQ9nM49ZBR2g5+TtrCGdYYKf5WWf36UYlszBWRFo6JBwTVDKcWD1qpktFL3tkGg+XxXI7UYZbNwOLomdOEggxl014XPDW7FgiPhsnGZ0Ru+bZXS5qXFFgK/Xl4vjHGPglj1DKTT6BfbaDUXWbKvpPTDnUS7zlZi+6AKTNOJR6YUpSalv0FTae7Fkz02h36cgh6BR+EOJXdbjZXJuZWTmL/s/6H+zxG33cd6/WAeaK2mab17ZBtgEj9d9osGfV4iL7yylYUYlQoJ3g5oI8n2MMvWwK6HwmyG9dTQyz3Iaqsrl2UITSLS1H1La0RBZlQ5XDYvhA81EFyoMe37C6U0ukZ4Sc1bQjfNXjI3n4FluV8OLuJ/NG1nIjSFNccKqxwWtUoT/ca0SPmx6lQliwIOO8qhR65Bqb0sPkEym5skGNy3dsxKXoBC8G51twaWJ7WnJdru9sDSQo0OsVK+p26SKZLjipCg8dsfvbjv7yJyddKDqneFsjta67Xja4VTqUW16Po39BM9edWWwAovBwpJ+wBrR0Z3VHSmaiF/5orwzSJbL56OMSdrBSB+QsF2uZT467evAvOAknc3CGCXJIt3rZhixUiql/M7dKWlgiZNPbh9tArvszv8rqzHtSANJ1ivdnrd0zTtGaOowZeL2rljNJ7Kv4OvxPYlAxzAmOiepdDktrAHHqLzt/qZzvSabEBOr1WzPPtKXoPoxs2kSF1Kz5QJ03ikO3u+ywfWTeIyoz59au0hC/XB9cQbZUDtW3VurvTD//Nn2Rbej+uM3mtupfifL2nGpN7OrWLijTIr/EJFTjiT5R6JaxypWWjcZqUgT6pJUDDcMxxOo6rkLtjrQ1mTex9eRimTi6g2TXr2p0vY3Uairshn+qfCeliJ0b/T1O9mkZ9WjgPmm/CC8TnpsPLZeAkkKET15MU6VN6mFswuFYn8f3PnM9QpJhMXyEhrVXm9cQ6VCq1PokEE53dbFZ34MrZxEimaWJF6+r1V+8VyTDKpVxu84TP+yMILz8gGDFTEjKlbCVprIe7e8g7qVfr3xjob2mikhJcglw4yMw/cgkOatHebkFHOiQBNfk0ApB7mLiYkXzxjIvwtdSg4cTqYKhiRzf46T/JwCCOmLjmUVJbafwSseKhZeAhLT7KZPLO1z226EbVNS0b4BvrlLVc+WBeU3S01QJEkfjOvOVjtKyEdyVymhzQnpBEic5VfPJnFN6YFvCgMKOzAG3V6kDjjQtqaibEI+T8bHRdMkVcvw9ClYOz+byfOP09xJf6A6xOKo6iisw9JOHtJTGfbCu5Og4lCneHjqmfn51OGbW9OiMCfa2WHEl6jUUFixT/EvF6kzss14bLxKgBbmljy2c9B/uz0tFVOhceTYGjLmRIST3I5pbEJE7cOEGdTVV5d5CHqB3wCDxJQ28Sl59WFLUUajXBVoRgInhQq7MZxcAswLgV+PaqxFFwNa+43DkWWnmQOleTDQtIrZIl+oD5/FtO68X7LPrTGfPswLPo0ppCJc9SB5XaeTZczZ2nszoPu7GzzuuQy6vxvIupD1o5sws1VkzmxrZL1ZqOaRhPeEfaZajuubn1F29aW/SJk2xtIaHBN9unAYxaxLSWZk4lcVQESfImtjH/qRgIh/0YcSCfRKGx3+/LynrZ0FYaYngSf/85D5JUSnkaLWwV5T2CNLD6GOl92OQO2n/sFRP1dFwO9bfima7Vd41dYRo/PpZmBdyLbzviLPiugASPj0uGY5ZTKy4y9DgwMzfu173TpvPggPPyKB5VqpCODxZDP6DreQHcSoTUIkOHp1yRWfRJsfX8MMxTVHJcZC4AuU57Kg/rMSfedraALkluL+KwzkdOMLWk6YKY6QQDBdQ7Y9kDSL3tZhc4FNc6LLeDNIyM5z15faxzY2NuXf5Tq4nttvX045uDuMXPZUHvfYuIBR8U9w92JIx0LiIPr0sCDB9S3vqFFnUOdEQgHSwTsUWAH3kUqIRhmNP5uT8di57DtbKzu+vflmpUDCuLD++fyvCruxrSAuTAR2KTg/whC4gAdAL1dkqzSu7j1hEK62IGq1t0F/S+XTdvvOwuPz99r986pCT7RfZYccDW73waBW608lkF48/ZW4o1VrHcysvSKFYRPPzuxxDTwof/tnnshOQdHPZJQJQ7kqZSZSWZxnp1hWt80meinlGK+/tdpr9M6Hjmp/ytn01aZLtrPW4psTIwXWba4cdCp0PpoM/K3rpU0SZOlQc2GUFP2M3vt7As4mIcmNTNXHewluVK05/KqQI9qk5Yak4ft6R3btb8LRF0gULop5svwNcAjnbxKwRFASYCvWNUda3AYb+zlXWvJ7cxCZKrO2XfNrqvOtHuiGSGTj2b4SpzzHVj4HMkLycrdW3G/kXzxBJUk3M/OubI24HWgs+7sdGISlML6Md6G9kU383lZa9TaUo0pJ52KQeTQrYrfaB7T7C3fLccWt6WTjrHASw+3TFA8xmmjSRGldJ9qUHmIsNBFpu0/0N57yZNfYrbc2y/n6w+Pj839uclTb/XF49A29mii9ouiLL4iuEKQ2gyok+uTSO0lkPWyaYcYVQx7w+zHZIEpmCgf1zVmbu/Gj0mZ+D+LtjSca7Q1DeyHAqciwaHu7jRxFvkzDncxIzwhFl03hYedJSyk6A+5NwMI1SNpasLXvB8f4OxxfKWP/K8w6KnqAzgAqmNduHcnntoaBOAcExCnvdIoxxE5uFBopxtXhVSVevQ0PXmMpyybNWcsaVd8+Xt6LulGtkWgS/qXByNUPAX6OkuyZnQ+kts/fZsa5Mu4I4d7nO/VdijXW3aqPAbTnV6gzJ3y9yJMRHmSlSH6MdVGJzk4VQCvXKWXXtiVTQePe8hqZa8/hhP14H8f0UeSJrc+Tduz30aRIMpWKUdRj1MCZmkrrDn17SzMhozNaBSpE22myjnvtDVDiK6xiSX8Rhv848VU9W/H4wwD/UC27k7KmIzrNy/VJjdMIL99FHkA6ryxE9et7zDFSZFr369kOOUZlYn5izmU+efro5rozjWnAdffzV/JnTa7NZ596n6AX3443gArXcvUz5Ew+ZtWptujp6Uo7dZyp/S42UNAJt4TcnT0QzxqRnqZ1FRRmoc12BGs59GffV6eQwEZDYVE3hiqbq1L8T6lZjw7ZJnHgpf3Sj2jpoZKgcohFTlFMiZM2fqx1OI+X0FYpbymwGP0Iq5ka09QtSSQlSVC3DQErgQFufDAp346/6I+h/+07/av7+tNOOQpzLCQbYHGNlkISj9xB2Z5cYygNJBs/QaV2Ae3D/CBsbEjmL1/RGj2vHCqJ7voGrkX1nFlQZklWoC2RnasD+vzvkPpqSyNlY7A9Ufh3nawRsvm2BE/TLW7rUKzI6bVeqWCGNC8ZsxImhYKxGX6qTD4Ktzsf724b7+5YB4c5ddlTzv0AzAYiE4j8VadxWyrdCCMmiRY0uZEeXhJCWy8tjz6MX06dCF1g8QkSb0oG4PcNkV3/HuGO4mPXNFFgieZh21SndaUemMh0zO2uZixisNh89kZKTdH5mZYFTEeYIpm3JTTiyycS56fefllMyh1yXo7KK1BGUCsXSkSgyZJP4SHCGHOs6otg4Iyrio05QAX+flJj9S92Mfd0oByUKhohdozYpkHth6B8H8GxKoptxSTUeQMUx4Y+Lr+eqVfa3LNyKhRq35m9JDU/Vl4bKsYesT9WIcqSQmfCkwj+LY4YcYt2lqiraMvO0GSHWUYZIGRuZAxdRP2imepXRV+1B1sIhxAoubMxVgciyD7tPNQM7Mf2+jquZoVwSh6Ql4Gjbw700yXpzfqBPJTjn0w6FDYbM5yGXwNArENECqIBIBgR/YsDAACcVVpUSRvkPlQ7G90+rGob3eVzG70lh8Mernqwdk4hnnnIGqIzaH5vgAbqCcoeyz+P3yKduqjGrh6f4KcPtIkgZMWtli4rxGdV8CyiUI4kCfQ9nQ8k3nbho02N4QQ3HHVJLrAqhukTNBxG0anCSIzm9inSQi6j5/pjRReS2eQR4tblYxKE2EUPp60KGIQ5+Kw1Mq2TqWJEjy5jPNXjoFw1gpcOUP4R+uHkRoOfXrTzUV5NoUwyBoN4qFwfs+aHKDP5i/EKE4HoOmxx9vRE0bhSl9PNadXxlyklii8kcQafypYjtsxiSJKoLd1MxzjvFayd0A9TwPLTQVYoiHCk+7p5sDBJhS/+hGLc76y0PSfmXG0UhBpPshpOOTrjUCfSaiQrhfviG5HhV7AuZLMpcPXnIrsikGpcz305A/V9msK5czyGF0TF0mnmOhMjr8nJyg7mcTnsaNfFaSy0fuCGaxYo4yIP4ziZckg0+uO1wYZYZRgPWShwi1XVjcp2Tb5sa8sNqymG7zyHVwcZjL2vwK+eGr9MY/CxLBpNKPQfxagfbIMYxswSbOeMGTVQFLwByH9rWyW1lIPey5QHFKP8hs5pT1LxU4d8oj+DCQUpJtcLE0UOb+DWyxTGH6lLt/DC6nmbE9K7qour4Z1xBVsKIFLqVmgsH5wjmetCxl/vmAnx9HNc1Aqf1WRUQ8WntMANBMFlkN/R7sMMLbI8k+FoIVTp5KeFXi1ER2l8/FIH4/gBGtwuVgqHx9iDn+PHtjJS+FFesxauHSj3CkE/RVAJqt8/Bci2RhnX/C71leXvlk8FhlEkC7R+LAEZs06F9aVnUjFeJ/RW10+HpY1HlHpaeyTysXQLpsfymL4EjuNHzWUwXmNGJ/Hw/g3KMeFJrBUe2jrcGjzNsAohs7tAHF2A/wFaXY1C29AlVyuytQUnd9GZFgeX3s9UBcaf9e4db1VxVYmV1TUg5mGeJnIxTrUZJURzuQG2GNIp4dLOJSIheD4JGzAE46ByskIs3ToYAwcFyeG24ZPcdCknkfzOebUr6IABXr93KP3IUSggk+UNMATYVSYW6pQfq/ORAPrVByUdkhjLTTA3KAL2I6pXhmTkQkYuugVDbUErBwNNvBhTs8VxUsZoeyC5hskT9ioaYYTrFK1g20mSvuAX2uLW4c0i4sRRingAhlIgvaWzlYc2oXjK9NHC4b1rtoKZmow86tzLfIrslwMIFe9zR44Ih4d2k0zYJXMtn4GFi2jBhTixH9G78b9d27VDl8/dPVrNrxuGTV1LlcgCx8+7f3DCyTxNzEePCIOCJioMP04FmpMtYDH+6BrOJfx81e6MSrPxNCYPhOOjq8PQzLcUNaZyzMowZnev9gmyN4AbtGNdhcVQrmYVxtLYTmTrG2o0fy7EC56yPU7qFCnTPD5wQh1lhlUZlN2B3zuQDkdJdaGE2HyaDlV61BpNXUZufZ02+zOD3Sh6/PUNEOwT/s3IJvbsyDCv69AsfFnuulXm4yiJzf3G++VS1//7Mb6kOmvL5Wet8cxcjjfALLLa/d/aV5hu5fP7m9f2MkK9h4LSQ8WZXCPM0n9/L91KydKdkZH6ysAl/2sGW4dl5I7XZ1pCk5Oad5ooo8mwHm2yy7+/g5RNI/UfHs8dLp7fAGJdGkPMgo/FLJIhgrTiocu/X2rv9R5m+GtptGqf0J4/toSe+9bvdHtWe8IHKnVH5CZMfPzWc5378uGkWu++AmlO7VrHYqblVe0NUPpFo/L7rOuw/kRrD/x+uL3BFP5xDdcwFygxl2EhvbBfgPkU30oQ7bvzCFIJ0ZdpZadgeomwzIy2qd7b6qmxxRr1bOFG/wOMajwmQs/vfk5D/hvXipmLLFKgXltSh7PfK+R+DPATu4/fgm0Qh6Y65zBvcNoViuOWgtPS4jlCWIB/g7j4F90nFxcSsMqSjTF1uLRz5VzXjX6RDJ9hTnRi6gQ4kSt3Jb8BRMX/MA+i9G8lRfe1EPvrhBSZ+OuwZfBhvZ9fs0teHg6wb+hRyeXZALSNrnRtjKbt5rtGswBdEAVBXAnI6iExR17kNsuiZmaZ1IfYezDO96ot7nkB96wXqUCkFNT+0UydRmEfa6wJPfpcnvCIf+ML5qU7oggVIMssR48rv/UfM7WHiswDYNpKN5zv+VgXV2cIY3lHTmp4PUo3DDR5EULYlz0GdDDj8XCEDxV6hDSrM4n3ht25Kziq1tj6gZz28jvU0VIwUXN6ChuPBDEs8oDfNIpUZnHdDQZ6+l5sX50JpjdrLdwEjVwaB+Foho6v7va01Sgw3eswVRMvuCfXiBzLGNJtSml70/+KTdMd5ZhAXaaY0RD4xMd8Nbpjczee3gDitWtnNayHLxBRAUtfEt2HigYs2ZH546JKejNP2w/WD6xjaix9M7Zndf1f4t2lXo/ys9sUUyN+ZniL2HyLquusZWfQZgjJIKDq2d/4/Wfusum18fVpV6Ntyjh6pGX3rnDH5sXq5aa/0iUDiUX5ZSqWVbmGmW9cLQ3Zhm3aOzd4GKlq9XxRSognKy6fRNo2eatNOLjiI0Y0LiurFg8XYz6Da6R5qP9a9ZHRaMmufk71q9k5WnTtXo8+Qz+rCbedncumnDz8XEKJIKqLQvq2oH+EfpqRUCnpOv7sWL2UcxRrXyDVCIG6IPJTYzaMyn3p3hOfdup68d4siUc9e90qrp4g/cSMP6W7vL0lnCJH+kf+3K/doc9n5CTlXncyZYK98ONII4cJOp8BDBv7zOIF8/Mnr8erg4OrP27vb7vw5UVEwAycnDXTNaxg0Obq6mZUQ3KrEKemE4sKnaxchQYLX4Ec8wAIJ9KgO2ebel2oZlF9/BofTCjiWceiYy4CeHk9qTr2clZL85FHg71X2medrCOYSCKnVU26YxhlslclBtRoDyawJ1c0ZwNF+dBdmT6Nu41IPzu2qmVGGuQOUc+SOgNvmos/2fvOaNF+7pcK8cDrp6B7vB1A00T4adYjl7jVNIxGpdsj7YUk/fAhYaium7oN10OiiEVJp0oYmdE4QNVZHovgjpbLArjMFxhGMghrl66mwUeFshjF1n8aU87aVyNn58feknDKG3+0PCCtktNgr9fHq5CHqjyeWSJhJg2bw6mLpOBizCmHR7Gl6r74f5WbgaWifedWNqEFqwYafk8FIIoSWv4IAIQcYZiDjP4FU/vUf36cwbnh1Dpo10InACI7Xc+0AO97rA5t5Mo3wPwPI6Q+SAwiPWqQdrMpsm5/0wXcjqMAYALg1vQGyGBL4SLdJbZ5RIa7/x0m2OXHTDNSrlGOMYKqdxA/GCsHUfhE8CHFMMPpI+GkN0bY9nrsVZzxp56CtpZCtcMwd+BpIlQ9ydkEC+hxsjxB+ekyMNaxped0AkIopRKmS1KjHN0mgMpASveOjFsmiobnAY9na7AKycMWf1hCDmcCLZVLaGFnwzf2Iu9nj0NsyfYbwOHB57VjvVn312EGS87vjpGbvSZguTA2pXOw3zwBkiwglfxArkZUKguE0hXgLK0CxStT8n5MKKNZLGwJ89ddndcc6OKNH4BuUlkGWo2QeCyBbkTD6Pm54reHFATUeCbCWAejFmp4FuLudRArrrTZwMwYkcxxzDAa9Nr/XHtfF7uDi3sDeJSfxGm4b7fk9mfKdOfxMF0SiqmiBwxvMY/hsRzt60wrJwv/FOy7Z4AiKAELo6SrPIhpaMiKArngycwQpJqg3FQSkTy/NFggtKiJU4C7/qp4L6VXvS/Of3pWYzd9tpva867eALTifgK/n3dO/Ot3xLq0+m8MM/7tG3sPBiuX1gNULcIHTL+RtqnrkSe+HzE2hfDDN3v9oD+w2984e5158XjR7l+e0Uf0ie70/pb7LzOspS5j+NPaU7l1+waw8LXw/daxs+WwMOXLfZiP8Ve+kjwdKtz0q8lb3p+GzzRqEcKiAKrKy9Dot5IiRcGk5cr3M9veJXlvvN6f13ttyOScMcGAz5SI6DLYLP3A5MZnwazMq5+btdhewwUmzPAqHOQHT+HEqDqNY3Vd8EZz9aG6z2UWsFKlExVdND4TvV8AbhCjh+auWts7FPTBCrSKcngGjRIQqew/6R1GBUgUQdv81Y2LicKAR6/VZI3oi3n6yVIMo0kU0VB+U7J03c9Wk7iseOUQRwkndFQhBOY9LAAWcy8qAqo0+fq63K3MqGr5/MtIBEAspf7sL2awxPP85Z480xB3yqLxNYKvUA/cHMMDbKApUmTkB+senksVTvs5CxjJaWPjxhd7J/XKsKdj5eRcfz4w9lu3uPjMxfPK3d/aWBTV22LbhsypX7pNkkxrFYrhdKN+aQsK4GQCNUOYCJzcOFxpGYxJ3+4nswtzPpHiNoFQBsGvC8tw5EHCGCZVRLe577YPu81Te7b1VcFw8V5cNbT6GxO/U7hTvgyvkEwSBpwxVbYHLBP64XDUycNJ1IEBXkpFw4wpMlOaGB4qB0917Hp1qoMGVnRc35MaCGSNCm+Ng3q1A7uwLRvaCtH62qg8BTgHRJGTqz+b7sx/vI2uTd/UDVeMuSny0PrIS3Ptb5xqZioZHRdzIk0bcoh7jClfhRsyvH3CKekOkDCbeq+DjsQCRvX6+YeH1AHLJ7ApHHfiBR/hfcJqACapOUC5DegMJUxtRYbTT9nlXuuTc+8JWvylwGxMguKIQTK+zpQjhxYfQ9mG5cx+azVYqc8wdxrtGICHqN96f5xeFLDHVXNKQHAPPN+tu6D9v8p7q6i62q5L8ODu7u7uTnA5SHB3d3cI7u7uTpDgkkDwgx0guEOQA8GDO/T7fqOqxl/VXTc9uvumx5j7Zl/sq71krmc+a3JwMUqpD/XF8hA4oDkJq9IdTXSrrdxbynyZGuthMbdAajBXVAIo6OdCPHfhBMfRkkUL6gpqMZMM3Zlbw8gl4KxkKgGeM0f7kIwDhtO3nee46HaiY/qURptdT0whlu6gOBfz2Wv4WUR0uLM4cRm3+Dzz2KEBqPgL9ayH5gXE+QaS0B/JkwB/2aPp2bEphvHPKy/9dzhocCkBZF/8NdM4KihOU87JTfvnLu/eU6rbRRv+PpN92quhNtV93n+RzzmVnoSTwRD/ANC4Un2yfUg5BRHnnMSSf3mX25YKnr2kWEnkJRxaXiFl2ng/RhcSd72TGPwAtLDpvm69uxq/GPbXLzmpnzoW4/5UeBcKHif8dE/XFP75XVxEI7N0Bqfx6G/13GUtatzL6Ge1sIXA6/U/8svwkm9jEOSC9/+aZ6QQVC6nHMso9IgQHigyGfmF/7OyQLIAwRA/2D/9wqTuVNj7BA535PnvDzZmKfUTFAWmasuS8f34hka6M2hcVpdEC72n8WyTMX+kneXUwvlIj/lvQIcuAn2w+m5OlqgljV7J+1iefTWHzmR7M4WHnCW92rRTUywa7zwK/QXijLJU20INlwJQ4s+iezRgVIDye/K7MJL17y6D3Q33KZ1Us83w9bQT9JssXVVrZXTYGq01WsuhZnsXZ7dEUVotrNSWbKCcKA7KJA1MiLKjm04m/g0amjPdxlpg0M7npq3zkJKVp8CX4IL1x1B3767jdoZUNp0NXd6meku/CEYafSGFsdMA9SRIo2oza66SEDVn+bIwUQpEg7OrqzDAagbYW33HjFOjYQ85t45uk2NcdbJGA3fLhRBNrP6g5K5MlaFvIaAuXCsmwcfFAVASmlqmNSmzxLFUSMcxka0VKmosX0ShpGszAdGn+/ffyXdMD59eNvoag7fXhzPSwV/XCp6wthO/D/0uWhZKvd8xt8aSp81hVFyWMbpuqF1ND0f7pzv1QyB9yVnTDjNnPj+m6QPzSv/MNJYJ+mOhArVilNREyELDM9FVwjG6TXnG2nwU2eQifD1BJcc/tlkmorFaaxqQDlqOAsom7teDDE/WFKe5+dAYRvM2ZWoY2VceHx/vgu5L99qZ/7j7uvAjjJ8i4kZfjFuvD1xUkU3x0rD1LBUIlUvU0iP+wLRT1QLvqYUqVhMXH8ACJRRwq7DWTpbihW39+eOuxsaxvfLi7lg9je+jhVNQIUQs+WnVNqH9a79zjCzTi6Y7hiTZuI4Rl0E7m7qo7ahcQu3JMrXmbDV98N/x/hfxU2GoGSeAEB4r1BwxlDN+CHGIclUSU9ZVrYHy3wOyk75vjhtL+pbe6UFNWLOt8MRvnVO3eFL1wbdar3U9N2dQmR+AExZth1Jt1+34kiwB8S+h3CVvsg6N8CXeRuQNGGkslsHNfDsPu4j1FNpuAc3iMo1JzwMrITuR1BG0BhqZJK//RM4wSWrJ8Klf8MoL28tR/koqy8pr5DuF4fB9/5rrjuhyb9g/ZE3284R1ifjO0+f3Im+dGph85YuXxkIt12iThDoh2LISExv12Kmv5qjIqwf6okzujqRRmIPmj7ryxjb25HOIA4gJLBKyi6H2r7+2MZ6Zg5VYn+4/AJMht6dfOxi2FNSs9TEi+x7M5KRGGQT2X78IEdnJqGEgK5sXcgUDTUp9BSvCvOwxRxaZ3RElcJRd6RSQhISGWK+HSR00MomfvIZPMxkAbkcNn7GWD/8Cb679bXwnOI41soE9qOH6LH4uyVH2P/W0yB66Ulb3uDyk7KMzcYjxmFQgYXaDOvCXb8Wzpp1fQ+YDJ/jJVo0BY9/1HrjNrdactVCzmR7CL86iYBMoLaxbGeqchAOR7dVKmSvRuKpXygYhUR1QBrnrf/YQGIZIUoH7oKZWG5ATCHYxSJ12hoQuy/wxhEBWc3NF32h0sfr2sBYTzqvhrDbiUGj8IDkaZi7PkutW9fOlEqwBfyfEQQ66CbflNGKCNe6qOsz8b6HivHzcsuuEPANUV8/5mXvtKzpnLgRWT6BZ0deUWQ/WFlWyGzTeDRdpDjXEIZqf9W4nxPEFohTgAT+mj1Lpi88jUAYiRCY8s7dwT7IQLO/CWccVySy0qaJW5Azw/lKksIDpMZS/eWAjP98j2NVaqmOlphawI6FNJ9n3rNbnkfkntXzji6tOi0VbgnIWtdZTMqFHFLMWKSW2lAcSYFpwXw56khGa0wIRJnDDi3hApWfUE3jL3uiwKNDDzwr8vd1HVUFlQDeeDJ2ZgF1sPGTOrMnI2BYn2AJrnQtIpG5u3O4s3z1N1yNgDJBN9EGLmmhvKF1dD0dpwcwEMbA5UfC08FfAFpYJZJlt8frou+NxR5Fjbmbsc8Smxw58FxCmlsHGyPZoEhvMBYXkeYxUdeIlXgXJ3nsKZ/3INSNZpcGqhqAnXzAAUkmrJCbkCnfk5WIjVrqZsBjVqjWar5F4iE0snyTHjRpdrKbEfr4tmo3M9SuGO/7k1akMlsHB42sSdZ7MoWa9QxwULKjtrvKEHBBXH4qy0cVRL1S0dJ94+Uafys54NoSMzSAOq9vSqXA1PLUwTY4fUhtUce5U+E3SnzI5xHZXM0pSeVJPxI8fNEoCRU00e9li9yICV33RLReRL88NrVZ60ActqqebCiZbLnriNdJsTDMkLeOtPSWkDZGFRgezmX9lShBsHSuk4xG5eH8Cy5MJbXLD2ZNqduRufiu1X4/QAVMskQ28IlMhDf9NDEttjuYec8+9pcecqTHmNrNw92v4gu1jY+OziOnjn1GnoL+hkYqCcOFek6toIoKkUR8/lL3lAXlING412p4O8/U1hVzbmkdW52q2z4mLjaNXx1qwj/Ltn2UqizvtWUeTD0HTw0SioJahDyKNGvllbPzpenrocq25Nly57Hhr7xo7fjN+L3hdJHlZyXuQRk6w8oax7/hbebxYP71+leeu6YabrRiVfS46ls44Jdy8epUNvUjl5aHQQ51ALBmnzcCkKJ9qT8krxHNVtIgwzkHK3e3Io2OUfrjl4ORhr8iwYtR78t2RiJlccqTGTTJha1uHhGoUfcJgpHkZupz9DzWFD1i1Ux03vZJ1Ue6Me+g6XW5kisq1ZVnieX79OnpSAntRnyafW5euBRJqE4ngzxAxDVDmpKRwi5Q63ysdSANaIy6Sp+kj0Gll7mvWKZeWpZcJhyN4zFBeKyMq0+4pIybwVkDjoBDKQEVSd5y7Pi7+ucO3iyiO9cgo0dtYS5aO44c6dpk09x6gH3DmFsgsMiKjm6s0UfRRTuUUzURKVCHRLXRYvMp+nCpvzjZcl0RHqeVT/XM1pcCwKW8CCwwfOYrg/8wxqEvVHYscnjaJlGAdDVlhBECtyLVvhu5lcUdcWE9rrO5J2hohsSryf22oE9Z9MhkLCjoPekB0kukgZTDmX/rOPd/p89odqa5smWMuL7KNwpjBpkWSOYaTLqBAUXbt28/HTX83Wc7BTTOewslqsvUVkTZtgaYsJ/t90krZqSwdWg1BhiY5WZiW3xPlL/nQlw2ZSfqNtQH2ME0vAelAlpYH6ndrOO/nb617otZDoC/JxA0jLv7D1GaFckPmckYVygaopYNZZPOwkpw/YjvSUI3plCv7kTr5qCZRsIL1RrivFev97oyvHxJ863n22YDLQv+KHKEdaSpus23TLZP5TdEn1gbviJws2lX04Yn/IaeEo1cDgty8U78wfu2U0N1I8KEF+aPwbIxK1wq9Fl/WrJyeX5293nV/AEj8qFxa/iF51YRoW3gbB3ptBpwHBmbZkNUSdq9sZHDQXxPtcCiCI7DWT8YWm1VbmOnuz5wLDTzymfKf7yN7ruEmZqBC2e2FfOhHOMZ9cIQasN0K103ERlPQXCYqVE3MXPQjD/Rz97pvFyGJKNBbdB4eKo5QzTdxa+IRgqr/vZuk+A9rbXpZvnnUtHtYhJd526v5Kqmm91L5AYB0rHDUv8W+jU2fGn6dIPhf32BQeuA8Ql9irMFY93viGAwT/9/io+fPL6/BpucPz6f5auY94+/E6t+CQl2K8fiwYjP2k0qm55Y1Ehlh/ecsuHGergj+SdyZkDCeBr37GJlBxnDkW2trxPIE9nuAc8ocRlFay1HS/nLHFE6UjuKoXxePvAYj92/hQwsk5WgyOhQ/F85s+/hxsPtNDp5bbvkBT41oAiDzlJ2D8S7BPmCTatzpkxOhQW8t+v6+D4R9aiHDYgErz204kBXbLHQorjvu84MUXJDBq0aGGOlRjvW8ZYPiWKlRwyrvnkiAjvvEOPv3c8UuN3Ec7GwikqlptD0181k9n4AoGXlqXPjbh46tTSLCLbScMRL0D4BZuSFJSqIF80Ho3rCzYSDb1dsHoOn2W14UeM+fmAJvHFMIRbkTSzC5dcoCOxsvSrBVYZ+b/uDizDUJZSHWitXZ20knz4NOFlG2uPAajHZpbvAzPyJhp2us7fA+4CWgr/hlp8N2t5fMKhAm5n5MzPzNcTkIin74MYNe6SrSxTJ9i2G2VXGumQFy5atYJy9dlRbNy/UkkmARo7dgrrDMrAwqQ8zpYdRzh2A5Bts+4cRfFZT6V4gzBwBTWMSaeyxVPC16YqfdUo+IMpTiBQPapydHMDnsIoyQr0mby4z4cS2Y/6SGbY1aBngLtjGqlVlELNWLQoBZpA5ZzFrEPJmMav7hnPuzgoOow6qCg7HDKpxSRNGIUoSRLNsPaJF+SJAN6uuXxjVDZggrB/GIJqp8VhzodDZcuE9wEDLalMA7iWjyK1+KTvUsWSWqJ4pmWCompvW1wpA01h1uU9lVWtGleZO8jdjjF2k5ri6KOMjxJ2NR9oFBIC4w5lGCvPlfBZme7m0O/GHQFwIdvyYSf+dLtCiDh2bnQGPb6pTPxrynsVtfbLJ4C0dTPa9r3kqL+etUeePn66foOnLg6BwsE5g0fKndzlyJU0+y7M10wn5lxaICnDKpUF3v0u1Jst3nwNpdv5YjSOkMvEXcFAWQccOJW8yN5q2+hD2tSSxsAvFzcMZZCc+ux3kjFtpa+6eKL6r6uNgFDHDjf9sKCZx2cRogpRdp44e1yHlJJhQSkGLL5CGL3pGm/s5iwYuTkNHwsgdOQKu1mPUSSGW2ZQOGoiVU4H9tvf2Td1JSJkLym/EdPd2tPV387QzqWtaqPOTpx2gZcvMcA+Px4L7KdBCnR+Jo1itUlmfSi7bADiUzwgN0MJ0D1sdig6V3SfP/dJKvHhJEVwmhg53/fglNKCf2WJK8ybRvhOKJznIewVcp2CjBEOOdoUfBhl4coW2whR/glE9XUBxlUr3/l5u8rpQ2ftJx8ZSM9bOf+rWAB8ezDLJmZYuquEd8YSKqs5ngobmLR0jomxBnijM1zEKVIDJjGp7qD12IxWs1Pb/xfXorvixu7FjqmGj3dX3AZ6rTC1DOl472GrvMKta4nWk9ap3yIVaw4M14wTaHN2bJV7ZYB2/BSDRYP8VW0UzA0vAeLlUyaSO8qvzZeKAueGvK/x4GDeFiUl5DTeHsob7KsrvHjSY2SmH4QfyjY8JVq5o3TjlYNCAhsop7pfvGPJiPHWmKky/i9w4023ITzS0LrlAVF0qPHloM9U8BUhIoJct7Nw/f6ctph0GLSUR8fpED2Vq88F2CMA1PKRotIwFRcLf/45PVE9LzB8D3vdy8seBXmcxqHImjA2/j+fSxZplEGLJHOrVUHJWEahYxb92APlJ6NWXrhGph+oA6HQAuGxBKhdaS+l9HG+FjfeglV5pp/2Rd97eKqbsyiG3Mr+MPAJ4Q9nP/CsW6aL8BuRozpf/DE4k/0sun3hATzsV+LYmby2v+a5z7EL/3XvNSEH5nz67SQcp+zllYxAfAwuAU12H9KIoj/VOyaSs8xlucY2nGs0Ym0ZD3f5ttpn3yqzvBFHYNNjRGfB4Y/9T9WqYZ8l8LRK3Ecd+TsxfNKQzl+/51FPyY1n92KzLjLZ2OodbYt1/DdT1mi+7STAhbNKm2+oyDU0eTPxM/8TN1H9f/xq5p+aqLQfhJfhXCgKsvrunENUwlziwIx/8onwNx3avi9o6bVagN16bTUqzLrFZTw1AtE/qNJY/pT78qm69YFSubrx6GicoqBYgIRL7/quORMHcT24lsSTdt5Hdg19QGtpJn9vJbedrQzFtF8pwv8I/+GjFOfUwKIUxDroLihKgPUS90H9uyXFfElqswTjgS2ow6+j58Ef8AWPf9nPX+4dv3ZjL10ASKskHtSlIX5N9vqEorZZs5wi9bgmV3pYsv91TT16Vs28Ru6Smlsh9NZUmHycw2G1Br0pM12+n4bHVUxVBQmzEx7SQ8jDKJqMQ5AC0Pv9oLCMv9G0q7SZ8uBxzvvpC2mLmBh24IxIKPlCE7zFSDlZh5Mfo8Lwm+kHGXS7aO/7sMr1B6il+2wXTUjbPOC+cfAytfLIelm2ukghaqp4Jkj0VuFl4auklJlgknqOMvlYWCS96of8SsU7uvxaRROldcBowA99SQ+4M2bYj9QYhyxHYjNKiETVzIe32X/ozjvXKXOgy/Yl1p1jDQv8t6rzvzuiZ0wv3u+NMKzbj/jJ0SbZ0z7n6+qzURd6QqxRdNx+qpln9xQWOtI4XRjf3oOXX3Ith9zLrYJ5Qu7ym3PYl1oeOUUgs8J4vrlocd/cbpW7mPVNmESjeomZCs6eXKK/CdAOm4bm/nHLrp8SAm0vmizlkg80pOcHp1xjX6ekQs2zvhWkZ7G0cg6md1D3j2KmZETqCHr441Ld0diour69ZbIVm5p08C0WCzinnxeBGXkPa+f6zt5oVlhfhzRQHbuLhvsuPPJssupM3zm7e7Nb/wAEEnaHbJA0yI0Ph8AoNaOAOGPXE4itphO41YYHj2PTzuZ255Hx9dFOOzGjn66Q1X6LF6ohDiHeVDbgsjnM8ejlNhefKosvj1WBdgjuYRtrjBDLKKOlF76ibUFKdRZWVkygm0iE3IDNIl1BgGMXH/6AWM82D+Fg6y5zIcSrLKJEcVvW7a9WsPtwi98GfeANbSbQiBO2MbrHE7kyWXVbwWnZWzqsUYnlJEd3sBDJgvUO2uy+hojUzHOM+clQ8A8kBNbOSKk2U0xUwptyFuP2DkXOp0Vjaw2FiHPfCIsTSYoxVa04jhwa3l4Q9u/ZQ1JHAvMWzauRbcIfI+O/XqUFAkUSREYjrpszt0n2Lgyd8ni1k9pF6ozR5rK5CYhqcTN0lBn9tbGpAsPOBercq0izJEZKfJKnWYFiUNrC4jlcqxMGZV0rPR1nn7U/ek6Xm0CsP0AVjU+brwhCda/QGYnQa8Z96zvDIvhQv7ffe7t43rywP/YGhdC4QFF9roMY0hSFvkcp1SKqbB4RZQWh6fRUszeJVYitoF4Cl8BiUmNUyfK5IpainVf82a1EwSllJB8V/6z1yn77/NdWj2r577uuoptIw9mcpw2JUe76bzE5IPrwoDxQu/ho6btwqVocdID72kHLUcl/vUcSXabRYXrJsiWavNe/4wNBwCeepgH8LbutGRWJSOchd9u7p6+hni29n48hpfrBlydBgaAgzEe8dzPKESwy1MLOFKwEm75wAStzy1wocfzqjFHXqF5JbFx7njB2vjWwWvEC7QNIRmT9WRAAnsYXg8spYpO5KZFLCiI3kXakIuHh/vn/vam8Q+ABTkFx+AgpWT0mGK/3kYxXz9UjJ3NI5vs2GcDs71NfeCyPFNrXXRWyuk+bMb5u/xZB+Ckzh9c9eyZcYIBoXgQqvAtmLEc96NrVUTWwlyCI70DsRzfNQ3HNfM/iofgJJ8qDemM91H7dKSi/iCD8DWf6Zaqh+AF+8l05TqRtu8FlERUQvSmohraihhCU9y4QKLtTY31B65prjZfRd3fWQN1a6bWMH7GGvrdD+2fco5wC/TET0HWkGkvX16d5aKy/Xz3FZYAiqrnm3/QlskgzM7rzAnvCSZZKpkM7S0x5vecjGsEH/abFGb5YuewETrzAER0W+uqoUHdjjsugK8hCaX4gWQItj1xMGvPUVVGkQ2bFnszi5+XERxJAxuowhoyizUoAuqfDystXY3O1PDV4ZcDyhmsTLQRDGJkTrdtYozxWQ/WkDalImwg/mMiovaZgeiVA878yoik934OGd4dsGxPFc3bgO0S/6gDkdXFXvMODT1OO/dFA27e0zVifGotHPWn1MIC87Png2o77tojTGwoxVmxqRFXXtCk+1xU90ZBtKYU0BCiwbVZBiMTCn+oAI2F1opQFYfJkqibJQm0bYJTVMsBSGZUe72emZmT+NukUf1mM5oJfKwakvfIFZlvVxtWCQ1k5QnULDFsFuOZH2la2GGO1l5YpJk6aAwQXgcmK8oJmKQN9LzrlfWIpwBcEgnmQl2c+MiYkaFsiHXMMeFUQbImclQrt8XdZpkk3ts5WQnBRfygjISqTGLTDo/62hRMt//vYeKGvOUfimNZH/4u1m9IOmK9mqJcRM4Bcrx0jk65nnRigm650dKMBuppZOOFlpp07FCzf6bKF6xgacCUT/UYyXTG92U7e7itaZ9oF8GpGXbd313q/clM3I8Z2Ak+iXIoldut8Lu5EgaHZhqzYzftq9sToJRiDtz40/Mf8SDRfi3OY1vjCiVyi0oxOMGsL1Ny3aJjvbz06QgKDDKQ+YSy5pxuJKFZl/R8pbaHSeQ+riI5tpvIT06J7sj6qHbxUJ2QpWVAZsGp5Z9QC13QTNXv3xTSbW9RN+LAqXNTEVr1Emwi7yjkAEPIrAKmWeKTLxWpPL67s/sxqV0C9L6reF1POMXZFS7mHSsxs0XBoNiaWnA/H4HdXvU4mFjd5+ikzXqDjrhae/inVDrj0VNFYtNacdP6mnknYYQ0wH1PHiNkwQNqTOk0xsVzsBRnURMrTaVyhxXapMz7fXHNHv1bryQCLbz7VHC3bjdAq6kvatH9B99UNO809Mkmn+tlNd8qZpLvCaoThCd1Q5mESw8VL/qBWp9lfl9ls+e6Hyg8P4j/D2H8WeOIjF/QchkhPVWZsoPqCmcvU48iywLJ94q6EjgOoNqAinxxlQ+RCsBh9iR8SzzMZOlh905JyhDv+NCyP0DsPssznZ1hix51/uOQvzp8ryZCOPB6/ODaf/05bn+cLriJNo/9PYfnsQJh60ogRVdaB/ejMJYPuiYOIxKdgYAQHVHi6xSdYwGGnTWQyzjkvwhU+gDLeRBGQe1jFyFzwuPXmP4wi2laZQGdVWGOAvAynkfIh7k+5rqJdmnZaH6hXl2ie0q5Hkg9GLCB8Am4e/+mC5ZY6PU8rlbdMU4WmUmHtFQcJK4zPQF81mh4mIjvHR6jdY+IUosgju7VWgGVgKh+BBTZAmAFXPiAwBw65tsmimTuIy+VTLbJiTrDeOdpGt+2YtNaGGW9ETSW2GfAv6+qsG/gt+ZcZc5CYCOCgQsUZKdkYxH2lZu5B/NDwgoIyTuWuB4L2/WsQ+Z39lAfY4t+DJOtjsfZ67r1p/LpTdAzF+vL7RzXxRNDR3cUdR49kZ++aWfoH9lY+Xs8vzbvtgETUsmhCX9U+vYfLFvRWrV+RwK0DPT31JgnBFyVMM63FsO5pkERH5ihaGIGcIyGUx9/QBUPRTEorgnH9rP7sTDHk+LqfwmqoeeJI29buDyhxvTtGq1amKW07cgkm1rF1yd2oTz671RYnQnKOHDcPA2B3cmZayQboXr1ArKUH0AgKsgSwS5P5wbo+7cPePEmPx9GW7PA1VVBiOHBivdaHiNwRttNWpFFh54lWrAzK9xTFLWitOs17gMolC8GeOiLagVioL/ELLEf+8ZYMpBGQl0XL7aawHZhJN/jNBf5b5O0lHKWXreGmiBt6iS+7oK3DYX0c+Sj7P5hWg4JdDAyh1MB8i7GLE/tpf74GHv+kD0H4Aov4WTd5IXwQ3tk/Wfmcn0/Ja0LVa1B8j+DcgKQUwzjmjLxzgy8qSf1QI+VzI7cWNRJQPzzEzcpAxoDy32qOywqbGTpxnYubhvfeSdnKXA65szq4VMJAaplc6uQChCTnqpKCF7DQbEaaLoWNpUdetIOVQb5MEOEBfyQ98QptDFHl1BtooUPxcWW1WJ3d+8S54ij2whYgPahK2sMsYefqY0waJA3HiWDByBTjqSuBVEQjrWK30okHFd3xZMsmQeB7EVqkAqvWA98/AB4QeAZv8JJtPAHiWLv9YuVe6ADVkua7Rxrk8N4I6MU4iyvnJGncwMqVU1ryRWr/iHC3d9e30vqenqP3wIevsh1cUShHWsy3JOEaTPlmdDt7qc3cw3yq9JXCah9QsxA0AlMZqqr/WERiTHmAzJhk1qhcH51ErfcmyB3d2jim6SS7gW/Mn08D7YMPCHT9fC2X3A++QTAaUJLSHCzuLUJSpzdDdnyU/fqZHw7in4YT3CnZovoNay1dYzOnx5yygz6CHMBhTtgvuUSpqsQsaTQx90l5EXd9TPx8iGm1e3dxGkKvDb8u5+22ZP/jP0cSylk81gtmoOznzEjegRWq06/SgGbpGIBQj491bTtMsnHudsfbeNC7coZJjPlYDTNE/WZyEzvYvo/Y4RBBHBt2nOgihJh5FCSf5dtLe3orfibzUvzrc7G+f3PpfGaTFX8J9n14Sxov6OkEumc2crpFInDFFheUmb3L/f9+peZ1TT/7vTTFXRls3Tw8jBptOnfcq4KLvcWaZOH99tiT2lSf3GMMGhL/wT1vEr5wIy17TMjMVsNjclJknIIaNlhIW87uM6xAduyG2Ddo0Z352SILPUmoV1pLSvBJ+U/PgzLta+7u74+llMcYlBMESlU4QWP8lHylfGO5bLE1ad2GJgOrnsK17GkXE0v0ohaSiu9RQtd0WB4RIDRvRv31jGI+z8vIc6GhLWFLs2SfANWWpRO8q84dDZZpYC9eNP5l4rBjEtBmJ6Lx8q7IUEqNlr3x6rnKE0mB+GIqJ7C/v7a0DUXeH/ce2ugrrmq6ROXZ9sL6pTCHtGn8vE+lp2cyLVC6ZMNaeQkaNgt+p+EsrajgmWAvEOzTwhLgZto9h4VlWDRF/WpOh2zpxcnodtGSmMWnLHB2C8DiLwHmyHcFvTYrqrEzFOxvABYKvu+WJ6Jn8h7mqwpc0gyHicsYEuINCY4urjyu/YHlVBPmDr5JabjRQ4kb4isMb7FGUkZn5t3XZmnJDO1drOKSzMqkq/8xOvSTVcTmLcWVUxHu0HGUKqENIrVFfEWVjr8gfg2cJRz1LnxhAuXrKomd1lCF4MWdDEakSIBQ9dBpbKkwSRm5TvhFogtQsJSNmN1MBBXogroJc+eVE8YqyOz30YwV/1Bfe1LMyglGqVDVEjkhkdmQ/5WnWYWitALZeFQQhI7R3mz4RLrBLKk57ZY68IxoxnM0gNH0NlujMUc8O65r86vw+xfe/90n9yt0TZn6Y56fr6+guj5gOQH4h3+vpc77pweffQYec8NtNQO6/CsOysZsxI73AcfsVqg/7EopBpZ7hTqYiTZBUXCOQJx0PSTwoy2LXRwPc1MFRQh3MDtY4lSsoGl5lUqKxFuMzoLKgwTDI4XrCv6B40x1VekK+RG6Zd2wBdpba/m8AczPwpjsFLkCmeFWbeHiOCUSrI74yJuo7hOzaak1/9WVMjX1vvxd15tN9ItdWbWGFG2fMmfRBIYhXHIo2MGpfUSgxPoM9DjTcLRmuEyZGGDNvrk/HRxtFU7EvvV0CDukZQGY3yMx9qxMQ4NvjaA93Ft8iQtWFyPwA1eEmuPZaIU5Ckv0wo9DIwAfy+dU5kT4+VLQx+i6XV11Ya+Csr97agHu4uz3yp5+2TIhSMRTeoBbKWgLAOdbaN7btfggsX5GyPZwIRZa1WC12WNrPKyer1qgzz/GbJtGFNgvMXPUbaSWHbUr/3qbhI2lpzr9Sv1RSgp0RBVzWYEHkFbvquHkZHs4lGEF7qX9g7cBpirIl5YpUePlQ3uSKzVhpBDqXBMVxenLD1Vxy5A8etgl/MAQ7211cV/3ARBsdDzWJz1lmUoLG8z0QTpBaefk5JlGnfucU683YFK6Be97RptbTHTeb/RC6hubIBU3+0Nxis9lBX+H49v3k+f2W7NTy+fFs5t5OCrIRtyUIaI+Nol6c4QdPyREOzSKuPPEC62XBnFUtQOEeGJTKGi3z6buwiIxcQF9mY8KDB1kgiaUo/ldXP1RsZ8e/dYl17obEsppl+gyz7L4d0OHkSElArktAVUxPjj4TwLoTAveOtfFo6enOjnkHLoT+iSXFLhQ8cmKukVIc9og2mFsoxy5eNiLsRmnG3CcIK10SxjRbr3KTPUMjRNCYWgb6EB2nNszukc3T6Ia+cowaqbsqm7zzmNSHN35Knbwuu78J2CidB3UNIHZyR1YgjPKRc6dTOStMyLOvHF/vQk+zNQv7sOc0NcElXB9yZ9ikt2apnHZxSDbMEvF5Pnvz3e1mNFBT+7VHMI5y4jt1l7ve/N+EI3frodt/11n/FCkBZINmwGhXCk7hhGoNK5xMIvTBoe8ucbZl6mnvH2rgrbehSUn8vJbpbKUepCE7hglbqWzvY1PH5UPBr+QZHhtJNpFkCDY6Z0uJgzNmTq7vaWrs6XypqVmLWTJlIXCn8imS3UBYScSjtspxgG25PsVrBqi5CIvX8KNY+rADkHti/OqpGpdkQGY6kARVvf2zQkWyaW/fkYYSXnbOqbHoL8Al+Qt3YF2SfDJ1TqB9/gPrEwv8z2zR634a0qL1LWR2R9iV5pTcKZwaoRsLAxWgZ9SypqthOvcxmPEjsHLlrcNWYe5xDaKEHjVVhlsQToHhIXKaYo3b4+HzxO6Arjjbvygzs9iVd/JvR9UX3IKNR+5xfENX2BFaVKzAPGXZijlqmMDN2rpK2fUKDTlkPSTWP2wNa/98qZMaYjgxAYW2ObB0CwA92gQ5e7RHAq9tfYludvFF/kEIQvbKhRBKEVqdKU0esz6YIaVknLxSjyKGNiHO+Amk084HhQRvEhfMpADSErfkIvAvT7mYwqbpzZAmK8pyo+B4R85gQ+Y9DmgIwXQGDZUEdqwyuw5BSKzaD229WudHUilIsBxKys6I1Zk8absKFihp994mJwzV393yE3LsAmywkV6ty5wnCnwZZmsusU6xoR6QB/P5gZ+77URqx7iXmRMt0TqFWJcshvd+GPCcyLt+QSH24trbwll2k3ZQues/5xZSEw78XEshZH8/8MBqCY1HNA9pM/PyUka6fYKmRXcqsBq2djvNLiFqtJV1i/Ybcw8vOsIT96tbJFZ4hXfSn3eYFRkf3tNQo/Nge9hNqIMYRfGQ0qi29ky9ui6UqXXoAkrgBj9X44Zw02RL8KQySuaprBQOS95Cxs4HDKZqEy5iD3PTANZL9QuZBBGJR/DWYT6MZF8CsF7bum8rZthFgzbA6vNDJaO3JhWUBbUlWCGu8RIRDWnQXbPtWFKb4Nzlxn8D5c/jkHJtV+qE+bhbJe7CvuRv1cVZpLFQSl3qDhMdiDYtMB6Rq3p6NFoYqSEcb05NmXhalyVj8dZqPXW27PqVhzyFyCFGZxI7qklHWPZTe4HhznY6lQDt6kKyBqkrHD2AbWxZLH2qG0Xy3UAWT2/v7dlt5H33AO5u+Via33LLgukFwh4mhYFfb6u+m3m66ralXqHY0bWyxJVgRj8IjgWuaCIa4FbobDL5MrwHV3n6pW1ekSxehsrGyspFq2b17utvVVzA0yC/AzCwbnFubCwjXoJJIzVhm1/NnGmdcSATA1aeofEZhJ7U63ZhxXmU8gQ0saWlUkOZ2wcxg149qUWTW/CH/94ldcVqt0HVGFWluitu9sToMqRX26s9S5IERGslCjaU7wYJ/TZCpEJ8NE/Iwv6+Tek3Hr0NFsDeKkScJk9in9M5HR4otw0EsAZgEojj0fJFeBfoKBT77fDLLJNWZxK9O2hIN5j3/05FCsUN4YaNXmSs75PIedC4HOxtQWkBmqx/Gs+j0FCybs6upd1p+GH3gispsWJbrycjV3VWuE6nrHMQsl6YUb9norexsk+VGTGb86/RksjDuzfQ/YsdGDOZvb0K9RGcImHLnuPWW18XkxcqePYRDn8ith9g1df8s4PpSkPG4ax1cv4iE7Y9Jb5uQ0lUxqK5GhSoYznUQlq7wHfVEiTiXMuJhir7svB/+dy3kJ4ojjTcTzgMlHTJfTwV+Ry1C68a/8puQ+B1zVo8VHwj7NOs3IGxRIDBGizFFtRk0bIRZDfztwJXbSM2HwKqc5j4xECdh3rj+r+NTwVFjk5/GE60gpOsDoPAf5WRtPHp8scYFpx74pVQSboSCMCyTn9YCkSPkCJESvwEfK375MhB6n5W6r9ExUewy0K6+0uCPT7n9fevJdR6Rx103BqJlkA6EmYrxF32a8LDFdMPMN8TUPHfiuL7BUe4qtmMMziWmNMLCKgTSUnhSyjs6pv/aQYb0at0hkgn0s1VHfjGzotiMVqsfvsP/y9Nm9N3K2WXi+1rWX2W6Mcyhak5FrUDB75/3FbLLA7/IUjr6p/yUaLlXUmtU04IywDtXZW2UxVbQZFX9U2mTn1h7vztWFeLFK5/agNNlSFbIF7YHFYla8CmNZEij4RtT7gTtt2YkUaak3t+qfztFrBwsgV9VHqzXBtBVWWbomqYZN+JJcrZ0Bvog/4tLlT9BUOdahkwHiqjzSDwW9QTrKj+JvUW3qLaUl6sGSq2/g4VyZg2cVZ3qcmRW8gGrv68Q9QAvd7WbRyufr+If0PNJf+YjaJre2jdpfJ34AGsNxTCC5gVmP0DeRrdT1yq61MvW18FE8Y/R+uav4gAG+LtK8jQL6Rnl0gwkXrPS0J/cAWl+TwdRljqipJnnFqs1srQCpUP+LZAyRHp0ZBfK1AL8A42mZA5hLbdXWAYzUayeoQ4CsrkRDAXjpeTBT2v6o55T82t0wwjTXShJggntw+ibjrRr8tprShpX3KOypvN4PxTd1k3vZzxRveQdyVvhVQqt/26gjqLyB8eFLqY+du1b1g2nkX+SpBjj8b2+3zDJbSjqFvzG9/1b7wz7TP4uqwLXsjm0L5KTx3EcY6XKOfZI22qEMDVrWjnzJpXR3+iuvrcdiqEsqM2AO8qrnP6DFpAGxMO7TVAYMTPa3DlOZwnJ6PeJ84AajuQ14jJRcg2UUQ2YKasDNQp1zd8cKX5XxYK31SEocOP2/vXnztLpq0m/NXRm1f8OCGm+pgF8MSlGtMcl9230nfux2LIjrTzY1FoiQJvrKvvMetcYib3GXb5tdXqjPORRc6lt2XEXJ7nfz/d1jVEt03NksAL9DQtO3I4FYF1JLmVd/d+SgnvErcnq9paTPYPgVNgBei9m3j0CVjEkok4RsDaF0URWUNsCAxF3QiofElpf8uNVTrVo9pg7WNO9RQNcPB1P26QRq6iysBkGpbXcd07MizGRbAzIkMtmcw2QC4NiwfkqOpj1J5J82wOPqmf4+gChpiTq1Qkbhnz/Ba17TSBiqvcpWHJypT9bHxIzD5dpk4HFfIEHbxScSdO7wKpYbSRXrUwdwfh6OnFJHcjeaFG4//2FQ1zhx7yTk7uPcW6HlCLyfCTwF2WofJGBOZt1gyoVZkPn+DP3IkOLVSFWOvQABVq9TmNAFUsOs1qHxxICi16LPqhOp9EgQyYgCqhFSoOmVnojR5MiOBe7oIwHJoykMtLdeBYYLSFyh2Lg5hmLTuGuA0aiVXWXLYkSajbPhcKGQ5j9enFVEyJd0/WWyFvMj+oF8cXUYyjciULGBPcqEhOTw5SCZlOSOP2QM4PDfFEcVSkdgxVSZm4TsFfo7GIp03gMxoxs9JzZY5MueCL2/xZ6RxPmDXvA3pAJRZ1STFf90k1NbIlaJ6P1TxSKtIr8lc7CYWUQpR2pnSI+Gg9a/40EWhXoSMQzhKkxLTCRRj5g0e/g4DpzAa6KBc1w24o6XeKAZye5RaO5W7zMr7SAkhjj2IPdM3kRFMESq5Jg/tS6xNokwr1NQ0J8fHDLt9rvlY9NS9t8nSKm2x3c4scpV8vjkkezM6sdSjfgrGQStlAFQo0elljB8aWeTxVmqVQ5ncSIzw++3PqFJLpvk0IkwiOs5z8lj7+CXIik87eoXRUUh+Qxs6xYc68byvwA2xHke0S3WUyTcBbTfXEGr3F5uVQtvje4wpgKIEkbNEmqFrr/JCF0seD+uauboPefHwCBzuXW+/uX4E/yR+9Turz/WgT8X2K/K8T1YePq/o3gPvD8tOMTXuPrlxCCu8APAJ3nf89t7hu3QUHBpt6XDoeZGAtXV08hYuJi/Vvr/5tP/p8RFNx/+dihTZOfnCuK0V+R5cRfSYS3/PZTD8/lMvYL7PIZW9FWTIjgnGoB0UItNxq/mwDI7prVusqObClxCkzjqqSzLrfkGLDfNTb35Hz5sHH9YseZuW4MXD1nnkrJ5bFzZ/2GcQDCuK9umUgLnyAnQeWdTx8vd/2jokuRK0dAqFgqSZco9L21njNiIbMdiMNI+y3QLkeksMD9j6EmPPZqTJ0Jsz0SLFaEp7s8JEgNCDv6ZMXHxfeTjVkRypn9HqlcJdGaM4HULGQ70g2VF97R/Ps6Ul1v1J63nqeTO6wvPSgcLwa0rYXPvwaGghio078cjC3YvKRRxvXhuTLKJfVZF2wlUKJdwz9ER+AKkBXVMJHRiQR+ZeiHsFGp3fUIUmZkNfXSdXQIiTDBOmHkuyGaorqyVr+2Z3H50DGSXfXIThppE/MgJBaQLBD3SvLlmy5n1OcBOu1A146vNyaVMYRZxGd5sUnkJiN7mFGOzEE+iYXwQWVYrsxDBFFFYV1sgkZwfg3tc0UHBA5JpjvnTFv0lRf5bW2PtnyJB5+8PqdIV0/Tz+Srr9IlyilcLYSNM7S4A+hzPJHSQOuzLCAKztLt+wY+0g3SPNJCfRPDFV5RXjad5bP5w8RbdOdkBVzCtEDPeDzr9DriA2A8H3d7PJBJypqOULEq1Dr2X6++S/arFf6H1Zf6DJINjfIcflGeJq3VP5sdgmfceKVuMvbIc18pfZon1Qr3kll1mkMpd55W0J4CN27mWwaWZsqbTDskOqtri3eUWyPFaumwCcWHK5xn0Jixqllpq5xR4z2KguVtneXUrTOzSB08RtRhsw08wnF/t/g0B/fc/TigBchsdOZLYmYkmigY0RvcpJlQ6VJSYUq5x7WA5OWFoffR4EBmANHSZX0b6NF7TPSeyOho3K8Tv382bpO2/sHG4x3vKTAyyoyFfUa3H+amOx6q1EH7YXyEXJKztlDZE96NYnDQ0p2KT1LcNQcTuMr9Eiskux8hDsfIhX/rULk0aF8M9LtmhaSoKY1YT3H+ihy3HL7xak7hLMfgrK+1YWSAEg7Dc18T2gY8fGG5LjeKmqa2hV+KM8Jko+1gXC5X02h3WMgnQa1YYKK0wfanh7/HssnkApi/u8kGBpzeqTEB/4Hv+2VKimv9hkSVyGtQsPDryVKlRBbw7kSzXCpOaHKZVcfdPr1SIbeFtAyYhYAIm1oYLsGjKjgX2poAiOaCpeo7oyjP2nUanrgkfYQ/iQWLTHz9pcsrxYtMk5w3RU7B0RwLB/IDRvP3N2XV9vD/jdxgsBEYMI/EZQcVK6DGNFwu9Q1XU9HZuwXF5d5LLnEklgrsNvDROAMtmmGDMY1veAviiNHkLaUApL9Xy359Yw32oGTvMttk3QLOfrIU3rrGvl7hP9FJld6H6SrExWGLGf+GY1hijihJOyq4T0oTDoUUFT5AOEBaeqIfQTb1bofUvagbYf89Wsh3w8Ion4EkQnjM7YgyVzL1SwhTPzw3HNK2CPlq3Q4F5pzgF2cNGFhgpUdc4DEwY/s4U2/koccXzfS+Jk2FeF5udEZEvX3VFY1ZIhEdOl6hajzHyvsYlXks2xGdJeXL2oTGZ96CyPmpFFlSMGcLQBLuzIwjoMKlyyAYJjr9mPBXn0e2TRwARUhYuao4mYdk32rylVk0hr4bBXqMNIrL8WqNDKxwex63KXvIhBZpmq442Vbi6ekR6G50cf27Z21tWn+qsIh0qbhvdNAhA94hKiGHhXMJmMXIa8F5h5DPo8KpSxSOebldKZKSzOgbk6Hf4/7FcLhplkuLXUYA3CZTy0z9aEgRORV+hK4ippO56EAaq+qcFU1H+Jm6gEPJvNY5iY22QplVRNP9CQQhCaKlK8j2yaAcq9DxgI59pxucyt59dZv3uzSjocx9JQIi6BtUgnKdCwqPvvEQIaszCUYmD1BOYZJxPvuWv4zh7N1gUu4s9SC+trfKcviGd0IgSkuQ2ENsd7FecPBEalJgc2WlGGBDXEiAbzKzLo1LlnS/gZ3SGcfeKakIZkRXxab4qpJxxmw8W75dJGBdDz8ju+qsUwkRpGqbaTz7Obplr4od0UCHkqypSFw6LfdcSFRSrSf10YBAO6317DNtGpd0xbfrY6VWfEKwftayPM0XT1EkQ309fczig4uz37W+LfZz/zq6tujvn0HHUg7DBcKKl4I1G8bMMqyKlbiyUR30j9GeN5rcIzHign6l/LJ9Mj/eoRSBhsC/xd38ltuHI+h+IfxEFkn5ZKIyevIzblrZmHKGxPIHhzO9waekqxf+HwOFWdgilcbc403TbXm7jXKbaQS2CoUGJLgyv0UYafdIWoXgYDOmjOzjTsy/v6Dw77ydzG7AZ9U93au3Ci1LnMPHVanWbUvh+x79bbbIRbGgHRCyjD9UyFPXcwTyjhKWqWwsMFCWoUrCOQ4Oy1P88VvcX4FzBGaOO6dLLLrIz8zENuT6+E17Xs9/Bw/Q1Ulhb2mMJLDVkDV/j1/m8zLBB7lnI76EDzJpVf0P/93/p/GvgPhfO9+d0ypGasvUGezuy4NR5jGxyKHaNY+JulApsvCR6vKxpyqKdDUFFVtFbn5IkmelPc6qYmr7QTZShpK9HDF/uwIeYgfdXEKwsLjvD1O0wLxj8FeentxpzhSdYlaJ1H3lx/loUL7zhDpOqlA8ARdKAAcleR5ufhb1Fz2cpq2UNF/VwoBwzf39/auH0kEOpj3SxgibptUNXkv9Q7pxZXqjmlo5hbifQ9bOFjeojAIGgzRSm4eFbai0v9Ld4xoUt/UiFUAkJncr3j+WhxyaOs4Tpf6K5QwK1gjLAvDEIxcydlGxN3iKG37gBjyerFgBSS3ZVwDSFsWWJxvGmrEALuGhRICsw6hzidwsmX6saorBWOoNerliFpxEahudx0+XUSQMXhgsaVKD4IMcqlhKTTcTCMPURAaUQK4kUyhLpjlVzs7c48+U3cvz7bf3+GCT7dmpjauggA8A2cmqCMfczqQOJdfoMPz339MNyWmW8JvZRELw3OPIiMzbVHEgjuy4xJF0RrJeEw2d3vR38+WuSOqWciiBcPD56CX1M9hhw5aNfs0PxQODZ572lIt0cBslhFYaaTsplaYxBTNqWzcCzPOrElkUNlcqzIdKyhMVg3X/bCLHnbuefdRfk9aSb/DTfHgXharV31FJbUvMImt+dVJPF+Gx1cPlfSfvmEP/pD8xjqv2CljBqxE3GJM/RaEtLF7jXRQV1ZHo5rp+OtEr5fJVQpMgMmXQO+SMmxrGSmHG73L1VpZKleIjajEIj2Zjgh4cX4OCTJfOaxxfRAIuz7r274MDkH4k3VF4WuMhAzpdQTLaNgvKfGIHqaJM3FjhvAuqeDnxpok7sCfG0W4N+ujheoqysOnIrK2a6XoiGE/qm6cfgNOCf5qLdf93CgeAveSnncnkI9MPgNHOi83C7N8XUxy6E9XDE31vX68dxVbDBsU/tl/OLUnhUJuRm2FR0CjNH4tiGfHu8T4AO6lr3BsJzRcVIBLkX65AJM5CT54pfJnW1Al//E1O7LaOLJpE28QwWInSfqmXYgtLw9/f1Edo5AIctyfTkD6VswjaMGspfo3mGdvdjCjgYTdUo/M3ZDs4y6+1DZBYPGA6+2pXChQdTroZ8UpaG58jO2RSsy1wfyrmQ0gZ3eOdSmhw7GqR+3nUe30Ib0QS6XFv68elppa9EM/VMEvdk9uuwygpB4sFrxslrUVZSympit3kfOau2yxCiIHpjfe21f9pOvDhzuSt8TnwRcy4z6cmZO65nyB45e75xefu+TKgxNn3OO3Q0DxJqpS4oQJxDF+P3KrCgp4r0UQDg9O48fhX24qItdkjmzmhbcX+kriepFnKP8UdsIHgsCJjYZHs6LdlPM+lqPPXeJ/sFJZ/olequYFqDd5ssk4VbxKTzaMXYZca3B8P8i/7+2SB+v5iur//enlyv9hlNwa/meeB7kjShLa8Jg3PGXhrOTGTl5rl9w19rVEhGkW0fcKK0elIxJV2ABEZJlGPAR02fqV5403qvFauyI1n1CalcPsulk8Kh7akK34ML/NGe/HQ/lhJ2iySXQXF1tLbKoYdyQxJhx9+GA8h/DAesjnKHO014NM/+1ZSf/wsVty0vY7seQWZ26nxQwTVXdzMkArgUNd8147crw4vbvkJldLISlfkkU3t4sMemIEq0/4DTbhrrLvQeI4oujx4DCWe7GWjFQk60uJPkC/5vp6XKcWABZr9GnVqrSGKkQkTsa0CSRSLJuqXLGb66uzb+77XylgNTAlRqW5Jx38CvDMTuTFGm/7KUF2wZZzwhPeeHlzTPTN6OqJXWZNYA23GXqfsM/2NgJUADmwvQl6lnbKSSB9qxTY+De+HDgeG0xfvvSy5Y9C7b8DE7tSEsQD/KSEAcvCE0k5iLtvHM4JTZeC4pn5RBwDrKKd0JK2gBvvUmUlIXdIQV2g0LGAtaRk35isGnSInWJUyv3RFfbWyNycsvL0hnDR0KRq9Wz1YhhLBfAfvZe8rDK0CM6RjoCsmTP5cw3BLaWDz8Q2SWxmg6T4iQutB65shAgCRAACbWSgUWqNZJBXGP0/HDz2qjsaNjj6djpDv/x+42aN/Sjnu+/H2aefyQffTp+mrnf3b10k1/0tWB9WvtvUlQUcN+U/57DWT38OsE7mSudkWjTJQeetL/COdDw+f5Ejdo56KOaCi8znv/2nVK7YDFy6H+eWJDhX8ngcb99Qtoa1Lraeu9GAsNZ85mxT9hjQx2TgbTG8SsM0yuTN9dLQH6t/6qrkz8WZTvar+xl47ZJB0BFvjQB27FLZavhA1A5XkvKcwxYTEIPrUym5LelItndBt2tTdAyRIZJNX2bb6IbQi0TuvWSUfgBrbnQ8AuF58PrwN/IU2iIM33z/hitwyA7A3BD0eOLuGJKQYieXXZE+Q1JhSTIPgeog8qaqhG73cjQz4ABSZRER5TbvFwHExZ58TmwUaFLbj8xmtcDqxbnbUlKK9sGjNMU6xp/3ObdiIhUzMtVW6alBtltG0quEW9mxXIYS5++IV2u+GyPMQ2clVyBZiwzZjvupAgVw8CgDlmpiY6AZ3pB4ZxOQTSILmfKtThPXTRtbRHcCKpAdNQyVDnACdbLnle59KuifGAuK5GldXORUQ1WZlbTo+0AryCKJ6RGaEukKUOt/U7QuRyiT9JwavTh/vHu7eVTdf/t//Qf5/C4yPtf8DUvQX2gplbmRzdHJlYW0KZW5kb2JqCjI2IDAgb2JqIDw8L0NvbG9yU3BhY2VbL0lDQ0Jhc2VkIDcgMCBSXS9OYW1lL0ltMi9TdWJ0eXBlL0ltYWdlL0hlaWdodCA2ODIvRmlsdGVyL0ZsYXRlRGVjb2RlL1R5cGUvWE9iamVjdC9XaWR0aCAzNjYvTGVuZ3RoIDI0MDAvQml0c1BlckNvbXBvbmVudCA4Pj5zdHJlYW0KeJzt2jFOW1kUgOGdIMRCkqwC1mB2gFcQNhAWYPpM7961a9du3Vp0mSPRRBpAnvkVSx6+T7dAfu9Zt/p1zzO/fgEAXIbj8bgDPqXD4RDrsV6v7xeLm6vrWcuHpWVZn3B9+/J1CnB3e/u8Wv3bqmy323l8vmT+KDkC/h/mcPL042mS8tfPnyc+MvdPRubBP7ox4OK8vLzMnDJnjJlZPr5zJprJyH6/P8/GgIszMXn8/vjBDTMEzelFRoCP3d3ebjab967OXHP6EAR8WrvdbmLy5qUZfOZAMnPQmbcEXKIpyZu/yMyHy4fl+fcDXKKZX55Xq9M/B/in984eUxIvSYAT7XY7JQEiJQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQG6D0ryvFqdfz/AJdput2+WZApzv1icfz/AJZqDx5tTzPF4vLm6fnl5Of+WgItzd3s7x5I3Lz39eJp15v0AF2ez2UxJ3rt6OBy+ffk6Y845twRcnAnFeweSV5OauWe/359tS8BluV8sThleXmPycXCAT+j1d5nT34FMRmYIWj4spyrewQLThMfvj3PG+A//dTYZeX325urasqzPvOZcsV6vj8fjn8gUAAAAAAC/+xt439y+CmVuZHN0cmVhbQplbmRvYmoKNSAwIG9iajw8L0NvbG9yU3BhY2U8PC9EZWZhdWx0UkdCIDYgMCBSL0lDQzEzIDggMCBSPj4vUHJvY1NldFsvUERGL0ltYWdlQi9JbWFnZUMvVGV4dF0vRm9udDw8L0YzIDEwIDAgUi9GMjYgMTEgMCBSL0YyNCAxNyAwIFI+Pi9YT2JqZWN0PDwvSW0zIDIzIDAgUi9JbTQgMjQgMCBSL0ltMSAyNSAwIFIvSW0yIDI2IDAgUj4+Pj4KZW5kb2JqCjMgMCBvYmo8PC9Db250ZW50cyA0IDAgUi9CbGVlZEJveFswIDAgNjEyIDc5Ml0vVHlwZS9QYWdlL1Jlc291cmNlcyA1IDAgUi9Dcm9wQm94WzAgMCA2MTIgNzkyXS9QYXJlbnQgMSAwIFIvTWVkaWFCb3hbMCAwIDYxMiA3OTJdL1RyaW1Cb3hbMCAwIDYxMiA3OTJdPj4KZW5kb2JqCjEgMCBvYmo8PC9LaWRzWzMgMCBSXS9UeXBlL1BhZ2VzL0NvdW50IDE+PgplbmRvYmoKMjcgMCBvYmo8PC9UeXBlL0NhdGFsb2cvUGFnZXMgMSAwIFI+PgplbmRvYmoKMjggMCBvYmo8PC9Nb2REYXRlKEQ6MjAxOTAxMzAyMjQxMTBaKS9DcmVhdGlvbkRhdGUoRDoyMDE5MDEzMDIyNDExMFopL1Byb2R1Y2VyKGlUZXh0IDEuNCBcKGJ5IGxvd2FnaWUuY29tXCkpPj4KZW5kb2JqCnhyZWYKMCAyOQowMDAwMDAwMDAwIDY1NTM1IGYgCjAwMDAwNjU1NjkgMDAwMDAgbiAKMDAwMDAwMDAwMCA2NTUzNiBuIAowMDAwMDY1NDEwIDAwMDAwIG4gCjAwMDAwMDAwMTUgMDAwMDAgbiAKMDAwMDA2NTIxNyAwMDAwMCBuIAowMDAwMDA1OTcxIDAwMDAwIG4gCjAwMDAwMDMzMDcgMDAwMDAgbiAKMDAwMDAwNjgzMiAwMDAwMCBuIAowMDAwMDA2MDAzIDAwMDAwIG4gCjAwMDAwMDY4NjQgMDAwMDAgbiAKMDAwMDAxMjAwNSAwMDAwMCBuIAowMDAwMDA2OTU3IDAwMDAwIG4gCjAwMDAwMTE1OTggMDAwMDAgbiAKMDAwMDAxMTM3OSAwMDAwMCBuIAowMDAwMDA3NDgyIDAwMDAwIG4gCjAwMDAwMTEyODYgMDAwMDAgbiAKMDAwMDAxNzU5NCAwMDAwMCBuIAowMDAwMDEyMTQzIDAwMDAwIG4gCjAwMDAwMTcxNjAgMDAwMDAgbiAKMDAwMDAxNjkzOCAwMDAwMCBuIAowMDAwMDEyNjk4IDAwMDAwIG4gCjAwMDAwMTY4NDEgMDAwMDAgbiAKMDAwMDAxNzczNSAwMDAwMCBuIAowMDAwMDIzMDE2IDAwMDAwIG4gCjAwMDAwMjk3NzUgMDAwMDAgbiAKMDAwMDA2MjY0NCAwMDAwMCBuIAowMDAwMDY1NjE5IDAwMDAwIG4gCjAwMDAwNjU2NjQgMDAwMDAgbiAKdHJhaWxlcgo8PC9JbmZvIDI4IDAgUi9JRCBbPGIxMjZlODIwMDdjNzZhNmUxNTFlNzQ0Zjg2MjBmNDJmPjw1YmZlYjU4YTM5MjllZmRiZmQ2ZjU5MWM2MGIwNjc0MD5dL1Jvb3QgMjcgMCBSL1NpemUgMjk+PgpzdGFydHhyZWYKNjU3ODIKJSVFT0YK", + "contentType": "application/pdf" + }, + { + "purchaseOrderNumber": "VvgCDdBjR", + "content": "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MSAxMjkyIDk3NF0vSXRhbGljQW5nbGUgMC9Bc2NlbnQgOTc0L0NJRFNldCAyMiAwIFI+PgplbmRvYmoKMTkgMCBvYmo8PC9EVyAwL1N1YnR5cGUvQ0lERm9udFR5cGUyL0NJRFN5c3RlbUluZm88PC9TdXBwbGVtZW50IDAvUmVnaXN0cnkoQWRvYmUpL09yZGVyaW5nKFVDUyk+Pi9UeXBlL0ZvbnQvQmFzZUZvbnQvRUFBQUFBK0FtYXpvbkVtYmVyLVJlZ3VsYXIvRm9udERlc2NyaXB0b3IgMjAgMCBSL1dbMFs1MDAgMjYyIDM5MCA2OTAgNDgxIDc2OSA1OTIgNjAwIDYwNCA1NzAgNjQwIDc3NyAzODMgNTA5IDI0OCAyNzggNTI5IDg5MyAzNzMgMjU1IDQ2MSA1NzQgNTgwIDUyNyAyODUgNTg2IDg0MCA0MzIgNTg2IDU4NiA1ODYgNTg2IDU4NiA1NzUgNjA3IDU5MCA1ODYgNzc3IDU4NiA1ODYgNTEwIDU5MiA1ODggNTgwIDM3MyA2MjEgNjEzIDUyNiAyNDggNzA2IDUyNCA1ODggMjQ4IDYwNCA2NDIgNTg2IDQ3MiA0NzZdXS9DSURUb0dJRE1hcC9JZGVudGl0eT4+CmVuZG9iagoxNyAwIG9iajw8L1N1YnR5cGUvVHlwZTAvVHlwZS9Gb250L0Jhc2VGb250L0VBQUFBQStBbWF6b25FbWJlci1SZWd1bGFyL0VuY29kaW5nL0lkZW50aXR5LUgvVG9Vbmljb2RlIDE4IDAgUi9EZXNjZW5kYW50Rm9udHNbMTkgMCBSXT4+CmVuZG9iagoyMyAwIG9iaiA8PC9Db2xvclNwYWNlWy9JQ0NCYXNlZCA3IDAgUl0vTmFtZS9JbTMvU3VidHlwZS9JbWFnZS9IZWlnaHQgMTYwL0ZpbHRlci9GbGF0ZURlY29kZS9UeXBlL1hPYmplY3QvV2lkdGggMzc2L0xlbmd0aCA1MTA4L0JpdHNQZXJDb21wb25lbnQgOD4+c3RyZWFtCnic7Z2/rhxFGsUnu9JKKzmzLDkgsmQ5cWRZkDhBSEROECIjQIjQgYHwBrCklhaILQE5knmAEd4HMJcXwDyB7xv0np6zc/abquqenp4/1dM+P5VGM9PV1VXVX53+qrqrummMMcYYY4wxxhhjjDHG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WrvdbmLy5qUZfOZAMnPQmbcEXKIpyZu/yMyHy4fl+fcDXKKZX55Xq9M/B/in984eUxIvSYAT7XY7JQEiJQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQG6D0ryvFqdfz/AJdput2+WZApzv1icfz/AJZqDx5tTzPF4vLm6fnl5Of+WgItzd3s7x5I3Lz39eJp15v0AF2ez2UxJ3rt6OBy+ffk6Y845twRcnAnFeweSV5OauWe/359tS8BluV8sThleXmPycXCAT+j1d5nT34FMRmYIWj4spyrewQLThMfvj3PG+A//dTYZeX325urasqzPvOZcsV6vj8fjn8gUAAAAAAC/+xt439y+CmVuZHN0cmVhbQplbmRvYmoKNSAwIG9iajw8L0NvbG9yU3BhY2U8PC9EZWZhdWx0UkdCIDYgMCBSL0lDQzEzIDggMCBSPj4vUHJvY1NldFsvUERGL0ltYWdlQi9JbWFnZUMvVGV4dF0vRm9udDw8L0YzIDEwIDAgUi9GMjYgMTEgMCBSL0YyNCAxNyAwIFI+Pi9YT2JqZWN0PDwvSW0zIDIzIDAgUi9JbTQgMjQgMCBSL0ltMSAyNSAwIFIvSW0yIDI2IDAgUj4+Pj4KZW5kb2JqCjMgMCBvYmo8PC9Db250ZW50cyA0IDAgUi9CbGVlZEJveFswIDAgNjEyIDc5Ml0vVHlwZS9QYWdlL1Jlc291cmNlcyA1IDAgUi9Dcm9wQm94WzAgMCA2MTIgNzkyXS9QYXJlbnQgMSAwIFIvTWVkaWFCb3hbMCAwIDYxMiA3OTJdL1RyaW1Cb3hbMCAwIDYxMiA3OTJdPj4KZW5kb2JqCjEgMCBvYmo8PC9LaWRzWzMgMCBSXS9UeXBlL1BhZ2VzL0NvdW50IDE+PgplbmRvYmoKMjcgMCBvYmo8PC9UeXBlL0NhdGFsb2cvUGFnZXMgMSAwIFI+PgplbmRvYmoKMjggMCBvYmo8PC9Nb2REYXRlKEQ6MjAxOTAxMzAyMjQxMTBaKS9DcmVhdGlvbkRhdGUoRDoyMDE5MDEzMDIyNDExMFopL1Byb2R1Y2VyKGlUZXh0IDEuNCBcKGJ5IGxvd2FnaWUuY29tXCkpPj4KZW5kb2JqCnhyZWYKMCAyOQowMDAwMDAwMDAwIDY1NTM1IGYgCjAwMDAwNjU1NjkgMDAwMDAgbiAKMDAwMDAwMDAwMCA2NTUzNiBuIAowMDAwMDY1NDEwIDAwMDAwIG4gCjAwMDAwMDAwMTUgMDAwMDAgbiAKMDAwMDA2NTIxNyAwMDAwMCBuIAowMDAwMDA1OTcxIDAwMDAwIG4gCjAwMDAwMDMzMDcgMDAwMDAgbiAKMDAwMDAwNjgzMiAwMDAwMCBuIAowMDAwMDA2MDAzIDAwMDAwIG4gCjAwMDAwMDY4NjQgMDAwMDAgbiAKMDAwMDAxMjAwNSAwMDAwMCBuIAowMDAwMDA2OTU3IDAwMDAwIG4gCjAwMDAwMTE1OTggMDAwMDAgbiAKMDAwMDAxMTM3OSAwMDAwMCBuIAowMDAwMDA3NDgyIDAwMDAwIG4gCjAwMDAwMTEyODYgMDAwMDAgbiAKMDAwMDAxNzU5NCAwMDAwMCBuIAowMDAwMDEyMTQzIDAwMDAwIG4gCjAwMDAwMTcxNjAgMDAwMDAgbiAKMDAwMDAxNjkzOCAwMDAwMCBuIAowMDAwMDEyNjk4IDAwMDAwIG4gCjAwMDAwMTY4NDEgMDAwMDAgbiAKMDAwMDAxNzczNSAwMDAwMCBuIAowMDAwMDIzMDE2IDAwMDAwIG4gCjAwMDAwMjk3NzUgMDAwMDAgbiAKMDAwMDA2MjY0NCAwMDAwMCBuIAowMDAwMDY1NjE5IDAwMDAwIG4gCjAwMDAwNjU2NjQgMDAwMDAgbiAKdHJhaWxlcgo8PC9JbmZvIDI4IDAgUi9JRCBbPGIxMjZlODIwMDdjNzZhNmUxNTFlNzQ0Zjg2MjBmNDJmPjw1YmZlYjU4YTM5MjllZmRiZmQ2ZjU5MWM2MGIwNjc0MD5dL1Jvb3QgMjcgMCBSL1NpemUgMjk+PgpzdGFydHhyZWYKNjU3ODIKJSVFT0YK", + "contentType": "application/pdf" + } + ] + } } - } - }, - { - "request": { - "parameters": {} }, - "response": { - "payload": { - "pagination": { - "nextToken": "NEBxNEBxNEBxNR==" - }, - "packingSlips": [ - { - "purchaseOrderNumber": "mockpurchaseOrderNumber1", - "content": "Base 64 encoded string goes here", - "contentType": "application/pdf" + { + "request": { + "parameters": {} + }, + "response": { + "payload": { + "pagination": { + "nextToken": "NEBxNEBxNEBxNR==" }, - { - "purchaseOrderNumber": "mockpurchaseOrderNumber2", - "content": "Base 64 encoded string goes here", - "contentType": "application/pdf" - } - ] + "packingSlips": [ + { + "purchaseOrderNumber": "mockpurchaseOrderNumber1", + "content": "Base 64 encoded string goes here", + "contentType": "application/pdf" + }, + { + "purchaseOrderNumber": "mockpurchaseOrderNumber2", + "content": "Base 64 encoded string goes here", + "contentType": "application/pdf" + } + ] + } } } - } ] } }, @@ -2453,10 +2324,6 @@ "$ref": "#/definitions/GetPackingSlipListResponse" }, "headers": { - "x-amzn-RateLimit-Limit": { - "type": "string", - "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." - }, "x-amzn-RequestId": { "type": "string", "description": "Unique request reference identifier." @@ -2497,10 +2364,6 @@ "$ref": "#/definitions/GetPackingSlipListResponse" }, "headers": { - "x-amzn-RateLimit-Limit": { - "type": "string", - "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." - }, "x-amzn-RequestId": { "type": "string", "description": "Unique request reference identifier." @@ -2513,10 +2376,6 @@ "$ref": "#/definitions/GetPackingSlipListResponse" }, "headers": { - "x-amzn-RateLimit-Limit": { - "type": "string", - "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." - }, "x-amzn-RequestId": { "type": "string", "description": "Unique request reference identifier." @@ -2529,10 +2388,6 @@ "$ref": "#/definitions/GetPackingSlipListResponse" }, "headers": { - "x-amzn-RateLimit-Limit": { - "type": "string", - "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." - }, "x-amzn-RequestId": { "type": "string", "description": "Unique request reference identifier." @@ -2545,10 +2400,6 @@ "$ref": "#/definitions/GetPackingSlipListResponse" }, "headers": { - "x-amzn-RateLimit-Limit": { - "type": "string", - "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." - }, "x-amzn-RequestId": { "type": "string", "description": "Unique request reference identifier." @@ -2563,13 +2414,13 @@ "tags": [ "vendorShipping" ], - "description": "Returns a packing slip based on the purchaseOrderNumber that you specify.\n\n**Usage Plan:**\n\n| Rate (requests per second) | Burst |\n| ---- | ---- |\n| 10 | 10 |\n\nThe `x-amzn-RateLimit-Limit` response header returns the usage plan rate limits that were applied to the requested operation, when available. The table above indicates the default rate and burst values for this operation. Selling partners whose business demands require higher throughput may see higher rate and burst values than those shown here. For more information, see [Usage Plans and Rate Limits in the Selling Partner API](https://developer-docs.amazon.com/sp-api/docs/usage-plans-and-rate-limits-in-the-sp-api).", + "description": "Returns a packing slip based on the `purchaseOrderNumber` that you specify.\n\n**Usage Plan:**\n\n| Rate (requests per second) | Burst |\n| ---- | ---- |\n| 10 | 10 |\n\nThe `x-amzn-RateLimit-Limit` response header returns the usage plan rate limits that were applied to the requested operation, when available. The table above indicates the default rate and burst values for this operation. Selling partners whose business demands require higher throughput may see higher rate and burst values than those shown here. For more information, refer to [Usage Plans and Rate Limits in the Selling Partner API](https://developer-docs.amazon.com/sp-api/docs/usage-plans-and-rate-limits-in-the-sp-api).", "operationId": "getPackingSlip", "parameters": [ { "name": "purchaseOrderNumber", "in": "path", - "description": "The purchaseOrderNumber for the packing slip you want.", + "description": "The `purchaseOrderNumber` for the packing slip you want.", "required": true, "type": "string", "pattern": "^[a-zA-Z0-9]+$" @@ -2672,15 +2523,11 @@ } }, "401": { - "description": "The request's Authorization header is not formatted correctly or does not contain a valid token.", + "description": "The request's authorization header is not formatted correctly or does not contain a valid token.", "schema": { "$ref": "#/definitions/GetPackingSlipResponse" }, "headers": { - "x-amzn-RateLimit-Limit": { - "type": "string", - "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." - }, "x-amzn-RequestId": { "type": "string", "description": "Unique request reference identifier." @@ -2721,10 +2568,6 @@ "$ref": "#/definitions/GetPackingSlipResponse" }, "headers": { - "x-amzn-RateLimit-Limit": { - "type": "string", - "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." - }, "x-amzn-RequestId": { "type": "string", "description": "Unique request reference identifier." @@ -2737,10 +2580,6 @@ "$ref": "#/definitions/GetPackingSlipResponse" }, "headers": { - "x-amzn-RateLimit-Limit": { - "type": "string", - "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." - }, "x-amzn-RequestId": { "type": "string", "description": "Unique request reference identifier." @@ -2753,10 +2592,6 @@ "$ref": "#/definitions/GetPackingSlipResponse" }, "headers": { - "x-amzn-RateLimit-Limit": { - "type": "string", - "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." - }, "x-amzn-RequestId": { "type": "string", "description": "Unique request reference identifier." @@ -2769,10 +2604,6 @@ "$ref": "#/definitions/GetPackingSlipResponse" }, "headers": { - "x-amzn-RateLimit-Limit": { - "type": "string", - "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." - }, "x-amzn-RequestId": { "type": "string", "description": "Unique request reference identifier." @@ -2820,13 +2651,15 @@ "type": "object", "properties": { "pagination": { - "$ref": "#/definitions/Pagination" + "$ref": "#/definitions/Pagination", + "description": "The pagination elements required to retrieve the remaining data." }, "packingSlips": { "type": "array", "items": { "$ref": "#/definitions/PackingSlip" - } + }, + "description": "An array of packing slip objects." } }, "description": "A list of packing slips." @@ -2840,7 +2673,8 @@ "errors": { "$ref": "#/definitions/ErrorList" } - } + }, + "description": "Response payload with the list of packing slips." }, "GetPackingSlipResponse": { "type": "object", @@ -2851,7 +2685,8 @@ "errors": { "$ref": "#/definitions/ErrorList" } - } + }, + "description": "Response payload with packing slip." }, "SubmitShippingLabelsRequest": { "type": "object", @@ -2860,9 +2695,11 @@ "type": "array", "items": { "$ref": "#/definitions/ShippingLabelRequest" - } + }, + "description": "An array of shipping label requests to be processed." } - } + }, + "description": "The request schema for the `submitShippingLabelRequest` operation." }, "ShippingLabelRequest": { "type": "object", @@ -2892,7 +2729,8 @@ "$ref": "#/definitions/Container" } } - } + }, + "description": "Represents the request payload for creating a shipping label, containing the purchase order number, selling party, ship from party, and a list of containers or packages in the shipment." }, "Item": { "type": "object", @@ -2907,7 +2745,7 @@ }, "buyerProductIdentifier": { "type": "string", - "description": "Buyer's Standard Identification Number (ASIN) of an item. Either buyerProductIdentifier or vendorProductIdentifier is required." + "description": "Buyer's Standard Identification Number (ASIN) of an item. Either `buyerProductIdentifier` or `vendorProductIdentifier` is required." }, "vendorProductIdentifier": { "type": "string", @@ -2933,7 +2771,7 @@ }, "buyerProductIdentifier": { "type": "string", - "description": "Buyer's Standard Identification Number (ASIN) of an item. Either buyerProductIdentifier or vendorProductIdentifier is required." + "description": "Buyer's Standard Identification Number (ASIN) of an item. Either `buyerProductIdentifier` or `vendorProductIdentifier` is required." }, "vendorProductIdentifier": { "type": "string", @@ -2943,9 +2781,11 @@ "description": "Total item quantity packed in the container.", "$ref": "#/definitions/ItemQuantity" } - } + }, + "description": "Represents an item that has been packed into a container for shipping." }, "PartyIdentification": { + "description": "Name, address and tax details of a party.", "type": "object", "required": [ "partyId" @@ -3026,20 +2866,20 @@ "properties": { "trackingNumber": { "type": "string", - "description": "This is required to be provided for every package and should match with the trackingNumber sent for the shipment confirmation." + "description": "This is required to be provided for every package and should match with the `trackingNumber` sent for the shipment confirmation." }, "statusCode": { "type": "string", - "description": "Indicates the shipment status code of the package that provides transportation information for Amazon tracking systems and ultimately for the final customer. For more information, refer to the [Additional Fields Explanation](https://developer-docs.amazon.com/sp-api/docs/vendor-direct-fulfillment-shipping-api-use-case-guide#additional-fields-explanation)." + "description": "Indicates the shipment status code for the package that provides transportation information for Amazon tracking systems and ultimately for the final customer. For more information, refer to the [Additional Fields Explanation](https://developer-docs.amazon.com/sp-api/docs/vendor-direct-fulfillment-shipping-api-use-case-guide#additional-fields-explanation)." }, "reasonCode": { "type": "string", - "description": "Provides a reason code for the status of the package that will provide additional information about the transportation status. For more information, refer to the [Additional Fields Explanation](https://developer-docs.amazon.com/sp-api/docs/vendor-direct-fulfillment-shipping-api-use-case-guide#additional-fields-explanation)." + "description": "Provides a reason code for the status for the package that will provide additional information about the transportation status. For more information, refer to the [Additional Fields Explanation](https://developer-docs.amazon.com/sp-api/docs/vendor-direct-fulfillment-shipping-api-use-case-guide#additional-fields-explanation)." }, "statusDateTime": { "type": "string", "format": "date-time", - "description": "The date and time when the shipment status was updated. This field is expected to be in ISO-8601 date/time format, with UTC time zone or UTC offset. For example, 2020-07-16T23:00:00Z or 2020-07-16T23:00:00+01:00." + "description": "The date and time when the shipment status was updated. This field is expected to be in ISO 8601 date/time format, with UTC time zone or UTC offset. For example, `2020-07-16T23:00:00Z` or `2020-07-16T23:00:00+01:00`." }, "statusLocationAddress": { "$ref": "#/definitions/Address" @@ -3050,19 +2890,20 @@ "estimatedDeliveryDateTime": { "type": "string", "format": "date-time", - "description": "Date on which the shipment is expected to reach the customer delivery location. This field is expected to be in ISO-8601 date/time format, with UTC time zone or UTC offset. For example, 2020-07-16T23:00:00Z or 2020-07-16T23:00:00+01:00." + "description": "Date on which the shipment is expected to reach the customer delivery location. This field is expected to be in ISO 8601 date/time format, with UTC time zone or UTC offset. For example, `2020-07-16T23:00:00Z` or `2020-07-16T23:00:00+01:00`." }, "apptWindowStartDateTime": { "type": "string", "format": "date-time", - "description": "This field indicates the date and time at the start of the appointment window scheduled to deliver the shipment. This field is expected to be in ISO-8601 date/time format, with UTC time zone or UTC offset. For example, 2020-07-16T23:00:00Z or 2020-07-16T23:00:00+01:00." + "description": "This field indicates the date and time at the start of the appointment window scheduled to deliver the shipment. This field is expected to be in ISO 8601 date/time format, with UTC time zone or UTC offset. For example, `2020-07-16T23:00:00Z` or `2020-07-16T23:00:00+01:00`." }, "apptWindowEndDateTime": { "type": "string", "format": "date-time", - "description": "This field indicates the date and time at the end of the appointment window scheduled to deliver the shipment. This field is expected to be in ISO-8601 date/time format, with UTC time zone or UTC offset. For example, 2020-07-16T23:00:00Z or 2020-07-16T23:00:00+01:00." + "description": "This field indicates the date and time at the end of the appointment window scheduled to deliver the shipment. This field is expected to be in ISO 8601 date/time format, with UTC time zone or UTC offset. For example, `2020-07-16T23:00:00Z` or `2020-07-16T23:00:00+01:00`." } - } + }, + "description": "Details for the scheduled delivery timeline for a shipment, including the estimated delivery date and time, as well as the start and end times of the appointment window for delivery." } }, "description": "Details for the shipment status update given by the vendor for the specific package." @@ -3261,27 +3102,27 @@ "type": "object", "properties": { "payload": { - "description": "The response payload for the submitShipmentConfirmations operation.", + "description": "The response payload for the `submitShipmentConfirmations` operation.", "$ref": "#/definitions/TransactionReference" }, "errors": { "$ref": "#/definitions/ErrorList" } }, - "description": "The response schema for the submitShipmentConfirmations operation." + "description": "The response schema for the `submitShipmentConfirmations` operation." }, "SubmitShipmentStatusUpdatesResponse": { "type": "object", "properties": { "payload": { - "description": "The response payload for the submitShipmentStatusUpdates operation.", + "description": "The response payload for the `submitShipmentStatusUpdates` operation.", "$ref": "#/definitions/TransactionReference" }, "errors": { "$ref": "#/definitions/ErrorList" } }, - "description": "The response schema for the submitShipmentStatusUpdates operation." + "description": "The response schema for the `submitShipmentStatusUpdates` operation." }, "GetShippingLabelListResponse": { "type": "object", @@ -3294,20 +3135,20 @@ "$ref": "#/definitions/ErrorList" } }, - "description": "The response schema for the getShippingLabels operation." + "description": "The response schema for the `getShippingLabels` operation." }, "GetShippingLabelResponse": { "type": "object", "properties": { "payload": { - "description": "The payload for the getShippingLabel operation.", + "description": "The payload for the `getShippingLabel` operation.", "$ref": "#/definitions/ShippingLabel" }, "errors": { "$ref": "#/definitions/ErrorList" } }, - "description": "The response schema for the getShippingLabel operation." + "description": "The response schema for the `getShippingLabel` operation." }, "ShippingLabelList": { "type": "object", @@ -3319,9 +3160,11 @@ "type": "array", "items": { "$ref": "#/definitions/ShippingLabel" - } + }, + "description": "An array containing the details of the generated shipping labels." } - } + }, + "description": "Response payload with the list of shipping labels" }, "LabelData": { "type": "object", @@ -3339,7 +3182,7 @@ }, "shipMethod": { "type": "string", - "description": "Ship method to be used for shipping the order. Amazon defines Ship Method Codes indicating shipping carrier and shipment service level. Ship Method Codes are case and format sensitive. The same ship method code should returned on the shipment confirmation. Note that the Ship Method Codes are vendor specific and will be provided to each vendor during the implementation." + "description": "Ship method to be used for shipping the order. Amazon defines ship method codes indicating shipping carrier and shipment service level. Ship method codes are case and format sensitive. The same ship method code should returned on the shipment confirmation. Note that the ship method codes are vendor specific and will be provided to each vendor during the implementation." }, "shipMethodName": { "type": "string", @@ -3400,20 +3243,21 @@ "$ref": "#/definitions/LabelData" } } - } + }, + "description": "Shipping label information for an order, including the purchase order number, selling party, ship from party, label format, and package details." }, "SubmitShippingLabelsResponse": { "type": "object", "properties": { "payload": { - "description": "The response payload for the submitShippingLabelRequest operation.", + "description": "The response payload for the `submitShippingLabelRequest` operation.", "$ref": "#/definitions/TransactionReference" }, "errors": { "$ref": "#/definitions/ErrorList" } }, - "description": "The response schema for the submitShippingLabelRequest operation." + "description": "The response schema for the `submitShippingLabelRequest` operation." }, "SubmitShipmentConfirmationsRequest": { "type": "object", @@ -3422,9 +3266,11 @@ "type": "array", "items": { "$ref": "#/definitions/ShipmentConfirmation" - } + }, + "description": "Array of `ShipmentConfirmation` objects, each representing confirmation details for a specific shipment." } - } + }, + "description": "The request schema for the `submitShipmentConfirmations` operation." }, "ShipmentConfirmation": { "type": "object", @@ -3467,7 +3313,8 @@ "$ref": "#/definitions/Container" } } - } + }, + "description": "Represents the confirmation details of a shipment, including the purchase order number and other shipment details." }, "SubmitShipmentStatusUpdatesRequest": { "type": "object", @@ -3477,9 +3324,11 @@ "items": { "$ref": "#/definitions/ShipmentStatusUpdate" }, - "minItems": 1 + "minItems": 1, + "description": "Contains a list of one or more `ShipmentStatusUpdate` objects, each representing an update to the status of a specific shipment." } - } + }, + "description": "Represents the request payload for submitting updates to the status of shipments, containing an array of one or more `ShipmentStatusUpdate` objects." }, "ShipmentStatusUpdate": { "type": "object", @@ -3507,7 +3356,8 @@ "description": "Provide the details about the status of the shipment at that particular point of time.", "$ref": "#/definitions/StatusUpdateDetails" } - } + }, + "description": "Represents an update to the status of a shipment." }, "GetCustomerInvoicesResponse": { "type": "object", @@ -3520,20 +3370,20 @@ "$ref": "#/definitions/ErrorList" } }, - "description": "The response schema for the getCustomerInvoices operation." + "description": "The response schema for the `getCustomerInvoices` operation." }, "GetCustomerInvoiceResponse": { "type": "object", "properties": { "payload": { - "description": "The payload for the getCustomerInvoice operation.", + "description": "The payload for the `getCustomerInvoice` operation.", "$ref": "#/definitions/CustomerInvoice" }, "errors": { "$ref": "#/definitions/ErrorList" } }, - "description": "The response schema for the getCustomerInvoice operation." + "description": "The response schema for the `getCustomerInvoice` operation." }, "CustomerInvoiceList": { "type": "object", @@ -3543,20 +3393,23 @@ }, "customerInvoices": { "type": "array", + "description": "Represents a customer invoice within the `CustomerInvoiceList`.", "items": { "$ref": "#/definitions/CustomerInvoice" } } - } + }, + "description": "Represents a list of customer invoices, potentially paginated." }, "Pagination": { "type": "object", "properties": { "nextToken": { "type": "string", - "description": "A generated string used to pass information to your next request. If NextToken is returned, pass the value of NextToken to the next request. If NextToken is not returned, there are no more order items to return." + "description": "A generated string used to pass information to your next request. If `NextToken` is returned, pass the value of `NextToken` to the next request. If `NextToken` is not returned, there are no more order items to return." } - } + }, + "description": "The pagination elements required to retrieve the remaining data." }, "CustomerInvoice": { "type": "object", @@ -3572,9 +3425,10 @@ }, "content": { "type": "string", - "description": "The Base64encoded customer invoice." + "description": "The `Base64encoded` customer invoice." } - } + }, + "description": "Represents a customer invoice associated with a purchase order." }, "TransactionReference": { "type": "object", @@ -3583,7 +3437,8 @@ "type": "string", "description": "GUID to identify this transaction. This value can be used with the Transaction Status API to return the status of this transaction." } - } + }, + "description": "Response containing the transaction ID." }, "ErrorList": { "type": "array", @@ -3686,7 +3541,8 @@ "$ref": "#/definitions/PackedItem" } } - } + }, + "description": "A container used for shipping and packing items." } } } \ No newline at end of file diff --git a/models/vendor-direct-fulfillment-shipping-api-model/vendorDirectFulfillmentShipping_2021-12-28.json b/models/vendor-direct-fulfillment-shipping-api-model/vendorDirectFulfillmentShipping_2021-12-28.json index 45b6beb19..6db67e913 100644 --- a/models/vendor-direct-fulfillment-shipping-api-model/vendorDirectFulfillmentShipping_2021-12-28.json +++ b/models/vendor-direct-fulfillment-shipping-api-model/vendorDirectFulfillmentShipping_2021-12-28.json @@ -216,10 +216,6 @@ "$ref": "#/definitions/ErrorList" }, "headers": { - "x-amzn-RateLimit-Limit": { - "type": "string", - "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." - }, "x-amzn-RequestId": { "type": "string", "description": "Unique request reference identifier." @@ -232,10 +228,6 @@ "$ref": "#/definitions/ErrorList" }, "headers": { - "x-amzn-RateLimit-Limit": { - "type": "string", - "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." - }, "x-amzn-RequestId": { "type": "string", "description": "Unique request reference identifier." @@ -248,10 +240,6 @@ "$ref": "#/definitions/ErrorList" }, "headers": { - "x-amzn-RateLimit-Limit": { - "type": "string", - "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." - }, "x-amzn-RequestId": { "type": "string", "description": "Unique request reference identifier." @@ -264,10 +252,6 @@ "$ref": "#/definitions/ErrorList" }, "headers": { - "x-amzn-RateLimit-Limit": { - "type": "string", - "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." - }, "x-amzn-RequestId": { "type": "string", "description": "Unique request reference identifier." @@ -292,7 +276,8 @@ "required": true, "schema": { "$ref": "#/definitions/SubmitShippingLabelsRequest" - } + }, + "description": "Request body that contains the shipping labels data." } ], "responses": { @@ -362,10 +347,6 @@ "$ref": "#/definitions/ErrorList" }, "headers": { - "x-amzn-RateLimit-Limit": { - "type": "string", - "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." - }, "x-amzn-RequestId": { "type": "string", "description": "Unique request reference identifier." @@ -378,10 +359,6 @@ "$ref": "#/definitions/ErrorList" }, "headers": { - "x-amzn-RateLimit-Limit": { - "type": "string", - "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." - }, "x-amzn-RequestId": { "type": "string", "description": "Unique request reference identifier." @@ -394,10 +371,6 @@ "$ref": "#/definitions/ErrorList" }, "headers": { - "x-amzn-RateLimit-Limit": { - "type": "string", - "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." - }, "x-amzn-RequestId": { "type": "string", "description": "Unique request reference identifier." @@ -410,10 +383,6 @@ "$ref": "#/definitions/ErrorList" }, "headers": { - "x-amzn-RateLimit-Limit": { - "type": "string", - "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." - }, "x-amzn-RequestId": { "type": "string", "description": "Unique request reference identifier." @@ -426,10 +395,6 @@ "$ref": "#/definitions/ErrorList" }, "headers": { - "x-amzn-RateLimit-Limit": { - "type": "string", - "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." - }, "x-amzn-RequestId": { "type": "string", "description": "Unique request reference identifier." @@ -453,7 +418,7 @@ { "name": "purchaseOrderNumber", "in": "path", - "description": "The purchase order number for which you want to return the shipping label. It should be the same purchaseOrderNumber as received in the order.", + "description": "The purchase order number for which you want to return the shipping label. Should be the same `purchaseOrderNumber` as received in the order.", "required": true, "type": "string", "pattern": "^[a-zA-Z0-9]+$" @@ -519,10 +484,6 @@ "$ref": "#/definitions/ErrorList" }, "headers": { - "x-amzn-RateLimit-Limit": { - "type": "string", - "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." - }, "x-amzn-RequestId": { "type": "string", "description": "Unique request reference identifier." @@ -563,10 +524,6 @@ "$ref": "#/definitions/ErrorList" }, "headers": { - "x-amzn-RateLimit-Limit": { - "type": "string", - "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." - }, "x-amzn-RequestId": { "type": "string", "description": "Unique request reference identifier." @@ -579,10 +536,6 @@ "$ref": "#/definitions/ErrorList" }, "headers": { - "x-amzn-RateLimit-Limit": { - "type": "string", - "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." - }, "x-amzn-RequestId": { "type": "string", "description": "Unique request reference identifier." @@ -595,10 +548,6 @@ "$ref": "#/definitions/ErrorList" }, "headers": { - "x-amzn-RateLimit-Limit": { - "type": "string", - "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." - }, "x-amzn-RequestId": { "type": "string", "description": "Unique request reference identifier." @@ -611,10 +560,6 @@ "$ref": "#/definitions/ErrorList" }, "headers": { - "x-amzn-RateLimit-Limit": { - "type": "string", - "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." - }, "x-amzn-RequestId": { "type": "string", "description": "Unique request reference identifier." @@ -645,6 +590,7 @@ "in": "body", "name": "body", "required": true, + "description": "The request payload that contains parameters for creating shipping labels.", "schema": { "$ref": "#/definitions/CreateShippingLabelsRequest" } @@ -803,7 +749,8 @@ "required": true, "schema": { "$ref": "#/definitions/SubmitShipmentConfirmationsRequest" - } + }, + "description": "Request body containing the shipment confirmations data." } ], "responses": { @@ -947,7 +894,8 @@ "required": true, "schema": { "$ref": "#/definitions/SubmitShipmentStatusUpdatesRequest" - } + }, + "description": "Request body that contains the shipment status update data." } ], "responses": { @@ -1849,13 +1797,15 @@ "type": "object", "properties": { "pagination": { - "$ref": "#/definitions/Pagination" + "$ref": "#/definitions/Pagination", + "description": "The pagination elements required to retrieve the remaining data." }, "packingSlips": { "type": "array", "items": { "$ref": "#/definitions/PackingSlip" - } + }, + "description": "An array of packing slip objects." } }, "description": "A list of packing slips." @@ -1892,9 +1842,11 @@ "type": "array", "items": { "$ref": "#/definitions/ShippingLabelRequest" - } + }, + "description": "An array of shipping label requests you want to process." } - } + }, + "description": "The request schema for the `submitShippingLabelRequest` operation." }, "ShippingLabelRequest": { "type": "object", @@ -1924,7 +1876,8 @@ "$ref": "#/definitions/Container" } } - } + }, + "description": "Represents the request payload to create a shipping label. Contains the purchase order number, selling party, ship from party, and a list of containers or packages in the shipment." }, "Item": { "type": "object", @@ -1979,9 +1932,11 @@ "description": "Total item quantity packed in the container.", "$ref": "#/definitions/ItemQuantity" } - } + }, + "description": "Represents an item packed into a container for shipping." }, "PartyIdentification": { + "description": "Name, address, and tax details for a party.", "type": "object", "required": [ "partyId" @@ -2066,11 +2021,11 @@ }, "statusCode": { "type": "string", - "description": "Indicates the shipment status code of the package that provides transportation information for Amazon tracking systems and ultimately for the final customer. For more information, refer to the [Additional Fields Explanation](https://developer-docs.amazon.com/sp-api/docs/vendor-direct-fulfillment-shipping-api-use-case-guide#additional-fields-explanation)." + "description": "The shipment status code for the package that provides transportation information for Amazon tracking systems and the final customer. For more information, refer to the [Additional Fields Explanation](https://developer-docs.amazon.com/sp-api/docs/vendor-direct-fulfillment-shipping-api-use-case-guide#additional-fields-explanation)." }, "reasonCode": { "type": "string", - "description": "Provides a reason code for the status of the package that will provide additional information about the transportation status. For more information, refer to the [Additional Fields Explanation](https://developer-docs.amazon.com/sp-api/docs/vendor-direct-fulfillment-shipping-api-use-case-guide#additional-fields-explanation)." + "description": "Provides a reason code for the package status that provides additional information about the transportation status. For more information, refer to the [Additional Fields Explanation](https://developer-docs.amazon.com/sp-api/docs/vendor-direct-fulfillment-shipping-api-use-case-guide#additional-fields-explanation)." }, "statusDateTime": { "type": "string", @@ -2307,9 +2262,11 @@ "type": "array", "items": { "$ref": "#/definitions/ShippingLabel" - } + }, + "description": "An array that contains the details of the generated shipping labels." } - } + }, + "description": "Response payload with the shipping labels list." }, "LabelData": { "type": "object", @@ -2388,7 +2345,8 @@ "$ref": "#/definitions/LabelData" } } - } + }, + "description": "Shipping label information for an order. Includes the purchase order number, selling party, ship from party, label format, and package details." }, "SubmitShipmentConfirmationsRequest": { "type": "object", @@ -2397,9 +2355,11 @@ "type": "array", "items": { "$ref": "#/definitions/ShipmentConfirmation" - } + }, + "description": "An array of `ShipmentConfirmation` objects, each represents confirmation details for a specific shipment." } - } + }, + "description": "The `submitShipmentConfirmations` request schema." }, "ShipmentConfirmation": { "type": "object", @@ -2442,7 +2402,8 @@ "$ref": "#/definitions/Container" } } - } + }, + "description": "Represents the confirmation details of a shipment. Includes the purchase order number and other shipment details." }, "SubmitShipmentStatusUpdatesRequest": { "type": "object", @@ -2452,9 +2413,11 @@ "items": { "$ref": "#/definitions/ShipmentStatusUpdate" }, - "minItems": 1 + "minItems": 1, + "description": "Contains a list of one or more `ShipmentStatusUpdate` objects, each represents a status update of a specific shipment." } - } + }, + "description": "The `submitShipmentStatusUpdates` request schema." }, "ShipmentStatusUpdate": { "type": "object", @@ -2482,21 +2445,25 @@ "description": "Provide the details about the status of the shipment at that particular point of time.", "$ref": "#/definitions/StatusUpdateDetails" } - } + }, + "description": "Represents a shipment status update." }, "CustomerInvoiceList": { "type": "object", "properties": { "pagination": { - "$ref": "#/definitions/Pagination" + "$ref": "#/definitions/Pagination", + "description": "The pagination elements required to retrieve the remaining data." }, "customerInvoices": { "type": "array", + "description": "Represents a customer invoice within the `CustomerInvoiceList`.", "items": { "$ref": "#/definitions/CustomerInvoice" } } - } + }, + "description": "Represents a list of customer invoices, potentially paginated." }, "Pagination": { "type": "object", @@ -2505,7 +2472,8 @@ "type": "string", "description": "A generated string used to pass information to your next request. If NextToken is returned, pass the value of NextToken to the next request. If NextToken is not returned, there are no more order items to return." } - } + }, + "description": "The pagination elements required to retrieve the remaining data." }, "CustomerInvoice": { "type": "object", @@ -2523,7 +2491,8 @@ "type": "string", "description": "The Base64encoded customer invoice." } - } + }, + "description": "Represents a customer invoice associated with a purchase order." }, "TransactionReference": { "type": "object", @@ -2532,7 +2501,8 @@ "type": "string", "description": "GUID to identify this transaction. This value can be used with the Transaction Status API to return the status of this transaction." } - } + }, + "description": "Response that contains the transaction ID." }, "ErrorList": { "type": "object", @@ -2545,7 +2515,8 @@ "type": "array", "items": { "$ref": "#/definitions/Error" - } + }, + "description": "An array of error objects that represents individual errors encountered during the request." } } }, @@ -2643,7 +2614,8 @@ "$ref": "#/definitions/PackedItem" } } - } + }, + "description": "A container for shipping and packing items." } } } \ No newline at end of file diff --git a/models/vendor-direct-fulfillment-transactions-api-model/vendorDirectFulfillmentTransactionsV1.json b/models/vendor-direct-fulfillment-transactions-api-model/vendorDirectFulfillmentTransactionsV1.json index 4256d587c..91d93162a 100644 --- a/models/vendor-direct-fulfillment-transactions-api-model/vendorDirectFulfillmentTransactionsV1.json +++ b/models/vendor-direct-fulfillment-transactions-api-model/vendorDirectFulfillmentTransactionsV1.json @@ -29,7 +29,7 @@ "tags": [ "vendorTransaction" ], - "description": "Returns the status of the transaction indicated by the specified transactionId.\n\n**Usage Plan:**\n\n| Rate (requests per second) | Burst |\n| ---- | ---- |\n| 10 | 10 |\n\nThe `x-amzn-RateLimit-Limit` response header returns the usage plan rate limits that were applied to the requested operation, when available. The table above indicates the default rate and burst values for this operation. Selling partners whose business demands require higher throughput may see higher rate and burst values than those shown here. For more information, see [Usage Plans and Rate Limits in the Selling Partner API](https://developer-docs.amazon.com/sp-api/docs/usage-plans-and-rate-limits-in-the-sp-api).", + "description": "Returns the status of the transaction indicated by the specified `transactionId`.\n\n**Usage Plan:**\n\n| Rate (requests per second) | Burst |\n| ---- | ---- |\n| 10 | 10 |\n\nThe `x-amzn-RateLimit-Limit` response header returns the usage plan rate limits that are applied to the operation, when available. The preceding table indicates the default rate and burst values for this operation. Selling partners whose business demands require higher throughput may see higher rate and burst values than those shown here. For more information, refer to [Usage Plans and Rate Limits in the SP-API](https://developer-docs.amazon.com/sp-api/docs/usage-plans-and-rate-limits-in-the-sp-api).", "operationId": "getTransactionStatus", "parameters": [ { @@ -168,10 +168,6 @@ "$ref": "#/definitions/GetTransactionResponse" }, "headers": { - "x-amzn-RateLimit-Limit": { - "type": "string", - "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." - }, "x-amzn-RequestId": { "type": "string", "description": "Unique request reference identifier." @@ -212,10 +208,6 @@ "$ref": "#/definitions/GetTransactionResponse" }, "headers": { - "x-amzn-RateLimit-Limit": { - "type": "string", - "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." - }, "x-amzn-RequestId": { "type": "string", "description": "Unique request reference identifier." @@ -228,10 +220,6 @@ "$ref": "#/definitions/GetTransactionResponse" }, "headers": { - "x-amzn-RateLimit-Limit": { - "type": "string", - "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." - }, "x-amzn-RequestId": { "type": "string", "description": "Unique request reference identifier." @@ -244,10 +232,6 @@ "$ref": "#/definitions/GetTransactionResponse" }, "headers": { - "x-amzn-RateLimit-Limit": { - "type": "string", - "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." - }, "x-amzn-RequestId": { "type": "string", "description": "Unique request reference identifier." @@ -260,10 +244,6 @@ "$ref": "#/definitions/GetTransactionResponse" }, "headers": { - "x-amzn-RateLimit-Limit": { - "type": "string", - "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." - }, "x-amzn-RequestId": { "type": "string", "description": "Unique request reference identifier." @@ -286,7 +266,7 @@ "$ref": "#/definitions/ErrorList" } }, - "description": "The response schema for the getTransactionStatus operation." + "description": "The response schema for the `getTransactionStatus` operation." }, "TransactionStatus": { "type": "object", @@ -295,7 +275,7 @@ "$ref": "#/definitions/Transaction" } }, - "description": "The payload for the getTransactionStatus operation." + "description": "The payload for the `getTransactionStatus` operation." }, "Transaction": { "type": "object", diff --git a/models/vendor-direct-fulfillment-transactions-api-model/vendorDirectFulfillmentTransactions_2021-12-28.json b/models/vendor-direct-fulfillment-transactions-api-model/vendorDirectFulfillmentTransactions_2021-12-28.json index 17175c966..d57e72b75 100644 --- a/models/vendor-direct-fulfillment-transactions-api-model/vendorDirectFulfillmentTransactions_2021-12-28.json +++ b/models/vendor-direct-fulfillment-transactions-api-model/vendorDirectFulfillmentTransactions_2021-12-28.json @@ -29,7 +29,7 @@ "tags": [ "vendorTransaction" ], - "description": "Returns the status of the transaction indicated by the specified transactionId.\n\n**Usage Plan:**\n\n| Rate (requests per second) | Burst |\n| ---- | ---- |\n| 10 | 10 |\n\nThe `x-amzn-RateLimit-Limit` response header returns the usage plan rate limits that were applied to the requested operation, when available. The table above indicates the default rate and burst values for this operation. Selling partners whose business demands require higher throughput may see higher rate and burst values then those shown here. For more information, see [Usage Plans and Rate Limits in the Selling Partner API](doc:usage-plans-and-rate-limits-in-the-sp-api).", + "description": "Returns the status of the transaction indicated by the specified `transactionId`.\n\n**Usage Plan:**\n\n| Rate (requests per second) | Burst |\n| ---- | ---- |\n| 10 | 10 |\n\nThe `x-amzn-RateLimit-Limit` response header returns the usage plan rate limits that were applied to the requested operation, when available. The table above indicates the default rate and burst values for this operation. Selling partners whose business demands require higher throughput may see higher rate and burst values then those shown here. For more information, refer to [Usage Plans and Rate Limits in the Selling Partner API](https://developer-docs.amazon.com/sp-api/docs/usage-plans-and-rate-limits-in-the-sp-api).", "operationId": "getTransactionStatus", "parameters": [ { @@ -48,10 +48,10 @@ }, "examples": { "application/json": { - "transactionStatus": { - "transactionId": "20190108091302-6ca0ac50-d06e-45f5-a1e2-eb448eadac50", - "status": "Processing" - } + "transactionStatus": { + "transactionId": "20190108091302-6ca0ac50-d06e-45f5-a1e2-eb448eadac50", + "status": "Processing" + } } }, "headers": { @@ -82,15 +82,11 @@ } }, "401": { - "description": "The request's Authorization header is not formatted correctly or does not contain a valid token.", + "description": "The request's authorization header is not formatted correctly or does not contain a valid token.", "schema": { "$ref": "#/definitions/Error" }, "headers": { - "x-amzn-RateLimit-Limit": { - "type": "string", - "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." - }, "x-amzn-RequestId": { "type": "string", "description": "Unique request reference identifier." @@ -131,10 +127,6 @@ "$ref": "#/definitions/Error" }, "headers": { - "x-amzn-RateLimit-Limit": { - "type": "string", - "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." - }, "x-amzn-RequestId": { "type": "string", "description": "Unique request reference identifier." @@ -147,10 +139,6 @@ "$ref": "#/definitions/Error" }, "headers": { - "x-amzn-RateLimit-Limit": { - "type": "string", - "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." - }, "x-amzn-RequestId": { "type": "string", "description": "Unique request reference identifier." @@ -163,10 +151,6 @@ "$ref": "#/definitions/Error" }, "headers": { - "x-amzn-RateLimit-Limit": { - "type": "string", - "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." - }, "x-amzn-RequestId": { "type": "string", "description": "Unique request reference identifier." @@ -179,10 +163,6 @@ "$ref": "#/definitions/Error" }, "headers": { - "x-amzn-RateLimit-Limit": { - "type": "string", - "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." - }, "x-amzn-RequestId": { "type": "string", "description": "Unique request reference identifier." @@ -205,7 +185,7 @@ "$ref": "#/definitions/Transaction" } }, - "description": "The payload for the getTransactionStatus operation." + "description": "The payload for the `getTransactionStatus` operation." }, "Transaction": { "type": "object", @@ -249,41 +229,42 @@ "description": "The transaction status details." }, "ErrorList": { - "type": "object", - "description": "A list of error responses returned when a request is unsuccessful.", - "required": [ - "errors" - ], - "properties": { - "errors": { - "type": "array", - "items": { - "$ref": "#/definitions/Error" - } - } + "type": "object", + "description": "A list of error responses returned when a request is unsuccessful.", + "required": [ + "errors" + ], + "properties": { + "errors": { + "type": "array", + "description": "An array of individual error objects containing error details.", + "items": { + "$ref": "#/definitions/Error" + } } + } }, "Error": { - "description": "Error response returned when the request is unsuccessful.", - "properties": { - "code": { - "description": "An error code that identifies the type of error that occurred.", - "type": "string" - }, - "message": { - "description": "A message that describes the error condition.", - "type": "string" - }, - "details": { - "description": "Additional details that can help the caller understand or fix the issue.", - "type": "string" - } + "description": "Error response returned when the request is unsuccessful.", + "properties": { + "code": { + "description": "An error code that identifies the type of error that occurred.", + "type": "string" }, - "required": [ - "code", - "message" - ], - "type": "object" + "message": { + "description": "A message that describes the error condition.", + "type": "string" + }, + "details": { + "description": "Additional details that can help the caller understand or fix the issue.", + "type": "string" + } + }, + "required": [ + "code", + "message" + ], + "type": "object" } } } \ No newline at end of file diff --git a/models/vendor-invoices-api-model/vendorInvoices.json b/models/vendor-invoices-api-model/vendorInvoices.json index 863f431eb..50ebff6c2 100644 --- a/models/vendor-invoices-api-model/vendorInvoices.json +++ b/models/vendor-invoices-api-model/vendorInvoices.json @@ -29,7 +29,7 @@ "tags": [ "vendorPayments" ], - "description": "Submit new invoices to Amazon.\n\n**Usage Plan:**\n\n| Rate (requests per second) | Burst |\n| ---- | ---- |\n| 10 | 10 |\n\nThe `x-amzn-RateLimit-Limit` response header returns the usage plan rate limits that were applied to the requested operation, when available. The table above indicates the default rate and burst values for this operation. Selling partners whose business demands require higher throughput may see higher rate and burst values than those shown here. For more information, see [Usage Plans and Rate Limits in the Selling Partner API](https://developer-docs.amazon.com/sp-api/docs/usage-plans-and-rate-limits-in-the-sp-api).", + "description": "Submit new invoices to Amazon.\n\n**Usage Plan:**\n\n| Rate (requests per second) | Burst |\n| ---- | ---- |\n| 10 | 10 |\n\nThe `x-amzn-RateLimit-Limit` response header returns the usage plan rate limits that were applied to the requested operation, when available. The table above indicates the default rate and burst values for this operation. Selling partners whose business demands require higher throughput may see higher rate and burst values than those shown here. For more information, refer to [Usage Plans and Rate Limits in the Selling Partner API](https://developer-docs.amazon.com/sp-api/docs/usage-plans-and-rate-limits-in-the-sp-api).", "operationId": "submitInvoices", "parameters": [ { @@ -280,7 +280,8 @@ ] } } - } + }, + "description": "The request body containing the invoice data to submit." } ], "responses": { @@ -303,7 +304,7 @@ }, "x-amzn-RequestId": { "type": "string", - "description": "Unique request reference identifier. " + "description": "Unique request reference identifier." } }, "x-amzn-api-sandbox": { @@ -416,7 +417,7 @@ }, "x-amzn-RequestId": { "type": "string", - "description": "unique request reference identifier." + "description": "Unique request reference identifier." } } }, @@ -426,10 +427,6 @@ "$ref": "#/definitions/SubmitInvoicesResponse" }, "headers": { - "x-amzn-RateLimit-Limit": { - "type": "string", - "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." - }, "x-amzn-RequestId": { "type": "string", "description": "Unique request reference identifier." @@ -442,10 +439,6 @@ "$ref": "#/definitions/SubmitInvoicesResponse" }, "headers": { - "x-amzn-RateLimit-Limit": { - "type": "string", - "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." - }, "x-amzn-RequestId": { "type": "string", "description": "Unique request reference identifier." @@ -458,10 +451,6 @@ "$ref": "#/definitions/SubmitInvoicesResponse" }, "headers": { - "x-amzn-RateLimit-Limit": { - "type": "string", - "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." - }, "x-amzn-RequestId": { "type": "string", "description": "Unique request reference identifier." @@ -474,10 +463,6 @@ "$ref": "#/definitions/SubmitInvoicesResponse" }, "headers": { - "x-amzn-RateLimit-Limit": { - "type": "string", - "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." - }, "x-amzn-RequestId": { "type": "string", "description": "Unique request reference identifier." @@ -490,10 +475,6 @@ "$ref": "#/definitions/SubmitInvoicesResponse" }, "headers": { - "x-amzn-RateLimit-Limit": { - "type": "string", - "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." - }, "x-amzn-RequestId": { "type": "string", "description": "Unique request reference identifier." @@ -509,14 +490,14 @@ "type": "object", "properties": { "payload": { - "description": "The response payload for the submitInvoices operation.", + "description": "The response payload for the `submitInvoices` operation.", "$ref": "#/definitions/TransactionId" }, "errors": { "$ref": "#/definitions/ErrorList" } }, - "description": "The response schema for the submitInvoices operation." + "description": "The response schema for the `submitInvoices` operation." }, "TransactionId": { "type": "object", @@ -525,7 +506,8 @@ "type": "string", "description": "GUID to identify this transaction. This value can be used with the Transaction Status API to return the status of this transaction." } - } + }, + "description": "Response containing the transaction ID." }, "ErrorList": { "type": "array", @@ -563,10 +545,11 @@ "type": "array", "items": { "$ref": "#/definitions/Invoice" - } + }, + "description": "An array of Invoice objects representing the invoices or credit notes to be submitted." } }, - "description": "The request schema for the submitInvoices operation." + "description": "The request schema for the `submitInvoices` operation." }, "Invoice": { "type": "object", @@ -609,19 +592,19 @@ "$ref": "#/definitions/DateTime" }, "remitToParty": { - "description": "Name, address and tax details of the party receiving the payment of this invoice.", + "description": "Name, address, and tax details of the party receiving the payment of this invoice.", "$ref": "#/definitions/PartyIdentification" }, "shipToParty": { - "description": "Name, address and tax details of the party receiving a shipment of products.", + "description": "Name, address, and tax details of the party receiving a shipment of products.", "$ref": "#/definitions/PartyIdentification" }, "shipFromParty": { - "description": "Name, address and tax details of the party sending a shipment of products.", + "description": "Name, address, and tax details of the party sending a shipment of products.", "$ref": "#/definitions/PartyIdentification" }, "billToParty": { - "description": "Name, address and tax details of the party to whom this invoice is issued.", + "description": "Name, address, and tax details of the party to whom this invoice is issued.", "$ref": "#/definitions/PartyIdentification" }, "paymentTerms": { @@ -667,9 +650,11 @@ "$ref": "#/definitions/InvoiceItem" } } - } + }, + "description": "Represents an invoice or credit note document with details about the transaction, parties involved, and line items." }, "PartyIdentification": { + "description": "Name, address, and tax details of a party.", "type": "object", "required": [ "partyId" @@ -750,23 +735,23 @@ }, "city": { "type": "string", - "description": "The city where the person, business or institution is located." + "description": "The city where the person, business, or institution is located." }, "county": { "type": "string", - "description": "The county where person, business or institution is located." + "description": "The county where person, business, or institution is located." }, "district": { "type": "string", - "description": "The district where person, business or institution is located." + "description": "The district where person, business, or institution is located." }, "stateOrRegion": { "type": "string", - "description": "The state or region where person, business or institution is located." + "description": "The state or region where person, business, or institution is located." }, "postalOrZipCode": { "type": "string", - "description": "The postal or zip code of that address. It contains a series of letters or digits or both, sometimes including spaces or punctuation." + "description": "The postal or zip code of that address. It contains a series of letters, digits, or both, sometimes including spaces or punctuation." }, "countryCode": { "type": "string", @@ -810,14 +795,14 @@ }, "purchaseOrderNumber": { "type": "string", - "description": "The Amazon purchase order number for this invoiced line item. Formatting Notes: 8-character alpha-numeric code. This value is mandatory only when invoiceType is Invoice, and is not required when invoiceType is CreditNote." + "description": "The Amazon purchase order number for this invoiced line item. Formatting Notes: 8-character alpha-numeric code. This value is mandatory only when `invoiceType` is `Invoice`, and is not required when `invoiceType` is `CreditNote`." }, "hsnCode": { "type": "string", - "description": "HSN Tax code. The HSN number cannot contain alphabets." + "description": "The HSN Tax code. The HSN number cannot contain alphabets." }, "creditNoteDetails": { - "description": "Details required in order to process a credit note. This information is required only if invoiceType is CreditNote.", + "description": "Details required in order to process a credit note. This information is required only if `invoiceType` is `CreditNote`.", "$ref": "#/definitions/CreditNoteDetails" }, "taxDetails": { @@ -930,11 +915,11 @@ ] }, "taxRate": { - "description": "Tax percentage applied. Percentage must be expressed in decimal.", + "description": "Tax percentage applied. Percentage must be expressed in decimal format.", "$ref": "#/definitions/Decimal" }, "taxAmount": { - "description": "Total tax amount applied on invoice total or an item total.", + "description": "Total tax amount applied on an invoice total or item total.", "$ref": "#/definitions/Money" }, "taxableAmount": { @@ -1196,7 +1181,7 @@ }, "discountDueDays": { "type": "number", - "description": "The number of calendar days from the Base date (Invoice date) until the discount is no longer valid." + "description": "The number of calendar days from the base date (Invoice date) until the discount is no longer valid." }, "netDueDays": { "type": "number", @@ -1210,18 +1195,18 @@ "properties": { "referenceInvoiceNumber": { "type": "string", - "description": "Original Invoice Number when sending a credit note relating to an existing invoice. One Invoice only to be processed per Credit Note. This is mandatory for AP Credit Notes." + "description": "Original invoice number when sending a credit note relating to an existing invoice. One invoice only to be processed per credit note. This is mandatory for AP credit notes." }, "debitNoteNumber": { "type": "string", - "description": "Debit Note Number as generated by Amazon. Recommended for Returns and COOP Credit Notes." + "description": "Debit note number as generated by Amazon. Recommended for returns and COOP credit notes." }, "returnsReferenceNumber": { "type": "string", - "description": "Identifies the Returns Notice Number. Mandatory for all Returns Credit Notes." + "description": "Identifies the returns notice number. Mandatory for all returns credit notes." }, "goodsReturnDate": { - "description": "Date that a return is received by the vendor. It is mandatory for Returns Credit Note.", + "description": "Date that a return is received by the vendor. It is mandatory for the returns credit note.", "$ref": "#/definitions/DateTime" }, "rmaId": { @@ -1230,14 +1215,14 @@ }, "coopReferenceNumber": { "type": "string", - "description": "Identifies the COOP reference used for COOP agreement. Failure to provide the COOP reference number or the Debit Note number may lead to a rejection of the Credit Note." + "description": "Identifies the COOP reference used for COOP agreement. Failure to provide the COOP reference number or the debit note number may lead to a rejection of the credit note." }, "consignorsReferenceNumber": { "type": "string", "description": "Identifies the consignor reference number (VRET number), if generated by Amazon." } }, - "description": "References required in order to process a credit note. This information is required only if InvoiceType is CreditNote." + "description": "References required in order to process a credit note. This information is required only if `InvoiceType` is `CreditNote`." }, "ItemQuantity": { "type": "object", @@ -1270,7 +1255,7 @@ }, "unitSize": { "type": "integer", - "description": "The case size, if the unit of measure value is Cases." + "description": "The case size, if the unit of measure value is `Cases`." } }, "description": "Details of quantity." @@ -1282,7 +1267,7 @@ "DateTime": { "type": "string", "format": "date-time", - "description": "Defines a date and time according to ISO8601." + "description": "Defines a date and time according to ISO 8601." } } } \ No newline at end of file diff --git a/models/vendor-orders-api-model/vendorOrders.json b/models/vendor-orders-api-model/vendorOrders.json index 203ec565f..4f1cccdb3 100644 --- a/models/vendor-orders-api-model/vendorOrders.json +++ b/models/vendor-orders-api-model/vendorOrders.json @@ -29,7 +29,7 @@ "tags": [ "vendorOrders" ], - "description": "Returns a list of purchase orders created or changed during the time frame that you specify. You define the time frame using the createdAfter, createdBefore, changedAfter and changedBefore parameters. The date range to search must not be more than 7 days. You can choose to get only the purchase order numbers by setting includeDetails to false. You can then use the getPurchaseOrder operation to receive details for a specific purchase order.\n\n**Usage Plan:**\n\n| Rate (requests per second) | Burst |\n| ---- | ---- |\n| 10 | 10 |\n\nThe `x-amzn-RateLimit-Limit` response header returns the usage plan rate limits that were applied to the requested operation, when available. The table above indicates the default rate and burst values for this operation. Selling partners whose business demands require higher throughput may see higher rate and burst values than those shown here. For more information, see [Usage Plans and Rate Limits in the Selling Partner API](https://developer-docs.amazon.com/sp-api/docs/usage-plans-and-rate-limits-in-the-sp-api).", + "description": "Returns a list of purchase orders created or changed during the time frame that you specify. You define the time frame using the `createdAfter`, `createdBefore`, `changedAfter` and `changedBefore` parameters. The date range to search must not be more than 7 days. You can choose to get only the purchase order numbers by setting `includeDetails` to false. You can then use the `getPurchaseOrder` operation to receive details for a specific purchase order.\n\n**Usage Plan:**\n\n| Rate (requests per second) | Burst |\n| ---- | ---- |\n| 10 | 10 |\n\nThe `x-amzn-RateLimit-Limit` response header returns the usage plan rate limits that were applied to the requested operation, when available. The table above indicates the default rate and burst values for this operation. Selling partners whose business demands require higher throughput may see higher rate and burst values than those shown here. For more information, refer to [Usage Plans and Rate Limits in the Selling Partner API](https://developer-docs.amazon.com/sp-api/docs/usage-plans-and-rate-limits-in-the-sp-api).", "operationId": "getPurchaseOrders", "parameters": [ { @@ -45,7 +45,7 @@ { "name": "createdAfter", "in": "query", - "description": "Purchase orders that became available after this time will be included in the result. Must be in ISO-8601 date/time format.", + "description": "Purchase orders that became available after this time will be included in the result. Must be in ISO 8601 date/time format.", "required": false, "type": "string", "format": "date-time" @@ -53,7 +53,7 @@ { "name": "createdBefore", "in": "query", - "description": "Purchase orders that became available before this time will be included in the result. Must be in ISO-8601 date/time format.", + "description": "Purchase orders that became available before this time will be included in the result. Must be in ISO 8601 date/time format.", "required": false, "type": "string", "format": "date-time" @@ -89,7 +89,7 @@ { "name": "includeDetails", "in": "query", - "description": "When true, returns purchase orders with complete details. Otherwise, only purchase order numbers are returned. Default value is true.", + "description": "When `true`, returns purchase orders with complete details. Otherwise, only purchase order numbers are returned. Default value is `true`.", "required": false, "type": "string", "format": "boolean" @@ -97,7 +97,7 @@ { "name": "changedAfter", "in": "query", - "description": "Purchase orders that changed after this timestamp will be included in the result. Must be in ISO-8601 date/time format.", + "description": "Purchase orders that changed after this timestamp will be included in the result. Must be in ISO 8601 date/time format.", "required": false, "type": "string", "format": "date-time" @@ -105,7 +105,7 @@ { "name": "changedBefore", "in": "query", - "description": "Purchase orders that changed before this timestamp will be included in the result. Must be in ISO-8601 date/time format.", + "description": "Purchase orders that changed before this timestamp will be included in the result. Must be in ISO 8601 date/time format.", "required": false, "type": "string", "format": "date-time" @@ -113,7 +113,7 @@ { "name": "poItemState", "in": "query", - "description": "Current state of the purchase order item. If this value is Cancelled, this API will return purchase orders which have one or more items cancelled by Amazon with updated item quantity as zero.", + "description": "Current state of the purchase order item. If this value is `Cancelled`, this API will return purchase orders which have one or more items cancelled by Amazon with updated item quantity as zero.", "required": false, "type": "string", "enum": [ @@ -129,7 +129,7 @@ { "name": "isPOChanged", "in": "query", - "description": "When true, returns purchase orders which were modified after the order was placed. Vendors are required to pull the changed purchase order and fulfill the updated purchase order and not the original one. Default value is false.", + "description": "When `true`, returns purchase orders which were modified after the order was placed. Vendors are required to pull the changed purchase order and fulfill the updated purchase order and not the original one. Default value is `false`.", "required": false, "type": "string", "format": "boolean" @@ -1050,15 +1050,11 @@ } }, "403": { - "description": "Indicates that access to the resource is forbidden. Possible reasons include Access Denied, Unauthorized, Expired Token, or Invalid Signature.", + "description": "Indicates that access to the resource is forbidden. Possible reasons include `Access Denied`, `Unauthorized`, `Expired Token`, or `Invalid Signature`.", "schema": { "$ref": "#/definitions/GetPurchaseOrdersResponse" }, "headers": { - "x-amzn-RateLimit-Limit": { - "type": "string", - "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." - }, "x-amzn-RequestId": { "type": "string", "description": "Unique request reference identifier." @@ -1087,10 +1083,6 @@ "$ref": "#/definitions/GetPurchaseOrdersResponse" }, "headers": { - "x-amzn-RateLimit-Limit": { - "type": "string", - "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." - }, "x-amzn-RequestId": { "type": "string", "description": "Unique request reference identifier." @@ -1103,10 +1095,6 @@ "$ref": "#/definitions/GetPurchaseOrdersResponse" }, "headers": { - "x-amzn-RateLimit-Limit": { - "type": "string", - "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." - }, "x-amzn-RequestId": { "type": "string", "description": "Unique request reference identifier." @@ -1119,10 +1107,6 @@ "$ref": "#/definitions/GetPurchaseOrdersResponse" }, "headers": { - "x-amzn-RateLimit-Limit": { - "type": "string", - "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." - }, "x-amzn-RequestId": { "type": "string", "description": "Unique request reference identifier." @@ -1135,10 +1119,6 @@ "$ref": "#/definitions/GetPurchaseOrdersResponse" }, "headers": { - "x-amzn-RateLimit-Limit": { - "type": "string", - "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." - }, "x-amzn-RequestId": { "type": "string", "description": "Unique request reference identifier." @@ -1153,7 +1133,7 @@ "tags": [ "vendorOrders" ], - "description": "Returns a purchase order based on the purchaseOrderNumber value that you specify.\n\n**Usage Plan:**\n\n| Rate (requests per second) | Burst |\n| ---- | ---- |\n| 10 | 10 |\n\nThe `x-amzn-RateLimit-Limit` response header returns the usage plan rate limits that were applied to the requested operation, when available. The table above indicates the default rate and burst values for this operation. Selling partners whose business demands require higher throughput may see higher rate and burst values than those shown here. For more information, see [Usage Plans and Rate Limits in the Selling Partner API](https://developer-docs.amazon.com/sp-api/docs/usage-plans-and-rate-limits-in-the-sp-api).", + "description": "Returns a purchase order based on the `purchaseOrderNumber` value that you specify.\n\n**Usage Plan:**\n\n| Rate (requests per second) | Burst |\n| ---- | ---- |\n| 10 | 10 |\n\nThe `x-amzn-RateLimit-Limit` response header returns the usage plan rate limits that were applied to the requested operation, when available. The table above indicates the default rate and burst values for this operation. Selling partners whose business demands require higher throughput may see higher rate and burst values than those shown here. For more information, refer to [Usage Plans and Rate Limits in the Selling Partner API](https://developer-docs.amazon.com/sp-api/docs/usage-plans-and-rate-limits-in-the-sp-api).", "operationId": "getPurchaseOrder", "parameters": [ { @@ -1439,15 +1419,11 @@ } }, "401": { - "description": "The request's Authorization header is not formatted correctly or does not contain a valid token.", + "description": "The request's authorization header is not formatted correctly or does not contain a valid token.", "schema": { "$ref": "#/definitions/GetPurchaseOrderResponse" }, "headers": { - "x-amzn-RateLimit-Limit": { - "type": "string", - "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." - }, "x-amzn-RequestId": { "type": "string", "description": "Unique request reference identifier." @@ -1455,15 +1431,11 @@ } }, "403": { - "description": "Indicates that access to the resource is forbidden. Possible reasons include Access Denied, Unauthorized, Expired Token, or Invalid Signature.", + "description": "Indicates that access to the resource is forbidden. Possible reasons include `Access Denied`, `Unauthorized`, `Expired Token`, or `Invalid Signature`.", "schema": { "$ref": "#/definitions/GetPurchaseOrderResponse" }, "headers": { - "x-amzn-RateLimit-Limit": { - "type": "string", - "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." - }, "x-amzn-RequestId": { "type": "string", "description": "Unique request reference identifier." @@ -1492,10 +1464,6 @@ "$ref": "#/definitions/GetPurchaseOrderResponse" }, "headers": { - "x-amzn-RateLimit-Limit": { - "type": "string", - "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." - }, "x-amzn-RequestId": { "type": "string", "description": "Unique request reference identifier." @@ -1508,10 +1476,6 @@ "$ref": "#/definitions/GetPurchaseOrderResponse" }, "headers": { - "x-amzn-RateLimit-Limit": { - "type": "string", - "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." - }, "x-amzn-RequestId": { "type": "string", "description": "Unique request reference identifier." @@ -1524,10 +1488,6 @@ "$ref": "#/definitions/GetPurchaseOrderResponse" }, "headers": { - "x-amzn-RateLimit-Limit": { - "type": "string", - "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." - }, "x-amzn-RequestId": { "type": "string", "description": "Unique request reference identifier." @@ -1540,10 +1500,6 @@ "$ref": "#/definitions/GetPurchaseOrderResponse" }, "headers": { - "x-amzn-RateLimit-Limit": { - "type": "string", - "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." - }, "x-amzn-RequestId": { "type": "string", "description": "Unique request reference identifier." @@ -1558,12 +1514,13 @@ "tags": [ "vendorOrders" ], - "description": "Submits acknowledgements for one or more purchase orders.\n\n**Usage Plan:**\n\n| Rate (requests per second) | Burst |\n| ---- | ---- |\n| 10 | 10 |\n\nThe `x-amzn-RateLimit-Limit` response header returns the usage plan rate limits that were applied to the requested operation, when available. The table above indicates the default rate and burst values for this operation. Selling partners whose business demands require higher throughput may see higher rate and burst values than those shown here. For more information, see [Usage Plans and Rate Limits in the Selling Partner API](https://developer-docs.amazon.com/sp-api/docs/usage-plans-and-rate-limits-in-the-sp-api).", + "description": "Submits acknowledgements for one or more purchase orders.\n\n**Usage Plan:**\n\n| Rate (requests per second) | Burst |\n| ---- | ---- |\n| 10 | 10 |\n\nThe `x-amzn-RateLimit-Limit` response header returns the usage plan rate limits that were applied to the requested operation, when available. The table above indicates the default rate and burst values for this operation. Selling partners whose business demands require higher throughput may see higher rate and burst values than those shown here. For more information, refer to [Usage Plans and Rate Limits in the Selling Partner API](https://developer-docs.amazon.com/sp-api/docs/usage-plans-and-rate-limits-in-the-sp-api).", "operationId": "submitAcknowledgement", "parameters": [ { "in": "body", "name": "body", + "description": "Submits acknowledgements for one or more purchase orders from a vendor.", "required": true, "schema": { "$ref": "#/definitions/SubmitAcknowledgementRequest", @@ -1743,15 +1700,11 @@ } }, "403": { - "description": "Indicates that access to the resource is forbidden. Possible reasons include Access Denied, Unauthorized, Expired Token, or Invalid Signature.", + "description": "Indicates that access to the resource is forbidden. Possible reasons include `Access Denied`, `Unauthorized,` `Expired Token`, or `Invalid Signature`.", "schema": { "$ref": "#/definitions/SubmitAcknowledgementResponse" }, "headers": { - "x-amzn-RateLimit-Limit": { - "type": "string", - "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." - }, "x-amzn-RequestId": { "type": "string", "description": "Unique request reference identifier." @@ -1780,10 +1733,6 @@ "$ref": "#/definitions/SubmitAcknowledgementResponse" }, "headers": { - "x-amzn-RateLimit-Limit": { - "type": "string", - "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." - }, "x-amzn-RequestId": { "type": "string", "description": "Unique request reference identifier." @@ -1796,10 +1745,6 @@ "$ref": "#/definitions/SubmitAcknowledgementResponse" }, "headers": { - "x-amzn-RateLimit-Limit": { - "type": "string", - "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." - }, "x-amzn-RequestId": { "type": "string", "description": "Unique request reference identifier." @@ -1812,10 +1757,6 @@ "$ref": "#/definitions/SubmitAcknowledgementResponse" }, "headers": { - "x-amzn-RateLimit-Limit": { - "type": "string", - "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." - }, "x-amzn-RequestId": { "type": "string", "description": "Unique request reference identifier." @@ -1828,10 +1769,6 @@ "$ref": "#/definitions/SubmitAcknowledgementResponse" }, "headers": { - "x-amzn-RateLimit-Limit": { - "type": "string", - "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." - }, "x-amzn-RequestId": { "type": "string", "description": "Unique request reference identifier." @@ -1844,10 +1781,6 @@ "$ref": "#/definitions/SubmitAcknowledgementResponse" }, "headers": { - "x-amzn-RateLimit-Limit": { - "type": "string", - "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." - }, "x-amzn-RequestId": { "type": "string", "description": "Unique request reference identifier." @@ -1862,7 +1795,7 @@ "tags": [ "vendorOrders" ], - "description": "Returns purchase order statuses based on the filters that you specify. Date range to search must not be more than 7 days. You can return a list of purchase order statuses using the available filters, or a single purchase order status by providing the purchase order number.\n\n**Usage Plan:**\n\n| Rate (requests per second) | Burst |\n| ---- | ---- |\n| 10 | 10 |\n\nThe `x-amzn-RateLimit-Limit` response header returns the usage plan rate limits that were applied to the requested operation, when available. The table above indicates the default rate and burst values for this operation. Selling partners whose business demands require higher throughput may see higher rate and burst values than those shown here. For more information, see [Usage Plans and Rate Limits in the Selling Partner API](https://developer-docs.amazon.com/sp-api/docs/usage-plans-and-rate-limits-in-the-sp-api).", + "description": "Returns purchase order statuses based on the filters that you specify. Date range to search must not be more than 7 days. You can return a list of purchase order statuses using the available filters, or a single purchase order status by providing the purchase order number.\n\n**Usage Plan:**\n\n| Rate (requests per second) | Burst |\n| ---- | ---- |\n| 10 | 10 |\n\nThe `x-amzn-RateLimit-Limit` response header returns the usage plan rate limits that were applied to the requested operation, when available. The table above indicates the default rate and burst values for this operation. Selling partners whose business demands require higher throughput may see higher rate and burst values than those shown here. For more information, refer to [Usage Plans and Rate Limits in the Selling Partner API](https://developer-docs.amazon.com/sp-api/docs/usage-plans-and-rate-limits-in-the-sp-api).", "operationId": "getPurchaseOrdersStatus", "parameters": [ { @@ -1906,7 +1839,7 @@ { "name": "createdAfter", "in": "query", - "description": "Purchase orders that became available after this timestamp will be included in the result. Must be in ISO-8601 date/time format.", + "description": "Purchase orders that became available after this timestamp will be included in the result. Must be in ISO 8601 date/time format.", "required": false, "type": "string", "format": "date-time" @@ -1914,7 +1847,7 @@ { "name": "createdBefore", "in": "query", - "description": "Purchase orders that became available before this timestamp will be included in the result. Must be in ISO-8601 date/time format.", + "description": "Purchase orders that became available before this timestamp will be included in the result. Must be in ISO 8601 date/time format.", "required": false, "type": "string", "format": "date-time" @@ -1922,7 +1855,7 @@ { "name": "updatedAfter", "in": "query", - "description": "Purchase orders for which the last purchase order update happened after this timestamp will be included in the result. Must be in ISO-8601 date/time format.", + "description": "Purchase orders for which the last purchase order update happened after this timestamp will be included in the result. Must be in ISO 8601 date/time format.", "required": false, "type": "string", "format": "date-time" @@ -1930,7 +1863,7 @@ { "name": "updatedBefore", "in": "query", - "description": "Purchase orders for which the last purchase order update happened before this timestamp will be included in the result. Must be in ISO-8601 date/time format.", + "description": "Purchase orders for which the last purchase order update happened before this timestamp will be included in the result. Must be in ISO 8601 date/time format.", "required": false, "type": "string", "format": "date-time" @@ -2727,15 +2660,11 @@ } }, "403": { - "description": "Indicates that access to the resource is forbidden. Possible reasons include Access Denied, Unauthorized, Expired Token, or Invalid Signature.", + "description": "Indicates that access to the resource is forbidden. Possible reasons include `Access Denied`, `Unauthorized`, `Expired Token`, or `Invalid Signature`.", "schema": { "$ref": "#/definitions/GetPurchaseOrdersStatusResponse" }, "headers": { - "x-amzn-RateLimit-Limit": { - "type": "string", - "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." - }, "x-amzn-RequestId": { "type": "string", "description": "Unique request reference identifier." @@ -2764,10 +2693,6 @@ "$ref": "#/definitions/GetPurchaseOrdersStatusResponse" }, "headers": { - "x-amzn-RateLimit-Limit": { - "type": "string", - "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." - }, "x-amzn-RequestId": { "type": "string", "description": "Unique request reference identifier." @@ -2780,10 +2705,6 @@ "$ref": "#/definitions/GetPurchaseOrdersStatusResponse" }, "headers": { - "x-amzn-RateLimit-Limit": { - "type": "string", - "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." - }, "x-amzn-RequestId": { "type": "string", "description": "Unique request reference identifier." @@ -2796,10 +2717,6 @@ "$ref": "#/definitions/GetPurchaseOrdersStatusResponse" }, "headers": { - "x-amzn-RateLimit-Limit": { - "type": "string", - "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." - }, "x-amzn-RequestId": { "type": "string", "description": "Unique request reference identifier." @@ -2812,10 +2729,6 @@ "$ref": "#/definitions/GetPurchaseOrdersStatusResponse" }, "headers": { - "x-amzn-RateLimit-Limit": { - "type": "string", - "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." - }, "x-amzn-RequestId": { "type": "string", "description": "Unique request reference identifier." @@ -2838,7 +2751,7 @@ "$ref": "#/definitions/ErrorList" } }, - "description": "The response schema for the getPurchaseOrders operation." + "description": "The response schema for the `getPurchaseOrders` operation." }, "GetPurchaseOrderResponse": { "type": "object", @@ -2851,7 +2764,7 @@ "$ref": "#/definitions/ErrorList" } }, - "description": "The response schema for the getPurchaseOrder operation." + "description": "The response schema for the `getPurchaseOrder` operation." }, "OrderList": { "type": "object", @@ -2863,18 +2776,21 @@ "type": "array", "items": { "$ref": "#/definitions/Order" - } + }, + "description": "Represents an individual order within the `OrderList`." } - } + }, + "description": "A list of orders returned as response." }, "Pagination": { "type": "object", "properties": { "nextToken": { "type": "string", - "description": "A generated string used to pass information to your next request. If NextToken is returned, pass the value of NextToken to the next request. If NextToken is not returned, there are no more purchase order items to return." + "description": "A generated string used to pass information to your next request. If `NextToken` is returned, pass the value of `NextToken` to the next request. If `NextToken` is not returned, there are no more purchase order items to return." } - } + }, + "description": "The pagination elements required to retrieve the remaining data." }, "Order": { "type": "object", @@ -2898,11 +2814,11 @@ "x-docgen-enum-table-extension": [ { "value": "New", - "description": "The purchase order is newly created and needs to be acknowledged by vendor." + "description": "The purchase order is newly created and needs to be acknowledged by the vendor." }, { "value": "Acknowledged", - "description": "The purchase order has been acknowledged by vendor." + "description": "The purchase order has been acknowledged by the vendor." }, { "value": "Closed", @@ -2914,7 +2830,8 @@ "description": "Details of an order.", "$ref": "#/definitions/OrderDetails" } - } + }, + "description": "Represents an order placed by Amazon, including the purchase order number, current state, and order details." }, "OrderDetails": { "type": "object", @@ -2927,17 +2844,17 @@ "purchaseOrderDate": { "type": "string", "format": "date-time", - "description": "The date the purchase order was placed. Must be in ISO-8601 date/time format." + "description": "The date the purchase order was placed. Must be in ISO 8601 date/time format." }, "purchaseOrderChangedDate": { "type": "string", "format": "date-time", - "description": "The date when purchase order was last changed by Amazon after the order was placed. This date will be greater than 'purchaseOrderDate'. This means the PO data was changed on that date and vendors are required to fulfill the updated PO. The PO changes can be related to Item Quantity, Ship to Location, Ship Window etc. This field will not be present in orders that have not changed after creation. Must be in ISO-8601 date/time format." + "description": "The date when purchase order was last changed by Amazon after the order was placed. This date will be greater than 'purchaseOrderDate'. This means the PO data was changed on that date and vendors are required to fulfill the updated PO. The PO changes can be related to Item Quantity, Ship to Location, Ship Window etc. This field will not be present in orders that have not changed after creation. Must be in ISO 8601 date/time format." }, "purchaseOrderStateChangedDate": { "type": "string", "format": "date-time", - "description": "The date when current purchase order state was changed. Current purchase order state is available in the field 'purchaseOrderState'. Must be in ISO-8601 date/time format." + "description": "The date when current purchase order state was changed. Current purchase order state is available in the field 'purchaseOrderState'. Must be in ISO 8601 date/time format." }, "purchaseOrderType": { "type": "string", @@ -3143,12 +3060,12 @@ }, "portOfDelivery": { "type": "string", - "description": "The port where goods on an import purchase order must be delivered by the vendor. This should only be specified when the internationalCommercialTerms is FOB.", + "description": "The port where goods on an import purchase order must be delivered by the vendor. This should only be specified when the `internationalCommercialTerms` is `FOB`.", "maxLength": 64 }, "importContainers": { "type": "string", - "description": "Types and numbers of container(s) for import purchase orders. Can be a comma-separated list if the shipment has multiple containers. HC signifies a high-capacity container. Free-text field, limited to 64 characters. The format will be a comma-delimited list containing values of the type: $NUMBER_OF_CONTAINERS_OF_THIS_TYPE-$CONTAINER_TYPE. The list of values for the container type is: 40'(40-foot container), 40'HC (40-foot high-capacity container), 45', 45'HC, 30', 30'HC, 20', 20'HC.", + "description": "Types and numbers of container(s) for import purchase orders. Can be a comma-separated list if the shipment has multiple containers. HC signifies a high-capacity container. Free-text field, limited to 64 characters. The format will be a comma-delimited list containing values of the type: `$NUMBER_OF_CONTAINERS_OF_THIS_TYPE-$CONTAINER_TYPE`. The list of values for the container type is: `40'`(40-foot container), `40'HC` (40-foot high-capacity container), `45'`, `45'HC`, `30'`, `30'HC`, `20'`, `20'HC`.", "maxLength": 64 }, "shippingInstructions": { @@ -3160,10 +3077,11 @@ }, "DateTimeInterval": { "type": "string", - "description": "Defines a date time interval according to ISO8601. Interval is separated by double hyphen (--)." + "description": "Defines a date time interval according to ISO 8601. Interval is separated by double hyphen (--)." }, "PartyIdentification": { "type": "object", + "description": "Name, address and tax details of a party.", "required": [ "partyId" ], @@ -3209,7 +3127,7 @@ }, "taxRegistrationNumber": { "type": "string", - "description": "Tax registration number for the entity. For example, VAT ID." + "description": "Tax registration number for the entity. For example, `VAT ID`." } }, "description": "Tax registration details of the entity." @@ -3256,7 +3174,7 @@ }, "postalCode": { "type": "string", - "description": "The postal code of that address. It conatins a series of letters or digits or both, sometimes including spaces or punctuation." + "description": "The postal code of that address. It contains a series of letters or digits or both, sometimes including spaces or punctuation." }, "countryCode": { "type": "string", @@ -3306,7 +3224,8 @@ "description": "The price to Amazon each (list).", "$ref": "#/definitions/Money" } - } + }, + "description": "Represents an individual item in an order, including item details, quantities, pricing, and backorder information." }, "Money": { "type": "object", @@ -3330,14 +3249,14 @@ "type": "object", "properties": { "payload": { - "description": "The payload for the submitAcknowledgement operation.", + "description": "The payload for the `submitAcknowledgement` operation.", "$ref": "#/definitions/TransactionId" }, "errors": { "$ref": "#/definitions/ErrorList" } }, - "description": "The response schema for the submitAcknowledgement operation" + "description": "The response schema for the `submitAcknowledgement` operation" }, "TransactionId": { "type": "object", @@ -3346,7 +3265,8 @@ "type": "string", "description": "GUID assigned by Amazon to identify this transaction. This value can be used with the Transaction Status API to return the status of this transaction." } - } + }, + "description": "Response containing the transaction ID." }, "ErrorList": { "type": "array", @@ -3362,10 +3282,11 @@ "type": "array", "items": { "$ref": "#/definitions/OrderAcknowledgement" - } + }, + "description": "An array of order acknowledgements to be submitted." } }, - "description": "The request schema for the submitAcknowledgment operation." + "description": "The request schema for the `submitAcknowledgment` operation." }, "OrderAcknowledgement": { "type": "object", @@ -3387,7 +3308,7 @@ "acknowledgementDate": { "type": "string", "format": "date-time", - "description": "The date and time when the purchase order is acknowledged, in ISO-8601 date/time format." + "description": "The date and time when the purchase order is acknowledged, in ISO 8601 date/time format." }, "items": { "type": "array", @@ -3396,7 +3317,8 @@ "$ref": "#/definitions/OrderAcknowledgementItem" } } - } + }, + "description": "Represents an acknowledgement for an order, including the purchase order number, selling party details, acknowledgement date, and a list of acknowledged items." }, "OrderAcknowledgementItem": { "type": "object", @@ -3465,7 +3387,7 @@ }, { "value": "Backordered", - "description": "Vendor placed a backorder to fulfill the original order and provides a scheduledShipDate or scheduledDeliveryDate which is different than the expectedShipDate or expectedDeliveryDate provided in the purchase order." + "description": "Vendor placed a backorder to fulfill the original order and provides a `scheduledShipDate` or `scheduledDeliveryDate` which is different than the `expectedShipDate` or `expectedDeliveryDate` provided in the purchase order." }, { "value": "Rejected", @@ -3480,12 +3402,12 @@ "scheduledShipDate": { "type": "string", "format": "date-time", - "description": "Estimated ship date per line item. Must be in ISO-8601 date/time format." + "description": "Estimated ship date per line item. Must be in ISO 8601 date/time format." }, "scheduledDeliveryDate": { "type": "string", "format": "date-time", - "description": "Estimated delivery date per line item. Must be in ISO-8601 date/time format." + "description": "Estimated delivery date per line item. Must be in ISO 8601 date/time format." }, "rejectionReason": { "type": "string", @@ -3510,7 +3432,8 @@ } ] } - } + }, + "description": "Represents the acknowledgement details for an individual order item, including the acknowledgement code, acknowledged quantity, scheduled ship and delivery dates, and rejection reason (if applicable)." }, "ItemQuantity": { "type": "object", @@ -3555,7 +3478,7 @@ "$ref": "#/definitions/ErrorList" } }, - "description": "The response schema for the getPurchaseOrdersStatus operation." + "description": "The response schema for the `getPurchaseOrdersStatus` operation." }, "OrderListStatus": { "type": "object", @@ -3567,9 +3490,11 @@ "type": "array", "items": { "$ref": "#/definitions/OrderStatus" - } + }, + "description": "Represents an order status within the `OrderListStatus`." } - } + }, + "description": "A list of order statuses." }, "OrderStatus": { "type": "object", @@ -3607,12 +3532,12 @@ "purchaseOrderDate": { "type": "string", "format": "date-time", - "description": "The date the purchase order was placed. Must be in ISO-8601 date/time format." + "description": "The date the purchase order was placed. Must be in ISO 8601 date/time format." }, "lastUpdatedDate": { "type": "string", "format": "date-time", - "description": "The date when the purchase order was last updated. Must be in ISO-8601 date/time format." + "description": "The date when the purchase order was last updated. Must be in ISO 8601 date/time format." }, "sellingParty": { "description": "Name/Address and tax details of the selling party.", @@ -3762,11 +3687,12 @@ "lastReceiveDate": { "type": "string", "format": "date-time", - "description": "The date when the most recent item was received at the buyer's warehouse. Must be in ISO-8601 date/time format." + "description": "The date when the most recent item was received at the buyer's warehouse. Must be in ISO 8601 date/time format." } } } - } + }, + "description": "Represents the current status of an order item, including acknowledgement and receiving details." }, "OrderedQuantityDetails": { "type": "object", @@ -3774,7 +3700,7 @@ "updatedDate": { "type": "string", "format": "date-time", - "description": "The date when the line item quantity was updated by buyer. Must be in ISO-8601 date/time format." + "description": "The date when the line item quantity was updated by the buyer. Must be in ISO 8601 date/time format." }, "orderedQuantity": { "description": "Item quantity ordered.", @@ -3785,7 +3711,7 @@ "$ref": "#/definitions/ItemQuantity" } }, - "description": "Details of item quantity ordered" + "description": "Details of the item quantity ordered." }, "AcknowledgementStatusDetails": { "type": "object", @@ -3793,18 +3719,18 @@ "acknowledgementDate": { "type": "string", "format": "date-time", - "description": "The date when the line item was confirmed by vendor. Must be in ISO-8601 date/time format." + "description": "The date when the line item was confirmed by the vendor. Must be in ISO 8601 date/time format." }, "acceptedQuantity": { - "description": "Item quantity accepted by vendor to be shipped.", + "description": "Item quantity accepted by the vendor to be shipped.", "$ref": "#/definitions/ItemQuantity" }, "rejectedQuantity": { - "description": "Item quantity rejected by vendor.", + "description": "Item quantity rejected by the vendor.", "$ref": "#/definitions/ItemQuantity" } }, - "description": "Details of item quantity ordered" + "description": "Details of the item quantity ordered" }, "Error": { "type": "object", diff --git a/models/vendor-transaction-status-api-model/vendorTransactionStatus.json b/models/vendor-transaction-status-api-model/vendorTransactionStatus.json index 78a59b52c..642399c81 100644 --- a/models/vendor-transaction-status-api-model/vendorTransactionStatus.json +++ b/models/vendor-transaction-status-api-model/vendorTransactionStatus.json @@ -21,7 +21,7 @@ "/vendor/transactions/v1/transactions/{transactionId}" : { "get" : { "tags" : [ "vendorTransaction" ], - "description" : "Returns the status of the transaction that you specify.\n\n**Usage Plan:**\n\n| Rate (requests per second) | Burst |\n| ---- | ---- |\n| 10 | 20 |\n\nThe `x-amzn-RateLimit-Limit` response header returns the usage plan rate limits that were applied to the requested operation, when available. The table above indicates the default rate and burst values for this operation. Selling partners whose business demands require higher throughput may see higher rate and burst values than those shown here. For more information, see [Usage Plans and Rate Limits in the Selling Partner API](https://developer-docs.amazon.com/sp-api/docs/usage-plans-and-rate-limits-in-the-sp-api).", + "description" : "Returns the status of the transaction that you specify.\n\n**Usage Plan:**\n\n| Rate (requests per second) | Burst |\n| ---- | ---- |\n| 10 | 20 |\n\nThe `x-amzn-RateLimit-Limit` response header returns the usage plan rate limits that were applied to the requested operation, when available. The table above indicates the default rate and burst values for this operation. Selling partners whose business demands require higher throughput may see higher rate and burst values than those shown here. For more information, refer to [Usage Plans and Rate Limits in the Selling Partner API](https://developer-docs.amazon.com/sp-api/docs/usage-plans-and-rate-limits-in-the-sp-api).", "operationId" : "getTransaction", "parameters" : [ { "name" : "transactionId", @@ -107,7 +107,7 @@ } ] }, "400" : { - "description" : "Request has missing or invalid parameters and cannot be parsed.", + "description" : "Request has missing or not valid parameters and cannot be parsed.", "schema" : { "$ref" : "#/definitions/GetTransactionResponse" }, @@ -139,15 +139,11 @@ } ] }, "401" : { - "description" : "The request's Authorization header is not formatted correctly or does not contain a valid token.", + "description" : "The request's authorization header is not formatted correctly or does not contain a valid token.", "schema" : { "$ref" : "#/definitions/GetTransactionResponse" }, "headers" : { - "x-amzn-RateLimit-Limit" : { - "type" : "string", - "description" : "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." - }, "x-amzn-RequestId" : { "type" : "string", "description" : "Unique request reference identifier." @@ -167,11 +163,15 @@ } }, "404" : { - "description" : "The resource specified does not exist.", + "description" : "The specified resource does not exist.", "schema" : { "$ref" : "#/definitions/GetTransactionResponse" }, "headers" : { + "x-amzn-RateLimit-Limit" : { + "type" : "string", + "description" : "Your rate limit (requests per second) for this operation." + }, "x-amzn-RequestId" : { "type" : "string", "description" : "Unique request reference identifier." @@ -184,10 +184,6 @@ "$ref" : "#/definitions/GetTransactionResponse" }, "headers" : { - "x-amzn-RateLimit-Limit" : { - "type" : "string", - "description" : "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." - }, "x-amzn-RequestId" : { "type" : "string", "description" : "Unique request reference identifier." @@ -200,10 +196,6 @@ "$ref" : "#/definitions/GetTransactionResponse" }, "headers" : { - "x-amzn-RateLimit-Limit" : { - "type" : "string", - "description" : "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." - }, "x-amzn-RequestId" : { "type" : "string", "description" : "Unique request reference identifier." @@ -216,10 +208,6 @@ "$ref" : "#/definitions/GetTransactionResponse" }, "headers" : { - "x-amzn-RateLimit-Limit" : { - "type" : "string", - "description" : "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." - }, "x-amzn-RequestId" : { "type" : "string", "description" : "Unique request reference identifier." @@ -232,10 +220,6 @@ "$ref" : "#/definitions/GetTransactionResponse" }, "headers" : { - "x-amzn-RateLimit-Limit" : { - "type" : "string", - "description" : "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." - }, "x-amzn-RequestId" : { "type" : "string", "description" : "Unique request reference identifier." @@ -252,17 +236,18 @@ "type" : "object", "properties" : { "payload" : { - "description" : "The response payload for the getTransaction operation.", + "description" : "The response payload for the `getTransaction` operation.", "$ref" : "#/definitions/TransactionStatus" }, "errors" : { "$ref" : "#/definitions/ErrorList" } }, - "description" : "The response schema for the getTransaction operation." + "description" : "The response schema for the `getTransaction` operation." }, "TransactionStatus" : { "type" : "object", + "description" : "Represents the status of a transaction.", "properties" : { "transactionStatus" : { "$ref" : "#/definitions/Transaction" From b8816446bfd245aa542b5cefc518605e5125f1de Mon Sep 17 00:00:00 2001 From: Jack Evoniuk Date: Thu, 27 Jun 2024 12:00:53 -0700 Subject: [PATCH 082/340] Clarify format for FreightReadyDate --- .../fulfillment-inbound-api-model/fulfillmentInboundV0.json | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/models/fulfillment-inbound-api-model/fulfillmentInboundV0.json b/models/fulfillment-inbound-api-model/fulfillmentInboundV0.json index 64b5a6a77..a7af1bade 100644 --- a/models/fulfillment-inbound-api-model/fulfillmentInboundV0.json +++ b/models/fulfillment-inbound-api-model/fulfillmentInboundV0.json @@ -5136,7 +5136,7 @@ "$ref": "#/definitions/SellerFreightClass" }, "FreightReadyDate": { - "description": "The date that the shipment will be ready to be picked up by the carrier.", + "description": "The date on which the shipment is ready for carrier pickup. Must be in YYYY-MM-DD format.", "$ref": "#/definitions/DateStringType" }, "PalletList": { @@ -5181,7 +5181,7 @@ "$ref": "#/definitions/SellerFreightClass" }, "FreightReadyDate": { - "description": "The date that the shipment will be ready to be picked up by the carrier. Must be in YYYY-MM-DD format.", + "description": "The date on which the shipment is ready for carrier pickup. Must be in YYYY-MM-DD format.", "$ref": "#/definitions/DateStringType" }, "PalletList": { From 228aec5fed57fb83274f78dc42a926d82e37b60b Mon Sep 17 00:00:00 2001 From: Gibran Waldron Date: Thu, 27 Jun 2024 14:03:33 -0700 Subject: [PATCH 083/340] Update Merchant Fulfillment v0 model with Benefits to ShippingService. --- .../merchantFulfillmentV0.json | 345 +++++++++--------- 1 file changed, 179 insertions(+), 166 deletions(-) diff --git a/models/merchant-fulfillment-api-model/merchantFulfillmentV0.json b/models/merchant-fulfillment-api-model/merchantFulfillmentV0.json index 64e4dad87..e67ff821d 100644 --- a/models/merchant-fulfillment-api-model/merchantFulfillmentV0.json +++ b/models/merchant-fulfillment-api-model/merchantFulfillmentV0.json @@ -1,7 +1,7 @@ { "swagger": "2.0", "info": { - "description": "The Selling Partner API for Merchant Fulfillment helps you build applications that let sellers purchase shipping for non-Prime and Prime orders using Amazon’s Buy Shipping Services.", + "description": "With the Selling Partner API for Merchant Fulfillment, you can build applications that sellers can use to purchase shipping for non-Prime and Prime orders using Amazon's Buy Shipping Services.", "version": "v0", "title": "Selling Partner API for Merchant Fulfillment", "contact": { @@ -29,12 +29,13 @@ "tags": [ "merchantFulfillment" ], - "description": "Returns a list of shipping service offers that satisfy the specified shipment request details.\n\n**Usage Plan:**\n\n| Rate (requests per second) | Burst |\n| ---- | ---- |\n| 5 | 10 |\n\nThe `x-amzn-RateLimit-Limit` response header returns the usage plan rate limits that were applied to the requested operation, when available. The table above indicates the default rate and burst values for this operation. Selling partners whose business demands require higher throughput may see higher rate and burst values than those shown here. For more information, see [Usage Plans and Rate Limits in the Selling Partner API](https://developer-docs.amazon.com/sp-api/docs/usage-plans-and-rate-limits-in-the-sp-api).", + "description": "Returns a list of shipping service offers that satisfy the specified shipment request details.\n\n**Usage Plan:**\n\n| Rate (requests per second) | Burst |\n| ---- | ---- |\n| 5 | 10 |\n\nThe `x-amzn-RateLimit-Limit` response header returns the usage plan rate limits that are applied to the requested operation when available. The preceding table indicates the default rate and burst values for this operation. Selling partners whose business demands require higher throughput may see higher rate and burst values than those shown here. For more information, refer to [Usage Plans and Rate Limits in the SP-API](https://developer-docs.amazon.com/sp-api/docs/usage-plans-and-rate-limits-in-the-sp-api).", "operationId": "getEligibleShipmentServices", "parameters": [ { "in": "body", "name": "body", + "description": "Request schema for GetEligibleShipmentServices operation.", "required": true, "schema": { "$ref": "#/definitions/GetEligibleShipmentServicesRequest" @@ -43,7 +44,7 @@ ], "responses": { "200": { - "description": "Success", + "description": "Success.", "schema": { "$ref": "#/definitions/GetEligibleShipmentServicesResponse" }, @@ -106,8 +107,8 @@ "payload": { "ShippingServiceList": [ { - "ShippingServiceName": "UPS 2nd Day Air\u00AE", - "CarrierName": "UPS\u00AE", + "ShippingServiceName": "UPS 2nd Day Air\\u00AE", + "CarrierName": "UPS\\u00AE", "ShippingServiceId": "UPS_PTP_2ND_DAY_AIR", "ShippingServiceOfferId": "WHgxtyn6qjGGaCzOCog1azF5HLHje5Pz3Lc2Fmt5eKoZAReW8oJ1SMumuBS8lA/Hjuglhyiu0+KRLvyJxFV0PB9YFMDhygs3VyTL0WGYkGxiuRkmuEvpqldUn9rrkWVodqnR4vx2VtXvtER/Ju6RqYoddJZGy6RS2KLzzhQ2NclN0NYXMZVqpOe5RsRBddXaGuJr7oza3M52+JzChocAHzcurIhCRynpbxfmNLzZMQEbgnpGLzuaoSMzfxg90/NaXFR/Ou01du/uKd5AbfMW/AxAKP9ht6Oi9lDHq6WkGqvjkVLW0/jj/fBgblIwcs+t", "ShipDate": "2019-10-28T16:36:36Z", @@ -141,11 +142,17 @@ { "LabelFormat": "PNG" } - ] + ], + "Benefits": { + "IncludedBenefits": [ + "CLAIMS_PROTECTED" + ], + "ExcludedBenefits": [] + } }, { - "ShippingServiceName": "UPS Next Day Air Saver\u00AE", - "CarrierName": "UPS\u00AE", + "ShippingServiceName": "UPS Next Day Air Saver\\u00AE", + "CarrierName": "UPS\\u00AE", "ShippingServiceId": "UPS_PTP_NEXT_DAY_AIR_SAVER", "ShippingServiceOfferId": "WHgxtyn6qjGGaCzOCog1azF5HLHje5Pz3Lc2Fmt5eKqqhKGQ2YZmuxsXKVXmdgdWNvfxb1qfm5bGm8NuqlqnNT3eTiJ4viTctepggbeUKUSykClJ+Qmw43zdA8wsgREhQCmb4Bbo/skapLQS1F9uwH2FgY5SfMsj/egudyocpVRT45KSQAT0H5YiXW3OyyRAae9fZ0RzDJAABHiisOyYyXnB1mtWOZqc7rlGR4yyqN7jmiT4t8dmuGPX7ptY4qskrN+6VHZO9bM9tdDS0ysHhAVv4jO3Q5sWFg4nEPaARWSsrpa6zSGMLxAOj56O3tcP", "ShipDate": "2019-10-28T16:36:36Z", @@ -179,12 +186,23 @@ { "LabelFormat": "PNG" } - ] + ], + "Benefits": { + "IncludedBenefits": [], + "ExcludedBenefits": [ + { + "Benefit": "CLAIMS_PROTECTED", + "ReasonCodes": [ + "LATE_DELIVERY_RISK" + ] + } + ] + } } ], "TemporarilyUnavailableCarrierList": [ { - "CarrierName": "UPS\u00AE" + "CarrierName": "UPS\\u00AE" }, { "CarrierName": "DHLECOMMERCE" @@ -278,15 +296,11 @@ } }, "401": { - "description": "The request's Authorization header is not formatted correctly or does not contain a valid token.", + "description": "The request's authorization header is not formatted correctly or does not contain a valid token.", "schema": { "$ref": "#/definitions/GetEligibleShipmentServicesResponse" }, "headers": { - "x-amzn-RateLimit-Limit": { - "type": "string", - "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." - }, "x-amzn-RequestId": { "type": "string", "description": "Unique request reference identifier." @@ -327,10 +341,6 @@ "$ref": "#/definitions/GetEligibleShipmentServicesResponse" }, "headers": { - "x-amzn-RateLimit-Limit": { - "type": "string", - "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." - }, "x-amzn-RequestId": { "type": "string", "description": "Unique request reference identifier." @@ -343,10 +353,6 @@ "$ref": "#/definitions/GetEligibleShipmentServicesResponse" }, "headers": { - "x-amzn-RateLimit-Limit": { - "type": "string", - "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." - }, "x-amzn-RequestId": { "type": "string", "description": "Unique request reference identifier." @@ -359,10 +365,6 @@ "$ref": "#/definitions/GetEligibleShipmentServicesResponse" }, "headers": { - "x-amzn-RateLimit-Limit": { - "type": "string", - "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." - }, "x-amzn-RequestId": { "type": "string", "description": "Unique request reference identifier." @@ -377,7 +379,7 @@ "tags": [ "merchantFulfillment" ], - "description": "Returns the shipment information for an existing shipment.\n\n**Usage Plan:**\n\n| Rate (requests per second) | Burst |\n| ---- | ---- |\n| 1 | 1 |\n\nThe `x-amzn-RateLimit-Limit` response header returns the usage plan rate limits that were applied to the requested operation, when available. The table above indicates the default rate and burst values for this operation. Selling partners whose business demands require higher throughput may see higher rate and burst values than those shown here. For more information, see [Usage Plans and Rate Limits in the Selling Partner API](https://developer-docs.amazon.com/sp-api/docs/usage-plans-and-rate-limits-in-the-sp-api).", + "description": "Returns the shipment information for an existing shipment.\n\n**Usage Plan:**\n\n| Rate (requests per second) | Burst |\n| ---- | ---- |\n| 1 | 1 |\n\nThe `x-amzn-RateLimit-Limit` response header returns the usage plan rate limits that are applied to the requested operation when available. The preceding table indicates the default rate and burst values for this operation. Selling partners whose business demands require higher throughput may see higher rate and burst values than those shown here. For more information, refer to [Usage Plans and Rate Limits in the SP-API](https://developer-docs.amazon.com/sp-api/docs/usage-plans-and-rate-limits-in-the-sp-api).", "operationId": "getShipment", "parameters": [ { @@ -391,7 +393,7 @@ ], "responses": { "200": { - "description": "Success", + "description": "Success.", "schema": { "$ref": "#/definitions/GetShipmentResponse" }, @@ -462,8 +464,8 @@ "Unit": "oz" }, "ShippingService": { - "ShippingServiceName": "UPS 2nd Day Air\u00AE", - "CarrierName": "UPS\u00AE", + "ShippingServiceName": "UPS 2nd Day Air\\u00AE", + "CarrierName": "UPS\\u00AE", "ShippingServiceId": "UPS_PTP_2ND_DAY_AIR", "ShippingServiceOfferId": "", "ShipDate": "2019-10-28T18:00:00Z", @@ -478,7 +480,18 @@ "Amount": 0.0 } }, - "RequiresAdditionalSellerInputs": false + "RequiresAdditionalSellerInputs": false, + "Benefits": { + "IncludedBenefits": [], + "ExcludedBenefits": [ + { + "Benefit": "CLAIMS_PROTECTED", + "ReasonCodes": [ + "LATE_DELIVERY_RISK" + ] + } + ] + } }, "Label": { "Dimensions": { @@ -541,15 +554,11 @@ } }, "401": { - "description": "The request's Authorization header is not formatted correctly or does not contain a valid token.", + "description": "The request's authorization header is not formatted correctly or does not contain a valid token.", "schema": { "$ref": "#/definitions/GetShipmentResponse" }, "headers": { - "x-amzn-RateLimit-Limit": { - "type": "string", - "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." - }, "x-amzn-RequestId": { "type": "string", "description": "Unique request reference identifier." @@ -590,10 +599,6 @@ "$ref": "#/definitions/GetShipmentResponse" }, "headers": { - "x-amzn-RateLimit-Limit": { - "type": "string", - "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." - }, "x-amzn-RequestId": { "type": "string", "description": "Unique request reference identifier." @@ -606,10 +611,6 @@ "$ref": "#/definitions/GetShipmentResponse" }, "headers": { - "x-amzn-RateLimit-Limit": { - "type": "string", - "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." - }, "x-amzn-RequestId": { "type": "string", "description": "Unique request reference identifier." @@ -622,10 +623,6 @@ "$ref": "#/definitions/GetShipmentResponse" }, "headers": { - "x-amzn-RateLimit-Limit": { - "type": "string", - "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." - }, "x-amzn-RequestId": { "type": "string", "description": "Unique request reference identifier." @@ -638,7 +635,7 @@ "tags": [ "merchantFulfillment" ], - "description": "Cancel the shipment indicated by the specified shipment identifier.\n\n**Usage Plan:**\n\n| Rate (requests per second) | Burst |\n| ---- | ---- |\n| 1 | 1 |\n\nThe `x-amzn-RateLimit-Limit` response header returns the usage plan rate limits that were applied to the requested operation, when available. The table above indicates the default rate and burst values for this operation. Selling partners whose business demands require higher throughput may see higher rate and burst values than those shown here. For more information, see [Usage Plans and Rate Limits in the Selling Partner API](https://developer-docs.amazon.com/sp-api/docs/usage-plans-and-rate-limits-in-the-sp-api).", + "description": "Cancel the shipment indicated by the specified shipment identifier.\n\n**Usage Plan:**\n\n| Rate (requests per second) | Burst |\n| ---- | ---- |\n| 1 | 1 |\n\nThe `x-amzn-RateLimit-Limit` response header returns the usage plan rate limits that are applied to the requested operation when available. The preceding table indicates the default rate and burst values for this operation. Selling partners whose business demands require higher throughput may see higher rate and burst values than those shown here. For more information, refer to [Usage Plans and Rate Limits in the SP-API](https://developer-docs.amazon.com/sp-api/docs/usage-plans-and-rate-limits-in-the-sp-api).", "operationId": "cancelShipment", "parameters": [ { @@ -652,7 +649,7 @@ ], "responses": { "200": { - "description": "Success", + "description": "Success.", "schema": { "$ref": "#/definitions/CancelShipmentResponse" }, @@ -723,8 +720,8 @@ "Unit": "oz" }, "ShippingService": { - "ShippingServiceName": "UPS 2nd Day Air\u00AE", - "CarrierName": "UPS\u00AE", + "ShippingServiceName": "UPS 2nd Day Air\\u00AE", + "CarrierName": "UPS\\u00AE", "ShippingServiceId": "UPS_PTP_2ND_DAY_AIR", "ShippingServiceOfferId": "", "ShipDate": "2019-10-28T18:00:00Z", @@ -798,15 +795,11 @@ } }, "401": { - "description": "The request's Authorization header is not formatted correctly or does not contain a valid token.", + "description": "The request's authorization header is not formatted correctly or does not contain a valid token.", "schema": { "$ref": "#/definitions/CancelShipmentResponse" }, "headers": { - "x-amzn-RateLimit-Limit": { - "type": "string", - "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." - }, "x-amzn-RequestId": { "type": "string", "description": "Unique request reference identifier." @@ -847,10 +840,6 @@ "$ref": "#/definitions/CancelShipmentResponse" }, "headers": { - "x-amzn-RateLimit-Limit": { - "type": "string", - "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." - }, "x-amzn-RequestId": { "type": "string", "description": "Unique request reference identifier." @@ -863,10 +852,6 @@ "$ref": "#/definitions/CancelShipmentResponse" }, "headers": { - "x-amzn-RateLimit-Limit": { - "type": "string", - "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." - }, "x-amzn-RequestId": { "type": "string", "description": "Unique request reference identifier." @@ -879,10 +864,6 @@ "$ref": "#/definitions/CancelShipmentResponse" }, "headers": { - "x-amzn-RateLimit-Limit": { - "type": "string", - "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." - }, "x-amzn-RequestId": { "type": "string", "description": "Unique request reference identifier." @@ -897,12 +878,13 @@ "tags": [ "merchantFulfillment" ], - "description": "Create a shipment with the information provided.\n\n**Usage Plan:**\n\n| Rate (requests per second) | Burst |\n| ---- | ---- |\n| 1 | 1 |\n\nThe `x-amzn-RateLimit-Limit` response header returns the usage plan rate limits that were applied to the requested operation, when available. The table above indicates the default rate and burst values for this operation. Selling partners whose business demands require higher throughput may see higher rate and burst values than those shown here. For more information, see [Usage Plans and Rate Limits in the Selling Partner API](https://developer-docs.amazon.com/sp-api/docs/usage-plans-and-rate-limits-in-the-sp-api).", + "description": "Create a shipment with the information provided.\n\n**Usage Plan:**\n\n| Rate (requests per second) | Burst |\n| ---- | ---- |\n| 1 | 1 |\n\nThe `x-amzn-RateLimit-Limit` response header returns the usage plan rate limits that are applied to the requested operation when available. The preceding table indicates the default rate and burst values for this operation. Selling partners whose business demands require higher throughput may see higher rate and burst values than those shown here. For more information, refer to [Usage Plans and Rate Limits in the SP-API](https://developer-docs.amazon.com/sp-api/docs/usage-plans-and-rate-limits-in-the-sp-api).", "operationId": "createShipment", "parameters": [ { "in": "body", "name": "body", + "description": "Request schema for `CreateShipment` operation.", "required": true, "schema": { "$ref": "#/definitions/CreateShipmentRequest" @@ -911,7 +893,7 @@ ], "responses": { "200": { - "description": "Success", + "description": "Success.", "schema": { "$ref": "#/definitions/CreateShipmentResponse" }, @@ -1018,8 +1000,8 @@ "Unit": "oz" }, "ShippingService": { - "ShippingServiceName": "UPS 2nd Day Air\u00AE", - "CarrierName": "UPS\u00AE", + "ShippingServiceName": "UPS 2nd Day Air\\u00AE", + "CarrierName": "UPS\\u00AE", "ShippingServiceId": "UPS_PTP_2ND_DAY_AIR", "ShippingServiceOfferId": "WHgxtyn6qjGGaCzOCog1azF5HLHje5Pz3Lc2Fmt5eKoZAReW8oJ1SMumuBS8lA/Hjuglhyiu0+KRLvyJxFV0PB9YFMDhygs3VyTL0WGYkGxiuRkmuEvpqldUn9rrkWVodqnR4vx2VtXvtER/Ju6RqYoddJZGy6RS2KLzzhQ2NclN0NYXMZVqpOe5RsRBddXaGuJr7oza3M52+JzChocAHzcurIhCRynpbxfmNLzZMQEbgnpGLzuaoSMzfxg90/NaXFR/Ou01du/uKd5AbfMW/AxAKP9ht6Oi9lDHq6WkGqvjkVLW0/jj/fBgblIwcs+t", "ShipDate": "2019-10-28T16:37:37Z", @@ -1036,7 +1018,13 @@ "Amount": 0 } }, - "RequiresAdditionalSellerInputs": false + "RequiresAdditionalSellerInputs": false, + "Benefits": { + "IncludedBenefits": [ + "CLAIMS_PROTECTED" + ], + "ExcludedBenefits": [] + } }, "Label": { "Dimensions": { @@ -1136,15 +1124,11 @@ } }, "401": { - "description": "The request's Authorization header is not formatted correctly or does not contain a valid token.", + "description": "The request's authorization header is not formatted correctly or does not contain a valid token.", "schema": { "$ref": "#/definitions/CreateShipmentResponse" }, "headers": { - "x-amzn-RateLimit-Limit": { - "type": "string", - "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." - }, "x-amzn-RequestId": { "type": "string", "description": "Unique request reference identifier." @@ -1185,10 +1169,6 @@ "$ref": "#/definitions/CreateShipmentResponse" }, "headers": { - "x-amzn-RateLimit-Limit": { - "type": "string", - "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." - }, "x-amzn-RequestId": { "type": "string", "description": "Unique request reference identifier." @@ -1201,10 +1181,6 @@ "$ref": "#/definitions/CreateShipmentResponse" }, "headers": { - "x-amzn-RateLimit-Limit": { - "type": "string", - "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." - }, "x-amzn-RequestId": { "type": "string", "description": "Unique request reference identifier." @@ -1217,10 +1193,6 @@ "$ref": "#/definitions/CreateShipmentResponse" }, "headers": { - "x-amzn-RateLimit-Limit": { - "type": "string", - "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." - }, "x-amzn-RequestId": { "type": "string", "description": "Unique request reference identifier." @@ -1235,12 +1207,13 @@ "tags": [ "merchantFulfillment" ], - "description": "Gets a list of additional seller inputs required for a ship method. This is generally used for international shipping.\n\n**Usage Plan:**\n\n| Rate (requests per second) | Burst |\n| ---- | ---- |\n| 1 | 1 |\n\nThe `x-amzn-RateLimit-Limit` response header returns the usage plan rate limits that were applied to the requested operation, when available. The table above indicates the default rate and burst values for this operation. Selling partners whose business demands require higher throughput may see higher rate and burst values than those shown here. For more information, see [Usage Plans and Rate Limits in the Selling Partner API](https://developer-docs.amazon.com/sp-api/docs/usage-plans-and-rate-limits-in-the-sp-api).", + "description": "Gets a list of additional seller inputs required for a ship method. This is generally used for international shipping.\n\n**Usage Plan:**\n\n| Rate (requests per second) | Burst |\n| ---- | ---- |\n| 1 | 1 |\n\nThe `x-amzn-RateLimit-Limit` response header returns the usage plan rate limits that are applied to the requested operation when available. The preceding table indicates the default rate and burst values for this operation. Selling partners whose business demands require higher throughput may see higher rate and burst values than those shown here. For more information, refer to [Usage Plans and Rate Limits in the SP-API](https://developer-docs.amazon.com/sp-api/docs/usage-plans-and-rate-limits-in-the-sp-api).", "operationId": "getAdditionalSellerInputs", "parameters": [ { "in": "body", "name": "body", + "description": "Request schema for the `GetAdditionalSellerInputs` operation.", "required": true, "schema": { "$ref": "#/definitions/GetAdditionalSellerInputsRequest" @@ -1249,7 +1222,7 @@ ], "responses": { "200": { - "description": "Success", + "description": "Success.", "schema": { "$ref": "#/definitions/GetAdditionalSellerInputsResponse" }, @@ -1357,15 +1330,11 @@ } }, "401": { - "description": "The request's Authorization header is not formatted correctly or does not contain a valid token.", + "description": "The request's authorization header is not formatted correctly or does not contain a valid token.", "schema": { "$ref": "#/definitions/GetAdditionalSellerInputsResponse" }, "headers": { - "x-amzn-RateLimit-Limit": { - "type": "string", - "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." - }, "x-amzn-RequestId": { "type": "string", "description": "Unique request reference identifier." @@ -1406,10 +1375,6 @@ "$ref": "#/definitions/GetAdditionalSellerInputsResponse" }, "headers": { - "x-amzn-RateLimit-Limit": { - "type": "string", - "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." - }, "x-amzn-RequestId": { "type": "string", "description": "Unique request reference identifier." @@ -1422,10 +1387,6 @@ "$ref": "#/definitions/GetAdditionalSellerInputsResponse" }, "headers": { - "x-amzn-RateLimit-Limit": { - "type": "string", - "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." - }, "x-amzn-RequestId": { "type": "string", "description": "Unique request reference identifier." @@ -1438,10 +1399,6 @@ "$ref": "#/definitions/GetAdditionalSellerInputsResponse" }, "headers": { - "x-amzn-RateLimit-Limit": { - "type": "string", - "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." - }, "x-amzn-RequestId": { "type": "string", "description": "Unique request reference identifier." @@ -1462,7 +1419,7 @@ "properties": { "code": { "type": "string", - "description": "An error code that identifies the type of error that occured." + "description": "An error code that identifies the type of error that occurred." }, "message": { "type": "string", @@ -1569,7 +1526,11 @@ "description": "The available shipping service options." }, "AvailableFormatOptionsForLabel": { - "$ref": "#/definitions/AvailableFormatOptionsForLabelList" + "type": "array", + "description": "The available label formats.", + "items": { + "$ref": "#/definitions/LabelFormatOption" + } }, "AvailableFormatOptionsForLabelList": { "type": "array", @@ -1812,15 +1773,61 @@ "type": "string", "description": "An Amazon-defined order identifier, in 3-7-7 format." }, + "Benefits": { + "type": "object", + "description": "Benefits that are included and excluded for each shipping offer. Benefits represents services provided by Amazon (for example, `CLAIMS_PROTECTED`) when sellers purchase shipping through Amazon. Benefit details are made available for any shipment placed on or after January 1st 2024 00:00 UTC.", + "properties": { + "IncludedBenefits": { + "$ref": "#/definitions/IncludedBenefits" + }, + "ExcludedBenefits": { + "$ref": "#/definitions/ExcludedBenefits" + } + } + }, + "IncludedBenefits": { + "type": "array", + "description": "A list of included benefits.", + "items": { + "type": "string" + } + }, + "ExcludedBenefits": { + "type": "array", + "description": "A list of excluded benefits. Refer to the `ExcludeBenefit` object for further documentation.", + "items": { + "$ref": "#/definitions/ExcludedBenefit" + } + }, + "ExcludedBenefit": { + "type": "object", + "description": "An object representing an excluded benefit that is excluded for a shipping offer or rate.", + "properties": { + "Benefit": { + "description": "A benefit that is being excluded from a shipment.", + "type": "string" + }, + "ReasonCodes": { + "$ref": "#/definitions/ExcludedBenefitReasonCodes" + } + } + }, + "ExcludedBenefitReasonCodes": { + "type": "array", + "description": "List of reasons (for example, `LATE_DELIVERY_RISK`) why a benefit is excluded for a shipping offer.", + "items": { + "type": "string" + } + }, "CancelShipmentResponse": { "type": "object", "properties": { "payload": { - "description": "The payload for the cancelShipment operation.", + "description": "The payload for the `cancelShipment` operation.", "$ref": "#/definitions/Shipment" }, "errors": { - "description": "One or more unexpected errors occurred during the cancelShipment operation.", + "description": "One or more unexpected errors occurred during the `cancelShipment` operation.", "$ref": "#/definitions/ErrorList" } }, @@ -1843,7 +1850,7 @@ ], "properties": { "ShipmentRequestDetails": { - "description": "Shipment information required for creating a shipment.", + "description": "Shipment information required to create a shipment.", "$ref": "#/definitions/ShipmentRequestDetails" }, "ShippingServiceId": { @@ -1875,7 +1882,7 @@ "$ref": "#/definitions/Shipment" }, "errors": { - "description": "One or more unexpected errors occurred during the createShipment operation.", + "description": "One or more unexpected errors occurred during the `createShipment` operation.", "$ref": "#/definitions/ErrorList" } }, @@ -1883,6 +1890,7 @@ }, "ItemLevelFields": { "type": "object", + "description": "A list of item level fields.", "required": [ "AdditionalInputs", "Asin" @@ -1936,7 +1944,7 @@ "$ref": "#/definitions/ItemLevelFieldsList" } }, - "description": "The payload for the getAdditionalSellerInputs operation." + "description": "The payload for the `getAdditionalSellerInputs` operation." }, "GetAdditionalSellerInputsResponse": { "type": "object", @@ -1972,7 +1980,7 @@ }, "CustomTextForLabel": { "type": "string", - "description": "Custom text to print on the label.\n\nNote: Custom text is only included on labels that are in ZPL format (ZPL203). FedEx does not support CustomTextForLabel.", + "description": "Custom text to print on the label. Note: Custom text is only included on labels that are in ZPL format (ZPL203). FedEx does not support `CustomTextForLabel`.", "maxLength": 14 }, "DeliveryExperienceType": { @@ -1987,15 +1995,15 @@ "x-docgen-enum-table-extension": [ { "value": "DeliveryConfirmationWithAdultSignature", - "description": "Delivery confirmation with adult signature." + "description": "Delivery confirmation with an adult signature." }, { "value": "DeliveryConfirmationWithSignature", - "description": "Delivery confirmation with signature. Required for DPD (UK)." + "description": "Delivery confirmation with a signature. Required for DPD (UK)." }, { "value": "DeliveryConfirmationWithoutSignature", - "description": "Delivery confirmation without signature." + "description": "Delivery confirmation without a signature." }, { "value": "NoTracking", @@ -2105,13 +2113,13 @@ "$ref": "#/definitions/TermsAndConditionsNotAcceptedCarrierList" } }, - "description": "The payload for the getEligibleShipmentServices operation." + "description": "The payload for the `getEligibleShipmentServices` operation." }, "GetShipmentResponse": { "type": "object", "properties": { "payload": { - "description": "The payload for the getShipment operation.", + "description": "The payload for the `getShipment` operation.", "$ref": "#/definitions/Shipment" }, "errors": { @@ -2180,7 +2188,7 @@ }, "ItemList": { "type": "array", - "description": "The list of items to be included in a shipment.", + "description": "The list of items you want to include in a shipment.", "items": { "$ref": "#/definitions/Item" } @@ -2317,25 +2325,26 @@ }, "PackageDimension": { "type": "number", + "description": "Number that represents the given package dimension.", "format": "double" }, "PackageDimensions": { "type": "object", "properties": { "Length": { - "description": "The length dimension. If you don't specify PredefinedPackageDimensions, you must specify the Length.", + "description": "The length dimension. If you don't specify `PredefinedPackageDimensions`, you must specify the length.", "$ref": "#/definitions/PackageDimension" }, "Width": { - "description": "The width dimension. If you don't specify PredefinedPackageDimensions, you must specify the Width.", + "description": "The width dimension. If you don't specify `PredefinedPackageDimensions`, you must specify the width.", "$ref": "#/definitions/PackageDimension" }, "Height": { - "description": "The height dimension. If you don't specify PredefinedPackageDimensions, you must specify the Height.", + "description": "The height dimension. If you don't specify `PredefinedPackageDimensions`, you must specify the height.", "$ref": "#/definitions/PackageDimension" }, "Unit": { - "description": "The unit of measurement. If you don't specify PredefinedPackageDimensions, you must specify the Unit.", + "description": "The unit of measurement. If you don't specify `PredefinedPackageDimensions`, you must specify the unit.", "$ref": "#/definitions/UnitOfLength" }, "PredefinedPackageDimensions": { @@ -2356,7 +2365,7 @@ }, "PredefinedPackageDimensions": { "type": "string", - "description": "An enumeration of predefined parcel tokens. If you specify a PredefinedPackageDimensions token, you are not obligated to use a branded package from a carrier. For example, if you specify the FedEx_Box_10kg token, you do not have to use that particular package from FedEx. You are only obligated to use a box that matches the dimensions specified by the token.\n\nNote: Please note that carriers can have restrictions on the type of package allowed for certain ship methods. Check the carrier website for all details. Example: Flat rate pricing is available when materials are sent by USPS in a USPS-produced Flat Rate Envelope or Box.", + "description": "An enumeration of predefined parcel tokens. If you specify a `PredefinedPackageDimensions` token, you are not obligated to use a branded package from a carrier. For example, if you specify the `FedEx_Box_10kg` token, you do not have to use that particular package from FedEx. You are only obligated to use a box that matches the dimensions specified by the token. Note: Carriers can have restrictions on the type of package allowed for certain ship methods. Check the carrier website for details. Example: Flat rate pricing is available when materials are sent by USPS in a USPS-produced Flat Rate envelope or box.", "enum": [ "FedEx_Box_10kg", "FedEx_Box_25kg", @@ -2670,14 +2679,14 @@ "$ref": "#/definitions/Weight" }, "Insurance": { - "description": "If DeclaredValue was specified in a previous call to the createShipment operation, then Insurance indicates the amount that the carrier will use to insure the shipment. If DeclaredValue was not specified with a previous call to the createShipment operation, then the shipment will be insured for the carrier's minimum insurance amount, or the combined sale prices that the items are listed for in the shipment, whichever is less.", + "description": "If you specify `DeclaredValue` in a previous call to the `createShipment` operation, then `Insurance` indicates the shipment insurance amount that the carrier uses. If `DeclaredValue` isn't with a previous call to the `createShipment` operation, then the shipment is insured for the carrier's minimum insurance amount, or the combined sale prices that the items are listed for in the shipment.", "$ref": "#/definitions/CurrencyAmount" }, "ShippingService": { "$ref": "#/definitions/ShippingService" }, "Label": { - "description": "Data for creating a shipping label and dimensions for printing the label. If the shipment is canceled, an empty Label is returned.", + "description": "Data for creating a shipping label and dimensions for printing the label. If the shipment is canceled, an empty label is returned.", "$ref": "#/definitions/Label" }, "Status": { @@ -2688,7 +2697,7 @@ "$ref": "#/definitions/TrackingId" }, "CreatedDate": { - "description": "The date and time the shipment was created.", + "description": "The date and time the shipment is created.", "$ref": "#/definitions/Timestamp" }, "LastUpdatedDate": { @@ -2696,7 +2705,7 @@ "$ref": "#/definitions/Timestamp" } }, - "description": "The details of a shipment, including the shipment status." + "description": "The details of a shipment. Includes the shipment status." }, "ShipmentId": { "type": "string", @@ -2737,7 +2746,7 @@ "$ref": "#/definitions/Weight" }, "MustArriveByDate": { - "description": "The date by which the package must arrive to keep the promise to the customer, in ISO 8601 datetime format. If MustArriveByDate is specified, only shipping service offers that can be delivered by that date are returned.", + "description": "The date by which the package must arrive to keep the promise to the customer, in ISO 8601 date-time format. If `MustArriveByDate` is specified, only shipping service offers that can be delivered by that date are returned.", "$ref": "#/definitions/Timestamp" }, "ShipDate": { @@ -2767,15 +2776,15 @@ "x-docgen-enum-table-extension": [ { "value": "Purchased", - "description": "The seller purchased a label by calling the createShipment operation." + "description": "The seller purchased a label by calling the `createShipment` operation." }, { "value": "RefundPending", - "description": "The seller requested a label refund by calling the cancelShipment operation, and the refund request is being processed by the carrier.\n\nNote:\n\n* A seller can create a new shipment for an order while Status=RefundPending for a canceled shipment.\n* After a label refund is requested by calling the cancelShipment operation, the order status of the order remains \"Shipped\"." + "description": "The seller requested a label refund by calling the `cancelShipment` operation, and the refund request is being processed by the carrier. Note: A seller can create a new shipment for an order while `Status=RefundPending` for a canceled shipment. After you request a label refund (by calling `cancelShipment`), the status of the order remains `Shipped`." }, { "value": "RefundRejected", - "description": "The label refund request was rejected by the carrier. A refund request is rejected for either of the following reasons:\n\n* The cancellation window has expired. Cancellation policies vary by carrier. For more information about carrier cancellation policies, see the Seller Central Help.\n* The carrier has already accepted the shipment for delivery." + "description": "The label refund request is rejected by the carrier. A refund request is rejected because the cancellation window has expired, or the carrier has already accepted the shipment for delivery. Cancellation policies vary by carrier. For more information about carrier cancellation policies, refer to the Seller Central Help for your marketplace." }, { "value": "RefundApplied", @@ -2851,7 +2860,7 @@ "properties": { "ShippingServiceName": { "type": "string", - "description": "A plain text representation of a carrier's shipping service. For example, \"UPS Ground\" or \"FedEx Standard Overnight\". " + "description": "A plain text representation of a carrier's shipping service. For example, UPS Ground or FedEx Standard Overnight. " }, "CarrierName": { "type": "string", @@ -2896,6 +2905,9 @@ "RequiresAdditionalSellerInputs": { "type": "boolean", "description": "When true, additional seller inputs are required." + }, + "Benefits": { + "$ref": "#/definitions/Benefits" } }, "description": "A shipping service offer made by a carrier." @@ -2923,12 +2935,12 @@ "$ref": "#/definitions/DeliveryExperienceType" }, "DeclaredValue": { - "description": "The declared value of the shipment. The carrier uses this value to determine the amount to use to insure the shipment. If DeclaredValue is greater than the carrier's minimum insurance amount, the seller is charged for the additional insurance as determined by the carrier. For information about optional insurance coverage, see the Seller Central Help [UK](https://sellercentral.amazon.co.uk/gp/help/200204080) [US](https://sellercentral.amazon.com/gp/help/200204080).", + "description": "The declared value of the shipment. The carrier uses this value to determine the amount to use to insure the shipment. If `DeclaredValue` is greater than the carrier's minimum insurance amount, the seller is charged for the additional insurance as determined by the carrier. For information about optional insurance coverage, refer to the Seller Central Help: [UK](https://sellercentral.amazon.co.uk/gp/help/200204080), [US](https://sellercentral.amazon.com/gp/help/200204080).", "$ref": "#/definitions/CurrencyAmount" }, "CarrierWillPickUp": { "type": "boolean", - "description": "When true, the carrier will pick up the package.\n\nNote: Scheduled carrier pickup is available only using Dynamex (US), DPD (UK), and Royal Mail (UK)." + "description": "When true, the carrier will pick up the package. Note: Scheduled carrier pickup is available only using Dynamex (US), DPD (UK), and Royal Mail (UK)." }, "CarrierWillPickUpOption": { "$ref": "#/definitions/CarrierWillPickUpOption" @@ -2978,7 +2990,7 @@ }, "StateOrProvinceCode": { "type": "string", - "description": "The state or province code. **Note.** Required in the Canada, US, and UK marketplaces. Also required for shipments originating from China.", + "description": "The state or province code. Note: Required in Canada, US, and UK marketplaces. Also required for shipments originating in China.", "maxLength": 30 }, "RejectedShippingService": { @@ -2992,19 +3004,19 @@ "properties": { "CarrierName": { "type": "string", - "description": "The rejected shipping carrier name. e.g. USPS" + "description": "The rejected shipping carrier name. For example, USPS." }, "ShippingServiceName": { "type": "string", - "description": "The rejected shipping service localized name. e.g. FedEx Standard Overnight" + "description": "The rejected shipping service localized name. For example, FedEx Standard Overnight." }, "ShippingServiceId": { - "description": "The rejected shipping service identifier. e.g. FEDEX_PTP_STANDARD_OVERNIGHT", + "description": "The rejected shipping service identifier. For example, `FEDEX_PTP_STANDARD_OVERNIGHT`.", "$ref": "#/definitions/ShippingServiceIdentifier" }, "RejectionReasonCode": { "type": "string", - "description": "A reason code meant to be consumed programatically. e.g. CARRIER_CANNOT_SHIP_TO_POBOX" + "description": "A reason code meant to be consumed programatically. For example, `CARRIER_CANNOT_SHIP_TO_POBOX`." }, "RejectionReasonMessage": { "type": "string", @@ -3015,7 +3027,7 @@ }, "RejectedShippingServiceList": { "type": "array", - "description": "List of services that were for some reason unavailable for this request", + "description": "List of services that are for some reason unavailable for this request", "items": { "$ref": "#/definitions/RejectedShippingService" } @@ -3062,6 +3074,7 @@ }, "Timestamp": { "type": "string", + "description": "Date-time formatted timestamp.", "format": "date-time" }, "TrackingId": { @@ -3070,7 +3083,7 @@ }, "TransparencyCode": { "type": "string", - "description": "The Transparency code associated with the item. The Transparency serial number that needs to be submitted can be determined by the following:\n\n**1D or 2D Barcode:** This has a **T** logo. Submit either the 29-character alpha-numeric identifier beginning with **AZ** or **ZA**, or the 38-character Serialized Global Trade Item Number (SGTIN).\n**2D Barcode SN:** Submit the 7- to 20-character serial number barcode, which likely has the prefix **SN**. The serial number will be applied to the same side of the packaging as the GTIN (UPC/EAN/ISBN) barcode.\n**QR code SN:** Submit the URL that the QR code generates." + "description": "The transparency code associated with the item. Determine the transparency serial number with:\n\n**1D or 2D Barcode:** This has a **T** logo. Submit either the 29-character alpha-numeric identifier beginning with **AZ** or **ZA**, or the 38-character Serialized Global Trade Item Number (SGTIN).\n**2D Barcode SN:** Submit the 7- to 20-character serial number barcode, that likely has the prefix **SN**. The serial number is applied to the same side of the packaging as the GTIN (UPC/EAN/ISBN) barcode.\n**QR code SN:** Submit the URL that the QR code generates." }, "TransparencyCodeList": { "type": "array", @@ -3166,7 +3179,7 @@ }, { "value": "FL_OZ", - "description": "Fluid Ounce - Imperial unit of volume." + "description": "Fluid ounce - Imperial unit of volume." }, { "value": "GAL", @@ -3191,11 +3204,11 @@ "description": "The measurement value." } }, - "description": "Liquid Volume." + "description": "Liquid volume." }, "DangerousGoodsDetails": { "type": "object", - "description": "Details related to any dangerous goods/items that are being shipped.", + "description": "Details related to any dangerous goods or items that are shipped.", "properties": { "UnitedNationsRegulatoryId" : { "type": "string", @@ -3204,7 +3217,7 @@ }, "TransportationRegulatoryClass" : { "type": "string", - "description": "The specific regulatory class of the item being shipped.", + "description": "The specific regulatory class of the shipped item.", "pattern": "^[1-9](\\.[1-9])?$" }, "PackingGroup" : { @@ -3251,59 +3264,59 @@ "x-docgen-enum-table-extension": [ { "value": "PI965_SECTION_IA", - "description": "Ion PI965 Section IA (LiBa)" + "description": "Ion PI965 Section IA (LiBa)." }, { "value": "PI965_SECTION_IB", - "description": "Ion PI965 Section IB (LiBa)" + "description": "Ion PI965 Section IB (LiBa)." }, { "value": "PI965_SECTION_II", - "description": "Ion PI965 Section II (LiBa)" + "description": "Ion PI965 Section II (LiBa)." }, { "value": "PI966_SECTION_I", - "description": "Ion PI966 Section I (LiBa with equipment)" + "description": "Ion PI966 Section I (LiBa with equipment)." }, { "value": "PI966_SECTION_II", - "description": "Ion PI966 Section II (LiBa with equipment)" + "description": "Ion PI966 Section II (LiBa with equipment)." }, { "value": "PI967_SECTION_I", - "description": "Ion PI967 Section I (LiBa in equipment)" + "description": "Ion PI967 Section I (LiBa in equipment)." }, { "value": "PI967_SECTION_II", - "description": "Ion PI967 Section II (LiBa in equipment)" + "description": "Ion PI967 Section II (LiBa in equipment)." }, { "value": "PI968_SECTION_IA", - "description": "Metal PI968 Section IA (LiBa)" + "description": "Metal PI968 Section IA (LiBa)." }, { "value": "PI968_SECTION_IB", - "description": "Metal PI968 Section IB (LiBa)" + "description": "Metal PI968 Section IB (LiBa)." }, { "value": "PI969_SECTION_I", - "description": "Metal PI969 Section I (LiBa with equipment)" + "description": "Metal PI969 Section I (LiBa with equipment)." }, { "value": "PI969_SECTION_II", - "description": "Metal PI969 Section II (LiBa with equipment)" + "description": "Metal PI969 Section II (LiBa with equipment)." }, { "value": "PI970_SECTION_I", - "description": "Metal PI970 Section I (LiBa in equipment)" + "description": "Metal PI970 Section I (LiBa in equipment)." }, { "value": "PI970_SECTION_II", - "description": "Metal PI970 Section II (LiBa in equipment)" + "description": "Metal PI970 Section II (LiBa in equipment)." } ] } } } } -} +} \ No newline at end of file From e5e35e69a6e991007639b625802e8f9f0c34cdc5 Mon Sep 17 00:00:00 2001 From: lisa-delaney Date: Fri, 28 Jun 2024 14:45:52 -0700 Subject: [PATCH 084/340] Update Fulfillment Outbound model --- .DS_Store | Bin 0 -> 8196 bytes .../fulfillmentOutbound_2020-07-01.json | 10 +--------- 2 files changed, 1 insertion(+), 9 deletions(-) create mode 100644 .DS_Store diff --git a/.DS_Store b/.DS_Store new file mode 100644 index 0000000000000000000000000000000000000000..bf745114ab5e9299f4a5a32b813404fdf56a82ce GIT binary patch literal 8196 zcmeHMYitx%6u#fIlo>n7v{ERKWmguEKx?<UE=6-X| zz30xHGvArJXO=OB=A2&7ST$ozrh}taPTe&cALqwaO$s!ngdlsyEaqkk?r6qxGFQzG z6=4Lz2!s&`BM?R)jKGZ$0ot>9ldrSyi_x$TBM?U5e;EP(eu&Y*F&W^vK>yW2onHbF z@)E#rbWU}EZxahJ8Q{1;-;~xA)dK=k1SJN9IgQ8obi!nS;{t^_gD__Zu8g2Ufq!+f zi}}+Tk^;j%j6fKHt0TbEr;Lp-hw03iQokS1j9RAaB@$;Km6T2^n=Vh6%jG?(VW*Jt z(q7JOPG@&>snc<+Oz}LO*<~7q0c}=`V|!`SHnP5fsT(wXzl^Tf}FHl2p;HvqiU*TgufLk?x+}KDEEc9CYlIdC(ZpX1e5C8;LuzMxK1? z9(1hSi0uw&6@zJOFlVJbW20s9$)ua<4rU$8+TpmSXF7Iok7w-niVIB|>gjWxtk>c% zHlS%a*Vt*$T4vs8r4?zZN`AHNqkI{6myvY||@Q8{+&oao|ZwGDTzPi|`KxPM}% zR#B;{RkOSErfX&_qc`mi8n$lQLtO<^_lEl@z_w@ZHI1yIRG_BQPLCK9mDO|S&0i3S zh&fkmimUYGGUmfM(>tKWWm#M!vM8>|+6VnQ-DHQO^A&Y}BobM4hb-^r`j)Igy-=%> z6*Xj#?sO?Y!EGk$6-9G9_Yn((sk(ZNtY~_dmChJepjy{Ns%_nQ;d!8}x<^)e2Az=+ za>f<9NK30MYo9&9FWjDXz3rohefgGJw#ss!JDkoM+Y7|OqD8wb`wy1%++>q(dQR4l z#(j$-kzT&kMqM{_a(Z6%+{#EQ(j{wOlZ|HDd6QUA&q9!2jwe&6{AUtRE*H-xE`TvV z#>%Xs7$D!{B5WyZq&=;Z?WLSM%${aP*!%1RJIPM7Gwd8Y&wgeX*)Qx@b_pd=QHcdu zj9SzofqJY%6V_t`wxJVU*o6%C!NLd}co@SYcoc{61fIk5cmXfrHN1g0aTIUk7(T>D z_!yt!b9{l*_!8&vBhKR|T)=O*gx{qKX`ZxLS|Tl#>ZF9!Agz=(OIxHJQm>SehNNNP zfmBSlJ(E3?4v;+QEkfxQdPTeh~{tG3_p>GsX7Ji%_8RW*A~Y{~MvRgHIV zyi7yE+9FZ^oB%%OCuNGyd7l?k`RZq)x-i;BNnz~2l8PcViwUVs=gBKi@Y%Pk@u)V9 z(ng3&)n!qwj8aC3E26bgO`=Q{Vj|k0Y9*A1if_9*TB~Z1g|Jp_QngabNFi=e7pfXl zgwPyqjcPo<+yi$p{^=e-KZ@T{X|C`sr@Xo^sgc1152%xkz z)!IzcuJ?lDwRVh-2kGFA&l?x$n^5PM Date: Tue, 2 Jul 2024 15:07:14 -0700 Subject: [PATCH 085/340] Update descriptions in awd_2024-05-09.json. --- .../awd_2024-05-09.json | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/models/amazon-warehousing-and-distribution-model/awd_2024-05-09.json b/models/amazon-warehousing-and-distribution-model/awd_2024-05-09.json index c8e7f4c28..5b97d73f2 100644 --- a/models/amazon-warehousing-and-distribution-model/awd_2024-05-09.json +++ b/models/amazon-warehousing-and-distribution-model/awd_2024-05-09.json @@ -263,7 +263,7 @@ "tags": [ "awd" ], - "description": "Retrieves an AWD inbound shipment.", + "description": "Retrieves an AWD inbound shipment.\n\n**Usage Plan:**\n\n| Rate (requests per second) | Burst |\n| ---- | ---- |\n| 2 | 2 |\n\nThe `x-amzn-RateLimit-Limit` response header returns the usage plan rate limits that were applied to the requested operation, when available. The table above indicates the default rate and burst values for this operation. Selling partners whose business demands require higher throughput may see higher rate and burst values than those shown here. For more information, refer to [Usage Plans and Rate Limits in the Selling Partner API](https://developer-docs.amazon.com/sp-api/docs/usage-plans-and-rate-limits-in-the-sp-api)", "operationId": "getInboundShipment" } }, @@ -560,7 +560,7 @@ "tags": [ "awd" ], - "description": "Retrieves a summary for all the inbound AWD shipments associated with a merchant, with the ability to apply optional filters.", + "description": "Retrieves a summary for all the inbound AWD shipments associated with a merchant, with the ability to apply optional filters.\n\n**Usage Plan:**\n\n| Rate (requests per second) | Burst |\n| ---- | ---- |\n| 1 | 1 |\n\nThe `x-amzn-RateLimit-Limit` response header returns the usage plan rate limits that were applied to the requested operation, when available. The table above indicates the default rate and burst values for this operation. Selling partners whose business demands require higher throughput may see higher rate and burst values than those shown here. For more information, refer to [Usage Plans and Rate Limits in the Selling Partner API](https://developer-docs.amazon.com/sp-api/docs/usage-plans-and-rate-limits-in-the-sp-api).", "operationId": "listInboundShipments" } }, @@ -811,7 +811,7 @@ "tags": [ "awd" ], - "description": "Lists AWD inventory associated with a merchant with the ability to apply optional filters.", + "description": "Lists AWD inventory associated with a merchant with the ability to apply optional filters.\n\n**Usage Plan:**\n\n| Rate (requests per second) | Burst |\n| ---- | ---- |\n| 2 | 2 |\n\nThe `x-amzn-RateLimit-Limit` response header returns the usage plan rate limits that were applied to the requested operation, when available. The table above indicates the default rate and burst values for this operation. Selling partners whose business demands require higher throughput may see higher rate and burst values than those shown here. For more information, refer to [Usage Plans and Rate Limits in the Selling Partner API](https://developer-docs.amazon.com/sp-api/docs/usage-plans-and-rate-limits-in-the-sp-api).", "operationId": "listInventory" } } @@ -1637,4 +1637,4 @@ ] } } -} \ No newline at end of file +} From c8c86db47944663fcdfc163b0fd2b7231d1793db Mon Sep 17 00:00:00 2001 From: Jack Evoniuk Date: Mon, 8 Jul 2024 10:59:48 -0700 Subject: [PATCH 086/340] Added the Benefits object to Merchant Fulfillment --- .DS_Store | Bin 8196 -> 0 bytes .../merchantFulfillmentV0.json | 178 +++++++++--------- 2 files changed, 89 insertions(+), 89 deletions(-) delete mode 100644 .DS_Store diff --git a/.DS_Store b/.DS_Store deleted file mode 100644 index bf745114ab5e9299f4a5a32b813404fdf56a82ce..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 8196 zcmeHMYitx%6u#fIlo>n7v{ERKWmguEKx?<UE=6-X| zz30xHGvArJXO=OB=A2&7ST$ozrh}taPTe&cALqwaO$s!ngdlsyEaqkk?r6qxGFQzG z6=4Lz2!s&`BM?R)jKGZ$0ot>9ldrSyi_x$TBM?U5e;EP(eu&Y*F&W^vK>yW2onHbF z@)E#rbWU}EZxahJ8Q{1;-;~xA)dK=k1SJN9IgQ8obi!nS;{t^_gD__Zu8g2Ufq!+f zi}}+Tk^;j%j6fKHt0TbEr;Lp-hw03iQokS1j9RAaB@$;Km6T2^n=Vh6%jG?(VW*Jt z(q7JOPG@&>snc<+Oz}LO*<~7q0c}=`V|!`SHnP5fsT(wXzl^Tf}FHl2p;HvqiU*TgufLk?x+}KDEEc9CYlIdC(ZpX1e5C8;LuzMxK1? z9(1hSi0uw&6@zJOFlVJbW20s9$)ua<4rU$8+TpmSXF7Iok7w-niVIB|>gjWxtk>c% zHlS%a*Vt*$T4vs8r4?zZN`AHNqkI{6myvY||@Q8{+&oao|ZwGDTzPi|`KxPM}% zR#B;{RkOSErfX&_qc`mi8n$lQLtO<^_lEl@z_w@ZHI1yIRG_BQPLCK9mDO|S&0i3S zh&fkmimUYGGUmfM(>tKWWm#M!vM8>|+6VnQ-DHQO^A&Y}BobM4hb-^r`j)Igy-=%> z6*Xj#?sO?Y!EGk$6-9G9_Yn((sk(ZNtY~_dmChJepjy{Ns%_nQ;d!8}x<^)e2Az=+ za>f<9NK30MYo9&9FWjDXz3rohefgGJw#ss!JDkoM+Y7|OqD8wb`wy1%++>q(dQR4l z#(j$-kzT&kMqM{_a(Z6%+{#EQ(j{wOlZ|HDd6QUA&q9!2jwe&6{AUtRE*H-xE`TvV z#>%Xs7$D!{B5WyZq&=;Z?WLSM%${aP*!%1RJIPM7Gwd8Y&wgeX*)Qx@b_pd=QHcdu zj9SzofqJY%6V_t`wxJVU*o6%C!NLd}co@SYcoc{61fIk5cmXfrHN1g0aTIUk7(T>D z_!yt!b9{l*_!8&vBhKR|T)=O*gx{qKX`ZxLS|Tl#>ZF9!Agz=(OIxHJQm>SehNNNP zfmBSlJ(E3?4v;+QEkfxQdPTeh~{tG3_p>GsX7Ji%_8RW*A~Y{~MvRgHIV zyi7yE+9FZ^oB%%OCuNGyd7l?k`RZq)x-i;BNnz~2l8PcViwUVs=gBKi@Y%Pk@u)V9 z(ng3&)n!qwj8aC3E26bgO`=Q{Vj|k0Y9*A1if_9*TB~Z1g|Jp_QngabNFi=e7pfXl zgwPyqjcPo<+yi$p{^=e-KZ@T{X|C`sr@Xo^sgc1152%xkz z)!IzcuJ?lDwRVh-2kGFA&l?x$n^5PMISO 8601 date-time format. If `MustArriveByDate` is specified, only shipping service offers that can be delivered by that date are returned.", + "description": "The date by which the package must arrive to keep the promise to the customer, in ISO 8601 datetime format. If MustArriveByDate is specified, only shipping service offers that can be delivered by that date are returned.", "$ref": "#/definitions/Timestamp" }, "ShipDate": { @@ -2776,15 +2776,15 @@ "x-docgen-enum-table-extension": [ { "value": "Purchased", - "description": "The seller purchased a label by calling the `createShipment` operation." + "description": "The seller purchased a label by calling the createShipment operation." }, { "value": "RefundPending", - "description": "The seller requested a label refund by calling the `cancelShipment` operation, and the refund request is being processed by the carrier. Note: A seller can create a new shipment for an order while `Status=RefundPending` for a canceled shipment. After you request a label refund (by calling `cancelShipment`), the status of the order remains `Shipped`." + "description": "The seller requested a label refund by calling the cancelShipment operation, and the refund request is being processed by the carrier.\n\nNote:\n\n* A seller can create a new shipment for an order while Status=RefundPending for a canceled shipment.\n* After a label refund is requested by calling the cancelShipment operation, the order status of the order remains \"Shipped\"." }, { "value": "RefundRejected", - "description": "The label refund request is rejected by the carrier. A refund request is rejected because the cancellation window has expired, or the carrier has already accepted the shipment for delivery. Cancellation policies vary by carrier. For more information about carrier cancellation policies, refer to the Seller Central Help for your marketplace." + "description": "The label refund request was rejected by the carrier. A refund request is rejected for either of the following reasons:\n\n* The cancellation window has expired. Cancellation policies vary by carrier. For more information about carrier cancellation policies, see the Seller Central Help.\n* The carrier has already accepted the shipment for delivery." }, { "value": "RefundApplied", @@ -2860,7 +2860,7 @@ "properties": { "ShippingServiceName": { "type": "string", - "description": "A plain text representation of a carrier's shipping service. For example, UPS Ground or FedEx Standard Overnight. " + "description": "A plain text representation of a carrier's shipping service. For example, \"UPS Ground\" or \"FedEx Standard Overnight\". " }, "CarrierName": { "type": "string", @@ -2935,12 +2935,12 @@ "$ref": "#/definitions/DeliveryExperienceType" }, "DeclaredValue": { - "description": "The declared value of the shipment. The carrier uses this value to determine the amount to use to insure the shipment. If `DeclaredValue` is greater than the carrier's minimum insurance amount, the seller is charged for the additional insurance as determined by the carrier. For information about optional insurance coverage, refer to the Seller Central Help: [UK](https://sellercentral.amazon.co.uk/gp/help/200204080), [US](https://sellercentral.amazon.com/gp/help/200204080).", + "description": "The declared value of the shipment. The carrier uses this value to determine the amount to use to insure the shipment. If DeclaredValue is greater than the carrier's minimum insurance amount, the seller is charged for the additional insurance as determined by the carrier. For information about optional insurance coverage, see the Seller Central Help [UK](https://sellercentral.amazon.co.uk/gp/help/200204080) [US](https://sellercentral.amazon.com/gp/help/200204080).", "$ref": "#/definitions/CurrencyAmount" }, "CarrierWillPickUp": { "type": "boolean", - "description": "When true, the carrier will pick up the package. Note: Scheduled carrier pickup is available only using Dynamex (US), DPD (UK), and Royal Mail (UK)." + "description": "When true, the carrier will pick up the package.\n\nNote: Scheduled carrier pickup is available only using Dynamex (US), DPD (UK), and Royal Mail (UK)." }, "CarrierWillPickUpOption": { "$ref": "#/definitions/CarrierWillPickUpOption" @@ -2990,7 +2990,7 @@ }, "StateOrProvinceCode": { "type": "string", - "description": "The state or province code. Note: Required in Canada, US, and UK marketplaces. Also required for shipments originating in China.", + "description": "The state or province code. **Note.** Required in the Canada, US, and UK marketplaces. Also required for shipments originating from China.", "maxLength": 30 }, "RejectedShippingService": { @@ -3004,19 +3004,19 @@ "properties": { "CarrierName": { "type": "string", - "description": "The rejected shipping carrier name. For example, USPS." + "description": "The rejected shipping carrier name. e.g. USPS" }, "ShippingServiceName": { "type": "string", - "description": "The rejected shipping service localized name. For example, FedEx Standard Overnight." + "description": "The rejected shipping service localized name. e.g. FedEx Standard Overnight" }, "ShippingServiceId": { - "description": "The rejected shipping service identifier. For example, `FEDEX_PTP_STANDARD_OVERNIGHT`.", + "description": "The rejected shipping service identifier. e.g. FEDEX_PTP_STANDARD_OVERNIGHT", "$ref": "#/definitions/ShippingServiceIdentifier" }, "RejectionReasonCode": { "type": "string", - "description": "A reason code meant to be consumed programatically. For example, `CARRIER_CANNOT_SHIP_TO_POBOX`." + "description": "A reason code meant to be consumed programatically. e.g. CARRIER_CANNOT_SHIP_TO_POBOX" }, "RejectionReasonMessage": { "type": "string", @@ -3027,7 +3027,7 @@ }, "RejectedShippingServiceList": { "type": "array", - "description": "List of services that are for some reason unavailable for this request", + "description": "List of services that were for some reason unavailable for this request", "items": { "$ref": "#/definitions/RejectedShippingService" } @@ -3083,7 +3083,7 @@ }, "TransparencyCode": { "type": "string", - "description": "The transparency code associated with the item. Determine the transparency serial number with:\n\n**1D or 2D Barcode:** This has a **T** logo. Submit either the 29-character alpha-numeric identifier beginning with **AZ** or **ZA**, or the 38-character Serialized Global Trade Item Number (SGTIN).\n**2D Barcode SN:** Submit the 7- to 20-character serial number barcode, that likely has the prefix **SN**. The serial number is applied to the same side of the packaging as the GTIN (UPC/EAN/ISBN) barcode.\n**QR code SN:** Submit the URL that the QR code generates." + "description": "The Transparency code associated with the item. The Transparency serial number that needs to be submitted can be determined by the following:\n\n**1D or 2D Barcode:** This has a **T** logo. Submit either the 29-character alpha-numeric identifier beginning with **AZ** or **ZA**, or the 38-character Serialized Global Trade Item Number (SGTIN).\n**2D Barcode SN:** Submit the 7- to 20-character serial number barcode, which likely has the prefix **SN**. The serial number will be applied to the same side of the packaging as the GTIN (UPC/EAN/ISBN) barcode.\n**QR code SN:** Submit the URL that the QR code generates." }, "TransparencyCodeList": { "type": "array", @@ -3179,7 +3179,7 @@ }, { "value": "FL_OZ", - "description": "Fluid ounce - Imperial unit of volume." + "description": "Fluid Ounce - Imperial unit of volume." }, { "value": "GAL", @@ -3204,11 +3204,11 @@ "description": "The measurement value." } }, - "description": "Liquid volume." + "description": "Liquid Volume." }, "DangerousGoodsDetails": { "type": "object", - "description": "Details related to any dangerous goods or items that are shipped.", + "description": "Details related to any dangerous goods/items that are being shipped.", "properties": { "UnitedNationsRegulatoryId" : { "type": "string", @@ -3217,7 +3217,7 @@ }, "TransportationRegulatoryClass" : { "type": "string", - "description": "The specific regulatory class of the shipped item.", + "description": "The specific regulatory class of the item being shipped.", "pattern": "^[1-9](\\.[1-9])?$" }, "PackingGroup" : { @@ -3264,59 +3264,59 @@ "x-docgen-enum-table-extension": [ { "value": "PI965_SECTION_IA", - "description": "Ion PI965 Section IA (LiBa)." + "description": "Ion PI965 Section IA (LiBa)" }, { "value": "PI965_SECTION_IB", - "description": "Ion PI965 Section IB (LiBa)." + "description": "Ion PI965 Section IB (LiBa)" }, { "value": "PI965_SECTION_II", - "description": "Ion PI965 Section II (LiBa)." + "description": "Ion PI965 Section II (LiBa)" }, { "value": "PI966_SECTION_I", - "description": "Ion PI966 Section I (LiBa with equipment)." + "description": "Ion PI966 Section I (LiBa with equipment)" }, { "value": "PI966_SECTION_II", - "description": "Ion PI966 Section II (LiBa with equipment)." + "description": "Ion PI966 Section II (LiBa with equipment)" }, { "value": "PI967_SECTION_I", - "description": "Ion PI967 Section I (LiBa in equipment)." + "description": "Ion PI967 Section I (LiBa in equipment)" }, { "value": "PI967_SECTION_II", - "description": "Ion PI967 Section II (LiBa in equipment)." + "description": "Ion PI967 Section II (LiBa in equipment)" }, { "value": "PI968_SECTION_IA", - "description": "Metal PI968 Section IA (LiBa)." + "description": "Metal PI968 Section IA (LiBa)" }, { "value": "PI968_SECTION_IB", - "description": "Metal PI968 Section IB (LiBa)." + "description": "Metal PI968 Section IB (LiBa)" }, { "value": "PI969_SECTION_I", - "description": "Metal PI969 Section I (LiBa with equipment)." + "description": "Metal PI969 Section I (LiBa with equipment)" }, { "value": "PI969_SECTION_II", - "description": "Metal PI969 Section II (LiBa with equipment)." + "description": "Metal PI969 Section II (LiBa with equipment)" }, { "value": "PI970_SECTION_I", - "description": "Metal PI970 Section I (LiBa in equipment)." + "description": "Metal PI970 Section I (LiBa in equipment)" }, { "value": "PI970_SECTION_II", - "description": "Metal PI970 Section II (LiBa in equipment)." + "description": "Metal PI970 Section II (LiBa in equipment)" } ] } } } } -} \ No newline at end of file +} From a549e70c945fbef0fbc72ccbe995896a43c7d015 Mon Sep 17 00:00:00 2001 From: ruby4406 Date: Sun, 25 Aug 2024 03:44:27 +0530 Subject: [PATCH 087/340] Create workspace.xml --- .idea/workspace.xml | 8 ++++++++ 1 file changed, 8 insertions(+) create mode 100644 .idea/workspace.xml diff --git a/.idea/workspace.xml b/.idea/workspace.xml new file mode 100644 index 000000000..f48cf1308 --- /dev/null +++ b/.idea/workspace.xml @@ -0,0 +1,8 @@ + + + { + "keyToString": { + "settings.editor.selected.configurable": "aws" + } +} + \ No newline at end of file From 2dc06540884410cee02a19fb1ea9456f7fb584e7 Mon Sep 17 00:00:00 2001 From: ruby4406 Date: Sun, 25 Aug 2024 03:44:41 +0530 Subject: [PATCH 088/340] Create .gitignore --- .idea/.gitignore | 3 +++ 1 file changed, 3 insertions(+) create mode 100644 .idea/.gitignore diff --git a/.idea/.gitignore b/.idea/.gitignore new file mode 100644 index 000000000..26d33521a --- /dev/null +++ b/.idea/.gitignore @@ -0,0 +1,3 @@ +# Default ignored files +/shelf/ +/workspace.xml From d4b05cde9d96e28cd55b979dfb81da9d60421e77 Mon Sep 17 00:00:00 2001 From: rubeena begum <163713192+ruby4406@users.noreply.github.com> Date: Fri, 30 Aug 2024 22:50:40 +0530 Subject: [PATCH 089/340] Create gradle-publish.yml --- .github/workflows/gradle-publish.yml | 44 ++++++++++++++++++++++++++++ 1 file changed, 44 insertions(+) create mode 100644 .github/workflows/gradle-publish.yml diff --git a/.github/workflows/gradle-publish.yml b/.github/workflows/gradle-publish.yml new file mode 100644 index 000000000..20d17dc3b --- /dev/null +++ b/.github/workflows/gradle-publish.yml @@ -0,0 +1,44 @@ +# This workflow uses actions that are not certified by GitHub. +# They are provided by a third-party and are governed by +# separate terms of service, privacy policy, and support +# documentation. +# This workflow will build a package using Gradle and then publish it to GitHub packages when a release is created +# For more information see: https://github.com/actions/setup-java/blob/main/docs/advanced-usage.md#Publishing-using-gradle + +name: Gradle Package + +on: + release: + types: [created] + +jobs: + build: + + runs-on: ubuntu-latest + permissions: + contents: read + packages: write + + steps: + - uses: actions/checkout@v4 + - name: Set up JDK 17 + uses: actions/setup-java@v4 + with: + java-version: '17' + distribution: 'temurin' + server-id: github # Value of the distributionManagement/repository/id field of the pom.xml + settings-path: ${{ github.workspace }} # location for the settings.xml file + + - name: Setup Gradle + uses: gradle/actions/setup-gradle@af1da67850ed9a4cedd57bfd976089dd991e2582 # v4.0.0 + + - name: Build with Gradle + run: ./gradlew build + + # The USERNAME and TOKEN need to correspond to the credentials environment variables used in + # the publishing section of your build.gradle + - name: Publish to GitHub Packages + run: ./gradlew publish + env: + USERNAME: ${{ github.actor }} + TOKEN: ${{ secrets.GITHUB_TOKEN }} From 64ad1780b527177f2e7c18578b8a86ea2f4fcd60 Mon Sep 17 00:00:00 2001 From: Gibran Waldron Date: Wed, 14 Aug 2024 08:15:33 -0700 Subject: [PATCH 090/340] Add unitOfMeasure to the vendorOrders model. --- .../vendor-orders-api-model/vendorOrders.json | 329 +++++++++++------- 1 file changed, 196 insertions(+), 133 deletions(-) diff --git a/models/vendor-orders-api-model/vendorOrders.json b/models/vendor-orders-api-model/vendorOrders.json index 4f1cccdb3..18202e16f 100644 --- a/models/vendor-orders-api-model/vendorOrders.json +++ b/models/vendor-orders-api-model/vendorOrders.json @@ -29,7 +29,7 @@ "tags": [ "vendorOrders" ], - "description": "Returns a list of purchase orders created or changed during the time frame that you specify. You define the time frame using the `createdAfter`, `createdBefore`, `changedAfter` and `changedBefore` parameters. The date range to search must not be more than 7 days. You can choose to get only the purchase order numbers by setting `includeDetails` to false. You can then use the `getPurchaseOrder` operation to receive details for a specific purchase order.\n\n**Usage Plan:**\n\n| Rate (requests per second) | Burst |\n| ---- | ---- |\n| 10 | 10 |\n\nThe `x-amzn-RateLimit-Limit` response header returns the usage plan rate limits that were applied to the requested operation, when available. The table above indicates the default rate and burst values for this operation. Selling partners whose business demands require higher throughput may see higher rate and burst values than those shown here. For more information, refer to [Usage Plans and Rate Limits in the Selling Partner API](https://developer-docs.amazon.com/sp-api/docs/usage-plans-and-rate-limits-in-the-sp-api).", + "description": "Returns a list of purchase orders created or changed during the time frame that you specify. You define the time frame using the `createdAfter`, `createdBefore`, `changedAfter` and `changedBefore` parameters. The date range to search must not be more than 7 days. You can choose to get only the purchase order numbers by setting `includeDetails` to false. You can then use the `getPurchaseOrder` operation to receive details for a specific purchase order.\n\n**Usage Plan:**\n\n| Rate (requests per second) | Burst |\n| ---- | ---- |\n| 10 | 10 |\n\nThe `x-amzn-RateLimit-Limit` response header returns the usage plan rate limits that were applied to the requested operation, when available. The preceding table indicates the default rate and burst values for this operation. Selling partners whose business demands require higher throughput may have higher rate and burst values than those shown here. For more information, refer to [Usage Plans and Rate Limits in the Selling Partner API](https://developer-docs.amazon.com/sp-api/docs/usage-plans-and-rate-limits-in-the-sp-api).", "operationId": "getPurchaseOrders", "parameters": [ { @@ -45,7 +45,7 @@ { "name": "createdAfter", "in": "query", - "description": "Purchase orders that became available after this time will be included in the result. Must be in ISO 8601 date/time format.", + "description": "Purchase orders that became available after this time will be included in the result. Must be in ISO-8601 date/time format.", "required": false, "type": "string", "format": "date-time" @@ -53,7 +53,7 @@ { "name": "createdBefore", "in": "query", - "description": "Purchase orders that became available before this time will be included in the result. Must be in ISO 8601 date/time format.", + "description": "Purchase orders that became available before this time will be included in the result. Must be in ISO-8601 date/time format.", "required": false, "type": "string", "format": "date-time" @@ -89,7 +89,7 @@ { "name": "includeDetails", "in": "query", - "description": "When `true`, returns purchase orders with complete details. Otherwise, only purchase order numbers are returned. Default value is `true`.", + "description": "When true, returns purchase orders with complete details. Otherwise, only purchase order numbers are returned. Default value is true.", "required": false, "type": "string", "format": "boolean" @@ -97,7 +97,7 @@ { "name": "changedAfter", "in": "query", - "description": "Purchase orders that changed after this timestamp will be included in the result. Must be in ISO 8601 date/time format.", + "description": "Purchase orders that changed after this timestamp will be included in the result. Must be in ISO-8601 date/time format.", "required": false, "type": "string", "format": "date-time" @@ -105,7 +105,7 @@ { "name": "changedBefore", "in": "query", - "description": "Purchase orders that changed before this timestamp will be included in the result. Must be in ISO 8601 date/time format.", + "description": "Purchase orders that changed before this timestamp will be included in the result. Must be in ISO-8601 date/time format.", "required": false, "type": "string", "format": "date-time" @@ -113,7 +113,7 @@ { "name": "poItemState", "in": "query", - "description": "Current state of the purchase order item. If this value is `Cancelled`, this API will return purchase orders which have one or more items cancelled by Amazon with updated item quantity as zero.", + "description": "Current state of the purchase order item. If this value is Cancelled, this API will return purchase orders which have one or more items cancelled by Amazon with updated item quantity as zero.", "required": false, "type": "string", "enum": [ @@ -129,7 +129,7 @@ { "name": "isPOChanged", "in": "query", - "description": "When `true`, returns purchase orders which were modified after the order was placed. Vendors are required to pull the changed purchase order and fulfill the updated purchase order and not the original one. Default value is `false`.", + "description": "When true, returns purchase orders which were modified after the order was placed. Vendors are required to pull the changed purchase order and fulfill the updated purchase order and not the original one. Default value is false.", "required": false, "type": "string", "format": "boolean" @@ -255,11 +255,13 @@ "isBackOrderAllowed": true, "netCost": { "amount": "1800", - "currencyCode": "INR" + "currencyCode": "INR", + "unitOfMeasure": "POUNDS" }, "listPrice": { "amount": "2000", - "currencyCode": "INR" + "currencyCode": "INR", + "unitOfMeasure": "POUNDS" } } ] @@ -430,11 +432,13 @@ "isBackOrderAllowed": true, "netCost": { "amount": "94.97", - "currencyCode": "USD" + "currencyCode": "USD", + "unitOfMeasure": "POUNDS" }, "listPrice": { "amount": "94.97", - "currencyCode": "USD" + "currencyCode": "USD", + "unitOfMeasure": "POUNDS" } } ] @@ -985,7 +989,8 @@ "isBackOrderAllowed": true, "netCost": { "amount": "94.97", - "currencyCode": "INR" + "currencyCode": "INR", + "unitOfMeasure": "POUNDS" } } ] @@ -1050,11 +1055,15 @@ } }, "403": { - "description": "Indicates that access to the resource is forbidden. Possible reasons include `Access Denied`, `Unauthorized`, `Expired Token`, or `Invalid Signature`.", + "description": "Indicates that access to the resource is forbidden. Possible reasons include Access Denied, Unauthorized, Expired Token, or Invalid Signature.", "schema": { "$ref": "#/definitions/GetPurchaseOrdersResponse" }, "headers": { + "x-amzn-RateLimit-Limit": { + "type": "string", + "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." + }, "x-amzn-RequestId": { "type": "string", "description": "Unique request reference identifier." @@ -1083,6 +1092,10 @@ "$ref": "#/definitions/GetPurchaseOrdersResponse" }, "headers": { + "x-amzn-RateLimit-Limit": { + "type": "string", + "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." + }, "x-amzn-RequestId": { "type": "string", "description": "Unique request reference identifier." @@ -1095,6 +1108,10 @@ "$ref": "#/definitions/GetPurchaseOrdersResponse" }, "headers": { + "x-amzn-RateLimit-Limit": { + "type": "string", + "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." + }, "x-amzn-RequestId": { "type": "string", "description": "Unique request reference identifier." @@ -1107,6 +1124,10 @@ "$ref": "#/definitions/GetPurchaseOrdersResponse" }, "headers": { + "x-amzn-RateLimit-Limit": { + "type": "string", + "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." + }, "x-amzn-RequestId": { "type": "string", "description": "Unique request reference identifier." @@ -1119,6 +1140,10 @@ "$ref": "#/definitions/GetPurchaseOrdersResponse" }, "headers": { + "x-amzn-RateLimit-Limit": { + "type": "string", + "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." + }, "x-amzn-RequestId": { "type": "string", "description": "Unique request reference identifier." @@ -1133,7 +1158,7 @@ "tags": [ "vendorOrders" ], - "description": "Returns a purchase order based on the `purchaseOrderNumber` value that you specify.\n\n**Usage Plan:**\n\n| Rate (requests per second) | Burst |\n| ---- | ---- |\n| 10 | 10 |\n\nThe `x-amzn-RateLimit-Limit` response header returns the usage plan rate limits that were applied to the requested operation, when available. The table above indicates the default rate and burst values for this operation. Selling partners whose business demands require higher throughput may see higher rate and burst values than those shown here. For more information, refer to [Usage Plans and Rate Limits in the Selling Partner API](https://developer-docs.amazon.com/sp-api/docs/usage-plans-and-rate-limits-in-the-sp-api).", + "description": "Returns a purchase order based on the `purchaseOrderNumber` value that you specify.\n\n**Usage Plan:**\n\n| Rate (requests per second) | Burst |\n| ---- | ---- |\n| 10 | 10 |\n\nThe `x-amzn-RateLimit-Limit` response header returns the usage plan rate limits that were applied to the requested operation, when available. The preceding table indicates the default rate and burst values for this operation. Selling partners whose business demands require higher throughput may have higher rate and burst values than those shown here. For more information, refer to [Usage Plans and Rate Limits in the Selling Partner API](https://developer-docs.amazon.com/sp-api/docs/usage-plans-and-rate-limits-in-the-sp-api).", "operationId": "getPurchaseOrder", "parameters": [ { @@ -1419,11 +1444,15 @@ } }, "401": { - "description": "The request's authorization header is not formatted correctly or does not contain a valid token.", + "description": "The request's Authorization header is not formatted correctly or does not contain a valid token.", "schema": { "$ref": "#/definitions/GetPurchaseOrderResponse" }, "headers": { + "x-amzn-RateLimit-Limit": { + "type": "string", + "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." + }, "x-amzn-RequestId": { "type": "string", "description": "Unique request reference identifier." @@ -1431,11 +1460,15 @@ } }, "403": { - "description": "Indicates that access to the resource is forbidden. Possible reasons include `Access Denied`, `Unauthorized`, `Expired Token`, or `Invalid Signature`.", + "description": "Indicates that access to the resource is forbidden. Possible reasons include Access Denied, Unauthorized, Expired Token, or Invalid Signature.", "schema": { "$ref": "#/definitions/GetPurchaseOrderResponse" }, "headers": { + "x-amzn-RateLimit-Limit": { + "type": "string", + "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." + }, "x-amzn-RequestId": { "type": "string", "description": "Unique request reference identifier." @@ -1464,6 +1497,10 @@ "$ref": "#/definitions/GetPurchaseOrderResponse" }, "headers": { + "x-amzn-RateLimit-Limit": { + "type": "string", + "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." + }, "x-amzn-RequestId": { "type": "string", "description": "Unique request reference identifier." @@ -1476,6 +1513,10 @@ "$ref": "#/definitions/GetPurchaseOrderResponse" }, "headers": { + "x-amzn-RateLimit-Limit": { + "type": "string", + "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." + }, "x-amzn-RequestId": { "type": "string", "description": "Unique request reference identifier." @@ -1488,6 +1529,10 @@ "$ref": "#/definitions/GetPurchaseOrderResponse" }, "headers": { + "x-amzn-RateLimit-Limit": { + "type": "string", + "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." + }, "x-amzn-RequestId": { "type": "string", "description": "Unique request reference identifier." @@ -1500,6 +1545,10 @@ "$ref": "#/definitions/GetPurchaseOrderResponse" }, "headers": { + "x-amzn-RateLimit-Limit": { + "type": "string", + "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." + }, "x-amzn-RequestId": { "type": "string", "description": "Unique request reference identifier." @@ -1514,60 +1563,15 @@ "tags": [ "vendorOrders" ], - "description": "Submits acknowledgements for one or more purchase orders.\n\n**Usage Plan:**\n\n| Rate (requests per second) | Burst |\n| ---- | ---- |\n| 10 | 10 |\n\nThe `x-amzn-RateLimit-Limit` response header returns the usage plan rate limits that were applied to the requested operation, when available. The table above indicates the default rate and burst values for this operation. Selling partners whose business demands require higher throughput may see higher rate and burst values than those shown here. For more information, refer to [Usage Plans and Rate Limits in the Selling Partner API](https://developer-docs.amazon.com/sp-api/docs/usage-plans-and-rate-limits-in-the-sp-api).", + "description": "Submits acknowledgements for one or more purchase orders.\n\n**Usage Plan:**\n\n| Rate (requests per second) | Burst |\n| ---- | ---- |\n| 10 | 10 |\n\nThe `x-amzn-RateLimit-Limit` response header returns the usage plan rate limits that were applied to the requested operation, when available. The preceding table indicates the default rate and burst values for this operation. Selling partners whose business demands require higher throughput may have higher rate and burst values than those shown here. For more information, refer to [Usage Plans and Rate Limits in the Selling Partner API](https://developer-docs.amazon.com/sp-api/docs/usage-plans-and-rate-limits-in-the-sp-api).", "operationId": "submitAcknowledgement", "parameters": [ { "in": "body", "name": "body", - "description": "Submits acknowledgements for one or more purchase orders from a vendor.", "required": true, "schema": { - "$ref": "#/definitions/SubmitAcknowledgementRequest", - "example": { - "acknowledgements": [ - { - "purchaseOrderNumber": "L8266355", - "sellingParty": { - "partyId": "999US" - }, - "acknowledgementDate": "2019-07-17T19:17:34.304Z", - "items": [ - { - "itemSequenceNumber": "1", - "amazonProductIdentifier": "ABC123434", - "vendorProductIdentifier": "028877454078", - "orderedQuantity": { - "amount": 10, - "unitOfMeasure": "Cases" - }, - "netCost": { - "currencyCode": "USD", - "amount": "18.0" - }, - "listPrice": { - "currencyCode": "USD", - "amount": "22.2" - }, - "discountMultiplier": "0.44", - "itemAcknowledgements": [ - { - "acknowledgementCode": "Rejected", - "acknowledgedQuantity": { - "amount": 6, - "unitOfMeasure": "Cases", - "unitSize": 2 - }, - "scheduledShipDate": "2019-07-17T19:17:34.304Z", - "scheduledDeliveryDate": "2019-07-17T19:17:34.304Z", - "rejectionReason": "TemporarilyUnavailable" - } - ] - } - ] - } - ] - } + "$ref": "#/definitions/SubmitAcknowledgementRequest" } } ], @@ -1700,11 +1704,15 @@ } }, "403": { - "description": "Indicates that access to the resource is forbidden. Possible reasons include `Access Denied`, `Unauthorized,` `Expired Token`, or `Invalid Signature`.", + "description": "Indicates that access to the resource is forbidden. Possible reasons include Access Denied, Unauthorized, Expired Token, or Invalid Signature.", "schema": { "$ref": "#/definitions/SubmitAcknowledgementResponse" }, "headers": { + "x-amzn-RateLimit-Limit": { + "type": "string", + "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." + }, "x-amzn-RequestId": { "type": "string", "description": "Unique request reference identifier." @@ -1733,6 +1741,10 @@ "$ref": "#/definitions/SubmitAcknowledgementResponse" }, "headers": { + "x-amzn-RateLimit-Limit": { + "type": "string", + "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." + }, "x-amzn-RequestId": { "type": "string", "description": "Unique request reference identifier." @@ -1745,6 +1757,10 @@ "$ref": "#/definitions/SubmitAcknowledgementResponse" }, "headers": { + "x-amzn-RateLimit-Limit": { + "type": "string", + "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." + }, "x-amzn-RequestId": { "type": "string", "description": "Unique request reference identifier." @@ -1757,6 +1773,10 @@ "$ref": "#/definitions/SubmitAcknowledgementResponse" }, "headers": { + "x-amzn-RateLimit-Limit": { + "type": "string", + "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." + }, "x-amzn-RequestId": { "type": "string", "description": "Unique request reference identifier." @@ -1769,6 +1789,10 @@ "$ref": "#/definitions/SubmitAcknowledgementResponse" }, "headers": { + "x-amzn-RateLimit-Limit": { + "type": "string", + "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." + }, "x-amzn-RequestId": { "type": "string", "description": "Unique request reference identifier." @@ -1781,6 +1805,10 @@ "$ref": "#/definitions/SubmitAcknowledgementResponse" }, "headers": { + "x-amzn-RateLimit-Limit": { + "type": "string", + "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." + }, "x-amzn-RequestId": { "type": "string", "description": "Unique request reference identifier." @@ -1795,7 +1823,7 @@ "tags": [ "vendorOrders" ], - "description": "Returns purchase order statuses based on the filters that you specify. Date range to search must not be more than 7 days. You can return a list of purchase order statuses using the available filters, or a single purchase order status by providing the purchase order number.\n\n**Usage Plan:**\n\n| Rate (requests per second) | Burst |\n| ---- | ---- |\n| 10 | 10 |\n\nThe `x-amzn-RateLimit-Limit` response header returns the usage plan rate limits that were applied to the requested operation, when available. The table above indicates the default rate and burst values for this operation. Selling partners whose business demands require higher throughput may see higher rate and burst values than those shown here. For more information, refer to [Usage Plans and Rate Limits in the Selling Partner API](https://developer-docs.amazon.com/sp-api/docs/usage-plans-and-rate-limits-in-the-sp-api).", + "description": "Returns purchase order statuses based on the filters that you specify. Date range to search must not be more than 7 days. You can return a list of purchase order statuses using the available filters, or a single purchase order status by providing the purchase order number.\n\n**Usage Plan:**\n\n| Rate (requests per second) | Burst |\n| ---- | ---- |\n| 10 | 10 |\n\nThe `x-amzn-RateLimit-Limit` response header returns the usage plan rate limits that were applied to the requested operation, when available. The preceding table indicates the default rate and burst values for this operation. Selling partners whose business demands require higher throughput may have higher rate and burst values than those shown here. For more information, refer to [Usage Plans and Rate Limits in the Selling Partner API](https://developer-docs.amazon.com/sp-api/docs/usage-plans-and-rate-limits-in-the-sp-api).", "operationId": "getPurchaseOrdersStatus", "parameters": [ { @@ -1839,7 +1867,7 @@ { "name": "createdAfter", "in": "query", - "description": "Purchase orders that became available after this timestamp will be included in the result. Must be in ISO 8601 date/time format.", + "description": "Purchase orders that became available after this timestamp will be included in the result. Must be in ISO-8601 date/time format.", "required": false, "type": "string", "format": "date-time" @@ -1847,7 +1875,7 @@ { "name": "createdBefore", "in": "query", - "description": "Purchase orders that became available before this timestamp will be included in the result. Must be in ISO 8601 date/time format.", + "description": "Purchase orders that became available before this timestamp will be included in the result. Must be in ISO-8601 date/time format.", "required": false, "type": "string", "format": "date-time" @@ -1855,7 +1883,7 @@ { "name": "updatedAfter", "in": "query", - "description": "Purchase orders for which the last purchase order update happened after this timestamp will be included in the result. Must be in ISO 8601 date/time format.", + "description": "Purchase orders for which the last purchase order update happened after this timestamp will be included in the result. Must be in ISO-8601 date/time format.", "required": false, "type": "string", "format": "date-time" @@ -1863,7 +1891,7 @@ { "name": "updatedBefore", "in": "query", - "description": "Purchase orders for which the last purchase order update happened before this timestamp will be included in the result. Must be in ISO 8601 date/time format.", + "description": "Purchase orders for which the last purchase order update happened before this timestamp will be included in the result. Must be in ISO-8601 date/time format.", "required": false, "type": "string", "format": "date-time" @@ -2660,11 +2688,15 @@ } }, "403": { - "description": "Indicates that access to the resource is forbidden. Possible reasons include `Access Denied`, `Unauthorized`, `Expired Token`, or `Invalid Signature`.", + "description": "Indicates that access to the resource is forbidden. Possible reasons include Access Denied, Unauthorized, Expired Token, or Invalid Signature.", "schema": { "$ref": "#/definitions/GetPurchaseOrdersStatusResponse" }, "headers": { + "x-amzn-RateLimit-Limit": { + "type": "string", + "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." + }, "x-amzn-RequestId": { "type": "string", "description": "Unique request reference identifier." @@ -2693,6 +2725,10 @@ "$ref": "#/definitions/GetPurchaseOrdersStatusResponse" }, "headers": { + "x-amzn-RateLimit-Limit": { + "type": "string", + "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." + }, "x-amzn-RequestId": { "type": "string", "description": "Unique request reference identifier." @@ -2705,6 +2741,10 @@ "$ref": "#/definitions/GetPurchaseOrdersStatusResponse" }, "headers": { + "x-amzn-RateLimit-Limit": { + "type": "string", + "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." + }, "x-amzn-RequestId": { "type": "string", "description": "Unique request reference identifier." @@ -2717,6 +2757,10 @@ "$ref": "#/definitions/GetPurchaseOrdersStatusResponse" }, "headers": { + "x-amzn-RateLimit-Limit": { + "type": "string", + "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." + }, "x-amzn-RequestId": { "type": "string", "description": "Unique request reference identifier." @@ -2729,6 +2773,10 @@ "$ref": "#/definitions/GetPurchaseOrdersStatusResponse" }, "headers": { + "x-amzn-RateLimit-Limit": { + "type": "string", + "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." + }, "x-amzn-RequestId": { "type": "string", "description": "Unique request reference identifier." @@ -2751,7 +2799,7 @@ "$ref": "#/definitions/ErrorList" } }, - "description": "The response schema for the `getPurchaseOrders` operation." + "description": "The response schema for the getPurchaseOrders operation." }, "GetPurchaseOrderResponse": { "type": "object", @@ -2764,7 +2812,7 @@ "$ref": "#/definitions/ErrorList" } }, - "description": "The response schema for the `getPurchaseOrder` operation." + "description": "The response schema for the getPurchaseOrder operation." }, "OrderList": { "type": "object", @@ -2776,21 +2824,18 @@ "type": "array", "items": { "$ref": "#/definitions/Order" - }, - "description": "Represents an individual order within the `OrderList`." + } } - }, - "description": "A list of orders returned as response." + } }, "Pagination": { "type": "object", "properties": { "nextToken": { "type": "string", - "description": "A generated string used to pass information to your next request. If `NextToken` is returned, pass the value of `NextToken` to the next request. If `NextToken` is not returned, there are no more purchase order items to return." + "description": "A generated string used to pass information to your next request. If NextToken is returned, pass the value of NextToken to the next request. If NextToken is not returned, there are no more purchase order items to return." } - }, - "description": "The pagination elements required to retrieve the remaining data." + } }, "Order": { "type": "object", @@ -2814,11 +2859,11 @@ "x-docgen-enum-table-extension": [ { "value": "New", - "description": "The purchase order is newly created and needs to be acknowledged by the vendor." + "description": "The purchase order is newly created and needs to be acknowledged by vendor." }, { "value": "Acknowledged", - "description": "The purchase order has been acknowledged by the vendor." + "description": "The purchase order has been acknowledged by vendor." }, { "value": "Closed", @@ -2830,8 +2875,7 @@ "description": "Details of an order.", "$ref": "#/definitions/OrderDetails" } - }, - "description": "Represents an order placed by Amazon, including the purchase order number, current state, and order details." + } }, "OrderDetails": { "type": "object", @@ -2844,17 +2888,17 @@ "purchaseOrderDate": { "type": "string", "format": "date-time", - "description": "The date the purchase order was placed. Must be in ISO 8601 date/time format." + "description": "The date the purchase order was placed. Must be in ISO-8601 date/time format." }, "purchaseOrderChangedDate": { "type": "string", "format": "date-time", - "description": "The date when purchase order was last changed by Amazon after the order was placed. This date will be greater than 'purchaseOrderDate'. This means the PO data was changed on that date and vendors are required to fulfill the updated PO. The PO changes can be related to Item Quantity, Ship to Location, Ship Window etc. This field will not be present in orders that have not changed after creation. Must be in ISO 8601 date/time format." + "description": "The date when purchase order was last changed by Amazon after the order was placed. This date will be greater than 'purchaseOrderDate'. This means the PO data was changed on that date and vendors are required to fulfill the updated PO. The PO changes can be related to Item Quantity, Ship to Location, Ship Window etc. This field will not be present in orders that have not changed after creation. Must be in ISO-8601 date/time format." }, "purchaseOrderStateChangedDate": { "type": "string", "format": "date-time", - "description": "The date when current purchase order state was changed. Current purchase order state is available in the field 'purchaseOrderState'. Must be in ISO 8601 date/time format." + "description": "The date when current purchase order state was changed. Current purchase order state is available in the field 'purchaseOrderState'. Must be in ISO-8601 date/time format." }, "purchaseOrderType": { "type": "string", @@ -3060,12 +3104,12 @@ }, "portOfDelivery": { "type": "string", - "description": "The port where goods on an import purchase order must be delivered by the vendor. This should only be specified when the `internationalCommercialTerms` is `FOB`.", + "description": "The port where goods on an import purchase order must be delivered by the vendor. This should only be specified when the internationalCommercialTerms is FOB.", "maxLength": 64 }, "importContainers": { "type": "string", - "description": "Types and numbers of container(s) for import purchase orders. Can be a comma-separated list if the shipment has multiple containers. HC signifies a high-capacity container. Free-text field, limited to 64 characters. The format will be a comma-delimited list containing values of the type: `$NUMBER_OF_CONTAINERS_OF_THIS_TYPE-$CONTAINER_TYPE`. The list of values for the container type is: `40'`(40-foot container), `40'HC` (40-foot high-capacity container), `45'`, `45'HC`, `30'`, `30'HC`, `20'`, `20'HC`.", + "description": "Types and numbers of container(s) for import purchase orders. Can be a comma-separated list if the shipment has multiple containers. HC signifies a high-capacity container. Free-text field, limited to 64 characters. The format will be a comma-delimited list containing values of the type: $NUMBER_OF_CONTAINERS_OF_THIS_TYPE-$CONTAINER_TYPE. The list of values for the container type is: 40'(40-foot container), 40'HC (40-foot high-capacity container), 45', 45'HC, 30', 30'HC, 20', 20'HC.", "maxLength": 64 }, "shippingInstructions": { @@ -3077,11 +3121,10 @@ }, "DateTimeInterval": { "type": "string", - "description": "Defines a date time interval according to ISO 8601. Interval is separated by double hyphen (--)." + "description": "Defines a date time interval according to ISO8601. Interval is separated by double hyphen (--)." }, "PartyIdentification": { "type": "object", - "description": "Name, address and tax details of a party.", "required": [ "partyId" ], @@ -3127,7 +3170,7 @@ }, "taxRegistrationNumber": { "type": "string", - "description": "Tax registration number for the entity. For example, `VAT ID`." + "description": "Tax registration number for the entity. For example, VAT ID." } }, "description": "Tax registration details of the entity." @@ -3174,7 +3217,7 @@ }, "postalCode": { "type": "string", - "description": "The postal code of that address. It contains a series of letters or digits or both, sometimes including spaces or punctuation." + "description": "The postal code of that address. It conatins a series of letters or digits or both, sometimes including spaces or punctuation." }, "countryCode": { "type": "string", @@ -3217,15 +3260,14 @@ "description": "When true, we will accept backorder confirmations for this item." }, "netCost": { - "description": "The price to Amazon each (cost).", + "description": "The net cost of an item per each or weight unit.", "$ref": "#/definitions/Money" }, "listPrice": { - "description": "The price to Amazon each (list).", + "description": "The list price of an item per each or weight unit.", "$ref": "#/definitions/Money" } - }, - "description": "Represents an individual item in an order, including item details, quantities, pricing, and backorder information." + } }, "Money": { "type": "object", @@ -3237,9 +3279,37 @@ }, "amount": { "$ref": "#/definitions/Decimal" + }, + "unitOfMeasure": { + "type": "string", + "description": "The unit of measure for prices of items sold by weight. If this field is absent, the item is sold by eaches.", + "enum": [ + "POUNDS", + "OUNCES", + "GRAMS", + "KILOGRAMS" + ], + "x-docgen-enum-table-extension": [ + { + "value": "POUNDS", + "description": "Priced per Pound." + }, + { + "value": "OUNCES", + "description": "Priced per Ounce." + }, + { + "value": "GRAMS", + "description": "Priced per Gram." + }, + { + "value": "KILOGRAMS", + "description": "Priced per Kilogram." + } + ] } }, - "description": "An amount of money, including units in the form of currency." + "description": "An amount of money. Includes the currency code and an optional unit of measure for items priced by weight." }, "Decimal": { "type": "string", @@ -3249,14 +3319,14 @@ "type": "object", "properties": { "payload": { - "description": "The payload for the `submitAcknowledgement` operation.", + "description": "The payload for the submitAcknowledgement operation.", "$ref": "#/definitions/TransactionId" }, "errors": { "$ref": "#/definitions/ErrorList" } }, - "description": "The response schema for the `submitAcknowledgement` operation" + "description": "The response schema for the submitAcknowledgement operation" }, "TransactionId": { "type": "object", @@ -3265,8 +3335,7 @@ "type": "string", "description": "GUID assigned by Amazon to identify this transaction. This value can be used with the Transaction Status API to return the status of this transaction." } - }, - "description": "Response containing the transaction ID." + } }, "ErrorList": { "type": "array", @@ -3282,11 +3351,10 @@ "type": "array", "items": { "$ref": "#/definitions/OrderAcknowledgement" - }, - "description": "An array of order acknowledgements to be submitted." + } } }, - "description": "The request schema for the `submitAcknowledgment` operation." + "description": "The request schema for the submitAcknowledgment operation." }, "OrderAcknowledgement": { "type": "object", @@ -3308,7 +3376,7 @@ "acknowledgementDate": { "type": "string", "format": "date-time", - "description": "The date and time when the purchase order is acknowledged, in ISO 8601 date/time format." + "description": "The date and time when the purchase order is acknowledged, in ISO-8601 date/time format." }, "items": { "type": "array", @@ -3317,8 +3385,7 @@ "$ref": "#/definitions/OrderAcknowledgementItem" } } - }, - "description": "Represents an acknowledgement for an order, including the purchase order number, selling party details, acknowledgement date, and a list of acknowledged items." + } }, "OrderAcknowledgementItem": { "type": "object", @@ -3344,11 +3411,11 @@ "$ref": "#/definitions/ItemQuantity" }, "netCost": { - "description": "The cost to Amazon, which should match the cost on the invoice. This is a required field. If this is left blank the file will reject in Amazon systems. Price information should not be zero or negative. Indicates a net unit price.", + "description": "The net cost of an item per each or weight unit that must match the cost on the invoice. This is a required field. If left blank, Amazon systems will reject the file. Price information must not be zero or negative.", "$ref": "#/definitions/Money" }, "listPrice": { - "description": "The list price. This is required only if a vendor sells books with a list price.", + "description": "The list price of an item per each or weight unit. Required only if a vendor sells books at list price.", "$ref": "#/definitions/Money" }, "discountMultiplier": { @@ -3387,7 +3454,7 @@ }, { "value": "Backordered", - "description": "Vendor placed a backorder to fulfill the original order and provides a `scheduledShipDate` or `scheduledDeliveryDate` which is different than the `expectedShipDate` or `expectedDeliveryDate` provided in the purchase order." + "description": "Vendor placed a backorder to fulfill the original order and provides a scheduledShipDate or scheduledDeliveryDate which is different than the expectedShipDate or expectedDeliveryDate provided in the purchase order." }, { "value": "Rejected", @@ -3402,12 +3469,12 @@ "scheduledShipDate": { "type": "string", "format": "date-time", - "description": "Estimated ship date per line item. Must be in ISO 8601 date/time format." + "description": "Estimated ship date per line item. Must be in ISO-8601 date/time format." }, "scheduledDeliveryDate": { "type": "string", "format": "date-time", - "description": "Estimated delivery date per line item. Must be in ISO 8601 date/time format." + "description": "Estimated delivery date per line item. Must be in ISO-8601 date/time format." }, "rejectionReason": { "type": "string", @@ -3432,8 +3499,7 @@ } ] } - }, - "description": "Represents the acknowledgement details for an individual order item, including the acknowledgement code, acknowledged quantity, scheduled ship and delivery dates, and rejection reason (if applicable)." + } }, "ItemQuantity": { "type": "object", @@ -3478,7 +3544,7 @@ "$ref": "#/definitions/ErrorList" } }, - "description": "The response schema for the `getPurchaseOrdersStatus` operation." + "description": "The response schema for the getPurchaseOrdersStatus operation." }, "OrderListStatus": { "type": "object", @@ -3490,11 +3556,9 @@ "type": "array", "items": { "$ref": "#/definitions/OrderStatus" - }, - "description": "Represents an order status within the `OrderListStatus`." + } } - }, - "description": "A list of order statuses." + } }, "OrderStatus": { "type": "object", @@ -3532,12 +3596,12 @@ "purchaseOrderDate": { "type": "string", "format": "date-time", - "description": "The date the purchase order was placed. Must be in ISO 8601 date/time format." + "description": "The date the purchase order was placed. Must be in ISO-8601 date/time format." }, "lastUpdatedDate": { "type": "string", "format": "date-time", - "description": "The date when the purchase order was last updated. Must be in ISO 8601 date/time format." + "description": "The date when the purchase order was last updated. Must be in ISO-8601 date/time format." }, "sellingParty": { "description": "Name/Address and tax details of the selling party.", @@ -3580,11 +3644,11 @@ "description": "The vendor selected product identification of the item." }, "netCost": { - "description": "The net cost to Amazon each (cost).", + "description": "The net cost of an item per each or weight unit.", "$ref": "#/definitions/Money" }, "listPrice": { - "description": "The list Price to Amazon each (list).", + "description": "The list price of an item per each or weight unit.", "$ref": "#/definitions/Money" }, "orderedQuantity": { @@ -3687,12 +3751,11 @@ "lastReceiveDate": { "type": "string", "format": "date-time", - "description": "The date when the most recent item was received at the buyer's warehouse. Must be in ISO 8601 date/time format." + "description": "The date when the most recent item was received at the buyer's warehouse. Must be in ISO-8601 date/time format." } } } - }, - "description": "Represents the current status of an order item, including acknowledgement and receiving details." + } }, "OrderedQuantityDetails": { "type": "object", @@ -3700,7 +3763,7 @@ "updatedDate": { "type": "string", "format": "date-time", - "description": "The date when the line item quantity was updated by the buyer. Must be in ISO 8601 date/time format." + "description": "The date when the line item quantity was updated by buyer. Must be in ISO-8601 date/time format." }, "orderedQuantity": { "description": "Item quantity ordered.", @@ -3711,7 +3774,7 @@ "$ref": "#/definitions/ItemQuantity" } }, - "description": "Details of the item quantity ordered." + "description": "Details of item quantity ordered" }, "AcknowledgementStatusDetails": { "type": "object", @@ -3719,18 +3782,18 @@ "acknowledgementDate": { "type": "string", "format": "date-time", - "description": "The date when the line item was confirmed by the vendor. Must be in ISO 8601 date/time format." + "description": "The date when the line item was confirmed by vendor. Must be in ISO-8601 date/time format." }, "acceptedQuantity": { - "description": "Item quantity accepted by the vendor to be shipped.", + "description": "Item quantity accepted by vendor to be shipped.", "$ref": "#/definitions/ItemQuantity" }, "rejectedQuantity": { - "description": "Item quantity rejected by the vendor.", + "description": "Item quantity rejected by vendor.", "$ref": "#/definitions/ItemQuantity" } }, - "description": "Details of the item quantity ordered" + "description": "Details of item quantity ordered" }, "Error": { "type": "object", From f4a68411dbb599a7fd616c6da00c9a62bcf45cbf Mon Sep 17 00:00:00 2001 From: Jack Evoniuk Date: Wed, 14 Aug 2024 14:20:03 -0700 Subject: [PATCH 091/340] Update Sellers API model --- models/sellers-api-model/sellers.json | 525 ++++++++++++++++++++++++-- 1 file changed, 497 insertions(+), 28 deletions(-) diff --git a/models/sellers-api-model/sellers.json b/models/sellers-api-model/sellers.json index e4698d982..09bf2aef1 100644 --- a/models/sellers-api-model/sellers.json +++ b/models/sellers-api-model/sellers.json @@ -1,7 +1,7 @@ { "swagger": "2.0", "info": { - "description": "The Selling Partner API for Sellers lets you retrieve information on behalf of sellers about their seller account, such as the marketplaces they participate in. Along with listing the marketplaces that a seller can sell in, the API also provides additional information about the marketplace such as the default language and the default currency. The API also provides seller-specific information such as whether the seller has suspended listings in that marketplace.", + "description": "The [Selling Partner API for Sellers](https://developer-docs.amazon.com/sp-api/docs/sellers-api-v1-reference) (Sellers API) provides essential information about seller accounts, such as:\n\n- The marketplaces a seller can list in\n- The default language and currency of a marketplace\n- Whether the seller has suspended listings\n\nRefer to the [Sellers API reference](https://developer-docs.amazon.com/sp-api/docs/sellers-api-v1-reference) for details about this API's operations, data types, and schemas.", "version": "v1", "title": "Selling Partner API for Sellers", "contact": { @@ -29,7 +29,7 @@ "tags": [ "sellers" ], - "description": "Returns a list of marketplaces that the seller submitting the request can sell in and information about the seller's participation in those marketplaces.\n\n**Usage Plan:**\n\n| Rate (requests per second) | Burst |\n| ---- | ---- |\n| 0.016 | 15 |\n\nThe `x-amzn-RateLimit-Limit` response header returns the usage plan rate limits that were applied to the requested operation, when available. The table above indicates the default rate and burst values for this operation. Selling partners whose business demands require higher throughput may see higher rate and burst values than those shown here. For more information, see [Usage Plans and Rate Limits in the Selling Partner API](https://developer-docs.amazon.com/sp-api/docs/usage-plans-and-rate-limits-in-the-sp-api).", + "description": "Returns a list of marketplaces where the seller can list items and information about the seller's participation in those marketplaces.\n\n**Usage Plan:**\n\n| Rate (requests per second) | Burst |\n| ---- | ---- |\n| 0.016 | 15 |\n\nThe `x-amzn-RateLimit-Limit` response header returns the usage plan rate limits that were applied to the requested operation, when available. The preceding table indicates the default rate and burst values for this operation. Selling partners whose business demands require higher throughput may have higher rate and burst values than those shown here. For more information, refer to [Usage Plans and Rate Limits in the Selling Partner API](https://developer-docs.amazon.com/sp-api/docs/usage-plans-and-rate-limits-in-the-sp-api).", "operationId": "getMarketplaceParticipations", "parameters": [], "responses": { @@ -63,7 +63,7 @@ }, "x-amzn-RequestId": { "type": "string", - "description": "unique request reference id." + "description": "Unique request reference identifier." } }, "x-amzn-api-sandbox": { @@ -78,9 +78,9 @@ "marketplace": { "id": "ATVPDKIKX0DER", "countryCode": "US", - "name": "Amazon.com", - "defaultCurrencyCode": "USD", - "defaultLanguageCode": "en_US", + "name": "Amazon.com", + "defaultCurrencyCode": "USD", + "defaultLanguageCode": "en_US", "domainName": "www.amazon.com" }, "participation": { @@ -106,7 +106,7 @@ }, "x-amzn-RequestId": { "type": "string", - "description": "Unique request reference id." + "description": "Unique request reference identifier." } } }, @@ -118,7 +118,7 @@ "headers": { "x-amzn-RequestId": { "type": "string", - "description": "Unique request reference id." + "description": "Unique request reference identifier." } } }, @@ -134,7 +134,7 @@ }, "x-amzn-RequestId": { "type": "string", - "description": "Unique request reference id." + "description": "Unique request reference identifier." } } }, @@ -150,7 +150,7 @@ }, "x-amzn-RequestId": { "type": "string", - "description": "Unique request reference id." + "description": "Unique request reference identifier." } } }, @@ -166,7 +166,7 @@ }, "x-amzn-RequestId": { "type": "string", - "description": "Unique request reference id." + "description": "Unique request reference identifier." } } }, @@ -182,7 +182,7 @@ }, "x-amzn-RequestId": { "type": "string", - "description": "Unique request reference id." + "description": "Unique request reference identifier." } } }, @@ -198,7 +198,7 @@ }, "x-amzn-RequestId": { "type": "string", - "description": "Unique request reference id." + "description": "Unique request reference identifier." } } }, @@ -214,7 +214,256 @@ }, "x-amzn-RequestId": { "type": "string", - "description": "Unique request reference id." + "description": "Unique request reference identifier." + } + } + } + } + } + }, + "/sellers/v1/account": { + "get": { + "tags": [ + "sellers" + ], + "description": "Returns information about a seller account and its marketplaces.\n\n**Usage Plan:**\n\n| Rate (requests per second) | Burst |\n| ---- | ---- |\n| 0.016 | 15 |\n\nThe `x-amzn-RateLimit-Limit` response header returns the usage plan rate limits that were applied to the requested operation, when available. The preceding table indicates the default rate and burst values for this operation. Selling partners whose business demands require higher throughput may have higher rate and burst values than those shown here. For more information, refer to [Usage Plans and Rate Limits in the Selling Partner API](https://developer-docs.amazon.com/sp-api/docs/usage-plans-and-rate-limits-in-the-sp-api).", + "operationId": "getAccount", + "parameters": [], + "responses": { + "200": { + "description": "Success.", + "schema": { + "$ref": "#/definitions/GetAccountResponse" + }, + "examples": { + "application/json": { + "payload": { + "businessType": "PRIVATE_LIMITED", + "marketplaceLevelAttributes": [ + { + "marketplace": { + "id": "ATVPDKIKX0DER", + "name": "United States", + "countryCode": "US", + "domainName": "www.amazon.com" + }, + "storeName": "BestSellerStore", + "listingStatus": "ACTIVE", + "sellingPlan": "PROFESSIONAL" + } + ], + "business": { + "name": "BestSeller Inc.", + "nonLatinName": "ベストセラー株式会社", + "registeredBusinessAddress": { + "addressLine1": "123 Main St", + "addressLine2": "Suite 500", + "city": "Seattle", + "stateOrProvinceCode": "WA", + "postalCode": "98101", + "countryCode": "US" + }, + "companyRegistrationNumber": "123456789" + }, + "primaryContact": { + "name": "John Doe", + "nonLatinName": "ジョン・ドゥ", + "address": { + "addressLine1": "456 Oak St", + "addressLine2": "Apt 12", + "city": "Seattle", + "stateOrProvinceCode": "WA", + "postalCode": "98102", + "countryCode": "US" + } + } + } + } + }, + "headers": { + "x-amzn-RateLimit-Limit": { + "type": "string", + "description": "Your rate limit (requests per second) for this operation." + }, + "x-amzn-RequestId": { + "type": "string", + "description": "Unique request reference identifier." + } + }, + "x-amzn-api-sandbox": { + "static": [ + { + "response": { + "payload": { + "marketplaceLevelAttributes": [ + { + "marketplace": { + "id": "ATVPDKIKX0DER", + "name": "United States", + "countryCode": "US", + "domainName": "www.amazon.com" + }, + "storeName": "BestSellerStore", + "listingStatus": "ACTIVE", + "sellingPlan": "PROFESSIONAL" + } + ], + "businessType": "SOLE_PROPRIETORSHIP", + "business": { + "name": "BestSeller Inc.", + "registeredBusinessAddress": { + "addressLine1": "123 Main St", + "addressLine2": "Suite 500", + "city": "Seattle", + "stateOrProvinceCode": "WA", + "postalCode": "98101", + "countryCode": "US" + }, + "companyTaxIdentificationNumber": "TAX123456" + }, + "primaryContact": { + "name": "John Doe", + "nonLatinName": "ジョン・ドゥ", + "address": { + "addressLine1": "456 Oak St", + "addressLine2": "Apt 12", + "city": "Seattle", + "stateOrProvinceCode": "WA", + "postalCode": "98102", + "countryCode": "US" + } + } + } + } + } + ] + } + }, + "400": { + "description": "Request has missing or invalid parameters and cannot be parsed.", + "schema": { + "$ref": "#/definitions/GetAccountResponse" + }, + "examples": { + "application/json": { + "errors": [ + { + "code": "400", + "message": "Validation failed for obfuscatedId:ACUULBDVZHYZ1" + } + ] + } + }, + "headers": { + "x-amzn-RateLimit-Limit": { + "type": "string", + "description": "Your rate limit (requests per second) for this operation." + }, + "x-amzn-RequestId": { + "type": "string", + "description": "Unique request reference identifier." + } + }, + "x-amzn-api-sandbox": { + "static": [ + { + "response": { + "errors": [ + { + "code": "400", + "message": "Validation failed for obfuscatedId:ACUULBDVZHYZ1" + } + ] + } + } + ] + } + }, + "403": { + "description": "Indicates that access to the resource is forbidden. Possible reasons include Access Denied, Unauthorized, Expired Token, or Invalid Signature.", + "schema": { + "$ref": "#/definitions/GetAccountResponse" + }, + "headers": { + "x-amzn-RequestId": { + "type": "string", + "description": "Unique request reference identifier." + } + } + }, + "404": { + "description": "The resource specified does not exist.", + "schema": { + "$ref": "#/definitions/GetAccountResponse" + }, + "headers": { + "x-amzn-RateLimit-Limit": { + "type": "string", + "description": "Your rate limit (requests per second) for this operation." + }, + "x-amzn-RequestId": { + "type": "string", + "description": "Unique request reference identifier." + } + } + }, + "413": { + "description": "The request size exceeded the maximum accepted size.", + "headers": { + "x-amzn-RequestId": { + "type": "string", + "description": "Unique request reference identifier." + } + }, + "schema": { + "$ref": "#/definitions/GetAccountResponse" + } + }, + "415": { + "description": "The request payload is in an unsupported format.", + "schema": { + "$ref": "#/definitions/GetAccountResponse" + }, + "headers": { + "x-amzn-RequestId": { + "type": "string", + "description": "Unique request reference identifier." + } + } + }, + "429": { + "description": "The frequency of requests was greater than allowed.", + "schema": { + "$ref": "#/definitions/GetAccountResponse" + }, + "headers": { + "x-amzn-RequestId": { + "type": "string", + "description": "Unique request reference identifier." + } + } + }, + "500": { + "description": "An unexpected condition occurred that prevented the server from fulfilling the request.", + "schema": { + "$ref": "#/definitions/GetAccountResponse" + }, + "headers": { + "x-amzn-RequestId": { + "type": "string", + "description": "Unique request reference identifier." + } + } + }, + "503": { + "description": "Temporary overloading or maintenance of the server.", + "schema": { + "$ref": "#/definitions/GetAccountResponse" + }, + "headers": { + "x-amzn-RequestId": { + "type": "string", + "description": "Unique request reference identifier." } } } @@ -232,7 +481,7 @@ "properties": { "code": { "type": "string", - "description": "An error code that identifies the type of error that occured." + "description": "An error code that identifies the type of error that occurred." }, "message": { "type": "string", @@ -240,7 +489,7 @@ }, "details": { "type": "string", - "description": "Additional details that can help the caller understand or fix the issue." + "description": "Additional details that can help you understand or fix the issue." } }, "description": "Error response returned when the request is unsuccessful." @@ -278,25 +527,25 @@ "type": "object", "properties": { "payload": { - "description": "The payload for the getMarketplaceParticipations operation.", + "description": "The payload for the `getMarketplaceParticipations` operation.", "$ref": "#/definitions/MarketplaceParticipationList" }, "errors": { - "description": "Encountered errors for the getMarketplaceParticipations operation.", + "description": "The errors encountered by the `getMarketplaceParticipations` operation.", "$ref": "#/definitions/ErrorList" } }, - "description": "The response schema for the getMarketplaceParticipations operation." + "description": "The response schema for the `getMarketplaceParticipations` operation." }, "Marketplace": { "type": "object", "required": [ + "id", + "name", "countryCode", "defaultCurrencyCode", "defaultLanguageCode", - "domainName", - "id", - "name" + "domainName" ], "properties": { "id": { @@ -305,7 +554,7 @@ }, "name": { "type": "string", - "description": "Marketplace name." + "description": "The marketplace name." }, "countryCode": { "type": "string", @@ -325,7 +574,7 @@ "description": "The domain name of the marketplace." } }, - "description": "Detailed information about an Amazon market where a seller can list items for sale and customers can view and purchase items." + "description": "Information about an Amazon marketplace where a seller can list items and customers can view and purchase items." }, "Participation": { "type": "object", @@ -335,14 +584,234 @@ ], "properties": { "isParticipating": { - "type": "boolean" + "type": "boolean", + "description": "If `true`, the seller participates in the marketplace. Otherwise `false`." }, "hasSuspendedListings": { "type": "boolean", - "description": "Specifies if the seller has suspended listings. True if the seller Listing Status is set to Inactive, otherwise False." + "description": "Specifies if the seller has suspended listings. `true` if the seller Listing Status is set to Inactive, otherwise `false`." + } + }, + "description": "Information that is specific to a seller in a marketplace." + }, + "GetAccountResponse": { + "description": "The response schema for the `getAccount` operation.", + "type": "object", + "properties": { + "payload": { + "$ref": "#/definitions/Account" + }, + "errors": { + "description": "The errors encountered by the `getAccount` operation.", + "$ref": "#/definitions/ErrorList" + } + } + }, + "MarketplaceLevelAttributes": { + "type": "object", + "required": [ + "marketplace", + "storeName", + "listingStatus", + "sellingPlan" + ], + "properties": { + "marketplace": { + "$ref": "#/definitions/Marketplace" + }, + "storeName": { + "type": "string", + "description": "The name of the seller's store as displayed in the marketplace." + }, + "listingStatus": { + "type": "string", + "description": "The current status of the seller's listings.", + "enum": ["ACTIVE", "INACTIVE"], + "x-docgen-enum-table-extension": [ + { + "value": "ACTIVE", + "description": "The seller's listings are currently active." + }, + { + "value": "INACTIVE", + "description": "The seller's listings are currently inactive." + } + ] + }, + "sellingPlan": { + "type": "string", + "description": "The selling plan details.", + "enum": ["PROFESSIONAL", "INDIVIDUAL"], + "x-docgen-enum-table-extension": [ + { + "value": "PROFESSIONAL", + "description": "The seller has a professional selling plan." + }, + { + "value": "INDIVIDUAL", + "description": "The seller has an individual selling plan." + } + ] } }, - "description": "Detailed information that is specific to a seller in a Marketplace." + "description": "Attributes that define the seller's presence and status within a specific marketplace. These attributes include the marketplace details, store name, listing status, and the selling plan the seller is subscribed to." + }, + "Account": { + "description": "The response schema for the `getAccount` operation.", + "type": "object", + "required": [ + "businessType", + "marketplaceLevelAttributes" + ], + "properties": { + "marketplaceLevelAttributes": { + "type": "array", + "description": "A list of details of the marketplaces where the seller account is active.", + "items": { + "$ref": "#/definitions/MarketplaceLevelAttributes" + } + }, + "businessType": { + "type": "string", + "description": "The type of business registered for the seller account.", + "enum": [ + "CHARITY", + "CRAFTSMAN", + "NATURAL_PERSON_COMPANY", + "PUBLIC_LISTED", + "PRIVATE_LIMITED", + "SOLE_PROPRIETORSHIP", + "STATE_OWNED", + "INDIVIDUAL" + ], + "x-docgen-enum-table-extension": [ + { + "value": "CHARITY", + "description": "The business is registered as a charity." + }, + { + "value": "CRAFTSMAN", + "description": "The business is registered as a craftsman." + }, + { + "value": "NATURAL_PERSON_COMPANY", + "description": "The business is a natural person company." + }, + { + "value": "PUBLIC_LISTED", + "description": "The business is a publicly listed company." + }, + { + "value": "PRIVATE_LIMITED", + "description": "The business is a private limited company." + }, + { + "value": "SOLE_PROPRIETORSHIP", + "description": "The business is a sole proprietorship." + }, + { + "value": "STATE_OWNED", + "description": "The business is state-owned." + }, + { + "value": "INDIVIDUAL", + "description": "The entity is not a business but an individual." + } + ] + }, + "business": { + "$ref": "#/definitions/Business" + }, + "primaryContact": { + "$ref": "#/definitions/PrimaryContact" + } + } + }, + "Business": { + "type": "object", + "description": "Information about the seller's business. Certain fields may be omitted depending on the seller's `businessType`.", + "required": [ + "name", + "registeredBusinessAddress" + ], + "properties": { + "name": { + "type": "string", + "description": "The registered business name." + }, + "registeredBusinessAddress": { + "$ref": "#/definitions/Address", + "description": "The registered business address." + }, + "companyRegistrationNumber": { + "type": "string", + "description": "The seller's company registration number, if applicable. This field will be absent for individual sellers and sole proprietorships." + }, + "companyTaxIdentificationNumber": { + "type": "string", + "description": "The seller's company tax identification number, if applicable. This field will be present for certain business types only, such as sole proprietorships." + }, + "nonLatinName": { + "type": "string", + "description": "The non-Latin script version of the registered business name, if applicable." + } + } + }, + "Address": { + "type": "object", + "description": "Represents an address", + "required": [ + "addressLine1", + "countryCode" + ], + "properties": { + "addressLine1": { + "type": "string", + "description": "Street address information." + }, + "addressLine2": { + "type": "string", + "description": "Additional street address information." + }, + "countryCode": { + "type": "string", + "description": "The country code in two-character ISO 3166-1 alpha-2 format." + }, + "stateOrProvinceCode": { + "type": "string", + "description": "The state or province code." + }, + "city": { + "type": "string", + "description": "The city." + }, + "postalCode": { + "type": "string", + "description": "The postal code." + } + } + }, + "PrimaryContact": { + "type": "object", + "description": "Information about the seller's primary contact.", + "required": [ + "name", + "address" + ], + "properties": { + "name": { + "type": "string", + "description": "The full name of the seller's primary contact." + }, + "address": { + "$ref": "#/definitions/Address", + "description": "The primary contact's residential address." + }, + "nonLatinName": { + "type": "string", + "description": "The non-Latin script version of the primary contact's name, if applicable." + } + } } } -} \ No newline at end of file +} From 7077af261b41b0287cf849bf3c6b6a3570bbadc4 Mon Sep 17 00:00:00 2001 From: Jack Evoniuk Date: Wed, 14 Aug 2024 14:32:42 -0700 Subject: [PATCH 092/340] Update AWD model --- .../awd_2024-05-09.json | 5533 +++++++++++++++-- 1 file changed, 5096 insertions(+), 437 deletions(-) diff --git a/models/amazon-warehousing-and-distribution-model/awd_2024-05-09.json b/models/amazon-warehousing-and-distribution-model/awd_2024-05-09.json index 5b97d73f2..5e2a114bb 100644 --- a/models/amazon-warehousing-and-distribution-model/awd_2024-05-09.json +++ b/models/amazon-warehousing-and-distribution-model/awd_2024-05-09.json @@ -1,9 +1,9 @@ { "swagger": "2.0", "info": { - "title": "The Selling Partner API for AWD", + "title": "The Selling Partner API for Amazon Warehousing and Distribution", "version": "2024-05-09", - "description": "The Selling Partner API for Amazon Warehousing and Distribution (AWD).", + "description": "The Selling Partner API for Amazon Warehousing and Distribution (AWD) provides programmatic access to information about AWD shipments and inventory. ", "contact": { "name": "Selling Partner API Developer Support", "url": "https://sellercentral.amazon.com/gp/mws/contactus.html" @@ -24,24 +24,313 @@ "application/json" ], "paths": { - "/awd/2024-05-09/inboundShipments/{shipmentId}": { + "/awd/2024-05-09/inboundOrders": { + "post": { + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "parameters": [ + { + "description": "Payload for creating an inbound order.", + "in": "body", + "name": "body", + "required": true, + "schema": { + "$ref": "#/definitions/InboundOrderCreationData" + } + } + ], + "responses": { + "201": { + "description": "`createInbound` 201 response.", + "headers": { + "Location": { + "description": "Location header with the order ID for the newly created inbound order.", + "type": "string" + }, + "x-amzn-RateLimit-Limit": { + "description": "Your rate limit (requests per second) for this operation.", + "type": "string" + }, + "x-amzn-RequestId": { + "description": "Unique request reference identifier.", + "type": "string" + } + }, + "schema": { + "$ref": "#/definitions/InboundOrderReference" + }, + "x-amzn-api-sandbox": { + "static": [ + { + "request": { + "parameters": { + "body": { + "value": { + "externalReferenceId": "string", + "originAddress": { + "addressLine1": "address_1", + "addressLine2": "address_2", + "addressLine3": "address_3", + "city": "City1", + "countryCode": "CC", + "district": "District1", + "name": "address_name", + "postalCode": "123456", + "stateOrRegion": "State1" + }, + "packagesToInbound": [ + { + "count": 1, + "distributionPackage": { + "contents": { + "products": [ + { + "quantity": 1, + "sku": "testPen" + } + ] + }, + "measurements": { + "dimensions": { + "height": 1, + "length": 1, + "unitOfMeasurement": "INCHES", + "width": 1 + }, + "volume": { + "unitOfMeasurement": "CUIN", + "volume": 1 + }, + "weight": { + "unitOfMeasurement": "POUNDS", + "weight": 1 + } + }, + "type": "CASE" + } + } + ], + "shipBy": "2023-06-07T12:12:09.061Z", + "transportationPreference": "SELLER_MANAGED" + } + } + } + }, + "response": { + "orderId": "TestOrderId", + "orderVersion": "1" + }, + "responseHeaders": { + "Location": { + "value": "TestOrderId" + } + } + } + ] + } + }, + "400": { + "description": "Request has missing or invalid parameters and cannot be parsed.", + "headers": { + "x-amzn-RateLimit-Limit": { + "description": "Your rate limit (requests per second) for this operation.", + "type": "string" + }, + "x-amzn-RequestId": { + "description": "Unique request reference identifier.", + "type": "string" + } + }, + "schema": { + "$ref": "#/definitions/ErrorList" + }, + "x-amzn-api-sandbox": { + "static": [ + { + "request": { + "parameters": { + "body": { + "value": { + "externalReferenceId": "string", + "originAddress": { + "addressLine1": "address_1", + "addressLine2": "address_2", + "addressLine3": "address_3", + "city": "City1", + "countryCode": "CC", + "district": "District1", + "name": "address_name", + "postalCode": "123456", + "stateOrRegion": "State1" + }, + "packagesToInbound": [ + { + "count": 1, + "distributionPackage": { + "contents": { + "products": [ + { + "quantity": 1, + "sku": "testPen" + } + ] + }, + "measurements": { + "dimensions": { + "height": 1, + "length": 1, + "unitOfMeasurement": "INCHES", + "width": 1 + }, + "volume": { + "unitOfMeasurement": "CUIN", + "volume": 1 + }, + "weight": { + "unitOfMeasurement": "POUNDS", + "weight": 1 + } + }, + "type": "CASE" + } + } + ], + "shipBy": "2023-06-07T12:12:09.061Z", + "transportationPreference": "AMAZON_MANAGED" + } + } + } + }, + "response": { + "errors": [ + { + "code": "UNSUPPORTED_TRANSPORTATION_PREFERENCE", + "details": "This exception is thrown when client inputs are invalid", + "message": "Currently only SELLER_MANAGED transportation preference is supported" + } + ] + } + } + ] + } + }, + "403": { + "description": "Indicates that access to the resource is forbidden. Possible reasons include Access Denied, Unauthorized, Expired Token, or Invalid Signature.", + "headers": { + "x-amzn-RequestId": { + "description": "Unique request reference identifier.", + "type": "string" + } + }, + "schema": { + "$ref": "#/definitions/ErrorList" + } + }, + "404": { + "description": "The resource specified does not exist.", + "headers": { + "x-amzn-RateLimit-Limit": { + "description": "Your rate limit (requests per second) for this operation.", + "type": "string" + }, + "x-amzn-RequestId": { + "description": "Unique request reference identifier.", + "type": "string" + } + }, + "schema": { + "$ref": "#/definitions/ErrorList" + } + }, + "413": { + "description": "The request size exceeded the maximum accepted size.", + "headers": { + "x-amzn-RequestId": { + "description": "Unique request reference identifier.", + "type": "string" + } + }, + "schema": { + "$ref": "#/definitions/ErrorList" + } + }, + "415": { + "description": "The request payload is in an unsupported format.", + "headers": { + "x-amzn-RequestId": { + "description": "Unique request reference identifier.", + "type": "string" + } + }, + "schema": { + "$ref": "#/definitions/ErrorList" + } + }, + "429": { + "description": "The frequency of requests was greater than allowed.", + "headers": { + "x-amzn-RequestId": { + "description": "Unique request reference identifier.", + "type": "string" + } + }, + "schema": { + "$ref": "#/definitions/ErrorList" + } + }, + "500": { + "description": "An unexpected condition occurred that prevented the server from fulfilling the request.", + "headers": { + "x-amzn-RequestId": { + "description": "Unique request reference identifier.", + "type": "string" + } + }, + "schema": { + "$ref": "#/definitions/ErrorList" + } + }, + "503": { + "description": "Temporary overloading or maintenance of the server.", + "headers": { + "x-amzn-RequestId": { + "description": "Unique request reference identifier.", + "type": "string" + } + }, + "schema": { + "$ref": "#/definitions/ErrorList" + } + } + }, + "tags": [ + "awd" + ], + "description": "Creates a draft AWD inbound order with given packages to inbound. Currently only a single shipment will be created per order.\n\n**Usage Plan:**\n\n| Rate (requests per second) | Burst |\n| ---- | ---- |\n| 1 | 1 |\n\nThe `x-amzn-RateLimit-Limit` response header returns the usage plan rate limits that were applied to the requested operation, when available. The table above indicates the default rate and burst values for this operation. Selling partners whose business demands require higher throughput may see higher rate and burst values than those shown here. For more information, refer to [Usage Plans and Rate Limits in the Selling Partner API](https://developer-docs.amazon.com/sp-api/docs/usage-plans-and-rate-limits-in-the-sp-api).", + "operationId": "createInbound" + } + }, + "/awd/2024-05-09/inboundOrders/{orderId}": { "get": { "produces": [ "application/json" ], "parameters": [ { - "description": "ID for the shipment. A shipment contains the cases being inbounded.", + "description": "ID for the inbound order to be retrieved.", "in": "path", - "minLength": 1, - "name": "shipmentId", + "name": "orderId", "required": true, "type": "string" } ], "responses": { "200": { - "description": "The 200 response for `getInboundShipment`.", + "description": "The 200 response for `getInbound`.", "headers": { "x-amzn-RateLimit-Limit": { "description": "Your rate limit (requests per second) for this operation.", @@ -53,80 +342,131 @@ } }, "schema": { - "$ref": "#/definitions/InboundShipment" + "$ref": "#/definitions/InboundOrder" }, "x-amzn-api-sandbox": { "static": [ { "request": { "parameters": { - "shipmentId": { - "value": "TestShipmentId" + "orderId": { + "value": "TestOrderId" } } }, "response": { + "channelPlacedInboundShipments": [ + { + "destinationAddress": { + "addressLine1": "address_1", + "addressLine2": "address_2", + "addressLine3": "address_3", + "city": "Seattle", + "countryCode": "US", + "county": "Washington", + "district": "District1", + "name": "address_name", + "phoneNumber": "+14155552671", + "postalCode": "123456", + "stateOrRegion": "Washington" + }, + "orderId": "TestOrderId", + "originAddress": { + "addressLine1": "address_1", + "addressLine2": "address_2", + "addressLine3": "address_3", + "city": "Seattle", + "countryCode": "US", + "county": "Washington", + "district": "District1", + "name": "address_name", + "phoneNumber": "+14155552671", + "postalCode": "123456", + "stateOrRegion": "Washington" + }, + "receivedQuantity": [], + "shipmentContainerQuantities": [ + { + "count": 1, + "distributionPackage": { + "contents": { + "packages": [], + "products": [ + { + "quantity": 1, + "sku": "testPen" + } + ] + }, + "measurements": { + "dimensions": { + "height": 2.54, + "length": 2.54, + "unitOfMeasurement": "CENTIMETERS", + "width": 2.54 + }, + "weight": { + "unitOfMeasurement": "KILOGRAMS", + "weight": 0.453592 + } + }, + "type": "CASE" + } + } + ], + "shipmentId": "TestShipmentId", + "shipmentStatus": "CREATED" + } + ], "createdAt": "2023-06-07T12:12:09.061Z", - "destinationAddress": { - "addressLine1": "address_line_1", - "addressLine2": "address_line_2", - "addressLine3": "address_line_3", - "city": "City1", - "countryCode": "CC", - "district": "District1", - "name": "DestinationName", - "postalCode": "123456", - "stateOrRegion": "State1" - }, + "externalReferenceId": "TestReferenceId", "orderId": "TestOrderId", + "orderStatus": "DRAFT", + "orderVersion": "2", "originAddress": { "addressLine1": "address_1", "addressLine2": "address_2", "addressLine3": "address_3", - "city": "City1", - "countryCode": "CC", + "city": "Seattle", + "countryCode": "US", + "county": "Washington", "district": "District1", "name": "address_name", + "phoneNumber": "+14155552671", "postalCode": "123456", - "stateOrRegion": "State1" + "stateOrRegion": "Washington" }, - "receivedQuantity": [ - { - "quantity": 0, - "unitOfMeasurement": "CASES" - } - ], - "shipmentContainerQuantities": [ + "packagesToInbound": [ { - "count": 2, + "count": 1, "distributionPackage": { "contents": { "packages": [], "products": [ { - "quantity": 20, + "quantity": 1, "sku": "testPen" } ] }, "measurements": { "dimensions": { - "height": 33.02, - "length": 45.72, + "height": 2.54, + "length": 2.54, "unitOfMeasurement": "CENTIMETERS", - "width": 15.24 + "width": 2.54 }, "weight": { "unitOfMeasurement": "KILOGRAMS", - "weight": 5.443104 + "weight": 0.453592 } }, "type": "CASE" } } ], - "shipmentId": "TestShipmentId", - "shipmentStatus": "CREATED", + "shipBy": "2023-06-07T12:12:09.061Z", + "transportationPreference": "SELLER_MANAGED", "updatedAt": "2023-06-07T12:12:09.061Z" } } @@ -153,7 +493,7 @@ { "request": { "parameters": { - "shipmentId": { + "orderId": { "value": " " } } @@ -163,7 +503,7 @@ { "code": "BAD_REQUEST", "details": "This exception is thrown when client inputs are invalid", - "message": "ShipmentId should be present for this request" + "message": "OrderId should be present for this request" } ] } @@ -263,141 +603,37 @@ "tags": [ "awd" ], - "description": "Retrieves an AWD inbound shipment.\n\n**Usage Plan:**\n\n| Rate (requests per second) | Burst |\n| ---- | ---- |\n| 2 | 2 |\n\nThe `x-amzn-RateLimit-Limit` response header returns the usage plan rate limits that were applied to the requested operation, when available. The table above indicates the default rate and burst values for this operation. Selling partners whose business demands require higher throughput may see higher rate and burst values than those shown here. For more information, refer to [Usage Plans and Rate Limits in the Selling Partner API](https://developer-docs.amazon.com/sp-api/docs/usage-plans-and-rate-limits-in-the-sp-api)", - "operationId": "getInboundShipment" - } - }, - "/awd/2024-05-09/inboundShipments": { - "get": { + "description": "Retrieves an inbound AWD order for a set of shipments.\n\n**Usage Plan:**\n\n| Rate (requests per second) | Burst |\n| ---- | ---- |\n| 1 | 1 |\n\nThe `x-amzn-RateLimit-Limit` response header returns the usage plan rate limits that were applied to the requested operation, when available. The table above indicates the default rate and burst values for this operation. Selling partners whose business demands require higher throughput may see higher rate and burst values than those shown here. For more information, refer to [Usage Plans and Rate Limits in the Selling Partner API](https://developer-docs.amazon.com/sp-api/docs/usage-plans-and-rate-limits-in-the-sp-api).", + "operationId": "getInbound" + }, + "put": { + "consumes": [ + "application/json" + ], "produces": [ "application/json" ], "parameters": [ { - "description": "Field to sort results by. Required if `sortOrder` is provided.", - "enum": [ - "UPDATED_AT", - "CREATED_AT" - ], - "in": "query", - "name": "sortBy", - "type": "string", - "x-docgen-enum-table-extension": [ - { - "description": "Sort by `Updated at`timestamp.", - "value": "UPDATED_AT" - }, - { - "description": "Sort by `Created at` timestamp.", - "value": "CREATED_AT" - } - ] + "description": "ID for the inbound order to be updated.", + "in": "path", + "name": "orderId", + "required": true, + "type": "string" }, { - "description": "Sort the response in `ASCENDING` or `DESCENDING` order.", - "enum": [ - "ASCENDING", - "DESCENDING" - ], - "in": "query", - "name": "sortOrder", - "type": "string", - "x-docgen-enum-table-extension": [ - { - "description": "Sorts the collection in ascending order.", - "value": "ASCENDING" - }, - { - "description": "Sorts the collection in descending order.", - "value": "DESCENDING" - } - ], - "x-example": "ASCENDING" - }, - { - "description": "Filter by inbound shipment status.", - "enum": [ - "CREATED", - "SHIPPED", - "IN_TRANSIT", - "RECEIVING", - "DELIVERED", - "CLOSED", - "CANCELLED" - ], - "in": "query", - "name": "shipmentStatus", - "type": "string", - "x-docgen-enum-table-extension": [ - { - "description": "Shipment is created, but hasn't shipped.", - "value": "CREATED" - }, - { - "description": "Shipment was picked up by the carrier or was dropped off with the carrier.", - "value": "SHIPPED" - }, - { - "description": "The carrier has notified AWD that the shipment is in transit between the origin and destination nodes.", - "value": "IN_TRANSIT" - }, - { - "description": "The shipment has been partially received.", - "value": "RECEIVING" - }, - { - "description": "The shipment has reached the destination node and has been delivered to the facility yard. The shipment `receive` process at the warehouse will start soon.", - "value": "DELIVERED" - }, - { - "description": "No more actions are required for the shipment. This is a final state.", - "value": "CLOSED" - }, - { - "description": "The shipment is cancelled. This is a final state.", - "value": "CANCELLED" - } - ], - "x-example": "CREATED" - }, - { - "description": "List the inbound shipments that were updated after a certain time (inclusive). The date must be in ISO 8601 format.", - "format": "date-time", - "in": "query", - "name": "updatedAfter", - "type": "string", - "x-example": "2023-01-12T10:00:00.000Z" - }, - { - "description": "List the inbound shipments that were updated before a certain time (inclusive). The date must be in ISO 8601 format.", - "format": "date-time", - "in": "query", - "name": "updatedBefore", - "type": "string", - "x-example": "2023-01-12T10:00:00.000Z" - }, - { - "default": 25, - "description": "Maximum number of results to return.", - "format": "int32", - "in": "query", - "maximum": 200, - "minimum": 1, - "name": "maxResults", - "type": "integer", - "x-example": "10" - }, - { - "description": "Token to retrieve the next set of paginated results.", - "in": "query", - "name": "nextToken", - "type": "string", - "x-example": "SampleToken" + "description": "Represents an AWD inbound order.", + "in": "body", + "name": "body", + "required": true, + "schema": { + "$ref": "#/definitions/InboundOrder" + } } ], "responses": { "200": { - "description": "The 200 response for `listInboundShipments`.", + "description": "The 200 response for `updateInbound`.", "headers": { "x-amzn-RateLimit-Limit": { "description": "Your rate limit (requests per second) for this operation.", @@ -409,22 +645,130 @@ } }, "schema": { - "$ref": "#/definitions/ShipmentListing" + "$ref": "#/definitions/InboundOrderReference" }, "x-amzn-api-sandbox": { "static": [ { "request": { - "parameters": {} + "parameters": { + "orderId": { + "value": "TestOrderId1" + }, + "body": { + "value": { + "channelPlacedInboundShipments": [ + { + "destinationAddress": { + "addressLine1": "address_1", + "addressLine2": "address_2", + "addressLine3": "address_3", + "city": "City1", + "countryCode": "CC", + "district": "District1", + "name": "DestinationName", + "postalCode": "123456", + "stateOrRegion": "State1" + }, + "orderId": "TestOrderId1", + "originAddress": { + "addressLine1": "address_1", + "addressLine2": "address_2", + "addressLine3": "address_3", + "city": "City1", + "countryCode": "CC", + "district": "District1", + "name": "DestinationName", + "postalCode": "123456", + "stateOrRegion": "State1" + }, + "receivedQuantity": [], + "shipmentContainerQuantities": [ + { + "count": 1, + "distributionPackage": { + "contents": { + "packages": [], + "products": [ + { + "quantity": 1, + "sku": "testPen" + } + ] + }, + "measurements": { + "dimensions": { + "height": 2.54, + "length": 2.54, + "unitOfMeasurement": "CENTIMETERS", + "width": 2.54 + }, + "weight": { + "unitOfMeasurement": "KILOGRAMS", + "weight": 0.453592 + } + }, + "type": "CASE" + } + } + ], + "shipmentId": "TestShipment1", + "shipmentStatus": "CREATED" + } + ], + "createdAt": "2023-06-07T12:12:09.061Z", + "orderId": "TestOrderId1", + "orderStatus": "DRAFT", + "orderVersion": "2", + "originAddress": { + "addressLine1": "address_1", + "addressLine2": "address_2", + "addressLine3": "address_3", + "city": "City1", + "countryCode": "CC", + "district": "District1", + "name": "DestinationName", + "postalCode": "123456", + "stateOrRegion": "State1" + }, + "packagesToInbound": [ + { + "count": 2, + "distributionPackage": { + "contents": { + "packages": [], + "products": [ + { + "quantity": 10, + "sku": "testPen" + } + ] + }, + "measurements": { + "dimensions": { + "height": 1, + "length": 1, + "unitOfMeasurement": "CENTIMETERS", + "width": 1 + }, + "weight": { + "unitOfMeasurement": "KILOGRAMS", + "weight": 1 + } + }, + "type": "CASE" + } + } + ], + "transportationPreference": "SELLER_MANAGED", + "updatedAt": "2023-06-07T12:12:09.061Z" + } + } + } }, "response": { - "shipments": [{ - "createdAt": "2023-06-07T12:12:09.061Z", - "orderId": "TestOrderId", - "shipmentId": "TestShipmentId", - "shipmentStatus": "CREATED", - "updatedAt": "2023-06-07T12:12:09.061Z" - }] + "orderId": "TestOrderId", + "orderVersion": "3" } } ] @@ -450,17 +794,126 @@ { "request": { "parameters": { - "sortBy": { - "value": "TEST" + "orderId": { + "value": "TestOrderId1" + }, + "body": { + "value": { + "channelPlacedInboundShipments": [ + { + "destinationAddress": { + "addressLine1": "address_1", + "addressLine2": "address_2", + "addressLine3": "address_3", + "city": "City1", + "countryCode": "CC", + "district": "District1", + "name": "DestinationName", + "postalCode": "123456", + "stateOrRegion": "State1" + }, + "orderId": "TestOrderId1", + "originAddress": { + "addressLine1": "address_1", + "addressLine2": "address_2", + "addressLine3": "address_3", + "city": "City1", + "countryCode": "CC", + "district": "District1", + "name": "DestinationName", + "postalCode": "123456", + "stateOrRegion": "State1" + }, + "receivedQuantity": [], + "shipmentContainerQuantities": [ + { + "count": 1, + "distributionPackage": { + "contents": { + "packages": [], + "products": [ + { + "quantity": 1, + "sku": "testPen" + } + ] + }, + "measurements": { + "dimensions": { + "height": 2.54, + "length": 2.54, + "unitOfMeasurement": "CENTIMETERS", + "width": 2.54 + }, + "weight": { + "unitOfMeasurement": "KILOGRAMS", + "weight": 0.453592 + } + }, + "type": "CASE" + } + } + ], + "shipmentId": "TestShipment1", + "shipmentStatus": "CREATED" + } + ], + "createdAt": "2023-06-07T12:12:09.061Z", + "orderId": "TestOrderId1", + "orderStatus": "DRAFT", + "orderVersion": "2", + "originAddress": { + "addressLine1": "address_1", + "addressLine2": "address_2", + "addressLine3": "address_3", + "city": "City1", + "countryCode": "CC", + "district": "District1", + "name": "DestinationName", + "postalCode": "123456", + "stateOrRegion": "State1" + }, + "packagesToInbound": [ + { + "count": 2, + "distributionPackage": { + "contents": { + "packages": [], + "products": [ + { + "quantity": 10, + "sku": "testPen" + } + ] + }, + "measurements": { + "dimensions": { + "height": 1, + "length": 1, + "unitOfMeasurement": "CENTIMETERS", + "width": 1 + }, + "weight": { + "unitOfMeasurement": "KILOGRAMS", + "weight": 1 + } + }, + "type": "CASE" + } + } + ], + "transportationPreference": "AMAZON_MANAGED", + "updatedAt": "2023-06-07T12:12:09.061Z" + } } } }, "response": { "errors": [ { - "code": "BAD_REQUEST", + "code": "UNSUPPORTED_TRANSPORTATION_PREFERENCE", "details": "This exception is thrown when client inputs are invalid", - "message": "Invalid shipment sortable field received: TEST" + "message": "Currently only SELLER_MANAGED transportation preference is supported" } ] } @@ -496,6 +949,18 @@ "$ref": "#/definitions/ErrorList" } }, + "409": { + "description": "`ConflictException` 409 response.", + "headers": { + "x-amzn-RequestId": { + "description": "Unique request reference identifier.", + "type": "string" + } + }, + "schema": { + "$ref": "#/definitions/ErrorList" + } + }, "413": { "description": "The request size exceeded the maximum accepted size.", "headers": { @@ -560,86 +1025,27 @@ "tags": [ "awd" ], - "description": "Retrieves a summary for all the inbound AWD shipments associated with a merchant, with the ability to apply optional filters.\n\n**Usage Plan:**\n\n| Rate (requests per second) | Burst |\n| ---- | ---- |\n| 1 | 1 |\n\nThe `x-amzn-RateLimit-Limit` response header returns the usage plan rate limits that were applied to the requested operation, when available. The table above indicates the default rate and burst values for this operation. Selling partners whose business demands require higher throughput may see higher rate and burst values than those shown here. For more information, refer to [Usage Plans and Rate Limits in the Selling Partner API](https://developer-docs.amazon.com/sp-api/docs/usage-plans-and-rate-limits-in-the-sp-api).", - "operationId": "listInboundShipments" + "description": "Updates an AWD inbound order that is in draft status and not yet confirmed. Use this operation to update the `packagesToInbound` and `originAddress` attributes.\n\n**Usage Plan:**\n\n| Rate (requests per second) | Burst |\n| ---- | ---- |\n| 1 | 1 |\n\nThe `x-amzn-RateLimit-Limit` response header returns the usage plan rate limits that were applied to the requested operation, when available. The table above indicates the default rate and burst values for this operation. Selling partners whose business demands require higher throughput may see higher rate and burst values than those shown here. For more information, refer to [Usage Plans and Rate Limits in the Selling Partner API](https://developer-docs.amazon.com/sp-api/docs/usage-plans-and-rate-limits-in-the-sp-api).", + "operationId": "updateInbound" } }, - "/awd/2024-05-09/inventory": { - "get": { + "/awd/2024-05-09/inboundOrders/{orderId}/cancellation": { + "post": { "produces": [ "application/json" ], "parameters": [ { - "description": "Filter by seller or merchant SKU for the item.", - "in": "query", - "name": "sku", - "type": "string", - "x-example": "TestSKU" - }, - { - "description": "Sort the response in `ASCENDING` or `DESCENDING` order.", - "enum": [ - "ASCENDING", - "DESCENDING" - ], - "in": "query", - "name": "sortOrder", - "type": "string", - "x-docgen-enum-table-extension": [ - { - "description": "Sorts the collection in ascending order.", - "value": "ASCENDING" - }, - { - "description": "Sorts the collection in descending order.", - "value": "DESCENDING" - } - ] - }, - { - "description": "Set to `SHOW` to return summaries with additional inventory details. Defaults to `HIDE,` which returns only inventory summary totals.", - "enum": [ - "SHOW", - "HIDE" - ], - "in": "query", - "name": "details", - "type": "string", - "x-docgen-enum-table-extension": [ - { - "description": "Show the additional summarized inventory details.", - "value": "SHOW" - }, - { - "description": "Hide the additional summarized inventory details.", - "value": "HIDE" - } - ], - "x-example": "SHOW" - }, - { - "description": "Token to retrieve the next set of paginated results.", - "in": "query", - "name": "nextToken", - "type": "string", - "x-example": "SampleToken" - }, - { - "default": 25, - "description": "Maximum number of results to return.", - "format": "int32", - "in": "query", - "maximum": 200, - "minimum": 1, - "name": "maxResults", - "type": "integer", - "x-example": "10" + "description": "ID for the inbound order to be cancelled", + "in": "path", + "name": "orderId", + "required": true, + "type": "string" } ], "responses": { - "200": { - "description": "The 200 response for `listInventory`.", + "204": { + "description": "`CancelInbound` 204 response.", "headers": { "x-amzn-RateLimit-Limit": { "description": "Your rate limit (requests per second) for this operation.", @@ -650,35 +1056,21 @@ "type": "string" } }, - "schema": { - "$ref": "#/definitions/InventoryListing" - }, "x-amzn-api-sandbox": { "static": [ { - "request": {}, - "response": { - "inventory": [ - { - "totalOnhandQuantity": 20, - "sku": "100TestSKU1Pen", - "inventoryDetails": { - "availableDistributableQuantity": 10, - "reservedDistributableQuantity": 10 - } - }, - { - "totalOnhandQuantity": 20, - "sku": "2U-BKEX-VW4D", - "inventoryDetails": { - "availableDistributableQuantity": 10, - "reservedDistributableQuantity": 10 - } + "request": { + "parameters": { + "orderId": { + "value": "TestOrderId1" } - ] + } } } ] + }, + "examples": { + "application/json": [{}] } }, "400": { @@ -701,8 +1093,8 @@ { "request": { "parameters": { - "sortOrder": { - "value": "UNKNOWN" + "orderId": { + "value": " " } } }, @@ -711,7 +1103,7 @@ { "code": "BAD_REQUEST", "details": "This exception is thrown when client inputs are invalid", - "message": "Invalid value: UNKNOWN passed for sort order. Possible values are: [ASCENDING, DESCENDING]" + "message": "OrderId should be present for this request" } ] } @@ -747,6 +1139,18 @@ "$ref": "#/definitions/ErrorList" } }, + "409": { + "description": "`ConflictException` 409 response.", + "headers": { + "x-amzn-RequestId": { + "description": "Unique request reference identifier.", + "type": "string" + } + }, + "schema": { + "$ref": "#/definitions/ErrorList" + } + }, "413": { "description": "The request size exceeded the maximum accepted size.", "headers": { @@ -811,15 +1215,2979 @@ "tags": [ "awd" ], - "description": "Lists AWD inventory associated with a merchant with the ability to apply optional filters.\n\n**Usage Plan:**\n\n| Rate (requests per second) | Burst |\n| ---- | ---- |\n| 2 | 2 |\n\nThe `x-amzn-RateLimit-Limit` response header returns the usage plan rate limits that were applied to the requested operation, when available. The table above indicates the default rate and burst values for this operation. Selling partners whose business demands require higher throughput may see higher rate and burst values than those shown here. For more information, refer to [Usage Plans and Rate Limits in the Selling Partner API](https://developer-docs.amazon.com/sp-api/docs/usage-plans-and-rate-limits-in-the-sp-api).", - "operationId": "listInventory" + "description": "Cancels an AWD Inbound order and its associated shipments.\n\n**Usage Plan:**\n\n| Rate (requests per second) | Burst |\n| ---- | ---- |\n| 1 | 1 |\n\nThe `x-amzn-RateLimit-Limit` response header returns the usage plan rate limits that were applied to the requested operation, when available. The table above indicates the default rate and burst values for this operation. Selling partners whose business demands require higher throughput may see higher rate and burst values than those shown here. For more information, refer to [Usage Plans and Rate Limits in the Selling Partner API](https://developer-docs.amazon.com/sp-api/docs/usage-plans-and-rate-limits-in-the-sp-api).", + "operationId": "cancelInbound" } - } - }, - "definitions": { - "Address": { - "description": "Shipping address that represents the origin or destination location.", - "properties": { + }, + "/awd/2024-05-09/inboundOrders/{orderId}/confirmation": { + "post": { + "produces": [ + "application/json" + ], + "parameters": [ + { + "description": "ID for the inbound order you want to confirm.", + "in": "path", + "name": "orderId", + "required": true, + "type": "string" + } + ], + "responses": { + "204": { + "description": "The 204 response for `confirmInbound`.", + "headers": { + "x-amzn-RateLimit-Limit": { + "description": "Your rate limit (requests per second) for this operation.", + "type": "string" + }, + "x-amzn-RequestId": { + "description": "Unique request reference identifier.", + "type": "string" + } + }, + "x-amzn-api-sandbox": { + "static": [ + { + "request": { + "parameters": { + "orderId": { + "value": "TestOrderId1" + } + } + } + } + ] + }, + "examples": { + "application/json": [{}] + } + }, + "400": { + "description": "Request has missing or invalid parameters and cannot be parsed.", + "headers": { + "x-amzn-RateLimit-Limit": { + "description": "Your rate limit (requests per second) for this operation.", + "type": "string" + }, + "x-amzn-RequestId": { + "description": "Unique request reference identifier.", + "type": "string" + } + }, + "schema": { + "$ref": "#/definitions/ErrorList" + }, + "x-amzn-api-sandbox": { + "static": [ + { + "request": { + "parameters": { + "orderId": { + "value": " " + } + } + }, + "response": { + "errors": [ + { + "code": "BAD_REQUEST", + "details": "This exception is thrown when client inputs are invalid", + "message": "OrderId should be present for this request" + } + ] + } + } + ] + } + }, + "403": { + "description": "Indicates that access to the resource is forbidden. Possible reasons include Access Denied, Unauthorized, Expired Token, or Invalid Signature.", + "headers": { + "x-amzn-RequestId": { + "description": "Unique request reference identifier.", + "type": "string" + } + }, + "schema": { + "$ref": "#/definitions/ErrorList" + } + }, + "404": { + "description": "The resource specified does not exist.", + "headers": { + "x-amzn-RateLimit-Limit": { + "description": "Your rate limit (requests per second) for this operation.", + "type": "string" + }, + "x-amzn-RequestId": { + "description": "Unique request reference identifier.", + "type": "string" + } + }, + "schema": { + "$ref": "#/definitions/ErrorList" + } + }, + "409": { + "description": "`ConflictException` 409 response.", + "headers": { + "x-amzn-RequestId": { + "description": "Unique request reference identifier.", + "type": "string" + } + }, + "schema": { + "$ref": "#/definitions/ErrorList" + } + }, + "413": { + "description": "The request size exceeded the maximum accepted size.", + "headers": { + "x-amzn-RequestId": { + "description": "Unique request reference identifier.", + "type": "string" + } + }, + "schema": { + "$ref": "#/definitions/ErrorList" + } + }, + "415": { + "description": "The request payload is in an unsupported format.", + "headers": { + "x-amzn-RequestId": { + "description": "Unique request reference identifier.", + "type": "string" + } + }, + "schema": { + "$ref": "#/definitions/ErrorList" + } + }, + "429": { + "description": "The frequency of requests was greater than allowed.", + "headers": { + "x-amzn-RequestId": { + "description": "Unique request reference identifier.", + "type": "string" + } + }, + "schema": { + "$ref": "#/definitions/ErrorList" + } + }, + "500": { + "description": "An unexpected condition occurred that prevented the server from fulfilling the request.", + "headers": { + "x-amzn-RequestId": { + "description": "Unique request reference identifier.", + "type": "string" + } + }, + "schema": { + "$ref": "#/definitions/ErrorList" + } + }, + "503": { + "description": "Temporary overloading or maintenance of the server.", + "headers": { + "x-amzn-RequestId": { + "description": "Unique request reference identifier.", + "type": "string" + } + }, + "schema": { + "$ref": "#/definitions/ErrorList" + } + } + }, + "tags": [ + "awd" + ], + "description": "Confirms an AWD inbound order in draft status.\n\n**Usage Plan:**\n\n| Rate (requests per second) | Burst |\n| ---- | ---- |\n| 1 | 1 |\n\nThe `x-amzn-RateLimit-Limit` response header returns the usage plan rate limits that were applied to the requested operation, when available. The table above indicates the default rate and burst values for this operation. Selling partners whose business demands require higher throughput may see higher rate and burst values than those shown here. For more information, refer to [Usage Plans and Rate Limits in the Selling Partner API](https://developer-docs.amazon.com/sp-api/docs/usage-plans-and-rate-limits-in-the-sp-api).", + "operationId": "confirmInbound" + } + }, + "/awd/2024-05-09/inboundShipments/{shipmentId}": { + "get": { + "produces": [ + "application/json" + ], + "parameters": [ + { + "description": "ID for the shipment. A shipment contains the cases being inbounded.", + "in": "path", + "minLength": 1, + "name": "shipmentId", + "required": true, + "type": "string" + }, + { + "description": "If equal to `SHOW`, the response includes the shipment SKU quantity details.\n\nDefaults to `HIDE`, in which case the response does not contain SKU quantities", + "enum": [ + "SHOW", + "HIDE" + ], + "in": "query", + "name": "skuQuantities", + "type": "string", + "x-example": "SHOW", + "x-docgen-enum-table-extension": [ + { + "description": "Show the additional SKU quantity details.", + "value": "SHOW" + }, + { + "description": "Hide the additional SKU quantity details.", + "value": "HIDE" + } + ] + } + ], + "responses": { + "200": { + "description": "The 200 response for `getInboundShipment`.", + "headers": { + "x-amzn-RateLimit-Limit": { + "description": "Your rate limit (requests per second) for this operation.", + "type": "string" + }, + "x-amzn-RequestId": { + "description": "Unique request reference identifier.", + "type": "string" + } + }, + "schema": { + "$ref": "#/definitions/InboundShipment" + }, + "x-amzn-api-sandbox": { + "static": [ + { + "request": { + "parameters": { + "shipmentId": { + "value": "TestShipmentId" + } + } + }, + "response": { + "createdAt": "2023-06-07T12:12:09.061Z", + "destinationAddress": { + "addressLine1": "address_line_1", + "addressLine2": "address_line_2", + "addressLine3": "address_line_3", + "city": "City1", + "countryCode": "CC", + "district": "District1", + "name": "DestinationName", + "postalCode": "123456", + "stateOrRegion": "State1" + }, + "orderId": "TestOrderId", + "originAddress": { + "addressLine1": "address_1", + "addressLine2": "address_2", + "addressLine3": "address_3", + "city": "City1", + "countryCode": "CC", + "district": "District1", + "name": "address_name", + "postalCode": "123456", + "stateOrRegion": "State1" + }, + "receivedQuantity": [ + { + "quantity": 0, + "unitOfMeasurement": "CASES" + } + ], + "shipmentContainerQuantities": [ + { + "count": 2, + "distributionPackage": { + "contents": { + "packages": [], + "products": [ + { + "quantity": 20, + "sku": "testPen" + } + ] + }, + "measurements": { + "dimensions": { + "height": 33.02, + "length": 45.72, + "unitOfMeasurement": "CENTIMETERS", + "width": 15.24 + }, + "weight": { + "unitOfMeasurement": "KILOGRAMS", + "weight": 5.443104 + } + }, + "type": "CASE" + } + } + ], + "shipmentId": "TestShipmentId", + "shipmentStatus": "CREATED", + "shipmentSkuQuantities": [ + { + "sku": "testPen", + "expectedQuantity": { + "quantity": 2, + "unitOfMeasurement": "CASE" + }, + "receivedQuantity": { + "quantity": 0, + "unitOfMeasurement": "CASE" + } + } + ], + "updatedAt": "2023-06-07T12:12:09.061Z" + } + } + ] + } + }, + "400": { + "description": "Request has missing or invalid parameters and cannot be parsed.", + "headers": { + "x-amzn-RateLimit-Limit": { + "description": "Your rate limit (requests per second) for this operation.", + "type": "string" + }, + "x-amzn-RequestId": { + "description": "Unique request reference identifier.", + "type": "string" + } + }, + "schema": { + "$ref": "#/definitions/ErrorList" + }, + "x-amzn-api-sandbox": { + "static": [ + { + "request": { + "parameters": { + "shipmentId": { + "value": " " + } + } + }, + "response": { + "errors": [ + { + "code": "BAD_REQUEST", + "details": "This exception is thrown when client inputs are invalid", + "message": "ShipmentId should be present for this request" + } + ] + } + } + ] + } + }, + "403": { + "description": "Indicates that access to the resource is forbidden. Possible reasons include Access Denied, Unauthorized, Expired Token, or Invalid Signature.", + "headers": { + "x-amzn-RequestId": { + "description": "Unique request reference identifier.", + "type": "string" + } + }, + "schema": { + "$ref": "#/definitions/ErrorList" + } + }, + "404": { + "description": "The resource specified does not exist.", + "headers": { + "x-amzn-RateLimit-Limit": { + "description": "Your rate limit (requests per second) for this operation.", + "type": "string" + }, + "x-amzn-RequestId": { + "description": "Unique request reference identifier.", + "type": "string" + } + }, + "schema": { + "$ref": "#/definitions/ErrorList" + } + }, + "413": { + "description": "The request size exceeded the maximum accepted size.", + "headers": { + "x-amzn-RequestId": { + "description": "Unique request reference identifier.", + "type": "string" + } + }, + "schema": { + "$ref": "#/definitions/ErrorList" + } + }, + "415": { + "description": "The request payload is in an unsupported format.", + "headers": { + "x-amzn-RequestId": { + "description": "Unique request reference identifier.", + "type": "string" + } + }, + "schema": { + "$ref": "#/definitions/ErrorList" + } + }, + "429": { + "description": "The frequency of requests was greater than allowed.", + "headers": { + "x-amzn-RequestId": { + "description": "Unique request reference identifier.", + "type": "string" + } + }, + "schema": { + "$ref": "#/definitions/ErrorList" + } + }, + "500": { + "description": "An unexpected condition occurred that prevented the server from fulfilling the request.", + "headers": { + "x-amzn-RequestId": { + "description": "Unique request reference identifier.", + "type": "string" + } + }, + "schema": { + "$ref": "#/definitions/ErrorList" + } + }, + "503": { + "description": "Temporary overloading or maintenance of the server.", + "headers": { + "x-amzn-RequestId": { + "description": "Unique request reference identifier.", + "type": "string" + } + }, + "schema": { + "$ref": "#/definitions/ErrorList" + } + } + }, + "tags": [ + "awd" + ], + "description": "Retrieves an AWD inbound shipment.\n\n**Usage Plan:**\n\n| Rate (requests per second) | Burst |\n| ---- | ---- |\n| 2 | 2 |\n\nThe `x-amzn-RateLimit-Limit` response header returns the usage plan rate limits that were applied to the requested operation, when available. The table above indicates the default rate and burst values for this operation. Selling partners whose business demands require higher throughput may see higher rate and burst values than those shown here. For more information, refer to [Usage Plans and Rate Limits in the Selling Partner API](https://developer-docs.amazon.com/sp-api/docs/usage-plans-and-rate-limits-in-the-sp-api)", + "operationId": "getInboundShipment" + } + }, + "/awd/2024-05-09/inboundShipments/{shipmentId}/labels": { + "get": { + "produces": [ + "application/json" + ], + "parameters": [ + { + "description": "ID for the shipment.", + "in": "path", + "minLength": 1, + "name": "shipmentId", + "required": true, + "type": "string" + }, + { + "description": "Page type for the generated labels. The default is `PLAIN_PAPER`.", + "enum": [ + "THERMAL_NONPCP", + "PLAIN_PAPER", + "LETTER_6" + ], + "in": "query", + "name": "pageType", + "type": "string", + "x-docgen-enum-table-extension": [ + { + "description": "Use `THERMAL_NONPC` for a thermal printer. Supports non-Amazon-partnered shipments.", + "value": "THERMAL_NONPCP" + }, + { + "description": "One label per sheet of US Letter paper. Only for non-Amazon-partnered shipments.", + "value": "PLAIN_PAPER" + }, + { + "description": "Six labels per US Letter label sheet.", + "value": "LETTER_6" + } + ], + "x-example": "PLAIN_PAPER" + }, + { + "description": "The format type of the output file that contains your labels.", + "enum": [ + "PDF" + ], + "in": "query", + "name": "formatType", + "type": "string", + "x-docgen-enum-table-extension": [ + { + "description": "PDF format.", + "value": "PDF" + } + ], + "x-example": "PDF" + } + ], + "responses": { + "200": { + "description": "The 200 response for `getInboundShipmentLabels`.", + "headers": { + "x-amzn-RateLimit-Limit": { + "description": "Your rate limit (requests per second) for this operation.", + "type": "string" + }, + "x-amzn-RequestId": { + "description": "Unique request reference identifier.", + "type": "string" + } + }, + "schema": { + "$ref": "#/definitions/ShipmentLabels" + }, + "x-amzn-api-sandbox": { + "static": [ + { + "request": { + "parameters": { + "shipmentId": { + "value": "TestShipmentId" + } + } + }, + "response": { + "labelDownloadURL": "TEST_URL", + "labelStatus": "GENERATED" + } + } + ] + } + }, + "400": { + "description": "Request has missing or invalid parameters and cannot be parsed.", + "headers": { + "x-amzn-RateLimit-Limit": { + "description": "Your rate limit (requests per second) for this operation.", + "type": "string" + }, + "x-amzn-RequestId": { + "description": "Unique request reference identifier.", + "type": "string" + } + }, + "schema": { + "$ref": "#/definitions/ErrorList" + }, + "x-amzn-api-sandbox": { + "static": [ + { + "request": { + "parameters": { + "shipmentId": { + "value": " " + } + } + }, + "response": { + "errors": [ + { + "code": "BAD_REQUEST", + "details": "This exception is thrown when client inputs are invalid", + "message": "ShipmentId should be present for this request" + } + ] + } + } + ] + } + }, + "403": { + "description": "Indicates that access to the resource is forbidden. Possible reasons include Access Denied, Unauthorized, Expired Token, or Invalid Signature.", + "headers": { + "x-amzn-RequestId": { + "description": "Unique request reference identifier.", + "type": "string" + } + }, + "schema": { + "$ref": "#/definitions/ErrorList" + } + }, + "404": { + "description": "The resource specified does not exist.", + "headers": { + "x-amzn-RateLimit-Limit": { + "description": "Your rate limit (requests per second) for this operation.", + "type": "string" + }, + "x-amzn-RequestId": { + "description": "Unique request reference identifier.", + "type": "string" + } + }, + "schema": { + "$ref": "#/definitions/ErrorList" + } + }, + "413": { + "description": "The request size exceeded the maximum accepted size.", + "headers": { + "x-amzn-RequestId": { + "description": "Unique request reference identifier.", + "type": "string" + } + }, + "schema": { + "$ref": "#/definitions/ErrorList" + } + }, + "415": { + "description": "The request payload is in an unsupported format.", + "headers": { + "x-amzn-RequestId": { + "description": "Unique request reference identifier.", + "type": "string" + } + }, + "schema": { + "$ref": "#/definitions/ErrorList" + } + }, + "429": { + "description": "The frequency of requests was greater than allowed.", + "headers": { + "x-amzn-RequestId": { + "description": "Unique request reference identifier.", + "type": "string" + } + }, + "schema": { + "$ref": "#/definitions/ErrorList" + } + }, + "500": { + "description": "An unexpected condition occurred that prevented the server from fulfilling the request.", + "headers": { + "x-amzn-RequestId": { + "description": "Unique request reference identifier.", + "type": "string" + } + }, + "schema": { + "$ref": "#/definitions/ErrorList" + } + }, + "503": { + "description": "Temporary overloading or maintenance of the server.", + "headers": { + "x-amzn-RequestId": { + "description": "Unique request reference identifier.", + "type": "string" + } + }, + "schema": { + "$ref": "#/definitions/ErrorList" + } + } + }, + "tags": [ + "awd" + ], + "description": "Retrieves the box labels associated with the specified shipment ID.\n\n**Usage Plan:**\n\n| Rate (requests per second) | Burst |\n| ---- | ---- |\n| 1 | 1 |\n\nThe `x-amzn-RateLimit-Limit` response header returns the usage plan rate limits that were applied to the requested operation, when available. The table above indicates the default rate and burst values for this operation. Selling partners whose business demands require higher throughput may see higher rate and burst values than those shown here. For more information, refer to [Usage Plans and Rate Limits in the Selling Partner API](https://developer-docs.amazon.com/sp-api/docs/usage-plans-and-rate-limits-in-the-sp-api).", + "operationId": "getInboundShipmentLabels" + } + }, + "/awd/2024-05-09/inboundShipments/{shipmentId}/transport": { + "put": { + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "parameters": [ + { + "description": "The shipment ID.", + "in": "path", + "minLength": 1, + "name": "shipmentId", + "required": true, + "type": "string" + }, + { + "description": "Transportation details for the shipment.", + "in": "body", + "name": "body", + "required": true, + "schema": { + "$ref": "#/definitions/TransportationDetails" + } + } + ], + "responses": { + "200": { + "description": "The 200 response for `updateInboundShipmentTransportDetails`.", + "headers": { + "x-amzn-RateLimit-Limit": { + "description": "Your rate limit (requests per second) for this operation.", + "type": "string" + }, + "x-amzn-RequestId": { + "description": "Unique request reference identifier.", + "type": "string" + } + }, + "schema": { + "$ref": "#/definitions/InboundShipment" + }, + "x-amzn-api-sandbox": { + "static": [ + { + "request": { + "parameters": { + "shipmentId": { + "value": "TestShipmentId" + }, + "body": { + "value": { + "carrierCode": { + "carrierCodeType": "SCAC" + }, + "shipBy": "2023-07-17T07:10:17.886Z", + "trackingId": "TRACKING_ID" + } + } + } + }, + "response": { + "carrierCode": { + "carrierCodeType": "SCAC", + "carrierCodeValue": "NCSL" + }, + "createdAt": "2023-06-07T12:12:09.061Z", + "destinationAddress": { + "addressLine1": "address_1", + "addressLine2": "address_2", + "addressLine3": "address_3", + "city": "City1", + "countryCode": "CC", + "district": "District1", + "name": "DestinationName", + "postalCode": "123456", + "stateOrRegion": "State1" + }, + "orderId": "TestOrderId", + "originAddress": { + "addressLine1": "address_1", + "addressLine2": "address_2", + "addressLine3": "address_3", + "city": "City1", + "countryCode": "CC", + "district": "District1", + "name": "DestinationName", + "postalCode": "123456", + "stateOrRegion": "State1" + }, + "receivedQuantity": [ + { + "quantity": 0, + "unitOfMeasurement": "CASES" + } + ], + "shipBy": "2023-06-07T12:12:09.061Z", + "shipmentContainerQuantities": [ + { + "count": 1, + "distributionPackage": { + "contents": { + "packages": [], + "products": [ + { + "quantity": 20, + "sku": "testPen" + } + ] + }, + "measurements": { + "dimensions": { + "height": 33.02, + "length": 45.72, + "unitOfMeasurement": "CENTIMETERS", + "width": 15.24 + }, + "weight": { + "unitOfMeasurement": "KILOGRAMS", + "weight": 5.443104 + } + }, + "type": "CASE" + } + } + ], + "shipmentId": "TestShipmentId", + "shipmentStatus": "CREATED", + "trackingId": "TRACKING_ID", + "updatedAt": "2023-06-07T12:12:09.061Z" + } + } + ] + } + }, + "400": { + "description": "Request has missing or invalid parameters and cannot be parsed.", + "headers": { + "x-amzn-RateLimit-Limit": { + "description": "Your rate limit (requests per second) for this operation.", + "type": "string" + }, + "x-amzn-RequestId": { + "description": "Unique request reference identifier.", + "type": "string" + } + }, + "schema": { + "$ref": "#/definitions/ErrorList" + }, + "x-amzn-api-sandbox": { + "static": [ + { + "request": { + "parameters": { + "shipmentId": { + "value": " " + } + } + }, + "response": { + "errors": [ + { + "code": "BAD_REQUEST", + "details": "This exception is thrown when client inputs are invalid", + "message": "ShipmentId should be present for this request" + } + ] + } + } + ] + } + }, + "403": { + "description": "Indicates that access to the resource is forbidden. Possible reasons include Access Denied, Unauthorized, Expired Token, or Invalid Signature.", + "headers": { + "x-amzn-RequestId": { + "description": "Unique request reference identifier.", + "type": "string" + } + }, + "schema": { + "$ref": "#/definitions/ErrorList" + } + }, + "404": { + "description": "The resource specified does not exist.", + "headers": { + "x-amzn-RateLimit-Limit": { + "description": "Your rate limit (requests per second) for this operation.", + "type": "string" + }, + "x-amzn-RequestId": { + "description": "Unique request reference identifier.", + "type": "string" + } + }, + "schema": { + "$ref": "#/definitions/ErrorList" + } + }, + "413": { + "description": "The request size exceeded the maximum accepted size.", + "headers": { + "x-amzn-RequestId": { + "description": "Unique request reference identifier.", + "type": "string" + } + }, + "schema": { + "$ref": "#/definitions/ErrorList" + } + }, + "415": { + "description": "The request payload is in an unsupported format.", + "headers": { + "x-amzn-RequestId": { + "description": "Unique request reference identifier.", + "type": "string" + } + }, + "schema": { + "$ref": "#/definitions/ErrorList" + } + }, + "429": { + "description": "The frequency of requests was greater than allowed.", + "headers": { + "x-amzn-RequestId": { + "description": "Unique request reference identifier.", + "type": "string" + } + }, + "schema": { + "$ref": "#/definitions/ErrorList" + } + }, + "500": { + "description": "An unexpected condition occurred that prevented the server from fulfilling the request.", + "headers": { + "x-amzn-RequestId": { + "description": "Unique request reference identifier.", + "type": "string" + } + }, + "schema": { + "$ref": "#/definitions/ErrorList" + } + }, + "503": { + "description": "Temporary overloading or maintenance of the server.", + "headers": { + "x-amzn-RequestId": { + "description": "Unique request reference identifier.", + "type": "string" + } + }, + "schema": { + "$ref": "#/definitions/ErrorList" + } + } + }, + "tags": [ + "awd" + ], + "description": "Updates transport details for an AWD shipment.\n\n**Usage Plan:**\n\n| Rate (requests per second) | Burst |\n| ---- | ---- |\n| 1 | 1 |\n\nThe `x-amzn-RateLimit-Limit` response header returns the usage plan rate limits that were applied to the requested operation, when available. The table above indicates the default rate and burst values for this operation. Selling partners whose business demands require higher throughput may see higher rate and burst values than those shown here. For more information, refer to [Usage Plans and Rate Limits in the Selling Partner API](https://developer-docs.amazon.com/sp-api/docs/usage-plans-and-rate-limits-in-the-sp-api).", + "operationId": "updateInboundShipmentTransportDetails" + } + }, + "/awd/2024-05-09/inboundEligibility": { + "post": { + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "parameters": [ + { + "description": "Represents the packages you want to inbound.", + "in": "body", + "name": "body", + "required": true, + "schema": { + "$ref": "#/definitions/InboundPackages" + } + } + ], + "responses": { + "200": { + "description": "The 200 response for `checkInboundEligibility`.", + "headers": { + "x-amzn-RateLimit-Limit": { + "description": "Your rate limit (requests per second) for this operation.", + "type": "string" + }, + "x-amzn-RequestId": { + "description": "Unique request reference identifier.", + "type": "string" + } + }, + "schema": { + "$ref": "#/definitions/InboundEligibility" + }, + "x-amzn-api-sandbox": { + "static": [ + { + "request": { + "parameters": { + "body": { + "value": { + "packagesToInbound": [ + { + "count": 1, + "distributionPackage": { + "contents": { + "products": [ + { + "quantity": 1, + "sku": "TestDVDSku" + } + ] + }, + "measurements": { + "dimensions": { + "height": 1, + "length": 1, + "unitOfMeasurement": "INCHES", + "width": 1 + }, + "volume": { + "unitOfMeasurement": "CUIN", + "volume": 1 + }, + "weight": { + "unitOfMeasurement": "POUNDS", + "weight": 1 + } + }, + "type": "CASE" + } + }, + { + "count": 1, + "distributionPackage": { + "contents": { + "products": [ + { + "quantity": 1, + "sku": "testPen" + } + ] + }, + "measurements": { + "dimensions": { + "height": 1, + "length": 1, + "unitOfMeasurement": "INCHES", + "width": 1 + }, + "volume": { + "unitOfMeasurement": "CUIN", + "volume": 1 + }, + "weight": { + "unitOfMeasurement": "POUNDS", + "weight": 1 + } + }, + "type": "CASE" + } + } + ] + } + } + } + }, + "response": { + "ineligibilityReasons": [], + "status": "INELIGIBLE", + "packagesToInbound": [ + { + "ineligibilityReasons": [ + { + "description": "You can't use the gating service to buy this item.", + "code": "GATING_BLOCK_ON_GL" + } + ], + "status": "INELIGIBLE", + "packageQuantity": { + "count": 1, + "distributionPackage": { + "contents": { + "packages": [], + "products": [ + { + "quantity": 1, + "sku": "TestDVDSku" + } + ] + }, + "measurements": { + "dimensions": { + "height": 1.0, + "length": 1.0, + "unitOfMeasurement": "INCHES", + "width": 1.0 + }, + "volume": { + "unitOfMeasurement": "CUIN", + "volume": 1.0 + }, + "weight": { + "unitOfMeasurement": "POUNDS", + "weight": 1.0 + } + }, + "type": "CASE" + } + } + }, + { + "ineligibilityReasons": [], + "status": "ELIGIBLE", + "packageQuantity": { + "count": 1, + "distributionPackage": { + "contents": { + "packages": [], + "products": [ + { + "quantity": 1, + "sku": "testPen" + } + ] + }, + "measurements": { + "dimensions": { + "height": 1.0, + "length": 1.0, + "unitOfMeasurement": "INCHES", + "width": 1.0 + }, + "volume": { + "unitOfMeasurement": "CUIN", + "volume": 1.0 + }, + "weight": { + "unitOfMeasurement": "POUNDS", + "weight": 1.0 + } + }, + "type": "CASE" + } + } + } + ], + "previewedAt": "1688454771870" + } + } + ] + } + }, + "400": { + "description": "Request has missing or invalid parameters and cannot be parsed.", + "headers": { + "x-amzn-RateLimit-Limit": { + "description": "Your rate limit (requests per second) for this operation.", + "type": "string" + }, + "x-amzn-RequestId": { + "description": "Unique request reference identifier.", + "type": "string" + } + }, + "schema": { + "$ref": "#/definitions/ErrorList" + }, + "x-amzn-api-sandbox": { + "static": [ + { + "request": { + "parameters": { + "body": { + "value": { + "packagesToInbound": [ + { + "count": 1, + "distributionPackage": { + "contents": { + "products": [ + { + "quantity": 1, + "sku": "TestDVDSku" + } + ] + }, + "measurements": { + "dimensions": { + "height": 1, + "length": 1, + "unitOfMeasurement": "INCHES", + "width": 1 + }, + "volume": { + "unitOfMeasurement": "CUIN", + "volume": 1 + }, + "weight": { + "unitOfMeasurement": "POUNDS", + "weight": 1 + } + }, + "type": "CASE" + } + }, + { + "count": 1, + "distributionPackage": { + "contents": { + "products": [ + { + "quantity": 1, + "sku": "testPen" + } + ] + }, + "measurements": { + "dimensions": { + "height": 1, + "length": 1, + "unitOfMeasurement": "INCHES", + "width": 1 + }, + "volume": { + "unitOfMeasurement": "CUIN", + "volume": 1 + }, + "weight": { + "unitOfMeasurement": "POUNDS", + "weight": 1 + } + }, + "type": "TEST" + } + } + ] + } + } + } + }, + "response": { + "errors": [ + { + "code": "BAD_REQUEST", + "details": "This exception is thrown when client inputs are invalid", + "message": "OrderId should be present for this request" + } + ] + } + } + ] + } + }, + "403": { + "description": "Indicates that access to the resource is forbidden. Possible reasons include Access Denied, Unauthorized, Expired Token, or Invalid Signature.", + "headers": { + "x-amzn-RequestId": { + "description": "Unique request reference identifier.", + "type": "string" + } + }, + "schema": { + "$ref": "#/definitions/ErrorList" + } + }, + "404": { + "description": "The resource specified does not exist.", + "headers": { + "x-amzn-RateLimit-Limit": { + "description": "Your rate limit (requests per second) for this operation.", + "type": "string" + }, + "x-amzn-RequestId": { + "description": "Unique request reference identifier.", + "type": "string" + } + }, + "schema": { + "$ref": "#/definitions/ErrorList" + } + }, + "413": { + "description": "The request size exceeded the maximum accepted size.", + "headers": { + "x-amzn-RequestId": { + "description": "Unique request reference identifier.", + "type": "string" + } + }, + "schema": { + "$ref": "#/definitions/ErrorList" + } + }, + "415": { + "description": "The request payload is in an unsupported format.", + "headers": { + "x-amzn-RequestId": { + "description": "Unique request reference identifier.", + "type": "string" + } + }, + "schema": { + "$ref": "#/definitions/ErrorList" + } + }, + "429": { + "description": "The frequency of requests was greater than allowed.", + "headers": { + "x-amzn-RequestId": { + "description": "Unique request reference identifier.", + "type": "string" + } + }, + "schema": { + "$ref": "#/definitions/ErrorList" + } + }, + "500": { + "description": "An unexpected condition occurred that prevented the server from fulfilling the request.", + "headers": { + "x-amzn-RequestId": { + "description": "Unique request reference identifier.", + "type": "string" + } + }, + "schema": { + "$ref": "#/definitions/ErrorList" + } + }, + "503": { + "description": "Temporary overloading or maintenance of the server.", + "headers": { + "x-amzn-RequestId": { + "description": "Unique request reference identifier.", + "type": "string" + } + }, + "schema": { + "$ref": "#/definitions/ErrorList" + } + } + }, + "tags": [ + "awd" + ], + "description": "Perform a dry-run test to determine if the specified inventory is eligible for AWD inbound shipment.\n\n**Usage Plan:**\n\n| Rate (requests per second) | Burst |\n| ---- | ---- |\n| 1 | 1 |\n\nThe `x-amzn-RateLimit-Limit` response header returns the usage plan rate limits that were applied to the requested operation, when available. The table above indicates the default rate and burst values for this operation. Selling partners whose business demands require higher throughput may see higher rate and burst values than those shown here. For more information, refer to [Usage Plans and Rate Limits in the Selling Partner API](https://developer-docs.amazon.com/sp-api/docs/usage-plans-and-rate-limits-in-the-sp-api).", + "operationId": "checkInboundEligibility" + } + }, + "/awd/2024-05-09/inboundShipments": { + "get": { + "produces": [ + "application/json" + ], + "parameters": [ + { + "description": "Field to sort results by. By default, the response will be sorted by UPDATED_AT.", + "enum": [ + "UPDATED_AT", + "CREATED_AT" + ], + "in": "query", + "name": "sortBy", + "type": "string", + "x-docgen-enum-table-extension": [ + { + "description": "Sort by the time of update.", + "value": "UPDATED_AT" + }, + { + "description": "Sort by the time of creation.", + "value": "CREATED_AT" + } + ] + }, + { + "description": "Sort the response in ASCENDING or DESCENDING order. By default, the response will be sorted in DESCENDING order.", + "enum": [ + "ASCENDING", + "DESCENDING" + ], + "in": "query", + "name": "sortOrder", + "type": "string", + "x-docgen-enum-table-extension": [ + { + "description": "Sorts the collection in ascending order.", + "value": "ASCENDING" + }, + { + "description": "Sorts the collection in descending order.", + "value": "DESCENDING" + } + ], + "x-example": "ASCENDING" + }, + { + "description": "Filter by inbound shipment status.", + "enum": [ + "CREATED", + "SHIPPED", + "IN_TRANSIT", + "RECEIVING", + "DELIVERED", + "CLOSED", + "CANCELLED" + ], + "in": "query", + "name": "shipmentStatus", + "type": "string", + "x-docgen-enum-table-extension": [ + { + "description": "Shipment is created, but hasn't shipped.", + "value": "CREATED" + }, + { + "description": "Shipment was picked up by the carrier or was dropped off with the carrier.", + "value": "SHIPPED" + }, + { + "description": "The carrier has notified AWD that the shipment is in transit between the origin and destination nodes.", + "value": "IN_TRANSIT" + }, + { + "description": "The shipment has been partially received.", + "value": "RECEIVING" + }, + { + "description": "The shipment has reached the destination node and has been delivered to the facility yard. The shipment `receive` process at the warehouse will start soon.", + "value": "DELIVERED" + }, + { + "description": "No more actions are required for the shipment. This is a final state.", + "value": "CLOSED" + }, + { + "description": "The shipment is cancelled. This is a final state.", + "value": "CANCELLED" + } + ], + "x-example": "CREATED" + }, + { + "description": "List the inbound shipments that were updated after a certain time (inclusive). The date must be in ISO 8601 format.", + "format": "date-time", + "in": "query", + "name": "updatedAfter", + "type": "string", + "x-example": "2023-01-12T10:00:00.000Z" + }, + { + "description": "List the inbound shipments that were updated before a certain time (inclusive). The date must be in ISO 8601 format.", + "format": "date-time", + "in": "query", + "name": "updatedBefore", + "type": "string", + "x-example": "2023-01-12T10:00:00.000Z" + }, + { + "default": 25, + "description": "Maximum number of results to return.", + "format": "int32", + "in": "query", + "maximum": 200, + "minimum": 1, + "name": "maxResults", + "type": "integer", + "x-example": "10" + }, + { + "description": "Token to retrieve the next set of paginated results.", + "in": "query", + "name": "nextToken", + "type": "string", + "x-example": "SampleToken" + } + ], + "responses": { + "200": { + "description": "The 200 response for `listInboundShipments`.", + "headers": { + "x-amzn-RateLimit-Limit": { + "description": "Your rate limit (requests per second) for this operation.", + "type": "string" + }, + "x-amzn-RequestId": { + "description": "Unique request reference identifier.", + "type": "string" + } + }, + "schema": { + "$ref": "#/definitions/ShipmentListing" + }, + "x-amzn-api-sandbox": { + "static": [ + { + "request": { + "parameters": {} + }, + "response": { + "shipments": [{ + "createdAt": "2023-06-07T12:12:09.061Z", + "orderId": "TestOrderId", + "shipmentId": "TestShipmentId", + "shipmentStatus": "CREATED", + "updatedAt": "2023-06-07T12:12:09.061Z" + }] + } + } + ] + } + }, + "400": { + "description": "Request has missing or invalid parameters and cannot be parsed.", + "headers": { + "x-amzn-RateLimit-Limit": { + "description": "Your rate limit (requests per second) for this operation.", + "type": "string" + }, + "x-amzn-RequestId": { + "description": "Unique request reference identifier.", + "type": "string" + } + }, + "schema": { + "$ref": "#/definitions/ErrorList" + }, + "x-amzn-api-sandbox": { + "static": [ + { + "request": { + "parameters": { + "sortBy": { + "value": "TEST" + } + } + }, + "response": { + "errors": [ + { + "code": "BAD_REQUEST", + "details": "This exception is thrown when client inputs are invalid", + "message": "Invalid shipment sortable field received: TEST" + } + ] + } + } + ] + } + }, + "403": { + "description": "Indicates that access to the resource is forbidden. Possible reasons include Access Denied, Unauthorized, Expired Token, or Invalid Signature.", + "headers": { + "x-amzn-RequestId": { + "description": "Unique request reference identifier.", + "type": "string" + } + }, + "schema": { + "$ref": "#/definitions/ErrorList" + } + }, + "404": { + "description": "The resource specified does not exist.", + "headers": { + "x-amzn-RateLimit-Limit": { + "description": "Your rate limit (requests per second) for this operation.", + "type": "string" + }, + "x-amzn-RequestId": { + "description": "Unique request reference identifier.", + "type": "string" + } + }, + "schema": { + "$ref": "#/definitions/ErrorList" + } + }, + "413": { + "description": "The request size exceeded the maximum accepted size.", + "headers": { + "x-amzn-RequestId": { + "description": "Unique request reference identifier.", + "type": "string" + } + }, + "schema": { + "$ref": "#/definitions/ErrorList" + } + }, + "415": { + "description": "The request payload is in an unsupported format.", + "headers": { + "x-amzn-RequestId": { + "description": "Unique request reference identifier.", + "type": "string" + } + }, + "schema": { + "$ref": "#/definitions/ErrorList" + } + }, + "429": { + "description": "The frequency of requests was greater than allowed.", + "headers": { + "x-amzn-RequestId": { + "description": "Unique request reference identifier.", + "type": "string" + } + }, + "schema": { + "$ref": "#/definitions/ErrorList" + } + }, + "500": { + "description": "An unexpected condition occurred that prevented the server from fulfilling the request.", + "headers": { + "x-amzn-RequestId": { + "description": "Unique request reference identifier.", + "type": "string" + } + }, + "schema": { + "$ref": "#/definitions/ErrorList" + } + }, + "503": { + "description": "Temporary overloading or maintenance of the server.", + "headers": { + "x-amzn-RequestId": { + "description": "Unique request reference identifier.", + "type": "string" + } + }, + "schema": { + "$ref": "#/definitions/ErrorList" + } + } + }, + "tags": [ + "awd" + ], + "description": "Retrieves a summary of all the inbound AWD shipments associated with a merchant, with the ability to apply optional filters.\n\n**Usage Plan:**\n\n| Rate (requests per second) | Burst |\n| ---- | ---- |\n| 1 | 1 |\n\nThe `x-amzn-RateLimit-Limit` response header returns the usage plan rate limits that were applied to the requested operation, when available. The table above indicates the default rate and burst values for this operation. Selling partners whose business demands require higher throughput may see higher rate and burst values than those shown here. For more information, refer to [Usage Plans and Rate Limits in the Selling Partner API](https://developer-docs.amazon.com/sp-api/docs/usage-plans-and-rate-limits-in-the-sp-api).", + "operationId": "listInboundShipments" + } + }, + "/awd/2024-05-09/inventory": { + "get": { + "produces": [ + "application/json" + ], + "parameters": [ + { + "description": "Filter by seller or merchant SKU for the item.", + "in": "query", + "name": "sku", + "type": "string", + "x-example": "TestSKU" + }, + { + "description": "Sort the response in `ASCENDING` or `DESCENDING` order.", + "enum": [ + "ASCENDING", + "DESCENDING" + ], + "in": "query", + "name": "sortOrder", + "type": "string", + "x-docgen-enum-table-extension": [ + { + "description": "Sorts the collection in ascending order.", + "value": "ASCENDING" + }, + { + "description": "Sorts the collection in descending order.", + "value": "DESCENDING" + } + ] + }, + { + "description": "Set to `SHOW` to return summaries with additional inventory details. Defaults to `HIDE,` which returns only inventory summary totals.", + "enum": [ + "SHOW", + "HIDE" + ], + "in": "query", + "name": "details", + "type": "string", + "x-docgen-enum-table-extension": [ + { + "description": "Show the additional summarized inventory details.", + "value": "SHOW" + }, + { + "description": "Hide the additional summarized inventory details.", + "value": "HIDE" + } + ], + "x-example": "SHOW" + }, + { + "description": "Token to retrieve the next set of paginated results.", + "in": "query", + "name": "nextToken", + "type": "string", + "x-example": "SampleToken" + }, + { + "default": 25, + "description": "Maximum number of results to return.", + "format": "int32", + "in": "query", + "maximum": 200, + "minimum": 1, + "name": "maxResults", + "type": "integer", + "x-example": "10" + } + ], + "responses": { + "200": { + "description": "The 200 response for `listInventory`.", + "headers": { + "x-amzn-RateLimit-Limit": { + "description": "Your rate limit (requests per second) for this operation.", + "type": "string" + }, + "x-amzn-RequestId": { + "description": "Unique request reference identifier.", + "type": "string" + } + }, + "schema": { + "$ref": "#/definitions/InventoryListing" + }, + "x-amzn-api-sandbox": { + "static": [ + { + "request": {}, + "response": { + "inventory": [ + { + "totalOnhandQuantity": 20, + "totalInboundQuantity": 10, + "sku": "100TestSKU1Pen", + "inventoryDetails": { + "availableDistributableQuantity": 10, + "reservedDistributableQuantity": 10 + } + }, + { + "totalOnhandQuantity": 20, + "totalInboundQuantity": 5, + "sku": "2U-BKEX-VW4D", + "inventoryDetails": { + "availableDistributableQuantity": 10, + "reservedDistributableQuantity": 10 + } + } + ] + } + } + ] + } + }, + "400": { + "description": "Request has missing or invalid parameters and cannot be parsed.", + "headers": { + "x-amzn-RateLimit-Limit": { + "description": "Your rate limit (requests per second) for this operation.", + "type": "string" + }, + "x-amzn-RequestId": { + "description": "Unique request reference identifier.", + "type": "string" + } + }, + "schema": { + "$ref": "#/definitions/ErrorList" + }, + "x-amzn-api-sandbox": { + "static": [ + { + "request": { + "parameters": { + "sortOrder": { + "value": "UNKNOWN" + } + } + }, + "response": { + "errors": [ + { + "code": "BAD_REQUEST", + "details": "This exception is thrown when client inputs are invalid", + "message": "Invalid value: UNKNOWN passed for sort order. Possible values are: [ASCENDING, DESCENDING]" + } + ] + } + } + ] + } + }, + "403": { + "description": "Indicates that access to the resource is forbidden. Possible reasons include Access Denied, Unauthorized, Expired Token, or Invalid Signature.", + "headers": { + "x-amzn-RequestId": { + "description": "Unique request reference identifier.", + "type": "string" + } + }, + "schema": { + "$ref": "#/definitions/ErrorList" + } + }, + "404": { + "description": "The resource specified does not exist.", + "headers": { + "x-amzn-RateLimit-Limit": { + "description": "Your rate limit (requests per second) for this operation.", + "type": "string" + }, + "x-amzn-RequestId": { + "description": "Unique request reference identifier.", + "type": "string" + } + }, + "schema": { + "$ref": "#/definitions/ErrorList" + } + }, + "413": { + "description": "The request size exceeded the maximum accepted size.", + "headers": { + "x-amzn-RequestId": { + "description": "Unique request reference identifier.", + "type": "string" + } + }, + "schema": { + "$ref": "#/definitions/ErrorList" + } + }, + "415": { + "description": "The request payload is in an unsupported format.", + "headers": { + "x-amzn-RequestId": { + "description": "Unique request reference identifier.", + "type": "string" + } + }, + "schema": { + "$ref": "#/definitions/ErrorList" + } + }, + "429": { + "description": "The frequency of requests was greater than allowed.", + "headers": { + "x-amzn-RequestId": { + "description": "Unique request reference identifier.", + "type": "string" + } + }, + "schema": { + "$ref": "#/definitions/ErrorList" + } + }, + "500": { + "description": "An unexpected condition occurred that prevented the server from fulfilling the request.", + "headers": { + "x-amzn-RequestId": { + "description": "Unique request reference identifier.", + "type": "string" + } + }, + "schema": { + "$ref": "#/definitions/ErrorList" + } + }, + "503": { + "description": "Temporary overloading or maintenance of the server.", + "headers": { + "x-amzn-RequestId": { + "description": "Unique request reference identifier.", + "type": "string" + } + }, + "schema": { + "$ref": "#/definitions/ErrorList" + } + } + }, + "tags": [ + "awd" + ], + "description": "Lists AWD inventory associated with a merchant with the ability to apply optional filters.\n\n**Usage Plan:**\n\n| Rate (requests per second) | Burst |\n| ---- | ---- |\n| 2 | 2 |\n\nThe `x-amzn-RateLimit-Limit` response header returns the usage plan rate limits that were applied to the requested operation, when available. The table above indicates the default rate and burst values for this operation. Selling partners whose business demands require higher throughput may see higher rate and burst values than those shown here. For more information, refer to [Usage Plans and Rate Limits in the Selling Partner API](https://developer-docs.amazon.com/sp-api/docs/usage-plans-and-rate-limits-in-the-sp-api).", + "operationId": "listInventory" + } + }, + "/awd/2024-05-09/outboundOrders": { + "get": { + "produces": [ + "application/json" + ], + "parameters": [ + { + "description": "Get the outbound orders updated after a certain time (inclusive). The date must be in ISO 8601 format.", + "format": "date-time", + "in": "query", + "name": "updatedAfter", + "type": "string", + "x-example": "2023-01-12T10:00:00.000Z" + }, + { + "description": "Get the outbound orders updated before a certain time (inclusive). The date must be in ISO 8601 format.", + "format": "date-time", + "in": "query", + "name": "updatedBefore", + "type": "string", + "x-example": "2023-01-12T10:00:00.000Z" + }, + { + "description": "Sort the response in `ASCENDING` or `DESCENDING` order.", + "enum": [ + "ASCENDING", + "DESCENDING" + ], + "in": "query", + "name": "sortOrder", + "type": "string", + "x-docgen-enum-table-extension": [ + { + "description": "Sorts the collection in ascending order.", + "value": "ASCENDING" + }, + { + "description": "Sorts the collection in descending order.", + "value": "DESCENDING" + } + ] + }, + { + "default": 25, + "description": "Maximum number of results to return.", + "format": "int32", + "in": "query", + "maximum": 100, + "minimum": 1, + "name": "maxResults", + "type": "integer", + "x-example": "10" + }, + { + "description": "Token to retrieve the next set of paginated results.", + "in": "query", + "name": "nextToken", + "type": "string", + "x-example": "SampleToken" + } + ], + "responses": { + "200": { + "description": "The 200 response for `listOutbounds`.", + "headers": { + "x-amzn-RateLimit-Limit": { + "description": "Your rate limit (requests per second) for this operation.", + "type": "string" + }, + "x-amzn-RequestId": { + "description": "Unique request reference identifier.", + "type": "string" + } + }, + "schema": { + "$ref": "#/definitions/OutboundListing" + }, + "x-amzn-api-sandbox": { + "static": [ + { + "request": { + "parameters": {} + }, + "response": { + "outboundOrders": [ + { + "eligiblePackagesToOutbound": [], + "eligibleProductsToOutbound": [], + "executionErrors": [], + "orderId": "TEST_ORDER_ID", + "orderPreferences": [], + "orderStatus": "SUCCESS", + "outboundShipments": [], + "packagesToOutbound": [], + "productsToOutbound": [], + "shippedOutboundPackages": [], + "shippedOutboundProducts": [] + } + ] + } + } + ] + } + }, + "400": { + "description": "Request has missing or invalid parameters and cannot be parsed.", + "headers": { + "x-amzn-RateLimit-Limit": { + "description": "Your rate limit (requests per second) for this operation.", + "type": "string" + }, + "x-amzn-RequestId": { + "description": "Unique request reference identifier.", + "type": "string" + } + }, + "schema": { + "$ref": "#/definitions/ErrorList" + }, + "x-amzn-api-sandbox": { + "static": [ + { + "request": { + "parameters": { + "sortOrder": { + "value": "TEST" + } + } + }, + "response": { + "errors": [ + { + "code": "BAD_REQUEST", + "details": "This exception is thrown when client inputs are invalid", + "message": "Invalid sort order field: TEST" + } + ] + } + } + ] + } + }, + "403": { + "description": "Indicates that access to the resource is forbidden. Possible reasons include Access Denied, Unauthorized, Expired Token, or Invalid Signature.", + "headers": { + "x-amzn-RequestId": { + "description": "Unique request reference identifier.", + "type": "string" + } + }, + "schema": { + "$ref": "#/definitions/ErrorList" + } + }, + "404": { + "description": "The resource specified does not exist.", + "headers": { + "x-amzn-RateLimit-Limit": { + "description": "Your rate limit (requests per second) for this operation.", + "type": "string" + }, + "x-amzn-RequestId": { + "description": "Unique request reference identifier.", + "type": "string" + } + }, + "schema": { + "$ref": "#/definitions/ErrorList" + } + }, + "413": { + "description": "The request size exceeded the maximum accepted size.", + "headers": { + "x-amzn-RequestId": { + "description": "Unique request reference identifier.", + "type": "string" + } + }, + "schema": { + "$ref": "#/definitions/ErrorList" + } + }, + "415": { + "description": "The request payload is in an unsupported format.", + "headers": { + "x-amzn-RequestId": { + "description": "Unique request reference identifier.", + "type": "string" + } + }, + "schema": { + "$ref": "#/definitions/ErrorList" + } + }, + "429": { + "description": "The frequency of requests was greater than allowed.", + "headers": { + "x-amzn-RequestId": { + "description": "Unique request reference identifier.", + "type": "string" + } + }, + "schema": { + "$ref": "#/definitions/ErrorList" + } + }, + "500": { + "description": "An unexpected condition occurred that prevented the server from fulfilling the request.", + "headers": { + "x-amzn-RequestId": { + "description": "Unique request reference identifier.", + "type": "string" + } + }, + "schema": { + "$ref": "#/definitions/ErrorList" + } + }, + "503": { + "description": "Temporary overloading or maintenance of the server.", + "headers": { + "x-amzn-RequestId": { + "description": "Unique request reference identifier.", + "type": "string" + } + }, + "schema": { + "$ref": "#/definitions/ErrorList" + } + } + }, + "tags": [ + "awd" + ], + "description": "Retrieves all outbound AWD orders (with optional filters) that pertain to a merchant. By default, orders are sorted by the `updatedAt` attribute in descending order.\n\n**Usage Plan:**\n\n| Rate (requests per second) | Burst |\n| ---- | ---- |\n| 1 | 1 |\n\nThe `x-amzn-RateLimit-Limit` response header returns the usage plan rate limits that were applied to the requested operation, when available. The table above indicates the default rate and burst values for this operation. Selling partners whose business demands require higher throughput may see higher rate and burst values than those shown here. For more information, refer to [Usage Plans and Rate Limits in the Selling Partner API](https://developer-docs.amazon.com/sp-api/docs/usage-plans-and-rate-limits-in-the-sp-api).", + "operationId": "listOutbounds" + }, + "post": { + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "parameters": [ + { + "description": "Payload for creating an outbound order.", + "in": "body", + "name": "body", + "required": true, + "schema": { + "$ref": "#/definitions/OutboundOrderCreationData" + } + } + ], + "responses": { + "201": { + "description": "The 201 response for `createOutbound`.", + "headers": { + "location": { + "description": "Location header with the order ID for the newly created outbound order.", + "type": "string" + }, + "x-amzn-RateLimit-Limit": { + "description": "Your rate limit (requests per second) for this operation.", + "type": "string" + }, + "x-amzn-RequestId": { + "description": "Unique request reference identifier.", + "type": "string" + } + }, + "schema": { + "$ref": "#/definitions/OutboundOrderReference" + }, + "x-amzn-api-sandbox": { + "static": [ + { + "request": { + "parameters": { + "body": { + "value": { + "productsToOutbound": [ + { + "quantity": 20, + "sku": "TEST_SKU" + } + ] + } + } + } + }, + "response": { + "orderId": "TEST_ORDER_ID" + }, + "responseHeaders": { + "location": { + "value": "TEST_ORDER_ID" + } + } + } + ] + } + }, + "400": { + "description": "Request has missing or invalid parameters and cannot be parsed.", + "headers": { + "x-amzn-RateLimit-Limit": { + "description": "Your rate limit (requests per second) for this operation.", + "type": "string" + }, + "x-amzn-RequestId": { + "description": "Unique request reference identifier.", + "type": "string" + } + }, + "schema": { + "$ref": "#/definitions/ErrorList" + }, + "x-amzn-api-sandbox": { + "static": [ + { + "request": { + "parameters": { + "body": { + "value": { + "packagesToOutbound": [{ + "count": 20, + "distributionPackage": { + "type": "TEST", + "contents": { + "products": [ + { + "quantity": 1, + "sku": "TEST_SKU" + } + ] + } + } + }] + } + } + } + }, + "response": { + "errors": [ + { + "code": "BAD_REQUEST", + "details": "This exception is thrown when client inputs are invalid", + "message": "Invalid package type: TEST" + } + ] + } + } + ] + } + }, + "403": { + "description": "Indicates that access to the resource is forbidden. Possible reasons include Access Denied, Unauthorized, Expired Token, or Invalid Signature.", + "headers": { + "x-amzn-RequestId": { + "description": "Unique request reference identifier.", + "type": "string" + } + }, + "schema": { + "$ref": "#/definitions/ErrorList" + } + }, + "404": { + "description": "The resource specified does not exist.", + "headers": { + "x-amzn-RateLimit-Limit": { + "description": "Your rate limit (requests per second) for this operation.", + "type": "string" + }, + "x-amzn-RequestId": { + "description": "Unique request reference identifier.", + "type": "string" + } + }, + "schema": { + "$ref": "#/definitions/ErrorList" + } + }, + "413": { + "description": "The request size exceeded the maximum accepted size.", + "headers": { + "x-amzn-RequestId": { + "description": "Unique request reference identifier.", + "type": "string" + } + }, + "schema": { + "$ref": "#/definitions/ErrorList" + } + }, + "415": { + "description": "The request payload is in an unsupported format.", + "headers": { + "x-amzn-RequestId": { + "description": "Unique request reference identifier.", + "type": "string" + } + }, + "schema": { + "$ref": "#/definitions/ErrorList" + } + }, + "429": { + "description": "The frequency of requests was greater than allowed.", + "headers": { + "x-amzn-RequestId": { + "description": "Unique request reference identifier.", + "type": "string" + } + }, + "schema": { + "$ref": "#/definitions/ErrorList" + } + }, + "500": { + "description": "An unexpected condition occurred that prevented the server from fulfilling the request.", + "headers": { + "x-amzn-RequestId": { + "description": "Unique request reference identifier.", + "type": "string" + } + }, + "schema": { + "$ref": "#/definitions/ErrorList" + } + }, + "503": { + "description": "Temporary overloading or maintenance of the server.", + "headers": { + "x-amzn-RequestId": { + "description": "Unique request reference identifier.", + "type": "string" + } + }, + "schema": { + "$ref": "#/definitions/ErrorList" + } + } + }, + "tags": [ + "awd" + ], + "description": "Creates a draft AWD outbound order with the specified products. The API returns the order ID for the newly created order and starts an async validation check on the outbound products. After the validation check, the order status transitions from `VALIDATING` to `ELIGIBLE/INELIGIBLE`.\n\n**Usage Plan:**\n\n| Rate (requests per second) | Burst |\n| ---- | ---- |\n| 1 | 1 |\n\nThe `x-amzn-RateLimit-Limit` response header returns the usage plan rate limits that were applied to the requested operation, when available. The table above indicates the default rate and burst values for this operation. Selling partners whose business demands require higher throughput may see higher rate and burst values than those shown here. For more information, refer to [Usage Plans and Rate Limits in the Selling Partner API](https://developer-docs.amazon.com/sp-api/docs/usage-plans-and-rate-limits-in-the-sp-api).", + "operationId": "createOutbound" + } + }, + "/awd/2024-05-09/outboundOrders/{orderId}": { + "get": { + "produces": [ + "application/json" + ], + "parameters": [ + { + "description": "ID for the outbound order to be retrieved.", + "in": "path", + "name": "orderId", + "required": true, + "type": "string" + } + ], + "responses": { + "200": { + "description": "The 200 response for `getOutbound`.", + "headers": { + "x-amzn-RateLimit-Limit": { + "description": "Your rate limit (requests per second) for this operation.", + "type": "string" + }, + "x-amzn-RequestId": { + "description": "Unique request reference identifier.", + "type": "string" + } + }, + "schema": { + "$ref": "#/definitions/OutboundOrder" + }, + "x-amzn-api-sandbox": { + "static": [ + { + "request": { + "parameters": { + "orderId": { + "value": "TEST_ORDER_ID" + } + } + }, + "response": { + "eligiblePackagesToOutbound": [], + "eligibleProductsToOutbound": [], + "executionErrors": [], + "orderId": "TEST_ORDER_ID", + "orderPreferences": [], + "orderStatus": "SUCCESS", + "outboundShipments": [], + "packagesToOutbound": [], + "productsToOutbound": [], + "shippedOutboundPackages": [], + "shippedOutboundProducts": [] + } + } + ] + } + }, + "400": { + "description": "Request has missing or invalid parameters and cannot be parsed.", + "headers": { + "x-amzn-RateLimit-Limit": { + "description": "Your rate limit (requests per second) for this operation.", + "type": "string" + }, + "x-amzn-RequestId": { + "description": "Unique request reference identifier.", + "type": "string" + } + }, + "schema": { + "$ref": "#/definitions/ErrorList" + }, + "x-amzn-api-sandbox": { + "static": [ + { + "request": { + "parameters": { + "orderId": { + "value": " " + } + } + }, + "response": { + "errors": [ + { + "code": "BAD_REQUEST", + "details": "This exception is thrown when client inputs are invalid", + "message": "OrderId should be present for this request" + } + ] + } + } + ] + } + }, + "403": { + "description": "Indicates that access to the resource is forbidden. Possible reasons include Access Denied, Unauthorized, Expired Token, or Invalid Signature.", + "headers": { + "x-amzn-RequestId": { + "description": "Unique request reference identifier.", + "type": "string" + } + }, + "schema": { + "$ref": "#/definitions/ErrorList" + } + }, + "404": { + "description": "The resource specified does not exist.", + "headers": { + "x-amzn-RateLimit-Limit": { + "description": "Your rate limit (requests per second) for this operation.", + "type": "string" + }, + "x-amzn-RequestId": { + "description": "Unique request reference identifier.", + "type": "string" + } + }, + "schema": { + "$ref": "#/definitions/ErrorList" + } + }, + "413": { + "description": "The request size exceeded the maximum accepted size.", + "headers": { + "x-amzn-RequestId": { + "description": "Unique request reference identifier.", + "type": "string" + } + }, + "schema": { + "$ref": "#/definitions/ErrorList" + } + }, + "415": { + "description": "The request payload is in an unsupported format.", + "headers": { + "x-amzn-RequestId": { + "description": "Unique request reference identifier.", + "type": "string" + } + }, + "schema": { + "$ref": "#/definitions/ErrorList" + } + }, + "429": { + "description": "The frequency of requests was greater than allowed.", + "headers": { + "x-amzn-RequestId": { + "description": "Unique request reference identifier.", + "type": "string" + } + }, + "schema": { + "$ref": "#/definitions/ErrorList" + } + }, + "500": { + "description": "An unexpected condition occurred that prevented the server from fulfilling the request.", + "headers": { + "x-amzn-RequestId": { + "description": "Unique request reference identifier.", + "type": "string" + } + }, + "schema": { + "$ref": "#/definitions/ErrorList" + } + }, + "503": { + "description": "Temporary overloading or maintenance of the server.", + "headers": { + "x-amzn-RequestId": { + "description": "Unique request reference identifier.", + "type": "string" + } + }, + "schema": { + "$ref": "#/definitions/ErrorList" + } + } + }, + "tags": [ + "awd" + ], + "description": "Retrieves an AWD outbound order with a set of shipments that contain items that are outbound into a destination channel. If the order is not eligible, the validation errors field is included in the order response. The API returns the order ID for the newly created order and starts an async validation check on the outbound products. After the validation check, the order status transitions from `VALIDATING` to `ELIGIBLE/INELIGIBLE`.\n\n**Usage Plan:**\n\n| Rate (requests per second) | Burst |\n| ---- | ---- |\n| 1 | 1 |\n\nThe `x-amzn-RateLimit-Limit` response header returns the usage plan rate limits that were applied to the requested operation, when available. The table above indicates the default rate and burst values for this operation. Selling partners whose business demands require higher throughput may see higher rate and burst values than those shown here. For more information, refer to [Usage Plans and Rate Limits in the Selling Partner API](https://developer-docs.amazon.com/sp-api/docs/usage-plans-and-rate-limits-in-the-sp-api).", + "operationId": "getOutbound" + }, + "put": { + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "parameters": [ + { + "description": "ID for the outbound order to be updated.", + "in": "path", + "name": "orderId", + "required": true, + "type": "string" + }, + { + "description": "Represents an AWD outbound order.", + "in": "body", + "name": "body", + "required": true, + "schema": { + "$ref": "#/definitions/OutboundOrder" + } + } + ], + "responses": { + "200": { + "description": "The 200 response for `updateOutbound`.", + "headers": { + "x-amzn-RateLimit-Limit": { + "description": "Your rate limit (requests per second) for this operation.", + "type": "string" + }, + "x-amzn-RequestId": { + "description": "Unique request reference identifier.", + "type": "string" + } + }, + "schema": { + "$ref": "#/definitions/OutboundOrderReference" + }, + "x-amzn-api-sandbox": { + "static": [ + { + "request": { + "parameters": { + "orderId": { + "value": "TEST_ORDER_ID" + }, + "body": { + "value": { + "eligiblePackagesToOutbound": [], + "eligibleProductsToOutbound": [], + "executionErrors": [], + "orderId": "TEST_ORDER_ID", + "orderPreferences": [], + "orderStatus": "SUCCESS", + "outboundShipments": [], + "packagesToOutbound": [], + "productsToOutbound": [ + { + "quantity": 10, + "sku": "testPen" + } + ], + "shippedOutboundPackages": [], + "shippedOutboundProducts": [] + } + } + } + }, + "response": { + "orderId": "TEST_ORDER_ID" + } + } + ] + } + }, + "400": { + "description": "Request has missing or invalid parameters and cannot be parsed.", + "headers": { + "x-amzn-RateLimit-Limit": { + "description": "Your rate limit (requests per second) for this operation.", + "type": "string" + }, + "x-amzn-RequestId": { + "description": "Unique request reference identifier.", + "type": "string" + } + }, + "schema": { + "$ref": "#/definitions/ErrorList" + }, + "x-amzn-api-sandbox": { + "static": [ + { + "request": { + "parameters": { + "orderId": { + "value": "TEST_ORDER_ID" + }, + "body": { + "value": { + "eligiblePackagesToOutbound": [], + "eligibleProductsToOutbound": [], + "executionErrors": [], + "orderId": "TEST_ORDER_ID", + "orderPreferences": [], + "orderStatus": "SUCCESS", + "outboundShipments": [], + "packagesToOutbound": [{ + "count": 20, + "distributionPackage": { + "type": "TEST", + "contents": { + "products": [ + { + "quantity": 1, + "sku": "TEST_SKU" + } + ] + } + } + }], + "productsToOutbound": [], + "shippedOutboundPackages": [], + "shippedOutboundProducts": [] + } + } + } + }, + "response": { + "errors": [ + { + "code": "BAD_REQUEST", + "details": "This exception is thrown when client inputs are invalid", + "message": "Invalid package type: TEST" + } + ] + } + } + ] + } + }, + "403": { + "description": "Indicates that access to the resource is forbidden. Possible reasons include Access Denied, Unauthorized, Expired Token, or Invalid Signature.", + "headers": { + "x-amzn-RequestId": { + "description": "Unique request reference identifier.", + "type": "string" + } + }, + "schema": { + "$ref": "#/definitions/ErrorList" + } + }, + "404": { + "description": "The resource specified does not exist.", + "headers": { + "x-amzn-RateLimit-Limit": { + "description": "Your rate limit (requests per second) for this operation.", + "type": "string" + }, + "x-amzn-RequestId": { + "description": "Unique request reference identifier.", + "type": "string" + } + }, + "schema": { + "$ref": "#/definitions/ErrorList" + } + }, + "413": { + "description": "The request size exceeded the maximum accepted size.", + "headers": { + "x-amzn-RequestId": { + "description": "Unique request reference identifier.", + "type": "string" + } + }, + "schema": { + "$ref": "#/definitions/ErrorList" + } + }, + "415": { + "description": "The request payload is in an unsupported format.", + "headers": { + "x-amzn-RequestId": { + "description": "Unique request reference identifier.", + "type": "string" + } + }, + "schema": { + "$ref": "#/definitions/ErrorList" + } + }, + "429": { + "description": "The frequency of requests was greater than allowed.", + "headers": { + "x-amzn-RequestId": { + "description": "Unique request reference identifier.", + "type": "string" + } + }, + "schema": { + "$ref": "#/definitions/ErrorList" + } + }, + "500": { + "description": "An unexpected condition occurred that prevented the server from fulfilling the request.", + "headers": { + "x-amzn-RequestId": { + "description": "Unique request reference identifier.", + "type": "string" + } + }, + "schema": { + "$ref": "#/definitions/ErrorList" + } + }, + "503": { + "description": "Temporary overloading or maintenance of the server.", + "headers": { + "x-amzn-RequestId": { + "description": "Unique request reference identifier.", + "type": "string" + } + }, + "schema": { + "$ref": "#/definitions/ErrorList" + } + } + }, + "tags": [ + "awd" + ], + "description": "Updates an AWD outbound order that is in `DRAFT`, `ELIGIBLE`, or `INELIGIBLE` status. This API allows updates on `productsToOutbound` and `orderPreferences` attributes only. Any updates will restart the outbound order validation.\n\n**Usage Plan:**\n\n| Rate (requests per second) | Burst |\n| ---- | ---- |\n| 1 | 1 |\n\nThe `x-amzn-RateLimit-Limit` response header returns the usage plan rate limits that were applied to the requested operation, when available. The table above indicates the default rate and burst values for this operation. Selling partners whose business demands require higher throughput may see higher rate and burst values than those shown here. For more information, refer to [Usage Plans and Rate Limits in the Selling Partner API](https://developer-docs.amazon.com/sp-api/docs/usage-plans-and-rate-limits-in-the-sp-api).", + "operationId": "updateOutbound" + } + }, + "/awd/2024-05-09/outboundOrders/{orderId}/confirmation": { + "post": { + "produces": [ + "application/json" + ], + "parameters": [ + { + "description": "ID for the outbound order you want to confirm.", + "in": "path", + "name": "orderId", + "required": true, + "type": "string" + } + ], + "responses": { + "204": { + "description": "The 204 response for `confirmOutbound`.", + "headers": { + "x-amzn-RateLimit-Limit": { + "description": "Your rate limit (requests per second) for this operation.", + "type": "string" + }, + "x-amzn-RequestId": { + "description": "Unique request reference identifier.", + "type": "string" + } + }, + "x-amzn-api-sandbox": { + "static": [ + { + "request": { + "parameters": { + "orderId": { + "value": "TestOrderId1" + } + } + } + } + ] + }, + "examples": { + "application/json": [{}] + } + }, + "400": { + "description": "Request has missing or invalid parameters and cannot be parsed.", + "headers": { + "x-amzn-RateLimit-Limit": { + "description": "Your rate limit (requests per second) for this operation.", + "type": "string" + }, + "x-amzn-RequestId": { + "description": "Unique request reference identifier.", + "type": "string" + } + }, + "schema": { + "$ref": "#/definitions/ErrorList" + }, + "x-amzn-api-sandbox": { + "static": [ + { + "request": { + "parameters": { + "orderId": { + "value": " " + } + } + }, + "response": { + "errors": [ + { + "code": "BAD_REQUEST", + "details": "This exception is thrown when client inputs are invalid", + "message": "OrderId should be present for this request" + } + ] + } + } + ] + } + }, + "403": { + "description": "Indicates that access to the resource is forbidden. Possible reasons include Access Denied, Unauthorized, Expired Token, or Invalid Signature.", + "headers": { + "x-amzn-RequestId": { + "description": "Unique request reference identifier.", + "type": "string" + } + }, + "schema": { + "$ref": "#/definitions/ErrorList" + } + }, + "404": { + "description": "The resource specified does not exist.", + "headers": { + "x-amzn-RateLimit-Limit": { + "description": "Your rate limit (requests per second) for this operation.", + "type": "string" + }, + "x-amzn-RequestId": { + "description": "Unique request reference identifier.", + "type": "string" + } + }, + "schema": { + "$ref": "#/definitions/ErrorList" + } + }, + "413": { + "description": "The request size exceeded the maximum accepted size.", + "headers": { + "x-amzn-RequestId": { + "description": "Unique request reference identifier.", + "type": "string" + } + }, + "schema": { + "$ref": "#/definitions/ErrorList" + } + }, + "415": { + "description": "The request payload is in an unsupported format.", + "headers": { + "x-amzn-RequestId": { + "description": "Unique request reference identifier.", + "type": "string" + } + }, + "schema": { + "$ref": "#/definitions/ErrorList" + } + }, + "429": { + "description": "The frequency of requests was greater than allowed.", + "headers": { + "x-amzn-RequestId": { + "description": "Unique request reference identifier.", + "type": "string" + } + }, + "schema": { + "$ref": "#/definitions/ErrorList" + } + }, + "500": { + "description": "An unexpected condition occurred that prevented the server from fulfilling the request.", + "headers": { + "x-amzn-RequestId": { + "description": "Unique request reference identifier.", + "type": "string" + } + }, + "schema": { + "$ref": "#/definitions/ErrorList" + } + }, + "503": { + "description": "Temporary overloading or maintenance of the server.", + "headers": { + "x-amzn-RequestId": { + "description": "Unique request reference identifier.", + "type": "string" + } + }, + "schema": { + "$ref": "#/definitions/ErrorList" + } + } + }, + "tags": [ + "awd" + ], + "description": "Confirms an AWD outbound order for a set of shipments that contain items that must be outbound to a destination node. You can confirm the order only if it's in an`ELIGIBLE` state.\n\n**Usage Plan:**\n\n| Rate (requests per second) | Burst |\n| ---- | ---- |\n| 1 | 1 |\n\nThe `x-amzn-RateLimit-Limit` response header returns the usage plan rate limits that were applied to the requested operation, when available. The table above indicates the default rate and burst values for this operation. Selling partners whose business demands require higher throughput may see higher rate and burst values than those shown here. For more information, refer to [Usage Plans and Rate Limits in the Selling Partner API](https://developer-docs.amazon.com/sp-api/docs/usage-plans-and-rate-limits-in-the-sp-api).", + "operationId": "confirmOutbound" + } + } + }, + "definitions": { + "Address": { + "description": "Shipping address that represents the origin or destination location.", + "properties": { "addressLine1": { "description": "First line of the address text.", "type": "string" @@ -915,7 +4283,7 @@ "type": "string", "x-docgen-enum-table-extension": [ { - "description": "Standard Carrier Alpha Code. Ref: https://help.cbp.gov/s/article/Article-572?language=en_US.", + "description": "Standard Carrier Alpha Code. Refer to [What is a Standard Carrier Alpha Code](https://www.help.cbp.gov/s/article/Article-1420?language=en_US) for more information.", "value": "SCAC" } ], @@ -1077,43 +4445,515 @@ ], "example": "CASE" }, - "Error": { - "description": "Error response returned when the request is unsuccessful.", + "Error": { + "description": "Error response returned when the request is unsuccessful.", + "properties": { + "code": { + "description": "An error code that identifies the type of error that occurred.", + "type": "string" + }, + "details": { + "description": "Additional details that can help the caller understand or fix the issue.", + "type": "string" + }, + "message": { + "description": "A message that describes the error condition.", + "type": "string" + } + }, + "required": [ + "code", + "message" + ], + "type": "object" + }, + "ErrorList": { + "description": "This exception is thrown when client inputs are invalid.", + "properties": { + "errors": { + "description": "A list of errors describing the failures.", + "items": { + "$ref": "#/definitions/Error" + }, + "type": "array" + } + }, + "type": "object", + "required": [ + "errors" + ] + }, + "FormatType": { + "description": "The label format type extension.", + "enum": [ + "PDF" + ], + "type": "string", + "x-docgen-enum-table-extension": [ + { + "description": "PDF format.", + "value": "PDF" + } + ], + "example": "PDF" + }, + "InboundEligibility": { + "description": "Represents the eligibility status of the inbound packages.", + "properties": { + "ineligibilityReasons": { + "description": "If there are order level eligibility issues, then this list will contain those error codes and descriptions.", + "items": { + "$ref": "#/definitions/OrderIneligibilityReason" + }, + "type": "array" + }, + "packagesToInbound": { + "description": "Details on SKU eligibility for each inbound package.", + "items": { + "$ref": "#/definitions/SkuEligibility" + }, + "type": "array" + }, + "previewedAt": { + "description": "Timestamp when the eligibility check is performed.", + "format": "date-time", + "type": "string" + }, + "status": { + "$ref": "#/definitions/InboundEligibilityStatus" + } + }, + "required": [ + "packagesToInbound", + "previewedAt", + "status" + ], + "type": "object" + }, + "InboundEligibilityStatus": { + "description": "Enum denoting the package inbound eligibility.", + "enum": [ + "ELIGIBLE", + "INELIGIBLE" + ], + "type": "string", + "x-docgen-enum-table-extension": [ + { + "description": "Eligible to inbound.", + "value": "ELIGIBLE" + }, + { + "description": "Ineligible to inbound.", + "value": "INELIGIBLE" + } + ] + }, + "InboundOrder": { + "description": "Represents an AWD inbound order.", + "properties": { + "channelPlacedInboundShipments": { + "description": "List of inbound shipments part of this order.", + "items": { + "$ref": "#/definitions/InboundShipment" + }, + "minItems": 1, + "type": "array" + }, + "createdAt": { + "description": "Date when this order was created.", + "format": "date-time", + "type": "string" + }, + "externalReferenceId": { + "description": "Reference ID that can be used to correlate the order with partner resources.", + "type": "string", + "example": "TestReferenceId" + }, + "orderId": { + "description": "Inbound order ID.", + "type": "string" + }, + "orderStatus": { + "description": "Inbound order status.", + "$ref": "#/definitions/InboundStatus" + }, + "orderVersion": { + "description": "Inbound order version.", + "type": "string" + }, + "originAddress": { + "description": "Origin address from where the inbound order will be shipped.", + "$ref": "#/definitions/Address" + }, + "packagesToInbound": { + "description": "List of packages to be inbounded.", + "items": { + "$ref": "#/definitions/DistributionPackageQuantity" + }, + "minItems": 1, + "type": "array" + }, + "shipBy": { + "description": "Date by which this order will be shipped.", + "format": "date-time", + "type": "string", + "example": "2023-01-12T10:00:00.000Z" + }, + "transportationPreference": { + "description": "Represents the transportation preference for the inbound order. We only support `SELLER_MANAGED`.", + "$ref": "#/definitions/TransportationPreference" + }, + "updatedAt": { + "description": "Date when this order was last updated.", + "format": "date-time", + "type": "string" + } + }, + "required": [ + "channelPlacedInboundShipments", + "createdAt", + "orderId", + "orderStatus", + "orderVersion", + "originAddress", + "packagesToInbound", + "transportationPreference" + ], + "type": "object", + "example": { + "channelPlacedInboundShipments": [ + { + "destinationAddress": { + "addressLine1": "address_1", + "addressLine2": "address_2", + "addressLine3": "address_3", + "city": "Seattle", + "countryCode": "US", + "county": "Washington", + "district": "District1", + "name": "address_name", + "phoneNumber": "+14155552671", + "postalCode": "123456", + "stateOrRegion": "Washington" + }, + "orderId": "TestOrderId", + "originAddress": { + "addressLine1": "address_1", + "addressLine2": "address_2", + "addressLine3": "address_3", + "city": "Seattle", + "countryCode": "US", + "county": "Washington", + "district": "District1", + "name": "address_name", + "phoneNumber": "+14155552671", + "postalCode": "123456", + "stateOrRegion": "Washington" + }, + "receivedQuantity": [], + "shipmentContainerQuantities": [ + { + "count": 1, + "distributionPackage": { + "contents": { + "packages": [], + "products": [ + { + "quantity": 1, + "sku": "testPen" + } + ] + }, + "measurements": { + "dimensions": { + "height": 2.54, + "length": 2.54, + "unitOfMeasurement": "CENTIMETERS", + "width": 2.54 + }, + "weight": { + "unitOfMeasurement": "KILOGRAMS", + "weight": 0.453592 + } + }, + "type": "CASE" + } + } + ], + "shipmentId": "TestShipmentId", + "shipmentStatus": "CREATED" + } + ], + "createdAt": "2023-06-07T12:12:09.061Z", + "externalReferenceId": "TestReferenceId", + "orderId": "TestOrderId", + "orderStatus": "DRAFT", + "orderVersion": "2", + "originAddress": { + "addressLine1": "address_1", + "addressLine2": "address_2", + "addressLine3": "address_3", + "city": "Seattle", + "countryCode": "US", + "county": "Washington", + "district": "District1", + "name": "address_name", + "phoneNumber": "+14155552671", + "postalCode": "123456", + "stateOrRegion": "Washington" + }, + "packagesToInbound": [ + { + "count": 1, + "distributionPackage": { + "contents": { + "packages": [], + "products": [ + { + "quantity": 1, + "sku": "testPen" + } + ] + }, + "measurements": { + "dimensions": { + "height": 2.54, + "length": 2.54, + "unitOfMeasurement": "CENTIMETERS", + "width": 2.54 + }, + "weight": { + "unitOfMeasurement": "KILOGRAMS", + "weight": 0.453592 + } + }, + "type": "CASE" + } + } + ], + "shipBy": "2023-06-07T12:12:09.061Z", + "transportationPreference": "SELLER_MANAGED", + "updatedAt": "2023-06-07T12:12:09.061Z" + } + }, + "InboundOrderCreationData": { + "description": "Payload for creating an inbound order.", + "properties": { + "externalReferenceId": { + "description": "Reference ID that can be used to correlate the order with partner resources.", + "type": "string", + "example": "TestReferenceId" + }, + "originAddress": { + "description": "Origin address from where the inbound order will be shipped.", + "$ref": "#/definitions/Address" + }, + "packagesToInbound": { + "description": "List of packages to be inbounded.", + "items": { + "$ref": "#/definitions/DistributionPackageQuantity" + }, + "minItems": 1, + "type": "array", + "example": [ + { + "count": 1, + "distributionPackage": { + "contents": { + "products": [ + { + "quantity": 1, + "sku": "testPen" + } + ] + }, + "measurements": { + "dimensions": { + "height": 1, + "length": 1, + "unitOfMeasurement": "INCHES", + "width": 1 + }, + "volume": { + "unitOfMeasurement": "CUIN", + "volume": 1 + }, + "weight": { + "unitOfMeasurement": "POUNDS", + "weight": 1 + } + }, + "type": "CASE" + } + } + ] + }, + "shipBy": { + "description": "Estimated date by when goods have to be picked up.", + "format": "date-time", + "type": "string", + "example": "2023-06-07T12:12:09.061Z" + }, + "transportationPreference": { + "description": "Represents the transportation preference to be used for the inbound order. We only support `SELLER_MANAGED`", + "$ref": "#/definitions/TransportationPreference" + } + }, + "required": [ + "originAddress", + "packagesToInbound", + "transportationPreference" + ], + "type": "object", + "example": { + "externalReferenceId": "TestReferenceId", + "originAddress": { + "addressLine1": "address_1", + "addressLine2": "address_2", + "addressLine3": "address_3", + "city": "City1", + "countryCode": "CC", + "district": "District1", + "name": "address_name", + "postalCode": "123456", + "stateOrRegion": "State1" + }, + "packagesToInbound": [ + { + "count": 1, + "distributionPackage": { + "contents": { + "products": [ + { + "quantity": 1, + "sku": "testPen" + } + ] + }, + "measurements": { + "dimensions": { + "height": 1, + "length": 1, + "unitOfMeasurement": "INCHES", + "width": 1 + }, + "volume": { + "unitOfMeasurement": "CUIN", + "volume": 1 + }, + "weight": { + "unitOfMeasurement": "POUNDS", + "weight": 1 + } + }, + "type": "CASE" + } + } + ], + "shipBy": "2023-06-07T12:12:09.061Z", + "transportationPreference": "SELLER_MANAGED" + } + }, + "InboundOrderReference": { + "description": "A response that contains the reference identifiers for the newly created or updated inbound order. Consists of an order ID and version.", "properties": { - "code": { - "description": "An error code that identifies the type of error that occurred.", - "type": "string" - }, - "details": { - "description": "Additional details that can help the caller understand or fix the issue.", + "orderId": { + "description": "Order ID of the inbound order.", "type": "string" }, - "message": { - "description": "A message that describes the error condition.", + "orderVersion": { + "description": "Order version of the inbound order.", "type": "string" } }, "required": [ - "code", - "message" + "orderId", + "orderVersion" ], "type": "object" }, - "ErrorList": { - "description": "This exception is thrown when client inputs are invalid.", + "InboundPackages": { + "description": "Represents the packages to inbound.", "properties": { - "errors": { - "description": "A list of errors describing the failures.", + "packagesToInbound": { + "description": "List of packages to be inbounded.", "items": { - "$ref": "#/definitions/Error" + "$ref": "#/definitions/DistributionPackageQuantity" }, - "type": "array" + "minItems": 1, + "type": "array", + "example": [ + { + "count": 1, + "distributionPackage": { + "contents": { + "products": [ + { + "quantity": 1, + "sku": "testPen" + } + ] + }, + "measurements": { + "dimensions": { + "height": 1, + "length": 1, + "unitOfMeasurement": "INCHES", + "width": 1 + }, + "volume": { + "unitOfMeasurement": "CUIN", + "volume": 1 + }, + "weight": { + "unitOfMeasurement": "POUNDS", + "weight": 1 + } + }, + "type": "CASE" + } + } + ] } }, - "type": "object", "required": [ - "errors" - ] + "packagesToInbound" + ], + "type": "object", + "example": { + "packagesToInbound": [ + { + "count": 1, + "distributionPackage": { + "contents": { + "products": [ + { + "quantity": 1, + "sku": "testPen" + } + ] + }, + "measurements": { + "dimensions": { + "height": 1, + "length": 1, + "unitOfMeasurement": "INCHES", + "width": 1 + }, + "volume": { + "unitOfMeasurement": "CUIN", + "volume": 1 + }, + "weight": { + "unitOfMeasurement": "POUNDS", + "weight": 1 + } + }, + "type": "CASE" + } + } + ] + } }, "InboundShipment": { "description": "Represents an AWD inbound shipment.", @@ -1169,6 +5009,13 @@ "minLength": 1, "type": "string" }, + "shipmentSkuQuantities": { + "description": "Quantity details at SKU level for the shipment. This attribute will only appear if the skuQuantities parameter in the request is set to SHOW.", + "items": { + "$ref": "#/definitions/SkuQuantity" + }, + "type": "array" + }, "shipmentStatus": { "description": "Current status of this shipment.", "$ref": "#/definitions/InboundShipmentStatus" @@ -1199,226 +5046,865 @@ ], "type": "object" }, - "InboundShipmentStatus": { - "description": "Possible shipment statuses used by shipments.", + "InboundShipmentStatus": { + "description": "Possible shipment statuses used by shipments.", + "enum": [ + "CREATED", + "SHIPPED", + "IN_TRANSIT", + "RECEIVING", + "DELIVERED", + "CLOSED", + "CANCELLED" + ], + "type": "string", + "x-docgen-enum-table-extension": [ + { + "description": "Shipment is created but has not yet shipped.", + "value": "CREATED" + }, + { + "description": "Shipment was picked up by the carrier or was dropped off with the carrier.", + "value": "SHIPPED" + }, + { + "description": "The carrier has notified AWD that the shipment is in transit between origin and destination node.", + "value": "IN_TRANSIT" + }, + { + "description": "The shipment has been partially received.", + "value": "RECEIVING" + }, + { + "description": "The shipment has reached the destination node and has been delivered to the facility yard. The shipment receive process at the warehouse will start soon.", + "value": "DELIVERED" + }, + { + "description": "No more actions required on the shipment. This is a final state.", + "value": "CLOSED" + }, + { + "description": "Shipment has been cancelled. This is a final state.", + "value": "CANCELLED" + } + ] + }, + "InboundShipmentSummary": { + "description": "Summary for an AWD inbound shipment containing the shipment ID, which can be used to retrieve the actual shipment.", + "properties": { + "createdAt": { + "description": "Timestamp when the shipment was created.", + "format": "date-time", + "type": "string" + }, + "externalReferenceId": { + "description": "Optional client-provided reference ID that can be used to correlate this shipment with client resources. For example, to map this shipment to an internal bookkeeping order record.", + "type": "string", + "example": "TestReferenceId" + }, + "orderId": { + "description": "The AWD inbound order ID that this inbound shipment belongs to.", + "minLength": 1, + "type": "string" + }, + "shipmentId": { + "description": "A unique shipment ID.", + "minLength": 1, + "type": "string" + }, + "shipmentStatus": { + "$ref": "#/definitions/InboundShipmentStatus" + }, + "updatedAt": { + "description": "Timestamp when the shipment was updated.", + "format": "date-time", + "type": "string" + } + }, + "required": [ + "orderId", + "shipmentId", + "shipmentStatus" + ], + "type": "object" + }, + "InboundStatus": { + "description": "The supported statuses for an inbound order.", + "enum": [ + "DRAFT", + "VALIDATING", + "CONFIRMED", + "CLOSED", + "EXPIRED", + "CANCELLED" + ], + "type": "string", + "x-docgen-enum-table-extension": [ + { + "description": "A newly created inbound order will start in this state.", + "value": "DRAFT" + }, + { + "description": "The order is in this state while being updated. Once updated, the order will enter the updated state.", + "value": "VALIDATING" + }, + { + "description": "The order enters this state as soon as the order is confirmed.", + "value": "CONFIRMED" + }, + { + "description": "The order enters this state when all associated shipments are closed.", + "value": "CLOSED" + }, + { + "description": "The order enters this state if it is not confirmed within a time limit.", + "value": "EXPIRED" + } + ] + }, + "InventoryDetails": { + "description": "Additional inventory details. This object is only displayed if the details parameter in the request is set to `SHOW`.", + "properties": { + "availableDistributableQuantity": { + "description": "Quantity that is available for downstream channel replenishment.", + "format": "int64", + "type": "integer" + }, + "reservedDistributableQuantity": { + "description": "Quantity that is reserved for a downstream channel replenishment order that is being prepared for shipment.", + "format": "int64", + "type": "integer" + } + }, + "type": "object" + }, + "InventoryDetailsVisibility": { + "description": "Enum to specify if returned summaries should include additional summarized inventory details and quantities.", + "enum": [ + "SHOW", + "HIDE" + ], + "type": "string", + "x-docgen-enum-table-extension": [ + { + "description": "Show the additional summarized inventory details.", + "value": "SHOW" + }, + { + "description": "Hide the additional summarized inventory details.", + "value": "HIDE" + } + ], + "example": "SHOW" + }, + "InventoryListing": { + "description": "AWD inventory payload.", + "properties": { + "inventory": { + "description": "List of inventory summaries.", + "items": { + "$ref": "#/definitions/InventorySummary" + }, + "type": "array" + }, + "nextToken": { + "description": "Token to retrieve the next set of paginated results.", + "type": "string", + "example": "SampleToken" + } + }, + "required": [ + "inventory" + ], + "type": "object" + }, + "InventoryQuantity": { + "description": "Quantity of inventory with an associated measurement unit context.", + "properties": { + "quantity": { + "description": "Quantity of the respective inventory.", + "type": "number" + }, + "unitOfMeasurement": { + "description": "Unit of measurement for the inventory.", + "$ref": "#/definitions/InventoryUnitOfMeasurement" + } + }, + "required": [ + "quantity", + "unitOfMeasurement" + ], + "type": "object" + }, + "InventorySummary": { + "description": "Summary of inventory per SKU.", + "properties": { + "inventoryDetails": { + "$ref": "#/definitions/InventoryDetails" + }, + "sku": { + "description": "The seller or merchant SKU.", + "type": "string" + }, + "totalInboundQuantity": { + "description": "Total quantity that is in-transit from the seller and has not yet been received at an AWD Distribution Center", + "format": "int64", + "type": "integer" + }, + "totalOnhandQuantity": { + "description": "Total quantity that is present in AWD distribution centers.", + "format": "int64", + "type": "integer" + } + }, + "required": [ + "sku" + ], + "type": "object" + }, + "InventoryUnitOfMeasurement": { + "description": "Unit of measurement for the inventory.", "enum": [ - "CREATED", - "SHIPPED", - "IN_TRANSIT", - "RECEIVING", - "DELIVERED", - "CLOSED", - "CANCELLED" + "PRODUCT_UNITS", + "CASES", + "PALLETS" ], "type": "string", "x-docgen-enum-table-extension": [ { - "description": "Shipment is created but has not yet shipped.", - "value": "CREATED" + "description": "Measures a discrete amount of product units.", + "value": "PRODUCT_UNITS" }, { - "description": "Shipment was picked up by the carrier or was dropped off with the carrier.", - "value": "SHIPPED" + "description": "Measures a discrete amount of cases.", + "value": "CASES" }, { - "description": "The carrier has notified AWD that the shipment is in transit between origin and destination node.", - "value": "IN_TRANSIT" - }, + "description": "Measures a discrete amount of pallets.", + "value": "PALLETS" + } + ] + }, + "LabelStatus": { + "description": "The status of your label.", + "enum": [ + "GENERATING", + "GENERATED", + "GENERATION_FAILED", + "NOT_READY" + ], + "type": "string", + "x-docgen-enum-table-extension": [ { - "description": "The shipment has been partially received.", - "value": "RECEIVING" + "description": "Labels are being generated.", + "value": "GENERATING" }, { - "description": "The shipment has reached the destination node and has been delivered to the facility yard. The shipment receive process at the warehouse will start soon.", - "value": "DELIVERED" + "description": "Labels are generated.", + "value": "GENERATED" }, { - "description": "No more actions required on the shipment. This is a final state.", - "value": "CLOSED" + "description": "Label generation failed.", + "value": "GENERATION_FAILED" }, { - "description": "Shipment has been cancelled. This is a final state.", - "value": "CANCELLED" + "description": "Not yet ready to start label generation.", + "value": "NOT_READY" } ] }, - "InboundShipmentSummary": { - "description": "Summary for an AWD inbound shipment containing the shipment ID, which can be used to retrieve the actual shipment.", + "MeasurementData": { + "description": "Package weight and dimension.", "properties": { - "createdAt": { - "description": "Timestamp when the shipment was created.", - "format": "date-time", - "type": "string" - }, - "externalReferenceId": { - "description": "Optional client-provided reference ID that can be used to correlate this shipment with client resources. For example, to map this shipment to an internal bookkeeping order record.", - "type": "string", - "example": "TestReferenceId" - }, - "orderId": { - "description": "The AWD inbound order ID that this inbound shipment belongs to.", - "minLength": 1, - "type": "string" - }, - "shipmentId": { - "description": "A unique shipment ID.", - "minLength": 1, - "type": "string" + "dimensions": { + "description": "Dimensions of the package. Dimensions are required when creating an inbound or outbound order.", + "$ref": "#/definitions/PackageDimensions" }, - "shipmentStatus": { - "$ref": "#/definitions/InboundShipmentStatus" + "volume": { + "description": "Volume of the package.", + "$ref": "#/definitions/PackageVolume" }, - "updatedAt": { - "description": "Timestamp when the shipment was updated.", - "format": "date-time", - "type": "string" + "weight": { + "description": "Weight of the package.", + "$ref": "#/definitions/PackageWeight" } }, "required": [ - "orderId", - "shipmentId", - "shipmentStatus" + "weight" ], "type": "object" }, - "InventoryDetails": { - "description": "Additional inventory details. This object is only displayed if the details parameter in the request is set to `SHOW`.", + "OrderAttribute": { + "description": "Consists of the order preference and corresponding preference value.", "properties": { - "availableDistributableQuantity": { - "description": "Quantity that is available for downstream channel replenishment.", - "format": "int64", - "type": "integer" + "orderPreference": { + "description": "Preference for the distribution order.", + "$ref": "#/definitions/OrderPreference" }, - "reservedDistributableQuantity": { - "description": "Quantity that is reserved for a downstream channel replenishment order that is being prepared for shipment.", - "format": "int64", - "type": "integer" + "orderPreferenceValue": { + "description": "Value for the order preference.", + "$ref": "#/definitions/OrderPreferenceValue" } }, - "type": "object" + "required": [ + "orderPreference", + "orderPreferenceValue" + ], + "type": "object", + "example": { + "orderPreference": "PARTIAL_ORDER", + "orderPreferenceValue": "SET" + } }, - "InventoryDetailsVisibility": { - "description": "Enum to specify if returned summaries should include additional summarized inventory details and quantities.", + "OrderIneligibilityReason": { + "description": "Represents one ineligibility reason for the order (there can be multiple reasons).", + "properties": { + "code": { + "description": "Code for the order ineligibility.", + "type": "string", + "example": "INVALID_MSKU" + }, + "description": { + "description": "Description detailing the ineligibility reason of the order.", + "type": "string", + "example": "The MSKU passed as part of order is invalid" + } + }, + "required": [ + "code", + "description" + ], + "type": "object", + "example": { + "code": "INVALID_MSKU", + "description": "The MSKU of an invalid order." + } + }, + "OrderPreference": { + "description": "Supported preferences for the distribution order.", "enum": [ - "SHOW", - "HIDE" + "PARTIAL_ORDER" ], "type": "string", "x-docgen-enum-table-extension": [ { - "description": "Show the additional summarized inventory details.", - "value": "SHOW" + "description": "Represents a partial order case.", + "value": "PARTIAL_ORDER" + } + ], + "example": "PARTIAL_ORDER" + }, + "OrderPreferenceValue": { + "description": "Value for the order preference.", + "enum": [ + "SET", + "UNSET" + ], + "type": "string", + "x-docgen-enum-table-extension": [ + { + "description": "Sets the order preference.", + "value": "SET" }, { - "description": "Hide the additional summarized inventory details.", - "value": "HIDE" + "description": "Unsets the order preference.", + "value": "UNSET" } ], - "example": "SHOW" + "example": "SET" }, - "InventoryListing": { - "description": "AWD inventory payload.", + "OutboundExecutionError": { + "description": "Execution errors associated with the outbound order. This field will be populated if the order failed validation.", "properties": { - "inventory": { - "description": "List of inventory summaries.", + "failureCode": { + "description": "Failure code details for the error.", + "type": "string", + "example": "TestErrorCode" + }, + "failureReasons": { + "description": "Failure reasons for the error.", "items": { - "$ref": "#/definitions/InventorySummary" + "type": "string" }, - "type": "array" + "type": "array", + "example": [ + "Test failure reason" + ] }, + "sku": { + "description": "MSKU associated with the error.", + "type": "string", + "example": "SampleSKU" + } + }, + "required": [ + "failureCode", + "failureReasons" + ], + "type": "object", + "example": { + "failureCode": "TestErrorCode", + "failureReasons": [ + "Test failure reason" + ], + "sku": "SampleSKU" + } + }, + "OutboundListing": { + "description": "A list of paginated outbound orders filtered by the attributes passed in the request.", + "properties": { "nextToken": { "description": "Token to retrieve the next set of paginated results.", "type": "string", "example": "SampleToken" + }, + "outboundOrders": { + "description": "List of outbound orders.", + "items": { + "$ref": "#/definitions/OutboundOrder" + }, + "type": "array" + } + }, + "type": "object" + }, + "OutboundOrder": { + "description": "Represents an AWD outbound order.", + "properties": { + "confirmedOn": { + "description": "Date on which this outbound order was confirmed.", + "format": "date-time", + "type": "string", + "example": "2023-01-12T10:00:00.000Z" + }, + "createdAt": { + "description": "Date on which this outbound order was created.", + "format": "date-time", + "type": "string", + "example": "2023-01-12T10:00:00.000Z" + }, + "eligiblePackagesToOutbound": { + "description": "List of packages that are eligible for outbound.", + "items": { + "$ref": "#/definitions/DistributionPackageQuantity" + }, + "type": "array" + }, + "eligibleProductsToOutbound": { + "description": "List of product units that are eligible for outbound.", + "items": { + "$ref": "#/definitions/ProductQuantity" + }, + "type": "array" + }, + "executionErrors": { + "description": "Execution errors associated with the outbound order. This field will be populated if the order failed validation.", + "items": { + "$ref": "#/definitions/OutboundExecutionError" + }, + "type": "array" + }, + "orderId": { + "description": "Order ID for the outbound order.", + "type": "string" + }, + "orderPreferences": { + "description": "Order preferences for this outbound order.", + "items": { + "$ref": "#/definitions/OrderAttribute" + }, + "type": "array" + }, + "orderStatus": { + "description": "Status for the outbound order.", + "$ref": "#/definitions/OutboundStatus" + }, + "outboundShipments": { + "description": "List of outbound shipments that are part of this order.", + "items": { + "$ref": "#/definitions/OutboundShipment" + }, + "type": "array" + }, + "packagesToOutbound": { + "description": "List of packages to be outbound.", + "items": { + "$ref": "#/definitions/DistributionPackageQuantity" + }, + "type": "array" + }, + "productsToOutbound": { + "description": "List of product units to be outbound.", + "items": { + "$ref": "#/definitions/ProductQuantity" + }, + "type": "array" + }, + "shippedOutboundPackages": { + "description": "Outbound packages that are shipped after the execution has completed post confirmation.", + "items": { + "$ref": "#/definitions/DistributionPackageQuantity" + }, + "type": "array" + }, + "shippedOutboundProducts": { + "description": "Outbound product units that are shipped after the execution has completed post confirmation.", + "items": { + "$ref": "#/definitions/ProductQuantity" + }, + "type": "array" + }, + "updatedAt": { + "description": "Date on which this outbound order was last updated.", + "format": "date-time", + "type": "string", + "example": "2023-01-12T10:00:00.000Z" } }, "required": [ - "inventory" + "orderId", + "orderStatus", + "outboundShipments" ], "type": "object" }, - "InventoryQuantity": { - "description": "Quantity of inventory with an associated measurement unit context.", + "OutboundOrderCreationData": { + "description": "Payload for creating an outbound order.", + "properties": { + "orderPreferences": { + "description": "Order preferences for the outbound order.", + "items": { + "$ref": "#/definitions/OrderAttribute" + }, + "type": "array", + "example": [{ + "orderPreference": "PARTIAL_ORDER", + "orderPreferenceValue": "SET" + }] + }, + "packagesToOutbound": { + "description": "List of packages to be outbound.", + "items": { + "$ref": "#/definitions/DistributionPackageQuantity" + }, + "type": "array", + "example": [{ + "count": 1, + "distributionPackage": { + "contents": { + "products": [ + { + "quantity": 1, + "sku": "testPen" + } + ] + }, + "measurements": { + "dimensions": { + "height": 1, + "length": 1, + "unitOfMeasurement": "INCHES", + "width": 1 + }, + "volume": { + "unitOfMeasurement": "CUIN", + "volume": 1 + }, + "weight": { + "unitOfMeasurement": "POUNDS", + "weight": 1 + } + }, + "type": "CASE" + } + }] + }, + "productsToOutbound": { + "description": "List of product units to be outbound.", + "items": { + "$ref": "#/definitions/ProductQuantity" + }, + "type": "array", + "example": [{ + "sku": "TestSKU", + "quantity": 1 + }] + } + }, + "type": "object", + "example": { + "packagesToOutbound": [{ + "count": 1, + "distributionPackage": { + "contents": { + "products": [ + { + "quantity": 1, + "sku": "testPen" + } + ] + }, + "measurements": { + "dimensions": { + "height": 1, + "length": 1, + "unitOfMeasurement": "INCHES", + "width": 1 + }, + "volume": { + "unitOfMeasurement": "CUIN", + "volume": 1 + }, + "weight": { + "unitOfMeasurement": "POUNDS", + "weight": 1 + } + }, + "type": "CASE" + } + }], + "productsToOutbound": [], + "orderPreferences": [{ + "orderPreference": "PARTIAL_ORDER", + "orderPreferenceValue": "SET" + }] + } + }, + "OutboundOrderReference": { + "description": "A response that contains the reference identifier for the newly created or updated outbound order. This includes an order ID.", "properties": { - "quantity": { - "description": "Quantity of the respective inventory.", - "type": "number" - }, - "unitOfMeasurement": { - "description": "Unit of measurement for the inventory.", - "$ref": "#/definitions/InventoryUnitOfMeasurement" + "orderId": { + "description": "outbound order ID.", + "type": "string" } }, "required": [ - "quantity", - "unitOfMeasurement" + "orderId" ], "type": "object" }, - "InventorySummary": { - "description": "Summary of inventory per SKU.", + "OutboundShipment": { + "description": "Represents an AWD outbound shipment.", "properties": { - "inventoryDetails": { - "$ref": "#/definitions/InventoryDetails" + "createdAt": { + "description": "Timestamp when the shipment was created.", + "format": "date-time", + "type": "string" }, - "sku": { - "description": "The seller or merchant SKU.", + "destinationAddress": { + "description": "Destination address for this shipment.", + "$ref": "#/definitions/Address" + }, + "orderId": { + "description": "Outbound order ID this outbound shipment belongs to.", "type": "string" }, - "totalOnhandQuantity": { - "description": "Total quantity that is present in AWD distribution centers.", - "format": "int64", - "type": "integer" + "originAddress": { + "description": "Origin address for this shipment.", + "$ref": "#/definitions/Address" + }, + "shipmentPackageQuantities": { + "description": "Specific distribution packages that are included in the context of this shipment.", + "items": { + "$ref": "#/definitions/DistributionPackageQuantity" + }, + "type": "array" + }, + "shipmentId": { + "description": "Unique shipment ID.", + "type": "string" + }, + "shipmentProductQuantities": { + "description": "Specific product units that are included in the context of this shipment.", + "items": { + "$ref": "#/definitions/ProductQuantity" + }, + "type": "array" + }, + "shipmentStatus": { + "description": "Current status of this shipment.", + "$ref": "#/definitions/OutboundShipmentStatus" + }, + "updatedAt": { + "description": "Timestamp when the shipment was updated.", + "format": "date-time", + "type": "string" } }, "required": [ - "sku" + "destinationAddress", + "orderId", + "originAddress", + "shipmentId", + "shipmentStatus" ], - "type": "object" + "type": "object", + "example": { + "createdAt": "2023-01-12T10:00:00.000Z", + "destinationAddress": { + "addressLine1": "address_1", + "addressLine2": "address_2", + "addressLine3": "address_3", + "city": "Seattle", + "countryCode": "US", + "county": "Washington", + "district": "District1", + "name": "address_name", + "phoneNumber": "+14155552671", + "postalCode": "123456", + "stateOrRegion": "Washington" + }, + "originAddress": { + "addressLine1": "address_1", + "addressLine2": "address_2", + "addressLine3": "address_3", + "city": "Seattle", + "countryCode": "US", + "county": "Washington", + "district": "District1", + "name": "address_name", + "phoneNumber": "+14155552671", + "postalCode": "123456", + "stateOrRegion": "Washington" + }, + "orderId": "TestOrderId", + "shipmentId": "TestShipmentId", + "shipmentPackageQuantities": [{ + "count": 1, + "distributionPackage": { + "contents": { + "products": [ + { + "quantity": 1, + "sku": "testPen" + } + ] + }, + "measurements": { + "dimensions": { + "height": 1, + "length": 1, + "unitOfMeasurement": "INCHES", + "width": 1 + }, + "volume": { + "unitOfMeasurement": "CUIN", + "volume": 1 + }, + "weight": { + "unitOfMeasurement": "POUNDS", + "weight": 1 + } + }, + "type": "CASE" + } + }], + "shipmentProductQuantities": [], + "shipmentStatus": "CREATED", + "updatedAt": "2023-01-12T10:00:00.000Z" + } }, - "InventoryUnitOfMeasurement": { - "description": "Unit of measurement for the inventory.", + "OutboundShipmentStatus": { + "description": "Possible shipment statuses for outbound shipments.", "enum": [ - "PRODUCT_UNITS", - "CASES", - "PALLETS" + "CREATED", + "IN_TRANSIT", + "DELIVERED", + "RECEIVING", + "RECEIVED", + "CLOSED", + "CANCELLED", + "FAILED" ], "type": "string", "x-docgen-enum-table-extension": [ { - "description": "Measures a discrete amount of product units.", - "value": "PRODUCT_UNITS" + "description": "Shipment is created. No inventory has been picked up at the source node.", + "value": "CREATED" }, { - "description": "Measures a discrete amount of cases.", - "value": "CASES" + "description": "Carrier acknowledged that the shipment is in transit between the origin node and destination node.", + "value": "IN_TRANSIT" }, { - "description": "Measures a discrete amount of pallets.", - "value": "PALLETS" + "description": "Carrier indicated that the shipment has arrived at the destination node, but the destination node has not acknowledged the delivery.", + "value": "DELIVERED" + }, + { + "description": "Destination node acknowledged the arrival of the shipment.", + "value": "RECEIVING" + }, + { + "description": "Destination node has received the items.", + "value": "RECEIVED" + }, + { + "description": "No more actions are required for the shipment. This is a final state.", + "value": "CLOSED" + }, + { + "description": "Shipment has been cancelled by order owner. This is a final state.", + "value": "CANCELLED" + }, + { + "description": "Shipment delivery has failed. This is a final state.", + "value": "FAILED" } - ] + ], + "example": "CREATED" }, - "MeasurementData": { - "description": "Package weight and dimension.", - "properties": { - "dimensions": { - "description": "Dimensions of the package. Dimensions are required when creating an inbound or outbound order.", - "$ref": "#/definitions/PackageDimensions" + "OutboundStatus": { + "description": "Statuses supported for an outbound order.", + "enum": [ + "CONFIRMED", + "DRAFT", + "ELIGIBLE", + "EXECUTING", + "FAILURE", + "INELIGIBLE", + "INVENTORY_OUTBOUND", + "SUCCESS", + "VALIDATING" + ], + "type": "string", + "x-docgen-enum-table-extension": [ + { + "description": "The order enters this state as soon as the order is confirmed.", + "value": "CONFIRMED" }, - "volume": { - "description": "Volume of the package.", - "$ref": "#/definitions/PackageVolume" + { + "description": "A newly created outbound order will always start in this state.", + "value": "DRAFT" }, - "weight": { - "description": "Weight of the package.", - "$ref": "#/definitions/PackageWeight" + { + "description": "This is the only state when an order can be confirmed.", + "value": "ELIGIBLE" + }, + { + "description": "The order is being processed in the system.", + "value": "EXECUTING" + }, + { + "description": "If any of the shipment reports fail, or if a shipment doesn't reach its destination, the order status is marked as failed.", + "value": "FAILURE" + }, + { + "description": "In this state, a validation errors field is provided. This field shows the order errors and provides guidance on fixing them.", + "value": "INELIGIBLE" + }, + { + "description": "The order is complete and awaits inventory movement. In this status, the shipments for an order will be visible.", + "value": "INVENTORY_OUTBOUND" + }, + { + "description": "If all the shipments are successfully received at the destination channel, the order is marked successful.", + "value": "SUCCESS" + }, + { + "description": "The order is being validated asynchronously. The order will be in this state after every item update.", + "value": "VALIDATING" } - }, - "required": [ - "weight" - ], - "type": "object" + ] }, "PackageDimensions": { "description": "Dimensions of the package.", @@ -1489,6 +5975,30 @@ ], "type": "object" }, + "PageType": { + "description": "Label page type.", + "enum": [ + "THERMAL_NONPCP", + "PLAIN_PAPER", + "LETTER_6" + ], + "type": "string", + "x-docgen-enum-table-extension": [ + { + "description": "For the use of a thermal printer. Supports non-Amazon-partnered shipments.", + "value": "THERMAL_NONPCP" + }, + { + "description": "One label per sheet of US Letter paper. Only for non-Amazon-partnered shipments.", + "value": "PLAIN_PAPER" + }, + { + "description": "Six labels per US Letter label sheet.", + "value": "LETTER_6" + } + ], + "example": "PLAIN_PAPER" + }, "ProductAttribute": { "description": "Product instance attribute that is not described at the SKU level in the catalog.", "properties": { @@ -1539,6 +6049,23 @@ ], "type": "object" }, + "ShipmentLabels": { + "description": "Shipment labels.", + "properties": { + "labelDownloadURL": { + "description": "URL to download generated labels.", + "type": "string" + }, + "labelStatus": { + "description": "Status of label generation.", + "$ref": "#/definitions/LabelStatus" + } + }, + "required": [ + "labelStatus" + ], + "type": "object" + }, "ShipmentListing": { "description": "A list of inbound shipment summaries filtered by the attributes specified in the request.", "properties": { @@ -1576,6 +6103,86 @@ ], "example": "CREATED_AT" }, + "SkuEligibility": { + "description": "Represents eligibility of one SKU.", + "properties": { + "ineligibilityReasons": { + "description": "If not eligible, these are list of error codes and descriptions.", + "items": { + "$ref": "#/definitions/SkuIneligibilityReason" + }, + "type": "array" + }, + "packageQuantity": { + "$ref": "#/definitions/DistributionPackageQuantity" + }, + "status": { + "$ref": "#/definitions/InboundEligibilityStatus" + } + }, + "required": [ + "packageQuantity", + "status" + ], + "type": "object" + }, + "SkuIneligibilityReason": { + "description": "Represents the ineligibility reason for one SKU.", + "properties": { + "code": { + "description": "Code for the SKU ineligibility.", + "type": "string" + }, + "description": { + "description": "Detailed description of the SKU ineligibility.", + "type": "string" + } + }, + "required": [ + "code", + "description" + ], + "type": "object" + }, + "SkuQuantitiesVisibility": { + "description": "Enum to specify if returned shipment should include SKU quantity details", + "enum": [ + "SHOW", + "HIDE" + ], + "type": "string", + "example": "SHOW", + "x-docgen-enum-table-extension": [ + { + "description": "Show the additional SKU quantity details", + "value": "SHOW" + }, + { + "description": "Hide the additional SKU quantity details", + "value": "HIDE" + } + ] + }, + "SkuQuantity": { + "description": "Quantity details for a SKU as part of a shipment", + "properties": { + "expectedQuantity": { + "$ref": "#/definitions/InventoryQuantity" + }, + "receivedQuantity": { + "$ref": "#/definitions/InventoryQuantity" + }, + "sku": { + "description": "The merchant stock keeping unit", + "type": "string" + } + }, + "required": [ + "expectedQuantity", + "sku" + ], + "type": "object" + }, "SortOrder": { "description": "Sort order for a collection of items. For example, order or shipment.", "enum": [ @@ -1595,6 +6202,58 @@ ], "example": "ASCENDING" }, + "TransportationDetails": { + "description": "Transportation details for the shipment.", + "properties": { + "carrierCode": { + "description": "Unique or identifying code for the carrier.", + "$ref": "#/definitions/CarrierCode" + }, + "shipBy": { + "description": "Timestamp when the shipment will be shipped.", + "format": "date-time", + "type": "string", + "example": "2023-01-12T10:00:00.000Z" + }, + "trackingId": { + "description": "Tracking ID for transportation.", + "minLength": 1, + "type": "string", + "example": "TestTrackingId" + } + }, + "required": [ + "shipBy" + ], + "type": "object", + "example": { + "carrierCode": { + "carrierCodeType": "SCAC", + "carrierCodeValue": "TestCarrierCode" + }, + "shipBy": "2023-01-12T10:00:00.000Z", + "trackingId": "TestTrackingId" + } + }, + "TransportationPreference": { + "description": "Represents the transportation preference for an AWD shipment.", + "enum": [ + "AMAZON_MANAGED", + "SELLER_MANAGED" + ], + "type": "string", + "x-docgen-enum-table-extension": [ + { + "description": "Amazon provides the estimates with each proposed order shipment to leverage Amazon-managed transportation options to process the delivery of shipments.", + "value": "AMAZON_MANAGED" + }, + { + "description": "The distribution partner wants to arrange the transportation details for each inbound shipment and provides tracking and carrier information for each shipment.", + "value": "SELLER_MANAGED" + } + ], + "example": "SELLER_MANAGED" + }, "VolumeUnitOfMeasurement": { "description": "Unit of measurement for the package volume.", "enum": [ @@ -1637,4 +6296,4 @@ ] } } -} +} \ No newline at end of file From a1794ae586a10a340244fc79bd768463df3dec47 Mon Sep 17 00:00:00 2001 From: Gibran Waldron Date: Wed, 14 Aug 2024 15:15:18 -0700 Subject: [PATCH 093/340] Update 400 Error Response Message for rotateApplicationClientSecret. --- .../application_2023-11-30.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/models/application-management-api-model/application_2023-11-30.json b/models/application-management-api-model/application_2023-11-30.json index c013126cb..817d57f88 100644 --- a/models/application-management-api-model/application_2023-11-30.json +++ b/models/application-management-api-model/application_2023-11-30.json @@ -48,7 +48,7 @@ } }, "400": { - "description": "The application has not enrolled for programmatic rotations. Please visit your developer console to enroll.", + "description": "Application is not enrolled for rotation notification. Please update application notification preference in Developer console.", "headers": { "x-amzn-RateLimit-Limit": { "description": "Your rate limit (requests per second) for this operation.", From 78645b282997d73e6d9dd51b77124f386c9fa658 Mon Sep 17 00:00:00 2001 From: lisa-delaney Date: Mon, 19 Aug 2024 10:51:16 -0700 Subject: [PATCH 094/340] Revert "Update AWD model" This reverts commit b856edd03b6298a8eb946dc0405bd9113dd801db. --- .../awd_2024-05-09.json | 5547 ++--------------- 1 file changed, 444 insertions(+), 5103 deletions(-) diff --git a/models/amazon-warehousing-and-distribution-model/awd_2024-05-09.json b/models/amazon-warehousing-and-distribution-model/awd_2024-05-09.json index 5e2a114bb..5b97d73f2 100644 --- a/models/amazon-warehousing-and-distribution-model/awd_2024-05-09.json +++ b/models/amazon-warehousing-and-distribution-model/awd_2024-05-09.json @@ -1,9 +1,9 @@ { "swagger": "2.0", "info": { - "title": "The Selling Partner API for Amazon Warehousing and Distribution", + "title": "The Selling Partner API for AWD", "version": "2024-05-09", - "description": "The Selling Partner API for Amazon Warehousing and Distribution (AWD) provides programmatic access to information about AWD shipments and inventory. ", + "description": "The Selling Partner API for Amazon Warehousing and Distribution (AWD).", "contact": { "name": "Selling Partner API Developer Support", "url": "https://sellercentral.amazon.com/gp/mws/contactus.html" @@ -24,313 +24,24 @@ "application/json" ], "paths": { - "/awd/2024-05-09/inboundOrders": { - "post": { - "consumes": [ - "application/json" - ], - "produces": [ - "application/json" - ], - "parameters": [ - { - "description": "Payload for creating an inbound order.", - "in": "body", - "name": "body", - "required": true, - "schema": { - "$ref": "#/definitions/InboundOrderCreationData" - } - } - ], - "responses": { - "201": { - "description": "`createInbound` 201 response.", - "headers": { - "Location": { - "description": "Location header with the order ID for the newly created inbound order.", - "type": "string" - }, - "x-amzn-RateLimit-Limit": { - "description": "Your rate limit (requests per second) for this operation.", - "type": "string" - }, - "x-amzn-RequestId": { - "description": "Unique request reference identifier.", - "type": "string" - } - }, - "schema": { - "$ref": "#/definitions/InboundOrderReference" - }, - "x-amzn-api-sandbox": { - "static": [ - { - "request": { - "parameters": { - "body": { - "value": { - "externalReferenceId": "string", - "originAddress": { - "addressLine1": "address_1", - "addressLine2": "address_2", - "addressLine3": "address_3", - "city": "City1", - "countryCode": "CC", - "district": "District1", - "name": "address_name", - "postalCode": "123456", - "stateOrRegion": "State1" - }, - "packagesToInbound": [ - { - "count": 1, - "distributionPackage": { - "contents": { - "products": [ - { - "quantity": 1, - "sku": "testPen" - } - ] - }, - "measurements": { - "dimensions": { - "height": 1, - "length": 1, - "unitOfMeasurement": "INCHES", - "width": 1 - }, - "volume": { - "unitOfMeasurement": "CUIN", - "volume": 1 - }, - "weight": { - "unitOfMeasurement": "POUNDS", - "weight": 1 - } - }, - "type": "CASE" - } - } - ], - "shipBy": "2023-06-07T12:12:09.061Z", - "transportationPreference": "SELLER_MANAGED" - } - } - } - }, - "response": { - "orderId": "TestOrderId", - "orderVersion": "1" - }, - "responseHeaders": { - "Location": { - "value": "TestOrderId" - } - } - } - ] - } - }, - "400": { - "description": "Request has missing or invalid parameters and cannot be parsed.", - "headers": { - "x-amzn-RateLimit-Limit": { - "description": "Your rate limit (requests per second) for this operation.", - "type": "string" - }, - "x-amzn-RequestId": { - "description": "Unique request reference identifier.", - "type": "string" - } - }, - "schema": { - "$ref": "#/definitions/ErrorList" - }, - "x-amzn-api-sandbox": { - "static": [ - { - "request": { - "parameters": { - "body": { - "value": { - "externalReferenceId": "string", - "originAddress": { - "addressLine1": "address_1", - "addressLine2": "address_2", - "addressLine3": "address_3", - "city": "City1", - "countryCode": "CC", - "district": "District1", - "name": "address_name", - "postalCode": "123456", - "stateOrRegion": "State1" - }, - "packagesToInbound": [ - { - "count": 1, - "distributionPackage": { - "contents": { - "products": [ - { - "quantity": 1, - "sku": "testPen" - } - ] - }, - "measurements": { - "dimensions": { - "height": 1, - "length": 1, - "unitOfMeasurement": "INCHES", - "width": 1 - }, - "volume": { - "unitOfMeasurement": "CUIN", - "volume": 1 - }, - "weight": { - "unitOfMeasurement": "POUNDS", - "weight": 1 - } - }, - "type": "CASE" - } - } - ], - "shipBy": "2023-06-07T12:12:09.061Z", - "transportationPreference": "AMAZON_MANAGED" - } - } - } - }, - "response": { - "errors": [ - { - "code": "UNSUPPORTED_TRANSPORTATION_PREFERENCE", - "details": "This exception is thrown when client inputs are invalid", - "message": "Currently only SELLER_MANAGED transportation preference is supported" - } - ] - } - } - ] - } - }, - "403": { - "description": "Indicates that access to the resource is forbidden. Possible reasons include Access Denied, Unauthorized, Expired Token, or Invalid Signature.", - "headers": { - "x-amzn-RequestId": { - "description": "Unique request reference identifier.", - "type": "string" - } - }, - "schema": { - "$ref": "#/definitions/ErrorList" - } - }, - "404": { - "description": "The resource specified does not exist.", - "headers": { - "x-amzn-RateLimit-Limit": { - "description": "Your rate limit (requests per second) for this operation.", - "type": "string" - }, - "x-amzn-RequestId": { - "description": "Unique request reference identifier.", - "type": "string" - } - }, - "schema": { - "$ref": "#/definitions/ErrorList" - } - }, - "413": { - "description": "The request size exceeded the maximum accepted size.", - "headers": { - "x-amzn-RequestId": { - "description": "Unique request reference identifier.", - "type": "string" - } - }, - "schema": { - "$ref": "#/definitions/ErrorList" - } - }, - "415": { - "description": "The request payload is in an unsupported format.", - "headers": { - "x-amzn-RequestId": { - "description": "Unique request reference identifier.", - "type": "string" - } - }, - "schema": { - "$ref": "#/definitions/ErrorList" - } - }, - "429": { - "description": "The frequency of requests was greater than allowed.", - "headers": { - "x-amzn-RequestId": { - "description": "Unique request reference identifier.", - "type": "string" - } - }, - "schema": { - "$ref": "#/definitions/ErrorList" - } - }, - "500": { - "description": "An unexpected condition occurred that prevented the server from fulfilling the request.", - "headers": { - "x-amzn-RequestId": { - "description": "Unique request reference identifier.", - "type": "string" - } - }, - "schema": { - "$ref": "#/definitions/ErrorList" - } - }, - "503": { - "description": "Temporary overloading or maintenance of the server.", - "headers": { - "x-amzn-RequestId": { - "description": "Unique request reference identifier.", - "type": "string" - } - }, - "schema": { - "$ref": "#/definitions/ErrorList" - } - } - }, - "tags": [ - "awd" - ], - "description": "Creates a draft AWD inbound order with given packages to inbound. Currently only a single shipment will be created per order.\n\n**Usage Plan:**\n\n| Rate (requests per second) | Burst |\n| ---- | ---- |\n| 1 | 1 |\n\nThe `x-amzn-RateLimit-Limit` response header returns the usage plan rate limits that were applied to the requested operation, when available. The table above indicates the default rate and burst values for this operation. Selling partners whose business demands require higher throughput may see higher rate and burst values than those shown here. For more information, refer to [Usage Plans and Rate Limits in the Selling Partner API](https://developer-docs.amazon.com/sp-api/docs/usage-plans-and-rate-limits-in-the-sp-api).", - "operationId": "createInbound" - } - }, - "/awd/2024-05-09/inboundOrders/{orderId}": { + "/awd/2024-05-09/inboundShipments/{shipmentId}": { "get": { "produces": [ "application/json" ], "parameters": [ { - "description": "ID for the inbound order to be retrieved.", + "description": "ID for the shipment. A shipment contains the cases being inbounded.", "in": "path", - "name": "orderId", + "minLength": 1, + "name": "shipmentId", "required": true, "type": "string" } ], "responses": { "200": { - "description": "The 200 response for `getInbound`.", + "description": "The 200 response for `getInboundShipment`.", "headers": { "x-amzn-RateLimit-Limit": { "description": "Your rate limit (requests per second) for this operation.", @@ -342,131 +53,80 @@ } }, "schema": { - "$ref": "#/definitions/InboundOrder" + "$ref": "#/definitions/InboundShipment" }, "x-amzn-api-sandbox": { "static": [ { "request": { "parameters": { - "orderId": { - "value": "TestOrderId" + "shipmentId": { + "value": "TestShipmentId" } } }, "response": { - "channelPlacedInboundShipments": [ - { - "destinationAddress": { - "addressLine1": "address_1", - "addressLine2": "address_2", - "addressLine3": "address_3", - "city": "Seattle", - "countryCode": "US", - "county": "Washington", - "district": "District1", - "name": "address_name", - "phoneNumber": "+14155552671", - "postalCode": "123456", - "stateOrRegion": "Washington" - }, - "orderId": "TestOrderId", - "originAddress": { - "addressLine1": "address_1", - "addressLine2": "address_2", - "addressLine3": "address_3", - "city": "Seattle", - "countryCode": "US", - "county": "Washington", - "district": "District1", - "name": "address_name", - "phoneNumber": "+14155552671", - "postalCode": "123456", - "stateOrRegion": "Washington" - }, - "receivedQuantity": [], - "shipmentContainerQuantities": [ - { - "count": 1, - "distributionPackage": { - "contents": { - "packages": [], - "products": [ - { - "quantity": 1, - "sku": "testPen" - } - ] - }, - "measurements": { - "dimensions": { - "height": 2.54, - "length": 2.54, - "unitOfMeasurement": "CENTIMETERS", - "width": 2.54 - }, - "weight": { - "unitOfMeasurement": "KILOGRAMS", - "weight": 0.453592 - } - }, - "type": "CASE" - } - } - ], - "shipmentId": "TestShipmentId", - "shipmentStatus": "CREATED" - } - ], "createdAt": "2023-06-07T12:12:09.061Z", - "externalReferenceId": "TestReferenceId", + "destinationAddress": { + "addressLine1": "address_line_1", + "addressLine2": "address_line_2", + "addressLine3": "address_line_3", + "city": "City1", + "countryCode": "CC", + "district": "District1", + "name": "DestinationName", + "postalCode": "123456", + "stateOrRegion": "State1" + }, "orderId": "TestOrderId", - "orderStatus": "DRAFT", - "orderVersion": "2", "originAddress": { "addressLine1": "address_1", "addressLine2": "address_2", "addressLine3": "address_3", - "city": "Seattle", - "countryCode": "US", - "county": "Washington", + "city": "City1", + "countryCode": "CC", "district": "District1", "name": "address_name", - "phoneNumber": "+14155552671", "postalCode": "123456", - "stateOrRegion": "Washington" + "stateOrRegion": "State1" }, - "packagesToInbound": [ + "receivedQuantity": [ + { + "quantity": 0, + "unitOfMeasurement": "CASES" + } + ], + "shipmentContainerQuantities": [ { - "count": 1, + "count": 2, "distributionPackage": { "contents": { "packages": [], "products": [ { - "quantity": 1, + "quantity": 20, "sku": "testPen" } ] }, "measurements": { "dimensions": { - "height": 2.54, - "length": 2.54, + "height": 33.02, + "length": 45.72, "unitOfMeasurement": "CENTIMETERS", - "width": 2.54 + "width": 15.24 }, "weight": { "unitOfMeasurement": "KILOGRAMS", - "weight": 0.453592 + "weight": 5.443104 } }, "type": "CASE" } } ], - "shipBy": "2023-06-07T12:12:09.061Z", - "transportationPreference": "SELLER_MANAGED", + "shipmentId": "TestShipmentId", + "shipmentStatus": "CREATED", "updatedAt": "2023-06-07T12:12:09.061Z" } } @@ -493,7 +153,7 @@ { "request": { "parameters": { - "orderId": { + "shipmentId": { "value": " " } } @@ -503,7 +163,7 @@ { "code": "BAD_REQUEST", "details": "This exception is thrown when client inputs are invalid", - "message": "OrderId should be present for this request" + "message": "ShipmentId should be present for this request" } ] } @@ -603,37 +263,141 @@ "tags": [ "awd" ], - "description": "Retrieves an inbound AWD order for a set of shipments.\n\n**Usage Plan:**\n\n| Rate (requests per second) | Burst |\n| ---- | ---- |\n| 1 | 1 |\n\nThe `x-amzn-RateLimit-Limit` response header returns the usage plan rate limits that were applied to the requested operation, when available. The table above indicates the default rate and burst values for this operation. Selling partners whose business demands require higher throughput may see higher rate and burst values than those shown here. For more information, refer to [Usage Plans and Rate Limits in the Selling Partner API](https://developer-docs.amazon.com/sp-api/docs/usage-plans-and-rate-limits-in-the-sp-api).", - "operationId": "getInbound" - }, - "put": { - "consumes": [ - "application/json" - ], + "description": "Retrieves an AWD inbound shipment.\n\n**Usage Plan:**\n\n| Rate (requests per second) | Burst |\n| ---- | ---- |\n| 2 | 2 |\n\nThe `x-amzn-RateLimit-Limit` response header returns the usage plan rate limits that were applied to the requested operation, when available. The table above indicates the default rate and burst values for this operation. Selling partners whose business demands require higher throughput may see higher rate and burst values than those shown here. For more information, refer to [Usage Plans and Rate Limits in the Selling Partner API](https://developer-docs.amazon.com/sp-api/docs/usage-plans-and-rate-limits-in-the-sp-api)", + "operationId": "getInboundShipment" + } + }, + "/awd/2024-05-09/inboundShipments": { + "get": { "produces": [ "application/json" ], "parameters": [ { - "description": "ID for the inbound order to be updated.", - "in": "path", - "name": "orderId", - "required": true, - "type": "string" + "description": "Field to sort results by. Required if `sortOrder` is provided.", + "enum": [ + "UPDATED_AT", + "CREATED_AT" + ], + "in": "query", + "name": "sortBy", + "type": "string", + "x-docgen-enum-table-extension": [ + { + "description": "Sort by `Updated at`timestamp.", + "value": "UPDATED_AT" + }, + { + "description": "Sort by `Created at` timestamp.", + "value": "CREATED_AT" + } + ] }, { - "description": "Represents an AWD inbound order.", - "in": "body", - "name": "body", - "required": true, - "schema": { - "$ref": "#/definitions/InboundOrder" - } - } - ], - "responses": { + "description": "Sort the response in `ASCENDING` or `DESCENDING` order.", + "enum": [ + "ASCENDING", + "DESCENDING" + ], + "in": "query", + "name": "sortOrder", + "type": "string", + "x-docgen-enum-table-extension": [ + { + "description": "Sorts the collection in ascending order.", + "value": "ASCENDING" + }, + { + "description": "Sorts the collection in descending order.", + "value": "DESCENDING" + } + ], + "x-example": "ASCENDING" + }, + { + "description": "Filter by inbound shipment status.", + "enum": [ + "CREATED", + "SHIPPED", + "IN_TRANSIT", + "RECEIVING", + "DELIVERED", + "CLOSED", + "CANCELLED" + ], + "in": "query", + "name": "shipmentStatus", + "type": "string", + "x-docgen-enum-table-extension": [ + { + "description": "Shipment is created, but hasn't shipped.", + "value": "CREATED" + }, + { + "description": "Shipment was picked up by the carrier or was dropped off with the carrier.", + "value": "SHIPPED" + }, + { + "description": "The carrier has notified AWD that the shipment is in transit between the origin and destination nodes.", + "value": "IN_TRANSIT" + }, + { + "description": "The shipment has been partially received.", + "value": "RECEIVING" + }, + { + "description": "The shipment has reached the destination node and has been delivered to the facility yard. The shipment `receive` process at the warehouse will start soon.", + "value": "DELIVERED" + }, + { + "description": "No more actions are required for the shipment. This is a final state.", + "value": "CLOSED" + }, + { + "description": "The shipment is cancelled. This is a final state.", + "value": "CANCELLED" + } + ], + "x-example": "CREATED" + }, + { + "description": "List the inbound shipments that were updated after a certain time (inclusive). The date must be in ISO 8601 format.", + "format": "date-time", + "in": "query", + "name": "updatedAfter", + "type": "string", + "x-example": "2023-01-12T10:00:00.000Z" + }, + { + "description": "List the inbound shipments that were updated before a certain time (inclusive). The date must be in ISO 8601 format.", + "format": "date-time", + "in": "query", + "name": "updatedBefore", + "type": "string", + "x-example": "2023-01-12T10:00:00.000Z" + }, + { + "default": 25, + "description": "Maximum number of results to return.", + "format": "int32", + "in": "query", + "maximum": 200, + "minimum": 1, + "name": "maxResults", + "type": "integer", + "x-example": "10" + }, + { + "description": "Token to retrieve the next set of paginated results.", + "in": "query", + "name": "nextToken", + "type": "string", + "x-example": "SampleToken" + } + ], + "responses": { "200": { - "description": "The 200 response for `updateInbound`.", + "description": "The 200 response for `listInboundShipments`.", "headers": { "x-amzn-RateLimit-Limit": { "description": "Your rate limit (requests per second) for this operation.", @@ -645,130 +409,22 @@ } }, "schema": { - "$ref": "#/definitions/InboundOrderReference" + "$ref": "#/definitions/ShipmentListing" }, "x-amzn-api-sandbox": { "static": [ { "request": { - "parameters": { - "orderId": { - "value": "TestOrderId1" - }, - "body": { - "value": { - "channelPlacedInboundShipments": [ - { - "destinationAddress": { - "addressLine1": "address_1", - "addressLine2": "address_2", - "addressLine3": "address_3", - "city": "City1", - "countryCode": "CC", - "district": "District1", - "name": "DestinationName", - "postalCode": "123456", - "stateOrRegion": "State1" - }, - "orderId": "TestOrderId1", - "originAddress": { - "addressLine1": "address_1", - "addressLine2": "address_2", - "addressLine3": "address_3", - "city": "City1", - "countryCode": "CC", - "district": "District1", - "name": "DestinationName", - "postalCode": "123456", - "stateOrRegion": "State1" - }, - "receivedQuantity": [], - "shipmentContainerQuantities": [ - { - "count": 1, - "distributionPackage": { - "contents": { - "packages": [], - "products": [ - { - "quantity": 1, - "sku": "testPen" - } - ] - }, - "measurements": { - "dimensions": { - "height": 2.54, - "length": 2.54, - "unitOfMeasurement": "CENTIMETERS", - "width": 2.54 - }, - "weight": { - "unitOfMeasurement": "KILOGRAMS", - "weight": 0.453592 - } - }, - "type": "CASE" - } - } - ], - "shipmentId": "TestShipment1", - "shipmentStatus": "CREATED" - } - ], - "createdAt": "2023-06-07T12:12:09.061Z", - "orderId": "TestOrderId1", - "orderStatus": "DRAFT", - "orderVersion": "2", - "originAddress": { - "addressLine1": "address_1", - "addressLine2": "address_2", - "addressLine3": "address_3", - "city": "City1", - "countryCode": "CC", - "district": "District1", - "name": "DestinationName", - "postalCode": "123456", - "stateOrRegion": "State1" - }, - "packagesToInbound": [ - { - "count": 2, - "distributionPackage": { - "contents": { - "packages": [], - "products": [ - { - "quantity": 10, - "sku": "testPen" - } - ] - }, - "measurements": { - "dimensions": { - "height": 1, - "length": 1, - "unitOfMeasurement": "CENTIMETERS", - "width": 1 - }, - "weight": { - "unitOfMeasurement": "KILOGRAMS", - "weight": 1 - } - }, - "type": "CASE" - } - } - ], - "transportationPreference": "SELLER_MANAGED", - "updatedAt": "2023-06-07T12:12:09.061Z" - } - } - } + "parameters": {} }, "response": { - "orderId": "TestOrderId", - "orderVersion": "3" + "shipments": [{ + "createdAt": "2023-06-07T12:12:09.061Z", + "orderId": "TestOrderId", + "shipmentId": "TestShipmentId", + "shipmentStatus": "CREATED", + "updatedAt": "2023-06-07T12:12:09.061Z" + }] } } ] @@ -794,126 +450,17 @@ { "request": { "parameters": { - "orderId": { - "value": "TestOrderId1" - }, - "body": { - "value": { - "channelPlacedInboundShipments": [ - { - "destinationAddress": { - "addressLine1": "address_1", - "addressLine2": "address_2", - "addressLine3": "address_3", - "city": "City1", - "countryCode": "CC", - "district": "District1", - "name": "DestinationName", - "postalCode": "123456", - "stateOrRegion": "State1" - }, - "orderId": "TestOrderId1", - "originAddress": { - "addressLine1": "address_1", - "addressLine2": "address_2", - "addressLine3": "address_3", - "city": "City1", - "countryCode": "CC", - "district": "District1", - "name": "DestinationName", - "postalCode": "123456", - "stateOrRegion": "State1" - }, - "receivedQuantity": [], - "shipmentContainerQuantities": [ - { - "count": 1, - "distributionPackage": { - "contents": { - "packages": [], - "products": [ - { - "quantity": 1, - "sku": "testPen" - } - ] - }, - "measurements": { - "dimensions": { - "height": 2.54, - "length": 2.54, - "unitOfMeasurement": "CENTIMETERS", - "width": 2.54 - }, - "weight": { - "unitOfMeasurement": "KILOGRAMS", - "weight": 0.453592 - } - }, - "type": "CASE" - } - } - ], - "shipmentId": "TestShipment1", - "shipmentStatus": "CREATED" - } - ], - "createdAt": "2023-06-07T12:12:09.061Z", - "orderId": "TestOrderId1", - "orderStatus": "DRAFT", - "orderVersion": "2", - "originAddress": { - "addressLine1": "address_1", - "addressLine2": "address_2", - "addressLine3": "address_3", - "city": "City1", - "countryCode": "CC", - "district": "District1", - "name": "DestinationName", - "postalCode": "123456", - "stateOrRegion": "State1" - }, - "packagesToInbound": [ - { - "count": 2, - "distributionPackage": { - "contents": { - "packages": [], - "products": [ - { - "quantity": 10, - "sku": "testPen" - } - ] - }, - "measurements": { - "dimensions": { - "height": 1, - "length": 1, - "unitOfMeasurement": "CENTIMETERS", - "width": 1 - }, - "weight": { - "unitOfMeasurement": "KILOGRAMS", - "weight": 1 - } - }, - "type": "CASE" - } - } - ], - "transportationPreference": "AMAZON_MANAGED", - "updatedAt": "2023-06-07T12:12:09.061Z" - } + "sortBy": { + "value": "TEST" } } }, "response": { "errors": [ { - "code": "UNSUPPORTED_TRANSPORTATION_PREFERENCE", + "code": "BAD_REQUEST", "details": "This exception is thrown when client inputs are invalid", - "message": "Currently only SELLER_MANAGED transportation preference is supported" + "message": "Invalid shipment sortable field received: TEST" } ] } @@ -949,18 +496,6 @@ "$ref": "#/definitions/ErrorList" } }, - "409": { - "description": "`ConflictException` 409 response.", - "headers": { - "x-amzn-RequestId": { - "description": "Unique request reference identifier.", - "type": "string" - } - }, - "schema": { - "$ref": "#/definitions/ErrorList" - } - }, "413": { "description": "The request size exceeded the maximum accepted size.", "headers": { @@ -1025,27 +560,86 @@ "tags": [ "awd" ], - "description": "Updates an AWD inbound order that is in draft status and not yet confirmed. Use this operation to update the `packagesToInbound` and `originAddress` attributes.\n\n**Usage Plan:**\n\n| Rate (requests per second) | Burst |\n| ---- | ---- |\n| 1 | 1 |\n\nThe `x-amzn-RateLimit-Limit` response header returns the usage plan rate limits that were applied to the requested operation, when available. The table above indicates the default rate and burst values for this operation. Selling partners whose business demands require higher throughput may see higher rate and burst values than those shown here. For more information, refer to [Usage Plans and Rate Limits in the Selling Partner API](https://developer-docs.amazon.com/sp-api/docs/usage-plans-and-rate-limits-in-the-sp-api).", - "operationId": "updateInbound" + "description": "Retrieves a summary for all the inbound AWD shipments associated with a merchant, with the ability to apply optional filters.\n\n**Usage Plan:**\n\n| Rate (requests per second) | Burst |\n| ---- | ---- |\n| 1 | 1 |\n\nThe `x-amzn-RateLimit-Limit` response header returns the usage plan rate limits that were applied to the requested operation, when available. The table above indicates the default rate and burst values for this operation. Selling partners whose business demands require higher throughput may see higher rate and burst values than those shown here. For more information, refer to [Usage Plans and Rate Limits in the Selling Partner API](https://developer-docs.amazon.com/sp-api/docs/usage-plans-and-rate-limits-in-the-sp-api).", + "operationId": "listInboundShipments" } }, - "/awd/2024-05-09/inboundOrders/{orderId}/cancellation": { - "post": { + "/awd/2024-05-09/inventory": { + "get": { "produces": [ "application/json" ], "parameters": [ { - "description": "ID for the inbound order to be cancelled", - "in": "path", - "name": "orderId", - "required": true, - "type": "string" + "description": "Filter by seller or merchant SKU for the item.", + "in": "query", + "name": "sku", + "type": "string", + "x-example": "TestSKU" + }, + { + "description": "Sort the response in `ASCENDING` or `DESCENDING` order.", + "enum": [ + "ASCENDING", + "DESCENDING" + ], + "in": "query", + "name": "sortOrder", + "type": "string", + "x-docgen-enum-table-extension": [ + { + "description": "Sorts the collection in ascending order.", + "value": "ASCENDING" + }, + { + "description": "Sorts the collection in descending order.", + "value": "DESCENDING" + } + ] + }, + { + "description": "Set to `SHOW` to return summaries with additional inventory details. Defaults to `HIDE,` which returns only inventory summary totals.", + "enum": [ + "SHOW", + "HIDE" + ], + "in": "query", + "name": "details", + "type": "string", + "x-docgen-enum-table-extension": [ + { + "description": "Show the additional summarized inventory details.", + "value": "SHOW" + }, + { + "description": "Hide the additional summarized inventory details.", + "value": "HIDE" + } + ], + "x-example": "SHOW" + }, + { + "description": "Token to retrieve the next set of paginated results.", + "in": "query", + "name": "nextToken", + "type": "string", + "x-example": "SampleToken" + }, + { + "default": 25, + "description": "Maximum number of results to return.", + "format": "int32", + "in": "query", + "maximum": 200, + "minimum": 1, + "name": "maxResults", + "type": "integer", + "x-example": "10" } ], "responses": { - "204": { - "description": "`CancelInbound` 204 response.", + "200": { + "description": "The 200 response for `listInventory`.", "headers": { "x-amzn-RateLimit-Limit": { "description": "Your rate limit (requests per second) for this operation.", @@ -1056,21 +650,35 @@ "type": "string" } }, + "schema": { + "$ref": "#/definitions/InventoryListing" + }, "x-amzn-api-sandbox": { "static": [ { - "request": { - "parameters": { - "orderId": { - "value": "TestOrderId1" + "request": {}, + "response": { + "inventory": [ + { + "totalOnhandQuantity": 20, + "sku": "100TestSKU1Pen", + "inventoryDetails": { + "availableDistributableQuantity": 10, + "reservedDistributableQuantity": 10 + } + }, + { + "totalOnhandQuantity": 20, + "sku": "2U-BKEX-VW4D", + "inventoryDetails": { + "availableDistributableQuantity": 10, + "reservedDistributableQuantity": 10 + } } - } + ] } } ] - }, - "examples": { - "application/json": [{}] } }, "400": { @@ -1093,8 +701,8 @@ { "request": { "parameters": { - "orderId": { - "value": " " + "sortOrder": { + "value": "UNKNOWN" } } }, @@ -1103,7 +711,7 @@ { "code": "BAD_REQUEST", "details": "This exception is thrown when client inputs are invalid", - "message": "OrderId should be present for this request" + "message": "Invalid value: UNKNOWN passed for sort order. Possible values are: [ASCENDING, DESCENDING]" } ] } @@ -1139,18 +747,6 @@ "$ref": "#/definitions/ErrorList" } }, - "409": { - "description": "`ConflictException` 409 response.", - "headers": { - "x-amzn-RequestId": { - "description": "Unique request reference identifier.", - "type": "string" - } - }, - "schema": { - "$ref": "#/definitions/ErrorList" - } - }, "413": { "description": "The request size exceeded the maximum accepted size.", "headers": { @@ -1215,2972 +811,8 @@ "tags": [ "awd" ], - "description": "Cancels an AWD Inbound order and its associated shipments.\n\n**Usage Plan:**\n\n| Rate (requests per second) | Burst |\n| ---- | ---- |\n| 1 | 1 |\n\nThe `x-amzn-RateLimit-Limit` response header returns the usage plan rate limits that were applied to the requested operation, when available. The table above indicates the default rate and burst values for this operation. Selling partners whose business demands require higher throughput may see higher rate and burst values than those shown here. For more information, refer to [Usage Plans and Rate Limits in the Selling Partner API](https://developer-docs.amazon.com/sp-api/docs/usage-plans-and-rate-limits-in-the-sp-api).", - "operationId": "cancelInbound" - } - }, - "/awd/2024-05-09/inboundOrders/{orderId}/confirmation": { - "post": { - "produces": [ - "application/json" - ], - "parameters": [ - { - "description": "ID for the inbound order you want to confirm.", - "in": "path", - "name": "orderId", - "required": true, - "type": "string" - } - ], - "responses": { - "204": { - "description": "The 204 response for `confirmInbound`.", - "headers": { - "x-amzn-RateLimit-Limit": { - "description": "Your rate limit (requests per second) for this operation.", - "type": "string" - }, - "x-amzn-RequestId": { - "description": "Unique request reference identifier.", - "type": "string" - } - }, - "x-amzn-api-sandbox": { - "static": [ - { - "request": { - "parameters": { - "orderId": { - "value": "TestOrderId1" - } - } - } - } - ] - }, - "examples": { - "application/json": [{}] - } - }, - "400": { - "description": "Request has missing or invalid parameters and cannot be parsed.", - "headers": { - "x-amzn-RateLimit-Limit": { - "description": "Your rate limit (requests per second) for this operation.", - "type": "string" - }, - "x-amzn-RequestId": { - "description": "Unique request reference identifier.", - "type": "string" - } - }, - "schema": { - "$ref": "#/definitions/ErrorList" - }, - "x-amzn-api-sandbox": { - "static": [ - { - "request": { - "parameters": { - "orderId": { - "value": " " - } - } - }, - "response": { - "errors": [ - { - "code": "BAD_REQUEST", - "details": "This exception is thrown when client inputs are invalid", - "message": "OrderId should be present for this request" - } - ] - } - } - ] - } - }, - "403": { - "description": "Indicates that access to the resource is forbidden. Possible reasons include Access Denied, Unauthorized, Expired Token, or Invalid Signature.", - "headers": { - "x-amzn-RequestId": { - "description": "Unique request reference identifier.", - "type": "string" - } - }, - "schema": { - "$ref": "#/definitions/ErrorList" - } - }, - "404": { - "description": "The resource specified does not exist.", - "headers": { - "x-amzn-RateLimit-Limit": { - "description": "Your rate limit (requests per second) for this operation.", - "type": "string" - }, - "x-amzn-RequestId": { - "description": "Unique request reference identifier.", - "type": "string" - } - }, - "schema": { - "$ref": "#/definitions/ErrorList" - } - }, - "409": { - "description": "`ConflictException` 409 response.", - "headers": { - "x-amzn-RequestId": { - "description": "Unique request reference identifier.", - "type": "string" - } - }, - "schema": { - "$ref": "#/definitions/ErrorList" - } - }, - "413": { - "description": "The request size exceeded the maximum accepted size.", - "headers": { - "x-amzn-RequestId": { - "description": "Unique request reference identifier.", - "type": "string" - } - }, - "schema": { - "$ref": "#/definitions/ErrorList" - } - }, - "415": { - "description": "The request payload is in an unsupported format.", - "headers": { - "x-amzn-RequestId": { - "description": "Unique request reference identifier.", - "type": "string" - } - }, - "schema": { - "$ref": "#/definitions/ErrorList" - } - }, - "429": { - "description": "The frequency of requests was greater than allowed.", - "headers": { - "x-amzn-RequestId": { - "description": "Unique request reference identifier.", - "type": "string" - } - }, - "schema": { - "$ref": "#/definitions/ErrorList" - } - }, - "500": { - "description": "An unexpected condition occurred that prevented the server from fulfilling the request.", - "headers": { - "x-amzn-RequestId": { - "description": "Unique request reference identifier.", - "type": "string" - } - }, - "schema": { - "$ref": "#/definitions/ErrorList" - } - }, - "503": { - "description": "Temporary overloading or maintenance of the server.", - "headers": { - "x-amzn-RequestId": { - "description": "Unique request reference identifier.", - "type": "string" - } - }, - "schema": { - "$ref": "#/definitions/ErrorList" - } - } - }, - "tags": [ - "awd" - ], - "description": "Confirms an AWD inbound order in draft status.\n\n**Usage Plan:**\n\n| Rate (requests per second) | Burst |\n| ---- | ---- |\n| 1 | 1 |\n\nThe `x-amzn-RateLimit-Limit` response header returns the usage plan rate limits that were applied to the requested operation, when available. The table above indicates the default rate and burst values for this operation. Selling partners whose business demands require higher throughput may see higher rate and burst values than those shown here. For more information, refer to [Usage Plans and Rate Limits in the Selling Partner API](https://developer-docs.amazon.com/sp-api/docs/usage-plans-and-rate-limits-in-the-sp-api).", - "operationId": "confirmInbound" - } - }, - "/awd/2024-05-09/inboundShipments/{shipmentId}": { - "get": { - "produces": [ - "application/json" - ], - "parameters": [ - { - "description": "ID for the shipment. A shipment contains the cases being inbounded.", - "in": "path", - "minLength": 1, - "name": "shipmentId", - "required": true, - "type": "string" - }, - { - "description": "If equal to `SHOW`, the response includes the shipment SKU quantity details.\n\nDefaults to `HIDE`, in which case the response does not contain SKU quantities", - "enum": [ - "SHOW", - "HIDE" - ], - "in": "query", - "name": "skuQuantities", - "type": "string", - "x-example": "SHOW", - "x-docgen-enum-table-extension": [ - { - "description": "Show the additional SKU quantity details.", - "value": "SHOW" - }, - { - "description": "Hide the additional SKU quantity details.", - "value": "HIDE" - } - ] - } - ], - "responses": { - "200": { - "description": "The 200 response for `getInboundShipment`.", - "headers": { - "x-amzn-RateLimit-Limit": { - "description": "Your rate limit (requests per second) for this operation.", - "type": "string" - }, - "x-amzn-RequestId": { - "description": "Unique request reference identifier.", - "type": "string" - } - }, - "schema": { - "$ref": "#/definitions/InboundShipment" - }, - "x-amzn-api-sandbox": { - "static": [ - { - "request": { - "parameters": { - "shipmentId": { - "value": "TestShipmentId" - } - } - }, - "response": { - "createdAt": "2023-06-07T12:12:09.061Z", - "destinationAddress": { - "addressLine1": "address_line_1", - "addressLine2": "address_line_2", - "addressLine3": "address_line_3", - "city": "City1", - "countryCode": "CC", - "district": "District1", - "name": "DestinationName", - "postalCode": "123456", - "stateOrRegion": "State1" - }, - "orderId": "TestOrderId", - "originAddress": { - "addressLine1": "address_1", - "addressLine2": "address_2", - "addressLine3": "address_3", - "city": "City1", - "countryCode": "CC", - "district": "District1", - "name": "address_name", - "postalCode": "123456", - "stateOrRegion": "State1" - }, - "receivedQuantity": [ - { - "quantity": 0, - "unitOfMeasurement": "CASES" - } - ], - "shipmentContainerQuantities": [ - { - "count": 2, - "distributionPackage": { - "contents": { - "packages": [], - "products": [ - { - "quantity": 20, - "sku": "testPen" - } - ] - }, - "measurements": { - "dimensions": { - "height": 33.02, - "length": 45.72, - "unitOfMeasurement": "CENTIMETERS", - "width": 15.24 - }, - "weight": { - "unitOfMeasurement": "KILOGRAMS", - "weight": 5.443104 - } - }, - "type": "CASE" - } - } - ], - "shipmentId": "TestShipmentId", - "shipmentStatus": "CREATED", - "shipmentSkuQuantities": [ - { - "sku": "testPen", - "expectedQuantity": { - "quantity": 2, - "unitOfMeasurement": "CASE" - }, - "receivedQuantity": { - "quantity": 0, - "unitOfMeasurement": "CASE" - } - } - ], - "updatedAt": "2023-06-07T12:12:09.061Z" - } - } - ] - } - }, - "400": { - "description": "Request has missing or invalid parameters and cannot be parsed.", - "headers": { - "x-amzn-RateLimit-Limit": { - "description": "Your rate limit (requests per second) for this operation.", - "type": "string" - }, - "x-amzn-RequestId": { - "description": "Unique request reference identifier.", - "type": "string" - } - }, - "schema": { - "$ref": "#/definitions/ErrorList" - }, - "x-amzn-api-sandbox": { - "static": [ - { - "request": { - "parameters": { - "shipmentId": { - "value": " " - } - } - }, - "response": { - "errors": [ - { - "code": "BAD_REQUEST", - "details": "This exception is thrown when client inputs are invalid", - "message": "ShipmentId should be present for this request" - } - ] - } - } - ] - } - }, - "403": { - "description": "Indicates that access to the resource is forbidden. Possible reasons include Access Denied, Unauthorized, Expired Token, or Invalid Signature.", - "headers": { - "x-amzn-RequestId": { - "description": "Unique request reference identifier.", - "type": "string" - } - }, - "schema": { - "$ref": "#/definitions/ErrorList" - } - }, - "404": { - "description": "The resource specified does not exist.", - "headers": { - "x-amzn-RateLimit-Limit": { - "description": "Your rate limit (requests per second) for this operation.", - "type": "string" - }, - "x-amzn-RequestId": { - "description": "Unique request reference identifier.", - "type": "string" - } - }, - "schema": { - "$ref": "#/definitions/ErrorList" - } - }, - "413": { - "description": "The request size exceeded the maximum accepted size.", - "headers": { - "x-amzn-RequestId": { - "description": "Unique request reference identifier.", - "type": "string" - } - }, - "schema": { - "$ref": "#/definitions/ErrorList" - } - }, - "415": { - "description": "The request payload is in an unsupported format.", - "headers": { - "x-amzn-RequestId": { - "description": "Unique request reference identifier.", - "type": "string" - } - }, - "schema": { - "$ref": "#/definitions/ErrorList" - } - }, - "429": { - "description": "The frequency of requests was greater than allowed.", - "headers": { - "x-amzn-RequestId": { - "description": "Unique request reference identifier.", - "type": "string" - } - }, - "schema": { - "$ref": "#/definitions/ErrorList" - } - }, - "500": { - "description": "An unexpected condition occurred that prevented the server from fulfilling the request.", - "headers": { - "x-amzn-RequestId": { - "description": "Unique request reference identifier.", - "type": "string" - } - }, - "schema": { - "$ref": "#/definitions/ErrorList" - } - }, - "503": { - "description": "Temporary overloading or maintenance of the server.", - "headers": { - "x-amzn-RequestId": { - "description": "Unique request reference identifier.", - "type": "string" - } - }, - "schema": { - "$ref": "#/definitions/ErrorList" - } - } - }, - "tags": [ - "awd" - ], - "description": "Retrieves an AWD inbound shipment.\n\n**Usage Plan:**\n\n| Rate (requests per second) | Burst |\n| ---- | ---- |\n| 2 | 2 |\n\nThe `x-amzn-RateLimit-Limit` response header returns the usage plan rate limits that were applied to the requested operation, when available. The table above indicates the default rate and burst values for this operation. Selling partners whose business demands require higher throughput may see higher rate and burst values than those shown here. For more information, refer to [Usage Plans and Rate Limits in the Selling Partner API](https://developer-docs.amazon.com/sp-api/docs/usage-plans-and-rate-limits-in-the-sp-api)", - "operationId": "getInboundShipment" - } - }, - "/awd/2024-05-09/inboundShipments/{shipmentId}/labels": { - "get": { - "produces": [ - "application/json" - ], - "parameters": [ - { - "description": "ID for the shipment.", - "in": "path", - "minLength": 1, - "name": "shipmentId", - "required": true, - "type": "string" - }, - { - "description": "Page type for the generated labels. The default is `PLAIN_PAPER`.", - "enum": [ - "THERMAL_NONPCP", - "PLAIN_PAPER", - "LETTER_6" - ], - "in": "query", - "name": "pageType", - "type": "string", - "x-docgen-enum-table-extension": [ - { - "description": "Use `THERMAL_NONPC` for a thermal printer. Supports non-Amazon-partnered shipments.", - "value": "THERMAL_NONPCP" - }, - { - "description": "One label per sheet of US Letter paper. Only for non-Amazon-partnered shipments.", - "value": "PLAIN_PAPER" - }, - { - "description": "Six labels per US Letter label sheet.", - "value": "LETTER_6" - } - ], - "x-example": "PLAIN_PAPER" - }, - { - "description": "The format type of the output file that contains your labels.", - "enum": [ - "PDF" - ], - "in": "query", - "name": "formatType", - "type": "string", - "x-docgen-enum-table-extension": [ - { - "description": "PDF format.", - "value": "PDF" - } - ], - "x-example": "PDF" - } - ], - "responses": { - "200": { - "description": "The 200 response for `getInboundShipmentLabels`.", - "headers": { - "x-amzn-RateLimit-Limit": { - "description": "Your rate limit (requests per second) for this operation.", - "type": "string" - }, - "x-amzn-RequestId": { - "description": "Unique request reference identifier.", - "type": "string" - } - }, - "schema": { - "$ref": "#/definitions/ShipmentLabels" - }, - "x-amzn-api-sandbox": { - "static": [ - { - "request": { - "parameters": { - "shipmentId": { - "value": "TestShipmentId" - } - } - }, - "response": { - "labelDownloadURL": "TEST_URL", - "labelStatus": "GENERATED" - } - } - ] - } - }, - "400": { - "description": "Request has missing or invalid parameters and cannot be parsed.", - "headers": { - "x-amzn-RateLimit-Limit": { - "description": "Your rate limit (requests per second) for this operation.", - "type": "string" - }, - "x-amzn-RequestId": { - "description": "Unique request reference identifier.", - "type": "string" - } - }, - "schema": { - "$ref": "#/definitions/ErrorList" - }, - "x-amzn-api-sandbox": { - "static": [ - { - "request": { - "parameters": { - "shipmentId": { - "value": " " - } - } - }, - "response": { - "errors": [ - { - "code": "BAD_REQUEST", - "details": "This exception is thrown when client inputs are invalid", - "message": "ShipmentId should be present for this request" - } - ] - } - } - ] - } - }, - "403": { - "description": "Indicates that access to the resource is forbidden. Possible reasons include Access Denied, Unauthorized, Expired Token, or Invalid Signature.", - "headers": { - "x-amzn-RequestId": { - "description": "Unique request reference identifier.", - "type": "string" - } - }, - "schema": { - "$ref": "#/definitions/ErrorList" - } - }, - "404": { - "description": "The resource specified does not exist.", - "headers": { - "x-amzn-RateLimit-Limit": { - "description": "Your rate limit (requests per second) for this operation.", - "type": "string" - }, - "x-amzn-RequestId": { - "description": "Unique request reference identifier.", - "type": "string" - } - }, - "schema": { - "$ref": "#/definitions/ErrorList" - } - }, - "413": { - "description": "The request size exceeded the maximum accepted size.", - "headers": { - "x-amzn-RequestId": { - "description": "Unique request reference identifier.", - "type": "string" - } - }, - "schema": { - "$ref": "#/definitions/ErrorList" - } - }, - "415": { - "description": "The request payload is in an unsupported format.", - "headers": { - "x-amzn-RequestId": { - "description": "Unique request reference identifier.", - "type": "string" - } - }, - "schema": { - "$ref": "#/definitions/ErrorList" - } - }, - "429": { - "description": "The frequency of requests was greater than allowed.", - "headers": { - "x-amzn-RequestId": { - "description": "Unique request reference identifier.", - "type": "string" - } - }, - "schema": { - "$ref": "#/definitions/ErrorList" - } - }, - "500": { - "description": "An unexpected condition occurred that prevented the server from fulfilling the request.", - "headers": { - "x-amzn-RequestId": { - "description": "Unique request reference identifier.", - "type": "string" - } - }, - "schema": { - "$ref": "#/definitions/ErrorList" - } - }, - "503": { - "description": "Temporary overloading or maintenance of the server.", - "headers": { - "x-amzn-RequestId": { - "description": "Unique request reference identifier.", - "type": "string" - } - }, - "schema": { - "$ref": "#/definitions/ErrorList" - } - } - }, - "tags": [ - "awd" - ], - "description": "Retrieves the box labels associated with the specified shipment ID.\n\n**Usage Plan:**\n\n| Rate (requests per second) | Burst |\n| ---- | ---- |\n| 1 | 1 |\n\nThe `x-amzn-RateLimit-Limit` response header returns the usage plan rate limits that were applied to the requested operation, when available. The table above indicates the default rate and burst values for this operation. Selling partners whose business demands require higher throughput may see higher rate and burst values than those shown here. For more information, refer to [Usage Plans and Rate Limits in the Selling Partner API](https://developer-docs.amazon.com/sp-api/docs/usage-plans-and-rate-limits-in-the-sp-api).", - "operationId": "getInboundShipmentLabels" - } - }, - "/awd/2024-05-09/inboundShipments/{shipmentId}/transport": { - "put": { - "consumes": [ - "application/json" - ], - "produces": [ - "application/json" - ], - "parameters": [ - { - "description": "The shipment ID.", - "in": "path", - "minLength": 1, - "name": "shipmentId", - "required": true, - "type": "string" - }, - { - "description": "Transportation details for the shipment.", - "in": "body", - "name": "body", - "required": true, - "schema": { - "$ref": "#/definitions/TransportationDetails" - } - } - ], - "responses": { - "200": { - "description": "The 200 response for `updateInboundShipmentTransportDetails`.", - "headers": { - "x-amzn-RateLimit-Limit": { - "description": "Your rate limit (requests per second) for this operation.", - "type": "string" - }, - "x-amzn-RequestId": { - "description": "Unique request reference identifier.", - "type": "string" - } - }, - "schema": { - "$ref": "#/definitions/InboundShipment" - }, - "x-amzn-api-sandbox": { - "static": [ - { - "request": { - "parameters": { - "shipmentId": { - "value": "TestShipmentId" - }, - "body": { - "value": { - "carrierCode": { - "carrierCodeType": "SCAC" - }, - "shipBy": "2023-07-17T07:10:17.886Z", - "trackingId": "TRACKING_ID" - } - } - } - }, - "response": { - "carrierCode": { - "carrierCodeType": "SCAC", - "carrierCodeValue": "NCSL" - }, - "createdAt": "2023-06-07T12:12:09.061Z", - "destinationAddress": { - "addressLine1": "address_1", - "addressLine2": "address_2", - "addressLine3": "address_3", - "city": "City1", - "countryCode": "CC", - "district": "District1", - "name": "DestinationName", - "postalCode": "123456", - "stateOrRegion": "State1" - }, - "orderId": "TestOrderId", - "originAddress": { - "addressLine1": "address_1", - "addressLine2": "address_2", - "addressLine3": "address_3", - "city": "City1", - "countryCode": "CC", - "district": "District1", - "name": "DestinationName", - "postalCode": "123456", - "stateOrRegion": "State1" - }, - "receivedQuantity": [ - { - "quantity": 0, - "unitOfMeasurement": "CASES" - } - ], - "shipBy": "2023-06-07T12:12:09.061Z", - "shipmentContainerQuantities": [ - { - "count": 1, - "distributionPackage": { - "contents": { - "packages": [], - "products": [ - { - "quantity": 20, - "sku": "testPen" - } - ] - }, - "measurements": { - "dimensions": { - "height": 33.02, - "length": 45.72, - "unitOfMeasurement": "CENTIMETERS", - "width": 15.24 - }, - "weight": { - "unitOfMeasurement": "KILOGRAMS", - "weight": 5.443104 - } - }, - "type": "CASE" - } - } - ], - "shipmentId": "TestShipmentId", - "shipmentStatus": "CREATED", - "trackingId": "TRACKING_ID", - "updatedAt": "2023-06-07T12:12:09.061Z" - } - } - ] - } - }, - "400": { - "description": "Request has missing or invalid parameters and cannot be parsed.", - "headers": { - "x-amzn-RateLimit-Limit": { - "description": "Your rate limit (requests per second) for this operation.", - "type": "string" - }, - "x-amzn-RequestId": { - "description": "Unique request reference identifier.", - "type": "string" - } - }, - "schema": { - "$ref": "#/definitions/ErrorList" - }, - "x-amzn-api-sandbox": { - "static": [ - { - "request": { - "parameters": { - "shipmentId": { - "value": " " - } - } - }, - "response": { - "errors": [ - { - "code": "BAD_REQUEST", - "details": "This exception is thrown when client inputs are invalid", - "message": "ShipmentId should be present for this request" - } - ] - } - } - ] - } - }, - "403": { - "description": "Indicates that access to the resource is forbidden. Possible reasons include Access Denied, Unauthorized, Expired Token, or Invalid Signature.", - "headers": { - "x-amzn-RequestId": { - "description": "Unique request reference identifier.", - "type": "string" - } - }, - "schema": { - "$ref": "#/definitions/ErrorList" - } - }, - "404": { - "description": "The resource specified does not exist.", - "headers": { - "x-amzn-RateLimit-Limit": { - "description": "Your rate limit (requests per second) for this operation.", - "type": "string" - }, - "x-amzn-RequestId": { - "description": "Unique request reference identifier.", - "type": "string" - } - }, - "schema": { - "$ref": "#/definitions/ErrorList" - } - }, - "413": { - "description": "The request size exceeded the maximum accepted size.", - "headers": { - "x-amzn-RequestId": { - "description": "Unique request reference identifier.", - "type": "string" - } - }, - "schema": { - "$ref": "#/definitions/ErrorList" - } - }, - "415": { - "description": "The request payload is in an unsupported format.", - "headers": { - "x-amzn-RequestId": { - "description": "Unique request reference identifier.", - "type": "string" - } - }, - "schema": { - "$ref": "#/definitions/ErrorList" - } - }, - "429": { - "description": "The frequency of requests was greater than allowed.", - "headers": { - "x-amzn-RequestId": { - "description": "Unique request reference identifier.", - "type": "string" - } - }, - "schema": { - "$ref": "#/definitions/ErrorList" - } - }, - "500": { - "description": "An unexpected condition occurred that prevented the server from fulfilling the request.", - "headers": { - "x-amzn-RequestId": { - "description": "Unique request reference identifier.", - "type": "string" - } - }, - "schema": { - "$ref": "#/definitions/ErrorList" - } - }, - "503": { - "description": "Temporary overloading or maintenance of the server.", - "headers": { - "x-amzn-RequestId": { - "description": "Unique request reference identifier.", - "type": "string" - } - }, - "schema": { - "$ref": "#/definitions/ErrorList" - } - } - }, - "tags": [ - "awd" - ], - "description": "Updates transport details for an AWD shipment.\n\n**Usage Plan:**\n\n| Rate (requests per second) | Burst |\n| ---- | ---- |\n| 1 | 1 |\n\nThe `x-amzn-RateLimit-Limit` response header returns the usage plan rate limits that were applied to the requested operation, when available. The table above indicates the default rate and burst values for this operation. Selling partners whose business demands require higher throughput may see higher rate and burst values than those shown here. For more information, refer to [Usage Plans and Rate Limits in the Selling Partner API](https://developer-docs.amazon.com/sp-api/docs/usage-plans-and-rate-limits-in-the-sp-api).", - "operationId": "updateInboundShipmentTransportDetails" - } - }, - "/awd/2024-05-09/inboundEligibility": { - "post": { - "consumes": [ - "application/json" - ], - "produces": [ - "application/json" - ], - "parameters": [ - { - "description": "Represents the packages you want to inbound.", - "in": "body", - "name": "body", - "required": true, - "schema": { - "$ref": "#/definitions/InboundPackages" - } - } - ], - "responses": { - "200": { - "description": "The 200 response for `checkInboundEligibility`.", - "headers": { - "x-amzn-RateLimit-Limit": { - "description": "Your rate limit (requests per second) for this operation.", - "type": "string" - }, - "x-amzn-RequestId": { - "description": "Unique request reference identifier.", - "type": "string" - } - }, - "schema": { - "$ref": "#/definitions/InboundEligibility" - }, - "x-amzn-api-sandbox": { - "static": [ - { - "request": { - "parameters": { - "body": { - "value": { - "packagesToInbound": [ - { - "count": 1, - "distributionPackage": { - "contents": { - "products": [ - { - "quantity": 1, - "sku": "TestDVDSku" - } - ] - }, - "measurements": { - "dimensions": { - "height": 1, - "length": 1, - "unitOfMeasurement": "INCHES", - "width": 1 - }, - "volume": { - "unitOfMeasurement": "CUIN", - "volume": 1 - }, - "weight": { - "unitOfMeasurement": "POUNDS", - "weight": 1 - } - }, - "type": "CASE" - } - }, - { - "count": 1, - "distributionPackage": { - "contents": { - "products": [ - { - "quantity": 1, - "sku": "testPen" - } - ] - }, - "measurements": { - "dimensions": { - "height": 1, - "length": 1, - "unitOfMeasurement": "INCHES", - "width": 1 - }, - "volume": { - "unitOfMeasurement": "CUIN", - "volume": 1 - }, - "weight": { - "unitOfMeasurement": "POUNDS", - "weight": 1 - } - }, - "type": "CASE" - } - } - ] - } - } - } - }, - "response": { - "ineligibilityReasons": [], - "status": "INELIGIBLE", - "packagesToInbound": [ - { - "ineligibilityReasons": [ - { - "description": "You can't use the gating service to buy this item.", - "code": "GATING_BLOCK_ON_GL" - } - ], - "status": "INELIGIBLE", - "packageQuantity": { - "count": 1, - "distributionPackage": { - "contents": { - "packages": [], - "products": [ - { - "quantity": 1, - "sku": "TestDVDSku" - } - ] - }, - "measurements": { - "dimensions": { - "height": 1.0, - "length": 1.0, - "unitOfMeasurement": "INCHES", - "width": 1.0 - }, - "volume": { - "unitOfMeasurement": "CUIN", - "volume": 1.0 - }, - "weight": { - "unitOfMeasurement": "POUNDS", - "weight": 1.0 - } - }, - "type": "CASE" - } - } - }, - { - "ineligibilityReasons": [], - "status": "ELIGIBLE", - "packageQuantity": { - "count": 1, - "distributionPackage": { - "contents": { - "packages": [], - "products": [ - { - "quantity": 1, - "sku": "testPen" - } - ] - }, - "measurements": { - "dimensions": { - "height": 1.0, - "length": 1.0, - "unitOfMeasurement": "INCHES", - "width": 1.0 - }, - "volume": { - "unitOfMeasurement": "CUIN", - "volume": 1.0 - }, - "weight": { - "unitOfMeasurement": "POUNDS", - "weight": 1.0 - } - }, - "type": "CASE" - } - } - } - ], - "previewedAt": "1688454771870" - } - } - ] - } - }, - "400": { - "description": "Request has missing or invalid parameters and cannot be parsed.", - "headers": { - "x-amzn-RateLimit-Limit": { - "description": "Your rate limit (requests per second) for this operation.", - "type": "string" - }, - "x-amzn-RequestId": { - "description": "Unique request reference identifier.", - "type": "string" - } - }, - "schema": { - "$ref": "#/definitions/ErrorList" - }, - "x-amzn-api-sandbox": { - "static": [ - { - "request": { - "parameters": { - "body": { - "value": { - "packagesToInbound": [ - { - "count": 1, - "distributionPackage": { - "contents": { - "products": [ - { - "quantity": 1, - "sku": "TestDVDSku" - } - ] - }, - "measurements": { - "dimensions": { - "height": 1, - "length": 1, - "unitOfMeasurement": "INCHES", - "width": 1 - }, - "volume": { - "unitOfMeasurement": "CUIN", - "volume": 1 - }, - "weight": { - "unitOfMeasurement": "POUNDS", - "weight": 1 - } - }, - "type": "CASE" - } - }, - { - "count": 1, - "distributionPackage": { - "contents": { - "products": [ - { - "quantity": 1, - "sku": "testPen" - } - ] - }, - "measurements": { - "dimensions": { - "height": 1, - "length": 1, - "unitOfMeasurement": "INCHES", - "width": 1 - }, - "volume": { - "unitOfMeasurement": "CUIN", - "volume": 1 - }, - "weight": { - "unitOfMeasurement": "POUNDS", - "weight": 1 - } - }, - "type": "TEST" - } - } - ] - } - } - } - }, - "response": { - "errors": [ - { - "code": "BAD_REQUEST", - "details": "This exception is thrown when client inputs are invalid", - "message": "OrderId should be present for this request" - } - ] - } - } - ] - } - }, - "403": { - "description": "Indicates that access to the resource is forbidden. Possible reasons include Access Denied, Unauthorized, Expired Token, or Invalid Signature.", - "headers": { - "x-amzn-RequestId": { - "description": "Unique request reference identifier.", - "type": "string" - } - }, - "schema": { - "$ref": "#/definitions/ErrorList" - } - }, - "404": { - "description": "The resource specified does not exist.", - "headers": { - "x-amzn-RateLimit-Limit": { - "description": "Your rate limit (requests per second) for this operation.", - "type": "string" - }, - "x-amzn-RequestId": { - "description": "Unique request reference identifier.", - "type": "string" - } - }, - "schema": { - "$ref": "#/definitions/ErrorList" - } - }, - "413": { - "description": "The request size exceeded the maximum accepted size.", - "headers": { - "x-amzn-RequestId": { - "description": "Unique request reference identifier.", - "type": "string" - } - }, - "schema": { - "$ref": "#/definitions/ErrorList" - } - }, - "415": { - "description": "The request payload is in an unsupported format.", - "headers": { - "x-amzn-RequestId": { - "description": "Unique request reference identifier.", - "type": "string" - } - }, - "schema": { - "$ref": "#/definitions/ErrorList" - } - }, - "429": { - "description": "The frequency of requests was greater than allowed.", - "headers": { - "x-amzn-RequestId": { - "description": "Unique request reference identifier.", - "type": "string" - } - }, - "schema": { - "$ref": "#/definitions/ErrorList" - } - }, - "500": { - "description": "An unexpected condition occurred that prevented the server from fulfilling the request.", - "headers": { - "x-amzn-RequestId": { - "description": "Unique request reference identifier.", - "type": "string" - } - }, - "schema": { - "$ref": "#/definitions/ErrorList" - } - }, - "503": { - "description": "Temporary overloading or maintenance of the server.", - "headers": { - "x-amzn-RequestId": { - "description": "Unique request reference identifier.", - "type": "string" - } - }, - "schema": { - "$ref": "#/definitions/ErrorList" - } - } - }, - "tags": [ - "awd" - ], - "description": "Perform a dry-run test to determine if the specified inventory is eligible for AWD inbound shipment.\n\n**Usage Plan:**\n\n| Rate (requests per second) | Burst |\n| ---- | ---- |\n| 1 | 1 |\n\nThe `x-amzn-RateLimit-Limit` response header returns the usage plan rate limits that were applied to the requested operation, when available. The table above indicates the default rate and burst values for this operation. Selling partners whose business demands require higher throughput may see higher rate and burst values than those shown here. For more information, refer to [Usage Plans and Rate Limits in the Selling Partner API](https://developer-docs.amazon.com/sp-api/docs/usage-plans-and-rate-limits-in-the-sp-api).", - "operationId": "checkInboundEligibility" - } - }, - "/awd/2024-05-09/inboundShipments": { - "get": { - "produces": [ - "application/json" - ], - "parameters": [ - { - "description": "Field to sort results by. By default, the response will be sorted by UPDATED_AT.", - "enum": [ - "UPDATED_AT", - "CREATED_AT" - ], - "in": "query", - "name": "sortBy", - "type": "string", - "x-docgen-enum-table-extension": [ - { - "description": "Sort by the time of update.", - "value": "UPDATED_AT" - }, - { - "description": "Sort by the time of creation.", - "value": "CREATED_AT" - } - ] - }, - { - "description": "Sort the response in ASCENDING or DESCENDING order. By default, the response will be sorted in DESCENDING order.", - "enum": [ - "ASCENDING", - "DESCENDING" - ], - "in": "query", - "name": "sortOrder", - "type": "string", - "x-docgen-enum-table-extension": [ - { - "description": "Sorts the collection in ascending order.", - "value": "ASCENDING" - }, - { - "description": "Sorts the collection in descending order.", - "value": "DESCENDING" - } - ], - "x-example": "ASCENDING" - }, - { - "description": "Filter by inbound shipment status.", - "enum": [ - "CREATED", - "SHIPPED", - "IN_TRANSIT", - "RECEIVING", - "DELIVERED", - "CLOSED", - "CANCELLED" - ], - "in": "query", - "name": "shipmentStatus", - "type": "string", - "x-docgen-enum-table-extension": [ - { - "description": "Shipment is created, but hasn't shipped.", - "value": "CREATED" - }, - { - "description": "Shipment was picked up by the carrier or was dropped off with the carrier.", - "value": "SHIPPED" - }, - { - "description": "The carrier has notified AWD that the shipment is in transit between the origin and destination nodes.", - "value": "IN_TRANSIT" - }, - { - "description": "The shipment has been partially received.", - "value": "RECEIVING" - }, - { - "description": "The shipment has reached the destination node and has been delivered to the facility yard. The shipment `receive` process at the warehouse will start soon.", - "value": "DELIVERED" - }, - { - "description": "No more actions are required for the shipment. This is a final state.", - "value": "CLOSED" - }, - { - "description": "The shipment is cancelled. This is a final state.", - "value": "CANCELLED" - } - ], - "x-example": "CREATED" - }, - { - "description": "List the inbound shipments that were updated after a certain time (inclusive). The date must be in ISO 8601 format.", - "format": "date-time", - "in": "query", - "name": "updatedAfter", - "type": "string", - "x-example": "2023-01-12T10:00:00.000Z" - }, - { - "description": "List the inbound shipments that were updated before a certain time (inclusive). The date must be in ISO 8601 format.", - "format": "date-time", - "in": "query", - "name": "updatedBefore", - "type": "string", - "x-example": "2023-01-12T10:00:00.000Z" - }, - { - "default": 25, - "description": "Maximum number of results to return.", - "format": "int32", - "in": "query", - "maximum": 200, - "minimum": 1, - "name": "maxResults", - "type": "integer", - "x-example": "10" - }, - { - "description": "Token to retrieve the next set of paginated results.", - "in": "query", - "name": "nextToken", - "type": "string", - "x-example": "SampleToken" - } - ], - "responses": { - "200": { - "description": "The 200 response for `listInboundShipments`.", - "headers": { - "x-amzn-RateLimit-Limit": { - "description": "Your rate limit (requests per second) for this operation.", - "type": "string" - }, - "x-amzn-RequestId": { - "description": "Unique request reference identifier.", - "type": "string" - } - }, - "schema": { - "$ref": "#/definitions/ShipmentListing" - }, - "x-amzn-api-sandbox": { - "static": [ - { - "request": { - "parameters": {} - }, - "response": { - "shipments": [{ - "createdAt": "2023-06-07T12:12:09.061Z", - "orderId": "TestOrderId", - "shipmentId": "TestShipmentId", - "shipmentStatus": "CREATED", - "updatedAt": "2023-06-07T12:12:09.061Z" - }] - } - } - ] - } - }, - "400": { - "description": "Request has missing or invalid parameters and cannot be parsed.", - "headers": { - "x-amzn-RateLimit-Limit": { - "description": "Your rate limit (requests per second) for this operation.", - "type": "string" - }, - "x-amzn-RequestId": { - "description": "Unique request reference identifier.", - "type": "string" - } - }, - "schema": { - "$ref": "#/definitions/ErrorList" - }, - "x-amzn-api-sandbox": { - "static": [ - { - "request": { - "parameters": { - "sortBy": { - "value": "TEST" - } - } - }, - "response": { - "errors": [ - { - "code": "BAD_REQUEST", - "details": "This exception is thrown when client inputs are invalid", - "message": "Invalid shipment sortable field received: TEST" - } - ] - } - } - ] - } - }, - "403": { - "description": "Indicates that access to the resource is forbidden. Possible reasons include Access Denied, Unauthorized, Expired Token, or Invalid Signature.", - "headers": { - "x-amzn-RequestId": { - "description": "Unique request reference identifier.", - "type": "string" - } - }, - "schema": { - "$ref": "#/definitions/ErrorList" - } - }, - "404": { - "description": "The resource specified does not exist.", - "headers": { - "x-amzn-RateLimit-Limit": { - "description": "Your rate limit (requests per second) for this operation.", - "type": "string" - }, - "x-amzn-RequestId": { - "description": "Unique request reference identifier.", - "type": "string" - } - }, - "schema": { - "$ref": "#/definitions/ErrorList" - } - }, - "413": { - "description": "The request size exceeded the maximum accepted size.", - "headers": { - "x-amzn-RequestId": { - "description": "Unique request reference identifier.", - "type": "string" - } - }, - "schema": { - "$ref": "#/definitions/ErrorList" - } - }, - "415": { - "description": "The request payload is in an unsupported format.", - "headers": { - "x-amzn-RequestId": { - "description": "Unique request reference identifier.", - "type": "string" - } - }, - "schema": { - "$ref": "#/definitions/ErrorList" - } - }, - "429": { - "description": "The frequency of requests was greater than allowed.", - "headers": { - "x-amzn-RequestId": { - "description": "Unique request reference identifier.", - "type": "string" - } - }, - "schema": { - "$ref": "#/definitions/ErrorList" - } - }, - "500": { - "description": "An unexpected condition occurred that prevented the server from fulfilling the request.", - "headers": { - "x-amzn-RequestId": { - "description": "Unique request reference identifier.", - "type": "string" - } - }, - "schema": { - "$ref": "#/definitions/ErrorList" - } - }, - "503": { - "description": "Temporary overloading or maintenance of the server.", - "headers": { - "x-amzn-RequestId": { - "description": "Unique request reference identifier.", - "type": "string" - } - }, - "schema": { - "$ref": "#/definitions/ErrorList" - } - } - }, - "tags": [ - "awd" - ], - "description": "Retrieves a summary of all the inbound AWD shipments associated with a merchant, with the ability to apply optional filters.\n\n**Usage Plan:**\n\n| Rate (requests per second) | Burst |\n| ---- | ---- |\n| 1 | 1 |\n\nThe `x-amzn-RateLimit-Limit` response header returns the usage plan rate limits that were applied to the requested operation, when available. The table above indicates the default rate and burst values for this operation. Selling partners whose business demands require higher throughput may see higher rate and burst values than those shown here. For more information, refer to [Usage Plans and Rate Limits in the Selling Partner API](https://developer-docs.amazon.com/sp-api/docs/usage-plans-and-rate-limits-in-the-sp-api).", - "operationId": "listInboundShipments" - } - }, - "/awd/2024-05-09/inventory": { - "get": { - "produces": [ - "application/json" - ], - "parameters": [ - { - "description": "Filter by seller or merchant SKU for the item.", - "in": "query", - "name": "sku", - "type": "string", - "x-example": "TestSKU" - }, - { - "description": "Sort the response in `ASCENDING` or `DESCENDING` order.", - "enum": [ - "ASCENDING", - "DESCENDING" - ], - "in": "query", - "name": "sortOrder", - "type": "string", - "x-docgen-enum-table-extension": [ - { - "description": "Sorts the collection in ascending order.", - "value": "ASCENDING" - }, - { - "description": "Sorts the collection in descending order.", - "value": "DESCENDING" - } - ] - }, - { - "description": "Set to `SHOW` to return summaries with additional inventory details. Defaults to `HIDE,` which returns only inventory summary totals.", - "enum": [ - "SHOW", - "HIDE" - ], - "in": "query", - "name": "details", - "type": "string", - "x-docgen-enum-table-extension": [ - { - "description": "Show the additional summarized inventory details.", - "value": "SHOW" - }, - { - "description": "Hide the additional summarized inventory details.", - "value": "HIDE" - } - ], - "x-example": "SHOW" - }, - { - "description": "Token to retrieve the next set of paginated results.", - "in": "query", - "name": "nextToken", - "type": "string", - "x-example": "SampleToken" - }, - { - "default": 25, - "description": "Maximum number of results to return.", - "format": "int32", - "in": "query", - "maximum": 200, - "minimum": 1, - "name": "maxResults", - "type": "integer", - "x-example": "10" - } - ], - "responses": { - "200": { - "description": "The 200 response for `listInventory`.", - "headers": { - "x-amzn-RateLimit-Limit": { - "description": "Your rate limit (requests per second) for this operation.", - "type": "string" - }, - "x-amzn-RequestId": { - "description": "Unique request reference identifier.", - "type": "string" - } - }, - "schema": { - "$ref": "#/definitions/InventoryListing" - }, - "x-amzn-api-sandbox": { - "static": [ - { - "request": {}, - "response": { - "inventory": [ - { - "totalOnhandQuantity": 20, - "totalInboundQuantity": 10, - "sku": "100TestSKU1Pen", - "inventoryDetails": { - "availableDistributableQuantity": 10, - "reservedDistributableQuantity": 10 - } - }, - { - "totalOnhandQuantity": 20, - "totalInboundQuantity": 5, - "sku": "2U-BKEX-VW4D", - "inventoryDetails": { - "availableDistributableQuantity": 10, - "reservedDistributableQuantity": 10 - } - } - ] - } - } - ] - } - }, - "400": { - "description": "Request has missing or invalid parameters and cannot be parsed.", - "headers": { - "x-amzn-RateLimit-Limit": { - "description": "Your rate limit (requests per second) for this operation.", - "type": "string" - }, - "x-amzn-RequestId": { - "description": "Unique request reference identifier.", - "type": "string" - } - }, - "schema": { - "$ref": "#/definitions/ErrorList" - }, - "x-amzn-api-sandbox": { - "static": [ - { - "request": { - "parameters": { - "sortOrder": { - "value": "UNKNOWN" - } - } - }, - "response": { - "errors": [ - { - "code": "BAD_REQUEST", - "details": "This exception is thrown when client inputs are invalid", - "message": "Invalid value: UNKNOWN passed for sort order. Possible values are: [ASCENDING, DESCENDING]" - } - ] - } - } - ] - } - }, - "403": { - "description": "Indicates that access to the resource is forbidden. Possible reasons include Access Denied, Unauthorized, Expired Token, or Invalid Signature.", - "headers": { - "x-amzn-RequestId": { - "description": "Unique request reference identifier.", - "type": "string" - } - }, - "schema": { - "$ref": "#/definitions/ErrorList" - } - }, - "404": { - "description": "The resource specified does not exist.", - "headers": { - "x-amzn-RateLimit-Limit": { - "description": "Your rate limit (requests per second) for this operation.", - "type": "string" - }, - "x-amzn-RequestId": { - "description": "Unique request reference identifier.", - "type": "string" - } - }, - "schema": { - "$ref": "#/definitions/ErrorList" - } - }, - "413": { - "description": "The request size exceeded the maximum accepted size.", - "headers": { - "x-amzn-RequestId": { - "description": "Unique request reference identifier.", - "type": "string" - } - }, - "schema": { - "$ref": "#/definitions/ErrorList" - } - }, - "415": { - "description": "The request payload is in an unsupported format.", - "headers": { - "x-amzn-RequestId": { - "description": "Unique request reference identifier.", - "type": "string" - } - }, - "schema": { - "$ref": "#/definitions/ErrorList" - } - }, - "429": { - "description": "The frequency of requests was greater than allowed.", - "headers": { - "x-amzn-RequestId": { - "description": "Unique request reference identifier.", - "type": "string" - } - }, - "schema": { - "$ref": "#/definitions/ErrorList" - } - }, - "500": { - "description": "An unexpected condition occurred that prevented the server from fulfilling the request.", - "headers": { - "x-amzn-RequestId": { - "description": "Unique request reference identifier.", - "type": "string" - } - }, - "schema": { - "$ref": "#/definitions/ErrorList" - } - }, - "503": { - "description": "Temporary overloading or maintenance of the server.", - "headers": { - "x-amzn-RequestId": { - "description": "Unique request reference identifier.", - "type": "string" - } - }, - "schema": { - "$ref": "#/definitions/ErrorList" - } - } - }, - "tags": [ - "awd" - ], - "description": "Lists AWD inventory associated with a merchant with the ability to apply optional filters.\n\n**Usage Plan:**\n\n| Rate (requests per second) | Burst |\n| ---- | ---- |\n| 2 | 2 |\n\nThe `x-amzn-RateLimit-Limit` response header returns the usage plan rate limits that were applied to the requested operation, when available. The table above indicates the default rate and burst values for this operation. Selling partners whose business demands require higher throughput may see higher rate and burst values than those shown here. For more information, refer to [Usage Plans and Rate Limits in the Selling Partner API](https://developer-docs.amazon.com/sp-api/docs/usage-plans-and-rate-limits-in-the-sp-api).", - "operationId": "listInventory" - } - }, - "/awd/2024-05-09/outboundOrders": { - "get": { - "produces": [ - "application/json" - ], - "parameters": [ - { - "description": "Get the outbound orders updated after a certain time (inclusive). The date must be in ISO 8601 format.", - "format": "date-time", - "in": "query", - "name": "updatedAfter", - "type": "string", - "x-example": "2023-01-12T10:00:00.000Z" - }, - { - "description": "Get the outbound orders updated before a certain time (inclusive). The date must be in ISO 8601 format.", - "format": "date-time", - "in": "query", - "name": "updatedBefore", - "type": "string", - "x-example": "2023-01-12T10:00:00.000Z" - }, - { - "description": "Sort the response in `ASCENDING` or `DESCENDING` order.", - "enum": [ - "ASCENDING", - "DESCENDING" - ], - "in": "query", - "name": "sortOrder", - "type": "string", - "x-docgen-enum-table-extension": [ - { - "description": "Sorts the collection in ascending order.", - "value": "ASCENDING" - }, - { - "description": "Sorts the collection in descending order.", - "value": "DESCENDING" - } - ] - }, - { - "default": 25, - "description": "Maximum number of results to return.", - "format": "int32", - "in": "query", - "maximum": 100, - "minimum": 1, - "name": "maxResults", - "type": "integer", - "x-example": "10" - }, - { - "description": "Token to retrieve the next set of paginated results.", - "in": "query", - "name": "nextToken", - "type": "string", - "x-example": "SampleToken" - } - ], - "responses": { - "200": { - "description": "The 200 response for `listOutbounds`.", - "headers": { - "x-amzn-RateLimit-Limit": { - "description": "Your rate limit (requests per second) for this operation.", - "type": "string" - }, - "x-amzn-RequestId": { - "description": "Unique request reference identifier.", - "type": "string" - } - }, - "schema": { - "$ref": "#/definitions/OutboundListing" - }, - "x-amzn-api-sandbox": { - "static": [ - { - "request": { - "parameters": {} - }, - "response": { - "outboundOrders": [ - { - "eligiblePackagesToOutbound": [], - "eligibleProductsToOutbound": [], - "executionErrors": [], - "orderId": "TEST_ORDER_ID", - "orderPreferences": [], - "orderStatus": "SUCCESS", - "outboundShipments": [], - "packagesToOutbound": [], - "productsToOutbound": [], - "shippedOutboundPackages": [], - "shippedOutboundProducts": [] - } - ] - } - } - ] - } - }, - "400": { - "description": "Request has missing or invalid parameters and cannot be parsed.", - "headers": { - "x-amzn-RateLimit-Limit": { - "description": "Your rate limit (requests per second) for this operation.", - "type": "string" - }, - "x-amzn-RequestId": { - "description": "Unique request reference identifier.", - "type": "string" - } - }, - "schema": { - "$ref": "#/definitions/ErrorList" - }, - "x-amzn-api-sandbox": { - "static": [ - { - "request": { - "parameters": { - "sortOrder": { - "value": "TEST" - } - } - }, - "response": { - "errors": [ - { - "code": "BAD_REQUEST", - "details": "This exception is thrown when client inputs are invalid", - "message": "Invalid sort order field: TEST" - } - ] - } - } - ] - } - }, - "403": { - "description": "Indicates that access to the resource is forbidden. Possible reasons include Access Denied, Unauthorized, Expired Token, or Invalid Signature.", - "headers": { - "x-amzn-RequestId": { - "description": "Unique request reference identifier.", - "type": "string" - } - }, - "schema": { - "$ref": "#/definitions/ErrorList" - } - }, - "404": { - "description": "The resource specified does not exist.", - "headers": { - "x-amzn-RateLimit-Limit": { - "description": "Your rate limit (requests per second) for this operation.", - "type": "string" - }, - "x-amzn-RequestId": { - "description": "Unique request reference identifier.", - "type": "string" - } - }, - "schema": { - "$ref": "#/definitions/ErrorList" - } - }, - "413": { - "description": "The request size exceeded the maximum accepted size.", - "headers": { - "x-amzn-RequestId": { - "description": "Unique request reference identifier.", - "type": "string" - } - }, - "schema": { - "$ref": "#/definitions/ErrorList" - } - }, - "415": { - "description": "The request payload is in an unsupported format.", - "headers": { - "x-amzn-RequestId": { - "description": "Unique request reference identifier.", - "type": "string" - } - }, - "schema": { - "$ref": "#/definitions/ErrorList" - } - }, - "429": { - "description": "The frequency of requests was greater than allowed.", - "headers": { - "x-amzn-RequestId": { - "description": "Unique request reference identifier.", - "type": "string" - } - }, - "schema": { - "$ref": "#/definitions/ErrorList" - } - }, - "500": { - "description": "An unexpected condition occurred that prevented the server from fulfilling the request.", - "headers": { - "x-amzn-RequestId": { - "description": "Unique request reference identifier.", - "type": "string" - } - }, - "schema": { - "$ref": "#/definitions/ErrorList" - } - }, - "503": { - "description": "Temporary overloading or maintenance of the server.", - "headers": { - "x-amzn-RequestId": { - "description": "Unique request reference identifier.", - "type": "string" - } - }, - "schema": { - "$ref": "#/definitions/ErrorList" - } - } - }, - "tags": [ - "awd" - ], - "description": "Retrieves all outbound AWD orders (with optional filters) that pertain to a merchant. By default, orders are sorted by the `updatedAt` attribute in descending order.\n\n**Usage Plan:**\n\n| Rate (requests per second) | Burst |\n| ---- | ---- |\n| 1 | 1 |\n\nThe `x-amzn-RateLimit-Limit` response header returns the usage plan rate limits that were applied to the requested operation, when available. The table above indicates the default rate and burst values for this operation. Selling partners whose business demands require higher throughput may see higher rate and burst values than those shown here. For more information, refer to [Usage Plans and Rate Limits in the Selling Partner API](https://developer-docs.amazon.com/sp-api/docs/usage-plans-and-rate-limits-in-the-sp-api).", - "operationId": "listOutbounds" - }, - "post": { - "consumes": [ - "application/json" - ], - "produces": [ - "application/json" - ], - "parameters": [ - { - "description": "Payload for creating an outbound order.", - "in": "body", - "name": "body", - "required": true, - "schema": { - "$ref": "#/definitions/OutboundOrderCreationData" - } - } - ], - "responses": { - "201": { - "description": "The 201 response for `createOutbound`.", - "headers": { - "location": { - "description": "Location header with the order ID for the newly created outbound order.", - "type": "string" - }, - "x-amzn-RateLimit-Limit": { - "description": "Your rate limit (requests per second) for this operation.", - "type": "string" - }, - "x-amzn-RequestId": { - "description": "Unique request reference identifier.", - "type": "string" - } - }, - "schema": { - "$ref": "#/definitions/OutboundOrderReference" - }, - "x-amzn-api-sandbox": { - "static": [ - { - "request": { - "parameters": { - "body": { - "value": { - "productsToOutbound": [ - { - "quantity": 20, - "sku": "TEST_SKU" - } - ] - } - } - } - }, - "response": { - "orderId": "TEST_ORDER_ID" - }, - "responseHeaders": { - "location": { - "value": "TEST_ORDER_ID" - } - } - } - ] - } - }, - "400": { - "description": "Request has missing or invalid parameters and cannot be parsed.", - "headers": { - "x-amzn-RateLimit-Limit": { - "description": "Your rate limit (requests per second) for this operation.", - "type": "string" - }, - "x-amzn-RequestId": { - "description": "Unique request reference identifier.", - "type": "string" - } - }, - "schema": { - "$ref": "#/definitions/ErrorList" - }, - "x-amzn-api-sandbox": { - "static": [ - { - "request": { - "parameters": { - "body": { - "value": { - "packagesToOutbound": [{ - "count": 20, - "distributionPackage": { - "type": "TEST", - "contents": { - "products": [ - { - "quantity": 1, - "sku": "TEST_SKU" - } - ] - } - } - }] - } - } - } - }, - "response": { - "errors": [ - { - "code": "BAD_REQUEST", - "details": "This exception is thrown when client inputs are invalid", - "message": "Invalid package type: TEST" - } - ] - } - } - ] - } - }, - "403": { - "description": "Indicates that access to the resource is forbidden. Possible reasons include Access Denied, Unauthorized, Expired Token, or Invalid Signature.", - "headers": { - "x-amzn-RequestId": { - "description": "Unique request reference identifier.", - "type": "string" - } - }, - "schema": { - "$ref": "#/definitions/ErrorList" - } - }, - "404": { - "description": "The resource specified does not exist.", - "headers": { - "x-amzn-RateLimit-Limit": { - "description": "Your rate limit (requests per second) for this operation.", - "type": "string" - }, - "x-amzn-RequestId": { - "description": "Unique request reference identifier.", - "type": "string" - } - }, - "schema": { - "$ref": "#/definitions/ErrorList" - } - }, - "413": { - "description": "The request size exceeded the maximum accepted size.", - "headers": { - "x-amzn-RequestId": { - "description": "Unique request reference identifier.", - "type": "string" - } - }, - "schema": { - "$ref": "#/definitions/ErrorList" - } - }, - "415": { - "description": "The request payload is in an unsupported format.", - "headers": { - "x-amzn-RequestId": { - "description": "Unique request reference identifier.", - "type": "string" - } - }, - "schema": { - "$ref": "#/definitions/ErrorList" - } - }, - "429": { - "description": "The frequency of requests was greater than allowed.", - "headers": { - "x-amzn-RequestId": { - "description": "Unique request reference identifier.", - "type": "string" - } - }, - "schema": { - "$ref": "#/definitions/ErrorList" - } - }, - "500": { - "description": "An unexpected condition occurred that prevented the server from fulfilling the request.", - "headers": { - "x-amzn-RequestId": { - "description": "Unique request reference identifier.", - "type": "string" - } - }, - "schema": { - "$ref": "#/definitions/ErrorList" - } - }, - "503": { - "description": "Temporary overloading or maintenance of the server.", - "headers": { - "x-amzn-RequestId": { - "description": "Unique request reference identifier.", - "type": "string" - } - }, - "schema": { - "$ref": "#/definitions/ErrorList" - } - } - }, - "tags": [ - "awd" - ], - "description": "Creates a draft AWD outbound order with the specified products. The API returns the order ID for the newly created order and starts an async validation check on the outbound products. After the validation check, the order status transitions from `VALIDATING` to `ELIGIBLE/INELIGIBLE`.\n\n**Usage Plan:**\n\n| Rate (requests per second) | Burst |\n| ---- | ---- |\n| 1 | 1 |\n\nThe `x-amzn-RateLimit-Limit` response header returns the usage plan rate limits that were applied to the requested operation, when available. The table above indicates the default rate and burst values for this operation. Selling partners whose business demands require higher throughput may see higher rate and burst values than those shown here. For more information, refer to [Usage Plans and Rate Limits in the Selling Partner API](https://developer-docs.amazon.com/sp-api/docs/usage-plans-and-rate-limits-in-the-sp-api).", - "operationId": "createOutbound" - } - }, - "/awd/2024-05-09/outboundOrders/{orderId}": { - "get": { - "produces": [ - "application/json" - ], - "parameters": [ - { - "description": "ID for the outbound order to be retrieved.", - "in": "path", - "name": "orderId", - "required": true, - "type": "string" - } - ], - "responses": { - "200": { - "description": "The 200 response for `getOutbound`.", - "headers": { - "x-amzn-RateLimit-Limit": { - "description": "Your rate limit (requests per second) for this operation.", - "type": "string" - }, - "x-amzn-RequestId": { - "description": "Unique request reference identifier.", - "type": "string" - } - }, - "schema": { - "$ref": "#/definitions/OutboundOrder" - }, - "x-amzn-api-sandbox": { - "static": [ - { - "request": { - "parameters": { - "orderId": { - "value": "TEST_ORDER_ID" - } - } - }, - "response": { - "eligiblePackagesToOutbound": [], - "eligibleProductsToOutbound": [], - "executionErrors": [], - "orderId": "TEST_ORDER_ID", - "orderPreferences": [], - "orderStatus": "SUCCESS", - "outboundShipments": [], - "packagesToOutbound": [], - "productsToOutbound": [], - "shippedOutboundPackages": [], - "shippedOutboundProducts": [] - } - } - ] - } - }, - "400": { - "description": "Request has missing or invalid parameters and cannot be parsed.", - "headers": { - "x-amzn-RateLimit-Limit": { - "description": "Your rate limit (requests per second) for this operation.", - "type": "string" - }, - "x-amzn-RequestId": { - "description": "Unique request reference identifier.", - "type": "string" - } - }, - "schema": { - "$ref": "#/definitions/ErrorList" - }, - "x-amzn-api-sandbox": { - "static": [ - { - "request": { - "parameters": { - "orderId": { - "value": " " - } - } - }, - "response": { - "errors": [ - { - "code": "BAD_REQUEST", - "details": "This exception is thrown when client inputs are invalid", - "message": "OrderId should be present for this request" - } - ] - } - } - ] - } - }, - "403": { - "description": "Indicates that access to the resource is forbidden. Possible reasons include Access Denied, Unauthorized, Expired Token, or Invalid Signature.", - "headers": { - "x-amzn-RequestId": { - "description": "Unique request reference identifier.", - "type": "string" - } - }, - "schema": { - "$ref": "#/definitions/ErrorList" - } - }, - "404": { - "description": "The resource specified does not exist.", - "headers": { - "x-amzn-RateLimit-Limit": { - "description": "Your rate limit (requests per second) for this operation.", - "type": "string" - }, - "x-amzn-RequestId": { - "description": "Unique request reference identifier.", - "type": "string" - } - }, - "schema": { - "$ref": "#/definitions/ErrorList" - } - }, - "413": { - "description": "The request size exceeded the maximum accepted size.", - "headers": { - "x-amzn-RequestId": { - "description": "Unique request reference identifier.", - "type": "string" - } - }, - "schema": { - "$ref": "#/definitions/ErrorList" - } - }, - "415": { - "description": "The request payload is in an unsupported format.", - "headers": { - "x-amzn-RequestId": { - "description": "Unique request reference identifier.", - "type": "string" - } - }, - "schema": { - "$ref": "#/definitions/ErrorList" - } - }, - "429": { - "description": "The frequency of requests was greater than allowed.", - "headers": { - "x-amzn-RequestId": { - "description": "Unique request reference identifier.", - "type": "string" - } - }, - "schema": { - "$ref": "#/definitions/ErrorList" - } - }, - "500": { - "description": "An unexpected condition occurred that prevented the server from fulfilling the request.", - "headers": { - "x-amzn-RequestId": { - "description": "Unique request reference identifier.", - "type": "string" - } - }, - "schema": { - "$ref": "#/definitions/ErrorList" - } - }, - "503": { - "description": "Temporary overloading or maintenance of the server.", - "headers": { - "x-amzn-RequestId": { - "description": "Unique request reference identifier.", - "type": "string" - } - }, - "schema": { - "$ref": "#/definitions/ErrorList" - } - } - }, - "tags": [ - "awd" - ], - "description": "Retrieves an AWD outbound order with a set of shipments that contain items that are outbound into a destination channel. If the order is not eligible, the validation errors field is included in the order response. The API returns the order ID for the newly created order and starts an async validation check on the outbound products. After the validation check, the order status transitions from `VALIDATING` to `ELIGIBLE/INELIGIBLE`.\n\n**Usage Plan:**\n\n| Rate (requests per second) | Burst |\n| ---- | ---- |\n| 1 | 1 |\n\nThe `x-amzn-RateLimit-Limit` response header returns the usage plan rate limits that were applied to the requested operation, when available. The table above indicates the default rate and burst values for this operation. Selling partners whose business demands require higher throughput may see higher rate and burst values than those shown here. For more information, refer to [Usage Plans and Rate Limits in the Selling Partner API](https://developer-docs.amazon.com/sp-api/docs/usage-plans-and-rate-limits-in-the-sp-api).", - "operationId": "getOutbound" - }, - "put": { - "consumes": [ - "application/json" - ], - "produces": [ - "application/json" - ], - "parameters": [ - { - "description": "ID for the outbound order to be updated.", - "in": "path", - "name": "orderId", - "required": true, - "type": "string" - }, - { - "description": "Represents an AWD outbound order.", - "in": "body", - "name": "body", - "required": true, - "schema": { - "$ref": "#/definitions/OutboundOrder" - } - } - ], - "responses": { - "200": { - "description": "The 200 response for `updateOutbound`.", - "headers": { - "x-amzn-RateLimit-Limit": { - "description": "Your rate limit (requests per second) for this operation.", - "type": "string" - }, - "x-amzn-RequestId": { - "description": "Unique request reference identifier.", - "type": "string" - } - }, - "schema": { - "$ref": "#/definitions/OutboundOrderReference" - }, - "x-amzn-api-sandbox": { - "static": [ - { - "request": { - "parameters": { - "orderId": { - "value": "TEST_ORDER_ID" - }, - "body": { - "value": { - "eligiblePackagesToOutbound": [], - "eligibleProductsToOutbound": [], - "executionErrors": [], - "orderId": "TEST_ORDER_ID", - "orderPreferences": [], - "orderStatus": "SUCCESS", - "outboundShipments": [], - "packagesToOutbound": [], - "productsToOutbound": [ - { - "quantity": 10, - "sku": "testPen" - } - ], - "shippedOutboundPackages": [], - "shippedOutboundProducts": [] - } - } - } - }, - "response": { - "orderId": "TEST_ORDER_ID" - } - } - ] - } - }, - "400": { - "description": "Request has missing or invalid parameters and cannot be parsed.", - "headers": { - "x-amzn-RateLimit-Limit": { - "description": "Your rate limit (requests per second) for this operation.", - "type": "string" - }, - "x-amzn-RequestId": { - "description": "Unique request reference identifier.", - "type": "string" - } - }, - "schema": { - "$ref": "#/definitions/ErrorList" - }, - "x-amzn-api-sandbox": { - "static": [ - { - "request": { - "parameters": { - "orderId": { - "value": "TEST_ORDER_ID" - }, - "body": { - "value": { - "eligiblePackagesToOutbound": [], - "eligibleProductsToOutbound": [], - "executionErrors": [], - "orderId": "TEST_ORDER_ID", - "orderPreferences": [], - "orderStatus": "SUCCESS", - "outboundShipments": [], - "packagesToOutbound": [{ - "count": 20, - "distributionPackage": { - "type": "TEST", - "contents": { - "products": [ - { - "quantity": 1, - "sku": "TEST_SKU" - } - ] - } - } - }], - "productsToOutbound": [], - "shippedOutboundPackages": [], - "shippedOutboundProducts": [] - } - } - } - }, - "response": { - "errors": [ - { - "code": "BAD_REQUEST", - "details": "This exception is thrown when client inputs are invalid", - "message": "Invalid package type: TEST" - } - ] - } - } - ] - } - }, - "403": { - "description": "Indicates that access to the resource is forbidden. Possible reasons include Access Denied, Unauthorized, Expired Token, or Invalid Signature.", - "headers": { - "x-amzn-RequestId": { - "description": "Unique request reference identifier.", - "type": "string" - } - }, - "schema": { - "$ref": "#/definitions/ErrorList" - } - }, - "404": { - "description": "The resource specified does not exist.", - "headers": { - "x-amzn-RateLimit-Limit": { - "description": "Your rate limit (requests per second) for this operation.", - "type": "string" - }, - "x-amzn-RequestId": { - "description": "Unique request reference identifier.", - "type": "string" - } - }, - "schema": { - "$ref": "#/definitions/ErrorList" - } - }, - "413": { - "description": "The request size exceeded the maximum accepted size.", - "headers": { - "x-amzn-RequestId": { - "description": "Unique request reference identifier.", - "type": "string" - } - }, - "schema": { - "$ref": "#/definitions/ErrorList" - } - }, - "415": { - "description": "The request payload is in an unsupported format.", - "headers": { - "x-amzn-RequestId": { - "description": "Unique request reference identifier.", - "type": "string" - } - }, - "schema": { - "$ref": "#/definitions/ErrorList" - } - }, - "429": { - "description": "The frequency of requests was greater than allowed.", - "headers": { - "x-amzn-RequestId": { - "description": "Unique request reference identifier.", - "type": "string" - } - }, - "schema": { - "$ref": "#/definitions/ErrorList" - } - }, - "500": { - "description": "An unexpected condition occurred that prevented the server from fulfilling the request.", - "headers": { - "x-amzn-RequestId": { - "description": "Unique request reference identifier.", - "type": "string" - } - }, - "schema": { - "$ref": "#/definitions/ErrorList" - } - }, - "503": { - "description": "Temporary overloading or maintenance of the server.", - "headers": { - "x-amzn-RequestId": { - "description": "Unique request reference identifier.", - "type": "string" - } - }, - "schema": { - "$ref": "#/definitions/ErrorList" - } - } - }, - "tags": [ - "awd" - ], - "description": "Updates an AWD outbound order that is in `DRAFT`, `ELIGIBLE`, or `INELIGIBLE` status. This API allows updates on `productsToOutbound` and `orderPreferences` attributes only. Any updates will restart the outbound order validation.\n\n**Usage Plan:**\n\n| Rate (requests per second) | Burst |\n| ---- | ---- |\n| 1 | 1 |\n\nThe `x-amzn-RateLimit-Limit` response header returns the usage plan rate limits that were applied to the requested operation, when available. The table above indicates the default rate and burst values for this operation. Selling partners whose business demands require higher throughput may see higher rate and burst values than those shown here. For more information, refer to [Usage Plans and Rate Limits in the Selling Partner API](https://developer-docs.amazon.com/sp-api/docs/usage-plans-and-rate-limits-in-the-sp-api).", - "operationId": "updateOutbound" - } - }, - "/awd/2024-05-09/outboundOrders/{orderId}/confirmation": { - "post": { - "produces": [ - "application/json" - ], - "parameters": [ - { - "description": "ID for the outbound order you want to confirm.", - "in": "path", - "name": "orderId", - "required": true, - "type": "string" - } - ], - "responses": { - "204": { - "description": "The 204 response for `confirmOutbound`.", - "headers": { - "x-amzn-RateLimit-Limit": { - "description": "Your rate limit (requests per second) for this operation.", - "type": "string" - }, - "x-amzn-RequestId": { - "description": "Unique request reference identifier.", - "type": "string" - } - }, - "x-amzn-api-sandbox": { - "static": [ - { - "request": { - "parameters": { - "orderId": { - "value": "TestOrderId1" - } - } - } - } - ] - }, - "examples": { - "application/json": [{}] - } - }, - "400": { - "description": "Request has missing or invalid parameters and cannot be parsed.", - "headers": { - "x-amzn-RateLimit-Limit": { - "description": "Your rate limit (requests per second) for this operation.", - "type": "string" - }, - "x-amzn-RequestId": { - "description": "Unique request reference identifier.", - "type": "string" - } - }, - "schema": { - "$ref": "#/definitions/ErrorList" - }, - "x-amzn-api-sandbox": { - "static": [ - { - "request": { - "parameters": { - "orderId": { - "value": " " - } - } - }, - "response": { - "errors": [ - { - "code": "BAD_REQUEST", - "details": "This exception is thrown when client inputs are invalid", - "message": "OrderId should be present for this request" - } - ] - } - } - ] - } - }, - "403": { - "description": "Indicates that access to the resource is forbidden. Possible reasons include Access Denied, Unauthorized, Expired Token, or Invalid Signature.", - "headers": { - "x-amzn-RequestId": { - "description": "Unique request reference identifier.", - "type": "string" - } - }, - "schema": { - "$ref": "#/definitions/ErrorList" - } - }, - "404": { - "description": "The resource specified does not exist.", - "headers": { - "x-amzn-RateLimit-Limit": { - "description": "Your rate limit (requests per second) for this operation.", - "type": "string" - }, - "x-amzn-RequestId": { - "description": "Unique request reference identifier.", - "type": "string" - } - }, - "schema": { - "$ref": "#/definitions/ErrorList" - } - }, - "413": { - "description": "The request size exceeded the maximum accepted size.", - "headers": { - "x-amzn-RequestId": { - "description": "Unique request reference identifier.", - "type": "string" - } - }, - "schema": { - "$ref": "#/definitions/ErrorList" - } - }, - "415": { - "description": "The request payload is in an unsupported format.", - "headers": { - "x-amzn-RequestId": { - "description": "Unique request reference identifier.", - "type": "string" - } - }, - "schema": { - "$ref": "#/definitions/ErrorList" - } - }, - "429": { - "description": "The frequency of requests was greater than allowed.", - "headers": { - "x-amzn-RequestId": { - "description": "Unique request reference identifier.", - "type": "string" - } - }, - "schema": { - "$ref": "#/definitions/ErrorList" - } - }, - "500": { - "description": "An unexpected condition occurred that prevented the server from fulfilling the request.", - "headers": { - "x-amzn-RequestId": { - "description": "Unique request reference identifier.", - "type": "string" - } - }, - "schema": { - "$ref": "#/definitions/ErrorList" - } - }, - "503": { - "description": "Temporary overloading or maintenance of the server.", - "headers": { - "x-amzn-RequestId": { - "description": "Unique request reference identifier.", - "type": "string" - } - }, - "schema": { - "$ref": "#/definitions/ErrorList" - } - } - }, - "tags": [ - "awd" - ], - "description": "Confirms an AWD outbound order for a set of shipments that contain items that must be outbound to a destination node. You can confirm the order only if it's in an`ELIGIBLE` state.\n\n**Usage Plan:**\n\n| Rate (requests per second) | Burst |\n| ---- | ---- |\n| 1 | 1 |\n\nThe `x-amzn-RateLimit-Limit` response header returns the usage plan rate limits that were applied to the requested operation, when available. The table above indicates the default rate and burst values for this operation. Selling partners whose business demands require higher throughput may see higher rate and burst values than those shown here. For more information, refer to [Usage Plans and Rate Limits in the Selling Partner API](https://developer-docs.amazon.com/sp-api/docs/usage-plans-and-rate-limits-in-the-sp-api).", - "operationId": "confirmOutbound" + "description": "Lists AWD inventory associated with a merchant with the ability to apply optional filters.\n\n**Usage Plan:**\n\n| Rate (requests per second) | Burst |\n| ---- | ---- |\n| 2 | 2 |\n\nThe `x-amzn-RateLimit-Limit` response header returns the usage plan rate limits that were applied to the requested operation, when available. The table above indicates the default rate and burst values for this operation. Selling partners whose business demands require higher throughput may see higher rate and burst values than those shown here. For more information, refer to [Usage Plans and Rate Limits in the Selling Partner API](https://developer-docs.amazon.com/sp-api/docs/usage-plans-and-rate-limits-in-the-sp-api).", + "operationId": "listInventory" } } }, @@ -4283,7 +915,7 @@ "type": "string", "x-docgen-enum-table-extension": [ { - "description": "Standard Carrier Alpha Code. Refer to [What is a Standard Carrier Alpha Code](https://www.help.cbp.gov/s/article/Article-1420?language=en_US) for more information.", + "description": "Standard Carrier Alpha Code. Ref: https://help.cbp.gov/s/article/Article-572?language=en_US.", "value": "SCAC" } ], @@ -4435,525 +1067,53 @@ "type": "string", "x-docgen-enum-table-extension": [ { - "description": "Package type `CASE`.", - "value": "CASE" - }, - { - "description": "Package type `PALLET`. Currently, the `PALLET` package type is not supported.", - "value": "PALLET" - } - ], - "example": "CASE" - }, - "Error": { - "description": "Error response returned when the request is unsuccessful.", - "properties": { - "code": { - "description": "An error code that identifies the type of error that occurred.", - "type": "string" - }, - "details": { - "description": "Additional details that can help the caller understand or fix the issue.", - "type": "string" - }, - "message": { - "description": "A message that describes the error condition.", - "type": "string" - } - }, - "required": [ - "code", - "message" - ], - "type": "object" - }, - "ErrorList": { - "description": "This exception is thrown when client inputs are invalid.", - "properties": { - "errors": { - "description": "A list of errors describing the failures.", - "items": { - "$ref": "#/definitions/Error" - }, - "type": "array" - } - }, - "type": "object", - "required": [ - "errors" - ] - }, - "FormatType": { - "description": "The label format type extension.", - "enum": [ - "PDF" - ], - "type": "string", - "x-docgen-enum-table-extension": [ - { - "description": "PDF format.", - "value": "PDF" - } - ], - "example": "PDF" - }, - "InboundEligibility": { - "description": "Represents the eligibility status of the inbound packages.", - "properties": { - "ineligibilityReasons": { - "description": "If there are order level eligibility issues, then this list will contain those error codes and descriptions.", - "items": { - "$ref": "#/definitions/OrderIneligibilityReason" - }, - "type": "array" - }, - "packagesToInbound": { - "description": "Details on SKU eligibility for each inbound package.", - "items": { - "$ref": "#/definitions/SkuEligibility" - }, - "type": "array" - }, - "previewedAt": { - "description": "Timestamp when the eligibility check is performed.", - "format": "date-time", - "type": "string" - }, - "status": { - "$ref": "#/definitions/InboundEligibilityStatus" - } - }, - "required": [ - "packagesToInbound", - "previewedAt", - "status" - ], - "type": "object" - }, - "InboundEligibilityStatus": { - "description": "Enum denoting the package inbound eligibility.", - "enum": [ - "ELIGIBLE", - "INELIGIBLE" - ], - "type": "string", - "x-docgen-enum-table-extension": [ - { - "description": "Eligible to inbound.", - "value": "ELIGIBLE" - }, - { - "description": "Ineligible to inbound.", - "value": "INELIGIBLE" - } - ] - }, - "InboundOrder": { - "description": "Represents an AWD inbound order.", - "properties": { - "channelPlacedInboundShipments": { - "description": "List of inbound shipments part of this order.", - "items": { - "$ref": "#/definitions/InboundShipment" - }, - "minItems": 1, - "type": "array" - }, - "createdAt": { - "description": "Date when this order was created.", - "format": "date-time", - "type": "string" - }, - "externalReferenceId": { - "description": "Reference ID that can be used to correlate the order with partner resources.", - "type": "string", - "example": "TestReferenceId" - }, - "orderId": { - "description": "Inbound order ID.", - "type": "string" - }, - "orderStatus": { - "description": "Inbound order status.", - "$ref": "#/definitions/InboundStatus" - }, - "orderVersion": { - "description": "Inbound order version.", - "type": "string" - }, - "originAddress": { - "description": "Origin address from where the inbound order will be shipped.", - "$ref": "#/definitions/Address" - }, - "packagesToInbound": { - "description": "List of packages to be inbounded.", - "items": { - "$ref": "#/definitions/DistributionPackageQuantity" - }, - "minItems": 1, - "type": "array" - }, - "shipBy": { - "description": "Date by which this order will be shipped.", - "format": "date-time", - "type": "string", - "example": "2023-01-12T10:00:00.000Z" - }, - "transportationPreference": { - "description": "Represents the transportation preference for the inbound order. We only support `SELLER_MANAGED`.", - "$ref": "#/definitions/TransportationPreference" - }, - "updatedAt": { - "description": "Date when this order was last updated.", - "format": "date-time", - "type": "string" - } - }, - "required": [ - "channelPlacedInboundShipments", - "createdAt", - "orderId", - "orderStatus", - "orderVersion", - "originAddress", - "packagesToInbound", - "transportationPreference" - ], - "type": "object", - "example": { - "channelPlacedInboundShipments": [ - { - "destinationAddress": { - "addressLine1": "address_1", - "addressLine2": "address_2", - "addressLine3": "address_3", - "city": "Seattle", - "countryCode": "US", - "county": "Washington", - "district": "District1", - "name": "address_name", - "phoneNumber": "+14155552671", - "postalCode": "123456", - "stateOrRegion": "Washington" - }, - "orderId": "TestOrderId", - "originAddress": { - "addressLine1": "address_1", - "addressLine2": "address_2", - "addressLine3": "address_3", - "city": "Seattle", - "countryCode": "US", - "county": "Washington", - "district": "District1", - "name": "address_name", - "phoneNumber": "+14155552671", - "postalCode": "123456", - "stateOrRegion": "Washington" - }, - "receivedQuantity": [], - "shipmentContainerQuantities": [ - { - "count": 1, - "distributionPackage": { - "contents": { - "packages": [], - "products": [ - { - "quantity": 1, - "sku": "testPen" - } - ] - }, - "measurements": { - "dimensions": { - "height": 2.54, - "length": 2.54, - "unitOfMeasurement": "CENTIMETERS", - "width": 2.54 - }, - "weight": { - "unitOfMeasurement": "KILOGRAMS", - "weight": 0.453592 - } - }, - "type": "CASE" - } - } - ], - "shipmentId": "TestShipmentId", - "shipmentStatus": "CREATED" - } - ], - "createdAt": "2023-06-07T12:12:09.061Z", - "externalReferenceId": "TestReferenceId", - "orderId": "TestOrderId", - "orderStatus": "DRAFT", - "orderVersion": "2", - "originAddress": { - "addressLine1": "address_1", - "addressLine2": "address_2", - "addressLine3": "address_3", - "city": "Seattle", - "countryCode": "US", - "county": "Washington", - "district": "District1", - "name": "address_name", - "phoneNumber": "+14155552671", - "postalCode": "123456", - "stateOrRegion": "Washington" - }, - "packagesToInbound": [ - { - "count": 1, - "distributionPackage": { - "contents": { - "packages": [], - "products": [ - { - "quantity": 1, - "sku": "testPen" - } - ] - }, - "measurements": { - "dimensions": { - "height": 2.54, - "length": 2.54, - "unitOfMeasurement": "CENTIMETERS", - "width": 2.54 - }, - "weight": { - "unitOfMeasurement": "KILOGRAMS", - "weight": 0.453592 - } - }, - "type": "CASE" - } - } - ], - "shipBy": "2023-06-07T12:12:09.061Z", - "transportationPreference": "SELLER_MANAGED", - "updatedAt": "2023-06-07T12:12:09.061Z" - } - }, - "InboundOrderCreationData": { - "description": "Payload for creating an inbound order.", - "properties": { - "externalReferenceId": { - "description": "Reference ID that can be used to correlate the order with partner resources.", - "type": "string", - "example": "TestReferenceId" - }, - "originAddress": { - "description": "Origin address from where the inbound order will be shipped.", - "$ref": "#/definitions/Address" - }, - "packagesToInbound": { - "description": "List of packages to be inbounded.", - "items": { - "$ref": "#/definitions/DistributionPackageQuantity" - }, - "minItems": 1, - "type": "array", - "example": [ - { - "count": 1, - "distributionPackage": { - "contents": { - "products": [ - { - "quantity": 1, - "sku": "testPen" - } - ] - }, - "measurements": { - "dimensions": { - "height": 1, - "length": 1, - "unitOfMeasurement": "INCHES", - "width": 1 - }, - "volume": { - "unitOfMeasurement": "CUIN", - "volume": 1 - }, - "weight": { - "unitOfMeasurement": "POUNDS", - "weight": 1 - } - }, - "type": "CASE" - } - } - ] - }, - "shipBy": { - "description": "Estimated date by when goods have to be picked up.", - "format": "date-time", - "type": "string", - "example": "2023-06-07T12:12:09.061Z" - }, - "transportationPreference": { - "description": "Represents the transportation preference to be used for the inbound order. We only support `SELLER_MANAGED`", - "$ref": "#/definitions/TransportationPreference" - } - }, - "required": [ - "originAddress", - "packagesToInbound", - "transportationPreference" - ], - "type": "object", - "example": { - "externalReferenceId": "TestReferenceId", - "originAddress": { - "addressLine1": "address_1", - "addressLine2": "address_2", - "addressLine3": "address_3", - "city": "City1", - "countryCode": "CC", - "district": "District1", - "name": "address_name", - "postalCode": "123456", - "stateOrRegion": "State1" - }, - "packagesToInbound": [ - { - "count": 1, - "distributionPackage": { - "contents": { - "products": [ - { - "quantity": 1, - "sku": "testPen" - } - ] - }, - "measurements": { - "dimensions": { - "height": 1, - "length": 1, - "unitOfMeasurement": "INCHES", - "width": 1 - }, - "volume": { - "unitOfMeasurement": "CUIN", - "volume": 1 - }, - "weight": { - "unitOfMeasurement": "POUNDS", - "weight": 1 - } - }, - "type": "CASE" - } - } - ], - "shipBy": "2023-06-07T12:12:09.061Z", - "transportationPreference": "SELLER_MANAGED" - } + "description": "Package type `CASE`.", + "value": "CASE" + }, + { + "description": "Package type `PALLET`. Currently, the `PALLET` package type is not supported.", + "value": "PALLET" + } + ], + "example": "CASE" }, - "InboundOrderReference": { - "description": "A response that contains the reference identifiers for the newly created or updated inbound order. Consists of an order ID and version.", + "Error": { + "description": "Error response returned when the request is unsuccessful.", "properties": { - "orderId": { - "description": "Order ID of the inbound order.", + "code": { + "description": "An error code that identifies the type of error that occurred.", + "type": "string" + }, + "details": { + "description": "Additional details that can help the caller understand or fix the issue.", "type": "string" }, - "orderVersion": { - "description": "Order version of the inbound order.", + "message": { + "description": "A message that describes the error condition.", "type": "string" } }, "required": [ - "orderId", - "orderVersion" + "code", + "message" ], "type": "object" }, - "InboundPackages": { - "description": "Represents the packages to inbound.", + "ErrorList": { + "description": "This exception is thrown when client inputs are invalid.", "properties": { - "packagesToInbound": { - "description": "List of packages to be inbounded.", + "errors": { + "description": "A list of errors describing the failures.", "items": { - "$ref": "#/definitions/DistributionPackageQuantity" + "$ref": "#/definitions/Error" }, - "minItems": 1, - "type": "array", - "example": [ - { - "count": 1, - "distributionPackage": { - "contents": { - "products": [ - { - "quantity": 1, - "sku": "testPen" - } - ] - }, - "measurements": { - "dimensions": { - "height": 1, - "length": 1, - "unitOfMeasurement": "INCHES", - "width": 1 - }, - "volume": { - "unitOfMeasurement": "CUIN", - "volume": 1 - }, - "weight": { - "unitOfMeasurement": "POUNDS", - "weight": 1 - } - }, - "type": "CASE" - } - } - ] + "type": "array" } }, - "required": [ - "packagesToInbound" - ], "type": "object", - "example": { - "packagesToInbound": [ - { - "count": 1, - "distributionPackage": { - "contents": { - "products": [ - { - "quantity": 1, - "sku": "testPen" - } - ] - }, - "measurements": { - "dimensions": { - "height": 1, - "length": 1, - "unitOfMeasurement": "INCHES", - "width": 1 - }, - "volume": { - "unitOfMeasurement": "CUIN", - "volume": 1 - }, - "weight": { - "unitOfMeasurement": "POUNDS", - "weight": 1 - } - }, - "type": "CASE" - } - } - ] - } + "required": [ + "errors" + ] }, "InboundShipment": { "description": "Represents an AWD inbound shipment.", @@ -5009,13 +1169,6 @@ "minLength": 1, "type": "string" }, - "shipmentSkuQuantities": { - "description": "Quantity details at SKU level for the shipment. This attribute will only appear if the skuQuantities parameter in the request is set to SHOW.", - "items": { - "$ref": "#/definitions/SkuQuantity" - }, - "type": "array" - }, "shipmentStatus": { "description": "Current status of this shipment.", "$ref": "#/definitions/InboundShipmentStatus" @@ -5046,865 +1199,226 @@ ], "type": "object" }, - "InboundShipmentStatus": { - "description": "Possible shipment statuses used by shipments.", - "enum": [ - "CREATED", - "SHIPPED", - "IN_TRANSIT", - "RECEIVING", - "DELIVERED", - "CLOSED", - "CANCELLED" - ], - "type": "string", - "x-docgen-enum-table-extension": [ - { - "description": "Shipment is created but has not yet shipped.", - "value": "CREATED" - }, - { - "description": "Shipment was picked up by the carrier or was dropped off with the carrier.", - "value": "SHIPPED" - }, - { - "description": "The carrier has notified AWD that the shipment is in transit between origin and destination node.", - "value": "IN_TRANSIT" - }, - { - "description": "The shipment has been partially received.", - "value": "RECEIVING" - }, - { - "description": "The shipment has reached the destination node and has been delivered to the facility yard. The shipment receive process at the warehouse will start soon.", - "value": "DELIVERED" - }, - { - "description": "No more actions required on the shipment. This is a final state.", - "value": "CLOSED" - }, - { - "description": "Shipment has been cancelled. This is a final state.", - "value": "CANCELLED" - } - ] - }, - "InboundShipmentSummary": { - "description": "Summary for an AWD inbound shipment containing the shipment ID, which can be used to retrieve the actual shipment.", - "properties": { - "createdAt": { - "description": "Timestamp when the shipment was created.", - "format": "date-time", - "type": "string" - }, - "externalReferenceId": { - "description": "Optional client-provided reference ID that can be used to correlate this shipment with client resources. For example, to map this shipment to an internal bookkeeping order record.", - "type": "string", - "example": "TestReferenceId" - }, - "orderId": { - "description": "The AWD inbound order ID that this inbound shipment belongs to.", - "minLength": 1, - "type": "string" - }, - "shipmentId": { - "description": "A unique shipment ID.", - "minLength": 1, - "type": "string" - }, - "shipmentStatus": { - "$ref": "#/definitions/InboundShipmentStatus" - }, - "updatedAt": { - "description": "Timestamp when the shipment was updated.", - "format": "date-time", - "type": "string" - } - }, - "required": [ - "orderId", - "shipmentId", - "shipmentStatus" - ], - "type": "object" - }, - "InboundStatus": { - "description": "The supported statuses for an inbound order.", - "enum": [ - "DRAFT", - "VALIDATING", - "CONFIRMED", - "CLOSED", - "EXPIRED", - "CANCELLED" - ], - "type": "string", - "x-docgen-enum-table-extension": [ - { - "description": "A newly created inbound order will start in this state.", - "value": "DRAFT" - }, - { - "description": "The order is in this state while being updated. Once updated, the order will enter the updated state.", - "value": "VALIDATING" - }, - { - "description": "The order enters this state as soon as the order is confirmed.", - "value": "CONFIRMED" - }, - { - "description": "The order enters this state when all associated shipments are closed.", - "value": "CLOSED" - }, - { - "description": "The order enters this state if it is not confirmed within a time limit.", - "value": "EXPIRED" - } - ] - }, - "InventoryDetails": { - "description": "Additional inventory details. This object is only displayed if the details parameter in the request is set to `SHOW`.", - "properties": { - "availableDistributableQuantity": { - "description": "Quantity that is available for downstream channel replenishment.", - "format": "int64", - "type": "integer" - }, - "reservedDistributableQuantity": { - "description": "Quantity that is reserved for a downstream channel replenishment order that is being prepared for shipment.", - "format": "int64", - "type": "integer" - } - }, - "type": "object" - }, - "InventoryDetailsVisibility": { - "description": "Enum to specify if returned summaries should include additional summarized inventory details and quantities.", - "enum": [ - "SHOW", - "HIDE" - ], - "type": "string", - "x-docgen-enum-table-extension": [ - { - "description": "Show the additional summarized inventory details.", - "value": "SHOW" - }, - { - "description": "Hide the additional summarized inventory details.", - "value": "HIDE" - } - ], - "example": "SHOW" - }, - "InventoryListing": { - "description": "AWD inventory payload.", - "properties": { - "inventory": { - "description": "List of inventory summaries.", - "items": { - "$ref": "#/definitions/InventorySummary" - }, - "type": "array" - }, - "nextToken": { - "description": "Token to retrieve the next set of paginated results.", - "type": "string", - "example": "SampleToken" - } - }, - "required": [ - "inventory" - ], - "type": "object" - }, - "InventoryQuantity": { - "description": "Quantity of inventory with an associated measurement unit context.", - "properties": { - "quantity": { - "description": "Quantity of the respective inventory.", - "type": "number" - }, - "unitOfMeasurement": { - "description": "Unit of measurement for the inventory.", - "$ref": "#/definitions/InventoryUnitOfMeasurement" - } - }, - "required": [ - "quantity", - "unitOfMeasurement" - ], - "type": "object" - }, - "InventorySummary": { - "description": "Summary of inventory per SKU.", - "properties": { - "inventoryDetails": { - "$ref": "#/definitions/InventoryDetails" - }, - "sku": { - "description": "The seller or merchant SKU.", - "type": "string" - }, - "totalInboundQuantity": { - "description": "Total quantity that is in-transit from the seller and has not yet been received at an AWD Distribution Center", - "format": "int64", - "type": "integer" - }, - "totalOnhandQuantity": { - "description": "Total quantity that is present in AWD distribution centers.", - "format": "int64", - "type": "integer" - } - }, - "required": [ - "sku" - ], - "type": "object" - }, - "InventoryUnitOfMeasurement": { - "description": "Unit of measurement for the inventory.", + "InboundShipmentStatus": { + "description": "Possible shipment statuses used by shipments.", "enum": [ - "PRODUCT_UNITS", - "CASES", - "PALLETS" + "CREATED", + "SHIPPED", + "IN_TRANSIT", + "RECEIVING", + "DELIVERED", + "CLOSED", + "CANCELLED" ], "type": "string", "x-docgen-enum-table-extension": [ { - "description": "Measures a discrete amount of product units.", - "value": "PRODUCT_UNITS" + "description": "Shipment is created but has not yet shipped.", + "value": "CREATED" }, { - "description": "Measures a discrete amount of cases.", - "value": "CASES" + "description": "Shipment was picked up by the carrier or was dropped off with the carrier.", + "value": "SHIPPED" }, { - "description": "Measures a discrete amount of pallets.", - "value": "PALLETS" - } - ] - }, - "LabelStatus": { - "description": "The status of your label.", - "enum": [ - "GENERATING", - "GENERATED", - "GENERATION_FAILED", - "NOT_READY" - ], - "type": "string", - "x-docgen-enum-table-extension": [ + "description": "The carrier has notified AWD that the shipment is in transit between origin and destination node.", + "value": "IN_TRANSIT" + }, { - "description": "Labels are being generated.", - "value": "GENERATING" + "description": "The shipment has been partially received.", + "value": "RECEIVING" }, { - "description": "Labels are generated.", - "value": "GENERATED" + "description": "The shipment has reached the destination node and has been delivered to the facility yard. The shipment receive process at the warehouse will start soon.", + "value": "DELIVERED" }, { - "description": "Label generation failed.", - "value": "GENERATION_FAILED" + "description": "No more actions required on the shipment. This is a final state.", + "value": "CLOSED" }, { - "description": "Not yet ready to start label generation.", - "value": "NOT_READY" + "description": "Shipment has been cancelled. This is a final state.", + "value": "CANCELLED" } ] }, - "MeasurementData": { - "description": "Package weight and dimension.", + "InboundShipmentSummary": { + "description": "Summary for an AWD inbound shipment containing the shipment ID, which can be used to retrieve the actual shipment.", "properties": { - "dimensions": { - "description": "Dimensions of the package. Dimensions are required when creating an inbound or outbound order.", - "$ref": "#/definitions/PackageDimensions" + "createdAt": { + "description": "Timestamp when the shipment was created.", + "format": "date-time", + "type": "string" }, - "volume": { - "description": "Volume of the package.", - "$ref": "#/definitions/PackageVolume" + "externalReferenceId": { + "description": "Optional client-provided reference ID that can be used to correlate this shipment with client resources. For example, to map this shipment to an internal bookkeeping order record.", + "type": "string", + "example": "TestReferenceId" }, - "weight": { - "description": "Weight of the package.", - "$ref": "#/definitions/PackageWeight" - } - }, - "required": [ - "weight" - ], - "type": "object" - }, - "OrderAttribute": { - "description": "Consists of the order preference and corresponding preference value.", - "properties": { - "orderPreference": { - "description": "Preference for the distribution order.", - "$ref": "#/definitions/OrderPreference" + "orderId": { + "description": "The AWD inbound order ID that this inbound shipment belongs to.", + "minLength": 1, + "type": "string" + }, + "shipmentId": { + "description": "A unique shipment ID.", + "minLength": 1, + "type": "string" }, - "orderPreferenceValue": { - "description": "Value for the order preference.", - "$ref": "#/definitions/OrderPreferenceValue" + "shipmentStatus": { + "$ref": "#/definitions/InboundShipmentStatus" + }, + "updatedAt": { + "description": "Timestamp when the shipment was updated.", + "format": "date-time", + "type": "string" } }, "required": [ - "orderPreference", - "orderPreferenceValue" + "orderId", + "shipmentId", + "shipmentStatus" ], - "type": "object", - "example": { - "orderPreference": "PARTIAL_ORDER", - "orderPreferenceValue": "SET" - } + "type": "object" }, - "OrderIneligibilityReason": { - "description": "Represents one ineligibility reason for the order (there can be multiple reasons).", + "InventoryDetails": { + "description": "Additional inventory details. This object is only displayed if the details parameter in the request is set to `SHOW`.", "properties": { - "code": { - "description": "Code for the order ineligibility.", - "type": "string", - "example": "INVALID_MSKU" + "availableDistributableQuantity": { + "description": "Quantity that is available for downstream channel replenishment.", + "format": "int64", + "type": "integer" }, - "description": { - "description": "Description detailing the ineligibility reason of the order.", - "type": "string", - "example": "The MSKU passed as part of order is invalid" + "reservedDistributableQuantity": { + "description": "Quantity that is reserved for a downstream channel replenishment order that is being prepared for shipment.", + "format": "int64", + "type": "integer" } }, - "required": [ - "code", - "description" - ], - "type": "object", - "example": { - "code": "INVALID_MSKU", - "description": "The MSKU of an invalid order." - } - }, - "OrderPreference": { - "description": "Supported preferences for the distribution order.", - "enum": [ - "PARTIAL_ORDER" - ], - "type": "string", - "x-docgen-enum-table-extension": [ - { - "description": "Represents a partial order case.", - "value": "PARTIAL_ORDER" - } - ], - "example": "PARTIAL_ORDER" + "type": "object" }, - "OrderPreferenceValue": { - "description": "Value for the order preference.", + "InventoryDetailsVisibility": { + "description": "Enum to specify if returned summaries should include additional summarized inventory details and quantities.", "enum": [ - "SET", - "UNSET" + "SHOW", + "HIDE" ], "type": "string", "x-docgen-enum-table-extension": [ { - "description": "Sets the order preference.", - "value": "SET" + "description": "Show the additional summarized inventory details.", + "value": "SHOW" }, { - "description": "Unsets the order preference.", - "value": "UNSET" + "description": "Hide the additional summarized inventory details.", + "value": "HIDE" } ], - "example": "SET" + "example": "SHOW" }, - "OutboundExecutionError": { - "description": "Execution errors associated with the outbound order. This field will be populated if the order failed validation.", + "InventoryListing": { + "description": "AWD inventory payload.", "properties": { - "failureCode": { - "description": "Failure code details for the error.", - "type": "string", - "example": "TestErrorCode" - }, - "failureReasons": { - "description": "Failure reasons for the error.", + "inventory": { + "description": "List of inventory summaries.", "items": { - "type": "string" + "$ref": "#/definitions/InventorySummary" }, - "type": "array", - "example": [ - "Test failure reason" - ] + "type": "array" }, - "sku": { - "description": "MSKU associated with the error.", - "type": "string", - "example": "SampleSKU" - } - }, - "required": [ - "failureCode", - "failureReasons" - ], - "type": "object", - "example": { - "failureCode": "TestErrorCode", - "failureReasons": [ - "Test failure reason" - ], - "sku": "SampleSKU" - } - }, - "OutboundListing": { - "description": "A list of paginated outbound orders filtered by the attributes passed in the request.", - "properties": { "nextToken": { "description": "Token to retrieve the next set of paginated results.", "type": "string", "example": "SampleToken" - }, - "outboundOrders": { - "description": "List of outbound orders.", - "items": { - "$ref": "#/definitions/OutboundOrder" - }, - "type": "array" - } - }, - "type": "object" - }, - "OutboundOrder": { - "description": "Represents an AWD outbound order.", - "properties": { - "confirmedOn": { - "description": "Date on which this outbound order was confirmed.", - "format": "date-time", - "type": "string", - "example": "2023-01-12T10:00:00.000Z" - }, - "createdAt": { - "description": "Date on which this outbound order was created.", - "format": "date-time", - "type": "string", - "example": "2023-01-12T10:00:00.000Z" - }, - "eligiblePackagesToOutbound": { - "description": "List of packages that are eligible for outbound.", - "items": { - "$ref": "#/definitions/DistributionPackageQuantity" - }, - "type": "array" - }, - "eligibleProductsToOutbound": { - "description": "List of product units that are eligible for outbound.", - "items": { - "$ref": "#/definitions/ProductQuantity" - }, - "type": "array" - }, - "executionErrors": { - "description": "Execution errors associated with the outbound order. This field will be populated if the order failed validation.", - "items": { - "$ref": "#/definitions/OutboundExecutionError" - }, - "type": "array" - }, - "orderId": { - "description": "Order ID for the outbound order.", - "type": "string" - }, - "orderPreferences": { - "description": "Order preferences for this outbound order.", - "items": { - "$ref": "#/definitions/OrderAttribute" - }, - "type": "array" - }, - "orderStatus": { - "description": "Status for the outbound order.", - "$ref": "#/definitions/OutboundStatus" - }, - "outboundShipments": { - "description": "List of outbound shipments that are part of this order.", - "items": { - "$ref": "#/definitions/OutboundShipment" - }, - "type": "array" - }, - "packagesToOutbound": { - "description": "List of packages to be outbound.", - "items": { - "$ref": "#/definitions/DistributionPackageQuantity" - }, - "type": "array" - }, - "productsToOutbound": { - "description": "List of product units to be outbound.", - "items": { - "$ref": "#/definitions/ProductQuantity" - }, - "type": "array" - }, - "shippedOutboundPackages": { - "description": "Outbound packages that are shipped after the execution has completed post confirmation.", - "items": { - "$ref": "#/definitions/DistributionPackageQuantity" - }, - "type": "array" - }, - "shippedOutboundProducts": { - "description": "Outbound product units that are shipped after the execution has completed post confirmation.", - "items": { - "$ref": "#/definitions/ProductQuantity" - }, - "type": "array" - }, - "updatedAt": { - "description": "Date on which this outbound order was last updated.", - "format": "date-time", - "type": "string", - "example": "2023-01-12T10:00:00.000Z" } }, "required": [ - "orderId", - "orderStatus", - "outboundShipments" + "inventory" ], - "type": "object" - }, - "OutboundOrderCreationData": { - "description": "Payload for creating an outbound order.", - "properties": { - "orderPreferences": { - "description": "Order preferences for the outbound order.", - "items": { - "$ref": "#/definitions/OrderAttribute" - }, - "type": "array", - "example": [{ - "orderPreference": "PARTIAL_ORDER", - "orderPreferenceValue": "SET" - }] - }, - "packagesToOutbound": { - "description": "List of packages to be outbound.", - "items": { - "$ref": "#/definitions/DistributionPackageQuantity" - }, - "type": "array", - "example": [{ - "count": 1, - "distributionPackage": { - "contents": { - "products": [ - { - "quantity": 1, - "sku": "testPen" - } - ] - }, - "measurements": { - "dimensions": { - "height": 1, - "length": 1, - "unitOfMeasurement": "INCHES", - "width": 1 - }, - "volume": { - "unitOfMeasurement": "CUIN", - "volume": 1 - }, - "weight": { - "unitOfMeasurement": "POUNDS", - "weight": 1 - } - }, - "type": "CASE" - } - }] - }, - "productsToOutbound": { - "description": "List of product units to be outbound.", - "items": { - "$ref": "#/definitions/ProductQuantity" - }, - "type": "array", - "example": [{ - "sku": "TestSKU", - "quantity": 1 - }] - } - }, - "type": "object", - "example": { - "packagesToOutbound": [{ - "count": 1, - "distributionPackage": { - "contents": { - "products": [ - { - "quantity": 1, - "sku": "testPen" - } - ] - }, - "measurements": { - "dimensions": { - "height": 1, - "length": 1, - "unitOfMeasurement": "INCHES", - "width": 1 - }, - "volume": { - "unitOfMeasurement": "CUIN", - "volume": 1 - }, - "weight": { - "unitOfMeasurement": "POUNDS", - "weight": 1 - } - }, - "type": "CASE" - } - }], - "productsToOutbound": [], - "orderPreferences": [{ - "orderPreference": "PARTIAL_ORDER", - "orderPreferenceValue": "SET" - }] - } + "type": "object" }, - "OutboundOrderReference": { - "description": "A response that contains the reference identifier for the newly created or updated outbound order. This includes an order ID.", + "InventoryQuantity": { + "description": "Quantity of inventory with an associated measurement unit context.", "properties": { - "orderId": { - "description": "outbound order ID.", - "type": "string" + "quantity": { + "description": "Quantity of the respective inventory.", + "type": "number" + }, + "unitOfMeasurement": { + "description": "Unit of measurement for the inventory.", + "$ref": "#/definitions/InventoryUnitOfMeasurement" } }, "required": [ - "orderId" + "quantity", + "unitOfMeasurement" ], "type": "object" }, - "OutboundShipment": { - "description": "Represents an AWD outbound shipment.", + "InventorySummary": { + "description": "Summary of inventory per SKU.", "properties": { - "createdAt": { - "description": "Timestamp when the shipment was created.", - "format": "date-time", - "type": "string" - }, - "destinationAddress": { - "description": "Destination address for this shipment.", - "$ref": "#/definitions/Address" - }, - "orderId": { - "description": "Outbound order ID this outbound shipment belongs to.", - "type": "string" - }, - "originAddress": { - "description": "Origin address for this shipment.", - "$ref": "#/definitions/Address" - }, - "shipmentPackageQuantities": { - "description": "Specific distribution packages that are included in the context of this shipment.", - "items": { - "$ref": "#/definitions/DistributionPackageQuantity" - }, - "type": "array" + "inventoryDetails": { + "$ref": "#/definitions/InventoryDetails" }, - "shipmentId": { - "description": "Unique shipment ID.", + "sku": { + "description": "The seller or merchant SKU.", "type": "string" }, - "shipmentProductQuantities": { - "description": "Specific product units that are included in the context of this shipment.", - "items": { - "$ref": "#/definitions/ProductQuantity" - }, - "type": "array" - }, - "shipmentStatus": { - "description": "Current status of this shipment.", - "$ref": "#/definitions/OutboundShipmentStatus" - }, - "updatedAt": { - "description": "Timestamp when the shipment was updated.", - "format": "date-time", - "type": "string" + "totalOnhandQuantity": { + "description": "Total quantity that is present in AWD distribution centers.", + "format": "int64", + "type": "integer" } }, "required": [ - "destinationAddress", - "orderId", - "originAddress", - "shipmentId", - "shipmentStatus" + "sku" ], - "type": "object", - "example": { - "createdAt": "2023-01-12T10:00:00.000Z", - "destinationAddress": { - "addressLine1": "address_1", - "addressLine2": "address_2", - "addressLine3": "address_3", - "city": "Seattle", - "countryCode": "US", - "county": "Washington", - "district": "District1", - "name": "address_name", - "phoneNumber": "+14155552671", - "postalCode": "123456", - "stateOrRegion": "Washington" - }, - "originAddress": { - "addressLine1": "address_1", - "addressLine2": "address_2", - "addressLine3": "address_3", - "city": "Seattle", - "countryCode": "US", - "county": "Washington", - "district": "District1", - "name": "address_name", - "phoneNumber": "+14155552671", - "postalCode": "123456", - "stateOrRegion": "Washington" - }, - "orderId": "TestOrderId", - "shipmentId": "TestShipmentId", - "shipmentPackageQuantities": [{ - "count": 1, - "distributionPackage": { - "contents": { - "products": [ - { - "quantity": 1, - "sku": "testPen" - } - ] - }, - "measurements": { - "dimensions": { - "height": 1, - "length": 1, - "unitOfMeasurement": "INCHES", - "width": 1 - }, - "volume": { - "unitOfMeasurement": "CUIN", - "volume": 1 - }, - "weight": { - "unitOfMeasurement": "POUNDS", - "weight": 1 - } - }, - "type": "CASE" - } - }], - "shipmentProductQuantities": [], - "shipmentStatus": "CREATED", - "updatedAt": "2023-01-12T10:00:00.000Z" - } + "type": "object" }, - "OutboundShipmentStatus": { - "description": "Possible shipment statuses for outbound shipments.", + "InventoryUnitOfMeasurement": { + "description": "Unit of measurement for the inventory.", "enum": [ - "CREATED", - "IN_TRANSIT", - "DELIVERED", - "RECEIVING", - "RECEIVED", - "CLOSED", - "CANCELLED", - "FAILED" + "PRODUCT_UNITS", + "CASES", + "PALLETS" ], "type": "string", "x-docgen-enum-table-extension": [ { - "description": "Shipment is created. No inventory has been picked up at the source node.", - "value": "CREATED" - }, - { - "description": "Carrier acknowledged that the shipment is in transit between the origin node and destination node.", - "value": "IN_TRANSIT" - }, - { - "description": "Carrier indicated that the shipment has arrived at the destination node, but the destination node has not acknowledged the delivery.", - "value": "DELIVERED" - }, - { - "description": "Destination node acknowledged the arrival of the shipment.", - "value": "RECEIVING" - }, - { - "description": "Destination node has received the items.", - "value": "RECEIVED" - }, - { - "description": "No more actions are required for the shipment. This is a final state.", - "value": "CLOSED" + "description": "Measures a discrete amount of product units.", + "value": "PRODUCT_UNITS" }, { - "description": "Shipment has been cancelled by order owner. This is a final state.", - "value": "CANCELLED" + "description": "Measures a discrete amount of cases.", + "value": "CASES" }, { - "description": "Shipment delivery has failed. This is a final state.", - "value": "FAILED" + "description": "Measures a discrete amount of pallets.", + "value": "PALLETS" } - ], - "example": "CREATED" + ] }, - "OutboundStatus": { - "description": "Statuses supported for an outbound order.", - "enum": [ - "CONFIRMED", - "DRAFT", - "ELIGIBLE", - "EXECUTING", - "FAILURE", - "INELIGIBLE", - "INVENTORY_OUTBOUND", - "SUCCESS", - "VALIDATING" - ], - "type": "string", - "x-docgen-enum-table-extension": [ - { - "description": "The order enters this state as soon as the order is confirmed.", - "value": "CONFIRMED" - }, - { - "description": "A newly created outbound order will always start in this state.", - "value": "DRAFT" - }, - { - "description": "This is the only state when an order can be confirmed.", - "value": "ELIGIBLE" - }, - { - "description": "The order is being processed in the system.", - "value": "EXECUTING" - }, - { - "description": "If any of the shipment reports fail, or if a shipment doesn't reach its destination, the order status is marked as failed.", - "value": "FAILURE" - }, - { - "description": "In this state, a validation errors field is provided. This field shows the order errors and provides guidance on fixing them.", - "value": "INELIGIBLE" - }, - { - "description": "The order is complete and awaits inventory movement. In this status, the shipments for an order will be visible.", - "value": "INVENTORY_OUTBOUND" + "MeasurementData": { + "description": "Package weight and dimension.", + "properties": { + "dimensions": { + "description": "Dimensions of the package. Dimensions are required when creating an inbound or outbound order.", + "$ref": "#/definitions/PackageDimensions" }, - { - "description": "If all the shipments are successfully received at the destination channel, the order is marked successful.", - "value": "SUCCESS" + "volume": { + "description": "Volume of the package.", + "$ref": "#/definitions/PackageVolume" }, - { - "description": "The order is being validated asynchronously. The order will be in this state after every item update.", - "value": "VALIDATING" + "weight": { + "description": "Weight of the package.", + "$ref": "#/definitions/PackageWeight" } - ] + }, + "required": [ + "weight" + ], + "type": "object" }, "PackageDimensions": { "description": "Dimensions of the package.", @@ -5975,30 +1489,6 @@ ], "type": "object" }, - "PageType": { - "description": "Label page type.", - "enum": [ - "THERMAL_NONPCP", - "PLAIN_PAPER", - "LETTER_6" - ], - "type": "string", - "x-docgen-enum-table-extension": [ - { - "description": "For the use of a thermal printer. Supports non-Amazon-partnered shipments.", - "value": "THERMAL_NONPCP" - }, - { - "description": "One label per sheet of US Letter paper. Only for non-Amazon-partnered shipments.", - "value": "PLAIN_PAPER" - }, - { - "description": "Six labels per US Letter label sheet.", - "value": "LETTER_6" - } - ], - "example": "PLAIN_PAPER" - }, "ProductAttribute": { "description": "Product instance attribute that is not described at the SKU level in the catalog.", "properties": { @@ -6049,23 +1539,6 @@ ], "type": "object" }, - "ShipmentLabels": { - "description": "Shipment labels.", - "properties": { - "labelDownloadURL": { - "description": "URL to download generated labels.", - "type": "string" - }, - "labelStatus": { - "description": "Status of label generation.", - "$ref": "#/definitions/LabelStatus" - } - }, - "required": [ - "labelStatus" - ], - "type": "object" - }, "ShipmentListing": { "description": "A list of inbound shipment summaries filtered by the attributes specified in the request.", "properties": { @@ -6103,86 +1576,6 @@ ], "example": "CREATED_AT" }, - "SkuEligibility": { - "description": "Represents eligibility of one SKU.", - "properties": { - "ineligibilityReasons": { - "description": "If not eligible, these are list of error codes and descriptions.", - "items": { - "$ref": "#/definitions/SkuIneligibilityReason" - }, - "type": "array" - }, - "packageQuantity": { - "$ref": "#/definitions/DistributionPackageQuantity" - }, - "status": { - "$ref": "#/definitions/InboundEligibilityStatus" - } - }, - "required": [ - "packageQuantity", - "status" - ], - "type": "object" - }, - "SkuIneligibilityReason": { - "description": "Represents the ineligibility reason for one SKU.", - "properties": { - "code": { - "description": "Code for the SKU ineligibility.", - "type": "string" - }, - "description": { - "description": "Detailed description of the SKU ineligibility.", - "type": "string" - } - }, - "required": [ - "code", - "description" - ], - "type": "object" - }, - "SkuQuantitiesVisibility": { - "description": "Enum to specify if returned shipment should include SKU quantity details", - "enum": [ - "SHOW", - "HIDE" - ], - "type": "string", - "example": "SHOW", - "x-docgen-enum-table-extension": [ - { - "description": "Show the additional SKU quantity details", - "value": "SHOW" - }, - { - "description": "Hide the additional SKU quantity details", - "value": "HIDE" - } - ] - }, - "SkuQuantity": { - "description": "Quantity details for a SKU as part of a shipment", - "properties": { - "expectedQuantity": { - "$ref": "#/definitions/InventoryQuantity" - }, - "receivedQuantity": { - "$ref": "#/definitions/InventoryQuantity" - }, - "sku": { - "description": "The merchant stock keeping unit", - "type": "string" - } - }, - "required": [ - "expectedQuantity", - "sku" - ], - "type": "object" - }, "SortOrder": { "description": "Sort order for a collection of items. For example, order or shipment.", "enum": [ @@ -6202,58 +1595,6 @@ ], "example": "ASCENDING" }, - "TransportationDetails": { - "description": "Transportation details for the shipment.", - "properties": { - "carrierCode": { - "description": "Unique or identifying code for the carrier.", - "$ref": "#/definitions/CarrierCode" - }, - "shipBy": { - "description": "Timestamp when the shipment will be shipped.", - "format": "date-time", - "type": "string", - "example": "2023-01-12T10:00:00.000Z" - }, - "trackingId": { - "description": "Tracking ID for transportation.", - "minLength": 1, - "type": "string", - "example": "TestTrackingId" - } - }, - "required": [ - "shipBy" - ], - "type": "object", - "example": { - "carrierCode": { - "carrierCodeType": "SCAC", - "carrierCodeValue": "TestCarrierCode" - }, - "shipBy": "2023-01-12T10:00:00.000Z", - "trackingId": "TestTrackingId" - } - }, - "TransportationPreference": { - "description": "Represents the transportation preference for an AWD shipment.", - "enum": [ - "AMAZON_MANAGED", - "SELLER_MANAGED" - ], - "type": "string", - "x-docgen-enum-table-extension": [ - { - "description": "Amazon provides the estimates with each proposed order shipment to leverage Amazon-managed transportation options to process the delivery of shipments.", - "value": "AMAZON_MANAGED" - }, - { - "description": "The distribution partner wants to arrange the transportation details for each inbound shipment and provides tracking and carrier information for each shipment.", - "value": "SELLER_MANAGED" - } - ], - "example": "SELLER_MANAGED" - }, "VolumeUnitOfMeasurement": { "description": "Unit of measurement for the package volume.", "enum": [ @@ -6296,4 +1637,4 @@ ] } } -} \ No newline at end of file +} From 229f0585b9f90fab9cd9f96a0b1f31df57f3ce4e Mon Sep 17 00:00:00 2001 From: lisa-delaney Date: Mon, 19 Aug 2024 14:24:54 -0700 Subject: [PATCH 095/340] Update AWD model --- .../awd_2024-05-09.json | 3033 +++++++++-------- 1 file changed, 1558 insertions(+), 1475 deletions(-) diff --git a/models/amazon-warehousing-and-distribution-model/awd_2024-05-09.json b/models/amazon-warehousing-and-distribution-model/awd_2024-05-09.json index 5b97d73f2..7b218a069 100644 --- a/models/amazon-warehousing-and-distribution-model/awd_2024-05-09.json +++ b/models/amazon-warehousing-and-distribution-model/awd_2024-05-09.json @@ -1,1035 +1,1004 @@ { - "swagger": "2.0", - "info": { - "title": "The Selling Partner API for AWD", - "version": "2024-05-09", - "description": "The Selling Partner API for Amazon Warehousing and Distribution (AWD).", - "contact": { - "name": "Selling Partner API Developer Support", - "url": "https://sellercentral.amazon.com/gp/mws/contactus.html" + "swagger": "2.0", + "info": { + "title": "The Selling Partner API for Amazon Warehousing and Distribution", + "version": "2024-05-09", + "description": "The Selling Partner API for Amazon Warehousing and Distribution (AWD) provides programmatic access to information about AWD shipments and inventory. ", + "contact": { + "name": "Selling Partner API Developer Support", + "url": "https://sellercentral.amazon.com/gp/mws/contactus.html" + }, + "license": { + "name": "Apache License 2.0", + "url": "https://www.apache.org/licenses/LICENSE-2.0" + } }, - "license": { - "name": "Apache License 2.0", - "url": "https://www.apache.org/licenses/LICENSE-2.0" - } - }, - "host": "sellingpartnerapi-na.amazon.com", - "schemes": [ - "https" - ], - "consumes": [ - "application/json" - ], - "produces": [ - "application/json" - ], - "paths": { - "/awd/2024-05-09/inboundShipments/{shipmentId}": { - "get": { - "produces": [ - "application/json" - ], - "parameters": [ - { - "description": "ID for the shipment. A shipment contains the cases being inbounded.", - "in": "path", - "minLength": 1, - "name": "shipmentId", - "required": true, - "type": "string" - } - ], - "responses": { - "200": { - "description": "The 200 response for `getInboundShipment`.", - "headers": { - "x-amzn-RateLimit-Limit": { - "description": "Your rate limit (requests per second) for this operation.", - "type": "string" - }, - "x-amzn-RequestId": { - "description": "Unique request reference identifier.", - "type": "string" - } - }, - "schema": { - "$ref": "#/definitions/InboundShipment" + "host": "sellingpartnerapi-na.amazon.com", + "schemes": [ + "https" + ], + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "paths": { + "/awd/2024-05-09/inboundShipments/{shipmentId}": { + "get": { + "produces": [ + "application/json" + ], + "parameters": [ + { + "description": "ID for the shipment. A shipment contains the cases being inbounded.", + "in": "path", + "minLength": 1, + "name": "shipmentId", + "required": true, + "type": "string" }, - "x-amzn-api-sandbox": { - "static": [ + { + "description": "If equal to `SHOW`, the response includes the shipment SKU quantity details.\n\nDefaults to `HIDE`, in which case the response does not contain SKU quantities", + "enum": [ + "SHOW", + "HIDE" + ], + "in": "query", + "name": "skuQuantities", + "type": "string", + "x-example": "SHOW", + "x-docgen-enum-table-extension": [ { - "request": { - "parameters": { - "shipmentId": { - "value": "TestShipmentId" + "description": "Show the additional SKU quantity details.", + "value": "SHOW" + }, + { + "description": "Hide the additional SKU quantity details.", + "value": "HIDE" + } + ] + } + ], + "responses": { + "200": { + "description": "The 200 response for `getInboundShipment`.", + "headers": { + "x-amzn-RateLimit-Limit": { + "description": "Your rate limit (requests per second) for this operation.", + "type": "string" + }, + "x-amzn-RequestId": { + "description": "Unique request reference identifier.", + "type": "string" + } + }, + "schema": { + "$ref": "#/definitions/InboundShipment" + }, + "x-amzn-api-sandbox": { + "static": [ + { + "request": { + "parameters": { + "shipmentId": { + "value": "TestShipmentId" + } } - } - }, - "response": { - "createdAt": "2023-06-07T12:12:09.061Z", - "destinationAddress": { - "addressLine1": "address_line_1", - "addressLine2": "address_line_2", - "addressLine3": "address_line_3", - "city": "City1", - "countryCode": "CC", - "district": "District1", - "name": "DestinationName", - "postalCode": "123456", - "stateOrRegion": "State1" - }, - "orderId": "TestOrderId", - "originAddress": { - "addressLine1": "address_1", - "addressLine2": "address_2", - "addressLine3": "address_3", - "city": "City1", - "countryCode": "CC", - "district": "District1", - "name": "address_name", - "postalCode": "123456", - "stateOrRegion": "State1" }, - "receivedQuantity": [ - { - "quantity": 0, - "unitOfMeasurement": "CASES" - } - ], - "shipmentContainerQuantities": [ - { - "count": 2, - "distributionPackage": { - "contents": { - "packages": [], - "products": [ - { - "quantity": 20, - "sku": "testPen" + "response": { + "createdAt": "2023-06-07T12:12:09.061Z", + "destinationAddress": { + "addressLine1": "address_line_1", + "addressLine2": "address_line_2", + "addressLine3": "address_line_3", + "city": "City1", + "countryCode": "CC", + "district": "District1", + "name": "DestinationName", + "postalCode": "123456", + "stateOrRegion": "State1" + }, + "orderId": "TestOrderId", + "originAddress": { + "addressLine1": "address_1", + "addressLine2": "address_2", + "addressLine3": "address_3", + "city": "City1", + "countryCode": "CC", + "district": "District1", + "name": "address_name", + "postalCode": "123456", + "stateOrRegion": "State1" + }, + "receivedQuantity": [ + { + "quantity": 0, + "unitOfMeasurement": "CASES" + } + ], + "shipmentContainerQuantities": [ + { + "count": 2, + "distributionPackage": { + "contents": { + "packages": [], + "products": [ + { + "quantity": 20, + "sku": "testPen" + } + ] + }, + "measurements": { + "dimensions": { + "height": 33.02, + "length": 45.72, + "unitOfMeasurement": "CENTIMETERS", + "width": 15.24 + }, + "weight": { + "unitOfMeasurement": "KILOGRAMS", + "weight": 5.443104 } - ] - }, - "measurements": { - "dimensions": { - "height": 33.02, - "length": 45.72, - "unitOfMeasurement": "CENTIMETERS", - "width": 15.24 }, - "weight": { - "unitOfMeasurement": "KILOGRAMS", - "weight": 5.443104 - } + "type": "CASE" + } + } + ], + "shipmentId": "TestShipmentId", + "shipmentStatus": "CREATED", + "shipmentSkuQuantities": [ + { + "sku": "testPen", + "expectedQuantity": { + "quantity": 2, + "unitOfMeasurement": "CASE" }, - "type": "CASE" + "receivedQuantity": { + "quantity": 0, + "unitOfMeasurement": "CASE" + } } - } - ], - "shipmentId": "TestShipmentId", - "shipmentStatus": "CREATED", - "updatedAt": "2023-06-07T12:12:09.061Z" + ], + "updatedAt": "2023-06-07T12:12:09.061Z" + } } - } - ] - } - }, - "400": { - "description": "Request has missing or invalid parameters and cannot be parsed.", - "headers": { - "x-amzn-RateLimit-Limit": { - "description": "Your rate limit (requests per second) for this operation.", - "type": "string" - }, - "x-amzn-RequestId": { - "description": "Unique request reference identifier.", - "type": "string" + ] } }, - "schema": { - "$ref": "#/definitions/ErrorList" - }, - "x-amzn-api-sandbox": { - "static": [ - { - "request": { - "parameters": { - "shipmentId": { - "value": " " + "400": { + "description": "Request has missing or invalid parameters and cannot be parsed.", + "headers": { + "x-amzn-RateLimit-Limit": { + "description": "Your rate limit (requests per second) for this operation.", + "type": "string" + }, + "x-amzn-RequestId": { + "description": "Unique request reference identifier.", + "type": "string" + } + }, + "schema": { + "$ref": "#/definitions/ErrorList" + }, + "x-amzn-api-sandbox": { + "static": [ + { + "request": { + "parameters": { + "shipmentId": { + "value": " " + } } + }, + "response": { + "errors": [ + { + "code": "BAD_REQUEST", + "details": "This exception is thrown when client inputs are invalid", + "message": "ShipmentId should be present for this request" + } + ] } - }, - "response": { - "errors": [ - { - "code": "BAD_REQUEST", - "details": "This exception is thrown when client inputs are invalid", - "message": "ShipmentId should be present for this request" - } - ] } + ] + } + }, + "403": { + "description": "Indicates that access to the resource is forbidden. Possible reasons include Access Denied, Unauthorized, Expired Token, or Invalid Signature.", + "headers": { + "x-amzn-RequestId": { + "description": "Unique request reference identifier.", + "type": "string" } - ] - } - }, - "403": { - "description": "Indicates that access to the resource is forbidden. Possible reasons include Access Denied, Unauthorized, Expired Token, or Invalid Signature.", - "headers": { - "x-amzn-RequestId": { - "description": "Unique request reference identifier.", - "type": "string" + }, + "schema": { + "$ref": "#/definitions/ErrorList" } }, - "schema": { - "$ref": "#/definitions/ErrorList" - } - }, - "404": { - "description": "The resource specified does not exist.", - "headers": { - "x-amzn-RateLimit-Limit": { - "description": "Your rate limit (requests per second) for this operation.", - "type": "string" + "404": { + "description": "The resource specified does not exist.", + "headers": { + "x-amzn-RateLimit-Limit": { + "description": "Your rate limit (requests per second) for this operation.", + "type": "string" + }, + "x-amzn-RequestId": { + "description": "Unique request reference identifier.", + "type": "string" + } }, - "x-amzn-RequestId": { - "description": "Unique request reference identifier.", - "type": "string" + "schema": { + "$ref": "#/definitions/ErrorList" } }, - "schema": { - "$ref": "#/definitions/ErrorList" - } - }, - "413": { - "description": "The request size exceeded the maximum accepted size.", - "headers": { - "x-amzn-RequestId": { - "description": "Unique request reference identifier.", - "type": "string" + "413": { + "description": "The request size exceeded the maximum accepted size.", + "headers": { + "x-amzn-RequestId": { + "description": "Unique request reference identifier.", + "type": "string" + } + }, + "schema": { + "$ref": "#/definitions/ErrorList" } }, - "schema": { - "$ref": "#/definitions/ErrorList" - } - }, - "415": { - "description": "The request payload is in an unsupported format.", - "headers": { - "x-amzn-RequestId": { - "description": "Unique request reference identifier.", - "type": "string" + "415": { + "description": "The request payload is in an unsupported format.", + "headers": { + "x-amzn-RequestId": { + "description": "Unique request reference identifier.", + "type": "string" + } + }, + "schema": { + "$ref": "#/definitions/ErrorList" } }, - "schema": { - "$ref": "#/definitions/ErrorList" - } - }, - "429": { - "description": "The frequency of requests was greater than allowed.", - "headers": { - "x-amzn-RequestId": { - "description": "Unique request reference identifier.", - "type": "string" + "429": { + "description": "The frequency of requests was greater than allowed.", + "headers": { + "x-amzn-RequestId": { + "description": "Unique request reference identifier.", + "type": "string" + } + }, + "schema": { + "$ref": "#/definitions/ErrorList" } }, - "schema": { - "$ref": "#/definitions/ErrorList" - } - }, - "500": { - "description": "An unexpected condition occurred that prevented the server from fulfilling the request.", - "headers": { - "x-amzn-RequestId": { - "description": "Unique request reference identifier.", - "type": "string" + "500": { + "description": "An unexpected condition occurred that prevented the server from fulfilling the request.", + "headers": { + "x-amzn-RequestId": { + "description": "Unique request reference identifier.", + "type": "string" + } + }, + "schema": { + "$ref": "#/definitions/ErrorList" } }, - "schema": { - "$ref": "#/definitions/ErrorList" + "503": { + "description": "Temporary overloading or maintenance of the server.", + "headers": { + "x-amzn-RequestId": { + "description": "Unique request reference identifier.", + "type": "string" + } + }, + "schema": { + "$ref": "#/definitions/ErrorList" + } } }, - "503": { - "description": "Temporary overloading or maintenance of the server.", - "headers": { - "x-amzn-RequestId": { - "description": "Unique request reference identifier.", - "type": "string" - } + "tags": [ + "awd" + ], + "description": "Retrieves an AWD inbound shipment.\n\n**Usage Plan:**\n\n| Rate (requests per second) | Burst |\n| ---- | ---- |\n| 2 | 2 |\n\nThe `x-amzn-RateLimit-Limit` response header returns the usage plan rate limits that were applied to the requested operation, when available. The table above indicates the default rate and burst values for this operation. Selling partners whose business demands require higher throughput may see higher rate and burst values than those shown here. For more information, refer to [Usage Plans and Rate Limits in the Selling Partner API](https://developer-docs.amazon.com/sp-api/docs/usage-plans-and-rate-limits-in-the-sp-api)", + "operationId": "getInboundShipment" + } + }, + "/awd/2024-05-09/inboundShipments": { + "get": { + "produces": [ + "application/json" + ], + "parameters": [ + { + "description": "Field to sort results by. By default, the response will be sorted by UPDATED_AT.", + "enum": [ + "UPDATED_AT", + "CREATED_AT" + ], + "in": "query", + "name": "sortBy", + "type": "string", + "x-docgen-enum-table-extension": [ + { + "description": "Sort by the time of update.", + "value": "UPDATED_AT" + }, + { + "description": "Sort by the time of creation.", + "value": "CREATED_AT" + } + ] + }, + { + "description": "Sort the response in ASCENDING or DESCENDING order. By default, the response will be sorted in DESCENDING order.", + "enum": [ + "ASCENDING", + "DESCENDING" + ], + "in": "query", + "name": "sortOrder", + "type": "string", + "x-docgen-enum-table-extension": [ + { + "description": "Sorts the collection in ascending order.", + "value": "ASCENDING" + }, + { + "description": "Sorts the collection in descending order.", + "value": "DESCENDING" + } + ], + "x-example": "ASCENDING" + }, + { + "description": "Filter by inbound shipment status.", + "enum": [ + "CREATED", + "SHIPPED", + "IN_TRANSIT", + "RECEIVING", + "DELIVERED", + "CLOSED", + "CANCELLED" + ], + "in": "query", + "name": "shipmentStatus", + "type": "string", + "x-docgen-enum-table-extension": [ + { + "description": "Shipment is created, but hasn't shipped.", + "value": "CREATED" + }, + { + "description": "Shipment was picked up by the carrier or was dropped off with the carrier.", + "value": "SHIPPED" + }, + { + "description": "The carrier has notified AWD that the shipment is in transit between the origin and destination nodes.", + "value": "IN_TRANSIT" + }, + { + "description": "The shipment has been partially received.", + "value": "RECEIVING" + }, + { + "description": "The shipment has reached the destination node and has been delivered to the facility yard. The shipment `receive` process at the warehouse will start soon.", + "value": "DELIVERED" + }, + { + "description": "No more actions are required for the shipment. This is a final state.", + "value": "CLOSED" + }, + { + "description": "The shipment is cancelled. This is a final state.", + "value": "CANCELLED" + } + ], + "x-example": "CREATED" + }, + { + "description": "List the inbound shipments that were updated after a certain time (inclusive). The date must be in ISO 8601 format.", + "format": "date-time", + "in": "query", + "name": "updatedAfter", + "type": "string", + "x-example": "2023-01-12T10:00:00.000Z" + }, + { + "description": "List the inbound shipments that were updated before a certain time (inclusive). The date must be in ISO 8601 format.", + "format": "date-time", + "in": "query", + "name": "updatedBefore", + "type": "string", + "x-example": "2023-01-12T10:00:00.000Z" + }, + { + "default": 25, + "description": "Maximum number of results to return.", + "format": "int32", + "in": "query", + "maximum": 200, + "minimum": 1, + "name": "maxResults", + "type": "integer", + "x-example": "10" }, - "schema": { - "$ref": "#/definitions/ErrorList" + { + "description": "Token to retrieve the next set of paginated results.", + "in": "query", + "name": "nextToken", + "type": "string", + "x-example": "SampleToken" } - } - }, - "tags": [ - "awd" - ], - "description": "Retrieves an AWD inbound shipment.\n\n**Usage Plan:**\n\n| Rate (requests per second) | Burst |\n| ---- | ---- |\n| 2 | 2 |\n\nThe `x-amzn-RateLimit-Limit` response header returns the usage plan rate limits that were applied to the requested operation, when available. The table above indicates the default rate and burst values for this operation. Selling partners whose business demands require higher throughput may see higher rate and burst values than those shown here. For more information, refer to [Usage Plans and Rate Limits in the Selling Partner API](https://developer-docs.amazon.com/sp-api/docs/usage-plans-and-rate-limits-in-the-sp-api)", - "operationId": "getInboundShipment" - } - }, - "/awd/2024-05-09/inboundShipments": { - "get": { - "produces": [ - "application/json" - ], - "parameters": [ - { - "description": "Field to sort results by. Required if `sortOrder` is provided.", - "enum": [ - "UPDATED_AT", - "CREATED_AT" - ], - "in": "query", - "name": "sortBy", - "type": "string", - "x-docgen-enum-table-extension": [ - { - "description": "Sort by `Updated at`timestamp.", - "value": "UPDATED_AT" + ], + "responses": { + "200": { + "description": "The 200 response for `listInboundShipments`.", + "headers": { + "x-amzn-RateLimit-Limit": { + "description": "Your rate limit (requests per second) for this operation.", + "type": "string" + }, + "x-amzn-RequestId": { + "description": "Unique request reference identifier.", + "type": "string" + } }, - { - "description": "Sort by `Created at` timestamp.", - "value": "CREATED_AT" - } - ] - }, - { - "description": "Sort the response in `ASCENDING` or `DESCENDING` order.", - "enum": [ - "ASCENDING", - "DESCENDING" - ], - "in": "query", - "name": "sortOrder", - "type": "string", - "x-docgen-enum-table-extension": [ - { - "description": "Sorts the collection in ascending order.", - "value": "ASCENDING" + "schema": { + "$ref": "#/definitions/ShipmentListing" }, - { - "description": "Sorts the collection in descending order.", - "value": "DESCENDING" + "x-amzn-api-sandbox": { + "static": [ + { + "request": { + "parameters": {} + }, + "response": { + "shipments": [{ + "createdAt": "2023-06-07T12:12:09.061Z", + "orderId": "TestOrderId", + "shipmentId": "TestShipmentId", + "shipmentStatus": "CREATED", + "updatedAt": "2023-06-07T12:12:09.061Z" + }] + } + } + ] } - ], - "x-example": "ASCENDING" - }, - { - "description": "Filter by inbound shipment status.", - "enum": [ - "CREATED", - "SHIPPED", - "IN_TRANSIT", - "RECEIVING", - "DELIVERED", - "CLOSED", - "CANCELLED" - ], - "in": "query", - "name": "shipmentStatus", - "type": "string", - "x-docgen-enum-table-extension": [ - { - "description": "Shipment is created, but hasn't shipped.", - "value": "CREATED" + }, + "400": { + "description": "Request has missing or invalid parameters and cannot be parsed.", + "headers": { + "x-amzn-RateLimit-Limit": { + "description": "Your rate limit (requests per second) for this operation.", + "type": "string" + }, + "x-amzn-RequestId": { + "description": "Unique request reference identifier.", + "type": "string" + } }, - { - "description": "Shipment was picked up by the carrier or was dropped off with the carrier.", - "value": "SHIPPED" + "schema": { + "$ref": "#/definitions/ErrorList" }, - { - "description": "The carrier has notified AWD that the shipment is in transit between the origin and destination nodes.", - "value": "IN_TRANSIT" + "x-amzn-api-sandbox": { + "static": [ + { + "request": { + "parameters": { + "sortBy": { + "value": "TEST" + } + } + }, + "response": { + "errors": [ + { + "code": "BAD_REQUEST", + "details": "This exception is thrown when client inputs are invalid", + "message": "Invalid shipment sortable field received: TEST" + } + ] + } + } + ] + } + }, + "403": { + "description": "Indicates that access to the resource is forbidden. Possible reasons include Access Denied, Unauthorized, Expired Token, or Invalid Signature.", + "headers": { + "x-amzn-RequestId": { + "description": "Unique request reference identifier.", + "type": "string" + } }, - { - "description": "The shipment has been partially received.", - "value": "RECEIVING" + "schema": { + "$ref": "#/definitions/ErrorList" + } + }, + "404": { + "description": "The resource specified does not exist.", + "headers": { + "x-amzn-RateLimit-Limit": { + "description": "Your rate limit (requests per second) for this operation.", + "type": "string" + }, + "x-amzn-RequestId": { + "description": "Unique request reference identifier.", + "type": "string" + } }, - { - "description": "The shipment has reached the destination node and has been delivered to the facility yard. The shipment `receive` process at the warehouse will start soon.", - "value": "DELIVERED" + "schema": { + "$ref": "#/definitions/ErrorList" + } + }, + "413": { + "description": "The request size exceeded the maximum accepted size.", + "headers": { + "x-amzn-RequestId": { + "description": "Unique request reference identifier.", + "type": "string" + } }, - { - "description": "No more actions are required for the shipment. This is a final state.", - "value": "CLOSED" + "schema": { + "$ref": "#/definitions/ErrorList" + } + }, + "415": { + "description": "The request payload is in an unsupported format.", + "headers": { + "x-amzn-RequestId": { + "description": "Unique request reference identifier.", + "type": "string" + } }, - { - "description": "The shipment is cancelled. This is a final state.", - "value": "CANCELLED" + "schema": { + "$ref": "#/definitions/ErrorList" } - ], - "x-example": "CREATED" - }, - { - "description": "List the inbound shipments that were updated after a certain time (inclusive). The date must be in ISO 8601 format.", - "format": "date-time", - "in": "query", - "name": "updatedAfter", - "type": "string", - "x-example": "2023-01-12T10:00:00.000Z" - }, - { - "description": "List the inbound shipments that were updated before a certain time (inclusive). The date must be in ISO 8601 format.", - "format": "date-time", - "in": "query", - "name": "updatedBefore", - "type": "string", - "x-example": "2023-01-12T10:00:00.000Z" - }, - { - "default": 25, - "description": "Maximum number of results to return.", - "format": "int32", - "in": "query", - "maximum": 200, - "minimum": 1, - "name": "maxResults", - "type": "integer", - "x-example": "10" - }, - { - "description": "Token to retrieve the next set of paginated results.", - "in": "query", - "name": "nextToken", - "type": "string", - "x-example": "SampleToken" - } - ], - "responses": { - "200": { - "description": "The 200 response for `listInboundShipments`.", - "headers": { - "x-amzn-RateLimit-Limit": { - "description": "Your rate limit (requests per second) for this operation.", - "type": "string" + }, + "429": { + "description": "The frequency of requests was greater than allowed.", + "headers": { + "x-amzn-RequestId": { + "description": "Unique request reference identifier.", + "type": "string" + } + }, + "schema": { + "$ref": "#/definitions/ErrorList" + } + }, + "500": { + "description": "An unexpected condition occurred that prevented the server from fulfilling the request.", + "headers": { + "x-amzn-RequestId": { + "description": "Unique request reference identifier.", + "type": "string" + } }, - "x-amzn-RequestId": { - "description": "Unique request reference identifier.", - "type": "string" + "schema": { + "$ref": "#/definitions/ErrorList" } }, - "schema": { - "$ref": "#/definitions/ShipmentListing" + "503": { + "description": "Temporary overloading or maintenance of the server.", + "headers": { + "x-amzn-RequestId": { + "description": "Unique request reference identifier.", + "type": "string" + } + }, + "schema": { + "$ref": "#/definitions/ErrorList" + } + } + }, + "tags": [ + "awd" + ], + "description": "Retrieves a summary of all the inbound AWD shipments associated with a merchant, with the ability to apply optional filters.\n\n**Usage Plan:**\n\n| Rate (requests per second) | Burst |\n| ---- | ---- |\n| 1 | 1 |\n\nThe `x-amzn-RateLimit-Limit` response header returns the usage plan rate limits that were applied to the requested operation, when available. The table above indicates the default rate and burst values for this operation. Selling partners whose business demands require higher throughput may see higher rate and burst values than those shown here. For more information, refer to [Usage Plans and Rate Limits in the Selling Partner API](https://developer-docs.amazon.com/sp-api/docs/usage-plans-and-rate-limits-in-the-sp-api).", + "operationId": "listInboundShipments" + } + }, + "/awd/2024-05-09/inventory": { + "get": { + "produces": [ + "application/json" + ], + "parameters": [ + { + "description": "Filter by seller or merchant SKU for the item.", + "in": "query", + "name": "sku", + "type": "string", + "x-example": "TestSKU" }, - "x-amzn-api-sandbox": { - "static": [ + { + "description": "Sort the response in `ASCENDING` or `DESCENDING` order.", + "enum": [ + "ASCENDING", + "DESCENDING" + ], + "in": "query", + "name": "sortOrder", + "type": "string", + "x-docgen-enum-table-extension": [ { - "request": { - "parameters": {} - }, - "response": { - "shipments": [{ - "createdAt": "2023-06-07T12:12:09.061Z", - "orderId": "TestOrderId", - "shipmentId": "TestShipmentId", - "shipmentStatus": "CREATED", - "updatedAt": "2023-06-07T12:12:09.061Z" - }] - } + "description": "Sorts the collection in ascending order.", + "value": "ASCENDING" + }, + { + "description": "Sorts the collection in descending order.", + "value": "DESCENDING" } ] + }, + { + "description": "Set to `SHOW` to return summaries with additional inventory details. Defaults to `HIDE,` which returns only inventory summary totals.", + "enum": [ + "SHOW", + "HIDE" + ], + "in": "query", + "name": "details", + "type": "string", + "x-docgen-enum-table-extension": [ + { + "description": "Show the additional summarized inventory details.", + "value": "SHOW" + }, + { + "description": "Hide the additional summarized inventory details.", + "value": "HIDE" + } + ], + "x-example": "SHOW" + }, + { + "description": "Token to retrieve the next set of paginated results.", + "in": "query", + "name": "nextToken", + "type": "string", + "x-example": "SampleToken" + }, + { + "default": 25, + "description": "Maximum number of results to return.", + "format": "int32", + "in": "query", + "maximum": 200, + "minimum": 1, + "name": "maxResults", + "type": "integer", + "x-example": "10" } - }, - "400": { - "description": "Request has missing or invalid parameters and cannot be parsed.", - "headers": { - "x-amzn-RateLimit-Limit": { - "description": "Your rate limit (requests per second) for this operation.", - "type": "string" + ], + "responses": { + "200": { + "description": "The 200 response for `listInventory`.", + "headers": { + "x-amzn-RateLimit-Limit": { + "description": "Your rate limit (requests per second) for this operation.", + "type": "string" + }, + "x-amzn-RequestId": { + "description": "Unique request reference identifier.", + "type": "string" + } + }, + "schema": { + "$ref": "#/definitions/InventoryListing" }, - "x-amzn-RequestId": { - "description": "Unique request reference identifier.", - "type": "string" + "x-amzn-api-sandbox": { + "static": [ + { + "request": {}, + "response": { + "inventory": [ + { + "totalOnhandQuantity": 20, + "totalInboundQuantity": 10, + "sku": "100TestSKU1Pen", + "inventoryDetails": { + "availableDistributableQuantity": 10, + "reservedDistributableQuantity": 10 + } + }, + { + "totalOnhandQuantity": 20, + "totalInboundQuantity": 5, + "sku": "2U-BKEX-VW4D", + "inventoryDetails": { + "availableDistributableQuantity": 10, + "reservedDistributableQuantity": 10 + } + } + ] + } + } + ] } }, - "schema": { - "$ref": "#/definitions/ErrorList" - }, - "x-amzn-api-sandbox": { - "static": [ - { - "request": { - "parameters": { - "sortBy": { - "value": "TEST" + "400": { + "description": "Request has missing or invalid parameters and cannot be parsed.", + "headers": { + "x-amzn-RateLimit-Limit": { + "description": "Your rate limit (requests per second) for this operation.", + "type": "string" + }, + "x-amzn-RequestId": { + "description": "Unique request reference identifier.", + "type": "string" + } + }, + "schema": { + "$ref": "#/definitions/ErrorList" + }, + "x-amzn-api-sandbox": { + "static": [ + { + "request": { + "parameters": { + "sortOrder": { + "value": "UNKNOWN" + } } + }, + "response": { + "errors": [ + { + "code": "BAD_REQUEST", + "details": "This exception is thrown when client inputs are invalid", + "message": "Invalid value: UNKNOWN passed for sort order. Possible values are: [ASCENDING, DESCENDING]" + } + ] } - }, - "response": { - "errors": [ - { - "code": "BAD_REQUEST", - "details": "This exception is thrown when client inputs are invalid", - "message": "Invalid shipment sortable field received: TEST" - } - ] } - } - ] - } - }, - "403": { - "description": "Indicates that access to the resource is forbidden. Possible reasons include Access Denied, Unauthorized, Expired Token, or Invalid Signature.", - "headers": { - "x-amzn-RequestId": { - "description": "Unique request reference identifier.", - "type": "string" + ] } }, - "schema": { - "$ref": "#/definitions/ErrorList" - } - }, - "404": { - "description": "The resource specified does not exist.", - "headers": { - "x-amzn-RateLimit-Limit": { - "description": "Your rate limit (requests per second) for this operation.", - "type": "string" + "403": { + "description": "Indicates that access to the resource is forbidden. Possible reasons include Access Denied, Unauthorized, Expired Token, or Invalid Signature.", + "headers": { + "x-amzn-RequestId": { + "description": "Unique request reference identifier.", + "type": "string" + } }, - "x-amzn-RequestId": { - "description": "Unique request reference identifier.", - "type": "string" + "schema": { + "$ref": "#/definitions/ErrorList" } }, - "schema": { - "$ref": "#/definitions/ErrorList" - } - }, - "413": { - "description": "The request size exceeded the maximum accepted size.", - "headers": { - "x-amzn-RequestId": { - "description": "Unique request reference identifier.", - "type": "string" + "404": { + "description": "The resource specified does not exist.", + "headers": { + "x-amzn-RateLimit-Limit": { + "description": "Your rate limit (requests per second) for this operation.", + "type": "string" + }, + "x-amzn-RequestId": { + "description": "Unique request reference identifier.", + "type": "string" + } + }, + "schema": { + "$ref": "#/definitions/ErrorList" } }, - "schema": { - "$ref": "#/definitions/ErrorList" - } - }, - "415": { - "description": "The request payload is in an unsupported format.", - "headers": { - "x-amzn-RequestId": { - "description": "Unique request reference identifier.", - "type": "string" + "413": { + "description": "The request size exceeded the maximum accepted size.", + "headers": { + "x-amzn-RequestId": { + "description": "Unique request reference identifier.", + "type": "string" + } + }, + "schema": { + "$ref": "#/definitions/ErrorList" } }, - "schema": { - "$ref": "#/definitions/ErrorList" - } - }, - "429": { - "description": "The frequency of requests was greater than allowed.", - "headers": { - "x-amzn-RequestId": { - "description": "Unique request reference identifier.", - "type": "string" + "415": { + "description": "The request payload is in an unsupported format.", + "headers": { + "x-amzn-RequestId": { + "description": "Unique request reference identifier.", + "type": "string" + } + }, + "schema": { + "$ref": "#/definitions/ErrorList" } }, - "schema": { - "$ref": "#/definitions/ErrorList" - } - }, - "500": { - "description": "An unexpected condition occurred that prevented the server from fulfilling the request.", - "headers": { - "x-amzn-RequestId": { - "description": "Unique request reference identifier.", - "type": "string" + "429": { + "description": "The frequency of requests was greater than allowed.", + "headers": { + "x-amzn-RequestId": { + "description": "Unique request reference identifier.", + "type": "string" + } + }, + "schema": { + "$ref": "#/definitions/ErrorList" } }, - "schema": { - "$ref": "#/definitions/ErrorList" - } - }, - "503": { - "description": "Temporary overloading or maintenance of the server.", - "headers": { - "x-amzn-RequestId": { - "description": "Unique request reference identifier.", - "type": "string" + "500": { + "description": "An unexpected condition occurred that prevented the server from fulfilling the request.", + "headers": { + "x-amzn-RequestId": { + "description": "Unique request reference identifier.", + "type": "string" + } + }, + "schema": { + "$ref": "#/definitions/ErrorList" } }, - "schema": { - "$ref": "#/definitions/ErrorList" + "503": { + "description": "Temporary overloading or maintenance of the server.", + "headers": { + "x-amzn-RequestId": { + "description": "Unique request reference identifier.", + "type": "string" + } + }, + "schema": { + "$ref": "#/definitions/ErrorList" + } } - } - }, - "tags": [ - "awd" - ], - "description": "Retrieves a summary for all the inbound AWD shipments associated with a merchant, with the ability to apply optional filters.\n\n**Usage Plan:**\n\n| Rate (requests per second) | Burst |\n| ---- | ---- |\n| 1 | 1 |\n\nThe `x-amzn-RateLimit-Limit` response header returns the usage plan rate limits that were applied to the requested operation, when available. The table above indicates the default rate and burst values for this operation. Selling partners whose business demands require higher throughput may see higher rate and burst values than those shown here. For more information, refer to [Usage Plans and Rate Limits in the Selling Partner API](https://developer-docs.amazon.com/sp-api/docs/usage-plans-and-rate-limits-in-the-sp-api).", - "operationId": "listInboundShipments" + }, + "tags": [ + "awd" + ], + "description": "Lists AWD inventory associated with a merchant with the ability to apply optional filters.\n\n**Usage Plan:**\n\n| Rate (requests per second) | Burst |\n| ---- | ---- |\n| 2 | 2 |\n\nThe `x-amzn-RateLimit-Limit` response header returns the usage plan rate limits that were applied to the requested operation, when available. The table above indicates the default rate and burst values for this operation. Selling partners whose business demands require higher throughput may see higher rate and burst values than those shown here. For more information, refer to [Usage Plans and Rate Limits in the Selling Partner API](https://developer-docs.amazon.com/sp-api/docs/usage-plans-and-rate-limits-in-the-sp-api).", + "operationId": "listInventory" + } } }, - "/awd/2024-05-09/inventory": { - "get": { - "produces": [ - "application/json" - ], - "parameters": [ - { - "description": "Filter by seller or merchant SKU for the item.", - "in": "query", - "name": "sku", - "type": "string", - "x-example": "TestSKU" - }, - { - "description": "Sort the response in `ASCENDING` or `DESCENDING` order.", - "enum": [ - "ASCENDING", - "DESCENDING" - ], - "in": "query", - "name": "sortOrder", - "type": "string", - "x-docgen-enum-table-extension": [ - { - "description": "Sorts the collection in ascending order.", - "value": "ASCENDING" - }, - { - "description": "Sorts the collection in descending order.", - "value": "DESCENDING" - } - ] - }, - { - "description": "Set to `SHOW` to return summaries with additional inventory details. Defaults to `HIDE,` which returns only inventory summary totals.", - "enum": [ - "SHOW", - "HIDE" - ], - "in": "query", - "name": "details", - "type": "string", - "x-docgen-enum-table-extension": [ - { - "description": "Show the additional summarized inventory details.", - "value": "SHOW" - }, - { - "description": "Hide the additional summarized inventory details.", - "value": "HIDE" - } - ], - "x-example": "SHOW" + "definitions": { + "Address": { + "description": "Shipping address that represents the origin or destination location.", + "properties": { + "addressLine1": { + "description": "First line of the address text.", + "type": "string" }, - { - "description": "Token to retrieve the next set of paginated results.", - "in": "query", - "name": "nextToken", - "type": "string", - "x-example": "SampleToken" + "addressLine2": { + "description": "Optional second line of the address text.", + "type": "string" }, - { - "default": 25, - "description": "Maximum number of results to return.", - "format": "int32", - "in": "query", - "maximum": 200, - "minimum": 1, - "name": "maxResults", - "type": "integer", - "x-example": "10" - } - ], - "responses": { - "200": { - "description": "The 200 response for `listInventory`.", - "headers": { - "x-amzn-RateLimit-Limit": { - "description": "Your rate limit (requests per second) for this operation.", - "type": "string" - }, - "x-amzn-RequestId": { - "description": "Unique request reference identifier.", - "type": "string" - } - }, - "schema": { - "$ref": "#/definitions/InventoryListing" - }, - "x-amzn-api-sandbox": { - "static": [ - { - "request": {}, - "response": { - "inventory": [ - { - "totalOnhandQuantity": 20, - "sku": "100TestSKU1Pen", - "inventoryDetails": { - "availableDistributableQuantity": 10, - "reservedDistributableQuantity": 10 - } - }, - { - "totalOnhandQuantity": 20, - "sku": "2U-BKEX-VW4D", - "inventoryDetails": { - "availableDistributableQuantity": 10, - "reservedDistributableQuantity": 10 - } - } - ] - } - } - ] - } + "addressLine3": { + "description": "Optional third line of the address text.", + "type": "string" }, - "400": { - "description": "Request has missing or invalid parameters and cannot be parsed.", - "headers": { - "x-amzn-RateLimit-Limit": { - "description": "Your rate limit (requests per second) for this operation.", - "type": "string" - }, - "x-amzn-RequestId": { - "description": "Unique request reference identifier.", - "type": "string" - } - }, - "schema": { - "$ref": "#/definitions/ErrorList" - }, - "x-amzn-api-sandbox": { - "static": [ - { - "request": { - "parameters": { - "sortOrder": { - "value": "UNKNOWN" - } - } - }, - "response": { - "errors": [ - { - "code": "BAD_REQUEST", - "details": "This exception is thrown when client inputs are invalid", - "message": "Invalid value: UNKNOWN passed for sort order. Possible values are: [ASCENDING, DESCENDING]" - } - ] - } - } - ] - } + "city": { + "description": "Optional city where this address is located.", + "type": "string" }, - "403": { - "description": "Indicates that access to the resource is forbidden. Possible reasons include Access Denied, Unauthorized, Expired Token, or Invalid Signature.", - "headers": { - "x-amzn-RequestId": { - "description": "Unique request reference identifier.", - "type": "string" - } - }, - "schema": { - "$ref": "#/definitions/ErrorList" - } + "countryCode": { + "description": "Two-digit, ISO 3166-1 alpha-2 formatted country code where this address is located.", + "type": "string" }, - "404": { - "description": "The resource specified does not exist.", - "headers": { - "x-amzn-RateLimit-Limit": { - "description": "Your rate limit (requests per second) for this operation.", - "type": "string" - }, - "x-amzn-RequestId": { - "description": "Unique request reference identifier.", - "type": "string" - } - }, - "schema": { - "$ref": "#/definitions/ErrorList" - } + "county": { + "description": "Optional county where this address is located.", + "type": "string", + "example": "Washington" }, - "413": { - "description": "The request size exceeded the maximum accepted size.", - "headers": { - "x-amzn-RequestId": { - "description": "Unique request reference identifier.", - "type": "string" - } - }, - "schema": { - "$ref": "#/definitions/ErrorList" - } + "district": { + "description": "Optional district where this address is located.", + "type": "string" }, - "415": { - "description": "The request payload is in an unsupported format.", - "headers": { - "x-amzn-RequestId": { - "description": "Unique request reference identifier.", - "type": "string" - } - }, - "schema": { - "$ref": "#/definitions/ErrorList" - } + "name": { + "description": "Name of the person, business, or institution at this address.", + "type": "string" }, - "429": { - "description": "The frequency of requests was greater than allowed.", - "headers": { - "x-amzn-RequestId": { - "description": "Unique request reference identifier.", - "type": "string" - } - }, - "schema": { - "$ref": "#/definitions/ErrorList" - } + "phoneNumber": { + "description": "Optional E.164-formatted phone number for an available contact at this address.", + "type": "string", + "example": "+14155552671" }, - "500": { - "description": "An unexpected condition occurred that prevented the server from fulfilling the request.", - "headers": { - "x-amzn-RequestId": { - "description": "Unique request reference identifier.", - "type": "string" - } - }, - "schema": { - "$ref": "#/definitions/ErrorList" - } + "postalCode": { + "description": "Optional postal code where this address is located.", + "type": "string" }, - "503": { - "description": "Temporary overloading or maintenance of the server.", - "headers": { - "x-amzn-RequestId": { - "description": "Unique request reference identifier.", - "type": "string" - } - }, - "schema": { - "$ref": "#/definitions/ErrorList" - } + "stateOrRegion": { + "description": "State or region where this address is located. Note that this is contextual to the specified country code.", + "type": "string" } }, - "tags": [ - "awd" + "required": [ + "addressLine1", + "countryCode", + "name", + "stateOrRegion" ], - "description": "Lists AWD inventory associated with a merchant with the ability to apply optional filters.\n\n**Usage Plan:**\n\n| Rate (requests per second) | Burst |\n| ---- | ---- |\n| 2 | 2 |\n\nThe `x-amzn-RateLimit-Limit` response header returns the usage plan rate limits that were applied to the requested operation, when available. The table above indicates the default rate and burst values for this operation. Selling partners whose business demands require higher throughput may see higher rate and burst values than those shown here. For more information, refer to [Usage Plans and Rate Limits in the Selling Partner API](https://developer-docs.amazon.com/sp-api/docs/usage-plans-and-rate-limits-in-the-sp-api).", - "operationId": "listInventory" - } - } - }, - "definitions": { - "Address": { - "description": "Shipping address that represents the origin or destination location.", - "properties": { - "addressLine1": { - "description": "First line of the address text.", - "type": "string" - }, - "addressLine2": { - "description": "Optional second line of the address text.", - "type": "string" - }, - "addressLine3": { - "description": "Optional third line of the address text.", - "type": "string" - }, - "city": { - "description": "Optional city where this address is located.", - "type": "string" - }, - "countryCode": { - "description": "Two-digit, ISO 3166-1 alpha-2 formatted country code where this address is located.", - "type": "string" - }, - "county": { - "description": "Optional county where this address is located.", - "type": "string", - "example": "Washington" - }, - "district": { - "description": "Optional district where this address is located.", - "type": "string" - }, - "name": { - "description": "Name of the person, business, or institution at this address.", - "type": "string" - }, - "phoneNumber": { - "description": "Optional E.164-formatted phone number for an available contact at this address.", - "type": "string", - "example": "+14155552671" - }, - "postalCode": { - "description": "Optional postal code where this address is located.", - "type": "string" - }, - "stateOrRegion": { - "description": "State or region where this address is located. Note that this is contextual to the specified country code.", - "type": "string" + "type": "object", + "example": { + "addressLine1": "address_1", + "addressLine2": "address_2", + "addressLine3": "address_3", + "city": "Seattle", + "countryCode": "US", + "county": "Washington", + "district": "District1", + "name": "address_name", + "phoneNumber": "+14155552671", + "postalCode": "123456", + "stateOrRegion": "Washington" } }, - "required": [ - "addressLine1", - "countryCode", - "name", - "stateOrRegion" - ], - "type": "object", - "example": { - "addressLine1": "address_1", - "addressLine2": "address_2", - "addressLine3": "address_3", - "city": "Seattle", - "countryCode": "US", - "county": "Washington", - "district": "District1", - "name": "address_name", - "phoneNumber": "+14155552671", - "postalCode": "123456", - "stateOrRegion": "Washington" - } - }, - "CarrierCode": { - "description": "Identifies the carrier that will deliver the shipment.", - "properties": { - "carrierCodeType": { - "description": "Denotes the carrier type.", - "$ref": "#/definitions/CarrierCodeType" + "CarrierCode": { + "description": "Identifies the carrier that will deliver the shipment.", + "properties": { + "carrierCodeType": { + "description": "Denotes the carrier type.", + "$ref": "#/definitions/CarrierCodeType" + }, + "carrierCodeValue": { + "description": "Value of the carrier code.", + "type": "string", + "example": "TestCarrierCode" + } }, - "carrierCodeValue": { - "description": "Value of the carrier code.", - "type": "string", - "example": "TestCarrierCode" + "type": "object", + "example": { + "carrierCodeType": "SCAC", + "carrierCodeValue": "TestCarrierCode" } }, - "type": "object", - "example": { - "carrierCodeType": "SCAC", - "carrierCodeValue": "TestCarrierCode" - } - }, - "CarrierCodeType": { - "description": "Denotes the type for the carrier.", - "enum": [ - "SCAC" - ], - "type": "string", - "x-docgen-enum-table-extension": [ - { - "description": "Standard Carrier Alpha Code. Ref: https://help.cbp.gov/s/article/Article-572?language=en_US.", - "value": "SCAC" - } - ], - "example": "SCAC" - }, - "DimensionUnitOfMeasurement": { - "description": "Unit of measurement for package dimensions.", - "enum": [ - "INCHES", - "CENTIMETERS" - ], - "type": "string", - "x-docgen-enum-table-extension": [ - { - "description": "Denotes package dimensions in inches.", - "value": "INCHES" - }, - { - "description": "Denotes package dimensions in centimeters.", - "value": "CENTIMETERS" - } - ], - "example": "INCHES" - }, - "DistributionPackage": { - "description": "Represents an AWD distribution package.", - "properties": { - "contents": { - "description": "The contents appropriate for the type.", - "$ref": "#/definitions/DistributionPackageContents" - }, - "measurements": { - "description": "Measurements of a package, including weight, volume, and dimensions.", - "$ref": "#/definitions/MeasurementData" - }, - "type": { - "description": "Type of distribution package.", - "$ref": "#/definitions/DistributionPackageType" - } + "CarrierCodeType": { + "description": "Denotes the type for the carrier.", + "enum": [ + "SCAC" + ], + "type": "string", + "x-docgen-enum-table-extension": [ + { + "description": "Standard Carrier Alpha Code. Refer to [What is a Standard Carrier Alpha Code](https://www.help.cbp.gov/s/article/Article-1420?language=en_US) for more information.", + "value": "SCAC" + } + ], + "example": "SCAC" }, - "required": [ - "contents", - "measurements", - "type" - ], - "type": "object", - "example": { - "contents": { - "products": [ - { - "quantity": 1, - "sku": "testPen" - } - ] - }, - "measurements": { - "dimensions": { - "height": 1, - "length": 1, - "unitOfMeasurement": "INCHES", - "width": 1 - }, - "volume": { - "unitOfMeasurement": "CUIN", - "volume": 1 + "DimensionUnitOfMeasurement": { + "description": "Unit of measurement for package dimensions.", + "enum": [ + "INCHES", + "CENTIMETERS" + ], + "type": "string", + "x-docgen-enum-table-extension": [ + { + "description": "Denotes package dimensions in inches.", + "value": "INCHES" }, - "weight": { - "unitOfMeasurement": "POUNDS", - "weight": 1 + { + "description": "Denotes package dimensions in centimeters.", + "value": "CENTIMETERS" } - }, - "type": "CASE" - } - }, - "DistributionPackageContents": { - "description": "Represents the contents inside a package, which can be products or a nested package.", - "properties": { - "packages": { - "description": "This is required only when `DistributionPackageType=PALLET`.", - "items": { - "$ref": "#/definitions/DistributionPackageQuantity" - }, - "type": "array" - }, - "products": { - "description": "This is required only when `DistributionPackageType=CASE`.", - "items": { - "$ref": "#/definitions/ProductQuantity" - }, - "type": "array" - } + ], + "example": "INCHES" }, - "type": "object" - }, - "DistributionPackageQuantity": { - "description": "Represents a distribution package with its respective quantity.", - "properties": { - "count": { - "description": "Number of cases or pallets with the same package configuration.", - "format": "int32", - "type": "integer" + "DistributionPackage": { + "description": "Represents an AWD distribution package.", + "properties": { + "contents": { + "description": "The contents appropriate for the type.", + "$ref": "#/definitions/DistributionPackageContents" + }, + "measurements": { + "description": "Measurements of a package, including weight, volume, and dimensions.", + "$ref": "#/definitions/MeasurementData" + }, + "type": { + "description": "Type of distribution package.", + "$ref": "#/definitions/DistributionPackageType" + } }, - "distributionPackage": { - "$ref": "#/definitions/DistributionPackage" - } - }, - "required": [ - "count", - "distributionPackage" - ], - "type": "object", - "example": { - "count": 1, - "distributionPackage": { + "required": [ + "contents", + "measurements", + "type" + ], + "type": "object", + "example": { "contents": { "products": [ { @@ -1056,585 +1025,699 @@ }, "type": "CASE" } - } - }, - "DistributionPackageType": { - "description": "Type of distribution packages.", - "enum": [ - "CASE", - "PALLET" - ], - "type": "string", - "x-docgen-enum-table-extension": [ - { - "description": "Package type `CASE`.", - "value": "CASE" - }, - { - "description": "Package type `PALLET`. Currently, the `PALLET` package type is not supported.", - "value": "PALLET" - } - ], - "example": "CASE" - }, - "Error": { - "description": "Error response returned when the request is unsuccessful.", - "properties": { - "code": { - "description": "An error code that identifies the type of error that occurred.", - "type": "string" + }, + "DistributionPackageContents": { + "description": "Represents the contents inside a package, which can be products or a nested package.", + "properties": { + "packages": { + "description": "This is required only when `DistributionPackageType=PALLET`.", + "items": { + "$ref": "#/definitions/DistributionPackageQuantity" + }, + "type": "array" + }, + "products": { + "description": "This is required only when `DistributionPackageType=CASE`.", + "items": { + "$ref": "#/definitions/ProductQuantity" + }, + "type": "array" + } }, - "details": { - "description": "Additional details that can help the caller understand or fix the issue.", - "type": "string" + "type": "object" + }, + "DistributionPackageQuantity": { + "description": "Represents a distribution package with its respective quantity.", + "properties": { + "count": { + "description": "Number of cases or pallets with the same package configuration.", + "format": "int32", + "type": "integer" + }, + "distributionPackage": { + "$ref": "#/definitions/DistributionPackage" + } }, - "message": { - "description": "A message that describes the error condition.", - "type": "string" + "required": [ + "count", + "distributionPackage" + ], + "type": "object", + "example": { + "count": 1, + "distributionPackage": { + "contents": { + "products": [ + { + "quantity": 1, + "sku": "testPen" + } + ] + }, + "measurements": { + "dimensions": { + "height": 1, + "length": 1, + "unitOfMeasurement": "INCHES", + "width": 1 + }, + "volume": { + "unitOfMeasurement": "CUIN", + "volume": 1 + }, + "weight": { + "unitOfMeasurement": "POUNDS", + "weight": 1 + } + }, + "type": "CASE" + } } }, - "required": [ - "code", - "message" - ], - "type": "object" - }, - "ErrorList": { - "description": "This exception is thrown when client inputs are invalid.", - "properties": { - "errors": { - "description": "A list of errors describing the failures.", - "items": { - "$ref": "#/definitions/Error" - }, - "type": "array" - } + "DistributionPackageType": { + "description": "Type of distribution packages.", + "enum": [ + "CASE", + "PALLET" + ], + "type": "string", + "x-docgen-enum-table-extension": [ + { + "description": "Package type `CASE`.", + "value": "CASE" + }, + { + "description": "Package type `PALLET`. Currently, the `PALLET` package type is not supported.", + "value": "PALLET" + } + ], + "example": "CASE" }, - "type": "object", - "required": [ - "errors" - ] - }, - "InboundShipment": { - "description": "Represents an AWD inbound shipment.", - "properties": { - "carrierCode": { - "description": "The shipment carrier code.", - "$ref": "#/definitions/CarrierCode" - }, - "createdAt": { - "description": "Timestamp when the shipment was created. The date is returned in ISO 8601 format.", - "format": "date-time", - "type": "string" - }, - "destinationAddress": { - "description": "Destination address for this shipment.", - "$ref": "#/definitions/Address" - }, - "externalReferenceId": { - "description": "Client-provided reference ID that can correlate this shipment to client resources. For example, to map this shipment to an internal bookkeeping order record.", - "type": "string", - "example": "TestReferenceId" - }, - "orderId": { - "description": "The AWD inbound order ID that this inbound shipment belongs to.", - "minLength": 1, - "type": "string" - }, - "originAddress": { - "description": "Origin address for this shipment.", - "$ref": "#/definitions/Address" - }, - "receivedQuantity": { - "description": "Quantity received (at the receiving end) as part of this shipment.", - "items": { - "$ref": "#/definitions/InventoryQuantity" + "Error": { + "description": "Error response returned when the request is unsuccessful.", + "properties": { + "code": { + "description": "An error code that identifies the type of error that occurred.", + "type": "string" }, - "type": "array" - }, - "shipBy": { - "description": "Timestamp when the shipment will be shipped.", - "format": "date-time", - "type": "string" - }, - "shipmentContainerQuantities": { - "description": "Packages that are part of this shipment.", - "items": { - "$ref": "#/definitions/DistributionPackageQuantity" + "details": { + "description": "Additional details that can help the caller understand or fix the issue.", + "type": "string" }, - "type": "array" - }, - "shipmentId": { - "description": "Unique shipment ID.", - "minLength": 1, - "type": "string" - }, - "shipmentStatus": { - "description": "Current status of this shipment.", - "$ref": "#/definitions/InboundShipmentStatus" - }, - "trackingId": { - "description": "Carrier-unique tracking ID for this shipment.", - "minLength": 1, - "type": "string" - }, - "updatedAt": { - "description": "Timestamp when the shipment was updated. The date is returned in ISO 8601 format.", - "format": "date-time", - "type": "string" + "message": { + "description": "A message that describes the error condition.", + "type": "string" + } }, - "warehouseReferenceId": { - "description": "An AWD-provided reference ID that you can use to interact with the warehouse. For example, a carrier appointment booking.", - "type": "string", - "example": "TestWarehouseReferenceId" - } + "required": [ + "code", + "message" + ], + "type": "object" }, - "required": [ - "destinationAddress", - "orderId", - "originAddress", - "shipmentContainerQuantities", - "shipmentId", - "shipmentStatus" - ], - "type": "object" - }, - "InboundShipmentStatus": { - "description": "Possible shipment statuses used by shipments.", - "enum": [ - "CREATED", - "SHIPPED", - "IN_TRANSIT", - "RECEIVING", - "DELIVERED", - "CLOSED", - "CANCELLED" - ], - "type": "string", - "x-docgen-enum-table-extension": [ - { - "description": "Shipment is created but has not yet shipped.", - "value": "CREATED" - }, - { - "description": "Shipment was picked up by the carrier or was dropped off with the carrier.", - "value": "SHIPPED" - }, - { - "description": "The carrier has notified AWD that the shipment is in transit between origin and destination node.", - "value": "IN_TRANSIT" - }, - { - "description": "The shipment has been partially received.", - "value": "RECEIVING" - }, - { - "description": "The shipment has reached the destination node and has been delivered to the facility yard. The shipment receive process at the warehouse will start soon.", - "value": "DELIVERED" - }, - { - "description": "No more actions required on the shipment. This is a final state.", - "value": "CLOSED" - }, - { - "description": "Shipment has been cancelled. This is a final state.", - "value": "CANCELLED" - } - ] - }, - "InboundShipmentSummary": { - "description": "Summary for an AWD inbound shipment containing the shipment ID, which can be used to retrieve the actual shipment.", - "properties": { - "createdAt": { - "description": "Timestamp when the shipment was created.", - "format": "date-time", - "type": "string" - }, - "externalReferenceId": { - "description": "Optional client-provided reference ID that can be used to correlate this shipment with client resources. For example, to map this shipment to an internal bookkeeping order record.", - "type": "string", - "example": "TestReferenceId" - }, - "orderId": { - "description": "The AWD inbound order ID that this inbound shipment belongs to.", - "minLength": 1, - "type": "string" - }, - "shipmentId": { - "description": "A unique shipment ID.", - "minLength": 1, - "type": "string" - }, - "shipmentStatus": { - "$ref": "#/definitions/InboundShipmentStatus" + "ErrorList": { + "description": "This exception is thrown when client inputs are invalid.", + "properties": { + "errors": { + "description": "A list of errors describing the failures.", + "items": { + "$ref": "#/definitions/Error" + }, + "type": "array" + } }, - "updatedAt": { - "description": "Timestamp when the shipment was updated.", - "format": "date-time", - "type": "string" - } + "type": "object", + "required": [ + "errors" + ] }, - "required": [ - "orderId", - "shipmentId", - "shipmentStatus" - ], - "type": "object" - }, - "InventoryDetails": { - "description": "Additional inventory details. This object is only displayed if the details parameter in the request is set to `SHOW`.", - "properties": { - "availableDistributableQuantity": { - "description": "Quantity that is available for downstream channel replenishment.", - "format": "int64", - "type": "integer" + "InboundShipment": { + "description": "Represents an AWD inbound shipment.", + "properties": { + "carrierCode": { + "description": "The shipment carrier code.", + "$ref": "#/definitions/CarrierCode" + }, + "createdAt": { + "description": "Timestamp when the shipment was created. The date is returned in ISO 8601 format.", + "format": "date-time", + "type": "string" + }, + "destinationAddress": { + "description": "Destination address for this shipment.", + "$ref": "#/definitions/Address" + }, + "externalReferenceId": { + "description": "Client-provided reference ID that can correlate this shipment to client resources. For example, to map this shipment to an internal bookkeeping order record.", + "type": "string", + "example": "TestReferenceId" + }, + "orderId": { + "description": "The AWD inbound order ID that this inbound shipment belongs to.", + "minLength": 1, + "type": "string" + }, + "originAddress": { + "description": "Origin address for this shipment.", + "$ref": "#/definitions/Address" + }, + "receivedQuantity": { + "description": "Quantity received (at the receiving end) as part of this shipment.", + "items": { + "$ref": "#/definitions/InventoryQuantity" + }, + "type": "array" + }, + "shipBy": { + "description": "Timestamp when the shipment will be shipped.", + "format": "date-time", + "type": "string" + }, + "shipmentContainerQuantities": { + "description": "Packages that are part of this shipment.", + "items": { + "$ref": "#/definitions/DistributionPackageQuantity" + }, + "type": "array" + }, + "shipmentId": { + "description": "Unique shipment ID.", + "minLength": 1, + "type": "string" + }, + "shipmentSkuQuantities": { + "description": "Quantity details at SKU level for the shipment. This attribute will only appear if the skuQuantities parameter in the request is set to SHOW.", + "items": { + "$ref": "#/definitions/SkuQuantity" + }, + "type": "array" + }, + "shipmentStatus": { + "description": "Current status of this shipment.", + "$ref": "#/definitions/InboundShipmentStatus" + }, + "trackingId": { + "description": "Carrier-unique tracking ID for this shipment.", + "minLength": 1, + "type": "string" + }, + "updatedAt": { + "description": "Timestamp when the shipment was updated. The date is returned in ISO 8601 format.", + "format": "date-time", + "type": "string" + }, + "warehouseReferenceId": { + "description": "An AWD-provided reference ID that you can use to interact with the warehouse. For example, a carrier appointment booking.", + "type": "string", + "example": "TestWarehouseReferenceId" + } }, - "reservedDistributableQuantity": { - "description": "Quantity that is reserved for a downstream channel replenishment order that is being prepared for shipment.", - "format": "int64", - "type": "integer" - } + "required": [ + "destinationAddress", + "orderId", + "originAddress", + "shipmentContainerQuantities", + "shipmentId", + "shipmentStatus" + ], + "type": "object" }, - "type": "object" - }, - "InventoryDetailsVisibility": { - "description": "Enum to specify if returned summaries should include additional summarized inventory details and quantities.", - "enum": [ - "SHOW", - "HIDE" - ], - "type": "string", - "x-docgen-enum-table-extension": [ - { - "description": "Show the additional summarized inventory details.", - "value": "SHOW" - }, - { - "description": "Hide the additional summarized inventory details.", - "value": "HIDE" - } - ], - "example": "SHOW" - }, - "InventoryListing": { - "description": "AWD inventory payload.", - "properties": { - "inventory": { - "description": "List of inventory summaries.", - "items": { - "$ref": "#/definitions/InventorySummary" - }, - "type": "array" - }, - "nextToken": { - "description": "Token to retrieve the next set of paginated results.", - "type": "string", - "example": "SampleToken" - } + "InboundShipmentStatus": { + "description": "Possible shipment statuses used by shipments.", + "enum": [ + "CREATED", + "SHIPPED", + "IN_TRANSIT", + "RECEIVING", + "DELIVERED", + "CLOSED", + "CANCELLED" + ], + "type": "string", + "x-docgen-enum-table-extension": [ + { + "description": "Shipment is created but has not yet shipped.", + "value": "CREATED" + }, + { + "description": "Shipment was picked up by the carrier or was dropped off with the carrier.", + "value": "SHIPPED" + }, + { + "description": "The carrier has notified AWD that the shipment is in transit between origin and destination node.", + "value": "IN_TRANSIT" + }, + { + "description": "The shipment has been partially received.", + "value": "RECEIVING" + }, + { + "description": "The shipment has reached the destination node and has been delivered to the facility yard. The shipment receive process at the warehouse will start soon.", + "value": "DELIVERED" + }, + { + "description": "No more actions required on the shipment. This is a final state.", + "value": "CLOSED" + }, + { + "description": "Shipment has been cancelled. This is a final state.", + "value": "CANCELLED" + } + ] }, - "required": [ - "inventory" - ], - "type": "object" - }, - "InventoryQuantity": { - "description": "Quantity of inventory with an associated measurement unit context.", - "properties": { - "quantity": { - "description": "Quantity of the respective inventory.", - "type": "number" + "InboundShipmentSummary": { + "description": "Summary for an AWD inbound shipment containing the shipment ID, which can be used to retrieve the actual shipment.", + "properties": { + "createdAt": { + "description": "Timestamp when the shipment was created.", + "format": "date-time", + "type": "string" + }, + "externalReferenceId": { + "description": "Optional client-provided reference ID that can be used to correlate this shipment with client resources. For example, to map this shipment to an internal bookkeeping order record.", + "type": "string", + "example": "TestReferenceId" + }, + "orderId": { + "description": "The AWD inbound order ID that this inbound shipment belongs to.", + "minLength": 1, + "type": "string" + }, + "shipmentId": { + "description": "A unique shipment ID.", + "minLength": 1, + "type": "string" + }, + "shipmentStatus": { + "$ref": "#/definitions/InboundShipmentStatus" + }, + "updatedAt": { + "description": "Timestamp when the shipment was updated.", + "format": "date-time", + "type": "string" + } }, - "unitOfMeasurement": { - "description": "Unit of measurement for the inventory.", - "$ref": "#/definitions/InventoryUnitOfMeasurement" - } + "required": [ + "orderId", + "shipmentId", + "shipmentStatus" + ], + "type": "object" }, - "required": [ - "quantity", - "unitOfMeasurement" - ], - "type": "object" - }, - "InventorySummary": { - "description": "Summary of inventory per SKU.", - "properties": { - "inventoryDetails": { - "$ref": "#/definitions/InventoryDetails" - }, - "sku": { - "description": "The seller or merchant SKU.", - "type": "string" + "InventoryDetails": { + "description": "Additional inventory details. This object is only displayed if the details parameter in the request is set to `SHOW`.", + "properties": { + "availableDistributableQuantity": { + "description": "Quantity that is available for downstream channel replenishment.", + "format": "int64", + "type": "integer" + }, + "reservedDistributableQuantity": { + "description": "Quantity that is reserved for a downstream channel replenishment order that is being prepared for shipment.", + "format": "int64", + "type": "integer" + } }, - "totalOnhandQuantity": { - "description": "Total quantity that is present in AWD distribution centers.", - "format": "int64", - "type": "integer" - } + "type": "object" }, - "required": [ - "sku" - ], - "type": "object" - }, - "InventoryUnitOfMeasurement": { - "description": "Unit of measurement for the inventory.", - "enum": [ - "PRODUCT_UNITS", - "CASES", - "PALLETS" - ], - "type": "string", - "x-docgen-enum-table-extension": [ - { - "description": "Measures a discrete amount of product units.", - "value": "PRODUCT_UNITS" - }, - { - "description": "Measures a discrete amount of cases.", - "value": "CASES" - }, - { - "description": "Measures a discrete amount of pallets.", - "value": "PALLETS" - } - ] - }, - "MeasurementData": { - "description": "Package weight and dimension.", - "properties": { - "dimensions": { - "description": "Dimensions of the package. Dimensions are required when creating an inbound or outbound order.", - "$ref": "#/definitions/PackageDimensions" + "InventoryDetailsVisibility": { + "description": "Enum to specify if returned summaries should include additional summarized inventory details and quantities.", + "enum": [ + "SHOW", + "HIDE" + ], + "type": "string", + "x-docgen-enum-table-extension": [ + { + "description": "Show the additional summarized inventory details.", + "value": "SHOW" + }, + { + "description": "Hide the additional summarized inventory details.", + "value": "HIDE" + } + ], + "example": "SHOW" + }, + "InventoryListing": { + "description": "AWD inventory payload.", + "properties": { + "inventory": { + "description": "List of inventory summaries.", + "items": { + "$ref": "#/definitions/InventorySummary" + }, + "type": "array" + }, + "nextToken": { + "description": "Token to retrieve the next set of paginated results.", + "type": "string", + "example": "SampleToken" + } }, - "volume": { - "description": "Volume of the package.", - "$ref": "#/definitions/PackageVolume" + "required": [ + "inventory" + ], + "type": "object" + }, + "InventoryQuantity": { + "description": "Quantity of inventory with an associated measurement unit context.", + "properties": { + "quantity": { + "description": "Quantity of the respective inventory.", + "type": "number" + }, + "unitOfMeasurement": { + "description": "Unit of measurement for the inventory.", + "$ref": "#/definitions/InventoryUnitOfMeasurement" + } }, - "weight": { - "description": "Weight of the package.", - "$ref": "#/definitions/PackageWeight" - } + "required": [ + "quantity", + "unitOfMeasurement" + ], + "type": "object" }, - "required": [ - "weight" - ], - "type": "object" - }, - "PackageDimensions": { - "description": "Dimensions of the package.", - "properties": { - "height": { - "description": "Height of the package.", - "format": "double", - "type": "number" + "InventorySummary": { + "description": "Summary of inventory per SKU.", + "properties": { + "inventoryDetails": { + "$ref": "#/definitions/InventoryDetails" + }, + "sku": { + "description": "The seller or merchant SKU.", + "type": "string" + }, + "totalInboundQuantity": { + "description": "Total quantity that is in-transit from the seller and has not yet been received at an AWD Distribution Center", + "format": "int64", + "type": "integer" + }, + "totalOnhandQuantity": { + "description": "Total quantity that is present in AWD distribution centers.", + "format": "int64", + "type": "integer" + } }, - "length": { - "description": "Length of the package.", - "format": "double", - "type": "number" + "required": [ + "sku" + ], + "type": "object" + }, + "InventoryUnitOfMeasurement": { + "description": "Unit of measurement for the inventory.", + "enum": [ + "PRODUCT_UNITS", + "CASES", + "PALLETS" + ], + "type": "string", + "x-docgen-enum-table-extension": [ + { + "description": "Measures a discrete amount of product units.", + "value": "PRODUCT_UNITS" + }, + { + "description": "Measures a discrete amount of cases.", + "value": "CASES" + }, + { + "description": "Measures a discrete amount of pallets.", + "value": "PALLETS" + } + ] + }, + "MeasurementData": { + "description": "Package weight and dimension.", + "properties": { + "dimensions": { + "description": "Dimensions of the package. Dimensions are required when creating an inbound or outbound order.", + "$ref": "#/definitions/PackageDimensions" + }, + "volume": { + "description": "Volume of the package.", + "$ref": "#/definitions/PackageVolume" + }, + "weight": { + "description": "Weight of the package.", + "$ref": "#/definitions/PackageWeight" + } }, - "unitOfMeasurement": { - "description": "Unit of measurement for package dimensions.", - "$ref": "#/definitions/DimensionUnitOfMeasurement" + "required": [ + "weight" + ], + "type": "object" + }, + "PackageDimensions": { + "description": "Dimensions of the package.", + "properties": { + "height": { + "description": "Height of the package.", + "format": "double", + "type": "number" + }, + "length": { + "description": "Length of the package.", + "format": "double", + "type": "number" + }, + "unitOfMeasurement": { + "description": "Unit of measurement for package dimensions.", + "$ref": "#/definitions/DimensionUnitOfMeasurement" + }, + "width": { + "description": "Width of the package.", + "format": "double", + "type": "number" + } }, - "width": { - "description": "Width of the package.", - "format": "double", - "type": "number" - } + "required": [ + "height", + "length", + "unitOfMeasurement", + "width" + ], + "type": "object" }, - "required": [ - "height", - "length", - "unitOfMeasurement", - "width" - ], - "type": "object" - }, - "PackageVolume": { - "description": "Represents the volume of the package with a unit of measurement.", - "properties": { - "unitOfMeasurement": { - "description": "Unit of measurement for the package volume.", - "$ref": "#/definitions/VolumeUnitOfMeasurement" + "PackageVolume": { + "description": "Represents the volume of the package with a unit of measurement.", + "properties": { + "unitOfMeasurement": { + "description": "Unit of measurement for the package volume.", + "$ref": "#/definitions/VolumeUnitOfMeasurement" + }, + "volume": { + "description": "The package volume value.", + "format": "double", + "type": "number" + } }, - "volume": { - "description": "The package volume value.", - "format": "double", - "type": "number" - } + "required": [ + "unitOfMeasurement", + "volume" + ], + "type": "object" }, - "required": [ - "unitOfMeasurement", - "volume" - ], - "type": "object" - }, - "PackageWeight": { - "description": "Represents the weight of the package with a unit of measurement.", - "properties": { - "unitOfMeasurement": { - "description": "Unit of measurement for the package weight.", - "$ref": "#/definitions/WeightUnitOfMeasurement" + "PackageWeight": { + "description": "Represents the weight of the package with a unit of measurement.", + "properties": { + "unitOfMeasurement": { + "description": "Unit of measurement for the package weight.", + "$ref": "#/definitions/WeightUnitOfMeasurement" + }, + "weight": { + "description": "The package weight value.", + "format": "double", + "type": "number" + } }, - "weight": { - "description": "The package weight value.", - "format": "double", - "type": "number" - } + "required": [ + "unitOfMeasurement", + "weight" + ], + "type": "object" }, - "required": [ - "unitOfMeasurement", - "weight" - ], - "type": "object" - }, - "ProductAttribute": { - "description": "Product instance attribute that is not described at the SKU level in the catalog.", - "properties": { - "name": { - "description": "Product attribute name.", - "type": "string", - "example": "TestAttribute" + "ProductAttribute": { + "description": "Product instance attribute that is not described at the SKU level in the catalog.", + "properties": { + "name": { + "description": "Product attribute name.", + "type": "string", + "example": "TestAttribute" + }, + "value": { + "description": "Product attribute value.", + "type": "string", + "example": "TestAttributeValue" + } }, - "value": { - "description": "Product attribute value.", - "type": "string", - "example": "TestAttributeValue" + "type": "object", + "example": { + "name": "TestAttribute", + "value": "TestAttributeValue" } }, - "type": "object", - "example": { - "name": "TestAttribute", - "value": "TestAttributeValue" - } - }, - "ProductQuantity": { - "description": "Represents a product with the SKU details and the corresponding quantity.", - "properties": { - "attributes": { - "description": "Attributes for this instance of the product. For example, already-prepped, or other attributes that distinguish the product beyond the SKU.", - "items": { - "$ref": "#/definitions/ProductAttribute" - }, - "type": "array", - "example": { - "name": "TestAttribute", - "value": "TestAttributeValue" + "ProductQuantity": { + "description": "Represents a product with the SKU details and the corresponding quantity.", + "properties": { + "attributes": { + "description": "Attributes for this instance of the product. For example, already-prepped, or other attributes that distinguish the product beyond the SKU.", + "items": { + "$ref": "#/definitions/ProductAttribute" + }, + "type": "array" + }, + "quantity": { + "description": "Product quantity.", + "format": "int32", + "type": "integer" + }, + "sku": { + "description": "The seller or merchant SKU.", + "type": "string" } }, - "quantity": { - "description": "Product quantity.", - "format": "int32", - "type": "integer" - }, - "sku": { - "description": "The seller or merchant SKU.", - "type": "string" - } + "required": [ + "quantity", + "sku" + ], + "type": "object" }, - "required": [ - "quantity", - "sku" - ], - "type": "object" - }, - "ShipmentListing": { - "description": "A list of inbound shipment summaries filtered by the attributes specified in the request.", - "properties": { - "nextToken": { - "description": "Token to retrieve the next set of paginated results.", - "type": "string", - "example": "SampleToken" + "ShipmentListing": { + "description": "A list of inbound shipment summaries filtered by the attributes specified in the request.", + "properties": { + "nextToken": { + "description": "Token to retrieve the next set of paginated results.", + "type": "string", + "example": "SampleToken" + }, + "shipments": { + "description": "List of inbound shipment summaries.", + "items": { + "$ref": "#/definitions/InboundShipmentSummary" + }, + "type": "array" + } }, - "shipments": { - "description": "List of inbound shipment summaries.", - "items": { - "$ref": "#/definitions/InboundShipmentSummary" + "type": "object" + }, + "ShipmentSortableField": { + "description": "Denotes the field name on which the shipments are to be sorted.", + "enum": [ + "UPDATED_AT", + "CREATED_AT" + ], + "type": "string", + "x-docgen-enum-table-extension": [ + { + "description": "Sort by updated at timestamp.", + "value": "UPDATED_AT" }, - "type": "array" - } + { + "description": "Sort by created at timestamp.", + "value": "CREATED_AT" + } + ], + "example": "CREATED_AT" }, - "type": "object" - }, - "ShipmentSortableField": { - "description": "Denotes the field name on which the shipments are to be sorted.", - "enum": [ - "UPDATED_AT", - "CREATED_AT" - ], - "type": "string", - "x-docgen-enum-table-extension": [ - { - "description": "Sort by updated at timestamp.", - "value": "UPDATED_AT" - }, - { - "description": "Sort by created at timestamp.", - "value": "CREATED_AT" - } - ], - "example": "CREATED_AT" - }, - "SortOrder": { - "description": "Sort order for a collection of items. For example, order or shipment.", - "enum": [ - "ASCENDING", - "DESCENDING" - ], - "type": "string", - "x-docgen-enum-table-extension": [ - { - "description": "Sorts the collection in ascending order.", - "value": "ASCENDING" - }, - { - "description": "Sorts the collection in descending order.", - "value": "DESCENDING" - } - ], - "example": "ASCENDING" - }, - "VolumeUnitOfMeasurement": { - "description": "Unit of measurement for the package volume.", - "enum": [ - "CU_IN", - "CBM", - "CC" - ], - "type": "string", - "x-docgen-enum-table-extension": [ - { - "description": "Denotes volume measurement in cubic inches.", - "value": "CU_IN" - }, - { - "description": "Denotes volume measurement in cubic meters.", - "value": "CBM" - }, - { - "description": "Denotes volume measurement in cubic centimeters.", - "value": "CC" - } - ] - }, - "WeightUnitOfMeasurement": { - "description": "Unit of measurement for the package weight.", - "enum": [ - "POUNDS", - "KILOGRAMS" - ], - "type": "string", - "x-docgen-enum-table-extension": [ - { - "description": "Denotes weight measurement in pounds.", - "value": "POUNDS" + "SkuQuantitiesVisibility": { + "description": "Enum to specify if returned shipment should include SKU quantity details", + "enum": [ + "SHOW", + "HIDE" + ], + "type": "string", + "example": "SHOW", + "x-docgen-enum-table-extension": [ + { + "description": "Show the additional SKU quantity details", + "value": "SHOW" + }, + { + "description": "Hide the additional SKU quantity details", + "value": "HIDE" + } + ] + }, + "SkuQuantity": { + "description": "Quantity details for a SKU as part of a shipment", + "properties": { + "expectedQuantity": { + "$ref": "#/definitions/InventoryQuantity" + }, + "receivedQuantity": { + "$ref": "#/definitions/InventoryQuantity" + }, + "sku": { + "description": "The merchant stock keeping unit", + "type": "string" + } }, - { - "description": "Denotes weight measurement in kilograms.", - "value": "KILOGRAMS" - } - ] + "required": [ + "expectedQuantity", + "sku" + ], + "type": "object" + }, + "SortOrder": { + "description": "Sort order for a collection of items. For example, order or shipment.", + "enum": [ + "ASCENDING", + "DESCENDING" + ], + "type": "string", + "x-docgen-enum-table-extension": [ + { + "description": "Sorts the collection in ascending order.", + "value": "ASCENDING" + }, + { + "description": "Sorts the collection in descending order.", + "value": "DESCENDING" + } + ], + "example": "ASCENDING" + }, + "VolumeUnitOfMeasurement": { + "description": "Unit of measurement for the package volume.", + "enum": [ + "CU_IN", + "CBM", + "CC" + ], + "type": "string", + "x-docgen-enum-table-extension": [ + { + "description": "Denotes volume measurement in cubic inches.", + "value": "CU_IN" + }, + { + "description": "Denotes volume measurement in cubic meters.", + "value": "CBM" + }, + { + "description": "Denotes volume measurement in cubic centimeters.", + "value": "CC" + } + ] + }, + "WeightUnitOfMeasurement": { + "description": "Unit of measurement for the package weight.", + "enum": [ + "POUNDS", + "KILOGRAMS" + ], + "type": "string", + "x-docgen-enum-table-extension": [ + { + "description": "Denotes weight measurement in pounds.", + "value": "POUNDS" + }, + { + "description": "Denotes weight measurement in kilograms.", + "value": "KILOGRAMS" + } + ] + } } - } -} + } \ No newline at end of file From 663628ff62fb554680bdfbbb0cea9feedc92bebc Mon Sep 17 00:00:00 2001 From: Gibran Waldron Date: Thu, 22 Aug 2024 11:25:27 -0700 Subject: [PATCH 096/340] Add rate limit difference note to the Feeds API. --- models/feeds-api-model/feeds_2021-06-30.json | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/models/feeds-api-model/feeds_2021-06-30.json b/models/feeds-api-model/feeds_2021-06-30.json index 87f2c67c2..0af7da0ad 100644 --- a/models/feeds-api-model/feeds_2021-06-30.json +++ b/models/feeds-api-model/feeds_2021-06-30.json @@ -29,7 +29,7 @@ "tags": [ "feeds" ], - "description": "Returns feed details for the feeds that match the filters that you specify.\n\n**Usage Plan:**\n\n| Rate (requests per second) | Burst |\n| ---- | ---- |\n| 0.0222 | 10 |\n\nThe `x-amzn-RateLimit-Limit` response header returns the usage plan rate limits that were applied to the requested operation, when available. The table above indicates the default rate and burst values for this operation. Selling partners whose business demands require higher throughput may see higher rate and burst values than those shown here. For more information, see [Usage Plans and Rate Limits in the Selling Partner API](https://developer-docs.amazon.com/sp-api/docs/usage-plans-and-rate-limits-in-the-sp-api).", + "description": "Returns feed details for the feeds that match the filters that you specify.\n\n**Usage Plan:**\n\n| Rate (requests per second) | Burst |\n| ---- | ---- |\n| 0.0222 | 10 |\n\nThe `x-amzn-RateLimit-Limit` response header returns the usage plan rate limits that were applied to the requested operation, when available. The preceding table indicates the default rate and burst values for this operation. Selling partners whose business demands require higher throughput may have higher rate and burst values than those shown here. For more information, refer to [Usage Plans and Rate Limits in the Selling Partner API](https://developer-docs.amazon.com/sp-api/docs/usage-plans-and-rate-limits-in-the-sp-api).", "operationId": "getFeeds", "parameters": [ { @@ -324,7 +324,7 @@ "tags": [ "feeds" ], - "description": "Creates a feed. Upload the contents of the feed document before calling this operation.\n\n**Usage Plan:**\n\n| Rate (requests per second) | Burst |\n| ---- | ---- |\n| 0.0083 | 15 |\n\nThe `x-amzn-RateLimit-Limit` response header returns the usage plan rate limits that were applied to the requested operation, when available. The table above indicates the default rate and burst values for this operation. Selling partners whose business demands require higher throughput may see higher rate and burst values than those shown here. For more information, see [Usage Plans and Rate Limits in the Selling Partner API](https://developer-docs.amazon.com/sp-api/docs/usage-plans-and-rate-limits-in-the-sp-api).", + "description": "Creates a feed. Upload the contents of the feed document before calling this operation.\n\n**Usage Plan:**\n\n| Rate (requests per second) | Burst |\n| ---- | ---- |\n| 0.0083 | 15 |\n\nThe `x-amzn-RateLimit-Limit` response header returns the usage plan rate limits that were applied to the requested operation, when available. The preceding table indicates the default rate and burst values for this operation. Selling partners whose business demands require higher throughput may have higher rate and burst values than those shown here. For more information, refer to [Usage Plans and Rate Limits in the Selling Partner API](https://developer-docs.amazon.com/sp-api/docs/usage-plans-and-rate-limits-in-the-sp-api).\n\nThe rate limit for the [`JSON_LISTINGS_FEED`](https://developer-docs.amazon.com/sp-api/docs/listings-feed-type-values#listings-feed) feed type differs from the rate limit for the [`createFeed`](https://developer-docs.amazon.com/sp-api/docs/feeds-api-v2021-06-30-reference#post-feeds2021-06-30feeds) operation. For more information, refer to the [Building Listings Management Workflows Guide](https://developer-docs.amazon.com/sp-api/docs/building-listings-management-workflows-guide#should-i-submit-in-bulk-using-the-json_listings_feed-or-individually-with-the-listings-items-api).", "operationId": "createFeed", "parameters": [ { @@ -518,7 +518,7 @@ "tags": [ "feeds" ], - "description": "Cancels the feed that you specify. Only feeds with processingStatus=IN_QUEUE can be cancelled. Cancelled feeds are returned in subsequent calls to the getFeed and getFeeds operations.\n\n**Usage Plan:**\n\n| Rate (requests per second) | Burst |\n| ---- | ---- |\n| 2 | 15 |\n\nThe `x-amzn-RateLimit-Limit` response header returns the usage plan rate limits that were applied to the requested operation, when available. The table above indicates the default rate and burst values for this operation. Selling partners whose business demands require higher throughput may see higher rate and burst values than those shown here. For more information, see [Usage Plans and Rate Limits in the Selling Partner API](https://developer-docs.amazon.com/sp-api/docs/usage-plans-and-rate-limits-in-the-sp-api).", + "description": "Cancels the feed that you specify. Only feeds with `processingStatus=IN_QUEUE` can be cancelled. Cancelled feeds are returned in subsequent calls to the [`getFeed`](https://developer-docs.amazon.com/sp-api/docs/feeds-api-v2021-06-30-reference#getfeed) and [`getFeeds`](https://developer-docs.amazon.com/sp-api/docs/feeds-api-v2021-06-30-reference#getfeeds) operations.\n\n**Usage Plan:**\n\n| Rate (requests per second) | Burst |\n| ---- | ---- |\n| 2 | 15 |\n\nThe `x-amzn-RateLimit-Limit` response header returns the usage plan rate limits that were applied to the requested operation, when available. The preceding table indicates the default rate and burst values for this operation. Selling partners whose business demands require higher throughput may have higher rate and burst values than those shown here. For more information, refer to [Usage Plans and Rate Limits in the Selling Partner API](https://developer-docs.amazon.com/sp-api/docs/usage-plans-and-rate-limits-in-the-sp-api).", "operationId": "cancelFeed", "parameters": [ { @@ -688,7 +688,7 @@ "tags": [ "feeds" ], - "description": "Returns feed details (including the resultDocumentId, if available) for the feed that you specify.\n\n**Usage Plan:**\n\n| Rate (requests per second) | Burst |\n| ---- | ---- |\n| 2 | 15 |\n\nThe `x-amzn-RateLimit-Limit` response header returns the usage plan rate limits that were applied to the requested operation, when available. The table above indicates the default rate and burst values for this operation. Selling partners whose business demands require higher throughput may see higher rate and burst values than those shown here. For more information, see [Usage Plans and Rate Limits in the Selling Partner API](https://developer-docs.amazon.com/sp-api/docs/usage-plans-and-rate-limits-in-the-sp-api).", + "description": "Returns feed details (including the `resultDocumentId`, if available) for the feed that you specify.\n\n**Usage Plan:**\n\n| Rate (requests per second) | Burst |\n| ---- | ---- |\n| 2 | 15 |\n\nThe `x-amzn-RateLimit-Limit` response header returns the usage plan rate limits that were applied to the requested operation, when available. The preceding table indicates the default rate and burst values for this operation. Selling partners whose business demands require higher throughput may have higher rate and burst values than those shown here. For more information, refer to [Usage Plans and Rate Limits in the Selling Partner API](https://developer-docs.amazon.com/sp-api/docs/usage-plans-and-rate-limits-in-the-sp-api).", "operationId": "getFeed", "parameters": [ { @@ -869,7 +869,7 @@ }, "/feeds/2021-06-30/documents": { "post": { - "description": "Creates a feed document for the feed type that you specify. This operation returns a presigned URL for uploading the feed document contents. It also returns a feedDocumentId value that you can pass in with a subsequent call to the createFeed operation.\n\n**Usage Plan:**\n\n| Rate (requests per second) | Burst |\n| ---- | ---- |\n| 0.5 | 15 |\n\nThe `x-amzn-RateLimit-Limit` response header returns the usage plan rate limits that were applied to the requested operation, when available. The table above indicates the default rate and burst values for this operation. Selling partners whose business demands require higher throughput may see higher rate and burst values than those shown here. For more information, see [Usage Plans and Rate Limits in the Selling Partner API](https://developer-docs.amazon.com/sp-api/docs/usage-plans-and-rate-limits-in-the-sp-api).", + "description": "Creates a feed document for the feed type that you specify. This operation returns a presigned URL for uploading the feed document contents. It also returns a `feedDocumentId` value that you can pass in with a subsequent call to the [`createFeed`](https://developer-docs.amazon.com/sp-api/docs/feeds-api-v2021-06-30-reference#createfeed) operation.\n\n**Usage Plan:**\n\n| Rate (requests per second) | Burst |\n| ---- | ---- |\n| 0.5 | 15 |\n\nThe `x-amzn-RateLimit-Limit` response header returns the usage plan rate limits that were applied to the requested operation, when available. The preceding table indicates the default rate and burst values for this operation. Selling partners whose business demands require higher throughput may have higher rate and burst values than those shown here. For more information, refer to [Usage Plans and Rate Limits in the Selling Partner API](https://developer-docs.amazon.com/sp-api/docs/usage-plans-and-rate-limits-in-the-sp-api).", "operationId": "createFeedDocument", "tags": [ "feeds" @@ -1056,7 +1056,7 @@ "tags": [ "feeds" ], - "description": "Returns the information required for retrieving a feed document's contents.\n\n**Usage Plan:**\n\n| Rate (requests per second) | Burst |\n| ---- | ---- |\n| 0.0222 | 10 |\n\nThe `x-amzn-RateLimit-Limit` response header returns the usage plan rate limits that were applied to the requested operation, when available. The table above indicates the default rate and burst values for this operation. Selling partners whose business demands require higher throughput may see higher rate and burst values than those shown here. For more information, see [Usage Plans and Rate Limits in the Selling Partner API](https://developer-docs.amazon.com/sp-api/docs/usage-plans-and-rate-limits-in-the-sp-api).", + "description": "Returns the information required for retrieving a feed document's contents.\n\n**Usage Plan:**\n\n| Rate (requests per second) | Burst |\n| ---- | ---- |\n| 0.0222 | 10 |\n\nThe `x-amzn-RateLimit-Limit` response header returns the usage plan rate limits that were applied to the requested operation, when available. The preceding table indicates the default rate and burst values for this operation. Selling partners whose business demands require higher throughput may have higher rate and burst values than those shown here. For more information, refer to [Usage Plans and Rate Limits in the Selling Partner API](https://developer-docs.amazon.com/sp-api/docs/usage-plans-and-rate-limits-in-the-sp-api).", "operationId": "getFeedDocument", "parameters": [ { From 0d1ecf7ed089bd7375f2a2cd1ee2c55cbbfe11e6 Mon Sep 17 00:00:00 2001 From: Jack Evoniuk Date: Mon, 26 Aug 2024 10:08:07 -0700 Subject: [PATCH 097/340] Update rate limits in Catalog Items --- models/catalog-items-api-model/catalogItems_2022-04-01.json | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/models/catalog-items-api-model/catalogItems_2022-04-01.json b/models/catalog-items-api-model/catalogItems_2022-04-01.json index 1047cb99e..a73e07d33 100644 --- a/models/catalog-items-api-model/catalogItems_2022-04-01.json +++ b/models/catalog-items-api-model/catalogItems_2022-04-01.json @@ -29,7 +29,7 @@ "tags": [ "catalog" ], - "description": "Search for and return a list of Amazon catalog items and associated information either by identifier or by keywords.\n\n**Usage Plans:**\n\n| Rate (requests per second) | Burst |\n| ---- | ---- |\n| 5 | 5 |\n\nThe `x-amzn-RateLimit-Limit` response header returns the usage plan rate limits that were applied to the requested operation, when available. The table above indicates the default rate and burst values for this operation. Selling partners whose business demands require higher throughput may observe higher rate and burst values than those shown here. For more information, refer to the [Usage Plans and Rate Limits in the Selling Partner API](doc:usage-plans-and-rate-limits-in-the-sp-api).", + "description": "Search for and return a list of Amazon catalog items and associated information either by identifier or by keywords.\n\n**Usage Plans:**\n\n| Rate (requests per second) | Burst |\n| ---- | ---- |\n| 2 | 2 |\n\nThe `x-amzn-RateLimit-Limit` response header returns the usage plan rate limits that were applied to the requested operation, when available. The table above indicates the default rate and burst values for this operation. Selling partners whose business demands require higher throughput may observe higher rate and burst values than those shown here. For more information, refer to the [Usage Plans and Rate Limits in the Selling Partner API](doc:usage-plans-and-rate-limits-in-the-sp-api).", "operationId": "searchCatalogItems", "consumes": [ "application/json" @@ -1668,7 +1668,7 @@ "tags": [ "catalog" ], - "description": "Retrieves details for an item in the Amazon catalog.\n\n**Usage Plan:**\n\n| Rate (requests per second) | Burst |\n| ---- | ---- |\n| 5 | 5 |\n\nThe `x-amzn-RateLimit-Limit` response header returns the usage plan rate limits that were applied to the requested operation, when available. The table above indicates the default rate and burst values for this operation. Selling partners whose business demands require higher throughput may observe higher rate and burst values than those shown here. For more information, refer to the [Usage Plans and Rate Limits in the Selling Partner API](doc:usage-plans-and-rate-limits-in-the-sp-api).", + "description": "Retrieves details for an item in the Amazon catalog.\n\n**Usage Plan:**\n\n| Rate (requests per second) | Burst |\n| ---- | ---- |\n| 2 | 2 |\n\nThe `x-amzn-RateLimit-Limit` response header returns the usage plan rate limits that were applied to the requested operation, when available. The table above indicates the default rate and burst values for this operation. Selling partners whose business demands require higher throughput may observe higher rate and burst values than those shown here. For more information, refer to the [Usage Plans and Rate Limits in the Selling Partner API](doc:usage-plans-and-rate-limits-in-the-sp-api).", "operationId": "getCatalogItem", "consumes": [ "application/json" From 13264882b7ea6f276559e3b07dd913e2ff0917bb Mon Sep 17 00:00:00 2001 From: Marc Marschall <20718963+worksasintended@users.noreply.github.com> Date: Tue, 30 Jul 2024 17:00:27 +0200 Subject: [PATCH 098/340] change mvn package org.projectlombok.lombok from version 1.18.08 to 1.18.34 --- clients/sellingpartner-api-aa-java/pom.xml | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/clients/sellingpartner-api-aa-java/pom.xml b/clients/sellingpartner-api-aa-java/pom.xml index 9b51bf461..4a176fe35 100644 --- a/clients/sellingpartner-api-aa-java/pom.xml +++ b/clients/sellingpartner-api-aa-java/pom.xml @@ -53,9 +53,10 @@ org.projectlombok lombok - 1.18.8 + 1.18.34 provided + com.google.code.gson From 5fb6b943b6b1bace30bd7a0a1781abaf7ee2f895 Mon Sep 17 00:00:00 2001 From: Marc Marschall Date: Tue, 30 Jul 2024 17:10:04 +0200 Subject: [PATCH 099/340] Update pom.xml --- clients/sellingpartner-api-aa-java/pom.xml | 1 - 1 file changed, 1 deletion(-) diff --git a/clients/sellingpartner-api-aa-java/pom.xml b/clients/sellingpartner-api-aa-java/pom.xml index 4a176fe35..547cdf829 100644 --- a/clients/sellingpartner-api-aa-java/pom.xml +++ b/clients/sellingpartner-api-aa-java/pom.xml @@ -83,7 +83,6 @@ 5.3.2 test - org.junit.jupiter From ca509c86c6325f21735f76ba6b207d1b1083372f Mon Sep 17 00:00:00 2001 From: Marc Marschall Date: Tue, 30 Jul 2024 17:11:05 +0200 Subject: [PATCH 100/340] Update pom.xml --- clients/sellingpartner-api-aa-java/pom.xml | 1 - 1 file changed, 1 deletion(-) diff --git a/clients/sellingpartner-api-aa-java/pom.xml b/clients/sellingpartner-api-aa-java/pom.xml index 547cdf829..d50c901c3 100644 --- a/clients/sellingpartner-api-aa-java/pom.xml +++ b/clients/sellingpartner-api-aa-java/pom.xml @@ -56,7 +56,6 @@ 1.18.34 provided - com.google.code.gson From 4fa77c39c28a3d001fc6f928a988432065db02c8 Mon Sep 17 00:00:00 2001 From: ruby4406 Date: Tue, 20 Aug 2024 03:33:42 +0530 Subject: [PATCH 101/340] Merge remote-tracking branch 'origin/SPAPIDoc-2419-listingsitemsissueschange-schema' into pr/4068 --- .DS_Store | Bin 0 -> 8196 bytes clients/sellingpartner-api-aa-java/pom.xml | 2 +- .../fbaSmallandLight.json | 2271 +++++++++++++++++ 3 files changed, 2272 insertions(+), 1 deletion(-) create mode 100644 .DS_Store create mode 100644 models/fba-small-and-light-api-model/fbaSmallandLight.json diff --git a/.DS_Store b/.DS_Store new file mode 100644 index 0000000000000000000000000000000000000000..52e8b63df488a9c1c6351c4382e4a169552bc92e GIT binary patch literal 8196 zcmeHMU2GIp6u#fIlo>kEDJ)P&$}UtTLV=c_0s^}IL(6Z|ZD}dUc6Vol39~b0XLgHL zwCa;l;$JkzsEJQXR33~PMWYV}MIU@n{J|I>j2dJ7OEfRH)-0$4GXO=OBj-t`ZSOa5Bri)Xpmb!~HKF+TxO$sH|L_zwD+04t1d81j|%}$ve z38Dx@5r`rXMIeem6oLOj1nA7>O`hi57o$-hMIeg6Wf=j!KP2elG#SzfL4&P>x}XFg z%1eNt(LL1xfleZ%$&gM68mN*@Q9U43MOb1$sMC0YPbZoT>4cy{ok6HGgil6Tp&)oV z=_P{c3`s$wK8ipTfvFMT=~Kh<%w+~ME9&>t*-_i_{FataAyrk+sF^9xlxyXiQ-|HL zl%Mg7UPq>|pL6}LYiG;%ne1N697}7lPS^1>mSYwI1dU2|f?#Q zS2%W}(kt65b&9VNRqM-MeNpyGnN_RK*82zc4i2elZElHPf6u6IxsJEjEOT?-8SF|&}*>2k@>o${QbzZLE+IFw&S=`LNA>Taa^RX#I zL&Kh1@H+!zLl)T=v$UdT_L*eVDw$nm+KW{<2<6nAg^QM4y?ph$OqEt? zb+l;tw`xtYENm^-6N>hVe88aR?{W>UX#^wsV*M&v-p}Qo1(SLqR+s75Dq2SF_sCIU zqFG&~Xr9u4gce<>wyJAo%}@sHOxCo8s7>7{Yde&|l8Chs#?&pcGL&=kd3tG2$ZpWv zW$mndkUw~5#`E`#nojwZZqU1BdDuIgDVTf42y$hO9$5|+kK|mX+pv7M5O}>~v99mq zrrHg|G(xBKUcFD&J|Z2>a!M9~oR&{uU2aNl7mLu8Tpr$(7bS>gQ?f;uyJ;RJv>UwqF3Cz-t+ze}{g6_DMMspgllDB~mHT zu3Xfp#s?@J%wv@aT25STCQncK9G|^psT$X2P{IiInq|b+P_hViMRPo^NtC04ZE20G zS`}rW66mgPCKe&H={i-_swo%6*!7LXvXJTMBr`m-9Zm2v6WiJQX1PB%a3$ zcoDDSHN1|~cn4?j9?s%@e1MPfCBDTE_^krTyCx$UzgHr;lqxv3>l`9^8U2%0E?KTh zc-Fw{|L*C(|6j8HM~+1ih$2ASUUgThtAipj-TudG?F3yTbn(XLO$ZvOP#2WrM1yji m=!HKF={`YIxlS^q6M~Y2+Q0rGV7edF(fJ>p{{bQ|kM1wypjK4? literal 0 HcmV?d00001 diff --git a/clients/sellingpartner-api-aa-java/pom.xml b/clients/sellingpartner-api-aa-java/pom.xml index d50c901c3..1f6366119 100644 --- a/clients/sellingpartner-api-aa-java/pom.xml +++ b/clients/sellingpartner-api-aa-java/pom.xml @@ -118,7 +118,7 @@ com.google.guava guava - 30.1-jre + 32.0.0-jre diff --git a/models/fba-small-and-light-api-model/fbaSmallandLight.json b/models/fba-small-and-light-api-model/fbaSmallandLight.json new file mode 100644 index 000000000..b5e5aac98 --- /dev/null +++ b/models/fba-small-and-light-api-model/fbaSmallandLight.json @@ -0,0 +1,2271 @@ +{ + "swagger": "2.0", + "info": { + "description": "The Selling Partner API for FBA Small and Light lets you help sellers manage their listings in the Small and Light program. The program reduces the cost of fulfilling orders for small and lightweight FBA inventory. You can enroll or remove items from the program and check item eligibility and enrollment status. You can also preview the estimated program fees charged to a seller for items sold while enrolled in the program. \n\n**Note:** The FBA Small and Light program sunset in the US and EU regions on **September 26, 2023**. The program will be deprecated in the JP region on **March 31, 2024** and sunset on **April 1, 2024**. APIs announcing deprecation will no longer be supported after their deprecation date. Calls to deprecated APIs will fail beginning on their sunset date. For more information, refer to [FBA Small and Light program deprecation](https://developer-docs.amazon.com/sp-api/changelog/fba-small-and-light-program-deprecation).", + "version": "v1", + "title": "Selling Partner API for FBA Small And Light", + "contact": { + "name": "Selling Partner API Developer Support", + "url": "https://sellercentral.amazon.com/gp/mws/contactus.html" + }, + "license": { + "name": "Apache License 2.0", + "url": "http://www.apache.org/licenses/LICENSE-2.0" + } + }, + "host": "sellingpartnerapi-na.amazon.com", + "schemes": [ + "https" + ], + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "paths": { + "/fba/smallAndLight/v1/enrollments/{sellerSKU}": { + "get": { + "tags": [ + "smallAndLight" + ], + "description": "Returns the Small and Light enrollment status for the item indicated by the specified seller SKU in the specified marketplace.\n\n**Usage Plan:**\n\n| Rate (requests per second) | Burst |\n| ---- | ---- |\n| 2 | 10 |\n\nThe `x-amzn-RateLimit-Limit` response header returns the usage plan rate limits that were applied to the requested operation, when available. The table above indicates the default rate and burst values for this operation. Selling partners whose business demands require higher throughput may see higher rate and burst values than those shown here. For more information, see [Usage Plans and Rate Limits in the Selling Partner API](https://developer-docs.amazon.com/sp-api/docs/usage-plans-and-rate-limits-in-the-sp-api).", + "operationId": "getSmallAndLightEnrollmentBySellerSKU", + "deprecated": true, + "parameters": [ + { + "name": "sellerSKU", + "in": "path", + "description": "The seller SKU that identifies the item.", + "required": true, + "type": "string" + }, + { + "name": "marketplaceIds", + "in": "query", + "description": "The marketplace for which the enrollment status is retrieved. Note: Accepts a single marketplace only.", + "required": true, + "type": "array", + "items": { + "type": "string" + }, + "maxItems": 1 + } + ], + "responses": { + "200": { + "description": "Success.", + "schema": { + "$ref": "#/definitions/SmallAndLightEnrollment" + }, + "headers": { + "x-amzn-RateLimit-Limit": { + "type": "string", + "description": "Your rate limit (requests per second) for this operation." + }, + "x-amzn-RequestId": { + "type": "string", + "description": "Unique request reference identifier." + } + }, + "x-amzn-api-sandbox": { + "static": [ + { + "request": { + "parameters": { + "sellerSKU": { + "value": "SKU_ENROLLED_IN_SMALL_AND_LIGHT" + }, + "marketplaceIds": { + "value": [ + "ATVPDKIKX0DER" + ] + } + } + }, + "response": { + "marketplaceId": "ATVPDKIKX0DER", + "sellerSKU": "SKU_ENROLLED_IN_SMALL_AND_LIGHT", + "status": "ENROLLED" + } + } + ] + } + }, + "400": { + "description": "Request has missing or invalid parameters and cannot be parsed.", + "schema": { + "$ref": "#/definitions/ErrorList" + }, + "headers": { + "x-amzn-RateLimit-Limit": { + "type": "string", + "description": "Your rate limit (requests per second) for this operation." + }, + "x-amzn-RequestId": { + "type": "string", + "description": "Unique request reference identifier." + } + }, + "x-amzn-api-sandbox": { + "static": [ + { + "request": { + "parameters": { + "sellerSKU": { + "value": "SKU_400" + }, + "marketplaceIds": { + "value": [ + "ATVPDKIKX0DER" + ] + } + } + }, + "response": { + "errors": [ + { + "code": "InvalidInput", + "message": "Invalid input." + } + ] + } + } + ] + } + }, + "403": { + "description": "Indicates that access to the resource is forbidden. Possible reasons include Access Denied, Unauthorized, Expired Token, or Invalid Signature.", + "schema": { + "$ref": "#/definitions/ErrorList" + }, + "headers": { + "x-amzn-RequestId": { + "type": "string", + "description": "Unique request reference identifier." + } + }, + "x-amzn-api-sandbox": { + "static": [ + { + "request": { + "parameters": { + "sellerSKU": { + "value": "SKU_403" + }, + "marketplaceIds": { + "value": [ + "ATVPDKIKX0DER" + ] + } + } + }, + "response": { + "errors": [ + { + "code": "Unauthorized", + "message": "Access to requested resource is denied." + } + ] + } + } + ] + } + }, + "404": { + "description": "The resource specified does not exist.", + "schema": { + "$ref": "#/definitions/ErrorList" + }, + "headers": { + "x-amzn-RateLimit-Limit": { + "type": "string", + "description": "Your rate limit (requests per second) for this operation." + }, + "x-amzn-RequestId": { + "type": "string", + "description": "Unique request reference identifier." + } + }, + "x-amzn-api-sandbox": { + "static": [ + { + "request": { + "parameters": { + "sellerSKU": { + "value": "SKU_404" + }, + "marketplaceIds": { + "value": [ + "ATVPDKIKX0DER" + ] + } + } + }, + "response": { + "errors": [ + { + "code": "NotFound", + "message": "Requested resource is not found" + } + ] + } + } + ] + } + }, + "413": { + "description": "The request size exceeded the maximum accepted size.", + "schema": { + "$ref": "#/definitions/ErrorList" + }, + "headers": { + "x-amzn-RateLimit-Limit": { + "type": "string", + "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." + }, + "x-amzn-RequestId": { + "type": "string", + "description": "Unique request reference identifier." + } + }, + "x-amzn-api-sandbox": { + "static": [ + { + "request": { + "parameters": { + "sellerSKU": { + "value": "SKU_413" + }, + "marketplaceIds": { + "value": [ + "ATVPDKIKX0DER" + ] + } + } + }, + "response": { + "errors": [ + { + "code": "PayloadTooLarge", + "message": "Payload of the request is too large." + } + ] + } + } + ] + } + }, + "415": { + "description": "The request payload is in an unsupported format.", + "schema": { + "$ref": "#/definitions/ErrorList" + }, + "headers": { + "x-amzn-RateLimit-Limit": { + "type": "string", + "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." + }, + "x-amzn-RequestId": { + "type": "string", + "description": "Unique request reference identifier." + } + }, + "x-amzn-api-sandbox": { + "static": [ + { + "request": { + "parameters": { + "sellerSKU": { + "value": "SKU_415" + }, + "marketplaceIds": { + "value": [ + "ATVPDKIKX0DER" + ] + } + } + }, + "response": { + "errors": [ + { + "code": "UnsupportedType", + "message": "The entity of the request is of unsupported type." + } + ] + } + } + ] + } + }, + "429": { + "description": "The frequency of requests was greater than allowed.", + "schema": { + "$ref": "#/definitions/ErrorList" + }, + "headers": { + "x-amzn-RateLimit-Limit": { + "type": "string", + "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." + }, + "x-amzn-RequestId": { + "type": "string", + "description": "Unique request reference identifier." + } + }, + "x-amzn-api-sandbox": { + "static": [ + { + "request": { + "parameters": { + "sellerSKU": { + "value": "SKU_429" + }, + "marketplaceIds": { + "value": [ + "ATVPDKIKX0DER" + ] + } + } + }, + "response": { + "errors": [ + { + "code": "TooManyRequests", + "message": "Total number of requests exceed your allowed limits." + } + ] + } + } + ] + } + }, + "500": { + "description": "An unexpected condition occurred that prevented the server from fulfilling the request.", + "schema": { + "$ref": "#/definitions/ErrorList" + }, + "headers": { + "x-amzn-RateLimit-Limit": { + "type": "string", + "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." + }, + "x-amzn-RequestId": { + "type": "string", + "description": "Unique request reference identifier." + } + }, + "x-amzn-api-sandbox": { + "static": [ + { + "request": { + "parameters": { + "sellerSKU": { + "value": "SKU_500" + }, + "marketplaceIds": { + "value": [ + "ATVPDKIKX0DER" + ] + } + } + }, + "response": { + "errors": [ + { + "code": "InternalServerError", + "message": "Server encountered an unexpected condition while processing your request." + } + ] + } + } + ] + } + }, + "503": { + "description": "Temporary overloading or maintenance of the server.", + "schema": { + "$ref": "#/definitions/ErrorList" + }, + "headers": { + "x-amzn-RateLimit-Limit": { + "type": "string", + "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." + }, + "x-amzn-RequestId": { + "type": "string", + "description": "Unique request reference identifier." + } + }, + "x-amzn-api-sandbox": { + "static": [ + { + "request": { + "parameters": { + "sellerSKU": { + "value": "SKU_503" + }, + "marketplaceIds": { + "value": [ + "ATVPDKIKX0DER" + ] + } + } + }, + "response": { + "errors": [ + { + "code": "ServiceUnavailable", + "message": "Server is temporarily unavailable." + } + ] + } + } + ] + } + } + } + }, + "put": { + "tags": [ + "smallAndLight" + ], + "description": "Enrolls the item indicated by the specified seller SKU in the Small and Light program in the specified marketplace. If the item is not eligible, the ineligibility reasons are returned.\n\n**Usage Plan:**\n\n| Rate (requests per second) | Burst |\n| ---- | ---- |\n| 2 | 5 |\n\nThe `x-amzn-RateLimit-Limit` response header returns the usage plan rate limits that were applied to the requested operation, when available. The table above indicates the default rate and burst values for this operation. Selling partners whose business demands require higher throughput may see higher rate and burst values than those shown here. For more information, see [Usage Plans and Rate Limits in the Selling Partner API](https://developer-docs.amazon.com/sp-api/docs/usage-plans-and-rate-limits-in-the-sp-api).", + "operationId": "putSmallAndLightEnrollmentBySellerSKU", + "deprecated": true, + "parameters": [ + { + "name": "sellerSKU", + "in": "path", + "description": "The seller SKU that identifies the item.", + "required": true, + "type": "string" + }, + { + "name": "marketplaceIds", + "in": "query", + "description": "The marketplace in which to enroll the item. Note: Accepts a single marketplace only.", + "required": true, + "type": "array", + "items": { + "type": "string" + }, + "maxItems": 1 + } + ], + "responses": { + "200": { + "description": "Success.", + "schema": { + "$ref": "#/definitions/SmallAndLightEnrollment" + }, + "headers": { + "x-amzn-RateLimit-Limit": { + "type": "string", + "description": "Your rate limit (requests per second) for this operation." + }, + "x-amzn-RequestId": { + "type": "string", + "description": "Unique request reference identifier." + } + }, + "x-amzn-api-sandbox": { + "static": [ + { + "request": { + "parameters": { + "sellerSKU": { + "value": "SKU_ELIGIBLE_FOR_SMALL_AND_LIGHT" + }, + "marketplaceIds": { + "value": [ + "ATVPDKIKX0DER" + ] + } + } + }, + "response": { + "marketplaceId": "ATVPDKIKX0DER", + "sellerSKU": "SKU_ELIGIBLE_FOR_SMALL_AND_LIGHT", + "status": "ENROLLED" + } + } + ] + } + }, + "400": { + "description": "Request has missing or invalid parameters and cannot be parsed.", + "schema": { + "$ref": "#/definitions/ErrorList" + }, + "headers": { + "x-amzn-RateLimit-Limit": { + "type": "string", + "description": "Your rate limit (requests per second) for this operation." + }, + "x-amzn-RequestId": { + "type": "string", + "description": "Unique request reference identifier." + } + }, + "x-amzn-api-sandbox": { + "static": [ + { + "request": { + "parameters": { + "sellerSKU": { + "value": "SKU_400" + }, + "marketplaceIds": { + "value": [ + "ATVPDKIKX0DER" + ] + } + } + }, + "response": { + "errors": [ + { + "code": "InvalidInput", + "message": "Invalid input." + } + ] + } + } + ] + } + }, + "403": { + "description": "Indicates that access to the resource is forbidden. Possible reasons include Access Denied, Unauthorized, Expired Token, or Invalid Signature.", + "schema": { + "$ref": "#/definitions/ErrorList" + }, + "headers": { + "x-amzn-RequestId": { + "type": "string", + "description": "Unique request reference identifier." + } + }, + "x-amzn-api-sandbox": { + "static": [ + { + "request": { + "parameters": { + "sellerSKU": { + "value": "SKU_403" + }, + "marketplaceIds": { + "value": [ + "ATVPDKIKX0DER" + ] + } + } + }, + "response": { + "errors": [ + { + "code": "Unauthorized", + "message": "Access to requested resource is denied." + } + ] + } + } + ] + } + }, + "404": { + "description": "The resource specified does not exist.", + "schema": { + "$ref": "#/definitions/ErrorList" + }, + "headers": { + "x-amzn-RateLimit-Limit": { + "type": "string", + "description": "Your rate limit (requests per second) for this operation." + }, + "x-amzn-RequestId": { + "type": "string", + "description": "Unique request reference identifier." + } + }, + "x-amzn-api-sandbox": { + "static": [ + { + "request": { + "parameters": { + "sellerSKU": { + "value": "SKU_404" + }, + "marketplaceIds": { + "value": [ + "ATVPDKIKX0DER" + ] + } + } + }, + "response": { + "errors": [ + { + "code": "NotFound", + "message": "Requested resource is not found" + } + ] + } + } + ] + } + }, + "413": { + "description": "The request size exceeded the maximum accepted size.", + "schema": { + "$ref": "#/definitions/ErrorList" + }, + "headers": { + "x-amzn-RateLimit-Limit": { + "type": "string", + "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." + }, + "x-amzn-RequestId": { + "type": "string", + "description": "Unique request reference identifier." + } + }, + "x-amzn-api-sandbox": { + "static": [ + { + "request": { + "parameters": { + "sellerSKU": { + "value": "SKU_413" + }, + "marketplaceIds": { + "value": [ + "ATVPDKIKX0DER" + ] + } + } + }, + "response": { + "errors": [ + { + "code": "PayloadTooLarge", + "message": "Payload of the request is too large." + } + ] + } + } + ] + } + }, + "415": { + "description": "The request payload is in an unsupported format.", + "schema": { + "$ref": "#/definitions/ErrorList" + }, + "headers": { + "x-amzn-RateLimit-Limit": { + "type": "string", + "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." + }, + "x-amzn-RequestId": { + "type": "string", + "description": "Unique request reference identifier." + } + }, + "x-amzn-api-sandbox": { + "static": [ + { + "request": { + "parameters": { + "sellerSKU": { + "value": "SKU_415" + }, + "marketplaceIds": { + "value": [ + "ATVPDKIKX0DER" + ] + } + } + }, + "response": { + "errors": [ + { + "code": "UnsupportedType", + "message": "The entity of the request is of unsupported type." + } + ] + } + } + ] + } + }, + "429": { + "description": "The frequency of requests was greater than allowed.", + "schema": { + "$ref": "#/definitions/ErrorList" + }, + "headers": { + "x-amzn-RateLimit-Limit": { + "type": "string", + "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." + }, + "x-amzn-RequestId": { + "type": "string", + "description": "Unique request reference identifier." + } + }, + "x-amzn-api-sandbox": { + "static": [ + { + "request": { + "parameters": { + "sellerSKU": { + "value": "SKU_429" + }, + "marketplaceIds": { + "value": [ + "ATVPDKIKX0DER" + ] + } + } + }, + "response": { + "errors": [ + { + "code": "TooManyRequests", + "message": "Total number of requests exceed your allowed limits." + } + ] + } + } + ] + } + }, + "500": { + "description": "An unexpected condition occurred that prevented the server from fulfilling the request.", + "schema": { + "$ref": "#/definitions/ErrorList" + }, + "headers": { + "x-amzn-RateLimit-Limit": { + "type": "string", + "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." + }, + "x-amzn-RequestId": { + "type": "string", + "description": "Unique request reference identifier." + } + }, + "x-amzn-api-sandbox": { + "static": [ + { + "request": { + "parameters": { + "sellerSKU": { + "value": "SKU_500" + }, + "marketplaceIds": { + "value": [ + "ATVPDKIKX0DER" + ] + } + } + }, + "response": { + "errors": [ + { + "code": "InternalServerError", + "message": "Server encountered an unexpected condition while processing your request." + } + ] + } + } + ] + } + }, + "503": { + "description": "Temporary overloading or maintenance of the server.", + "schema": { + "$ref": "#/definitions/ErrorList" + }, + "headers": { + "x-amzn-RateLimit-Limit": { + "type": "string", + "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." + }, + "x-amzn-RequestId": { + "type": "string", + "description": "Unique request reference identifier." + } + }, + "x-amzn-api-sandbox": { + "static": [ + { + "request": { + "parameters": { + "sellerSKU": { + "value": "SKU_503" + }, + "marketplaceIds": { + "value": [ + "ATVPDKIKX0DER" + ] + } + } + }, + "response": { + "errors": [ + { + "code": "ServiceUnavailable", + "message": "Server is temporarily unavailable." + } + ] + } + } + ] + } + } + } + }, + "delete": { + "tags": [ + "smallAndLight" + ], + "description": "Removes the item indicated by the specified seller SKU from the Small and Light program in the specified marketplace. If the item is not eligible for disenrollment, the ineligibility reasons are returned.\n\n**Usage Plan:**\n\n| Rate (requests per second) | Burst |\n| ---- | ---- |\n| 2 | 5 |\n\nThe `x-amzn-RateLimit-Limit` response header returns the usage plan rate limits that were applied to the requested operation, when available. The table above indicates the default rate and burst values for this operation. Selling partners whose business demands require higher throughput may see higher rate and burst values than those shown here. For more information, see [Usage Plans and Rate Limits in the Selling Partner API](https://developer-docs.amazon.com/sp-api/docs/usage-plans-and-rate-limits-in-the-sp-api).", + "operationId": "deleteSmallAndLightEnrollmentBySellerSKU", + "deprecated": true, + "parameters": [ + { + "name": "sellerSKU", + "in": "path", + "description": "The seller SKU that identifies the item.", + "required": true, + "type": "string" + }, + { + "name": "marketplaceIds", + "in": "query", + "description": "The marketplace in which to remove the item from the Small and Light program. Note: Accepts a single marketplace only.", + "required": true, + "type": "array", + "items": { + "type": "string" + }, + "maxItems": 1 + } + ], + "responses": { + "204": { + "description": "Success.", + "headers": { + "x-amzn-RateLimit-Limit": { + "type": "string", + "description": "Your rate limit (requests per second) for this operation." + }, + "x-amzn-RequestId": { + "type": "string", + "description": "Unique request reference identifier." + } + }, + "x-amzn-api-sandbox": { + "static": [ + { + "request": { + "parameters": { + "sellerSKU": { + "value": "SKU_ENROLLED_FOR_SMALL_AND_LIGHT" + }, + "marketplaceIds": { + "value": [ + "ATVPDKIKX0DER" + ] + } + } + }, + "response": {} + } + ] + } + }, + "400": { + "description": "Request has missing or invalid parameters and cannot be parsed.", + "schema": { + "$ref": "#/definitions/ErrorList" + }, + "headers": { + "x-amzn-RateLimit-Limit": { + "type": "string", + "description": "Your rate limit (requests per second) for this operation." + }, + "x-amzn-RequestId": { + "type": "string", + "description": "Unique request reference identifier." + } + }, + "x-amzn-api-sandbox": { + "static": [ + { + "request": { + "parameters": { + "sellerSKU": { + "value": "SKU_400" + }, + "marketplaceIds": { + "value": [ + "ATVPDKIKX0DER" + ] + } + } + }, + "response": { + "errors": [ + { + "code": "InvalidInput", + "message": "Invalid input." + } + ] + } + } + ] + } + }, + "403": { + "description": "Indicates that access to the resource is forbidden. Possible reasons include Access Denied, Unauthorized, Expired Token, or Invalid Signature.", + "schema": { + "$ref": "#/definitions/ErrorList" + }, + "headers": { + "x-amzn-RequestId": { + "type": "string", + "description": "Unique request reference identifier." + } + }, + "x-amzn-api-sandbox": { + "static": [ + { + "request": { + "parameters": { + "sellerSKU": { + "value": "SKU_403" + }, + "marketplaceIds": { + "value": [ + "ATVPDKIKX0DER" + ] + } + } + }, + "response": { + "errors": [ + { + "code": "Unauthorized", + "message": "Access to requested resource is denied." + } + ] + } + } + ] + } + }, + "404": { + "description": "The resource specified does not exist.", + "schema": { + "$ref": "#/definitions/ErrorList" + }, + "headers": { + "x-amzn-RateLimit-Limit": { + "type": "string", + "description": "Your rate limit (requests per second) for this operation." + }, + "x-amzn-RequestId": { + "type": "string", + "description": "Unique request reference identifier." + } + }, + "x-amzn-api-sandbox": { + "static": [ + { + "request": { + "parameters": { + "sellerSKU": { + "value": "SKU_404" + }, + "marketplaceIds": { + "value": [ + "ATVPDKIKX0DER" + ] + } + } + }, + "response": { + "errors": [ + { + "code": "NotFound", + "message": "Requested resource is not found" + } + ] + } + } + ] + } + }, + "413": { + "description": "The request size exceeded the maximum accepted size.", + "schema": { + "$ref": "#/definitions/ErrorList" + }, + "headers": { + "x-amzn-RateLimit-Limit": { + "type": "string", + "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." + }, + "x-amzn-RequestId": { + "type": "string", + "description": "Unique request reference identifier." + } + }, + "x-amzn-api-sandbox": { + "static": [ + { + "request": { + "parameters": { + "sellerSKU": { + "value": "SKU_413" + }, + "marketplaceIds": { + "value": [ + "ATVPDKIKX0DER" + ] + } + } + }, + "response": { + "errors": [ + { + "code": "PayloadTooLarge", + "message": "Payload of the request is too large." + } + ] + } + } + ] + } + }, + "415": { + "description": "The request payload is in an unsupported format.", + "schema": { + "$ref": "#/definitions/ErrorList" + }, + "headers": { + "x-amzn-RateLimit-Limit": { + "type": "string", + "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." + }, + "x-amzn-RequestId": { + "type": "string", + "description": "Unique request reference identifier." + } + }, + "x-amzn-api-sandbox": { + "static": [ + { + "request": { + "parameters": { + "sellerSKU": { + "value": "SKU_415" + }, + "marketplaceIds": { + "value": [ + "ATVPDKIKX0DER" + ] + } + } + }, + "response": { + "errors": [ + { + "code": "UnsupportedType", + "message": "The entity of the request is of unsupported type." + } + ] + } + } + ] + } + }, + "429": { + "description": "The frequency of requests was greater than allowed.", + "schema": { + "$ref": "#/definitions/ErrorList" + }, + "headers": { + "x-amzn-RateLimit-Limit": { + "type": "string", + "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." + }, + "x-amzn-RequestId": { + "type": "string", + "description": "Unique request reference identifier." + } + }, + "x-amzn-api-sandbox": { + "static": [ + { + "request": { + "parameters": { + "sellerSKU": { + "value": "SKU_429" + }, + "marketplaceIds": { + "value": [ + "ATVPDKIKX0DER" + ] + } + } + }, + "response": { + "errors": [ + { + "code": "TooManyRequests", + "message": "Total number of requests exceed your allowed limits." + } + ] + } + } + ] + } + }, + "500": { + "description": "An unexpected condition occurred that prevented the server from fulfilling the request.", + "schema": { + "$ref": "#/definitions/ErrorList" + }, + "headers": { + "x-amzn-RateLimit-Limit": { + "type": "string", + "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." + }, + "x-amzn-RequestId": { + "type": "string", + "description": "Unique request reference identifier." + } + }, + "x-amzn-api-sandbox": { + "static": [ + { + "request": { + "parameters": { + "sellerSKU": { + "value": "SKU_500" + }, + "marketplaceIds": { + "value": [ + "ATVPDKIKX0DER" + ] + } + } + }, + "response": { + "errors": [ + { + "code": "InternalServerError", + "message": "Server encountered an unexpected condition while processing your request." + } + ] + } + } + ] + } + }, + "503": { + "description": "Temporary overloading or maintenance of the server.", + "schema": { + "$ref": "#/definitions/ErrorList" + }, + "headers": { + "x-amzn-RateLimit-Limit": { + "type": "string", + "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." + }, + "x-amzn-RequestId": { + "type": "string", + "description": "Unique request reference identifier." + } + }, + "x-amzn-api-sandbox": { + "static": [ + { + "request": { + "parameters": { + "sellerSKU": { + "value": "SKU_503" + }, + "marketplaceIds": { + "value": [ + "ATVPDKIKX0DER" + ] + } + } + }, + "response": { + "errors": [ + { + "code": "ServiceUnavailable", + "message": "Server is temporarily unavailable." + } + ] + } + } + ] + } + } + } + } + }, + "/fba/smallAndLight/v1/eligibilities/{sellerSKU}": { + "get": { + "tags": [ + "smallAndLight" + ], + "description": "Returns the Small and Light program eligibility status of the item indicated by the specified seller SKU in the specified marketplace. If the item is not eligible, the ineligibility reasons are returned. **Note:** The parameters associated with this operation may contain special characters that must be encoded to successfully call the API. To avoid errors with SKUs when encoding URLs, refer to [URL Encoding](https://developer-docs.amazon.com/sp-api/docs/url-encoding).\n\n**Usage Plan:**\n\n| Rate (requests per second) | Burst |\n| ---- | ---- |\n| 2 | 10 |\n\nThe `x-amzn-RateLimit-Limit` response header returns the usage plan rate limits that were applied to the requested operation, when available. The table above indicates the default rate and burst values for this operation. Selling partners whose business demands require higher throughput may see higher rate and burst values than those shown here. For more information, see [Usage Plans and Rate Limits in the Selling Partner API](https://developer-docs.amazon.com/sp-api/docs/usage-plans-and-rate-limits-in-the-sp-api).", + "operationId": "getSmallAndLightEligibilityBySellerSKU", + "deprecated": true, + "parameters": [ + { + "name": "sellerSKU", + "in": "path", + "description": "The seller SKU that identifies the item.", + "required": true, + "type": "string" + }, + { + "name": "marketplaceIds", + "in": "query", + "description": "The marketplace for which the eligibility status is retrieved. NOTE: Accepts a single marketplace only.", + "required": true, + "type": "array", + "items": { + "type": "string" + }, + "maxItems": 1 + } + ], + "responses": { + "200": { + "description": "Success.", + "schema": { + "$ref": "#/definitions/SmallAndLightEligibility" + }, + "headers": { + "x-amzn-RateLimit-Limit": { + "type": "string", + "description": "Your rate limit (requests per second) for this operation." + }, + "x-amzn-RequestId": { + "type": "string", + "description": "Unique request reference identifier." + } + }, + "x-amzn-api-sandbox": { + "static": [ + { + "request": { + "parameters": { + "sellerSKU": { + "value": "SKU_ELIGIBLE_FOR_SMALL_AND_LIGHT" + }, + "marketplaceIds": { + "value": [ + "ATVPDKIKX0DER" + ] + } + } + }, + "response": { + "marketplaceId": "ATVPDKIKX0DER", + "sellerSKU": "SKU_ELIGIBLE_FOR_SMALL_AND_LIGHT", + "status": "ELIGIBLE" + } + } + ] + } + }, + "400": { + "description": "Request has missing or invalid parameters and cannot be parsed.", + "schema": { + "$ref": "#/definitions/ErrorList" + }, + "headers": { + "x-amzn-RateLimit-Limit": { + "type": "string", + "description": "Your rate limit (requests per second) for this operation." + }, + "x-amzn-RequestId": { + "type": "string", + "description": "Unique request reference identifier." + } + }, + "x-amzn-api-sandbox": { + "static": [ + { + "request": { + "parameters": { + "sellerSKU": { + "value": "SKU_400" + }, + "marketplaceIds": { + "value": [ + "ATVPDKIKX0DER" + ] + } + } + }, + "response": { + "errors": [ + { + "code": "InvalidInput", + "message": "Invalid input." + } + ] + } + } + ] + } + }, + "403": { + "description": "Indicates that access to the resource is forbidden. Possible reasons include Access Denied, Unauthorized, Expired Token, or Invalid Signature.", + "schema": { + "$ref": "#/definitions/ErrorList" + }, + "headers": { + "x-amzn-RequestId": { + "type": "string", + "description": "Unique request reference identifier." + } + }, + "x-amzn-api-sandbox": { + "static": [ + { + "request": { + "parameters": { + "sellerSKU": { + "value": "SKU_403" + }, + "marketplaceIds": { + "value": [ + "ATVPDKIKX0DER" + ] + } + } + }, + "response": { + "errors": [ + { + "code": "Unauthorized", + "message": "Access to requested resource is denied." + } + ] + } + } + ] + } + }, + "404": { + "description": "The resource specified does not exist.", + "schema": { + "$ref": "#/definitions/ErrorList" + }, + "headers": { + "x-amzn-RateLimit-Limit": { + "type": "string", + "description": "Your rate limit (requests per second) for this operation." + }, + "x-amzn-RequestId": { + "type": "string", + "description": "Unique request reference identifier." + } + }, + "x-amzn-api-sandbox": { + "static": [ + { + "request": { + "parameters": { + "sellerSKU": { + "value": "SKU_404" + }, + "marketplaceIds": { + "value": [ + "ATVPDKIKX0DER" + ] + } + } + }, + "response": { + "errors": [ + { + "code": "NotFound", + "message": "Requested resource is not found" + } + ] + } + } + ] + } + }, + "413": { + "description": "The request size exceeded the maximum accepted size.", + "schema": { + "$ref": "#/definitions/ErrorList" + }, + "headers": { + "x-amzn-RateLimit-Limit": { + "type": "string", + "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." + }, + "x-amzn-RequestId": { + "type": "string", + "description": "Unique request reference identifier." + } + }, + "x-amzn-api-sandbox": { + "static": [ + { + "request": { + "parameters": { + "sellerSKU": { + "value": "SKU_413" + }, + "marketplaceIds": { + "value": [ + "ATVPDKIKX0DER" + ] + } + } + }, + "response": { + "errors": [ + { + "code": "PayloadTooLarge", + "message": "Payload of the request is too large." + } + ] + } + } + ] + } + }, + "415": { + "description": "The request payload is in an unsupported format.", + "schema": { + "$ref": "#/definitions/ErrorList" + }, + "headers": { + "x-amzn-RateLimit-Limit": { + "type": "string", + "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." + }, + "x-amzn-RequestId": { + "type": "string", + "description": "Unique request reference identifier." + } + }, + "x-amzn-api-sandbox": { + "static": [ + { + "request": { + "parameters": { + "sellerSKU": { + "value": "SKU_415" + }, + "marketplaceIds": { + "value": [ + "ATVPDKIKX0DER" + ] + } + } + }, + "response": { + "errors": [ + { + "code": "UnsupportedType", + "message": "The entity of the request is of unsupported type." + } + ] + } + } + ] + } + }, + "429": { + "description": "The frequency of requests was greater than allowed.", + "schema": { + "$ref": "#/definitions/ErrorList" + }, + "headers": { + "x-amzn-RateLimit-Limit": { + "type": "string", + "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." + }, + "x-amzn-RequestId": { + "type": "string", + "description": "Unique request reference identifier." + } + }, + "x-amzn-api-sandbox": { + "static": [ + { + "request": { + "parameters": { + "sellerSKU": { + "value": "SKU_429" + }, + "marketplaceIds": { + "value": [ + "ATVPDKIKX0DER" + ] + } + } + }, + "response": { + "errors": [ + { + "code": "TooManyRequests", + "message": "Total number of requests exceed your allowed limits." + } + ] + } + } + ] + } + }, + "500": { + "description": "An unexpected condition occurred that prevented the server from fulfilling the request.", + "schema": { + "$ref": "#/definitions/ErrorList" + }, + "headers": { + "x-amzn-RateLimit-Limit": { + "type": "string", + "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." + }, + "x-amzn-RequestId": { + "type": "string", + "description": "Unique request reference identifier." + } + }, + "x-amzn-api-sandbox": { + "static": [ + { + "request": { + "parameters": { + "sellerSKU": { + "value": "SKU_500" + }, + "marketplaceIds": { + "value": [ + "ATVPDKIKX0DER" + ] + } + } + }, + "response": { + "errors": [ + { + "code": "InternalServerError", + "message": "Server encountered an unexpected condition while processing your request." + } + ] + } + } + ] + } + }, + "503": { + "description": "Temporary overloading or maintenance of the server.", + "schema": { + "$ref": "#/definitions/ErrorList" + }, + "headers": { + "x-amzn-RateLimit-Limit": { + "type": "string", + "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." + }, + "x-amzn-RequestId": { + "type": "string", + "description": "Unique request reference identifier." + } + }, + "x-amzn-api-sandbox": { + "static": [ + { + "request": { + "parameters": { + "sellerSKU": { + "value": "SKU_503" + }, + "marketplaceIds": { + "value": [ + "ATVPDKIKX0DER" + ] + } + } + }, + "response": { + "errors": [ + { + "code": "ServiceUnavailable", + "message": "Server is temporarily unavailable." + } + ] + } + } + ] + } + } + } + } + }, + "/fba/smallAndLight/v1/feePreviews": { + "post": { + "tags": [ + "smallAndLight" + ], + "description": "Returns the Small and Light fee estimates for the specified items. You must include a marketplaceId parameter to retrieve the proper fee estimates for items to be sold in that marketplace. The ordering of items in the response will mirror the order of the items in the request. Duplicate ASIN/price combinations are removed.\n\n**Usage Plan:**\n\n| Rate (requests per second) | Burst |\n| ---- | ---- |\n| 1 | 3 |\n\nThe `x-amzn-RateLimit-Limit` response header returns the usage plan rate limits that were applied to the requested operation, when available. The table above indicates the default rate and burst values for this operation. Selling partners whose business demands require higher throughput may see higher rate and burst values than those shown here. For more information, see [Usage Plans and Rate Limits in the Selling Partner API](https://developer-docs.amazon.com/sp-api/docs/usage-plans-and-rate-limits-in-the-sp-api).", + "operationId": "getSmallAndLightFeePreview", + "deprecated": true, + "parameters": [ + { + "in": "body", + "name": "body", + "required": true, + "schema": { + "$ref": "#/definitions/SmallAndLightFeePreviewRequest" + } + } + ], + "responses": { + "200": { + "description": "Success.", + "schema": { + "$ref": "#/definitions/SmallAndLightFeePreviews" + }, + "headers": { + "x-amzn-RateLimit-Limit": { + "type": "string", + "description": "Your rate limit (requests per second) for this operation." + }, + "x-amzn-RequestId": { + "type": "string", + "description": "Unique request reference identifier." + } + }, + "x-amzn-api-sandbox": { + "static": [ + { + "request": { + "parameters": { + "body": { + "value": { + "marketplaceId": "ATVPDKIKX0DER", + "items": [ + { + "asin": "B076ZL9PB5", + "price": { + "currencyCode": "USD", + "amount": 6.5 + } + } + ] + } + } + } + }, + "response": { + "data": [ + { + "asin": "B076ZL9PB5", + "price": { + "amount": 6.5, + "currencyCode": "USD" + }, + "feeBreakdown": [ + { + "feeType": "FBAPerUnitFulfillmentFee", + "feeCharge": { + "amount": 0.75, + "currencyCode": "USD" + } + }, + { + "feeType": "FBAPerOrderFulfillmentFee", + "feeCharge": { + "amount": 1, + "currencyCode": "USD" + } + }, + { + "feeType": "FBAWeightBasedFee", + "feeCharge": { + "amount": 1.1, + "currencyCode": "USD" + } + }, + { + "feeType": "Commission", + "feeCharge": { + "amount": 0.98, + "currencyCode": "USD" + } + } + ], + "totalFees": { + "amount": 3.83, + "currencyCode": "USD" + }, + "errors": [] + } + ] + } + } + ] + } + }, + "400": { + "description": "Request has missing or invalid parameters and cannot be parsed.", + "schema": { + "$ref": "#/definitions/ErrorList" + }, + "headers": { + "x-amzn-RateLimit-Limit": { + "type": "string", + "description": "Your rate limit (requests per second) for this operation." + }, + "x-amzn-RequestId": { + "type": "string", + "description": "Unique request reference identifier." + } + }, + "x-amzn-api-sandbox": { + "static": [ + { + "request": { + "parameters": { + "body": { + "value": { + "marketplaceId": "TEST_CASE_400", + "items": [] + } + } + } + }, + "response": { + "errors": [ + { + "code": "InvalidInput", + "message": "Invalid input." + } + ] + } + } + ] + } + }, + "401": { + "description": "The request's Authorization header is not formatted correctly or does not contain a valid token.", + "schema": { + "$ref": "#/definitions/ErrorList" + }, + "headers": { + "x-amzn-RateLimit-Limit": { + "type": "string", + "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." + }, + "x-amzn-RequestId": { + "type": "string", + "description": "Unique request reference identifier." + } + }, + "x-amzn-api-sandbox": { + "static": [ + { + "request": { + "parameters": { + "body": { + "value": { + "marketplaceId": "TEST_CASE_401", + "items": [] + } + } + } + }, + "response": { + "errors": [ + { + "code": "Unauthorized", + "message": "Access to requested resource is denied." + } + ] + } + } + ] + } + }, + "403": { + "description": "Indicates that access to the resource is forbidden. Possible reasons include Access Denied, Unauthorized, Expired Token, or Invalid Signature.", + "schema": { + "$ref": "#/definitions/ErrorList" + }, + "headers": { + "x-amzn-RequestId": { + "type": "string", + "description": "Unique request reference identifier." + } + }, + "x-amzn-api-sandbox": { + "static": [ + { + "request": { + "parameters": { + "body": { + "value": { + "marketplaceId": "TEST_CASE_403", + "items": [] + } + } + } + }, + "response": { + "errors": [ + { + "code": "Unauthorized", + "message": "Access to requested resource is denied." + } + ] + } + } + ] + } + }, + "404": { + "description": "The resource specified does not exist.", + "schema": { + "$ref": "#/definitions/ErrorList" + }, + "headers": { + "x-amzn-RateLimit-Limit": { + "type": "string", + "description": "Your rate limit (requests per second) for this operation." + }, + "x-amzn-RequestId": { + "type": "string", + "description": "Unique request reference identifier." + } + }, + "x-amzn-api-sandbox": { + "static": [ + { + "request": { + "parameters": { + "body": { + "value": { + "marketplaceId": "TEST_CASE_404", + "items": [] + } + } + } + }, + "response": { + "errors": [ + { + "code": "NotFound", + "message": "The requested resource doesn't exist." + } + ] + } + } + ] + } + }, + "429": { + "description": "The frequency of requests was greater than allowed.", + "schema": { + "$ref": "#/definitions/ErrorList" + }, + "headers": { + "x-amzn-RateLimit-Limit": { + "type": "string", + "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." + }, + "x-amzn-RequestId": { + "type": "string", + "description": "Unique request reference identifier." + } + }, + "x-amzn-api-sandbox": { + "static": [ + { + "request": { + "parameters": { + "body": { + "value": { + "marketplaceId": "TEST_CASE_429", + "items": [] + } + } + } + }, + "response": { + "errors": [ + { + "code": "QuotaExceeded", + "message": "You exceeded your quota for the requested resource." + } + ] + } + } + ] + } + }, + "500": { + "description": "An unexpected condition occurred that prevented the server from fulfilling the request.", + "schema": { + "$ref": "#/definitions/ErrorList" + }, + "headers": { + "x-amzn-RateLimit-Limit": { + "type": "string", + "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." + }, + "x-amzn-RequestId": { + "type": "string", + "description": "Unique request reference identifier." + } + }, + "x-amzn-api-sandbox": { + "static": [ + { + "request": { + "parameters": { + "body": { + "value": { + "marketplaceId": "TEST_CASE_500", + "items": [] + } + } + } + }, + "response": { + "errors": [ + { + "code": "InternalFailure", + "message": "We encountered an internal error. Please try again." + } + ] + } + } + ] + } + }, + "503": { + "description": "Temporary overloading or maintenance of the server.", + "schema": { + "$ref": "#/definitions/ErrorList" + }, + "headers": { + "x-amzn-RateLimit-Limit": { + "type": "string", + "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." + }, + "x-amzn-RequestId": { + "type": "string", + "description": "Unique request reference identifier." + } + }, + "x-amzn-api-sandbox": { + "static": [ + { + "request": { + "parameters": { + "body": { + "value": { + "marketplaceId": "TEST_CASE_503", + "items": [] + } + } + } + }, + "response": { + "errors": [ + { + "code": "ServiceUnavailable", + "message": "Service is temporarily unavailable. Please try again." + } + ] + } + } + ] + } + } + } + } + } + }, + "definitions": { + "MarketplaceId": { + "type": "string", + "description": "A marketplace identifier." + }, + "SellerSKU": { + "type": "string", + "description": "Identifies an item in the given marketplace. SellerSKU is qualified by the seller's SellerId, which is included with every operation that you submit." + }, + "Error": { + "type": "object", + "required": [ + "code", + "message" + ], + "properties": { + "code": { + "type": "string", + "description": "An error code that identifies the type of error that occurred." + }, + "message": { + "type": "string", + "description": "A message that describes the error condition." + }, + "details": { + "type": "string", + "description": "Additional details that can help the caller understand or fix the issue." + } + }, + "description": "Error response returned when the request is unsuccessful." + }, + "ErrorList": { + "type": "object", + "properties": { + "errors": { + "type": "array", + "items": { + "$ref": "#/definitions/Error" + } + } + }, + "description": "A list of error responses returned when a request is unsuccessful." + }, + "SmallAndLightEnrollmentStatus": { + "type": "string", + "description": "The Small and Light enrollment status of the item.", + "enum": [ + "ENROLLED", + "NOT_ENROLLED" + ], + "x-docgen-enum-table-extension": [ + { + "value": "ENROLLED", + "description": "The Small and Light enrollment status is enrolled." + }, + { + "value": "NOT_ENROLLED", + "description": "The Small and Light enrollment status is not enrolled." + } + ] + }, + "SmallAndLightEligibilityStatus": { + "type": "string", + "description": "The Small and Light eligibility status of the item.", + "enum": [ + "ELIGIBLE", + "NOT_ELIGIBLE" + ], + "x-docgen-enum-table-extension": [ + { + "value": "ELIGIBLE", + "description": "The Small and Light eligibility status is eligible." + }, + { + "value": "NOT_ELIGIBLE", + "description": "The Small and Light eligibility status is not eligible." + } + ] + }, + "SmallAndLightEnrollment": { + "type": "object", + "required": [ + "marketplaceId", + "sellerSKU", + "status" + ], + "properties": { + "marketplaceId": { + "$ref": "#/definitions/MarketplaceId" + }, + "sellerSKU": { + "$ref": "#/definitions/SellerSKU" + }, + "status": { + "$ref": "#/definitions/SmallAndLightEnrollmentStatus" + } + }, + "description": "The Small and Light enrollment status of the item indicated by the specified seller SKU." + }, + "SmallAndLightEligibility": { + "type": "object", + "required": [ + "marketplaceId", + "sellerSKU", + "status" + ], + "properties": { + "marketplaceId": { + "$ref": "#/definitions/MarketplaceId" + }, + "sellerSKU": { + "$ref": "#/definitions/SellerSKU" + }, + "status": { + "$ref": "#/definitions/SmallAndLightEligibilityStatus" + } + }, + "description": "The Small and Light eligibility status of the item indicated by the specified seller SKU." + }, + "SmallAndLightFeePreviewRequest": { + "type": "object", + "required": [ + "items", + "marketplaceId" + ], + "properties": { + "marketplaceId": { + "$ref": "#/definitions/MarketplaceId" + }, + "items": { + "type": "array", + "description": "A list of items for which to retrieve fee estimates (limit: 25).", + "items": { + "$ref": "#/definitions/Item" + }, + "maxItems": 25 + } + }, + "description": "Request schema for submitting items for which to retrieve fee estimates." + }, + "SmallAndLightFeePreviews": { + "type": "object", + "properties": { + "data": { + "type": "array", + "description": "A list of fee estimates for the requested items. The order of the fee estimates will follow the same order as the items in the request, with duplicates removed.", + "items": { + "$ref": "#/definitions/FeePreview" + } + } + } + }, + "Item": { + "type": "object", + "required": [ + "asin", + "price" + ], + "properties": { + "asin": { + "type": "string", + "description": "The Amazon Standard Identification Number (ASIN) value used to identify the item." + }, + "price": { + "description": "The price that the seller plans to charge for the item.", + "$ref": "#/definitions/MoneyType" + } + }, + "description": "An item to be sold." + }, + "FeePreview": { + "type": "object", + "properties": { + "asin": { + "type": "string", + "description": "The Amazon Standard Identification Number (ASIN) value used to identify the item." + }, + "price": { + "description": "The price that the seller plans to charge for the item.", + "$ref": "#/definitions/MoneyType" + }, + "feeBreakdown": { + "type": "array", + "description": "A list of the Small and Light fees for the item.", + "items": { + "$ref": "#/definitions/FeeLineItem" + } + }, + "totalFees": { + "description": "The total fees charged if the item participated in the Small and Light program.", + "$ref": "#/definitions/MoneyType" + }, + "errors": { + "type": "array", + "description": "One or more unexpected errors occurred during the getSmallAndLightFeePreview operation.", + "items": { + "$ref": "#/definitions/Error" + } + } + }, + "description": "The fee estimate for a specific item." + }, + "FeeLineItem": { + "type": "object", + "required": [ + "feeCharge", + "feeType" + ], + "properties": { + "feeType": { + "type": "string", + "description": "The type of fee charged to the seller.", + "enum": [ + "FBAWeightBasedFee", + "FBAPerOrderFulfillmentFee", + "FBAPerUnitFulfillmentFee", + "Commission" + ], + "x-docgen-enum-table-extension": [ + { + "value": "FBAWeightBasedFee", + "description": "The FBA weight-based fee (weight handling)." + }, + { + "value": "FBAPerOrderFulfillmentFee", + "description": "The FBA per-order fulfillment fee (order handling)." + }, + { + "value": "FBAPerUnitFulfillmentFee", + "description": "The FBA fulfillment fee (Pick & Pack)." + }, + { + "value": "Commission", + "description": "The commission - referral fee." + } + ] + }, + "feeCharge": { + "description": "Amount charged to the seller for the specific fee type.", + "$ref": "#/definitions/MoneyType" + } + }, + "description": "Fee details for a specific fee." + }, + "MoneyType": { + "type": "object", + "properties": { + "currencyCode": { + "type": "string", + "description": "The currency code in ISO 4217 format." + }, + "amount": { + "type": "number", + "description": "The monetary value." + } + } + } + } +} \ No newline at end of file From 16c24047e6551c7c58b185414c14fcc5d460f603 Mon Sep 17 00:00:00 2001 From: Jack Evoniuk Date: Thu, 16 Nov 2023 16:53:21 -0800 Subject: [PATCH 102/340] Add the Sales and Traffic schema for Data Kiosk --- ...alytics_salesAndTraffic_2023_11_15.graphql | 423 +++++++++++------- 1 file changed, 271 insertions(+), 152 deletions(-) diff --git a/schemas/data-kiosk/analytics_salesAndTraffic_2023_11_15.graphql b/schemas/data-kiosk/analytics_salesAndTraffic_2023_11_15.graphql index bbc24f042..9ecb45e55 100644 --- a/schemas/data-kiosk/analytics_salesAndTraffic_2023_11_15.graphql +++ b/schemas/data-kiosk/analytics_salesAndTraffic_2023_11_15.graphql @@ -1,7 +1,3 @@ -schema { - query: Query -} - """ This directive specifies the retention duration of a query containing a particular field. When a query contains multiple fields with different @@ -9,36 +5,44 @@ retentions, the shortest (minimum) retention is applied to the query. The retention of a query's resulting documents always matches the retention of the query. """ directive @resultRetention( - "An ISO 8601 duration." - duration: String! - ) on FIELD_DEFINITION + """An ISO 8601 duration.""" + duration: String! +) on FIELD_DEFINITION -"Monetary amount with the corresponding currency code." +"""Monetary amount with the corresponding currency code.""" type Amount { - "The amount." + """The amount.""" amount: Float! - "Currency code of the amount in ISO 4217 format." + + """Currency code of the amount in ISO 4217 format.""" currencyCode: String! } -"A root type for Analytics Sales and Traffic queries version 2023_11_15." +""" +A root type for Analytics Sales and Traffic queries version 2023_11_15. +""" type Analytics_SalesAndTraffic_2023_11_15 { - "A query to retrieve sales and traffic data for the seller's account aggregated by ASIN." + """ + A query to retrieve sales and traffic data for the seller's account aggregated by ASIN. + """ salesAndTrafficByAsin( - "Determines how the sales and traffic data should be aggregated." - aggregateBy: AsinGranularity!, + """Determines how the sales and traffic data should be aggregated.""" + aggregateBy: AsinGranularity! + """ The end date of the sales and traffic data to retrieve. If a date granularity is specified and the provided end date occurs mid-week or mid-month, the preceding Saturday for WEEK date granularity or the last day of the previous month for MONTH date granularity will be used instead. """ - endDate: Date!, + endDate: Date! + """ The marketplace identifiers to retrieve sales and traffic data for. If omitted, sales and traffic data for all applicable marketplaces will be retrieved. """ - marketplaceIds: [String], + marketplaceIds: [String] + """ The start date of the sales and traffic data to retrieve. The start date must be no more than two years ago. If a date granularity is specified and @@ -47,23 +51,29 @@ type Analytics_SalesAndTraffic_2023_11_15 { granularity will be used instead. """ startDate: Date! - ): [SalesAndTrafficByAsin] @deprecated(reason : "No longer supported. Use salesAndTrafficByAsin from the analytics_salesAndTraffic_2024_04_24 schema instead.") - "A query to retrieve sales and traffic data for the seller's account aggregated by date." + ): [SalesAndTrafficByAsin] + + """ + A query to retrieve sales and traffic data for the seller's account aggregated by date. + """ salesAndTrafficByDate( - "Determines how the sales and traffic data should be aggregated." - aggregateBy: DateGranularity!, + """Determines how the sales and traffic data should be aggregated.""" + aggregateBy: DateGranularity! + """ The end date of the sales and traffic data to retrieve. If the provided end date occurs mid-week or mid-month, the preceding Saturday for WEEK date granularity or the last day of the previous month for MONTH date granularity will be used instead. """ - endDate: Date!, + endDate: Date! + """ The marketplace identifiers to retrieve sales and traffic data for. If omitted, sales and traffic data for all applicable marketplaces will be retrieved. """ - marketplaceIds: [String], + marketplaceIds: [String] + """ The start date of the sales and traffic data to retrieve. The start date must be no more than two years ago. If the provided start date occurs @@ -71,79 +81,93 @@ type Analytics_SalesAndTraffic_2023_11_15 { first day of the next month for MONTH date granularity will be used instead. """ startDate: Date! - ): [SalesAndTrafficByDate] @deprecated(reason : "No longer supported. Use salesAndTrafficByDate from the analytics_salesAndTraffic_2024_04_24 schema instead.") + ): [SalesAndTrafficByDate] } -"The sales data for the seller's account aggregated by ASIN." +"""The sales data for the seller's account aggregated by ASIN.""" type ByAsinSales { """ The amount of ordered product sales, calculated by multiplying the price of products and the number of units sold for the selected time period. """ - orderedProductSales: Amount! @resultRetention(duration : "P30D") + orderedProductSales: Amount! + """ The amount of ordered product sales to Amazon Business customers, calculated by multiplying the price of products and the number of units sold for the selected time period. Note: This field is only populated when the seller is a B2B seller. """ - orderedProductSalesB2B: Amount @resultRetention(duration : "P30D") - "The number of items that were ordered for the selected time period." - totalOrderItems: Long! @resultRetention(duration : "P30D") + orderedProductSalesB2B: Amount + + """The number of items that were ordered for the selected time period.""" + totalOrderItems: Long! + """ The number of items that were ordered by Amazon Business customers for the selected time period. Note: This field is only populated when the seller is a B2B seller. """ - totalOrderItemsB2B: Long @resultRetention(duration : "P30D") - "The number of units ordered." - unitsOrdered: Long! @resultRetention(duration : "P30D") + totalOrderItemsB2B: Long + + """The number of units ordered.""" + unitsOrdered: Long! + """ The number of units ordered by Amazon Business customers. Note: This field is only populated when the seller is a B2B seller. """ - unitsOrderedB2B: Long @resultRetention(duration : "P30D") + unitsOrderedB2B: Long } -"The traffic data for the seller's account aggregated by ASIN." +"""The traffic data for the seller's account aggregated by ASIN.""" type ByAsinTraffic { - "Browser page views are the number of times a user visited your Amazon.com browser pages for the selected time period." - browserPageViews: Long! @resultRetention(duration : "P30D") + """ + Browser page views are the number of times a user visited your Amazon.com browser pages for the selected time period. + """ + browserPageViews: Long! + """ Browser B2B page views are the number of times an Amazon Business customer visited your Amazon.com browser pages for the selected time period. Note: This field is only populated when the seller is a B2B seller. """ - browserPageViewsB2B: Long @resultRetention(duration : "P30D") + browserPageViewsB2B: Long + """ The percentage of browser page views that a particular SKU/ASIN receives relative to the total number of browser page views for all products. """ - browserPageViewsPercentage: Float! @resultRetention(duration : "P30D") + browserPageViewsPercentage: Float! + """ The percentage of browser views by Amazon Business customers that a particular SKU/ASIN receives relative to the total number of mobile page views by Amazon Business customers for all products. Note: This field is only populated when the seller is a B2B seller. """ - browserPageViewsPercentageB2B: Float @resultRetention(duration : "P30D") + browserPageViewsPercentageB2B: Float + """ The percentage of browser sessions that contain at least one page view for a particular SKU/ASIN relative to the total number of browser sessions for all products. """ - browserSessionPercentage: Float! @resultRetention(duration : "P30D") + browserSessionPercentage: Float! + """ The percentage of browser sessions that contain at least one page view by an Amazon Business customer for a particular SKU/ASIN relative to the total number of browser sessions by Amazon Business customers for all products. Note: This field is only populated when the seller is a B2B seller. """ - browserSessionPercentageB2B: Float @resultRetention(duration : "P30D") + browserSessionPercentageB2B: Float + """ Browser sessions are visits to your Amazon.com browser pages by a user. All browser activity within a 24-hour period is considered a browser session. For example, if a user visits your pages using a browser multiple times within a 24 hour period it is counted as a single browser session. """ - browserSessions: Long! @resultRetention(duration : "P30D") + browserSessions: Long! + """ Browser B2B sessions are visits to your Amazon.com browser pages by an Amazon Business customer. All activity within a 24-hour period is considered a @@ -151,60 +175,70 @@ type ByAsinTraffic { using browser multiple times within a 24 hour period it is counted as a single session. Note: This field is only populated when the seller is a B2B seller. """ - browserSessionsB2B: Long @resultRetention(duration : "P30D") + browserSessionsB2B: Long + """ The percentage of page views where the buy box (the add to shopping cart link) appeared on the page for customers to add your product to their cart. """ - buyBoxPercentage: Float! @resultRetention(duration : "P30D") + buyBoxPercentage: Float! + """ The percentage of page views by Amazon Business customers where the buy box (the add to shopping cart link) appeared on the page for customers to add your product to their cart. Note: This field is only populated when the seller is a B2B seller. """ - buyBoxPercentageB2B: Float @resultRetention(duration : "P30D") + buyBoxPercentageB2B: Float + """ Mobile app page views are the number of times a user visited your Amazon.com mobile app pages for the selected time period. """ - mobileAppPageViews: Long! @resultRetention(duration : "P30D") + mobileAppPageViews: Long! + """ Mobile app B2B page views are the number of times an Amazon Business customer visited your Amazon.com mobile app pages for the selected time period. Note: This field is only populated when the seller is a B2B seller. """ - mobileAppPageViewsB2B: Long @resultRetention(duration : "P30D") + mobileAppPageViewsB2B: Long + """ The percentage of mobile app page views that a particular SKU/ASIN receives relative to the total number of mobile app page views for all products. """ - mobileAppPageViewsPercentage: Float! @resultRetention(duration : "P30D") + mobileAppPageViewsPercentage: Float! + """ The percentage of mobile page views by Amazon Business customers that a particular SKU/ASIN receives relative to the total number of mobile page views by Amazon Business customers for all products. Note: This field is only populated when the seller is a B2B seller. """ - mobileAppPageViewsPercentageB2B: Float @resultRetention(duration : "P30D") + mobileAppPageViewsPercentageB2B: Float + """ The percentage of mobile app sessions that contain at least one page view for a particular SKU/ASIN relative to the total number of mobile app sessions for all products. """ - mobileAppSessionPercentage: Float! @resultRetention(duration : "P30D") + mobileAppSessionPercentage: Float! + """ The percentage of mobile app sessions that contain at least one page view by an Amazon Business customer for a particular SKU/ASIN relative to the total number of mobile app sessions by Amazon Business customers for all products. Note: This field is only populated when the seller is a B2B seller. """ - mobileAppSessionPercentageB2B: Float @resultRetention(duration : "P30D") + mobileAppSessionPercentageB2B: Float + """ Mobile app sessions are visits to your Amazon.com mobile app pages by a user. All mobile app activity within a 24-hour period is considered a mobile app session. For example, if a user visits your pages using a mobile app multiple times within a 24 hour period it is counted as a single mobile app session. """ - mobileAppSessions: Long! @resultRetention(duration : "P30D") + mobileAppSessions: Long! + """ Mobile app B2B sessions are visits to your Amazon.com mobile app pages by an Amazon Business customer. All activity within a 24-hour period is considered a @@ -212,49 +246,57 @@ type ByAsinTraffic { pages using mobile app multiple times within a 24 hour period it is counted as a single session. Note: This field is only populated when the seller is a B2B seller. """ - mobileAppSessionsB2B: Long @resultRetention(duration : "P30D") + mobileAppSessionsB2B: Long + """ Page views are the number of times a user visited your Amazon.com browser or mobile app pages for the selected time period. It is calculated as the sum of browserPageViews and mobileAppPageViews. """ - pageViews: Long! @resultRetention(duration : "P30D") + pageViews: Long! + """ B2B page views are the number of times an Amazon Business customer visited your Amazon.com pages using browser or mobile app for the selected time period. Note: This field is only populated when the seller is a B2B seller. """ - pageViewsB2B: Long @resultRetention(duration : "P30D") + pageViewsB2B: Long + """ The percentage of browser and mobile app page views that a particular SKU/ASIN receives relative to the total number of browser and mobile app page views for all products. """ - pageViewsPercentage: Float! @resultRetention(duration : "P30D") + pageViewsPercentage: Float! + """ The percentage of page views by Amazon Business customers that a particular SKU/ASIN receives relative to the total number of page views by Amazon Business customers for all products. Note: This field is only populated when the seller is a B2B seller. """ - pageViewsPercentageB2B: Float @resultRetention(duration : "P30D") + pageViewsPercentageB2B: Float + """ The percentage of sessions that contain at least one page view for a particular SKU/ASIN relative to the total number of sessions for all products. """ - sessionPercentage: Float! @resultRetention(duration : "P30D") + sessionPercentage: Float! + """ The percentage of sessions that contain at least one page view by an Amazon Business customer for a particular SKU/ASIN relative to the total number of sessions by Amazon Business customers for all products. Note: This field is only populated when the seller is a B2B seller. """ - sessionPercentageB2B: Float @resultRetention(duration : "P30D") + sessionPercentageB2B: Float + """ Sessions are visits to your Amazon.com browser or mobile app pages by a user. All browser and mobile app activity within a 24-hour period is considered a session. It is calculated as the sum of browserSessions and mobileAppSessions. """ - sessions: Long! @resultRetention(duration : "P30D") + sessions: Long! + """ B2B sessions are visits to your Amazon.com pages using browser or mobile app by an Amazon Business customer. All activity within a 24-hour period is @@ -263,138 +305,171 @@ type ByAsinTraffic { counted as a single session. Note: This field is only populated when the seller is a B2B seller. """ - sessionsB2B: Long @resultRetention(duration : "P30D") + sessionsB2B: Long + """ The percentage conversion metric indicating how many units were purchased relative to the number of people who viewed the products, calculated by dividing unitsOrdered by sessions. """ - unitSessionPercentage: Float! @resultRetention(duration : "P30D") + unitSessionPercentage: Float! + """ The percentage conversion metric indicating how many units were purchased by Amazon Business customers relative to the number of Amazon Business customers who viewed the products, calculated by dividing unitsOrderedB2B by sessions. Note: This field is only populated when the seller is a B2B seller. """ - unitSessionPercentageB2B: Float @resultRetention(duration : "P30D") + unitSessionPercentageB2B: Float } -"The sales data for the seller's account aggregated by date." +"""The sales data for the seller's account aggregated by date.""" type ByDateSales { """ The average ordered product sales, calculated by dividing orderedProductSales by totalOrderItems for the selected time period. """ - averageSalesPerOrderItem: Amount! @resultRetention(duration : "P30D") + averageSalesPerOrderItem: Amount! + """ The average ordered product sales to Amazon Business customers, calculated by dividing orderedProductSalesB2B by totalOrderItemsB2B for the selected time period. Note: This field is only populated when the seller is a B2B seller. """ - averageSalesPerOrderItemB2B: Amount @resultRetention(duration : "P30D") + averageSalesPerOrderItemB2B: Amount + """ The average price of the units sold in the selected time period, calculated by dividing the orderedProductSales by unitsOrdered for the selected time period. """ - averageSellingPrice: Amount! @resultRetention(duration : "P30D") + averageSellingPrice: Amount! + """ The average price of the units sold to Amazon Business customers, calculated by dividing the orderedProductSalesB2B by unitsOrderedB2B for the selected time period. Note: This field is only populated when the seller is a B2B seller. """ - averageSellingPriceB2B: Amount @resultRetention(duration : "P30D") - "The average number of units in each order item for the selected time period." - averageUnitsPerOrderItem: Float! @resultRetention(duration : "P30D") + averageSellingPriceB2B: Amount + + """ + The average number of units in each order item for the selected time period. + """ + averageUnitsPerOrderItem: Float! + """ The average number of units in each order item ordered by Amazon Business customers for the selected time period. Note: This field is only populated when the seller is a B2B seller. """ - averageUnitsPerOrderItemB2B: Float @resultRetention(duration : "P30D") - "Monetary amount of filed A-to-z guarantee claims." - claimsAmount: Amount! @resultRetention(duration : "P30D") - "The number of A-to-z guarantee claims granted." - claimsGranted: Long! @resultRetention(duration : "P30D") + averageUnitsPerOrderItemB2B: Float + + """Monetary amount of filed A-to-z guarantee claims.""" + claimsAmount: Amount! + + """The number of A-to-z guarantee claims granted.""" + claimsGranted: Long! + """ The amount of ordered product sales, calculated by multiplying the price of products and the number of units sold for the selected time period. """ - orderedProductSales: Amount! @resultRetention(duration : "P30D") + orderedProductSales: Amount! + """ The amount of ordered product sales to Amazon Business customers, calculated by multiplying the price of products and the number of units sold for the selected time period. """ - orderedProductSalesB2B: Amount @resultRetention(duration : "P30D") - "The number of orders shipped in the selected time period." - ordersShipped: Long! @resultRetention(duration : "P30D") + orderedProductSalesB2B: Amount + + """The number of orders shipped in the selected time period.""" + ordersShipped: Long! + """ The percentage conversion metric indicating how many orders were refunded by the seller, calculated by dividing unitsOrdered by unitsRefunded in the selected time period. """ - refundRate: Float! @resultRetention(duration : "P30D") - "The amount of ordered product sales shipped for the selected time period." - shippedProductSales: Amount! @resultRetention(duration : "P30D") + refundRate: Float! + + """ + The amount of ordered product sales shipped for the selected time period. + """ + shippedProductSales: Amount! + """ The number of items that were ordered for the selected time period. Example: For an order containing 2 copies of book A and 3 copies of book B, the number of orders is 1, the number of order items is 2 (book A and book B), and the number of units is 5 (2 + 3). """ - totalOrderItems: Long! @resultRetention(duration : "P30D") + totalOrderItems: Long! + """ The number of items that were ordered by Amazon Business customers for the selected time period. Example: For an order containing 2 copies of book A and 3 copies of book B, the number of orders is 1, the number of order items is 2 (book A and book B), and the number of units is 5 (2 + 3). """ - totalOrderItemsB2B: Long @resultRetention(duration : "P30D") + totalOrderItemsB2B: Long + """ The number of units ordered for the selected time period. Example: For an order containing 2 copies of book A and 3 copies of book B, the number of orders is 1, the number of order items is 2 (book A and book B), and the number of units is 5 (2 + 3). """ - unitsOrdered: Long! @resultRetention(duration : "P30D") + unitsOrdered: Long! + """ The number of units ordered by Amazon Business customers for the selected time period. Example: For an order containing 2 copies of book A and 3 copies of book B, the number of orders is 1, the number of order items is 2 (book A and book B), and the number of units is 5 (2 + 3). """ - unitsOrderedB2B: Long @resultRetention(duration : "P30D") - "The number of units refunded in the selected time period." - unitsRefunded: Long! @resultRetention(duration : "P30D") - "The number of units shipped in the selected time period." - unitsShipped: Long! @resultRetention(duration : "P30D") + unitsOrderedB2B: Long + + """The number of units refunded in the selected time period.""" + unitsRefunded: Long! + + """The number of units shipped in the selected time period.""" + unitsShipped: Long! } -"The traffic data for the seller's account aggregated by date." +"""The traffic data for the seller's account aggregated by date.""" type ByDateTraffic { """ The average number of offers listed for sale in the selected time period. It is calculated from the total number of offers and the total number of days in the selected time period. """ - averageOfferCount: Long! @resultRetention(duration : "P30D") - "The average number of parent items listed for sale in the selected time period." - averageParentItems: Long! @resultRetention(duration : "P30D") - "Browser page views are the number of times a user visited your Amazon.com browser pages for the selected time period." - browserPageViews: Long! @resultRetention(duration : "P30D") + averageOfferCount: Long! + + """ + The average number of parent items listed for sale in the selected time period. + """ + averageParentItems: Long! + + """ + Browser page views are the number of times a user visited your Amazon.com browser pages for the selected time period. + """ + browserPageViews: Long! + """ Browser B2B page views are the number of times an Amazon Business customer visited your Amazon.com browser pages for the selected time period. Note: This field is only populated when the seller is a B2B seller. """ - browserPageViewsB2B: Long @resultRetention(duration : "P30D") + browserPageViewsB2B: Long + """ Browser sessions are visits to your Amazon.com browser pages by a user. All browser activity within a 24-hour period is considered a browser session. For example, if a user visits your pages using a browser multiple times within a 24 hour period it is counted as a single browser session. """ - browserSessions: Long! @resultRetention(duration : "P30D") + browserSessions: Long! + """ Browser B2B sessions are visits to your Amazon.com browser pages by an Amazon Business customer. All activity within a 24-hour period is considered a @@ -402,38 +477,47 @@ type ByDateTraffic { using browser multiple times within a 24 hour period it is counted as a single session. Note: This field is only populated when the seller is a B2B seller. """ - browserSessionsB2B: Long @resultRetention(duration : "P30D") + browserSessionsB2B: Long + """ The percentage of page views where the buy box (the add to shopping cart link) appeared on the page for customers to add your product to their cart. """ - buyBoxPercentage: Float! @resultRetention(duration : "P30D") + buyBoxPercentage: Float! + """ The percentage of page views by Amazon Business customers where the buy box (the add to shopping cart link) appeared on the page for customers to add your product to their cart. Note: This field is only populated when the seller is a B2B seller. """ - buyBoxPercentageB2B: Float @resultRetention(duration : "P30D") - "The number of times customers left feedback in the selected time period." - feedbackReceived: Long! @resultRetention(duration : "P30D") + buyBoxPercentageB2B: Float + + """ + The number of times customers left feedback in the selected time period. + """ + feedbackReceived: Long! + """ Mobile app page views are the number of times a user visited your Amazon.com mobile app pages for the selected time period. """ - mobileAppPageViews: Long! @resultRetention(duration : "P30D") + mobileAppPageViews: Long! + """ Mobile app B2B page views are the number of times an Amazon Business customer visited your Amazon.com mobile app pages for the selected time period. Note: This field is only populated when the seller is a B2B seller. """ - mobileAppPageViewsB2B: Long @resultRetention(duration : "P30D") + mobileAppPageViewsB2B: Long + """ Mobile app sessions are visits to your Amazon.com mobile app pages by a user. All mobile app activity within a 24-hour period is considered a mobile app session. For example, if a user visits your pages using a mobile app multiple times within a 24 hour period it is counted as a single mobile app session. """ - mobileAppSessions: Long! @resultRetention(duration : "P30D") + mobileAppSessions: Long! + """ Mobile app B2B sessions are visits to your Amazon.com mobile app pages by an Amazon Business customer. All activity within a 24-hour period is considered a @@ -441,44 +525,54 @@ type ByDateTraffic { pages using mobile app multiple times within a 24 hour period it is counted as a single session. Note: This field is only populated when the seller is a B2B seller. """ - mobileAppSessionsB2B: Long @resultRetention(duration : "P30D") - "The number of times customers left negative feedback in the selected time period." - negativeFeedbackReceived: Long! @resultRetention(duration : "P30D") + mobileAppSessionsB2B: Long + + """ + The number of times customers left negative feedback in the selected time period. + """ + negativeFeedbackReceived: Long! + """ The percentage conversion metric indicating how many order items were generated relative to the number of people who viewed the products. """ - orderItemSessionPercentage: Float! @resultRetention(duration : "P30D") + orderItemSessionPercentage: Float! + """ The percentage conversion metric indicating how many order items were generated by Amazon Business customers relative to the number of Amazon Business customers who viewed the products. Note: This field is only populated when the seller is a B2B seller. """ - orderItemSessionPercentageB2B: Float @resultRetention(duration : "P30D") + orderItemSessionPercentageB2B: Float + """ Page views are the number of times a user visited your Amazon.com browser or mobile app pages for the selected time period. It is calculated as the sum of browserPageViews and mobileAppPageViews. """ - pageViews: Long! @resultRetention(duration : "P30D") + pageViews: Long! + """ B2B page views are the number of times an Amazon Business customer visited your Amazon.com pages using browser or mobile app for the selected time period. Note: This field is only populated when the seller is a B2B seller. """ - pageViewsB2B: Long @resultRetention(duration : "P30D") + pageViewsB2B: Long + """ The negative feedback rate is the number of orders that have received negative feedback divided by the number of orders in the selected time period. """ - receivedNegativeFeedbackRate: Float! @resultRetention(duration : "P30D") + receivedNegativeFeedbackRate: Float! + """ Sessions are visits to your Amazon.com browser or mobile app pages by a user. All browser and mobile app activity within a 24-hour period is considered a session. It is calculated as the sum of browserSessions and mobileAppSessions. """ - sessions: Long! @resultRetention(duration : "P30D") + sessions: Long! + """ B2B sessions are visits to your Amazon.com pages using browser or mobile app by an Amazon Business customer. All activity within a 24-hour period is @@ -487,27 +581,31 @@ type ByDateTraffic { counted as a single session. Note: This field is only populated when the seller is a B2B seller. """ - sessionsB2B: Long @resultRetention(duration : "P30D") + sessionsB2B: Long + """ The percentage conversion metric indicating how many units were purchased relative to the number of people who viewed the products. """ - unitSessionPercentage: Float! @resultRetention(duration : "P30D") + unitSessionPercentage: Float! + """ The percentage conversion metric indicating how many units were purchased by Amazon Business customers relative to number of Amazon Business customers who viewed the products. Note: This field is only populated when the seller is a B2B seller. """ - unitSessionPercentageB2B: Float @resultRetention(duration : "P30D") + unitSessionPercentageB2B: Float } -"A root type for queries" +"""A root type for queries""" type Query { - "Analytics Sales and Traffic queries version 2023_11_15." - analytics_salesAndTraffic_2023_11_15: Analytics_SalesAndTraffic_2023_11_15 @deprecated(reason : "No longer supported. Use analytics_salesAndTraffic_2024_04_24 instead.") + """Analytics Sales and Traffic queries version 2023_11_15.""" + analytics_salesAndTraffic_2023_11_15: Analytics_SalesAndTraffic_2023_11_15 } -"The sales and traffic data for the seller's account aggregated by ASIN." +""" +The sales and traffic data for the seller's account aggregated by ASIN. +""" type SalesAndTrafficByAsin { """ The Amazon Standard Identification Number of the child product. Child products @@ -515,66 +613,87 @@ type SalesAndTrafficByAsin { non-sellable parent product. Note: This field is only present when ASIN aggregation is CHILD or SKU. """ - childAsin: String @resultRetention(duration : "P30D") - "The end date of the period of the aggregated data." - endDate: Date! @resultRetention(duration : "P30D") - "The marketplace identifier of the sales and traffic data." - marketplaceId: String! @resultRetention(duration : "P30D") + childAsin: String + + """The end date of the period of the aggregated data.""" + endDate: Date! + + """The marketplace identifier of the sales and traffic data.""" + marketplaceId: String! + """ The Amazon Standard Identification Number of the parent product. A parent product appears in our catalog as a non-buyable, generic identifier for a product that has buyable variations (child products). """ - parentAsin: String! @resultRetention(duration : "P30D") - "The sales data for the parentAsin/childAsin/sku within the specified date range." + parentAsin: String! + + """ + The sales data for the parentAsin/childAsin/sku within the specified date range. + """ sales: ByAsinSales! + """ The Stock Keeping Unit of the product. The SKU is a seller specific product identifier. Note: This field is only present when ASIN aggregation is SKU. """ - sku: String @resultRetention(duration : "P30D") - "The start date of the period of the aggregated data." - startDate: Date! @resultRetention(duration : "P30D") - "The traffic data for the parentAsin/childAsin/sku within the specified date range." + sku: String + + """The start date of the period of the aggregated data.""" + startDate: Date! + + """ + The traffic data for the parentAsin/childAsin/sku within the specified date range. + """ traffic: ByAsinTraffic! } -"The sales and traffic data for the seller's account aggregated by date." +""" +The sales and traffic data for the seller's account aggregated by date. +""" type SalesAndTrafficByDate { - "The end date of the sales and traffic data." - endDate: Date! @resultRetention(duration : "P30D") - "The marketplace identifier of the sales and traffic data." - marketplaceId: String! @resultRetention(duration : "P30D") - "The sales data for the seller's account." + """The end date of the sales and traffic data.""" + endDate: Date! + + """The marketplace identifier of the sales and traffic data.""" + marketplaceId: String! + + """The sales data for the seller's account.""" sales: ByDateSales! - "The start date of the sales and traffic data." - startDate: Date! @resultRetention(duration : "P30D") - "The traffic data for the seller's account." + + """The start date of the sales and traffic data.""" + startDate: Date! + + """The traffic data for the seller's account.""" traffic: ByDateTraffic! } -"The ASIN granularity used in aggregation." +"""The ASIN granularity used in aggregation.""" enum AsinGranularity { - "Sales and traffic data is aggregated by child ASIN." + """Sales and traffic data is aggregated by child ASIN.""" CHILD - "Sales and traffic data is aggregated by parent ASIN." + + """Sales and traffic data is aggregated by parent ASIN.""" PARENT - "Sales and traffic data is aggregated by sku." + + """Sales and traffic data is aggregated by sku.""" SKU } -"The date granularity used in aggregation." +"""The date granularity used in aggregation.""" enum DateGranularity { - "Sales and traffic data is aggregated by day." + """Sales and traffic data is aggregated by day.""" DAY - "Sales and traffic data is aggregated by month." + + """Sales and traffic data is aggregated by month.""" MONTH - "Sales and traffic data is aggregated by week." + + """Sales and traffic data is aggregated by week.""" WEEK } -"An RFC-3339 compliant Full Date Scalar. Example: \"2023-11-15\"" +"""Date""" scalar Date -"A Scalar for the primitive long type." -scalar Long +"""Long""" +scalar Long \ No newline at end of file From 0fe543879e7333cd03360fc5f54e9172338607d9 Mon Sep 17 00:00:00 2001 From: Jack Evoniuk Date: Mon, 27 Nov 2023 12:27:02 -0800 Subject: [PATCH 103/340] Remove DS Store --- .DS_Store | Bin 8196 -> 0 bytes 1 file changed, 0 insertions(+), 0 deletions(-) delete mode 100644 .DS_Store diff --git a/.DS_Store b/.DS_Store deleted file mode 100644 index 52e8b63df488a9c1c6351c4382e4a169552bc92e..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 8196 zcmeHMU2GIp6u#fIlo>kEDJ)P&$}UtTLV=c_0s^}IL(6Z|ZD}dUc6Vol39~b0XLgHL zwCa;l;$JkzsEJQXR33~PMWYV}MIU@n{J|I>j2dJ7OEfRH)-0$4GXO=OBj-t`ZSOa5Bri)Xpmb!~HKF+TxO$sH|L_zwD+04t1d81j|%}$ve z38Dx@5r`rXMIeem6oLOj1nA7>O`hi57o$-hMIeg6Wf=j!KP2elG#SzfL4&P>x}XFg z%1eNt(LL1xfleZ%$&gM68mN*@Q9U43MOb1$sMC0YPbZoT>4cy{ok6HGgil6Tp&)oV z=_P{c3`s$wK8ipTfvFMT=~Kh<%w+~ME9&>t*-_i_{FataAyrk+sF^9xlxyXiQ-|HL zl%Mg7UPq>|pL6}LYiG;%ne1N697}7lPS^1>mSYwI1dU2|f?#Q zS2%W}(kt65b&9VNRqM-MeNpyGnN_RK*82zc4i2elZElHPf6u6IxsJEjEOT?-8SF|&}*>2k@>o${QbzZLE+IFw&S=`LNA>Taa^RX#I zL&Kh1@H+!zLl)T=v$UdT_L*eVDw$nm+KW{<2<6nAg^QM4y?ph$OqEt? zb+l;tw`xtYENm^-6N>hVe88aR?{W>UX#^wsV*M&v-p}Qo1(SLqR+s75Dq2SF_sCIU zqFG&~Xr9u4gce<>wyJAo%}@sHOxCo8s7>7{Yde&|l8Chs#?&pcGL&=kd3tG2$ZpWv zW$mndkUw~5#`E`#nojwZZqU1BdDuIgDVTf42y$hO9$5|+kK|mX+pv7M5O}>~v99mq zrrHg|G(xBKUcFD&J|Z2>a!M9~oR&{uU2aNl7mLu8Tpr$(7bS>gQ?f;uyJ;RJv>UwqF3Cz-t+ze}{g6_DMMspgllDB~mHT zu3Xfp#s?@J%wv@aT25STCQncK9G|^psT$X2P{IiInq|b+P_hViMRPo^NtC04ZE20G zS`}rW66mgPCKe&H={i-_swo%6*!7LXvXJTMBr`m-9Zm2v6WiJQX1PB%a3$ zcoDDSHN1|~cn4?j9?s%@e1MPfCBDTE_^krTyCx$UzgHr;lqxv3>l`9^8U2%0E?KTh zc-Fw{|L*C(|6j8HM~+1ih$2ASUUgThtAipj-TudG?F3yTbn(XLO$ZvOP#2WrM1yji m=!HKF={`YIxlS^q6M~Y2+Q0rGV7edF(fJ>p{{bQ|kM1wypjK4? From 14fc765a03f1d39503f5ee4f16a1273d926ef7c8 Mon Sep 17 00:00:00 2001 From: Gibran Waldron Date: Thu, 7 Dec 2023 08:19:06 -0800 Subject: [PATCH 104/340] Update shipmentStatusUpdates for vendorDirectFulfillmentShippingV1 model. --- .../vendorDirectFulfillmentShippingV1.json | 1336 +++++++++-------- 1 file changed, 740 insertions(+), 596 deletions(-) diff --git a/models/vendor-direct-fulfillment-shipping-api-model/vendorDirectFulfillmentShippingV1.json b/models/vendor-direct-fulfillment-shipping-api-model/vendorDirectFulfillmentShippingV1.json index d21fcea25..f2619ddee 100644 --- a/models/vendor-direct-fulfillment-shipping-api-model/vendorDirectFulfillmentShippingV1.json +++ b/models/vendor-direct-fulfillment-shipping-api-model/vendorDirectFulfillmentShippingV1.json @@ -29,13 +29,13 @@ "tags": [ "vendorShippingLabels" ], - "description": "Returns a list of shipping labels created during the time frame that you specify. You define that time frame using the `createdAfter` and `createdBefore` parameters. You must use both of these parameters. The date range to search must not be more than 7 days.\n\n**Usage Plan:**\n\n| Rate (requests per second) | Burst |\n| ---- | ---- |\n| 10 | 10 |\n\nThe `x-amzn-RateLimit-Limit` response header returns the usage plan rate limits that were applied to the requested operation, when available. The table above indicates the default rate and burst values for this operation. Selling partners whose business demands require higher throughput may see higher rate and burst values than those shown here. For more information, refer to [Usage Plans and Rate Limits in the Selling Partner API](https://developer-docs.amazon.com/sp-api/docs/usage-plans-and-rate-limits-in-the-sp-api).", + "description": "Returns a list of shipping labels created during the time frame that you specify. You define that time frame using the createdAfter and createdBefore parameters. You must use both of these parameters. The date range to search must not be more than 7 days.\n\n**Usage Plan:**\n\n| Rate (requests per second) | Burst |\n| ---- | ---- |\n| 10 | 10 |\n\nThe `x-amzn-RateLimit-Limit` response header returns the usage plan rate limits that were applied to the requested operation, when available. The table above indicates the default rate and burst values for this operation. Selling partners whose business demands require higher throughput may see higher rate and burst values than those shown here. For more information, see [Usage Plans and Rate Limits in the Selling Partner API](https://developer-docs.amazon.com/sp-api/docs/usage-plans-and-rate-limits-in-the-sp-api).", "operationId": "getShippingLabels", "parameters": [ { "name": "shipFromPartyId", "in": "query", - "description": "The vendor `warehouseId` for order fulfillment. If not specified, the result will contain orders for all warehouses.", + "description": "The vendor warehouseId for order fulfillment. If not specified, the result will contain orders for all warehouses.", "required": false, "type": "string" }, @@ -51,7 +51,7 @@ { "name": "createdAfter", "in": "query", - "description": "Shipping labels that became available after this date and time will be included in the result. Must be in ISO 8601 date/time format.", + "description": "Shipping labels that became available after this date and time will be included in the result. Must be in ISO-8601 date/time format.", "required": true, "type": "string", "format": "date-time" @@ -59,7 +59,7 @@ { "name": "createdBefore", "in": "query", - "description": "Shipping labels that became available before this date and time will be included in the result. Must be in ISO 8601 date/time format.", + "description": "Shipping labels that became available before this date and time will be included in the result. Must be in ISO-8601 date/time format.", "required": true, "type": "string", "format": "date-time" @@ -179,94 +179,94 @@ { "purchaseOrderNumber": "2JK3S9VC", "sellingParty": { - "partyId": "999US" - }, - "shipFromParty": { - "partyId": "ABCD" - }, - "labelFormat": "PNG", - "labelData": [ - { - "packageIdentifier": "PKG001", - "trackingNumber": "1Z6A34Y60369738804", - "shipMethod": "UPS_GR_RES", - "shipMethodName": "UPS Ground Residential", - "content": "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AAFiCBAAABAgAgQAAASIIUAAABAghgABAAABYggQAAAEiNE4QAzDMAzDMAzDMASIYRiGYRiGYRgCxDAMwzAMwzAMQ4AYhmEYhmEYhiFADMMwDMMwDMMw/jdAAAAAio50JkAAAAABAgAACBAAAAABAgAACBAAAAABAgAACBAAAECAAAAACBAAAECAAAAACBAAAECAAAAAAoRXbAT/MX77myfXs3IfRu/nymVXrn/0PjxZ3qjlyngcV5Yx+7JRj2nGfcjYxla2n8rHonKbjFqf2a+B3V43Ml6rK99rop7jGa+Hu173std/9uv86H1buQ8IEASIABEgAkSACBABIkAEiAARIAgQASJABIgAESACRIAIEAGCAEGACBABIkAEiAARIAJEgAgQAYIAESACRIAIEAEiQASIABEgCBAEiAARIAJEgAgQASJABAgCBAEiQASIABEgAkSACBABIkAECAJEgAgQASJABIgAESACRIAgQBAgAkSACBABIkAEiAARIAJEgCBABIgAESACRIAIEAEiQAQIAgQBIkAEiAARIAJEgAgQAYIAQYAIEAEiQASIABEgAkSACBABggARIAJEgAgQASJABIgAESAIEASIABEgAkSACBABIkAEiAARIAgQASJABIgAESACRIAIEAGCAEGACBABIkAEiAARIAJEgCBAECACRIAIEAEiQASIABEgAsTcU4DYCASIABEgAkSACBABIkAECAIEASJABIgAESACRIAIEAEiQAQIAkSACBABIkAEiAARIAJEgCBAECACRIAIEAEiQASIABEgCBAEiAARIAJEgAgQASJABIgAQYAgQASIABEgAkSACBABIkAQIAgQASJABIgAESACRIAIEAEiQBAgAkSACBABIkAEiAARIAIEAYIAESACRIAIEAEiQASIABEgAgQBIkAEiAARIAJEgAgQASJAECAIEAEiQASIABEgAkSACBAECAJEgAgQASJABIgAESACRIAIEASIABEgAkSACBABIkAEiABBgCBABIgAESACRIAIEAEiQASIAEGACBABIkAEiAARIAJEgAgQBAgCRIAIEAEiQASIABEgAgQBggARIAJEgAgQASJABIgAESACBAEiQASIABEgAkSACBABIkAQIAgQASJABIgAESACRIAIEAEiQBAgAkSACBABIkAEiAARIAIEAYIAESACRIAIEAEiQASIAEGAIEAEiAARIAJEgAgQASJABIgAQYAIEAEiQASIABEgAkSACBAECAJEgAgQASJABIgAESACRIAIEASIABEgAkSACBABIkAEiABBgCBABIgAESACRIAIEAEiQBAgCBABIkAEiAARIAJEgAgQAWLu6YGyEQgQASJABIgAESACRIAIEAQIAkSACBABIkAEiAARIAJEgAgQBIgAESACRIAIEAEiQASIAEGAIEAEiAARIAJEgAgQASJAECAIEAEiQGLfmKJGxwCJmCQLEAEiQASIAEGAIEAEiAARIOEB8uftVU4wKh+fXQGyazs85b5FvdfsWp7M18PO21rE66MAQYAgQATINQHS6Y1WgAgQAbI2ORUgAkSAIEAQIAKkdYCcMgnM3oajJlQCRIB0CxEBIkAECAIEASJAWgTIaZPAjgHy7ZsTASJAOk9WBYgAESACBAEiQARIWYCcOAkUIAJk17cIp09a3xQgt0SIAEGAIEAEyFUBEvmGGHX9JwdI1k7E3SaZpwZI1YRtdRvInLjueoyinrMZl41+3YvefgQIAgQBIkCuCZCqiYQAESCd13/HAIlcXxHvNTcGyOprkwARIAIEASJABEjhRFSACBAB0mcbqDhPjQARIAJEgCBABIgAESACRIC8LECibluACBABggBBgAgQASJABIgAKYsQASJABAgCBAEiQASIABEgAkSACBABggBBgAgQASJA7g6QlXUhQPYFSMXzWoAIEAEiQBAgAkSACBABIkAEiAARIAIEAYIAESACRIAIEAEiQASIABEgAgQBIkAEiAARIMtHRRIgAkSACBABIkAQIAJEgAgQAfLaAMma/AsQASJABIgAQYAIEAEiQASIABEgAuRVAVL5+iBAECAIEAEiQBoHSOQ67BogqxEiQASIABEgAkSAIEAEiAA5LkAyJt4C5J4AyZz8CxABIkAEiABBgAgQASJABIgAESACRIAIEAQIAkSACJB3BUj0OrwtQEYmpwJEgAgQAYIAQYAIEAEiQATIEQGSPfkXIAKkKkC6vD4IEAQIAkSACJCGAZKxDgWIABEgAkSAIEAQIAJEgAgQAfJv/qGJBYgAESACBAGCABEgAiR8MiFA5n7WJUAEiAC5P0A6fUAhQBAgCBABcmSARLwxCRABIkAEiAARIAgQBIgAESAh+wIIEAEiQASIABEgCBAEiAARIKVBIkDGY02ACBABIkAECAIEASJArgyQ7EmnABEgAkSACBABggBBgAgQAVIWICuHaRUgewMka5kFyP4AmX2vESBrAdLtKHkCBAGCABEg2wKkKkI6BUj1pHdl2QWIABEgvQJk9wE9BAgCBAEiQK4IkC5vwgKkV4BEL7cAiQuQyAMgCBABIkDMPQWIjUCACJAtAdLhjbgiQHZMegWIAIkMkKplFyACRIAIEASIABEgZW9MAkSACJCeAVK57AJEgAgQAYIAESACpPSNSYAIkOhlFyBrz+XI7UuACBABggBBgAiQdgGy4805O0B2TXoFiACJeh2I2rYESMy2mPm+KUAQIAgQASJANkaIABEgNwXIbz9xy17nAsR5QAQIAgQBIkAEiAA5IkAyJp9vD5Dd25MAESACBAGCABEgAmTx9+rf1s/pE0YBIkCqtyUBIkAEiABBgAgQAdLqjSl7EiZA7g2Q6nh5S4Bkv9cIEAEiQAQIAkSACJDtAZI5GRMgvQIkYh0KkB7xIUD2Bci32xMgCBAEiAARIIOXzZpUrU5musdH5O/2Bci9AZL1Oi9ABIgAMfcUIDYCASJAjg2Q6ImZALkvQHbsP3LbmdAFiAARIAgQBIgAESCNA6Ryp+mI+9A5QCIm3gJEgAgQAYIAQYAIEAHSNkC+TXwEiAARIALktACJfK8XIAgQBIgAESAJkxYBck+A7DqErwARIAJEgCBAECACRIAIkKTnjgARIAJEgAgQBAgCRIC0DZDsT92jJmsCRIAIEAGSFQgCRICYewoQG4EAESACRIAIEAEiQASIAEGAIEAEyM0BkjXpjZiwvTFARg+DK0AEiAC5O0BGzwsjQBAgCBABIkAEiAARIAJEgAgQBAgCRIAIkLcGSFZQRE/UBYgAESACRIAgQBAgAkSAFAZI1mMhQASIABEgAkSAIEAQIAJEgAgQASJABIgAESAIEASIABEgZwXI6nV2CpDu26QAESACRIAIEAGCABEgAqRlgFROFAVI7TYpQASIABEgAkSAIEAEiABJe+M+PUCyg0KACBABIkAEiAARIAgQASJANgdI5b4Pu4MiI0Ay94WJ2iYFiAARILEBUrGPmABBgCBABMiVAVJ9/gsBIkAEiAARIAIEAYIAESACpEWARD5e1QGSeUJGASJABIgAESDmngLERiBABMi2AKlaD523GQGSf5SzrG3ylAD5baIpQASIAEGAIEAEyGsDJPLNLztAon/O1DVAor41eroubw2QlZ+0ZWzvpwRI5ra6M0Aynm+r67/qPEECBAGCABEgxwXIrslJ53NPnLa+d03kuq+jDtvfrQFySpCfuJwCBAGCABEgAkSACJBD19GbA+RNE3MBIkAQIAgQASJABIgAMYEVIAJEgCBAECACRIAIEAEiQASIABEgAkSAIEAEiAA5KECythkBclaAnDIpFCACRIAIEAGCABEgAiQpQLLfqCu3mextOGObzHocd2+TGQGS8RrY7XUj47W68r2m8ihY2e+J2Y9jh9cHAYIAQYAIkBYBkvlGLEAEiAARIAJEgCBAECACRIAIEAEiQASIABEgAsTc0wNlIxAgAkSACBABIkAEiAARIAgQBIgAESACRIAIEAEiQASIABEgCBABIkAEiAARIAJEgAgQAYIAQYAIEAEiQASIABEgAkSAIEAQIAJEgAgQASJABIgAESACBAGCABEgAkSACBABIkAEiABBgCBABIgAESACRIAIEAEiQASIAEGACBABIkAEiAARIAJEgAgQBAgCRIAIEAEiQASIABEgAkSACBAEiAARIAJEgAgQASJABIgAQYAgQASIABEgAkSACBABIkAQIAgQASJABIgAESACRIAIEAEiQBAgAkSACBABIkAEiAARIAIEAYIAESACRIAIEAEiQASIABEgAgQBIkAEiAARIAJEgAgQASJAECAIEAEiQASIABEgAkSACBAECAJEgAgQASJABIgAESACRIAIEASIABEgAkSACBABIkAEiABBgCBABIgAESACRIAIEAEiQASIAEGACBABIkAEiAARIAJEgAgQBAgCRIAIEAEiQASIABEgAgQBggARIAJEgAgQASJABIgAESACBAEiQASIABEgAkSACBABIkAQIAgQASJABIgAESACRIAIEAEiQBAgAkSACBABIkAEiAARIAIEAYIAESACRIAIEAEiQASIAEGAIEAEiAARIAJEgAgQASJABIgAQYAIEAEiQASIABEgAkSACBAECAJEgAgQASJABIgAESACRIAIEASIABEgAkSACBABIkAEiABBgCBABIgAESACRIAIEAEiQBAgCBABIkAEiAARIAJEgAgQAWLuKUAQIAJEgAgQASJABIgAESAIEASIABEgAkSACBABIkAEiAARIAgQASJABIgAESACRIAIEAGCAEGACBABIkAEiAARIAJEgJjXChAEiAARIAJEgAgQASJABIgAQYAgQASIABEgAkSACBABIkAQIAgQASJABIgAESACRIAIEAEiQBAgAkSACBABIkAEiAARIAIEAYIAESACRIAIEAEiQASIABEgAgQBIkAEiAARIAJEgAgQASJAECAIEAEiQASIABEgAkSACBAECAJEgAgQASJABIgAESACRIAIEASIABEgAkSACBABIkAEiABBgCBABIgAESACRIAIEAEiQASIAEGACBABIkAEiAARIAJEgAgQBAgCRIAIEAEiQASIABEgAgQBggARIAJEgAgQASJABIgAESACBAEiQASIABEgAkSACBABIkAQIAgQASJABIgAESACRIAIEAEiQBAgAkSACBABIkAEiAARIAIEAYIAESACRIAIEAEiQASIAEGAIEAEiAARIAJEgAgQASJABIgAQYAIEAEiQASIABEgAkSACBAECAJEgAgQASJABIgAESACRIAIEASIABEgAkSACBABIkAEiABBgCBABIgAESACRIAIEAEiQBAgCBABIkAEiAARIAJEgAgQAWLuKUBsBAJEgAgQASJABIgAESACBAGCABEgAkSACBABIkAEiAARIAIEASJABIgAESACRIAIEAEiQBAgCBABIkAEiAARIAJEgAgQBAgCRIAIEAEiQASIABEgAkSAIEAQIAJEgAgQASJABIgAESAIEASIABEgAkSACBABIkAEiAARIAgQASJABIgAESACRIAIEAGCAEGACBABIkAEiAARIAJEgAgQAYIAESACRIAIEAEiQASIABEgCBAEiAARIAJEgAgQASJABAgCBAEiQASIABEgAkSACBABIkAECAJEgAgQASJABIgAESACRIAgQBAgAkSACBABIkAEiAARIAJEgCBABIgAESACRIAIEAEiQAQIAgQBIkAEiAARIAJEgAgQAYIAQYAIEAEiQASIABEgAkSACBABggARIAJEgAgQASJABIgAESAIEASIABEgAkSACBABIkAEiAARIAgQASJABIgAESACRIAIEAGCAEGACBABIkAEiAARIAJEgCBAECACRIAIEAEiQASIABEgAkSAIEAEiAARIAJEgAgQASJABAgCBAEiQASIABEgAkSACBABIkAECAJEgAgQASJABIgAESACRIAgQBAgAkSACBABIkAEiAARIAgQAABAgAgQAABAgAAAAAIEAABAgAAAAAIEAABAgAAAAAIEAAAQIAAAAAIEAAAQIAAAAAIEAAAQIAAAwDsCxDAMwzAMwzAMo2hYCYZhGIZhGIZhCBDDMAzDMAzDMASIYRiGYRiGYRiGADEMwzAMwzAMQ4AYhmEYhmEYhmEIEMMwDMMwDMMwBIhhGIZhGIZhGALEMAzDMAzDMAxDgBiGYRiGYRiGIUAMwzAMwzAMwzAEiGEYhmEYhmEYAsQwDMMwDMMwDAFiGIZhGIZhGIYhQAzDMAzDMAzDODNAAAAAsgkQAABAgAAAAAIEAABAgAAAAAIEAABAgAAAAAIEAAAQIP9xgV/H08s8+bfR61q97azbe3K5rHX/7boyrhsAAMIC5KfJ67f/vnq51b9/cttPw2Lm3yMn8avL8effZ103AACUBMjsv3UJkKzAqAiQiJiKuG4AABAgD287675XBcjI/dkdUgAACBABUnDfs5f9lG9yAAAQIK8PkNH7GDEhrwyQzHgBAIDyADl5J/S//9uJAfLkiF5Z1w0AAOkBMnrI1pMCZPa/FT1gU/GxunO6+AAAYGuARP1btwD56b/PBEjGOTVmz9Xx5HadBwQAgOMCJGKyf0uArNzfimXPvJ8AACBAJs99sXrfOwRI1nUDAMB1AfL0SFWf/n31tk8NkOywAwAAAVIYICvrYzYosr7RECAAABwXIBk7oe8MkL8jpGqdRAVIZFgCAEB5gHw7BO+3w7j+FhNPrzfi73+77YjJedShiZ9ed1RMOPIVAAAtA4RzHlgAABAgVD2oVgQAAAIEAAAQINYEAAAgQAAAAAECAAAgQAAAAAECAAAgQAAAAAECAAAIEAAAAAECAAAIEAAAAAECAAAIEAAAQIAAAAAIEAAAQIAAAAAIEAAAQIAAAAACBAAAQIAAAAACBAAAQIAAAAACBAAAECAAAAACBAAAECAAAAACBAAAECAAAIAAAQAAECAAAIAAAQAAECAAAIAAAQAABIgAAQAABAgAACBAAAAABAgAACBAAAAABAgAACBAAAAAAQIAACBAAAAAAQIAACBAAAAAAQIAAAgQAAAAAQIAAAgQAAAAAQIAAAgQAABAgAAAAAgQAABAgAAAAAgQAABAgAAAAAIEAABAgAAAAAIEAABAgAAAAAIEAAAQIAIEAAAQIAAAgAABAAAQIAAAgAABAAAQIAAAgAABAAAECAAAgAABAAAECAAAgAABAAAECAAAIEAAAAAECAAAIEAAAAAECAAAIEAAAAABAgAAIEAAAAABAgAAIEAAAAABAgAACBAAAAABAgAA/Fd7d6CiOBIEYPj9n3oODhaGZTXVVdWdTuf7IHA7p44xcaxfowoQAAAAAQIAAAgQAABAgLglAAAAAQIAAAgQAAAAAQIAAAgQAAAAAQIAAAgQAABAgAAAAAgQAABAgAAAAAgQAABAgHy9kj9CCdbdt9zvAIAtAuT3UPKvZcZw9PvfxLZLdNutul4z13Vkna7Oe3UZKwfyzLaqnOeO9d11vwUANgqQb0NJ94Bg0MgPc6ujYPXAWBmaI/9/lwG4ElcrbsuT9lsA4IEB0hkhho15w+odz+KvvtzsUL3TbffGANnptgcAHhIgXYOCYaN2m909VN4dIN9O88QA+fPfV6fNXMddAmSn/RYAOCxARo77jlyPkcuJHD4WuazRZ5tHn+XNDFtdg1zn4Uajt8+Ky62s12j4fLstR5/1H903o9s3s6/cvY4ALx7aLC9bBEgxQKLD4NUGGBkqPw1K1esUvT06fmd2u4y+AhC9rqcGSMf7EKLDePQ2HhnORy+vevoZ61jdPgACxCJAXhYgkWdTu4aizLA0+zpVo6s6mEcvNxsmAmT9oV+RT4LrCs+Odem8jwgQAAFiESCXd4Ds4NY1JHZFQ/czxVfh03XYSeWVlVnvfbjzPSCRKO3cj1cFyNW2m30/WBUgnYfOAQgQiwA5JEA+3Smyd5qRYaV6ObMuqzIkV3e+ziH2DQHSGRd3B8jKEF8RINF1B3hzgFhf6/36ALmKkK5DbO78hJ/ZATJrKBcg5wTI3z/rePVAgAAYTJ+wvm95DBAgjUO9ALkvQLJD69sCpOv3rg6Q6jrvGiCR/RZAgJwbEpnznRAtAkSAHBMgVzv0iQFy15vqBUjv34a3vgQP8PS/h9VDzEdOf9J7KQRIcdCtDH4z35i98jqtjJDqIDfj07Hu+hSszsMBdwuQzPplbw8BAmAwnRUfmfcPz/g9tvNLAqTrmPXOT3eadRz9t8vPXo+O4Xj24HpngHR8yeVTAqS6L3Z8EeGKSBcgAGcHSDQuqr/jia8cCZCfn1S1duxQmetSfekusjNkr2v19q3srF3POGc/YawaBZU/Lp3HoXbsJ5Ev3Kx8gWdk21av86x17AxHAAGyd3yMPq6d/NG2AgQAAINpMUBGQ+Xb5VRfRREgAgQAgBcGyNXpR+Kj8/rYzgIEAICf5x+ClTnPjE/SEiACBACAwwbTru/wqL6Xw5vQBQgAAC8NkI7v8uh4RcV2FiAAABw4mM6OkMz5bWcBAgDAwYNp1/d/zDiP7SxAAAA4cDCtfmdHx2I7CxAAAF42mAoPASJAAAAM8JbNFwECAIAAsQgQAQIAIEAsAkSAAAAgQCwCRIAAAAgQiwARIAAAhAJEUJ05qAsQAAAMpgvj49tpIuFiOwsQAAAMpkPx8S1ARi/HdhYgAAC8cDAdfeUiexpfRChAAAB4+WCaiYTqaQWIAAEA4GWDaeUVio7TnxBrAgQAAINpMT6y51/xe21nAQIAwIMG0673ZXSf96nhJkAAADCYLhj+Z5z/CUN95qOHI+u30/oLEAAAATI1QE64nF22c/RjiXfedwQIAIAAmXZ97w6Zb0O7ABEgAAAcEiDd6/uWeVWAAPD1j/fVz6oPAqPH9XZd5u/TVi7vyQNE5svPvp0/883PXUNK975ReTNwx/4WXb/qbb3p0CZABMjQ39sdb0cBApB4YPg0MH16sKgMcJ2X/SmWIqfNXF7Xuu8aIVfrFDlNZtvcuW9kPg61c3+Lrt/o7551vxUgAmR1gET/W4AAPOzBIRofI6Gyasgc+VnmGeuOZ7l33NZX2zAbKR0Db8fpuveNVftbNlAEiAARIAIE4JEPDicGyOyh+YkBEtmGkX9HX1F5U4BE97fR3ydABIgA+Xw4lgABePADxA4BMnLYzuiz9N0B8rTHm5HDyyKHn42evjNAOrbl6CFinfvb6O/qCJDsIXErB3LL+UsmQD6dToAAPDg+qsNTV4D860EmGyDZL7aqDHlPCpC/H7yrh1xFTt8VIJ2vVlTfVJ7Z37pCeHTfHLlvCRCLABEgANMH0sqbXDNBsupZ7pWD39MC5NuD/9X/uytAut7I3nW4XcdhYNmoqMTxjp+CZXlngJzyWCpAAAYe/K+eccoMQivjovIej8whNR2v/uwUIJHYzG7z0VdQIqGUDYrodqu+MbwSDSNh3x3aAsQiPgQIwLIH/k/DwNXPrwaI6NAxOihH1qUaIJXvy3jSNo8GSGU7Zj7mdmRfy2zL0Z/P3N9G9q2O7/kwI4EAAWDhgOTxgTv35R3ecwEIEABAWAMCBAAAQIAAAAACBAAAECAAAAACBAAAECAAAAACBAAAECAAAIAAESAAAIAAAQAABAgAAIAAAQAAnhEgFovFYrFYLBaLxTJ7+T9CdBgAALDsVRA3AQAAIEAAAAABAgAAIEAAAAABAgAAIEAAAAABAgAACBAAAAABAgAACBAAAAABAgAACBAAAECAAAAACBAAAECAAAAACBAAAECAAAAAAgQAAECAAAAAAgQAAECAAAAAAgQAABAgAAAAAgQAABAgAAAAAgQAABAgAACAAAEAABAgAACAAAEAABAgAACAAAEAABAgAACAAAEAAAQIAACAAAEAAAQIAACAAAEAAAQIAAAgQAAAAAQIAAAgQAAAAAQIAAAgQAAAAAECAAAgQAAAAAECAAAgQAAAAAECAAAIEAAAAAECAAAIEAAAAAECAAAIEAAAQIAAAAAIEAAAQIAAAAAIEAAAQIAAAAAIEAAAQIAAAAACBAAAQIAAAAACBAAAQIAAAAACBAAAECAAAAACBAAAECAAAAACBAAAECAAAIAAAQAAECAAAIAAAQAAECAAAIAAAQAABAgAAIAAAQAABAgAAIAAAQAABAgAACBAAAAABAgAACBAAAAABAgAACBAAAAAAeImAAAABAgAACBAAAAABAgAACBAAAAABAgAACBAAAAAAQIAACBAAAAAAQIAACBAAAAAAQIAAAgQAAAAAQIAAAgQAAAAAQIAAAgQAABAgAAAAAgQAABAgAAAAAgQAABAgAAAAAIEAABAgAAAAAIEAABAgAAAAAIEAAAQIAAAAAIEAAAQIAAAAAIEAAAQIAAAAAIEAAAQIAAAgAABAAAQIAAAgAABAAAQIAAAgAABAAAECAAAgAABAAAECAAAgAABAAAECAAAIEAAAAAECAAAIEAAAAAECAAAIEAAAAABAgAAIEAAAAABAgAAIEAAAAABAgAACBAAAAABAgAACBAAAAABAgAACBAAAAABAgAACBAAAECAAAAACBAAAECAAAAACBAAAECAAAAAAgQAAECAAAAAAgQAAECAAAAAAgQAABAgAAAAAgQAABAgAAAAAgQAABAgAACAAAEAABAgAACAAAEAABAgAACAAAEAAAQIAACAAAEAAAQIAACAAAEAAAQIAAAgQNwEAACAAAEAAAQIAACAAAEAAAQIAACAAAEAAAQIAAAgQAAAAAQIAAAgQAAAAAQIAAAgQAAAAAECAAAgQAAAAAECAAAgQAAAAAECAAAIEAAAAAECAAAIEAAAAAECAAAIEAAAQIAAAAAIEAAAQIAAAAAIEAAAYEv/AasPkdDtNTO4AAAAAElFTkSuQmCC" - } - ] + "partyId": "999US" }, - { - "purchaseOrderNumber": "2JK3S9VD", - "sellingParty": { - "partyId": "999US" - }, - "shipFromParty": { - "partyId": "ABCD" - }, - "labelFormat": "PNG", - "labelData": [ - { - "packageIdentifier": "PKG002", - "trackingNumber": "1Z6A34Y60369738805", - "shipMethod": "UPS_GR_RES", - "shipMethodName": "UPS Ground Residential", - "content": "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AAFiCBAAABAgAgQAAASIIUAAABAghgABAAABYggQAAAEiNE4QAzDMAzDMAzDMASIYRiGYRiGYRgCxDAMwzAMwzAMQ4AYhmEYhmEYhiFADMMwDMMwDMMw/jdAAAAAio50JkAAAAABAgAACBAAAAABAgAACBAAAAABAgAACBAAAECAAAAACBAAAECAAAAACBAAAECAAAAAAoRXbAT/MX77myfXs3IfRu/nymVXrn/0PjxZ3qjlyngcV5Yx+7JRj2nGfcjYxla2n8rHonKbjFqf2a+B3V43Ml6rK99rop7jGa+Hu173std/9uv86H1buQ8IEASIABEgAkSACBABIkAEiAARIAgQASJABIgAESACRIAIEAGCAEGACBABIkAEiAARIAJEgAgQAYIAESACRIAIEAEiQASIABEgCBAEiAARIAJEgAgQASJABAgCBAEiQASIABEgAkSACBABIkAECAJEgAgQASJABIgAESACRIAgQBAgAkSACBABIkAEiAARIAJEgCBABIgAESACRIAIEAEiQAQIAgQBIkAEiAARIAJEgAgQAYIAQYAIEAEiQASIABEgAkSACBABggARIAJEgAgQASJABIgAESAIEASIABEgAkSACBABIkAEiAARIAgQASJABIgAESACRIAIEAGCAEGACBABIkAEiAARIAJEgCBAECACRIAIEAEiQASIABEgAsTcU4DYCASIABEgAkSACBABIkAECAIEASJABIgAESACRIAIEAEiQAQIAkSACBABIkAEiAARIAJEgCBAECACRIAIEAEiQASIABEgCBAEiAARIAJEgAgQASJABIgAQYAgQASIABEgAkSACBABIkAQIAgQASJABIgAESACRIAIEAEiQBAgAkSACBABIkAEiAARIAIEAYIAESACRIAIEAEiQASIABEgAgQBIkAEiAARIAJEgAgQASJAECAIEAEiQASIABEgAkSACBAECAJEgAgQASJABIgAESACRIAIEASIABEgAkSACBABIkAEiABBgCBABIgAESACRIAIEAEiQASIAEGACBABIkAEiAARIAJEgAgQBAgCRIAIEAEiQASIABEgAgQBggARIAJEgAgQASJABIgAESACBAEiQASIABEgAkSACBABIkAQIAgQASJABIgAESACRIAIEAEiQBAgAkSACBABIkAEiAARIAIEAYIAESACRIAIEAEiQASIAEGAIEAEiAARIAJEgAgQASJABIgAQYAIEAEiQASIABEgAkSACBAECAJEgAgQASJABIgAESACRIAIEASIABEgAkSACBABIkAEiABBgCBABIgAESACRIAIEAEiQBAgCBABIkAEiAARIAJEgAgQAWLu6YGyEQgQASJABIgAESACRIAIEAQIAkSACBABIkAEiAARIAJEgAgQBIgAESACRIAIEAEiQASIAEGAIEAEiAARIAJEgAgQASJAECAIEAEiQGLfmKJGxwCJmCQLEAEiQASIAEGAIEAEiAARIOEB8uftVU4wKh+fXQGyazs85b5FvdfsWp7M18PO21rE66MAQYAgQATINQHS6Y1WgAgQAbI2ORUgAkSAIEAQIAKkdYCcMgnM3oajJlQCRIB0CxEBIkAECAIEASJAWgTIaZPAjgHy7ZsTASJAOk9WBYgAESACBAEiQARIWYCcOAkUIAJk17cIp09a3xQgt0SIAEGAIEAEyFUBEvmGGHX9JwdI1k7E3SaZpwZI1YRtdRvInLjueoyinrMZl41+3YvefgQIAgQBIkCuCZCqiYQAESCd13/HAIlcXxHvNTcGyOprkwARIAIEASJABEjhRFSACBAB0mcbqDhPjQARIAJEgCBABIgAESACRIC8LECibluACBABggBBgAgQASJABIgAKYsQASJABAgCBAEiQASIABEgAkSACBABggBBgAgQASJA7g6QlXUhQPYFSMXzWoAIEAEiQBAgAkSACBABIkAEiAARIAIEAYIAESACRIAIEAEiQASIABEgAgQBIkAEiAARIMtHRRIgAkSACBABIkAQIAJEgAgQAfLaAMma/AsQASJABIgAQYAIEAEiQASIABEgAuRVAVL5+iBAECAIEAEiQBoHSOQ67BogqxEiQASIABEgAkSAIEAEiAA5LkAyJt4C5J4AyZz8CxABIkAEiABBgAgQASJABIgAESACRIAIEAQIAkSACJB3BUj0OrwtQEYmpwJEgAgQAYIAQYAIEAEiQATIEQGSPfkXIAKkKkC6vD4IEAQIAkSACJCGAZKxDgWIABEgAkSAIEAQIAJEgAgQAfJv/qGJBYgAESACBAGCABEgAiR8MiFA5n7WJUAEiAC5P0A6fUAhQBAgCBABcmSARLwxCRABIkAEiAARIAgQBIgAESAh+wIIEAEiQASIABEgCBAEiAARIKVBIkDGY02ACBABIkAECAIEASJArgyQ7EmnABEgAkSACBABggBBgAgQAVIWICuHaRUgewMka5kFyP4AmX2vESBrAdLtKHkCBAGCABEg2wKkKkI6BUj1pHdl2QWIABEgvQJk9wE9BAgCBAEiQK4IkC5vwgKkV4BEL7cAiQuQyAMgCBABIkDMPQWIjUCACJAtAdLhjbgiQHZMegWIAIkMkKplFyACRIAIEASIABEgZW9MAkSACJCeAVK57AJEgAgQAYIAESACpPSNSYAIkOhlFyBrz+XI7UuACBABggBBgAiQdgGy4805O0B2TXoFiACJeh2I2rYESMy2mPm+KUAQIAgQASJANkaIABEgNwXIbz9xy17nAsR5QAQIAgQBIkAEiAA5IkAyJp9vD5Dd25MAESACBAGCABEgAmTx9+rf1s/pE0YBIkCqtyUBIkAEiABBgAgQAdLqjSl7EiZA7g2Q6nh5S4Bkv9cIEAEiQAQIAkSACJDtAZI5GRMgvQIkYh0KkB7xIUD2Bci32xMgCBAEiAARIIOXzZpUrU5musdH5O/2Bci9AZL1Oi9ABIgAMfcUIDYCASJAjg2Q6ImZALkvQHbsP3LbmdAFiAARIAgQBIgAESCNA6Ryp+mI+9A5QCIm3gJEgAgQAYIAQYAIEAHSNkC+TXwEiAARIALktACJfK8XIAgQBIgAESAJkxYBck+A7DqErwARIAJEgCBAECACRIAIkKTnjgARIAJEgAgQBAgCRIC0DZDsT92jJmsCRIAIEAGSFQgCRICYewoQG4EAESACRIAIEAEiQASIAEGAIEAEyM0BkjXpjZiwvTFARg+DK0AEiAC5O0BGzwsjQBAgCBABIkAEiAARIAJEgAgQBAgCRIAIkLcGSFZQRE/UBYgAESACRIAgQBAgAkSAFAZI1mMhQASIABEgAkSAIEAQIAJEgAgQASJABIgAESAIEASIABEgZwXI6nV2CpDu26QAESACRIAIEAGCABEgAqRlgFROFAVI7TYpQASIABEgAkSAIEAEiABJe+M+PUCyg0KACBABIkAEiAARIAgQASJANgdI5b4Pu4MiI0Ay94WJ2iYFiAARILEBUrGPmABBgCBABMiVAVJ9/gsBIkAEiAARIAIEAYIAESACpEWARD5e1QGSeUJGASJABIgAESDmngLERiBABMi2AKlaD523GQGSf5SzrG3ylAD5baIpQASIAEGAIEAEyGsDJPLNLztAon/O1DVAor41eroubw2QlZ+0ZWzvpwRI5ra6M0Aynm+r67/qPEECBAGCABEgxwXIrslJ53NPnLa+d03kuq+jDtvfrQFySpCfuJwCBAGCABEgAkSACJBD19GbA+RNE3MBIkAQIAgQASJABIgAMYEVIAJEgCBAECACRIAIEAEiQASIABEgAkSAIEAEiAA5KECythkBclaAnDIpFCACRIAIEAGCABEgAiQpQLLfqCu3mextOGObzHocd2+TGQGS8RrY7XUj47W68r2m8ihY2e+J2Y9jh9cHAYIAQYAIkBYBkvlGLEAEiAARIAJEgCBAECACRIAIEAEiQASIABEgAsTc0wNlIxAgAkSACBABIkAEiAARIAgQBIgAESACRIAIEAEiQASIABEgCBABIkAEiAARIAJEgAgQAYIAQYAIEAEiQASIABEgAkSAIEAQIAJEgAgQASJABIgAESACBAGCABEgAkSACBABIkAEiABBgCBABIgAESACRIAIEAEiQASIAEGACBABIkAEiAARIAJEgAgQBAgCRIAIEAEiQASIABEgAkSACBAEiAARIAJEgAgQASJABIgAQYAgQASIABEgAkSACBABIkAQIAgQASJABIgAESACRIAIEAEiQBAgAkSACBABIkAEiAARIAIEAYIAESACRIAIEAEiQASIABEgAgQBIkAEiAARIAJEgAgQASJAECAIEAEiQASIABEgAkSACBAECAJEgAgQASJABIgAESACRIAIEASIABEgAkSACBABIkAEiABBgCBABIgAESACRIAIEAEiQASIAEGACBABIkAEiAARIAJEgAgQBAgCRIAIEAEiQASIABEgAgQBggARIAJEgAgQASJABIgAESACBAEiQASIABEgAkSACBABIkAQIAgQASJABIgAESACRIAIEAEiQBAgAkSACBABIkAEiAARIAIEAYIAESACRIAIEAEiQASIAEGAIEAEiAARIAJEgAgQASJABIgAQYAIEAEiQASIABEgAkSACBAECAJEgAgQASJABIgAESACRIAIEASIABEgAkSACBABIkAEiABBgCBABIgAESACRIAIEAEiQBAgCBABIkAEiAARIAJEgAgQAWLuKUAQIAJEgAgQASJABIgAESAIEASIABEgAkSACBABIkAEiAARIAgQASJABIgAESACRIAIEAGCAEGACBABIkAEiAARIAJEgJjXChAEiAARIAJEgAgQASJABIgAQYAgQASIABEgAkSACBABIkAQIAgQASJABIgAESACRIAIEAEiQBAgAkSACBABIkAEiAARIAIEAYIAESACRIAIEAEiQASIABEgAgQBIkAEiAARIAJEgAgQASJAECAIEAEiQASIABEgAkSACBAECAJEgAgQASJABIgAESACRIAIEASIABEgAkSACBABIkAEiABBgCBABIgAESACRIAIEAEiQASIAEGACBABIkAEiAARIAJEgAgQBAgCRIAIEAEiQASIABEgAgQBggARIAJEgAgQASJABIgAESACBAEiQASIABEgAkSACBABIkAQIAgQASJABIgAESACRIAIEAEiQBAgAkSACBABIkAEiAARIAIEAYIAESACRIAIEAEiQASIAEGAIEAEiAARIAJEgAgQASJABIgAQYAIEAEiQASIABEgAkSACBAECAJEgAgQASJABIgAESACRIAIEASIABEgAkSACBABIkAEiABBgCBABIgAESACRIAIEAEiQBAgCBABIkAEiAARIAJEgAgQAWLuKUBsBAJEgAgQASJABIgAESACBAGCABEgAkSACBABIkAEiAARIAIEASJABIgAESACRIAIEAEiQBAgCBABIkAEiAARIAJEgAgQBAgCRIAIEAEiQASIABEgAkSAIEAQIAJEgAgQASJABIgAESAIEASIABEgAkSACBABIkAEiAARIAgQASJABIgAESACRIAIEAGCAEGACBABIkAEiAARIAJEgAgQAYIAESACRIAIEAEiQASIABEgCBAEiAARIAJEgAgQASJABAgCBAEiQASIABEgAkSACBABIkAECAJEgAgQASJABIgAESACRIAgQBAgAkSACBABIkAEiAARIAJEgCBABIgAESACRIAIEAEiQAQIAgQBIkAEiAARIAJEgAgQAYIAQYAIEAEiQASIABEgAkSACBABggARIAJEgAgQASJABIgAESAIEASIABEgAkSACBABIkAEiAARIAgQASJABIgAESACRIAIEAGCAEGACBABIkAEiAARIAJEgCBAECACRIAIEAEiQASIABEgAkSAIEAEiAARIAJEgAgQASJABAgCBAEiQASIABEgAkSACBABIkAECAJEgAgQASJABIgAESACRIAgQBAgAkSACBABIkAE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" - } - ] - } - ] - } + "shipFromParty": { + "partyId": "ABCD" + }, + "labelFormat": "PNG", + "labelData": [ + { + "packageIdentifier": "PKG001", + "trackingNumber": "1Z6A34Y60369738804", + "shipMethod": "UPS_GR_RES", + "shipMethodName": "UPS Ground Residential", + "content": "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AAFiCBAAABAgAgQAAASIIUAAABAghgABAAABYggQAAAEiNE4QAzDMAzDMAzDMASIYRiGYRiGYRgCxDAMwzAMwzAMQ4AYhmEYhmEYhiFADMMwDMMwDMMw/jdAAAAAio50JkAAAAABAgAACBAAAAABAgAACBAAAAABAgAACBAAAECAAAAACBAAAECAAAAACBAAAECAAAAAAoRXbAT/MX77myfXs3IfRu/nymVXrn/0PjxZ3qjlyngcV5Yx+7JRj2nGfcjYxla2n8rHonKbjFqf2a+B3V43Ml6rK99rop7jGa+Hu173std/9uv86H1buQ8IEASIABEgAkSACBABIkAEiAARIAgQASJABIgAESACRIAIEAGCAEGACBABIkAEiAARIAJEgAgQAYIAESACRIAIEAEiQASIABEgCBAEiAARIAJEgAgQASJABAgCBAEiQASIABEgAkSACBABIkAECAJEgAgQASJABIgAESACRIAgQBAgAkSACBABIkAEiAARIAJEgCBABIgAESACRIAIEAEiQAQIAgQBIkAEiAARIAJEgAgQAYIAQYAIEAEiQASIABEgAkSACBABggARIAJEgAgQASJABIgAESAIEASIABEgAkSACBABIkAEiAARIAgQASJABIgAESACRIAIEAGCAEGACBABIkAEiAARIAJEgCBAECACRIAIEAEiQASIABEgAsTcU4DYCASIABEgAkSACBABIkAECAIEASJABIgAESACRIAIEAEiQAQIAkSACBABIkAEiAARIAJEgCBAECACRIAIEAEiQASIABEgCBAEiAARIAJEgAgQASJABIgAQYAgQASIABEgAkSACBABIkAQIAgQASJABIgAESACRIAIEAEiQBAgAkSACBABIkAEiAARIAIEAYIAESACRIAIEAEiQASIABEgAgQBIkAEiAARIAJEgAgQASJAECAIEAEiQASIABEgAkSACBAECAJEgAgQASJABIgAESACRIAIEASIABEgAkSACBABIkAEiABBgCBABIgAESACRIAIEAEiQASIAEGACBABIkAEiAARIAJEgAgQBAgCRIAIEAEiQASIABEgAgQBggARIAJEgAgQASJABIgAESACBAEiQASIABEgAkSACBABIkAQIAgQASJABIgAESACRIAIEAEiQBAgAkSACBABIkAEiAARIAIEAYIAESACRIAIEAEiQASIAEGAIEAEiAARIAJEgAgQASJABIgAQYAIEAEiQASIABEgAkSACBAECAJEgAgQASJABIgAESACRIAIEASIABEgAkSACBABIkAEiABBgCBABIgAESACRIAIEAEiQBAgCBABIkAEiAARIAJEgAgQAWLu6YGyEQgQASJABIgAESACRIAIEAQIAkSACBABIkAEiAARIAJEgAgQBIgAESACRIAIEAEiQASIAEGAIEAEiAARIAJEgAgQASJAECAIEAEiQGLfmKJGxwCJmCQLEAEiQASIAEGAIEAEiAARIOEB8uftVU4wKh+fXQGyazs85b5FvdfsWp7M18PO21rE66MAQYAgQATINQHS6Y1WgAgQAbI2ORUgAkSAIEAQIAKkdYCcMgnM3oajJlQCRIB0CxEBIkAECAIEASJAWgTIaZPAjgHy7ZsTASJAOk9WBYgAESACBAEiQARIWYCcOAkUIAJk17cIp09a3xQgt0SIAEGAIEAEyFUBEvmGGHX9JwdI1k7E3SaZpwZI1YRtdRvInLjueoyinrMZl41+3YvefgQIAgQBIkCuCZCqiYQAESCd13/HAIlcXxHvNTcGyOprkwARIAIEASJABEjhRFSACBAB0mcbqDhPjQARIAJEgCBABIgAESACRIC8LECibluACBABggBBgAgQASJABIgAKYsQASJABAgCBAEiQASIABEgAkSACBABggBBgAgQASJA7g6QlXUhQPYFSMXzWoAIEAEiQBAgAkSACBABIkAEiAARIAIEAYIAESACRIAIEAEiQASIABEgAgQBIkAEiAARIMtHRRIgAkSACBABIkAQIAJEgAgQAfLaAMma/AsQASJABIgAQYAIEAEiQASIABEgAuRVAVL5+iBAECAIEAEiQBoHSOQ67BogqxEiQASIABEgAkSAIEAEiAA5LkAyJt4C5J4AyZz8CxABIkAEiABBgAgQASJABIgAESACRIAIEAQIAkSACJB3BUj0OrwtQEYmpwJEgAgQAYIAQYAIEAEiQATIEQGSPfkXIAKkKkC6vD4IEAQIAkSACJCGAZKxDgWIABEgAkSAIEAQIAJEgAgQAfJv/qGJBYgAESACBAGCABEgAiR8MiFA5n7WJUAEiAC5P0A6fUAhQBAgCBABcmSARLwxCRABIkAEiAARIAgQBIgAESAh+wIIEAEiQASIABEgCBAEiAARIKVBIkDGY02ACBABIkAECAIEASJArgyQ7EmnABEgAkSACBABggBBgAgQAVIWICuHaRUgewMka5kFyP4AmX2vESBrAdLtKHkCBAGCABEg2wKkKkI6BUj1pHdl2QWIABEgvQJk9wE9BAgCBAEiQK4IkC5vwgKkV4BEL7cAiQuQyAMgCBABIkDMPQWIjUCACJAtAdLhjbgiQHZMegWIAIkMkKplFyACRIAIEASIABEgZW9MAkSACJCeAVK57AJEgAgQAYIAESACpPSNSYAIkOhlFyBrz+XI7UuACBABggBBgAiQdgGy4805O0B2TXoFiACJeh2I2rYESMy2mPm+KUAQIAgQASJANkaIABEgNwXIbz9xy17nAsR5QAQIAgQBIkAEiAA5IkAyJp9vD5Dd25MAESACBAGCABEgAmTx9+rf1s/pE0YBIkCqtyUBIkAEiABBgAgQAdLqjSl7EiZA7g2Q6nh5S4Bkv9cIEAEiQAQIAkSACJDtAZI5GRMgvQIkYh0KkB7xIUD2Bci32xMgCBAEiAARIIOXzZpUrU5musdH5O/2Bci9AZL1Oi9ABIgAMfcUIDYCASJAjg2Q6ImZALkvQHbsP3LbmdAFiAARIAgQBIgAESCNA6Ryp+mI+9A5QCIm3gJEgAgQAYIAQYAIEAHSNkC+TXwEiAARIALktACJfK8XIAgQBIgAESAJkxYBck+A7DqErwARIAJEgCBAECACRIAIkKTnjgARIAJEgAgQBAgCRIC0DZDsT92jJmsCRIAIEAGSFQgCRICYewoQG4EAESACRIAIEAEiQASIAEGAIEAEyM0BkjXpjZiwvTFARg+DK0AEiAC5O0BGzwsjQBAgCBABIkAEiAARIAJEgAgQBAgCRIAIkLcGSFZQRE/UBYgAESACRIAgQBAgAkSAFAZI1mMhQASIABEgAkSAIEAQIAJEgAgQASJABIgAESAIEASIABEgZwXI6nV2CpDu26QAESACRIAIEAGCABEgAqRlgFROFAVI7TYpQASIABEgAkSAIEAEiABJe+M+PUCyg0KACBABIkAEiAARIAgQASJANgdI5b4Pu4MiI0Ay94WJ2iYFiAARILEBUrGPmABBgCBABMiVAVJ9/gsBIkAEiAARIAIEAYIAESACpEWARD5e1QGSeUJGASJABIgAESDmngLERiBABMi2AKlaD523GQGSf5SzrG3ylAD5baIpQASIAEGAIEAEyGsDJPLNLztAon/O1DVAor41eroubw2QlZ+0ZWzvpwRI5ra6M0Aynm+r67/qPEECBAGCABEgxwXIrslJ53NPnLa+d03kuq+jDtvfrQFySpCfuJwCBAGCABEgAkSACJBD19GbA+RNE3MBIkAQIAgQASJABIgAMYEVIAJEgCBAECACRIAIEAEiQASIABEgAkSAIEAEiAA5KECythkBclaAnDIpFCACRIAIEAGCABEgAiQpQLLfqCu3mextOGObzHocd2+TGQGS8RrY7XUj47W68r2m8ihY2e+J2Y9jh9cHAYIAQYAIkBYBkvlGLEAEiAARIAJEgCBAECACRIAIEAEiQASIABEgAsTc0wNlIxAgAkSACBABIkAEiAARIAgQBIgAESACRIAIEAEiQASIABEgCBABIkAEiAARIAJEgAgQAYIAQYAIEAEiQASIABEgAkSAIEAQIAJEgAgQASJABIgAESACBAGCABEgAkSACBABIkAEiABBgCBABIgAESACRIAIEAEiQASIAEGACBABIkAEiAARIAJEgAgQBAgCRIAIEAEiQASIABEgAkSACBAEiAARIAJEgAgQASJABIgAQYAgQASIABEgAkSACBABIkAQIAgQASJABIgAESACRIAIEAEiQBAgAkSACBABIkAEiAARIAIEAYIAESACRIAIEAEiQASIABEgAgQBIkAEiAARIAJEgAgQASJAECAIEAEiQASIABEgAkSACBAECAJEgAgQASJABIgAESACRIAIEASIABEgAkSACBABIkAEiABBgCBABIgAESACRIAIEAEiQASIAEGACBABIkAEiAARIAJEgAgQBAgCRIAIEAEiQASIABEgAgQBggARIAJEgAgQASJABIgAESACBAEiQASIABEgAkSACBABIkAQIAgQASJABIgAESACRIAIEAEiQBAgAkSACBABIkAEiAARIAIEAYIAESACRIAIEAEiQASIAEGAIEAEiAARIAJEgAgQASJABIgAQYAIEAEiQASIABEgAkSACBAECAJEgAgQASJABIgAESACRIAIEASIABEgAkSACBABIkAEiABBgCBABIgAESACRIAIEAEiQBAgCBABIkAEiAARIAJEgAgQAWLuKUAQIAJEgAgQASJABIgAESAIEASIABEgAkSACBABIkAEiAARIAgQASJABIgAESACRIAIEAGCAEGACBABIkAEiAARIAJEgJjXChAEiAARIAJEgAgQASJABIgAQYAgQASIABEgAkSACBABIkAQIAgQASJABIgAESACRIAIEAEiQBAgAkSACBABIkAEiAARIAIEAYIAESACRIAIEAEiQASIABEgAgQBIkAEiAARIAJEgAgQASJAECAIEAEiQASIABEgAkSACBAECAJEgAgQASJABIgAESACRIAIEASIABEgAkSACBABIkAEiABBgCBABIgAESACRIAIEAEiQASIAEGACBABIkAEiAARIAJEgAgQBAgCRIAIEAEiQASIABEgAgQBggARIAJEgAgQASJABIgAESACBAEiQASIABEgAkSACBABIkAQIAgQASJABIgAESACRIAIEAEiQBAgAkSACBABIkAEiAARIAIEAYIAESACRIAIEAEiQASIAEGAIEAEiAARIAJEgAgQASJABIgAQYAIEAEiQASIABEgAkSACBAECAJEgAgQASJABIgAESACRIAIEASIABEgAkSACBABIkAEiABBgCBABIgAESACRIAIEAEiQBAgCBABIkAEiAARIAJEgAgQAWLuKUBsBAJEgAgQASJABIgAESACBAGCABEgAkSACBABIkAEiAARIAIEASJABIgAESACRIAIEAEiQBAgCBABIkAEiAARIAJEgAgQBAgCRIAIEAEiQASIABEgAkSAIEAQIAJEgAgQASJABIgAESAIEASIABEgAkSACBABIkAEiAARIAgQASJABIgAESACRIAIEAGCAEGACBABIkAEiAARIAJEgAgQAYIAESACRIAIEAEiQASIABEgCBAEiAARIAJEgAgQASJABAgCBAEiQASIABEgAkSACBABIkAECAJEgAgQASJABIgAESACRIAgQBAgAkSACBABIkAEiAARIAJEgCBABIgAESACRIAIEAEiQAQIAgQBIkAEiAARIAJEgAgQAYIAQYAIEAEiQASIABEgAkSACBABggARIAJEgAgQASJABIgAESAIEASIABEgAkSACBABIkAEiAARIAgQASJABIgAESACRIAIEAGCAEGACBABIkAEiAARIAJEgCBAECACRIAIEAEiQASIABEgAkSAIEAEiAARIAJEgAgQASJABAgCBAEiQASIABEgAkSACBABIkAECAJEgAgQASJABIgAESACRIAgQBAgAkSACBABIkAE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" + } + ] + }, + { + "purchaseOrderNumber": "2JK3S9VD", + "sellingParty": { + "partyId": "999US" + }, + "shipFromParty": { + "partyId": "ABCD" + }, + "labelFormat": "PNG", + "labelData": [ + { + "packageIdentifier": "PKG002", + "trackingNumber": "1Z6A34Y60369738805", + "shipMethod": "UPS_GR_RES", + "shipMethodName": "UPS Ground Residential", + "content": "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AAFiCBAAABAgAgQAAASIIUAAABAghgABAAABYggQAAAEiNE4QAzDMAzDMAzDMASIYRiGYRiGYRgCxDAMwzAMwzAMQ4AYhmEYhmEYhiFADMMwDMMwDMMw/jdAAAAAio50JkAAAAABAgAACBAAAAABAgAACBAAAAABAgAACBAAAECAAAAACBAAAECAAAAACBAAAECAAAAAAoRXbAT/MX77myfXs3IfRu/nymVXrn/0PjxZ3qjlyngcV5Yx+7JRj2nGfcjYxla2n8rHonKbjFqf2a+B3V43Ml6rK99rop7jGa+Hu173std/9uv86H1buQ8IEASIABEgAkSACBABIkAEiAARIAgQASJABIgAESACRIAIEAGCAEGACBABIkAEiAARIAJEgAgQAYIAESACRIAIEAEiQASIABEgCBAEiAARIAJEgAgQASJABAgCBAEiQASIABEgAkSACBABIkAECAJEgAgQASJABIgAESACRIAgQBAgAkSACBABIkAEiAARIAJEgCBABIgAESACRIAIEAEiQAQIAgQBIkAEiAARIAJEgAgQAYIAQYAIEAEiQASIABEgAkSACBABggARIAJEgAgQASJABIgAESAIEASIABEgAkSACBABIkAEiAARIAgQASJABIgAESACRIAIEAGCAEGACBABIkAEiAARIAJEgCBAECACRIAIEAEiQASIABEgAsTcU4DYCASIABEgAkSACBABIkAECAIEASJABIgAESACRIAIEAEiQAQIAkSACBABIkAEiAARIAJEgCBAECACRIAIEAEiQASIABEgCBAEiAARIAJEgAgQASJABIgAQYAgQASIABEgAkSACBABIkAQIAgQASJABIgAESACRIAIEAEiQBAgAkSACBABIkAEiAARIAIEAYIAESACRIAIEAEiQASIABEgAgQBIkAEiAARIAJEgAgQASJAECAIEAEiQASIABEgAkSACBAECAJEgAgQASJABIgAESACRIAIEASIABEgAkSACBABIkAEiABBgCBABIgAESACRIAIEAEiQASIAEGACBABIkAEiAARIAJEgAgQBAgCRIAIEAEiQASIABEgAgQBggARIAJEgAgQASJABIgAESACBAEiQASIABEgAkSACBABIkAQIAgQASJABIgAESACRIAIEAEiQBAgAkSACBABIkAEiAARIAIEAYIAESACRIAIEAEiQASIAEGAIEAEiAARIAJEgAgQASJABIgAQYAIEAEiQASIABEgAkSACBAECAJEgAgQASJABIgAESACRIAIEASIABEgAkSACBABIkAEiABBgCBABIgAESACRIAIEAEiQBAgCBABIkAEiAARIAJEgAgQAWLu6YGyEQgQASJABIgAESACRIAIEAQIAkSACBABIkAEiAARIAJEgAgQBIgAESACRIAIEAEiQASIAEGAIEAEiAARIAJEgAgQASJAECAIEAEiQGLfmKJGxwCJmCQLEAEiQASIAEGAIEAEiAARIOEB8uftVU4wKh+fXQGyazs85b5FvdfsWp7M18PO21rE66MAQYAgQATINQHS6Y1WgAgQAbI2ORUgAkSAIEAQIAKkdYCcMgnM3oajJlQCRIB0CxEBIkAECAIEASJAWgTIaZPAjgHy7ZsTASJAOk9WBYgAESACBAEiQARIWYCcOAkUIAJk17cIp09a3xQgt0SIAEGAIEAEyFUBEvmGGHX9JwdI1k7E3SaZpwZI1YRtdRvInLjueoyinrMZl41+3YvefgQIAgQBIkCuCZCqiYQAESCd13/HAIlcXxHvNTcGyOprkwARIAIEASJABEjhRFSACBAB0mcbqDhPjQARIAJEgCBABIgAESACRIC8LECibluACBABggBBgAgQASJABIgAKYsQASJABAgCBAEiQASIABEgAkSACBABggBBgAgQASJA7g6QlXUhQPYFSMXzWoAIEAEiQBAgAkSACBABIkAEiAARIAIEAYIAESACRIAIEAEiQASIABEgAgQBIkAEiAARIMtHRRIgAkSACBABIkAQIAJEgAgQAfLaAMma/AsQASJABIgAQYAIEAEiQASIABEgAuRVAVL5+iBAECAIEAEiQBoHSOQ67BogqxEiQASIABEgAkSAIEAEiAA5LkAyJt4C5J4AyZz8CxABIkAEiABBgAgQASJABIgAESACRIAIEAQIAkSACJB3BUj0OrwtQEYmpwJEgAgQAYIAQYAIEAEiQATIEQGSPfkXIAKkKkC6vD4IEAQIAkSACJCGAZKxDgWIABEgAkSAIEAQIAJEgAgQAfJv/qGJBYgAESACBAGCABEgAiR8MiFA5n7WJUAEiAC5P0A6fUAhQBAgCBABcmSARLwxCRABIkAEiAARIAgQBIgAESAh+wIIEAEiQASIABEgCBAEiAARIKVBIkDGY02ACBABIkAECAIEASJArgyQ7EmnABEgAkSACBABggBBgAgQAVIWICuHaRUgewMka5kFyP4AmX2vESBrAdLtKHkCBAGCABEg2wKkKkI6BUj1pHdl2QWIABEgvQJk9wE9BAgCBAEiQK4IkC5vwgKkV4BEL7cAiQuQyAMgCBABIkDMPQWIjUCACJAtAdLhjbgiQHZMegWIAIkMkKplFyACRIAIEASIABEgZW9MAkSACJCeAVK57AJEgAgQAYIAESACpPSNSYAIkOhlFyBrz+XI7UuACBABggBBgAiQdgGy4805O0B2TXoFiACJeh2I2rYESMy2mPm+KUAQIAgQASJANkaIABEgNwXIbz9xy17nAsR5QAQIAgQBIkAEiAA5IkAyJp9vD5Dd25MAESACBAGCABEgAmTx9+rf1s/pE0YBIkCqtyUBIkAEiABBgAgQAdLqjSl7EiZA7g2Q6nh5S4Bkv9cIEAEiQAQIAkSACJDtAZI5GRMgvQIkYh0KkB7xIUD2Bci32xMgCBAEiAARIIOXzZpUrU5musdH5O/2Bci9AZL1Oi9ABIgAMfcUIDYCASJAjg2Q6ImZALkvQHbsP3LbmdAFiAARIAgQBIgAESCNA6Ryp+mI+9A5QCIm3gJEgAgQAYIAQYAIEAHSNkC+TXwEiAARIALktACJfK8XIAgQBIgAESAJkxYBck+A7DqErwARIAJEgCBAECACRIAIkKTnjgARIAJEgAgQBAgCRIC0DZDsT92jJmsCRIAIEAGSFQgCRICYewoQG4EAESACRIAIEAEiQASIAEGAIEAEyM0BkjXpjZiwvTFARg+DK0AEiAC5O0BGzwsjQBAgCBABIkAEiAARIAJEgAgQBAgCRIAIkLcGSFZQRE/UBYgAESACRIAgQBAgAkSAFAZI1mMhQASIABEgAkSAIEAQIAJEgAgQASJABIgAESAIEASIABEgZwXI6nV2CpDu26QAESACRIAIEAGCABEgAqRlgFROFAVI7TYpQASIABEgAkSAIEAEiABJe+M+PUCyg0KACBABIkAEiAARIAgQASJANgdI5b4Pu4MiI0Ay94WJ2iYFiAARILEBUrGPmABBgCBABMiVAVJ9/gsBIkAEiAARIAIEAYIAESACpEWARD5e1QGSeUJGASJABIgAESDmngLERiBABMi2AKlaD523GQGSf5SzrG3ylAD5baIpQASIAEGAIEAEyGsDJPLNLztAon/O1DVAor41eroubw2QlZ+0ZWzvpwRI5ra6M0Aynm+r67/qPEECBAGCABEgxwXIrslJ53NPnLa+d03kuq+jDtvfrQFySpCfuJwCBAGCABEgAkSACJBD19GbA+RNE3MBIkAQIAgQASJABIgAMYEVIAJEgCBAECACRIAIEAEiQASIABEgAkSAIEAEiAA5KECythkBclaAnDIpFCACRIAIEAGCABEgAiQpQLLfqCu3mextOGObzHocd2+TGQGS8RrY7XUj47W68r2m8ihY2e+J2Y9jh9cHAYIAQYAIkBYBkvlGLEAEiAARIAJEgCBAECACRIAIEAEiQASIABEgAsTc0wNlIxAgAkSACBABIkAEiAARIAgQBIgAESACRIAIEAEiQASIABEgCBABIkAEiAARIAJEgAgQAYIAQYAIEAEiQASIABEgAkSAIEAQIAJEgAgQASJABIgAESACBAGCABEgAkSACBABIkAEiABBgCBABIgAESACRIAIEAEiQASIAEGACBABIkAEiAARIAJEgAgQBAgCRIAIEAEiQASIABEgAkSACBAEiAARIAJEgAgQASJABIgAQYAgQASIABEgAkSACBABIkAQIAgQASJABIgAESACRIAIEAEiQBAgAkSACBABIkAEiAARIAIEAYIAESACRIAIEAEiQASIABEgAgQBIkAEiAARIAJEgAgQASJAECAIEAEiQASIABEgAkSACBAECAJEgAgQASJABIgAESACRIAIEASIABEgAkSACBABIkAEiABBgCBABIgAESACRIAIEAEiQASIAEGACBABIkAEiAARIAJEgAgQBAgCRIAIEAEiQASIABEgAgQBggARIAJEgAgQASJABIgAESACBAEiQASIABEgAkSACBABIkAQIAgQASJABIgAESACRIAIEAEiQBAgAkSACBABIkAEiAARIAIEAYIAESACRIAIEAEiQASIAEGAIEAEiAARIAJEgAgQASJABIgAQYAIEAEiQASIABEgAkSACBAECAJEgAgQASJABIgAESACRIAIEASIABEgAkSACBABIkAEiABBgCBABIgAESACRIAIEAEiQBAgCBABIkAEiAARIAJEgAgQAWLuKUAQIAJEgAgQASJABIgAESAIEASIABEgAkSACBABIkAEiAARIAgQASJABIgAESACRIAIEAGCAEGACBABIkAEiAARIAJEgJjXChAEiAARIAJEgAgQASJABIgAQYAgQASIABEgAkSACBABIkAQIAgQASJABIgAESACRIAIEAEiQBAgAkSACBABIkAEiAARIAIEAYIAESACRIAIEAEiQASIABEgAgQBIkAEiAARIAJEgAgQASJAECAIEAEiQASIABEgAkSACBAECAJEgAgQASJABIgAESACRIAIEASIABEgAkSACBABIkAEiABBgCBABIgAESACRIAIEAEiQASIAEGACBABIkAEiAARIAJEgAgQBAgCRIAIEAEiQASIABEgAgQBggARIAJEgAgQASJABIgAESACBAEiQASIABEgAkSACBABIkAQIAgQASJABIgAESACRIAIEAEiQBAgAkSACBABIkAEiAARIAIEAYIAESACRIAIEAEiQASIAEGAIEAEiAARIAJEgAgQASJABIgAQYAIEAEiQASIABEgAkSACBAECAJEgAgQASJABIgAESACRIAIEASIABEgAkSACBABIkAEiABBgCBABIgAESACRIAIEAEiQBAgCBABIkAEiAARIAJEgAgQAWLuKUBsBAJEgAgQASJABIgAESACBAGCABEgAkSACBABIkAEiAARIAIEASJABIgAESACRIAIEAEiQBAgCBABIkAEiAARIAJEgAgQBAgCRIAIEAEiQASIABEgAkSAIEAQIAJEgAgQASJABIgAESAIEASIABEgAkSACBABIkAEiAARIAgQASJABIgAESACRIAIEAGCAEGACBABIkAEiAARIAJEgAgQAYIAESACRIAIEAEiQASIABEgCBAEiAARIAJEgAgQASJABAgCBAEiQASIABEgAkSACBABIkAECAJEgAgQASJABIgAESACRIAgQBAgAkSACBABIkAEiAARIAJEgCBABIgAESACRIAIEAEiQAQIAgQBIkAEiAARIAJEgAgQAYIAQYAIEAEiQASIABEgAkSACBABggARIAJEgAgQASJABIgAESAIEASIABEgAkSACBABIkAEiAARIAgQASJABIgAESACRIAIEAGCAEGACBABIkAEiAARIAJEgCBAECACRIAIEAEiQASIABEgAkSAIEAEiAARIAJEgAgQASJABAgCBAEiQASIABEgAkSACBABIkAECAJEgAgQASJABIgAESACRIAgQBAgAkSACBABIkAE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" + } + ] + } + ] } + } + }, + { + "request": { + "parameters": {} }, - { - "request": { - "parameters": {} - }, - "response": { - "payload": { - "shippingLabels": [ - { - "purchaseOrderNumber": "mockpurchaseOrderNumber1", - "sellingParty": { - "partyId": "999US" - }, - "shipFromParty": { - "partyId": "ABCD" - }, - "labelFormat": "PNG", - "labelData": [ - { - "packageIdentifier": "PKG001", - "trackingNumber": "1Z6A34Y60369738804", - "shipMethod": "UPS_GR_RES", - "shipMethodName": "UPS Ground Residential", - "content": "iVBORw0KGgoAAAANSUhEUgAAAyAAAAV4CAYAAABYfbnIAABfDUlEQVR42uzd25LjOJJAwf7/n+592UttTaZEABGBAOhuBrOZrtSFFCXhSCL5zz///POvYRiGYRiGYRhG0fjnXwAAgGwCBAAAECAAAIAAAQAAECAAAIAAAQAAyA2Q/zm81rd///Z3I387epu/jdn7EPU3I/f1yf3/6d9n7uun2/vt+maXN3O7WV2m0XU7s709eRxGH6snf/vktqO2ryfLFrG9P13PAMAlAfJ08rF6XU/+bubfRv/76v2Yvf2ZOBudAM/eh9XbydgeRv776OP5dF2PLMNP/z1imUYuH7l9ra7PmWVg7HV7JeBWozviNkZfY6M/ONi1XgAESECAzH7iPTORHp0gzk7YBEh+gDz9lLxzgERF8UxsjD420dc1s12tbn/eBNYn3tkT+E4BknUbAAJk4QpHJ26f/mZkArTyxrA6UXq6XBEBEnFfs8KgKkBWtpvZx2D2ulY+RY5ez9HXnREzI3EtQHI/LIr6mWrmZDvqejOWIeonxAAC5GGAjExcnkzkn34CmzkRG53YZ0wUoz5Nj1rGbgHyZLuZvf87AiR6W1n571nfvERufyZx8RP32X2BqiKkKkBGl2Hm2yMAAdIgQEYm2LMT2cwA+WnZBEh+gEROjiMez9nJxcwnrVlxMLp/RXWAiJDciXtEgETGwq4AyVpW2y0gQILiI2Ji9zRkZl7MI/bTGJmcrwTI06MgZQbI7H3I/qnXzLqeOarSyuMZvePqyuM0cp0r21B0gKysBwSIAAG4PEBmJ3afJnVRE6+VCfvOAFmd2N36DcjsdhPxbUFVgIxOAGfjPyL+MgNk9gMGE7vn21WnSf7bAgTo84FL1jy44uAYVXP4VgGy+mnop5/WVOwcmzk5/3OZBEh8gERuNyPbUWWAfJswZu0v0jFAMibY1E/yO9+36EPI2wZh/+tW5nMxMhSqA2TXkfraBUjU5DZiQjzzN9kBMvN3tx4FK2O76RIgmT9vmj1fxuiBISKOShWx/Zj85YVvh08gd+6EPvvGDuwJj8SJdPrrR8brc9TPa7cHyOoEeOZIO1GT7uzzNMxsJDsCpOowqJHne8g8rGzE47k7QCLPmbG6zJGH4X0aRCZ9+yf4lW/+GdeT9VMKoOY1q8sHIJH73kW8z2WEU2mAzNRZ1VF7Zg7lGzmBrQiQyEm4AOkdIJnLVBEgGet/dZmIn9xv+B1xeIBELYMTEMIdH6Q8eW5H3hcBsnjnR158n37qFHGbq0cXWn0gM54sK0dBWvnE4NPjOXM7o/dn5NPKkW1h9fFcmWhEbKOrz53ZAFk5v0TUY2Vi1zNATvoGJDocRAjcHSDRl+vyAU7rb0AA8Iad8WnhrgDJWAYRAne+nq1cfmeA7Io3AQJA9RtOq4nA6PVk/ywLeFeAVPyqRoAA8Mr46DoRmLmezJ99AQKkS4AccRQsAO55k37LRCAjQJwrBARIdIDs+OZUgADQIj6+Haa280Qg6nj3UQGS/QYPCJCO8SFAALwxT02YBYgAAQFy50+wCgPHix7Am9+URy/z2xtV9VFdqgNkdOIgPkCAnBQgxT/vyrnzTxZs5rwVMytw9XwUEcs+extRX79FnXdhdZ2Nnhsm6lwi3uhh/jVy5EzhlW9qlQEyc26ekfUPnBEgq9fZ9TC8lbcZFiCjL8y//du3/xbxM4Enn+bNFubIRjUTbrP1++nyO9ZZxFnvv50Je/WxBAHyT+gJTjPPKRL9AcrKcvhABATI6uWqXyeqv3HZ9g3IkwBZmXRHTqZnJvozk++Z259dFyshEbHOBAjcFSBPrrfLfV8NkKj7CNwTILOvDR0CZOUgJMcEyKfLPP3vq7+5i5isf7qvqwUZucxZ8bJ6/TNP1ortEAAQIBnXu+N8Q9Hx8ZoAqZ6QRgTI6uQ7+tP8iB2lKgIk4lsRAQIAVE3mZ/YN63KEvMxvgY8IkNmdd6om0yMbS8cAWYmQrHUmQACA3RPrbrdZHADvDZDoo0xFTaZnftP39PZWJucRR+haPeZ/5PWu7twqQACA3QESNV8TIIUBMnrdmffr6Q7WERPqmQCJmGBHT+Jn1plvQAAAXh2JewKk8tuPjInxk3/P/nlSVP12WmdRj7sAAQAQIP/xd5WTydUdqk8NkOj9UbLXmQABABAgZRP9p6FSuUP1k0l8VExkHNJ2Z4DMng8mYod+AQIAIECGJ4eRk8uMyfTIiWSqJuxR912AAADQNkAid8J+cp2rRxR48nffYmLl6E0jy5N1ZuId62x0eWaW3RmHAQBeECAzsQIAAAgQAAAAAQIAAAgQAAAAAQIAAAgQAABAgAAAABwQIKvno3hy7odvt/f0v2Xc96fLFnFfIpdp5vFcPRfK6H3I2uZWb3/2bwEABEjwiQhn/+7TZPe36xm97sizaf82EZ9ZppUziWedBXxk3T+JgNkAenrfItbD6skdAQC4JEBWJ+yzk/Wnk9CV2Bi5jQ4BEr0OZwMk8/ZnwwUAgIMC5Onfr4ZE5OR19d8jAmR0mVYez9n7OXq7s4/J6LdoAgQA4KUBMvpNQ8VkPWJSGREoT+5fRYDM3M+Z2FyJwtFoEiAAAALk42Vmv034Npk+PUCeLtPsfR+djM9M/p/Gy+w3IKP7aggQAIDLAmR0YhgZID9NlE8PkCfLNHPfZyfuK99+RAdI1DoXIABHT3auux4QIEXfgKz+BCsiQEYPq3tygMxc12p8RAZIdMx6IwFOmWyPftg38t729L169BD1ka+lUdfZ7XpAgCRN/n57sYs+mtXoEayiJ7EZ0TYbDd9uM3NCPvKGJEAA1l6XMj84W/k5beRrqW88QICETE5XXjhnJ+urk92nf/M0wHYGSHZkrj6WAgQgJiRW9slc+TntrdHgPQI2BMhKQMye72Nm0rozQKJ+Vvb0DeLkAJkNMgECCJD895fdASI+QICEBEjEi2bGGcUjJ7HRAZQVIBmT99kAiT7rvAAB3hYgo6+TT75hj37dzN4HUYDAwQHy9Df8MzujPT2s6rd9BqK+zYjcke/JOnzyt9Evet+uf/SxyXjRzngsRnaKrNiBEqBjgDz9m10BMvo+ccL1gACBRm+eAMRP8GePHll1/z797bcPyE67HhAgAMDrAuTJz6l3/FRq5Dqjoqf6ekCAAACvDJCZv+kUIKf+DQgQAOD6APk7KASIAAEBAgCkB8ifB3oZ/XcBIkBAgACAAHn8N6NHZRQgAgQECAAIkOlwiPqblYl35HlAos7vtON6QIAAAMcGyMyhZKMCITtAfrtM1Al/s68HBAgAcGx8RJww9enPiFbuW3SAjNzO6Il/s68HBAgAwEsmQ52uBwQIAIAAESAgQAAAxAcIEACAMyZAba4HBAgAAIAAAQAABAgAAIAAAQAABAgAACBAAAAABAgAACBAAAAABAgAACBAAAAAASJAAAAAAQIAAAgQAAAAAQIAAAgQAAAAAQIAAAgQAABAgAAAAAgQAABAgAAAAAgQAABAgAAAAAIEAABAgAAAAAIEAABAgAAAAAIEAAAQIAAAAAIEAAAQIAAAAAIEAAAQIAAAgAABAAAQIAAAgAABAAAQIAAAgAABAAAEiAABAAAECAAAIEAAAAAECAAAIEAAAAAECAAAIEAAAAABAgAAIEAAAAABAgAAIEAAAAABAgAACBAAAAABAgAACBAAAAABAgAACBAAAECAAAAACBAAAECAAAAACBAAAECAAAAAAgQAAOCwAPnvK/5xjP796mW+/d3o3367X6vrJ+r2s+47AAC0CZDZifOpATI7mc8MkKqIAgCArQEyMjleuY7Zy6x8e/Bkkj+7rlZue/Z+iRAAAI4OkNEIOD1AViMkI0BG74sIAQBAgBwUICuT+JUA+Wk9zsaQCAEA4OoAybieEwNk1zqIWicAANAqQGavU4DU/5RqZjlFCAAA7QIk4uhQAqQ2QDL2dwEAgPAA+RQhKz8JijwkrgARIAAAXBQgTwLipgDJmpB3DJC//w4AAFoEyJOQiJ5MdzgPSOa66xIgAADQNkC+hchpAVJ5JnEBAgCAACmKkJMCpGp9CRAAAARIQIScFCAbHpSyEwqKDwAAjguQnTt2C5CaExECAIAAESA/XiYjXIQKAAACRIBMX251nxgAAGgbIKcfBeuEABkJhYjzswAAwPYAmT16VOZlRu5Tp6NfVZ1RPjJsAACgJECeTHxXJswCJOYQu1HXBQAALQIEAABAgAAAAAIEAAAQIAAAAAIEAAAQIAAAAAIEAAAQIAAAgAABAAAQIFUr4tczhs+eRX3mNlfv70/X8/S2VtdBxPKNXi77fsw+Hl0eewAAAXJQiIxOdp/+zezfj0y0M25ndcIc9TjMXP/s/Z7dfjo99gAAAuSACFn998hP2qMm2SPXEzUxn50Uz3xjEnU/Zif0nR97AAAB8pIAiZgYR35y/+TfI4NiNUCiYm90Ha4sa9fHHgBAgFwcIFETzOgJ/5OfaXUIkOjYm5nEryxrx8ceAECAXB4gGdcXuYw/7awePcnNDpAnf7vyLULmZXc89gAAAuQlATIzOc6agP52FK+MoIgIkCff1kQGSHS8dHrsAQAEyOUBsjLRzJyErh4GtmuAzP60bOaxO/WxBwAQIC8JkNHJcfYkdOVITxUB8unyI5P91biKCJhujz0AgAC5OEBmJ7cCZCwqIr7BWFmGkx57AAABcnmAzEyQV88ePnpG7s4B8mR/j5G/nXncVo5q1e2xBwAQIC8KkIydp0f//oR9QHYEyLcRGTG7HnsAAAHykgD56d93TEJHj9a0e2I8csSumaN7VZ00UIAAAObaAqQ8QP7+m8hzQYxExG+X7XQiwp/uW/SJIEcj5fTHHgBAgFwWGDP7XlROQkd+vnRygIx+q1Ox7ex+7AEABEizAImYFM7uc/Dk76riKvr+RGxjs7cbGVQrJxbc/dgDAAiQxgGSOcmfmWBGTaYr94eInhRnhc/o/Ys843rlYw8AIEA2B8jM+SKyfjYT9al59KfzK38XPSF+a4BEPPYAAAKkSYCs7Ffw6UhS2T+dGbmtp38bvV6it6vofU9Wz5ny087k3R57AAABAgAACBAAAAABAgAACBAAAAABAgAACBAAAAABAgAACBAAAECAAAAACBAAAECAAAAACJBfVsT/G7PXsXL7lcv30/I++btP62rmMtnrq+L+zNzuzDrLut8V67NyOaOuf/frAgAIkIvD49PEY3SSszJBqlq+n+7D6KTpyWRz5rJZk7qn66J6u5pdj7sCZHZ9Vi7n08uM3m726wIACJCXxsfTycbMpD3isqOBM/N3qxO4iAng0wle1eMdfTurk++obSZrff79N5XLOfpBQOT9yX5uA4AAuThAZqKiy0+wVu93VYDMLPuTCW3F4x11Gx0CJHt9Pv2pU2WArGy7Va8LACBABMgRARIxkayYiK8GjwCJ/bYm+zETIADA6wMkevJwaoDsmoivBkjG41O93Lsnr9nrs2q9R63XXcsPAAKE/7eCKiaL0b/nz76ejAnl04lq5oQxKkA6xeTO9SlABAgACJDEyZ8AyQ2Q1Z+KVe+E3uGbqNHrfkOARP3cS4AAgAAJnZyceh6QiuvJmlDOBEjURDDym4vIw7BWB8iusBAgACBAXh8fmeceOClAZk8MlxUgERPBqnM0RJ5QL+v+ZU6sR5a5apI+G7kCBAAESGmMvDlARievWQES8e3Fykknd4XI7hNUZl+HAAEAAcKmSZQAGTtre/S3MhWTxI4BErE+u3/TM3IbAgQABEibCBEg+ZfPPi9D5KffVWGbcZ+q1qcAESAAIEBeECBR19XpPCCj+3d0D5Ddk9eq9dkpQDLWtwABAAEiQAIn/6vLXR0gUYFRFW7dA6Q62LoEyMh24kzoACBApiYkXSYaGZO5qoDIPJ/EzPVUHz74pACpXp8dAiTjYBICBAAESMok/cSjYM0G1q4AeTLJjVqPXQJk5+S1en2eGCDRyy1AAECAPJr8nnoekN+Wb/RwqasBEXWOiB0Tx4jHMXryGjnR7xwgO3a4nwlrAQIAAiRskj5zhKKZw5FGHAY1ejmf3qdP1zP69yP3d2b5Zh/j2cch6vGM3iZ2r8+q5Yye/Fe/LgCAAAG44MMFAECAAAAAAgQAAECAAAAAAgQAAECAAAAAAgQAABAgAgQAABAgAACAAAEAABAgAACAAAEAABAgAACAAOmzYr6OU5cF3vgc7v7acsL1f7qt7Nfd7vf/9vsFIEA2h8e3N4eZ68l48426rozl+fv+dLyN3euo+3MgOgKi1knHDwx2Pdcz1kP09VY/L7p+oNTl9fr26wcESPv4mJ1QdQ+QDpNrAXJ3gEReJipAdqzT2deVyNiqmthmrJ/KSOsapwJEgIAAeXF8/Pa30df/2+W6BEjWOqy4jajHpfNj3uUT2cjL7trud76uRK+rrKCLfJwy7nvm/a+KfQEiQECAvDw+ZieJOyajkS/UAkSAVP8MKvObqF3rL3qbyf770clg5vMjO546xKkAESAgQF4cIBmTIwHy/TorbkOA1ARI9ATkxACJnDDvuP5v22OHAFn5sKhTgETfr+xlOv36AQHScoI1elkBIkAEiACJWoZuAZL52pn9DVHVdXV5TxIggAARIFvf7KK/rhYg90xwKpYjMkB2bve7HvvbAyRyuxIgAgQQIAKkYYB8m5ydNOGOvg0BMj+pn43LiHDstN3vmpwLEAEiQAABclGAnDBxFiACpOtz5Onhj0cuL0DiDt3bJUBmJpoCRIAAAuTqAIleJ7MTsMgX7x1nYBYgNY95p0nR0wiIDpBd2323AMk41G+XCbwAESCAAHlFhOyYnGcFyKdlFSACpGOAnLDd7wqQmQg55bkjQASIAAEB8voAqX6zFiAC5JTnyMgEd2aSLEDmA+RbBJ7wfD/1ud8xQLLOM3Li9QMC5LgIyTgjefYLd9VkTIDsecy7BsjMuq4+THTFJ7iZh+Kd3c5O+cBBgNSfiPAN1w8IkNdEiAARIKe/gQqQmm2r4uzRpwXIqa9XJwaIM6EDAqR5iGS9qWSeO+Db8gkQP8GaXZ6Ic1dEfFtQvd1XhETGhO2UCfwt3+CcsF6zt4+Trh8QIFdEyO6dcKMmRwJEgDzZxyAiYk7Z7mdfRyICaWSfj1N/wiRA/tn6vH779QMCpG2MdAyQHV9dCxABEjlhPmW733X/onZUf9PzPeK6d+wvuPu5LUIAAXJohGRPRiMmOW+ckAiQuGXaESAdtvuI5+jqNrP6M62Oz/eu1y9ABAggQNqESLc30x0v2gJk/0RiV4CMLOeT6zhpu9+xfVfv4H7jc0eACEpAgGx/s78pQHa9aAuQdwZI1HMhe/+P7o9N1RnNu0+UTz1KmQARIIAAaTd5iTyKVuQb9mlvnF0CJHuSuLJ9nhggERPBXdt95np9W4DMfpN204RVgAgQECACRIAIEAEyGBC7ruO2AMl6HnR8vq++pgqQ9efF7M//Trt+QIC0e6G/IUCiJpMCRIDMxMOu69i53e/Ypm8KkB2P/60Bkn2UxtOvHxAgVwVI9ZtKxDJkTMYESM1jLkB6bfenTzZ3Phd3BvpbAiQyaE+/fkCAHBsgOz6hESACpPtzR4DUb8u7J2oZ97/yEMpv+QlW9M/5Tv97QIAc90K/69CXuwKk+ic11bcR9Wlb9WN+wyRpdR112e53T3yrdlzPfvy6BEjXo6FlfTNWeU6rLtcPCJC2L/QRb3rRb7DRb8hR17dzotDlcal4zN8SIKuPXeW2tDs+nk5YI5at4izunV7vdsborte57Pvd6foBAXJkgOz4hE+ACBABcmaA7IybzJ9XCpC+ARL5nLn5+gEBAvCKDzpuvU0AECAAjQIEABAgAACAAAEAAAQIAACAAAEAAAQIAACAAAEAAAQIAAAgQAAAAAQIAAAgQAAAAAQIAAAgQAAAAAECAAAgQAAAAAECAAAgQAAAAAECAAAIEAAAAAECAAAIEAAAAAECAAAIEAAAQIAIEAAAQIAAAAACBAAAQIAAAAACBAAAQIAAAAACBAAAECAAAAACBAAAECAAAAACBAAAECAAAIAAAQAAECAAAIAAAQAAECAAAIAAAQAABAgAAIAAAQAABAgAAIAAAQAABAgAACBAAAAABAgAACBAAAAABAgAACBAAAAAAQIAACBAAAAAAQIAACBAAAAAAQIAACBAAAAAAQIAAAgQAAAAAQIAAAgQAAAAAQIAAAgQAABAgAAAAAgQAABAgAAAAAgQAABAgAAAAAIEAABAgAAAAAIEAABAgAAAAAIEAAAQIAAAAAIEAAAQIAAAAAIEAAAQIAAAgAABAAAQIAAAgAABAAAQIAAAgAABAAAEiAABAAAECAAAIEAAAAAECAAAIEAAAAAECAAAIEAAAAABAgAAIEAAAAABAgAAIEAAAAABAgAACBAAAAABAgAACBAAAAABAgAACBAAAECAAAAACBAAAECAAAAACBAAAECAAAAAAgQAAECAAAAAAgQAAECAAAAAAgQAABAgAgQAABAgAACAAAEAABAgAACAAAEAABAgAACAAAEAAAQIAACAAAEAAAQIAACAAAEAAAQIAAAgQAAAAAQIAAAgQAAAAAQIAAAgQAAAAAECAAAgQAAAAAECAAAgQAAAAAECAAAIEAAAAAECAAAIEAAAAAECAAAIEAAAQIAAAAAIEAAAQIAAAAAIEAAAQIAAAAAIEAAAQIAAAAACBAAAQIAAAAACBAAAQIAAAAACBAAAECAAAAACBAAAECAAAAACBAAAECAAAIAAAQAAECAAAIAAAQAAECAAAIAAAQAABAgAAIAAAQAABAgAAIAAAQAAegaIYRiGYRiGYRhG0bASDMMwDMMwDMMQIIZhGIZhGIZhCBDDMAzDMAzDMAwBYhiGYRiGYRjGCQECHH0kif8dAABHHAULECAAAAIEECAAgAABBAgAgAABAQIAIEAAAQIAIEBAgAAACBBAgAAAAgQQIAAAAgQEiAABAATIx0nR7IQp43LV97PTMtx+P29YPgECAAiQxYnR7KQp43LV97PTMtx+P29YPgECAAiQiUnRn5OjT/82e50Z96X69qqX4fb7ecPyCRAAQIAIEAEiQAQIt70JLG+Hb1w3HdfRifc5+j3ftvfu9eIxFCACRIAIEAES/mI9Mjq9we1anlvezE/ZDt1n26THsc96OfF9TIAkPBARkyb7gNhHwj4gAkSA+ISu+/bnPucth23vHevnpHXS5f1LgPzwoHz7t5EVnnG56vv59Dpn72fGv2Xcz5H1svPIUxn3c+RyAkSACJBztrvs9ZZ5n0+IJ9ve/evolHVyw3Px2gDJnEDdcLmsT8UrH6NO3xLdsOwCZN+Ld5frrngz8ia4FmAnRuMt8WTbu3s9Za6X3fdThDQKkE77g1RfLnO/gKrHqNN+Mjcs+5sDZHWCcsqk/NRP7t4YH5XX0+0+V99vn+733vZOWjdd3iu8/goQASJABMgLPyXsGiBPb69b6ImPvRPBHfc5+ttZAXLmtnfiutm5XXd+zxEgAsQk3LILkAs+qd35Glg9MRQfeyeCu34WKEBse8Js/wcBAqRow3vT5ewHYdntA9LjxXnHRGjXm43f3u/5aZ3r/mfqQ523BEjHx1CY9bjOi9/f7zkKVsRRjaLu58x6iLq9kdufXdez6zNivUQtX/WyZz62bz9E5U0B0ins/Pb+zonUjut+w2T6tm1PgPS5rwKk8SfHN3wSX/ETj66X6/QYnbQtCRABUhEfb/j9/akTqROeX2+YSN+47QmzXgFy4c9hzz8T+g37IlQ++bpdrtNjdNq2JED2/lZdgPgE+sQJT9fJqyM7vWvdCZC+HwYIEAEiQATIqwOk4oV5x4S80/4fb3jzEyACxLb3z3Hrpds3fAJEgAgQASJABMiVAbJjPY6ugxu3oa6TTQFyf4C8dd2dGGYC5IAA+TYxsg9I3WTSPiA91pl9QO4MkOjf/O4KkJvfAE88WaAAuWP7O3nbEyC1QSlAkjawv//3t3/77TpG/zb6fj69jtnbzrq9iHVdcbnZ66y+vYj7KUByAmHHpPyEAHlyewKk3+11+ZmKAHnftnfyh0rZtyVADgiQ1U+GT/kG4s3nJPFve7fdNwRI5ovzjgDZ8eby9PZufBMUIALEtidAuq8XAVL8xnfDPhhvPiu7f9u/7QqQewJk1+uwADk/QDI/eb35sbLtCZCTAuTC93QBIkD8mwB5X4Ds+llS59e2G3dGf0uAdDqxmkmYALFe7oskASJABIgAESCJk7vsN6/ur20CpNftZUZIt8dYgAgQAXJ/fJQFyLdJkn1A7ANiHxABsuNToh0B0nn/DwFyR4CMHpyk0+MrQO5ffzteXzq/pr3x24+SAKk+klDEEbKijmYVsV5GLvd02TPW341H1sq4TkfB6vNCPXL5itvtEh+jE16TwJrbyzhEtACx7QmQ/t/4XX50y14/DTn50+jT1ssNy95p4u48IOcHSPYb++k/Lb01QLqfjyH6XDV+imLbEyD2d7oyQE7ZT6HLE2/Herlh2avvS8ZjJEByJmECRIDcNglcjZAnZ70/4bESIALk1AC58SAfAkSACBAB8qYXrSMDpPrNJnP/ABGyZxIYESF2TrbtCZD9h/19a3gIEAEiQATIawMkc7+I6u0u8/YESN9J4G3hIUAEyJsD5I3sA9Lgybdzvdyw7J0m7vYBuTdAIt7cBUj/7abirOJdPmn1DYhtT4D4BuTKAPnzgRj9u+yjYGUfSWtkeauPgtXlxadqW5rdziKuM+pxFyCxbyZvCJDqw7+aCNZPoG/8KdatE7Tbtj0BUvO8FCDFG2P25KrTNwmdvhG4cWK689+qHj8BMvbiXbFfxOhluwbISZ+qZkwMOk4CM/cB6fB4CpC+254A2fccFSDFb5KdfqffaT8EvyGse2wztonsT70ESF6ArLzJd4iP7MO/3jgRjD5vStYn3BkTIAFi2xMgc7eVsS0IEAEiQASIABEgRwbISROGbpPAnZ9mRv/UsPOkR4Ds3fYqbs95QM4OSAEiQASIAHltgMy+oVTtF9E1QG792c5JE8EdE/KTHtfbJ2Hdtz0B0n+7ECCJKz57cmUfkPdMSnf+W9XjJ0D6BcjIT2Ju+5TVRDBu/ey4vt2P6xsmYAJEgIiQJgHy54r/6f9XHAVr9mhI2Ufkml2G2fuy47GOvp8VR8GKOJqVo2CdGSAzk6Q3fPvxhkOkrpxhvPKnVxnLLEDese0JkPPe1wSIT7GPvL3qjdq3T7XrVIAIEAFS981A528/VpdZgLxj26t6PegYIKe+rwmQ5JW/49+q72en9XLKY5txXzIuJ0D2v1hXH+7yp2/Mdv38qnqidPM2VTXB6XguEQFy/7YnQESIABEgAkSACJCmATLyhtZh/w9vjH0nj7snSwLEttc1QKo/PBEgAkSACBABIkCuD5Cq9eGN8awJYNdPhwWIbU+ACJCrA+TbhMo+IPYBsQ+IAIl6s6yYKN3y7cfo+rYdnhMgnSb+tq29296Nk2wBIkCmHoCVf4s6StSnv4u4vd1H3co4ulSndTa7TE8v5yhY50bIybe9I0De9Oa4cwIoQGxbN8dH9WNdcX4er7EXBUjHSVmnbzWq18sN3zx12s6cB0SAnBgfo8tsAnjOJFyA2PYEyNp1CRAB0uoM6tXXmbFebtj3ptN25kzoPQLk9NveFSBveoPcNXkSIALkDeuoy09lo07S6PVVgAgQASJAvCG/PkBOnzicvs2dtn4FiG3vxpiqPESx11YBIkAEiADxhtzyMKan//xqZplNAM+YiDsRoW1PgOwPAwFy4ZM0+zrtA2IfEPuAnBMgt8TPrgB52xvljglgt2/yBIj4OO0x33GCRq+pjQIk4whBEUdtyrjOqKNLRRxh6dNtRB15KuPfZrePjHWWsY1HHI1MgJwdIBXL3mmdmwD2n4wLENueABEgVwXI7d8KVC97xn055ZwrN0zAs9aLN+fxELjltrv/Vv+ynSXLl7HT+WwEyLu2vdOXs+LQu9WxdOkHOn2OynLKfhHVy55xX04563zXCVjF4yBAzngBf2OAvOVNc/fy7Z70mHCLjxOX96RIePnPWQWIABEgAkSACJAzlvttk7+Mddztcdv9U0bb3j3LfsthfV9yMA8BIkAEiAARIJ1ve+Wkh7tPunjaG+qp3ww8uW8nHazhxm1LfOStg66HXxfbxQGyMjGyD4h9QHY/ftXPB/uAnP/mLUDOf1Ptft9PnsALkLO3vRu2dc/FFwXInw/S3/975XJPr3P2iFUZR54a+buI5VtZF5X/Vr2ud19/1OMpQObeFE6OHwGyf6Jz8+SsQ6C/bdJmIlq3zXgevjBAVidJN3xCX718p764uJ93r8e3B0iHNzsBctfk76THQ4AIjx3bzknPxZc+rnvemFcud8o+CtXLd/oLivspQKDLhOHmSRq2Petu73PRYylABIiJvQABExnPIWx7IEAEiABxPwUI1D23wbYHFwXIyiTJPiD2AXE/BQhkPW/AtgcXBkjEEY8qjnT19N8y7lvUUbBO/iakal3PvhHsPuKYAAEABMhhE6NTzoXx5pPR3X5OEucBAQBoeCb0iolt17OBdzqD+psfo07LIEAAAAEiQASIABEgAAACRIAIEAEiQACA1wZIt4mRfUDOi5Cu67p6GQQIACBAJiZHf//vT3838m+z9+XUf5tdvqp4WL1cxpHDZq9z9vFyFCwAgI0B8mSSdPv5Ll6yEZV9a1P9DVL37dNzBAAQIF8mSG864/fb4iN7v5XqfWhO2D49PwAAASJAWkZB9Y7XAkSAAAAIEMERGiQCRIAAALQLkG+TJPuA9AiPTvtyZGxLt26fniMAgAD5YXL09//+9Hff/i3jKFEVR+E6ITpWv0VY3Sayj1g1sgyzR92KWk8CBAAQIA0mRm/8hHt3fJx+nozK+7kjFAQIACBA/v33mB2eT/yNf3QoVIXIKY/DaWerFyAAgAARIOXxccLtCRABAgAgQBoHSFV0VN2+ABEgAAD2Afm35z4gO8Mj877YB8Q+IACAACk7ClbUdcwemSniKFgVk7xO8ZEZIaPrOmNberq9ZByJLeoxFSAAgABJnPjunJRVTPQ6xseO+3b7Ebgyf5oIACBAgie8WZervs7M29i1M3m39fDkOqv3P8k+uhgAgAARICXXX3mej8qdqgWIAAEABIgAaTTh3nXCwax1IkAECAAgQNpEyM5JWcdvP3ae9fy0Q8vaBwQA4OUBknHkqcyjDEVe5+okPis8Op7f4sn2Er3Njfzb7m1JgFz94vw4jldeK55cduW+VX7QEfU3UdcZ9Zqbvc6zlzHj8Y16jmQ873Y9r1fuw+j96XrAHATI9KTpLUe+yo6P3ddTtb2cOqG0bhAgAkSACBABggBp8Mb69h3PV184opd15X7tDrXTJpMCBAEiQASIABEgCBAB0ipAKs7DMXsbAkSAIEAEiAARIAIEBMhhR77qMhHv9i2IABEgAkSACBABIkAECAIkddL01iNfdZqEd/8W5IYJpXWDABEgAkSACBAEyKY32NF/e3qdXY9clP0CvStCVqLlyb89fRwqjmY1u407ChYCRIAIEAEiQPAe1/w8IJ0mZZk7fEf+feQLROZ9zTgvR/X5PGa3F+cBQYAIEAEiQAQIAuRlb9w7r7Pi249dh9h9+rcZZyavPqP57HpzJnQEiAARIAJEgOA9ToAcFSBR8ZGxc7kAESAIEAEiQASIAAEB0ihAsn9+lXHG84y/FyACBAEiQASIABEgCJCr37y7XOfuF+ZdbxCj69M+IALEi7MAESACRIAIEARI2hts5L99+rvIyd7sdWb+/Orpi0H2tyAzf/vT/8/YPqK2idltMPO+ePEXIAJEgAgQASJAECAJnw6ffo6Q7In87m81ZsJp10T6lvPNePEXIAJEgAgQASJAECALT8Dbz5LeadLf/b50O9Fit21JgAgQASJABIgAESAIEAEiQASIAEGACBABIkAECAgQASJABAgCRIAIEAEiQAQIrw2Qb5Mm+4C8L0B2TKTtA4IAESACRIAIEAHC5QEycsSjiKNgzV5u9shFHY4mddpO6KvrM3MbfHq5jPsiQBAgAkSACBABggBJ/IS308ab/c2Mw/Du2yY6nT/EeUAQIAJEgAgQAYIA2fRG2mkDrtg3xYkI92wTnc6g7kzoCBABIkAEiADBe5wAaRkgUX+/OhHI+HsBIkAQIAJEgAgQAYIAESBFk9RdR5TqdOQuASJAECACRIAIEAGCACl9M+06garYTyDzxXn0TS/zzX/0b7O3CfuAIEAEiAARIAJEgPCCAJk9ylDE7c3exux1PD2qUfZPoCJfIKp+rjW6vVRvgxlHaXMULASIABEgAkSAIECS30Cr37BPuS+ZLzTZE6DM2Om6DXY7T40XfwEiQASIABEgAgQB8m+vM1t3PMt21iF2dz5+O7+p6XCdu86u7sVfgAgQASJABIgAQYAIkPAAqVyOip3VBYgAQYAIEAEiQAQIAkSAFC975CF2s+975rcfAkSAIEAEiAARIAIEAZLyBlr9ht31vqxM2iPe0DOuN+K+2AfEPiAIEAEiQASIAEGAhL2J/v2/M67/221E3JeZJ/lvl+t6iN3oT/Cjji61cxscOVpXxbYlQASIABEgAkSACBAESLNPok+5XHY8rI6o+DjlW6nVx6/DRBUBIkAEiAARIAKE1wdIp9/3d7xc9gtJRnjMxMcJ++WMXK7Li68XfwEiQASIABEgAgQBIkDKAiQjQqIeAwEiQBAgAkSACBABAgKk6eUi1lFVeESElQARIAgQASJABIgAQYAcN0m6YR+QrCdzRnTM3E/7gAgQBIgAESACRIBAaYBUHwUr477MHvFo5nIV5/qInhB9Wo5vy159BKnZ2xtZBgGCABEgAkSACBDYFCCdNsrqT79XPjXvGCEz8RG9Xiof25Mm/F78BYgAESACRIAIEARIsw2z+vf/EfsNdIqQlfiIXi8Vj+0p27UAESACRIAIEAEiQBAgAiR0op111vOI8Bi9zwJEgCBABIgAESACBARI8wAZefOqio6VF0UBIkAQIAJEgAgQAQL2AVm4XNW+DpmH0824fvuACBAEiAARIAJEgMCWAPlzA91xHRlHPBq5b7NHgooKhV0nKFxZ9uyjYI3cz4zLCRAEiAARIAJEgOA9rug8INWTq06fbu/8NmRHfGQt+03bmQBBgAgQASJABAgC5NA34A6Xm73O1dvrGh0Vy37ydiZAECACRIAIEAGC9zgBcmSAZIVIxeMnQAQIAkSACBABIkAQIALk0ABZDZIdj58AESAIEAEiQASIAEGAHPEm3PVys9d5+xPXPiACBAEiQASIABEg0CZAso9KtfuoRtFHwYpanxWXe7p8UUccy9jOMraXzOXz4i9ABIgAESACRIAgQBImTZ3OI1F9P6vXZ6fH4ZTHdsc24cVfgAgQASJABIgAQYAEv6E8udyb9/votK/Mmx/bXduEF38BIkAEiAARIAIEASJABIgAESAIEAEiQASIAAEBIkAEiABBgAgQASJABIgA4XUBsjJpsg9I3frs9DjYB0SACBABIkAEiAARIAiQ6SfeT/+/+khJUfdl5DZ++7eM29t9ueyjRM1uL7PremQbjFg+AYIAESACRIAIEARI4qfGnb4tOOW+ZExIu32yX/n4nXyuFi/+AkSACBABIkAECAJk4InSaX+JU+5L5Jt15uVOefxOOWO7ABEgAkSACBABIkAQIAJEgAgQAYIAESACRIAIEO9BCBABIkAECAJEgAgQASJABAivDZBvkyT7gNgHZPfjZx8QBIgAESACRIAIEC4JkOwjF3W+L9VHwXq6DFGXO/HIYSOP7dN/W3lcIh9rL/4CRIAIEAEiQAQIrw+Q28/dMHu56ifr7d9sVN+e84AgQASIABEgAkSA0DBAbj979ezlqp+wt+/bUX17zoSOABEgAkSACBABggARIAJEgHjxFyACRIAIEAEiQBAgAkSACBABggARIAJEgAgQKAqQlYmRfUD6Pw72AbEPCAJEgAgQASJAvAfRLkD+3ECrLvf0OmePzDR7hKWK5ctehtmjg2UcBStqe8w+ClbFNuHFX4AIEAEiQASIAEGAHPbGHnG5U56Abz6HRqdvPDpszwgQASJABIgAESAIkCZv6qOXO+VJ+OaziHfa50OAIEAEiAARIAIE73ECRIAIEAGCABEgAkSACBABggARIAJEgAgQASJABIgAESACBAFy2Rt7xOXsA2IfkF1h4MVfgAgQASJABIgAQYAUvTGv/FvG0bmijnhUNWEdXS+7j4LVddlHtjNHwUKACBABIkAECN7jDguQUz6Jv+F+Vk96bz8/ivOAIEAEiAARIAIEDguQU/ZFuOF+Zlyu+jqrl33X4+7FX4AIEAEiQASIAEGAmNgLEAEiQBAgAkSACBABAgJEgAgQAYIAESACRIAIEAGCAFl48kb8m/tpHxD7gCBABIgAESACRIDwsgCpPgJR5tGIVu/L6Kfxket+9ohVUUf8yl722dub3c5W1oUA8eIsQASIABEgAgQBsuGT6E6fUp9yexmPww3LfsO3NgJEgAgQASJABIgAQYAkvsl2+p3+KbeXOdk5edlv2G9FgAgQASJABIgAESAIEAEiQASIAEGACBABIkAEiPcgBIgAESACBAEiQASIABEgAgQBMjGBsg9I3aTTPiBnTv69+AsQASJABIgAESAIkIU32yf/lnEUrIijGs0uw+6jYM1eZ6d1nbHOZq8z6ghdAsSLswARIAJEgAgQBEjDN+Wu/5axDB6HunV20rczXvwFiAARIAJEgAgQBMiGN+RO/5axDB6HunV22v4pXvwFiAARIAJEgAgQBIiJrwARIAIEASJABIgAESAgQASIx0GAIEAEiAARIAJEgCBAFp68Xf8tYxk8DvYBESACRIAIEAEiQAQIAmTiiZd5PdVHWIo4UtLIv+18HKLWS/XRs3avp4j1KUAEiAARIAJEgAgQBEjzSdIp54q4/ZP9U9bL7snlSc8tBIgAESACRIAIENoHSPVGesrZsm/ft+GU9dJxYilAECACRIAIEAGCABEgAkSACBAEiAARIAJEgAgQBIiJtvUiQLz4CxABIkAEiAARIAiQzZMk+zpYLydNLk96biFABIgAESACRIDQOkAyjlw0e4Sl2fuZvewRR9laWX+zR23Kvi9RRwfLWL8ZRwATIAgQASJABIgAQYAkTow6nUOj06f7uyc5Xe/LKdvLjsfdi78AESACRIAIEAGCAPn3nLOId9q/oeMEp8N9OWV72fW4e/EXIAJEgAgQASJAECACRIAIEAGCABEgAkSACBAQIAJEgAgQBIgAESACRIAIEK4MkG8TI/uA2Afkxu3FPiAIEAEiQASIAIGNAfLnBjr6b5/+rvo6Z64/637O3peny777iFERR5Davb1kHMlLgAgQASJABIgAESAIkE1vwjuvs9O5TE759P6U66zeXpwHBAEiQASIABEgCJBD34CrrrPT2dxP2X/hlOus3l6cCR0BIkAEiAARIHiPEyACRIAIEAAAASJABIgAESAAgADZGCE7r9M+IPYBsQ8IAMDBARJxxKOo68y4LxHrJeooShHXWX3UrYjHOetx2LnsAgQAECDBk6ZOn+6/+VuP6uVr+MQ44oSBAgQAECCDE6au+ze8eb+P6uXrHB879yURIACAABEgAkSACBAAAAEiQASIABEgAIAAmZg02QfEPiDdIqTzsgsQAECADE6cRv8t4zorjqp04nqpXr6OEXLKdQoQAECAAGWhJEAAAAECCBAAAAECAgQAQIAAAgQAECCAAAEAECCAAAEABAhQ+yT+6X8DALQOEMMwDMMwDMMwjKJhJRiGYRiGYRiGIUAMwzAMwzAMwxAghmEYhmEYhmEYAsQwDMMwDMMwDAFiGIZhGIZhGIYhQAzDMAzDMAzDECCGYRiGYRiGYQgQwzAMwzAMwzAMAWIYhmEYhmEYhgAxDMMwDMMwDMMQIIZhGIZhGIZhCBDDMAzDMAzDMASIYRiGYRiGYRiGADEMwzAMwzAM48wAAQCA3UzMBQgAAAgQQ4AAACBADAECAAACxBAgAAAIEEOAAACAABEgAAAgQAwBAgCAADEECAAACBBDgAAAIEAMAQIAAAJEgFD+BLrhyf/2xxEAECBGYoDM3kj09UZvoB2eNLc82Xfexs71UbneOzyfsoM2+oUOAAFiCJBWARIxUTlxglS5/ro9Xh0eRwFSFyBiBECAGAKkbYBET7Ce/m3HJ/jM5Xa8oGSvj8jLCJD9ASJGAASIcfA+IFlv7LPXFTmRXp1Ejl6m05M7a7lnt5vsiWTWZP/k51Plz84y140IARAgxksCJHrjy7w/K5OTyEl4hyf2zY9V9jac+U3BjudT5b4vFetHhAAIEEOAtJqg7AiQvy9/Ynx0m0zu3H4j1q0A2Rd5IgRAgBgCpP2kNnoydGJ8dHusovZn2rWOTwyQiPCrfr0RIQACxBAgR05qTwqQzAnXrsnk7oDpEMFdAmT1W4gdrzciBECAGALkuEmtABEg0dfdOUAi15sAAUCACBABcnGAVJ+AsXuA7Dwh5c0BsvLY7Xq9ESEAAsQQIFcESLfJy2lnX785QLIPapAdIFERIkAAECACRIAEB0inCYwAESDRkSBAABAghgDZNKntHiEn3rfT42PlPt4QIDOPw87XGxECIEAMAXJVgOyeyAiQfgGSfWjnigBZXZcCBAABIkAESNKkdveE5sYA6Xr0q7cFyMr6FCAACBABIkCKAqR6UnNTgHQ9+aAAWV9OAQKAABEgrwuQrDNY757cnLp/Stb6EyDxO4oLEAAEiCFAgnb8nVmObhGSdeK4iOWrjg8BknekqtFlFSAACBAB8soA2THJrZ7o3BogGYEoQHIC5MkO7AIEAAEiQK4LkB1BIEBiDjkbue4ESN65OgQIAALEECBNvonoetu7r9dO6HcFyMgyCxAABIgAeX2AdHhCnRQgEY+9ABEgAgQAASJArg2QU55UJ0VIdYCcFCHZP0vrGiBPl73L81t8AAgQQ4BcHyA7Jj03BUjm7QqQ/AD5n+sRIAAIEAEiQIru345QEiACpDJAniy/AAFAgAiQ9pNbAdIvQroFSJcIWbnuTs+nynPi7HjeiA8AAWIIkNRPXgVI3VnFKy4vQOpjXoAAIECMFgGSMZkWIPVP6LcFSNVkv+PPjKq28ZE3kep1Iz4ABIhxaYBETQzeEiC7n9Q3BMju7aVbGEU+PplvJKeuXwAEiLEpQJ5sLFWT8hMCZPfkp8vk/bbJaNV1VT2fbguQDucCAkCAGIUB8vSEZKcGSOVPhyqe3G8KiNV1Ubl/TeXzqepkfzvPHSM+AASIcXCAZGwwmbdXsazdP3mdWV8r6zbjsaq8rupP1Ls/nyKXZ+cbEAACxDg4QCI3muzbOmk5T3uiVwbI6HWf9rh2fj6dHiAACBDjkgCpmGx2CJAOt9/pCd9hm6i+rk6HUd7xfIpcjqo3IAAEiHFxgDzZoN7y5LnpRcCLYZ/14bEBQIAYAgQAAASIIUAAABAghgABAAABIkAAAECAGAIEAAABYggQAAAQIIYAAQBAgBgCBAAABIgAAQAAAWIIEAAABIghQAAAQIAYAgQAAAFiCBAAABAghgABAECAGAIEAAABYggQAAAQIIYAAQBAgBgCBAAABIghQGj6ojPy362v/3siY91aZkCAGNcFyOoNjV5PxMZb8ST49ndPru/pdYyup5V1m/0YdQ+Qp8u48lzYtX2vXL5iO/h2X0fW6+hjkLFMK+us6nk3er2z63X1eZK5PjJeL3c8xiISAWJcGyAjL3grl1mdJGW8gD8NjIjrj/qkcuTvZ5c9K0Cq3kxnJxDRf1dxPSsTzspPzZ+85syE4o74iLov0es7Y1vIeJ5kro+V1/OM94KVZfItFgLEuDZAov4tepIdMUme+WZh9E024m8yJsmry541Eap6I515LKPXbWV8zARs5TYx+ml41DJUbNOrk/Wd29NKOK0GW9b6WNnGsi9b9d4HAsQQIAEvwllvrqtvlE/fiGd+zpAdPRWTtdn1lfkC2GVyHvkNSsbj3TlAusXHrtfGiMuvLNPKhxBZ62PX45SxTAIEAWIIkM0vwKuXzf6kLvJTxh0TsKoA2flG2ilAMn6+1TlARu7n05/JVG7L3QMkc7L+6bVRgNR8KCRAECDGa46ClfVtw+rEuPpT/aiv1EeDYTUwdr9h7f75Vfb20O2gCtnRUH0fI37OtGvbyY6BLgGSvf2cFCDZ8S9AECCGANkQIFVvmNFvVBEBUvVb450vLB0nkZnxEb19Zq23rOXssE9W1wDpOFnfGSBZz9OVHeCzA2T1+kGAGAJkcQK38kKcOVGs2tHzlAB5OnmYPYTlbQHy5FDNldtm1ja0Gu8zP/uJWrfVARJ137IOUVz9k87M5+rK+1TEB1JZP28GAWIIkKDJ284dOlcmQdEBknV4zOwXmpsCJOPbj9XDkEZPVqoOBzt7mN2Z8+RELWNGgEQH7cwydwqQrO1v5VDcGd/YChAEiCFAEt9Aoj51nL1v2b9frzzU5YkBsvsT1BMCJOJvMp+7Wcu4ckK3qnWbHSCR6zt7n5qsAMvc/k4MkO7faoMAMY77BiTy24+n19fhTSwiQH77t8gThGVMPp9Olne8AO6Mj6hPnStO+pn1c6WsE25GrdvqCXjVz8NWviGpPPhHVpSt/Czt6bdMq/et8gMZECDGq36CFb2xVgVIZlDNTCgz1vWOF5XuAbLzp2AjZ7CPXr+ZP1XqMPnvFCCr21nm9lSx7NXrI2P/kJV1tOvACiBAjNfthF4xiak6ClbmkU9m37R2/typ8++XbwmQqglL9M8wZ0PpDQFScbmK7X/3YaBX9r+puOyn1/LOH96AADFeEyARb4wVR/LJOBHhk7/J+JlLZoB0egHcGR9RAVJx33ee0E+A9AqQHdtL9f3dddmdz0UQIMarzgMSESDRk/Df/j7qt/aRARIdX1nnpDg5QDI+na8MkIjHVYCsfUhweoDs/PbjtADJ3j4ECALEECDJb9CRk8SK8ypETVRndxyPmDxkBkinN9wuAbIS6xHLkL1sOwMk8oOQqNe3ivWdscxZ8dEh7gUICBBDgKS+SY6+2UWetXlXeO2aaEYFyO7zgFTE28phmVdvp/IgDh0DJGuiH3127YrtacffZ6+P7HPo7DhBrABBgBivC5CMN6FvL9JZbzYz35ZETPSzfjIV9Y1J9r4yqy9UlRPfjPNORE6CKg6NnT3ZqTypXdW2vvIaUHXAjN2v+5XrY+X1LuOcKVWHWgYBYhwbICuHvI26zOz+EFHnvpi5X7NHMFldjojHNurFJWLCnDEJGXk8q49I8/T6Mp4fu46wU3WemuztPfvkdpnbU1R8rDxXs9dH5YkII7YPAYIAMXwDApsDhPvfiOg5Oai4HJ4zCBBDgADgAwQAAWIIEAAABIghQAAAQIAYAgQAAAFiCBAAAASIIUAAAECAGAIEAAABYggQAAAQIIYAAQBAgBgCBAAAAWJyLkAAAECAGAIEAAABYggQAAAQIIYAAQBAgBgCBAAABIgAAQAAAWIIEAAABIghQAAAQIAYAgQAAAFiCBAAABAgAgQAAASIIUAAABAghgABAAABYggQAAAEiNE4QAzDMAzDMAzDMASIYRiGYRiGYRgCxDAMwzAMwzAMQ4AYhmEYhmEYhiFADMMwDMMwDMMw/jdAAAAAio50JkAAAAABAgAACBAAAAABAgAACBAAAAABAgAACBAAAECAAAAACBAAAECAAAAACBAAAECAAAAAAoRXbAT/MX77myfXs3IfRu/nymVXrn/0PjxZ3qjlyngcV5Yx+7JRj2nGfcjYxla2n8rHonKbjFqf2a+B3V43Ml6rK99rop7jGa+Hu173std/9uv86H1buQ8IEASIABEgAkSACBABIkAEiAARIAgQASJABIgAESACRIAIEAGCAEGACBABIkAEiAARIAJEgAgQAYIAESACRIAIEAEiQASIABEgCBAEiAARIAJEgAgQASJABAgCBAEiQASIABEgAkSACBABIkAECAJEgAgQASJABIgAESACRIAgQBAgAkSACBABIkAEiAARIAJEgCBABIgAESACRIAIEAEiQAQIAgQBIkAEiAARIAJEgAgQAYIAQYAIEAEiQASIABEgAkSACBABggARIAJEgAgQASJABIgAESAIEASIABEgAkSACBABIkAEiAARIAgQASJABIgAESACRIAIEAGCAEGACBABIkAEiAARIAJEgCBAECACRIAIEAEiQASIABEgAsTcU4DYCASIABEgAkSACBABIkAECAIEASJABIgAESACRIAIEAEiQAQIAkSACBABIkAEiAARIAJEgCBAECACRIAIEAEiQASIABEgCBAEiAARIAJEgAgQASJABIgAQYAgQASIABEgAkSACBABIkAQIAgQASJABIgAESACRIAIEAEiQBAgAkSACBABIkAEiAARIAIEAYIAESACRIAIEAEiQASIABEgAgQBIkAEiAARIAJEgAgQASJAECAIEAEiQASIABEgAkSACBAECAJEgAgQASJABIgAESACRIAIEASIABEgAkSACBABIkAEiABBgCBABIgAESACRIAIEAEiQASIAEGACBABIkAEiAARIAJEgAgQBAgCRIAIEAEiQASIABEgAgQBggARIAJEgAgQASJABIgAESACBAEiQASIABEgAkSACBABIkAQIAgQASJABIgAESACRIAIEAEiQBAgAkSACBABIkAEiAARIAIEAYIAESACRIAIEAEiQASIAEGAIEAEiAARIAJEgAgQASJABIgAQYAIEAEiQASIABEgAkSACBAECAJEgAgQASJABIgAESACRIAIEASIABEgAkSACBABIkAEiABBgCBABIgAESACRIAIEAEiQBAgCBABIkAEiAARIAJEgAgQAWLu6YGyEQgQASJABIgAESACRIAIEAQIAkSACBABIkAEiAARIAJEgAgQBIgAESACRIAIEAEiQASIAEGAIEAEiAARIAJEgAgQASJAECAIEAEiQGLfmKJGxwCJmCQLEAEiQASIAEGAIEAEiAARIOEB8uftVU4wKh+fXQGyazs85b5FvdfsWp7M18PO21rE66MAQYAgQATINQHS6Y1WgAgQAbI2ORUgAkSAIEAQIAKkdYCcMgnM3oajJlQCRIB0CxEBIkAECAIEASJAWgTIaZPAjgHy7ZsTASJAOk9WBYgAESACBAEiQARIWYCcOAkUIAJk17cIp09a3xQgt0SIAEGAIEAEyFUBEvmGGHX9JwdI1k7E3SaZpwZI1YRtdRvInLjueoyinrMZl41+3YvefgQIAgQBIkCuCZCqiYQAESCd13/HAIlcXxHvNTcGyOprkwARIAIEASJABEjhRFSACBAB0mcbqDhPjQARIAJEgCBABIgAESACRIC8LECibluACBABggBBgAgQASJABIgAKYsQASJABAgCBAEiQASIABEgAkSACBABggBBgAgQASJA7g6QlXUhQPYFSMXzWoAIEAEiQBAgAkSACBABIkAEiAARIAIEAYIAESACRIAIEAEiQASIABEgAgQBIkAEiAARIMtHRRIgAkSACBABIkAQIAJEgAgQAfLaAMma/AsQASJABIgAQYAIEAEiQASIABEgAuRVAVL5+iBAECAIEAEiQBoHSOQ67BogqxEiQASIABEgAkSAIEAEiAA5LkAyJt4C5J4AyZz8CxABIkAEiABBgAgQASJABIgAESACRIAIEAQIAkSACJB3BUj0OrwtQEYmpwJEgAgQAYIAQYAIEAEiQATIEQGSPfkXIAKkKkC6vD4IEAQIAkSACJCGAZKxDgWIABEgAkSAIEAQIAJEgAgQAfJv/qGJBYgAESACBAGCABEgAiR8MiFA5n7WJUAEiAC5P0A6fUAhQBAgCBABcmSARLwxCRABIkAEiAARIAgQBIgAESAh+wIIEAEiQASIABEgCBAEiAARIKVBIkDGY02ACBABIkAECAIEASJArgyQ7EmnABEgAkSACBABggBBgAgQAVIWICuHaRUgewMka5kFyP4AmX2vESBrAdLtKHkCBAGCABEg2wKkKkI6BUj1pHdl2QWIABEgvQJk9wE9BAgCBAEiQK4IkC5vwgKkV4BEL7cAiQuQyAMgCBABIkDMPQWIjUCACJAtAdLhjbgiQHZMegWIAIkMkKplFyACRIAIEASIABEgZW9MAkSACJCeAVK57AJEgAgQAYIAESACpPSNSYAIkOhlFyBrz+XI7UuACBABggBBgAiQdgGy4805O0B2TXoFiACJeh2I2rYESMy2mPm+KUAQIAgQASJANkaIABEgNwXIbz9xy17nAsR5QAQIAgQBIkAEiAA5IkAyJp9vD5Dd25MAESACBAGCABEgAmTx9+rf1s/pE0YBIkCqtyUBIkAEiABBgAgQAdLqjSl7EiZA7g2Q6nh5S4Bkv9cIEAEiQAQIAkSACJDtAZI5GRMgvQIkYh0KkB7xIUD2Bci32xMgCBAEiAARIIOXzZpUrU5musdH5O/2Bci9AZL1Oi9ABIgAMfcUIDYCASJAjg2Q6ImZALkvQHbsP3LbmdAFiAARIAgQBIgAESCNA6Ryp+mI+9A5QCIm3gJEgAgQAYIAQYAIEAHSNkC+TXwEiAARIALktACJfK8XIAgQBIgAESAJkxYBck+A7DqErwARIAJEgCBAECACRIAIkKTnjgARIAJEgAgQBAgCRIC0DZDsT92jJmsCRIAIEAGSFQgCRICYewoQG4EAESACRIAIEAEiQASIAEGAIEAEyM0BkjXpjZiwvTFARg+DK0AEiAC5O0BGzwsjQBAgCBABIkAEiAARIAJEgAgQBAgCRIAIkLcGSFZQRE/UBYgAESACRIAgQBAgAkSAFAZI1mMhQASIABEgAkSAIEAQIAJEgAgQASJABIgAESAIEASIABEgZwXI6nV2CpDu26QAESACRIAIEAGCABEgAqRlgFROFAVI7TYpQASIABEgAkSAIEAEiABJe+M+PUCyg0KACBABIkAEiAARIAgQASJANgdI5b4Pu4MiI0Ay94WJ2iYFiAARILEBUrGPmABBgCBABMiVAVJ9/gsBIkAEiAARIAIEAYIAESACpEWARD5e1QGSeUJGASJABIgAESDmngLERiBABMi2AKlaD523GQGSf5SzrG3ylAD5baIpQASIAEGAIEAEyGsDJPLNLztAon/O1DVAor41eroubw2QlZ+0ZWzvpwRI5ra6M0Aynm+r67/qPEECBAGCABEgxwXIrslJ53NPnLa+d03kuq+jDtvfrQFySpCfuJwCBAGCABEgAkSACJBD19GbA+RNE3MBIkAQIAgQASJABIgAMYEVIAJEgCBAECACRIAIEAEiQASIABEgAkSAIEAEiAA5KECythkBclaAnDIpFCACRIAIEAGCABEgAiQpQLLfqCu3mextOGObzHocd2+TGQGS8RrY7XUj47W68r2m8ihY2e+J2Y9jh9cHAYIAQYAIkBYBkvlGLEAEiAARIAJEgCBAECACRIAIEAEiQASIABEgAsTc0wNlIxAgAkSACBABIkAEiAARIAgQBIgAESACRIAIEAEiQASIABEgCBABIkAEiAARIAJEgAgQAYIAQYAIEAEiQASIABEgAkSAIEAQIAJEgAgQASJABIgAESACBAGCABEgAkSACBABIkAEiABBgCBABIgAESACRIAIEAEiQASIAEGACBABIkAEiAARIAJEgAgQBAgCRIAIEAEiQASIABEgAkSACBAEiAARIAJEgAgQASJABIgAQYAgQASIABEgAkSACBABIkAQIAgQASJABIgAESACRIAIEAEiQBAgAkSACBABIkAEiAARIAIEAYIAESACRIAIEAEiQASIABEgAgQBIkAEiAARIAJEgAgQASJAECAIEAEiQASIABEgAkSACBAECAJEgAgQASJABIgAESACRIAIEASIABEgAkSACBABIkAEiABBgCBABIgAESACRIAIEAEiQASIAEGACBABIkAEiAARIAJEgAgQBAgCRIAIEAEiQASIABEgAgQBggARIAJEgAgQASJABIgAESACBAEiQASIABEgAkSACBABIkAQIAgQASJABIgAESACRIAIEAEiQBAgAkSACBABIkAEiAARIAIEAYIAESACRIAIEAEiQASIAEGAIEAEiAARIAJEgAgQASJABIgAQYAIEAEiQASIABEgAkSACBAECAJEgAgQASJABIgAESACRIAIEASIABEgAkSACBABIkAEiABBgCBABIgAESACRIAIEAEiQBAgCBABIkAEiAARIAJEgAgQAWLuKUAQIAJEgAgQASJABIgAESAIEASIABEgAkSACBABIkAEiAARIAgQASJABIgAESACRIAIEAGCAEGACBABIkAEiAARIAJEgJjXChAEiAARIAJEgAgQASJABIgAQYAgQASIABEgAkSACBABIkAQIAgQASJABIgAESACRIAIEAEiQBAgAkSACBABIkAEiAARIAIEAYIAESACRIAIEAEiQASIABEgAgQBIkAEiAARIAJEgAgQASJAECAIEAEiQASIABEgAkSACBAECAJEgAgQASJABIgAESACRIAIEASIABEgAkSACBABIkAEiABBgCBABIgAESACRIAIEAEiQASIAEGACBABIkAEiAARIAJEgAgQBAgCRIAIEAEiQASIABEgAgQBggARIAJEgAgQASJABIgAESACBAEiQASIABEgAkSACBABIkAQIAgQASJABIgAESACRIAIEAEiQBAgAkSACBABIkAEiAARIAIEAYIAESACRIAIEAEiQASIAEGAIEAEiAARIAJEgAgQASJABIgAQYAIEAEiQASIABEgAkSACBAECAJEgAgQASJABIgAESACRIAIEASIABEgAkSACBABIkAEiABBgCBABIgAESACRIAIEAEiQBAgCBABIkAEiAARIAJEgAgQAWLuKUBsBAJEgAgQASJABIgAESACBAGCABEgAkSACBABIkAEiAARIAIEASJABIgAESACRIAIEAEiQBAgCBABIkAEiAARIAJEgAgQBAgCRIAIEAEiQASIABEgAkSAIEAQIAJEgAgQASJABIgAESAIEASIABEgAkSACBABIkAEiAARIAgQASJABIgAESACRIAIEAGCAEGACBABIkAEiAARIAJEgAgQAYIAESACRIAIEAEiQASIABEgCBAEiAARIAJEgAgQASJABAgCBAEiQASIABEgAkSACBABIkAECAJEgAgQASJABIgAESACRIAgQBAgAkSACBABIkAEiAARIAJEgCBABIgAESACRIAIEAEiQAQIAgQBIkAEiAARIAJEgAgQAYIAQYAIEAEiQASIABEgAkSACBABggARIAJEgAgQASJABIgAESAIEASIABEgAkSACBABIkAEiAARIAgQASJABIgAESACRIAIEAGCAEGACBABIkAEiAARIAJEgCBAECACRIAIEAEiQASIABEgAkSAIEAEiAARIAJEgAgQASJABAgCBAEiQASIABEgAkSACBABIkAECAJEgAgQASJABIgAESACRIAgQBAgAkSACBABIkAEiAARIAgQAABAgAgQAABAgAAAAAIEAABAgAAAAAIEAABAgAAAAAIEAAAQIAAAAAIEAAAQIAAAAAIEAAAQIAAAwDsCxDAMwzAMwzAMo2hYCYZhGIZhGIZhCBDDMAzDMAzDMASIYRiGYRiGYRiGADEMwzAMwzAMQ4AYhmEYhmEYhmEIEMMwDMMwDMMwBIhhGIZhGIZhGALEMAzDMAzDMAxDgBiGYRiGYRiGIUAMwzAMwzAMwzAEiGEYhmEYhmEYAsQwDMMwDMMwDAFiGIZhGIZhGIYhQAzDMAzDMAzDODNAAAAAsgkQAABAgAAAAAIEAABAgAAAAAIEAABAgAAAAAIEAAAQIP9xgV/H08s8+bfR61q97azbe3K5rHX/7boyrhsAAMIC5KfJ67f/vnq51b9/cttPw2Lm3yMn8avL8effZ103AACUBMjsv3UJkKzAqAiQiJiKuG4AABAgD287675XBcjI/dkdUgAACBABUnDfs5f9lG9yAAAQIK8PkNH7GDEhrwyQzHgBAIDyADl5J/S//9uJAfLkiF5Z1w0AAOkBMnrI1pMCZPa/FT1gU/GxunO6+AAAYGuARP1btwD56b/PBEjGOTVmz9Xx5HadBwQAgOMCJGKyf0uArNzfimXPvJ8AACBAJs99sXrfOwRI1nUDAMB1AfL0SFWf/n31tk8NkOywAwAAAVIYICvrYzYosr7RECAAABwXIBk7oe8MkL8jpGqdRAVIZFgCAEB5gHw7BO+3w7j+FhNPrzfi73+77YjJedShiZ9ed1RMOPIVAAAtA4RzHlgAABAgVD2oVgQAAAIEAAAQINYEAAAgQAAAAAECAAAgQAAAAAECAAAgQAAAAAECAAAIEAAAAAECAAAIEAAAAAECAAAIEAAAQIAAAAAIEAAAQIAAAAAIEAAAQIAAAAACBAAAQIAAAAACBAAAQIAAAAACBAAAECAAAAACBAAAECAAAAACBAAAECAAAIAAAQAAECAAAIAAAQAAECAAAIAAAQAABIgAAQAABAgAACBAAAAABAgAACBAAAAABAgAACBAAAAAAQIAACBAAAAAAQIAACBAAAAAAQIAAAgQAAAAAQIAAAgQAAAAAQIAAAgQAABAgAAAAAgQAABAgAAAAAgQAABAgAAAAAIEAABAgAAAAAIEAABAgAAAAAIEAAAQIAIEAAAQIAAAgAABAAAQIAAAgAABAAAQIAAAgAABAAAECAAAgAABAAAECAAAgAABAAAECAAAIEAAAAAECAAAIEAAAAAECAAAIEAAAAABAgAAIEAAAAABAgAAIEAAAAABAgAACBAAAAABAgAA/Fd7d6CiOBIEYPj9n3oODhaGZTXVVdWdTuf7IHA7p44xcaxfowoQAAAAAQIAAAgQAABAgLglAAAAAQIAAAgQAAAAAQIAAAgQAAAAAQIAAAgQAABAgAAAAAgQAABAgAAAAAgQAABAgHy9kj9CCdbdt9zvAIAtAuT3UPKvZcZw9PvfxLZLdNutul4z13Vkna7Oe3UZKwfyzLaqnOeO9d11vwUANgqQb0NJ94Bg0MgPc6ujYPXAWBmaI/9/lwG4ElcrbsuT9lsA4IEB0hkhho15w+odz+KvvtzsUL3TbffGANnptgcAHhIgXYOCYaN2m909VN4dIN9O88QA+fPfV6fNXMddAmSn/RYAOCxARo77jlyPkcuJHD4WuazRZ5tHn+XNDFtdg1zn4Uajt8+Ky62s12j4fLstR5/1H903o9s3s6/cvY4ALx7aLC9bBEgxQKLD4NUGGBkqPw1K1esUvT06fmd2u4y+AhC9rqcGSMf7EKLDePQ2HhnORy+vevoZ61jdPgACxCJAXhYgkWdTu4aizLA0+zpVo6s6mEcvNxsmAmT9oV+RT4LrCs+Odem8jwgQAAFiESCXd4Ds4NY1JHZFQ/czxVfh03XYSeWVlVnvfbjzPSCRKO3cj1cFyNW2m30/WBUgnYfOAQgQiwA5JEA+3Smyd5qRYaV6ObMuqzIkV3e+ziH2DQHSGRd3B8jKEF8RINF1B3hzgFhf6/36ALmKkK5DbO78hJ/ZATJrKBcg5wTI3z/rePVAgAAYTJ+wvm95DBAgjUO9ALkvQLJD69sCpOv3rg6Q6jrvGiCR/RZAgJwbEpnznRAtAkSAHBMgVzv0iQFy15vqBUjv34a3vgQP8PS/h9VDzEdOf9J7KQRIcdCtDH4z35i98jqtjJDqIDfj07Hu+hSszsMBdwuQzPplbw8BAmAwnRUfmfcPz/g9tvNLAqTrmPXOT3eadRz9t8vPXo+O4Xj24HpngHR8yeVTAqS6L3Z8EeGKSBcgAGcHSDQuqr/jia8cCZCfn1S1duxQmetSfekusjNkr2v19q3srF3POGc/YawaBZU/Lp3HoXbsJ5Ev3Kx8gWdk21av86x17AxHAAGyd3yMPq6d/NG2AgQAAINpMUBGQ+Xb5VRfRREgAgQAgBcGyNXpR+Kj8/rYzgIEAICf5x+ClTnPjE/SEiACBACAwwbTru/wqL6Xw5vQBQgAAC8NkI7v8uh4RcV2FiAAABw4mM6OkMz5bWcBAgDAwYNp1/d/zDiP7SxAAAA4cDCtfmdHx2I7CxAAAF42mAoPASJAAAAM8JbNFwECAIAAsQgQAQIAIEAsAkSAAAAgQCwCRIAAAAgQiwARIAAAhAJEUJ05qAsQAAAMpgvj49tpIuFiOwsQAAAMpkPx8S1ARi/HdhYgAAC8cDAdfeUiexpfRChAAAB4+WCaiYTqaQWIAAEA4GWDaeUVio7TnxBrAgQAAINpMT6y51/xe21nAQIAwIMG0673ZXSf96nhJkAAADCYLhj+Z5z/CUN95qOHI+u30/oLEAAAATI1QE64nF22c/RjiXfedwQIAIAAmXZ97w6Zb0O7ABEgAAAcEiDd6/uWeVWAAPD1j/fVz6oPAqPH9XZd5u/TVi7vyQNE5svPvp0/883PXUNK975ReTNwx/4WXb/qbb3p0CZABMjQ39sdb0cBApB4YPg0MH16sKgMcJ2X/SmWIqfNXF7Xuu8aIVfrFDlNZtvcuW9kPg61c3+Lrt/o7551vxUgAmR1gET/W4AAPOzBIRofI6Gyasgc+VnmGeuOZ7l33NZX2zAbKR0Db8fpuveNVftbNlAEiAARIAIE4JEPDicGyOyh+YkBEtmGkX9HX1F5U4BE97fR3ydABIgA+Xw4lgABePADxA4BMnLYzuiz9N0B8rTHm5HDyyKHn42evjNAOrbl6CFinfvb6O/qCJDsIXErB3LL+UsmQD6dToAAPDg+qsNTV4D860EmGyDZL7aqDHlPCpC/H7yrh1xFTt8VIJ2vVlTfVJ7Z37pCeHTfHLlvCRCLABEgANMH0sqbXDNBsupZ7pWD39MC5NuD/9X/uytAut7I3nW4XcdhYNmoqMTxjp+CZXlngJzyWCpAAAYe/K+eccoMQivjovIej8whNR2v/uwUIJHYzG7z0VdQIqGUDYrodqu+MbwSDSNh3x3aAsQiPgQIwLIH/k/DwNXPrwaI6NAxOihH1qUaIJXvy3jSNo8GSGU7Zj7mdmRfy2zL0Z/P3N9G9q2O7/kwI4EAAWDhgOTxgTv35R3ecwEIEABAWAMCBAAAQIAAAAACBAAAECAAAAACBAAAECAAAAACBAAAECAAAIAAESAAAIAAAQAABAgAAIAAAQAAnhEgFovFYrFYLBaLxTJ7+T9CdBgAALDsVRA3AQAAIEAAAAABAgAAIEAAAAABAgAAIEAAAAABAgAACBAAAAABAgAACBAAAAABAgAACBAAAECAAAAACBAAAECAAAAACBAAAECAAAAAAgQAAECAAAAAAgQAAECAAAAAAgQAABAgAAAAAgQAABAgAAAAAgQAABAgAACAAAEAABAgAACAAAEAABAgAACAAAEAABAgAACAAAEAAAQIAACAAAEAAAQIAACAAAEAAAQIAAAgQAAAAAQIAAAgQAAAAAQIAAAgQAAAAAECAAAgQAAAAAECAAAgQAAAAAECAAAIEAAAAAECAAAIEAAAAAECAAAIEAAAQIAAAAAIEAAAQIAAAAAIEAAAQIAAAAAIEAAAQIAAAAACBAAAQIAAAAACBAAAQIAAAAACBAAAECAAAAACBAAAECAAAAACBAAAECAAAIAAAQAAECAAAIAAAQAAECAAAIAAAQAABAgAAIAAAQAABAgAAIAAAQAABAgAACBAAAAABAgAACBAAAAABAgAACBAAAAAAeImAAAABAgAACBAAAAABAgAACBAAAAABAgAACBAAAAAAQIAACBAAAAAAQIAACBAAAAAAQIAAAgQAAAAAQIAAAgQAAAAAQIAAAgQAABAgAAAAAgQAABAgAAAAAgQAABAgAAAAAIEAABAgAAAAAIEAABAgAAAAAIEAAAQIAAAAAIEAAAQIAAAAAIEAAAQIAAAAAIEAAAQIAAAgAABAAAQIAAAgAABAAAQIAAAgAABAAAECAAAgAABAAAECAAAgAABAAAECAAAIEAAAAAECAAAIEAAAAAECAAAIEAAAAABAgAAIEAAAAABAgAAIEAAAAABAgAACBAAAAABAgAACBAAAAABAgAACBAAAAABAgAACBAAAECAAAAACBAAAECAAAAACBAAAECAAAAAAgQAAECAAAAAAgQAAECAAAAAAgQAABAgAAAAAgQAABAgAAAAAgQAABAgAACAAAEAABAgAACAAAEAABAgAACAAAEAAAQIAACAAAEAAAQIAACAAAEAAAQIAAAgQNwEAACAAAEAAAQIAACAAAEAAAQIAACAAAEAAAQIAAAgQAAAAAQIAAAgQAAAAAQIAAAgQAAAAAECAAAgQAAAAAECAAAgQAAAAAECAAAIEAAAAAECAAAIEAAAAAECAAAIEAAAQIAAAAAIEAAAQIAAAAAIEAAAYEv/AasPkdDtNTO4AAAAAElFTkSuQmCC" - } - ] + "response": { + "payload": { + "shippingLabels": [ + { + "purchaseOrderNumber": "mockpurchaseOrderNumber1", + "sellingParty": { + "partyId": "999US" }, - { - "purchaseOrderNumber": "mockpurchaseOrderNumber2", - "sellingParty": { - "partyId": "999US" - }, - "shipFromParty": { - "partyId": "ABCD" - }, - "labelFormat": "PNG", - "labelData": [ - { - "packageIdentifier": "PKG002", - "trackingNumber": "1Z6A34Y60369738805", - "shipMethod": "UPS_GR_RES", - "shipMethodName": "UPS Ground Residential", - "content": "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AAFiCBAAABAgAgQAAASIIUAAABAghgABAAABYggQAAAEiNE4QAzDMAzDMAzDMASIYRiGYRiGYRgCxDAMwzAMwzAMQ4AYhmEYhmEYhiFADMMwDMMwDMMw/jdAAAAAio50JkAAAAABAgAACBAAAAABAgAACBAAAAABAgAACBAAAECAAAAACBAAAECAAAAACBAAAECAAAAAAoRXbAT/MX77myfXs3IfRu/nymVXrn/0PjxZ3qjlyngcV5Yx+7JRj2nGfcjYxla2n8rHonKbjFqf2a+B3V43Ml6rK99rop7jGa+Hu173std/9uv86H1buQ8IEASIABEgAkSACBABIkAEiAARIAgQASJABIgAESACRIAIEAGCAEGACBABIkAEiAARIAJEgAgQAYIAESACRIAIEAEiQASIABEgCBAEiAARIAJEgAgQASJABAgCBAEiQASIABEgAkSACBABIkAECAJEgAgQASJABIgAESACRIAgQBAgAkSACBABIkAEiAARIAJEgCBABIgAESACRIAIEAEiQAQIAgQBIkAEiAARIAJEgAgQAYIAQYAIEAEiQASIABEgAkSACBABggARIAJEgAgQASJABIgAESAIEASIABEgAkSACBABIkAEiAARIAgQASJABIgAESACRIAIEAGCAEGACBABIkAEiAARIAJEgCBAECACRIAIEAEiQASIABEgAsTcU4DYCASIABEgAkSACBABIkAECAIEASJABIgAESACRIAIEAEiQAQIAkSACBABIkAEiAARIAJEgCBAECACRIAIEAEiQASIABEgCBAEiAARIAJEgAgQASJABIgAQYAgQASIABEgAkSACBABIkAQIAgQASJABIgAESACRIAIEAEiQBAgAkSACBABIkAEiAARIAIEAYIAESACRIAIEAEiQASIABEgAgQBIkAEiAARIAJEgAgQASJAECAIEAEiQASIABEgAkSACBAECAJEgAgQASJABIgAESACRIAIEASIABEgAkSACBABIkAEiABBgCBABIgAESACRIAIEAEiQASIAEGACBABIkAEiAARIAJEgAgQBAgCRIAIEAEiQASIABEgAgQBggARIAJEgAgQASJABIgAESACBAEiQASIABEgAkSACBABIkAQIAgQASJABIgAESACRIAIEAEiQBAgAkSACBABIkAEiAARIAIEAYIAESACRIAIEAEiQASIAEGAIEAEiAARIAJEgAgQASJABIgAQYAIEAEiQASIABEgAkSACBAECAJEgAgQASJABIgAESACRIAIEASIABEgAkSACBABIkAEiABBgCBABIgAESACRIAIEAEiQBAgCBABIkAEiAARIAJEgAgQAWLu6YGyEQgQASJABIgAESACRIAIEAQIAkSACBABIkAEiAARIAJEgAgQBIgAESACRIAIEAEiQASIAEGAIEAEiAARIAJEgAgQASJAECAIEAEiQGLfmKJGxwCJmCQLEAEiQASIAEGAIEAEiAARIOEB8uftVU4wKh+fXQGyazs85b5FvdfsWp7M18PO21rE66MAQYAgQATINQHS6Y1WgAgQAbI2ORUgAkSAIEAQIAKkdYCcMgnM3oajJlQCRIB0CxEBIkAECAIEASJAWgTIaZPAjgHy7ZsTASJAOk9WBYgAESACBAEiQARIWYCcOAkUIAJk17cIp09a3xQgt0SIAEGAIEAEyFUBEvmGGHX9JwdI1k7E3SaZpwZI1YRtdRvInLjueoyinrMZl41+3YvefgQIAgQBIkCuCZCqiYQAESCd13/HAIlcXxHvNTcGyOprkwARIAIEASJABEjhRFSACBAB0mcbqDhPjQARIAJEgCBABIgAESACRIC8LECibluACBABggBBgAgQASJABIgAKYsQASJABAgCBAEiQASIABEgAkSACBABggBBgAgQASJA7g6QlXUhQPYFSMXzWoAIEAEiQBAgAkSACBABIkAEiAARIAIEAYIAESACRIAIEAEiQASIABEgAgQBIkAEiAARIMtHRRIgAkSACBABIkAQIAJEgAgQAfLaAMma/AsQASJABIgAQYAIEAEiQASIABEgAuRVAVL5+iBAECAIEAEiQBoHSOQ67BogqxEiQASIABEgAkSAIEAEiAA5LkAyJt4C5J4AyZz8CxABIkAEiABBgAgQASJABIgAESACRIAIEAQIAkSACJB3BUj0OrwtQEYmpwJEgAgQAYIAQYAIEAEiQATIEQGSPfkXIAKkKkC6vD4IEAQIAkSACJCGAZKxDgWIABEgAkSAIEAQIAJEgAgQAfJv/qGJBYgAESACBAGCABEgAiR8MiFA5n7WJUAEiAC5P0A6fUAhQBAgCBABcmSARLwxCRABIkAEiAARIAgQBIgAESAh+wIIEAEiQASIABEgCBAEiAARIKVBIkDGY02ACBABIkAECAIEASJArgyQ7EmnABEgAkSACBABggBBgAgQAVIWICuHaRUgewMka5kFyP4AmX2vESBrAdLtKHkCBAGCABEg2wKkKkI6BUj1pHdl2QWIABEgvQJk9wE9BAgCBAEiQK4IkC5vwgKkV4BEL7cAiQuQyAMgCBABIkDMPQWIjUCACJAtAdLhjbgiQHZMegWIAIkMkKplFyACRIAIEASIABEgZW9MAkSACJCeAVK57AJEgAgQAYIAESACpPSNSYAIkOhlFyBrz+XI7UuACBABggBBgAiQdgGy4805O0B2TXoFiACJeh2I2rYESMy2mPm+KUAQIAgQASJANkaIABEgNwXIbz9xy17nAsR5QAQIAgQBIkAEiAA5IkAyJp9vD5Dd25MAESACBAGCABEgAmTx9+rf1s/pE0YBIkCqtyUBIkAEiABBgAgQAdLqjSl7EiZA7g2Q6nh5S4Bkv9cIEAEiQAQIAkSACJDtAZI5GRMgvQIkYh0KkB7xIUD2Bci32xMgCBAEiAARIIOXzZpUrU5musdH5O/2Bci9AZL1Oi9ABIgAMfcUIDYCASJAjg2Q6ImZALkvQHbsP3LbmdAFiAARIAgQBIgAESCNA6Ryp+mI+9A5QCIm3gJEgAgQAYIAQYAIEAHSNkC+TXwEiAARIALktACJfK8XIAgQBIgAESAJkxYBck+A7DqErwARIAJEgCBAECACRIAIkKTnjgARIAJEgAgQBAgCRIC0DZDsT92jJmsCRIAIEAGSFQgCRICYewoQG4EAESACRIAIEAEiQASIAEGAIEAEyM0BkjXpjZiwvTFARg+DK0AEiAC5O0BGzwsjQBAgCBABIkAEiAARIAJEgAgQBAgCRIAIkLcGSFZQRE/UBYgAESACRIAgQBAgAkSAFAZI1mMhQASIABEgAkSAIEAQIAJEgAgQASJABIgAESAIEASIABEgZwXI6nV2CpDu26QAESACRIAIEAGCABEgAqRlgFROFAVI7TYpQASIABEgAkSAIEAEiABJe+M+PUCyg0KACBABIkAEiAARIAgQASJANgdI5b4Pu4MiI0Ay94WJ2iYFiAARILEBUrGPmABBgCBABMiVAVJ9/gsBIkAEiAARIAIEAYIAESACpEWARD5e1QGSeUJGASJABIgAESDmngLERiBABMi2AKlaD523GQGSf5SzrG3ylAD5baIpQASIAEGAIEAEyGsDJPLNLztAon/O1DVAor41eroubw2QlZ+0ZWzvpwRI5ra6M0Aynm+r67/qPEECBAGCABEgxwXIrslJ53NPnLa+d03kuq+jDtvfrQFySpCfuJwCBAGCABEgAkSACJBD19GbA+RNE3MBIkAQIAgQASJABIgAMYEVIAJEgCBAECACRIAIEAEiQASIABEgAkSAIEAEiAA5KECythkBclaAnDIpFCACRIAIEAGCABEgAiQpQLLfqCu3mextOGObzHocd2+TGQGS8RrY7XUj47W68r2m8ihY2e+J2Y9jh9cHAYIAQYAIkBYBkvlGLEAEiAARIAJEgCBAECACRIAIEAEiQASIABEgAsTc0wNlIxAgAkSACBABIkAEiAARIAgQBIgAESACRIAIEAEiQASIABEgCBABIkAEiAARIAJEgAgQAYIAQYAIEAEiQASIABEgAkSAIEAQIAJEgAgQASJABIgAESACBAGCABEgAkSACBABIkAEiABBgCBABIgAESACRIAIEAEiQASIAEGACBABIkAEiAARIAJEgAgQBAgCRIAIEAEiQASIABEgAkSACBAEiAARIAJEgAgQASJABIgAQYAgQASIABEgAkSACBABIkAQIAgQASJABIgAESACRIAIEAEiQBAgAkSACBABIkAEiAARIAIEAYIAESACRIAIEAEiQASIABEgAgQBIkAEiAARIAJEgAgQASJAECAIEAEiQASIABEgAkSACBAECAJEgAgQASJABIgAESACRIAIEASIABEgAkSACBABIkAEiABBgCBABIgAESACRIAIEAEiQASIAEGACBABIkAEiAARIAJEgAgQBAgCRIAIEAEiQASIABEgAgQBggARIAJEgAgQASJABIgAESACBAEiQASIABEgAkSACBABIkAQIAgQASJABIgAESACRIAIEAEiQBAgAkSACBABIkAEiAARIAIEAYIAESACRIAIEAEiQASIAEGAIEAEiAARIAJEgAgQASJABIgAQYAIEAEiQASIABEgAkSACBAECAJEgAgQASJABIgAESACRIAIEASIABEgAkSACBABIkAEiABBgCBABIgAESACRIAIEAEiQBAgCBABIkAEiAARIAJEgAgQAWLuKUAQIAJEgAgQASJABIgAESAIEASIABEgAkSACBABIkAEiAARIAgQASJABIgAESACRIAIEAGCAEGACBABIkAEiAARIAJEgJjXChAEiAARIAJEgAgQASJABIgAQYAgQASIABEgAkSACBABIkAQIAgQASJABIgAESACRIAIEAEiQBAgAkSACBABIkAEiAARIAIEAYIAESACRIAIEAEiQASIABEgAgQBIkAEiAARIAJEgAgQASJAECAIEAEiQASIABEgAkSACBAECAJEgAgQASJABIgAESACRIAIEASIABEgAkSACBABIkAEiABBgCBABIgAESACRIAIEAEiQASIAEGACBABIkAEiAARIAJEgAgQBAgCRIAIEAEiQASIABEgAgQBggARIAJEgAgQASJABIgAESACBAEiQASIABEgAkSACBABIkAQIAgQASJABIgAESACRIAIEAEiQBAgAkSACBABIkAEiAARIAIEAYIAESACRIAIEAEiQASIAEGAIEAEiAARIAJEgAgQASJABIgAQYAIEAEiQASIABEgAkSACBAECAJEgAgQASJABIgAESACRIAIEASIABEgAkSACBABIkAEiABBgCBABIgAESACRIAIEAEiQBAgCBABIkAEiAARIAJEgAgQAWLuKUBsBAJEgAgQASJABIgAESACBAGCABEgAkSACBABIkAEiAARIAIEASJABIgAESACRIAIEAEiQBAgCBABIkAEiAARIAJEgAgQBAgCRIAIEAEiQASIABEgAkSAIEAQIAJEgAgQASJABIgAESAIEASIABEgAkSACBABIkAEiAARIAgQASJABIgAESACRIAIEAGCAEGACBABIkAEiAARIAJEgAgQAYIAESACRIAIEAEiQASIABEgCBAEiAARIAJEgAgQASJABAgCBAEiQASIABEgAkSACBABIkAECAJEgAgQASJABIgAESACRIAgQBAgAkSACBABIkAEiAARIAJEgCBABIgAESACRIAIEAEiQAQIAgQBIkAEiAARIAJEgAgQAYIAQYAIEAEiQASIABEgAkSACBABggARIAJEgAgQASJABIgAESAIEASIABEgAkSACBABIkAEiAARIAgQASJABIgAESACRIAIEAGCAEGACBABIkAEiAARIAJEgCBAECACRIAIEAEiQASIABEgAkSAIEAEiAARIAJEgAgQASJABAgCBAEiQASIABEgAkSACBABIkAECAJEgAgQASJABIgAESACRIAgQBAgAkSACBABIkAE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" - } - ] - } - ] - } + "shipFromParty": { + "partyId": "ABCD" + }, + "labelFormat": "PNG", + "labelData": [ + { + "packageIdentifier": "PKG001", + "trackingNumber": "1Z6A34Y60369738804", + "shipMethod": "UPS_GR_RES", + "shipMethodName": "UPS Ground Residential", + "content": "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AAFiCBAAABAgAgQAAASIIUAAABAghgABAAABYggQAAAEiNE4QAzDMAzDMAzDMASIYRiGYRiGYRgCxDAMwzAMwzAMQ4AYhmEYhmEYhiFADMMwDMMwDMMw/jdAAAAAio50JkAAAAABAgAACBAAAAABAgAACBAAAAABAgAACBAAAECAAAAACBAAAECAAAAACBAAAECAAAAAAoRXbAT/MX77myfXs3IfRu/nymVXrn/0PjxZ3qjlyngcV5Yx+7JRj2nGfcjYxla2n8rHonKbjFqf2a+B3V43Ml6rK99rop7jGa+Hu173std/9uv86H1buQ8IEASIABEgAkSACBABIkAEiAARIAgQASJABIgAESACRIAIEAGCAEGACBABIkAEiAARIAJEgAgQAYIAESACRIAIEAEiQASIABEgCBAEiAARIAJEgAgQASJABAgCBAEiQASIABEgAkSACBABIkAECAJEgAgQASJABIgAESACRIAgQBAgAkSACBABIkAEiAARIAJEgCBABIgAESACRIAIEAEiQAQIAgQBIkAEiAARIAJEgAgQAYIAQYAIEAEiQASIABEgAkSACBABggARIAJEgAgQASJABIgAESAIEASIABEgAkSACBABIkAEiAARIAgQASJABIgAESACRIAIEAGCAEGACBABIkAEiAARIAJEgCBAECACRIAIEAEiQASIABEgAsTcU4DYCASIABEgAkSACBABIkAECAIEASJABIgAESACRIAIEAEiQAQIAkSACBABIkAEiAARIAJEgCBAECACRIAIEAEiQASIABEgCBAEiAARIAJEgAgQASJABIgAQYAgQASIABEgAkSACBABIkAQIAgQASJABIgAESACRIAIEAEiQBAgAkSACBABIkAEiAARIAIEAYIAESACRIAIEAEiQASIABEgAgQBIkAEiAARIAJEgAgQASJAECAIEAEiQASIABEgAkSACBAECAJEgAgQASJABIgAESACRIAIEASIABEgAkSACBABIkAEiABBgCBABIgAESACRIAIEAEiQASIAEGACBABIkAEiAARIAJEgAgQBAgCRIAIEAEiQASIABEgAgQBggARIAJEgAgQASJABIgAESACBAEiQASIABEgAkSACBABIkAQIAgQASJABIgAESACRIAIEAEiQBAgAkSACBABIkAEiAARIAIEAYIAESACRIAIEAEiQASIAEGAIEAEiAARIAJEgAgQASJABIgAQYAIEAEiQASIABEgAkSACBAECAJEgAgQASJABIgAESACRIAIEASIABEgAkSACBABIkAEiABBgCBABIgAESACRIAIEAEiQBAgCBABIkAEiAARIAJEgAgQAWLu6YGyEQgQASJABIgAESACRIAIEAQIAkSACBABIkAEiAARIAJEgAgQBIgAESACRIAIEAEiQASIAEGAIEAEiAARIAJEgAgQASJAECAIEAEiQGLfmKJGxwCJmCQLEAEiQASIAEGAIEAEiAARIOEB8uftVU4wKh+fXQGyazs85b5FvdfsWp7M18PO21rE66MAQYAgQATINQHS6Y1WgAgQAbI2ORUgAkSAIEAQIAKkdYCcMgnM3oajJlQCRIB0CxEBIkAECAIEASJAWgTIaZPAjgHy7ZsTASJAOk9WBYgAESACBAEiQARIWYCcOAkUIAJk17cIp09a3xQgt0SIAEGAIEAEyFUBEvmGGHX9JwdI1k7E3SaZpwZI1YRtdRvInLjueoyinrMZl41+3YvefgQIAgQBIkCuCZCqiYQAESCd13/HAIlcXxHvNTcGyOprkwARIAIEASJABEjhRFSACBAB0mcbqDhPjQARIAJEgCBABIgAESACRIC8LECibluACBABggBBgAgQASJABIgAKYsQASJABAgCBAEiQASIABEgAkSACBABggBBgAgQASJA7g6QlXUhQPYFSMXzWoAIEAEiQBAgAkSACBABIkAEiAARIAIEAYIAESACRIAIEAEiQASIABEgAgQBIkAEiAARIMtHRRIgAkSACBABIkAQIAJEgAgQAfLaAMma/AsQASJABIgAQYAIEAEiQASIABEgAuRVAVL5+iBAECAIEAEiQBoHSOQ67BogqxEiQASIABEgAkSAIEAEiAA5LkAyJt4C5J4AyZz8CxABIkAEiABBgAgQASJABIgAESACRIAIEAQIAkSACJB3BUj0OrwtQEYmpwJEgAgQAYIAQYAIEAEiQATIEQGSPfkXIAKkKkC6vD4IEAQIAkSACJCGAZKxDgWIABEgAkSAIEAQIAJEgAgQAfJv/qGJBYgAESACBAGCABEgAiR8MiFA5n7WJUAEiAC5P0A6fUAhQBAgCBABcmSARLwxCRABIkAEiAARIAgQBIgAESAh+wIIEAEiQASIABEgCBAEiAARIKVBIkDGY02ACBABIkAECAIEASJArgyQ7EmnABEgAkSACBABggBBgAgQAVIWICuHaRUgewMka5kFyP4AmX2vESBrAdLtKHkCBAGCABEg2wKkKkI6BUj1pHdl2QWIABEgvQJk9wE9BAgCBAEiQK4IkC5vwgKkV4BEL7cAiQuQyAMgCBABIkDMPQWIjUCACJAtAdLhjbgiQHZMegWIAIkMkKplFyACRIAIEASIABEgZW9MAkSACJCeAVK57AJEgAgQAYIAESACpPSNSYAIkOhlFyBrz+XI7UuACBABggBBgAiQdgGy4805O0B2TXoFiACJeh2I2rYESMy2mPm+KUAQIAgQASJANkaIABEgNwXIbz9xy17nAsR5QAQIAgQBIkAEiAA5IkAyJp9vD5Dd25MAESACBAGCABEgAmTx9+rf1s/pE0YBIkCqtyUBIkAEiABBgAgQAdLqjSl7EiZA7g2Q6nh5S4Bkv9cIEAEiQAQIAkSACJDtAZI5GRMgvQIkYh0KkB7xIUD2Bci32xMgCBAEiAARIIOXzZpUrU5musdH5O/2Bci9AZL1Oi9ABIgAMfcUIDYCASJAjg2Q6ImZALkvQHbsP3LbmdAFiAARIAgQBIgAESCNA6Ryp+mI+9A5QCIm3gJEgAgQAYIAQYAIEAHSNkC+TXwEiAARIALktACJfK8XIAgQBIgAESAJkxYBck+A7DqErwARIAJEgCBAECACRIAIkKTnjgARIAJEgAgQBAgCRIC0DZDsT92jJmsCRIAIEAGSFQgCRICYewoQG4EAESACRIAIEAEiQASIAEGAIEAEyM0BkjXpjZiwvTFARg+DK0AEiAC5O0BGzwsjQBAgCBABIkAEiAARIAJEgAgQBAgCRIAIkLcGSFZQRE/UBYgAESACRIAgQBAgAkSAFAZI1mMhQASIABEgAkSAIEAQIAJEgAgQASJABIgAESAIEASIABEgZwXI6nV2CpDu26QAESACRIAIEAGCABEgAqRlgFROFAVI7TYpQASIABEgAkSAIEAEiABJe+M+PUCyg0KACBABIkAEiAARIAgQASJANgdI5b4Pu4MiI0Ay94WJ2iYFiAARILEBUrGPmABBgCBABMiVAVJ9/gsBIkAEiAARIAIEAYIAESACpEWARD5e1QGSeUJGASJABIgAESDmngLERiBABMi2AKlaD523GQGSf5SzrG3ylAD5baIpQASIAEGAIEAEyGsDJPLNLztAon/O1DVAor41eroubw2QlZ+0ZWzvpwRI5ra6M0Aynm+r67/qPEECBAGCABEgxwXIrslJ53NPnLa+d03kuq+jDtvfrQFySpCfuJwCBAGCABEgAkSACJBD19GbA+RNE3MBIkAQIAgQASJABIgAMYEVIAJEgCBAECACRIAIEAEiQASIABEgAkSAIEAEiAA5KECythkBclaAnDIpFCACRIAIEAGCABEgAiQpQLLfqCu3mextOGObzHocd2+TGQGS8RrY7XUj47W68r2m8ihY2e+J2Y9jh9cHAYIAQYAIkBYBkvlGLEAEiAARIAJEgCBAECACRIAIEAEiQASIABEgAsTc0wNlIxAgAkSACBABIkAEiAARIAgQBIgAESACRIAIEAEiQASIABEgCBABIkAEiAARIAJEgAgQAYIAQYAIEAEiQASIABEgAkSAIEAQIAJEgAgQASJABIgAESACBAGCABEgAkSACBABIkAEiABBgCBABIgAESACRIAIEAEiQASIAEGACBABIkAEiAARIAJEgAgQBAgCRIAIEAEiQASIABEgAkSACBAEiAARIAJEgAgQASJABIgAQYAgQASIABEgAkSACBABIkAQIAgQASJABIgAESACRIAIEAEiQBAgAkSACBABIkAEiAARIAIEAYIAESACRIAIEAEiQASIABEgAgQBIkAEiAARIAJEgAgQASJAECAIEAEiQASIABEgAkSACBAECAJEgAgQASJABIgAESACRIAIEASIABEgAkSACBABIkAEiABBgCBABIgAESACRIAIEAEiQASIAEGACBABIkAEiAARIAJEgAgQBAgCRIAIEAEiQASIABEgAgQBggARIAJEgAgQASJABIgAESACBAEiQASIABEgAkSACBABIkAQIAgQASJABIgAESACRIAIEAEiQBAgAkSACBABIkAEiAARIAIEAYIAESACRIAIEAEiQASIAEGAIEAEiAARIAJEgAgQASJABIgAQYAIEAEiQASIABEgAkSACBAECAJEgAgQASJABIgAESACRIAIEASIABEgAkSACBABIkAEiABBgCBABIgAESACRIAIEAEiQBAgCBABIkAEiAARIAJEgAgQAWLuKUAQIAJEgAgQASJABIgAESAIEASIABEgAkSACBABIkAEiAARIAgQASJABIgAESACRIAIEAGCAEGACBABIkAEiAARIAJEgJjXChAEiAARIAJEgAgQASJABIgAQYAgQASIABEgAkSACBABIkAQIAgQASJABIgAESACRIAIEAEiQBAgAkSACBABIkAEiAARIAIEAYIAESACRIAIEAEiQASIABEgAgQBIkAEiAARIAJEgAgQASJAECAIEAEiQASIABEgAkSACBAECAJEgAgQASJABIgAESACRIAIEASIABEgAkSACBABIkAEiABBgCBABIgAESACRIAIEAEiQASIAEGACBABIkAEiAARIAJEgAgQBAgCRIAIEAEiQASIABEgAgQBggARIAJEgAgQASJABIgAESACBAEiQASIABEgAkSACBABIkAQIAgQASJABIgAESACRIAIEAEiQBAgAkSACBABIkAEiAARIAIEAYIAESACRIAIEAEiQASIAEGAIEAEiAARIAJEgAgQASJABIgAQYAIEAEiQASIABEgAkSACBAECAJEgAgQASJABIgAESACRIAIEASIABEgAkSACBABIkAEiABBgCBABIgAESACRIAIEAEiQBAgCBABIkAEiAARIAJEgAgQAWLuKUBsBAJEgAgQASJABIgAESACBAGCABEgAkSACBABIkAEiAARIAIEASJABIgAESACRIAIEAEiQBAgCBABIkAEiAARIAJEgAgQBAgCRIAIEAEiQASIABEgAkSAIEAQIAJEgAgQASJABIgAESAIEASIABEgAkSACBABIkAEiAARIAgQASJABIgAESACRIAIEAGCAEGACBABIkAEiAARIAJEgAgQAYIAESACRIAIEAEiQASIABEgCBAEiAARIAJEgAgQASJABAgCBAEiQASIABEgAkSACBABIkAECAJEgAgQASJABIgAESACRIAgQBAgAkSACBABIkAEiAARIAJEgCBABIgAESACRIAIEAEiQAQIAgQBIkAEiAARIAJEgAgQAYIAQYAIEAEiQASIABEgAkSACBABggARIAJEgAgQASJABIgAESAIEASIABEgAkSACBABIkAEiAARIAgQASJABIgAESACRIAIEAGCAEGACBABIkAEiAARIAJEgCBAECACRIAIEAEiQASIABEgAkSAIEAEiAARIAJEgAgQASJABAgCBAEiQASIABEgAkSACBABIkAECAJEgAgQASJABIgAESACRIAgQBAgAkSACBABIkAE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" + } + ] + }, + { + "purchaseOrderNumber": "mockpurchaseOrderNumber2", + "sellingParty": { + "partyId": "999US" + }, + "shipFromParty": { + "partyId": "ABCD" + }, + "labelFormat": "PNG", + "labelData": [ + { + "packageIdentifier": "PKG002", + "trackingNumber": "1Z6A34Y60369738805", + "shipMethod": "UPS_GR_RES", + "shipMethodName": "UPS Ground Residential", + "content": "iVBORw0KGgoAAAANSUhEUgAAAyAAAAV4CAYAAABYfbnIAABfDUlEQVR42uzd25LjOJJAwf7/n+592UttTaZEABGBAOhuBrOZrtSFFCXhSCL5zz///POvYRiGYRiGYRhG0fjnXwAAgGwCBAAAECAAAIAAAQAAECAAAIAAAQAAyA2Q/zm81rd///Z3I387epu/jdn7EPU3I/f1yf3/6d9n7uun2/vt+maXN3O7WV2m0XU7s709eRxGH6snf/vktqO2ryfLFrG9P13PAMAlAfJ08rF6XU/+bubfRv/76v2Yvf2ZOBudAM/eh9XbydgeRv776OP5dF2PLMNP/z1imUYuH7l9ra7PmWVg7HV7JeBWozviNkZfY6M/ONi1XgAESECAzH7iPTORHp0gzk7YBEh+gDz9lLxzgERF8UxsjD420dc1s12tbn/eBNYn3tkT+E4BknUbAAJk4QpHJ26f/mZkArTyxrA6UXq6XBEBEnFfs8KgKkBWtpvZx2D2ulY+RY5ez9HXnREzI3EtQHI/LIr6mWrmZDvqejOWIeonxAAC5GGAjExcnkzkn34CmzkRG53YZ0wUoz5Nj1rGbgHyZLuZvf87AiR6W1n571nfvERufyZx8RP32X2BqiKkKkBGl2Hm2yMAAdIgQEYm2LMT2cwA+WnZBEh+gEROjiMez9nJxcwnrVlxMLp/RXWAiJDciXtEgETGwq4AyVpW2y0gQILiI2Ji9zRkZl7MI/bTGJmcrwTI06MgZQbI7H3I/qnXzLqeOarSyuMZvePqyuM0cp0r21B0gKysBwSIAAG4PEBmJ3afJnVRE6+VCfvOAFmd2N36DcjsdhPxbUFVgIxOAGfjPyL+MgNk9gMGE7vn21WnSf7bAgTo84FL1jy44uAYVXP4VgGy+mnop5/WVOwcmzk5/3OZBEh8gERuNyPbUWWAfJswZu0v0jFAMibY1E/yO9+36EPI2wZh/+tW5nMxMhSqA2TXkfraBUjU5DZiQjzzN9kBMvN3tx4FK2O76RIgmT9vmj1fxuiBISKOShWx/Zj85YVvh08gd+6EPvvGDuwJj8SJdPrrR8brc9TPa7cHyOoEeOZIO1GT7uzzNMxsJDsCpOowqJHne8g8rGzE47k7QCLPmbG6zJGH4X0aRCZ9+yf4lW/+GdeT9VMKoOY1q8sHIJH73kW8z2WEU2mAzNRZ1VF7Zg7lGzmBrQiQyEm4AOkdIJnLVBEgGet/dZmIn9xv+B1xeIBELYMTEMIdH6Q8eW5H3hcBsnjnR158n37qFHGbq0cXWn0gM54sK0dBWvnE4NPjOXM7o/dn5NPKkW1h9fFcmWhEbKOrz53ZAFk5v0TUY2Vi1zNATvoGJDocRAjcHSDRl+vyAU7rb0AA8Iad8WnhrgDJWAYRAne+nq1cfmeA7Io3AQJA9RtOq4nA6PVk/ywLeFeAVPyqRoAA8Mr46DoRmLmezJ99AQKkS4AccRQsAO55k37LRCAjQJwrBARIdIDs+OZUgADQIj6+Haa280Qg6nj3UQGS/QYPCJCO8SFAALwxT02YBYgAAQFy50+wCgPHix7Am9+URy/z2xtV9VFdqgNkdOIgPkCAnBQgxT/vyrnzTxZs5rwVMytw9XwUEcs+extRX79FnXdhdZ2Nnhsm6lwi3uhh/jVy5EzhlW9qlQEyc26ekfUPnBEgq9fZ9TC8lbcZFiCjL8y//du3/xbxM4Enn+bNFubIRjUTbrP1++nyO9ZZxFnvv50Je/WxBAHyT+gJTjPPKRL9AcrKcvhABATI6uWqXyeqv3HZ9g3IkwBZmXRHTqZnJvozk++Z259dFyshEbHOBAjcFSBPrrfLfV8NkKj7CNwTILOvDR0CZOUgJMcEyKfLPP3vq7+5i5isf7qvqwUZucxZ8bJ6/TNP1ortEAAQIBnXu+N8Q9Hx8ZoAqZ6QRgTI6uQ7+tP8iB2lKgIk4lsRAQIAVE3mZ/YN63KEvMxvgY8IkNmdd6om0yMbS8cAWYmQrHUmQACA3RPrbrdZHADvDZDoo0xFTaZnftP39PZWJucRR+haPeZ/5PWu7twqQACA3QESNV8TIIUBMnrdmffr6Q7WERPqmQCJmGBHT+Jn1plvQAAAXh2JewKk8tuPjInxk3/P/nlSVP12WmdRj7sAAQAQIP/xd5WTydUdqk8NkOj9UbLXmQABABAgZRP9p6FSuUP1k0l8VExkHNJ2Z4DMng8mYod+AQIAIECGJ4eRk8uMyfTIiWSqJuxR912AAADQNkAid8J+cp2rRxR48nffYmLl6E0jy5N1ZuId62x0eWaW3RmHAQBeECAzsQIAAAgQAAAAAQIAAAgQAAAAAQIAAAgQAABAgAAAABwQIKvno3hy7odvt/f0v2Xc96fLFnFfIpdp5vFcPRfK6H3I2uZWb3/2bwEABEjwiQhn/+7TZPe36xm97sizaf82EZ9ZppUziWedBXxk3T+JgNkAenrfItbD6skdAQC4JEBWJ+yzk/Wnk9CV2Bi5jQ4BEr0OZwMk8/ZnwwUAgIMC5Onfr4ZE5OR19d8jAmR0mVYez9n7OXq7s4/J6LdoAgQA4KUBMvpNQ8VkPWJSGREoT+5fRYDM3M+Z2FyJwtFoEiAAAALk42Vmv034Npk+PUCeLtPsfR+djM9M/p/Gy+w3IKP7aggQAIDLAmR0YhgZID9NlE8PkCfLNHPfZyfuK99+RAdI1DoXIABHT3auux4QIEXfgKz+BCsiQEYPq3tygMxc12p8RAZIdMx6IwFOmWyPftg38t729L169BD1ka+lUdfZ7XpAgCRN/n57sYs+mtXoEayiJ7EZ0TYbDd9uM3NCPvKGJEAA1l6XMj84W/k5beRrqW88QICETE5XXjhnJ+urk92nf/M0wHYGSHZkrj6WAgQgJiRW9slc+TntrdHgPQI2BMhKQMye72Nm0rozQKJ+Vvb0DeLkAJkNMgECCJD895fdASI+QICEBEjEi2bGGcUjJ7HRAZQVIBmT99kAiT7rvAAB3hYgo6+TT75hj37dzN4HUYDAwQHy9Df8MzujPT2s6rd9BqK+zYjcke/JOnzyt9Evet+uf/SxyXjRzngsRnaKrNiBEqBjgDz9m10BMvo+ccL1gACBRm+eAMRP8GePHll1/z797bcPyE67HhAgAMDrAuTJz6l3/FRq5Dqjoqf6ekCAAACvDJCZv+kUIKf+DQgQAOD6APk7KASIAAEBAgCkB8ifB3oZ/XcBIkBAgACAAHn8N6NHZRQgAgQECAAIkOlwiPqblYl35HlAos7vtON6QIAAAMcGyMyhZKMCITtAfrtM1Al/s68HBAgAcGx8RJww9enPiFbuW3SAjNzO6Il/s68HBAgAwEsmQ52uBwQIAIAAESAgQAAAxAcIEACAMyZAba4HBAgAAIAAAQAABAgAAIAAAQAABAgAACBAAAAABAgAACBAAAAABAgAACBAAAAAASJAAAAAAQIAAAgQAAAAAQIAAAgQAAAAAQIAAAgQAABAgAAAAAgQAABAgAAAAAgQAABAgAAAAAIEAABAgAAAAAIEAABAgAAAAAIEAAAQIAAAAAIEAAAQIAAAAAIEAAAQIAAAgAABAAAQIAAAgAABAAAQIAAAgAABAAAEiAABAAAECAAAIEAAAAAECAAAIEAAAAAECAAAIEAAAAABAgAAIEAAAAABAgAAIEAAAAABAgAACBAAAAABAgAACBAAAAABAgAACBAAAECAAAAACBAAAECAAAAACBAAAECAAAAAAgQAAOCwAPnvK/5xjP796mW+/d3o3367X6vrJ+r2s+47AAC0CZDZifOpATI7mc8MkKqIAgCArQEyMjleuY7Zy6x8e/Bkkj+7rlZue/Z+iRAAAI4OkNEIOD1AViMkI0BG74sIAQBAgBwUICuT+JUA+Wk9zsaQCAEA4OoAybieEwNk1zqIWicAANAqQGavU4DU/5RqZjlFCAAA7QIk4uhQAqQ2QDL2dwEAgPAA+RQhKz8JijwkrgARIAAAXBQgTwLipgDJmpB3DJC//w4AAFoEyJOQiJ5MdzgPSOa66xIgAADQNkC+hchpAVJ5JnEBAgCAACmKkJMCpGp9CRAAAARIQIScFCAbHpSyEwqKDwAAjguQnTt2C5CaExECAIAAESA/XiYjXIQKAAACRIBMX251nxgAAGgbIKcfBeuEABkJhYjzswAAwPYAmT16VOZlRu5Tp6NfVZ1RPjJsAACgJECeTHxXJswCJOYQu1HXBQAALQIEAABAgAAAAAIEAAAQIAAAAAIEAAAQIAAAAAIEAAAQIAAAgAABAAAQIFUr4tczhs+eRX3mNlfv70/X8/S2VtdBxPKNXi77fsw+Hl0eewAAAXJQiIxOdp/+zezfj0y0M25ndcIc9TjMXP/s/Z7dfjo99gAAAuSACFn998hP2qMm2SPXEzUxn50Uz3xjEnU/Zif0nR97AAAB8pIAiZgYR35y/+TfI4NiNUCiYm90Ha4sa9fHHgBAgFwcIFETzOgJ/5OfaXUIkOjYm5nEryxrx8ceAECAXB4gGdcXuYw/7awePcnNDpAnf7vyLULmZXc89gAAAuQlATIzOc6agP52FK+MoIgIkCff1kQGSHS8dHrsAQAEyOUBsjLRzJyErh4GtmuAzP60bOaxO/WxBwAQIC8JkNHJcfYkdOVITxUB8unyI5P91biKCJhujz0AgAC5OEBmJ7cCZCwqIr7BWFmGkx57AAABcnmAzEyQV88ePnpG7s4B8mR/j5G/nXncVo5q1e2xBwAQIC8KkIydp0f//oR9QHYEyLcRGTG7HnsAAAHykgD56d93TEJHj9a0e2I8csSumaN7VZ00UIAAAObaAqQ8QP7+m8hzQYxExG+X7XQiwp/uW/SJIEcj5fTHHgBAgFwWGDP7XlROQkd+vnRygIx+q1Ox7ex+7AEABEizAImYFM7uc/Dk76riKvr+RGxjs7cbGVQrJxbc/dgDAAiQxgGSOcmfmWBGTaYr94eInhRnhc/o/Ys843rlYw8AIEA2B8jM+SKyfjYT9al59KfzK38XPSF+a4BEPPYAAAKkSYCs7Ffw6UhS2T+dGbmtp38bvV6it6vofU9Wz5ny087k3R57AAABAgAACBAAAAABAgAACBAAAAABAgAACBAAAAABAgAACBAAAECAAAAACBAAAECAAAAACJBfVsT/G7PXsXL7lcv30/I++btP62rmMtnrq+L+zNzuzDrLut8V67NyOaOuf/frAgAIkIvD49PEY3SSszJBqlq+n+7D6KTpyWRz5rJZk7qn66J6u5pdj7sCZHZ9Vi7n08uM3m726wIACJCXxsfTycbMpD3isqOBM/N3qxO4iAng0wle1eMdfTurk++obSZrff79N5XLOfpBQOT9yX5uA4AAuThAZqKiy0+wVu93VYDMLPuTCW3F4x11Gx0CJHt9Pv2pU2WArGy7Va8LACBABMgRARIxkayYiK8GjwCJ/bYm+zETIADA6wMkevJwaoDsmoivBkjG41O93Lsnr9nrs2q9R63XXcsPAAKE/7eCKiaL0b/nz76ejAnl04lq5oQxKkA6xeTO9SlABAgACJDEyZ8AyQ2Q1Z+KVe+E3uGbqNHrfkOARP3cS4AAgAAJnZyceh6QiuvJmlDOBEjURDDym4vIw7BWB8iusBAgACBAXh8fmeceOClAZk8MlxUgERPBqnM0RJ5QL+v+ZU6sR5a5apI+G7kCBAAESGmMvDlARievWQES8e3Fykknd4XI7hNUZl+HAAEAAcKmSZQAGTtre/S3MhWTxI4BErE+u3/TM3IbAgQABEibCBEg+ZfPPi9D5KffVWGbcZ+q1qcAESAAIEBeECBR19XpPCCj+3d0D5Ddk9eq9dkpQDLWtwABAAEiQAIn/6vLXR0gUYFRFW7dA6Q62LoEyMh24kzoACBApiYkXSYaGZO5qoDIPJ/EzPVUHz74pACpXp8dAiTjYBICBAAESMok/cSjYM0G1q4AeTLJjVqPXQJk5+S1en2eGCDRyy1AAECAPJr8nnoekN+Wb/RwqasBEXWOiB0Tx4jHMXryGjnR7xwgO3a4nwlrAQIAAiRskj5zhKKZw5FGHAY1ejmf3qdP1zP69yP3d2b5Zh/j2cch6vGM3iZ2r8+q5Yye/Fe/LgCAAAG44MMFAECAAAAAAgQAAECAAAAAAgQAAECAAAAAAgQAABAgAgQAABAgAACAAAEAABAgAACAAAEAABAgAACAAOmzYr6OU5cF3vgc7v7acsL1f7qt7Nfd7vf/9vsFIEA2h8e3N4eZ68l48426rozl+fv+dLyN3euo+3MgOgKi1knHDwx2Pdcz1kP09VY/L7p+oNTl9fr26wcESPv4mJ1QdQ+QDpNrAXJ3gEReJipAdqzT2deVyNiqmthmrJ/KSOsapwJEgIAAeXF8/Pa30df/2+W6BEjWOqy4jajHpfNj3uUT2cjL7trud76uRK+rrKCLfJwy7nvm/a+KfQEiQECAvDw+ZieJOyajkS/UAkSAVP8MKvObqF3rL3qbyf770clg5vMjO546xKkAESAgQF4cIBmTIwHy/TorbkOA1ARI9ATkxACJnDDvuP5v22OHAFn5sKhTgETfr+xlOv36AQHScoI1elkBIkAEiACJWoZuAZL52pn9DVHVdXV5TxIggAARIFvf7KK/rhYg90xwKpYjMkB2bve7HvvbAyRyuxIgAgQQIAKkYYB8m5ydNOGOvg0BMj+pn43LiHDstN3vmpwLEAEiQAABclGAnDBxFiACpOtz5Onhj0cuL0DiDt3bJUBmJpoCRIAAAuTqAIleJ7MTsMgX7x1nYBYgNY95p0nR0wiIDpBd2323AMk41G+XCbwAESCAAHlFhOyYnGcFyKdlFSACpGOAnLDd7wqQmQg55bkjQASIAAEB8voAqX6zFiAC5JTnyMgEd2aSLEDmA+RbBJ7wfD/1ud8xQLLOM3Li9QMC5LgIyTgjefYLd9VkTIDsecy7BsjMuq4+THTFJ7iZh+Kd3c5O+cBBgNSfiPAN1w8IkNdEiAARIKe/gQqQmm2r4uzRpwXIqa9XJwaIM6EDAqR5iGS9qWSeO+Db8gkQP8GaXZ6Ic1dEfFtQvd1XhETGhO2UCfwt3+CcsF6zt4+Trh8QIFdEyO6dcKMmRwJEgDzZxyAiYk7Z7mdfRyICaWSfj1N/wiRA/tn6vH779QMCpG2MdAyQHV9dCxABEjlhPmW733X/onZUf9PzPeK6d+wvuPu5LUIAAXJohGRPRiMmOW+ckAiQuGXaESAdtvuI5+jqNrP6M62Oz/eu1y9ABAggQNqESLc30x0v2gJk/0RiV4CMLOeT6zhpu9+xfVfv4H7jc0eACEpAgGx/s78pQHa9aAuQdwZI1HMhe/+P7o9N1RnNu0+UTz1KmQARIIAAaTd5iTyKVuQb9mlvnF0CJHuSuLJ9nhggERPBXdt95np9W4DMfpN204RVgAgQECACRIAIEAEyGBC7ruO2AMl6HnR8vq++pgqQ9efF7M//Trt+QIC0e6G/IUCiJpMCRIDMxMOu69i53e/Ypm8KkB2P/60Bkn2UxtOvHxAgVwVI9ZtKxDJkTMYESM1jLkB6bfenTzZ3Phd3BvpbAiQyaE+/fkCAHBsgOz6hESACpPtzR4DUb8u7J2oZ97/yEMpv+QlW9M/5Tv97QIAc90K/69CXuwKk+ic11bcR9Wlb9WN+wyRpdR112e53T3yrdlzPfvy6BEjXo6FlfTNWeU6rLtcPCJC2L/QRb3rRb7DRb8hR17dzotDlcal4zN8SIKuPXeW2tDs+nk5YI5at4izunV7vdsborte57Pvd6foBAXJkgOz4hE+ACBABcmaA7IybzJ9XCpC+ARL5nLn5+gEBAvCKDzpuvU0AECAAjQIEABAgAACAAAEAAAQIAACAAAEAAAQIAACAAAEAAAQIAAAgQAAAAAQIAAAgQAAAAAQIAAAgQAAAAAECAAAgQAAAAAECAAAgQAAAAAECAAAIEAAAAAECAAAIEAAAAAECAAAIEAAAQIAIEAAAQIAAAAACBAAAQIAAAAACBAAAQIAAAAACBAAAECAAAAACBAAAECAAAAACBAAAECAAAIAAAQAAECAAAIAAAQAAECAAAIAAAQAABAgAAIAAAQAABAgAAIAAAQAABAgAACBAAAAABAgAACBAAAAABAgAACBAAAAAAQIAACBAAAAAAQIAACBAAAAAAQIAACBAAAAAAQIAAAgQAAAAAQIAAAgQAAAAAQIAAAgQAABAgAAAAAgQAABAgAAAAAgQAABAgAAAAAIEAABAgAAAAAIEAABAgAAAAAIEAAAQIAAAAAIEAAAQIAAAAAIEAAAQIAAAgAABAAAQIAAAgAABAAAQIAAAgAABAAAEiAABAAAECAAAIEAAAAAECAAAIEAAAAAECAAAIEAAAAABAgAAIEAAAAABAgAAIEAAAAABAgAACBAAAAABAgAACBAAAAABAgAACBAAAECAAAAACBAAAECAAAAACBAAAECAAAAAAgQAAECAAAAAAgQAAECAAAAAAgQAABAgAgQAABAgAACAAAEAABAgAACAAAEAABAgAACAAAEAAAQIAACAAAEAAAQIAACAAAEAAAQIAAAgQAAAAAQIAAAgQAAAAAQIAAAgQAAAAAECAAAgQAAAAAECAAAgQAAAAAECAAAIEAAAAAECAAAIEAAAAAECAAAIEAAAQIAAAAAIEAAAQIAAAAAIEAAAQIAAAAAIEAAAQIAAAAACBAAAQIAAAAACBAAAQIAAAAACBAAAECAAAAACBAAAECAAAAACBAAAECAAAIAAAQAAECAAAIAAAQAAECAAAIAAAQAABAgAAIAAAQAABAgAAIAAAQAAegaIYRiGYRiGYRhG0bASDMMwDMMwDMMQIIZhGIZhGIZhCBDDMAzDMAzDMAwBYhiGYRiGYRjGCQECHH0kif8dAABHHAULECAAAAIEECAAgAABBAgAgAABAQIAIEAAAQIAIEBAgAAACBBAgAAAAgQQIAAAAgQEiAABAATIx0nR7IQp43LV97PTMtx+P29YPgECAAiQxYnR7KQp43LV97PTMtx+P29YPgECAAiQiUnRn5OjT/82e50Z96X69qqX4fb7ecPyCRAAQIAIEAEiQAQIt70JLG+Hb1w3HdfRifc5+j3ftvfu9eIxFCACRIAIEAES/mI9Mjq9we1anlvezE/ZDt1n26THsc96OfF9TIAkPBARkyb7gNhHwj4gAkSA+ISu+/bnPucth23vHevnpHXS5f1LgPzwoHz7t5EVnnG56vv59Dpn72fGv2Xcz5H1svPIUxn3c+RyAkSACJBztrvs9ZZ5n0+IJ9ve/evolHVyw3Px2gDJnEDdcLmsT8UrH6NO3xLdsOwCZN+Ld5frrngz8ia4FmAnRuMt8WTbu3s9Za6X3fdThDQKkE77g1RfLnO/gKrHqNN+Mjcs+5sDZHWCcsqk/NRP7t4YH5XX0+0+V99vn+733vZOWjdd3iu8/goQASJABMgLPyXsGiBPb69b6ImPvRPBHfc5+ttZAXLmtnfiutm5XXd+zxEgAsQk3LILkAs+qd35Glg9MRQfeyeCu34WKEBse8Js/wcBAqRow3vT5ewHYdntA9LjxXnHRGjXm43f3u/5aZ3r/mfqQ523BEjHx1CY9bjOi9/f7zkKVsRRjaLu58x6iLq9kdufXdez6zNivUQtX/WyZz62bz9E5U0B0ins/Pb+zonUjut+w2T6tm1PgPS5rwKk8SfHN3wSX/ETj66X6/QYnbQtCRABUhEfb/j9/akTqROeX2+YSN+47QmzXgFy4c9hzz8T+g37IlQ++bpdrtNjdNq2JED2/lZdgPgE+sQJT9fJqyM7vWvdCZC+HwYIEAEiQATIqwOk4oV5x4S80/4fb3jzEyACxLb3z3Hrpds3fAJEgAgQASJABMiVAbJjPY6ugxu3oa6TTQFyf4C8dd2dGGYC5IAA+TYxsg9I3WTSPiA91pl9QO4MkOjf/O4KkJvfAE88WaAAuWP7O3nbEyC1QSlAkjawv//3t3/77TpG/zb6fj69jtnbzrq9iHVdcbnZ66y+vYj7KUByAmHHpPyEAHlyewKk3+11+ZmKAHnftnfyh0rZtyVADgiQ1U+GT/kG4s3nJPFve7fdNwRI5ovzjgDZ8eby9PZufBMUIALEtidAuq8XAVL8xnfDPhhvPiu7f9u/7QqQewJk1+uwADk/QDI/eb35sbLtCZCTAuTC93QBIkD8mwB5X4Ds+llS59e2G3dGf0uAdDqxmkmYALFe7oskASJABIgAESCJk7vsN6/ur20CpNftZUZIt8dYgAgQAXJ/fJQFyLdJkn1A7ANiHxABsuNToh0B0nn/DwFyR4CMHpyk0+MrQO5ffzteXzq/pr3x24+SAKk+klDEEbKijmYVsV5GLvd02TPW341H1sq4TkfB6vNCPXL5itvtEh+jE16TwJrbyzhEtACx7QmQ/t/4XX50y14/DTn50+jT1ssNy95p4u48IOcHSPYb++k/Lb01QLqfjyH6XDV+imLbEyD2d7oyQE7ZT6HLE2/Herlh2avvS8ZjJEByJmECRIDcNglcjZAnZ70/4bESIALk1AC58SAfAkSACBAB8qYXrSMDpPrNJnP/ABGyZxIYESF2TrbtCZD9h/19a3gIEAEiQATIawMkc7+I6u0u8/YESN9J4G3hIUAEyJsD5I3sA9Lgybdzvdyw7J0m7vYBuTdAIt7cBUj/7abirOJdPmn1DYhtT4D4BuTKAPnzgRj9u+yjYGUfSWtkeauPgtXlxadqW5rdziKuM+pxFyCxbyZvCJDqw7+aCNZPoG/8KdatE7Tbtj0BUvO8FCDFG2P25KrTNwmdvhG4cWK689+qHj8BMvbiXbFfxOhluwbISZ+qZkwMOk4CM/cB6fB4CpC+254A2fccFSDFb5KdfqffaT8EvyGse2wztonsT70ESF6ArLzJd4iP7MO/3jgRjD5vStYn3BkTIAFi2xMgc7eVsS0IEAEiQASIABEgRwbISROGbpPAnZ9mRv/UsPOkR4Ds3fYqbs95QM4OSAEiQASIAHltgMy+oVTtF9E1QG792c5JE8EdE/KTHtfbJ2Hdtz0B0n+7ECCJKz57cmUfkPdMSnf+W9XjJ0D6BcjIT2Ju+5TVRDBu/ey4vt2P6xsmYAJEgIiQJgHy54r/6f9XHAVr9mhI2Ufkml2G2fuy47GOvp8VR8GKOJqVo2CdGSAzk6Q3fPvxhkOkrpxhvPKnVxnLLEDese0JkPPe1wSIT7GPvL3qjdq3T7XrVIAIEAFS981A528/VpdZgLxj26t6PegYIKe+rwmQ5JW/49+q72en9XLKY5txXzIuJ0D2v1hXH+7yp2/Mdv38qnqidPM2VTXB6XguEQFy/7YnQESIABEgAkSACJCmATLyhtZh/w9vjH0nj7snSwLEttc1QKo/PBEgAkSACBABIkCuD5Cq9eGN8awJYNdPhwWIbU+ACJCrA+TbhMo+IPYBsQ+IAIl6s6yYKN3y7cfo+rYdnhMgnSb+tq29296Nk2wBIkCmHoCVf4s6StSnv4u4vd1H3co4ulSndTa7TE8v5yhY50bIybe9I0De9Oa4cwIoQGxbN8dH9WNdcX4er7EXBUjHSVmnbzWq18sN3zx12s6cB0SAnBgfo8tsAnjOJFyA2PYEyNp1CRAB0uoM6tXXmbFebtj3ptN25kzoPQLk9NveFSBveoPcNXkSIALkDeuoy09lo07S6PVVgAgQASJAvCG/PkBOnzicvs2dtn4FiG3vxpiqPESx11YBIkAEiADxhtzyMKan//xqZplNAM+YiDsRoW1PgOwPAwFy4ZM0+zrtA2IfEPuAnBMgt8TPrgB52xvljglgt2/yBIj4OO0x33GCRq+pjQIk4whBEUdtyrjOqKNLRRxh6dNtRB15KuPfZrePjHWWsY1HHI1MgJwdIBXL3mmdmwD2n4wLENueABEgVwXI7d8KVC97xn055ZwrN0zAs9aLN+fxELjltrv/Vv+ynSXLl7HT+WwEyLu2vdOXs+LQu9WxdOkHOn2OynLKfhHVy55xX04563zXCVjF4yBAzngBf2OAvOVNc/fy7Z70mHCLjxOX96RIePnPWQWIABEgAkSACJAzlvttk7+Mddztcdv9U0bb3j3LfsthfV9yMA8BIkAEiAARIJ1ve+Wkh7tPunjaG+qp3ww8uW8nHazhxm1LfOStg66HXxfbxQGyMjGyD4h9QHY/ftXPB/uAnP/mLUDOf1Ptft9PnsALkLO3vRu2dc/FFwXInw/S3/975XJPr3P2iFUZR54a+buI5VtZF5X/Vr2ud19/1OMpQObeFE6OHwGyf6Jz8+SsQ6C/bdJmIlq3zXgevjBAVidJN3xCX718p764uJ93r8e3B0iHNzsBctfk76THQ4AIjx3bzknPxZc+rnvemFcud8o+CtXLd/oLivspQKDLhOHmSRq2Petu73PRYylABIiJvQABExnPIWx7IEAEiABxPwUI1D23wbYHFwXIyiTJPiD2AXE/BQhkPW/AtgcXBkjEEY8qjnT19N8y7lvUUbBO/iakal3PvhHsPuKYAAEABMhhE6NTzoXx5pPR3X5OEucBAQBoeCb0iolt17OBdzqD+psfo07LIEAAAAEiQASIABEgAAACRIAIEAEiQACA1wZIt4mRfUDOi5Cu67p6GQQIACBAJiZHf//vT3838m+z9+XUf5tdvqp4WL1cxpHDZq9z9vFyFCwAgI0B8mSSdPv5Ll6yEZV9a1P9DVL37dNzBAAQIF8mSG864/fb4iN7v5XqfWhO2D49PwAAASJAWkZB9Y7XAkSAAAAIEMERGiQCRIAAALQLkG+TJPuA9AiPTvtyZGxLt26fniMAgAD5YXL09//+9Hff/i3jKFEVR+E6ITpWv0VY3Sayj1g1sgyzR92KWk8CBAAQIA0mRm/8hHt3fJx+nozK+7kjFAQIACBA/v33mB2eT/yNf3QoVIXIKY/DaWerFyAAgAARIOXxccLtCRABAgAgQBoHSFV0VN2+ABEgAAD2Afm35z4gO8Mj877YB8Q+IACAACk7ClbUdcwemSniKFgVk7xO8ZEZIaPrOmNberq9ZByJLeoxFSAAgABJnPjunJRVTPQ6xseO+3b7Ebgyf5oIACBAgie8WZervs7M29i1M3m39fDkOqv3P8k+uhgAgAARICXXX3mej8qdqgWIAAEABIgAaTTh3nXCwax1IkAECAAgQNpEyM5JWcdvP3ae9fy0Q8vaBwQA4OUBknHkqcyjDEVe5+okPis8Op7f4sn2Er3Njfzb7m1JgFz94vw4jldeK55cduW+VX7QEfU3UdcZ9Zqbvc6zlzHj8Y16jmQ873Y9r1fuw+j96XrAHATI9KTpLUe+yo6P3ddTtb2cOqG0bhAgAkSACBABggBp8Mb69h3PV184opd15X7tDrXTJpMCBAEiQASIABEgCBAB0ipAKs7DMXsbAkSAIEAEiAARIAIEBMhhR77qMhHv9i2IABEgAkSACBABIkAECAIkddL01iNfdZqEd/8W5IYJpXWDABEgAkSACBAEyKY32NF/e3qdXY9clP0CvStCVqLlyb89fRwqjmY1u407ChYCRIAIEAEiQPAe1/w8IJ0mZZk7fEf+feQLROZ9zTgvR/X5PGa3F+cBQYAIEAEiQAQIAuRlb9w7r7Pi249dh9h9+rcZZyavPqP57HpzJnQEiAARIAJEgOA9ToAcFSBR8ZGxc7kAESAIEAEiQASIAAEB0ihAsn9+lXHG84y/FyACBAEiQASIABEgCJCr37y7XOfuF+ZdbxCj69M+IALEi7MAESACRIAIEARI2hts5L99+rvIyd7sdWb+/Orpi0H2tyAzf/vT/8/YPqK2idltMPO+ePEXIAJEgAgQASJAECAJnw6ffo6Q7In87m81ZsJp10T6lvPNePEXIAJEgAgQASJAECALT8Dbz5LeadLf/b50O9Fit21JgAgQASJABIgAESAIEAEiQASIAEGACBABIkAECAgQASJABAgCRIAIEAEiQAQIrw2Qb5Mm+4C8L0B2TKTtA4IAESACRIAIEAHC5QEycsSjiKNgzV5u9shFHY4mddpO6KvrM3MbfHq5jPsiQBAgAkSACBABggBJ/IS308ab/c2Mw/Du2yY6nT/EeUAQIAJEgAgQAYIA2fRG2mkDrtg3xYkI92wTnc6g7kzoCBABIkAEiADBe5wAaRkgUX+/OhHI+HsBIkAQIAJEgAgQAYIAESBFk9RdR5TqdOQuASJAECACRIAIEAGCACl9M+06garYTyDzxXn0TS/zzX/0b7O3CfuAIEAEiAARIAJEgPCCAJk9ylDE7c3exux1PD2qUfZPoCJfIKp+rjW6vVRvgxlHaXMULASIABEgAkSAIECS30Cr37BPuS+ZLzTZE6DM2Om6DXY7T40XfwEiQASIABEgAgQB8m+vM1t3PMt21iF2dz5+O7+p6XCdu86u7sVfgAgQASJABIgAQYAIkPAAqVyOip3VBYgAQYAIEAEiQAQIAkSAFC975CF2s+975rcfAkSAIEAEiAARIAIEAZLyBlr9ht31vqxM2iPe0DOuN+K+2AfEPiAIEAEiQASIAEGAhL2J/v2/M67/221E3JeZJ/lvl+t6iN3oT/Cjji61cxscOVpXxbYlQASIABEgAkSACBAESLNPok+5XHY8rI6o+DjlW6nVx6/DRBUBIkAEiAARIAKE1wdIp9/3d7xc9gtJRnjMxMcJ++WMXK7Li68XfwEiQASIABEgAgQBIkDKAiQjQqIeAwEiQBAgAkSACBABAgKk6eUi1lFVeESElQARIAgQASJABIgAQYAcN0m6YR+QrCdzRnTM3E/7gAgQBIgAESACRIBAaYBUHwUr477MHvFo5nIV5/qInhB9Wo5vy159BKnZ2xtZBgGCABEgAkSACBDYFCCdNsrqT79XPjXvGCEz8RG9Xiof25Mm/F78BYgAESACRIAIEARIsw2z+vf/EfsNdIqQlfiIXi8Vj+0p27UAESACRIAIEAEiQBAgAiR0op111vOI8Bi9zwJEgCBABIgAESACBARI8wAZefOqio6VF0UBIkAQIAJEgAgQAQL2AVm4XNW+DpmH0824fvuACBAEiAARIAJEgMCWAPlzA91xHRlHPBq5b7NHgooKhV0nKFxZ9uyjYI3cz4zLCRAEiAARIAJEgOA9rug8INWTq06fbu/8NmRHfGQt+03bmQBBgAgQASJABAgC5NA34A6Xm73O1dvrGh0Vy37ydiZAECACRIAIEAGC9zgBcmSAZIVIxeMnQAQIAkSACBABIkAQIALk0ABZDZIdj58AESAIEAEiQASIAEGAHPEm3PVys9d5+xPXPiACBAEiQASIABEg0CZAso9KtfuoRtFHwYpanxWXe7p8UUccy9jOMraXzOXz4i9ABIgAESACRIAgQBImTZ3OI1F9P6vXZ6fH4ZTHdsc24cVfgAgQASJABIgAQYAEv6E8udyb9/votK/Mmx/bXduEF38BIkAEiAARIAIEASJABIgAESAIEAEiQASIAAEBIkAEiABBgAgQASJABIgA4XUBsjJpsg9I3frs9DjYB0SACBABIkAEiAARIAiQ6SfeT/+/+khJUfdl5DZ++7eM29t9ueyjRM1uL7PremQbjFg+AYIAESACRIAIEARI4qfGnb4tOOW+ZExIu32yX/n4nXyuFi/+AkSACBABIkAECAJk4InSaX+JU+5L5Jt15uVOefxOOWO7ABEgAkSACBABIkAQIAJEgAgQAYIAESACRIAIEO9BCBABIkAECAJEgAgQASJABAivDZBvkyT7gNgHZPfjZx8QBIgAESACRIAIEC4JkOwjF3W+L9VHwXq6DFGXO/HIYSOP7dN/W3lcIh9rL/4CRIAIEAEiQAQIrw+Q28/dMHu56ifr7d9sVN+e84AgQASIABEgAkSA0DBAbj979ezlqp+wt+/bUX17zoSOABEgAkSACBABggARIAJEgHjxFyACRIAIEAEiQBAgAkSACBABggARIAJEgAgQKAqQlYmRfUD6Pw72AbEPCAJEgAgQASJAvAfRLkD+3ECrLvf0OmePzDR7hKWK5ctehtmjg2UcBStqe8w+ClbFNuHFX4AIEAEiQASIAEGAHPbGHnG5U56Abz6HRqdvPDpszwgQASJABIgAESAIkCZv6qOXO+VJ+OaziHfa50OAIEAEiAARIAIE73ECRIAIEAGCABEgAkSACBABggARIAJEgAgQASJABIgAESACBAFy2Rt7xOXsA2IfkF1h4MVfgAgQASJABIgAQYAUvTGv/FvG0bmijnhUNWEdXS+7j4LVddlHtjNHwUKACBABIkAECN7jDguQUz6Jv+F+Vk96bz8/ivOAIEAEiAARIAIEDguQU/ZFuOF+Zlyu+jqrl33X4+7FX4AIEAEiQASIAEGAmNgLEAEiQBAgAkSACBABAgJEgAgQAYIAESACRIAIEAGCAFl48kb8m/tpHxD7gCBABIgAESACRIDwsgCpPgJR5tGIVu/L6Kfxket+9ohVUUf8yl722dub3c5W1oUA8eIsQASIABEgAgQBsuGT6E6fUp9yexmPww3LfsO3NgJEgAgQASJABIgAQYAkvsl2+p3+KbeXOdk5edlv2G9FgAgQASJABIgAESAIEAEiQASIAEGACBABIkAEiPcgBIgAESACBAEiQASIABEgAgQBMjGBsg9I3aTTPiBnTv69+AsQASJABIgAESAIkIU32yf/lnEUrIijGs0uw+6jYM1eZ6d1nbHOZq8z6ghdAsSLswARIAJEgAgQBEjDN+Wu/5axDB6HunV20rczXvwFiAARIAJEgAgQBMiGN+RO/5axDB6HunV22v4pXvwFiAARIAJEgAgQBIiJrwARIAIEASJABIgAESAgQASIx0GAIEAEiAARIAJEgCBAFp68Xf8tYxk8DvYBESACRIAIEAEiQAQIAmTiiZd5PdVHWIo4UtLIv+18HKLWS/XRs3avp4j1KUAEiAARIAJEgAgQBEjzSdIp54q4/ZP9U9bL7snlSc8tBIgAESACRIAIENoHSPVGesrZsm/ft+GU9dJxYilAECACRIAIEAGCABEgAkSACBAEiAARIAJEgAgQBIiJtvUiQLz4CxABIkAEiAARIAiQzZMk+zpYLydNLk96biFABIgAESACRIDQOkAyjlw0e4Sl2fuZvewRR9laWX+zR23Kvi9RRwfLWL8ZRwATIAgQASJABIgAQYAkTow6nUOj06f7uyc5Xe/LKdvLjsfdi78AESACRIAIEAGCAPn3nLOId9q/oeMEp8N9OWV72fW4e/EXIAJEgAgQASJAECACRIAIEAGCABEgAkSACBAQIAJEgAgQBIgAESACRIAIEK4MkG8TI/uA2Afkxu3FPiAIEAEiQASIAIGNAfLnBjr6b5/+rvo6Z64/637O3peny777iFERR5Davb1kHMlLgAgQASJABIgAESAIkE1vwjuvs9O5TE759P6U66zeXpwHBAEiQASIABEgCJBD34CrrrPT2dxP2X/hlOus3l6cCR0BIkAEiAARIHiPEyACRIAIEAAAASJABIgAESAAgADZGCE7r9M+IPYBsQ8IAMDBARJxxKOo68y4LxHrJeooShHXWX3UrYjHOetx2LnsAgQAECDBk6ZOn+6/+VuP6uVr+MQ44oSBAgQAECCDE6au+ze8eb+P6uXrHB879yURIACAABEgAkSACBAAAAEiQASIABEgAIAAmZg02QfEPiDdIqTzsgsQAECADE6cRv8t4zorjqp04nqpXr6OEXLKdQoQAECAAGWhJEAAAAECCBAAAAECAgQAQIAAAgQAECCAAAEAECCAAAEABAhQ+yT+6X8DALQOEMMwDMMwDMMwjKJhJRiGYRiGYRiGIUAMwzAMwzAMwxAghmEYhmEYhmEYAsQwDMMwDMMwDAFiGIZhGIZhGIYhQAzDMAzDMAzDECCGYRiGYRiGYQgQwzAMwzAMwzAMAWIYhmEYhmEYhgAxDMMwDMMwDMMQIIZhGIZhGIZhCBDDMAzDMAzDMASIYRiGYRiGYRiGADEMwzAMwzAM48wAAQCA3UzMBQgAAAgQQ4AAACBADAECAAACxBAgAAAIEEOAAACAABEgAAAgQAwBAgCAADEECAAACBBDgAAAIEAMAQIAAAJEgFD+BLrhyf/2xxEAECBGYoDM3kj09UZvoB2eNLc82Xfexs71UbneOzyfsoM2+oUOAAFiCJBWARIxUTlxglS5/ro9Xh0eRwFSFyBiBECAGAKkbYBET7Ce/m3HJ/jM5Xa8oGSvj8jLCJD9ASJGAASIcfA+IFlv7LPXFTmRXp1Ejl6m05M7a7lnt5vsiWTWZP/k51Plz84y140IARAgxksCJHrjy7w/K5OTyEl4hyf2zY9V9jac+U3BjudT5b4vFetHhAAIEEOAtJqg7AiQvy9/Ynx0m0zu3H4j1q0A2Rd5IgRAgBgCpP2kNnoydGJ8dHusovZn2rWOTwyQiPCrfr0RIQACxBAgR05qTwqQzAnXrsnk7oDpEMFdAmT1W4gdrzciBECAGALkuEmtABEg0dfdOUAi15sAAUCACBABcnGAVJ+AsXuA7Dwh5c0BsvLY7Xq9ESEAAsQQIFcESLfJy2lnX785QLIPapAdIFERIkAAECACRIAEB0inCYwAESDRkSBAABAghgDZNKntHiEn3rfT42PlPt4QIDOPw87XGxECIEAMAXJVgOyeyAiQfgGSfWjnigBZXZcCBAABIkAESNKkdveE5sYA6Xr0q7cFyMr6FCAACBABIkCKAqR6UnNTgHQ9+aAAWV9OAQKAABEgrwuQrDNY757cnLp/Stb6EyDxO4oLEAAEiCFAgnb8nVmObhGSdeK4iOWrjg8BknekqtFlFSAACBAB8soA2THJrZ7o3BogGYEoQHIC5MkO7AIEAAEiQK4LkB1BIEBiDjkbue4ESN65OgQIAALEECBNvonoetu7r9dO6HcFyMgyCxAABIgAeX2AdHhCnRQgEY+9ABEgAgQAASJArg2QU55UJ0VIdYCcFCHZP0vrGiBPl73L81t8AAgQQ4BcHyA7Jj03BUjm7QqQ/AD5n+sRIAAIEAEiQIru345QEiACpDJAniy/AAFAgAiQ9pNbAdIvQroFSJcIWbnuTs+nynPi7HjeiA8AAWIIkNRPXgVI3VnFKy4vQOpjXoAAIECMFgGSMZkWIPVP6LcFSNVkv+PPjKq28ZE3kep1Iz4ABIhxaYBETQzeEiC7n9Q3BMju7aVbGEU+PplvJKeuXwAEiLEpQJ5sLFWT8hMCZPfkp8vk/bbJaNV1VT2fbguQDucCAkCAGIUB8vSEZKcGSOVPhyqe3G8KiNV1Ubl/TeXzqepkfzvPHSM+AASIcXCAZGwwmbdXsazdP3mdWV8r6zbjsaq8rupP1Ls/nyKXZ+cbEAACxDg4QCI3muzbOmk5T3uiVwbI6HWf9rh2fj6dHiAACBDjkgCpmGx2CJAOt9/pCd9hm6i+rk6HUd7xfIpcjqo3IAAEiHFxgDzZoN7y5LnpRcCLYZ/14bEBQIAYAgQAAASIIUAAABAghgABAAABIkAAAECAGAIEAAABYggQAAAQIIYAAQBAgBgCBAAABIgAAQAAAWIIEAAABIghQAAAQIAYAgQAAAFiCBAAABAghgABAECAGAIEAAABYggQAAAQIIYAAQBAgBgCBAAABIghQGj6ojPy362v/3siY91aZkCAGNcFyOoNjV5PxMZb8ST49ndPru/pdYyup5V1m/0YdQ+Qp8u48lzYtX2vXL5iO/h2X0fW6+hjkLFMK+us6nk3er2z63X1eZK5PjJeL3c8xiISAWJcGyAjL3grl1mdJGW8gD8NjIjrj/qkcuTvZ5c9K0Cq3kxnJxDRf1dxPSsTzspPzZ+85syE4o74iLov0es7Y1vIeJ5kro+V1/OM94KVZfItFgLEuDZAov4tepIdMUme+WZh9E024m8yJsmry541Eap6I515LKPXbWV8zARs5TYx+ml41DJUbNOrk/Wd29NKOK0GW9b6WNnGsi9b9d4HAsQQIAEvwllvrqtvlE/fiGd+zpAdPRWTtdn1lfkC2GVyHvkNSsbj3TlAusXHrtfGiMuvLNPKhxBZ62PX45SxTAIEAWIIkM0vwKuXzf6kLvJTxh0TsKoA2flG2ilAMn6+1TlARu7n05/JVG7L3QMkc7L+6bVRgNR8KCRAECDGa46ClfVtw+rEuPpT/aiv1EeDYTUwdr9h7f75Vfb20O2gCtnRUH0fI37OtGvbyY6BLgGSvf2cFCDZ8S9AECCGANkQIFVvmNFvVBEBUvVb450vLB0nkZnxEb19Zq23rOXssE9W1wDpOFnfGSBZz9OVHeCzA2T1+kGAGAJkcQK38kKcOVGs2tHzlAB5OnmYPYTlbQHy5FDNldtm1ja0Gu8zP/uJWrfVARJ137IOUVz9k87M5+rK+1TEB1JZP28GAWIIkKDJ284dOlcmQdEBknV4zOwXmpsCJOPbj9XDkEZPVqoOBzt7mN2Z8+RELWNGgEQH7cwydwqQrO1v5VDcGd/YChAEiCFAEt9Aoj51nL1v2b9frzzU5YkBsvsT1BMCJOJvMp+7Wcu4ckK3qnWbHSCR6zt7n5qsAMvc/k4MkO7faoMAMY77BiTy24+n19fhTSwiQH77t8gThGVMPp9Olne8AO6Mj6hPnStO+pn1c6WsE25GrdvqCXjVz8NWviGpPPhHVpSt/Czt6bdMq/et8gMZECDGq36CFb2xVgVIZlDNTCgz1vWOF5XuAbLzp2AjZ7CPXr+ZP1XqMPnvFCCr21nm9lSx7NXrI2P/kJV1tOvACiBAjNfthF4xiak6ClbmkU9m37R2/typ8++XbwmQqglL9M8wZ0PpDQFScbmK7X/3YaBX9r+puOyn1/LOH96AADFeEyARb4wVR/LJOBHhk7/J+JlLZoB0egHcGR9RAVJx33ee0E+A9AqQHdtL9f3dddmdz0UQIMarzgMSESDRk/Df/j7qt/aRARIdX1nnpDg5QDI+na8MkIjHVYCsfUhweoDs/PbjtADJ3j4ECALEECDJb9CRk8SK8ypETVRndxyPmDxkBkinN9wuAbIS6xHLkL1sOwMk8oOQqNe3ivWdscxZ8dEh7gUICBBDgKS+SY6+2UWetXlXeO2aaEYFyO7zgFTE28phmVdvp/IgDh0DJGuiH3127YrtacffZ6+P7HPo7DhBrABBgBivC5CMN6FvL9JZbzYz35ZETPSzfjIV9Y1J9r4yqy9UlRPfjPNORE6CKg6NnT3ZqTypXdW2vvIaUHXAjN2v+5XrY+X1LuOcKVWHWgYBYhwbICuHvI26zOz+EFHnvpi5X7NHMFldjojHNurFJWLCnDEJGXk8q49I8/T6Mp4fu46wU3WemuztPfvkdpnbU1R8rDxXs9dH5YkII7YPAYIAMXwDApsDhPvfiOg5Oai4HJ4zCBBDgADgAwQAAWIIEAAABIghQAAAQIAYAgQAAAFiCBAAAASIIUAAAECAGAIEAAABYggQAAAQIIYAAQBAgBgCBAAAAWJyLkAAAECAGAIEAAABYggQAAAQIIYAAQBAgBgCBAAABIgAAQAAAWIIEAAABIghQAAAQIAYAgQAAAFiCBAAABAgAgQAAASIIUAAABAghgABAAABYggQAAAEiNE4QAzDMAzDMAzDMASIYRiGYRiGYRgCxDAMwzAMwzAMQ4AYhmEYhmEYhiFADMMwDMMwDMMw/jdAAAAAio50JkAAAAABAgAACBAAAAABAgAACBAAAAABAgAACBAAAECAAAAACBAAAECAAAAACBAAAECAAAAAAoRXbAT/MX77myfXs3IfRu/nymVXrn/0PjxZ3qjlyngcV5Yx+7JRj2nGfcjYxla2n8rHonKbjFqf2a+B3V43Ml6rK99rop7jGa+Hu173std/9uv86H1buQ8IEASIABEgAkSACBABIkAEiAARIAgQASJABIgAESACRIAIEAGCAEGACBABIkAEiAARIAJEgAgQAYIAESACRIAIEAEiQASIABEgCBAEiAARIAJEgAgQASJABAgCBAEiQASIABEgAkSACBABIkAECAJEgAgQASJABIgAESACRIAgQBAgAkSACBABIkAEiAARIAJEgCBABIgAESACRIAIEAEiQAQIAgQBIkAEiAARIAJEgAgQAYIAQYAIEAEiQASIABEgAkSACBABggARIAJEgAgQASJABIgAESAIEASIABEgAkSACBABIkAEiAARIAgQASJABIgAESACRIAIEAGCAEGACBABIkAEiAARIAJEgCBAECACRIAIEAEiQASIABEgAsTcU4DYCASIABEgAkSACBABIkAECAIEASJABIgAESACRIAIEAEiQAQIAkSACBABIkAEiAARIAJEgCBAECACRIAIEAEiQASIABEgCBAEiAARIAJEgAgQASJABIgAQYAgQASIABEgAkSACBABIkAQIAgQASJABIgAESACRIAIEAEiQBAgAkSACBABIkAEiAARIAIEAYIAESACRIAIEAEiQASIABEgAgQBIkAEiAARIAJEgAgQASJAECAIEAEiQASIABEgAkSACBAECAJEgAgQASJABIgAESACRIAIEASIABEgAkSACBABIkAEiABBgCBABIgAESACRIAIEAEiQASIAEGACBABIkAEiAARIAJEgAgQBAgCRIAIEAEiQASIABEgAgQBggARIAJEgAgQASJABIgAESACBAEiQASIABEgAkSACBABIkAQIAgQASJABIgAESACRIAIEAEiQBAgAkSACBABIkAEiAARIAIEAYIAESACRIAIEAEiQASIAEGAIEAEiAARIAJEgAgQASJABIgAQYAIEAEiQASIABEgAkSACBAECAJEgAgQASJABIgAESACRIAIEASIABEgAkSACBABIkAEiABBgCBABIgAESACRIAIEAEiQBAgCBABIkAEiAARIAJEgAgQAWLu6YGyEQgQASJABIgAESACRIAIEAQIAkSACBABIkAEiAARIAJEgAgQBIgAESACRIAIEAEiQASIAEGAIEAEiAARIAJEgAgQASJAECAIEAEiQGLfmKJGxwCJmCQLEAEiQASIAEGAIEAEiAARIOEB8uftVU4wKh+fXQGyazs85b5FvdfsWp7M18PO21rE66MAQYAgQATINQHS6Y1WgAgQAbI2ORUgAkSAIEAQIAKkdYCcMgnM3oajJlQCRIB0CxEBIkAECAIEASJAWgTIaZPAjgHy7ZsTASJAOk9WBYgAESACBAEiQARIWYCcOAkUIAJk17cIp09a3xQgt0SIAEGAIEAEyFUBEvmGGHX9JwdI1k7E3SaZpwZI1YRtdRvInLjueoyinrMZl41+3YvefgQIAgQBIkCuCZCqiYQAESCd13/HAIlcXxHvNTcGyOprkwARIAIEASJABEjhRFSACBAB0mcbqDhPjQARIAJEgCBABIgAESACRIC8LECibluACBABggBBgAgQASJABIgAKYsQASJABAgCBAEiQASIABEgAkSACBABggBBgAgQASJA7g6QlXUhQPYFSMXzWoAIEAEiQBAgAkSACBABIkAEiAARIAIEAYIAESACRIAIEAEiQASIABEgAgQBIkAEiAARIMtHRRIgAkSACBABIkAQIAJEgAgQAfLaAMma/AsQASJABIgAQYAIEAEiQASIABEgAuRVAVL5+iBAECAIEAEiQBoHSOQ67BogqxEiQASIABEgAkSAIEAEiAA5LkAyJt4C5J4AyZz8CxABIkAEiABBgAgQASJABIgAESACRIAIEAQIAkSACJB3BUj0OrwtQEYmpwJEgAgQAYIAQYAIEAEiQATIEQGSPfkXIAKkKkC6vD4IEAQIAkSACJCGAZKxDgWIABEgAkSAIEAQIAJEgAgQAfJv/qGJBYgAESACBAGCABEgAiR8MiFA5n7WJUAEiAC5P0A6fUAhQBAgCBABcmSARLwxCRABIkAEiAARIAgQBIgAESAh+wIIEAEiQASIABEgCBAEiAARIKVBIkDGY02ACBABIkAECAIEASJArgyQ7EmnABEgAkSACBABggBBgAgQAVIWICuHaRUgewMka5kFyP4AmX2vESBrAdLtKHkCBAGCABEg2wKkKkI6BUj1pHdl2QWIABEgvQJk9wE9BAgCBAEiQK4IkC5vwgKkV4BEL7cAiQuQyAMgCBABIkDMPQWIjUCACJAtAdLhjbgiQHZMegWIAIkMkKplFyACRIAIEASIABEgZW9MAkSACJCeAVK57AJEgAgQAYIAESACpPSNSYAIkOhlFyBrz+XI7UuACBABggBBgAiQdgGy4805O0B2TXoFiACJeh2I2rYESMy2mPm+KUAQIAgQASJANkaIABEgNwXIbz9xy17nAsR5QAQIAgQBIkAEiAA5IkAyJp9vD5Dd25MAESACBAGCABEgAmTx9+rf1s/pE0YBIkCqtyUBIkAEiABBgAgQAdLqjSl7EiZA7g2Q6nh5S4Bkv9cIEAEiQAQIAkSACJDtAZI5GRMgvQIkYh0KkB7xIUD2Bci32xMgCBAEiAARIIOXzZpUrU5musdH5O/2Bci9AZL1Oi9ABIgAMfcUIDYCASJAjg2Q6ImZALkvQHbsP3LbmdAFiAARIAgQBIgAESCNA6Ryp+mI+9A5QCIm3gJEgAgQAYIAQYAIEAHSNkC+TXwEiAARIALktACJfK8XIAgQBIgAESAJkxYBck+A7DqErwARIAJEgCBAECACRIAIkKTnjgARIAJEgAgQBAgCRIC0DZDsT92jJmsCRIAIEAGSFQgCRICYewoQG4EAESACRIAIEAEiQASIAEGAIEAEyM0BkjXpjZiwvTFARg+DK0AEiAC5O0BGzwsjQBAgCBABIkAEiAARIAJEgAgQBAgCRIAIkLcGSFZQRE/UBYgAESACRIAgQBAgAkSAFAZI1mMhQASIABEgAkSAIEAQIAJEgAgQASJABIgAESAIEASIABEgZwXI6nV2CpDu26QAESACRIAIEAGCABEgAqRlgFROFAVI7TYpQASIABEgAkSAIEAEiABJe+M+PUCyg0KACBABIkAEiAARIAgQASJANgdI5b4Pu4MiI0Ay94WJ2iYFiAARILEBUrGPmABBgCBABMiVAVJ9/gsBIkAEiAARIAIEAYIAESACpEWARD5e1QGSeUJGASJABIgAESDmngLERiBABMi2AKlaD523GQGSf5SzrG3ylAD5baIpQASIAEGAIEAEyGsDJPLNLztAon/O1DVAor41eroubw2QlZ+0ZWzvpwRI5ra6M0Aynm+r67/qPEECBAGCABEgxwXIrslJ53NPnLa+d03kuq+jDtvfrQFySpCfuJwCBAGCABEgAkSACJBD19GbA+RNE3MBIkAQIAgQASJABIgAMYEVIAJEgCBAECACRIAIEAEiQASIABEgAkSAIEAEiAA5KECythkBclaAnDIpFCACRIAIEAGCABEgAiQpQLLfqCu3mextOGObzHocd2+TGQGS8RrY7XUj47W68r2m8ihY2e+J2Y9jh9cHAYIAQYAIkBYBkvlGLEAEiAARIAJEgCBAECACRIAIEAEiQASIABEgAsTc0wNlIxAgAkSACBABIkAEiAARIAgQBIgAESACRIAIEAEiQASIABEgCBABIkAEiAARIAJEgAgQAYIAQYAIEAEiQASIABEgAkSAIEAQIAJEgAgQASJABIgAESACBAGCABEgAkSACBABIkAEiABBgCBABIgAESACRIAIEAEiQASIAEGACBABIkAEiAARIAJEgAgQBAgCRIAIEAEiQASIABEgAkSACBAEiAARIAJEgAgQASJABIgAQYAgQASIABEgAkSACBABIkAQIAgQASJABIgAESACRIAIEAEiQBAgAkSACBABIkAEiAARIAIEAYIAESACRIAIEAEiQASIABEgAgQBIkAEiAARIAJEgAgQASJAECAIEAEiQASIABEgAkSACBAECAJEgAgQASJABIgAESACRIAIEASIABEgAkSACBABIkAEiABBgCBABIgAESACRIAIEAEiQASIAEGACBABIkAEiAARIAJEgAgQBAgCRIAIEAEiQASIABEgAgQBggARIAJEgAgQASJABIgAESACBAEiQASIABEgAkSACBABIkAQIAgQASJABIgAESACRIAIEAEiQBAgAkSACBABIkAEiAARIAIEAYIAESACRIAIEAEiQASIAEGAIEAEiAARIAJEgAgQASJABIgAQYAIEAEiQASIABEgAkSACBAECAJEgAgQASJABIgAESACRIAIEASIABEgAkSACBABIkAEiABBgCBABIgAESACRIAIEAEiQBAgCBABIkAEiAARIAJEgAgQAWLuKUAQIAJEgAgQASJABIgAESAIEASIABEgAkSACBABIkAEiAARIAgQASJABIgAESACRIAIEAGCAEGACBABIkAEiAARIAJEgJjXChAEiAARIAJEgAgQASJABIgAQYAgQASIABEgAkSACBABIkAQIAgQASJABIgAESACRIAIEAEiQBAgAkSACBABIkAEiAARIAIEAYIAESACRIAIEAEiQASIABEgAgQBIkAEiAARIAJEgAgQASJAECAIEAEiQASIABEgAkSACBAECAJEgAgQASJABIgAESACRIAIEASIABEgAkSACBABIkAEiABBgCBABIgAESACRIAIEAEiQASIAEGACBABIkAEiAARIAJEgAgQBAgCRIAIEAEiQASIABEgAgQBggARIAJEgAgQASJABIgAESACBAEiQASIABEgAkSACBABIkAQIAgQASJABIgAESACRIAIEAEiQBAgAkSACBABIkAEiAARIAIEAYIAESACRIAIEAEiQASIAEGAIEAEiAARIAJEgAgQASJABIgAQYAIEAEiQASIABEgAkSACBAECAJEgAgQASJABIgAESACRIAIEASIABEgAkSACBABIkAEiABBgCBABIgAESACRIAIEAEiQBAgCBABIkAEiAARIAJEgAgQAWLuKUBsBAJEgAgQASJABIgAESACBAGCABEgAkSACBABIkAEiAARIAIEASJABIgAESACRIAIEAEiQBAgCBABIkAEiAARIAJEgAgQBAgCRIAIEAEiQASIABEgAkSAIEAQIAJEgAgQASJABIgAESAIEASIABEgAkSACBABIkAEiAARIAgQASJABIgAESACRIAIEAGCAEGACBABIkAEiAARIAJEgAgQAYIAESACRIAIEAEiQASIABEgCBAEiAARIAJEgAgQASJABAgCBAEiQASIABEgAkSACBABIkAECAJEgAgQASJABIgAESACRIAgQBAgAkSACBABIkAEiAARIAJEgCBABIgAESACRIAIEAEiQAQIAgQBIkAEiAARIAJEgAgQAYIAQYAIEAEiQASIABEgAkSACBABggARIAJEgAgQASJABIgAESAIEASIABEgAkSACBABIkAEiAARIAgQASJABIgAESACRIAIEAGCAEGACBABIkAEiAARIAJEgCBAECACRIAIEAEiQASIABEgAkSAIEAEiAARIAJEgAgQASJABAgCBAEiQASIABEgAkSACBABIkAECAJEgAgQASJABIgAESACRIAgQBAgAkSACBABIkAE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" + } + ] + } + ] } } + } ] } }, @@ -355,6 +355,10 @@ "$ref": "#/definitions/GetShippingLabelListResponse" }, "headers": { + "x-amzn-RateLimit-Limit": { + "type": "string", + "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." + }, "x-amzn-RequestId": { "type": "string", "description": "Unique request reference identifier." @@ -367,6 +371,10 @@ "$ref": "#/definitions/GetShippingLabelListResponse" }, "headers": { + "x-amzn-RateLimit-Limit": { + "type": "string", + "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." + }, "x-amzn-RequestId": { "type": "string", "description": "Unique request reference identifier." @@ -379,6 +387,10 @@ "$ref": "#/definitions/GetShippingLabelListResponse" }, "headers": { + "x-amzn-RateLimit-Limit": { + "type": "string", + "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." + }, "x-amzn-RequestId": { "type": "string", "description": "Unique request reference identifier." @@ -391,6 +403,10 @@ "$ref": "#/definitions/GetShippingLabelListResponse" }, "headers": { + "x-amzn-RateLimit-Limit": { + "type": "string", + "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." + }, "x-amzn-RequestId": { "type": "string", "description": "Unique request reference identifier." @@ -403,7 +419,7 @@ "tags": [ "vendorShippingLabels" ], - "description": "Creates a shipping label for a purchase order and returns a `transactionId` for reference.\n\n**Usage Plan:**\n\n| Rate (requests per second) | Burst |\n| ---- | ---- |\n| 10 | 10 |\n\nThe `x-amzn-RateLimit-Limit` response header returns the usage plan rate limits that were applied to the requested operation, when available. The table above indicates the default rate and burst values for this operation. Selling partners whose business demands require higher throughput may see higher rate and burst values than those shown here. For more information, refer to [Usage Plans and Rate Limits in the Selling Partner API](https://developer-docs.amazon.com/sp-api/docs/usage-plans-and-rate-limits-in-the-sp-api).", + "description": "Creates a shipping label for a purchase order and returns a transactionId for reference.\n\n**Usage Plan:**\n\n| Rate (requests per second) | Burst |\n| ---- | ---- |\n| 10 | 10 |\n\nThe `x-amzn-RateLimit-Limit` response header returns the usage plan rate limits that were applied to the requested operation, when available. The table above indicates the default rate and burst values for this operation. Selling partners whose business demands require higher throughput may see higher rate and burst values than those shown here. For more information, see [Usage Plans and Rate Limits in the Selling Partner API](https://developer-docs.amazon.com/sp-api/docs/usage-plans-and-rate-limits-in-the-sp-api).", "operationId": "submitShippingLabelRequest", "parameters": [ { @@ -412,8 +428,7 @@ "required": true, "schema": { "$ref": "#/definitions/SubmitShippingLabelsRequest" - }, - "description": "Request body containing one or more shipping labels data." + } } ], "responses": { @@ -454,159 +469,159 @@ "containerIdentifier": "123", "trackingNumber": "XXXX", "dimensions": { - "length": "12", - "width": "12", - "height": "12", - "unitOfMeasure": "IN" - }, - "weight": { - "unitOfMeasure": "KG", - "value": "10" - }, - "packedItems": [ - { - "itemSequenceNumber": 1, - "buyerProductIdentifier": "B07DFVDRAB", - "packedQuantity": { - "amount": 1, - "unitOfMeasure": "Each" - } + "length": "12", + "width": "12", + "height": "12", + "unitOfMeasure": "IN" + }, + "weight": { + "unitOfMeasure": "KG", + "value": "10" + }, + "packedItems": [ + { + "itemSequenceNumber": 1, + "buyerProductIdentifier": "B07DFVDRAB", + "packedQuantity": { + "amount": 1, + "unitOfMeasure": "Each" } - ] - } - ] - } - ] - } + } + ] + } + ] + } + ] } } - }, - "response": { - "payload": { - "transactionId": "20190905010908-8a3b6901-ef20-412f-9270-21c021796605" - } } }, - { - "request": { - "parameters": { - "body": { - "value": { - "shippingLabelRequests": [ - { - "purchaseOrderNumber": "2JK3S9VC", - "sellingParty": { - "partyId": "999US" - }, - "shipFromParty": { - "partyId": "ABCD" - } + "response": { + "payload": { + "transactionId": "20190905010908-8a3b6901-ef20-412f-9270-21c021796605" + } + } + }, + { + "request": { + "parameters": { + "body": { + "value": { + "shippingLabelRequests": [ + { + "purchaseOrderNumber": "2JK3S9VC", + "sellingParty": { + "partyId": "999US" + }, + "shipFromParty": { + "partyId": "ABCD" } - ] - } + } + ] } } - }, - "response": { - "payload": { - "transactionId": "20190905010908-8a3b6901-ef20-412f-9270-21c021796605" - } } }, - { - "request": { - "parameters": { - "body": { - "value": { - "shippingLabelRequests": [ - { - "purchaseOrderNumber": "2JK3S9VC", - "sellingParty": { - "partyId": "999US" - }, - "shipFromParty": { - "partyId": "ABCD" - }, - "containers": [ - { - "containerType": "carton", - "containerIdentifier": "123", - "trackingNumber": "XXXX", - "dimensions": { - "length": "12", - "width": "12", - "height": "12", - "unitOfMeasure": "IN" - }, - "weight": { - "unitOfMeasure": "KG", - "value": "10" + "response": { + "payload": { + "transactionId": "20190905010908-8a3b6901-ef20-412f-9270-21c021796605" + } + } + }, + { + "request": { + "parameters": { + "body": { + "value": { + "shippingLabelRequests": [ + { + "purchaseOrderNumber": "2JK3S9VC", + "sellingParty": { + "partyId": "999US" + }, + "shipFromParty": { + "partyId": "ABCD" + }, + "containers": [ + { + "containerType": "carton", + "containerIdentifier": "123", + "trackingNumber": "XXXX", + "dimensions": { + "length": "12", + "width": "12", + "height": "12", + "unitOfMeasure": "IN" + }, + "weight": { + "unitOfMeasure": "KG", + "value": "10" + }, + "packedItems": [ + { + "itemSequenceNumber": 1, + "buyerProductIdentifier": "B07DFVDRAA", + "packedQuantity": { + "amount": 1, + "unitOfMeasure": "Each" + } }, - "packedItems": [ - { - "itemSequenceNumber": 1, - "buyerProductIdentifier": "B07DFVDRAA", - "packedQuantity": { - "amount": 1, - "unitOfMeasure": "Each" - } - }, - { - "itemSequenceNumber": 2, - "buyerProductIdentifier": "B07DFVDRAB", - "packedQuantity": { - "amount": 1, - "unitOfMeasure": "Each" - } + { + "itemSequenceNumber": 2, + "buyerProductIdentifier": "B07DFVDRAB", + "packedQuantity": { + "amount": 1, + "unitOfMeasure": "Each" } - ] + } + ] + }, + { + "containerType": "carton", + "containerIdentifier": "1234", + "trackingNumber": "XXXX", + "dimensions": { + "length": "12", + "width": "12", + "height": "12", + "unitOfMeasure": "IN" }, - { - "containerType": "carton", - "containerIdentifier": "1234", - "trackingNumber": "XXXX", - "dimensions": { - "length": "12", - "width": "12", - "height": "12", - "unitOfMeasure": "IN" - }, - "weight": { - "unitOfMeasure": "KG", - "value": "10" + "weight": { + "unitOfMeasure": "KG", + "value": "10" + }, + "packedItems": [ + { + "itemSequenceNumber": 3, + "buyerProductIdentifier": "B07DFVDRAC", + "packedQuantity": { + "amount": 1, + "unitOfMeasure": "Each" + } }, - "packedItems": [ - { - "itemSequenceNumber": 3, - "buyerProductIdentifier": "B07DFVDRAC", - "packedQuantity": { - "amount": 1, - "unitOfMeasure": "Each" - } - }, - { - "itemSequenceNumber": 4, - "buyerProductIdentifier": "B07DFVDRAD", - "packedQuantity": { - "amount": 1, - "unitOfMeasure": "Each" - } + { + "itemSequenceNumber": 4, + "buyerProductIdentifier": "B07DFVDRAD", + "packedQuantity": { + "amount": 1, + "unitOfMeasure": "Each" } - ] - } - ] - } - ] - } + } + ] + } + ] + } + ] } } - }, - "response": { - "payload": { - "transactionId": "20190905010908-8a3b6901-ef20-412f-9270-21c021796605" - } + } + }, + "response": { + "payload": { + "transactionId": "20190905010908-8a3b6901-ef20-412f-9270-21c021796605" } } + } ] } }, @@ -687,6 +702,10 @@ "$ref": "#/definitions/SubmitShippingLabelsResponse" }, "headers": { + "x-amzn-RateLimit-Limit": { + "type": "string", + "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." + }, "x-amzn-RequestId": { "type": "string", "description": "Unique request reference identifier." @@ -699,6 +718,10 @@ "$ref": "#/definitions/SubmitShippingLabelsResponse" }, "headers": { + "x-amzn-RateLimit-Limit": { + "type": "string", + "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." + }, "x-amzn-RequestId": { "type": "string", "description": "Unique request reference identifier." @@ -711,6 +734,10 @@ "$ref": "#/definitions/SubmitShippingLabelsResponse" }, "headers": { + "x-amzn-RateLimit-Limit": { + "type": "string", + "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." + }, "x-amzn-RequestId": { "type": "string", "description": "Unique request reference identifier." @@ -723,6 +750,10 @@ "$ref": "#/definitions/SubmitShippingLabelsResponse" }, "headers": { + "x-amzn-RateLimit-Limit": { + "type": "string", + "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." + }, "x-amzn-RequestId": { "type": "string", "description": "Unique request reference identifier." @@ -735,6 +766,10 @@ "$ref": "#/definitions/SubmitShippingLabelsResponse" }, "headers": { + "x-amzn-RateLimit-Limit": { + "type": "string", + "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." + }, "x-amzn-RequestId": { "type": "string", "description": "Unique request reference identifier." @@ -749,13 +784,13 @@ "tags": [ "vendorShippingLabels" ], - "description": "Returns a shipping label for the `purchaseOrderNumber` that you specify.\n\n**Usage Plan:**\n\n| Rate (requests per second) | Burst |\n| ---- | ---- |\n| 10 | 10 |\n\nThe `x-amzn-RateLimit-Limit` response header returns the usage plan rate limits that were applied to the requested operation, when available. The table above indicates the default rate and burst values for this operation. Selling partners whose business demands require higher throughput may see higher rate and burst values than those shown here. For more information, refer to [Usage Plans and Rate Limits in the Selling Partner API](https://developer-docs.amazon.com/sp-api/docs/usage-plans-and-rate-limits-in-the-sp-api).", + "description": "Returns a shipping label for the purchaseOrderNumber that you specify.\n\n**Usage Plan:**\n\n| Rate (requests per second) | Burst |\n| ---- | ---- |\n| 10 | 10 |\n\nThe `x-amzn-RateLimit-Limit` response header returns the usage plan rate limits that were applied to the requested operation, when available. The table above indicates the default rate and burst values for this operation. Selling partners whose business demands require higher throughput may see higher rate and burst values than those shown here. For more information, see [Usage Plans and Rate Limits in the Selling Partner API](https://developer-docs.amazon.com/sp-api/docs/usage-plans-and-rate-limits-in-the-sp-api).", "operationId": "getShippingLabel", "parameters": [ { "name": "purchaseOrderNumber", "in": "path", - "description": "The purchase order number for which you want to return the shipping label. It should be the same `purchaseOrderNumber` as received in the order.", + "description": "The purchase order number for which you want to return the shipping label. It should be the same purchaseOrderNumber as received in the order.", "required": true, "type": "string", "pattern": "^[a-zA-Z0-9]+$" @@ -822,42 +857,42 @@ "labelFormat": "PNG", "labelData": [ { - "packageIdentifier": "PKG001", - "trackingNumber": "1Z6A34Y60369738804", - "shipMethod": "UPS_GR_RES", - "shipMethodName": "UPS Ground Residential", - "content": "Base 64 encoded string goes here " - } - ] - } + "packageIdentifier": "PKG001", + "trackingNumber": "1Z6A34Y60369738804", + "shipMethod": "UPS_GR_RES", + "shipMethodName": "UPS Ground Residential", + "content": "Base 64 encoded string goes here " + } + ] } + } + }, + { + "request": { + "parameters": {} }, - { - "request": { - "parameters": {} - }, - "response": { - "payload": { - "purchaseOrderNumber": "mockpurchaseOrderNumber", - "sellingParty": { - "partyId": "999US" - }, - "shipFromParty": { - "partyId": "ABCD" - }, - "labelFormat": "PNG", - "labelData": [ - { - "packageIdentifier": "PKG001", - "trackingNumber": "1Z6A34Y60369738804", - "shipMethod": "UPS_GR_RES", - "shipMethodName": "UPS Ground Residential", - "content": "Base 64 encoded string goes here" - } - ] - } + "response": { + "payload": { + "purchaseOrderNumber": "mockpurchaseOrderNumber", + "sellingParty": { + "partyId": "999US" + }, + "shipFromParty": { + "partyId": "ABCD" + }, + "labelFormat": "PNG", + "labelData": [ + { + "packageIdentifier": "PKG001", + "trackingNumber": "1Z6A34Y60369738804", + "shipMethod": "UPS_GR_RES", + "shipMethodName": "UPS Ground Residential", + "content": "Base 64 encoded string goes here" + } + ] } } + } ] } }, @@ -900,11 +935,15 @@ } }, "401": { - "description": "The request's authorization header is not formatted correctly or does not contain a valid token.", + "description": "The request's Authorization header is not formatted correctly or does not contain a valid token.", "schema": { "$ref": "#/definitions/GetShippingLabelResponse" }, "headers": { + "x-amzn-RateLimit-Limit": { + "type": "string", + "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." + }, "x-amzn-RequestId": { "type": "string", "description": "Unique request reference identifier." @@ -945,6 +984,10 @@ "$ref": "#/definitions/GetShippingLabelResponse" }, "headers": { + "x-amzn-RateLimit-Limit": { + "type": "string", + "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." + }, "x-amzn-RequestId": { "type": "string", "description": "Unique request reference identifier." @@ -957,6 +1000,10 @@ "$ref": "#/definitions/GetShippingLabelResponse" }, "headers": { + "x-amzn-RateLimit-Limit": { + "type": "string", + "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." + }, "x-amzn-RequestId": { "type": "string", "description": "Unique request reference identifier." @@ -969,6 +1016,10 @@ "$ref": "#/definitions/GetShippingLabelResponse" }, "headers": { + "x-amzn-RateLimit-Limit": { + "type": "string", + "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." + }, "x-amzn-RequestId": { "type": "string", "description": "Unique request reference identifier." @@ -981,6 +1032,10 @@ "$ref": "#/definitions/GetShippingLabelResponse" }, "headers": { + "x-amzn-RateLimit-Limit": { + "type": "string", + "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." + }, "x-amzn-RequestId": { "type": "string", "description": "Unique request reference identifier." @@ -995,7 +1050,7 @@ "tags": [ "vendorShipping" ], - "description": "Submits one or more shipment confirmations for vendor orders.\n\n**Usage Plan:**\n\n| Rate (requests per second) | Burst |\n| ---- | ---- |\n| 10 | 10 |\n\nThe `x-amzn-RateLimit-Limit` response header returns the usage plan rate limits that were applied to the requested operation, when available. The table above indicates the default rate and burst values for this operation. Selling partners whose business demands require higher throughput may see higher rate and burst values than those shown here. For more information, refer to [Usage Plans and Rate Limits in the Selling Partner API](https://developer-docs.amazon.com/sp-api/docs/usage-plans-and-rate-limits-in-the-sp-api).", + "description": "Submits one or more shipment confirmations for vendor orders.\n\n**Usage Plan:**\n\n| Rate (requests per second) | Burst |\n| ---- | ---- |\n| 10 | 10 |\n\nThe `x-amzn-RateLimit-Limit` response header returns the usage plan rate limits that were applied to the requested operation, when available. The table above indicates the default rate and burst values for this operation. Selling partners whose business demands require higher throughput may see higher rate and burst values than those shown here. For more information, see [Usage Plans and Rate Limits in the Selling Partner API](https://developer-docs.amazon.com/sp-api/docs/usage-plans-and-rate-limits-in-the-sp-api).", "operationId": "submitShipmentConfirmations", "parameters": [ { @@ -1004,8 +1059,7 @@ "required": true, "schema": { "$ref": "#/definitions/SubmitShipmentConfirmationsRequest" - }, - "description": "Request body containing the shipment confirmations data." + } } ], "responses": { @@ -1046,182 +1100,182 @@ "shipFromParty": { "partyId": "VENDORWAREHOUSECODE" }, - "items": [ - { - "itemSequenceNumber": 1, - "buyerProductIdentifier": "ASIN001", - "vendorProductIdentifier": "9782700001659", - "shippedQuantity": { - "amount": 100, - "unitOfMeasure": "Each" - } + "items": [ + { + "itemSequenceNumber": 1, + "buyerProductIdentifier": "ASIN001", + "vendorProductIdentifier": "9782700001659", + "shippedQuantity": { + "amount": 100, + "unitOfMeasure": "Each" + } + }, + { + "itemSequenceNumber": 2, + "buyerProductIdentifier": "ASIN002", + "vendorProductIdentifier": "9782700001659", + "shippedQuantity": { + "amount": 100, + "unitOfMeasure": "Each" + } + }, + { + "itemSequenceNumber": 3, + "buyerProductIdentifier": "ASIN003", + "vendorProductIdentifier": "9782700001659", + "shippedQuantity": { + "amount": 100, + "unitOfMeasure": "Each" + } + }, + { + "itemSequenceNumber": 4, + "buyerProductIdentifier": "ASIN004", + "vendorProductIdentifier": "9782700001659", + "shippedQuantity": { + "amount": 100, + "unitOfMeasure": "Each" + } + } + ], + "containers": [ + { + "containerType": "carton", + "containerIdentifier": "123", + "trackingNumber": "TRACK001", + "scacCode": "SCAC001", + "carrier": "ABCD001", + "shipMethod": "UPS", + "dimensions": { + "length": "10", + "width": "10", + "height": "10", + "unitOfMeasure": "IN" }, - { - "itemSequenceNumber": 2, - "buyerProductIdentifier": "ASIN002", - "vendorProductIdentifier": "9782700001659", - "shippedQuantity": { - "amount": 100, - "unitOfMeasure": "Each" - } + "weight": { + "unitOfMeasure": "KG", + "value": "10" }, - { - "itemSequenceNumber": 3, - "buyerProductIdentifier": "ASIN003", - "vendorProductIdentifier": "9782700001659", - "shippedQuantity": { - "amount": 100, - "unitOfMeasure": "Each" + "packedItems": [ + { + "itemSequenceNumber": 1, + "buyerProductIdentifier": "ASIN001", + "packedQuantity": { + "amount": 100, + "unitOfMeasure": "Each" + } } + ] + }, + { + "containerType": "carton", + "containerIdentifier": "234", + "trackingNumber": "TRACK002", + "scacCode": "SCAC001", + "carrier": "ABCD001", + "shipMethod": "UPS", + "dimensions": { + "length": "10", + "width": "10", + "height": "10", + "unitOfMeasure": "IN" }, - { - "itemSequenceNumber": 4, - "buyerProductIdentifier": "ASIN004", - "vendorProductIdentifier": "9782700001659", - "shippedQuantity": { - "amount": 100, - "unitOfMeasure": "Each" - } - } - ], - "containers": [ - { - "containerType": "carton", - "containerIdentifier": "123", - "trackingNumber": "TRACK001", - "scacCode": "SCAC001", - "carrier": "ABCD001", - "shipMethod": "UPS", - "dimensions": { - "length": "10", - "width": "10", - "height": "10", - "unitOfMeasure": "IN" - }, - "weight": { - "unitOfMeasure": "KG", - "value": "10" - }, - "packedItems": [ - { - "itemSequenceNumber": 1, - "buyerProductIdentifier": "ASIN001", - "packedQuantity": { - "amount": 100, - "unitOfMeasure": "Each" - } - } - ] + "weight": { + "unitOfMeasure": "KG", + "value": "10" }, - { - "containerType": "carton", - "containerIdentifier": "234", - "trackingNumber": "TRACK002", - "scacCode": "SCAC001", - "carrier": "ABCD001", - "shipMethod": "UPS", - "dimensions": { - "length": "10", - "width": "10", - "height": "10", - "unitOfMeasure": "IN" - }, - "weight": { - "unitOfMeasure": "KG", - "value": "10" - }, - "packedItems": [ - { - "itemSequenceNumber": 2, - "buyerProductIdentifier": "ASIN002", - "packedQuantity": { - "amount": 100, - "unitOfMeasure": "Each" - } + "packedItems": [ + { + "itemSequenceNumber": 2, + "buyerProductIdentifier": "ASIN002", + "packedQuantity": { + "amount": 100, + "unitOfMeasure": "Each" } - ] + } + ] + }, + { + "containerType": "carton", + "containerIdentifier": "ABCD", + "trackingNumber": "TRACK003", + "scacCode": "SCAC001", + "carrier": "ABCD001", + "shipMethod": "UPS", + "dimensions": { + "length": "10", + "width": "10", + "height": "10", + "unitOfMeasure": "IN" }, - { - "containerType": "carton", - "containerIdentifier": "ABCD", - "trackingNumber": "TRACK003", - "scacCode": "SCAC001", - "carrier": "ABCD001", - "shipMethod": "UPS", - "dimensions": { - "length": "10", - "width": "10", - "height": "10", - "unitOfMeasure": "IN" - }, - "weight": { - "unitOfMeasure": "KG", - "value": "10" - }, - "packedItems": [ - { - "itemSequenceNumber": 3, - "buyerProductIdentifier": "ASIN003", - "packedQuantity": { - "amount": 100, - "unitOfMeasure": "Each" - } + "weight": { + "unitOfMeasure": "KG", + "value": "10" + }, + "packedItems": [ + { + "itemSequenceNumber": 3, + "buyerProductIdentifier": "ASIN003", + "packedQuantity": { + "amount": 100, + "unitOfMeasure": "Each" } - ] + } + ] + }, + { + "containerType": "carton", + "containerIdentifier": "id12", + "trackingNumber": "TRACK004", + "scacCode": "SCAC001", + "carrier": "ABCD001", + "shipMethod": "UPS", + "dimensions": { + "length": "10", + "width": "10", + "height": "10", + "unitOfMeasure": "IN" }, - { - "containerType": "carton", - "containerIdentifier": "id12", - "trackingNumber": "TRACK004", - "scacCode": "SCAC001", - "carrier": "ABCD001", - "shipMethod": "UPS", - "dimensions": { - "length": "10", - "width": "10", - "height": "10", - "unitOfMeasure": "IN" - }, - "weight": { - "unitOfMeasure": "KG", - "value": "10" - }, - "packedItems": [ - { - "itemSequenceNumber": 4, - "buyerProductIdentifier": "ASIN004", - "packedQuantity": { - "amount": 100, - "unitOfMeasure": "Each" - } + "weight": { + "unitOfMeasure": "KG", + "value": "10" + }, + "packedItems": [ + { + "itemSequenceNumber": 4, + "buyerProductIdentifier": "ASIN004", + "packedQuantity": { + "amount": 100, + "unitOfMeasure": "Each" } - ] - } - ] - } - ] - } + } + ] + } + ] + } + ] } } - }, - "response": { - "payload": { - "transactionId": "20190905010908-8a3b6901-ef20-412f-9270-21c021796605" - } } }, - { - "request": { - "parameters": { - "body": {} - } - }, - "response": { - "payload": { - "transactionId": "mock-TransactionId-20190905010908-8a3b6901-ef20-412f-9270-21c021796605" - } + "response": { + "payload": { + "transactionId": "20190905010908-8a3b6901-ef20-412f-9270-21c021796605" + } + } + }, + { + "request": { + "parameters": { + "body": {} + } + }, + "response": { + "payload": { + "transactionId": "mock-TransactionId-20190905010908-8a3b6901-ef20-412f-9270-21c021796605" } } + } ] } }, @@ -1303,6 +1357,10 @@ "$ref": "#/definitions/SubmitShipmentConfirmationsResponse" }, "headers": { + "x-amzn-RateLimit-Limit": { + "type": "string", + "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." + }, "x-amzn-RequestId": { "type": "string", "description": "Unique request reference identifier." @@ -1315,6 +1373,10 @@ "$ref": "#/definitions/SubmitShipmentConfirmationsResponse" }, "headers": { + "x-amzn-RateLimit-Limit": { + "type": "string", + "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." + }, "x-amzn-RequestId": { "type": "string", "description": "Unique request reference identifier." @@ -1327,6 +1389,10 @@ "$ref": "#/definitions/SubmitShipmentConfirmationsResponse" }, "headers": { + "x-amzn-RateLimit-Limit": { + "type": "string", + "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." + }, "x-amzn-RequestId": { "type": "string", "description": "Unique request reference identifier." @@ -1339,6 +1405,10 @@ "$ref": "#/definitions/SubmitShipmentConfirmationsResponse" }, "headers": { + "x-amzn-RateLimit-Limit": { + "type": "string", + "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." + }, "x-amzn-RequestId": { "type": "string", "description": "Unique request reference identifier." @@ -1351,6 +1421,10 @@ "$ref": "#/definitions/SubmitShipmentConfirmationsResponse" }, "headers": { + "x-amzn-RateLimit-Limit": { + "type": "string", + "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." + }, "x-amzn-RequestId": { "type": "string", "description": "Unique request reference identifier." @@ -1365,7 +1439,7 @@ "tags": [ "vendorShipping" ], - "description": "This API call is only to be used by Vendor-Own-Carrier (VOC) vendors. Calling this API will submit a shipment status update for the package that a vendor has shipped. It will provide the Amazon customer visibility on their order, when the package is outside of Amazon Network visibility.\n\n**Usage Plan:**\n\n| Rate (requests per second) | Burst |\n| ---- | ---- |\n| 10 | 10 |\n\nThe `x-amzn-RateLimit-Limit` response header returns the usage plan rate limits that were applied to the requested operation, when available. The table above indicates the default rate and burst values for this operation. Selling partners whose business demands require higher throughput may see higher rate and burst values than those shown here. For more information, refer to [Usage Plans and Rate Limits in the Selling Partner API](https://developer-docs.amazon.com/sp-api/docs/usage-plans-and-rate-limits-in-the-sp-api).", + "description": "This API call is only to be used by Vendor-Own-Carrier (VOC) vendors. Calling this API will submit a shipment status update for the package that a vendor has shipped. It will provide the Amazon customer visibility on their order, when the package is outside of Amazon Network visibility.\n\n**Usage Plan:**\n\n| Rate (requests per second) | Burst |\n| ---- | ---- |\n| 10 | 10 |\n\nThe `x-amzn-RateLimit-Limit` response header returns the usage plan rate limits that were applied to the requested operation, when available. The table above indicates the default rate and burst values for this operation. Selling partners whose business demands require higher throughput may see higher rate and burst values than those shown here. For more information, see [Usage Plans and Rate Limits in the Selling Partner API](https://developer-docs.amazon.com/sp-api/docs/usage-plans-and-rate-limits-in-the-sp-api).", "operationId": "submitShipmentStatusUpdates", "parameters": [ { @@ -1374,8 +1448,7 @@ "required": true, "schema": { "$ref": "#/definitions/SubmitShipmentStatusUpdatesRequest" - }, - "description": "Request body containing the shipment status update data." + } } ], "responses": { @@ -1416,41 +1489,41 @@ "reasonCode": "NS", "statusDateTime": "2020-08-07T19:56:45.632Z", "statusLocationAddress": { - "city": "Berlin", - "postalCode": "10115", - "stateOrRegion": "Berlin", - "countryCode": "DE" - }, - "shipmentSchedule": { - "estimatedDeliveryDateTime": "2020-08-07T19:56:45.632Z", - "apptWindowStartDateTime": "2020-08-07T19:56:45.632Z", - "apptWindowEndDateTime": "2020-08-07T19:56:45.632Z" - } + "city": "Berlin", + "postalCode": "10115", + "stateOrRegion": "Berlin", + "countryCode": "DE" + }, + "shipmentSchedule": { + "estimatedDeliveryDateTime": "2020-08-07T19:56:45.632Z", + "apptWindowStartDateTime": "2020-08-07T19:56:45.632Z", + "apptWindowEndDateTime": "2020-08-07T19:56:45.632Z" } } - ] - } + } + ] } } - }, - "response": { - "payload": { - "transactionId": "20190905010908-8a3b6901-ef20-412f-9270-21c021796605" - } } }, - { - "request": { - "parameters": { - "body": {} - } - }, - "response": { - "payload": { - "transactionId": "mock-TransactionId-20190905010908-8a3b6901-ef20-412f-9270-21c021796605" - } + "response": { + "payload": { + "transactionId": "20190905010908-8a3b6901-ef20-412f-9270-21c021796605" + } + } + }, + { + "request": { + "parameters": { + "body": {} + } + }, + "response": { + "payload": { + "transactionId": "mock-TransactionId-20190905010908-8a3b6901-ef20-412f-9270-21c021796605" } } + } ] } }, @@ -1532,6 +1605,10 @@ "$ref": "#/definitions/SubmitShipmentStatusUpdatesResponse" }, "headers": { + "x-amzn-RateLimit-Limit": { + "type": "string", + "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." + }, "x-amzn-RequestId": { "type": "string", "description": "Unique request reference identifier." @@ -1544,6 +1621,10 @@ "$ref": "#/definitions/SubmitShipmentStatusUpdatesResponse" }, "headers": { + "x-amzn-RateLimit-Limit": { + "type": "string", + "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." + }, "x-amzn-RequestId": { "type": "string", "description": "Unique request reference identifier." @@ -1556,6 +1637,10 @@ "$ref": "#/definitions/SubmitShipmentStatusUpdatesResponse" }, "headers": { + "x-amzn-RateLimit-Limit": { + "type": "string", + "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." + }, "x-amzn-RequestId": { "type": "string", "description": "Unique request reference identifier." @@ -1568,6 +1653,10 @@ "$ref": "#/definitions/SubmitShipmentStatusUpdatesResponse" }, "headers": { + "x-amzn-RateLimit-Limit": { + "type": "string", + "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." + }, "x-amzn-RequestId": { "type": "string", "description": "Unique request reference identifier." @@ -1580,6 +1669,10 @@ "$ref": "#/definitions/SubmitShipmentStatusUpdatesResponse" }, "headers": { + "x-amzn-RateLimit-Limit": { + "type": "string", + "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." + }, "x-amzn-RequestId": { "type": "string", "description": "Unique request reference identifier." @@ -1594,13 +1687,13 @@ "tags": [ "customerInvoices" ], - "description": "Returns a list of customer invoices created during a time frame that you specify. You define the time frame using the `createdAfter` and `createdBefore` parameters. You must use both of these parameters. The date range to search must be no more than 7 days.\n\n**Usage Plan:**\n\n| Rate (requests per second) | Burst |\n| ---- | ---- |\n| 10 | 10 |\n\nThe `x-amzn-RateLimit-Limit` response header returns the usage plan rate limits that were applied to the requested operation, when available. The table above indicates the default rate and burst values for this operation. Selling partners whose business demands require higher throughput may see higher rate and burst values than those shown here. For more information, refer to [Usage Plans and Rate Limits in the Selling Partner API](https://developer-docs.amazon.com/sp-api/docs/usage-plans-and-rate-limits-in-the-sp-api).", + "description": "Returns a list of customer invoices created during a time frame that you specify. You define the time frame using the createdAfter and createdBefore parameters. You must use both of these parameters. The date range to search must be no more than 7 days.\n\n**Usage Plan:**\n\n| Rate (requests per second) | Burst |\n| ---- | ---- |\n| 10 | 10 |\n\nThe `x-amzn-RateLimit-Limit` response header returns the usage plan rate limits that were applied to the requested operation, when available. The table above indicates the default rate and burst values for this operation. Selling partners whose business demands require higher throughput may see higher rate and burst values than those shown here. For more information, see [Usage Plans and Rate Limits in the Selling Partner API](https://developer-docs.amazon.com/sp-api/docs/usage-plans-and-rate-limits-in-the-sp-api).", "operationId": "getCustomerInvoices", "parameters": [ { "name": "shipFromPartyId", "in": "query", - "description": "The vendor `warehouseId` for order fulfillment. If not specified, the result will contain orders for all warehouses.", + "description": "The vendor warehouseId for order fulfillment. If not specified, the result will contain orders for all warehouses.", "required": false, "type": "string" }, @@ -1616,7 +1709,7 @@ { "name": "createdAfter", "in": "query", - "description": "Orders that became available after this date and time will be included in the result. Must be in ISO 8601 date/time format.", + "description": "Orders that became available after this date and time will be included in the result. Must be in ISO-8601 date/time format.", "required": true, "type": "string", "format": "date-time" @@ -1624,7 +1717,7 @@ { "name": "createdBefore", "in": "query", - "description": "Orders that became available before this date and time will be included in the result. Must be in ISO 8601 date/time format.", + "description": "Orders that became available before this date and time will be included in the result. Must be in ISO-8601 date/time format.", "required": true, "type": "string", "format": "date-time" @@ -1709,35 +1802,35 @@ "response": { "payload": { "pagination": { - "nextToken": "MDAwMDAwMDAwMQ==" - }, - "customerInvoices": [ - { - "purchaseOrderNumber": "PO98676856", - "content": "base 64 content goes here" - } - ] - } + "nextToken": "MDAwMDAwMDAwMQ==" + }, + "customerInvoices": [ + { + "purchaseOrderNumber": "PO98676856", + "content": "base 64 content goes here" + } + ] } + } + }, + { + "request": { + "parameters": {} }, - { - "request": { - "parameters": {} - }, - "response": { - "payload": { - "pagination": { - "nextToken": "MDAwMDAwMDAwMQ==" - }, - "customerInvoices": [ - { - "purchaseOrderNumber": "mockpurchaseOrderNumber", - "content": "base 64 content goes here" - } - ] - } + "response": { + "payload": { + "pagination": { + "nextToken": "MDAwMDAwMDAwMQ==" + }, + "customerInvoices": [ + { + "purchaseOrderNumber": "mockpurchaseOrderNumber", + "content": "base 64 content goes here" + } + ] } } + } ] } }, @@ -1848,6 +1941,10 @@ "$ref": "#/definitions/GetCustomerInvoiceResponse" }, "headers": { + "x-amzn-RateLimit-Limit": { + "type": "string", + "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." + }, "x-amzn-RequestId": { "type": "string", "description": "Unique request reference identifier." @@ -1860,6 +1957,10 @@ "$ref": "#/definitions/GetCustomerInvoiceResponse" }, "headers": { + "x-amzn-RateLimit-Limit": { + "type": "string", + "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." + }, "x-amzn-RequestId": { "type": "string", "description": "Unique request reference identifier." @@ -1872,6 +1973,10 @@ "$ref": "#/definitions/GetCustomerInvoiceResponse" }, "headers": { + "x-amzn-RateLimit-Limit": { + "type": "string", + "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." + }, "x-amzn-RequestId": { "type": "string", "description": "Unique request reference identifier." @@ -1884,6 +1989,10 @@ "$ref": "#/definitions/GetCustomerInvoiceResponse" }, "headers": { + "x-amzn-RateLimit-Limit": { + "type": "string", + "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." + }, "x-amzn-RequestId": { "type": "string", "description": "Unique request reference identifier." @@ -1898,7 +2007,7 @@ "tags": [ "customerInvoices" ], - "description": "Returns a customer invoice based on the `purchaseOrderNumber` that you specify.\n\n**Usage Plan:**\n\n| Rate (requests per second) | Burst |\n| ---- | ---- |\n| 10 | 10 |\n\nThe `x-amzn-RateLimit-Limit` response header returns the usage plan rate limits that were applied to the requested operation, when available. The table above indicates the default rate and burst values for this operation. Selling partners whose business demands require higher throughput may see higher rate and burst values than those shown here. For more information, refer to [Usage Plans and Rate Limits in the Selling Partner API](https://developer-docs.amazon.com/sp-api/docs/usage-plans-and-rate-limits-in-the-sp-api).", + "description": "Returns a customer invoice based on the purchaseOrderNumber that you specify.\n\n**Usage Plan:**\n\n| Rate (requests per second) | Burst |\n| ---- | ---- |\n| 10 | 10 |\n\nThe `x-amzn-RateLimit-Limit` response header returns the usage plan rate limits that were applied to the requested operation, when available. The table above indicates the default rate and burst values for this operation. Selling partners whose business demands require higher throughput may see higher rate and burst values than those shown here. For more information, see [Usage Plans and Rate Limits in the Selling Partner API](https://developer-docs.amazon.com/sp-api/docs/usage-plans-and-rate-limits-in-the-sp-api).", "operationId": "getCustomerInvoice", "parameters": [ { @@ -2004,11 +2113,15 @@ } }, "401": { - "description": "The request's authorization header is not formatted correctly or does not contain a valid token.", + "description": "The request's Authorization header is not formatted correctly or does not contain a valid token.", "schema": { "$ref": "#/definitions/GetCustomerInvoiceResponse" }, "headers": { + "x-amzn-RateLimit-Limit": { + "type": "string", + "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." + }, "x-amzn-RequestId": { "type": "string", "description": "Unique request reference identifier." @@ -2049,6 +2162,10 @@ "$ref": "#/definitions/GetCustomerInvoiceResponse" }, "headers": { + "x-amzn-RateLimit-Limit": { + "type": "string", + "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." + }, "x-amzn-RequestId": { "type": "string", "description": "Unique request reference identifier." @@ -2061,6 +2178,10 @@ "$ref": "#/definitions/GetCustomerInvoiceResponse" }, "headers": { + "x-amzn-RateLimit-Limit": { + "type": "string", + "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." + }, "x-amzn-RequestId": { "type": "string", "description": "Unique request reference identifier." @@ -2073,6 +2194,10 @@ "$ref": "#/definitions/GetCustomerInvoiceResponse" }, "headers": { + "x-amzn-RateLimit-Limit": { + "type": "string", + "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." + }, "x-amzn-RequestId": { "type": "string", "description": "Unique request reference identifier." @@ -2085,6 +2210,10 @@ "$ref": "#/definitions/GetCustomerInvoiceResponse" }, "headers": { + "x-amzn-RateLimit-Limit": { + "type": "string", + "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." + }, "x-amzn-RequestId": { "type": "string", "description": "Unique request reference identifier." @@ -2099,13 +2228,13 @@ "tags": [ "vendorShipping" ], - "description": "Returns a list of packing slips for the purchase orders that match the criteria specified. Date range to search must not be more than 7 days.\n\n**Usage Plan:**\n\n| Rate (requests per second) | Burst |\n| ---- | ---- |\n| 10 | 10 |\n\nThe `x-amzn-RateLimit-Limit` response header returns the usage plan rate limits that were applied to the requested operation, when available. The table above indicates the default rate and burst values for this operation. Selling partners whose business demands require higher throughput may see higher rate and burst values than those shown here. For more information, refer to [Usage Plans and Rate Limits in the Selling Partner API](https://developer-docs.amazon.com/sp-api/docs/usage-plans-and-rate-limits-in-the-sp-api).", + "description": "Returns a list of packing slips for the purchase orders that match the criteria specified. Date range to search must not be more than 7 days.\n\n**Usage Plan:**\n\n| Rate (requests per second) | Burst |\n| ---- | ---- |\n| 10 | 10 |\n\nThe `x-amzn-RateLimit-Limit` response header returns the usage plan rate limits that were applied to the requested operation, when available. The table above indicates the default rate and burst values for this operation. Selling partners whose business demands require higher throughput may see higher rate and burst values than those shown here. For more information, see [Usage Plans and Rate Limits in the Selling Partner API](https://developer-docs.amazon.com/sp-api/docs/usage-plans-and-rate-limits-in-the-sp-api).", "operationId": "getPackingSlips", "parameters": [ { "name": "shipFromPartyId", "in": "query", - "description": "The vendor `warehouseId` for order fulfillment. If not specified the result will contain orders for all warehouses.", + "description": "The vendor warehouseId for order fulfillment. If not specified the result will contain orders for all warehouses.", "required": false, "type": "string" }, @@ -2121,7 +2250,7 @@ { "name": "createdAfter", "in": "query", - "description": "Packing slips that became available after this date and time will be included in the result. Must be in ISO 8601 date/time format.", + "description": "Packing slips that became available after this date and time will be included in the result. Must be in ISO-8601 date/time format.", "required": true, "type": "string", "format": "date-time" @@ -2129,7 +2258,7 @@ { "name": "createdBefore", "in": "query", - "description": "Packing slips that became available before this date and time will be included in the result. Must be in ISO 8601 date/time format.", + "description": "Packing slips that became available before this date and time will be included in the result. Must be in ISO-8601 date/time format.", "required": true, "type": "string", "format": "date-time" @@ -2223,47 +2352,47 @@ "response": { "payload": { "pagination": { - "nextToken": "NEBxNEBxNEBxNR==" + "nextToken": "NEBxNEBxNEBxNR==" + }, + "packingSlips": [ + { + "purchaseOrderNumber": "UvgABdBjQ", + "content": "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MSAxMjkyIDk3NF0vSXRhbGljQW5nbGUgMC9Bc2NlbnQgOTc0L0NJRFNldCAyMiAwIFI+PgplbmRvYmoKMTkgMCBvYmo8PC9EVyAwL1N1YnR5cGUvQ0lERm9udFR5cGUyL0NJRFN5c3RlbUluZm88PC9TdXBwbGVtZW50IDAvUmVnaXN0cnkoQWRvYmUpL09yZGVyaW5nKFVDUyk+Pi9UeXBlL0ZvbnQvQmFzZUZvbnQvRUFBQUFBK0FtYXpvbkVtYmVyLVJlZ3VsYXIvRm9udERlc2NyaXB0b3IgMjAgMCBSL1dbMFs1MDAgMjYyIDM5MCA2OTAgNDgxIDc2OSA1OTIgNjAwIDYwNCA1NzAgNjQwIDc3NyAzODMgNTA5IDI0OCAyNzggNTI5IDg5MyAzNzMgMjU1IDQ2MSA1NzQgNTgwIDUyNyAyODUgNTg2IDg0MCA0MzIgNTg2IDU4NiA1ODYgNTg2IDU4NiA1NzUgNjA3IDU5MCA1ODYgNzc3IDU4NiA1ODYgNTEwIDU5MiA1ODggNTgwIDM3MyA2MjEgNjEzIDUyNiAyNDggNzA2IDUyNCA1ODggMjQ4IDYwNCA2NDIgNTg2IDQ3MiA0NzZdXS9DSURUb0dJRE1hcC9JZGVudGl0eT4+CmVuZG9iagoxNyAwIG9iajw8L1N1YnR5cGUvVHlwZTAvVHlwZS9Gb250L0Jhc2VGb250L0VBQUFBQStBbWF6b25FbWJlci1SZWd1bGFyL0VuY29kaW5nL0lkZW50aXR5LUgvVG9Vbmljb2RlIDE4IDAgUi9EZXNjZW5kYW50Rm9udHNbMTkgMCBSXT4+CmVuZG9iagoyMyAwIG9iaiA8PC9Db2xvclNwYWNlWy9JQ0NCYXNlZCA3IDAgUl0vTmFtZS9JbTMvU3VidHlwZS9JbWFnZS9IZWlnaHQgMTYwL0ZpbHRlci9GbGF0ZURlY29kZS9UeXBlL1hPYmplY3QvV2lkdGggMzc2L0xlbmd0aCA1MTA4L0JpdHNQZXJDb21wb25lbnQgOD4+c3RyZWFtCnic7Z2/rhxFGsUnu9JKKzmzLDkgsmQ5cWRZkDhBSEROECIjQIjQgYHwBrCklhaILQE5knmAEd4HMJcXwDyB7xv0np6zc/abquqenp4/1dM+P5VGM9PV1VXVX53+qrqrummMMcYYY4wxxhhjjDHG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WrvdbmLy5qUZfOZAMnPQmbcEXKIpyZu/yMyHy4fl+fcDXKKZX55Xq9M/B/in984eUxIvSYAT7XY7JQEiJQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQG6D0ryvFqdfz/AJdput2+WZApzv1icfz/AJZqDx5tTzPF4vLm6fnl5Of+WgItzd3s7x5I3Lz39eJp15v0AF2ez2UxJ3rt6OBy+ffk6Y845twRcnAnFeweSV5OauWe/359tS8BluV8sThleXmPycXCAT+j1d5nT34FMRmYIWj4spyrewQLThMfvj3PG+A//dTYZeX325urasqzPvOZcsV6vj8fjn8gUAAAAAAC/+xt439y+CmVuZHN0cmVhbQplbmRvYmoKNSAwIG9iajw8L0NvbG9yU3BhY2U8PC9EZWZhdWx0UkdCIDYgMCBSL0lDQzEzIDggMCBSPj4vUHJvY1NldFsvUERGL0ltYWdlQi9JbWFnZUMvVGV4dF0vRm9udDw8L0YzIDEwIDAgUi9GMjYgMTEgMCBSL0YyNCAxNyAwIFI+Pi9YT2JqZWN0PDwvSW0zIDIzIDAgUi9JbTQgMjQgMCBSL0ltMSAyNSAwIFIvSW0yIDI2IDAgUj4+Pj4KZW5kb2JqCjMgMCBvYmo8PC9Db250ZW50cyA0IDAgUi9CbGVlZEJveFswIDAgNjEyIDc5Ml0vVHlwZS9QYWdlL1Jlc291cmNlcyA1IDAgUi9Dcm9wQm94WzAgMCA2MTIgNzkyXS9QYXJlbnQgMSAwIFIvTWVkaWFCb3hbMCAwIDYxMiA3OTJdL1RyaW1Cb3hbMCAwIDYxMiA3OTJdPj4KZW5kb2JqCjEgMCBvYmo8PC9LaWRzWzMgMCBSXS9UeXBlL1BhZ2VzL0NvdW50IDE+PgplbmRvYmoKMjcgMCBvYmo8PC9UeXBlL0NhdGFsb2cvUGFnZXMgMSAwIFI+PgplbmRvYmoKMjggMCBvYmo8PC9Nb2REYXRlKEQ6MjAxOTAxMzAyMjQxMTBaKS9DcmVhdGlvbkRhdGUoRDoyMDE5MDEzMDIyNDExMFopL1Byb2R1Y2VyKGlUZXh0IDEuNCBcKGJ5IGxvd2FnaWUuY29tXCkpPj4KZW5kb2JqCnhyZWYKMCAyOQowMDAwMDAwMDAwIDY1NTM1IGYgCjAwMDAwNjU1NjkgMDAwMDAgbiAKMDAwMDAwMDAwMCA2NTUzNiBuIAowMDAwMDY1NDEwIDAwMDAwIG4gCjAwMDAwMDAwMTUgMDAwMDAgbiAKMDAwMDA2NTIxNyAwMDAwMCBuIAowMDAwMDA1OTcxIDAwMDAwIG4gCjAwMDAwMDMzMDcgMDAwMDAgbiAKMDAwMDAwNjgzMiAwMDAwMCBuIAowMDAwMDA2MDAzIDAwMDAwIG4gCjAwMDAwMDY4NjQgMDAwMDAgbiAKMDAwMDAxMjAwNSAwMDAwMCBuIAowMDAwMDA2OTU3IDAwMDAwIG4gCjAwMDAwMTE1OTggMDAwMDAgbiAKMDAwMDAxMTM3OSAwMDAwMCBuIAowMDAwMDA3NDgyIDAwMDAwIG4gCjAwMDAwMTEyODYgMDAwMDAgbiAKMDAwMDAxNzU5NCAwMDAwMCBuIAowMDAwMDEyMTQzIDAwMDAwIG4gCjAwMDAwMTcxNjAgMDAwMDAgbiAKMDAwMDAxNjkzOCAwMDAwMCBuIAowMDAwMDEyNjk4IDAwMDAwIG4gCjAwMDAwMTY4NDEgMDAwMDAgbiAKMDAwMDAxNzczNSAwMDAwMCBuIAowMDAwMDIzMDE2IDAwMDAwIG4gCjAwMDAwMjk3NzUgMDAwMDAgbiAKMDAwMDA2MjY0NCAwMDAwMCBuIAowMDAwMDY1NjE5IDAwMDAwIG4gCjAwMDAwNjU2NjQgMDAwMDAgbiAKdHJhaWxlcgo8PC9JbmZvIDI4IDAgUi9JRCBbPGIxMjZlODIwMDdjNzZhNmUxNTFlNzQ0Zjg2MjBmNDJmPjw1YmZlYjU4YTM5MjllZmRiZmQ2ZjU5MWM2MGIwNjc0MD5dL1Jvb3QgMjcgMCBSL1NpemUgMjk+PgpzdGFydHhyZWYKNjU3ODIKJSVFT0YK", + "contentType": "application/pdf" }, - "packingSlips": [ - { - "purchaseOrderNumber": "UvgABdBjQ", - "content": "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MSAxMjkyIDk3NF0vSXRhbGljQW5nbGUgMC9Bc2NlbnQgOTc0L0NJRFNldCAyMiAwIFI+PgplbmRvYmoKMTkgMCBvYmo8PC9EVyAwL1N1YnR5cGUvQ0lERm9udFR5cGUyL0NJRFN5c3RlbUluZm88PC9TdXBwbGVtZW50IDAvUmVnaXN0cnkoQWRvYmUpL09yZGVyaW5nKFVDUyk+Pi9UeXBlL0ZvbnQvQmFzZUZvbnQvRUFBQUFBK0FtYXpvbkVtYmVyLVJlZ3VsYXIvRm9udERlc2NyaXB0b3IgMjAgMCBSL1dbMFs1MDAgMjYyIDM5MCA2OTAgNDgxIDc2OSA1OTIgNjAwIDYwNCA1NzAgNjQwIDc3NyAzODMgNTA5IDI0OCAyNzggNTI5IDg5MyAzNzMgMjU1IDQ2MSA1NzQgNTgwIDUyNyAyODUgNTg2IDg0MCA0MzIgNTg2IDU4NiA1ODYgNTg2IDU4NiA1NzUgNjA3IDU5MCA1ODYgNzc3IDU4NiA1ODYgNTEwIDU5MiA1ODggNTgwIDM3MyA2MjEgNjEzIDUyNiAyNDggNzA2IDUyNCA1ODggMjQ4IDYwNCA2NDIgNTg2IDQ3MiA0NzZdXS9DSURUb0dJRE1hcC9JZGVudGl0eT4+CmVuZG9iagoxNyAwIG9iajw8L1N1YnR5cGUvVHlwZTAvVHlwZS9Gb250L0Jhc2VGb250L0VBQUFBQStBbWF6b25FbWJlci1SZWd1bGFyL0VuY29kaW5nL0lkZW50aXR5LUgvVG9Vbmljb2RlIDE4IDAgUi9EZXNjZW5kYW50Rm9udHNbMTkgMCBSXT4+CmVuZG9iagoyMyAwIG9iaiA8PC9Db2xvclNwYWNlWy9JQ0NCYXNlZCA3IDAgUl0vTmFtZS9JbTMvU3VidHlwZS9JbWFnZS9IZWlnaHQgMTYwL0ZpbHRlci9GbGF0ZURlY29kZS9UeXBlL1hPYmplY3QvV2lkdGggMzc2L0xlbmd0aCA1MTA4L0JpdHNQZXJDb21wb25lbnQgOD4+c3RyZWFtCnic7Z2/rhxFGsUnu9JKKzmzLDkgsmQ5cWRZkDhBSEROECIjQIjQgYHwBrCklhaILQE5knmAEd4HMJcXwDyB7xv0np6zc/abquqenp4/1dM+P5VGM9PV1VXVX53+qrqrummMMcYYY4wxxhhjjDHG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WrvdbmLy5qUZfOZAMnPQmbcEXKIpyZu/yMyHy4fl+fcDXKKZX55Xq9M/B/in984eUxIvSYAT7XY7JQEiJQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQG6D0ryvFqdfz/AJdput2+WZApzv1icfz/AJZqDx5tTzPF4vLm6fnl5Of+WgItzd3s7x5I3Lz39eJp15v0AF2ez2UxJ3rt6OBy+ffk6Y845twRcnAnFeweSV5OauWe/359tS8BluV8sThleXmPycXCAT+j1d5nT34FMRmYIWj4spyrewQLThMfvj3PG+A//dTYZeX325urasqzPvOZcsV6vj8fjn8gUAAAAAAC/+xt439y+CmVuZHN0cmVhbQplbmRvYmoKNSAwIG9iajw8L0NvbG9yU3BhY2U8PC9EZWZhdWx0UkdCIDYgMCBSL0lDQzEzIDggMCBSPj4vUHJvY1NldFsvUERGL0ltYWdlQi9JbWFnZUMvVGV4dF0vRm9udDw8L0YzIDEwIDAgUi9GMjYgMTEgMCBSL0YyNCAxNyAwIFI+Pi9YT2JqZWN0PDwvSW0zIDIzIDAgUi9JbTQgMjQgMCBSL0ltMSAyNSAwIFIvSW0yIDI2IDAgUj4+Pj4KZW5kb2JqCjMgMCBvYmo8PC9Db250ZW50cyA0IDAgUi9CbGVlZEJveFswIDAgNjEyIDc5Ml0vVHlwZS9QYWdlL1Jlc291cmNlcyA1IDAgUi9Dcm9wQm94WzAgMCA2MTIgNzkyXS9QYXJlbnQgMSAwIFIvTWVkaWFCb3hbMCAwIDYxMiA3OTJdL1RyaW1Cb3hbMCAwIDYxMiA3OTJdPj4KZW5kb2JqCjEgMCBvYmo8PC9LaWRzWzMgMCBSXS9UeXBlL1BhZ2VzL0NvdW50IDE+PgplbmRvYmoKMjcgMCBvYmo8PC9UeXBlL0NhdGFsb2cvUGFnZXMgMSAwIFI+PgplbmRvYmoKMjggMCBvYmo8PC9Nb2REYXRlKEQ6MjAxOTAxMzAyMjQxMTBaKS9DcmVhdGlvbkRhdGUoRDoyMDE5MDEzMDIyNDExMFopL1Byb2R1Y2VyKGlUZXh0IDEuNCBcKGJ5IGxvd2FnaWUuY29tXCkpPj4KZW5kb2JqCnhyZWYKMCAyOQowMDAwMDAwMDAwIDY1NTM1IGYgCjAwMDAwNjU1NjkgMDAwMDAgbiAKMDAwMDAwMDAwMCA2NTUzNiBuIAowMDAwMDY1NDEwIDAwMDAwIG4gCjAwMDAwMDAwMTUgMDAwMDAgbiAKMDAwMDA2NTIxNyAwMDAwMCBuIAowMDAwMDA1OTcxIDAwMDAwIG4gCjAwMDAwMDMzMDcgMDAwMDAgbiAKMDAwMDAwNjgzMiAwMDAwMCBuIAowMDAwMDA2MDAzIDAwMDAwIG4gCjAwMDAwMDY4NjQgMDAwMDAgbiAKMDAwMDAxMjAwNSAwMDAwMCBuIAowMDAwMDA2OTU3IDAwMDAwIG4gCjAwMDAwMTE1OTggMDAwMDAgbiAKMDAwMDAxMTM3OSAwMDAwMCBuIAowMDAwMDA3NDgyIDAwMDAwIG4gCjAwMDAwMTEyODYgMDAwMDAgbiAKMDAwMDAxNzU5NCAwMDAwMCBuIAowMDAwMDEyMTQzIDAwMDAwIG4gCjAwMDAwMTcxNjAgMDAwMDAgbiAKMDAwMDAxNjkzOCAwMDAwMCBuIAowMDAwMDEyNjk4IDAwMDAwIG4gCjAwMDAwMTY4NDEgMDAwMDAgbiAKMDAwMDAxNzczNSAwMDAwMCBuIAowMDAwMDIzMDE2IDAwMDAwIG4gCjAwMDAwMjk3NzUgMDAwMDAgbiAKMDAwMDA2MjY0NCAwMDAwMCBuIAowMDAwMDY1NjE5IDAwMDAwIG4gCjAwMDAwNjU2NjQgMDAwMDAgbiAKdHJhaWxlcgo8PC9JbmZvIDI4IDAgUi9JRCBbPGIxMjZlODIwMDdjNzZhNmUxNTFlNzQ0Zjg2MjBmNDJmPjw1YmZlYjU4YTM5MjllZmRiZmQ2ZjU5MWM2MGIwNjc0MD5dL1Jvb3QgMjcgMCBSL1NpemUgMjk+PgpzdGFydHhyZWYKNjU3ODIKJSVFT0YK", - "contentType": "application/pdf" - }, - { - "purchaseOrderNumber": "VvgCDdBjR", - "content": "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MSAxMjkyIDk3NF0vSXRhbGljQW5nbGUgMC9Bc2NlbnQgOTc0L0NJRFNldCAyMiAwIFI+PgplbmRvYmoKMTkgMCBvYmo8PC9EVyAwL1N1YnR5cGUvQ0lERm9udFR5cGUyL0NJRFN5c3RlbUluZm88PC9TdXBwbGVtZW50IDAvUmVnaXN0cnkoQWRvYmUpL09yZGVyaW5nKFVDUyk+Pi9UeXBlL0ZvbnQvQmFzZUZvbnQvRUFBQUFBK0FtYXpvbkVtYmVyLVJlZ3VsYXIvRm9udERlc2NyaXB0b3IgMjAgMCBSL1dbMFs1MDAgMjYyIDM5MCA2OTAgNDgxIDc2OSA1OTIgNjAwIDYwNCA1NzAgNjQwIDc3NyAzODMgNTA5IDI0OCAyNzggNTI5IDg5MyAzNzMgMjU1IDQ2MSA1NzQgNTgwIDUyNyAyODUgNTg2IDg0MCA0MzIgNTg2IDU4NiA1ODYgNTg2IDU4NiA1NzUgNjA3IDU5MCA1ODYgNzc3IDU4NiA1ODYgNTEwIDU5MiA1ODggNTgwIDM3MyA2MjEgNjEzIDUyNiAyNDggNzA2IDUyNCA1ODggMjQ4IDYwNCA2NDIgNTg2IDQ3MiA0NzZdXS9DSURUb0dJRE1hcC9JZGVudGl0eT4+CmVuZG9iagoxNyAwIG9iajw8L1N1YnR5cGUvVHlwZTAvVHlwZS9Gb250L0Jhc2VGb250L0VBQUFBQStBbWF6b25FbWJlci1SZWd1bGFyL0VuY29kaW5nL0lkZW50aXR5LUgvVG9Vbmljb2RlIDE4IDAgUi9EZXNjZW5kYW50Rm9udHNbMTkgMCBSXT4+CmVuZG9iagoyMyAwIG9iaiA8PC9Db2xvclNwYWNlWy9JQ0NCYXNlZCA3IDAgUl0vTmFtZS9JbTMvU3VidHlwZS9JbWFnZS9IZWlnaHQgMTYwL0ZpbHRlci9GbGF0ZURlY29kZS9UeXBlL1hPYmplY3QvV2lkdGggMzc2L0xlbmd0aCA1MTA4L0JpdHNQZXJDb21wb25lbnQgOD4+c3RyZWFtCnic7Z2/rhxFGsUnu9JKKzmzLDkgsmQ5cWRZkDhBSEROECIjQIjQgYHwBrCklhaILQE5knmAEd4HMJcXwDyB7xv0np6zc/abquqenp4/1dM+P5VGM9PV1VXVX53+qrqrummMMcYYY4wxxhhjjDHG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WrvdbmLy5qUZfOZAMnPQmbcEXKIpyZu/yMyHy4fl+fcDXKKZX55Xq9M/B/in984eUxIvSYAT7XY7JQEiJQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQG6D0ryvFqdfz/AJdput2+WZApzv1icfz/AJZqDx5tTzPF4vLm6fnl5Of+WgItzd3s7x5I3Lz39eJp15v0AF2ez2UxJ3rt6OBy+ffk6Y845twRcnAnFeweSV5OauWe/359tS8BluV8sThleXmPycXCAT+j1d5nT34FMRmYIWj4spyrewQLThMfvj3PG+A//dTYZeX325urasqzPvOZcsV6vj8fjn8gUAAAAAAC/+xt439y+CmVuZHN0cmVhbQplbmRvYmoKNSAwIG9iajw8L0NvbG9yU3BhY2U8PC9EZWZhdWx0UkdCIDYgMCBSL0lDQzEzIDggMCBSPj4vUHJvY1NldFsvUERGL0ltYWdlQi9JbWFnZUMvVGV4dF0vRm9udDw8L0YzIDEwIDAgUi9GMjYgMTEgMCBSL0YyNCAxNyAwIFI+Pi9YT2JqZWN0PDwvSW0zIDIzIDAgUi9JbTQgMjQgMCBSL0ltMSAyNSAwIFIvSW0yIDI2IDAgUj4+Pj4KZW5kb2JqCjMgMCBvYmo8PC9Db250ZW50cyA0IDAgUi9CbGVlZEJveFswIDAgNjEyIDc5Ml0vVHlwZS9QYWdlL1Jlc291cmNlcyA1IDAgUi9Dcm9wQm94WzAgMCA2MTIgNzkyXS9QYXJlbnQgMSAwIFIvTWVkaWFCb3hbMCAwIDYxMiA3OTJdL1RyaW1Cb3hbMCAwIDYxMiA3OTJdPj4KZW5kb2JqCjEgMCBvYmo8PC9LaWRzWzMgMCBSXS9UeXBlL1BhZ2VzL0NvdW50IDE+PgplbmRvYmoKMjcgMCBvYmo8PC9UeXBlL0NhdGFsb2cvUGFnZXMgMSAwIFI+PgplbmRvYmoKMjggMCBvYmo8PC9Nb2REYXRlKEQ6MjAxOTAxMzAyMjQxMTBaKS9DcmVhdGlvbkRhdGUoRDoyMDE5MDEzMDIyNDExMFopL1Byb2R1Y2VyKGlUZXh0IDEuNCBcKGJ5IGxvd2FnaWUuY29tXCkpPj4KZW5kb2JqCnhyZWYKMCAyOQowMDAwMDAwMDAwIDY1NTM1IGYgCjAwMDAwNjU1NjkgMDAwMDAgbiAKMDAwMDAwMDAwMCA2NTUzNiBuIAowMDAwMDY1NDEwIDAwMDAwIG4gCjAwMDAwMDAwMTUgMDAwMDAgbiAKMDAwMDA2NTIxNyAwMDAwMCBuIAowMDAwMDA1OTcxIDAwMDAwIG4gCjAwMDAwMDMzMDcgMDAwMDAgbiAKMDAwMDAwNjgzMiAwMDAwMCBuIAowMDAwMDA2MDAzIDAwMDAwIG4gCjAwMDAwMDY4NjQgMDAwMDAgbiAKMDAwMDAxMjAwNSAwMDAwMCBuIAowMDAwMDA2OTU3IDAwMDAwIG4gCjAwMDAwMTE1OTggMDAwMDAgbiAKMDAwMDAxMTM3OSAwMDAwMCBuIAowMDAwMDA3NDgyIDAwMDAwIG4gCjAwMDAwMTEyODYgMDAwMDAgbiAKMDAwMDAxNzU5NCAwMDAwMCBuIAowMDAwMDEyMTQzIDAwMDAwIG4gCjAwMDAwMTcxNjAgMDAwMDAgbiAKMDAwMDAxNjkzOCAwMDAwMCBuIAowMDAwMDEyNjk4IDAwMDAwIG4gCjAwMDAwMTY4NDEgMDAwMDAgbiAKMDAwMDAxNzczNSAwMDAwMCBuIAowMDAwMDIzMDE2IDAwMDAwIG4gCjAwMDAwMjk3NzUgMDAwMDAgbiAKMDAwMDA2MjY0NCAwMDAwMCBuIAowMDAwMDY1NjE5IDAwMDAwIG4gCjAwMDAwNjU2NjQgMDAwMDAgbiAKdHJhaWxlcgo8PC9JbmZvIDI4IDAgUi9JRCBbPGIxMjZlODIwMDdjNzZhNmUxNTFlNzQ0Zjg2MjBmNDJmPjw1YmZlYjU4YTM5MjllZmRiZmQ2ZjU5MWM2MGIwNjc0MD5dL1Jvb3QgMjcgMCBSL1NpemUgMjk+PgpzdGFydHhyZWYKNjU3ODIKJSVFT0YK", - "contentType": "application/pdf" - } - ] - } + { + "purchaseOrderNumber": "VvgCDdBjR", + "content": "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MSAxMjkyIDk3NF0vSXRhbGljQW5nbGUgMC9Bc2NlbnQgOTc0L0NJRFNldCAyMiAwIFI+PgplbmRvYmoKMTkgMCBvYmo8PC9EVyAwL1N1YnR5cGUvQ0lERm9udFR5cGUyL0NJRFN5c3RlbUluZm88PC9TdXBwbGVtZW50IDAvUmVnaXN0cnkoQWRvYmUpL09yZGVyaW5nKFVDUyk+Pi9UeXBlL0ZvbnQvQmFzZUZvbnQvRUFBQUFBK0FtYXpvbkVtYmVyLVJlZ3VsYXIvRm9udERlc2NyaXB0b3IgMjAgMCBSL1dbMFs1MDAgMjYyIDM5MCA2OTAgNDgxIDc2OSA1OTIgNjAwIDYwNCA1NzAgNjQwIDc3NyAzODMgNTA5IDI0OCAyNzggNTI5IDg5MyAzNzMgMjU1IDQ2MSA1NzQgNTgwIDUyNyAyODUgNTg2IDg0MCA0MzIgNTg2IDU4NiA1ODYgNTg2IDU4NiA1NzUgNjA3IDU5MCA1ODYgNzc3IDU4NiA1ODYgNTEwIDU5MiA1ODggNTgwIDM3MyA2MjEgNjEzIDUyNiAyNDggNzA2IDUyNCA1ODggMjQ4IDYwNCA2NDIgNTg2IDQ3MiA0NzZdXS9DSURUb0dJRE1hcC9JZGVudGl0eT4+CmVuZG9iagoxNyAwIG9iajw8L1N1YnR5cGUvVHlwZTAvVHlwZS9Gb250L0Jhc2VGb250L0VBQUFBQStBbWF6b25FbWJlci1SZWd1bGFyL0VuY29kaW5nL0lkZW50aXR5LUgvVG9Vbmljb2RlIDE4IDAgUi9EZXNjZW5kYW50Rm9udHNbMTkgMCBSXT4+CmVuZG9iagoyMyAwIG9iaiA8PC9Db2xvclNwYWNlWy9JQ0NCYXNlZCA3IDAgUl0vTmFtZS9JbTMvU3VidHlwZS9JbWFnZS9IZWlnaHQgMTYwL0ZpbHRlci9GbGF0ZURlY29kZS9UeXBlL1hPYmplY3QvV2lkdGggMzc2L0xlbmd0aCA1MTA4L0JpdHNQZXJDb21wb25lbnQgOD4+c3RyZWFtCnic7Z2/rhxFGsUnu9JKKzmzLDkgsmQ5cWRZkDhBSEROECIjQIjQgYHwBrCklhaILQE5knmAEd4HMJcXwDyB7xv0np6zc/abquqenp4/1dM+P5VGM9PV1VXVX53+qrqrummMMcYYY4wxxhhjjDHG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WrvdbmLy5qUZfOZAMnPQmbcEXKIpyZu/yMyHy4fl+fcDXKKZX55Xq9M/B/in984eUxIvSYAT7XY7JQEiJQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQG6D0ryvFqdfz/AJdput2+WZApzv1icfz/AJZqDx5tTzPF4vLm6fnl5Of+WgItzd3s7x5I3Lz39eJp15v0AF2ez2UxJ3rt6OBy+ffk6Y845twRcnAnFeweSV5OauWe/359tS8BluV8sThleXmPycXCAT+j1d5nT34FMRmYIWj4spyrewQLThMfvj3PG+A//dTYZeX325urasqzPvOZcsV6vj8fjn8gUAAAAAAC/+xt439y+CmVuZHN0cmVhbQplbmRvYmoKNSAwIG9iajw8L0NvbG9yU3BhY2U8PC9EZWZhdWx0UkdCIDYgMCBSL0lDQzEzIDggMCBSPj4vUHJvY1NldFsvUERGL0ltYWdlQi9JbWFnZUMvVGV4dF0vRm9udDw8L0YzIDEwIDAgUi9GMjYgMTEgMCBSL0YyNCAxNyAwIFI+Pi9YT2JqZWN0PDwvSW0zIDIzIDAgUi9JbTQgMjQgMCBSL0ltMSAyNSAwIFIvSW0yIDI2IDAgUj4+Pj4KZW5kb2JqCjMgMCBvYmo8PC9Db250ZW50cyA0IDAgUi9CbGVlZEJveFswIDAgNjEyIDc5Ml0vVHlwZS9QYWdlL1Jlc291cmNlcyA1IDAgUi9Dcm9wQm94WzAgMCA2MTIgNzkyXS9QYXJlbnQgMSAwIFIvTWVkaWFCb3hbMCAwIDYxMiA3OTJdL1RyaW1Cb3hbMCAwIDYxMiA3OTJdPj4KZW5kb2JqCjEgMCBvYmo8PC9LaWRzWzMgMCBSXS9UeXBlL1BhZ2VzL0NvdW50IDE+PgplbmRvYmoKMjcgMCBvYmo8PC9UeXBlL0NhdGFsb2cvUGFnZXMgMSAwIFI+PgplbmRvYmoKMjggMCBvYmo8PC9Nb2REYXRlKEQ6MjAxOTAxMzAyMjQxMTBaKS9DcmVhdGlvbkRhdGUoRDoyMDE5MDEzMDIyNDExMFopL1Byb2R1Y2VyKGlUZXh0IDEuNCBcKGJ5IGxvd2FnaWUuY29tXCkpPj4KZW5kb2JqCnhyZWYKMCAyOQowMDAwMDAwMDAwIDY1NTM1IGYgCjAwMDAwNjU1NjkgMDAwMDAgbiAKMDAwMDAwMDAwMCA2NTUzNiBuIAowMDAwMDY1NDEwIDAwMDAwIG4gCjAwMDAwMDAwMTUgMDAwMDAgbiAKMDAwMDA2NTIxNyAwMDAwMCBuIAowMDAwMDA1OTcxIDAwMDAwIG4gCjAwMDAwMDMzMDcgMDAwMDAgbiAKMDAwMDAwNjgzMiAwMDAwMCBuIAowMDAwMDA2MDAzIDAwMDAwIG4gCjAwMDAwMDY4NjQgMDAwMDAgbiAKMDAwMDAxMjAwNSAwMDAwMCBuIAowMDAwMDA2OTU3IDAwMDAwIG4gCjAwMDAwMTE1OTggMDAwMDAgbiAKMDAwMDAxMTM3OSAwMDAwMCBuIAowMDAwMDA3NDgyIDAwMDAwIG4gCjAwMDAwMTEyODYgMDAwMDAgbiAKMDAwMDAxNzU5NCAwMDAwMCBuIAowMDAwMDEyMTQzIDAwMDAwIG4gCjAwMDAwMTcxNjAgMDAwMDAgbiAKMDAwMDAxNjkzOCAwMDAwMCBuIAowMDAwMDEyNjk4IDAwMDAwIG4gCjAwMDAwMTY4NDEgMDAwMDAgbiAKMDAwMDAxNzczNSAwMDAwMCBuIAowMDAwMDIzMDE2IDAwMDAwIG4gCjAwMDAwMjk3NzUgMDAwMDAgbiAKMDAwMDA2MjY0NCAwMDAwMCBuIAowMDAwMDY1NjE5IDAwMDAwIG4gCjAwMDAwNjU2NjQgMDAwMDAgbiAKdHJhaWxlcgo8PC9JbmZvIDI4IDAgUi9JRCBbPGIxMjZlODIwMDdjNzZhNmUxNTFlNzQ0Zjg2MjBmNDJmPjw1YmZlYjU4YTM5MjllZmRiZmQ2ZjU5MWM2MGIwNjc0MD5dL1Jvb3QgMjcgMCBSL1NpemUgMjk+PgpzdGFydHhyZWYKNjU3ODIKJSVFT0YK", + "contentType": "application/pdf" + } + ] } + } + }, + { + "request": { + "parameters": {} }, - { - "request": { - "parameters": {} - }, - "response": { - "payload": { - "pagination": { - "nextToken": "NEBxNEBxNEBxNR==" + "response": { + "payload": { + "pagination": { + "nextToken": "NEBxNEBxNEBxNR==" + }, + "packingSlips": [ + { + "purchaseOrderNumber": "mockpurchaseOrderNumber1", + "content": "Base 64 encoded string goes here", + "contentType": "application/pdf" }, - "packingSlips": [ - { - "purchaseOrderNumber": "mockpurchaseOrderNumber1", - "content": "Base 64 encoded string goes here", - "contentType": "application/pdf" - }, - { - "purchaseOrderNumber": "mockpurchaseOrderNumber2", - "content": "Base 64 encoded string goes here", - "contentType": "application/pdf" - } - ] - } + { + "purchaseOrderNumber": "mockpurchaseOrderNumber2", + "content": "Base 64 encoded string goes here", + "contentType": "application/pdf" + } + ] } } + } ] } }, @@ -2324,6 +2453,10 @@ "$ref": "#/definitions/GetPackingSlipListResponse" }, "headers": { + "x-amzn-RateLimit-Limit": { + "type": "string", + "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." + }, "x-amzn-RequestId": { "type": "string", "description": "Unique request reference identifier." @@ -2364,6 +2497,10 @@ "$ref": "#/definitions/GetPackingSlipListResponse" }, "headers": { + "x-amzn-RateLimit-Limit": { + "type": "string", + "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." + }, "x-amzn-RequestId": { "type": "string", "description": "Unique request reference identifier." @@ -2376,6 +2513,10 @@ "$ref": "#/definitions/GetPackingSlipListResponse" }, "headers": { + "x-amzn-RateLimit-Limit": { + "type": "string", + "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." + }, "x-amzn-RequestId": { "type": "string", "description": "Unique request reference identifier." @@ -2388,6 +2529,10 @@ "$ref": "#/definitions/GetPackingSlipListResponse" }, "headers": { + "x-amzn-RateLimit-Limit": { + "type": "string", + "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." + }, "x-amzn-RequestId": { "type": "string", "description": "Unique request reference identifier." @@ -2400,6 +2545,10 @@ "$ref": "#/definitions/GetPackingSlipListResponse" }, "headers": { + "x-amzn-RateLimit-Limit": { + "type": "string", + "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." + }, "x-amzn-RequestId": { "type": "string", "description": "Unique request reference identifier." @@ -2414,13 +2563,13 @@ "tags": [ "vendorShipping" ], - "description": "Returns a packing slip based on the `purchaseOrderNumber` that you specify.\n\n**Usage Plan:**\n\n| Rate (requests per second) | Burst |\n| ---- | ---- |\n| 10 | 10 |\n\nThe `x-amzn-RateLimit-Limit` response header returns the usage plan rate limits that were applied to the requested operation, when available. The table above indicates the default rate and burst values for this operation. Selling partners whose business demands require higher throughput may see higher rate and burst values than those shown here. For more information, refer to [Usage Plans and Rate Limits in the Selling Partner API](https://developer-docs.amazon.com/sp-api/docs/usage-plans-and-rate-limits-in-the-sp-api).", + "description": "Returns a packing slip based on the purchaseOrderNumber that you specify.\n\n**Usage Plan:**\n\n| Rate (requests per second) | Burst |\n| ---- | ---- |\n| 10 | 10 |\n\nThe `x-amzn-RateLimit-Limit` response header returns the usage plan rate limits that were applied to the requested operation, when available. The table above indicates the default rate and burst values for this operation. Selling partners whose business demands require higher throughput may see higher rate and burst values than those shown here. For more information, see [Usage Plans and Rate Limits in the Selling Partner API](https://developer-docs.amazon.com/sp-api/docs/usage-plans-and-rate-limits-in-the-sp-api).", "operationId": "getPackingSlip", "parameters": [ { "name": "purchaseOrderNumber", "in": "path", - "description": "The `purchaseOrderNumber` for the packing slip you want.", + "description": "The purchaseOrderNumber for the packing slip you want.", "required": true, "type": "string", "pattern": "^[a-zA-Z0-9]+$" @@ -2523,11 +2672,15 @@ } }, "401": { - "description": "The request's authorization header is not formatted correctly or does not contain a valid token.", + "description": "The request's Authorization header is not formatted correctly or does not contain a valid token.", "schema": { "$ref": "#/definitions/GetPackingSlipResponse" }, "headers": { + "x-amzn-RateLimit-Limit": { + "type": "string", + "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." + }, "x-amzn-RequestId": { "type": "string", "description": "Unique request reference identifier." @@ -2568,6 +2721,10 @@ "$ref": "#/definitions/GetPackingSlipResponse" }, "headers": { + "x-amzn-RateLimit-Limit": { + "type": "string", + "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." + }, "x-amzn-RequestId": { "type": "string", "description": "Unique request reference identifier." @@ -2580,6 +2737,10 @@ "$ref": "#/definitions/GetPackingSlipResponse" }, "headers": { + "x-amzn-RateLimit-Limit": { + "type": "string", + "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." + }, "x-amzn-RequestId": { "type": "string", "description": "Unique request reference identifier." @@ -2592,6 +2753,10 @@ "$ref": "#/definitions/GetPackingSlipResponse" }, "headers": { + "x-amzn-RateLimit-Limit": { + "type": "string", + "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." + }, "x-amzn-RequestId": { "type": "string", "description": "Unique request reference identifier." @@ -2604,6 +2769,10 @@ "$ref": "#/definitions/GetPackingSlipResponse" }, "headers": { + "x-amzn-RateLimit-Limit": { + "type": "string", + "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." + }, "x-amzn-RequestId": { "type": "string", "description": "Unique request reference identifier." @@ -2651,15 +2820,13 @@ "type": "object", "properties": { "pagination": { - "$ref": "#/definitions/Pagination", - "description": "The pagination elements required to retrieve the remaining data." + "$ref": "#/definitions/Pagination" }, "packingSlips": { "type": "array", "items": { "$ref": "#/definitions/PackingSlip" - }, - "description": "An array of packing slip objects." + } } }, "description": "A list of packing slips." @@ -2673,8 +2840,7 @@ "errors": { "$ref": "#/definitions/ErrorList" } - }, - "description": "Response payload with the list of packing slips." + } }, "GetPackingSlipResponse": { "type": "object", @@ -2685,8 +2851,7 @@ "errors": { "$ref": "#/definitions/ErrorList" } - }, - "description": "Response payload with packing slip." + } }, "SubmitShippingLabelsRequest": { "type": "object", @@ -2695,11 +2860,9 @@ "type": "array", "items": { "$ref": "#/definitions/ShippingLabelRequest" - }, - "description": "An array of shipping label requests to be processed." + } } - }, - "description": "The request schema for the `submitShippingLabelRequest` operation." + } }, "ShippingLabelRequest": { "type": "object", @@ -2729,8 +2892,7 @@ "$ref": "#/definitions/Container" } } - }, - "description": "Represents the request payload for creating a shipping label, containing the purchase order number, selling party, ship from party, and a list of containers or packages in the shipment." + } }, "Item": { "type": "object", @@ -2745,7 +2907,7 @@ }, "buyerProductIdentifier": { "type": "string", - "description": "Buyer's Standard Identification Number (ASIN) of an item. Either `buyerProductIdentifier` or `vendorProductIdentifier` is required." + "description": "Buyer's Standard Identification Number (ASIN) of an item. Either buyerProductIdentifier or vendorProductIdentifier is required." }, "vendorProductIdentifier": { "type": "string", @@ -2771,7 +2933,7 @@ }, "buyerProductIdentifier": { "type": "string", - "description": "Buyer's Standard Identification Number (ASIN) of an item. Either `buyerProductIdentifier` or `vendorProductIdentifier` is required." + "description": "Buyer's Standard Identification Number (ASIN) of an item. Either buyerProductIdentifier or vendorProductIdentifier is required." }, "vendorProductIdentifier": { "type": "string", @@ -2781,11 +2943,9 @@ "description": "Total item quantity packed in the container.", "$ref": "#/definitions/ItemQuantity" } - }, - "description": "Represents an item that has been packed into a container for shipping." + } }, "PartyIdentification": { - "description": "Name, address and tax details of a party.", "type": "object", "required": [ "partyId" @@ -2866,20 +3026,20 @@ "properties": { "trackingNumber": { "type": "string", - "description": "This is required to be provided for every package and should match with the `trackingNumber` sent for the shipment confirmation." + "description": "This is required to be provided for every package and should match with the trackingNumber sent for the shipment confirmation." }, "statusCode": { "type": "string", - "description": "Indicates the shipment status code for the package that provides transportation information for Amazon tracking systems and ultimately for the final customer. For more information, refer to the [Additional Fields Explanation](https://developer-docs.amazon.com/sp-api/docs/vendor-direct-fulfillment-shipping-api-use-case-guide#additional-fields-explanation)." + "description": "Indicates the shipment status code of the package that provides transportation information for Amazon tracking systems and ultimately for the final customer. For more information, refer to the [Additional Fields Explanation](https://developer-docs.amazon.com/sp-api/docs/vendor-direct-fulfillment-shipping-api-use-case-guide#additional-fields-explanation)." }, "reasonCode": { "type": "string", - "description": "Provides a reason code for the status for the package that will provide additional information about the transportation status. For more information, refer to the [Additional Fields Explanation](https://developer-docs.amazon.com/sp-api/docs/vendor-direct-fulfillment-shipping-api-use-case-guide#additional-fields-explanation)." + "description": "Provides a reason code for the status of the package that will provide additional information about the transportation status. For more information, refer to the [Additional Fields Explanation](https://developer-docs.amazon.com/sp-api/docs/vendor-direct-fulfillment-shipping-api-use-case-guide#additional-fields-explanation)." }, "statusDateTime": { "type": "string", "format": "date-time", - "description": "The date and time when the shipment status was updated. This field is expected to be in ISO 8601 date/time format, with UTC time zone or UTC offset. For example, `2020-07-16T23:00:00Z` or `2020-07-16T23:00:00+01:00`." + "description": "The date and time when the shipment status was updated. This field is expected to be in ISO-8601 date/time format, with UTC time zone or UTC offset. For example, 2020-07-16T23:00:00Z or 2020-07-16T23:00:00+01:00." }, "statusLocationAddress": { "$ref": "#/definitions/Address" @@ -2890,20 +3050,19 @@ "estimatedDeliveryDateTime": { "type": "string", "format": "date-time", - "description": "Date on which the shipment is expected to reach the customer delivery location. This field is expected to be in ISO 8601 date/time format, with UTC time zone or UTC offset. For example, `2020-07-16T23:00:00Z` or `2020-07-16T23:00:00+01:00`." + "description": "Date on which the shipment is expected to reach the customer delivery location. This field is expected to be in ISO-8601 date/time format, with UTC time zone or UTC offset. For example, 2020-07-16T23:00:00Z or 2020-07-16T23:00:00+01:00." }, "apptWindowStartDateTime": { "type": "string", "format": "date-time", - "description": "This field indicates the date and time at the start of the appointment window scheduled to deliver the shipment. This field is expected to be in ISO 8601 date/time format, with UTC time zone or UTC offset. For example, `2020-07-16T23:00:00Z` or `2020-07-16T23:00:00+01:00`." + "description": "This field indicates the date and time at the start of the appointment window scheduled to deliver the shipment. This field is expected to be in ISO-8601 date/time format, with UTC time zone or UTC offset. For example, 2020-07-16T23:00:00Z or 2020-07-16T23:00:00+01:00." }, "apptWindowEndDateTime": { "type": "string", "format": "date-time", - "description": "This field indicates the date and time at the end of the appointment window scheduled to deliver the shipment. This field is expected to be in ISO 8601 date/time format, with UTC time zone or UTC offset. For example, `2020-07-16T23:00:00Z` or `2020-07-16T23:00:00+01:00`." + "description": "This field indicates the date and time at the end of the appointment window scheduled to deliver the shipment. This field is expected to be in ISO-8601 date/time format, with UTC time zone or UTC offset. For example, 2020-07-16T23:00:00Z or 2020-07-16T23:00:00+01:00." } - }, - "description": "Details for the scheduled delivery timeline for a shipment, including the estimated delivery date and time, as well as the start and end times of the appointment window for delivery." + } } }, "description": "Details for the shipment status update given by the vendor for the specific package." @@ -3102,27 +3261,27 @@ "type": "object", "properties": { "payload": { - "description": "The response payload for the `submitShipmentConfirmations` operation.", + "description": "The response payload for the submitShipmentConfirmations operation.", "$ref": "#/definitions/TransactionReference" }, "errors": { "$ref": "#/definitions/ErrorList" } }, - "description": "The response schema for the `submitShipmentConfirmations` operation." + "description": "The response schema for the submitShipmentConfirmations operation." }, "SubmitShipmentStatusUpdatesResponse": { "type": "object", "properties": { "payload": { - "description": "The response payload for the `submitShipmentStatusUpdates` operation.", + "description": "The response payload for the submitShipmentStatusUpdates operation.", "$ref": "#/definitions/TransactionReference" }, "errors": { "$ref": "#/definitions/ErrorList" } }, - "description": "The response schema for the `submitShipmentStatusUpdates` operation." + "description": "The response schema for the submitShipmentStatusUpdates operation." }, "GetShippingLabelListResponse": { "type": "object", @@ -3135,20 +3294,20 @@ "$ref": "#/definitions/ErrorList" } }, - "description": "The response schema for the `getShippingLabels` operation." + "description": "The response schema for the getShippingLabels operation." }, "GetShippingLabelResponse": { "type": "object", "properties": { "payload": { - "description": "The payload for the `getShippingLabel` operation.", + "description": "The payload for the getShippingLabel operation.", "$ref": "#/definitions/ShippingLabel" }, "errors": { "$ref": "#/definitions/ErrorList" } }, - "description": "The response schema for the `getShippingLabel` operation." + "description": "The response schema for the getShippingLabel operation." }, "ShippingLabelList": { "type": "object", @@ -3160,11 +3319,9 @@ "type": "array", "items": { "$ref": "#/definitions/ShippingLabel" - }, - "description": "An array containing the details of the generated shipping labels." + } } - }, - "description": "Response payload with the list of shipping labels" + } }, "LabelData": { "type": "object", @@ -3182,7 +3339,7 @@ }, "shipMethod": { "type": "string", - "description": "Ship method to be used for shipping the order. Amazon defines ship method codes indicating shipping carrier and shipment service level. Ship method codes are case and format sensitive. The same ship method code should returned on the shipment confirmation. Note that the ship method codes are vendor specific and will be provided to each vendor during the implementation." + "description": "Ship method to be used for shipping the order. Amazon defines Ship Method Codes indicating shipping carrier and shipment service level. Ship Method Codes are case and format sensitive. The same ship method code should returned on the shipment confirmation. Note that the Ship Method Codes are vendor specific and will be provided to each vendor during the implementation." }, "shipMethodName": { "type": "string", @@ -3243,21 +3400,20 @@ "$ref": "#/definitions/LabelData" } } - }, - "description": "Shipping label information for an order, including the purchase order number, selling party, ship from party, label format, and package details." + } }, "SubmitShippingLabelsResponse": { "type": "object", "properties": { "payload": { - "description": "The response payload for the `submitShippingLabelRequest` operation.", + "description": "The response payload for the submitShippingLabelRequest operation.", "$ref": "#/definitions/TransactionReference" }, "errors": { "$ref": "#/definitions/ErrorList" } }, - "description": "The response schema for the `submitShippingLabelRequest` operation." + "description": "The response schema for the submitShippingLabelRequest operation." }, "SubmitShipmentConfirmationsRequest": { "type": "object", @@ -3266,11 +3422,9 @@ "type": "array", "items": { "$ref": "#/definitions/ShipmentConfirmation" - }, - "description": "Array of `ShipmentConfirmation` objects, each representing confirmation details for a specific shipment." + } } - }, - "description": "The request schema for the `submitShipmentConfirmations` operation." + } }, "ShipmentConfirmation": { "type": "object", @@ -3313,8 +3467,7 @@ "$ref": "#/definitions/Container" } } - }, - "description": "Represents the confirmation details of a shipment, including the purchase order number and other shipment details." + } }, "SubmitShipmentStatusUpdatesRequest": { "type": "object", @@ -3324,11 +3477,9 @@ "items": { "$ref": "#/definitions/ShipmentStatusUpdate" }, - "minItems": 1, - "description": "Contains a list of one or more `ShipmentStatusUpdate` objects, each representing an update to the status of a specific shipment." + "minItems": 1 } - }, - "description": "Represents the request payload for submitting updates to the status of shipments, containing an array of one or more `ShipmentStatusUpdate` objects." + } }, "ShipmentStatusUpdate": { "type": "object", @@ -3356,8 +3507,7 @@ "description": "Provide the details about the status of the shipment at that particular point of time.", "$ref": "#/definitions/StatusUpdateDetails" } - }, - "description": "Represents an update to the status of a shipment." + } }, "GetCustomerInvoicesResponse": { "type": "object", @@ -3370,20 +3520,20 @@ "$ref": "#/definitions/ErrorList" } }, - "description": "The response schema for the `getCustomerInvoices` operation." + "description": "The response schema for the getCustomerInvoices operation." }, "GetCustomerInvoiceResponse": { "type": "object", "properties": { "payload": { - "description": "The payload for the `getCustomerInvoice` operation.", + "description": "The payload for the getCustomerInvoice operation.", "$ref": "#/definitions/CustomerInvoice" }, "errors": { "$ref": "#/definitions/ErrorList" } }, - "description": "The response schema for the `getCustomerInvoice` operation." + "description": "The response schema for the getCustomerInvoice operation." }, "CustomerInvoiceList": { "type": "object", @@ -3393,23 +3543,20 @@ }, "customerInvoices": { "type": "array", - "description": "Represents a customer invoice within the `CustomerInvoiceList`.", "items": { "$ref": "#/definitions/CustomerInvoice" } } - }, - "description": "Represents a list of customer invoices, potentially paginated." + } }, "Pagination": { "type": "object", "properties": { "nextToken": { "type": "string", - "description": "A generated string used to pass information to your next request. If `NextToken` is returned, pass the value of `NextToken` to the next request. If `NextToken` is not returned, there are no more order items to return." + "description": "A generated string used to pass information to your next request. If NextToken is returned, pass the value of NextToken to the next request. If NextToken is not returned, there are no more order items to return." } - }, - "description": "The pagination elements required to retrieve the remaining data." + } }, "CustomerInvoice": { "type": "object", @@ -3425,10 +3572,9 @@ }, "content": { "type": "string", - "description": "The `Base64encoded` customer invoice." + "description": "The Base64encoded customer invoice." } - }, - "description": "Represents a customer invoice associated with a purchase order." + } }, "TransactionReference": { "type": "object", @@ -3437,8 +3583,7 @@ "type": "string", "description": "GUID to identify this transaction. This value can be used with the Transaction Status API to return the status of this transaction." } - }, - "description": "Response containing the transaction ID." + } }, "ErrorList": { "type": "array", @@ -3541,8 +3686,7 @@ "$ref": "#/definitions/PackedItem" } } - }, - "description": "A container used for shipping and packing items." + } } } } \ No newline at end of file From ba857c7c60e5cb421407f230a26ec82d4f9c4f45 Mon Sep 17 00:00:00 2001 From: Gibran Waldron Date: Wed, 13 Dec 2023 08:25:45 -0800 Subject: [PATCH 105/340] Notifications API enforcement actions update. --- .../notifications-api-model/notifications.json | 16 ++++++++-------- 1 file changed, 8 insertions(+), 8 deletions(-) diff --git a/models/notifications-api-model/notifications.json b/models/notifications-api-model/notifications.json index d27d24684..91dc810a8 100644 --- a/models/notifications-api-model/notifications.json +++ b/models/notifications-api-model/notifications.json @@ -432,7 +432,7 @@ "tags": [ "notifications" ], - "description": "Returns information about a subscription for the specified notification type. The `getSubscriptionById` operation is grantless. For more information, refer to [Grantless operations](https://developer-docs.amazon.com/sp-api/docs/grantless-operations).\n\n**Usage Plan:**\n\n| Rate (requests per second) | Burst |\n| ---- | ---- |\n| 1 | 5 |\n\nThe `x-amzn-RateLimit-Limit` response header returns the usage plan rate limits that were applied to the requested operation, when available. The table above indicates the default rate and burst values for this operation. Selling partners whose business demands require higher throughput may observe higher rate and burst values than those shown here. For more information, refer to [Usage Plans and Rate Limits in the Selling Partner API](https://developer-docs.amazon.com/sp-api/docs/usage-plans-and-rate-limits-in-the-sp-api).", + "description": "Returns information about a subscription for the specified notification type. The `getSubscriptionById` operation is grantless. For more information, refer to [Grantless operations](https://developer-docs.amazon.com/sp-api/docs/grantless-operations) in the Selling Partner API Developer Guide.\n\n**Usage Plan:**\n\n| Rate (requests per second) | Burst |\n| ---- | ---- |\n| 1 | 5 |\n\nThe `x-amzn-RateLimit-Limit` response header returns the usage plan rate limits that were applied to the requested operation, when available. The table above indicates the default rate and burst values for this operation. Selling partners whose business demands require higher throughput may observe higher rate and burst values than those shown here. For more information, refer to [Usage Plans and Rate Limits in the Selling Partner API](https://developer-docs.amazon.com/sp-api/docs/usage-plans-and-rate-limits-in-the-sp-api).", "operationId": "getSubscriptionById", "parameters": [ { @@ -634,7 +634,7 @@ "tags": [ "notifications" ], - "description": "Deletes the subscription indicated by the subscription identifier and notification type that you specify. The subscription identifier can be for any subscription associated with your application. After you successfully call this operation, notifications will stop being sent for the associated subscription. The `deleteSubscriptionById` operation is grantless. For more information, refer to [Grantless operations](https://developer-docs.amazon.com/sp-api/docs/grantless-operations).\n\n**Usage Plan:**\n\n| Rate (requests per second) | Burst |\n| ---- | ---- |\n| 1 | 5 |\n\nThe `x-amzn-RateLimit-Limit` response header returns the usage plan rate limits that were applied to the requested operation, when available. The table above indicates the default rate and burst values for this operation. Selling partners whose business demands require higher throughput may observe higher rate and burst values than those shown here. For more information, refer to [Usage Plans and Rate Limits in the Selling Partner API](https://developer-docs.amazon.com/sp-api/docs/usage-plans-and-rate-limits-in-the-sp-api).", + "description": "Deletes the subscription indicated by the subscription identifier and notification type that you specify. The subscription identifier can be for any subscription associated with your application. After you successfully call this operation, notifications will stop being sent for the associated subscription. The `deleteSubscriptionById` operation is grantless. For more information, refer to [Grantless operations](https://developer-docs.amazon.com/sp-api/docs/grantless-operations) in the Selling Partner API Developer Guide.\n\n**Usage Plan:**\n\n| Rate (requests per second) | Burst |\n| ---- | ---- |\n| 1 | 5 |\n\nThe `x-amzn-RateLimit-Limit` response header returns the usage plan rate limits that were applied to the requested operation, when available. The table above indicates the default rate and burst values for this operation. Selling partners whose business demands require higher throughput may observe higher rate and burst values than those shown here. For more information, refer to [Usage Plans and Rate Limits in the Selling Partner API](https://developer-docs.amazon.com/sp-api/docs/usage-plans-and-rate-limits-in-the-sp-api).", "operationId": "deleteSubscriptionById", "parameters": [ { @@ -826,7 +826,7 @@ "tags": [ "notifications" ], - "description": "Returns information about all destinations. The `getDestinations` operation is grantless. For more information, refer to [Grantless operations](https://developer-docs.amazon.com/sp-api/docs/grantless-operations).\n\n**Usage Plan:**\n\n| Rate (requests per second) | Burst |\n| ---- | ---- |\n| 1 | 5 |\n\nThe `x-amzn-RateLimit-Limit` response header returns the usage plan rate limits that were applied to the requested operation, when available. The table above indicates the default rate and burst values for this operation. Selling partners whose business demands require higher throughput may observe higher rate and burst values than those shown here. For more information, refer to [Usage Plans and Rate Limits in the Selling Partner API](https://developer-docs.amazon.com/sp-api/docs/usage-plans-and-rate-limits-in-the-sp-api).", + "description": "Returns information about all destinations. The `getDestinations` operation is grantless. For more information, refer to [Grantless operations](https://developer-docs.amazon.com/sp-api/docs/grantless-operations) in the Selling Partner API Developer Guide.\n\n**Usage Plan:**\n\n| Rate (requests per second) | Burst |\n| ---- | ---- |\n| 1 | 5 |\n\nThe `x-amzn-RateLimit-Limit` response header returns the usage plan rate limits that were applied to the requested operation, when available. The table above indicates the default rate and burst values for this operation. Selling partners whose business demands require higher throughput may observe higher rate and burst values than those shown here. For more information, refer to [Usage Plans and Rate Limits in the Selling Partner API](https://developer-docs.amazon.com/sp-api/docs/usage-plans-and-rate-limits-in-the-sp-api).", "operationId": "getDestinations", "parameters": [], "responses": { @@ -1029,7 +1029,7 @@ "tags": [ "notifications" ], - "description": "Creates a destination resource to receive notifications. The `createDestination` operation is grantless. For more information, refer to [Grantless operations](https://developer-docs.amazon.com/sp-api/docs/grantless-operations).\n\n**Usage Plan:**\n\n| Rate (requests per second) | Burst |\n| ---- | ---- |\n| 1 | 5 |\n\nThe `x-amzn-RateLimit-Limit` response header returns the usage plan rate limits that were applied to the requested operation, when available. The table above indicates the default rate and burst values for this operation. Selling partners whose business demands require higher throughput may observe higher rate and burst values than those shown here. For more information, refer to [Usage Plans and Rate Limits in the Selling Partner API](https://developer-docs.amazon.com/sp-api/docs/usage-plans-and-rate-limits-in-the-sp-api).", + "description": "Creates a destination resource to receive notifications. The `createDestination` operation is grantless. For more information, refer to [Grantless operations](https://developer-docs.amazon.com/sp-api/docs/grantless-operations) in the Selling Partner API Developer Guide.\n\n**Usage Plan:**\n\n| Rate (requests per second) | Burst |\n| ---- | ---- |\n| 1 | 5 |\n\nThe `x-amzn-RateLimit-Limit` response header returns the usage plan rate limits that were applied to the requested operation, when available. The table above indicates the default rate and burst values for this operation. Selling partners whose business demands require higher throughput may observe higher rate and burst values than those shown here. For more information, refer to [Usage Plans and Rate Limits in the Selling Partner API](https://developer-docs.amazon.com/sp-api/docs/usage-plans-and-rate-limits-in-the-sp-api).", "operationId": "createDestination", "parameters": [ { @@ -1239,7 +1239,7 @@ "tags": [ "notifications" ], - "description": "Returns information about the destination that you specify. The `getDestination` operation is grantless. For more information, refer to [Grantless operations](https://developer-docs.amazon.com/sp-api/docs/grantless-operations).\n\n**Usage Plan:**\n\n| Rate (requests per second) | Burst |\n| ---- | ---- |\n| 1 | 5 |\n\nThe `x-amzn-RateLimit-Limit` response header returns the usage plan rate limits that were applied to the requested operation, when available. The table above indicates the default rate and burst values for this operation. Selling partners whose business demands require higher throughput may observe higher rate and burst values than those shown here. For more information, refer to [Usage Plans and Rate Limits in the Selling Partner API](https://developer-docs.amazon.com/sp-api/docs/usage-plans-and-rate-limits-in-the-sp-api).", + "description": "Returns information about the destination that you specify. The `getDestination` operation is grantless. For more information, refer to [Grantless operations](https://developer-docs.amazon.com/sp-api/docs/grantless-operations) in the Selling Partner API Developer Guide.\n\n**Usage Plan:**\n\n| Rate (requests per second) | Burst |\n| ---- | ---- |\n| 1 | 5 |\n\nThe `x-amzn-RateLimit-Limit` response header returns the usage plan rate limits that were applied to the requested operation, when available. The table above indicates the default rate and burst values for this operation. Selling partners whose business demands require higher throughput may observe higher rate and burst values than those shown here. For more information, refer to [Usage Plans and Rate Limits in the Selling Partner API](https://developer-docs.amazon.com/sp-api/docs/usage-plans-and-rate-limits-in-the-sp-api).", "operationId": "getDestination", "parameters": [ { @@ -1446,7 +1446,7 @@ "tags": [ "notifications" ], - "description": "Deletes the destination that you specify. The `deleteDestination` operation is grantless. For more information, refer to [Grantless operations](https://developer-docs.amazon.com/sp-api/docs/grantless-operations).\n\n**Usage Plan:**\n\n| Rate (requests per second) | Burst |\n| ---- | ---- |\n| 1 | 5 |\n\nThe `x-amzn-RateLimit-Limit` response header returns the usage plan rate limits that were applied to the requested operation, when available. The table above indicates the default rate and burst values for this operation. Selling partners whose business demands require higher throughput may observe higher rate and burst values than those shown here. For more information, refer to [Usage Plans and Rate Limits in the Selling Partner API](https://developer-docs.amazon.com/sp-api/docs/usage-plans-and-rate-limits-in-the-sp-api).", + "description": "Deletes the destination that you specify. The `deleteDestination` operation is grantless. For more information, refer to [Grantless operations](https://developer-docs.amazon.com/sp-api/docs/grantless-operations) in the Selling Partner API Developer Guide.\n\n**Usage Plan:**\n\n| Rate (requests per second) | Burst |\n| ---- | ---- |\n| 1 | 5 |\n\nThe `x-amzn-RateLimit-Limit` response header returns the usage plan rate limits that were applied to the requested operation, when available. The table above indicates the default rate and burst values for this operation. Selling partners whose business demands require higher throughput may observe higher rate and burst values than those shown here. For more information, refer to [Usage Plans and Rate Limits in the Selling Partner API](https://developer-docs.amazon.com/sp-api/docs/usage-plans-and-rate-limits-in-the-sp-api).", "operationId": "deleteDestination", "parameters": [ { @@ -1664,7 +1664,7 @@ "ANY_OFFER_CHANGED", "ORDER_CHANGE" ], - "description": "An `eventFilterType` value that is supported by the specific `notificationType`. This is used by the subscription service to determine the type of event filter. Refer to [Notification Type Values](https://developer-docs.amazon.com/sp-api/docs/notification-type-values) to determine if an `eventFilterType` is supported." + "description": "An `eventFilterType` value that is supported by the specific `notificationType`. This is used by the subscription service to determine the type of event filter. Refer to the section of the [Notifications Use Case Guide](https://developer-docs.amazon.com/sp-api/docs/notifications-api-v1-use-case-guide) that describes the specific `notificationType` to determine if an `eventFilterType` is supported." } }, "required": [ @@ -2079,7 +2079,7 @@ "NotificationType": { "name": "notificationType", "in": "path", - "description": "The type of notification.\n\n For more information about notification types, refer to [Notification Type Values](https://developer-docs.amazon.com/sp-api/docs/notification-type-values).", + "description": "The type of notification.\n\n For more information about notification types, refer to [the Notifications API Use Case Guide](https://developer-docs.amazon.com/sp-api/docs/notifications-api-v1-use-case-guide).", "required": true, "type": "string" } From 8255eb7c8a4dad86b5d74ba3238b2cd877170b42 Mon Sep 17 00:00:00 2001 From: Alex Rupprecht Date: Wed, 13 Dec 2023 14:12:25 -0500 Subject: [PATCH 106/340] December release description updates --- .../vendorDirectFulfillmentOrdersV1.json | 1738 ++++------------- 1 file changed, 366 insertions(+), 1372 deletions(-) diff --git a/models/vendor-direct-fulfillment-orders-api-model/vendorDirectFulfillmentOrdersV1.json b/models/vendor-direct-fulfillment-orders-api-model/vendorDirectFulfillmentOrdersV1.json index 978715266..8991a6ae3 100644 --- a/models/vendor-direct-fulfillment-orders-api-model/vendorDirectFulfillmentOrdersV1.json +++ b/models/vendor-direct-fulfillment-orders-api-model/vendorDirectFulfillmentOrdersV1.json @@ -2,7 +2,7 @@ "swagger": "2.0", "info": { "description": "The Selling Partner API for Direct Fulfillment Orders provides programmatic access to a direct fulfillment vendor's order data.", - "version": "v1", + "version": "2021-12-28", "title": "Selling Partner API for Direct Fulfillment Orders", "contact": { "name": "Selling Partner API Developer Support", @@ -24,12 +24,12 @@ "application/json" ], "paths": { - "/vendor/directFulfillment/orders/v1/purchaseOrders": { + "/vendor/directFulfillment/orders/2021-12-28/purchaseOrders": { "get": { "tags": [ "vendorOrders" ], - "description": "Returns a list of purchase orders created during the time frame that you specify. You define the time frame using the createdAfter and createdBefore parameters. You must use both parameters. You can choose to get only the purchase order numbers by setting the includeDetails parameter to false. In that case, the operation returns a list of purchase order numbers. You can then call the getOrder operation to return the details of a specific order.\n\n**Usage Plan:**\n\n| Rate (requests per second) | Burst |\n| ---- | ---- |\n| 10 | 10 |\n\nThe `x-amzn-RateLimit-Limit` response header returns the usage plan rate limits that were applied to the requested operation, when available. The table above indicates the default rate and burst values for this operation. Selling partners whose business demands require higher throughput may see higher rate and burst values than those shown here. For more information, see [Usage Plans and Rate Limits in the Selling Partner API](https://developer-docs.amazon.com/sp-api/docs/usage-plans-and-rate-limits-in-the-sp-api).", + "description": "Returns a list of purchase orders created during the time frame that you specify. You define the time frame using the createdAfter and createdBefore parameters. You must use both parameters. You can choose to get only the purchase order numbers by setting the includeDetails parameter to false. In that case, the operation returns a list of purchase order numbers. You can then call the getOrder operation to return the details of a specific order.\n\n**Usage Plan:**\n\n| Rate (requests per second) | Burst |\n| ---- | ---- |\n| 10 | 10 |\n\nThe `x-amzn-RateLimit-Limit` response header returns the usage plan rate limits that were applied to the requested operation, when available. The table above indicates the default rate and burst values for this operation. Selling partners whose business demands require higher throughput may see higher rate and burst values then those shown here. For more information, see [Usage Plans and Rate Limits in the Selling Partner API](doc:usage-plans-and-rate-limits-in-the-sp-api).", "operationId": "getOrders", "parameters": [ { @@ -138,966 +138,14 @@ "200": { "description": "Success.", "schema": { - "$ref": "#/definitions/GetOrdersResponse" + "$ref": "#/definitions/OrderList" }, "examples": { - "payload": { - "pagination": { - "nextToken": "MDAwMDAwMDAwMQ==" - }, - "orders": [ - { - "purchaseOrderNumber": "2JK3S9VC", - "orderDetails": { - "customerOrderNumber": "123-ABC", - "orderDate": "2020-02-20T13:51:00Z", - "orderStatus": "NEW", - "shipmentDetails": { - "isPriorityShipment": false, - "isScheduledDeliveryShipment": false, - "isPslipRequired": true, - "isGift": false, - "shipMethod": "UPS_2ND", - "shipmentDates": { - "requiredShipDate": "2020-02-21T00:00:00Z", - "promisedDeliveryDate": "2020-02-24T00:00:00Z" - }, - "messageToCustomer": "This shipment completes your order. You can always check the status of your orders from the \"Your Account\" link at the top of each page of our site.Thank you for shopping at Amazon.com" - }, - "taxTotal": { - "taxLineItem": [ - { - "taxRate": "0.1", - "taxAmount": { - "currencyCode": "USD", - "amount": "190" - }, - "type": "TOTAL" - } - ] - }, - "sellingParty": { - "partyId": "999US" - }, - "shipFromParty": { - "partyId": "ABCD" - }, - "shipToParty": { - "name": "ABCD", - "attention": "ABCD", - "addressLine1": "123 XYZ Street", - "addressLine2": "Apt 5", - "city": "San Jose", - "stateOrRegion": "CA", - "postalCode": "94086", - "countryCode": "USA" - }, - "billToParty": { - "partyId": "ABCD" - }, - "items": [ - { - "itemSequenceNumber": "00001", - "buyerProductIdentifier": "B07DFVDRAB", - "vendorProductIdentifier": "8806098286500", - "title": "LG 8 kg Inverter Wi-Fi Fully-Automatic Front Loading Washing Machine (FHT1408SWS, STS-VCM, Inbuilt Heater)", - "orderedQuantity": { - "amount": 1, - "unitOfMeasure": "EACH" - }, - "netPrice": { - "currencyCode": "USD", - "amount": "500" - }, - "taxDetails": { - "taxLineItem": [ - { - "taxRate": "0.1", - "taxAmount": { - "currencyCode": "USD", - "amount": "50" - }, - "type": "TOTAL" - } - ] - } - }, - { - "itemSequenceNumber": "00002", - "buyerProductIdentifier": "B07DFYF5AB", - "vendorProductIdentifier": "8806098286123", - "title": "LG 6.5 kg Inverter Fully-Automatic Front Loading Washing Machine (FHT1065SNW, Blue and White, Inbuilt Heater)", - "orderedQuantity": { - "amount": 2, - "unitOfMeasure": "EACH" - }, - "netPrice": { - "currencyCode": "USD", - "amount": "700" - }, - "taxDetails": { - "taxLineItem": [ - { - "taxRate": "0.1", - "taxAmount": { - "currencyCode": "USD", - "amount": "140" - }, - "type": "TOTAL" - } - ] - } - } - ] - } - } - ] - } - }, - "headers": { - "x-amzn-RateLimit-Limit": { - "type": "string", - "description": "Your rate limit (requests per second) for this operation." + "pagination": { + "nextToken": "MDAwMDAwMDAwMQ==" }, - "x-amzn-RequestId": { - "type": "string", - "description": "Unique request reference identifier." - } - }, - "x-amzn-api-sandbox": { - "static": [ + "orders": [ { - "request": { - "parameters": { - "createdBefore": { - "value": "2020-02-20T00:00:00-08:00" - }, - "createdAfter": { - "value": "2020-02-15T14:00:00-08:00" - }, - "includeDetails": { - "value": "true" - }, - "limit": { - "value": 2 - }, - "sortOrder": { - "value": "DESC" - } - } - }, - "response": { - "payload": { - "pagination": { - "nextToken": "MDAwMDAwMDAwMQ==" - }, - "orders": [ - { - "purchaseOrderNumber": "2JK3S9VC", - "orderDetails": { - "customerOrderNumber": "123-ABC", - "orderDate": "2020-02-20T13:51:00Z", - "orderStatus": "NEW", - "shipmentDetails": { - "isPriorityShipment": false, - "isScheduledDeliveryShipment": false, - "isPslipRequired": true, - "isGift": false, - "shipMethod": "UPS_2ND", - "shipmentDates": { - "requiredShipDate": "2020-02-21T00:00:00Z", - "promisedDeliveryDate": "2020-02-24T00:00:00Z" - }, - "messageToCustomer": "This shipment completes your order. You can always check the status of your orders from the \"Your Account\" link at the top of each page of our site.Thank you for shopping at Amazon.com" - }, - "taxTotal": { - "taxLineItem": [ - { - "taxRate": "0.1", - "taxAmount": { - "currencyCode": "USD", - "amount": "190" - }, - "type": "TOTAL" - } - ] - }, - "sellingParty": { - "partyId": "999US" - }, - "shipFromParty": { - "partyId": "ABCD" - }, - "shipToParty": { - "name": "ABCD", - "attention": "ABCD", - "addressLine1": "123 XYZ Street", - "addressLine2": "Apt 5", - "city": "San Jose", - "stateOrRegion": "CA", - "postalCode": "94086", - "countryCode": "USA" - }, - "billToParty": { - "partyId": "ABCD" - }, - "items": [ - { - "itemSequenceNumber": "00001", - "buyerProductIdentifier": "B07DFVDRAB", - "vendorProductIdentifier": "8806098286500", - "title": "LG 8 kg Inverter Wi-Fi Fully-Automatic Front Loading Washing Machine (FHT1408SWS, STS-VCM, Inbuilt Heater)", - "orderedQuantity": { - "amount": 1, - "unitOfMeasure": "EACH" - }, - "netPrice": { - "currencyCode": "USD", - "amount": "500" - }, - "taxDetails": { - "taxLineItem": [ - { - "taxRate": "0.1", - "taxAmount": { - "currencyCode": "USD", - "amount": "50" - }, - "type": "TOTAL" - } - ] - } - }, - { - "itemSequenceNumber": "00002", - "buyerProductIdentifier": "B07DFYF5AB", - "vendorProductIdentifier": "8806098286123", - "title": "LG 6.5 kg Inverter Fully-Automatic Front Loading Washing Machine (FHT1065SNW, Blue and White, Inbuilt Heater)", - "orderedQuantity": { - "amount": 2, - "unitOfMeasure": "EACH" - }, - "netPrice": { - "currencyCode": "USD", - "amount": "700" - }, - "taxDetails": { - "taxLineItem": [ - { - "taxRate": "0.1", - "taxAmount": { - "currencyCode": "USD", - "amount": "140" - }, - "type": "TOTAL" - } - ] - } - } - ] - } - }, - { - "purchaseOrderNumber": "3TRD2IAB", - "orderDetails": { - "customerOrderNumber": "456-ABC", - "orderDate": "2020-02-18T11:47:00Z", - "orderStatus": "NEW", - "shipmentDetails": { - "isPriorityShipment": false, - "isScheduledDeliveryShipment": false, - "isPslipRequired": true, - "isGift": false, - "shipMethod": "UPS_2ND", - "shipmentDates": { - "requiredShipDate": "2020-02-20T00:00:00Z", - "promisedDeliveryDate": "2020-02-22T00:00:00Z" - }, - "messageToCustomer": "This shipment completes your order. You can always check the status of your orders from the \"Your Account\" link at the top of each page of our site.Thank you for shopping at Amazon.com" - }, - "taxTotal": { - "taxLineItem": [ - { - "taxRate": "0.1", - "taxAmount": { - "currencyCode": "USD", - "amount": "2" - }, - "type": "TOTAL" - } - ] - }, - "sellingParty": { - "partyId": "999US" - }, - "shipFromParty": { - "partyId": "ABCD" - }, - "shipToParty": { - "name": "XYZ", - "attention": "XYZ", - "addressLine1": "456 ABC Street", - "city": "Seattle", - "stateOrRegion": "WA", - "postalCode": "98007", - "countryCode": "USA" - }, - "billToParty": { - "partyId": "ABCD" - }, - "items": [ - { - "itemSequenceNumber": "00001", - "buyerProductIdentifier": "B01LNRIIAB", - "vendorProductIdentifier": "8806098286501", - "title": "Baby Dove Baby Wipes Rich Moisture (50 Pieces)", - "orderedQuantity": { - "amount": 1, - "unitOfMeasure": "EACH" - }, - "netPrice": { - "currencyCode": "USD", - "amount": "20" - }, - "taxDetails": { - "taxLineItem": [ - { - "taxRate": "0.1", - "taxAmount": { - "currencyCode": "USD", - "amount": "2" - }, - "type": "TOTAL" - } - ] - } - } - ] - } - } - ] - } - } - }, - { - "request": { - "parameters": { - "createdBefore": { - "value": "2020-02-20T00:00:00-08:00" - }, - "createdAfter": { - "value": "2020-02-15T14:00:00-08:00" - }, - "includeDetails": { - "value": "true" - }, - "limit": { - "value": 2 - }, - "sortOrder": { - "value": "DESC" - }, - "nextToken": { - "value": "MDAwMDAwMDAwMQ==" - } - } - }, - "response": { - "payload": { - "orders": [ - { - "purchaseOrderNumber": "2JK3S9VCD", - "orderDetails": { - "customerOrderNumber": "123-ABC", - "orderDate": "2020-02-20T13:51:00Z", - "orderStatus": "NEW", - "shipmentDetails": { - "isPriorityShipment": false, - "isScheduledDeliveryShipment": false, - "isPslipRequired": true, - "isGift": false, - "shipMethod": "UPS_2ND", - "shipmentDates": { - "requiredShipDate": "2020-02-21T00:00:00Z", - "promisedDeliveryDate": "2020-02-24T00:00:00Z" - }, - "messageToCustomer": "This shipment completes your order. You can always check the status of your orders from the \"Your Account\" link at the top of each page of our site.Thank you for shopping at Amazon.com" - }, - "taxTotal": { - "taxLineItem": [ - { - "taxAmount": { - "currencyCode": "USD", - "amount": "190" - }, - "type": "TOTAL" - } - ] - }, - "sellingParty": { - "partyId": "999US" - }, - "shipFromParty": { - "partyId": "ABCD" - }, - "shipToParty": { - "name": "ABCD", - "attention": "ABCD", - "addressLine1": "123 XYZ Street", - "addressLine2": "Apt 5", - "city": "San Jose", - "stateOrRegion": "CA", - "postalCode": "94086", - "countryCode": "USA" - }, - "billToParty": { - "partyId": "ABCD" - }, - "items": [ - { - "itemSequenceNumber": "00001", - "buyerProductIdentifier": "B07DFVDRAB", - "vendorProductIdentifier": "8806098286500", - "title": "LG 8 kg Inverter Wi-Fi Fully-Automatic Front Loading Washing Machine (FHT1408SWS, STS-VCM, Inbuilt Heater)", - "orderedQuantity": { - "amount": 1, - "unitOfMeasure": "EACH" - }, - "netPrice": { - "currencyCode": "USD", - "amount": "500" - }, - "taxDetails": { - "taxLineItem": [ - { - "taxRate": "0.1", - "taxAmount": { - "currencyCode": "USD", - "amount": "50" - }, - "type": "TOTAL" - } - ] - } - }, - { - "itemSequenceNumber": "00002", - "buyerProductIdentifier": "B07DFYF5AB", - "vendorProductIdentifier": "8806098286123", - "title": "LG 6.5 kg Inverter Fully-Automatic Front Loading Washing Machine (FHT1065SNW, Blue and White, Inbuilt Heater)", - "orderedQuantity": { - "amount": 2, - "unitOfMeasure": "EACH" - }, - "netPrice": { - "currencyCode": "USD", - "amount": "700" - }, - "taxDetails": { - "taxLineItem": [ - { - "taxRate": "0.1", - "taxAmount": { - "currencyCode": "USD", - "amount": "140" - }, - "type": "TOTAL" - } - ] - } - } - ] - } - }, - { - "purchaseOrderNumber": "3TRD2IABC", - "orderDetails": { - "customerOrderNumber": "456-ABC", - "orderDate": "2020-02-18T11:47:00Z", - "orderStatus": "NEW", - "shipmentDetails": { - "isPriorityShipment": false, - "isScheduledDeliveryShipment": false, - "isPslipRequired": true, - "isGift": false, - "shipMethod": "UPS_2ND", - "shipmentDates": { - "requiredShipDate": "2020-02-20T00:00:00Z", - "promisedDeliveryDate": "2020-02-22T00:00:00Z" - }, - "messageToCustomer": "This shipment completes your order. You can always check the status of your orders from the \"Your Account\" link at the top of each page of our site.Thank you for shopping at Amazon.com" - }, - "taxTotal": { - "taxLineItem": [ - { - "taxRate": "0.1", - "taxAmount": { - "currencyCode": "USD", - "amount": "2" - }, - "type": "TOTAL" - } - ] - }, - "sellingParty": { - "partyId": "999US" - }, - "shipFromParty": { - "partyId": "ABCD" - }, - "shipToParty": { - "name": "XYZ", - "attention": "XYZ", - "addressLine1": "456 ABC Street", - "city": "Seattle", - "stateOrRegion": "WA", - "postalCode": "98007", - "countryCode": "USA" - }, - "billToParty": { - "partyId": "ABCD" - }, - "items": [ - { - "itemSequenceNumber": "00001", - "buyerProductIdentifier": "B01LNRIIAB", - "vendorProductIdentifier": "8806098286501", - "title": "Baby Dove Baby Wipes Rich Moisture (50 Pieces)", - "orderedQuantity": { - "amount": 1, - "unitOfMeasure": "EACH" - }, - "netPrice": { - "currencyCode": "USD", - "amount": "20" - }, - "taxDetails": { - "taxLineItem": [ - { - "taxRate": "0.1", - "taxAmount": { - "currencyCode": "USD", - "amount": "2" - }, - "type": "TOTAL" - } - ] - } - } - ] - } - } - ] - } - } - }, - { - "request": { - "parameters": { - "createdBefore": { - "value": "2019-08-21T00:00:00-08:00" - }, - "createdAfter": { - "value": "2019-08-20T14:00:00-08:00" - }, - "includeDetails": { - "value": "false" - }, - "sortOrder": { - "value": "DESC" - } - } - }, - "response": { - "payload": { - "pagination": { - "nextToken": "MDAwMDAwMDAwMQ==" - }, - "orders": [ - { - "purchaseOrderNumber": "2JK3S9VC" - }, - { - "purchaseOrderNumber": "3TRD2IAB" - } - ] - } - } - }, - { - "request": { - "parameters": { - "createdBefore": { - "value": "2019-08-21T00:00:00-08:00" - }, - "createdAfter": { - "value": "2019-08-20T14:00:00-08:00" - }, - "includeDetails": { - "value": "false" - }, - "sortOrder": { - "value": "DESC" - }, - "nextToken": { - "value": "MDAwMDAwMDAwMQ==" - } - } - }, - "response": { - "payload": { - "orders": [ - { - "purchaseOrderNumber": "2JK3S9VCD" - }, - { - "purchaseOrderNumber": "3TRD2IABC" - } - ] - } - } - }, - { - "request": { - "parameters": {} - }, - "response": { - "payload": { - "orders": [ - { - "purchaseOrderNumber": "2JK3S9VCD", - "orderDetails": { - "customerOrderNumber": "123-ABC", - "orderDate": "2020-02-20T13:51:00Z", - "orderStatus": "NEW", - "shipmentDetails": { - "isPriorityShipment": false, - "isScheduledDeliveryShipment": false, - "isPslipRequired": true, - "isGift": false, - "shipMethod": "UPS_2ND", - "shipmentDates": { - "requiredShipDate": "2020-02-21T00:00:00Z", - "promisedDeliveryDate": "2020-02-24T00:00:00Z" - }, - "messageToCustomer": "This shipment completes your order. You can always check the status of your orders from the \"Your Account\" link at the top of each page of our site. Thank you for shopping at Amazon.com." - }, - "taxTotal": { - "taxLineItem": [ - { - "taxAmount": { - "currencyCode": "USD", - "amount": "190" - }, - "type": "TOTAL" - } - ] - }, - "sellingParty": { - "partyId": "999US" - }, - "shipFromParty": { - "partyId": "ABCD" - }, - "shipToParty": { - "name": "ABCD", - "attention": "ABCD", - "addressLine1": "123 XYZ Street", - "addressLine2": "Apt 5", - "city": "San Jose", - "stateOrRegion": "CA", - "postalCode": "94086", - "countryCode": "USA" - }, - "billToParty": { - "partyId": "ABCD" - }, - "items": [ - { - "itemSequenceNumber": "00001", - "buyerProductIdentifier": "B07DFVDRAB", - "vendorProductIdentifier": "8806098286500", - "title": "LG 8 kg Inverter Wi-Fi Fully-Automatic Front Loading Washing Machine (FHT1408SWS, STS-VCM, Inbuilt Heater)", - "orderedQuantity": { - "amount": 1, - "unitOfMeasure": "EACH" - }, - "netPrice": { - "currencyCode": "USD", - "amount": "500" - }, - "taxDetails": { - "taxLineItem": [ - { - "taxRate": "0.1", - "taxAmount": { - "currencyCode": "USD", - "amount": "50" - }, - "type": "TOTAL" - } - ] - } - }, - { - "itemSequenceNumber": "00002", - "buyerProductIdentifier": "B07DFYF5AB", - "vendorProductIdentifier": "8806098286123", - "title": "LG 6.5 kg Inverter Fully-Automatic Front Loading Washing Machine (FHT1065SNW, Blue and White, Inbuilt Heater)", - "orderedQuantity": { - "amount": 2, - "unitOfMeasure": "EACH" - }, - "netPrice": { - "currencyCode": "USD", - "amount": "700" - }, - "taxDetails": { - "taxLineItem": [ - { - "taxRate": "0.1", - "taxAmount": { - "currencyCode": "USD", - "amount": "140" - }, - "type": "TOTAL" - } - ] - } - } - ] - } - }, - { - "purchaseOrderNumber": "3TRD2IABC", - "orderDetails": { - "customerOrderNumber": "456-ABC", - "orderDate": "2020-02-18T11:47:00Z", - "orderStatus": "NEW", - "shipmentDetails": { - "isPriorityShipment": false, - "isScheduledDeliveryShipment": false, - "isPslipRequired": true, - "isGift": false, - "shipMethod": "UPS_2ND", - "shipmentDates": { - "requiredShipDate": "2020-02-20T00:00:00Z", - "promisedDeliveryDate": "2020-02-22T00:00:00Z" - }, - "messageToCustomer": "This shipment completes your order. You can always check the status of your orders from the \"Your Account\" link at the top of each page of our site. Thank you for shopping at Amazon.com." - }, - "taxTotal": { - "taxLineItem": [ - { - "taxRate": "0.1", - "taxAmount": { - "currencyCode": "USD", - "amount": "2" - }, - "type": "TOTAL" - } - ] - }, - "sellingParty": { - "partyId": "999US" - }, - "shipFromParty": { - "partyId": "ABCD" - }, - "shipToParty": { - "name": "XYZ", - "attention": "XYZ", - "addressLine1": "456 ABC Street", - "city": "Seattle", - "stateOrRegion": "WA", - "postalCode": "98007", - "countryCode": "USA" - }, - "billToParty": { - "partyId": "ABCD" - }, - "items": [ - { - "itemSequenceNumber": "00001", - "buyerProductIdentifier": "B01LNRIIAB", - "vendorProductIdentifier": "8806098286501", - "title": "Baby Dove Baby Wipes Rich Moisture (50 Pieces)", - "orderedQuantity": { - "amount": 1, - "unitOfMeasure": "EACH" - }, - "netPrice": { - "currencyCode": "USD", - "amount": "20" - }, - "taxDetails": { - "taxLineItem": [ - { - "taxRate": "0.1", - "taxAmount": { - "currencyCode": "USD", - "amount": "2" - }, - "type": "TOTAL" - } - ] - } - } - ] - } - } - ] - } - } - } - ] - } - }, - "400": { - "description": "Request has missing or invalid parameters and cannot be parsed.", - "schema": { - "$ref": "#/definitions/GetOrdersResponse" - }, - "headers": { - "x-amzn-RateLimit-Limit": { - "type": "string", - "description": "Your rate limit (requests per second) for this operation." - }, - "x-amzn-RequestId": { - "type": "string", - "description": "Unique request reference identifier." - } - }, - "x-amzn-api-sandbox": { - "static": [ - { - "request": { - "parameters": { - "createdBefore": { - "value": "2021-01-2100:00:00" - }, - "createdAfter": { - "value": "2021-02-20T14:00:00" - } - } - }, - "response": { - "errors": [ - { - "code": "InvalidRequest", - "message": "The request is invalid.", - "details": "" - } - ] - } - } - ] - } - }, - "403": { - "description": "Indicates that access to the resource is forbidden. Possible reasons include Access Denied, Unauthorized, Expired Token, or Invalid Signature.", - "schema": { - "$ref": "#/definitions/GetOrdersResponse" - }, - "headers": { - "x-amzn-RequestId": { - "type": "string", - "description": "Unique request reference identifier." - } - } - }, - "404": { - "description": "The resource specified does not exist.", - "schema": { - "$ref": "#/definitions/GetOrdersResponse" - }, - "headers": { - "x-amzn-RateLimit-Limit": { - "type": "string", - "description": "Your rate limit (requests per second) for this operation." - }, - "x-amzn-RequestId": { - "type": "string", - "description": "Unique request reference identifier." - } - } - }, - "415": { - "description": "The request payload is in an unsupported format.", - "schema": { - "$ref": "#/definitions/GetOrdersResponse" - }, - "headers": { - "x-amzn-RequestId": { - "type": "string", - "description": "Unique request reference identifier." - } - } - }, - "429": { - "description": "The frequency of requests was greater than allowed.", - "schema": { - "$ref": "#/definitions/GetOrdersResponse" - }, - "headers": { - "x-amzn-RequestId": { - "type": "string", - "description": "Unique request reference identifier." - } - } - }, - "500": { - "description": "An unexpected condition occurred that prevented the server from fulfilling the request.", - "schema": { - "$ref": "#/definitions/GetOrdersResponse" - }, - "headers": { - "x-amzn-RequestId": { - "type": "string", - "description": "Unique request reference identifier." - } - } - }, - "503": { - "description": "Temporary overloading or maintenance of the server.", - "schema": { - "$ref": "#/definitions/GetOrdersResponse" - }, - "headers": { - "x-amzn-RequestId": { - "type": "string", - "description": "Unique request reference identifier." - } - } - } - } - } - }, - "/vendor/directFulfillment/orders/v1/purchaseOrders/{purchaseOrderNumber}": { - "get": { - "tags": [ - "vendorOrders" - ], - "description": "Returns purchase order information for the purchaseOrderNumber that you specify.\n\n**Usage Plan:**\n\n| Rate (requests per second) | Burst |\n| ---- | ---- |\n| 10 | 10 |\n\nThe `x-amzn-RateLimit-Limit` response header returns the usage plan rate limits that were applied to the requested operation, when available. The table above indicates the default rate and burst values for this operation. Selling partners whose business demands require higher throughput may see higher rate and burst values than those shown here. For more information, see [Usage Plans and Rate Limits in the Selling Partner API](https://developer-docs.amazon.com/sp-api/docs/usage-plans-and-rate-limits-in-the-sp-api).", - "operationId": "getOrder", - "parameters": [ - { - "name": "purchaseOrderNumber", - "in": "path", - "description": "The order identifier for the purchase order that you want. Formatting Notes: alpha-numeric code.", - "required": true, - "type": "string" - } - ], - "responses": { - "200": { - "description": "Success.", - "schema": { - "$ref": "#/definitions/GetOrderResponse" - }, - "examples": { - "application/json": { - "payload": { "purchaseOrderNumber": "2JK3S9VC", "orderDetails": { "customerOrderNumber": "123-ABC", @@ -1118,6 +166,7 @@ "taxTotal": { "taxLineItem": [ { + "taxRate": "0.1", "taxAmount": { "currencyCode": "USD", "amount": "190" @@ -1170,6 +219,9 @@ "type": "TOTAL" } ] + }, + "buyerCustomizedInfo": { + "customizedUrl": "aHR0cHM6Ly8xcC1kZi1wdWJsaWMtZGF0YS5zMy5hbWF6b25hd3MuY29tLzExMS0xMjYwNzQ1LTYyOTE0MTZfNTgzNjIxNTQwMTM1NjEuemlw" } }, { @@ -1201,7 +253,51 @@ ] } } + ] + }, + "headers": { + "x-amzn-RateLimit-Limit": { + "type": "string", + "description": "Your rate limit (requests per second) for this operation." + }, + "x-amzn-RequestId": { + "type": "string", + "description": "Unique request reference identifier." + } + } + }, + "400": { + "description": "Request has missing or invalid parameters and cannot be parsed.", + "schema": { + "$ref": "#/definitions/ErrorList" + }, + "headers": { + "x-amzn-RateLimit-Limit": { + "type": "string", + "description": "Your rate limit (requests per second) for this operation." + }, + "x-amzn-RequestId": { + "type": "string", + "description": "Unique request reference identifier." } + } + }, + "403": { + "description": "Indicates that access to the resource is forbidden. Possible reasons include Access Denied, Unauthorized, Expired Token, or Invalid Signature.", + "schema": { + "$ref": "#/definitions/ErrorList" + }, + "headers": { + "x-amzn-RequestId": { + "type": "string", + "description": "Unique request reference identifier." + } + } + }, + "404": { + "description": "The resource specified does not exist.", + "schema": { + "$ref": "#/definitions/ErrorList" }, "headers": { "x-amzn-RateLimit-Limit": { @@ -1212,243 +308,224 @@ "type": "string", "description": "Unique request reference identifier." } + } + }, + "415": { + "description": "The request payload is in an unsupported format.", + "schema": { + "$ref": "#/definitions/ErrorList" + }, + "headers": { + "x-amzn-RateLimit-Limit": { + "type": "string", + "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." + }, + "x-amzn-RequestId": { + "type": "string", + "description": "Unique request reference identifier." + } + } + }, + "429": { + "description": "The frequency of requests was greater than allowed.", + "schema": { + "$ref": "#/definitions/ErrorList" + }, + "headers": { + "x-amzn-RateLimit-Limit": { + "type": "string", + "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." + }, + "x-amzn-RequestId": { + "type": "string", + "description": "Unique request reference identifier." + } + } + }, + "500": { + "description": "An unexpected condition occurred that prevented the server from fulfilling the request.", + "schema": { + "$ref": "#/definitions/ErrorList" + }, + "headers": { + "x-amzn-RateLimit-Limit": { + "type": "string", + "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." + }, + "x-amzn-RequestId": { + "type": "string", + "description": "Unique request reference identifier." + } + } + }, + "503": { + "description": "Temporary overloading or maintenance of the server.", + "schema": { + "$ref": "#/definitions/ErrorList" + }, + "headers": { + "x-amzn-RateLimit-Limit": { + "type": "string", + "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." + }, + "x-amzn-RequestId": { + "type": "string", + "description": "Unique request reference identifier." + } + } + } + }, + "x-amzn-api-sandbox": { + "dynamic": {} + } + } + }, + "/vendor/directFulfillment/orders/2021-12-28/purchaseOrders/{purchaseOrderNumber}": { + "get": { + "tags": [ + "vendorOrders" + ], + "description": "Returns purchase order information for the purchaseOrderNumber that you specify.\n\n**Usage Plan:**\n\n| Rate (requests per second) | Burst |\n| ---- | ---- |\n| 10 | 10 |\n\nThe `x-amzn-RateLimit-Limit` response header returns the usage plan rate limits that were applied to the requested operation, when available. The table above indicates the default rate and burst values for this operation. Selling partners whose business demands require higher throughput may see higher rate and burst values then those shown here. For more information, see [Usage Plans and Rate Limits in the Selling Partner API](doc:usage-plans-and-rate-limits-in-the-sp-api).", + "operationId": "getOrder", + "parameters": [ + { + "name": "purchaseOrderNumber", + "in": "path", + "description": "The order identifier for the purchase order that you want. Formatting Notes: alpha-numeric code.", + "required": true, + "type": "string" + } + ], + "responses": { + "200": { + "description": "Success.", + "schema": { + "$ref": "#/definitions/Order" }, - "x-amzn-api-sandbox": { - "static": [ - { - "request": { - "parameters": { - "purchaseOrderNumber": { - "value": "2JK3S9VC" - } - } + "examples": { + "application/json": { + "purchaseOrderNumber": "2JK3S9VC", + "orderDetails": { + "customerOrderNumber": "123-ABC", + "orderDate": "2020-02-20T13:51:00Z", + "orderStatus": "NEW", + "shipmentDetails": { + "isPriorityShipment": false, + "isScheduledDeliveryShipment": false, + "isPslipRequired": true, + "isGift": false, + "shipMethod": "UPS_2ND", + "shipmentDates": { + "requiredShipDate": "2020-02-21T00:00:00Z", + "promisedDeliveryDate": "2020-02-24T00:00:00Z" + }, + "messageToCustomer": "This shipment completes your order. You can always check the status of your orders from the \"Your Account\" link at the top of each page of our site.Thank you for shopping at Amazon.com" }, - "response": { - "payload": { - "purchaseOrderNumber": "2JK3S9VC", - "orderDetails": { - "customerOrderNumber": "123-ABC", - "orderDate": "2020-02-20T13:51:00Z", - "orderStatus": "NEW", - "shipmentDetails": { - "isPriorityShipment": false, - "isScheduledDeliveryShipment": false, - "isPslipRequired": true, - "isGift": false, - "shipMethod": "UPS_2ND", - "shipmentDates": { - "requiredShipDate": "2020-02-21T00:00:00Z", - "promisedDeliveryDate": "2020-02-24T00:00:00Z" - }, - "messageToCustomer": "This shipment completes your order. You can always check the status of your orders from the \"Your Account\" link at the top of each page of our site.Thank you for shopping at Amazon.com" - }, - "taxTotal": { - "taxLineItem": [ - { - "taxRate": "0.1", - "taxAmount": { - "currencyCode": "USD", - "amount": "190" - }, - "type": "TOTAL" - } - ] - }, - "sellingParty": { - "partyId": "999US" - }, - "shipFromParty": { - "partyId": "ABCD" - }, - "shipToParty": { - "name": "ABCD", - "attention": "ABCD", - "addressLine1": "123 XYZ Street", - "addressLine2": "Apt 5", - "city": "San Jose", - "stateOrRegion": "CA", - "postalCode": "94086", - "countryCode": "USA" - }, - "billToParty": { - "partyId": "ABCD" + "taxTotal": { + "taxLineItem": [ + { + "taxAmount": { + "currencyCode": "USD", + "amount": "190" }, - "items": [ - { - "itemSequenceNumber": "00001", - "buyerProductIdentifier": "B07DFVDRAB", - "vendorProductIdentifier": "8806098286500", - "title": "LG 8 kg Inverter Wi-Fi Fully-Automatic Front Loading Washing Machine (FHT1408SWS, STS-VCM, Inbuilt Heater)", - "orderedQuantity": { - "amount": 1, - "unitOfMeasure": "EACH" - }, - "netPrice": { - "currencyCode": "USD", - "amount": "500" - }, - "taxDetails": { - "taxLineItem": [ - { - "taxRate": "0.1", - "taxAmount": { - "currencyCode": "USD", - "amount": "50" - }, - "type": "TOTAL" - } - ] - } - }, + "type": "TOTAL" + } + ] + }, + "sellingParty": { + "partyId": "999US" + }, + "shipFromParty": { + "partyId": "ABCD" + }, + "shipToParty": { + "name": "ABCD", + "attention": "ABCD", + "addressLine1": "123 XYZ Street", + "addressLine2": "Apt 5", + "city": "San Jose", + "stateOrRegion": "CA", + "postalCode": "94086", + "countryCode": "USA" + }, + "billToParty": { + "partyId": "ABCD" + }, + "items": [ + { + "itemSequenceNumber": "00001", + "buyerProductIdentifier": "B07DFVDRAB", + "vendorProductIdentifier": "8806098286500", + "title": "LG 8 kg Inverter Wi-Fi Fully-Automatic Front Loading Washing Machine (FHT1408SWS, STS-VCM, Inbuilt Heater)", + "orderedQuantity": { + "amount": 1, + "unitOfMeasure": "EACH" + }, + "netPrice": { + "currencyCode": "USD", + "amount": "500" + }, + "taxDetails": { + "taxLineItem": [ { - "itemSequenceNumber": "00002", - "buyerProductIdentifier": "B07DFYF5AB", - "vendorProductIdentifier": "8806098286123", - "title": "LG 6.5 kg Inverter Fully-Automatic Front Loading Washing Machine (FHT1065SNW, Blue and White, Inbuilt Heater)", - "orderedQuantity": { - "amount": 2, - "unitOfMeasure": "EACH" - }, - "netPrice": { + "taxRate": "0.1", + "taxAmount": { "currencyCode": "USD", - "amount": "700" + "amount": "50" }, - "taxDetails": { - "taxLineItem": [ - { - "taxRate": "0.1", - "taxAmount": { - "currencyCode": "USD", - "amount": "140" - }, - "type": "TOTAL" - } - ] - } + "type": "TOTAL" } ] + }, + "buyerCustomizedInfo": { + "customizedUrl": "aHR0cHM6Ly8xcC1kZi1wdWJsaWMtZGF0YS5zMy5hbWF6b25hd3MuY29tLzExMS0xMjYwNzQ1LTYyOTE0MTZfNTgzNjIxNTQwMTM1NjEuemlw" } - } - } - }, - { - "request": { - "parameters": {} - }, - "response": { - "payload": { - "purchaseOrderNumber": "2JK3S9VCD", - "orderDetails": { - "customerOrderNumber": "123-ABC", - "orderDate": "2020-02-20T13:51:00Z", - "orderStatus": "NEW", - "shipmentDetails": { - "isPriorityShipment": false, - "isScheduledDeliveryShipment": false, - "isPslipRequired": true, - "isGift": false, - "shipMethod": "UPS_2ND", - "shipmentDates": { - "requiredShipDate": "2020-02-21T00:00:00Z", - "promisedDeliveryDate": "2020-02-24T00:00:00Z" - }, - "messageToCustomer": "This shipment completes your order. You can always check the status of your orders from the \"Your Account\" link at the top of each page of our site. Thank you for shopping at Amazon.com." - }, - "taxTotal": { - "taxLineItem": [ - { - "taxAmount": { - "currencyCode": "USD", - "amount": "190" - }, - "type": "TOTAL" - } - ] - }, - "sellingParty": { - "partyId": "999US" - }, - "shipFromParty": { - "partyId": "ABCD" - }, - "shipToParty": { - "name": "ABCD", - "attention": "ABCD", - "addressLine1": "123 XYZ Street", - "addressLine2": "Apt 5", - "city": "San Jose", - "stateOrRegion": "CA", - "postalCode": "94086", - "countryCode": "USA" - }, - "billToParty": { - "partyId": "ABCD" - }, - "items": [ - { - "itemSequenceNumber": "00001", - "buyerProductIdentifier": "B07DFVDRAB", - "vendorProductIdentifier": "8806098286500", - "title": "LG 8 kg Inverter Wi-Fi Fully-Automatic Front Loading Washing Machine (FHT1408SWS, STS-VCM, Inbuilt Heater)", - "orderedQuantity": { - "amount": 1, - "unitOfMeasure": "EACH" - }, - "netPrice": { - "currencyCode": "USD", - "amount": "500" - }, - "taxDetails": { - "taxLineItem": [ - { - "taxRate": "0.1", - "taxAmount": { - "currencyCode": "USD", - "amount": "50" - }, - "type": "TOTAL" - } - ] - } - }, + }, + { + "itemSequenceNumber": "00002", + "buyerProductIdentifier": "B07DFYF5AB", + "vendorProductIdentifier": "8806098286123", + "title": "LG 6.5 kg Inverter Fully-Automatic Front Loading Washing Machine (FHT1065SNW, Blue and White, Inbuilt Heater)", + "orderedQuantity": { + "amount": 2, + "unitOfMeasure": "EACH" + }, + "netPrice": { + "currencyCode": "USD", + "amount": "700" + }, + "taxDetails": { + "taxLineItem": [ { - "itemSequenceNumber": "00002", - "buyerProductIdentifier": "B07DFYF5AB", - "vendorProductIdentifier": "8806098286123", - "title": "LG 6.5 kg Inverter Fully-Automatic Front Loading Washing Machine (FHT1065SNW, Blue and White, Inbuilt Heater)", - "orderedQuantity": { - "amount": 2, - "unitOfMeasure": "EACH" - }, - "netPrice": { + "taxRate": "0.1", + "taxAmount": { "currencyCode": "USD", - "amount": "700" + "amount": "140" }, - "taxDetails": { - "taxLineItem": [ - { - "taxRate": "0.1", - "taxAmount": { - "currencyCode": "USD", - "amount": "140" - }, - "type": "TOTAL" - } - ] - } + "type": "TOTAL" } ] } } - } + ] } - ] + } + }, + "headers": { + "x-amzn-RateLimit-Limit": { + "type": "string", + "description": "Your rate limit (requests per second) for this operation." + }, + "x-amzn-RequestId": { + "type": "string", + "description": "Unique request reference identifier." + } } }, "400": { "description": "Request has missing or invalid parameters and cannot be parsed.", "schema": { - "$ref": "#/definitions/GetOrderResponse" + "$ref": "#/definitions/ErrorList" }, "headers": { "x-amzn-RateLimit-Limit": { @@ -1459,36 +536,18 @@ "type": "string", "description": "Unique request reference identifier." } - }, - "x-amzn-api-sandbox": { - "static": [ - { - "request": { - "parameters": { - "purchaseOrderNumber": { - "value": "null" - } - } - }, - "response": { - "errors": [ - { - "code": "InvalidRequest", - "message": "Request is missing or has invalid parameters", - "details": "purchaseOrderNumber cannot be null" - } - ] - } - } - ] } }, "401": { "description": "The request's Authorization header is not formatted correctly or does not contain a valid token.", "schema": { - "$ref": "#/definitions/GetOrderResponse" + "$ref": "#/definitions/ErrorList" }, "headers": { + "x-amzn-RateLimit-Limit": { + "type": "string", + "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." + }, "x-amzn-RequestId": { "type": "string", "description": "Unique request reference identifier." @@ -1498,7 +557,7 @@ "403": { "description": "Indicates that access to the resource is forbidden. Possible reasons include Access Denied, Unauthorized, Expired Token, or Invalid Signature.", "schema": { - "$ref": "#/definitions/GetOrderResponse" + "$ref": "#/definitions/ErrorList" }, "headers": { "x-amzn-RequestId": { @@ -1510,7 +569,7 @@ "404": { "description": "The resource specified does not exist.", "schema": { - "$ref": "#/definitions/GetOrderResponse" + "$ref": "#/definitions/ErrorList" }, "headers": { "x-amzn-RateLimit-Limit": { @@ -1526,9 +585,13 @@ "415": { "description": "The request payload is in an unsupported format.", "schema": { - "$ref": "#/definitions/GetOrderResponse" + "$ref": "#/definitions/ErrorList" }, "headers": { + "x-amzn-RateLimit-Limit": { + "type": "string", + "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." + }, "x-amzn-RequestId": { "type": "string", "description": "Unique request reference identifier." @@ -1538,9 +601,13 @@ "429": { "description": "The frequency of requests was greater than allowed.", "schema": { - "$ref": "#/definitions/GetOrderResponse" + "$ref": "#/definitions/ErrorList" }, "headers": { + "x-amzn-RateLimit-Limit": { + "type": "string", + "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." + }, "x-amzn-RequestId": { "type": "string", "description": "Unique request reference identifier." @@ -1550,9 +617,13 @@ "500": { "description": "An unexpected condition occurred that prevented the server from fulfilling the request.", "schema": { - "$ref": "#/definitions/GetOrderResponse" + "$ref": "#/definitions/ErrorList" }, "headers": { + "x-amzn-RateLimit-Limit": { + "type": "string", + "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." + }, "x-amzn-RequestId": { "type": "string", "description": "Unique request reference identifier." @@ -1562,24 +633,31 @@ "503": { "description": "Temporary overloading or maintenance of the server.", "schema": { - "$ref": "#/definitions/GetOrderResponse" + "$ref": "#/definitions/ErrorList" }, "headers": { + "x-amzn-RateLimit-Limit": { + "type": "string", + "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." + }, "x-amzn-RequestId": { "type": "string", "description": "Unique request reference identifier." } } } + }, + "x-amzn-api-sandbox": { + "dynamic": {} } } }, - "/vendor/directFulfillment/orders/v1/acknowledgements": { + "/vendor/directFulfillment/orders/2021-12-28/acknowledgements": { "post": { "tags": [ "vendorOrders" ], - "description": "Submits acknowledgements for one or more purchase orders.\n\n**Usage Plan:**\n\n| Rate (requests per second) | Burst |\n| ---- | ---- |\n| 10 | 10 |\n\nThe `x-amzn-RateLimit-Limit` response header returns the usage plan rate limits that were applied to the requested operation, when available. The table above indicates the default rate and burst values for this operation. Selling partners whose business demands require higher throughput may see higher rate and burst values than those shown here. For more information, see [Usage Plans and Rate Limits in the Selling Partner API](https://developer-docs.amazon.com/sp-api/docs/usage-plans-and-rate-limits-in-the-sp-api).", + "description": "Submits acknowledgements for one or more purchase orders.\n\n**Usage Plan:**\n\n| Rate (requests per second) | Burst |\n| ---- | ---- |\n| 10 | 10 |\n\nThe `x-amzn-RateLimit-Limit` response header returns the usage plan rate limits that were applied to the requested operation, when available. The table above indicates the default rate and burst values for this operation. Selling partners whose business demands require higher throughput may see higher rate and burst values then those shown here. For more information, see [Usage Plans and Rate Limits in the Selling Partner API](doc:usage-plans-and-rate-limits-in-the-sp-api).", "operationId": "submitAcknowledgement", "parameters": [ { @@ -1588,15 +666,14 @@ "required": true, "schema": { "$ref": "#/definitions/SubmitAcknowledgementRequest" - }, - "description": "The request body that contains the order acknowledgement." + } } ], "responses": { "202": { "description": "Success.", "schema": { - "$ref": "#/definitions/SubmitAcknowledgementResponse" + "$ref": "#/definitions/TransactionId" }, "headers": { "x-amzn-RateLimit-Limit": { @@ -1607,71 +684,12 @@ "type": "string", "description": "Unique request reference identifier." } - }, - "x-amzn-api-sandbox": { - "static": [ - { - "request": { - "parameters": { - "body": { - "value": { - "orderAcknowledgements": [ - { - "purchaseOrderNumber": "2JK3S9VC", - "vendorOrderNumber": "ABC", - "acknowledgementDate": "2020-02-20T19:17:34.304Z", - "acknowledgementStatus": { - "code": "00", - "description": "Shipping 100 percent of ordered product" - }, - "sellingParty": { - "partyId": "999US" - }, - "shipFromParty": { - "partyId": "ABCD" - }, - "itemAcknowledgements": [ - { - "itemSequenceNumber": "00001", - "buyerProductIdentifier": "B07DFVDRAB", - "vendorProductIdentifier": "8806098286500", - "acknowledgedQuantity": { - "amount": 1, - "unitOfMeasure": "Each" - } - } - ] - } - ] - } - } - } - }, - "response": { - "payload": { - "transactionId": "20190827182357-8725bde9-c61c-49f9-86ac-46efd82d4da5" - } - } - }, - { - "request": { - "parameters": { - "body": {} - } - }, - "response": { - "payload": { - "transactionId": "mock-TransactionId-20190827182357-8725bde9-c61c-49f9-86ac-46efd82d4da5" - } - } - } - ] } }, "400": { "description": "Request has missing or invalid parameters and cannot be parsed.", "schema": { - "$ref": "#/definitions/SubmitAcknowledgementResponse" + "$ref": "#/definitions/ErrorList" }, "headers": { "x-amzn-RateLimit-Limit": { @@ -1682,41 +700,12 @@ "type": "string", "description": "Unique request reference identifier." } - }, - "x-amzn-api-sandbox": { - "static": [ - { - "request": { - "parameters": { - "body": { - "value": { - "orderAcknowledgements": [ - { - "purchaseOrderNumber": "TestOrder400", - "sellingParty": {} - } - ] - } - } - } - }, - "response": { - "errors": [ - { - "code": "InvalidInput", - "message": "The content of element 'sellingParty' is not complete. One of '{partyId, address, taxInfo}' is expected.", - "details": "" - } - ] - } - } - ] } }, "403": { "description": "Indicates that access to the resource is forbidden. Possible reasons include Access Denied, Unauthorized, Expired Token, or Invalid Signature.", "schema": { - "$ref": "#/definitions/SubmitAcknowledgementResponse" + "$ref": "#/definitions/ErrorList" }, "headers": { "x-amzn-RequestId": { @@ -1728,7 +717,7 @@ "404": { "description": "The resource specified does not exist.", "schema": { - "$ref": "#/definitions/SubmitAcknowledgementResponse" + "$ref": "#/definitions/ErrorList" }, "headers": { "x-amzn-RateLimit-Limit": { @@ -1744,9 +733,13 @@ "413": { "description": "The request size exceeded the maximum accepted size.", "schema": { - "$ref": "#/definitions/SubmitAcknowledgementResponse" + "$ref": "#/definitions/ErrorList" }, "headers": { + "x-amzn-RateLimit-Limit": { + "type": "string", + "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." + }, "x-amzn-RequestId": { "type": "string", "description": "Unique request reference identifier." @@ -1756,9 +749,13 @@ "415": { "description": "The request payload is in an unsupported format.", "schema": { - "$ref": "#/definitions/SubmitAcknowledgementResponse" + "$ref": "#/definitions/ErrorList" }, "headers": { + "x-amzn-RateLimit-Limit": { + "type": "string", + "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." + }, "x-amzn-RequestId": { "type": "string", "description": "Unique request reference identifier." @@ -1768,9 +765,13 @@ "429": { "description": "The frequency of requests was greater than allowed.", "schema": { - "$ref": "#/definitions/SubmitAcknowledgementResponse" + "$ref": "#/definitions/ErrorList" }, "headers": { + "x-amzn-RateLimit-Limit": { + "type": "string", + "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." + }, "x-amzn-RequestId": { "type": "string", "description": "Unique request reference identifier." @@ -1780,9 +781,13 @@ "500": { "description": "An unexpected condition occurred that prevented the server from fulfilling the request.", "schema": { - "$ref": "#/definitions/SubmitAcknowledgementResponse" + "$ref": "#/definitions/ErrorList" }, "headers": { + "x-amzn-RateLimit-Limit": { + "type": "string", + "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." + }, "x-amzn-RequestId": { "type": "string", "description": "Unique request reference identifier." @@ -1792,62 +797,40 @@ "503": { "description": "Temporary overloading or maintenance of the server.", "schema": { - "$ref": "#/definitions/SubmitAcknowledgementResponse" + "$ref": "#/definitions/ErrorList" }, "headers": { + "x-amzn-RateLimit-Limit": { + "type": "string", + "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." + }, "x-amzn-RequestId": { "type": "string", "description": "Unique request reference identifier." } } } + }, + "x-amzn-api-sandbox": { + "dynamic": {} } } } }, "definitions": { - "GetOrdersResponse": { - "type": "object", - "properties": { - "payload": { - "description": "A list of purchase orders.", - "$ref": "#/definitions/OrderList" - }, - "errors": { - "$ref": "#/definitions/ErrorList" - } - }, - "description": "The response schema for the getOrders operation." - }, - "GetOrderResponse": { - "type": "object", - "properties": { - "payload": { - "description": "The payload for the getOrder operation.", - "$ref": "#/definitions/Order" - }, - "errors": { - "$ref": "#/definitions/ErrorList" - } - }, - "description": "The response schema for the getOrder operation." - }, "OrderList": { "type": "object", "properties": { "pagination": { - "$ref": "#/definitions/Pagination", - "description": "The pagination elements required to retrieve the remaining data." + "$ref": "#/definitions/Pagination" }, "orders": { "type": "array", "items": { "$ref": "#/definitions/Order" - }, - "description": "Represents a purchase order within the `OrderList`." + } } - }, - "description": "A purchase orders list returned as a response." + } }, "Pagination": { "type": "object", @@ -1856,11 +839,9 @@ "type": "string", "description": "A generated string used to pass information to your next request. If NextToken is returned, pass the value of NextToken to the next request. If NextToken is not returned, there are no more order items to return." } - }, - "description": "The pagination elements required to retrieve the remaining data." + } }, "Order": { - "description": "Represents a purchase order.", "type": "object", "required": [ "purchaseOrderNumber" @@ -1896,7 +877,7 @@ "orderDate": { "type": "string", "format": "date-time", - "description": "The date the order was placed. This field is expected to be in ISO-8601 date/time format, for example:2018-07-16T23:00:00Z/ 2018-07-16T23:00:00-05:00 /2018-07-16T23:00:00-08:00. If no time zone is specified, UTC should be assumed." + "description": "The date the order was placed. This field is expected to be in ISO-8601 date/time format, for example:2018-07-16T23:00:00Z/ 2018-07-16T23:00:00-05:00 /2018-07-16T23:00:00-08:00. If no time zone is specified, UTC should be assumed." }, "orderStatus": { "type": "string", @@ -1930,14 +911,7 @@ "$ref": "#/definitions/ShipmentDetails" }, "taxTotal": { - "type": "object", - "description": "The total tax object within the shipment that relates to the order.", - "properties": { - "taxLineItem": { - "description": "Tax details.", - "$ref": "#/definitions/TaxLineItem" - } - } + "$ref": "#/definitions/TaxItemDetails" }, "sellingParty": { "description": "PartyID of vendor code.", @@ -1966,7 +940,6 @@ "description": "Details of an order." }, "PartyIdentification": { - "description": "Name, address, and tax details of a party.", "type": "object", "required": [ "partyId" @@ -2036,7 +1009,7 @@ "properties": { "name": { "type": "string", - "description": "The name of the person, business, or institution at that address. For Amazon label only vendors, this field will have the value `xxxxx` within the object `shipToParty`." + "description": "The name of the person, business or institution at that address. For Amazon label only vendors, this field will have the value `xxxxx` within the object `shipToParty`." }, "attention": { "type": "string", @@ -2056,15 +1029,15 @@ }, "city": { "type": "string", - "description": "The city where the person, business, or institution is located. For Amazon label only vendors, this field will have the value `xxxxx` within the object `shipToParty`." + "description": "The city where the person, business or institution is located. For Amazon label only vendors, this field will have the value `xxxxx` within the object `shipToParty`." }, "county": { "type": "string", - "description": "The county where the person, business, or institution is located. For Amazon label only vendors, this field will have the value `xxxxx` within the object `shipToParty`." + "description": "The county where person, business or institution is located. For Amazon label only vendors, this field will have the value `xxxxx` within the object `shipToParty`." }, "district": { "type": "string", - "description": "The district where the person, business, or institution is located. For Amazon label only vendors, this field will have the value `xxxxx` within the object `shipToParty`." + "description": "The district where person, business or institution is located. For Amazon label only vendors, this field will have the value `xxxxx` within the object `shipToParty`." }, "stateOrRegion": { "type": "string", @@ -2080,7 +1053,7 @@ }, "phone": { "type": "string", - "description": "The phone number of the person, business, or institution located at that address. For Amazon label only vendors, this field will have the value `xxxxx` within the object `shipToParty`." + "description": "The phone number of the person, business or institution located at that address. For Amazon label only vendors, this field will have the value `xxxxx` within the object `shipToParty`." } }, "description": "Address of the party." @@ -2126,21 +1099,18 @@ "$ref": "#/definitions/Money" }, "taxDetails": { - "type": "object", "description": "Total tax details for the line item.", - "properties": { - "taxLineItem": { - "description": "Tax details.", - "$ref": "#/definitions/TaxLineItem" - } - } + "$ref": "#/definitions/TaxItemDetails" }, "totalPrice": { "description": "The price to Amazon each (cost).", "$ref": "#/definitions/Money" + }, + "buyerCustomizedInfo": { + "description": "The buyer information for products the vendor has configured as customizable, specifying the types of customizations or configurations along with types and ranges for their product. This provides the ability for buyers to customize multiple aspects of the products according to what the vendor allows.", + "$ref": "#/definitions/buyerCustomizedInfoDetail" } - }, - "description": "An order item." + } }, "Money": { "type": "object", @@ -2155,6 +1125,15 @@ }, "description": "An amount of money, including units in the form of currency." }, + "buyerCustomizedInfoDetail": { + "type": "object", + "properties": { + "customizedUrl": { + "type": "string", + "description": "A [Base 64](https://datatracker.ietf.org/doc/html/rfc4648#section-4) encoded URL using the UTF-8 character set. The URL provides the location of the zip file that specifies the types of customizations or configurations allowed by the vendor, along with types and ranges for the attributes of their products." + } + } + }, "Decimal": { "type": "string", "description": "A decimal number with no loss of precision. Useful when precision loss is unacceptable, as with currencies. Follows RFC7159 for number representation." @@ -2179,14 +1158,21 @@ "type": "string", "description": "GUID assigned by Amazon to identify this transaction. This value can be used with the Transaction Status API to return the status of this transaction." } - }, - "description": "Response that contains the transaction ID." + } }, "ErrorList": { - "type": "array", + "type": "object", "description": "A list of error responses returned when a request is unsuccessful.", - "items": { - "$ref": "#/definitions/Error" + "required": [ + "errors" + ], + "properties": { + "errors": { + "type": "array", + "items": { + "$ref": "#/definitions/Error" + } + } } }, "SubmitAcknowledgementRequest": { @@ -2272,8 +1258,7 @@ "description": "Details of quantity acknowledged with the above acknowledgement code.", "$ref": "#/definitions/ItemQuantity" } - }, - "description": "Individual item details within the acknowledged order." + } }, "ItemQuantity": { "type": "object", @@ -2363,8 +1348,7 @@ } ] } - }, - "description": "The order's tax details." + } }, "AcknowledgementStatus": { "type": "object", @@ -2494,6 +1478,16 @@ } }, "description": "Gift details for the item." + }, + "TaxItemDetails": { + "type": "object", + "description": "Total tax details for the line item.", + "properties": { + "taxLineItem": { + "description": "Tax details.", + "$ref": "#/definitions/TaxLineItem" + } + } } } } \ No newline at end of file From e7f0105b6ebf6184cb8031c526445c3064f34312 Mon Sep 17 00:00:00 2001 From: Alex Rupprecht Date: Wed, 13 Dec 2023 15:47:07 -0500 Subject: [PATCH 107/340] December release --- .../vendorDirectFulfillmentOrdersV1.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/models/vendor-direct-fulfillment-orders-api-model/vendorDirectFulfillmentOrdersV1.json b/models/vendor-direct-fulfillment-orders-api-model/vendorDirectFulfillmentOrdersV1.json index 8991a6ae3..8acec601e 100644 --- a/models/vendor-direct-fulfillment-orders-api-model/vendorDirectFulfillmentOrdersV1.json +++ b/models/vendor-direct-fulfillment-orders-api-model/vendorDirectFulfillmentOrdersV1.json @@ -1019,7 +1019,7 @@ "type": "string", "description": "First line of the address. For Amazon label only vendors, this field will have the value `xxxxx` within the object `shipToParty`." }, - "addressLine2": { + "addressLine2": { "type": "string", "description": "Additional address information, if required. For Amazon label only vendors, this field will have the value `xxxxx` within the object `shipToParty`." }, From 9de1c3c915c6e974dbbe277df0e108bd1e16efb9 Mon Sep 17 00:00:00 2001 From: Alex Rupprecht <44652230+alex-rupprecht@users.noreply.github.com> Date: Wed, 13 Dec 2023 15:50:23 -0500 Subject: [PATCH 108/340] Update vendorDirectFulfillmentOrdersV1.json --- .../vendorDirectFulfillmentOrdersV1.json | 1434 +++-------------- 1 file changed, 184 insertions(+), 1250 deletions(-) diff --git a/models/vendor-direct-fulfillment-orders-api-model/vendorDirectFulfillmentOrdersV1.json b/models/vendor-direct-fulfillment-orders-api-model/vendorDirectFulfillmentOrdersV1.json index 8acec601e..a355fbb47 100644 --- a/models/vendor-direct-fulfillment-orders-api-model/vendorDirectFulfillmentOrdersV1.json +++ b/models/vendor-direct-fulfillment-orders-api-model/vendorDirectFulfillmentOrdersV1.json @@ -1,9 +1,9 @@ { "swagger": "2.0", "info": { - "description": "The Selling Partner API for Direct Fulfillment Orders provides programmatic access to a direct fulfillment vendor's order data.", - "version": "2021-12-28", - "title": "Selling Partner API for Direct Fulfillment Orders", + "description": "The Selling Partner API for Direct Fulfillment Inventory Updates provides programmatic access to a direct fulfillment vendor's inventory updates.", + "version": "v1", + "title": "Selling Partner API for Direct Fulfillment Inventory Updates", "contact": { "name": "Selling Partner API Developer Support", "url": "https://sellercentral.amazon.com/gp/mws/contactus.html" @@ -24,236 +24,35 @@ "application/json" ], "paths": { - "/vendor/directFulfillment/orders/2021-12-28/purchaseOrders": { - "get": { + "/vendor/directFulfillment/inventory/v1/warehouses/{warehouseId}/items": { + "post": { "tags": [ - "vendorOrders" + "updateInventory" ], - "description": "Returns a list of purchase orders created during the time frame that you specify. You define the time frame using the createdAfter and createdBefore parameters. You must use both parameters. You can choose to get only the purchase order numbers by setting the includeDetails parameter to false. In that case, the operation returns a list of purchase order numbers. You can then call the getOrder operation to return the details of a specific order.\n\n**Usage Plan:**\n\n| Rate (requests per second) | Burst |\n| ---- | ---- |\n| 10 | 10 |\n\nThe `x-amzn-RateLimit-Limit` response header returns the usage plan rate limits that were applied to the requested operation, when available. The table above indicates the default rate and burst values for this operation. Selling partners whose business demands require higher throughput may see higher rate and burst values then those shown here. For more information, see [Usage Plans and Rate Limits in the Selling Partner API](doc:usage-plans-and-rate-limits-in-the-sp-api).", - "operationId": "getOrders", + "description": "Submits inventory updates for the specified warehouse for either a partial or full feed of inventory items.\n\n**Usage Plan:**\n\n| Rate (requests per second) | Burst |\n| ---- | ---- |\n| 10 | 10 |\n\nThe `x-amzn-RateLimit-Limit` response header returns the usage plan rate limits that were applied to the requested operation, when available. The table above indicates the default rate and burst values for this operation. Selling partners whose business demands require higher throughput may see higher rate and burst values than those shown here. For more information, see [Usage Plans and Rate Limits in the Selling Partner API](https://developer-docs.amazon.com/sp-api/docs/usage-plans-and-rate-limits-in-the-sp-api).", + "operationId": "submitInventoryUpdate", "parameters": [ { - "name": "shipFromPartyId", - "in": "query", - "description": "The vendor warehouse identifier for the fulfillment warehouse. If not specified, the result will contain orders for all warehouses.", - "required": false, - "type": "string" - }, - { - "name": "status", - "in": "query", - "description": "Returns only the purchase orders that match the specified status. If not specified, the result will contain orders that match any status.", - "required": false, - "type": "string", - "enum": [ - "NEW", - "SHIPPED", - "ACCEPTED", - "CANCELLED" - ], - "x-docgen-enum-table-extension": [ - { - "value": "NEW", - "description": "Status for newly created purchase orders." - }, - { - "value": "SHIPPED", - "description": "Status for purchase orders that are already shipped." - }, - { - "value": "ACCEPTED", - "description": "Status for purchase orders accepted by vendors." - }, - { - "value": "CANCELLED", - "description": "Status for cancelled purchase orders." - } - ] - }, - { - "name": "limit", - "in": "query", - "description": "The limit to the number of purchase orders returned.", - "required": false, - "type": "integer", - "maximum": 100, - "minimum": 1, - "format": "int64" - }, - { - "name": "createdAfter", - "in": "query", - "description": "Purchase orders that became available after this date and time will be included in the result. Must be in ISO-8601 date/time format.", + "in": "body", + "name": "body", "required": true, - "type": "string", - "format": "date-time" + "schema": { + "$ref": "#/definitions/SubmitInventoryUpdateRequest" + } }, { - "name": "createdBefore", - "in": "query", - "description": "Purchase orders that became available before this date and time will be included in the result. Must be in ISO-8601 date/time format.", + "name": "warehouseId", + "in": "path", + "description": "Identifier for the warehouse for which to update inventory.", "required": true, - "type": "string", - "format": "date-time" - }, - { - "name": "sortOrder", - "in": "query", - "description": "Sort the list in ascending or descending order by order creation date.", - "required": false, - "type": "string", - "enum": [ - "ASC", - "DESC" - ], - "x-docgen-enum-table-extension": [ - { - "value": "ASC", - "description": "Sort in ascending order by order creation date." - }, - { - "value": "DESC", - "description": "Sort in descending order by order creation date." - } - ] - }, - { - "name": "nextToken", - "in": "query", - "description": "Used for pagination when there are more orders than the specified result size limit. The token value is returned in the previous API call.", - "required": false, "type": "string" - }, - { - "name": "includeDetails", - "in": "query", - "description": "When true, returns the complete purchase order details. Otherwise, only purchase order numbers are returned.", - "required": false, - "type": "string", - "default": "true", - "format": "boolean" } ], "responses": { - "200": { + "202": { "description": "Success.", "schema": { - "$ref": "#/definitions/OrderList" - }, - "examples": { - "pagination": { - "nextToken": "MDAwMDAwMDAwMQ==" - }, - "orders": [ - { - "purchaseOrderNumber": "2JK3S9VC", - "orderDetails": { - "customerOrderNumber": "123-ABC", - "orderDate": "2020-02-20T13:51:00Z", - "orderStatus": "NEW", - "shipmentDetails": { - "isPriorityShipment": false, - "isScheduledDeliveryShipment": false, - "isPslipRequired": true, - "isGift": false, - "shipMethod": "UPS_2ND", - "shipmentDates": { - "requiredShipDate": "2020-02-21T00:00:00Z", - "promisedDeliveryDate": "2020-02-24T00:00:00Z" - }, - "messageToCustomer": "This shipment completes your order. You can always check the status of your orders from the \"Your Account\" link at the top of each page of our site.Thank you for shopping at Amazon.com" - }, - "taxTotal": { - "taxLineItem": [ - { - "taxRate": "0.1", - "taxAmount": { - "currencyCode": "USD", - "amount": "190" - }, - "type": "TOTAL" - } - ] - }, - "sellingParty": { - "partyId": "999US" - }, - "shipFromParty": { - "partyId": "ABCD" - }, - "shipToParty": { - "name": "ABCD", - "attention": "ABCD", - "addressLine1": "123 XYZ Street", - "addressLine2": "Apt 5", - "city": "San Jose", - "stateOrRegion": "CA", - "postalCode": "94086", - "countryCode": "USA" - }, - "billToParty": { - "partyId": "ABCD" - }, - "items": [ - { - "itemSequenceNumber": "00001", - "buyerProductIdentifier": "B07DFVDRAB", - "vendorProductIdentifier": "8806098286500", - "title": "LG 8 kg Inverter Wi-Fi Fully-Automatic Front Loading Washing Machine (FHT1408SWS, STS-VCM, Inbuilt Heater)", - "orderedQuantity": { - "amount": 1, - "unitOfMeasure": "EACH" - }, - "netPrice": { - "currencyCode": "USD", - "amount": "500" - }, - "taxDetails": { - "taxLineItem": [ - { - "taxRate": "0.1", - "taxAmount": { - "currencyCode": "USD", - "amount": "50" - }, - "type": "TOTAL" - } - ] - }, - "buyerCustomizedInfo": { - "customizedUrl": "aHR0cHM6Ly8xcC1kZi1wdWJsaWMtZGF0YS5zMy5hbWF6b25hd3MuY29tLzExMS0xMjYwNzQ1LTYyOTE0MTZfNTgzNjIxNTQwMTM1NjEuemlw" - } - }, - { - "itemSequenceNumber": "00002", - "buyerProductIdentifier": "B07DFYF5AB", - "vendorProductIdentifier": "8806098286123", - "title": "LG 6.5 kg Inverter Fully-Automatic Front Loading Washing Machine (FHT1065SNW, Blue and White, Inbuilt Heater)", - "orderedQuantity": { - "amount": 2, - "unitOfMeasure": "EACH" - }, - "netPrice": { - "currencyCode": "USD", - "amount": "700" - }, - "taxDetails": { - "taxLineItem": [ - { - "taxRate": "0.1", - "taxAmount": { - "currencyCode": "USD", - "amount": "140" - }, - "type": "TOTAL" - } - ] - } - } - ] - } - } - ] + "$ref": "#/definitions/SubmitInventoryUpdateResponse" }, "headers": { "x-amzn-RateLimit-Limit": { @@ -264,40 +63,78 @@ "type": "string", "description": "Unique request reference identifier." } + }, + "x-amzn-api-sandbox": { + "static": [ + { + "request": { + "parameters": { + "body": { + "value": { + "inventory": { + "sellingParty": { + "partyId": "VENDORID" + }, + "isFullUpdate": false, + "items": [ + { + "buyerProductIdentifier": "ABCD4562", + "vendorProductIdentifier": "7Q89K11", + "availableQuantity": { + "amount": 10, + "unitOfMeasure": "Each" + }, + "isObsolete": false + }, + { + "buyerProductIdentifier": "ABCD4563", + "vendorProductIdentifier": "7Q89K12", + "availableQuantity": { + "amount": 15, + "unitOfMeasure": "Each" + }, + "isObsolete": false + }, + { + "buyerProductIdentifier": "ABCD4564", + "vendorProductIdentifier": "7Q89K13", + "availableQuantity": { + "amount": 20, + "unitOfMeasure": "Each" + }, + "isObsolete": false + } + ] + } + } + } + } + }, + "response": { + "payload": { + "transactionId": "20190905010908-8a3b6901-ef20-412f-9270-21c021796605" + } + } + }, + { + "request": { + "parameters": { + "body": {} + } + }, + "response": { + "payload": { + "transactionId": "mock-TransactionId-20190905010908-8a3b6901-ef20-412f-9270-21c021796605" + } + } + } + ] } }, "400": { "description": "Request has missing or invalid parameters and cannot be parsed.", "schema": { - "$ref": "#/definitions/ErrorList" - }, - "headers": { - "x-amzn-RateLimit-Limit": { - "type": "string", - "description": "Your rate limit (requests per second) for this operation." - }, - "x-amzn-RequestId": { - "type": "string", - "description": "Unique request reference identifier." - } - } - }, - "403": { - "description": "Indicates that access to the resource is forbidden. Possible reasons include Access Denied, Unauthorized, Expired Token, or Invalid Signature.", - "schema": { - "$ref": "#/definitions/ErrorList" - }, - "headers": { - "x-amzn-RequestId": { - "type": "string", - "description": "Unique request reference identifier." - } - } - }, - "404": { - "description": "The resource specified does not exist.", - "schema": { - "$ref": "#/definitions/ErrorList" + "$ref": "#/definitions/SubmitInventoryUpdateResponse" }, "headers": { "x-amzn-RateLimit-Limit": { @@ -308,245 +145,51 @@ "type": "string", "description": "Unique request reference identifier." } - } - }, - "415": { - "description": "The request payload is in an unsupported format.", - "schema": { - "$ref": "#/definitions/ErrorList" - }, - "headers": { - "x-amzn-RateLimit-Limit": { - "type": "string", - "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." - }, - "x-amzn-RequestId": { - "type": "string", - "description": "Unique request reference identifier." - } - } - }, - "429": { - "description": "The frequency of requests was greater than allowed.", - "schema": { - "$ref": "#/definitions/ErrorList" - }, - "headers": { - "x-amzn-RateLimit-Limit": { - "type": "string", - "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." - }, - "x-amzn-RequestId": { - "type": "string", - "description": "Unique request reference identifier." - } - } - }, - "500": { - "description": "An unexpected condition occurred that prevented the server from fulfilling the request.", - "schema": { - "$ref": "#/definitions/ErrorList" - }, - "headers": { - "x-amzn-RateLimit-Limit": { - "type": "string", - "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." - }, - "x-amzn-RequestId": { - "type": "string", - "description": "Unique request reference identifier." - } - } - }, - "503": { - "description": "Temporary overloading or maintenance of the server.", - "schema": { - "$ref": "#/definitions/ErrorList" - }, - "headers": { - "x-amzn-RateLimit-Limit": { - "type": "string", - "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." - }, - "x-amzn-RequestId": { - "type": "string", - "description": "Unique request reference identifier." - } - } - } - }, - "x-amzn-api-sandbox": { - "dynamic": {} - } - } - }, - "/vendor/directFulfillment/orders/2021-12-28/purchaseOrders/{purchaseOrderNumber}": { - "get": { - "tags": [ - "vendorOrders" - ], - "description": "Returns purchase order information for the purchaseOrderNumber that you specify.\n\n**Usage Plan:**\n\n| Rate (requests per second) | Burst |\n| ---- | ---- |\n| 10 | 10 |\n\nThe `x-amzn-RateLimit-Limit` response header returns the usage plan rate limits that were applied to the requested operation, when available. The table above indicates the default rate and burst values for this operation. Selling partners whose business demands require higher throughput may see higher rate and burst values then those shown here. For more information, see [Usage Plans and Rate Limits in the Selling Partner API](doc:usage-plans-and-rate-limits-in-the-sp-api).", - "operationId": "getOrder", - "parameters": [ - { - "name": "purchaseOrderNumber", - "in": "path", - "description": "The order identifier for the purchase order that you want. Formatting Notes: alpha-numeric code.", - "required": true, - "type": "string" - } - ], - "responses": { - "200": { - "description": "Success.", - "schema": { - "$ref": "#/definitions/Order" }, - "examples": { - "application/json": { - "purchaseOrderNumber": "2JK3S9VC", - "orderDetails": { - "customerOrderNumber": "123-ABC", - "orderDate": "2020-02-20T13:51:00Z", - "orderStatus": "NEW", - "shipmentDetails": { - "isPriorityShipment": false, - "isScheduledDeliveryShipment": false, - "isPslipRequired": true, - "isGift": false, - "shipMethod": "UPS_2ND", - "shipmentDates": { - "requiredShipDate": "2020-02-21T00:00:00Z", - "promisedDeliveryDate": "2020-02-24T00:00:00Z" - }, - "messageToCustomer": "This shipment completes your order. You can always check the status of your orders from the \"Your Account\" link at the top of each page of our site.Thank you for shopping at Amazon.com" + "x-amzn-api-sandbox": { + "static": [ + { + "request": { + "parameters": { + "warehouseId": { + "value": "DUMMYCODE" + } + } }, - "taxTotal": { - "taxLineItem": [ + "response": { + "errors": [ { - "taxAmount": { - "currencyCode": "USD", - "amount": "190" - }, - "type": "TOTAL" + "code": "InvalidInput", + "message": "Invalid transmission ID.", + "details": "" } ] - }, - "sellingParty": { - "partyId": "999US" - }, - "shipFromParty": { - "partyId": "ABCD" - }, - "shipToParty": { - "name": "ABCD", - "attention": "ABCD", - "addressLine1": "123 XYZ Street", - "addressLine2": "Apt 5", - "city": "San Jose", - "stateOrRegion": "CA", - "postalCode": "94086", - "countryCode": "USA" - }, - "billToParty": { - "partyId": "ABCD" - }, - "items": [ - { - "itemSequenceNumber": "00001", - "buyerProductIdentifier": "B07DFVDRAB", - "vendorProductIdentifier": "8806098286500", - "title": "LG 8 kg Inverter Wi-Fi Fully-Automatic Front Loading Washing Machine (FHT1408SWS, STS-VCM, Inbuilt Heater)", - "orderedQuantity": { - "amount": 1, - "unitOfMeasure": "EACH" - }, - "netPrice": { - "currencyCode": "USD", - "amount": "500" - }, - "taxDetails": { - "taxLineItem": [ - { - "taxRate": "0.1", - "taxAmount": { - "currencyCode": "USD", - "amount": "50" - }, - "type": "TOTAL" - } - ] - }, - "buyerCustomizedInfo": { - "customizedUrl": "aHR0cHM6Ly8xcC1kZi1wdWJsaWMtZGF0YS5zMy5hbWF6b25hd3MuY29tLzExMS0xMjYwNzQ1LTYyOTE0MTZfNTgzNjIxNTQwMTM1NjEuemlw" - } - }, - { - "itemSequenceNumber": "00002", - "buyerProductIdentifier": "B07DFYF5AB", - "vendorProductIdentifier": "8806098286123", - "title": "LG 6.5 kg Inverter Fully-Automatic Front Loading Washing Machine (FHT1065SNW, Blue and White, Inbuilt Heater)", - "orderedQuantity": { - "amount": 2, - "unitOfMeasure": "EACH" - }, - "netPrice": { - "currencyCode": "USD", - "amount": "700" - }, - "taxDetails": { - "taxLineItem": [ - { - "taxRate": "0.1", - "taxAmount": { - "currencyCode": "USD", - "amount": "140" - }, - "type": "TOTAL" - } - ] - } - } - ] + } } - } - }, - "headers": { - "x-amzn-RateLimit-Limit": { - "type": "string", - "description": "Your rate limit (requests per second) for this operation." - }, - "x-amzn-RequestId": { - "type": "string", - "description": "Unique request reference identifier." - } + ] } }, - "400": { - "description": "Request has missing or invalid parameters and cannot be parsed.", + "403": { + "description": "Indicates that access to the resource is forbidden. Possible reasons include Access Denied, Unauthorized, Expired Token, or Invalid Signature.", "schema": { - "$ref": "#/definitions/ErrorList" + "$ref": "#/definitions/SubmitInventoryUpdateResponse" }, "headers": { - "x-amzn-RateLimit-Limit": { - "type": "string", - "description": "Your rate limit (requests per second) for this operation." - }, "x-amzn-RequestId": { "type": "string", "description": "Unique request reference identifier." } } }, - "401": { - "description": "The request's Authorization header is not formatted correctly or does not contain a valid token.", + "404": { + "description": "The resource specified does not exist.", "schema": { - "$ref": "#/definitions/ErrorList" + "$ref": "#/definitions/SubmitInventoryUpdateResponse" }, "headers": { "x-amzn-RateLimit-Limit": { "type": "string", - "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." + "description": "Your rate limit (requests per second) for this operation." }, "x-amzn-RequestId": { "type": "string", @@ -554,27 +197,15 @@ } } }, - "403": { - "description": "Indicates that access to the resource is forbidden. Possible reasons include Access Denied, Unauthorized, Expired Token, or Invalid Signature.", - "schema": { - "$ref": "#/definitions/ErrorList" - }, - "headers": { - "x-amzn-RequestId": { - "type": "string", - "description": "Unique request reference identifier." - } - } - }, - "404": { - "description": "The resource specified does not exist.", + "413": { + "description": "The request size exceeded the maximum accepted size.", "schema": { - "$ref": "#/definitions/ErrorList" + "$ref": "#/definitions/SubmitInventoryUpdateResponse" }, "headers": { "x-amzn-RateLimit-Limit": { "type": "string", - "description": "Your rate limit (requests per second) for this operation." + "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." }, "x-amzn-RequestId": { "type": "string", @@ -585,7 +216,7 @@ "415": { "description": "The request payload is in an unsupported format.", "schema": { - "$ref": "#/definitions/ErrorList" + "$ref": "#/definitions/SubmitInventoryUpdateResponse" }, "headers": { "x-amzn-RateLimit-Limit": { @@ -601,7 +232,7 @@ "429": { "description": "The frequency of requests was greater than allowed.", "schema": { - "$ref": "#/definitions/ErrorList" + "$ref": "#/definitions/SubmitInventoryUpdateResponse" }, "headers": { "x-amzn-RateLimit-Limit": { @@ -617,7 +248,7 @@ "500": { "description": "An unexpected condition occurred that prevented the server from fulfilling the request.", "schema": { - "$ref": "#/definitions/ErrorList" + "$ref": "#/definitions/SubmitInventoryUpdateResponse" }, "headers": { "x-amzn-RateLimit-Limit": { @@ -633,7 +264,7 @@ "503": { "description": "Temporary overloading or maintenance of the server.", "schema": { - "$ref": "#/definitions/ErrorList" + "$ref": "#/definitions/SubmitInventoryUpdateResponse" }, "headers": { "x-amzn-RateLimit-Limit": { @@ -646,298 +277,71 @@ } } } + } + }, + "parameters": [] + } + }, + "definitions": { + "SubmitInventoryUpdateRequest": { + "type": "object", + "properties": { + "inventory": { + "description": "Inventory details required to update some or all items for the requested warehouse.", + "$ref": "#/definitions/InventoryUpdate" + } + }, + "description": "The request body for the submitInventoryUpdate operation." + }, + "InventoryUpdate": { + "type": "object", + "required": [ + "isFullUpdate", + "items", + "sellingParty" + ], + "properties": { + "sellingParty": { + "description": "ID of the selling party or vendor.", + "$ref": "#/definitions/PartyIdentification" + }, + "isFullUpdate": { + "type": "boolean", + "description": "When true, this request contains a full feed. Otherwise, this request contains a partial feed. When sending a full feed, you must send information about all items in the warehouse. Any items not in the full feed are updated as not available. When sending a partial feed, only include the items that need an update to inventory. The status of other items will remain unchanged." }, - "x-amzn-api-sandbox": { - "dynamic": {} + "items": { + "type": "array", + "description": "A list of inventory items with updated details, including quantity available.", + "items": { + "$ref": "#/definitions/ItemDetails" + } } } }, - "/vendor/directFulfillment/orders/2021-12-28/acknowledgements": { - "post": { - "tags": [ - "vendorOrders" - ], - "description": "Submits acknowledgements for one or more purchase orders.\n\n**Usage Plan:**\n\n| Rate (requests per second) | Burst |\n| ---- | ---- |\n| 10 | 10 |\n\nThe `x-amzn-RateLimit-Limit` response header returns the usage plan rate limits that were applied to the requested operation, when available. The table above indicates the default rate and burst values for this operation. Selling partners whose business demands require higher throughput may see higher rate and burst values then those shown here. For more information, see [Usage Plans and Rate Limits in the Selling Partner API](doc:usage-plans-and-rate-limits-in-the-sp-api).", - "operationId": "submitAcknowledgement", - "parameters": [ - { - "in": "body", - "name": "body", - "required": true, - "schema": { - "$ref": "#/definitions/SubmitAcknowledgementRequest" - } - } - ], - "responses": { - "202": { - "description": "Success.", - "schema": { - "$ref": "#/definitions/TransactionId" - }, - "headers": { - "x-amzn-RateLimit-Limit": { - "type": "string", - "description": "Your rate limit (requests per second) for this operation." - }, - "x-amzn-RequestId": { - "type": "string", - "description": "Unique request reference identifier." - } - } - }, - "400": { - "description": "Request has missing or invalid parameters and cannot be parsed.", - "schema": { - "$ref": "#/definitions/ErrorList" - }, - "headers": { - "x-amzn-RateLimit-Limit": { - "type": "string", - "description": "Your rate limit (requests per second) for this operation." - }, - "x-amzn-RequestId": { - "type": "string", - "description": "Unique request reference identifier." - } - } - }, - "403": { - "description": "Indicates that access to the resource is forbidden. Possible reasons include Access Denied, Unauthorized, Expired Token, or Invalid Signature.", - "schema": { - "$ref": "#/definitions/ErrorList" - }, - "headers": { - "x-amzn-RequestId": { - "type": "string", - "description": "Unique request reference identifier." - } - } - }, - "404": { - "description": "The resource specified does not exist.", - "schema": { - "$ref": "#/definitions/ErrorList" - }, - "headers": { - "x-amzn-RateLimit-Limit": { - "type": "string", - "description": "Your rate limit (requests per second) for this operation." - }, - "x-amzn-RequestId": { - "type": "string", - "description": "Unique request reference identifier." - } - } - }, - "413": { - "description": "The request size exceeded the maximum accepted size.", - "schema": { - "$ref": "#/definitions/ErrorList" - }, - "headers": { - "x-amzn-RateLimit-Limit": { - "type": "string", - "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." - }, - "x-amzn-RequestId": { - "type": "string", - "description": "Unique request reference identifier." - } - } - }, - "415": { - "description": "The request payload is in an unsupported format.", - "schema": { - "$ref": "#/definitions/ErrorList" - }, - "headers": { - "x-amzn-RateLimit-Limit": { - "type": "string", - "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." - }, - "x-amzn-RequestId": { - "type": "string", - "description": "Unique request reference identifier." - } - } - }, - "429": { - "description": "The frequency of requests was greater than allowed.", - "schema": { - "$ref": "#/definitions/ErrorList" - }, - "headers": { - "x-amzn-RateLimit-Limit": { - "type": "string", - "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." - }, - "x-amzn-RequestId": { - "type": "string", - "description": "Unique request reference identifier." - } - } - }, - "500": { - "description": "An unexpected condition occurred that prevented the server from fulfilling the request.", - "schema": { - "$ref": "#/definitions/ErrorList" - }, - "headers": { - "x-amzn-RateLimit-Limit": { - "type": "string", - "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." - }, - "x-amzn-RequestId": { - "type": "string", - "description": "Unique request reference identifier." - } - } - }, - "503": { - "description": "Temporary overloading or maintenance of the server.", - "schema": { - "$ref": "#/definitions/ErrorList" - }, - "headers": { - "x-amzn-RateLimit-Limit": { - "type": "string", - "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." - }, - "x-amzn-RequestId": { - "type": "string", - "description": "Unique request reference identifier." - } - } - } - }, - "x-amzn-api-sandbox": { - "dynamic": {} - } - } - } - }, - "definitions": { - "OrderList": { - "type": "object", - "properties": { - "pagination": { - "$ref": "#/definitions/Pagination" - }, - "orders": { - "type": "array", - "items": { - "$ref": "#/definitions/Order" - } - } - } - }, - "Pagination": { - "type": "object", - "properties": { - "nextToken": { - "type": "string", - "description": "A generated string used to pass information to your next request. If NextToken is returned, pass the value of NextToken to the next request. If NextToken is not returned, there are no more order items to return." - } - } - }, - "Order": { - "type": "object", - "required": [ - "purchaseOrderNumber" - ], - "properties": { - "purchaseOrderNumber": { - "type": "string", - "description": "The purchase order number for this order. Formatting Notes: alpha-numeric code." - }, - "orderDetails": { - "description": "Purchase order details.", - "$ref": "#/definitions/OrderDetails" - } - } - }, - "OrderDetails": { + "ItemDetails": { "type": "object", "required": [ - "billToParty", - "customerOrderNumber", - "items", - "orderDate", - "sellingParty", - "shipFromParty", - "shipToParty", - "shipmentDetails" + "availableQuantity" ], "properties": { - "customerOrderNumber": { - "type": "string", - "description": "The customer order number." - }, - "orderDate": { + "buyerProductIdentifier": { "type": "string", - "format": "date-time", - "description": "The date the order was placed. This field is expected to be in ISO-8601 date/time format, for example:2018-07-16T23:00:00Z/ 2018-07-16T23:00:00-05:00 /2018-07-16T23:00:00-08:00. If no time zone is specified, UTC should be assumed." + "description": "The buyer selected product identification of the item. Either buyerProductIdentifier or vendorProductIdentifier should be submitted." }, - "orderStatus": { + "vendorProductIdentifier": { "type": "string", - "description": "Current status of the order.", - "enum": [ - "NEW", - "SHIPPED", - "ACCEPTED", - "CANCELLED" - ], - "x-docgen-enum-table-extension": [ - { - "value": "NEW", - "description": "Status for newly created orders." - }, - { - "value": "SHIPPED", - "description": "Status for orders that are already shipped." - }, - { - "value": "ACCEPTED", - "description": "Status for orders accepted by vendors." - }, - { - "value": "CANCELLED", - "description": "Status for cancelled orders." - } - ] - }, - "shipmentDetails": { - "$ref": "#/definitions/ShipmentDetails" + "description": "The vendor selected product identification of the item. Either buyerProductIdentifier or vendorProductIdentifier should be submitted." }, - "taxTotal": { - "$ref": "#/definitions/TaxItemDetails" - }, - "sellingParty": { - "description": "PartyID of vendor code.", - "$ref": "#/definitions/PartyIdentification" - }, - "shipFromParty": { - "description": "PartyID of vendor's warehouse.", - "$ref": "#/definitions/PartyIdentification" - }, - "shipToParty": { - "description": "Name/Address and tax details of the ship to party.", - "$ref": "#/definitions/Address" - }, - "billToParty": { - "description": "Name/Address and tax details of the bill to party.", - "$ref": "#/definitions/PartyIdentification" + "availableQuantity": { + "description": "Total item quantity available in the warehouse.", + "$ref": "#/definitions/ItemQuantity" }, - "items": { - "type": "array", - "description": "A list of items in this purchase order.", - "items": { - "$ref": "#/definitions/OrderItem" - } + "isObsolete": { + "type": "boolean", + "description": "When true, the item is permanently unavailable." } }, - "description": "Details of an order." + "description": "Updated inventory details for an item." }, "PartyIdentification": { "type": "object", @@ -947,423 +351,56 @@ "properties": { "partyId": { "type": "string", - "description": "Assigned identification for the party. For example, warehouse code or vendor code. Please refer to specific party for more details." - }, - "address": { - "description": "Address details of the party.", - "$ref": "#/definitions/Address" - }, - "taxInfo": { - "description": "Tax registration details of the entity.", - "$ref": "#/definitions/TaxRegistrationDetails" + "description": "Assigned identification for the party." } } }, - "TaxRegistrationDetails": { - "type": "object", - "required": [ - "taxRegistrationNumber" - ], - "properties": { - "taxRegistrationType": { - "type": "string", - "description": "Tax registration type for the entity.", - "enum": [ - "VAT", - "GST" - ], - "x-docgen-enum-table-extension": [ - { - "value": "VAT", - "description": "Value-added tax." - }, - { - "value": "GST", - "description": "Goods and Services tax." - } - ] - }, - "taxRegistrationNumber": { - "type": "string", - "description": "Tax registration number for the party. For example, VAT ID." - }, - "taxRegistrationAddress": { - "description": "Address associated with the tax registration number.", - "$ref": "#/definitions/Address" - }, - "taxRegistrationMessages": { - "type": "string", - "description": "Tax registration message that can be used for additional tax related details." - } - }, - "description": "Tax registration details of the entity." - }, - "Address": { - "type": "object", - "required": [ - "addressLine1", - "countryCode", - "name", - "stateOrRegion" - ], - "properties": { - "name": { - "type": "string", - "description": "The name of the person, business or institution at that address. For Amazon label only vendors, this field will have the value `xxxxx` within the object `shipToParty`." - }, - "attention": { - "type": "string", - "description": "The attention name of the person at that address. For Amazon label only vendors, this field will have the value `xxxxx` within the object `shipToParty`." - }, - "addressLine1": { - "type": "string", - "description": "First line of the address. For Amazon label only vendors, this field will have the value `xxxxx` within the object `shipToParty`." - }, - "addressLine2": { - "type": "string", - "description": "Additional address information, if required. For Amazon label only vendors, this field will have the value `xxxxx` within the object `shipToParty`." - }, - "addressLine3": { - "type": "string", - "description": "Additional address information, if required. For Amazon label only vendors, this field will have the value `xxxxx` within the object `shipToParty`." - }, - "city": { - "type": "string", - "description": "The city where the person, business or institution is located. For Amazon label only vendors, this field will have the value `xxxxx` within the object `shipToParty`." - }, - "county": { - "type": "string", - "description": "The county where person, business or institution is located. For Amazon label only vendors, this field will have the value `xxxxx` within the object `shipToParty`." - }, - "district": { - "type": "string", - "description": "The district where person, business or institution is located. For Amazon label only vendors, this field will have the value `xxxxx` within the object `shipToParty`." - }, - "stateOrRegion": { - "type": "string", - "description": "The state or region where person, business or institution is located." - }, - "postalCode": { - "type": "string", - "description": "The postal code of that address. It conatins a series of letters or digits or both, sometimes including spaces or punctuation." - }, - "countryCode": { - "type": "string", - "description": "The two digit country code. In ISO 3166-1 alpha-2 format." - }, - "phone": { - "type": "string", - "description": "The phone number of the person, business or institution located at that address. For Amazon label only vendors, this field will have the value `xxxxx` within the object `shipToParty`." - } - }, - "description": "Address of the party." - }, - "OrderItem": { + "ItemQuantity": { "type": "object", "required": [ - "itemSequenceNumber", - "netPrice", - "orderedQuantity" + "unitOfMeasure" ], "properties": { - "itemSequenceNumber": { - "type": "string", - "description": "Numbering of the item on the purchase order. The first item will be 1, the second 2, and so on." - }, - "buyerProductIdentifier": { - "type": "string", - "description": "Buyer's standard identification number (ASIN) of an item." - }, - "vendorProductIdentifier": { - "type": "string", - "description": "The vendor selected product identification of the item." - }, - "title": { - "type": "string", - "description": "Title for the item." - }, - "orderedQuantity": { - "description": "Item quantity ordered.", - "$ref": "#/definitions/ItemQuantity" - }, - "scheduledDeliveryShipment": { - "description": "Details for the scheduled delivery shipment.", - "$ref": "#/definitions/ScheduledDeliveryShipment" - }, - "giftDetails": { - "description": "Gift message and wrapId details.", - "$ref": "#/definitions/GiftDetails" - }, - "netPrice": { - "description": "Net price (before tax) to vendor with currency details.", - "$ref": "#/definitions/Money" - }, - "taxDetails": { - "description": "Total tax details for the line item.", - "$ref": "#/definitions/TaxItemDetails" - }, - "totalPrice": { - "description": "The price to Amazon each (cost).", - "$ref": "#/definitions/Money" + "amount": { + "type": "integer", + "description": "Quantity of units available for a specific item." }, - "buyerCustomizedInfo": { - "description": "The buyer information for products the vendor has configured as customizable, specifying the types of customizations or configurations along with types and ranges for their product. This provides the ability for buyers to customize multiple aspects of the products according to what the vendor allows.", - "$ref": "#/definitions/buyerCustomizedInfoDetail" - } - } - }, - "Money": { - "type": "object", - "properties": { - "currencyCode": { + "unitOfMeasure": { "type": "string", - "description": "Three digit currency code in ISO 4217 format. String of length 3." - }, - "amount": { - "$ref": "#/definitions/Decimal" + "description": "Unit of measure for the available quantity." } }, - "description": "An amount of money, including units in the form of currency." - }, - "buyerCustomizedInfoDetail": { - "type": "object", - "properties": { - "customizedUrl": { - "type": "string", - "description": "A [Base 64](https://datatracker.ietf.org/doc/html/rfc4648#section-4) encoded URL using the UTF-8 character set. The URL provides the location of the zip file that specifies the types of customizations or configurations allowed by the vendor, along with types and ranges for the attributes of their products." - } - } - }, - "Decimal": { - "type": "string", - "description": "A decimal number with no loss of precision. Useful when precision loss is unacceptable, as with currencies. Follows RFC7159 for number representation." + "description": "Details of item quantity." }, - "SubmitAcknowledgementResponse": { + "SubmitInventoryUpdateResponse": { "type": "object", "properties": { "payload": { - "description": "The payload for the submitAcknowledgement operation.", - "$ref": "#/definitions/TransactionId" + "description": "The response payload for the submitInventoryUpdate operation.", + "$ref": "#/definitions/TransactionReference" }, "errors": { "$ref": "#/definitions/ErrorList" } }, - "description": "The response schema for the submitAcknowledgement operation." + "description": "The response schema for the submitInventoryUpdate operation." }, - "TransactionId": { + "TransactionReference": { "type": "object", "properties": { "transactionId": { "type": "string", - "description": "GUID assigned by Amazon to identify this transaction. This value can be used with the Transaction Status API to return the status of this transaction." + "description": "GUID to identify this transaction. This value can be used with the Transaction Status API to return the status of this transaction." } } }, "ErrorList": { - "type": "object", - "description": "A list of error responses returned when a request is unsuccessful.", - "required": [ - "errors" - ], - "properties": { - "errors": { - "type": "array", - "items": { - "$ref": "#/definitions/Error" - } - } - } - }, - "SubmitAcknowledgementRequest": { - "type": "object", - "properties": { - "orderAcknowledgements": { - "type": "array", - "description": "A list of one or more purchase orders.", - "items": { - "$ref": "#/definitions/OrderAcknowledgementItem" - } - } - }, - "description": "The request schema for the submitAcknowledgement operation." - }, - "OrderAcknowledgementItem": { - "type": "object", - "required": [ - "acknowledgementDate", - "acknowledgementStatus", - "itemAcknowledgements", - "purchaseOrderNumber", - "sellingParty", - "shipFromParty", - "vendorOrderNumber" - ], - "properties": { - "purchaseOrderNumber": { - "type": "string", - "description": "The purchase order number for this order. Formatting Notes: alpha-numeric code." - }, - "vendorOrderNumber": { - "type": "string", - "description": "The vendor's order number for this order." - }, - "acknowledgementDate": { - "type": "string", - "format": "date-time", - "description": "The date and time when the order is acknowledged, in ISO-8601 date/time format. For example: 2018-07-16T23:00:00Z / 2018-07-16T23:00:00-05:00 / 2018-07-16T23:00:00-08:00." - }, - "acknowledgementStatus": { - "description": "Status of acknowledgement.", - "$ref": "#/definitions/AcknowledgementStatus" - }, - "sellingParty": { - "description": "PartyID as vendor code.", - "$ref": "#/definitions/PartyIdentification" - }, - "shipFromParty": { - "description": "PartyID as the vendor's warehouseId.", - "$ref": "#/definitions/PartyIdentification" - }, - "itemAcknowledgements": { - "type": "array", - "description": "Item details including acknowledged quantity.", - "items": { - "$ref": "#/definitions/OrderItemAcknowledgement" - } - } - }, - "description": "Details of an individual order being acknowledged." - }, - "OrderItemAcknowledgement": { - "type": "object", - "required": [ - "acknowledgedQuantity", - "itemSequenceNumber" - ], - "properties": { - "itemSequenceNumber": { - "type": "string", - "description": "Line item sequence number for the item." - }, - "buyerProductIdentifier": { - "type": "string", - "description": "Buyer's standard identification number (ASIN) of an item." - }, - "vendorProductIdentifier": { - "type": "string", - "description": "The vendor selected product identification of the item. Should be the same as was provided in the purchase order." - }, - "acknowledgedQuantity": { - "description": "Details of quantity acknowledged with the above acknowledgement code.", - "$ref": "#/definitions/ItemQuantity" - } - } - }, - "ItemQuantity": { - "type": "object", - "properties": { - "amount": { - "type": "integer", - "description": "Acknowledged quantity. This value should not be zero." - }, - "unitOfMeasure": { - "type": "string", - "description": "Unit of measure for the acknowledged quantity.", - "enum": [ - "Each" - ], - "x-docgen-enum-table-extension": [ - { - "value": "Each", - "description": "Unit of measure to represent individual piece." - } - ] - } - }, - "description": "Details of quantity ordered." - }, - "TaxLineItem": { "type": "array", - "description": "A list of tax line items.", + "description": "A list of error responses returned when a request is unsuccessful.", "items": { - "$ref": "#/definitions/TaxDetails" - } - }, - "TaxDetails": { - "type": "object", - "required": [ - "taxAmount" - ], - "properties": { - "taxRate": { - "$ref": "#/definitions/Decimal" - }, - "taxAmount": { - "$ref": "#/definitions/Money" - }, - "taxableAmount": { - "$ref": "#/definitions/Money" - }, - "type": { - "type": "string", - "description": "Tax type.", - "enum": [ - "CONSUMPTION", - "GST", - "MwSt.", - "PST", - "TOTAL", - "TVA", - "VAT" - ], - "x-docgen-enum-table-extension": [ - { - "value": "CONSUMPTION", - "description": "Tax levied on consumption spending on goods and services." - }, - { - "value": "GST", - "description": "Tax levied on most goods and services sold for domestic consumption." - }, - { - "value": "MwSt.", - "description": "Mehrwertsteuer, MwSt, is German for value-added tax." - }, - { - "value": "PST", - "description": "A provincial sales tax (PST) is imposed on consumers of goods and particular services in many Canadian provinces." - }, - { - "value": "TOTAL", - "description": "Combined total of all the applicable taxes." - }, - { - "value": "TVA", - "description": "Taxe sur la Valeur Ajoutée (TVA) is French for value-added tax." - }, - { - "value": "VAT", - "description": "Value-added tax." - } - ] - } + "$ref": "#/definitions/Error" } }, - "AcknowledgementStatus": { - "type": "object", - "properties": { - "code": { - "type": "string", - "description": "Acknowledgement code is a unique two digit value which indicates the status of the acknowledgement. For a list of acknowledgement codes that Amazon supports, see the Vendor Direct Fulfillment APIs Use Case Guide." - }, - "description": { - "type": "string", - "description": "Reason for the acknowledgement code." - } - }, - "description": "Status of acknowledgement." - }, "Error": { "type": "object", "required": [ @@ -1385,109 +422,6 @@ } }, "description": "Error response returned when the request is unsuccessful." - }, - "ShipmentDetails": { - "type": "object", - "required": [ - "isPriorityShipment", - "isPslipRequired", - "messageToCustomer", - "shipMethod", - "shipmentDates" - ], - "properties": { - "isPriorityShipment": { - "type": "boolean", - "description": "When true, this is a priority shipment." - }, - "isScheduledDeliveryShipment": { - "type": "boolean", - "description": "When true, this order is part of a scheduled delivery program." - }, - "isPslipRequired": { - "type": "boolean", - "description": "When true, a packing slip is required to be sent to the customer." - }, - "isGift": { - "type": "boolean", - "description": "When true, the order contain a gift. Include the gift message and gift wrap information." - }, - "shipMethod": { - "type": "string", - "description": "Ship method to be used for shipping the order. Amazon defines ship method codes indicating the shipping carrier and shipment service level. To see the full list of ship methods in use, including both the code and the friendly name, search the 'Help' section on Vendor Central for 'ship methods'." - }, - "shipmentDates": { - "$ref": "#/definitions/ShipmentDates" - }, - "messageToCustomer": { - "type": "string", - "description": "Message to customer for order status." - } - }, - "description": "Shipment details required for the shipment." - }, - "ShipmentDates": { - "type": "object", - "required": [ - "requiredShipDate" - ], - "properties": { - "requiredShipDate": { - "type": "string", - "format": "date-time", - "description": "Time by which the vendor is required to ship the order." - }, - "promisedDeliveryDate": { - "type": "string", - "format": "date-time", - "description": "Delivery date promised to the Amazon customer." - } - }, - "description": "Shipment dates." - }, - "ScheduledDeliveryShipment": { - "type": "object", - "properties": { - "scheduledDeliveryServiceType": { - "type": "string", - "description": "Scheduled delivery service type." - }, - "earliestNominatedDeliveryDate": { - "type": "string", - "format": "date-time", - "description": "Earliest nominated delivery date for the scheduled delivery." - }, - "latestNominatedDeliveryDate": { - "type": "string", - "format": "date-time", - "description": "Latest nominated delivery date for the scheduled delivery." - } - }, - "description": "Dates for the scheduled delivery shipments." - }, - "GiftDetails": { - "type": "object", - "properties": { - "giftMessage": { - "type": "string", - "description": "Gift message to be printed in shipment." - }, - "giftWrapId": { - "type": "string", - "description": "Gift wrap identifier for the gift wrapping, if any." - } - }, - "description": "Gift details for the item." - }, - "TaxItemDetails": { - "type": "object", - "description": "Total tax details for the line item.", - "properties": { - "taxLineItem": { - "description": "Tax details.", - "$ref": "#/definitions/TaxLineItem" - } - } } } -} \ No newline at end of file +} From 7e0e91eee27d586dd5b4a3f00aff057de062d4f8 Mon Sep 17 00:00:00 2001 From: Jack Evoniuk Date: Wed, 13 Dec 2023 13:36:25 -0800 Subject: [PATCH 109/340] Update Listings Items 2021 model --- .../listingsItems_2021-08-01.json | 311 +----------------- 1 file changed, 7 insertions(+), 304 deletions(-) diff --git a/models/listings-items-api-model/listingsItems_2021-08-01.json b/models/listings-items-api-model/listingsItems_2021-08-01.json index 917f6dc08..c1de701fd 100644 --- a/models/listings-items-api-model/listingsItems_2021-08-01.json +++ b/models/listings-items-api-model/listingsItems_2021-08-01.json @@ -230,7 +230,7 @@ "tags": [ "listings" ], - "description": "Returns details about a listings item for a selling partner.\n\n**Note:** The parameters associated with this operation may contain special characters that must be encoded to successfully call the API. To avoid errors with SKUs when encoding URLs, refer to [URL Encoding](https://developer-docs.amazon.com/sp-api/docs/url-encoding).\n\n**Usage Plan:**\n\n| Rate (requests per second) | Burst |\n| ---- | ---- |\n| 5 | 10 |\n\nThe `x-amzn-RateLimit-Limit` response header returns the usage plan rate limits that were applied to the requested operation, when available. The table above indicates the default rate and burst values for this operation. Selling partners whose business demands require higher throughput may see higher rate and burst values than those shown here. For more information, see [Usage Plans and Rate Limits in the Selling Partner API](https://developer-docs.amazon.com/sp-api/docs/usage-plans-and-rate-limits-in-the-sp-api).", + "description": "Returns details about a listings item for a selling partner.\n\n**Note:** This operation has a throttling rate of one request per second when `mode` is `VALIDATION_PREVIEW`.\n\n**Note:** The parameters associated with this operation may contain special characters that must be encoded to successfully call the API. To avoid errors with SKUs when encoding URLs, refer to [URL Encoding](https://developer-docs.amazon.com/sp-api/docs/url-encoding).\n\n**Usage Plan:**\n\n| Rate (requests per second) | Burst |\n| ---- | ---- |\n| 5 | 10 |\n\nThe `x-amzn-RateLimit-Limit` response header returns the usage plan rate limits that were applied to the requested operation, when available. The table above indicates the default rate and burst values for this operation. Selling partners whose business demands require higher throughput may see higher rate and burst values than those shown here. For more information, see [Usage Plans and Rate Limits in the Selling Partner API](https://developer-docs.amazon.com/sp-api/docs/usage-plans-and-rate-limits-in-the-sp-api).", "operationId": "getListingsItem", "consumes": [ "application/json" @@ -318,7 +318,7 @@ }, "collectionFormat": "csv", "x-example": "summaries", - "default": ["summaries"] + "default": "summaries" } ], "responses": { @@ -708,7 +708,7 @@ "tags": [ "listings" ], - "description": "Partially update (patch) a listings item for a selling partner. Only top-level listings item attributes can be patched. Patching nested attributes is not supported.\n\n**Note:** This operation has a throttling rate of one request per second when `mode` is `VALIDATION_PREVIEW`.\n\n**Note:** The parameters associated with this operation may contain special characters that must be encoded to successfully call the API. To avoid errors with SKUs when encoding URLs, refer to [URL Encoding](https://developer-docs.amazon.com/sp-api/docs/url-encoding).\n\n**Usage Plan:**\n\n| Rate (requests per second) | Burst |\n| ---- | ---- |\n| 5 | 10 |\n\nThe `x-amzn-RateLimit-Limit` response header returns the usage plan rate limits that were applied to the requested operation, when available. The table above indicates the default rate and burst values for this operation. Selling partners whose business demands require higher throughput may see higher rate and burst values than those shown here. For more information, see [Usage Plans and Rate Limits in the Selling Partner API](https://developer-docs.amazon.com/sp-api/docs/usage-plans-and-rate-limits-in-the-sp-api).", + "description": "Partially update (patch) a listings item for a selling partner. Only top-level listings item attributes can be patched. Patching nested attributes is not supported.\n\n**Note:** The parameters associated with this operation may contain special characters that must be encoded to successfully call the API. To avoid errors with SKUs when encoding URLs, refer to [URL Encoding](https://developer-docs.amazon.com/sp-api/docs/url-encoding).\n\n**Usage Plan:**\n\n| Rate (requests per second) | Burst |\n| ---- | ---- |\n| 5 | 10 |\n\nThe `x-amzn-RateLimit-Limit` response header returns the usage plan rate limits that were applied to the requested operation, when available. The table above indicates the default rate and burst values for this operation. Selling partners whose business demands require higher throughput may see higher rate and burst values than those shown here. For more information, see [Usage Plans and Rate Limits in the Selling Partner API](https://developer-docs.amazon.com/sp-api/docs/usage-plans-and-rate-limits-in-the-sp-api).", "operationId": "patchListingsItem", "consumes": [ "application/json" @@ -743,50 +743,6 @@ "collectionFormat": "csv", "x-example": "ATVPDKIKX0DER" }, - { - "name": "includedData", - "description": "A comma-delimited list of data sets to include in the response. Default: `issues`.", - "in": "query", - "required": false, - "type": "array", - "items": { - "enum": [ - "identifiers", - "issues" - ], - "x-docgen-enum-table-extension": [ - { - "value": "identifiers", - "description": "Identifiers associated with the item in the Amazon catalog, such as Amazon Standard Identification Number (ASIN). Can only be requested when `mode` is `VALIDATION_PREVIEW`." - }, - { - "value": "issues", - "description": "The issues associated with the listing item." - } - ], - "type": "string" - }, - "collectionFormat": "csv", - "x-example": "issues", - "default": ["issues"] - }, - { - "name": "mode", - "description": "The mode of operation for the request.", - "in": "query", - "enum": [ - "VALIDATION_PREVIEW" - ], - "x-docgen-enum-table-extension": [ - { - "value": "VALIDATION_PREVIEW", - "description": "Indicates the submitted data should be validated without persisting to the selling partner's catalog." - } - ], - "required": false, - "type": "string", - "x-example": "VALIDATION_PREVIEW" - }, { "name": "issueLocale", "description": "A locale for localization of issues. When not provided, the default language code of the first marketplace is used. Examples: `en_US`, `fr_CA`, `fr_FR`. Localized messages default to `en_US` when a localization is not available in the specified locale.", @@ -844,91 +800,6 @@ "submissionId": "f1dc2914-75dd-11ea-bc55-0242ac130003", "issues": [] } - }, - { - "request": { - "parameters": { - "sku": { - "value": "VALIDATION_VALID" - }, - "marketplaceIds": { - "value": [ - "ATVPDKIKX0DER" - ] - }, - "includedData": { - "value": [ - "identifiers", - "issues" - ] - }, - "mode": { - "value": "VALIDATION_PREVIEW" - } - } - }, - "response": { - "sku": "VALIDATION_VALID", - "status": "VALID", - "submissionId": "1edc94ea-a3d7-210b-42bc-0ec72c1384762", - "identifiers": [ - { - "marketplaceId": "ATVPDKIKX0DER", - "asin": "B07N4M94X4" - } - ], - "issues": [] - } - }, - { - "request": { - "parameters": { - "sku": { - "value": "VALIDATION_INVALID" - }, - "marketplaceIds": { - "value": [ - "ATVPDKIKX0DER" - ] - }, - "includedData": { - "value": [ - "identifiers", - "issues" - ] - }, - "mode": { - "value": "VALIDATION_PREVIEW" - } - } - }, - "response": { - "sku": "VALIDATION_INVALID", - "status": "INVALID", - "submissionId": "a1c562c2-1695-11ee-be56-0242ac120002", - "identifiers": [], - "issues": [ - { - "code":"90000900", - "message":"The attributes are invalid.", - "severity":"ERROR", - "attributeNames": [ - "fake_attribute" - ], - "categories": ["INVALID_ATTRIBUTE"], - "enforcements": { - "actions": [ - { - "action": "ATTRIBUTE_SUPPRESSED" - } - ], - "exemption": { - "status": "NOT_EXEMPT" - } - } - } - ] - } } ] } @@ -1049,7 +920,7 @@ "tags": [ "listings" ], - "description": "Creates or fully updates an existing listings item for a selling partner.\n\n**Note:** This operation has a throttling rate of one request per second when `mode` is `VALIDATION_PREVIEW`.\n\n**Note:** The parameters associated with this operation may contain special characters that must be encoded to successfully call the API. To avoid errors with SKUs when encoding URLs, refer to [URL Encoding](https://developer-docs.amazon.com/sp-api/docs/url-encoding).\n\n**Usage Plan:**\n\n| Rate (requests per second) | Burst |\n| ---- | ---- |\n| 5 | 10 |\n\nThe `x-amzn-RateLimit-Limit` response header returns the usage plan rate limits that were applied to the requested operation, when available. The table above indicates the default rate and burst values for this operation. Selling partners whose business demands require higher throughput may see higher rate and burst values than those shown here. For more information, see [Usage Plans and Rate Limits in the Selling Partner API](https://developer-docs.amazon.com/sp-api/docs/usage-plans-and-rate-limits-in-the-sp-api).", + "description": "Creates or fully updates an existing listings item for a selling partner.\n\n**Note:** The parameters associated with this operation may contain special characters that must be encoded to successfully call the API. To avoid errors with SKUs when encoding URLs, refer to [URL Encoding](https://developer-docs.amazon.com/sp-api/docs/url-encoding).\n\n**Usage Plan:**\n\n| Rate (requests per second) | Burst |\n| ---- | ---- |\n| 5 | 10 |\n\nThe `x-amzn-RateLimit-Limit` response header returns the usage plan rate limits that were applied to the requested operation, when available. The table above indicates the default rate and burst values for this operation. Selling partners whose business demands require higher throughput may see higher rate and burst values than those shown here. For more information, see [Usage Plans and Rate Limits in the Selling Partner API](https://developer-docs.amazon.com/sp-api/docs/usage-plans-and-rate-limits-in-the-sp-api).", "operationId": "putListingsItem", "consumes": [ "application/json" @@ -1084,50 +955,6 @@ "collectionFormat": "csv", "x-example": "ATVPDKIKX0DER" }, - { - "name": "includedData", - "description": "A comma-delimited list of data sets to include in the response. Default: `issues`.", - "in": "query", - "required": false, - "type": "array", - "items": { - "enum": [ - "identifiers", - "issues" - ], - "x-docgen-enum-table-extension": [ - { - "value": "identifiers", - "description": "Identifiers associated with the item in the Amazon catalog, such as Amazon Standard Identification Number (ASIN). Can only be requested when `mode` is `VALIDATION_PREVIEW`." - }, - { - "value": "issues", - "description": "The issues associated with the listing item." - } - ], - "type": "string" - }, - "collectionFormat": "csv", - "x-example": "issues", - "default": ["issues"] - }, - { - "name": "mode", - "description": "The mode of operation for the request.", - "in": "query", - "enum": [ - "VALIDATION_PREVIEW" - ], - "x-docgen-enum-table-extension": [ - { - "value": "VALIDATION_PREVIEW", - "description": "Indicates the submitted data should be validated without persisting to the selling partner's catalog." - } - ], - "required": false, - "type": "string", - "x-example": "VALIDATION_PREVIEW" - }, { "name": "issueLocale", "description": "A locale for localization of issues. When not provided, the default language code of the first marketplace is used. Examples: `en_US`, `fr_CA`, `fr_FR`. Localized messages default to `en_US` when a localization is not available in the specified locale.", @@ -1185,100 +1012,6 @@ "submissionId": "f1dc2914-75dd-11ea-bc55-0242ac130003", "issues": [] } - }, - { - "request": { - "parameters": { - "sku": { - "value": "VALIDATION_VALID" - }, - "marketplaceIds": { - "value": [ - "ATVPDKIKX0DER" - ] - }, - "includedData": { - "value": [ - "identifiers", - "issues" - ] - }, - "mode": { - "value": "VALIDATION_PREVIEW" - } - } - }, - "response": { - "sku": "VALIDATION_VALID", - "status": "VALID", - "submissionId": "1edc94ea-a3d7-210b-42bc-0ec72c1384762", - "identifiers": [ - { - "marketplaceId": "ATVPDKIKX0DER", - "asin": "B07N4M94X4" - } - ], - "issues": [] - } - }, - { - "request": { - "parameters": { - "sku": { - "value": "VALIDATION_INVALID" - }, - "marketplaceIds": { - "value": [ - "ATVPDKIKX0DER" - ] - }, - "includedData": { - "value": [ - "identifiers", - "issues" - ] - }, - "mode": { - "value": "VALIDATION_PREVIEW" - } - } - }, - "response": { - "sku": "VALIDATION_INVALID", - "status": "INVALID", - "submissionId": "a1c562c2-1695-11ee-be56-0242ac120002", - "identifiers": [], - "issues": [ - { - "code":"90220", - "message":"'condition_type' is required but not supplied.", - "severity":"ERROR", - "attributeNames": [ - "condition_type" - ], - "categories": ["MISSING_ATTRIBUTE"], - "enforcements": { - "actions": [ - { - "action": "LISTING_SUPPRESSED" - } - ], - "exemption": { - "status": "NOT_EXEMPT" - } - } - }, - { - "code":"90000900", - "message":"The attributes are invalid.", - "severity":"ERROR", - "attributeNames": [ - "fake_attribute" - ], - "categories": [] - } - ] - } } ] } @@ -1701,7 +1434,7 @@ } }, "categories": { - "description": "List of issue categories. \n\nPossible vales: \n\n* `INVALID_ATTRIBUTE` - Indicating an invalid attribute in the listing. \n\n* `MISSING_ATTRIBUTE` - Highlighting a missing attribute in the listing. \n\n* `INVALID_IMAGE` - Signifying an invalid image in the listing. \n\n* `MISSING_IMAGE` - Noting the absence of an image in the listing. \n\n* `INVALID_PRICE` - Pertaining to issues with the listing's price-related attributes. \n\n* `MISSING_PRICE` - Pointing out the absence of a price attribute in the listing. \n\n* `DUPLICATE` - Identifying listings with potential duplicate problems, such as this ASIN potentially being a duplicate of another ASIN. \n\n* `QUALIFICATION_REQUIRED` - Indicating that the listing requires qualification-related approval.", + "description": "List of issue categories. \n\nPossible vales: \n\n* `INVALID_ATTRIBUTE` - Indicating an invalid attribute in the listing. \n\n* `MISSING_ATTRIBUTE` - Highlighting a missing attribute in the listing. \n\n* `INVALID_IMAGE` - Signifying an invalid image in the listing. \n\n* `MISSING_IMAGE` - Noting the absence of an image in the listing. \n\n* `INVALID_PRICE` - Pertaining to issues with the listing`s price-related attributes. \n\n* `MISSING_PRICE` - Pointing out the absence of a price attribute in the listing. \n\n* `DUPLICATE` - Identifying listings with potential duplicate problems, such as this ASIN potentially being a duplicate of another ASIN. \n\n* `QUALIFICATION_REQUIRED` - Indicating that the listing requires qualification-related approval.", "type": "array", "items": { "type": "string" @@ -1747,7 +1480,7 @@ "type": "object", "properties": { "action":{ - "description": "The enforcement action name. \n\nPossible values: \n\n* `LISTING_SUPPRESSED` - This enforcement takes down the current listing item's buyability. \n\n* `ATTRIBUTE_SUPPRESSED` - An attribute's value on the listing item is invalid, which causes it to be rejected by Amazon. \n\n* `CATALOG_ITEM_REMOVED` - This catalog item is inactive on Amazon, and all offers against it in the applicable marketplace are non-buyable. \n\n* `SEARCH_SUPPRESSED` - This value indicates that the catalog item is hidden from search results.", + "description": "The enforcement action name. \n\nPossible values: \n\n* `LISTING_SUPPRESSED` - This enforcement takes down the current listing item`s buyability. \n\n* `ATTRIBUTE_SUPPRESSED` - An attribute`s value on the listing item is invalid, which causes it to be rejected by Amazon. \n\n* `CATALOG_ITEM_REMOVED` - This catalog item is inactive on Amazon, and all offers against it in the applicable marketplace are non-buyable. \n\n* `SEARCH_SUPPRESSED` - This value indicates that the catalog item is hidden from search results.", "type": "string", "example": "LISTING_SUPPRESSED" } @@ -2026,8 +1759,7 @@ "description": "The status of the listings item submission.", "enum": [ "ACCEPTED", - "INVALID", - "VALID" + "INVALID" ], "x-docgen-enum-table-extension": [ { @@ -2037,10 +1769,6 @@ { "value": "INVALID", "description": "The listings submission was not valid and was not accepted for processing." - }, - { - "value": "VALID", - "description": "The listings submission was valid. Only returned when the `mode` is `VALIDATION_PREVIEW`." } ], "type": "string" @@ -2055,10 +1783,6 @@ "items": { "$ref": "#/definitions/Issue" } - }, - "identifiers": { - "description": "Identity attributes associated with the item in the Amazon catalog, such as the ASIN.", - "$ref": "#/definitions/ItemIdentifiers" } }, "required": [ @@ -2067,27 +1791,6 @@ "submissionId" ], "type": "object" - }, - "ItemIdentifiers": { - "description": "Identity attributes associated with the item in the Amazon catalog, such as the ASIN.", - "items": { - "$ref": "#/definitions/ItemIdentifiersByMarketplace" - }, - "type": "array" - }, - "ItemIdentifiersByMarketplace": { - "description": "Identity attributes associated with the item in the Amazon catalog for the indicated Amazon marketplace.", - "properties": { - "marketplaceId": { - "description": "A marketplace identifier. Identifies the Amazon marketplace for the listings item.", - "type": "string" - }, - "asin": { - "description": "Amazon Standard Identification Number (ASIN) of the listings item.", - "type": "string" - } - }, - "type": "object" } } } \ No newline at end of file From 4aa4ddcd4ed743ee8206715aedef1070aaebaf46 Mon Sep 17 00:00:00 2001 From: Jack Evoniuk Date: Tue, 2 Jan 2024 14:47:36 -0800 Subject: [PATCH 110/340] Update Listings Items model --- models/listings-items-api-model/listingsItems_2021-08-01.json | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/models/listings-items-api-model/listingsItems_2021-08-01.json b/models/listings-items-api-model/listingsItems_2021-08-01.json index c1de701fd..44cbcbfe2 100644 --- a/models/listings-items-api-model/listingsItems_2021-08-01.json +++ b/models/listings-items-api-model/listingsItems_2021-08-01.json @@ -1434,7 +1434,7 @@ } }, "categories": { - "description": "List of issue categories. \n\nPossible vales: \n\n* `INVALID_ATTRIBUTE` - Indicating an invalid attribute in the listing. \n\n* `MISSING_ATTRIBUTE` - Highlighting a missing attribute in the listing. \n\n* `INVALID_IMAGE` - Signifying an invalid image in the listing. \n\n* `MISSING_IMAGE` - Noting the absence of an image in the listing. \n\n* `INVALID_PRICE` - Pertaining to issues with the listing`s price-related attributes. \n\n* `MISSING_PRICE` - Pointing out the absence of a price attribute in the listing. \n\n* `DUPLICATE` - Identifying listings with potential duplicate problems, such as this ASIN potentially being a duplicate of another ASIN. \n\n* `QUALIFICATION_REQUIRED` - Indicating that the listing requires qualification-related approval.", + "description": "List of issue categories. \n\nPossible vales: \n\n* `INVALID_ATTRIBUTE` - Indicating an invalid attribute in the listing. \n\n* `MISSING_ATTRIBUTE` - Highlighting a missing attribute in the listing. \n\n* `INVALID_IMAGE` - Signifying an invalid image in the listing. \n\n* `MISSING_IMAGE` - Noting the absence of an image in the listing. \n\n* `INVALID_PRICE` - Pertaining to issues with the listing's price-related attributes. \n\n* `MISSING_PRICE` - Pointing out the absence of a price attribute in the listing. \n\n* `DUPLICATE` - Identifying listings with potential duplicate problems, such as this ASIN potentially being a duplicate of another ASIN. \n\n* `QUALIFICATION_REQUIRED` - Indicating that the listing requires qualification-related approval.", "type": "array", "items": { "type": "string" @@ -1480,7 +1480,7 @@ "type": "object", "properties": { "action":{ - "description": "The enforcement action name. \n\nPossible values: \n\n* `LISTING_SUPPRESSED` - This enforcement takes down the current listing item`s buyability. \n\n* `ATTRIBUTE_SUPPRESSED` - An attribute`s value on the listing item is invalid, which causes it to be rejected by Amazon. \n\n* `CATALOG_ITEM_REMOVED` - This catalog item is inactive on Amazon, and all offers against it in the applicable marketplace are non-buyable. \n\n* `SEARCH_SUPPRESSED` - This value indicates that the catalog item is hidden from search results.", + "description": "The enforcement action name. \n\nPossible values: \n\n* `LISTING_SUPPRESSED` - This enforcement takes down the current listing item's buyability. \n\n* `ATTRIBUTE_SUPPRESSED` - An attribute's value on the listing item is invalid, which causes it to be rejected by Amazon. \n\n* `CATALOG_ITEM_REMOVED` - This catalog item is inactive on Amazon, and all offers against it in the applicable marketplace are non-buyable. \n\n* `SEARCH_SUPPRESSED` - This value indicates that the catalog item is hidden from search results.", "type": "string", "example": "LISTING_SUPPRESSED" } From cc1cb30ca68f0312c8481e3d55fd27f300e12780 Mon Sep 17 00:00:00 2001 From: Alex Rupprecht <44652230+alex-rupprecht@users.noreply.github.com> Date: Fri, 12 Jan 2024 13:25:41 -0500 Subject: [PATCH 111/340] Update listingsItems_2021-08-01.json Removing extra note on throttling rate --- models/listings-items-api-model/listingsItems_2021-08-01.json | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/models/listings-items-api-model/listingsItems_2021-08-01.json b/models/listings-items-api-model/listingsItems_2021-08-01.json index 44cbcbfe2..d1c386079 100644 --- a/models/listings-items-api-model/listingsItems_2021-08-01.json +++ b/models/listings-items-api-model/listingsItems_2021-08-01.json @@ -230,7 +230,7 @@ "tags": [ "listings" ], - "description": "Returns details about a listings item for a selling partner.\n\n**Note:** This operation has a throttling rate of one request per second when `mode` is `VALIDATION_PREVIEW`.\n\n**Note:** The parameters associated with this operation may contain special characters that must be encoded to successfully call the API. To avoid errors with SKUs when encoding URLs, refer to [URL Encoding](https://developer-docs.amazon.com/sp-api/docs/url-encoding).\n\n**Usage Plan:**\n\n| Rate (requests per second) | Burst |\n| ---- | ---- |\n| 5 | 10 |\n\nThe `x-amzn-RateLimit-Limit` response header returns the usage plan rate limits that were applied to the requested operation, when available. The table above indicates the default rate and burst values for this operation. Selling partners whose business demands require higher throughput may see higher rate and burst values than those shown here. For more information, see [Usage Plans and Rate Limits in the Selling Partner API](https://developer-docs.amazon.com/sp-api/docs/usage-plans-and-rate-limits-in-the-sp-api).", + "description": "Returns details about a listings item for a selling partner.\n\n**Note:** The parameters associated with this operation may contain special characters that must be encoded to successfully call the API. To avoid errors with SKUs when encoding URLs, refer to [URL Encoding](https://developer-docs.amazon.com/sp-api/docs/url-encoding).\n\n**Usage Plan:**\n\n| Rate (requests per second) | Burst |\n| ---- | ---- |\n| 5 | 10 |\n\nThe `x-amzn-RateLimit-Limit` response header returns the usage plan rate limits that were applied to the requested operation, when available. The table above indicates the default rate and burst values for this operation. Selling partners whose business demands require higher throughput may see higher rate and burst values than those shown here. For more information, see [Usage Plans and Rate Limits in the Selling Partner API](https://developer-docs.amazon.com/sp-api/docs/usage-plans-and-rate-limits-in-the-sp-api).", "operationId": "getListingsItem", "consumes": [ "application/json" @@ -1793,4 +1793,4 @@ "type": "object" } } -} \ No newline at end of file +} From 5ce966e629a4fb0d9b6b59d415464539d1c244e3 Mon Sep 17 00:00:00 2001 From: Jack Evoniuk Date: Mon, 29 Jan 2024 10:20:46 -0800 Subject: [PATCH 112/340] Update Orders v0 model Clarify availability of ElectronicInvoiceStatus --- models/orders-api-model/ordersV0.json | 356 ++++++++++++++------------ 1 file changed, 190 insertions(+), 166 deletions(-) diff --git a/models/orders-api-model/ordersV0.json b/models/orders-api-model/ordersV0.json index ee15b5934..2526011f7 100644 --- a/models/orders-api-model/ordersV0.json +++ b/models/orders-api-model/ordersV0.json @@ -1,7 +1,7 @@ { "swagger": "2.0", "info": { - "description": "The Selling Partner API for Orders helps you programmatically retrieve order information. These APIs let you develop fast, flexible, custom applications in areas like order synchronization, order research, and demand-based decision support tools. The Orders API supports orders that are two years old or less. Orders more than two years old will not show in the API response.\n\n**Note:** The Orders API supports orders from 2016 and after for the JP, AU, and SG marketplaces.", + "description": "The Selling Partner API for Orders helps you programmatically retrieve order information. These APIs let you develop fast, flexible, custom applications in areas like order synchronization, order research, and demand-based decision support tools. The Orders API supports orders that are two years old or less. Orders more than two years old will not show in the API response.\n\n_Note:_ The Orders API supports orders from 2016 and after for the JP, AU, and SG marketplaces.", "version": "v0", "title": "Selling Partner API for Orders", "contact": { @@ -29,34 +29,34 @@ "tags": [ "ordersV0" ], - "description": "Returns orders created or updated during the time frame indicated by the specified parameters. You can also apply a range of filtering criteria to narrow the list of orders returned. If NextToken is present, that will be used to retrieve the orders instead of other criteria.\n\n**Usage Plan:**\n\n| Rate (requests per second) | Burst |\n| ---- | ---- |\n| 0.0167 | 20 |\n\nThe `x-amzn-RateLimit-Limit` response header returns the usage plan rate limits that were applied to the requested operation, when available. The table above indicates the default rate and burst values for this operation. Selling partners whose business demands require higher throughput may see higher rate and burst values then those shown here. For more information, refer to [Usage Plans and Rate Limits in the Selling Partner API](https://developer-docs.amazon.com/sp-api/docs/usage-plans-and-rate-limits-in-the-sp-api).", + "description": "Returns orders created or updated during the time frame indicated by the specified parameters. You can also apply a range of filtering criteria to narrow the list of orders returned. If NextToken is present, that will be used to retrieve the orders instead of other criteria.\n\n**Usage Plan:**\n\n| Rate (requests per second) | Burst |\n| ---- | ---- |\n| 0.0167 | 20 |\n\nThe `x-amzn-RateLimit-Limit` response header returns the usage plan rate limits that were applied to the requested operation, when available. The table above indicates the default rate and burst values for this operation. Selling partners whose business demands require higher throughput may see higher rate and burst values then those shown here. For more information, see [Usage Plans and Rate Limits in the Selling Partner API](doc:usage-plans-and-rate-limits-in-the-sp-api).", "operationId": "getOrders", "parameters": [ { "name": "CreatedAfter", "in": "query", - "description": "A date used for selecting orders created after (or at) a specified time. Only orders placed after the specified time are returned. The date must be in ISO 8601 format.\n\n**Note**: Either the `CreatedAfter` parameter or the `LastUpdatedAfter` parameter is required. You could specify `CreatedBefore` but not provide `LastUpdatedAfter` or `LastUpdatedBefore` when `CreatedAfter` is specified.", + "description": "A date used for selecting orders created after (or at) a specified time. Only orders placed after the specified time are returned. Either the CreatedAfter parameter or the LastUpdatedAfter parameter is required. Both cannot be empty. The date must be in ISO 8601 format.", "required": false, "type": "string" }, { "name": "CreatedBefore", "in": "query", - "description": "A date used for selecting orders created before (or at) a specified time. Only orders placed before the specified time are returned. The date must be in ISO 8601 format.\n\n**Note**: `CreatedBefore` is optional when `CreatedAfter` is specified. But if specified, `CreatedBefore` should be equal to or after the `CreatedAfter` date and at least 2 minutes before the current time.", + "description": "A date used for selecting orders created before (or at) a specified time. Only orders placed before the specified time are returned. The date must be in ISO 8601 format.", "required": false, "type": "string" }, { "name": "LastUpdatedAfter", "in": "query", - "description": "A date used for selecting orders that were last updated before (or at) a specified time. An update is defined as any change in order status, including the creation of a new order. Includes updates made by Amazon and by the seller. The date must be in ISO 8601 format.\n\n**Note**: `LastUpdatedBefore` is optional when `LastUpdatedAfter` is specified. But if specified, `LastUpdatedBefore` should be equal to or after the `LastUpdatedAfter` date and at least 2 minutes before current time.", + "description": "A date used for selecting orders that were last updated after (or at) a specified time. An update is defined as any change in order status, including the creation of a new order. Includes updates made by Amazon and by the seller. The date must be in ISO 8601 format.", "required": false, "type": "string" }, { "name": "LastUpdatedBefore", "in": "query", - "description": "A date used for selecting orders that were last updated before (or at) a specified time. An update is defined as any change in order status, including the creation of a new order. Includes updates made by Amazon and by the seller. The date must be in ISO 8601 format.\n\n**Note**: LastUpdatedBefore is optional when LastUpdatedAfter is set. But if specified, LastUpdatedBefore should be equal to or after the LastUpdatedAfter date and at least 2 minutes before current time.", + "description": "A date used for selecting orders that were last updated before (or at) a specified time. An update is defined as any change in order status, including the creation of a new order. Includes updates made by Amazon and by the seller. The date must be in ISO 8601 format.", "required": false, "type": "string" }, @@ -73,7 +73,7 @@ { "name": "MarketplaceIds", "in": "query", - "description": "A list of `MarketplaceId` values. Used to select orders that were placed in the specified marketplaces.\n\nRefer to [Marketplace IDs](https://developer-docs.amazon.com/sp-api/docs/marketplace-ids) for a complete list of `MarketplaceId` values.", + "description": "A list of MarketplaceId values. Used to select orders that were placed in the specified marketplaces.\n\nRefer to [Marketplace IDs](https://developer-docs.amazon.com/sp-api/docs/marketplace-ids) for a complete list of marketplaceId values.", "required": true, "type": "array", "items": { @@ -84,7 +84,7 @@ { "name": "FulfillmentChannels", "in": "query", - "description": "A list that indicates how an order was fulfilled. Filters the results by fulfillment channel. \n\n**Possible values**: `AFN` (Fulfillment by Amazon); `MFN` (Fulfilled by the seller).", + "description": "A list that indicates how an order was fulfilled. Filters the results by fulfillment channel. Possible values: AFN (Fulfillment by Amazon); MFN (Fulfilled by the seller).", "required": false, "type": "array", "items": { @@ -94,7 +94,7 @@ { "name": "PaymentMethods", "in": "query", - "description": "A list of payment method values. Used to select orders paid using the specified payment methods.\n\n**Possible values**: `COD` (Cash on delivery); `CVS` (Convenience store payment); `Other` (Any payment method other than `COD` or `CVS`).", + "description": "A list of payment method values. Used to select orders paid using the specified payment methods. Possible values: COD (Cash on delivery); CVS (Convenience store payment); Other (Any payment method other than COD or CVS).", "required": false, "type": "array", "items": { @@ -563,6 +563,10 @@ "$ref": "#/definitions/GetOrdersResponse" }, "headers": { + "x-amzn-RateLimit-Limit": { + "type": "string", + "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." + }, "x-amzn-RequestId": { "type": "string", "description": "Unique request reference identifier." @@ -575,6 +579,10 @@ "$ref": "#/definitions/GetOrdersResponse" }, "headers": { + "x-amzn-RateLimit-Limit": { + "type": "string", + "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." + }, "x-amzn-RequestId": { "type": "string", "description": "Unique request reference identifier." @@ -587,6 +595,10 @@ "$ref": "#/definitions/GetOrdersResponse" }, "headers": { + "x-amzn-RateLimit-Limit": { + "type": "string", + "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." + }, "x-amzn-RequestId": { "type": "string", "description": "Unique request reference identifier." @@ -601,7 +613,7 @@ "tags": [ "ordersV0" ], - "description": "Returns the order that you specify.\n\n**Usage Plan:**\n\n| Rate (requests per second) | Burst |\n| ---- | ---- |\n| 0.5 | 30 |\n\nThe `x-amzn-RateLimit-Limit` response header returns the usage plan rate limits that were applied to the requested operation, when available. The table above indicates the default rate and burst values for this operation. Selling partners whose business demands require higher throughput may see higher rate and burst values then those shown here. For more information, refer to [Usage Plans and Rate Limits in the Selling Partner API](https://developer-docs.amazon.com/sp-api/docs/usage-plans-and-rate-limits-in-the-sp-api).", + "description": "Returns the order that you specify.\n\n**Usage Plan:**\n\n| Rate (requests per second) | Burst |\n| ---- | ---- |\n| 0.0167 | 20 |\n\nThe `x-amzn-RateLimit-Limit` response header returns the usage plan rate limits that were applied to the requested operation, when available. The table above indicates the default rate and burst values for this operation. Selling partners whose business demands require higher throughput may see higher rate and burst values then those shown here. For more information, see [Usage Plans and Rate Limits in the Selling Partner API](doc:usage-plans-and-rate-limits-in-the-sp-api).", "operationId": "getOrder", "parameters": [ { @@ -895,6 +907,10 @@ "$ref": "#/definitions/GetOrderResponse" }, "headers": { + "x-amzn-RateLimit-Limit": { + "type": "string", + "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." + }, "x-amzn-RequestId": { "type": "string", "description": "Unique request reference identifier." @@ -907,6 +923,10 @@ "$ref": "#/definitions/GetOrderResponse" }, "headers": { + "x-amzn-RateLimit-Limit": { + "type": "string", + "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." + }, "x-amzn-RequestId": { "type": "string", "description": "Unique request reference identifier." @@ -919,6 +939,10 @@ "$ref": "#/definitions/GetOrderResponse" }, "headers": { + "x-amzn-RateLimit-Limit": { + "type": "string", + "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." + }, "x-amzn-RequestId": { "type": "string", "description": "Unique request reference identifier." @@ -933,13 +957,13 @@ "tags": [ "ordersV0" ], - "description": "Returns buyer information for the order that you specify.\n\n**Usage Plan:**\n\n| Rate (requests per second) | Burst |\n| ---- | ---- |\n| 0.5 | 30 |\n\nThe `x-amzn-RateLimit-Limit` response header returns the usage plan rate limits that were applied to the requested operation, when available. The table above indicates the default rate and burst values for this operation. Selling partners whose business demands require higher throughput may see higher rate and burst values then those shown here. For more information, refer to [Usage Plans and Rate Limits in the Selling Partner API](https://developer-docs.amazon.com/sp-api/docs/usage-plans-and-rate-limits-in-the-sp-api).", + "description": "Returns buyer information for the order that you specify.\n\n**Usage Plan:**\n\n| Rate (requests per second) | Burst |\n| ---- | ---- |\n| 0.0167 | 20 |\n\nThe `x-amzn-RateLimit-Limit` response header returns the usage plan rate limits that were applied to the requested operation, when available. The table above indicates the default rate and burst values for this operation. Selling partners whose business demands require higher throughput may see higher rate and burst values then those shown here. For more information, see [Usage Plans and Rate Limits in the Selling Partner API](doc:usage-plans-and-rate-limits-in-the-sp-api).", "operationId": "getOrderBuyerInfo", "parameters": [ { "name": "orderId", "in": "path", - "description": "An `orderId` is an Amazon-defined order identifier, in 3-7-7 format.", + "description": "An orderId is an Amazon-defined order identifier, in 3-7-7 format.", "required": true, "type": "string" } @@ -1065,6 +1089,10 @@ "$ref": "#/definitions/GetOrderBuyerInfoResponse" }, "headers": { + "x-amzn-RateLimit-Limit": { + "type": "string", + "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." + }, "x-amzn-RequestId": { "type": "string", "description": "Unique request reference identifier." @@ -1077,6 +1105,10 @@ "$ref": "#/definitions/GetOrderBuyerInfoResponse" }, "headers": { + "x-amzn-RateLimit-Limit": { + "type": "string", + "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." + }, "x-amzn-RequestId": { "type": "string", "description": "Unique request reference identifier." @@ -1089,6 +1121,10 @@ "$ref": "#/definitions/GetOrderBuyerInfoResponse" }, "headers": { + "x-amzn-RateLimit-Limit": { + "type": "string", + "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." + }, "x-amzn-RequestId": { "type": "string", "description": "Unique request reference identifier." @@ -1103,13 +1139,13 @@ "tags": [ "ordersV0" ], - "description": "Returns the shipping address for the order that you specify.\n\n**Usage Plan:**\n\n| Rate (requests per second) | Burst |\n| ---- | ---- |\n| 0.5 | 30 |\n\nThe `x-amzn-RateLimit-Limit` response header returns the usage plan rate limits that were applied to the requested operation, when available. The table above indicates the default rate and burst values for this operation. Selling partners whose business demands require higher throughput may see higher rate and burst values then those shown here. For more information, refer to [Usage Plans and Rate Limits in the Selling Partner API](https://developer-docs.amazon.com/sp-api/docs/usage-plans-and-rate-limits-in-the-sp-api).", + "description": "Returns the shipping address for the order that you specify.\n\n**Usage Plan:**\n\n| Rate (requests per second) | Burst |\n| ---- | ---- |\n| 0.0167 | 20 |\n\nThe `x-amzn-RateLimit-Limit` response header returns the usage plan rate limits that were applied to the requested operation, when available. The table above indicates the default rate and burst values for this operation. Selling partners whose business demands require higher throughput may see higher rate and burst values then those shown here. For more information, see [Usage Plans and Rate Limits in the Selling Partner API](doc:usage-plans-and-rate-limits-in-the-sp-api).", "operationId": "getOrderAddress", "parameters": [ { "name": "orderId", "in": "path", - "description": "An `orderId` is an Amazon-defined order identifier, in 3-7-7 format.", + "description": "An orderId is an Amazon-defined order identifier, in 3-7-7 format.", "required": true, "type": "string" } @@ -1245,6 +1281,10 @@ "$ref": "#/definitions/GetOrderAddressResponse" }, "headers": { + "x-amzn-RateLimit-Limit": { + "type": "string", + "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." + }, "x-amzn-RequestId": { "type": "string", "description": "Unique request reference identifier." @@ -1257,6 +1297,10 @@ "$ref": "#/definitions/GetOrderAddressResponse" }, "headers": { + "x-amzn-RateLimit-Limit": { + "type": "string", + "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." + }, "x-amzn-RequestId": { "type": "string", "description": "Unique request reference identifier." @@ -1269,6 +1313,10 @@ "$ref": "#/definitions/GetOrderAddressResponse" }, "headers": { + "x-amzn-RateLimit-Limit": { + "type": "string", + "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." + }, "x-amzn-RequestId": { "type": "string", "description": "Unique request reference identifier." @@ -1283,7 +1331,7 @@ "tags": [ "ordersV0" ], - "description": "Returns detailed order item information for the order that you specify. If `NextToken` is provided, it's used to retrieve the next page of order items.\n\n**Note**: When an order is in the Pending state (the order has been placed but payment has not been authorized), the `getOrderItems` operation does not return information about pricing, taxes, shipping charges, gift status or promotions for the order items in the order. After an order leaves the Pending state (this occurs when payment has been authorized) and enters the `Unshipped`, `Partially Shipped`, or `Shipped` state, the `getOrderItems` operation returns information about pricing, taxes, shipping charges, gift status and promotions for the order items in the order.\n\n**Usage Plan:**\n\n| Rate (requests per second) | Burst |\n| ---- | ---- |\n| 0.5 | 30 |\n\nThe `x-amzn-RateLimit-Limit` response header returns the usage plan rate limits that were applied to the requested operation, when available. The table above indicates the default rate and burst values for this operation. Selling partners whose business demands require higher throughput may see higher rate and burst values then those shown here. For more information, refer to [Usage Plans and Rate Limits in the Selling Partner API](https://developer-docs.amazon.com/sp-api/docs/usage-plans-and-rate-limits-in-the-sp-api).", + "description": "Returns detailed order item information for the order that you specify. If NextToken is provided, it's used to retrieve the next page of order items.\n\n__Note__: When an order is in the Pending state (the order has been placed but payment has not been authorized), the getOrderItems operation does not return information about pricing, taxes, shipping charges, gift status or promotions for the order items in the order. After an order leaves the Pending state (this occurs when payment has been authorized) and enters the Unshipped, Partially Shipped, or Shipped state, the getOrderItems operation returns information about pricing, taxes, shipping charges, gift status and promotions for the order items in the order.\n\n**Usage Plan:**\n\n| Rate (requests per second) | Burst |\n| ---- | ---- |\n| 0.5 | 30 |\n\nThe `x-amzn-RateLimit-Limit` response header returns the usage plan rate limits that were applied to the requested operation, when available. The table above indicates the default rate and burst values for this operation. Selling partners whose business demands require higher throughput may see higher rate and burst values then those shown here. For more information, see [Usage Plans and Rate Limits in the Selling Partner API](doc:usage-plans-and-rate-limits-in-the-sp-api).", "operationId": "getOrderItems", "parameters": [ { @@ -1358,7 +1406,7 @@ "GiftWrapLevel": "Classic" }, "BuyerRequestedCancel": { - "IsBuyerRequestedCancel": "true", + "IsBuyerRequestedCancel": true, "BuyerCancelReason": "Found cheaper somewhere else." }, "SerialNumbers": ["854"] @@ -1392,7 +1440,7 @@ "GiftWrapLevel": "Classic" }, "BuyerRequestedCancel": { - "IsBuyerRequestedCancel": "true", + "IsBuyerRequestedCancel": true, "BuyerCancelReason": "Found cheaper somewhere else." } } @@ -1432,7 +1480,7 @@ "QuantityOrdered": 1, "QuantityShipped": 0, "ProductInfo": { - "NumberOfItems": "1" + "NumberOfItems": 1 }, "ItemPrice": { "CurrencyCode": "USD", @@ -1446,7 +1494,7 @@ "CurrencyCode": "USD", "Amount": "0.00" }, - "IsGift": "false", + "IsGift": false, "ConditionId": "New", "ConditionSubtypeId": "New", "IsTransparency": false, @@ -1455,7 +1503,7 @@ "DeemedResellerCategory": "IOSS", "StoreChainStoreId": "ISPU_StoreId", "BuyerRequestedCancel": { - "IsBuyerRequestedCancel": "true", + "IsBuyerRequestedCancel": true, "BuyerCancelReason": "Found cheaper somewhere else." } } @@ -1537,6 +1585,10 @@ "$ref": "#/definitions/GetOrderItemsResponse" }, "headers": { + "x-amzn-RateLimit-Limit": { + "type": "string", + "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." + }, "x-amzn-RequestId": { "type": "string", "description": "Unique request reference identifier." @@ -1549,6 +1601,10 @@ "$ref": "#/definitions/GetOrderItemsResponse" }, "headers": { + "x-amzn-RateLimit-Limit": { + "type": "string", + "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." + }, "x-amzn-RequestId": { "type": "string", "description": "Unique request reference identifier." @@ -1561,6 +1617,10 @@ "$ref": "#/definitions/GetOrderItemsResponse" }, "headers": { + "x-amzn-RateLimit-Limit": { + "type": "string", + "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." + }, "x-amzn-RequestId": { "type": "string", "description": "Unique request reference identifier." @@ -1575,7 +1635,7 @@ "tags": [ "ordersV0" ], - "description": "Returns buyer information for the order items in the order that you specify.\n\n**Usage Plan:**\n\n| Rate (requests per second) | Burst |\n| ---- | ---- |\n| 0.5 | 30 |\n\nThe `x-amzn-RateLimit-Limit` response header returns the usage plan rate limits that were applied to the requested operation, when available. The table above indicates the default rate and burst values for this operation. Selling partners whose business demands require higher throughput may see higher rate and burst values then those shown here. For more information, refer to [Usage Plans and Rate Limits in the Selling Partner API](https://developer-docs.amazon.com/sp-api/docs/usage-plans-and-rate-limits-in-the-sp-api).", + "description": "Returns buyer information for the order items in the order that you specify.\n\n**Usage Plan:**\n\n| Rate (requests per second) | Burst |\n| ---- | ---- |\n| 0.5 | 30 |\n\nThe `x-amzn-RateLimit-Limit` response header returns the usage plan rate limits that were applied to the requested operation, when available. The table above indicates the default rate and burst values for this operation. Selling partners whose business demands require higher throughput may see higher rate and burst values then those shown here. For more information, see [Usage Plans and Rate Limits in the Selling Partner API](doc:usage-plans-and-rate-limits-in-the-sp-api).", "operationId": "getOrderItemsBuyerInfo", "parameters": [ { @@ -1728,6 +1788,10 @@ "$ref": "#/definitions/GetOrderItemsBuyerInfoResponse" }, "headers": { + "x-amzn-RateLimit-Limit": { + "type": "string", + "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." + }, "x-amzn-RequestId": { "type": "string", "description": "Unique request reference identifier." @@ -1740,6 +1804,10 @@ "$ref": "#/definitions/GetOrderItemsBuyerInfoResponse" }, "headers": { + "x-amzn-RateLimit-Limit": { + "type": "string", + "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." + }, "x-amzn-RequestId": { "type": "string", "description": "Unique request reference identifier." @@ -1752,6 +1820,10 @@ "$ref": "#/definitions/GetOrderItemsBuyerInfoResponse" }, "headers": { + "x-amzn-RateLimit-Limit": { + "type": "string", + "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." + }, "x-amzn-RequestId": { "type": "string", "description": "Unique request reference identifier." @@ -1766,7 +1838,7 @@ "tags": [ "shipment" ], - "description": "Update the shipment status for an order that you specify.\n\n**Usage Plan:**\n\n| Rate (requests per second) | Burst |\n| ---- | ---- |\n| 5 | 15 |\n\nThe `x-amzn-RateLimit-Limit` response header returns the usage plan rate limits that were applied to the requested operation, when available. The table above indicates the default rate and burst values for this operation. Selling partners whose business demands require higher throughput may see higher rate and burst values then those shown here. For more information, refer to [Usage Plans and Rate Limits in the Selling Partner API](https://developer-docs.amazon.com/sp-api/docs/usage-plans-and-rate-limits-in-the-sp-api).", + "description": "Update the shipment status for an order that you specify.\n\n**Usage Plan:**\n\n| Rate (requests per second) | Burst |\n| ---- | ---- |\n| 5 | 15 |\n\nThe `x-amzn-RateLimit-Limit` response header returns the usage plan rate limits that were applied to the requested operation, when available. The table above indicates the default rate and burst values for this operation. Selling partners whose business demands require higher throughput may see higher rate and burst values then those shown here. For more information, see [Usage Plans and Rate Limits in the Selling Partner API](doc:usage-plans-and-rate-limits-in-the-sp-api).", "operationId": "updateShipmentStatus", "parameters": [ { @@ -1779,7 +1851,7 @@ { "name": "payload", "in": "body", - "description": "The request body for the `updateShipmentStatus` operation.", + "description": "The request body for the updateShipmentStatus operation.", "required": true, "schema": { "$ref": "#/definitions/UpdateShipmentStatusRequest" @@ -1947,13 +2019,13 @@ "tags": [ "ordersV0" ], - "description": "Returns regulated information for the order that you specify.\n\n**Usage Plan:**\n\n| Rate (requests per second) | Burst |\n| ---- | ---- |\n| 0.5 | 30 |\n\nThe `x-amzn-RateLimit-Limit` response header returns the usage plan rate limits that were applied to the requested operation, when available. The table above indicates the default rate and burst values for this operation. Selling partners whose business demands require higher throughput may see higher rate and burst values then those shown here. For more information, refer to [Usage Plans and Rate Limits in the Selling Partner API](https://developer-docs.amazon.com/sp-api/docs/usage-plans-and-rate-limits-in-the-sp-api).", + "description": "Returns regulated information for the order that you specify.\n\n**Usage Plan:**\n\n| Rate (requests per second) | Burst |\n| ---- | ---- |\n| 0.5 | 30 |\n\nThe `x-amzn-RateLimit-Limit` response header returns the usage plan rate limits that were applied to the requested operation, when available. The table above indicates the default rate and burst values for this operation. Selling partners whose business demands require higher throughput may see higher rate and burst values then those shown here. For more information, see [Usage Plans and Rate Limits in the Selling Partner API](doc:usage-plans-and-rate-limits-in-the-sp-api).", "operationId": "getOrderRegulatedInfo", "parameters": [ { "name": "orderId", "in": "path", - "description": "An Amazon-defined order identifier, in 3-7-7 format.", + "description": "An orderId is an Amazon-defined order identifier, in 3-7-7 format.", "required": true, "type": "string" } @@ -2239,20 +2311,20 @@ "tags": [ "ordersV0" ], - "description": "Updates (approves or rejects) the verification status of an order containing regulated products.\n\n**Usage Plan:**\n\n| Rate (requests per second) | Burst |\n| ---- | ---- |\n| 0.5 | 30 |\n\nThe `x-amzn-RateLimit-Limit` response header returns the usage plan rate limits that were applied to the requested operation, when available. The table above indicates the default rate and burst values for this operation. Selling partners whose business demands require higher throughput may see higher rate and burst values then those shown here. For more information, refer to [Usage Plans and Rate Limits in the Selling Partner API](https://developer-docs.amazon.com/sp-api/docs/usage-plans-and-rate-limits-in-the-sp-api).", + "description": "Updates (approves or rejects) the verification status of an order containing regulated products.\n\n**Usage Plan:**\n\n| Rate (requests per second) | Burst |\n| ---- | ---- |\n| 0.5 | 30 |\n\nThe `x-amzn-RateLimit-Limit` response header returns the usage plan rate limits that were applied to the requested operation, when available. The table above indicates the default rate and burst values for this operation. Selling partners whose business demands require higher throughput may see higher rate and burst values then those shown here. For more information, see [Usage Plans and Rate Limits in the Selling Partner API](doc:usage-plans-and-rate-limits-in-the-sp-api).", "operationId": "updateVerificationStatus", "parameters": [ { "name": "orderId", "in": "path", - "description": "An Amazon-defined order identifier, in 3-7-7 format.", + "description": "An orderId is an Amazon-defined order identifier, in 3-7-7 format.", "required": true, "type": "string" }, { "name": "payload", "in": "body", - "description": "The request body for the `updateVerificationStatus` operation.", + "description": "The request body for the updateVerificationStatus operation.", "required": true, "schema": { "$ref": "#/definitions/UpdateVerificationStatusRequest" @@ -2465,7 +2537,7 @@ "tags": [ "ordersV0" ], - "description": "Updates the shipment confirmation status for a specified order.\n\n**Usage Plan:**\n\n| Rate (requests per second) | Burst |\n| ---- | ---- |\n| 2 | 10 |\n\nThe `x-amzn-RateLimit-Limit` response header returns the usage plan rate limits that were applied to the requested operation, when available. The table above indicates the default rate and burst values for this operation. Selling partners whose business demands require higher throughput may see higher rate and burst values then those shown here. For more information, refer to [Usage Plans and Rate Limits in the Selling Partner API](https://developer-docs.amazon.com/sp-api/docs/usage-plans-and-rate-limits-in-the-sp-api).", + "description": "Updates the shipment confirmation status for a specified order.\n\n**Usage Plan:**\n\n| Rate (requests per second) | Burst |\n| ---- | ---- |\n| 2 | 10 |\n\nThe `x-amzn-RateLimit-Limit` response header returns the usage plan rate limits that were applied to the requested operation, when available. The table above indicates the default rate and burst values for this operation. Selling partners whose business demands require higher throughput may see higher rate and burst values then those shown here. For more information, see [Usage Plans and Rate Limits in the Selling Partner API](doc:usage-plans-and-rate-limits-in-the-sp-api).", "operationId": "confirmShipment", "parameters": [ { @@ -2478,7 +2550,7 @@ { "name": "payload", "in": "body", - "description": "The request body of the `confirmShipment` operation.", + "description": "Request body of confirmShipment.", "required": true, "schema": { "$ref": "#/definitions/ConfirmShipmentRequest" @@ -2603,6 +2675,10 @@ "$ref": "#/definitions/ConfirmShipmentErrorResponse" }, "headers": { + "x-amzn-RateLimit-Limit": { + "type": "string", + "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." + }, "x-amzn-RequestId": { "type": "string", "description": "Unique request reference identifier." @@ -2643,6 +2719,10 @@ "$ref": "#/definitions/ConfirmShipmentErrorResponse" }, "headers": { + "x-amzn-RateLimit-Limit": { + "type": "string", + "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." + }, "x-amzn-RequestId": { "type": "string", "description": "Unique request reference identifier." @@ -2655,6 +2735,10 @@ "$ref": "#/definitions/ConfirmShipmentErrorResponse" }, "headers": { + "x-amzn-RateLimit-Limit": { + "type": "string", + "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." + }, "x-amzn-RequestId": { "type": "string", "description": "Unique request reference identifier." @@ -2667,6 +2751,10 @@ "$ref": "#/definitions/ConfirmShipmentErrorResponse" }, "headers": { + "x-amzn-RateLimit-Limit": { + "type": "string", + "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." + }, "x-amzn-RequestId": { "type": "string", "description": "Unique request reference identifier." @@ -2679,7 +2767,7 @@ }, "definitions": { "UpdateShipmentStatusRequest": { - "description": "The request body for the `updateShipmentStatus` operation.", + "description": "The request body for the updateShipmentStatus operation.", "type": "object", "properties": { "marketplaceId": { @@ -2698,11 +2786,11 @@ ] }, "UpdateVerificationStatusRequest": { - "description": "The request body for the `updateVerificationStatus` operation.", + "description": "The request body for the updateVerificationStatus operation.", "type": "object", "properties": { "regulatedOrderVerificationStatus": { - "description": "The updated values of the `VerificationStatus` field.", + "description": "The updated values of the VerificationStatus field.", "$ref": "#/definitions/UpdateVerificationStatusRequestBody" } }, @@ -2711,7 +2799,7 @@ ] }, "UpdateVerificationStatusRequestBody": { - "description": "The updated values of the `VerificationStatus` field.", + "description": "The updated values of the VerificationStatus field.", "type": "object", "properties": { "status": { @@ -2780,119 +2868,119 @@ "type": "object", "properties": { "errors": { - "description": "One or more unexpected errors occurred during the `UpdateShipmentStatus` operation.", + "description": "One or more unexpected errors occurred during the UpdateShipmentStatus operation.", "$ref": "#/definitions/ErrorList" } }, - "description": "The error response schema for the `UpdateShipmentStatus` operation." + "description": "The error response schema for the UpdateShipmentStatus operation." }, "UpdateVerificationStatusErrorResponse": { "type": "object", "properties": { "errors": { - "description": "One or more unexpected errors occurred during the `UpdateVerificationStatus` operation.", + "description": "One or more unexpected errors occurred during the UpdateVerificationStatus operation.", "$ref": "#/definitions/ErrorList" } }, - "description": "The error response schema for the `UpdateVerificationStatus` operation." + "description": "The error response schema for the UpdateVerificationStatus operation." }, "GetOrdersResponse": { "type": "object", "properties": { "payload": { - "description": "The payload for the `getOrders` operation.", + "description": "The payload for the getOrders operation.", "$ref": "#/definitions/OrdersList" }, "errors": { - "description": "One or more unexpected errors occurred during the `getOrders` operation.", + "description": "One or more unexpected errors occurred during the getOrders operation.", "$ref": "#/definitions/ErrorList" } }, - "description": "The response schema for the `getOrders` operation." + "description": "The response schema for the getOrders operation." }, "GetOrderResponse": { "type": "object", "properties": { "payload": { - "description": "The payload for the `getOrder` operation.", + "description": "The payload for the getOrder operation.", "$ref": "#/definitions/Order" }, "errors": { - "description": "One or more unexpected errors occurred during the `getOrder` operation.", + "description": "One or more unexpected errors occurred during the getOrder operation.", "$ref": "#/definitions/ErrorList" } }, - "description": "The response schema for the `getOrder` operation." + "description": "The response schema for the getOrder operation." }, "GetOrderBuyerInfoResponse": { "type": "object", "properties": { "payload": { - "description": "The payload for the `getOrderBuyerInfo` operation.", + "description": "The payload for the getOrderBuyerInfo operation.", "$ref": "#/definitions/OrderBuyerInfo" }, "errors": { - "description": "One or more unexpected errors occurred during the `getOrderBuyerInfo` operation.", + "description": "One or more unexpected errors occurred during the getOrderBuyerInfo operation.", "$ref": "#/definitions/ErrorList" } }, - "description": "The response schema for the `getOrderBuyerInfo` operation." + "description": "The response schema for the getOrderBuyerInfo operation." }, "GetOrderRegulatedInfoResponse": { "type": "object", "properties": { "payload": { - "description": "The payload for the `getOrderRegulatedInfo` operation.", + "description": "The payload for the getOrderRegulatedInfo operation.", "$ref": "#/definitions/OrderRegulatedInfo" }, "errors": { - "description": "One or more unexpected errors occurred during the `getOrderRegulatedInfo` operation.", + "description": "One or more unexpected errors occurred during the getOrderRegulatedInfo operation.", "$ref": "#/definitions/ErrorList" } }, - "description": "The response schema for the `getOrderRegulatedInfo` operation." + "description": "The response schema for the getOrderRegulatedInfo operation." }, "GetOrderAddressResponse": { "type": "object", "properties": { "payload": { - "description": "The payload for the `getOrderAddress` operations.", + "description": "The payload for the getOrderAddress operations.", "$ref": "#/definitions/OrderAddress" }, "errors": { - "description": "One or more unexpected errors occurred during the `getOrderAddress` operation.", + "description": "One or more unexpected errors occurred during the getOrderAddress operation.", "$ref": "#/definitions/ErrorList" } }, - "description": "The response schema for the `getOrderAddress` operation." + "description": "The response schema for the getOrderAddress operation." }, "GetOrderItemsResponse": { "type": "object", "properties": { "payload": { - "description": "The payload for the `getOrderItems` operation.", + "description": "The payload for the getOrderItems operation.", "$ref": "#/definitions/OrderItemsList" }, "errors": { - "description": "One or more unexpected errors occurred during the `getOrderItems` operation.", + "description": "One or more unexpected errors occurred during the getOrderItems operation.", "$ref": "#/definitions/ErrorList" } }, - "description": "The response schema for the `getOrderItems` operation." + "description": "The response schema for the getOrderItems operation." }, "GetOrderItemsBuyerInfoResponse": { "type": "object", "properties": { "payload": { - "description": "The payload for the `getOrderItemsBuyerInfo` operation.", + "description": "The payload for the getOrderItemsBuyerInfo operation.", "$ref": "#/definitions/OrderItemsBuyerInfoList" }, "errors": { - "description": "One or more unexpected errors occurred during the `getOrderItemsBuyerInfo` operation.", + "description": "One or more unexpected errors occurred during the getOrderItemsBuyerInfo operation.", "$ref": "#/definitions/ErrorList" } }, - "description": "The response schema for the `getOrderItemsBuyerInfo` operation." + "description": "The response schema for the getOrderItemsBuyerInfo operation." }, "OrdersList": { "type": "object", @@ -2948,7 +3036,7 @@ }, "LastUpdateDate": { "type": "string", - "description": "The date when the order was last updated.\n\n**Note**: `LastUpdateDate` is returned with an incorrect date for orders that were last updated before 2009-04-01." + "description": "The date when the order was last updated.\n\n__Note__: LastUpdateDate is returned with an incorrect date for orders that were last updated before 2009-04-01." }, "OrderStatus": { "type": "string", @@ -3041,12 +3129,12 @@ "description": "The number of items unshipped." }, "PaymentExecutionDetail": { - "description": "Information about sub-payment methods for a Cash On Delivery (COD) order.\n\n**Note**: For a COD order that is paid for using one sub-payment method, one `PaymentExecutionDetailItem` object is returned, with `PaymentExecutionDetailItem`/`PaymentMethod` = COD. For a COD order that is paid for using multiple sub-payment methods, two or more `PaymentExecutionDetailItem` objects are returned.", + "description": "Information about sub-payment methods for a Cash On Delivery (COD) order.\n\n__Note__: For a COD order that is paid for using one sub-payment method, one PaymentExecutionDetailItem object is returned, with PaymentExecutionDetailItem/PaymentMethod = COD. For a COD order that is paid for using multiple sub-payment methods, two or more PaymentExecutionDetailItem objects are returned.", "$ref": "#/definitions/PaymentExecutionDetailItemList" }, "PaymentMethod": { "type": "string", - "description": "The payment method for the order. This property is limited to Cash On Delivery (COD) and Convenience Store (CVS) payment methods. Unless you need the specific COD payment information provided by the `PaymentExecutionDetailItem` object, we recommend using the `PaymentMethodDetails` property to get payment method information.", + "description": "The payment method for the order. This property is limited to Cash On Delivery (COD) and Convenience Store (CVS) payment methods. Unless you need the specific COD payment information provided by the PaymentExecutionDetailItem object, we recommend using the PaymentMethodDetails property to get payment method information.", "enum": [ "COD", "CVS", @@ -3077,7 +3165,7 @@ }, "ShipmentServiceLevelCategory": { "type": "string", - "description": "The shipment service level category of the order.\n\n**Possible values**: `Expedited`, `FreeEconomy`, `NextDay`, `Priority`, `SameDay`, `SecondDay`, `Scheduled`, `Standard`." + "description": "The shipment service level category of the order.\n\nPossible values: Expedited, FreeEconomy, NextDay, Priority, SameDay, SecondDay, Scheduled, Standard." }, "EasyShipShipmentStatus": { "description": "The status of the Amazon Easy Ship order. This property is included only for Amazon Easy Ship orders.", @@ -3122,11 +3210,11 @@ }, "EarliestShipDate": { "type": "string", - "description": "The start of the time period within which you have committed to ship the order. In ISO 8601 date time format. Returned only for seller-fulfilled orders.\n\n**Note**: `EarliestShipDate` might not be returned for orders placed before February 1, 2013." + "description": "The start of the time period within which you have committed to ship the order. In ISO 8601 date time format. Returned only for seller-fulfilled orders.\n\n__Note__: EarliestShipDate might not be returned for orders placed before February 1, 2013." }, "LatestShipDate": { "type": "string", - "description": "The end of the time period within which you have committed to ship the order. In ISO 8601 date time format. Returned only for seller-fulfilled orders.\n\n**Note**: `LatestShipDate` might not be returned for orders placed before February 1, 2013." + "description": "The end of the time period within which you have committed to ship the order. In ISO 8601 date time format. Returned only for seller-fulfilled orders.\n\n__Note__: LatestShipDate might not be returned for orders placed before February 1, 2013." }, "EarliestDeliveryDate": { "type": "string", @@ -3134,7 +3222,7 @@ }, "LatestDeliveryDate": { "type": "string", - "description": "The end of the time period within which you have committed to fulfill the order. In ISO 8601 date time format. Returned only for seller-fulfilled orders that do not have a `PendingAvailability`, Pending, or Canceled status." + "description": "The end of the time period within which you have committed to fulfill the order. In ISO 8601 date time format. Returned only for seller-fulfilled orders that do not have a PendingAvailability, Pending, or Canceled status." }, "IsBusinessOrder": { "type": "boolean", @@ -3154,7 +3242,7 @@ }, "ReplacedOrderId": { "type": "string", - "description": "The order ID value for the order that is being replaced. Returned only if `IsReplacementOrder` = true." + "description": "The order ID value for the order that is being replaced. Returned only if IsReplacementOrder = true." }, "IsReplacementOrder": { "type": "boolean", @@ -3166,7 +3254,7 @@ }, "IsEstimatedShipDateSet": { "type": "boolean", - "description": "When true, the estimated ship date is specified for the order. Returned only for Sourcing on Demand orders." + "description": "When true, the estimated ship date is set for the order. Returned only for Sourcing on Demand orders." }, "IsSoldByAB": { "type": "boolean", @@ -3193,13 +3281,13 @@ }, { "value": "BUSINESS", - "description": "Buyer should be issued a business invoice. Tax information is available in `BuyerTaxInformation` structure." + "description": "Buyer should be issued a business invoice. Tax information is available in BuyerTaxInformation structure." } ], - "description": "The buyer's invoicing preference. Sellers can use this data to issue electronic invoices for orders in Turkey.\n\n**Note**: This attribute is only available in the Turkey marketplace." + "description": "The buyer's invoicing preference. Available only in the TR marketplace." }, "BuyerTaxInformation": { - "description": "Contains the business invoice tax information. Sellers can use this data to issue electronic invoices for business orders in Turkey.\n\n**Note**:\n1. This attribute is only available in the Turkey marketplace for the orders that `BuyerInvoicePreference` is BUSINESS.\n2. The `BuyerTaxInformation` is a restricted data. Use a Restricted Data Token (RDT) and restricted Selling Partner API roles to access this restricted data.", + "description": "Contains the business invoice tax information.", "$ref": "#/definitions/BuyerTaxInformation" }, "FulfillmentInstruction": { @@ -3215,19 +3303,17 @@ "description": "When true, this order is marked to be delivered to an Access Point. The access location is chosen by the customer. Access Points include Amazon Hub Lockers, Amazon Hub Counters, and pickup points operated by carriers." }, "MarketplaceTaxInfo": { - "description": "Tax information about the marketplace where the sale took place. Sellers can use this data to issue electronic invoices for orders in Brazil.\n\n**Note**: This attribute is only available in the Brazil marketplace for the orders with `Pending` or `Unshipped` status.", + "description": "Tax information about the marketplace.", "$ref": "#/definitions/MarketplaceTaxInfo" }, "SellerDisplayName": { "type": "string", - "description": "The seller’s friendly name registered in the marketplace where the sale took place. Sellers can use this data to issue electronic invoices for orders in Brazil.\n\n**Note**: This attribute is only available in the Brazil marketplace for the orders with `Pending` or `Unshipped` status." + "description": "The seller’s friendly name registered in the marketplace." }, "ShippingAddress": { - "description": "The shipping address for the order.\n\n**Note**:\n1. `ShippingAddress` is only available for orders with the following status values: `Unshipped`, `PartiallyShipped`, `Shipped` and `InvoiceUnconfirmed`.\n2. The `ShippingAddress` contains restricted data. Use a Restricted Data Token (RDT) and restricted Selling Partner API roles to access the restricted data in `ShippingAddress`, for example, `Name`, `AddressLine1`, `AddressLine2`, `AddressLine3`, `Phone`, `AddressType` and `ExtendedFields`.", "$ref": "#/definitions/Address" }, "BuyerInfo": { - "description": "Buyer information.\n\n**Note**: The `BuyerInfo` contains restricted data. Use a Restricted Data Token (RDT) and restricted Selling Partner API roles to access the restricted data in `BuyerInfo`, for example, `BuyerName`, `BuyerTaxInfo`, `PurchaseOrderNumber`.", "$ref": "#/definitions/BuyerInfo" }, "AutomatedShippingSettings": { @@ -3265,10 +3351,10 @@ }, "BuyerCounty": { "type": "string", - "description": "The county of the buyer.\n\n**Note**: This attribute is only available in the Brazil marketplace." + "description": "The county of the buyer." }, "BuyerTaxInfo": { - "description": "Tax information about the buyer. Sellers can use this data to issue electronic invoices for business orders.\n\n**Note**: This attribute is only available for business orders in the Brazil, Mexico and India marketplaces.", + "description": "Tax information about the buyer.", "$ref": "#/definitions/BuyerTaxInfo" }, "PurchaseOrderNumber": { @@ -3375,7 +3461,7 @@ "x-docgen-enum-table-extension": [ { "value": "Pending", - "description": "The order is pending approval. Note that the approval might be needed from someone other than the merchant as determined by the `RequiresMerchantAction` property." + "description": "The order is pending approval. Note that the approval might be needed from someone other than the merchant as determined by the RequiresMerchantAction property." }, { "value": "Approved", @@ -3449,7 +3535,7 @@ }, "FieldValue": { "type": "string", - "description": "The content of the field as collected in regulatory form. Note that `FileAttachment` type fields will contain a URL to download the attachment here." + "description": "The content of the field as collected in regulatory form. Note that FileAttachment type fields will contain a URL to download the attachment here." } } }, @@ -3465,10 +3551,9 @@ }, "BuyerCompanyName": { "type": "string", - "description": "The company name of the contact buyer. For Invoice By Amazon (IBA) orders, the buyer company should be Amazon entities." + "description": "Company Name of the Buyer." }, "ShippingAddress": { - "description": "The shipping address for the order.\n\n**Note**: `ShippingAddress` is only available for orders with the following status values: `Unshipped`, `PartiallyShipped`, `Shipped` and `InvoiceUnconfirmed`.", "$ref": "#/definitions/Address" }, "DeliveryPreferences": { @@ -3487,10 +3572,6 @@ "type": "string", "description": "The name." }, - "CompanyName": { - "type": "string", - "description": "The company name of the recipient.\n\n**Note**: This attribute is only available for shipping address." - }, "AddressLine1": { "type": "string", "description": "The street address." @@ -3505,7 +3586,7 @@ }, "City": { "type": "string", - "description": "The city." + "description": "The city " }, "County": { "type": "string", @@ -3533,11 +3614,7 @@ }, "Phone": { "type": "string", - "description": "The phone number of the buyer.\n\n**Note**: \n1. This attribute is only available for shipping address.\n2. The buyer `Phone` number is suppressed in some cases, including but not limited to \na. `Phone` is suppressed for all Fulfillment by Amazon (FBA) orders.\nb. `Phone` is suppressed for the shipped MFN(Fulfilled by the seller) order when current date is past Latest Delivery Date." - }, - "ExtendedFields": { - "description": "The container for address extended fields. For example, street name or street number.\n\nNote: Only available for Brazil shipping addresses.", - "$ref": "#/definitions/AddressExtendedFields" + "description": "The phone number. Not returned for Fulfillment by Amazon (FBA) orders." }, "AddressType": { "type": "string", @@ -3560,28 +3637,6 @@ }, "description": "The shipping address for the order." }, - "AddressExtendedFields": { - "type": "object", - "properties": { - "StreetName": { - "type": "string", - "description": "The street name." - }, - "StreetNumber": { - "type": "string", - "description": "The house number/building number/property number in the street." - }, - "Complement": { - "type": "string", - "description": "The floor number/unit number in the building/private house number." - }, - "Neighborhood": { - "type": "string", - "description": "The neighborhood. It's smaller than a region and an integral part of an address. It is used in some countries like Brazil." - } - }, - "description": "The container of extended address fields. For example, street name, street number. Only available with Brazil shipping addresses as of now." - }, "DeliveryPreferences": { "type": "object", "properties": { @@ -3795,7 +3850,7 @@ }, "PaymentMethod": { "type": "string", - "description": "A sub-payment method for a COD order.\n\n**Possible values**:\n* `COD`: Cash On Delivery.\n* `GC`: Gift Card.\n* `PointsAccount`: Amazon Points.\n* `Invoice`: Invoice." + "description": "A sub-payment method for a COD order.\n\nPossible values:\n* `COD`: Cash On Delivery.\n* `GC`: Gift Card.\n* `PointsAccount`: Amazon Points.\n* `Invoice`: Invoice." } }, "description": "Information about a sub-payment method used to pay for a COD order." @@ -3924,7 +3979,7 @@ "$ref": "#/definitions/PointsGrantedDetail" }, "ItemPrice": { - "description": "The selling price of the order item. An order item is an item and a quantity. This means that the value of `ItemPrice` is equal to the selling price of the item multiplied by the quantity ordered. Note that `ItemPrice` excludes `ShippingPrice` and `GiftWrapPrice`.", + "description": "The selling price of the order item. Note that an order item is an item and a quantity. This means that the value of ItemPrice is equal to the selling price of the item multiplied by the quantity ordered. Note that ItemPrice excludes ShippingPrice and GiftWrapPrice.", "$ref": "#/definitions/Money" }, "ShippingPrice": { @@ -3967,8 +4022,8 @@ "$ref": "#/definitions/Money" }, "IsGift": { - "type": "string", - "description": "Indicates whether the item is a gift.\n\n**Possible values**: `true`, `false`." + "type": "boolean", + "description": "When true, the item is a gift." }, "ConditionNote": { "type": "string", @@ -3976,11 +4031,11 @@ }, "ConditionId": { "type": "string", - "description": "The condition of the item.\n\n**Possible values**: `New`, `Used`, `Collectible`, `Refurbished`, `Preorder`, `Club`." + "description": "The condition of the item.\n\nPossible values: New, Used, Collectible, Refurbished, Preorder, Club." }, "ConditionSubtypeId": { "type": "string", - "description": "The subcondition of the item.\n\n**Possible values**: `New`, `Mint`, `Very Good`, `Good`, `Acceptable`, `Poor`, `Club`, `OEM`, `Warranty`, `Refurbished Warranty`, `Refurbished`, `Open Box`, `Any`, `Other`." + "description": "The subcondition of the item.\n\nPossible values: New, Mint, Very Good, Good, Acceptable, Poor, Club, OEM, Warranty, Refurbished Warranty, Refurbished, Open Box, Any, Other." }, "ScheduledDeliveryStartDate": { "type": "string", @@ -3992,7 +4047,7 @@ }, "PriceDesignation": { "type": "string", - "description": "Indicates that the selling price is a special price that is available only for Amazon Business orders. For more information about the Amazon Business Seller Program, refer to [Amazon Business](https://business.amazon.com). \n\n**Possible values**: `BusinessPrice` - A special price that is available only for Amazon Business orders." + "description": "Indicates that the selling price is a special price that is available only for Amazon Business orders. For more information about the Amazon Business Seller Program, see the [Amazon Business website](https://www.amazon.com/b2b/info/amazon-business). \n\nPossible values: BusinessPrice - A special price that is available only for Amazon Business orders." }, "TaxCollection": { "description": "Information about withheld taxes.", @@ -4033,7 +4088,6 @@ ] }, "BuyerInfo": { - "description": "A single item's buyer information.\n\n**Note**: The `BuyerInfo` contains restricted data. Use a Restricted Data Token (RDT) and restricted Selling Partner API roles to access the restricted data in `BuyerInfo`, for example, `BuyerCustomizedInfo` and `GiftMessageText`.", "$ref": "#/definitions/ItemBuyerInfo" }, "BuyerRequestedCancel": { @@ -4054,17 +4108,12 @@ "Measurement": { "description": "Measurement information for the order item.", "$ref": "#/definitions/Measurement" - }, - "ShippingConstraints" : { - "description" : "Shipping constraints applicable to this order.", - "$ref" : "#/definitions/ShippingConstraints" } }, "description": "A single order item." }, "SubstitutionPreferences": { "type": "object", - "description": "Substitution preferences for an order item.", "required": [ "SubstitutionType" ], @@ -4107,7 +4156,6 @@ }, "SubstitutionOption": { "type": "object", - "description": "Substitution options for an order item.", "properties": { "ASIN": { "type": "string", @@ -4133,7 +4181,6 @@ }, "Measurement": { "type": "object", - "description": "Measurement information for an order item.", "required": [ "Unit", "Value" @@ -4342,7 +4389,7 @@ "description": "An Amazon-defined order item identifier." }, "BuyerCustomizedInfo": { - "description": "Buyer information for custom orders from the Amazon Custom program.\n\n**Note**: This attribute is only available for MFN (Fulfilled by the seller) orders.", + "description": "Buyer information for custom orders from the Amazon Custom program.", "$ref": "#/definitions/BuyerCustomizedInfoDetail" }, "GiftWrapPrice": { @@ -4355,7 +4402,7 @@ }, "GiftMessageText": { "type": "string", - "description": "A gift message provided by the buyer.\n\n**Note**: This attribute is only available for MFN (Fulfilled by the seller) orders." + "description": "A gift message provided by the buyer." }, "GiftWrapLevel": { "type": "string", @@ -4382,7 +4429,7 @@ "type": "object", "properties": { "NumberOfItems": { - "type": "string", + "type": "integer", "description": "The total number of items that are included in the ASIN." } }, @@ -4430,7 +4477,7 @@ "x-docgen-enum-table-extension": [ { "value": "Amazon Services, Inc.", - "description": "The `MarketplaceFacilitator` entity for the US marketplace." + "description": "Amazon Services, Inc." } ] } @@ -4463,35 +4510,12 @@ "type": "object", "properties": { "FulfillmentSupplySourceId": { - "description": "Denotes the recommended `sourceId` where the order should be fulfilled from.", + "description": "Denotes the recommended sourceId where the order should be fulfilled from.", "type": "string" } }, "description": "Contains the instructions about the fulfillment like where should it be fulfilled from." }, - "ShippingConstraints": { - "type": "object", - "description": "Delivery constraints applicable to this order.", - "properties": { - "PalletDelivery": { - "description": "Indicates if the line item needs to be delivered by pallet", - "$ref": "#/definitions/ConstraintType" - } - } - }, - "ConstraintType": { - "type": "string", - "description": "Details the importance of the constraint present on the item", - "enum": [ - "MANDATORY" - ], - "x-docgen-enum-table-extension": [ - { - "value": "MANDATORY", - "description": "Item must follow the constraint to ensure order is met with buyer's delivery requirements." - } - ] - }, "BuyerInfo": { "type": "object", "properties": { @@ -4505,10 +4529,10 @@ }, "BuyerCounty": { "type": "string", - "description": "The county of the buyer.\n\n**Note**: This attribute is only available in the Brazil marketplace." + "description": "The county of the buyer." }, "BuyerTaxInfo": { - "description": "Tax information about the buyer. Sellers can use this data to issue electronic invoices for business orders.\n\n**Note**: This attribute is only available for business orders in the Brazil, Mexico and India marketplaces.", + "description": "Tax information about the buyer.", "$ref": "#/definitions/BuyerTaxInfo" }, "PurchaseOrderNumber": { @@ -4522,7 +4546,7 @@ "type": "object", "properties": { "BuyerCustomizedInfo": { - "description": "Buyer information for custom orders from the Amazon Custom program.\n\n**Note**: This attribute is only available for MFN (Fulfilled by the seller) orders.", + "description": "Buyer information for custom orders from the Amazon Custom program.", "$ref": "#/definitions/BuyerCustomizedInfoDetail" }, "GiftWrapPrice": { @@ -4535,7 +4559,7 @@ }, "GiftMessageText": { "type": "string", - "description": "A gift message provided by the buyer.\n\n**Note**: This attribute is only available for MFN (Fulfilled by the seller) orders." + "description": "A gift message provided by the buyer." }, "GiftWrapLevel": { "type": "string", @@ -4566,8 +4590,8 @@ "type": "object", "properties": { "IsBuyerRequestedCancel": { - "type": "string", - "description": "Indicate whether the buyer has requested cancellation.\n\n**Possible Values**: `true`, `false`." + "type": "boolean", + "description": "When true, the buyer has requested cancellation." }, "BuyerCancelReason": { "type": "string", @@ -4665,7 +4689,7 @@ ] }, "ElectronicInvoiceStatus": { - "description": "The status of the electronic invoice. Only available for Easy Ship orders and orders in the BR marketplace.", + "description": "The status of the electronic invoice. Only available for Easy Ship orders and orders in the BR marketplace.", "type": "string", "enum": [ "NotRequired", @@ -4720,10 +4744,10 @@ }, "ConfirmShipmentErrorResponse": { "type": "object", - "description": "The error response schema for the `confirmShipment` operation.", + "description": "The error response schema for an shipment confirmation.", "properties": { "errors": { - "description": "One or more unexpected errors occurred during the `confirmShipment` operation.", + "description": "One or more unexpected errors occurred during the confirmShipment operation.", "$ref": "#/definitions/ErrorList" } } @@ -4744,7 +4768,7 @@ }, "carrierCode": { "type": "string", - "description": "Identifies the carrier that will deliver the package. This field is required for all marketplaces. For the acceptable `CarrierCode` value, refer to the list of CarrierCode." + "description": "Identifies the carrier that will deliver the package. This field is required for all marketplaces, see [reference](https://developer-docs.amazon.com/sp-api/changelog/carriercode-value-required-in-shipment-confirmations-for-br-mx-ca-sg-au-in-jp-marketplaces)." }, "carrierName": { "type": "string", From 792a391ef3048214c43bbd399faf960d45edb04d Mon Sep 17 00:00:00 2001 From: Alex Rupprecht Date: Wed, 31 Jan 2024 10:57:10 -0500 Subject: [PATCH 113/340] Updating with brazil extendedaddresses and iso 8601 links --- models/orders-api-model/ordersV0.json | 25 +++++++++++++++++++++++++ 1 file changed, 25 insertions(+) diff --git a/models/orders-api-model/ordersV0.json b/models/orders-api-model/ordersV0.json index 2526011f7..a780dc5c4 100644 --- a/models/orders-api-model/ordersV0.json +++ b/models/orders-api-model/ordersV0.json @@ -3616,6 +3616,9 @@ "type": "string", "description": "The phone number. Not returned for Fulfillment by Amazon (FBA) orders." }, + "ExtendedFields": { + "$ref": "#/definitions/AddressExtendedFields" + }, "AddressType": { "type": "string", "description": "The address type of the shipping address.", @@ -3637,6 +3640,28 @@ }, "description": "The shipping address for the order." }, + "AddressExtendedFields": { + "type": "object", + "properties": { + "StreetName": { + "type": "string", + "description": "The street name." + }, + "StreetNumber": { + "type": "string", + "description": "The house number/building number/property number in the street." + }, + "Complement": { + "type": "string", + "description": "The floor number/unit number in the building/private house number." + }, + "Neighborhood": { + "type": "string", + "description": "The neighborhood. It's smaller than a region and an integral part of an address. It is used in some countries like Brazil." + } + }, + "description": "The container for address extended fields. For example, street name or street number. Only available for Brazil shipping addresses as of now." + }, "DeliveryPreferences": { "type": "object", "properties": { From 9c60a30a64dcf54651d56b1337407a71193bc919 Mon Sep 17 00:00:00 2001 From: Gibran Waldron Date: Wed, 31 Jan 2024 09:24:54 -0800 Subject: [PATCH 114/340] Updated respective links to point to new notifications type values page. --- .../notifications-api-model/notifications.json | 16 ++++++++-------- 1 file changed, 8 insertions(+), 8 deletions(-) diff --git a/models/notifications-api-model/notifications.json b/models/notifications-api-model/notifications.json index 91dc810a8..d27d24684 100644 --- a/models/notifications-api-model/notifications.json +++ b/models/notifications-api-model/notifications.json @@ -432,7 +432,7 @@ "tags": [ "notifications" ], - "description": "Returns information about a subscription for the specified notification type. The `getSubscriptionById` operation is grantless. For more information, refer to [Grantless operations](https://developer-docs.amazon.com/sp-api/docs/grantless-operations) in the Selling Partner API Developer Guide.\n\n**Usage Plan:**\n\n| Rate (requests per second) | Burst |\n| ---- | ---- |\n| 1 | 5 |\n\nThe `x-amzn-RateLimit-Limit` response header returns the usage plan rate limits that were applied to the requested operation, when available. The table above indicates the default rate and burst values for this operation. Selling partners whose business demands require higher throughput may observe higher rate and burst values than those shown here. For more information, refer to [Usage Plans and Rate Limits in the Selling Partner API](https://developer-docs.amazon.com/sp-api/docs/usage-plans-and-rate-limits-in-the-sp-api).", + "description": "Returns information about a subscription for the specified notification type. The `getSubscriptionById` operation is grantless. For more information, refer to [Grantless operations](https://developer-docs.amazon.com/sp-api/docs/grantless-operations).\n\n**Usage Plan:**\n\n| Rate (requests per second) | Burst |\n| ---- | ---- |\n| 1 | 5 |\n\nThe `x-amzn-RateLimit-Limit` response header returns the usage plan rate limits that were applied to the requested operation, when available. The table above indicates the default rate and burst values for this operation. Selling partners whose business demands require higher throughput may observe higher rate and burst values than those shown here. For more information, refer to [Usage Plans and Rate Limits in the Selling Partner API](https://developer-docs.amazon.com/sp-api/docs/usage-plans-and-rate-limits-in-the-sp-api).", "operationId": "getSubscriptionById", "parameters": [ { @@ -634,7 +634,7 @@ "tags": [ "notifications" ], - "description": "Deletes the subscription indicated by the subscription identifier and notification type that you specify. The subscription identifier can be for any subscription associated with your application. After you successfully call this operation, notifications will stop being sent for the associated subscription. The `deleteSubscriptionById` operation is grantless. For more information, refer to [Grantless operations](https://developer-docs.amazon.com/sp-api/docs/grantless-operations) in the Selling Partner API Developer Guide.\n\n**Usage Plan:**\n\n| Rate (requests per second) | Burst |\n| ---- | ---- |\n| 1 | 5 |\n\nThe `x-amzn-RateLimit-Limit` response header returns the usage plan rate limits that were applied to the requested operation, when available. The table above indicates the default rate and burst values for this operation. Selling partners whose business demands require higher throughput may observe higher rate and burst values than those shown here. For more information, refer to [Usage Plans and Rate Limits in the Selling Partner API](https://developer-docs.amazon.com/sp-api/docs/usage-plans-and-rate-limits-in-the-sp-api).", + "description": "Deletes the subscription indicated by the subscription identifier and notification type that you specify. The subscription identifier can be for any subscription associated with your application. After you successfully call this operation, notifications will stop being sent for the associated subscription. The `deleteSubscriptionById` operation is grantless. For more information, refer to [Grantless operations](https://developer-docs.amazon.com/sp-api/docs/grantless-operations).\n\n**Usage Plan:**\n\n| Rate (requests per second) | Burst |\n| ---- | ---- |\n| 1 | 5 |\n\nThe `x-amzn-RateLimit-Limit` response header returns the usage plan rate limits that were applied to the requested operation, when available. The table above indicates the default rate and burst values for this operation. Selling partners whose business demands require higher throughput may observe higher rate and burst values than those shown here. For more information, refer to [Usage Plans and Rate Limits in the Selling Partner API](https://developer-docs.amazon.com/sp-api/docs/usage-plans-and-rate-limits-in-the-sp-api).", "operationId": "deleteSubscriptionById", "parameters": [ { @@ -826,7 +826,7 @@ "tags": [ "notifications" ], - "description": "Returns information about all destinations. The `getDestinations` operation is grantless. For more information, refer to [Grantless operations](https://developer-docs.amazon.com/sp-api/docs/grantless-operations) in the Selling Partner API Developer Guide.\n\n**Usage Plan:**\n\n| Rate (requests per second) | Burst |\n| ---- | ---- |\n| 1 | 5 |\n\nThe `x-amzn-RateLimit-Limit` response header returns the usage plan rate limits that were applied to the requested operation, when available. The table above indicates the default rate and burst values for this operation. Selling partners whose business demands require higher throughput may observe higher rate and burst values than those shown here. For more information, refer to [Usage Plans and Rate Limits in the Selling Partner API](https://developer-docs.amazon.com/sp-api/docs/usage-plans-and-rate-limits-in-the-sp-api).", + "description": "Returns information about all destinations. The `getDestinations` operation is grantless. For more information, refer to [Grantless operations](https://developer-docs.amazon.com/sp-api/docs/grantless-operations).\n\n**Usage Plan:**\n\n| Rate (requests per second) | Burst |\n| ---- | ---- |\n| 1 | 5 |\n\nThe `x-amzn-RateLimit-Limit` response header returns the usage plan rate limits that were applied to the requested operation, when available. The table above indicates the default rate and burst values for this operation. Selling partners whose business demands require higher throughput may observe higher rate and burst values than those shown here. For more information, refer to [Usage Plans and Rate Limits in the Selling Partner API](https://developer-docs.amazon.com/sp-api/docs/usage-plans-and-rate-limits-in-the-sp-api).", "operationId": "getDestinations", "parameters": [], "responses": { @@ -1029,7 +1029,7 @@ "tags": [ "notifications" ], - "description": "Creates a destination resource to receive notifications. The `createDestination` operation is grantless. For more information, refer to [Grantless operations](https://developer-docs.amazon.com/sp-api/docs/grantless-operations) in the Selling Partner API Developer Guide.\n\n**Usage Plan:**\n\n| Rate (requests per second) | Burst |\n| ---- | ---- |\n| 1 | 5 |\n\nThe `x-amzn-RateLimit-Limit` response header returns the usage plan rate limits that were applied to the requested operation, when available. The table above indicates the default rate and burst values for this operation. Selling partners whose business demands require higher throughput may observe higher rate and burst values than those shown here. For more information, refer to [Usage Plans and Rate Limits in the Selling Partner API](https://developer-docs.amazon.com/sp-api/docs/usage-plans-and-rate-limits-in-the-sp-api).", + "description": "Creates a destination resource to receive notifications. The `createDestination` operation is grantless. For more information, refer to [Grantless operations](https://developer-docs.amazon.com/sp-api/docs/grantless-operations).\n\n**Usage Plan:**\n\n| Rate (requests per second) | Burst |\n| ---- | ---- |\n| 1 | 5 |\n\nThe `x-amzn-RateLimit-Limit` response header returns the usage plan rate limits that were applied to the requested operation, when available. The table above indicates the default rate and burst values for this operation. Selling partners whose business demands require higher throughput may observe higher rate and burst values than those shown here. For more information, refer to [Usage Plans and Rate Limits in the Selling Partner API](https://developer-docs.amazon.com/sp-api/docs/usage-plans-and-rate-limits-in-the-sp-api).", "operationId": "createDestination", "parameters": [ { @@ -1239,7 +1239,7 @@ "tags": [ "notifications" ], - "description": "Returns information about the destination that you specify. The `getDestination` operation is grantless. For more information, refer to [Grantless operations](https://developer-docs.amazon.com/sp-api/docs/grantless-operations) in the Selling Partner API Developer Guide.\n\n**Usage Plan:**\n\n| Rate (requests per second) | Burst |\n| ---- | ---- |\n| 1 | 5 |\n\nThe `x-amzn-RateLimit-Limit` response header returns the usage plan rate limits that were applied to the requested operation, when available. The table above indicates the default rate and burst values for this operation. Selling partners whose business demands require higher throughput may observe higher rate and burst values than those shown here. For more information, refer to [Usage Plans and Rate Limits in the Selling Partner API](https://developer-docs.amazon.com/sp-api/docs/usage-plans-and-rate-limits-in-the-sp-api).", + "description": "Returns information about the destination that you specify. The `getDestination` operation is grantless. For more information, refer to [Grantless operations](https://developer-docs.amazon.com/sp-api/docs/grantless-operations).\n\n**Usage Plan:**\n\n| Rate (requests per second) | Burst |\n| ---- | ---- |\n| 1 | 5 |\n\nThe `x-amzn-RateLimit-Limit` response header returns the usage plan rate limits that were applied to the requested operation, when available. The table above indicates the default rate and burst values for this operation. Selling partners whose business demands require higher throughput may observe higher rate and burst values than those shown here. For more information, refer to [Usage Plans and Rate Limits in the Selling Partner API](https://developer-docs.amazon.com/sp-api/docs/usage-plans-and-rate-limits-in-the-sp-api).", "operationId": "getDestination", "parameters": [ { @@ -1446,7 +1446,7 @@ "tags": [ "notifications" ], - "description": "Deletes the destination that you specify. The `deleteDestination` operation is grantless. For more information, refer to [Grantless operations](https://developer-docs.amazon.com/sp-api/docs/grantless-operations) in the Selling Partner API Developer Guide.\n\n**Usage Plan:**\n\n| Rate (requests per second) | Burst |\n| ---- | ---- |\n| 1 | 5 |\n\nThe `x-amzn-RateLimit-Limit` response header returns the usage plan rate limits that were applied to the requested operation, when available. The table above indicates the default rate and burst values for this operation. Selling partners whose business demands require higher throughput may observe higher rate and burst values than those shown here. For more information, refer to [Usage Plans and Rate Limits in the Selling Partner API](https://developer-docs.amazon.com/sp-api/docs/usage-plans-and-rate-limits-in-the-sp-api).", + "description": "Deletes the destination that you specify. The `deleteDestination` operation is grantless. For more information, refer to [Grantless operations](https://developer-docs.amazon.com/sp-api/docs/grantless-operations).\n\n**Usage Plan:**\n\n| Rate (requests per second) | Burst |\n| ---- | ---- |\n| 1 | 5 |\n\nThe `x-amzn-RateLimit-Limit` response header returns the usage plan rate limits that were applied to the requested operation, when available. The table above indicates the default rate and burst values for this operation. Selling partners whose business demands require higher throughput may observe higher rate and burst values than those shown here. For more information, refer to [Usage Plans and Rate Limits in the Selling Partner API](https://developer-docs.amazon.com/sp-api/docs/usage-plans-and-rate-limits-in-the-sp-api).", "operationId": "deleteDestination", "parameters": [ { @@ -1664,7 +1664,7 @@ "ANY_OFFER_CHANGED", "ORDER_CHANGE" ], - "description": "An `eventFilterType` value that is supported by the specific `notificationType`. This is used by the subscription service to determine the type of event filter. Refer to the section of the [Notifications Use Case Guide](https://developer-docs.amazon.com/sp-api/docs/notifications-api-v1-use-case-guide) that describes the specific `notificationType` to determine if an `eventFilterType` is supported." + "description": "An `eventFilterType` value that is supported by the specific `notificationType`. This is used by the subscription service to determine the type of event filter. Refer to [Notification Type Values](https://developer-docs.amazon.com/sp-api/docs/notification-type-values) to determine if an `eventFilterType` is supported." } }, "required": [ @@ -2079,7 +2079,7 @@ "NotificationType": { "name": "notificationType", "in": "path", - "description": "The type of notification.\n\n For more information about notification types, refer to [the Notifications API Use Case Guide](https://developer-docs.amazon.com/sp-api/docs/notifications-api-v1-use-case-guide).", + "description": "The type of notification.\n\n For more information about notification types, refer to [Notification Type Values](https://developer-docs.amazon.com/sp-api/docs/notification-type-values).", "required": true, "type": "string" } From 607320efdea946ce2441d0a753f1c400ccbe51b7 Mon Sep 17 00:00:00 2001 From: Jack Evoniuk Date: Wed, 31 Jan 2024 09:52:07 -0800 Subject: [PATCH 115/340] Update Listings Items 2021 model --- .../listingsItems_2021-08-01.json | 307 +++++++++++++++++- 1 file changed, 302 insertions(+), 5 deletions(-) diff --git a/models/listings-items-api-model/listingsItems_2021-08-01.json b/models/listings-items-api-model/listingsItems_2021-08-01.json index d1c386079..917f6dc08 100644 --- a/models/listings-items-api-model/listingsItems_2021-08-01.json +++ b/models/listings-items-api-model/listingsItems_2021-08-01.json @@ -318,7 +318,7 @@ }, "collectionFormat": "csv", "x-example": "summaries", - "default": "summaries" + "default": ["summaries"] } ], "responses": { @@ -708,7 +708,7 @@ "tags": [ "listings" ], - "description": "Partially update (patch) a listings item for a selling partner. Only top-level listings item attributes can be patched. Patching nested attributes is not supported.\n\n**Note:** The parameters associated with this operation may contain special characters that must be encoded to successfully call the API. To avoid errors with SKUs when encoding URLs, refer to [URL Encoding](https://developer-docs.amazon.com/sp-api/docs/url-encoding).\n\n**Usage Plan:**\n\n| Rate (requests per second) | Burst |\n| ---- | ---- |\n| 5 | 10 |\n\nThe `x-amzn-RateLimit-Limit` response header returns the usage plan rate limits that were applied to the requested operation, when available. The table above indicates the default rate and burst values for this operation. Selling partners whose business demands require higher throughput may see higher rate and burst values than those shown here. For more information, see [Usage Plans and Rate Limits in the Selling Partner API](https://developer-docs.amazon.com/sp-api/docs/usage-plans-and-rate-limits-in-the-sp-api).", + "description": "Partially update (patch) a listings item for a selling partner. Only top-level listings item attributes can be patched. Patching nested attributes is not supported.\n\n**Note:** This operation has a throttling rate of one request per second when `mode` is `VALIDATION_PREVIEW`.\n\n**Note:** The parameters associated with this operation may contain special characters that must be encoded to successfully call the API. To avoid errors with SKUs when encoding URLs, refer to [URL Encoding](https://developer-docs.amazon.com/sp-api/docs/url-encoding).\n\n**Usage Plan:**\n\n| Rate (requests per second) | Burst |\n| ---- | ---- |\n| 5 | 10 |\n\nThe `x-amzn-RateLimit-Limit` response header returns the usage plan rate limits that were applied to the requested operation, when available. The table above indicates the default rate and burst values for this operation. Selling partners whose business demands require higher throughput may see higher rate and burst values than those shown here. For more information, see [Usage Plans and Rate Limits in the Selling Partner API](https://developer-docs.amazon.com/sp-api/docs/usage-plans-and-rate-limits-in-the-sp-api).", "operationId": "patchListingsItem", "consumes": [ "application/json" @@ -743,6 +743,50 @@ "collectionFormat": "csv", "x-example": "ATVPDKIKX0DER" }, + { + "name": "includedData", + "description": "A comma-delimited list of data sets to include in the response. Default: `issues`.", + "in": "query", + "required": false, + "type": "array", + "items": { + "enum": [ + "identifiers", + "issues" + ], + "x-docgen-enum-table-extension": [ + { + "value": "identifiers", + "description": "Identifiers associated with the item in the Amazon catalog, such as Amazon Standard Identification Number (ASIN). Can only be requested when `mode` is `VALIDATION_PREVIEW`." + }, + { + "value": "issues", + "description": "The issues associated with the listing item." + } + ], + "type": "string" + }, + "collectionFormat": "csv", + "x-example": "issues", + "default": ["issues"] + }, + { + "name": "mode", + "description": "The mode of operation for the request.", + "in": "query", + "enum": [ + "VALIDATION_PREVIEW" + ], + "x-docgen-enum-table-extension": [ + { + "value": "VALIDATION_PREVIEW", + "description": "Indicates the submitted data should be validated without persisting to the selling partner's catalog." + } + ], + "required": false, + "type": "string", + "x-example": "VALIDATION_PREVIEW" + }, { "name": "issueLocale", "description": "A locale for localization of issues. When not provided, the default language code of the first marketplace is used. Examples: `en_US`, `fr_CA`, `fr_FR`. Localized messages default to `en_US` when a localization is not available in the specified locale.", @@ -800,6 +844,91 @@ "submissionId": "f1dc2914-75dd-11ea-bc55-0242ac130003", "issues": [] } + }, + { + "request": { + "parameters": { + "sku": { + "value": "VALIDATION_VALID" + }, + "marketplaceIds": { + "value": [ + "ATVPDKIKX0DER" + ] + }, + "includedData": { + "value": [ + "identifiers", + "issues" + ] + }, + "mode": { + "value": "VALIDATION_PREVIEW" + } + } + }, + "response": { + "sku": "VALIDATION_VALID", + "status": "VALID", + "submissionId": "1edc94ea-a3d7-210b-42bc-0ec72c1384762", + "identifiers": [ + { + "marketplaceId": "ATVPDKIKX0DER", + "asin": "B07N4M94X4" + } + ], + "issues": [] + } + }, + { + "request": { + "parameters": { + "sku": { + "value": "VALIDATION_INVALID" + }, + "marketplaceIds": { + "value": [ + "ATVPDKIKX0DER" + ] + }, + "includedData": { + "value": [ + "identifiers", + "issues" + ] + }, + "mode": { + "value": "VALIDATION_PREVIEW" + } + } + }, + "response": { + "sku": "VALIDATION_INVALID", + "status": "INVALID", + "submissionId": "a1c562c2-1695-11ee-be56-0242ac120002", + "identifiers": [], + "issues": [ + { + "code":"90000900", + "message":"The attributes are invalid.", + "severity":"ERROR", + "attributeNames": [ + "fake_attribute" + ], + "categories": ["INVALID_ATTRIBUTE"], + "enforcements": { + "actions": [ + { + "action": "ATTRIBUTE_SUPPRESSED" + } + ], + "exemption": { + "status": "NOT_EXEMPT" + } + } + } + ] + } } ] } @@ -920,7 +1049,7 @@ "tags": [ "listings" ], - "description": "Creates or fully updates an existing listings item for a selling partner.\n\n**Note:** The parameters associated with this operation may contain special characters that must be encoded to successfully call the API. To avoid errors with SKUs when encoding URLs, refer to [URL Encoding](https://developer-docs.amazon.com/sp-api/docs/url-encoding).\n\n**Usage Plan:**\n\n| Rate (requests per second) | Burst |\n| ---- | ---- |\n| 5 | 10 |\n\nThe `x-amzn-RateLimit-Limit` response header returns the usage plan rate limits that were applied to the requested operation, when available. The table above indicates the default rate and burst values for this operation. Selling partners whose business demands require higher throughput may see higher rate and burst values than those shown here. For more information, see [Usage Plans and Rate Limits in the Selling Partner API](https://developer-docs.amazon.com/sp-api/docs/usage-plans-and-rate-limits-in-the-sp-api).", + "description": "Creates or fully updates an existing listings item for a selling partner.\n\n**Note:** This operation has a throttling rate of one request per second when `mode` is `VALIDATION_PREVIEW`.\n\n**Note:** The parameters associated with this operation may contain special characters that must be encoded to successfully call the API. To avoid errors with SKUs when encoding URLs, refer to [URL Encoding](https://developer-docs.amazon.com/sp-api/docs/url-encoding).\n\n**Usage Plan:**\n\n| Rate (requests per second) | Burst |\n| ---- | ---- |\n| 5 | 10 |\n\nThe `x-amzn-RateLimit-Limit` response header returns the usage plan rate limits that were applied to the requested operation, when available. The table above indicates the default rate and burst values for this operation. Selling partners whose business demands require higher throughput may see higher rate and burst values than those shown here. For more information, see [Usage Plans and Rate Limits in the Selling Partner API](https://developer-docs.amazon.com/sp-api/docs/usage-plans-and-rate-limits-in-the-sp-api).", "operationId": "putListingsItem", "consumes": [ "application/json" @@ -955,6 +1084,50 @@ "collectionFormat": "csv", "x-example": "ATVPDKIKX0DER" }, + { + "name": "includedData", + "description": "A comma-delimited list of data sets to include in the response. Default: `issues`.", + "in": "query", + "required": false, + "type": "array", + "items": { + "enum": [ + "identifiers", + "issues" + ], + "x-docgen-enum-table-extension": [ + { + "value": "identifiers", + "description": "Identifiers associated with the item in the Amazon catalog, such as Amazon Standard Identification Number (ASIN). Can only be requested when `mode` is `VALIDATION_PREVIEW`." + }, + { + "value": "issues", + "description": "The issues associated with the listing item." + } + ], + "type": "string" + }, + "collectionFormat": "csv", + "x-example": "issues", + "default": ["issues"] + }, + { + "name": "mode", + "description": "The mode of operation for the request.", + "in": "query", + "enum": [ + "VALIDATION_PREVIEW" + ], + "x-docgen-enum-table-extension": [ + { + "value": "VALIDATION_PREVIEW", + "description": "Indicates the submitted data should be validated without persisting to the selling partner's catalog." + } + ], + "required": false, + "type": "string", + "x-example": "VALIDATION_PREVIEW" + }, { "name": "issueLocale", "description": "A locale for localization of issues. When not provided, the default language code of the first marketplace is used. Examples: `en_US`, `fr_CA`, `fr_FR`. Localized messages default to `en_US` when a localization is not available in the specified locale.", @@ -1012,6 +1185,100 @@ "submissionId": "f1dc2914-75dd-11ea-bc55-0242ac130003", "issues": [] } + }, + { + "request": { + "parameters": { + "sku": { + "value": "VALIDATION_VALID" + }, + "marketplaceIds": { + "value": [ + "ATVPDKIKX0DER" + ] + }, + "includedData": { + "value": [ + "identifiers", + "issues" + ] + }, + "mode": { + "value": "VALIDATION_PREVIEW" + } + } + }, + "response": { + "sku": "VALIDATION_VALID", + "status": "VALID", + "submissionId": "1edc94ea-a3d7-210b-42bc-0ec72c1384762", + "identifiers": [ + { + "marketplaceId": "ATVPDKIKX0DER", + "asin": "B07N4M94X4" + } + ], + "issues": [] + } + }, + { + "request": { + "parameters": { + "sku": { + "value": "VALIDATION_INVALID" + }, + "marketplaceIds": { + "value": [ + "ATVPDKIKX0DER" + ] + }, + "includedData": { + "value": [ + "identifiers", + "issues" + ] + }, + "mode": { + "value": "VALIDATION_PREVIEW" + } + } + }, + "response": { + "sku": "VALIDATION_INVALID", + "status": "INVALID", + "submissionId": "a1c562c2-1695-11ee-be56-0242ac120002", + "identifiers": [], + "issues": [ + { + "code":"90220", + "message":"'condition_type' is required but not supplied.", + "severity":"ERROR", + "attributeNames": [ + "condition_type" + ], + "categories": ["MISSING_ATTRIBUTE"], + "enforcements": { + "actions": [ + { + "action": "LISTING_SUPPRESSED" + } + ], + "exemption": { + "status": "NOT_EXEMPT" + } + } + }, + { + "code":"90000900", + "message":"The attributes are invalid.", + "severity":"ERROR", + "attributeNames": [ + "fake_attribute" + ], + "categories": [] + } + ] + } } ] } @@ -1759,7 +2026,8 @@ "description": "The status of the listings item submission.", "enum": [ "ACCEPTED", - "INVALID" + "INVALID", + "VALID" ], "x-docgen-enum-table-extension": [ { @@ -1769,6 +2037,10 @@ { "value": "INVALID", "description": "The listings submission was not valid and was not accepted for processing." + }, + { + "value": "VALID", + "description": "The listings submission was valid. Only returned when the `mode` is `VALIDATION_PREVIEW`." } ], "type": "string" @@ -1783,6 +2055,10 @@ "items": { "$ref": "#/definitions/Issue" } + }, + "identifiers": { + "description": "Identity attributes associated with the item in the Amazon catalog, such as the ASIN.", + "$ref": "#/definitions/ItemIdentifiers" } }, "required": [ @@ -1791,6 +2067,27 @@ "submissionId" ], "type": "object" + }, + "ItemIdentifiers": { + "description": "Identity attributes associated with the item in the Amazon catalog, such as the ASIN.", + "items": { + "$ref": "#/definitions/ItemIdentifiersByMarketplace" + }, + "type": "array" + }, + "ItemIdentifiersByMarketplace": { + "description": "Identity attributes associated with the item in the Amazon catalog for the indicated Amazon marketplace.", + "properties": { + "marketplaceId": { + "description": "A marketplace identifier. Identifies the Amazon marketplace for the listings item.", + "type": "string" + }, + "asin": { + "description": "Amazon Standard Identification Number (ASIN) of the listings item.", + "type": "string" + } + }, + "type": "object" } } -} +} \ No newline at end of file From 07e110e4e1a66bddae128cf0ce31cd9386f4c1a9 Mon Sep 17 00:00:00 2001 From: Alex Rupprecht Date: Wed, 31 Jan 2024 13:55:28 -0500 Subject: [PATCH 116/340] Update ShipsInPackage for release --- .../fulfillmentInboundV0.json | 608 ++++++++++++++++-- 1 file changed, 544 insertions(+), 64 deletions(-) diff --git a/models/fulfillment-inbound-api-model/fulfillmentInboundV0.json b/models/fulfillment-inbound-api-model/fulfillmentInboundV0.json index a7af1bade..df45bb5f2 100644 --- a/models/fulfillment-inbound-api-model/fulfillmentInboundV0.json +++ b/models/fulfillment-inbound-api-model/fulfillmentInboundV0.json @@ -24,6 +24,254 @@ "application/json" ], "paths": { + "/fba/inbound/v0/itemsGuidance": { + "get": { + "tags": [ + "fbaInbound" + ], + "description": "Returns information that lets a seller know if Amazon recommends sending an item to a given marketplace. In some cases, Amazon provides guidance for why a given SellerSKU or ASIN is not recommended for shipment to Amazon's fulfillment network. Sellers may still ship items that are not recommended, at their discretion.\n\n**Usage Plan:**\n\n| Rate (requests per second) | Burst |\n| ---- | ---- |\n| 2 | 30 |\n\nThe `x-amzn-RateLimit-Limit` response header returns the usage plan rate limits that were applied to the requested operation, when available. The table above indicates the default rate and burst values for this operation. Selling partners whose business demands require higher throughput may see higher rate and burst values than those shown here. For more information, see [Usage Plans and Rate Limits in the Selling Partner API](https://developer-docs.amazon.com/sp-api/docs/usage-plans-and-rate-limits-in-the-sp-api).", + "operationId": "getInboundGuidance", + "deprecated": true, + "parameters": [ + { + "name": "MarketplaceId", + "in": "query", + "description": "A marketplace identifier. Specifies the marketplace where the product would be stored.", + "required": true, + "type": "string" + }, + { + "name": "SellerSKUList", + "in": "query", + "description": "A list of SellerSKU values. Used to identify items for which you want inbound guidance for shipment to Amazon's fulfillment network. Note: SellerSKU is qualified by the SellerId, which is included with every Selling Partner API operation that you submit. If you specify a SellerSKU that identifies a variation parent ASIN, this operation returns an error. A variation parent ASIN represents a generic product that cannot be sold. Variation child ASINs represent products that have specific characteristics (such as size and color) and can be sold. ", + "required": false, + "type": "array", + "items": { + "type": "string" + }, + "maxItems": 50 + }, + { + "name": "ASINList", + "in": "query", + "description": "A list of ASIN values. Used to identify items for which you want inbound guidance for shipment to Amazon's fulfillment network. Note: If you specify a ASIN that identifies a variation parent ASIN, this operation returns an error. A variation parent ASIN represents a generic product that cannot be sold. Variation child ASINs represent products that have specific characteristics (such as size and color) and can be sold.", + "required": false, + "type": "array", + "items": { + "type": "string" + }, + "maxItems": 50 + } + ], + "responses": { + "200": { + "description": "Success.", + "schema": { + "$ref": "#/definitions/GetInboundGuidanceResponse" + }, + "headers": { + "x-amzn-RateLimit-Limit": { + "type": "string", + "description": "Your rate limit (requests per second) for this operation." + }, + "x-amzn-RequestId": { + "type": "string", + "description": "Unique request reference identifier." + } + }, + "x-amzn-api-sandbox": { + "static": [ + { + "request": { + "parameters": { + "MarketplaceId": { + "value": "MarketplaceId" + }, + "SellerSKUList": { + "value": [ + "sku1", + "sku2" + ] + } + } + }, + "response": { + "payload": { + "SKUInboundGuidanceList": [ + { + "SellerSKU": "SellerSKU", + "ASIN": "ASIN", + "InboundGuidance": "InboundNotRecommended", + "GuidanceReasonList": [ + "SlowMovingASIN" + ] + } + ], + "InvalidSKUList": [ + { + "SellerSKU": "SellerSKU", + "ErrorReason": "DoesNotExist" + } + ], + "ASINInboundGuidanceList": [ + { + "ASIN": "ASIN", + "InboundGuidance": "InboundNotRecommended", + "GuidanceReasonList": [ + "SlowMovingASIN" + ] + } + ], + "InvalidASINList": [ + { + "ASIN": "ASIN", + "ErrorReason": "DoesNotExist" + } + ] + } + } + } + ] + } + }, + "400": { + "description": "Request has missing or invalid parameters and cannot be parsed.", + "schema": { + "$ref": "#/definitions/GetInboundGuidanceResponse" + }, + "headers": { + "x-amzn-RateLimit-Limit": { + "type": "string", + "description": "Your rate limit (requests per second) for this operation." + }, + "x-amzn-RequestId": { + "type": "string", + "description": "Unique request reference identifier." + } + }, + "x-amzn-api-sandbox": { + "static": [ + { + "request": { + "parameters": { + "MarketplaceId": { + "value": "BADVALUE" + }, + "SellerSKUList": { + "value": [ + "sku1", + "sku2" + ] + } + } + }, + "response": { + "errors": [ + { + "code": "Invalid Input", + "message": "MarketplaceId is incorrect" + } + ] + } + } + ] + } + }, + "401": { + "description": "The request's Authorization header is not formatted correctly or does not contain a valid token.", + "schema": { + "$ref": "#/definitions/GetInboundGuidanceResponse" + }, + "headers": { + "x-amzn-RateLimit-Limit": { + "type": "string", + "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." + }, + "x-amzn-RequestId": { + "type": "string", + "description": "Unique request reference identifier." + } + } + }, + "403": { + "description": "Indicates that access to the resource is forbidden. Possible reasons include Access Denied, Unauthorized, Expired Token, or Invalid Signature.", + "schema": { + "$ref": "#/definitions/GetInboundGuidanceResponse" + }, + "headers": { + "x-amzn-RequestId": { + "type": "string", + "description": "Unique request reference identifier." + } + } + }, + "404": { + "description": "The specified resource does not exist.", + "schema": { + "$ref": "#/definitions/GetInboundGuidanceResponse" + }, + "headers": { + "x-amzn-RateLimit-Limit": { + "type": "string", + "description": "Your rate limit (requests per second) for this operation." + }, + "x-amzn-RequestId": { + "type": "string", + "description": "Unique request reference identifier." + } + } + }, + "429": { + "description": "The frequency of requests was greater than allowed.", + "schema": { + "$ref": "#/definitions/GetInboundGuidanceResponse" + }, + "headers": { + "x-amzn-RateLimit-Limit": { + "type": "string", + "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." + }, + "x-amzn-RequestId": { + "type": "string", + "description": "Unique request reference identifier." + } + } + }, + "500": { + "description": "An unexpected condition occurred that prevented the server from fulfilling the request.", + "schema": { + "$ref": "#/definitions/GetInboundGuidanceResponse" + }, + "headers": { + "x-amzn-RateLimit-Limit": { + "type": "string", + "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." + }, + "x-amzn-RequestId": { + "type": "string", + "description": "Unique request reference identifier." + } + } + }, + "503": { + "description": "Temporary overloading or maintenance of the server.", + "schema": { + "$ref": "#/definitions/GetInboundGuidanceResponse" + }, + "headers": { + "x-amzn-RateLimit-Limit": { + "type": "string", + "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." + }, + "x-amzn-RequestId": { + "type": "string", + "description": "Unique request reference identifier." + } + } + } + } + } + }, "/fba/inbound/v0/plans": { "post": { "tags": [ @@ -31,7 +279,6 @@ ], "description": "Returns one or more inbound shipment plans, which provide the information you need to create one or more inbound shipments for a set of items that you specify. Multiple inbound shipment plans might be required so that items can be optimally placed in Amazon's fulfillment network—for example, positioning inventory closer to the customer. Alternatively, two inbound shipment plans might be created with the same Amazon fulfillment center destination if the two shipment plans require different processing—for example, items that require labels must be shipped separately from stickerless, commingled inventory.\n\n**Usage Plan:**\n\n| Rate (requests per second) | Burst |\n| ---- | ---- |\n| 2 | 30 |\n\nThe `x-amzn-RateLimit-Limit` response header returns the usage plan rate limits that were applied to the requested operation, when available. The table above indicates the default rate and burst values for this operation. Selling partners whose business demands require higher throughput may see higher rate and burst values than those shown here. For more information, see [Usage Plans and Rate Limits in the Selling Partner API](https://developer-docs.amazon.com/sp-api/docs/usage-plans-and-rate-limits-in-the-sp-api).", "operationId": "createInboundShipmentPlan", - "deprecated": true, "parameters": [ { "in": "body", @@ -39,8 +286,7 @@ "required": true, "schema": { "$ref": "#/definitions/CreateInboundShipmentPlanRequest" - }, - "description": "The request schema for the CreateInboundShipmentPlanRequest operation." + } } ], "responses": { @@ -219,6 +465,10 @@ "$ref": "#/definitions/CreateInboundShipmentPlanResponse" }, "headers": { + "x-amzn-RateLimit-Limit": { + "type": "string", + "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." + }, "x-amzn-RequestId": { "type": "string", "description": "Unique request reference identifier." @@ -259,6 +509,10 @@ "$ref": "#/definitions/CreateInboundShipmentPlanResponse" }, "headers": { + "x-amzn-RateLimit-Limit": { + "type": "string", + "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." + }, "x-amzn-RequestId": { "type": "string", "description": "Unique request reference identifier." @@ -271,6 +525,10 @@ "$ref": "#/definitions/CreateInboundShipmentPlanResponse" }, "headers": { + "x-amzn-RateLimit-Limit": { + "type": "string", + "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." + }, "x-amzn-RequestId": { "type": "string", "description": "Unique request reference identifier." @@ -283,6 +541,10 @@ "$ref": "#/definitions/CreateInboundShipmentPlanResponse" }, "headers": { + "x-amzn-RateLimit-Limit": { + "type": "string", + "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." + }, "x-amzn-RequestId": { "type": "string", "description": "Unique request reference identifier." @@ -299,7 +561,6 @@ ], "description": "Returns a new inbound shipment based on the specified shipmentId that was returned by the createInboundShipmentPlan operation.\n\n**Usage Plan:**\n\n| Rate (requests per second) | Burst |\n| ---- | ---- |\n| 2 | 30 |\n\nThe `x-amzn-RateLimit-Limit` response header returns the usage plan rate limits that were applied to the requested operation, when available. The table above indicates the default rate and burst values for this operation. Selling partners whose business demands require higher throughput may see higher rate and burst values than those shown here. For more information, see [Usage Plans and Rate Limits in the Selling Partner API](https://developer-docs.amazon.com/sp-api/docs/usage-plans-and-rate-limits-in-the-sp-api).", "operationId": "createInboundShipment", - "deprecated": true, "parameters": [ { "in": "body", @@ -307,8 +568,7 @@ "required": true, "schema": { "$ref": "#/definitions/InboundShipmentRequest" - }, - "description": "The request schema for the InboundShipmentRequest operation." + } }, { "name": "shipmentId", @@ -461,6 +721,10 @@ "$ref": "#/definitions/InboundShipmentResponse" }, "headers": { + "x-amzn-RateLimit-Limit": { + "type": "string", + "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." + }, "x-amzn-RequestId": { "type": "string", "description": "Unique request reference identifier." @@ -501,6 +765,10 @@ "$ref": "#/definitions/InboundShipmentResponse" }, "headers": { + "x-amzn-RateLimit-Limit": { + "type": "string", + "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." + }, "x-amzn-RequestId": { "type": "string", "description": "Unique request reference identifier." @@ -513,6 +781,10 @@ "$ref": "#/definitions/InboundShipmentResponse" }, "headers": { + "x-amzn-RateLimit-Limit": { + "type": "string", + "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." + }, "x-amzn-RequestId": { "type": "string", "description": "Unique request reference identifier." @@ -525,6 +797,10 @@ "$ref": "#/definitions/InboundShipmentResponse" }, "headers": { + "x-amzn-RateLimit-Limit": { + "type": "string", + "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." + }, "x-amzn-RequestId": { "type": "string", "description": "Unique request reference identifier." @@ -539,7 +815,6 @@ ], "description": "Updates or removes items from the inbound shipment identified by the specified shipment identifier. Adding new items is not supported.\n\n**Usage Plan:**\n\n| Rate (requests per second) | Burst |\n| ---- | ---- |\n| 2 | 30 |\n\nThe `x-amzn-RateLimit-Limit` response header returns the usage plan rate limits that were applied to the requested operation, when available. The table above indicates the default rate and burst values for this operation. Selling partners whose business demands require higher throughput may see higher rate and burst values than those shown here. For more information, see [Usage Plans and Rate Limits in the Selling Partner API](https://developer-docs.amazon.com/sp-api/docs/usage-plans-and-rate-limits-in-the-sp-api).", "operationId": "updateInboundShipment", - "deprecated": true, "parameters": [ { "in": "body", @@ -547,8 +822,7 @@ "required": true, "schema": { "$ref": "#/definitions/InboundShipmentRequest" - }, - "description": "The request schema for the InboundShipmentRequest operation." + } }, { "name": "shipmentId", @@ -684,6 +958,10 @@ "$ref": "#/definitions/InboundShipmentResponse" }, "headers": { + "x-amzn-RateLimit-Limit": { + "type": "string", + "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." + }, "x-amzn-RequestId": { "type": "string", "description": "Unique request reference identifier." @@ -724,6 +1002,10 @@ "$ref": "#/definitions/InboundShipmentResponse" }, "headers": { + "x-amzn-RateLimit-Limit": { + "type": "string", + "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." + }, "x-amzn-RequestId": { "type": "string", "description": "Unique request reference identifier." @@ -736,6 +1018,10 @@ "$ref": "#/definitions/InboundShipmentResponse" }, "headers": { + "x-amzn-RateLimit-Limit": { + "type": "string", + "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." + }, "x-amzn-RequestId": { "type": "string", "description": "Unique request reference identifier." @@ -748,6 +1034,10 @@ "$ref": "#/definitions/InboundShipmentResponse" }, "headers": { + "x-amzn-RateLimit-Limit": { + "type": "string", + "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." + }, "x-amzn-RequestId": { "type": "string", "description": "Unique request reference identifier." @@ -764,7 +1054,6 @@ ], "description": "Returns pre-order information, including dates, that a seller needs before confirming a shipment for pre-order. \n\n**Usage Plan:**\n\n| Rate (requests per second) | Burst |\n| ---- | ---- |\n| 2 | 30 |\n\nThe `x-amzn-RateLimit-Limit` response header returns the usage plan rate limits that were applied to the requested operation, when available. The table above indicates the default rate and burst values for this operation. Selling partners whose business demands require higher throughput may see higher rate and burst values than those shown here. For more information, see [Usage Plans and Rate Limits in the Selling Partner API](https://developer-docs.amazon.com/sp-api/docs/usage-plans-and-rate-limits-in-the-sp-api).", "operationId": "getPreorderInfo", - "deprecated": true, "parameters": [ { "name": "shipmentId", @@ -868,6 +1157,10 @@ "$ref": "#/definitions/GetPreorderInfoResponse" }, "headers": { + "x-amzn-RateLimit-Limit": { + "type": "string", + "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." + }, "x-amzn-RequestId": { "type": "string", "description": "Unique request reference identifier." @@ -908,6 +1201,10 @@ "$ref": "#/definitions/GetPreorderInfoResponse" }, "headers": { + "x-amzn-RateLimit-Limit": { + "type": "string", + "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." + }, "x-amzn-RequestId": { "type": "string", "description": "Unique request reference identifier." @@ -920,6 +1217,10 @@ "$ref": "#/definitions/GetPreorderInfoResponse" }, "headers": { + "x-amzn-RateLimit-Limit": { + "type": "string", + "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." + }, "x-amzn-RequestId": { "type": "string", "description": "Unique request reference identifier." @@ -932,6 +1233,10 @@ "$ref": "#/definitions/GetPreorderInfoResponse" }, "headers": { + "x-amzn-RateLimit-Limit": { + "type": "string", + "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." + }, "x-amzn-RequestId": { "type": "string", "description": "Unique request reference identifier." @@ -948,7 +1253,6 @@ ], "description": "Returns information needed to confirm a shipment for pre-order. Call this operation after calling the getPreorderInfo operation to get the NeedByDate value and other pre-order information about the shipment.\n\n**Usage Plan:**\n\n| Rate (requests per second) | Burst |\n| ---- | ---- |\n| 2 | 30 |\n\nThe `x-amzn-RateLimit-Limit` response header returns the usage plan rate limits that were applied to the requested operation, when available. The table above indicates the default rate and burst values for this operation. Selling partners whose business demands require higher throughput may see higher rate and burst values than those shown here. For more information, see [Usage Plans and Rate Limits in the Selling Partner API](https://developer-docs.amazon.com/sp-api/docs/usage-plans-and-rate-limits-in-the-sp-api).", "operationId": "confirmPreorder", - "deprecated": true, "parameters": [ { "name": "shipmentId", @@ -1064,6 +1368,10 @@ "$ref": "#/definitions/ConfirmPreorderResponse" }, "headers": { + "x-amzn-RateLimit-Limit": { + "type": "string", + "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." + }, "x-amzn-RequestId": { "type": "string", "description": "Unique request reference identifier." @@ -1104,6 +1412,10 @@ "$ref": "#/definitions/ConfirmPreorderResponse" }, "headers": { + "x-amzn-RateLimit-Limit": { + "type": "string", + "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." + }, "x-amzn-RequestId": { "type": "string", "description": "Unique request reference identifier." @@ -1116,6 +1428,10 @@ "$ref": "#/definitions/ConfirmPreorderResponse" }, "headers": { + "x-amzn-RateLimit-Limit": { + "type": "string", + "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." + }, "x-amzn-RequestId": { "type": "string", "description": "Unique request reference identifier." @@ -1128,6 +1444,10 @@ "$ref": "#/definitions/ConfirmPreorderResponse" }, "headers": { + "x-amzn-RateLimit-Limit": { + "type": "string", + "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." + }, "x-amzn-RequestId": { "type": "string", "description": "Unique request reference identifier." @@ -1305,6 +1625,10 @@ "$ref": "#/definitions/GetPrepInstructionsResponse" }, "headers": { + "x-amzn-RateLimit-Limit": { + "type": "string", + "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." + }, "x-amzn-RequestId": { "type": "string", "description": "Unique request reference identifier." @@ -1345,6 +1669,10 @@ "$ref": "#/definitions/GetPrepInstructionsResponse" }, "headers": { + "x-amzn-RateLimit-Limit": { + "type": "string", + "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." + }, "x-amzn-RequestId": { "type": "string", "description": "Unique request reference identifier." @@ -1357,6 +1685,10 @@ "$ref": "#/definitions/GetPrepInstructionsResponse" }, "headers": { + "x-amzn-RateLimit-Limit": { + "type": "string", + "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." + }, "x-amzn-RequestId": { "type": "string", "description": "Unique request reference identifier." @@ -1369,6 +1701,10 @@ "$ref": "#/definitions/GetPrepInstructionsResponse" }, "headers": { + "x-amzn-RateLimit-Limit": { + "type": "string", + "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." + }, "x-amzn-RequestId": { "type": "string", "description": "Unique request reference identifier." @@ -1385,7 +1721,6 @@ ], "description": "Returns current transportation information about an inbound shipment.\n\n**Usage Plan:**\n\n| Rate (requests per second) | Burst |\n| ---- | ---- |\n| 2 | 30 |\n\nThe `x-amzn-RateLimit-Limit` response header returns the usage plan rate limits that were applied to the requested operation, when available. The table above indicates the default rate and burst values for this operation. Selling partners whose business demands require higher throughput may see higher rate and burst values than those shown here. For more information, see [Usage Plans and Rate Limits in the Selling Partner API](https://developer-docs.amazon.com/sp-api/docs/usage-plans-and-rate-limits-in-the-sp-api).", "operationId": "getTransportDetails", - "deprecated": true, "parameters": [ { "name": "shipmentId", @@ -1503,6 +1838,10 @@ "$ref": "#/definitions/GetTransportDetailsResponse" }, "headers": { + "x-amzn-RateLimit-Limit": { + "type": "string", + "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." + }, "x-amzn-RequestId": { "type": "string", "description": "Unique request reference identifier." @@ -1543,6 +1882,10 @@ "$ref": "#/definitions/GetTransportDetailsResponse" }, "headers": { + "x-amzn-RateLimit-Limit": { + "type": "string", + "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." + }, "x-amzn-RequestId": { "type": "string", "description": "Unique request reference identifier." @@ -1555,6 +1898,10 @@ "$ref": "#/definitions/GetTransportDetailsResponse" }, "headers": { + "x-amzn-RateLimit-Limit": { + "type": "string", + "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." + }, "x-amzn-RequestId": { "type": "string", "description": "Unique request reference identifier." @@ -1567,6 +1914,10 @@ "$ref": "#/definitions/GetTransportDetailsResponse" }, "headers": { + "x-amzn-RateLimit-Limit": { + "type": "string", + "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." + }, "x-amzn-RequestId": { "type": "string", "description": "Unique request reference identifier." @@ -1581,7 +1932,6 @@ ], "description": "Sends transportation information to Amazon about an inbound shipment.\n\n**Usage Plan:**\n\n| Rate (requests per second) | Burst |\n| ---- | ---- |\n| 2 | 30 |\n\nThe `x-amzn-RateLimit-Limit` response header returns the usage plan rate limits that were applied to the requested operation, when available. The table above indicates the default rate and burst values for this operation. Selling partners whose business demands require higher throughput may see higher rate and burst values than those shown here. For more information, see [Usage Plans and Rate Limits in the Selling Partner API](https://developer-docs.amazon.com/sp-api/docs/usage-plans-and-rate-limits-in-the-sp-api).", "operationId": "putTransportDetails", - "deprecated": true, "parameters": [ { "name": "shipmentId", @@ -1596,8 +1946,7 @@ "required": true, "schema": { "$ref": "#/definitions/PutTransportDetailsRequest" - }, - "description": "The request schema for the PutTransportDetailsRequest operation." + } } ], "responses": { @@ -1822,6 +2171,10 @@ "$ref": "#/definitions/PutTransportDetailsResponse" }, "headers": { + "x-amzn-RateLimit-Limit": { + "type": "string", + "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." + }, "x-amzn-RequestId": { "type": "string", "description": "Unique request reference identifier." @@ -1862,6 +2215,10 @@ "$ref": "#/definitions/PutTransportDetailsResponse" }, "headers": { + "x-amzn-RateLimit-Limit": { + "type": "string", + "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." + }, "x-amzn-RequestId": { "type": "string", "description": "Unique request reference identifier." @@ -1874,6 +2231,10 @@ "$ref": "#/definitions/PutTransportDetailsResponse" }, "headers": { + "x-amzn-RateLimit-Limit": { + "type": "string", + "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." + }, "x-amzn-RequestId": { "type": "string", "description": "Unique request reference identifier." @@ -1886,6 +2247,10 @@ "$ref": "#/definitions/PutTransportDetailsResponse" }, "headers": { + "x-amzn-RateLimit-Limit": { + "type": "string", + "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." + }, "x-amzn-RequestId": { "type": "string", "description": "Unique request reference identifier." @@ -1902,7 +2267,6 @@ ], "description": "Cancels a previously-confirmed request to ship an inbound shipment using an Amazon-partnered carrier.\n\nTo be successful, you must call this operation before the VoidDeadline date that is returned by the getTransportDetails operation.\n\nImportant: The VoidDeadline date is 24 hours after you confirm a Small Parcel shipment transportation request or one hour after you confirm a Less Than Truckload/Full Truckload (LTL/FTL) shipment transportation request. After the void deadline passes, your account will be charged for the shipping cost.\n\n**Usage Plan:**\n\n| Rate (requests per second) | Burst |\n| ---- | ---- |\n| 2 | 30 |\n\nThe `x-amzn-RateLimit-Limit` response header returns the usage plan rate limits that were applied to the requested operation, when available. The table above indicates the default rate and burst values for this operation. Selling partners whose business demands require higher throughput may see higher rate and burst values than those shown here. For more information, see [Usage Plans and Rate Limits in the Selling Partner API](https://developer-docs.amazon.com/sp-api/docs/usage-plans-and-rate-limits-in-the-sp-api).", "operationId": "voidTransport", - "deprecated": true, "parameters": [ { "name": "shipmentId", @@ -1992,6 +2356,10 @@ "$ref": "#/definitions/VoidTransportResponse" }, "headers": { + "x-amzn-RateLimit-Limit": { + "type": "string", + "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." + }, "x-amzn-RequestId": { "type": "string", "description": "Unique request reference identifier." @@ -2032,6 +2400,10 @@ "$ref": "#/definitions/VoidTransportResponse" }, "headers": { + "x-amzn-RateLimit-Limit": { + "type": "string", + "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." + }, "x-amzn-RequestId": { "type": "string", "description": "Unique request reference identifier." @@ -2044,6 +2416,10 @@ "$ref": "#/definitions/VoidTransportResponse" }, "headers": { + "x-amzn-RateLimit-Limit": { + "type": "string", + "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." + }, "x-amzn-RequestId": { "type": "string", "description": "Unique request reference identifier." @@ -2056,6 +2432,10 @@ "$ref": "#/definitions/VoidTransportResponse" }, "headers": { + "x-amzn-RateLimit-Limit": { + "type": "string", + "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." + }, "x-amzn-RequestId": { "type": "string", "description": "Unique request reference identifier." @@ -2072,7 +2452,6 @@ ], "description": "Initiates the process of estimating the shipping cost for an inbound shipment by an Amazon-partnered carrier.\n\nPrior to calling the estimateTransport operation, you must call the putTransportDetails operation to provide Amazon with the transportation information for the inbound shipment.\n\n**Usage Plan:**\n\n| Rate (requests per second) | Burst |\n| ---- | ---- |\n| 2 | 30 |\n\nThe `x-amzn-RateLimit-Limit` response header returns the usage plan rate limits that were applied to the requested operation, when available. The table above indicates the default rate and burst values for this operation. Selling partners whose business demands require higher throughput may see higher rate and burst values than those shown here. For more information, see [Usage Plans and Rate Limits in the Selling Partner API](https://developer-docs.amazon.com/sp-api/docs/usage-plans-and-rate-limits-in-the-sp-api).", "operationId": "estimateTransport", - "deprecated": true, "parameters": [ { "name": "shipmentId", @@ -2162,6 +2541,10 @@ "$ref": "#/definitions/EstimateTransportResponse" }, "headers": { + "x-amzn-RateLimit-Limit": { + "type": "string", + "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." + }, "x-amzn-RequestId": { "type": "string", "description": "Unique request reference identifier." @@ -2202,6 +2585,10 @@ "$ref": "#/definitions/EstimateTransportResponse" }, "headers": { + "x-amzn-RateLimit-Limit": { + "type": "string", + "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." + }, "x-amzn-RequestId": { "type": "string", "description": "Unique request reference identifier." @@ -2214,6 +2601,10 @@ "$ref": "#/definitions/EstimateTransportResponse" }, "headers": { + "x-amzn-RateLimit-Limit": { + "type": "string", + "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." + }, "x-amzn-RequestId": { "type": "string", "description": "Unique request reference identifier." @@ -2226,6 +2617,10 @@ "$ref": "#/definitions/EstimateTransportResponse" }, "headers": { + "x-amzn-RateLimit-Limit": { + "type": "string", + "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." + }, "x-amzn-RequestId": { "type": "string", "description": "Unique request reference identifier." @@ -2242,7 +2637,6 @@ ], "description": "Confirms that the seller accepts the Amazon-partnered shipping estimate, agrees to allow Amazon to charge their account for the shipping cost, and requests that the Amazon-partnered carrier ship the inbound shipment.\n\nPrior to calling the confirmTransport operation, you should call the getTransportDetails operation to get the Amazon-partnered shipping estimate.\n\nImportant: After confirming the transportation request, if the seller decides that they do not want the Amazon-partnered carrier to ship the inbound shipment, you can call the voidTransport operation to cancel the transportation request. Note that for a Small Parcel shipment, the seller has 24 hours after confirming a transportation request to void the transportation request. For a Less Than Truckload/Full Truckload (LTL/FTL) shipment, the seller has one hour after confirming a transportation request to void it. After the grace period has expired the seller's account will be charged for the shipping cost.\n\n**Usage Plan:**\n\n| Rate (requests per second) | Burst |\n| ---- | ---- |\n| 2 | 30 |\n\nThe `x-amzn-RateLimit-Limit` response header returns the usage plan rate limits that were applied to the requested operation, when available. The table above indicates the default rate and burst values for this operation. Selling partners whose business demands require higher throughput may see higher rate and burst values than those shown here. For more information, see [Usage Plans and Rate Limits in the Selling Partner API](https://developer-docs.amazon.com/sp-api/docs/usage-plans-and-rate-limits-in-the-sp-api).", "operationId": "confirmTransport", - "deprecated": true, "parameters": [ { "name": "shipmentId", @@ -2332,6 +2726,10 @@ "$ref": "#/definitions/ConfirmTransportResponse" }, "headers": { + "x-amzn-RateLimit-Limit": { + "type": "string", + "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." + }, "x-amzn-RequestId": { "type": "string", "description": "Unique request reference identifier." @@ -2372,6 +2770,10 @@ "$ref": "#/definitions/ConfirmTransportResponse" }, "headers": { + "x-amzn-RateLimit-Limit": { + "type": "string", + "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." + }, "x-amzn-RequestId": { "type": "string", "description": "Unique request reference identifier." @@ -2384,6 +2786,10 @@ "$ref": "#/definitions/ConfirmTransportResponse" }, "headers": { + "x-amzn-RateLimit-Limit": { + "type": "string", + "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." + }, "x-amzn-RequestId": { "type": "string", "description": "Unique request reference identifier." @@ -2396,6 +2802,10 @@ "$ref": "#/definitions/ConfirmTransportResponse" }, "headers": { + "x-amzn-RateLimit-Limit": { + "type": "string", + "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." + }, "x-amzn-RequestId": { "type": "string", "description": "Unique request reference identifier." @@ -2532,7 +2942,8 @@ "type": "array", "items": { "type": "string" - } + }, + "maxItems": 999 }, { "name": "NumberOfPallets", @@ -2646,6 +3057,10 @@ "$ref": "#/definitions/GetLabelsResponse" }, "headers": { + "x-amzn-RateLimit-Limit": { + "type": "string", + "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." + }, "x-amzn-RequestId": { "type": "string", "description": "Unique request reference identifier." @@ -2686,6 +3101,10 @@ "$ref": "#/definitions/GetLabelsResponse" }, "headers": { + "x-amzn-RateLimit-Limit": { + "type": "string", + "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." + }, "x-amzn-RequestId": { "type": "string", "description": "Unique request reference identifier." @@ -2698,6 +3117,10 @@ "$ref": "#/definitions/GetLabelsResponse" }, "headers": { + "x-amzn-RateLimit-Limit": { + "type": "string", + "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." + }, "x-amzn-RequestId": { "type": "string", "description": "Unique request reference identifier." @@ -2710,6 +3133,10 @@ "$ref": "#/definitions/GetLabelsResponse" }, "headers": { + "x-amzn-RateLimit-Limit": { + "type": "string", + "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." + }, "x-amzn-RequestId": { "type": "string", "description": "Unique request reference identifier." @@ -2813,6 +3240,10 @@ "$ref": "#/definitions/GetBillOfLadingResponse" }, "headers": { + "x-amzn-RateLimit-Limit": { + "type": "string", + "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." + }, "x-amzn-RequestId": { "type": "string", "description": "Unique request reference identifier." @@ -2853,6 +3284,10 @@ "$ref": "#/definitions/GetBillOfLadingResponse" }, "headers": { + "x-amzn-RateLimit-Limit": { + "type": "string", + "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." + }, "x-amzn-RequestId": { "type": "string", "description": "Unique request reference identifier." @@ -2865,6 +3300,10 @@ "$ref": "#/definitions/GetBillOfLadingResponse" }, "headers": { + "x-amzn-RateLimit-Limit": { + "type": "string", + "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." + }, "x-amzn-RequestId": { "type": "string", "description": "Unique request reference identifier." @@ -2877,6 +3316,10 @@ "$ref": "#/definitions/GetBillOfLadingResponse" }, "headers": { + "x-amzn-RateLimit-Limit": { + "type": "string", + "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." + }, "x-amzn-RequestId": { "type": "string", "description": "Unique request reference identifier." @@ -2893,7 +3336,6 @@ ], "description": "Returns a list of inbound shipments based on criteria that you specify.\n\n**Usage Plan:**\n\n| Rate (requests per second) | Burst |\n| ---- | ---- |\n| 2 | 30 |\n\nThe `x-amzn-RateLimit-Limit` response header returns the usage plan rate limits that were applied to the requested operation, when available. The table above indicates the default rate and burst values for this operation. Selling partners whose business demands require higher throughput may see higher rate and burst values than those shown here. For more information, see [Usage Plans and Rate Limits in the Selling Partner API](https://developer-docs.amazon.com/sp-api/docs/usage-plans-and-rate-limits-in-the-sp-api).", "operationId": "getShipments", - "deprecated": true, "parameters": [ { "name": "ShipmentStatusList", @@ -2972,8 +3414,7 @@ "type": "array", "items": { "type": "string" - }, - "maxItems": 999 + } }, { "name": "LastUpdatedAfter", @@ -3134,6 +3575,10 @@ "$ref": "#/definitions/GetShipmentsResponse" }, "headers": { + "x-amzn-RateLimit-Limit": { + "type": "string", + "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." + }, "x-amzn-RequestId": { "type": "string", "description": "Unique request reference identifier." @@ -3174,6 +3619,10 @@ "$ref": "#/definitions/GetShipmentsResponse" }, "headers": { + "x-amzn-RateLimit-Limit": { + "type": "string", + "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." + }, "x-amzn-RequestId": { "type": "string", "description": "Unique request reference identifier." @@ -3186,6 +3635,10 @@ "$ref": "#/definitions/GetShipmentsResponse" }, "headers": { + "x-amzn-RateLimit-Limit": { + "type": "string", + "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." + }, "x-amzn-RequestId": { "type": "string", "description": "Unique request reference identifier." @@ -3198,6 +3651,10 @@ "$ref": "#/definitions/GetShipmentsResponse" }, "headers": { + "x-amzn-RateLimit-Limit": { + "type": "string", + "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." + }, "x-amzn-RequestId": { "type": "string", "description": "Unique request reference identifier." @@ -3214,7 +3671,6 @@ ], "description": "Returns a list of items in a specified inbound shipment.\n\n**Usage Plan:**\n\n| Rate (requests per second) | Burst |\n| ---- | ---- |\n| 2 | 30 |\n\nThe `x-amzn-RateLimit-Limit` response header returns the usage plan rate limits that were applied to the requested operation, when available. The table above indicates the default rate and burst values for this operation. Selling partners whose business demands require higher throughput may see higher rate and burst values than those shown here. For more information, see [Usage Plans and Rate Limits in the Selling Partner API](https://developer-docs.amazon.com/sp-api/docs/usage-plans-and-rate-limits-in-the-sp-api).", "operationId": "getShipmentItemsByShipmentId", - "deprecated": true, "parameters": [ { "name": "shipmentId", @@ -3336,6 +3792,10 @@ "$ref": "#/definitions/GetShipmentItemsResponse" }, "headers": { + "x-amzn-RateLimit-Limit": { + "type": "string", + "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." + }, "x-amzn-RequestId": { "type": "string", "description": "Unique request reference identifier." @@ -3376,6 +3836,10 @@ "$ref": "#/definitions/GetShipmentItemsResponse" }, "headers": { + "x-amzn-RateLimit-Limit": { + "type": "string", + "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." + }, "x-amzn-RequestId": { "type": "string", "description": "Unique request reference identifier." @@ -3388,6 +3852,10 @@ "$ref": "#/definitions/GetShipmentItemsResponse" }, "headers": { + "x-amzn-RateLimit-Limit": { + "type": "string", + "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." + }, "x-amzn-RequestId": { "type": "string", "description": "Unique request reference identifier." @@ -3400,6 +3868,10 @@ "$ref": "#/definitions/GetShipmentItemsResponse" }, "headers": { + "x-amzn-RateLimit-Limit": { + "type": "string", + "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." + }, "x-amzn-RequestId": { "type": "string", "description": "Unique request reference identifier." @@ -3416,7 +3888,6 @@ ], "description": "Returns a list of items in a specified inbound shipment, or a list of items that were updated within a specified time frame.\n\n**Usage Plan:**\n\n| Rate (requests per second) | Burst |\n| ---- | ---- |\n| 2 | 30 |\n\nThe `x-amzn-RateLimit-Limit` response header returns the usage plan rate limits that were applied to the requested operation, when available. The table above indicates the default rate and burst values for this operation. Selling partners whose business demands require higher throughput may see higher rate and burst values than those shown here. For more information, see [Usage Plans and Rate Limits in the Selling Partner API](https://developer-docs.amazon.com/sp-api/docs/usage-plans-and-rate-limits-in-the-sp-api).", "operationId": "getShipmentItems", - "deprecated": true, "parameters": [ { "name": "LastUpdatedAfter", @@ -3621,6 +4092,10 @@ "$ref": "#/definitions/GetShipmentItemsResponse" }, "headers": { + "x-amzn-RateLimit-Limit": { + "type": "string", + "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." + }, "x-amzn-RequestId": { "type": "string", "description": "Unique request reference identifier." @@ -3661,6 +4136,10 @@ "$ref": "#/definitions/GetShipmentItemsResponse" }, "headers": { + "x-amzn-RateLimit-Limit": { + "type": "string", + "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." + }, "x-amzn-RequestId": { "type": "string", "description": "Unique request reference identifier." @@ -3673,6 +4152,10 @@ "$ref": "#/definitions/GetShipmentItemsResponse" }, "headers": { + "x-amzn-RateLimit-Limit": { + "type": "string", + "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." + }, "x-amzn-RequestId": { "type": "string", "description": "Unique request reference identifier." @@ -3685,6 +4168,10 @@ "$ref": "#/definitions/GetShipmentItemsResponse" }, "headers": { + "x-amzn-RateLimit-Limit": { + "type": "string", + "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." + }, "x-amzn-RequestId": { "type": "string", "description": "Unique request reference identifier." @@ -3781,7 +4268,6 @@ }, "Address": { "type": "object", - "description": "Specific details to identify a place.", "required": [ "AddressLine1", "City", @@ -3893,8 +4379,7 @@ }, "BigDecimalType": { "type": "number", - "format": "double", - "description": "Number format that supports decimal." + "format": "double" }, "BoxContentsFeeDetails": { "type": "object", @@ -4051,8 +4536,7 @@ "description": "Date that determines which pre-order items in the shipment are eligible for pre-order. The pre-order Buy Box will appear for any pre-order item in the shipment with a release date on or after this date. In YYYY-MM-DD format.", "$ref": "#/definitions/DateStringType" } - }, - "description": "Result for confirm preorder operation" + } }, "ConfirmPreorderResponse": { "type": "object", @@ -4073,8 +4557,7 @@ "TransportResult": { "$ref": "#/definitions/TransportResult" } - }, - "description": "Common container for transport result" + } }, "ConfirmTransportResponse": { "type": "object", @@ -4156,8 +4639,7 @@ "InboundShipmentPlans": { "$ref": "#/definitions/InboundShipmentPlanList" } - }, - "description": "Result for the create inbound shipment operation" + } }, "CreateInboundShipmentPlanResponse": { "type": "object", @@ -4203,8 +4685,7 @@ "type": "string", "description": "The shipment identifier submitted in the request." } - }, - "description": "Result of an inbound shipment operation" + } }, "InboundShipmentResponse": { "type": "object", @@ -4239,8 +4720,7 @@ }, "DateStringType": { "type": "string", - "format": "date", - "description": "Type containing date in string format" + "format": "date" }, "Dimensions": { "type": "object", @@ -4329,8 +4809,20 @@ "InvalidASINList": { "$ref": "#/definitions/InvalidASINList" } + } + }, + "GetInboundGuidanceResponse": { + "type": "object", + "properties": { + "payload": { + "description": "The payload for the getInboundGuidance operation.", + "$ref": "#/definitions/GetInboundGuidanceResult" + }, + "errors": { + "$ref": "#/definitions/ErrorList" + } }, - "description": "Result for the get inbound guidance operation" + "description": "The response schema for the getInboundGuidance operation." }, "LabelDownloadURL": { "type": "object", @@ -4339,8 +4831,7 @@ "type": "string", "description": "URL to download the label for the package. Note: The URL will only be valid for 15 seconds" } - }, - "description": "Download URL for a label" + } }, "BillOfLadingDownloadURL": { "type": "object", @@ -4349,8 +4840,7 @@ "type": "string", "description": "URL to download the bill of lading for the package. Note: The URL will only be valid for 15 seconds" } - }, - "description": "Download URL for the bill of lading." + } }, "GetLabelsResponse": { "type": "object", @@ -4384,8 +4874,7 @@ "description": "Date in YYYY-MM-DD format that determines which pre-order items in the shipment are eligible for pre-order. If this shipment is confirmed for pre-order with a subsequent call to the confirmPreorder operation, the pre-order Buy Box will appear for any pre-order items in the shipment with a release date on or after this date. Call the getShipmentItems operation to get the release dates for the pre-order items in this shipment.", "$ref": "#/definitions/DateStringType" } - }, - "description": "Result for the get preorder info operation" + } }, "GetPreorderInfoResponse": { "type": "object", @@ -4416,8 +4905,7 @@ "InvalidASINList": { "$ref": "#/definitions/InvalidASINList" } - }, - "description": "Result for the get prep instructions operation" + } }, "GetPrepInstructionsResponse": { "type": "object", @@ -4438,8 +4926,7 @@ "TransportContent": { "$ref": "#/definitions/TransportContent" } - }, - "description": "Result for the get transport details operation" + } }, "GetTransportDetailsResponse": { "type": "object", @@ -4750,8 +5237,7 @@ "type": "array", "items": { "$ref": "#/definitions/InboundShipmentPlanRequestItem" - }, - "description": "List of inbound shipment plan requests" + } }, "IntendedBoxContentsSource": { "type": "string", @@ -4787,8 +5273,7 @@ "description": "The reason that the ASIN is invalid.", "$ref": "#/definitions/ErrorReason" } - }, - "description": "Contains details about an invalid ASIN" + } }, "InvalidASINList": { "type": "array", @@ -4808,8 +5293,7 @@ "description": "The reason why the seller SKU is invalid.", "$ref": "#/definitions/ErrorReason" } - }, - "description": "Contains detail about an invalid SKU" + } }, "InvalidSKUList": { "type": "array", @@ -4875,8 +5359,7 @@ "type": "string", "description": "When present and not empty, pass this string token in the next request to return the next response page." } - }, - "description": "Result for the get shipment items operation" + } }, "GetShipmentItemsResponse": { "type": "object", @@ -4902,8 +5385,7 @@ "type": "string", "description": "When present and not empty, pass this string token in the next request to return the next response page." } - }, - "description": "Result for the get shipments operation" + } }, "GetShipmentsResponse": { "type": "object", @@ -5136,7 +5618,7 @@ "$ref": "#/definitions/SellerFreightClass" }, "FreightReadyDate": { - "description": "The date on which the shipment is ready for carrier pickup. Must be in YYYY-MM-DD format.", + "description": "The date that the shipment will be ready to be picked up by the carrier.", "$ref": "#/definitions/DateStringType" }, "PalletList": { @@ -5181,7 +5663,7 @@ "$ref": "#/definitions/SellerFreightClass" }, "FreightReadyDate": { - "description": "The date on which the shipment is ready for carrier pickup. Must be in YYYY-MM-DD format.", + "description": "The date that the shipment will be ready to be picked up by the carrier. Must be in YYYY-MM-DD format.", "$ref": "#/definitions/DateStringType" }, "PalletList": { @@ -5763,8 +6245,7 @@ }, "TimeStampStringType": { "type": "string", - "format": "date-time", - "description": "Timestamp in ISO 8601 format." + "format": "date-time" }, "TrackingId": { "type": "string", @@ -5974,8 +6455,7 @@ }, "UnsignedIntType": { "type": "integer", - "format": "int64", - "description": "Contains an unsigned integer" + "format": "int64" }, "VoidTransportResponse": { "type": "object", From df6a4eac3fed7a86d3529083b5c2d7afa847bc0d Mon Sep 17 00:00:00 2001 From: Alex Rupprecht Date: Mon, 19 Feb 2024 10:38:07 -0500 Subject: [PATCH 117/340] Fixing github issue with wrong file information --- .../vendorDirectFulfillmentOrdersV1.json | 2619 ++++++++++++++++- 1 file changed, 2490 insertions(+), 129 deletions(-) diff --git a/models/vendor-direct-fulfillment-orders-api-model/vendorDirectFulfillmentOrdersV1.json b/models/vendor-direct-fulfillment-orders-api-model/vendorDirectFulfillmentOrdersV1.json index a355fbb47..49e96b1bb 100644 --- a/models/vendor-direct-fulfillment-orders-api-model/vendorDirectFulfillmentOrdersV1.json +++ b/models/vendor-direct-fulfillment-orders-api-model/vendorDirectFulfillmentOrdersV1.json @@ -1,9 +1,9 @@ { "swagger": "2.0", "info": { - "description": "The Selling Partner API for Direct Fulfillment Inventory Updates provides programmatic access to a direct fulfillment vendor's inventory updates.", + "description": "The Selling Partner API for Direct Fulfillment Orders provides programmatic access to a direct fulfillment vendor's order data.", "version": "v1", - "title": "Selling Partner API for Direct Fulfillment Inventory Updates", + "title": "Selling Partner API for Direct Fulfillment Orders", "contact": { "name": "Selling Partner API Developer Support", "url": "https://sellercentral.amazon.com/gp/mws/contactus.html" @@ -24,35 +24,235 @@ "application/json" ], "paths": { - "/vendor/directFulfillment/inventory/v1/warehouses/{warehouseId}/items": { - "post": { + "/vendor/directFulfillment/orders/v1/purchaseOrders": { + "get": { "tags": [ - "updateInventory" + "vendorOrders" ], - "description": "Submits inventory updates for the specified warehouse for either a partial or full feed of inventory items.\n\n**Usage Plan:**\n\n| Rate (requests per second) | Burst |\n| ---- | ---- |\n| 10 | 10 |\n\nThe `x-amzn-RateLimit-Limit` response header returns the usage plan rate limits that were applied to the requested operation, when available. The table above indicates the default rate and burst values for this operation. Selling partners whose business demands require higher throughput may see higher rate and burst values than those shown here. For more information, see [Usage Plans and Rate Limits in the Selling Partner API](https://developer-docs.amazon.com/sp-api/docs/usage-plans-and-rate-limits-in-the-sp-api).", - "operationId": "submitInventoryUpdate", + "description": "Returns a list of purchase orders created during the time frame that you specify. You define the time frame using the createdAfter and createdBefore parameters. You must use both parameters. You can choose to get only the purchase order numbers by setting the includeDetails parameter to false. In that case, the operation returns a list of purchase order numbers. You can then call the getOrder operation to return the details of a specific order.\n\n**Usage Plan:**\n\n| Rate (requests per second) | Burst |\n| ---- | ---- |\n| 10 | 10 |\n\nThe `x-amzn-RateLimit-Limit` response header returns the usage plan rate limits that were applied to the requested operation, when available. The table above indicates the default rate and burst values for this operation. Selling partners whose business demands require higher throughput may see higher rate and burst values than those shown here. For more information, see [Usage Plans and Rate Limits in the Selling Partner API](https://developer-docs.amazon.com/sp-api/docs/usage-plans-and-rate-limits-in-the-sp-api).", + "operationId": "getOrders", "parameters": [ { - "in": "body", - "name": "body", + "name": "shipFromPartyId", + "in": "query", + "description": "The vendor warehouse identifier for the fulfillment warehouse. If not specified, the result will contain orders for all warehouses.", + "required": false, + "type": "string" + }, + { + "name": "status", + "in": "query", + "description": "Returns only the purchase orders that match the specified status. If not specified, the result will contain orders that match any status.", + "required": false, + "type": "string", + "enum": [ + "NEW", + "SHIPPED", + "ACCEPTED", + "CANCELLED" + ], + "x-docgen-enum-table-extension": [ + { + "value": "NEW", + "description": "Status for newly created purchase orders." + }, + { + "value": "SHIPPED", + "description": "Status for purchase orders that are already shipped." + }, + { + "value": "ACCEPTED", + "description": "Status for purchase orders accepted by vendors." + }, + { + "value": "CANCELLED", + "description": "Status for cancelled purchase orders." + } + ] + }, + { + "name": "limit", + "in": "query", + "description": "The limit to the number of purchase orders returned.", + "required": false, + "type": "integer", + "maximum": 100, + "minimum": 1, + "format": "int64" + }, + { + "name": "createdAfter", + "in": "query", + "description": "Purchase orders that became available after this date and time will be included in the result. Must be in ISO-8601 date/time format.", "required": true, - "schema": { - "$ref": "#/definitions/SubmitInventoryUpdateRequest" - } + "type": "string", + "format": "date-time" }, { - "name": "warehouseId", - "in": "path", - "description": "Identifier for the warehouse for which to update inventory.", + "name": "createdBefore", + "in": "query", + "description": "Purchase orders that became available before this date and time will be included in the result. Must be in ISO-8601 date/time format.", "required": true, + "type": "string", + "format": "date-time" + }, + { + "name": "sortOrder", + "in": "query", + "description": "Sort the list in ascending or descending order by order creation date.", + "required": false, + "type": "string", + "enum": [ + "ASC", + "DESC" + ], + "x-docgen-enum-table-extension": [ + { + "value": "ASC", + "description": "Sort in ascending order by order creation date." + }, + { + "value": "DESC", + "description": "Sort in descending order by order creation date." + } + ] + }, + { + "name": "nextToken", + "in": "query", + "description": "Used for pagination when there are more orders than the specified result size limit. The token value is returned in the previous API call.", + "required": false, "type": "string" + }, + { + "name": "includeDetails", + "in": "query", + "description": "When true, returns the complete purchase order details. Otherwise, only purchase order numbers are returned.", + "required": false, + "type": "string", + "default": "true", + "format": "boolean" } ], "responses": { - "202": { + "200": { "description": "Success.", "schema": { - "$ref": "#/definitions/SubmitInventoryUpdateResponse" + "$ref": "#/definitions/GetOrdersResponse" + }, + "examples": { + "payload": { + "pagination": { + "nextToken": "MDAwMDAwMDAwMQ==" + }, + "orders": [ + { + "purchaseOrderNumber": "2JK3S9VC", + "orderDetails": { + "customerOrderNumber": "123-ABC", + "orderDate": "2020-02-20T13:51:00Z", + "orderStatus": "NEW", + "shipmentDetails": { + "isPriorityShipment": false, + "isScheduledDeliveryShipment": false, + "isPslipRequired": true, + "isGift": false, + "shipMethod": "UPS_2ND", + "shipmentDates": { + "requiredShipDate": "2020-02-21T00:00:00Z", + "promisedDeliveryDate": "2020-02-24T00:00:00Z" + }, + "messageToCustomer": "This shipment completes your order. You can always check the status of your orders from the \"Your Account\" link at the top of each page of our site.Thank you for shopping at Amazon.com" + }, + "taxTotal": { + "taxLineItem": [ + { + "taxRate": "0.1", + "taxAmount": { + "currencyCode": "USD", + "amount": "190" + }, + "type": "TOTAL" + } + ] + }, + "sellingParty": { + "partyId": "999US" + }, + "shipFromParty": { + "partyId": "ABCD" + }, + "shipToParty": { + "name": "ABCD", + "attention": "ABCD", + "addressLine1": "123 XYZ Street", + "addressLine2": "Apt 5", + "city": "San Jose", + "stateOrRegion": "CA", + "postalCode": "94086", + "countryCode": "USA" + }, + "billToParty": { + "partyId": "ABCD" + }, + "items": [ + { + "itemSequenceNumber": "00001", + "buyerProductIdentifier": "B07DFVDRAB", + "vendorProductIdentifier": "8806098286500", + "title": "LG 8 kg Inverter Wi-Fi Fully-Automatic Front Loading Washing Machine (FHT1408SWS, STS-VCM, Inbuilt Heater)", + "orderedQuantity": { + "amount": 1, + "unitOfMeasure": "EACH" + }, + "netPrice": { + "currencyCode": "USD", + "amount": "500" + }, + "taxDetails": { + "taxLineItem": [ + { + "taxRate": "0.1", + "taxAmount": { + "currencyCode": "USD", + "amount": "50" + }, + "type": "TOTAL" + } + ] + } + }, + { + "itemSequenceNumber": "00002", + "buyerProductIdentifier": "B07DFYF5AB", + "vendorProductIdentifier": "8806098286123", + "title": "LG 6.5 kg Inverter Fully-Automatic Front Loading Washing Machine (FHT1065SNW, Blue and White, Inbuilt Heater)", + "orderedQuantity": { + "amount": 2, + "unitOfMeasure": "EACH" + }, + "netPrice": { + "currencyCode": "USD", + "amount": "700" + }, + "taxDetails": { + "taxLineItem": [ + { + "taxRate": "0.1", + "taxAmount": { + "currencyCode": "USD", + "amount": "140" + }, + "type": "TOTAL" + } + ] + } + } + ] + } + } + ] + } }, "headers": { "x-amzn-RateLimit-Limit": { @@ -69,62 +269,929 @@ { "request": { "parameters": { - "body": { - "value": { - "inventory": { + "createdBefore": { + "value": "2020-02-20T00:00:00-08:00" + }, + "createdAfter": { + "value": "2020-02-15T14:00:00-08:00" + }, + "includeDetails": { + "value": "true" + }, + "limit": { + "value": 2 + }, + "sortOrder": { + "value": "DESC" + } + } + }, + "response": { + "payload": { + "pagination": { + "nextToken": "MDAwMDAwMDAwMQ==" + }, + "orders": [ + { + "purchaseOrderNumber": "2JK3S9VC", + "orderDetails": { + "customerOrderNumber": "123-ABC", + "orderDate": "2020-02-20T13:51:00Z", + "orderStatus": "NEW", + "shipmentDetails": { + "isPriorityShipment": false, + "isScheduledDeliveryShipment": false, + "isPslipRequired": true, + "isGift": false, + "shipMethod": "UPS_2ND", + "shipmentDates": { + "requiredShipDate": "2020-02-21T00:00:00Z", + "promisedDeliveryDate": "2020-02-24T00:00:00Z" + }, + "messageToCustomer": "This shipment completes your order. You can always check the status of your orders from the \"Your Account\" link at the top of each page of our site.Thank you for shopping at Amazon.com" + }, + "taxTotal": { + "taxLineItem": [ + { + "taxRate": "0.1", + "taxAmount": { + "currencyCode": "USD", + "amount": "190" + }, + "type": "TOTAL" + } + ] + }, "sellingParty": { - "partyId": "VENDORID" + "partyId": "999US" + }, + "shipFromParty": { + "partyId": "ABCD" + }, + "shipToParty": { + "name": "ABCD", + "attention": "ABCD", + "addressLine1": "123 XYZ Street", + "addressLine2": "Apt 5", + "city": "San Jose", + "stateOrRegion": "CA", + "postalCode": "94086", + "countryCode": "USA" + }, + "billToParty": { + "partyId": "ABCD" }, - "isFullUpdate": false, "items": [ { - "buyerProductIdentifier": "ABCD4562", - "vendorProductIdentifier": "7Q89K11", - "availableQuantity": { - "amount": 10, - "unitOfMeasure": "Each" + "itemSequenceNumber": "00001", + "buyerProductIdentifier": "B07DFVDRAB", + "vendorProductIdentifier": "8806098286500", + "title": "LG 8 kg Inverter Wi-Fi Fully-Automatic Front Loading Washing Machine (FHT1408SWS, STS-VCM, Inbuilt Heater)", + "orderedQuantity": { + "amount": 1, + "unitOfMeasure": "EACH" + }, + "netPrice": { + "currencyCode": "USD", + "amount": "500" }, - "isObsolete": false + "taxDetails": { + "taxLineItem": [ + { + "taxRate": "0.1", + "taxAmount": { + "currencyCode": "USD", + "amount": "50" + }, + "type": "TOTAL" + } + ] + } }, { - "buyerProductIdentifier": "ABCD4563", - "vendorProductIdentifier": "7Q89K12", - "availableQuantity": { - "amount": 15, - "unitOfMeasure": "Each" + "itemSequenceNumber": "00002", + "buyerProductIdentifier": "B07DFYF5AB", + "vendorProductIdentifier": "8806098286123", + "title": "LG 6.5 kg Inverter Fully-Automatic Front Loading Washing Machine (FHT1065SNW, Blue and White, Inbuilt Heater)", + "orderedQuantity": { + "amount": 2, + "unitOfMeasure": "EACH" }, - "isObsolete": false + "netPrice": { + "currencyCode": "USD", + "amount": "700" + }, + "taxDetails": { + "taxLineItem": [ + { + "taxRate": "0.1", + "taxAmount": { + "currencyCode": "USD", + "amount": "140" + }, + "type": "TOTAL" + } + ] + } + } + ] + } + }, + { + "purchaseOrderNumber": "3TRD2IAB", + "orderDetails": { + "customerOrderNumber": "456-ABC", + "orderDate": "2020-02-18T11:47:00Z", + "orderStatus": "NEW", + "shipmentDetails": { + "isPriorityShipment": false, + "isScheduledDeliveryShipment": false, + "isPslipRequired": true, + "isGift": false, + "shipMethod": "UPS_2ND", + "shipmentDates": { + "requiredShipDate": "2020-02-20T00:00:00Z", + "promisedDeliveryDate": "2020-02-22T00:00:00Z" }, + "messageToCustomer": "This shipment completes your order. You can always check the status of your orders from the \"Your Account\" link at the top of each page of our site.Thank you for shopping at Amazon.com" + }, + "taxTotal": { + "taxLineItem": [ + { + "taxRate": "0.1", + "taxAmount": { + "currencyCode": "USD", + "amount": "2" + }, + "type": "TOTAL" + } + ] + }, + "sellingParty": { + "partyId": "999US" + }, + "shipFromParty": { + "partyId": "ABCD" + }, + "shipToParty": { + "name": "XYZ", + "attention": "XYZ", + "addressLine1": "456 ABC Street", + "city": "Seattle", + "stateOrRegion": "WA", + "postalCode": "98007", + "countryCode": "USA" + }, + "billToParty": { + "partyId": "ABCD" + }, + "items": [ { - "buyerProductIdentifier": "ABCD4564", - "vendorProductIdentifier": "7Q89K13", - "availableQuantity": { - "amount": 20, - "unitOfMeasure": "Each" + "itemSequenceNumber": "00001", + "buyerProductIdentifier": "B01LNRIIAB", + "vendorProductIdentifier": "8806098286501", + "title": "Baby Dove Baby Wipes Rich Moisture (50 Pieces)", + "orderedQuantity": { + "amount": 1, + "unitOfMeasure": "EACH" }, - "isObsolete": false + "netPrice": { + "currencyCode": "USD", + "amount": "20" + }, + "taxDetails": { + "taxLineItem": [ + { + "taxRate": "0.1", + "taxAmount": { + "currencyCode": "USD", + "amount": "2" + }, + "type": "TOTAL" + } + ] + } } ] } } + ] + } + } + }, + { + "request": { + "parameters": { + "createdBefore": { + "value": "2020-02-20T00:00:00-08:00" + }, + "createdAfter": { + "value": "2020-02-15T14:00:00-08:00" + }, + "includeDetails": { + "value": "true" + }, + "limit": { + "value": 2 + }, + "sortOrder": { + "value": "DESC" + }, + "nextToken": { + "value": "MDAwMDAwMDAwMQ==" } } }, "response": { "payload": { - "transactionId": "20190905010908-8a3b6901-ef20-412f-9270-21c021796605" + "orders": [ + { + "purchaseOrderNumber": "2JK3S9VCD", + "orderDetails": { + "customerOrderNumber": "123-ABC", + "orderDate": "2020-02-20T13:51:00Z", + "orderStatus": "NEW", + "shipmentDetails": { + "isPriorityShipment": false, + "isScheduledDeliveryShipment": false, + "isPslipRequired": true, + "isGift": false, + "shipMethod": "UPS_2ND", + "shipmentDates": { + "requiredShipDate": "2020-02-21T00:00:00Z", + "promisedDeliveryDate": "2020-02-24T00:00:00Z" + }, + "messageToCustomer": "This shipment completes your order. You can always check the status of your orders from the \"Your Account\" link at the top of each page of our site.Thank you for shopping at Amazon.com" + }, + "taxTotal": { + "taxLineItem": [ + { + "taxAmount": { + "currencyCode": "USD", + "amount": "190" + }, + "type": "TOTAL" + } + ] + }, + "sellingParty": { + "partyId": "999US" + }, + "shipFromParty": { + "partyId": "ABCD" + }, + "shipToParty": { + "name": "ABCD", + "attention": "ABCD", + "addressLine1": "123 XYZ Street", + "addressLine2": "Apt 5", + "city": "San Jose", + "stateOrRegion": "CA", + "postalCode": "94086", + "countryCode": "USA" + }, + "billToParty": { + "partyId": "ABCD" + }, + "items": [ + { + "itemSequenceNumber": "00001", + "buyerProductIdentifier": "B07DFVDRAB", + "vendorProductIdentifier": "8806098286500", + "title": "LG 8 kg Inverter Wi-Fi Fully-Automatic Front Loading Washing Machine (FHT1408SWS, STS-VCM, Inbuilt Heater)", + "orderedQuantity": { + "amount": 1, + "unitOfMeasure": "EACH" + }, + "netPrice": { + "currencyCode": "USD", + "amount": "500" + }, + "taxDetails": { + "taxLineItem": [ + { + "taxRate": "0.1", + "taxAmount": { + "currencyCode": "USD", + "amount": "50" + }, + "type": "TOTAL" + } + ] + } + }, + { + "itemSequenceNumber": "00002", + "buyerProductIdentifier": "B07DFYF5AB", + "vendorProductIdentifier": "8806098286123", + "title": "LG 6.5 kg Inverter Fully-Automatic Front Loading Washing Machine (FHT1065SNW, Blue and White, Inbuilt Heater)", + "orderedQuantity": { + "amount": 2, + "unitOfMeasure": "EACH" + }, + "netPrice": { + "currencyCode": "USD", + "amount": "700" + }, + "taxDetails": { + "taxLineItem": [ + { + "taxRate": "0.1", + "taxAmount": { + "currencyCode": "USD", + "amount": "140" + }, + "type": "TOTAL" + } + ] + } + } + ] + } + }, + { + "purchaseOrderNumber": "3TRD2IABC", + "orderDetails": { + "customerOrderNumber": "456-ABC", + "orderDate": "2020-02-18T11:47:00Z", + "orderStatus": "NEW", + "shipmentDetails": { + "isPriorityShipment": false, + "isScheduledDeliveryShipment": false, + "isPslipRequired": true, + "isGift": false, + "shipMethod": "UPS_2ND", + "shipmentDates": { + "requiredShipDate": "2020-02-20T00:00:00Z", + "promisedDeliveryDate": "2020-02-22T00:00:00Z" + }, + "messageToCustomer": "This shipment completes your order. You can always check the status of your orders from the \"Your Account\" link at the top of each page of our site.Thank you for shopping at Amazon.com" + }, + "taxTotal": { + "taxLineItem": [ + { + "taxRate": "0.1", + "taxAmount": { + "currencyCode": "USD", + "amount": "2" + }, + "type": "TOTAL" + } + ] + }, + "sellingParty": { + "partyId": "999US" + }, + "shipFromParty": { + "partyId": "ABCD" + }, + "shipToParty": { + "name": "XYZ", + "attention": "XYZ", + "addressLine1": "456 ABC Street", + "city": "Seattle", + "stateOrRegion": "WA", + "postalCode": "98007", + "countryCode": "USA" + }, + "billToParty": { + "partyId": "ABCD" + }, + "items": [ + { + "itemSequenceNumber": "00001", + "buyerProductIdentifier": "B01LNRIIAB", + "vendorProductIdentifier": "8806098286501", + "title": "Baby Dove Baby Wipes Rich Moisture (50 Pieces)", + "orderedQuantity": { + "amount": 1, + "unitOfMeasure": "EACH" + }, + "netPrice": { + "currencyCode": "USD", + "amount": "20" + }, + "taxDetails": { + "taxLineItem": [ + { + "taxRate": "0.1", + "taxAmount": { + "currencyCode": "USD", + "amount": "2" + }, + "type": "TOTAL" + } + ] + } + } + ] + } + } + ] } } }, { "request": { "parameters": { - "body": {} + "createdBefore": { + "value": "2020-02-20T00:00:00-08:00" + }, + "createdAfter": { + "value": "2020-02-15T14:00:00-08:00" + }, + "includeDetails": { + "value": "true" + }, + "limit": { + "value": 2 + }, + "sortOrder": { + "value": "DESC" + }, + "nextToken": { + "value": "MDAwMDAwMDAwMQ==" + } + } + }, + "response": { + "payload": { + "orders": [ + { + "purchaseOrderNumber": "2JK3S9VCD", + "orderDetails": { + "customerOrderNumber": "123-ABC", + "orderDate": "2020-02-20T13:51:00Z", + "orderStatus": "NEW", + "shipmentDetails": { + "isPriorityShipment": false, + "isScheduledDeliveryShipment": false, + "isPslipRequired": true, + "isGift": false, + "shipMethod": "UPS_2ND", + "shipmentDates": { + "requiredShipDate": "2020-02-21T00:00:00Z", + "promisedDeliveryDate": "2020-02-24T00:00:00Z" + }, + "messageToCustomer": "This shipment completes your order. You can always check the status of your orders from the \"Your Account\" link at the top of each page of our site.Thank you for shopping at Amazon.com" + }, + "taxTotal": { + "taxLineItem": [ + { + "taxAmount": { + "currencyCode": "USD", + "amount": "190" + }, + "type": "TOTAL" + } + ] + }, + "sellingParty": { + "partyId": "999US" + }, + "shipFromParty": { + "partyId": "ABCD" + }, + "shipToParty": { + "name": "ABCD", + "attention": "ABCD", + "addressLine1": "123 XYZ Street", + "addressLine2": "Apt 5", + "city": "San Jose", + "stateOrRegion": "CA", + "postalCode": "94086", + "countryCode": "USA" + }, + "billToParty": { + "partyId": "ABCD" + }, + "items": [ + { + "itemSequenceNumber": "00001", + "buyerProductIdentifier": "B07DFVDRAB", + "vendorProductIdentifier": "8806098286500", + "title": "LG 8 kg Inverter Wi-Fi Fully-Automatic Front Loading Washing Machine (FHT1408SWS, STS-VCM, Inbuilt Heater)", + "orderedQuantity": { + "amount": 1, + "unitOfMeasure": "EACH" + }, + "netPrice": { + "currencyCode": "USD", + "amount": "500" + }, + "taxDetails": { + "taxLineItem": [ + { + "taxRate": "0.1", + "taxAmount": { + "currencyCode": "USD", + "amount": "50" + }, + "type": "TOTAL" + } + ] + } + }, + { + "itemSequenceNumber": "00002", + "buyerProductIdentifier": "B07DFYF5AB", + "vendorProductIdentifier": "8806098286123", + "title": "LG 6.5 kg Inverter Fully-Automatic Front Loading Washing Machine (FHT1065SNW, Blue and White, Inbuilt Heater)", + "orderedQuantity": { + "amount": 2, + "unitOfMeasure": "EACH" + }, + "netPrice": { + "currencyCode": "USD", + "amount": "700" + }, + "taxDetails": { + "taxLineItem": [ + { + "taxRate": "0.1", + "taxAmount": { + "currencyCode": "USD", + "amount": "140" + }, + "type": "TOTAL" + } + ] + } + } + ] + } + }, + { + "purchaseOrderNumber": "3TRD2IABC", + "orderDetails": { + "customerOrderNumber": "456-ABC", + "orderDate": "2020-02-18T11:47:00Z", + "orderStatus": "NEW", + "shipmentDetails": { + "isPriorityShipment": false, + "isScheduledDeliveryShipment": false, + "isPslipRequired": true, + "isGift": false, + "shipMethod": "UPS_2ND", + "shipmentDates": { + "requiredShipDate": "2020-02-20T00:00:00Z", + "promisedDeliveryDate": "2020-02-22T00:00:00Z" + }, + "messageToCustomer": "This shipment completes your order. You can always check the status of your orders from the \"Your Account\" link at the top of each page of our site.Thank you for shopping at Amazon.com" + }, + "taxTotal": { + "taxLineItem": [ + { + "taxRate": "0.1", + "taxAmount": { + "currencyCode": "USD", + "amount": "2" + }, + "type": "TOTAL" + } + ] + }, + "sellingParty": { + "partyId": "999US" + }, + "shipFromParty": { + "partyId": "ABCD" + }, + "shipToParty": { + "name": "XYZ", + "attention": "XYZ", + "addressLine1": "456 ABC Street", + "city": "Seattle", + "stateOrRegion": "WA", + "postalCode": "98007", + "countryCode": "USA" + }, + "billToParty": { + "partyId": "ABCD" + }, + "items": [ + { + "itemSequenceNumber": "00001", + "buyerProductIdentifier": "B01LNRIIAB", + "vendorProductIdentifier": "8806098286501", + "title": "Baby Dove Baby Wipes Rich Moisture (50 Pieces)", + "orderedQuantity": { + "amount": 1, + "unitOfMeasure": "EACH" + }, + "netPrice": { + "currencyCode": "USD", + "amount": "20" + }, + "taxDetails": { + "taxLineItem": [ + { + "taxRate": "0.1", + "taxAmount": { + "currencyCode": "USD", + "amount": "2" + }, + "type": "TOTAL" + } + ] + } + } + ] + } + } + ] + } + } + }, + { + "request": { + "parameters": { + "createdBefore": { + "value": "2019-08-21T00:00:00-08:00" + }, + "createdAfter": { + "value": "2019-08-20T14:00:00-08:00" + }, + "includeDetails": { + "value": "false" + }, + "sortOrder": { + "value": "DESC" + } } }, "response": { "payload": { - "transactionId": "mock-TransactionId-20190905010908-8a3b6901-ef20-412f-9270-21c021796605" + "pagination": { + "nextToken": "MDAwMDAwMDAwMQ==" + }, + "orders": [ + { + "purchaseOrderNumber": "2JK3S9VC" + }, + { + "purchaseOrderNumber": "3TRD2IAB" + } + ] + } + } + }, + { + "request": { + "parameters": { + "createdBefore": { + "value": "2019-08-21T00:00:00-08:00" + }, + "createdAfter": { + "value": "2019-08-20T14:00:00-08:00" + }, + "includeDetails": { + "value": "false" + }, + "sortOrder": { + "value": "DESC" + } + } + }, + "response": { + "payload": { + "pagination": { + "nextToken": "MDAwMDAwMDAwMQ==" + }, + "orders": [ + { + "purchaseOrderNumber": "2JK3S9VC" + }, + { + "purchaseOrderNumber": "3TRD2IAB" + } + ] + } + } + }, + { + "request": { + "parameters": { + "createdBefore": { + "value": "2019-08-21T00:00:00-08:00" + }, + "createdAfter": { + "value": "2019-08-20T14:00:00-08:00" + }, + "includeDetails": { + "value": "false" + }, + "sortOrder": { + "value": "DESC" + }, + "nextToken": { + "value": "MDAwMDAwMDAwMQ==" + } + } + }, + "response": { + "payload": { + "orders": [ + { + "purchaseOrderNumber": "2JK3S9VCD" + }, + { + "purchaseOrderNumber": "3TRD2IABC" + } + ] + } + } + }, + { + "request": { + "parameters": {} + }, + "response": { + "payload": { + "orders": [ + { + "purchaseOrderNumber": "2JK3S9VCD", + "orderDetails": { + "customerOrderNumber": "123-ABC", + "orderDate": "2020-02-20T13:51:00Z", + "orderStatus": "NEW", + "shipmentDetails": { + "isPriorityShipment": false, + "isScheduledDeliveryShipment": false, + "isPslipRequired": true, + "isGift": false, + "shipMethod": "UPS_2ND", + "shipmentDates": { + "requiredShipDate": "2020-02-21T00:00:00Z", + "promisedDeliveryDate": "2020-02-24T00:00:00Z" + }, + "messageToCustomer": "This shipment completes your order. You can always check the status of your orders from the \"Your Account\" link at the top of each page of our site. Thank you for shopping at Amazon.com." + }, + "taxTotal": { + "taxLineItem": [ + { + "taxAmount": { + "currencyCode": "USD", + "amount": "190" + }, + "type": "TOTAL" + } + ] + }, + "sellingParty": { + "partyId": "999US" + }, + "shipFromParty": { + "partyId": "ABCD" + }, + "shipToParty": { + "name": "ABCD", + "attention": "ABCD", + "addressLine1": "123 XYZ Street", + "addressLine2": "Apt 5", + "city": "San Jose", + "stateOrRegion": "CA", + "postalCode": "94086", + "countryCode": "USA" + }, + "billToParty": { + "partyId": "ABCD" + }, + "items": [ + { + "itemSequenceNumber": "00001", + "buyerProductIdentifier": "B07DFVDRAB", + "vendorProductIdentifier": "8806098286500", + "title": "LG 8 kg Inverter Wi-Fi Fully-Automatic Front Loading Washing Machine (FHT1408SWS, STS-VCM, Inbuilt Heater)", + "orderedQuantity": { + "amount": 1, + "unitOfMeasure": "EACH" + }, + "netPrice": { + "currencyCode": "USD", + "amount": "500" + }, + "taxDetails": { + "taxLineItem": [ + { + "taxRate": "0.1", + "taxAmount": { + "currencyCode": "USD", + "amount": "50" + }, + "type": "TOTAL" + } + ] + } + }, + { + "itemSequenceNumber": "00002", + "buyerProductIdentifier": "B07DFYF5AB", + "vendorProductIdentifier": "8806098286123", + "title": "LG 6.5 kg Inverter Fully-Automatic Front Loading Washing Machine (FHT1065SNW, Blue and White, Inbuilt Heater)", + "orderedQuantity": { + "amount": 2, + "unitOfMeasure": "EACH" + }, + "netPrice": { + "currencyCode": "USD", + "amount": "700" + }, + "taxDetails": { + "taxLineItem": [ + { + "taxRate": "0.1", + "taxAmount": { + "currencyCode": "USD", + "amount": "140" + }, + "type": "TOTAL" + } + ] + } + } + ] + } + }, + { + "purchaseOrderNumber": "3TRD2IABC", + "orderDetails": { + "customerOrderNumber": "456-ABC", + "orderDate": "2020-02-18T11:47:00Z", + "orderStatus": "NEW", + "shipmentDetails": { + "isPriorityShipment": false, + "isScheduledDeliveryShipment": false, + "isPslipRequired": true, + "isGift": false, + "shipMethod": "UPS_2ND", + "shipmentDates": { + "requiredShipDate": "2020-02-20T00:00:00Z", + "promisedDeliveryDate": "2020-02-22T00:00:00Z" + }, + "messageToCustomer": "This shipment completes your order. You can always check the status of your orders from the \"Your Account\" link at the top of each page of our site. Thank you for shopping at Amazon.com." + }, + "taxTotal": { + "taxLineItem": [ + { + "taxRate": "0.1", + "taxAmount": { + "currencyCode": "USD", + "amount": "2" + }, + "type": "TOTAL" + } + ] + }, + "sellingParty": { + "partyId": "999US" + }, + "shipFromParty": { + "partyId": "ABCD" + }, + "shipToParty": { + "name": "XYZ", + "attention": "XYZ", + "addressLine1": "456 ABC Street", + "city": "Seattle", + "stateOrRegion": "WA", + "postalCode": "98007", + "countryCode": "USA" + }, + "billToParty": { + "partyId": "ABCD" + }, + "items": [ + { + "itemSequenceNumber": "00001", + "buyerProductIdentifier": "B01LNRIIAB", + "vendorProductIdentifier": "8806098286501", + "title": "Baby Dove Baby Wipes Rich Moisture (50 Pieces)", + "orderedQuantity": { + "amount": 1, + "unitOfMeasure": "EACH" + }, + "netPrice": { + "currencyCode": "USD", + "amount": "20" + }, + "taxDetails": { + "taxLineItem": [ + { + "taxRate": "0.1", + "taxAmount": { + "currencyCode": "USD", + "amount": "2" + }, + "type": "TOTAL" + } + ] + } + } + ] + } + } + ] } } } @@ -134,7 +1201,7 @@ "400": { "description": "Request has missing or invalid parameters and cannot be parsed.", "schema": { - "$ref": "#/definitions/SubmitInventoryUpdateResponse" + "$ref": "#/definitions/GetOrdersResponse" }, "headers": { "x-amzn-RateLimit-Limit": { @@ -151,16 +1218,19 @@ { "request": { "parameters": { - "warehouseId": { - "value": "DUMMYCODE" + "createdBefore": { + "value": "2021-01-2100:00:00" + }, + "createdAfter": { + "value": "2021-02-20T14:00:00" } } }, "response": { "errors": [ { - "code": "InvalidInput", - "message": "Invalid transmission ID.", + "code": "InvalidRequest", + "message": "The request is invalid.", "details": "" } ] @@ -172,7 +1242,7 @@ "403": { "description": "Indicates that access to the resource is forbidden. Possible reasons include Access Denied, Unauthorized, Expired Token, or Invalid Signature.", "schema": { - "$ref": "#/definitions/SubmitInventoryUpdateResponse" + "$ref": "#/definitions/GetOrdersResponse" }, "headers": { "x-amzn-RequestId": { @@ -184,7 +1254,7 @@ "404": { "description": "The resource specified does not exist.", "schema": { - "$ref": "#/definitions/SubmitInventoryUpdateResponse" + "$ref": "#/definitions/GetOrdersResponse" }, "headers": { "x-amzn-RateLimit-Limit": { @@ -197,26 +1267,10 @@ } } }, - "413": { - "description": "The request size exceeded the maximum accepted size.", - "schema": { - "$ref": "#/definitions/SubmitInventoryUpdateResponse" - }, - "headers": { - "x-amzn-RateLimit-Limit": { - "type": "string", - "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." - }, - "x-amzn-RequestId": { - "type": "string", - "description": "Unique request reference identifier." - } - } - }, "415": { "description": "The request payload is in an unsupported format.", "schema": { - "$ref": "#/definitions/SubmitInventoryUpdateResponse" + "$ref": "#/definitions/GetOrdersResponse" }, "headers": { "x-amzn-RateLimit-Limit": { @@ -232,7 +1286,7 @@ "429": { "description": "The frequency of requests was greater than allowed.", "schema": { - "$ref": "#/definitions/SubmitInventoryUpdateResponse" + "$ref": "#/definitions/GetOrdersResponse" }, "headers": { "x-amzn-RateLimit-Limit": { @@ -248,7 +1302,7 @@ "500": { "description": "An unexpected condition occurred that prevented the server from fulfilling the request.", "schema": { - "$ref": "#/definitions/SubmitInventoryUpdateResponse" + "$ref": "#/definitions/GetOrdersResponse" }, "headers": { "x-amzn-RateLimit-Limit": { @@ -264,7 +1318,7 @@ "503": { "description": "Temporary overloading or maintenance of the server.", "schema": { - "$ref": "#/definitions/SubmitInventoryUpdateResponse" + "$ref": "#/definitions/GetOrdersResponse" }, "headers": { "x-amzn-RateLimit-Limit": { @@ -278,119 +1332,1144 @@ } } } - }, - "parameters": [] - } - }, - "definitions": { - "SubmitInventoryUpdateRequest": { - "type": "object", - "properties": { - "inventory": { - "description": "Inventory details required to update some or all items for the requested warehouse.", - "$ref": "#/definitions/InventoryUpdate" - } - }, - "description": "The request body for the submitInventoryUpdate operation." + } }, - "InventoryUpdate": { - "type": "object", - "required": [ - "isFullUpdate", - "items", - "sellingParty" + "/vendor/directFulfillment/orders/v1/purchaseOrders/{purchaseOrderNumber}": { + "get": { + "tags": [ + "vendorOrders" + ], + "description": "Returns purchase order information for the purchaseOrderNumber that you specify.\n\n**Usage Plan:**\n\n| Rate (requests per second) | Burst |\n| ---- | ---- |\n| 10 | 10 |\n\nThe `x-amzn-RateLimit-Limit` response header returns the usage plan rate limits that were applied to the requested operation, when available. The table above indicates the default rate and burst values for this operation. Selling partners whose business demands require higher throughput may see higher rate and burst values than those shown here. For more information, see [Usage Plans and Rate Limits in the Selling Partner API](https://developer-docs.amazon.com/sp-api/docs/usage-plans-and-rate-limits-in-the-sp-api).", + "operationId": "getOrder", + "parameters": [ + { + "name": "purchaseOrderNumber", + "in": "path", + "description": "The order identifier for the purchase order that you want. Formatting Notes: alpha-numeric code.", + "required": true, + "type": "string" + } + ], + "responses": { + "200": { + "description": "Success.", + "schema": { + "$ref": "#/definitions/GetOrderResponse" + }, + "examples": { + "application/json": { + "payload": { + "purchaseOrderNumber": "2JK3S9VC", + "orderDetails": { + "customerOrderNumber": "123-ABC", + "orderDate": "2020-02-20T13:51:00Z", + "orderStatus": "NEW", + "shipmentDetails": { + "isPriorityShipment": false, + "isScheduledDeliveryShipment": false, + "isPslipRequired": true, + "isGift": false, + "shipMethod": "UPS_2ND", + "shipmentDates": { + "requiredShipDate": "2020-02-21T00:00:00Z", + "promisedDeliveryDate": "2020-02-24T00:00:00Z" + }, + "messageToCustomer": "This shipment completes your order. You can always check the status of your orders from the \"Your Account\" link at the top of each page of our site.Thank you for shopping at Amazon.com" + }, + "taxTotal": { + "taxLineItem": [ + { + "taxAmount": { + "currencyCode": "USD", + "amount": "190" + }, + "type": "TOTAL" + } + ] + }, + "sellingParty": { + "partyId": "999US" + }, + "shipFromParty": { + "partyId": "ABCD" + }, + "shipToParty": { + "name": "ABCD", + "attention": "ABCD", + "addressLine1": "123 XYZ Street", + "addressLine2": "Apt 5", + "city": "San Jose", + "stateOrRegion": "CA", + "postalCode": "94086", + "countryCode": "USA" + }, + "billToParty": { + "partyId": "ABCD" + }, + "items": [ + { + "itemSequenceNumber": "00001", + "buyerProductIdentifier": "B07DFVDRAB", + "vendorProductIdentifier": "8806098286500", + "title": "LG 8 kg Inverter Wi-Fi Fully-Automatic Front Loading Washing Machine (FHT1408SWS, STS-VCM, Inbuilt Heater)", + "orderedQuantity": { + "amount": 1, + "unitOfMeasure": "EACH" + }, + "netPrice": { + "currencyCode": "USD", + "amount": "500" + }, + "taxDetails": { + "taxLineItem": [ + { + "taxRate": "0.1", + "taxAmount": { + "currencyCode": "USD", + "amount": "50" + }, + "type": "TOTAL" + } + ] + } + }, + { + "itemSequenceNumber": "00002", + "buyerProductIdentifier": "B07DFYF5AB", + "vendorProductIdentifier": "8806098286123", + "title": "LG 6.5 kg Inverter Fully-Automatic Front Loading Washing Machine (FHT1065SNW, Blue and White, Inbuilt Heater)", + "orderedQuantity": { + "amount": 2, + "unitOfMeasure": "EACH" + }, + "netPrice": { + "currencyCode": "USD", + "amount": "700" + }, + "taxDetails": { + "taxLineItem": [ + { + "taxRate": "0.1", + "taxAmount": { + "currencyCode": "USD", + "amount": "140" + }, + "type": "TOTAL" + } + ] + } + } + ] + } + } + } + }, + "headers": { + "x-amzn-RateLimit-Limit": { + "type": "string", + "description": "Your rate limit (requests per second) for this operation." + }, + "x-amzn-RequestId": { + "type": "string", + "description": "Unique request reference identifier." + } + }, + "x-amzn-api-sandbox": { + "static": [ + { + "request": { + "parameters": { + "purchaseOrderNumber": { + "value": "2JK3S9VC" + } + } + }, + "response": { + "payload": { + "purchaseOrderNumber": "2JK3S9VC", + "orderDetails": { + "customerOrderNumber": "123-ABC", + "orderDate": "2020-02-20T13:51:00Z", + "orderStatus": "NEW", + "shipmentDetails": { + "isPriorityShipment": false, + "isScheduledDeliveryShipment": false, + "isPslipRequired": true, + "isGift": false, + "shipMethod": "UPS_2ND", + "shipmentDates": { + "requiredShipDate": "2020-02-21T00:00:00Z", + "promisedDeliveryDate": "2020-02-24T00:00:00Z" + }, + "messageToCustomer": "This shipment completes your order. You can always check the status of your orders from the \"Your Account\" link at the top of each page of our site.Thank you for shopping at Amazon.com" + }, + "taxTotal": { + "taxLineItem": [ + { + "taxRate": "0.1", + "taxAmount": { + "currencyCode": "USD", + "amount": "190" + }, + "type": "TOTAL" + } + ] + }, + "sellingParty": { + "partyId": "999US" + }, + "shipFromParty": { + "partyId": "ABCD" + }, + "shipToParty": { + "name": "ABCD", + "attention": "ABCD", + "addressLine1": "123 XYZ Street", + "addressLine2": "Apt 5", + "city": "San Jose", + "stateOrRegion": "CA", + "postalCode": "94086", + "countryCode": "USA" + }, + "billToParty": { + "partyId": "ABCD" + }, + "items": [ + { + "itemSequenceNumber": "00001", + "buyerProductIdentifier": "B07DFVDRAB", + "vendorProductIdentifier": "8806098286500", + "title": "LG 8 kg Inverter Wi-Fi Fully-Automatic Front Loading Washing Machine (FHT1408SWS, STS-VCM, Inbuilt Heater)", + "orderedQuantity": { + "amount": 1, + "unitOfMeasure": "EACH" + }, + "netPrice": { + "currencyCode": "USD", + "amount": "500" + }, + "taxDetails": { + "taxLineItem": [ + { + "taxRate": "0.1", + "taxAmount": { + "currencyCode": "USD", + "amount": "50" + }, + "type": "TOTAL" + } + ] + } + }, + { + "itemSequenceNumber": "00002", + "buyerProductIdentifier": "B07DFYF5AB", + "vendorProductIdentifier": "8806098286123", + "title": "LG 6.5 kg Inverter Fully-Automatic Front Loading Washing Machine (FHT1065SNW, Blue and White, Inbuilt Heater)", + "orderedQuantity": { + "amount": 2, + "unitOfMeasure": "EACH" + }, + "netPrice": { + "currencyCode": "USD", + "amount": "700" + }, + "taxDetails": { + "taxLineItem": [ + { + "taxRate": "0.1", + "taxAmount": { + "currencyCode": "USD", + "amount": "140" + }, + "type": "TOTAL" + } + ] + } + } + ] + } + } + } + }, + { + "request": { + "parameters": {} + }, + "response": { + "payload": { + "purchaseOrderNumber": "2JK3S9VCD", + "orderDetails": { + "customerOrderNumber": "123-ABC", + "orderDate": "2020-02-20T13:51:00Z", + "orderStatus": "NEW", + "shipmentDetails": { + "isPriorityShipment": false, + "isScheduledDeliveryShipment": false, + "isPslipRequired": true, + "isGift": false, + "shipMethod": "UPS_2ND", + "shipmentDates": { + "requiredShipDate": "2020-02-21T00:00:00Z", + "promisedDeliveryDate": "2020-02-24T00:00:00Z" + }, + "messageToCustomer": "This shipment completes your order. You can always check the status of your orders from the \"Your Account\" link at the top of each page of our site. Thank you for shopping at Amazon.com." + }, + "taxTotal": { + "taxLineItem": [ + { + "taxAmount": { + "currencyCode": "USD", + "amount": "190" + }, + "type": "TOTAL" + } + ] + }, + "sellingParty": { + "partyId": "999US" + }, + "shipFromParty": { + "partyId": "ABCD" + }, + "shipToParty": { + "name": "ABCD", + "attention": "ABCD", + "addressLine1": "123 XYZ Street", + "addressLine2": "Apt 5", + "city": "San Jose", + "stateOrRegion": "CA", + "postalCode": "94086", + "countryCode": "USA" + }, + "billToParty": { + "partyId": "ABCD" + }, + "items": [ + { + "itemSequenceNumber": "00001", + "buyerProductIdentifier": "B07DFVDRAB", + "vendorProductIdentifier": "8806098286500", + "title": "LG 8 kg Inverter Wi-Fi Fully-Automatic Front Loading Washing Machine (FHT1408SWS, STS-VCM, Inbuilt Heater)", + "orderedQuantity": { + "amount": 1, + "unitOfMeasure": "EACH" + }, + "netPrice": { + "currencyCode": "USD", + "amount": "500" + }, + "taxDetails": { + "taxLineItem": [ + { + "taxRate": "0.1", + "taxAmount": { + "currencyCode": "USD", + "amount": "50" + }, + "type": "TOTAL" + } + ] + } + }, + { + "itemSequenceNumber": "00002", + "buyerProductIdentifier": "B07DFYF5AB", + "vendorProductIdentifier": "8806098286123", + "title": "LG 6.5 kg Inverter Fully-Automatic Front Loading Washing Machine (FHT1065SNW, Blue and White, Inbuilt Heater)", + "orderedQuantity": { + "amount": 2, + "unitOfMeasure": "EACH" + }, + "netPrice": { + "currencyCode": "USD", + "amount": "700" + }, + "taxDetails": { + "taxLineItem": [ + { + "taxRate": "0.1", + "taxAmount": { + "currencyCode": "USD", + "amount": "140" + }, + "type": "TOTAL" + } + ] + } + } + ] + } + } + } + } + ] + } + }, + "400": { + "description": "Request has missing or invalid parameters and cannot be parsed.", + "schema": { + "$ref": "#/definitions/GetOrderResponse" + }, + "headers": { + "x-amzn-RateLimit-Limit": { + "type": "string", + "description": "Your rate limit (requests per second) for this operation." + }, + "x-amzn-RequestId": { + "type": "string", + "description": "Unique request reference identifier." + } + }, + "x-amzn-api-sandbox": { + "static": [ + { + "request": { + "parameters": { + "purchaseOrderNumber": { + "value": "null" + } + } + }, + "response": { + "errors": [ + { + "code": "InvalidRequest", + "message": "Request is missing or has invalid parameters", + "details": "purchaseOrderNumber cannot be null" + } + ] + } + } + ] + } + }, + "401": { + "description": "The request's Authorization header is not formatted correctly or does not contain a valid token.", + "schema": { + "$ref": "#/definitions/GetOrderResponse" + }, + "headers": { + "x-amzn-RateLimit-Limit": { + "type": "string", + "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." + }, + "x-amzn-RequestId": { + "type": "string", + "description": "Unique request reference identifier." + } + } + }, + "403": { + "description": "Indicates that access to the resource is forbidden. Possible reasons include Access Denied, Unauthorized, Expired Token, or Invalid Signature.", + "schema": { + "$ref": "#/definitions/GetOrderResponse" + }, + "headers": { + "x-amzn-RequestId": { + "type": "string", + "description": "Unique request reference identifier." + } + } + }, + "404": { + "description": "The resource specified does not exist.", + "schema": { + "$ref": "#/definitions/GetOrderResponse" + }, + "headers": { + "x-amzn-RateLimit-Limit": { + "type": "string", + "description": "Your rate limit (requests per second) for this operation." + }, + "x-amzn-RequestId": { + "type": "string", + "description": "Unique request reference identifier." + } + } + }, + "415": { + "description": "The request payload is in an unsupported format.", + "schema": { + "$ref": "#/definitions/GetOrderResponse" + }, + "headers": { + "x-amzn-RateLimit-Limit": { + "type": "string", + "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." + }, + "x-amzn-RequestId": { + "type": "string", + "description": "Unique request reference identifier." + } + } + }, + "429": { + "description": "The frequency of requests was greater than allowed.", + "schema": { + "$ref": "#/definitions/GetOrderResponse" + }, + "headers": { + "x-amzn-RateLimit-Limit": { + "type": "string", + "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." + }, + "x-amzn-RequestId": { + "type": "string", + "description": "Unique request reference identifier." + } + } + }, + "500": { + "description": "An unexpected condition occurred that prevented the server from fulfilling the request.", + "schema": { + "$ref": "#/definitions/GetOrderResponse" + }, + "headers": { + "x-amzn-RateLimit-Limit": { + "type": "string", + "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." + }, + "x-amzn-RequestId": { + "type": "string", + "description": "Unique request reference identifier." + } + } + }, + "503": { + "description": "Temporary overloading or maintenance of the server.", + "schema": { + "$ref": "#/definitions/GetOrderResponse" + }, + "headers": { + "x-amzn-RateLimit-Limit": { + "type": "string", + "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." + }, + "x-amzn-RequestId": { + "type": "string", + "description": "Unique request reference identifier." + } + } + } + } + } + }, + "/vendor/directFulfillment/orders/v1/acknowledgements": { + "post": { + "tags": [ + "vendorOrders" + ], + "description": "Submits acknowledgements for one or more purchase orders.\n\n**Usage Plan:**\n\n| Rate (requests per second) | Burst |\n| ---- | ---- |\n| 10 | 10 |\n\nThe `x-amzn-RateLimit-Limit` response header returns the usage plan rate limits that were applied to the requested operation, when available. The table above indicates the default rate and burst values for this operation. Selling partners whose business demands require higher throughput may see higher rate and burst values than those shown here. For more information, see [Usage Plans and Rate Limits in the Selling Partner API](https://developer-docs.amazon.com/sp-api/docs/usage-plans-and-rate-limits-in-the-sp-api).", + "operationId": "submitAcknowledgement", + "parameters": [ + { + "in": "body", + "name": "body", + "required": true, + "schema": { + "$ref": "#/definitions/SubmitAcknowledgementRequest" + } + } + ], + "responses": { + "202": { + "description": "Success.", + "schema": { + "$ref": "#/definitions/SubmitAcknowledgementResponse" + }, + "headers": { + "x-amzn-RateLimit-Limit": { + "type": "string", + "description": "Your rate limit (requests per second) for this operation." + }, + "x-amzn-RequestId": { + "type": "string", + "description": "Unique request reference identifier." + } + }, + "x-amzn-api-sandbox": { + "static": [ + { + "request": { + "parameters": { + "body": { + "value": { + "orderAcknowledgements": [ + { + "purchaseOrderNumber": "2JK3S9VC", + "vendorOrderNumber": "ABC", + "acknowledgementDate": "2020-02-20T19:17:34.304Z", + "acknowledgementStatus": { + "code": "00", + "description": "Shipping 100 percent of ordered product" + }, + "sellingParty": { + "partyId": "999US" + }, + "shipFromParty": { + "partyId": "ABCD" + }, + "itemAcknowledgements": [ + { + "itemSequenceNumber": "00001", + "buyerProductIdentifier": "B07DFVDRAB", + "vendorProductIdentifier": "8806098286500", + "acknowledgedQuantity": { + "amount": 1, + "unitOfMeasure": "Each" + } + } + ] + } + ] + } + } + } + }, + "response": { + "payload": { + "transactionId": "20190827182357-8725bde9-c61c-49f9-86ac-46efd82d4da5" + } + } + }, + { + "request": { + "parameters": { + "body": {} + } + }, + "response": { + "payload": { + "transactionId": "mock-TransactionId-20190827182357-8725bde9-c61c-49f9-86ac-46efd82d4da5" + } + } + } + ] + } + }, + "400": { + "description": "Request has missing or invalid parameters and cannot be parsed.", + "schema": { + "$ref": "#/definitions/SubmitAcknowledgementResponse" + }, + "headers": { + "x-amzn-RateLimit-Limit": { + "type": "string", + "description": "Your rate limit (requests per second) for this operation." + }, + "x-amzn-RequestId": { + "type": "string", + "description": "Unique request reference identifier." + } + }, + "x-amzn-api-sandbox": { + "static": [ + { + "request": { + "parameters": { + "body": { + "value": { + "orderAcknowledgements": [ + { + "purchaseOrderNumber": "TestOrder400", + "sellingParty": {} + } + ] + } + } + } + }, + "response": { + "errors": [ + { + "code": "InvalidInput", + "message": "The content of element 'sellingParty' is not complete. One of '{partyId, address, taxInfo}' is expected.", + "details": "" + } + ] + } + } + ] + } + }, + "403": { + "description": "Indicates that access to the resource is forbidden. Possible reasons include Access Denied, Unauthorized, Expired Token, or Invalid Signature.", + "schema": { + "$ref": "#/definitions/SubmitAcknowledgementResponse" + }, + "headers": { + "x-amzn-RequestId": { + "type": "string", + "description": "Unique request reference identifier." + } + } + }, + "404": { + "description": "The resource specified does not exist.", + "schema": { + "$ref": "#/definitions/SubmitAcknowledgementResponse" + }, + "headers": { + "x-amzn-RateLimit-Limit": { + "type": "string", + "description": "Your rate limit (requests per second) for this operation." + }, + "x-amzn-RequestId": { + "type": "string", + "description": "Unique request reference identifier." + } + } + }, + "413": { + "description": "The request size exceeded the maximum accepted size.", + "schema": { + "$ref": "#/definitions/SubmitAcknowledgementResponse" + }, + "headers": { + "x-amzn-RateLimit-Limit": { + "type": "string", + "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." + }, + "x-amzn-RequestId": { + "type": "string", + "description": "Unique request reference identifier." + } + } + }, + "415": { + "description": "The request payload is in an unsupported format.", + "schema": { + "$ref": "#/definitions/SubmitAcknowledgementResponse" + }, + "headers": { + "x-amzn-RateLimit-Limit": { + "type": "string", + "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." + }, + "x-amzn-RequestId": { + "type": "string", + "description": "Unique request reference identifier." + } + } + }, + "429": { + "description": "The frequency of requests was greater than allowed.", + "schema": { + "$ref": "#/definitions/SubmitAcknowledgementResponse" + }, + "headers": { + "x-amzn-RateLimit-Limit": { + "type": "string", + "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." + }, + "x-amzn-RequestId": { + "type": "string", + "description": "Unique request reference identifier." + } + } + }, + "500": { + "description": "An unexpected condition occurred that prevented the server from fulfilling the request.", + "schema": { + "$ref": "#/definitions/SubmitAcknowledgementResponse" + }, + "headers": { + "x-amzn-RateLimit-Limit": { + "type": "string", + "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." + }, + "x-amzn-RequestId": { + "type": "string", + "description": "Unique request reference identifier." + } + } + }, + "503": { + "description": "Temporary overloading or maintenance of the server.", + "schema": { + "$ref": "#/definitions/SubmitAcknowledgementResponse" + }, + "headers": { + "x-amzn-RateLimit-Limit": { + "type": "string", + "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." + }, + "x-amzn-RequestId": { + "type": "string", + "description": "Unique request reference identifier." + } + } + } + } + } + } + }, + "definitions": { + "GetOrdersResponse": { + "type": "object", + "properties": { + "payload": { + "description": "A list of purchase orders.", + "$ref": "#/definitions/OrderList" + }, + "errors": { + "$ref": "#/definitions/ErrorList" + } + }, + "description": "The response schema for the getOrders operation." + }, + "GetOrderResponse": { + "type": "object", + "properties": { + "payload": { + "description": "The payload for the getOrder operation.", + "$ref": "#/definitions/Order" + }, + "errors": { + "$ref": "#/definitions/ErrorList" + } + }, + "description": "The response schema for the getOrder operation." + }, + "OrderList": { + "type": "object", + "properties": { + "pagination": { + "$ref": "#/definitions/Pagination" + }, + "orders": { + "type": "array", + "items": { + "$ref": "#/definitions/Order" + } + } + } + }, + "Pagination": { + "type": "object", + "properties": { + "nextToken": { + "type": "string", + "description": "A generated string used to pass information to your next request. If NextToken is returned, pass the value of NextToken to the next request. If NextToken is not returned, there are no more order items to return." + } + } + }, + "Order": { + "type": "object", + "required": [ + "purchaseOrderNumber" + ], + "properties": { + "purchaseOrderNumber": { + "type": "string", + "description": "The purchase order number for this order. Formatting Notes: alpha-numeric code." + }, + "orderDetails": { + "description": "Purchase order details.", + "$ref": "#/definitions/OrderDetails" + } + } + }, + "OrderDetails": { + "type": "object", + "required": [ + "billToParty", + "customerOrderNumber", + "items", + "orderDate", + "sellingParty", + "shipFromParty", + "shipToParty", + "shipmentDetails" ], "properties": { + "customerOrderNumber": { + "type": "string", + "description": "The customer order number." + }, + "orderDate": { + "type": "string", + "format": "date-time", + "description": "The date the order was placed. This field is expected to be in ISO-8601 date/time format, for example:2018-07-16T23:00:00Z/ 2018-07-16T23:00:00-05:00 /2018-07-16T23:00:00-08:00. If no time zone is specified, UTC should be assumed." + }, + "orderStatus": { + "type": "string", + "description": "Current status of the order.", + "enum": [ + "NEW", + "SHIPPED", + "ACCEPTED", + "CANCELLED" + ], + "x-docgen-enum-table-extension": [ + { + "value": "NEW", + "description": "Status for newly created orders." + }, + { + "value": "SHIPPED", + "description": "Status for orders that are already shipped." + }, + { + "value": "ACCEPTED", + "description": "Status for orders accepted by vendors." + }, + { + "value": "CANCELLED", + "description": "Status for cancelled orders." + } + ] + }, + "shipmentDetails": { + "$ref": "#/definitions/ShipmentDetails" + }, + "taxTotal": { + "type": "object", + "properties": { + "taxLineItem": { + "description": "Tax details.", + "$ref": "#/definitions/TaxLineItem" + } + } + }, "sellingParty": { - "description": "ID of the selling party or vendor.", + "description": "PartyID of vendor code.", "$ref": "#/definitions/PartyIdentification" }, - "isFullUpdate": { - "type": "boolean", - "description": "When true, this request contains a full feed. Otherwise, this request contains a partial feed. When sending a full feed, you must send information about all items in the warehouse. Any items not in the full feed are updated as not available. When sending a partial feed, only include the items that need an update to inventory. The status of other items will remain unchanged." + "shipFromParty": { + "description": "PartyID of vendor's warehouse.", + "$ref": "#/definitions/PartyIdentification" + }, + "shipToParty": { + "description": "Name/Address and tax details of the ship to party.", + "$ref": "#/definitions/Address" + }, + "billToParty": { + "description": "Name/Address and tax details of the bill to party.", + "$ref": "#/definitions/PartyIdentification" }, "items": { "type": "array", - "description": "A list of inventory items with updated details, including quantity available.", + "description": "A list of items in this purchase order.", "items": { - "$ref": "#/definitions/ItemDetails" + "$ref": "#/definitions/OrderItem" } } + }, + "description": "Details of an order." + }, + "PartyIdentification": { + "type": "object", + "required": [ + "partyId" + ], + "properties": { + "partyId": { + "type": "string", + "description": "Assigned identification for the party. For example, warehouse code or vendor code. Please refer to specific party for more details." + }, + "address": { + "description": "Address details of the party.", + "$ref": "#/definitions/Address" + }, + "taxInfo": { + "description": "Tax registration details of the entity.", + "$ref": "#/definitions/TaxRegistrationDetails" + } } }, - "ItemDetails": { + "TaxRegistrationDetails": { "type": "object", "required": [ - "availableQuantity" + "taxRegistrationNumber" ], "properties": { - "buyerProductIdentifier": { + "taxRegistrationType": { "type": "string", - "description": "The buyer selected product identification of the item. Either buyerProductIdentifier or vendorProductIdentifier should be submitted." + "description": "Tax registration type for the entity.", + "enum": [ + "VAT", + "GST" + ], + "x-docgen-enum-table-extension": [ + { + "value": "VAT", + "description": "Value-added tax." + }, + { + "value": "GST", + "description": "Goods and Services tax." + } + ] }, - "vendorProductIdentifier": { + "taxRegistrationNumber": { "type": "string", - "description": "The vendor selected product identification of the item. Either buyerProductIdentifier or vendorProductIdentifier should be submitted." + "description": "Tax registration number for the party. For example, VAT ID." }, - "availableQuantity": { - "description": "Total item quantity available in the warehouse.", - "$ref": "#/definitions/ItemQuantity" + "taxRegistrationAddress": { + "description": "Address associated with the tax registration number.", + "$ref": "#/definitions/Address" }, - "isObsolete": { - "type": "boolean", - "description": "When true, the item is permanently unavailable." + "taxRegistrationMessages": { + "type": "string", + "description": "Tax registration message that can be used for additional tax related details." } }, - "description": "Updated inventory details for an item." + "description": "Tax registration details of the entity." }, - "PartyIdentification": { + "Address": { "type": "object", "required": [ - "partyId" + "addressLine1", + "countryCode", + "name", + "stateOrRegion" ], "properties": { - "partyId": { + "name": { + "type": "string", + "description": "The name of the person, business or institution at that address. For Amazon label only vendors, this field will have the value `xxxxx` within the object `shipToParty`." + }, + "attention": { + "type": "string", + "description": "The attention name of the person at that address. For Amazon label only vendors, this field will have the value `xxxxx` within the object `shipToParty`." + }, + "addressLine1": { + "type": "string", + "description": "First line of the address. For Amazon label only vendors, this field will have the value `xxxxx` within the object `shipToParty`." + }, + "addressLine2": { + "type": "string", + "description": "Additional address information, if required. For Amazon label only vendors, this field will have the value `xxxxx` within the object `shipToParty`." + }, + "addressLine3": { + "type": "string", + "description": "Additional address information, if required. For Amazon label only vendors, this field will have the value `xxxxx` within the object `shipToParty`." + }, + "city": { + "type": "string", + "description": "The city where the person, business or institution is located. For Amazon label only vendors, this field will have the value `xxxxx` within the object `shipToParty`." + }, + "county": { + "type": "string", + "description": "The county where person, business or institution is located. For Amazon label only vendors, this field will have the value `xxxxx` within the object `shipToParty`." + }, + "district": { + "type": "string", + "description": "The district where person, business or institution is located. For Amazon label only vendors, this field will have the value `xxxxx` within the object `shipToParty`." + }, + "stateOrRegion": { + "type": "string", + "description": "The state or region where person, business or institution is located." + }, + "postalCode": { + "type": "string", + "description": "The postal code of that address. It conatins a series of letters or digits or both, sometimes including spaces or punctuation." + }, + "countryCode": { + "type": "string", + "description": "The two digit country code. In ISO 3166-1 alpha-2 format." + }, + "phone": { "type": "string", - "description": "Assigned identification for the party." + "description": "The phone number of the person, business or institution located at that address. For Amazon label only vendors, this field will have the value `xxxxx` within the object `shipToParty`." } - } + }, + "description": "Address of the party." }, - "ItemQuantity": { + "OrderItem": { "type": "object", "required": [ - "unitOfMeasure" + "itemSequenceNumber", + "netPrice", + "orderedQuantity" ], "properties": { - "amount": { - "type": "integer", - "description": "Quantity of units available for a specific item." + "itemSequenceNumber": { + "type": "string", + "description": "Numbering of the item on the purchase order. The first item will be 1, the second 2, and so on." }, - "unitOfMeasure": { + "buyerProductIdentifier": { + "type": "string", + "description": "Buyer's standard identification number (ASIN) of an item." + }, + "vendorProductIdentifier": { + "type": "string", + "description": "The vendor selected product identification of the item." + }, + "title": { + "type": "string", + "description": "Title for the item." + }, + "orderedQuantity": { + "description": "Item quantity ordered.", + "$ref": "#/definitions/ItemQuantity" + }, + "scheduledDeliveryShipment": { + "description": "Details for the scheduled delivery shipment.", + "$ref": "#/definitions/ScheduledDeliveryShipment" + }, + "giftDetails": { + "description": "Gift message and wrapId details.", + "$ref": "#/definitions/GiftDetails" + }, + "netPrice": { + "description": "Net price (before tax) to vendor with currency details.", + "$ref": "#/definitions/Money" + }, + "taxDetails": { + "type": "object", + "description": "Total tax details for the line item.", + "properties": { + "taxLineItem": { + "description": "Tax details.", + "$ref": "#/definitions/TaxLineItem" + } + } + }, + "totalPrice": { + "description": "The price to Amazon each (cost).", + "$ref": "#/definitions/Money" + } + } + }, + "Money": { + "type": "object", + "properties": { + "currencyCode": { "type": "string", - "description": "Unit of measure for the available quantity." + "description": "Three digit currency code in ISO 4217 format. String of length 3." + }, + "amount": { + "$ref": "#/definitions/Decimal" } }, - "description": "Details of item quantity." + "description": "An amount of money, including units in the form of currency." + }, + "Decimal": { + "type": "string", + "description": "A decimal number with no loss of precision. Useful when precision loss is unacceptable, as with currencies. Follows RFC7159 for number representation." }, - "SubmitInventoryUpdateResponse": { + "SubmitAcknowledgementResponse": { "type": "object", "properties": { "payload": { - "description": "The response payload for the submitInventoryUpdate operation.", - "$ref": "#/definitions/TransactionReference" + "description": "The payload for the submitAcknowledgement operation.", + "$ref": "#/definitions/TransactionId" }, "errors": { "$ref": "#/definitions/ErrorList" } }, - "description": "The response schema for the submitInventoryUpdate operation." + "description": "The response schema for the submitAcknowledgement operation." }, - "TransactionReference": { + "TransactionId": { "type": "object", "properties": { "transactionId": { "type": "string", - "description": "GUID to identify this transaction. This value can be used with the Transaction Status API to return the status of this transaction." + "description": "GUID assigned by Amazon to identify this transaction. This value can be used with the Transaction Status API to return the status of this transaction." } } }, @@ -401,6 +2480,195 @@ "$ref": "#/definitions/Error" } }, + "SubmitAcknowledgementRequest": { + "type": "object", + "properties": { + "orderAcknowledgements": { + "type": "array", + "description": "A list of one or more purchase orders.", + "items": { + "$ref": "#/definitions/OrderAcknowledgementItem" + } + } + }, + "description": "The request schema for the submitAcknowledgement operation." + }, + "OrderAcknowledgementItem": { + "type": "object", + "required": [ + "acknowledgementDate", + "acknowledgementStatus", + "itemAcknowledgements", + "purchaseOrderNumber", + "sellingParty", + "shipFromParty", + "vendorOrderNumber" + ], + "properties": { + "purchaseOrderNumber": { + "type": "string", + "description": "The purchase order number for this order. Formatting Notes: alpha-numeric code." + }, + "vendorOrderNumber": { + "type": "string", + "description": "The vendor's order number for this order." + }, + "acknowledgementDate": { + "type": "string", + "format": "date-time", + "description": "The date and time when the order is acknowledged, in ISO-8601 date/time format. For example: 2018-07-16T23:00:00Z / 2018-07-16T23:00:00-05:00 / 2018-07-16T23:00:00-08:00." + }, + "acknowledgementStatus": { + "description": "Status of acknowledgement.", + "$ref": "#/definitions/AcknowledgementStatus" + }, + "sellingParty": { + "description": "PartyID as vendor code.", + "$ref": "#/definitions/PartyIdentification" + }, + "shipFromParty": { + "description": "PartyID as the vendor's warehouseId.", + "$ref": "#/definitions/PartyIdentification" + }, + "itemAcknowledgements": { + "type": "array", + "description": "Item details including acknowledged quantity.", + "items": { + "$ref": "#/definitions/OrderItemAcknowledgement" + } + } + }, + "description": "Details of an individual order being acknowledged." + }, + "OrderItemAcknowledgement": { + "type": "object", + "required": [ + "acknowledgedQuantity", + "itemSequenceNumber" + ], + "properties": { + "itemSequenceNumber": { + "type": "string", + "description": "Line item sequence number for the item." + }, + "buyerProductIdentifier": { + "type": "string", + "description": "Buyer's standard identification number (ASIN) of an item." + }, + "vendorProductIdentifier": { + "type": "string", + "description": "The vendor selected product identification of the item. Should be the same as was provided in the purchase order." + }, + "acknowledgedQuantity": { + "description": "Details of quantity acknowledged with the above acknowledgement code.", + "$ref": "#/definitions/ItemQuantity" + } + } + }, + "ItemQuantity": { + "type": "object", + "properties": { + "amount": { + "type": "integer", + "description": "Acknowledged quantity. This value should not be zero." + }, + "unitOfMeasure": { + "type": "string", + "description": "Unit of measure for the acknowledged quantity.", + "enum": [ + "Each" + ], + "x-docgen-enum-table-extension": [ + { + "value": "Each", + "description": "Unit of measure to represent individual piece." + } + ] + } + }, + "description": "Details of quantity ordered." + }, + "TaxLineItem": { + "type": "array", + "description": "A list of tax line items.", + "items": { + "$ref": "#/definitions/TaxDetails" + } + }, + "TaxDetails": { + "type": "object", + "required": [ + "taxAmount" + ], + "properties": { + "taxRate": { + "$ref": "#/definitions/Decimal" + }, + "taxAmount": { + "$ref": "#/definitions/Money" + }, + "taxableAmount": { + "$ref": "#/definitions/Money" + }, + "type": { + "type": "string", + "description": "Tax type.", + "enum": [ + "CONSUMPTION", + "GST", + "MwSt.", + "PST", + "TOTAL", + "TVA", + "VAT" + ], + "x-docgen-enum-table-extension": [ + { + "value": "CONSUMPTION", + "description": "Tax levied on consumption spending on goods and services." + }, + { + "value": "GST", + "description": "Tax levied on most goods and services sold for domestic consumption." + }, + { + "value": "MwSt.", + "description": "Mehrwertsteuer, MwSt, is German for value-added tax." + }, + { + "value": "PST", + "description": "A provincial sales tax (PST) is imposed on consumers of goods and particular services in many Canadian provinces." + }, + { + "value": "TOTAL", + "description": "Combined total of all the applicable taxes." + }, + { + "value": "TVA", + "description": "Taxe sur la Valeur Ajoutée (TVA) is French for value-added tax." + }, + { + "value": "VAT", + "description": "Value-added tax." + } + ] + } + } + }, + "AcknowledgementStatus": { + "type": "object", + "properties": { + "code": { + "type": "string", + "description": "Acknowledgement code is a unique two digit value which indicates the status of the acknowledgement. For a list of acknowledgement codes that Amazon supports, see the Vendor Direct Fulfillment APIs Use Case Guide." + }, + "description": { + "type": "string", + "description": "Reason for the acknowledgement code." + } + }, + "description": "Status of acknowledgement." + }, "Error": { "type": "object", "required": [ @@ -422,6 +2690,99 @@ } }, "description": "Error response returned when the request is unsuccessful." + }, + "ShipmentDetails": { + "type": "object", + "required": [ + "isPriorityShipment", + "isPslipRequired", + "messageToCustomer", + "shipMethod", + "shipmentDates" + ], + "properties": { + "isPriorityShipment": { + "type": "boolean", + "description": "When true, this is a priority shipment." + }, + "isScheduledDeliveryShipment": { + "type": "boolean", + "description": "When true, this order is part of a scheduled delivery program." + }, + "isPslipRequired": { + "type": "boolean", + "description": "When true, a packing slip is required to be sent to the customer." + }, + "isGift": { + "type": "boolean", + "description": "When true, the order contain a gift. Include the gift message and gift wrap information." + }, + "shipMethod": { + "type": "string", + "description": "Ship method to be used for shipping the order. Amazon defines ship method codes indicating the shipping carrier and shipment service level. To see the full list of ship methods in use, including both the code and the friendly name, search the 'Help' section on Vendor Central for 'ship methods'." + }, + "shipmentDates": { + "$ref": "#/definitions/ShipmentDates" + }, + "messageToCustomer": { + "type": "string", + "description": "Message to customer for order status." + } + }, + "description": "Shipment details required for the shipment." + }, + "ShipmentDates": { + "type": "object", + "required": [ + "requiredShipDate" + ], + "properties": { + "requiredShipDate": { + "type": "string", + "format": "date-time", + "description": "Time by which the vendor is required to ship the order." + }, + "promisedDeliveryDate": { + "type": "string", + "format": "date-time", + "description": "Delivery date promised to the Amazon customer." + } + }, + "description": "Shipment dates." + }, + "ScheduledDeliveryShipment": { + "type": "object", + "properties": { + "scheduledDeliveryServiceType": { + "type": "string", + "description": "Scheduled delivery service type." + }, + "earliestNominatedDeliveryDate": { + "type": "string", + "format": "date-time", + "description": "Earliest nominated delivery date for the scheduled delivery." + }, + "latestNominatedDeliveryDate": { + "type": "string", + "format": "date-time", + "description": "Latest nominated delivery date for the scheduled delivery." + } + }, + "description": "Dates for the scheduled delivery shipments." + }, + "GiftDetails": { + "type": "object", + "properties": { + "giftMessage": { + "type": "string", + "description": "Gift message to be printed in shipment." + }, + "giftWrapId": { + "type": "string", + "description": "Gift wrap identifier for the gift wrapping, if any." + } + }, + "description": "Gift details for the item." } } -} +} \ No newline at end of file From daa5a8000fb50a6cc05ad14ce3015bdeaff4f03a Mon Sep 17 00:00:00 2001 From: Jack Evoniuk Date: Tue, 5 Mar 2024 14:54:08 -0800 Subject: [PATCH 118/340] Update analytics_salesAndTraffic_2023_11_15 --- ...alytics_salesAndTraffic_2023_11_15.graphql | 413 +++++++----------- 1 file changed, 147 insertions(+), 266 deletions(-) diff --git a/schemas/data-kiosk/analytics_salesAndTraffic_2023_11_15.graphql b/schemas/data-kiosk/analytics_salesAndTraffic_2023_11_15.graphql index 9ecb45e55..4347e7a4b 100644 --- a/schemas/data-kiosk/analytics_salesAndTraffic_2023_11_15.graphql +++ b/schemas/data-kiosk/analytics_salesAndTraffic_2023_11_15.graphql @@ -1,3 +1,7 @@ +schema { + query: Query +} + """ This directive specifies the retention duration of a query containing a particular field. When a query contains multiple fields with different @@ -5,44 +9,36 @@ retentions, the shortest (minimum) retention is applied to the query. The retention of a query's resulting documents always matches the retention of the query. """ directive @resultRetention( - """An ISO 8601 duration.""" + "An ISO 8601 duration." duration: String! ) on FIELD_DEFINITION -"""Monetary amount with the corresponding currency code.""" +"Monetary amount with the corresponding currency code." type Amount { - """The amount.""" + "The amount." amount: Float! - - """Currency code of the amount in ISO 4217 format.""" + "Currency code of the amount in ISO 4217 format." currencyCode: String! } -""" -A root type for Analytics Sales and Traffic queries version 2023_11_15. -""" +"A root type for Analytics Sales and Traffic queries version 2023_11_15." type Analytics_SalesAndTraffic_2023_11_15 { - """ - A query to retrieve sales and traffic data for the seller's account aggregated by ASIN. - """ + "A query to retrieve sales and traffic data for the seller's account aggregated by ASIN." salesAndTrafficByAsin( - """Determines how the sales and traffic data should be aggregated.""" - aggregateBy: AsinGranularity! - + "Determines how the sales and traffic data should be aggregated." + aggregateBy: AsinGranularity!, """ The end date of the sales and traffic data to retrieve. If a date granularity is specified and the provided end date occurs mid-week or mid-month, the preceding Saturday for WEEK date granularity or the last day of the previous month for MONTH date granularity will be used instead. """ - endDate: Date! - + endDate: Date!, """ The marketplace identifiers to retrieve sales and traffic data for. If omitted, sales and traffic data for all applicable marketplaces will be retrieved. """ - marketplaceIds: [String] - + marketplaceIds: [String], """ The start date of the sales and traffic data to retrieve. The start date must be no more than two years ago. If a date granularity is specified and @@ -52,28 +48,22 @@ type Analytics_SalesAndTraffic_2023_11_15 { """ startDate: Date! ): [SalesAndTrafficByAsin] - - """ - A query to retrieve sales and traffic data for the seller's account aggregated by date. - """ + "A query to retrieve sales and traffic data for the seller's account aggregated by date." salesAndTrafficByDate( - """Determines how the sales and traffic data should be aggregated.""" - aggregateBy: DateGranularity! - + "Determines how the sales and traffic data should be aggregated." + aggregateBy: DateGranularity!, """ The end date of the sales and traffic data to retrieve. If the provided end date occurs mid-week or mid-month, the preceding Saturday for WEEK date granularity or the last day of the previous month for MONTH date granularity will be used instead. """ - endDate: Date! - + endDate: Date!, """ The marketplace identifiers to retrieve sales and traffic data for. If omitted, sales and traffic data for all applicable marketplaces will be retrieved. """ - marketplaceIds: [String] - + marketplaceIds: [String], """ The start date of the sales and traffic data to retrieve. The start date must be no more than two years ago. If the provided start date occurs @@ -84,90 +74,76 @@ type Analytics_SalesAndTraffic_2023_11_15 { ): [SalesAndTrafficByDate] } -"""The sales data for the seller's account aggregated by ASIN.""" +"The sales data for the seller's account aggregated by ASIN." type ByAsinSales { """ The amount of ordered product sales, calculated by multiplying the price of products and the number of units sold for the selected time period. """ - orderedProductSales: Amount! - + orderedProductSales: Amount! @resultRetention(duration : "P30D") """ The amount of ordered product sales to Amazon Business customers, calculated by multiplying the price of products and the number of units sold for the selected time period. Note: This field is only populated when the seller is a B2B seller. """ - orderedProductSalesB2B: Amount - - """The number of items that were ordered for the selected time period.""" - totalOrderItems: Long! - + orderedProductSalesB2B: Amount @resultRetention(duration : "P30D") + "The number of items that were ordered for the selected time period." + totalOrderItems: Long! @resultRetention(duration : "P30D") """ The number of items that were ordered by Amazon Business customers for the selected time period. Note: This field is only populated when the seller is a B2B seller. """ - totalOrderItemsB2B: Long - - """The number of units ordered.""" - unitsOrdered: Long! - + totalOrderItemsB2B: Long @resultRetention(duration : "P30D") + "The number of units ordered." + unitsOrdered: Long! @resultRetention(duration : "P30D") """ The number of units ordered by Amazon Business customers. Note: This field is only populated when the seller is a B2B seller. """ - unitsOrderedB2B: Long + unitsOrderedB2B: Long @resultRetention(duration : "P30D") } -"""The traffic data for the seller's account aggregated by ASIN.""" +"The traffic data for the seller's account aggregated by ASIN." type ByAsinTraffic { - """ - Browser page views are the number of times a user visited your Amazon.com browser pages for the selected time period. - """ - browserPageViews: Long! - + "Browser page views are the number of times a user visited your Amazon.com browser pages for the selected time period." + browserPageViews: Long! @resultRetention(duration : "P30D") """ Browser B2B page views are the number of times an Amazon Business customer visited your Amazon.com browser pages for the selected time period. Note: This field is only populated when the seller is a B2B seller. """ - browserPageViewsB2B: Long - + browserPageViewsB2B: Long @resultRetention(duration : "P30D") """ The percentage of browser page views that a particular SKU/ASIN receives relative to the total number of browser page views for all products. """ - browserPageViewsPercentage: Float! - + browserPageViewsPercentage: Float! @resultRetention(duration : "P30D") """ The percentage of browser views by Amazon Business customers that a particular SKU/ASIN receives relative to the total number of mobile page views by Amazon Business customers for all products. Note: This field is only populated when the seller is a B2B seller. """ - browserPageViewsPercentageB2B: Float - + browserPageViewsPercentageB2B: Float @resultRetention(duration : "P30D") """ The percentage of browser sessions that contain at least one page view for a particular SKU/ASIN relative to the total number of browser sessions for all products. """ - browserSessionPercentage: Float! - + browserSessionPercentage: Float! @resultRetention(duration : "P30D") """ The percentage of browser sessions that contain at least one page view by an Amazon Business customer for a particular SKU/ASIN relative to the total number of browser sessions by Amazon Business customers for all products. Note: This field is only populated when the seller is a B2B seller. """ - browserSessionPercentageB2B: Float - + browserSessionPercentageB2B: Float @resultRetention(duration : "P30D") """ Browser sessions are visits to your Amazon.com browser pages by a user. All browser activity within a 24-hour period is considered a browser session. For example, if a user visits your pages using a browser multiple times within a 24 hour period it is counted as a single browser session. """ - browserSessions: Long! - + browserSessions: Long! @resultRetention(duration : "P30D") """ Browser B2B sessions are visits to your Amazon.com browser pages by an Amazon Business customer. All activity within a 24-hour period is considered a @@ -175,70 +151,60 @@ type ByAsinTraffic { using browser multiple times within a 24 hour period it is counted as a single session. Note: This field is only populated when the seller is a B2B seller. """ - browserSessionsB2B: Long - + browserSessionsB2B: Long @resultRetention(duration : "P30D") """ The percentage of page views where the buy box (the add to shopping cart link) appeared on the page for customers to add your product to their cart. """ - buyBoxPercentage: Float! - + buyBoxPercentage: Float! @resultRetention(duration : "P30D") """ The percentage of page views by Amazon Business customers where the buy box (the add to shopping cart link) appeared on the page for customers to add your product to their cart. Note: This field is only populated when the seller is a B2B seller. """ - buyBoxPercentageB2B: Float - + buyBoxPercentageB2B: Float @resultRetention(duration : "P30D") """ Mobile app page views are the number of times a user visited your Amazon.com mobile app pages for the selected time period. """ - mobileAppPageViews: Long! - + mobileAppPageViews: Long! @resultRetention(duration : "P30D") """ Mobile app B2B page views are the number of times an Amazon Business customer visited your Amazon.com mobile app pages for the selected time period. Note: This field is only populated when the seller is a B2B seller. """ - mobileAppPageViewsB2B: Long - + mobileAppPageViewsB2B: Long @resultRetention(duration : "P30D") """ The percentage of mobile app page views that a particular SKU/ASIN receives relative to the total number of mobile app page views for all products. """ - mobileAppPageViewsPercentage: Float! - + mobileAppPageViewsPercentage: Float! @resultRetention(duration : "P30D") """ The percentage of mobile page views by Amazon Business customers that a particular SKU/ASIN receives relative to the total number of mobile page views by Amazon Business customers for all products. Note: This field is only populated when the seller is a B2B seller. """ - mobileAppPageViewsPercentageB2B: Float - + mobileAppPageViewsPercentageB2B: Float @resultRetention(duration : "P30D") """ The percentage of mobile app sessions that contain at least one page view for a particular SKU/ASIN relative to the total number of mobile app sessions for all products. """ - mobileAppSessionPercentage: Float! - + mobileAppSessionPercentage: Float! @resultRetention(duration : "P30D") """ The percentage of mobile app sessions that contain at least one page view by an Amazon Business customer for a particular SKU/ASIN relative to the total number of mobile app sessions by Amazon Business customers for all products. Note: This field is only populated when the seller is a B2B seller. """ - mobileAppSessionPercentageB2B: Float - + mobileAppSessionPercentageB2B: Float @resultRetention(duration : "P30D") """ Mobile app sessions are visits to your Amazon.com mobile app pages by a user. All mobile app activity within a 24-hour period is considered a mobile app session. For example, if a user visits your pages using a mobile app multiple times within a 24 hour period it is counted as a single mobile app session. """ - mobileAppSessions: Long! - + mobileAppSessions: Long! @resultRetention(duration : "P30D") """ Mobile app B2B sessions are visits to your Amazon.com mobile app pages by an Amazon Business customer. All activity within a 24-hour period is considered a @@ -246,57 +212,49 @@ type ByAsinTraffic { pages using mobile app multiple times within a 24 hour period it is counted as a single session. Note: This field is only populated when the seller is a B2B seller. """ - mobileAppSessionsB2B: Long - + mobileAppSessionsB2B: Long @resultRetention(duration : "P30D") """ Page views are the number of times a user visited your Amazon.com browser or mobile app pages for the selected time period. It is calculated as the sum of browserPageViews and mobileAppPageViews. """ - pageViews: Long! - + pageViews: Long! @resultRetention(duration : "P30D") """ B2B page views are the number of times an Amazon Business customer visited your Amazon.com pages using browser or mobile app for the selected time period. Note: This field is only populated when the seller is a B2B seller. """ - pageViewsB2B: Long - + pageViewsB2B: Long @resultRetention(duration : "P30D") """ The percentage of browser and mobile app page views that a particular SKU/ASIN receives relative to the total number of browser and mobile app page views for all products. """ - pageViewsPercentage: Float! - + pageViewsPercentage: Float! @resultRetention(duration : "P30D") """ The percentage of page views by Amazon Business customers that a particular SKU/ASIN receives relative to the total number of page views by Amazon Business customers for all products. Note: This field is only populated when the seller is a B2B seller. """ - pageViewsPercentageB2B: Float - + pageViewsPercentageB2B: Float @resultRetention(duration : "P30D") """ The percentage of sessions that contain at least one page view for a particular SKU/ASIN relative to the total number of sessions for all products. """ - sessionPercentage: Float! - + sessionPercentage: Float! @resultRetention(duration : "P30D") """ The percentage of sessions that contain at least one page view by an Amazon Business customer for a particular SKU/ASIN relative to the total number of sessions by Amazon Business customers for all products. Note: This field is only populated when the seller is a B2B seller. """ - sessionPercentageB2B: Float - + sessionPercentageB2B: Float @resultRetention(duration : "P30D") """ Sessions are visits to your Amazon.com browser or mobile app pages by a user. All browser and mobile app activity within a 24-hour period is considered a session. It is calculated as the sum of browserSessions and mobileAppSessions. """ - sessions: Long! - + sessions: Long! @resultRetention(duration : "P30D") """ B2B sessions are visits to your Amazon.com pages using browser or mobile app by an Amazon Business customer. All activity within a 24-hour period is @@ -305,171 +263,138 @@ type ByAsinTraffic { counted as a single session. Note: This field is only populated when the seller is a B2B seller. """ - sessionsB2B: Long - + sessionsB2B: Long @resultRetention(duration : "P30D") """ The percentage conversion metric indicating how many units were purchased relative to the number of people who viewed the products, calculated by dividing unitsOrdered by sessions. """ - unitSessionPercentage: Float! - + unitSessionPercentage: Float! @resultRetention(duration : "P30D") """ The percentage conversion metric indicating how many units were purchased by Amazon Business customers relative to the number of Amazon Business customers who viewed the products, calculated by dividing unitsOrderedB2B by sessions. Note: This field is only populated when the seller is a B2B seller. """ - unitSessionPercentageB2B: Float + unitSessionPercentageB2B: Float @resultRetention(duration : "P30D") } -"""The sales data for the seller's account aggregated by date.""" +"The sales data for the seller's account aggregated by date." type ByDateSales { """ The average ordered product sales, calculated by dividing orderedProductSales by totalOrderItems for the selected time period. """ - averageSalesPerOrderItem: Amount! - + averageSalesPerOrderItem: Amount! @resultRetention(duration : "P30D") """ The average ordered product sales to Amazon Business customers, calculated by dividing orderedProductSalesB2B by totalOrderItemsB2B for the selected time period. Note: This field is only populated when the seller is a B2B seller. """ - averageSalesPerOrderItemB2B: Amount - + averageSalesPerOrderItemB2B: Amount @resultRetention(duration : "P30D") """ The average price of the units sold in the selected time period, calculated by dividing the orderedProductSales by unitsOrdered for the selected time period. """ - averageSellingPrice: Amount! - + averageSellingPrice: Amount! @resultRetention(duration : "P30D") """ The average price of the units sold to Amazon Business customers, calculated by dividing the orderedProductSalesB2B by unitsOrderedB2B for the selected time period. Note: This field is only populated when the seller is a B2B seller. """ - averageSellingPriceB2B: Amount - - """ - The average number of units in each order item for the selected time period. - """ - averageUnitsPerOrderItem: Float! - + averageSellingPriceB2B: Amount @resultRetention(duration : "P30D") + "The average number of units in each order item for the selected time period." + averageUnitsPerOrderItem: Float! @resultRetention(duration : "P30D") """ The average number of units in each order item ordered by Amazon Business customers for the selected time period. Note: This field is only populated when the seller is a B2B seller. """ - averageUnitsPerOrderItemB2B: Float - - """Monetary amount of filed A-to-z guarantee claims.""" - claimsAmount: Amount! - - """The number of A-to-z guarantee claims granted.""" - claimsGranted: Long! - + averageUnitsPerOrderItemB2B: Float @resultRetention(duration : "P30D") + "Monetary amount of filed A-to-z guarantee claims." + claimsAmount: Amount! @resultRetention(duration : "P30D") + "The number of A-to-z guarantee claims granted." + claimsGranted: Long! @resultRetention(duration : "P30D") """ The amount of ordered product sales, calculated by multiplying the price of products and the number of units sold for the selected time period. """ - orderedProductSales: Amount! - + orderedProductSales: Amount! @resultRetention(duration : "P30D") """ The amount of ordered product sales to Amazon Business customers, calculated by multiplying the price of products and the number of units sold for the selected time period. """ - orderedProductSalesB2B: Amount - - """The number of orders shipped in the selected time period.""" - ordersShipped: Long! - + orderedProductSalesB2B: Amount @resultRetention(duration : "P30D") + "The number of orders shipped in the selected time period." + ordersShipped: Long! @resultRetention(duration : "P30D") """ The percentage conversion metric indicating how many orders were refunded by the seller, calculated by dividing unitsOrdered by unitsRefunded in the selected time period. """ - refundRate: Float! - - """ - The amount of ordered product sales shipped for the selected time period. - """ - shippedProductSales: Amount! - + refundRate: Float! @resultRetention(duration : "P30D") + "The amount of ordered product sales shipped for the selected time period." + shippedProductSales: Amount! @resultRetention(duration : "P30D") """ The number of items that were ordered for the selected time period. Example: For an order containing 2 copies of book A and 3 copies of book B, the number of orders is 1, the number of order items is 2 (book A and book B), and the number of units is 5 (2 + 3). """ - totalOrderItems: Long! - + totalOrderItems: Long! @resultRetention(duration : "P30D") """ The number of items that were ordered by Amazon Business customers for the selected time period. Example: For an order containing 2 copies of book A and 3 copies of book B, the number of orders is 1, the number of order items is 2 (book A and book B), and the number of units is 5 (2 + 3). """ - totalOrderItemsB2B: Long - + totalOrderItemsB2B: Long @resultRetention(duration : "P30D") """ The number of units ordered for the selected time period. Example: For an order containing 2 copies of book A and 3 copies of book B, the number of orders is 1, the number of order items is 2 (book A and book B), and the number of units is 5 (2 + 3). """ - unitsOrdered: Long! - + unitsOrdered: Long! @resultRetention(duration : "P30D") """ The number of units ordered by Amazon Business customers for the selected time period. Example: For an order containing 2 copies of book A and 3 copies of book B, the number of orders is 1, the number of order items is 2 (book A and book B), and the number of units is 5 (2 + 3). """ - unitsOrderedB2B: Long - - """The number of units refunded in the selected time period.""" - unitsRefunded: Long! - - """The number of units shipped in the selected time period.""" - unitsShipped: Long! + unitsOrderedB2B: Long @resultRetention(duration : "P30D") + "The number of units refunded in the selected time period." + unitsRefunded: Long! @resultRetention(duration : "P30D") + "The number of units shipped in the selected time period." + unitsShipped: Long! @resultRetention(duration : "P30D") } -"""The traffic data for the seller's account aggregated by date.""" +"The traffic data for the seller's account aggregated by date." type ByDateTraffic { """ The average number of offers listed for sale in the selected time period. It is calculated from the total number of offers and the total number of days in the selected time period. """ - averageOfferCount: Long! - - """ - The average number of parent items listed for sale in the selected time period. - """ - averageParentItems: Long! - - """ - Browser page views are the number of times a user visited your Amazon.com browser pages for the selected time period. - """ - browserPageViews: Long! - + averageOfferCount: Long! @resultRetention(duration : "P30D") + "The average number of parent items listed for sale in the selected time period." + averageParentItems: Long! @resultRetention(duration : "P30D") + "Browser page views are the number of times a user visited your Amazon.com browser pages for the selected time period." + browserPageViews: Long! @resultRetention(duration : "P30D") """ Browser B2B page views are the number of times an Amazon Business customer visited your Amazon.com browser pages for the selected time period. Note: This field is only populated when the seller is a B2B seller. """ - browserPageViewsB2B: Long - + browserPageViewsB2B: Long @resultRetention(duration : "P30D") """ Browser sessions are visits to your Amazon.com browser pages by a user. All browser activity within a 24-hour period is considered a browser session. For example, if a user visits your pages using a browser multiple times within a 24 hour period it is counted as a single browser session. """ - browserSessions: Long! - + browserSessions: Long! @resultRetention(duration : "P30D") """ Browser B2B sessions are visits to your Amazon.com browser pages by an Amazon Business customer. All activity within a 24-hour period is considered a @@ -477,47 +402,38 @@ type ByDateTraffic { using browser multiple times within a 24 hour period it is counted as a single session. Note: This field is only populated when the seller is a B2B seller. """ - browserSessionsB2B: Long - + browserSessionsB2B: Long @resultRetention(duration : "P30D") """ The percentage of page views where the buy box (the add to shopping cart link) appeared on the page for customers to add your product to their cart. """ - buyBoxPercentage: Float! - + buyBoxPercentage: Float! @resultRetention(duration : "P30D") """ The percentage of page views by Amazon Business customers where the buy box (the add to shopping cart link) appeared on the page for customers to add your product to their cart. Note: This field is only populated when the seller is a B2B seller. """ - buyBoxPercentageB2B: Float - - """ - The number of times customers left feedback in the selected time period. - """ - feedbackReceived: Long! - + buyBoxPercentageB2B: Float @resultRetention(duration : "P30D") + "The number of times customers left feedback in the selected time period." + feedbackReceived: Long! @resultRetention(duration : "P30D") """ Mobile app page views are the number of times a user visited your Amazon.com mobile app pages for the selected time period. """ - mobileAppPageViews: Long! - + mobileAppPageViews: Long! @resultRetention(duration : "P30D") """ Mobile app B2B page views are the number of times an Amazon Business customer visited your Amazon.com mobile app pages for the selected time period. Note: This field is only populated when the seller is a B2B seller. """ - mobileAppPageViewsB2B: Long - + mobileAppPageViewsB2B: Long @resultRetention(duration : "P30D") """ Mobile app sessions are visits to your Amazon.com mobile app pages by a user. All mobile app activity within a 24-hour period is considered a mobile app session. For example, if a user visits your pages using a mobile app multiple times within a 24 hour period it is counted as a single mobile app session. """ - mobileAppSessions: Long! - + mobileAppSessions: Long! @resultRetention(duration : "P30D") """ Mobile app B2B sessions are visits to your Amazon.com mobile app pages by an Amazon Business customer. All activity within a 24-hour period is considered a @@ -525,54 +441,44 @@ type ByDateTraffic { pages using mobile app multiple times within a 24 hour period it is counted as a single session. Note: This field is only populated when the seller is a B2B seller. """ - mobileAppSessionsB2B: Long - - """ - The number of times customers left negative feedback in the selected time period. - """ - negativeFeedbackReceived: Long! - + mobileAppSessionsB2B: Long @resultRetention(duration : "P30D") + "The number of times customers left negative feedback in the selected time period." + negativeFeedbackReceived: Long! @resultRetention(duration : "P30D") """ The percentage conversion metric indicating how many order items were generated relative to the number of people who viewed the products. """ - orderItemSessionPercentage: Float! - + orderItemSessionPercentage: Float! @resultRetention(duration : "P30D") """ The percentage conversion metric indicating how many order items were generated by Amazon Business customers relative to the number of Amazon Business customers who viewed the products. Note: This field is only populated when the seller is a B2B seller. """ - orderItemSessionPercentageB2B: Float - + orderItemSessionPercentageB2B: Float @resultRetention(duration : "P30D") """ Page views are the number of times a user visited your Amazon.com browser or mobile app pages for the selected time period. It is calculated as the sum of browserPageViews and mobileAppPageViews. """ - pageViews: Long! - + pageViews: Long! @resultRetention(duration : "P30D") """ B2B page views are the number of times an Amazon Business customer visited your Amazon.com pages using browser or mobile app for the selected time period. Note: This field is only populated when the seller is a B2B seller. """ - pageViewsB2B: Long - + pageViewsB2B: Long @resultRetention(duration : "P30D") """ The negative feedback rate is the number of orders that have received negative feedback divided by the number of orders in the selected time period. """ - receivedNegativeFeedbackRate: Float! - + receivedNegativeFeedbackRate: Float! @resultRetention(duration : "P30D") """ Sessions are visits to your Amazon.com browser or mobile app pages by a user. All browser and mobile app activity within a 24-hour period is considered a session. It is calculated as the sum of browserSessions and mobileAppSessions. """ - sessions: Long! - + sessions: Long! @resultRetention(duration : "P30D") """ B2B sessions are visits to your Amazon.com pages using browser or mobile app by an Amazon Business customer. All activity within a 24-hour period is @@ -581,31 +487,27 @@ type ByDateTraffic { counted as a single session. Note: This field is only populated when the seller is a B2B seller. """ - sessionsB2B: Long - + sessionsB2B: Long @resultRetention(duration : "P30D") """ The percentage conversion metric indicating how many units were purchased relative to the number of people who viewed the products. """ - unitSessionPercentage: Float! - + unitSessionPercentage: Float! @resultRetention(duration : "P30D") """ The percentage conversion metric indicating how many units were purchased by Amazon Business customers relative to number of Amazon Business customers who viewed the products. Note: This field is only populated when the seller is a B2B seller. """ - unitSessionPercentageB2B: Float + unitSessionPercentageB2B: Float @resultRetention(duration : "P30D") } -"""A root type for queries""" +"A root type for queries" type Query { - """Analytics Sales and Traffic queries version 2023_11_15.""" + "Analytics Sales and Traffic queries version 2023_11_15." analytics_salesAndTraffic_2023_11_15: Analytics_SalesAndTraffic_2023_11_15 } -""" -The sales and traffic data for the seller's account aggregated by ASIN. -""" +"The sales and traffic data for the seller's account aggregated by ASIN." type SalesAndTrafficByAsin { """ The Amazon Standard Identification Number of the child product. Child products @@ -613,87 +515,66 @@ type SalesAndTrafficByAsin { non-sellable parent product. Note: This field is only present when ASIN aggregation is CHILD or SKU. """ - childAsin: String - - """The end date of the period of the aggregated data.""" - endDate: Date! - - """The marketplace identifier of the sales and traffic data.""" - marketplaceId: String! - + childAsin: String @resultRetention(duration : "P30D") + "The end date of the period of the aggregated data." + endDate: Date! @resultRetention(duration : "P30D") + "The marketplace identifier of the sales and traffic data." + marketplaceId: String! @resultRetention(duration : "P30D") """ The Amazon Standard Identification Number of the parent product. A parent product appears in our catalog as a non-buyable, generic identifier for a product that has buyable variations (child products). """ - parentAsin: String! - - """ - The sales data for the parentAsin/childAsin/sku within the specified date range. - """ + parentAsin: String! @resultRetention(duration : "P30D") + "The sales data for the parentAsin/childAsin/sku within the specified date range." sales: ByAsinSales! - """ The Stock Keeping Unit of the product. The SKU is a seller specific product identifier. Note: This field is only present when ASIN aggregation is SKU. """ - sku: String - - """The start date of the period of the aggregated data.""" - startDate: Date! - - """ - The traffic data for the parentAsin/childAsin/sku within the specified date range. - """ + sku: String @resultRetention(duration : "P30D") + "The start date of the period of the aggregated data." + startDate: Date! @resultRetention(duration : "P30D") + "The traffic data for the parentAsin/childAsin/sku within the specified date range." traffic: ByAsinTraffic! } -""" -The sales and traffic data for the seller's account aggregated by date. -""" +"The sales and traffic data for the seller's account aggregated by date." type SalesAndTrafficByDate { - """The end date of the sales and traffic data.""" - endDate: Date! - - """The marketplace identifier of the sales and traffic data.""" - marketplaceId: String! - - """The sales data for the seller's account.""" + "The end date of the sales and traffic data." + endDate: Date! @resultRetention(duration : "P30D") + "The marketplace identifier of the sales and traffic data." + marketplaceId: String! @resultRetention(duration : "P30D") + "The sales data for the seller's account." sales: ByDateSales! - - """The start date of the sales and traffic data.""" - startDate: Date! - - """The traffic data for the seller's account.""" + "The start date of the sales and traffic data." + startDate: Date! @resultRetention(duration : "P30D") + "The traffic data for the seller's account." traffic: ByDateTraffic! } -"""The ASIN granularity used in aggregation.""" +"The ASIN granularity used in aggregation." enum AsinGranularity { - """Sales and traffic data is aggregated by child ASIN.""" + "Sales and traffic data is aggregated by child ASIN." CHILD - - """Sales and traffic data is aggregated by parent ASIN.""" + "Sales and traffic data is aggregated by parent ASIN." PARENT - - """Sales and traffic data is aggregated by sku.""" + "Sales and traffic data is aggregated by sku." SKU } -"""The date granularity used in aggregation.""" +"The date granularity used in aggregation." enum DateGranularity { - """Sales and traffic data is aggregated by day.""" + "Sales and traffic data is aggregated by day." DAY - - """Sales and traffic data is aggregated by month.""" + "Sales and traffic data is aggregated by month." MONTH - - """Sales and traffic data is aggregated by week.""" + "Sales and traffic data is aggregated by week." WEEK } -"""Date""" +"Date" scalar Date -"""Long""" -scalar Long \ No newline at end of file +"Long" +scalar Long From a42260cf42816268a25e67a0a74a011959a80d69 Mon Sep 17 00:00:00 2001 From: Jack Evoniuk Date: Wed, 20 Mar 2024 10:30:37 -0700 Subject: [PATCH 119/340] Update the Fulfillment Outbound model --- .../fulfillmentOutbound_2020-07-01.json | 770 ++++++------------ 1 file changed, 228 insertions(+), 542 deletions(-) diff --git a/models/fulfillment-outbound-api-model/fulfillmentOutbound_2020-07-01.json b/models/fulfillment-outbound-api-model/fulfillmentOutbound_2020-07-01.json index 13ea8b4a2..555969314 100644 --- a/models/fulfillment-outbound-api-model/fulfillmentOutbound_2020-07-01.json +++ b/models/fulfillment-outbound-api-model/fulfillmentOutbound_2020-07-01.json @@ -41,8 +41,7 @@ "required": true, "schema": { "$ref": "#/definitions/GetFulfillmentPreviewRequest" - }, - "description": "GetFulfillmentPreviewRequest parameter" + } } ], "responses": { @@ -139,6 +138,10 @@ "$ref": "#/definitions/GetFulfillmentPreviewResponse" }, "headers": { + "x-amzn-RateLimit-Limit": { + "type": "string", + "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." + }, "x-amzn-RequestId": { "type": "string", "description": "Unique request reference identifier." @@ -178,88 +181,10 @@ "schema": { "$ref": "#/definitions/GetFulfillmentPreviewResponse" }, - "headers": { - "x-amzn-RequestId": { - "type": "string", - "description": "Unique request reference identifier." - } - } - }, - "500": { - "description": "An unexpected condition occurred that prevented the server from fulfilling the request.", - "schema": { - "$ref": "#/definitions/GetFulfillmentPreviewResponse" - }, - "headers": { - "x-amzn-RequestId": { - "type": "string", - "description": "Unique request reference identifier." - } - } - }, - "503": { - "description": "Temporary overloading or maintenance of the server.", - "schema": { - "$ref": "#/definitions/GetFulfillmentPreviewResponse" - }, - "headers": { - "x-amzn-RequestId": { - "type": "string", - "description": "Unique request reference identifier." - } - } - } - } - } - }, - "/fba/outbound/2020-07-01/deliveryOffers": { - "x-amzn-api-sandbox": { - "dynamic": {} - }, - "post": { - "tags": [ - "fbaOutbound" - ], - "description": "Returns delivery options that include an estimated delivery date and offer expiration, based on criteria that you specify.\n\n**Usage Plan:**\n\n| Rate (requests per second) | Burst |\n| ---- | ---- |\n| 5 | 30 |\n\nThe `x-amzn-RateLimit-Limit` response header returns the usage plan rate limits that were applied to the requested operation, when available. The table above indicates the default rate and burst values for this operation. Selling partners whose business demands require higher throughput may see higher rate and burst values than those shown here. For more information, see [Usage Plans and Rate Limits in the Selling Partner API](https://developer-docs.amazon.com/sp-api/docs/usage-plans-and-rate-limits-in-the-sp-api).", - "operationId": "deliveryOffers", - "parameters": [ - { - "in": "body", - "name": "body", - "required": true, - "schema": { - "$ref": "#/definitions/GetDeliveryOffersRequest" - }, - "description": "GetDeliveryOffersRequest parameter" - } - ], - "responses": { - "200": { - "description": "Success.", - "schema": { - "$ref": "#/definitions/GetDeliveryOffersResponse" - }, - "examples": { - "payload": { - "deliveryOffers": [{ - "expiresAt": "2023-10-11T18:00:00Z", - "dateRange": { - "earliest": "2023-10-13T10:00:00Z", - "latest": "2023-10-14T16:00:00Z" - }, - "policy": { - "messaging": { - "text": "Get it as soon as Wed, Aug 23", - "locale": "en_US" - } - } - }] - } - }, "headers": { "x-amzn-RateLimit-Limit": { "type": "string", - "description": "Your rate limit (requests per second) for this operation." + "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." }, "x-amzn-RequestId": { "type": "string", @@ -267,15 +192,15 @@ } } }, - "400": { - "description": "Request has missing or invalid parameters and cannot be parsed.", + "500": { + "description": "An unexpected condition occurred that prevented the server from fulfilling the request.", "schema": { - "$ref": "#/definitions/GetDeliveryOffersResponse" + "$ref": "#/definitions/GetFulfillmentPreviewResponse" }, "headers": { "x-amzn-RateLimit-Limit": { "type": "string", - "description": "Your rate limit (requests per second) for this operation." + "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." }, "x-amzn-RequestId": { "type": "string", @@ -283,81 +208,21 @@ } } }, - "401": { - "description": "The request's Authorization header is not formatted correctly or does not contain a valid token.", - "schema": { - "$ref": "#/definitions/GetDeliveryOffersResponse" - }, - "headers": { - "x-amzn-RequestId": { - "type": "string", - "description": "Unique request reference identifier." - } - } - }, - "403": { - "description": "Indicates that access to the resource is forbidden. Possible reasons include Access Denied, Unauthorized, Expired Token, or Invalid Signature.", - "schema": { - "$ref": "#/definitions/GetDeliveryOffersResponse" - }, - "headers": { - "x-amzn-RequestId": { - "type": "string", - "description": "Unique request reference identifier." - } - } - }, - "404": { - "description": "The specified resource does not exist.", + "503": { + "description": "Temporary overloading or maintenance of the server.", "schema": { - "$ref": "#/definitions/GetDeliveryOffersResponse" + "$ref": "#/definitions/GetFulfillmentPreviewResponse" }, "headers": { "x-amzn-RateLimit-Limit": { "type": "string", - "description": "Your rate limit (requests per second) for this operation." + "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." }, "x-amzn-RequestId": { "type": "string", "description": "Unique request reference identifier." } } - }, - "429": { - "description": "The frequency of requests was greater than allowed.", - "schema": { - "$ref": "#/definitions/GetDeliveryOffersResponse" - }, - "headers": { - "x-amzn-RequestId": { - "type": "string", - "description": "Unique request reference identifier." - } - } - }, - "500": { - "description": "An unexpected condition occurred that prevented the server from fulfilling the request.", - "schema": { - "$ref": "#/definitions/GetDeliveryOffersResponse" - }, - "headers": { - "x-amzn-RequestId": { - "type": "string", - "description": "Unique request reference identifier." - } - } - }, - "503": { - "description": "Temporary overloading or maintenance of the server.", - "schema": { - "$ref": "#/definitions/GetDeliveryOffersResponse" - }, - "headers": { - "x-amzn-RequestId": { - "type": "string", - "description": "Unique request reference identifier." - } - } } } } @@ -487,6 +352,10 @@ "$ref": "#/definitions/ListAllFulfillmentOrdersResponse" }, "headers": { + "x-amzn-RateLimit-Limit": { + "type": "string", + "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." + }, "x-amzn-RequestId": { "type": "string", "description": "Unique request reference identifier." @@ -527,6 +396,10 @@ "$ref": "#/definitions/ListAllFulfillmentOrdersResponse" }, "headers": { + "x-amzn-RateLimit-Limit": { + "type": "string", + "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." + }, "x-amzn-RequestId": { "type": "string", "description": "Unique request reference identifier." @@ -539,6 +412,10 @@ "$ref": "#/definitions/ListAllFulfillmentOrdersResponse" }, "headers": { + "x-amzn-RateLimit-Limit": { + "type": "string", + "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." + }, "x-amzn-RequestId": { "type": "string", "description": "Unique request reference identifier." @@ -551,6 +428,10 @@ "$ref": "#/definitions/ListAllFulfillmentOrdersResponse" }, "headers": { + "x-amzn-RateLimit-Limit": { + "type": "string", + "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." + }, "x-amzn-RequestId": { "type": "string", "description": "Unique request reference identifier." @@ -572,8 +453,7 @@ "required": true, "schema": { "$ref": "#/definitions/CreateFulfillmentOrderRequest" - }, - "description": "CreateFulfillmentOrderRequest parameter" + } } ], "responses": { @@ -615,6 +495,10 @@ "$ref": "#/definitions/CreateFulfillmentOrderResponse" }, "headers": { + "x-amzn-RateLimit-Limit": { + "type": "string", + "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." + }, "x-amzn-RequestId": { "type": "string", "description": "Unique request reference identifier." @@ -655,6 +539,10 @@ "$ref": "#/definitions/CreateFulfillmentOrderResponse" }, "headers": { + "x-amzn-RateLimit-Limit": { + "type": "string", + "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." + }, "x-amzn-RequestId": { "type": "string", "description": "Unique request reference identifier." @@ -667,6 +555,10 @@ "$ref": "#/definitions/CreateFulfillmentOrderResponse" }, "headers": { + "x-amzn-RateLimit-Limit": { + "type": "string", + "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." + }, "x-amzn-RequestId": { "type": "string", "description": "Unique request reference identifier." @@ -679,6 +571,10 @@ "$ref": "#/definitions/CreateFulfillmentOrderResponse" }, "headers": { + "x-amzn-RateLimit-Limit": { + "type": "string", + "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." + }, "x-amzn-RequestId": { "type": "string", "description": "Unique request reference identifier." @@ -790,6 +686,10 @@ "$ref": "#/definitions/GetPackageTrackingDetailsResponse" }, "headers": { + "x-amzn-RateLimit-Limit": { + "type": "string", + "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." + }, "x-amzn-RequestId": { "type": "string", "description": "Unique request reference identifier." @@ -830,6 +730,10 @@ "$ref": "#/definitions/GetPackageTrackingDetailsResponse" }, "headers": { + "x-amzn-RateLimit-Limit": { + "type": "string", + "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." + }, "x-amzn-RequestId": { "type": "string", "description": "Unique request reference identifier." @@ -842,6 +746,10 @@ "$ref": "#/definitions/GetPackageTrackingDetailsResponse" }, "headers": { + "x-amzn-RateLimit-Limit": { + "type": "string", + "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." + }, "x-amzn-RequestId": { "type": "string", "description": "Unique request reference identifier." @@ -854,6 +762,10 @@ "$ref": "#/definitions/GetPackageTrackingDetailsResponse" }, "headers": { + "x-amzn-RateLimit-Limit": { + "type": "string", + "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." + }, "x-amzn-RequestId": { "type": "string", "description": "Unique request reference identifier." @@ -996,6 +908,10 @@ "$ref": "#/definitions/ListReturnReasonCodesResponse" }, "headers": { + "x-amzn-RateLimit-Limit": { + "type": "string", + "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." + }, "x-amzn-RequestId": { "type": "string", "description": "Unique request reference identifier." @@ -1036,6 +952,10 @@ "$ref": "#/definitions/ListReturnReasonCodesResponse" }, "headers": { + "x-amzn-RateLimit-Limit": { + "type": "string", + "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." + }, "x-amzn-RequestId": { "type": "string", "description": "Unique request reference identifier." @@ -1048,6 +968,10 @@ "$ref": "#/definitions/ListReturnReasonCodesResponse" }, "headers": { + "x-amzn-RateLimit-Limit": { + "type": "string", + "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." + }, "x-amzn-RequestId": { "type": "string", "description": "Unique request reference identifier." @@ -1060,6 +984,10 @@ "$ref": "#/definitions/ListReturnReasonCodesResponse" }, "headers": { + "x-amzn-RateLimit-Limit": { + "type": "string", + "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." + }, "x-amzn-RequestId": { "type": "string", "description": "Unique request reference identifier." @@ -1086,8 +1014,7 @@ "required": true, "schema": { "$ref": "#/definitions/CreateFulfillmentReturnRequest" - }, - "description": "CreateFulfillmentReturnRequest parameter" + } }, { "name": "sellerFulfillmentOrderId", @@ -1170,6 +1097,10 @@ "$ref": "#/definitions/CreateFulfillmentReturnResponse" }, "headers": { + "x-amzn-RateLimit-Limit": { + "type": "string", + "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." + }, "x-amzn-RequestId": { "type": "string", "description": "Unique request reference identifier." @@ -1182,6 +1113,10 @@ "$ref": "#/definitions/CreateFulfillmentReturnResponse" }, "headers": { + "x-amzn-RateLimit-Limit": { + "type": "string", + "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." + }, "x-amzn-RequestId": { "type": "string", "description": "Unique request reference identifier." @@ -1210,6 +1145,10 @@ "$ref": "#/definitions/CreateFulfillmentReturnResponse" }, "headers": { + "x-amzn-RateLimit-Limit": { + "type": "string", + "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." + }, "x-amzn-RequestId": { "type": "string", "description": "Unique request reference identifier." @@ -1222,6 +1161,10 @@ "$ref": "#/definitions/CreateFulfillmentReturnResponse" }, "headers": { + "x-amzn-RateLimit-Limit": { + "type": "string", + "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." + }, "x-amzn-RequestId": { "type": "string", "description": "Unique request reference identifier." @@ -1234,6 +1177,10 @@ "$ref": "#/definitions/CreateFulfillmentReturnResponse" }, "headers": { + "x-amzn-RateLimit-Limit": { + "type": "string", + "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." + }, "x-amzn-RequestId": { "type": "string", "description": "Unique request reference identifier." @@ -1350,8 +1297,7 @@ "sellerFulfillmentOrderItemId": "OrderItemID1", "quantity": 3, "packageNumber": 0, - "serialNumber": "", - "manufacturerLotCodes": ["LOT0822-1234", "LOT1030-5678"] + "serialNumber": "" } ] } @@ -1393,6 +1339,10 @@ "$ref": "#/definitions/GetFulfillmentOrderResponse" }, "headers": { + "x-amzn-RateLimit-Limit": { + "type": "string", + "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." + }, "x-amzn-RequestId": { "type": "string", "description": "Unique request reference identifier." @@ -1433,6 +1383,10 @@ "$ref": "#/definitions/GetFulfillmentOrderResponse" }, "headers": { + "x-amzn-RateLimit-Limit": { + "type": "string", + "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." + }, "x-amzn-RequestId": { "type": "string", "description": "Unique request reference identifier." @@ -1445,6 +1399,10 @@ "$ref": "#/definitions/GetFulfillmentOrderResponse" }, "headers": { + "x-amzn-RateLimit-Limit": { + "type": "string", + "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." + }, "x-amzn-RequestId": { "type": "string", "description": "Unique request reference identifier." @@ -1457,6 +1415,10 @@ "$ref": "#/definitions/GetFulfillmentOrderResponse" }, "headers": { + "x-amzn-RateLimit-Limit": { + "type": "string", + "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." + }, "x-amzn-RequestId": { "type": "string", "description": "Unique request reference identifier." @@ -1478,8 +1440,7 @@ "required": true, "schema": { "$ref": "#/definitions/UpdateFulfillmentOrderRequest" - }, - "description": "UpdateFulfillmentOrderRequest parameter" + } }, { "name": "sellerFulfillmentOrderId", @@ -1529,6 +1490,10 @@ "$ref": "#/definitions/UpdateFulfillmentOrderResponse" }, "headers": { + "x-amzn-RateLimit-Limit": { + "type": "string", + "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." + }, "x-amzn-RequestId": { "type": "string", "description": "Unique request reference identifier." @@ -1569,6 +1534,10 @@ "$ref": "#/definitions/UpdateFulfillmentOrderResponse" }, "headers": { + "x-amzn-RateLimit-Limit": { + "type": "string", + "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." + }, "x-amzn-RequestId": { "type": "string", "description": "Unique request reference identifier." @@ -1581,6 +1550,10 @@ "$ref": "#/definitions/UpdateFulfillmentOrderResponse" }, "headers": { + "x-amzn-RateLimit-Limit": { + "type": "string", + "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." + }, "x-amzn-RequestId": { "type": "string", "description": "Unique request reference identifier." @@ -1593,6 +1566,10 @@ "$ref": "#/definitions/UpdateFulfillmentOrderResponse" }, "headers": { + "x-amzn-RateLimit-Limit": { + "type": "string", + "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." + }, "x-amzn-RequestId": { "type": "string", "description": "Unique request reference identifier." @@ -1661,6 +1638,10 @@ "$ref": "#/definitions/CancelFulfillmentOrderResponse" }, "headers": { + "x-amzn-RateLimit-Limit": { + "type": "string", + "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." + }, "x-amzn-RequestId": { "type": "string", "description": "Unique request reference identifier." @@ -1701,6 +1682,10 @@ "$ref": "#/definitions/CancelFulfillmentOrderResponse" }, "headers": { + "x-amzn-RateLimit-Limit": { + "type": "string", + "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." + }, "x-amzn-RequestId": { "type": "string", "description": "Unique request reference identifier." @@ -1713,6 +1698,10 @@ "$ref": "#/definitions/CancelFulfillmentOrderResponse" }, "headers": { + "x-amzn-RateLimit-Limit": { + "type": "string", + "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." + }, "x-amzn-RequestId": { "type": "string", "description": "Unique request reference identifier." @@ -1725,6 +1714,10 @@ "$ref": "#/definitions/CancelFulfillmentOrderResponse" }, "headers": { + "x-amzn-RateLimit-Limit": { + "type": "string", + "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." + }, "x-amzn-RequestId": { "type": "string", "description": "Unique request reference identifier." @@ -1760,8 +1753,7 @@ "required": true, "schema": { "$ref": "#/definitions/SubmitFulfillmentOrderStatusUpdateRequest" - }, - "description": "The identifier assigned to the item by the seller when the fulfillment order was created." + } } ], "responses": { @@ -1771,6 +1763,10 @@ "$ref": "#/definitions/SubmitFulfillmentOrderStatusUpdateResponse" }, "headers": { + "x-amzn-RateLimit-Limit": { + "type": "string", + "description": "Your rate limit (requests per second) for this operation." + }, "x-amzn-RequestId": { "type": "string", "description": "Unique request reference identifier." @@ -1783,6 +1779,10 @@ "$ref": "#/definitions/SubmitFulfillmentOrderStatusUpdateResponse" }, "headers": { + "x-amzn-RateLimit-Limit": { + "type": "string", + "description": "Your rate limit (requests per second) for this operation." + }, "x-amzn-RequestId": { "type": "string", "description": "Unique request reference identifier." @@ -1795,6 +1795,10 @@ "$ref": "#/definitions/SubmitFulfillmentOrderStatusUpdateResponse" }, "headers": { + "x-amzn-RateLimit-Limit": { + "type": "string", + "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." + }, "x-amzn-RequestId": { "type": "string", "description": "Unique request reference identifier." @@ -1819,6 +1823,10 @@ "$ref": "#/definitions/SubmitFulfillmentOrderStatusUpdateResponse" }, "headers": { + "x-amzn-RateLimit-Limit": { + "type": "string", + "description": "Your rate limit (requests per second) for this operation." + }, "x-amzn-RequestId": { "type": "string", "description": "Unique request reference identifier." @@ -1831,6 +1839,10 @@ "$ref": "#/definitions/SubmitFulfillmentOrderStatusUpdateResponse" }, "headers": { + "x-amzn-RateLimit-Limit": { + "type": "string", + "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." + }, "x-amzn-RequestId": { "type": "string", "description": "Unique request reference identifier." @@ -1843,6 +1855,10 @@ "$ref": "#/definitions/SubmitFulfillmentOrderStatusUpdateResponse" }, "headers": { + "x-amzn-RateLimit-Limit": { + "type": "string", + "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." + }, "x-amzn-RequestId": { "type": "string", "description": "Unique request reference identifier." @@ -1855,6 +1871,10 @@ "$ref": "#/definitions/SubmitFulfillmentOrderStatusUpdateResponse" }, "headers": { + "x-amzn-RateLimit-Limit": { + "type": "string", + "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." + }, "x-amzn-RequestId": { "type": "string", "description": "Unique request reference identifier." @@ -1939,6 +1959,10 @@ "$ref": "#/definitions/GetFeaturesResponse" }, "headers": { + "x-amzn-RateLimit-Limit": { + "type": "string", + "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." + }, "x-amzn-RequestId": { "type": "string", "description": "Unique request reference identifier." @@ -1979,6 +2003,10 @@ "$ref": "#/definitions/GetFeaturesResponse" }, "headers": { + "x-amzn-RateLimit-Limit": { + "type": "string", + "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." + }, "x-amzn-RequestId": { "type": "string", "description": "Unique request reference identifier." @@ -1991,6 +2019,10 @@ "$ref": "#/definitions/GetFeaturesResponse" }, "headers": { + "x-amzn-RateLimit-Limit": { + "type": "string", + "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." + }, "x-amzn-RequestId": { "type": "string", "description": "Unique request reference identifier." @@ -2003,6 +2035,10 @@ "$ref": "#/definitions/GetFeaturesResponse" }, "headers": { + "x-amzn-RateLimit-Limit": { + "type": "string", + "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." + }, "x-amzn-RequestId": { "type": "string", "description": "Unique request reference identifier." @@ -2115,6 +2151,10 @@ "$ref": "#/definitions/GetFeatureInventoryResponse" }, "headers": { + "x-amzn-RateLimit-Limit": { + "type": "string", + "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." + }, "x-amzn-RequestId": { "type": "string", "description": "Unique request reference identifier." @@ -2155,6 +2195,10 @@ "$ref": "#/definitions/GetFeatureInventoryResponse" }, "headers": { + "x-amzn-RateLimit-Limit": { + "type": "string", + "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." + }, "x-amzn-RequestId": { "type": "string", "description": "Unique request reference identifier." @@ -2167,6 +2211,10 @@ "$ref": "#/definitions/GetFeatureInventoryResponse" }, "headers": { + "x-amzn-RateLimit-Limit": { + "type": "string", + "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." + }, "x-amzn-RequestId": { "type": "string", "description": "Unique request reference identifier." @@ -2179,6 +2227,10 @@ "$ref": "#/definitions/GetFeatureInventoryResponse" }, "headers": { + "x-amzn-RateLimit-Limit": { + "type": "string", + "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." + }, "x-amzn-RequestId": { "type": "string", "description": "Unique request reference identifier." @@ -2274,6 +2326,10 @@ "$ref": "#/definitions/GetFeatureSkuResponse" }, "headers": { + "x-amzn-RateLimit-Limit": { + "type": "string", + "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." + }, "x-amzn-RequestId": { "type": "string", "description": "Unique request reference identifier." @@ -2314,6 +2370,10 @@ "$ref": "#/definitions/GetFeatureSkuResponse" }, "headers": { + "x-amzn-RateLimit-Limit": { + "type": "string", + "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." + }, "x-amzn-RequestId": { "type": "string", "description": "Unique request reference identifier." @@ -2326,6 +2386,10 @@ "$ref": "#/definitions/GetFeatureSkuResponse" }, "headers": { + "x-amzn-RateLimit-Limit": { + "type": "string", + "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." + }, "x-amzn-RequestId": { "type": "string", "description": "Unique request reference identifier." @@ -2338,6 +2402,10 @@ "$ref": "#/definitions/GetFeatureSkuResponse" }, "headers": { + "x-amzn-RateLimit-Limit": { + "type": "string", + "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." + }, "x-amzn-RequestId": { "type": "string", "description": "Unique request reference identifier." @@ -2639,10 +2707,6 @@ "description": "The destination address for the fulfillment order.", "$ref": "#/definitions/Address" }, - "deliveryPreferences": { - "description": "The delivery preferences applied to the destination address. These preferences will be applied when possible and are best effort.\nThis feature is currently supported only in the JP marketplace and not applicable for other marketplaces.", - "$ref": "#/definitions/DeliveryPreferences" - }, "fulfillmentAction": { "$ref": "#/definitions/FulfillmentAction" }, @@ -2690,7 +2754,6 @@ "description": "The `createFulfillmentReturn` operation creates a fulfillment return for items that were fulfilled using the `createFulfillmentOrder` operation. For calls to `createFulfillmentReturn`, you must include `ReturnReasonCode` values returned by a previous call to the `listReturnReasonCodes` operation." }, "CreateFulfillmentReturnResult": { - "description": "The result for the createFulfillmentReturn operation.", "type": "object", "properties": { "returnItems": { @@ -2805,65 +2868,6 @@ "$ref": "#/definitions/DeliveryWindow" } }, - "DeliveryPreferences": { - "type": "object", - "properties": { - "deliveryInstructions": { - "type": "string", - "description": "Additional delivery instructions. For example, this could be instructions on how to enter a building, nearby landmark or navigation instructions, 'Beware of dogs', etc.", - "maxLength": 250 - }, - "dropOffLocation": { - "description": "The preferred location to leave packages at the destination address.", - "$ref": "#/definitions/DropOffLocation" - } - }, - "description": "The delivery preferences applied to the destination address. These preferences will be applied when possible and are best effort.\nThis feature is currently supported only in the JP marketplace and not applicable for other marketplaces." - }, - "DropOffLocation": { - "type": "object", - "required": ["type"], - "properties": { - "type": { - "type": "string", - "description": "Specifies the preferred location to leave the package at the destination address.", - "enum": ["FRONT_DOOR", "DELIVERY_BOX", "GAS_METER_BOX", "BICYCLE_BASKET", "GARAGE", "RECEPTIONIST", "FALLBACK_NEIGHBOR_DELIVERY", "DO_NOT_LEAVE_UNATTENDED"], - "x-docgen-enum-table-extension": [{ - "value": "FRONT_DOOR", - "description": "Indicates delivery preferred to front door." - }, { - "value": "DELIVERY_BOX", - "description": "Indicates delivery preferred to a delivery box." - }, { - "value": "GAS_METER_BOX", - "description": "Indicates delivery preferred to a gas meter box." - }, { - "value": "BICYCLE_BASKET", - "description": "Indicates delivery preferred to a bicycle basket." - }, { - "value": "GARAGE", - "description": "Indicates delivery preferred to a garage." - }, { - "value": "RECEPTIONIST", - "description": "Indicates delivery preferred with a receptionist." - }, { - "value": "FALLBACK_NEIGHBOR_DELIVERY", - "description": "Indicates delivery preferred with a designated neighbor if the recipient is not available at the destination address." - }, { - "value": "DO_NOT_LEAVE_UNATTENDED", - "description": "Indicates delivery preferred as attended." - }] - }, - "attributes": { - "type": "object", - "additionalProperties": { - "type": "string" - }, - "description": "Additional information about the drop-off location that can vary depending on the type of drop-off location specified in the `type` field.\nIf the `type` is set to `FALLBACK_NEIGHBOR_DELIVERY`, the `attributes` object should include the exact keys `neighborName` and `houseNumber` to provide the name and house number of the designated neighbor." - } - }, - "description": "The preferred location to leave packages at the destination address." - }, "Fee": { "type": "object", "required": [ @@ -3355,10 +3359,6 @@ "serialNumber": { "type": "string", "description": "The serial number of the shipped item." - }, - "manufacturerLotCodes": { - "description": "The manufacturer lot codes of the shipped items.", - "$ref": "#/definitions/StringList" } }, "description": "Item information for a shipment in a fulfillment order." @@ -3400,10 +3400,6 @@ "estimatedArrivalDate": { "description": "The estimated arrival date and time of the package. Must be in ISO 8601 format.", "$ref": "#/definitions/Timestamp" - }, - "lockerDetails": { - "description": "The locker details, if provided can be used to access locker delivery box.", - "$ref": "#/definitions/LockerDetails" } }, "description": "Package information for a shipment in a fulfillment order." @@ -3416,7 +3412,6 @@ } }, "GetFulfillmentOrderResult": { - "description": "The request for the getFulfillmentOrder operation.", "type": "object", "required": [ "fulfillmentOrder", @@ -3558,295 +3553,6 @@ }, "description": "The response schema for the `getFulfillmentPreview` operation." }, - "GetDeliveryOffersRequest": { - "type": "object", - "required": [ - "product", - "terms" - ], - "properties": { - "product": { - "$ref": "#/definitions/GetDeliveryOffersProduct", - "description": "The product details for the delivery offer." - }, - "terms": { - "$ref": "#/definitions/GetDeliveryOffersTerms", - "description": "The terms for the delivery offer." - } - }, - "description": "The request body schema for the getDeliveryOffers operation." - }, - "GetDeliveryOffersResponse": { - "type": "object", - "properties": { - "payload": { - "$ref": "#/definitions/GetDeliveryOffersResult", - "description": "The response payload for the getDeliveryOffers operation." - }, - "errors": { - "$ref": "#/definitions/ErrorList", - "description": "One or more unexpected errors occurred during the getDeliveryOffers operation." - } - }, - "description": "The response schema for the getDeliveryOffers operation." - }, - "GetDeliveryOffersResult": { - "type": "object", - "properties": { - "deliveryOffers": { - "$ref": "#/definitions/DeliveryOffersList", - "description": "An array of delivery offers." - } - }, - "description": "A list of delivery offers, including offer expiration, earliest and latest date and time range, and the delivery offer policy." - }, - "DeliveryOffersList": { - "type": "array", - "description": "An array of delivery offer information.", - "items": { - "$ref": "#/definitions/DeliveryOffer" - } - }, - "DeliveryOffer": { - "type": "object", - "properties": { - "expiresAt": { - "$ref": "#/definitions/Timestamp", - "description": "The timestamp at which a delivery offer expires." - }, - "dateRange": { - "$ref": "#/definitions/DateRange", - "description": "The range between which delivery is expected." - }, - "policy": { - "$ref": "#/definitions/DeliveryPolicy", - "description": "The policy for a delivery offer, including localized messaging." - } - }, - "description": "An available offer for delivery of a product." - }, - "GetDeliveryOffersProduct": { - "type": "object", - "required": [ - "productIdentifier" - ], - "properties": { - "productIdentifier": { - "$ref": "#/definitions/ProductIdentifier", - "description": "Product identifier input that locates a product for MCF." - }, - "amount": { - "$ref": "#/definitions/Amount", - "description": "The amount of the requested product." - } - }, - "description": "The product details for the delivery offer." - }, - "Amount": { - "type": "object", - "required": [ - "unitOfMeasure", - "value" - ], - "properties": { - "unitOfMeasure": { - "type": "string", - "description": "The unit of measure for the amount.", - "enum": [ - "Eaches" - ], - "x-docgen-enum-table-extension": [ - { - "value": "Eaches", - "description": "Specifies an integer count of units." - } - ] - }, - "value": { - "$ref": "#/definitions/Decimal", - "description": "The amount of a product in the associated unit of measure." - } - }, - "description": "A quantity based on unit of measure." - }, - "GetDeliveryOffersTerms": { - "type": "object", - "required": [ - "origin", - "destination" - ], - "properties": { - "origin": { - "$ref": "#/definitions/Origin", - "description": "The origin for the delivery offer." - }, - "destination": { - "$ref": "#/definitions/Destination", - "description": "The destination for the delivery offer." - } - }, - "description": "The delivery terms for the delivery offer." - }, - "IpAddress": { - "type": "string", - "format": "ip", - "description": "An IP Address." - }, - "Destination": { - "type": "object", - "properties": { - "deliveryAddress": { - "$ref": "#/definitions/VariablePrecisionAddress" - }, - "ipAddress": { - "$ref": "#/definitions/IpAddress", - "description": "The IP address of the customer." - } - }, - "description": "The destination for the delivery offer." - }, - "ProductIdentifier": { - "type": "object", - "required": [ - "merchantSku" - ], - "properties": { - "merchantSku": { - "type": "string", - "description": "The merchant SKU for the product.", - "maxLength": 50 - } - }, - "description": "Product identifier input that locates a product for MCF." - }, - "Origin": { - "type": "object", - "required": [ - "countryCode" - ], - "description": "The origin for the delivery offer.", - "properties": { - "countryCode": { - "type": "string", - "description": "The two digit country code the items should ship from. In ISO 3166-1 alpha-2 format.", - "minLength": 2, - "maxLength": 2 - } - } - }, - "VariablePrecisionAddress": { - "type": "object", - "required": [ - "countryCode", - "postalCode" - ], - "properties": { - "addressLine1": { - "type": "string", - "description": "The first line of the address." - }, - "addressLine2": { - "type": "string", - "description": "Additional address information, if required." - }, - "addressLine3": { - "type": "string", - "description": "Additional address information, if required." - }, - "city": { - "type": "string", - "description": "The city where the person, business, or institution is located. This property should not be used in Japan." - }, - "districtOrCounty": { - "type": "string", - "description": "The district or county where the person, business, or institution is located." - }, - "stateOrRegion": { - "type": "string", - "description": "The state or region where the person, business or institution is located." - }, - "postalCode": { - "type": "string", - "description": "The postal code of the address." - }, - "countryCode": { - "type": "string", - "description": "The two digit country code. In ISO 3166-1 alpha-2 format.", - "minLength": 2, - "maxLength": 2 - } - }, - "description": "A physical address with varying degrees of precision. A more precise address can provide more accurate results than country code and postal code alone." - }, - "DeliveryQuantity": { - "type": "object", - "required": [ - "unitOfMeasure", - "amount" - ], - "properties": { - "unitOfMeasure": { - "type": "string", - "description": "The unit of measure for the amount.", - "enum": [ - "Each" - ], - "x-docgen-enum-table-extension": [ - { - "value": "Each", - "description": "Specifies an integer count of units." - } - ] - }, - "amount": { - "$ref": "#/definitions/Decimal", - "description": "The amount of a product in the associated unit of measure." - } - }, - "description": "A quantity based on unit of measure." - }, - "DateRange": { - "type": "object", - "required": [ - "earliest", - "latest" - ], - "properties": { - "earliest": { - "$ref": "#/definitions/Timestamp", - "description": "The earliest point in a date range." - }, - "latest": { - "$ref": "#/definitions/Timestamp", - "description": "The latest point in a date range." - } - }, - "description": "The time range within which something (for example, a delivery) will occur." - }, - "DeliveryPolicy": { - "type": "object", - "properties": { - "message": { - "$ref": "#/definitions/DeliveryMessage", - "description": "Localized messaging for a delivery offering." - } - }, - "description": "The policy for a delivery offering." - }, - "DeliveryMessage": { - "type": "object", - "properties": { - "text": { - "type": "string", - "description": "The message content for a delivery offering." - }, - "locale": { - "type": "string", - "description": "The locale for the message (for example, en_US)." - } - }, - "description": "Localized messaging for a delivery offering." - }, "InvalidItemReasonCode": { "type": "string", "description": "A code for why the item is invalid for return.", @@ -3922,7 +3628,6 @@ } }, "ListAllFulfillmentOrdersResult": { - "description": "The request for the listAllFulfillmentOrders operation.", "type": "object", "properties": { "nextToken": { @@ -3953,7 +3658,6 @@ "description": "The response schema for the `listAllFulfillmentOrders` operation." }, "ListReturnReasonCodesResult": { - "description": "The request for the listReturnReasonCodes operation.", "type": "object", "properties": { "reasonCodeDetails": { @@ -3975,20 +3679,6 @@ }, "description": "The response schema for the `listReturnReasonCodes` operation." }, - "LockerDetails": { - "type": "object", - "properties": { - "lockerNumber": { - "type": "string", - "description": "Indicates the locker number" - }, - "lockerAccessCode": { - "type": "string", - "description": "Indicates the locker access code" - } - }, - "description": "The locker details, if provided can be used to access locker delivery box." - }, "NotificationEmailList": { "type": "array", "description": "A list of email addresses that the seller provides that are used by Amazon to send ship-complete notifications to recipients on behalf of the seller.", @@ -4234,7 +3924,6 @@ ] }, "PackageTrackingDetails": { - "description": "Tracking details of package", "type": "object", "required": [ "packageNumber" @@ -4525,21 +4214,18 @@ "description": "Delivery information for a scheduled delivery. This is only available in the JP marketplace." }, "ShippingSpeedCategoryList": { - "description": "ShippingSpeedCategory List", "type": "array", "items": { "$ref": "#/definitions/ShippingSpeedCategory" } }, "StringList": { - "description": "String list", "type": "array", "items": { "type": "string" } }, "Timestamp": { - "description": "Date timestamp", "type": "string", "format": "date-time" }, @@ -5249,4 +4935,4 @@ "description": "The response schema for the `SubmitFulfillmentOrderStatusUpdate` operation." } } -} \ No newline at end of file +} From b10792e30683a99b6b5e89b24eea95162a1d293d Mon Sep 17 00:00:00 2001 From: Jack Evoniuk Date: Wed, 27 Mar 2024 11:23:34 -0700 Subject: [PATCH 120/340] Update Fulfillment Inbound v0 model Remove the getInboundGuidance operation. --- .../fulfillmentInboundV0.json | 604 ++---------------- 1 file changed, 62 insertions(+), 542 deletions(-) diff --git a/models/fulfillment-inbound-api-model/fulfillmentInboundV0.json b/models/fulfillment-inbound-api-model/fulfillmentInboundV0.json index df45bb5f2..64b5a6a77 100644 --- a/models/fulfillment-inbound-api-model/fulfillmentInboundV0.json +++ b/models/fulfillment-inbound-api-model/fulfillmentInboundV0.json @@ -24,254 +24,6 @@ "application/json" ], "paths": { - "/fba/inbound/v0/itemsGuidance": { - "get": { - "tags": [ - "fbaInbound" - ], - "description": "Returns information that lets a seller know if Amazon recommends sending an item to a given marketplace. In some cases, Amazon provides guidance for why a given SellerSKU or ASIN is not recommended for shipment to Amazon's fulfillment network. Sellers may still ship items that are not recommended, at their discretion.\n\n**Usage Plan:**\n\n| Rate (requests per second) | Burst |\n| ---- | ---- |\n| 2 | 30 |\n\nThe `x-amzn-RateLimit-Limit` response header returns the usage plan rate limits that were applied to the requested operation, when available. The table above indicates the default rate and burst values for this operation. Selling partners whose business demands require higher throughput may see higher rate and burst values than those shown here. For more information, see [Usage Plans and Rate Limits in the Selling Partner API](https://developer-docs.amazon.com/sp-api/docs/usage-plans-and-rate-limits-in-the-sp-api).", - "operationId": "getInboundGuidance", - "deprecated": true, - "parameters": [ - { - "name": "MarketplaceId", - "in": "query", - "description": "A marketplace identifier. Specifies the marketplace where the product would be stored.", - "required": true, - "type": "string" - }, - { - "name": "SellerSKUList", - "in": "query", - "description": "A list of SellerSKU values. Used to identify items for which you want inbound guidance for shipment to Amazon's fulfillment network. Note: SellerSKU is qualified by the SellerId, which is included with every Selling Partner API operation that you submit. If you specify a SellerSKU that identifies a variation parent ASIN, this operation returns an error. A variation parent ASIN represents a generic product that cannot be sold. Variation child ASINs represent products that have specific characteristics (such as size and color) and can be sold. ", - "required": false, - "type": "array", - "items": { - "type": "string" - }, - "maxItems": 50 - }, - { - "name": "ASINList", - "in": "query", - "description": "A list of ASIN values. Used to identify items for which you want inbound guidance for shipment to Amazon's fulfillment network. Note: If you specify a ASIN that identifies a variation parent ASIN, this operation returns an error. A variation parent ASIN represents a generic product that cannot be sold. Variation child ASINs represent products that have specific characteristics (such as size and color) and can be sold.", - "required": false, - "type": "array", - "items": { - "type": "string" - }, - "maxItems": 50 - } - ], - "responses": { - "200": { - "description": "Success.", - "schema": { - "$ref": "#/definitions/GetInboundGuidanceResponse" - }, - "headers": { - "x-amzn-RateLimit-Limit": { - "type": "string", - "description": "Your rate limit (requests per second) for this operation." - }, - "x-amzn-RequestId": { - "type": "string", - "description": "Unique request reference identifier." - } - }, - "x-amzn-api-sandbox": { - "static": [ - { - "request": { - "parameters": { - "MarketplaceId": { - "value": "MarketplaceId" - }, - "SellerSKUList": { - "value": [ - "sku1", - "sku2" - ] - } - } - }, - "response": { - "payload": { - "SKUInboundGuidanceList": [ - { - "SellerSKU": "SellerSKU", - "ASIN": "ASIN", - "InboundGuidance": "InboundNotRecommended", - "GuidanceReasonList": [ - "SlowMovingASIN" - ] - } - ], - "InvalidSKUList": [ - { - "SellerSKU": "SellerSKU", - "ErrorReason": "DoesNotExist" - } - ], - "ASINInboundGuidanceList": [ - { - "ASIN": "ASIN", - "InboundGuidance": "InboundNotRecommended", - "GuidanceReasonList": [ - "SlowMovingASIN" - ] - } - ], - "InvalidASINList": [ - { - "ASIN": "ASIN", - "ErrorReason": "DoesNotExist" - } - ] - } - } - } - ] - } - }, - "400": { - "description": "Request has missing or invalid parameters and cannot be parsed.", - "schema": { - "$ref": "#/definitions/GetInboundGuidanceResponse" - }, - "headers": { - "x-amzn-RateLimit-Limit": { - "type": "string", - "description": "Your rate limit (requests per second) for this operation." - }, - "x-amzn-RequestId": { - "type": "string", - "description": "Unique request reference identifier." - } - }, - "x-amzn-api-sandbox": { - "static": [ - { - "request": { - "parameters": { - "MarketplaceId": { - "value": "BADVALUE" - }, - "SellerSKUList": { - "value": [ - "sku1", - "sku2" - ] - } - } - }, - "response": { - "errors": [ - { - "code": "Invalid Input", - "message": "MarketplaceId is incorrect" - } - ] - } - } - ] - } - }, - "401": { - "description": "The request's Authorization header is not formatted correctly or does not contain a valid token.", - "schema": { - "$ref": "#/definitions/GetInboundGuidanceResponse" - }, - "headers": { - "x-amzn-RateLimit-Limit": { - "type": "string", - "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." - }, - "x-amzn-RequestId": { - "type": "string", - "description": "Unique request reference identifier." - } - } - }, - "403": { - "description": "Indicates that access to the resource is forbidden. Possible reasons include Access Denied, Unauthorized, Expired Token, or Invalid Signature.", - "schema": { - "$ref": "#/definitions/GetInboundGuidanceResponse" - }, - "headers": { - "x-amzn-RequestId": { - "type": "string", - "description": "Unique request reference identifier." - } - } - }, - "404": { - "description": "The specified resource does not exist.", - "schema": { - "$ref": "#/definitions/GetInboundGuidanceResponse" - }, - "headers": { - "x-amzn-RateLimit-Limit": { - "type": "string", - "description": "Your rate limit (requests per second) for this operation." - }, - "x-amzn-RequestId": { - "type": "string", - "description": "Unique request reference identifier." - } - } - }, - "429": { - "description": "The frequency of requests was greater than allowed.", - "schema": { - "$ref": "#/definitions/GetInboundGuidanceResponse" - }, - "headers": { - "x-amzn-RateLimit-Limit": { - "type": "string", - "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." - }, - "x-amzn-RequestId": { - "type": "string", - "description": "Unique request reference identifier." - } - } - }, - "500": { - "description": "An unexpected condition occurred that prevented the server from fulfilling the request.", - "schema": { - "$ref": "#/definitions/GetInboundGuidanceResponse" - }, - "headers": { - "x-amzn-RateLimit-Limit": { - "type": "string", - "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." - }, - "x-amzn-RequestId": { - "type": "string", - "description": "Unique request reference identifier." - } - } - }, - "503": { - "description": "Temporary overloading or maintenance of the server.", - "schema": { - "$ref": "#/definitions/GetInboundGuidanceResponse" - }, - "headers": { - "x-amzn-RateLimit-Limit": { - "type": "string", - "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." - }, - "x-amzn-RequestId": { - "type": "string", - "description": "Unique request reference identifier." - } - } - } - } - } - }, "/fba/inbound/v0/plans": { "post": { "tags": [ @@ -279,6 +31,7 @@ ], "description": "Returns one or more inbound shipment plans, which provide the information you need to create one or more inbound shipments for a set of items that you specify. Multiple inbound shipment plans might be required so that items can be optimally placed in Amazon's fulfillment network—for example, positioning inventory closer to the customer. Alternatively, two inbound shipment plans might be created with the same Amazon fulfillment center destination if the two shipment plans require different processing—for example, items that require labels must be shipped separately from stickerless, commingled inventory.\n\n**Usage Plan:**\n\n| Rate (requests per second) | Burst |\n| ---- | ---- |\n| 2 | 30 |\n\nThe `x-amzn-RateLimit-Limit` response header returns the usage plan rate limits that were applied to the requested operation, when available. The table above indicates the default rate and burst values for this operation. Selling partners whose business demands require higher throughput may see higher rate and burst values than those shown here. For more information, see [Usage Plans and Rate Limits in the Selling Partner API](https://developer-docs.amazon.com/sp-api/docs/usage-plans-and-rate-limits-in-the-sp-api).", "operationId": "createInboundShipmentPlan", + "deprecated": true, "parameters": [ { "in": "body", @@ -286,7 +39,8 @@ "required": true, "schema": { "$ref": "#/definitions/CreateInboundShipmentPlanRequest" - } + }, + "description": "The request schema for the CreateInboundShipmentPlanRequest operation." } ], "responses": { @@ -465,10 +219,6 @@ "$ref": "#/definitions/CreateInboundShipmentPlanResponse" }, "headers": { - "x-amzn-RateLimit-Limit": { - "type": "string", - "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." - }, "x-amzn-RequestId": { "type": "string", "description": "Unique request reference identifier." @@ -509,10 +259,6 @@ "$ref": "#/definitions/CreateInboundShipmentPlanResponse" }, "headers": { - "x-amzn-RateLimit-Limit": { - "type": "string", - "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." - }, "x-amzn-RequestId": { "type": "string", "description": "Unique request reference identifier." @@ -525,10 +271,6 @@ "$ref": "#/definitions/CreateInboundShipmentPlanResponse" }, "headers": { - "x-amzn-RateLimit-Limit": { - "type": "string", - "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." - }, "x-amzn-RequestId": { "type": "string", "description": "Unique request reference identifier." @@ -541,10 +283,6 @@ "$ref": "#/definitions/CreateInboundShipmentPlanResponse" }, "headers": { - "x-amzn-RateLimit-Limit": { - "type": "string", - "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." - }, "x-amzn-RequestId": { "type": "string", "description": "Unique request reference identifier." @@ -561,6 +299,7 @@ ], "description": "Returns a new inbound shipment based on the specified shipmentId that was returned by the createInboundShipmentPlan operation.\n\n**Usage Plan:**\n\n| Rate (requests per second) | Burst |\n| ---- | ---- |\n| 2 | 30 |\n\nThe `x-amzn-RateLimit-Limit` response header returns the usage plan rate limits that were applied to the requested operation, when available. The table above indicates the default rate and burst values for this operation. Selling partners whose business demands require higher throughput may see higher rate and burst values than those shown here. For more information, see [Usage Plans and Rate Limits in the Selling Partner API](https://developer-docs.amazon.com/sp-api/docs/usage-plans-and-rate-limits-in-the-sp-api).", "operationId": "createInboundShipment", + "deprecated": true, "parameters": [ { "in": "body", @@ -568,7 +307,8 @@ "required": true, "schema": { "$ref": "#/definitions/InboundShipmentRequest" - } + }, + "description": "The request schema for the InboundShipmentRequest operation." }, { "name": "shipmentId", @@ -721,10 +461,6 @@ "$ref": "#/definitions/InboundShipmentResponse" }, "headers": { - "x-amzn-RateLimit-Limit": { - "type": "string", - "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." - }, "x-amzn-RequestId": { "type": "string", "description": "Unique request reference identifier." @@ -765,10 +501,6 @@ "$ref": "#/definitions/InboundShipmentResponse" }, "headers": { - "x-amzn-RateLimit-Limit": { - "type": "string", - "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." - }, "x-amzn-RequestId": { "type": "string", "description": "Unique request reference identifier." @@ -781,10 +513,6 @@ "$ref": "#/definitions/InboundShipmentResponse" }, "headers": { - "x-amzn-RateLimit-Limit": { - "type": "string", - "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." - }, "x-amzn-RequestId": { "type": "string", "description": "Unique request reference identifier." @@ -797,10 +525,6 @@ "$ref": "#/definitions/InboundShipmentResponse" }, "headers": { - "x-amzn-RateLimit-Limit": { - "type": "string", - "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." - }, "x-amzn-RequestId": { "type": "string", "description": "Unique request reference identifier." @@ -815,6 +539,7 @@ ], "description": "Updates or removes items from the inbound shipment identified by the specified shipment identifier. Adding new items is not supported.\n\n**Usage Plan:**\n\n| Rate (requests per second) | Burst |\n| ---- | ---- |\n| 2 | 30 |\n\nThe `x-amzn-RateLimit-Limit` response header returns the usage plan rate limits that were applied to the requested operation, when available. The table above indicates the default rate and burst values for this operation. Selling partners whose business demands require higher throughput may see higher rate and burst values than those shown here. For more information, see [Usage Plans and Rate Limits in the Selling Partner API](https://developer-docs.amazon.com/sp-api/docs/usage-plans-and-rate-limits-in-the-sp-api).", "operationId": "updateInboundShipment", + "deprecated": true, "parameters": [ { "in": "body", @@ -822,7 +547,8 @@ "required": true, "schema": { "$ref": "#/definitions/InboundShipmentRequest" - } + }, + "description": "The request schema for the InboundShipmentRequest operation." }, { "name": "shipmentId", @@ -958,10 +684,6 @@ "$ref": "#/definitions/InboundShipmentResponse" }, "headers": { - "x-amzn-RateLimit-Limit": { - "type": "string", - "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." - }, "x-amzn-RequestId": { "type": "string", "description": "Unique request reference identifier." @@ -1002,10 +724,6 @@ "$ref": "#/definitions/InboundShipmentResponse" }, "headers": { - "x-amzn-RateLimit-Limit": { - "type": "string", - "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." - }, "x-amzn-RequestId": { "type": "string", "description": "Unique request reference identifier." @@ -1018,10 +736,6 @@ "$ref": "#/definitions/InboundShipmentResponse" }, "headers": { - "x-amzn-RateLimit-Limit": { - "type": "string", - "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." - }, "x-amzn-RequestId": { "type": "string", "description": "Unique request reference identifier." @@ -1034,10 +748,6 @@ "$ref": "#/definitions/InboundShipmentResponse" }, "headers": { - "x-amzn-RateLimit-Limit": { - "type": "string", - "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." - }, "x-amzn-RequestId": { "type": "string", "description": "Unique request reference identifier." @@ -1054,6 +764,7 @@ ], "description": "Returns pre-order information, including dates, that a seller needs before confirming a shipment for pre-order. \n\n**Usage Plan:**\n\n| Rate (requests per second) | Burst |\n| ---- | ---- |\n| 2 | 30 |\n\nThe `x-amzn-RateLimit-Limit` response header returns the usage plan rate limits that were applied to the requested operation, when available. The table above indicates the default rate and burst values for this operation. Selling partners whose business demands require higher throughput may see higher rate and burst values than those shown here. For more information, see [Usage Plans and Rate Limits in the Selling Partner API](https://developer-docs.amazon.com/sp-api/docs/usage-plans-and-rate-limits-in-the-sp-api).", "operationId": "getPreorderInfo", + "deprecated": true, "parameters": [ { "name": "shipmentId", @@ -1157,10 +868,6 @@ "$ref": "#/definitions/GetPreorderInfoResponse" }, "headers": { - "x-amzn-RateLimit-Limit": { - "type": "string", - "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." - }, "x-amzn-RequestId": { "type": "string", "description": "Unique request reference identifier." @@ -1201,10 +908,6 @@ "$ref": "#/definitions/GetPreorderInfoResponse" }, "headers": { - "x-amzn-RateLimit-Limit": { - "type": "string", - "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." - }, "x-amzn-RequestId": { "type": "string", "description": "Unique request reference identifier." @@ -1217,10 +920,6 @@ "$ref": "#/definitions/GetPreorderInfoResponse" }, "headers": { - "x-amzn-RateLimit-Limit": { - "type": "string", - "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." - }, "x-amzn-RequestId": { "type": "string", "description": "Unique request reference identifier." @@ -1233,10 +932,6 @@ "$ref": "#/definitions/GetPreorderInfoResponse" }, "headers": { - "x-amzn-RateLimit-Limit": { - "type": "string", - "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." - }, "x-amzn-RequestId": { "type": "string", "description": "Unique request reference identifier." @@ -1253,6 +948,7 @@ ], "description": "Returns information needed to confirm a shipment for pre-order. Call this operation after calling the getPreorderInfo operation to get the NeedByDate value and other pre-order information about the shipment.\n\n**Usage Plan:**\n\n| Rate (requests per second) | Burst |\n| ---- | ---- |\n| 2 | 30 |\n\nThe `x-amzn-RateLimit-Limit` response header returns the usage plan rate limits that were applied to the requested operation, when available. The table above indicates the default rate and burst values for this operation. Selling partners whose business demands require higher throughput may see higher rate and burst values than those shown here. For more information, see [Usage Plans and Rate Limits in the Selling Partner API](https://developer-docs.amazon.com/sp-api/docs/usage-plans-and-rate-limits-in-the-sp-api).", "operationId": "confirmPreorder", + "deprecated": true, "parameters": [ { "name": "shipmentId", @@ -1368,10 +1064,6 @@ "$ref": "#/definitions/ConfirmPreorderResponse" }, "headers": { - "x-amzn-RateLimit-Limit": { - "type": "string", - "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." - }, "x-amzn-RequestId": { "type": "string", "description": "Unique request reference identifier." @@ -1412,10 +1104,6 @@ "$ref": "#/definitions/ConfirmPreorderResponse" }, "headers": { - "x-amzn-RateLimit-Limit": { - "type": "string", - "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." - }, "x-amzn-RequestId": { "type": "string", "description": "Unique request reference identifier." @@ -1428,10 +1116,6 @@ "$ref": "#/definitions/ConfirmPreorderResponse" }, "headers": { - "x-amzn-RateLimit-Limit": { - "type": "string", - "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." - }, "x-amzn-RequestId": { "type": "string", "description": "Unique request reference identifier." @@ -1444,10 +1128,6 @@ "$ref": "#/definitions/ConfirmPreorderResponse" }, "headers": { - "x-amzn-RateLimit-Limit": { - "type": "string", - "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." - }, "x-amzn-RequestId": { "type": "string", "description": "Unique request reference identifier." @@ -1625,10 +1305,6 @@ "$ref": "#/definitions/GetPrepInstructionsResponse" }, "headers": { - "x-amzn-RateLimit-Limit": { - "type": "string", - "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." - }, "x-amzn-RequestId": { "type": "string", "description": "Unique request reference identifier." @@ -1669,10 +1345,6 @@ "$ref": "#/definitions/GetPrepInstructionsResponse" }, "headers": { - "x-amzn-RateLimit-Limit": { - "type": "string", - "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." - }, "x-amzn-RequestId": { "type": "string", "description": "Unique request reference identifier." @@ -1685,10 +1357,6 @@ "$ref": "#/definitions/GetPrepInstructionsResponse" }, "headers": { - "x-amzn-RateLimit-Limit": { - "type": "string", - "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." - }, "x-amzn-RequestId": { "type": "string", "description": "Unique request reference identifier." @@ -1701,10 +1369,6 @@ "$ref": "#/definitions/GetPrepInstructionsResponse" }, "headers": { - "x-amzn-RateLimit-Limit": { - "type": "string", - "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." - }, "x-amzn-RequestId": { "type": "string", "description": "Unique request reference identifier." @@ -1721,6 +1385,7 @@ ], "description": "Returns current transportation information about an inbound shipment.\n\n**Usage Plan:**\n\n| Rate (requests per second) | Burst |\n| ---- | ---- |\n| 2 | 30 |\n\nThe `x-amzn-RateLimit-Limit` response header returns the usage plan rate limits that were applied to the requested operation, when available. The table above indicates the default rate and burst values for this operation. Selling partners whose business demands require higher throughput may see higher rate and burst values than those shown here. For more information, see [Usage Plans and Rate Limits in the Selling Partner API](https://developer-docs.amazon.com/sp-api/docs/usage-plans-and-rate-limits-in-the-sp-api).", "operationId": "getTransportDetails", + "deprecated": true, "parameters": [ { "name": "shipmentId", @@ -1838,10 +1503,6 @@ "$ref": "#/definitions/GetTransportDetailsResponse" }, "headers": { - "x-amzn-RateLimit-Limit": { - "type": "string", - "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." - }, "x-amzn-RequestId": { "type": "string", "description": "Unique request reference identifier." @@ -1882,10 +1543,6 @@ "$ref": "#/definitions/GetTransportDetailsResponse" }, "headers": { - "x-amzn-RateLimit-Limit": { - "type": "string", - "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." - }, "x-amzn-RequestId": { "type": "string", "description": "Unique request reference identifier." @@ -1898,10 +1555,6 @@ "$ref": "#/definitions/GetTransportDetailsResponse" }, "headers": { - "x-amzn-RateLimit-Limit": { - "type": "string", - "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." - }, "x-amzn-RequestId": { "type": "string", "description": "Unique request reference identifier." @@ -1914,10 +1567,6 @@ "$ref": "#/definitions/GetTransportDetailsResponse" }, "headers": { - "x-amzn-RateLimit-Limit": { - "type": "string", - "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." - }, "x-amzn-RequestId": { "type": "string", "description": "Unique request reference identifier." @@ -1932,6 +1581,7 @@ ], "description": "Sends transportation information to Amazon about an inbound shipment.\n\n**Usage Plan:**\n\n| Rate (requests per second) | Burst |\n| ---- | ---- |\n| 2 | 30 |\n\nThe `x-amzn-RateLimit-Limit` response header returns the usage plan rate limits that were applied to the requested operation, when available. The table above indicates the default rate and burst values for this operation. Selling partners whose business demands require higher throughput may see higher rate and burst values than those shown here. For more information, see [Usage Plans and Rate Limits in the Selling Partner API](https://developer-docs.amazon.com/sp-api/docs/usage-plans-and-rate-limits-in-the-sp-api).", "operationId": "putTransportDetails", + "deprecated": true, "parameters": [ { "name": "shipmentId", @@ -1946,7 +1596,8 @@ "required": true, "schema": { "$ref": "#/definitions/PutTransportDetailsRequest" - } + }, + "description": "The request schema for the PutTransportDetailsRequest operation." } ], "responses": { @@ -2171,10 +1822,6 @@ "$ref": "#/definitions/PutTransportDetailsResponse" }, "headers": { - "x-amzn-RateLimit-Limit": { - "type": "string", - "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." - }, "x-amzn-RequestId": { "type": "string", "description": "Unique request reference identifier." @@ -2215,10 +1862,6 @@ "$ref": "#/definitions/PutTransportDetailsResponse" }, "headers": { - "x-amzn-RateLimit-Limit": { - "type": "string", - "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." - }, "x-amzn-RequestId": { "type": "string", "description": "Unique request reference identifier." @@ -2231,10 +1874,6 @@ "$ref": "#/definitions/PutTransportDetailsResponse" }, "headers": { - "x-amzn-RateLimit-Limit": { - "type": "string", - "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." - }, "x-amzn-RequestId": { "type": "string", "description": "Unique request reference identifier." @@ -2247,10 +1886,6 @@ "$ref": "#/definitions/PutTransportDetailsResponse" }, "headers": { - "x-amzn-RateLimit-Limit": { - "type": "string", - "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." - }, "x-amzn-RequestId": { "type": "string", "description": "Unique request reference identifier." @@ -2267,6 +1902,7 @@ ], "description": "Cancels a previously-confirmed request to ship an inbound shipment using an Amazon-partnered carrier.\n\nTo be successful, you must call this operation before the VoidDeadline date that is returned by the getTransportDetails operation.\n\nImportant: The VoidDeadline date is 24 hours after you confirm a Small Parcel shipment transportation request or one hour after you confirm a Less Than Truckload/Full Truckload (LTL/FTL) shipment transportation request. After the void deadline passes, your account will be charged for the shipping cost.\n\n**Usage Plan:**\n\n| Rate (requests per second) | Burst |\n| ---- | ---- |\n| 2 | 30 |\n\nThe `x-amzn-RateLimit-Limit` response header returns the usage plan rate limits that were applied to the requested operation, when available. The table above indicates the default rate and burst values for this operation. Selling partners whose business demands require higher throughput may see higher rate and burst values than those shown here. For more information, see [Usage Plans and Rate Limits in the Selling Partner API](https://developer-docs.amazon.com/sp-api/docs/usage-plans-and-rate-limits-in-the-sp-api).", "operationId": "voidTransport", + "deprecated": true, "parameters": [ { "name": "shipmentId", @@ -2356,10 +1992,6 @@ "$ref": "#/definitions/VoidTransportResponse" }, "headers": { - "x-amzn-RateLimit-Limit": { - "type": "string", - "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." - }, "x-amzn-RequestId": { "type": "string", "description": "Unique request reference identifier." @@ -2400,10 +2032,6 @@ "$ref": "#/definitions/VoidTransportResponse" }, "headers": { - "x-amzn-RateLimit-Limit": { - "type": "string", - "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." - }, "x-amzn-RequestId": { "type": "string", "description": "Unique request reference identifier." @@ -2416,10 +2044,6 @@ "$ref": "#/definitions/VoidTransportResponse" }, "headers": { - "x-amzn-RateLimit-Limit": { - "type": "string", - "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." - }, "x-amzn-RequestId": { "type": "string", "description": "Unique request reference identifier." @@ -2432,10 +2056,6 @@ "$ref": "#/definitions/VoidTransportResponse" }, "headers": { - "x-amzn-RateLimit-Limit": { - "type": "string", - "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." - }, "x-amzn-RequestId": { "type": "string", "description": "Unique request reference identifier." @@ -2452,6 +2072,7 @@ ], "description": "Initiates the process of estimating the shipping cost for an inbound shipment by an Amazon-partnered carrier.\n\nPrior to calling the estimateTransport operation, you must call the putTransportDetails operation to provide Amazon with the transportation information for the inbound shipment.\n\n**Usage Plan:**\n\n| Rate (requests per second) | Burst |\n| ---- | ---- |\n| 2 | 30 |\n\nThe `x-amzn-RateLimit-Limit` response header returns the usage plan rate limits that were applied to the requested operation, when available. The table above indicates the default rate and burst values for this operation. Selling partners whose business demands require higher throughput may see higher rate and burst values than those shown here. For more information, see [Usage Plans and Rate Limits in the Selling Partner API](https://developer-docs.amazon.com/sp-api/docs/usage-plans-and-rate-limits-in-the-sp-api).", "operationId": "estimateTransport", + "deprecated": true, "parameters": [ { "name": "shipmentId", @@ -2541,10 +2162,6 @@ "$ref": "#/definitions/EstimateTransportResponse" }, "headers": { - "x-amzn-RateLimit-Limit": { - "type": "string", - "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." - }, "x-amzn-RequestId": { "type": "string", "description": "Unique request reference identifier." @@ -2585,10 +2202,6 @@ "$ref": "#/definitions/EstimateTransportResponse" }, "headers": { - "x-amzn-RateLimit-Limit": { - "type": "string", - "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." - }, "x-amzn-RequestId": { "type": "string", "description": "Unique request reference identifier." @@ -2601,10 +2214,6 @@ "$ref": "#/definitions/EstimateTransportResponse" }, "headers": { - "x-amzn-RateLimit-Limit": { - "type": "string", - "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." - }, "x-amzn-RequestId": { "type": "string", "description": "Unique request reference identifier." @@ -2617,10 +2226,6 @@ "$ref": "#/definitions/EstimateTransportResponse" }, "headers": { - "x-amzn-RateLimit-Limit": { - "type": "string", - "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." - }, "x-amzn-RequestId": { "type": "string", "description": "Unique request reference identifier." @@ -2637,6 +2242,7 @@ ], "description": "Confirms that the seller accepts the Amazon-partnered shipping estimate, agrees to allow Amazon to charge their account for the shipping cost, and requests that the Amazon-partnered carrier ship the inbound shipment.\n\nPrior to calling the confirmTransport operation, you should call the getTransportDetails operation to get the Amazon-partnered shipping estimate.\n\nImportant: After confirming the transportation request, if the seller decides that they do not want the Amazon-partnered carrier to ship the inbound shipment, you can call the voidTransport operation to cancel the transportation request. Note that for a Small Parcel shipment, the seller has 24 hours after confirming a transportation request to void the transportation request. For a Less Than Truckload/Full Truckload (LTL/FTL) shipment, the seller has one hour after confirming a transportation request to void it. After the grace period has expired the seller's account will be charged for the shipping cost.\n\n**Usage Plan:**\n\n| Rate (requests per second) | Burst |\n| ---- | ---- |\n| 2 | 30 |\n\nThe `x-amzn-RateLimit-Limit` response header returns the usage plan rate limits that were applied to the requested operation, when available. The table above indicates the default rate and burst values for this operation. Selling partners whose business demands require higher throughput may see higher rate and burst values than those shown here. For more information, see [Usage Plans and Rate Limits in the Selling Partner API](https://developer-docs.amazon.com/sp-api/docs/usage-plans-and-rate-limits-in-the-sp-api).", "operationId": "confirmTransport", + "deprecated": true, "parameters": [ { "name": "shipmentId", @@ -2726,10 +2332,6 @@ "$ref": "#/definitions/ConfirmTransportResponse" }, "headers": { - "x-amzn-RateLimit-Limit": { - "type": "string", - "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." - }, "x-amzn-RequestId": { "type": "string", "description": "Unique request reference identifier." @@ -2770,10 +2372,6 @@ "$ref": "#/definitions/ConfirmTransportResponse" }, "headers": { - "x-amzn-RateLimit-Limit": { - "type": "string", - "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." - }, "x-amzn-RequestId": { "type": "string", "description": "Unique request reference identifier." @@ -2786,10 +2384,6 @@ "$ref": "#/definitions/ConfirmTransportResponse" }, "headers": { - "x-amzn-RateLimit-Limit": { - "type": "string", - "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." - }, "x-amzn-RequestId": { "type": "string", "description": "Unique request reference identifier." @@ -2802,10 +2396,6 @@ "$ref": "#/definitions/ConfirmTransportResponse" }, "headers": { - "x-amzn-RateLimit-Limit": { - "type": "string", - "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." - }, "x-amzn-RequestId": { "type": "string", "description": "Unique request reference identifier." @@ -2942,8 +2532,7 @@ "type": "array", "items": { "type": "string" - }, - "maxItems": 999 + } }, { "name": "NumberOfPallets", @@ -3057,10 +2646,6 @@ "$ref": "#/definitions/GetLabelsResponse" }, "headers": { - "x-amzn-RateLimit-Limit": { - "type": "string", - "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." - }, "x-amzn-RequestId": { "type": "string", "description": "Unique request reference identifier." @@ -3101,10 +2686,6 @@ "$ref": "#/definitions/GetLabelsResponse" }, "headers": { - "x-amzn-RateLimit-Limit": { - "type": "string", - "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." - }, "x-amzn-RequestId": { "type": "string", "description": "Unique request reference identifier." @@ -3117,10 +2698,6 @@ "$ref": "#/definitions/GetLabelsResponse" }, "headers": { - "x-amzn-RateLimit-Limit": { - "type": "string", - "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." - }, "x-amzn-RequestId": { "type": "string", "description": "Unique request reference identifier." @@ -3133,10 +2710,6 @@ "$ref": "#/definitions/GetLabelsResponse" }, "headers": { - "x-amzn-RateLimit-Limit": { - "type": "string", - "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." - }, "x-amzn-RequestId": { "type": "string", "description": "Unique request reference identifier." @@ -3240,10 +2813,6 @@ "$ref": "#/definitions/GetBillOfLadingResponse" }, "headers": { - "x-amzn-RateLimit-Limit": { - "type": "string", - "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." - }, "x-amzn-RequestId": { "type": "string", "description": "Unique request reference identifier." @@ -3284,10 +2853,6 @@ "$ref": "#/definitions/GetBillOfLadingResponse" }, "headers": { - "x-amzn-RateLimit-Limit": { - "type": "string", - "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." - }, "x-amzn-RequestId": { "type": "string", "description": "Unique request reference identifier." @@ -3300,10 +2865,6 @@ "$ref": "#/definitions/GetBillOfLadingResponse" }, "headers": { - "x-amzn-RateLimit-Limit": { - "type": "string", - "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." - }, "x-amzn-RequestId": { "type": "string", "description": "Unique request reference identifier." @@ -3316,10 +2877,6 @@ "$ref": "#/definitions/GetBillOfLadingResponse" }, "headers": { - "x-amzn-RateLimit-Limit": { - "type": "string", - "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." - }, "x-amzn-RequestId": { "type": "string", "description": "Unique request reference identifier." @@ -3336,6 +2893,7 @@ ], "description": "Returns a list of inbound shipments based on criteria that you specify.\n\n**Usage Plan:**\n\n| Rate (requests per second) | Burst |\n| ---- | ---- |\n| 2 | 30 |\n\nThe `x-amzn-RateLimit-Limit` response header returns the usage plan rate limits that were applied to the requested operation, when available. The table above indicates the default rate and burst values for this operation. Selling partners whose business demands require higher throughput may see higher rate and burst values than those shown here. For more information, see [Usage Plans and Rate Limits in the Selling Partner API](https://developer-docs.amazon.com/sp-api/docs/usage-plans-and-rate-limits-in-the-sp-api).", "operationId": "getShipments", + "deprecated": true, "parameters": [ { "name": "ShipmentStatusList", @@ -3414,7 +2972,8 @@ "type": "array", "items": { "type": "string" - } + }, + "maxItems": 999 }, { "name": "LastUpdatedAfter", @@ -3575,10 +3134,6 @@ "$ref": "#/definitions/GetShipmentsResponse" }, "headers": { - "x-amzn-RateLimit-Limit": { - "type": "string", - "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." - }, "x-amzn-RequestId": { "type": "string", "description": "Unique request reference identifier." @@ -3619,10 +3174,6 @@ "$ref": "#/definitions/GetShipmentsResponse" }, "headers": { - "x-amzn-RateLimit-Limit": { - "type": "string", - "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." - }, "x-amzn-RequestId": { "type": "string", "description": "Unique request reference identifier." @@ -3635,10 +3186,6 @@ "$ref": "#/definitions/GetShipmentsResponse" }, "headers": { - "x-amzn-RateLimit-Limit": { - "type": "string", - "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." - }, "x-amzn-RequestId": { "type": "string", "description": "Unique request reference identifier." @@ -3651,10 +3198,6 @@ "$ref": "#/definitions/GetShipmentsResponse" }, "headers": { - "x-amzn-RateLimit-Limit": { - "type": "string", - "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." - }, "x-amzn-RequestId": { "type": "string", "description": "Unique request reference identifier." @@ -3671,6 +3214,7 @@ ], "description": "Returns a list of items in a specified inbound shipment.\n\n**Usage Plan:**\n\n| Rate (requests per second) | Burst |\n| ---- | ---- |\n| 2 | 30 |\n\nThe `x-amzn-RateLimit-Limit` response header returns the usage plan rate limits that were applied to the requested operation, when available. The table above indicates the default rate and burst values for this operation. Selling partners whose business demands require higher throughput may see higher rate and burst values than those shown here. For more information, see [Usage Plans and Rate Limits in the Selling Partner API](https://developer-docs.amazon.com/sp-api/docs/usage-plans-and-rate-limits-in-the-sp-api).", "operationId": "getShipmentItemsByShipmentId", + "deprecated": true, "parameters": [ { "name": "shipmentId", @@ -3792,10 +3336,6 @@ "$ref": "#/definitions/GetShipmentItemsResponse" }, "headers": { - "x-amzn-RateLimit-Limit": { - "type": "string", - "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." - }, "x-amzn-RequestId": { "type": "string", "description": "Unique request reference identifier." @@ -3836,10 +3376,6 @@ "$ref": "#/definitions/GetShipmentItemsResponse" }, "headers": { - "x-amzn-RateLimit-Limit": { - "type": "string", - "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." - }, "x-amzn-RequestId": { "type": "string", "description": "Unique request reference identifier." @@ -3852,10 +3388,6 @@ "$ref": "#/definitions/GetShipmentItemsResponse" }, "headers": { - "x-amzn-RateLimit-Limit": { - "type": "string", - "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." - }, "x-amzn-RequestId": { "type": "string", "description": "Unique request reference identifier." @@ -3868,10 +3400,6 @@ "$ref": "#/definitions/GetShipmentItemsResponse" }, "headers": { - "x-amzn-RateLimit-Limit": { - "type": "string", - "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." - }, "x-amzn-RequestId": { "type": "string", "description": "Unique request reference identifier." @@ -3888,6 +3416,7 @@ ], "description": "Returns a list of items in a specified inbound shipment, or a list of items that were updated within a specified time frame.\n\n**Usage Plan:**\n\n| Rate (requests per second) | Burst |\n| ---- | ---- |\n| 2 | 30 |\n\nThe `x-amzn-RateLimit-Limit` response header returns the usage plan rate limits that were applied to the requested operation, when available. The table above indicates the default rate and burst values for this operation. Selling partners whose business demands require higher throughput may see higher rate and burst values than those shown here. For more information, see [Usage Plans and Rate Limits in the Selling Partner API](https://developer-docs.amazon.com/sp-api/docs/usage-plans-and-rate-limits-in-the-sp-api).", "operationId": "getShipmentItems", + "deprecated": true, "parameters": [ { "name": "LastUpdatedAfter", @@ -4092,10 +3621,6 @@ "$ref": "#/definitions/GetShipmentItemsResponse" }, "headers": { - "x-amzn-RateLimit-Limit": { - "type": "string", - "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." - }, "x-amzn-RequestId": { "type": "string", "description": "Unique request reference identifier." @@ -4136,10 +3661,6 @@ "$ref": "#/definitions/GetShipmentItemsResponse" }, "headers": { - "x-amzn-RateLimit-Limit": { - "type": "string", - "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." - }, "x-amzn-RequestId": { "type": "string", "description": "Unique request reference identifier." @@ -4152,10 +3673,6 @@ "$ref": "#/definitions/GetShipmentItemsResponse" }, "headers": { - "x-amzn-RateLimit-Limit": { - "type": "string", - "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." - }, "x-amzn-RequestId": { "type": "string", "description": "Unique request reference identifier." @@ -4168,10 +3685,6 @@ "$ref": "#/definitions/GetShipmentItemsResponse" }, "headers": { - "x-amzn-RateLimit-Limit": { - "type": "string", - "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." - }, "x-amzn-RequestId": { "type": "string", "description": "Unique request reference identifier." @@ -4268,6 +3781,7 @@ }, "Address": { "type": "object", + "description": "Specific details to identify a place.", "required": [ "AddressLine1", "City", @@ -4379,7 +3893,8 @@ }, "BigDecimalType": { "type": "number", - "format": "double" + "format": "double", + "description": "Number format that supports decimal." }, "BoxContentsFeeDetails": { "type": "object", @@ -4536,7 +4051,8 @@ "description": "Date that determines which pre-order items in the shipment are eligible for pre-order. The pre-order Buy Box will appear for any pre-order item in the shipment with a release date on or after this date. In YYYY-MM-DD format.", "$ref": "#/definitions/DateStringType" } - } + }, + "description": "Result for confirm preorder operation" }, "ConfirmPreorderResponse": { "type": "object", @@ -4557,7 +4073,8 @@ "TransportResult": { "$ref": "#/definitions/TransportResult" } - } + }, + "description": "Common container for transport result" }, "ConfirmTransportResponse": { "type": "object", @@ -4639,7 +4156,8 @@ "InboundShipmentPlans": { "$ref": "#/definitions/InboundShipmentPlanList" } - } + }, + "description": "Result for the create inbound shipment operation" }, "CreateInboundShipmentPlanResponse": { "type": "object", @@ -4685,7 +4203,8 @@ "type": "string", "description": "The shipment identifier submitted in the request." } - } + }, + "description": "Result of an inbound shipment operation" }, "InboundShipmentResponse": { "type": "object", @@ -4720,7 +4239,8 @@ }, "DateStringType": { "type": "string", - "format": "date" + "format": "date", + "description": "Type containing date in string format" }, "Dimensions": { "type": "object", @@ -4809,20 +4329,8 @@ "InvalidASINList": { "$ref": "#/definitions/InvalidASINList" } - } - }, - "GetInboundGuidanceResponse": { - "type": "object", - "properties": { - "payload": { - "description": "The payload for the getInboundGuidance operation.", - "$ref": "#/definitions/GetInboundGuidanceResult" - }, - "errors": { - "$ref": "#/definitions/ErrorList" - } }, - "description": "The response schema for the getInboundGuidance operation." + "description": "Result for the get inbound guidance operation" }, "LabelDownloadURL": { "type": "object", @@ -4831,7 +4339,8 @@ "type": "string", "description": "URL to download the label for the package. Note: The URL will only be valid for 15 seconds" } - } + }, + "description": "Download URL for a label" }, "BillOfLadingDownloadURL": { "type": "object", @@ -4840,7 +4349,8 @@ "type": "string", "description": "URL to download the bill of lading for the package. Note: The URL will only be valid for 15 seconds" } - } + }, + "description": "Download URL for the bill of lading." }, "GetLabelsResponse": { "type": "object", @@ -4874,7 +4384,8 @@ "description": "Date in YYYY-MM-DD format that determines which pre-order items in the shipment are eligible for pre-order. If this shipment is confirmed for pre-order with a subsequent call to the confirmPreorder operation, the pre-order Buy Box will appear for any pre-order items in the shipment with a release date on or after this date. Call the getShipmentItems operation to get the release dates for the pre-order items in this shipment.", "$ref": "#/definitions/DateStringType" } - } + }, + "description": "Result for the get preorder info operation" }, "GetPreorderInfoResponse": { "type": "object", @@ -4905,7 +4416,8 @@ "InvalidASINList": { "$ref": "#/definitions/InvalidASINList" } - } + }, + "description": "Result for the get prep instructions operation" }, "GetPrepInstructionsResponse": { "type": "object", @@ -4926,7 +4438,8 @@ "TransportContent": { "$ref": "#/definitions/TransportContent" } - } + }, + "description": "Result for the get transport details operation" }, "GetTransportDetailsResponse": { "type": "object", @@ -5237,7 +4750,8 @@ "type": "array", "items": { "$ref": "#/definitions/InboundShipmentPlanRequestItem" - } + }, + "description": "List of inbound shipment plan requests" }, "IntendedBoxContentsSource": { "type": "string", @@ -5273,7 +4787,8 @@ "description": "The reason that the ASIN is invalid.", "$ref": "#/definitions/ErrorReason" } - } + }, + "description": "Contains details about an invalid ASIN" }, "InvalidASINList": { "type": "array", @@ -5293,7 +4808,8 @@ "description": "The reason why the seller SKU is invalid.", "$ref": "#/definitions/ErrorReason" } - } + }, + "description": "Contains detail about an invalid SKU" }, "InvalidSKUList": { "type": "array", @@ -5359,7 +4875,8 @@ "type": "string", "description": "When present and not empty, pass this string token in the next request to return the next response page." } - } + }, + "description": "Result for the get shipment items operation" }, "GetShipmentItemsResponse": { "type": "object", @@ -5385,7 +4902,8 @@ "type": "string", "description": "When present and not empty, pass this string token in the next request to return the next response page." } - } + }, + "description": "Result for the get shipments operation" }, "GetShipmentsResponse": { "type": "object", @@ -6245,7 +5763,8 @@ }, "TimeStampStringType": { "type": "string", - "format": "date-time" + "format": "date-time", + "description": "Timestamp in ISO 8601 format." }, "TrackingId": { "type": "string", @@ -6455,7 +5974,8 @@ }, "UnsignedIntType": { "type": "integer", - "format": "int64" + "format": "int64", + "description": "Contains an unsigned integer" }, "VoidTransportResponse": { "type": "object", From af42c40de86ffd24512cce4b08a8b694259976df Mon Sep 17 00:00:00 2001 From: Jack Evoniuk Date: Wed, 27 Mar 2024 11:27:50 -0700 Subject: [PATCH 121/340] Update Merchant Fulfillment model --- .../merchantFulfillmentV0.json | 183 ++++++++---------- 1 file changed, 85 insertions(+), 98 deletions(-) diff --git a/models/merchant-fulfillment-api-model/merchantFulfillmentV0.json b/models/merchant-fulfillment-api-model/merchantFulfillmentV0.json index 15687bc6f..64e4dad87 100644 --- a/models/merchant-fulfillment-api-model/merchantFulfillmentV0.json +++ b/models/merchant-fulfillment-api-model/merchantFulfillmentV0.json @@ -35,7 +35,6 @@ { "in": "body", "name": "body", - "description": "Request schema for GetEligibleShipmentServices operation.", "required": true, "schema": { "$ref": "#/definitions/GetEligibleShipmentServicesRequest" @@ -142,13 +141,7 @@ { "LabelFormat": "PNG" } - ], - "Benefits": { - "IncludedBenefits": [ - "CLAIMS_PROTECTED" - ], - "ExcludedBenefits": [] - } + ] }, { "ShippingServiceName": "UPS Next Day Air Saver\u00AE", @@ -186,18 +179,7 @@ { "LabelFormat": "PNG" } - ], - "Benefits": { - "IncludedBenefits": [], - "ExcludedBenefits": [ - { - "Benefit": "CLAIMS_PROTECTED", - "ReasonCodes": [ - "LATE_DELIVERY_RISK" - ] - } - ] - } + ] } ], "TemporarilyUnavailableCarrierList": [ @@ -301,6 +283,10 @@ "$ref": "#/definitions/GetEligibleShipmentServicesResponse" }, "headers": { + "x-amzn-RateLimit-Limit": { + "type": "string", + "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." + }, "x-amzn-RequestId": { "type": "string", "description": "Unique request reference identifier." @@ -341,6 +327,10 @@ "$ref": "#/definitions/GetEligibleShipmentServicesResponse" }, "headers": { + "x-amzn-RateLimit-Limit": { + "type": "string", + "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." + }, "x-amzn-RequestId": { "type": "string", "description": "Unique request reference identifier." @@ -353,6 +343,10 @@ "$ref": "#/definitions/GetEligibleShipmentServicesResponse" }, "headers": { + "x-amzn-RateLimit-Limit": { + "type": "string", + "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." + }, "x-amzn-RequestId": { "type": "string", "description": "Unique request reference identifier." @@ -365,6 +359,10 @@ "$ref": "#/definitions/GetEligibleShipmentServicesResponse" }, "headers": { + "x-amzn-RateLimit-Limit": { + "type": "string", + "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." + }, "x-amzn-RequestId": { "type": "string", "description": "Unique request reference identifier." @@ -480,18 +478,7 @@ "Amount": 0.0 } }, - "RequiresAdditionalSellerInputs": false, - "Benefits": { - "IncludedBenefits": [], - "ExcludedBenefits": [ - { - "Benefit": "CLAIMS_PROTECTED", - "ReasonCodes": [ - "LATE_DELIVERY_RISK" - ] - } - ] - } + "RequiresAdditionalSellerInputs": false }, "Label": { "Dimensions": { @@ -559,6 +546,10 @@ "$ref": "#/definitions/GetShipmentResponse" }, "headers": { + "x-amzn-RateLimit-Limit": { + "type": "string", + "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." + }, "x-amzn-RequestId": { "type": "string", "description": "Unique request reference identifier." @@ -599,6 +590,10 @@ "$ref": "#/definitions/GetShipmentResponse" }, "headers": { + "x-amzn-RateLimit-Limit": { + "type": "string", + "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." + }, "x-amzn-RequestId": { "type": "string", "description": "Unique request reference identifier." @@ -611,6 +606,10 @@ "$ref": "#/definitions/GetShipmentResponse" }, "headers": { + "x-amzn-RateLimit-Limit": { + "type": "string", + "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." + }, "x-amzn-RequestId": { "type": "string", "description": "Unique request reference identifier." @@ -623,6 +622,10 @@ "$ref": "#/definitions/GetShipmentResponse" }, "headers": { + "x-amzn-RateLimit-Limit": { + "type": "string", + "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." + }, "x-amzn-RequestId": { "type": "string", "description": "Unique request reference identifier." @@ -800,6 +803,10 @@ "$ref": "#/definitions/CancelShipmentResponse" }, "headers": { + "x-amzn-RateLimit-Limit": { + "type": "string", + "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." + }, "x-amzn-RequestId": { "type": "string", "description": "Unique request reference identifier." @@ -840,6 +847,10 @@ "$ref": "#/definitions/CancelShipmentResponse" }, "headers": { + "x-amzn-RateLimit-Limit": { + "type": "string", + "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." + }, "x-amzn-RequestId": { "type": "string", "description": "Unique request reference identifier." @@ -852,6 +863,10 @@ "$ref": "#/definitions/CancelShipmentResponse" }, "headers": { + "x-amzn-RateLimit-Limit": { + "type": "string", + "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." + }, "x-amzn-RequestId": { "type": "string", "description": "Unique request reference identifier." @@ -864,6 +879,10 @@ "$ref": "#/definitions/CancelShipmentResponse" }, "headers": { + "x-amzn-RateLimit-Limit": { + "type": "string", + "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." + }, "x-amzn-RequestId": { "type": "string", "description": "Unique request reference identifier." @@ -884,7 +903,6 @@ { "in": "body", "name": "body", - "description": "Request schema for CreateShipment operation.", "required": true, "schema": { "$ref": "#/definitions/CreateShipmentRequest" @@ -1018,13 +1036,7 @@ "Amount": 0 } }, - "RequiresAdditionalSellerInputs": false, - "Benefits": { - "IncludedBenefits": [ - "CLAIMS_PROTECTED" - ], - "ExcludedBenefits": [] - } + "RequiresAdditionalSellerInputs": false }, "Label": { "Dimensions": { @@ -1129,6 +1141,10 @@ "$ref": "#/definitions/CreateShipmentResponse" }, "headers": { + "x-amzn-RateLimit-Limit": { + "type": "string", + "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." + }, "x-amzn-RequestId": { "type": "string", "description": "Unique request reference identifier." @@ -1169,6 +1185,10 @@ "$ref": "#/definitions/CreateShipmentResponse" }, "headers": { + "x-amzn-RateLimit-Limit": { + "type": "string", + "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." + }, "x-amzn-RequestId": { "type": "string", "description": "Unique request reference identifier." @@ -1181,6 +1201,10 @@ "$ref": "#/definitions/CreateShipmentResponse" }, "headers": { + "x-amzn-RateLimit-Limit": { + "type": "string", + "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." + }, "x-amzn-RequestId": { "type": "string", "description": "Unique request reference identifier." @@ -1193,6 +1217,10 @@ "$ref": "#/definitions/CreateShipmentResponse" }, "headers": { + "x-amzn-RateLimit-Limit": { + "type": "string", + "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." + }, "x-amzn-RequestId": { "type": "string", "description": "Unique request reference identifier." @@ -1213,7 +1241,6 @@ { "in": "body", "name": "body", - "description": "Request schema for GetAdditionalSellerInputs operation.", "required": true, "schema": { "$ref": "#/definitions/GetAdditionalSellerInputsRequest" @@ -1335,6 +1362,10 @@ "$ref": "#/definitions/GetAdditionalSellerInputsResponse" }, "headers": { + "x-amzn-RateLimit-Limit": { + "type": "string", + "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." + }, "x-amzn-RequestId": { "type": "string", "description": "Unique request reference identifier." @@ -1375,6 +1406,10 @@ "$ref": "#/definitions/GetAdditionalSellerInputsResponse" }, "headers": { + "x-amzn-RateLimit-Limit": { + "type": "string", + "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." + }, "x-amzn-RequestId": { "type": "string", "description": "Unique request reference identifier." @@ -1387,6 +1422,10 @@ "$ref": "#/definitions/GetAdditionalSellerInputsResponse" }, "headers": { + "x-amzn-RateLimit-Limit": { + "type": "string", + "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." + }, "x-amzn-RequestId": { "type": "string", "description": "Unique request reference identifier." @@ -1399,6 +1438,10 @@ "$ref": "#/definitions/GetAdditionalSellerInputsResponse" }, "headers": { + "x-amzn-RateLimit-Limit": { + "type": "string", + "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." + }, "x-amzn-RequestId": { "type": "string", "description": "Unique request reference identifier." @@ -1526,11 +1569,7 @@ "description": "The available shipping service options." }, "AvailableFormatOptionsForLabel": { - "type": "array", - "description": "The available label formats.", - "items": { - "$ref": "#/definitions/LabelFormatOption" - } + "$ref": "#/definitions/AvailableFormatOptionsForLabelList" }, "AvailableFormatOptionsForLabelList": { "type": "array", @@ -1773,52 +1812,6 @@ "type": "string", "description": "An Amazon-defined order identifier, in 3-7-7 format." }, - "Benefits": { - "type": "object", - "description": "Benefits that are included and excluded for each shipping offer. Benefits represents services provided by Amazon (eg. CLAIMS_PROTECTED, etc.) when sellers purchase shipping through Amazon. Benefit details will be made available for any shipment placed on or after January 1st 2024 00:00 UTC", - "properties": { - "IncludedBenefits": { - "$ref": "#/definitions/IncludedBenefits" - }, - "ExcludedBenefits": { - "$ref": "#/definitions/ExcludedBenefits" - } - } - }, - "IncludedBenefits": { - "type": "array", - "description": "A list of included benefits.", - "items": { - "type": "string" - } - }, - "ExcludedBenefits": { - "type": "array", - "description": "A list of excluded benefit. Refer to the ExcludeBenefit object for further documentation.", - "items": { - "$ref": "#/definitions/ExcludedBenefit" - } - }, - "ExcludedBenefit": { - "type": "object", - "description": "Object representing an excluded benefit that is excluded for a shipping offer or rate.", - "properties": { - "Benefit": { - "description": "Benefit that is being excluded from a shipment.", - "type": "string" - }, - "ReasonCodes": { - "$ref": "#/definitions/ExcludedBenefitReasonCodes" - } - } - }, - "ExcludedBenefitReasonCodes": { - "type": "array", - "description": "List of reasons (eg. LATE_DELIVERY_RISK, etc.) indicating why a benefit is excluded for a shipping offer.", - "items": { - "type": "string" - } - }, "CancelShipmentResponse": { "type": "object", "properties": { @@ -1890,7 +1883,6 @@ }, "ItemLevelFields": { "type": "object", - "description": "A list of item level fields.", "required": [ "AdditionalInputs", "Asin" @@ -2325,7 +2317,6 @@ }, "PackageDimension": { "type": "number", - "description": "Number representing the given package dimension.", "format": "double" }, "PackageDimensions": { @@ -2905,9 +2896,6 @@ "RequiresAdditionalSellerInputs": { "type": "boolean", "description": "When true, additional seller inputs are required." - }, - "Benefits": { - "$ref": "#/definitions/Benefits" } }, "description": "A shipping service offer made by a carrier." @@ -3074,7 +3062,6 @@ }, "Timestamp": { "type": "string", - "description": "Date-time formatted timestamp.", "format": "date-time" }, "TrackingId": { From 2771b440670560cf57797d24d72fb8382b9f0536 Mon Sep 17 00:00:00 2001 From: Gibran Waldron Date: Fri, 29 Mar 2024 15:02:38 -0700 Subject: [PATCH 122/340] Add redirect for FBA small and light API. --- .../fbaSmallandLight.json | 2271 ----------------- 1 file changed, 2271 deletions(-) delete mode 100644 models/fba-small-and-light-api-model/fbaSmallandLight.json diff --git a/models/fba-small-and-light-api-model/fbaSmallandLight.json b/models/fba-small-and-light-api-model/fbaSmallandLight.json deleted file mode 100644 index b5e5aac98..000000000 --- a/models/fba-small-and-light-api-model/fbaSmallandLight.json +++ /dev/null @@ -1,2271 +0,0 @@ -{ - "swagger": "2.0", - "info": { - "description": "The Selling Partner API for FBA Small and Light lets you help sellers manage their listings in the Small and Light program. The program reduces the cost of fulfilling orders for small and lightweight FBA inventory. You can enroll or remove items from the program and check item eligibility and enrollment status. You can also preview the estimated program fees charged to a seller for items sold while enrolled in the program. \n\n**Note:** The FBA Small and Light program sunset in the US and EU regions on **September 26, 2023**. The program will be deprecated in the JP region on **March 31, 2024** and sunset on **April 1, 2024**. APIs announcing deprecation will no longer be supported after their deprecation date. Calls to deprecated APIs will fail beginning on their sunset date. For more information, refer to [FBA Small and Light program deprecation](https://developer-docs.amazon.com/sp-api/changelog/fba-small-and-light-program-deprecation).", - "version": "v1", - "title": "Selling Partner API for FBA Small And Light", - "contact": { - "name": "Selling Partner API Developer Support", - "url": "https://sellercentral.amazon.com/gp/mws/contactus.html" - }, - "license": { - "name": "Apache License 2.0", - "url": "http://www.apache.org/licenses/LICENSE-2.0" - } - }, - "host": "sellingpartnerapi-na.amazon.com", - "schemes": [ - "https" - ], - "consumes": [ - "application/json" - ], - "produces": [ - "application/json" - ], - "paths": { - "/fba/smallAndLight/v1/enrollments/{sellerSKU}": { - "get": { - "tags": [ - "smallAndLight" - ], - "description": "Returns the Small and Light enrollment status for the item indicated by the specified seller SKU in the specified marketplace.\n\n**Usage Plan:**\n\n| Rate (requests per second) | Burst |\n| ---- | ---- |\n| 2 | 10 |\n\nThe `x-amzn-RateLimit-Limit` response header returns the usage plan rate limits that were applied to the requested operation, when available. The table above indicates the default rate and burst values for this operation. Selling partners whose business demands require higher throughput may see higher rate and burst values than those shown here. For more information, see [Usage Plans and Rate Limits in the Selling Partner API](https://developer-docs.amazon.com/sp-api/docs/usage-plans-and-rate-limits-in-the-sp-api).", - "operationId": "getSmallAndLightEnrollmentBySellerSKU", - "deprecated": true, - "parameters": [ - { - "name": "sellerSKU", - "in": "path", - "description": "The seller SKU that identifies the item.", - "required": true, - "type": "string" - }, - { - "name": "marketplaceIds", - "in": "query", - "description": "The marketplace for which the enrollment status is retrieved. Note: Accepts a single marketplace only.", - "required": true, - "type": "array", - "items": { - "type": "string" - }, - "maxItems": 1 - } - ], - "responses": { - "200": { - "description": "Success.", - "schema": { - "$ref": "#/definitions/SmallAndLightEnrollment" - }, - "headers": { - "x-amzn-RateLimit-Limit": { - "type": "string", - "description": "Your rate limit (requests per second) for this operation." - }, - "x-amzn-RequestId": { - "type": "string", - "description": "Unique request reference identifier." - } - }, - "x-amzn-api-sandbox": { - "static": [ - { - "request": { - "parameters": { - "sellerSKU": { - "value": "SKU_ENROLLED_IN_SMALL_AND_LIGHT" - }, - "marketplaceIds": { - "value": [ - "ATVPDKIKX0DER" - ] - } - } - }, - "response": { - "marketplaceId": "ATVPDKIKX0DER", - "sellerSKU": "SKU_ENROLLED_IN_SMALL_AND_LIGHT", - "status": "ENROLLED" - } - } - ] - } - }, - "400": { - "description": "Request has missing or invalid parameters and cannot be parsed.", - "schema": { - "$ref": "#/definitions/ErrorList" - }, - "headers": { - "x-amzn-RateLimit-Limit": { - "type": "string", - "description": "Your rate limit (requests per second) for this operation." - }, - "x-amzn-RequestId": { - "type": "string", - "description": "Unique request reference identifier." - } - }, - "x-amzn-api-sandbox": { - "static": [ - { - "request": { - "parameters": { - "sellerSKU": { - "value": "SKU_400" - }, - "marketplaceIds": { - "value": [ - "ATVPDKIKX0DER" - ] - } - } - }, - "response": { - "errors": [ - { - "code": "InvalidInput", - "message": "Invalid input." - } - ] - } - } - ] - } - }, - "403": { - "description": "Indicates that access to the resource is forbidden. Possible reasons include Access Denied, Unauthorized, Expired Token, or Invalid Signature.", - "schema": { - "$ref": "#/definitions/ErrorList" - }, - "headers": { - "x-amzn-RequestId": { - "type": "string", - "description": "Unique request reference identifier." - } - }, - "x-amzn-api-sandbox": { - "static": [ - { - "request": { - "parameters": { - "sellerSKU": { - "value": "SKU_403" - }, - "marketplaceIds": { - "value": [ - "ATVPDKIKX0DER" - ] - } - } - }, - "response": { - "errors": [ - { - "code": "Unauthorized", - "message": "Access to requested resource is denied." - } - ] - } - } - ] - } - }, - "404": { - "description": "The resource specified does not exist.", - "schema": { - "$ref": "#/definitions/ErrorList" - }, - "headers": { - "x-amzn-RateLimit-Limit": { - "type": "string", - "description": "Your rate limit (requests per second) for this operation." - }, - "x-amzn-RequestId": { - "type": "string", - "description": "Unique request reference identifier." - } - }, - "x-amzn-api-sandbox": { - "static": [ - { - "request": { - "parameters": { - "sellerSKU": { - "value": "SKU_404" - }, - "marketplaceIds": { - "value": [ - "ATVPDKIKX0DER" - ] - } - } - }, - "response": { - "errors": [ - { - "code": "NotFound", - "message": "Requested resource is not found" - } - ] - } - } - ] - } - }, - "413": { - "description": "The request size exceeded the maximum accepted size.", - "schema": { - "$ref": "#/definitions/ErrorList" - }, - "headers": { - "x-amzn-RateLimit-Limit": { - "type": "string", - "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." - }, - "x-amzn-RequestId": { - "type": "string", - "description": "Unique request reference identifier." - } - }, - "x-amzn-api-sandbox": { - "static": [ - { - "request": { - "parameters": { - "sellerSKU": { - "value": "SKU_413" - }, - "marketplaceIds": { - "value": [ - "ATVPDKIKX0DER" - ] - } - } - }, - "response": { - "errors": [ - { - "code": "PayloadTooLarge", - "message": "Payload of the request is too large." - } - ] - } - } - ] - } - }, - "415": { - "description": "The request payload is in an unsupported format.", - "schema": { - "$ref": "#/definitions/ErrorList" - }, - "headers": { - "x-amzn-RateLimit-Limit": { - "type": "string", - "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." - }, - "x-amzn-RequestId": { - "type": "string", - "description": "Unique request reference identifier." - } - }, - "x-amzn-api-sandbox": { - "static": [ - { - "request": { - "parameters": { - "sellerSKU": { - "value": "SKU_415" - }, - "marketplaceIds": { - "value": [ - "ATVPDKIKX0DER" - ] - } - } - }, - "response": { - "errors": [ - { - "code": "UnsupportedType", - "message": "The entity of the request is of unsupported type." - } - ] - } - } - ] - } - }, - "429": { - "description": "The frequency of requests was greater than allowed.", - "schema": { - "$ref": "#/definitions/ErrorList" - }, - "headers": { - "x-amzn-RateLimit-Limit": { - "type": "string", - "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." - }, - "x-amzn-RequestId": { - "type": "string", - "description": "Unique request reference identifier." - } - }, - "x-amzn-api-sandbox": { - "static": [ - { - "request": { - "parameters": { - "sellerSKU": { - "value": "SKU_429" - }, - "marketplaceIds": { - "value": [ - "ATVPDKIKX0DER" - ] - } - } - }, - "response": { - "errors": [ - { - "code": "TooManyRequests", - "message": "Total number of requests exceed your allowed limits." - } - ] - } - } - ] - } - }, - "500": { - "description": "An unexpected condition occurred that prevented the server from fulfilling the request.", - "schema": { - "$ref": "#/definitions/ErrorList" - }, - "headers": { - "x-amzn-RateLimit-Limit": { - "type": "string", - "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." - }, - "x-amzn-RequestId": { - "type": "string", - "description": "Unique request reference identifier." - } - }, - "x-amzn-api-sandbox": { - "static": [ - { - "request": { - "parameters": { - "sellerSKU": { - "value": "SKU_500" - }, - "marketplaceIds": { - "value": [ - "ATVPDKIKX0DER" - ] - } - } - }, - "response": { - "errors": [ - { - "code": "InternalServerError", - "message": "Server encountered an unexpected condition while processing your request." - } - ] - } - } - ] - } - }, - "503": { - "description": "Temporary overloading or maintenance of the server.", - "schema": { - "$ref": "#/definitions/ErrorList" - }, - "headers": { - "x-amzn-RateLimit-Limit": { - "type": "string", - "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." - }, - "x-amzn-RequestId": { - "type": "string", - "description": "Unique request reference identifier." - } - }, - "x-amzn-api-sandbox": { - "static": [ - { - "request": { - "parameters": { - "sellerSKU": { - "value": "SKU_503" - }, - "marketplaceIds": { - "value": [ - "ATVPDKIKX0DER" - ] - } - } - }, - "response": { - "errors": [ - { - "code": "ServiceUnavailable", - "message": "Server is temporarily unavailable." - } - ] - } - } - ] - } - } - } - }, - "put": { - "tags": [ - "smallAndLight" - ], - "description": "Enrolls the item indicated by the specified seller SKU in the Small and Light program in the specified marketplace. If the item is not eligible, the ineligibility reasons are returned.\n\n**Usage Plan:**\n\n| Rate (requests per second) | Burst |\n| ---- | ---- |\n| 2 | 5 |\n\nThe `x-amzn-RateLimit-Limit` response header returns the usage plan rate limits that were applied to the requested operation, when available. The table above indicates the default rate and burst values for this operation. Selling partners whose business demands require higher throughput may see higher rate and burst values than those shown here. For more information, see [Usage Plans and Rate Limits in the Selling Partner API](https://developer-docs.amazon.com/sp-api/docs/usage-plans-and-rate-limits-in-the-sp-api).", - "operationId": "putSmallAndLightEnrollmentBySellerSKU", - "deprecated": true, - "parameters": [ - { - "name": "sellerSKU", - "in": "path", - "description": "The seller SKU that identifies the item.", - "required": true, - "type": "string" - }, - { - "name": "marketplaceIds", - "in": "query", - "description": "The marketplace in which to enroll the item. Note: Accepts a single marketplace only.", - "required": true, - "type": "array", - "items": { - "type": "string" - }, - "maxItems": 1 - } - ], - "responses": { - "200": { - "description": "Success.", - "schema": { - "$ref": "#/definitions/SmallAndLightEnrollment" - }, - "headers": { - "x-amzn-RateLimit-Limit": { - "type": "string", - "description": "Your rate limit (requests per second) for this operation." - }, - "x-amzn-RequestId": { - "type": "string", - "description": "Unique request reference identifier." - } - }, - "x-amzn-api-sandbox": { - "static": [ - { - "request": { - "parameters": { - "sellerSKU": { - "value": "SKU_ELIGIBLE_FOR_SMALL_AND_LIGHT" - }, - "marketplaceIds": { - "value": [ - "ATVPDKIKX0DER" - ] - } - } - }, - "response": { - "marketplaceId": "ATVPDKIKX0DER", - "sellerSKU": "SKU_ELIGIBLE_FOR_SMALL_AND_LIGHT", - "status": "ENROLLED" - } - } - ] - } - }, - "400": { - "description": "Request has missing or invalid parameters and cannot be parsed.", - "schema": { - "$ref": "#/definitions/ErrorList" - }, - "headers": { - "x-amzn-RateLimit-Limit": { - "type": "string", - "description": "Your rate limit (requests per second) for this operation." - }, - "x-amzn-RequestId": { - "type": "string", - "description": "Unique request reference identifier." - } - }, - "x-amzn-api-sandbox": { - "static": [ - { - "request": { - "parameters": { - "sellerSKU": { - "value": "SKU_400" - }, - "marketplaceIds": { - "value": [ - "ATVPDKIKX0DER" - ] - } - } - }, - "response": { - "errors": [ - { - "code": "InvalidInput", - "message": "Invalid input." - } - ] - } - } - ] - } - }, - "403": { - "description": "Indicates that access to the resource is forbidden. Possible reasons include Access Denied, Unauthorized, Expired Token, or Invalid Signature.", - "schema": { - "$ref": "#/definitions/ErrorList" - }, - "headers": { - "x-amzn-RequestId": { - "type": "string", - "description": "Unique request reference identifier." - } - }, - "x-amzn-api-sandbox": { - "static": [ - { - "request": { - "parameters": { - "sellerSKU": { - "value": "SKU_403" - }, - "marketplaceIds": { - "value": [ - "ATVPDKIKX0DER" - ] - } - } - }, - "response": { - "errors": [ - { - "code": "Unauthorized", - "message": "Access to requested resource is denied." - } - ] - } - } - ] - } - }, - "404": { - "description": "The resource specified does not exist.", - "schema": { - "$ref": "#/definitions/ErrorList" - }, - "headers": { - "x-amzn-RateLimit-Limit": { - "type": "string", - "description": "Your rate limit (requests per second) for this operation." - }, - "x-amzn-RequestId": { - "type": "string", - "description": "Unique request reference identifier." - } - }, - "x-amzn-api-sandbox": { - "static": [ - { - "request": { - "parameters": { - "sellerSKU": { - "value": "SKU_404" - }, - "marketplaceIds": { - "value": [ - "ATVPDKIKX0DER" - ] - } - } - }, - "response": { - "errors": [ - { - "code": "NotFound", - "message": "Requested resource is not found" - } - ] - } - } - ] - } - }, - "413": { - "description": "The request size exceeded the maximum accepted size.", - "schema": { - "$ref": "#/definitions/ErrorList" - }, - "headers": { - "x-amzn-RateLimit-Limit": { - "type": "string", - "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." - }, - "x-amzn-RequestId": { - "type": "string", - "description": "Unique request reference identifier." - } - }, - "x-amzn-api-sandbox": { - "static": [ - { - "request": { - "parameters": { - "sellerSKU": { - "value": "SKU_413" - }, - "marketplaceIds": { - "value": [ - "ATVPDKIKX0DER" - ] - } - } - }, - "response": { - "errors": [ - { - "code": "PayloadTooLarge", - "message": "Payload of the request is too large." - } - ] - } - } - ] - } - }, - "415": { - "description": "The request payload is in an unsupported format.", - "schema": { - "$ref": "#/definitions/ErrorList" - }, - "headers": { - "x-amzn-RateLimit-Limit": { - "type": "string", - "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." - }, - "x-amzn-RequestId": { - "type": "string", - "description": "Unique request reference identifier." - } - }, - "x-amzn-api-sandbox": { - "static": [ - { - "request": { - "parameters": { - "sellerSKU": { - "value": "SKU_415" - }, - "marketplaceIds": { - "value": [ - "ATVPDKIKX0DER" - ] - } - } - }, - "response": { - "errors": [ - { - "code": "UnsupportedType", - "message": "The entity of the request is of unsupported type." - } - ] - } - } - ] - } - }, - "429": { - "description": "The frequency of requests was greater than allowed.", - "schema": { - "$ref": "#/definitions/ErrorList" - }, - "headers": { - "x-amzn-RateLimit-Limit": { - "type": "string", - "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." - }, - "x-amzn-RequestId": { - "type": "string", - "description": "Unique request reference identifier." - } - }, - "x-amzn-api-sandbox": { - "static": [ - { - "request": { - "parameters": { - "sellerSKU": { - "value": "SKU_429" - }, - "marketplaceIds": { - "value": [ - "ATVPDKIKX0DER" - ] - } - } - }, - "response": { - "errors": [ - { - "code": "TooManyRequests", - "message": "Total number of requests exceed your allowed limits." - } - ] - } - } - ] - } - }, - "500": { - "description": "An unexpected condition occurred that prevented the server from fulfilling the request.", - "schema": { - "$ref": "#/definitions/ErrorList" - }, - "headers": { - "x-amzn-RateLimit-Limit": { - "type": "string", - "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." - }, - "x-amzn-RequestId": { - "type": "string", - "description": "Unique request reference identifier." - } - }, - "x-amzn-api-sandbox": { - "static": [ - { - "request": { - "parameters": { - "sellerSKU": { - "value": "SKU_500" - }, - "marketplaceIds": { - "value": [ - "ATVPDKIKX0DER" - ] - } - } - }, - "response": { - "errors": [ - { - "code": "InternalServerError", - "message": "Server encountered an unexpected condition while processing your request." - } - ] - } - } - ] - } - }, - "503": { - "description": "Temporary overloading or maintenance of the server.", - "schema": { - "$ref": "#/definitions/ErrorList" - }, - "headers": { - "x-amzn-RateLimit-Limit": { - "type": "string", - "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." - }, - "x-amzn-RequestId": { - "type": "string", - "description": "Unique request reference identifier." - } - }, - "x-amzn-api-sandbox": { - "static": [ - { - "request": { - "parameters": { - "sellerSKU": { - "value": "SKU_503" - }, - "marketplaceIds": { - "value": [ - "ATVPDKIKX0DER" - ] - } - } - }, - "response": { - "errors": [ - { - "code": "ServiceUnavailable", - "message": "Server is temporarily unavailable." - } - ] - } - } - ] - } - } - } - }, - "delete": { - "tags": [ - "smallAndLight" - ], - "description": "Removes the item indicated by the specified seller SKU from the Small and Light program in the specified marketplace. If the item is not eligible for disenrollment, the ineligibility reasons are returned.\n\n**Usage Plan:**\n\n| Rate (requests per second) | Burst |\n| ---- | ---- |\n| 2 | 5 |\n\nThe `x-amzn-RateLimit-Limit` response header returns the usage plan rate limits that were applied to the requested operation, when available. The table above indicates the default rate and burst values for this operation. Selling partners whose business demands require higher throughput may see higher rate and burst values than those shown here. For more information, see [Usage Plans and Rate Limits in the Selling Partner API](https://developer-docs.amazon.com/sp-api/docs/usage-plans-and-rate-limits-in-the-sp-api).", - "operationId": "deleteSmallAndLightEnrollmentBySellerSKU", - "deprecated": true, - "parameters": [ - { - "name": "sellerSKU", - "in": "path", - "description": "The seller SKU that identifies the item.", - "required": true, - "type": "string" - }, - { - "name": "marketplaceIds", - "in": "query", - "description": "The marketplace in which to remove the item from the Small and Light program. Note: Accepts a single marketplace only.", - "required": true, - "type": "array", - "items": { - "type": "string" - }, - "maxItems": 1 - } - ], - "responses": { - "204": { - "description": "Success.", - "headers": { - "x-amzn-RateLimit-Limit": { - "type": "string", - "description": "Your rate limit (requests per second) for this operation." - }, - "x-amzn-RequestId": { - "type": "string", - "description": "Unique request reference identifier." - } - }, - "x-amzn-api-sandbox": { - "static": [ - { - "request": { - "parameters": { - "sellerSKU": { - "value": "SKU_ENROLLED_FOR_SMALL_AND_LIGHT" - }, - "marketplaceIds": { - "value": [ - "ATVPDKIKX0DER" - ] - } - } - }, - "response": {} - } - ] - } - }, - "400": { - "description": "Request has missing or invalid parameters and cannot be parsed.", - "schema": { - "$ref": "#/definitions/ErrorList" - }, - "headers": { - "x-amzn-RateLimit-Limit": { - "type": "string", - "description": "Your rate limit (requests per second) for this operation." - }, - "x-amzn-RequestId": { - "type": "string", - "description": "Unique request reference identifier." - } - }, - "x-amzn-api-sandbox": { - "static": [ - { - "request": { - "parameters": { - "sellerSKU": { - "value": "SKU_400" - }, - "marketplaceIds": { - "value": [ - "ATVPDKIKX0DER" - ] - } - } - }, - "response": { - "errors": [ - { - "code": "InvalidInput", - "message": "Invalid input." - } - ] - } - } - ] - } - }, - "403": { - "description": "Indicates that access to the resource is forbidden. Possible reasons include Access Denied, Unauthorized, Expired Token, or Invalid Signature.", - "schema": { - "$ref": "#/definitions/ErrorList" - }, - "headers": { - "x-amzn-RequestId": { - "type": "string", - "description": "Unique request reference identifier." - } - }, - "x-amzn-api-sandbox": { - "static": [ - { - "request": { - "parameters": { - "sellerSKU": { - "value": "SKU_403" - }, - "marketplaceIds": { - "value": [ - "ATVPDKIKX0DER" - ] - } - } - }, - "response": { - "errors": [ - { - "code": "Unauthorized", - "message": "Access to requested resource is denied." - } - ] - } - } - ] - } - }, - "404": { - "description": "The resource specified does not exist.", - "schema": { - "$ref": "#/definitions/ErrorList" - }, - "headers": { - "x-amzn-RateLimit-Limit": { - "type": "string", - "description": "Your rate limit (requests per second) for this operation." - }, - "x-amzn-RequestId": { - "type": "string", - "description": "Unique request reference identifier." - } - }, - "x-amzn-api-sandbox": { - "static": [ - { - "request": { - "parameters": { - "sellerSKU": { - "value": "SKU_404" - }, - "marketplaceIds": { - "value": [ - "ATVPDKIKX0DER" - ] - } - } - }, - "response": { - "errors": [ - { - "code": "NotFound", - "message": "Requested resource is not found" - } - ] - } - } - ] - } - }, - "413": { - "description": "The request size exceeded the maximum accepted size.", - "schema": { - "$ref": "#/definitions/ErrorList" - }, - "headers": { - "x-amzn-RateLimit-Limit": { - "type": "string", - "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." - }, - "x-amzn-RequestId": { - "type": "string", - "description": "Unique request reference identifier." - } - }, - "x-amzn-api-sandbox": { - "static": [ - { - "request": { - "parameters": { - "sellerSKU": { - "value": "SKU_413" - }, - "marketplaceIds": { - "value": [ - "ATVPDKIKX0DER" - ] - } - } - }, - "response": { - "errors": [ - { - "code": "PayloadTooLarge", - "message": "Payload of the request is too large." - } - ] - } - } - ] - } - }, - "415": { - "description": "The request payload is in an unsupported format.", - "schema": { - "$ref": "#/definitions/ErrorList" - }, - "headers": { - "x-amzn-RateLimit-Limit": { - "type": "string", - "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." - }, - "x-amzn-RequestId": { - "type": "string", - "description": "Unique request reference identifier." - } - }, - "x-amzn-api-sandbox": { - "static": [ - { - "request": { - "parameters": { - "sellerSKU": { - "value": "SKU_415" - }, - "marketplaceIds": { - "value": [ - "ATVPDKIKX0DER" - ] - } - } - }, - "response": { - "errors": [ - { - "code": "UnsupportedType", - "message": "The entity of the request is of unsupported type." - } - ] - } - } - ] - } - }, - "429": { - "description": "The frequency of requests was greater than allowed.", - "schema": { - "$ref": "#/definitions/ErrorList" - }, - "headers": { - "x-amzn-RateLimit-Limit": { - "type": "string", - "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." - }, - "x-amzn-RequestId": { - "type": "string", - "description": "Unique request reference identifier." - } - }, - "x-amzn-api-sandbox": { - "static": [ - { - "request": { - "parameters": { - "sellerSKU": { - "value": "SKU_429" - }, - "marketplaceIds": { - "value": [ - "ATVPDKIKX0DER" - ] - } - } - }, - "response": { - "errors": [ - { - "code": "TooManyRequests", - "message": "Total number of requests exceed your allowed limits." - } - ] - } - } - ] - } - }, - "500": { - "description": "An unexpected condition occurred that prevented the server from fulfilling the request.", - "schema": { - "$ref": "#/definitions/ErrorList" - }, - "headers": { - "x-amzn-RateLimit-Limit": { - "type": "string", - "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." - }, - "x-amzn-RequestId": { - "type": "string", - "description": "Unique request reference identifier." - } - }, - "x-amzn-api-sandbox": { - "static": [ - { - "request": { - "parameters": { - "sellerSKU": { - "value": "SKU_500" - }, - "marketplaceIds": { - "value": [ - "ATVPDKIKX0DER" - ] - } - } - }, - "response": { - "errors": [ - { - "code": "InternalServerError", - "message": "Server encountered an unexpected condition while processing your request." - } - ] - } - } - ] - } - }, - "503": { - "description": "Temporary overloading or maintenance of the server.", - "schema": { - "$ref": "#/definitions/ErrorList" - }, - "headers": { - "x-amzn-RateLimit-Limit": { - "type": "string", - "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." - }, - "x-amzn-RequestId": { - "type": "string", - "description": "Unique request reference identifier." - } - }, - "x-amzn-api-sandbox": { - "static": [ - { - "request": { - "parameters": { - "sellerSKU": { - "value": "SKU_503" - }, - "marketplaceIds": { - "value": [ - "ATVPDKIKX0DER" - ] - } - } - }, - "response": { - "errors": [ - { - "code": "ServiceUnavailable", - "message": "Server is temporarily unavailable." - } - ] - } - } - ] - } - } - } - } - }, - "/fba/smallAndLight/v1/eligibilities/{sellerSKU}": { - "get": { - "tags": [ - "smallAndLight" - ], - "description": "Returns the Small and Light program eligibility status of the item indicated by the specified seller SKU in the specified marketplace. If the item is not eligible, the ineligibility reasons are returned. **Note:** The parameters associated with this operation may contain special characters that must be encoded to successfully call the API. To avoid errors with SKUs when encoding URLs, refer to [URL Encoding](https://developer-docs.amazon.com/sp-api/docs/url-encoding).\n\n**Usage Plan:**\n\n| Rate (requests per second) | Burst |\n| ---- | ---- |\n| 2 | 10 |\n\nThe `x-amzn-RateLimit-Limit` response header returns the usage plan rate limits that were applied to the requested operation, when available. The table above indicates the default rate and burst values for this operation. Selling partners whose business demands require higher throughput may see higher rate and burst values than those shown here. For more information, see [Usage Plans and Rate Limits in the Selling Partner API](https://developer-docs.amazon.com/sp-api/docs/usage-plans-and-rate-limits-in-the-sp-api).", - "operationId": "getSmallAndLightEligibilityBySellerSKU", - "deprecated": true, - "parameters": [ - { - "name": "sellerSKU", - "in": "path", - "description": "The seller SKU that identifies the item.", - "required": true, - "type": "string" - }, - { - "name": "marketplaceIds", - "in": "query", - "description": "The marketplace for which the eligibility status is retrieved. NOTE: Accepts a single marketplace only.", - "required": true, - "type": "array", - "items": { - "type": "string" - }, - "maxItems": 1 - } - ], - "responses": { - "200": { - "description": "Success.", - "schema": { - "$ref": "#/definitions/SmallAndLightEligibility" - }, - "headers": { - "x-amzn-RateLimit-Limit": { - "type": "string", - "description": "Your rate limit (requests per second) for this operation." - }, - "x-amzn-RequestId": { - "type": "string", - "description": "Unique request reference identifier." - } - }, - "x-amzn-api-sandbox": { - "static": [ - { - "request": { - "parameters": { - "sellerSKU": { - "value": "SKU_ELIGIBLE_FOR_SMALL_AND_LIGHT" - }, - "marketplaceIds": { - "value": [ - "ATVPDKIKX0DER" - ] - } - } - }, - "response": { - "marketplaceId": "ATVPDKIKX0DER", - "sellerSKU": "SKU_ELIGIBLE_FOR_SMALL_AND_LIGHT", - "status": "ELIGIBLE" - } - } - ] - } - }, - "400": { - "description": "Request has missing or invalid parameters and cannot be parsed.", - "schema": { - "$ref": "#/definitions/ErrorList" - }, - "headers": { - "x-amzn-RateLimit-Limit": { - "type": "string", - "description": "Your rate limit (requests per second) for this operation." - }, - "x-amzn-RequestId": { - "type": "string", - "description": "Unique request reference identifier." - } - }, - "x-amzn-api-sandbox": { - "static": [ - { - "request": { - "parameters": { - "sellerSKU": { - "value": "SKU_400" - }, - "marketplaceIds": { - "value": [ - "ATVPDKIKX0DER" - ] - } - } - }, - "response": { - "errors": [ - { - "code": "InvalidInput", - "message": "Invalid input." - } - ] - } - } - ] - } - }, - "403": { - "description": "Indicates that access to the resource is forbidden. Possible reasons include Access Denied, Unauthorized, Expired Token, or Invalid Signature.", - "schema": { - "$ref": "#/definitions/ErrorList" - }, - "headers": { - "x-amzn-RequestId": { - "type": "string", - "description": "Unique request reference identifier." - } - }, - "x-amzn-api-sandbox": { - "static": [ - { - "request": { - "parameters": { - "sellerSKU": { - "value": "SKU_403" - }, - "marketplaceIds": { - "value": [ - "ATVPDKIKX0DER" - ] - } - } - }, - "response": { - "errors": [ - { - "code": "Unauthorized", - "message": "Access to requested resource is denied." - } - ] - } - } - ] - } - }, - "404": { - "description": "The resource specified does not exist.", - "schema": { - "$ref": "#/definitions/ErrorList" - }, - "headers": { - "x-amzn-RateLimit-Limit": { - "type": "string", - "description": "Your rate limit (requests per second) for this operation." - }, - "x-amzn-RequestId": { - "type": "string", - "description": "Unique request reference identifier." - } - }, - "x-amzn-api-sandbox": { - "static": [ - { - "request": { - "parameters": { - "sellerSKU": { - "value": "SKU_404" - }, - "marketplaceIds": { - "value": [ - "ATVPDKIKX0DER" - ] - } - } - }, - "response": { - "errors": [ - { - "code": "NotFound", - "message": "Requested resource is not found" - } - ] - } - } - ] - } - }, - "413": { - "description": "The request size exceeded the maximum accepted size.", - "schema": { - "$ref": "#/definitions/ErrorList" - }, - "headers": { - "x-amzn-RateLimit-Limit": { - "type": "string", - "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." - }, - "x-amzn-RequestId": { - "type": "string", - "description": "Unique request reference identifier." - } - }, - "x-amzn-api-sandbox": { - "static": [ - { - "request": { - "parameters": { - "sellerSKU": { - "value": "SKU_413" - }, - "marketplaceIds": { - "value": [ - "ATVPDKIKX0DER" - ] - } - } - }, - "response": { - "errors": [ - { - "code": "PayloadTooLarge", - "message": "Payload of the request is too large." - } - ] - } - } - ] - } - }, - "415": { - "description": "The request payload is in an unsupported format.", - "schema": { - "$ref": "#/definitions/ErrorList" - }, - "headers": { - "x-amzn-RateLimit-Limit": { - "type": "string", - "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." - }, - "x-amzn-RequestId": { - "type": "string", - "description": "Unique request reference identifier." - } - }, - "x-amzn-api-sandbox": { - "static": [ - { - "request": { - "parameters": { - "sellerSKU": { - "value": "SKU_415" - }, - "marketplaceIds": { - "value": [ - "ATVPDKIKX0DER" - ] - } - } - }, - "response": { - "errors": [ - { - "code": "UnsupportedType", - "message": "The entity of the request is of unsupported type." - } - ] - } - } - ] - } - }, - "429": { - "description": "The frequency of requests was greater than allowed.", - "schema": { - "$ref": "#/definitions/ErrorList" - }, - "headers": { - "x-amzn-RateLimit-Limit": { - "type": "string", - "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." - }, - "x-amzn-RequestId": { - "type": "string", - "description": "Unique request reference identifier." - } - }, - "x-amzn-api-sandbox": { - "static": [ - { - "request": { - "parameters": { - "sellerSKU": { - "value": "SKU_429" - }, - "marketplaceIds": { - "value": [ - "ATVPDKIKX0DER" - ] - } - } - }, - "response": { - "errors": [ - { - "code": "TooManyRequests", - "message": "Total number of requests exceed your allowed limits." - } - ] - } - } - ] - } - }, - "500": { - "description": "An unexpected condition occurred that prevented the server from fulfilling the request.", - "schema": { - "$ref": "#/definitions/ErrorList" - }, - "headers": { - "x-amzn-RateLimit-Limit": { - "type": "string", - "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." - }, - "x-amzn-RequestId": { - "type": "string", - "description": "Unique request reference identifier." - } - }, - "x-amzn-api-sandbox": { - "static": [ - { - "request": { - "parameters": { - "sellerSKU": { - "value": "SKU_500" - }, - "marketplaceIds": { - "value": [ - "ATVPDKIKX0DER" - ] - } - } - }, - "response": { - "errors": [ - { - "code": "InternalServerError", - "message": "Server encountered an unexpected condition while processing your request." - } - ] - } - } - ] - } - }, - "503": { - "description": "Temporary overloading or maintenance of the server.", - "schema": { - "$ref": "#/definitions/ErrorList" - }, - "headers": { - "x-amzn-RateLimit-Limit": { - "type": "string", - "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." - }, - "x-amzn-RequestId": { - "type": "string", - "description": "Unique request reference identifier." - } - }, - "x-amzn-api-sandbox": { - "static": [ - { - "request": { - "parameters": { - "sellerSKU": { - "value": "SKU_503" - }, - "marketplaceIds": { - "value": [ - "ATVPDKIKX0DER" - ] - } - } - }, - "response": { - "errors": [ - { - "code": "ServiceUnavailable", - "message": "Server is temporarily unavailable." - } - ] - } - } - ] - } - } - } - } - }, - "/fba/smallAndLight/v1/feePreviews": { - "post": { - "tags": [ - "smallAndLight" - ], - "description": "Returns the Small and Light fee estimates for the specified items. You must include a marketplaceId parameter to retrieve the proper fee estimates for items to be sold in that marketplace. The ordering of items in the response will mirror the order of the items in the request. Duplicate ASIN/price combinations are removed.\n\n**Usage Plan:**\n\n| Rate (requests per second) | Burst |\n| ---- | ---- |\n| 1 | 3 |\n\nThe `x-amzn-RateLimit-Limit` response header returns the usage plan rate limits that were applied to the requested operation, when available. The table above indicates the default rate and burst values for this operation. Selling partners whose business demands require higher throughput may see higher rate and burst values than those shown here. For more information, see [Usage Plans and Rate Limits in the Selling Partner API](https://developer-docs.amazon.com/sp-api/docs/usage-plans-and-rate-limits-in-the-sp-api).", - "operationId": "getSmallAndLightFeePreview", - "deprecated": true, - "parameters": [ - { - "in": "body", - "name": "body", - "required": true, - "schema": { - "$ref": "#/definitions/SmallAndLightFeePreviewRequest" - } - } - ], - "responses": { - "200": { - "description": "Success.", - "schema": { - "$ref": "#/definitions/SmallAndLightFeePreviews" - }, - "headers": { - "x-amzn-RateLimit-Limit": { - "type": "string", - "description": "Your rate limit (requests per second) for this operation." - }, - "x-amzn-RequestId": { - "type": "string", - "description": "Unique request reference identifier." - } - }, - "x-amzn-api-sandbox": { - "static": [ - { - "request": { - "parameters": { - "body": { - "value": { - "marketplaceId": "ATVPDKIKX0DER", - "items": [ - { - "asin": "B076ZL9PB5", - "price": { - "currencyCode": "USD", - "amount": 6.5 - } - } - ] - } - } - } - }, - "response": { - "data": [ - { - "asin": "B076ZL9PB5", - "price": { - "amount": 6.5, - "currencyCode": "USD" - }, - "feeBreakdown": [ - { - "feeType": "FBAPerUnitFulfillmentFee", - "feeCharge": { - "amount": 0.75, - "currencyCode": "USD" - } - }, - { - "feeType": "FBAPerOrderFulfillmentFee", - "feeCharge": { - "amount": 1, - "currencyCode": "USD" - } - }, - { - "feeType": "FBAWeightBasedFee", - "feeCharge": { - "amount": 1.1, - "currencyCode": "USD" - } - }, - { - "feeType": "Commission", - "feeCharge": { - "amount": 0.98, - "currencyCode": "USD" - } - } - ], - "totalFees": { - "amount": 3.83, - "currencyCode": "USD" - }, - "errors": [] - } - ] - } - } - ] - } - }, - "400": { - "description": "Request has missing or invalid parameters and cannot be parsed.", - "schema": { - "$ref": "#/definitions/ErrorList" - }, - "headers": { - "x-amzn-RateLimit-Limit": { - "type": "string", - "description": "Your rate limit (requests per second) for this operation." - }, - "x-amzn-RequestId": { - "type": "string", - "description": "Unique request reference identifier." - } - }, - "x-amzn-api-sandbox": { - "static": [ - { - "request": { - "parameters": { - "body": { - "value": { - "marketplaceId": "TEST_CASE_400", - "items": [] - } - } - } - }, - "response": { - "errors": [ - { - "code": "InvalidInput", - "message": "Invalid input." - } - ] - } - } - ] - } - }, - "401": { - "description": "The request's Authorization header is not formatted correctly or does not contain a valid token.", - "schema": { - "$ref": "#/definitions/ErrorList" - }, - "headers": { - "x-amzn-RateLimit-Limit": { - "type": "string", - "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." - }, - "x-amzn-RequestId": { - "type": "string", - "description": "Unique request reference identifier." - } - }, - "x-amzn-api-sandbox": { - "static": [ - { - "request": { - "parameters": { - "body": { - "value": { - "marketplaceId": "TEST_CASE_401", - "items": [] - } - } - } - }, - "response": { - "errors": [ - { - "code": "Unauthorized", - "message": "Access to requested resource is denied." - } - ] - } - } - ] - } - }, - "403": { - "description": "Indicates that access to the resource is forbidden. Possible reasons include Access Denied, Unauthorized, Expired Token, or Invalid Signature.", - "schema": { - "$ref": "#/definitions/ErrorList" - }, - "headers": { - "x-amzn-RequestId": { - "type": "string", - "description": "Unique request reference identifier." - } - }, - "x-amzn-api-sandbox": { - "static": [ - { - "request": { - "parameters": { - "body": { - "value": { - "marketplaceId": "TEST_CASE_403", - "items": [] - } - } - } - }, - "response": { - "errors": [ - { - "code": "Unauthorized", - "message": "Access to requested resource is denied." - } - ] - } - } - ] - } - }, - "404": { - "description": "The resource specified does not exist.", - "schema": { - "$ref": "#/definitions/ErrorList" - }, - "headers": { - "x-amzn-RateLimit-Limit": { - "type": "string", - "description": "Your rate limit (requests per second) for this operation." - }, - "x-amzn-RequestId": { - "type": "string", - "description": "Unique request reference identifier." - } - }, - "x-amzn-api-sandbox": { - "static": [ - { - "request": { - "parameters": { - "body": { - "value": { - "marketplaceId": "TEST_CASE_404", - "items": [] - } - } - } - }, - "response": { - "errors": [ - { - "code": "NotFound", - "message": "The requested resource doesn't exist." - } - ] - } - } - ] - } - }, - "429": { - "description": "The frequency of requests was greater than allowed.", - "schema": { - "$ref": "#/definitions/ErrorList" - }, - "headers": { - "x-amzn-RateLimit-Limit": { - "type": "string", - "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." - }, - "x-amzn-RequestId": { - "type": "string", - "description": "Unique request reference identifier." - } - }, - "x-amzn-api-sandbox": { - "static": [ - { - "request": { - "parameters": { - "body": { - "value": { - "marketplaceId": "TEST_CASE_429", - "items": [] - } - } - } - }, - "response": { - "errors": [ - { - "code": "QuotaExceeded", - "message": "You exceeded your quota for the requested resource." - } - ] - } - } - ] - } - }, - "500": { - "description": "An unexpected condition occurred that prevented the server from fulfilling the request.", - "schema": { - "$ref": "#/definitions/ErrorList" - }, - "headers": { - "x-amzn-RateLimit-Limit": { - "type": "string", - "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." - }, - "x-amzn-RequestId": { - "type": "string", - "description": "Unique request reference identifier." - } - }, - "x-amzn-api-sandbox": { - "static": [ - { - "request": { - "parameters": { - "body": { - "value": { - "marketplaceId": "TEST_CASE_500", - "items": [] - } - } - } - }, - "response": { - "errors": [ - { - "code": "InternalFailure", - "message": "We encountered an internal error. Please try again." - } - ] - } - } - ] - } - }, - "503": { - "description": "Temporary overloading or maintenance of the server.", - "schema": { - "$ref": "#/definitions/ErrorList" - }, - "headers": { - "x-amzn-RateLimit-Limit": { - "type": "string", - "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." - }, - "x-amzn-RequestId": { - "type": "string", - "description": "Unique request reference identifier." - } - }, - "x-amzn-api-sandbox": { - "static": [ - { - "request": { - "parameters": { - "body": { - "value": { - "marketplaceId": "TEST_CASE_503", - "items": [] - } - } - } - }, - "response": { - "errors": [ - { - "code": "ServiceUnavailable", - "message": "Service is temporarily unavailable. Please try again." - } - ] - } - } - ] - } - } - } - } - } - }, - "definitions": { - "MarketplaceId": { - "type": "string", - "description": "A marketplace identifier." - }, - "SellerSKU": { - "type": "string", - "description": "Identifies an item in the given marketplace. SellerSKU is qualified by the seller's SellerId, which is included with every operation that you submit." - }, - "Error": { - "type": "object", - "required": [ - "code", - "message" - ], - "properties": { - "code": { - "type": "string", - "description": "An error code that identifies the type of error that occurred." - }, - "message": { - "type": "string", - "description": "A message that describes the error condition." - }, - "details": { - "type": "string", - "description": "Additional details that can help the caller understand or fix the issue." - } - }, - "description": "Error response returned when the request is unsuccessful." - }, - "ErrorList": { - "type": "object", - "properties": { - "errors": { - "type": "array", - "items": { - "$ref": "#/definitions/Error" - } - } - }, - "description": "A list of error responses returned when a request is unsuccessful." - }, - "SmallAndLightEnrollmentStatus": { - "type": "string", - "description": "The Small and Light enrollment status of the item.", - "enum": [ - "ENROLLED", - "NOT_ENROLLED" - ], - "x-docgen-enum-table-extension": [ - { - "value": "ENROLLED", - "description": "The Small and Light enrollment status is enrolled." - }, - { - "value": "NOT_ENROLLED", - "description": "The Small and Light enrollment status is not enrolled." - } - ] - }, - "SmallAndLightEligibilityStatus": { - "type": "string", - "description": "The Small and Light eligibility status of the item.", - "enum": [ - "ELIGIBLE", - "NOT_ELIGIBLE" - ], - "x-docgen-enum-table-extension": [ - { - "value": "ELIGIBLE", - "description": "The Small and Light eligibility status is eligible." - }, - { - "value": "NOT_ELIGIBLE", - "description": "The Small and Light eligibility status is not eligible." - } - ] - }, - "SmallAndLightEnrollment": { - "type": "object", - "required": [ - "marketplaceId", - "sellerSKU", - "status" - ], - "properties": { - "marketplaceId": { - "$ref": "#/definitions/MarketplaceId" - }, - "sellerSKU": { - "$ref": "#/definitions/SellerSKU" - }, - "status": { - "$ref": "#/definitions/SmallAndLightEnrollmentStatus" - } - }, - "description": "The Small and Light enrollment status of the item indicated by the specified seller SKU." - }, - "SmallAndLightEligibility": { - "type": "object", - "required": [ - "marketplaceId", - "sellerSKU", - "status" - ], - "properties": { - "marketplaceId": { - "$ref": "#/definitions/MarketplaceId" - }, - "sellerSKU": { - "$ref": "#/definitions/SellerSKU" - }, - "status": { - "$ref": "#/definitions/SmallAndLightEligibilityStatus" - } - }, - "description": "The Small and Light eligibility status of the item indicated by the specified seller SKU." - }, - "SmallAndLightFeePreviewRequest": { - "type": "object", - "required": [ - "items", - "marketplaceId" - ], - "properties": { - "marketplaceId": { - "$ref": "#/definitions/MarketplaceId" - }, - "items": { - "type": "array", - "description": "A list of items for which to retrieve fee estimates (limit: 25).", - "items": { - "$ref": "#/definitions/Item" - }, - "maxItems": 25 - } - }, - "description": "Request schema for submitting items for which to retrieve fee estimates." - }, - "SmallAndLightFeePreviews": { - "type": "object", - "properties": { - "data": { - "type": "array", - "description": "A list of fee estimates for the requested items. The order of the fee estimates will follow the same order as the items in the request, with duplicates removed.", - "items": { - "$ref": "#/definitions/FeePreview" - } - } - } - }, - "Item": { - "type": "object", - "required": [ - "asin", - "price" - ], - "properties": { - "asin": { - "type": "string", - "description": "The Amazon Standard Identification Number (ASIN) value used to identify the item." - }, - "price": { - "description": "The price that the seller plans to charge for the item.", - "$ref": "#/definitions/MoneyType" - } - }, - "description": "An item to be sold." - }, - "FeePreview": { - "type": "object", - "properties": { - "asin": { - "type": "string", - "description": "The Amazon Standard Identification Number (ASIN) value used to identify the item." - }, - "price": { - "description": "The price that the seller plans to charge for the item.", - "$ref": "#/definitions/MoneyType" - }, - "feeBreakdown": { - "type": "array", - "description": "A list of the Small and Light fees for the item.", - "items": { - "$ref": "#/definitions/FeeLineItem" - } - }, - "totalFees": { - "description": "The total fees charged if the item participated in the Small and Light program.", - "$ref": "#/definitions/MoneyType" - }, - "errors": { - "type": "array", - "description": "One or more unexpected errors occurred during the getSmallAndLightFeePreview operation.", - "items": { - "$ref": "#/definitions/Error" - } - } - }, - "description": "The fee estimate for a specific item." - }, - "FeeLineItem": { - "type": "object", - "required": [ - "feeCharge", - "feeType" - ], - "properties": { - "feeType": { - "type": "string", - "description": "The type of fee charged to the seller.", - "enum": [ - "FBAWeightBasedFee", - "FBAPerOrderFulfillmentFee", - "FBAPerUnitFulfillmentFee", - "Commission" - ], - "x-docgen-enum-table-extension": [ - { - "value": "FBAWeightBasedFee", - "description": "The FBA weight-based fee (weight handling)." - }, - { - "value": "FBAPerOrderFulfillmentFee", - "description": "The FBA per-order fulfillment fee (order handling)." - }, - { - "value": "FBAPerUnitFulfillmentFee", - "description": "The FBA fulfillment fee (Pick & Pack)." - }, - { - "value": "Commission", - "description": "The commission - referral fee." - } - ] - }, - "feeCharge": { - "description": "Amount charged to the seller for the specific fee type.", - "$ref": "#/definitions/MoneyType" - } - }, - "description": "Fee details for a specific fee." - }, - "MoneyType": { - "type": "object", - "properties": { - "currencyCode": { - "type": "string", - "description": "The currency code in ISO 4217 format." - }, - "amount": { - "type": "number", - "description": "The monetary value." - } - } - } - } -} \ No newline at end of file From 104a766f1e9bf0b89723391c77148c88a53b0bb6 Mon Sep 17 00:00:00 2001 From: Jack Evoniuk Date: Mon, 1 Apr 2024 12:08:37 -0700 Subject: [PATCH 123/340] Add Fulfillment Inbound v2024 model --- .../fulfillmentInboundv2024-03-20.json | 9875 +++++++++++++++++ 1 file changed, 9875 insertions(+) create mode 100644 models/fulfillment-inbound-api-model/fulfillmentInboundv2024-03-20.json diff --git a/models/fulfillment-inbound-api-model/fulfillmentInboundv2024-03-20.json b/models/fulfillment-inbound-api-model/fulfillmentInboundv2024-03-20.json new file mode 100644 index 000000000..e06624036 --- /dev/null +++ b/models/fulfillment-inbound-api-model/fulfillmentInboundv2024-03-20.json @@ -0,0 +1,9875 @@ +{ + "swagger": "2.0", + "info": { + "contact": { + "name": "Selling Partner API Developer Support", + "url": "https://sellercentral.amazon.com/gp/mws/contactus.html" + }, + "description": "The Selling Partner API for Fulfillment By Amazon (FBA) Inbound. The FBA Inbound API enables building inbound workflows to create, manage, and send shipments into Amazon's fulfillment network. The API has interoperability with the Send-to-Amazon user interface.", + "license": { + "name": "Apache License 2.0", + "url": "http://www.apache.org/licenses/LICENSE-2.0" + }, + "title": "The Selling Partner API for FBA inbound operations.", + "version": "2024-03-20" + }, + "host": "sellingpartnerapi-na.amazon.com", + "schemes": [ + "https" + ], + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "paths": { + "/inbound/fba/2024-03-20/inboundPlans": { + "get": { + "produces": [ + "application/json" + ], + "parameters": [ + { + "description": "The number of inbound plans to return in the response matching the given query.", + "in": "query", + "maximum": 30, + "minimum": 1, + "name": "pageSize", + "type": "integer", + "default": 10 + }, + { + "description": "A token to fetch a certain page when there are multiple pages worth of results. The value of this token is fetched from the `pagination` returned in the API response. In the absence of the token value from the query parameter the API returns the first page of the result.", + "in": "query", + "maxLength": 1024, + "minLength": 0, + "name": "paginationToken", + "type": "string" + }, + { + "description": "The status of an inbound plan.", + "enum": [ + "ACTIVE", + "VOIDED", + "SHIPPED" + ], + "in": "query", + "name": "status", + "type": "string", + "x-docgen-enum-table-extension": [ + { + "value": "ACTIVE", + "description": "An inbound plan that is being worked on." + }, + { + "value": "VOIDED", + "description": "An inbound plan with all shipment cancelled and can no longer be modified." + }, + { + "value": "SHIPPED", + "description": "A completed inbound plan. Only minor modifications can be made at this time." + } + ] + }, + { + "description": "Sort by field.", + "enum": [ + "LAST_UPDATED_TIME", + "CREATION_TIME" + ], + "in": "query", + "name": "sortBy", + "type": "string", + "x-docgen-enum-table-extension": [ + { + "value": "LAST_UPDATED_TIME", + "description": "Last updated time of the inbound plan." + }, + { + "value": "CREATION_TIME", + "description": "Inbound plan creation time." + } + ] + }, + { + "description": "The sort order.", + "enum": [ + "ASC", + "DESC" + ], + "in": "query", + "name": "sortOrder", + "type": "string", + "x-docgen-enum-table-extension": [ + { + "value": "ASC", + "description": "Ascending order." + }, + { + "value": "DESC", + "description": "Descending order." + } + ] + } + ], + "responses": { + "200": { + "description": "ListInboundPlans 200 response", + "schema": { + "$ref": "#/definitions/ListInboundPlansResponse" + }, + "x-amzn-api-sandbox": { + "static": [ + { + "request": { + "parameters": { + "status": { + "value": "ACTIVE" + }, + "sortBy": { + "value": "LAST_UPDATED_TIME" + }, + "sortOrder": { + "value": "ASC" + }, + "pageSize": { + "value": 2 + }, + "paginationToken": { + "value": "paginationToken" + } + } + }, + "response": { + "inboundPlans": [ + { + "inboundPlanId": "wf1234abcd-1234-abcd-5678-1234abcd5678", + "name": "FBA (03/08/2023, 01:15 PM)", + "createdAt": "2023-03-08T13:15:30Z", + "lastUpdatedAt": "2023-03-08T13:15:30Z", + "status": "ACTIVE", + "marketplaceIds": [ + "A2EUQ1WTGCTBG2" + ], + "sourceAddress": { + "name": "name", + "addressLine1": "123 example street", + "addressLine2": "Floor 19", + "city": "Toronto", + "stateOrProvinceCode": "ON", + "countryCode": "CA", + "postalCode": "M1M1M1", + "companyName": "Acme" + }, + "contactInformation": { + "email": "email@email.com", + "phoneNumber": "1234567890" + } + }, + { + "inboundPlanId": "wf2234abcd-1234-abcd-5678-1234abcd5678", + "name": "FBA (03/08/2023, 01:15 PM)", + "createdAt": "2023-03-08T13:15:30Z", + "lastUpdatedAt": "2023-03-08T13:15:30Z", + "status": "ACTIVE", + "marketplaceIds": [ + "A2EUQ1WTGCTBG2" + ], + "sourceAddress": { + "name": "name", + "addressLine1": "123 example street", + "addressLine2": "Floor 19", + "city": "Toronto", + "stateOrProvinceCode": "ON", + "countryCode": "CA", + "postalCode": "M1M1M1", + "companyName": "Acme" + }, + "contactInformation": { + "email": "email@email.com", + "phoneNumber": "1234567890" + } + } + ], + "pagination": { + "nextToken": "nextPaginationToken" + } + } + } + ] + }, + "headers": { + "x-amzn-RequestId": { + "description": "Unique request reference identifier.", + "type": "string" + }, + "x-amzn-RateLimit-Limit": { + "description": "Your rate limit (requests per second) for this operation.", + "type": "string" + } + } + }, + "400": { + "description": "Request has missing or invalid parameters and cannot be parsed.", + "schema": { + "$ref": "#/definitions/ErrorList" + }, + "x-amzn-api-sandbox": { + "static": [ + { + "request": { + "parameters": { + "status": { + "value": "badStatus" + }, + "sortBy": { + "value": "LAST_UPDATED_TIME" + }, + "sortOrder": { + "value": "ASC" + }, + "pageSize": { + "value": 5 + } + } + }, + "response": { + "errors": [ + { + "code": "BadRequest", + "message": "The status is invalid." + } + ] + } + } + ] + }, + "headers": { + "x-amzn-RequestId": { + "description": "Unique request reference identifier.", + "type": "string" + }, + "x-amzn-RateLimit-Limit": { + "description": "Your rate limit (requests per second) for this operation.", + "type": "string" + } + } + }, + "500": { + "description": "An unexpected condition occurred that prevented the server from fulfilling the request.", + "schema": { + "$ref": "#/definitions/ErrorList" + }, + "headers": { + "x-amzn-RequestId": { + "description": "Unique request reference identifier.", + "type": "string" + } + } + }, + "403": { + "description": "Indicates that access to the resource is forbidden. Possible reasons include Access Denied, Unauthorized, Expired Token, or Invalid Signature.", + "schema": { + "$ref": "#/definitions/ErrorList" + }, + "headers": { + "x-amzn-RequestId": { + "description": "Unique request reference identifier.", + "type": "string" + } + } + }, + "404": { + "description": "The resource specified does not exist.", + "schema": { + "$ref": "#/definitions/ErrorList" + }, + "headers": { + "x-amzn-RequestId": { + "description": "Unique request reference identifier.", + "type": "string" + }, + "x-amzn-RateLimit-Limit": { + "description": "Your rate limit (requests per second) for this operation.", + "type": "string" + } + } + }, + "413": { + "description": "The request size exceeded the maximum accepted size.", + "schema": { + "$ref": "#/definitions/ErrorList" + }, + "headers": { + "x-amzn-RequestId": { + "description": "Unique request reference identifier.", + "type": "string" + } + } + }, + "415": { + "description": "The request payload is in an unsupported format.", + "schema": { + "$ref": "#/definitions/ErrorList" + }, + "headers": { + "x-amzn-RequestId": { + "description": "Unique request reference identifier.", + "type": "string" + } + } + }, + "429": { + "description": "The frequency of requests was greater than allowed.", + "schema": { + "$ref": "#/definitions/ErrorList" + }, + "headers": { + "x-amzn-RequestId": { + "description": "Unique request reference identifier.", + "type": "string" + } + } + }, + "503": { + "description": "Temporary overloading or maintenance of the server.", + "schema": { + "$ref": "#/definitions/ErrorList" + }, + "headers": { + "x-amzn-RequestId": { + "description": "Unique request reference identifier.", + "type": "string" + } + } + } + }, + "tags": [ + "fbaInbound" + ], + "description": "Provides a list of inbound plans with minimal information.\n\n**Usage Plan:**\n\n| Rate (requests per second) | Burst |\n| ---- | ---- |\n| 1 | 1 |\n\nThe `x-amzn-RateLimit-Limit` response header returns the usage plan rate limits that were applied to the requested operation, when available. The table above indicates the default rate and burst values for this operation. Selling partners whose business demands require higher throughput may see higher rate and burst values than those shown here. For more information, refer to [Usage Plans and Rate Limits in the Selling Partner API](https://developer-docs.amazon.com/sp-api/docs/usage-plans-and-rate-limits-in-the-sp-api).", + "operationId": "listInboundPlans" + }, + "post": { + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "parameters": [ + { + "in": "body", + "name": "body", + "required": true, + "schema": { + "$ref": "#/definitions/CreateInboundPlanRequest" + }, + "description": "The body of the request to `createInboundPlan`." + } + ], + "responses": { + "202": { + "description": "CreateInboundPlan 202 response", + "schema": { + "$ref": "#/definitions/CreateInboundPlanResponse" + }, + "x-amzn-api-sandbox": { + "static": [ + { + "request": { + "parameters": { + "body": { + "value": { + "name": "FBA (03/20/2024, 12:01 PM)", + "contactInformation": { + "email": "email@email.com", + "phoneNumber": "+14161234567" + }, + "sourceAddress": { + "name": "name", + "addressLine1": "123 example street", + "city": "Toronto", + "stateOrProvinceCode": "ON", + "countryCode": "CA", + "postalCode": "M1M1M1" + }, + "destinationMarketplaces": [ + "A2EUQ1WTGCTBG2" + ], + "items": [ + { + "msku": "msku", + "prepOwner": "AMAZON", + "labelOwner": "AMAZON", + "quantity": 2, + "expiration": "2024-01-01", + "manufacturingLotCode": "lotCode" + } + ] + } + } + } + }, + "response": { + "inboundPlanId": "wf1234abcd-1234-abcd-5678-1234abcd5678", + "operationId": "1234abcd-1234-abcd-5678-1234abcd5678" + } + } + ] + }, + "headers": { + "x-amzn-RequestId": { + "description": "Unique request reference identifier.", + "type": "string" + }, + "x-amzn-RateLimit-Limit": { + "description": "Your rate limit (requests per second) for this operation.", + "type": "string" + } + } + }, + "400": { + "description": "Request has missing or invalid parameters and cannot be parsed.", + "schema": { + "$ref": "#/definitions/ErrorList" + }, + "x-amzn-api-sandbox": { + "static": [ + { + "request": { + "parameters": { + "body": { + "value": { + "name": "FBA (03/20/2024, 12:01 PM)", + "contactInformation": { + "email": "email@email.com", + "phoneNumber": "+14161234567" + }, + "sourceAddress": { + "name": "name", + "addressLine1": "123 example street", + "city": "Toronto", + "countryCode": "CA", + "stateOrProvinceCode": "ON", + "postalCode": "M1M1M1" + }, + "destinationMarketplaces": [ + "badMarketplace" + ], + "items": [ + { + "msku": "msku", + "prepOwner": "AMAZON", + "labelOwner": "AMAZON", + "quantity": 2, + "expiration": "2024-01-01", + "manufacturingLotCode": "lotCode" + } + ] + } + } + } + }, + "response": { + "errors": [ + { + "code": "BadRequest", + "message": "Invalid destinationMarketplace provided." + } + ] + } + } + ] + }, + "headers": { + "x-amzn-RequestId": { + "description": "Unique request reference identifier.", + "type": "string" + }, + "x-amzn-RateLimit-Limit": { + "description": "Your rate limit (requests per second) for this operation.", + "type": "string" + } + } + }, + "500": { + "description": "An unexpected condition occurred that prevented the server from fulfilling the request.", + "schema": { + "$ref": "#/definitions/ErrorList" + }, + "headers": { + "x-amzn-RequestId": { + "description": "Unique request reference identifier.", + "type": "string" + } + } + }, + "403": { + "description": "Indicates that access to the resource is forbidden. Possible reasons include Access Denied, Unauthorized, Expired Token, or Invalid Signature.", + "schema": { + "$ref": "#/definitions/ErrorList" + }, + "headers": { + "x-amzn-RequestId": { + "description": "Unique request reference identifier.", + "type": "string" + } + } + }, + "404": { + "description": "The resource specified does not exist.", + "schema": { + "$ref": "#/definitions/ErrorList" + }, + "headers": { + "x-amzn-RequestId": { + "description": "Unique request reference identifier.", + "type": "string" + }, + "x-amzn-RateLimit-Limit": { + "description": "Your rate limit (requests per second) for this operation.", + "type": "string" + } + } + }, + "413": { + "description": "The request size exceeded the maximum accepted size.", + "schema": { + "$ref": "#/definitions/ErrorList" + }, + "headers": { + "x-amzn-RequestId": { + "description": "Unique request reference identifier.", + "type": "string" + } + } + }, + "415": { + "description": "The request payload is in an unsupported format.", + "schema": { + "$ref": "#/definitions/ErrorList" + }, + "headers": { + "x-amzn-RequestId": { + "description": "Unique request reference identifier.", + "type": "string" + } + } + }, + "429": { + "description": "The frequency of requests was greater than allowed.", + "schema": { + "$ref": "#/definitions/ErrorList" + }, + "headers": { + "x-amzn-RequestId": { + "description": "Unique request reference identifier.", + "type": "string" + } + } + }, + "503": { + "description": "Temporary overloading or maintenance of the server.", + "schema": { + "$ref": "#/definitions/ErrorList" + }, + "headers": { + "x-amzn-RequestId": { + "description": "Unique request reference identifier.", + "type": "string" + } + } + } + }, + "tags": [ + "fbaInbound" + ], + "description": "Creates an inbound plan. An inbound plan contains all the necessary information to send shipments into Amazon's fufillment network.\n\n**Usage Plan:**\n\n| Rate (requests per second) | Burst |\n| ---- | ---- |\n| 0.05 | 1 |\n\nThe `x-amzn-RateLimit-Limit` response header returns the usage plan rate limits that were applied to the requested operation, when available. The table above indicates the default rate and burst values for this operation. Selling partners whose business demands require higher throughput may see higher rate and burst values than those shown here. For more information, refer to [Usage Plans and Rate Limits in the Selling Partner API](https://developer-docs.amazon.com/sp-api/docs/usage-plans-and-rate-limits-in-the-sp-api).", + "operationId": "createInboundPlan" + } + }, + "/inbound/fba/2024-03-20/inboundPlans/{inboundPlanId}": { + "get": { + "produces": [ + "application/json" + ], + "parameters": [ + { + "description": "Identifier to an inbound plan.", + "in": "path", + "maxLength": 38, + "minLength": 38, + "name": "inboundPlanId", + "pattern": "^[a-zA-Z0-9-]*$", + "required": true, + "type": "string" + } + ], + "responses": { + "200": { + "description": "GetInboundPlan 200 response", + "schema": { + "$ref": "#/definitions/InboundPlan" + }, + "x-amzn-api-sandbox": { + "static": [ + { + "request": { + "parameters": { + "inboundPlanId": { + "value": "wf1234abcd-1234-abcd-5678-1234abcd5678" + } + } + }, + "response": { + "inboundPlanId": "wf1234abcd-1234-abcd-5678-1234abcd5678", + "name": "FBA (03/20/2024, 12:01 PM)", + "createdAt": "2024-03-20T12:01:00Z", + "lastUpdatedAt": "2024-03-28T13:15:30Z", + "status": "ACTIVE", + "marketplaceIds": [ + "A2EUQ1WTGCTBG2" + ], + "packingOptions": [], + "placementOptions": [], + "shipments": [], + "sourceAddress": { + "name": "name", + "addressLine1": "123 example street", + "addressLine2": "Floor 19", + "city": "Toronto", + "stateOrProvinceCode": "ON", + "countryCode": "CA", + "postalCode": "M1M1M1", + "companyName": "Acme" + }, + "contactInformation": { + "email": "email@email.com", + "phoneNumber": "1234567890" + } + } + } + ] + }, + "headers": { + "x-amzn-RequestId": { + "description": "Unique request reference identifier.", + "type": "string" + }, + "x-amzn-RateLimit-Limit": { + "description": "Your rate limit (requests per second) for this operation.", + "type": "string" + } + } + }, + "400": { + "description": "Request has missing or invalid parameters and cannot be parsed.", + "schema": { + "$ref": "#/definitions/ErrorList" + }, + "x-amzn-api-sandbox": { + "static": [ + { + "request": { + "parameters": { + "inboundPlanId": { + "value": "wfbad4abcd-1234-abcd-5678-1234abcd5678" + } + } + }, + "response": { + "errors": [ + { + "code": "BadRequest", + "message": "The inboundPlanId is malformed." + } + ] + } + } + ] + }, + "headers": { + "x-amzn-RequestId": { + "description": "Unique request reference identifier.", + "type": "string" + }, + "x-amzn-RateLimit-Limit": { + "description": "Your rate limit (requests per second) for this operation.", + "type": "string" + } + } + }, + "500": { + "description": "An unexpected condition occurred that prevented the server from fulfilling the request.", + "schema": { + "$ref": "#/definitions/ErrorList" + }, + "headers": { + "x-amzn-RequestId": { + "description": "Unique request reference identifier.", + "type": "string" + } + } + }, + "403": { + "description": "Indicates that access to the resource is forbidden. Possible reasons include Access Denied, Unauthorized, Expired Token, or Invalid Signature.", + "schema": { + "$ref": "#/definitions/ErrorList" + }, + "headers": { + "x-amzn-RequestId": { + "description": "Unique request reference identifier.", + "type": "string" + } + } + }, + "404": { + "description": "The resource specified does not exist.", + "schema": { + "$ref": "#/definitions/ErrorList" + }, + "headers": { + "x-amzn-RequestId": { + "description": "Unique request reference identifier.", + "type": "string" + }, + "x-amzn-RateLimit-Limit": { + "description": "Your rate limit (requests per second) for this operation.", + "type": "string" + } + } + }, + "413": { + "description": "The request size exceeded the maximum accepted size.", + "schema": { + "$ref": "#/definitions/ErrorList" + }, + "headers": { + "x-amzn-RequestId": { + "description": "Unique request reference identifier.", + "type": "string" + } + } + }, + "415": { + "description": "The request payload is in an unsupported format.", + "schema": { + "$ref": "#/definitions/ErrorList" + }, + "headers": { + "x-amzn-RequestId": { + "description": "Unique request reference identifier.", + "type": "string" + } + } + }, + "429": { + "description": "The frequency of requests was greater than allowed.", + "schema": { + "$ref": "#/definitions/ErrorList" + }, + "headers": { + "x-amzn-RequestId": { + "description": "Unique request reference identifier.", + "type": "string" + } + } + }, + "503": { + "description": "Temporary overloading or maintenance of the server.", + "schema": { + "$ref": "#/definitions/ErrorList" + }, + "headers": { + "x-amzn-RequestId": { + "description": "Unique request reference identifier.", + "type": "string" + } + } + } + }, + "tags": [ + "fbaInbound" + ], + "description": "Fetches the top level information about an inbound plan.\n\n**Usage Plan:**\n\n| Rate (requests per second) | Burst |\n| ---- | ---- |\n| 1 | 1 |\n\nThe `x-amzn-RateLimit-Limit` response header returns the usage plan rate limits that were applied to the requested operation, when available. The table above indicates the default rate and burst values for this operation. Selling partners whose business demands require higher throughput may see higher rate and burst values than those shown here. For more information, refer to [Usage Plans and Rate Limits in the Selling Partner API](https://developer-docs.amazon.com/sp-api/docs/usage-plans-and-rate-limits-in-the-sp-api).", + "operationId": "getInboundPlan" + } + }, + "/inbound/fba/2024-03-20/inboundPlans/{inboundPlanId}/boxes": { + "get": { + "produces": [ + "application/json" + ], + "parameters": [ + { + "description": "Identifier to an inbound plan.", + "in": "path", + "maxLength": 38, + "minLength": 38, + "name": "inboundPlanId", + "pattern": "^[a-zA-Z0-9-]*$", + "required": true, + "type": "string" + }, + { + "description": "The number of boxes to return in the response matching the given query.", + "in": "query", + "maximum": 1000, + "minimum": 1, + "name": "pageSize", + "type": "integer", + "default": 10 + }, + { + "description": "A token to fetch a certain page when there are multiple pages worth of results. The value of this token is fetched from the `pagination` returned in the API response. In the absence of the token value from the query parameter the API returns the first page of the result.", + "in": "query", + "maxLength": 1024, + "minLength": 0, + "name": "paginationToken", + "type": "string" + } + ], + "responses": { + "200": { + "description": "ListInboundPlanBoxes 200 response", + "schema": { + "$ref": "#/definitions/ListInboundPlanBoxesResponse" + }, + "x-amzn-api-sandbox": { + "static": [ + { + "request": { + "parameters": { + "inboundPlanId": { + "value": "wf1234abcd-1234-abcd-5678-1234abcd5678" + }, + "pageSize": { + "value": 2 + }, + "paginationToken": { + "value": "paginationToken" + } + } + }, + "response": { + "boxes": [ + { + "packageId": "pk1234abcd-1234-abcd-5678-1234abcd5678", + "weight": { + "unit": "KG", + "value": 5.5 + }, + "dimensions": { + "unitOfMeasurement": "CM", + "length": 3.0, + "width": 4.0, + "height": 5.0 + }, + "quantity": 2, + "boxId": "boxId", + "templateName": "templateName", + "items": [ + { + "quantity": 5, + "expiration": "2024-01-01", + "manufacturingLotCode": "manufacturingLotCode", + "prepInstructions": [ + { + "prepType": "ITEM_POLYBAGGING", + "prepOwner": "AMAZON", + "fee": { + "code": "USD", + "amount": 10.0 + } + } + ], + "msku": "msku", + "asin": "asin", + "fnsku": "fnsku", + "labelOwner": "AMAZON" + } + ], + "destinationRegion": { + "countryCode": "US", + "state": "CA", + "warehouseId": "ABC1" + } + } + ], + "pagination": { + "nextToken": "nextPaginationToken" + } + } + } + ] + }, + "headers": { + "x-amzn-RequestId": { + "description": "Unique request reference identifier.", + "type": "string" + }, + "x-amzn-RateLimit-Limit": { + "description": "Your rate limit (requests per second) for this operation.", + "type": "string" + } + } + }, + "400": { + "description": "Request has missing or invalid parameters and cannot be parsed.", + "schema": { + "$ref": "#/definitions/ErrorList" + }, + "x-amzn-api-sandbox": { + "static": [ + { + "request": { + "parameters": { + "inboundPlanId": { + "value": "bad234abcd-1234-abcd-5678-1234abcd5678" + }, + "pageSize": { + "value": 2 + }, + "paginationToken": { + "value": "paginationToken" + } + } + }, + "response": { + "errors": [ + { + "code": "BadRequest", + "message": "The requested inboundPlanId does not exist." + } + ] + } + } + ] + }, + "headers": { + "x-amzn-RequestId": { + "description": "Unique request reference identifier.", + "type": "string" + }, + "x-amzn-RateLimit-Limit": { + "description": "Your rate limit (requests per second) for this operation.", + "type": "string" + } + } + }, + "500": { + "description": "An unexpected condition occurred that prevented the server from fulfilling the request.", + "schema": { + "$ref": "#/definitions/ErrorList" + }, + "headers": { + "x-amzn-RequestId": { + "description": "Unique request reference identifier.", + "type": "string" + } + } + }, + "403": { + "description": "Indicates that access to the resource is forbidden. Possible reasons include Access Denied, Unauthorized, Expired Token, or Invalid Signature.", + "schema": { + "$ref": "#/definitions/ErrorList" + }, + "headers": { + "x-amzn-RequestId": { + "description": "Unique request reference identifier.", + "type": "string" + } + } + }, + "404": { + "description": "The resource specified does not exist.", + "schema": { + "$ref": "#/definitions/ErrorList" + }, + "headers": { + "x-amzn-RequestId": { + "description": "Unique request reference identifier.", + "type": "string" + }, + "x-amzn-RateLimit-Limit": { + "description": "Your rate limit (requests per second) for this operation.", + "type": "string" + } + } + }, + "413": { + "description": "The request size exceeded the maximum accepted size.", + "schema": { + "$ref": "#/definitions/ErrorList" + }, + "headers": { + "x-amzn-RequestId": { + "description": "Unique request reference identifier.", + "type": "string" + } + } + }, + "415": { + "description": "The request payload is in an unsupported format.", + "schema": { + "$ref": "#/definitions/ErrorList" + }, + "headers": { + "x-amzn-RequestId": { + "description": "Unique request reference identifier.", + "type": "string" + } + } + }, + "429": { + "description": "The frequency of requests was greater than allowed.", + "schema": { + "$ref": "#/definitions/ErrorList" + }, + "headers": { + "x-amzn-RequestId": { + "description": "Unique request reference identifier.", + "type": "string" + } + } + }, + "503": { + "description": "Temporary overloading or maintenance of the server.", + "schema": { + "$ref": "#/definitions/ErrorList" + }, + "headers": { + "x-amzn-RequestId": { + "description": "Unique request reference identifier.", + "type": "string" + } + } + } + }, + "tags": [ + "fbaInbound" + ], + "description": "Provides a paginated list of box packages in an inbound plan.\n\n**Usage Plan:**\n\n| Rate (requests per second) | Burst |\n| ---- | ---- |\n| 1 | 1 |\n\nThe `x-amzn-RateLimit-Limit` response header returns the usage plan rate limits that were applied to the requested operation, when available. The table above indicates the default rate and burst values for this operation. Selling partners whose business demands require higher throughput may see higher rate and burst values than those shown here. For more information, refer to [Usage Plans and Rate Limits in the Selling Partner API](https://developer-docs.amazon.com/sp-api/docs/usage-plans-and-rate-limits-in-the-sp-api).", + "operationId": "listInboundPlanBoxes" + } + }, + "/inbound/fba/2024-03-20/inboundPlans/{inboundPlanId}/cancellation": { + "put": { + "produces": [ + "application/json" + ], + "parameters": [ + { + "description": "Identifier to an inbound plan.", + "in": "path", + "maxLength": 38, + "minLength": 38, + "name": "inboundPlanId", + "pattern": "^[a-zA-Z0-9-]*$", + "required": true, + "type": "string" + } + ], + "responses": { + "202": { + "description": "CancelInboundPlan 202 response", + "schema": { + "$ref": "#/definitions/CancelInboundPlanResponse" + }, + "x-amzn-api-sandbox": { + "static": [ + { + "request": { + "parameters": { + "inboundPlanId": { + "value": "wf1234abcd-1234-abcd-5678-1234abcd5678" + } + } + }, + "response": { + "operationId": "1234abcd-1234-abcd-5678-1234abcd5678" + } + } + ] + }, + "headers": { + "x-amzn-RequestId": { + "description": "Unique request reference identifier.", + "type": "string" + }, + "x-amzn-RateLimit-Limit": { + "description": "Your rate limit (requests per second) for this operation.", + "type": "string" + } + } + }, + "400": { + "description": "Request has missing or invalid parameters and cannot be parsed.", + "schema": { + "$ref": "#/definitions/ErrorList" + }, + "x-amzn-api-sandbox": { + "static": [ + { + "request": { + "parameters": { + "inboundPlanId": { + "value": "wfbad4abcd-1234-abcd-5678-1234abcd5678" + } + } + }, + "response": { + "errors": [ + { + "code": "BadRequest", + "message": "The inbound plan is already cancelled." + } + ] + } + } + ] + }, + "headers": { + "x-amzn-RequestId": { + "description": "Unique request reference identifier.", + "type": "string" + }, + "x-amzn-RateLimit-Limit": { + "description": "Your rate limit (requests per second) for this operation.", + "type": "string" + } + } + }, + "500": { + "description": "An unexpected condition occurred that prevented the server from fulfilling the request.", + "schema": { + "$ref": "#/definitions/ErrorList" + }, + "headers": { + "x-amzn-RequestId": { + "description": "Unique request reference identifier.", + "type": "string" + } + } + }, + "403": { + "description": "Indicates that access to the resource is forbidden. Possible reasons include Access Denied, Unauthorized, Expired Token, or Invalid Signature.", + "schema": { + "$ref": "#/definitions/ErrorList" + }, + "headers": { + "x-amzn-RequestId": { + "description": "Unique request reference identifier.", + "type": "string" + } + } + }, + "404": { + "description": "The resource specified does not exist.", + "schema": { + "$ref": "#/definitions/ErrorList" + }, + "headers": { + "x-amzn-RequestId": { + "description": "Unique request reference identifier.", + "type": "string" + }, + "x-amzn-RateLimit-Limit": { + "description": "Your rate limit (requests per second) for this operation.", + "type": "string" + } + } + }, + "413": { + "description": "The request size exceeded the maximum accepted size.", + "schema": { + "$ref": "#/definitions/ErrorList" + }, + "headers": { + "x-amzn-RequestId": { + "description": "Unique request reference identifier.", + "type": "string" + } + } + }, + "415": { + "description": "The request payload is in an unsupported format.", + "schema": { + "$ref": "#/definitions/ErrorList" + }, + "headers": { + "x-amzn-RequestId": { + "description": "Unique request reference identifier.", + "type": "string" + } + } + }, + "429": { + "description": "The frequency of requests was greater than allowed.", + "schema": { + "$ref": "#/definitions/ErrorList" + }, + "headers": { + "x-amzn-RequestId": { + "description": "Unique request reference identifier.", + "type": "string" + } + } + }, + "503": { + "description": "Temporary overloading or maintenance of the server.", + "schema": { + "$ref": "#/definitions/ErrorList" + }, + "headers": { + "x-amzn-RequestId": { + "description": "Unique request reference identifier.", + "type": "string" + } + } + } + }, + "tags": [ + "fbaInbound" + ], + "description": "Cancels an Inbound Plan. Charges may apply if the cancellation is performed outside of a void window. The window\n for Amazon Partnered Carriers is 24 hours for Small Parcel Delivery (SPD) and one hour for Less-Than-Truckload (LTL) carrier shipments.\n\n**Usage Plan:**\n\n| Rate (requests per second) | Burst |\n| ---- | ---- |\n| 0.05 | 1 |\n\nThe `x-amzn-RateLimit-Limit` response header returns the usage plan rate limits that were applied to the requested operation, when available. The table above indicates the default rate and burst values for this operation. Selling partners whose business demands require higher throughput may see higher rate and burst values than those shown here. For more information, refer to [Usage Plans and Rate Limits in the Selling Partner API](https://developer-docs.amazon.com/sp-api/docs/usage-plans-and-rate-limits-in-the-sp-api).", + "operationId": "cancelInboundPlan" + } + }, + "/inbound/fba/2024-03-20/inboundPlans/{inboundPlanId}/items": { + "get": { + "produces": [ + "application/json" + ], + "parameters": [ + { + "description": "Identifier to an inbound plan.", + "in": "path", + "maxLength": 38, + "minLength": 38, + "name": "inboundPlanId", + "pattern": "^[a-zA-Z0-9-]*$", + "required": true, + "type": "string" + }, + { + "description": "The number of items to return in the response matching the given query.", + "in": "query", + "maximum": 1000, + "minimum": 1, + "name": "pageSize", + "type": "integer", + "default": 10 + }, + { + "description": "A token to fetch a certain page when there are multiple pages worth of results. The value of this token is fetched from the `pagination` returned in the API response. In the absence of the token value from the query parameter the API returns the first page of the result.", + "in": "query", + "maxLength": 1024, + "minLength": 0, + "name": "paginationToken", + "type": "string" + } + ], + "responses": { + "200": { + "description": "ListInboundPlanItems 200 response", + "schema": { + "$ref": "#/definitions/ListInboundPlanItemsResponse" + }, + "x-amzn-api-sandbox": { + "static": [ + { + "request": { + "parameters": { + "inboundPlanId": { + "value": "wf1234abcd-1234-abcd-5678-1234abcd5678" + }, + "pageSize": { + "value": 2 + }, + "paginationToken": { + "value": "paginationToken" + } + } + }, + "response": { + "items": [ + { + "quantity": 5, + "expiration": "2024-01-01", + "manufacturingLotCode": "manufacturingLotCode", + "prepInstructions": [ + { + "prepType": "ITEM_POLYBAGGING", + "prepOwner": "AMAZON", + "fee": { + "code": "USD", + "amount": 10.0 + } + } + ], + "msku": "msku", + "asin": "asin", + "fnsku": "fnsku", + "labelOwner": "AMAZON" + } + ], + "pagination": { + "nextToken": "nextPaginationToken" + } + } + } + ] + }, + "headers": { + "x-amzn-RequestId": { + "description": "Unique request reference identifier.", + "type": "string" + }, + "x-amzn-RateLimit-Limit": { + "description": "Your rate limit (requests per second) for this operation.", + "type": "string" + } + } + }, + "400": { + "description": "Request has missing or invalid parameters and cannot be parsed.", + "schema": { + "$ref": "#/definitions/ErrorList" + }, + "x-amzn-api-sandbox": { + "static": [ + { + "request": { + "parameters": { + "inboundPlanId": { + "value": "wfbad4abcd-1234-abcd-5678-1234abcd5678" + }, + "pageSize": { + "value": 1 + }, + "paginationToken": { + "value": "" + } + } + }, + "response": { + "errors": [ + { + "code": "BadRequest", + "message": "The requested inbound plan does not exist." + } + ] + } + } + ] + }, + "headers": { + "x-amzn-RequestId": { + "description": "Unique request reference identifier.", + "type": "string" + }, + "x-amzn-RateLimit-Limit": { + "description": "Your rate limit (requests per second) for this operation.", + "type": "string" + } + } + }, + "500": { + "description": "An unexpected condition occurred that prevented the server from fulfilling the request.", + "schema": { + "$ref": "#/definitions/ErrorList" + }, + "headers": { + "x-amzn-RequestId": { + "description": "Unique request reference identifier.", + "type": "string" + } + } + }, + "403": { + "description": "Indicates that access to the resource is forbidden. Possible reasons include Access Denied, Unauthorized, Expired Token, or Invalid Signature.", + "schema": { + "$ref": "#/definitions/ErrorList" + }, + "headers": { + "x-amzn-RequestId": { + "description": "Unique request reference identifier.", + "type": "string" + } + } + }, + "404": { + "description": "The resource specified does not exist.", + "schema": { + "$ref": "#/definitions/ErrorList" + }, + "headers": { + "x-amzn-RequestId": { + "description": "Unique request reference identifier.", + "type": "string" + }, + "x-amzn-RateLimit-Limit": { + "description": "Your rate limit (requests per second) for this operation.", + "type": "string" + } + } + }, + "413": { + "description": "The request size exceeded the maximum accepted size.", + "schema": { + "$ref": "#/definitions/ErrorList" + }, + "headers": { + "x-amzn-RequestId": { + "description": "Unique request reference identifier.", + "type": "string" + } + } + }, + "415": { + "description": "The request payload is in an unsupported format.", + "schema": { + "$ref": "#/definitions/ErrorList" + }, + "headers": { + "x-amzn-RequestId": { + "description": "Unique request reference identifier.", + "type": "string" + } + } + }, + "429": { + "description": "The frequency of requests was greater than allowed.", + "schema": { + "$ref": "#/definitions/ErrorList" + }, + "headers": { + "x-amzn-RequestId": { + "description": "Unique request reference identifier.", + "type": "string" + } + } + }, + "503": { + "description": "Temporary overloading or maintenance of the server.", + "schema": { + "$ref": "#/definitions/ErrorList" + }, + "headers": { + "x-amzn-RequestId": { + "description": "Unique request reference identifier.", + "type": "string" + } + } + } + }, + "tags": [ + "fbaInbound" + ], + "description": "Provides a paginated list of item packages in an inbound plan.\n\n**Usage Plan:**\n\n| Rate (requests per second) | Burst |\n| ---- | ---- |\n| 1 | 1 |\n\nThe `x-amzn-RateLimit-Limit` response header returns the usage plan rate limits that were applied to the requested operation, when available. The table above indicates the default rate and burst values for this operation. Selling partners whose business demands require higher throughput may see higher rate and burst values than those shown here. For more information, refer to [Usage Plans and Rate Limits in the Selling Partner API](https://developer-docs.amazon.com/sp-api/docs/usage-plans-and-rate-limits-in-the-sp-api).", + "operationId": "listInboundPlanItems" + } + }, + "/inbound/fba/2024-03-20/inboundPlans/{inboundPlanId}/packingInformation": { + "post": { + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "parameters": [ + { + "description": "Identifier to an inbound plan.", + "in": "path", + "maxLength": 38, + "minLength": 38, + "name": "inboundPlanId", + "pattern": "^[a-zA-Z0-9-]*$", + "required": true, + "type": "string" + }, + { + "in": "body", + "name": "body", + "required": true, + "schema": { + "$ref": "#/definitions/SetPackingInformationRequest" + }, + "description": "The body of the request to `setPackingInformation`." + } + ], + "responses": { + "202": { + "description": "SetPackingInformation 202 response", + "schema": { + "$ref": "#/definitions/SetPackingInformationResponse" + }, + "x-amzn-api-sandbox": { + "static": [ + { + "request": { + "parameters": { + "inboundPlanId": { + "value": "wf1234abcd-1234-abcd-5678-1234abcd5678" + }, + "body": { + "value": { + "packageGroupings": [ + { + "shipmentId": "sh1234abcd-1234-abcd-5678-1234abcd5678", + "packingGroupId": "pg1234abcd-1234-abcd-5678-1234abcd5678", + "boxes": [ + { + "boxId": "boxId", + "templateName": "templateName", + "contents": [ + { + "msku": "msku", + "quantityInBox": 5, + "expiration": "2024-01-01", + "prepOwner": "AMAZON", + "labelOwner": "AMAZON", + "manufacturingLotCode": "manufacturingLotCode" + } + ], + "contentInformationSource": "BOX_CONTENT_PROVIDED", + "weight": { + "unit": "KG", + "value": 5.5 + }, + "dimensions": { + "unitOfMeasurement": "CM", + "length": 3.0, + "width": 4.0, + "height": 5.0 + }, + "quantity": 2 + } + ] + } + ] + } + } + } + }, + "response": { + "operationId": "1234abcd-1234-abcd-5678-1234abcd5678" + } + } + ] + }, + "headers": { + "x-amzn-RequestId": { + "description": "Unique request reference identifier.", + "type": "string" + }, + "x-amzn-RateLimit-Limit": { + "description": "Your rate limit (requests per second) for this operation.", + "type": "string" + } + } + }, + "400": { + "description": "Request has missing or invalid parameters and cannot be parsed.", + "schema": { + "$ref": "#/definitions/ErrorList" + }, + "x-amzn-api-sandbox": { + "static": [ + { + "request": { + "parameters": { + "inboundPlanId": { + "value": "bad234abcd-1234-abcd-5678-1234abcd5678" + }, + "body": { + "value": { + "packageGroupings": [ + { + "shipmentId": "sh1234abcd-1234-abcd-5678-1234abcd5678", + "packingGroupId": "bad234abcd-1234-abcd-5678-1234abcd5678", + "boxes": [ + { + "boxId": "boxId", + "templateName": "templateName", + "contents": [ + { + "msku": "msku", + "quantityInBox": 5, + "expiration": "2024-01-01", + "prepOwner": "AMAZON", + "labelOwner": "AMAZON", + "manufacturingLotCode": "manufacturingLotCode" + } + ], + "contentInformationSource": "BOX_CONTENT_PROVIDED", + "weight": { + "unit": "KG", + "value": 5.5 + }, + "dimensions": { + "unitOfMeasurement": "CM", + "length": 3.0, + "width": 4.0, + "height": 5.0 + }, + "quantity": 2 + } + ] + } + ] + } + } + } + }, + "response": { + "errors": [ + { + "code": "BadRequest", + "message": "The requested packingGroupId does not exist for the specified inbound plan." + } + ] + } + } + ] + }, + "headers": { + "x-amzn-RequestId": { + "description": "Unique request reference identifier.", + "type": "string" + }, + "x-amzn-RateLimit-Limit": { + "description": "Your rate limit (requests per second) for this operation.", + "type": "string" + } + } + }, + "500": { + "description": "An unexpected condition occurred that prevented the server from fulfilling the request.", + "schema": { + "$ref": "#/definitions/ErrorList" + }, + "headers": { + "x-amzn-RequestId": { + "description": "Unique request reference identifier.", + "type": "string" + } + } + }, + "403": { + "description": "Indicates that access to the resource is forbidden. Possible reasons include Access Denied, Unauthorized, Expired Token, or Invalid Signature.", + "schema": { + "$ref": "#/definitions/ErrorList" + }, + "headers": { + "x-amzn-RequestId": { + "description": "Unique request reference identifier.", + "type": "string" + } + } + }, + "404": { + "description": "The resource specified does not exist.", + "schema": { + "$ref": "#/definitions/ErrorList" + }, + "headers": { + "x-amzn-RequestId": { + "description": "Unique request reference identifier.", + "type": "string" + }, + "x-amzn-RateLimit-Limit": { + "description": "Your rate limit (requests per second) for this operation.", + "type": "string" + } + } + }, + "413": { + "description": "The request size exceeded the maximum accepted size.", + "schema": { + "$ref": "#/definitions/ErrorList" + }, + "headers": { + "x-amzn-RequestId": { + "description": "Unique request reference identifier.", + "type": "string" + } + } + }, + "415": { + "description": "The request payload is in an unsupported format.", + "schema": { + "$ref": "#/definitions/ErrorList" + }, + "headers": { + "x-amzn-RequestId": { + "description": "Unique request reference identifier.", + "type": "string" + } + } + }, + "429": { + "description": "The frequency of requests was greater than allowed.", + "schema": { + "$ref": "#/definitions/ErrorList" + }, + "headers": { + "x-amzn-RequestId": { + "description": "Unique request reference identifier.", + "type": "string" + } + } + }, + "503": { + "description": "Temporary overloading or maintenance of the server.", + "schema": { + "$ref": "#/definitions/ErrorList" + }, + "headers": { + "x-amzn-RequestId": { + "description": "Unique request reference identifier.", + "type": "string" + } + } + } + }, + "tags": [ + "fbaInbound" + ], + "description": "Sets packing information for an inbound plan. This should be called after an inbound plan is created to populate\n the box level information required for planning and transportation estimates.\n\n**Usage Plan:**\n\n| Rate (requests per second) | Burst |\n| ---- | ---- |\n| 0.05 | 1 |\n\nThe `x-amzn-RateLimit-Limit` response header returns the usage plan rate limits that were applied to the requested operation, when available. The table above indicates the default rate and burst values for this operation. Selling partners whose business demands require higher throughput may see higher rate and burst values than those shown here. For more information, refer to [Usage Plans and Rate Limits in the Selling Partner API](https://developer-docs.amazon.com/sp-api/docs/usage-plans-and-rate-limits-in-the-sp-api).", + "operationId": "setPackingInformation" + } + }, + "/inbound/fba/2024-03-20/inboundPlans/{inboundPlanId}/packingOptions": { + "get": { + "produces": [ + "application/json" + ], + "parameters": [ + { + "description": "Identifier to an inbound plan.", + "in": "path", + "maxLength": 38, + "minLength": 38, + "name": "inboundPlanId", + "pattern": "^[a-zA-Z0-9-]*$", + "required": true, + "type": "string" + }, + { + "description": "The number of packing options to return in the response matching the given query.", + "in": "query", + "maximum": 20, + "minimum": 1, + "name": "pageSize", + "type": "integer", + "default": 10 + }, + { + "description": "A token to fetch a certain page when there are multiple pages worth of results. The value of this token is fetched from the `pagination` returned in the API response. In the absence of the token value from the query parameter the API returns the first page of the result.", + "in": "query", + "maxLength": 1024, + "minLength": 0, + "name": "paginationToken", + "type": "string" + } + ], + "responses": { + "200": { + "description": "ListPackingOptions 200 response", + "schema": { + "$ref": "#/definitions/ListPackingOptionsResponse" + }, + "x-amzn-api-sandbox": { + "static": [ + { + "request": { + "parameters": { + "inboundPlanId": { + "value": "wf1234abcd-1234-abcd-5678-1234abcd5678" + }, + "pageSize": { + "value": 2 + }, + "paginationToken": { + "value": "paginationToken" + } + } + }, + "response": { + "packingOptions": [ + { + "inboundPlanId": "wf1234abcd-1234-abcd-5678-1234abcd5678", + "packingOptionId": "po1234abcd-1234-abcd-5678-1234abcd5678", + "packingGroups": [ + "pg1234abcd-1234-abcd-5678-1234abcd5678" + ], + "fees": [ + { + "value": { + "code": "USD", + "amount": 1.0 + }, + "type": "FEE", + "target": "Placement Services", + "description": "description" + } + ], + "discounts": [ + { + "value": { + "code": "USD", + "amount": 1.0 + }, + "type": "DISCOUNT", + "target": "Placement Services", + "description": "description" + } + ], + "expiration": "2024-01-01T00:00:00.000Z", + "status": "OFFERED", + "supportedShippingConfigurations": [ + { + "shippingSolution": "AMAZON_PARTNERED_CARRIER", + "shippingMode": "GROUND_SMALL_PARCEL" + } + ] + } + ], + "pagination": { + "nextToken": "nextPaginationToken" + } + } + } + ] + }, + "headers": { + "x-amzn-RequestId": { + "description": "Unique request reference identifier.", + "type": "string" + }, + "x-amzn-RateLimit-Limit": { + "description": "Your rate limit (requests per second) for this operation.", + "type": "string" + } + } + }, + "400": { + "description": "Request has missing or invalid parameters and cannot be parsed.", + "schema": { + "$ref": "#/definitions/ErrorList" + }, + "x-amzn-api-sandbox": { + "static": [ + { + "request": { + "parameters": { + "inboundPlanId": { + "value": "bad234abcd-1234-abcd-5678-1234abcd5678" + }, + "pageSize": { + "value": 2 + }, + "paginationToken": { + "value": "paginationToken" + } + } + }, + "response": { + "errors": [ + { + "code": "BadRequest", + "message": "The requested inbound plan does not exist." + } + ] + } + } + ] + }, + "headers": { + "x-amzn-RequestId": { + "description": "Unique request reference identifier.", + "type": "string" + }, + "x-amzn-RateLimit-Limit": { + "description": "Your rate limit (requests per second) for this operation.", + "type": "string" + } + } + }, + "500": { + "description": "An unexpected condition occurred that prevented the server from fulfilling the request.", + "schema": { + "$ref": "#/definitions/ErrorList" + }, + "headers": { + "x-amzn-RequestId": { + "description": "Unique request reference identifier.", + "type": "string" + } + } + }, + "403": { + "description": "Indicates that access to the resource is forbidden. Possible reasons include Access Denied, Unauthorized, Expired Token, or Invalid Signature.", + "schema": { + "$ref": "#/definitions/ErrorList" + }, + "headers": { + "x-amzn-RequestId": { + "description": "Unique request reference identifier.", + "type": "string" + } + } + }, + "404": { + "description": "The resource specified does not exist.", + "schema": { + "$ref": "#/definitions/ErrorList" + }, + "headers": { + "x-amzn-RequestId": { + "description": "Unique request reference identifier.", + "type": "string" + }, + "x-amzn-RateLimit-Limit": { + "description": "Your rate limit (requests per second) for this operation.", + "type": "string" + } + } + }, + "413": { + "description": "The request size exceeded the maximum accepted size.", + "schema": { + "$ref": "#/definitions/ErrorList" + }, + "headers": { + "x-amzn-RequestId": { + "description": "Unique request reference identifier.", + "type": "string" + } + } + }, + "415": { + "description": "The request payload is in an unsupported format.", + "schema": { + "$ref": "#/definitions/ErrorList" + }, + "headers": { + "x-amzn-RequestId": { + "description": "Unique request reference identifier.", + "type": "string" + } + } + }, + "429": { + "description": "The frequency of requests was greater than allowed.", + "schema": { + "$ref": "#/definitions/ErrorList" + }, + "headers": { + "x-amzn-RequestId": { + "description": "Unique request reference identifier.", + "type": "string" + } + } + }, + "503": { + "description": "Temporary overloading or maintenance of the server.", + "schema": { + "$ref": "#/definitions/ErrorList" + }, + "headers": { + "x-amzn-RequestId": { + "description": "Unique request reference identifier.", + "type": "string" + } + } + } + }, + "tags": [ + "fbaInbound" + ], + "description": "Retrieves a list of all packing options for an inbound plan. Packing options must first be generated by the corresponding endpoint before becoming available.\n\n**Usage Plan:**\n\n| Rate (requests per second) | Burst |\n| ---- | ---- |\n| 1 | 1 |\n\nThe `x-amzn-RateLimit-Limit` response header returns the usage plan rate limits that were applied to the requested operation, when available. The table above indicates the default rate and burst values for this operation. Selling partners whose business demands require higher throughput may see higher rate and burst values than those shown here. For more information, refer to [Usage Plans and Rate Limits in the Selling Partner API](https://developer-docs.amazon.com/sp-api/docs/usage-plans-and-rate-limits-in-the-sp-api).", + "operationId": "listPackingOptions" + }, + "post": { + "produces": [ + "application/json" + ], + "parameters": [ + { + "description": "Identifier to an inbound plan.", + "in": "path", + "maxLength": 38, + "minLength": 38, + "name": "inboundPlanId", + "pattern": "^[a-zA-Z0-9-]*$", + "required": true, + "type": "string" + } + ], + "responses": { + "202": { + "description": "GeneratePackingOptions 202 response", + "schema": { + "$ref": "#/definitions/GeneratePackingOptionsResponse" + }, + "x-amzn-api-sandbox": { + "static": [ + { + "request": { + "parameters": { + "inboundPlanId": { + "value": "wf1234abcd-1234-abcd-5678-1234abcd5678" + } + } + }, + "response": { + "operationId": "1234abcd-1234-abcd-5678-1234abcd5678" + } + } + ] + }, + "headers": { + "x-amzn-RequestId": { + "description": "Unique request reference identifier.", + "type": "string" + }, + "x-amzn-RateLimit-Limit": { + "description": "Your rate limit (requests per second) for this operation.", + "type": "string" + } + } + }, + "400": { + "description": "Request has missing or invalid parameters and cannot be parsed.", + "schema": { + "$ref": "#/definitions/ErrorList" + }, + "x-amzn-api-sandbox": { + "static": [ + { + "request": { + "parameters": { + "inboundPlanId": { + "value": "wfbad4abcd-1234-abcd-5678-1234abcd5678" + } + } + }, + "response": { + "errors": [ + { + "code": "BadRequest", + "message": "The inbound plan is not in a valid state to generate packing options." + } + ] + } + } + ] + }, + "headers": { + "x-amzn-RequestId": { + "description": "Unique request reference identifier.", + "type": "string" + }, + "x-amzn-RateLimit-Limit": { + "description": "Your rate limit (requests per second) for this operation.", + "type": "string" + } + } + }, + "500": { + "description": "An unexpected condition occurred that prevented the server from fulfilling the request.", + "schema": { + "$ref": "#/definitions/ErrorList" + }, + "headers": { + "x-amzn-RequestId": { + "description": "Unique request reference identifier.", + "type": "string" + } + } + }, + "403": { + "description": "Indicates that access to the resource is forbidden. Possible reasons include Access Denied, Unauthorized, Expired Token, or Invalid Signature.", + "schema": { + "$ref": "#/definitions/ErrorList" + }, + "headers": { + "x-amzn-RequestId": { + "description": "Unique request reference identifier.", + "type": "string" + } + } + }, + "404": { + "description": "The resource specified does not exist.", + "schema": { + "$ref": "#/definitions/ErrorList" + }, + "headers": { + "x-amzn-RequestId": { + "description": "Unique request reference identifier.", + "type": "string" + }, + "x-amzn-RateLimit-Limit": { + "description": "Your rate limit (requests per second) for this operation.", + "type": "string" + } + } + }, + "413": { + "description": "The request size exceeded the maximum accepted size.", + "schema": { + "$ref": "#/definitions/ErrorList" + }, + "headers": { + "x-amzn-RequestId": { + "description": "Unique request reference identifier.", + "type": "string" + } + } + }, + "415": { + "description": "The request payload is in an unsupported format.", + "schema": { + "$ref": "#/definitions/ErrorList" + }, + "headers": { + "x-amzn-RequestId": { + "description": "Unique request reference identifier.", + "type": "string" + } + } + }, + "429": { + "description": "The frequency of requests was greater than allowed.", + "schema": { + "$ref": "#/definitions/ErrorList" + }, + "headers": { + "x-amzn-RequestId": { + "description": "Unique request reference identifier.", + "type": "string" + } + } + }, + "503": { + "description": "Temporary overloading or maintenance of the server.", + "schema": { + "$ref": "#/definitions/ErrorList" + }, + "headers": { + "x-amzn-RequestId": { + "description": "Unique request reference identifier.", + "type": "string" + } + } + } + }, + "tags": [ + "fbaInbound" + ], + "description": "Generates available packing options for the inbound plan.\n\n**Usage Plan:**\n\n| Rate (requests per second) | Burst |\n| ---- | ---- |\n| 0.05 | 1 |\n\nThe `x-amzn-RateLimit-Limit` response header returns the usage plan rate limits that were applied to the requested operation, when available. The table above indicates the default rate and burst values for this operation. Selling partners whose business demands require higher throughput may see higher rate and burst values than those shown here. For more information, refer to [Usage Plans and Rate Limits in the Selling Partner API](https://developer-docs.amazon.com/sp-api/docs/usage-plans-and-rate-limits-in-the-sp-api).", + "operationId": "generatePackingOptions" + } + }, + "/inbound/fba/2024-03-20/inboundPlans/{inboundPlanId}/packingOptions/{packingOptionId}/confirmation": { + "post": { + "produces": [ + "application/json" + ], + "parameters": [ + { + "description": "Identifier to an inbound plan.", + "in": "path", + "maxLength": 38, + "minLength": 38, + "name": "inboundPlanId", + "pattern": "^[a-zA-Z0-9-]*$", + "required": true, + "type": "string" + }, + { + "description": "Identifier to a packing option.", + "in": "path", + "maxLength": 38, + "minLength": 38, + "name": "packingOptionId", + "pattern": "^[a-zA-Z0-9-]*$", + "required": true, + "type": "string" + } + ], + "responses": { + "202": { + "description": "ConfirmPackingOption 202 response", + "schema": { + "$ref": "#/definitions/ConfirmPackingOptionResponse" + }, + "x-amzn-api-sandbox": { + "static": [ + { + "request": { + "parameters": { + "inboundPlanId": { + "value": "wf1234abcd-1234-abcd-5678-1234abcd5678" + }, + "packingOptionId": { + "value": "po1234abcd-1234-abcd-5678-1234abcd5678" + } + } + }, + "response": { + "operationId": "1234abcd-1234-abcd-5678-1234abcd5678" + } + } + ] + }, + "headers": { + "x-amzn-RequestId": { + "description": "Unique request reference identifier.", + "type": "string" + }, + "x-amzn-RateLimit-Limit": { + "description": "Your rate limit (requests per second) for this operation.", + "type": "string" + } + } + }, + "400": { + "description": "Request has missing or invalid parameters and cannot be parsed.", + "schema": { + "$ref": "#/definitions/ErrorList" + }, + "x-amzn-api-sandbox": { + "static": [ + { + "request": { + "parameters": { + "inboundPlanId": { + "value": "wf1234abcd-1234-abcd-5678-1234abcd5678" + }, + "packingOptionId": { + "value": "bad234abcd-1234-abcd-5678-1234abcd5678" + } + } + }, + "response": { + "errors": [ + { + "code": "BadRequest", + "message": "The requested packingOptionId does not exist for the given inbound plan." + } + ] + } + } + ] + }, + "headers": { + "x-amzn-RequestId": { + "description": "Unique request reference identifier.", + "type": "string" + }, + "x-amzn-RateLimit-Limit": { + "description": "Your rate limit (requests per second) for this operation.", + "type": "string" + } + } + }, + "500": { + "description": "An unexpected condition occurred that prevented the server from fulfilling the request.", + "schema": { + "$ref": "#/definitions/ErrorList" + }, + "headers": { + "x-amzn-RequestId": { + "description": "Unique request reference identifier.", + "type": "string" + } + } + }, + "403": { + "description": "Indicates that access to the resource is forbidden. Possible reasons include Access Denied, Unauthorized, Expired Token, or Invalid Signature.", + "schema": { + "$ref": "#/definitions/ErrorList" + }, + "headers": { + "x-amzn-RequestId": { + "description": "Unique request reference identifier.", + "type": "string" + } + } + }, + "404": { + "description": "The resource specified does not exist.", + "schema": { + "$ref": "#/definitions/ErrorList" + }, + "headers": { + "x-amzn-RequestId": { + "description": "Unique request reference identifier.", + "type": "string" + }, + "x-amzn-RateLimit-Limit": { + "description": "Your rate limit (requests per second) for this operation.", + "type": "string" + } + } + }, + "413": { + "description": "The request size exceeded the maximum accepted size.", + "schema": { + "$ref": "#/definitions/ErrorList" + }, + "headers": { + "x-amzn-RequestId": { + "description": "Unique request reference identifier.", + "type": "string" + } + } + }, + "415": { + "description": "The request payload is in an unsupported format.", + "schema": { + "$ref": "#/definitions/ErrorList" + }, + "headers": { + "x-amzn-RequestId": { + "description": "Unique request reference identifier.", + "type": "string" + } + } + }, + "429": { + "description": "The frequency of requests was greater than allowed.", + "schema": { + "$ref": "#/definitions/ErrorList" + }, + "headers": { + "x-amzn-RequestId": { + "description": "Unique request reference identifier.", + "type": "string" + } + } + }, + "503": { + "description": "Temporary overloading or maintenance of the server.", + "schema": { + "$ref": "#/definitions/ErrorList" + }, + "headers": { + "x-amzn-RequestId": { + "description": "Unique request reference identifier.", + "type": "string" + } + } + } + }, + "tags": [ + "fbaInbound" + ], + "description": "Confirms the packing option for an inbound plan.\n\n**Usage Plan:**\n\n| Rate (requests per second) | Burst |\n| ---- | ---- |\n| 0.05 | 1 |\n\nThe `x-amzn-RateLimit-Limit` response header returns the usage plan rate limits that were applied to the requested operation, when available. The table above indicates the default rate and burst values for this operation. Selling partners whose business demands require higher throughput may see higher rate and burst values than those shown here. For more information, refer to [Usage Plans and Rate Limits in the Selling Partner API](https://developer-docs.amazon.com/sp-api/docs/usage-plans-and-rate-limits-in-the-sp-api).", + "operationId": "confirmPackingOption" + } + }, + "/inbound/fba/2024-03-20/inboundPlans/{inboundPlanId}/packingOptions/{packingOptionId}/packingGroups/{packingGroupId}/items": { + "get": { + "produces": [ + "application/json" + ], + "parameters": [ + { + "description": "Identifier to an inbound plan.", + "in": "path", + "maxLength": 38, + "minLength": 38, + "name": "inboundPlanId", + "pattern": "^[a-zA-Z0-9-]*$", + "required": true, + "type": "string" + }, + { + "description": "Identifier to a packing option.", + "in": "path", + "maxLength": 38, + "minLength": 38, + "name": "packingOptionId", + "pattern": "^[a-zA-Z0-9-]*$", + "required": true, + "type": "string" + }, + { + "description": "Identifier to a packing group.", + "in": "path", + "maxLength": 38, + "minLength": 38, + "name": "packingGroupId", + "pattern": "^[a-zA-Z0-9-]*$", + "required": true, + "type": "string" + }, + { + "description": "The number of packing group items to return in the response matching the given query.", + "in": "query", + "maximum": 100, + "minimum": 1, + "name": "pageSize", + "type": "integer", + "default": 10 + }, + { + "description": "A token to fetch a certain page when there are multiple pages worth of results. The value of this token is fetched from the `pagination` returned in the API response. In the absence of the token value from the query parameter the API returns the first page of the result.", + "in": "query", + "maxLength": 1024, + "minLength": 0, + "name": "paginationToken", + "type": "string" + } + ], + "responses": { + "200": { + "description": "ListPackingGroupItems 200 response", + "schema": { + "$ref": "#/definitions/ListPackingGroupItemsResponse" + }, + "x-amzn-api-sandbox": { + "static": [ + { + "request": { + "parameters": { + "inboundPlanId": { + "value": "wf1234abcd-1234-abcd-5678-1234abcd5678" + }, + "packingOptionId": { + "value": "po1234abcd-1234-abcd-5678-1234abcd5678" + }, + "packingGroupId": { + "value": "pg1234abcd-1234-abcd-5678-1234abcd5678" + }, + "pageSize": { + "value": 2 + }, + "paginationToken": { + "value": "paginationToken" + } + } + }, + "response": { + "items": [ + { + "quantity": 5, + "prepInstructions": [ + { + "prepType": "ITEM_POLYBAGGING", + "prepOwner": "AMAZON", + "fee": { + "code": "USD", + "amount": 10.0 + } + } + ], + "msku": "msku", + "asin": "asin", + "fnsku": "fnsku", + "labelOwner": "AMAZON" + } + ], + "pagination": { + "nextToken": "nextPaginationToken" + } + } + } + ] + }, + "headers": { + "x-amzn-RequestId": { + "description": "Unique request reference identifier.", + "type": "string" + }, + "x-amzn-RateLimit-Limit": { + "description": "Your rate limit (requests per second) for this operation.", + "type": "string" + } + } + }, + "400": { + "description": "Request has missing or invalid parameters and cannot be parsed.", + "schema": { + "$ref": "#/definitions/ErrorList" + }, + "x-amzn-api-sandbox": { + "static": [ + { + "request": { + "parameters": { + "inboundPlanId": { + "value": "wf1234abcd-1234-abcd-5678-1234abcd5678" + }, + "packingOptionId": { + "value": "bad234abcd-1234-abcd-5678-1234abcd5678" + }, + "packingGroupId": { + "value": "pg1234abcd-1234-abcd-5678-1234abcd5678" + }, + "pageSize": { + "value": 2 + }, + "paginationToken": { + "value": "paginationToken" + } + } + }, + "response": { + "errors": [ + { + "code": "BadRequest", + "message": "The requested packingOptionId does not exist for the specified inbound plan." + } + ] + } + } + ] + }, + "headers": { + "x-amzn-RequestId": { + "description": "Unique request reference identifier.", + "type": "string" + }, + "x-amzn-RateLimit-Limit": { + "description": "Your rate limit (requests per second) for this operation.", + "type": "string" + } + } + }, + "500": { + "description": "An unexpected condition occurred that prevented the server from fulfilling the request.", + "schema": { + "$ref": "#/definitions/ErrorList" + }, + "headers": { + "x-amzn-RequestId": { + "description": "Unique request reference identifier.", + "type": "string" + } + } + }, + "403": { + "description": "Indicates that access to the resource is forbidden. Possible reasons include Access Denied, Unauthorized, Expired Token, or Invalid Signature.", + "schema": { + "$ref": "#/definitions/ErrorList" + }, + "headers": { + "x-amzn-RequestId": { + "description": "Unique request reference identifier.", + "type": "string" + } + } + }, + "404": { + "description": "The resource specified does not exist.", + "schema": { + "$ref": "#/definitions/ErrorList" + }, + "headers": { + "x-amzn-RequestId": { + "description": "Unique request reference identifier.", + "type": "string" + }, + "x-amzn-RateLimit-Limit": { + "description": "Your rate limit (requests per second) for this operation.", + "type": "string" + } + } + }, + "413": { + "description": "The request size exceeded the maximum accepted size.", + "schema": { + "$ref": "#/definitions/ErrorList" + }, + "headers": { + "x-amzn-RequestId": { + "description": "Unique request reference identifier.", + "type": "string" + } + } + }, + "415": { + "description": "The request payload is in an unsupported format.", + "schema": { + "$ref": "#/definitions/ErrorList" + }, + "headers": { + "x-amzn-RequestId": { + "description": "Unique request reference identifier.", + "type": "string" + } + } + }, + "429": { + "description": "The frequency of requests was greater than allowed.", + "schema": { + "$ref": "#/definitions/ErrorList" + }, + "headers": { + "x-amzn-RequestId": { + "description": "Unique request reference identifier.", + "type": "string" + } + } + }, + "503": { + "description": "Temporary overloading or maintenance of the server.", + "schema": { + "$ref": "#/definitions/ErrorList" + }, + "headers": { + "x-amzn-RequestId": { + "description": "Unique request reference identifier.", + "type": "string" + } + } + } + }, + "tags": [ + "fbaInbound" + ], + "description": "Retrieves a list of all items in a packing options's packing group. Packing options must first be generated by the corresponding endpoint before packing group items can be listed.\n\n**Usage Plan:**\n\n| Rate (requests per second) | Burst |\n| ---- | ---- |\n| 1 | 1 |\n\nThe `x-amzn-RateLimit-Limit` response header returns the usage plan rate limits that were applied to the requested operation, when available. The table above indicates the default rate and burst values for this operation. Selling partners whose business demands require higher throughput may see higher rate and burst values than those shown here. For more information, refer to [Usage Plans and Rate Limits in the Selling Partner API](https://developer-docs.amazon.com/sp-api/docs/usage-plans-and-rate-limits-in-the-sp-api).", + "operationId": "listPackingGroupItems" + } + }, + "/inbound/fba/2024-03-20/inboundPlans/{inboundPlanId}/pallets": { + "get": { + "produces": [ + "application/json" + ], + "parameters": [ + { + "description": "Identifier to an inbound plan.", + "in": "path", + "maxLength": 38, + "minLength": 38, + "name": "inboundPlanId", + "pattern": "^[a-zA-Z0-9-]*$", + "required": true, + "type": "string" + }, + { + "description": "The number of pallets to return in the response matching the given query.", + "in": "query", + "maximum": 1000, + "minimum": 1, + "name": "pageSize", + "type": "integer", + "default": 10 + }, + { + "description": "A token to fetch a certain page when there are multiple pages worth of results. The value of this token is fetched from the `pagination` returned in the API response. In the absence of the token value from the query parameter the API returns the first page of the result.", + "in": "query", + "maxLength": 1024, + "minLength": 0, + "name": "paginationToken", + "type": "string" + } + ], + "responses": { + "200": { + "description": "ListInboundPlanPallets 200 response", + "schema": { + "$ref": "#/definitions/ListInboundPlanPalletsResponse" + }, + "x-amzn-api-sandbox": { + "static": [ + { + "request": { + "parameters": { + "inboundPlanId": { + "value": "wf1234abcd-1234-abcd-5678-1234abcd5678" + }, + "pageSize": { + "value": 2 + }, + "paginationToken": { + "value": "paginationToken" + } + } + }, + "response": { + "pallets": [ + { + "stackability": "STACKABLE", + "packageId": "pk1234abcd-1234-abcd-5678-1234abcd5678", + "weight": { + "unit": "KG", + "value": 5.5 + }, + "dimensions": { + "unitOfMeasurement": "CM", + "length": 3.0, + "width": 4.0, + "height": 5.0 + }, + "quantity": 2 + } + ], + "pagination": { + "nextToken": "nextPaginationToken" + } + } + } + ] + }, + "headers": { + "x-amzn-RequestId": { + "description": "Unique request reference identifier.", + "type": "string" + }, + "x-amzn-RateLimit-Limit": { + "description": "Your rate limit (requests per second) for this operation.", + "type": "string" + } + } + }, + "400": { + "description": "Request has missing or invalid parameters and cannot be parsed.", + "schema": { + "$ref": "#/definitions/ErrorList" + }, + "x-amzn-api-sandbox": { + "static": [ + { + "request": { + "parameters": { + "inboundPlanId": { + "value": "bad234abcd-1234-abcd-5678-1234abcd5678" + }, + "pageSize": { + "value": 2 + }, + "paginationToken": { + "value": "paginationToken" + } + } + }, + "response": { + "errors": [ + { + "code": "BadRequest", + "message": "The requested inbound plan does not exist." + } + ] + } + } + ] + }, + "headers": { + "x-amzn-RequestId": { + "description": "Unique request reference identifier.", + "type": "string" + }, + "x-amzn-RateLimit-Limit": { + "description": "Your rate limit (requests per second) for this operation.", + "type": "string" + } + } + }, + "500": { + "description": "An unexpected condition occurred that prevented the server from fulfilling the request.", + "schema": { + "$ref": "#/definitions/ErrorList" + }, + "headers": { + "x-amzn-RequestId": { + "description": "Unique request reference identifier.", + "type": "string" + } + } + }, + "403": { + "description": "Indicates that access to the resource is forbidden. Possible reasons include Access Denied, Unauthorized, Expired Token, or Invalid Signature.", + "schema": { + "$ref": "#/definitions/ErrorList" + }, + "headers": { + "x-amzn-RequestId": { + "description": "Unique request reference identifier.", + "type": "string" + } + } + }, + "404": { + "description": "The resource specified does not exist.", + "schema": { + "$ref": "#/definitions/ErrorList" + }, + "headers": { + "x-amzn-RequestId": { + "description": "Unique request reference identifier.", + "type": "string" + }, + "x-amzn-RateLimit-Limit": { + "description": "Your rate limit (requests per second) for this operation.", + "type": "string" + } + } + }, + "413": { + "description": "The request size exceeded the maximum accepted size.", + "schema": { + "$ref": "#/definitions/ErrorList" + }, + "headers": { + "x-amzn-RequestId": { + "description": "Unique request reference identifier.", + "type": "string" + } + } + }, + "415": { + "description": "The request payload is in an unsupported format.", + "schema": { + "$ref": "#/definitions/ErrorList" + }, + "headers": { + "x-amzn-RequestId": { + "description": "Unique request reference identifier.", + "type": "string" + } + } + }, + "429": { + "description": "The frequency of requests was greater than allowed.", + "schema": { + "$ref": "#/definitions/ErrorList" + }, + "headers": { + "x-amzn-RequestId": { + "description": "Unique request reference identifier.", + "type": "string" + } + } + }, + "503": { + "description": "Temporary overloading or maintenance of the server.", + "schema": { + "$ref": "#/definitions/ErrorList" + }, + "headers": { + "x-amzn-RequestId": { + "description": "Unique request reference identifier.", + "type": "string" + } + } + } + }, + "tags": [ + "fbaInbound" + ], + "description": "Provides a paginated list of pallet packages in an inbound plan. An inbound plan will have pallets when the related details are provided after generating Less-Than-Truckload (LTL) carrier shipments.\n\n**Usage Plan:**\n\n| Rate (requests per second) | Burst |\n| ---- | ---- |\n| 1 | 1 |\n\nThe `x-amzn-RateLimit-Limit` response header returns the usage plan rate limits that were applied to the requested operation, when available. The table above indicates the default rate and burst values for this operation. Selling partners whose business demands require higher throughput may see higher rate and burst values than those shown here. For more information, refer to [Usage Plans and Rate Limits in the Selling Partner API](https://developer-docs.amazon.com/sp-api/docs/usage-plans-and-rate-limits-in-the-sp-api).", + "operationId": "listInboundPlanPallets" + } + }, + "/inbound/fba/2024-03-20/inboundPlans/{inboundPlanId}/placementOptions": { + "get": { + "produces": [ + "application/json" + ], + "parameters": [ + { + "description": "Identifier to an inbound plan.", + "in": "path", + "maxLength": 38, + "minLength": 38, + "name": "inboundPlanId", + "pattern": "^[a-zA-Z0-9-]*$", + "required": true, + "type": "string" + }, + { + "description": "The number of placement options to return in the response matching the given query.", + "in": "query", + "maximum": 20, + "minimum": 1, + "name": "pageSize", + "type": "integer", + "default": 10 + }, + { + "description": "A token to fetch a certain page when there are multiple pages worth of results. The value of this token is fetched from the `pagination` returned in the API response. In the absence of the token value from the query parameter the API returns the first page of the result.", + "in": "query", + "maxLength": 1024, + "minLength": 0, + "name": "paginationToken", + "type": "string" + } + ], + "responses": { + "200": { + "description": "ListPlacementOptions 200 response", + "schema": { + "$ref": "#/definitions/ListPlacementOptionsResponse" + }, + "x-amzn-api-sandbox": { + "static": [ + { + "request": { + "parameters": { + "inboundPlanId": { + "value": "wf1234abcd-1234-abcd-5678-1234abcd5678" + }, + "pageSize": { + "value": 2 + }, + "paginationToken": { + "value": "paginationToken" + } + } + }, + "response": { + "placementOptions": [ + { + "placementOptionId": "pl1234abcd-1234-abcd-5678-1234abcd5678", + "status": "OFFERED", + "fees": [ + { + "value": { + "code": "USD", + "amount": 1.0 + }, + "type": "FEE", + "target": "Placement Services", + "description": "description" + } + ], + "discounts": [ + { + "value": { + "code": "USD", + "amount": 1.0 + }, + "type": "DISCOUNT", + "target": "Placement Services", + "description": "description" + } + ], + "expiration": "2024-01-01T00:00:00.000Z", + "shipmentIds": [ + "sh1234abcd-1234-abcd-5678-1234abcd5678" + ] + } + ], + "pagination": { + "nextToken": "nextPaginationToken" + } + } + } + ] + }, + "headers": { + "x-amzn-RequestId": { + "description": "Unique request reference identifier.", + "type": "string" + }, + "x-amzn-RateLimit-Limit": { + "description": "Your rate limit (requests per second) for this operation.", + "type": "string" + } + } + }, + "400": { + "description": "Request has missing or invalid parameters and cannot be parsed.", + "schema": { + "$ref": "#/definitions/ErrorList" + }, + "x-amzn-api-sandbox": { + "static": [ + { + "request": { + "parameters": { + "inboundPlanId": { + "value": "bad234abcd-1234-abcd-5678-1234abcd5678" + }, + "pageSize": { + "value": 2 + }, + "paginationToken": { + "value": "paginationToken" + } + } + }, + "response": { + "errors": [ + { + "code": "BadRequest", + "message": "The requested inbound plan does not exist." + } + ] + } + } + ] + }, + "headers": { + "x-amzn-RequestId": { + "description": "Unique request reference identifier.", + "type": "string" + }, + "x-amzn-RateLimit-Limit": { + "description": "Your rate limit (requests per second) for this operation.", + "type": "string" + } + } + }, + "500": { + "description": "An unexpected condition occurred that prevented the server from fulfilling the request.", + "schema": { + "$ref": "#/definitions/ErrorList" + }, + "headers": { + "x-amzn-RequestId": { + "description": "Unique request reference identifier.", + "type": "string" + } + } + }, + "403": { + "description": "Indicates that access to the resource is forbidden. Possible reasons include Access Denied, Unauthorized, Expired Token, or Invalid Signature.", + "schema": { + "$ref": "#/definitions/ErrorList" + }, + "headers": { + "x-amzn-RequestId": { + "description": "Unique request reference identifier.", + "type": "string" + } + } + }, + "404": { + "description": "The resource specified does not exist.", + "schema": { + "$ref": "#/definitions/ErrorList" + }, + "headers": { + "x-amzn-RequestId": { + "description": "Unique request reference identifier.", + "type": "string" + }, + "x-amzn-RateLimit-Limit": { + "description": "Your rate limit (requests per second) for this operation.", + "type": "string" + } + } + }, + "413": { + "description": "The request size exceeded the maximum accepted size.", + "schema": { + "$ref": "#/definitions/ErrorList" + }, + "headers": { + "x-amzn-RequestId": { + "description": "Unique request reference identifier.", + "type": "string" + } + } + }, + "415": { + "description": "The request payload is in an unsupported format.", + "schema": { + "$ref": "#/definitions/ErrorList" + }, + "headers": { + "x-amzn-RequestId": { + "description": "Unique request reference identifier.", + "type": "string" + } + } + }, + "429": { + "description": "The frequency of requests was greater than allowed.", + "schema": { + "$ref": "#/definitions/ErrorList" + }, + "headers": { + "x-amzn-RequestId": { + "description": "Unique request reference identifier.", + "type": "string" + } + } + }, + "503": { + "description": "Temporary overloading or maintenance of the server.", + "schema": { + "$ref": "#/definitions/ErrorList" + }, + "headers": { + "x-amzn-RequestId": { + "description": "Unique request reference identifier.", + "type": "string" + } + } + } + }, + "tags": [ + "fbaInbound" + ], + "description": "Provides a list of all placement options for an inbound plan. Placement options must first be generated by the corresponding endpoint before becoming available.\n\n**Usage Plan:**\n\n| Rate (requests per second) | Burst |\n| ---- | ---- |\n| 1 | 1 |\n\nThe `x-amzn-RateLimit-Limit` response header returns the usage plan rate limits that were applied to the requested operation, when available. The table above indicates the default rate and burst values for this operation. Selling partners whose business demands require higher throughput may see higher rate and burst values than those shown here. For more information, refer to [Usage Plans and Rate Limits in the Selling Partner API](https://developer-docs.amazon.com/sp-api/docs/usage-plans-and-rate-limits-in-the-sp-api).", + "operationId": "listPlacementOptions" + }, + "post": { + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "parameters": [ + { + "description": "Identifier to an inbound plan.", + "in": "path", + "maxLength": 38, + "minLength": 38, + "name": "inboundPlanId", + "pattern": "^[a-zA-Z0-9-]*$", + "required": true, + "type": "string" + }, + { + "in": "body", + "name": "body", + "required": true, + "schema": { + "$ref": "#/definitions/GeneratePlacementOptionsRequest" + }, + "description": "The body of the request to `generatePlacementOptions`." + } + ], + "responses": { + "202": { + "description": "GeneratePlacementOptions 202 response", + "schema": { + "$ref": "#/definitions/GeneratePlacementOptionsResponse" + }, + "x-amzn-api-sandbox": { + "static": [ + { + "request": { + "parameters": { + "inboundPlanId": { + "value": "wf1234abcd-1234-abcd-5678-1234abcd5678" + }, + "body": { + "value": { + "customPlacement": [ + { + "warehouseId": "warehouseId", + "items": [ + { + "msku": "msku", + "prepOwner": "AMAZON", + "labelOwner": "AMAZON", + "quantity": 2, + "expiration": "2024-01-01", + "manufacturingLotCode": "lotCode" + } + ] + } + ] + } + } + } + }, + "response": { + "operationId": "1234abcd-1234-abcd-5678-1234abcd5678" + } + } + ] + }, + "headers": { + "x-amzn-RequestId": { + "description": "Unique request reference identifier.", + "type": "string" + }, + "x-amzn-RateLimit-Limit": { + "description": "Your rate limit (requests per second) for this operation.", + "type": "string" + } + } + }, + "400": { + "description": "Request has missing or invalid parameters and cannot be parsed.", + "schema": { + "$ref": "#/definitions/ErrorList" + }, + "x-amzn-api-sandbox": { + "static": [ + { + "request": { + "parameters": { + "inboundPlanId": { + "value": "wf1234abcd-1234-abcd-5678-1234abcd5678" + }, + "body": { + "value": { + "customPlacement": [ + { + "warehouseId": "badWarehouseId", + "items": [ + { + "msku": "msku", + "prepOwner": "AMAZON", + "labelOwner": "AMAZON", + "quantity": 2, + "expiration": "2024-01-01", + "manufacturingLotCode": "lotCode" + } + ] + } + ] + } + } + } + }, + "response": { + "errors": [ + { + "code": "BadRequest", + "message": "The inbound plan is not in a valid state to generate placement options." + } + ] + } + } + ] + }, + "headers": { + "x-amzn-RequestId": { + "description": "Unique request reference identifier.", + "type": "string" + }, + "x-amzn-RateLimit-Limit": { + "description": "Your rate limit (requests per second) for this operation.", + "type": "string" + } + } + }, + "500": { + "description": "An unexpected condition occurred that prevented the server from fulfilling the request.", + "schema": { + "$ref": "#/definitions/ErrorList" + }, + "headers": { + "x-amzn-RequestId": { + "description": "Unique request reference identifier.", + "type": "string" + } + } + }, + "403": { + "description": "Indicates that access to the resource is forbidden. Possible reasons include Access Denied, Unauthorized, Expired Token, or Invalid Signature.", + "schema": { + "$ref": "#/definitions/ErrorList" + }, + "headers": { + "x-amzn-RequestId": { + "description": "Unique request reference identifier.", + "type": "string" + } + } + }, + "404": { + "description": "The resource specified does not exist.", + "schema": { + "$ref": "#/definitions/ErrorList" + }, + "headers": { + "x-amzn-RequestId": { + "description": "Unique request reference identifier.", + "type": "string" + }, + "x-amzn-RateLimit-Limit": { + "description": "Your rate limit (requests per second) for this operation.", + "type": "string" + } + } + }, + "413": { + "description": "The request size exceeded the maximum accepted size.", + "schema": { + "$ref": "#/definitions/ErrorList" + }, + "headers": { + "x-amzn-RequestId": { + "description": "Unique request reference identifier.", + "type": "string" + } + } + }, + "415": { + "description": "The request payload is in an unsupported format.", + "schema": { + "$ref": "#/definitions/ErrorList" + }, + "headers": { + "x-amzn-RequestId": { + "description": "Unique request reference identifier.", + "type": "string" + } + } + }, + "429": { + "description": "The frequency of requests was greater than allowed.", + "schema": { + "$ref": "#/definitions/ErrorList" + }, + "headers": { + "x-amzn-RequestId": { + "description": "Unique request reference identifier.", + "type": "string" + } + } + }, + "503": { + "description": "Temporary overloading or maintenance of the server.", + "schema": { + "$ref": "#/definitions/ErrorList" + }, + "headers": { + "x-amzn-RequestId": { + "description": "Unique request reference identifier.", + "type": "string" + } + } + } + }, + "tags": [ + "fbaInbound" + ], + "description": "Generates placement options for the inbound plan.\n\n**Usage Plan:**\n\n| Rate (requests per second) | Burst |\n| ---- | ---- |\n| 0.05 | 1 |\n\nThe `x-amzn-RateLimit-Limit` response header returns the usage plan rate limits that were applied to the requested operation, when available. The table above indicates the default rate and burst values for this operation. Selling partners whose business demands require higher throughput may see higher rate and burst values than those shown here. For more information, refer to [Usage Plans and Rate Limits in the Selling Partner API](https://developer-docs.amazon.com/sp-api/docs/usage-plans-and-rate-limits-in-the-sp-api).", + "operationId": "generatePlacementOptions" + } + }, + "/inbound/fba/2024-03-20/inboundPlans/{inboundPlanId}/placementOptions/{placementOptionId}/confirmation": { + "post": { + "produces": [ + "application/json" + ], + "parameters": [ + { + "description": "Identifier to an inbound plan.", + "in": "path", + "maxLength": 38, + "minLength": 38, + "name": "inboundPlanId", + "pattern": "^[a-zA-Z0-9-]*$", + "required": true, + "type": "string" + }, + { + "description": "Identifier to a placement option. A placement option represents the shipment splits and destinations of SKUs.", + "in": "path", + "maxLength": 38, + "minLength": 38, + "name": "placementOptionId", + "pattern": "^[a-zA-Z0-9-]*$", + "required": true, + "type": "string" + } + ], + "responses": { + "202": { + "description": "ConfirmPlacementOption 202 response", + "schema": { + "$ref": "#/definitions/ConfirmPlacementOptionResponse" + }, + "x-amzn-api-sandbox": { + "static": [ + { + "request": { + "parameters": { + "inboundPlanId": { + "value": "wf1234abcd-1234-abcd-5678-1234abcd5678" + }, + "placementOptionId": { + "value": "pl1234abcd-1234-abcd-5678-1234abcd5678" + } + } + }, + "response": { + "operationId": "1234abcd-1234-abcd-5678-1234abcd5678" + } + } + ] + }, + "headers": { + "x-amzn-RequestId": { + "description": "Unique request reference identifier.", + "type": "string" + }, + "x-amzn-RateLimit-Limit": { + "description": "Your rate limit (requests per second) for this operation.", + "type": "string" + } + } + }, + "400": { + "description": "Request has missing or invalid parameters and cannot be parsed.", + "schema": { + "$ref": "#/definitions/ErrorList" + }, + "x-amzn-api-sandbox": { + "static": [ + { + "request": { + "parameters": { + "inboundPlanId": { + "value": "wf1234abcd-1234-abcd-5678-1234abcd5678" + }, + "placementOptionId": { + "value": "bad234abcd-1234-abcd-5678-1234abcd5678" + } + } + }, + "response": { + "errors": [ + { + "code": "BadRequest", + "message": "The requested placementOptionId does not exist for the given inbound plan." + } + ] + } + } + ] + }, + "headers": { + "x-amzn-RequestId": { + "description": "Unique request reference identifier.", + "type": "string" + }, + "x-amzn-RateLimit-Limit": { + "description": "Your rate limit (requests per second) for this operation.", + "type": "string" + } + } + }, + "500": { + "description": "An unexpected condition occurred that prevented the server from fulfilling the request.", + "schema": { + "$ref": "#/definitions/ErrorList" + }, + "headers": { + "x-amzn-RequestId": { + "description": "Unique request reference identifier.", + "type": "string" + } + } + }, + "403": { + "description": "Indicates that access to the resource is forbidden. Possible reasons include Access Denied, Unauthorized, Expired Token, or Invalid Signature.", + "schema": { + "$ref": "#/definitions/ErrorList" + }, + "headers": { + "x-amzn-RequestId": { + "description": "Unique request reference identifier.", + "type": "string" + } + } + }, + "404": { + "description": "The resource specified does not exist.", + "schema": { + "$ref": "#/definitions/ErrorList" + }, + "headers": { + "x-amzn-RequestId": { + "description": "Unique request reference identifier.", + "type": "string" + }, + "x-amzn-RateLimit-Limit": { + "description": "Your rate limit (requests per second) for this operation.", + "type": "string" + } + } + }, + "413": { + "description": "The request size exceeded the maximum accepted size.", + "schema": { + "$ref": "#/definitions/ErrorList" + }, + "headers": { + "x-amzn-RequestId": { + "description": "Unique request reference identifier.", + "type": "string" + } + } + }, + "415": { + "description": "The request payload is in an unsupported format.", + "schema": { + "$ref": "#/definitions/ErrorList" + }, + "headers": { + "x-amzn-RequestId": { + "description": "Unique request reference identifier.", + "type": "string" + } + } + }, + "429": { + "description": "The frequency of requests was greater than allowed.", + "schema": { + "$ref": "#/definitions/ErrorList" + }, + "headers": { + "x-amzn-RequestId": { + "description": "Unique request reference identifier.", + "type": "string" + } + } + }, + "503": { + "description": "Temporary overloading or maintenance of the server.", + "schema": { + "$ref": "#/definitions/ErrorList" + }, + "headers": { + "x-amzn-RequestId": { + "description": "Unique request reference identifier.", + "type": "string" + } + } + } + }, + "tags": [ + "fbaInbound" + ], + "description": "Confirms the placement option for an inbound plan. Once confirmed, it cannot be changed for the Inbound Plan.\n\n**Usage Plan:**\n\n| Rate (requests per second) | Burst |\n| ---- | ---- |\n| 0.05 | 1 |\n\nThe `x-amzn-RateLimit-Limit` response header returns the usage plan rate limits that were applied to the requested operation, when available. The table above indicates the default rate and burst values for this operation. Selling partners whose business demands require higher throughput may see higher rate and burst values than those shown here. For more information, refer to [Usage Plans and Rate Limits in the Selling Partner API](https://developer-docs.amazon.com/sp-api/docs/usage-plans-and-rate-limits-in-the-sp-api).", + "operationId": "confirmPlacementOption" + } + }, + "/inbound/fba/2024-03-20/inboundPlans/{inboundPlanId}/shipments/{shipmentId}": { + "get": { + "produces": [ + "application/json" + ], + "parameters": [ + { + "description": "Identifier to an inbound plan.", + "in": "path", + "maxLength": 38, + "minLength": 38, + "name": "inboundPlanId", + "pattern": "^[a-zA-Z0-9-]*$", + "required": true, + "type": "string" + }, + { + "description": "Identifier to a shipment. A shipment contains the boxes and units being inbounded.", + "in": "path", + "maxLength": 38, + "minLength": 38, + "name": "shipmentId", + "pattern": "^[a-zA-Z0-9-]*$", + "required": true, + "type": "string" + } + ], + "responses": { + "200": { + "description": "GetShipment 200 response", + "schema": { + "$ref": "#/definitions/Shipment" + }, + "x-amzn-api-sandbox": { + "static": [ + { + "request": { + "parameters": { + "inboundPlanId": { + "value": "wf1234abcd-1234-abcd-5678-1234abcd5678" + }, + "shipmentId": { + "value": "sh1234abcd-1234-abcd-5678-1234abcd5678" + } + } + }, + "response": { + "inboundPlanId": "wf1234abcd-1234-abcd-5678-1234abcd5678", + "placementOptionId": "pl1234abcd-1234-abcd-5678-1234abcd5678", + "shipmentId": "sh1234abcd-1234-abcd-5678-1234abcd5678", + "shipmentConfirmationId": "FBA1234ABCD", + "amazonReferenceId": "amazonReferenceId", + "selectedTransportationOptionId": "to1234abcd-1234-abcd-5678-1234abcd5678", + "name": "FBA (10/02/2023 20:07)-ABC1", + "source": { + "sourceType": "SELLER_FACILITY", + "address": { + "name": "name", + "addressLine1": "123 example street", + "city": "Toronto", + "countryCode": "CA", + "stateOrProvinceCode": "ON", + "postalCode": "M1M1M1" + } + }, + "destination": { + "destinationType": "AMAZON_WAREHOUSE", + "address": { + "name": "name", + "addressLine1": "124 example street", + "city": "Toronto", + "countryCode": "CA", + "stateOrProvinceCode": "ON", + "postalCode": "M1M1M1" + }, + "warehouseId": "YYZ5" + }, + "dates": { + "deliveryWindow": { + "start": "2024-01-01T00:00Z", + "end": "2024-01-08T00:00Z", + "editableUntil": "2024-01-07T00:00Z" + } + }, + "status": "WORKING", + "trackingDetails": { + "spdTrackingDetail": { + "spdTrackingItems": [ + { + "boxId": "boxId", + "trackingId": "trackingId", + "trackingNumberValidationStatus": "VALIDATED" + } + ] + }, + "ltlTrackingDetail": { + "freightBillNumber": [ + "freightBillNumber1" + ], + "billOfLadingNumber": "billOfLadingNumber" + } + }, + "palletInformation": { + "pallets": [ + { + "stackability": "STACKABLE", + "weight": { + "unit": "KG", + "value": 5.5 + }, + "dimensions": { + "unitOfMeasurement": "CM", + "length": 3.0, + "width": 4.0, + "height": 5.0 + }, + "quantity": 2 + } + ], + "freightClass": "FC_50", + "declaredValue": { + "code": "USD", + "amount": 500.0 + } + }, + "contactInformation": { + "name": "name", + "phoneNumber": "1234567890", + "email": "email@email.com" + }, + "selfShipAppointmentDetails": [ + { + "appointmentId": 1, + "appointmentSlotTime": { + "startTime": "2024-01-01T00:00:00.000Z", + "endTime": "2024-01-01T00:00:00.000Z" + }, + "appointmentStatus": "appointmentStatus" + } + ] + } + } + ] + }, + "headers": { + "x-amzn-RequestId": { + "description": "Unique request reference identifier.", + "type": "string" + }, + "x-amzn-RateLimit-Limit": { + "description": "Your rate limit (requests per second) for this operation.", + "type": "string" + } + } + }, + "400": { + "description": "Request has missing or invalid parameters and cannot be parsed.", + "schema": { + "$ref": "#/definitions/ErrorList" + }, + "x-amzn-api-sandbox": { + "static": [ + { + "request": { + "parameters": { + "inboundPlanId": { + "value": "wf1234abcd-1234-abcd-5678-1234abcd5678" + }, + "shipmentId": { + "value": "bad234abcd-1234-abcd-5678-1234abcd5678" + } + } + }, + "response": { + "errors": [ + { + "code": "BadRequest", + "message": "The requested shipment does not exist for the provided inbound plan." + } + ] + } + } + ] + }, + "headers": { + "x-amzn-RequestId": { + "description": "Unique request reference identifier.", + "type": "string" + }, + "x-amzn-RateLimit-Limit": { + "description": "Your rate limit (requests per second) for this operation.", + "type": "string" + } + } + }, + "500": { + "description": "An unexpected condition occurred that prevented the server from fulfilling the request.", + "schema": { + "$ref": "#/definitions/ErrorList" + }, + "headers": { + "x-amzn-RequestId": { + "description": "Unique request reference identifier.", + "type": "string" + } + } + }, + "403": { + "description": "Indicates that access to the resource is forbidden. Possible reasons include Access Denied, Unauthorized, Expired Token, or Invalid Signature.", + "schema": { + "$ref": "#/definitions/ErrorList" + }, + "headers": { + "x-amzn-RequestId": { + "description": "Unique request reference identifier.", + "type": "string" + } + } + }, + "404": { + "description": "The resource specified does not exist.", + "schema": { + "$ref": "#/definitions/ErrorList" + }, + "headers": { + "x-amzn-RequestId": { + "description": "Unique request reference identifier.", + "type": "string" + }, + "x-amzn-RateLimit-Limit": { + "description": "Your rate limit (requests per second) for this operation.", + "type": "string" + } + } + }, + "413": { + "description": "The request size exceeded the maximum accepted size.", + "schema": { + "$ref": "#/definitions/ErrorList" + }, + "headers": { + "x-amzn-RequestId": { + "description": "Unique request reference identifier.", + "type": "string" + } + } + }, + "415": { + "description": "The request payload is in an unsupported format.", + "schema": { + "$ref": "#/definitions/ErrorList" + }, + "headers": { + "x-amzn-RequestId": { + "description": "Unique request reference identifier.", + "type": "string" + } + } + }, + "429": { + "description": "The frequency of requests was greater than allowed.", + "schema": { + "$ref": "#/definitions/ErrorList" + }, + "headers": { + "x-amzn-RequestId": { + "description": "Unique request reference identifier.", + "type": "string" + } + } + }, + "503": { + "description": "Temporary overloading or maintenance of the server.", + "schema": { + "$ref": "#/definitions/ErrorList" + }, + "headers": { + "x-amzn-RequestId": { + "description": "Unique request reference identifier.", + "type": "string" + } + } + } + }, + "tags": [ + "fbaInbound" + ], + "description": "Provides the full details for a specific shipment within an inbound plan. The `transportationOptionId` inside `acceptedTransportationSelection` can be used to retrieve the transportation details for the shipment.\n\n**Usage Plan:**\n\n| Rate (requests per second) | Burst |\n| ---- | ---- |\n| 1 | 1 |\n\nThe `x-amzn-RateLimit-Limit` response header returns the usage plan rate limits that were applied to the requested operation, when available. The table above indicates the default rate and burst values for this operation. Selling partners whose business demands require higher throughput may see higher rate and burst values than those shown here. For more information, refer to [Usage Plans and Rate Limits in the Selling Partner API](https://developer-docs.amazon.com/sp-api/docs/usage-plans-and-rate-limits-in-the-sp-api).", + "operationId": "getShipment" + } + }, + "/inbound/fba/2024-03-20/inboundPlans/{inboundPlanId}/shipments/{shipmentId}/deliveryChallanDocument": { + "get": { + "produces": [ + "application/json" + ], + "parameters": [ + { + "description": "Identifier to an inbound plan.", + "in": "path", + "maxLength": 38, + "minLength": 38, + "name": "inboundPlanId", + "pattern": "^[a-zA-Z0-9-]*$", + "required": true, + "type": "string" + }, + { + "description": "Identifier to a shipment. A shipment contains the boxes and units being inbounded.", + "in": "path", + "maxLength": 38, + "minLength": 38, + "name": "shipmentId", + "pattern": "^[a-zA-Z0-9-]*$", + "required": true, + "type": "string" + } + ], + "responses": { + "200": { + "description": "GetDeliveryChallanDocument 200 response", + "schema": { + "$ref": "#/definitions/GetDeliveryChallanDocumentResponse" + }, + "x-amzn-api-sandbox": { + "static": [ + { + "request": { + "parameters": { + "inboundPlanId": { + "value": "wf1234abcd-1234-abcd-5678-1234abcd5678" + }, + "shipmentId": { + "value": "sh1234abcd-1234-abcd-5678-1234abcd5678" + } + } + }, + "response": { + "documentDownload": { + "uri": "https://s3.amazonaws.com/bucket", + "downloadType": "URL", + "expiration": "2024-01-01T00:00:00.000Z" + } + } + } + ] + }, + "headers": { + "x-amzn-RequestId": { + "description": "Unique request reference identifier.", + "type": "string" + }, + "x-amzn-RateLimit-Limit": { + "description": "Your rate limit (requests per second) for this operation.", + "type": "string" + } + } + }, + "400": { + "description": "Request has missing or invalid parameters and cannot be parsed.", + "schema": { + "$ref": "#/definitions/ErrorList" + }, + "x-amzn-api-sandbox": { + "static": [ + { + "request": { + "parameters": { + "inboundPlanId": { + "value": "wf1234abcd-1234-abcd-5678-1234abcd5678" + }, + "shipmentId": { + "value": "bad234abcd-1234-abcd-5678-1234abcd5678" + } + } + }, + "response": { + "errors": [ + { + "code": "BadRequest", + "message": "The requested shipmentId does not exist for the specified inbound plan." + } + ] + } + } + ] + }, + "headers": { + "x-amzn-RequestId": { + "description": "Unique request reference identifier.", + "type": "string" + }, + "x-amzn-RateLimit-Limit": { + "description": "Your rate limit (requests per second) for this operation.", + "type": "string" + } + } + }, + "500": { + "description": "An unexpected condition occurred that prevented the server from fulfilling the request.", + "schema": { + "$ref": "#/definitions/ErrorList" + }, + "headers": { + "x-amzn-RequestId": { + "description": "Unique request reference identifier.", + "type": "string" + } + } + }, + "403": { + "description": "Indicates that access to the resource is forbidden. Possible reasons include Access Denied, Unauthorized, Expired Token, or Invalid Signature.", + "schema": { + "$ref": "#/definitions/ErrorList" + }, + "headers": { + "x-amzn-RequestId": { + "description": "Unique request reference identifier.", + "type": "string" + } + } + }, + "404": { + "description": "The resource specified does not exist.", + "schema": { + "$ref": "#/definitions/ErrorList" + }, + "headers": { + "x-amzn-RequestId": { + "description": "Unique request reference identifier.", + "type": "string" + }, + "x-amzn-RateLimit-Limit": { + "description": "Your rate limit (requests per second) for this operation.", + "type": "string" + } + } + }, + "413": { + "description": "The request size exceeded the maximum accepted size.", + "schema": { + "$ref": "#/definitions/ErrorList" + }, + "headers": { + "x-amzn-RequestId": { + "description": "Unique request reference identifier.", + "type": "string" + } + } + }, + "415": { + "description": "The request payload is in an unsupported format.", + "schema": { + "$ref": "#/definitions/ErrorList" + }, + "headers": { + "x-amzn-RequestId": { + "description": "Unique request reference identifier.", + "type": "string" + } + } + }, + "429": { + "description": "The frequency of requests was greater than allowed.", + "schema": { + "$ref": "#/definitions/ErrorList" + }, + "headers": { + "x-amzn-RequestId": { + "description": "Unique request reference identifier.", + "type": "string" + } + } + }, + "503": { + "description": "Temporary overloading or maintenance of the server.", + "schema": { + "$ref": "#/definitions/ErrorList" + }, + "headers": { + "x-amzn-RequestId": { + "description": "Unique request reference identifier.", + "type": "string" + } + } + } + }, + "tags": [ + "fbaInbound" + ], + "description": "Provide delivery challan document for PCP transportation in IN marketplace.\n\n**Usage Plan:**\n\n| Rate (requests per second) | Burst |\n| ---- | ---- |\n| 1 | 1 |\n\nThe `x-amzn-RateLimit-Limit` response header returns the usage plan rate limits that were applied to the requested operation, when available. The table above indicates the default rate and burst values for this operation. Selling partners whose business demands require higher throughput may see higher rate and burst values than those shown here. For more information, refer to [Usage Plans and Rate Limits in the Selling Partner API](https://developer-docs.amazon.com/sp-api/docs/usage-plans-and-rate-limits-in-the-sp-api).", + "operationId": "getDeliveryChallanDocument" + } + }, + "/inbound/fba/2024-03-20/inboundPlans/{inboundPlanId}/shipments/{shipmentId}/deliveryWindow": { + "post": { + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "parameters": [ + { + "description": "Identifier to an inbound plan.", + "in": "path", + "maxLength": 38, + "minLength": 38, + "name": "inboundPlanId", + "pattern": "^[a-zA-Z0-9-]*$", + "required": true, + "type": "string" + }, + { + "description": "Identifier to a shipment. A shipment contains the boxes and units being inbounded.", + "in": "path", + "maxLength": 38, + "minLength": 38, + "name": "shipmentId", + "pattern": "^[a-zA-Z0-9-]*$", + "required": true, + "type": "string" + }, + { + "in": "body", + "name": "body", + "required": true, + "schema": { + "$ref": "#/definitions/UpdateShipmentDeliveryWindowRequest" + }, + "description": "The body of the request to `updateShipmentDeliveryWindow`." + } + ], + "responses": { + "202": { + "description": "UpdateShipmentDeliveryWindow 202 response", + "schema": { + "$ref": "#/definitions/UpdateShipmentDeliveryWindowResponse" + }, + "x-amzn-api-sandbox": { + "static": [ + { + "request": { + "parameters": { + "inboundPlanId": { + "value": "wf1234abcd-1234-abcd-5678-1234abcd5678" + }, + "shipmentId": { + "value": "sh1234abcd-1234-abcd-5678-1234abcd5678" + }, + "body": { + "value": { + "deliveryWindow": { + "start": "2024-01-01T00:00Z" + } + } + } + } + }, + "response": { + "operationId": "1234abcd-1234-abcd-5678-1234abcd5678" + } + } + ] + }, + "headers": { + "x-amzn-RequestId": { + "description": "Unique request reference identifier.", + "type": "string" + }, + "x-amzn-RateLimit-Limit": { + "description": "Your rate limit (requests per second) for this operation.", + "type": "string" + } + } + }, + "400": { + "description": "Request has missing or invalid parameters and cannot be parsed.", + "schema": { + "$ref": "#/definitions/ErrorList" + }, + "x-amzn-api-sandbox": { + "static": [ + { + "request": { + "parameters": { + "inboundPlanId": { + "value": "wf1234abcd-1234-abcd-5678-1234abcd5678" + }, + "shipmentId": { + "value": "bad234abcd-1234-abcd-5678-1234abcd5678" + }, + "body": { + "value": { + "deliveryWindow": { + "start": "2024-01-01T00:00Z" + } + } + } + } + }, + "response": { + "errors": [ + { + "code": "BadRequest", + "message": "The requested shipmentId does not exist for the specified inbound plan." + } + ] + } + } + ] + }, + "headers": { + "x-amzn-RequestId": { + "description": "Unique request reference identifier.", + "type": "string" + }, + "x-amzn-RateLimit-Limit": { + "description": "Your rate limit (requests per second) for this operation.", + "type": "string" + } + } + }, + "500": { + "description": "An unexpected condition occurred that prevented the server from fulfilling the request.", + "schema": { + "$ref": "#/definitions/ErrorList" + }, + "headers": { + "x-amzn-RequestId": { + "description": "Unique request reference identifier.", + "type": "string" + } + } + }, + "403": { + "description": "Indicates that access to the resource is forbidden. Possible reasons include Access Denied, Unauthorized, Expired Token, or Invalid Signature.", + "schema": { + "$ref": "#/definitions/ErrorList" + }, + "headers": { + "x-amzn-RequestId": { + "description": "Unique request reference identifier.", + "type": "string" + } + } + }, + "404": { + "description": "The resource specified does not exist.", + "schema": { + "$ref": "#/definitions/ErrorList" + }, + "headers": { + "x-amzn-RequestId": { + "description": "Unique request reference identifier.", + "type": "string" + }, + "x-amzn-RateLimit-Limit": { + "description": "Your rate limit (requests per second) for this operation.", + "type": "string" + } + } + }, + "413": { + "description": "The request size exceeded the maximum accepted size.", + "schema": { + "$ref": "#/definitions/ErrorList" + }, + "headers": { + "x-amzn-RequestId": { + "description": "Unique request reference identifier.", + "type": "string" + } + } + }, + "415": { + "description": "The request payload is in an unsupported format.", + "schema": { + "$ref": "#/definitions/ErrorList" + }, + "headers": { + "x-amzn-RequestId": { + "description": "Unique request reference identifier.", + "type": "string" + } + } + }, + "429": { + "description": "The frequency of requests was greater than allowed.", + "schema": { + "$ref": "#/definitions/ErrorList" + }, + "headers": { + "x-amzn-RequestId": { + "description": "Unique request reference identifier.", + "type": "string" + } + } + }, + "503": { + "description": "Temporary overloading or maintenance of the server.", + "schema": { + "$ref": "#/definitions/ErrorList" + }, + "headers": { + "x-amzn-RequestId": { + "description": "Unique request reference identifier.", + "type": "string" + } + } + } + }, + "tags": [ + "fbaInbound" + ], + "description": "Update the time window that a shipment will be delivered to the warehouse. The window is used to provide the expected time that a non-Amazon partnered carrier will arrive at the warehouse.\n\n**Usage Plan:**\n\n| Rate (requests per second) | Burst |\n| ---- | ---- |\n| 1 | 1 |\n\nThe `x-amzn-RateLimit-Limit` response header returns the usage plan rate limits that were applied to the requested operation, when available. The table above indicates the default rate and burst values for this operation. Selling partners whose business demands require higher throughput may see higher rate and burst values than those shown here. For more information, refer to [Usage Plans and Rate Limits in the Selling Partner API](https://developer-docs.amazon.com/sp-api/docs/usage-plans-and-rate-limits-in-the-sp-api).", + "operationId": "updateShipmentDeliveryWindow" + } + }, + "/inbound/fba/2024-03-20/inboundPlans/{inboundPlanId}/shipments/{shipmentId}/selfShipAppointmentSlots": { + "get": { + "produces": [ + "application/json" + ], + "parameters": [ + { + "description": "Identifier to an inbound plan.", + "in": "path", + "maxLength": 38, + "minLength": 38, + "name": "inboundPlanId", + "pattern": "^[a-zA-Z0-9-]*$", + "required": true, + "type": "string" + }, + { + "description": "Identifier to a shipment. A shipment contains the boxes and units being inbounded.", + "in": "path", + "maxLength": 38, + "minLength": 38, + "name": "shipmentId", + "pattern": "^[a-zA-Z0-9-]*$", + "required": true, + "type": "string" + }, + { + "description": "The number of self ship appointment slots to return in the response matching the given query.", + "in": "query", + "maximum": 100, + "minimum": 1, + "name": "pageSize", + "type": "integer", + "default": 10 + }, + { + "description": "A token to fetch a certain page when there are multiple pages worth of results. The value of this token is fetched from the `pagination` returned in the API response. In the absence of the token value from the query parameter the API returns the first page of the result.", + "in": "query", + "maxLength": 1024, + "minLength": 0, + "name": "paginationToken", + "type": "string" + } + ], + "responses": { + "200": { + "description": "GetSelfShipAppointmentSlots 200 response", + "schema": { + "$ref": "#/definitions/GetSelfShipAppointmentSlotsResponse" + }, + "x-amzn-api-sandbox": { + "static": [ + { + "request": { + "parameters": { + "inboundPlanId": { + "value": "wf1234abcd-1234-abcd-5678-1234abcd5678" + }, + "shipmentId": { + "value": "sh1234abcd-1234-abcd-5678-1234abcd5678" + }, + "pageSize": { + "value": 2 + }, + "paginationToken": { + "value": "paginationToken" + } + } + }, + "response": { + "selfShipAppointmentSlotsAvailability": { + "expiresAt": "2024-01-02T00:00:00.000Z", + "slots": [ + { + "slotId": "aa1234abcd-1234-abcd-5678-1234abcd5678", + "slotTime": { + "startTime": "2024-01-01T00:00:00.000Z", + "endTime": "2024-01-02T00:00:00.000Z" + } + } + ] + }, + "pagination": { + "nextToken": "nextPaginationToken" + } + } + } + ] + }, + "headers": { + "x-amzn-RequestId": { + "description": "Unique request reference identifier.", + "type": "string" + }, + "x-amzn-RateLimit-Limit": { + "description": "Your rate limit (requests per second) for this operation.", + "type": "string" + } + } + }, + "400": { + "description": "Request has missing or invalid parameters and cannot be parsed.", + "schema": { + "$ref": "#/definitions/ErrorList" + }, + "x-amzn-api-sandbox": { + "static": [ + { + "request": { + "parameters": { + "inboundPlanId": { + "value": "wf1234abcd-1234-abcd-5678-1234abcd5678" + }, + "shipmentId": { + "value": "bad234abcd-1234-abcd-5678-1234abcd5678" + } + } + }, + "response": { + "errors": [ + { + "code": "BadRequest", + "message": "The requested shipmentId does not exist for the given inbound plan." + } + ] + } + } + ] + }, + "headers": { + "x-amzn-RequestId": { + "description": "Unique request reference identifier.", + "type": "string" + }, + "x-amzn-RateLimit-Limit": { + "description": "Your rate limit (requests per second) for this operation.", + "type": "string" + } + } + }, + "500": { + "description": "An unexpected condition occurred that prevented the server from fulfilling the request.", + "schema": { + "$ref": "#/definitions/ErrorList" + }, + "headers": { + "x-amzn-RequestId": { + "description": "Unique request reference identifier.", + "type": "string" + } + } + }, + "403": { + "description": "Indicates that access to the resource is forbidden. Possible reasons include Access Denied, Unauthorized, Expired Token, or Invalid Signature.", + "schema": { + "$ref": "#/definitions/ErrorList" + }, + "headers": { + "x-amzn-RequestId": { + "description": "Unique request reference identifier.", + "type": "string" + } + } + }, + "404": { + "description": "The resource specified does not exist.", + "schema": { + "$ref": "#/definitions/ErrorList" + }, + "headers": { + "x-amzn-RequestId": { + "description": "Unique request reference identifier.", + "type": "string" + }, + "x-amzn-RateLimit-Limit": { + "description": "Your rate limit (requests per second) for this operation.", + "type": "string" + } + } + }, + "413": { + "description": "The request size exceeded the maximum accepted size.", + "schema": { + "$ref": "#/definitions/ErrorList" + }, + "headers": { + "x-amzn-RequestId": { + "description": "Unique request reference identifier.", + "type": "string" + } + } + }, + "415": { + "description": "The request payload is in an unsupported format.", + "schema": { + "$ref": "#/definitions/ErrorList" + }, + "headers": { + "x-amzn-RequestId": { + "description": "Unique request reference identifier.", + "type": "string" + } + } + }, + "429": { + "description": "The frequency of requests was greater than allowed.", + "schema": { + "$ref": "#/definitions/ErrorList" + }, + "headers": { + "x-amzn-RequestId": { + "description": "Unique request reference identifier.", + "type": "string" + } + } + }, + "503": { + "description": "Temporary overloading or maintenance of the server.", + "schema": { + "$ref": "#/definitions/ErrorList" + }, + "headers": { + "x-amzn-RequestId": { + "description": "Unique request reference identifier.", + "type": "string" + } + } + } + }, + "tags": [ + "fbaInbound" + ], + "description": "Retrieves a list of available self-ship appointment slots used to drop off a shipment at a warehouse.\n\n**Usage Plan:**\n\n| Rate (requests per second) | Burst |\n| ---- | ---- |\n| 1 | 1 |\n\nThe `x-amzn-RateLimit-Limit` response header returns the usage plan rate limits that were applied to the requested operation, when available. The table above indicates the default rate and burst values for this operation. Selling partners whose business demands require higher throughput may see higher rate and burst values than those shown here. For more information, refer to [Usage Plans and Rate Limits in the Selling Partner API](https://developer-docs.amazon.com/sp-api/docs/usage-plans-and-rate-limits-in-the-sp-api).", + "operationId": "getSelfShipAppointmentSlots" + }, + "post": { + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "parameters": [ + { + "description": "Identifier to an inbound plan.", + "in": "path", + "maxLength": 38, + "minLength": 38, + "name": "inboundPlanId", + "pattern": "^[a-zA-Z0-9-]*$", + "required": true, + "type": "string" + }, + { + "description": "Identifier to a shipment. A shipment contains the boxes and units being inbounded.", + "in": "path", + "maxLength": 38, + "minLength": 38, + "name": "shipmentId", + "pattern": "^[a-zA-Z0-9-]*$", + "required": true, + "type": "string" + }, + { + "in": "body", + "name": "body", + "required": true, + "schema": { + "$ref": "#/definitions/GenerateSelfShipAppointmentSlotsRequest" + }, + "description": "The body of the request `generateSelfShipAppointmentSlots`." + } + ], + "responses": { + "201": { + "description": "GenerateSelfShipAppointmentSlots 201 response", + "schema": { + "$ref": "#/definitions/GenerateSelfShipAppointmentSlotsResponse" + }, + "x-amzn-api-sandbox": { + "static": [ + { + "request": { + "parameters": { + "inboundPlanId": { + "value": "wf1234abcd-1234-abcd-5678-1234abcd5678" + }, + "shipmentId": { + "value": "sh1234abcd-1234-abcd-5678-1234abcd5678" + }, + "body": { + "value": { + "desiredEndDate": "2024-01-15T00:00:00.000Z", + "desiredStartDate": "2024-01-16T00:00:00.000Z" + } + } + } + }, + "response": { + "operationId": "1234abcd-1234-abcd-5678-1234abcd5678" + } + } + ] + }, + "headers": { + "x-amzn-RequestId": { + "description": "Unique request reference identifier.", + "type": "string" + }, + "x-amzn-RateLimit-Limit": { + "description": "Your rate limit (requests per second) for this operation.", + "type": "string" + } + } + }, + "400": { + "description": "Request has missing or invalid parameters and cannot be parsed.", + "schema": { + "$ref": "#/definitions/ErrorList" + }, + "x-amzn-api-sandbox": { + "static": [ + { + "request": { + "parameters": { + "inboundPlanId": { + "value": "wf1234abcd-1234-abcd-5678-1234abcd5678" + }, + "shipmentId": { + "value": "bad234abcd-1234-abcd-5678-1234abcd5678" + }, + "body": { + "value": { + "desiredEndDate": "2024-01-15T00:00:00.000Z", + "desiredStartDate": "2024-01-16T00:00:00.000Z" + } + } + } + }, + "response": { + "errors": [ + { + "code": "BadRequest", + "message": "The requested shipmentId does not exist in the inbound plan." + } + ] + } + } + ] + }, + "headers": { + "x-amzn-RequestId": { + "description": "Unique request reference identifier.", + "type": "string" + }, + "x-amzn-RateLimit-Limit": { + "description": "Your rate limit (requests per second) for this operation.", + "type": "string" + } + } + }, + "500": { + "description": "An unexpected condition occurred that prevented the server from fulfilling the request.", + "schema": { + "$ref": "#/definitions/ErrorList" + }, + "headers": { + "x-amzn-RequestId": { + "description": "Unique request reference identifier.", + "type": "string" + } + } + }, + "403": { + "description": "Indicates that access to the resource is forbidden. Possible reasons include Access Denied, Unauthorized, Expired Token, or Invalid Signature.", + "schema": { + "$ref": "#/definitions/ErrorList" + }, + "headers": { + "x-amzn-RequestId": { + "description": "Unique request reference identifier.", + "type": "string" + } + } + }, + "404": { + "description": "The resource specified does not exist.", + "schema": { + "$ref": "#/definitions/ErrorList" + }, + "headers": { + "x-amzn-RequestId": { + "description": "Unique request reference identifier.", + "type": "string" + }, + "x-amzn-RateLimit-Limit": { + "description": "Your rate limit (requests per second) for this operation.", + "type": "string" + } + } + }, + "413": { + "description": "The request size exceeded the maximum accepted size.", + "schema": { + "$ref": "#/definitions/ErrorList" + }, + "headers": { + "x-amzn-RequestId": { + "description": "Unique request reference identifier.", + "type": "string" + } + } + }, + "415": { + "description": "The request payload is in an unsupported format.", + "schema": { + "$ref": "#/definitions/ErrorList" + }, + "headers": { + "x-amzn-RequestId": { + "description": "Unique request reference identifier.", + "type": "string" + } + } + }, + "429": { + "description": "The frequency of requests was greater than allowed.", + "schema": { + "$ref": "#/definitions/ErrorList" + }, + "headers": { + "x-amzn-RequestId": { + "description": "Unique request reference identifier.", + "type": "string" + } + } + }, + "503": { + "description": "Temporary overloading or maintenance of the server.", + "schema": { + "$ref": "#/definitions/ErrorList" + }, + "headers": { + "x-amzn-RequestId": { + "description": "Unique request reference identifier.", + "type": "string" + } + } + } + }, + "tags": [ + "fbaInbound" + ], + "description": "Initiates the process of generating the appointment slots list.\n\n**Usage Plan:**\n\n| Rate (requests per second) | Burst |\n| ---- | ---- |\n| 1 | 1 |\n\nThe `x-amzn-RateLimit-Limit` response header returns the usage plan rate limits that were applied to the requested operation, when available. The table above indicates the default rate and burst values for this operation. Selling partners whose business demands require higher throughput may see higher rate and burst values than those shown here. For more information, refer to [Usage Plans and Rate Limits in the Selling Partner API](https://developer-docs.amazon.com/sp-api/docs/usage-plans-and-rate-limits-in-the-sp-api).", + "operationId": "generateSelfShipAppointmentSlots" + } + }, + "/inbound/fba/2024-03-20/inboundPlans/{inboundPlanId}/shipments/{shipmentId}/selfShipAppointmentSlots/{slotId}/cancellation": { + "put": { + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "parameters": [ + { + "description": "Identifier to an inbound plan.", + "in": "path", + "maxLength": 38, + "minLength": 38, + "name": "inboundPlanId", + "pattern": "^[a-zA-Z0-9-]*$", + "required": true, + "type": "string" + }, + { + "description": "Identifier to a shipment. A shipment contains the boxes and units being inbounded.", + "in": "path", + "maxLength": 38, + "minLength": 38, + "name": "shipmentId", + "pattern": "^[a-zA-Z0-9-]*$", + "required": true, + "type": "string" + }, + { + "description": "Identifier to a self-ship appointment slot.", + "in": "path", + "maxLength": 38, + "minLength": 38, + "name": "slotId", + "pattern": "^[a-zA-Z0-9-]*$", + "required": true, + "type": "string" + }, + { + "in": "body", + "name": "body", + "required": true, + "schema": { + "$ref": "#/definitions/CancelSelfShipAppointmentRequest" + }, + "description": "The body of the request to `cancelSelfShipAppointment`." + } + ], + "responses": { + "202": { + "description": "CancelSelfShipAppointment 202 response", + "schema": { + "$ref": "#/definitions/CancelSelfShipAppointmentResponse" + }, + "x-amzn-api-sandbox": { + "static": [ + { + "request": { + "parameters": { + "inboundPlanId": { + "value": "wf1234abcd-1234-abcd-5678-1234abcd5678" + }, + "shipmentId": { + "value": "sh1234abcd-1234-abcd-5678-1234abcd5678" + }, + "slotId": { + "value": "aa1234abcd-1234-abcd-5678-1234abcd5678" + }, + "body": { + "value": { + "reasonComment": "OTHER" + } + } + } + }, + "response": { + "operationId": "1234abcd-1234-abcd-5678-1234abcd5678" + } + } + ] + }, + "headers": { + "x-amzn-RequestId": { + "description": "Unique request reference identifier.", + "type": "string" + }, + "x-amzn-RateLimit-Limit": { + "description": "Your rate limit (requests per second) for this operation.", + "type": "string" + } + } + }, + "400": { + "description": "Request has missing or invalid parameters and cannot be parsed.", + "schema": { + "$ref": "#/definitions/ErrorList" + }, + "x-amzn-api-sandbox": { + "static": [ + { + "request": { + "parameters": { + "inboundPlanId": { + "value": "wf1234abcd-1234-abcd-5678-1234abcd5678" + }, + "shipmentId": { + "value": "bad234abcd-1234-abcd-5678-1234abcd5678" + }, + "slotId": { + "value": "aa1234abcd-1234-abcd-5678-1234abcd5678" + }, + "body": { + "value": { + "reasonComment": "OTHER" + } + } + } + }, + "response": { + "errors": [ + { + "code": "BadRequest", + "message": "The requested shipmentId does not exist for the specified inbound plan." + } + ] + } + } + ] + }, + "headers": { + "x-amzn-RequestId": { + "description": "Unique request reference identifier.", + "type": "string" + }, + "x-amzn-RateLimit-Limit": { + "description": "Your rate limit (requests per second) for this operation.", + "type": "string" + } + } + }, + "500": { + "description": "An unexpected condition occurred that prevented the server from fulfilling the request.", + "schema": { + "$ref": "#/definitions/ErrorList" + }, + "headers": { + "x-amzn-RequestId": { + "description": "Unique request reference identifier.", + "type": "string" + } + } + }, + "403": { + "description": "Indicates that access to the resource is forbidden. Possible reasons include Access Denied, Unauthorized, Expired Token, or Invalid Signature.", + "schema": { + "$ref": "#/definitions/ErrorList" + }, + "headers": { + "x-amzn-RequestId": { + "description": "Unique request reference identifier.", + "type": "string" + } + } + }, + "404": { + "description": "The resource specified does not exist.", + "schema": { + "$ref": "#/definitions/ErrorList" + }, + "headers": { + "x-amzn-RequestId": { + "description": "Unique request reference identifier.", + "type": "string" + }, + "x-amzn-RateLimit-Limit": { + "description": "Your rate limit (requests per second) for this operation.", + "type": "string" + } + } + }, + "413": { + "description": "The request size exceeded the maximum accepted size.", + "schema": { + "$ref": "#/definitions/ErrorList" + }, + "headers": { + "x-amzn-RequestId": { + "description": "Unique request reference identifier.", + "type": "string" + } + } + }, + "415": { + "description": "The request payload is in an unsupported format.", + "schema": { + "$ref": "#/definitions/ErrorList" + }, + "headers": { + "x-amzn-RequestId": { + "description": "Unique request reference identifier.", + "type": "string" + } + } + }, + "429": { + "description": "The frequency of requests was greater than allowed.", + "schema": { + "$ref": "#/definitions/ErrorList" + }, + "headers": { + "x-amzn-RequestId": { + "description": "Unique request reference identifier.", + "type": "string" + } + } + }, + "503": { + "description": "Temporary overloading or maintenance of the server.", + "schema": { + "$ref": "#/definitions/ErrorList" + }, + "headers": { + "x-amzn-RequestId": { + "description": "Unique request reference identifier.", + "type": "string" + } + } + } + }, + "tags": [ + "fbaInbound" + ], + "description": "Cancels a self-ship appointment slot against a shipment.\n\n**Usage Plan:**\n\n| Rate (requests per second) | Burst |\n| ---- | ---- |\n| 1 | 1 |\n\nThe `x-amzn-RateLimit-Limit` response header returns the usage plan rate limits that were applied to the requested operation, when available. The table above indicates the default rate and burst values for this operation. Selling partners whose business demands require higher throughput may see higher rate and burst values than those shown here. For more information, refer to [Usage Plans and Rate Limits in the Selling Partner API](https://developer-docs.amazon.com/sp-api/docs/usage-plans-and-rate-limits-in-the-sp-api).", + "operationId": "cancelSelfShipAppointment" + } + }, + "/inbound/fba/2024-03-20/inboundPlans/{inboundPlanId}/shipments/{shipmentId}/selfShipAppointmentSlots/{slotId}/schedule": { + "post": { + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "parameters": [ + { + "description": "Identifier to an inbound plan.", + "in": "path", + "maxLength": 38, + "minLength": 38, + "name": "inboundPlanId", + "pattern": "^[a-zA-Z0-9-]*$", + "required": true, + "type": "string" + }, + { + "description": "Identifier to a shipment. A shipment contains the boxes and units being inbounded.", + "in": "path", + "maxLength": 38, + "minLength": 38, + "name": "shipmentId", + "pattern": "^[a-zA-Z0-9-]*$", + "required": true, + "type": "string" + }, + { + "description": "Identifier to a self-ship appointment slot.", + "in": "path", + "maxLength": 38, + "minLength": 38, + "name": "slotId", + "pattern": "^[a-zA-Z0-9-]*$", + "required": true, + "type": "string" + }, + { + "in": "body", + "name": "body", + "required": true, + "schema": { + "$ref": "#/definitions/ScheduleSelfShipAppointmentRequest" + }, + "description": "The body of the request to `scheduleSelfShipAppointment`." + } + ], + "responses": { + "200": { + "description": "ScheduleSelfShipAppointment 200 response", + "schema": { + "$ref": "#/definitions/ScheduleSelfShipAppointmentResponse" + }, + "x-amzn-api-sandbox": { + "static": [ + { + "request": { + "parameters": { + "inboundPlanId": { + "value": "wf1234abcd-1234-abcd-5678-1234abcd5678" + }, + "shipmentId": { + "value": "sh1234abcd-1234-abcd-5678-1234abcd5678" + }, + "slotId": { + "value": "aa1234abcd-1234-abcd-5678-1234abcd5678" + }, + "body": { + "value": { + "reasonComment": "OTHER" + } + } + } + }, + "response": { + "selfShipAppointmentDetails": { + "appointmentId": 1000, + "appointmentSlotTime": { + "startTime": "2023-03-08T13:15:30Z", + "endTime": "2023-03-09T13:15:30Z" + }, + "appointmentStatus": "ARRIVAL_SCHEDULED" + } + } + } + ] + }, + "headers": { + "x-amzn-RequestId": { + "description": "Unique request reference identifier.", + "type": "string" + }, + "x-amzn-RateLimit-Limit": { + "description": "Your rate limit (requests per second) for this operation.", + "type": "string" + } + } + }, + "400": { + "description": "Request has missing or invalid parameters and cannot be parsed.", + "schema": { + "$ref": "#/definitions/ErrorList" + }, + "x-amzn-api-sandbox": { + "static": [ + { + "request": { + "parameters": { + "inboundPlanId": { + "value": "wf1234abcd-1234-abcd-5678-1234abcd5678" + }, + "shipmentId": { + "value": "bad234abcd-1234-abcd-5678-1234abcd5678" + }, + "slotId": { + "value": "aa1234abcd-1234-abcd-5678-1234abcd5678" + }, + "body": { + "value": { + "reasonComment": "OTHER" + } + } + } + }, + "response": { + "errors": [ + { + "code": "BadRequest", + "message": "The requested shipmentId does not exist for the specified inbound plan." + } + ] + } + } + ] + }, + "headers": { + "x-amzn-RequestId": { + "description": "Unique request reference identifier.", + "type": "string" + }, + "x-amzn-RateLimit-Limit": { + "description": "Your rate limit (requests per second) for this operation.", + "type": "string" + } + } + }, + "500": { + "description": "An unexpected condition occurred that prevented the server from fulfilling the request.", + "schema": { + "$ref": "#/definitions/ErrorList" + }, + "headers": { + "x-amzn-RequestId": { + "description": "Unique request reference identifier.", + "type": "string" + } + } + }, + "403": { + "description": "Indicates that access to the resource is forbidden. Possible reasons include Access Denied, Unauthorized, Expired Token, or Invalid Signature.", + "schema": { + "$ref": "#/definitions/ErrorList" + }, + "headers": { + "x-amzn-RequestId": { + "description": "Unique request reference identifier.", + "type": "string" + } + } + }, + "404": { + "description": "The resource specified does not exist.", + "schema": { + "$ref": "#/definitions/ErrorList" + }, + "headers": { + "x-amzn-RequestId": { + "description": "Unique request reference identifier.", + "type": "string" + }, + "x-amzn-RateLimit-Limit": { + "description": "Your rate limit (requests per second) for this operation.", + "type": "string" + } + } + }, + "413": { + "description": "The request size exceeded the maximum accepted size.", + "schema": { + "$ref": "#/definitions/ErrorList" + }, + "headers": { + "x-amzn-RequestId": { + "description": "Unique request reference identifier.", + "type": "string" + } + } + }, + "415": { + "description": "The request payload is in an unsupported format.", + "schema": { + "$ref": "#/definitions/ErrorList" + }, + "headers": { + "x-amzn-RequestId": { + "description": "Unique request reference identifier.", + "type": "string" + } + } + }, + "429": { + "description": "The frequency of requests was greater than allowed.", + "schema": { + "$ref": "#/definitions/ErrorList" + }, + "headers": { + "x-amzn-RequestId": { + "description": "Unique request reference identifier.", + "type": "string" + } + } + }, + "503": { + "description": "Temporary overloading or maintenance of the server.", + "schema": { + "$ref": "#/definitions/ErrorList" + }, + "headers": { + "x-amzn-RequestId": { + "description": "Unique request reference identifier.", + "type": "string" + } + } + } + }, + "tags": [ + "fbaInbound" + ], + "description": "Confirms or reschedules a self-ship appointment slot against a shipment.\n\n**Usage Plan:**\n\n| Rate (requests per second) | Burst |\n| ---- | ---- |\n| 1 | 1 |\n\nThe `x-amzn-RateLimit-Limit` response header returns the usage plan rate limits that were applied to the requested operation, when available. The table above indicates the default rate and burst values for this operation. Selling partners whose business demands require higher throughput may see higher rate and burst values than those shown here. For more information, refer to [Usage Plans and Rate Limits in the Selling Partner API](https://developer-docs.amazon.com/sp-api/docs/usage-plans-and-rate-limits-in-the-sp-api).", + "operationId": "scheduleSelfShipAppointment" + } + }, + "/inbound/fba/2024-03-20/inboundPlans/{inboundPlanId}/shipments/{shipmentId}/trackingDetails": { + "put": { + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "parameters": [ + { + "description": "Identifier to an inbound plan.", + "in": "path", + "maxLength": 38, + "minLength": 38, + "name": "inboundPlanId", + "pattern": "^[a-zA-Z0-9-]*$", + "required": true, + "type": "string" + }, + { + "description": "Identifier to a shipment. A shipment contains the boxes and units being inbounded.", + "in": "path", + "maxLength": 38, + "minLength": 38, + "name": "shipmentId", + "pattern": "^[a-zA-Z0-9-]*$", + "required": true, + "type": "string" + }, + { + "in": "body", + "name": "body", + "required": true, + "schema": { + "$ref": "#/definitions/UpdateShipmentTrackingDetailsRequest" + }, + "description": "The body of the request to `updateShipmentTrackingDetails`." + } + ], + "responses": { + "202": { + "description": "UpdateShipmentTrackingDetails 202 response", + "schema": { + "$ref": "#/definitions/UpdateShipmentTrackingDetailsResponse" + }, + "x-amzn-api-sandbox": { + "static": [ + { + "request": { + "parameters": { + "inboundPlanId": { + "value": "wf1234abcd-1234-abcd-5678-1234abcd5678" + }, + "shipmentId": { + "value": "sh1234abcd-1234-abcd-5678-1234abcd5678" + }, + "body": { + "value": { + "trackingDetails": { + "ltlTrackingDetail": { + "freightBillNumber": [ + "freightBillNumber1" + ], + "billOfLadingNumber": "billOfLadingNumber" + }, + "spdTrackingDetail": { + "spdTrackingItems": [ + { + "boxId": "boxId", + "trackingId": "trackingId" + } + ] + } + } + } + } + } + }, + "response": { + "operationId": "1234abcd-1234-abcd-5678-1234abcd5678" + } + } + ] + }, + "headers": { + "x-amzn-RequestId": { + "description": "Unique request reference identifier.", + "type": "string" + }, + "x-amzn-RateLimit-Limit": { + "description": "Your rate limit (requests per second) for this operation.", + "type": "string" + } + } + }, + "400": { + "description": "Request has missing or invalid parameters and cannot be parsed.", + "schema": { + "$ref": "#/definitions/ErrorList" + }, + "x-amzn-api-sandbox": { + "static": [ + { + "request": { + "parameters": { + "inboundPlanId": { + "value": "wf1234abcd-1234-abcd-5678-1234abcd5678" + }, + "shipmentId": { + "value": "bad234abcd-1234-abcd-5678-1234abcd5678" + }, + "body": { + "value": { + "trackingDetails": { + "ltlTrackingDetail": { + "freightBillNumber": [ + "freightBillNumber1" + ], + "billOfLadingNumber": "billOfLadingNumber" + }, + "spdTrackingDetail": { + "spdTrackingItems": [ + { + "boxId": "boxId", + "trackingId": "trackingId" + } + ] + } + } + } + } + } + }, + "response": { + "errors": [ + { + "code": "BadRequest", + "message": "The requested shipmentId does not exist for the specified inbound plan." + } + ] + } + } + ] + }, + "headers": { + "x-amzn-RequestId": { + "description": "Unique request reference identifier.", + "type": "string" + }, + "x-amzn-RateLimit-Limit": { + "description": "Your rate limit (requests per second) for this operation.", + "type": "string" + } + } + }, + "500": { + "description": "An unexpected condition occurred that prevented the server from fulfilling the request.", + "schema": { + "$ref": "#/definitions/ErrorList" + }, + "headers": { + "x-amzn-RequestId": { + "description": "Unique request reference identifier.", + "type": "string" + } + } + }, + "403": { + "description": "Indicates that access to the resource is forbidden. Possible reasons include Access Denied, Unauthorized, Expired Token, or Invalid Signature.", + "schema": { + "$ref": "#/definitions/ErrorList" + }, + "headers": { + "x-amzn-RequestId": { + "description": "Unique request reference identifier.", + "type": "string" + } + } + }, + "404": { + "description": "The resource specified does not exist.", + "schema": { + "$ref": "#/definitions/ErrorList" + }, + "headers": { + "x-amzn-RequestId": { + "description": "Unique request reference identifier.", + "type": "string" + }, + "x-amzn-RateLimit-Limit": { + "description": "Your rate limit (requests per second) for this operation.", + "type": "string" + } + } + }, + "413": { + "description": "The request size exceeded the maximum accepted size.", + "schema": { + "$ref": "#/definitions/ErrorList" + }, + "headers": { + "x-amzn-RequestId": { + "description": "Unique request reference identifier.", + "type": "string" + } + } + }, + "415": { + "description": "The request payload is in an unsupported format.", + "schema": { + "$ref": "#/definitions/ErrorList" + }, + "headers": { + "x-amzn-RequestId": { + "description": "Unique request reference identifier.", + "type": "string" + } + } + }, + "429": { + "description": "The frequency of requests was greater than allowed.", + "schema": { + "$ref": "#/definitions/ErrorList" + }, + "headers": { + "x-amzn-RequestId": { + "description": "Unique request reference identifier.", + "type": "string" + } + } + }, + "503": { + "description": "Temporary overloading or maintenance of the server.", + "schema": { + "$ref": "#/definitions/ErrorList" + }, + "headers": { + "x-amzn-RequestId": { + "description": "Unique request reference identifier.", + "type": "string" + } + } + } + }, + "tags": [ + "fbaInbound" + ], + "description": "Updates a shipment's tracking details.\n\n**Usage Plan:**\n\n| Rate (requests per second) | Burst |\n| ---- | ---- |\n| 1 | 1 |\n\nThe `x-amzn-RateLimit-Limit` response header returns the usage plan rate limits that were applied to the requested operation, when available. The table above indicates the default rate and burst values for this operation. Selling partners whose business demands require higher throughput may see higher rate and burst values than those shown here. For more information, refer to [Usage Plans and Rate Limits in the Selling Partner API](https://developer-docs.amazon.com/sp-api/docs/usage-plans-and-rate-limits-in-the-sp-api).", + "operationId": "updateShipmentTrackingDetails" + } + }, + "/inbound/fba/2024-03-20/inboundPlans/{inboundPlanId}/transportationOptions": { + "get": { + "produces": [ + "application/json" + ], + "parameters": [ + { + "description": "Identifier to an inbound plan.", + "in": "path", + "maxLength": 38, + "minLength": 38, + "name": "inboundPlanId", + "pattern": "^[a-zA-Z0-9-]*$", + "required": true, + "type": "string" + }, + { + "description": "The number of transportation options to return in the response matching the given query.", + "in": "query", + "maximum": 20, + "minimum": 1, + "name": "pageSize", + "type": "integer", + "default": 10 + }, + { + "description": "A token to fetch a certain page when there are multiple pages worth of results. The value of this token is fetched from the `pagination` returned in the API response. In the absence of the token value from the query parameter the API returns the first page of the result.", + "in": "query", + "maxLength": 1024, + "minLength": 0, + "name": "paginationToken", + "type": "string" + }, + { + "description": "The placement option to get transportation options for. Either placementOptionId or shipmentId must be specified.", + "in": "query", + "maxLength": 38, + "minLength": 38, + "name": "placementOptionId", + "pattern": "^[a-zA-Z0-9-]*$", + "type": "string" + }, + { + "description": "The shipment to get transportation options for. Either placementOptionId or shipmentId must be specified.", + "in": "query", + "maxLength": 38, + "minLength": 38, + "name": "shipmentId", + "pattern": "^[a-zA-Z0-9-]*$", + "type": "string" + } + ], + "responses": { + "200": { + "description": "ListTransportationOptions 200 response", + "schema": { + "$ref": "#/definitions/ListTransportationOptionsResponse" + }, + "x-amzn-api-sandbox": { + "static": [ + { + "request": { + "parameters": { + "inboundPlanId": { + "value": "wf1234abcd-1234-abcd-5678-1234abcd5678" + }, + "placementOptionId": { + "value": "pl1234abcd-1234-abcd-5678-1234abcd5678" + }, + "shipmentId": { + "value": "sh1234abcd-1234-abcd-5678-1234abcd5678" + }, + "pageSize": { + "value": 2 + }, + "paginationToken": { + "value": "paginationToken" + } + } + }, + "response": { + "transportationOptions": [ + { + "inboundPlanId": "wf1234abcd-1234-abcd-5678-1234abcd5678", + "placementOptionId": "pl1234abcd-1234-abcd-5678-1234abcd5678", + "shipmentId": "sh1234abcd-1234-abcd-5678-1234abcd5678", + "transportationOptionId": "to1234abcd-1234-abcd-5678-1234abcd5678", + "shippingSolution": "AMAZON_PARTNERED_CARRIER", + "carrier": { + "name": "name", + "alphaCode": "USPS" + }, + "shippingMode": "GROUND_SMALL_PARCEL", + "quote": { + "cost": { + "code": "USD", + "amount": 500.0 + }, + "voidableUntil": "2024-01-01T00:00:00.000Z", + "expiration": "2024-01-01T00:00:00.000Z" + }, + "appointmentSlot": { + "slotId": "aa1234abcd-1234-abcd-5678-1234abcd5678", + "slotTime": { + "startTime": "2024-01-01T00:00Z", + "endTime": "2024-01-01T00:00Z" + } + } + } + ], + "pagination": { + "nextToken": "nextPaginationToken" + } + } + } + ] + }, + "headers": { + "x-amzn-RequestId": { + "description": "Unique request reference identifier.", + "type": "string" + }, + "x-amzn-RateLimit-Limit": { + "description": "Your rate limit (requests per second) for this operation.", + "type": "string" + } + } + }, + "400": { + "description": "Request has missing or invalid parameters and cannot be parsed.", + "schema": { + "$ref": "#/definitions/ErrorList" + }, + "x-amzn-api-sandbox": { + "static": [ + { + "request": { + "parameters": { + "inboundPlanId": { + "value": "wf1234abcd-1234-abcd-5678-1234abcd5678" + }, + "placementOptionId": { + "value": "pl1234abcd-1234-abcd-5678-1234abcd5678" + }, + "shipmentId": { + "value": "bad234abcd-1234-abcd-5678-1234abcd5678" + }, + "pageSize": { + "value": 2 + }, + "paginationToken": { + "value": "paginationToken" + } + } + }, + "response": { + "errors": [ + { + "code": "BadRequest", + "message": "The requested shipmentId does not exist for the specified inbound plan." + } + ] + } + } + ] + }, + "headers": { + "x-amzn-RequestId": { + "description": "Unique request reference identifier.", + "type": "string" + }, + "x-amzn-RateLimit-Limit": { + "description": "Your rate limit (requests per second) for this operation.", + "type": "string" + } + } + }, + "500": { + "description": "An unexpected condition occurred that prevented the server from fulfilling the request.", + "schema": { + "$ref": "#/definitions/ErrorList" + }, + "headers": { + "x-amzn-RequestId": { + "description": "Unique request reference identifier.", + "type": "string" + } + } + }, + "403": { + "description": "Indicates that access to the resource is forbidden. Possible reasons include Access Denied, Unauthorized, Expired Token, or Invalid Signature.", + "schema": { + "$ref": "#/definitions/ErrorList" + }, + "headers": { + "x-amzn-RequestId": { + "description": "Unique request reference identifier.", + "type": "string" + } + } + }, + "404": { + "description": "The resource specified does not exist.", + "schema": { + "$ref": "#/definitions/ErrorList" + }, + "headers": { + "x-amzn-RequestId": { + "description": "Unique request reference identifier.", + "type": "string" + }, + "x-amzn-RateLimit-Limit": { + "description": "Your rate limit (requests per second) for this operation.", + "type": "string" + } + } + }, + "413": { + "description": "The request size exceeded the maximum accepted size.", + "schema": { + "$ref": "#/definitions/ErrorList" + }, + "headers": { + "x-amzn-RequestId": { + "description": "Unique request reference identifier.", + "type": "string" + } + } + }, + "415": { + "description": "The request payload is in an unsupported format.", + "schema": { + "$ref": "#/definitions/ErrorList" + }, + "headers": { + "x-amzn-RequestId": { + "description": "Unique request reference identifier.", + "type": "string" + } + } + }, + "429": { + "description": "The frequency of requests was greater than allowed.", + "schema": { + "$ref": "#/definitions/ErrorList" + }, + "headers": { + "x-amzn-RequestId": { + "description": "Unique request reference identifier.", + "type": "string" + } + } + }, + "503": { + "description": "Temporary overloading or maintenance of the server.", + "schema": { + "$ref": "#/definitions/ErrorList" + }, + "headers": { + "x-amzn-RequestId": { + "description": "Unique request reference identifier.", + "type": "string" + } + } + } + }, + "tags": [ + "fbaInbound" + ], + "description": "Retrieves all transportation options for a shipment. Transportation options must first be generated by the corresponding endpoint before becoming available.\n\n**Usage Plan:**\n\n| Rate (requests per second) | Burst |\n| ---- | ---- |\n| 1 | 1 |\n\nThe `x-amzn-RateLimit-Limit` response header returns the usage plan rate limits that were applied to the requested operation, when available. The table above indicates the default rate and burst values for this operation. Selling partners whose business demands require higher throughput may see higher rate and burst values than those shown here. For more information, refer to [Usage Plans and Rate Limits in the Selling Partner API](https://developer-docs.amazon.com/sp-api/docs/usage-plans-and-rate-limits-in-the-sp-api).", + "operationId": "listTransportationOptions" + }, + "post": { + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "parameters": [ + { + "description": "Identifier to an inbound plan.", + "in": "path", + "maxLength": 38, + "minLength": 38, + "name": "inboundPlanId", + "pattern": "^[a-zA-Z0-9-]*$", + "required": true, + "type": "string" + }, + { + "in": "body", + "name": "body", + "required": true, + "schema": { + "$ref": "#/definitions/GenerateTransportationOptionsRequest" + }, + "description": "The body of the request to `generateTransportationOptions`." + } + ], + "responses": { + "202": { + "description": "GenerateTransportationOptions 202 response", + "schema": { + "$ref": "#/definitions/GenerateTransportationOptionsResponse" + }, + "x-amzn-api-sandbox": { + "static": [ + { + "request": { + "parameters": { + "inboundPlanId": { + "value": "wf1234abcd-1234-abcd-5678-1234abcd5678" + }, + "body": { + "value": { + "placementOptionId": "pl1234abcd-1234-abcd-5678-1234abcd5678", + "shipmentTransportationConfigurations": [ + { + "shipmentId": "sh1234abcd-1234-abcd-5678-1234abcd5678", + "readyToShipWindow": { + "start": "2024-01-01T00:00Z" + }, + "contactInformation": { + "name": "name", + "phoneNumber": "1234567890", + "email": "email@email.com" + }, + "palletInformation": { + "pallets": [ + { + "stackability": "STACKABLE", + "weight": { + "unit": "KG", + "value": 5.5 + }, + "dimensions": { + "unitOfMeasurement": "CM", + "length": 3.0, + "width": 4.0, + "height": 5.0 + }, + "quantity": 2 + } + ], + "freightClass": "FC_50", + "declaredValue": { + "code": "USD", + "amount": 500.0 + } + } + } + ] + } + } + } + }, + "response": { + "operationId": "1234abcd-1234-abcd-5678-1234abcd5678" + } + } + ] + }, + "headers": { + "x-amzn-RequestId": { + "description": "Unique request reference identifier.", + "type": "string" + }, + "x-amzn-RateLimit-Limit": { + "description": "Your rate limit (requests per second) for this operation.", + "type": "string" + } + } + }, + "400": { + "description": "Request has missing or invalid parameters and cannot be parsed.", + "schema": { + "$ref": "#/definitions/ErrorList" + }, + "x-amzn-api-sandbox": { + "static": [ + { + "request": { + "parameters": { + "inboundPlanId": { + "value": "wf1234abcd-1234-abcd-5678-1234abcd5678" + }, + "body": { + "value": { + "placementOptionId": "pl1234abcd-1234-abcd-5678-1234abcd5678", + "shipmentTransportationConfigurations": [ + { + "shipmentId": "bad234abcd-1234-abcd-5678-1234abcd5678", + "readyToShipWindow": { + "start": "2024-01-01T00:00Z" + }, + "contactInformation": { + "name": "name", + "phoneNumber": "1234567890", + "email": "email@email.com" + }, + "palletInformation": { + "pallets": [ + { + "stackability": "STACKABLE", + "weight": { + "unit": "KG", + "value": 5.5 + }, + "dimensions": { + "unitOfMeasurement": "CM", + "length": 3.0, + "width": 4.0, + "height": 5.0 + }, + "quantity": 2 + } + ], + "freightClass": "FC_50", + "declaredValue": { + "code": "USD", + "amount": 500.0 + } + } + } + ] + } + } + } + }, + "response": { + "errors": [ + { + "code": "BadRequest", + "message": "The requested shipmentId does not exist under the provided placement option." + } + ] + } + } + ] + }, + "headers": { + "x-amzn-RequestId": { + "description": "Unique request reference identifier.", + "type": "string" + }, + "x-amzn-RateLimit-Limit": { + "description": "Your rate limit (requests per second) for this operation.", + "type": "string" + } + } + }, + "500": { + "description": "An unexpected condition occurred that prevented the server from fulfilling the request.", + "schema": { + "$ref": "#/definitions/ErrorList" + }, + "headers": { + "x-amzn-RequestId": { + "description": "Unique request reference identifier.", + "type": "string" + } + } + }, + "403": { + "description": "Indicates that access to the resource is forbidden. Possible reasons include Access Denied, Unauthorized, Expired Token, or Invalid Signature.", + "schema": { + "$ref": "#/definitions/ErrorList" + }, + "headers": { + "x-amzn-RequestId": { + "description": "Unique request reference identifier.", + "type": "string" + } + } + }, + "404": { + "description": "The resource specified does not exist.", + "schema": { + "$ref": "#/definitions/ErrorList" + }, + "headers": { + "x-amzn-RequestId": { + "description": "Unique request reference identifier.", + "type": "string" + }, + "x-amzn-RateLimit-Limit": { + "description": "Your rate limit (requests per second) for this operation.", + "type": "string" + } + } + }, + "413": { + "description": "The request size exceeded the maximum accepted size.", + "schema": { + "$ref": "#/definitions/ErrorList" + }, + "headers": { + "x-amzn-RequestId": { + "description": "Unique request reference identifier.", + "type": "string" + } + } + }, + "415": { + "description": "The request payload is in an unsupported format.", + "schema": { + "$ref": "#/definitions/ErrorList" + }, + "headers": { + "x-amzn-RequestId": { + "description": "Unique request reference identifier.", + "type": "string" + } + } + }, + "429": { + "description": "The frequency of requests was greater than allowed.", + "schema": { + "$ref": "#/definitions/ErrorList" + }, + "headers": { + "x-amzn-RequestId": { + "description": "Unique request reference identifier.", + "type": "string" + } + } + }, + "503": { + "description": "Temporary overloading or maintenance of the server.", + "schema": { + "$ref": "#/definitions/ErrorList" + }, + "headers": { + "x-amzn-RequestId": { + "description": "Unique request reference identifier.", + "type": "string" + } + } + } + }, + "tags": [ + "fbaInbound" + ], + "description": "Generates available transportation options for a given placement option.\n\n**Usage Plan:**\n\n| Rate (requests per second) | Burst |\n| ---- | ---- |\n| 0.05 | 1 |\n\nThe `x-amzn-RateLimit-Limit` response header returns the usage plan rate limits that were applied to the requested operation, when available. The table above indicates the default rate and burst values for this operation. Selling partners whose business demands require higher throughput may see higher rate and burst values than those shown here. For more information, refer to [Usage Plans and Rate Limits in the Selling Partner API](https://developer-docs.amazon.com/sp-api/docs/usage-plans-and-rate-limits-in-the-sp-api).", + "operationId": "generateTransportationOptions" + } + }, + "/inbound/fba/2024-03-20/inboundPlans/{inboundPlanId}/transportationOptions/confirmation": { + "post": { + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "parameters": [ + { + "description": "Identifier to an inbound plan.", + "in": "path", + "maxLength": 38, + "minLength": 38, + "name": "inboundPlanId", + "pattern": "^[a-zA-Z0-9-]*$", + "required": true, + "type": "string" + }, + { + "in": "body", + "name": "body", + "required": true, + "schema": { + "$ref": "#/definitions/ConfirmTransportationOptionsRequest" + }, + "description": "The body of the request to `confirmTransportationOptions`." + } + ], + "responses": { + "202": { + "description": "ConfirmTransportationOptions 202 response", + "schema": { + "$ref": "#/definitions/ConfirmTransportationOptionsResponse" + }, + "x-amzn-api-sandbox": { + "static": [ + { + "request": { + "parameters": { + "inboundPlanId": { + "value": "wf1234abcd-1234-abcd-5678-1234abcd5678" + }, + "body": { + "value": { + "transportationSelections": [ + { + "shipmentId": "sh1234abcd-1234-abcd-5678-1234abcd5678", + "transportationOptionId": "to1234abcd-1234-abcd-5678-1234abcd5678", + "contactInformation": { + "name": "name", + "phoneNumber": "1234567890", + "email": "email@email.com" + }, + "deliveryWindow": { + "start": "2024-01-01T00:00Z" + } + } + ] + } + } + } + }, + "response": { + "operationId": "1234abcd-1234-abcd-5678-1234abcd5678" + } + } + ] + }, + "headers": { + "x-amzn-RequestId": { + "description": "Unique request reference identifier.", + "type": "string" + }, + "x-amzn-RateLimit-Limit": { + "description": "Your rate limit (requests per second) for this operation.", + "type": "string" + } + } + }, + "400": { + "description": "Request has missing or invalid parameters and cannot be parsed.", + "schema": { + "$ref": "#/definitions/ErrorList" + }, + "x-amzn-api-sandbox": { + "static": [ + { + "request": { + "parameters": { + "inboundPlanId": { + "value": "wfbad4abcd-1234-abcd-5678-1234abcd5678" + }, + "body": { + "value": { + "transportationSelections": [ + { + "shipmentId": "sh1234abcd-1234-abcd-5678-1234abcd5678", + "transportationOptionId": "bad234abcd-1234-abcd-5678-1234abcd5678", + "contactInformation": { + "name": "name", + "phoneNumber": "1234567890", + "email": "email@email.com" + }, + "deliveryWindow": { + "start": "2024-01-01T00:00Z" + } + } + ] + } + } + } + }, + "response": { + "errors": [ + { + "code": "BadRequest", + "message": "The requested transportationOptionId does not exist under the associated shipment." + } + ] + } + } + ] + }, + "headers": { + "x-amzn-RequestId": { + "description": "Unique request reference identifier.", + "type": "string" + }, + "x-amzn-RateLimit-Limit": { + "description": "Your rate limit (requests per second) for this operation.", + "type": "string" + } + } + }, + "500": { + "description": "An unexpected condition occurred that prevented the server from fulfilling the request.", + "schema": { + "$ref": "#/definitions/ErrorList" + }, + "headers": { + "x-amzn-RequestId": { + "description": "Unique request reference identifier.", + "type": "string" + } + } + }, + "403": { + "description": "Indicates that access to the resource is forbidden. Possible reasons include Access Denied, Unauthorized, Expired Token, or Invalid Signature.", + "schema": { + "$ref": "#/definitions/ErrorList" + }, + "headers": { + "x-amzn-RequestId": { + "description": "Unique request reference identifier.", + "type": "string" + } + } + }, + "404": { + "description": "The resource specified does not exist.", + "schema": { + "$ref": "#/definitions/ErrorList" + }, + "headers": { + "x-amzn-RequestId": { + "description": "Unique request reference identifier.", + "type": "string" + }, + "x-amzn-RateLimit-Limit": { + "description": "Your rate limit (requests per second) for this operation.", + "type": "string" + } + } + }, + "413": { + "description": "The request size exceeded the maximum accepted size.", + "schema": { + "$ref": "#/definitions/ErrorList" + }, + "headers": { + "x-amzn-RequestId": { + "description": "Unique request reference identifier.", + "type": "string" + } + } + }, + "415": { + "description": "The request payload is in an unsupported format.", + "schema": { + "$ref": "#/definitions/ErrorList" + }, + "headers": { + "x-amzn-RequestId": { + "description": "Unique request reference identifier.", + "type": "string" + } + } + }, + "429": { + "description": "The frequency of requests was greater than allowed.", + "schema": { + "$ref": "#/definitions/ErrorList" + }, + "headers": { + "x-amzn-RequestId": { + "description": "Unique request reference identifier.", + "type": "string" + } + } + }, + "503": { + "description": "Temporary overloading or maintenance of the server.", + "schema": { + "$ref": "#/definitions/ErrorList" + }, + "headers": { + "x-amzn-RequestId": { + "description": "Unique request reference identifier.", + "type": "string" + } + } + } + }, + "tags": [ + "fbaInbound" + ], + "description": "Confirms all the transportation options for an inbound plan. A placement option must be confirmed prior to use of this API. Once confirmed, new transportation options can not be generated or confirmed for the Inbound Plan.\n\n**Usage Plan:**\n\n| Rate (requests per second) | Burst |\n| ---- | ---- |\n| 0.05 | 1 |\n\nThe `x-amzn-RateLimit-Limit` response header returns the usage plan rate limits that were applied to the requested operation, when available. The table above indicates the default rate and burst values for this operation. Selling partners whose business demands require higher throughput may see higher rate and burst values than those shown here. For more information, refer to [Usage Plans and Rate Limits in the Selling Partner API](https://developer-docs.amazon.com/sp-api/docs/usage-plans-and-rate-limits-in-the-sp-api).", + "operationId": "confirmTransportationOptions" + } + }, + "/inbound/fba/2024-03-20/items/compliance": { + "get": { + "produces": [ + "application/json" + ], + "parameters": [ + { + "collectionFormat": "multi", + "description": "List of merchant SKUs, a merchant-supplied identifier for a specific SKU.", + "in": "query", + "items": { + "maxLength": 40, + "minLength": 1, + "type": "string" + }, + "maxItems": 100, + "minItems": 1, + "name": "mskus", + "required": true, + "type": "array" + }, + { + "description": "The Marketplace ID. Refer to [Marketplace IDs](https://developer-docs.amazon.com/sp-api/docs/marketplace-ids) for a list of possible values.", + "in": "query", + "maxLength": 256, + "minLength": 1, + "name": "marketplaceId", + "required": true, + "type": "string" + } + ], + "responses": { + "200": { + "description": "ListItemComplianceDetails 200 response", + "schema": { + "$ref": "#/definitions/ListItemComplianceDetailsResponse" + }, + "x-amzn-api-sandbox": { + "static": [ + { + "request": { + "parameters": { + "mskus": { + "value": [ + "msku1", + "msku2" + ] + }, + "marketplaceId": { + "value": "ATVPDKIKX0DER" + } + } + }, + "response": { + "complianceDetails": [ + { + "msku": "msku1", + "fnsku": "fnsku1", + "asin": "asin1", + "taxDetails": { + "hsnCode": "720299", + "declaredValue": { + "code": "USD", + "amount": 50.0 + }, + "taxRates": [ + { + "taxType": "TOTAL_TAX", + "gstRate": 1.0, + "cessRate": 1.0 + } + ] + } + }, + { + "msku": "msku2", + "fnsku": "fnsku2", + "asin": "asin2", + "taxDetails": { + "hsnCode": "720299", + "declaredValue": { + "code": "USD", + "amount": 50.0 + }, + "taxRates": [ + { + "taxType": "TOTAL_TAX", + "gstRate": 1.0, + "cessRate": 1.0 + } + ] + } + } + ] + } + } + ] + }, + "headers": { + "x-amzn-RequestId": { + "description": "Unique request reference identifier.", + "type": "string" + }, + "x-amzn-RateLimit-Limit": { + "description": "Your rate limit (requests per second) for this operation.", + "type": "string" + } + } + }, + "400": { + "description": "Request has missing or invalid parameters and cannot be parsed.", + "schema": { + "$ref": "#/definitions/ErrorList" + }, + "x-amzn-api-sandbox": { + "static": [ + { + "request": { + "parameters": { + "mskus": { + "value": [ + "badmsku" + ] + }, + "marketplaceId": { + "value": "ATVPDKIKX0DER" + } + } + }, + "response": { + "errors": [ + { + "code": "BadRequest", + "message": "The requested MSKU is not valid for the specified marketplace." + } + ] + } + } + ] + }, + "headers": { + "x-amzn-RequestId": { + "description": "Unique request reference identifier.", + "type": "string" + }, + "x-amzn-RateLimit-Limit": { + "description": "Your rate limit (requests per second) for this operation.", + "type": "string" + } + } + }, + "500": { + "description": "An unexpected condition occurred that prevented the server from fulfilling the request.", + "schema": { + "$ref": "#/definitions/ErrorList" + }, + "headers": { + "x-amzn-RequestId": { + "description": "Unique request reference identifier.", + "type": "string" + } + } + }, + "403": { + "description": "Indicates that access to the resource is forbidden. Possible reasons include Access Denied, Unauthorized, Expired Token, or Invalid Signature.", + "schema": { + "$ref": "#/definitions/ErrorList" + }, + "headers": { + "x-amzn-RequestId": { + "description": "Unique request reference identifier.", + "type": "string" + } + } + }, + "404": { + "description": "The resource specified does not exist.", + "schema": { + "$ref": "#/definitions/ErrorList" + }, + "headers": { + "x-amzn-RequestId": { + "description": "Unique request reference identifier.", + "type": "string" + }, + "x-amzn-RateLimit-Limit": { + "description": "Your rate limit (requests per second) for this operation.", + "type": "string" + } + } + }, + "413": { + "description": "The request size exceeded the maximum accepted size.", + "schema": { + "$ref": "#/definitions/ErrorList" + }, + "headers": { + "x-amzn-RequestId": { + "description": "Unique request reference identifier.", + "type": "string" + } + } + }, + "415": { + "description": "The request payload is in an unsupported format.", + "schema": { + "$ref": "#/definitions/ErrorList" + }, + "headers": { + "x-amzn-RequestId": { + "description": "Unique request reference identifier.", + "type": "string" + } + } + }, + "429": { + "description": "The frequency of requests was greater than allowed.", + "schema": { + "$ref": "#/definitions/ErrorList" + }, + "headers": { + "x-amzn-RequestId": { + "description": "Unique request reference identifier.", + "type": "string" + } + } + }, + "503": { + "description": "Temporary overloading or maintenance of the server.", + "schema": { + "$ref": "#/definitions/ErrorList" + }, + "headers": { + "x-amzn-RequestId": { + "description": "Unique request reference identifier.", + "type": "string" + } + } + } + }, + "tags": [ + "fbaInbound" + ], + "description": "List the inbound compliance details for MSKUs in a given marketplace.\n\n**Usage Plan:**\n\n| Rate (requests per second) | Burst |\n| ---- | ---- |\n| 1 | 1 |\n\nThe `x-amzn-RateLimit-Limit` response header returns the usage plan rate limits that were applied to the requested operation, when available. The table above indicates the default rate and burst values for this operation. Selling partners whose business demands require higher throughput may see higher rate and burst values than those shown here. For more information, refer to [Usage Plans and Rate Limits in the Selling Partner API](https://developer-docs.amazon.com/sp-api/docs/usage-plans-and-rate-limits-in-the-sp-api).", + "operationId": "listItemComplianceDetails" + }, + "put": { + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "parameters": [ + { + "description": "The Marketplace ID. Refer to [Marketplace IDs](https://developer-docs.amazon.com/sp-api/docs/marketplace-ids) for a list of possible values.", + "in": "query", + "maxLength": 256, + "minLength": 1, + "name": "marketplaceId", + "required": true, + "type": "string" + }, + { + "in": "body", + "name": "body", + "required": true, + "schema": { + "$ref": "#/definitions/UpdateItemComplianceDetailsRequest" + }, + "description": "The body of the request to `updateItemComplianceDetails`." + } + ], + "responses": { + "202": { + "description": "UpdateItemComplianceDetails 202 response", + "schema": { + "$ref": "#/definitions/UpdateItemComplianceDetailsResponse" + }, + "x-amzn-api-sandbox": { + "static": [ + { + "request": { + "parameters": { + "marketplaceId": { + "value": "ATVPDKIKX0DER" + }, + "body": { + "value": { + "msku": "msku", + "taxDetails": { + "hsnCode": "720299", + "declaredValue": { + "code": "USD", + "amount": 50.0 + }, + "taxRates": [ + { + "taxType": "TOTAL_TAX", + "gstRate": 1.0, + "cessRate": 1.0 + } + ] + } + } + } + } + }, + "response": { + "operationId": "1234abcd-1234-abcd-5678-1234abcd5678" + } + } + ] + }, + "headers": { + "x-amzn-RequestId": { + "description": "Unique request reference identifier.", + "type": "string" + }, + "x-amzn-RateLimit-Limit": { + "description": "Your rate limit (requests per second) for this operation.", + "type": "string" + } + } + }, + "400": { + "description": "Request has missing or invalid parameters and cannot be parsed.", + "schema": { + "$ref": "#/definitions/ErrorList" + }, + "x-amzn-api-sandbox": { + "static": [ + { + "request": { + "parameters": { + "marketplaceId": { + "value": "ATVPDKIKX0DER" + }, + "body": { + "value": { + "msku": "badmsku", + "taxDetails": { + "hsnCode": "720299", + "declaredValue": { + "code": "USD", + "amount": 50.0 + }, + "taxRates": [ + { + "taxType": "TOTAL_TAX", + "gstRate": 1.0, + "cessRate": 1.0 + } + ] + } + } + } + } + }, + "response": { + "errors": [ + { + "code": "BadRequest", + "message": "The requested msku does not exist for the specified marketplace." + } + ] + } + } + ] + }, + "headers": { + "x-amzn-RequestId": { + "description": "Unique request reference identifier.", + "type": "string" + }, + "x-amzn-RateLimit-Limit": { + "description": "Your rate limit (requests per second) for this operation.", + "type": "string" + } + } + }, + "500": { + "description": "An unexpected condition occurred that prevented the server from fulfilling the request.", + "schema": { + "$ref": "#/definitions/ErrorList" + }, + "headers": { + "x-amzn-RequestId": { + "description": "Unique request reference identifier.", + "type": "string" + } + } + }, + "403": { + "description": "Indicates that access to the resource is forbidden. Possible reasons include Access Denied, Unauthorized, Expired Token, or Invalid Signature.", + "schema": { + "$ref": "#/definitions/ErrorList" + }, + "headers": { + "x-amzn-RequestId": { + "description": "Unique request reference identifier.", + "type": "string" + } + } + }, + "404": { + "description": "The resource specified does not exist.", + "schema": { + "$ref": "#/definitions/ErrorList" + }, + "headers": { + "x-amzn-RequestId": { + "description": "Unique request reference identifier.", + "type": "string" + }, + "x-amzn-RateLimit-Limit": { + "description": "Your rate limit (requests per second) for this operation.", + "type": "string" + } + } + }, + "413": { + "description": "The request size exceeded the maximum accepted size.", + "schema": { + "$ref": "#/definitions/ErrorList" + }, + "headers": { + "x-amzn-RequestId": { + "description": "Unique request reference identifier.", + "type": "string" + } + } + }, + "415": { + "description": "The request payload is in an unsupported format.", + "schema": { + "$ref": "#/definitions/ErrorList" + }, + "headers": { + "x-amzn-RequestId": { + "description": "Unique request reference identifier.", + "type": "string" + } + } + }, + "429": { + "description": "The frequency of requests was greater than allowed.", + "schema": { + "$ref": "#/definitions/ErrorList" + }, + "headers": { + "x-amzn-RequestId": { + "description": "Unique request reference identifier.", + "type": "string" + } + } + }, + "503": { + "description": "Temporary overloading or maintenance of the server.", + "schema": { + "$ref": "#/definitions/ErrorList" + }, + "headers": { + "x-amzn-RequestId": { + "description": "Unique request reference identifier.", + "type": "string" + } + } + } + }, + "tags": [ + "fbaInbound" + ], + "description": "Update compliance details for list of MSKUs. The details provided here are only used for the IN marketplace compliance validation.\n\n**Usage Plan:**\n\n| Rate (requests per second) | Burst |\n| ---- | ---- |\n| 1 | 1 |\n\nThe `x-amzn-RateLimit-Limit` response header returns the usage plan rate limits that were applied to the requested operation, when available. The table above indicates the default rate and burst values for this operation. Selling partners whose business demands require higher throughput may see higher rate and burst values than those shown here. For more information, refer to [Usage Plans and Rate Limits in the Selling Partner API](https://developer-docs.amazon.com/sp-api/docs/usage-plans-and-rate-limits-in-the-sp-api).", + "operationId": "updateItemComplianceDetails" + } + }, + "/inbound/fba/2024-03-20/operations/{operationId}": { + "get": { + "produces": [ + "application/json" + ], + "parameters": [ + { + "description": "Identifier to an asynchronous operation.", + "in": "path", + "maxLength": 38, + "minLength": 36, + "name": "operationId", + "pattern": "^[a-zA-Z0-9-]*$", + "required": true, + "type": "string" + } + ], + "responses": { + "200": { + "description": "GetInboundOperationStatus 200 response", + "schema": { + "$ref": "#/definitions/InboundOperationStatus" + }, + "x-amzn-api-sandbox": { + "static": [ + { + "request": { + "parameters": { + "operationId": { + "value": "1234abcd-1234-abcd-5678-1234abcd5678" + } + } + }, + "response": { + "operationId": "a440f2ff-cb08-416a-99e1-67a04eee88f6", + "operation": "operationName", + "operationStatus": "SUCCESS", + "operationProblems": [ + { + "code": "DimensionMismatch", + "message": "The dimension does not match what is expected.", + "details": "", + "severity": "WARNING" + } + ] + } + } + ] + }, + "headers": { + "x-amzn-RequestId": { + "description": "Unique request reference identifier.", + "type": "string" + }, + "x-amzn-RateLimit-Limit": { + "description": "Your rate limit (requests per second) for this operation.", + "type": "string" + } + } + }, + "400": { + "description": "Request has missing or invalid parameters and cannot be parsed.", + "schema": { + "$ref": "#/definitions/ErrorList" + }, + "x-amzn-api-sandbox": { + "static": [ + { + "request": { + "parameters": { + "operationId": { + "value": "bad4abcd-1234-abcd-5678-1234abcd5678" + } + } + }, + "response": { + "errors": [ + { + "code": "BadRequest", + "message": "The operationId is malformed." + } + ] + } + } + ] + }, + "headers": { + "x-amzn-RequestId": { + "description": "Unique request reference identifier.", + "type": "string" + }, + "x-amzn-RateLimit-Limit": { + "description": "Your rate limit (requests per second) for this operation.", + "type": "string" + } + } + }, + "500": { + "description": "An unexpected condition occurred that prevented the server from fulfilling the request.", + "schema": { + "$ref": "#/definitions/ErrorList" + }, + "headers": { + "x-amzn-RequestId": { + "description": "Unique request reference identifier.", + "type": "string" + } + } + }, + "403": { + "description": "Indicates that access to the resource is forbidden. Possible reasons include Access Denied, Unauthorized, Expired Token, or Invalid Signature.", + "schema": { + "$ref": "#/definitions/ErrorList" + }, + "headers": { + "x-amzn-RequestId": { + "description": "Unique request reference identifier.", + "type": "string" + } + } + }, + "404": { + "description": "The resource specified does not exist.", + "schema": { + "$ref": "#/definitions/ErrorList" + }, + "headers": { + "x-amzn-RequestId": { + "description": "Unique request reference identifier.", + "type": "string" + }, + "x-amzn-RateLimit-Limit": { + "description": "Your rate limit (requests per second) for this operation.", + "type": "string" + } + } + }, + "413": { + "description": "The request size exceeded the maximum accepted size.", + "schema": { + "$ref": "#/definitions/ErrorList" + }, + "headers": { + "x-amzn-RequestId": { + "description": "Unique request reference identifier.", + "type": "string" + } + } + }, + "415": { + "description": "The request payload is in an unsupported format.", + "schema": { + "$ref": "#/definitions/ErrorList" + }, + "headers": { + "x-amzn-RequestId": { + "description": "Unique request reference identifier.", + "type": "string" + } + } + }, + "429": { + "description": "The frequency of requests was greater than allowed.", + "schema": { + "$ref": "#/definitions/ErrorList" + }, + "headers": { + "x-amzn-RequestId": { + "description": "Unique request reference identifier.", + "type": "string" + } + } + }, + "503": { + "description": "Temporary overloading or maintenance of the server.", + "schema": { + "$ref": "#/definitions/ErrorList" + }, + "headers": { + "x-amzn-RequestId": { + "description": "Unique request reference identifier.", + "type": "string" + } + } + } + }, + "tags": [ + "fbaInbound" + ], + "description": "Gets the status of the processing of an asynchronous API call.\n\n**Usage Plan:**\n\n| Rate (requests per second) | Burst |\n| ---- | ---- |\n| 1 | 1 |\n\nThe `x-amzn-RateLimit-Limit` response header returns the usage plan rate limits that were applied to the requested operation, when available. The table above indicates the default rate and burst values for this operation. Selling partners whose business demands require higher throughput may see higher rate and burst values than those shown here. For more information, refer to [Usage Plans and Rate Limits in the Selling Partner API](https://developer-docs.amazon.com/sp-api/docs/usage-plans-and-rate-limits-in-the-sp-api).", + "operationId": "getInboundOperationStatus" + } + } + }, + "definitions": { + "Address": { + "description": "Specific details to identify a place.", + "properties": { + "addressLine1": { + "description": "Street address information.", + "maxLength": 180, + "minLength": 1, + "type": "string" + }, + "addressLine2": { + "description": "Additional street address information.", + "maxLength": 60, + "minLength": 1, + "type": "string" + }, + "city": { + "description": "The city.", + "maxLength": 30, + "minLength": 1, + "type": "string" + }, + "companyName": { + "description": "The name of the business.", + "maxLength": 50, + "minLength": 1, + "type": "string" + }, + "countryCode": { + "description": "The country code in two-character ISO 3166-1 alpha-2 format.", + "maxLength": 2, + "minLength": 2, + "pattern": "^[A-Z]{2}$", + "type": "string" + }, + "name": { + "description": "The name of the individual or business.", + "maxLength": 50, + "minLength": 1, + "type": "string" + }, + "postalCode": { + "description": "The postal code.", + "maxLength": 32, + "minLength": 1, + "type": "string" + }, + "stateOrProvinceCode": { + "description": "The state or province code.", + "maxLength": 64, + "minLength": 1, + "type": "string" + } + }, + "required": [ + "addressLine1", + "city", + "countryCode", + "name", + "postalCode" + ], + "type": "object", + "example": { + "addressLine1": "123 example street", + "addressLine2": "Floor 19", + "city": "Toronto", + "companyName": "Acme", + "countryCode": "CA", + "name": "name", + "postalCode": "M1M1M1", + "stateOrProvinceCode": "ON" + } + }, + "AppointmentSlot": { + "description": "The fulfillment center appointment slot for the transportation option.", + "properties": { + "slotId": { + "description": "An identifier to a self-ship appointment slot.", + "maxLength": 38, + "minLength": 38, + "pattern": "^[a-zA-Z0-9-]*$", + "type": "string" + }, + "slotTime": { + "$ref": "#/definitions/AppointmentSlotTime" + } + }, + "required": [ + "slotId", + "slotTime" + ], + "type": "object" + }, + "AppointmentSlotTime": { + "description": "An appointment slot time with a start and end.", + "properties": { + "endTime": { + "description": "The end timestamp of the appointment in UTC.", + "format": "date-time", + "type": "string" + }, + "startTime": { + "description": "The start timestamp of the appointment in UTC.", + "format": "date-time", + "type": "string" + } + }, + "required": [ + "endTime", + "startTime" + ], + "type": "object" + }, + "Box": { + "description": "Contains information about a box that is used in the inbound plan. The box may contain an item and metadata about the box itself.", + "properties": { + "boxId": { + "description": "The ID provided by Amazon that identifies a given box. This ID is comprised of the external shipment ID (which\n is generated after transportation has been confirmed) and the index of the box.", + "maxLength": 1024, + "minLength": 1, + "type": "string" + }, + "destinationRegion": { + "$ref": "#/definitions/Region" + }, + "dimensions": { + "$ref": "#/definitions/Dimensions" + }, + "items": { + "description": "Items contained within the box.", + "items": { + "$ref": "#/definitions/Item" + }, + "type": "array" + }, + "packageId": { + "description": "Primary key to uniquely identify a Package (Box or Pallet).", + "maxLength": 38, + "minLength": 38, + "pattern": "^[a-zA-Z0-9-]*$", + "type": "string" + }, + "quantity": { + "description": "The number of containers where all other properties like weight or dimensions are identical.", + "maximum": 10000, + "minimum": 1, + "type": "integer" + }, + "templateName": { + "description": "Template name of the box.", + "maxLength": 1024, + "minLength": 1, + "type": "string" + }, + "weight": { + "$ref": "#/definitions/Weight" + } + }, + "required": [ + "packageId" + ], + "type": "object" + }, + "BoxContent": { + "description": "Specifies contents in a box. Each `BoxContent` minimally contains a mapping of an MSKU to the prep owner, label owner and its quantity in the box. It also contains the MSKU expiration date and manufacturing lot code if applicable.", + "properties": { + "expiration": { + "description": "The date in ISO 8601 format for when the MSKU expires.", + "pattern": "^([0-9]{4})-(0[1-9]|1[0-2])-(0[1-9]|[1-2][0-9]|3[0-1])$", + "type": "string" + }, + "labelOwner": { + "$ref": "#/definitions/LabelOwner" + }, + "manufacturingLotCode": { + "description": "The manufacturing lot code.", + "maxLength": 256, + "minLength": 1, + "type": "string" + }, + "msku": { + "description": "The merchant SKU, a merchant-supplied identifier for a specific SKU.", + "maxLength": 40, + "minLength": 1, + "type": "string" + }, + "prepOwner": { + "$ref": "#/definitions/PrepOwner" + }, + "quantityInBox": { + "description": "The number of units of the given MSKU in the box.", + "maximum": 10000, + "minimum": 1, + "type": "integer" + } + }, + "required": [ + "labelOwner", + "msku", + "prepOwner", + "quantityInBox" + ], + "type": "object", + "example": { + "expiration": "2024-01-01", + "labelOwner": "AMAZON", + "manufacturingLotCode": "manufacturingLotCode", + "msku": "Sunglasses", + "prepOwner": "AMAZON", + "quantityInBox": 10 + } + }, + "BoxContentInformationSource": { + "description": "Indication of how box content is meant to be provided.", + "enum": [ + "BOX_CONTENT_PROVIDED", + "MANUAL_PROCESS", + "BARCODE_2D" + ], + "type": "string", + "x-docgen-enum-table-extension": [ + { + "value": "BOX_CONTENT_PROVIDED", + "description": "Box contents have been provided by the seller." + }, + { + "value": "MANUAL_PROCESS", + "description": "Box contents will be manually processed during receive. This service incurs charges." + }, + { + "value": "BARCODE_2D", + "description": "Box contents information is provided by a barcode on the shipment. For more information, see Using 2D barcodes for box content information on Seller Central." + } + ] + }, + "BoxInput": { + "description": "Input information for a given box.", + "properties": { + "boxId": { + "description": "The ID of the box to update that was provided by Amazon. This ID is comprised of the external shipment ID\n (which is generated after transportation has been confirmed) and the index of the box.", + "maxLength": 1024, + "minLength": 1, + "type": "string" + }, + "contentInformationSource": { + "$ref": "#/definitions/BoxContentInformationSource" + }, + "contents": { + "description": "The Contents of the box containing a list of MSKUs and their quantity. If `boxAttribute` is `BARCODE_2D` or `MANUAL_PROCESS`, user should provide ALL of the items that could be in the box, without specifying item quantities.", + "items": { + "$ref": "#/definitions/BoxContent" + }, + "type": "array" + }, + "dimensions": { + "$ref": "#/definitions/Dimensions" + }, + "quantity": { + "description": "The number of containers where all other properties like weight or dimensions are identical.", + "maximum": 10000, + "minimum": 1, + "type": "integer" + }, + "templateName": { + "description": "The seller-provided name for a 'type' of box (or a group of boxes with the same contents), which will be used to identify all created boxes of that type. When providing bulk box information, this value must be unique from the other box types. When providing individual boxes with existing IDs, this value can be shared between many boxes that have the same contents.", + "maxLength": 1024, + "minLength": 1, + "type": "string" + }, + "weight": { + "$ref": "#/definitions/Weight" + } + }, + "required": [ + "contentInformationSource", + "dimensions", + "quantity", + "templateName", + "weight" + ], + "type": "object", + "example": { + "boxId": "FBA10ABC0YY100001", + "contentInformationSource": "BOX_CONTENT_PROVIDED", + "contents": [ + { + "expiration": "2024-01-01", + "labelOwner": "AMAZON", + "manufacturingLotCode": "manufacturingLotCode", + "msku": "Sunglasses", + "prepOwner": "AMAZON", + "quantityInBox": 10 + } + ], + "dimensions": { + "height": 5, + "length": 3, + "unitOfMeasurement": "CM", + "width": 4 + }, + "quantity": 2, + "templateName": "templateName", + "weight": { + "unit": "KG", + "value": 5.5 + } + } + }, + "CancelInboundPlanResponse": { + "description": "The `cancelInboundPlan` response.", + "properties": { + "operationId": { + "description": "UUID for the given operation.", + "maxLength": 38, + "minLength": 36, + "pattern": "^[a-zA-Z0-9-]*$", + "type": "string" + } + }, + "required": [ + "operationId" + ], + "type": "object" + }, + "CancelSelfShipAppointmentRequest": { + "description": "The `cancelSelfShipAppointment` request.", + "properties": { + "reasonComment": { + "$ref": "#/definitions/ReasonComment" + } + }, + "type": "object", + "example": { + "reasonComment": "OTHER" + } + }, + "CancelSelfShipAppointmentResponse": { + "description": "The `cancelSelfShipAppointment` response.", + "properties": { + "operationId": { + "description": "UUID for the given operation.", + "maxLength": 38, + "minLength": 36, + "pattern": "^[a-zA-Z0-9-]*$", + "type": "string" + } + }, + "required": [ + "operationId" + ], + "type": "object" + }, + "Carrier": { + "description": "The carrier for the inbound shipment.", + "properties": { + "alphaCode": { + "description": "The carrier code. For example, USPS or DHLEX.", + "maxLength": 1024, + "minLength": 1, + "type": "string" + }, + "name": { + "description": "The name of the carrier.", + "maxLength": 1024, + "minLength": 1, + "type": "string" + } + }, + "type": "object" + }, + "ComplianceDetail": { + "description": "Contains item identifiers and related tax information.", + "properties": { + "asin": { + "description": "The Amazon Standard Identification Number, which identifies the detail page identifier.", + "maxLength": 10, + "minLength": 1, + "type": "string" + }, + "fnsku": { + "description": "The Fulfillment Network SKU, which identifies a real fulfillable item with catalog data and condition.", + "maxLength": 10, + "minLength": 1, + "type": "string" + }, + "msku": { + "description": "The merchant SKU, a merchant-supplied identifier for a specific SKU.", + "maxLength": 40, + "minLength": 1, + "type": "string" + }, + "taxDetails": { + "$ref": "#/definitions/TaxDetails" + } + }, + "type": "object" + }, + "ConfirmPackingOptionResponse": { + "description": "The `confirmPackingOption` response.", + "properties": { + "operationId": { + "description": "UUID for the given operation.", + "maxLength": 38, + "minLength": 36, + "pattern": "^[a-zA-Z0-9-]*$", + "type": "string" + } + }, + "required": [ + "operationId" + ], + "type": "object" + }, + "ConfirmPlacementOptionResponse": { + "description": "The `confirmPlacementOption` response.", + "properties": { + "operationId": { + "description": "UUID for the given operation.", + "maxLength": 38, + "minLength": 36, + "pattern": "^[a-zA-Z0-9-]*$", + "type": "string" + } + }, + "required": [ + "operationId" + ], + "type": "object" + }, + "ConfirmTransportationOptionsRequest": { + "description": "The `confirmTransportationOptions` request.", + "properties": { + "transportationSelections": { + "description": "Information needed to confirm one of the available transportation options.", + "items": { + "$ref": "#/definitions/TransportationSelection" + }, + "minItems": 1, + "type": "array" + } + }, + "required": [ + "transportationSelections" + ], + "type": "object", + "example": { + "transportationSelections": [ + { + "contactInformation": { + "email": "email@email.com", + "name": "John Smithy", + "phoneNumber": "1234567890" + }, + "deliveryWindow": { + "start": "2024-01-01T00:00Z" + }, + "shipmentId": "sh1234abcd-1234-abcd-5678-1234abcd5678", + "transportationOptionId": "to1234abcd-1234-abcd-5678-1234abcd5678" + } + ] + } + }, + "ConfirmTransportationOptionsResponse": { + "description": "The `confirmTransportationOptions` response.", + "properties": { + "operationId": { + "description": "UUID for the given operation.", + "maxLength": 38, + "minLength": 36, + "pattern": "^[a-zA-Z0-9-]*$", + "type": "string" + } + }, + "required": [ + "operationId" + ], + "type": "object" + }, + "ContactInformation": { + "description": "The seller's contact information.", + "properties": { + "email": { + "description": "Email address.", + "maxLength": 1024, + "minLength": 1, + "type": "string" + }, + "name": { + "description": "The name belonging to the contact. This field is required when contact information is being provided for\n Less-Than-Truckload (LTL) carrier shipments.", + "maxLength": 1024, + "minLength": 1, + "type": "string" + }, + "phoneNumber": { + "description": "The phone number of the seller.", + "maxLength": 20, + "minLength": 1, + "type": "string" + } + }, + "required": [ + "phoneNumber" + ], + "type": "object", + "example": { + "email": "email@email.com", + "phoneNumber": "1234567890" + } + }, + "CreateInboundPlanRequest": { + "description": "The `createInboundPlan` request.", + "properties": { + "contactInformation": { + "$ref": "#/definitions/ContactInformation" + }, + "destinationMarketplaces": { + "description": "Marketplaces where the items need to be shipped to. Currently only one marketplace can be selected in this request.", + "items": { + "description": "The Marketplace ID. Refer to [Marketplace IDs](https://developer-docs.amazon.com/sp-api/docs/marketplace-ids) for a list of possible values.", + "maxLength": 256, + "minLength": 1, + "type": "string" + }, + "maxItems": 1, + "minItems": 1, + "type": "array" + }, + "items": { + "description": "Items included in this plan.", + "items": { + "$ref": "#/definitions/ItemInput" + }, + "maxItems": 2000, + "minItems": 1, + "type": "array" + }, + "name": { + "description": "Name for the Inbound Plan. If one isn't provided, a default name will be provided.", + "maxLength": 40, + "minLength": 1, + "type": "string" + }, + "sourceAddress": { + "$ref": "#/definitions/Address" + } + }, + "required": [ + "contactInformation", + "destinationMarketplaces", + "items", + "sourceAddress" + ], + "type": "object", + "example": { + "contactInformation": { + "email": "email@email.com", + "phoneNumber": "1234567890" + }, + "destinationMarketplaces": [ + "ATVPDKIKX0DER" + ], + "items": [ + { + "expiration": "2024-01-01", + "labelOwner": "AMAZON", + "manufacturingLotCode": "manufacturingLotCode", + "msku": "Sunglasses", + "prepOwner": "AMAZON", + "quantity": 10 + } + ], + "name": "My inbound plan", + "sourceAddress": { + "addressLine1": "123 example street", + "addressLine2": "Floor 19", + "city": "Toronto", + "companyName": "Acme", + "countryCode": "CA", + "name": "name", + "postalCode": "M1M1M1", + "stateOrProvinceCode": "ON" + } + } + }, + "CreateInboundPlanResponse": { + "description": "The `createInboundPlan` response.", + "properties": { + "inboundPlanId": { + "description": "Identifier to an inbound plan.", + "maxLength": 38, + "minLength": 38, + "pattern": "^[a-zA-Z0-9-]*$", + "type": "string" + }, + "operationId": { + "description": "UUID for the given operation.", + "maxLength": 38, + "minLength": 36, + "pattern": "^[a-zA-Z0-9-]*$", + "type": "string" + } + }, + "required": [ + "inboundPlanId", + "operationId" + ], + "type": "object" + }, + "Currency": { + "description": "Currency definition.", + "properties": { + "amount": { + "description": "Decimal value of the currency.", + "type": "number" + }, + "code": { + "description": "ISO 4217 standard of a currency code.", + "maxLength": 3, + "minLength": 3, + "type": "string" + } + }, + "required": [ + "amount", + "code" + ], + "type": "object" + }, + "CustomPlacementInput": { + "description": "Provide units going to the warehouse.", + "properties": { + "items": { + "description": "Items included while creating Inbound Plan.", + "items": { + "$ref": "#/definitions/ItemInput" + }, + "maxItems": 2000, + "minItems": 1, + "type": "array" + }, + "warehouseId": { + "description": "Warehouse Id.", + "maxLength": 1024, + "minLength": 1, + "type": "string" + } + }, + "required": [ + "items", + "warehouseId" + ], + "type": "object", + "example": { + "items": [ + { + "expiration": "2024-01-01", + "labelOwner": "AMAZON", + "manufacturingLotCode": "manufacturingLotCode", + "msku": "Sunglasses", + "prepOwner": "AMAZON", + "quantity": 10 + } + ], + "warehouseId": "YYZ14" + } + }, + "Dates": { + "description": "Specifies the dates that the seller expects their shipment will be shipped and delivered.", + "properties": { + "deliveryWindow": { + "$ref": "#/definitions/Window" + }, + "readyToShipWindow": { + "$ref": "#/definitions/Window" + } + }, + "type": "object", + "example": { + "readyToShipWindow": { + "end": "2024-01-06T14:48:00.000Z", + "start": "2024-01-05T14:48:00.000Z" + } + } + }, + "Dimensions": { + "description": "Measurement of a package dimensions.", + "properties": { + "height": { + "description": "Height.", + "format": "double", + "maximum": 100000, + "minimum": 0, + "type": "number" + }, + "length": { + "description": "Length.", + "format": "double", + "maximum": 100000, + "minimum": 0, + "type": "number" + }, + "unitOfMeasurement": { + "$ref": "#/definitions/UnitOfMeasurement" + }, + "width": { + "description": "Width.", + "format": "double", + "maximum": 100000, + "minimum": 0, + "type": "number" + } + }, + "required": [ + "height", + "length", + "unitOfMeasurement", + "width" + ], + "type": "object" + }, + "DocumentDownload": { + "description": "Resource to download the requested document.", + "properties": { + "downloadType": { + "description": "The type of download. Can be `URL` or `PDF_BASE64`.", + "type": "string" + }, + "expiration": { + "description": "The timestamp of expiration of the URI. This is in ISO 8601 datetime format with pattern `yyyy-MM-ddTHH:mm:ss.sssZ`.", + "format": "date-time", + "type": "string" + }, + "uri": { + "description": "Uniform resource identifier to identify where the document is located.", + "type": "string" + } + }, + "required": [ + "downloadType", + "uri" + ], + "type": "object" + }, + "Error": { + "description": "Error object containing information about what went wrong.", + "properties": { + "code": { + "description": "An error code that identifies the type of error that occurred.", + "maxLength": 256, + "minLength": 1, + "type": "string" + }, + "details": { + "description": "Additional details that can help the caller understand or fix the issue.", + "maxLength": 8192, + "minLength": 0, + "type": "string" + }, + "message": { + "description": "A message that describes the error condition.", + "maxLength": 2048, + "minLength": 1, + "type": "string" + } + }, + "required": [ + "code", + "message" + ], + "type": "object", + "example": { + "code": "FBA_ERROR_001", + "details": "The shipment is in a status that does not allow it to be edited.", + "message": "Invalid Request" + } + }, + "ErrorList": { + "description": "A list of error responses returned when a request is unsuccessful.", + "properties": { + "errors": { + "description": "List of errors.", + "items": { + "$ref": "#/definitions/Error" + }, + "type": "array" + } + }, + "required": [ + "errors" + ], + "type": "object" + }, + "GeneratePackingOptionsResponse": { + "description": "The `generatePackingOptions` response.", + "properties": { + "operationId": { + "description": "UUID for the given operation.", + "maxLength": 38, + "minLength": 36, + "pattern": "^[a-zA-Z0-9-]*$", + "type": "string" + } + }, + "required": [ + "operationId" + ], + "type": "object" + }, + "GeneratePlacementOptionsRequest": { + "description": "The `generatePlacementOptions` request.", + "properties": { + "customPlacement": { + "description": "Custom placements options to be added to the plan.", + "items": { + "$ref": "#/definitions/CustomPlacementInput" + }, + "type": "array" + } + }, + "type": "object", + "example": { + "customPlacement": [ + { + "items": [ + { + "expiration": "2024-01-01", + "labelOwner": "AMAZON", + "manufacturingLotCode": "manufacturingLotCode", + "msku": "Sunglasses", + "prepOwner": "AMAZON", + "quantity": 10 + } + ], + "warehouseId": "YYZ14" + } + ] + } + }, + "GeneratePlacementOptionsResponse": { + "description": "The `generatePlacementOptions` response.", + "properties": { + "operationId": { + "description": "UUID for the given operation.", + "maxLength": 38, + "minLength": 36, + "pattern": "^[a-zA-Z0-9-]*$", + "type": "string" + } + }, + "required": [ + "operationId" + ], + "type": "object" + }, + "GenerateSelfShipAppointmentSlotsRequest": { + "description": "The `generateSelfShipAppointmentSlots` request.", + "properties": { + "desiredEndDate": { + "description": "The ISO 8601 datetime with pattern `yyyy-MM-ddTHH:mm:ss.sssZ`.", + "format": "date-time", + "type": "string" + }, + "desiredStartDate": { + "description": "The ISO 8601 datetime with pattern `yyyy-MM-ddTHH:mm:ss.sssZ`.", + "format": "date-time", + "type": "string" + } + }, + "type": "object", + "example": { + "desiredEndDate": "2024-01-06T14:48:00.000Z", + "desiredStartDate": "2024-01-05T14:48:00.000Z" + } + }, + "GenerateSelfShipAppointmentSlotsResponse": { + "description": "The `generateSelfShipAppointmentSlots` response.", + "properties": { + "operationId": { + "description": "UUID for the given operation.", + "maxLength": 38, + "minLength": 36, + "pattern": "^[a-zA-Z0-9-]*$", + "type": "string" + } + }, + "required": [ + "operationId" + ], + "type": "object" + }, + "GenerateTransportationOptionsRequest": { + "description": "The `generateTransportationOptions` request.", + "properties": { + "placementOptionId": { + "description": "The placement option to generate transportation options for.", + "maxLength": 38, + "minLength": 38, + "pattern": "^[a-zA-Z0-9-]*$", + "type": "string" + }, + "shipmentTransportationConfigurations": { + "description": "List of shipment transportation configurations.", + "items": { + "$ref": "#/definitions/ShipmentTransportationConfiguration" + }, + "type": "array" + } + }, + "required": [ + "placementOptionId", + "shipmentTransportationConfigurations" + ], + "type": "object", + "example": { + "placementOptionId": "pl1234abcd-1234-abcd-5678-1234abcd5678", + "shipmentTransportationConfigurations": [ + { + "contactInformation": { + "email": "email@email.com", + "name": "John Smithy", + "phoneNumber": "1234567890" + }, + "palletInformation": { + "declaredValue": { + "amount": 500, + "code": "USD" + }, + "freightClass": "FC_50", + "pallets": [ + { + "dimensions": { + "height": 5, + "length": 3, + "unitOfMeasurement": "CM", + "width": 4 + }, + "quantity": 2, + "stackability": "STACKABLE", + "weight": { + "unit": "KG", + "value": 5.5 + } + } + ] + }, + "readyToShipWindow": { + "start": "2024-01-01T00:00Z" + }, + "shipmentId": "sh1234abcd-1234-abcd-5678-1234abcd5678" + } + ] + } + }, + "GenerateTransportationOptionsResponse": { + "description": "The `generateTransportationOptions` response.", + "properties": { + "operationId": { + "description": "UUID for the given operation.", + "maxLength": 38, + "minLength": 36, + "pattern": "^[a-zA-Z0-9-]*$", + "type": "string" + } + }, + "required": [ + "operationId" + ], + "type": "object" + }, + "GetDeliveryChallanDocumentResponse": { + "description": "The `getDeliveryChallanDocumentResponse` response.", + "properties": { + "documentDownload": { + "$ref": "#/definitions/DocumentDownload" + } + }, + "required": [ + "documentDownload" + ], + "type": "object" + }, + "GetSelfShipAppointmentSlotsResponse": { + "description": "The `getSelfShipAppointmentSlots` response.", + "properties": { + "pagination": { + "$ref": "#/definitions/Pagination" + }, + "selfShipAppointmentSlotsAvailability": { + "$ref": "#/definitions/SelfShipAppointmentSlotsAvailability" + } + }, + "required": [ + "selfShipAppointmentSlotsAvailability" + ], + "type": "object" + }, + "InboundOperationStatus": { + "description": "The `getInboundOperationStatus` response.", + "properties": { + "operation": { + "description": "The name of the operation that was executed in the asynchronous API call.", + "maxLength": 1024, + "minLength": 1, + "type": "string" + }, + "operationId": { + "description": "The operation Id returned by the asynchronous API call.", + "maxLength": 38, + "minLength": 36, + "pattern": "^[a-zA-Z0-9-]*$", + "type": "string" + }, + "operationProblems": { + "description": "The problems in the processing of the asynchronous operation.", + "items": { + "$ref": "#/definitions/OperationProblem" + }, + "type": "array" + }, + "operationStatus": { + "$ref": "#/definitions/OperationStatus" + } + }, + "required": [ + "operation", + "operationId", + "operationProblems", + "operationStatus" + ], + "type": "object" + }, + "InboundPlan": { + "description": "Inbound plan containing details of the inbound workflow.", + "properties": { + "contactInformation": { + "$ref": "#/definitions/ContactInformation" + }, + "createdAt": { + "description": "The ISO 8601 datetime with pattern `yyyy-MM-ddTHH:mm:ss.sssZ`.", + "format": "date-time", + "type": "string" + }, + "inboundPlanId": { + "description": "Identifier to an inbound plan.", + "maxLength": 38, + "minLength": 38, + "pattern": "^[a-zA-Z0-9-]*$", + "type": "string" + }, + "lastUpdatedAt": { + "description": "The ISO 8601 datetime with pattern `yyyy-MM-ddTHH:mm:ss.sssZ`.", + "format": "date-time", + "type": "string" + }, + "marketplaceIds": { + "description": "Marketplace IDs.", + "items": { + "description": "The Marketplace ID. Refer to [Marketplace IDs](https://developer-docs.amazon.com/sp-api/docs/marketplace-ids) for a list of possible values.", + "maxLength": 256, + "minLength": 1, + "type": "string" + }, + "type": "array" + }, + "name": { + "description": "The human-readable name of the inbound plan.", + "type": "string" + }, + "packingOptions": { + "description": "Packing options for the inbound plan. This property will be populated when it has been generated via the corresponding endpoint. If there is a chosen placement option, only packing options for that placement option will be returned. If there are confirmed shipments, only packing options for those shipments will be returned. Query the packing option for more details.", + "items": { + "$ref": "#/definitions/PackingOptionSummary" + }, + "type": "array" + }, + "placementOptions": { + "description": "Placement options for the inbound plan. This property will be populated when it has been generated via the corresponding endpoint. If there is a chosen placement option, that will be the only returned option. Query the placement option for more details.", + "items": { + "$ref": "#/definitions/PlacementOptionSummary" + }, + "type": "array" + }, + "shipments": { + "description": "Shipment IDs for the inbound plan. This property will be populated when it has been generated via the corresponding endpoint. If there is a chosen placement option, only shipments for that option will be returned. If there are confirmed shipments, only those shipments will be returned. Query the shipment for more details.", + "items": { + "$ref": "#/definitions/ShipmentSummary" + }, + "type": "array" + }, + "sourceAddress": { + "$ref": "#/definitions/Address" + }, + "status": { + "description": "Current status of the inbound plan. Can be `ACTIVE`, `VOIDED`, or `SHIPPED`.", + "maxLength": 1024, + "minLength": 1, + "type": "string" + } + }, + "required": [ + "contactInformation", + "createdAt", + "inboundPlanId", + "lastUpdatedAt", + "marketplaceIds", + "name", + "sourceAddress", + "status" + ], + "type": "object", + "example": { + "contactInformation": { + "email": "email@email.com", + "phoneNumber": "1234567890" + }, + "createdAt": "2024-03-20T12:01:00Z", + "inboundPlanId": "wf1234abcd-1234-abcd-5678-1234abcd5678", + "lastUpdatedAt": "2024-03-28T13:15:30Z", + "marketplaceIds": [ + "A2EUQ1WTGCTBG2" + ], + "name": "FBA (03/20/2024, 12:01 PM)", + "packingOptions": [], + "placementOptions": [], + "shipments": [], + "sourceAddress": { + "addressLine1": "123 example street", + "addressLine2": "Floor 19", + "city": "Toronto", + "companyName": "Acme", + "countryCode": "CA", + "name": "name", + "postalCode": "M1M1M1", + "stateOrProvinceCode": "ON" + }, + "status": "ACTIVE" + } + }, + "InboundPlanSummary": { + "description": "A light-weight inbound plan.", + "properties": { + "contactInformation": { + "$ref": "#/definitions/ContactInformation" + }, + "createdAt": { + "description": "The ISO 8601 datetime with pattern `yyyy-MM-ddTHH:mm:ss.sssZ`.", + "format": "date-time", + "type": "string" + }, + "inboundPlanId": { + "description": "Identifier to an inbound plan.", + "maxLength": 38, + "minLength": 38, + "pattern": "^[a-zA-Z0-9-]*$", + "type": "string" + }, + "lastUpdatedAt": { + "description": "ISO 8601 datetime with pattern `yyyy-MM-ddTHH:mm:ss.sssZ`.", + "format": "date-time", + "type": "string" + }, + "marketplaceIds": { + "description": "Marketplace IDs.", + "items": { + "description": "The Marketplace ID. Refer to [Marketplace IDs](https://developer-docs.amazon.com/sp-api/docs/marketplace-ids) for a list of possible values.", + "maxLength": 256, + "minLength": 1, + "type": "string" + }, + "type": "array" + }, + "name": { + "description": "Human-readable name of the inbound plan.", + "type": "string" + }, + "sourceAddress": { + "$ref": "#/definitions/Address" + }, + "status": { + "description": "Current status of the inbound plan. Can be 'ACTIVE', 'VOIDED', or 'SHIPPED'.", + "maxLength": 1024, + "minLength": 1, + "type": "string" + } + }, + "required": [ + "contactInformation", + "createdAt", + "inboundPlanId", + "lastUpdatedAt", + "marketplaceIds", + "name", + "sourceAddress", + "status" + ], + "type": "object", + "example": { + "contactInformation": { + "email": "email@email.com", + "phoneNumber": "1234567890" + }, + "createdAt": "2023-03-08T13:15:30Z", + "inboundPlanId": "wf1234abcd-1234-abcd-5678-1234abcd5678", + "lastUpdatedAt": "2023-03-08T13:15:30Z", + "marketplaceIds": [ + "A2EUQ1WTGCTBG2" + ], + "name": "FBA (03/08/2023, 01:15 PM)", + "sourceAddress": { + "addressLine1": "123 example street", + "addressLine2": "Floor 19", + "city": "Toronto", + "companyName": "Acme", + "countryCode": "CA", + "name": "name", + "postalCode": "M1M1M1", + "stateOrProvinceCode": "ON" + }, + "status": "ACTIVE" + } + }, + "Incentive": { + "description": "Contains details about cost related modifications to the placement cost.", + "properties": { + "description": { + "description": "Description of the incentive.", + "maxLength": 1024, + "minLength": 1, + "type": "string" + }, + "target": { + "description": "Target of the incentive. Can be 'Placement Services' or 'Fulfillment Fee Discount'.", + "maxLength": 1024, + "minLength": 1, + "type": "string" + }, + "type": { + "description": "Type of incentive. Can be `FEE` or `DISCOUNT`.", + "maxLength": 1024, + "minLength": 1, + "type": "string" + }, + "value": { + "$ref": "#/definitions/Currency" + } + }, + "required": [ + "description", + "target", + "type", + "value" + ], + "type": "object" + }, + "Item": { + "description": "Information associated with a single SKU in the seller's catalog.", + "properties": { + "asin": { + "description": "The Amazon Standard Identification Number (ASIN) of the item.", + "maxLength": 10, + "minLength": 1, + "type": "string" + }, + "expiration": { + "description": "The expiration date of the MSKU in ISO 8601 format. The same MSKU with different expiration dates cannot go into the same box.", + "pattern": "^([0-9]{4})-(0[1-9]|1[0-2])-(0[1-9]|[1-2][0-9]|3[0-1])$", + "type": "string" + }, + "fnsku": { + "description": "A unique identifier assigned by Amazon to products stored in and fulfilled from an Amazon fulfillment center.", + "maxLength": 10, + "minLength": 1, + "type": "string" + }, + "labelOwner": { + "description": "Specifies who will label the items. Options include `AMAZON` and `SELLER`.", + "maxLength": 1024, + "minLength": 1, + "type": "string" + }, + "manufacturingLotCode": { + "description": "The manufacturing lot code.", + "maxLength": 256, + "minLength": 1, + "type": "string" + }, + "msku": { + "description": "The merchant defined SKU ID.", + "maxLength": 40, + "minLength": 1, + "type": "string" + }, + "prepInstructions": { + "description": "Special preparations that are required for an item.", + "items": { + "$ref": "#/definitions/PrepInstruction" + }, + "type": "array" + }, + "quantity": { + "description": "The number of the specified MSKU.", + "maximum": 10000, + "minimum": 1, + "type": "integer" + } + }, + "required": [ + "asin", + "fnsku", + "labelOwner", + "msku", + "prepInstructions", + "quantity" + ], + "type": "object" + }, + "ItemInput": { + "description": "Defines an item's input parameters.", + "properties": { + "expiration": { + "description": "The expiration date of the MSKU in ISO 8601 format. The same MSKU with different expiration dates cannot go into the same box.", + "pattern": "^([0-9]{4})-(0[1-9]|1[0-2])-(0[1-9]|[1-2][0-9]|3[0-1])$", + "type": "string" + }, + "labelOwner": { + "$ref": "#/definitions/LabelOwner" + }, + "manufacturingLotCode": { + "description": "The manufacturing lot code.", + "maxLength": 256, + "minLength": 1, + "type": "string" + }, + "msku": { + "description": "The merchant SKU.", + "maxLength": 40, + "minLength": 1, + "type": "string" + }, + "prepOwner": { + "$ref": "#/definitions/PrepOwner" + }, + "quantity": { + "description": "The number of units of the specified MSKU that will be shipped.", + "maximum": 10000, + "minimum": 1, + "type": "integer" + } + }, + "required": [ + "labelOwner", + "msku", + "prepOwner", + "quantity" + ], + "type": "object", + "example": { + "expiration": "2024-01-01", + "labelOwner": "AMAZON", + "manufacturingLotCode": "manufacturingLotCode", + "msku": "Sunglasses", + "prepOwner": "AMAZON", + "quantity": 10 + } + }, + "LabelOwner": { + "description": "Specifies who will label the items. Options include `AMAZON` and `SELLER`.", + "enum": [ + "AMAZON", + "SELLER" + ], + "type": "string", + "x-docgen-enum-table-extension": [ + { + "value": "AMAZON", + "description": "-" + }, + { + "value": "SELLER", + "description": "-" + } + ] + }, + "ListInboundPlanBoxesResponse": { + "description": "`listInboundPlanBoxes` response.", + "properties": { + "boxes": { + "description": "A list of boxes in an inbound plan.", + "items": { + "$ref": "#/definitions/Box" + }, + "type": "array" + }, + "pagination": { + "$ref": "#/definitions/Pagination" + } + }, + "required": [ + "boxes" + ], + "type": "object" + }, + "ListInboundPlanItemsResponse": { + "description": "`listInboundPlanItems` response.", + "properties": { + "items": { + "description": "The items in an inbound plan.", + "items": { + "$ref": "#/definitions/Item" + }, + "type": "array" + }, + "pagination": { + "$ref": "#/definitions/Pagination" + } + }, + "required": [ + "items" + ], + "type": "object" + }, + "ListInboundPlanPalletsResponse": { + "description": "`listInboundPlanPallets` response.", + "properties": { + "pagination": { + "$ref": "#/definitions/Pagination" + }, + "pallets": { + "description": "The pallets in an inbound plan.", + "items": { + "$ref": "#/definitions/Pallet" + }, + "type": "array" + } + }, + "required": [ + "pallets" + ], + "type": "object" + }, + "ListInboundPlansResponse": { + "description": "`listInboundPlans` response.", + "properties": { + "inboundPlans": { + "description": "A list of inbound plans with minimal information.", + "items": { + "$ref": "#/definitions/InboundPlanSummary" + }, + "type": "array" + }, + "pagination": { + "$ref": "#/definitions/Pagination" + } + }, + "type": "object" + }, + "ListItemComplianceDetailsResponse": { + "description": "`listItemComplianceDetails` response.", + "properties": { + "complianceDetails": { + "description": "List of compliance details.", + "items": { + "$ref": "#/definitions/ComplianceDetail" + }, + "type": "array" + } + }, + "type": "object" + }, + "ListPackingGroupItemsResponse": { + "description": "`listPackingGroupItems` response.", + "properties": { + "items": { + "description": "Provides the information about the list of items in the inbound plan.", + "items": { + "$ref": "#/definitions/Item" + }, + "type": "array" + }, + "pagination": { + "$ref": "#/definitions/Pagination" + } + }, + "required": [ + "items" + ], + "type": "object" + }, + "ListPackingOptionsResponse": { + "description": "`listPackingOptions` response.", + "properties": { + "packingOptions": { + "description": "List of packing options.", + "items": { + "$ref": "#/definitions/PackingOption" + }, + "type": "array" + }, + "pagination": { + "$ref": "#/definitions/Pagination" + } + }, + "required": [ + "packingOptions" + ], + "type": "object" + }, + "ListPlacementOptionsResponse": { + "description": "`listPlacementOptions` response.", + "properties": { + "pagination": { + "$ref": "#/definitions/Pagination" + }, + "placementOptions": { + "description": "Placement options generated for the inbound plan.", + "items": { + "$ref": "#/definitions/PlacementOption" + }, + "type": "array" + } + }, + "required": [ + "placementOptions" + ], + "type": "object" + }, + "ListTransportationOptionsResponse": { + "description": "`listTransportationOptions` response.", + "properties": { + "pagination": { + "$ref": "#/definitions/Pagination" + }, + "transportationOptions": { + "description": "Transportation options generated for the placement option.", + "items": { + "$ref": "#/definitions/TransportationOption" + }, + "type": "array" + } + }, + "required": [ + "transportationOptions" + ], + "type": "object" + }, + "LtlTrackingDetail": { + "description": "Contains information related to Less-Than-Truckload (LTL) shipment tracking.", + "properties": { + "billOfLadingNumber": { + "description": "The number of the carrier shipment acknowledgement document.", + "maxLength": 1024, + "minLength": 1, + "type": "string" + }, + "freightBillNumber": { + "description": "The number associated with the freight bill.", + "items": { + "maxLength": 1024, + "minLength": 1, + "pattern": "^[a-zA-Z0-9-._\\s]*$", + "type": "string" + }, + "type": "array" + } + }, + "type": "object" + }, + "LtlTrackingDetailInput": { + "description": "Contains input information to update Less-Than-Truckload (LTL) tracking information.", + "properties": { + "billOfLadingNumber": { + "description": "The number of the carrier shipment acknowledgement document.", + "maxLength": 1024, + "minLength": 1, + "type": "string" + }, + "freightBillNumber": { + "description": "Number associated with the freight bill.", + "items": { + "maxLength": 1024, + "minLength": 1, + "pattern": "^[a-zA-Z0-9-._\\s]*$", + "type": "string" + }, + "maxItems": 1, + "minItems": 1, + "type": "array" + } + }, + "required": [ + "freightBillNumber" + ], + "type": "object", + "example": { + "billOfLadingNumber": "billOfLadingNumber", + "freightBillNumber": [ + "freightBillNumber1" + ] + } + }, + "OperationProblem": { + "description": "A problem with additional properties persisted to an operation.", + "properties": { + "code": { + "description": "An error code that identifies the type of error that occurred.", + "maxLength": 256, + "minLength": 1, + "type": "string" + }, + "details": { + "description": "Additional details that can help the caller understand or fix the issue.", + "maxLength": 8192, + "minLength": 0, + "type": "string" + }, + "message": { + "description": "A message that describes the error condition.", + "maxLength": 2048, + "minLength": 1, + "type": "string" + }, + "severity": { + "description": "The severity of the problem. Can be 'WARNING', or 'ERROR'.", + "maxLength": 1024, + "minLength": 1, + "type": "string" + } + }, + "required": [ + "code", + "message", + "severity" + ], + "type": "object" + }, + "OperationStatus": { + "description": "The status of an operation.", + "enum": [ + "SUCCESS", + "FAILED", + "IN_PROGRESS" + ], + "type": "string", + "x-docgen-enum-table-extension": [ + { + "value": "SUCCESS", + "description": "Indicates a request has successfully finished processing." + }, + { + "value": "FAILED", + "description": "Indicates a request has finished processing but is in a failed state." + }, + { + "value": "IN_PROGRESS", + "description": "Indicates a request is still processing." + } + ] + }, + "PackageGroupingInput": { + "description": "Packing information for the inbound plan.", + "properties": { + "boxes": { + "description": "Box level information being provided.", + "items": { + "$ref": "#/definitions/BoxInput" + }, + "maxItems": 5000, + "minItems": 1, + "type": "array" + }, + "packingGroupId": { + "description": "The ID of the `packingGroup` that packages are grouped according to. The `PackingGroupId` can only be provided before placement confirmation, and it must belong to the confirmed `PackingOption`. One of `ShipmentId` or `PackingGroupId` must be provided with every request.", + "maxLength": 38, + "minLength": 38, + "pattern": "^[a-zA-Z0-9-]*$", + "type": "string" + }, + "shipmentId": { + "description": "The ID of the shipment that packages are grouped according to. The `ShipmentId` can only be provided after placement confirmation, and the shipment must belong to the confirmed placement option. One of `ShipmentId` or `PackingGroupId` must be provided with every request.", + "maxLength": 38, + "minLength": 38, + "pattern": "^[a-zA-Z0-9-]*$", + "type": "string" + } + }, + "required": [ + "boxes" + ], + "type": "object", + "example": { + "boxes": [ + { + "boxId": "boxId", + "contentInformationSource": "BOX_CONTENT_PROVIDED", + "contents": [ + { + "expiration": "2024-01-01", + "labelOwner": "AMAZON", + "manufacturingLotCode": "manufacturingLotCode", + "msku": "Sunglasses", + "prepOwner": "AMAZON", + "quantityInBox": 10 + } + ], + "dimensions": { + "height": 5, + "length": 3, + "unitOfMeasurement": "CM", + "width": 4 + }, + "quantity": 2, + "templateName": "templateName", + "weight": { + "unit": "KG", + "value": 5.5 + } + } + ], + "packingGroupId": "pg1234abcd-1234-abcd-5678-1234abcd5678", + "shipmentId": "sh1234abcd-1234-abcd-5678-1234abcd5678" + } + }, + "PackingOption": { + "description": "A packing option contains a set of pack groups plus additional information about the packing option, such as any discounts or fees if it's selected.", + "properties": { + "discounts": { + "description": "Discount for the offered option.", + "items": { + "$ref": "#/definitions/Incentive" + }, + "type": "array" + }, + "expiration": { + "description": "The timestamp at which this packing option becomes no longer valid. This is in ISO 8601 datetime format with pattern `yyyy-MM-ddTHH:mm:ss.sssZ`.", + "format": "date-time", + "type": "string" + }, + "fees": { + "description": "Fee for the offered option.", + "items": { + "$ref": "#/definitions/Incentive" + }, + "type": "array" + }, + "inboundPlanId": { + "description": "Identifier to an inbound plan.", + "maxLength": 38, + "minLength": 38, + "pattern": "^[a-zA-Z0-9-]*$", + "type": "string" + }, + "packingGroups": { + "description": "Packing group IDs.", + "items": { + "description": "Identifier to a packing group.", + "maxLength": 38, + "minLength": 38, + "pattern": "^[a-zA-Z0-9-]*$", + "type": "string" + }, + "type": "array" + }, + "packingOptionId": { + "description": "Identifier to a packing option.", + "maxLength": 38, + "minLength": 38, + "pattern": "^[a-zA-Z0-9-]*$", + "type": "string" + }, + "status": { + "description": "The status of the packing option. Can be `OFFERED`, `ACCEPTED`, or `EXPIRED`.", + "maxLength": 1024, + "minLength": 1, + "type": "string" + }, + "supportedShippingConfigurations": { + "description": "List of supported shipping modes.", + "items": { + "$ref": "#/definitions/ShippingConfiguration" + }, + "type": "array" + } + }, + "required": [ + "discounts", + "fees", + "inboundPlanId", + "packingGroups", + "packingOptionId", + "status", + "supportedShippingConfigurations" + ], + "type": "object" + }, + "PackingOptionSummary": { + "description": "Summary information about a packing option.", + "properties": { + "packingOptionId": { + "description": "Identifier to a packing option.", + "maxLength": 38, + "minLength": 38, + "pattern": "^[a-zA-Z0-9-]*$", + "type": "string" + }, + "status": { + "description": "The status of a packing option. Can be 'OFFERED', 'ACCEPTED', or 'EXPIRED'.", + "maxLength": 1024, + "minLength": 1, + "type": "string" + } + }, + "required": [ + "packingOptionId", + "status" + ], + "type": "object", + "example": { + "packingOptionId": "po1234abcd-1234-abcd-5678-1234abcd5678", + "status": "OFFERED" + } + }, + "Pagination": { + "description": "Contains tokens to fetch from a certain page.", + "properties": { + "nextToken": { + "description": "When present, pass this string token in the next request to return the next response page.", + "maxLength": 1024, + "minLength": 1, + "type": "string" + } + }, + "type": "object" + }, + "Pallet": { + "description": "Contains information about a pallet that is used in the inbound plan. The pallet is a container that holds multiple items or boxes.", + "properties": { + "dimensions": { + "$ref": "#/definitions/Dimensions" + }, + "packageId": { + "description": "Primary key to uniquely identify a Package (Box or Pallet).", + "maxLength": 38, + "minLength": 38, + "pattern": "^[a-zA-Z0-9-]*$", + "type": "string" + }, + "quantity": { + "description": "The number of containers where all other properties like weight or dimensions are identical.", + "maximum": 10000, + "minimum": 1, + "type": "integer" + }, + "stackability": { + "$ref": "#/definitions/Stackability" + }, + "weight": { + "$ref": "#/definitions/Weight" + } + }, + "required": [ + "packageId" + ], + "type": "object" + }, + "PalletInformation": { + "description": "Pallet information, including weight, dimensions, quantity, stackability, freight class, and declared value.", + "properties": { + "declaredValue": { + "$ref": "#/definitions/Currency" + }, + "freightClass": { + "description": "Freight class. Can be `NONE`, `FC_50`, `FC_55`, `FC_60`, `FC_65`, `FC_70`, `FC_77_5`, `FC_85`, `FC_92_5`, `FC_100`, `FC_110`, `FC_125`, `FC_150`, `FC_175`, `FC_200`, `FC_250`, `FC_300`, `FC_400`, or `FC_500`.", + "maxLength": 1024, + "minLength": 1, + "type": "string" + }, + "pallets": { + "description": "Set pallet configuration for Less-Than-Truckload (LTL).", + "items": { + "$ref": "#/definitions/PalletInput" + }, + "type": "array" + } + }, + "required": [ + "pallets" + ], + "type": "object" + }, + "PalletInput": { + "description": "Set pallet configuration for Less-Than-Truckload (LTL).", + "properties": { + "dimensions": { + "$ref": "#/definitions/Dimensions" + }, + "quantity": { + "description": "The number of containers where all other properties like weight or dimensions are identical.", + "maximum": 10000, + "minimum": 1, + "type": "integer" + }, + "stackability": { + "$ref": "#/definitions/Stackability" + }, + "weight": { + "$ref": "#/definitions/Weight" + } + }, + "required": [ + "quantity" + ], + "type": "object" + }, + "PlacementOption": { + "description": "Contains information pertaining to the placement of the contents of an inbound plan and the related costs.", + "properties": { + "discounts": { + "description": "Discount for the offered option.", + "items": { + "$ref": "#/definitions/Incentive" + }, + "type": "array" + }, + "expiration": { + "description": "The expiration date of the placement option. This is in ISO 8601 datetime format with pattern `yyyy-MM-ddTHH:mm:ss.sssZ`.", + "format": "date-time", + "type": "string" + }, + "fees": { + "description": "Fee for the offered option.", + "items": { + "$ref": "#/definitions/Incentive" + }, + "type": "array" + }, + "placementOptionId": { + "description": "Identifier to a placement option. A placement option represents the shipment splits and destinations of SKUs.", + "maxLength": 38, + "minLength": 38, + "pattern": "^[a-zA-Z0-9-]*$", + "type": "string" + }, + "shipmentIds": { + "description": "Shipment ids.", + "items": { + "description": "Identifier to a shipment. A shipment contains the boxes and units being inbounded.", + "maxLength": 38, + "minLength": 38, + "pattern": "^[a-zA-Z0-9-]*$", + "type": "string" + }, + "type": "array" + }, + "status": { + "description": "The status of a placement option. Can be `OFFERED`, `ACCEPTED`, or `EXPIRED`.", + "maxLength": 1024, + "minLength": 1, + "type": "string" + } + }, + "required": [ + "discounts", + "fees", + "placementOptionId", + "shipmentIds", + "status" + ], + "type": "object" + }, + "PlacementOptionSummary": { + "description": "Summary information about a placement option.", + "properties": { + "placementOptionId": { + "description": "Identifier to a placement option. A placement option represents the shipment splits and destinations of SKUs.", + "maxLength": 38, + "minLength": 38, + "pattern": "^[a-zA-Z0-9-]*$", + "type": "string" + }, + "status": { + "description": "The status of a placement option. Can be `OFFERED` or `ACCEPTED`.", + "maxLength": 1024, + "minLength": 1, + "type": "string" + } + }, + "required": [ + "placementOptionId", + "status" + ], + "type": "object", + "example": { + "placementOptionId": "pl1234abcd-1234-abcd-5678-1234abcd5678", + "status": "ACCEPTED" + } + }, + "PrepInstruction": { + "description": "Information pertaining to the preparation of inbound goods.", + "properties": { + "fee": { + "$ref": "#/definitions/Currency" + }, + "prepOwner": { + "description": "In some situations, special preparations are required for items and this field reflects the owner of the\n preparations. Options include `AMAZON` or `SELLER`.", + "maxLength": 1024, + "minLength": 1, + "type": "string" + }, + "prepType": { + "description": "Type of preparation that should be done. Can be `ITEM_LABELING`, `ITEM_BUBBLEWRAP`, `ITEM_POLYBAGGING`, `ITEM_TAPING`, `ITEM_BLACK_SHRINKWRAP`, `ITEM_HANG_GARMENT`, `ITEM_BOXING`, `ITEM_SETCREAT`, `ITEM_RMOVHANG`, `ITEM_SUFFOSTK`, `ITEM_CAP_SEALING`, `ITEM_DEBUNDLE`, `ITEM_SETSTK`, `ITEM_SIOC`, `ITEM_NO_PREP`, `ADULT`, `BABY`, `TEXTILE`, `HANGER`, `FRAGILE`, `LIQUID`, `SHARP`, `SMALL`, `PERFORATED`, `GRANULAR`, `SET`, `FC_PROVIDED`, `UNKNOWN`, or `NONE`.", + "maxLength": 1024, + "minLength": 1, + "type": "string" + } + }, + "type": "object" + }, + "PrepOwner": { + "description": "In some situations, special preparations are required for items and this field reflects the owner of the preparations. Options include `AMAZON` or `SELLER`.", + "enum": [ + "AMAZON", + "SELLER" + ], + "type": "string", + "x-docgen-enum-table-extension": [ + { + "value": "AMAZON", + "description": "-" + }, + { + "value": "SELLER", + "description": "-" + } + ] + }, + "Quote": { + "description": "The estimated shipping cost associated with the transportation option.", + "properties": { + "cost": { + "$ref": "#/definitions/Currency" + }, + "expiration": { + "description": "The timestamp at which this transportation option quote becomes no longer valid. This is in ISO 8601 datetime format with pattern `yyyy-MM-ddTHH:mm:ss.sssZ`.", + "format": "date-time", + "type": "string" + }, + "voidableUntil": { + "description": "Voidable until timestamp.", + "format": "date-time", + "type": "string" + } + }, + "required": [ + "cost" + ], + "type": "object" + }, + "ReasonComment": { + "description": "Reason for cancelling or rescheduling a self-ship appointment.", + "enum": [ + "APPOINTMENT_REQUESTED_BY_MISTAKE", + "VEHICLE_DELAY", + "SLOT_NOT_SUITABLE", + "OUTSIDE_CARRIER_BUSINESS_HOURS", + "UNFAVOURABLE_EXTERNAL_CONDITIONS", + "PROCUREMENT_DELAY", + "SHIPPING_PLAN_CHANGED", + "INCREASED_QUANTITY", + "OTHER" + ], + "type": "string", + "x-docgen-enum-table-extension": [ + { + "value": "APPOINTMENT_REQUESTED_BY_MISTAKE", + "description": "-" + }, + { + "value": "VEHICLE_DELAY", + "description": "-" + }, + { + "value": "SLOT_NOT_SUITABLE", + "description": "-" + }, + { + "value": "OUTSIDE_CARRIER_BUSINESS_HOURS", + "description": "-" + }, + { + "value": "UNFAVOURABLE_EXTERNAL_CONDITIONS", + "description": "-" + }, + { + "value": "PROCUREMENT_DELAY", + "description": "-" + }, + { + "value": "SHIPPING_PLAN_CHANGED", + "description": "-" + }, + { + "value": "INCREASED_QUANTITY", + "description": "-" + }, + { + "value": "OTHER", + "description": "-" + } + ] + }, + "Region": { + "description": "Representation of a location used within the inbounding experience.", + "properties": { + "countryCode": { + "description": "ISO 3166 standard alpha-2 country code.", + "maxLength": 1024, + "minLength": 1, + "type": "string" + }, + "state": { + "description": "State.", + "maxLength": 1024, + "minLength": 1, + "type": "string" + }, + "warehouseId": { + "description": "An identifier for a warehouse, such as a FC, IXD, upstream storage.", + "maxLength": 1024, + "minLength": 1, + "type": "string" + } + }, + "type": "object" + }, + "ScheduleSelfShipAppointmentRequest": { + "description": "`scheduleSelfShipAppointment` request.", + "properties": { + "reasonComment": { + "$ref": "#/definitions/ReasonComment" + } + }, + "type": "object", + "example": { + "reasonComment": "OTHER" + } + }, + "ScheduleSelfShipAppointmentResponse": { + "description": "`scheduleSelfShipAppointment` response.", + "properties": { + "selfShipAppointmentDetails": { + "$ref": "#/definitions/SelfShipAppointmentDetails" + } + }, + "required": [ + "selfShipAppointmentDetails" + ], + "type": "object", + "example": { + "selfShipAppointmentDetails": { + "appointmentId": 1000, + "appointmentSlotTime": { + "endTime": "2023-03-09T13:15:30Z", + "startTime": "2023-03-08T13:15:30Z" + }, + "appointmentStatus": "ARRIVAL_SCHEDULED" + } + } + }, + "SelfShipAppointmentDetails": { + "description": "Appointment details for carrier pickup or fulfillment center appointments.", + "properties": { + "appointmentId": { + "description": "Identifier for appointment.", + "type": "number" + }, + "appointmentSlotTime": { + "$ref": "#/definitions/AppointmentSlotTime" + }, + "appointmentStatus": { + "description": "Status of the appointment.", + "maxLength": 1024, + "minLength": 1, + "type": "string" + } + }, + "type": "object" + }, + "SelfShipAppointmentSlotsAvailability": { + "description": "The self ship appointment time slots availability and an expiration date for which the slots can be scheduled.", + "properties": { + "expiresAt": { + "description": "ISO 8601 datetime with pattern `yyyy-MM-ddTHH:mm:ss.sssZ`.", + "format": "date-time", + "type": "string" + }, + "slots": { + "description": "List of appointment slots.", + "items": { + "$ref": "#/definitions/AppointmentSlot" + }, + "type": "array" + } + }, + "type": "object" + }, + "SetPackingInformationRequest": { + "description": "`setPackingInformation` request.", + "properties": { + "packageGroupings": { + "description": "List of packing information for the inbound plan.", + "items": { + "$ref": "#/definitions/PackageGroupingInput" + }, + "type": "array" + } + }, + "type": "object", + "example": { + "packageGroupings": [ + { + "boxes": [ + { + "boxId": "boxId", + "contentInformationSource": "BOX_CONTENT_PROVIDED", + "contents": [ + { + "expiration": "2024-01-01", + "labelOwner": "AMAZON", + "manufacturingLotCode": "manufacturingLotCode", + "msku": "Sunglasses", + "prepOwner": "AMAZON", + "quantityInBox": 10 + } + ], + "dimensions": { + "height": 5, + "length": 3, + "unitOfMeasurement": "CM", + "width": 4 + }, + "quantity": 2, + "templateName": "templateName", + "weight": { + "unit": "KG", + "value": 5.5 + } + } + ], + "packingGroupId": "pg1234abcd-1234-abcd-5678-1234abcd5678", + "shipmentId": "sh1234abcd-1234-abcd-5678-1234abcd5678" + } + ] + } + }, + "SetPackingInformationResponse": { + "description": "`setPackingInformation` response.", + "properties": { + "operationId": { + "description": "UUID for the given operation.", + "maxLength": 38, + "minLength": 36, + "pattern": "^[a-zA-Z0-9-]*$", + "type": "string" + } + }, + "required": [ + "operationId" + ], + "type": "object" + }, + "Shipment": { + "description": "Contains information pertaining to a shipment in an inbound plan.", + "properties": { + "amazonReferenceId": { + "description": "A unique identifier created by Amazon that identifies this Amazon-partnered, Less Than Truckload/Full Truckload (LTL/FTL) shipment.", + "maxLength": 1024, + "minLength": 1, + "type": "string" + }, + "contactInformation": { + "$ref": "#/definitions/ContactInformation" + }, + "dates": { + "$ref": "#/definitions/Dates" + }, + "destination": { + "$ref": "#/definitions/ShipmentDestination" + }, + "inboundPlanId": { + "description": "Identifier to an inbound plan.", + "maxLength": 38, + "minLength": 38, + "pattern": "^[a-zA-Z0-9-]*$", + "type": "string" + }, + "name": { + "description": "The name of the shipment.", + "type": "string" + }, + "palletInformation": { + "$ref": "#/definitions/PalletInformation" + }, + "placementOptionId": { + "description": "Identifier to a placement option. A placement option represents the shipment splits and destinations of SKUs.", + "maxLength": 38, + "minLength": 38, + "pattern": "^[a-zA-Z0-9-]*$", + "type": "string" + }, + "selectedTransportationOptionId": { + "description": "Identifier to a transportation option. A transportation option represent one option for how to send a shipment.", + "maxLength": 38, + "minLength": 38, + "pattern": "^[a-zA-Z0-9-]*$", + "type": "string" + }, + "selfShipAppointmentDetails": { + "description": "List of self ship appointment details.", + "items": { + "$ref": "#/definitions/SelfShipAppointmentDetails" + }, + "type": "array" + }, + "shipmentConfirmationId": { + "description": "The confirmed shipment ID which shows up on labels (for example, FBA1234ABCD).", + "maxLength": 1024, + "minLength": 1, + "type": "string" + }, + "shipmentId": { + "description": "Identifier to a shipment. A shipment contains the boxes and units being inbounded.", + "maxLength": 38, + "minLength": 38, + "pattern": "^[a-zA-Z0-9-]*$", + "type": "string" + }, + "source": { + "$ref": "#/definitions/ShipmentSource" + }, + "status": { + "description": "The status of a shipment. The state of the shipment will typically start in `WORKING` and transition to `READY_TO_SHIP` once required actions are complete prior to being picked up or shipped out. Can be `ABANDONED`, `CANCELLED`, `CHECKED_IN`, `CLOSED`, `DELETED`, `DELIVERED`, `IN_TRANSIT`, `MIXED`, `READY_TO_SHIP`, `RECEIVING`, `SHIPPED`, or `WORKING`.", + "maxLength": 1024, + "minLength": 1, + "type": "string" + }, + "trackingDetails": { + "$ref": "#/definitions/TrackingDetails" + } + }, + "required": [ + "destination", + "inboundPlanId", + "placementOptionId", + "shipmentId", + "source" + ], + "type": "object" + }, + "ShipmentDestination": { + "description": "The Amazon fulfillment center address and warehouse ID.", + "properties": { + "address": { + "$ref": "#/definitions/Address", + "description": "The address the shipment should be sent to. Empty if the destination type is `AMAZON_OPTIMIZED`." + }, + "destinationType": { + "description": "The type of destination for this shipment. Can be `AMAZON_OPTIMIZED`, or `AMAZON_WAREHOUSE`.", + "maxLength": 1024, + "minLength": 1, + "type": "string" + }, + "warehouseId": { + "description": "The warehouse that the shipment should be sent to. Empty if the destination type is `AMAZON_OPTIMIZED`.", + "maxLength": 1024, + "minLength": 1, + "type": "string" + } + }, + "required": [ + "destinationType" + ], + "type": "object" + }, + "ShipmentSource": { + "description": "Specifies the 'ship from' address for the shipment.", + "properties": { + "address": { + "$ref": "#/definitions/Address" + }, + "sourceType": { + "description": "The type of source for this shipment. Can be `SELLER_FACILITY`.", + "maxLength": 1024, + "minLength": 1, + "type": "string" + } + }, + "required": [ + "sourceType" + ], + "type": "object" + }, + "ShipmentSummary": { + "description": "Summary information about a shipment.", + "properties": { + "shipmentId": { + "description": "Identifier to a shipment. A shipment contains the boxes and units being inbounded.", + "maxLength": 38, + "minLength": 38, + "pattern": "^[a-zA-Z0-9-]*$", + "type": "string" + }, + "status": { + "description": "The status of a shipment. The state of the shipment will typically start in `WORKING` and transition to `READY_TO_SHIP` once required actions are complete prior to being picked up or shipped out. Can be `ABANDONED`, `CANCELLED`, `CHECKED_IN`, `CLOSED`, `DELETED`, `DELIVERED`, `IN_TRANSIT`, `MIXED`, `READY_TO_SHIP`, `RECEIVING`, `SHIPPED`, or `WORKING`.", + "maxLength": 1024, + "minLength": 1, + "type": "string" + } + }, + "required": [ + "shipmentId", + "status" + ], + "type": "object", + "example": { + "shipmentId": "sh1234abcd-1234-abcd-5678-1234abcd5678", + "status": "SHIPPED" + } + }, + "ShipmentTransportationConfiguration": { + "description": "Details needed to generate the transportation options.", + "properties": { + "contactInformation": { + "$ref": "#/definitions/ContactInformation" + }, + "palletInformation": { + "$ref": "#/definitions/PalletInformation" + }, + "readyToShipWindow": { + "$ref": "#/definitions/WindowInput", + "description": "The range of dates within which the seller intends to ship their items. This is the pick-up date or \u201cready to ship\u201d date, not an estimated delivery date.\n" + }, + "shipmentId": { + "description": "Identifier to a shipment. A shipment contains the boxes and units being inbounded.", + "maxLength": 38, + "minLength": 38, + "pattern": "^[a-zA-Z0-9-]*$", + "type": "string" + } + }, + "required": [ + "readyToShipWindow", + "shipmentId" + ], + "type": "object" + }, + "ShippingConfiguration": { + "description": "The shipping configurations supported for the packing option. Available modes are ground small parcel, freight less-than-truckload (LTL), freight full-truckload (FTL) palletized, freight FTL non-palletized, ocean less-than-container-load (LCL), ocean full-container load (FCL), air small parcel, and air small parcel express.", + "properties": { + "shippingMode": { + "description": "Mode of shipment transportation that this option will provide. Can be `GROUND_SMALL_PARCEL`, `FREIGHT_LTL`, `FREIGHT_FTL_PALLET`, `FREIGHT_FTL_NONPALLET`, `OCEAN_LCL`, `OCEAN_FCL`, `AIR_SMALL_PARCEL`, or `AIR_SMALL_PARCEL_EXPRESS`.", + "maxLength": 1024, + "minLength": 1, + "type": "string" + }, + "shippingSolution": { + "description": "Shipping program for the option. Can be `AMAZON_PARTNERED_CARRIER` or `USE_YOUR_OWN_CARRIER`.", + "maxLength": 1024, + "minLength": 1, + "type": "string" + } + }, + "type": "object" + }, + "SpdTrackingDetail": { + "description": "Contains information related to Small Parcel Delivery (SPD) shipment tracking.", + "properties": { + "spdTrackingItems": { + "description": "List of Small Parcel Delivery (SPD) tracking items.", + "items": { + "$ref": "#/definitions/SpdTrackingItem" + }, + "type": "array" + } + }, + "type": "object" + }, + "SpdTrackingDetailInput": { + "description": "Contains input information to update Small Parcel Delivery (SPD) tracking information.", + "properties": { + "spdTrackingItems": { + "description": "List of Small Parcel Delivery (SPD) tracking items input.", + "items": { + "$ref": "#/definitions/SpdTrackingItemInput" + }, + "type": "array" + } + }, + "required": [ + "spdTrackingItems" + ], + "type": "object", + "example": { + "spdTrackingItems": [ + { + "boxId": "FBA10ABC0YY100001", + "trackingId": "FBA10002000" + } + ] + } + }, + "SpdTrackingItem": { + "description": "Contains information used to track and identify a Small Parcel Delivery (SPD) item.", + "properties": { + "boxId": { + "description": "The ID provided by Amazon that identifies a given box. This ID is comprised of the external shipment ID (which\n is generated after transportation has been confirmed) and the index of the box.", + "maxLength": 1024, + "minLength": 1, + "type": "string" + }, + "trackingId": { + "description": "The tracking ID associated with each box in a non-Amazon partnered Small Parcel Delivery (SPD) shipment.", + "maxLength": 1024, + "minLength": 1, + "type": "string" + }, + "trackingNumberValidationStatus": { + "description": "Whether or not Amazon has validated the tracking number. If more than 24 hours have passed and the status is\n not yet 'VALIDATED', please verify the number and update if necessary. Can be `VALIDATED` or `NOT_VALIDATED`.", + "maxLength": 1024, + "minLength": 1, + "type": "string" + } + }, + "type": "object" + }, + "SpdTrackingItemInput": { + "description": "Small Parcel Delivery (SPD) tracking items input information.", + "properties": { + "boxId": { + "description": "The ID provided by Amazon that identifies a given box. This ID is comprised of the external shipment ID (which\n is generated after transportation has been confirmed) and the index of the box.", + "maxLength": 1024, + "minLength": 1, + "type": "string" + }, + "trackingId": { + "description": "The tracking Id associated with each box in a non-Amazon partnered Small Parcel Delivery (SPD) shipment. The seller must provide this information. ", + "maxLength": 1024, + "minLength": 1, + "type": "string" + } + }, + "required": [ + "boxId", + "trackingId" + ], + "type": "object", + "example": { + "boxId": "FBA10ABC0YY100001", + "trackingId": "FBA10002000" + } + }, + "Stackability": { + "description": "Indicates whether pallets will be stacked when carrier arrives for pick-up.", + "enum": [ + "STACKABLE", + "NON_STACKABLE" + ], + "type": "string", + "x-docgen-enum-table-extension": [ + { + "value": "STACKABLE", + "description": "A pallet that can be stacked on top of another pallet." + }, + { + "value": "NON_STACKABLE", + "description": "A pallet that cannot be stacked on top of another pallet." + } + ] + }, + "TaxDetails": { + "description": "Information used to determine the tax compliance.", + "properties": { + "declaredValue": { + "$ref": "#/definitions/Currency" + }, + "hsnCode": { + "description": "Harmonized System of Nomenclature code.", + "maxLength": 1024, + "minLength": 1, + "type": "string" + }, + "taxRates": { + "description": "List of tax rates.", + "items": { + "$ref": "#/definitions/TaxRate" + }, + "type": "array" + } + }, + "type": "object" + }, + "TaxRate": { + "description": "Contains the type and rate of tax.", + "properties": { + "cessRate": { + "description": "Rate of cess tax.", + "format": "double", + "type": "number" + }, + "gstRate": { + "description": "Rate of gst tax.", + "format": "double", + "type": "number" + }, + "taxType": { + "description": "Type of tax. Can be `CGST`, `SGST`, `IGST`, or `TOTAL_TAX`.", + "maxLength": 1024, + "minLength": 1, + "type": "string" + } + }, + "type": "object" + }, + "TrackingDetails": { + "description": "Tracking information for Less-Than-Truckload (LTL) and Small Parcel Delivery (SPD) shipments.", + "properties": { + "ltlTrackingDetail": { + "$ref": "#/definitions/LtlTrackingDetail" + }, + "spdTrackingDetail": { + "$ref": "#/definitions/SpdTrackingDetail" + } + }, + "type": "object" + }, + "TrackingDetailsInput": { + "description": "Tracking information input for Less-Than-Truckload (LTL) and Small Parcel Delivery (SPD) shipments.", + "properties": { + "ltlTrackingDetail": { + "$ref": "#/definitions/LtlTrackingDetailInput" + }, + "spdTrackingDetail": { + "$ref": "#/definitions/SpdTrackingDetailInput" + } + }, + "type": "object", + "example": { + "ltlTrackingDetail": { + "billOfLadingNumber": "billOfLadingNumber", + "freightBillNumber": [ + "freightBillNumber1" + ] + } + } + }, + "TransportationOption": { + "description": "Contains information pertaining to a transportation option and the related carrier.", + "properties": { + "appointmentSlot": { + "$ref": "#/definitions/AppointmentSlot" + }, + "carrier": { + "$ref": "#/definitions/Carrier" + }, + "inboundPlanId": { + "description": "Identifier to an inbound plan.", + "maxLength": 38, + "minLength": 38, + "pattern": "^[a-zA-Z0-9-]*$", + "type": "string" + }, + "placementOptionId": { + "description": "The identifier of a placement option. A placement option represents the shipment splits and destinations of SKUs.", + "maxLength": 38, + "minLength": 38, + "pattern": "^[a-zA-Z0-9-]*$", + "type": "string" + }, + "quote": { + "$ref": "#/definitions/Quote" + }, + "shipmentId": { + "description": "Identifier to a shipment. A shipment contains the boxes and units being inbounded.", + "maxLength": 38, + "minLength": 38, + "pattern": "^[a-zA-Z0-9-]*$", + "type": "string" + }, + "shippingMode": { + "description": "The shipping mode associated with the transportation option. Available modes are ground small parcel, freight less-than-truckload (LTL), freight full-truckload (FTL) palletized, freight FTL non-palletized, ocean less-than-container-load (LCL), ocean full-container load (FCL), air small parcel, and air small parcel express.", + "maxLength": 1024, + "minLength": 1, + "type": "string" + }, + "shippingSolution": { + "description": "The shipping solution associated with the transportation option. Available solutions are Amazon-partnered carrier or 'use your own carrier'.", + "maxLength": 1024, + "minLength": 1, + "type": "string" + }, + "transportationOptionId": { + "description": "Identifier to a transportation option. A transportation option represent one option for how to send a shipment.", + "maxLength": 38, + "minLength": 38, + "pattern": "^[a-zA-Z0-9-]*$", + "type": "string" + } + }, + "required": [ + "carrier", + "inboundPlanId", + "placementOptionId", + "shipmentId", + "shippingMode", + "shippingSolution", + "transportationOptionId" + ], + "type": "object" + }, + "TransportationSelection": { + "description": "The transportation option selected to confirm.", + "properties": { + "contactInformation": { + "$ref": "#/definitions/ContactInformation" + }, + "deliveryWindow": { + "$ref": "#/definitions/WindowInput", + "description": "The range of dates within which the seller expects that their shipment will be delivered to Amazon.\n" + }, + "shipmentId": { + "description": "Shipment ID that the transportation Option is for.", + "maxLength": 38, + "minLength": 38, + "pattern": "^[a-zA-Z0-9-]*$", + "type": "string" + }, + "transportationOptionId": { + "description": "Transportation option being selected for the provided shipment.", + "maxLength": 38, + "minLength": 38, + "pattern": "^[a-zA-Z0-9-]*$", + "type": "string" + } + }, + "required": [ + "shipmentId", + "transportationOptionId" + ], + "type": "object" + }, + "UnitOfMeasurement": { + "description": "Unit of linear measure.", + "enum": [ + "IN", + "CM" + ], + "type": "string", + "x-docgen-enum-table-extension": [ + { + "value": "IN", + "description": "Inches." + }, + { + "value": "CM", + "description": "Centimeters." + } + ] + }, + "UnitOfWeight": { + "description": "Unit of the weight being measured.", + "enum": [ + "LB", + "KG" + ], + "type": "string", + "x-docgen-enum-table-extension": [ + { + "value": "LB", + "description": "Pounds." + }, + { + "value": "KG", + "description": "Kilograms." + } + ] + }, + "UpdateItemComplianceDetailsRequest": { + "description": "The `updateItemComplianceDetails` request.", + "properties": { + "msku": { + "description": "The merchant SKU, a merchant-supplied identifier for a specific SKU.", + "maxLength": 40, + "minLength": 1, + "type": "string" + }, + "taxDetails": { + "$ref": "#/definitions/TaxDetails" + } + }, + "required": [ + "msku", + "taxDetails" + ], + "type": "object", + "example": { + "msku": "Sunglasses", + "taxDetails": { + "declaredValue": { + "amount": 5.5, + "code": "CAD" + }, + "hsnCode": "hsnCode" + } + } + }, + "UpdateItemComplianceDetailsResponse": { + "description": "The `updateItemComplianceDetails` response.", + "properties": { + "operationId": { + "description": "UUID for the given operation.", + "maxLength": 38, + "minLength": 36, + "pattern": "^[a-zA-Z0-9-]*$", + "type": "string" + } + }, + "required": [ + "operationId" + ], + "type": "object" + }, + "UpdateShipmentDeliveryWindowRequest": { + "description": "The `updateShipmentDeliveryWindow` request.", + "properties": { + "deliveryWindow": { + "$ref": "#/definitions/WindowInput", + "description": "The range of dates within which the seller expects that their shipment will be delivered to Amazon.\n" + } + }, + "required": [ + "deliveryWindow" + ], + "type": "object", + "example": { + "deliveryWindow": { + "start": "2024-01-01T00:00Z" + } + } + }, + "UpdateShipmentDeliveryWindowResponse": { + "description": "The `updateShipmentDeliveryWindow` response.", + "properties": { + "operationId": { + "description": "UUID for the given operation.", + "maxLength": 38, + "minLength": 36, + "pattern": "^[a-zA-Z0-9-]*$", + "type": "string" + } + }, + "required": [ + "operationId" + ], + "type": "object" + }, + "UpdateShipmentTrackingDetailsRequest": { + "description": "The `updateShipmentTrackingDetails` request.", + "properties": { + "trackingDetails": { + "$ref": "#/definitions/TrackingDetailsInput" + } + }, + "required": [ + "trackingDetails" + ], + "type": "object", + "example": { + "trackingDetails": { + "spdTrackingDetail": { + "spdTrackingItems": [ + { + "boxId": "FBA10ABC0YY100001", + "trackingId": "FBA10002000" + } + ] + } + } + } + }, + "UpdateShipmentTrackingDetailsResponse": { + "description": "The `updateShipmentTrackingDetails` response.", + "properties": { + "operationId": { + "description": "UUID for the given operation.", + "maxLength": 38, + "minLength": 36, + "pattern": "^[a-zA-Z0-9-]*$", + "type": "string" + } + }, + "required": [ + "operationId" + ], + "type": "object" + }, + "Weight": { + "description": "The weight of a package.", + "properties": { + "unit": { + "$ref": "#/definitions/UnitOfWeight" + }, + "value": { + "description": "Value of a weight.", + "format": "double", + "maximum": 100000, + "minimum": 0, + "type": "number" + } + }, + "required": [ + "unit", + "value" + ], + "type": "object" + }, + "Window": { + "description": "Contains a start and end DateTime representing a time range.", + "properties": { + "editableUntil": { + "description": "The timestamp at which this Window can no longer be edited.", + "format": "date-time", + "type": "string" + }, + "end": { + "description": "The end timestamp of the window.", + "format": "date-time", + "type": "string" + }, + "start": { + "description": "The start timestamp of the window.", + "format": "date-time", + "type": "string" + } + }, + "required": [ + "end", + "start" + ], + "type": "object" + }, + "WindowInput": { + "description": "Contains only a starting DateTime.", + "properties": { + "start": { + "description": "The start date of the window. The time component must be zero.", + "format": "date-time", + "type": "string" + } + }, + "required": [ + "start" + ], + "type": "object" + } + }, + "x-components": {} +} \ No newline at end of file From ab15894db00c8547afb23b8cce80b8f044178541 Mon Sep 17 00:00:00 2001 From: andiec Date: Wed, 24 Apr 2024 13:26:32 -0400 Subject: [PATCH 124/340] orders v0 update release --- models/.DS_Store | Bin 10244 -> 10244 bytes models/orders-api-model/ordersV0.json | 747 +++++++++++++++++++------- 2 files changed, 559 insertions(+), 188 deletions(-) diff --git a/models/.DS_Store b/models/.DS_Store index cd5aa68a204c15ed0367f3a875676bad62ead55f..6ed8c19aebd8bb7e261e0f97a5a6b28ed80e435c 100644 GIT binary patch literal 10244 zcmeHMTWl0n7(V~Dz?tFFX(>2`F057*YYV${ZHq;+y#WQW%9geibe-K9+L76rWoLE^ zHfRm{qCiZ%MH7kf^5BCcUSlv`9yCE8d@zj>qsGMOizMQM5j9@^GiSDeEw@t98fP|h z{&V}!ob%21pY#8-gb--UsS!d#gb<21lhPba&T_GKc2BqhUQGo`Kz%}Nk|qi<@K-;f zw_o8S;3ME8;3ME8;3F^{5Wq8=U34~=e(EFOBj6)2jsV*qLU=P7^W-R(?$&{c8v>v# z#cKD$JjMa8PRNrnPmXfws^XYDdH_!qybuGpI<|*cca$+tj&jM>32=1+-jl(LP{4gU z>V@3y1Y%tJsgHn>eaLNfP7s`ZMBpg_uOeI)mtBkPHzA^9spesUD+z3)?he zB!}%x(y)>^%3H~dq1#S4{3!%VN@vWRMQ733^!E6WH5_*oCug@Q+3l>jZC1`yZC5wW8>m2qgtT~Mq(0Idjn;*tk%oPB zp^->9+Ef>64oCOx6X=4Pl`UHmyNtAH9pvi_>t)TaNdLy$PuzkDE?+#?dX)?$xq3%7j#ACRrMhEhIOwY)@-UZ*=$oXBQNWtytnB3H{- zQM#Sgw`Vm>d9}DqzE+SF+GFE<`4F{Yogmpl&o11Cx#~(WLM2t$YA8v~;8jtvkxH9{ zzC6c~SFRRYXgSmg{V6M*#(CSkdaWFz(lL4md-lzW?Q~}}voNc*atEaY_K=d*x`*)` zC}?b;)O|Nt&r~{9-LbOn!Z%jS@-{Y9tEy_Mw{E#xzKu$sppK-Qc^yw4e7XDpqBXHv z{svs|gqm2`dm)rmkrn7^ZXi3*pfY4XIY6E!hsjIi4e}0opL|S?lh4VQu`e6XJg93NKE=Yq3dAJuw zVL#jt2jOve0-l7Y;6-=^UWM1-T{s3G!bk80d<#FoN%#?dh2P+J_#;prs0b_$gaTLc zIR^@dS>HIR+)RKiak4h!o#BDqXS12$y7gk$w6K}ubC{KsSInLSPX7O#%p_uZLnaQ(k#YpI>vf04T(W%2HFHKUcC&9 zGtnM+@w(bzPzsK~X9}BNJTRhFUCwS7>S$MX40cjkm4235$eTIxn}j;YiGQ z=;UeqGC4}#Bge=X()c^_JvmAK1Pb$@5=navEQjl%4(gG(&2S^Mxa3`r)ZGZ1pa*)9 zzT1$%DbQdLhCqibIFNHme4k6=2jCDq43EI0@E9D1XW&_Q4xWb>;0Pmh5m`5$Nmh7! zvSckf6RReiiR_Hj@qFaI#ra*+i8=k!`xEHLSn8-tNJo@ANR*gNSl z(pE=@7b?-Ot4^fK@A;thQs$Dj)W2n%%+S==RK%#$;PJE5AAu4+#Sr`c-+Au;|EK># z{2BTP_y}Aw0#Mo!?`T8yLP$|O68qL3!uw9V*~R*ea_OpI!n&|}_j5cJ*ys4=UR@!| iV(l@nZj?(`9qV0nl>BS{W&bn4kN^GnU;BT@|9=4z5m5>N delta 114 zcmZn(XbG6$&nU1lU^hRbz+^!|yUFW?xF@Uc_`IM9`>&Ax1tee>tez8oxCoKsy_W0%_(#lK#;u|G0 diff --git a/models/orders-api-model/ordersV0.json b/models/orders-api-model/ordersV0.json index a780dc5c4..eec2f95e9 100644 --- a/models/orders-api-model/ordersV0.json +++ b/models/orders-api-model/ordersV0.json @@ -1,7 +1,7 @@ { "swagger": "2.0", "info": { - "description": "The Selling Partner API for Orders helps you programmatically retrieve order information. These APIs let you develop fast, flexible, custom applications in areas like order synchronization, order research, and demand-based decision support tools. The Orders API supports orders that are two years old or less. Orders more than two years old will not show in the API response.\n\n_Note:_ The Orders API supports orders from 2016 and after for the JP, AU, and SG marketplaces.", + "description": "The Selling Partner API for Orders helps you programmatically retrieve order information. These APIs let you develop fast, flexible, custom applications in areas like order synchronization, order research, and demand-based decision support tools. The Orders API supports orders that are two years old or less. Orders more than two years old will not show in the API response.\n\n**Note:** The Orders API supports orders from 2016 and after for the JP, AU, and SG marketplaces.", "version": "v0", "title": "Selling Partner API for Orders", "contact": { @@ -29,34 +29,34 @@ "tags": [ "ordersV0" ], - "description": "Returns orders created or updated during the time frame indicated by the specified parameters. You can also apply a range of filtering criteria to narrow the list of orders returned. If NextToken is present, that will be used to retrieve the orders instead of other criteria.\n\n**Usage Plan:**\n\n| Rate (requests per second) | Burst |\n| ---- | ---- |\n| 0.0167 | 20 |\n\nThe `x-amzn-RateLimit-Limit` response header returns the usage plan rate limits that were applied to the requested operation, when available. The table above indicates the default rate and burst values for this operation. Selling partners whose business demands require higher throughput may see higher rate and burst values then those shown here. For more information, see [Usage Plans and Rate Limits in the Selling Partner API](doc:usage-plans-and-rate-limits-in-the-sp-api).", + "description": "Returns orders created or updated during the time frame indicated by the specified parameters. You can also apply a range of filtering criteria to narrow the list of orders returned. If NextToken is present, that will be used to retrieve the orders instead of other criteria.\n\n**Usage Plan:**\n\n| Rate (requests per second) | Burst |\n| ---- | ---- |\n| 0.0167 | 20 |\n\nThe `x-amzn-RateLimit-Limit` response header returns the usage plan rate limits that were applied to the requested operation, when available. The table above indicates the default rate and burst values for this operation. Selling partners whose business demands require higher throughput may see higher rate and burst values then those shown here. For more information, refer to [Usage Plans and Rate Limits in the Selling Partner API](https://developer-docs.amazon.com/sp-api/docs/usage-plans-and-rate-limits-in-the-sp-api).", "operationId": "getOrders", "parameters": [ { "name": "CreatedAfter", "in": "query", - "description": "A date used for selecting orders created after (or at) a specified time. Only orders placed after the specified time are returned. Either the CreatedAfter parameter or the LastUpdatedAfter parameter is required. Both cannot be empty. The date must be in ISO 8601 format.", + "description": "A date used for selecting orders created after (or at) a specified time. Only orders placed after the specified time are returned. The date must be in ISO 8601 format.\n\n**Note**: Either the `CreatedAfter` parameter or the `LastUpdatedAfter` parameter is required. You could specify `CreatedBefore` but not provide `LastUpdatedAfter` or `LastUpdatedBefore` when `CreatedAfter` is specified.", "required": false, "type": "string" }, { "name": "CreatedBefore", "in": "query", - "description": "A date used for selecting orders created before (or at) a specified time. Only orders placed before the specified time are returned. The date must be in ISO 8601 format.", + "description": "A date used for selecting orders created before (or at) a specified time. Only orders placed before the specified time are returned. The date must be in ISO 8601 format.\n\n**Note**: `CreatedBefore` is optional when `CreatedAfter` is specified. But if specified, `CreatedBefore` should be equal to or after the `CreatedAfter` date and at least 2 minutes before the current time.", "required": false, "type": "string" }, { "name": "LastUpdatedAfter", "in": "query", - "description": "A date used for selecting orders that were last updated after (or at) a specified time. An update is defined as any change in order status, including the creation of a new order. Includes updates made by Amazon and by the seller. The date must be in ISO 8601 format.", + "description": "A date used for selecting orders that were last updated before (or at) a specified time. An update is defined as any change in order status, including the creation of a new order. Includes updates made by Amazon and by the seller. The date must be in ISO 8601 format.\n\n**Note**: `LastUpdatedBefore` is optional when `LastUpdatedAfter` is specified. But if specified, `LastUpdatedBefore` should be equal to or after the `LastUpdatedAfter` date and at least 2 minutes before current time.", "required": false, "type": "string" }, { "name": "LastUpdatedBefore", "in": "query", - "description": "A date used for selecting orders that were last updated before (or at) a specified time. An update is defined as any change in order status, including the creation of a new order. Includes updates made by Amazon and by the seller. The date must be in ISO 8601 format.", + "description": "A date used for selecting orders that were last updated before (or at) a specified time. An update is defined as any change in order status, including the creation of a new order. Includes updates made by Amazon and by the seller. The date must be in ISO 8601 format.\n\n**Note**: LastUpdatedBefore is optional when LastUpdatedAfter is set. But if specified, LastUpdatedBefore should be equal to or after the LastUpdatedAfter date and at least 2 minutes before current time.", "required": false, "type": "string" }, @@ -73,7 +73,7 @@ { "name": "MarketplaceIds", "in": "query", - "description": "A list of MarketplaceId values. Used to select orders that were placed in the specified marketplaces.\n\nRefer to [Marketplace IDs](https://developer-docs.amazon.com/sp-api/docs/marketplace-ids) for a complete list of marketplaceId values.", + "description": "A list of `MarketplaceId` values. Used to select orders that were placed in the specified marketplaces.\n\nRefer to [Marketplace IDs](https://developer-docs.amazon.com/sp-api/docs/marketplace-ids) for a complete list of `MarketplaceId` values.", "required": true, "type": "array", "items": { @@ -84,7 +84,7 @@ { "name": "FulfillmentChannels", "in": "query", - "description": "A list that indicates how an order was fulfilled. Filters the results by fulfillment channel. Possible values: AFN (Fulfillment by Amazon); MFN (Fulfilled by the seller).", + "description": "A list that indicates how an order was fulfilled. Filters the results by fulfillment channel. \n\n**Possible values**: `AFN` (Fulfillment by Amazon); `MFN` (Fulfilled by the seller).", "required": false, "type": "array", "items": { @@ -94,7 +94,7 @@ { "name": "PaymentMethods", "in": "query", - "description": "A list of payment method values. Used to select orders paid using the specified payment methods. Possible values: COD (Cash on delivery); CVS (Convenience store payment); Other (Any payment method other than COD or CVS).", + "description": "A list of payment method values. Used to select orders paid using the specified payment methods.\n\n**Possible values**: `COD` (Cash on delivery); `CVS` (Convenience store payment); `Other` (Any payment method other than `COD` or `CVS`).", "required": false, "type": "array", "items": { @@ -563,10 +563,6 @@ "$ref": "#/definitions/GetOrdersResponse" }, "headers": { - "x-amzn-RateLimit-Limit": { - "type": "string", - "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." - }, "x-amzn-RequestId": { "type": "string", "description": "Unique request reference identifier." @@ -579,10 +575,6 @@ "$ref": "#/definitions/GetOrdersResponse" }, "headers": { - "x-amzn-RateLimit-Limit": { - "type": "string", - "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." - }, "x-amzn-RequestId": { "type": "string", "description": "Unique request reference identifier." @@ -595,10 +587,6 @@ "$ref": "#/definitions/GetOrdersResponse" }, "headers": { - "x-amzn-RateLimit-Limit": { - "type": "string", - "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." - }, "x-amzn-RequestId": { "type": "string", "description": "Unique request reference identifier." @@ -613,7 +601,7 @@ "tags": [ "ordersV0" ], - "description": "Returns the order that you specify.\n\n**Usage Plan:**\n\n| Rate (requests per second) | Burst |\n| ---- | ---- |\n| 0.0167 | 20 |\n\nThe `x-amzn-RateLimit-Limit` response header returns the usage plan rate limits that were applied to the requested operation, when available. The table above indicates the default rate and burst values for this operation. Selling partners whose business demands require higher throughput may see higher rate and burst values then those shown here. For more information, see [Usage Plans and Rate Limits in the Selling Partner API](doc:usage-plans-and-rate-limits-in-the-sp-api).", + "description": "Returns the order that you specify.\n\n**Usage Plan:**\n\n| Rate (requests per second) | Burst |\n| ---- | ---- |\n| 0.5 | 30 |\n\nThe `x-amzn-RateLimit-Limit` response header returns the usage plan rate limits that were applied to the requested operation, when available. The table above indicates the default rate and burst values for this operation. Selling partners whose business demands require higher throughput may see higher rate and burst values then those shown here. For more information, refer to [Usage Plans and Rate Limits in the Selling Partner API](https://developer-docs.amazon.com/sp-api/docs/usage-plans-and-rate-limits-in-the-sp-api).", "operationId": "getOrder", "parameters": [ { @@ -907,10 +895,6 @@ "$ref": "#/definitions/GetOrderResponse" }, "headers": { - "x-amzn-RateLimit-Limit": { - "type": "string", - "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." - }, "x-amzn-RequestId": { "type": "string", "description": "Unique request reference identifier." @@ -923,10 +907,6 @@ "$ref": "#/definitions/GetOrderResponse" }, "headers": { - "x-amzn-RateLimit-Limit": { - "type": "string", - "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." - }, "x-amzn-RequestId": { "type": "string", "description": "Unique request reference identifier." @@ -939,10 +919,6 @@ "$ref": "#/definitions/GetOrderResponse" }, "headers": { - "x-amzn-RateLimit-Limit": { - "type": "string", - "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." - }, "x-amzn-RequestId": { "type": "string", "description": "Unique request reference identifier." @@ -957,13 +933,13 @@ "tags": [ "ordersV0" ], - "description": "Returns buyer information for the order that you specify.\n\n**Usage Plan:**\n\n| Rate (requests per second) | Burst |\n| ---- | ---- |\n| 0.0167 | 20 |\n\nThe `x-amzn-RateLimit-Limit` response header returns the usage plan rate limits that were applied to the requested operation, when available. The table above indicates the default rate and burst values for this operation. Selling partners whose business demands require higher throughput may see higher rate and burst values then those shown here. For more information, see [Usage Plans and Rate Limits in the Selling Partner API](doc:usage-plans-and-rate-limits-in-the-sp-api).", + "description": "Returns buyer information for the order that you specify.\n\n**Usage Plan:**\n\n| Rate (requests per second) | Burst |\n| ---- | ---- |\n| 0.5 | 30 |\n\nThe `x-amzn-RateLimit-Limit` response header returns the usage plan rate limits that were applied to the requested operation, when available. The table above indicates the default rate and burst values for this operation. Selling partners whose business demands require higher throughput may see higher rate and burst values then those shown here. For more information, refer to [Usage Plans and Rate Limits in the Selling Partner API](https://developer-docs.amazon.com/sp-api/docs/usage-plans-and-rate-limits-in-the-sp-api).", "operationId": "getOrderBuyerInfo", "parameters": [ { "name": "orderId", "in": "path", - "description": "An orderId is an Amazon-defined order identifier, in 3-7-7 format.", + "description": "An `orderId` is an Amazon-defined order identifier, in 3-7-7 format.", "required": true, "type": "string" } @@ -1089,10 +1065,6 @@ "$ref": "#/definitions/GetOrderBuyerInfoResponse" }, "headers": { - "x-amzn-RateLimit-Limit": { - "type": "string", - "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." - }, "x-amzn-RequestId": { "type": "string", "description": "Unique request reference identifier." @@ -1105,10 +1077,6 @@ "$ref": "#/definitions/GetOrderBuyerInfoResponse" }, "headers": { - "x-amzn-RateLimit-Limit": { - "type": "string", - "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." - }, "x-amzn-RequestId": { "type": "string", "description": "Unique request reference identifier." @@ -1121,10 +1089,6 @@ "$ref": "#/definitions/GetOrderBuyerInfoResponse" }, "headers": { - "x-amzn-RateLimit-Limit": { - "type": "string", - "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." - }, "x-amzn-RequestId": { "type": "string", "description": "Unique request reference identifier." @@ -1139,13 +1103,13 @@ "tags": [ "ordersV0" ], - "description": "Returns the shipping address for the order that you specify.\n\n**Usage Plan:**\n\n| Rate (requests per second) | Burst |\n| ---- | ---- |\n| 0.0167 | 20 |\n\nThe `x-amzn-RateLimit-Limit` response header returns the usage plan rate limits that were applied to the requested operation, when available. The table above indicates the default rate and burst values for this operation. Selling partners whose business demands require higher throughput may see higher rate and burst values then those shown here. For more information, see [Usage Plans and Rate Limits in the Selling Partner API](doc:usage-plans-and-rate-limits-in-the-sp-api).", + "description": "Returns the shipping address for the order that you specify.\n\n**Usage Plan:**\n\n| Rate (requests per second) | Burst |\n| ---- | ---- |\n| 0.5 | 30 |\n\nThe `x-amzn-RateLimit-Limit` response header returns the usage plan rate limits that were applied to the requested operation, when available. The table above indicates the default rate and burst values for this operation. Selling partners whose business demands require higher throughput may see higher rate and burst values then those shown here. For more information, refer to [Usage Plans and Rate Limits in the Selling Partner API](https://developer-docs.amazon.com/sp-api/docs/usage-plans-and-rate-limits-in-the-sp-api).", "operationId": "getOrderAddress", "parameters": [ { "name": "orderId", "in": "path", - "description": "An orderId is an Amazon-defined order identifier, in 3-7-7 format.", + "description": "An `orderId` is an Amazon-defined order identifier, in 3-7-7 format.", "required": true, "type": "string" } @@ -1281,10 +1245,6 @@ "$ref": "#/definitions/GetOrderAddressResponse" }, "headers": { - "x-amzn-RateLimit-Limit": { - "type": "string", - "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." - }, "x-amzn-RequestId": { "type": "string", "description": "Unique request reference identifier." @@ -1297,10 +1257,6 @@ "$ref": "#/definitions/GetOrderAddressResponse" }, "headers": { - "x-amzn-RateLimit-Limit": { - "type": "string", - "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." - }, "x-amzn-RequestId": { "type": "string", "description": "Unique request reference identifier." @@ -1312,15 +1268,227 @@ "schema": { "$ref": "#/definitions/GetOrderAddressResponse" }, + "headers": { + "x-amzn-RequestId": { + "type": "string", + "description": "Unique request reference identifier." + } + } + } + } + } + }, + "/orders/v0/orders/{orderId}/fulfillmentInstructions": { + "get": { + "tags": [ + "ordersV0" + ], + "description": "Returns the fulfillment instructions for the order that you specify.\n\n**Usage Plan:**\n\n| Rate (requests per second) | Burst |\n| ---- | ---- |\n| 0.5 | 20 |\n\nThe `x-amzn-RateLimit-Limit` response header returns the usage plan rate limits that were applied to the requested operation, when available. The table above indicates the default rate and burst values for this operation. Selling partners whose business demands require higher throughput may see higher rate and burst values then those shown here. For more information, refer to [Usage Plans and Rate Limits in the Selling Partner API](https://developer-docs.amazon.com/sp-api/docs/usage-plans-and-rate-limits-in-the-sp-api).", + "operationId": "getOrderFulfillmentInstructions", + "parameters": [ + { + "name": "orderId", + "in": "path", + "description": "An Amazon-defined order identifier, in 3-7-7 format.", + "required": true, + "type": "string" + } + ], + "responses": { + "200": { + "description": "Success.", + "schema": { + "$ref": "#/definitions/GetOrderFulfillmentInstructionsResponse" + }, + "examples": { + "application/json":{ + "payload": { + "AmazonOrderId": "902-3159896-1390916", + "FulfillmentPlans": [ + { + "CreationDate": "2023-10-25T12:00:00Z", + "FulfillmentPlanId" : "1", + "FulfillmentType" : "SHIP", + "FulfillmentPlanStatus": "ACTIVE", + "LastStatusUpdateDate" : "2023-10-25T12:00:00Z", + "FulfillmentPlanItems": [ + { + "OrderItemId": "6217867064725", + "Measurement" : { + "Unit" : "COUNT", + "Value" : 20 + } + } + ], + "ShippingInstructions": { + "CarrierCode": "UPS", + "ShippingMethod": "Ground", + "ShippingConstraints" : { + "PalletDelivery" : "MANDATORY" + } + }, + "FulfillmentLocation": { + "SupplySourceId": "bb3e1352-a3b4-4b99-aeb7-b1a923837ef2" + } + } + ] + } + } + }, "headers": { "x-amzn-RateLimit-Limit": { "type": "string", - "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." + "description": "Your rate limit (requests per second) for this operation." }, "x-amzn-RequestId": { "type": "string", "description": "Unique request reference identifier." } + }, + "x-amzn-api-sandbox": { + "static": [ + { + "request": { + "parameters": { + "orderId": { + "value": "TEST_CASE_200" + } + } + }, + "response": { + "payload": { + "AmazonOrderId": "TEST_CASE_200", + "FulfillmentPlans": [{ + "CreationDate": "2023-10-25T12:00:00Z", + "FulfillmentPlanId" : "1", + "FulfillmentType" : "SHIP", + "FulfillmentPlanStatus": "ACTIVE", + "LastStatusUpdateDate" : "2023-10-25T12:00:00Z", + "FulfillmentPlanItems": [ + { + "OrderItemId": "6217867064725", + "Measurement" : { + "Unit" : "COUNT", + "Value" : 20 + } + } + ], + "ShippingInstructions": { + "CarrierCode": "UPS", + "ShippingMethod": "Ground", + "ShippingConstraints" : { + "PalletDelivery" : "MANDATORY" + } + }, + "FulfillmentLocation": { + "SupplySourceId": "bb3e1352-a3b4-4b99-aeb7-b1a923837ef2" + } + }] + } + } + } + ] + } + }, + "400": { + "description": "Request has missing or invalid parameters and cannot be parsed.", + "schema": { + "$ref": "#/definitions/GetOrderFulfillmentInstructionsResponse" + }, + "headers": { + "x-amzn-RateLimit-Limit": { + "type": "string", + "description": "Your rate limit (requests per second) for this operation." + }, + "x-amzn-RequestId": { + "type": "string", + "description": "Unique request reference identifier." + } + }, + "x-amzn-api-sandbox": { + "static": [ + { + "request": { + "parameters": { + "orderId": { + "value": "TEST_CASE_400" + } + } + }, + "response": { + "errors": [ + { + "code": "InvalidInput", + "message": "Invalid Input" + } + ] + } + } + ] + } + }, + "403": { + "description": "Indicates access to the resource is forbidden. Possible reasons include Access Denied, Unauthorized, Expired Token, or Invalid Signature.", + "schema": { + "$ref": "#/definitions/GetOrderFulfillmentInstructionsResponse" + }, + "headers": { + "x-amzn-RequestId": { + "type": "string", + "description": "Unique request reference identifier." + } + } + }, + "404": { + "description": "The resource specified does not exist.", + "schema": { + "$ref": "#/definitions/GetOrderFulfillmentInstructionsResponse" + }, + "headers": { + "x-amzn-RateLimit-Limit": { + "type": "string", + "description": "Your rate limit (requests per second) for this operation." + }, + "x-amzn-RequestId": { + "type": "string", + "description": "Unique request reference identifier." + } + } + }, + "429": { + "description": "The frequency of requests was greater than allowed.", + "schema": { + "$ref": "#/definitions/GetOrderFulfillmentInstructionsResponse" + }, + "headers": { + "x-amzn-RequestId": { + "type": "string", + "description": "Unique request reference identifier." + } + } + }, + "500": { + "description": "An unexpected condition occurred that prevented the server from fulfilling the request.", + "schema": { + "$ref": "#/definitions/GetOrderFulfillmentInstructionsResponse" + }, + "headers": { + "x-amzn-RequestId": { + "type": "string", + "description": "Unique request reference identifier." + } + } + }, + "503": { + "description": "Temporary overloading or maintenance of the server.", + "schema": { + "$ref": "#/definitions/GetOrderFulfillmentInstructionsResponse" + }, + "headers": { + "x-amzn-RequestId": { + "type": "string", + "description": "Unique request reference identifier." + } } } } @@ -1331,7 +1499,7 @@ "tags": [ "ordersV0" ], - "description": "Returns detailed order item information for the order that you specify. If NextToken is provided, it's used to retrieve the next page of order items.\n\n__Note__: When an order is in the Pending state (the order has been placed but payment has not been authorized), the getOrderItems operation does not return information about pricing, taxes, shipping charges, gift status or promotions for the order items in the order. After an order leaves the Pending state (this occurs when payment has been authorized) and enters the Unshipped, Partially Shipped, or Shipped state, the getOrderItems operation returns information about pricing, taxes, shipping charges, gift status and promotions for the order items in the order.\n\n**Usage Plan:**\n\n| Rate (requests per second) | Burst |\n| ---- | ---- |\n| 0.5 | 30 |\n\nThe `x-amzn-RateLimit-Limit` response header returns the usage plan rate limits that were applied to the requested operation, when available. The table above indicates the default rate and burst values for this operation. Selling partners whose business demands require higher throughput may see higher rate and burst values then those shown here. For more information, see [Usage Plans and Rate Limits in the Selling Partner API](doc:usage-plans-and-rate-limits-in-the-sp-api).", + "description": "Returns detailed order item information for the order that you specify. If `NextToken` is provided, it's used to retrieve the next page of order items.\n\n**Note**: When an order is in the Pending state (the order has been placed but payment has not been authorized), the `getOrderItems` operation does not return information about pricing, taxes, shipping charges, gift status or promotions for the order items in the order. After an order leaves the Pending state (this occurs when payment has been authorized) and enters the `Unshipped`, `Partially Shipped`, or `Shipped` state, the `getOrderItems` operation returns information about pricing, taxes, shipping charges, gift status and promotions for the order items in the order.\n\n**Usage Plan:**\n\n| Rate (requests per second) | Burst |\n| ---- | ---- |\n| 0.5 | 30 |\n\nThe `x-amzn-RateLimit-Limit` response header returns the usage plan rate limits that were applied to the requested operation, when available. The table above indicates the default rate and burst values for this operation. Selling partners whose business demands require higher throughput may see higher rate and burst values then those shown here. For more information, refer to [Usage Plans and Rate Limits in the Selling Partner API](https://developer-docs.amazon.com/sp-api/docs/usage-plans-and-rate-limits-in-the-sp-api).", "operationId": "getOrderItems", "parameters": [ { @@ -1406,7 +1574,7 @@ "GiftWrapLevel": "Classic" }, "BuyerRequestedCancel": { - "IsBuyerRequestedCancel": true, + "IsBuyerRequestedCancel": "true", "BuyerCancelReason": "Found cheaper somewhere else." }, "SerialNumbers": ["854"] @@ -1440,7 +1608,7 @@ "GiftWrapLevel": "Classic" }, "BuyerRequestedCancel": { - "IsBuyerRequestedCancel": true, + "IsBuyerRequestedCancel": "true", "BuyerCancelReason": "Found cheaper somewhere else." } } @@ -1480,7 +1648,7 @@ "QuantityOrdered": 1, "QuantityShipped": 0, "ProductInfo": { - "NumberOfItems": 1 + "NumberOfItems": "1" }, "ItemPrice": { "CurrencyCode": "USD", @@ -1494,7 +1662,7 @@ "CurrencyCode": "USD", "Amount": "0.00" }, - "IsGift": false, + "IsGift": "false", "ConditionId": "New", "ConditionSubtypeId": "New", "IsTransparency": false, @@ -1503,7 +1671,7 @@ "DeemedResellerCategory": "IOSS", "StoreChainStoreId": "ISPU_StoreId", "BuyerRequestedCancel": { - "IsBuyerRequestedCancel": true, + "IsBuyerRequestedCancel": "true", "BuyerCancelReason": "Found cheaper somewhere else." } } @@ -1585,10 +1753,6 @@ "$ref": "#/definitions/GetOrderItemsResponse" }, "headers": { - "x-amzn-RateLimit-Limit": { - "type": "string", - "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." - }, "x-amzn-RequestId": { "type": "string", "description": "Unique request reference identifier." @@ -1601,10 +1765,6 @@ "$ref": "#/definitions/GetOrderItemsResponse" }, "headers": { - "x-amzn-RateLimit-Limit": { - "type": "string", - "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." - }, "x-amzn-RequestId": { "type": "string", "description": "Unique request reference identifier." @@ -1617,10 +1777,6 @@ "$ref": "#/definitions/GetOrderItemsResponse" }, "headers": { - "x-amzn-RateLimit-Limit": { - "type": "string", - "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." - }, "x-amzn-RequestId": { "type": "string", "description": "Unique request reference identifier." @@ -1635,7 +1791,7 @@ "tags": [ "ordersV0" ], - "description": "Returns buyer information for the order items in the order that you specify.\n\n**Usage Plan:**\n\n| Rate (requests per second) | Burst |\n| ---- | ---- |\n| 0.5 | 30 |\n\nThe `x-amzn-RateLimit-Limit` response header returns the usage plan rate limits that were applied to the requested operation, when available. The table above indicates the default rate and burst values for this operation. Selling partners whose business demands require higher throughput may see higher rate and burst values then those shown here. For more information, see [Usage Plans and Rate Limits in the Selling Partner API](doc:usage-plans-and-rate-limits-in-the-sp-api).", + "description": "Returns buyer information for the order items in the order that you specify.\n\n**Usage Plan:**\n\n| Rate (requests per second) | Burst |\n| ---- | ---- |\n| 0.5 | 30 |\n\nThe `x-amzn-RateLimit-Limit` response header returns the usage plan rate limits that were applied to the requested operation, when available. The table above indicates the default rate and burst values for this operation. Selling partners whose business demands require higher throughput may see higher rate and burst values then those shown here. For more information, refer to [Usage Plans and Rate Limits in the Selling Partner API](https://developer-docs.amazon.com/sp-api/docs/usage-plans-and-rate-limits-in-the-sp-api).", "operationId": "getOrderItemsBuyerInfo", "parameters": [ { @@ -1788,10 +1944,6 @@ "$ref": "#/definitions/GetOrderItemsBuyerInfoResponse" }, "headers": { - "x-amzn-RateLimit-Limit": { - "type": "string", - "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." - }, "x-amzn-RequestId": { "type": "string", "description": "Unique request reference identifier." @@ -1804,10 +1956,6 @@ "$ref": "#/definitions/GetOrderItemsBuyerInfoResponse" }, "headers": { - "x-amzn-RateLimit-Limit": { - "type": "string", - "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." - }, "x-amzn-RequestId": { "type": "string", "description": "Unique request reference identifier." @@ -1820,10 +1968,6 @@ "$ref": "#/definitions/GetOrderItemsBuyerInfoResponse" }, "headers": { - "x-amzn-RateLimit-Limit": { - "type": "string", - "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." - }, "x-amzn-RequestId": { "type": "string", "description": "Unique request reference identifier." @@ -1838,7 +1982,7 @@ "tags": [ "shipment" ], - "description": "Update the shipment status for an order that you specify.\n\n**Usage Plan:**\n\n| Rate (requests per second) | Burst |\n| ---- | ---- |\n| 5 | 15 |\n\nThe `x-amzn-RateLimit-Limit` response header returns the usage plan rate limits that were applied to the requested operation, when available. The table above indicates the default rate and burst values for this operation. Selling partners whose business demands require higher throughput may see higher rate and burst values then those shown here. For more information, see [Usage Plans and Rate Limits in the Selling Partner API](doc:usage-plans-and-rate-limits-in-the-sp-api).", + "description": "Update the shipment status for an order that you specify.\n\n**Usage Plan:**\n\n| Rate (requests per second) | Burst |\n| ---- | ---- |\n| 5 | 15 |\n\nThe `x-amzn-RateLimit-Limit` response header returns the usage plan rate limits that were applied to the requested operation, when available. The table above indicates the default rate and burst values for this operation. Selling partners whose business demands require higher throughput may see higher rate and burst values then those shown here. For more information, refer to [Usage Plans and Rate Limits in the Selling Partner API](https://developer-docs.amazon.com/sp-api/docs/usage-plans-and-rate-limits-in-the-sp-api).", "operationId": "updateShipmentStatus", "parameters": [ { @@ -1851,7 +1995,7 @@ { "name": "payload", "in": "body", - "description": "The request body for the updateShipmentStatus operation.", + "description": "The request body for the `updateShipmentStatus` operation.", "required": true, "schema": { "$ref": "#/definitions/UpdateShipmentStatusRequest" @@ -2019,13 +2163,13 @@ "tags": [ "ordersV0" ], - "description": "Returns regulated information for the order that you specify.\n\n**Usage Plan:**\n\n| Rate (requests per second) | Burst |\n| ---- | ---- |\n| 0.5 | 30 |\n\nThe `x-amzn-RateLimit-Limit` response header returns the usage plan rate limits that were applied to the requested operation, when available. The table above indicates the default rate and burst values for this operation. Selling partners whose business demands require higher throughput may see higher rate and burst values then those shown here. For more information, see [Usage Plans and Rate Limits in the Selling Partner API](doc:usage-plans-and-rate-limits-in-the-sp-api).", + "description": "Returns regulated information for the order that you specify.\n\n**Usage Plan:**\n\n| Rate (requests per second) | Burst |\n| ---- | ---- |\n| 0.5 | 30 |\n\nThe `x-amzn-RateLimit-Limit` response header returns the usage plan rate limits that were applied to the requested operation, when available. The table above indicates the default rate and burst values for this operation. Selling partners whose business demands require higher throughput may see higher rate and burst values then those shown here. For more information, refer to [Usage Plans and Rate Limits in the Selling Partner API](https://developer-docs.amazon.com/sp-api/docs/usage-plans-and-rate-limits-in-the-sp-api).", "operationId": "getOrderRegulatedInfo", "parameters": [ { "name": "orderId", "in": "path", - "description": "An orderId is an Amazon-defined order identifier, in 3-7-7 format.", + "description": "An Amazon-defined order identifier, in 3-7-7 format.", "required": true, "type": "string" } @@ -2311,20 +2455,20 @@ "tags": [ "ordersV0" ], - "description": "Updates (approves or rejects) the verification status of an order containing regulated products.\n\n**Usage Plan:**\n\n| Rate (requests per second) | Burst |\n| ---- | ---- |\n| 0.5 | 30 |\n\nThe `x-amzn-RateLimit-Limit` response header returns the usage plan rate limits that were applied to the requested operation, when available. The table above indicates the default rate and burst values for this operation. Selling partners whose business demands require higher throughput may see higher rate and burst values then those shown here. For more information, see [Usage Plans and Rate Limits in the Selling Partner API](doc:usage-plans-and-rate-limits-in-the-sp-api).", + "description": "Updates (approves or rejects) the verification status of an order containing regulated products.\n\n**Usage Plan:**\n\n| Rate (requests per second) | Burst |\n| ---- | ---- |\n| 0.5 | 30 |\n\nThe `x-amzn-RateLimit-Limit` response header returns the usage plan rate limits that were applied to the requested operation, when available. The table above indicates the default rate and burst values for this operation. Selling partners whose business demands require higher throughput may see higher rate and burst values then those shown here. For more information, refer to [Usage Plans and Rate Limits in the Selling Partner API](https://developer-docs.amazon.com/sp-api/docs/usage-plans-and-rate-limits-in-the-sp-api).", "operationId": "updateVerificationStatus", "parameters": [ { "name": "orderId", "in": "path", - "description": "An orderId is an Amazon-defined order identifier, in 3-7-7 format.", + "description": "An Amazon-defined order identifier, in 3-7-7 format.", "required": true, "type": "string" }, { "name": "payload", "in": "body", - "description": "The request body for the updateVerificationStatus operation.", + "description": "The request body for the `updateVerificationStatus` operation.", "required": true, "schema": { "$ref": "#/definitions/UpdateVerificationStatusRequest" @@ -2537,7 +2681,7 @@ "tags": [ "ordersV0" ], - "description": "Updates the shipment confirmation status for a specified order.\n\n**Usage Plan:**\n\n| Rate (requests per second) | Burst |\n| ---- | ---- |\n| 2 | 10 |\n\nThe `x-amzn-RateLimit-Limit` response header returns the usage plan rate limits that were applied to the requested operation, when available. The table above indicates the default rate and burst values for this operation. Selling partners whose business demands require higher throughput may see higher rate and burst values then those shown here. For more information, see [Usage Plans and Rate Limits in the Selling Partner API](doc:usage-plans-and-rate-limits-in-the-sp-api).", + "description": "Updates the shipment confirmation status for a specified order.\n\n**Usage Plan:**\n\n| Rate (requests per second) | Burst |\n| ---- | ---- |\n| 2 | 10 |\n\nThe `x-amzn-RateLimit-Limit` response header returns the usage plan rate limits that were applied to the requested operation, when available. The table above indicates the default rate and burst values for this operation. Selling partners whose business demands require higher throughput may see higher rate and burst values then those shown here. For more information, refer to [Usage Plans and Rate Limits in the Selling Partner API](https://developer-docs.amazon.com/sp-api/docs/usage-plans-and-rate-limits-in-the-sp-api).", "operationId": "confirmShipment", "parameters": [ { @@ -2550,7 +2694,7 @@ { "name": "payload", "in": "body", - "description": "Request body of confirmShipment.", + "description": "The request body of the `confirmShipment` operation.", "required": true, "schema": { "$ref": "#/definitions/ConfirmShipmentRequest" @@ -2675,10 +2819,6 @@ "$ref": "#/definitions/ConfirmShipmentErrorResponse" }, "headers": { - "x-amzn-RateLimit-Limit": { - "type": "string", - "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." - }, "x-amzn-RequestId": { "type": "string", "description": "Unique request reference identifier." @@ -2719,10 +2859,6 @@ "$ref": "#/definitions/ConfirmShipmentErrorResponse" }, "headers": { - "x-amzn-RateLimit-Limit": { - "type": "string", - "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." - }, "x-amzn-RequestId": { "type": "string", "description": "Unique request reference identifier." @@ -2735,10 +2871,6 @@ "$ref": "#/definitions/ConfirmShipmentErrorResponse" }, "headers": { - "x-amzn-RateLimit-Limit": { - "type": "string", - "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." - }, "x-amzn-RequestId": { "type": "string", "description": "Unique request reference identifier." @@ -2751,10 +2883,6 @@ "$ref": "#/definitions/ConfirmShipmentErrorResponse" }, "headers": { - "x-amzn-RateLimit-Limit": { - "type": "string", - "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." - }, "x-amzn-RequestId": { "type": "string", "description": "Unique request reference identifier." @@ -2767,7 +2895,7 @@ }, "definitions": { "UpdateShipmentStatusRequest": { - "description": "The request body for the updateShipmentStatus operation.", + "description": "The request body for the `updateShipmentStatus` operation.", "type": "object", "properties": { "marketplaceId": { @@ -2786,11 +2914,11 @@ ] }, "UpdateVerificationStatusRequest": { - "description": "The request body for the updateVerificationStatus operation.", + "description": "The request body for the `updateVerificationStatus` operation.", "type": "object", "properties": { "regulatedOrderVerificationStatus": { - "description": "The updated values of the VerificationStatus field.", + "description": "The updated values of the `VerificationStatus` field.", "$ref": "#/definitions/UpdateVerificationStatusRequestBody" } }, @@ -2799,7 +2927,7 @@ ] }, "UpdateVerificationStatusRequestBody": { - "description": "The updated values of the VerificationStatus field.", + "description": "The updated values of the `VerificationStatus` field.", "type": "object", "properties": { "status": { @@ -2868,119 +2996,133 @@ "type": "object", "properties": { "errors": { - "description": "One or more unexpected errors occurred during the UpdateShipmentStatus operation.", + "description": "One or more unexpected errors occurred during the `UpdateShipmentStatus` operation.", "$ref": "#/definitions/ErrorList" } }, - "description": "The error response schema for the UpdateShipmentStatus operation." + "description": "The error response schema for the `UpdateShipmentStatus` operation." }, "UpdateVerificationStatusErrorResponse": { "type": "object", "properties": { "errors": { - "description": "One or more unexpected errors occurred during the UpdateVerificationStatus operation.", + "description": "One or more unexpected errors occurred during the `UpdateVerificationStatus` operation.", "$ref": "#/definitions/ErrorList" } }, - "description": "The error response schema for the UpdateVerificationStatus operation." + "description": "The error response schema for the `UpdateVerificationStatus` operation." }, "GetOrdersResponse": { "type": "object", "properties": { "payload": { - "description": "The payload for the getOrders operation.", + "description": "The payload for the `getOrders` operation.", "$ref": "#/definitions/OrdersList" }, "errors": { - "description": "One or more unexpected errors occurred during the getOrders operation.", + "description": "One or more unexpected errors occurred during the `getOrders` operation.", "$ref": "#/definitions/ErrorList" } }, - "description": "The response schema for the getOrders operation." + "description": "The response schema for the `getOrders` operation." }, "GetOrderResponse": { "type": "object", "properties": { "payload": { - "description": "The payload for the getOrder operation.", + "description": "The payload for the `getOrder` operation.", "$ref": "#/definitions/Order" }, "errors": { - "description": "One or more unexpected errors occurred during the getOrder operation.", + "description": "One or more unexpected errors occurred during the `getOrder` operation.", "$ref": "#/definitions/ErrorList" } }, - "description": "The response schema for the getOrder operation." + "description": "The response schema for the `getOrder` operation." }, "GetOrderBuyerInfoResponse": { "type": "object", "properties": { "payload": { - "description": "The payload for the getOrderBuyerInfo operation.", + "description": "The payload for the `getOrderBuyerInfo` operation.", "$ref": "#/definitions/OrderBuyerInfo" }, "errors": { - "description": "One or more unexpected errors occurred during the getOrderBuyerInfo operation.", + "description": "One or more unexpected errors occurred during the `getOrderBuyerInfo` operation.", "$ref": "#/definitions/ErrorList" } }, - "description": "The response schema for the getOrderBuyerInfo operation." + "description": "The response schema for the `getOrderBuyerInfo` operation." }, "GetOrderRegulatedInfoResponse": { "type": "object", "properties": { "payload": { - "description": "The payload for the getOrderRegulatedInfo operation.", + "description": "The payload for the `getOrderRegulatedInfo` operation.", "$ref": "#/definitions/OrderRegulatedInfo" }, "errors": { - "description": "One or more unexpected errors occurred during the getOrderRegulatedInfo operation.", + "description": "One or more unexpected errors occurred during the `getOrderRegulatedInfo` operation.", "$ref": "#/definitions/ErrorList" } }, - "description": "The response schema for the getOrderRegulatedInfo operation." + "description": "The response schema for the `getOrderRegulatedInfo` operation." }, "GetOrderAddressResponse": { "type": "object", "properties": { "payload": { - "description": "The payload for the getOrderAddress operations.", + "description": "The payload for the `getOrderAddress` operations.", "$ref": "#/definitions/OrderAddress" }, "errors": { - "description": "One or more unexpected errors occurred during the getOrderAddress operation.", + "description": "One or more unexpected errors occurred during the `getOrderAddress` operation.", "$ref": "#/definitions/ErrorList" } }, - "description": "The response schema for the getOrderAddress operation." + "description": "The response schema for the `getOrderAddress` operation." }, "GetOrderItemsResponse": { "type": "object", "properties": { "payload": { - "description": "The payload for the getOrderItems operation.", + "description": "The payload for the `getOrderItems` operation.", "$ref": "#/definitions/OrderItemsList" }, "errors": { - "description": "One or more unexpected errors occurred during the getOrderItems operation.", + "description": "One or more unexpected errors occurred during the `getOrderItems` operation.", "$ref": "#/definitions/ErrorList" } }, - "description": "The response schema for the getOrderItems operation." + "description": "The response schema for the `getOrderItems` operation." }, "GetOrderItemsBuyerInfoResponse": { "type": "object", "properties": { "payload": { - "description": "The payload for the getOrderItemsBuyerInfo operation.", + "description": "The payload for the `getOrderItemsBuyerInfo` operation.", "$ref": "#/definitions/OrderItemsBuyerInfoList" }, "errors": { - "description": "One or more unexpected errors occurred during the getOrderItemsBuyerInfo operation.", + "description": "One or more unexpected errors occurred during the `getOrderItemsBuyerInfo` operation.", + "$ref": "#/definitions/ErrorList" + } + }, + "description": "The response schema for the `getOrderItemsBuyerInfo` operation." + }, + "GetOrderFulfillmentInstructionsResponse": { + "type": "object", + "properties": { + "payload" : { + "description": "The payload for the `getOrderFulfillmentInstructions` operation.", + "$ref": "#/definitions/FulfillmentInstructions" + }, + "errors": { + "description": "One or more unexpected errors occurred during the `getOrderFulfillmentInstructions` operation.", "$ref": "#/definitions/ErrorList" } }, - "description": "The response schema for the getOrderItemsBuyerInfo operation." + "description": "The response schema for the `getOrderFulfillmentInstructions` operation." }, "OrdersList": { "type": "object", @@ -3036,7 +3178,7 @@ }, "LastUpdateDate": { "type": "string", - "description": "The date when the order was last updated.\n\n__Note__: LastUpdateDate is returned with an incorrect date for orders that were last updated before 2009-04-01." + "description": "The date when the order was last updated.\n\n**Note**: `LastUpdateDate` is returned with an incorrect date for orders that were last updated before 2009-04-01." }, "OrderStatus": { "type": "string", @@ -3129,12 +3271,12 @@ "description": "The number of items unshipped." }, "PaymentExecutionDetail": { - "description": "Information about sub-payment methods for a Cash On Delivery (COD) order.\n\n__Note__: For a COD order that is paid for using one sub-payment method, one PaymentExecutionDetailItem object is returned, with PaymentExecutionDetailItem/PaymentMethod = COD. For a COD order that is paid for using multiple sub-payment methods, two or more PaymentExecutionDetailItem objects are returned.", + "description": "Information about sub-payment methods for a Cash On Delivery (COD) order.\n\n**Note**: For a COD order that is paid for using one sub-payment method, one `PaymentExecutionDetailItem` object is returned, with `PaymentExecutionDetailItem`/`PaymentMethod` = COD. For a COD order that is paid for using multiple sub-payment methods, two or more `PaymentExecutionDetailItem` objects are returned.", "$ref": "#/definitions/PaymentExecutionDetailItemList" }, "PaymentMethod": { "type": "string", - "description": "The payment method for the order. This property is limited to Cash On Delivery (COD) and Convenience Store (CVS) payment methods. Unless you need the specific COD payment information provided by the PaymentExecutionDetailItem object, we recommend using the PaymentMethodDetails property to get payment method information.", + "description": "The payment method for the order. This property is limited to Cash On Delivery (COD) and Convenience Store (CVS) payment methods. Unless you need the specific COD payment information provided by the `PaymentExecutionDetailItem` object, we recommend using the `PaymentMethodDetails` property to get payment method information.", "enum": [ "COD", "CVS", @@ -3165,7 +3307,7 @@ }, "ShipmentServiceLevelCategory": { "type": "string", - "description": "The shipment service level category of the order.\n\nPossible values: Expedited, FreeEconomy, NextDay, Priority, SameDay, SecondDay, Scheduled, Standard." + "description": "The shipment service level category of the order.\n\n**Possible values**: `Expedited`, `FreeEconomy`, `NextDay`, `Priority`, `SameDay`, `SecondDay`, `Scheduled`, `Standard`." }, "EasyShipShipmentStatus": { "description": "The status of the Amazon Easy Ship order. This property is included only for Amazon Easy Ship orders.", @@ -3210,11 +3352,11 @@ }, "EarliestShipDate": { "type": "string", - "description": "The start of the time period within which you have committed to ship the order. In ISO 8601 date time format. Returned only for seller-fulfilled orders.\n\n__Note__: EarliestShipDate might not be returned for orders placed before February 1, 2013." + "description": "The start of the time period within which you have committed to ship the order. In ISO 8601 date time format. Returned only for seller-fulfilled orders.\n\n**Note**: `EarliestShipDate` might not be returned for orders placed before February 1, 2013." }, "LatestShipDate": { "type": "string", - "description": "The end of the time period within which you have committed to ship the order. In ISO 8601 date time format. Returned only for seller-fulfilled orders.\n\n__Note__: LatestShipDate might not be returned for orders placed before February 1, 2013." + "description": "The end of the time period within which you have committed to ship the order. In ISO 8601 date time format. Returned only for seller-fulfilled orders.\n\n**Note**: `LatestShipDate` might not be returned for orders placed before February 1, 2013." }, "EarliestDeliveryDate": { "type": "string", @@ -3222,7 +3364,7 @@ }, "LatestDeliveryDate": { "type": "string", - "description": "The end of the time period within which you have committed to fulfill the order. In ISO 8601 date time format. Returned only for seller-fulfilled orders that do not have a PendingAvailability, Pending, or Canceled status." + "description": "The end of the time period within which you have committed to fulfill the order. In ISO 8601 date time format. Returned only for seller-fulfilled orders that do not have a `PendingAvailability`, Pending, or Canceled status." }, "IsBusinessOrder": { "type": "boolean", @@ -3242,7 +3384,7 @@ }, "ReplacedOrderId": { "type": "string", - "description": "The order ID value for the order that is being replaced. Returned only if IsReplacementOrder = true." + "description": "The order ID value for the order that is being replaced. Returned only if `IsReplacementOrder` = true." }, "IsReplacementOrder": { "type": "boolean", @@ -3254,7 +3396,7 @@ }, "IsEstimatedShipDateSet": { "type": "boolean", - "description": "When true, the estimated ship date is set for the order. Returned only for Sourcing on Demand orders." + "description": "When true, the estimated ship date is specified for the order. Returned only for Sourcing on Demand orders." }, "IsSoldByAB": { "type": "boolean", @@ -3281,13 +3423,13 @@ }, { "value": "BUSINESS", - "description": "Buyer should be issued a business invoice. Tax information is available in BuyerTaxInformation structure." + "description": "Buyer should be issued a business invoice. Tax information is available in `BuyerTaxInformation` structure." } ], - "description": "The buyer's invoicing preference. Available only in the TR marketplace." + "description": "The buyer's invoicing preference. Sellers can use this data to issue electronic invoices for orders in Turkey.\n\n**Note**: This attribute is only available in the Turkey marketplace." }, "BuyerTaxInformation": { - "description": "Contains the business invoice tax information.", + "description": "Contains the business invoice tax information. Sellers can use this data to issue electronic invoices for business orders in Turkey.\n\n**Note**:\n1. This attribute is only available in the Turkey marketplace for the orders that `BuyerInvoicePreference` is BUSINESS.\n2. The `BuyerTaxInformation` is a restricted data. Use a Restricted Data Token (RDT) and restricted Selling Partner API roles to access this restricted data.", "$ref": "#/definitions/BuyerTaxInformation" }, "FulfillmentInstruction": { @@ -3303,17 +3445,19 @@ "description": "When true, this order is marked to be delivered to an Access Point. The access location is chosen by the customer. Access Points include Amazon Hub Lockers, Amazon Hub Counters, and pickup points operated by carriers." }, "MarketplaceTaxInfo": { - "description": "Tax information about the marketplace.", + "description": "Tax information about the marketplace where the sale took place. Sellers can use this data to issue electronic invoices for orders in Brazil.\n\n**Note**: This attribute is only available in the Brazil marketplace for the orders with `Pending` or `Unshipped` status.", "$ref": "#/definitions/MarketplaceTaxInfo" }, "SellerDisplayName": { "type": "string", - "description": "The seller’s friendly name registered in the marketplace." + "description": "The seller’s friendly name registered in the marketplace where the sale took place. Sellers can use this data to issue electronic invoices for orders in Brazil.\n\n**Note**: This attribute is only available in the Brazil marketplace for the orders with `Pending` or `Unshipped` status." }, "ShippingAddress": { + "description": "The shipping address for the order.\n\n**Note**:\n1. `ShippingAddress` is only available for orders with the following status values: `Unshipped`, `PartiallyShipped`, `Shipped` and `InvoiceUnconfirmed`.\n2. The `ShippingAddress` contains restricted data. Use a Restricted Data Token (RDT) and restricted Selling Partner API roles to access the restricted data in `ShippingAddress`, for example, `Name`, `AddressLine1`, `AddressLine2`, `AddressLine3`, `Phone`, `AddressType` and `ExtendedFields`.", "$ref": "#/definitions/Address" }, "BuyerInfo": { + "description": "Buyer information.\n\n**Note**: The `BuyerInfo` contains restricted data. Use a Restricted Data Token (RDT) and restricted Selling Partner API roles to access the restricted data in `BuyerInfo`, for example, `BuyerName`, `BuyerTaxInfo`, `PurchaseOrderNumber`.", "$ref": "#/definitions/BuyerInfo" }, "AutomatedShippingSettings": { @@ -3351,10 +3495,10 @@ }, "BuyerCounty": { "type": "string", - "description": "The county of the buyer." + "description": "The county of the buyer.\n\n**Note**: This attribute is only available in the Brazil marketplace." }, "BuyerTaxInfo": { - "description": "Tax information about the buyer.", + "description": "Tax information about the buyer. Sellers can use this data to issue electronic invoices for business orders.\n\n**Note**: This attribute is only available for business orders in the Brazil, Mexico and India marketplaces.", "$ref": "#/definitions/BuyerTaxInfo" }, "PurchaseOrderNumber": { @@ -3461,7 +3605,7 @@ "x-docgen-enum-table-extension": [ { "value": "Pending", - "description": "The order is pending approval. Note that the approval might be needed from someone other than the merchant as determined by the RequiresMerchantAction property." + "description": "The order is pending approval. Note that the approval might be needed from someone other than the merchant as determined by the `RequiresMerchantAction` property." }, { "value": "Approved", @@ -3535,7 +3679,7 @@ }, "FieldValue": { "type": "string", - "description": "The content of the field as collected in regulatory form. Note that FileAttachment type fields will contain a URL to download the attachment here." + "description": "The content of the field as collected in regulatory form. Note that `FileAttachment` type fields will contain a URL to download the attachment here." } } }, @@ -3551,9 +3695,10 @@ }, "BuyerCompanyName": { "type": "string", - "description": "Company Name of the Buyer." + "description": "The company name of the contact buyer. For Invoice By Amazon (IBA) orders, the buyer company should be Amazon entities." }, "ShippingAddress": { + "description": "The shipping address for the order.\n\n**Note**: `ShippingAddress` is only available for orders with the following status values: `Unshipped`, `PartiallyShipped`, `Shipped` and `InvoiceUnconfirmed`.", "$ref": "#/definitions/Address" }, "DeliveryPreferences": { @@ -3572,6 +3717,10 @@ "type": "string", "description": "The name." }, + "CompanyName": { + "type": "string", + "description": "The company name of the recipient.\n\n**Note**: This attribute is only available for shipping address." + }, "AddressLine1": { "type": "string", "description": "The street address." @@ -3586,7 +3735,7 @@ }, "City": { "type": "string", - "description": "The city " + "description": "The city." }, "County": { "type": "string", @@ -3614,9 +3763,10 @@ }, "Phone": { "type": "string", - "description": "The phone number. Not returned for Fulfillment by Amazon (FBA) orders." + "description": "The phone number of the buyer.\n\n**Note**: \n1. This attribute is only available for shipping address.\n2. The buyer `Phone` number is suppressed in some cases, including but not limited to \na. `Phone` is suppressed for all Fulfillment by Amazon (FBA) orders.\nb. `Phone` is suppressed for the shipped MFN(Fulfilled by the seller) order when current date is past Latest Delivery Date." }, "ExtendedFields": { + "description": "The container for address extended fields. For example, street name or street number.\n\nNote: Only available for Brazil shipping addresses.", "$ref": "#/definitions/AddressExtendedFields" }, "AddressType": { @@ -3660,7 +3810,7 @@ "description": "The neighborhood. It's smaller than a region and an integral part of an address. It is used in some countries like Brazil." } }, - "description": "The container for address extended fields. For example, street name or street number. Only available for Brazil shipping addresses as of now." + "description": "The container of extended address fields. For example, street name, street number. Only available with Brazil shipping addresses as of now." }, "DeliveryPreferences": { "type": "object", @@ -3875,7 +4025,7 @@ }, "PaymentMethod": { "type": "string", - "description": "A sub-payment method for a COD order.\n\nPossible values:\n* `COD`: Cash On Delivery.\n* `GC`: Gift Card.\n* `PointsAccount`: Amazon Points.\n* `Invoice`: Invoice." + "description": "A sub-payment method for a COD order.\n\n**Possible values**:\n* `COD`: Cash On Delivery.\n* `GC`: Gift Card.\n* `PointsAccount`: Amazon Points.\n* `Invoice`: Invoice." } }, "description": "Information about a sub-payment method used to pay for a COD order." @@ -4004,7 +4154,7 @@ "$ref": "#/definitions/PointsGrantedDetail" }, "ItemPrice": { - "description": "The selling price of the order item. Note that an order item is an item and a quantity. This means that the value of ItemPrice is equal to the selling price of the item multiplied by the quantity ordered. Note that ItemPrice excludes ShippingPrice and GiftWrapPrice.", + "description": "The selling price of the order item. An order item is an item and a quantity. This means that the value of `ItemPrice` is equal to the selling price of the item multiplied by the quantity ordered. Note that `ItemPrice` excludes `ShippingPrice` and `GiftWrapPrice`.", "$ref": "#/definitions/Money" }, "ShippingPrice": { @@ -4047,8 +4197,8 @@ "$ref": "#/definitions/Money" }, "IsGift": { - "type": "boolean", - "description": "When true, the item is a gift." + "type": "string", + "description": "Indicates whether the item is a gift.\n\n**Possible values**: `true`, `false`." }, "ConditionNote": { "type": "string", @@ -4056,11 +4206,11 @@ }, "ConditionId": { "type": "string", - "description": "The condition of the item.\n\nPossible values: New, Used, Collectible, Refurbished, Preorder, Club." + "description": "The condition of the item.\n\n**Possible values**: `New`, `Used`, `Collectible`, `Refurbished`, `Preorder`, `Club`." }, "ConditionSubtypeId": { "type": "string", - "description": "The subcondition of the item.\n\nPossible values: New, Mint, Very Good, Good, Acceptable, Poor, Club, OEM, Warranty, Refurbished Warranty, Refurbished, Open Box, Any, Other." + "description": "The subcondition of the item.\n\n**Possible values**: `New`, `Mint`, `Very Good`, `Good`, `Acceptable`, `Poor`, `Club`, `OEM`, `Warranty`, `Refurbished Warranty`, `Refurbished`, `Open Box`, `Any`, `Other`." }, "ScheduledDeliveryStartDate": { "type": "string", @@ -4072,7 +4222,7 @@ }, "PriceDesignation": { "type": "string", - "description": "Indicates that the selling price is a special price that is available only for Amazon Business orders. For more information about the Amazon Business Seller Program, see the [Amazon Business website](https://www.amazon.com/b2b/info/amazon-business). \n\nPossible values: BusinessPrice - A special price that is available only for Amazon Business orders." + "description": "Indicates that the selling price is a special price that is available only for Amazon Business orders. For more information about the Amazon Business Seller Program, refer to [Amazon Business](https://business.amazon.com). \n\n**Possible values**: `BusinessPrice` - A special price that is available only for Amazon Business orders." }, "TaxCollection": { "description": "Information about withheld taxes.", @@ -4113,6 +4263,7 @@ ] }, "BuyerInfo": { + "description": "A single item's buyer information.\n\n**Note**: The `BuyerInfo` contains restricted data. Use a Restricted Data Token (RDT) and restricted Selling Partner API roles to access the restricted data in `BuyerInfo`, for example, `BuyerCustomizedInfo` and `GiftMessageText`.", "$ref": "#/definitions/ItemBuyerInfo" }, "BuyerRequestedCancel": { @@ -4133,12 +4284,17 @@ "Measurement": { "description": "Measurement information for the order item.", "$ref": "#/definitions/Measurement" + }, + "ShippingConstraints" : { + "description" : "Shipping constraints applicable to this order.", + "$ref" : "#/definitions/ShippingConstraints" } }, "description": "A single order item." }, "SubstitutionPreferences": { "type": "object", + "description": "Substitution preferences for an order item.", "required": [ "SubstitutionType" ], @@ -4181,6 +4337,7 @@ }, "SubstitutionOption": { "type": "object", + "description": "Substitution options for an order item.", "properties": { "ASIN": { "type": "string", @@ -4206,6 +4363,7 @@ }, "Measurement": { "type": "object", + "description": "Measurement information for an order item.", "required": [ "Unit", "Value" @@ -4414,7 +4572,7 @@ "description": "An Amazon-defined order item identifier." }, "BuyerCustomizedInfo": { - "description": "Buyer information for custom orders from the Amazon Custom program.", + "description": "Buyer information for custom orders from the Amazon Custom program.\n\n**Note**: This attribute is only available for MFN (Fulfilled by the seller) orders.", "$ref": "#/definitions/BuyerCustomizedInfoDetail" }, "GiftWrapPrice": { @@ -4427,7 +4585,7 @@ }, "GiftMessageText": { "type": "string", - "description": "A gift message provided by the buyer." + "description": "A gift message provided by the buyer.\n\n**Note**: This attribute is only available for MFN (Fulfilled by the seller) orders." }, "GiftWrapLevel": { "type": "string", @@ -4454,7 +4612,7 @@ "type": "object", "properties": { "NumberOfItems": { - "type": "integer", + "type": "string", "description": "The total number of items that are included in the ASIN." } }, @@ -4502,7 +4660,7 @@ "x-docgen-enum-table-extension": [ { "value": "Amazon Services, Inc.", - "description": "Amazon Services, Inc." + "description": "The `MarketplaceFacilitator` entity for the US marketplace." } ] } @@ -4535,12 +4693,225 @@ "type": "object", "properties": { "FulfillmentSupplySourceId": { - "description": "Denotes the recommended sourceId where the order should be fulfilled from.", + "description": "Denotes the recommended `sourceId` where the order should be fulfilled from.", "type": "string" } }, "description": "Contains the instructions about the fulfillment like where should it be fulfilled from." }, + "FulfillmentInstructions": { + "type": "object", + "description": "Contains all fulfillment plans for the order", + "required": [ + "AmazonOrderId" + ], + "properties": { + "FulfillmentPlans": { + "type": "array", + "description": "List of all fulfillment plans for the given order id", + "items": { + "$ref": "#/definitions/FulfillmentPlan" + } + }, + "AmazonOrderId": { + "type": "string", + "description": "An Amazon-defined order identifier, in 3-7-7 format." + } + } + }, + "FulfillmentPlan": { + "type": "object", + "description": "A collection of order items that are to be fulfilled from the same location with the same shipping, pickup, and service instructions", + "required": [ + "FulfillmentPlanId", + "CreationDate", + "FulfillmentType", + "FulfillmentPlanStatus", + "LastStatusUpdateDate", + "FulfillmentPlanItems" + ], + "properties": { + "FulfillmentPlanId": { + "type": "string", + "description": "Unique identifier of a fulfillment plan" + }, + "CreationDate": { + "type": "string", + "description": "Time when the fulfillment plan was created in ISO 8601 format" + }, + "FulfillmentType": { + "type": "string", + "description": "Type of fulfillment", + "enum": [ + "INSTORE_PICKUP", + "SERVICE", + "SHIP" + ], + "x-docgen-enum-table-extension": [ + { + "value": "INSTORE_PICKUP", + "description": "Buyer picks up items in plan from store" + }, + { + "value": "SERVICE", + "description": "Services that are performed for the buyer, such as assembly" + }, + { + "value": "SHIP", + "description": "Shipped by seller through detailed ship method" + } + ] + }, + "FulfillmentPlanStatus": { + "type": "string", + "description": "Status of the fulfillment plan", + "enum": [ + "ACTIVE", + "ABORTED", + "COMPLETED", + "PARTIALLY_FULFILLED" + ], + "x-docgen-enum-table-extension": [ + { + "value": "ACTIVE", + "description": "The plan is ready to be fulfilled" + }, + { + "value": "ABORTED", + "description": "Plan was canceled, either through order canceling or replanning of shipment." + }, + { + "value": "COMPLETED", + "description": "Plan has been fulfilled and completed" + }, + { + "value": "PARTIALLY_FULFILLED", + "description": "Plan has been partially fulfilled" + } + ] + }, + "LastStatusUpdateDate": { + "type": "string", + "description": "Time when the fulfillment plan's status was last updated in ISO 8601 Format" + }, + "FulfillmentLocation": { + "description": "Represents a location from which the plan is to be fulfilled", + "$ref": "#/definitions/FulfillmentLocation" + }, + "ShippingInstructions": { + "description": "Represents shipping related information of a delivery", + "$ref": "#/definitions/ShippingInstructions" + }, + "FulfillmentPlanItems": { + "description": "Represents the details of order items that are included in the fulfillment plan", + "type": "array", + "items": { + "$ref": "#/definitions/FulfillmentPlanItem" + } + } + } + }, + "FulfillmentLocation": { + "type": "object", + "description": "Represents a location from which the plan is to be fulfilled", + "properties": { + "SupplySourceId": { + "type": "string", + "description": "The fulfillment location identifier" + } + } + }, + "ShippingInstructions": { + "type": "object", + "description": "Represents shipping related information of a delivery", + "properties": { + "CarrierCode": { + "description": "Carrier Name that will deliver the package.", + "type": "string" + }, + "ShippingMethod": { + "description": "Ship method to be used for shipping the order", + "type": "string" + }, + "ShippingConstraints": { + "description": "Models constraints around shipping", + "$ref": "#/definitions/FulfillmentPlanShippingConstraints" + } + } + }, + "ShippingConstraints": { + "type": "object", + "description": "Delivery constraints applicable to this order.", + "properties": { + "PalletDelivery": { + "description": "Indicates if the line item needs to be delivered by pallet", + "$ref": "#/definitions/ConstraintType" + } + } + }, + "ConstraintType": { + "type": "string", + "description": "Details the importance of the constraint present on the item", + "enum": [ + "MANDATORY" + ], + "x-docgen-enum-table-extension": [ + { + "value": "MANDATORY", + "description": "Item must follow the constraint to ensure order is met with buyer's delivery requirements." + } + ] + }, + "FulfillmentPlanShippingConstraints": { + "type": "object", + "description" :"Delivery constraints applicable to this order.", + "properties" : { + "PalletDelivery": { + "description": "Indicates if the line item needs to be delivered by pallet", + "$ref": "#/definitions/FulfillmentPlanConstraintType" + }, + "SignatureConfirmation": { + "description": "Indicates if the line item needs to be shipped with delivery confirmation services", + "$ref": "#/definitions/FulfillmentPlanConstraintType" + } + } + }, + "FulfillmentPlanConstraintType": { + "type": "string", + "description" :"Details the importance of the constraint present on the item", + "enum": [ + "MANDATORY", + "RECOMMENDED" + ], + "x-docgen-enum-table-extension": [ + { + "value": "MANDATORY", + "description": "Item must follow the constraint to ensure order is met with buyer's delivery requirements." + }, + { + "value": "RECOMMENDED", + "description": "Item is recommended to follow the constraint to ensure order is met with buyer's delivery requirements." + } + ] + }, + "FulfillmentPlanItem": { + "type": "object", + "description": "The order items associated with this fulfillment plan", + "required": [ + "OrderItemId", + "Measurement" + ], + "properties": { + "OrderItemId": { + "type": "string", + "description": "An Amazon-defined associated order item's order item identifier." + }, + "Measurement": { + "description": "Measurement information for the order item.", + "$ref": "#/definitions/Measurement" + } + } + }, "BuyerInfo": { "type": "object", "properties": { @@ -4554,10 +4925,10 @@ }, "BuyerCounty": { "type": "string", - "description": "The county of the buyer." + "description": "The county of the buyer.\n\n**Note**: This attribute is only available in the Brazil marketplace." }, "BuyerTaxInfo": { - "description": "Tax information about the buyer.", + "description": "Tax information about the buyer. Sellers can use this data to issue electronic invoices for business orders.\n\n**Note**: This attribute is only available for business orders in the Brazil, Mexico and India marketplaces.", "$ref": "#/definitions/BuyerTaxInfo" }, "PurchaseOrderNumber": { @@ -4571,7 +4942,7 @@ "type": "object", "properties": { "BuyerCustomizedInfo": { - "description": "Buyer information for custom orders from the Amazon Custom program.", + "description": "Buyer information for custom orders from the Amazon Custom program.\n\n**Note**: This attribute is only available for MFN (Fulfilled by the seller) orders.", "$ref": "#/definitions/BuyerCustomizedInfoDetail" }, "GiftWrapPrice": { @@ -4584,7 +4955,7 @@ }, "GiftMessageText": { "type": "string", - "description": "A gift message provided by the buyer." + "description": "A gift message provided by the buyer.\n\n**Note**: This attribute is only available for MFN (Fulfilled by the seller) orders." }, "GiftWrapLevel": { "type": "string", @@ -4615,8 +4986,8 @@ "type": "object", "properties": { "IsBuyerRequestedCancel": { - "type": "boolean", - "description": "When true, the buyer has requested cancellation." + "type": "string", + "description": "Indicate whether the buyer has requested cancellation.\n\n**Possible Values**: `true`, `false`." }, "BuyerCancelReason": { "type": "string", @@ -4714,7 +5085,7 @@ ] }, "ElectronicInvoiceStatus": { - "description": "The status of the electronic invoice. Only available for Easy Ship orders and orders in the BR marketplace.", + "description": "The status of the electronic invoice. Only available for Easy Ship orders and orders in the BR marketplace.", "type": "string", "enum": [ "NotRequired", @@ -4769,10 +5140,10 @@ }, "ConfirmShipmentErrorResponse": { "type": "object", - "description": "The error response schema for an shipment confirmation.", + "description": "The error response schema for the `confirmShipment` operation.", "properties": { "errors": { - "description": "One or more unexpected errors occurred during the confirmShipment operation.", + "description": "One or more unexpected errors occurred during the `confirmShipment` operation.", "$ref": "#/definitions/ErrorList" } } @@ -4793,7 +5164,7 @@ }, "carrierCode": { "type": "string", - "description": "Identifies the carrier that will deliver the package. This field is required for all marketplaces, see [reference](https://developer-docs.amazon.com/sp-api/changelog/carriercode-value-required-in-shipment-confirmations-for-br-mx-ca-sg-au-in-jp-marketplaces)." + "description": "Identifies the carrier that will deliver the package. This field is required for all marketplaces. For the acceptable `CarrierCode` value, refer to the list of CarrierCode." }, "carrierName": { "type": "string", From 3ecc629e251fae13f9ce5d920c6db2e281f15ca0 Mon Sep 17 00:00:00 2001 From: Jack Evoniuk Date: Wed, 24 Apr 2024 11:33:59 -0700 Subject: [PATCH 125/340] Update Feeds model --- models/.DS_Store | Bin 10244 -> 0 bytes 1 file changed, 0 insertions(+), 0 deletions(-) delete mode 100644 models/.DS_Store diff --git a/models/.DS_Store b/models/.DS_Store deleted file mode 100644 index 6ed8c19aebd8bb7e261e0f97a5a6b28ed80e435c..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 10244 zcmeHMTWl0n7(V~Dz?tFFX(>2`F057*YYV${ZHq;+y#WQW%9geibe-K9+L76rWoLE^ zHfRm{qCiZ%MH7kf^5BCcUSlv`9yCE8d@zj>qsGMOizMQM5j9@^GiSDeEw@t98fP|h z{&V}!ob%21pY#8-gb--UsS!d#gb<21lhPba&T_GKc2BqhUQGo`Kz%}Nk|qi<@K-;f zw_o8S;3ME8;3ME8;3F^{5Wq8=U34~=e(EFOBj6)2jsV*qLU=P7^W-R(?$&{c8v>v# z#cKD$JjMa8PRNrnPmXfws^XYDdH_!qybuGpI<|*cca$+tj&jM>32=1+-jl(LP{4gU z>V@3y1Y%tJsgHn>eaLNfP7s`ZMBpg_uOeI)mtBkPHzA^9spesUD+z3)?he zB!}%x(y)>^%3H~dq1#S4{3!%VN@vWRMQ733^!E6WH5_*oCug@Q+3l>jZC1`yZC5wW8>m2qgtT~Mq(0Idjn;*tk%oPB zp^->9+Ef>64oCOx6X=4Pl`UHmyNtAH9pvi_>t)TaNdLy$PuzkDE?+#?dX)?$xq3%7j#ACRrMhEhIOwY)@-UZ*=$oXBQNWtytnB3H{- zQM#Sgw`Vm>d9}DqzE+SF+GFE<`4F{Yogmpl&o11Cx#~(WLM2t$YA8v~;8jtvkxH9{ zzC6c~SFRRYXgSmg{V6M*#(CSkdaWFz(lL4md-lzW?Q~}}voNc*atEaY_K=d*x`*)` zC}?b;)O|Nt&r~{9-LbOn!Z%jS@-{Y9tEy_Mw{E#xzKu$sppK-Qc^yw4e7XDpqBXHv z{svs|gqm2`dm)rmkrn7^ZXi3*pfY4XIY6E!hsjIi4e}0opL|S?lh4VQu`e6XJg93NKE=Yq3dAJuw zVL#jt2jOve0-l7Y;6-=^UWM1-T{s3G!bk80d<#FoN%#?dh2P+J_#;prs0b_$gaTLc zIR^@dS>HIR+)RKiak4h!o#BDqXS12$y7gk$w6K}ubC{KsSInLSPX7O#%p_uZLnaQ(k#YpI>vf04T(W%2HFHKUcC&9 zGtnM+@w(bzPzsK~X9}BNJTRhFUCwS7>S$MX40cjkm4235$eTIxn}j;YiGQ z=;UeqGC4}#Bge=X()c^_JvmAK1Pb$@5=navEQjl%4(gG(&2S^Mxa3`r)ZGZ1pa*)9 zzT1$%DbQdLhCqibIFNHme4k6=2jCDq43EI0@E9D1XW&_Q4xWb>;0Pmh5m`5$Nmh7! zvSckf6RReiiR_Hj@qFaI#ra*+i8=k!`xEHLSn8-tNJo@ANR*gNSl z(pE=@7b?-Ot4^fK@A;thQs$Dj)W2n%%+S==RK%#$;PJE5AAu4+#Sr`c-+Au;|EK># z{2BTP_y}Aw0#Mo!?`T8yLP$|O68qL3!uw9V*~R*ea_OpI!n&|}_j5cJ*ys4=UR@!| iV(l@nZj?(`9qV0nl>BS{W&bn4kN^GnU;BT@|9=4z5m5>N From b43c55c73fe02cf25431ac2a1e4ea0d2fed2053e Mon Sep 17 00:00:00 2001 From: Gibran Waldron Date: Wed, 1 May 2024 09:33:38 -0700 Subject: [PATCH 126/340] Update OrdersV0 model. --- models/orders-api-model/ordersV0.json | 420 -------------------------- 1 file changed, 420 deletions(-) diff --git a/models/orders-api-model/ordersV0.json b/models/orders-api-model/ordersV0.json index eec2f95e9..ee15b5934 100644 --- a/models/orders-api-model/ordersV0.json +++ b/models/orders-api-model/ordersV0.json @@ -1278,222 +1278,6 @@ } } }, - "/orders/v0/orders/{orderId}/fulfillmentInstructions": { - "get": { - "tags": [ - "ordersV0" - ], - "description": "Returns the fulfillment instructions for the order that you specify.\n\n**Usage Plan:**\n\n| Rate (requests per second) | Burst |\n| ---- | ---- |\n| 0.5 | 20 |\n\nThe `x-amzn-RateLimit-Limit` response header returns the usage plan rate limits that were applied to the requested operation, when available. The table above indicates the default rate and burst values for this operation. Selling partners whose business demands require higher throughput may see higher rate and burst values then those shown here. For more information, refer to [Usage Plans and Rate Limits in the Selling Partner API](https://developer-docs.amazon.com/sp-api/docs/usage-plans-and-rate-limits-in-the-sp-api).", - "operationId": "getOrderFulfillmentInstructions", - "parameters": [ - { - "name": "orderId", - "in": "path", - "description": "An Amazon-defined order identifier, in 3-7-7 format.", - "required": true, - "type": "string" - } - ], - "responses": { - "200": { - "description": "Success.", - "schema": { - "$ref": "#/definitions/GetOrderFulfillmentInstructionsResponse" - }, - "examples": { - "application/json":{ - "payload": { - "AmazonOrderId": "902-3159896-1390916", - "FulfillmentPlans": [ - { - "CreationDate": "2023-10-25T12:00:00Z", - "FulfillmentPlanId" : "1", - "FulfillmentType" : "SHIP", - "FulfillmentPlanStatus": "ACTIVE", - "LastStatusUpdateDate" : "2023-10-25T12:00:00Z", - "FulfillmentPlanItems": [ - { - "OrderItemId": "6217867064725", - "Measurement" : { - "Unit" : "COUNT", - "Value" : 20 - } - } - ], - "ShippingInstructions": { - "CarrierCode": "UPS", - "ShippingMethod": "Ground", - "ShippingConstraints" : { - "PalletDelivery" : "MANDATORY" - } - }, - "FulfillmentLocation": { - "SupplySourceId": "bb3e1352-a3b4-4b99-aeb7-b1a923837ef2" - } - } - ] - } - } - }, - "headers": { - "x-amzn-RateLimit-Limit": { - "type": "string", - "description": "Your rate limit (requests per second) for this operation." - }, - "x-amzn-RequestId": { - "type": "string", - "description": "Unique request reference identifier." - } - }, - "x-amzn-api-sandbox": { - "static": [ - { - "request": { - "parameters": { - "orderId": { - "value": "TEST_CASE_200" - } - } - }, - "response": { - "payload": { - "AmazonOrderId": "TEST_CASE_200", - "FulfillmentPlans": [{ - "CreationDate": "2023-10-25T12:00:00Z", - "FulfillmentPlanId" : "1", - "FulfillmentType" : "SHIP", - "FulfillmentPlanStatus": "ACTIVE", - "LastStatusUpdateDate" : "2023-10-25T12:00:00Z", - "FulfillmentPlanItems": [ - { - "OrderItemId": "6217867064725", - "Measurement" : { - "Unit" : "COUNT", - "Value" : 20 - } - } - ], - "ShippingInstructions": { - "CarrierCode": "UPS", - "ShippingMethod": "Ground", - "ShippingConstraints" : { - "PalletDelivery" : "MANDATORY" - } - }, - "FulfillmentLocation": { - "SupplySourceId": "bb3e1352-a3b4-4b99-aeb7-b1a923837ef2" - } - }] - } - } - } - ] - } - }, - "400": { - "description": "Request has missing or invalid parameters and cannot be parsed.", - "schema": { - "$ref": "#/definitions/GetOrderFulfillmentInstructionsResponse" - }, - "headers": { - "x-amzn-RateLimit-Limit": { - "type": "string", - "description": "Your rate limit (requests per second) for this operation." - }, - "x-amzn-RequestId": { - "type": "string", - "description": "Unique request reference identifier." - } - }, - "x-amzn-api-sandbox": { - "static": [ - { - "request": { - "parameters": { - "orderId": { - "value": "TEST_CASE_400" - } - } - }, - "response": { - "errors": [ - { - "code": "InvalidInput", - "message": "Invalid Input" - } - ] - } - } - ] - } - }, - "403": { - "description": "Indicates access to the resource is forbidden. Possible reasons include Access Denied, Unauthorized, Expired Token, or Invalid Signature.", - "schema": { - "$ref": "#/definitions/GetOrderFulfillmentInstructionsResponse" - }, - "headers": { - "x-amzn-RequestId": { - "type": "string", - "description": "Unique request reference identifier." - } - } - }, - "404": { - "description": "The resource specified does not exist.", - "schema": { - "$ref": "#/definitions/GetOrderFulfillmentInstructionsResponse" - }, - "headers": { - "x-amzn-RateLimit-Limit": { - "type": "string", - "description": "Your rate limit (requests per second) for this operation." - }, - "x-amzn-RequestId": { - "type": "string", - "description": "Unique request reference identifier." - } - } - }, - "429": { - "description": "The frequency of requests was greater than allowed.", - "schema": { - "$ref": "#/definitions/GetOrderFulfillmentInstructionsResponse" - }, - "headers": { - "x-amzn-RequestId": { - "type": "string", - "description": "Unique request reference identifier." - } - } - }, - "500": { - "description": "An unexpected condition occurred that prevented the server from fulfilling the request.", - "schema": { - "$ref": "#/definitions/GetOrderFulfillmentInstructionsResponse" - }, - "headers": { - "x-amzn-RequestId": { - "type": "string", - "description": "Unique request reference identifier." - } - } - }, - "503": { - "description": "Temporary overloading or maintenance of the server.", - "schema": { - "$ref": "#/definitions/GetOrderFulfillmentInstructionsResponse" - }, - "headers": { - "x-amzn-RequestId": { - "type": "string", - "description": "Unique request reference identifier." - } - } - } - } - } - }, "/orders/v0/orders/{orderId}/orderItems": { "get": { "tags": [ @@ -3110,20 +2894,6 @@ }, "description": "The response schema for the `getOrderItemsBuyerInfo` operation." }, - "GetOrderFulfillmentInstructionsResponse": { - "type": "object", - "properties": { - "payload" : { - "description": "The payload for the `getOrderFulfillmentInstructions` operation.", - "$ref": "#/definitions/FulfillmentInstructions" - }, - "errors": { - "description": "One or more unexpected errors occurred during the `getOrderFulfillmentInstructions` operation.", - "$ref": "#/definitions/ErrorList" - } - }, - "description": "The response schema for the `getOrderFulfillmentInstructions` operation." - }, "OrdersList": { "type": "object", "required": [ @@ -4699,146 +4469,6 @@ }, "description": "Contains the instructions about the fulfillment like where should it be fulfilled from." }, - "FulfillmentInstructions": { - "type": "object", - "description": "Contains all fulfillment plans for the order", - "required": [ - "AmazonOrderId" - ], - "properties": { - "FulfillmentPlans": { - "type": "array", - "description": "List of all fulfillment plans for the given order id", - "items": { - "$ref": "#/definitions/FulfillmentPlan" - } - }, - "AmazonOrderId": { - "type": "string", - "description": "An Amazon-defined order identifier, in 3-7-7 format." - } - } - }, - "FulfillmentPlan": { - "type": "object", - "description": "A collection of order items that are to be fulfilled from the same location with the same shipping, pickup, and service instructions", - "required": [ - "FulfillmentPlanId", - "CreationDate", - "FulfillmentType", - "FulfillmentPlanStatus", - "LastStatusUpdateDate", - "FulfillmentPlanItems" - ], - "properties": { - "FulfillmentPlanId": { - "type": "string", - "description": "Unique identifier of a fulfillment plan" - }, - "CreationDate": { - "type": "string", - "description": "Time when the fulfillment plan was created in ISO 8601 format" - }, - "FulfillmentType": { - "type": "string", - "description": "Type of fulfillment", - "enum": [ - "INSTORE_PICKUP", - "SERVICE", - "SHIP" - ], - "x-docgen-enum-table-extension": [ - { - "value": "INSTORE_PICKUP", - "description": "Buyer picks up items in plan from store" - }, - { - "value": "SERVICE", - "description": "Services that are performed for the buyer, such as assembly" - }, - { - "value": "SHIP", - "description": "Shipped by seller through detailed ship method" - } - ] - }, - "FulfillmentPlanStatus": { - "type": "string", - "description": "Status of the fulfillment plan", - "enum": [ - "ACTIVE", - "ABORTED", - "COMPLETED", - "PARTIALLY_FULFILLED" - ], - "x-docgen-enum-table-extension": [ - { - "value": "ACTIVE", - "description": "The plan is ready to be fulfilled" - }, - { - "value": "ABORTED", - "description": "Plan was canceled, either through order canceling or replanning of shipment." - }, - { - "value": "COMPLETED", - "description": "Plan has been fulfilled and completed" - }, - { - "value": "PARTIALLY_FULFILLED", - "description": "Plan has been partially fulfilled" - } - ] - }, - "LastStatusUpdateDate": { - "type": "string", - "description": "Time when the fulfillment plan's status was last updated in ISO 8601 Format" - }, - "FulfillmentLocation": { - "description": "Represents a location from which the plan is to be fulfilled", - "$ref": "#/definitions/FulfillmentLocation" - }, - "ShippingInstructions": { - "description": "Represents shipping related information of a delivery", - "$ref": "#/definitions/ShippingInstructions" - }, - "FulfillmentPlanItems": { - "description": "Represents the details of order items that are included in the fulfillment plan", - "type": "array", - "items": { - "$ref": "#/definitions/FulfillmentPlanItem" - } - } - } - }, - "FulfillmentLocation": { - "type": "object", - "description": "Represents a location from which the plan is to be fulfilled", - "properties": { - "SupplySourceId": { - "type": "string", - "description": "The fulfillment location identifier" - } - } - }, - "ShippingInstructions": { - "type": "object", - "description": "Represents shipping related information of a delivery", - "properties": { - "CarrierCode": { - "description": "Carrier Name that will deliver the package.", - "type": "string" - }, - "ShippingMethod": { - "description": "Ship method to be used for shipping the order", - "type": "string" - }, - "ShippingConstraints": { - "description": "Models constraints around shipping", - "$ref": "#/definitions/FulfillmentPlanShippingConstraints" - } - } - }, "ShippingConstraints": { "type": "object", "description": "Delivery constraints applicable to this order.", @@ -4862,56 +4492,6 @@ } ] }, - "FulfillmentPlanShippingConstraints": { - "type": "object", - "description" :"Delivery constraints applicable to this order.", - "properties" : { - "PalletDelivery": { - "description": "Indicates if the line item needs to be delivered by pallet", - "$ref": "#/definitions/FulfillmentPlanConstraintType" - }, - "SignatureConfirmation": { - "description": "Indicates if the line item needs to be shipped with delivery confirmation services", - "$ref": "#/definitions/FulfillmentPlanConstraintType" - } - } - }, - "FulfillmentPlanConstraintType": { - "type": "string", - "description" :"Details the importance of the constraint present on the item", - "enum": [ - "MANDATORY", - "RECOMMENDED" - ], - "x-docgen-enum-table-extension": [ - { - "value": "MANDATORY", - "description": "Item must follow the constraint to ensure order is met with buyer's delivery requirements." - }, - { - "value": "RECOMMENDED", - "description": "Item is recommended to follow the constraint to ensure order is met with buyer's delivery requirements." - } - ] - }, - "FulfillmentPlanItem": { - "type": "object", - "description": "The order items associated with this fulfillment plan", - "required": [ - "OrderItemId", - "Measurement" - ], - "properties": { - "OrderItemId": { - "type": "string", - "description": "An Amazon-defined associated order item's order item identifier." - }, - "Measurement": { - "description": "Measurement information for the order item.", - "$ref": "#/definitions/Measurement" - } - } - }, "BuyerInfo": { "type": "object", "properties": { From 962834d513deb9868e14a432f94541bb5edac08e Mon Sep 17 00:00:00 2001 From: Gibran Waldron Date: Thu, 9 May 2024 11:28:47 -0700 Subject: [PATCH 127/340] Add Economics DK schema, and update sales and trafic schemas. --- ...alytics_salesAndTraffic_2023_11_15.graphql | 22 +++++++++---------- 1 file changed, 11 insertions(+), 11 deletions(-) diff --git a/schemas/data-kiosk/analytics_salesAndTraffic_2023_11_15.graphql b/schemas/data-kiosk/analytics_salesAndTraffic_2023_11_15.graphql index 4347e7a4b..6afb98538 100644 --- a/schemas/data-kiosk/analytics_salesAndTraffic_2023_11_15.graphql +++ b/schemas/data-kiosk/analytics_salesAndTraffic_2023_11_15.graphql @@ -9,9 +9,9 @@ retentions, the shortest (minimum) retention is applied to the query. The retention of a query's resulting documents always matches the retention of the query. """ directive @resultRetention( - "An ISO 8601 duration." - duration: String! -) on FIELD_DEFINITION + "An ISO 8601 duration." + duration: String! + ) on FIELD_DEFINITION "Monetary amount with the corresponding currency code." type Amount { @@ -26,19 +26,19 @@ type Analytics_SalesAndTraffic_2023_11_15 { "A query to retrieve sales and traffic data for the seller's account aggregated by ASIN." salesAndTrafficByAsin( "Determines how the sales and traffic data should be aggregated." - aggregateBy: AsinGranularity!, + aggregateBy: AsinGranularity!, """ The end date of the sales and traffic data to retrieve. If a date granularity is specified and the provided end date occurs mid-week or mid-month, the preceding Saturday for WEEK date granularity or the last day of the previous month for MONTH date granularity will be used instead. """ - endDate: Date!, + endDate: Date!, """ The marketplace identifiers to retrieve sales and traffic data for. If omitted, sales and traffic data for all applicable marketplaces will be retrieved. """ - marketplaceIds: [String], + marketplaceIds: [String], """ The start date of the sales and traffic data to retrieve. The start date must be no more than two years ago. If a date granularity is specified and @@ -51,19 +51,19 @@ type Analytics_SalesAndTraffic_2023_11_15 { "A query to retrieve sales and traffic data for the seller's account aggregated by date." salesAndTrafficByDate( "Determines how the sales and traffic data should be aggregated." - aggregateBy: DateGranularity!, + aggregateBy: DateGranularity!, """ The end date of the sales and traffic data to retrieve. If the provided end date occurs mid-week or mid-month, the preceding Saturday for WEEK date granularity or the last day of the previous month for MONTH date granularity will be used instead. """ - endDate: Date!, + endDate: Date!, """ The marketplace identifiers to retrieve sales and traffic data for. If omitted, sales and traffic data for all applicable marketplaces will be retrieved. """ - marketplaceIds: [String], + marketplaceIds: [String], """ The start date of the sales and traffic data to retrieve. The start date must be no more than two years ago. If the provided start date occurs @@ -573,8 +573,8 @@ enum DateGranularity { WEEK } -"Date" +"An RFC-3339 compliant Full Date Scalar. Example: \"2023-11-15\"" scalar Date -"Long" +"A Scalar for the primitive long type." scalar Long From 3d01961f9628bd988e60ae00670b04efe790c56b Mon Sep 17 00:00:00 2001 From: Gibran Waldron Date: Wed, 22 May 2024 10:07:24 -0700 Subject: [PATCH 128/340] Update Product Pricing API v2022-05-01 getCompetitiveSummary. --- models/product-pricing-api-model/productPricing_2022-05-01.json | 1 - 1 file changed, 1 deletion(-) diff --git a/models/product-pricing-api-model/productPricing_2022-05-01.json b/models/product-pricing-api-model/productPricing_2022-05-01.json index a0e6f466d..2943186c6 100644 --- a/models/product-pricing-api-model/productPricing_2022-05-01.json +++ b/models/product-pricing-api-model/productPricing_2022-05-01.json @@ -1436,7 +1436,6 @@ ], "properties": { "name": { - "type": "string", "description": "The name of the reference price like `CompetitivePriceThreshold`." }, "price": { From 947c307a705b7d4e171e982f572a8382457a88dc Mon Sep 17 00:00:00 2001 From: lisa-delaney Date: Wed, 22 May 2024 10:49:37 -0700 Subject: [PATCH 129/340] Update Catalog Items API v2022 --- models/catalog-items-api-model/catalogItems_2022-04-01.json | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/models/catalog-items-api-model/catalogItems_2022-04-01.json b/models/catalog-items-api-model/catalogItems_2022-04-01.json index a73e07d33..1047cb99e 100644 --- a/models/catalog-items-api-model/catalogItems_2022-04-01.json +++ b/models/catalog-items-api-model/catalogItems_2022-04-01.json @@ -29,7 +29,7 @@ "tags": [ "catalog" ], - "description": "Search for and return a list of Amazon catalog items and associated information either by identifier or by keywords.\n\n**Usage Plans:**\n\n| Rate (requests per second) | Burst |\n| ---- | ---- |\n| 2 | 2 |\n\nThe `x-amzn-RateLimit-Limit` response header returns the usage plan rate limits that were applied to the requested operation, when available. The table above indicates the default rate and burst values for this operation. Selling partners whose business demands require higher throughput may observe higher rate and burst values than those shown here. For more information, refer to the [Usage Plans and Rate Limits in the Selling Partner API](doc:usage-plans-and-rate-limits-in-the-sp-api).", + "description": "Search for and return a list of Amazon catalog items and associated information either by identifier or by keywords.\n\n**Usage Plans:**\n\n| Rate (requests per second) | Burst |\n| ---- | ---- |\n| 5 | 5 |\n\nThe `x-amzn-RateLimit-Limit` response header returns the usage plan rate limits that were applied to the requested operation, when available. The table above indicates the default rate and burst values for this operation. Selling partners whose business demands require higher throughput may observe higher rate and burst values than those shown here. For more information, refer to the [Usage Plans and Rate Limits in the Selling Partner API](doc:usage-plans-and-rate-limits-in-the-sp-api).", "operationId": "searchCatalogItems", "consumes": [ "application/json" @@ -1668,7 +1668,7 @@ "tags": [ "catalog" ], - "description": "Retrieves details for an item in the Amazon catalog.\n\n**Usage Plan:**\n\n| Rate (requests per second) | Burst |\n| ---- | ---- |\n| 2 | 2 |\n\nThe `x-amzn-RateLimit-Limit` response header returns the usage plan rate limits that were applied to the requested operation, when available. The table above indicates the default rate and burst values for this operation. Selling partners whose business demands require higher throughput may observe higher rate and burst values than those shown here. For more information, refer to the [Usage Plans and Rate Limits in the Selling Partner API](doc:usage-plans-and-rate-limits-in-the-sp-api).", + "description": "Retrieves details for an item in the Amazon catalog.\n\n**Usage Plan:**\n\n| Rate (requests per second) | Burst |\n| ---- | ---- |\n| 5 | 5 |\n\nThe `x-amzn-RateLimit-Limit` response header returns the usage plan rate limits that were applied to the requested operation, when available. The table above indicates the default rate and burst values for this operation. Selling partners whose business demands require higher throughput may observe higher rate and burst values than those shown here. For more information, refer to the [Usage Plans and Rate Limits in the Selling Partner API](doc:usage-plans-and-rate-limits-in-the-sp-api).", "operationId": "getCatalogItem", "consumes": [ "application/json" From ca6a18da80dd5ea102a92e11d8c45f6d60d3a4c1 Mon Sep 17 00:00:00 2001 From: Gibran Waldron Date: Wed, 22 May 2024 15:03:10 -0700 Subject: [PATCH 130/340] Update Product Pricing API v2022-05-01 getCompetitiveSummary. --- models/product-pricing-api-model/productPricing_2022-05-01.json | 1 + 1 file changed, 1 insertion(+) diff --git a/models/product-pricing-api-model/productPricing_2022-05-01.json b/models/product-pricing-api-model/productPricing_2022-05-01.json index 2943186c6..a0e6f466d 100644 --- a/models/product-pricing-api-model/productPricing_2022-05-01.json +++ b/models/product-pricing-api-model/productPricing_2022-05-01.json @@ -1436,6 +1436,7 @@ ], "properties": { "name": { + "type": "string", "description": "The name of the reference price like `CompetitivePriceThreshold`." }, "price": { From 71691c4f8ac3b5ac36300548d5f330e1414534d9 Mon Sep 17 00:00:00 2001 From: Shreeharsh <162564990+shreeharsh-a@users.noreply.github.com> Date: Wed, 29 May 2024 13:22:51 +0530 Subject: [PATCH 131/340] Update README.md --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index 0d6c3d98c..5c3396158 100644 --- a/README.md +++ b/README.md @@ -7,7 +7,7 @@ The [clients directory](https://github.com/amzn/selling-partner-api-models/tree/ The [schemas directory](https://github.com/amzn/selling-partner-api-models/tree/main/schemas) contains all of the currently available Selling Partner Api schemas. -**Note:** For any issues related to SP API like bugs or troubleshooting, please reach out to [Developer Support](https://developer.amazonservices.com/support) so that the right team can help / channel your inputs (in case of bugs / feature requests) to the development team. +**Note:** For any issues related to SP API like bugs or troubleshooting, please reach out to Developer Support so that the right team can help / channel your inputs (in case of bugs / feature requests) to the development team. ## Security From b116e8dcb5085ff2c604792a84102e36803595cf Mon Sep 17 00:00:00 2001 From: Shreeharsh <162564990+shreeharsh-a@users.noreply.github.com> Date: Wed, 29 May 2024 18:53:27 +0530 Subject: [PATCH 132/340] Update README.md --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index 5c3396158..0d6c3d98c 100644 --- a/README.md +++ b/README.md @@ -7,7 +7,7 @@ The [clients directory](https://github.com/amzn/selling-partner-api-models/tree/ The [schemas directory](https://github.com/amzn/selling-partner-api-models/tree/main/schemas) contains all of the currently available Selling Partner Api schemas. -**Note:** For any issues related to SP API like bugs or troubleshooting, please reach out to Developer Support so that the right team can help / channel your inputs (in case of bugs / feature requests) to the development team. +**Note:** For any issues related to SP API like bugs or troubleshooting, please reach out to [Developer Support](https://developer.amazonservices.com/support) so that the right team can help / channel your inputs (in case of bugs / feature requests) to the development team. ## Security From 4ccc37cb8a0b79846deaf13b9bdd6195e8518130 Mon Sep 17 00:00:00 2001 From: Jack Evoniuk Date: Tue, 4 Jun 2024 09:54:22 -0700 Subject: [PATCH 133/340] Update the Fulfillment Inbound v2024-03-20 model --- .../fulfillmentInboundv2024-03-20.json | 9875 ----------------- 1 file changed, 9875 deletions(-) delete mode 100644 models/fulfillment-inbound-api-model/fulfillmentInboundv2024-03-20.json diff --git a/models/fulfillment-inbound-api-model/fulfillmentInboundv2024-03-20.json b/models/fulfillment-inbound-api-model/fulfillmentInboundv2024-03-20.json deleted file mode 100644 index e06624036..000000000 --- a/models/fulfillment-inbound-api-model/fulfillmentInboundv2024-03-20.json +++ /dev/null @@ -1,9875 +0,0 @@ -{ - "swagger": "2.0", - "info": { - "contact": { - "name": "Selling Partner API Developer Support", - "url": "https://sellercentral.amazon.com/gp/mws/contactus.html" - }, - "description": "The Selling Partner API for Fulfillment By Amazon (FBA) Inbound. The FBA Inbound API enables building inbound workflows to create, manage, and send shipments into Amazon's fulfillment network. The API has interoperability with the Send-to-Amazon user interface.", - "license": { - "name": "Apache License 2.0", - "url": "http://www.apache.org/licenses/LICENSE-2.0" - }, - "title": "The Selling Partner API for FBA inbound operations.", - "version": "2024-03-20" - }, - "host": "sellingpartnerapi-na.amazon.com", - "schemes": [ - "https" - ], - "consumes": [ - "application/json" - ], - "produces": [ - "application/json" - ], - "paths": { - "/inbound/fba/2024-03-20/inboundPlans": { - "get": { - "produces": [ - "application/json" - ], - "parameters": [ - { - "description": "The number of inbound plans to return in the response matching the given query.", - "in": "query", - "maximum": 30, - "minimum": 1, - "name": "pageSize", - "type": "integer", - "default": 10 - }, - { - "description": "A token to fetch a certain page when there are multiple pages worth of results. The value of this token is fetched from the `pagination` returned in the API response. In the absence of the token value from the query parameter the API returns the first page of the result.", - "in": "query", - "maxLength": 1024, - "minLength": 0, - "name": "paginationToken", - "type": "string" - }, - { - "description": "The status of an inbound plan.", - "enum": [ - "ACTIVE", - "VOIDED", - "SHIPPED" - ], - "in": "query", - "name": "status", - "type": "string", - "x-docgen-enum-table-extension": [ - { - "value": "ACTIVE", - "description": "An inbound plan that is being worked on." - }, - { - "value": "VOIDED", - "description": "An inbound plan with all shipment cancelled and can no longer be modified." - }, - { - "value": "SHIPPED", - "description": "A completed inbound plan. Only minor modifications can be made at this time." - } - ] - }, - { - "description": "Sort by field.", - "enum": [ - "LAST_UPDATED_TIME", - "CREATION_TIME" - ], - "in": "query", - "name": "sortBy", - "type": "string", - "x-docgen-enum-table-extension": [ - { - "value": "LAST_UPDATED_TIME", - "description": "Last updated time of the inbound plan." - }, - { - "value": "CREATION_TIME", - "description": "Inbound plan creation time." - } - ] - }, - { - "description": "The sort order.", - "enum": [ - "ASC", - "DESC" - ], - "in": "query", - "name": "sortOrder", - "type": "string", - "x-docgen-enum-table-extension": [ - { - "value": "ASC", - "description": "Ascending order." - }, - { - "value": "DESC", - "description": "Descending order." - } - ] - } - ], - "responses": { - "200": { - "description": "ListInboundPlans 200 response", - "schema": { - "$ref": "#/definitions/ListInboundPlansResponse" - }, - "x-amzn-api-sandbox": { - "static": [ - { - "request": { - "parameters": { - "status": { - "value": "ACTIVE" - }, - "sortBy": { - "value": "LAST_UPDATED_TIME" - }, - "sortOrder": { - "value": "ASC" - }, - "pageSize": { - "value": 2 - }, - "paginationToken": { - "value": "paginationToken" - } - } - }, - "response": { - "inboundPlans": [ - { - "inboundPlanId": "wf1234abcd-1234-abcd-5678-1234abcd5678", - "name": "FBA (03/08/2023, 01:15 PM)", - "createdAt": "2023-03-08T13:15:30Z", - "lastUpdatedAt": "2023-03-08T13:15:30Z", - "status": "ACTIVE", - "marketplaceIds": [ - "A2EUQ1WTGCTBG2" - ], - "sourceAddress": { - "name": "name", - "addressLine1": "123 example street", - "addressLine2": "Floor 19", - "city": "Toronto", - "stateOrProvinceCode": "ON", - "countryCode": "CA", - "postalCode": "M1M1M1", - "companyName": "Acme" - }, - "contactInformation": { - "email": "email@email.com", - "phoneNumber": "1234567890" - } - }, - { - "inboundPlanId": "wf2234abcd-1234-abcd-5678-1234abcd5678", - "name": "FBA (03/08/2023, 01:15 PM)", - "createdAt": "2023-03-08T13:15:30Z", - "lastUpdatedAt": "2023-03-08T13:15:30Z", - "status": "ACTIVE", - "marketplaceIds": [ - "A2EUQ1WTGCTBG2" - ], - "sourceAddress": { - "name": "name", - "addressLine1": "123 example street", - "addressLine2": "Floor 19", - "city": "Toronto", - "stateOrProvinceCode": "ON", - "countryCode": "CA", - "postalCode": "M1M1M1", - "companyName": "Acme" - }, - "contactInformation": { - "email": "email@email.com", - "phoneNumber": "1234567890" - } - } - ], - "pagination": { - "nextToken": "nextPaginationToken" - } - } - } - ] - }, - "headers": { - "x-amzn-RequestId": { - "description": "Unique request reference identifier.", - "type": "string" - }, - "x-amzn-RateLimit-Limit": { - "description": "Your rate limit (requests per second) for this operation.", - "type": "string" - } - } - }, - "400": { - "description": "Request has missing or invalid parameters and cannot be parsed.", - "schema": { - "$ref": "#/definitions/ErrorList" - }, - "x-amzn-api-sandbox": { - "static": [ - { - "request": { - "parameters": { - "status": { - "value": "badStatus" - }, - "sortBy": { - "value": "LAST_UPDATED_TIME" - }, - "sortOrder": { - "value": "ASC" - }, - "pageSize": { - "value": 5 - } - } - }, - "response": { - "errors": [ - { - "code": "BadRequest", - "message": "The status is invalid." - } - ] - } - } - ] - }, - "headers": { - "x-amzn-RequestId": { - "description": "Unique request reference identifier.", - "type": "string" - }, - "x-amzn-RateLimit-Limit": { - "description": "Your rate limit (requests per second) for this operation.", - "type": "string" - } - } - }, - "500": { - "description": "An unexpected condition occurred that prevented the server from fulfilling the request.", - "schema": { - "$ref": "#/definitions/ErrorList" - }, - "headers": { - "x-amzn-RequestId": { - "description": "Unique request reference identifier.", - "type": "string" - } - } - }, - "403": { - "description": "Indicates that access to the resource is forbidden. Possible reasons include Access Denied, Unauthorized, Expired Token, or Invalid Signature.", - "schema": { - "$ref": "#/definitions/ErrorList" - }, - "headers": { - "x-amzn-RequestId": { - "description": "Unique request reference identifier.", - "type": "string" - } - } - }, - "404": { - "description": "The resource specified does not exist.", - "schema": { - "$ref": "#/definitions/ErrorList" - }, - "headers": { - "x-amzn-RequestId": { - "description": "Unique request reference identifier.", - "type": "string" - }, - "x-amzn-RateLimit-Limit": { - "description": "Your rate limit (requests per second) for this operation.", - "type": "string" - } - } - }, - "413": { - "description": "The request size exceeded the maximum accepted size.", - "schema": { - "$ref": "#/definitions/ErrorList" - }, - "headers": { - "x-amzn-RequestId": { - "description": "Unique request reference identifier.", - "type": "string" - } - } - }, - "415": { - "description": "The request payload is in an unsupported format.", - "schema": { - "$ref": "#/definitions/ErrorList" - }, - "headers": { - "x-amzn-RequestId": { - "description": "Unique request reference identifier.", - "type": "string" - } - } - }, - "429": { - "description": "The frequency of requests was greater than allowed.", - "schema": { - "$ref": "#/definitions/ErrorList" - }, - "headers": { - "x-amzn-RequestId": { - "description": "Unique request reference identifier.", - "type": "string" - } - } - }, - "503": { - "description": "Temporary overloading or maintenance of the server.", - "schema": { - "$ref": "#/definitions/ErrorList" - }, - "headers": { - "x-amzn-RequestId": { - "description": "Unique request reference identifier.", - "type": "string" - } - } - } - }, - "tags": [ - "fbaInbound" - ], - "description": "Provides a list of inbound plans with minimal information.\n\n**Usage Plan:**\n\n| Rate (requests per second) | Burst |\n| ---- | ---- |\n| 1 | 1 |\n\nThe `x-amzn-RateLimit-Limit` response header returns the usage plan rate limits that were applied to the requested operation, when available. The table above indicates the default rate and burst values for this operation. Selling partners whose business demands require higher throughput may see higher rate and burst values than those shown here. For more information, refer to [Usage Plans and Rate Limits in the Selling Partner API](https://developer-docs.amazon.com/sp-api/docs/usage-plans-and-rate-limits-in-the-sp-api).", - "operationId": "listInboundPlans" - }, - "post": { - "consumes": [ - "application/json" - ], - "produces": [ - "application/json" - ], - "parameters": [ - { - "in": "body", - "name": "body", - "required": true, - "schema": { - "$ref": "#/definitions/CreateInboundPlanRequest" - }, - "description": "The body of the request to `createInboundPlan`." - } - ], - "responses": { - "202": { - "description": "CreateInboundPlan 202 response", - "schema": { - "$ref": "#/definitions/CreateInboundPlanResponse" - }, - "x-amzn-api-sandbox": { - "static": [ - { - "request": { - "parameters": { - "body": { - "value": { - "name": "FBA (03/20/2024, 12:01 PM)", - "contactInformation": { - "email": "email@email.com", - "phoneNumber": "+14161234567" - }, - "sourceAddress": { - "name": "name", - "addressLine1": "123 example street", - "city": "Toronto", - "stateOrProvinceCode": "ON", - "countryCode": "CA", - "postalCode": "M1M1M1" - }, - "destinationMarketplaces": [ - "A2EUQ1WTGCTBG2" - ], - "items": [ - { - "msku": "msku", - "prepOwner": "AMAZON", - "labelOwner": "AMAZON", - "quantity": 2, - "expiration": "2024-01-01", - "manufacturingLotCode": "lotCode" - } - ] - } - } - } - }, - "response": { - "inboundPlanId": "wf1234abcd-1234-abcd-5678-1234abcd5678", - "operationId": "1234abcd-1234-abcd-5678-1234abcd5678" - } - } - ] - }, - "headers": { - "x-amzn-RequestId": { - "description": "Unique request reference identifier.", - "type": "string" - }, - "x-amzn-RateLimit-Limit": { - "description": "Your rate limit (requests per second) for this operation.", - "type": "string" - } - } - }, - "400": { - "description": "Request has missing or invalid parameters and cannot be parsed.", - "schema": { - "$ref": "#/definitions/ErrorList" - }, - "x-amzn-api-sandbox": { - "static": [ - { - "request": { - "parameters": { - "body": { - "value": { - "name": "FBA (03/20/2024, 12:01 PM)", - "contactInformation": { - "email": "email@email.com", - "phoneNumber": "+14161234567" - }, - "sourceAddress": { - "name": "name", - "addressLine1": "123 example street", - "city": "Toronto", - "countryCode": "CA", - "stateOrProvinceCode": "ON", - "postalCode": "M1M1M1" - }, - "destinationMarketplaces": [ - "badMarketplace" - ], - "items": [ - { - "msku": "msku", - "prepOwner": "AMAZON", - "labelOwner": "AMAZON", - "quantity": 2, - "expiration": "2024-01-01", - "manufacturingLotCode": "lotCode" - } - ] - } - } - } - }, - "response": { - "errors": [ - { - "code": "BadRequest", - "message": "Invalid destinationMarketplace provided." - } - ] - } - } - ] - }, - "headers": { - "x-amzn-RequestId": { - "description": "Unique request reference identifier.", - "type": "string" - }, - "x-amzn-RateLimit-Limit": { - "description": "Your rate limit (requests per second) for this operation.", - "type": "string" - } - } - }, - "500": { - "description": "An unexpected condition occurred that prevented the server from fulfilling the request.", - "schema": { - "$ref": "#/definitions/ErrorList" - }, - "headers": { - "x-amzn-RequestId": { - "description": "Unique request reference identifier.", - "type": "string" - } - } - }, - "403": { - "description": "Indicates that access to the resource is forbidden. Possible reasons include Access Denied, Unauthorized, Expired Token, or Invalid Signature.", - "schema": { - "$ref": "#/definitions/ErrorList" - }, - "headers": { - "x-amzn-RequestId": { - "description": "Unique request reference identifier.", - "type": "string" - } - } - }, - "404": { - "description": "The resource specified does not exist.", - "schema": { - "$ref": "#/definitions/ErrorList" - }, - "headers": { - "x-amzn-RequestId": { - "description": "Unique request reference identifier.", - "type": "string" - }, - "x-amzn-RateLimit-Limit": { - "description": "Your rate limit (requests per second) for this operation.", - "type": "string" - } - } - }, - "413": { - "description": "The request size exceeded the maximum accepted size.", - "schema": { - "$ref": "#/definitions/ErrorList" - }, - "headers": { - "x-amzn-RequestId": { - "description": "Unique request reference identifier.", - "type": "string" - } - } - }, - "415": { - "description": "The request payload is in an unsupported format.", - "schema": { - "$ref": "#/definitions/ErrorList" - }, - "headers": { - "x-amzn-RequestId": { - "description": "Unique request reference identifier.", - "type": "string" - } - } - }, - "429": { - "description": "The frequency of requests was greater than allowed.", - "schema": { - "$ref": "#/definitions/ErrorList" - }, - "headers": { - "x-amzn-RequestId": { - "description": "Unique request reference identifier.", - "type": "string" - } - } - }, - "503": { - "description": "Temporary overloading or maintenance of the server.", - "schema": { - "$ref": "#/definitions/ErrorList" - }, - "headers": { - "x-amzn-RequestId": { - "description": "Unique request reference identifier.", - "type": "string" - } - } - } - }, - "tags": [ - "fbaInbound" - ], - "description": "Creates an inbound plan. An inbound plan contains all the necessary information to send shipments into Amazon's fufillment network.\n\n**Usage Plan:**\n\n| Rate (requests per second) | Burst |\n| ---- | ---- |\n| 0.05 | 1 |\n\nThe `x-amzn-RateLimit-Limit` response header returns the usage plan rate limits that were applied to the requested operation, when available. The table above indicates the default rate and burst values for this operation. Selling partners whose business demands require higher throughput may see higher rate and burst values than those shown here. For more information, refer to [Usage Plans and Rate Limits in the Selling Partner API](https://developer-docs.amazon.com/sp-api/docs/usage-plans-and-rate-limits-in-the-sp-api).", - "operationId": "createInboundPlan" - } - }, - "/inbound/fba/2024-03-20/inboundPlans/{inboundPlanId}": { - "get": { - "produces": [ - "application/json" - ], - "parameters": [ - { - "description": "Identifier to an inbound plan.", - "in": "path", - "maxLength": 38, - "minLength": 38, - "name": "inboundPlanId", - "pattern": "^[a-zA-Z0-9-]*$", - "required": true, - "type": "string" - } - ], - "responses": { - "200": { - "description": "GetInboundPlan 200 response", - "schema": { - "$ref": "#/definitions/InboundPlan" - }, - "x-amzn-api-sandbox": { - "static": [ - { - "request": { - "parameters": { - "inboundPlanId": { - "value": "wf1234abcd-1234-abcd-5678-1234abcd5678" - } - } - }, - "response": { - "inboundPlanId": "wf1234abcd-1234-abcd-5678-1234abcd5678", - "name": "FBA (03/20/2024, 12:01 PM)", - "createdAt": "2024-03-20T12:01:00Z", - "lastUpdatedAt": "2024-03-28T13:15:30Z", - "status": "ACTIVE", - "marketplaceIds": [ - "A2EUQ1WTGCTBG2" - ], - "packingOptions": [], - "placementOptions": [], - "shipments": [], - "sourceAddress": { - "name": "name", - "addressLine1": "123 example street", - "addressLine2": "Floor 19", - "city": "Toronto", - "stateOrProvinceCode": "ON", - "countryCode": "CA", - "postalCode": "M1M1M1", - "companyName": "Acme" - }, - "contactInformation": { - "email": "email@email.com", - "phoneNumber": "1234567890" - } - } - } - ] - }, - "headers": { - "x-amzn-RequestId": { - "description": "Unique request reference identifier.", - "type": "string" - }, - "x-amzn-RateLimit-Limit": { - "description": "Your rate limit (requests per second) for this operation.", - "type": "string" - } - } - }, - "400": { - "description": "Request has missing or invalid parameters and cannot be parsed.", - "schema": { - "$ref": "#/definitions/ErrorList" - }, - "x-amzn-api-sandbox": { - "static": [ - { - "request": { - "parameters": { - "inboundPlanId": { - "value": "wfbad4abcd-1234-abcd-5678-1234abcd5678" - } - } - }, - "response": { - "errors": [ - { - "code": "BadRequest", - "message": "The inboundPlanId is malformed." - } - ] - } - } - ] - }, - "headers": { - "x-amzn-RequestId": { - "description": "Unique request reference identifier.", - "type": "string" - }, - "x-amzn-RateLimit-Limit": { - "description": "Your rate limit (requests per second) for this operation.", - "type": "string" - } - } - }, - "500": { - "description": "An unexpected condition occurred that prevented the server from fulfilling the request.", - "schema": { - "$ref": "#/definitions/ErrorList" - }, - "headers": { - "x-amzn-RequestId": { - "description": "Unique request reference identifier.", - "type": "string" - } - } - }, - "403": { - "description": "Indicates that access to the resource is forbidden. Possible reasons include Access Denied, Unauthorized, Expired Token, or Invalid Signature.", - "schema": { - "$ref": "#/definitions/ErrorList" - }, - "headers": { - "x-amzn-RequestId": { - "description": "Unique request reference identifier.", - "type": "string" - } - } - }, - "404": { - "description": "The resource specified does not exist.", - "schema": { - "$ref": "#/definitions/ErrorList" - }, - "headers": { - "x-amzn-RequestId": { - "description": "Unique request reference identifier.", - "type": "string" - }, - "x-amzn-RateLimit-Limit": { - "description": "Your rate limit (requests per second) for this operation.", - "type": "string" - } - } - }, - "413": { - "description": "The request size exceeded the maximum accepted size.", - "schema": { - "$ref": "#/definitions/ErrorList" - }, - "headers": { - "x-amzn-RequestId": { - "description": "Unique request reference identifier.", - "type": "string" - } - } - }, - "415": { - "description": "The request payload is in an unsupported format.", - "schema": { - "$ref": "#/definitions/ErrorList" - }, - "headers": { - "x-amzn-RequestId": { - "description": "Unique request reference identifier.", - "type": "string" - } - } - }, - "429": { - "description": "The frequency of requests was greater than allowed.", - "schema": { - "$ref": "#/definitions/ErrorList" - }, - "headers": { - "x-amzn-RequestId": { - "description": "Unique request reference identifier.", - "type": "string" - } - } - }, - "503": { - "description": "Temporary overloading or maintenance of the server.", - "schema": { - "$ref": "#/definitions/ErrorList" - }, - "headers": { - "x-amzn-RequestId": { - "description": "Unique request reference identifier.", - "type": "string" - } - } - } - }, - "tags": [ - "fbaInbound" - ], - "description": "Fetches the top level information about an inbound plan.\n\n**Usage Plan:**\n\n| Rate (requests per second) | Burst |\n| ---- | ---- |\n| 1 | 1 |\n\nThe `x-amzn-RateLimit-Limit` response header returns the usage plan rate limits that were applied to the requested operation, when available. The table above indicates the default rate and burst values for this operation. Selling partners whose business demands require higher throughput may see higher rate and burst values than those shown here. For more information, refer to [Usage Plans and Rate Limits in the Selling Partner API](https://developer-docs.amazon.com/sp-api/docs/usage-plans-and-rate-limits-in-the-sp-api).", - "operationId": "getInboundPlan" - } - }, - "/inbound/fba/2024-03-20/inboundPlans/{inboundPlanId}/boxes": { - "get": { - "produces": [ - "application/json" - ], - "parameters": [ - { - "description": "Identifier to an inbound plan.", - "in": "path", - "maxLength": 38, - "minLength": 38, - "name": "inboundPlanId", - "pattern": "^[a-zA-Z0-9-]*$", - "required": true, - "type": "string" - }, - { - "description": "The number of boxes to return in the response matching the given query.", - "in": "query", - "maximum": 1000, - "minimum": 1, - "name": "pageSize", - "type": "integer", - "default": 10 - }, - { - "description": "A token to fetch a certain page when there are multiple pages worth of results. The value of this token is fetched from the `pagination` returned in the API response. In the absence of the token value from the query parameter the API returns the first page of the result.", - "in": "query", - "maxLength": 1024, - "minLength": 0, - "name": "paginationToken", - "type": "string" - } - ], - "responses": { - "200": { - "description": "ListInboundPlanBoxes 200 response", - "schema": { - "$ref": "#/definitions/ListInboundPlanBoxesResponse" - }, - "x-amzn-api-sandbox": { - "static": [ - { - "request": { - "parameters": { - "inboundPlanId": { - "value": "wf1234abcd-1234-abcd-5678-1234abcd5678" - }, - "pageSize": { - "value": 2 - }, - "paginationToken": { - "value": "paginationToken" - } - } - }, - "response": { - "boxes": [ - { - "packageId": "pk1234abcd-1234-abcd-5678-1234abcd5678", - "weight": { - "unit": "KG", - "value": 5.5 - }, - "dimensions": { - "unitOfMeasurement": "CM", - "length": 3.0, - "width": 4.0, - "height": 5.0 - }, - "quantity": 2, - "boxId": "boxId", - "templateName": "templateName", - "items": [ - { - "quantity": 5, - "expiration": "2024-01-01", - "manufacturingLotCode": "manufacturingLotCode", - "prepInstructions": [ - { - "prepType": "ITEM_POLYBAGGING", - "prepOwner": "AMAZON", - "fee": { - "code": "USD", - "amount": 10.0 - } - } - ], - "msku": "msku", - "asin": "asin", - "fnsku": "fnsku", - "labelOwner": "AMAZON" - } - ], - "destinationRegion": { - "countryCode": "US", - "state": "CA", - "warehouseId": "ABC1" - } - } - ], - "pagination": { - "nextToken": "nextPaginationToken" - } - } - } - ] - }, - "headers": { - "x-amzn-RequestId": { - "description": "Unique request reference identifier.", - "type": "string" - }, - "x-amzn-RateLimit-Limit": { - "description": "Your rate limit (requests per second) for this operation.", - "type": "string" - } - } - }, - "400": { - "description": "Request has missing or invalid parameters and cannot be parsed.", - "schema": { - "$ref": "#/definitions/ErrorList" - }, - "x-amzn-api-sandbox": { - "static": [ - { - "request": { - "parameters": { - "inboundPlanId": { - "value": "bad234abcd-1234-abcd-5678-1234abcd5678" - }, - "pageSize": { - "value": 2 - }, - "paginationToken": { - "value": "paginationToken" - } - } - }, - "response": { - "errors": [ - { - "code": "BadRequest", - "message": "The requested inboundPlanId does not exist." - } - ] - } - } - ] - }, - "headers": { - "x-amzn-RequestId": { - "description": "Unique request reference identifier.", - "type": "string" - }, - "x-amzn-RateLimit-Limit": { - "description": "Your rate limit (requests per second) for this operation.", - "type": "string" - } - } - }, - "500": { - "description": "An unexpected condition occurred that prevented the server from fulfilling the request.", - "schema": { - "$ref": "#/definitions/ErrorList" - }, - "headers": { - "x-amzn-RequestId": { - "description": "Unique request reference identifier.", - "type": "string" - } - } - }, - "403": { - "description": "Indicates that access to the resource is forbidden. Possible reasons include Access Denied, Unauthorized, Expired Token, or Invalid Signature.", - "schema": { - "$ref": "#/definitions/ErrorList" - }, - "headers": { - "x-amzn-RequestId": { - "description": "Unique request reference identifier.", - "type": "string" - } - } - }, - "404": { - "description": "The resource specified does not exist.", - "schema": { - "$ref": "#/definitions/ErrorList" - }, - "headers": { - "x-amzn-RequestId": { - "description": "Unique request reference identifier.", - "type": "string" - }, - "x-amzn-RateLimit-Limit": { - "description": "Your rate limit (requests per second) for this operation.", - "type": "string" - } - } - }, - "413": { - "description": "The request size exceeded the maximum accepted size.", - "schema": { - "$ref": "#/definitions/ErrorList" - }, - "headers": { - "x-amzn-RequestId": { - "description": "Unique request reference identifier.", - "type": "string" - } - } - }, - "415": { - "description": "The request payload is in an unsupported format.", - "schema": { - "$ref": "#/definitions/ErrorList" - }, - "headers": { - "x-amzn-RequestId": { - "description": "Unique request reference identifier.", - "type": "string" - } - } - }, - "429": { - "description": "The frequency of requests was greater than allowed.", - "schema": { - "$ref": "#/definitions/ErrorList" - }, - "headers": { - "x-amzn-RequestId": { - "description": "Unique request reference identifier.", - "type": "string" - } - } - }, - "503": { - "description": "Temporary overloading or maintenance of the server.", - "schema": { - "$ref": "#/definitions/ErrorList" - }, - "headers": { - "x-amzn-RequestId": { - "description": "Unique request reference identifier.", - "type": "string" - } - } - } - }, - "tags": [ - "fbaInbound" - ], - "description": "Provides a paginated list of box packages in an inbound plan.\n\n**Usage Plan:**\n\n| Rate (requests per second) | Burst |\n| ---- | ---- |\n| 1 | 1 |\n\nThe `x-amzn-RateLimit-Limit` response header returns the usage plan rate limits that were applied to the requested operation, when available. The table above indicates the default rate and burst values for this operation. Selling partners whose business demands require higher throughput may see higher rate and burst values than those shown here. For more information, refer to [Usage Plans and Rate Limits in the Selling Partner API](https://developer-docs.amazon.com/sp-api/docs/usage-plans-and-rate-limits-in-the-sp-api).", - "operationId": "listInboundPlanBoxes" - } - }, - "/inbound/fba/2024-03-20/inboundPlans/{inboundPlanId}/cancellation": { - "put": { - "produces": [ - "application/json" - ], - "parameters": [ - { - "description": "Identifier to an inbound plan.", - "in": "path", - "maxLength": 38, - "minLength": 38, - "name": "inboundPlanId", - "pattern": "^[a-zA-Z0-9-]*$", - "required": true, - "type": "string" - } - ], - "responses": { - "202": { - "description": "CancelInboundPlan 202 response", - "schema": { - "$ref": "#/definitions/CancelInboundPlanResponse" - }, - "x-amzn-api-sandbox": { - "static": [ - { - "request": { - "parameters": { - "inboundPlanId": { - "value": "wf1234abcd-1234-abcd-5678-1234abcd5678" - } - } - }, - "response": { - "operationId": "1234abcd-1234-abcd-5678-1234abcd5678" - } - } - ] - }, - "headers": { - "x-amzn-RequestId": { - "description": "Unique request reference identifier.", - "type": "string" - }, - "x-amzn-RateLimit-Limit": { - "description": "Your rate limit (requests per second) for this operation.", - "type": "string" - } - } - }, - "400": { - "description": "Request has missing or invalid parameters and cannot be parsed.", - "schema": { - "$ref": "#/definitions/ErrorList" - }, - "x-amzn-api-sandbox": { - "static": [ - { - "request": { - "parameters": { - "inboundPlanId": { - "value": "wfbad4abcd-1234-abcd-5678-1234abcd5678" - } - } - }, - "response": { - "errors": [ - { - "code": "BadRequest", - "message": "The inbound plan is already cancelled." - } - ] - } - } - ] - }, - "headers": { - "x-amzn-RequestId": { - "description": "Unique request reference identifier.", - "type": "string" - }, - "x-amzn-RateLimit-Limit": { - "description": "Your rate limit (requests per second) for this operation.", - "type": "string" - } - } - }, - "500": { - "description": "An unexpected condition occurred that prevented the server from fulfilling the request.", - "schema": { - "$ref": "#/definitions/ErrorList" - }, - "headers": { - "x-amzn-RequestId": { - "description": "Unique request reference identifier.", - "type": "string" - } - } - }, - "403": { - "description": "Indicates that access to the resource is forbidden. Possible reasons include Access Denied, Unauthorized, Expired Token, or Invalid Signature.", - "schema": { - "$ref": "#/definitions/ErrorList" - }, - "headers": { - "x-amzn-RequestId": { - "description": "Unique request reference identifier.", - "type": "string" - } - } - }, - "404": { - "description": "The resource specified does not exist.", - "schema": { - "$ref": "#/definitions/ErrorList" - }, - "headers": { - "x-amzn-RequestId": { - "description": "Unique request reference identifier.", - "type": "string" - }, - "x-amzn-RateLimit-Limit": { - "description": "Your rate limit (requests per second) for this operation.", - "type": "string" - } - } - }, - "413": { - "description": "The request size exceeded the maximum accepted size.", - "schema": { - "$ref": "#/definitions/ErrorList" - }, - "headers": { - "x-amzn-RequestId": { - "description": "Unique request reference identifier.", - "type": "string" - } - } - }, - "415": { - "description": "The request payload is in an unsupported format.", - "schema": { - "$ref": "#/definitions/ErrorList" - }, - "headers": { - "x-amzn-RequestId": { - "description": "Unique request reference identifier.", - "type": "string" - } - } - }, - "429": { - "description": "The frequency of requests was greater than allowed.", - "schema": { - "$ref": "#/definitions/ErrorList" - }, - "headers": { - "x-amzn-RequestId": { - "description": "Unique request reference identifier.", - "type": "string" - } - } - }, - "503": { - "description": "Temporary overloading or maintenance of the server.", - "schema": { - "$ref": "#/definitions/ErrorList" - }, - "headers": { - "x-amzn-RequestId": { - "description": "Unique request reference identifier.", - "type": "string" - } - } - } - }, - "tags": [ - "fbaInbound" - ], - "description": "Cancels an Inbound Plan. Charges may apply if the cancellation is performed outside of a void window. The window\n for Amazon Partnered Carriers is 24 hours for Small Parcel Delivery (SPD) and one hour for Less-Than-Truckload (LTL) carrier shipments.\n\n**Usage Plan:**\n\n| Rate (requests per second) | Burst |\n| ---- | ---- |\n| 0.05 | 1 |\n\nThe `x-amzn-RateLimit-Limit` response header returns the usage plan rate limits that were applied to the requested operation, when available. The table above indicates the default rate and burst values for this operation. Selling partners whose business demands require higher throughput may see higher rate and burst values than those shown here. For more information, refer to [Usage Plans and Rate Limits in the Selling Partner API](https://developer-docs.amazon.com/sp-api/docs/usage-plans-and-rate-limits-in-the-sp-api).", - "operationId": "cancelInboundPlan" - } - }, - "/inbound/fba/2024-03-20/inboundPlans/{inboundPlanId}/items": { - "get": { - "produces": [ - "application/json" - ], - "parameters": [ - { - "description": "Identifier to an inbound plan.", - "in": "path", - "maxLength": 38, - "minLength": 38, - "name": "inboundPlanId", - "pattern": "^[a-zA-Z0-9-]*$", - "required": true, - "type": "string" - }, - { - "description": "The number of items to return in the response matching the given query.", - "in": "query", - "maximum": 1000, - "minimum": 1, - "name": "pageSize", - "type": "integer", - "default": 10 - }, - { - "description": "A token to fetch a certain page when there are multiple pages worth of results. The value of this token is fetched from the `pagination` returned in the API response. In the absence of the token value from the query parameter the API returns the first page of the result.", - "in": "query", - "maxLength": 1024, - "minLength": 0, - "name": "paginationToken", - "type": "string" - } - ], - "responses": { - "200": { - "description": "ListInboundPlanItems 200 response", - "schema": { - "$ref": "#/definitions/ListInboundPlanItemsResponse" - }, - "x-amzn-api-sandbox": { - "static": [ - { - "request": { - "parameters": { - "inboundPlanId": { - "value": "wf1234abcd-1234-abcd-5678-1234abcd5678" - }, - "pageSize": { - "value": 2 - }, - "paginationToken": { - "value": "paginationToken" - } - } - }, - "response": { - "items": [ - { - "quantity": 5, - "expiration": "2024-01-01", - "manufacturingLotCode": "manufacturingLotCode", - "prepInstructions": [ - { - "prepType": "ITEM_POLYBAGGING", - "prepOwner": "AMAZON", - "fee": { - "code": "USD", - "amount": 10.0 - } - } - ], - "msku": "msku", - "asin": "asin", - "fnsku": "fnsku", - "labelOwner": "AMAZON" - } - ], - "pagination": { - "nextToken": "nextPaginationToken" - } - } - } - ] - }, - "headers": { - "x-amzn-RequestId": { - "description": "Unique request reference identifier.", - "type": "string" - }, - "x-amzn-RateLimit-Limit": { - "description": "Your rate limit (requests per second) for this operation.", - "type": "string" - } - } - }, - "400": { - "description": "Request has missing or invalid parameters and cannot be parsed.", - "schema": { - "$ref": "#/definitions/ErrorList" - }, - "x-amzn-api-sandbox": { - "static": [ - { - "request": { - "parameters": { - "inboundPlanId": { - "value": "wfbad4abcd-1234-abcd-5678-1234abcd5678" - }, - "pageSize": { - "value": 1 - }, - "paginationToken": { - "value": "" - } - } - }, - "response": { - "errors": [ - { - "code": "BadRequest", - "message": "The requested inbound plan does not exist." - } - ] - } - } - ] - }, - "headers": { - "x-amzn-RequestId": { - "description": "Unique request reference identifier.", - "type": "string" - }, - "x-amzn-RateLimit-Limit": { - "description": "Your rate limit (requests per second) for this operation.", - "type": "string" - } - } - }, - "500": { - "description": "An unexpected condition occurred that prevented the server from fulfilling the request.", - "schema": { - "$ref": "#/definitions/ErrorList" - }, - "headers": { - "x-amzn-RequestId": { - "description": "Unique request reference identifier.", - "type": "string" - } - } - }, - "403": { - "description": "Indicates that access to the resource is forbidden. Possible reasons include Access Denied, Unauthorized, Expired Token, or Invalid Signature.", - "schema": { - "$ref": "#/definitions/ErrorList" - }, - "headers": { - "x-amzn-RequestId": { - "description": "Unique request reference identifier.", - "type": "string" - } - } - }, - "404": { - "description": "The resource specified does not exist.", - "schema": { - "$ref": "#/definitions/ErrorList" - }, - "headers": { - "x-amzn-RequestId": { - "description": "Unique request reference identifier.", - "type": "string" - }, - "x-amzn-RateLimit-Limit": { - "description": "Your rate limit (requests per second) for this operation.", - "type": "string" - } - } - }, - "413": { - "description": "The request size exceeded the maximum accepted size.", - "schema": { - "$ref": "#/definitions/ErrorList" - }, - "headers": { - "x-amzn-RequestId": { - "description": "Unique request reference identifier.", - "type": "string" - } - } - }, - "415": { - "description": "The request payload is in an unsupported format.", - "schema": { - "$ref": "#/definitions/ErrorList" - }, - "headers": { - "x-amzn-RequestId": { - "description": "Unique request reference identifier.", - "type": "string" - } - } - }, - "429": { - "description": "The frequency of requests was greater than allowed.", - "schema": { - "$ref": "#/definitions/ErrorList" - }, - "headers": { - "x-amzn-RequestId": { - "description": "Unique request reference identifier.", - "type": "string" - } - } - }, - "503": { - "description": "Temporary overloading or maintenance of the server.", - "schema": { - "$ref": "#/definitions/ErrorList" - }, - "headers": { - "x-amzn-RequestId": { - "description": "Unique request reference identifier.", - "type": "string" - } - } - } - }, - "tags": [ - "fbaInbound" - ], - "description": "Provides a paginated list of item packages in an inbound plan.\n\n**Usage Plan:**\n\n| Rate (requests per second) | Burst |\n| ---- | ---- |\n| 1 | 1 |\n\nThe `x-amzn-RateLimit-Limit` response header returns the usage plan rate limits that were applied to the requested operation, when available. The table above indicates the default rate and burst values for this operation. Selling partners whose business demands require higher throughput may see higher rate and burst values than those shown here. For more information, refer to [Usage Plans and Rate Limits in the Selling Partner API](https://developer-docs.amazon.com/sp-api/docs/usage-plans-and-rate-limits-in-the-sp-api).", - "operationId": "listInboundPlanItems" - } - }, - "/inbound/fba/2024-03-20/inboundPlans/{inboundPlanId}/packingInformation": { - "post": { - "consumes": [ - "application/json" - ], - "produces": [ - "application/json" - ], - "parameters": [ - { - "description": "Identifier to an inbound plan.", - "in": "path", - "maxLength": 38, - "minLength": 38, - "name": "inboundPlanId", - "pattern": "^[a-zA-Z0-9-]*$", - "required": true, - "type": "string" - }, - { - "in": "body", - "name": "body", - "required": true, - "schema": { - "$ref": "#/definitions/SetPackingInformationRequest" - }, - "description": "The body of the request to `setPackingInformation`." - } - ], - "responses": { - "202": { - "description": "SetPackingInformation 202 response", - "schema": { - "$ref": "#/definitions/SetPackingInformationResponse" - }, - "x-amzn-api-sandbox": { - "static": [ - { - "request": { - "parameters": { - "inboundPlanId": { - "value": "wf1234abcd-1234-abcd-5678-1234abcd5678" - }, - "body": { - "value": { - "packageGroupings": [ - { - "shipmentId": "sh1234abcd-1234-abcd-5678-1234abcd5678", - "packingGroupId": "pg1234abcd-1234-abcd-5678-1234abcd5678", - "boxes": [ - { - "boxId": "boxId", - "templateName": "templateName", - "contents": [ - { - "msku": "msku", - "quantityInBox": 5, - "expiration": "2024-01-01", - "prepOwner": "AMAZON", - "labelOwner": "AMAZON", - "manufacturingLotCode": "manufacturingLotCode" - } - ], - "contentInformationSource": "BOX_CONTENT_PROVIDED", - "weight": { - "unit": "KG", - "value": 5.5 - }, - "dimensions": { - "unitOfMeasurement": "CM", - "length": 3.0, - "width": 4.0, - "height": 5.0 - }, - "quantity": 2 - } - ] - } - ] - } - } - } - }, - "response": { - "operationId": "1234abcd-1234-abcd-5678-1234abcd5678" - } - } - ] - }, - "headers": { - "x-amzn-RequestId": { - "description": "Unique request reference identifier.", - "type": "string" - }, - "x-amzn-RateLimit-Limit": { - "description": "Your rate limit (requests per second) for this operation.", - "type": "string" - } - } - }, - "400": { - "description": "Request has missing or invalid parameters and cannot be parsed.", - "schema": { - "$ref": "#/definitions/ErrorList" - }, - "x-amzn-api-sandbox": { - "static": [ - { - "request": { - "parameters": { - "inboundPlanId": { - "value": "bad234abcd-1234-abcd-5678-1234abcd5678" - }, - "body": { - "value": { - "packageGroupings": [ - { - "shipmentId": "sh1234abcd-1234-abcd-5678-1234abcd5678", - "packingGroupId": "bad234abcd-1234-abcd-5678-1234abcd5678", - "boxes": [ - { - "boxId": "boxId", - "templateName": "templateName", - "contents": [ - { - "msku": "msku", - "quantityInBox": 5, - "expiration": "2024-01-01", - "prepOwner": "AMAZON", - "labelOwner": "AMAZON", - "manufacturingLotCode": "manufacturingLotCode" - } - ], - "contentInformationSource": "BOX_CONTENT_PROVIDED", - "weight": { - "unit": "KG", - "value": 5.5 - }, - "dimensions": { - "unitOfMeasurement": "CM", - "length": 3.0, - "width": 4.0, - "height": 5.0 - }, - "quantity": 2 - } - ] - } - ] - } - } - } - }, - "response": { - "errors": [ - { - "code": "BadRequest", - "message": "The requested packingGroupId does not exist for the specified inbound plan." - } - ] - } - } - ] - }, - "headers": { - "x-amzn-RequestId": { - "description": "Unique request reference identifier.", - "type": "string" - }, - "x-amzn-RateLimit-Limit": { - "description": "Your rate limit (requests per second) for this operation.", - "type": "string" - } - } - }, - "500": { - "description": "An unexpected condition occurred that prevented the server from fulfilling the request.", - "schema": { - "$ref": "#/definitions/ErrorList" - }, - "headers": { - "x-amzn-RequestId": { - "description": "Unique request reference identifier.", - "type": "string" - } - } - }, - "403": { - "description": "Indicates that access to the resource is forbidden. Possible reasons include Access Denied, Unauthorized, Expired Token, or Invalid Signature.", - "schema": { - "$ref": "#/definitions/ErrorList" - }, - "headers": { - "x-amzn-RequestId": { - "description": "Unique request reference identifier.", - "type": "string" - } - } - }, - "404": { - "description": "The resource specified does not exist.", - "schema": { - "$ref": "#/definitions/ErrorList" - }, - "headers": { - "x-amzn-RequestId": { - "description": "Unique request reference identifier.", - "type": "string" - }, - "x-amzn-RateLimit-Limit": { - "description": "Your rate limit (requests per second) for this operation.", - "type": "string" - } - } - }, - "413": { - "description": "The request size exceeded the maximum accepted size.", - "schema": { - "$ref": "#/definitions/ErrorList" - }, - "headers": { - "x-amzn-RequestId": { - "description": "Unique request reference identifier.", - "type": "string" - } - } - }, - "415": { - "description": "The request payload is in an unsupported format.", - "schema": { - "$ref": "#/definitions/ErrorList" - }, - "headers": { - "x-amzn-RequestId": { - "description": "Unique request reference identifier.", - "type": "string" - } - } - }, - "429": { - "description": "The frequency of requests was greater than allowed.", - "schema": { - "$ref": "#/definitions/ErrorList" - }, - "headers": { - "x-amzn-RequestId": { - "description": "Unique request reference identifier.", - "type": "string" - } - } - }, - "503": { - "description": "Temporary overloading or maintenance of the server.", - "schema": { - "$ref": "#/definitions/ErrorList" - }, - "headers": { - "x-amzn-RequestId": { - "description": "Unique request reference identifier.", - "type": "string" - } - } - } - }, - "tags": [ - "fbaInbound" - ], - "description": "Sets packing information for an inbound plan. This should be called after an inbound plan is created to populate\n the box level information required for planning and transportation estimates.\n\n**Usage Plan:**\n\n| Rate (requests per second) | Burst |\n| ---- | ---- |\n| 0.05 | 1 |\n\nThe `x-amzn-RateLimit-Limit` response header returns the usage plan rate limits that were applied to the requested operation, when available. The table above indicates the default rate and burst values for this operation. Selling partners whose business demands require higher throughput may see higher rate and burst values than those shown here. For more information, refer to [Usage Plans and Rate Limits in the Selling Partner API](https://developer-docs.amazon.com/sp-api/docs/usage-plans-and-rate-limits-in-the-sp-api).", - "operationId": "setPackingInformation" - } - }, - "/inbound/fba/2024-03-20/inboundPlans/{inboundPlanId}/packingOptions": { - "get": { - "produces": [ - "application/json" - ], - "parameters": [ - { - "description": "Identifier to an inbound plan.", - "in": "path", - "maxLength": 38, - "minLength": 38, - "name": "inboundPlanId", - "pattern": "^[a-zA-Z0-9-]*$", - "required": true, - "type": "string" - }, - { - "description": "The number of packing options to return in the response matching the given query.", - "in": "query", - "maximum": 20, - "minimum": 1, - "name": "pageSize", - "type": "integer", - "default": 10 - }, - { - "description": "A token to fetch a certain page when there are multiple pages worth of results. The value of this token is fetched from the `pagination` returned in the API response. In the absence of the token value from the query parameter the API returns the first page of the result.", - "in": "query", - "maxLength": 1024, - "minLength": 0, - "name": "paginationToken", - "type": "string" - } - ], - "responses": { - "200": { - "description": "ListPackingOptions 200 response", - "schema": { - "$ref": "#/definitions/ListPackingOptionsResponse" - }, - "x-amzn-api-sandbox": { - "static": [ - { - "request": { - "parameters": { - "inboundPlanId": { - "value": "wf1234abcd-1234-abcd-5678-1234abcd5678" - }, - "pageSize": { - "value": 2 - }, - "paginationToken": { - "value": "paginationToken" - } - } - }, - "response": { - "packingOptions": [ - { - "inboundPlanId": "wf1234abcd-1234-abcd-5678-1234abcd5678", - "packingOptionId": "po1234abcd-1234-abcd-5678-1234abcd5678", - "packingGroups": [ - "pg1234abcd-1234-abcd-5678-1234abcd5678" - ], - "fees": [ - { - "value": { - "code": "USD", - "amount": 1.0 - }, - "type": "FEE", - "target": "Placement Services", - "description": "description" - } - ], - "discounts": [ - { - "value": { - "code": "USD", - "amount": 1.0 - }, - "type": "DISCOUNT", - "target": "Placement Services", - "description": "description" - } - ], - "expiration": "2024-01-01T00:00:00.000Z", - "status": "OFFERED", - "supportedShippingConfigurations": [ - { - "shippingSolution": "AMAZON_PARTNERED_CARRIER", - "shippingMode": "GROUND_SMALL_PARCEL" - } - ] - } - ], - "pagination": { - "nextToken": "nextPaginationToken" - } - } - } - ] - }, - "headers": { - "x-amzn-RequestId": { - "description": "Unique request reference identifier.", - "type": "string" - }, - "x-amzn-RateLimit-Limit": { - "description": "Your rate limit (requests per second) for this operation.", - "type": "string" - } - } - }, - "400": { - "description": "Request has missing or invalid parameters and cannot be parsed.", - "schema": { - "$ref": "#/definitions/ErrorList" - }, - "x-amzn-api-sandbox": { - "static": [ - { - "request": { - "parameters": { - "inboundPlanId": { - "value": "bad234abcd-1234-abcd-5678-1234abcd5678" - }, - "pageSize": { - "value": 2 - }, - "paginationToken": { - "value": "paginationToken" - } - } - }, - "response": { - "errors": [ - { - "code": "BadRequest", - "message": "The requested inbound plan does not exist." - } - ] - } - } - ] - }, - "headers": { - "x-amzn-RequestId": { - "description": "Unique request reference identifier.", - "type": "string" - }, - "x-amzn-RateLimit-Limit": { - "description": "Your rate limit (requests per second) for this operation.", - "type": "string" - } - } - }, - "500": { - "description": "An unexpected condition occurred that prevented the server from fulfilling the request.", - "schema": { - "$ref": "#/definitions/ErrorList" - }, - "headers": { - "x-amzn-RequestId": { - "description": "Unique request reference identifier.", - "type": "string" - } - } - }, - "403": { - "description": "Indicates that access to the resource is forbidden. Possible reasons include Access Denied, Unauthorized, Expired Token, or Invalid Signature.", - "schema": { - "$ref": "#/definitions/ErrorList" - }, - "headers": { - "x-amzn-RequestId": { - "description": "Unique request reference identifier.", - "type": "string" - } - } - }, - "404": { - "description": "The resource specified does not exist.", - "schema": { - "$ref": "#/definitions/ErrorList" - }, - "headers": { - "x-amzn-RequestId": { - "description": "Unique request reference identifier.", - "type": "string" - }, - "x-amzn-RateLimit-Limit": { - "description": "Your rate limit (requests per second) for this operation.", - "type": "string" - } - } - }, - "413": { - "description": "The request size exceeded the maximum accepted size.", - "schema": { - "$ref": "#/definitions/ErrorList" - }, - "headers": { - "x-amzn-RequestId": { - "description": "Unique request reference identifier.", - "type": "string" - } - } - }, - "415": { - "description": "The request payload is in an unsupported format.", - "schema": { - "$ref": "#/definitions/ErrorList" - }, - "headers": { - "x-amzn-RequestId": { - "description": "Unique request reference identifier.", - "type": "string" - } - } - }, - "429": { - "description": "The frequency of requests was greater than allowed.", - "schema": { - "$ref": "#/definitions/ErrorList" - }, - "headers": { - "x-amzn-RequestId": { - "description": "Unique request reference identifier.", - "type": "string" - } - } - }, - "503": { - "description": "Temporary overloading or maintenance of the server.", - "schema": { - "$ref": "#/definitions/ErrorList" - }, - "headers": { - "x-amzn-RequestId": { - "description": "Unique request reference identifier.", - "type": "string" - } - } - } - }, - "tags": [ - "fbaInbound" - ], - "description": "Retrieves a list of all packing options for an inbound plan. Packing options must first be generated by the corresponding endpoint before becoming available.\n\n**Usage Plan:**\n\n| Rate (requests per second) | Burst |\n| ---- | ---- |\n| 1 | 1 |\n\nThe `x-amzn-RateLimit-Limit` response header returns the usage plan rate limits that were applied to the requested operation, when available. The table above indicates the default rate and burst values for this operation. Selling partners whose business demands require higher throughput may see higher rate and burst values than those shown here. For more information, refer to [Usage Plans and Rate Limits in the Selling Partner API](https://developer-docs.amazon.com/sp-api/docs/usage-plans-and-rate-limits-in-the-sp-api).", - "operationId": "listPackingOptions" - }, - "post": { - "produces": [ - "application/json" - ], - "parameters": [ - { - "description": "Identifier to an inbound plan.", - "in": "path", - "maxLength": 38, - "minLength": 38, - "name": "inboundPlanId", - "pattern": "^[a-zA-Z0-9-]*$", - "required": true, - "type": "string" - } - ], - "responses": { - "202": { - "description": "GeneratePackingOptions 202 response", - "schema": { - "$ref": "#/definitions/GeneratePackingOptionsResponse" - }, - "x-amzn-api-sandbox": { - "static": [ - { - "request": { - "parameters": { - "inboundPlanId": { - "value": "wf1234abcd-1234-abcd-5678-1234abcd5678" - } - } - }, - "response": { - "operationId": "1234abcd-1234-abcd-5678-1234abcd5678" - } - } - ] - }, - "headers": { - "x-amzn-RequestId": { - "description": "Unique request reference identifier.", - "type": "string" - }, - "x-amzn-RateLimit-Limit": { - "description": "Your rate limit (requests per second) for this operation.", - "type": "string" - } - } - }, - "400": { - "description": "Request has missing or invalid parameters and cannot be parsed.", - "schema": { - "$ref": "#/definitions/ErrorList" - }, - "x-amzn-api-sandbox": { - "static": [ - { - "request": { - "parameters": { - "inboundPlanId": { - "value": "wfbad4abcd-1234-abcd-5678-1234abcd5678" - } - } - }, - "response": { - "errors": [ - { - "code": "BadRequest", - "message": "The inbound plan is not in a valid state to generate packing options." - } - ] - } - } - ] - }, - "headers": { - "x-amzn-RequestId": { - "description": "Unique request reference identifier.", - "type": "string" - }, - "x-amzn-RateLimit-Limit": { - "description": "Your rate limit (requests per second) for this operation.", - "type": "string" - } - } - }, - "500": { - "description": "An unexpected condition occurred that prevented the server from fulfilling the request.", - "schema": { - "$ref": "#/definitions/ErrorList" - }, - "headers": { - "x-amzn-RequestId": { - "description": "Unique request reference identifier.", - "type": "string" - } - } - }, - "403": { - "description": "Indicates that access to the resource is forbidden. Possible reasons include Access Denied, Unauthorized, Expired Token, or Invalid Signature.", - "schema": { - "$ref": "#/definitions/ErrorList" - }, - "headers": { - "x-amzn-RequestId": { - "description": "Unique request reference identifier.", - "type": "string" - } - } - }, - "404": { - "description": "The resource specified does not exist.", - "schema": { - "$ref": "#/definitions/ErrorList" - }, - "headers": { - "x-amzn-RequestId": { - "description": "Unique request reference identifier.", - "type": "string" - }, - "x-amzn-RateLimit-Limit": { - "description": "Your rate limit (requests per second) for this operation.", - "type": "string" - } - } - }, - "413": { - "description": "The request size exceeded the maximum accepted size.", - "schema": { - "$ref": "#/definitions/ErrorList" - }, - "headers": { - "x-amzn-RequestId": { - "description": "Unique request reference identifier.", - "type": "string" - } - } - }, - "415": { - "description": "The request payload is in an unsupported format.", - "schema": { - "$ref": "#/definitions/ErrorList" - }, - "headers": { - "x-amzn-RequestId": { - "description": "Unique request reference identifier.", - "type": "string" - } - } - }, - "429": { - "description": "The frequency of requests was greater than allowed.", - "schema": { - "$ref": "#/definitions/ErrorList" - }, - "headers": { - "x-amzn-RequestId": { - "description": "Unique request reference identifier.", - "type": "string" - } - } - }, - "503": { - "description": "Temporary overloading or maintenance of the server.", - "schema": { - "$ref": "#/definitions/ErrorList" - }, - "headers": { - "x-amzn-RequestId": { - "description": "Unique request reference identifier.", - "type": "string" - } - } - } - }, - "tags": [ - "fbaInbound" - ], - "description": "Generates available packing options for the inbound plan.\n\n**Usage Plan:**\n\n| Rate (requests per second) | Burst |\n| ---- | ---- |\n| 0.05 | 1 |\n\nThe `x-amzn-RateLimit-Limit` response header returns the usage plan rate limits that were applied to the requested operation, when available. The table above indicates the default rate and burst values for this operation. Selling partners whose business demands require higher throughput may see higher rate and burst values than those shown here. For more information, refer to [Usage Plans and Rate Limits in the Selling Partner API](https://developer-docs.amazon.com/sp-api/docs/usage-plans-and-rate-limits-in-the-sp-api).", - "operationId": "generatePackingOptions" - } - }, - "/inbound/fba/2024-03-20/inboundPlans/{inboundPlanId}/packingOptions/{packingOptionId}/confirmation": { - "post": { - "produces": [ - "application/json" - ], - "parameters": [ - { - "description": "Identifier to an inbound plan.", - "in": "path", - "maxLength": 38, - "minLength": 38, - "name": "inboundPlanId", - "pattern": "^[a-zA-Z0-9-]*$", - "required": true, - "type": "string" - }, - { - "description": "Identifier to a packing option.", - "in": "path", - "maxLength": 38, - "minLength": 38, - "name": "packingOptionId", - "pattern": "^[a-zA-Z0-9-]*$", - "required": true, - "type": "string" - } - ], - "responses": { - "202": { - "description": "ConfirmPackingOption 202 response", - "schema": { - "$ref": "#/definitions/ConfirmPackingOptionResponse" - }, - "x-amzn-api-sandbox": { - "static": [ - { - "request": { - "parameters": { - "inboundPlanId": { - "value": "wf1234abcd-1234-abcd-5678-1234abcd5678" - }, - "packingOptionId": { - "value": "po1234abcd-1234-abcd-5678-1234abcd5678" - } - } - }, - "response": { - "operationId": "1234abcd-1234-abcd-5678-1234abcd5678" - } - } - ] - }, - "headers": { - "x-amzn-RequestId": { - "description": "Unique request reference identifier.", - "type": "string" - }, - "x-amzn-RateLimit-Limit": { - "description": "Your rate limit (requests per second) for this operation.", - "type": "string" - } - } - }, - "400": { - "description": "Request has missing or invalid parameters and cannot be parsed.", - "schema": { - "$ref": "#/definitions/ErrorList" - }, - "x-amzn-api-sandbox": { - "static": [ - { - "request": { - "parameters": { - "inboundPlanId": { - "value": "wf1234abcd-1234-abcd-5678-1234abcd5678" - }, - "packingOptionId": { - "value": "bad234abcd-1234-abcd-5678-1234abcd5678" - } - } - }, - "response": { - "errors": [ - { - "code": "BadRequest", - "message": "The requested packingOptionId does not exist for the given inbound plan." - } - ] - } - } - ] - }, - "headers": { - "x-amzn-RequestId": { - "description": "Unique request reference identifier.", - "type": "string" - }, - "x-amzn-RateLimit-Limit": { - "description": "Your rate limit (requests per second) for this operation.", - "type": "string" - } - } - }, - "500": { - "description": "An unexpected condition occurred that prevented the server from fulfilling the request.", - "schema": { - "$ref": "#/definitions/ErrorList" - }, - "headers": { - "x-amzn-RequestId": { - "description": "Unique request reference identifier.", - "type": "string" - } - } - }, - "403": { - "description": "Indicates that access to the resource is forbidden. Possible reasons include Access Denied, Unauthorized, Expired Token, or Invalid Signature.", - "schema": { - "$ref": "#/definitions/ErrorList" - }, - "headers": { - "x-amzn-RequestId": { - "description": "Unique request reference identifier.", - "type": "string" - } - } - }, - "404": { - "description": "The resource specified does not exist.", - "schema": { - "$ref": "#/definitions/ErrorList" - }, - "headers": { - "x-amzn-RequestId": { - "description": "Unique request reference identifier.", - "type": "string" - }, - "x-amzn-RateLimit-Limit": { - "description": "Your rate limit (requests per second) for this operation.", - "type": "string" - } - } - }, - "413": { - "description": "The request size exceeded the maximum accepted size.", - "schema": { - "$ref": "#/definitions/ErrorList" - }, - "headers": { - "x-amzn-RequestId": { - "description": "Unique request reference identifier.", - "type": "string" - } - } - }, - "415": { - "description": "The request payload is in an unsupported format.", - "schema": { - "$ref": "#/definitions/ErrorList" - }, - "headers": { - "x-amzn-RequestId": { - "description": "Unique request reference identifier.", - "type": "string" - } - } - }, - "429": { - "description": "The frequency of requests was greater than allowed.", - "schema": { - "$ref": "#/definitions/ErrorList" - }, - "headers": { - "x-amzn-RequestId": { - "description": "Unique request reference identifier.", - "type": "string" - } - } - }, - "503": { - "description": "Temporary overloading or maintenance of the server.", - "schema": { - "$ref": "#/definitions/ErrorList" - }, - "headers": { - "x-amzn-RequestId": { - "description": "Unique request reference identifier.", - "type": "string" - } - } - } - }, - "tags": [ - "fbaInbound" - ], - "description": "Confirms the packing option for an inbound plan.\n\n**Usage Plan:**\n\n| Rate (requests per second) | Burst |\n| ---- | ---- |\n| 0.05 | 1 |\n\nThe `x-amzn-RateLimit-Limit` response header returns the usage plan rate limits that were applied to the requested operation, when available. The table above indicates the default rate and burst values for this operation. Selling partners whose business demands require higher throughput may see higher rate and burst values than those shown here. For more information, refer to [Usage Plans and Rate Limits in the Selling Partner API](https://developer-docs.amazon.com/sp-api/docs/usage-plans-and-rate-limits-in-the-sp-api).", - "operationId": "confirmPackingOption" - } - }, - "/inbound/fba/2024-03-20/inboundPlans/{inboundPlanId}/packingOptions/{packingOptionId}/packingGroups/{packingGroupId}/items": { - "get": { - "produces": [ - "application/json" - ], - "parameters": [ - { - "description": "Identifier to an inbound plan.", - "in": "path", - "maxLength": 38, - "minLength": 38, - "name": "inboundPlanId", - "pattern": "^[a-zA-Z0-9-]*$", - "required": true, - "type": "string" - }, - { - "description": "Identifier to a packing option.", - "in": "path", - "maxLength": 38, - "minLength": 38, - "name": "packingOptionId", - "pattern": "^[a-zA-Z0-9-]*$", - "required": true, - "type": "string" - }, - { - "description": "Identifier to a packing group.", - "in": "path", - "maxLength": 38, - "minLength": 38, - "name": "packingGroupId", - "pattern": "^[a-zA-Z0-9-]*$", - "required": true, - "type": "string" - }, - { - "description": "The number of packing group items to return in the response matching the given query.", - "in": "query", - "maximum": 100, - "minimum": 1, - "name": "pageSize", - "type": "integer", - "default": 10 - }, - { - "description": "A token to fetch a certain page when there are multiple pages worth of results. The value of this token is fetched from the `pagination` returned in the API response. In the absence of the token value from the query parameter the API returns the first page of the result.", - "in": "query", - "maxLength": 1024, - "minLength": 0, - "name": "paginationToken", - "type": "string" - } - ], - "responses": { - "200": { - "description": "ListPackingGroupItems 200 response", - "schema": { - "$ref": "#/definitions/ListPackingGroupItemsResponse" - }, - "x-amzn-api-sandbox": { - "static": [ - { - "request": { - "parameters": { - "inboundPlanId": { - "value": "wf1234abcd-1234-abcd-5678-1234abcd5678" - }, - "packingOptionId": { - "value": "po1234abcd-1234-abcd-5678-1234abcd5678" - }, - "packingGroupId": { - "value": "pg1234abcd-1234-abcd-5678-1234abcd5678" - }, - "pageSize": { - "value": 2 - }, - "paginationToken": { - "value": "paginationToken" - } - } - }, - "response": { - "items": [ - { - "quantity": 5, - "prepInstructions": [ - { - "prepType": "ITEM_POLYBAGGING", - "prepOwner": "AMAZON", - "fee": { - "code": "USD", - "amount": 10.0 - } - } - ], - "msku": "msku", - "asin": "asin", - "fnsku": "fnsku", - "labelOwner": "AMAZON" - } - ], - "pagination": { - "nextToken": "nextPaginationToken" - } - } - } - ] - }, - "headers": { - "x-amzn-RequestId": { - "description": "Unique request reference identifier.", - "type": "string" - }, - "x-amzn-RateLimit-Limit": { - "description": "Your rate limit (requests per second) for this operation.", - "type": "string" - } - } - }, - "400": { - "description": "Request has missing or invalid parameters and cannot be parsed.", - "schema": { - "$ref": "#/definitions/ErrorList" - }, - "x-amzn-api-sandbox": { - "static": [ - { - "request": { - "parameters": { - "inboundPlanId": { - "value": "wf1234abcd-1234-abcd-5678-1234abcd5678" - }, - "packingOptionId": { - "value": "bad234abcd-1234-abcd-5678-1234abcd5678" - }, - "packingGroupId": { - "value": "pg1234abcd-1234-abcd-5678-1234abcd5678" - }, - "pageSize": { - "value": 2 - }, - "paginationToken": { - "value": "paginationToken" - } - } - }, - "response": { - "errors": [ - { - "code": "BadRequest", - "message": "The requested packingOptionId does not exist for the specified inbound plan." - } - ] - } - } - ] - }, - "headers": { - "x-amzn-RequestId": { - "description": "Unique request reference identifier.", - "type": "string" - }, - "x-amzn-RateLimit-Limit": { - "description": "Your rate limit (requests per second) for this operation.", - "type": "string" - } - } - }, - "500": { - "description": "An unexpected condition occurred that prevented the server from fulfilling the request.", - "schema": { - "$ref": "#/definitions/ErrorList" - }, - "headers": { - "x-amzn-RequestId": { - "description": "Unique request reference identifier.", - "type": "string" - } - } - }, - "403": { - "description": "Indicates that access to the resource is forbidden. Possible reasons include Access Denied, Unauthorized, Expired Token, or Invalid Signature.", - "schema": { - "$ref": "#/definitions/ErrorList" - }, - "headers": { - "x-amzn-RequestId": { - "description": "Unique request reference identifier.", - "type": "string" - } - } - }, - "404": { - "description": "The resource specified does not exist.", - "schema": { - "$ref": "#/definitions/ErrorList" - }, - "headers": { - "x-amzn-RequestId": { - "description": "Unique request reference identifier.", - "type": "string" - }, - "x-amzn-RateLimit-Limit": { - "description": "Your rate limit (requests per second) for this operation.", - "type": "string" - } - } - }, - "413": { - "description": "The request size exceeded the maximum accepted size.", - "schema": { - "$ref": "#/definitions/ErrorList" - }, - "headers": { - "x-amzn-RequestId": { - "description": "Unique request reference identifier.", - "type": "string" - } - } - }, - "415": { - "description": "The request payload is in an unsupported format.", - "schema": { - "$ref": "#/definitions/ErrorList" - }, - "headers": { - "x-amzn-RequestId": { - "description": "Unique request reference identifier.", - "type": "string" - } - } - }, - "429": { - "description": "The frequency of requests was greater than allowed.", - "schema": { - "$ref": "#/definitions/ErrorList" - }, - "headers": { - "x-amzn-RequestId": { - "description": "Unique request reference identifier.", - "type": "string" - } - } - }, - "503": { - "description": "Temporary overloading or maintenance of the server.", - "schema": { - "$ref": "#/definitions/ErrorList" - }, - "headers": { - "x-amzn-RequestId": { - "description": "Unique request reference identifier.", - "type": "string" - } - } - } - }, - "tags": [ - "fbaInbound" - ], - "description": "Retrieves a list of all items in a packing options's packing group. Packing options must first be generated by the corresponding endpoint before packing group items can be listed.\n\n**Usage Plan:**\n\n| Rate (requests per second) | Burst |\n| ---- | ---- |\n| 1 | 1 |\n\nThe `x-amzn-RateLimit-Limit` response header returns the usage plan rate limits that were applied to the requested operation, when available. The table above indicates the default rate and burst values for this operation. Selling partners whose business demands require higher throughput may see higher rate and burst values than those shown here. For more information, refer to [Usage Plans and Rate Limits in the Selling Partner API](https://developer-docs.amazon.com/sp-api/docs/usage-plans-and-rate-limits-in-the-sp-api).", - "operationId": "listPackingGroupItems" - } - }, - "/inbound/fba/2024-03-20/inboundPlans/{inboundPlanId}/pallets": { - "get": { - "produces": [ - "application/json" - ], - "parameters": [ - { - "description": "Identifier to an inbound plan.", - "in": "path", - "maxLength": 38, - "minLength": 38, - "name": "inboundPlanId", - "pattern": "^[a-zA-Z0-9-]*$", - "required": true, - "type": "string" - }, - { - "description": "The number of pallets to return in the response matching the given query.", - "in": "query", - "maximum": 1000, - "minimum": 1, - "name": "pageSize", - "type": "integer", - "default": 10 - }, - { - "description": "A token to fetch a certain page when there are multiple pages worth of results. The value of this token is fetched from the `pagination` returned in the API response. In the absence of the token value from the query parameter the API returns the first page of the result.", - "in": "query", - "maxLength": 1024, - "minLength": 0, - "name": "paginationToken", - "type": "string" - } - ], - "responses": { - "200": { - "description": "ListInboundPlanPallets 200 response", - "schema": { - "$ref": "#/definitions/ListInboundPlanPalletsResponse" - }, - "x-amzn-api-sandbox": { - "static": [ - { - "request": { - "parameters": { - "inboundPlanId": { - "value": "wf1234abcd-1234-abcd-5678-1234abcd5678" - }, - "pageSize": { - "value": 2 - }, - "paginationToken": { - "value": "paginationToken" - } - } - }, - "response": { - "pallets": [ - { - "stackability": "STACKABLE", - "packageId": "pk1234abcd-1234-abcd-5678-1234abcd5678", - "weight": { - "unit": "KG", - "value": 5.5 - }, - "dimensions": { - "unitOfMeasurement": "CM", - "length": 3.0, - "width": 4.0, - "height": 5.0 - }, - "quantity": 2 - } - ], - "pagination": { - "nextToken": "nextPaginationToken" - } - } - } - ] - }, - "headers": { - "x-amzn-RequestId": { - "description": "Unique request reference identifier.", - "type": "string" - }, - "x-amzn-RateLimit-Limit": { - "description": "Your rate limit (requests per second) for this operation.", - "type": "string" - } - } - }, - "400": { - "description": "Request has missing or invalid parameters and cannot be parsed.", - "schema": { - "$ref": "#/definitions/ErrorList" - }, - "x-amzn-api-sandbox": { - "static": [ - { - "request": { - "parameters": { - "inboundPlanId": { - "value": "bad234abcd-1234-abcd-5678-1234abcd5678" - }, - "pageSize": { - "value": 2 - }, - "paginationToken": { - "value": "paginationToken" - } - } - }, - "response": { - "errors": [ - { - "code": "BadRequest", - "message": "The requested inbound plan does not exist." - } - ] - } - } - ] - }, - "headers": { - "x-amzn-RequestId": { - "description": "Unique request reference identifier.", - "type": "string" - }, - "x-amzn-RateLimit-Limit": { - "description": "Your rate limit (requests per second) for this operation.", - "type": "string" - } - } - }, - "500": { - "description": "An unexpected condition occurred that prevented the server from fulfilling the request.", - "schema": { - "$ref": "#/definitions/ErrorList" - }, - "headers": { - "x-amzn-RequestId": { - "description": "Unique request reference identifier.", - "type": "string" - } - } - }, - "403": { - "description": "Indicates that access to the resource is forbidden. Possible reasons include Access Denied, Unauthorized, Expired Token, or Invalid Signature.", - "schema": { - "$ref": "#/definitions/ErrorList" - }, - "headers": { - "x-amzn-RequestId": { - "description": "Unique request reference identifier.", - "type": "string" - } - } - }, - "404": { - "description": "The resource specified does not exist.", - "schema": { - "$ref": "#/definitions/ErrorList" - }, - "headers": { - "x-amzn-RequestId": { - "description": "Unique request reference identifier.", - "type": "string" - }, - "x-amzn-RateLimit-Limit": { - "description": "Your rate limit (requests per second) for this operation.", - "type": "string" - } - } - }, - "413": { - "description": "The request size exceeded the maximum accepted size.", - "schema": { - "$ref": "#/definitions/ErrorList" - }, - "headers": { - "x-amzn-RequestId": { - "description": "Unique request reference identifier.", - "type": "string" - } - } - }, - "415": { - "description": "The request payload is in an unsupported format.", - "schema": { - "$ref": "#/definitions/ErrorList" - }, - "headers": { - "x-amzn-RequestId": { - "description": "Unique request reference identifier.", - "type": "string" - } - } - }, - "429": { - "description": "The frequency of requests was greater than allowed.", - "schema": { - "$ref": "#/definitions/ErrorList" - }, - "headers": { - "x-amzn-RequestId": { - "description": "Unique request reference identifier.", - "type": "string" - } - } - }, - "503": { - "description": "Temporary overloading or maintenance of the server.", - "schema": { - "$ref": "#/definitions/ErrorList" - }, - "headers": { - "x-amzn-RequestId": { - "description": "Unique request reference identifier.", - "type": "string" - } - } - } - }, - "tags": [ - "fbaInbound" - ], - "description": "Provides a paginated list of pallet packages in an inbound plan. An inbound plan will have pallets when the related details are provided after generating Less-Than-Truckload (LTL) carrier shipments.\n\n**Usage Plan:**\n\n| Rate (requests per second) | Burst |\n| ---- | ---- |\n| 1 | 1 |\n\nThe `x-amzn-RateLimit-Limit` response header returns the usage plan rate limits that were applied to the requested operation, when available. The table above indicates the default rate and burst values for this operation. Selling partners whose business demands require higher throughput may see higher rate and burst values than those shown here. For more information, refer to [Usage Plans and Rate Limits in the Selling Partner API](https://developer-docs.amazon.com/sp-api/docs/usage-plans-and-rate-limits-in-the-sp-api).", - "operationId": "listInboundPlanPallets" - } - }, - "/inbound/fba/2024-03-20/inboundPlans/{inboundPlanId}/placementOptions": { - "get": { - "produces": [ - "application/json" - ], - "parameters": [ - { - "description": "Identifier to an inbound plan.", - "in": "path", - "maxLength": 38, - "minLength": 38, - "name": "inboundPlanId", - "pattern": "^[a-zA-Z0-9-]*$", - "required": true, - "type": "string" - }, - { - "description": "The number of placement options to return in the response matching the given query.", - "in": "query", - "maximum": 20, - "minimum": 1, - "name": "pageSize", - "type": "integer", - "default": 10 - }, - { - "description": "A token to fetch a certain page when there are multiple pages worth of results. The value of this token is fetched from the `pagination` returned in the API response. In the absence of the token value from the query parameter the API returns the first page of the result.", - "in": "query", - "maxLength": 1024, - "minLength": 0, - "name": "paginationToken", - "type": "string" - } - ], - "responses": { - "200": { - "description": "ListPlacementOptions 200 response", - "schema": { - "$ref": "#/definitions/ListPlacementOptionsResponse" - }, - "x-amzn-api-sandbox": { - "static": [ - { - "request": { - "parameters": { - "inboundPlanId": { - "value": "wf1234abcd-1234-abcd-5678-1234abcd5678" - }, - "pageSize": { - "value": 2 - }, - "paginationToken": { - "value": "paginationToken" - } - } - }, - "response": { - "placementOptions": [ - { - "placementOptionId": "pl1234abcd-1234-abcd-5678-1234abcd5678", - "status": "OFFERED", - "fees": [ - { - "value": { - "code": "USD", - "amount": 1.0 - }, - "type": "FEE", - "target": "Placement Services", - "description": "description" - } - ], - "discounts": [ - { - "value": { - "code": "USD", - "amount": 1.0 - }, - "type": "DISCOUNT", - "target": "Placement Services", - "description": "description" - } - ], - "expiration": "2024-01-01T00:00:00.000Z", - "shipmentIds": [ - "sh1234abcd-1234-abcd-5678-1234abcd5678" - ] - } - ], - "pagination": { - "nextToken": "nextPaginationToken" - } - } - } - ] - }, - "headers": { - "x-amzn-RequestId": { - "description": "Unique request reference identifier.", - "type": "string" - }, - "x-amzn-RateLimit-Limit": { - "description": "Your rate limit (requests per second) for this operation.", - "type": "string" - } - } - }, - "400": { - "description": "Request has missing or invalid parameters and cannot be parsed.", - "schema": { - "$ref": "#/definitions/ErrorList" - }, - "x-amzn-api-sandbox": { - "static": [ - { - "request": { - "parameters": { - "inboundPlanId": { - "value": "bad234abcd-1234-abcd-5678-1234abcd5678" - }, - "pageSize": { - "value": 2 - }, - "paginationToken": { - "value": "paginationToken" - } - } - }, - "response": { - "errors": [ - { - "code": "BadRequest", - "message": "The requested inbound plan does not exist." - } - ] - } - } - ] - }, - "headers": { - "x-amzn-RequestId": { - "description": "Unique request reference identifier.", - "type": "string" - }, - "x-amzn-RateLimit-Limit": { - "description": "Your rate limit (requests per second) for this operation.", - "type": "string" - } - } - }, - "500": { - "description": "An unexpected condition occurred that prevented the server from fulfilling the request.", - "schema": { - "$ref": "#/definitions/ErrorList" - }, - "headers": { - "x-amzn-RequestId": { - "description": "Unique request reference identifier.", - "type": "string" - } - } - }, - "403": { - "description": "Indicates that access to the resource is forbidden. Possible reasons include Access Denied, Unauthorized, Expired Token, or Invalid Signature.", - "schema": { - "$ref": "#/definitions/ErrorList" - }, - "headers": { - "x-amzn-RequestId": { - "description": "Unique request reference identifier.", - "type": "string" - } - } - }, - "404": { - "description": "The resource specified does not exist.", - "schema": { - "$ref": "#/definitions/ErrorList" - }, - "headers": { - "x-amzn-RequestId": { - "description": "Unique request reference identifier.", - "type": "string" - }, - "x-amzn-RateLimit-Limit": { - "description": "Your rate limit (requests per second) for this operation.", - "type": "string" - } - } - }, - "413": { - "description": "The request size exceeded the maximum accepted size.", - "schema": { - "$ref": "#/definitions/ErrorList" - }, - "headers": { - "x-amzn-RequestId": { - "description": "Unique request reference identifier.", - "type": "string" - } - } - }, - "415": { - "description": "The request payload is in an unsupported format.", - "schema": { - "$ref": "#/definitions/ErrorList" - }, - "headers": { - "x-amzn-RequestId": { - "description": "Unique request reference identifier.", - "type": "string" - } - } - }, - "429": { - "description": "The frequency of requests was greater than allowed.", - "schema": { - "$ref": "#/definitions/ErrorList" - }, - "headers": { - "x-amzn-RequestId": { - "description": "Unique request reference identifier.", - "type": "string" - } - } - }, - "503": { - "description": "Temporary overloading or maintenance of the server.", - "schema": { - "$ref": "#/definitions/ErrorList" - }, - "headers": { - "x-amzn-RequestId": { - "description": "Unique request reference identifier.", - "type": "string" - } - } - } - }, - "tags": [ - "fbaInbound" - ], - "description": "Provides a list of all placement options for an inbound plan. Placement options must first be generated by the corresponding endpoint before becoming available.\n\n**Usage Plan:**\n\n| Rate (requests per second) | Burst |\n| ---- | ---- |\n| 1 | 1 |\n\nThe `x-amzn-RateLimit-Limit` response header returns the usage plan rate limits that were applied to the requested operation, when available. The table above indicates the default rate and burst values for this operation. Selling partners whose business demands require higher throughput may see higher rate and burst values than those shown here. For more information, refer to [Usage Plans and Rate Limits in the Selling Partner API](https://developer-docs.amazon.com/sp-api/docs/usage-plans-and-rate-limits-in-the-sp-api).", - "operationId": "listPlacementOptions" - }, - "post": { - "consumes": [ - "application/json" - ], - "produces": [ - "application/json" - ], - "parameters": [ - { - "description": "Identifier to an inbound plan.", - "in": "path", - "maxLength": 38, - "minLength": 38, - "name": "inboundPlanId", - "pattern": "^[a-zA-Z0-9-]*$", - "required": true, - "type": "string" - }, - { - "in": "body", - "name": "body", - "required": true, - "schema": { - "$ref": "#/definitions/GeneratePlacementOptionsRequest" - }, - "description": "The body of the request to `generatePlacementOptions`." - } - ], - "responses": { - "202": { - "description": "GeneratePlacementOptions 202 response", - "schema": { - "$ref": "#/definitions/GeneratePlacementOptionsResponse" - }, - "x-amzn-api-sandbox": { - "static": [ - { - "request": { - "parameters": { - "inboundPlanId": { - "value": "wf1234abcd-1234-abcd-5678-1234abcd5678" - }, - "body": { - "value": { - "customPlacement": [ - { - "warehouseId": "warehouseId", - "items": [ - { - "msku": "msku", - "prepOwner": "AMAZON", - "labelOwner": "AMAZON", - "quantity": 2, - "expiration": "2024-01-01", - "manufacturingLotCode": "lotCode" - } - ] - } - ] - } - } - } - }, - "response": { - "operationId": "1234abcd-1234-abcd-5678-1234abcd5678" - } - } - ] - }, - "headers": { - "x-amzn-RequestId": { - "description": "Unique request reference identifier.", - "type": "string" - }, - "x-amzn-RateLimit-Limit": { - "description": "Your rate limit (requests per second) for this operation.", - "type": "string" - } - } - }, - "400": { - "description": "Request has missing or invalid parameters and cannot be parsed.", - "schema": { - "$ref": "#/definitions/ErrorList" - }, - "x-amzn-api-sandbox": { - "static": [ - { - "request": { - "parameters": { - "inboundPlanId": { - "value": "wf1234abcd-1234-abcd-5678-1234abcd5678" - }, - "body": { - "value": { - "customPlacement": [ - { - "warehouseId": "badWarehouseId", - "items": [ - { - "msku": "msku", - "prepOwner": "AMAZON", - "labelOwner": "AMAZON", - "quantity": 2, - "expiration": "2024-01-01", - "manufacturingLotCode": "lotCode" - } - ] - } - ] - } - } - } - }, - "response": { - "errors": [ - { - "code": "BadRequest", - "message": "The inbound plan is not in a valid state to generate placement options." - } - ] - } - } - ] - }, - "headers": { - "x-amzn-RequestId": { - "description": "Unique request reference identifier.", - "type": "string" - }, - "x-amzn-RateLimit-Limit": { - "description": "Your rate limit (requests per second) for this operation.", - "type": "string" - } - } - }, - "500": { - "description": "An unexpected condition occurred that prevented the server from fulfilling the request.", - "schema": { - "$ref": "#/definitions/ErrorList" - }, - "headers": { - "x-amzn-RequestId": { - "description": "Unique request reference identifier.", - "type": "string" - } - } - }, - "403": { - "description": "Indicates that access to the resource is forbidden. Possible reasons include Access Denied, Unauthorized, Expired Token, or Invalid Signature.", - "schema": { - "$ref": "#/definitions/ErrorList" - }, - "headers": { - "x-amzn-RequestId": { - "description": "Unique request reference identifier.", - "type": "string" - } - } - }, - "404": { - "description": "The resource specified does not exist.", - "schema": { - "$ref": "#/definitions/ErrorList" - }, - "headers": { - "x-amzn-RequestId": { - "description": "Unique request reference identifier.", - "type": "string" - }, - "x-amzn-RateLimit-Limit": { - "description": "Your rate limit (requests per second) for this operation.", - "type": "string" - } - } - }, - "413": { - "description": "The request size exceeded the maximum accepted size.", - "schema": { - "$ref": "#/definitions/ErrorList" - }, - "headers": { - "x-amzn-RequestId": { - "description": "Unique request reference identifier.", - "type": "string" - } - } - }, - "415": { - "description": "The request payload is in an unsupported format.", - "schema": { - "$ref": "#/definitions/ErrorList" - }, - "headers": { - "x-amzn-RequestId": { - "description": "Unique request reference identifier.", - "type": "string" - } - } - }, - "429": { - "description": "The frequency of requests was greater than allowed.", - "schema": { - "$ref": "#/definitions/ErrorList" - }, - "headers": { - "x-amzn-RequestId": { - "description": "Unique request reference identifier.", - "type": "string" - } - } - }, - "503": { - "description": "Temporary overloading or maintenance of the server.", - "schema": { - "$ref": "#/definitions/ErrorList" - }, - "headers": { - "x-amzn-RequestId": { - "description": "Unique request reference identifier.", - "type": "string" - } - } - } - }, - "tags": [ - "fbaInbound" - ], - "description": "Generates placement options for the inbound plan.\n\n**Usage Plan:**\n\n| Rate (requests per second) | Burst |\n| ---- | ---- |\n| 0.05 | 1 |\n\nThe `x-amzn-RateLimit-Limit` response header returns the usage plan rate limits that were applied to the requested operation, when available. The table above indicates the default rate and burst values for this operation. Selling partners whose business demands require higher throughput may see higher rate and burst values than those shown here. For more information, refer to [Usage Plans and Rate Limits in the Selling Partner API](https://developer-docs.amazon.com/sp-api/docs/usage-plans-and-rate-limits-in-the-sp-api).", - "operationId": "generatePlacementOptions" - } - }, - "/inbound/fba/2024-03-20/inboundPlans/{inboundPlanId}/placementOptions/{placementOptionId}/confirmation": { - "post": { - "produces": [ - "application/json" - ], - "parameters": [ - { - "description": "Identifier to an inbound plan.", - "in": "path", - "maxLength": 38, - "minLength": 38, - "name": "inboundPlanId", - "pattern": "^[a-zA-Z0-9-]*$", - "required": true, - "type": "string" - }, - { - "description": "Identifier to a placement option. A placement option represents the shipment splits and destinations of SKUs.", - "in": "path", - "maxLength": 38, - "minLength": 38, - "name": "placementOptionId", - "pattern": "^[a-zA-Z0-9-]*$", - "required": true, - "type": "string" - } - ], - "responses": { - "202": { - "description": "ConfirmPlacementOption 202 response", - "schema": { - "$ref": "#/definitions/ConfirmPlacementOptionResponse" - }, - "x-amzn-api-sandbox": { - "static": [ - { - "request": { - "parameters": { - "inboundPlanId": { - "value": "wf1234abcd-1234-abcd-5678-1234abcd5678" - }, - "placementOptionId": { - "value": "pl1234abcd-1234-abcd-5678-1234abcd5678" - } - } - }, - "response": { - "operationId": "1234abcd-1234-abcd-5678-1234abcd5678" - } - } - ] - }, - "headers": { - "x-amzn-RequestId": { - "description": "Unique request reference identifier.", - "type": "string" - }, - "x-amzn-RateLimit-Limit": { - "description": "Your rate limit (requests per second) for this operation.", - "type": "string" - } - } - }, - "400": { - "description": "Request has missing or invalid parameters and cannot be parsed.", - "schema": { - "$ref": "#/definitions/ErrorList" - }, - "x-amzn-api-sandbox": { - "static": [ - { - "request": { - "parameters": { - "inboundPlanId": { - "value": "wf1234abcd-1234-abcd-5678-1234abcd5678" - }, - "placementOptionId": { - "value": "bad234abcd-1234-abcd-5678-1234abcd5678" - } - } - }, - "response": { - "errors": [ - { - "code": "BadRequest", - "message": "The requested placementOptionId does not exist for the given inbound plan." - } - ] - } - } - ] - }, - "headers": { - "x-amzn-RequestId": { - "description": "Unique request reference identifier.", - "type": "string" - }, - "x-amzn-RateLimit-Limit": { - "description": "Your rate limit (requests per second) for this operation.", - "type": "string" - } - } - }, - "500": { - "description": "An unexpected condition occurred that prevented the server from fulfilling the request.", - "schema": { - "$ref": "#/definitions/ErrorList" - }, - "headers": { - "x-amzn-RequestId": { - "description": "Unique request reference identifier.", - "type": "string" - } - } - }, - "403": { - "description": "Indicates that access to the resource is forbidden. Possible reasons include Access Denied, Unauthorized, Expired Token, or Invalid Signature.", - "schema": { - "$ref": "#/definitions/ErrorList" - }, - "headers": { - "x-amzn-RequestId": { - "description": "Unique request reference identifier.", - "type": "string" - } - } - }, - "404": { - "description": "The resource specified does not exist.", - "schema": { - "$ref": "#/definitions/ErrorList" - }, - "headers": { - "x-amzn-RequestId": { - "description": "Unique request reference identifier.", - "type": "string" - }, - "x-amzn-RateLimit-Limit": { - "description": "Your rate limit (requests per second) for this operation.", - "type": "string" - } - } - }, - "413": { - "description": "The request size exceeded the maximum accepted size.", - "schema": { - "$ref": "#/definitions/ErrorList" - }, - "headers": { - "x-amzn-RequestId": { - "description": "Unique request reference identifier.", - "type": "string" - } - } - }, - "415": { - "description": "The request payload is in an unsupported format.", - "schema": { - "$ref": "#/definitions/ErrorList" - }, - "headers": { - "x-amzn-RequestId": { - "description": "Unique request reference identifier.", - "type": "string" - } - } - }, - "429": { - "description": "The frequency of requests was greater than allowed.", - "schema": { - "$ref": "#/definitions/ErrorList" - }, - "headers": { - "x-amzn-RequestId": { - "description": "Unique request reference identifier.", - "type": "string" - } - } - }, - "503": { - "description": "Temporary overloading or maintenance of the server.", - "schema": { - "$ref": "#/definitions/ErrorList" - }, - "headers": { - "x-amzn-RequestId": { - "description": "Unique request reference identifier.", - "type": "string" - } - } - } - }, - "tags": [ - "fbaInbound" - ], - "description": "Confirms the placement option for an inbound plan. Once confirmed, it cannot be changed for the Inbound Plan.\n\n**Usage Plan:**\n\n| Rate (requests per second) | Burst |\n| ---- | ---- |\n| 0.05 | 1 |\n\nThe `x-amzn-RateLimit-Limit` response header returns the usage plan rate limits that were applied to the requested operation, when available. The table above indicates the default rate and burst values for this operation. Selling partners whose business demands require higher throughput may see higher rate and burst values than those shown here. For more information, refer to [Usage Plans and Rate Limits in the Selling Partner API](https://developer-docs.amazon.com/sp-api/docs/usage-plans-and-rate-limits-in-the-sp-api).", - "operationId": "confirmPlacementOption" - } - }, - "/inbound/fba/2024-03-20/inboundPlans/{inboundPlanId}/shipments/{shipmentId}": { - "get": { - "produces": [ - "application/json" - ], - "parameters": [ - { - "description": "Identifier to an inbound plan.", - "in": "path", - "maxLength": 38, - "minLength": 38, - "name": "inboundPlanId", - "pattern": "^[a-zA-Z0-9-]*$", - "required": true, - "type": "string" - }, - { - "description": "Identifier to a shipment. A shipment contains the boxes and units being inbounded.", - "in": "path", - "maxLength": 38, - "minLength": 38, - "name": "shipmentId", - "pattern": "^[a-zA-Z0-9-]*$", - "required": true, - "type": "string" - } - ], - "responses": { - "200": { - "description": "GetShipment 200 response", - "schema": { - "$ref": "#/definitions/Shipment" - }, - "x-amzn-api-sandbox": { - "static": [ - { - "request": { - "parameters": { - "inboundPlanId": { - "value": "wf1234abcd-1234-abcd-5678-1234abcd5678" - }, - "shipmentId": { - "value": "sh1234abcd-1234-abcd-5678-1234abcd5678" - } - } - }, - "response": { - "inboundPlanId": "wf1234abcd-1234-abcd-5678-1234abcd5678", - "placementOptionId": "pl1234abcd-1234-abcd-5678-1234abcd5678", - "shipmentId": "sh1234abcd-1234-abcd-5678-1234abcd5678", - "shipmentConfirmationId": "FBA1234ABCD", - "amazonReferenceId": "amazonReferenceId", - "selectedTransportationOptionId": "to1234abcd-1234-abcd-5678-1234abcd5678", - "name": "FBA (10/02/2023 20:07)-ABC1", - "source": { - "sourceType": "SELLER_FACILITY", - "address": { - "name": "name", - "addressLine1": "123 example street", - "city": "Toronto", - "countryCode": "CA", - "stateOrProvinceCode": "ON", - "postalCode": "M1M1M1" - } - }, - "destination": { - "destinationType": "AMAZON_WAREHOUSE", - "address": { - "name": "name", - "addressLine1": "124 example street", - "city": "Toronto", - "countryCode": "CA", - "stateOrProvinceCode": "ON", - "postalCode": "M1M1M1" - }, - "warehouseId": "YYZ5" - }, - "dates": { - "deliveryWindow": { - "start": "2024-01-01T00:00Z", - "end": "2024-01-08T00:00Z", - "editableUntil": "2024-01-07T00:00Z" - } - }, - "status": "WORKING", - "trackingDetails": { - "spdTrackingDetail": { - "spdTrackingItems": [ - { - "boxId": "boxId", - "trackingId": "trackingId", - "trackingNumberValidationStatus": "VALIDATED" - } - ] - }, - "ltlTrackingDetail": { - "freightBillNumber": [ - "freightBillNumber1" - ], - "billOfLadingNumber": "billOfLadingNumber" - } - }, - "palletInformation": { - "pallets": [ - { - "stackability": "STACKABLE", - "weight": { - "unit": "KG", - "value": 5.5 - }, - "dimensions": { - "unitOfMeasurement": "CM", - "length": 3.0, - "width": 4.0, - "height": 5.0 - }, - "quantity": 2 - } - ], - "freightClass": "FC_50", - "declaredValue": { - "code": "USD", - "amount": 500.0 - } - }, - "contactInformation": { - "name": "name", - "phoneNumber": "1234567890", - "email": "email@email.com" - }, - "selfShipAppointmentDetails": [ - { - "appointmentId": 1, - "appointmentSlotTime": { - "startTime": "2024-01-01T00:00:00.000Z", - "endTime": "2024-01-01T00:00:00.000Z" - }, - "appointmentStatus": "appointmentStatus" - } - ] - } - } - ] - }, - "headers": { - "x-amzn-RequestId": { - "description": "Unique request reference identifier.", - "type": "string" - }, - "x-amzn-RateLimit-Limit": { - "description": "Your rate limit (requests per second) for this operation.", - "type": "string" - } - } - }, - "400": { - "description": "Request has missing or invalid parameters and cannot be parsed.", - "schema": { - "$ref": "#/definitions/ErrorList" - }, - "x-amzn-api-sandbox": { - "static": [ - { - "request": { - "parameters": { - "inboundPlanId": { - "value": "wf1234abcd-1234-abcd-5678-1234abcd5678" - }, - "shipmentId": { - "value": "bad234abcd-1234-abcd-5678-1234abcd5678" - } - } - }, - "response": { - "errors": [ - { - "code": "BadRequest", - "message": "The requested shipment does not exist for the provided inbound plan." - } - ] - } - } - ] - }, - "headers": { - "x-amzn-RequestId": { - "description": "Unique request reference identifier.", - "type": "string" - }, - "x-amzn-RateLimit-Limit": { - "description": "Your rate limit (requests per second) for this operation.", - "type": "string" - } - } - }, - "500": { - "description": "An unexpected condition occurred that prevented the server from fulfilling the request.", - "schema": { - "$ref": "#/definitions/ErrorList" - }, - "headers": { - "x-amzn-RequestId": { - "description": "Unique request reference identifier.", - "type": "string" - } - } - }, - "403": { - "description": "Indicates that access to the resource is forbidden. Possible reasons include Access Denied, Unauthorized, Expired Token, or Invalid Signature.", - "schema": { - "$ref": "#/definitions/ErrorList" - }, - "headers": { - "x-amzn-RequestId": { - "description": "Unique request reference identifier.", - "type": "string" - } - } - }, - "404": { - "description": "The resource specified does not exist.", - "schema": { - "$ref": "#/definitions/ErrorList" - }, - "headers": { - "x-amzn-RequestId": { - "description": "Unique request reference identifier.", - "type": "string" - }, - "x-amzn-RateLimit-Limit": { - "description": "Your rate limit (requests per second) for this operation.", - "type": "string" - } - } - }, - "413": { - "description": "The request size exceeded the maximum accepted size.", - "schema": { - "$ref": "#/definitions/ErrorList" - }, - "headers": { - "x-amzn-RequestId": { - "description": "Unique request reference identifier.", - "type": "string" - } - } - }, - "415": { - "description": "The request payload is in an unsupported format.", - "schema": { - "$ref": "#/definitions/ErrorList" - }, - "headers": { - "x-amzn-RequestId": { - "description": "Unique request reference identifier.", - "type": "string" - } - } - }, - "429": { - "description": "The frequency of requests was greater than allowed.", - "schema": { - "$ref": "#/definitions/ErrorList" - }, - "headers": { - "x-amzn-RequestId": { - "description": "Unique request reference identifier.", - "type": "string" - } - } - }, - "503": { - "description": "Temporary overloading or maintenance of the server.", - "schema": { - "$ref": "#/definitions/ErrorList" - }, - "headers": { - "x-amzn-RequestId": { - "description": "Unique request reference identifier.", - "type": "string" - } - } - } - }, - "tags": [ - "fbaInbound" - ], - "description": "Provides the full details for a specific shipment within an inbound plan. The `transportationOptionId` inside `acceptedTransportationSelection` can be used to retrieve the transportation details for the shipment.\n\n**Usage Plan:**\n\n| Rate (requests per second) | Burst |\n| ---- | ---- |\n| 1 | 1 |\n\nThe `x-amzn-RateLimit-Limit` response header returns the usage plan rate limits that were applied to the requested operation, when available. The table above indicates the default rate and burst values for this operation. Selling partners whose business demands require higher throughput may see higher rate and burst values than those shown here. For more information, refer to [Usage Plans and Rate Limits in the Selling Partner API](https://developer-docs.amazon.com/sp-api/docs/usage-plans-and-rate-limits-in-the-sp-api).", - "operationId": "getShipment" - } - }, - "/inbound/fba/2024-03-20/inboundPlans/{inboundPlanId}/shipments/{shipmentId}/deliveryChallanDocument": { - "get": { - "produces": [ - "application/json" - ], - "parameters": [ - { - "description": "Identifier to an inbound plan.", - "in": "path", - "maxLength": 38, - "minLength": 38, - "name": "inboundPlanId", - "pattern": "^[a-zA-Z0-9-]*$", - "required": true, - "type": "string" - }, - { - "description": "Identifier to a shipment. A shipment contains the boxes and units being inbounded.", - "in": "path", - "maxLength": 38, - "minLength": 38, - "name": "shipmentId", - "pattern": "^[a-zA-Z0-9-]*$", - "required": true, - "type": "string" - } - ], - "responses": { - "200": { - "description": "GetDeliveryChallanDocument 200 response", - "schema": { - "$ref": "#/definitions/GetDeliveryChallanDocumentResponse" - }, - "x-amzn-api-sandbox": { - "static": [ - { - "request": { - "parameters": { - "inboundPlanId": { - "value": "wf1234abcd-1234-abcd-5678-1234abcd5678" - }, - "shipmentId": { - "value": "sh1234abcd-1234-abcd-5678-1234abcd5678" - } - } - }, - "response": { - "documentDownload": { - "uri": "https://s3.amazonaws.com/bucket", - "downloadType": "URL", - "expiration": "2024-01-01T00:00:00.000Z" - } - } - } - ] - }, - "headers": { - "x-amzn-RequestId": { - "description": "Unique request reference identifier.", - "type": "string" - }, - "x-amzn-RateLimit-Limit": { - "description": "Your rate limit (requests per second) for this operation.", - "type": "string" - } - } - }, - "400": { - "description": "Request has missing or invalid parameters and cannot be parsed.", - "schema": { - "$ref": "#/definitions/ErrorList" - }, - "x-amzn-api-sandbox": { - "static": [ - { - "request": { - "parameters": { - "inboundPlanId": { - "value": "wf1234abcd-1234-abcd-5678-1234abcd5678" - }, - "shipmentId": { - "value": "bad234abcd-1234-abcd-5678-1234abcd5678" - } - } - }, - "response": { - "errors": [ - { - "code": "BadRequest", - "message": "The requested shipmentId does not exist for the specified inbound plan." - } - ] - } - } - ] - }, - "headers": { - "x-amzn-RequestId": { - "description": "Unique request reference identifier.", - "type": "string" - }, - "x-amzn-RateLimit-Limit": { - "description": "Your rate limit (requests per second) for this operation.", - "type": "string" - } - } - }, - "500": { - "description": "An unexpected condition occurred that prevented the server from fulfilling the request.", - "schema": { - "$ref": "#/definitions/ErrorList" - }, - "headers": { - "x-amzn-RequestId": { - "description": "Unique request reference identifier.", - "type": "string" - } - } - }, - "403": { - "description": "Indicates that access to the resource is forbidden. Possible reasons include Access Denied, Unauthorized, Expired Token, or Invalid Signature.", - "schema": { - "$ref": "#/definitions/ErrorList" - }, - "headers": { - "x-amzn-RequestId": { - "description": "Unique request reference identifier.", - "type": "string" - } - } - }, - "404": { - "description": "The resource specified does not exist.", - "schema": { - "$ref": "#/definitions/ErrorList" - }, - "headers": { - "x-amzn-RequestId": { - "description": "Unique request reference identifier.", - "type": "string" - }, - "x-amzn-RateLimit-Limit": { - "description": "Your rate limit (requests per second) for this operation.", - "type": "string" - } - } - }, - "413": { - "description": "The request size exceeded the maximum accepted size.", - "schema": { - "$ref": "#/definitions/ErrorList" - }, - "headers": { - "x-amzn-RequestId": { - "description": "Unique request reference identifier.", - "type": "string" - } - } - }, - "415": { - "description": "The request payload is in an unsupported format.", - "schema": { - "$ref": "#/definitions/ErrorList" - }, - "headers": { - "x-amzn-RequestId": { - "description": "Unique request reference identifier.", - "type": "string" - } - } - }, - "429": { - "description": "The frequency of requests was greater than allowed.", - "schema": { - "$ref": "#/definitions/ErrorList" - }, - "headers": { - "x-amzn-RequestId": { - "description": "Unique request reference identifier.", - "type": "string" - } - } - }, - "503": { - "description": "Temporary overloading or maintenance of the server.", - "schema": { - "$ref": "#/definitions/ErrorList" - }, - "headers": { - "x-amzn-RequestId": { - "description": "Unique request reference identifier.", - "type": "string" - } - } - } - }, - "tags": [ - "fbaInbound" - ], - "description": "Provide delivery challan document for PCP transportation in IN marketplace.\n\n**Usage Plan:**\n\n| Rate (requests per second) | Burst |\n| ---- | ---- |\n| 1 | 1 |\n\nThe `x-amzn-RateLimit-Limit` response header returns the usage plan rate limits that were applied to the requested operation, when available. The table above indicates the default rate and burst values for this operation. Selling partners whose business demands require higher throughput may see higher rate and burst values than those shown here. For more information, refer to [Usage Plans and Rate Limits in the Selling Partner API](https://developer-docs.amazon.com/sp-api/docs/usage-plans-and-rate-limits-in-the-sp-api).", - "operationId": "getDeliveryChallanDocument" - } - }, - "/inbound/fba/2024-03-20/inboundPlans/{inboundPlanId}/shipments/{shipmentId}/deliveryWindow": { - "post": { - "consumes": [ - "application/json" - ], - "produces": [ - "application/json" - ], - "parameters": [ - { - "description": "Identifier to an inbound plan.", - "in": "path", - "maxLength": 38, - "minLength": 38, - "name": "inboundPlanId", - "pattern": "^[a-zA-Z0-9-]*$", - "required": true, - "type": "string" - }, - { - "description": "Identifier to a shipment. A shipment contains the boxes and units being inbounded.", - "in": "path", - "maxLength": 38, - "minLength": 38, - "name": "shipmentId", - "pattern": "^[a-zA-Z0-9-]*$", - "required": true, - "type": "string" - }, - { - "in": "body", - "name": "body", - "required": true, - "schema": { - "$ref": "#/definitions/UpdateShipmentDeliveryWindowRequest" - }, - "description": "The body of the request to `updateShipmentDeliveryWindow`." - } - ], - "responses": { - "202": { - "description": "UpdateShipmentDeliveryWindow 202 response", - "schema": { - "$ref": "#/definitions/UpdateShipmentDeliveryWindowResponse" - }, - "x-amzn-api-sandbox": { - "static": [ - { - "request": { - "parameters": { - "inboundPlanId": { - "value": "wf1234abcd-1234-abcd-5678-1234abcd5678" - }, - "shipmentId": { - "value": "sh1234abcd-1234-abcd-5678-1234abcd5678" - }, - "body": { - "value": { - "deliveryWindow": { - "start": "2024-01-01T00:00Z" - } - } - } - } - }, - "response": { - "operationId": "1234abcd-1234-abcd-5678-1234abcd5678" - } - } - ] - }, - "headers": { - "x-amzn-RequestId": { - "description": "Unique request reference identifier.", - "type": "string" - }, - "x-amzn-RateLimit-Limit": { - "description": "Your rate limit (requests per second) for this operation.", - "type": "string" - } - } - }, - "400": { - "description": "Request has missing or invalid parameters and cannot be parsed.", - "schema": { - "$ref": "#/definitions/ErrorList" - }, - "x-amzn-api-sandbox": { - "static": [ - { - "request": { - "parameters": { - "inboundPlanId": { - "value": "wf1234abcd-1234-abcd-5678-1234abcd5678" - }, - "shipmentId": { - "value": "bad234abcd-1234-abcd-5678-1234abcd5678" - }, - "body": { - "value": { - "deliveryWindow": { - "start": "2024-01-01T00:00Z" - } - } - } - } - }, - "response": { - "errors": [ - { - "code": "BadRequest", - "message": "The requested shipmentId does not exist for the specified inbound plan." - } - ] - } - } - ] - }, - "headers": { - "x-amzn-RequestId": { - "description": "Unique request reference identifier.", - "type": "string" - }, - "x-amzn-RateLimit-Limit": { - "description": "Your rate limit (requests per second) for this operation.", - "type": "string" - } - } - }, - "500": { - "description": "An unexpected condition occurred that prevented the server from fulfilling the request.", - "schema": { - "$ref": "#/definitions/ErrorList" - }, - "headers": { - "x-amzn-RequestId": { - "description": "Unique request reference identifier.", - "type": "string" - } - } - }, - "403": { - "description": "Indicates that access to the resource is forbidden. Possible reasons include Access Denied, Unauthorized, Expired Token, or Invalid Signature.", - "schema": { - "$ref": "#/definitions/ErrorList" - }, - "headers": { - "x-amzn-RequestId": { - "description": "Unique request reference identifier.", - "type": "string" - } - } - }, - "404": { - "description": "The resource specified does not exist.", - "schema": { - "$ref": "#/definitions/ErrorList" - }, - "headers": { - "x-amzn-RequestId": { - "description": "Unique request reference identifier.", - "type": "string" - }, - "x-amzn-RateLimit-Limit": { - "description": "Your rate limit (requests per second) for this operation.", - "type": "string" - } - } - }, - "413": { - "description": "The request size exceeded the maximum accepted size.", - "schema": { - "$ref": "#/definitions/ErrorList" - }, - "headers": { - "x-amzn-RequestId": { - "description": "Unique request reference identifier.", - "type": "string" - } - } - }, - "415": { - "description": "The request payload is in an unsupported format.", - "schema": { - "$ref": "#/definitions/ErrorList" - }, - "headers": { - "x-amzn-RequestId": { - "description": "Unique request reference identifier.", - "type": "string" - } - } - }, - "429": { - "description": "The frequency of requests was greater than allowed.", - "schema": { - "$ref": "#/definitions/ErrorList" - }, - "headers": { - "x-amzn-RequestId": { - "description": "Unique request reference identifier.", - "type": "string" - } - } - }, - "503": { - "description": "Temporary overloading or maintenance of the server.", - "schema": { - "$ref": "#/definitions/ErrorList" - }, - "headers": { - "x-amzn-RequestId": { - "description": "Unique request reference identifier.", - "type": "string" - } - } - } - }, - "tags": [ - "fbaInbound" - ], - "description": "Update the time window that a shipment will be delivered to the warehouse. The window is used to provide the expected time that a non-Amazon partnered carrier will arrive at the warehouse.\n\n**Usage Plan:**\n\n| Rate (requests per second) | Burst |\n| ---- | ---- |\n| 1 | 1 |\n\nThe `x-amzn-RateLimit-Limit` response header returns the usage plan rate limits that were applied to the requested operation, when available. The table above indicates the default rate and burst values for this operation. Selling partners whose business demands require higher throughput may see higher rate and burst values than those shown here. For more information, refer to [Usage Plans and Rate Limits in the Selling Partner API](https://developer-docs.amazon.com/sp-api/docs/usage-plans-and-rate-limits-in-the-sp-api).", - "operationId": "updateShipmentDeliveryWindow" - } - }, - "/inbound/fba/2024-03-20/inboundPlans/{inboundPlanId}/shipments/{shipmentId}/selfShipAppointmentSlots": { - "get": { - "produces": [ - "application/json" - ], - "parameters": [ - { - "description": "Identifier to an inbound plan.", - "in": "path", - "maxLength": 38, - "minLength": 38, - "name": "inboundPlanId", - "pattern": "^[a-zA-Z0-9-]*$", - "required": true, - "type": "string" - }, - { - "description": "Identifier to a shipment. A shipment contains the boxes and units being inbounded.", - "in": "path", - "maxLength": 38, - "minLength": 38, - "name": "shipmentId", - "pattern": "^[a-zA-Z0-9-]*$", - "required": true, - "type": "string" - }, - { - "description": "The number of self ship appointment slots to return in the response matching the given query.", - "in": "query", - "maximum": 100, - "minimum": 1, - "name": "pageSize", - "type": "integer", - "default": 10 - }, - { - "description": "A token to fetch a certain page when there are multiple pages worth of results. The value of this token is fetched from the `pagination` returned in the API response. In the absence of the token value from the query parameter the API returns the first page of the result.", - "in": "query", - "maxLength": 1024, - "minLength": 0, - "name": "paginationToken", - "type": "string" - } - ], - "responses": { - "200": { - "description": "GetSelfShipAppointmentSlots 200 response", - "schema": { - "$ref": "#/definitions/GetSelfShipAppointmentSlotsResponse" - }, - "x-amzn-api-sandbox": { - "static": [ - { - "request": { - "parameters": { - "inboundPlanId": { - "value": "wf1234abcd-1234-abcd-5678-1234abcd5678" - }, - "shipmentId": { - "value": "sh1234abcd-1234-abcd-5678-1234abcd5678" - }, - "pageSize": { - "value": 2 - }, - "paginationToken": { - "value": "paginationToken" - } - } - }, - "response": { - "selfShipAppointmentSlotsAvailability": { - "expiresAt": "2024-01-02T00:00:00.000Z", - "slots": [ - { - "slotId": "aa1234abcd-1234-abcd-5678-1234abcd5678", - "slotTime": { - "startTime": "2024-01-01T00:00:00.000Z", - "endTime": "2024-01-02T00:00:00.000Z" - } - } - ] - }, - "pagination": { - "nextToken": "nextPaginationToken" - } - } - } - ] - }, - "headers": { - "x-amzn-RequestId": { - "description": "Unique request reference identifier.", - "type": "string" - }, - "x-amzn-RateLimit-Limit": { - "description": "Your rate limit (requests per second) for this operation.", - "type": "string" - } - } - }, - "400": { - "description": "Request has missing or invalid parameters and cannot be parsed.", - "schema": { - "$ref": "#/definitions/ErrorList" - }, - "x-amzn-api-sandbox": { - "static": [ - { - "request": { - "parameters": { - "inboundPlanId": { - "value": "wf1234abcd-1234-abcd-5678-1234abcd5678" - }, - "shipmentId": { - "value": "bad234abcd-1234-abcd-5678-1234abcd5678" - } - } - }, - "response": { - "errors": [ - { - "code": "BadRequest", - "message": "The requested shipmentId does not exist for the given inbound plan." - } - ] - } - } - ] - }, - "headers": { - "x-amzn-RequestId": { - "description": "Unique request reference identifier.", - "type": "string" - }, - "x-amzn-RateLimit-Limit": { - "description": "Your rate limit (requests per second) for this operation.", - "type": "string" - } - } - }, - "500": { - "description": "An unexpected condition occurred that prevented the server from fulfilling the request.", - "schema": { - "$ref": "#/definitions/ErrorList" - }, - "headers": { - "x-amzn-RequestId": { - "description": "Unique request reference identifier.", - "type": "string" - } - } - }, - "403": { - "description": "Indicates that access to the resource is forbidden. Possible reasons include Access Denied, Unauthorized, Expired Token, or Invalid Signature.", - "schema": { - "$ref": "#/definitions/ErrorList" - }, - "headers": { - "x-amzn-RequestId": { - "description": "Unique request reference identifier.", - "type": "string" - } - } - }, - "404": { - "description": "The resource specified does not exist.", - "schema": { - "$ref": "#/definitions/ErrorList" - }, - "headers": { - "x-amzn-RequestId": { - "description": "Unique request reference identifier.", - "type": "string" - }, - "x-amzn-RateLimit-Limit": { - "description": "Your rate limit (requests per second) for this operation.", - "type": "string" - } - } - }, - "413": { - "description": "The request size exceeded the maximum accepted size.", - "schema": { - "$ref": "#/definitions/ErrorList" - }, - "headers": { - "x-amzn-RequestId": { - "description": "Unique request reference identifier.", - "type": "string" - } - } - }, - "415": { - "description": "The request payload is in an unsupported format.", - "schema": { - "$ref": "#/definitions/ErrorList" - }, - "headers": { - "x-amzn-RequestId": { - "description": "Unique request reference identifier.", - "type": "string" - } - } - }, - "429": { - "description": "The frequency of requests was greater than allowed.", - "schema": { - "$ref": "#/definitions/ErrorList" - }, - "headers": { - "x-amzn-RequestId": { - "description": "Unique request reference identifier.", - "type": "string" - } - } - }, - "503": { - "description": "Temporary overloading or maintenance of the server.", - "schema": { - "$ref": "#/definitions/ErrorList" - }, - "headers": { - "x-amzn-RequestId": { - "description": "Unique request reference identifier.", - "type": "string" - } - } - } - }, - "tags": [ - "fbaInbound" - ], - "description": "Retrieves a list of available self-ship appointment slots used to drop off a shipment at a warehouse.\n\n**Usage Plan:**\n\n| Rate (requests per second) | Burst |\n| ---- | ---- |\n| 1 | 1 |\n\nThe `x-amzn-RateLimit-Limit` response header returns the usage plan rate limits that were applied to the requested operation, when available. The table above indicates the default rate and burst values for this operation. Selling partners whose business demands require higher throughput may see higher rate and burst values than those shown here. For more information, refer to [Usage Plans and Rate Limits in the Selling Partner API](https://developer-docs.amazon.com/sp-api/docs/usage-plans-and-rate-limits-in-the-sp-api).", - "operationId": "getSelfShipAppointmentSlots" - }, - "post": { - "consumes": [ - "application/json" - ], - "produces": [ - "application/json" - ], - "parameters": [ - { - "description": "Identifier to an inbound plan.", - "in": "path", - "maxLength": 38, - "minLength": 38, - "name": "inboundPlanId", - "pattern": "^[a-zA-Z0-9-]*$", - "required": true, - "type": "string" - }, - { - "description": "Identifier to a shipment. A shipment contains the boxes and units being inbounded.", - "in": "path", - "maxLength": 38, - "minLength": 38, - "name": "shipmentId", - "pattern": "^[a-zA-Z0-9-]*$", - "required": true, - "type": "string" - }, - { - "in": "body", - "name": "body", - "required": true, - "schema": { - "$ref": "#/definitions/GenerateSelfShipAppointmentSlotsRequest" - }, - "description": "The body of the request `generateSelfShipAppointmentSlots`." - } - ], - "responses": { - "201": { - "description": "GenerateSelfShipAppointmentSlots 201 response", - "schema": { - "$ref": "#/definitions/GenerateSelfShipAppointmentSlotsResponse" - }, - "x-amzn-api-sandbox": { - "static": [ - { - "request": { - "parameters": { - "inboundPlanId": { - "value": "wf1234abcd-1234-abcd-5678-1234abcd5678" - }, - "shipmentId": { - "value": "sh1234abcd-1234-abcd-5678-1234abcd5678" - }, - "body": { - "value": { - "desiredEndDate": "2024-01-15T00:00:00.000Z", - "desiredStartDate": "2024-01-16T00:00:00.000Z" - } - } - } - }, - "response": { - "operationId": "1234abcd-1234-abcd-5678-1234abcd5678" - } - } - ] - }, - "headers": { - "x-amzn-RequestId": { - "description": "Unique request reference identifier.", - "type": "string" - }, - "x-amzn-RateLimit-Limit": { - "description": "Your rate limit (requests per second) for this operation.", - "type": "string" - } - } - }, - "400": { - "description": "Request has missing or invalid parameters and cannot be parsed.", - "schema": { - "$ref": "#/definitions/ErrorList" - }, - "x-amzn-api-sandbox": { - "static": [ - { - "request": { - "parameters": { - "inboundPlanId": { - "value": "wf1234abcd-1234-abcd-5678-1234abcd5678" - }, - "shipmentId": { - "value": "bad234abcd-1234-abcd-5678-1234abcd5678" - }, - "body": { - "value": { - "desiredEndDate": "2024-01-15T00:00:00.000Z", - "desiredStartDate": "2024-01-16T00:00:00.000Z" - } - } - } - }, - "response": { - "errors": [ - { - "code": "BadRequest", - "message": "The requested shipmentId does not exist in the inbound plan." - } - ] - } - } - ] - }, - "headers": { - "x-amzn-RequestId": { - "description": "Unique request reference identifier.", - "type": "string" - }, - "x-amzn-RateLimit-Limit": { - "description": "Your rate limit (requests per second) for this operation.", - "type": "string" - } - } - }, - "500": { - "description": "An unexpected condition occurred that prevented the server from fulfilling the request.", - "schema": { - "$ref": "#/definitions/ErrorList" - }, - "headers": { - "x-amzn-RequestId": { - "description": "Unique request reference identifier.", - "type": "string" - } - } - }, - "403": { - "description": "Indicates that access to the resource is forbidden. Possible reasons include Access Denied, Unauthorized, Expired Token, or Invalid Signature.", - "schema": { - "$ref": "#/definitions/ErrorList" - }, - "headers": { - "x-amzn-RequestId": { - "description": "Unique request reference identifier.", - "type": "string" - } - } - }, - "404": { - "description": "The resource specified does not exist.", - "schema": { - "$ref": "#/definitions/ErrorList" - }, - "headers": { - "x-amzn-RequestId": { - "description": "Unique request reference identifier.", - "type": "string" - }, - "x-amzn-RateLimit-Limit": { - "description": "Your rate limit (requests per second) for this operation.", - "type": "string" - } - } - }, - "413": { - "description": "The request size exceeded the maximum accepted size.", - "schema": { - "$ref": "#/definitions/ErrorList" - }, - "headers": { - "x-amzn-RequestId": { - "description": "Unique request reference identifier.", - "type": "string" - } - } - }, - "415": { - "description": "The request payload is in an unsupported format.", - "schema": { - "$ref": "#/definitions/ErrorList" - }, - "headers": { - "x-amzn-RequestId": { - "description": "Unique request reference identifier.", - "type": "string" - } - } - }, - "429": { - "description": "The frequency of requests was greater than allowed.", - "schema": { - "$ref": "#/definitions/ErrorList" - }, - "headers": { - "x-amzn-RequestId": { - "description": "Unique request reference identifier.", - "type": "string" - } - } - }, - "503": { - "description": "Temporary overloading or maintenance of the server.", - "schema": { - "$ref": "#/definitions/ErrorList" - }, - "headers": { - "x-amzn-RequestId": { - "description": "Unique request reference identifier.", - "type": "string" - } - } - } - }, - "tags": [ - "fbaInbound" - ], - "description": "Initiates the process of generating the appointment slots list.\n\n**Usage Plan:**\n\n| Rate (requests per second) | Burst |\n| ---- | ---- |\n| 1 | 1 |\n\nThe `x-amzn-RateLimit-Limit` response header returns the usage plan rate limits that were applied to the requested operation, when available. The table above indicates the default rate and burst values for this operation. Selling partners whose business demands require higher throughput may see higher rate and burst values than those shown here. For more information, refer to [Usage Plans and Rate Limits in the Selling Partner API](https://developer-docs.amazon.com/sp-api/docs/usage-plans-and-rate-limits-in-the-sp-api).", - "operationId": "generateSelfShipAppointmentSlots" - } - }, - "/inbound/fba/2024-03-20/inboundPlans/{inboundPlanId}/shipments/{shipmentId}/selfShipAppointmentSlots/{slotId}/cancellation": { - "put": { - "consumes": [ - "application/json" - ], - "produces": [ - "application/json" - ], - "parameters": [ - { - "description": "Identifier to an inbound plan.", - "in": "path", - "maxLength": 38, - "minLength": 38, - "name": "inboundPlanId", - "pattern": "^[a-zA-Z0-9-]*$", - "required": true, - "type": "string" - }, - { - "description": "Identifier to a shipment. A shipment contains the boxes and units being inbounded.", - "in": "path", - "maxLength": 38, - "minLength": 38, - "name": "shipmentId", - "pattern": "^[a-zA-Z0-9-]*$", - "required": true, - "type": "string" - }, - { - "description": "Identifier to a self-ship appointment slot.", - "in": "path", - "maxLength": 38, - "minLength": 38, - "name": "slotId", - "pattern": "^[a-zA-Z0-9-]*$", - "required": true, - "type": "string" - }, - { - "in": "body", - "name": "body", - "required": true, - "schema": { - "$ref": "#/definitions/CancelSelfShipAppointmentRequest" - }, - "description": "The body of the request to `cancelSelfShipAppointment`." - } - ], - "responses": { - "202": { - "description": "CancelSelfShipAppointment 202 response", - "schema": { - "$ref": "#/definitions/CancelSelfShipAppointmentResponse" - }, - "x-amzn-api-sandbox": { - "static": [ - { - "request": { - "parameters": { - "inboundPlanId": { - "value": "wf1234abcd-1234-abcd-5678-1234abcd5678" - }, - "shipmentId": { - "value": "sh1234abcd-1234-abcd-5678-1234abcd5678" - }, - "slotId": { - "value": "aa1234abcd-1234-abcd-5678-1234abcd5678" - }, - "body": { - "value": { - "reasonComment": "OTHER" - } - } - } - }, - "response": { - "operationId": "1234abcd-1234-abcd-5678-1234abcd5678" - } - } - ] - }, - "headers": { - "x-amzn-RequestId": { - "description": "Unique request reference identifier.", - "type": "string" - }, - "x-amzn-RateLimit-Limit": { - "description": "Your rate limit (requests per second) for this operation.", - "type": "string" - } - } - }, - "400": { - "description": "Request has missing or invalid parameters and cannot be parsed.", - "schema": { - "$ref": "#/definitions/ErrorList" - }, - "x-amzn-api-sandbox": { - "static": [ - { - "request": { - "parameters": { - "inboundPlanId": { - "value": "wf1234abcd-1234-abcd-5678-1234abcd5678" - }, - "shipmentId": { - "value": "bad234abcd-1234-abcd-5678-1234abcd5678" - }, - "slotId": { - "value": "aa1234abcd-1234-abcd-5678-1234abcd5678" - }, - "body": { - "value": { - "reasonComment": "OTHER" - } - } - } - }, - "response": { - "errors": [ - { - "code": "BadRequest", - "message": "The requested shipmentId does not exist for the specified inbound plan." - } - ] - } - } - ] - }, - "headers": { - "x-amzn-RequestId": { - "description": "Unique request reference identifier.", - "type": "string" - }, - "x-amzn-RateLimit-Limit": { - "description": "Your rate limit (requests per second) for this operation.", - "type": "string" - } - } - }, - "500": { - "description": "An unexpected condition occurred that prevented the server from fulfilling the request.", - "schema": { - "$ref": "#/definitions/ErrorList" - }, - "headers": { - "x-amzn-RequestId": { - "description": "Unique request reference identifier.", - "type": "string" - } - } - }, - "403": { - "description": "Indicates that access to the resource is forbidden. Possible reasons include Access Denied, Unauthorized, Expired Token, or Invalid Signature.", - "schema": { - "$ref": "#/definitions/ErrorList" - }, - "headers": { - "x-amzn-RequestId": { - "description": "Unique request reference identifier.", - "type": "string" - } - } - }, - "404": { - "description": "The resource specified does not exist.", - "schema": { - "$ref": "#/definitions/ErrorList" - }, - "headers": { - "x-amzn-RequestId": { - "description": "Unique request reference identifier.", - "type": "string" - }, - "x-amzn-RateLimit-Limit": { - "description": "Your rate limit (requests per second) for this operation.", - "type": "string" - } - } - }, - "413": { - "description": "The request size exceeded the maximum accepted size.", - "schema": { - "$ref": "#/definitions/ErrorList" - }, - "headers": { - "x-amzn-RequestId": { - "description": "Unique request reference identifier.", - "type": "string" - } - } - }, - "415": { - "description": "The request payload is in an unsupported format.", - "schema": { - "$ref": "#/definitions/ErrorList" - }, - "headers": { - "x-amzn-RequestId": { - "description": "Unique request reference identifier.", - "type": "string" - } - } - }, - "429": { - "description": "The frequency of requests was greater than allowed.", - "schema": { - "$ref": "#/definitions/ErrorList" - }, - "headers": { - "x-amzn-RequestId": { - "description": "Unique request reference identifier.", - "type": "string" - } - } - }, - "503": { - "description": "Temporary overloading or maintenance of the server.", - "schema": { - "$ref": "#/definitions/ErrorList" - }, - "headers": { - "x-amzn-RequestId": { - "description": "Unique request reference identifier.", - "type": "string" - } - } - } - }, - "tags": [ - "fbaInbound" - ], - "description": "Cancels a self-ship appointment slot against a shipment.\n\n**Usage Plan:**\n\n| Rate (requests per second) | Burst |\n| ---- | ---- |\n| 1 | 1 |\n\nThe `x-amzn-RateLimit-Limit` response header returns the usage plan rate limits that were applied to the requested operation, when available. The table above indicates the default rate and burst values for this operation. Selling partners whose business demands require higher throughput may see higher rate and burst values than those shown here. For more information, refer to [Usage Plans and Rate Limits in the Selling Partner API](https://developer-docs.amazon.com/sp-api/docs/usage-plans-and-rate-limits-in-the-sp-api).", - "operationId": "cancelSelfShipAppointment" - } - }, - "/inbound/fba/2024-03-20/inboundPlans/{inboundPlanId}/shipments/{shipmentId}/selfShipAppointmentSlots/{slotId}/schedule": { - "post": { - "consumes": [ - "application/json" - ], - "produces": [ - "application/json" - ], - "parameters": [ - { - "description": "Identifier to an inbound plan.", - "in": "path", - "maxLength": 38, - "minLength": 38, - "name": "inboundPlanId", - "pattern": "^[a-zA-Z0-9-]*$", - "required": true, - "type": "string" - }, - { - "description": "Identifier to a shipment. A shipment contains the boxes and units being inbounded.", - "in": "path", - "maxLength": 38, - "minLength": 38, - "name": "shipmentId", - "pattern": "^[a-zA-Z0-9-]*$", - "required": true, - "type": "string" - }, - { - "description": "Identifier to a self-ship appointment slot.", - "in": "path", - "maxLength": 38, - "minLength": 38, - "name": "slotId", - "pattern": "^[a-zA-Z0-9-]*$", - "required": true, - "type": "string" - }, - { - "in": "body", - "name": "body", - "required": true, - "schema": { - "$ref": "#/definitions/ScheduleSelfShipAppointmentRequest" - }, - "description": "The body of the request to `scheduleSelfShipAppointment`." - } - ], - "responses": { - "200": { - "description": "ScheduleSelfShipAppointment 200 response", - "schema": { - "$ref": "#/definitions/ScheduleSelfShipAppointmentResponse" - }, - "x-amzn-api-sandbox": { - "static": [ - { - "request": { - "parameters": { - "inboundPlanId": { - "value": "wf1234abcd-1234-abcd-5678-1234abcd5678" - }, - "shipmentId": { - "value": "sh1234abcd-1234-abcd-5678-1234abcd5678" - }, - "slotId": { - "value": "aa1234abcd-1234-abcd-5678-1234abcd5678" - }, - "body": { - "value": { - "reasonComment": "OTHER" - } - } - } - }, - "response": { - "selfShipAppointmentDetails": { - "appointmentId": 1000, - "appointmentSlotTime": { - "startTime": "2023-03-08T13:15:30Z", - "endTime": "2023-03-09T13:15:30Z" - }, - "appointmentStatus": "ARRIVAL_SCHEDULED" - } - } - } - ] - }, - "headers": { - "x-amzn-RequestId": { - "description": "Unique request reference identifier.", - "type": "string" - }, - "x-amzn-RateLimit-Limit": { - "description": "Your rate limit (requests per second) for this operation.", - "type": "string" - } - } - }, - "400": { - "description": "Request has missing or invalid parameters and cannot be parsed.", - "schema": { - "$ref": "#/definitions/ErrorList" - }, - "x-amzn-api-sandbox": { - "static": [ - { - "request": { - "parameters": { - "inboundPlanId": { - "value": "wf1234abcd-1234-abcd-5678-1234abcd5678" - }, - "shipmentId": { - "value": "bad234abcd-1234-abcd-5678-1234abcd5678" - }, - "slotId": { - "value": "aa1234abcd-1234-abcd-5678-1234abcd5678" - }, - "body": { - "value": { - "reasonComment": "OTHER" - } - } - } - }, - "response": { - "errors": [ - { - "code": "BadRequest", - "message": "The requested shipmentId does not exist for the specified inbound plan." - } - ] - } - } - ] - }, - "headers": { - "x-amzn-RequestId": { - "description": "Unique request reference identifier.", - "type": "string" - }, - "x-amzn-RateLimit-Limit": { - "description": "Your rate limit (requests per second) for this operation.", - "type": "string" - } - } - }, - "500": { - "description": "An unexpected condition occurred that prevented the server from fulfilling the request.", - "schema": { - "$ref": "#/definitions/ErrorList" - }, - "headers": { - "x-amzn-RequestId": { - "description": "Unique request reference identifier.", - "type": "string" - } - } - }, - "403": { - "description": "Indicates that access to the resource is forbidden. Possible reasons include Access Denied, Unauthorized, Expired Token, or Invalid Signature.", - "schema": { - "$ref": "#/definitions/ErrorList" - }, - "headers": { - "x-amzn-RequestId": { - "description": "Unique request reference identifier.", - "type": "string" - } - } - }, - "404": { - "description": "The resource specified does not exist.", - "schema": { - "$ref": "#/definitions/ErrorList" - }, - "headers": { - "x-amzn-RequestId": { - "description": "Unique request reference identifier.", - "type": "string" - }, - "x-amzn-RateLimit-Limit": { - "description": "Your rate limit (requests per second) for this operation.", - "type": "string" - } - } - }, - "413": { - "description": "The request size exceeded the maximum accepted size.", - "schema": { - "$ref": "#/definitions/ErrorList" - }, - "headers": { - "x-amzn-RequestId": { - "description": "Unique request reference identifier.", - "type": "string" - } - } - }, - "415": { - "description": "The request payload is in an unsupported format.", - "schema": { - "$ref": "#/definitions/ErrorList" - }, - "headers": { - "x-amzn-RequestId": { - "description": "Unique request reference identifier.", - "type": "string" - } - } - }, - "429": { - "description": "The frequency of requests was greater than allowed.", - "schema": { - "$ref": "#/definitions/ErrorList" - }, - "headers": { - "x-amzn-RequestId": { - "description": "Unique request reference identifier.", - "type": "string" - } - } - }, - "503": { - "description": "Temporary overloading or maintenance of the server.", - "schema": { - "$ref": "#/definitions/ErrorList" - }, - "headers": { - "x-amzn-RequestId": { - "description": "Unique request reference identifier.", - "type": "string" - } - } - } - }, - "tags": [ - "fbaInbound" - ], - "description": "Confirms or reschedules a self-ship appointment slot against a shipment.\n\n**Usage Plan:**\n\n| Rate (requests per second) | Burst |\n| ---- | ---- |\n| 1 | 1 |\n\nThe `x-amzn-RateLimit-Limit` response header returns the usage plan rate limits that were applied to the requested operation, when available. The table above indicates the default rate and burst values for this operation. Selling partners whose business demands require higher throughput may see higher rate and burst values than those shown here. For more information, refer to [Usage Plans and Rate Limits in the Selling Partner API](https://developer-docs.amazon.com/sp-api/docs/usage-plans-and-rate-limits-in-the-sp-api).", - "operationId": "scheduleSelfShipAppointment" - } - }, - "/inbound/fba/2024-03-20/inboundPlans/{inboundPlanId}/shipments/{shipmentId}/trackingDetails": { - "put": { - "consumes": [ - "application/json" - ], - "produces": [ - "application/json" - ], - "parameters": [ - { - "description": "Identifier to an inbound plan.", - "in": "path", - "maxLength": 38, - "minLength": 38, - "name": "inboundPlanId", - "pattern": "^[a-zA-Z0-9-]*$", - "required": true, - "type": "string" - }, - { - "description": "Identifier to a shipment. A shipment contains the boxes and units being inbounded.", - "in": "path", - "maxLength": 38, - "minLength": 38, - "name": "shipmentId", - "pattern": "^[a-zA-Z0-9-]*$", - "required": true, - "type": "string" - }, - { - "in": "body", - "name": "body", - "required": true, - "schema": { - "$ref": "#/definitions/UpdateShipmentTrackingDetailsRequest" - }, - "description": "The body of the request to `updateShipmentTrackingDetails`." - } - ], - "responses": { - "202": { - "description": "UpdateShipmentTrackingDetails 202 response", - "schema": { - "$ref": "#/definitions/UpdateShipmentTrackingDetailsResponse" - }, - "x-amzn-api-sandbox": { - "static": [ - { - "request": { - "parameters": { - "inboundPlanId": { - "value": "wf1234abcd-1234-abcd-5678-1234abcd5678" - }, - "shipmentId": { - "value": "sh1234abcd-1234-abcd-5678-1234abcd5678" - }, - "body": { - "value": { - "trackingDetails": { - "ltlTrackingDetail": { - "freightBillNumber": [ - "freightBillNumber1" - ], - "billOfLadingNumber": "billOfLadingNumber" - }, - "spdTrackingDetail": { - "spdTrackingItems": [ - { - "boxId": "boxId", - "trackingId": "trackingId" - } - ] - } - } - } - } - } - }, - "response": { - "operationId": "1234abcd-1234-abcd-5678-1234abcd5678" - } - } - ] - }, - "headers": { - "x-amzn-RequestId": { - "description": "Unique request reference identifier.", - "type": "string" - }, - "x-amzn-RateLimit-Limit": { - "description": "Your rate limit (requests per second) for this operation.", - "type": "string" - } - } - }, - "400": { - "description": "Request has missing or invalid parameters and cannot be parsed.", - "schema": { - "$ref": "#/definitions/ErrorList" - }, - "x-amzn-api-sandbox": { - "static": [ - { - "request": { - "parameters": { - "inboundPlanId": { - "value": "wf1234abcd-1234-abcd-5678-1234abcd5678" - }, - "shipmentId": { - "value": "bad234abcd-1234-abcd-5678-1234abcd5678" - }, - "body": { - "value": { - "trackingDetails": { - "ltlTrackingDetail": { - "freightBillNumber": [ - "freightBillNumber1" - ], - "billOfLadingNumber": "billOfLadingNumber" - }, - "spdTrackingDetail": { - "spdTrackingItems": [ - { - "boxId": "boxId", - "trackingId": "trackingId" - } - ] - } - } - } - } - } - }, - "response": { - "errors": [ - { - "code": "BadRequest", - "message": "The requested shipmentId does not exist for the specified inbound plan." - } - ] - } - } - ] - }, - "headers": { - "x-amzn-RequestId": { - "description": "Unique request reference identifier.", - "type": "string" - }, - "x-amzn-RateLimit-Limit": { - "description": "Your rate limit (requests per second) for this operation.", - "type": "string" - } - } - }, - "500": { - "description": "An unexpected condition occurred that prevented the server from fulfilling the request.", - "schema": { - "$ref": "#/definitions/ErrorList" - }, - "headers": { - "x-amzn-RequestId": { - "description": "Unique request reference identifier.", - "type": "string" - } - } - }, - "403": { - "description": "Indicates that access to the resource is forbidden. Possible reasons include Access Denied, Unauthorized, Expired Token, or Invalid Signature.", - "schema": { - "$ref": "#/definitions/ErrorList" - }, - "headers": { - "x-amzn-RequestId": { - "description": "Unique request reference identifier.", - "type": "string" - } - } - }, - "404": { - "description": "The resource specified does not exist.", - "schema": { - "$ref": "#/definitions/ErrorList" - }, - "headers": { - "x-amzn-RequestId": { - "description": "Unique request reference identifier.", - "type": "string" - }, - "x-amzn-RateLimit-Limit": { - "description": "Your rate limit (requests per second) for this operation.", - "type": "string" - } - } - }, - "413": { - "description": "The request size exceeded the maximum accepted size.", - "schema": { - "$ref": "#/definitions/ErrorList" - }, - "headers": { - "x-amzn-RequestId": { - "description": "Unique request reference identifier.", - "type": "string" - } - } - }, - "415": { - "description": "The request payload is in an unsupported format.", - "schema": { - "$ref": "#/definitions/ErrorList" - }, - "headers": { - "x-amzn-RequestId": { - "description": "Unique request reference identifier.", - "type": "string" - } - } - }, - "429": { - "description": "The frequency of requests was greater than allowed.", - "schema": { - "$ref": "#/definitions/ErrorList" - }, - "headers": { - "x-amzn-RequestId": { - "description": "Unique request reference identifier.", - "type": "string" - } - } - }, - "503": { - "description": "Temporary overloading or maintenance of the server.", - "schema": { - "$ref": "#/definitions/ErrorList" - }, - "headers": { - "x-amzn-RequestId": { - "description": "Unique request reference identifier.", - "type": "string" - } - } - } - }, - "tags": [ - "fbaInbound" - ], - "description": "Updates a shipment's tracking details.\n\n**Usage Plan:**\n\n| Rate (requests per second) | Burst |\n| ---- | ---- |\n| 1 | 1 |\n\nThe `x-amzn-RateLimit-Limit` response header returns the usage plan rate limits that were applied to the requested operation, when available. The table above indicates the default rate and burst values for this operation. Selling partners whose business demands require higher throughput may see higher rate and burst values than those shown here. For more information, refer to [Usage Plans and Rate Limits in the Selling Partner API](https://developer-docs.amazon.com/sp-api/docs/usage-plans-and-rate-limits-in-the-sp-api).", - "operationId": "updateShipmentTrackingDetails" - } - }, - "/inbound/fba/2024-03-20/inboundPlans/{inboundPlanId}/transportationOptions": { - "get": { - "produces": [ - "application/json" - ], - "parameters": [ - { - "description": "Identifier to an inbound plan.", - "in": "path", - "maxLength": 38, - "minLength": 38, - "name": "inboundPlanId", - "pattern": "^[a-zA-Z0-9-]*$", - "required": true, - "type": "string" - }, - { - "description": "The number of transportation options to return in the response matching the given query.", - "in": "query", - "maximum": 20, - "minimum": 1, - "name": "pageSize", - "type": "integer", - "default": 10 - }, - { - "description": "A token to fetch a certain page when there are multiple pages worth of results. The value of this token is fetched from the `pagination` returned in the API response. In the absence of the token value from the query parameter the API returns the first page of the result.", - "in": "query", - "maxLength": 1024, - "minLength": 0, - "name": "paginationToken", - "type": "string" - }, - { - "description": "The placement option to get transportation options for. Either placementOptionId or shipmentId must be specified.", - "in": "query", - "maxLength": 38, - "minLength": 38, - "name": "placementOptionId", - "pattern": "^[a-zA-Z0-9-]*$", - "type": "string" - }, - { - "description": "The shipment to get transportation options for. Either placementOptionId or shipmentId must be specified.", - "in": "query", - "maxLength": 38, - "minLength": 38, - "name": "shipmentId", - "pattern": "^[a-zA-Z0-9-]*$", - "type": "string" - } - ], - "responses": { - "200": { - "description": "ListTransportationOptions 200 response", - "schema": { - "$ref": "#/definitions/ListTransportationOptionsResponse" - }, - "x-amzn-api-sandbox": { - "static": [ - { - "request": { - "parameters": { - "inboundPlanId": { - "value": "wf1234abcd-1234-abcd-5678-1234abcd5678" - }, - "placementOptionId": { - "value": "pl1234abcd-1234-abcd-5678-1234abcd5678" - }, - "shipmentId": { - "value": "sh1234abcd-1234-abcd-5678-1234abcd5678" - }, - "pageSize": { - "value": 2 - }, - "paginationToken": { - "value": "paginationToken" - } - } - }, - "response": { - "transportationOptions": [ - { - "inboundPlanId": "wf1234abcd-1234-abcd-5678-1234abcd5678", - "placementOptionId": "pl1234abcd-1234-abcd-5678-1234abcd5678", - "shipmentId": "sh1234abcd-1234-abcd-5678-1234abcd5678", - "transportationOptionId": "to1234abcd-1234-abcd-5678-1234abcd5678", - "shippingSolution": "AMAZON_PARTNERED_CARRIER", - "carrier": { - "name": "name", - "alphaCode": "USPS" - }, - "shippingMode": "GROUND_SMALL_PARCEL", - "quote": { - "cost": { - "code": "USD", - "amount": 500.0 - }, - "voidableUntil": "2024-01-01T00:00:00.000Z", - "expiration": "2024-01-01T00:00:00.000Z" - }, - "appointmentSlot": { - "slotId": "aa1234abcd-1234-abcd-5678-1234abcd5678", - "slotTime": { - "startTime": "2024-01-01T00:00Z", - "endTime": "2024-01-01T00:00Z" - } - } - } - ], - "pagination": { - "nextToken": "nextPaginationToken" - } - } - } - ] - }, - "headers": { - "x-amzn-RequestId": { - "description": "Unique request reference identifier.", - "type": "string" - }, - "x-amzn-RateLimit-Limit": { - "description": "Your rate limit (requests per second) for this operation.", - "type": "string" - } - } - }, - "400": { - "description": "Request has missing or invalid parameters and cannot be parsed.", - "schema": { - "$ref": "#/definitions/ErrorList" - }, - "x-amzn-api-sandbox": { - "static": [ - { - "request": { - "parameters": { - "inboundPlanId": { - "value": "wf1234abcd-1234-abcd-5678-1234abcd5678" - }, - "placementOptionId": { - "value": "pl1234abcd-1234-abcd-5678-1234abcd5678" - }, - "shipmentId": { - "value": "bad234abcd-1234-abcd-5678-1234abcd5678" - }, - "pageSize": { - "value": 2 - }, - "paginationToken": { - "value": "paginationToken" - } - } - }, - "response": { - "errors": [ - { - "code": "BadRequest", - "message": "The requested shipmentId does not exist for the specified inbound plan." - } - ] - } - } - ] - }, - "headers": { - "x-amzn-RequestId": { - "description": "Unique request reference identifier.", - "type": "string" - }, - "x-amzn-RateLimit-Limit": { - "description": "Your rate limit (requests per second) for this operation.", - "type": "string" - } - } - }, - "500": { - "description": "An unexpected condition occurred that prevented the server from fulfilling the request.", - "schema": { - "$ref": "#/definitions/ErrorList" - }, - "headers": { - "x-amzn-RequestId": { - "description": "Unique request reference identifier.", - "type": "string" - } - } - }, - "403": { - "description": "Indicates that access to the resource is forbidden. Possible reasons include Access Denied, Unauthorized, Expired Token, or Invalid Signature.", - "schema": { - "$ref": "#/definitions/ErrorList" - }, - "headers": { - "x-amzn-RequestId": { - "description": "Unique request reference identifier.", - "type": "string" - } - } - }, - "404": { - "description": "The resource specified does not exist.", - "schema": { - "$ref": "#/definitions/ErrorList" - }, - "headers": { - "x-amzn-RequestId": { - "description": "Unique request reference identifier.", - "type": "string" - }, - "x-amzn-RateLimit-Limit": { - "description": "Your rate limit (requests per second) for this operation.", - "type": "string" - } - } - }, - "413": { - "description": "The request size exceeded the maximum accepted size.", - "schema": { - "$ref": "#/definitions/ErrorList" - }, - "headers": { - "x-amzn-RequestId": { - "description": "Unique request reference identifier.", - "type": "string" - } - } - }, - "415": { - "description": "The request payload is in an unsupported format.", - "schema": { - "$ref": "#/definitions/ErrorList" - }, - "headers": { - "x-amzn-RequestId": { - "description": "Unique request reference identifier.", - "type": "string" - } - } - }, - "429": { - "description": "The frequency of requests was greater than allowed.", - "schema": { - "$ref": "#/definitions/ErrorList" - }, - "headers": { - "x-amzn-RequestId": { - "description": "Unique request reference identifier.", - "type": "string" - } - } - }, - "503": { - "description": "Temporary overloading or maintenance of the server.", - "schema": { - "$ref": "#/definitions/ErrorList" - }, - "headers": { - "x-amzn-RequestId": { - "description": "Unique request reference identifier.", - "type": "string" - } - } - } - }, - "tags": [ - "fbaInbound" - ], - "description": "Retrieves all transportation options for a shipment. Transportation options must first be generated by the corresponding endpoint before becoming available.\n\n**Usage Plan:**\n\n| Rate (requests per second) | Burst |\n| ---- | ---- |\n| 1 | 1 |\n\nThe `x-amzn-RateLimit-Limit` response header returns the usage plan rate limits that were applied to the requested operation, when available. The table above indicates the default rate and burst values for this operation. Selling partners whose business demands require higher throughput may see higher rate and burst values than those shown here. For more information, refer to [Usage Plans and Rate Limits in the Selling Partner API](https://developer-docs.amazon.com/sp-api/docs/usage-plans-and-rate-limits-in-the-sp-api).", - "operationId": "listTransportationOptions" - }, - "post": { - "consumes": [ - "application/json" - ], - "produces": [ - "application/json" - ], - "parameters": [ - { - "description": "Identifier to an inbound plan.", - "in": "path", - "maxLength": 38, - "minLength": 38, - "name": "inboundPlanId", - "pattern": "^[a-zA-Z0-9-]*$", - "required": true, - "type": "string" - }, - { - "in": "body", - "name": "body", - "required": true, - "schema": { - "$ref": "#/definitions/GenerateTransportationOptionsRequest" - }, - "description": "The body of the request to `generateTransportationOptions`." - } - ], - "responses": { - "202": { - "description": "GenerateTransportationOptions 202 response", - "schema": { - "$ref": "#/definitions/GenerateTransportationOptionsResponse" - }, - "x-amzn-api-sandbox": { - "static": [ - { - "request": { - "parameters": { - "inboundPlanId": { - "value": "wf1234abcd-1234-abcd-5678-1234abcd5678" - }, - "body": { - "value": { - "placementOptionId": "pl1234abcd-1234-abcd-5678-1234abcd5678", - "shipmentTransportationConfigurations": [ - { - "shipmentId": "sh1234abcd-1234-abcd-5678-1234abcd5678", - "readyToShipWindow": { - "start": "2024-01-01T00:00Z" - }, - "contactInformation": { - "name": "name", - "phoneNumber": "1234567890", - "email": "email@email.com" - }, - "palletInformation": { - "pallets": [ - { - "stackability": "STACKABLE", - "weight": { - "unit": "KG", - "value": 5.5 - }, - "dimensions": { - "unitOfMeasurement": "CM", - "length": 3.0, - "width": 4.0, - "height": 5.0 - }, - "quantity": 2 - } - ], - "freightClass": "FC_50", - "declaredValue": { - "code": "USD", - "amount": 500.0 - } - } - } - ] - } - } - } - }, - "response": { - "operationId": "1234abcd-1234-abcd-5678-1234abcd5678" - } - } - ] - }, - "headers": { - "x-amzn-RequestId": { - "description": "Unique request reference identifier.", - "type": "string" - }, - "x-amzn-RateLimit-Limit": { - "description": "Your rate limit (requests per second) for this operation.", - "type": "string" - } - } - }, - "400": { - "description": "Request has missing or invalid parameters and cannot be parsed.", - "schema": { - "$ref": "#/definitions/ErrorList" - }, - "x-amzn-api-sandbox": { - "static": [ - { - "request": { - "parameters": { - "inboundPlanId": { - "value": "wf1234abcd-1234-abcd-5678-1234abcd5678" - }, - "body": { - "value": { - "placementOptionId": "pl1234abcd-1234-abcd-5678-1234abcd5678", - "shipmentTransportationConfigurations": [ - { - "shipmentId": "bad234abcd-1234-abcd-5678-1234abcd5678", - "readyToShipWindow": { - "start": "2024-01-01T00:00Z" - }, - "contactInformation": { - "name": "name", - "phoneNumber": "1234567890", - "email": "email@email.com" - }, - "palletInformation": { - "pallets": [ - { - "stackability": "STACKABLE", - "weight": { - "unit": "KG", - "value": 5.5 - }, - "dimensions": { - "unitOfMeasurement": "CM", - "length": 3.0, - "width": 4.0, - "height": 5.0 - }, - "quantity": 2 - } - ], - "freightClass": "FC_50", - "declaredValue": { - "code": "USD", - "amount": 500.0 - } - } - } - ] - } - } - } - }, - "response": { - "errors": [ - { - "code": "BadRequest", - "message": "The requested shipmentId does not exist under the provided placement option." - } - ] - } - } - ] - }, - "headers": { - "x-amzn-RequestId": { - "description": "Unique request reference identifier.", - "type": "string" - }, - "x-amzn-RateLimit-Limit": { - "description": "Your rate limit (requests per second) for this operation.", - "type": "string" - } - } - }, - "500": { - "description": "An unexpected condition occurred that prevented the server from fulfilling the request.", - "schema": { - "$ref": "#/definitions/ErrorList" - }, - "headers": { - "x-amzn-RequestId": { - "description": "Unique request reference identifier.", - "type": "string" - } - } - }, - "403": { - "description": "Indicates that access to the resource is forbidden. Possible reasons include Access Denied, Unauthorized, Expired Token, or Invalid Signature.", - "schema": { - "$ref": "#/definitions/ErrorList" - }, - "headers": { - "x-amzn-RequestId": { - "description": "Unique request reference identifier.", - "type": "string" - } - } - }, - "404": { - "description": "The resource specified does not exist.", - "schema": { - "$ref": "#/definitions/ErrorList" - }, - "headers": { - "x-amzn-RequestId": { - "description": "Unique request reference identifier.", - "type": "string" - }, - "x-amzn-RateLimit-Limit": { - "description": "Your rate limit (requests per second) for this operation.", - "type": "string" - } - } - }, - "413": { - "description": "The request size exceeded the maximum accepted size.", - "schema": { - "$ref": "#/definitions/ErrorList" - }, - "headers": { - "x-amzn-RequestId": { - "description": "Unique request reference identifier.", - "type": "string" - } - } - }, - "415": { - "description": "The request payload is in an unsupported format.", - "schema": { - "$ref": "#/definitions/ErrorList" - }, - "headers": { - "x-amzn-RequestId": { - "description": "Unique request reference identifier.", - "type": "string" - } - } - }, - "429": { - "description": "The frequency of requests was greater than allowed.", - "schema": { - "$ref": "#/definitions/ErrorList" - }, - "headers": { - "x-amzn-RequestId": { - "description": "Unique request reference identifier.", - "type": "string" - } - } - }, - "503": { - "description": "Temporary overloading or maintenance of the server.", - "schema": { - "$ref": "#/definitions/ErrorList" - }, - "headers": { - "x-amzn-RequestId": { - "description": "Unique request reference identifier.", - "type": "string" - } - } - } - }, - "tags": [ - "fbaInbound" - ], - "description": "Generates available transportation options for a given placement option.\n\n**Usage Plan:**\n\n| Rate (requests per second) | Burst |\n| ---- | ---- |\n| 0.05 | 1 |\n\nThe `x-amzn-RateLimit-Limit` response header returns the usage plan rate limits that were applied to the requested operation, when available. The table above indicates the default rate and burst values for this operation. Selling partners whose business demands require higher throughput may see higher rate and burst values than those shown here. For more information, refer to [Usage Plans and Rate Limits in the Selling Partner API](https://developer-docs.amazon.com/sp-api/docs/usage-plans-and-rate-limits-in-the-sp-api).", - "operationId": "generateTransportationOptions" - } - }, - "/inbound/fba/2024-03-20/inboundPlans/{inboundPlanId}/transportationOptions/confirmation": { - "post": { - "consumes": [ - "application/json" - ], - "produces": [ - "application/json" - ], - "parameters": [ - { - "description": "Identifier to an inbound plan.", - "in": "path", - "maxLength": 38, - "minLength": 38, - "name": "inboundPlanId", - "pattern": "^[a-zA-Z0-9-]*$", - "required": true, - "type": "string" - }, - { - "in": "body", - "name": "body", - "required": true, - "schema": { - "$ref": "#/definitions/ConfirmTransportationOptionsRequest" - }, - "description": "The body of the request to `confirmTransportationOptions`." - } - ], - "responses": { - "202": { - "description": "ConfirmTransportationOptions 202 response", - "schema": { - "$ref": "#/definitions/ConfirmTransportationOptionsResponse" - }, - "x-amzn-api-sandbox": { - "static": [ - { - "request": { - "parameters": { - "inboundPlanId": { - "value": "wf1234abcd-1234-abcd-5678-1234abcd5678" - }, - "body": { - "value": { - "transportationSelections": [ - { - "shipmentId": "sh1234abcd-1234-abcd-5678-1234abcd5678", - "transportationOptionId": "to1234abcd-1234-abcd-5678-1234abcd5678", - "contactInformation": { - "name": "name", - "phoneNumber": "1234567890", - "email": "email@email.com" - }, - "deliveryWindow": { - "start": "2024-01-01T00:00Z" - } - } - ] - } - } - } - }, - "response": { - "operationId": "1234abcd-1234-abcd-5678-1234abcd5678" - } - } - ] - }, - "headers": { - "x-amzn-RequestId": { - "description": "Unique request reference identifier.", - "type": "string" - }, - "x-amzn-RateLimit-Limit": { - "description": "Your rate limit (requests per second) for this operation.", - "type": "string" - } - } - }, - "400": { - "description": "Request has missing or invalid parameters and cannot be parsed.", - "schema": { - "$ref": "#/definitions/ErrorList" - }, - "x-amzn-api-sandbox": { - "static": [ - { - "request": { - "parameters": { - "inboundPlanId": { - "value": "wfbad4abcd-1234-abcd-5678-1234abcd5678" - }, - "body": { - "value": { - "transportationSelections": [ - { - "shipmentId": "sh1234abcd-1234-abcd-5678-1234abcd5678", - "transportationOptionId": "bad234abcd-1234-abcd-5678-1234abcd5678", - "contactInformation": { - "name": "name", - "phoneNumber": "1234567890", - "email": "email@email.com" - }, - "deliveryWindow": { - "start": "2024-01-01T00:00Z" - } - } - ] - } - } - } - }, - "response": { - "errors": [ - { - "code": "BadRequest", - "message": "The requested transportationOptionId does not exist under the associated shipment." - } - ] - } - } - ] - }, - "headers": { - "x-amzn-RequestId": { - "description": "Unique request reference identifier.", - "type": "string" - }, - "x-amzn-RateLimit-Limit": { - "description": "Your rate limit (requests per second) for this operation.", - "type": "string" - } - } - }, - "500": { - "description": "An unexpected condition occurred that prevented the server from fulfilling the request.", - "schema": { - "$ref": "#/definitions/ErrorList" - }, - "headers": { - "x-amzn-RequestId": { - "description": "Unique request reference identifier.", - "type": "string" - } - } - }, - "403": { - "description": "Indicates that access to the resource is forbidden. Possible reasons include Access Denied, Unauthorized, Expired Token, or Invalid Signature.", - "schema": { - "$ref": "#/definitions/ErrorList" - }, - "headers": { - "x-amzn-RequestId": { - "description": "Unique request reference identifier.", - "type": "string" - } - } - }, - "404": { - "description": "The resource specified does not exist.", - "schema": { - "$ref": "#/definitions/ErrorList" - }, - "headers": { - "x-amzn-RequestId": { - "description": "Unique request reference identifier.", - "type": "string" - }, - "x-amzn-RateLimit-Limit": { - "description": "Your rate limit (requests per second) for this operation.", - "type": "string" - } - } - }, - "413": { - "description": "The request size exceeded the maximum accepted size.", - "schema": { - "$ref": "#/definitions/ErrorList" - }, - "headers": { - "x-amzn-RequestId": { - "description": "Unique request reference identifier.", - "type": "string" - } - } - }, - "415": { - "description": "The request payload is in an unsupported format.", - "schema": { - "$ref": "#/definitions/ErrorList" - }, - "headers": { - "x-amzn-RequestId": { - "description": "Unique request reference identifier.", - "type": "string" - } - } - }, - "429": { - "description": "The frequency of requests was greater than allowed.", - "schema": { - "$ref": "#/definitions/ErrorList" - }, - "headers": { - "x-amzn-RequestId": { - "description": "Unique request reference identifier.", - "type": "string" - } - } - }, - "503": { - "description": "Temporary overloading or maintenance of the server.", - "schema": { - "$ref": "#/definitions/ErrorList" - }, - "headers": { - "x-amzn-RequestId": { - "description": "Unique request reference identifier.", - "type": "string" - } - } - } - }, - "tags": [ - "fbaInbound" - ], - "description": "Confirms all the transportation options for an inbound plan. A placement option must be confirmed prior to use of this API. Once confirmed, new transportation options can not be generated or confirmed for the Inbound Plan.\n\n**Usage Plan:**\n\n| Rate (requests per second) | Burst |\n| ---- | ---- |\n| 0.05 | 1 |\n\nThe `x-amzn-RateLimit-Limit` response header returns the usage plan rate limits that were applied to the requested operation, when available. The table above indicates the default rate and burst values for this operation. Selling partners whose business demands require higher throughput may see higher rate and burst values than those shown here. For more information, refer to [Usage Plans and Rate Limits in the Selling Partner API](https://developer-docs.amazon.com/sp-api/docs/usage-plans-and-rate-limits-in-the-sp-api).", - "operationId": "confirmTransportationOptions" - } - }, - "/inbound/fba/2024-03-20/items/compliance": { - "get": { - "produces": [ - "application/json" - ], - "parameters": [ - { - "collectionFormat": "multi", - "description": "List of merchant SKUs, a merchant-supplied identifier for a specific SKU.", - "in": "query", - "items": { - "maxLength": 40, - "minLength": 1, - "type": "string" - }, - "maxItems": 100, - "minItems": 1, - "name": "mskus", - "required": true, - "type": "array" - }, - { - "description": "The Marketplace ID. Refer to [Marketplace IDs](https://developer-docs.amazon.com/sp-api/docs/marketplace-ids) for a list of possible values.", - "in": "query", - "maxLength": 256, - "minLength": 1, - "name": "marketplaceId", - "required": true, - "type": "string" - } - ], - "responses": { - "200": { - "description": "ListItemComplianceDetails 200 response", - "schema": { - "$ref": "#/definitions/ListItemComplianceDetailsResponse" - }, - "x-amzn-api-sandbox": { - "static": [ - { - "request": { - "parameters": { - "mskus": { - "value": [ - "msku1", - "msku2" - ] - }, - "marketplaceId": { - "value": "ATVPDKIKX0DER" - } - } - }, - "response": { - "complianceDetails": [ - { - "msku": "msku1", - "fnsku": "fnsku1", - "asin": "asin1", - "taxDetails": { - "hsnCode": "720299", - "declaredValue": { - "code": "USD", - "amount": 50.0 - }, - "taxRates": [ - { - "taxType": "TOTAL_TAX", - "gstRate": 1.0, - "cessRate": 1.0 - } - ] - } - }, - { - "msku": "msku2", - "fnsku": "fnsku2", - "asin": "asin2", - "taxDetails": { - "hsnCode": "720299", - "declaredValue": { - "code": "USD", - "amount": 50.0 - }, - "taxRates": [ - { - "taxType": "TOTAL_TAX", - "gstRate": 1.0, - "cessRate": 1.0 - } - ] - } - } - ] - } - } - ] - }, - "headers": { - "x-amzn-RequestId": { - "description": "Unique request reference identifier.", - "type": "string" - }, - "x-amzn-RateLimit-Limit": { - "description": "Your rate limit (requests per second) for this operation.", - "type": "string" - } - } - }, - "400": { - "description": "Request has missing or invalid parameters and cannot be parsed.", - "schema": { - "$ref": "#/definitions/ErrorList" - }, - "x-amzn-api-sandbox": { - "static": [ - { - "request": { - "parameters": { - "mskus": { - "value": [ - "badmsku" - ] - }, - "marketplaceId": { - "value": "ATVPDKIKX0DER" - } - } - }, - "response": { - "errors": [ - { - "code": "BadRequest", - "message": "The requested MSKU is not valid for the specified marketplace." - } - ] - } - } - ] - }, - "headers": { - "x-amzn-RequestId": { - "description": "Unique request reference identifier.", - "type": "string" - }, - "x-amzn-RateLimit-Limit": { - "description": "Your rate limit (requests per second) for this operation.", - "type": "string" - } - } - }, - "500": { - "description": "An unexpected condition occurred that prevented the server from fulfilling the request.", - "schema": { - "$ref": "#/definitions/ErrorList" - }, - "headers": { - "x-amzn-RequestId": { - "description": "Unique request reference identifier.", - "type": "string" - } - } - }, - "403": { - "description": "Indicates that access to the resource is forbidden. Possible reasons include Access Denied, Unauthorized, Expired Token, or Invalid Signature.", - "schema": { - "$ref": "#/definitions/ErrorList" - }, - "headers": { - "x-amzn-RequestId": { - "description": "Unique request reference identifier.", - "type": "string" - } - } - }, - "404": { - "description": "The resource specified does not exist.", - "schema": { - "$ref": "#/definitions/ErrorList" - }, - "headers": { - "x-amzn-RequestId": { - "description": "Unique request reference identifier.", - "type": "string" - }, - "x-amzn-RateLimit-Limit": { - "description": "Your rate limit (requests per second) for this operation.", - "type": "string" - } - } - }, - "413": { - "description": "The request size exceeded the maximum accepted size.", - "schema": { - "$ref": "#/definitions/ErrorList" - }, - "headers": { - "x-amzn-RequestId": { - "description": "Unique request reference identifier.", - "type": "string" - } - } - }, - "415": { - "description": "The request payload is in an unsupported format.", - "schema": { - "$ref": "#/definitions/ErrorList" - }, - "headers": { - "x-amzn-RequestId": { - "description": "Unique request reference identifier.", - "type": "string" - } - } - }, - "429": { - "description": "The frequency of requests was greater than allowed.", - "schema": { - "$ref": "#/definitions/ErrorList" - }, - "headers": { - "x-amzn-RequestId": { - "description": "Unique request reference identifier.", - "type": "string" - } - } - }, - "503": { - "description": "Temporary overloading or maintenance of the server.", - "schema": { - "$ref": "#/definitions/ErrorList" - }, - "headers": { - "x-amzn-RequestId": { - "description": "Unique request reference identifier.", - "type": "string" - } - } - } - }, - "tags": [ - "fbaInbound" - ], - "description": "List the inbound compliance details for MSKUs in a given marketplace.\n\n**Usage Plan:**\n\n| Rate (requests per second) | Burst |\n| ---- | ---- |\n| 1 | 1 |\n\nThe `x-amzn-RateLimit-Limit` response header returns the usage plan rate limits that were applied to the requested operation, when available. The table above indicates the default rate and burst values for this operation. Selling partners whose business demands require higher throughput may see higher rate and burst values than those shown here. For more information, refer to [Usage Plans and Rate Limits in the Selling Partner API](https://developer-docs.amazon.com/sp-api/docs/usage-plans-and-rate-limits-in-the-sp-api).", - "operationId": "listItemComplianceDetails" - }, - "put": { - "consumes": [ - "application/json" - ], - "produces": [ - "application/json" - ], - "parameters": [ - { - "description": "The Marketplace ID. Refer to [Marketplace IDs](https://developer-docs.amazon.com/sp-api/docs/marketplace-ids) for a list of possible values.", - "in": "query", - "maxLength": 256, - "minLength": 1, - "name": "marketplaceId", - "required": true, - "type": "string" - }, - { - "in": "body", - "name": "body", - "required": true, - "schema": { - "$ref": "#/definitions/UpdateItemComplianceDetailsRequest" - }, - "description": "The body of the request to `updateItemComplianceDetails`." - } - ], - "responses": { - "202": { - "description": "UpdateItemComplianceDetails 202 response", - "schema": { - "$ref": "#/definitions/UpdateItemComplianceDetailsResponse" - }, - "x-amzn-api-sandbox": { - "static": [ - { - "request": { - "parameters": { - "marketplaceId": { - "value": "ATVPDKIKX0DER" - }, - "body": { - "value": { - "msku": "msku", - "taxDetails": { - "hsnCode": "720299", - "declaredValue": { - "code": "USD", - "amount": 50.0 - }, - "taxRates": [ - { - "taxType": "TOTAL_TAX", - "gstRate": 1.0, - "cessRate": 1.0 - } - ] - } - } - } - } - }, - "response": { - "operationId": "1234abcd-1234-abcd-5678-1234abcd5678" - } - } - ] - }, - "headers": { - "x-amzn-RequestId": { - "description": "Unique request reference identifier.", - "type": "string" - }, - "x-amzn-RateLimit-Limit": { - "description": "Your rate limit (requests per second) for this operation.", - "type": "string" - } - } - }, - "400": { - "description": "Request has missing or invalid parameters and cannot be parsed.", - "schema": { - "$ref": "#/definitions/ErrorList" - }, - "x-amzn-api-sandbox": { - "static": [ - { - "request": { - "parameters": { - "marketplaceId": { - "value": "ATVPDKIKX0DER" - }, - "body": { - "value": { - "msku": "badmsku", - "taxDetails": { - "hsnCode": "720299", - "declaredValue": { - "code": "USD", - "amount": 50.0 - }, - "taxRates": [ - { - "taxType": "TOTAL_TAX", - "gstRate": 1.0, - "cessRate": 1.0 - } - ] - } - } - } - } - }, - "response": { - "errors": [ - { - "code": "BadRequest", - "message": "The requested msku does not exist for the specified marketplace." - } - ] - } - } - ] - }, - "headers": { - "x-amzn-RequestId": { - "description": "Unique request reference identifier.", - "type": "string" - }, - "x-amzn-RateLimit-Limit": { - "description": "Your rate limit (requests per second) for this operation.", - "type": "string" - } - } - }, - "500": { - "description": "An unexpected condition occurred that prevented the server from fulfilling the request.", - "schema": { - "$ref": "#/definitions/ErrorList" - }, - "headers": { - "x-amzn-RequestId": { - "description": "Unique request reference identifier.", - "type": "string" - } - } - }, - "403": { - "description": "Indicates that access to the resource is forbidden. Possible reasons include Access Denied, Unauthorized, Expired Token, or Invalid Signature.", - "schema": { - "$ref": "#/definitions/ErrorList" - }, - "headers": { - "x-amzn-RequestId": { - "description": "Unique request reference identifier.", - "type": "string" - } - } - }, - "404": { - "description": "The resource specified does not exist.", - "schema": { - "$ref": "#/definitions/ErrorList" - }, - "headers": { - "x-amzn-RequestId": { - "description": "Unique request reference identifier.", - "type": "string" - }, - "x-amzn-RateLimit-Limit": { - "description": "Your rate limit (requests per second) for this operation.", - "type": "string" - } - } - }, - "413": { - "description": "The request size exceeded the maximum accepted size.", - "schema": { - "$ref": "#/definitions/ErrorList" - }, - "headers": { - "x-amzn-RequestId": { - "description": "Unique request reference identifier.", - "type": "string" - } - } - }, - "415": { - "description": "The request payload is in an unsupported format.", - "schema": { - "$ref": "#/definitions/ErrorList" - }, - "headers": { - "x-amzn-RequestId": { - "description": "Unique request reference identifier.", - "type": "string" - } - } - }, - "429": { - "description": "The frequency of requests was greater than allowed.", - "schema": { - "$ref": "#/definitions/ErrorList" - }, - "headers": { - "x-amzn-RequestId": { - "description": "Unique request reference identifier.", - "type": "string" - } - } - }, - "503": { - "description": "Temporary overloading or maintenance of the server.", - "schema": { - "$ref": "#/definitions/ErrorList" - }, - "headers": { - "x-amzn-RequestId": { - "description": "Unique request reference identifier.", - "type": "string" - } - } - } - }, - "tags": [ - "fbaInbound" - ], - "description": "Update compliance details for list of MSKUs. The details provided here are only used for the IN marketplace compliance validation.\n\n**Usage Plan:**\n\n| Rate (requests per second) | Burst |\n| ---- | ---- |\n| 1 | 1 |\n\nThe `x-amzn-RateLimit-Limit` response header returns the usage plan rate limits that were applied to the requested operation, when available. The table above indicates the default rate and burst values for this operation. Selling partners whose business demands require higher throughput may see higher rate and burst values than those shown here. For more information, refer to [Usage Plans and Rate Limits in the Selling Partner API](https://developer-docs.amazon.com/sp-api/docs/usage-plans-and-rate-limits-in-the-sp-api).", - "operationId": "updateItemComplianceDetails" - } - }, - "/inbound/fba/2024-03-20/operations/{operationId}": { - "get": { - "produces": [ - "application/json" - ], - "parameters": [ - { - "description": "Identifier to an asynchronous operation.", - "in": "path", - "maxLength": 38, - "minLength": 36, - "name": "operationId", - "pattern": "^[a-zA-Z0-9-]*$", - "required": true, - "type": "string" - } - ], - "responses": { - "200": { - "description": "GetInboundOperationStatus 200 response", - "schema": { - "$ref": "#/definitions/InboundOperationStatus" - }, - "x-amzn-api-sandbox": { - "static": [ - { - "request": { - "parameters": { - "operationId": { - "value": "1234abcd-1234-abcd-5678-1234abcd5678" - } - } - }, - "response": { - "operationId": "a440f2ff-cb08-416a-99e1-67a04eee88f6", - "operation": "operationName", - "operationStatus": "SUCCESS", - "operationProblems": [ - { - "code": "DimensionMismatch", - "message": "The dimension does not match what is expected.", - "details": "", - "severity": "WARNING" - } - ] - } - } - ] - }, - "headers": { - "x-amzn-RequestId": { - "description": "Unique request reference identifier.", - "type": "string" - }, - "x-amzn-RateLimit-Limit": { - "description": "Your rate limit (requests per second) for this operation.", - "type": "string" - } - } - }, - "400": { - "description": "Request has missing or invalid parameters and cannot be parsed.", - "schema": { - "$ref": "#/definitions/ErrorList" - }, - "x-amzn-api-sandbox": { - "static": [ - { - "request": { - "parameters": { - "operationId": { - "value": "bad4abcd-1234-abcd-5678-1234abcd5678" - } - } - }, - "response": { - "errors": [ - { - "code": "BadRequest", - "message": "The operationId is malformed." - } - ] - } - } - ] - }, - "headers": { - "x-amzn-RequestId": { - "description": "Unique request reference identifier.", - "type": "string" - }, - "x-amzn-RateLimit-Limit": { - "description": "Your rate limit (requests per second) for this operation.", - "type": "string" - } - } - }, - "500": { - "description": "An unexpected condition occurred that prevented the server from fulfilling the request.", - "schema": { - "$ref": "#/definitions/ErrorList" - }, - "headers": { - "x-amzn-RequestId": { - "description": "Unique request reference identifier.", - "type": "string" - } - } - }, - "403": { - "description": "Indicates that access to the resource is forbidden. Possible reasons include Access Denied, Unauthorized, Expired Token, or Invalid Signature.", - "schema": { - "$ref": "#/definitions/ErrorList" - }, - "headers": { - "x-amzn-RequestId": { - "description": "Unique request reference identifier.", - "type": "string" - } - } - }, - "404": { - "description": "The resource specified does not exist.", - "schema": { - "$ref": "#/definitions/ErrorList" - }, - "headers": { - "x-amzn-RequestId": { - "description": "Unique request reference identifier.", - "type": "string" - }, - "x-amzn-RateLimit-Limit": { - "description": "Your rate limit (requests per second) for this operation.", - "type": "string" - } - } - }, - "413": { - "description": "The request size exceeded the maximum accepted size.", - "schema": { - "$ref": "#/definitions/ErrorList" - }, - "headers": { - "x-amzn-RequestId": { - "description": "Unique request reference identifier.", - "type": "string" - } - } - }, - "415": { - "description": "The request payload is in an unsupported format.", - "schema": { - "$ref": "#/definitions/ErrorList" - }, - "headers": { - "x-amzn-RequestId": { - "description": "Unique request reference identifier.", - "type": "string" - } - } - }, - "429": { - "description": "The frequency of requests was greater than allowed.", - "schema": { - "$ref": "#/definitions/ErrorList" - }, - "headers": { - "x-amzn-RequestId": { - "description": "Unique request reference identifier.", - "type": "string" - } - } - }, - "503": { - "description": "Temporary overloading or maintenance of the server.", - "schema": { - "$ref": "#/definitions/ErrorList" - }, - "headers": { - "x-amzn-RequestId": { - "description": "Unique request reference identifier.", - "type": "string" - } - } - } - }, - "tags": [ - "fbaInbound" - ], - "description": "Gets the status of the processing of an asynchronous API call.\n\n**Usage Plan:**\n\n| Rate (requests per second) | Burst |\n| ---- | ---- |\n| 1 | 1 |\n\nThe `x-amzn-RateLimit-Limit` response header returns the usage plan rate limits that were applied to the requested operation, when available. The table above indicates the default rate and burst values for this operation. Selling partners whose business demands require higher throughput may see higher rate and burst values than those shown here. For more information, refer to [Usage Plans and Rate Limits in the Selling Partner API](https://developer-docs.amazon.com/sp-api/docs/usage-plans-and-rate-limits-in-the-sp-api).", - "operationId": "getInboundOperationStatus" - } - } - }, - "definitions": { - "Address": { - "description": "Specific details to identify a place.", - "properties": { - "addressLine1": { - "description": "Street address information.", - "maxLength": 180, - "minLength": 1, - "type": "string" - }, - "addressLine2": { - "description": "Additional street address information.", - "maxLength": 60, - "minLength": 1, - "type": "string" - }, - "city": { - "description": "The city.", - "maxLength": 30, - "minLength": 1, - "type": "string" - }, - "companyName": { - "description": "The name of the business.", - "maxLength": 50, - "minLength": 1, - "type": "string" - }, - "countryCode": { - "description": "The country code in two-character ISO 3166-1 alpha-2 format.", - "maxLength": 2, - "minLength": 2, - "pattern": "^[A-Z]{2}$", - "type": "string" - }, - "name": { - "description": "The name of the individual or business.", - "maxLength": 50, - "minLength": 1, - "type": "string" - }, - "postalCode": { - "description": "The postal code.", - "maxLength": 32, - "minLength": 1, - "type": "string" - }, - "stateOrProvinceCode": { - "description": "The state or province code.", - "maxLength": 64, - "minLength": 1, - "type": "string" - } - }, - "required": [ - "addressLine1", - "city", - "countryCode", - "name", - "postalCode" - ], - "type": "object", - "example": { - "addressLine1": "123 example street", - "addressLine2": "Floor 19", - "city": "Toronto", - "companyName": "Acme", - "countryCode": "CA", - "name": "name", - "postalCode": "M1M1M1", - "stateOrProvinceCode": "ON" - } - }, - "AppointmentSlot": { - "description": "The fulfillment center appointment slot for the transportation option.", - "properties": { - "slotId": { - "description": "An identifier to a self-ship appointment slot.", - "maxLength": 38, - "minLength": 38, - "pattern": "^[a-zA-Z0-9-]*$", - "type": "string" - }, - "slotTime": { - "$ref": "#/definitions/AppointmentSlotTime" - } - }, - "required": [ - "slotId", - "slotTime" - ], - "type": "object" - }, - "AppointmentSlotTime": { - "description": "An appointment slot time with a start and end.", - "properties": { - "endTime": { - "description": "The end timestamp of the appointment in UTC.", - "format": "date-time", - "type": "string" - }, - "startTime": { - "description": "The start timestamp of the appointment in UTC.", - "format": "date-time", - "type": "string" - } - }, - "required": [ - "endTime", - "startTime" - ], - "type": "object" - }, - "Box": { - "description": "Contains information about a box that is used in the inbound plan. The box may contain an item and metadata about the box itself.", - "properties": { - "boxId": { - "description": "The ID provided by Amazon that identifies a given box. This ID is comprised of the external shipment ID (which\n is generated after transportation has been confirmed) and the index of the box.", - "maxLength": 1024, - "minLength": 1, - "type": "string" - }, - "destinationRegion": { - "$ref": "#/definitions/Region" - }, - "dimensions": { - "$ref": "#/definitions/Dimensions" - }, - "items": { - "description": "Items contained within the box.", - "items": { - "$ref": "#/definitions/Item" - }, - "type": "array" - }, - "packageId": { - "description": "Primary key to uniquely identify a Package (Box or Pallet).", - "maxLength": 38, - "minLength": 38, - "pattern": "^[a-zA-Z0-9-]*$", - "type": "string" - }, - "quantity": { - "description": "The number of containers where all other properties like weight or dimensions are identical.", - "maximum": 10000, - "minimum": 1, - "type": "integer" - }, - "templateName": { - "description": "Template name of the box.", - "maxLength": 1024, - "minLength": 1, - "type": "string" - }, - "weight": { - "$ref": "#/definitions/Weight" - } - }, - "required": [ - "packageId" - ], - "type": "object" - }, - "BoxContent": { - "description": "Specifies contents in a box. Each `BoxContent` minimally contains a mapping of an MSKU to the prep owner, label owner and its quantity in the box. It also contains the MSKU expiration date and manufacturing lot code if applicable.", - "properties": { - "expiration": { - "description": "The date in ISO 8601 format for when the MSKU expires.", - "pattern": "^([0-9]{4})-(0[1-9]|1[0-2])-(0[1-9]|[1-2][0-9]|3[0-1])$", - "type": "string" - }, - "labelOwner": { - "$ref": "#/definitions/LabelOwner" - }, - "manufacturingLotCode": { - "description": "The manufacturing lot code.", - "maxLength": 256, - "minLength": 1, - "type": "string" - }, - "msku": { - "description": "The merchant SKU, a merchant-supplied identifier for a specific SKU.", - "maxLength": 40, - "minLength": 1, - "type": "string" - }, - "prepOwner": { - "$ref": "#/definitions/PrepOwner" - }, - "quantityInBox": { - "description": "The number of units of the given MSKU in the box.", - "maximum": 10000, - "minimum": 1, - "type": "integer" - } - }, - "required": [ - "labelOwner", - "msku", - "prepOwner", - "quantityInBox" - ], - "type": "object", - "example": { - "expiration": "2024-01-01", - "labelOwner": "AMAZON", - "manufacturingLotCode": "manufacturingLotCode", - "msku": "Sunglasses", - "prepOwner": "AMAZON", - "quantityInBox": 10 - } - }, - "BoxContentInformationSource": { - "description": "Indication of how box content is meant to be provided.", - "enum": [ - "BOX_CONTENT_PROVIDED", - "MANUAL_PROCESS", - "BARCODE_2D" - ], - "type": "string", - "x-docgen-enum-table-extension": [ - { - "value": "BOX_CONTENT_PROVIDED", - "description": "Box contents have been provided by the seller." - }, - { - "value": "MANUAL_PROCESS", - "description": "Box contents will be manually processed during receive. This service incurs charges." - }, - { - "value": "BARCODE_2D", - "description": "Box contents information is provided by a barcode on the shipment. For more information, see Using 2D barcodes for box content information on Seller Central." - } - ] - }, - "BoxInput": { - "description": "Input information for a given box.", - "properties": { - "boxId": { - "description": "The ID of the box to update that was provided by Amazon. This ID is comprised of the external shipment ID\n (which is generated after transportation has been confirmed) and the index of the box.", - "maxLength": 1024, - "minLength": 1, - "type": "string" - }, - "contentInformationSource": { - "$ref": "#/definitions/BoxContentInformationSource" - }, - "contents": { - "description": "The Contents of the box containing a list of MSKUs and their quantity. If `boxAttribute` is `BARCODE_2D` or `MANUAL_PROCESS`, user should provide ALL of the items that could be in the box, without specifying item quantities.", - "items": { - "$ref": "#/definitions/BoxContent" - }, - "type": "array" - }, - "dimensions": { - "$ref": "#/definitions/Dimensions" - }, - "quantity": { - "description": "The number of containers where all other properties like weight or dimensions are identical.", - "maximum": 10000, - "minimum": 1, - "type": "integer" - }, - "templateName": { - "description": "The seller-provided name for a 'type' of box (or a group of boxes with the same contents), which will be used to identify all created boxes of that type. When providing bulk box information, this value must be unique from the other box types. When providing individual boxes with existing IDs, this value can be shared between many boxes that have the same contents.", - "maxLength": 1024, - "minLength": 1, - "type": "string" - }, - "weight": { - "$ref": "#/definitions/Weight" - } - }, - "required": [ - "contentInformationSource", - "dimensions", - "quantity", - "templateName", - "weight" - ], - "type": "object", - "example": { - "boxId": "FBA10ABC0YY100001", - "contentInformationSource": "BOX_CONTENT_PROVIDED", - "contents": [ - { - "expiration": "2024-01-01", - "labelOwner": "AMAZON", - "manufacturingLotCode": "manufacturingLotCode", - "msku": "Sunglasses", - "prepOwner": "AMAZON", - "quantityInBox": 10 - } - ], - "dimensions": { - "height": 5, - "length": 3, - "unitOfMeasurement": "CM", - "width": 4 - }, - "quantity": 2, - "templateName": "templateName", - "weight": { - "unit": "KG", - "value": 5.5 - } - } - }, - "CancelInboundPlanResponse": { - "description": "The `cancelInboundPlan` response.", - "properties": { - "operationId": { - "description": "UUID for the given operation.", - "maxLength": 38, - "minLength": 36, - "pattern": "^[a-zA-Z0-9-]*$", - "type": "string" - } - }, - "required": [ - "operationId" - ], - "type": "object" - }, - "CancelSelfShipAppointmentRequest": { - "description": "The `cancelSelfShipAppointment` request.", - "properties": { - "reasonComment": { - "$ref": "#/definitions/ReasonComment" - } - }, - "type": "object", - "example": { - "reasonComment": "OTHER" - } - }, - "CancelSelfShipAppointmentResponse": { - "description": "The `cancelSelfShipAppointment` response.", - "properties": { - "operationId": { - "description": "UUID for the given operation.", - "maxLength": 38, - "minLength": 36, - "pattern": "^[a-zA-Z0-9-]*$", - "type": "string" - } - }, - "required": [ - "operationId" - ], - "type": "object" - }, - "Carrier": { - "description": "The carrier for the inbound shipment.", - "properties": { - "alphaCode": { - "description": "The carrier code. For example, USPS or DHLEX.", - "maxLength": 1024, - "minLength": 1, - "type": "string" - }, - "name": { - "description": "The name of the carrier.", - "maxLength": 1024, - "minLength": 1, - "type": "string" - } - }, - "type": "object" - }, - "ComplianceDetail": { - "description": "Contains item identifiers and related tax information.", - "properties": { - "asin": { - "description": "The Amazon Standard Identification Number, which identifies the detail page identifier.", - "maxLength": 10, - "minLength": 1, - "type": "string" - }, - "fnsku": { - "description": "The Fulfillment Network SKU, which identifies a real fulfillable item with catalog data and condition.", - "maxLength": 10, - "minLength": 1, - "type": "string" - }, - "msku": { - "description": "The merchant SKU, a merchant-supplied identifier for a specific SKU.", - "maxLength": 40, - "minLength": 1, - "type": "string" - }, - "taxDetails": { - "$ref": "#/definitions/TaxDetails" - } - }, - "type": "object" - }, - "ConfirmPackingOptionResponse": { - "description": "The `confirmPackingOption` response.", - "properties": { - "operationId": { - "description": "UUID for the given operation.", - "maxLength": 38, - "minLength": 36, - "pattern": "^[a-zA-Z0-9-]*$", - "type": "string" - } - }, - "required": [ - "operationId" - ], - "type": "object" - }, - "ConfirmPlacementOptionResponse": { - "description": "The `confirmPlacementOption` response.", - "properties": { - "operationId": { - "description": "UUID for the given operation.", - "maxLength": 38, - "minLength": 36, - "pattern": "^[a-zA-Z0-9-]*$", - "type": "string" - } - }, - "required": [ - "operationId" - ], - "type": "object" - }, - "ConfirmTransportationOptionsRequest": { - "description": "The `confirmTransportationOptions` request.", - "properties": { - "transportationSelections": { - "description": "Information needed to confirm one of the available transportation options.", - "items": { - "$ref": "#/definitions/TransportationSelection" - }, - "minItems": 1, - "type": "array" - } - }, - "required": [ - "transportationSelections" - ], - "type": "object", - "example": { - "transportationSelections": [ - { - "contactInformation": { - "email": "email@email.com", - "name": "John Smithy", - "phoneNumber": "1234567890" - }, - "deliveryWindow": { - "start": "2024-01-01T00:00Z" - }, - "shipmentId": "sh1234abcd-1234-abcd-5678-1234abcd5678", - "transportationOptionId": "to1234abcd-1234-abcd-5678-1234abcd5678" - } - ] - } - }, - "ConfirmTransportationOptionsResponse": { - "description": "The `confirmTransportationOptions` response.", - "properties": { - "operationId": { - "description": "UUID for the given operation.", - "maxLength": 38, - "minLength": 36, - "pattern": "^[a-zA-Z0-9-]*$", - "type": "string" - } - }, - "required": [ - "operationId" - ], - "type": "object" - }, - "ContactInformation": { - "description": "The seller's contact information.", - "properties": { - "email": { - "description": "Email address.", - "maxLength": 1024, - "minLength": 1, - "type": "string" - }, - "name": { - "description": "The name belonging to the contact. This field is required when contact information is being provided for\n Less-Than-Truckload (LTL) carrier shipments.", - "maxLength": 1024, - "minLength": 1, - "type": "string" - }, - "phoneNumber": { - "description": "The phone number of the seller.", - "maxLength": 20, - "minLength": 1, - "type": "string" - } - }, - "required": [ - "phoneNumber" - ], - "type": "object", - "example": { - "email": "email@email.com", - "phoneNumber": "1234567890" - } - }, - "CreateInboundPlanRequest": { - "description": "The `createInboundPlan` request.", - "properties": { - "contactInformation": { - "$ref": "#/definitions/ContactInformation" - }, - "destinationMarketplaces": { - "description": "Marketplaces where the items need to be shipped to. Currently only one marketplace can be selected in this request.", - "items": { - "description": "The Marketplace ID. Refer to [Marketplace IDs](https://developer-docs.amazon.com/sp-api/docs/marketplace-ids) for a list of possible values.", - "maxLength": 256, - "minLength": 1, - "type": "string" - }, - "maxItems": 1, - "minItems": 1, - "type": "array" - }, - "items": { - "description": "Items included in this plan.", - "items": { - "$ref": "#/definitions/ItemInput" - }, - "maxItems": 2000, - "minItems": 1, - "type": "array" - }, - "name": { - "description": "Name for the Inbound Plan. If one isn't provided, a default name will be provided.", - "maxLength": 40, - "minLength": 1, - "type": "string" - }, - "sourceAddress": { - "$ref": "#/definitions/Address" - } - }, - "required": [ - "contactInformation", - "destinationMarketplaces", - "items", - "sourceAddress" - ], - "type": "object", - "example": { - "contactInformation": { - "email": "email@email.com", - "phoneNumber": "1234567890" - }, - "destinationMarketplaces": [ - "ATVPDKIKX0DER" - ], - "items": [ - { - "expiration": "2024-01-01", - "labelOwner": "AMAZON", - "manufacturingLotCode": "manufacturingLotCode", - "msku": "Sunglasses", - "prepOwner": "AMAZON", - "quantity": 10 - } - ], - "name": "My inbound plan", - "sourceAddress": { - "addressLine1": "123 example street", - "addressLine2": "Floor 19", - "city": "Toronto", - "companyName": "Acme", - "countryCode": "CA", - "name": "name", - "postalCode": "M1M1M1", - "stateOrProvinceCode": "ON" - } - } - }, - "CreateInboundPlanResponse": { - "description": "The `createInboundPlan` response.", - "properties": { - "inboundPlanId": { - "description": "Identifier to an inbound plan.", - "maxLength": 38, - "minLength": 38, - "pattern": "^[a-zA-Z0-9-]*$", - "type": "string" - }, - "operationId": { - "description": "UUID for the given operation.", - "maxLength": 38, - "minLength": 36, - "pattern": "^[a-zA-Z0-9-]*$", - "type": "string" - } - }, - "required": [ - "inboundPlanId", - "operationId" - ], - "type": "object" - }, - "Currency": { - "description": "Currency definition.", - "properties": { - "amount": { - "description": "Decimal value of the currency.", - "type": "number" - }, - "code": { - "description": "ISO 4217 standard of a currency code.", - "maxLength": 3, - "minLength": 3, - "type": "string" - } - }, - "required": [ - "amount", - "code" - ], - "type": "object" - }, - "CustomPlacementInput": { - "description": "Provide units going to the warehouse.", - "properties": { - "items": { - "description": "Items included while creating Inbound Plan.", - "items": { - "$ref": "#/definitions/ItemInput" - }, - "maxItems": 2000, - "minItems": 1, - "type": "array" - }, - "warehouseId": { - "description": "Warehouse Id.", - "maxLength": 1024, - "minLength": 1, - "type": "string" - } - }, - "required": [ - "items", - "warehouseId" - ], - "type": "object", - "example": { - "items": [ - { - "expiration": "2024-01-01", - "labelOwner": "AMAZON", - "manufacturingLotCode": "manufacturingLotCode", - "msku": "Sunglasses", - "prepOwner": "AMAZON", - "quantity": 10 - } - ], - "warehouseId": "YYZ14" - } - }, - "Dates": { - "description": "Specifies the dates that the seller expects their shipment will be shipped and delivered.", - "properties": { - "deliveryWindow": { - "$ref": "#/definitions/Window" - }, - "readyToShipWindow": { - "$ref": "#/definitions/Window" - } - }, - "type": "object", - "example": { - "readyToShipWindow": { - "end": "2024-01-06T14:48:00.000Z", - "start": "2024-01-05T14:48:00.000Z" - } - } - }, - "Dimensions": { - "description": "Measurement of a package dimensions.", - "properties": { - "height": { - "description": "Height.", - "format": "double", - "maximum": 100000, - "minimum": 0, - "type": "number" - }, - "length": { - "description": "Length.", - "format": "double", - "maximum": 100000, - "minimum": 0, - "type": "number" - }, - "unitOfMeasurement": { - "$ref": "#/definitions/UnitOfMeasurement" - }, - "width": { - "description": "Width.", - "format": "double", - "maximum": 100000, - "minimum": 0, - "type": "number" - } - }, - "required": [ - "height", - "length", - "unitOfMeasurement", - "width" - ], - "type": "object" - }, - "DocumentDownload": { - "description": "Resource to download the requested document.", - "properties": { - "downloadType": { - "description": "The type of download. Can be `URL` or `PDF_BASE64`.", - "type": "string" - }, - "expiration": { - "description": "The timestamp of expiration of the URI. This is in ISO 8601 datetime format with pattern `yyyy-MM-ddTHH:mm:ss.sssZ`.", - "format": "date-time", - "type": "string" - }, - "uri": { - "description": "Uniform resource identifier to identify where the document is located.", - "type": "string" - } - }, - "required": [ - "downloadType", - "uri" - ], - "type": "object" - }, - "Error": { - "description": "Error object containing information about what went wrong.", - "properties": { - "code": { - "description": "An error code that identifies the type of error that occurred.", - "maxLength": 256, - "minLength": 1, - "type": "string" - }, - "details": { - "description": "Additional details that can help the caller understand or fix the issue.", - "maxLength": 8192, - "minLength": 0, - "type": "string" - }, - "message": { - "description": "A message that describes the error condition.", - "maxLength": 2048, - "minLength": 1, - "type": "string" - } - }, - "required": [ - "code", - "message" - ], - "type": "object", - "example": { - "code": "FBA_ERROR_001", - "details": "The shipment is in a status that does not allow it to be edited.", - "message": "Invalid Request" - } - }, - "ErrorList": { - "description": "A list of error responses returned when a request is unsuccessful.", - "properties": { - "errors": { - "description": "List of errors.", - "items": { - "$ref": "#/definitions/Error" - }, - "type": "array" - } - }, - "required": [ - "errors" - ], - "type": "object" - }, - "GeneratePackingOptionsResponse": { - "description": "The `generatePackingOptions` response.", - "properties": { - "operationId": { - "description": "UUID for the given operation.", - "maxLength": 38, - "minLength": 36, - "pattern": "^[a-zA-Z0-9-]*$", - "type": "string" - } - }, - "required": [ - "operationId" - ], - "type": "object" - }, - "GeneratePlacementOptionsRequest": { - "description": "The `generatePlacementOptions` request.", - "properties": { - "customPlacement": { - "description": "Custom placements options to be added to the plan.", - "items": { - "$ref": "#/definitions/CustomPlacementInput" - }, - "type": "array" - } - }, - "type": "object", - "example": { - "customPlacement": [ - { - "items": [ - { - "expiration": "2024-01-01", - "labelOwner": "AMAZON", - "manufacturingLotCode": "manufacturingLotCode", - "msku": "Sunglasses", - "prepOwner": "AMAZON", - "quantity": 10 - } - ], - "warehouseId": "YYZ14" - } - ] - } - }, - "GeneratePlacementOptionsResponse": { - "description": "The `generatePlacementOptions` response.", - "properties": { - "operationId": { - "description": "UUID for the given operation.", - "maxLength": 38, - "minLength": 36, - "pattern": "^[a-zA-Z0-9-]*$", - "type": "string" - } - }, - "required": [ - "operationId" - ], - "type": "object" - }, - "GenerateSelfShipAppointmentSlotsRequest": { - "description": "The `generateSelfShipAppointmentSlots` request.", - "properties": { - "desiredEndDate": { - "description": "The ISO 8601 datetime with pattern `yyyy-MM-ddTHH:mm:ss.sssZ`.", - "format": "date-time", - "type": "string" - }, - "desiredStartDate": { - "description": "The ISO 8601 datetime with pattern `yyyy-MM-ddTHH:mm:ss.sssZ`.", - "format": "date-time", - "type": "string" - } - }, - "type": "object", - "example": { - "desiredEndDate": "2024-01-06T14:48:00.000Z", - "desiredStartDate": "2024-01-05T14:48:00.000Z" - } - }, - "GenerateSelfShipAppointmentSlotsResponse": { - "description": "The `generateSelfShipAppointmentSlots` response.", - "properties": { - "operationId": { - "description": "UUID for the given operation.", - "maxLength": 38, - "minLength": 36, - "pattern": "^[a-zA-Z0-9-]*$", - "type": "string" - } - }, - "required": [ - "operationId" - ], - "type": "object" - }, - "GenerateTransportationOptionsRequest": { - "description": "The `generateTransportationOptions` request.", - "properties": { - "placementOptionId": { - "description": "The placement option to generate transportation options for.", - "maxLength": 38, - "minLength": 38, - "pattern": "^[a-zA-Z0-9-]*$", - "type": "string" - }, - "shipmentTransportationConfigurations": { - "description": "List of shipment transportation configurations.", - "items": { - "$ref": "#/definitions/ShipmentTransportationConfiguration" - }, - "type": "array" - } - }, - "required": [ - "placementOptionId", - "shipmentTransportationConfigurations" - ], - "type": "object", - "example": { - "placementOptionId": "pl1234abcd-1234-abcd-5678-1234abcd5678", - "shipmentTransportationConfigurations": [ - { - "contactInformation": { - "email": "email@email.com", - "name": "John Smithy", - "phoneNumber": "1234567890" - }, - "palletInformation": { - "declaredValue": { - "amount": 500, - "code": "USD" - }, - "freightClass": "FC_50", - "pallets": [ - { - "dimensions": { - "height": 5, - "length": 3, - "unitOfMeasurement": "CM", - "width": 4 - }, - "quantity": 2, - "stackability": "STACKABLE", - "weight": { - "unit": "KG", - "value": 5.5 - } - } - ] - }, - "readyToShipWindow": { - "start": "2024-01-01T00:00Z" - }, - "shipmentId": "sh1234abcd-1234-abcd-5678-1234abcd5678" - } - ] - } - }, - "GenerateTransportationOptionsResponse": { - "description": "The `generateTransportationOptions` response.", - "properties": { - "operationId": { - "description": "UUID for the given operation.", - "maxLength": 38, - "minLength": 36, - "pattern": "^[a-zA-Z0-9-]*$", - "type": "string" - } - }, - "required": [ - "operationId" - ], - "type": "object" - }, - "GetDeliveryChallanDocumentResponse": { - "description": "The `getDeliveryChallanDocumentResponse` response.", - "properties": { - "documentDownload": { - "$ref": "#/definitions/DocumentDownload" - } - }, - "required": [ - "documentDownload" - ], - "type": "object" - }, - "GetSelfShipAppointmentSlotsResponse": { - "description": "The `getSelfShipAppointmentSlots` response.", - "properties": { - "pagination": { - "$ref": "#/definitions/Pagination" - }, - "selfShipAppointmentSlotsAvailability": { - "$ref": "#/definitions/SelfShipAppointmentSlotsAvailability" - } - }, - "required": [ - "selfShipAppointmentSlotsAvailability" - ], - "type": "object" - }, - "InboundOperationStatus": { - "description": "The `getInboundOperationStatus` response.", - "properties": { - "operation": { - "description": "The name of the operation that was executed in the asynchronous API call.", - "maxLength": 1024, - "minLength": 1, - "type": "string" - }, - "operationId": { - "description": "The operation Id returned by the asynchronous API call.", - "maxLength": 38, - "minLength": 36, - "pattern": "^[a-zA-Z0-9-]*$", - "type": "string" - }, - "operationProblems": { - "description": "The problems in the processing of the asynchronous operation.", - "items": { - "$ref": "#/definitions/OperationProblem" - }, - "type": "array" - }, - "operationStatus": { - "$ref": "#/definitions/OperationStatus" - } - }, - "required": [ - "operation", - "operationId", - "operationProblems", - "operationStatus" - ], - "type": "object" - }, - "InboundPlan": { - "description": "Inbound plan containing details of the inbound workflow.", - "properties": { - "contactInformation": { - "$ref": "#/definitions/ContactInformation" - }, - "createdAt": { - "description": "The ISO 8601 datetime with pattern `yyyy-MM-ddTHH:mm:ss.sssZ`.", - "format": "date-time", - "type": "string" - }, - "inboundPlanId": { - "description": "Identifier to an inbound plan.", - "maxLength": 38, - "minLength": 38, - "pattern": "^[a-zA-Z0-9-]*$", - "type": "string" - }, - "lastUpdatedAt": { - "description": "The ISO 8601 datetime with pattern `yyyy-MM-ddTHH:mm:ss.sssZ`.", - "format": "date-time", - "type": "string" - }, - "marketplaceIds": { - "description": "Marketplace IDs.", - "items": { - "description": "The Marketplace ID. Refer to [Marketplace IDs](https://developer-docs.amazon.com/sp-api/docs/marketplace-ids) for a list of possible values.", - "maxLength": 256, - "minLength": 1, - "type": "string" - }, - "type": "array" - }, - "name": { - "description": "The human-readable name of the inbound plan.", - "type": "string" - }, - "packingOptions": { - "description": "Packing options for the inbound plan. This property will be populated when it has been generated via the corresponding endpoint. If there is a chosen placement option, only packing options for that placement option will be returned. If there are confirmed shipments, only packing options for those shipments will be returned. Query the packing option for more details.", - "items": { - "$ref": "#/definitions/PackingOptionSummary" - }, - "type": "array" - }, - "placementOptions": { - "description": "Placement options for the inbound plan. This property will be populated when it has been generated via the corresponding endpoint. If there is a chosen placement option, that will be the only returned option. Query the placement option for more details.", - "items": { - "$ref": "#/definitions/PlacementOptionSummary" - }, - "type": "array" - }, - "shipments": { - "description": "Shipment IDs for the inbound plan. This property will be populated when it has been generated via the corresponding endpoint. If there is a chosen placement option, only shipments for that option will be returned. If there are confirmed shipments, only those shipments will be returned. Query the shipment for more details.", - "items": { - "$ref": "#/definitions/ShipmentSummary" - }, - "type": "array" - }, - "sourceAddress": { - "$ref": "#/definitions/Address" - }, - "status": { - "description": "Current status of the inbound plan. Can be `ACTIVE`, `VOIDED`, or `SHIPPED`.", - "maxLength": 1024, - "minLength": 1, - "type": "string" - } - }, - "required": [ - "contactInformation", - "createdAt", - "inboundPlanId", - "lastUpdatedAt", - "marketplaceIds", - "name", - "sourceAddress", - "status" - ], - "type": "object", - "example": { - "contactInformation": { - "email": "email@email.com", - "phoneNumber": "1234567890" - }, - "createdAt": "2024-03-20T12:01:00Z", - "inboundPlanId": "wf1234abcd-1234-abcd-5678-1234abcd5678", - "lastUpdatedAt": "2024-03-28T13:15:30Z", - "marketplaceIds": [ - "A2EUQ1WTGCTBG2" - ], - "name": "FBA (03/20/2024, 12:01 PM)", - "packingOptions": [], - "placementOptions": [], - "shipments": [], - "sourceAddress": { - "addressLine1": "123 example street", - "addressLine2": "Floor 19", - "city": "Toronto", - "companyName": "Acme", - "countryCode": "CA", - "name": "name", - "postalCode": "M1M1M1", - "stateOrProvinceCode": "ON" - }, - "status": "ACTIVE" - } - }, - "InboundPlanSummary": { - "description": "A light-weight inbound plan.", - "properties": { - "contactInformation": { - "$ref": "#/definitions/ContactInformation" - }, - "createdAt": { - "description": "The ISO 8601 datetime with pattern `yyyy-MM-ddTHH:mm:ss.sssZ`.", - "format": "date-time", - "type": "string" - }, - "inboundPlanId": { - "description": "Identifier to an inbound plan.", - "maxLength": 38, - "minLength": 38, - "pattern": "^[a-zA-Z0-9-]*$", - "type": "string" - }, - "lastUpdatedAt": { - "description": "ISO 8601 datetime with pattern `yyyy-MM-ddTHH:mm:ss.sssZ`.", - "format": "date-time", - "type": "string" - }, - "marketplaceIds": { - "description": "Marketplace IDs.", - "items": { - "description": "The Marketplace ID. Refer to [Marketplace IDs](https://developer-docs.amazon.com/sp-api/docs/marketplace-ids) for a list of possible values.", - "maxLength": 256, - "minLength": 1, - "type": "string" - }, - "type": "array" - }, - "name": { - "description": "Human-readable name of the inbound plan.", - "type": "string" - }, - "sourceAddress": { - "$ref": "#/definitions/Address" - }, - "status": { - "description": "Current status of the inbound plan. Can be 'ACTIVE', 'VOIDED', or 'SHIPPED'.", - "maxLength": 1024, - "minLength": 1, - "type": "string" - } - }, - "required": [ - "contactInformation", - "createdAt", - "inboundPlanId", - "lastUpdatedAt", - "marketplaceIds", - "name", - "sourceAddress", - "status" - ], - "type": "object", - "example": { - "contactInformation": { - "email": "email@email.com", - "phoneNumber": "1234567890" - }, - "createdAt": "2023-03-08T13:15:30Z", - "inboundPlanId": "wf1234abcd-1234-abcd-5678-1234abcd5678", - "lastUpdatedAt": "2023-03-08T13:15:30Z", - "marketplaceIds": [ - "A2EUQ1WTGCTBG2" - ], - "name": "FBA (03/08/2023, 01:15 PM)", - "sourceAddress": { - "addressLine1": "123 example street", - "addressLine2": "Floor 19", - "city": "Toronto", - "companyName": "Acme", - "countryCode": "CA", - "name": "name", - "postalCode": "M1M1M1", - "stateOrProvinceCode": "ON" - }, - "status": "ACTIVE" - } - }, - "Incentive": { - "description": "Contains details about cost related modifications to the placement cost.", - "properties": { - "description": { - "description": "Description of the incentive.", - "maxLength": 1024, - "minLength": 1, - "type": "string" - }, - "target": { - "description": "Target of the incentive. Can be 'Placement Services' or 'Fulfillment Fee Discount'.", - "maxLength": 1024, - "minLength": 1, - "type": "string" - }, - "type": { - "description": "Type of incentive. Can be `FEE` or `DISCOUNT`.", - "maxLength": 1024, - "minLength": 1, - "type": "string" - }, - "value": { - "$ref": "#/definitions/Currency" - } - }, - "required": [ - "description", - "target", - "type", - "value" - ], - "type": "object" - }, - "Item": { - "description": "Information associated with a single SKU in the seller's catalog.", - "properties": { - "asin": { - "description": "The Amazon Standard Identification Number (ASIN) of the item.", - "maxLength": 10, - "minLength": 1, - "type": "string" - }, - "expiration": { - "description": "The expiration date of the MSKU in ISO 8601 format. The same MSKU with different expiration dates cannot go into the same box.", - "pattern": "^([0-9]{4})-(0[1-9]|1[0-2])-(0[1-9]|[1-2][0-9]|3[0-1])$", - "type": "string" - }, - "fnsku": { - "description": "A unique identifier assigned by Amazon to products stored in and fulfilled from an Amazon fulfillment center.", - "maxLength": 10, - "minLength": 1, - "type": "string" - }, - "labelOwner": { - "description": "Specifies who will label the items. Options include `AMAZON` and `SELLER`.", - "maxLength": 1024, - "minLength": 1, - "type": "string" - }, - "manufacturingLotCode": { - "description": "The manufacturing lot code.", - "maxLength": 256, - "minLength": 1, - "type": "string" - }, - "msku": { - "description": "The merchant defined SKU ID.", - "maxLength": 40, - "minLength": 1, - "type": "string" - }, - "prepInstructions": { - "description": "Special preparations that are required for an item.", - "items": { - "$ref": "#/definitions/PrepInstruction" - }, - "type": "array" - }, - "quantity": { - "description": "The number of the specified MSKU.", - "maximum": 10000, - "minimum": 1, - "type": "integer" - } - }, - "required": [ - "asin", - "fnsku", - "labelOwner", - "msku", - "prepInstructions", - "quantity" - ], - "type": "object" - }, - "ItemInput": { - "description": "Defines an item's input parameters.", - "properties": { - "expiration": { - "description": "The expiration date of the MSKU in ISO 8601 format. The same MSKU with different expiration dates cannot go into the same box.", - "pattern": "^([0-9]{4})-(0[1-9]|1[0-2])-(0[1-9]|[1-2][0-9]|3[0-1])$", - "type": "string" - }, - "labelOwner": { - "$ref": "#/definitions/LabelOwner" - }, - "manufacturingLotCode": { - "description": "The manufacturing lot code.", - "maxLength": 256, - "minLength": 1, - "type": "string" - }, - "msku": { - "description": "The merchant SKU.", - "maxLength": 40, - "minLength": 1, - "type": "string" - }, - "prepOwner": { - "$ref": "#/definitions/PrepOwner" - }, - "quantity": { - "description": "The number of units of the specified MSKU that will be shipped.", - "maximum": 10000, - "minimum": 1, - "type": "integer" - } - }, - "required": [ - "labelOwner", - "msku", - "prepOwner", - "quantity" - ], - "type": "object", - "example": { - "expiration": "2024-01-01", - "labelOwner": "AMAZON", - "manufacturingLotCode": "manufacturingLotCode", - "msku": "Sunglasses", - "prepOwner": "AMAZON", - "quantity": 10 - } - }, - "LabelOwner": { - "description": "Specifies who will label the items. Options include `AMAZON` and `SELLER`.", - "enum": [ - "AMAZON", - "SELLER" - ], - "type": "string", - "x-docgen-enum-table-extension": [ - { - "value": "AMAZON", - "description": "-" - }, - { - "value": "SELLER", - "description": "-" - } - ] - }, - "ListInboundPlanBoxesResponse": { - "description": "`listInboundPlanBoxes` response.", - "properties": { - "boxes": { - "description": "A list of boxes in an inbound plan.", - "items": { - "$ref": "#/definitions/Box" - }, - "type": "array" - }, - "pagination": { - "$ref": "#/definitions/Pagination" - } - }, - "required": [ - "boxes" - ], - "type": "object" - }, - "ListInboundPlanItemsResponse": { - "description": "`listInboundPlanItems` response.", - "properties": { - "items": { - "description": "The items in an inbound plan.", - "items": { - "$ref": "#/definitions/Item" - }, - "type": "array" - }, - "pagination": { - "$ref": "#/definitions/Pagination" - } - }, - "required": [ - "items" - ], - "type": "object" - }, - "ListInboundPlanPalletsResponse": { - "description": "`listInboundPlanPallets` response.", - "properties": { - "pagination": { - "$ref": "#/definitions/Pagination" - }, - "pallets": { - "description": "The pallets in an inbound plan.", - "items": { - "$ref": "#/definitions/Pallet" - }, - "type": "array" - } - }, - "required": [ - "pallets" - ], - "type": "object" - }, - "ListInboundPlansResponse": { - "description": "`listInboundPlans` response.", - "properties": { - "inboundPlans": { - "description": "A list of inbound plans with minimal information.", - "items": { - "$ref": "#/definitions/InboundPlanSummary" - }, - "type": "array" - }, - "pagination": { - "$ref": "#/definitions/Pagination" - } - }, - "type": "object" - }, - "ListItemComplianceDetailsResponse": { - "description": "`listItemComplianceDetails` response.", - "properties": { - "complianceDetails": { - "description": "List of compliance details.", - "items": { - "$ref": "#/definitions/ComplianceDetail" - }, - "type": "array" - } - }, - "type": "object" - }, - "ListPackingGroupItemsResponse": { - "description": "`listPackingGroupItems` response.", - "properties": { - "items": { - "description": "Provides the information about the list of items in the inbound plan.", - "items": { - "$ref": "#/definitions/Item" - }, - "type": "array" - }, - "pagination": { - "$ref": "#/definitions/Pagination" - } - }, - "required": [ - "items" - ], - "type": "object" - }, - "ListPackingOptionsResponse": { - "description": "`listPackingOptions` response.", - "properties": { - "packingOptions": { - "description": "List of packing options.", - "items": { - "$ref": "#/definitions/PackingOption" - }, - "type": "array" - }, - "pagination": { - "$ref": "#/definitions/Pagination" - } - }, - "required": [ - "packingOptions" - ], - "type": "object" - }, - "ListPlacementOptionsResponse": { - "description": "`listPlacementOptions` response.", - "properties": { - "pagination": { - "$ref": "#/definitions/Pagination" - }, - "placementOptions": { - "description": "Placement options generated for the inbound plan.", - "items": { - "$ref": "#/definitions/PlacementOption" - }, - "type": "array" - } - }, - "required": [ - "placementOptions" - ], - "type": "object" - }, - "ListTransportationOptionsResponse": { - "description": "`listTransportationOptions` response.", - "properties": { - "pagination": { - "$ref": "#/definitions/Pagination" - }, - "transportationOptions": { - "description": "Transportation options generated for the placement option.", - "items": { - "$ref": "#/definitions/TransportationOption" - }, - "type": "array" - } - }, - "required": [ - "transportationOptions" - ], - "type": "object" - }, - "LtlTrackingDetail": { - "description": "Contains information related to Less-Than-Truckload (LTL) shipment tracking.", - "properties": { - "billOfLadingNumber": { - "description": "The number of the carrier shipment acknowledgement document.", - "maxLength": 1024, - "minLength": 1, - "type": "string" - }, - "freightBillNumber": { - "description": "The number associated with the freight bill.", - "items": { - "maxLength": 1024, - "minLength": 1, - "pattern": "^[a-zA-Z0-9-._\\s]*$", - "type": "string" - }, - "type": "array" - } - }, - "type": "object" - }, - "LtlTrackingDetailInput": { - "description": "Contains input information to update Less-Than-Truckload (LTL) tracking information.", - "properties": { - "billOfLadingNumber": { - "description": "The number of the carrier shipment acknowledgement document.", - "maxLength": 1024, - "minLength": 1, - "type": "string" - }, - "freightBillNumber": { - "description": "Number associated with the freight bill.", - "items": { - "maxLength": 1024, - "minLength": 1, - "pattern": "^[a-zA-Z0-9-._\\s]*$", - "type": "string" - }, - "maxItems": 1, - "minItems": 1, - "type": "array" - } - }, - "required": [ - "freightBillNumber" - ], - "type": "object", - "example": { - "billOfLadingNumber": "billOfLadingNumber", - "freightBillNumber": [ - "freightBillNumber1" - ] - } - }, - "OperationProblem": { - "description": "A problem with additional properties persisted to an operation.", - "properties": { - "code": { - "description": "An error code that identifies the type of error that occurred.", - "maxLength": 256, - "minLength": 1, - "type": "string" - }, - "details": { - "description": "Additional details that can help the caller understand or fix the issue.", - "maxLength": 8192, - "minLength": 0, - "type": "string" - }, - "message": { - "description": "A message that describes the error condition.", - "maxLength": 2048, - "minLength": 1, - "type": "string" - }, - "severity": { - "description": "The severity of the problem. Can be 'WARNING', or 'ERROR'.", - "maxLength": 1024, - "minLength": 1, - "type": "string" - } - }, - "required": [ - "code", - "message", - "severity" - ], - "type": "object" - }, - "OperationStatus": { - "description": "The status of an operation.", - "enum": [ - "SUCCESS", - "FAILED", - "IN_PROGRESS" - ], - "type": "string", - "x-docgen-enum-table-extension": [ - { - "value": "SUCCESS", - "description": "Indicates a request has successfully finished processing." - }, - { - "value": "FAILED", - "description": "Indicates a request has finished processing but is in a failed state." - }, - { - "value": "IN_PROGRESS", - "description": "Indicates a request is still processing." - } - ] - }, - "PackageGroupingInput": { - "description": "Packing information for the inbound plan.", - "properties": { - "boxes": { - "description": "Box level information being provided.", - "items": { - "$ref": "#/definitions/BoxInput" - }, - "maxItems": 5000, - "minItems": 1, - "type": "array" - }, - "packingGroupId": { - "description": "The ID of the `packingGroup` that packages are grouped according to. The `PackingGroupId` can only be provided before placement confirmation, and it must belong to the confirmed `PackingOption`. One of `ShipmentId` or `PackingGroupId` must be provided with every request.", - "maxLength": 38, - "minLength": 38, - "pattern": "^[a-zA-Z0-9-]*$", - "type": "string" - }, - "shipmentId": { - "description": "The ID of the shipment that packages are grouped according to. The `ShipmentId` can only be provided after placement confirmation, and the shipment must belong to the confirmed placement option. One of `ShipmentId` or `PackingGroupId` must be provided with every request.", - "maxLength": 38, - "minLength": 38, - "pattern": "^[a-zA-Z0-9-]*$", - "type": "string" - } - }, - "required": [ - "boxes" - ], - "type": "object", - "example": { - "boxes": [ - { - "boxId": "boxId", - "contentInformationSource": "BOX_CONTENT_PROVIDED", - "contents": [ - { - "expiration": "2024-01-01", - "labelOwner": "AMAZON", - "manufacturingLotCode": "manufacturingLotCode", - "msku": "Sunglasses", - "prepOwner": "AMAZON", - "quantityInBox": 10 - } - ], - "dimensions": { - "height": 5, - "length": 3, - "unitOfMeasurement": "CM", - "width": 4 - }, - "quantity": 2, - "templateName": "templateName", - "weight": { - "unit": "KG", - "value": 5.5 - } - } - ], - "packingGroupId": "pg1234abcd-1234-abcd-5678-1234abcd5678", - "shipmentId": "sh1234abcd-1234-abcd-5678-1234abcd5678" - } - }, - "PackingOption": { - "description": "A packing option contains a set of pack groups plus additional information about the packing option, such as any discounts or fees if it's selected.", - "properties": { - "discounts": { - "description": "Discount for the offered option.", - "items": { - "$ref": "#/definitions/Incentive" - }, - "type": "array" - }, - "expiration": { - "description": "The timestamp at which this packing option becomes no longer valid. This is in ISO 8601 datetime format with pattern `yyyy-MM-ddTHH:mm:ss.sssZ`.", - "format": "date-time", - "type": "string" - }, - "fees": { - "description": "Fee for the offered option.", - "items": { - "$ref": "#/definitions/Incentive" - }, - "type": "array" - }, - "inboundPlanId": { - "description": "Identifier to an inbound plan.", - "maxLength": 38, - "minLength": 38, - "pattern": "^[a-zA-Z0-9-]*$", - "type": "string" - }, - "packingGroups": { - "description": "Packing group IDs.", - "items": { - "description": "Identifier to a packing group.", - "maxLength": 38, - "minLength": 38, - "pattern": "^[a-zA-Z0-9-]*$", - "type": "string" - }, - "type": "array" - }, - "packingOptionId": { - "description": "Identifier to a packing option.", - "maxLength": 38, - "minLength": 38, - "pattern": "^[a-zA-Z0-9-]*$", - "type": "string" - }, - "status": { - "description": "The status of the packing option. Can be `OFFERED`, `ACCEPTED`, or `EXPIRED`.", - "maxLength": 1024, - "minLength": 1, - "type": "string" - }, - "supportedShippingConfigurations": { - "description": "List of supported shipping modes.", - "items": { - "$ref": "#/definitions/ShippingConfiguration" - }, - "type": "array" - } - }, - "required": [ - "discounts", - "fees", - "inboundPlanId", - "packingGroups", - "packingOptionId", - "status", - "supportedShippingConfigurations" - ], - "type": "object" - }, - "PackingOptionSummary": { - "description": "Summary information about a packing option.", - "properties": { - "packingOptionId": { - "description": "Identifier to a packing option.", - "maxLength": 38, - "minLength": 38, - "pattern": "^[a-zA-Z0-9-]*$", - "type": "string" - }, - "status": { - "description": "The status of a packing option. Can be 'OFFERED', 'ACCEPTED', or 'EXPIRED'.", - "maxLength": 1024, - "minLength": 1, - "type": "string" - } - }, - "required": [ - "packingOptionId", - "status" - ], - "type": "object", - "example": { - "packingOptionId": "po1234abcd-1234-abcd-5678-1234abcd5678", - "status": "OFFERED" - } - }, - "Pagination": { - "description": "Contains tokens to fetch from a certain page.", - "properties": { - "nextToken": { - "description": "When present, pass this string token in the next request to return the next response page.", - "maxLength": 1024, - "minLength": 1, - "type": "string" - } - }, - "type": "object" - }, - "Pallet": { - "description": "Contains information about a pallet that is used in the inbound plan. The pallet is a container that holds multiple items or boxes.", - "properties": { - "dimensions": { - "$ref": "#/definitions/Dimensions" - }, - "packageId": { - "description": "Primary key to uniquely identify a Package (Box or Pallet).", - "maxLength": 38, - "minLength": 38, - "pattern": "^[a-zA-Z0-9-]*$", - "type": "string" - }, - "quantity": { - "description": "The number of containers where all other properties like weight or dimensions are identical.", - "maximum": 10000, - "minimum": 1, - "type": "integer" - }, - "stackability": { - "$ref": "#/definitions/Stackability" - }, - "weight": { - "$ref": "#/definitions/Weight" - } - }, - "required": [ - "packageId" - ], - "type": "object" - }, - "PalletInformation": { - "description": "Pallet information, including weight, dimensions, quantity, stackability, freight class, and declared value.", - "properties": { - "declaredValue": { - "$ref": "#/definitions/Currency" - }, - "freightClass": { - "description": "Freight class. Can be `NONE`, `FC_50`, `FC_55`, `FC_60`, `FC_65`, `FC_70`, `FC_77_5`, `FC_85`, `FC_92_5`, `FC_100`, `FC_110`, `FC_125`, `FC_150`, `FC_175`, `FC_200`, `FC_250`, `FC_300`, `FC_400`, or `FC_500`.", - "maxLength": 1024, - "minLength": 1, - "type": "string" - }, - "pallets": { - "description": "Set pallet configuration for Less-Than-Truckload (LTL).", - "items": { - "$ref": "#/definitions/PalletInput" - }, - "type": "array" - } - }, - "required": [ - "pallets" - ], - "type": "object" - }, - "PalletInput": { - "description": "Set pallet configuration for Less-Than-Truckload (LTL).", - "properties": { - "dimensions": { - "$ref": "#/definitions/Dimensions" - }, - "quantity": { - "description": "The number of containers where all other properties like weight or dimensions are identical.", - "maximum": 10000, - "minimum": 1, - "type": "integer" - }, - "stackability": { - "$ref": "#/definitions/Stackability" - }, - "weight": { - "$ref": "#/definitions/Weight" - } - }, - "required": [ - "quantity" - ], - "type": "object" - }, - "PlacementOption": { - "description": "Contains information pertaining to the placement of the contents of an inbound plan and the related costs.", - "properties": { - "discounts": { - "description": "Discount for the offered option.", - "items": { - "$ref": "#/definitions/Incentive" - }, - "type": "array" - }, - "expiration": { - "description": "The expiration date of the placement option. This is in ISO 8601 datetime format with pattern `yyyy-MM-ddTHH:mm:ss.sssZ`.", - "format": "date-time", - "type": "string" - }, - "fees": { - "description": "Fee for the offered option.", - "items": { - "$ref": "#/definitions/Incentive" - }, - "type": "array" - }, - "placementOptionId": { - "description": "Identifier to a placement option. A placement option represents the shipment splits and destinations of SKUs.", - "maxLength": 38, - "minLength": 38, - "pattern": "^[a-zA-Z0-9-]*$", - "type": "string" - }, - "shipmentIds": { - "description": "Shipment ids.", - "items": { - "description": "Identifier to a shipment. A shipment contains the boxes and units being inbounded.", - "maxLength": 38, - "minLength": 38, - "pattern": "^[a-zA-Z0-9-]*$", - "type": "string" - }, - "type": "array" - }, - "status": { - "description": "The status of a placement option. Can be `OFFERED`, `ACCEPTED`, or `EXPIRED`.", - "maxLength": 1024, - "minLength": 1, - "type": "string" - } - }, - "required": [ - "discounts", - "fees", - "placementOptionId", - "shipmentIds", - "status" - ], - "type": "object" - }, - "PlacementOptionSummary": { - "description": "Summary information about a placement option.", - "properties": { - "placementOptionId": { - "description": "Identifier to a placement option. A placement option represents the shipment splits and destinations of SKUs.", - "maxLength": 38, - "minLength": 38, - "pattern": "^[a-zA-Z0-9-]*$", - "type": "string" - }, - "status": { - "description": "The status of a placement option. Can be `OFFERED` or `ACCEPTED`.", - "maxLength": 1024, - "minLength": 1, - "type": "string" - } - }, - "required": [ - "placementOptionId", - "status" - ], - "type": "object", - "example": { - "placementOptionId": "pl1234abcd-1234-abcd-5678-1234abcd5678", - "status": "ACCEPTED" - } - }, - "PrepInstruction": { - "description": "Information pertaining to the preparation of inbound goods.", - "properties": { - "fee": { - "$ref": "#/definitions/Currency" - }, - "prepOwner": { - "description": "In some situations, special preparations are required for items and this field reflects the owner of the\n preparations. Options include `AMAZON` or `SELLER`.", - "maxLength": 1024, - "minLength": 1, - "type": "string" - }, - "prepType": { - "description": "Type of preparation that should be done. Can be `ITEM_LABELING`, `ITEM_BUBBLEWRAP`, `ITEM_POLYBAGGING`, `ITEM_TAPING`, `ITEM_BLACK_SHRINKWRAP`, `ITEM_HANG_GARMENT`, `ITEM_BOXING`, `ITEM_SETCREAT`, `ITEM_RMOVHANG`, `ITEM_SUFFOSTK`, `ITEM_CAP_SEALING`, `ITEM_DEBUNDLE`, `ITEM_SETSTK`, `ITEM_SIOC`, `ITEM_NO_PREP`, `ADULT`, `BABY`, `TEXTILE`, `HANGER`, `FRAGILE`, `LIQUID`, `SHARP`, `SMALL`, `PERFORATED`, `GRANULAR`, `SET`, `FC_PROVIDED`, `UNKNOWN`, or `NONE`.", - "maxLength": 1024, - "minLength": 1, - "type": "string" - } - }, - "type": "object" - }, - "PrepOwner": { - "description": "In some situations, special preparations are required for items and this field reflects the owner of the preparations. Options include `AMAZON` or `SELLER`.", - "enum": [ - "AMAZON", - "SELLER" - ], - "type": "string", - "x-docgen-enum-table-extension": [ - { - "value": "AMAZON", - "description": "-" - }, - { - "value": "SELLER", - "description": "-" - } - ] - }, - "Quote": { - "description": "The estimated shipping cost associated with the transportation option.", - "properties": { - "cost": { - "$ref": "#/definitions/Currency" - }, - "expiration": { - "description": "The timestamp at which this transportation option quote becomes no longer valid. This is in ISO 8601 datetime format with pattern `yyyy-MM-ddTHH:mm:ss.sssZ`.", - "format": "date-time", - "type": "string" - }, - "voidableUntil": { - "description": "Voidable until timestamp.", - "format": "date-time", - "type": "string" - } - }, - "required": [ - "cost" - ], - "type": "object" - }, - "ReasonComment": { - "description": "Reason for cancelling or rescheduling a self-ship appointment.", - "enum": [ - "APPOINTMENT_REQUESTED_BY_MISTAKE", - "VEHICLE_DELAY", - "SLOT_NOT_SUITABLE", - "OUTSIDE_CARRIER_BUSINESS_HOURS", - "UNFAVOURABLE_EXTERNAL_CONDITIONS", - "PROCUREMENT_DELAY", - "SHIPPING_PLAN_CHANGED", - "INCREASED_QUANTITY", - "OTHER" - ], - "type": "string", - "x-docgen-enum-table-extension": [ - { - "value": "APPOINTMENT_REQUESTED_BY_MISTAKE", - "description": "-" - }, - { - "value": "VEHICLE_DELAY", - "description": "-" - }, - { - "value": "SLOT_NOT_SUITABLE", - "description": "-" - }, - { - "value": "OUTSIDE_CARRIER_BUSINESS_HOURS", - "description": "-" - }, - { - "value": "UNFAVOURABLE_EXTERNAL_CONDITIONS", - "description": "-" - }, - { - "value": "PROCUREMENT_DELAY", - "description": "-" - }, - { - "value": "SHIPPING_PLAN_CHANGED", - "description": "-" - }, - { - "value": "INCREASED_QUANTITY", - "description": "-" - }, - { - "value": "OTHER", - "description": "-" - } - ] - }, - "Region": { - "description": "Representation of a location used within the inbounding experience.", - "properties": { - "countryCode": { - "description": "ISO 3166 standard alpha-2 country code.", - "maxLength": 1024, - "minLength": 1, - "type": "string" - }, - "state": { - "description": "State.", - "maxLength": 1024, - "minLength": 1, - "type": "string" - }, - "warehouseId": { - "description": "An identifier for a warehouse, such as a FC, IXD, upstream storage.", - "maxLength": 1024, - "minLength": 1, - "type": "string" - } - }, - "type": "object" - }, - "ScheduleSelfShipAppointmentRequest": { - "description": "`scheduleSelfShipAppointment` request.", - "properties": { - "reasonComment": { - "$ref": "#/definitions/ReasonComment" - } - }, - "type": "object", - "example": { - "reasonComment": "OTHER" - } - }, - "ScheduleSelfShipAppointmentResponse": { - "description": "`scheduleSelfShipAppointment` response.", - "properties": { - "selfShipAppointmentDetails": { - "$ref": "#/definitions/SelfShipAppointmentDetails" - } - }, - "required": [ - "selfShipAppointmentDetails" - ], - "type": "object", - "example": { - "selfShipAppointmentDetails": { - "appointmentId": 1000, - "appointmentSlotTime": { - "endTime": "2023-03-09T13:15:30Z", - "startTime": "2023-03-08T13:15:30Z" - }, - "appointmentStatus": "ARRIVAL_SCHEDULED" - } - } - }, - "SelfShipAppointmentDetails": { - "description": "Appointment details for carrier pickup or fulfillment center appointments.", - "properties": { - "appointmentId": { - "description": "Identifier for appointment.", - "type": "number" - }, - "appointmentSlotTime": { - "$ref": "#/definitions/AppointmentSlotTime" - }, - "appointmentStatus": { - "description": "Status of the appointment.", - "maxLength": 1024, - "minLength": 1, - "type": "string" - } - }, - "type": "object" - }, - "SelfShipAppointmentSlotsAvailability": { - "description": "The self ship appointment time slots availability and an expiration date for which the slots can be scheduled.", - "properties": { - "expiresAt": { - "description": "ISO 8601 datetime with pattern `yyyy-MM-ddTHH:mm:ss.sssZ`.", - "format": "date-time", - "type": "string" - }, - "slots": { - "description": "List of appointment slots.", - "items": { - "$ref": "#/definitions/AppointmentSlot" - }, - "type": "array" - } - }, - "type": "object" - }, - "SetPackingInformationRequest": { - "description": "`setPackingInformation` request.", - "properties": { - "packageGroupings": { - "description": "List of packing information for the inbound plan.", - "items": { - "$ref": "#/definitions/PackageGroupingInput" - }, - "type": "array" - } - }, - "type": "object", - "example": { - "packageGroupings": [ - { - "boxes": [ - { - "boxId": "boxId", - "contentInformationSource": "BOX_CONTENT_PROVIDED", - "contents": [ - { - "expiration": "2024-01-01", - "labelOwner": "AMAZON", - "manufacturingLotCode": "manufacturingLotCode", - "msku": "Sunglasses", - "prepOwner": "AMAZON", - "quantityInBox": 10 - } - ], - "dimensions": { - "height": 5, - "length": 3, - "unitOfMeasurement": "CM", - "width": 4 - }, - "quantity": 2, - "templateName": "templateName", - "weight": { - "unit": "KG", - "value": 5.5 - } - } - ], - "packingGroupId": "pg1234abcd-1234-abcd-5678-1234abcd5678", - "shipmentId": "sh1234abcd-1234-abcd-5678-1234abcd5678" - } - ] - } - }, - "SetPackingInformationResponse": { - "description": "`setPackingInformation` response.", - "properties": { - "operationId": { - "description": "UUID for the given operation.", - "maxLength": 38, - "minLength": 36, - "pattern": "^[a-zA-Z0-9-]*$", - "type": "string" - } - }, - "required": [ - "operationId" - ], - "type": "object" - }, - "Shipment": { - "description": "Contains information pertaining to a shipment in an inbound plan.", - "properties": { - "amazonReferenceId": { - "description": "A unique identifier created by Amazon that identifies this Amazon-partnered, Less Than Truckload/Full Truckload (LTL/FTL) shipment.", - "maxLength": 1024, - "minLength": 1, - "type": "string" - }, - "contactInformation": { - "$ref": "#/definitions/ContactInformation" - }, - "dates": { - "$ref": "#/definitions/Dates" - }, - "destination": { - "$ref": "#/definitions/ShipmentDestination" - }, - "inboundPlanId": { - "description": "Identifier to an inbound plan.", - "maxLength": 38, - "minLength": 38, - "pattern": "^[a-zA-Z0-9-]*$", - "type": "string" - }, - "name": { - "description": "The name of the shipment.", - "type": "string" - }, - "palletInformation": { - "$ref": "#/definitions/PalletInformation" - }, - "placementOptionId": { - "description": "Identifier to a placement option. A placement option represents the shipment splits and destinations of SKUs.", - "maxLength": 38, - "minLength": 38, - "pattern": "^[a-zA-Z0-9-]*$", - "type": "string" - }, - "selectedTransportationOptionId": { - "description": "Identifier to a transportation option. A transportation option represent one option for how to send a shipment.", - "maxLength": 38, - "minLength": 38, - "pattern": "^[a-zA-Z0-9-]*$", - "type": "string" - }, - "selfShipAppointmentDetails": { - "description": "List of self ship appointment details.", - "items": { - "$ref": "#/definitions/SelfShipAppointmentDetails" - }, - "type": "array" - }, - "shipmentConfirmationId": { - "description": "The confirmed shipment ID which shows up on labels (for example, FBA1234ABCD).", - "maxLength": 1024, - "minLength": 1, - "type": "string" - }, - "shipmentId": { - "description": "Identifier to a shipment. A shipment contains the boxes and units being inbounded.", - "maxLength": 38, - "minLength": 38, - "pattern": "^[a-zA-Z0-9-]*$", - "type": "string" - }, - "source": { - "$ref": "#/definitions/ShipmentSource" - }, - "status": { - "description": "The status of a shipment. The state of the shipment will typically start in `WORKING` and transition to `READY_TO_SHIP` once required actions are complete prior to being picked up or shipped out. Can be `ABANDONED`, `CANCELLED`, `CHECKED_IN`, `CLOSED`, `DELETED`, `DELIVERED`, `IN_TRANSIT`, `MIXED`, `READY_TO_SHIP`, `RECEIVING`, `SHIPPED`, or `WORKING`.", - "maxLength": 1024, - "minLength": 1, - "type": "string" - }, - "trackingDetails": { - "$ref": "#/definitions/TrackingDetails" - } - }, - "required": [ - "destination", - "inboundPlanId", - "placementOptionId", - "shipmentId", - "source" - ], - "type": "object" - }, - "ShipmentDestination": { - "description": "The Amazon fulfillment center address and warehouse ID.", - "properties": { - "address": { - "$ref": "#/definitions/Address", - "description": "The address the shipment should be sent to. Empty if the destination type is `AMAZON_OPTIMIZED`." - }, - "destinationType": { - "description": "The type of destination for this shipment. Can be `AMAZON_OPTIMIZED`, or `AMAZON_WAREHOUSE`.", - "maxLength": 1024, - "minLength": 1, - "type": "string" - }, - "warehouseId": { - "description": "The warehouse that the shipment should be sent to. Empty if the destination type is `AMAZON_OPTIMIZED`.", - "maxLength": 1024, - "minLength": 1, - "type": "string" - } - }, - "required": [ - "destinationType" - ], - "type": "object" - }, - "ShipmentSource": { - "description": "Specifies the 'ship from' address for the shipment.", - "properties": { - "address": { - "$ref": "#/definitions/Address" - }, - "sourceType": { - "description": "The type of source for this shipment. Can be `SELLER_FACILITY`.", - "maxLength": 1024, - "minLength": 1, - "type": "string" - } - }, - "required": [ - "sourceType" - ], - "type": "object" - }, - "ShipmentSummary": { - "description": "Summary information about a shipment.", - "properties": { - "shipmentId": { - "description": "Identifier to a shipment. A shipment contains the boxes and units being inbounded.", - "maxLength": 38, - "minLength": 38, - "pattern": "^[a-zA-Z0-9-]*$", - "type": "string" - }, - "status": { - "description": "The status of a shipment. The state of the shipment will typically start in `WORKING` and transition to `READY_TO_SHIP` once required actions are complete prior to being picked up or shipped out. Can be `ABANDONED`, `CANCELLED`, `CHECKED_IN`, `CLOSED`, `DELETED`, `DELIVERED`, `IN_TRANSIT`, `MIXED`, `READY_TO_SHIP`, `RECEIVING`, `SHIPPED`, or `WORKING`.", - "maxLength": 1024, - "minLength": 1, - "type": "string" - } - }, - "required": [ - "shipmentId", - "status" - ], - "type": "object", - "example": { - "shipmentId": "sh1234abcd-1234-abcd-5678-1234abcd5678", - "status": "SHIPPED" - } - }, - "ShipmentTransportationConfiguration": { - "description": "Details needed to generate the transportation options.", - "properties": { - "contactInformation": { - "$ref": "#/definitions/ContactInformation" - }, - "palletInformation": { - "$ref": "#/definitions/PalletInformation" - }, - "readyToShipWindow": { - "$ref": "#/definitions/WindowInput", - "description": "The range of dates within which the seller intends to ship their items. This is the pick-up date or \u201cready to ship\u201d date, not an estimated delivery date.\n" - }, - "shipmentId": { - "description": "Identifier to a shipment. A shipment contains the boxes and units being inbounded.", - "maxLength": 38, - "minLength": 38, - "pattern": "^[a-zA-Z0-9-]*$", - "type": "string" - } - }, - "required": [ - "readyToShipWindow", - "shipmentId" - ], - "type": "object" - }, - "ShippingConfiguration": { - "description": "The shipping configurations supported for the packing option. Available modes are ground small parcel, freight less-than-truckload (LTL), freight full-truckload (FTL) palletized, freight FTL non-palletized, ocean less-than-container-load (LCL), ocean full-container load (FCL), air small parcel, and air small parcel express.", - "properties": { - "shippingMode": { - "description": "Mode of shipment transportation that this option will provide. Can be `GROUND_SMALL_PARCEL`, `FREIGHT_LTL`, `FREIGHT_FTL_PALLET`, `FREIGHT_FTL_NONPALLET`, `OCEAN_LCL`, `OCEAN_FCL`, `AIR_SMALL_PARCEL`, or `AIR_SMALL_PARCEL_EXPRESS`.", - "maxLength": 1024, - "minLength": 1, - "type": "string" - }, - "shippingSolution": { - "description": "Shipping program for the option. Can be `AMAZON_PARTNERED_CARRIER` or `USE_YOUR_OWN_CARRIER`.", - "maxLength": 1024, - "minLength": 1, - "type": "string" - } - }, - "type": "object" - }, - "SpdTrackingDetail": { - "description": "Contains information related to Small Parcel Delivery (SPD) shipment tracking.", - "properties": { - "spdTrackingItems": { - "description": "List of Small Parcel Delivery (SPD) tracking items.", - "items": { - "$ref": "#/definitions/SpdTrackingItem" - }, - "type": "array" - } - }, - "type": "object" - }, - "SpdTrackingDetailInput": { - "description": "Contains input information to update Small Parcel Delivery (SPD) tracking information.", - "properties": { - "spdTrackingItems": { - "description": "List of Small Parcel Delivery (SPD) tracking items input.", - "items": { - "$ref": "#/definitions/SpdTrackingItemInput" - }, - "type": "array" - } - }, - "required": [ - "spdTrackingItems" - ], - "type": "object", - "example": { - "spdTrackingItems": [ - { - "boxId": "FBA10ABC0YY100001", - "trackingId": "FBA10002000" - } - ] - } - }, - "SpdTrackingItem": { - "description": "Contains information used to track and identify a Small Parcel Delivery (SPD) item.", - "properties": { - "boxId": { - "description": "The ID provided by Amazon that identifies a given box. This ID is comprised of the external shipment ID (which\n is generated after transportation has been confirmed) and the index of the box.", - "maxLength": 1024, - "minLength": 1, - "type": "string" - }, - "trackingId": { - "description": "The tracking ID associated with each box in a non-Amazon partnered Small Parcel Delivery (SPD) shipment.", - "maxLength": 1024, - "minLength": 1, - "type": "string" - }, - "trackingNumberValidationStatus": { - "description": "Whether or not Amazon has validated the tracking number. If more than 24 hours have passed and the status is\n not yet 'VALIDATED', please verify the number and update if necessary. Can be `VALIDATED` or `NOT_VALIDATED`.", - "maxLength": 1024, - "minLength": 1, - "type": "string" - } - }, - "type": "object" - }, - "SpdTrackingItemInput": { - "description": "Small Parcel Delivery (SPD) tracking items input information.", - "properties": { - "boxId": { - "description": "The ID provided by Amazon that identifies a given box. This ID is comprised of the external shipment ID (which\n is generated after transportation has been confirmed) and the index of the box.", - "maxLength": 1024, - "minLength": 1, - "type": "string" - }, - "trackingId": { - "description": "The tracking Id associated with each box in a non-Amazon partnered Small Parcel Delivery (SPD) shipment. The seller must provide this information. ", - "maxLength": 1024, - "minLength": 1, - "type": "string" - } - }, - "required": [ - "boxId", - "trackingId" - ], - "type": "object", - "example": { - "boxId": "FBA10ABC0YY100001", - "trackingId": "FBA10002000" - } - }, - "Stackability": { - "description": "Indicates whether pallets will be stacked when carrier arrives for pick-up.", - "enum": [ - "STACKABLE", - "NON_STACKABLE" - ], - "type": "string", - "x-docgen-enum-table-extension": [ - { - "value": "STACKABLE", - "description": "A pallet that can be stacked on top of another pallet." - }, - { - "value": "NON_STACKABLE", - "description": "A pallet that cannot be stacked on top of another pallet." - } - ] - }, - "TaxDetails": { - "description": "Information used to determine the tax compliance.", - "properties": { - "declaredValue": { - "$ref": "#/definitions/Currency" - }, - "hsnCode": { - "description": "Harmonized System of Nomenclature code.", - "maxLength": 1024, - "minLength": 1, - "type": "string" - }, - "taxRates": { - "description": "List of tax rates.", - "items": { - "$ref": "#/definitions/TaxRate" - }, - "type": "array" - } - }, - "type": "object" - }, - "TaxRate": { - "description": "Contains the type and rate of tax.", - "properties": { - "cessRate": { - "description": "Rate of cess tax.", - "format": "double", - "type": "number" - }, - "gstRate": { - "description": "Rate of gst tax.", - "format": "double", - "type": "number" - }, - "taxType": { - "description": "Type of tax. Can be `CGST`, `SGST`, `IGST`, or `TOTAL_TAX`.", - "maxLength": 1024, - "minLength": 1, - "type": "string" - } - }, - "type": "object" - }, - "TrackingDetails": { - "description": "Tracking information for Less-Than-Truckload (LTL) and Small Parcel Delivery (SPD) shipments.", - "properties": { - "ltlTrackingDetail": { - "$ref": "#/definitions/LtlTrackingDetail" - }, - "spdTrackingDetail": { - "$ref": "#/definitions/SpdTrackingDetail" - } - }, - "type": "object" - }, - "TrackingDetailsInput": { - "description": "Tracking information input for Less-Than-Truckload (LTL) and Small Parcel Delivery (SPD) shipments.", - "properties": { - "ltlTrackingDetail": { - "$ref": "#/definitions/LtlTrackingDetailInput" - }, - "spdTrackingDetail": { - "$ref": "#/definitions/SpdTrackingDetailInput" - } - }, - "type": "object", - "example": { - "ltlTrackingDetail": { - "billOfLadingNumber": "billOfLadingNumber", - "freightBillNumber": [ - "freightBillNumber1" - ] - } - } - }, - "TransportationOption": { - "description": "Contains information pertaining to a transportation option and the related carrier.", - "properties": { - "appointmentSlot": { - "$ref": "#/definitions/AppointmentSlot" - }, - "carrier": { - "$ref": "#/definitions/Carrier" - }, - "inboundPlanId": { - "description": "Identifier to an inbound plan.", - "maxLength": 38, - "minLength": 38, - "pattern": "^[a-zA-Z0-9-]*$", - "type": "string" - }, - "placementOptionId": { - "description": "The identifier of a placement option. A placement option represents the shipment splits and destinations of SKUs.", - "maxLength": 38, - "minLength": 38, - "pattern": "^[a-zA-Z0-9-]*$", - "type": "string" - }, - "quote": { - "$ref": "#/definitions/Quote" - }, - "shipmentId": { - "description": "Identifier to a shipment. A shipment contains the boxes and units being inbounded.", - "maxLength": 38, - "minLength": 38, - "pattern": "^[a-zA-Z0-9-]*$", - "type": "string" - }, - "shippingMode": { - "description": "The shipping mode associated with the transportation option. Available modes are ground small parcel, freight less-than-truckload (LTL), freight full-truckload (FTL) palletized, freight FTL non-palletized, ocean less-than-container-load (LCL), ocean full-container load (FCL), air small parcel, and air small parcel express.", - "maxLength": 1024, - "minLength": 1, - "type": "string" - }, - "shippingSolution": { - "description": "The shipping solution associated with the transportation option. Available solutions are Amazon-partnered carrier or 'use your own carrier'.", - "maxLength": 1024, - "minLength": 1, - "type": "string" - }, - "transportationOptionId": { - "description": "Identifier to a transportation option. A transportation option represent one option for how to send a shipment.", - "maxLength": 38, - "minLength": 38, - "pattern": "^[a-zA-Z0-9-]*$", - "type": "string" - } - }, - "required": [ - "carrier", - "inboundPlanId", - "placementOptionId", - "shipmentId", - "shippingMode", - "shippingSolution", - "transportationOptionId" - ], - "type": "object" - }, - "TransportationSelection": { - "description": "The transportation option selected to confirm.", - "properties": { - "contactInformation": { - "$ref": "#/definitions/ContactInformation" - }, - "deliveryWindow": { - "$ref": "#/definitions/WindowInput", - "description": "The range of dates within which the seller expects that their shipment will be delivered to Amazon.\n" - }, - "shipmentId": { - "description": "Shipment ID that the transportation Option is for.", - "maxLength": 38, - "minLength": 38, - "pattern": "^[a-zA-Z0-9-]*$", - "type": "string" - }, - "transportationOptionId": { - "description": "Transportation option being selected for the provided shipment.", - "maxLength": 38, - "minLength": 38, - "pattern": "^[a-zA-Z0-9-]*$", - "type": "string" - } - }, - "required": [ - "shipmentId", - "transportationOptionId" - ], - "type": "object" - }, - "UnitOfMeasurement": { - "description": "Unit of linear measure.", - "enum": [ - "IN", - "CM" - ], - "type": "string", - "x-docgen-enum-table-extension": [ - { - "value": "IN", - "description": "Inches." - }, - { - "value": "CM", - "description": "Centimeters." - } - ] - }, - "UnitOfWeight": { - "description": "Unit of the weight being measured.", - "enum": [ - "LB", - "KG" - ], - "type": "string", - "x-docgen-enum-table-extension": [ - { - "value": "LB", - "description": "Pounds." - }, - { - "value": "KG", - "description": "Kilograms." - } - ] - }, - "UpdateItemComplianceDetailsRequest": { - "description": "The `updateItemComplianceDetails` request.", - "properties": { - "msku": { - "description": "The merchant SKU, a merchant-supplied identifier for a specific SKU.", - "maxLength": 40, - "minLength": 1, - "type": "string" - }, - "taxDetails": { - "$ref": "#/definitions/TaxDetails" - } - }, - "required": [ - "msku", - "taxDetails" - ], - "type": "object", - "example": { - "msku": "Sunglasses", - "taxDetails": { - "declaredValue": { - "amount": 5.5, - "code": "CAD" - }, - "hsnCode": "hsnCode" - } - } - }, - "UpdateItemComplianceDetailsResponse": { - "description": "The `updateItemComplianceDetails` response.", - "properties": { - "operationId": { - "description": "UUID for the given operation.", - "maxLength": 38, - "minLength": 36, - "pattern": "^[a-zA-Z0-9-]*$", - "type": "string" - } - }, - "required": [ - "operationId" - ], - "type": "object" - }, - "UpdateShipmentDeliveryWindowRequest": { - "description": "The `updateShipmentDeliveryWindow` request.", - "properties": { - "deliveryWindow": { - "$ref": "#/definitions/WindowInput", - "description": "The range of dates within which the seller expects that their shipment will be delivered to Amazon.\n" - } - }, - "required": [ - "deliveryWindow" - ], - "type": "object", - "example": { - "deliveryWindow": { - "start": "2024-01-01T00:00Z" - } - } - }, - "UpdateShipmentDeliveryWindowResponse": { - "description": "The `updateShipmentDeliveryWindow` response.", - "properties": { - "operationId": { - "description": "UUID for the given operation.", - "maxLength": 38, - "minLength": 36, - "pattern": "^[a-zA-Z0-9-]*$", - "type": "string" - } - }, - "required": [ - "operationId" - ], - "type": "object" - }, - "UpdateShipmentTrackingDetailsRequest": { - "description": "The `updateShipmentTrackingDetails` request.", - "properties": { - "trackingDetails": { - "$ref": "#/definitions/TrackingDetailsInput" - } - }, - "required": [ - "trackingDetails" - ], - "type": "object", - "example": { - "trackingDetails": { - "spdTrackingDetail": { - "spdTrackingItems": [ - { - "boxId": "FBA10ABC0YY100001", - "trackingId": "FBA10002000" - } - ] - } - } - } - }, - "UpdateShipmentTrackingDetailsResponse": { - "description": "The `updateShipmentTrackingDetails` response.", - "properties": { - "operationId": { - "description": "UUID for the given operation.", - "maxLength": 38, - "minLength": 36, - "pattern": "^[a-zA-Z0-9-]*$", - "type": "string" - } - }, - "required": [ - "operationId" - ], - "type": "object" - }, - "Weight": { - "description": "The weight of a package.", - "properties": { - "unit": { - "$ref": "#/definitions/UnitOfWeight" - }, - "value": { - "description": "Value of a weight.", - "format": "double", - "maximum": 100000, - "minimum": 0, - "type": "number" - } - }, - "required": [ - "unit", - "value" - ], - "type": "object" - }, - "Window": { - "description": "Contains a start and end DateTime representing a time range.", - "properties": { - "editableUntil": { - "description": "The timestamp at which this Window can no longer be edited.", - "format": "date-time", - "type": "string" - }, - "end": { - "description": "The end timestamp of the window.", - "format": "date-time", - "type": "string" - }, - "start": { - "description": "The start timestamp of the window.", - "format": "date-time", - "type": "string" - } - }, - "required": [ - "end", - "start" - ], - "type": "object" - }, - "WindowInput": { - "description": "Contains only a starting DateTime.", - "properties": { - "start": { - "description": "The start date of the window. The time component must be zero.", - "format": "date-time", - "type": "string" - } - }, - "required": [ - "start" - ], - "type": "object" - } - }, - "x-components": {} -} \ No newline at end of file From fbce166dcbdcb62289187a645ca86c0231a4b875 Mon Sep 17 00:00:00 2001 From: lisa-delaney Date: Wed, 19 Jun 2024 14:59:00 -0700 Subject: [PATCH 134/340] Update FBA Inventory and Fulfillment Outbound models --- .DS_Store | Bin 0 -> 8196 bytes models/.DS_Store | Bin 0 -> 6148 bytes .../fulfillmentOutbound_2020-07-01.json | 776 +++++++++++++----- 3 files changed, 549 insertions(+), 227 deletions(-) create mode 100644 .DS_Store create mode 100644 models/.DS_Store diff --git a/.DS_Store b/.DS_Store new file mode 100644 index 0000000000000000000000000000000000000000..20dd4b7e5ad4e98fa9264c11d1da949b6ecd02dd GIT binary patch literal 8196 zcmeHMU2GIp6u#fIlo>m~v{ER@vMUQnptZaF6r_mTAATyWAluSyDc0Scp&gl>sXMc~ z{G?i9G@2OkKkCw^ zd(WLYXTCFc&n#mMZ3Q*XSUqD*q{Bs}n!0N=cicU$YJ#t+Bm~(rW-vQbvPUz9mAPtm zpa>!mL?DPj5P={9K?H7u2+*GGHt{<9J|7MGAOb-I{+AJO-wzQwTuk^l&e3~yQ0J8Z zgl-AoH9Ds{z_W??nDB9&qi0HM^6CM;Df|)x+?>WE?sUS0kK-J??sk|S0r z>7<>4-ImVpcBLN6GBV}!bY_>Xm4=kr?Uw1JbyLfG2D+-zl)*mTRIO5*RWMcCvrX~= zQ4*ygWx=6Cjq&*Ecta!}TiZO=5IGc&t!i$FtX|bTHYSO6(WaK2L;H-JX+6VTf&V&S zGp4w9WU60=U2NyyB`T6-zs{EZl5VM%XN3Av{R8q~O3zwmQa`8-DYI;Hu9L(ad96rJ z^<^!ikTdNer6!v;vIQgUXsw3fPA1(fJDax*V~1tyj&7O#DM#Dyloy&blp3(DywmP2 zHl!#8TidD8T6$6IpcQGUTK8((N8M%YU0U8Ij3#2-Md|p=x#7jj8dt8}kl57OegDKP zrKVPv>*n+obz9FET7TNkYNo22!@VV4bw&m#!lt9|)wR4N)u5rrOy{(T+WL9(Z(9%w z@i|v)%B!Rb8U5jc?i^5}qR6iiS`?K;<-I|bZnE1_-4#`DBotb7hbZoL_3e3$dajm3 zD;mfk-D6XL{M(GhB}uV+_7M%Zsl29HloYksNM|&|SFLX$)waGO_uN<3-6Kk=td+}= zGd9b7mv5a$I5%r zxNlJ?)bB3Us;ZhwPS3BOR~t%(dPU`HvQc!is1xn!S#b7?(M0l;_e`RR<^0)1IWXqM zSejiHeRMau5L?RD(WchJ_EORvW>2%D>|J((on)uk8Fr4HXFs!x>=*VcyMzkJsKo*- zMkAUKLmcbTf(_V+ZRkNSb|Hg(Fpz@<2V-~ykK!<%z!5x)=kNkv!E1OO$M7bO<9&R9 z5Ai8J#}_z_FL4e(;yixB1^k9f_+6+G<_n93CBjmnNr(w6g;m04VT-Us=od1=urR_s z5X$McXR>F)0g@-ZMkw9<&w#@5Yo}Xy%ht|&<*pk(-M*RWCfKdB>*majELq;PdfnZv zmubjZTPEtC6TsvAq)hQR@9| zX~V^(^0Kf}MJdC@72(FPB2cDsF&17aD;1Q7l4rXn+$bv$xp0@5hWbJK|F@XiRn+`DLjuC@e*FfQM^igKZZAm?Qh|2yn~N$0w-|_pLo2Vz_<7w zKTKhA_hcsH!c-;~lX=sy%wf`(*+1Fjrj;uAo!7hd|EBAI|G#Pd3vN7!KoEhyjsPk< zk{xX{?|Sbyx7Lo(@gN;;bLWk7^h~Jp%5g%k94EZ|hasIuXsTJX8K#M-)r>WTmBYbk zwQ75JA3u5aa`HK!7V4`ZEpRYtyKVJCPEh#GjeiN}MXritc=D`|=!j|{I|7~@-xP2P zVC(@@4UM%Hfc9&M-!~5NAw%?sepmYaJwvfS7+pn?DZ#F#c#6(H;_wqwy_(B5L%@cH zx4W6;+$xTMBk&Iq;PXKuu?AKfqx$GTrk?;%{*BOvGQTC*M_LW6Hb&6{6UG&4T!npN z2;+`+X~zXt8>7aZgnfJnyRxt^6roqg{8A4m5g2v3Bj5;JCa`U)9lrlxT>t*R?Br^W zfFtl<5fH7z@NkSR*}HXZb9~oIqz_1JJgzaSU69%9SQq#zzK^60eUb~%z-nU@Eim^Z MpfR}25!fh!b428+3;+NC literal 0 HcmV?d00001 diff --git a/models/fulfillment-outbound-api-model/fulfillmentOutbound_2020-07-01.json b/models/fulfillment-outbound-api-model/fulfillmentOutbound_2020-07-01.json index 555969314..6eb14282a 100644 --- a/models/fulfillment-outbound-api-model/fulfillmentOutbound_2020-07-01.json +++ b/models/fulfillment-outbound-api-model/fulfillmentOutbound_2020-07-01.json @@ -41,7 +41,8 @@ "required": true, "schema": { "$ref": "#/definitions/GetFulfillmentPreviewRequest" - } + }, + "description": "GetFulfillmentPreviewRequest parameter" } ], "responses": { @@ -138,10 +139,6 @@ "$ref": "#/definitions/GetFulfillmentPreviewResponse" }, "headers": { - "x-amzn-RateLimit-Limit": { - "type": "string", - "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." - }, "x-amzn-RequestId": { "type": "string", "description": "Unique request reference identifier." @@ -182,10 +179,6 @@ "$ref": "#/definitions/GetFulfillmentPreviewResponse" }, "headers": { - "x-amzn-RateLimit-Limit": { - "type": "string", - "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." - }, "x-amzn-RequestId": { "type": "string", "description": "Unique request reference identifier." @@ -198,10 +191,6 @@ "$ref": "#/definitions/GetFulfillmentPreviewResponse" }, "headers": { - "x-amzn-RateLimit-Limit": { - "type": "string", - "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." - }, "x-amzn-RequestId": { "type": "string", "description": "Unique request reference identifier." @@ -213,16 +202,162 @@ "schema": { "$ref": "#/definitions/GetFulfillmentPreviewResponse" }, + "headers": { + "x-amzn-RequestId": { + "type": "string", + "description": "Unique request reference identifier." + } + } + } + } + } + }, + "/fba/outbound/2020-07-01/deliveryOffers": { + "x-amzn-api-sandbox": { + "dynamic": {} + }, + "post": { + "tags": [ + "fbaOutbound" + ], + "description": "Returns delivery options that include an estimated delivery date and offer expiration, based on criteria that you specify.\n\n**Usage Plan:**\n\n| Rate (requests per second) | Burst |\n| ---- | ---- |\n| 5 | 30 |\n\nThe `x-amzn-RateLimit-Limit` response header returns the usage plan rate limits that were applied to the requested operation, when available. The table above indicates the default rate and burst values for this operation. Selling partners whose business demands require higher throughput may see higher rate and burst values than those shown here. For more information, see [Usage Plans and Rate Limits in the Selling Partner API](https://developer-docs.amazon.com/sp-api/docs/usage-plans-and-rate-limits-in-the-sp-api).", + "operationId": "deliveryOffers", + "parameters": [ + { + "in": "body", + "name": "body", + "required": true, + "schema": { + "$ref": "#/definitions/GetDeliveryOffersRequest" + }, + "description": "GetDeliveryOffersRequest parameter" + } + ], + "responses": { + "200": { + "description": "Success.", + "schema": { + "$ref": "#/definitions/GetDeliveryOffersResponse" + }, + "examples": { + "payload": { + "deliveryOffers": [{ + "expiresAt": "2023-10-11T18:00:00Z", + "dateRange": { + "earliest": "2023-10-13T10:00:00Z", + "latest": "2023-10-14T16:00:00Z" + }, + "policy": { + "messaging": { + "text": "Get it as soon as Wed, Aug 23", + "locale": "en_US" + } + } + }] + } + }, "headers": { "x-amzn-RateLimit-Limit": { "type": "string", - "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." + "description": "Your rate limit (requests per second) for this operation." }, "x-amzn-RequestId": { "type": "string", "description": "Unique request reference identifier." } } + }, + "400": { + "description": "Request has missing or invalid parameters and cannot be parsed.", + "schema": { + "$ref": "#/definitions/GetDeliveryOffersResponse" + }, + "headers": { + "x-amzn-RateLimit-Limit": { + "type": "string", + "description": "Your rate limit (requests per second) for this operation." + }, + "x-amzn-RequestId": { + "type": "string", + "description": "Unique request reference identifier." + } + } + }, + "401": { + "description": "The request's Authorization header is not formatted correctly or does not contain a valid token.", + "schema": { + "$ref": "#/definitions/GetDeliveryOffersResponse" + }, + "headers": { + "x-amzn-RequestId": { + "type": "string", + "description": "Unique request reference identifier." + } + } + }, + "403": { + "description": "Indicates that access to the resource is forbidden. Possible reasons include Access Denied, Unauthorized, Expired Token, or Invalid Signature.", + "schema": { + "$ref": "#/definitions/GetDeliveryOffersResponse" + }, + "headers": { + "x-amzn-RequestId": { + "type": "string", + "description": "Unique request reference identifier." + } + } + }, + "404": { + "description": "The specified resource does not exist.", + "schema": { + "$ref": "#/definitions/GetDeliveryOffersResponse" + }, + "headers": { + "x-amzn-RateLimit-Limit": { + "type": "string", + "description": "Your rate limit (requests per second) for this operation." + }, + "x-amzn-RequestId": { + "type": "string", + "description": "Unique request reference identifier." + } + } + }, + "429": { + "description": "The frequency of requests was greater than allowed.", + "schema": { + "$ref": "#/definitions/GetDeliveryOffersResponse" + }, + "headers": { + "x-amzn-RequestId": { + "type": "string", + "description": "Unique request reference identifier." + } + } + }, + "500": { + "description": "An unexpected condition occurred that prevented the server from fulfilling the request.", + "schema": { + "$ref": "#/definitions/GetDeliveryOffersResponse" + }, + "headers": { + "x-amzn-RequestId": { + "type": "string", + "description": "Unique request reference identifier." + } + } + }, + "503": { + "description": "Temporary overloading or maintenance of the server.", + "schema": { + "$ref": "#/definitions/GetDeliveryOffersResponse" + }, + "headers": { + "x-amzn-RequestId": { + "type": "string", + "description": "Unique request reference identifier." + } + } } } } @@ -352,10 +487,6 @@ "$ref": "#/definitions/ListAllFulfillmentOrdersResponse" }, "headers": { - "x-amzn-RateLimit-Limit": { - "type": "string", - "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." - }, "x-amzn-RequestId": { "type": "string", "description": "Unique request reference identifier." @@ -396,10 +527,6 @@ "$ref": "#/definitions/ListAllFulfillmentOrdersResponse" }, "headers": { - "x-amzn-RateLimit-Limit": { - "type": "string", - "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." - }, "x-amzn-RequestId": { "type": "string", "description": "Unique request reference identifier." @@ -412,10 +539,6 @@ "$ref": "#/definitions/ListAllFulfillmentOrdersResponse" }, "headers": { - "x-amzn-RateLimit-Limit": { - "type": "string", - "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." - }, "x-amzn-RequestId": { "type": "string", "description": "Unique request reference identifier." @@ -428,10 +551,6 @@ "$ref": "#/definitions/ListAllFulfillmentOrdersResponse" }, "headers": { - "x-amzn-RateLimit-Limit": { - "type": "string", - "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." - }, "x-amzn-RequestId": { "type": "string", "description": "Unique request reference identifier." @@ -453,7 +572,8 @@ "required": true, "schema": { "$ref": "#/definitions/CreateFulfillmentOrderRequest" - } + }, + "description": "CreateFulfillmentOrderRequest parameter" } ], "responses": { @@ -495,10 +615,6 @@ "$ref": "#/definitions/CreateFulfillmentOrderResponse" }, "headers": { - "x-amzn-RateLimit-Limit": { - "type": "string", - "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." - }, "x-amzn-RequestId": { "type": "string", "description": "Unique request reference identifier." @@ -539,10 +655,6 @@ "$ref": "#/definitions/CreateFulfillmentOrderResponse" }, "headers": { - "x-amzn-RateLimit-Limit": { - "type": "string", - "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." - }, "x-amzn-RequestId": { "type": "string", "description": "Unique request reference identifier." @@ -555,10 +667,6 @@ "$ref": "#/definitions/CreateFulfillmentOrderResponse" }, "headers": { - "x-amzn-RateLimit-Limit": { - "type": "string", - "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." - }, "x-amzn-RequestId": { "type": "string", "description": "Unique request reference identifier." @@ -571,10 +679,6 @@ "$ref": "#/definitions/CreateFulfillmentOrderResponse" }, "headers": { - "x-amzn-RateLimit-Limit": { - "type": "string", - "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." - }, "x-amzn-RequestId": { "type": "string", "description": "Unique request reference identifier." @@ -686,10 +790,6 @@ "$ref": "#/definitions/GetPackageTrackingDetailsResponse" }, "headers": { - "x-amzn-RateLimit-Limit": { - "type": "string", - "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." - }, "x-amzn-RequestId": { "type": "string", "description": "Unique request reference identifier." @@ -730,10 +830,6 @@ "$ref": "#/definitions/GetPackageTrackingDetailsResponse" }, "headers": { - "x-amzn-RateLimit-Limit": { - "type": "string", - "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." - }, "x-amzn-RequestId": { "type": "string", "description": "Unique request reference identifier." @@ -746,10 +842,6 @@ "$ref": "#/definitions/GetPackageTrackingDetailsResponse" }, "headers": { - "x-amzn-RateLimit-Limit": { - "type": "string", - "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." - }, "x-amzn-RequestId": { "type": "string", "description": "Unique request reference identifier." @@ -762,10 +854,6 @@ "$ref": "#/definitions/GetPackageTrackingDetailsResponse" }, "headers": { - "x-amzn-RateLimit-Limit": { - "type": "string", - "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." - }, "x-amzn-RequestId": { "type": "string", "description": "Unique request reference identifier." @@ -908,10 +996,6 @@ "$ref": "#/definitions/ListReturnReasonCodesResponse" }, "headers": { - "x-amzn-RateLimit-Limit": { - "type": "string", - "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." - }, "x-amzn-RequestId": { "type": "string", "description": "Unique request reference identifier." @@ -952,10 +1036,6 @@ "$ref": "#/definitions/ListReturnReasonCodesResponse" }, "headers": { - "x-amzn-RateLimit-Limit": { - "type": "string", - "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." - }, "x-amzn-RequestId": { "type": "string", "description": "Unique request reference identifier." @@ -968,10 +1048,6 @@ "$ref": "#/definitions/ListReturnReasonCodesResponse" }, "headers": { - "x-amzn-RateLimit-Limit": { - "type": "string", - "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." - }, "x-amzn-RequestId": { "type": "string", "description": "Unique request reference identifier." @@ -984,10 +1060,6 @@ "$ref": "#/definitions/ListReturnReasonCodesResponse" }, "headers": { - "x-amzn-RateLimit-Limit": { - "type": "string", - "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." - }, "x-amzn-RequestId": { "type": "string", "description": "Unique request reference identifier." @@ -1014,7 +1086,8 @@ "required": true, "schema": { "$ref": "#/definitions/CreateFulfillmentReturnRequest" - } + }, + "description": "CreateFulfillmentReturnRequest parameter" }, { "name": "sellerFulfillmentOrderId", @@ -1097,10 +1170,6 @@ "$ref": "#/definitions/CreateFulfillmentReturnResponse" }, "headers": { - "x-amzn-RateLimit-Limit": { - "type": "string", - "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." - }, "x-amzn-RequestId": { "type": "string", "description": "Unique request reference identifier." @@ -1113,10 +1182,6 @@ "$ref": "#/definitions/CreateFulfillmentReturnResponse" }, "headers": { - "x-amzn-RateLimit-Limit": { - "type": "string", - "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." - }, "x-amzn-RequestId": { "type": "string", "description": "Unique request reference identifier." @@ -1145,10 +1210,6 @@ "$ref": "#/definitions/CreateFulfillmentReturnResponse" }, "headers": { - "x-amzn-RateLimit-Limit": { - "type": "string", - "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." - }, "x-amzn-RequestId": { "type": "string", "description": "Unique request reference identifier." @@ -1161,10 +1222,6 @@ "$ref": "#/definitions/CreateFulfillmentReturnResponse" }, "headers": { - "x-amzn-RateLimit-Limit": { - "type": "string", - "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." - }, "x-amzn-RequestId": { "type": "string", "description": "Unique request reference identifier." @@ -1177,10 +1234,6 @@ "$ref": "#/definitions/CreateFulfillmentReturnResponse" }, "headers": { - "x-amzn-RateLimit-Limit": { - "type": "string", - "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." - }, "x-amzn-RequestId": { "type": "string", "description": "Unique request reference identifier." @@ -1297,7 +1350,8 @@ "sellerFulfillmentOrderItemId": "OrderItemID1", "quantity": 3, "packageNumber": 0, - "serialNumber": "" + "serialNumber": "", + "manufacturerLotCodes": ["LOT0822-1234", "LOT1030-5678"] } ] } @@ -1339,10 +1393,6 @@ "$ref": "#/definitions/GetFulfillmentOrderResponse" }, "headers": { - "x-amzn-RateLimit-Limit": { - "type": "string", - "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." - }, "x-amzn-RequestId": { "type": "string", "description": "Unique request reference identifier." @@ -1383,10 +1433,6 @@ "$ref": "#/definitions/GetFulfillmentOrderResponse" }, "headers": { - "x-amzn-RateLimit-Limit": { - "type": "string", - "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." - }, "x-amzn-RequestId": { "type": "string", "description": "Unique request reference identifier." @@ -1399,10 +1445,6 @@ "$ref": "#/definitions/GetFulfillmentOrderResponse" }, "headers": { - "x-amzn-RateLimit-Limit": { - "type": "string", - "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." - }, "x-amzn-RequestId": { "type": "string", "description": "Unique request reference identifier." @@ -1415,10 +1457,6 @@ "$ref": "#/definitions/GetFulfillmentOrderResponse" }, "headers": { - "x-amzn-RateLimit-Limit": { - "type": "string", - "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." - }, "x-amzn-RequestId": { "type": "string", "description": "Unique request reference identifier." @@ -1440,7 +1478,8 @@ "required": true, "schema": { "$ref": "#/definitions/UpdateFulfillmentOrderRequest" - } + }, + "description": "UpdateFulfillmentOrderRequest parameter" }, { "name": "sellerFulfillmentOrderId", @@ -1490,10 +1529,6 @@ "$ref": "#/definitions/UpdateFulfillmentOrderResponse" }, "headers": { - "x-amzn-RateLimit-Limit": { - "type": "string", - "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." - }, "x-amzn-RequestId": { "type": "string", "description": "Unique request reference identifier." @@ -1534,10 +1569,6 @@ "$ref": "#/definitions/UpdateFulfillmentOrderResponse" }, "headers": { - "x-amzn-RateLimit-Limit": { - "type": "string", - "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." - }, "x-amzn-RequestId": { "type": "string", "description": "Unique request reference identifier." @@ -1550,10 +1581,6 @@ "$ref": "#/definitions/UpdateFulfillmentOrderResponse" }, "headers": { - "x-amzn-RateLimit-Limit": { - "type": "string", - "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." - }, "x-amzn-RequestId": { "type": "string", "description": "Unique request reference identifier." @@ -1566,10 +1593,6 @@ "$ref": "#/definitions/UpdateFulfillmentOrderResponse" }, "headers": { - "x-amzn-RateLimit-Limit": { - "type": "string", - "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." - }, "x-amzn-RequestId": { "type": "string", "description": "Unique request reference identifier." @@ -1638,10 +1661,6 @@ "$ref": "#/definitions/CancelFulfillmentOrderResponse" }, "headers": { - "x-amzn-RateLimit-Limit": { - "type": "string", - "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." - }, "x-amzn-RequestId": { "type": "string", "description": "Unique request reference identifier." @@ -1682,10 +1701,6 @@ "$ref": "#/definitions/CancelFulfillmentOrderResponse" }, "headers": { - "x-amzn-RateLimit-Limit": { - "type": "string", - "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." - }, "x-amzn-RequestId": { "type": "string", "description": "Unique request reference identifier." @@ -1698,10 +1713,6 @@ "$ref": "#/definitions/CancelFulfillmentOrderResponse" }, "headers": { - "x-amzn-RateLimit-Limit": { - "type": "string", - "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." - }, "x-amzn-RequestId": { "type": "string", "description": "Unique request reference identifier." @@ -1714,10 +1725,6 @@ "$ref": "#/definitions/CancelFulfillmentOrderResponse" }, "headers": { - "x-amzn-RateLimit-Limit": { - "type": "string", - "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." - }, "x-amzn-RequestId": { "type": "string", "description": "Unique request reference identifier." @@ -1753,7 +1760,8 @@ "required": true, "schema": { "$ref": "#/definitions/SubmitFulfillmentOrderStatusUpdateRequest" - } + }, + "description": "The identifier assigned to the item by the seller when the fulfillment order was created." } ], "responses": { @@ -1763,10 +1771,6 @@ "$ref": "#/definitions/SubmitFulfillmentOrderStatusUpdateResponse" }, "headers": { - "x-amzn-RateLimit-Limit": { - "type": "string", - "description": "Your rate limit (requests per second) for this operation." - }, "x-amzn-RequestId": { "type": "string", "description": "Unique request reference identifier." @@ -1779,10 +1783,6 @@ "$ref": "#/definitions/SubmitFulfillmentOrderStatusUpdateResponse" }, "headers": { - "x-amzn-RateLimit-Limit": { - "type": "string", - "description": "Your rate limit (requests per second) for this operation." - }, "x-amzn-RequestId": { "type": "string", "description": "Unique request reference identifier." @@ -1795,10 +1795,6 @@ "$ref": "#/definitions/SubmitFulfillmentOrderStatusUpdateResponse" }, "headers": { - "x-amzn-RateLimit-Limit": { - "type": "string", - "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." - }, "x-amzn-RequestId": { "type": "string", "description": "Unique request reference identifier." @@ -1823,10 +1819,6 @@ "$ref": "#/definitions/SubmitFulfillmentOrderStatusUpdateResponse" }, "headers": { - "x-amzn-RateLimit-Limit": { - "type": "string", - "description": "Your rate limit (requests per second) for this operation." - }, "x-amzn-RequestId": { "type": "string", "description": "Unique request reference identifier." @@ -1839,10 +1831,6 @@ "$ref": "#/definitions/SubmitFulfillmentOrderStatusUpdateResponse" }, "headers": { - "x-amzn-RateLimit-Limit": { - "type": "string", - "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." - }, "x-amzn-RequestId": { "type": "string", "description": "Unique request reference identifier." @@ -1855,10 +1843,6 @@ "$ref": "#/definitions/SubmitFulfillmentOrderStatusUpdateResponse" }, "headers": { - "x-amzn-RateLimit-Limit": { - "type": "string", - "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." - }, "x-amzn-RequestId": { "type": "string", "description": "Unique request reference identifier." @@ -1871,10 +1855,6 @@ "$ref": "#/definitions/SubmitFulfillmentOrderStatusUpdateResponse" }, "headers": { - "x-amzn-RateLimit-Limit": { - "type": "string", - "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." - }, "x-amzn-RequestId": { "type": "string", "description": "Unique request reference identifier." @@ -1959,10 +1939,6 @@ "$ref": "#/definitions/GetFeaturesResponse" }, "headers": { - "x-amzn-RateLimit-Limit": { - "type": "string", - "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." - }, "x-amzn-RequestId": { "type": "string", "description": "Unique request reference identifier." @@ -2003,10 +1979,6 @@ "$ref": "#/definitions/GetFeaturesResponse" }, "headers": { - "x-amzn-RateLimit-Limit": { - "type": "string", - "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." - }, "x-amzn-RequestId": { "type": "string", "description": "Unique request reference identifier." @@ -2019,10 +1991,6 @@ "$ref": "#/definitions/GetFeaturesResponse" }, "headers": { - "x-amzn-RateLimit-Limit": { - "type": "string", - "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." - }, "x-amzn-RequestId": { "type": "string", "description": "Unique request reference identifier." @@ -2035,10 +2003,6 @@ "$ref": "#/definitions/GetFeaturesResponse" }, "headers": { - "x-amzn-RateLimit-Limit": { - "type": "string", - "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." - }, "x-amzn-RequestId": { "type": "string", "description": "Unique request reference identifier." @@ -2079,6 +2043,14 @@ "description": "A string token returned in the response to your previous request that is used to return the next response page. A value of null will return the first page.", "required": false, "type": "string" + }, + { + "name": "queryStartDate", + "in": "query", + "description": "A date that you can use to select inventory that has been updated since a specified date. An update is defined as any change in feature-enabled inventory availability. The date must be in the format yyyy-MM-ddTHH:mm:ss.sssZ", + "required": false, + "type": "string", + "format": "date-time" } ], "responses": { @@ -2151,10 +2123,6 @@ "$ref": "#/definitions/GetFeatureInventoryResponse" }, "headers": { - "x-amzn-RateLimit-Limit": { - "type": "string", - "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." - }, "x-amzn-RequestId": { "type": "string", "description": "Unique request reference identifier." @@ -2195,10 +2163,6 @@ "$ref": "#/definitions/GetFeatureInventoryResponse" }, "headers": { - "x-amzn-RateLimit-Limit": { - "type": "string", - "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." - }, "x-amzn-RequestId": { "type": "string", "description": "Unique request reference identifier." @@ -2211,10 +2175,6 @@ "$ref": "#/definitions/GetFeatureInventoryResponse" }, "headers": { - "x-amzn-RateLimit-Limit": { - "type": "string", - "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." - }, "x-amzn-RequestId": { "type": "string", "description": "Unique request reference identifier." @@ -2227,10 +2187,6 @@ "$ref": "#/definitions/GetFeatureInventoryResponse" }, "headers": { - "x-amzn-RateLimit-Limit": { - "type": "string", - "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." - }, "x-amzn-RequestId": { "type": "string", "description": "Unique request reference identifier." @@ -2326,10 +2282,6 @@ "$ref": "#/definitions/GetFeatureSkuResponse" }, "headers": { - "x-amzn-RateLimit-Limit": { - "type": "string", - "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." - }, "x-amzn-RequestId": { "type": "string", "description": "Unique request reference identifier." @@ -2370,10 +2322,6 @@ "$ref": "#/definitions/GetFeatureSkuResponse" }, "headers": { - "x-amzn-RateLimit-Limit": { - "type": "string", - "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." - }, "x-amzn-RequestId": { "type": "string", "description": "Unique request reference identifier." @@ -2386,10 +2334,6 @@ "$ref": "#/definitions/GetFeatureSkuResponse" }, "headers": { - "x-amzn-RateLimit-Limit": { - "type": "string", - "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." - }, "x-amzn-RequestId": { "type": "string", "description": "Unique request reference identifier." @@ -2402,10 +2346,6 @@ "$ref": "#/definitions/GetFeatureSkuResponse" }, "headers": { - "x-amzn-RateLimit-Limit": { - "type": "string", - "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." - }, "x-amzn-RequestId": { "type": "string", "description": "Unique request reference identifier." @@ -2707,6 +2647,10 @@ "description": "The destination address for the fulfillment order.", "$ref": "#/definitions/Address" }, + "deliveryPreferences": { + "description": "The delivery preferences applied to the destination address. These preferences will be applied when possible and are best effort.\nThis feature is currently supported only in the JP marketplace and not applicable for other marketplaces.", + "$ref": "#/definitions/DeliveryPreferences" + }, "fulfillmentAction": { "$ref": "#/definitions/FulfillmentAction" }, @@ -2754,6 +2698,7 @@ "description": "The `createFulfillmentReturn` operation creates a fulfillment return for items that were fulfilled using the `createFulfillmentOrder` operation. For calls to `createFulfillmentReturn`, you must include `ReturnReasonCode` values returned by a previous call to the `listReturnReasonCodes` operation." }, "CreateFulfillmentReturnResult": { + "description": "The result for the createFulfillmentReturn operation.", "type": "object", "properties": { "returnItems": { @@ -2868,6 +2813,65 @@ "$ref": "#/definitions/DeliveryWindow" } }, + "DeliveryPreferences": { + "type": "object", + "properties": { + "deliveryInstructions": { + "type": "string", + "description": "Additional delivery instructions. For example, this could be instructions on how to enter a building, nearby landmark or navigation instructions, 'Beware of dogs', etc.", + "maxLength": 250 + }, + "dropOffLocation": { + "description": "The preferred location to leave packages at the destination address.", + "$ref": "#/definitions/DropOffLocation" + } + }, + "description": "The delivery preferences applied to the destination address. These preferences will be applied when possible and are best effort.\nThis feature is currently supported only in the JP marketplace and not applicable for other marketplaces." + }, + "DropOffLocation": { + "type": "object", + "required": ["type"], + "properties": { + "type": { + "type": "string", + "description": "Specifies the preferred location to leave the package at the destination address.", + "enum": ["FRONT_DOOR", "DELIVERY_BOX", "GAS_METER_BOX", "BICYCLE_BASKET", "GARAGE", "RECEPTIONIST", "FALLBACK_NEIGHBOR_DELIVERY", "DO_NOT_LEAVE_UNATTENDED"], + "x-docgen-enum-table-extension": [{ + "value": "FRONT_DOOR", + "description": "Indicates delivery preferred to front door." + }, { + "value": "DELIVERY_BOX", + "description": "Indicates delivery preferred to a delivery box." + }, { + "value": "GAS_METER_BOX", + "description": "Indicates delivery preferred to a gas meter box." + }, { + "value": "BICYCLE_BASKET", + "description": "Indicates delivery preferred to a bicycle basket." + }, { + "value": "GARAGE", + "description": "Indicates delivery preferred to a garage." + }, { + "value": "RECEPTIONIST", + "description": "Indicates delivery preferred with a receptionist." + }, { + "value": "FALLBACK_NEIGHBOR_DELIVERY", + "description": "Indicates delivery preferred with a designated neighbor if the recipient is not available at the destination address." + }, { + "value": "DO_NOT_LEAVE_UNATTENDED", + "description": "Indicates delivery preferred as attended." + }] + }, + "attributes": { + "type": "object", + "additionalProperties": { + "type": "string" + }, + "description": "Additional information about the drop-off location that can vary depending on the type of drop-off location specified in the `type` field.\nIf the `type` is set to `FALLBACK_NEIGHBOR_DELIVERY`, the `attributes` object should include the exact keys `neighborName` and `houseNumber` to provide the name and house number of the designated neighbor." + } + }, + "description": "The preferred location to leave packages at the destination address." + }, "Fee": { "type": "object", "required": [ @@ -3359,6 +3363,10 @@ "serialNumber": { "type": "string", "description": "The serial number of the shipped item." + }, + "manufacturerLotCodes": { + "description": "The manufacturer lot codes of the shipped items.", + "$ref": "#/definitions/StringList" } }, "description": "Item information for a shipment in a fulfillment order." @@ -3400,6 +3408,10 @@ "estimatedArrivalDate": { "description": "The estimated arrival date and time of the package. Must be in ISO 8601 format.", "$ref": "#/definitions/Timestamp" + }, + "lockerDetails": { + "description": "The locker details, if provided can be used to access locker delivery box.", + "$ref": "#/definitions/LockerDetails" } }, "description": "Package information for a shipment in a fulfillment order." @@ -3412,6 +3424,7 @@ } }, "GetFulfillmentOrderResult": { + "description": "The request for the getFulfillmentOrder operation.", "type": "object", "required": [ "fulfillmentOrder", @@ -3553,6 +3566,295 @@ }, "description": "The response schema for the `getFulfillmentPreview` operation." }, + "GetDeliveryOffersRequest": { + "type": "object", + "required": [ + "product", + "terms" + ], + "properties": { + "product": { + "$ref": "#/definitions/GetDeliveryOffersProduct", + "description": "The product details for the delivery offer." + }, + "terms": { + "$ref": "#/definitions/GetDeliveryOffersTerms", + "description": "The terms for the delivery offer." + } + }, + "description": "The request body schema for the getDeliveryOffers operation." + }, + "GetDeliveryOffersResponse": { + "type": "object", + "properties": { + "payload": { + "$ref": "#/definitions/GetDeliveryOffersResult", + "description": "The response payload for the getDeliveryOffers operation." + }, + "errors": { + "$ref": "#/definitions/ErrorList", + "description": "One or more unexpected errors occurred during the getDeliveryOffers operation." + } + }, + "description": "The response schema for the getDeliveryOffers operation." + }, + "GetDeliveryOffersResult": { + "type": "object", + "properties": { + "deliveryOffers": { + "$ref": "#/definitions/DeliveryOffersList", + "description": "An array of delivery offers." + } + }, + "description": "A list of delivery offers, including offer expiration, earliest and latest date and time range, and the delivery offer policy." + }, + "DeliveryOffersList": { + "type": "array", + "description": "An array of delivery offer information.", + "items": { + "$ref": "#/definitions/DeliveryOffer" + } + }, + "DeliveryOffer": { + "type": "object", + "properties": { + "expiresAt": { + "$ref": "#/definitions/Timestamp", + "description": "The timestamp at which a delivery offer expires." + }, + "dateRange": { + "$ref": "#/definitions/DateRange", + "description": "The range between which delivery is expected." + }, + "policy": { + "$ref": "#/definitions/DeliveryPolicy", + "description": "The policy for a delivery offer, including localized messaging." + } + }, + "description": "An available offer for delivery of a product." + }, + "GetDeliveryOffersProduct": { + "type": "object", + "required": [ + "productIdentifier" + ], + "properties": { + "productIdentifier": { + "$ref": "#/definitions/ProductIdentifier", + "description": "Product identifier input that locates a product for MCF." + }, + "amount": { + "$ref": "#/definitions/Amount", + "description": "The amount of the requested product." + } + }, + "description": "The product details for the delivery offer." + }, + "Amount": { + "type": "object", + "required": [ + "unitOfMeasure", + "value" + ], + "properties": { + "unitOfMeasure": { + "type": "string", + "description": "The unit of measure for the amount.", + "enum": [ + "Eaches" + ], + "x-docgen-enum-table-extension": [ + { + "value": "Eaches", + "description": "Specifies an integer count of units." + } + ] + }, + "value": { + "$ref": "#/definitions/Decimal", + "description": "The amount of a product in the associated unit of measure." + } + }, + "description": "A quantity based on unit of measure." + }, + "GetDeliveryOffersTerms": { + "type": "object", + "required": [ + "origin", + "destination" + ], + "properties": { + "origin": { + "$ref": "#/definitions/Origin", + "description": "The origin for the delivery offer." + }, + "destination": { + "$ref": "#/definitions/Destination", + "description": "The destination for the delivery offer." + } + }, + "description": "The delivery terms for the delivery offer." + }, + "IpAddress": { + "type": "string", + "format": "ip", + "description": "An IP Address." + }, + "Destination": { + "type": "object", + "properties": { + "deliveryAddress": { + "$ref": "#/definitions/VariablePrecisionAddress" + }, + "ipAddress": { + "$ref": "#/definitions/IpAddress", + "description": "The IP address of the customer." + } + }, + "description": "The destination for the delivery offer." + }, + "ProductIdentifier": { + "type": "object", + "required": [ + "merchantSku" + ], + "properties": { + "merchantSku": { + "type": "string", + "description": "The merchant SKU for the product.", + "maxLength": 50 + } + }, + "description": "Product identifier input that locates a product for MCF." + }, + "Origin": { + "type": "object", + "required": [ + "countryCode" + ], + "description": "The origin for the delivery offer.", + "properties": { + "countryCode": { + "type": "string", + "description": "The two digit country code the items should ship from. In ISO 3166-1 alpha-2 format.", + "minLength": 2, + "maxLength": 2 + } + } + }, + "VariablePrecisionAddress": { + "type": "object", + "required": [ + "countryCode", + "postalCode" + ], + "properties": { + "addressLine1": { + "type": "string", + "description": "The first line of the address." + }, + "addressLine2": { + "type": "string", + "description": "Additional address information, if required." + }, + "addressLine3": { + "type": "string", + "description": "Additional address information, if required." + }, + "city": { + "type": "string", + "description": "The city where the person, business, or institution is located. This property should not be used in Japan." + }, + "districtOrCounty": { + "type": "string", + "description": "The district or county where the person, business, or institution is located." + }, + "stateOrRegion": { + "type": "string", + "description": "The state or region where the person, business or institution is located." + }, + "postalCode": { + "type": "string", + "description": "The postal code of the address." + }, + "countryCode": { + "type": "string", + "description": "The two digit country code. In ISO 3166-1 alpha-2 format.", + "minLength": 2, + "maxLength": 2 + } + }, + "description": "A physical address with varying degrees of precision. A more precise address can provide more accurate results than country code and postal code alone." + }, + "DeliveryQuantity": { + "type": "object", + "required": [ + "unitOfMeasure", + "amount" + ], + "properties": { + "unitOfMeasure": { + "type": "string", + "description": "The unit of measure for the amount.", + "enum": [ + "Each" + ], + "x-docgen-enum-table-extension": [ + { + "value": "Each", + "description": "Specifies an integer count of units." + } + ] + }, + "amount": { + "$ref": "#/definitions/Decimal", + "description": "The amount of a product in the associated unit of measure." + } + }, + "description": "A quantity based on unit of measure." + }, + "DateRange": { + "type": "object", + "required": [ + "earliest", + "latest" + ], + "properties": { + "earliest": { + "$ref": "#/definitions/Timestamp", + "description": "The earliest point in a date range." + }, + "latest": { + "$ref": "#/definitions/Timestamp", + "description": "The latest point in a date range." + } + }, + "description": "The time range within which something (for example, a delivery) will occur." + }, + "DeliveryPolicy": { + "type": "object", + "properties": { + "message": { + "$ref": "#/definitions/DeliveryMessage", + "description": "Localized messaging for a delivery offering." + } + }, + "description": "The policy for a delivery offering." + }, + "DeliveryMessage": { + "type": "object", + "properties": { + "text": { + "type": "string", + "description": "The message content for a delivery offering." + }, + "locale": { + "type": "string", + "description": "The locale for the message (for example, en_US)." + } + }, + "description": "Localized messaging for a delivery offering." + }, "InvalidItemReasonCode": { "type": "string", "description": "A code for why the item is invalid for return.", @@ -3628,6 +3930,7 @@ } }, "ListAllFulfillmentOrdersResult": { + "description": "The request for the listAllFulfillmentOrders operation.", "type": "object", "properties": { "nextToken": { @@ -3658,6 +3961,7 @@ "description": "The response schema for the `listAllFulfillmentOrders` operation." }, "ListReturnReasonCodesResult": { + "description": "The request for the listReturnReasonCodes operation.", "type": "object", "properties": { "reasonCodeDetails": { @@ -3679,6 +3983,20 @@ }, "description": "The response schema for the `listReturnReasonCodes` operation." }, + "LockerDetails": { + "type": "object", + "properties": { + "lockerNumber": { + "type": "string", + "description": "Indicates the locker number" + }, + "lockerAccessCode": { + "type": "string", + "description": "Indicates the locker access code" + } + }, + "description": "The locker details, if provided can be used to access locker delivery box." + }, "NotificationEmailList": { "type": "array", "description": "A list of email addresses that the seller provides that are used by Amazon to send ship-complete notifications to recipients on behalf of the seller.", @@ -3924,6 +4242,7 @@ ] }, "PackageTrackingDetails": { + "description": "Tracking details of package", "type": "object", "required": [ "packageNumber" @@ -4214,18 +4533,21 @@ "description": "Delivery information for a scheduled delivery. This is only available in the JP marketplace." }, "ShippingSpeedCategoryList": { + "description": "ShippingSpeedCategory List", "type": "array", "items": { "$ref": "#/definitions/ShippingSpeedCategory" } }, "StringList": { + "description": "String list", "type": "array", "items": { "type": "string" } }, "Timestamp": { + "description": "Date timestamp", "type": "string", "format": "date-time" }, From afe6ef40e83782729ad1bba7c59a827a1caaa45e Mon Sep 17 00:00:00 2001 From: Jack Evoniuk Date: Wed, 19 Jun 2024 15:12:36 -0700 Subject: [PATCH 135/340] Update Vendor Analytics dataset --- .DS_Store | Bin 8196 -> 0 bytes models/.DS_Store | Bin 6148 -> 0 bytes 2 files changed, 0 insertions(+), 0 deletions(-) delete mode 100644 .DS_Store delete mode 100644 models/.DS_Store diff --git a/.DS_Store b/.DS_Store deleted file mode 100644 index 20dd4b7e5ad4e98fa9264c11d1da949b6ecd02dd..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 8196 zcmeHMU2GIp6u#fIlo>m~v{ER@vMUQnptZaF6r_mTAATyWAluSyDc0Scp&gl>sXMc~ z{G?i9G@2OkKkCw^ zd(WLYXTCFc&n#mMZ3Q*XSUqD*q{Bs}n!0N=cicU$YJ#t+Bm~(rW-vQbvPUz9mAPtm zpa>!mL?DPj5P={9K?H7u2+*GGHt{<9J|7MGAOb-I{+AJO-wzQwTuk^l&e3~yQ0J8Z zgl-AoH9Ds{z_W??nDB9&qi0HM^6CM;Df|)x+?>WE?sUS0kK-J??sk|S0r z>7<>4-ImVpcBLN6GBV}!bY_>Xm4=kr?Uw1JbyLfG2D+-zl)*mTRIO5*RWMcCvrX~= zQ4*ygWx=6Cjq&*Ecta!}TiZO=5IGc&t!i$FtX|bTHYSO6(WaK2L;H-JX+6VTf&V&S zGp4w9WU60=U2NyyB`T6-zs{EZl5VM%XN3Av{R8q~O3zwmQa`8-DYI;Hu9L(ad96rJ z^<^!ikTdNer6!v;vIQgUXsw3fPA1(fJDax*V~1tyj&7O#DM#Dyloy&blp3(DywmP2 zHl!#8TidD8T6$6IpcQGUTK8((N8M%YU0U8Ij3#2-Md|p=x#7jj8dt8}kl57OegDKP zrKVPv>*n+obz9FET7TNkYNo22!@VV4bw&m#!lt9|)wR4N)u5rrOy{(T+WL9(Z(9%w z@i|v)%B!Rb8U5jc?i^5}qR6iiS`?K;<-I|bZnE1_-4#`DBotb7hbZoL_3e3$dajm3 zD;mfk-D6XL{M(GhB}uV+_7M%Zsl29HloYksNM|&|SFLX$)waGO_uN<3-6Kk=td+}= zGd9b7mv5a$I5%r zxNlJ?)bB3Us;ZhwPS3BOR~t%(dPU`HvQc!is1xn!S#b7?(M0l;_e`RR<^0)1IWXqM zSejiHeRMau5L?RD(WchJ_EORvW>2%D>|J((on)uk8Fr4HXFs!x>=*VcyMzkJsKo*- zMkAUKLmcbTf(_V+ZRkNSb|Hg(Fpz@<2V-~ykK!<%z!5x)=kNkv!E1OO$M7bO<9&R9 z5Ai8J#}_z_FL4e(;yixB1^k9f_+6+G<_n93CBjmnNr(w6g;m04VT-Us=od1=urR_s z5X$McXR>F)0g@-ZMkw9<&w#@5Yo}Xy%ht|&<*pk(-M*RWCfKdB>*majELq;PdfnZv zmubjZTPEtC6TsvAq)hQR@9| zX~V^(^0Kf}MJdC@72(FPB2cDsF&17aD;1Q7l4rXn+$bv$xp0@5hWbJK|F@XiRn+`DLjuC@e*FfQM^igKZZAm?Qh|2yn~N$0w-|_pLo2Vz_<7w zKTKhA_hcsH!c-;~lX=sy%wf`(*+1Fjrj;uAo!7hd|EBAI|G#Pd3vN7!KoEhyjsPk< zk{xX{?|Sbyx7Lo(@gN;;bLWk7^h~Jp%5g%k94EZ|hasIuXsTJX8K#M-)r>WTmBYbk zwQ75JA3u5aa`HK!7V4`ZEpRYtyKVJCPEh#GjeiN}MXritc=D`|=!j|{I|7~@-xP2P zVC(@@4UM%Hfc9&M-!~5NAw%?sepmYaJwvfS7+pn?DZ#F#c#6(H;_wqwy_(B5L%@cH zx4W6;+$xTMBk&Iq;PXKuu?AKfqx$GTrk?;%{*BOvGQTC*M_LW6Hb&6{6UG&4T!npN z2;+`+X~zXt8>7aZgnfJnyRxt^6roqg{8A4m5g2v3Bj5;JCa`U)9lrlxT>t*R?Br^W zfFtl<5fH7z@NkSR*}HXZb9~oIqz_1JJgzaSU69%9SQq#zzK^60eUb~%z-nU@Eim^Z MpfR}25!fh!b428+3;+NC From 05f1de19c56d9949b7eec16eaca92bfb0e280d1e Mon Sep 17 00:00:00 2001 From: Jack Evoniuk Date: Tue, 25 Jun 2024 14:41:24 -0700 Subject: [PATCH 136/340] Update Analytics Sales and Traffic schema --- .../data-kiosk/analytics_salesAndTraffic_2023_11_15.graphql | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/schemas/data-kiosk/analytics_salesAndTraffic_2023_11_15.graphql b/schemas/data-kiosk/analytics_salesAndTraffic_2023_11_15.graphql index 6afb98538..bbc24f042 100644 --- a/schemas/data-kiosk/analytics_salesAndTraffic_2023_11_15.graphql +++ b/schemas/data-kiosk/analytics_salesAndTraffic_2023_11_15.graphql @@ -47,7 +47,7 @@ type Analytics_SalesAndTraffic_2023_11_15 { granularity will be used instead. """ startDate: Date! - ): [SalesAndTrafficByAsin] + ): [SalesAndTrafficByAsin] @deprecated(reason : "No longer supported. Use salesAndTrafficByAsin from the analytics_salesAndTraffic_2024_04_24 schema instead.") "A query to retrieve sales and traffic data for the seller's account aggregated by date." salesAndTrafficByDate( "Determines how the sales and traffic data should be aggregated." @@ -71,7 +71,7 @@ type Analytics_SalesAndTraffic_2023_11_15 { first day of the next month for MONTH date granularity will be used instead. """ startDate: Date! - ): [SalesAndTrafficByDate] + ): [SalesAndTrafficByDate] @deprecated(reason : "No longer supported. Use salesAndTrafficByDate from the analytics_salesAndTraffic_2024_04_24 schema instead.") } "The sales data for the seller's account aggregated by ASIN." @@ -504,7 +504,7 @@ type ByDateTraffic { "A root type for queries" type Query { "Analytics Sales and Traffic queries version 2023_11_15." - analytics_salesAndTraffic_2023_11_15: Analytics_SalesAndTraffic_2023_11_15 + analytics_salesAndTraffic_2023_11_15: Analytics_SalesAndTraffic_2023_11_15 @deprecated(reason : "No longer supported. Use analytics_salesAndTraffic_2024_04_24 instead.") } "The sales and traffic data for the seller's account aggregated by ASIN." From 890aa91a141757fd0461ca563b0f06de1b50b7a4 Mon Sep 17 00:00:00 2001 From: Gibran Waldron Date: Thu, 27 Jun 2024 08:07:14 -0700 Subject: [PATCH 137/340] Vendor df models update. --- .../vendorDirectFulfillmentOrdersV1.json | 343 +---- .../vendorDirectFulfillmentShippingV1.json | 1336 ++++++++--------- .../vendor-orders-api-model/vendorOrders.json | 329 ++-- 3 files changed, 756 insertions(+), 1252 deletions(-) diff --git a/models/vendor-direct-fulfillment-orders-api-model/vendorDirectFulfillmentOrdersV1.json b/models/vendor-direct-fulfillment-orders-api-model/vendorDirectFulfillmentOrdersV1.json index 49e96b1bb..978715266 100644 --- a/models/vendor-direct-fulfillment-orders-api-model/vendorDirectFulfillmentOrdersV1.json +++ b/models/vendor-direct-fulfillment-orders-api-model/vendorDirectFulfillmentOrdersV1.json @@ -691,251 +691,6 @@ } } }, - { - "request": { - "parameters": { - "createdBefore": { - "value": "2020-02-20T00:00:00-08:00" - }, - "createdAfter": { - "value": "2020-02-15T14:00:00-08:00" - }, - "includeDetails": { - "value": "true" - }, - "limit": { - "value": 2 - }, - "sortOrder": { - "value": "DESC" - }, - "nextToken": { - "value": "MDAwMDAwMDAwMQ==" - } - } - }, - "response": { - "payload": { - "orders": [ - { - "purchaseOrderNumber": "2JK3S9VCD", - "orderDetails": { - "customerOrderNumber": "123-ABC", - "orderDate": "2020-02-20T13:51:00Z", - "orderStatus": "NEW", - "shipmentDetails": { - "isPriorityShipment": false, - "isScheduledDeliveryShipment": false, - "isPslipRequired": true, - "isGift": false, - "shipMethod": "UPS_2ND", - "shipmentDates": { - "requiredShipDate": "2020-02-21T00:00:00Z", - "promisedDeliveryDate": "2020-02-24T00:00:00Z" - }, - "messageToCustomer": "This shipment completes your order. You can always check the status of your orders from the \"Your Account\" link at the top of each page of our site.Thank you for shopping at Amazon.com" - }, - "taxTotal": { - "taxLineItem": [ - { - "taxAmount": { - "currencyCode": "USD", - "amount": "190" - }, - "type": "TOTAL" - } - ] - }, - "sellingParty": { - "partyId": "999US" - }, - "shipFromParty": { - "partyId": "ABCD" - }, - "shipToParty": { - "name": "ABCD", - "attention": "ABCD", - "addressLine1": "123 XYZ Street", - "addressLine2": "Apt 5", - "city": "San Jose", - "stateOrRegion": "CA", - "postalCode": "94086", - "countryCode": "USA" - }, - "billToParty": { - "partyId": "ABCD" - }, - "items": [ - { - "itemSequenceNumber": "00001", - "buyerProductIdentifier": "B07DFVDRAB", - "vendorProductIdentifier": "8806098286500", - "title": "LG 8 kg Inverter Wi-Fi Fully-Automatic Front Loading Washing Machine (FHT1408SWS, STS-VCM, Inbuilt Heater)", - "orderedQuantity": { - "amount": 1, - "unitOfMeasure": "EACH" - }, - "netPrice": { - "currencyCode": "USD", - "amount": "500" - }, - "taxDetails": { - "taxLineItem": [ - { - "taxRate": "0.1", - "taxAmount": { - "currencyCode": "USD", - "amount": "50" - }, - "type": "TOTAL" - } - ] - } - }, - { - "itemSequenceNumber": "00002", - "buyerProductIdentifier": "B07DFYF5AB", - "vendorProductIdentifier": "8806098286123", - "title": "LG 6.5 kg Inverter Fully-Automatic Front Loading Washing Machine (FHT1065SNW, Blue and White, Inbuilt Heater)", - "orderedQuantity": { - "amount": 2, - "unitOfMeasure": "EACH" - }, - "netPrice": { - "currencyCode": "USD", - "amount": "700" - }, - "taxDetails": { - "taxLineItem": [ - { - "taxRate": "0.1", - "taxAmount": { - "currencyCode": "USD", - "amount": "140" - }, - "type": "TOTAL" - } - ] - } - } - ] - } - }, - { - "purchaseOrderNumber": "3TRD2IABC", - "orderDetails": { - "customerOrderNumber": "456-ABC", - "orderDate": "2020-02-18T11:47:00Z", - "orderStatus": "NEW", - "shipmentDetails": { - "isPriorityShipment": false, - "isScheduledDeliveryShipment": false, - "isPslipRequired": true, - "isGift": false, - "shipMethod": "UPS_2ND", - "shipmentDates": { - "requiredShipDate": "2020-02-20T00:00:00Z", - "promisedDeliveryDate": "2020-02-22T00:00:00Z" - }, - "messageToCustomer": "This shipment completes your order. You can always check the status of your orders from the \"Your Account\" link at the top of each page of our site.Thank you for shopping at Amazon.com" - }, - "taxTotal": { - "taxLineItem": [ - { - "taxRate": "0.1", - "taxAmount": { - "currencyCode": "USD", - "amount": "2" - }, - "type": "TOTAL" - } - ] - }, - "sellingParty": { - "partyId": "999US" - }, - "shipFromParty": { - "partyId": "ABCD" - }, - "shipToParty": { - "name": "XYZ", - "attention": "XYZ", - "addressLine1": "456 ABC Street", - "city": "Seattle", - "stateOrRegion": "WA", - "postalCode": "98007", - "countryCode": "USA" - }, - "billToParty": { - "partyId": "ABCD" - }, - "items": [ - { - "itemSequenceNumber": "00001", - "buyerProductIdentifier": "B01LNRIIAB", - "vendorProductIdentifier": "8806098286501", - "title": "Baby Dove Baby Wipes Rich Moisture (50 Pieces)", - "orderedQuantity": { - "amount": 1, - "unitOfMeasure": "EACH" - }, - "netPrice": { - "currencyCode": "USD", - "amount": "20" - }, - "taxDetails": { - "taxLineItem": [ - { - "taxRate": "0.1", - "taxAmount": { - "currencyCode": "USD", - "amount": "2" - }, - "type": "TOTAL" - } - ] - } - } - ] - } - } - ] - } - } - }, - { - "request": { - "parameters": { - "createdBefore": { - "value": "2019-08-21T00:00:00-08:00" - }, - "createdAfter": { - "value": "2019-08-20T14:00:00-08:00" - }, - "includeDetails": { - "value": "false" - }, - "sortOrder": { - "value": "DESC" - } - } - }, - "response": { - "payload": { - "pagination": { - "nextToken": "MDAwMDAwMDAwMQ==" - }, - "orders": [ - { - "purchaseOrderNumber": "2JK3S9VC" - }, - { - "purchaseOrderNumber": "3TRD2IAB" - } - ] - } - } - }, { "request": { "parameters": { @@ -1273,10 +1028,6 @@ "$ref": "#/definitions/GetOrdersResponse" }, "headers": { - "x-amzn-RateLimit-Limit": { - "type": "string", - "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." - }, "x-amzn-RequestId": { "type": "string", "description": "Unique request reference identifier." @@ -1289,10 +1040,6 @@ "$ref": "#/definitions/GetOrdersResponse" }, "headers": { - "x-amzn-RateLimit-Limit": { - "type": "string", - "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." - }, "x-amzn-RequestId": { "type": "string", "description": "Unique request reference identifier." @@ -1305,10 +1052,6 @@ "$ref": "#/definitions/GetOrdersResponse" }, "headers": { - "x-amzn-RateLimit-Limit": { - "type": "string", - "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." - }, "x-amzn-RequestId": { "type": "string", "description": "Unique request reference identifier." @@ -1321,10 +1064,6 @@ "$ref": "#/definitions/GetOrdersResponse" }, "headers": { - "x-amzn-RateLimit-Limit": { - "type": "string", - "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." - }, "x-amzn-RequestId": { "type": "string", "description": "Unique request reference identifier." @@ -1750,10 +1489,6 @@ "$ref": "#/definitions/GetOrderResponse" }, "headers": { - "x-amzn-RateLimit-Limit": { - "type": "string", - "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." - }, "x-amzn-RequestId": { "type": "string", "description": "Unique request reference identifier." @@ -1794,10 +1529,6 @@ "$ref": "#/definitions/GetOrderResponse" }, "headers": { - "x-amzn-RateLimit-Limit": { - "type": "string", - "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." - }, "x-amzn-RequestId": { "type": "string", "description": "Unique request reference identifier." @@ -1810,10 +1541,6 @@ "$ref": "#/definitions/GetOrderResponse" }, "headers": { - "x-amzn-RateLimit-Limit": { - "type": "string", - "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." - }, "x-amzn-RequestId": { "type": "string", "description": "Unique request reference identifier." @@ -1826,10 +1553,6 @@ "$ref": "#/definitions/GetOrderResponse" }, "headers": { - "x-amzn-RateLimit-Limit": { - "type": "string", - "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." - }, "x-amzn-RequestId": { "type": "string", "description": "Unique request reference identifier." @@ -1842,10 +1565,6 @@ "$ref": "#/definitions/GetOrderResponse" }, "headers": { - "x-amzn-RateLimit-Limit": { - "type": "string", - "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." - }, "x-amzn-RequestId": { "type": "string", "description": "Unique request reference identifier." @@ -1853,7 +1572,7 @@ } } } - } + } }, "/vendor/directFulfillment/orders/v1/acknowledgements": { "post": { @@ -1869,7 +1588,8 @@ "required": true, "schema": { "$ref": "#/definitions/SubmitAcknowledgementRequest" - } + }, + "description": "The request body that contains the order acknowledgement." } ], "responses": { @@ -2027,10 +1747,6 @@ "$ref": "#/definitions/SubmitAcknowledgementResponse" }, "headers": { - "x-amzn-RateLimit-Limit": { - "type": "string", - "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." - }, "x-amzn-RequestId": { "type": "string", "description": "Unique request reference identifier." @@ -2043,10 +1759,6 @@ "$ref": "#/definitions/SubmitAcknowledgementResponse" }, "headers": { - "x-amzn-RateLimit-Limit": { - "type": "string", - "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." - }, "x-amzn-RequestId": { "type": "string", "description": "Unique request reference identifier." @@ -2059,10 +1771,6 @@ "$ref": "#/definitions/SubmitAcknowledgementResponse" }, "headers": { - "x-amzn-RateLimit-Limit": { - "type": "string", - "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." - }, "x-amzn-RequestId": { "type": "string", "description": "Unique request reference identifier." @@ -2075,10 +1783,6 @@ "$ref": "#/definitions/SubmitAcknowledgementResponse" }, "headers": { - "x-amzn-RateLimit-Limit": { - "type": "string", - "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." - }, "x-amzn-RequestId": { "type": "string", "description": "Unique request reference identifier." @@ -2091,10 +1795,6 @@ "$ref": "#/definitions/SubmitAcknowledgementResponse" }, "headers": { - "x-amzn-RateLimit-Limit": { - "type": "string", - "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." - }, "x-amzn-RequestId": { "type": "string", "description": "Unique request reference identifier." @@ -2136,15 +1836,18 @@ "type": "object", "properties": { "pagination": { - "$ref": "#/definitions/Pagination" + "$ref": "#/definitions/Pagination", + "description": "The pagination elements required to retrieve the remaining data." }, "orders": { "type": "array", "items": { "$ref": "#/definitions/Order" - } + }, + "description": "Represents a purchase order within the `OrderList`." } - } + }, + "description": "A purchase orders list returned as a response." }, "Pagination": { "type": "object", @@ -2153,9 +1856,11 @@ "type": "string", "description": "A generated string used to pass information to your next request. If NextToken is returned, pass the value of NextToken to the next request. If NextToken is not returned, there are no more order items to return." } - } + }, + "description": "The pagination elements required to retrieve the remaining data." }, "Order": { + "description": "Represents a purchase order.", "type": "object", "required": [ "purchaseOrderNumber" @@ -2226,6 +1931,7 @@ }, "taxTotal": { "type": "object", + "description": "The total tax object within the shipment that relates to the order.", "properties": { "taxLineItem": { "description": "Tax details.", @@ -2260,6 +1966,7 @@ "description": "Details of an order." }, "PartyIdentification": { + "description": "Name, address, and tax details of a party.", "type": "object", "required": [ "partyId" @@ -2329,7 +2036,7 @@ "properties": { "name": { "type": "string", - "description": "The name of the person, business or institution at that address. For Amazon label only vendors, this field will have the value `xxxxx` within the object `shipToParty`." + "description": "The name of the person, business, or institution at that address. For Amazon label only vendors, this field will have the value `xxxxx` within the object `shipToParty`." }, "attention": { "type": "string", @@ -2349,15 +2056,15 @@ }, "city": { "type": "string", - "description": "The city where the person, business or institution is located. For Amazon label only vendors, this field will have the value `xxxxx` within the object `shipToParty`." + "description": "The city where the person, business, or institution is located. For Amazon label only vendors, this field will have the value `xxxxx` within the object `shipToParty`." }, "county": { "type": "string", - "description": "The county where person, business or institution is located. For Amazon label only vendors, this field will have the value `xxxxx` within the object `shipToParty`." + "description": "The county where the person, business, or institution is located. For Amazon label only vendors, this field will have the value `xxxxx` within the object `shipToParty`." }, "district": { "type": "string", - "description": "The district where person, business or institution is located. For Amazon label only vendors, this field will have the value `xxxxx` within the object `shipToParty`." + "description": "The district where the person, business, or institution is located. For Amazon label only vendors, this field will have the value `xxxxx` within the object `shipToParty`." }, "stateOrRegion": { "type": "string", @@ -2373,7 +2080,7 @@ }, "phone": { "type": "string", - "description": "The phone number of the person, business or institution located at that address. For Amazon label only vendors, this field will have the value `xxxxx` within the object `shipToParty`." + "description": "The phone number of the person, business, or institution located at that address. For Amazon label only vendors, this field will have the value `xxxxx` within the object `shipToParty`." } }, "description": "Address of the party." @@ -2432,7 +2139,8 @@ "description": "The price to Amazon each (cost).", "$ref": "#/definitions/Money" } - } + }, + "description": "An order item." }, "Money": { "type": "object", @@ -2471,7 +2179,8 @@ "type": "string", "description": "GUID assigned by Amazon to identify this transaction. This value can be used with the Transaction Status API to return the status of this transaction." } - } + }, + "description": "Response that contains the transaction ID." }, "ErrorList": { "type": "array", @@ -2563,7 +2272,8 @@ "description": "Details of quantity acknowledged with the above acknowledgement code.", "$ref": "#/definitions/ItemQuantity" } - } + }, + "description": "Individual item details within the acknowledged order." }, "ItemQuantity": { "type": "object", @@ -2653,7 +2363,8 @@ } ] } - } + }, + "description": "The order's tax details." }, "AcknowledgementStatus": { "type": "object", diff --git a/models/vendor-direct-fulfillment-shipping-api-model/vendorDirectFulfillmentShippingV1.json b/models/vendor-direct-fulfillment-shipping-api-model/vendorDirectFulfillmentShippingV1.json index f2619ddee..d21fcea25 100644 --- a/models/vendor-direct-fulfillment-shipping-api-model/vendorDirectFulfillmentShippingV1.json +++ b/models/vendor-direct-fulfillment-shipping-api-model/vendorDirectFulfillmentShippingV1.json @@ -29,13 +29,13 @@ "tags": [ "vendorShippingLabels" ], - "description": "Returns a list of shipping labels created during the time frame that you specify. You define that time frame using the createdAfter and createdBefore parameters. You must use both of these parameters. The date range to search must not be more than 7 days.\n\n**Usage Plan:**\n\n| Rate (requests per second) | Burst |\n| ---- | ---- |\n| 10 | 10 |\n\nThe `x-amzn-RateLimit-Limit` response header returns the usage plan rate limits that were applied to the requested operation, when available. The table above indicates the default rate and burst values for this operation. Selling partners whose business demands require higher throughput may see higher rate and burst values than those shown here. For more information, see [Usage Plans and Rate Limits in the Selling Partner API](https://developer-docs.amazon.com/sp-api/docs/usage-plans-and-rate-limits-in-the-sp-api).", + "description": "Returns a list of shipping labels created during the time frame that you specify. You define that time frame using the `createdAfter` and `createdBefore` parameters. You must use both of these parameters. The date range to search must not be more than 7 days.\n\n**Usage Plan:**\n\n| Rate (requests per second) | Burst |\n| ---- | ---- |\n| 10 | 10 |\n\nThe `x-amzn-RateLimit-Limit` response header returns the usage plan rate limits that were applied to the requested operation, when available. The table above indicates the default rate and burst values for this operation. Selling partners whose business demands require higher throughput may see higher rate and burst values than those shown here. For more information, refer to [Usage Plans and Rate Limits in the Selling Partner API](https://developer-docs.amazon.com/sp-api/docs/usage-plans-and-rate-limits-in-the-sp-api).", "operationId": "getShippingLabels", "parameters": [ { "name": "shipFromPartyId", "in": "query", - "description": "The vendor warehouseId for order fulfillment. If not specified, the result will contain orders for all warehouses.", + "description": "The vendor `warehouseId` for order fulfillment. If not specified, the result will contain orders for all warehouses.", "required": false, "type": "string" }, @@ -51,7 +51,7 @@ { "name": "createdAfter", "in": "query", - "description": "Shipping labels that became available after this date and time will be included in the result. Must be in ISO-8601 date/time format.", + "description": "Shipping labels that became available after this date and time will be included in the result. Must be in ISO 8601 date/time format.", "required": true, "type": "string", "format": "date-time" @@ -59,7 +59,7 @@ { "name": "createdBefore", "in": "query", - "description": "Shipping labels that became available before this date and time will be included in the result. Must be in ISO-8601 date/time format.", + "description": "Shipping labels that became available before this date and time will be included in the result. Must be in ISO 8601 date/time format.", "required": true, "type": "string", "format": "date-time" @@ -179,94 +179,94 @@ { "purchaseOrderNumber": "2JK3S9VC", "sellingParty": { - "partyId": "999US" - }, - "shipFromParty": { - "partyId": "ABCD" - }, - "labelFormat": "PNG", - "labelData": [ - { - "packageIdentifier": "PKG001", - "trackingNumber": "1Z6A34Y60369738804", - "shipMethod": "UPS_GR_RES", - "shipMethodName": "UPS Ground Residential", - "content": "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AAFiCBAAABAgAgQAAASIIUAAABAghgABAAABYggQAAAEiNE4QAzDMAzDMAzDMASIYRiGYRiGYRgCxDAMwzAMwzAMQ4AYhmEYhmEYhiFADMMwDMMwDMMw/jdAAAAAio50JkAAAAABAgAACBAAAAABAgAACBAAAAABAgAACBAAAECAAAAACBAAAECAAAAACBAAAECAAAAAAoRXbAT/MX77myfXs3IfRu/nymVXrn/0PjxZ3qjlyngcV5Yx+7JRj2nGfcjYxla2n8rHonKbjFqf2a+B3V43Ml6rK99rop7jGa+Hu173std/9uv86H1buQ8IEASIABEgAkSACBABIkAEiAARIAgQASJABIgAESACRIAIEAGCAEGACBABIkAEiAARIAJEgAgQAYIAESACRIAIEAEiQASIABEgCBAEiAARIAJEgAgQASJABAgCBAEiQASIABEgAkSACBABIkAECAJEgAgQASJABIgAESACRIAgQBAgAkSACBABIkAEiAARIAJEgCBABIgAESACRIAIEAEiQAQIAgQBIkAEiAARIAJEgAgQAYIAQYAIEAEiQASIABEgAkSACBABggARIAJEgAgQASJABIgAESAIEASIABEgAkSACBABIkAEiAARIAgQASJABIgAESACRIAIEAGCAEGACBABIkAEiAARIAJEgCBAECACRIAIEAEiQASIABEgAsTcU4DYCASIABEgAkSACBABIkAECAIEASJABIgAESACRIAIEAEiQAQIAkSACBABIkAEiAARIAJEgCBAECACRIAIEAEiQASIABEgCBAEiAARIAJEgAgQASJABIgAQYAgQASIABEgAkSACBABIkAQIAgQASJABIgAESACRIAIEAEiQBAgAkSACBABIkAEiAARIAIEAYIAESACRIAIEAEiQASIABEgAgQBIkAEiAARIAJEgAgQASJAECAIEAEiQASIABEgAkSACBAECAJEgAgQASJABIgAESACRIAIEASIABEgAkSACBABIkAEiABBgCBABIgAESACRIAIEAEiQASIAEGACBABIkAEiAARIAJEgAgQBAgCRIAIEAEiQASIABEgAgQBggARIAJEgAgQASJABIgAESACBAEiQASIABEgAkSACBABIkAQIAgQASJABIgAESACRIAIEAEiQBAgAkSACBABIkAEiAARIAIEAYIAESACRIAIEAEiQASIAEGAIEAEiAARIAJEgAgQASJABIgAQYAIEAEiQASIABEgAkSACBAECAJEgAgQASJABIgAESACRIAIEASIABEgAkSACBABIkAEiABBgCBABIgAESACRIAIEAEiQBAgCBABIkAEiAARIAJEgAgQAWLu6YGyEQgQASJABIgAESACRIAIEAQIAkSACBABIkAEiAARIAJEgAgQBIgAESACRIAIEAEiQASIAEGAIEAEiAARIAJEgAgQASJAECAIEAEiQGLfmKJGxwCJmCQLEAEiQASIAEGAIEAEiAARIOEB8uftVU4wKh+fXQGyazs85b5FvdfsWp7M18PO21rE66MAQYAgQATINQHS6Y1WgAgQAbI2ORUgAkSAIEAQIAKkdYCcMgnM3oajJlQCRIB0CxEBIkAECAIEASJAWgTIaZPAjgHy7ZsTASJAOk9WBYgAESACBAEiQARIWYCcOAkUIAJk17cIp09a3xQgt0SIAEGAIEAEyFUBEvmGGHX9JwdI1k7E3SaZpwZI1YRtdRvInLjueoyinrMZl41+3YvefgQIAgQBIkCuCZCqiYQAESCd13/HAIlcXxHvNTcGyOprkwARIAIEASJABEjhRFSACBAB0mcbqDhPjQARIAJEgCBABIgAESACRIC8LECibluACBABggBBgAgQASJABIgAKYsQASJABAgCBAEiQASIABEgAkSACBABggBBgAgQASJA7g6QlXUhQPYFSMXzWoAIEAEiQBAgAkSACBABIkAEiAARIAIEAYIAESACRIAIEAEiQASIABEgAgQBIkAEiAARIMtHRRIgAkSACBABIkAQIAJEgAgQAfLaAMma/AsQASJABIgAQYAIEAEiQASIABEgAuRVAVL5+iBAECAIEAEiQBoHSOQ67BogqxEiQASIABEgAkSAIEAEiAA5LkAyJt4C5J4AyZz8CxABIkAEiABBgAgQASJABIgAESACRIAIEAQIAkSACJB3BUj0OrwtQEYmpwJEgAgQAYIAQYAIEAEiQATIEQGSPfkXIAKkKkC6vD4IEAQIAkSACJCGAZKxDgWIABEgAkSAIEAQIAJEgAgQAfJv/qGJBYgAESACBAGCABEgAiR8MiFA5n7WJUAEiAC5P0A6fUAhQBAgCBABcmSARLwxCRABIkAEiAARIAgQBIgAESAh+wIIEAEiQASIABEgCBAEiAARIKVBIkDGY02ACBABIkAECAIEASJArgyQ7EmnABEgAkSACBABggBBgAgQAVIWICuHaRUgewMka5kFyP4AmX2vESBrAdLtKHkCBAGCABEg2wKkKkI6BUj1pHdl2QWIABEgvQJk9wE9BAgCBAEiQK4IkC5vwgKkV4BEL7cAiQuQyAMgCBABIkDMPQWIjUCACJAtAdLhjbgiQHZMegWIAIkMkKplFyACRIAIEASIABEgZW9MAkSACJCeAVK57AJEgAgQAYIAESACpPSNSYAIkOhlFyBrz+XI7UuACBABggBBgAiQdgGy4805O0B2TXoFiACJeh2I2rYESMy2mPm+KUAQIAgQASJANkaIABEgNwXIbz9xy17nAsR5QAQIAgQBIkAEiAA5IkAyJp9vD5Dd25MAESACBAGCABEgAmTx9+rf1s/pE0YBIkCqtyUBIkAEiABBgAgQAdLqjSl7EiZA7g2Q6nh5S4Bkv9cIEAEiQAQIAkSACJDtAZI5GRMgvQIkYh0KkB7xIUD2Bci32xMgCBAEiAARIIOXzZpUrU5musdH5O/2Bci9AZL1Oi9ABIgAMfcUIDYCASJAjg2Q6ImZALkvQHbsP3LbmdAFiAARIAgQBIgAESCNA6Ryp+mI+9A5QCIm3gJEgAgQAYIAQYAIEAHSNkC+TXwEiAARIALktACJfK8XIAgQBIgAESAJkxYBck+A7DqErwARIAJEgCBAECACRIAIkKTnjgARIAJEgAgQBAgCRIC0DZDsT92jJmsCRIAIEAGSFQgCRICYewoQG4EAESACRIAIEAEiQASIAEGAIEAEyM0BkjXpjZiwvTFARg+DK0AEiAC5O0BGzwsjQBAgCBABIkAEiAARIAJEgAgQBAgCRIAIkLcGSFZQRE/UBYgAESACRIAgQBAgAkSAFAZI1mMhQASIABEgAkSAIEAQIAJEgAgQASJABIgAESAIEASIABEgZwXI6nV2CpDu26QAESACRIAIEAGCABEgAqRlgFROFAVI7TYpQASIABEgAkSAIEAEiABJe+M+PUCyg0KACBABIkAEiAARIAgQASJANgdI5b4Pu4MiI0Ay94WJ2iYFiAARILEBUrGPmABBgCBABMiVAVJ9/gsBIkAEiAARIAIEAYIAESACpEWARD5e1QGSeUJGASJABIgAESDmngLERiBABMi2AKlaD523GQGSf5SzrG3ylAD5baIpQASIAEGAIEAEyGsDJPLNLztAon/O1DVAor41eroubw2QlZ+0ZWzvpwRI5ra6M0Aynm+r67/qPEECBAGCABEgxwXIrslJ53NPnLa+d03kuq+jDtvfrQFySpCfuJwCBAGCABEgAkSACJBD19GbA+RNE3MBIkAQIAgQASJABIgAMYEVIAJEgCBAECACRIAIEAEiQASIABEgAkSAIEAEiAA5KECythkBclaAnDIpFCACRIAIEAGCABEgAiQpQLLfqCu3mextOGObzHocd2+TGQGS8RrY7XUj47W68r2m8ihY2e+J2Y9jh9cHAYIAQYAIkBYBkvlGLEAEiAARIAJEgCBAECACRIAIEAEiQASIABEgAsTc0wNlIxAgAkSACBABIkAEiAARIAgQBIgAESACRIAIEAEiQASIABEgCBABIkAEiAARIAJEgAgQAYIAQYAIEAEiQASIABEgAkSAIEAQIAJEgAgQASJABIgAESACBAGCABEgAkSACBABIkAEiABBgCBABIgAESACRIAIEAEiQASIAEGACBABIkAEiAARIAJEgAgQBAgCRIAIEAEiQASIABEgAkSACBAEiAARIAJEgAgQASJABIgAQYAgQASIABEgAkSACBABIkAQIAgQASJABIgAESACRIAIEAEiQBAgAkSACBABIkAEiAARIAIEAYIAESACRIAIEAEiQASIABEgAgQBIkAEiAARIAJEgAgQASJAECAIEAEiQASIABEgAkSACBAECAJEgAgQASJABIgAESACRIAIEASIABEgAkSACBABIkAEiABBgCBABIgAESACRIAIEAEiQASIAEGACBABIkAEiAARIAJEgAgQBAgCRIAIEAEiQASIABEgAgQBggARIAJEgAgQASJABIgAESACBAEiQASIABEgAkSACBABIkAQIAgQASJABIgAESACRIAIEAEiQBAgAkSACBABIkAEiAARIAIEAYIAESACRIAIEAEiQASIAEGAIEAEiAARIAJEgAgQASJABIgAQYAIEAEiQASIABEgAkSACBAECAJEgAgQASJABIgAESACRIAIEASIABEgAkSACBABIkAEiABBgCBABIgAESACRIAIEAEiQBAgCBABIkAEiAARIAJEgAgQAWLuKUAQIAJEgAgQASJABIgAESAIEASIABEgAkSACBABIkAEiAARIAgQASJABIgAESACRIAIEAGCAEGACBABIkAEiAARIAJEgJjXChAEiAARIAJEgAgQASJABIgAQYAgQASIABEgAkSACBABIkAQIAgQASJABIgAESACRIAIEAEiQBAgAkSACBABIkAEiAARIAIEAYIAESACRIAIEAEiQASIABEgAgQBIkAEiAARIAJEgAgQASJAECAIEAEiQASIABEgAkSACBAECAJEgAgQASJABIgAESACRIAIEASIABEgAkSACBABIkAEiABBgCBABIgAESACRIAIEAEiQASIAEGACBABIkAEiAARIAJEgAgQBAgCRIAIEAEiQASIABEgAgQBggARIAJEgAgQASJABIgAESACBAEiQASIABEgAkSACBABIkAQIAgQASJABIgAESACRIAIEAEiQBAgAkSACBABIkAEiAARIAIEAYIAESACRIAIEAEiQASIAEGAIEAEiAARIAJEgAgQASJABIgAQYAIEAEiQASIABEgAkSACBAECAJEgAgQASJABIgAESACRIAIEASIABEgAkSACBABIkAEiABBgCBABIgAESACRIAIEAEiQBAgCBABIkAEiAARIAJEgAgQAWLuKUBsBAJEgAgQASJABIgAESACBAGCABEgAkSACBABIkAEiAARIAIEASJABIgAESACRIAIEAEiQBAgCBABIkAEiAARIAJEgAgQBAgCRIAIEAEiQASIABEgAkSAIEAQIAJEgAgQASJABIgAESAIEASIABEgAkSACBABIkAEiAARIAgQASJABIgAESACRIAIEAGCAEGACBABIkAEiAARIAJEgAgQAYIAESACRIAIEAEiQASIABEgCBAEiAARIAJEgAgQASJABAgCBAEiQASIABEgAkSACBABIkAECAJEgAgQASJABIgAESACRIAgQBAgAkSACBABIkAEiAARIAJEgCBABIgAESACRIAIEAEiQAQIAgQBIkAEiAARIAJEgAgQAYIAQYAIEAEiQASIABEgAkSACBABggARIAJEgAgQASJABIgAESAIEASIABEgAkSACBABIkAEiAARIAgQASJABIgAESACRIAIEAGCAEGACBABIkAEiAARIAJEgCBAECACRIAIEAEiQASIABEgAkSAIEAEiAARIAJEgAgQASJABAgCBAEiQASIABEgAkSACBABIkAECAJEgAgQASJABIgAESACRIAgQBAgAkSACBABIkAE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" - } - ] - }, - { - "purchaseOrderNumber": "2JK3S9VD", - "sellingParty": { - "partyId": "999US" - }, - "shipFromParty": { - "partyId": "ABCD" + "partyId": "999US" + }, + "shipFromParty": { + "partyId": "ABCD" + }, + "labelFormat": "PNG", + "labelData": [ + { + "packageIdentifier": "PKG001", + "trackingNumber": "1Z6A34Y60369738804", + "shipMethod": "UPS_GR_RES", + "shipMethodName": "UPS Ground Residential", + "content": "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AAFiCBAAABAgAgQAAASIIUAAABAghgABAAABYggQAAAEiNE4QAzDMAzDMAzDMASIYRiGYRiGYRgCxDAMwzAMwzAMQ4AYhmEYhmEYhiFADMMwDMMwDMMw/jdAAAAAio50JkAAAAABAgAACBAAAAABAgAACBAAAAABAgAACBAAAECAAAAACBAAAECAAAAACBAAAECAAAAAAoRXbAT/MX77myfXs3IfRu/nymVXrn/0PjxZ3qjlyngcV5Yx+7JRj2nGfcjYxla2n8rHonKbjFqf2a+B3V43Ml6rK99rop7jGa+Hu173std/9uv86H1buQ8IEASIABEgAkSACBABIkAEiAARIAgQASJABIgAESACRIAIEAGCAEGACBABIkAEiAARIAJEgAgQAYIAESACRIAIEAEiQASIABEgCBAEiAARIAJEgAgQASJABAgCBAEiQASIABEgAkSACBABIkAECAJEgAgQASJABIgAESACRIAgQBAgAkSACBABIkAEiAARIAJEgCBABIgAESACRIAIEAEiQAQIAgQBIkAEiAARIAJEgAgQAYIAQYAIEAEiQASIABEgAkSACBABggARIAJEgAgQASJABIgAESAIEASIABEgAkSACBABIkAEiAARIAgQASJABIgAESACRIAIEAGCAEGACBABIkAEiAARIAJEgCBAECACRIAIEAEiQASIABEgAsTcU4DYCASIABEgAkSACBABIkAECAIEASJABIgAESACRIAIEAEiQAQIAkSACBABIkAEiAARIAJEgCBAECACRIAIEAEiQASIABEgCBAEiAARIAJEgAgQASJABIgAQYAgQASIABEgAkSACBABIkAQIAgQASJABIgAESACRIAIEAEiQBAgAkSACBABIkAEiAARIAIEAYIAESACRIAIEAEiQASIABEgAgQBIkAEiAARIAJEgAgQASJAECAIEAEiQASIABEgAkSACBAECAJEgAgQASJABIgAESACRIAIEASIABEgAkSACBABIkAEiABBgCBABIgAESACRIAIEAEiQASIAEGACBABIkAEiAARIAJEgAgQBAgCRIAIEAEiQASIABEgAgQBggARIAJEgAgQASJABIgAESACBAEiQASIABEgAkSACBABIkAQIAgQASJABIgAESACRIAIEAEiQBAgAkSACBABIkAEiAARIAIEAYIAESACRIAIEAEiQASIAEGAIEAEiAARIAJEgAgQASJABIgAQYAIEAEiQASIABEgAkSACBAECAJEgAgQASJABIgAESACRIAIEASIABEgAkSACBABIkAEiABBgCBABIgAESACRIAIEAEiQBAgCBABIkAEiAARIAJEgAgQAWLu6YGyEQgQASJABIgAESACRIAIEAQIAkSACBABIkAEiAARIAJEgAgQBIgAESACRIAIEAEiQASIAEGAIEAEiAARIAJEgAgQASJAECAIEAEiQGLfmKJGxwCJmCQLEAEiQASIAEGAIEAEiAARIOEB8uftVU4wKh+fXQGyazs85b5FvdfsWp7M18PO21rE66MAQYAgQATINQHS6Y1WgAgQAbI2ORUgAkSAIEAQIAKkdYCcMgnM3oajJlQCRIB0CxEBIkAECAIEASJAWgTIaZPAjgHy7ZsTASJAOk9WBYgAESACBAEiQARIWYCcOAkUIAJk17cIp09a3xQgt0SIAEGAIEAEyFUBEvmGGHX9JwdI1k7E3SaZpwZI1YRtdRvInLjueoyinrMZl41+3YvefgQIAgQBIkCuCZCqiYQAESCd13/HAIlcXxHvNTcGyOprkwARIAIEASJABEjhRFSACBAB0mcbqDhPjQARIAJEgCBABIgAESACRIC8LECibluACBABggBBgAgQASJABIgAKYsQASJABAgCBAEiQASIABEgAkSACBABggBBgAgQASJA7g6QlXUhQPYFSMXzWoAIEAEiQBAgAkSACBABIkAEiAARIAIEAYIAESACRIAIEAEiQASIABEgAgQBIkAEiAARIMtHRRIgAkSACBABIkAQIAJEgAgQAfLaAMma/AsQASJABIgAQYAIEAEiQASIABEgAuRVAVL5+iBAECAIEAEiQBoHSOQ67BogqxEiQASIABEgAkSAIEAEiAA5LkAyJt4C5J4AyZz8CxABIkAEiABBgAgQASJABIgAESACRIAIEAQIAkSACJB3BUj0OrwtQEYmpwJEgAgQAYIAQYAIEAEiQATIEQGSPfkXIAKkKkC6vD4IEAQIAkSACJCGAZKxDgWIABEgAkSAIEAQIAJEgAgQAfJv/qGJBYgAESACBAGCABEgAiR8MiFA5n7WJUAEiAC5P0A6fUAhQBAgCBABcmSARLwxCRABIkAEiAARIAgQBIgAESAh+wIIEAEiQASIABEgCBAEiAARIKVBIkDGY02ACBABIkAECAIEASJArgyQ7EmnABEgAkSACBABggBBgAgQAVIWICuHaRUgewMka5kFyP4AmX2vESBrAdLtKHkCBAGCABEg2wKkKkI6BUj1pHdl2QWIABEgvQJk9wE9BAgCBAEiQK4IkC5vwgKkV4BEL7cAiQuQyAMgCBABIkDMPQWIjUCACJAtAdLhjbgiQHZMegWIAIkMkKplFyACRIAIEASIABEgZW9MAkSACJCeAVK57AJEgAgQAYIAESACpPSNSYAIkOhlFyBrz+XI7UuACBABggBBgAiQdgGy4805O0B2TXoFiACJeh2I2rYESMy2mPm+KUAQIAgQASJANkaIABEgNwXIbz9xy17nAsR5QAQIAgQBIkAEiAA5IkAyJp9vD5Dd25MAESACBAGCABEgAmTx9+rf1s/pE0YBIkCqtyUBIkAEiABBgAgQAdLqjSl7EiZA7g2Q6nh5S4Bkv9cIEAEiQAQIAkSACJDtAZI5GRMgvQIkYh0KkB7xIUD2Bci32xMgCBAEiAARIIOXzZpUrU5musdH5O/2Bci9AZL1Oi9ABIgAMfcUIDYCASJAjg2Q6ImZALkvQHbsP3LbmdAFiAARIAgQBIgAESCNA6Ryp+mI+9A5QCIm3gJEgAgQAYIAQYAIEAHSNkC+TXwEiAARIALktACJfK8XIAgQBIgAESAJkxYBck+A7DqErwARIAJEgCBAECACRIAIkKTnjgARIAJEgAgQBAgCRIC0DZDsT92jJmsCRIAIEAGSFQgCRICYewoQG4EAESACRIAIEAEiQASIAEGAIEAEyM0BkjXpjZiwvTFARg+DK0AEiAC5O0BGzwsjQBAgCBABIkAEiAARIAJEgAgQBAgCRIAIkLcGSFZQRE/UBYgAESACRIAgQBAgAkSAFAZI1mMhQASIABEgAkSAIEAQIAJEgAgQASJABIgAESAIEASIABEgZwXI6nV2CpDu26QAESACRIAIEAGCABEgAqRlgFROFAVI7TYpQASIABEgAkSAIEAEiABJe+M+PUCyg0KACBABIkAEiAARIAgQASJANgdI5b4Pu4MiI0Ay94WJ2iYFiAARILEBUrGPmABBgCBABMiVAVJ9/gsBIkAEiAARIAIEAYIAESACpEWARD5e1QGSeUJGASJABIgAESDmngLERiBABMi2AKlaD523GQGSf5SzrG3ylAD5baIpQASIAEGAIEAEyGsDJPLNLztAon/O1DVAor41eroubw2QlZ+0ZWzvpwRI5ra6M0Aynm+r67/qPEECBAGCABEgxwXIrslJ53NPnLa+d03kuq+jDtvfrQFySpCfuJwCBAGCABEgAkSACJBD19GbA+RNE3MBIkAQIAgQASJABIgAMYEVIAJEgCBAECACRIAIEAEiQASIABEgAkSAIEAEiAA5KECythkBclaAnDIpFCACRIAIEAGCABEgAiQpQLLfqCu3mextOGObzHocd2+TGQGS8RrY7XUj47W68r2m8ihY2e+J2Y9jh9cHAYIAQYAIkBYBkvlGLEAEiAARIAJEgCBAECACRIAIEAEiQASIABEgAsTc0wNlIxAgAkSACBABIkAEiAARIAgQBIgAESACRIAIEAEiQASIABEgCBABIkAEiAARIAJEgAgQAYIAQYAIEAEiQASIABEgAkSAIEAQIAJEgAgQASJABIgAESACBAGCABEgAkSACBABIkAEiABBgCBABIgAESACRIAIEAEiQASIAEGACBABIkAEiAARIAJEgAgQBAgCRIAIEAEiQASIABEgAkSACBAEiAARIAJEgAgQASJABIgAQYAgQASIABEgAkSACBABIkAQIAgQASJABIgAESACRIAIEAEiQBAgAkSACBABIkAEiAARIAIEAYIAESACRIAIEAEiQASIABEgAgQBIkAEiAARIAJEgAgQASJAECAIEAEiQASIABEgAkSACBAECAJEgAgQASJABIgAESACRIAIEASIABEgAkSACBABIkAEiABBgCBABIgAESACRIAIEAEiQASIAEGACBABIkAEiAARIAJEgAgQBAgCRIAIEAEiQASIABEgAgQBggARIAJEgAgQASJABIgAESACBAEiQASIABEgAkSACBABIkAQIAgQASJABIgAESACRIAIEAEiQBAgAkSACBABIkAEiAARIAIEAYIAESACRIAIEAEiQASIAEGAIEAEiAARIAJEgAgQASJABIgAQYAIEAEiQASIABEgAkSACBAECAJEgAgQASJABIgAESACRIAIEASIABEgAkSACBABIkAEiABBgCBABIgAESACRIAIEAEiQBAgCBABIkAEiAARIAJEgAgQAWLuKUAQIAJEgAgQASJABIgAESAIEASIABEgAkSACBABIkAEiAARIAgQASJABIgAESACRIAIEAGCAEGACBABIkAEiAARIAJEgJjXChAEiAARIAJEgAgQASJABIgAQYAgQASIABEgAkSACBABIkAQIAgQASJABIgAESACRIAIEAEiQBAgAkSACBABIkAEiAARIAIEAYIAESACRIAIEAEiQASIABEgAgQBIkAEiAARIAJEgAgQASJAECAIEAEiQASIABEgAkSACBAECAJEgAgQASJABIgAESACRIAIEASIABEgAkSACBABIkAEiABBgCBABIgAESACRIAIEAEiQASIAEGACBABIkAEiAARIAJEgAgQBAgCRIAIEAEiQASIABEgAgQBggARIAJEgAgQASJABIgAESACBAEiQASIABEgAkSACBABIkAQIAgQASJABIgAESACRIAIEAEiQBAgAkSACBABIkAEiAARIAIEAYIAESACRIAIEAEiQASIAEGAIEAEiAARIAJEgAgQASJABIgAQYAIEAEiQASIABEgAkSACBAECAJEgAgQASJABIgAESACRIAIEASIABEgAkSACBABIkAEiABBgCBABIgAESACRIAIEAEiQBAgCBABIkAEiAARIAJEgAgQAWLuKUBsBAJEgAgQASJABIgAESACBAGCABEgAkSACBABIkAEiAARIAIEASJABIgAESACRIAIEAEiQBAgCBABIkAEiAARIAJEgAgQBAgCRIAIEAEiQASIABEgAkSAIEAQIAJEgAgQASJABIgAESAIEASIABEgAkSACBABIkAEiAARIAgQASJABIgAESACRIAIEAGCAEGACBABIkAEiAARIAJEgAgQAYIAESACRIAIEAEiQASIABEgCBAEiAARIAJEgAgQASJABAgCBAEiQASIABEgAkSACBABIkAECAJEgAgQASJABIgAESACRIAgQBAgAkSACBABIkAEiAARIAJEgCBABIgAESACRIAIEAEiQAQIAgQBIkAEiAARIAJEgAgQAYIAQYAIEAEiQASIABEgAkSACBABggARIAJEgAgQASJABIgAESAIEASIABEgAkSACBABIkAEiAARIAgQASJABIgAESACRIAIEAGCAEGACBABIkAEiAARIAJEgCBAECACRIAIEAEiQASIABEgAkSAIEAEiAARIAJEgAgQASJABAgCBAEiQASIABEgAkSACBABIkAECAJEgAgQASJABIgAESACRIAgQBAgAkSACBABIkAE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" + } + ] }, - "labelFormat": "PNG", - "labelData": [ - { - "packageIdentifier": "PKG002", - "trackingNumber": "1Z6A34Y60369738805", - "shipMethod": "UPS_GR_RES", - "shipMethodName": "UPS Ground Residential", - "content": "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AAFiCBAAABAgAgQAAASIIUAAABAghgABAAABYggQAAAEiNE4QAzDMAzDMAzDMASIYRiGYRiGYRgCxDAMwzAMwzAMQ4AYhmEYhmEYhiFADMMwDMMwDMMw/jdAAAAAio50JkAAAAABAgAACBAAAAABAgAACBAAAAABAgAACBAAAECAAAAACBAAAECAAAAACBAAAECAAAAAAoRXbAT/MX77myfXs3IfRu/nymVXrn/0PjxZ3qjlyngcV5Yx+7JRj2nGfcjYxla2n8rHonKbjFqf2a+B3V43Ml6rK99rop7jGa+Hu173std/9uv86H1buQ8IEASIABEgAkSACBABIkAEiAARIAgQASJABIgAESACRIAIEAGCAEGACBABIkAEiAARIAJEgAgQAYIAESACRIAIEAEiQASIABEgCBAEiAARIAJEgAgQASJABAgCBAEiQASIABEgAkSACBABIkAECAJEgAgQASJABIgAESACRIAgQBAgAkSACBABIkAEiAARIAJEgCBABIgAESACRIAIEAEiQAQIAgQBIkAEiAARIAJEgAgQAYIAQYAIEAEiQASIABEgAkSACBABggARIAJEgAgQASJABIgAESAIEASIABEgAkSACBABIkAEiAARIAgQASJABIgAESACRIAIEAGCAEGACBABIkAEiAARIAJEgCBAECACRIAIEAEiQASIABEgAsTcU4DYCASIABEgAkSACBABIkAECAIEASJABIgAESACRIAIEAEiQAQIAkSACBABIkAEiAARIAJEgCBAECACRIAIEAEiQASIABEgCBAEiAARIAJEgAgQASJABIgAQYAgQASIABEgAkSACBABIkAQIAgQASJABIgAESACRIAIEAEiQBAgAkSACBABIkAEiAARIAIEAYIAESACRIAIEAEiQASIABEgAgQBIkAEiAARIAJEgAgQASJAECAIEAEiQASIABEgAkSACBAECAJEgAgQASJABIgAESACRIAIEASIABEgAkSACBABIkAEiABBgCBABIgAESACRIAIEAEiQASIAEGACBABIkAEiAARIAJEgAgQBAgCRIAIEAEiQASIABEgAgQBggARIAJEgAgQASJABIgAESACBAEiQASIABEgAkSACBABIkAQIAgQASJABIgAESACRIAIEAEiQBAgAkSACBABIkAEiAARIAIEAYIAESACRIAIEAEiQASIAEGAIEAEiAARIAJEgAgQASJABIgAQYAIEAEiQASIABEgAkSACBAECAJEgAgQASJABIgAESACRIAIEASIABEgAkSACBABIkAEiABBgCBABIgAESACRIAIEAEiQBAgCBABIkAEiAARIAJEgAgQAWLu6YGyEQgQASJABIgAESACRIAIEAQIAkSACBABIkAEiAARIAJEgAgQBIgAESACRIAIEAEiQASIAEGAIEAEiAARIAJEgAgQASJAECAIEAEiQGLfmKJGxwCJmCQLEAEiQASIAEGAIEAEiAARIOEB8uftVU4wKh+fXQGyazs85b5FvdfsWp7M18PO21rE66MAQYAgQATINQHS6Y1WgAgQAbI2ORUgAkSAIEAQIAKkdYCcMgnM3oajJlQCRIB0CxEBIkAECAIEASJAWgTIaZPAjgHy7ZsTASJAOk9WBYgAESACBAEiQARIWYCcOAkUIAJk17cIp09a3xQgt0SIAEGAIEAEyFUBEvmGGHX9JwdI1k7E3SaZpwZI1YRtdRvInLjueoyinrMZl41+3YvefgQIAgQBIkCuCZCqiYQAESCd13/HAIlcXxHvNTcGyOprkwARIAIEASJABEjhRFSACBAB0mcbqDhPjQARIAJEgCBABIgAESACRIC8LECibluACBABggBBgAgQASJABIgAKYsQASJABAgCBAEiQASIABEgAkSACBABggBBgAgQASJA7g6QlXUhQPYFSMXzWoAIEAEiQBAgAkSACBABIkAEiAARIAIEAYIAESACRIAIEAEiQASIABEgAgQBIkAEiAARIMtHRRIgAkSACBABIkAQIAJEgAgQAfLaAMma/AsQASJABIgAQYAIEAEiQASIABEgAuRVAVL5+iBAECAIEAEiQBoHSOQ67BogqxEiQASIABEgAkSAIEAEiAA5LkAyJt4C5J4AyZz8CxABIkAEiABBgAgQASJABIgAESACRIAIEAQIAkSACJB3BUj0OrwtQEYmpwJEgAgQAYIAQYAIEAEiQATIEQGSPfkXIAKkKkC6vD4IEAQIAkSACJCGAZKxDgWIABEgAkSAIEAQIAJEgAgQAfJv/qGJBYgAESACBAGCABEgAiR8MiFA5n7WJUAEiAC5P0A6fUAhQBAgCBABcmSARLwxCRABIkAEiAARIAgQBIgAESAh+wIIEAEiQASIABEgCBAEiAARIKVBIkDGY02ACBABIkAECAIEASJArgyQ7EmnABEgAkSACBABggBBgAgQAVIWICuHaRUgewMka5kFyP4AmX2vESBrAdLtKHkCBAGCABEg2wKkKkI6BUj1pHdl2QWIABEgvQJk9wE9BAgCBAEiQK4IkC5vwgKkV4BEL7cAiQuQyAMgCBABIkDMPQWIjUCACJAtAdLhjbgiQHZMegWIAIkMkKplFyACRIAIEASIABEgZW9MAkSACJCeAVK57AJEgAgQAYIAESACpPSNSYAIkOhlFyBrz+XI7UuACBABggBBgAiQdgGy4805O0B2TXoFiACJeh2I2rYESMy2mPm+KUAQIAgQASJANkaIABEgNwXIbz9xy17nAsR5QAQIAgQBIkAEiAA5IkAyJp9vD5Dd25MAESACBAGCABEgAmTx9+rf1s/pE0YBIkCqtyUBIkAEiABBgAgQAdLqjSl7EiZA7g2Q6nh5S4Bkv9cIEAEiQAQIAkSACJDtAZI5GRMgvQIkYh0KkB7xIUD2Bci32xMgCBAEiAARIIOXzZpUrU5musdH5O/2Bci9AZL1Oi9ABIgAMfcUIDYCASJAjg2Q6ImZALkvQHbsP3LbmdAFiAARIAgQBIgAESCNA6Ryp+mI+9A5QCIm3gJEgAgQAYIAQYAIEAHSNkC+TXwEiAARIALktACJfK8XIAgQBIgAESAJkxYBck+A7DqErwARIAJEgCBAECACRIAIkKTnjgARIAJEgAgQBAgCRIC0DZDsT92jJmsCRIAIEAGSFQgCRICYewoQG4EAESACRIAIEAEiQASIAEGAIEAEyM0BkjXpjZiwvTFARg+DK0AEiAC5O0BGzwsjQBAgCBABIkAEiAARIAJEgAgQBAgCRIAIkLcGSFZQRE/UBYgAESACRIAgQBAgAkSAFAZI1mMhQASIABEgAkSAIEAQIAJEgAgQASJABIgAESAIEASIABEgZwXI6nV2CpDu26QAESACRIAIEAGCABEgAqRlgFROFAVI7TYpQASIABEgAkSAIEAEiABJe+M+PUCyg0KACBABIkAEiAARIAgQASJANgdI5b4Pu4MiI0Ay94WJ2iYFiAARILEBUrGPmABBgCBABMiVAVJ9/gsBIkAEiAARIAIEAYIAESACpEWARD5e1QGSeUJGASJABIgAESDmngLERiBABMi2AKlaD523GQGSf5SzrG3ylAD5baIpQASIAEGAIEAEyGsDJPLNLztAon/O1DVAor41eroubw2QlZ+0ZWzvpwRI5ra6M0Aynm+r67/qPEECBAGCABEgxwXIrslJ53NPnLa+d03kuq+jDtvfrQFySpCfuJwCBAGCABEgAkSACJBD19GbA+RNE3MBIkAQIAgQASJABIgAMYEVIAJEgCBAECACRIAIEAEiQASIABEgAkSAIEAEiAA5KECythkBclaAnDIpFCACRIAIEAGCABEgAiQpQLLfqCu3mextOGObzHocd2+TGQGS8RrY7XUj47W68r2m8ihY2e+J2Y9jh9cHAYIAQYAIkBYBkvlGLEAEiAARIAJEgCBAECACRIAIEAEiQASIABEgAsTc0wNlIxAgAkSACBABIkAEiAARIAgQBIgAESACRIAIEAEiQASIABEgCBABIkAEiAARIAJEgAgQAYIAQYAIEAEiQASIABEgAkSAIEAQIAJEgAgQASJABIgAESACBAGCABEgAkSACBABIkAEiABBgCBABIgAESACRIAIEAEiQASIAEGACBABIkAEiAARIAJEgAgQBAgCRIAIEAEiQASIABEgAkSACBAEiAARIAJEgAgQASJABIgAQYAgQASIABEgAkSACBABIkAQIAgQASJABIgAESACRIAIEAEiQBAgAkSACBABIkAEiAARIAIEAYIAESACRIAIEAEiQASIABEgAgQBIkAEiAARIAJEgAgQASJAECAIEAEiQASIABEgAkSACBAECAJEgAgQASJABIgAESACRIAIEASIABEgAkSACBABIkAEiABBgCBABIgAESACRIAIEAEiQASIAEGACBABIkAEiAARIAJEgAgQBAgCRIAIEAEiQASIABEgAgQBggARIAJEgAgQASJABIgAESACBAEiQASIABEgAkSACBABIkAQIAgQASJABIgAESACRIAIEAEiQBAgAkSACBABIkAEiAARIAIEAYIAESACRIAIEAEiQASIAEGAIEAEiAARIAJEgAgQASJABIgAQYAIEAEiQASIABEgAkSACBAECAJEgAgQASJABIgAESACRIAIEASIABEgAkSACBABIkAEiABBgCBABIgAESACRIAIEAEiQBAgCBABIkAEiAARIAJEgAgQAWLuKUAQIAJEgAgQASJABIgAESAIEASIABEgAkSACBABIkAEiAARIAgQASJABIgAESACRIAIEAGCAEGACBABIkAEiAARIAJEgJjXChAEiAARIAJEgAgQASJABIgAQYAgQASIABEgAkSACBABIkAQIAgQASJABIgAESACRIAIEAEiQBAgAkSACBABIkAEiAARIAIEAYIAESACRIAIEAEiQASIABEgAgQBIkAEiAARIAJEgAgQASJAECAIEAEiQASIABEgAkSACBAECAJEgAgQASJABIgAESACRIAIEASIABEgAkSACBABIkAEiABBgCBABIgAESACRIAIEAEiQASIAEGACBABIkAEiAARIAJEgAgQBAgCRIAIEAEiQASIABEgAgQBggARIAJEgAgQASJABIgAESACBAEiQASIABEgAkSACBABIkAQIAgQASJABIgAESACRIAIEAEiQBAgAkSACBABIkAEiAARIAIEAYIAESACRIAIEAEiQASIAEGAIEAEiAARIAJEgAgQASJABIgAQYAIEAEiQASIABEgAkSACBAECAJEgAgQASJABIgAESACRIAIEASIABEgAkSACBABIkAEiABBgCBABIgAESACRIAIEAEiQBAgCBABIkAEiAARIAJEgAgQAWLuKUBsBAJEgAgQASJABIgAESACBAGCABEgAkSACBABIkAEiAARIAIEASJABIgAESACRIAIEAEiQBAgCBABIkAEiAARIAJEgAgQBAgCRIAIEAEiQASIABEgAkSAIEAQIAJEgAgQASJABIgAESAIEASIABEgAkSACBABIkAEiAARIAgQASJABIgAESACRIAIEAGCAEGACBABIkAEiAARIAJEgAgQAYIAESACRIAIEAEiQASIABEgCBAEiAARIAJEgAgQASJABAgCBAEiQASIABEgAkSACBABIkAECAJEgAgQASJABIgAESACRIAgQBAgAkSACBABIkAEiAARIAJEgCBABIgAESACRIAIEAEiQAQIAgQBIkAEiAARIAJEgAgQAYIAQYAIEAEiQASIABEgAkSACBABggARIAJEgAgQASJABIgAESAIEASIABEgAkSACBABIkAEiAARIAgQASJABIgAESACRIAIEAGCAEGACBABIkAEiAARIAJEgCBAECACRIAIEAEiQASIABEgAkSAIEAEiAARIAJEgAgQASJABAgCBAEiQASIABEgAkSACBABIkAECAJEgAgQASJABIgAESACRIAgQBAgAkSACBABIkAE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" - } - ] - } - ] + { + "purchaseOrderNumber": "2JK3S9VD", + "sellingParty": { + "partyId": "999US" + }, + "shipFromParty": { + "partyId": "ABCD" + }, + "labelFormat": "PNG", + "labelData": [ + { + "packageIdentifier": "PKG002", + "trackingNumber": "1Z6A34Y60369738805", + "shipMethod": "UPS_GR_RES", + "shipMethodName": "UPS Ground Residential", + "content": "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AAFiCBAAABAgAgQAAASIIUAAABAghgABAAABYggQAAAEiNE4QAzDMAzDMAzDMASIYRiGYRiGYRgCxDAMwzAMwzAMQ4AYhmEYhmEYhiFADMMwDMMwDMMw/jdAAAAAio50JkAAAAABAgAACBAAAAABAgAACBAAAAABAgAACBAAAECAAAAACBAAAECAAAAACBAAAECAAAAAAoRXbAT/MX77myfXs3IfRu/nymVXrn/0PjxZ3qjlyngcV5Yx+7JRj2nGfcjYxla2n8rHonKbjFqf2a+B3V43Ml6rK99rop7jGa+Hu173std/9uv86H1buQ8IEASIABEgAkSACBABIkAEiAARIAgQASJABIgAESACRIAIEAGCAEGACBABIkAEiAARIAJEgAgQAYIAESACRIAIEAEiQASIABEgCBAEiAARIAJEgAgQASJABAgCBAEiQASIABEgAkSACBABIkAECAJEgAgQASJABIgAESACRIAgQBAgAkSACBABIkAEiAARIAJEgCBABIgAESACRIAIEAEiQAQIAgQBIkAEiAARIAJEgAgQAYIAQYAIEAEiQASIABEgAkSACBABggARIAJEgAgQASJABIgAESAIEASIABEgAkSACBABIkAEiAARIAgQASJABIgAESACRIAIEAGCAEGACBABIkAEiAARIAJEgCBAECACRIAIEAEiQASIABEgAsTcU4DYCASIABEgAkSACBABIkAECAIEASJABIgAESACRIAIEAEiQAQIAkSACBABIkAEiAARIAJEgCBAECACRIAIEAEiQASIABEgCBAEiAARIAJEgAgQASJABIgAQYAgQASIABEgAkSACBABIkAQIAgQASJABIgAESACRIAIEAEiQBAgAkSACBABIkAEiAARIAIEAYIAESACRIAIEAEiQASIABEgAgQBIkAEiAARIAJEgAgQASJAECAIEAEiQASIABEgAkSACBAECAJEgAgQASJABIgAESACRIAIEASIABEgAkSACBABIkAEiABBgCBABIgAESACRIAIEAEiQASIAEGACBABIkAEiAARIAJEgAgQBAgCRIAIEAEiQASIABEgAgQBggARIAJEgAgQASJABIgAESACBAEiQASIABEgAkSACBABIkAQIAgQASJABIgAESACRIAIEAEiQBAgAkSACBABIkAEiAARIAIEAYIAESACRIAIEAEiQASIAEGAIEAEiAARIAJEgAgQASJABIgAQYAIEAEiQASIABEgAkSACBAECAJEgAgQASJABIgAESACRIAIEASIABEgAkSACBABIkAEiABBgCBABIgAESACRIAIEAEiQBAgCBABIkAEiAARIAJEgAgQAWLu6YGyEQgQASJABIgAESACRIAIEAQIAkSACBABIkAEiAARIAJEgAgQBIgAESACRIAIEAEiQASIAEGAIEAEiAARIAJEgAgQASJAECAIEAEiQGLfmKJGxwCJmCQLEAEiQASIAEGAIEAEiAARIOEB8uftVU4wKh+fXQGyazs85b5FvdfsWp7M18PO21rE66MAQYAgQATINQHS6Y1WgAgQAbI2ORUgAkSAIEAQIAKkdYCcMgnM3oajJlQCRIB0CxEBIkAECAIEASJAWgTIaZPAjgHy7ZsTASJAOk9WBYgAESACBAEiQARIWYCcOAkUIAJk17cIp09a3xQgt0SIAEGAIEAEyFUBEvmGGHX9JwdI1k7E3SaZpwZI1YRtdRvInLjueoyinrMZl41+3YvefgQIAgQBIkCuCZCqiYQAESCd13/HAIlcXxHvNTcGyOprkwARIAIEASJABEjhRFSACBAB0mcbqDhPjQARIAJEgCBABIgAESACRIC8LECibluACBABggBBgAgQASJABIgAKYsQASJABAgCBAEiQASIABEgAkSACBABggBBgAgQASJA7g6QlXUhQPYFSMXzWoAIEAEiQBAgAkSACBABIkAEiAARIAIEAYIAESACRIAIEAEiQASIABEgAgQBIkAEiAARIMtHRRIgAkSACBABIkAQIAJEgAgQAfLaAMma/AsQASJABIgAQYAIEAEiQASIABEgAuRVAVL5+iBAECAIEAEiQBoHSOQ67BogqxEiQASIABEgAkSAIEAEiAA5LkAyJt4C5J4AyZz8CxABIkAEiABBgAgQASJABIgAESACRIAIEAQIAkSACJB3BUj0OrwtQEYmpwJEgAgQAYIAQYAIEAEiQATIEQGSPfkXIAKkKkC6vD4IEAQIAkSACJCGAZKxDgWIABEgAkSAIEAQIAJEgAgQAfJv/qGJBYgAESACBAGCABEgAiR8MiFA5n7WJUAEiAC5P0A6fUAhQBAgCBABcmSARLwxCRABIkAEiAARIAgQBIgAESAh+wIIEAEiQASIABEgCBAEiAARIKVBIkDGY02ACBABIkAECAIEASJArgyQ7EmnABEgAkSACBABggBBgAgQAVIWICuHaRUgewMka5kFyP4AmX2vESBrAdLtKHkCBAGCABEg2wKkKkI6BUj1pHdl2QWIABEgvQJk9wE9BAgCBAEiQK4IkC5vwgKkV4BEL7cAiQuQyAMgCBABIkDMPQWIjUCACJAtAdLhjbgiQHZMegWIAIkMkKplFyACRIAIEASIABEgZW9MAkSACJCeAVK57AJEgAgQAYIAESACpPSNSYAIkOhlFyBrz+XI7UuACBABggBBgAiQdgGy4805O0B2TXoFiACJeh2I2rYESMy2mPm+KUAQIAgQASJANkaIABEgNwXIbz9xy17nAsR5QAQIAgQBIkAEiAA5IkAyJp9vD5Dd25MAESACBAGCABEgAmTx9+rf1s/pE0YBIkCqtyUBIkAEiABBgAgQAdLqjSl7EiZA7g2Q6nh5S4Bkv9cIEAEiQAQIAkSACJDtAZI5GRMgvQIkYh0KkB7xIUD2Bci32xMgCBAEiAARIIOXzZpUrU5musdH5O/2Bci9AZL1Oi9ABIgAMfcUIDYCASJAjg2Q6ImZALkvQHbsP3LbmdAFiAARIAgQBIgAESCNA6Ryp+mI+9A5QCIm3gJEgAgQAYIAQYAIEAHSNkC+TXwEiAARIALktACJfK8XIAgQBIgAESAJkxYBck+A7DqErwARIAJEgCBAECACRIAIkKTnjgARIAJEgAgQBAgCRIC0DZDsT92jJmsCRIAIEAGSFQgCRICYewoQG4EAESACRIAIEAEiQASIAEGAIEAEyM0BkjXpjZiwvTFARg+DK0AEiAC5O0BGzwsjQBAgCBABIkAEiAARIAJEgAgQBAgCRIAIkLcGSFZQRE/UBYgAESACRIAgQBAgAkSAFAZI1mMhQASIABEgAkSAIEAQIAJEgAgQASJABIgAESAIEASIABEgZwXI6nV2CpDu26QAESACRIAIEAGCABEgAqRlgFROFAVI7TYpQASIABEgAkSAIEAEiABJe+M+PUCyg0KACBABIkAEiAARIAgQASJANgdI5b4Pu4MiI0Ay94WJ2iYFiAARILEBUrGPmABBgCBABMiVAVJ9/gsBIkAEiAARIAIEAYIAESACpEWARD5e1QGSeUJGASJABIgAESDmngLERiBABMi2AKlaD523GQGSf5SzrG3ylAD5baIpQASIAEGAIEAEyGsDJPLNLztAon/O1DVAor41eroubw2QlZ+0ZWzvpwRI5ra6M0Aynm+r67/qPEECBAGCABEgxwXIrslJ53NPnLa+d03kuq+jDtvfrQFySpCfuJwCBAGCABEgAkSACJBD19GbA+RNE3MBIkAQIAgQASJABIgAMYEVIAJEgCBAECACRIAIEAEiQASIABEgAkSAIEAEiAA5KECythkBclaAnDIpFCACRIAIEAGCABEgAiQpQLLfqCu3mextOGObzHocd2+TGQGS8RrY7XUj47W68r2m8ihY2e+J2Y9jh9cHAYIAQYAIkBYBkvlGLEAEiAARIAJEgCBAECACRIAIEAEiQASIABEgAsTc0wNlIxAgAkSACBABIkAEiAARIAgQBIgAESACRIAIEAEiQASIABEgCBABIkAEiAARIAJEgAgQAYIAQYAIEAEiQASIABEgAkSAIEAQIAJEgAgQASJABIgAESACBAGCABEgAkSACBABIkAEiABBgCBABIgAESACRIAIEAEiQASIAEGACBABIkAEiAARIAJEgAgQBAgCRIAIEAEiQASIABEgAkSACBAEiAARIAJEgAgQASJABIgAQYAgQASIABEgAkSACBABIkAQIAgQASJABIgAESACRIAIEAEiQBAgAkSACBABIkAEiAARIAIEAYIAESACRIAIEAEiQASIABEgAgQBIkAEiAARIAJEgAgQASJAECAIEAEiQASIABEgAkSACBAECAJEgAgQASJABIgAESACRIAIEASIABEgAkSACBABIkAEiABBgCBABIgAESACRIAIEAEiQASIAEGACBABIkAEiAARIAJEgAgQBAgCRIAIEAEiQASIABEgAgQBggARIAJEgAgQASJABIgAESACBAEiQASIABEgAkSACBABIkAQIAgQASJABIgAESACRIAIEAEiQBAgAkSACBABIkAEiAARIAIEAYIAESACRIAIEAEiQASIAEGAIEAEiAARIAJEgAgQASJABIgAQYAIEAEiQASIABEgAkSACBAECAJEgAgQASJABIgAESACRIAIEASIABEgAkSACBABIkAEiABBgCBABIgAESACRIAIEAEiQBAgCBABIkAEiAARIAJEgAgQAWLuKUAQIAJEgAgQASJABIgAESAIEASIABEgAkSACBABIkAEiAARIAgQASJABIgAESACRIAIEAGCAEGACBABIkAEiAARIAJEgJjXChAEiAARIAJEgAgQASJABIgAQYAgQASIABEgAkSACBABIkAQIAgQASJABIgAESACRIAIEAEiQBAgAkSACBABIkAEiAARIAIEAYIAESACRIAIEAEiQASIABEgAgQBIkAEiAARIAJEgAgQASJAECAIEAEiQASIABEgAkSACBAECAJEgAgQASJABIgAESACRIAIEASIABEgAkSACBABIkAEiABBgCBABIgAESACRIAIEAEiQASIAEGACBABIkAEiAARIAJEgAgQBAgCRIAIEAEiQASIABEgAgQBggARIAJEgAgQASJABIgAESACBAEiQASIABEgAkSACBABIkAQIAgQASJABIgAESACRIAIEAEiQBAgAkSACBABIkAEiAARIAIEAYIAESACRIAIEAEiQASIAEGAIEAEiAARIAJEgAgQASJABIgAQYAIEAEiQASIABEgAkSACBAECAJEgAgQASJABIgAESACRIAIEASIABEgAkSACBABIkAEiABBgCBABIgAESACRIAIEAEiQBAgCBABIkAEiAARIAJEgAgQAWLuKUBsBAJEgAgQASJABIgAESACBAGCABEgAkSACBABIkAEiAARIAIEASJABIgAESACRIAIEAEiQBAgCBABIkAEiAARIAJEgAgQBAgCRIAIEAEiQASIABEgAkSAIEAQIAJEgAgQASJABIgAESAIEASIABEgAkSACBABIkAEiAARIAgQASJABIgAESACRIAIEAGCAEGACBABIkAEiAARIAJEgAgQAYIAESACRIAIEAEiQASIABEgCBAEiAARIAJEgAgQASJABAgCBAEiQASIABEgAkSACBABIkAECAJEgAgQASJABIgAESACRIAgQBAgAkSACBABIkAEiAARIAJEgCBABIgAESACRIAIEAEiQAQIAgQBIkAEiAARIAJEgAgQAYIAQYAIEAEiQASIABEgAkSACBABggARIAJEgAgQASJABIgAESAIEASIABEgAkSACBABIkAEiAARIAgQASJABIgAESACRIAIEAGCAEGACBABIkAEiAARIAJEgCBAECACRIAIEAEiQASIABEgAkSAIEAEiAARIAJEgAgQASJABAgCBAEiQASIABEgAkSACBABIkAECAJEgAgQASJABIgAESACRIAgQBAgAkSACBABIkAE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" + } + ] + } + ] + } } - } - }, - { - "request": { - "parameters": {} }, - "response": { - "payload": { - "shippingLabels": [ - { - "purchaseOrderNumber": "mockpurchaseOrderNumber1", - "sellingParty": { - "partyId": "999US" - }, - "shipFromParty": { - "partyId": "ABCD" - }, - "labelFormat": "PNG", - "labelData": [ - { - "packageIdentifier": "PKG001", - "trackingNumber": "1Z6A34Y60369738804", - "shipMethod": "UPS_GR_RES", - "shipMethodName": "UPS Ground Residential", - "content": "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AAFiCBAAABAgAgQAAASIIUAAABAghgABAAABYggQAAAEiNE4QAzDMAzDMAzDMASIYRiGYRiGYRgCxDAMwzAMwzAMQ4AYhmEYhmEYhiFADMMwDMMwDMMw/jdAAAAAio50JkAAAAABAgAACBAAAAABAgAACBAAAAABAgAACBAAAECAAAAACBAAAECAAAAACBAAAECAAAAAAoRXbAT/MX77myfXs3IfRu/nymVXrn/0PjxZ3qjlyngcV5Yx+7JRj2nGfcjYxla2n8rHonKbjFqf2a+B3V43Ml6rK99rop7jGa+Hu173std/9uv86H1buQ8IEASIABEgAkSACBABIkAEiAARIAgQASJABIgAESACRIAIEAGCAEGACBABIkAEiAARIAJEgAgQAYIAESACRIAIEAEiQASIABEgCBAEiAARIAJEgAgQASJABAgCBAEiQASIABEgAkSACBABIkAECAJEgAgQASJABIgAESACRIAgQBAgAkSACBABIkAEiAARIAJEgCBABIgAESACRIAIEAEiQAQIAgQBIkAEiAARIAJEgAgQAYIAQYAIEAEiQASIABEgAkSACBABggARIAJEgAgQASJABIgAESAIEASIABEgAkSACBABIkAEiAARIAgQASJABIgAESACRIAIEAGCAEGACBABIkAEiAARIAJEgCBAECACRIAIEAEiQASIABEgAsTcU4DYCASIABEgAkSACBABIkAECAIEASJABIgAESACRIAIEAEiQAQIAkSACBABIkAEiAARIAJEgCBAECACRIAIEAEiQASIABEgCBAEiAARIAJEgAgQASJABIgAQYAgQASIABEgAkSACBABIkAQIAgQASJABIgAESACRIAIEAEiQBAgAkSACBABIkAEiAARIAIEAYIAESACRIAIEAEiQASIABEgAgQBIkAEiAARIAJEgAgQASJAECAIEAEiQASIABEgAkSACBAECAJEgAgQASJABIgAESACRIAIEASIABEgAkSACBABIkAEiABBgCBABIgAESACRIAIEAEiQASIAEGACBABIkAEiAARIAJEgAgQBAgCRIAIEAEiQASIABEgAgQBggARIAJEgAgQASJABIgAESACBAEiQASIABEgAkSACBABIkAQIAgQASJABIgAESACRIAIEAEiQBAgAkSACBABIkAEiAARIAIEAYIAESACRIAIEAEiQASIAEGAIEAEiAARIAJEgAgQASJABIgAQYAIEAEiQASIABEgAkSACBAECAJEgAgQASJABIgAESACRIAIEASIABEgAkSACBABIkAEiABBgCBABIgAESACRIAIEAEiQBAgCBABIkAEiAARIAJEgAgQAWLu6YGyEQgQASJABIgAESACRIAIEAQIAkSACBABIkAEiAARIAJEgAgQBIgAESACRIAIEAEiQASIAEGAIEAEiAARIAJEgAgQASJAECAIEAEiQGLfmKJGxwCJmCQLEAEiQASIAEGAIEAEiAARIOEB8uftVU4wKh+fXQGyazs85b5FvdfsWp7M18PO21rE66MAQYAgQATINQHS6Y1WgAgQAbI2ORUgAkSAIEAQIAKkdYCcMgnM3oajJlQCRIB0CxEBIkAECAIEASJAWgTIaZPAjgHy7ZsTASJAOk9WBYgAESACBAEiQARIWYCcOAkUIAJk17cIp09a3xQgt0SIAEGAIEAEyFUBEvmGGHX9JwdI1k7E3SaZpwZI1YRtdRvInLjueoyinrMZl41+3YvefgQIAgQBIkCuCZCqiYQAESCd13/HAIlcXxHvNTcGyOprkwARIAIEASJABEjhRFSACBAB0mcbqDhPjQARIAJEgCBABIgAESACRIC8LECibluACBABggBBgAgQASJABIgAKYsQASJABAgCBAEiQASIABEgAkSACBABggBBgAgQASJA7g6QlXUhQPYFSMXzWoAIEAEiQBAgAkSACBABIkAEiAARIAIEAYIAESACRIAIEAEiQASIABEgAgQBIkAEiAARIMtHRRIgAkSACBABIkAQIAJEgAgQAfLaAMma/AsQASJABIgAQYAIEAEiQASIABEgAuRVAVL5+iBAECAIEAEiQBoHSOQ67BogqxEiQASIABEgAkSAIEAEiAA5LkAyJt4C5J4AyZz8CxABIkAEiABBgAgQASJABIgAESACRIAIEAQIAkSACJB3BUj0OrwtQEYmpwJEgAgQAYIAQYAIEAEiQATIEQGSPfkXIAKkKkC6vD4IEAQIAkSACJCGAZKxDgWIABEgAkSAIEAQIAJEgAgQAfJv/qGJBYgAESACBAGCABEgAiR8MiFA5n7WJUAEiAC5P0A6fUAhQBAgCBABcmSARLwxCRABIkAEiAARIAgQBIgAESAh+wIIEAEiQASIABEgCBAEiAARIKVBIkDGY02ACBABIkAECAIEASJArgyQ7EmnABEgAkSACBABggBBgAgQAVIWICuHaRUgewMka5kFyP4AmX2vESBrAdLtKHkCBAGCABEg2wKkKkI6BUj1pHdl2QWIABEgvQJk9wE9BAgCBAEiQK4IkC5vwgKkV4BEL7cAiQuQyAMgCBABIkDMPQWIjUCACJAtAdLhjbgiQHZMegWIAIkMkKplFyACRIAIEASIABEgZW9MAkSACJCeAVK57AJEgAgQAYIAESACpPSNSYAIkOhlFyBrz+XI7UuACBABggBBgAiQdgGy4805O0B2TXoFiACJeh2I2rYESMy2mPm+KUAQIAgQASJANkaIABEgNwXIbz9xy17nAsR5QAQIAgQBIkAEiAA5IkAyJp9vD5Dd25MAESACBAGCABEgAmTx9+rf1s/pE0YBIkCqtyUBIkAEiABBgAgQAdLqjSl7EiZA7g2Q6nh5S4Bkv9cIEAEiQAQIAkSACJDtAZI5GRMgvQIkYh0KkB7xIUD2Bci32xMgCBAEiAARIIOXzZpUrU5musdH5O/2Bci9AZL1Oi9ABIgAMfcUIDYCASJAjg2Q6ImZALkvQHbsP3LbmdAFiAARIAgQBIgAESCNA6Ryp+mI+9A5QCIm3gJEgAgQAYIAQYAIEAHSNkC+TXwEiAARIALktACJfK8XIAgQBIgAESAJkxYBck+A7DqErwARIAJEgCBAECACRIAIkKTnjgARIAJEgAgQBAgCRIC0DZDsT92jJmsCRIAIEAGSFQgCRICYewoQG4EAESACRIAIEAEiQASIAEGAIEAEyM0BkjXpjZiwvTFARg+DK0AEiAC5O0BGzwsjQBAgCBABIkAEiAARIAJEgAgQBAgCRIAIkLcGSFZQRE/UBYgAESACRIAgQBAgAkSAFAZI1mMhQASIABEgAkSAIEAQIAJEgAgQASJABIgAESAIEASIABEgZwXI6nV2CpDu26QAESACRIAIEAGCABEgAqRlgFROFAVI7TYpQASIABEgAkSAIEAEiABJe+M+PUCyg0KACBABIkAEiAARIAgQASJANgdI5b4Pu4MiI0Ay94WJ2iYFiAARILEBUrGPmABBgCBABMiVAVJ9/gsBIkAEiAARIAIEAYIAESACpEWARD5e1QGSeUJGASJABIgAESDmngLERiBABMi2AKlaD523GQGSf5SzrG3ylAD5baIpQASIAEGAIEAEyGsDJPLNLztAon/O1DVAor41eroubw2QlZ+0ZWzvpwRI5ra6M0Aynm+r67/qPEECBAGCABEgxwXIrslJ53NPnLa+d03kuq+jDtvfrQFySpCfuJwCBAGCABEgAkSACJBD19GbA+RNE3MBIkAQIAgQASJABIgAMYEVIAJEgCBAECACRIAIEAEiQASIABEgAkSAIEAEiAA5KECythkBclaAnDIpFCACRIAIEAGCABEgAiQpQLLfqCu3mextOGObzHocd2+TGQGS8RrY7XUj47W68r2m8ihY2e+J2Y9jh9cHAYIAQYAIkBYBkvlGLEAEiAARIAJEgCBAECACRIAIEAEiQASIABEgAsTc0wNlIxAgAkSACBABIkAEiAARIAgQBIgAESACRIAIEAEiQASIABEgCBABIkAEiAARIAJEgAgQAYIAQYAIEAEiQASIABEgAkSAIEAQIAJEgAgQASJABIgAESACBAGCABEgAkSACBABIkAEiABBgCBABIgAESACRIAIEAEiQASIAEGACBABIkAEiAARIAJEgAgQBAgCRIAIEAEiQASIABEgAkSACBAEiAARIAJEgAgQASJABIgAQYAgQASIABEgAkSACBABIkAQIAgQASJABIgAESACRIAIEAEiQBAgAkSACBABIkAEiAARIAIEAYIAESACRIAIEAEiQASIABEgAgQBIkAEiAARIAJEgAgQASJAECAIEAEiQASIABEgAkSACBAECAJEgAgQASJABIgAESACRIAIEASIABEgAkSACBABIkAEiABBgCBABIgAESACRIAIEAEiQASIAEGACBABIkAEiAARIAJEgAgQBAgCRIAIEAEiQASIABEgAgQBggARIAJEgAgQASJABIgAESACBAEiQASIABEgAkSACBABIkAQIAgQASJABIgAESACRIAIEAEiQBAgAkSACBABIkAEiAARIAIEAYIAESACRIAIEAEiQASIAEGAIEAEiAARIAJEgAgQASJABIgAQYAIEAEiQASIABEgAkSACBAECAJEgAgQASJABIgAESACRIAIEASIABEgAkSACBABIkAEiABBgCBABIgAESACRIAIEAEiQBAgCBABIkAEiAARIAJEgAgQAWLuKUAQIAJEgAgQASJABIgAESAIEASIABEgAkSACBABIkAEiAARIAgQASJABIgAESACRIAIEAGCAEGACBABIkAEiAARIAJEgJjXChAEiAARIAJEgAgQASJABIgAQYAgQASIABEgAkSACBABIkAQIAgQASJABIgAESACRIAIEAEiQBAgAkSACBABIkAEiAARIAIEAYIAESACRIAIEAEiQASIABEgAgQBIkAEiAARIAJEgAgQASJAECAIEAEiQASIABEgAkSACBAECAJEgAgQASJABIgAESACRIAIEASIABEgAkSACBABIkAEiABBgCBABIgAESACRIAIEAEiQASIAEGACBABIkAEiAARIAJEgAgQBAgCRIAIEAEiQASIABEgAgQBggARIAJEgAgQASJABIgAESACBAEiQASIABEgAkSACBABIkAQIAgQASJABIgAESACRIAIEAEiQBAgAkSACBABIkAEiAARIAIEAYIAESACRIAIEAEiQASIAEGAIEAEiAARIAJEgAgQASJABIgAQYAIEAEiQASIABEgAkSACBAECAJEgAgQASJABIgAESACRIAIEASIABEgAkSACBABIkAEiABBgCBABIgAESACRIAIEAEiQBAgCBABIkAEiAARIAJEgAgQAWLuKUBsBAJEgAgQASJABIgAESACBAGCABEgAkSACBABIkAEiAARIAIEASJABIgAESACRIAIEAEiQBAgCBABIkAEiAARIAJEgAgQBAgCRIAIEAEiQASIABEgAkSAIEAQIAJEgAgQASJABIgAESAIEASIABEgAkSACBABIkAEiAARIAgQASJABIgAESACRIAIEAGCAEGACBABIkAEiAARIAJEgAgQAYIAESACRIAIEAEiQASIABEgCBAEiAARIAJEgAgQASJABAgCBAEiQASIABEgAkSACBABIkAECAJEgAgQASJABIgAESACRIAgQBAgAkSACBABIkAEiAARIAJEgCBABIgAESACRIAIEAEiQAQIAgQBIkAEiAARIAJEgAgQAYIAQYAIEAEiQASIABEgAkSACBABggARIAJEgAgQASJABIgAESAIEASIABEgAkSACBABIkAEiAARIAgQASJABIgAESACRIAIEAGCAEGACBABIkAEiAARIAJEgCBAECACRIAIEAEiQASIABEgAkSAIEAEiAARIAJEgAgQASJABAgCBAEiQASIABEgAkSACBABIkAECAJEgAgQASJABIgAESACRIAgQBAgAkSACBABIkAE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" - } - ] - }, - { - "purchaseOrderNumber": "mockpurchaseOrderNumber2", - "sellingParty": { - "partyId": "999US" - }, - "shipFromParty": { - "partyId": "ABCD" + { + "request": { + "parameters": {} + }, + "response": { + "payload": { + "shippingLabels": [ + { + "purchaseOrderNumber": "mockpurchaseOrderNumber1", + "sellingParty": { + "partyId": "999US" + }, + "shipFromParty": { + "partyId": "ABCD" + }, + "labelFormat": "PNG", + "labelData": [ + { + "packageIdentifier": "PKG001", + "trackingNumber": "1Z6A34Y60369738804", + "shipMethod": "UPS_GR_RES", + "shipMethodName": "UPS Ground Residential", + "content": "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AAFiCBAAABAgAgQAAASIIUAAABAghgABAAABYggQAAAEiNE4QAzDMAzDMAzDMASIYRiGYRiGYRgCxDAMwzAMwzAMQ4AYhmEYhmEYhiFADMMwDMMwDMMw/jdAAAAAio50JkAAAAABAgAACBAAAAABAgAACBAAAAABAgAACBAAAECAAAAACBAAAECAAAAACBAAAECAAAAAAoRXbAT/MX77myfXs3IfRu/nymVXrn/0PjxZ3qjlyngcV5Yx+7JRj2nGfcjYxla2n8rHonKbjFqf2a+B3V43Ml6rK99rop7jGa+Hu173std/9uv86H1buQ8IEASIABEgAkSACBABIkAEiAARIAgQASJABIgAESACRIAIEAGCAEGACBABIkAEiAARIAJEgAgQAYIAESACRIAIEAEiQASIABEgCBAEiAARIAJEgAgQASJABAgCBAEiQASIABEgAkSACBABIkAECAJEgAgQASJABIgAESACRIAgQBAgAkSACBABIkAEiAARIAJEgCBABIgAESACRIAIEAEiQAQIAgQBIkAEiAARIAJEgAgQAYIAQYAIEAEiQASIABEgAkSACBABggARIAJEgAgQASJABIgAESAIEASIABEgAkSACBABIkAEiAARIAgQASJABIgAESACRIAIEAGCAEGACBABIkAEiAARIAJEgCBAECACRIAIEAEiQASIABEgAsTcU4DYCASIABEgAkSACBABIkAECAIEASJABIgAESACRIAIEAEiQAQIAkSACBABIkAEiAARIAJEgCBAECACRIAIEAEiQASIABEgCBAEiAARIAJEgAgQASJABIgAQYAgQASIABEgAkSACBABIkAQIAgQASJABIgAESACRIAIEAEiQBAgAkSACBABIkAEiAARIAIEAYIAESACRIAIEAEiQASIABEgAgQBIkAEiAARIAJEgAgQASJAECAIEAEiQASIABEgAkSACBAECAJEgAgQASJABIgAESACRIAIEASIABEgAkSACBABIkAEiABBgCBABIgAESACRIAIEAEiQASIAEGACBABIkAEiAARIAJEgAgQBAgCRIAIEAEiQASIABEgAgQBggARIAJEgAgQASJABIgAESACBAEiQASIABEgAkSACBABIkAQIAgQASJABIgAESACRIAIEAEiQBAgAkSACBABIkAEiAARIAIEAYIAESACRIAIEAEiQASIAEGAIEAEiAARIAJEgAgQASJABIgAQYAIEAEiQASIABEgAkSACBAECAJEgAgQASJABIgAESACRIAIEASIABEgAkSACBABIkAEiABBgCBABIgAESACRIAIEAEiQBAgCBABIkAEiAARIAJEgAgQAWLu6YGyEQgQASJABIgAESACRIAIEAQIAkSACBABIkAEiAARIAJEgAgQBIgAESACRIAIEAEiQASIAEGAIEAEiAARIAJEgAgQASJAECAIEAEiQGLfmKJGxwCJmCQLEAEiQASIAEGAIEAEiAARIOEB8uftVU4wKh+fXQGyazs85b5FvdfsWp7M18PO21rE66MAQYAgQATINQHS6Y1WgAgQAbI2ORUgAkSAIEAQIAKkdYCcMgnM3oajJlQCRIB0CxEBIkAECAIEASJAWgTIaZPAjgHy7ZsTASJAOk9WBYgAESACBAEiQARIWYCcOAkUIAJk17cIp09a3xQgt0SIAEGAIEAEyFUBEvmGGHX9JwdI1k7E3SaZpwZI1YRtdRvInLjueoyinrMZl41+3YvefgQIAgQBIkCuCZCqiYQAESCd13/HAIlcXxHvNTcGyOprkwARIAIEASJABEjhRFSACBAB0mcbqDhPjQARIAJEgCBABIgAESACRIC8LECibluACBABggBBgAgQASJABIgAKYsQASJABAgCBAEiQASIABEgAkSACBABggBBgAgQASJA7g6QlXUhQPYFSMXzWoAIEAEiQBAgAkSACBABIkAEiAARIAIEAYIAESACRIAIEAEiQASIABEgAgQBIkAEiAARIMtHRRIgAkSACBABIkAQIAJEgAgQAfLaAMma/AsQASJABIgAQYAIEAEiQASIABEgAuRVAVL5+iBAECAIEAEiQBoHSOQ67BogqxEiQASIABEgAkSAIEAEiAA5LkAyJt4C5J4AyZz8CxABIkAEiABBgAgQASJABIgAESACRIAIEAQIAkSACJB3BUj0OrwtQEYmpwJEgAgQAYIAQYAIEAEiQATIEQGSPfkXIAKkKkC6vD4IEAQIAkSACJCGAZKxDgWIABEgAkSAIEAQIAJEgAgQAfJv/qGJBYgAESACBAGCABEgAiR8MiFA5n7WJUAEiAC5P0A6fUAhQBAgCBABcmSARLwxCRABIkAEiAARIAgQBIgAESAh+wIIEAEiQASIABEgCBAEiAARIKVBIkDGY02ACBABIkAECAIEASJArgyQ7EmnABEgAkSACBABggBBgAgQAVIWICuHaRUgewMka5kFyP4AmX2vESBrAdLtKHkCBAGCABEg2wKkKkI6BUj1pHdl2QWIABEgvQJk9wE9BAgCBAEiQK4IkC5vwgKkV4BEL7cAiQuQyAMgCBABIkDMPQWIjUCACJAtAdLhjbgiQHZMegWIAIkMkKplFyACRIAIEASIABEgZW9MAkSACJCeAVK57AJEgAgQAYIAESACpPSNSYAIkOhlFyBrz+XI7UuACBABggBBgAiQdgGy4805O0B2TXoFiACJeh2I2rYESMy2mPm+KUAQIAgQASJANkaIABEgNwXIbz9xy17nAsR5QAQIAgQBIkAEiAA5IkAyJp9vD5Dd25MAESACBAGCABEgAmTx9+rf1s/pE0YBIkCqtyUBIkAEiABBgAgQAdLqjSl7EiZA7g2Q6nh5S4Bkv9cIEAEiQAQIAkSACJDtAZI5GRMgvQIkYh0KkB7xIUD2Bci32xMgCBAEiAARIIOXzZpUrU5musdH5O/2Bci9AZL1Oi9ABIgAMfcUIDYCASJAjg2Q6ImZALkvQHbsP3LbmdAFiAARIAgQBIgAESCNA6Ryp+mI+9A5QCIm3gJEgAgQAYIAQYAIEAHSNkC+TXwEiAARIALktACJfK8XIAgQBIgAESAJkxYBck+A7DqErwARIAJEgCBAECACRIAIkKTnjgARIAJEgAgQBAgCRIC0DZDsT92jJmsCRIAIEAGSFQgCRICYewoQG4EAESACRIAIEAEiQASIAEGAIEAEyM0BkjXpjZiwvTFARg+DK0AEiAC5O0BGzwsjQBAgCBABIkAEiAARIAJEgAgQBAgCRIAIkLcGSFZQRE/UBYgAESACRIAgQBAgAkSAFAZI1mMhQASIABEgAkSAIEAQIAJEgAgQASJABIgAESAIEASIABEgZwXI6nV2CpDu26QAESACRIAIEAGCABEgAqRlgFROFAVI7TYpQASIABEgAkSAIEAEiABJe+M+PUCyg0KACBABIkAEiAARIAgQASJANgdI5b4Pu4MiI0Ay94WJ2iYFiAARILEBUrGPmABBgCBABMiVAVJ9/gsBIkAEiAARIAIEAYIAESACpEWARD5e1QGSeUJGASJABIgAESDmngLERiBABMi2AKlaD523GQGSf5SzrG3ylAD5baIpQASIAEGAIEAEyGsDJPLNLztAon/O1DVAor41eroubw2QlZ+0ZWzvpwRI5ra6M0Aynm+r67/qPEECBAGCABEgxwXIrslJ53NPnLa+d03kuq+jDtvfrQFySpCfuJwCBAGCABEgAkSACJBD19GbA+RNE3MBIkAQIAgQASJABIgAMYEVIAJEgCBAECACRIAIEAEiQASIABEgAkSAIEAEiAA5KECythkBclaAnDIpFCACRIAIEAGCABEgAiQpQLLfqCu3mextOGObzHocd2+TGQGS8RrY7XUj47W68r2m8ihY2e+J2Y9jh9cHAYIAQYAIkBYBkvlGLEAEiAARIAJEgCBAECACRIAIEAEiQASIABEgAsTc0wNlIxAgAkSACBABIkAEiAARIAgQBIgAESACRIAIEAEiQASIABEgCBABIkAEiAARIAJEgAgQAYIAQYAIEAEiQASIABEgAkSAIEAQIAJEgAgQASJABIgAESACBAGCABEgAkSACBABIkAEiABBgCBABIgAESACRIAIEAEiQASIAEGACBABIkAEiAARIAJEgAgQBAgCRIAIEAEiQASIABEgAkSACBAEiAARIAJEgAgQASJABIgAQYAgQASIABEgAkSACBABIkAQIAgQASJABIgAESACRIAIEAEiQBAgAkSACBABIkAEiAARIAIEAYIAESACRIAIEAEiQASIABEgAgQBIkAEiAARIAJEgAgQASJAECAIEAEiQASIABEgAkSACBAECAJEgAgQASJABIgAESACRIAIEASIABEgAkSACBABIkAEiABBgCBABIgAESACRIAIEAEiQASIAEGACBABIkAEiAARIAJEgAgQBAgCRIAIEAEiQASIABEgAgQBggARIAJEgAgQASJABIgAESACBAEiQASIABEgAkSACBABIkAQIAgQASJABIgAESACRIAIEAEiQBAgAkSACBABIkAEiAARIAIEAYIAESACRIAIEAEiQASIAEGAIEAEiAARIAJEgAgQASJABIgAQYAIEAEiQASIABEgAkSACBAECAJEgAgQASJABIgAESACRIAIEASIABEgAkSACBABIkAEiABBgCBABIgAESACRIAIEAEiQBAgCBABIkAEiAARIAJEgAgQAWLuKUAQIAJEgAgQASJABIgAESAIEASIABEgAkSACBABIkAEiAARIAgQASJABIgAESACRIAIEAGCAEGACBABIkAEiAARIAJEgJjXChAEiAARIAJEgAgQASJABIgAQYAgQASIABEgAkSACBABIkAQIAgQASJABIgAESACRIAIEAEiQBAgAkSACBABIkAEiAARIAIEAYIAESACRIAIEAEiQASIABEgAgQBIkAEiAARIAJEgAgQASJAECAIEAEiQASIABEgAkSACBAECAJEgAgQASJABIgAESACRIAIEASIABEgAkSACBABIkAEiABBgCBABIgAESACRIAIEAEiQASIAEGACBABIkAEiAARIAJEgAgQBAgCRIAIEAEiQASIABEgAgQBggARIAJEgAgQASJABIgAESACBAEiQASIABEgAkSACBABIkAQIAgQASJABIgAESACRIAIEAEiQBAgAkSACBABIkAEiAARIAIEAYIAESACRIAIEAEiQASIAEGAIEAEiAARIAJEgAgQASJABIgAQYAIEAEiQASIABEgAkSACBAECAJEgAgQASJABIgAESACRIAIEASIABEgAkSACBABIkAEiABBgCBABIgAESACRIAIEAEiQBAgCBABIkAEiAARIAJEgAgQAWLuKUBsBAJEgAgQASJABIgAESACBAGCABEgAkSACBABIkAEiAARIAIEASJABIgAESACRIAIEAEiQBAgCBABIkAEiAARIAJEgAgQBAgCRIAIEAEiQASIABEgAkSAIEAQIAJEgAgQASJABIgAESAIEASIABEgAkSACBABIkAEiAARIAgQASJABIgAESACRIAIEAGCAEGACBABIkAEiAARIAJEgAgQAYIAESACRIAIEAEiQASIABEgCBAEiAARIAJEgAgQASJABAgCBAEiQASIABEgAkSACBABIkAECAJEgAgQASJABIgAESACRIAgQBAgAkSACBABIkAEiAARIAJEgCBABIgAESACRIAIEAEiQAQIAgQBIkAEiAARIAJEgAgQAYIAQYAIEAEiQASIABEgAkSACBABggARIAJEgAgQASJABIgAESAIEASIABEgAkSACBABIkAEiAARIAgQASJABIgAESACRIAIEAGCAEGACBABIkAEiAARIAJEgCBAECACRIAIEAEiQASIABEgAkSAIEAEiAARIAJEgAgQASJABAgCBAEiQASIABEgAkSACBABIkAECAJEgAgQASJABIgAESACRIAgQBAgAkSACBABIkAEiAARIAgQAABAgAgQAABAgAAAAAIEAABAgAAAAAIEAABAgAAAAAIEAAAQIAAAAAIEAAAQIAAAAAIEAAAQIAAAwDsCxDAMwzAMwzAMo2hYCYZhGIZhGIZhCBDDMAzDMAzDMASIYRiGYRiGYRiGADEMwzAMwzAMQ4AYhmEYhmEYhmEIEMMwDMMwDMMwBIhhGIZhGIZhGALEMAzDMAzDMAxDgBiGYRiGYRiGIUAMwzAMwzAMwzAEiGEYhmEYhmEYAsQwDMMwDMMwDAFiGIZhGIZhGIYhQAzDMAzDMAzDODNAAAAAsgkQAABAgAAAAAIEAABAgAAAAAIEAABAgAAAAAIEAAAQIP9xgV/H08s8+bfR61q97azbe3K5rHX/7boyrhsAAMIC5KfJ67f/vnq51b9/cttPw2Lm3yMn8avL8effZ103AACUBMjsv3UJkKzAqAiQiJiKuG4AABAgD287675XBcjI/dkdUgAACBABUnDfs5f9lG9yAAAQIK8PkNH7GDEhrwyQzHgBAIDyADl5J/S//9uJAfLkiF5Z1w0AAOkBMnrI1pMCZPa/FT1gU/GxunO6+AAAYGuARP1btwD56b/PBEjGOTVmz9Xx5HadBwQAgOMCJGKyf0uArNzfimXPvJ8AACBAJs99sXrfOwRI1nUDAMB1AfL0SFWf/n31tk8NkOywAwAAAVIYICvrYzYosr7RECAAABwXIBk7oe8MkL8jpGqdRAVIZFgCAEB5gHw7BO+3w7j+FhNPrzfi73+77YjJedShiZ9ed1RMOPIVAAAtA4RzHlgAABAgVD2oVgQAAAIEAAAQINYEAAAgQAAAAAECAAAgQAAAAAECAAAgQAAAAAECAAAIEAAAAAECAAAIEAAAAAECAAAIEAAAQIAAAAAIEAAAQIAAAAAIEAAAQIAAAAACBAAAQIAAAAACBAAAQIAAAAACBAAAECAAAAACBAAAECAAAAACBAAAECAAAIAAAQAAECAAAIAAAQAAECAAAIAAAQAABIgAAQAABAgAACBAAAAABAgAACBAAAAABAgAACBAAAAAAQIAACBAAAAAAQIAACBAAAAAAQIAAAgQAAAAAQIAAAgQAAAAAQIAAAgQAABAgAAAAAgQAABAgAAAAAgQAABAgAAAAAIEAABAgAAAAAIEAABAgAAAAAIEAAAQIAIEAAAQIAAAgAABAAAQIAAAgAABAAAQIAAAgAABAAAECAAAgAABAAAECAAAgAABAAAECAAAIEAAAAAECAAAIEAAAAAECAAAIEAAAAABAgAAIEAAAAABAgAAIEAAAAABAgAACBAAAAABAgAA/Fd7d6CiOBIEYPj9n3oODhaGZTXVVdWdTuf7IHA7p44xcaxfowoQAAAAAQIAAAgQAABAgLglAAAAAQIAAAgQAAAAAQIAAAgQAAAAAQIAAAgQAABAgAAAAAgQAABAgAAAAAgQAABAgHy9kj9CCdbdt9zvAIAtAuT3UPKvZcZw9PvfxLZLdNutul4z13Vkna7Oe3UZKwfyzLaqnOeO9d11vwUANgqQb0NJ94Bg0MgPc6ujYPXAWBmaI/9/lwG4ElcrbsuT9lsA4IEB0hkhho15w+odz+KvvtzsUL3TbffGANnptgcAHhIgXYOCYaN2m909VN4dIN9O88QA+fPfV6fNXMddAmSn/RYAOCxARo77jlyPkcuJHD4WuazRZ5tHn+XNDFtdg1zn4Uajt8+Ky62s12j4fLstR5/1H903o9s3s6/cvY4ALx7aLC9bBEgxQKLD4NUGGBkqPw1K1esUvT06fmd2u4y+AhC9rqcGSMf7EKLDePQ2HhnORy+vevoZ61jdPgACxCJAXhYgkWdTu4aizLA0+zpVo6s6mEcvNxsmAmT9oV+RT4LrCs+Odem8jwgQAAFiESCXd4Ds4NY1JHZFQ/czxVfh03XYSeWVlVnvfbjzPSCRKO3cj1cFyNW2m30/WBUgnYfOAQgQiwA5JEA+3Smyd5qRYaV6ObMuqzIkV3e+ziH2DQHSGRd3B8jKEF8RINF1B3hzgFhf6/36ALmKkK5DbO78hJ/ZATJrKBcg5wTI3z/rePVAgAAYTJ+wvm95DBAgjUO9ALkvQLJD69sCpOv3rg6Q6jrvGiCR/RZAgJwbEpnznRAtAkSAHBMgVzv0iQFy15vqBUjv34a3vgQP8PS/h9VDzEdOf9J7KQRIcdCtDH4z35i98jqtjJDqIDfj07Hu+hSszsMBdwuQzPplbw8BAmAwnRUfmfcPz/g9tvNLAqTrmPXOT3eadRz9t8vPXo+O4Xj24HpngHR8yeVTAqS6L3Z8EeGKSBcgAGcHSDQuqr/jia8cCZCfn1S1duxQmetSfekusjNkr2v19q3srF3POGc/YawaBZU/Lp3HoXbsJ5Ev3Kx8gWdk21av86x17AxHAAGyd3yMPq6d/NG2AgQAAINpMUBGQ+Xb5VRfRREgAgQAgBcGyNXpR+Kj8/rYzgIEAICf5x+ClTnPjE/SEiACBACAwwbTru/wqL6Xw5vQBQgAAC8NkI7v8uh4RcV2FiAAABw4mM6OkMz5bWcBAgDAwYNp1/d/zDiP7SxAAAA4cDCtfmdHx2I7CxAAAF42mAoPASJAAAAM8JbNFwECAIAAsQgQAQIAIEAsAkSAAAAgQCwCRIAAAAgQiwARIAAAhAJEUJ05qAsQAAAMpgvj49tpIuFiOwsQAAAMpkPx8S1ARi/HdhYgAAC8cDAdfeUiexpfRChAAAB4+WCaiYTqaQWIAAEA4GWDaeUVio7TnxBrAgQAAINpMT6y51/xe21nAQIAwIMG0673ZXSf96nhJkAAADCYLhj+Z5z/CUN95qOHI+u30/oLEAAAATI1QE64nF22c/RjiXfedwQIAIAAmXZ97w6Zb0O7ABEgAAAcEiDd6/uWeVWAAPD1j/fVz6oPAqPH9XZd5u/TVi7vyQNE5svPvp0/883PXUNK975ReTNwx/4WXb/qbb3p0CZABMjQ39sdb0cBApB4YPg0MH16sKgMcJ2X/SmWIqfNXF7Xuu8aIVfrFDlNZtvcuW9kPg61c3+Lrt/o7551vxUgAmR1gET/W4AAPOzBIRofI6Gyasgc+VnmGeuOZ7l33NZX2zAbKR0Db8fpuveNVftbNlAEiAARIAIE4JEPDicGyOyh+YkBEtmGkX9HX1F5U4BE97fR3ydABIgA+Xw4lgABePADxA4BMnLYzuiz9N0B8rTHm5HDyyKHn42evjNAOrbl6CFinfvb6O/qCJDsIXErB3LL+UsmQD6dToAAPDg+qsNTV4D860EmGyDZL7aqDHlPCpC/H7yrh1xFTt8VIJ2vVlTfVJ7Z37pCeHTfHLlvCRCLABEgANMH0sqbXDNBsupZ7pWD39MC5NuD/9X/uytAut7I3nW4XcdhYNmoqMTxjp+CZXlngJzyWCpAAAYe/K+eccoMQivjovIej8whNR2v/uwUIJHYzG7z0VdQIqGUDYrodqu+MbwSDSNh3x3aAsQiPgQIwLIH/k/DwNXPrwaI6NAxOihH1qUaIJXvy3jSNo8GSGU7Zj7mdmRfy2zL0Z/P3N9G9q2O7/kwI4EAAWDhgOTxgTv35R3ecwEIEABAWAMCBAAAQIAAAAACBAAAECAAAAACBAAAECAAAAACBAAAECAAAIAAESAAAIAAAQAABAgAAIAAAQAAnhEgFovFYrFYLBaLxTJ7+T9CdBgAALDsVRA3AQAAIEAAAAABAgAAIEAAAAABAgAAIEAAAAABAgAACBAAAAABAgAACBAAAAABAgAACBAAAECAAAAACBAAAECAAAAACBAAAECAAAAAAgQAAECAAAAAAgQAAECAAAAAAgQAABAgAAAAAgQAABAgAAAAAgQAABAgAACAAAEAABAgAACAAAEAABAgAACAAAEAABAgAACAAAEAAAQIAACAAAEAAAQIAACAAAEAAAQIAAAgQAAAAAQIAAAgQAAAAAQIAAAgQAAAAAECAAAgQAAAAAECAAAgQAAAAAECAAAIEAAAAAECAAAIEAAAAAECAAAIEAAAQIAAAAAIEAAAQIAAAAAIEAAAQIAAAAAIEAAAQIAAAAACBAAAQIAAAAACBAAAQIAAAAACBAAAECAAAAACBAAAECAAAAACBAAAECAAAIAAAQAAECAAAIAAAQAAECAAAIAAAQAABAgAAIAAAQAABAgAAIAAAQAABAgAACBAAAAABAgAACBAAAAABAgAACBAAAAAAeImAAAABAgAACBAAAAABAgAACBAAAAABAgAACBAAAAAAQIAACBAAAAAAQIAACBAAAAAAQIAAAgQAAAAAQIAAAgQAAAAAQIAAAgQAABAgAAAAAgQAABAgAAAAAgQAABAgAAAAAIEAABAgAAAAAIEAABAgAAAAAIEAAAQIAAAAAIEAAAQIAAAAAIEAAAQIAAAAAIEAAAQIAAAgAABAAAQIAAAgAABAAAQIAAAgAABAAAECAAAgAABAAAECAAAgAABAAAECAAAIEAAAAAECAAAIEAAAAAECAAAIEAAAAABAgAAIEAAAAABAgAAIEAAAAABAgAACBAAAAABAgAACBAAAAABAgAACBAAAAABAgAACBAAAECAAAAACBAAAECAAAAACBAAAECAAAAAAgQAAECAAAAAAgQAAECAAAAAAgQAABAgAAAAAgQAABAgAAAAAgQAABAgAACAAAEAABAgAACAAAEAABAgAACAAAEAAAQIAACAAAEAAAQIAACAAAEAAAQIAAAgQNwEAACAAAEAAAQIAACAAAEAAAQIAACAAAEAAAQIAAAgQAAAAAQIAAAgQAAAAAQIAAAgQAAAAAECAAAgQAAAAAECAAAgQAAAAAECAAAIEAAAAAECAAAIEAAAAAECAAAIEAAAQIAAAAAIEAAAQIAAAAAIEAAAYEv/AasPkdDtNTO4AAAAAElFTkSuQmCC" + } + ] }, - "labelFormat": "PNG", - "labelData": [ - { - "packageIdentifier": "PKG002", - "trackingNumber": "1Z6A34Y60369738805", - "shipMethod": "UPS_GR_RES", - "shipMethodName": "UPS Ground Residential", - "content": "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AAFiCBAAABAgAgQAAASIIUAAABAghgABAAABYggQAAAEiNE4QAzDMAzDMAzDMASIYRiGYRiGYRgCxDAMwzAMwzAMQ4AYhmEYhmEYhiFADMMwDMMwDMMw/jdAAAAAio50JkAAAAABAgAACBAAAAABAgAACBAAAAABAgAACBAAAECAAAAACBAAAECAAAAACBAAAECAAAAAAoRXbAT/MX77myfXs3IfRu/nymVXrn/0PjxZ3qjlyngcV5Yx+7JRj2nGfcjYxla2n8rHonKbjFqf2a+B3V43Ml6rK99rop7jGa+Hu173std/9uv86H1buQ8IEASIABEgAkSACBABIkAEiAARIAgQASJABIgAESACRIAIEAGCAEGACBABIkAEiAARIAJEgAgQAYIAESACRIAIEAEiQASIABEgCBAEiAARIAJEgAgQASJABAgCBAEiQASIABEgAkSACBABIkAECAJEgAgQASJABIgAESACRIAgQBAgAkSACBABIkAEiAARIAJEgCBABIgAESACRIAIEAEiQAQIAgQBIkAEiAARIAJEgAgQAYIAQYAIEAEiQASIABEgAkSACBABggARIAJEgAgQASJABIgAESAIEASIABEgAkSACBABIkAEiAARIAgQASJABIgAESACRIAIEAGCAEGACBABIkAEiAARIAJEgCBAECACRIAIEAEiQASIABEgAsTcU4DYCASIABEgAkSACBABIkAECAIEASJABIgAESACRIAIEAEiQAQIAkSACBABIkAEiAARIAJEgCBAECACRIAIEAEiQASIABEgCBAEiAARIAJEgAgQASJABIgAQYAgQASIABEgAkSACBABIkAQIAgQASJABIgAESACRIAIEAEiQBAgAkSACBABIkAEiAARIAIEAYIAESACRIAIEAEiQASIABEgAgQBIkAEiAARIAJEgAgQASJAECAIEAEiQASIABEgAkSACBAECAJEgAgQASJABIgAESACRIAIEASIABEgAkSACBABIkAEiABBgCBABIgAESACRIAIEAEiQASIAEGACBABIkAEiAARIAJEgAgQBAgCRIAIEAEiQASIABEgAgQBggARIAJEgAgQASJABIgAESACBAEiQASIABEgAkSACBABIkAQIAgQASJABIgAESACRIAIEAEiQBAgAkSACBABIkAEiAARIAIEAYIAESACRIAIEAEiQASIAEGAIEAEiAARIAJEgAgQASJABIgAQYAIEAEiQASIABEgAkSACBAECAJEgAgQASJABIgAESACRIAIEASIABEgAkSACBABIkAEiABBgCBABIgAESACRIAIEAEiQBAgCBABIkAEiAARIAJEgAgQAWLu6YGyEQgQASJABIgAESACRIAIEAQIAkSACBABIkAEiAARIAJEgAgQBIgAESACRIAIEAEiQASIAEGAIEAEiAARIAJEgAgQASJAECAIEAEiQGLfmKJGxwCJmCQLEAEiQASIAEGAIEAEiAARIOEB8uftVU4wKh+fXQGyazs85b5FvdfsWp7M18PO21rE66MAQYAgQATINQHS6Y1WgAgQAbI2ORUgAkSAIEAQIAKkdYCcMgnM3oajJlQCRIB0CxEBIkAECAIEASJAWgTIaZPAjgHy7ZsTASJAOk9WBYgAESACBAEiQARIWYCcOAkUIAJk17cIp09a3xQgt0SIAEGAIEAEyFUBEvmGGHX9JwdI1k7E3SaZpwZI1YRtdRvInLjueoyinrMZl41+3YvefgQIAgQBIkCuCZCqiYQAESCd13/HAIlcXxHvNTcGyOprkwARIAIEASJABEjhRFSACBAB0mcbqDhPjQARIAJEgCBABIgAESACRIC8LECibluACBABggBBgAgQASJABIgAKYsQASJABAgCBAEiQASIABEgAkSACBABggBBgAgQASJA7g6QlXUhQPYFSMXzWoAIEAEiQBAgAkSACBABIkAEiAARIAIEAYIAESACRIAIEAEiQASIABEgAgQBIkAEiAARIMtHRRIgAkSACBABIkAQIAJEgAgQAfLaAMma/AsQASJABIgAQYAIEAEiQASIABEgAuRVAVL5+iBAECAIEAEiQBoHSOQ67BogqxEiQASIABEgAkSAIEAEiAA5LkAyJt4C5J4AyZz8CxABIkAEiABBgAgQASJABIgAESACRIAIEAQIAkSACJB3BUj0OrwtQEYmpwJEgAgQAYIAQYAIEAEiQATIEQGSPfkXIAKkKkC6vD4IEAQIAkSACJCGAZKxDgWIABEgAkSAIEAQIAJEgAgQAfJv/qGJBYgAESACBAGCABEgAiR8MiFA5n7WJUAEiAC5P0A6fUAhQBAgCBABcmSARLwxCRABIkAEiAARIAgQBIgAESAh+wIIEAEiQASIABEgCBAEiAARIKVBIkDGY02ACBABIkAECAIEASJArgyQ7EmnABEgAkSACBABggBBgAgQAVIWICuHaRUgewMka5kFyP4AmX2vESBrAdLtKHkCBAGCABEg2wKkKkI6BUj1pHdl2QWIABEgvQJk9wE9BAgCBAEiQK4IkC5vwgKkV4BEL7cAiQuQyAMgCBABIkDMPQWIjUCACJAtAdLhjbgiQHZMegWIAIkMkKplFyACRIAIEASIABEgZW9MAkSACJCeAVK57AJEgAgQAYIAESACpPSNSYAIkOhlFyBrz+XI7UuACBABggBBgAiQdgGy4805O0B2TXoFiACJeh2I2rYESMy2mPm+KUAQIAgQASJANkaIABEgNwXIbz9xy17nAsR5QAQIAgQBIkAEiAA5IkAyJp9vD5Dd25MAESACBAGCABEgAmTx9+rf1s/pE0YBIkCqtyUBIkAEiABBgAgQAdLqjSl7EiZA7g2Q6nh5S4Bkv9cIEAEiQAQIAkSACJDtAZI5GRMgvQIkYh0KkB7xIUD2Bci32xMgCBAEiAARIIOXzZpUrU5musdH5O/2Bci9AZL1Oi9ABIgAMfcUIDYCASJAjg2Q6ImZALkvQHbsP3LbmdAFiAARIAgQBIgAESCNA6Ryp+mI+9A5QCIm3gJEgAgQAYIAQYAIEAHSNkC+TXwEiAARIALktACJfK8XIAgQBIgAESAJkxYBck+A7DqErwARIAJEgCBAECACRIAIkKTnjgARIAJEgAgQBAgCRIC0DZDsT92jJmsCRIAIEAGSFQgCRICYewoQG4EAESACRIAIEAEiQASIAEGAIEAEyM0BkjXpjZiwvTFARg+DK0AEiAC5O0BGzwsjQBAgCBABIkAEiAARIAJEgAgQBAgCRIAIkLcGSFZQRE/UBYgAESACRIAgQBAgAkSAFAZI1mMhQASIABEgAkSAIEAQIAJEgAgQASJABIgAESAIEASIABEgZwXI6nV2CpDu26QAESACRIAIEAGCABEgAqRlgFROFAVI7TYpQASIABEgAkSAIEAEiABJe+M+PUCyg0KACBABIkAEiAARIAgQASJANgdI5b4Pu4MiI0Ay94WJ2iYFiAARILEBUrGPmABBgCBABMiVAVJ9/gsBIkAEiAARIAIEAYIAESACpEWARD5e1QGSeUJGASJABIgAESDmngLERiBABMi2AKlaD523GQGSf5SzrG3ylAD5baIpQASIAEGAIEAEyGsDJPLNLztAon/O1DVAor41eroubw2QlZ+0ZWzvpwRI5ra6M0Aynm+r67/qPEECBAGCABEgxwXIrslJ53NPnLa+d03kuq+jDtvfrQFySpCfuJwCBAGCABEgAkSACJBD19GbA+RNE3MBIkAQIAgQASJABIgAMYEVIAJEgCBAECACRIAIEAEiQASIABEgAkSAIEAEiAA5KECythkBclaAnDIpFCACRIAIEAGCABEgAiQpQLLfqCu3mextOGObzHocd2+TGQGS8RrY7XUj47W68r2m8ihY2e+J2Y9jh9cHAYIAQYAIkBYBkvlGLEAEiAARIAJEgCBAECACRIAIEAEiQASIABEgAsTc0wNlIxAgAkSACBABIkAEiAARIAgQBIgAESACRIAIEAEiQASIABEgCBABIkAEiAARIAJEgAgQAYIAQYAIEAEiQASIABEgAkSAIEAQIAJEgAgQASJABIgAESACBAGCABEgAkSACBABIkAEiABBgCBABIgAESACRIAIEAEiQASIAEGACBABIkAEiAARIAJEgAgQBAgCRIAIEAEiQASIABEgAkSACBAEiAARIAJEgAgQASJABIgAQYAgQASIABEgAkSACBABIkAQIAgQASJABIgAESACRIAIEAEiQBAgAkSACBABIkAEiAARIAIEAYIAESACRIAIEAEiQASIABEgAgQBIkAEiAARIAJEgAgQASJAECAIEAEiQASIABEgAkSACBAECAJEgAgQASJABIgAESACRIAIEASIABEgAkSACBABIkAEiABBgCBABIgAESACRIAIEAEiQASIAEGACBABIkAEiAARIAJEgAgQBAgCRIAIEAEiQASIABEgAgQBggARIAJEgAgQASJABIgAESACBAEiQASIABEgAkSACBABIkAQIAgQASJABIgAESACRIAIEAEiQBAgAkSACBABIkAEiAARIAIEAYIAESACRIAIEAEiQASIAEGAIEAEiAARIAJEgAgQASJABIgAQYAIEAEiQASIABEgAkSACBAECAJEgAgQASJABIgAESACRIAIEASIABEgAkSACBABIkAEiABBgCBABIgAESACRIAIEAEiQBAgCBABIkAEiAARIAJEgAgQAWLuKUAQIAJEgAgQASJABIgAESAIEASIABEgAkSACBABIkAEiAARIAgQASJABIgAESACRIAIEAGCAEGACBABIkAEiAARIAJEgJjXChAEiAARIAJEgAgQASJABIgAQYAgQASIABEgAkSACBABIkAQIAgQASJABIgAESACRIAIEAEiQBAgAkSACBABIkAEiAARIAIEAYIAESACRIAIEAEiQASIABEgAgQBIkAEiAARIAJEgAgQASJAECAIEAEiQASIABEgAkSACBAECAJEgAgQASJABIgAESACRIAIEASIABEgAkSACBABIkAEiABBgCBABIgAESACRIAIEAEiQASIAEGACBABIkAEiAARIAJEgAgQBAgCRIAIEAEiQASIABEgAgQBggARIAJEgAgQASJABIgAESACBAEiQASIABEgAkSACBABIkAQIAgQASJABIgAESACRIAIEAEiQBAgAkSACBABIkAEiAARIAIEAYIAESACRIAIEAEiQASIAEGAIEAEiAARIAJEgAgQASJABIgAQYAIEAEiQASIABEgAkSACBAECAJEgAgQASJABIgAESACRIAIEASIABEgAkSACBABIkAEiABBgCBABIgAESACRIAIEAEiQBAgCBABIkAEiAARIAJEgAgQAWLuKUBsBAJEgAgQASJABIgAESACBAGCABEgAkSACBABIkAEiAARIAIEASJABIgAESACRIAIEAEiQBAgCBABIkAEiAARIAJEgAgQBAgCRIAIEAEiQASIABEgAkSAIEAQIAJEgAgQASJABIgAESAIEASIABEgAkSACBABIkAEiAARIAgQASJABIgAESACRIAIEAGCAEGACBABIkAEiAARIAJEgAgQAYIAESACRIAIEAEiQASIABEgCBAEiAARIAJEgAgQASJABAgCBAEiQASIABEgAkSACBABIkAECAJEgAgQASJABIgAESACRIAgQBAgAkSACBABIkAEiAARIAJEgCBABIgAESACRIAIEAEiQAQIAgQBIkAEiAARIAJEgAgQAYIAQYAIEAEiQASIABEgAkSACBABggARIAJEgAgQASJABIgAESAIEASIABEgAkSACBABIkAEiAARIAgQASJABIgAESACRIAIEAGCAEGACBABIkAEiAARIAJEgCBAECACRIAIEAEiQASIABEgAkSAIEAEiAARIAJEgAgQASJABAgCBAEiQASIABEgAkSACBABIkAECAJEgAgQASJABIgAESACRIAgQBAgAkSACBABIkAE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" - } - ] - } - ] + { + "purchaseOrderNumber": "mockpurchaseOrderNumber2", + "sellingParty": { + "partyId": "999US" + }, + "shipFromParty": { + "partyId": "ABCD" + }, + "labelFormat": "PNG", + "labelData": [ + { + "packageIdentifier": "PKG002", + "trackingNumber": "1Z6A34Y60369738805", + "shipMethod": "UPS_GR_RES", + "shipMethodName": "UPS Ground Residential", + "content": "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AAFiCBAAABAgAgQAAASIIUAAABAghgABAAABYggQAAAEiNE4QAzDMAzDMAzDMASIYRiGYRiGYRgCxDAMwzAMwzAMQ4AYhmEYhmEYhiFADMMwDMMwDMMw/jdAAAAAio50JkAAAAABAgAACBAAAAABAgAACBAAAAABAgAACBAAAECAAAAACBAAAECAAAAACBAAAECAAAAAAoRXbAT/MX77myfXs3IfRu/nymVXrn/0PjxZ3qjlyngcV5Yx+7JRj2nGfcjYxla2n8rHonKbjFqf2a+B3V43Ml6rK99rop7jGa+Hu173std/9uv86H1buQ8IEASIABEgAkSACBABIkAEiAARIAgQASJABIgAESACRIAIEAGCAEGACBABIkAEiAARIAJEgAgQAYIAESACRIAIEAEiQASIABEgCBAEiAARIAJEgAgQASJABAgCBAEiQASIABEgAkSACBABIkAECAJEgAgQASJABIgAESACRIAgQBAgAkSACBABIkAEiAARIAJEgCBABIgAESACRIAIEAEiQAQIAgQBIkAEiAARIAJEgAgQAYIAQYAIEAEiQASIABEgAkSACBABggARIAJEgAgQASJABIgAESAIEASIABEgAkSACBABIkAEiAARIAgQASJABIgAESACRIAIEAGCAEGACBABIkAEiAARIAJEgCBAECACRIAIEAEiQASIABEgAsTcU4DYCASIABEgAkSACBABIkAECAIEASJABIgAESACRIAIEAEiQAQIAkSACBABIkAEiAARIAJEgCBAECACRIAIEAEiQASIABEgCBAEiAARIAJEgAgQASJABIgAQYAgQASIABEgAkSACBABIkAQIAgQASJABIgAESACRIAIEAEiQBAgAkSACBABIkAEiAARIAIEAYIAESACRIAIEAEiQASIABEgAgQBIkAEiAARIAJEgAgQASJAECAIEAEiQASIABEgAkSACBAECAJEgAgQASJABIgAESACRIAIEASIABEgAkSACBABIkAEiABBgCBABIgAESACRIAIEAEiQASIAEGACBABIkAEiAARIAJEgAgQBAgCRIAIEAEiQASIABEgAgQBggARIAJEgAgQASJABIgAESACBAEiQASIABEgAkSACBABIkAQIAgQASJABIgAESACRIAIEAEiQBAgAkSACBABIkAEiAARIAIEAYIAESACRIAIEAEiQASIAEGAIEAEiAARIAJEgAgQASJABIgAQYAIEAEiQASIABEgAkSACBAECAJEgAgQASJABIgAESACRIAIEASIABEgAkSACBABIkAEiABBgCBABIgAESACRIAIEAEiQBAgCBABIkAEiAARIAJEgAgQAWLu6YGyEQgQASJABIgAESACRIAIEAQIAkSACBABIkAEiAARIAJEgAgQBIgAESACRIAIEAEiQASIAEGAIEAEiAARIAJEgAgQASJAECAIEAEiQGLfmKJGxwCJmCQLEAEiQASIAEGAIEAEiAARIOEB8uftVU4wKh+fXQGyazs85b5FvdfsWp7M18PO21rE66MAQYAgQATINQHS6Y1WgAgQAbI2ORUgAkSAIEAQIAKkdYCcMgnM3oajJlQCRIB0CxEBIkAECAIEASJAWgTIaZPAjgHy7ZsTASJAOk9WBYgAESACBAEiQARIWYCcOAkUIAJk17cIp09a3xQgt0SIAEGAIEAEyFUBEvmGGHX9JwdI1k7E3SaZpwZI1YRtdRvInLjueoyinrMZl41+3YvefgQIAgQBIkCuCZCqiYQAESCd13/HAIlcXxHvNTcGyOprkwARIAIEASJABEjhRFSACBAB0mcbqDhPjQARIAJEgCBABIgAESACRIC8LECibluACBABggBBgAgQASJABIgAKYsQASJABAgCBAEiQASIABEgAkSACBABggBBgAgQASJA7g6QlXUhQPYFSMXzWoAIEAEiQBAgAkSACBABIkAEiAARIAIEAYIAESACRIAIEAEiQASIABEgAgQBIkAEiAARIMtHRRIgAkSACBABIkAQIAJEgAgQAfLaAMma/AsQASJABIgAQYAIEAEiQASIABEgAuRVAVL5+iBAECAIEAEiQBoHSOQ67BogqxEiQASIABEgAkSAIEAEiAA5LkAyJt4C5J4AyZz8CxABIkAEiABBgAgQASJABIgAESACRIAIEAQIAkSACJB3BUj0OrwtQEYmpwJEgAgQAYIAQYAIEAEiQATIEQGSPfkXIAKkKkC6vD4IEAQIAkSACJCGAZKxDgWIABEgAkSAIEAQIAJEgAgQAfJv/qGJBYgAESACBAGCABEgAiR8MiFA5n7WJUAEiAC5P0A6fUAhQBAgCBABcmSARLwxCRABIkAEiAARIAgQBIgAESAh+wIIEAEiQASIABEgCBAEiAARIKVBIkDGY02ACBABIkAECAIEASJArgyQ7EmnABEgAkSACBABggBBgAgQAVIWICuHaRUgewMka5kFyP4AmX2vESBrAdLtKHkCBAGCABEg2wKkKkI6BUj1pHdl2QWIABEgvQJk9wE9BAgCBAEiQK4IkC5vwgKkV4BEL7cAiQuQyAMgCBABIkDMPQWIjUCACJAtAdLhjbgiQHZMegWIAIkMkKplFyACRIAIEASIABEgZW9MAkSACJCeAVK57AJEgAgQAYIAESACpPSNSYAIkOhlFyBrz+XI7UuACBABggBBgAiQdgGy4805O0B2TXoFiACJeh2I2rYESMy2mPm+KUAQIAgQASJANkaIABEgNwXIbz9xy17nAsR5QAQIAgQBIkAEiAA5IkAyJp9vD5Dd25MAESACBAGCABEgAmTx9+rf1s/pE0YBIkCqtyUBIkAEiABBgAgQAdLqjSl7EiZA7g2Q6nh5S4Bkv9cIEAEiQAQIAkSACJDtAZI5GRMgvQIkYh0KkB7xIUD2Bci32xMgCBAEiAARIIOXzZpUrU5musdH5O/2Bci9AZL1Oi9ABIgAMfcUIDYCASJAjg2Q6ImZALkvQHbsP3LbmdAFiAARIAgQBIgAESCNA6Ryp+mI+9A5QCIm3gJEgAgQAYIAQYAIEAHSNkC+TXwEiAARIALktACJfK8XIAgQBIgAESAJkxYBck+A7DqErwARIAJEgCBAECACRIAIkKTnjgARIAJEgAgQBAgCRIC0DZDsT92jJmsCRIAIEAGSFQgCRICYewoQG4EAESACRIAIEAEiQASIAEGAIEAEyM0BkjXpjZiwvTFARg+DK0AEiAC5O0BGzwsjQBAgCBABIkAEiAARIAJEgAgQBAgCRIAIkLcGSFZQRE/UBYgAESACRIAgQBAgAkSAFAZI1mMhQASIABEgAkSAIEAQIAJEgAgQASJABIgAESAIEASIABEgZwXI6nV2CpDu26QAESACRIAIEAGCABEgAqRlgFROFAVI7TYpQASIABEgAkSAIEAEiABJe+M+PUCyg0KACBABIkAEiAARIAgQASJANgdI5b4Pu4MiI0Ay94WJ2iYFiAARILEBUrGPmABBgCBABMiVAVJ9/gsBIkAEiAARIAIEAYIAESACpEWARD5e1QGSeUJGASJABIgAESDmngLERiBABMi2AKlaD523GQGSf5SzrG3ylAD5baIpQASIAEGAIEAEyGsDJPLNLztAon/O1DVAor41eroubw2QlZ+0ZWzvpwRI5ra6M0Aynm+r67/qPEECBAGCABEgxwXIrslJ53NPnLa+d03kuq+jDtvfrQFySpCfuJwCBAGCABEgAkSACJBD19GbA+RNE3MBIkAQIAgQASJABIgAMYEVIAJEgCBAECACRIAIEAEiQASIABEgAkSAIEAEiAA5KECythkBclaAnDIpFCACRIAIEAGCABEgAiQpQLLfqCu3mextOGObzHocd2+TGQGS8RrY7XUj47W68r2m8ihY2e+J2Y9jh9cHAYIAQYAIkBYBkvlGLEAEiAARIAJEgCBAECACRIAIEAEiQASIABEgAsTc0wNlIxAgAkSACBABIkAEiAARIAgQBIgAESACRIAIEAEiQASIABEgCBABIkAEiAARIAJEgAgQAYIAQYAIEAEiQASIABEgAkSAIEAQIAJEgAgQASJABIgAESACBAGCABEgAkSACBABIkAEiABBgCBABIgAESACRIAIEAEiQASIAEGACBABIkAEiAARIAJEgAgQBAgCRIAIEAEiQASIABEgAkSACBAEiAARIAJEgAgQASJABIgAQYAgQASIABEgAkSACBABIkAQIAgQASJABIgAESACRIAIEAEiQBAgAkSACBABIkAEiAARIAIEAYIAESACRIAIEAEiQASIABEgAgQBIkAEiAARIAJEgAgQASJAECAIEAEiQASIABEgAkSACBAECAJEgAgQASJABIgAESACRIAIEASIABEgAkSACBABIkAEiABBgCBABIgAESACRIAIEAEiQASIAEGACBABIkAEiAARIAJEgAgQBAgCRIAIEAEiQASIABEgAgQBggARIAJEgAgQASJABIgAESACBAEiQASIABEgAkSACBABIkAQIAgQASJABIgAESACRIAIEAEiQBAgAkSACBABIkAEiAARIAIEAYIAESACRIAIEAEiQASIAEGAIEAEiAARIAJEgAgQASJABIgAQYAIEAEiQASIABEgAkSACBAECAJEgAgQASJABIgAESACRIAIEASIABEgAkSACBABIkAEiABBgCBABIgAESACRIAIEAEiQBAgCBABIkAEiAARIAJEgAgQAWLuKUAQIAJEgAgQASJABIgAESAIEASIABEgAkSACBABIkAEiAARIAgQASJABIgAESACRIAIEAGCAEGACBABIkAEiAARIAJEgJjXChAEiAARIAJEgAgQASJABIgAQYAgQASIABEgAkSACBABIkAQIAgQASJABIgAESACRIAIEAEiQBAgAkSACBABIkAEiAARIAIEAYIAESACRIAIEAEiQASIABEgAgQBIkAEiAARIAJEgAgQASJAECAIEAEiQASIABEgAkSACBAECAJEgAgQASJABIgAESACRIAIEASIABEgAkSACBABIkAEiABBgCBABIgAESACRIAIEAEiQASIAEGACBABIkAEiAARIAJEgAgQBAgCRIAIEAEiQASIABEgAgQBggARIAJEgAgQASJABIgAESACBAEiQASIABEgAkSACBABIkAQIAgQASJABIgAESACRIAIEAEiQBAgAkSACBABIkAEiAARIAIEAYIAESACRIAIEAEiQASIAEGAIEAEiAARIAJEgAgQASJABIgAQYAIEAEiQASIABEgAkSACBAECAJEgAgQASJABIgAESACRIAIEASIABEgAkSACBABIkAEiABBgCBABIgAESACRIAIEAEiQBAgCBABIkAEiAARIAJEgAgQAWLuKUBsBAJEgAgQASJABIgAESACBAGCABEgAkSACBABIkAEiAARIAIEASJABIgAESACRIAIEAEiQBAgCBABIkAEiAARIAJEgAgQBAgCRIAIEAEiQASIABEgAkSAIEAQIAJEgAgQASJABIgAESAIEASIABEgAkSACBABIkAEiAARIAgQASJABIgAESACRIAIEAGCAEGACBABIkAEiAARIAJEgAgQAYIAESACRIAIEAEiQASIABEgCBAEiAARIAJEgAgQASJABAgCBAEiQASIABEgAkSACBABIkAECAJEgAgQASJABIgAESACRIAgQBAgAkSACBABIkAEiAARIAJEgCBABIgAESACRIAIEAEiQAQIAgQBIkAEiAARIAJEgAgQAYIAQYAIEAEiQASIABEgAkSACBABggARIAJEgAgQASJABIgAESAIEASIABEgAkSACBABIkAEiAARIAgQASJABIgAESACRIAIEAGCAEGACBABIkAEiAARIAJEgCBAECACRIAIEAEiQASIABEgAkSAIEAEiAARIAJEgAgQASJABAgCBAEiQASIABEgAkSACBABIkAECAJEgAgQASJABIgAESACRIAgQBAgAkSACBABIkAE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" + } + ] + } + ] + } } } - } ] } }, @@ -355,10 +355,6 @@ "$ref": "#/definitions/GetShippingLabelListResponse" }, "headers": { - "x-amzn-RateLimit-Limit": { - "type": "string", - "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." - }, "x-amzn-RequestId": { "type": "string", "description": "Unique request reference identifier." @@ -371,10 +367,6 @@ "$ref": "#/definitions/GetShippingLabelListResponse" }, "headers": { - "x-amzn-RateLimit-Limit": { - "type": "string", - "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." - }, "x-amzn-RequestId": { "type": "string", "description": "Unique request reference identifier." @@ -387,10 +379,6 @@ "$ref": "#/definitions/GetShippingLabelListResponse" }, "headers": { - "x-amzn-RateLimit-Limit": { - "type": "string", - "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." - }, "x-amzn-RequestId": { "type": "string", "description": "Unique request reference identifier." @@ -403,10 +391,6 @@ "$ref": "#/definitions/GetShippingLabelListResponse" }, "headers": { - "x-amzn-RateLimit-Limit": { - "type": "string", - "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." - }, "x-amzn-RequestId": { "type": "string", "description": "Unique request reference identifier." @@ -419,7 +403,7 @@ "tags": [ "vendorShippingLabels" ], - "description": "Creates a shipping label for a purchase order and returns a transactionId for reference.\n\n**Usage Plan:**\n\n| Rate (requests per second) | Burst |\n| ---- | ---- |\n| 10 | 10 |\n\nThe `x-amzn-RateLimit-Limit` response header returns the usage plan rate limits that were applied to the requested operation, when available. The table above indicates the default rate and burst values for this operation. Selling partners whose business demands require higher throughput may see higher rate and burst values than those shown here. For more information, see [Usage Plans and Rate Limits in the Selling Partner API](https://developer-docs.amazon.com/sp-api/docs/usage-plans-and-rate-limits-in-the-sp-api).", + "description": "Creates a shipping label for a purchase order and returns a `transactionId` for reference.\n\n**Usage Plan:**\n\n| Rate (requests per second) | Burst |\n| ---- | ---- |\n| 10 | 10 |\n\nThe `x-amzn-RateLimit-Limit` response header returns the usage plan rate limits that were applied to the requested operation, when available. The table above indicates the default rate and burst values for this operation. Selling partners whose business demands require higher throughput may see higher rate and burst values than those shown here. For more information, refer to [Usage Plans and Rate Limits in the Selling Partner API](https://developer-docs.amazon.com/sp-api/docs/usage-plans-and-rate-limits-in-the-sp-api).", "operationId": "submitShippingLabelRequest", "parameters": [ { @@ -428,7 +412,8 @@ "required": true, "schema": { "$ref": "#/definitions/SubmitShippingLabelsRequest" - } + }, + "description": "Request body containing one or more shipping labels data." } ], "responses": { @@ -469,159 +454,159 @@ "containerIdentifier": "123", "trackingNumber": "XXXX", "dimensions": { - "length": "12", - "width": "12", - "height": "12", - "unitOfMeasure": "IN" - }, - "weight": { - "unitOfMeasure": "KG", - "value": "10" - }, - "packedItems": [ - { - "itemSequenceNumber": 1, - "buyerProductIdentifier": "B07DFVDRAB", - "packedQuantity": { - "amount": 1, - "unitOfMeasure": "Each" + "length": "12", + "width": "12", + "height": "12", + "unitOfMeasure": "IN" + }, + "weight": { + "unitOfMeasure": "KG", + "value": "10" + }, + "packedItems": [ + { + "itemSequenceNumber": 1, + "buyerProductIdentifier": "B07DFVDRAB", + "packedQuantity": { + "amount": 1, + "unitOfMeasure": "Each" + } } - } - ] - } - ] - } - ] + ] + } + ] + } + ] + } } } + }, + "response": { + "payload": { + "transactionId": "20190905010908-8a3b6901-ef20-412f-9270-21c021796605" + } } }, - "response": { - "payload": { - "transactionId": "20190905010908-8a3b6901-ef20-412f-9270-21c021796605" - } - } - }, - { - "request": { - "parameters": { - "body": { - "value": { - "shippingLabelRequests": [ - { - "purchaseOrderNumber": "2JK3S9VC", - "sellingParty": { - "partyId": "999US" - }, - "shipFromParty": { - "partyId": "ABCD" + { + "request": { + "parameters": { + "body": { + "value": { + "shippingLabelRequests": [ + { + "purchaseOrderNumber": "2JK3S9VC", + "sellingParty": { + "partyId": "999US" + }, + "shipFromParty": { + "partyId": "ABCD" + } } - } - ] + ] + } } } + }, + "response": { + "payload": { + "transactionId": "20190905010908-8a3b6901-ef20-412f-9270-21c021796605" + } } }, - "response": { - "payload": { - "transactionId": "20190905010908-8a3b6901-ef20-412f-9270-21c021796605" - } - } - }, - { - "request": { - "parameters": { - "body": { - "value": { - "shippingLabelRequests": [ - { - "purchaseOrderNumber": "2JK3S9VC", - "sellingParty": { - "partyId": "999US" - }, - "shipFromParty": { - "partyId": "ABCD" - }, - "containers": [ - { - "containerType": "carton", - "containerIdentifier": "123", - "trackingNumber": "XXXX", - "dimensions": { - "length": "12", - "width": "12", - "height": "12", - "unitOfMeasure": "IN" - }, - "weight": { - "unitOfMeasure": "KG", - "value": "10" - }, - "packedItems": [ - { - "itemSequenceNumber": 1, - "buyerProductIdentifier": "B07DFVDRAA", - "packedQuantity": { - "amount": 1, - "unitOfMeasure": "Each" - } + { + "request": { + "parameters": { + "body": { + "value": { + "shippingLabelRequests": [ + { + "purchaseOrderNumber": "2JK3S9VC", + "sellingParty": { + "partyId": "999US" + }, + "shipFromParty": { + "partyId": "ABCD" + }, + "containers": [ + { + "containerType": "carton", + "containerIdentifier": "123", + "trackingNumber": "XXXX", + "dimensions": { + "length": "12", + "width": "12", + "height": "12", + "unitOfMeasure": "IN" }, - { - "itemSequenceNumber": 2, - "buyerProductIdentifier": "B07DFVDRAB", - "packedQuantity": { - "amount": 1, - "unitOfMeasure": "Each" + "weight": { + "unitOfMeasure": "KG", + "value": "10" + }, + "packedItems": [ + { + "itemSequenceNumber": 1, + "buyerProductIdentifier": "B07DFVDRAA", + "packedQuantity": { + "amount": 1, + "unitOfMeasure": "Each" + } + }, + { + "itemSequenceNumber": 2, + "buyerProductIdentifier": "B07DFVDRAB", + "packedQuantity": { + "amount": 1, + "unitOfMeasure": "Each" + } } - } - ] - }, - { - "containerType": "carton", - "containerIdentifier": "1234", - "trackingNumber": "XXXX", - "dimensions": { - "length": "12", - "width": "12", - "height": "12", - "unitOfMeasure": "IN" - }, - "weight": { - "unitOfMeasure": "KG", - "value": "10" + ] }, - "packedItems": [ - { - "itemSequenceNumber": 3, - "buyerProductIdentifier": "B07DFVDRAC", - "packedQuantity": { - "amount": 1, - "unitOfMeasure": "Each" - } + { + "containerType": "carton", + "containerIdentifier": "1234", + "trackingNumber": "XXXX", + "dimensions": { + "length": "12", + "width": "12", + "height": "12", + "unitOfMeasure": "IN" }, - { - "itemSequenceNumber": 4, - "buyerProductIdentifier": "B07DFVDRAD", - "packedQuantity": { - "amount": 1, - "unitOfMeasure": "Each" + "weight": { + "unitOfMeasure": "KG", + "value": "10" + }, + "packedItems": [ + { + "itemSequenceNumber": 3, + "buyerProductIdentifier": "B07DFVDRAC", + "packedQuantity": { + "amount": 1, + "unitOfMeasure": "Each" + } + }, + { + "itemSequenceNumber": 4, + "buyerProductIdentifier": "B07DFVDRAD", + "packedQuantity": { + "amount": 1, + "unitOfMeasure": "Each" + } } - } - ] - } - ] - } - ] + ] + } + ] + } + ] + } } } - } - }, - "response": { - "payload": { - "transactionId": "20190905010908-8a3b6901-ef20-412f-9270-21c021796605" + }, + "response": { + "payload": { + "transactionId": "20190905010908-8a3b6901-ef20-412f-9270-21c021796605" + } } } - } ] } }, @@ -702,10 +687,6 @@ "$ref": "#/definitions/SubmitShippingLabelsResponse" }, "headers": { - "x-amzn-RateLimit-Limit": { - "type": "string", - "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." - }, "x-amzn-RequestId": { "type": "string", "description": "Unique request reference identifier." @@ -718,10 +699,6 @@ "$ref": "#/definitions/SubmitShippingLabelsResponse" }, "headers": { - "x-amzn-RateLimit-Limit": { - "type": "string", - "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." - }, "x-amzn-RequestId": { "type": "string", "description": "Unique request reference identifier." @@ -734,10 +711,6 @@ "$ref": "#/definitions/SubmitShippingLabelsResponse" }, "headers": { - "x-amzn-RateLimit-Limit": { - "type": "string", - "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." - }, "x-amzn-RequestId": { "type": "string", "description": "Unique request reference identifier." @@ -750,10 +723,6 @@ "$ref": "#/definitions/SubmitShippingLabelsResponse" }, "headers": { - "x-amzn-RateLimit-Limit": { - "type": "string", - "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." - }, "x-amzn-RequestId": { "type": "string", "description": "Unique request reference identifier." @@ -766,10 +735,6 @@ "$ref": "#/definitions/SubmitShippingLabelsResponse" }, "headers": { - "x-amzn-RateLimit-Limit": { - "type": "string", - "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." - }, "x-amzn-RequestId": { "type": "string", "description": "Unique request reference identifier." @@ -784,13 +749,13 @@ "tags": [ "vendorShippingLabels" ], - "description": "Returns a shipping label for the purchaseOrderNumber that you specify.\n\n**Usage Plan:**\n\n| Rate (requests per second) | Burst |\n| ---- | ---- |\n| 10 | 10 |\n\nThe `x-amzn-RateLimit-Limit` response header returns the usage plan rate limits that were applied to the requested operation, when available. The table above indicates the default rate and burst values for this operation. Selling partners whose business demands require higher throughput may see higher rate and burst values than those shown here. For more information, see [Usage Plans and Rate Limits in the Selling Partner API](https://developer-docs.amazon.com/sp-api/docs/usage-plans-and-rate-limits-in-the-sp-api).", + "description": "Returns a shipping label for the `purchaseOrderNumber` that you specify.\n\n**Usage Plan:**\n\n| Rate (requests per second) | Burst |\n| ---- | ---- |\n| 10 | 10 |\n\nThe `x-amzn-RateLimit-Limit` response header returns the usage plan rate limits that were applied to the requested operation, when available. The table above indicates the default rate and burst values for this operation. Selling partners whose business demands require higher throughput may see higher rate and burst values than those shown here. For more information, refer to [Usage Plans and Rate Limits in the Selling Partner API](https://developer-docs.amazon.com/sp-api/docs/usage-plans-and-rate-limits-in-the-sp-api).", "operationId": "getShippingLabel", "parameters": [ { "name": "purchaseOrderNumber", "in": "path", - "description": "The purchase order number for which you want to return the shipping label. It should be the same purchaseOrderNumber as received in the order.", + "description": "The purchase order number for which you want to return the shipping label. It should be the same `purchaseOrderNumber` as received in the order.", "required": true, "type": "string", "pattern": "^[a-zA-Z0-9]+$" @@ -857,42 +822,42 @@ "labelFormat": "PNG", "labelData": [ { - "packageIdentifier": "PKG001", - "trackingNumber": "1Z6A34Y60369738804", - "shipMethod": "UPS_GR_RES", - "shipMethodName": "UPS Ground Residential", - "content": "Base 64 encoded string goes here " - } - ] + "packageIdentifier": "PKG001", + "trackingNumber": "1Z6A34Y60369738804", + "shipMethod": "UPS_GR_RES", + "shipMethodName": "UPS Ground Residential", + "content": "Base 64 encoded string goes here " + } + ] + } } - } - }, - { - "request": { - "parameters": {} }, - "response": { - "payload": { - "purchaseOrderNumber": "mockpurchaseOrderNumber", - "sellingParty": { - "partyId": "999US" - }, - "shipFromParty": { - "partyId": "ABCD" - }, - "labelFormat": "PNG", - "labelData": [ - { - "packageIdentifier": "PKG001", - "trackingNumber": "1Z6A34Y60369738804", - "shipMethod": "UPS_GR_RES", - "shipMethodName": "UPS Ground Residential", - "content": "Base 64 encoded string goes here" - } - ] + { + "request": { + "parameters": {} + }, + "response": { + "payload": { + "purchaseOrderNumber": "mockpurchaseOrderNumber", + "sellingParty": { + "partyId": "999US" + }, + "shipFromParty": { + "partyId": "ABCD" + }, + "labelFormat": "PNG", + "labelData": [ + { + "packageIdentifier": "PKG001", + "trackingNumber": "1Z6A34Y60369738804", + "shipMethod": "UPS_GR_RES", + "shipMethodName": "UPS Ground Residential", + "content": "Base 64 encoded string goes here" + } + ] + } } } - } ] } }, @@ -935,15 +900,11 @@ } }, "401": { - "description": "The request's Authorization header is not formatted correctly or does not contain a valid token.", + "description": "The request's authorization header is not formatted correctly or does not contain a valid token.", "schema": { "$ref": "#/definitions/GetShippingLabelResponse" }, "headers": { - "x-amzn-RateLimit-Limit": { - "type": "string", - "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." - }, "x-amzn-RequestId": { "type": "string", "description": "Unique request reference identifier." @@ -984,10 +945,6 @@ "$ref": "#/definitions/GetShippingLabelResponse" }, "headers": { - "x-amzn-RateLimit-Limit": { - "type": "string", - "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." - }, "x-amzn-RequestId": { "type": "string", "description": "Unique request reference identifier." @@ -1000,10 +957,6 @@ "$ref": "#/definitions/GetShippingLabelResponse" }, "headers": { - "x-amzn-RateLimit-Limit": { - "type": "string", - "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." - }, "x-amzn-RequestId": { "type": "string", "description": "Unique request reference identifier." @@ -1016,10 +969,6 @@ "$ref": "#/definitions/GetShippingLabelResponse" }, "headers": { - "x-amzn-RateLimit-Limit": { - "type": "string", - "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." - }, "x-amzn-RequestId": { "type": "string", "description": "Unique request reference identifier." @@ -1032,10 +981,6 @@ "$ref": "#/definitions/GetShippingLabelResponse" }, "headers": { - "x-amzn-RateLimit-Limit": { - "type": "string", - "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." - }, "x-amzn-RequestId": { "type": "string", "description": "Unique request reference identifier." @@ -1050,7 +995,7 @@ "tags": [ "vendorShipping" ], - "description": "Submits one or more shipment confirmations for vendor orders.\n\n**Usage Plan:**\n\n| Rate (requests per second) | Burst |\n| ---- | ---- |\n| 10 | 10 |\n\nThe `x-amzn-RateLimit-Limit` response header returns the usage plan rate limits that were applied to the requested operation, when available. The table above indicates the default rate and burst values for this operation. Selling partners whose business demands require higher throughput may see higher rate and burst values than those shown here. For more information, see [Usage Plans and Rate Limits in the Selling Partner API](https://developer-docs.amazon.com/sp-api/docs/usage-plans-and-rate-limits-in-the-sp-api).", + "description": "Submits one or more shipment confirmations for vendor orders.\n\n**Usage Plan:**\n\n| Rate (requests per second) | Burst |\n| ---- | ---- |\n| 10 | 10 |\n\nThe `x-amzn-RateLimit-Limit` response header returns the usage plan rate limits that were applied to the requested operation, when available. The table above indicates the default rate and burst values for this operation. Selling partners whose business demands require higher throughput may see higher rate and burst values than those shown here. For more information, refer to [Usage Plans and Rate Limits in the Selling Partner API](https://developer-docs.amazon.com/sp-api/docs/usage-plans-and-rate-limits-in-the-sp-api).", "operationId": "submitShipmentConfirmations", "parameters": [ { @@ -1059,7 +1004,8 @@ "required": true, "schema": { "$ref": "#/definitions/SubmitShipmentConfirmationsRequest" - } + }, + "description": "Request body containing the shipment confirmations data." } ], "responses": { @@ -1100,182 +1046,182 @@ "shipFromParty": { "partyId": "VENDORWAREHOUSECODE" }, - "items": [ - { - "itemSequenceNumber": 1, - "buyerProductIdentifier": "ASIN001", - "vendorProductIdentifier": "9782700001659", - "shippedQuantity": { - "amount": 100, - "unitOfMeasure": "Each" - } - }, - { - "itemSequenceNumber": 2, - "buyerProductIdentifier": "ASIN002", - "vendorProductIdentifier": "9782700001659", - "shippedQuantity": { - "amount": 100, - "unitOfMeasure": "Each" - } - }, - { - "itemSequenceNumber": 3, - "buyerProductIdentifier": "ASIN003", - "vendorProductIdentifier": "9782700001659", - "shippedQuantity": { - "amount": 100, - "unitOfMeasure": "Each" - } - }, - { - "itemSequenceNumber": 4, - "buyerProductIdentifier": "ASIN004", - "vendorProductIdentifier": "9782700001659", - "shippedQuantity": { - "amount": 100, - "unitOfMeasure": "Each" - } - } - ], - "containers": [ - { - "containerType": "carton", - "containerIdentifier": "123", - "trackingNumber": "TRACK001", - "scacCode": "SCAC001", - "carrier": "ABCD001", - "shipMethod": "UPS", - "dimensions": { - "length": "10", - "width": "10", - "height": "10", - "unitOfMeasure": "IN" - }, - "weight": { - "unitOfMeasure": "KG", - "value": "10" - }, - "packedItems": [ - { - "itemSequenceNumber": 1, - "buyerProductIdentifier": "ASIN001", - "packedQuantity": { - "amount": 100, - "unitOfMeasure": "Each" - } + "items": [ + { + "itemSequenceNumber": 1, + "buyerProductIdentifier": "ASIN001", + "vendorProductIdentifier": "9782700001659", + "shippedQuantity": { + "amount": 100, + "unitOfMeasure": "Each" } - ] - }, - { - "containerType": "carton", - "containerIdentifier": "234", - "trackingNumber": "TRACK002", - "scacCode": "SCAC001", - "carrier": "ABCD001", - "shipMethod": "UPS", - "dimensions": { - "length": "10", - "width": "10", - "height": "10", - "unitOfMeasure": "IN" }, - "weight": { - "unitOfMeasure": "KG", - "value": "10" + { + "itemSequenceNumber": 2, + "buyerProductIdentifier": "ASIN002", + "vendorProductIdentifier": "9782700001659", + "shippedQuantity": { + "amount": 100, + "unitOfMeasure": "Each" + } }, - "packedItems": [ - { - "itemSequenceNumber": 2, - "buyerProductIdentifier": "ASIN002", - "packedQuantity": { - "amount": 100, - "unitOfMeasure": "Each" - } + { + "itemSequenceNumber": 3, + "buyerProductIdentifier": "ASIN003", + "vendorProductIdentifier": "9782700001659", + "shippedQuantity": { + "amount": 100, + "unitOfMeasure": "Each" } - ] - }, - { - "containerType": "carton", - "containerIdentifier": "ABCD", - "trackingNumber": "TRACK003", - "scacCode": "SCAC001", - "carrier": "ABCD001", - "shipMethod": "UPS", - "dimensions": { - "length": "10", - "width": "10", - "height": "10", - "unitOfMeasure": "IN" }, - "weight": { - "unitOfMeasure": "KG", - "value": "10" + { + "itemSequenceNumber": 4, + "buyerProductIdentifier": "ASIN004", + "vendorProductIdentifier": "9782700001659", + "shippedQuantity": { + "amount": 100, + "unitOfMeasure": "Each" + } + } + ], + "containers": [ + { + "containerType": "carton", + "containerIdentifier": "123", + "trackingNumber": "TRACK001", + "scacCode": "SCAC001", + "carrier": "ABCD001", + "shipMethod": "UPS", + "dimensions": { + "length": "10", + "width": "10", + "height": "10", + "unitOfMeasure": "IN" + }, + "weight": { + "unitOfMeasure": "KG", + "value": "10" + }, + "packedItems": [ + { + "itemSequenceNumber": 1, + "buyerProductIdentifier": "ASIN001", + "packedQuantity": { + "amount": 100, + "unitOfMeasure": "Each" + } + } + ] }, - "packedItems": [ - { - "itemSequenceNumber": 3, - "buyerProductIdentifier": "ASIN003", - "packedQuantity": { - "amount": 100, - "unitOfMeasure": "Each" + { + "containerType": "carton", + "containerIdentifier": "234", + "trackingNumber": "TRACK002", + "scacCode": "SCAC001", + "carrier": "ABCD001", + "shipMethod": "UPS", + "dimensions": { + "length": "10", + "width": "10", + "height": "10", + "unitOfMeasure": "IN" + }, + "weight": { + "unitOfMeasure": "KG", + "value": "10" + }, + "packedItems": [ + { + "itemSequenceNumber": 2, + "buyerProductIdentifier": "ASIN002", + "packedQuantity": { + "amount": 100, + "unitOfMeasure": "Each" + } } - } - ] - }, - { - "containerType": "carton", - "containerIdentifier": "id12", - "trackingNumber": "TRACK004", - "scacCode": "SCAC001", - "carrier": "ABCD001", - "shipMethod": "UPS", - "dimensions": { - "length": "10", - "width": "10", - "height": "10", - "unitOfMeasure": "IN" + ] }, - "weight": { - "unitOfMeasure": "KG", - "value": "10" + { + "containerType": "carton", + "containerIdentifier": "ABCD", + "trackingNumber": "TRACK003", + "scacCode": "SCAC001", + "carrier": "ABCD001", + "shipMethod": "UPS", + "dimensions": { + "length": "10", + "width": "10", + "height": "10", + "unitOfMeasure": "IN" + }, + "weight": { + "unitOfMeasure": "KG", + "value": "10" + }, + "packedItems": [ + { + "itemSequenceNumber": 3, + "buyerProductIdentifier": "ASIN003", + "packedQuantity": { + "amount": 100, + "unitOfMeasure": "Each" + } + } + ] }, - "packedItems": [ - { - "itemSequenceNumber": 4, - "buyerProductIdentifier": "ASIN004", - "packedQuantity": { - "amount": 100, - "unitOfMeasure": "Each" + { + "containerType": "carton", + "containerIdentifier": "id12", + "trackingNumber": "TRACK004", + "scacCode": "SCAC001", + "carrier": "ABCD001", + "shipMethod": "UPS", + "dimensions": { + "length": "10", + "width": "10", + "height": "10", + "unitOfMeasure": "IN" + }, + "weight": { + "unitOfMeasure": "KG", + "value": "10" + }, + "packedItems": [ + { + "itemSequenceNumber": 4, + "buyerProductIdentifier": "ASIN004", + "packedQuantity": { + "amount": 100, + "unitOfMeasure": "Each" + } } - } - ] - } - ] - } - ] + ] + } + ] + } + ] + } } } + }, + "response": { + "payload": { + "transactionId": "20190905010908-8a3b6901-ef20-412f-9270-21c021796605" + } } }, - "response": { - "payload": { - "transactionId": "20190905010908-8a3b6901-ef20-412f-9270-21c021796605" - } - } - }, - { - "request": { - "parameters": { - "body": {} - } - }, - "response": { - "payload": { - "transactionId": "mock-TransactionId-20190905010908-8a3b6901-ef20-412f-9270-21c021796605" + { + "request": { + "parameters": { + "body": {} + } + }, + "response": { + "payload": { + "transactionId": "mock-TransactionId-20190905010908-8a3b6901-ef20-412f-9270-21c021796605" + } } } - } ] } }, @@ -1357,10 +1303,6 @@ "$ref": "#/definitions/SubmitShipmentConfirmationsResponse" }, "headers": { - "x-amzn-RateLimit-Limit": { - "type": "string", - "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." - }, "x-amzn-RequestId": { "type": "string", "description": "Unique request reference identifier." @@ -1373,10 +1315,6 @@ "$ref": "#/definitions/SubmitShipmentConfirmationsResponse" }, "headers": { - "x-amzn-RateLimit-Limit": { - "type": "string", - "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." - }, "x-amzn-RequestId": { "type": "string", "description": "Unique request reference identifier." @@ -1389,10 +1327,6 @@ "$ref": "#/definitions/SubmitShipmentConfirmationsResponse" }, "headers": { - "x-amzn-RateLimit-Limit": { - "type": "string", - "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." - }, "x-amzn-RequestId": { "type": "string", "description": "Unique request reference identifier." @@ -1405,10 +1339,6 @@ "$ref": "#/definitions/SubmitShipmentConfirmationsResponse" }, "headers": { - "x-amzn-RateLimit-Limit": { - "type": "string", - "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." - }, "x-amzn-RequestId": { "type": "string", "description": "Unique request reference identifier." @@ -1421,10 +1351,6 @@ "$ref": "#/definitions/SubmitShipmentConfirmationsResponse" }, "headers": { - "x-amzn-RateLimit-Limit": { - "type": "string", - "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." - }, "x-amzn-RequestId": { "type": "string", "description": "Unique request reference identifier." @@ -1439,7 +1365,7 @@ "tags": [ "vendorShipping" ], - "description": "This API call is only to be used by Vendor-Own-Carrier (VOC) vendors. Calling this API will submit a shipment status update for the package that a vendor has shipped. It will provide the Amazon customer visibility on their order, when the package is outside of Amazon Network visibility.\n\n**Usage Plan:**\n\n| Rate (requests per second) | Burst |\n| ---- | ---- |\n| 10 | 10 |\n\nThe `x-amzn-RateLimit-Limit` response header returns the usage plan rate limits that were applied to the requested operation, when available. The table above indicates the default rate and burst values for this operation. Selling partners whose business demands require higher throughput may see higher rate and burst values than those shown here. For more information, see [Usage Plans and Rate Limits in the Selling Partner API](https://developer-docs.amazon.com/sp-api/docs/usage-plans-and-rate-limits-in-the-sp-api).", + "description": "This API call is only to be used by Vendor-Own-Carrier (VOC) vendors. Calling this API will submit a shipment status update for the package that a vendor has shipped. It will provide the Amazon customer visibility on their order, when the package is outside of Amazon Network visibility.\n\n**Usage Plan:**\n\n| Rate (requests per second) | Burst |\n| ---- | ---- |\n| 10 | 10 |\n\nThe `x-amzn-RateLimit-Limit` response header returns the usage plan rate limits that were applied to the requested operation, when available. The table above indicates the default rate and burst values for this operation. Selling partners whose business demands require higher throughput may see higher rate and burst values than those shown here. For more information, refer to [Usage Plans and Rate Limits in the Selling Partner API](https://developer-docs.amazon.com/sp-api/docs/usage-plans-and-rate-limits-in-the-sp-api).", "operationId": "submitShipmentStatusUpdates", "parameters": [ { @@ -1448,7 +1374,8 @@ "required": true, "schema": { "$ref": "#/definitions/SubmitShipmentStatusUpdatesRequest" - } + }, + "description": "Request body containing the shipment status update data." } ], "responses": { @@ -1489,41 +1416,41 @@ "reasonCode": "NS", "statusDateTime": "2020-08-07T19:56:45.632Z", "statusLocationAddress": { - "city": "Berlin", - "postalCode": "10115", - "stateOrRegion": "Berlin", - "countryCode": "DE" - }, - "shipmentSchedule": { - "estimatedDeliveryDateTime": "2020-08-07T19:56:45.632Z", - "apptWindowStartDateTime": "2020-08-07T19:56:45.632Z", - "apptWindowEndDateTime": "2020-08-07T19:56:45.632Z" + "city": "Berlin", + "postalCode": "10115", + "stateOrRegion": "Berlin", + "countryCode": "DE" + }, + "shipmentSchedule": { + "estimatedDeliveryDateTime": "2020-08-07T19:56:45.632Z", + "apptWindowStartDateTime": "2020-08-07T19:56:45.632Z", + "apptWindowEndDateTime": "2020-08-07T19:56:45.632Z" + } } } - } - ] + ] + } } } + }, + "response": { + "payload": { + "transactionId": "20190905010908-8a3b6901-ef20-412f-9270-21c021796605" + } } }, - "response": { - "payload": { - "transactionId": "20190905010908-8a3b6901-ef20-412f-9270-21c021796605" - } - } - }, - { - "request": { - "parameters": { - "body": {} - } - }, - "response": { - "payload": { - "transactionId": "mock-TransactionId-20190905010908-8a3b6901-ef20-412f-9270-21c021796605" + { + "request": { + "parameters": { + "body": {} + } + }, + "response": { + "payload": { + "transactionId": "mock-TransactionId-20190905010908-8a3b6901-ef20-412f-9270-21c021796605" + } } } - } ] } }, @@ -1605,10 +1532,6 @@ "$ref": "#/definitions/SubmitShipmentStatusUpdatesResponse" }, "headers": { - "x-amzn-RateLimit-Limit": { - "type": "string", - "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." - }, "x-amzn-RequestId": { "type": "string", "description": "Unique request reference identifier." @@ -1621,10 +1544,6 @@ "$ref": "#/definitions/SubmitShipmentStatusUpdatesResponse" }, "headers": { - "x-amzn-RateLimit-Limit": { - "type": "string", - "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." - }, "x-amzn-RequestId": { "type": "string", "description": "Unique request reference identifier." @@ -1637,10 +1556,6 @@ "$ref": "#/definitions/SubmitShipmentStatusUpdatesResponse" }, "headers": { - "x-amzn-RateLimit-Limit": { - "type": "string", - "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." - }, "x-amzn-RequestId": { "type": "string", "description": "Unique request reference identifier." @@ -1653,10 +1568,6 @@ "$ref": "#/definitions/SubmitShipmentStatusUpdatesResponse" }, "headers": { - "x-amzn-RateLimit-Limit": { - "type": "string", - "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." - }, "x-amzn-RequestId": { "type": "string", "description": "Unique request reference identifier." @@ -1669,10 +1580,6 @@ "$ref": "#/definitions/SubmitShipmentStatusUpdatesResponse" }, "headers": { - "x-amzn-RateLimit-Limit": { - "type": "string", - "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." - }, "x-amzn-RequestId": { "type": "string", "description": "Unique request reference identifier." @@ -1687,13 +1594,13 @@ "tags": [ "customerInvoices" ], - "description": "Returns a list of customer invoices created during a time frame that you specify. You define the time frame using the createdAfter and createdBefore parameters. You must use both of these parameters. The date range to search must be no more than 7 days.\n\n**Usage Plan:**\n\n| Rate (requests per second) | Burst |\n| ---- | ---- |\n| 10 | 10 |\n\nThe `x-amzn-RateLimit-Limit` response header returns the usage plan rate limits that were applied to the requested operation, when available. The table above indicates the default rate and burst values for this operation. Selling partners whose business demands require higher throughput may see higher rate and burst values than those shown here. For more information, see [Usage Plans and Rate Limits in the Selling Partner API](https://developer-docs.amazon.com/sp-api/docs/usage-plans-and-rate-limits-in-the-sp-api).", + "description": "Returns a list of customer invoices created during a time frame that you specify. You define the time frame using the `createdAfter` and `createdBefore` parameters. You must use both of these parameters. The date range to search must be no more than 7 days.\n\n**Usage Plan:**\n\n| Rate (requests per second) | Burst |\n| ---- | ---- |\n| 10 | 10 |\n\nThe `x-amzn-RateLimit-Limit` response header returns the usage plan rate limits that were applied to the requested operation, when available. The table above indicates the default rate and burst values for this operation. Selling partners whose business demands require higher throughput may see higher rate and burst values than those shown here. For more information, refer to [Usage Plans and Rate Limits in the Selling Partner API](https://developer-docs.amazon.com/sp-api/docs/usage-plans-and-rate-limits-in-the-sp-api).", "operationId": "getCustomerInvoices", "parameters": [ { "name": "shipFromPartyId", "in": "query", - "description": "The vendor warehouseId for order fulfillment. If not specified, the result will contain orders for all warehouses.", + "description": "The vendor `warehouseId` for order fulfillment. If not specified, the result will contain orders for all warehouses.", "required": false, "type": "string" }, @@ -1709,7 +1616,7 @@ { "name": "createdAfter", "in": "query", - "description": "Orders that became available after this date and time will be included in the result. Must be in ISO-8601 date/time format.", + "description": "Orders that became available after this date and time will be included in the result. Must be in ISO 8601 date/time format.", "required": true, "type": "string", "format": "date-time" @@ -1717,7 +1624,7 @@ { "name": "createdBefore", "in": "query", - "description": "Orders that became available before this date and time will be included in the result. Must be in ISO-8601 date/time format.", + "description": "Orders that became available before this date and time will be included in the result. Must be in ISO 8601 date/time format.", "required": true, "type": "string", "format": "date-time" @@ -1802,35 +1709,35 @@ "response": { "payload": { "pagination": { - "nextToken": "MDAwMDAwMDAwMQ==" - }, - "customerInvoices": [ - { - "purchaseOrderNumber": "PO98676856", - "content": "base 64 content goes here" - } - ] + "nextToken": "MDAwMDAwMDAwMQ==" + }, + "customerInvoices": [ + { + "purchaseOrderNumber": "PO98676856", + "content": "base 64 content goes here" + } + ] + } } - } - }, - { - "request": { - "parameters": {} }, - "response": { - "payload": { - "pagination": { - "nextToken": "MDAwMDAwMDAwMQ==" - }, - "customerInvoices": [ - { - "purchaseOrderNumber": "mockpurchaseOrderNumber", - "content": "base 64 content goes here" - } - ] + { + "request": { + "parameters": {} + }, + "response": { + "payload": { + "pagination": { + "nextToken": "MDAwMDAwMDAwMQ==" + }, + "customerInvoices": [ + { + "purchaseOrderNumber": "mockpurchaseOrderNumber", + "content": "base 64 content goes here" + } + ] + } } } - } ] } }, @@ -1941,10 +1848,6 @@ "$ref": "#/definitions/GetCustomerInvoiceResponse" }, "headers": { - "x-amzn-RateLimit-Limit": { - "type": "string", - "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." - }, "x-amzn-RequestId": { "type": "string", "description": "Unique request reference identifier." @@ -1957,10 +1860,6 @@ "$ref": "#/definitions/GetCustomerInvoiceResponse" }, "headers": { - "x-amzn-RateLimit-Limit": { - "type": "string", - "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." - }, "x-amzn-RequestId": { "type": "string", "description": "Unique request reference identifier." @@ -1973,10 +1872,6 @@ "$ref": "#/definitions/GetCustomerInvoiceResponse" }, "headers": { - "x-amzn-RateLimit-Limit": { - "type": "string", - "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." - }, "x-amzn-RequestId": { "type": "string", "description": "Unique request reference identifier." @@ -1989,10 +1884,6 @@ "$ref": "#/definitions/GetCustomerInvoiceResponse" }, "headers": { - "x-amzn-RateLimit-Limit": { - "type": "string", - "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." - }, "x-amzn-RequestId": { "type": "string", "description": "Unique request reference identifier." @@ -2007,7 +1898,7 @@ "tags": [ "customerInvoices" ], - "description": "Returns a customer invoice based on the purchaseOrderNumber that you specify.\n\n**Usage Plan:**\n\n| Rate (requests per second) | Burst |\n| ---- | ---- |\n| 10 | 10 |\n\nThe `x-amzn-RateLimit-Limit` response header returns the usage plan rate limits that were applied to the requested operation, when available. The table above indicates the default rate and burst values for this operation. Selling partners whose business demands require higher throughput may see higher rate and burst values than those shown here. For more information, see [Usage Plans and Rate Limits in the Selling Partner API](https://developer-docs.amazon.com/sp-api/docs/usage-plans-and-rate-limits-in-the-sp-api).", + "description": "Returns a customer invoice based on the `purchaseOrderNumber` that you specify.\n\n**Usage Plan:**\n\n| Rate (requests per second) | Burst |\n| ---- | ---- |\n| 10 | 10 |\n\nThe `x-amzn-RateLimit-Limit` response header returns the usage plan rate limits that were applied to the requested operation, when available. The table above indicates the default rate and burst values for this operation. Selling partners whose business demands require higher throughput may see higher rate and burst values than those shown here. For more information, refer to [Usage Plans and Rate Limits in the Selling Partner API](https://developer-docs.amazon.com/sp-api/docs/usage-plans-and-rate-limits-in-the-sp-api).", "operationId": "getCustomerInvoice", "parameters": [ { @@ -2113,15 +2004,11 @@ } }, "401": { - "description": "The request's Authorization header is not formatted correctly or does not contain a valid token.", + "description": "The request's authorization header is not formatted correctly or does not contain a valid token.", "schema": { "$ref": "#/definitions/GetCustomerInvoiceResponse" }, "headers": { - "x-amzn-RateLimit-Limit": { - "type": "string", - "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." - }, "x-amzn-RequestId": { "type": "string", "description": "Unique request reference identifier." @@ -2162,10 +2049,6 @@ "$ref": "#/definitions/GetCustomerInvoiceResponse" }, "headers": { - "x-amzn-RateLimit-Limit": { - "type": "string", - "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." - }, "x-amzn-RequestId": { "type": "string", "description": "Unique request reference identifier." @@ -2178,10 +2061,6 @@ "$ref": "#/definitions/GetCustomerInvoiceResponse" }, "headers": { - "x-amzn-RateLimit-Limit": { - "type": "string", - "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." - }, "x-amzn-RequestId": { "type": "string", "description": "Unique request reference identifier." @@ -2194,10 +2073,6 @@ "$ref": "#/definitions/GetCustomerInvoiceResponse" }, "headers": { - "x-amzn-RateLimit-Limit": { - "type": "string", - "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." - }, "x-amzn-RequestId": { "type": "string", "description": "Unique request reference identifier." @@ -2210,10 +2085,6 @@ "$ref": "#/definitions/GetCustomerInvoiceResponse" }, "headers": { - "x-amzn-RateLimit-Limit": { - "type": "string", - "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." - }, "x-amzn-RequestId": { "type": "string", "description": "Unique request reference identifier." @@ -2228,13 +2099,13 @@ "tags": [ "vendorShipping" ], - "description": "Returns a list of packing slips for the purchase orders that match the criteria specified. Date range to search must not be more than 7 days.\n\n**Usage Plan:**\n\n| Rate (requests per second) | Burst |\n| ---- | ---- |\n| 10 | 10 |\n\nThe `x-amzn-RateLimit-Limit` response header returns the usage plan rate limits that were applied to the requested operation, when available. The table above indicates the default rate and burst values for this operation. Selling partners whose business demands require higher throughput may see higher rate and burst values than those shown here. For more information, see [Usage Plans and Rate Limits in the Selling Partner API](https://developer-docs.amazon.com/sp-api/docs/usage-plans-and-rate-limits-in-the-sp-api).", + "description": "Returns a list of packing slips for the purchase orders that match the criteria specified. Date range to search must not be more than 7 days.\n\n**Usage Plan:**\n\n| Rate (requests per second) | Burst |\n| ---- | ---- |\n| 10 | 10 |\n\nThe `x-amzn-RateLimit-Limit` response header returns the usage plan rate limits that were applied to the requested operation, when available. The table above indicates the default rate and burst values for this operation. Selling partners whose business demands require higher throughput may see higher rate and burst values than those shown here. For more information, refer to [Usage Plans and Rate Limits in the Selling Partner API](https://developer-docs.amazon.com/sp-api/docs/usage-plans-and-rate-limits-in-the-sp-api).", "operationId": "getPackingSlips", "parameters": [ { "name": "shipFromPartyId", "in": "query", - "description": "The vendor warehouseId for order fulfillment. If not specified the result will contain orders for all warehouses.", + "description": "The vendor `warehouseId` for order fulfillment. If not specified the result will contain orders for all warehouses.", "required": false, "type": "string" }, @@ -2250,7 +2121,7 @@ { "name": "createdAfter", "in": "query", - "description": "Packing slips that became available after this date and time will be included in the result. Must be in ISO-8601 date/time format.", + "description": "Packing slips that became available after this date and time will be included in the result. Must be in ISO 8601 date/time format.", "required": true, "type": "string", "format": "date-time" @@ -2258,7 +2129,7 @@ { "name": "createdBefore", "in": "query", - "description": "Packing slips that became available before this date and time will be included in the result. Must be in ISO-8601 date/time format.", + "description": "Packing slips that became available before this date and time will be included in the result. Must be in ISO 8601 date/time format.", "required": true, "type": "string", "format": "date-time" @@ -2352,47 +2223,47 @@ "response": { "payload": { "pagination": { - "nextToken": "NEBxNEBxNEBxNR==" - }, - "packingSlips": [ - { - "purchaseOrderNumber": "UvgABdBjQ", - "content": "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MSAxMjkyIDk3NF0vSXRhbGljQW5nbGUgMC9Bc2NlbnQgOTc0L0NJRFNldCAyMiAwIFI+PgplbmRvYmoKMTkgMCBvYmo8PC9EVyAwL1N1YnR5cGUvQ0lERm9udFR5cGUyL0NJRFN5c3RlbUluZm88PC9TdXBwbGVtZW50IDAvUmVnaXN0cnkoQWRvYmUpL09yZGVyaW5nKFVDUyk+Pi9UeXBlL0ZvbnQvQmFzZUZvbnQvRUFBQUFBK0FtYXpvbkVtYmVyLVJlZ3VsYXIvRm9udERlc2NyaXB0b3IgMjAgMCBSL1dbMFs1MDAgMjYyIDM5MCA2OTAgNDgxIDc2OSA1OTIgNjAwIDYwNCA1NzAgNjQwIDc3NyAzODMgNTA5IDI0OCAyNzggNTI5IDg5MyAzNzMgMjU1IDQ2MSA1NzQgNTgwIDUyNyAyODUgNTg2IDg0MCA0MzIgNTg2IDU4NiA1ODYgNTg2IDU4NiA1NzUgNjA3IDU5MCA1ODYgNzc3IDU4NiA1ODYgNTEwIDU5MiA1ODggNTgwIDM3MyA2MjEgNjEzIDUyNiAyNDggNzA2IDUyNCA1ODggMjQ4IDYwNCA2NDIgNTg2IDQ3MiA0NzZdXS9DSURUb0dJRE1hcC9JZGVudGl0eT4+CmVuZG9iagoxNyAwIG9iajw8L1N1YnR5cGUvVHlwZTAvVHlwZS9Gb250L0Jhc2VGb250L0VBQUFBQStBbWF6b25FbWJlci1SZWd1bGFyL0VuY29kaW5nL0lkZW50aXR5LUgvVG9Vbmljb2RlIDE4IDAgUi9EZXNjZW5kYW50Rm9udHNbMTkgMCBSXT4+CmVuZG9iagoyMyAwIG9iaiA8PC9Db2xvclNwYWNlWy9JQ0NCYXNlZCA3IDAgUl0vTmFtZS9JbTMvU3VidHlwZS9JbWFnZS9IZWlnaHQgMTYwL0ZpbHRlci9GbGF0ZURlY29kZS9UeXBlL1hPYmplY3QvV2lkdGggMzc2L0xlbmd0aCA1MTA4L0JpdHNQZXJDb21wb25lbnQgOD4+c3RyZWFtCnic7Z2/rhxFGsUnu9JKKzmzLDkgsmQ5cWRZkDhBSEROECIjQIjQgYHwBrCklhaILQE5knmAEd4HMJcXwDyB7xv0np6zc/abquqenp4/1dM+P5VGM9PV1VXVX53+qrqrummMMcYYY4wxxhhjjDHGGGOMMcYYY4wxZl9+f/ny6Vdfv//Bhw5nGj77/Iuffv6lth0ZU+bN9TWs9OIf/3SYQbhz994fV1e1bcqYDSAyDx6+V711OBww3Lx121JjJsVHH39SvV04HDzAq8EVpLZxGdOCq171FuFwpPDv73+sbV/GtDz96uvqzcHhSOH9Dz6sbV/GtHj4d96htn0Z02KdmXeobV/GtFhn5h1q25cxLdaZeYfa9mVMi3Vm3qG2fRnTYp2Zd6htX8a0WGfmHWrblzEt1pl5h9r2ZUyLdWbeobZ9GdNinZl3qG1fxrRYZ+YdatuXMS3WmXmH2vZlTIt1Zt6htn0Z02KdmXeobV/GtFhn5h1q25cxLdaZeYfa9mVMi3Vm3qG2fRnTYp2Zd6htX8a0WGfmHWrblzEt1pl5h9r2ZUyLdWbeobZ9GdNinZl3qG1fxrRMR2eQkxcvfnv9+m/k6vr6+veX//ns8y+q5+p4hf3mX98hHLuMte3LmJaT6cyDh+9CRqAexddfornleUPk6oJwpACFOU0ZT2tNxpQ5mc7QUSF37t6Lm27euh2zhJhofY115hDhlLZkTBcn05meg0Znpudl39iEVjmP/pR1xrxVnExnvv/hf+96vrr6s6vR5ZuK0fClulDsGawz5q3ilOPADx6+WzzcwEYnpbLODA91rMqYTaZwv2lgo+OgTWOd2SXUsSpjNtlHZ+7cvYf2wrtIcDY++/yLm7duX6z9liRlROaf2JqkE7tUjMOQDBdjK6P99PMvMdrWfOomMkNxFxwL+cdWJM5RIN50ZonyBJOCqMh5fCSCAiJBVBTS5F79OvPRx58gArOBfZ9++XVeadYZc0aM1hmJQ+T6+hptRIIQ4+ctCw0Q8XvyRr+leKBITyaRQvEQr1//HUVDGS6WKG/j3MTRJJQ33kqL9Ykd4yaBGoCaJbXRv0uzUlfrjDlTxumMmkk//Tqjf7qgzqi7NOQowzOZZ6wLSE3ipWhTfgjVJxSjX0VJ1Bn4VD27jOthbc2AMSdghM7gCq7dcU3HTzRDtBF8Sdpdv86oOyMlwaU87+CwOxPVgJ0ahS5PRvGZrPpZ7OvFmCgFvCbkX64LvsSyoOfS33jZx0FQCtEtUXcJn0gqborqoSPSLdT/yDP2Qg6tM+ZMGaEz6mWgvRSHI5R4v84M2VRsMlvHgSF6iozcFsdYdipp1KWYEwhC8WGeWAnFCEgwL7L09oAPCB3ITIzZi111JjbhYnNAgopQS2dw9VfkZDB5p9CVsa21JxnpeiKomPIxbqgdyEyM2YtddSbKSLEJT0FntjbzY+vM1qwWU449NUQY7YZZZ8zU2FVn4rjHViGqpTNyDIaPnaJRayCIIQ43jdaZrmkUxSLn48C8g2+dMefOvHVmYAdk6y2nnXQm1kBX9XYVuXiX6vXrv0eP2AyzAmOOy7x1Zsg9muT5HHS1eOco/rmTzkArtlZvT5HpWeWP9Pj5GXO+7DM+U3xIdVI6s7XfFIe1X7z4LRkSkQSN7jd1+SFDiozqRQaiezPCq9nLOIw5EPvcbyq29ynoTHwQpT9mvAGdj7uOHgeWOHQ5IcPnNyFXccKFdcacI/s8P1N8Jj/eU66lM1sfX8kP3ZS6gaN1Jgpd8bbRTvMo95l0eQATMWZv9nweGO0IwsLnbNGik2GNw+qMHqNNnprLA5q2PAp8ycuICGz+UZESzcReOuKuOhOduvxBwTixK6bcNVlyp+Em64yZIBXnN+2qM3oqpgmjtZzinUeObhXjo5FyOjb9Me4Vu4HSTM5EiLvvqjMXm9OykDKOy6Mn0yRjys3q1hKndUPMc+kecbKGnCZjjs1h52ujURyv3xSdhCFF6J/orb16onWNJw+pvTiuMjDlntw2vt9kzpk915+BqujBNrr9xxsHviit4YBdemYW8F0tSZHpXcS+TL58BPZiZ7CYsYG1h0MUU0ZF6d53TLl4O7tZOTnJRE7rjDkvDr6eXhy9OWzK+wStQ9UvSl1rVR3q6EMi4+hxFa/RK1wxVDQtY8TBdUZDN3vOLXI4SKhrXcaQw+pMfBR2Bqv4ziBUNC1jxAid4Q1fLggcl4+LYxFdz404nDjUtS5jyDid2Zpsz+veHE4ZTmBCxmxlhM7cuXuvZ81euDpTeFfLCQJfkcB3GSjElxpMIZzSlozpYrQm8Ka2WpmeLhuRFJ9Jq94kh4euG9AHqdjDhtNYkTH9TKE50DvqfxJmOmHr+xfIRIbBj2w+xgxiCjqDXkackjxltbl567betsBhcAV4d9HJGf1k3WFDJbMyZoMp6Izar3IFtZnOEMfwMGQlvROHGjZlTMpEmgNDMtUIyjPx+1YcpJLrEnVmIrf1T25QxhSYlM5crMaEkwlBfFZnap0p5DPOnKL3pVUm4nt164aTGpMxHUxNZy6yPpS4uvoTnkNdweFLEBIl1FxIzbkY9+7IY4RT2JAx25igzjDExaAS6OHwfbsnyAmfk4H3kueHS9YopiJMx/s6rvUYM4zJ6szFyrHpX0OmWS9gBR047Lgx7x/ly1JFkhvxmqg+bqEY64yZMVPWGQa05YHL9zWrts8nBrWaaL/Pg8QZjbeqsXuPsMSj5PXGTMKlmY4zY50xE2H6OjNCbY5HUWEuworEE3lsxjpjJsW56IzUBl7HEJfjsHAJvp6uGe80TarHZJ0x0+G8dEaheN/nGKAXBg3ZOuDM8Zzq1WKdMdPkTHUmCs73P/y4dVbjTsBfgoid7H6WdcbMnnPXGQUuq4teFTyQXWWHb2nhfPNJjeLuH45kNsbsxGx0Jg9xQW+9lCGZAjkzVclDbfsypmXGOuNwYZ0x08A6M+9Q276MabHOzDvUti9jWqwz8w617cuYFuvMvENt+zKmxToz71Dbvoxpsc7MO9S2L2NarDPzDrXty5gW68y8Q237MqbFOjPvUNu+jGmxzsw71LYvY1qsM/MOte3LmBbrzLxDbfsypsU6M+9Q276MabHOzDvUti9jWqwz8w617cuYFuvMvENt+zKm5Ztvv6veFhyOFHARqW1fxrRM543zDgcPU3jjlTHk6VdTfCGIw57hwcP3aluWMf/nzfU1bLJ6u3A4YLh56/YfV1e1LcuYDSA19mpmE97/4MPTv7LTmIHAOL/5tn2HkV5H4nBeAReL31++rG1HxhhjjDHGGGOMMcYYY4wxxhhjjDHGGGOMMcYYY4wxxhhjjDHGnBN/rRgYeblcvnnz5pjZGQmK8OrVq9q5mDSon+Enuh/XttmJ58+fL1ZcXl7i56M13Jr/RMwbN24cylxH5Pb+/fvIwzvvvIPv+v/XX39lKZ48eVIlY9MHNcMqQl3tmRSuNa5tQ2QMIMoCtQJQPR4/fsyf+IKf2oWRu34i8RMXp9kskYSR4HssFP8BVfLZdFR+ksMTo/Me620gz549w14S9ry2zVtLNHVdd2Dz+pNGAu+XHgvd4H6dgb0hJhSpStcpmjdKF8UT35Er/M+2oLKPaFMHIVY+BbyprTOoGZ67Eb5okvOkts3bTDR19HSoDJ9++mmiM4gWL/39OgO7YmTZKv5BmkgKUibnQWkimqRJ3XlsRWT8iR2xey5Z2Av7ci/szgjYXa4XNiW+CnfhNRff1UdgTOYW6cRk86xyK3KFY6lciond8Z3tCzH7RycS1yvWbdQZHIUJIsNdzT9WF7s8+GSe+ZPOBovAE/R8xeMV6iUl504nnTVA3UZSLDV2pIaw0phz9FUVU7Xdc8p0FOQBezHlWspvjkTey8DZj//Q4GVFNIB+nZHvzYYTVYvQ8JRmBFqX52qRdcHyCPfv30fOdehYonwvWnJ+CDQEZKCn+D1QajgulOw+sPIZOX5HiZIEF+vai2j0LMaBxPE7SqSBKaQWT1Ce/+Tc8Tukg1+oEsmOVJWeP+USJ3XLUxbtJ8+PmQcyBtoAL0bxdO+pM2oCSF/+A0iugHETL538Do3C9+jnEFk+NqklIibS0SZ8SZz2aPn4P4kZfSH6BvzOq3Axq8hePLqaNqvxyYohla+cqLpY7Whr/Imj6LiU4gjPHT5xUJ3HpiSPrEYVjc5MTLaoM4LnArB0yiqSVT0gHVZvojPFU8b6Ufp02+JeZh7EmwLRouSE7KkzSlY3qrQpSbO4CUaLnCSdBQ0fsWnoYl3MarGwXTFjg1UN5FmN5dXR2dfQpiHjEsoPYkofYg5VJ0xKW6N3lzhpasLcGt0hFbNLTKJDmGzigwo8EVAV9nRiVpO6Tf6JTnIeuWeTmQc6rfgiM16sLuLxdI/WGX3P3fIencn7C10tK/+5j84sSvTrTDKYnLgQGt3dWvlFNzJp9cnPJJGIfB55RIu1M5Ono+5MPF/Fgbim1AseojPRbc4jF+vTOjMnoqknTnv8PlBn2N0uigk9ZKlHv84wWbgKj0q3WePFEd+P4c9wTJL0Fz/RmWblbqGwarzNavwEPyHjiWMWKx8FicMXjzYfJ0j8mdiLTJozYYQkTQ7ONJmkx+L064w6hkiqX+3zf3pOWbE+uUlV5+f9zppo6smmniYp64W9wQBk//wZbTVebWMXPo7PFPtNHDOJox8xb4qMCMoMXaYROqP4uljz6IDX34E6g+8cneCOiqPvSZaSyo/DuWplqjFVBcdeIvF0PFrTBN8jDuQmtdfVUyvqTBxQiuMzTeZW5ePAShn7JhVSrM9kL9+BOmvG6Ux0nuMgzKLkeycjP/QW8jSLXpB2STyB/OaFLqPDdSa5u3S5utcWO48y/uE6k+xLLy7pPPZUftLqm6yfggznV3bUZ14bURPiiBa+Kz95slv7TXn9KKvJWFBS2/F6lOwYj5LsJY/Ot5/OGrQseh35AyrRA4dx8md8JAa2pKcg4k/skqSpkUNEUApJmsleevwjPmiR5FwPe8Sml2c1L6ziKxEcTkfRofmYTZ5m7FIpTcXUkyrxKJfhMZKeyteBYolUe8XniLSjaoNl6areqDN6gjeeqZilWFLlWXvxELGYrDp8YlNPbV+un+ohxfpU1w+H85N+xpwdxfFkY4w5INYZY8yxyTu2xhhjjDHGGGOMMcYYY4wx5m2Ds366tnItCz0gF+cvHDVXfJrXcwSMmQGch9jTnDlRIs5DhyhhLz29f3mcVZGtM8bMBs766VnClzMd4trmSds/khpYZ8wx4HQVfqevrnkry9V0SP6p+SnL9TKzcXfGyf/kz3xmEA7B9e4erVZ24sNmSiQuNbxcrzeLT0XT+r345EG1kq3QEZnao9XavHqqjSvrLsOSvMVVC+JiwnEB3nyxX1WLEuRUIK0zHJPlSg6ahIiUGe3ZCuZctcHyLtarYMWFkfWPMqa1jt+siBUV889EtC9iKtvRj9L/caVlY0bA2cRsZRwE0KABr7mcAa1hAcbHJ39qVZZFWBKKs3ppw1zwRPHJYr0AAicIc+tyPc+Xm+Kk4BjtcrWyZVy6gZMBi3OQWQQlqHXata8S19IuQjPKtVZDs566zkUnFmEe+mVYmy5ZAJOJRKWlbvAfdqBizLhKAzUzKVf+j84LM4Z0+LRwUlGa0K254dxXNZCs4cDzGJfXMGYctHNerbSCAdsOTIvSwcZFz4G2Ry2ihsTlu5uwJidlgW0qeWdZfFqeTaNZtyy1R9q8XmGgRhH3ZeaTychc0ObViqh+zElc50HeiDIfoUbFnLNojzaXgZL6LTZf4aQ1uvOhGOZQxZf6MfOJzijBmEKylT+Tpf/yiroMy3dELygmFWPmFwhjRsOrXrOyeUqN1qCOPsnlevlcjS3ExiU9od0iDrWoeCnU+gN872RsWRINJq5dYgPX0g08aNSZKA5MIW5dbC6+pP+Tn6qW5H4Q22D0TLh6VX9uE01IHLwYs1m/GDTfq19n8pIWKyrqjOJw3/g2nMSfQVY9W9PsD7VFzRwNB//Qh9E1ESaH/2mu9C4oEepuUIKwF4cI2CT5Z3JN1NLBWgtuJ52hjlEb6ThpF+Y53pHZR2cSBSgmqB2H6wwzqXZ9PJ3Je2RFneHZ14mOKeP0xdXsPWfT7AMNUubHN5tABKIfroFH9ejpOcThQcoO3zWgns5icy3cZi0U2jFpWVt1huqkRZwWm2tmRk2LwyDNuvPFQg3RmTgqRfJ7McrVcJ1J3KTk5zidSUoaCxUrqsefiYP/ybGQgrzcxpg94PWObVBLTEe70vrV1Aet5BnvzGplfgoLnZY4qkx9oCBwnISLVO+kM2z+f62g1nHpthsrtLAb/qE3hfi8axMbS5fOIBo7j8oAew2Aa9zpKGp9l+EtCXlum82Wm2hsEwT8cv0Gt+E6w9ttKqlWX+dqeBJ5lb2oM0yKy5IDVunl+q2XcZTbOmP2hHYo+6dcJH4y+zjUEBlnjCBr508ap96zplsecQlfNtsR/SZCKVtmyxEXI0dvp0tnKKfUxuTlmEwwWchXYjJQZ/LHZqRXi/X714boTBPW8i2WlGqTVFRRZ5rN9Z8VU1cW/e9+k9kT3hqOa8zmz5PwaRb9XJbW711uriW73Fw4N9m0XL+5TAvJLrOFdospMydSvLiUbvRnkmMlC/bGxONPOgDJpuXmLa08wZ7cMj4dsMW2F0Itwm21WMNdtR1rLFnoWLlSRcV1hpOkijGVYB7fGDNNiqMoy9VbtyjssXdjjDEjKDoS8XWTW70dY4wZx1/d75ExxhhjjDHGGGOMMcYYY4wxxrxV/BdAuo2VCmVuZHN0cmVhbQplbmRvYmoKMjQgMCBvYmogPDwvQ29sb3JTcGFjZVsvSUNDQmFzZWQgOSAwIFJdL05hbWUvSW00L1N1YnR5cGUvSW1hZ2UvSGVpZ2h0IDE2MC9GaWx0ZXIvRmxhdGVEZWNvZGUvVHlwZS9YT2JqZWN0L1dpZHRoIDM3Ni9MZW5ndGggNjU4Ni9CaXRzUGVyQ29tcG9uZW50IDg+PnN0cmVhbQp4nO2dP6jj1prApTLFEl91WXhEXFevWDBcN4FAVNjFg8C6mQtvCYur6ybw3Cz3FsNDbKXigWvDA3PZYsCbrItU8wSjZqpZgQcCad5ovSTNQBi5mCZDCu335/yTLNnS/X+z+kI8ks7/3zn6znfOJ+lmWSuttNJKK6200korrbTSSiuttNJKK620oiV8+sXH1t3I53/65r5b+0Dk16ef3xFzIZ9+9ff7bvMDkKe/tyzXj7Z3VFw061nWR1/fUWkPVn76g2V50d2WuRlb1mff322ZD0y+/8Ryo7svdt2zPioBv1n4/mpz57W5e/n+I2t0VwomL+Nd8Nspq/9xSY0W/qJwpQPa8ZbqFmEt1uJkhiclMSJ95lMEfzdalfz0iTW+Zh2vLLvgQe+7ngc8e7uxPcvLX1gjjs3tVI24z8TJ6Ba4/8EaXbOK15Cx9fv35jnUGwfBtqfbrGWHO90bi9upGXGXZDo3z/2p5d6PkmHxrK/MU1fojW2ZAtnh3rPgzrilmxWoelaHj9d4fIA7S23uf/9oN/FdysayQn22UsMX7mwxHNaR1LJF7pB2NpJs+IqIG2mLeBup9AVZ5wOivBUNVH2p4Gd0XEzG3KPITKWjbfIBRfna+tdcU6Y9vKV6Ptch8n1/lq1HHbiCp3QgqxeNXYo703GlLLjJMxgl7liUv6Lr61wWIH+2vsxVe6OOKN0Mb3F3BUeo9Tuet9CxF8BlJtlMvcUW1bC7zlaumpjXHlaxM+UYUlTGnRlH8vjUNC+QqlR2I8uTQI1kGGMBpx2q0oKyldEirELHr+bes14ZZ75aTnaoNVTrdYctDGwngebaTVVcd51PK3ThqiNOuDmYlyfy6ukGvrU+0gvXnbvZx2kW0gB4kZnRlhHoorVk41lTzttdcURkvcEJGtNPZWNk7Shjl7Pjoc1tzHH3hILvWL4AWkg24mSrrKDfIaiD0aZV2L+x/ukXfTYzyHW2sqqubLEMGuexC9ujyD3SZ57iLvPSDfzlX6y/GNzzZsyGYsIs28Ebumf1omijQ0m3u0L5QPa9KMMh3xltso1LdRiT3sKLGZqhJB2cOdac8ZjuFqzpdJutXbPXkbvPSmxNh1ZWkgzuqogyzHN3aWSNtSFalD9Z/665b2nAuALOLDOHiCmdTJhwPBZ1hytxZWadHndZMS+tlH/5D0PRWAUNPuXZdcMlFPR7RFfHApbHKmotJuQZ6akeD1hzBlyIVDSuttR1kTBcZuZEiWkiBgfXBdBiMlfkuM5zXwl16VYO+M+tbzT3mRyJI3nArHpTMUzdkStHMw33KVt8zBUmEhBP9gNlBr1OHYS15RDX5yyUovnljfVxJfeeqHhP9FwudEq5LAQseauIm5tRC7VkcAdkHhHhO26M6LgDCwYKnfDoA/UugBaTUVFbimVyn4q6TIsGmNHQ/y1w32ZCRXiSu0cDjg+2JncatL7kLmsruozwRlRHi+52T3QE3wiqgb/8/Dvrf/LcFzz7rfF8kTHU8S73Hp1uROtlYA61UEsrXd6Uh6KcFXAoK9673FnBg3oXQEuTUXiOuye6x69aTafWPxjc0ehaK3qK+2rngOIKmy3HfUu0cUGwkR2k7iJP8OcDg/tn1os8d5/vrogmTbqLeqI2JveNgODy4CrlzhHR6IgUTQxeywukSaq5k4Jf85FVlYyLNrmDGqJqj4tmgpQX1kmOO5Bb+WOvl+Me7RzIBmFc1+Q+smQ81XV81DOy8A9xR4t0jFEKU3Oe+0LMWmO+Ryu4b3DHWXPv8SoxMgBGe7gTXxrcfm6Ey8CsnLuudk3u61GxpdXchSq3DO4rfTLLc7eMlHu4u4qsbFlPmNzTHe5QVbJPPHkXlXBHywOmFKVnZkVNfoA7KZaRwlqfu2suFQ5yXxgddYi7b8Zl7puOGNoyuDF3tTLPA1GhZjM6unhT+ee4gzYfrTUvMak24D4CBd9R0+ZOsm0VdzXh1eHOtqG3WOf1eyl3Htqj1cbX3Cmss7kG97G6MVeHuOt7ge3nUu5W3o4cy+XwxgC42cd9BgtIbSaWJ+Np9BrcScmMJKr93F2JW3PnVddMVdvk3qnH3VcBU8FtwWe0PZDjPlVbCkyzjHsBaKR5yKPcMC7hjgslugfzQGWylc7M5C7tmYVXYb/nuRM3bMzqIHdtrijufLf0xHbQWkWQmdXhvlErWZeiyIWHu2u/95SNtqLO3sdd6Pee3noVCyoYar293EmbjRTQYrKpaGqU5z4WynZcZb+XcMcDWhT19nGPVFxP3iS8MqWUuFNG6nctM/PrccdMyEiB+xujiPVhxFfNXQTdQ7imGJVz34j7xRM6Q4zPTG3AbSj2Pu4jcQsrrLlkVDvzhuDfBafddkqcCFXcF3KsYtID3NdqKt7IRCxQn7HoD14mbWpyx7YsosgH3Y1RoIGjDTpiiSkwGPsioQmxx2qsRL+7uGe3GeHG2hZHgjIywAToUcY4He3jPhOjh4EWk7m9Fe7c+AXuuKaI0HPfqXBt5LnzjspU7OvhfVzJndetHV/ujnmmrW2JsYbgeVtgnNXkLvuxs/a0rW8J/bAQd47oA9WmKaIp5c65daIOXtW10+VQ5+3jvtbL8mw3GVsXPR3BV/uRXHA59gL3cQ4d9mkl9+KOmbvD3TQ09d7mQe60x98Zb7KFv8HT1QgNcIF4MfI8Mcp9w8e98eEukE5vn+8IuIbpV6C4xmvIBdJp9wBGQEdAZ7Q24qp/M/NEFBRxqkIyzL8z3eoIKtqYW1GL+1aaxD3cJsdd9Wrua7W5jn3e29Km3izaZttoNuKoqhuNvfzD3P9fSGHdtCFUro9YyTUxtYRBPpYHOM/wpjRxdBd476FvZ5sbKzQEyO8D3c6jVaUke1NtTLfcSXKOhf2yjYrP9b178/r16x/e6Qu4N3wgl5Z7UX58XxVSKu9fPrtkeXU4spaWe1GeX778UD+r95L65eXzJlVouRflw3eXz17XHvMf3r6lf15fXjbC2HLflZcweF++qw7fkbcfsreXl6+bVKHlXiJvUHl896aeunn36hkM9TeXl2+bVKHlXibvn5PGfnEQ/bvX30K8Z2/hHnnWqAot93J5I+bL7179WMX+/ZuX33L3QIxnzdRMy71KcKYU8u2L12/emvTfv33z+rk0ZL5F/fLj5bMGRlDWct8j719pG5HH/nOU73LXvn3DOV6+aVaFlvse+fDDt5d75aWYSz9cvmxYhZb7fnn3qhK9Oes2sTpJCtzjIctuxDjcvXY1mQ9jPkhPbfumMm0kDbhnNH9+V0D+7PnrRlbjrhS4h3a3gvvwxhAFtujCuT25sc5sJM24k7x7+8NrIT++bTaFlsoO96Ai4i1wVwd3LS+sf5z+Z9Wzwncim7/92+/KuSfzIEjwYIn/pmHfDmMz5TJYcoqADxL6NwnTzNBJIhDOl8GcrsyDROIOJ3YQZpDrEoLSecDZx8E8lWWkUDZdhdClKJVDE1G5RJQei4j15IXwc4z8VVQ/1c3IGp/y4/LLuC9tZ+gAoKRrD7v2MrRBDO2T9J2h3QcEfbvfx4AAFJTdh2SY3ulzLBkIIXyQwi8kZO6YpZ3ZQwwJnW7fnsDFU4jgCISJg2VDhhBKpWGpFBrY/a49V6VSAfZF7ba/yPn1vDHgv/2XzKKVP1UvIFRy7zvQTPs0m9hxljr9op6ZQOtjaClxhjgYFSgsMwfoxiITGQhpA8wgIc2SODk9Y9sTGLldoIrJ50Az7Ypuu8DwrgP/d1PKDPNKnFOo2AR7KJWlzjn/NKspOe5Set7UX1S9jHV12RBvr6zEHHeSIBvi6IGBSLgvhkXuNDb7fbZNgB/1VzycAw2cLxmsDOS0dAAQgV6Oe5eKRVUD/TjEswtBEIvFtDwYoEZ0x8HVALoQOmIpS6WMlJl0WEq5Gx0w8qEHrtMFmyha+P6oHHc592EAQmBAEWMTT7k5Oe4xWCIhqHw6WYLqTx2HFe8chuTE0TExUHMncPl5VVwKID84dPrw70TPt+ncsVUCeR9B50IsSCNLDe3+sgmW/dzzfeDBbQCyoie7y7yBWw7h9/rwMZXamZfpmTTo2hMAkU5suxukBe7itoBL4SmqWJg3u7Z9CngSyKB/KqOJwBrcbZ5ARL7S0OyjglcJVOWG8q6UpQaO7UySW+B+q1LGHVRywkxSaH1Rv6toNNKYSzxxQEED9HQnMM99XsZdXDLnbr7XhqXcVRxRarY8tZ3a4B8u99gW+p1MwlOaG42KJxRtHuDkRtTSMMFEMNAvnNAWAGSg5t6tGO/cFWBqUoSQbUQ2iyCtDFWlTjC/JFClkvUaVC49HhF3+jcFJoJdgXvmoCrpymkXTHvup1NMedoVkWSg5o6zbnFeHWZCcyPWU554OZyCYBKhzBP4oY4Aawfrg70hS0VLaM+S7xFxT+1umg6dfgJrebDhuwhxbsCfCJvvApWsAz9dMCwDtEoyh2ydjJCLQMUdDb7Q3uUOyRPIM4EIF1nsiAz6gPfCgR/MHHtrAgVgFok9TNN+N5OlJmDcp6f2b0DPQPNg3kJwF3DQheEFU9hQc09xarughZDdD8HmiLt8AbXLXEaSgYo75uaclnDH5M6c+gqmV2GIxw7MmktUdiJUlpqBlUOVkqXiuSOLfYzctaRhKg8Mu1hbiIkIj2VoLC4Exvol3jGpk6otGbm3QDpbijqWobLUTFZKlho22ep5yNxLJTw9HEeuNh+w7HIfRyUyK2F1P9wPbz6BvX1Pm4wNZJd7+QtR7kPhflga7Qvel9TlviiB9UC5Pwqpy/2WB7zJXU1cO3JR4oQqCG6MNZSK3azc7FpRSIONsILU5u7fGfdqH1ANh1ODpcuB8vbkpIKu7q6qzX3bKcH18LhfQa7B/epSm3vu80q3yZ19b1kq3GckwpcG3LWzDrdfQRfEdME8wP+1E26e5p2DIl9QZglGUU6/WGaYzqkb4sCehCkY7XFAPjzeY44pX+YO9jqqRPgfrlJoGCz3aKcrct/cEXfe3SWvmzTVtS/tVDjrus7Q7qa43cjOPuMg4BNyKS3tLifQvSryDWxYloba6Sece6E9cXgw00ZvOMRosIKF8p2UYqFzj7jjJhh2GTr8OPQCjvo1b4X63Isv+90Wd77v0a8WiOW+8uApZx1622J7AgAciVod4P/UJRPaNgMaJneZb2A7y0w7/aRzL7TtQC5HubB+TJtztCmD/6dDh4KweMGdajfnHdKrc/f8nEQq6m0O+CJ3vpMFMeXBy2+ik/sNt0qcoXkQ6MQh7zEa3FUQ96ly+knnXqh21CT3RJgvodxcAxsmRD9TP5PcQw4VW5RX5V4QV8f17o4769wh78UoD57kzt42aKdwezpZ7sCAG2Z5R4bK1wjCQ+ncM2ZMwV2cxadw6gxVELuwc9xph7nulHt4f2ah4kYH4940d9Fq6UuT3EPBHQ5ENONgh7uzy90ucpfOvXLuycRxkLutuDs23S857hQ3vjHudzLg93OXvrQS7oHGfVXuc6m4stxw1dzpfgtz3O1510lvl3vuwzs85lUn0BzsW5b6MkB1GEvVHFHkzn61PruNlAdPcmdv24WdCNz9LHeguM/J72nqGZUvc1dOP+ncK+WufEk6Fj62c1HgPkHVc3N6ZudTmdfhPq7JndxnqTAklQdPzas0qfVRm2MMMmzUgcEdHXP4XIjOW+XL3JXTTzr3KriH/AQUeRwndqqm3Bx36uW6LtY6++/RjXHfVhWR536BjxfFqfKCSg+eosCWIDnslsL+UQcGd/QMLsVjeiJzmS9zV04/6dzLcR+GKaVbQj/FfXuSoscxFkYTdOEwzz11usu5c4Pcx0b863H363BP+rBUwR/VBOlL06PvFC6wB5tnOOPA5A6Iu/Mcd5mv2BxQTj/h3DPVxCmtm/BoArHwqdh8rIm9zHEHe9Pu3+R4N/+QwxW4626r3uMp2QeOzW3JuLhHmdB6nCin5kGJkEmuvYP5rJTTb+8Cv16sLBOP+9WQWtyNAY9ELfERO/GRRNfCJ1rl42G7Yfohv+pN/CvuvxsPL5UNM6Hf5/W8g9cVod+vuj9TIsbHmsZ14ufEUDPuHXMHVTC5cPBZ7btwQaV952Ki17v7pZ5fW+/ZNN8siFTaPT6rK3JPgrBwUJDgdBhUeVFuXNJgeFrX61KP+zUGvPEZ/V51rNbPVy4LlQC/mkcHnlVrXtUp920z1OA+rP8yxSOQmtzzmwXy3xrca+4y1OBuH3auPiKp+9zSQqWIGnHXn61cV2fecq8UQ027DbjPak4MOe7Cq5Z31ynu5FeD8LDo8SMHnUzx0KX2c3qRSrJowF1j328ImdylV0276+Z2tz+U3APypg0n3YLHjxx08i27By+1uZtmeP11k0603y1ucFdeNe2uc0x3HfnVhvxjevzQQSffsrsbdteR+s+lblSa+g9L1tkiKHJXXrUKdx3th6gf7fGbZJl6y+4uyF1P6nOvzdCQjUrj749YmFfJq1bhrstxL3j85Ft2twztBqTBc9gblegARCXGvs6BrsrtRwqvWoXbKMd9x/Mk3rJ78NKAe+HL/Z5VY16VcuixVlO/S69agXu3FvfbYHQb0oB74VPmjbi79bkrr5rhrqvUMwWPn3zL7jZI3aw0ed8j/0RTE+4Hn+LOcRdeNcU93jOvao+fUPTGy6kPWZpw7+RSNuHuNeCuvGrabdTtJulpOXft8cPI6i27G3hy9Hal0ftNCzNlA+6HH7wx51XpVdPc0c83KeeuPX4EWr5l99vi3uhRGiPy6GDknB1Z8sLdHvdakg8LH8FLNlnT9/nUHzIRfzVrnzTylbT773ulls+OpZmrpOW+XyKV8JCJ0sw12HLfLyOd0t0fc6Mi+i33XWn6vvamcQm1dnNa7gdkfDjLgvh1sm25H5JN0xLclnuJNOZe+fpThdR70bvlfkiq/tBflbgt9zJp/h2UZgO+5rs5LfeD4h7O1BCv5V4qV/juz6JB9nVfRWu5H5YmA37ccs9Jc9qGePXlWuX8luQmuLfSXIoD/9F91+03Ii33+5Ercu94e14iIOnlP6zfcs/Llbh7EaTcLvZsNNKfeV4f9u+13BuI3JPcuhUROvIVvtpf4Wu5HxZtv1e9SrBQMeqO+Jb7YVno1OVYjYVV3df/HhP35CYeWbgCd2NDsvyJbPNBSve3x/3EOr9+JnvfOioXI3X59kujJ8UeHffEsm7iEZ1rcS9/isbkfsjcfHzc59bxTWTzcWPukU5c/vKM8Q5a5YdPCmK+GROH+OWGkD6nHoYxHaQhKtWUTmNUsfiQWBKqTzzEAX+NGS8ldLjUX3ykEMwn5EyTnciZzoafVUvnfAQlJvwX4mL5wtoT6yzjv2EnI4h32aAE9XnLw/JFY+76WY6qRwX0lyD8ell+atbo3LLCLLTwN7as8xO8wwJL/C4ta5BlA/p9ovrrjHI5oxjBERwu8cqJGTIQRXFe+cii4JTinOCHOY/oKMVqnB/D4fkcfo4IPMWfW0YEkQekDkSpNeRpA+JCFjJtlZXYk1PvuuYbOV+ZNYI2BdSweQaU52fYAYgvwR5JjhEd/BzjBCfueOieQXCMjaeGw9HRETIMjRDFHUgd5yNLUlDIk3Ps0fTIOjqHBOfU/ccnyHxwhNXKsErwewR55CIcc89irHoj/r+bcxcKfFNtnPd4xO9b0ebkr2aNEhyMyOQcf5M5tgTbhOyOEU5Ck1Ka0aBFCfBsiVwCwkbIz8W5CEE5wYMzzAkuPcHAM4qsyj3hm2iOZUPAEWI9Sjkd32mQ/EmGl5cYYUDcKUKcUT9QxrXk8yuA74x9f/+SqOf7U7dudp/+mqvREbRnYMF/AOEIh2wAiAfwe8SwwtA6PrbCWOJERc1ag38yS6iTwAjh7jkmRhlGOTEjZzyS4XQ+GMSk6ZBjGkq1RpoPuR/jeE5xZokF9wErQI6V1VY0f7kC9xuWr/I1giEHiKEtwGhA3YCIrUGKYPAQjqEbltROwQyngRLuOgR650iAYe5WkXug+nEguYc73GO83TKcZkmtaO6B4r6z114hn90fcJZPfs5XCFoBzYMWJEQCtMvSGsAYD0XDzs4R/VmgWhijRn9Sxl2HZKwHrss9oOFMM/DZNbl/c5/MUZ4WKhTi6D6GwR5QS7BR1llK1gJBgcE+X1onT+i+R3mCt3lYxl2HCC1zkDsal3u4n1DfBNSF1+Se/fFeqVtf7lQIxiho8jPrhAxFnNugWcdwesJtPrJinASx7WTDU9tLuesQoWVYbfOcaERG21t1T0jqmiaCInexWB2IviPuJ8L0HajJtq7cq6b57Ked+ihdzTc1xqJmkZ5Y4imvs5eMKSMz7rycuwyBkX9C66YztI/mwlqSkRFkKoxTC0PP2LwpcheL1QFq+aW0Z+L0GM8HykaqKz/dI/gS7GStk3rgNuDCJaVuQNMYeGB3YDckgjsyLZ9XdYgsD2dGMI5wEVTgLiODCYlG/ZGoQ447L1ZJZ6l5lWSgV2YN3uL86cu7gbwrZdhp0RTTOA9ENxzxOI9FNzyhQXyUCe4xMMJZ92x3XlUhskDIHdeXx8q+tBR3Xq+epTxRW0dBVuSeisVtCt1zNMd1G16F4OOY5+0jq+Fm5df3wBzkj+8b1bJSqv82XllIXLWDnqodn6Q0x1RdVX+UDzsmlhNHWPfPexj1u4ch//k3DSv58CTU8+igkYoxsvjq07uE/vGXfz1cpwcvN8A9y34N//zPX1xl36Ch9L744ul//Xy4Po9A4sFAKvTzweBxvLPcSiuttNJKK6200korrbTSSiuttNJKK3co/wcLjk64CmVuZHN0cmVhbQplbmRvYmoKMjUgMCBvYmogPDwvQ29sb3JTcGFjZS9EZXZpY2VSR0IvTmFtZS9JbTEvU3VidHlwZS9JbWFnZS9IZWlnaHQgMTk4L0ZpbHRlclsvRmxhdGVEZWNvZGUvRENURGVjb2RlXS9UeXBlL1hPYmplY3QvV2lkdGggNjc2L0xlbmd0aCAzMjY5MC9CaXRzUGVyQ29tcG9uZW50IDg+PnN0cmVhbQp4nMy6ZVBcQdc1OrgT3J3BJbgECBIywACDO0EGdwtOgru7uzuDu7u7S9AQNDgkyM3zvVVvvfe798et+v7cfVadqrNr9Wqp7j57d/Xb6tsPAA4YJAcCwMHBAWT/PYC3VwCBpJ2xl4M9p4mDHY2GGo2tg4XD2wbg0384/0f2H5H/Uw24t14ALipgGL4IAY4OAI8Lh4AL9zYIoAbAARAACP+LAfgvQ0PHgENBRUZEgkf4R9DEAQCQEOHg4ZGQMFBRkBFRAPAIiEjIgH8UNHRcPHwCWm7J38Iqxu4ehERCTv7x+bDmll0yutSmvrnVK2ISeqCgVisDC6+mdhkjk+UKs4xOaFrp0j9dgv+u77/tP17c/6d3HYCJAPevxQi4AHFAzxALGOn/F9B3b2nY3/97frMemKGahP4fZL8B2v3B7o+Pz9/X3fNUs8+vrq6e7P63cjtbV1fPH72UWSBvAGpq6pzFS4fYmT9dvhH+YNX/Kuyb8l9y/wNqXd3i7x8MrzeamAmK/wsibwDf+n8SiRsSxSz/jZ39q1kWsPvl//Cxxdxfbhy9AT7uxLbUtrS02Pw9l5z6f+nQzv7+ner/aoSqv2H00FBXfpdLQ/2BnZ2i5ZKQsHBrOQO+t4sXHaZqk/NhBEjVNGyekXkJXYOZqx6VBpZh5c9OR9hm0IYPZYiByOMJCgoWK7f1eR0iFkkH40mBvIojCXPoRhWSeRwxD9Gx+erDmeG5+vyIcKqTapWJlUHqB4bMU/wDekcOs4rowV3MUPD2cLkaW8qkUH1VnULugRoqLpt6r5KTvFnrAxUHjp681Cf9du1120a7Y6ikk9j+Sf3eqXJOjlHrtRL7pn7SrNXxUovNGObpVaFJPi3PvcJpuimnYjwKn0krQHsTVu7J3HiUgYcNRMErQvvxjtm1++cDw4nvbHfY7qqNNgRV1bcYE8Y/Jj8FeYcKguZ2yb4yQyQrfOgFBgldeiMn4b3LHGHwqgVRy08dXpcnf7758vdo2W+9pF7arBAQyzmcWm8nLJeS1xSe6A7/yDRmA2+7Gdtqe36p3URbKRvFHmQQ2OsKNomy0ybXXXmX6B3Rj5lmg6JH1aKQrQI77y442KSR+4mXefkTR1Hn5qtHZRqbx2bO/nvbtHbI8HoaHWEMi9/aaV7Al2ha0j2BX6PT5C0Pzz5epzn/JoPSQU/Hlu/YWd6Wg3qLoJZgKGnpxHpxptFTDapxEKNBN+OBSAcoKwnX7DOPIjRGOi+574BY0ZulA7MtOX1nLghJU+brMJHli7C2/bHAG8A2lnwDi2h1yzqNYoDeQigpoSzRv2JR4jpJ1ALRvk40nBpSzK0U/1Oqii3JSAFy0XtAkECyECnt39Y1JTC9LtniMePTJI96XkJPGtx/I8oBDGs2AydWuYSNJlLlZ1gheiun0Si4HJAZrT7guwtzAZJVlxOTC+sSqLL6QitZCYXpf45ICjVNxCuQwk6v94+UkqXwDhy6OhUBMuyd3xmPzs5GR7uljx4Yw5sYle+7/M+YycmX24QJkhvlKeZbCg1mXaKWlrW7TH3Zglx6XuMcd/bvpuofpk4e3C43ehxc/+oGzPRMAPfE3wAc52+AW360N8DFiwIKaWe71SW7im0xw5KW3DHhbmjaBOhTuGlruBOLGqmaeiw4/9KNoWtberwpRc6js5jNczT3na5u6366PTNOwLHClwgG7dpQbFX1K6f8Tpii096B2VmM49f550+1QTkEIzHiNAZLrRhmpAqL6GHq2c6iZtRYm/EJ1TwpS7xMQiYm5cgCbRVIgRL2kA8BHs97T1uaQmOq5cjQVR7cpLJNtGD8xtFip9lK5sSN6NGZ6ZhqFQUP3f53kNbmlVC1I5TGMtqtduBesJTJdPVibo3kysUvt1Cn9sBLy2DK6M5cK/Uvd3PMENROIwQDxAZv9EDUuonrIGFc0yya7KMcwKa/8rQaayLEdB4ta1rqgT1V3iAb6BwuHT1lsxggQ+Ot7RI4sLExEH5CQUmZTcwiZhMYsIRSqV22r6RsFUJCa/jzpZEs5Be1dkjgmWlbJvXZNF+ulWmARDkP46+gGOmV5LqEz9aceJGK9KNRk7NPfEaMFVx1BL8vo9EigUomKz2jaWq4TtgbdpxTSueKsVUQu0uFWMXjrfRtXc0SJ2s3ayeI7vCDwAiiOUW8t9dtKF452WApWbqqi7xoILJyP9sP7rNn38pfb4D3hi3XWzclgjnLlEbDpKUQdzUaZmyiQe1Yup9d9vFtmWaxUUUmw+4sOXK97LRiEhBvHvD8p6ARQpkBKHL0ebshFYO13yg9lmK+z7eR7W9qs6LqbmYbChPEg1z5ZcJtMdN7mvuM6WJJOSe1VAEDOmpC4+ZKbnTLorfc98UrErHDeyd8HEHMuorSvCt63bixH9v5TiHRprY5w5Lj+AKT16/6xoP0GoeYEghxtE4e5rqqXoSC7zKyP7SpsQUvpOlEjEuXDBcisQozHZiIO7s3LFDGTteCq1SH5Mmc3AQhP5zTUiiHizlF71EpVIQiITm7shL9BVIvplapE6ag2jjhIFbN1QAfBMn8ZoJT/+EaB0u9ZjbJktnR3zMAfbM0C4F601BoGLdEFXeJv6JRWhNLADjlB7HxgcQf4z5qIzqsARs9Q+k2hgUD2avxqPhy4fhUWkYLdAmFXRs0FYqxtCvoaY7uV7Uy/F78Hh4knePlhOVrgpNCHowCbR+7811aeDVtT62Kxhbnm+EgW02xtWr3FNYopTzOQRZh1EWOv+uZI5hCtR2zLAuq/HLsbwCsJDpAnEgzmZM5wqB8IjToHTO5viryr8Vanl85c32Cehq/QUv7emFlIc4j7Lxf7YZzdJOdRjRMwylKqPby8vwSs/OdGx1UBF1k38UJCmi4M+6x9dJ62XR1f/wosvEzT93t0p3tA+nwPik2uUluIZcnb6HlFr1QdVJxg2gPu6J3GQdPiq07Ke3Qiwh4yUrJQYklDmcMm8XTRKFdOuKQhAb0TkVc6OBKLZQEJoDdwXZxbJFCrKFMt9mfPtaA0TvBdR+skwAa9rSIuziwgVlncFd5TtY1iI6SU1FRSR1M4TtF9xyyJTmXyE01PEHUJ27KNcFjvO5m7xPWOpfOfUIUXk/KvkxrHpwcOJ3E4nwySpDU4gICFXRYVJPAUDAznK9i8KnniF2NzfqdFqh4ATkv6gdNxs+qogV41fecK2iM5DE07KTwwwmOlz89ahNxqXQ+B+WX3hDoyz4Da6srvYerZWetNYsYpfhR0MhcoZM2GnFxIPRfY6p1WVF+ydbojD/gxsESYQ2TqNHw0n2U4UicHYZ3r7E3TSK+viMjFQEPJA7Vf9npHEGgvuPvIglNZGa9e6ch14sJOD/C8qksq8opvttRjMplY7KIjbEeYyfyBt30W+e2s/gZqaaa54i2R7TOHGjcRVL0OdtM40/XI6CCFoKa0Zq63wHj2zMAuuezOh9Q3De9+bWLNaZYiuMrNNEK0xnWlAvkOJwINEW2usV7jmrv4cJgQb2oElwwbSOS946YCKhVNGF0WGf/Xi3e6CtXuvctNuv3TWfkf3TfAJX7K+s7Iys3Bm0VBl9LXczimp9CPueRm/E7Z/20VcLlsQq8zsp3TiXVVB6cHG5pGjW+EUxO4XpC/ElJ1QVz+erf55z6y0e4T6cmOKcd++Tx7usH7K4JTxB+IExTcUqHZf1M6Oe7/bUc1dF3/qDqQdvZLF8KlxRwtpR/ZzLbClpbeLFXb6F01p21vVJcWiKEBKNLNcm17MpAKnCMDelyvH9MaD5SM5fQ5litAs4EB5DnV7nOVxEgt9sUzcyqxqRihCogFKBQF4n593roZG8mYaYO+8D9uf00vkfJxvv8pOnvX451GErewuWT9aaO76jYG+A1kn/lWUPtf/vWNEr6/0ZaRlD3ahCa2PgWPui1QOx/Ps2fbv5r0YFM0lTHkHRvMS7xJ6/gV5XjIM8xN7GpJyKJ7a8JEnv+yfC7oGgrBZgxY0erAA2sEr1hCPpu8HI8fbi0sucNEHsu+FTtazBkkus78+ztdr/hEIHkiu0ysyqv49RxZLSqUI404DEshKOzbRNXZAcr4SGgwEeMb/qQij/WEbkQF86VksI4y+7prmEDtJWqVu6VbZfxFcxFuZqq9KS3vtkvDy9Q/mpaBI1qzkqZz4oXdYMVDcIGOegKMdB/USQ7fWoKYvtDTs8qU662VrZf9Q4bjfvpYCHpvORQ/IOw2ZR/Mqscrq3+D036fkwIG0c0162x5MqtW9mpUZUkZwKDXEDOfPl+gd4YA3gMpSgjOBmfHkPIEMXKa9rjDTDEeaFybtn/1GBD2ELiaSav/gUZbdiBSnuKPZGMsoSjniLekdTZzzLoPJxMtB4baLZ647OHFvPjbkyh6uEXwr45D/NlFrdOmYj2CUolU5s7zOzL659HPkEhJg8F0jeA93e4ZJskgkNMA0dLjfU3wMbTRzHD2KXzGma+y6XpBoOPPBMDpi6mjhcOS5+nwfhxwnZ+S5kwb7Fo8TG+ldJWf0wdkoQJtKCyuvUrXhgU2JQqNNgPyWKzMwzinSZe07fvS/2NrRx0+GzGzHhUr2jEg4jHyG8CkMcLApVLOLVInfmB/FJBFgAGNysN7yJn6XhlkKwj9M7t8enFt3Dt4v5PV0s50z5bMkf53oCwoFn095QqLWxXRztsg77YGHnxuRjTaHqeXe560DwG1SfTeLJPySFMH23lrdgVVQOrkpaiIndIqALt0LWivmJ4ObrTe7XFNFfCfcgqYOAHQ4kfJ9LCGgvJZ3TlIaTmwmnFNCYc7BE8TZKSuMX6sgYZhHxy6e+0ex+X27Qayuj0EiFWjbnhd61NiZZZ9apPBobg51O8MGiZCt7DrEyheZHsIdCTvPDMOLm84kI+kb8ALhb5g1Ble2aBrRi9d0KRk9ZzPYT+DXB9tPMG+KSc+3q5SHPX+UrQLn76z4lA993giVD84Klr+/LL5UmFpLId3LCvwB/B8f1XcKgNxrCsXTZ02G2NLwQ/edcK+u6Uzt5GYpn0EyAjt+jsIurYABs8f0wugnew2eRityQIxxbAwPQSC8waPB4hvGpe6hBLIKKMM52y6JT8rSlgr8Q12SBwDeHnz5obHt5bXCKLzSnnGbQ8VHtCBLHvtXUNwWC7NgX4syjC37O2zgOdOugO3O3Mi0q+qsXeetySXNPl7aP/fZnAs92IJOWeFNiO4WKvZ5JjLYoA2uAiDmHCgDzEfwmMFWXUCWxTRs2/tU6tYUAFkB3P4667Id9VX5jiRai4dfupoZlrOnOPNekJvNT2LGzs5h824clWtWfzre0gUtLFRDidIaDTCIhef9BqYkxDChdO2QbQe/QvDfLPUAK31irZpM/7Qq5z+KyV671cs8lcvqwrOGOAnnSTyducBtda66A/4OW+xvXs5Kal6t69BEqRkZuUqhcyS5IObYgzcm4XhR6X7DxVP9f8vq2LINTHCJhy+BLi2mB97pvRdrnR1RM7cnJvuGFjEOgpilTXKm/lpKAmZDOtGH44qcIv8yt+rEh4kBMr4pm4jjBPWzlAPpBtX+cV6OC00mg3MwlBytm8Xg/2RGF638ZG+5p1oV0q6my/iUEtVzQxvTiVkQly6rYOq3VSszyTu1DuorBnySKbx5iGLN+hOKrueEIHyzFVaEeGRBpywMnHJmBd/h95qkl57g8+Pr7UGXc/s/PWX/5F9aCnbIFAjsG6o/dGhIll8eDlNAT9LWxaqSLYagcenuaoOV4pPG4lfz0bobVHXGtKskpY5jt4tSDDv+vVGYNeVrWkNhYuRX7cnV9CoWyHCRp+bfBOjqRSLPjs1h/TpYKChcaLL0/JCmCgzHIIkw75gIkHhB1sa+TUdSietBV+aGOSdWNu5UwO5AgaEdCnD87QYv5AGvpjPBnQy99MIEJAbKU3i1egI5LJqqCWVbz0wRGxpHVDwVpgkJhp/WNzFAuxt2vsCXKOYv2Es3FWOjZoKrFRqLhaZSiJC84L05fEJOejMF9GwQ9+sexibmI1VZSXX11tct2qvoTAU++1OlYF/nXuAIJ8+ABp2AeFzDhcVjFmBUASTrrxVAxikbKVAKlpOT/6/CiXJJ+VOoCY2VV37lXogTc+/OTMtyxNSiZJk1uH5PDaMWOHYqROfZpYZHZximme387JDZ8w5Z9INJgC9PyIyIYBtfoqJhwU4sZISSHaNmzMOJ5ucEdOKw7HkYRC9umGrw1zcd/BZmcW3fDjEI6tI6Fmj41HzChifmut/fgFub46kdkcpI4Dbs0Kgw/BwuiGgyG9m4UDj4W96QlbsU9T3bFKVf2iTTI9g+sNQIyXWGtDcsg6gsXNWP/ZFft60GqCtLlZnndCNDy74hO1q903o292Utejj5NtbJkiEyIZqqkC7U3CBXy3EKwa1FgGKOHYO2HWxlKCfOESAiMUHxre+04LSq1xZ30GmHa9WahzlfTexLdgCOmMpRtNMtwNTlshbgqZYAoxVJSNFKgwrq9tqEwCvncnLIvhkD3/vIA/3Tii7sJOLNHsZVu8r9qA6Nc6DIyT06TIm3Ibn9c4TOlPxqhIxCSjkPnopfJA+RJ2+ZeRicVdUkjCG8Oqoe9jSPZtqZfyd1cbPMFi1TavouO4AohzUyRhjqppOR4juwyzarFkPxyQiSYPcyGGz4i9oJ82ShLVwVvjDeDzod5jeVHr4cwzNCrVPkYRKnTLxhGswSuwW8RZroQLJl8xb2mItfV4FyTAlWprRTLGbr79QGNvRqXTywnbkt2SuLHrGbvZoll4+vN4nyWRKiR1HdTOWv9L/exsLH/QaqdGsDHwJrZfITJBp55n3G+2WSlWoRt6673PFiSHQKkC46Qd1zmlG3KiIhq5PitOLMWWtAqXpJmE4AnznvxNgibKSyyvy52AwHxBZQYHdUbwAs2LFZubBIwS8eCAgBMe7FasINXjouPmYOMSc5UwgxD/NwDX1EFNEMIg2yqrAXlBPF/EkJE+UWuE6Sdj7BVqP1pCP6qNfjFHDM7nbKpRS1VlEAEr5/hBqww3mc2NFHkUkcCvXfzWdI5rQk2kSVJjXpphtNZenU+UVUYxnMKOpaAeFlJGghit+J8ZXX5fNlXj8qI8hXImGVxAC1g0TKjhuK3jSNxBtLhQLqCbZfqoImyoAjaYAD9KVlZwIB8I+dw6KunpNgAFOmOKuQYJEufU7fe1YeAldan0KiTT3yRn6hRzmWhWCH/QhB0IJcmmNlkgkdPWsIKFEgI1LsSejOe6IQVswA+lqXPdY6sJBPU2oSVo329u2DELpVXcPn5C1vccYbeAjcSlzK8m/OID3g2jtfElPeCpFzHKnP/59gagqujLRLDoHKjSscbN5vo3iCaY1THbCT3SR7jJqeAu9MFhRBCjukS/NXGIFp2tifeZ5y7PkTCCarDie8XTTI1ysH2XPun1E+bhiPq5sKPszLs1BVB+BTWsda3MHK4J489BaFZfXP6vxXL1VqE3AB2jxI/qrOCRrCb/qwpFAtXi2RK+2Etj/juDbzMn9vvvQc0itCcXqmo5Zmu8hBUONtnUkbBItecvCVJNTbwwWE+HKkuV9AiKZpFN/NaioqUmf7F6nl2fM38feYR6CkmV8dNjz8u1ftDG1mvu1huA2reVXVxm5o+YZlfH9i1Zt9PCGKTOOTKI8ma5qhO89LnQJVTUnR2aAxoiSPtcHB0d/a5F4mxR96fm/kIt9LuFm72LuYernbLUAh6aDqT6ovq402zcXRk7wkm/btMzLseg4eNIxmr2kED3Hq+uPrCKZaWURU13Mp/eoC7tlVf6KF7K9Ti+Hcunr68YLFMS5l0olaC5naiv4XxiSLBJawd9tm9qPK9ZpRyLk7j7BbNC1QdHhrcgQ3lLnqLXsnuRi52tRpj118PtJMp5DmLUwoGS+JHWw3DdW6KM1h9DL3c400+MNDEDp3hLpL7HUbJPtuU43kMtszzn1dtU766rypNMR7xwsWPR4Q8OPtktCU8cdIftWu5jzCeVlNbpIsssvwHqwFSb2GHH5hQWMVgSF4s79BM3VuTrpjlsq3lCos2f98qIWX6vfjQuT9Ob6DpjA1TqrVgRz1E1UBpM8QxjunaQcNyoa4kxgxdzuaSLZcxsJfQi4lO0iSY2PpPHTHPfCIeQH78mRTPKgAL7CWcgdtEB6uWIGEcxMZzqTiH8Ak4oKadE3gkttGQttlrR9Yh9OeZ5RsCGEGlFN8hInVDgY8Tvcrjg1jF6m1gSvJRV/9FDKIOY1pHjWIhQyhiNMDwbXeA07QyEu832g/7kPkUSyBQLPUr6ZITG2B0SP5e/1mTMWKy/3cbjaqVOxBPDjowwYLS9zM0UPWUSxYtqGxyjh5vU0Dxqgpc2UY9yfBDtv0vKifUu6r2dNWGzKG97nrLU0YrAHViFU9aTVY3KihEAfb5BS5KhGjLlLT8rEEcPltZZGTVT/aU34POdnxxqrQAdYUodadFA09PNmAUyD7ERc6hKmR74gciMJMi3Gw6PHw8D1BfiN1thUzyukN/hkQop3uUR2cmo+wX4qH+0SDXlBo8xhRjJHzrYY3Cu4gqPfW6P06j3ruvnE8rVf8DJ7FGVYdsW/c2sw+uiWFkLKCILr004ZMd3rcJQguSKH3m0F86OGlARxDtLncbAbtasV43OidpLBEeal55wLERSKoiEfkMufrtmWBuQJYr0fe1BHm+estEppVVLOrjmJzHBj1YBYcJrEIHbOYC5CnNEdBfa0YbU/kCNffSUFkGC7yo/hzve690P45z4rRGF7sqAeBYBkOjJNuuvvScwho6noDyPL5QJhXbK77WCwSHE0IkW73DanJrZ3ZFaRS1G0eC+dOdne2qMlU0GRgfIFc6YHsHvv3iIV/na9lALbXZGEbIUyNbaCiMuhi6wBnaEGvnXK0GLS3ZztGvEIeMgslQvfpsv36b+AhQ24AJBtsI19BFOBIh2yWsbDZV/OCgQoQMd4I4W7QGDbjh1UOQUYt4H0hoU4+uWW1JsbqhxYKF4wE5456iUDDZg8tDSqa9rZuXjeOy0qVp8+vhmxjQy7+nxDpDnEobEuLv7el6i2ghAjk1CSo6fMcVgZIfhFn/qKEx9vKK6eMfoHbDjf1F8m+u68n+J7tOTX6BfANenNv1nwvB/OBoBDY2Navt7MSCygaoC1Bn5CiMAAzVKig/sDhR5v6SCPD3XRGIWbfADkQWmKqvwZDVELVxt1b/zT1rjMjUlFuuIOpj5WsWnSKjF+eyRszlLbS9OH837xWWxH2ZdUTXueXa7TC80i1pFcE8I7ZjzCqNFsG/Ph4wkJAVMKIQFx0BqYuQXi2xMoeZSPx6ff8MwRNi8Hj6X45ETSRwVEAR3+byaFFCESdy9pHNkmZH+2x4x9lPVcZiv0In8l50SuLKYeCcE3DCQLaUkOTmxYz2kS48WC/VNbo2TRRwXqW+zqtjDeQ8g7Ac6GXvYzfXO3FhE+sqNLJ/x7VLbf9heT1TV4s+xnUUDNTrMN7m1u3+1RzWDxtDm7qwHUeDXFZCgjpxEiUOe1n62RTNEUFH3cKWfK0mdBvu5+dG8sstTowapO6wTUNzOMaB+0jHbdqN4+CT3rTQgQeNBzG7Ky9Yed6gj+MbopsxcMWSonlE0qU4xL9GNqE36oyHxV9AdZaIM1VxSV/F5/BpcaYGTnZO0J1iVTcEpmEzFH+ezl7r278yHbvNshZV9umSmFZRvQ1sy3+QgXFGYh6ciIaOmCFd9swXTzMUM+6n00veXMQElP/WVS5F58bIYrwpR1alkTtI2VqKV9kTYmwazl3imBWK+EC8dERPdBOkuRvEWKc1H5fvCQWHNUlcRxrzaXk0CbWYlAqoxK1xMGUnIBw43bwCLq9f1LYSvjXqaT6gDgb1/bSL1rnM+cEoE6M+H/bQ43t80111O9kL+JWqgROxiHsfVySRxcrxpPEoBZnDRS7gvpSMS4FCPO8bOvXW9wuAh7Y8pW+9UMlHA6dVH4Ie1+gvZF4wgFjgkwYbluT4HdXyhsc+zyDzexwkySl5llSINP91GHSMXz+KGdEKRjXoONic+xJocmxgPh3/g7pLdRJOQavnsx/B5Y00PYFUTG+MOnN8gnatx5CNm4fp74povxp5lal0iEJWaw/0JsvvTSSDvg1M8z1osBs2Kz28C70gfcvyEgxyqNUIGbU49j0OO+nDVpD7qLZTTUk0bK8Pr/djiS0WPvY3W7u3+G2znifrJr1MMMlH7Ojy/ndMLZuaP/xZ9PtLsfCwyCxvDiOd2b0kZ5itlkggu/xQ/fYTXNkYvFbLBpay54/vHUGh6g0KRVTLgd5WMisuJm8awiW1yGKpT9EBYfEKYgLX9KMkcfGD+JYzwFJ+B5eqTHsbXPhZkVu3JP+BC9bgOpudghGRo2+0+ybTupEmmSXhQCgq3mZBZho1oCc1tsziNDd+8NE8UN0KD82Ag6SdSE1xBHESa7ZXuB0776KhRdeFOoXwrO1mcaL3IhMFjnGLAMLwfA/oSiQpikHmajnFbCHw/ST+54TDN+mOOC1HJx5bkGGmKgvEMrboOe2xPT+m9wWK65VK2TlOmEX572WVarsWK3r0m3eSQCuCCRN4dcrZT2KeuY3rzxq7josmL+S3CtTOa4z3n21Ub0wQwffkimVOAudFEHaN/eDkJiBwnu9FZGzP9uB6VS6ojc6E/0O+dLDvIPFiX6uuHN0D/tHSH788Xp+fcZ5HUf/lNz8r5vTeHzfYtcWdL/VIKkw7T+C7FXxrj2g3bHt3sZe1s01y2IJcz/5Aeu/oXJOXK+xbBVpFaqfn5YJPCyoLBqano6LEY3R97PxqvF+ilgvGgU8owaBMjgZRpEZHxSJYROjMsjSvkDRBR5TJfXa1yHnVEjt0KXkf7HntahEF35nkOnl1zRqCm/ZVhXCfI34zL6M9cqINPK13MIY/iXKV2Qy8LsMiwMqOgilyZjtlWbhDgNBtdaEtps2nISi7G6IBwjden/+mMWv8U8F6BJr3jKzXFuA6dfCcKkP0osqdDvJkZ78Ch6uyCmTNcmtKZftht3ck7Hdc4uiq4uaFVNgM7rtfCCcV7DFYjH8ugjCi/ZezMTW+n6ZiRGoW6rb2ztsqg0C/WplaIzvgQohEj4rME+TBcx+cNdDIYSn9nC1Tdcl7V93idfcZL2HLWbgazLJCBC1+dAyP5sN7HKjm6uw4WsEgVZkGjTHAAYcGlRKQWWuKpf79962GqXLq9P3+sjDjaejGo9W1peune0Lv+0/Ol66Vfx2NxV82nTV33vkM3j509rZ+rddiT0X1iBlu58+MSLXvQSTCpwuPqAFP82IEZo2Yy+D5NQVOhPJq1+U4Vh6/ExZ7fsEVwprglEQt/IGHL74utIIykBn5Z8Ol6EokxtWPSGPcrC8B7E/YHVzBQSn95eDX0J9lZO5UP7JM8LvLYDi4fT76H+lIpMSVZx7sFDsqlc7tgGL2xXDTXJm23jGmZ1LbLkaSTqexNglnNoHZBqPuYz3m/JL0HbrGfm8GBpzEcQ4oOw18GZwKIZXJzGz14b/NHshThMTETiy5DWXIC38lcJdgDk1ZVQ5qEh4BJFJbkxIjZAE+DvttqxAC+3KoZsSMJtRJQwq/TpoUOkz5w7zcr+9Gjws+hjyYILdj54SNb+WPFN+MbBQ0oUFav95MMbWods2KpffhQLx91Gmbm5FqBLSZAtr65EK0rLzCsjUaeTcJdY8j9wSZasg+XznV8OiLYOULWMKfo95ZQNFpEsm7t3cOruGLX8t1fu52t7eUK/1v15xSdm/M3QNIb4NeKhvVOdnekzxug5g0gOOI9C3WfNN8Su3gDMHi75GxSLArJaB22sZOTJFj7U2S34O0TjkhcjZuari6o0d4+LqALY1R8lcJTM1VSYqvindZ1TizkaZqb3mLf/GBhFdTtUYo8feWTY//7itZbJdz5ef7jvN7GcbRym7eoxotpCeOw4RbCtDNkcX44Opon/48wh7FtnXKI+M8ugiyPjgzjx1OzB+R3LpAb6Ripm9Cf0WO9DLRcVrMpuQQD+n6KCY+J8a7TNawA1wlVp5Mq7cQMnImFygX3aPd9QtyOjeGvrV6Pp3Tu0P5HXc6zbqpKrgDWYxv2EiuedH6SDNBSrGpPgXt4I9+AFkwul1pnm0IhkYe/kV6euZ2+Fk5fsFPKd+5Pt1jTbcr7z3jiStZmXtDMp09ofa1vgHk98lM3mdtK7atNttc/L0LwaHTwfuEfnAhpMgZq0vZVmvaxTjnpwD8yKYwxfSlHYDadrBw287fssn5ZDy2H5Qv0CvWSNIa/HGLHEwqkoh4sCEuBUtFc47KGPg/338SpqVOPupBBYp/1uUaEklZtv/4Kyi6Kbe+CTTmPZJmrw7Qpi7SvdTB1F0lr+L76MCdI3y6vhyiRuId+/EDwaSBTPmI5FLdTeGjzgLNpqZq8fb2oThDry4I58PJYc0ZPgNWaizfP1VzVxZvECfYjDmurswnBU7aMk3HIL0wT2JjCPpSv500lcIohTIam92OFp/NHzpfWh4z6Km7cWD3BGG7e/HwhYBLztrsrNkGCv3aUUEBNFLva4VFZW2ErOprmx17SIj/Bdbe64f2NpZ4PYuuvPXc9y5l/X7SaLYLd7jaazp/en9z//ZaZNevK+G2AWzGqz7PU4GeoCFPgTx/5+LrFqU/oBcrd8fhjvx/SpMOWNcbx2WnJYYrvKpHXy26t/6WxwCyoST8c0QdV5mO3QaiyR4IzZXwYmD4aD6puM2imGqC2CW1joCqqqolqQiH60o+gxEGnTCGC2stEQweT7GpiZg5+DtXXegOcMMWJvwqNiO28Xr4aDp3ea/kL8/76vrjN3fSO3u6j3oGm8xEjniTlsDLgB/OGTbP2xHsrLVLskajxnvn2BbzwyUE2ip0vERI9l87AGdqErHCoWyBeZjH5/gafWfK2HJ2rAzR2ZH2TmppqKznOvzw7vZh2YouSIrWCVC4uz0Fa8mSZTdUSVSEpEcJlxA6P44x2gnJ4/jP5S6+BLdbcGGeRkYaScrZ7LLnr6FhisiuNEvOUkp11jfLE9zHWuFLhvGDLuGpjf9pIGIfUp10eJE44ePXzq8fTnJXHP99FvhHfedtsZ1k7vaR6cm90WlQ8RguPDjHoE3cmCpOpsFoOpWUn63IrXuMvdX7G42rMV1clIhpIAv49SBWWMUFbwik/SJQggv8luqf4BrC6j86Nw6yZLUfuPBEdI68RRB8sTdJUWz1KCHeJjFt2jAAoGg8Mlznkigsxquv4p6YimrKnIoIPeu0WkdvfabkW4lod9exVW/ZxJ12J6oTuWUJhIfUBGkus1/bWpZ4YewkRbBdFBZqP5eNKrF58ROp3dO4uX9W8c6omdk4bzFVM+h4tOI7Sxb2Hr5C5cw5Jsfx3RtxkETXWtS+N7psu99qRkyk7dB8ufTU6Zs2ZlmpHJ7oXLsf+xGN/u3F0S/wjLX3LrE76lUf/+TkaL6vkdQ9nM49ZBR2g5+TtrCGdYYKf5WWf36UYlszBWRFo6JBwTVDKcWD1qpktFL3tkGg+XxXI7UYZbNwOLomdOEggxl014XPDW7FgiPhsnGZ0Ru+bZXS5qXFFgK/Xl4vjHGPglj1DKTT6BfbaDUXWbKvpPTDnUS7zlZi+6AKTNOJR6YUpSalv0FTae7Fkz02h36cgh6BR+EOJXdbjZXJuZWTmL/s/6H+zxG33cd6/WAeaK2mab17ZBtgEj9d9osGfV4iL7yylYUYlQoJ3g5oI8n2MMvWwK6HwmyG9dTQyz3Iaqsrl2UITSLS1H1La0RBZlQ5XDYvhA81EFyoMe37C6U0ukZ4Sc1bQjfNXjI3n4FluV8OLuJ/NG1nIjSFNccKqxwWtUoT/ca0SPmx6lQliwIOO8qhR65Bqb0sPkEym5skGNy3dsxKXoBC8G51twaWJ7WnJdru9sDSQo0OsVK+p26SKZLjipCg8dsfvbjv7yJyddKDqneFsjta67Xja4VTqUW16Po39BM9edWWwAovBwpJ+wBrR0Z3VHSmaiF/5orwzSJbL56OMSdrBSB+QsF2uZT467evAvOAknc3CGCXJIt3rZhixUiql/M7dKWlgiZNPbh9tArvszv8rqzHtSANJ1ivdnrd0zTtGaOowZeL2rljNJ7Kv4OvxPYlAxzAmOiepdDktrAHHqLzt/qZzvSabEBOr1WzPPtKXoPoxs2kSF1Kz5QJ03ikO3u+ywfWTeIyoz59au0hC/XB9cQbZUDtW3VurvTD//Nn2Rbej+uM3mtupfifL2nGpN7OrWLijTIr/EJFTjiT5R6JaxypWWjcZqUgT6pJUDDcMxxOo6rkLtjrQ1mTex9eRimTi6g2TXr2p0vY3Uairshn+qfCeliJ0b/T1O9mkZ9WjgPmm/CC8TnpsPLZeAkkKET15MU6VN6mFswuFYn8f3PnM9QpJhMXyEhrVXm9cQ6VCq1PokEE53dbFZ34MrZxEimaWJF6+r1V+8VyTDKpVxu84TP+yMILz8gGDFTEjKlbCVprIe7e8g7qVfr3xjob2mikhJcglw4yMw/cgkOatHebkFHOiQBNfk0ApB7mLiYkXzxjIvwtdSg4cTqYKhiRzf46T/JwCCOmLjmUVJbafwSseKhZeAhLT7KZPLO1z226EbVNS0b4BvrlLVc+WBeU3S01QJEkfjOvOVjtKyEdyVymhzQnpBEic5VfPJnFN6YFvCgMKOzAG3V6kDjjQtqaibEI+T8bHRdMkVcvw9ClYOz+byfOP09xJf6A6xOKo6iisw9JOHtJTGfbCu5Og4lCneHjqmfn51OGbW9OiMCfa2WHEl6jUUFixT/EvF6kzss14bLxKgBbmljy2c9B/uz0tFVOhceTYGjLmRIST3I5pbEJE7cOEGdTVV5d5CHqB3wCDxJQ28Sl59WFLUUajXBVoRgInhQq7MZxcAswLgV+PaqxFFwNa+43DkWWnmQOleTDQtIrZIl+oD5/FtO68X7LPrTGfPswLPo0ppCJc9SB5XaeTZczZ2nszoPu7GzzuuQy6vxvIupD1o5sws1VkzmxrZL1ZqOaRhPeEfaZajuubn1F29aW/SJk2xtIaHBN9unAYxaxLSWZk4lcVQESfImtjH/qRgIh/0YcSCfRKGx3+/LynrZ0FYaYngSf/85D5JUSnkaLWwV5T2CNLD6GOl92OQO2n/sFRP1dFwO9bfima7Vd41dYRo/PpZmBdyLbzviLPiugASPj0uGY5ZTKy4y9DgwMzfu173TpvPggPPyKB5VqpCODxZDP6DreQHcSoTUIkOHp1yRWfRJsfX8MMxTVHJcZC4AuU57Kg/rMSfedraALkluL+KwzkdOMLWk6YKY6QQDBdQ7Y9kDSL3tZhc4FNc6LLeDNIyM5z15faxzY2NuXf5Tq4nttvX045uDuMXPZUHvfYuIBR8U9w92JIx0LiIPr0sCDB9S3vqFFnUOdEQgHSwTsUWAH3kUqIRhmNP5uT8di57DtbKzu+vflmpUDCuLD++fyvCruxrSAuTAR2KTg/whC4gAdAL1dkqzSu7j1hEK62IGq1t0F/S+XTdvvOwuPz99r986pCT7RfZYccDW73waBW608lkF48/ZW4o1VrHcysvSKFYRPPzuxxDTwof/tnnshOQdHPZJQJQ7kqZSZSWZxnp1hWt80meinlGK+/tdpr9M6Hjmp/ytn01aZLtrPW4psTIwXWba4cdCp0PpoM/K3rpU0SZOlQc2GUFP2M3vt7As4mIcmNTNXHewluVK05/KqQI9qk5Yak4ft6R3btb8LRF0gULop5svwNcAjnbxKwRFASYCvWNUda3AYb+zlXWvJ7cxCZKrO2XfNrqvOtHuiGSGTj2b4SpzzHVj4HMkLycrdW3G/kXzxBJUk3M/OubI24HWgs+7sdGISlML6Md6G9kU383lZa9TaUo0pJ52KQeTQrYrfaB7T7C3fLccWt6WTjrHASw+3TFA8xmmjSRGldJ9qUHmIsNBFpu0/0N57yZNfYrbc2y/n6w+Pj839uclTb/XF49A29mii9ouiLL4iuEKQ2gyok+uTSO0lkPWyaYcYVQx7w+zHZIEpmCgf1zVmbu/Gj0mZ+D+LtjSca7Q1DeyHAqciwaHu7jRxFvkzDncxIzwhFl03hYedJSyk6A+5NwMI1SNpasLXvB8f4OxxfKWP/K8w6KnqAzgAqmNduHcnntoaBOAcExCnvdIoxxE5uFBopxtXhVSVevQ0PXmMpyybNWcsaVd8+Xt6LulGtkWgS/qXByNUPAX6OkuyZnQ+kts/fZsa5Mu4I4d7nO/VdijXW3aqPAbTnV6gzJ3y9yJMRHmSlSH6MdVGJzk4VQCvXKWXXtiVTQePe8hqZa8/hhP14H8f0UeSJrc+Tduz30aRIMpWKUdRj1MCZmkrrDn17SzMhozNaBSpE22myjnvtDVDiK6xiSX8Rhv848VU9W/H4wwD/UC27k7KmIzrNy/VJjdMIL99FHkA6ryxE9et7zDFSZFr369kOOUZlYn5izmU+efro5rozjWnAdffzV/JnTa7NZ596n6AX3443gArXcvUz5Ew+ZtWptujp6Uo7dZyp/S42UNAJt4TcnT0QzxqRnqZ1FRRmoc12BGs59GffV6eQwEZDYVE3hiqbq1L8T6lZjw7ZJnHgpf3Sj2jpoZKgcohFTlFMiZM2fqx1OI+X0FYpbymwGP0Iq5ka09QtSSQlSVC3DQErgQFufDAp346/6I+h/+07/av7+tNOOQpzLCQbYHGNlkISj9xB2Z5cYygNJBs/QaV2Ae3D/CBsbEjmL1/RGj2vHCqJ7voGrkX1nFlQZklWoC2RnasD+vzvkPpqSyNlY7A9Ufh3nawRsvm2BE/TLW7rUKzI6bVeqWCGNC8ZsxImhYKxGX6qTD4Ktzsf724b7+5YB4c5ddlTzv0AzAYiE4j8VadxWyrdCCMmiRY0uZEeXhJCWy8tjz6MX06dCF1g8QkSb0oG4PcNkV3/HuGO4mPXNFFgieZh21SndaUemMh0zO2uZixisNh89kZKTdH5mZYFTEeYIpm3JTTiyycS56fefllMyh1yXo7KK1BGUCsXSkSgyZJP4SHCGHOs6otg4Iyrio05QAX+flJj9S92Mfd0oByUKhohdozYpkHth6B8H8GxKoptxSTUeQMUx4Y+Lr+eqVfa3LNyKhRq35m9JDU/Vl4bKsYesT9WIcqSQmfCkwj+LY4YcYt2lqiraMvO0GSHWUYZIGRuZAxdRP2imepXRV+1B1sIhxAoubMxVgciyD7tPNQM7Mf2+jquZoVwSh6Ql4Gjbw700yXpzfqBPJTjn0w6FDYbM5yGXwNArENECqIBIBgR/YsDAACcVVpUSRvkPlQ7G90+rGob3eVzG70lh8Mernqwdk4hnnnIGqIzaH5vgAbqCcoeyz+P3yKduqjGrh6f4KcPtIkgZMWtli4rxGdV8CyiUI4kCfQ9nQ8k3nbho02N4QQ3HHVJLrAqhukTNBxG0anCSIzm9inSQi6j5/pjRReS2eQR4tblYxKE2EUPp60KGIQ5+Kw1Mq2TqWJEjy5jPNXjoFw1gpcOUP4R+uHkRoOfXrTzUV5NoUwyBoN4qFwfs+aHKDP5i/EKE4HoOmxx9vRE0bhSl9PNadXxlyklii8kcQafypYjtsxiSJKoLd1MxzjvFayd0A9TwPLTQVYoiHCk+7p5sDBJhS/+hGLc76y0PSfmXG0UhBpPshpOOTrjUCfSaiQrhfviG5HhV7AuZLMpcPXnIrsikGpcz305A/V9msK5czyGF0TF0mnmOhMjr8nJyg7mcTnsaNfFaSy0fuCGaxYo4yIP4ziZckg0+uO1wYZYZRgPWShwi1XVjcp2Tb5sa8sNqymG7zyHVwcZjL2vwK+eGr9MY/CxLBpNKPQfxagfbIMYxswSbOeMGTVQFLwByH9rWyW1lIPey5QHFKP8hs5pT1LxU4d8oj+DCQUpJtcLE0UOb+DWyxTGH6lLt/DC6nmbE9K7qour4Z1xBVsKIFLqVmgsH5wjmetCxl/vmAnx9HNc1Aqf1WRUQ8WntMANBMFlkN/R7sMMLbI8k+FoIVTp5KeFXi1ER2l8/FIH4/gBGtwuVgqHx9iDn+PHtjJS+FFesxauHSj3CkE/RVAJqt8/Bci2RhnX/C71leXvlk8FhlEkC7R+LAEZs06F9aVnUjFeJ/RW10+HpY1HlHpaeyTysXQLpsfymL4EjuNHzWUwXmNGJ/Hw/g3KMeFJrBUe2jrcGjzNsAohs7tAHF2A/wFaXY1C29AlVyuytQUnd9GZFgeX3s9UBcaf9e4db1VxVYmV1TUg5mGeJnIxTrUZJURzuQG2GNIp4dLOJSIheD4JGzAE46ByskIs3ToYAwcFyeG24ZPcdCknkfzOebUr6IABXr93KP3IUSggk+UNMATYVSYW6pQfq/ORAPrVByUdkhjLTTA3KAL2I6pXhmTkQkYuugVDbUErBwNNvBhTs8VxUsZoeyC5hskT9ioaYYTrFK1g20mSvuAX2uLW4c0i4sRRingAhlIgvaWzlYc2oXjK9NHC4b1rtoKZmow86tzLfIrslwMIFe9zR44Ih4d2k0zYJXMtn4GFi2jBhTixH9G78b9d27VDl8/dPVrNrxuGTV1LlcgCx8+7f3DCyTxNzEePCIOCJioMP04FmpMtYDH+6BrOJfx81e6MSrPxNCYPhOOjq8PQzLcUNaZyzMowZnev9gmyN4AbtGNdhcVQrmYVxtLYTmTrG2o0fy7EC56yPU7qFCnTPD5wQh1lhlUZlN2B3zuQDkdJdaGE2HyaDlV61BpNXUZufZ02+zOD3Sh6/PUNEOwT/s3IJvbsyDCv69AsfFnuulXm4yiJzf3G++VS1//7Mb6kOmvL5Wet8cxcjjfALLLa/d/aV5hu5fP7m9f2MkK9h4LSQ8WZXCPM0n9/L91KydKdkZH6ysAl/2sGW4dl5I7XZ1pCk5Oad5ooo8mwHm2yy7+/g5RNI/UfHs8dLp7fAGJdGkPMgo/FLJIhgrTiocu/X2rv9R5m+GtptGqf0J4/toSe+9bvdHtWe8IHKnVH5CZMfPzWc5378uGkWu++AmlO7VrHYqblVe0NUPpFo/L7rOuw/kRrD/x+uL3BFP5xDdcwFygxl2EhvbBfgPkU30oQ7bvzCFIJ0ZdpZadgeomwzIy2qd7b6qmxxRr1bOFG/wOMajwmQs/vfk5D/hvXipmLLFKgXltSh7PfK+R+DPATu4/fgm0Qh6Y65zBvcNoViuOWgtPS4jlCWIB/g7j4F90nFxcSsMqSjTF1uLRz5VzXjX6RDJ9hTnRi6gQ4kSt3Jb8BRMX/MA+i9G8lRfe1EPvrhBSZ+OuwZfBhvZ9fs0teHg6wb+hRyeXZALSNrnRtjKbt5rtGswBdEAVBXAnI6iExR17kNsuiZmaZ1IfYezDO96ot7nkB96wXqUCkFNT+0UydRmEfa6wJPfpcnvCIf+ML5qU7oggVIMssR48rv/UfM7WHiswDYNpKN5zv+VgXV2cIY3lHTmp4PUo3DDR5EULYlz0GdDDj8XCEDxV6hDSrM4n3ht25Kziq1tj6gZz28jvU0VIwUXN6ChuPBDEs8oDfNIpUZnHdDQZ6+l5sX50JpjdrLdwEjVwaB+Foho6v7va01Sgw3eswVRMvuCfXiBzLGNJtSml70/+KTdMd5ZhAXaaY0RD4xMd8Nbpjczee3gDitWtnNayHLxBRAUtfEt2HigYs2ZH546JKejNP2w/WD6xjaix9M7Zndf1f4t2lXo/ys9sUUyN+ZniL2HyLquusZWfQZgjJIKDq2d/4/Wfusum18fVpV6Ntyjh6pGX3rnDH5sXq5aa/0iUDiUX5ZSqWVbmGmW9cLQ3Zhm3aOzd4GKlq9XxRSognKy6fRNo2eatNOLjiI0Y0LiurFg8XYz6Da6R5qP9a9ZHRaMmufk71q9k5WnTtXo8+Qz+rCbedncumnDz8XEKJIKqLQvq2oH+EfpqRUCnpOv7sWL2UcxRrXyDVCIG6IPJTYzaMyn3p3hOfdup68d4siUc9e90qrp4g/cSMP6W7vL0lnCJH+kf+3K/doc9n5CTlXncyZYK98ONII4cJOp8BDBv7zOIF8/Mnr8erg4OrP27vb7vw5UVEwAycnDXTNaxg0Obq6mZUQ3KrEKemE4sKnaxchQYLX4Ec8wAIJ9KgO2ebel2oZlF9/BofTCjiWceiYy4CeHk9qTr2clZL85FHg71X2medrCOYSCKnVU26YxhlslclBtRoDyawJ1c0ZwNF+dBdmT6Nu41IPzu2qmVGGuQOUc+SOgNvmos/2fvOaNF+7pcK8cDrp6B7vB1A00T4adYjl7jVNIxGpdsj7YUk/fAhYaium7oN10OiiEVJp0oYmdE4QNVZHovgjpbLArjMFxhGMghrl66mwUeFshjF1n8aU87aVyNn58feknDKG3+0PCCtktNgr9fHq5CHqjyeWSJhJg2bw6mLpOBizCmHR7Gl6r74f5WbgaWifedWNqEFqwYafk8FIIoSWv4IAIQcYZiDjP4FU/vUf36cwbnh1Dpo10InACI7Xc+0AO97rA5t5Mo3wPwPI6Q+SAwiPWqQdrMpsm5/0wXcjqMAYALg1vQGyGBL4SLdJbZ5RIa7/x0m2OXHTDNSrlGOMYKqdxA/GCsHUfhE8CHFMMPpI+GkN0bY9nrsVZzxp56CtpZCtcMwd+BpIlQ9ydkEC+hxsjxB+ekyMNaxped0AkIopRKmS1KjHN0mgMpASveOjFsmiobnAY9na7AKycMWf1hCDmcCLZVLaGFnwzf2Iu9nj0NsyfYbwOHB57VjvVn312EGS87vjpGbvSZguTA2pXOw3zwBkiwglfxArkZUKguE0hXgLK0CxStT8n5MKKNZLGwJ89ddndcc6OKNH4BuUlkGWo2QeCyBbkTD6Pm54reHFATUeCbCWAejFmp4FuLudRArrrTZwMwYkcxxzDAa9Nr/XHtfF7uDi3sDeJSfxGm4b7fk9mfKdOfxMF0SiqmiBwxvMY/hsRzt60wrJwv/FOy7Z4AiKAELo6SrPIhpaMiKArngycwQpJqg3FQSkTy/NFggtKiJU4C7/qp4L6VXvS/Of3pWYzd9tpva867eALTifgK/n3dO/Ot3xLq0+m8MM/7tG3sPBiuX1gNULcIHTL+RtqnrkSe+HzE2hfDDN3v9oD+w2984e5158XjR7l+e0Uf0ie70/pb7LzOspS5j+NPaU7l1+waw8LXw/daxs+WwMOXLfZiP8Ve+kjwdKtz0q8lb3p+GzzRqEcKiAKrKy9Dot5IiRcGk5cr3M9veJXlvvN6f13ttyOScMcGAz5SI6DLYLP3A5MZnwazMq5+btdhewwUmzPAqHOQHT+HEqDqNY3Vd8EZz9aG6z2UWsFKlExVdND4TvV8AbhCjh+auWts7FPTBCrSKcngGjRIQqew/6R1GBUgUQdv81Y2LicKAR6/VZI3oi3n6yVIMo0kU0VB+U7J03c9Wk7iseOUQRwkndFQhBOY9LAAWcy8qAqo0+fq63K3MqGr5/MtIBEAspf7sL2awxPP85Z480xB3yqLxNYKvUA/cHMMDbKApUmTkB+senksVTvs5CxjJaWPjxhd7J/XKsKdj5eRcfz4w9lu3uPjMxfPK3d/aWBTV22LbhsypX7pNkkxrFYrhdKN+aQsK4GQCNUOYCJzcOFxpGYxJ3+4nswtzPpHiNoFQBsGvC8tw5EHCGCZVRLe577YPu81Te7b1VcFw8V5cNbT6GxO/U7hTvgyvkEwSBpwxVbYHLBP64XDUycNJ1IEBXkpFw4wpMlOaGB4qB0917Hp1qoMGVnRc35MaCGSNCm+Ng3q1A7uwLRvaCtH62qg8BTgHRJGTqz+b7sx/vI2uTd/UDVeMuSny0PrIS3Ptb5xqZioZHRdzIk0bcoh7jClfhRsyvH3CKekOkDCbeq+DjsQCRvX6+YeH1AHLJ7ApHHfiBR/hfcJqACapOUC5DegMJUxtRYbTT9nlXuuTc+8JWvylwGxMguKIQTK+zpQjhxYfQ9mG5cx+azVYqc8wdxrtGICHqN96f5xeFLDHVXNKQHAPPN+tu6D9v8p7q6i62q5L8ODu7u7uTnA5SHB3d3cI7u7uTpDgkkDwgx0guEOQA8GDO/T7fqOqxl/VXTc9uvumx5j7Zl/sq71krmc+a3JwMUqpD/XF8hA4oDkJq9IdTXSrrdxbynyZGuthMbdAajBXVAIo6OdCPHfhBMfRkkUL6gpqMZMM3Zlbw8gl4KxkKgGeM0f7kIwDhtO3nee46HaiY/qURptdT0whlu6gOBfz2Wv4WUR0uLM4cRm3+Dzz2KEBqPgL9ayH5gXE+QaS0B/JkwB/2aPp2bEphvHPKy/9dzhocCkBZF/8NdM4KihOU87JTfvnLu/eU6rbRRv+PpN92quhNtV93n+RzzmVnoSTwRD/ANC4Un2yfUg5BRHnnMSSf3mX25YKnr2kWEnkJRxaXiFl2ng/RhcSd72TGPwAtLDpvm69uxq/GPbXLzmpnzoW4/5UeBcKHif8dE/XFP75XVxEI7N0Bqfx6G/13GUtatzL6Ge1sIXA6/U/8svwkm9jEOSC9/+aZ6QQVC6nHMso9IgQHigyGfmF/7OyQLIAwRA/2D/9wqTuVNj7BA535PnvDzZmKfUTFAWmasuS8f34hka6M2hcVpdEC72n8WyTMX+kneXUwvlIj/lvQIcuAn2w+m5OlqgljV7J+1iefTWHzmR7M4WHnCW92rRTUywa7zwK/QXijLJU20INlwJQ4s+iezRgVIDye/K7MJL17y6D3Q33KZ1Us83w9bQT9JssXVVrZXTYGq01WsuhZnsXZ7dEUVotrNSWbKCcKA7KJA1MiLKjm04m/g0amjPdxlpg0M7npq3zkJKVp8CX4IL1x1B3767jdoZUNp0NXd6meku/CEYafSGFsdMA9SRIo2oza66SEDVn+bIwUQpEg7OrqzDAagbYW33HjFOjYQ85t45uk2NcdbJGA3fLhRBNrP6g5K5MlaFvIaAuXCsmwcfFAVASmlqmNSmzxLFUSMcxka0VKmosX0ShpGszAdGn+/ffyXdMD59eNvoag7fXhzPSwV/XCp6wthO/D/0uWhZKvd8xt8aSp81hVFyWMbpuqF1ND0f7pzv1QyB9yVnTDjNnPj+m6QPzSv/MNJYJ+mOhArVilNREyELDM9FVwjG6TXnG2nwU2eQifD1BJcc/tlkmorFaaxqQDlqOAsom7teDDE/WFKe5+dAYRvM2ZWoY2VceHx/vgu5L99qZ/7j7uvAjjJ8i4kZfjFuvD1xUkU3x0rD1LBUIlUvU0iP+wLRT1QLvqYUqVhMXH8ACJRRwq7DWTpbihW39+eOuxsaxvfLi7lg9je+jhVNQIUQs+WnVNqH9a79zjCzTi6Y7hiTZuI4Rl0E7m7qo7ahcQu3JMrXmbDV98N/x/hfxU2GoGSeAEB4r1BwxlDN+CHGIclUSU9ZVrYHy3wOyk75vjhtL+pbe6UFNWLOt8MRvnVO3eFL1wbdar3U9N2dQmR+AExZth1Jt1+34kiwB8S+h3CVvsg6N8CXeRuQNGGkslsHNfDsPu4j1FNpuAc3iMo1JzwMrITuR1BG0BhqZJK//RM4wSWrJ8Klf8MoL28tR/koqy8pr5DuF4fB9/5rrjuhyb9g/ZE3284R1ifjO0+f3Im+dGph85YuXxkIt12iThDoh2LISExv12Kmv5qjIqwf6okzujqRRmIPmj7ryxjb25HOIA4gJLBKyi6H2r7+2MZ6Zg5VYn+4/AJMht6dfOxi2FNSs9TEi+x7M5KRGGQT2X78IEdnJqGEgK5sXcgUDTUp9BSvCvOwxRxaZ3RElcJRd6RSQhISGWK+HSR00MomfvIZPMxkAbkcNn7GWD/8Cb679bXwnOI41soE9qOH6LH4uyVH2P/W0yB66Ulb3uDyk7KMzcYjxmFQgYXaDOvCXb8Wzpp1fQ+YDJ/jJVo0BY9/1HrjNrdactVCzmR7CL86iYBMoLaxbGeqchAOR7dVKmSvRuKpXygYhUR1QBrnrf/YQGIZIUoH7oKZWG5ATCHYxSJ12hoQuy/wxhEBWc3NF32h0sfr2sBYTzqvhrDbiUGj8IDkaZi7PkutW9fOlEqwBfyfEQQ66CbflNGKCNe6qOsz8b6HivHzcsuuEPANUV8/5mXvtKzpnLgRWT6BZ0deUWQ/WFlWyGzTeDRdpDjXEIZqf9W4nxPEFohTgAT+mj1Lpi88jUAYiRCY8s7dwT7IQLO/CWccVySy0qaJW5Azw/lKksIDpMZS/eWAjP98j2NVaqmOlphawI6FNJ9n3rNbnkfkntXzji6tOi0VbgnIWtdZTMqFHFLMWKSW2lAcSYFpwXw56khGa0wIRJnDDi3hApWfUE3jL3uiwKNDDzwr8vd1HVUFlQDeeDJ2ZgF1sPGTOrMnI2BYn2AJrnQtIpG5u3O4s3z1N1yNgDJBN9EGLmmhvKF1dD0dpwcwEMbA5UfC08FfAFpYJZJlt8frou+NxR5Fjbmbsc8Smxw58FxCmlsHGyPZoEhvMBYXkeYxUdeIlXgXJ3nsKZ/3INSNZpcGqhqAnXzAAUkmrJCbkCnfk5WIjVrqZsBjVqjWar5F4iE0snyTHjRpdrKbEfr4tmo3M9SuGO/7k1akMlsHB42sSdZ7MoWa9QxwULKjtrvKEHBBXH4qy0cVRL1S0dJ94+Uafys54NoSMzSAOq9vSqXA1PLUwTY4fUhtUce5U+E3SnzI5xHZXM0pSeVJPxI8fNEoCRU00e9li9yICV33RLReRL88NrVZ60ActqqebCiZbLnriNdJsTDMkLeOtPSWkDZGFRgezmX9lShBsHSuk4xG5eH8Cy5MJbXLD2ZNqduRufiu1X4/QAVMskQ28IlMhDf9NDEttjuYec8+9pcecqTHmNrNw92v4gu1jY+OziOnjn1GnoL+hkYqCcOFek6toIoKkUR8/lL3lAXlING412p4O8/U1hVzbmkdW52q2z4mLjaNXx1qwj/Ltn2UqizvtWUeTD0HTw0SioJahDyKNGvllbPzpenrocq25Nly57Hhr7xo7fjN+L3hdJHlZyXuQRk6w8oax7/hbebxYP71+leeu6YabrRiVfS46ls44Jdy8epUNvUjl5aHQQ51ALBmnzcCkKJ9qT8krxHNVtIgwzkHK3e3Io2OUfrjl4ORhr8iwYtR78t2RiJlccqTGTTJha1uHhGoUfcJgpHkZupz9DzWFD1i1Ux03vZJ1Ue6Me+g6XW5kisq1ZVnieX79OnpSAntRnyafW5euBRJqE4ngzxAxDVDmpKRwi5Q63ysdSANaIy6Sp+kj0Gll7mvWKZeWpZcJhyN4zFBeKyMq0+4pIybwVkDjoBDKQEVSd5y7Pi7+ucO3iyiO9cgo0dtYS5aO44c6dpk09x6gH3DmFsgsMiKjm6s0UfRRTuUUzURKVCHRLXRYvMp+nCpvzjZcl0RHqeVT/XM1pcCwKW8CCwwfOYrg/8wxqEvVHYscnjaJlGAdDVlhBECtyLVvhu5lcUdcWE9rrO5J2hohsSryf22oE9Z9MhkLCjoPekB0kukgZTDmX/rOPd/p89odqa5smWMuL7KNwpjBpkWSOYaTLqBAUXbt28/HTX83Wc7BTTOewslqsvUVkTZtgaYsJ/t90krZqSwdWg1BhiY5WZiW3xPlL/nQlw2ZSfqNtQH2ME0vAelAlpYH6ndrOO/nb617otZDoC/JxA0jLv7D1GaFckPmckYVygaopYNZZPOwkpw/YjvSUI3plCv7kTr5qCZRsIL1RrivFev97oyvHxJ863n22YDLQv+KHKEdaSpus23TLZP5TdEn1gbviJws2lX04Yn/IaeEo1cDgty8U78wfu2U0N1I8KEF+aPwbIxK1wq9Fl/WrJyeX5293nV/AEj8qFxa/iF51YRoW3gbB3ptBpwHBmbZkNUSdq9sZHDQXxPtcCiCI7DWT8YWm1VbmOnuz5wLDTzymfKf7yN7ruEmZqBC2e2FfOhHOMZ9cIQasN0K103ERlPQXCYqVE3MXPQjD/Rz97pvFyGJKNBbdB4eKo5QzTdxa+IRgqr/vZuk+A9rbXpZvnnUtHtYhJd526v5Kqmm91L5AYB0rHDUv8W+jU2fGn6dIPhf32BQeuA8Ql9irMFY93viGAwT/9/io+fPL6/BpucPz6f5auY94+/E6t+CQl2K8fiwYjP2k0qm55Y1Ehlh/ecsuHGergj+SdyZkDCeBr37GJlBxnDkW2trxPIE9nuAc8ocRlFay1HS/nLHFE6UjuKoXxePvAYj92/hQwsk5WgyOhQ/F85s+/hxsPtNDp5bbvkBT41oAiDzlJ2D8S7BPmCTatzpkxOhQW8t+v6+D4R9aiHDYgErz204kBXbLHQorjvu84MUXJDBq0aGGOlRjvW8ZYPiWKlRwyrvnkiAjvvEOPv3c8UuN3Ec7GwikqlptD0181k9n4AoGXlqXPjbh46tTSLCLbScMRL0D4BZuSFJSqIF80Ho3rCzYSDb1dsHoOn2W14UeM+fmAJvHFMIRbkTSzC5dcoCOxsvSrBVYZ+b/uDizDUJZSHWitXZ20knz4NOFlG2uPAajHZpbvAzPyJhp2us7fA+4CWgr/hlp8N2t5fMKhAm5n5MzPzNcTkIin74MYNe6SrSxTJ9i2G2VXGumQFy5atYJy9dlRbNy/UkkmARo7dgrrDMrAwqQ8zpYdRzh2A5Bts+4cRfFZT6V4gzBwBTWMSaeyxVPC16YqfdUo+IMpTiBQPapydHMDnsIoyQr0mby4z4cS2Y/6SGbY1aBngLtjGqlVlELNWLQoBZpA5ZzFrEPJmMav7hnPuzgoOow6qCg7HDKpxSRNGIUoSRLNsPaJF+SJAN6uuXxjVDZggrB/GIJqp8VhzodDZcuE9wEDLalMA7iWjyK1+KTvUsWSWqJ4pmWCompvW1wpA01h1uU9lVWtGleZO8jdjjF2k5ri6KOMjxJ2NR9oFBIC4w5lGCvPlfBZme7m0O/GHQFwIdvyYSf+dLtCiDh2bnQGPb6pTPxrynsVtfbLJ4C0dTPa9r3kqL+etUeePn66foOnLg6BwsE5g0fKndzlyJU0+y7M10wn5lxaICnDKpUF3v0u1Jst3nwNpdv5YjSOkMvEXcFAWQccOJW8yN5q2+hD2tSSxsAvFzcMZZCc+ux3kjFtpa+6eKL6r6uNgFDHDjf9sKCZx2cRogpRdp44e1yHlJJhQSkGLL5CGL3pGm/s5iwYuTkNHwsgdOQKu1mPUSSGW2ZQOGoiVU4H9tvf2Td1JSJkLym/EdPd2tPV387QzqWtaqPOTpx2gZcvMcA+Px4L7KdBCnR+Jo1itUlmfSi7bADiUzwgN0MJ0D1sdig6V3SfP/dJKvHhJEVwmhg53/fglNKCf2WJK8ybRvhOKJznIewVcp2CjBEOOdoUfBhl4coW2whR/glE9XUBxlUr3/l5u8rpQ2ftJx8ZSM9bOf+rWAB8ezDLJmZYuquEd8YSKqs5ngobmLR0jomxBnijM1zEKVIDJjGp7qD12IxWs1Pb/xfXorvixu7FjqmGj3dX3AZ6rTC1DOl472GrvMKta4nWk9ap3yIVaw4M14wTaHN2bJV7ZYB2/BSDRYP8VW0UzA0vAeLlUyaSO8qvzZeKAueGvK/x4GDeFiUl5DTeHsob7KsrvHjSY2SmH4QfyjY8JVq5o3TjlYNCAhsop7pfvGPJiPHWmKky/i9w4023ITzS0LrlAVF0qPHloM9U8BUhIoJct7Nw/f6ctph0GLSUR8fpED2Vq88F2CMA1PKRotIwFRcLf/45PVE9LzB8D3vdy8seBXmcxqHImjA2/j+fSxZplEGLJHOrVUHJWEahYxb92APlJ6NWXrhGph+oA6HQAuGxBKhdaS+l9HG+FjfeglV5pp/2Rd97eKqbsyiG3Mr+MPAJ4Q9nP/CsW6aL8BuRozpf/DE4k/0sun3hATzsV+LYmby2v+a5z7EL/3XvNSEH5nz67SQcp+zllYxAfAwuAU12H9KIoj/VOyaSs8xlucY2nGs0Ym0ZD3f5ttpn3yqzvBFHYNNjRGfB4Y/9T9WqYZ8l8LRK3Ecd+TsxfNKQzl+/51FPyY1n92KzLjLZ2OodbYt1/DdT1mi+7STAhbNKm2+oyDU0eTPxM/8TN1H9f/xq5p+aqLQfhJfhXCgKsvrunENUwlziwIx/8onwNx3avi9o6bVagN16bTUqzLrFZTw1AtE/qNJY/pT78qm69YFSubrx6GicoqBYgIRL7/quORMHcT24lsSTdt5Hdg19QGtpJn9vJbedrQzFtF8pwv8I/+GjFOfUwKIUxDroLihKgPUS90H9uyXFfElqswTjgS2ow6+j58Ef8AWPf9nPX+4dv3ZjL10ASKskHtSlIX5N9vqEorZZs5wi9bgmV3pYsv91TT16Vs28Ru6Smlsh9NZUmHycw2G1Br0pM12+n4bHVUxVBQmzEx7SQ8jDKJqMQ5AC0Pv9oLCMv9G0q7SZ8uBxzvvpC2mLmBh24IxIKPlCE7zFSDlZh5Mfo8Lwm+kHGXS7aO/7sMr1B6il+2wXTUjbPOC+cfAytfLIelm2ukghaqp4Jkj0VuFl4auklJlgknqOMvlYWCS96of8SsU7uvxaRROldcBowA99SQ+4M2bYj9QYhyxHYjNKiETVzIe32X/ozjvXKXOgy/Yl1p1jDQv8t6rzvzuiZ0wv3u+NMKzbj/jJ0SbZ0z7n6+qzURd6QqxRdNx+qpln9xQWOtI4XRjf3oOXX3Ith9zLrYJ5Qu7ym3PYl1oeOUUgs8J4vrlocd/cbpW7mPVNmESjeomZCs6eXKK/CdAOm4bm/nHLrp8SAm0vmizlkg80pOcHp1xjX6ekQs2zvhWkZ7G0cg6md1D3j2KmZETqCHr441Ld0diour69ZbIVm5p08C0WCzinnxeBGXkPa+f6zt5oVlhfhzRQHbuLhvsuPPJssupM3zm7e7Nb/wAEEnaHbJA0yI0Ph8AoNaOAOGPXE4itphO41YYHj2PTzuZ255Hx9dFOOzGjn66Q1X6LF6ohDiHeVDbgsjnM8ejlNhefKosvj1WBdgjuYRtrjBDLKKOlF76ibUFKdRZWVkygm0iE3IDNIl1BgGMXH/6AWM82D+Fg6y5zIcSrLKJEcVvW7a9WsPtwi98GfeANbSbQiBO2MbrHE7kyWXVbwWnZWzqsUYnlJEd3sBDJgvUO2uy+hojUzHOM+clQ8A8kBNbOSKk2U0xUwptyFuP2DkXOp0Vjaw2FiHPfCIsTSYoxVa04jhwa3l4Q9u/ZQ1JHAvMWzauRbcIfI+O/XqUFAkUSREYjrpszt0n2Lgyd8ni1k9pF6ozR5rK5CYhqcTN0lBn9tbGpAsPOBercq0izJEZKfJKnWYFiUNrC4jlcqxMGZV0rPR1nn7U/ek6Xm0CsP0AVjU+brwhCda/QGYnQa8Z96zvDIvhQv7ffe7t43rywP/YGhdC4QFF9roMY0hSFvkcp1SKqbB4RZQWh6fRUszeJVYitoF4Cl8BiUmNUyfK5IpainVf82a1EwSllJB8V/6z1yn77/NdWj2r577uuoptIw9mcpw2JUe76bzE5IPrwoDxQu/ho6btwqVocdID72kHLUcl/vUcSXabRYXrJsiWavNe/4wNBwCeepgH8LbutGRWJSOchd9u7p6+hni29n48hpfrBlydBgaAgzEe8dzPKESwy1MLOFKwEm75wAStzy1wocfzqjFHXqF5JbFx7njB2vjWwWvEC7QNIRmT9WRAAnsYXg8spYpO5KZFLCiI3kXakIuHh/vn/vam8Q+ABTkFx+AgpWT0mGK/3kYxXz9UjJ3NI5vs2GcDs71NfeCyPFNrXXRWyuk+bMb5u/xZB+Ckzh9c9eyZcYIBoXgQqvAtmLEc96NrVUTWwlyCI70DsRzfNQ3HNfM/iofgJJ8qDemM91H7dKSi/iCD8DWf6Zaqh+AF+8l05TqRtu8FlERUQvSmohraihhCU9y4QKLtTY31B65prjZfRd3fWQN1a6bWMH7GGvrdD+2fco5wC/TET0HWkGkvX16d5aKy/Xz3FZYAiqrnm3/QlskgzM7rzAnvCSZZKpkM7S0x5vecjGsEH/abFGb5YuewETrzAER0W+uqoUHdjjsugK8hCaX4gWQItj1xMGvPUVVGkQ2bFnszi5+XERxJAxuowhoyizUoAuqfDystXY3O1PDV4ZcDyhmsTLQRDGJkTrdtYozxWQ/WkDalImwg/mMiovaZgeiVA878yoik934OGd4dsGxPFc3bgO0S/6gDkdXFXvMODT1OO/dFA27e0zVifGotHPWn1MIC87Png2o77tojTGwoxVmxqRFXXtCk+1xU90ZBtKYU0BCiwbVZBiMTCn+oAI2F1opQFYfJkqibJQm0bYJTVMsBSGZUe72emZmT+NukUf1mM5oJfKwakvfIFZlvVxtWCQ1k5QnULDFsFuOZH2la2GGO1l5YpJk6aAwQXgcmK8oJmKQN9LzrlfWIpwBcEgnmQl2c+MiYkaFsiHXMMeFUQbImclQrt8XdZpkk3ts5WQnBRfygjISqTGLTDo/62hRMt//vYeKGvOUfimNZH/4u1m9IOmK9mqJcRM4Bcrx0jk65nnRigm650dKMBuppZOOFlpp07FCzf6bKF6xgacCUT/UYyXTG92U7e7itaZ9oF8GpGXbd313q/clM3I8Z2Ak+iXIoldut8Lu5EgaHZhqzYzftq9sToJRiDtz40/Mf8SDRfi3OY1vjCiVyi0oxOMGsL1Ny3aJjvbz06QgKDDKQ+YSy5pxuJKFZl/R8pbaHSeQ+riI5tpvIT06J7sj6qHbxUJ2QpWVAZsGp5Z9QC13QTNXv3xTSbW9RN+LAqXNTEVr1Emwi7yjkAEPIrAKmWeKTLxWpPL67s/sxqV0C9L6reF1POMXZFS7mHSsxs0XBoNiaWnA/H4HdXvU4mFjd5+ikzXqDjrhae/inVDrj0VNFYtNacdP6mnknYYQ0wH1PHiNkwQNqTOk0xsVzsBRnURMrTaVyhxXapMz7fXHNHv1bryQCLbz7VHC3bjdAq6kvatH9B99UNO809Mkmn+tlNd8qZpLvCaoThCd1Q5mESw8VL/qBWp9lfl9ls+e6Hyg8P4j/D2H8WeOIjF/QchkhPVWZsoPqCmcvU48iywLJ94q6EjgOoNqAinxxlQ+RCsBh9iR8SzzMZOlh905JyhDv+NCyP0DsPssznZ1hix51/uOQvzp8ryZCOPB6/ODaf/05bn+cLriJNo/9PYfnsQJh60ogRVdaB/ejMJYPuiYOIxKdgYAQHVHi6xSdYwGGnTWQyzjkvwhU+gDLeRBGQe1jFyFzwuPXmP4wi2laZQGdVWGOAvAynkfIh7k+5rqJdmnZaH6hXl2ie0q5Hkg9GLCB8Am4e/+mC5ZY6PU8rlbdMU4WmUmHtFQcJK4zPQF81mh4mIjvHR6jdY+IUosgju7VWgGVgKh+BBTZAmAFXPiAwBw65tsmimTuIy+VTLbJiTrDeOdpGt+2YtNaGGW9ETSW2GfAv6+qsG/gt+ZcZc5CYCOCgQsUZKdkYxH2lZu5B/NDwgoIyTuWuB4L2/WsQ+Z39lAfY4t+DJOtjsfZ67r1p/LpTdAzF+vL7RzXxRNDR3cUdR49kZ++aWfoH9lY+Xs8vzbvtgETUsmhCX9U+vYfLFvRWrV+RwK0DPT31JgnBFyVMM63FsO5pkERH5ihaGIGcIyGUx9/QBUPRTEorgnH9rP7sTDHk+LqfwmqoeeJI29buDyhxvTtGq1amKW07cgkm1rF1yd2oTz671RYnQnKOHDcPA2B3cmZayQboXr1ArKUH0AgKsgSwS5P5wbo+7cPePEmPx9GW7PA1VVBiOHBivdaHiNwRttNWpFFh54lWrAzK9xTFLWitOs17gMolC8GeOiLagVioL/ELLEf+8ZYMpBGQl0XL7aawHZhJN/jNBf5b5O0lHKWXreGmiBt6iS+7oK3DYX0c+Sj7P5hWg4JdDAyh1MB8i7GLE/tpf74GHv+kD0H4Aov4WTd5IXwQ3tk/Wfmcn0/Ja0LVa1B8j+DcgKQUwzjmjLxzgy8qSf1QI+VzI7cWNRJQPzzEzcpAxoDy32qOywqbGTpxnYubhvfeSdnKXA65szq4VMJAaplc6uQChCTnqpKCF7DQbEaaLoWNpUdetIOVQb5MEOEBfyQ98QptDFHl1BtooUPxcWW1WJ3d+8S54ij2whYgPahK2sMsYefqY0waJA3HiWDByBTjqSuBVEQjrWK30okHFd3xZMsmQeB7EVqkAqvWA98/AB4QeAZv8JJtPAHiWLv9YuVe6ADVkua7Rxrk8N4I6MU4iyvnJGncwMqVU1ryRWr/iHC3d9e30vqenqP3wIevsh1cUShHWsy3JOEaTPlmdDt7qc3cw3yq9JXCah9QsxA0AlMZqqr/WERiTHmAzJhk1qhcH51ErfcmyB3d2jim6SS7gW/Mn08D7YMPCHT9fC2X3A++QTAaUJLSHCzuLUJSpzdDdnyU/fqZHw7in4YT3CnZovoNay1dYzOnx5yygz6CHMBhTtgvuUSpqsQsaTQx90l5EXd9TPx8iGm1e3dxGkKvDb8u5+22ZP/jP0cSylk81gtmoOznzEjegRWq06/SgGbpGIBQj491bTtMsnHudsfbeNC7coZJjPlYDTNE/WZyEzvYvo/Y4RBBHBt2nOgihJh5FCSf5dtLe3orfibzUvzrc7G+f3PpfGaTFX8J9n14Sxov6OkEumc2crpFInDFFheUmb3L/f9+peZ1TT/7vTTFXRls3Tw8jBptOnfcq4KLvcWaZOH99tiT2lSf3GMMGhL/wT1vEr5wIy17TMjMVsNjclJknIIaNlhIW87uM6xAduyG2Ddo0Z352SILPUmoV1pLSvBJ+U/PgzLta+7u74+llMcYlBMESlU4QWP8lHylfGO5bLE1ad2GJgOrnsK17GkXE0v0ohaSiu9RQtd0WB4RIDRvRv31jGI+z8vIc6GhLWFLs2SfANWWpRO8q84dDZZpYC9eNP5l4rBjEtBmJ6Lx8q7IUEqNlr3x6rnKE0mB+GIqJ7C/v7a0DUXeH/ce2ugrrmq6ROXZ9sL6pTCHtGn8vE+lp2cyLVC6ZMNaeQkaNgt+p+EsrajgmWAvEOzTwhLgZto9h4VlWDRF/WpOh2zpxcnodtGSmMWnLHB2C8DiLwHmyHcFvTYrqrEzFOxvABYKvu+WJ6Jn8h7mqwpc0gyHicsYEuINCY4urjyu/YHlVBPmDr5JabjRQ4kb4isMb7FGUkZn5t3XZmnJDO1drOKSzMqkq/8xOvSTVcTmLcWVUxHu0HGUKqENIrVFfEWVjr8gfg2cJRz1LnxhAuXrKomd1lCF4MWdDEakSIBQ9dBpbKkwSRm5TvhFogtQsJSNmN1MBBXogroJc+eVE8YqyOz30YwV/1Bfe1LMyglGqVDVEjkhkdmQ/5WnWYWitALZeFQQhI7R3mz4RLrBLKk57ZY68IxoxnM0gNH0NlujMUc8O65r86vw+xfe/90n9yt0TZn6Y56fr6+guj5gOQH4h3+vpc77pweffQYec8NtNQO6/CsOysZsxI73AcfsVqg/7EopBpZ7hTqYiTZBUXCOQJx0PSTwoy2LXRwPc1MFRQh3MDtY4lSsoGl5lUqKxFuMzoLKgwTDI4XrCv6B40x1VekK+RG6Zd2wBdpba/m8AczPwpjsFLkCmeFWbeHiOCUSrI74yJuo7hOzaak1/9WVMjX1vvxd15tN9ItdWbWGFG2fMmfRBIYhXHIo2MGpfUSgxPoM9DjTcLRmuEyZGGDNvrk/HRxtFU7EvvV0CDukZQGY3yMx9qxMQ4NvjaA93Ft8iQtWFyPwA1eEmuPZaIU5Ckv0wo9DIwAfy+dU5kT4+VLQx+i6XV11Ya+Csr97agHu4uz3yp5+2TIhSMRTeoBbKWgLAOdbaN7btfggsX5GyPZwIRZa1WC12WNrPKyer1qgzz/GbJtGFNgvMXPUbaSWHbUr/3qbhI2lpzr9Sv1RSgp0RBVzWYEHkFbvquHkZHs4lGEF7qX9g7cBpirIl5YpUePlQ3uSKzVhpBDqXBMVxenLD1Vxy5A8etgl/MAQ7211cV/3ARBsdDzWJz1lmUoLG8z0QTpBaefk5JlGnfucU683YFK6Be97RptbTHTeb/RC6hubIBU3+0Nxis9lBX+H49v3k+f2W7NTy+fFs5t5OCrIRtyUIaI+Nol6c4QdPyREOzSKuPPEC62XBnFUtQOEeGJTKGi3z6buwiIxcQF9mY8KDB1kgiaUo/ldXP1RsZ8e/dYl17obEsppl+gyz7L4d0OHkSElArktAVUxPjj4TwLoTAveOtfFo6enOjnkHLoT+iSXFLhQ8cmKukVIc9og2mFsoxy5eNiLsRmnG3CcIK10SxjRbr3KTPUMjRNCYWgb6EB2nNszukc3T6Ia+cowaqbsqm7zzmNSHN35Knbwuu78J2CidB3UNIHZyR1YgjPKRc6dTOStMyLOvHF/vQk+zNQv7sOc0NcElXB9yZ9ikt2apnHZxSDbMEvF5Pnvz3e1mNFBT+7VHMI5y4jt1l7ve/N+EI3frodt/11n/FCkBZINmwGhXCk7hhGoNK5xMIvTBoe8ucbZl6mnvH2rgrbehSUn8vJbpbKUepCE7hglbqWzvY1PH5UPBr+QZHhtJNpFkCDY6Z0uJgzNmTq7vaWrs6XypqVmLWTJlIXCn8imS3UBYScSjtspxgG25PsVrBqi5CIvX8KNY+rADkHti/OqpGpdkQGY6kARVvf2zQkWyaW/fkYYSXnbOqbHoL8Al+Qt3YF2SfDJ1TqB9/gPrEwv8z2zR634a0qL1LWR2R9iV5pTcKZwaoRsLAxWgZ9SypqthOvcxmPEjsHLlrcNWYe5xDaKEHjVVhlsQToHhIXKaYo3b4+HzxO6Arjjbvygzs9iVd/JvR9UX3IKNR+5xfENX2BFaVKzAPGXZijlqmMDN2rpK2fUKDTlkPSTWP2wNa/98qZMaYjgxAYW2ObB0CwA92gQ5e7RHAq9tfYludvFF/kEIQvbKhRBKEVqdKU0esz6YIaVknLxSjyKGNiHO+Amk084HhQRvEhfMpADSErfkIvAvT7mYwqbpzZAmK8pyo+B4R85gQ+Y9DmgIwXQGDZUEdqwyuw5BSKzaD229WudHUilIsBxKys6I1Zk8absKFihp994mJwzV393yE3LsAmywkV6ty5wnCnwZZmsusU6xoR6QB/P5gZ+77URqx7iXmRMt0TqFWJcshvd+GPCcyLt+QSH24trbwll2k3ZQues/5xZSEw78XEshZH8/8MBqCY1HNA9pM/PyUka6fYKmRXcqsBq2djvNLiFqtJV1i/Ybcw8vOsIT96tbJFZ4hXfSn3eYFRkf3tNQo/Nge9hNqIMYRfGQ0qi29ky9ui6UqXXoAkrgBj9X44Zw02RL8KQySuaprBQOS95Cxs4HDKZqEy5iD3PTANZL9QuZBBGJR/DWYT6MZF8CsF7bum8rZthFgzbA6vNDJaO3JhWUBbUlWCGu8RIRDWnQXbPtWFKb4Nzlxn8D5c/jkHJtV+qE+bhbJe7CvuRv1cVZpLFQSl3qDhMdiDYtMB6Rq3p6NFoYqSEcb05NmXhalyVj8dZqPXW27PqVhzyFyCFGZxI7qklHWPZTe4HhznY6lQDt6kKyBqkrHD2AbWxZLH2qG0Xy3UAWT2/v7dlt5H33AO5u+Via33LLgukFwh4mhYFfb6u+m3m66ralXqHY0bWyxJVgRj8IjgWuaCIa4FbobDL5MrwHV3n6pW1ekSxehsrGyspFq2b17utvVVzA0yC/AzCwbnFubCwjXoJJIzVhm1/NnGmdcSATA1aeofEZhJ7U63ZhxXmU8gQ0saWlUkOZ2wcxg149qUWTW/CH/94ldcVqt0HVGFWluitu9sToMqRX26s9S5IERGslCjaU7wYJ/TZCpEJ8NE/Iwv6+Tek3Hr0NFsDeKkScJk9in9M5HR4otw0EsAZgEojj0fJFeBfoKBT77fDLLJNWZxK9O2hIN5j3/05FCsUN4YaNXmSs75PIedC4HOxtQWkBmqx/Gs+j0FCybs6upd1p+GH3gispsWJbrycjV3VWuE6nrHMQsl6YUb9norexsk+VGTGb86/RksjDuzfQ/YsdGDOZvb0K9RGcImHLnuPWW18XkxcqePYRDn8ith9g1df8s4PpSkPG4ax1cv4iE7Y9Jb5uQ0lUxqK5GhSoYznUQlq7wHfVEiTiXMuJhir7svB/+dy3kJ4ojjTcTzgMlHTJfTwV+Ry1C68a/8puQ+B1zVo8VHwj7NOs3IGxRIDBGizFFtRk0bIRZDfztwJXbSM2HwKqc5j4xECdh3rj+r+NTwVFjk5/GE60gpOsDoPAf5WRtPHp8scYFpx74pVQSboSCMCyTn9YCkSPkCJESvwEfK375MhB6n5W6r9ExUewy0K6+0uCPT7n9fevJdR6Rx103BqJlkA6EmYrxF32a8LDFdMPMN8TUPHfiuL7BUe4qtmMMziWmNMLCKgTSUnhSyjs6pv/aQYb0at0hkgn0s1VHfjGzotiMVqsfvsP/y9Nm9N3K2WXi+1rWX2W6Mcyhak5FrUDB75/3FbLLA7/IUjr6p/yUaLlXUmtU04IywDtXZW2UxVbQZFX9U2mTn1h7vztWFeLFK5/agNNlSFbIF7YHFYla8CmNZEij4RtT7gTtt2YkUaak3t+qfztFrBwsgV9VHqzXBtBVWWbomqYZN+JJcrZ0Bvog/4tLlT9BUOdahkwHiqjzSDwW9QTrKj+JvUW3qLaUl6sGSq2/g4VyZg2cVZ3qcmRW8gGrv68Q9QAvd7WbRyufr+If0PNJf+YjaJre2jdpfJ34AGsNxTCC5gVmP0DeRrdT1yq61MvW18FE8Y/R+uav4gAG+LtK8jQL6Rnl0gwkXrPS0J/cAWl+TwdRljqipJnnFqs1srQCpUP+LZAyRHp0ZBfK1AL8A42mZA5hLbdXWAYzUayeoQ4CsrkRDAXjpeTBT2v6o55T82t0wwjTXShJggntw+ibjrRr8tprShpX3KOypvN4PxTd1k3vZzxRveQdyVvhVQqt/26gjqLyB8eFLqY+du1b1g2nkX+SpBjj8b2+3zDJbSjqFvzG9/1b7wz7TP4uqwLXsjm0L5KTx3EcY6XKOfZI22qEMDVrWjnzJpXR3+iuvrcdiqEsqM2AO8qrnP6DFpAGxMO7TVAYMTPa3DlOZwnJ6PeJ84AajuQ14jJRcg2UUQ2YKasDNQp1zd8cKX5XxYK31SEocOP2/vXnztLpq0m/NXRm1f8OCGm+pgF8MSlGtMcl9230nfux2LIjrTzY1FoiQJvrKvvMetcYib3GXb5tdXqjPORRc6lt2XEXJ7nfz/d1jVEt03NksAL9DQtO3I4FYF1JLmVd/d+SgnvErcnq9paTPYPgVNgBei9m3j0CVjEkok4RsDaF0URWUNsCAxF3QiofElpf8uNVTrVo9pg7WNO9RQNcPB1P26QRq6iysBkGpbXcd07MizGRbAzIkMtmcw2QC4NiwfkqOpj1J5J82wOPqmf4+gChpiTq1Qkbhnz/Ba17TSBiqvcpWHJypT9bHxIzD5dpk4HFfIEHbxScSdO7wKpYbSRXrUwdwfh6OnFJHcjeaFG4//2FQ1zhx7yTk7uPcW6HlCLyfCTwF2WofJGBOZt1gyoVZkPn+DP3IkOLVSFWOvQABVq9TmNAFUsOs1qHxxICi16LPqhOp9EgQyYgCqhFSoOmVnojR5MiOBe7oIwHJoykMtLdeBYYLSFyh2Lg5hmLTuGuA0aiVXWXLYkSajbPhcKGQ5j9enFVEyJd0/WWyFvMj+oF8cXUYyjciULGBPcqEhOTw5SCZlOSOP2QM4PDfFEcVSkdgxVSZm4TsFfo7GIp03gMxoxs9JzZY5MueCL2/xZ6RxPmDXvA3pAJRZ1STFf90k1NbIlaJ6P1TxSKtIr8lc7CYWUQpR2pnSI+Gg9a/40EWhXoSMQzhKkxLTCRRj5g0e/g4DpzAa6KBc1w24o6XeKAZye5RaO5W7zMr7SAkhjj2IPdM3kRFMESq5Jg/tS6xNokwr1NQ0J8fHDLt9rvlY9NS9t8nSKm2x3c4scpV8vjkkezM6sdSjfgrGQStlAFQo0elljB8aWeTxVmqVQ5ncSIzw++3PqFJLpvk0IkwiOs5z8lj7+CXIik87eoXRUUh+Qxs6xYc68byvwA2xHke0S3WUyTcBbTfXEGr3F5uVQtvje4wpgKIEkbNEmqFrr/JCF0seD+uauboPefHwCBzuXW+/uX4E/yR+9Turz/WgT8X2K/K8T1YePq/o3gPvD8tOMTXuPrlxCCu8APAJ3nf89t7hu3QUHBpt6XDoeZGAtXV08hYuJi/Vvr/5tP/p8RFNx/+dihTZOfnCuK0V+R5cRfSYS3/PZTD8/lMvYL7PIZW9FWTIjgnGoB0UItNxq/mwDI7prVusqObClxCkzjqqSzLrfkGLDfNTb35Hz5sHH9YseZuW4MXD1nnkrJ5bFzZ/2GcQDCuK9umUgLnyAnQeWdTx8vd/2jokuRK0dAqFgqSZco9L21njNiIbMdiMNI+y3QLkeksMD9j6EmPPZqTJ0Jsz0SLFaEp7s8JEgNCDv6ZMXHxfeTjVkRypn9HqlcJdGaM4HULGQ70g2VF97R/Ps6Ul1v1J63nqeTO6wvPSgcLwa0rYXPvwaGghio078cjC3YvKRRxvXhuTLKJfVZF2wlUKJdwz9ER+AKkBXVMJHRiQR+ZeiHsFGp3fUIUmZkNfXSdXQIiTDBOmHkuyGaorqyVr+2Z3H50DGSXfXIThppE/MgJBaQLBD3SvLlmy5n1OcBOu1A146vNyaVMYRZxGd5sUnkJiN7mFGOzEE+iYXwQWVYrsxDBFFFYV1sgkZwfg3tc0UHBA5JpjvnTFv0lRf5bW2PtnyJB5+8PqdIV0/Tz+Srr9IlyilcLYSNM7S4A+hzPJHSQOuzLCAKztLt+wY+0g3SPNJCfRPDFV5RXjad5bP5w8RbdOdkBVzCtEDPeDzr9DriA2A8H3d7PJBJypqOULEq1Dr2X6++S/arFf6H1Zf6DJINjfIcflGeJq3VP5sdgmfceKVuMvbIc18pfZon1Qr3kll1mkMpd55W0J4CN27mWwaWZsqbTDskOqtri3eUWyPFaumwCcWHK5xn0Jixqllpq5xR4z2KguVtneXUrTOzSB08RtRhsw08wnF/t/g0B/fc/TigBchsdOZLYmYkmigY0RvcpJlQ6VJSYUq5x7WA5OWFoffR4EBmANHSZX0b6NF7TPSeyOho3K8Tv382bpO2/sHG4x3vKTAyyoyFfUa3H+amOx6q1EH7YXyEXJKztlDZE96NYnDQ0p2KT1LcNQcTuMr9Eiskux8hDsfIhX/rULk0aF8M9LtmhaSoKY1YT3H+ihy3HL7xak7hLMfgrK+1YWSAEg7Dc18T2gY8fGG5LjeKmqa2hV+KM8Jko+1gXC5X02h3WMgnQa1YYKK0wfanh7/HssnkApi/u8kGBpzeqTEB/4Hv+2VKimv9hkSVyGtQsPDryVKlRBbw7kSzXCpOaHKZVcfdPr1SIbeFtAyYhYAIm1oYLsGjKjgX2poAiOaCpeo7oyjP2nUanrgkfYQ/iQWLTHz9pcsrxYtMk5w3RU7B0RwLB/IDRvP3N2XV9vD/jdxgsBEYMI/EZQcVK6DGNFwu9Q1XU9HZuwXF5d5LLnEklgrsNvDROAMtmmGDMY1veAviiNHkLaUApL9Xy359Yw32oGTvMttk3QLOfrIU3rrGvl7hP9FJld6H6SrExWGLGf+GY1hijihJOyq4T0oTDoUUFT5AOEBaeqIfQTb1bofUvagbYf89Wsh3w8Ion4EkQnjM7YgyVzL1SwhTPzw3HNK2CPlq3Q4F5pzgF2cNGFhgpUdc4DEwY/s4U2/koccXzfS+Jk2FeF5udEZEvX3VFY1ZIhEdOl6hajzHyvsYlXks2xGdJeXL2oTGZ96CyPmpFFlSMGcLQBLuzIwjoMKlyyAYJjr9mPBXn0e2TRwARUhYuao4mYdk32rylVk0hr4bBXqMNIrL8WqNDKxwex63KXvIhBZpmq442Vbi6ekR6G50cf27Z21tWn+qsIh0qbhvdNAhA94hKiGHhXMJmMXIa8F5h5DPo8KpSxSOebldKZKSzOgbk6Hf4/7FcLhplkuLXUYA3CZTy0z9aEgRORV+hK4ippO56EAaq+qcFU1H+Jm6gEPJvNY5iY22QplVRNP9CQQhCaKlK8j2yaAcq9DxgI59pxucyt59dZv3uzSjocx9JQIi6BtUgnKdCwqPvvEQIaszCUYmD1BOYZJxPvuWv4zh7N1gUu4s9SC+trfKcviGd0IgSkuQ2ENsd7FecPBEalJgc2WlGGBDXEiAbzKzLo1LlnS/gZ3SGcfeKakIZkRXxab4qpJxxmw8W75dJGBdDz8ju+qsUwkRpGqbaTz7Obplr4od0UCHkqypSFw6LfdcSFRSrSf10YBAO6317DNtGpd0xbfrY6VWfEKwftayPM0XT1EkQ309fczig4uz37W+LfZz/zq6tujvn0HHUg7DBcKKl4I1G8bMMqyKlbiyUR30j9GeN5rcIzHign6l/LJ9Mj/eoRSBhsC/xd38ltuHI+h+IfxEFkn5ZKIyevIzblrZmHKGxPIHhzO9waekqxf+HwOFWdgilcbc403TbXm7jXKbaQS2CoUGJLgyv0UYafdIWoXgYDOmjOzjTsy/v6Dw77ydzG7AZ9U93au3Ci1LnMPHVanWbUvh+x79bbbIRbGgHRCyjD9UyFPXcwTyjhKWqWwsMFCWoUrCOQ4Oy1P88VvcX4FzBGaOO6dLLLrIz8zENuT6+E17Xs9/Bw/Q1Ulhb2mMJLDVkDV/j1/m8zLBB7lnI76EDzJpVf0P/93/p/GvgPhfO9+d0ypGasvUGezuy4NR5jGxyKHaNY+JulApsvCR6vKxpyqKdDUFFVtFbn5IkmelPc6qYmr7QTZShpK9HDF/uwIeYgfdXEKwsLjvD1O0wLxj8FeentxpzhSdYlaJ1H3lx/loUL7zhDpOqlA8ARdKAAcleR5ufhb1Fz2cpq2UNF/VwoBwzf39/auH0kEOpj3SxgibptUNXkv9Q7pxZXqjmlo5hbifQ9bOFjeojAIGgzRSm4eFbai0v9Ld4xoUt/UiFUAkJncr3j+WhxyaOs4Tpf6K5QwK1gjLAvDEIxcydlGxN3iKG37gBjyerFgBSS3ZVwDSFsWWJxvGmrEALuGhRICsw6hzidwsmX6saorBWOoNerliFpxEahudx0+XUSQMXhgsaVKD4IMcqlhKTTcTCMPURAaUQK4kUyhLpjlVzs7c48+U3cvz7bf3+GCT7dmpjauggA8A2cmqCMfczqQOJdfoMPz339MNyWmW8JvZRELw3OPIiMzbVHEgjuy4xJF0RrJeEw2d3vR38+WuSOqWciiBcPD56CX1M9hhw5aNfs0PxQODZ572lIt0cBslhFYaaTsplaYxBTNqWzcCzPOrElkUNlcqzIdKyhMVg3X/bCLHnbuefdRfk9aSb/DTfHgXharV31FJbUvMImt+dVJPF+Gx1cPlfSfvmEP/pD8xjqv2CljBqxE3GJM/RaEtLF7jXRQV1ZHo5rp+OtEr5fJVQpMgMmXQO+SMmxrGSmHG73L1VpZKleIjajEIj2Zjgh4cX4OCTJfOaxxfRAIuz7r274MDkH4k3VF4WuMhAzpdQTLaNgvKfGIHqaJM3FjhvAuqeDnxpok7sCfG0W4N+ujheoqysOnIrK2a6XoiGE/qm6cfgNOCf5qLdf93CgeAveSnncnkI9MPgNHOi83C7N8XUxy6E9XDE31vX68dxVbDBsU/tl/OLUnhUJuRm2FR0CjNH4tiGfHu8T4AO6lr3BsJzRcVIBLkX65AJM5CT54pfJnW1Al//E1O7LaOLJpE28QwWInSfqmXYgtLw9/f1Edo5AIctyfTkD6VswjaMGspfo3mGdvdjCjgYTdUo/M3ZDs4y6+1DZBYPGA6+2pXChQdTroZ8UpaG58jO2RSsy1wfyrmQ0gZ3eOdSmhw7GqR+3nUe30Ib0QS6XFv68elppa9EM/VMEvdk9uuwygpB4sFrxslrUVZSympit3kfOau2yxCiIHpjfe21f9pOvDhzuSt8TnwRcy4z6cmZO65nyB45e75xefu+TKgxNn3OO3Q0DxJqpS4oQJxDF+P3KrCgp4r0UQDg9O48fhX24qItdkjmzmhbcX+kriepFnKP8UdsIHgsCJjYZHs6LdlPM+lqPPXeJ/sFJZ/olequYFqDd5ssk4VbxKTzaMXYZca3B8P8i/7+2SB+v5iur//enlyv9hlNwa/meeB7kjShLa8Jg3PGXhrOTGTl5rl9w19rVEhGkW0fcKK0elIxJV2ABEZJlGPAR02fqV5403qvFauyI1n1CalcPsulk8Kh7akK34ML/NGe/HQ/lhJ2iySXQXF1tLbKoYdyQxJhx9+GA8h/DAesjnKHO014NM/+1ZSf/wsVty0vY7seQWZ26nxQwTVXdzMkArgUNd8147crw4vbvkJldLISlfkkU3t4sMemIEq0/4DTbhrrLvQeI4oujx4DCWe7GWjFQk60uJPkC/5vp6XKcWABZr9GnVqrSGKkQkTsa0CSRSLJuqXLGb66uzb+77XylgNTAlRqW5Jx38CvDMTuTFGm/7KUF2wZZzwhPeeHlzTPTN6OqJXWZNYA23GXqfsM/2NgJUADmwvQl6lnbKSSB9qxTY+De+HDgeG0xfvvSy5Y9C7b8DE7tSEsQD/KSEAcvCE0k5iLtvHM4JTZeC4pn5RBwDrKKd0JK2gBvvUmUlIXdIQV2g0LGAtaRk35isGnSInWJUyv3RFfbWyNycsvL0hnDR0KRq9Wz1YhhLBfAfvZe8rDK0CM6RjoCsmTP5cw3BLaWDz8Q2SWxmg6T4iQutB65shAgCRAACbWSgUWqNZJBXGP0/HDz2qjsaNjj6djpDv/x+42aN/Sjnu+/H2aefyQffTp+mrnf3b10k1/0tWB9WvtvUlQUcN+U/57DWT38OsE7mSudkWjTJQeetL/COdDw+f5Ejdo56KOaCi8znv/2nVK7YDFy6H+eWJDhX8ngcb99Qtoa1Lraeu9GAsNZ85mxT9hjQx2TgbTG8SsM0yuTN9dLQH6t/6qrkz8WZTvar+xl47ZJB0BFvjQB27FLZavhA1A5XkvKcwxYTEIPrUym5LelItndBt2tTdAyRIZJNX2bb6IbQi0TuvWSUfgBrbnQ8AuF58PrwN/IU2iIM33z/hitwyA7A3BD0eOLuGJKQYieXXZE+Q1JhSTIPgeog8qaqhG73cjQz4ABSZRER5TbvFwHExZ58TmwUaFLbj8xmtcDqxbnbUlKK9sGjNMU6xp/3ObdiIhUzMtVW6alBtltG0quEW9mxXIYS5++IV2u+GyPMQ2clVyBZiwzZjvupAgVw8CgDlmpiY6AZ3pB4ZxOQTSILmfKtThPXTRtbRHcCKpAdNQyVDnACdbLnle59KuifGAuK5GldXORUQ1WZlbTo+0AryCKJ6RGaEukKUOt/U7QuRyiT9JwavTh/vHu7eVTdf/t//Qf5/C4yPtf8DUvQX2gplbmRzdHJlYW0KZW5kb2JqCjI2IDAgb2JqIDw8L0NvbG9yU3BhY2VbL0lDQ0Jhc2VkIDcgMCBSXS9OYW1lL0ltMi9TdWJ0eXBlL0ltYWdlL0hlaWdodCA2ODIvRmlsdGVyL0ZsYXRlRGVjb2RlL1R5cGUvWE9iamVjdC9XaWR0aCAzNjYvTGVuZ3RoIDI0MDAvQml0c1BlckNvbXBvbmVudCA4Pj5zdHJlYW0KeJzt2jFOW1kUgOGdIMRCkqwC1mB2gFcQNhAWYPpM7961a9du3Vp0mSPRRBpAnvkVSx6+T7dAfu9Zt/p1zzO/fgEAXIbj8bgDPqXD4RDrsV6v7xeLm6vrWcuHpWVZn3B9+/J1CnB3e/u8Wv3bqmy323l8vmT+KDkC/h/mcPL042mS8tfPnyc+MvdPRubBP7ox4OK8vLzMnDJnjJlZPr5zJprJyH6/P8/GgIszMXn8/vjBDTMEzelFRoCP3d3ebjab967OXHP6EAR8WrvdbmLy5qUZfOZAMnPQmbcEXKIpyZu/yMyHy4fl+fcDXKKZX55Xq9M/B/in984eUxIvSYAT7XY7JQEiJQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQG6D0ryvFqdfz/AJdput2+WZApzv1icfz/AJZqDx5tTzPF4vLm6fnl5Of+WgItzd3s7x5I3Lz39eJp15v0AF2ez2UxJ3rt6OBy+ffk6Y845twRcnAnFeweSV5OauWe/359tS8BluV8sThleXmPycXCAT+j1d5nT34FMRmYIWj4spyrewQLThMfvj3PG+A//dTYZeX325urasqzPvOZcsV6vj8fjn8gUAAAAAAC/+xt439y+CmVuZHN0cmVhbQplbmRvYmoKNSAwIG9iajw8L0NvbG9yU3BhY2U8PC9EZWZhdWx0UkdCIDYgMCBSL0lDQzEzIDggMCBSPj4vUHJvY1NldFsvUERGL0ltYWdlQi9JbWFnZUMvVGV4dF0vRm9udDw8L0YzIDEwIDAgUi9GMjYgMTEgMCBSL0YyNCAxNyAwIFI+Pi9YT2JqZWN0PDwvSW0zIDIzIDAgUi9JbTQgMjQgMCBSL0ltMSAyNSAwIFIvSW0yIDI2IDAgUj4+Pj4KZW5kb2JqCjMgMCBvYmo8PC9Db250ZW50cyA0IDAgUi9CbGVlZEJveFswIDAgNjEyIDc5Ml0vVHlwZS9QYWdlL1Jlc291cmNlcyA1IDAgUi9Dcm9wQm94WzAgMCA2MTIgNzkyXS9QYXJlbnQgMSAwIFIvTWVkaWFCb3hbMCAwIDYxMiA3OTJdL1RyaW1Cb3hbMCAwIDYxMiA3OTJdPj4KZW5kb2JqCjEgMCBvYmo8PC9LaWRzWzMgMCBSXS9UeXBlL1BhZ2VzL0NvdW50IDE+PgplbmRvYmoKMjcgMCBvYmo8PC9UeXBlL0NhdGFsb2cvUGFnZXMgMSAwIFI+PgplbmRvYmoKMjggMCBvYmo8PC9Nb2REYXRlKEQ6MjAxOTAxMzAyMjQxMTBaKS9DcmVhdGlvbkRhdGUoRDoyMDE5MDEzMDIyNDExMFopL1Byb2R1Y2VyKGlUZXh0IDEuNCBcKGJ5IGxvd2FnaWUuY29tXCkpPj4KZW5kb2JqCnhyZWYKMCAyOQowMDAwMDAwMDAwIDY1NTM1IGYgCjAwMDAwNjU1NjkgMDAwMDAgbiAKMDAwMDAwMDAwMCA2NTUzNiBuIAowMDAwMDY1NDEwIDAwMDAwIG4gCjAwMDAwMDAwMTUgMDAwMDAgbiAKMDAwMDA2NTIxNyAwMDAwMCBuIAowMDAwMDA1OTcxIDAwMDAwIG4gCjAwMDAwMDMzMDcgMDAwMDAgbiAKMDAwMDAwNjgzMiAwMDAwMCBuIAowMDAwMDA2MDAzIDAwMDAwIG4gCjAwMDAwMDY4NjQgMDAwMDAgbiAKMDAwMDAxMjAwNSAwMDAwMCBuIAowMDAwMDA2OTU3IDAwMDAwIG4gCjAwMDAwMTE1OTggMDAwMDAgbiAKMDAwMDAxMTM3OSAwMDAwMCBuIAowMDAwMDA3NDgyIDAwMDAwIG4gCjAwMDAwMTEyODYgMDAwMDAgbiAKMDAwMDAxNzU5NCAwMDAwMCBuIAowMDAwMDEyMTQzIDAwMDAwIG4gCjAwMDAwMTcxNjAgMDAwMDAgbiAKMDAwMDAxNjkzOCAwMDAwMCBuIAowMDAwMDEyNjk4IDAwMDAwIG4gCjAwMDAwMTY4NDEgMDAwMDAgbiAKMDAwMDAxNzczNSAwMDAwMCBuIAowMDAwMDIzMDE2IDAwMDAwIG4gCjAwMDAwMjk3NzUgMDAwMDAgbiAKMDAwMDA2MjY0NCAwMDAwMCBuIAowMDAwMDY1NjE5IDAwMDAwIG4gCjAwMDAwNjU2NjQgMDAwMDAgbiAKdHJhaWxlcgo8PC9JbmZvIDI4IDAgUi9JRCBbPGIxMjZlODIwMDdjNzZhNmUxNTFlNzQ0Zjg2MjBmNDJmPjw1YmZlYjU4YTM5MjllZmRiZmQ2ZjU5MWM2MGIwNjc0MD5dL1Jvb3QgMjcgMCBSL1NpemUgMjk+PgpzdGFydHhyZWYKNjU3ODIKJSVFT0YK", - "contentType": "application/pdf" + "nextToken": "NEBxNEBxNEBxNR==" }, - { - "purchaseOrderNumber": "VvgCDdBjR", - "content": "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MSAxMjkyIDk3NF0vSXRhbGljQW5nbGUgMC9Bc2NlbnQgOTc0L0NJRFNldCAyMiAwIFI+PgplbmRvYmoKMTkgMCBvYmo8PC9EVyAwL1N1YnR5cGUvQ0lERm9udFR5cGUyL0NJRFN5c3RlbUluZm88PC9TdXBwbGVtZW50IDAvUmVnaXN0cnkoQWRvYmUpL09yZGVyaW5nKFVDUyk+Pi9UeXBlL0ZvbnQvQmFzZUZvbnQvRUFBQUFBK0FtYXpvbkVtYmVyLVJlZ3VsYXIvRm9udERlc2NyaXB0b3IgMjAgMCBSL1dbMFs1MDAgMjYyIDM5MCA2OTAgNDgxIDc2OSA1OTIgNjAwIDYwNCA1NzAgNjQwIDc3NyAzODMgNTA5IDI0OCAyNzggNTI5IDg5MyAzNzMgMjU1IDQ2MSA1NzQgNTgwIDUyNyAyODUgNTg2IDg0MCA0MzIgNTg2IDU4NiA1ODYgNTg2IDU4NiA1NzUgNjA3IDU5MCA1ODYgNzc3IDU4NiA1ODYgNTEwIDU5MiA1ODggNTgwIDM3MyA2MjEgNjEzIDUyNiAyNDggNzA2IDUyNCA1ODggMjQ4IDYwNCA2NDIgNTg2IDQ3MiA0NzZdXS9DSURUb0dJRE1hcC9JZGVudGl0eT4+CmVuZG9iagoxNyAwIG9iajw8L1N1YnR5cGUvVHlwZTAvVHlwZS9Gb250L0Jhc2VGb250L0VBQUFBQStBbWF6b25FbWJlci1SZWd1bGFyL0VuY29kaW5nL0lkZW50aXR5LUgvVG9Vbmljb2RlIDE4IDAgUi9EZXNjZW5kYW50Rm9udHNbMTkgMCBSXT4+CmVuZG9iagoyMyAwIG9iaiA8PC9Db2xvclNwYWNlWy9JQ0NCYXNlZCA3IDAgUl0vTmFtZS9JbTMvU3VidHlwZS9JbWFnZS9IZWlnaHQgMTYwL0ZpbHRlci9GbGF0ZURlY29kZS9UeXBlL1hPYmplY3QvV2lkdGggMzc2L0xlbmd0aCA1MTA4L0JpdHNQZXJDb21wb25lbnQgOD4+c3RyZWFtCnic7Z2/rhxFGsUnu9JKKzmzLDkgsmQ5cWRZkDhBSEROECIjQIjQgYHwBrCklhaILQE5knmAEd4HMJcXwDyB7xv0np6zc/abquqenp4/1dM+P5VGM9PV1VXVX53+qrqrummMMcYYY4wxxhhjjDHG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WrvdbmLy5qUZfOZAMnPQmbcEXKIpyZu/yMyHy4fl+fcDXKKZX55Xq9M/B/in984eUxIvSYAT7XY7JQEiJQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQG6D0ryvFqdfz/AJdput2+WZApzv1icfz/AJZqDx5tTzPF4vLm6fnl5Of+WgItzd3s7x5I3Lz39eJp15v0AF2ez2UxJ3rt6OBy+ffk6Y845twRcnAnFeweSV5OauWe/359tS8BluV8sThleXmPycXCAT+j1d5nT34FMRmYIWj4spyrewQLThMfvj3PG+A//dTYZeX325urasqzPvOZcsV6vj8fjn8gUAAAAAAC/+xt439y+CmVuZHN0cmVhbQplbmRvYmoKNSAwIG9iajw8L0NvbG9yU3BhY2U8PC9EZWZhdWx0UkdCIDYgMCBSL0lDQzEzIDggMCBSPj4vUHJvY1NldFsvUERGL0ltYWdlQi9JbWFnZUMvVGV4dF0vRm9udDw8L0YzIDEwIDAgUi9GMjYgMTEgMCBSL0YyNCAxNyAwIFI+Pi9YT2JqZWN0PDwvSW0zIDIzIDAgUi9JbTQgMjQgMCBSL0ltMSAyNSAwIFIvSW0yIDI2IDAgUj4+Pj4KZW5kb2JqCjMgMCBvYmo8PC9Db250ZW50cyA0IDAgUi9CbGVlZEJveFswIDAgNjEyIDc5Ml0vVHlwZS9QYWdlL1Jlc291cmNlcyA1IDAgUi9Dcm9wQm94WzAgMCA2MTIgNzkyXS9QYXJlbnQgMSAwIFIvTWVkaWFCb3hbMCAwIDYxMiA3OTJdL1RyaW1Cb3hbMCAwIDYxMiA3OTJdPj4KZW5kb2JqCjEgMCBvYmo8PC9LaWRzWzMgMCBSXS9UeXBlL1BhZ2VzL0NvdW50IDE+PgplbmRvYmoKMjcgMCBvYmo8PC9UeXBlL0NhdGFsb2cvUGFnZXMgMSAwIFI+PgplbmRvYmoKMjggMCBvYmo8PC9Nb2REYXRlKEQ6MjAxOTAxMzAyMjQxMTBaKS9DcmVhdGlvbkRhdGUoRDoyMDE5MDEzMDIyNDExMFopL1Byb2R1Y2VyKGlUZXh0IDEuNCBcKGJ5IGxvd2FnaWUuY29tXCkpPj4KZW5kb2JqCnhyZWYKMCAyOQowMDAwMDAwMDAwIDY1NTM1IGYgCjAwMDAwNjU1NjkgMDAwMDAgbiAKMDAwMDAwMDAwMCA2NTUzNiBuIAowMDAwMDY1NDEwIDAwMDAwIG4gCjAwMDAwMDAwMTUgMDAwMDAgbiAKMDAwMDA2NTIxNyAwMDAwMCBuIAowMDAwMDA1OTcxIDAwMDAwIG4gCjAwMDAwMDMzMDcgMDAwMDAgbiAKMDAwMDAwNjgzMiAwMDAwMCBuIAowMDAwMDA2MDAzIDAwMDAwIG4gCjAwMDAwMDY4NjQgMDAwMDAgbiAKMDAwMDAxMjAwNSAwMDAwMCBuIAowMDAwMDA2OTU3IDAwMDAwIG4gCjAwMDAwMTE1OTggMDAwMDAgbiAKMDAwMDAxMTM3OSAwMDAwMCBuIAowMDAwMDA3NDgyIDAwMDAwIG4gCjAwMDAwMTEyODYgMDAwMDAgbiAKMDAwMDAxNzU5NCAwMDAwMCBuIAowMDAwMDEyMTQzIDAwMDAwIG4gCjAwMDAwMTcxNjAgMDAwMDAgbiAKMDAwMDAxNjkzOCAwMDAwMCBuIAowMDAwMDEyNjk4IDAwMDAwIG4gCjAwMDAwMTY4NDEgMDAwMDAgbiAKMDAwMDAxNzczNSAwMDAwMCBuIAowMDAwMDIzMDE2IDAwMDAwIG4gCjAwMDAwMjk3NzUgMDAwMDAgbiAKMDAwMDA2MjY0NCAwMDAwMCBuIAowMDAwMDY1NjE5IDAwMDAwIG4gCjAwMDAwNjU2NjQgMDAwMDAgbiAKdHJhaWxlcgo8PC9JbmZvIDI4IDAgUi9JRCBbPGIxMjZlODIwMDdjNzZhNmUxNTFlNzQ0Zjg2MjBmNDJmPjw1YmZlYjU4YTM5MjllZmRiZmQ2ZjU5MWM2MGIwNjc0MD5dL1Jvb3QgMjcgMCBSL1NpemUgMjk+PgpzdGFydHhyZWYKNjU3ODIKJSVFT0YK", - "contentType": "application/pdf" - } - ] + "packingSlips": [ + { + "purchaseOrderNumber": "UvgABdBjQ", + "content": "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MSAxMjkyIDk3NF0vSXRhbGljQW5nbGUgMC9Bc2NlbnQgOTc0L0NJRFNldCAyMiAwIFI+PgplbmRvYmoKMTkgMCBvYmo8PC9EVyAwL1N1YnR5cGUvQ0lERm9udFR5cGUyL0NJRFN5c3RlbUluZm88PC9TdXBwbGVtZW50IDAvUmVnaXN0cnkoQWRvYmUpL09yZGVyaW5nKFVDUyk+Pi9UeXBlL0ZvbnQvQmFzZUZvbnQvRUFBQUFBK0FtYXpvbkVtYmVyLVJlZ3VsYXIvRm9udERlc2NyaXB0b3IgMjAgMCBSL1dbMFs1MDAgMjYyIDM5MCA2OTAgNDgxIDc2OSA1OTIgNjAwIDYwNCA1NzAgNjQwIDc3NyAzODMgNTA5IDI0OCAyNzggNTI5IDg5MyAzNzMgMjU1IDQ2MSA1NzQgNTgwIDUyNyAyODUgNTg2IDg0MCA0MzIgNTg2IDU4NiA1ODYgNTg2IDU4NiA1NzUgNjA3IDU5MCA1ODYgNzc3IDU4NiA1ODYgNTEwIDU5MiA1ODggNTgwIDM3MyA2MjEgNjEzIDUyNiAyNDggNzA2IDUyNCA1ODggMjQ4IDYwNCA2NDIgNTg2IDQ3MiA0NzZdXS9DSURUb0dJRE1hcC9JZGVudGl0eT4+CmVuZG9iagoxNyAwIG9iajw8L1N1YnR5cGUvVHlwZTAvVHlwZS9Gb250L0Jhc2VGb250L0VBQUFBQStBbWF6b25FbWJlci1SZWd1bGFyL0VuY29kaW5nL0lkZW50aXR5LUgvVG9Vbmljb2RlIDE4IDAgUi9EZXNjZW5kYW50Rm9udHNbMTkgMCBSXT4+CmVuZG9iagoyMyAwIG9iaiA8PC9Db2xvclNwYWNlWy9JQ0NCYXNlZCA3IDAgUl0vTmFtZS9JbTMvU3VidHlwZS9JbWFnZS9IZWlnaHQgMTYwL0ZpbHRlci9GbGF0ZURlY29kZS9UeXBlL1hPYmplY3QvV2lkdGggMzc2L0xlbmd0aCA1MTA4L0JpdHNQZXJDb21wb25lbnQgOD4+c3RyZWFtCnic7Z2/rhxFGsUnu9JKKzmzLDkgsmQ5cWRZkDhBSEROECIjQIjQgYHwBrCklhaILQE5knmAEd4HMJcXwDyB7xv0np6zc/abquqenp4/1dM+P5VGM9PV1VXVX53+qrqrummMMcYYY4wxxhhjjDHG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WrvdbmLy5qUZfOZAMnPQmbcEXKIpyZu/yMyHy4fl+fcDXKKZX55Xq9M/B/in984eUxIvSYAT7XY7JQEiJQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQG6D0ryvFqdfz/AJdput2+WZApzv1icfz/AJZqDx5tTzPF4vLm6fnl5Of+WgItzd3s7x5I3Lz39eJp15v0AF2ez2UxJ3rt6OBy+ffk6Y845twRcnAnFeweSV5OauWe/359tS8BluV8sThleXmPycXCAT+j1d5nT34FMRmYIWj4spyrewQLThMfvj3PG+A//dTYZeX325urasqzPvOZcsV6vj8fjn8gUAAAAAAC/+xt439y+CmVuZHN0cmVhbQplbmRvYmoKNSAwIG9iajw8L0NvbG9yU3BhY2U8PC9EZWZhdWx0UkdCIDYgMCBSL0lDQzEzIDggMCBSPj4vUHJvY1NldFsvUERGL0ltYWdlQi9JbWFnZUMvVGV4dF0vRm9udDw8L0YzIDEwIDAgUi9GMjYgMTEgMCBSL0YyNCAxNyAwIFI+Pi9YT2JqZWN0PDwvSW0zIDIzIDAgUi9JbTQgMjQgMCBSL0ltMSAyNSAwIFIvSW0yIDI2IDAgUj4+Pj4KZW5kb2JqCjMgMCBvYmo8PC9Db250ZW50cyA0IDAgUi9CbGVlZEJveFswIDAgNjEyIDc5Ml0vVHlwZS9QYWdlL1Jlc291cmNlcyA1IDAgUi9Dcm9wQm94WzAgMCA2MTIgNzkyXS9QYXJlbnQgMSAwIFIvTWVkaWFCb3hbMCAwIDYxMiA3OTJdL1RyaW1Cb3hbMCAwIDYxMiA3OTJdPj4KZW5kb2JqCjEgMCBvYmo8PC9LaWRzWzMgMCBSXS9UeXBlL1BhZ2VzL0NvdW50IDE+PgplbmRvYmoKMjcgMCBvYmo8PC9UeXBlL0NhdGFsb2cvUGFnZXMgMSAwIFI+PgplbmRvYmoKMjggMCBvYmo8PC9Nb2REYXRlKEQ6MjAxOTAxMzAyMjQxMTBaKS9DcmVhdGlvbkRhdGUoRDoyMDE5MDEzMDIyNDExMFopL1Byb2R1Y2VyKGlUZXh0IDEuNCBcKGJ5IGxvd2FnaWUuY29tXCkpPj4KZW5kb2JqCnhyZWYKMCAyOQowMDAwMDAwMDAwIDY1NTM1IGYgCjAwMDAwNjU1NjkgMDAwMDAgbiAKMDAwMDAwMDAwMCA2NTUzNiBuIAowMDAwMDY1NDEwIDAwMDAwIG4gCjAwMDAwMDAwMTUgMDAwMDAgbiAKMDAwMDA2NTIxNyAwMDAwMCBuIAowMDAwMDA1OTcxIDAwMDAwIG4gCjAwMDAwMDMzMDcgMDAwMDAgbiAKMDAwMDAwNjgzMiAwMDAwMCBuIAowMDAwMDA2MDAzIDAwMDAwIG4gCjAwMDAwMDY4NjQgMDAwMDAgbiAKMDAwMDAxMjAwNSAwMDAwMCBuIAowMDAwMDA2OTU3IDAwMDAwIG4gCjAwMDAwMTE1OTggMDAwMDAgbiAKMDAwMDAxMTM3OSAwMDAwMCBuIAowMDAwMDA3NDgyIDAwMDAwIG4gCjAwMDAwMTEyODYgMDAwMDAgbiAKMDAwMDAxNzU5NCAwMDAwMCBuIAowMDAwMDEyMTQzIDAwMDAwIG4gCjAwMDAwMTcxNjAgMDAwMDAgbiAKMDAwMDAxNjkzOCAwMDAwMCBuIAowMDAwMDEyNjk4IDAwMDAwIG4gCjAwMDAwMTY4NDEgMDAwMDAgbiAKMDAwMDAxNzczNSAwMDAwMCBuIAowMDAwMDIzMDE2IDAwMDAwIG4gCjAwMDAwMjk3NzUgMDAwMDAgbiAKMDAwMDA2MjY0NCAwMDAwMCBuIAowMDAwMDY1NjE5IDAwMDAwIG4gCjAwMDAwNjU2NjQgMDAwMDAgbiAKdHJhaWxlcgo8PC9JbmZvIDI4IDAgUi9JRCBbPGIxMjZlODIwMDdjNzZhNmUxNTFlNzQ0Zjg2MjBmNDJmPjw1YmZlYjU4YTM5MjllZmRiZmQ2ZjU5MWM2MGIwNjc0MD5dL1Jvb3QgMjcgMCBSL1NpemUgMjk+PgpzdGFydHhyZWYKNjU3ODIKJSVFT0YK", + "contentType": "application/pdf" + }, + { + "purchaseOrderNumber": "VvgCDdBjR", + "content": "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MSAxMjkyIDk3NF0vSXRhbGljQW5nbGUgMC9Bc2NlbnQgOTc0L0NJRFNldCAyMiAwIFI+PgplbmRvYmoKMTkgMCBvYmo8PC9EVyAwL1N1YnR5cGUvQ0lERm9udFR5cGUyL0NJRFN5c3RlbUluZm88PC9TdXBwbGVtZW50IDAvUmVnaXN0cnkoQWRvYmUpL09yZGVyaW5nKFVDUyk+Pi9UeXBlL0ZvbnQvQmFzZUZvbnQvRUFBQUFBK0FtYXpvbkVtYmVyLVJlZ3VsYXIvRm9udERlc2NyaXB0b3IgMjAgMCBSL1dbMFs1MDAgMjYyIDM5MCA2OTAgNDgxIDc2OSA1OTIgNjAwIDYwNCA1NzAgNjQwIDc3NyAzODMgNTA5IDI0OCAyNzggNTI5IDg5MyAzNzMgMjU1IDQ2MSA1NzQgNTgwIDUyNyAyODUgNTg2IDg0MCA0MzIgNTg2IDU4NiA1ODYgNTg2IDU4NiA1NzUgNjA3IDU5MCA1ODYgNzc3IDU4NiA1ODYgNTEwIDU5MiA1ODggNTgwIDM3MyA2MjEgNjEzIDUyNiAyNDggNzA2IDUyNCA1ODggMjQ4IDYwNCA2NDIgNTg2IDQ3MiA0NzZdXS9DSURUb0dJRE1hcC9JZGVudGl0eT4+CmVuZG9iagoxNyAwIG9iajw8L1N1YnR5cGUvVHlwZTAvVHlwZS9Gb250L0Jhc2VGb250L0VBQUFBQStBbWF6b25FbWJlci1SZWd1bGFyL0VuY29kaW5nL0lkZW50aXR5LUgvVG9Vbmljb2RlIDE4IDAgUi9EZXNjZW5kYW50Rm9udHNbMTkgMCBSXT4+CmVuZG9iagoyMyAwIG9iaiA8PC9Db2xvclNwYWNlWy9JQ0NCYXNlZCA3IDAgUl0vTmFtZS9JbTMvU3VidHlwZS9JbWFnZS9IZWlnaHQgMTYwL0ZpbHRlci9GbGF0ZURlY29kZS9UeXBlL1hPYmplY3QvV2lkdGggMzc2L0xlbmd0aCA1MTA4L0JpdHNQZXJDb21wb25lbnQgOD4+c3RyZWFtCnic7Z2/rhxFGsUnu9JKKzmzLDkgsmQ5cWRZkDhBSEROECIjQIjQgYHwBrCklhaILQE5knmAEd4HMJcXwDyB7xv0np6zc/abquqenp4/1dM+P5VGM9PV1VXVX53+qrqrummMMcYYY4wxxhhjjDHG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WrvdbmLy5qUZfOZAMnPQmbcEXKIpyZu/yMyHy4fl+fcDXKKZX55Xq9M/B/in984eUxIvSYAT7XY7JQEiJQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQG6D0ryvFqdfz/AJdput2+WZApzv1icfz/AJZqDx5tTzPF4vLm6fnl5Of+WgItzd3s7x5I3Lz39eJp15v0AF2ez2UxJ3rt6OBy+ffk6Y845twRcnAnFeweSV5OauWe/359tS8BluV8sThleXmPycXCAT+j1d5nT34FMRmYIWj4spyrewQLThMfvj3PG+A//dTYZeX325urasqzPvOZcsV6vj8fjn8gUAAAAAAC/+xt439y+CmVuZHN0cmVhbQplbmRvYmoKNSAwIG9iajw8L0NvbG9yU3BhY2U8PC9EZWZhdWx0UkdCIDYgMCBSL0lDQzEzIDggMCBSPj4vUHJvY1NldFsvUERGL0ltYWdlQi9JbWFnZUMvVGV4dF0vRm9udDw8L0YzIDEwIDAgUi9GMjYgMTEgMCBSL0YyNCAxNyAwIFI+Pi9YT2JqZWN0PDwvSW0zIDIzIDAgUi9JbTQgMjQgMCBSL0ltMSAyNSAwIFIvSW0yIDI2IDAgUj4+Pj4KZW5kb2JqCjMgMCBvYmo8PC9Db250ZW50cyA0IDAgUi9CbGVlZEJveFswIDAgNjEyIDc5Ml0vVHlwZS9QYWdlL1Jlc291cmNlcyA1IDAgUi9Dcm9wQm94WzAgMCA2MTIgNzkyXS9QYXJlbnQgMSAwIFIvTWVkaWFCb3hbMCAwIDYxMiA3OTJdL1RyaW1Cb3hbMCAwIDYxMiA3OTJdPj4KZW5kb2JqCjEgMCBvYmo8PC9LaWRzWzMgMCBSXS9UeXBlL1BhZ2VzL0NvdW50IDE+PgplbmRvYmoKMjcgMCBvYmo8PC9UeXBlL0NhdGFsb2cvUGFnZXMgMSAwIFI+PgplbmRvYmoKMjggMCBvYmo8PC9Nb2REYXRlKEQ6MjAxOTAxMzAyMjQxMTBaKS9DcmVhdGlvbkRhdGUoRDoyMDE5MDEzMDIyNDExMFopL1Byb2R1Y2VyKGlUZXh0IDEuNCBcKGJ5IGxvd2FnaWUuY29tXCkpPj4KZW5kb2JqCnhyZWYKMCAyOQowMDAwMDAwMDAwIDY1NTM1IGYgCjAwMDAwNjU1NjkgMDAwMDAgbiAKMDAwMDAwMDAwMCA2NTUzNiBuIAowMDAwMDY1NDEwIDAwMDAwIG4gCjAwMDAwMDAwMTUgMDAwMDAgbiAKMDAwMDA2NTIxNyAwMDAwMCBuIAowMDAwMDA1OTcxIDAwMDAwIG4gCjAwMDAwMDMzMDcgMDAwMDAgbiAKMDAwMDAwNjgzMiAwMDAwMCBuIAowMDAwMDA2MDAzIDAwMDAwIG4gCjAwMDAwMDY4NjQgMDAwMDAgbiAKMDAwMDAxMjAwNSAwMDAwMCBuIAowMDAwMDA2OTU3IDAwMDAwIG4gCjAwMDAwMTE1OTggMDAwMDAgbiAKMDAwMDAxMTM3OSAwMDAwMCBuIAowMDAwMDA3NDgyIDAwMDAwIG4gCjAwMDAwMTEyODYgMDAwMDAgbiAKMDAwMDAxNzU5NCAwMDAwMCBuIAowMDAwMDEyMTQzIDAwMDAwIG4gCjAwMDAwMTcxNjAgMDAwMDAgbiAKMDAwMDAxNjkzOCAwMDAwMCBuIAowMDAwMDEyNjk4IDAwMDAwIG4gCjAwMDAwMTY4NDEgMDAwMDAgbiAKMDAwMDAxNzczNSAwMDAwMCBuIAowMDAwMDIzMDE2IDAwMDAwIG4gCjAwMDAwMjk3NzUgMDAwMDAgbiAKMDAwMDA2MjY0NCAwMDAwMCBuIAowMDAwMDY1NjE5IDAwMDAwIG4gCjAwMDAwNjU2NjQgMDAwMDAgbiAKdHJhaWxlcgo8PC9JbmZvIDI4IDAgUi9JRCBbPGIxMjZlODIwMDdjNzZhNmUxNTFlNzQ0Zjg2MjBmNDJmPjw1YmZlYjU4YTM5MjllZmRiZmQ2ZjU5MWM2MGIwNjc0MD5dL1Jvb3QgMjcgMCBSL1NpemUgMjk+PgpzdGFydHhyZWYKNjU3ODIKJSVFT0YK", + "contentType": "application/pdf" + } + ] + } } - } - }, - { - "request": { - "parameters": {} }, - "response": { - "payload": { - "pagination": { - "nextToken": "NEBxNEBxNEBxNR==" - }, - "packingSlips": [ - { - "purchaseOrderNumber": "mockpurchaseOrderNumber1", - "content": "Base 64 encoded string goes here", - "contentType": "application/pdf" + { + "request": { + "parameters": {} + }, + "response": { + "payload": { + "pagination": { + "nextToken": "NEBxNEBxNEBxNR==" }, - { - "purchaseOrderNumber": "mockpurchaseOrderNumber2", - "content": "Base 64 encoded string goes here", - "contentType": "application/pdf" - } - ] + "packingSlips": [ + { + "purchaseOrderNumber": "mockpurchaseOrderNumber1", + "content": "Base 64 encoded string goes here", + "contentType": "application/pdf" + }, + { + "purchaseOrderNumber": "mockpurchaseOrderNumber2", + "content": "Base 64 encoded string goes here", + "contentType": "application/pdf" + } + ] + } } } - } ] } }, @@ -2453,10 +2324,6 @@ "$ref": "#/definitions/GetPackingSlipListResponse" }, "headers": { - "x-amzn-RateLimit-Limit": { - "type": "string", - "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." - }, "x-amzn-RequestId": { "type": "string", "description": "Unique request reference identifier." @@ -2497,10 +2364,6 @@ "$ref": "#/definitions/GetPackingSlipListResponse" }, "headers": { - "x-amzn-RateLimit-Limit": { - "type": "string", - "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." - }, "x-amzn-RequestId": { "type": "string", "description": "Unique request reference identifier." @@ -2513,10 +2376,6 @@ "$ref": "#/definitions/GetPackingSlipListResponse" }, "headers": { - "x-amzn-RateLimit-Limit": { - "type": "string", - "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." - }, "x-amzn-RequestId": { "type": "string", "description": "Unique request reference identifier." @@ -2529,10 +2388,6 @@ "$ref": "#/definitions/GetPackingSlipListResponse" }, "headers": { - "x-amzn-RateLimit-Limit": { - "type": "string", - "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." - }, "x-amzn-RequestId": { "type": "string", "description": "Unique request reference identifier." @@ -2545,10 +2400,6 @@ "$ref": "#/definitions/GetPackingSlipListResponse" }, "headers": { - "x-amzn-RateLimit-Limit": { - "type": "string", - "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." - }, "x-amzn-RequestId": { "type": "string", "description": "Unique request reference identifier." @@ -2563,13 +2414,13 @@ "tags": [ "vendorShipping" ], - "description": "Returns a packing slip based on the purchaseOrderNumber that you specify.\n\n**Usage Plan:**\n\n| Rate (requests per second) | Burst |\n| ---- | ---- |\n| 10 | 10 |\n\nThe `x-amzn-RateLimit-Limit` response header returns the usage plan rate limits that were applied to the requested operation, when available. The table above indicates the default rate and burst values for this operation. Selling partners whose business demands require higher throughput may see higher rate and burst values than those shown here. For more information, see [Usage Plans and Rate Limits in the Selling Partner API](https://developer-docs.amazon.com/sp-api/docs/usage-plans-and-rate-limits-in-the-sp-api).", + "description": "Returns a packing slip based on the `purchaseOrderNumber` that you specify.\n\n**Usage Plan:**\n\n| Rate (requests per second) | Burst |\n| ---- | ---- |\n| 10 | 10 |\n\nThe `x-amzn-RateLimit-Limit` response header returns the usage plan rate limits that were applied to the requested operation, when available. The table above indicates the default rate and burst values for this operation. Selling partners whose business demands require higher throughput may see higher rate and burst values than those shown here. For more information, refer to [Usage Plans and Rate Limits in the Selling Partner API](https://developer-docs.amazon.com/sp-api/docs/usage-plans-and-rate-limits-in-the-sp-api).", "operationId": "getPackingSlip", "parameters": [ { "name": "purchaseOrderNumber", "in": "path", - "description": "The purchaseOrderNumber for the packing slip you want.", + "description": "The `purchaseOrderNumber` for the packing slip you want.", "required": true, "type": "string", "pattern": "^[a-zA-Z0-9]+$" @@ -2672,15 +2523,11 @@ } }, "401": { - "description": "The request's Authorization header is not formatted correctly or does not contain a valid token.", + "description": "The request's authorization header is not formatted correctly or does not contain a valid token.", "schema": { "$ref": "#/definitions/GetPackingSlipResponse" }, "headers": { - "x-amzn-RateLimit-Limit": { - "type": "string", - "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." - }, "x-amzn-RequestId": { "type": "string", "description": "Unique request reference identifier." @@ -2721,10 +2568,6 @@ "$ref": "#/definitions/GetPackingSlipResponse" }, "headers": { - "x-amzn-RateLimit-Limit": { - "type": "string", - "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." - }, "x-amzn-RequestId": { "type": "string", "description": "Unique request reference identifier." @@ -2737,10 +2580,6 @@ "$ref": "#/definitions/GetPackingSlipResponse" }, "headers": { - "x-amzn-RateLimit-Limit": { - "type": "string", - "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." - }, "x-amzn-RequestId": { "type": "string", "description": "Unique request reference identifier." @@ -2753,10 +2592,6 @@ "$ref": "#/definitions/GetPackingSlipResponse" }, "headers": { - "x-amzn-RateLimit-Limit": { - "type": "string", - "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." - }, "x-amzn-RequestId": { "type": "string", "description": "Unique request reference identifier." @@ -2769,10 +2604,6 @@ "$ref": "#/definitions/GetPackingSlipResponse" }, "headers": { - "x-amzn-RateLimit-Limit": { - "type": "string", - "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." - }, "x-amzn-RequestId": { "type": "string", "description": "Unique request reference identifier." @@ -2820,13 +2651,15 @@ "type": "object", "properties": { "pagination": { - "$ref": "#/definitions/Pagination" + "$ref": "#/definitions/Pagination", + "description": "The pagination elements required to retrieve the remaining data." }, "packingSlips": { "type": "array", "items": { "$ref": "#/definitions/PackingSlip" - } + }, + "description": "An array of packing slip objects." } }, "description": "A list of packing slips." @@ -2840,7 +2673,8 @@ "errors": { "$ref": "#/definitions/ErrorList" } - } + }, + "description": "Response payload with the list of packing slips." }, "GetPackingSlipResponse": { "type": "object", @@ -2851,7 +2685,8 @@ "errors": { "$ref": "#/definitions/ErrorList" } - } + }, + "description": "Response payload with packing slip." }, "SubmitShippingLabelsRequest": { "type": "object", @@ -2860,9 +2695,11 @@ "type": "array", "items": { "$ref": "#/definitions/ShippingLabelRequest" - } + }, + "description": "An array of shipping label requests to be processed." } - } + }, + "description": "The request schema for the `submitShippingLabelRequest` operation." }, "ShippingLabelRequest": { "type": "object", @@ -2892,7 +2729,8 @@ "$ref": "#/definitions/Container" } } - } + }, + "description": "Represents the request payload for creating a shipping label, containing the purchase order number, selling party, ship from party, and a list of containers or packages in the shipment." }, "Item": { "type": "object", @@ -2907,7 +2745,7 @@ }, "buyerProductIdentifier": { "type": "string", - "description": "Buyer's Standard Identification Number (ASIN) of an item. Either buyerProductIdentifier or vendorProductIdentifier is required." + "description": "Buyer's Standard Identification Number (ASIN) of an item. Either `buyerProductIdentifier` or `vendorProductIdentifier` is required." }, "vendorProductIdentifier": { "type": "string", @@ -2933,7 +2771,7 @@ }, "buyerProductIdentifier": { "type": "string", - "description": "Buyer's Standard Identification Number (ASIN) of an item. Either buyerProductIdentifier or vendorProductIdentifier is required." + "description": "Buyer's Standard Identification Number (ASIN) of an item. Either `buyerProductIdentifier` or `vendorProductIdentifier` is required." }, "vendorProductIdentifier": { "type": "string", @@ -2943,9 +2781,11 @@ "description": "Total item quantity packed in the container.", "$ref": "#/definitions/ItemQuantity" } - } + }, + "description": "Represents an item that has been packed into a container for shipping." }, "PartyIdentification": { + "description": "Name, address and tax details of a party.", "type": "object", "required": [ "partyId" @@ -3026,20 +2866,20 @@ "properties": { "trackingNumber": { "type": "string", - "description": "This is required to be provided for every package and should match with the trackingNumber sent for the shipment confirmation." + "description": "This is required to be provided for every package and should match with the `trackingNumber` sent for the shipment confirmation." }, "statusCode": { "type": "string", - "description": "Indicates the shipment status code of the package that provides transportation information for Amazon tracking systems and ultimately for the final customer. For more information, refer to the [Additional Fields Explanation](https://developer-docs.amazon.com/sp-api/docs/vendor-direct-fulfillment-shipping-api-use-case-guide#additional-fields-explanation)." + "description": "Indicates the shipment status code for the package that provides transportation information for Amazon tracking systems and ultimately for the final customer. For more information, refer to the [Additional Fields Explanation](https://developer-docs.amazon.com/sp-api/docs/vendor-direct-fulfillment-shipping-api-use-case-guide#additional-fields-explanation)." }, "reasonCode": { "type": "string", - "description": "Provides a reason code for the status of the package that will provide additional information about the transportation status. For more information, refer to the [Additional Fields Explanation](https://developer-docs.amazon.com/sp-api/docs/vendor-direct-fulfillment-shipping-api-use-case-guide#additional-fields-explanation)." + "description": "Provides a reason code for the status for the package that will provide additional information about the transportation status. For more information, refer to the [Additional Fields Explanation](https://developer-docs.amazon.com/sp-api/docs/vendor-direct-fulfillment-shipping-api-use-case-guide#additional-fields-explanation)." }, "statusDateTime": { "type": "string", "format": "date-time", - "description": "The date and time when the shipment status was updated. This field is expected to be in ISO-8601 date/time format, with UTC time zone or UTC offset. For example, 2020-07-16T23:00:00Z or 2020-07-16T23:00:00+01:00." + "description": "The date and time when the shipment status was updated. This field is expected to be in ISO 8601 date/time format, with UTC time zone or UTC offset. For example, `2020-07-16T23:00:00Z` or `2020-07-16T23:00:00+01:00`." }, "statusLocationAddress": { "$ref": "#/definitions/Address" @@ -3050,19 +2890,20 @@ "estimatedDeliveryDateTime": { "type": "string", "format": "date-time", - "description": "Date on which the shipment is expected to reach the customer delivery location. This field is expected to be in ISO-8601 date/time format, with UTC time zone or UTC offset. For example, 2020-07-16T23:00:00Z or 2020-07-16T23:00:00+01:00." + "description": "Date on which the shipment is expected to reach the customer delivery location. This field is expected to be in ISO 8601 date/time format, with UTC time zone or UTC offset. For example, `2020-07-16T23:00:00Z` or `2020-07-16T23:00:00+01:00`." }, "apptWindowStartDateTime": { "type": "string", "format": "date-time", - "description": "This field indicates the date and time at the start of the appointment window scheduled to deliver the shipment. This field is expected to be in ISO-8601 date/time format, with UTC time zone or UTC offset. For example, 2020-07-16T23:00:00Z or 2020-07-16T23:00:00+01:00." + "description": "This field indicates the date and time at the start of the appointment window scheduled to deliver the shipment. This field is expected to be in ISO 8601 date/time format, with UTC time zone or UTC offset. For example, `2020-07-16T23:00:00Z` or `2020-07-16T23:00:00+01:00`." }, "apptWindowEndDateTime": { "type": "string", "format": "date-time", - "description": "This field indicates the date and time at the end of the appointment window scheduled to deliver the shipment. This field is expected to be in ISO-8601 date/time format, with UTC time zone or UTC offset. For example, 2020-07-16T23:00:00Z or 2020-07-16T23:00:00+01:00." + "description": "This field indicates the date and time at the end of the appointment window scheduled to deliver the shipment. This field is expected to be in ISO 8601 date/time format, with UTC time zone or UTC offset. For example, `2020-07-16T23:00:00Z` or `2020-07-16T23:00:00+01:00`." } - } + }, + "description": "Details for the scheduled delivery timeline for a shipment, including the estimated delivery date and time, as well as the start and end times of the appointment window for delivery." } }, "description": "Details for the shipment status update given by the vendor for the specific package." @@ -3261,27 +3102,27 @@ "type": "object", "properties": { "payload": { - "description": "The response payload for the submitShipmentConfirmations operation.", + "description": "The response payload for the `submitShipmentConfirmations` operation.", "$ref": "#/definitions/TransactionReference" }, "errors": { "$ref": "#/definitions/ErrorList" } }, - "description": "The response schema for the submitShipmentConfirmations operation." + "description": "The response schema for the `submitShipmentConfirmations` operation." }, "SubmitShipmentStatusUpdatesResponse": { "type": "object", "properties": { "payload": { - "description": "The response payload for the submitShipmentStatusUpdates operation.", + "description": "The response payload for the `submitShipmentStatusUpdates` operation.", "$ref": "#/definitions/TransactionReference" }, "errors": { "$ref": "#/definitions/ErrorList" } }, - "description": "The response schema for the submitShipmentStatusUpdates operation." + "description": "The response schema for the `submitShipmentStatusUpdates` operation." }, "GetShippingLabelListResponse": { "type": "object", @@ -3294,20 +3135,20 @@ "$ref": "#/definitions/ErrorList" } }, - "description": "The response schema for the getShippingLabels operation." + "description": "The response schema for the `getShippingLabels` operation." }, "GetShippingLabelResponse": { "type": "object", "properties": { "payload": { - "description": "The payload for the getShippingLabel operation.", + "description": "The payload for the `getShippingLabel` operation.", "$ref": "#/definitions/ShippingLabel" }, "errors": { "$ref": "#/definitions/ErrorList" } }, - "description": "The response schema for the getShippingLabel operation." + "description": "The response schema for the `getShippingLabel` operation." }, "ShippingLabelList": { "type": "object", @@ -3319,9 +3160,11 @@ "type": "array", "items": { "$ref": "#/definitions/ShippingLabel" - } + }, + "description": "An array containing the details of the generated shipping labels." } - } + }, + "description": "Response payload with the list of shipping labels" }, "LabelData": { "type": "object", @@ -3339,7 +3182,7 @@ }, "shipMethod": { "type": "string", - "description": "Ship method to be used for shipping the order. Amazon defines Ship Method Codes indicating shipping carrier and shipment service level. Ship Method Codes are case and format sensitive. The same ship method code should returned on the shipment confirmation. Note that the Ship Method Codes are vendor specific and will be provided to each vendor during the implementation." + "description": "Ship method to be used for shipping the order. Amazon defines ship method codes indicating shipping carrier and shipment service level. Ship method codes are case and format sensitive. The same ship method code should returned on the shipment confirmation. Note that the ship method codes are vendor specific and will be provided to each vendor during the implementation." }, "shipMethodName": { "type": "string", @@ -3400,20 +3243,21 @@ "$ref": "#/definitions/LabelData" } } - } + }, + "description": "Shipping label information for an order, including the purchase order number, selling party, ship from party, label format, and package details." }, "SubmitShippingLabelsResponse": { "type": "object", "properties": { "payload": { - "description": "The response payload for the submitShippingLabelRequest operation.", + "description": "The response payload for the `submitShippingLabelRequest` operation.", "$ref": "#/definitions/TransactionReference" }, "errors": { "$ref": "#/definitions/ErrorList" } }, - "description": "The response schema for the submitShippingLabelRequest operation." + "description": "The response schema for the `submitShippingLabelRequest` operation." }, "SubmitShipmentConfirmationsRequest": { "type": "object", @@ -3422,9 +3266,11 @@ "type": "array", "items": { "$ref": "#/definitions/ShipmentConfirmation" - } + }, + "description": "Array of `ShipmentConfirmation` objects, each representing confirmation details for a specific shipment." } - } + }, + "description": "The request schema for the `submitShipmentConfirmations` operation." }, "ShipmentConfirmation": { "type": "object", @@ -3467,7 +3313,8 @@ "$ref": "#/definitions/Container" } } - } + }, + "description": "Represents the confirmation details of a shipment, including the purchase order number and other shipment details." }, "SubmitShipmentStatusUpdatesRequest": { "type": "object", @@ -3477,9 +3324,11 @@ "items": { "$ref": "#/definitions/ShipmentStatusUpdate" }, - "minItems": 1 + "minItems": 1, + "description": "Contains a list of one or more `ShipmentStatusUpdate` objects, each representing an update to the status of a specific shipment." } - } + }, + "description": "Represents the request payload for submitting updates to the status of shipments, containing an array of one or more `ShipmentStatusUpdate` objects." }, "ShipmentStatusUpdate": { "type": "object", @@ -3507,7 +3356,8 @@ "description": "Provide the details about the status of the shipment at that particular point of time.", "$ref": "#/definitions/StatusUpdateDetails" } - } + }, + "description": "Represents an update to the status of a shipment." }, "GetCustomerInvoicesResponse": { "type": "object", @@ -3520,20 +3370,20 @@ "$ref": "#/definitions/ErrorList" } }, - "description": "The response schema for the getCustomerInvoices operation." + "description": "The response schema for the `getCustomerInvoices` operation." }, "GetCustomerInvoiceResponse": { "type": "object", "properties": { "payload": { - "description": "The payload for the getCustomerInvoice operation.", + "description": "The payload for the `getCustomerInvoice` operation.", "$ref": "#/definitions/CustomerInvoice" }, "errors": { "$ref": "#/definitions/ErrorList" } }, - "description": "The response schema for the getCustomerInvoice operation." + "description": "The response schema for the `getCustomerInvoice` operation." }, "CustomerInvoiceList": { "type": "object", @@ -3543,20 +3393,23 @@ }, "customerInvoices": { "type": "array", + "description": "Represents a customer invoice within the `CustomerInvoiceList`.", "items": { "$ref": "#/definitions/CustomerInvoice" } } - } + }, + "description": "Represents a list of customer invoices, potentially paginated." }, "Pagination": { "type": "object", "properties": { "nextToken": { "type": "string", - "description": "A generated string used to pass information to your next request. If NextToken is returned, pass the value of NextToken to the next request. If NextToken is not returned, there are no more order items to return." + "description": "A generated string used to pass information to your next request. If `NextToken` is returned, pass the value of `NextToken` to the next request. If `NextToken` is not returned, there are no more order items to return." } - } + }, + "description": "The pagination elements required to retrieve the remaining data." }, "CustomerInvoice": { "type": "object", @@ -3572,9 +3425,10 @@ }, "content": { "type": "string", - "description": "The Base64encoded customer invoice." + "description": "The `Base64encoded` customer invoice." } - } + }, + "description": "Represents a customer invoice associated with a purchase order." }, "TransactionReference": { "type": "object", @@ -3583,7 +3437,8 @@ "type": "string", "description": "GUID to identify this transaction. This value can be used with the Transaction Status API to return the status of this transaction." } - } + }, + "description": "Response containing the transaction ID." }, "ErrorList": { "type": "array", @@ -3686,7 +3541,8 @@ "$ref": "#/definitions/PackedItem" } } - } + }, + "description": "A container used for shipping and packing items." } } } \ No newline at end of file diff --git a/models/vendor-orders-api-model/vendorOrders.json b/models/vendor-orders-api-model/vendorOrders.json index 18202e16f..4f1cccdb3 100644 --- a/models/vendor-orders-api-model/vendorOrders.json +++ b/models/vendor-orders-api-model/vendorOrders.json @@ -29,7 +29,7 @@ "tags": [ "vendorOrders" ], - "description": "Returns a list of purchase orders created or changed during the time frame that you specify. You define the time frame using the `createdAfter`, `createdBefore`, `changedAfter` and `changedBefore` parameters. The date range to search must not be more than 7 days. You can choose to get only the purchase order numbers by setting `includeDetails` to false. You can then use the `getPurchaseOrder` operation to receive details for a specific purchase order.\n\n**Usage Plan:**\n\n| Rate (requests per second) | Burst |\n| ---- | ---- |\n| 10 | 10 |\n\nThe `x-amzn-RateLimit-Limit` response header returns the usage plan rate limits that were applied to the requested operation, when available. The preceding table indicates the default rate and burst values for this operation. Selling partners whose business demands require higher throughput may have higher rate and burst values than those shown here. For more information, refer to [Usage Plans and Rate Limits in the Selling Partner API](https://developer-docs.amazon.com/sp-api/docs/usage-plans-and-rate-limits-in-the-sp-api).", + "description": "Returns a list of purchase orders created or changed during the time frame that you specify. You define the time frame using the `createdAfter`, `createdBefore`, `changedAfter` and `changedBefore` parameters. The date range to search must not be more than 7 days. You can choose to get only the purchase order numbers by setting `includeDetails` to false. You can then use the `getPurchaseOrder` operation to receive details for a specific purchase order.\n\n**Usage Plan:**\n\n| Rate (requests per second) | Burst |\n| ---- | ---- |\n| 10 | 10 |\n\nThe `x-amzn-RateLimit-Limit` response header returns the usage plan rate limits that were applied to the requested operation, when available. The table above indicates the default rate and burst values for this operation. Selling partners whose business demands require higher throughput may see higher rate and burst values than those shown here. For more information, refer to [Usage Plans and Rate Limits in the Selling Partner API](https://developer-docs.amazon.com/sp-api/docs/usage-plans-and-rate-limits-in-the-sp-api).", "operationId": "getPurchaseOrders", "parameters": [ { @@ -45,7 +45,7 @@ { "name": "createdAfter", "in": "query", - "description": "Purchase orders that became available after this time will be included in the result. Must be in ISO-8601 date/time format.", + "description": "Purchase orders that became available after this time will be included in the result. Must be in ISO 8601 date/time format.", "required": false, "type": "string", "format": "date-time" @@ -53,7 +53,7 @@ { "name": "createdBefore", "in": "query", - "description": "Purchase orders that became available before this time will be included in the result. Must be in ISO-8601 date/time format.", + "description": "Purchase orders that became available before this time will be included in the result. Must be in ISO 8601 date/time format.", "required": false, "type": "string", "format": "date-time" @@ -89,7 +89,7 @@ { "name": "includeDetails", "in": "query", - "description": "When true, returns purchase orders with complete details. Otherwise, only purchase order numbers are returned. Default value is true.", + "description": "When `true`, returns purchase orders with complete details. Otherwise, only purchase order numbers are returned. Default value is `true`.", "required": false, "type": "string", "format": "boolean" @@ -97,7 +97,7 @@ { "name": "changedAfter", "in": "query", - "description": "Purchase orders that changed after this timestamp will be included in the result. Must be in ISO-8601 date/time format.", + "description": "Purchase orders that changed after this timestamp will be included in the result. Must be in ISO 8601 date/time format.", "required": false, "type": "string", "format": "date-time" @@ -105,7 +105,7 @@ { "name": "changedBefore", "in": "query", - "description": "Purchase orders that changed before this timestamp will be included in the result. Must be in ISO-8601 date/time format.", + "description": "Purchase orders that changed before this timestamp will be included in the result. Must be in ISO 8601 date/time format.", "required": false, "type": "string", "format": "date-time" @@ -113,7 +113,7 @@ { "name": "poItemState", "in": "query", - "description": "Current state of the purchase order item. If this value is Cancelled, this API will return purchase orders which have one or more items cancelled by Amazon with updated item quantity as zero.", + "description": "Current state of the purchase order item. If this value is `Cancelled`, this API will return purchase orders which have one or more items cancelled by Amazon with updated item quantity as zero.", "required": false, "type": "string", "enum": [ @@ -129,7 +129,7 @@ { "name": "isPOChanged", "in": "query", - "description": "When true, returns purchase orders which were modified after the order was placed. Vendors are required to pull the changed purchase order and fulfill the updated purchase order and not the original one. Default value is false.", + "description": "When `true`, returns purchase orders which were modified after the order was placed. Vendors are required to pull the changed purchase order and fulfill the updated purchase order and not the original one. Default value is `false`.", "required": false, "type": "string", "format": "boolean" @@ -255,13 +255,11 @@ "isBackOrderAllowed": true, "netCost": { "amount": "1800", - "currencyCode": "INR", - "unitOfMeasure": "POUNDS" + "currencyCode": "INR" }, "listPrice": { "amount": "2000", - "currencyCode": "INR", - "unitOfMeasure": "POUNDS" + "currencyCode": "INR" } } ] @@ -432,13 +430,11 @@ "isBackOrderAllowed": true, "netCost": { "amount": "94.97", - "currencyCode": "USD", - "unitOfMeasure": "POUNDS" + "currencyCode": "USD" }, "listPrice": { "amount": "94.97", - "currencyCode": "USD", - "unitOfMeasure": "POUNDS" + "currencyCode": "USD" } } ] @@ -989,8 +985,7 @@ "isBackOrderAllowed": true, "netCost": { "amount": "94.97", - "currencyCode": "INR", - "unitOfMeasure": "POUNDS" + "currencyCode": "INR" } } ] @@ -1055,15 +1050,11 @@ } }, "403": { - "description": "Indicates that access to the resource is forbidden. Possible reasons include Access Denied, Unauthorized, Expired Token, or Invalid Signature.", + "description": "Indicates that access to the resource is forbidden. Possible reasons include `Access Denied`, `Unauthorized`, `Expired Token`, or `Invalid Signature`.", "schema": { "$ref": "#/definitions/GetPurchaseOrdersResponse" }, "headers": { - "x-amzn-RateLimit-Limit": { - "type": "string", - "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." - }, "x-amzn-RequestId": { "type": "string", "description": "Unique request reference identifier." @@ -1092,10 +1083,6 @@ "$ref": "#/definitions/GetPurchaseOrdersResponse" }, "headers": { - "x-amzn-RateLimit-Limit": { - "type": "string", - "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." - }, "x-amzn-RequestId": { "type": "string", "description": "Unique request reference identifier." @@ -1108,10 +1095,6 @@ "$ref": "#/definitions/GetPurchaseOrdersResponse" }, "headers": { - "x-amzn-RateLimit-Limit": { - "type": "string", - "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." - }, "x-amzn-RequestId": { "type": "string", "description": "Unique request reference identifier." @@ -1124,10 +1107,6 @@ "$ref": "#/definitions/GetPurchaseOrdersResponse" }, "headers": { - "x-amzn-RateLimit-Limit": { - "type": "string", - "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." - }, "x-amzn-RequestId": { "type": "string", "description": "Unique request reference identifier." @@ -1140,10 +1119,6 @@ "$ref": "#/definitions/GetPurchaseOrdersResponse" }, "headers": { - "x-amzn-RateLimit-Limit": { - "type": "string", - "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." - }, "x-amzn-RequestId": { "type": "string", "description": "Unique request reference identifier." @@ -1158,7 +1133,7 @@ "tags": [ "vendorOrders" ], - "description": "Returns a purchase order based on the `purchaseOrderNumber` value that you specify.\n\n**Usage Plan:**\n\n| Rate (requests per second) | Burst |\n| ---- | ---- |\n| 10 | 10 |\n\nThe `x-amzn-RateLimit-Limit` response header returns the usage plan rate limits that were applied to the requested operation, when available. The preceding table indicates the default rate and burst values for this operation. Selling partners whose business demands require higher throughput may have higher rate and burst values than those shown here. For more information, refer to [Usage Plans and Rate Limits in the Selling Partner API](https://developer-docs.amazon.com/sp-api/docs/usage-plans-and-rate-limits-in-the-sp-api).", + "description": "Returns a purchase order based on the `purchaseOrderNumber` value that you specify.\n\n**Usage Plan:**\n\n| Rate (requests per second) | Burst |\n| ---- | ---- |\n| 10 | 10 |\n\nThe `x-amzn-RateLimit-Limit` response header returns the usage plan rate limits that were applied to the requested operation, when available. The table above indicates the default rate and burst values for this operation. Selling partners whose business demands require higher throughput may see higher rate and burst values than those shown here. For more information, refer to [Usage Plans and Rate Limits in the Selling Partner API](https://developer-docs.amazon.com/sp-api/docs/usage-plans-and-rate-limits-in-the-sp-api).", "operationId": "getPurchaseOrder", "parameters": [ { @@ -1444,15 +1419,11 @@ } }, "401": { - "description": "The request's Authorization header is not formatted correctly or does not contain a valid token.", + "description": "The request's authorization header is not formatted correctly or does not contain a valid token.", "schema": { "$ref": "#/definitions/GetPurchaseOrderResponse" }, "headers": { - "x-amzn-RateLimit-Limit": { - "type": "string", - "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." - }, "x-amzn-RequestId": { "type": "string", "description": "Unique request reference identifier." @@ -1460,15 +1431,11 @@ } }, "403": { - "description": "Indicates that access to the resource is forbidden. Possible reasons include Access Denied, Unauthorized, Expired Token, or Invalid Signature.", + "description": "Indicates that access to the resource is forbidden. Possible reasons include `Access Denied`, `Unauthorized`, `Expired Token`, or `Invalid Signature`.", "schema": { "$ref": "#/definitions/GetPurchaseOrderResponse" }, "headers": { - "x-amzn-RateLimit-Limit": { - "type": "string", - "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." - }, "x-amzn-RequestId": { "type": "string", "description": "Unique request reference identifier." @@ -1497,10 +1464,6 @@ "$ref": "#/definitions/GetPurchaseOrderResponse" }, "headers": { - "x-amzn-RateLimit-Limit": { - "type": "string", - "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." - }, "x-amzn-RequestId": { "type": "string", "description": "Unique request reference identifier." @@ -1513,10 +1476,6 @@ "$ref": "#/definitions/GetPurchaseOrderResponse" }, "headers": { - "x-amzn-RateLimit-Limit": { - "type": "string", - "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." - }, "x-amzn-RequestId": { "type": "string", "description": "Unique request reference identifier." @@ -1529,10 +1488,6 @@ "$ref": "#/definitions/GetPurchaseOrderResponse" }, "headers": { - "x-amzn-RateLimit-Limit": { - "type": "string", - "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." - }, "x-amzn-RequestId": { "type": "string", "description": "Unique request reference identifier." @@ -1545,10 +1500,6 @@ "$ref": "#/definitions/GetPurchaseOrderResponse" }, "headers": { - "x-amzn-RateLimit-Limit": { - "type": "string", - "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." - }, "x-amzn-RequestId": { "type": "string", "description": "Unique request reference identifier." @@ -1563,15 +1514,60 @@ "tags": [ "vendorOrders" ], - "description": "Submits acknowledgements for one or more purchase orders.\n\n**Usage Plan:**\n\n| Rate (requests per second) | Burst |\n| ---- | ---- |\n| 10 | 10 |\n\nThe `x-amzn-RateLimit-Limit` response header returns the usage plan rate limits that were applied to the requested operation, when available. The preceding table indicates the default rate and burst values for this operation. Selling partners whose business demands require higher throughput may have higher rate and burst values than those shown here. For more information, refer to [Usage Plans and Rate Limits in the Selling Partner API](https://developer-docs.amazon.com/sp-api/docs/usage-plans-and-rate-limits-in-the-sp-api).", + "description": "Submits acknowledgements for one or more purchase orders.\n\n**Usage Plan:**\n\n| Rate (requests per second) | Burst |\n| ---- | ---- |\n| 10 | 10 |\n\nThe `x-amzn-RateLimit-Limit` response header returns the usage plan rate limits that were applied to the requested operation, when available. The table above indicates the default rate and burst values for this operation. Selling partners whose business demands require higher throughput may see higher rate and burst values than those shown here. For more information, refer to [Usage Plans and Rate Limits in the Selling Partner API](https://developer-docs.amazon.com/sp-api/docs/usage-plans-and-rate-limits-in-the-sp-api).", "operationId": "submitAcknowledgement", "parameters": [ { "in": "body", "name": "body", + "description": "Submits acknowledgements for one or more purchase orders from a vendor.", "required": true, "schema": { - "$ref": "#/definitions/SubmitAcknowledgementRequest" + "$ref": "#/definitions/SubmitAcknowledgementRequest", + "example": { + "acknowledgements": [ + { + "purchaseOrderNumber": "L8266355", + "sellingParty": { + "partyId": "999US" + }, + "acknowledgementDate": "2019-07-17T19:17:34.304Z", + "items": [ + { + "itemSequenceNumber": "1", + "amazonProductIdentifier": "ABC123434", + "vendorProductIdentifier": "028877454078", + "orderedQuantity": { + "amount": 10, + "unitOfMeasure": "Cases" + }, + "netCost": { + "currencyCode": "USD", + "amount": "18.0" + }, + "listPrice": { + "currencyCode": "USD", + "amount": "22.2" + }, + "discountMultiplier": "0.44", + "itemAcknowledgements": [ + { + "acknowledgementCode": "Rejected", + "acknowledgedQuantity": { + "amount": 6, + "unitOfMeasure": "Cases", + "unitSize": 2 + }, + "scheduledShipDate": "2019-07-17T19:17:34.304Z", + "scheduledDeliveryDate": "2019-07-17T19:17:34.304Z", + "rejectionReason": "TemporarilyUnavailable" + } + ] + } + ] + } + ] + } } } ], @@ -1704,15 +1700,11 @@ } }, "403": { - "description": "Indicates that access to the resource is forbidden. Possible reasons include Access Denied, Unauthorized, Expired Token, or Invalid Signature.", + "description": "Indicates that access to the resource is forbidden. Possible reasons include `Access Denied`, `Unauthorized,` `Expired Token`, or `Invalid Signature`.", "schema": { "$ref": "#/definitions/SubmitAcknowledgementResponse" }, "headers": { - "x-amzn-RateLimit-Limit": { - "type": "string", - "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." - }, "x-amzn-RequestId": { "type": "string", "description": "Unique request reference identifier." @@ -1741,10 +1733,6 @@ "$ref": "#/definitions/SubmitAcknowledgementResponse" }, "headers": { - "x-amzn-RateLimit-Limit": { - "type": "string", - "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." - }, "x-amzn-RequestId": { "type": "string", "description": "Unique request reference identifier." @@ -1757,10 +1745,6 @@ "$ref": "#/definitions/SubmitAcknowledgementResponse" }, "headers": { - "x-amzn-RateLimit-Limit": { - "type": "string", - "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." - }, "x-amzn-RequestId": { "type": "string", "description": "Unique request reference identifier." @@ -1773,10 +1757,6 @@ "$ref": "#/definitions/SubmitAcknowledgementResponse" }, "headers": { - "x-amzn-RateLimit-Limit": { - "type": "string", - "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." - }, "x-amzn-RequestId": { "type": "string", "description": "Unique request reference identifier." @@ -1789,10 +1769,6 @@ "$ref": "#/definitions/SubmitAcknowledgementResponse" }, "headers": { - "x-amzn-RateLimit-Limit": { - "type": "string", - "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." - }, "x-amzn-RequestId": { "type": "string", "description": "Unique request reference identifier." @@ -1805,10 +1781,6 @@ "$ref": "#/definitions/SubmitAcknowledgementResponse" }, "headers": { - "x-amzn-RateLimit-Limit": { - "type": "string", - "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." - }, "x-amzn-RequestId": { "type": "string", "description": "Unique request reference identifier." @@ -1823,7 +1795,7 @@ "tags": [ "vendorOrders" ], - "description": "Returns purchase order statuses based on the filters that you specify. Date range to search must not be more than 7 days. You can return a list of purchase order statuses using the available filters, or a single purchase order status by providing the purchase order number.\n\n**Usage Plan:**\n\n| Rate (requests per second) | Burst |\n| ---- | ---- |\n| 10 | 10 |\n\nThe `x-amzn-RateLimit-Limit` response header returns the usage plan rate limits that were applied to the requested operation, when available. The preceding table indicates the default rate and burst values for this operation. Selling partners whose business demands require higher throughput may have higher rate and burst values than those shown here. For more information, refer to [Usage Plans and Rate Limits in the Selling Partner API](https://developer-docs.amazon.com/sp-api/docs/usage-plans-and-rate-limits-in-the-sp-api).", + "description": "Returns purchase order statuses based on the filters that you specify. Date range to search must not be more than 7 days. You can return a list of purchase order statuses using the available filters, or a single purchase order status by providing the purchase order number.\n\n**Usage Plan:**\n\n| Rate (requests per second) | Burst |\n| ---- | ---- |\n| 10 | 10 |\n\nThe `x-amzn-RateLimit-Limit` response header returns the usage plan rate limits that were applied to the requested operation, when available. The table above indicates the default rate and burst values for this operation. Selling partners whose business demands require higher throughput may see higher rate and burst values than those shown here. For more information, refer to [Usage Plans and Rate Limits in the Selling Partner API](https://developer-docs.amazon.com/sp-api/docs/usage-plans-and-rate-limits-in-the-sp-api).", "operationId": "getPurchaseOrdersStatus", "parameters": [ { @@ -1867,7 +1839,7 @@ { "name": "createdAfter", "in": "query", - "description": "Purchase orders that became available after this timestamp will be included in the result. Must be in ISO-8601 date/time format.", + "description": "Purchase orders that became available after this timestamp will be included in the result. Must be in ISO 8601 date/time format.", "required": false, "type": "string", "format": "date-time" @@ -1875,7 +1847,7 @@ { "name": "createdBefore", "in": "query", - "description": "Purchase orders that became available before this timestamp will be included in the result. Must be in ISO-8601 date/time format.", + "description": "Purchase orders that became available before this timestamp will be included in the result. Must be in ISO 8601 date/time format.", "required": false, "type": "string", "format": "date-time" @@ -1883,7 +1855,7 @@ { "name": "updatedAfter", "in": "query", - "description": "Purchase orders for which the last purchase order update happened after this timestamp will be included in the result. Must be in ISO-8601 date/time format.", + "description": "Purchase orders for which the last purchase order update happened after this timestamp will be included in the result. Must be in ISO 8601 date/time format.", "required": false, "type": "string", "format": "date-time" @@ -1891,7 +1863,7 @@ { "name": "updatedBefore", "in": "query", - "description": "Purchase orders for which the last purchase order update happened before this timestamp will be included in the result. Must be in ISO-8601 date/time format.", + "description": "Purchase orders for which the last purchase order update happened before this timestamp will be included in the result. Must be in ISO 8601 date/time format.", "required": false, "type": "string", "format": "date-time" @@ -2688,15 +2660,11 @@ } }, "403": { - "description": "Indicates that access to the resource is forbidden. Possible reasons include Access Denied, Unauthorized, Expired Token, or Invalid Signature.", + "description": "Indicates that access to the resource is forbidden. Possible reasons include `Access Denied`, `Unauthorized`, `Expired Token`, or `Invalid Signature`.", "schema": { "$ref": "#/definitions/GetPurchaseOrdersStatusResponse" }, "headers": { - "x-amzn-RateLimit-Limit": { - "type": "string", - "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." - }, "x-amzn-RequestId": { "type": "string", "description": "Unique request reference identifier." @@ -2725,10 +2693,6 @@ "$ref": "#/definitions/GetPurchaseOrdersStatusResponse" }, "headers": { - "x-amzn-RateLimit-Limit": { - "type": "string", - "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." - }, "x-amzn-RequestId": { "type": "string", "description": "Unique request reference identifier." @@ -2741,10 +2705,6 @@ "$ref": "#/definitions/GetPurchaseOrdersStatusResponse" }, "headers": { - "x-amzn-RateLimit-Limit": { - "type": "string", - "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." - }, "x-amzn-RequestId": { "type": "string", "description": "Unique request reference identifier." @@ -2757,10 +2717,6 @@ "$ref": "#/definitions/GetPurchaseOrdersStatusResponse" }, "headers": { - "x-amzn-RateLimit-Limit": { - "type": "string", - "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." - }, "x-amzn-RequestId": { "type": "string", "description": "Unique request reference identifier." @@ -2773,10 +2729,6 @@ "$ref": "#/definitions/GetPurchaseOrdersStatusResponse" }, "headers": { - "x-amzn-RateLimit-Limit": { - "type": "string", - "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." - }, "x-amzn-RequestId": { "type": "string", "description": "Unique request reference identifier." @@ -2799,7 +2751,7 @@ "$ref": "#/definitions/ErrorList" } }, - "description": "The response schema for the getPurchaseOrders operation." + "description": "The response schema for the `getPurchaseOrders` operation." }, "GetPurchaseOrderResponse": { "type": "object", @@ -2812,7 +2764,7 @@ "$ref": "#/definitions/ErrorList" } }, - "description": "The response schema for the getPurchaseOrder operation." + "description": "The response schema for the `getPurchaseOrder` operation." }, "OrderList": { "type": "object", @@ -2824,18 +2776,21 @@ "type": "array", "items": { "$ref": "#/definitions/Order" - } + }, + "description": "Represents an individual order within the `OrderList`." } - } + }, + "description": "A list of orders returned as response." }, "Pagination": { "type": "object", "properties": { "nextToken": { "type": "string", - "description": "A generated string used to pass information to your next request. If NextToken is returned, pass the value of NextToken to the next request. If NextToken is not returned, there are no more purchase order items to return." + "description": "A generated string used to pass information to your next request. If `NextToken` is returned, pass the value of `NextToken` to the next request. If `NextToken` is not returned, there are no more purchase order items to return." } - } + }, + "description": "The pagination elements required to retrieve the remaining data." }, "Order": { "type": "object", @@ -2859,11 +2814,11 @@ "x-docgen-enum-table-extension": [ { "value": "New", - "description": "The purchase order is newly created and needs to be acknowledged by vendor." + "description": "The purchase order is newly created and needs to be acknowledged by the vendor." }, { "value": "Acknowledged", - "description": "The purchase order has been acknowledged by vendor." + "description": "The purchase order has been acknowledged by the vendor." }, { "value": "Closed", @@ -2875,7 +2830,8 @@ "description": "Details of an order.", "$ref": "#/definitions/OrderDetails" } - } + }, + "description": "Represents an order placed by Amazon, including the purchase order number, current state, and order details." }, "OrderDetails": { "type": "object", @@ -2888,17 +2844,17 @@ "purchaseOrderDate": { "type": "string", "format": "date-time", - "description": "The date the purchase order was placed. Must be in ISO-8601 date/time format." + "description": "The date the purchase order was placed. Must be in ISO 8601 date/time format." }, "purchaseOrderChangedDate": { "type": "string", "format": "date-time", - "description": "The date when purchase order was last changed by Amazon after the order was placed. This date will be greater than 'purchaseOrderDate'. This means the PO data was changed on that date and vendors are required to fulfill the updated PO. The PO changes can be related to Item Quantity, Ship to Location, Ship Window etc. This field will not be present in orders that have not changed after creation. Must be in ISO-8601 date/time format." + "description": "The date when purchase order was last changed by Amazon after the order was placed. This date will be greater than 'purchaseOrderDate'. This means the PO data was changed on that date and vendors are required to fulfill the updated PO. The PO changes can be related to Item Quantity, Ship to Location, Ship Window etc. This field will not be present in orders that have not changed after creation. Must be in ISO 8601 date/time format." }, "purchaseOrderStateChangedDate": { "type": "string", "format": "date-time", - "description": "The date when current purchase order state was changed. Current purchase order state is available in the field 'purchaseOrderState'. Must be in ISO-8601 date/time format." + "description": "The date when current purchase order state was changed. Current purchase order state is available in the field 'purchaseOrderState'. Must be in ISO 8601 date/time format." }, "purchaseOrderType": { "type": "string", @@ -3104,12 +3060,12 @@ }, "portOfDelivery": { "type": "string", - "description": "The port where goods on an import purchase order must be delivered by the vendor. This should only be specified when the internationalCommercialTerms is FOB.", + "description": "The port where goods on an import purchase order must be delivered by the vendor. This should only be specified when the `internationalCommercialTerms` is `FOB`.", "maxLength": 64 }, "importContainers": { "type": "string", - "description": "Types and numbers of container(s) for import purchase orders. Can be a comma-separated list if the shipment has multiple containers. HC signifies a high-capacity container. Free-text field, limited to 64 characters. The format will be a comma-delimited list containing values of the type: $NUMBER_OF_CONTAINERS_OF_THIS_TYPE-$CONTAINER_TYPE. The list of values for the container type is: 40'(40-foot container), 40'HC (40-foot high-capacity container), 45', 45'HC, 30', 30'HC, 20', 20'HC.", + "description": "Types and numbers of container(s) for import purchase orders. Can be a comma-separated list if the shipment has multiple containers. HC signifies a high-capacity container. Free-text field, limited to 64 characters. The format will be a comma-delimited list containing values of the type: `$NUMBER_OF_CONTAINERS_OF_THIS_TYPE-$CONTAINER_TYPE`. The list of values for the container type is: `40'`(40-foot container), `40'HC` (40-foot high-capacity container), `45'`, `45'HC`, `30'`, `30'HC`, `20'`, `20'HC`.", "maxLength": 64 }, "shippingInstructions": { @@ -3121,10 +3077,11 @@ }, "DateTimeInterval": { "type": "string", - "description": "Defines a date time interval according to ISO8601. Interval is separated by double hyphen (--)." + "description": "Defines a date time interval according to ISO 8601. Interval is separated by double hyphen (--)." }, "PartyIdentification": { "type": "object", + "description": "Name, address and tax details of a party.", "required": [ "partyId" ], @@ -3170,7 +3127,7 @@ }, "taxRegistrationNumber": { "type": "string", - "description": "Tax registration number for the entity. For example, VAT ID." + "description": "Tax registration number for the entity. For example, `VAT ID`." } }, "description": "Tax registration details of the entity." @@ -3217,7 +3174,7 @@ }, "postalCode": { "type": "string", - "description": "The postal code of that address. It conatins a series of letters or digits or both, sometimes including spaces or punctuation." + "description": "The postal code of that address. It contains a series of letters or digits or both, sometimes including spaces or punctuation." }, "countryCode": { "type": "string", @@ -3260,14 +3217,15 @@ "description": "When true, we will accept backorder confirmations for this item." }, "netCost": { - "description": "The net cost of an item per each or weight unit.", + "description": "The price to Amazon each (cost).", "$ref": "#/definitions/Money" }, "listPrice": { - "description": "The list price of an item per each or weight unit.", + "description": "The price to Amazon each (list).", "$ref": "#/definitions/Money" } - } + }, + "description": "Represents an individual item in an order, including item details, quantities, pricing, and backorder information." }, "Money": { "type": "object", @@ -3279,37 +3237,9 @@ }, "amount": { "$ref": "#/definitions/Decimal" - }, - "unitOfMeasure": { - "type": "string", - "description": "The unit of measure for prices of items sold by weight. If this field is absent, the item is sold by eaches.", - "enum": [ - "POUNDS", - "OUNCES", - "GRAMS", - "KILOGRAMS" - ], - "x-docgen-enum-table-extension": [ - { - "value": "POUNDS", - "description": "Priced per Pound." - }, - { - "value": "OUNCES", - "description": "Priced per Ounce." - }, - { - "value": "GRAMS", - "description": "Priced per Gram." - }, - { - "value": "KILOGRAMS", - "description": "Priced per Kilogram." - } - ] } }, - "description": "An amount of money. Includes the currency code and an optional unit of measure for items priced by weight." + "description": "An amount of money, including units in the form of currency." }, "Decimal": { "type": "string", @@ -3319,14 +3249,14 @@ "type": "object", "properties": { "payload": { - "description": "The payload for the submitAcknowledgement operation.", + "description": "The payload for the `submitAcknowledgement` operation.", "$ref": "#/definitions/TransactionId" }, "errors": { "$ref": "#/definitions/ErrorList" } }, - "description": "The response schema for the submitAcknowledgement operation" + "description": "The response schema for the `submitAcknowledgement` operation" }, "TransactionId": { "type": "object", @@ -3335,7 +3265,8 @@ "type": "string", "description": "GUID assigned by Amazon to identify this transaction. This value can be used with the Transaction Status API to return the status of this transaction." } - } + }, + "description": "Response containing the transaction ID." }, "ErrorList": { "type": "array", @@ -3351,10 +3282,11 @@ "type": "array", "items": { "$ref": "#/definitions/OrderAcknowledgement" - } + }, + "description": "An array of order acknowledgements to be submitted." } }, - "description": "The request schema for the submitAcknowledgment operation." + "description": "The request schema for the `submitAcknowledgment` operation." }, "OrderAcknowledgement": { "type": "object", @@ -3376,7 +3308,7 @@ "acknowledgementDate": { "type": "string", "format": "date-time", - "description": "The date and time when the purchase order is acknowledged, in ISO-8601 date/time format." + "description": "The date and time when the purchase order is acknowledged, in ISO 8601 date/time format." }, "items": { "type": "array", @@ -3385,7 +3317,8 @@ "$ref": "#/definitions/OrderAcknowledgementItem" } } - } + }, + "description": "Represents an acknowledgement for an order, including the purchase order number, selling party details, acknowledgement date, and a list of acknowledged items." }, "OrderAcknowledgementItem": { "type": "object", @@ -3411,11 +3344,11 @@ "$ref": "#/definitions/ItemQuantity" }, "netCost": { - "description": "The net cost of an item per each or weight unit that must match the cost on the invoice. This is a required field. If left blank, Amazon systems will reject the file. Price information must not be zero or negative.", + "description": "The cost to Amazon, which should match the cost on the invoice. This is a required field. If this is left blank the file will reject in Amazon systems. Price information should not be zero or negative. Indicates a net unit price.", "$ref": "#/definitions/Money" }, "listPrice": { - "description": "The list price of an item per each or weight unit. Required only if a vendor sells books at list price.", + "description": "The list price. This is required only if a vendor sells books with a list price.", "$ref": "#/definitions/Money" }, "discountMultiplier": { @@ -3454,7 +3387,7 @@ }, { "value": "Backordered", - "description": "Vendor placed a backorder to fulfill the original order and provides a scheduledShipDate or scheduledDeliveryDate which is different than the expectedShipDate or expectedDeliveryDate provided in the purchase order." + "description": "Vendor placed a backorder to fulfill the original order and provides a `scheduledShipDate` or `scheduledDeliveryDate` which is different than the `expectedShipDate` or `expectedDeliveryDate` provided in the purchase order." }, { "value": "Rejected", @@ -3469,12 +3402,12 @@ "scheduledShipDate": { "type": "string", "format": "date-time", - "description": "Estimated ship date per line item. Must be in ISO-8601 date/time format." + "description": "Estimated ship date per line item. Must be in ISO 8601 date/time format." }, "scheduledDeliveryDate": { "type": "string", "format": "date-time", - "description": "Estimated delivery date per line item. Must be in ISO-8601 date/time format." + "description": "Estimated delivery date per line item. Must be in ISO 8601 date/time format." }, "rejectionReason": { "type": "string", @@ -3499,7 +3432,8 @@ } ] } - } + }, + "description": "Represents the acknowledgement details for an individual order item, including the acknowledgement code, acknowledged quantity, scheduled ship and delivery dates, and rejection reason (if applicable)." }, "ItemQuantity": { "type": "object", @@ -3544,7 +3478,7 @@ "$ref": "#/definitions/ErrorList" } }, - "description": "The response schema for the getPurchaseOrdersStatus operation." + "description": "The response schema for the `getPurchaseOrdersStatus` operation." }, "OrderListStatus": { "type": "object", @@ -3556,9 +3490,11 @@ "type": "array", "items": { "$ref": "#/definitions/OrderStatus" - } + }, + "description": "Represents an order status within the `OrderListStatus`." } - } + }, + "description": "A list of order statuses." }, "OrderStatus": { "type": "object", @@ -3596,12 +3532,12 @@ "purchaseOrderDate": { "type": "string", "format": "date-time", - "description": "The date the purchase order was placed. Must be in ISO-8601 date/time format." + "description": "The date the purchase order was placed. Must be in ISO 8601 date/time format." }, "lastUpdatedDate": { "type": "string", "format": "date-time", - "description": "The date when the purchase order was last updated. Must be in ISO-8601 date/time format." + "description": "The date when the purchase order was last updated. Must be in ISO 8601 date/time format." }, "sellingParty": { "description": "Name/Address and tax details of the selling party.", @@ -3644,11 +3580,11 @@ "description": "The vendor selected product identification of the item." }, "netCost": { - "description": "The net cost of an item per each or weight unit.", + "description": "The net cost to Amazon each (cost).", "$ref": "#/definitions/Money" }, "listPrice": { - "description": "The list price of an item per each or weight unit.", + "description": "The list Price to Amazon each (list).", "$ref": "#/definitions/Money" }, "orderedQuantity": { @@ -3751,11 +3687,12 @@ "lastReceiveDate": { "type": "string", "format": "date-time", - "description": "The date when the most recent item was received at the buyer's warehouse. Must be in ISO-8601 date/time format." + "description": "The date when the most recent item was received at the buyer's warehouse. Must be in ISO 8601 date/time format." } } } - } + }, + "description": "Represents the current status of an order item, including acknowledgement and receiving details." }, "OrderedQuantityDetails": { "type": "object", @@ -3763,7 +3700,7 @@ "updatedDate": { "type": "string", "format": "date-time", - "description": "The date when the line item quantity was updated by buyer. Must be in ISO-8601 date/time format." + "description": "The date when the line item quantity was updated by the buyer. Must be in ISO 8601 date/time format." }, "orderedQuantity": { "description": "Item quantity ordered.", @@ -3774,7 +3711,7 @@ "$ref": "#/definitions/ItemQuantity" } }, - "description": "Details of item quantity ordered" + "description": "Details of the item quantity ordered." }, "AcknowledgementStatusDetails": { "type": "object", @@ -3782,18 +3719,18 @@ "acknowledgementDate": { "type": "string", "format": "date-time", - "description": "The date when the line item was confirmed by vendor. Must be in ISO-8601 date/time format." + "description": "The date when the line item was confirmed by the vendor. Must be in ISO 8601 date/time format." }, "acceptedQuantity": { - "description": "Item quantity accepted by vendor to be shipped.", + "description": "Item quantity accepted by the vendor to be shipped.", "$ref": "#/definitions/ItemQuantity" }, "rejectedQuantity": { - "description": "Item quantity rejected by vendor.", + "description": "Item quantity rejected by the vendor.", "$ref": "#/definitions/ItemQuantity" } }, - "description": "Details of item quantity ordered" + "description": "Details of the item quantity ordered" }, "Error": { "type": "object", From c4cad1936821904f9fe25a8f2a8ae967e20667f0 Mon Sep 17 00:00:00 2001 From: Jack Evoniuk Date: Thu, 27 Jun 2024 12:00:53 -0700 Subject: [PATCH 138/340] Clarify format for FreightReadyDate --- .../fulfillment-inbound-api-model/fulfillmentInboundV0.json | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/models/fulfillment-inbound-api-model/fulfillmentInboundV0.json b/models/fulfillment-inbound-api-model/fulfillmentInboundV0.json index 64b5a6a77..a7af1bade 100644 --- a/models/fulfillment-inbound-api-model/fulfillmentInboundV0.json +++ b/models/fulfillment-inbound-api-model/fulfillmentInboundV0.json @@ -5136,7 +5136,7 @@ "$ref": "#/definitions/SellerFreightClass" }, "FreightReadyDate": { - "description": "The date that the shipment will be ready to be picked up by the carrier.", + "description": "The date on which the shipment is ready for carrier pickup. Must be in YYYY-MM-DD format.", "$ref": "#/definitions/DateStringType" }, "PalletList": { @@ -5181,7 +5181,7 @@ "$ref": "#/definitions/SellerFreightClass" }, "FreightReadyDate": { - "description": "The date that the shipment will be ready to be picked up by the carrier. Must be in YYYY-MM-DD format.", + "description": "The date on which the shipment is ready for carrier pickup. Must be in YYYY-MM-DD format.", "$ref": "#/definitions/DateStringType" }, "PalletList": { From ec729128de9527a1d47cc0f491c69e1fddbf9ae7 Mon Sep 17 00:00:00 2001 From: Gibran Waldron Date: Thu, 27 Jun 2024 14:03:33 -0700 Subject: [PATCH 139/340] Update Merchant Fulfillment v0 model with Benefits to ShippingService. --- .../merchantFulfillmentV0.json | 345 +++++++++--------- 1 file changed, 179 insertions(+), 166 deletions(-) diff --git a/models/merchant-fulfillment-api-model/merchantFulfillmentV0.json b/models/merchant-fulfillment-api-model/merchantFulfillmentV0.json index 64e4dad87..e67ff821d 100644 --- a/models/merchant-fulfillment-api-model/merchantFulfillmentV0.json +++ b/models/merchant-fulfillment-api-model/merchantFulfillmentV0.json @@ -1,7 +1,7 @@ { "swagger": "2.0", "info": { - "description": "The Selling Partner API for Merchant Fulfillment helps you build applications that let sellers purchase shipping for non-Prime and Prime orders using Amazon’s Buy Shipping Services.", + "description": "With the Selling Partner API for Merchant Fulfillment, you can build applications that sellers can use to purchase shipping for non-Prime and Prime orders using Amazon's Buy Shipping Services.", "version": "v0", "title": "Selling Partner API for Merchant Fulfillment", "contact": { @@ -29,12 +29,13 @@ "tags": [ "merchantFulfillment" ], - "description": "Returns a list of shipping service offers that satisfy the specified shipment request details.\n\n**Usage Plan:**\n\n| Rate (requests per second) | Burst |\n| ---- | ---- |\n| 5 | 10 |\n\nThe `x-amzn-RateLimit-Limit` response header returns the usage plan rate limits that were applied to the requested operation, when available. The table above indicates the default rate and burst values for this operation. Selling partners whose business demands require higher throughput may see higher rate and burst values than those shown here. For more information, see [Usage Plans and Rate Limits in the Selling Partner API](https://developer-docs.amazon.com/sp-api/docs/usage-plans-and-rate-limits-in-the-sp-api).", + "description": "Returns a list of shipping service offers that satisfy the specified shipment request details.\n\n**Usage Plan:**\n\n| Rate (requests per second) | Burst |\n| ---- | ---- |\n| 5 | 10 |\n\nThe `x-amzn-RateLimit-Limit` response header returns the usage plan rate limits that are applied to the requested operation when available. The preceding table indicates the default rate and burst values for this operation. Selling partners whose business demands require higher throughput may see higher rate and burst values than those shown here. For more information, refer to [Usage Plans and Rate Limits in the SP-API](https://developer-docs.amazon.com/sp-api/docs/usage-plans-and-rate-limits-in-the-sp-api).", "operationId": "getEligibleShipmentServices", "parameters": [ { "in": "body", "name": "body", + "description": "Request schema for GetEligibleShipmentServices operation.", "required": true, "schema": { "$ref": "#/definitions/GetEligibleShipmentServicesRequest" @@ -43,7 +44,7 @@ ], "responses": { "200": { - "description": "Success", + "description": "Success.", "schema": { "$ref": "#/definitions/GetEligibleShipmentServicesResponse" }, @@ -106,8 +107,8 @@ "payload": { "ShippingServiceList": [ { - "ShippingServiceName": "UPS 2nd Day Air\u00AE", - "CarrierName": "UPS\u00AE", + "ShippingServiceName": "UPS 2nd Day Air\\u00AE", + "CarrierName": "UPS\\u00AE", "ShippingServiceId": "UPS_PTP_2ND_DAY_AIR", "ShippingServiceOfferId": "WHgxtyn6qjGGaCzOCog1azF5HLHje5Pz3Lc2Fmt5eKoZAReW8oJ1SMumuBS8lA/Hjuglhyiu0+KRLvyJxFV0PB9YFMDhygs3VyTL0WGYkGxiuRkmuEvpqldUn9rrkWVodqnR4vx2VtXvtER/Ju6RqYoddJZGy6RS2KLzzhQ2NclN0NYXMZVqpOe5RsRBddXaGuJr7oza3M52+JzChocAHzcurIhCRynpbxfmNLzZMQEbgnpGLzuaoSMzfxg90/NaXFR/Ou01du/uKd5AbfMW/AxAKP9ht6Oi9lDHq6WkGqvjkVLW0/jj/fBgblIwcs+t", "ShipDate": "2019-10-28T16:36:36Z", @@ -141,11 +142,17 @@ { "LabelFormat": "PNG" } - ] + ], + "Benefits": { + "IncludedBenefits": [ + "CLAIMS_PROTECTED" + ], + "ExcludedBenefits": [] + } }, { - "ShippingServiceName": "UPS Next Day Air Saver\u00AE", - "CarrierName": "UPS\u00AE", + "ShippingServiceName": "UPS Next Day Air Saver\\u00AE", + "CarrierName": "UPS\\u00AE", "ShippingServiceId": "UPS_PTP_NEXT_DAY_AIR_SAVER", "ShippingServiceOfferId": "WHgxtyn6qjGGaCzOCog1azF5HLHje5Pz3Lc2Fmt5eKqqhKGQ2YZmuxsXKVXmdgdWNvfxb1qfm5bGm8NuqlqnNT3eTiJ4viTctepggbeUKUSykClJ+Qmw43zdA8wsgREhQCmb4Bbo/skapLQS1F9uwH2FgY5SfMsj/egudyocpVRT45KSQAT0H5YiXW3OyyRAae9fZ0RzDJAABHiisOyYyXnB1mtWOZqc7rlGR4yyqN7jmiT4t8dmuGPX7ptY4qskrN+6VHZO9bM9tdDS0ysHhAVv4jO3Q5sWFg4nEPaARWSsrpa6zSGMLxAOj56O3tcP", "ShipDate": "2019-10-28T16:36:36Z", @@ -179,12 +186,23 @@ { "LabelFormat": "PNG" } - ] + ], + "Benefits": { + "IncludedBenefits": [], + "ExcludedBenefits": [ + { + "Benefit": "CLAIMS_PROTECTED", + "ReasonCodes": [ + "LATE_DELIVERY_RISK" + ] + } + ] + } } ], "TemporarilyUnavailableCarrierList": [ { - "CarrierName": "UPS\u00AE" + "CarrierName": "UPS\\u00AE" }, { "CarrierName": "DHLECOMMERCE" @@ -278,15 +296,11 @@ } }, "401": { - "description": "The request's Authorization header is not formatted correctly or does not contain a valid token.", + "description": "The request's authorization header is not formatted correctly or does not contain a valid token.", "schema": { "$ref": "#/definitions/GetEligibleShipmentServicesResponse" }, "headers": { - "x-amzn-RateLimit-Limit": { - "type": "string", - "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." - }, "x-amzn-RequestId": { "type": "string", "description": "Unique request reference identifier." @@ -327,10 +341,6 @@ "$ref": "#/definitions/GetEligibleShipmentServicesResponse" }, "headers": { - "x-amzn-RateLimit-Limit": { - "type": "string", - "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." - }, "x-amzn-RequestId": { "type": "string", "description": "Unique request reference identifier." @@ -343,10 +353,6 @@ "$ref": "#/definitions/GetEligibleShipmentServicesResponse" }, "headers": { - "x-amzn-RateLimit-Limit": { - "type": "string", - "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." - }, "x-amzn-RequestId": { "type": "string", "description": "Unique request reference identifier." @@ -359,10 +365,6 @@ "$ref": "#/definitions/GetEligibleShipmentServicesResponse" }, "headers": { - "x-amzn-RateLimit-Limit": { - "type": "string", - "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." - }, "x-amzn-RequestId": { "type": "string", "description": "Unique request reference identifier." @@ -377,7 +379,7 @@ "tags": [ "merchantFulfillment" ], - "description": "Returns the shipment information for an existing shipment.\n\n**Usage Plan:**\n\n| Rate (requests per second) | Burst |\n| ---- | ---- |\n| 1 | 1 |\n\nThe `x-amzn-RateLimit-Limit` response header returns the usage plan rate limits that were applied to the requested operation, when available. The table above indicates the default rate and burst values for this operation. Selling partners whose business demands require higher throughput may see higher rate and burst values than those shown here. For more information, see [Usage Plans and Rate Limits in the Selling Partner API](https://developer-docs.amazon.com/sp-api/docs/usage-plans-and-rate-limits-in-the-sp-api).", + "description": "Returns the shipment information for an existing shipment.\n\n**Usage Plan:**\n\n| Rate (requests per second) | Burst |\n| ---- | ---- |\n| 1 | 1 |\n\nThe `x-amzn-RateLimit-Limit` response header returns the usage plan rate limits that are applied to the requested operation when available. The preceding table indicates the default rate and burst values for this operation. Selling partners whose business demands require higher throughput may see higher rate and burst values than those shown here. For more information, refer to [Usage Plans and Rate Limits in the SP-API](https://developer-docs.amazon.com/sp-api/docs/usage-plans-and-rate-limits-in-the-sp-api).", "operationId": "getShipment", "parameters": [ { @@ -391,7 +393,7 @@ ], "responses": { "200": { - "description": "Success", + "description": "Success.", "schema": { "$ref": "#/definitions/GetShipmentResponse" }, @@ -462,8 +464,8 @@ "Unit": "oz" }, "ShippingService": { - "ShippingServiceName": "UPS 2nd Day Air\u00AE", - "CarrierName": "UPS\u00AE", + "ShippingServiceName": "UPS 2nd Day Air\\u00AE", + "CarrierName": "UPS\\u00AE", "ShippingServiceId": "UPS_PTP_2ND_DAY_AIR", "ShippingServiceOfferId": "", "ShipDate": "2019-10-28T18:00:00Z", @@ -478,7 +480,18 @@ "Amount": 0.0 } }, - "RequiresAdditionalSellerInputs": false + "RequiresAdditionalSellerInputs": false, + "Benefits": { + "IncludedBenefits": [], + "ExcludedBenefits": [ + { + "Benefit": "CLAIMS_PROTECTED", + "ReasonCodes": [ + "LATE_DELIVERY_RISK" + ] + } + ] + } }, "Label": { "Dimensions": { @@ -541,15 +554,11 @@ } }, "401": { - "description": "The request's Authorization header is not formatted correctly or does not contain a valid token.", + "description": "The request's authorization header is not formatted correctly or does not contain a valid token.", "schema": { "$ref": "#/definitions/GetShipmentResponse" }, "headers": { - "x-amzn-RateLimit-Limit": { - "type": "string", - "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." - }, "x-amzn-RequestId": { "type": "string", "description": "Unique request reference identifier." @@ -590,10 +599,6 @@ "$ref": "#/definitions/GetShipmentResponse" }, "headers": { - "x-amzn-RateLimit-Limit": { - "type": "string", - "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." - }, "x-amzn-RequestId": { "type": "string", "description": "Unique request reference identifier." @@ -606,10 +611,6 @@ "$ref": "#/definitions/GetShipmentResponse" }, "headers": { - "x-amzn-RateLimit-Limit": { - "type": "string", - "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." - }, "x-amzn-RequestId": { "type": "string", "description": "Unique request reference identifier." @@ -622,10 +623,6 @@ "$ref": "#/definitions/GetShipmentResponse" }, "headers": { - "x-amzn-RateLimit-Limit": { - "type": "string", - "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." - }, "x-amzn-RequestId": { "type": "string", "description": "Unique request reference identifier." @@ -638,7 +635,7 @@ "tags": [ "merchantFulfillment" ], - "description": "Cancel the shipment indicated by the specified shipment identifier.\n\n**Usage Plan:**\n\n| Rate (requests per second) | Burst |\n| ---- | ---- |\n| 1 | 1 |\n\nThe `x-amzn-RateLimit-Limit` response header returns the usage plan rate limits that were applied to the requested operation, when available. The table above indicates the default rate and burst values for this operation. Selling partners whose business demands require higher throughput may see higher rate and burst values than those shown here. For more information, see [Usage Plans and Rate Limits in the Selling Partner API](https://developer-docs.amazon.com/sp-api/docs/usage-plans-and-rate-limits-in-the-sp-api).", + "description": "Cancel the shipment indicated by the specified shipment identifier.\n\n**Usage Plan:**\n\n| Rate (requests per second) | Burst |\n| ---- | ---- |\n| 1 | 1 |\n\nThe `x-amzn-RateLimit-Limit` response header returns the usage plan rate limits that are applied to the requested operation when available. The preceding table indicates the default rate and burst values for this operation. Selling partners whose business demands require higher throughput may see higher rate and burst values than those shown here. For more information, refer to [Usage Plans and Rate Limits in the SP-API](https://developer-docs.amazon.com/sp-api/docs/usage-plans-and-rate-limits-in-the-sp-api).", "operationId": "cancelShipment", "parameters": [ { @@ -652,7 +649,7 @@ ], "responses": { "200": { - "description": "Success", + "description": "Success.", "schema": { "$ref": "#/definitions/CancelShipmentResponse" }, @@ -723,8 +720,8 @@ "Unit": "oz" }, "ShippingService": { - "ShippingServiceName": "UPS 2nd Day Air\u00AE", - "CarrierName": "UPS\u00AE", + "ShippingServiceName": "UPS 2nd Day Air\\u00AE", + "CarrierName": "UPS\\u00AE", "ShippingServiceId": "UPS_PTP_2ND_DAY_AIR", "ShippingServiceOfferId": "", "ShipDate": "2019-10-28T18:00:00Z", @@ -798,15 +795,11 @@ } }, "401": { - "description": "The request's Authorization header is not formatted correctly or does not contain a valid token.", + "description": "The request's authorization header is not formatted correctly or does not contain a valid token.", "schema": { "$ref": "#/definitions/CancelShipmentResponse" }, "headers": { - "x-amzn-RateLimit-Limit": { - "type": "string", - "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." - }, "x-amzn-RequestId": { "type": "string", "description": "Unique request reference identifier." @@ -847,10 +840,6 @@ "$ref": "#/definitions/CancelShipmentResponse" }, "headers": { - "x-amzn-RateLimit-Limit": { - "type": "string", - "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." - }, "x-amzn-RequestId": { "type": "string", "description": "Unique request reference identifier." @@ -863,10 +852,6 @@ "$ref": "#/definitions/CancelShipmentResponse" }, "headers": { - "x-amzn-RateLimit-Limit": { - "type": "string", - "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." - }, "x-amzn-RequestId": { "type": "string", "description": "Unique request reference identifier." @@ -879,10 +864,6 @@ "$ref": "#/definitions/CancelShipmentResponse" }, "headers": { - "x-amzn-RateLimit-Limit": { - "type": "string", - "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." - }, "x-amzn-RequestId": { "type": "string", "description": "Unique request reference identifier." @@ -897,12 +878,13 @@ "tags": [ "merchantFulfillment" ], - "description": "Create a shipment with the information provided.\n\n**Usage Plan:**\n\n| Rate (requests per second) | Burst |\n| ---- | ---- |\n| 1 | 1 |\n\nThe `x-amzn-RateLimit-Limit` response header returns the usage plan rate limits that were applied to the requested operation, when available. The table above indicates the default rate and burst values for this operation. Selling partners whose business demands require higher throughput may see higher rate and burst values than those shown here. For more information, see [Usage Plans and Rate Limits in the Selling Partner API](https://developer-docs.amazon.com/sp-api/docs/usage-plans-and-rate-limits-in-the-sp-api).", + "description": "Create a shipment with the information provided.\n\n**Usage Plan:**\n\n| Rate (requests per second) | Burst |\n| ---- | ---- |\n| 1 | 1 |\n\nThe `x-amzn-RateLimit-Limit` response header returns the usage plan rate limits that are applied to the requested operation when available. The preceding table indicates the default rate and burst values for this operation. Selling partners whose business demands require higher throughput may see higher rate and burst values than those shown here. For more information, refer to [Usage Plans and Rate Limits in the SP-API](https://developer-docs.amazon.com/sp-api/docs/usage-plans-and-rate-limits-in-the-sp-api).", "operationId": "createShipment", "parameters": [ { "in": "body", "name": "body", + "description": "Request schema for `CreateShipment` operation.", "required": true, "schema": { "$ref": "#/definitions/CreateShipmentRequest" @@ -911,7 +893,7 @@ ], "responses": { "200": { - "description": "Success", + "description": "Success.", "schema": { "$ref": "#/definitions/CreateShipmentResponse" }, @@ -1018,8 +1000,8 @@ "Unit": "oz" }, "ShippingService": { - "ShippingServiceName": "UPS 2nd Day Air\u00AE", - "CarrierName": "UPS\u00AE", + "ShippingServiceName": "UPS 2nd Day Air\\u00AE", + "CarrierName": "UPS\\u00AE", "ShippingServiceId": "UPS_PTP_2ND_DAY_AIR", "ShippingServiceOfferId": "WHgxtyn6qjGGaCzOCog1azF5HLHje5Pz3Lc2Fmt5eKoZAReW8oJ1SMumuBS8lA/Hjuglhyiu0+KRLvyJxFV0PB9YFMDhygs3VyTL0WGYkGxiuRkmuEvpqldUn9rrkWVodqnR4vx2VtXvtER/Ju6RqYoddJZGy6RS2KLzzhQ2NclN0NYXMZVqpOe5RsRBddXaGuJr7oza3M52+JzChocAHzcurIhCRynpbxfmNLzZMQEbgnpGLzuaoSMzfxg90/NaXFR/Ou01du/uKd5AbfMW/AxAKP9ht6Oi9lDHq6WkGqvjkVLW0/jj/fBgblIwcs+t", "ShipDate": "2019-10-28T16:37:37Z", @@ -1036,7 +1018,13 @@ "Amount": 0 } }, - "RequiresAdditionalSellerInputs": false + "RequiresAdditionalSellerInputs": false, + "Benefits": { + "IncludedBenefits": [ + "CLAIMS_PROTECTED" + ], + "ExcludedBenefits": [] + } }, "Label": { "Dimensions": { @@ -1136,15 +1124,11 @@ } }, "401": { - "description": "The request's Authorization header is not formatted correctly or does not contain a valid token.", + "description": "The request's authorization header is not formatted correctly or does not contain a valid token.", "schema": { "$ref": "#/definitions/CreateShipmentResponse" }, "headers": { - "x-amzn-RateLimit-Limit": { - "type": "string", - "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." - }, "x-amzn-RequestId": { "type": "string", "description": "Unique request reference identifier." @@ -1185,10 +1169,6 @@ "$ref": "#/definitions/CreateShipmentResponse" }, "headers": { - "x-amzn-RateLimit-Limit": { - "type": "string", - "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." - }, "x-amzn-RequestId": { "type": "string", "description": "Unique request reference identifier." @@ -1201,10 +1181,6 @@ "$ref": "#/definitions/CreateShipmentResponse" }, "headers": { - "x-amzn-RateLimit-Limit": { - "type": "string", - "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." - }, "x-amzn-RequestId": { "type": "string", "description": "Unique request reference identifier." @@ -1217,10 +1193,6 @@ "$ref": "#/definitions/CreateShipmentResponse" }, "headers": { - "x-amzn-RateLimit-Limit": { - "type": "string", - "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." - }, "x-amzn-RequestId": { "type": "string", "description": "Unique request reference identifier." @@ -1235,12 +1207,13 @@ "tags": [ "merchantFulfillment" ], - "description": "Gets a list of additional seller inputs required for a ship method. This is generally used for international shipping.\n\n**Usage Plan:**\n\n| Rate (requests per second) | Burst |\n| ---- | ---- |\n| 1 | 1 |\n\nThe `x-amzn-RateLimit-Limit` response header returns the usage plan rate limits that were applied to the requested operation, when available. The table above indicates the default rate and burst values for this operation. Selling partners whose business demands require higher throughput may see higher rate and burst values than those shown here. For more information, see [Usage Plans and Rate Limits in the Selling Partner API](https://developer-docs.amazon.com/sp-api/docs/usage-plans-and-rate-limits-in-the-sp-api).", + "description": "Gets a list of additional seller inputs required for a ship method. This is generally used for international shipping.\n\n**Usage Plan:**\n\n| Rate (requests per second) | Burst |\n| ---- | ---- |\n| 1 | 1 |\n\nThe `x-amzn-RateLimit-Limit` response header returns the usage plan rate limits that are applied to the requested operation when available. The preceding table indicates the default rate and burst values for this operation. Selling partners whose business demands require higher throughput may see higher rate and burst values than those shown here. For more information, refer to [Usage Plans and Rate Limits in the SP-API](https://developer-docs.amazon.com/sp-api/docs/usage-plans-and-rate-limits-in-the-sp-api).", "operationId": "getAdditionalSellerInputs", "parameters": [ { "in": "body", "name": "body", + "description": "Request schema for the `GetAdditionalSellerInputs` operation.", "required": true, "schema": { "$ref": "#/definitions/GetAdditionalSellerInputsRequest" @@ -1249,7 +1222,7 @@ ], "responses": { "200": { - "description": "Success", + "description": "Success.", "schema": { "$ref": "#/definitions/GetAdditionalSellerInputsResponse" }, @@ -1357,15 +1330,11 @@ } }, "401": { - "description": "The request's Authorization header is not formatted correctly or does not contain a valid token.", + "description": "The request's authorization header is not formatted correctly or does not contain a valid token.", "schema": { "$ref": "#/definitions/GetAdditionalSellerInputsResponse" }, "headers": { - "x-amzn-RateLimit-Limit": { - "type": "string", - "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." - }, "x-amzn-RequestId": { "type": "string", "description": "Unique request reference identifier." @@ -1406,10 +1375,6 @@ "$ref": "#/definitions/GetAdditionalSellerInputsResponse" }, "headers": { - "x-amzn-RateLimit-Limit": { - "type": "string", - "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." - }, "x-amzn-RequestId": { "type": "string", "description": "Unique request reference identifier." @@ -1422,10 +1387,6 @@ "$ref": "#/definitions/GetAdditionalSellerInputsResponse" }, "headers": { - "x-amzn-RateLimit-Limit": { - "type": "string", - "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." - }, "x-amzn-RequestId": { "type": "string", "description": "Unique request reference identifier." @@ -1438,10 +1399,6 @@ "$ref": "#/definitions/GetAdditionalSellerInputsResponse" }, "headers": { - "x-amzn-RateLimit-Limit": { - "type": "string", - "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." - }, "x-amzn-RequestId": { "type": "string", "description": "Unique request reference identifier." @@ -1462,7 +1419,7 @@ "properties": { "code": { "type": "string", - "description": "An error code that identifies the type of error that occured." + "description": "An error code that identifies the type of error that occurred." }, "message": { "type": "string", @@ -1569,7 +1526,11 @@ "description": "The available shipping service options." }, "AvailableFormatOptionsForLabel": { - "$ref": "#/definitions/AvailableFormatOptionsForLabelList" + "type": "array", + "description": "The available label formats.", + "items": { + "$ref": "#/definitions/LabelFormatOption" + } }, "AvailableFormatOptionsForLabelList": { "type": "array", @@ -1812,15 +1773,61 @@ "type": "string", "description": "An Amazon-defined order identifier, in 3-7-7 format." }, + "Benefits": { + "type": "object", + "description": "Benefits that are included and excluded for each shipping offer. Benefits represents services provided by Amazon (for example, `CLAIMS_PROTECTED`) when sellers purchase shipping through Amazon. Benefit details are made available for any shipment placed on or after January 1st 2024 00:00 UTC.", + "properties": { + "IncludedBenefits": { + "$ref": "#/definitions/IncludedBenefits" + }, + "ExcludedBenefits": { + "$ref": "#/definitions/ExcludedBenefits" + } + } + }, + "IncludedBenefits": { + "type": "array", + "description": "A list of included benefits.", + "items": { + "type": "string" + } + }, + "ExcludedBenefits": { + "type": "array", + "description": "A list of excluded benefits. Refer to the `ExcludeBenefit` object for further documentation.", + "items": { + "$ref": "#/definitions/ExcludedBenefit" + } + }, + "ExcludedBenefit": { + "type": "object", + "description": "An object representing an excluded benefit that is excluded for a shipping offer or rate.", + "properties": { + "Benefit": { + "description": "A benefit that is being excluded from a shipment.", + "type": "string" + }, + "ReasonCodes": { + "$ref": "#/definitions/ExcludedBenefitReasonCodes" + } + } + }, + "ExcludedBenefitReasonCodes": { + "type": "array", + "description": "List of reasons (for example, `LATE_DELIVERY_RISK`) why a benefit is excluded for a shipping offer.", + "items": { + "type": "string" + } + }, "CancelShipmentResponse": { "type": "object", "properties": { "payload": { - "description": "The payload for the cancelShipment operation.", + "description": "The payload for the `cancelShipment` operation.", "$ref": "#/definitions/Shipment" }, "errors": { - "description": "One or more unexpected errors occurred during the cancelShipment operation.", + "description": "One or more unexpected errors occurred during the `cancelShipment` operation.", "$ref": "#/definitions/ErrorList" } }, @@ -1843,7 +1850,7 @@ ], "properties": { "ShipmentRequestDetails": { - "description": "Shipment information required for creating a shipment.", + "description": "Shipment information required to create a shipment.", "$ref": "#/definitions/ShipmentRequestDetails" }, "ShippingServiceId": { @@ -1875,7 +1882,7 @@ "$ref": "#/definitions/Shipment" }, "errors": { - "description": "One or more unexpected errors occurred during the createShipment operation.", + "description": "One or more unexpected errors occurred during the `createShipment` operation.", "$ref": "#/definitions/ErrorList" } }, @@ -1883,6 +1890,7 @@ }, "ItemLevelFields": { "type": "object", + "description": "A list of item level fields.", "required": [ "AdditionalInputs", "Asin" @@ -1936,7 +1944,7 @@ "$ref": "#/definitions/ItemLevelFieldsList" } }, - "description": "The payload for the getAdditionalSellerInputs operation." + "description": "The payload for the `getAdditionalSellerInputs` operation." }, "GetAdditionalSellerInputsResponse": { "type": "object", @@ -1972,7 +1980,7 @@ }, "CustomTextForLabel": { "type": "string", - "description": "Custom text to print on the label.\n\nNote: Custom text is only included on labels that are in ZPL format (ZPL203). FedEx does not support CustomTextForLabel.", + "description": "Custom text to print on the label. Note: Custom text is only included on labels that are in ZPL format (ZPL203). FedEx does not support `CustomTextForLabel`.", "maxLength": 14 }, "DeliveryExperienceType": { @@ -1987,15 +1995,15 @@ "x-docgen-enum-table-extension": [ { "value": "DeliveryConfirmationWithAdultSignature", - "description": "Delivery confirmation with adult signature." + "description": "Delivery confirmation with an adult signature." }, { "value": "DeliveryConfirmationWithSignature", - "description": "Delivery confirmation with signature. Required for DPD (UK)." + "description": "Delivery confirmation with a signature. Required for DPD (UK)." }, { "value": "DeliveryConfirmationWithoutSignature", - "description": "Delivery confirmation without signature." + "description": "Delivery confirmation without a signature." }, { "value": "NoTracking", @@ -2105,13 +2113,13 @@ "$ref": "#/definitions/TermsAndConditionsNotAcceptedCarrierList" } }, - "description": "The payload for the getEligibleShipmentServices operation." + "description": "The payload for the `getEligibleShipmentServices` operation." }, "GetShipmentResponse": { "type": "object", "properties": { "payload": { - "description": "The payload for the getShipment operation.", + "description": "The payload for the `getShipment` operation.", "$ref": "#/definitions/Shipment" }, "errors": { @@ -2180,7 +2188,7 @@ }, "ItemList": { "type": "array", - "description": "The list of items to be included in a shipment.", + "description": "The list of items you want to include in a shipment.", "items": { "$ref": "#/definitions/Item" } @@ -2317,25 +2325,26 @@ }, "PackageDimension": { "type": "number", + "description": "Number that represents the given package dimension.", "format": "double" }, "PackageDimensions": { "type": "object", "properties": { "Length": { - "description": "The length dimension. If you don't specify PredefinedPackageDimensions, you must specify the Length.", + "description": "The length dimension. If you don't specify `PredefinedPackageDimensions`, you must specify the length.", "$ref": "#/definitions/PackageDimension" }, "Width": { - "description": "The width dimension. If you don't specify PredefinedPackageDimensions, you must specify the Width.", + "description": "The width dimension. If you don't specify `PredefinedPackageDimensions`, you must specify the width.", "$ref": "#/definitions/PackageDimension" }, "Height": { - "description": "The height dimension. If you don't specify PredefinedPackageDimensions, you must specify the Height.", + "description": "The height dimension. If you don't specify `PredefinedPackageDimensions`, you must specify the height.", "$ref": "#/definitions/PackageDimension" }, "Unit": { - "description": "The unit of measurement. If you don't specify PredefinedPackageDimensions, you must specify the Unit.", + "description": "The unit of measurement. If you don't specify `PredefinedPackageDimensions`, you must specify the unit.", "$ref": "#/definitions/UnitOfLength" }, "PredefinedPackageDimensions": { @@ -2356,7 +2365,7 @@ }, "PredefinedPackageDimensions": { "type": "string", - "description": "An enumeration of predefined parcel tokens. If you specify a PredefinedPackageDimensions token, you are not obligated to use a branded package from a carrier. For example, if you specify the FedEx_Box_10kg token, you do not have to use that particular package from FedEx. You are only obligated to use a box that matches the dimensions specified by the token.\n\nNote: Please note that carriers can have restrictions on the type of package allowed for certain ship methods. Check the carrier website for all details. Example: Flat rate pricing is available when materials are sent by USPS in a USPS-produced Flat Rate Envelope or Box.", + "description": "An enumeration of predefined parcel tokens. If you specify a `PredefinedPackageDimensions` token, you are not obligated to use a branded package from a carrier. For example, if you specify the `FedEx_Box_10kg` token, you do not have to use that particular package from FedEx. You are only obligated to use a box that matches the dimensions specified by the token. Note: Carriers can have restrictions on the type of package allowed for certain ship methods. Check the carrier website for details. Example: Flat rate pricing is available when materials are sent by USPS in a USPS-produced Flat Rate envelope or box.", "enum": [ "FedEx_Box_10kg", "FedEx_Box_25kg", @@ -2670,14 +2679,14 @@ "$ref": "#/definitions/Weight" }, "Insurance": { - "description": "If DeclaredValue was specified in a previous call to the createShipment operation, then Insurance indicates the amount that the carrier will use to insure the shipment. If DeclaredValue was not specified with a previous call to the createShipment operation, then the shipment will be insured for the carrier's minimum insurance amount, or the combined sale prices that the items are listed for in the shipment, whichever is less.", + "description": "If you specify `DeclaredValue` in a previous call to the `createShipment` operation, then `Insurance` indicates the shipment insurance amount that the carrier uses. If `DeclaredValue` isn't with a previous call to the `createShipment` operation, then the shipment is insured for the carrier's minimum insurance amount, or the combined sale prices that the items are listed for in the shipment.", "$ref": "#/definitions/CurrencyAmount" }, "ShippingService": { "$ref": "#/definitions/ShippingService" }, "Label": { - "description": "Data for creating a shipping label and dimensions for printing the label. If the shipment is canceled, an empty Label is returned.", + "description": "Data for creating a shipping label and dimensions for printing the label. If the shipment is canceled, an empty label is returned.", "$ref": "#/definitions/Label" }, "Status": { @@ -2688,7 +2697,7 @@ "$ref": "#/definitions/TrackingId" }, "CreatedDate": { - "description": "The date and time the shipment was created.", + "description": "The date and time the shipment is created.", "$ref": "#/definitions/Timestamp" }, "LastUpdatedDate": { @@ -2696,7 +2705,7 @@ "$ref": "#/definitions/Timestamp" } }, - "description": "The details of a shipment, including the shipment status." + "description": "The details of a shipment. Includes the shipment status." }, "ShipmentId": { "type": "string", @@ -2737,7 +2746,7 @@ "$ref": "#/definitions/Weight" }, "MustArriveByDate": { - "description": "The date by which the package must arrive to keep the promise to the customer, in ISO 8601 datetime format. If MustArriveByDate is specified, only shipping service offers that can be delivered by that date are returned.", + "description": "The date by which the package must arrive to keep the promise to the customer, in ISO 8601 date-time format. If `MustArriveByDate` is specified, only shipping service offers that can be delivered by that date are returned.", "$ref": "#/definitions/Timestamp" }, "ShipDate": { @@ -2767,15 +2776,15 @@ "x-docgen-enum-table-extension": [ { "value": "Purchased", - "description": "The seller purchased a label by calling the createShipment operation." + "description": "The seller purchased a label by calling the `createShipment` operation." }, { "value": "RefundPending", - "description": "The seller requested a label refund by calling the cancelShipment operation, and the refund request is being processed by the carrier.\n\nNote:\n\n* A seller can create a new shipment for an order while Status=RefundPending for a canceled shipment.\n* After a label refund is requested by calling the cancelShipment operation, the order status of the order remains \"Shipped\"." + "description": "The seller requested a label refund by calling the `cancelShipment` operation, and the refund request is being processed by the carrier. Note: A seller can create a new shipment for an order while `Status=RefundPending` for a canceled shipment. After you request a label refund (by calling `cancelShipment`), the status of the order remains `Shipped`." }, { "value": "RefundRejected", - "description": "The label refund request was rejected by the carrier. A refund request is rejected for either of the following reasons:\n\n* The cancellation window has expired. Cancellation policies vary by carrier. For more information about carrier cancellation policies, see the Seller Central Help.\n* The carrier has already accepted the shipment for delivery." + "description": "The label refund request is rejected by the carrier. A refund request is rejected because the cancellation window has expired, or the carrier has already accepted the shipment for delivery. Cancellation policies vary by carrier. For more information about carrier cancellation policies, refer to the Seller Central Help for your marketplace." }, { "value": "RefundApplied", @@ -2851,7 +2860,7 @@ "properties": { "ShippingServiceName": { "type": "string", - "description": "A plain text representation of a carrier's shipping service. For example, \"UPS Ground\" or \"FedEx Standard Overnight\". " + "description": "A plain text representation of a carrier's shipping service. For example, UPS Ground or FedEx Standard Overnight. " }, "CarrierName": { "type": "string", @@ -2896,6 +2905,9 @@ "RequiresAdditionalSellerInputs": { "type": "boolean", "description": "When true, additional seller inputs are required." + }, + "Benefits": { + "$ref": "#/definitions/Benefits" } }, "description": "A shipping service offer made by a carrier." @@ -2923,12 +2935,12 @@ "$ref": "#/definitions/DeliveryExperienceType" }, "DeclaredValue": { - "description": "The declared value of the shipment. The carrier uses this value to determine the amount to use to insure the shipment. If DeclaredValue is greater than the carrier's minimum insurance amount, the seller is charged for the additional insurance as determined by the carrier. For information about optional insurance coverage, see the Seller Central Help [UK](https://sellercentral.amazon.co.uk/gp/help/200204080) [US](https://sellercentral.amazon.com/gp/help/200204080).", + "description": "The declared value of the shipment. The carrier uses this value to determine the amount to use to insure the shipment. If `DeclaredValue` is greater than the carrier's minimum insurance amount, the seller is charged for the additional insurance as determined by the carrier. For information about optional insurance coverage, refer to the Seller Central Help: [UK](https://sellercentral.amazon.co.uk/gp/help/200204080), [US](https://sellercentral.amazon.com/gp/help/200204080).", "$ref": "#/definitions/CurrencyAmount" }, "CarrierWillPickUp": { "type": "boolean", - "description": "When true, the carrier will pick up the package.\n\nNote: Scheduled carrier pickup is available only using Dynamex (US), DPD (UK), and Royal Mail (UK)." + "description": "When true, the carrier will pick up the package. Note: Scheduled carrier pickup is available only using Dynamex (US), DPD (UK), and Royal Mail (UK)." }, "CarrierWillPickUpOption": { "$ref": "#/definitions/CarrierWillPickUpOption" @@ -2978,7 +2990,7 @@ }, "StateOrProvinceCode": { "type": "string", - "description": "The state or province code. **Note.** Required in the Canada, US, and UK marketplaces. Also required for shipments originating from China.", + "description": "The state or province code. Note: Required in Canada, US, and UK marketplaces. Also required for shipments originating in China.", "maxLength": 30 }, "RejectedShippingService": { @@ -2992,19 +3004,19 @@ "properties": { "CarrierName": { "type": "string", - "description": "The rejected shipping carrier name. e.g. USPS" + "description": "The rejected shipping carrier name. For example, USPS." }, "ShippingServiceName": { "type": "string", - "description": "The rejected shipping service localized name. e.g. FedEx Standard Overnight" + "description": "The rejected shipping service localized name. For example, FedEx Standard Overnight." }, "ShippingServiceId": { - "description": "The rejected shipping service identifier. e.g. FEDEX_PTP_STANDARD_OVERNIGHT", + "description": "The rejected shipping service identifier. For example, `FEDEX_PTP_STANDARD_OVERNIGHT`.", "$ref": "#/definitions/ShippingServiceIdentifier" }, "RejectionReasonCode": { "type": "string", - "description": "A reason code meant to be consumed programatically. e.g. CARRIER_CANNOT_SHIP_TO_POBOX" + "description": "A reason code meant to be consumed programatically. For example, `CARRIER_CANNOT_SHIP_TO_POBOX`." }, "RejectionReasonMessage": { "type": "string", @@ -3015,7 +3027,7 @@ }, "RejectedShippingServiceList": { "type": "array", - "description": "List of services that were for some reason unavailable for this request", + "description": "List of services that are for some reason unavailable for this request", "items": { "$ref": "#/definitions/RejectedShippingService" } @@ -3062,6 +3074,7 @@ }, "Timestamp": { "type": "string", + "description": "Date-time formatted timestamp.", "format": "date-time" }, "TrackingId": { @@ -3070,7 +3083,7 @@ }, "TransparencyCode": { "type": "string", - "description": "The Transparency code associated with the item. The Transparency serial number that needs to be submitted can be determined by the following:\n\n**1D or 2D Barcode:** This has a **T** logo. Submit either the 29-character alpha-numeric identifier beginning with **AZ** or **ZA**, or the 38-character Serialized Global Trade Item Number (SGTIN).\n**2D Barcode SN:** Submit the 7- to 20-character serial number barcode, which likely has the prefix **SN**. The serial number will be applied to the same side of the packaging as the GTIN (UPC/EAN/ISBN) barcode.\n**QR code SN:** Submit the URL that the QR code generates." + "description": "The transparency code associated with the item. Determine the transparency serial number with:\n\n**1D or 2D Barcode:** This has a **T** logo. Submit either the 29-character alpha-numeric identifier beginning with **AZ** or **ZA**, or the 38-character Serialized Global Trade Item Number (SGTIN).\n**2D Barcode SN:** Submit the 7- to 20-character serial number barcode, that likely has the prefix **SN**. The serial number is applied to the same side of the packaging as the GTIN (UPC/EAN/ISBN) barcode.\n**QR code SN:** Submit the URL that the QR code generates." }, "TransparencyCodeList": { "type": "array", @@ -3166,7 +3179,7 @@ }, { "value": "FL_OZ", - "description": "Fluid Ounce - Imperial unit of volume." + "description": "Fluid ounce - Imperial unit of volume." }, { "value": "GAL", @@ -3191,11 +3204,11 @@ "description": "The measurement value." } }, - "description": "Liquid Volume." + "description": "Liquid volume." }, "DangerousGoodsDetails": { "type": "object", - "description": "Details related to any dangerous goods/items that are being shipped.", + "description": "Details related to any dangerous goods or items that are shipped.", "properties": { "UnitedNationsRegulatoryId" : { "type": "string", @@ -3204,7 +3217,7 @@ }, "TransportationRegulatoryClass" : { "type": "string", - "description": "The specific regulatory class of the item being shipped.", + "description": "The specific regulatory class of the shipped item.", "pattern": "^[1-9](\\.[1-9])?$" }, "PackingGroup" : { @@ -3251,59 +3264,59 @@ "x-docgen-enum-table-extension": [ { "value": "PI965_SECTION_IA", - "description": "Ion PI965 Section IA (LiBa)" + "description": "Ion PI965 Section IA (LiBa)." }, { "value": "PI965_SECTION_IB", - "description": "Ion PI965 Section IB (LiBa)" + "description": "Ion PI965 Section IB (LiBa)." }, { "value": "PI965_SECTION_II", - "description": "Ion PI965 Section II (LiBa)" + "description": "Ion PI965 Section II (LiBa)." }, { "value": "PI966_SECTION_I", - "description": "Ion PI966 Section I (LiBa with equipment)" + "description": "Ion PI966 Section I (LiBa with equipment)." }, { "value": "PI966_SECTION_II", - "description": "Ion PI966 Section II (LiBa with equipment)" + "description": "Ion PI966 Section II (LiBa with equipment)." }, { "value": "PI967_SECTION_I", - "description": "Ion PI967 Section I (LiBa in equipment)" + "description": "Ion PI967 Section I (LiBa in equipment)." }, { "value": "PI967_SECTION_II", - "description": "Ion PI967 Section II (LiBa in equipment)" + "description": "Ion PI967 Section II (LiBa in equipment)." }, { "value": "PI968_SECTION_IA", - "description": "Metal PI968 Section IA (LiBa)" + "description": "Metal PI968 Section IA (LiBa)." }, { "value": "PI968_SECTION_IB", - "description": "Metal PI968 Section IB (LiBa)" + "description": "Metal PI968 Section IB (LiBa)." }, { "value": "PI969_SECTION_I", - "description": "Metal PI969 Section I (LiBa with equipment)" + "description": "Metal PI969 Section I (LiBa with equipment)." }, { "value": "PI969_SECTION_II", - "description": "Metal PI969 Section II (LiBa with equipment)" + "description": "Metal PI969 Section II (LiBa with equipment)." }, { "value": "PI970_SECTION_I", - "description": "Metal PI970 Section I (LiBa in equipment)" + "description": "Metal PI970 Section I (LiBa in equipment)." }, { "value": "PI970_SECTION_II", - "description": "Metal PI970 Section II (LiBa in equipment)" + "description": "Metal PI970 Section II (LiBa in equipment)." } ] } } } } -} +} \ No newline at end of file From d561ad44d14fc410fb59d7008e539879a4d05428 Mon Sep 17 00:00:00 2001 From: lisa-delaney Date: Fri, 28 Jun 2024 14:45:52 -0700 Subject: [PATCH 140/340] Update Fulfillment Outbound model --- .DS_Store | Bin 0 -> 8196 bytes models/.DS_Store | Bin 0 -> 6148 bytes .../fulfillmentOutbound_2020-07-01.json | 10 +--------- 3 files changed, 1 insertion(+), 9 deletions(-) create mode 100644 .DS_Store create mode 100644 models/.DS_Store diff --git a/.DS_Store b/.DS_Store new file mode 100644 index 0000000000000000000000000000000000000000..bf745114ab5e9299f4a5a32b813404fdf56a82ce GIT binary patch literal 8196 zcmeHMYitx%6u#fIlo>n7v{ERKWmguEKx?<UE=6-X| zz30xHGvArJXO=OB=A2&7ST$ozrh}taPTe&cALqwaO$s!ngdlsyEaqkk?r6qxGFQzG z6=4Lz2!s&`BM?R)jKGZ$0ot>9ldrSyi_x$TBM?U5e;EP(eu&Y*F&W^vK>yW2onHbF z@)E#rbWU}EZxahJ8Q{1;-;~xA)dK=k1SJN9IgQ8obi!nS;{t^_gD__Zu8g2Ufq!+f zi}}+Tk^;j%j6fKHt0TbEr;Lp-hw03iQokS1j9RAaB@$;Km6T2^n=Vh6%jG?(VW*Jt z(q7JOPG@&>snc<+Oz}LO*<~7q0c}=`V|!`SHnP5fsT(wXzl^Tf}FHl2p;HvqiU*TgufLk?x+}KDEEc9CYlIdC(ZpX1e5C8;LuzMxK1? z9(1hSi0uw&6@zJOFlVJbW20s9$)ua<4rU$8+TpmSXF7Iok7w-niVIB|>gjWxtk>c% zHlS%a*Vt*$T4vs8r4?zZN`AHNqkI{6myvY||@Q8{+&oao|ZwGDTzPi|`KxPM}% zR#B;{RkOSErfX&_qc`mi8n$lQLtO<^_lEl@z_w@ZHI1yIRG_BQPLCK9mDO|S&0i3S zh&fkmimUYGGUmfM(>tKWWm#M!vM8>|+6VnQ-DHQO^A&Y}BobM4hb-^r`j)Igy-=%> z6*Xj#?sO?Y!EGk$6-9G9_Yn((sk(ZNtY~_dmChJepjy{Ns%_nQ;d!8}x<^)e2Az=+ za>f<9NK30MYo9&9FWjDXz3rohefgGJw#ss!JDkoM+Y7|OqD8wb`wy1%++>q(dQR4l z#(j$-kzT&kMqM{_a(Z6%+{#EQ(j{wOlZ|HDd6QUA&q9!2jwe&6{AUtRE*H-xE`TvV z#>%Xs7$D!{B5WyZq&=;Z?WLSM%${aP*!%1RJIPM7Gwd8Y&wgeX*)Qx@b_pd=QHcdu zj9SzofqJY%6V_t`wxJVU*o6%C!NLd}co@SYcoc{61fIk5cmXfrHN1g0aTIUk7(T>D z_!yt!b9{l*_!8&vBhKR|T)=O*gx{qKX`ZxLS|Tl#>ZF9!Agz=(OIxHJQm>SehNNNP zfmBSlJ(E3?4v;+QEkfxQdPTeh~{tG3_p>GsX7Ji%_8RW*A~Y{~MvRgHIV zyi7yE+9FZ^oB%%OCuNGyd7l?k`RZq)x-i;BNnz~2l8PcViwUVs=gBKi@Y%Pk@u)V9 z(ng3&)n!qwj8aC3E26bgO`=Q{Vj|k0Y9*A1if_9*TB~Z1g|Jp_QngabNFi=e7pfXl zgwPyqjcPo<+yi$p{^=e-KZ@T{X|C`sr@Xo^sgc1152%xkz z)!IzcuJ?lDwRVh-2kGFA&l?x$n^5PMd_6<#k*Y?_z&f#*|^M}VLT{#*KR$aOD{n1fZo*WNW ztG4&>$;LzSXsSLE$$y{yCf%xhgK<$+JGD3#x(a0(f%#rhrob zV-KKeXsopWwA%@B_^d1aLEmSJqoe+xLi{TXKOkNIIZn4hz=npmzm3J*8jgS?@J|uo z^Fbo9238xR`shHWp8!z)jL?QMza`j5S`Dl=M$rQk#uaK@g?(ZOjD{r Date: Mon, 8 Jul 2024 10:59:48 -0700 Subject: [PATCH 141/340] Added the Benefits object to Merchant Fulfillment --- .DS_Store | Bin 8196 -> 0 bytes models/.DS_Store | Bin 6148 -> 0 bytes .../merchantFulfillmentV0.json | 178 +++++++++--------- 3 files changed, 89 insertions(+), 89 deletions(-) delete mode 100644 .DS_Store delete mode 100644 models/.DS_Store diff --git a/.DS_Store b/.DS_Store deleted file mode 100644 index bf745114ab5e9299f4a5a32b813404fdf56a82ce..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 8196 zcmeHMYitx%6u#fIlo>n7v{ERKWmguEKx?<UE=6-X| zz30xHGvArJXO=OB=A2&7ST$ozrh}taPTe&cALqwaO$s!ngdlsyEaqkk?r6qxGFQzG z6=4Lz2!s&`BM?R)jKGZ$0ot>9ldrSyi_x$TBM?U5e;EP(eu&Y*F&W^vK>yW2onHbF z@)E#rbWU}EZxahJ8Q{1;-;~xA)dK=k1SJN9IgQ8obi!nS;{t^_gD__Zu8g2Ufq!+f zi}}+Tk^;j%j6fKHt0TbEr;Lp-hw03iQokS1j9RAaB@$;Km6T2^n=Vh6%jG?(VW*Jt z(q7JOPG@&>snc<+Oz}LO*<~7q0c}=`V|!`SHnP5fsT(wXzl^Tf}FHl2p;HvqiU*TgufLk?x+}KDEEc9CYlIdC(ZpX1e5C8;LuzMxK1? z9(1hSi0uw&6@zJOFlVJbW20s9$)ua<4rU$8+TpmSXF7Iok7w-niVIB|>gjWxtk>c% zHlS%a*Vt*$T4vs8r4?zZN`AHNqkI{6myvY||@Q8{+&oao|ZwGDTzPi|`KxPM}% zR#B;{RkOSErfX&_qc`mi8n$lQLtO<^_lEl@z_w@ZHI1yIRG_BQPLCK9mDO|S&0i3S zh&fkmimUYGGUmfM(>tKWWm#M!vM8>|+6VnQ-DHQO^A&Y}BobM4hb-^r`j)Igy-=%> z6*Xj#?sO?Y!EGk$6-9G9_Yn((sk(ZNtY~_dmChJepjy{Ns%_nQ;d!8}x<^)e2Az=+ za>f<9NK30MYo9&9FWjDXz3rohefgGJw#ss!JDkoM+Y7|OqD8wb`wy1%++>q(dQR4l z#(j$-kzT&kMqM{_a(Z6%+{#EQ(j{wOlZ|HDd6QUA&q9!2jwe&6{AUtRE*H-xE`TvV z#>%Xs7$D!{B5WyZq&=;Z?WLSM%${aP*!%1RJIPM7Gwd8Y&wgeX*)Qx@b_pd=QHcdu zj9SzofqJY%6V_t`wxJVU*o6%C!NLd}co@SYcoc{61fIk5cmXfrHN1g0aTIUk7(T>D z_!yt!b9{l*_!8&vBhKR|T)=O*gx{qKX`ZxLS|Tl#>ZF9!Agz=(OIxHJQm>SehNNNP zfmBSlJ(E3?4v;+QEkfxQdPTeh~{tG3_p>GsX7Ji%_8RW*A~Y{~MvRgHIV zyi7yE+9FZ^oB%%OCuNGyd7l?k`RZq)x-i;BNnz~2l8PcViwUVs=gBKi@Y%Pk@u)V9 z(ng3&)n!qwj8aC3E26bgO`=Q{Vj|k0Y9*A1if_9*TB~Z1g|Jp_QngabNFi=e7pfXl zgwPyqjcPo<+yi$p{^=e-KZ@T{X|C`sr@Xo^sgc1152%xkz z)!IzcuJ?lDwRVh-2kGFA&l?x$n^5PMd_6<#k*Y?_z&f#*|^M}VLT{#*KR$aOD{n1fZo*WNW ztG4&>$;LzSXsSLE$$y{yCf%xhgK<$+JGD3#x(a0(f%#rhrob zV-KKeXsopWwA%@B_^d1aLEmSJqoe+xLi{TXKOkNIIZn4hz=npmzm3J*8jgS?@J|uo z^Fbo9238xR`shHWp8!z)jL?QMza`j5S`Dl=M$rQk#uaK@g?(ZOjD{rISO 8601 date-time format. If `MustArriveByDate` is specified, only shipping service offers that can be delivered by that date are returned.", + "description": "The date by which the package must arrive to keep the promise to the customer, in ISO 8601 datetime format. If MustArriveByDate is specified, only shipping service offers that can be delivered by that date are returned.", "$ref": "#/definitions/Timestamp" }, "ShipDate": { @@ -2776,15 +2776,15 @@ "x-docgen-enum-table-extension": [ { "value": "Purchased", - "description": "The seller purchased a label by calling the `createShipment` operation." + "description": "The seller purchased a label by calling the createShipment operation." }, { "value": "RefundPending", - "description": "The seller requested a label refund by calling the `cancelShipment` operation, and the refund request is being processed by the carrier. Note: A seller can create a new shipment for an order while `Status=RefundPending` for a canceled shipment. After you request a label refund (by calling `cancelShipment`), the status of the order remains `Shipped`." + "description": "The seller requested a label refund by calling the cancelShipment operation, and the refund request is being processed by the carrier.\n\nNote:\n\n* A seller can create a new shipment for an order while Status=RefundPending for a canceled shipment.\n* After a label refund is requested by calling the cancelShipment operation, the order status of the order remains \"Shipped\"." }, { "value": "RefundRejected", - "description": "The label refund request is rejected by the carrier. A refund request is rejected because the cancellation window has expired, or the carrier has already accepted the shipment for delivery. Cancellation policies vary by carrier. For more information about carrier cancellation policies, refer to the Seller Central Help for your marketplace." + "description": "The label refund request was rejected by the carrier. A refund request is rejected for either of the following reasons:\n\n* The cancellation window has expired. Cancellation policies vary by carrier. For more information about carrier cancellation policies, see the Seller Central Help.\n* The carrier has already accepted the shipment for delivery." }, { "value": "RefundApplied", @@ -2860,7 +2860,7 @@ "properties": { "ShippingServiceName": { "type": "string", - "description": "A plain text representation of a carrier's shipping service. For example, UPS Ground or FedEx Standard Overnight. " + "description": "A plain text representation of a carrier's shipping service. For example, \"UPS Ground\" or \"FedEx Standard Overnight\". " }, "CarrierName": { "type": "string", @@ -2935,12 +2935,12 @@ "$ref": "#/definitions/DeliveryExperienceType" }, "DeclaredValue": { - "description": "The declared value of the shipment. The carrier uses this value to determine the amount to use to insure the shipment. If `DeclaredValue` is greater than the carrier's minimum insurance amount, the seller is charged for the additional insurance as determined by the carrier. For information about optional insurance coverage, refer to the Seller Central Help: [UK](https://sellercentral.amazon.co.uk/gp/help/200204080), [US](https://sellercentral.amazon.com/gp/help/200204080).", + "description": "The declared value of the shipment. The carrier uses this value to determine the amount to use to insure the shipment. If DeclaredValue is greater than the carrier's minimum insurance amount, the seller is charged for the additional insurance as determined by the carrier. For information about optional insurance coverage, see the Seller Central Help [UK](https://sellercentral.amazon.co.uk/gp/help/200204080) [US](https://sellercentral.amazon.com/gp/help/200204080).", "$ref": "#/definitions/CurrencyAmount" }, "CarrierWillPickUp": { "type": "boolean", - "description": "When true, the carrier will pick up the package. Note: Scheduled carrier pickup is available only using Dynamex (US), DPD (UK), and Royal Mail (UK)." + "description": "When true, the carrier will pick up the package.\n\nNote: Scheduled carrier pickup is available only using Dynamex (US), DPD (UK), and Royal Mail (UK)." }, "CarrierWillPickUpOption": { "$ref": "#/definitions/CarrierWillPickUpOption" @@ -2990,7 +2990,7 @@ }, "StateOrProvinceCode": { "type": "string", - "description": "The state or province code. Note: Required in Canada, US, and UK marketplaces. Also required for shipments originating in China.", + "description": "The state or province code. **Note.** Required in the Canada, US, and UK marketplaces. Also required for shipments originating from China.", "maxLength": 30 }, "RejectedShippingService": { @@ -3004,19 +3004,19 @@ "properties": { "CarrierName": { "type": "string", - "description": "The rejected shipping carrier name. For example, USPS." + "description": "The rejected shipping carrier name. e.g. USPS" }, "ShippingServiceName": { "type": "string", - "description": "The rejected shipping service localized name. For example, FedEx Standard Overnight." + "description": "The rejected shipping service localized name. e.g. FedEx Standard Overnight" }, "ShippingServiceId": { - "description": "The rejected shipping service identifier. For example, `FEDEX_PTP_STANDARD_OVERNIGHT`.", + "description": "The rejected shipping service identifier. e.g. FEDEX_PTP_STANDARD_OVERNIGHT", "$ref": "#/definitions/ShippingServiceIdentifier" }, "RejectionReasonCode": { "type": "string", - "description": "A reason code meant to be consumed programatically. For example, `CARRIER_CANNOT_SHIP_TO_POBOX`." + "description": "A reason code meant to be consumed programatically. e.g. CARRIER_CANNOT_SHIP_TO_POBOX" }, "RejectionReasonMessage": { "type": "string", @@ -3027,7 +3027,7 @@ }, "RejectedShippingServiceList": { "type": "array", - "description": "List of services that are for some reason unavailable for this request", + "description": "List of services that were for some reason unavailable for this request", "items": { "$ref": "#/definitions/RejectedShippingService" } @@ -3083,7 +3083,7 @@ }, "TransparencyCode": { "type": "string", - "description": "The transparency code associated with the item. Determine the transparency serial number with:\n\n**1D or 2D Barcode:** This has a **T** logo. Submit either the 29-character alpha-numeric identifier beginning with **AZ** or **ZA**, or the 38-character Serialized Global Trade Item Number (SGTIN).\n**2D Barcode SN:** Submit the 7- to 20-character serial number barcode, that likely has the prefix **SN**. The serial number is applied to the same side of the packaging as the GTIN (UPC/EAN/ISBN) barcode.\n**QR code SN:** Submit the URL that the QR code generates." + "description": "The Transparency code associated with the item. The Transparency serial number that needs to be submitted can be determined by the following:\n\n**1D or 2D Barcode:** This has a **T** logo. Submit either the 29-character alpha-numeric identifier beginning with **AZ** or **ZA**, or the 38-character Serialized Global Trade Item Number (SGTIN).\n**2D Barcode SN:** Submit the 7- to 20-character serial number barcode, which likely has the prefix **SN**. The serial number will be applied to the same side of the packaging as the GTIN (UPC/EAN/ISBN) barcode.\n**QR code SN:** Submit the URL that the QR code generates." }, "TransparencyCodeList": { "type": "array", @@ -3179,7 +3179,7 @@ }, { "value": "FL_OZ", - "description": "Fluid ounce - Imperial unit of volume." + "description": "Fluid Ounce - Imperial unit of volume." }, { "value": "GAL", @@ -3204,11 +3204,11 @@ "description": "The measurement value." } }, - "description": "Liquid volume." + "description": "Liquid Volume." }, "DangerousGoodsDetails": { "type": "object", - "description": "Details related to any dangerous goods or items that are shipped.", + "description": "Details related to any dangerous goods/items that are being shipped.", "properties": { "UnitedNationsRegulatoryId" : { "type": "string", @@ -3217,7 +3217,7 @@ }, "TransportationRegulatoryClass" : { "type": "string", - "description": "The specific regulatory class of the shipped item.", + "description": "The specific regulatory class of the item being shipped.", "pattern": "^[1-9](\\.[1-9])?$" }, "PackingGroup" : { @@ -3264,59 +3264,59 @@ "x-docgen-enum-table-extension": [ { "value": "PI965_SECTION_IA", - "description": "Ion PI965 Section IA (LiBa)." + "description": "Ion PI965 Section IA (LiBa)" }, { "value": "PI965_SECTION_IB", - "description": "Ion PI965 Section IB (LiBa)." + "description": "Ion PI965 Section IB (LiBa)" }, { "value": "PI965_SECTION_II", - "description": "Ion PI965 Section II (LiBa)." + "description": "Ion PI965 Section II (LiBa)" }, { "value": "PI966_SECTION_I", - "description": "Ion PI966 Section I (LiBa with equipment)." + "description": "Ion PI966 Section I (LiBa with equipment)" }, { "value": "PI966_SECTION_II", - "description": "Ion PI966 Section II (LiBa with equipment)." + "description": "Ion PI966 Section II (LiBa with equipment)" }, { "value": "PI967_SECTION_I", - "description": "Ion PI967 Section I (LiBa in equipment)." + "description": "Ion PI967 Section I (LiBa in equipment)" }, { "value": "PI967_SECTION_II", - "description": "Ion PI967 Section II (LiBa in equipment)." + "description": "Ion PI967 Section II (LiBa in equipment)" }, { "value": "PI968_SECTION_IA", - "description": "Metal PI968 Section IA (LiBa)." + "description": "Metal PI968 Section IA (LiBa)" }, { "value": "PI968_SECTION_IB", - "description": "Metal PI968 Section IB (LiBa)." + "description": "Metal PI968 Section IB (LiBa)" }, { "value": "PI969_SECTION_I", - "description": "Metal PI969 Section I (LiBa with equipment)." + "description": "Metal PI969 Section I (LiBa with equipment)" }, { "value": "PI969_SECTION_II", - "description": "Metal PI969 Section II (LiBa with equipment)." + "description": "Metal PI969 Section II (LiBa with equipment)" }, { "value": "PI970_SECTION_I", - "description": "Metal PI970 Section I (LiBa in equipment)." + "description": "Metal PI970 Section I (LiBa in equipment)" }, { "value": "PI970_SECTION_II", - "description": "Metal PI970 Section II (LiBa in equipment)." + "description": "Metal PI970 Section II (LiBa in equipment)" } ] } } } } -} \ No newline at end of file +} From f28ff2645224bfe39fc11985a1a73a8cea000b4d Mon Sep 17 00:00:00 2001 From: Gibran Waldron Date: Wed, 14 Aug 2024 08:15:33 -0700 Subject: [PATCH 142/340] Add unitOfMeasure to the vendorOrders model. --- .../vendor-orders-api-model/vendorOrders.json | 329 +++++++++++------- 1 file changed, 196 insertions(+), 133 deletions(-) diff --git a/models/vendor-orders-api-model/vendorOrders.json b/models/vendor-orders-api-model/vendorOrders.json index 4f1cccdb3..18202e16f 100644 --- a/models/vendor-orders-api-model/vendorOrders.json +++ b/models/vendor-orders-api-model/vendorOrders.json @@ -29,7 +29,7 @@ "tags": [ "vendorOrders" ], - "description": "Returns a list of purchase orders created or changed during the time frame that you specify. You define the time frame using the `createdAfter`, `createdBefore`, `changedAfter` and `changedBefore` parameters. The date range to search must not be more than 7 days. You can choose to get only the purchase order numbers by setting `includeDetails` to false. You can then use the `getPurchaseOrder` operation to receive details for a specific purchase order.\n\n**Usage Plan:**\n\n| Rate (requests per second) | Burst |\n| ---- | ---- |\n| 10 | 10 |\n\nThe `x-amzn-RateLimit-Limit` response header returns the usage plan rate limits that were applied to the requested operation, when available. The table above indicates the default rate and burst values for this operation. Selling partners whose business demands require higher throughput may see higher rate and burst values than those shown here. For more information, refer to [Usage Plans and Rate Limits in the Selling Partner API](https://developer-docs.amazon.com/sp-api/docs/usage-plans-and-rate-limits-in-the-sp-api).", + "description": "Returns a list of purchase orders created or changed during the time frame that you specify. You define the time frame using the `createdAfter`, `createdBefore`, `changedAfter` and `changedBefore` parameters. The date range to search must not be more than 7 days. You can choose to get only the purchase order numbers by setting `includeDetails` to false. You can then use the `getPurchaseOrder` operation to receive details for a specific purchase order.\n\n**Usage Plan:**\n\n| Rate (requests per second) | Burst |\n| ---- | ---- |\n| 10 | 10 |\n\nThe `x-amzn-RateLimit-Limit` response header returns the usage plan rate limits that were applied to the requested operation, when available. The preceding table indicates the default rate and burst values for this operation. Selling partners whose business demands require higher throughput may have higher rate and burst values than those shown here. For more information, refer to [Usage Plans and Rate Limits in the Selling Partner API](https://developer-docs.amazon.com/sp-api/docs/usage-plans-and-rate-limits-in-the-sp-api).", "operationId": "getPurchaseOrders", "parameters": [ { @@ -45,7 +45,7 @@ { "name": "createdAfter", "in": "query", - "description": "Purchase orders that became available after this time will be included in the result. Must be in ISO 8601 date/time format.", + "description": "Purchase orders that became available after this time will be included in the result. Must be in ISO-8601 date/time format.", "required": false, "type": "string", "format": "date-time" @@ -53,7 +53,7 @@ { "name": "createdBefore", "in": "query", - "description": "Purchase orders that became available before this time will be included in the result. Must be in ISO 8601 date/time format.", + "description": "Purchase orders that became available before this time will be included in the result. Must be in ISO-8601 date/time format.", "required": false, "type": "string", "format": "date-time" @@ -89,7 +89,7 @@ { "name": "includeDetails", "in": "query", - "description": "When `true`, returns purchase orders with complete details. Otherwise, only purchase order numbers are returned. Default value is `true`.", + "description": "When true, returns purchase orders with complete details. Otherwise, only purchase order numbers are returned. Default value is true.", "required": false, "type": "string", "format": "boolean" @@ -97,7 +97,7 @@ { "name": "changedAfter", "in": "query", - "description": "Purchase orders that changed after this timestamp will be included in the result. Must be in ISO 8601 date/time format.", + "description": "Purchase orders that changed after this timestamp will be included in the result. Must be in ISO-8601 date/time format.", "required": false, "type": "string", "format": "date-time" @@ -105,7 +105,7 @@ { "name": "changedBefore", "in": "query", - "description": "Purchase orders that changed before this timestamp will be included in the result. Must be in ISO 8601 date/time format.", + "description": "Purchase orders that changed before this timestamp will be included in the result. Must be in ISO-8601 date/time format.", "required": false, "type": "string", "format": "date-time" @@ -113,7 +113,7 @@ { "name": "poItemState", "in": "query", - "description": "Current state of the purchase order item. If this value is `Cancelled`, this API will return purchase orders which have one or more items cancelled by Amazon with updated item quantity as zero.", + "description": "Current state of the purchase order item. If this value is Cancelled, this API will return purchase orders which have one or more items cancelled by Amazon with updated item quantity as zero.", "required": false, "type": "string", "enum": [ @@ -129,7 +129,7 @@ { "name": "isPOChanged", "in": "query", - "description": "When `true`, returns purchase orders which were modified after the order was placed. Vendors are required to pull the changed purchase order and fulfill the updated purchase order and not the original one. Default value is `false`.", + "description": "When true, returns purchase orders which were modified after the order was placed. Vendors are required to pull the changed purchase order and fulfill the updated purchase order and not the original one. Default value is false.", "required": false, "type": "string", "format": "boolean" @@ -255,11 +255,13 @@ "isBackOrderAllowed": true, "netCost": { "amount": "1800", - "currencyCode": "INR" + "currencyCode": "INR", + "unitOfMeasure": "POUNDS" }, "listPrice": { "amount": "2000", - "currencyCode": "INR" + "currencyCode": "INR", + "unitOfMeasure": "POUNDS" } } ] @@ -430,11 +432,13 @@ "isBackOrderAllowed": true, "netCost": { "amount": "94.97", - "currencyCode": "USD" + "currencyCode": "USD", + "unitOfMeasure": "POUNDS" }, "listPrice": { "amount": "94.97", - "currencyCode": "USD" + "currencyCode": "USD", + "unitOfMeasure": "POUNDS" } } ] @@ -985,7 +989,8 @@ "isBackOrderAllowed": true, "netCost": { "amount": "94.97", - "currencyCode": "INR" + "currencyCode": "INR", + "unitOfMeasure": "POUNDS" } } ] @@ -1050,11 +1055,15 @@ } }, "403": { - "description": "Indicates that access to the resource is forbidden. Possible reasons include `Access Denied`, `Unauthorized`, `Expired Token`, or `Invalid Signature`.", + "description": "Indicates that access to the resource is forbidden. Possible reasons include Access Denied, Unauthorized, Expired Token, or Invalid Signature.", "schema": { "$ref": "#/definitions/GetPurchaseOrdersResponse" }, "headers": { + "x-amzn-RateLimit-Limit": { + "type": "string", + "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." + }, "x-amzn-RequestId": { "type": "string", "description": "Unique request reference identifier." @@ -1083,6 +1092,10 @@ "$ref": "#/definitions/GetPurchaseOrdersResponse" }, "headers": { + "x-amzn-RateLimit-Limit": { + "type": "string", + "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." + }, "x-amzn-RequestId": { "type": "string", "description": "Unique request reference identifier." @@ -1095,6 +1108,10 @@ "$ref": "#/definitions/GetPurchaseOrdersResponse" }, "headers": { + "x-amzn-RateLimit-Limit": { + "type": "string", + "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." + }, "x-amzn-RequestId": { "type": "string", "description": "Unique request reference identifier." @@ -1107,6 +1124,10 @@ "$ref": "#/definitions/GetPurchaseOrdersResponse" }, "headers": { + "x-amzn-RateLimit-Limit": { + "type": "string", + "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." + }, "x-amzn-RequestId": { "type": "string", "description": "Unique request reference identifier." @@ -1119,6 +1140,10 @@ "$ref": "#/definitions/GetPurchaseOrdersResponse" }, "headers": { + "x-amzn-RateLimit-Limit": { + "type": "string", + "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." + }, "x-amzn-RequestId": { "type": "string", "description": "Unique request reference identifier." @@ -1133,7 +1158,7 @@ "tags": [ "vendorOrders" ], - "description": "Returns a purchase order based on the `purchaseOrderNumber` value that you specify.\n\n**Usage Plan:**\n\n| Rate (requests per second) | Burst |\n| ---- | ---- |\n| 10 | 10 |\n\nThe `x-amzn-RateLimit-Limit` response header returns the usage plan rate limits that were applied to the requested operation, when available. The table above indicates the default rate and burst values for this operation. Selling partners whose business demands require higher throughput may see higher rate and burst values than those shown here. For more information, refer to [Usage Plans and Rate Limits in the Selling Partner API](https://developer-docs.amazon.com/sp-api/docs/usage-plans-and-rate-limits-in-the-sp-api).", + "description": "Returns a purchase order based on the `purchaseOrderNumber` value that you specify.\n\n**Usage Plan:**\n\n| Rate (requests per second) | Burst |\n| ---- | ---- |\n| 10 | 10 |\n\nThe `x-amzn-RateLimit-Limit` response header returns the usage plan rate limits that were applied to the requested operation, when available. The preceding table indicates the default rate and burst values for this operation. Selling partners whose business demands require higher throughput may have higher rate and burst values than those shown here. For more information, refer to [Usage Plans and Rate Limits in the Selling Partner API](https://developer-docs.amazon.com/sp-api/docs/usage-plans-and-rate-limits-in-the-sp-api).", "operationId": "getPurchaseOrder", "parameters": [ { @@ -1419,11 +1444,15 @@ } }, "401": { - "description": "The request's authorization header is not formatted correctly or does not contain a valid token.", + "description": "The request's Authorization header is not formatted correctly or does not contain a valid token.", "schema": { "$ref": "#/definitions/GetPurchaseOrderResponse" }, "headers": { + "x-amzn-RateLimit-Limit": { + "type": "string", + "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." + }, "x-amzn-RequestId": { "type": "string", "description": "Unique request reference identifier." @@ -1431,11 +1460,15 @@ } }, "403": { - "description": "Indicates that access to the resource is forbidden. Possible reasons include `Access Denied`, `Unauthorized`, `Expired Token`, or `Invalid Signature`.", + "description": "Indicates that access to the resource is forbidden. Possible reasons include Access Denied, Unauthorized, Expired Token, or Invalid Signature.", "schema": { "$ref": "#/definitions/GetPurchaseOrderResponse" }, "headers": { + "x-amzn-RateLimit-Limit": { + "type": "string", + "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." + }, "x-amzn-RequestId": { "type": "string", "description": "Unique request reference identifier." @@ -1464,6 +1497,10 @@ "$ref": "#/definitions/GetPurchaseOrderResponse" }, "headers": { + "x-amzn-RateLimit-Limit": { + "type": "string", + "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." + }, "x-amzn-RequestId": { "type": "string", "description": "Unique request reference identifier." @@ -1476,6 +1513,10 @@ "$ref": "#/definitions/GetPurchaseOrderResponse" }, "headers": { + "x-amzn-RateLimit-Limit": { + "type": "string", + "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." + }, "x-amzn-RequestId": { "type": "string", "description": "Unique request reference identifier." @@ -1488,6 +1529,10 @@ "$ref": "#/definitions/GetPurchaseOrderResponse" }, "headers": { + "x-amzn-RateLimit-Limit": { + "type": "string", + "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." + }, "x-amzn-RequestId": { "type": "string", "description": "Unique request reference identifier." @@ -1500,6 +1545,10 @@ "$ref": "#/definitions/GetPurchaseOrderResponse" }, "headers": { + "x-amzn-RateLimit-Limit": { + "type": "string", + "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." + }, "x-amzn-RequestId": { "type": "string", "description": "Unique request reference identifier." @@ -1514,60 +1563,15 @@ "tags": [ "vendorOrders" ], - "description": "Submits acknowledgements for one or more purchase orders.\n\n**Usage Plan:**\n\n| Rate (requests per second) | Burst |\n| ---- | ---- |\n| 10 | 10 |\n\nThe `x-amzn-RateLimit-Limit` response header returns the usage plan rate limits that were applied to the requested operation, when available. The table above indicates the default rate and burst values for this operation. Selling partners whose business demands require higher throughput may see higher rate and burst values than those shown here. For more information, refer to [Usage Plans and Rate Limits in the Selling Partner API](https://developer-docs.amazon.com/sp-api/docs/usage-plans-and-rate-limits-in-the-sp-api).", + "description": "Submits acknowledgements for one or more purchase orders.\n\n**Usage Plan:**\n\n| Rate (requests per second) | Burst |\n| ---- | ---- |\n| 10 | 10 |\n\nThe `x-amzn-RateLimit-Limit` response header returns the usage plan rate limits that were applied to the requested operation, when available. The preceding table indicates the default rate and burst values for this operation. Selling partners whose business demands require higher throughput may have higher rate and burst values than those shown here. For more information, refer to [Usage Plans and Rate Limits in the Selling Partner API](https://developer-docs.amazon.com/sp-api/docs/usage-plans-and-rate-limits-in-the-sp-api).", "operationId": "submitAcknowledgement", "parameters": [ { "in": "body", "name": "body", - "description": "Submits acknowledgements for one or more purchase orders from a vendor.", "required": true, "schema": { - "$ref": "#/definitions/SubmitAcknowledgementRequest", - "example": { - "acknowledgements": [ - { - "purchaseOrderNumber": "L8266355", - "sellingParty": { - "partyId": "999US" - }, - "acknowledgementDate": "2019-07-17T19:17:34.304Z", - "items": [ - { - "itemSequenceNumber": "1", - "amazonProductIdentifier": "ABC123434", - "vendorProductIdentifier": "028877454078", - "orderedQuantity": { - "amount": 10, - "unitOfMeasure": "Cases" - }, - "netCost": { - "currencyCode": "USD", - "amount": "18.0" - }, - "listPrice": { - "currencyCode": "USD", - "amount": "22.2" - }, - "discountMultiplier": "0.44", - "itemAcknowledgements": [ - { - "acknowledgementCode": "Rejected", - "acknowledgedQuantity": { - "amount": 6, - "unitOfMeasure": "Cases", - "unitSize": 2 - }, - "scheduledShipDate": "2019-07-17T19:17:34.304Z", - "scheduledDeliveryDate": "2019-07-17T19:17:34.304Z", - "rejectionReason": "TemporarilyUnavailable" - } - ] - } - ] - } - ] - } + "$ref": "#/definitions/SubmitAcknowledgementRequest" } } ], @@ -1700,11 +1704,15 @@ } }, "403": { - "description": "Indicates that access to the resource is forbidden. Possible reasons include `Access Denied`, `Unauthorized,` `Expired Token`, or `Invalid Signature`.", + "description": "Indicates that access to the resource is forbidden. Possible reasons include Access Denied, Unauthorized, Expired Token, or Invalid Signature.", "schema": { "$ref": "#/definitions/SubmitAcknowledgementResponse" }, "headers": { + "x-amzn-RateLimit-Limit": { + "type": "string", + "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." + }, "x-amzn-RequestId": { "type": "string", "description": "Unique request reference identifier." @@ -1733,6 +1741,10 @@ "$ref": "#/definitions/SubmitAcknowledgementResponse" }, "headers": { + "x-amzn-RateLimit-Limit": { + "type": "string", + "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." + }, "x-amzn-RequestId": { "type": "string", "description": "Unique request reference identifier." @@ -1745,6 +1757,10 @@ "$ref": "#/definitions/SubmitAcknowledgementResponse" }, "headers": { + "x-amzn-RateLimit-Limit": { + "type": "string", + "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." + }, "x-amzn-RequestId": { "type": "string", "description": "Unique request reference identifier." @@ -1757,6 +1773,10 @@ "$ref": "#/definitions/SubmitAcknowledgementResponse" }, "headers": { + "x-amzn-RateLimit-Limit": { + "type": "string", + "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." + }, "x-amzn-RequestId": { "type": "string", "description": "Unique request reference identifier." @@ -1769,6 +1789,10 @@ "$ref": "#/definitions/SubmitAcknowledgementResponse" }, "headers": { + "x-amzn-RateLimit-Limit": { + "type": "string", + "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." + }, "x-amzn-RequestId": { "type": "string", "description": "Unique request reference identifier." @@ -1781,6 +1805,10 @@ "$ref": "#/definitions/SubmitAcknowledgementResponse" }, "headers": { + "x-amzn-RateLimit-Limit": { + "type": "string", + "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." + }, "x-amzn-RequestId": { "type": "string", "description": "Unique request reference identifier." @@ -1795,7 +1823,7 @@ "tags": [ "vendorOrders" ], - "description": "Returns purchase order statuses based on the filters that you specify. Date range to search must not be more than 7 days. You can return a list of purchase order statuses using the available filters, or a single purchase order status by providing the purchase order number.\n\n**Usage Plan:**\n\n| Rate (requests per second) | Burst |\n| ---- | ---- |\n| 10 | 10 |\n\nThe `x-amzn-RateLimit-Limit` response header returns the usage plan rate limits that were applied to the requested operation, when available. The table above indicates the default rate and burst values for this operation. Selling partners whose business demands require higher throughput may see higher rate and burst values than those shown here. For more information, refer to [Usage Plans and Rate Limits in the Selling Partner API](https://developer-docs.amazon.com/sp-api/docs/usage-plans-and-rate-limits-in-the-sp-api).", + "description": "Returns purchase order statuses based on the filters that you specify. Date range to search must not be more than 7 days. You can return a list of purchase order statuses using the available filters, or a single purchase order status by providing the purchase order number.\n\n**Usage Plan:**\n\n| Rate (requests per second) | Burst |\n| ---- | ---- |\n| 10 | 10 |\n\nThe `x-amzn-RateLimit-Limit` response header returns the usage plan rate limits that were applied to the requested operation, when available. The preceding table indicates the default rate and burst values for this operation. Selling partners whose business demands require higher throughput may have higher rate and burst values than those shown here. For more information, refer to [Usage Plans and Rate Limits in the Selling Partner API](https://developer-docs.amazon.com/sp-api/docs/usage-plans-and-rate-limits-in-the-sp-api).", "operationId": "getPurchaseOrdersStatus", "parameters": [ { @@ -1839,7 +1867,7 @@ { "name": "createdAfter", "in": "query", - "description": "Purchase orders that became available after this timestamp will be included in the result. Must be in ISO 8601 date/time format.", + "description": "Purchase orders that became available after this timestamp will be included in the result. Must be in ISO-8601 date/time format.", "required": false, "type": "string", "format": "date-time" @@ -1847,7 +1875,7 @@ { "name": "createdBefore", "in": "query", - "description": "Purchase orders that became available before this timestamp will be included in the result. Must be in ISO 8601 date/time format.", + "description": "Purchase orders that became available before this timestamp will be included in the result. Must be in ISO-8601 date/time format.", "required": false, "type": "string", "format": "date-time" @@ -1855,7 +1883,7 @@ { "name": "updatedAfter", "in": "query", - "description": "Purchase orders for which the last purchase order update happened after this timestamp will be included in the result. Must be in ISO 8601 date/time format.", + "description": "Purchase orders for which the last purchase order update happened after this timestamp will be included in the result. Must be in ISO-8601 date/time format.", "required": false, "type": "string", "format": "date-time" @@ -1863,7 +1891,7 @@ { "name": "updatedBefore", "in": "query", - "description": "Purchase orders for which the last purchase order update happened before this timestamp will be included in the result. Must be in ISO 8601 date/time format.", + "description": "Purchase orders for which the last purchase order update happened before this timestamp will be included in the result. Must be in ISO-8601 date/time format.", "required": false, "type": "string", "format": "date-time" @@ -2660,11 +2688,15 @@ } }, "403": { - "description": "Indicates that access to the resource is forbidden. Possible reasons include `Access Denied`, `Unauthorized`, `Expired Token`, or `Invalid Signature`.", + "description": "Indicates that access to the resource is forbidden. Possible reasons include Access Denied, Unauthorized, Expired Token, or Invalid Signature.", "schema": { "$ref": "#/definitions/GetPurchaseOrdersStatusResponse" }, "headers": { + "x-amzn-RateLimit-Limit": { + "type": "string", + "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." + }, "x-amzn-RequestId": { "type": "string", "description": "Unique request reference identifier." @@ -2693,6 +2725,10 @@ "$ref": "#/definitions/GetPurchaseOrdersStatusResponse" }, "headers": { + "x-amzn-RateLimit-Limit": { + "type": "string", + "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." + }, "x-amzn-RequestId": { "type": "string", "description": "Unique request reference identifier." @@ -2705,6 +2741,10 @@ "$ref": "#/definitions/GetPurchaseOrdersStatusResponse" }, "headers": { + "x-amzn-RateLimit-Limit": { + "type": "string", + "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." + }, "x-amzn-RequestId": { "type": "string", "description": "Unique request reference identifier." @@ -2717,6 +2757,10 @@ "$ref": "#/definitions/GetPurchaseOrdersStatusResponse" }, "headers": { + "x-amzn-RateLimit-Limit": { + "type": "string", + "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." + }, "x-amzn-RequestId": { "type": "string", "description": "Unique request reference identifier." @@ -2729,6 +2773,10 @@ "$ref": "#/definitions/GetPurchaseOrdersStatusResponse" }, "headers": { + "x-amzn-RateLimit-Limit": { + "type": "string", + "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." + }, "x-amzn-RequestId": { "type": "string", "description": "Unique request reference identifier." @@ -2751,7 +2799,7 @@ "$ref": "#/definitions/ErrorList" } }, - "description": "The response schema for the `getPurchaseOrders` operation." + "description": "The response schema for the getPurchaseOrders operation." }, "GetPurchaseOrderResponse": { "type": "object", @@ -2764,7 +2812,7 @@ "$ref": "#/definitions/ErrorList" } }, - "description": "The response schema for the `getPurchaseOrder` operation." + "description": "The response schema for the getPurchaseOrder operation." }, "OrderList": { "type": "object", @@ -2776,21 +2824,18 @@ "type": "array", "items": { "$ref": "#/definitions/Order" - }, - "description": "Represents an individual order within the `OrderList`." + } } - }, - "description": "A list of orders returned as response." + } }, "Pagination": { "type": "object", "properties": { "nextToken": { "type": "string", - "description": "A generated string used to pass information to your next request. If `NextToken` is returned, pass the value of `NextToken` to the next request. If `NextToken` is not returned, there are no more purchase order items to return." + "description": "A generated string used to pass information to your next request. If NextToken is returned, pass the value of NextToken to the next request. If NextToken is not returned, there are no more purchase order items to return." } - }, - "description": "The pagination elements required to retrieve the remaining data." + } }, "Order": { "type": "object", @@ -2814,11 +2859,11 @@ "x-docgen-enum-table-extension": [ { "value": "New", - "description": "The purchase order is newly created and needs to be acknowledged by the vendor." + "description": "The purchase order is newly created and needs to be acknowledged by vendor." }, { "value": "Acknowledged", - "description": "The purchase order has been acknowledged by the vendor." + "description": "The purchase order has been acknowledged by vendor." }, { "value": "Closed", @@ -2830,8 +2875,7 @@ "description": "Details of an order.", "$ref": "#/definitions/OrderDetails" } - }, - "description": "Represents an order placed by Amazon, including the purchase order number, current state, and order details." + } }, "OrderDetails": { "type": "object", @@ -2844,17 +2888,17 @@ "purchaseOrderDate": { "type": "string", "format": "date-time", - "description": "The date the purchase order was placed. Must be in ISO 8601 date/time format." + "description": "The date the purchase order was placed. Must be in ISO-8601 date/time format." }, "purchaseOrderChangedDate": { "type": "string", "format": "date-time", - "description": "The date when purchase order was last changed by Amazon after the order was placed. This date will be greater than 'purchaseOrderDate'. This means the PO data was changed on that date and vendors are required to fulfill the updated PO. The PO changes can be related to Item Quantity, Ship to Location, Ship Window etc. This field will not be present in orders that have not changed after creation. Must be in ISO 8601 date/time format." + "description": "The date when purchase order was last changed by Amazon after the order was placed. This date will be greater than 'purchaseOrderDate'. This means the PO data was changed on that date and vendors are required to fulfill the updated PO. The PO changes can be related to Item Quantity, Ship to Location, Ship Window etc. This field will not be present in orders that have not changed after creation. Must be in ISO-8601 date/time format." }, "purchaseOrderStateChangedDate": { "type": "string", "format": "date-time", - "description": "The date when current purchase order state was changed. Current purchase order state is available in the field 'purchaseOrderState'. Must be in ISO 8601 date/time format." + "description": "The date when current purchase order state was changed. Current purchase order state is available in the field 'purchaseOrderState'. Must be in ISO-8601 date/time format." }, "purchaseOrderType": { "type": "string", @@ -3060,12 +3104,12 @@ }, "portOfDelivery": { "type": "string", - "description": "The port where goods on an import purchase order must be delivered by the vendor. This should only be specified when the `internationalCommercialTerms` is `FOB`.", + "description": "The port where goods on an import purchase order must be delivered by the vendor. This should only be specified when the internationalCommercialTerms is FOB.", "maxLength": 64 }, "importContainers": { "type": "string", - "description": "Types and numbers of container(s) for import purchase orders. Can be a comma-separated list if the shipment has multiple containers. HC signifies a high-capacity container. Free-text field, limited to 64 characters. The format will be a comma-delimited list containing values of the type: `$NUMBER_OF_CONTAINERS_OF_THIS_TYPE-$CONTAINER_TYPE`. The list of values for the container type is: `40'`(40-foot container), `40'HC` (40-foot high-capacity container), `45'`, `45'HC`, `30'`, `30'HC`, `20'`, `20'HC`.", + "description": "Types and numbers of container(s) for import purchase orders. Can be a comma-separated list if the shipment has multiple containers. HC signifies a high-capacity container. Free-text field, limited to 64 characters. The format will be a comma-delimited list containing values of the type: $NUMBER_OF_CONTAINERS_OF_THIS_TYPE-$CONTAINER_TYPE. The list of values for the container type is: 40'(40-foot container), 40'HC (40-foot high-capacity container), 45', 45'HC, 30', 30'HC, 20', 20'HC.", "maxLength": 64 }, "shippingInstructions": { @@ -3077,11 +3121,10 @@ }, "DateTimeInterval": { "type": "string", - "description": "Defines a date time interval according to ISO 8601. Interval is separated by double hyphen (--)." + "description": "Defines a date time interval according to ISO8601. Interval is separated by double hyphen (--)." }, "PartyIdentification": { "type": "object", - "description": "Name, address and tax details of a party.", "required": [ "partyId" ], @@ -3127,7 +3170,7 @@ }, "taxRegistrationNumber": { "type": "string", - "description": "Tax registration number for the entity. For example, `VAT ID`." + "description": "Tax registration number for the entity. For example, VAT ID." } }, "description": "Tax registration details of the entity." @@ -3174,7 +3217,7 @@ }, "postalCode": { "type": "string", - "description": "The postal code of that address. It contains a series of letters or digits or both, sometimes including spaces or punctuation." + "description": "The postal code of that address. It conatins a series of letters or digits or both, sometimes including spaces or punctuation." }, "countryCode": { "type": "string", @@ -3217,15 +3260,14 @@ "description": "When true, we will accept backorder confirmations for this item." }, "netCost": { - "description": "The price to Amazon each (cost).", + "description": "The net cost of an item per each or weight unit.", "$ref": "#/definitions/Money" }, "listPrice": { - "description": "The price to Amazon each (list).", + "description": "The list price of an item per each or weight unit.", "$ref": "#/definitions/Money" } - }, - "description": "Represents an individual item in an order, including item details, quantities, pricing, and backorder information." + } }, "Money": { "type": "object", @@ -3237,9 +3279,37 @@ }, "amount": { "$ref": "#/definitions/Decimal" + }, + "unitOfMeasure": { + "type": "string", + "description": "The unit of measure for prices of items sold by weight. If this field is absent, the item is sold by eaches.", + "enum": [ + "POUNDS", + "OUNCES", + "GRAMS", + "KILOGRAMS" + ], + "x-docgen-enum-table-extension": [ + { + "value": "POUNDS", + "description": "Priced per Pound." + }, + { + "value": "OUNCES", + "description": "Priced per Ounce." + }, + { + "value": "GRAMS", + "description": "Priced per Gram." + }, + { + "value": "KILOGRAMS", + "description": "Priced per Kilogram." + } + ] } }, - "description": "An amount of money, including units in the form of currency." + "description": "An amount of money. Includes the currency code and an optional unit of measure for items priced by weight." }, "Decimal": { "type": "string", @@ -3249,14 +3319,14 @@ "type": "object", "properties": { "payload": { - "description": "The payload for the `submitAcknowledgement` operation.", + "description": "The payload for the submitAcknowledgement operation.", "$ref": "#/definitions/TransactionId" }, "errors": { "$ref": "#/definitions/ErrorList" } }, - "description": "The response schema for the `submitAcknowledgement` operation" + "description": "The response schema for the submitAcknowledgement operation" }, "TransactionId": { "type": "object", @@ -3265,8 +3335,7 @@ "type": "string", "description": "GUID assigned by Amazon to identify this transaction. This value can be used with the Transaction Status API to return the status of this transaction." } - }, - "description": "Response containing the transaction ID." + } }, "ErrorList": { "type": "array", @@ -3282,11 +3351,10 @@ "type": "array", "items": { "$ref": "#/definitions/OrderAcknowledgement" - }, - "description": "An array of order acknowledgements to be submitted." + } } }, - "description": "The request schema for the `submitAcknowledgment` operation." + "description": "The request schema for the submitAcknowledgment operation." }, "OrderAcknowledgement": { "type": "object", @@ -3308,7 +3376,7 @@ "acknowledgementDate": { "type": "string", "format": "date-time", - "description": "The date and time when the purchase order is acknowledged, in ISO 8601 date/time format." + "description": "The date and time when the purchase order is acknowledged, in ISO-8601 date/time format." }, "items": { "type": "array", @@ -3317,8 +3385,7 @@ "$ref": "#/definitions/OrderAcknowledgementItem" } } - }, - "description": "Represents an acknowledgement for an order, including the purchase order number, selling party details, acknowledgement date, and a list of acknowledged items." + } }, "OrderAcknowledgementItem": { "type": "object", @@ -3344,11 +3411,11 @@ "$ref": "#/definitions/ItemQuantity" }, "netCost": { - "description": "The cost to Amazon, which should match the cost on the invoice. This is a required field. If this is left blank the file will reject in Amazon systems. Price information should not be zero or negative. Indicates a net unit price.", + "description": "The net cost of an item per each or weight unit that must match the cost on the invoice. This is a required field. If left blank, Amazon systems will reject the file. Price information must not be zero or negative.", "$ref": "#/definitions/Money" }, "listPrice": { - "description": "The list price. This is required only if a vendor sells books with a list price.", + "description": "The list price of an item per each or weight unit. Required only if a vendor sells books at list price.", "$ref": "#/definitions/Money" }, "discountMultiplier": { @@ -3387,7 +3454,7 @@ }, { "value": "Backordered", - "description": "Vendor placed a backorder to fulfill the original order and provides a `scheduledShipDate` or `scheduledDeliveryDate` which is different than the `expectedShipDate` or `expectedDeliveryDate` provided in the purchase order." + "description": "Vendor placed a backorder to fulfill the original order and provides a scheduledShipDate or scheduledDeliveryDate which is different than the expectedShipDate or expectedDeliveryDate provided in the purchase order." }, { "value": "Rejected", @@ -3402,12 +3469,12 @@ "scheduledShipDate": { "type": "string", "format": "date-time", - "description": "Estimated ship date per line item. Must be in ISO 8601 date/time format." + "description": "Estimated ship date per line item. Must be in ISO-8601 date/time format." }, "scheduledDeliveryDate": { "type": "string", "format": "date-time", - "description": "Estimated delivery date per line item. Must be in ISO 8601 date/time format." + "description": "Estimated delivery date per line item. Must be in ISO-8601 date/time format." }, "rejectionReason": { "type": "string", @@ -3432,8 +3499,7 @@ } ] } - }, - "description": "Represents the acknowledgement details for an individual order item, including the acknowledgement code, acknowledged quantity, scheduled ship and delivery dates, and rejection reason (if applicable)." + } }, "ItemQuantity": { "type": "object", @@ -3478,7 +3544,7 @@ "$ref": "#/definitions/ErrorList" } }, - "description": "The response schema for the `getPurchaseOrdersStatus` operation." + "description": "The response schema for the getPurchaseOrdersStatus operation." }, "OrderListStatus": { "type": "object", @@ -3490,11 +3556,9 @@ "type": "array", "items": { "$ref": "#/definitions/OrderStatus" - }, - "description": "Represents an order status within the `OrderListStatus`." + } } - }, - "description": "A list of order statuses." + } }, "OrderStatus": { "type": "object", @@ -3532,12 +3596,12 @@ "purchaseOrderDate": { "type": "string", "format": "date-time", - "description": "The date the purchase order was placed. Must be in ISO 8601 date/time format." + "description": "The date the purchase order was placed. Must be in ISO-8601 date/time format." }, "lastUpdatedDate": { "type": "string", "format": "date-time", - "description": "The date when the purchase order was last updated. Must be in ISO 8601 date/time format." + "description": "The date when the purchase order was last updated. Must be in ISO-8601 date/time format." }, "sellingParty": { "description": "Name/Address and tax details of the selling party.", @@ -3580,11 +3644,11 @@ "description": "The vendor selected product identification of the item." }, "netCost": { - "description": "The net cost to Amazon each (cost).", + "description": "The net cost of an item per each or weight unit.", "$ref": "#/definitions/Money" }, "listPrice": { - "description": "The list Price to Amazon each (list).", + "description": "The list price of an item per each or weight unit.", "$ref": "#/definitions/Money" }, "orderedQuantity": { @@ -3687,12 +3751,11 @@ "lastReceiveDate": { "type": "string", "format": "date-time", - "description": "The date when the most recent item was received at the buyer's warehouse. Must be in ISO 8601 date/time format." + "description": "The date when the most recent item was received at the buyer's warehouse. Must be in ISO-8601 date/time format." } } } - }, - "description": "Represents the current status of an order item, including acknowledgement and receiving details." + } }, "OrderedQuantityDetails": { "type": "object", @@ -3700,7 +3763,7 @@ "updatedDate": { "type": "string", "format": "date-time", - "description": "The date when the line item quantity was updated by the buyer. Must be in ISO 8601 date/time format." + "description": "The date when the line item quantity was updated by buyer. Must be in ISO-8601 date/time format." }, "orderedQuantity": { "description": "Item quantity ordered.", @@ -3711,7 +3774,7 @@ "$ref": "#/definitions/ItemQuantity" } }, - "description": "Details of the item quantity ordered." + "description": "Details of item quantity ordered" }, "AcknowledgementStatusDetails": { "type": "object", @@ -3719,18 +3782,18 @@ "acknowledgementDate": { "type": "string", "format": "date-time", - "description": "The date when the line item was confirmed by the vendor. Must be in ISO 8601 date/time format." + "description": "The date when the line item was confirmed by vendor. Must be in ISO-8601 date/time format." }, "acceptedQuantity": { - "description": "Item quantity accepted by the vendor to be shipped.", + "description": "Item quantity accepted by vendor to be shipped.", "$ref": "#/definitions/ItemQuantity" }, "rejectedQuantity": { - "description": "Item quantity rejected by the vendor.", + "description": "Item quantity rejected by vendor.", "$ref": "#/definitions/ItemQuantity" } }, - "description": "Details of the item quantity ordered" + "description": "Details of item quantity ordered" }, "Error": { "type": "object", From 734ec7e75b7950c52cae8bbda0e5f33e0cbe0321 Mon Sep 17 00:00:00 2001 From: Jack Evoniuk Date: Mon, 26 Aug 2024 10:08:07 -0700 Subject: [PATCH 143/340] Update rate limits in Catalog Items --- models/catalog-items-api-model/catalogItems_2022-04-01.json | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/models/catalog-items-api-model/catalogItems_2022-04-01.json b/models/catalog-items-api-model/catalogItems_2022-04-01.json index 1047cb99e..a73e07d33 100644 --- a/models/catalog-items-api-model/catalogItems_2022-04-01.json +++ b/models/catalog-items-api-model/catalogItems_2022-04-01.json @@ -29,7 +29,7 @@ "tags": [ "catalog" ], - "description": "Search for and return a list of Amazon catalog items and associated information either by identifier or by keywords.\n\n**Usage Plans:**\n\n| Rate (requests per second) | Burst |\n| ---- | ---- |\n| 5 | 5 |\n\nThe `x-amzn-RateLimit-Limit` response header returns the usage plan rate limits that were applied to the requested operation, when available. The table above indicates the default rate and burst values for this operation. Selling partners whose business demands require higher throughput may observe higher rate and burst values than those shown here. For more information, refer to the [Usage Plans and Rate Limits in the Selling Partner API](doc:usage-plans-and-rate-limits-in-the-sp-api).", + "description": "Search for and return a list of Amazon catalog items and associated information either by identifier or by keywords.\n\n**Usage Plans:**\n\n| Rate (requests per second) | Burst |\n| ---- | ---- |\n| 2 | 2 |\n\nThe `x-amzn-RateLimit-Limit` response header returns the usage plan rate limits that were applied to the requested operation, when available. The table above indicates the default rate and burst values for this operation. Selling partners whose business demands require higher throughput may observe higher rate and burst values than those shown here. For more information, refer to the [Usage Plans and Rate Limits in the Selling Partner API](doc:usage-plans-and-rate-limits-in-the-sp-api).", "operationId": "searchCatalogItems", "consumes": [ "application/json" @@ -1668,7 +1668,7 @@ "tags": [ "catalog" ], - "description": "Retrieves details for an item in the Amazon catalog.\n\n**Usage Plan:**\n\n| Rate (requests per second) | Burst |\n| ---- | ---- |\n| 5 | 5 |\n\nThe `x-amzn-RateLimit-Limit` response header returns the usage plan rate limits that were applied to the requested operation, when available. The table above indicates the default rate and burst values for this operation. Selling partners whose business demands require higher throughput may observe higher rate and burst values than those shown here. For more information, refer to the [Usage Plans and Rate Limits in the Selling Partner API](doc:usage-plans-and-rate-limits-in-the-sp-api).", + "description": "Retrieves details for an item in the Amazon catalog.\n\n**Usage Plan:**\n\n| Rate (requests per second) | Burst |\n| ---- | ---- |\n| 2 | 2 |\n\nThe `x-amzn-RateLimit-Limit` response header returns the usage plan rate limits that were applied to the requested operation, when available. The table above indicates the default rate and burst values for this operation. Selling partners whose business demands require higher throughput may observe higher rate and burst values than those shown here. For more information, refer to the [Usage Plans and Rate Limits in the Selling Partner API](doc:usage-plans-and-rate-limits-in-the-sp-api).", "operationId": "getCatalogItem", "consumes": [ "application/json" From c1829b60f56bcc6cd6782cd40a6cd1ec0c58665e Mon Sep 17 00:00:00 2001 From: Marc Marschall <20718963+worksasintended@users.noreply.github.com> Date: Tue, 30 Jul 2024 17:00:27 +0200 Subject: [PATCH 144/340] change mvn package org.projectlombok.lombok from version 1.18.08 to 1.18.34 --- clients/sellingpartner-api-aa-java/pom.xml | 1 + 1 file changed, 1 insertion(+) diff --git a/clients/sellingpartner-api-aa-java/pom.xml b/clients/sellingpartner-api-aa-java/pom.xml index 1f6366119..bd13e7b5f 100644 --- a/clients/sellingpartner-api-aa-java/pom.xml +++ b/clients/sellingpartner-api-aa-java/pom.xml @@ -56,6 +56,7 @@ 1.18.34 provided + com.google.code.gson From b79a348255f07829a99c3a7b4cac7fe78108959d Mon Sep 17 00:00:00 2001 From: Marc Marschall Date: Tue, 30 Jul 2024 17:11:05 +0200 Subject: [PATCH 145/340] Update pom.xml --- clients/sellingpartner-api-aa-java/pom.xml | 1 - 1 file changed, 1 deletion(-) diff --git a/clients/sellingpartner-api-aa-java/pom.xml b/clients/sellingpartner-api-aa-java/pom.xml index bd13e7b5f..1f6366119 100644 --- a/clients/sellingpartner-api-aa-java/pom.xml +++ b/clients/sellingpartner-api-aa-java/pom.xml @@ -56,7 +56,6 @@ 1.18.34 provided - com.google.code.gson From 70e061785f39441b2c3ab4d4156bd8e8687907a1 Mon Sep 17 00:00:00 2001 From: ruby4406 Date: Tue, 20 Aug 2024 03:33:42 +0530 Subject: [PATCH 146/340] Merge remote-tracking branch 'origin/SPAPIDoc-2419-listingsitemsissueschange-schema' into pr/4068 --- .DS_Store | Bin 0 -> 8196 bytes models/.DS_Store | Bin 0 -> 10244 bytes .../fbaSmallandLight.json | 2271 +++++++++++++++++ 3 files changed, 2271 insertions(+) create mode 100644 .DS_Store create mode 100644 models/.DS_Store create mode 100644 models/fba-small-and-light-api-model/fbaSmallandLight.json diff --git a/.DS_Store b/.DS_Store new file mode 100644 index 0000000000000000000000000000000000000000..52e8b63df488a9c1c6351c4382e4a169552bc92e GIT binary patch literal 8196 zcmeHMU2GIp6u#fIlo>kEDJ)P&$}UtTLV=c_0s^}IL(6Z|ZD}dUc6Vol39~b0XLgHL zwCa;l;$JkzsEJQXR33~PMWYV}MIU@n{J|I>j2dJ7OEfRH)-0$4GXO=OBj-t`ZSOa5Bri)Xpmb!~HKF+TxO$sH|L_zwD+04t1d81j|%}$ve z38Dx@5r`rXMIeem6oLOj1nA7>O`hi57o$-hMIeg6Wf=j!KP2elG#SzfL4&P>x}XFg z%1eNt(LL1xfleZ%$&gM68mN*@Q9U43MOb1$sMC0YPbZoT>4cy{ok6HGgil6Tp&)oV z=_P{c3`s$wK8ipTfvFMT=~Kh<%w+~ME9&>t*-_i_{FataAyrk+sF^9xlxyXiQ-|HL zl%Mg7UPq>|pL6}LYiG;%ne1N697}7lPS^1>mSYwI1dU2|f?#Q zS2%W}(kt65b&9VNRqM-MeNpyGnN_RK*82zc4i2elZElHPf6u6IxsJEjEOT?-8SF|&}*>2k@>o${QbzZLE+IFw&S=`LNA>Taa^RX#I zL&Kh1@H+!zLl)T=v$UdT_L*eVDw$nm+KW{<2<6nAg^QM4y?ph$OqEt? zb+l;tw`xtYENm^-6N>hVe88aR?{W>UX#^wsV*M&v-p}Qo1(SLqR+s75Dq2SF_sCIU zqFG&~Xr9u4gce<>wyJAo%}@sHOxCo8s7>7{Yde&|l8Chs#?&pcGL&=kd3tG2$ZpWv zW$mndkUw~5#`E`#nojwZZqU1BdDuIgDVTf42y$hO9$5|+kK|mX+pv7M5O}>~v99mq zrrHg|G(xBKUcFD&J|Z2>a!M9~oR&{uU2aNl7mLu8Tpr$(7bS>gQ?f;uyJ;RJv>UwqF3Cz-t+ze}{g6_DMMspgllDB~mHT zu3Xfp#s?@J%wv@aT25STCQncK9G|^psT$X2P{IiInq|b+P_hViMRPo^NtC04ZE20G zS`}rW66mgPCKe&H={i-_swo%6*!7LXvXJTMBr`m-9Zm2v6WiJQX1PB%a3$ zcoDDSHN1|~cn4?j9?s%@e1MPfCBDTE_^krTyCx$UzgHr;lqxv3>l`9^8U2%0E?KTh zc-Fw{|L*C(|6j8HM~+1ih$2ASUUgThtAipj-TudG?F3yTbn(XLO$ZvOP#2WrM1yji m=!HKF={`YIxlS^q6M~Y2+Q0rGV7edF(fJ>p{{bQ|kM1wypjK4? literal 0 HcmV?d00001 diff --git a/models/.DS_Store b/models/.DS_Store new file mode 100644 index 0000000000000000000000000000000000000000..cd5aa68a204c15ed0367f3a875676bad62ead55f GIT binary patch literal 10244 zcmeI1-EI;=6vxlBXqQwIG-{}c$tK=-Q6gIrX}m$i7Z9TtYU*yGbmOv1SdbWk;o6V) zG2Z(MUi$z(g#Y=d(Z%vnEY#!-nfcGo&Ij|$nVFnfA`+Ee-667x$U>Bwxq##^LB5x9 zEUcN53{;>!QA{mzDZno`R+|f$025#WOn?b6fwMpWXSNL1rdCdw025#WzX-_v!A6u? zHagO(whko91%RedtOD}V9guBoqh+Hbt$2eVbW^BqDvXOEbaRy3re4|TNULs6!Z;to zj4X_YBGl;U-&WO0l(llo1em}$0l8dm&;fby+jD>T?=FQ@M_E8VHR+JL$h*|WQx0B! zgm(=JynfvFg2+QJU%YnU$K8DXn^;>4?25)MeFo?n?dXXbs z22CIAB)@$yil=bUayAh1J~iPH?-1wbxPWt_Qo4tMLHLrrX#5y)NgPb%NN|7%@rE2R&_hllQX~ zuFHjO?F2JVu*+gC_Q0==)%q5;7Q^y-pf}5oHg0j&DV_vreG)hY2b;fB%I7Dn(^*b} zxn~|Uo!WlXYU}+{rE~YuimFv}j#}The(Ya*_w@mKIzd16f6`C;aPc`MEb2EroMi$` zfC(@GCcp$%Mqpi!Y|H!qN5_BvU)lfTftdgkIDG;lRjpMk80YAMEIFjSYqt?!A<7`@ zjkKyJNYr&aR9(m8L0-q-LX>s$Qe{BCY;>d*B?wFZ7{LDj*iCN2TbtYSoOlz={{NKQ JljZyWKLMN3!xR7j literal 0 HcmV?d00001 diff --git a/models/fba-small-and-light-api-model/fbaSmallandLight.json b/models/fba-small-and-light-api-model/fbaSmallandLight.json new file mode 100644 index 000000000..b5e5aac98 --- /dev/null +++ b/models/fba-small-and-light-api-model/fbaSmallandLight.json @@ -0,0 +1,2271 @@ +{ + "swagger": "2.0", + "info": { + "description": "The Selling Partner API for FBA Small and Light lets you help sellers manage their listings in the Small and Light program. The program reduces the cost of fulfilling orders for small and lightweight FBA inventory. You can enroll or remove items from the program and check item eligibility and enrollment status. You can also preview the estimated program fees charged to a seller for items sold while enrolled in the program. \n\n**Note:** The FBA Small and Light program sunset in the US and EU regions on **September 26, 2023**. The program will be deprecated in the JP region on **March 31, 2024** and sunset on **April 1, 2024**. APIs announcing deprecation will no longer be supported after their deprecation date. Calls to deprecated APIs will fail beginning on their sunset date. For more information, refer to [FBA Small and Light program deprecation](https://developer-docs.amazon.com/sp-api/changelog/fba-small-and-light-program-deprecation).", + "version": "v1", + "title": "Selling Partner API for FBA Small And Light", + "contact": { + "name": "Selling Partner API Developer Support", + "url": "https://sellercentral.amazon.com/gp/mws/contactus.html" + }, + "license": { + "name": "Apache License 2.0", + "url": "http://www.apache.org/licenses/LICENSE-2.0" + } + }, + "host": "sellingpartnerapi-na.amazon.com", + "schemes": [ + "https" + ], + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "paths": { + "/fba/smallAndLight/v1/enrollments/{sellerSKU}": { + "get": { + "tags": [ + "smallAndLight" + ], + "description": "Returns the Small and Light enrollment status for the item indicated by the specified seller SKU in the specified marketplace.\n\n**Usage Plan:**\n\n| Rate (requests per second) | Burst |\n| ---- | ---- |\n| 2 | 10 |\n\nThe `x-amzn-RateLimit-Limit` response header returns the usage plan rate limits that were applied to the requested operation, when available. The table above indicates the default rate and burst values for this operation. Selling partners whose business demands require higher throughput may see higher rate and burst values than those shown here. For more information, see [Usage Plans and Rate Limits in the Selling Partner API](https://developer-docs.amazon.com/sp-api/docs/usage-plans-and-rate-limits-in-the-sp-api).", + "operationId": "getSmallAndLightEnrollmentBySellerSKU", + "deprecated": true, + "parameters": [ + { + "name": "sellerSKU", + "in": "path", + "description": "The seller SKU that identifies the item.", + "required": true, + "type": "string" + }, + { + "name": "marketplaceIds", + "in": "query", + "description": "The marketplace for which the enrollment status is retrieved. Note: Accepts a single marketplace only.", + "required": true, + "type": "array", + "items": { + "type": "string" + }, + "maxItems": 1 + } + ], + "responses": { + "200": { + "description": "Success.", + "schema": { + "$ref": "#/definitions/SmallAndLightEnrollment" + }, + "headers": { + "x-amzn-RateLimit-Limit": { + "type": "string", + "description": "Your rate limit (requests per second) for this operation." + }, + "x-amzn-RequestId": { + "type": "string", + "description": "Unique request reference identifier." + } + }, + "x-amzn-api-sandbox": { + "static": [ + { + "request": { + "parameters": { + "sellerSKU": { + "value": "SKU_ENROLLED_IN_SMALL_AND_LIGHT" + }, + "marketplaceIds": { + "value": [ + "ATVPDKIKX0DER" + ] + } + } + }, + "response": { + "marketplaceId": "ATVPDKIKX0DER", + "sellerSKU": "SKU_ENROLLED_IN_SMALL_AND_LIGHT", + "status": "ENROLLED" + } + } + ] + } + }, + "400": { + "description": "Request has missing or invalid parameters and cannot be parsed.", + "schema": { + "$ref": "#/definitions/ErrorList" + }, + "headers": { + "x-amzn-RateLimit-Limit": { + "type": "string", + "description": "Your rate limit (requests per second) for this operation." + }, + "x-amzn-RequestId": { + "type": "string", + "description": "Unique request reference identifier." + } + }, + "x-amzn-api-sandbox": { + "static": [ + { + "request": { + "parameters": { + "sellerSKU": { + "value": "SKU_400" + }, + "marketplaceIds": { + "value": [ + "ATVPDKIKX0DER" + ] + } + } + }, + "response": { + "errors": [ + { + "code": "InvalidInput", + "message": "Invalid input." + } + ] + } + } + ] + } + }, + "403": { + "description": "Indicates that access to the resource is forbidden. Possible reasons include Access Denied, Unauthorized, Expired Token, or Invalid Signature.", + "schema": { + "$ref": "#/definitions/ErrorList" + }, + "headers": { + "x-amzn-RequestId": { + "type": "string", + "description": "Unique request reference identifier." + } + }, + "x-amzn-api-sandbox": { + "static": [ + { + "request": { + "parameters": { + "sellerSKU": { + "value": "SKU_403" + }, + "marketplaceIds": { + "value": [ + "ATVPDKIKX0DER" + ] + } + } + }, + "response": { + "errors": [ + { + "code": "Unauthorized", + "message": "Access to requested resource is denied." + } + ] + } + } + ] + } + }, + "404": { + "description": "The resource specified does not exist.", + "schema": { + "$ref": "#/definitions/ErrorList" + }, + "headers": { + "x-amzn-RateLimit-Limit": { + "type": "string", + "description": "Your rate limit (requests per second) for this operation." + }, + "x-amzn-RequestId": { + "type": "string", + "description": "Unique request reference identifier." + } + }, + "x-amzn-api-sandbox": { + "static": [ + { + "request": { + "parameters": { + "sellerSKU": { + "value": "SKU_404" + }, + "marketplaceIds": { + "value": [ + "ATVPDKIKX0DER" + ] + } + } + }, + "response": { + "errors": [ + { + "code": "NotFound", + "message": "Requested resource is not found" + } + ] + } + } + ] + } + }, + "413": { + "description": "The request size exceeded the maximum accepted size.", + "schema": { + "$ref": "#/definitions/ErrorList" + }, + "headers": { + "x-amzn-RateLimit-Limit": { + "type": "string", + "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." + }, + "x-amzn-RequestId": { + "type": "string", + "description": "Unique request reference identifier." + } + }, + "x-amzn-api-sandbox": { + "static": [ + { + "request": { + "parameters": { + "sellerSKU": { + "value": "SKU_413" + }, + "marketplaceIds": { + "value": [ + "ATVPDKIKX0DER" + ] + } + } + }, + "response": { + "errors": [ + { + "code": "PayloadTooLarge", + "message": "Payload of the request is too large." + } + ] + } + } + ] + } + }, + "415": { + "description": "The request payload is in an unsupported format.", + "schema": { + "$ref": "#/definitions/ErrorList" + }, + "headers": { + "x-amzn-RateLimit-Limit": { + "type": "string", + "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." + }, + "x-amzn-RequestId": { + "type": "string", + "description": "Unique request reference identifier." + } + }, + "x-amzn-api-sandbox": { + "static": [ + { + "request": { + "parameters": { + "sellerSKU": { + "value": "SKU_415" + }, + "marketplaceIds": { + "value": [ + "ATVPDKIKX0DER" + ] + } + } + }, + "response": { + "errors": [ + { + "code": "UnsupportedType", + "message": "The entity of the request is of unsupported type." + } + ] + } + } + ] + } + }, + "429": { + "description": "The frequency of requests was greater than allowed.", + "schema": { + "$ref": "#/definitions/ErrorList" + }, + "headers": { + "x-amzn-RateLimit-Limit": { + "type": "string", + "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." + }, + "x-amzn-RequestId": { + "type": "string", + "description": "Unique request reference identifier." + } + }, + "x-amzn-api-sandbox": { + "static": [ + { + "request": { + "parameters": { + "sellerSKU": { + "value": "SKU_429" + }, + "marketplaceIds": { + "value": [ + "ATVPDKIKX0DER" + ] + } + } + }, + "response": { + "errors": [ + { + "code": "TooManyRequests", + "message": "Total number of requests exceed your allowed limits." + } + ] + } + } + ] + } + }, + "500": { + "description": "An unexpected condition occurred that prevented the server from fulfilling the request.", + "schema": { + "$ref": "#/definitions/ErrorList" + }, + "headers": { + "x-amzn-RateLimit-Limit": { + "type": "string", + "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." + }, + "x-amzn-RequestId": { + "type": "string", + "description": "Unique request reference identifier." + } + }, + "x-amzn-api-sandbox": { + "static": [ + { + "request": { + "parameters": { + "sellerSKU": { + "value": "SKU_500" + }, + "marketplaceIds": { + "value": [ + "ATVPDKIKX0DER" + ] + } + } + }, + "response": { + "errors": [ + { + "code": "InternalServerError", + "message": "Server encountered an unexpected condition while processing your request." + } + ] + } + } + ] + } + }, + "503": { + "description": "Temporary overloading or maintenance of the server.", + "schema": { + "$ref": "#/definitions/ErrorList" + }, + "headers": { + "x-amzn-RateLimit-Limit": { + "type": "string", + "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." + }, + "x-amzn-RequestId": { + "type": "string", + "description": "Unique request reference identifier." + } + }, + "x-amzn-api-sandbox": { + "static": [ + { + "request": { + "parameters": { + "sellerSKU": { + "value": "SKU_503" + }, + "marketplaceIds": { + "value": [ + "ATVPDKIKX0DER" + ] + } + } + }, + "response": { + "errors": [ + { + "code": "ServiceUnavailable", + "message": "Server is temporarily unavailable." + } + ] + } + } + ] + } + } + } + }, + "put": { + "tags": [ + "smallAndLight" + ], + "description": "Enrolls the item indicated by the specified seller SKU in the Small and Light program in the specified marketplace. If the item is not eligible, the ineligibility reasons are returned.\n\n**Usage Plan:**\n\n| Rate (requests per second) | Burst |\n| ---- | ---- |\n| 2 | 5 |\n\nThe `x-amzn-RateLimit-Limit` response header returns the usage plan rate limits that were applied to the requested operation, when available. The table above indicates the default rate and burst values for this operation. Selling partners whose business demands require higher throughput may see higher rate and burst values than those shown here. For more information, see [Usage Plans and Rate Limits in the Selling Partner API](https://developer-docs.amazon.com/sp-api/docs/usage-plans-and-rate-limits-in-the-sp-api).", + "operationId": "putSmallAndLightEnrollmentBySellerSKU", + "deprecated": true, + "parameters": [ + { + "name": "sellerSKU", + "in": "path", + "description": "The seller SKU that identifies the item.", + "required": true, + "type": "string" + }, + { + "name": "marketplaceIds", + "in": "query", + "description": "The marketplace in which to enroll the item. Note: Accepts a single marketplace only.", + "required": true, + "type": "array", + "items": { + "type": "string" + }, + "maxItems": 1 + } + ], + "responses": { + "200": { + "description": "Success.", + "schema": { + "$ref": "#/definitions/SmallAndLightEnrollment" + }, + "headers": { + "x-amzn-RateLimit-Limit": { + "type": "string", + "description": "Your rate limit (requests per second) for this operation." + }, + "x-amzn-RequestId": { + "type": "string", + "description": "Unique request reference identifier." + } + }, + "x-amzn-api-sandbox": { + "static": [ + { + "request": { + "parameters": { + "sellerSKU": { + "value": "SKU_ELIGIBLE_FOR_SMALL_AND_LIGHT" + }, + "marketplaceIds": { + "value": [ + "ATVPDKIKX0DER" + ] + } + } + }, + "response": { + "marketplaceId": "ATVPDKIKX0DER", + "sellerSKU": "SKU_ELIGIBLE_FOR_SMALL_AND_LIGHT", + "status": "ENROLLED" + } + } + ] + } + }, + "400": { + "description": "Request has missing or invalid parameters and cannot be parsed.", + "schema": { + "$ref": "#/definitions/ErrorList" + }, + "headers": { + "x-amzn-RateLimit-Limit": { + "type": "string", + "description": "Your rate limit (requests per second) for this operation." + }, + "x-amzn-RequestId": { + "type": "string", + "description": "Unique request reference identifier." + } + }, + "x-amzn-api-sandbox": { + "static": [ + { + "request": { + "parameters": { + "sellerSKU": { + "value": "SKU_400" + }, + "marketplaceIds": { + "value": [ + "ATVPDKIKX0DER" + ] + } + } + }, + "response": { + "errors": [ + { + "code": "InvalidInput", + "message": "Invalid input." + } + ] + } + } + ] + } + }, + "403": { + "description": "Indicates that access to the resource is forbidden. Possible reasons include Access Denied, Unauthorized, Expired Token, or Invalid Signature.", + "schema": { + "$ref": "#/definitions/ErrorList" + }, + "headers": { + "x-amzn-RequestId": { + "type": "string", + "description": "Unique request reference identifier." + } + }, + "x-amzn-api-sandbox": { + "static": [ + { + "request": { + "parameters": { + "sellerSKU": { + "value": "SKU_403" + }, + "marketplaceIds": { + "value": [ + "ATVPDKIKX0DER" + ] + } + } + }, + "response": { + "errors": [ + { + "code": "Unauthorized", + "message": "Access to requested resource is denied." + } + ] + } + } + ] + } + }, + "404": { + "description": "The resource specified does not exist.", + "schema": { + "$ref": "#/definitions/ErrorList" + }, + "headers": { + "x-amzn-RateLimit-Limit": { + "type": "string", + "description": "Your rate limit (requests per second) for this operation." + }, + "x-amzn-RequestId": { + "type": "string", + "description": "Unique request reference identifier." + } + }, + "x-amzn-api-sandbox": { + "static": [ + { + "request": { + "parameters": { + "sellerSKU": { + "value": "SKU_404" + }, + "marketplaceIds": { + "value": [ + "ATVPDKIKX0DER" + ] + } + } + }, + "response": { + "errors": [ + { + "code": "NotFound", + "message": "Requested resource is not found" + } + ] + } + } + ] + } + }, + "413": { + "description": "The request size exceeded the maximum accepted size.", + "schema": { + "$ref": "#/definitions/ErrorList" + }, + "headers": { + "x-amzn-RateLimit-Limit": { + "type": "string", + "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." + }, + "x-amzn-RequestId": { + "type": "string", + "description": "Unique request reference identifier." + } + }, + "x-amzn-api-sandbox": { + "static": [ + { + "request": { + "parameters": { + "sellerSKU": { + "value": "SKU_413" + }, + "marketplaceIds": { + "value": [ + "ATVPDKIKX0DER" + ] + } + } + }, + "response": { + "errors": [ + { + "code": "PayloadTooLarge", + "message": "Payload of the request is too large." + } + ] + } + } + ] + } + }, + "415": { + "description": "The request payload is in an unsupported format.", + "schema": { + "$ref": "#/definitions/ErrorList" + }, + "headers": { + "x-amzn-RateLimit-Limit": { + "type": "string", + "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." + }, + "x-amzn-RequestId": { + "type": "string", + "description": "Unique request reference identifier." + } + }, + "x-amzn-api-sandbox": { + "static": [ + { + "request": { + "parameters": { + "sellerSKU": { + "value": "SKU_415" + }, + "marketplaceIds": { + "value": [ + "ATVPDKIKX0DER" + ] + } + } + }, + "response": { + "errors": [ + { + "code": "UnsupportedType", + "message": "The entity of the request is of unsupported type." + } + ] + } + } + ] + } + }, + "429": { + "description": "The frequency of requests was greater than allowed.", + "schema": { + "$ref": "#/definitions/ErrorList" + }, + "headers": { + "x-amzn-RateLimit-Limit": { + "type": "string", + "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." + }, + "x-amzn-RequestId": { + "type": "string", + "description": "Unique request reference identifier." + } + }, + "x-amzn-api-sandbox": { + "static": [ + { + "request": { + "parameters": { + "sellerSKU": { + "value": "SKU_429" + }, + "marketplaceIds": { + "value": [ + "ATVPDKIKX0DER" + ] + } + } + }, + "response": { + "errors": [ + { + "code": "TooManyRequests", + "message": "Total number of requests exceed your allowed limits." + } + ] + } + } + ] + } + }, + "500": { + "description": "An unexpected condition occurred that prevented the server from fulfilling the request.", + "schema": { + "$ref": "#/definitions/ErrorList" + }, + "headers": { + "x-amzn-RateLimit-Limit": { + "type": "string", + "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." + }, + "x-amzn-RequestId": { + "type": "string", + "description": "Unique request reference identifier." + } + }, + "x-amzn-api-sandbox": { + "static": [ + { + "request": { + "parameters": { + "sellerSKU": { + "value": "SKU_500" + }, + "marketplaceIds": { + "value": [ + "ATVPDKIKX0DER" + ] + } + } + }, + "response": { + "errors": [ + { + "code": "InternalServerError", + "message": "Server encountered an unexpected condition while processing your request." + } + ] + } + } + ] + } + }, + "503": { + "description": "Temporary overloading or maintenance of the server.", + "schema": { + "$ref": "#/definitions/ErrorList" + }, + "headers": { + "x-amzn-RateLimit-Limit": { + "type": "string", + "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." + }, + "x-amzn-RequestId": { + "type": "string", + "description": "Unique request reference identifier." + } + }, + "x-amzn-api-sandbox": { + "static": [ + { + "request": { + "parameters": { + "sellerSKU": { + "value": "SKU_503" + }, + "marketplaceIds": { + "value": [ + "ATVPDKIKX0DER" + ] + } + } + }, + "response": { + "errors": [ + { + "code": "ServiceUnavailable", + "message": "Server is temporarily unavailable." + } + ] + } + } + ] + } + } + } + }, + "delete": { + "tags": [ + "smallAndLight" + ], + "description": "Removes the item indicated by the specified seller SKU from the Small and Light program in the specified marketplace. If the item is not eligible for disenrollment, the ineligibility reasons are returned.\n\n**Usage Plan:**\n\n| Rate (requests per second) | Burst |\n| ---- | ---- |\n| 2 | 5 |\n\nThe `x-amzn-RateLimit-Limit` response header returns the usage plan rate limits that were applied to the requested operation, when available. The table above indicates the default rate and burst values for this operation. Selling partners whose business demands require higher throughput may see higher rate and burst values than those shown here. For more information, see [Usage Plans and Rate Limits in the Selling Partner API](https://developer-docs.amazon.com/sp-api/docs/usage-plans-and-rate-limits-in-the-sp-api).", + "operationId": "deleteSmallAndLightEnrollmentBySellerSKU", + "deprecated": true, + "parameters": [ + { + "name": "sellerSKU", + "in": "path", + "description": "The seller SKU that identifies the item.", + "required": true, + "type": "string" + }, + { + "name": "marketplaceIds", + "in": "query", + "description": "The marketplace in which to remove the item from the Small and Light program. Note: Accepts a single marketplace only.", + "required": true, + "type": "array", + "items": { + "type": "string" + }, + "maxItems": 1 + } + ], + "responses": { + "204": { + "description": "Success.", + "headers": { + "x-amzn-RateLimit-Limit": { + "type": "string", + "description": "Your rate limit (requests per second) for this operation." + }, + "x-amzn-RequestId": { + "type": "string", + "description": "Unique request reference identifier." + } + }, + "x-amzn-api-sandbox": { + "static": [ + { + "request": { + "parameters": { + "sellerSKU": { + "value": "SKU_ENROLLED_FOR_SMALL_AND_LIGHT" + }, + "marketplaceIds": { + "value": [ + "ATVPDKIKX0DER" + ] + } + } + }, + "response": {} + } + ] + } + }, + "400": { + "description": "Request has missing or invalid parameters and cannot be parsed.", + "schema": { + "$ref": "#/definitions/ErrorList" + }, + "headers": { + "x-amzn-RateLimit-Limit": { + "type": "string", + "description": "Your rate limit (requests per second) for this operation." + }, + "x-amzn-RequestId": { + "type": "string", + "description": "Unique request reference identifier." + } + }, + "x-amzn-api-sandbox": { + "static": [ + { + "request": { + "parameters": { + "sellerSKU": { + "value": "SKU_400" + }, + "marketplaceIds": { + "value": [ + "ATVPDKIKX0DER" + ] + } + } + }, + "response": { + "errors": [ + { + "code": "InvalidInput", + "message": "Invalid input." + } + ] + } + } + ] + } + }, + "403": { + "description": "Indicates that access to the resource is forbidden. Possible reasons include Access Denied, Unauthorized, Expired Token, or Invalid Signature.", + "schema": { + "$ref": "#/definitions/ErrorList" + }, + "headers": { + "x-amzn-RequestId": { + "type": "string", + "description": "Unique request reference identifier." + } + }, + "x-amzn-api-sandbox": { + "static": [ + { + "request": { + "parameters": { + "sellerSKU": { + "value": "SKU_403" + }, + "marketplaceIds": { + "value": [ + "ATVPDKIKX0DER" + ] + } + } + }, + "response": { + "errors": [ + { + "code": "Unauthorized", + "message": "Access to requested resource is denied." + } + ] + } + } + ] + } + }, + "404": { + "description": "The resource specified does not exist.", + "schema": { + "$ref": "#/definitions/ErrorList" + }, + "headers": { + "x-amzn-RateLimit-Limit": { + "type": "string", + "description": "Your rate limit (requests per second) for this operation." + }, + "x-amzn-RequestId": { + "type": "string", + "description": "Unique request reference identifier." + } + }, + "x-amzn-api-sandbox": { + "static": [ + { + "request": { + "parameters": { + "sellerSKU": { + "value": "SKU_404" + }, + "marketplaceIds": { + "value": [ + "ATVPDKIKX0DER" + ] + } + } + }, + "response": { + "errors": [ + { + "code": "NotFound", + "message": "Requested resource is not found" + } + ] + } + } + ] + } + }, + "413": { + "description": "The request size exceeded the maximum accepted size.", + "schema": { + "$ref": "#/definitions/ErrorList" + }, + "headers": { + "x-amzn-RateLimit-Limit": { + "type": "string", + "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." + }, + "x-amzn-RequestId": { + "type": "string", + "description": "Unique request reference identifier." + } + }, + "x-amzn-api-sandbox": { + "static": [ + { + "request": { + "parameters": { + "sellerSKU": { + "value": "SKU_413" + }, + "marketplaceIds": { + "value": [ + "ATVPDKIKX0DER" + ] + } + } + }, + "response": { + "errors": [ + { + "code": "PayloadTooLarge", + "message": "Payload of the request is too large." + } + ] + } + } + ] + } + }, + "415": { + "description": "The request payload is in an unsupported format.", + "schema": { + "$ref": "#/definitions/ErrorList" + }, + "headers": { + "x-amzn-RateLimit-Limit": { + "type": "string", + "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." + }, + "x-amzn-RequestId": { + "type": "string", + "description": "Unique request reference identifier." + } + }, + "x-amzn-api-sandbox": { + "static": [ + { + "request": { + "parameters": { + "sellerSKU": { + "value": "SKU_415" + }, + "marketplaceIds": { + "value": [ + "ATVPDKIKX0DER" + ] + } + } + }, + "response": { + "errors": [ + { + "code": "UnsupportedType", + "message": "The entity of the request is of unsupported type." + } + ] + } + } + ] + } + }, + "429": { + "description": "The frequency of requests was greater than allowed.", + "schema": { + "$ref": "#/definitions/ErrorList" + }, + "headers": { + "x-amzn-RateLimit-Limit": { + "type": "string", + "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." + }, + "x-amzn-RequestId": { + "type": "string", + "description": "Unique request reference identifier." + } + }, + "x-amzn-api-sandbox": { + "static": [ + { + "request": { + "parameters": { + "sellerSKU": { + "value": "SKU_429" + }, + "marketplaceIds": { + "value": [ + "ATVPDKIKX0DER" + ] + } + } + }, + "response": { + "errors": [ + { + "code": "TooManyRequests", + "message": "Total number of requests exceed your allowed limits." + } + ] + } + } + ] + } + }, + "500": { + "description": "An unexpected condition occurred that prevented the server from fulfilling the request.", + "schema": { + "$ref": "#/definitions/ErrorList" + }, + "headers": { + "x-amzn-RateLimit-Limit": { + "type": "string", + "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." + }, + "x-amzn-RequestId": { + "type": "string", + "description": "Unique request reference identifier." + } + }, + "x-amzn-api-sandbox": { + "static": [ + { + "request": { + "parameters": { + "sellerSKU": { + "value": "SKU_500" + }, + "marketplaceIds": { + "value": [ + "ATVPDKIKX0DER" + ] + } + } + }, + "response": { + "errors": [ + { + "code": "InternalServerError", + "message": "Server encountered an unexpected condition while processing your request." + } + ] + } + } + ] + } + }, + "503": { + "description": "Temporary overloading or maintenance of the server.", + "schema": { + "$ref": "#/definitions/ErrorList" + }, + "headers": { + "x-amzn-RateLimit-Limit": { + "type": "string", + "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." + }, + "x-amzn-RequestId": { + "type": "string", + "description": "Unique request reference identifier." + } + }, + "x-amzn-api-sandbox": { + "static": [ + { + "request": { + "parameters": { + "sellerSKU": { + "value": "SKU_503" + }, + "marketplaceIds": { + "value": [ + "ATVPDKIKX0DER" + ] + } + } + }, + "response": { + "errors": [ + { + "code": "ServiceUnavailable", + "message": "Server is temporarily unavailable." + } + ] + } + } + ] + } + } + } + } + }, + "/fba/smallAndLight/v1/eligibilities/{sellerSKU}": { + "get": { + "tags": [ + "smallAndLight" + ], + "description": "Returns the Small and Light program eligibility status of the item indicated by the specified seller SKU in the specified marketplace. If the item is not eligible, the ineligibility reasons are returned. **Note:** The parameters associated with this operation may contain special characters that must be encoded to successfully call the API. To avoid errors with SKUs when encoding URLs, refer to [URL Encoding](https://developer-docs.amazon.com/sp-api/docs/url-encoding).\n\n**Usage Plan:**\n\n| Rate (requests per second) | Burst |\n| ---- | ---- |\n| 2 | 10 |\n\nThe `x-amzn-RateLimit-Limit` response header returns the usage plan rate limits that were applied to the requested operation, when available. The table above indicates the default rate and burst values for this operation. Selling partners whose business demands require higher throughput may see higher rate and burst values than those shown here. For more information, see [Usage Plans and Rate Limits in the Selling Partner API](https://developer-docs.amazon.com/sp-api/docs/usage-plans-and-rate-limits-in-the-sp-api).", + "operationId": "getSmallAndLightEligibilityBySellerSKU", + "deprecated": true, + "parameters": [ + { + "name": "sellerSKU", + "in": "path", + "description": "The seller SKU that identifies the item.", + "required": true, + "type": "string" + }, + { + "name": "marketplaceIds", + "in": "query", + "description": "The marketplace for which the eligibility status is retrieved. NOTE: Accepts a single marketplace only.", + "required": true, + "type": "array", + "items": { + "type": "string" + }, + "maxItems": 1 + } + ], + "responses": { + "200": { + "description": "Success.", + "schema": { + "$ref": "#/definitions/SmallAndLightEligibility" + }, + "headers": { + "x-amzn-RateLimit-Limit": { + "type": "string", + "description": "Your rate limit (requests per second) for this operation." + }, + "x-amzn-RequestId": { + "type": "string", + "description": "Unique request reference identifier." + } + }, + "x-amzn-api-sandbox": { + "static": [ + { + "request": { + "parameters": { + "sellerSKU": { + "value": "SKU_ELIGIBLE_FOR_SMALL_AND_LIGHT" + }, + "marketplaceIds": { + "value": [ + "ATVPDKIKX0DER" + ] + } + } + }, + "response": { + "marketplaceId": "ATVPDKIKX0DER", + "sellerSKU": "SKU_ELIGIBLE_FOR_SMALL_AND_LIGHT", + "status": "ELIGIBLE" + } + } + ] + } + }, + "400": { + "description": "Request has missing or invalid parameters and cannot be parsed.", + "schema": { + "$ref": "#/definitions/ErrorList" + }, + "headers": { + "x-amzn-RateLimit-Limit": { + "type": "string", + "description": "Your rate limit (requests per second) for this operation." + }, + "x-amzn-RequestId": { + "type": "string", + "description": "Unique request reference identifier." + } + }, + "x-amzn-api-sandbox": { + "static": [ + { + "request": { + "parameters": { + "sellerSKU": { + "value": "SKU_400" + }, + "marketplaceIds": { + "value": [ + "ATVPDKIKX0DER" + ] + } + } + }, + "response": { + "errors": [ + { + "code": "InvalidInput", + "message": "Invalid input." + } + ] + } + } + ] + } + }, + "403": { + "description": "Indicates that access to the resource is forbidden. Possible reasons include Access Denied, Unauthorized, Expired Token, or Invalid Signature.", + "schema": { + "$ref": "#/definitions/ErrorList" + }, + "headers": { + "x-amzn-RequestId": { + "type": "string", + "description": "Unique request reference identifier." + } + }, + "x-amzn-api-sandbox": { + "static": [ + { + "request": { + "parameters": { + "sellerSKU": { + "value": "SKU_403" + }, + "marketplaceIds": { + "value": [ + "ATVPDKIKX0DER" + ] + } + } + }, + "response": { + "errors": [ + { + "code": "Unauthorized", + "message": "Access to requested resource is denied." + } + ] + } + } + ] + } + }, + "404": { + "description": "The resource specified does not exist.", + "schema": { + "$ref": "#/definitions/ErrorList" + }, + "headers": { + "x-amzn-RateLimit-Limit": { + "type": "string", + "description": "Your rate limit (requests per second) for this operation." + }, + "x-amzn-RequestId": { + "type": "string", + "description": "Unique request reference identifier." + } + }, + "x-amzn-api-sandbox": { + "static": [ + { + "request": { + "parameters": { + "sellerSKU": { + "value": "SKU_404" + }, + "marketplaceIds": { + "value": [ + "ATVPDKIKX0DER" + ] + } + } + }, + "response": { + "errors": [ + { + "code": "NotFound", + "message": "Requested resource is not found" + } + ] + } + } + ] + } + }, + "413": { + "description": "The request size exceeded the maximum accepted size.", + "schema": { + "$ref": "#/definitions/ErrorList" + }, + "headers": { + "x-amzn-RateLimit-Limit": { + "type": "string", + "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." + }, + "x-amzn-RequestId": { + "type": "string", + "description": "Unique request reference identifier." + } + }, + "x-amzn-api-sandbox": { + "static": [ + { + "request": { + "parameters": { + "sellerSKU": { + "value": "SKU_413" + }, + "marketplaceIds": { + "value": [ + "ATVPDKIKX0DER" + ] + } + } + }, + "response": { + "errors": [ + { + "code": "PayloadTooLarge", + "message": "Payload of the request is too large." + } + ] + } + } + ] + } + }, + "415": { + "description": "The request payload is in an unsupported format.", + "schema": { + "$ref": "#/definitions/ErrorList" + }, + "headers": { + "x-amzn-RateLimit-Limit": { + "type": "string", + "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." + }, + "x-amzn-RequestId": { + "type": "string", + "description": "Unique request reference identifier." + } + }, + "x-amzn-api-sandbox": { + "static": [ + { + "request": { + "parameters": { + "sellerSKU": { + "value": "SKU_415" + }, + "marketplaceIds": { + "value": [ + "ATVPDKIKX0DER" + ] + } + } + }, + "response": { + "errors": [ + { + "code": "UnsupportedType", + "message": "The entity of the request is of unsupported type." + } + ] + } + } + ] + } + }, + "429": { + "description": "The frequency of requests was greater than allowed.", + "schema": { + "$ref": "#/definitions/ErrorList" + }, + "headers": { + "x-amzn-RateLimit-Limit": { + "type": "string", + "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." + }, + "x-amzn-RequestId": { + "type": "string", + "description": "Unique request reference identifier." + } + }, + "x-amzn-api-sandbox": { + "static": [ + { + "request": { + "parameters": { + "sellerSKU": { + "value": "SKU_429" + }, + "marketplaceIds": { + "value": [ + "ATVPDKIKX0DER" + ] + } + } + }, + "response": { + "errors": [ + { + "code": "TooManyRequests", + "message": "Total number of requests exceed your allowed limits." + } + ] + } + } + ] + } + }, + "500": { + "description": "An unexpected condition occurred that prevented the server from fulfilling the request.", + "schema": { + "$ref": "#/definitions/ErrorList" + }, + "headers": { + "x-amzn-RateLimit-Limit": { + "type": "string", + "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." + }, + "x-amzn-RequestId": { + "type": "string", + "description": "Unique request reference identifier." + } + }, + "x-amzn-api-sandbox": { + "static": [ + { + "request": { + "parameters": { + "sellerSKU": { + "value": "SKU_500" + }, + "marketplaceIds": { + "value": [ + "ATVPDKIKX0DER" + ] + } + } + }, + "response": { + "errors": [ + { + "code": "InternalServerError", + "message": "Server encountered an unexpected condition while processing your request." + } + ] + } + } + ] + } + }, + "503": { + "description": "Temporary overloading or maintenance of the server.", + "schema": { + "$ref": "#/definitions/ErrorList" + }, + "headers": { + "x-amzn-RateLimit-Limit": { + "type": "string", + "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." + }, + "x-amzn-RequestId": { + "type": "string", + "description": "Unique request reference identifier." + } + }, + "x-amzn-api-sandbox": { + "static": [ + { + "request": { + "parameters": { + "sellerSKU": { + "value": "SKU_503" + }, + "marketplaceIds": { + "value": [ + "ATVPDKIKX0DER" + ] + } + } + }, + "response": { + "errors": [ + { + "code": "ServiceUnavailable", + "message": "Server is temporarily unavailable." + } + ] + } + } + ] + } + } + } + } + }, + "/fba/smallAndLight/v1/feePreviews": { + "post": { + "tags": [ + "smallAndLight" + ], + "description": "Returns the Small and Light fee estimates for the specified items. You must include a marketplaceId parameter to retrieve the proper fee estimates for items to be sold in that marketplace. The ordering of items in the response will mirror the order of the items in the request. Duplicate ASIN/price combinations are removed.\n\n**Usage Plan:**\n\n| Rate (requests per second) | Burst |\n| ---- | ---- |\n| 1 | 3 |\n\nThe `x-amzn-RateLimit-Limit` response header returns the usage plan rate limits that were applied to the requested operation, when available. The table above indicates the default rate and burst values for this operation. Selling partners whose business demands require higher throughput may see higher rate and burst values than those shown here. For more information, see [Usage Plans and Rate Limits in the Selling Partner API](https://developer-docs.amazon.com/sp-api/docs/usage-plans-and-rate-limits-in-the-sp-api).", + "operationId": "getSmallAndLightFeePreview", + "deprecated": true, + "parameters": [ + { + "in": "body", + "name": "body", + "required": true, + "schema": { + "$ref": "#/definitions/SmallAndLightFeePreviewRequest" + } + } + ], + "responses": { + "200": { + "description": "Success.", + "schema": { + "$ref": "#/definitions/SmallAndLightFeePreviews" + }, + "headers": { + "x-amzn-RateLimit-Limit": { + "type": "string", + "description": "Your rate limit (requests per second) for this operation." + }, + "x-amzn-RequestId": { + "type": "string", + "description": "Unique request reference identifier." + } + }, + "x-amzn-api-sandbox": { + "static": [ + { + "request": { + "parameters": { + "body": { + "value": { + "marketplaceId": "ATVPDKIKX0DER", + "items": [ + { + "asin": "B076ZL9PB5", + "price": { + "currencyCode": "USD", + "amount": 6.5 + } + } + ] + } + } + } + }, + "response": { + "data": [ + { + "asin": "B076ZL9PB5", + "price": { + "amount": 6.5, + "currencyCode": "USD" + }, + "feeBreakdown": [ + { + "feeType": "FBAPerUnitFulfillmentFee", + "feeCharge": { + "amount": 0.75, + "currencyCode": "USD" + } + }, + { + "feeType": "FBAPerOrderFulfillmentFee", + "feeCharge": { + "amount": 1, + "currencyCode": "USD" + } + }, + { + "feeType": "FBAWeightBasedFee", + "feeCharge": { + "amount": 1.1, + "currencyCode": "USD" + } + }, + { + "feeType": "Commission", + "feeCharge": { + "amount": 0.98, + "currencyCode": "USD" + } + } + ], + "totalFees": { + "amount": 3.83, + "currencyCode": "USD" + }, + "errors": [] + } + ] + } + } + ] + } + }, + "400": { + "description": "Request has missing or invalid parameters and cannot be parsed.", + "schema": { + "$ref": "#/definitions/ErrorList" + }, + "headers": { + "x-amzn-RateLimit-Limit": { + "type": "string", + "description": "Your rate limit (requests per second) for this operation." + }, + "x-amzn-RequestId": { + "type": "string", + "description": "Unique request reference identifier." + } + }, + "x-amzn-api-sandbox": { + "static": [ + { + "request": { + "parameters": { + "body": { + "value": { + "marketplaceId": "TEST_CASE_400", + "items": [] + } + } + } + }, + "response": { + "errors": [ + { + "code": "InvalidInput", + "message": "Invalid input." + } + ] + } + } + ] + } + }, + "401": { + "description": "The request's Authorization header is not formatted correctly or does not contain a valid token.", + "schema": { + "$ref": "#/definitions/ErrorList" + }, + "headers": { + "x-amzn-RateLimit-Limit": { + "type": "string", + "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." + }, + "x-amzn-RequestId": { + "type": "string", + "description": "Unique request reference identifier." + } + }, + "x-amzn-api-sandbox": { + "static": [ + { + "request": { + "parameters": { + "body": { + "value": { + "marketplaceId": "TEST_CASE_401", + "items": [] + } + } + } + }, + "response": { + "errors": [ + { + "code": "Unauthorized", + "message": "Access to requested resource is denied." + } + ] + } + } + ] + } + }, + "403": { + "description": "Indicates that access to the resource is forbidden. Possible reasons include Access Denied, Unauthorized, Expired Token, or Invalid Signature.", + "schema": { + "$ref": "#/definitions/ErrorList" + }, + "headers": { + "x-amzn-RequestId": { + "type": "string", + "description": "Unique request reference identifier." + } + }, + "x-amzn-api-sandbox": { + "static": [ + { + "request": { + "parameters": { + "body": { + "value": { + "marketplaceId": "TEST_CASE_403", + "items": [] + } + } + } + }, + "response": { + "errors": [ + { + "code": "Unauthorized", + "message": "Access to requested resource is denied." + } + ] + } + } + ] + } + }, + "404": { + "description": "The resource specified does not exist.", + "schema": { + "$ref": "#/definitions/ErrorList" + }, + "headers": { + "x-amzn-RateLimit-Limit": { + "type": "string", + "description": "Your rate limit (requests per second) for this operation." + }, + "x-amzn-RequestId": { + "type": "string", + "description": "Unique request reference identifier." + } + }, + "x-amzn-api-sandbox": { + "static": [ + { + "request": { + "parameters": { + "body": { + "value": { + "marketplaceId": "TEST_CASE_404", + "items": [] + } + } + } + }, + "response": { + "errors": [ + { + "code": "NotFound", + "message": "The requested resource doesn't exist." + } + ] + } + } + ] + } + }, + "429": { + "description": "The frequency of requests was greater than allowed.", + "schema": { + "$ref": "#/definitions/ErrorList" + }, + "headers": { + "x-amzn-RateLimit-Limit": { + "type": "string", + "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." + }, + "x-amzn-RequestId": { + "type": "string", + "description": "Unique request reference identifier." + } + }, + "x-amzn-api-sandbox": { + "static": [ + { + "request": { + "parameters": { + "body": { + "value": { + "marketplaceId": "TEST_CASE_429", + "items": [] + } + } + } + }, + "response": { + "errors": [ + { + "code": "QuotaExceeded", + "message": "You exceeded your quota for the requested resource." + } + ] + } + } + ] + } + }, + "500": { + "description": "An unexpected condition occurred that prevented the server from fulfilling the request.", + "schema": { + "$ref": "#/definitions/ErrorList" + }, + "headers": { + "x-amzn-RateLimit-Limit": { + "type": "string", + "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." + }, + "x-amzn-RequestId": { + "type": "string", + "description": "Unique request reference identifier." + } + }, + "x-amzn-api-sandbox": { + "static": [ + { + "request": { + "parameters": { + "body": { + "value": { + "marketplaceId": "TEST_CASE_500", + "items": [] + } + } + } + }, + "response": { + "errors": [ + { + "code": "InternalFailure", + "message": "We encountered an internal error. Please try again." + } + ] + } + } + ] + } + }, + "503": { + "description": "Temporary overloading or maintenance of the server.", + "schema": { + "$ref": "#/definitions/ErrorList" + }, + "headers": { + "x-amzn-RateLimit-Limit": { + "type": "string", + "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." + }, + "x-amzn-RequestId": { + "type": "string", + "description": "Unique request reference identifier." + } + }, + "x-amzn-api-sandbox": { + "static": [ + { + "request": { + "parameters": { + "body": { + "value": { + "marketplaceId": "TEST_CASE_503", + "items": [] + } + } + } + }, + "response": { + "errors": [ + { + "code": "ServiceUnavailable", + "message": "Service is temporarily unavailable. Please try again." + } + ] + } + } + ] + } + } + } + } + } + }, + "definitions": { + "MarketplaceId": { + "type": "string", + "description": "A marketplace identifier." + }, + "SellerSKU": { + "type": "string", + "description": "Identifies an item in the given marketplace. SellerSKU is qualified by the seller's SellerId, which is included with every operation that you submit." + }, + "Error": { + "type": "object", + "required": [ + "code", + "message" + ], + "properties": { + "code": { + "type": "string", + "description": "An error code that identifies the type of error that occurred." + }, + "message": { + "type": "string", + "description": "A message that describes the error condition." + }, + "details": { + "type": "string", + "description": "Additional details that can help the caller understand or fix the issue." + } + }, + "description": "Error response returned when the request is unsuccessful." + }, + "ErrorList": { + "type": "object", + "properties": { + "errors": { + "type": "array", + "items": { + "$ref": "#/definitions/Error" + } + } + }, + "description": "A list of error responses returned when a request is unsuccessful." + }, + "SmallAndLightEnrollmentStatus": { + "type": "string", + "description": "The Small and Light enrollment status of the item.", + "enum": [ + "ENROLLED", + "NOT_ENROLLED" + ], + "x-docgen-enum-table-extension": [ + { + "value": "ENROLLED", + "description": "The Small and Light enrollment status is enrolled." + }, + { + "value": "NOT_ENROLLED", + "description": "The Small and Light enrollment status is not enrolled." + } + ] + }, + "SmallAndLightEligibilityStatus": { + "type": "string", + "description": "The Small and Light eligibility status of the item.", + "enum": [ + "ELIGIBLE", + "NOT_ELIGIBLE" + ], + "x-docgen-enum-table-extension": [ + { + "value": "ELIGIBLE", + "description": "The Small and Light eligibility status is eligible." + }, + { + "value": "NOT_ELIGIBLE", + "description": "The Small and Light eligibility status is not eligible." + } + ] + }, + "SmallAndLightEnrollment": { + "type": "object", + "required": [ + "marketplaceId", + "sellerSKU", + "status" + ], + "properties": { + "marketplaceId": { + "$ref": "#/definitions/MarketplaceId" + }, + "sellerSKU": { + "$ref": "#/definitions/SellerSKU" + }, + "status": { + "$ref": "#/definitions/SmallAndLightEnrollmentStatus" + } + }, + "description": "The Small and Light enrollment status of the item indicated by the specified seller SKU." + }, + "SmallAndLightEligibility": { + "type": "object", + "required": [ + "marketplaceId", + "sellerSKU", + "status" + ], + "properties": { + "marketplaceId": { + "$ref": "#/definitions/MarketplaceId" + }, + "sellerSKU": { + "$ref": "#/definitions/SellerSKU" + }, + "status": { + "$ref": "#/definitions/SmallAndLightEligibilityStatus" + } + }, + "description": "The Small and Light eligibility status of the item indicated by the specified seller SKU." + }, + "SmallAndLightFeePreviewRequest": { + "type": "object", + "required": [ + "items", + "marketplaceId" + ], + "properties": { + "marketplaceId": { + "$ref": "#/definitions/MarketplaceId" + }, + "items": { + "type": "array", + "description": "A list of items for which to retrieve fee estimates (limit: 25).", + "items": { + "$ref": "#/definitions/Item" + }, + "maxItems": 25 + } + }, + "description": "Request schema for submitting items for which to retrieve fee estimates." + }, + "SmallAndLightFeePreviews": { + "type": "object", + "properties": { + "data": { + "type": "array", + "description": "A list of fee estimates for the requested items. The order of the fee estimates will follow the same order as the items in the request, with duplicates removed.", + "items": { + "$ref": "#/definitions/FeePreview" + } + } + } + }, + "Item": { + "type": "object", + "required": [ + "asin", + "price" + ], + "properties": { + "asin": { + "type": "string", + "description": "The Amazon Standard Identification Number (ASIN) value used to identify the item." + }, + "price": { + "description": "The price that the seller plans to charge for the item.", + "$ref": "#/definitions/MoneyType" + } + }, + "description": "An item to be sold." + }, + "FeePreview": { + "type": "object", + "properties": { + "asin": { + "type": "string", + "description": "The Amazon Standard Identification Number (ASIN) value used to identify the item." + }, + "price": { + "description": "The price that the seller plans to charge for the item.", + "$ref": "#/definitions/MoneyType" + }, + "feeBreakdown": { + "type": "array", + "description": "A list of the Small and Light fees for the item.", + "items": { + "$ref": "#/definitions/FeeLineItem" + } + }, + "totalFees": { + "description": "The total fees charged if the item participated in the Small and Light program.", + "$ref": "#/definitions/MoneyType" + }, + "errors": { + "type": "array", + "description": "One or more unexpected errors occurred during the getSmallAndLightFeePreview operation.", + "items": { + "$ref": "#/definitions/Error" + } + } + }, + "description": "The fee estimate for a specific item." + }, + "FeeLineItem": { + "type": "object", + "required": [ + "feeCharge", + "feeType" + ], + "properties": { + "feeType": { + "type": "string", + "description": "The type of fee charged to the seller.", + "enum": [ + "FBAWeightBasedFee", + "FBAPerOrderFulfillmentFee", + "FBAPerUnitFulfillmentFee", + "Commission" + ], + "x-docgen-enum-table-extension": [ + { + "value": "FBAWeightBasedFee", + "description": "The FBA weight-based fee (weight handling)." + }, + { + "value": "FBAPerOrderFulfillmentFee", + "description": "The FBA per-order fulfillment fee (order handling)." + }, + { + "value": "FBAPerUnitFulfillmentFee", + "description": "The FBA fulfillment fee (Pick & Pack)." + }, + { + "value": "Commission", + "description": "The commission - referral fee." + } + ] + }, + "feeCharge": { + "description": "Amount charged to the seller for the specific fee type.", + "$ref": "#/definitions/MoneyType" + } + }, + "description": "Fee details for a specific fee." + }, + "MoneyType": { + "type": "object", + "properties": { + "currencyCode": { + "type": "string", + "description": "The currency code in ISO 4217 format." + }, + "amount": { + "type": "number", + "description": "The monetary value." + } + } + } + } +} \ No newline at end of file From 091378597412a7771db6189772b83a4e3a82bf32 Mon Sep 17 00:00:00 2001 From: Alexey Kosov Date: Fri, 26 Apr 2024 10:00:29 +0300 Subject: [PATCH 147/340] fix typo `NotificatonTionVersion` -> `NotificationVersion` in AnyOfferChangedNotification schema --- schemas/notifications/AnyOfferChangedNotification.json | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/schemas/notifications/AnyOfferChangedNotification.json b/schemas/notifications/AnyOfferChangedNotification.json index baa0f0be0..ec4eba724 100644 --- a/schemas/notifications/AnyOfferChangedNotification.json +++ b/schemas/notifications/AnyOfferChangedNotification.json @@ -7,7 +7,7 @@ "default": {}, "examples": [ { - "NotificatonTionVersion": "1.0", + "NotificationVersion": "1.0", "NotificationType": "ANY_OFFER_CHANGED", "PayloadVersion": "1.0", "EventTime": "2020-07-13T19:42:04.284Z", @@ -197,7 +197,7 @@ } ], "required": [ - "NotificatonTionVersion", + "NotificationVersion", "NotificationType", "PayloadVersion", "EventTime", @@ -206,10 +206,10 @@ ], "additionalProperties": true, "properties": { - "NotificatonTionVersion": { - "$id": "#/properties/NotificatonTionVersion", + "NotificationVersion": { + "$id": "#/properties/NotificationVersion", "type": "string", - "title": "The NotificatonTionVersion schema", + "title": "The NotificationVersion schema", "description": "An explanation about the purpose of this instance.", "default": "", "examples": [ From 769d1530f4f40f46cc52fc9454b593d0528aa4eb Mon Sep 17 00:00:00 2001 From: Alexey Kosov Date: Fri, 26 Apr 2024 10:08:53 +0300 Subject: [PATCH 148/340] add missing `IsBuyBoxWinner` field to AnyOfferChangedNotification schema --- .../AnyOfferChangedNotification.json | 16 ++++++++++++++++ 1 file changed, 16 insertions(+) diff --git a/schemas/notifications/AnyOfferChangedNotification.json b/schemas/notifications/AnyOfferChangedNotification.json index ec4eba724..d3c0dbcc7 100644 --- a/schemas/notifications/AnyOfferChangedNotification.json +++ b/schemas/notifications/AnyOfferChangedNotification.json @@ -182,6 +182,7 @@ "State": "MI" }, "IsFulfilledByAmazon": true, + "IsBuyBoxWinner" : false, "PrimeInformation": { "IsOfferPrime": true, "IsOfferNationalPrime": false @@ -482,6 +483,7 @@ "State": "MI" }, "IsFulfilledByAmazon": true, + "IsBuyBoxWinner" : false, "PrimeInformation": { "IsOfferPrime": true, "IsOfferNationalPrime": false @@ -671,6 +673,7 @@ "State": "MI" }, "IsFulfilledByAmazon": true, + "IsBuyBoxWinner" : false, "PrimeInformation": { "IsOfferPrime": true, "IsOfferNationalPrime": false @@ -2198,6 +2201,7 @@ "State": "MI" }, "IsFulfilledByAmazon": true, + "IsBuyBoxWinner" : false, "PrimeInformation": { "IsOfferPrime": true, "IsOfferNationalPrime": false @@ -2248,6 +2252,7 @@ "State": "MI" }, "IsFulfilledByAmazon": true, + "IsBuyBoxWinner" : false, "PrimeInformation": { "IsOfferPrime": true, "IsOfferNationalPrime": false @@ -2268,6 +2273,7 @@ "Shipping", "ShipsFrom", "IsFulfilledByAmazon", + "IsBuyBoxWinner", "PrimeInformation", "IsExpeditedShippingAvailable", "IsFeaturedMerchant", @@ -2558,6 +2564,16 @@ true ] }, + "IsBuyBoxWinner": { + "$id": "#/properties/Payload/properties/AnyOfferChangedNotification/properties/Offers/items/anyOf/0/properties/IsBuyBoxWinner", + "type": "boolean", + "title": "The IsBuyBoxWinner schema", + "description": "An explanation about the purpose of this instance.", + "default": false, + "examples": [ + true + ] + }, "PrimeInformation": { "$id": "#/properties/Payload/properties/AnyOfferChangedNotification/properties/Offers/items/anyOf/0/properties/PrimeInformation", "type": "object", From f5074db210ea711f6c0a80a46f902140f0d4e4dc Mon Sep 17 00:00:00 2001 From: Alexey Kosov Date: Fri, 26 Apr 2024 10:42:42 +0300 Subject: [PATCH 149/340] add `date-time` format for datetime fields in AnyOfferChangedNotification schema --- schemas/notifications/AnyOfferChangedNotification.json | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/schemas/notifications/AnyOfferChangedNotification.json b/schemas/notifications/AnyOfferChangedNotification.json index d3c0dbcc7..55a34d130 100644 --- a/schemas/notifications/AnyOfferChangedNotification.json +++ b/schemas/notifications/AnyOfferChangedNotification.json @@ -240,6 +240,7 @@ "EventTime": { "$id": "#/properties/EventTime", "type": "string", + "format": "date-time", "title": "The EventTime schema", "description": "An explanation about the purpose of this instance.", "default": "", @@ -292,6 +293,7 @@ "PublishTime": { "$id": "#/properties/NotificationMetadata/properties/PublishTime", "type": "string", + "format": "date-time", "title": "The PublishTime schema", "description": "An explanation about the purpose of this instance.", "default": "", @@ -761,6 +763,7 @@ "TimeOfOfferChange": { "$id": "#/properties/Payload/properties/AnyOfferChangedNotification/properties/OfferChangeTrigger/properties/TimeOfOfferChange", "type": "string", + "format": "date-time", "title": "The TimeOfOfferChange schema", "description": "An explanation about the purpose of this instance.", "default": "", @@ -2397,6 +2400,7 @@ "AvailableDate": { "$id": "#/properties/Payload/properties/AnyOfferChangedNotification/properties/Offers/items/anyOf/0/properties/ShippingTime/properties/AvailableDate", "type": "string", + "format": "date-time", "title": "The AvailableDate schema", "description": "An explanation about the purpose of this instance.", "default": "", From acfb17001957890d560a03d9f2fa5e01fe5ae433 Mon Sep 17 00:00:00 2001 From: Alexey Kosov Date: Fri, 26 Apr 2024 13:05:08 +0300 Subject: [PATCH 150/340] Revert "add `date-time` format for datetime fields in AnyOfferChangedNotification schema" This reverts commit 80d7964e822bd59bba4ed383e5cd26c06872237e. --- schemas/notifications/AnyOfferChangedNotification.json | 4 ---- 1 file changed, 4 deletions(-) diff --git a/schemas/notifications/AnyOfferChangedNotification.json b/schemas/notifications/AnyOfferChangedNotification.json index 55a34d130..d3c0dbcc7 100644 --- a/schemas/notifications/AnyOfferChangedNotification.json +++ b/schemas/notifications/AnyOfferChangedNotification.json @@ -240,7 +240,6 @@ "EventTime": { "$id": "#/properties/EventTime", "type": "string", - "format": "date-time", "title": "The EventTime schema", "description": "An explanation about the purpose of this instance.", "default": "", @@ -293,7 +292,6 @@ "PublishTime": { "$id": "#/properties/NotificationMetadata/properties/PublishTime", "type": "string", - "format": "date-time", "title": "The PublishTime schema", "description": "An explanation about the purpose of this instance.", "default": "", @@ -763,7 +761,6 @@ "TimeOfOfferChange": { "$id": "#/properties/Payload/properties/AnyOfferChangedNotification/properties/OfferChangeTrigger/properties/TimeOfOfferChange", "type": "string", - "format": "date-time", "title": "The TimeOfOfferChange schema", "description": "An explanation about the purpose of this instance.", "default": "", @@ -2400,7 +2397,6 @@ "AvailableDate": { "$id": "#/properties/Payload/properties/AnyOfferChangedNotification/properties/Offers/items/anyOf/0/properties/ShippingTime/properties/AvailableDate", "type": "string", - "format": "date-time", "title": "The AvailableDate schema", "description": "An explanation about the purpose of this instance.", "default": "", From 8648a6627578cd657c18cbcd7bae7f36b5e3ac20 Mon Sep 17 00:00:00 2001 From: Alexey Kosov Date: Fri, 26 Apr 2024 10:42:42 +0300 Subject: [PATCH 151/340] add `date-time` format for datetime fields in AnyOfferChangedNotification schema --- schemas/notifications/AnyOfferChangedNotification.json | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/schemas/notifications/AnyOfferChangedNotification.json b/schemas/notifications/AnyOfferChangedNotification.json index d3c0dbcc7..55a34d130 100644 --- a/schemas/notifications/AnyOfferChangedNotification.json +++ b/schemas/notifications/AnyOfferChangedNotification.json @@ -240,6 +240,7 @@ "EventTime": { "$id": "#/properties/EventTime", "type": "string", + "format": "date-time", "title": "The EventTime schema", "description": "An explanation about the purpose of this instance.", "default": "", @@ -292,6 +293,7 @@ "PublishTime": { "$id": "#/properties/NotificationMetadata/properties/PublishTime", "type": "string", + "format": "date-time", "title": "The PublishTime schema", "description": "An explanation about the purpose of this instance.", "default": "", @@ -761,6 +763,7 @@ "TimeOfOfferChange": { "$id": "#/properties/Payload/properties/AnyOfferChangedNotification/properties/OfferChangeTrigger/properties/TimeOfOfferChange", "type": "string", + "format": "date-time", "title": "The TimeOfOfferChange schema", "description": "An explanation about the purpose of this instance.", "default": "", @@ -2397,6 +2400,7 @@ "AvailableDate": { "$id": "#/properties/Payload/properties/AnyOfferChangedNotification/properties/Offers/items/anyOf/0/properties/ShippingTime/properties/AvailableDate", "type": "string", + "format": "date-time", "title": "The AvailableDate schema", "description": "An explanation about the purpose of this instance.", "default": "", From 88dfe1f6f9218f6d306e05c99eafce642f3ff952 Mon Sep 17 00:00:00 2001 From: Alexey Kosov Date: Fri, 26 Apr 2024 13:05:08 +0300 Subject: [PATCH 152/340] Revert "add `date-time` format for datetime fields in AnyOfferChangedNotification schema" This reverts commit 80d7964e822bd59bba4ed383e5cd26c06872237e. --- schemas/notifications/AnyOfferChangedNotification.json | 4 ---- 1 file changed, 4 deletions(-) diff --git a/schemas/notifications/AnyOfferChangedNotification.json b/schemas/notifications/AnyOfferChangedNotification.json index 55a34d130..d3c0dbcc7 100644 --- a/schemas/notifications/AnyOfferChangedNotification.json +++ b/schemas/notifications/AnyOfferChangedNotification.json @@ -240,7 +240,6 @@ "EventTime": { "$id": "#/properties/EventTime", "type": "string", - "format": "date-time", "title": "The EventTime schema", "description": "An explanation about the purpose of this instance.", "default": "", @@ -293,7 +292,6 @@ "PublishTime": { "$id": "#/properties/NotificationMetadata/properties/PublishTime", "type": "string", - "format": "date-time", "title": "The PublishTime schema", "description": "An explanation about the purpose of this instance.", "default": "", @@ -763,7 +761,6 @@ "TimeOfOfferChange": { "$id": "#/properties/Payload/properties/AnyOfferChangedNotification/properties/OfferChangeTrigger/properties/TimeOfOfferChange", "type": "string", - "format": "date-time", "title": "The TimeOfOfferChange schema", "description": "An explanation about the purpose of this instance.", "default": "", @@ -2400,7 +2397,6 @@ "AvailableDate": { "$id": "#/properties/Payload/properties/AnyOfferChangedNotification/properties/Offers/items/anyOf/0/properties/ShippingTime/properties/AvailableDate", "type": "string", - "format": "date-time", "title": "The AvailableDate schema", "description": "An explanation about the purpose of this instance.", "default": "", From 32a670be23194f80c52f97b1dbb2b160a8fe12ea Mon Sep 17 00:00:00 2001 From: ruby4406 Date: Fri, 4 Oct 2024 01:20:19 +0530 Subject: [PATCH 153/340] Squashed commit of the following: commit 2b183a15f88ead1236f76351c2d4512d0b4d5222 Author: Denis Garcia Date: Sun Aug 25 07:57:13 2024 +0100 Update README.md fix a few typos in selling-partner-api-models/clients/sellingpartner-api-aa-javascript/README.md --- .../README.md | 20 +++++++++---------- 1 file changed, 10 insertions(+), 10 deletions(-) diff --git a/clients/sellingpartner-api-aa-javascript/README.md b/clients/sellingpartner-api-aa-javascript/README.md index 70e3b3df8..2ec8ba68a 100644 --- a/clients/sellingpartner-api-aa-javascript/README.md +++ b/clients/sellingpartner-api-aa-javascript/README.md @@ -4,8 +4,8 @@ This library is to help SP-API developers to create an app in JavaScript on Node.js easier than calling HTTP endpoints directly. This library comes with the following features. 1. Login with Amazon (LWA) helper that does OAuth token refresh flow. 2. This library takes care of HTTP communication with SP-API endpoints with a help of [superagent](https://www.npmjs.com/package/superagent), so you can call SP-API by just calling a right method of library that corresponds to SP-API operation. -3. Calling SP-API requires non-standard `x-amz-access-token` HTTP request header in request. The SDK generated by this library supports to include this header with token value you specify. -4. SP-API operaitons to handle restricted data are categorized as ["Restricted Operations"](https://developer-docs.amazon.com/sp-api/lang-ja_JP/docs/tokens-api-use-case-guide#restricted-operations), which requires ["Restricted Data Token" (RDT)](https://developer-docs.amazon.com/sp-api/lang-ja_JP/docs/authorization-with-the-restricted-data-token) instead of access token for tighter security. Calling restricted operation involves two seprate steps, one of wihch is calling Tokens API to retrieve RDT and the other of which is calling protected operation with RDT. This library helps to compbine these two steps into single library call. +3. Calling SP-API requires non-standard `x-amz-access-token` HTTP request header in the request. The SDK generated by this library supports to include this header with the token value you specify. +4. SP-API operations to handle restricted data are categorized as ["Restricted Operations"](https://developer-docs.amazon.com/sp-api/lang-ja_JP/docs/tokens-api-use-case-guide#restricted-operations), which requires ["Restricted Data Token" (RDT)](https://developer-docs.amazon.com/sp-api/lang-ja_JP/docs/authorization-with-the-restricted-data-token) instead of access token for tighter security. Calling restricted operation involves two separate steps, one of which is calling Tokens API to retrieve RDT and the other of which is calling protected operation with RDT. This library helps to combine these two steps into a single library call. ## Installation and Generating SDK Please note this library doesn't include SDK. You need to generate SDK with the template and script files included in this library. @@ -17,7 +17,7 @@ Please note this library doesn't include SDK. You need to generate SDK with the __CAUTION__: Please be aware that there are two major known issues with the latest JavaScript client library. 1. If you use swagger-codegen-cli newer than 2.4.29 (such as 2.4.30 or 3.x), there is a known compatibility issue with SP-API models that makes generating SDK fail. We recommend that you use swagger-codegen-cli-2.4.29 specifically. -2. Swagger codegen tool fails to generate SDK for "Merchant Fulfillment V0 API." For workaround, you need to modify a part of the API model file "merchantFulfillmentV0.json" +2. Swagger codegen tool fails to generate SDK for "Merchant Fulfillment V0 API." For a workaround, you need to modify a part of the API model file "merchantFulfillmentV0.json" ### Download swagger-codegen-cli JAR file We use `swagger-codegen-cli` executable JAR file. You can download it by the following command. @@ -41,14 +41,14 @@ You will find `models` directory and `sdk` directory under the package root.
* `models`: directory contains API models cloned from SP-API GitHub. * `sdk`: directory contains generated JavaScript SDK. -### Modify Merchant Fulfillment API model file to avoid error during SDK generation -If you want to call Merchant Fulfillment API with the generated SDK, you need to follow this instruction. There is an fatal known issue in generating Merchant Fulfillment API library. If downloading API models is successful, you should be able to find `merchantFulfillmentV0.json` file In `/models/merchant-fulfillment-api-model` directory. Open this file with an editor and find the following part. +### Modify Merchant Fulfillment API model file to avoid errors during SDK generation +If you want to call Merchant Fulfillment API with the generated SDK, you need to follow this instruction. There is a fatal known issue in generating Merchant Fulfillment API library. If downloading API models is successful, you should be able to find `merchantFulfillmentV0.json` file In `/models/merchant-fulfillment-api-model` directory. Open this file with an editor and find the following part. ``` "AvailableFormatOptionsForLabel": { "$ref": "#/definitions/AvailableFormatOptionsForLabelList" }, ``` -Since this part causes a fatal error in SDK generation for JavaScript, please replace this part with the following snipet. +Since this part causes a fatal error in SDK generation for JavaScript, please replace this part with the following snippet. ``` "AvailableFormatOptionsForLabel": { "type": "array", @@ -67,7 +67,7 @@ Found /models already exists. Would you like to delete all the fil With the correct modification in `merchantFulfillmentV0.json`, you should be able to find generated SDK for Merchant Fulfillment API. ### How to run tests -This library contains a sample programs in `sample_node_app` directory under the packagte root.
In order to run the program, you need to have LWA credential information saved in the file and name it `app.config.mjs` and put it `/src` directory. Because __client secret__ and __refresh token__ shouldn't be exposed, you must make sure that you don't commit this file to the repository. +This library contains sample programs in `sample_node_app` directory under the package root.
In order to run the program, you need to have LWA credential information saved in the file and name it `app.config.mjs` and put it `/src` directory. Because __client secret__ and __refresh token__ shouldn't be exposed, you must make sure that you don't commit this file to the repository. ```javascript export const AppConfig = { lwaClientId: "< LWA client ID >", @@ -101,7 +101,7 @@ ordersApiClient.enableAutoRetrievalRestrictedDataToken("", const ordersApi = new OrdersV0Api(ordersApiClient); const order = await ordersApi.getOrder(""); ``` -### Calling SP-API with access token +### Calling SP-API with the access token In case you manage LWA token refresh flow, you can explicitly use the access token you got yourself for your SP-API call as follows. ```javascript import { SellersApi, ApiClient as SellersApiClient } from '../../sdk/src/sellers/index.js'; @@ -112,10 +112,10 @@ sellerApiClient.applyXAmzAccessTokenToRequest(""; const lwaClient = new LwaAuthClient("", "", ""); const accessToken = await lwaClient.getAccessToken(); -``` \ No newline at end of file +``` From 35ba783fcd390806db6bb3c826bc6f4182bb2440 Mon Sep 17 00:00:00 2001 From: Michael Manganiello Date: Tue, 20 Aug 2024 14:43:06 -0300 Subject: [PATCH 154/340] fix: Remove schema defaults for objects with required keys There are many schemas that include `"default": {}` for keys of type object, that include required keys, making that default value invalid. Removing these invalid defaults fixes the schema conversion using tools like `go-jsonschema` [1], as now it understands the object cannot be empty. [1] https://github.com/omissis/go-jsonschema --- .../AnyOfferChangedNotification.json | 41 +------------------ .../BrandedItemContentChangeNotification.json | 5 +-- ...ventoryAvailabilityChangeNotification.json | 10 ++++- .../FeePromotionNotification.json | 24 +---------- .../FulfillmentOrderStatusNotification.json | 10 +---- .../ItemProductTypeChangeNotification.json | 5 +-- .../MfnOrderStatusChangeNotification.json | 4 -- .../OrderStatusChangeNotification.json | 6 +-- ...ductTypeDefinitionsChangeNotification.json | 5 +-- 9 files changed, 15 insertions(+), 95 deletions(-) diff --git a/schemas/notifications/AnyOfferChangedNotification.json b/schemas/notifications/AnyOfferChangedNotification.json index d3c0dbcc7..29026d0ef 100644 --- a/schemas/notifications/AnyOfferChangedNotification.json +++ b/schemas/notifications/AnyOfferChangedNotification.json @@ -4,7 +4,6 @@ "type": "object", "title": "The root schema", "description": "The root schema comprises the entire JSON document.", - "default": {}, "examples": [ { "NotificationVersion": "1.0", @@ -252,7 +251,6 @@ "type": "object", "title": "The NotificationMetadata schema", "description": "An explanation about the purpose of this instance.", - "default": {}, "examples": [ { "ApplicationId": "app-id-d0e9e693-c3ad-4373-979f-ed4ec98dd746", @@ -316,7 +314,6 @@ "type": "object", "title": "The Payload schema", "description": "An explanation about the purpose of this instance.", - "default": {}, "examples": [ { "AnyOfferChangedNotification": { @@ -507,7 +504,6 @@ "type": "object", "title": "The AnyOfferChangedNotification schema", "description": "An explanation about the purpose of this instance.", - "default": {}, "examples": [ { "SellerId": "A3TH9S8BH6GOGM", @@ -709,7 +705,6 @@ "type": "object", "title": "The OfferChangeTrigger schema", "description": "An explanation about the purpose of this instance.", - "default": {}, "examples": [ { "MarketplaceId": "ATVPDKIKX0DER", @@ -785,7 +780,6 @@ "type": "object", "title": "The Summary schema", "description": "An explanation about the purpose of this instance.", - "default": {}, "examples": [ { "NumberOfOffers": [ @@ -955,7 +949,6 @@ "type": "object", "title": "The first anyOf schema", "description": "An explanation about the purpose of this instance.", - "default": {}, "examples": [ { "Condition": "new", @@ -1059,7 +1052,6 @@ "type": "object", "title": "The first anyOf schema", "description": "An explanation about the purpose of this instance.", - "default": {}, "examples": [ { "Condition": "new", @@ -1112,7 +1104,6 @@ "type": "object", "title": "The LandedPrice schema", "description": "An explanation about the purpose of this instance.", - "default": {}, "examples": [ { "Amount": 10.0, @@ -1152,7 +1143,6 @@ "type": "object", "title": "The ListingPrice schema", "description": "An explanation about the purpose of this instance.", - "default": {}, "examples": [ { "Amount": 10.0, @@ -1192,7 +1182,6 @@ "type": "object", "title": "The Shipping schema", "description": "An explanation about the purpose of this instance.", - "default": {}, "examples": [ { "Amount": 0.0, @@ -1234,7 +1223,6 @@ "type": "object", "title": "The second anyOf schema", "description": "An explanation about the purpose of this instance.", - "default": {}, "examples": [ { "Condition": "old", @@ -1291,7 +1279,6 @@ "type": "object", "title": "The LandedPrice schema", "description": "An explanation about the purpose of this instance.", - "default": {}, "examples": [ { "Amount": 11.0, @@ -1331,7 +1318,6 @@ "type": "object", "title": "The ListingPrice schema", "description": "An explanation about the purpose of this instance.", - "default": {}, "examples": [ { "Amount": 20.0, @@ -1371,7 +1357,6 @@ "type": "object", "title": "The Shipping schema", "description": "An explanation about the purpose of this instance.", - "default": {}, "examples": [ { "Amount": 40.0, @@ -1411,7 +1396,6 @@ "type": "object", "title": "The Points schema", "description": "An explanation about the purpose of this instance.", - "default": {}, "examples": [ { "PointsNumber": 34343 @@ -1491,7 +1475,6 @@ "type": "object", "title": "The first anyOf schema", "description": "An explanation about the purpose of this instance.", - "default": {}, "examples": [ { "Condition": "new", @@ -1532,7 +1515,6 @@ "type": "object", "title": "The LandedPrice schema", "description": "An explanation about the purpose of this instance.", - "default": {}, "examples": [ { "Amount": 10.0, @@ -1572,7 +1554,6 @@ "type": "object", "title": "The ListingPrice schema", "description": "An explanation about the purpose of this instance.", - "default": {}, "examples": [ { "Amount": 10.0, @@ -1612,7 +1593,6 @@ "type": "object", "title": "The Shipping schema", "description": "An explanation about the purpose of this instance.", - "default": {}, "examples": [ { "Amount": 0.0, @@ -1654,7 +1634,6 @@ "type": "object", "title": "The second anyOf schema", "description": "An explanation about the purpose of this instance.", - "default": {}, "examples": [ { "Condition": "old", @@ -1699,7 +1678,6 @@ "type": "object", "title": "The LandedPrice schema", "description": "An explanation about the purpose of this instance.", - "default": {}, "examples": [ { "Amount": 11.0, @@ -1739,7 +1717,6 @@ "type": "object", "title": "The ListingPrice schema", "description": "An explanation about the purpose of this instance.", - "default": {}, "examples": [ { "Amount": 20.0, @@ -1779,7 +1756,6 @@ "type": "object", "title": "The Shipping schema", "description": "An explanation about the purpose of this instance.", - "default": {}, "examples": [ { "Amount": 40.0, @@ -1819,7 +1795,6 @@ "type": "object", "title": "The Points schema", "description": "An explanation about the purpose of this instance.", - "default": {}, "examples": [ { "PointsNumber": 34343 @@ -1853,7 +1828,6 @@ "type": "object", "title": "The ListPrice schema", "description": "An explanation about the purpose of this instance.", - "default": {}, "examples": [ { "Amount": 55.0, @@ -1893,7 +1867,6 @@ "type": "object", "title": "The MinimumAdvertisedPrice schema", "description": "An explanation about the purpose of this instance.", - "default": {}, "examples": [ { "Amount": 66.0, @@ -1933,7 +1906,6 @@ "type": "object", "title": "The SuggestedLowerPricePlusShipping schema", "description": "An explanation about the purpose of this instance.", - "default": {}, "examples": [ { "Amount": 77.0, @@ -2004,7 +1976,6 @@ "type": "object", "title": "The first anyOf schema", "description": "An explanation about the purpose of this instance.", - "default": {}, "examples": [ { "ProductCategoryId": "1243", @@ -2071,7 +2042,6 @@ "type": "object", "title": "The first anyOf schema", "description": "An explanation about the purpose of this instance.", - "default": {}, "examples": [ { "Condition": "new", @@ -2127,7 +2097,6 @@ "type": "object", "title": "The CompetitivePriceThreshold schema", "description": "An explanation about the purpose of this instance.", - "default": {}, "examples": [ { "Amount": 22.0, @@ -2221,7 +2190,6 @@ "type": "object", "title": "The first anyOf schema", "description": "An explanation about the purpose of this instance.", - "default": {}, "examples": [ { "SellerId": "111", @@ -2307,7 +2275,6 @@ "type": "object", "title": "The SellerFeedbackRating schema", "description": "An explanation about the purpose of this instance.", - "default": {}, "examples": [ { "FeedbackCount": 9, @@ -2347,7 +2314,6 @@ "type": "object", "title": "The ShippingTime schema", "description": "An explanation about the purpose of this instance.", - "default": {}, "examples": [ { "MinimumHours": 10, @@ -2411,7 +2377,6 @@ "type": "object", "title": "The ListingPrice schema", "description": "An explanation about the purpose of this instance.", - "default": {}, "examples": [ { "Amount": 23.0, @@ -2451,7 +2416,6 @@ "type": "object", "title": "The Points schema", "description": "An explanation about the purpose of this instance.", - "default": {}, "examples": [ { "PointsNumber": 33333 @@ -2479,7 +2443,6 @@ "type": "object", "title": "The Shipping schema", "description": "An explanation about the purpose of this instance.", - "default": {}, "examples": [ { "Amount": 110.0, @@ -2519,7 +2482,6 @@ "type": "object", "title": "The ShipsFrom schema", "description": "An explanation about the purpose of this instance.", - "default": {}, "examples": [ { "Country": "USA", @@ -2579,7 +2541,6 @@ "type": "object", "title": "The PrimeInformation schema", "description": "An explanation about the purpose of this instance.", - "default": {}, "examples": [ { "IsOfferPrime": true, @@ -2665,4 +2626,4 @@ } } } -} \ No newline at end of file +} diff --git a/schemas/notifications/BrandedItemContentChangeNotification.json b/schemas/notifications/BrandedItemContentChangeNotification.json index f14d93c8f..92af14c39 100644 --- a/schemas/notifications/BrandedItemContentChangeNotification.json +++ b/schemas/notifications/BrandedItemContentChangeNotification.json @@ -4,7 +4,6 @@ "type": "object", "title": "The root schema", "description": "The root schema comprises the entire JSON document.", - "default": {}, "examples": [ { "NotificationVersion": "1.0", @@ -93,7 +92,6 @@ "type": "object", "title": "The Payload schema", "description": "An explanation about the purpose of this instance.", - "default": {}, "examples": [ { "MarketplaceId": "ATVPDKIKX0DER", @@ -185,7 +183,6 @@ "type": "object", "title": "The NotificationMetadata schema", "description": "An explanation about the purpose of this instance.", - "default": {}, "examples": [ { "ApplicationId": "amzn1.sellerapps.app.f1234566-aaec-55a6-b123-bcb752069ec5", @@ -246,4 +243,4 @@ } }, "additionalProperties": true -} \ No newline at end of file +} diff --git a/schemas/notifications/FBAInventoryAvailabilityChangeNotification.json b/schemas/notifications/FBAInventoryAvailabilityChangeNotification.json index 063f38a66..4bd3b3dd3 100644 --- a/schemas/notifications/FBAInventoryAvailabilityChangeNotification.json +++ b/schemas/notifications/FBAInventoryAvailabilityChangeNotification.json @@ -4,7 +4,13 @@ "type": "object", "title": "The root schema", "description": "The root schema comprises the entire JSON document.", - "default": {}, + "required": [ + "NotificationVersion", + "NotificationType", + "PayloadVersion", + "EventTime", + "Payload" + ], "properties": { "NotificationVersion": { "$id": "#/properties/NotificationVersion", @@ -413,4 +419,4 @@ } }, "additionalProperties": true -} \ No newline at end of file +} diff --git a/schemas/notifications/FeePromotionNotification.json b/schemas/notifications/FeePromotionNotification.json index e770ba6fc..c1ed4fa4f 100644 --- a/schemas/notifications/FeePromotionNotification.json +++ b/schemas/notifications/FeePromotionNotification.json @@ -4,7 +4,6 @@ "type": "object", "title": "The root schema", "description": "The root schema comprises the entire JSON document.", - "default": {}, "examples": [ { "NotificationVersion": "1.0", @@ -395,7 +394,6 @@ "type": "object", "title": "The NotificationMetadata schema", "description": "An explanation about the purpose of this instance.", - "default": {}, "examples": [ { "ApplicationId": "app-id-d0e9e693-c3ad-4373-979f-ed4ec98dd746", @@ -459,7 +457,6 @@ "type": "object", "title": "The Payload schema", "description": "An explanation about the purpose of this instance.", - "default": {}, "examples": [ { "FeePromotionNotification": { @@ -793,7 +790,6 @@ "type": "object", "title": "The FeePromotionNotification schema", "description": "An explanation about the purpose of this instance.", - "default": {}, "examples": [ { "MerchantId": "AJH434853485", @@ -1171,7 +1167,6 @@ "type": "object", "title": "The PromotionActiveTimeRange schema", "description": "An explanation about the purpose of this instance.", - "default": {}, "examples": [ { "EffectiveFromDate": "2020-07-13T19:42:04.284Z", @@ -1251,7 +1246,6 @@ "type": "object", "title": "The first anyOf schema", "description": "An explanation about the purpose of this instance.", - "default": {}, "examples": [ { "IdentifierType": "identifierType", @@ -1309,7 +1303,6 @@ "type": "object", "title": "The first anyOf schema", "description": "An explanation about the purpose of this instance.", - "default": {}, "examples": [ { "IdentifierValueId": "identifierValueId1", @@ -1652,7 +1645,6 @@ "type": "object", "title": "The first anyOf schema", "description": "An explanation about the purpose of this instance.", - "default": {}, "examples": [ { "FeeType": "FeeType", @@ -1839,7 +1831,6 @@ "type": "object", "title": "The PriceThreshold schema", "description": "An explanation about the purpose of this instance.", - "default": {}, "examples": [ { "Amount": 60, @@ -1879,7 +1870,6 @@ "type": "object", "title": "The FeeDiscountMonetaryAmount schema", "description": "An explanation about the purpose of this instance.", - "default": {}, "examples": [ { "Amount": 70, @@ -1919,7 +1909,6 @@ "type": "object", "title": "The FeesEstimate schema", "description": "An explanation about the purpose of this instance.", - "default": {}, "examples": [ { "TimeOfFeesEstimated": "2020-07-13T19:42:04.284Z", @@ -2070,7 +2059,6 @@ "type": "object", "title": "The TotalFeesEstimate schema", "description": "An explanation about the purpose of this instance.", - "default": {}, "examples": [ { "Amount": 90, @@ -2242,7 +2230,6 @@ "type": "object", "title": "The first anyOf schema", "description": "An explanation about the purpose of this instance.", - "default": {}, "examples": [ { "FeeType": "feeType", @@ -2328,7 +2315,6 @@ "type": "object", "title": "The FeeAmount schema", "description": "An explanation about the purpose of this instance.", - "default": {}, "examples": [ { "Amount": 10, @@ -2368,7 +2354,6 @@ "type": "object", "title": "The TaxAmount schema", "description": "An explanation about the purpose of this instance.", - "default": {}, "examples": [ { "Amount": 20, @@ -2408,7 +2393,6 @@ "type": "object", "title": "The FeePromotion schema", "description": "An explanation about the purpose of this instance.", - "default": {}, "examples": [ { "Amount": 30, @@ -2448,7 +2432,6 @@ "type": "object", "title": "The FinalFee schema", "description": "An explanation about the purpose of this instance.", - "default": {}, "examples": [ { "Amount": 40, @@ -2540,7 +2523,6 @@ "type": "object", "title": "The first anyOf schema", "description": "An explanation about the purpose of this instance.", - "default": {}, "examples": [ { "FeeType": "feeType", @@ -2585,7 +2567,6 @@ "type": "object", "title": "The FeeAmount schema", "description": "An explanation about the purpose of this instance.", - "default": {}, "examples": [ { "Amount": 10, @@ -2625,7 +2606,6 @@ "type": "object", "title": "The TaxAmount schema", "description": "An explanation about the purpose of this instance.", - "default": {}, "examples": [ { "Amount": 20, @@ -2665,7 +2645,6 @@ "type": "object", "title": "The FeePromotion schema", "description": "An explanation about the purpose of this instance.", - "default": {}, "examples": [ { "Amount": 30, @@ -2705,7 +2684,6 @@ "type": "object", "title": "The FinalFee schema", "description": "An explanation about the purpose of this instance.", - "default": {}, "examples": [ { "Amount": 40, @@ -2769,4 +2747,4 @@ } }, "additionalProperties": true -} \ No newline at end of file +} diff --git a/schemas/notifications/FulfillmentOrderStatusNotification.json b/schemas/notifications/FulfillmentOrderStatusNotification.json index 7e6d031f1..2794e6e1b 100644 --- a/schemas/notifications/FulfillmentOrderStatusNotification.json +++ b/schemas/notifications/FulfillmentOrderStatusNotification.json @@ -4,7 +4,6 @@ "type": "object", "title": "The root schema", "description": "The root schema comprises the entire JSON document.", - "default": {}, "examples": [ { "NotificationVersion": "1.0", @@ -114,7 +113,6 @@ "type": "object", "title": "The Payload schema", "description": "An explanation about the purpose of this instance.", - "default": {}, "examples": [ { "FulfillmentOrderStatusNotification": { @@ -167,7 +165,6 @@ "type": "object", "title": "The FulfillmentOrderStatusNotification schema", "description": "An explanation about the purpose of this instance.", - "default": {}, "examples": [ { "SellerId": "A3TH9S8BH6GOGM", @@ -274,7 +271,6 @@ "type": "object", "title": "The FulfillmentShipment schema", "description": "An explanation about the purpose of this instance.", - "default": {}, "examples": [ { "FulfillmentShipmentStatus": "PROCESSED", @@ -368,7 +364,6 @@ "type": "object", "title": "The info schema", "description": "An explanation about the purpose of this instance.", - "default": {}, "examples": [ { "PackageNumber": 1, @@ -425,7 +420,6 @@ "type": "object", "title": "The first anyOf schema", "description": "An explanation about the purpose of this instance.", - "default": {}, "examples": [ { "PackageNumber": 1, @@ -483,7 +477,6 @@ "type": "object", "title": "The FulfillmentReturnItem schema", "description": "An explanation about the purpose of this instance.", - "default": {}, "examples": [ { "ReceivedDateTime": "2020-07-13T19:42:04.284Z", @@ -541,7 +534,6 @@ "type": "object", "title": "The NotificationMetadata schema", "description": "An explanation about the purpose of this instance.", - "default": {}, "examples": [ { "ApplicationId": "app-id-d0e9e693-c3ad-4373-979f-ed4ec98dd746", @@ -602,4 +594,4 @@ } }, "additionalProperties": true -} \ No newline at end of file +} diff --git a/schemas/notifications/ItemProductTypeChangeNotification.json b/schemas/notifications/ItemProductTypeChangeNotification.json index a457e8f57..aad87a7d7 100644 --- a/schemas/notifications/ItemProductTypeChangeNotification.json +++ b/schemas/notifications/ItemProductTypeChangeNotification.json @@ -4,7 +4,6 @@ "type": "object", "title": "The root schema", "description": "The root schema comprises the entire JSON document.", - "default": {}, "examples": [ { "NotificationVersion": "1.0", @@ -79,7 +78,6 @@ "type": "object", "title": "The Payload schema", "description": "An explanation about the purpose of this instance.", - "default": {}, "examples": [ { "MarketplaceId": "ATVPDKIKX0DER", @@ -143,7 +141,6 @@ "type": "object", "title": "The NotificationMetadata schema", "description": "An explanation about the purpose of this instance.", - "default": {}, "examples": [ { "ApplicationId": "amzn1.sellerapps.app.f1234566-aaec-55a6-b123-bcb752069ec5", @@ -204,4 +201,4 @@ } }, "additionalProperties": true -} \ No newline at end of file +} diff --git a/schemas/notifications/MfnOrderStatusChangeNotification.json b/schemas/notifications/MfnOrderStatusChangeNotification.json index ee4ff92a2..565cd527b 100644 --- a/schemas/notifications/MfnOrderStatusChangeNotification.json +++ b/schemas/notifications/MfnOrderStatusChangeNotification.json @@ -4,7 +4,6 @@ "type": "object", "title": "The root schema", "description": "The root schema comprises the entire JSON document.", - "default": {}, "examples": [ { "NotificationVersion": "1.0", @@ -87,7 +86,6 @@ "type": "object", "title": "The Payload schema", "description": "An explanation about the purpose of this instance.", - "default": {}, "examples": [ { "MFNOrderStatusChangeNotification": { @@ -113,7 +111,6 @@ "type": "object", "title": "The MFNOrderStatusChangeNotification schema", "description": "An explanation about the purpose of this instance.", - "default": {}, "examples": [ { "SellerId": "AXXXXXXXXXXXXX", @@ -251,7 +248,6 @@ "type": "object", "title": "The NotificationMetadata schema", "description": "An explanation about the purpose of this instance.", - "default": {}, "examples": [ { "ApplicationId": "app-id-d0e9e693-c3ad-4373-979f-ed4ec98dd746", diff --git a/schemas/notifications/OrderStatusChangeNotification.json b/schemas/notifications/OrderStatusChangeNotification.json index 680cfdf59..cc35410f6 100644 --- a/schemas/notifications/OrderStatusChangeNotification.json +++ b/schemas/notifications/OrderStatusChangeNotification.json @@ -4,7 +4,6 @@ "type": "object", "title": "The root schema", "description": "The root schema comprises the entire JSON document.", - "default": {}, "examples": [ { "NotificationVersion": "1.0", @@ -88,7 +87,6 @@ "type": "object", "title": "The Payload schema", "description": "An explanation about the purpose of this instance.", - "default": {}, "examples": [ { "OrderStatusChangeNotification": { @@ -115,7 +113,6 @@ "type": "object", "title": "The OrderStatusChangeNotification schema", "description": "An explanation about the purpose of this instance.", - "default": {}, "examples": [ { "SellerId": "AXXXXXXXXXXXXX", @@ -264,7 +261,6 @@ "type": "object", "title": "The NotificationMetadata schema", "description": "An explanation about the purpose of this instance.", - "default": {}, "examples": [ { "ApplicationId": "app-id-d0e9e693-c3ad-4373-979f-ed4ec98dd746", @@ -325,4 +321,4 @@ } }, "additionalProperties": true -} \ No newline at end of file +} diff --git a/schemas/notifications/ProductTypeDefinitionsChangeNotification.json b/schemas/notifications/ProductTypeDefinitionsChangeNotification.json index a13173877..de82be5ef 100644 --- a/schemas/notifications/ProductTypeDefinitionsChangeNotification.json +++ b/schemas/notifications/ProductTypeDefinitionsChangeNotification.json @@ -4,7 +4,6 @@ "type": "object", "title": "The root schema", "description": "The root schema comprises the entire JSON document.", - "default": {}, "examples": [ { "NotificationVersion":"1.0", @@ -82,7 +81,6 @@ "type": "object", "title": "The Payload schema", "description": "An explanation about the purpose of this instance.", - "default": {}, "examples": [ { "AccountId": "AXXXXXXXXXXX", @@ -154,7 +152,6 @@ "type": "object", "title": "The NotificationMetadata schema", "description": "An explanation about the purpose of this instance.", - "default": {}, "examples": [ { "ApplicationId": "amzn1.sellerapps.app.f1234566-aaec-55a6-b123-bcb752069ec5", @@ -215,4 +212,4 @@ } }, "additionalProperties": true -} \ No newline at end of file +} From c186bfae8d37dead0fdf6f66a4bcc0c2d00d7b37 Mon Sep 17 00:00:00 2001 From: Gibran Waldron Date: Tue, 20 Jun 2023 09:14:32 -0700 Subject: [PATCH 155/340] Add marketplaceAsinPageViewMetrics.json to report schemas GitHub. --- .../marketplaceAsinPageViewMetrics.json | 270 ++++++++++++++++++ 1 file changed, 270 insertions(+) create mode 100644 schemas/reports/marketplaceAsinPageViewMetrics.json diff --git a/schemas/reports/marketplaceAsinPageViewMetrics.json b/schemas/reports/marketplaceAsinPageViewMetrics.json new file mode 100644 index 000000000..8e785227d --- /dev/null +++ b/schemas/reports/marketplaceAsinPageViewMetrics.json @@ -0,0 +1,270 @@ +{ + "$schema": "http://json-schema.org/draft-07/schema", + "type": "object", + "description": "Provides information on the ASIN page view (glance view) metrics for the DE, FR, IT, ES, NL, PL, SE and BE (EU-8) marketplaces, with data available up to the last seven days. A page view is a customer view of the product's detail page for a given ASIN. Developers have the option to specify a start and end date to retrieve data within that range. If no dates are specified, the report will provide the data for the latest available day. For marketplaces and product categories where the seller does not have a meaningful presence (40 units sold), the report will not return any data.", + "examples": [ + { + "reportSpecification": { + "dataStartTime": "2023-04-27", + "dataEndTime": "2023-05-03", + "reportType": "MARKETPLACE_ASIN_PAGE_VIEW_METRICS", + "reportOptions": { + "productType": "AUTO_BATTERY" + }, + "marketplaceIds": [ + "A1PA6795UKMFR9", "APJ6JRA9NG5V4" + ] + }, + "marketplaceAsinPageViewMetrics": [ + { + "startTime": "2023-04-27T00:00:00Z", + "endTime": "2023-04-28T00:00:00Z", + "marketplaceId": "A1PA6795UKMFR9", + "asin": "B00EZ1IGCO", + "pageViews": 12352 + }, + { + "startTime": "2023-04-28T00:00:00Z", + "endTime": "2023-04-29T00:00:00Z", + "marketplaceId": "A1PA6795UKMFR9", + "asin": "B00EZ1IGCO", + "pageViews": 12321 + }, + { + "startTime": "2023-04-29T00:00:00Z", + "endTime": "2023-04-30T00:00:00Z", + "marketplaceId": "A1PA6795UKMFR9", + "asin": "B00EZ1IGCO", + "pageViews": 10021 + }, + { + "startTime": "2023-04-30T00:00:00Z", + "endTime": "2023-05-01T00:00:00Z", + "marketplaceId": "A1PA6795UKMFR9", + "asin": "B00EZ1IGCO", + "pageViews": 1432 + }, + { + "startTime": "2023-05-01T00:00:00Z", + "endTime": "2023-05-02T00:00:00Z", + "marketplaceId": "A1PA6795UKMFR9", + "asin": "B00EZ1IGCO", + "pageViews": 342 + }, + { + "startTime": "2023-05-02T00:00:00Z", + "endTime": "2023-05-03T00:00:00Z", + "marketplaceId": "A1PA6795UKMFR9", + "asin": "B00EZ1IGCO", + "pageViews": 450 + }, + { + "startTime": "2023-05-03T00:00:00Z", + "endTime": "2023-05-04T00:00:00Z", + "marketplaceId": "A1PA6795UKMFR9", + "asin": "B00EZ1IGCO", + "pageViews": 1250 + }, + { + "startTime": "2023-04-27T00:00:00Z", + "endTime": "2023-04-28T00:00:00Z", + "marketplaceId": "APJ6JRA9NG5V4", + "asin": "A0DEZ1IKDB", + "pageViews": 12352 + }, + { + "startTime": "2023-04-28T00:00:00Z", + "endTime": "2023-04-29T00:00:00Z", + "marketplaceId": "APJ6JRA9NG5V4", + "asin": "A0DEZ1IKDB", + "pageViews": 12321 + }, + { + "startTime": "2023-04-29T00:00:00Z", + "endTime": "2023-04-30T00:00:00Z", + "marketplaceId": "APJ6JRA9NG5V4", + "asin": "A0DEZ1IKDB", + "pageViews": 10021 + }, + { + "startTime": "2023-04-30T00:00:00Z", + "endTime": "2023-05-01T00:00:00Z", + "marketplaceId": "APJ6JRA9NG5V4", + "asin": "A0DEZ1IKDB", + "pageViews": 1432 + }, + { + "startTime": "2023-05-01T00:00:00Z", + "endTime": "2023-05-02T00:00:00Z", + "marketplaceId": "APJ6JRA9NG5V4", + "asin": "A0DEZ1IKDB", + "pageViews": 342 + }, + { + "startTime": "2023-05-02T00:00:00Z", + "endTime": "2023-05-03T00:00:00Z", + "marketplaceId": "APJ6JRA9NG5V4", + "asin": "A0DEZ1IKDB", + "pageViews": 450 + }, + { + "startTime": "2023-05-03T00:00:00Z", + "endTime": "2023-05-04T00:00:00Z", + "marketplaceId": "APJ6JRA9NG5V4", + "asin": "A0DEZ1IKDB", + "pageViews": 1250 + } + ] + }, + { + "reportSpecification": { + "reportType": "MARKETPLACE_ASIN_PAGE_VIEW_METRICS", + "reportOptions": { + "productType": "AUTO_BATTERY" + }, + "marketplaceIds": [ + "A1PA6795UKMFR9", "APJ6JRA9NG5V4" + ] + }, + "marketplaceAsinPageViewMetrics": [ + { + "startTime": "2023-05-03T00:00:00Z", + "endTime": "2023-05-04T00:00:00Z", + "marketplaceId": "A1PA6795UKMFR9", + "asin": "B00EZ1IGCO", + "pageViews": 1250 + }, + { + "startTime": "2023-05-03T00:00:00Z", + "endTime": "2023-05-04T00:00:00Z", + "marketplaceId": "APJ6JRA9NG5V4", + "asin": "A0DEZ1IKDB", + "pageViews": 1250 + } + ] + } + ], + "required": [ + "reportSpecification", + "marketplaceAsinPageViewMetrics" + ], + "properties": { + "reportSpecification": { + "type": "object", + "description": "Summarizes the report request.", + "required": [ + "reportType", + "reportOptions", + "marketplaceIds" + ], + "properties": { + "reportType": { + "type": "string", + "description": "The report type." + }, + "reportOptions": { + "type": "object", + "description": "Used to specify the product type.", + "required": [ + "productType" + ], + "properties": { + "productType": { + "type": "string", + "description": "The Amazon product type of the ASINs for which the report is being requested. All ASINs with the productType will be included. The value for the product type can be found by following instructions on Seller Central's Help page. - https://sellercentral.amazon.com/help/hub/reference/GYV2F6WS9N9FDYD9", + "examples": [ + "AUTO_BATTERY", + "LUGGAGE", + "SHOES" + ] + } + } + }, + "dataStartTime": { + "type": "string", + "format": "date", + "description": "Determines the start date of the report - the time component is ignored. If the start date of the report is more than seven days ago, the report will be cancelled. If the start date of the report is not provided, it will default to the start date of the most recently available daily data.", + "examples": [ + "2021-06-06" + ] + }, + "dataEndTime": { + "type": "string", + "format": "date", + "description": "Determines the end date of the report - the time component is ignored. If the end date of the report is not within the seven days from start date, the report will be cancelled. If the end date of the report is not provided, it will default to the end date of the most recently available daily date.", + "examples": [ + "2021-06-19" + ] + }, + "marketplaceIds": { + "type": "array", + "description": "Any of the EU(8) marketplaces. DE, FR, IT, ES, NL, PL, SE and BE", + "items": { + "type": "string", + "description": "Any EU(8) Marketplace ID. DE, FR, IT, ES, NL, PL, SE and BE. The ID for the marketplace can be found on the SP-API documentation. - https://developer-docs.amazon.com/sp-api/docs/marketplace-ids" + } + } + } + }, + "marketplaceAsinPageViewMetrics": { + "type": "array", + "description": "A list of ASIN page view metrics.", + "items": { + "$ref": "#/definitions/MarketplaceAsinPageViewMetrics" + } + } + }, + "definitions": { + "MarketplaceAsinPageViewMetrics": { + "type": "object", + "description": "Contains aggregate ASIN page view metrics.", + "required": [ + "startTime", + "endTime", + "marketplaceId", + "asin", + "pageViews" + ], + "properties": { + "startTime": { + "type": "string", + "format": "date-time", + "description": "Start time of the aggregation window in UTC.", + "examples": [ + "2023-01-16T00:00:00Z" + ] + }, + "endTime": { + "type": "string", + "format": "date-time", + "description": "End time of the aggregation window in UTC.", + "examples": [ + "2023-01-23T00:00:00Z" + ] + }, + "marketplaceId": { + "type": "string", + "description": "Marketplace for which the page view metrics are provided.", + "examples": [ + "A1PA6795UKMFR9" + ] + }, + "asin": { + "type": "string", + "description": "ASIN for which the page view metrics are provided.", + "examples": [ + "B00EZ1IGCO" + ] + }, + "pageViews": { + "type": "integer", + "description": "Total page views (count).", + "minimum": 0, + "examples": [ + "12352" + ] + } + } + } + } +} \ No newline at end of file From 7e24fb2d50dc2070d4a56ea42f047cd8d913eef6 Mon Sep 17 00:00:00 2001 From: andiec Date: Tue, 20 Jun 2023 11:43:09 -0400 Subject: [PATCH 156/340] deprecation tags added to feeds and reports 2020-09-04 --- models/feeds-api-model/feeds_2020-09-04.json | 6 ++++++ models/reports-api-model/reports_2020-09-04.json | 9 +++++++++ 2 files changed, 15 insertions(+) diff --git a/models/feeds-api-model/feeds_2020-09-04.json b/models/feeds-api-model/feeds_2020-09-04.json index 5fb2604df..739289852 100644 --- a/models/feeds-api-model/feeds_2020-09-04.json +++ b/models/feeds-api-model/feeds_2020-09-04.json @@ -31,6 +31,7 @@ ], "description": "Effective June 27, 2023, the `getFeeds` operation will no longer be available in the Selling Partner API for Feeds v2020-09-04 and all calls to it will fail. Integrations that rely on this operation should migrate to [Feeds v2021-06-30](https://developer-docs.amazon.com/sp-api/docs/feeds-api-v2021-06-30-reference) to avoid service disruption.", "operationId": "getFeeds", + "deprecated": true, "parameters": [ { "name": "feedTypes", @@ -346,6 +347,7 @@ ], "description": "Effective June 27, 2023, the `createFeed` operation will no longer be available in the Selling Partner API for Feeds v2020-09-04 and all calls to it will fail. Integrations that rely on this operation should migrate to [Feeds v2021-06-30](https://developer-docs.amazon.com/sp-api/docs/feeds-api-v2021-06-30-reference) to avoid service disruption.", "operationId": "createFeed", + "deprecated": true, "parameters": [ { "in": "body", @@ -560,6 +562,7 @@ ], "description": "Effective June 27, 2023, the `getFeed` operation will no longer be available in the Selling Partner API for Feeds v2020-09-04 and all calls to it will fail. Integrations that rely on this operation should migrate to [Feeds v2021-06-30](https://developer-docs.amazon.com/sp-api/docs/feeds-api-v2021-06-30-reference) to avoid service disruption.", "operationId": "getFeed", + "deprecated": true, "parameters": [ { "name": "feedId", @@ -763,6 +766,7 @@ ], "description": "Effective June 27, 2023, the `cancelFeed` operation will no longer be available in the Selling Partner API for Feeds v2020-09-04 and all calls to it will fail. Integrations that rely on this operation should migrate to [Feeds v2021-06-30](https://developer-docs.amazon.com/sp-api/docs/feeds-api-v2021-06-30-reference) to avoid service disruption.", "operationId": "cancelFeed", + "deprecated": true, "parameters": [ { "name": "feedId", @@ -959,6 +963,7 @@ ], "description": "Effective June 27, 2023, the `createFeedDocument` operation will no longer be available in the Selling Partner API for Feeds v2020-09-04 and all calls to it will fail. Integrations that rely on this operation should migrate to [Feeds v2021-06-30](https://developer-docs.amazon.com/sp-api/docs/feeds-api-v2021-06-30-reference) to avoid service disruption.", "operationId": "createFeedDocument", + "deprecated": true, "parameters": [ { "in": "body", @@ -1168,6 +1173,7 @@ ], "description": "Effective June 27, 2023, the `getFeedDocument` operation will no longer be available in the Selling Partner API for Feeds v2020-09-04 and all calls to it will fail. Integrations that rely on this operation should migrate to [Feeds v2021-06-30](https://developer-docs.amazon.com/sp-api/docs/feeds-api-v2021-06-30-reference) to avoid service disruption.", "operationId": "getFeedDocument", + "deprecated": true, "parameters": [ { "name": "feedDocumentId", diff --git a/models/reports-api-model/reports_2020-09-04.json b/models/reports-api-model/reports_2020-09-04.json index 6a51c8013..4127a00e9 100644 --- a/models/reports-api-model/reports_2020-09-04.json +++ b/models/reports-api-model/reports_2020-09-04.json @@ -32,6 +32,7 @@ ], "description": "Effective **June 27, 2023**, the `getReports` operation will no longer be available in the Selling Partner API for Reports v2020-09-04 and all calls to it will fail. Integrations that rely on this operation should migrate to [Reports v2021-06-30](https://developer-docs.amazon.com/sp-api/docs/reports-api-v2021-06-30-reference) to avoid service disruption.", "operationId": "getReports", + "deprecated": true, "parameters": [ { "name": "reportTypes", @@ -348,6 +349,7 @@ ], "description": "Effective **June 27, 2023**, the `createReport` operation will no longer be available in the Selling Partner API for Reports v2020-09-04 and all calls to it will fail. Integrations that rely on this operation should migrate to [Reports v2021-06-30](https://developer-docs.amazon.com/sp-api/docs/reports-api-v2021-06-30-reference) to avoid service disruption.", "operationId": "createReport", + "deprecated": true, "parameters": [ { "in": "body", @@ -563,6 +565,7 @@ ], "description": "Effective **June 27, 2023**, the `getReport` operation will no longer be available in the Selling Partner API for Reports v2020-09-04 and all calls to it will fail. Integrations that rely on this operation should migrate to [Reports v2021-06-30](https://developer-docs.amazon.com/sp-api/docs/reports-api-v2021-06-30-reference) to avoid service disruption.", "operationId": "getReport", + "deprecated": true, "parameters": [ { "name": "reportId", @@ -768,6 +771,7 @@ ], "description": "Effective **June 27, 2023**, the `cancelReport` operation will no longer be available in the Selling Partner API for Reports v2020-09-04 and all calls to it will fail. Integrations that rely on this operation should migrate to [Reports v2021-06-30](https://developer-docs.amazon.com/sp-api/docs/reports-api-v2021-06-30-reference) to avoid service disruption.", "operationId": "cancelReport", + "deprecated": true, "parameters": [ { "name": "reportId", @@ -960,6 +964,7 @@ ], "description": "Effective **June 27, 2023**, the `getReportSchedules` operation will no longer be available in the Selling Partner API for Reports v2020-09-04 and all calls to it will fail. Integrations that rely on this operation should migrate to [Reports v2021-06-30](https://developer-docs.amazon.com/sp-api/docs/reports-api-v2021-06-30-reference) to avoid service disruption.", "operationId": "getReportSchedules", + "deprecated": true, "parameters": [ { "name": "reportTypes", @@ -1183,6 +1188,7 @@ ], "description": "Effective **June 27, 2023**, the `createReportSchedule` operation will no longer be available in the Selling Partner API for Reports v2020-09-04 and all calls to it will fail. Integrations that rely on this operation should migrate to [Reports v2021-06-30](https://developer-docs.amazon.com/sp-api/docs/reports-api-v2021-06-30-reference) to avoid service disruption.", "operationId": "createReportSchedule", + "deprecated": true, "parameters": [ { "in": "body", @@ -1396,6 +1402,7 @@ ], "description": "Effective **June 27, 2023**, the `getReportSchedule` operation will no longer be available in the Selling Partner API for Reports v2020-09-04 and all calls to it will fail. Integrations that rely on this operation should migrate to [Reports v2021-06-30](https://developer-docs.amazon.com/sp-api/docs/reports-api-v2021-06-30-reference) to avoid service disruption.", "operationId": "getReportSchedule", + "deprecated": true, "parameters": [ { "name": "reportScheduleId", @@ -1597,6 +1604,7 @@ ], "description": "Effective **June 27, 2023**, the `cancelReportSchedule` operation will no longer be available in the Selling Partner API for Reports v2020-09-04 and all calls to it will fail. Integrations that rely on this operation should migrate to [Reports v2021-06-30](https://developer-docs.amazon.com/sp-api/docs/reports-api-v2021-06-30-reference) to avoid service disruption.", "operationId": "cancelReportSchedule", + "deprecated": true, "parameters": [ { "name": "reportScheduleId", @@ -1789,6 +1797,7 @@ ], "description": "Effective **June 27, 2023**, the `getReportDocument` operation will no longer be available in the Selling Partner API for Reports v2020-09-04 and all calls to it will fail. Integrations that rely on this operation should migrate to [Reports v2021-06-30](https://developer-docs.amazon.com/sp-api/docs/reports-api-v2021-06-30-reference) to avoid service disruption.", "operationId": "getReportDocument", + "deprecated": true, "parameters": [ { "name": "reportDocumentId", From 775dc5f555f5cadf9db7668482ea99e51a253e0a Mon Sep 17 00:00:00 2001 From: Gibran Waldron Date: Wed, 21 Jun 2023 08:32:06 -0700 Subject: [PATCH 157/340] Add vendorRealTimeTrafficReport.json to the GitHub report schemas. --- .../reports/vendorRealTimeTrafficReport.json | 134 ++++++++++++++++++ 1 file changed, 134 insertions(+) create mode 100644 schemas/reports/vendorRealTimeTrafficReport.json diff --git a/schemas/reports/vendorRealTimeTrafficReport.json b/schemas/reports/vendorRealTimeTrafficReport.json new file mode 100644 index 000000000..edead4b88 --- /dev/null +++ b/schemas/reports/vendorRealTimeTrafficReport.json @@ -0,0 +1,134 @@ +{ + "$schema": "http://json-schema.org/draft-07/schema", + "type": "object", + "description": "This report shares data on the customer traffic to the detail pages of the vendor's items with an hourly granularity. Requests can span multiple date range periods. For example, if the customer specified dataStartTime and dataEndTime span three hours, the report would contain data for each complete hour within the time span.", + "examples": [ + { + "reportSpecification": { + "reportType": "GET_VENDOR_REAL_TIME_TRAFFIC_REPORT", + "dataStartTime": "2022-04-20T20:00:00Z", + "dataEndTime": "2022-04-20T21:00:00Z", + "marketplaceIds": [ + "ATVPDKIKX0DER" + ] + }, + "reportData": [ + { + "startTime": "2022-04-20T20:00:00Z", + "endTime": "2022-04-20T21:00:00Z", + "asin": "B00ABCD123", + "glanceViews": 75 + } + ] + } + ], + "required": [ + "reportSpecification", + "reportData" + ], + "properties": { + "reportSpecification": { + "type": "object", + "description": "Summarizes the original report request.", + "required": [ + "reportType", + "dataStartTime", + "dataEndTime", + "marketplaceIds" + ], + "properties": { + "reportType": { + "type": "string", + "description": "The type of the report.", + "enum": [ + "GET_VENDOR_REAL_TIME_TRAFFIC_REPORT" + ] + }, + "dataStartTime": { + "type": "string", + "format": "date-time", + "description": "The start of a date-time range in UTC used to determine hours to report on. Output will include all full hours that fall within the range.", + "examples": [ + "2022-04-20T20:00:00Z", + "2022-04-20T20:59:59Z" + ] + }, + "dataEndTime": { + "type": "string", + "format": "date-time", + "description": "The end of a date-time range in UTC used to determine hours to report on. Output will include all full hours that fall within the range. End time should be at least 60 minutes earlier than the time of the request.", + "examples": [ + "2022-04-20T20:00:00Z", + "2022-04-20T20:10:00Z" + ] + }, + "marketplaceIds": { + "type": "array", + "description": "Marketplace IDs as specified in the report request.", + "examples": [ + [ + "ATVPDKIKX0DER" + ] + ], + "items": { + "type": "string" + } + } + } + }, + "reportData": { + "type": "array", + "description": "List of hour and ASIN combinations.", + "items": { + "$ref": "#/definitions/ReportData" + } + } + }, + "definitions": { + "ReportData": { + "type": "object", + "description": "Contains details about hour and ASIN combinations for the specified time range.", + "required": [ + "startTime", + "endTime", + "asin", + "glanceViews" + ], + "properties": { + "startTime": { + "type": "string", + "format": "date-time", + "description": "The start of a date-time range in UTC representing the beginning of the hour for this object.", + "examples": [ + "2022-04-20T20:00:00Z", + "2022-04-20T08:00:00Z" + ] + }, + "endTime": { + "type": "string", + "format": "date-time", + "description": "The end of a date-time range in UTC representing the end of the hour for this object.", + "examples": [ + "2022-04-20T21:00:00Z", + "2022-04-20T09:00:00Z" + ] + }, + "asin": { + "description": "The Amazon Standard Identification Number (ASIN).", + "type": "string", + "examples": [ + "B123456789" + ] + }, + "glanceViews": { + "type": "integer", + "description": "The number of customer views of the product detail page for this ASIN.", + "minimum": 0, + "examples": [ + 75 + ] + } + } + } + } +} From a659bc3555c66e5060cb80e9773ebe5e2ac5bff0 Mon Sep 17 00:00:00 2001 From: Gibran Waldron Date: Wed, 21 Jun 2023 08:36:55 -0700 Subject: [PATCH 158/340] Add vendorRealTimeInventoryReport.json to the report schema GitHub. --- .../vendorRealTimeInventoryReport.json | 153 ++++++++++++++++++ 1 file changed, 153 insertions(+) create mode 100644 schemas/reports/vendorRealTimeInventoryReport.json diff --git a/schemas/reports/vendorRealTimeInventoryReport.json b/schemas/reports/vendorRealTimeInventoryReport.json new file mode 100644 index 000000000..e5018ad97 --- /dev/null +++ b/schemas/reports/vendorRealTimeInventoryReport.json @@ -0,0 +1,153 @@ +{ + "$schema": "http://json-schema.org/draft-07/schema", + "type": "object", + "description": "This report shares inventory data at an ASIN level, aggregated to an hourly granularity. Requests can span multiple date range periods, including the current day.", + "examples": [ + { + "reportSpecification": { + "reportType": "GET_VENDOR_REAL_TIME_INVENTORY_REPORT", + "dataStartTime": "2022-10-01T00:00:00Z", + "dataEndTime": "2022-10-01T02:00:00Z", + "marketplaceIds": [ + "ATVPDKIKX0DER" + ] + }, + "reportData": [ + { + "startTime": "2022-10-01T00:00:00Z", + "endTime": "2022-10-01T01:00:00Z", + "asin": "B123456789", + "highlyAvailableInventory": 270 + }, + { + "startTime": "2022-10-01T00:00:00Z", + "endTime": "2022-10-01T01:00:00Z", + "asin": "B987654321", + "highlyAvailableInventory": 650 + }, + { + "startTime": "2022-10-01T01:00:00Z", + "endTime": "2022-10-01T02:00:00Z", + "asin": "B123456789", + "highlyAvailableInventory": 250 + }, + { + "startTime": "2022-10-01T01:00:00Z", + "endTime": "2022-10-01T02:00:00Z", + "asin": "B987654321", + "highlyAvailableInventory": 550 + } + ] + } + ], + "required": [ + "reportSpecification", + "reportData" + ], + "properties": { + "reportSpecification": { + "type": "object", + "description": "Summarizes the original report request.", + "required": [ + "reportType", + "dataStartTime", + "dataEndTime", + "marketplaceIds" + ], + "properties": { + "reportType": { + "type": "string", + "description": "The report type.", + "enum": [ + "GET_VENDOR_REAL_TIME_INVENTORY_REPORT" + ] + }, + "dataStartTime": { + "type": "string", + "format": "date-time", + "description": "The start of a date-time range in UTC used to determine hours to report on. Output will include all full hours that fall within the range. Start time can be up to 168 hours before the time of the request.", + "examples": [ + "2022-10-01T00:00:00Z", + "2022-10-31T23:59:59Z" + ] + }, + "dataEndTime": { + "type": "string", + "format": "date-time", + "description": "The end of a date-time range in UTC used to determine hours to report on. Output will include all full hours that fall within the range. End time should not be more than 24 hours from the start time.", + "examples": [ + "2022-10-01T00:00:00Z", + "2022-10-31T23:59:59Z" + ] + }, + "marketplaceIds": { + "type": "array", + "description": "Marketplace IDs as specified in the report request.", + "examples": [ + [ + "ATVPDKIKX0DER" + ] + ], + "items": { + "type": "string" + } + } + } + }, + "reportData": { + "type": "array", + "description": "List of ASIN and inventory count combinations.", + "items": { + "$ref": "#/definitions/ReportData" + } + } + }, + "definitions": { + "ReportData": { + "type": "object", + "description": "Contains details about ASIN and inventory count combinations for the specified time range.", + "required": [ + "startTime", + "endTime", + "asin", + "highlyAvailableInventory" + ], + "properties": { + "startTime": { + "type": "string", + "format": "date-time", + "description": "The start of a date-time range in UTC representing the beginning of the hour for this object.", + "examples": [ + "2022-04-20T20:00:00Z", + "2022-04-20T08:00:00Z" + ] + }, + "endTime": { + "type": "string", + "format": "date-time", + "description": "The end of a date-time range in UTC representing the end of the hour for this object.", + "examples": [ + "2022-04-20T21:00:00Z", + "2022-04-20T09:00:00Z" + ] + }, + "asin": { + "description": "The Amazon Standard Identification Number (ASIN).", + "type": "string", + "examples": [ + "B123456789" + ] + }, + "highlyAvailableInventory": { + "type": "integer", + "minimum": 0, + "description": "The number of units available to be sold on the website, based on units in Amazon fulfillment centers that are in sellable condition less units in customer shopping carts or otherwise bound for other orders (e.g. known subscribe-and-save orders).", + "examples": [ + 75, + 4790 + ] + } + } + } + } +} From 17867912285c8dc5c0d651c026c28d9c14f49108 Mon Sep 17 00:00:00 2001 From: Gibran Waldron Date: Wed, 21 Jun 2023 08:40:35 -0700 Subject: [PATCH 159/340] Add vendorRealTimeSalesReport.json to the GitHub report schema. --- .../reports/vendorRealTimeSalesReport.json | 208 ++++++++++++++++++ 1 file changed, 208 insertions(+) create mode 100644 schemas/reports/vendorRealTimeSalesReport.json diff --git a/schemas/reports/vendorRealTimeSalesReport.json b/schemas/reports/vendorRealTimeSalesReport.json new file mode 100644 index 000000000..7b8c46262 --- /dev/null +++ b/schemas/reports/vendorRealTimeSalesReport.json @@ -0,0 +1,208 @@ +{ + "$schema": "http://json-schema.org/draft-07/schema", + "type": "object", + "description": "This report shares sales data at an ASIN level, aggregated to an hourly granularity. Requests can span multiple date range periods. For example, if the customer specified dataStartTime and dataEndTime span three hours, the report would contain data for each complete hour within the time span.", + "examples": [ + { + "reportSpecification": { + "reportType": "GET_VENDOR_REAL_TIME_SALES_REPORT", + "dataStartTime": "2022-04-20T20:00:00Z", + "dataEndTime": "2022-04-20T21:00:00Z", + "marketplaceIds": [ + "ATVPDKIKX0DER" + ], + "reportOptions": { + "currencyCode": "USD" + } + }, + "reportData": [ + { + "startTime": "2022-04-20T20:00:00Z", + "endTime": "2022-04-20T21:00:00Z", + "asin": "B00ABCD123", + "orderedUnits": 1, + "orderedRevenue": 167.14 + }, + { + "startTime": "2022-04-20T20:00:00Z", + "endTime": "2022-04-20T21:00:00Z", + "asin": "B00ABCD456", + "orderedUnits": 0, + "orderedRevenue": 0.00 + }, + { + "startTime": "2022-04-20T20:00:00Z", + "endTime": "2022-04-20T21:00:00Z", + "asin": "B00ABCD789", + "orderedUnits": 0, + "orderedRevenue": 0.00 + }, + { + "startTime": "2022-04-20T20:00:00Z", + "endTime": "2022-04-20T21:00:00Z", + "asin": "B00LMNO789", + "orderedUnits": 1, + "orderedRevenue": 65.99 + }, + { + "startTime": "2022-04-20T20:00:00Z", + "endTime": "2022-04-20T21:00:00Z", + "asin": "B00LMNO456", + "orderedUnits": 1, + "orderedRevenue": 50.99 + }, + { + "startTime": "2022-04-20T20:00:00Z", + "endTime": "2022-04-20T21:00:00Z", + "asin": "B00LMNO147", + "orderedUnits": 2, + "orderedRevenue": 103.98 + }, + { + "startTime": "2022-04-20T20:00:00Z", + "endTime": "2022-04-20T21:00:00Z", + "asin": "B00LMNO963", + "orderedUnits": 1, + "orderedRevenue": 64.53 + } + ] + } + ], + "required": [ + "reportSpecification", + "reportData" + ], + "properties": { + "reportSpecification": { + "type": "object", + "description": "Summarizes the original report request.", + "required": [ + "reportType", + "dataStartTime", + "dataEndTime", + "marketplaceIds", + "reportOptions" + ], + "properties": { + "reportType": { + "type": "string", + "description": "The type of the report.", + "enum": [ + "GET_VENDOR_REAL_TIME_SALES_REPORT" + ] + }, + "dataStartTime": { + "type": "string", + "format": "date-time", + "description": "The start of a date-time range in UTC used to determine hours to report on. Output will include all full hours that fall within the range.", + "examples": [ + "2022-04-20T20:00:00Z", + "2022-04-20T20:59:59Z" + ] + }, + "dataEndTime": { + "type": "string", + "format": "date-time", + "description": "The end of a date-time range in UTC used to determine hours to report on. Output will include all full hours that fall within the range.", + "examples": [ + "2022-04-20T20:00:00Z", + "2022-04-20T20:10:00Z" + ] + }, + "marketplaceIds": { + "type": "array", + "description": "Marketplace IDs as specified in the report request.", + "examples": [ + [ + "ATVPDKIKX0DER" + ] + ], + "items": { + "type": "string" + } + }, + "reportOptions": { + "type": "object", + "description": "Report options specifying parameters such as currencyCode.", + "required": [ + "currencyCode" + ], + "properties": { + "currencyCode": { + "type": "string", + "description": "Currency code of the amount. In ISO 4217 format.", + "examples": [ + "USD", + "EUR", + "AUD", + "JPY" + ] + } + } + } + } + }, + "reportData": { + "type": "array", + "description": "List of hour and ASIN combinations.", + "items": { + "$ref": "#/definitions/reportData" + } + } + }, + "definitions": { + "reportData": { + "type": "object", + "description": "Contains details about hour and ASIN combinations for the specified time range.", + "required": [ + "startTime", + "endTime", + "asin", + "orderedUnits", + "orderedRevenue" + ], + "properties": { + "startTime": { + "type": "string", + "format": "date-time", + "description": "The start of a date-time range in UTC representing the beginning of the hour for this object.", + "examples": [ + "2022-04-20T20:00:00Z", + "2022-04-20T08:00:00Z" + ] + }, + "endTime": { + "type": "string", + "format": "date-time", + "description": "The end of a date-time range in UTC representing the end of the hour for this object.", + "examples": [ + "2022-04-20T21:00:00Z", + "2022-04-20T09:00:00Z" + ] + }, + "asin": { + "description": "The Amazon Standard Identification Number (ASIN).", + "type": "string", + "examples": [ + "B123456789" + ] + }, + "orderedUnits": { + "type": "integer", + "description": "Number of units ordered by Amazon customers. This number can be negative if there are more cancellations than orders.", + "examples": [ + 75, + -12 + ] + }, + "orderedRevenue": { + "type": "number", + "description": "Ordered Product Sales in the specified hour as of the time the report is generated. Adjustments are made for cancellations.", + "examples": [ + 20.00 + ] + } + } + } + } +} \ No newline at end of file From 0411bb158f647ccaa4a35c558cb3456dda876e40 Mon Sep 17 00:00:00 2001 From: Sal Ricciardi Date: Wed, 21 Jun 2023 09:14:18 -0700 Subject: [PATCH 160/340] Add new replenishment API model --- .../replenishment-2022-11-07.json | 1823 +++++++++++++++++ 1 file changed, 1823 insertions(+) create mode 100644 models/replenishment-api-model/replenishment-2022-11-07.json diff --git a/models/replenishment-api-model/replenishment-2022-11-07.json b/models/replenishment-api-model/replenishment-2022-11-07.json new file mode 100644 index 000000000..02f0ddc69 --- /dev/null +++ b/models/replenishment-api-model/replenishment-2022-11-07.json @@ -0,0 +1,1823 @@ +{ + "swagger": "2.0", + "info": { + "version": "2022-11-07", + "title": "Selling Partner API for Replenishment", + "description": "The Selling Partner API for Replenishment (Replenishment API) provides programmatic access to replenishment program metrics and offers. These programs provide recurring delivery (automatic or manual) of any replenishable item at a frequency chosen by the customer.", + "contact": { + "name": "Selling Partner API Developer Support", + "url": "https://sellercentral.amazon.com/gp/mws/contactus.html" + }, + "license": { + "name": "Apache License 2.0", + "url": "http://www.apache.org/licenses/LICENSE-2.0" + } + }, + "host": "sellingpartnerapi-na.amazon.com", + "schemes": [ + "https" + ], + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "definitions": { + "GetSellingPartnerMetricsRequest": { + "description": "The request body for the `getSellingPartnerMetrics` operation.", + "type": "object", + "required": [ + "timeInterval", + "timePeriodType", + "programTypes", + "marketplaceId" + ], + "properties": { + "aggregationFrequency": { + "$ref": "#/definitions/AggregationFrequency" + }, + "timeInterval": { + "description": "A time interval used to compute metrics.", + "$ref": "#/definitions/TimeInterval" + }, + "metrics": { + "description": "The list of metrics requested. If no metric value is provided, data for all of the metrics will be returned.", + "type": "array", + "items": { + "$ref": "#/definitions/Metric" + }, + "uniqueItems": true, + "minItems": 1 + }, + "timePeriodType": { + "$ref": "#/definitions/TimePeriodType" + }, + "marketplaceId": { + "description": "The marketplace identifier. The supported marketplaces for both sellers and vendors are US, CA, ES, UK, FR, IT, IN, DE and JP. The supported marketplaces for vendors only are BR, AU, MX, AE and NL. Refer to [Marketplace IDs](https://developer-docs.amazon.com/sp-api/docs/marketplace-ids) to find the identifier for the marketplace.", + "$ref": "#/definitions/MarketplaceId" + }, + "programTypes": { + "description": "The list of replenishment program types for which to return metrics.", + "$ref": "#/definitions/ProgramTypes" + } + } + }, + "ListOfferMetricsRequest": { + "description": "The request body for the `listOfferMetrics` operation.", + "type": "object", + "required": [ + "pagination", + "filters" + ], + "properties": { + "pagination": { + "$ref": "#/definitions/ListOfferMetricsRequestPagination", + "description": "Use these parameters to paginate through the response." + }, + "sort": { + "description": "Use these parameters to sort the response.", + "$ref": "#/definitions/ListOfferMetricsRequestSort" + }, + "filters": { + "description": "Use these parameters to filter results. Any result must match all provided parameters. For any parameter that is an array, the result must match at least one element in the provided array.", + "$ref": "#/definitions/ListOfferMetricsRequestFilters" + } + } + }, + "ListOffersRequest": { + "description": "The request body for the `listOffers` operation.", + "type": "object", + "required": [ + "pagination", + "filters" + ], + "properties": { + "pagination": { + "description": "Use these parameters to paginate through the response.", + "$ref": "#/definitions/ListOffersRequestPagination" + }, + "filters": { + "description": "Use these parameters to filter results. Any result must match all provided parameters. For any parameter that is an array, the result must match at least one element in the provided array.", + "$ref": "#/definitions/ListOffersRequestFilters" + }, + "sort": { + "description": "Use these parameters to sort the response.", + "$ref": "#/definitions/ListOffersRequestSort" + } + } + }, + "EligibilityStatus": { + "type": "string", + "description": "The current eligibility status of an offer.", + "enum": [ + "ELIGIBLE", + "INELIGIBLE", + "SUSPENDED", + "REPLENISHMENT_ONLY_ORDERING" + ], + "x-docgen-enum-table-extension": [ + { + "value": "ELIGIBLE", + "description": "The offer is able to fulfill current subscriptions and add new subscriptions." + }, + { + "value": "INELIGIBLE", + "description": "The offer will not be able to add new subscriptions and existing subscriptions will be cancelled." + }, + { + "value": "SUSPENDED", + "description": "The offer will not be able to add new subscriptions but existing subscriptions will be fulfilled." + }, + { + "value": "REPLENISHMENT_ONLY_ORDERING", + "description": "The offer will not be able to add new subscriptions but existing subscriptions will be fulfilled. This eligibility status also blocks one-time purchases to preserve inventory for existing subscriptions." + } + ] + }, + "Preference": { + "description": "Offer preferences that you can include in the result filter criteria.", + "type": "object", + "properties": { + "autoEnrollment": { + "type": "array", + "description": "Filters the results to only include offers with the auto-enrollment preference specified.", + "items": { + "$ref": "#/definitions/AutoEnrollmentPreference" + }, + "uniqueItems": true, + "minItems": 1 + } + } + }, + "Promotion": { + "description": "Offer promotions to include in the result filter criteria.", + "type": "object", + "properties": { + "sellingPartnerFundedBaseDiscount": { + "description": "A base discount set by the selling partner on the offer.", + "$ref": "#/definitions/DiscountFunding" + }, + "sellingPartnerFundedTieredDiscount": { + "description": "A tiered discount set by the selling partner on the offer.", + "$ref": "#/definitions/DiscountFunding" + }, + "amazonFundedBaseDiscount": { + "$ref": "#/definitions/DiscountFunding", + "description": "A base discount set by Amazon on the offer." + }, + "amazonFundedTieredDiscount": { + "description": "A tiered discount set by Amazon on the offer.", + "$ref": "#/definitions/DiscountFunding" + } + } + }, + "DiscountFunding": { + "description": "The discount funding on the offer.", + "type": "object", + "properties": { + "percentage": { + "description": "Filters the results to only include offers with the percentage specified.", + "type": "array", + "items": { + "type": "number", + "format": "int64", + "minimum": 0, + "maximum": 100 + }, + "uniqueItems": true, + "minItems": 1, + "maxItems": 10 + } + } + }, + "OfferProgramConfiguration" : { + "description": "The offer program configuration contains a set of program properties for an offer.", + "type": "object", + "properties": { + "preferences": { + "description": "An object which contains the preferences applied to the offer.", + "$ref": "#/definitions/OfferProgramConfigurationPreferences" + }, + "promotions": { + "description": "An object which contains the promotions applied to the offer.", + "$ref": "#/definitions/OfferProgramConfigurationPromotions" + }, + "enrollmentMethod": { + "description": "Determines whether the offer was automatically or manually enrolled in the program. This property is only supported for sellers and not vendors.", + "$ref": "#/definitions/EnrollmentMethod" + } + } + }, + "OfferProgramConfigurationPreferences": { + "type": "object", + "description": "An object which contains the preferences applied to the offer.", + "properties": { + "autoEnrollment": { + "description": "The auto-enrollment preference indicates whether the offer is opted-in to or opted-out of Amazon's auto-enrollment feature.", + "$ref": "#/definitions/AutoEnrollmentPreference" + } + } + }, + "OfferProgramConfigurationPromotions": { + "description": "An object which represents all promotions applied to an offer.", + "type": "object", + "properties": { + "sellingPartnerFundedBaseDiscount": { + "description": "A base discount set by the selling partner on the offer.", + "$ref": "#/definitions/OfferProgramConfigurationPromotionsDiscountFunding" + }, + "sellingPartnerFundedTieredDiscount": { + "$ref": "#/definitions/OfferProgramConfigurationPromotionsDiscountFunding", + "description": "A tiered discount set by the selling partner on the offer." + }, + "amazonFundedBaseDiscount": { + "description": "A base discount set by Amazon on the offer.", + "$ref": "#/definitions/OfferProgramConfigurationPromotionsDiscountFunding" + }, + "amazonFundedTieredDiscount": { + "description": "A tiered discount set by Amazon on the offer.", + "$ref": "#/definitions/OfferProgramConfigurationPromotionsDiscountFunding" + } + } + }, + "OfferProgramConfigurationPromotionsDiscountFunding": { + "description": "A promotional percentage discount applied to the offer.", + "type": "object", + "properties": { + "percentage": { + "description": "The percentage discount on the offer.", + "type": "number", + "format": "int64", + "minimum": 0, + "maximum": 100 + } + } + }, + "ListOfferMetricsRequestPagination": { + "description": "Use these parameters to paginate through the response.", + "type": "object", + "required": [ + "limit", + "offset" + ], + "properties": { + "limit": { + "type": "integer", + "format": "int64", + "description": "The maximum number of results to return in the response.", + "minimum": 1, + "maximum": 500 + }, + "offset": { + "type": "integer", + "format": "int64", + "description": "The offset from which to retrieve the number of results specified by the `limit` value. The first result is at offset 0.", + "minimum": 0, + "maximum": 9000 + } + } + }, + "AutoEnrollmentPreference": { + "type": "string", + "description": "The auto-enrollment preference indicates whether the offer is opted-in to or opted-out of Amazon's auto-enrollment feature.", + "enum": [ + "OPTED_IN", + "OPTED_OUT" + ], + "x-docgen-enum-table-extension": [ + { + "value": "OPTED_IN", + "description": "The offer is opted-in to the auto-enrollment program." + }, + { + "value": "OPTED_OUT", + "description": "The offer is opted-out to the auto-enrollment program." + } + ] + }, + "ProgramTypes": { + "type": "array", + "description": "A list of replenishment program types.", + "items": { + "$ref": "#/definitions/ProgramType" + }, + "uniqueItems": true, + "minItems": 1 + }, + "ProgramType": { + "type": "string", + "description": "The replenishment program type.", + "enum": [ + "SUBSCRIBE_AND_SAVE" + ], + "x-docgen-enum-table-extension": [ + { + "value": "SUBSCRIBE_AND_SAVE", + "description": "Subscribe And Save Program." + } + ] + }, + "EnrollmentMethod": { + "type": "string", + "description": "The enrollment method used to enroll the offer into the program.", + "enum": [ + "MANUAL", + "AUTOMATIC" + ], + "x-docgen-enum-table-extension": [ + { + "value": "MANUAL", + "description": "Offer was manually enrolled in the program." + }, + { + "value": "AUTOMATIC", + "description": "Offer was automatically enrolled in the program." + } + ] + }, + "ListOfferMetricsRequestFilters": { + "type": "object", + "description": "Use these parameters to filter results. Any result must match all provided parameters. For any parameter that is an array, the result must match at least one element in the provided array.", + "required": [ + "timeInterval", + "timePeriodType", + "programTypes", + "marketplaceId" + ], + "properties": { + "aggregationFrequency": { + "$ref": "#/definitions/AggregationFrequency" + }, + "timeInterval": { + "description": "A time interval used to compute metrics.", + "$ref": "#/definitions/TimeInterval" + }, + "timePeriodType": { + "$ref": "#/definitions/TimePeriodType" + }, + "marketplaceId": { + "description": "The marketplace identifier. The supported marketplaces for both sellers and vendors are US, CA, ES, UK, FR, IT, IN, DE and JP. The supported marketplaces for vendors only are BR, AU, MX, AE and NL. Refer to [Marketplace IDs](https://developer-docs.amazon.com/sp-api/docs/marketplace-ids) to find the identifier for the marketplace.", + "$ref": "#/definitions/MarketplaceId" + }, + "programTypes": { + "$ref": "#/definitions/ProgramTypes" + }, + "asins": { + "type": "array", + "description": "A list of Amazon Standard Identification Numbers (ASINs).", + "items": { + "type": "string", + "description": "Amazon Standard Identification Number." + }, + "uniqueItems": true, + "minItems": 1, + "maxItems": 20 + } + } + }, + "ListOfferMetricsRequestSort": { + "type": "object", + "description": "Use these parameters to sort the response.", + "required": [ + "order", + "key" + ], + "properties": { + "order": { + "description": "The sort order.", + "$ref": "#/definitions/SortOrder" + }, + "key": { + "$ref": "#/definitions/ListOfferMetricsSortKey" + } + } + }, + "ListOfferMetricsSortKey": { + "type": "string", + "description": "The attribute to use to sort the results.", + "enum": [ + "SHIPPED_SUBSCRIPTION_UNITS", + "TOTAL_SUBSCRIPTIONS_REVENUE", + "ACTIVE_SUBSCRIPTIONS", + "NEXT_90DAYS_SHIPPED_SUBSCRIPTION_UNITS", + "NEXT_60DAYS_SHIPPED_SUBSCRIPTION_UNITS", + "NEXT_30DAYS_SHIPPED_SUBSCRIPTION_UNITS", + "NEXT_90DAYS_TOTAL_SUBSCRIPTIONS_REVENUE", + "NEXT_60DAYS_TOTAL_SUBSCRIPTIONS_REVENUE", + "NEXT_30DAYS_TOTAL_SUBSCRIPTIONS_REVENUE" + ], + "x-docgen-enum-table-extension": [ + { + "value": "SHIPPED_SUBSCRIPTION_UNITS", + "description": "The number of units shipped to the subscribers over a period of time. Applicable only for the PERFORMANCE timePeriodType." + }, + { + "value": "TOTAL_SUBSCRIPTIONS_REVENUE", + "description": "The revenue generated from subscriptions over a period of time. Applicable only for the PERFORMANCE timePeriodType." + }, + { + "value": "ACTIVE_SUBSCRIPTIONS", + "description": "The number of active subscriptions present at the end of the period. Applicable only for the PERFORMANCE timePeriodType." + }, + { + "value": "NEXT_90DAYS_SHIPPED_SUBSCRIPTION_UNITS", + "description": "The forecasted shipped subscription units for the next 90 days. Applicable only for the FORECAST timePeriodType." + }, + { + "value": "NEXT_60DAYS_SHIPPED_SUBSCRIPTION_UNITS", + "description": "The forecasted shipped subscription units for the next 60 days. Applicable only for the FORECAST timePeriodType." + }, + { + "value": "NEXT_30DAYS_SHIPPED_SUBSCRIPTION_UNITS", + "description": "The forecasted shipped subscription units for the next 30 days. Applicable only for the FORECAST timePeriodType." + }, + { + "value": "NEXT_90DAYS_TOTAL_SUBSCRIPTIONS_REVENUE", + "description": "The forecasted total subscription revenue for the next 90 days. Applicable only for the FORECAST timePeriodType." + }, + { + "value": "NEXT_60DAYS_TOTAL_SUBSCRIPTIONS_REVENUE", + "description": "The forecasted total subscription revenue for the next 60 days. Applicable only for the FORECAST timePeriodType." + }, + { + "value": "NEXT_30DAYS_TOTAL_SUBSCRIPTIONS_REVENUE", + "description": "The forecasted total subscription revenue for the next 30 days. Applicable only for the FORECAST timePeriodType." + } + ] + }, + "ListOffersRequestPagination": { + "type": "object", + "description": "Use these parameters to paginate through the response.", + "required": [ + "limit", + "offset" + ], + "properties": { + "limit": { + "type": "integer", + "format": "int64", + "description": "The maximum number of results to return in the response.", + "minimum": 1, + "maximum": 100 + }, + "offset": { + "type": "integer", + "format": "int64", + "description": "The offset from which to retrieve the number of results specified by the `limit` value. The first result is at offset 0.", + "minimum": 0, + "maximum": 9000 + } + } + }, + "ListOffersRequestFilters": { + "type": "object", + "description": "Use these parameters to filter results. Any result must match all of the provided parameters. For any parameter that is an array, the result must match at least one element in the provided array.", + "required": [ + "marketplaceId", + "programTypes" + ], + "properties": { + "marketplaceId": { + "description": "The marketplace identifier. The supported marketplaces for both sellers and vendors are US, CA, ES, UK, FR, IT, IN, DE and JP. The supported marketplaces for vendors only are BR, AU, MX, AE and NL. Refer to [Marketplace IDs](https://developer-docs.amazon.com/sp-api/docs/marketplace-ids) to find the identifier for the marketplace.", + "$ref": "#/definitions/MarketplaceId" + }, + "skus": { + "description": "A list of SKUs to filter. This filter is only supported for sellers and not for vendors.", + "type": "array", + "items": { + "type": "string", + "description": "Sku." + }, + "uniqueItems": true, + "minItems": 1, + "maxItems": 20 + }, + "asins": { + "description": "A list of Amazon Standard Identification Numbers (ASINs).", + "type": "array", + "items": { + "type": "string", + "description": "Amazon Standard Identification Number (ASIN)." + }, + "uniqueItems": true, + "minItems": 1, + "maxItems": 20 + }, + "eligibilities": { + "description": "A list of eligibilities associated with an offer.", + "type": "array", + "items": { + "$ref": "#/definitions/EligibilityStatus" + }, + "uniqueItems": true, + "minItems": 1 + }, + "preferences": { + "description": "Offer preferences to include in the result filter criteria.", + "$ref": "#/definitions/Preference" + }, + "promotions": { + "description": "Offer promotions to include in the result filter criteria.", + "$ref": "#/definitions/Promotion" + }, + "programTypes": { + "$ref": "#/definitions/ProgramTypes" + } + } + }, + "ListOffersRequestSort": { + "description": "Use these parameters to sort the response.", + "type": "object", + "required": [ + "order", + "key" + ], + "properties": { + "order": { + "description": "The sort order.", + "$ref": "#/definitions/SortOrder" + }, + "key": { + "$ref": "#/definitions/ListOffersSortKey", + "description": "The attribute to use to sort the results." + } + } + }, + "ListOffersSortKey": { + "type": "string", + "description": "The attribute to use to sort the results.", + "enum": [ + "ASIN", + "SELLING_PARTNER_FUNDED_BASE_DISCOUNT_PERCENTAGE", + "SELLING_PARTNER_FUNDED_TIERED_DISCOUNT_PERCENTAGE", + "AMAZON_FUNDED_BASE_DISCOUNT_PERCENTAGE", + "AMAZON_FUNDED_TIERED_DISCOUNT_PERCENTAGE" + ], + "x-docgen-enum-table-extension": [ + { + "value": "ASIN", + "description": "Sort the offers on the Amazon Standard Identification Number (ASIN)." + }, + { + "value": "SELLING_PARTNER_FUNDED_BASE_DISCOUNT_PERCENTAGE", + "description": "Sort the offers on the base discount percentage set by the selling partner on the offer." + }, + { + "value": "SELLING_PARTNER_FUNDED_TIERED_DISCOUNT_PERCENTAGE", + "description": "Sort the offers on the tiered discount percentage set by the selling partner on the offer." + }, + { + "value": "AMAZON_FUNDED_BASE_DISCOUNT_PERCENTAGE", + "description": "Sort the offers on the base discount percentage set by Amazon on the offer." + }, + { + "value": "AMAZON_FUNDED_TIERED_DISCOUNT_PERCENTAGE", + "description": "Sort the offers on the tiered discount percentage set by Amazon on the offer." + } + ] + }, + "MarketplaceId": { + "type": "string", + "description": "The marketplace identifier. The supported marketplaces for both sellers and vendors are US, CA, ES, UK, FR, IT, IN, DE and JP. The supported marketplaces for vendors only are BR, AU, MX, AE and NL. Refer to [Marketplace IDs](https://developer-docs.amazon.com/sp-api/docs/marketplace-ids) to find the identifier for the marketplace." + }, + "AggregationFrequency": { + "description": "The time period used to group data in the response. Note that this is only valid for the performance time period type.", + "type": "string", + "enum": [ + "WEEK", + "MONTH", + "QUARTER", + "YEAR" + ], + "x-docgen-enum-table-extension": [ + { + "value": "WEEK", + "description": "ISO Calendar Week." + }, + { + "value": "MONTH", + "description": "ISO Calendar Month." + }, + { + "value": "QUARTER", + "description": "ISO Calendar Quarter." + }, + { + "value": "YEAR", + "description": "ISO Calendar Year." + } + ] + }, + "TimeInterval": { + "type": "object", + "description": "A date-time interval in ISO 8601 format which is used to compute metrics. Only the date is required, but you must pass the complete date and time value. For example, November 11, 2022 should be passed as \"2022-11-07T00:00:00Z\". Note that only data for the trailing 2 years is supported.\n\n **Note**: The `listOfferMetrics` operation only supports a time interval which covers a single unit of the aggregation frequency. For example, for a MONTH aggregation frequency, the duration of the interval between the startDate and endDate can not be more than 1 month.", + "required": [ + "startDate", + "endDate" + ], + "properties": { + "startDate": { + "type": "string", + "format": "date-time", + "description": "When this object is used as a request parameter, the specified startDate is adjusted based on the aggregation frequency.\n\n* For WEEK the metric is computed from the first day of the week (that is, Sunday based on ISO 8601) that contains the startDate.\n* For MONTH the metric is computed from the first day of the month that contains the startDate.\n* For QUARTER the metric is computed from the first day of the quarter that contains the startDate.\n* For YEAR the metric is computed from the first day of the year that contains the startDate." + }, + "endDate": { + "type": "string", + "format": "date-time", + "description": "When this object is used as a request parameter, the specified endDate is adjusted based on the aggregation frequency.\n\n* For WEEK the metric is computed up to the last day of the week (that is, Sunday based on ISO 8601) that contains the endDate.\n* For MONTH, the metric is computed up to the last day that contains the endDate.\n* For QUARTER the metric is computed up to the last day of the quarter that contains the endDate.\n* For YEAR the metric is computed up to the last day of the year that contains the endDate.\n Note: The end date may be adjusted to a lower value based on the data available in our system." + } + } + }, + "Metric": { + "type": "string", + "description": "The metric name and description.", + "enum": [ + "SHIPPED_SUBSCRIPTION_UNITS", + "TOTAL_SUBSCRIPTIONS_REVENUE", + "ACTIVE_SUBSCRIPTIONS", + "NOT_DELIVERED_DUE_TO_OOS", + "SUBSCRIBER_NON_SUBSCRIBER_AVERAGE_REVENUE" + ], + "x-docgen-enum-table-extension": [ + { + "value": "SHIPPED_SUBSCRIPTION_UNITS", + "description": "The number of units shipped to the subscribers over a period of time." + }, + { + "value": "TOTAL_SUBSCRIPTIONS_REVENUE", + "description": "The revenue generated from subscriptions over a period of time." + }, + { + "value": "ACTIVE_SUBSCRIPTIONS", + "description": "The number of active subscriptions present at the end of the period." + }, + { + "value": "NOT_DELIVERED_DUE_TO_OOS", + "description": "The percentage of items that were not shipped out of the total shipped units over a period of time due to being out of stock." + }, + { + "value": "SUBSCRIBER_NON_SUBSCRIBER_AVERAGE_REVENUE", + "description": "The average revenue per subscriber and non-subscriber over the past 12 months for sellers and 6 months for vendors." + } + ] + }, + "SortOrder": { + "type": "string", + "description": "The sort order.", + "enum": [ + "ASC", + "DESC" + ], + "x-docgen-enum-table-extension": [ + { + "value": "ASC", + "description": "Sort the results in ascending order." + }, + { + "value": "DESC", + "description": "Sort the results in descending order." + } + ] + }, + "TimePeriodType": { + "type": "string", + "description": "The time period type that determines whether the metrics requested are backward-looking (performance) or forward-looking (forecast).", + "enum": [ + "PERFORMANCE", + "FORECAST" + ], + "x-docgen-enum-table-extension": [ + { + "value": "PERFORMANCE", + "description": "Indicates past performance metrics." + }, + { + "value": "FORECAST", + "description": "Indicates forecasted metrics. Only TOTAL_SUBSCRIPTIONS_REVENUE and SHIPPED_SUBSCRIPTION_UNITS are supported. Forecast data is supported for sellers but not for vendors." + } + ] + }, + "GetSellingPartnerMetricsResponse": { + "description": "The response schema for the `getSellingPartnerMetrics` operation.", + "type": "object", + "properties": { + "metrics": { + "type": "array", + "description": "A list of metrics data for the selling partner.", + "items": { + "$ref": "#/definitions/GetSellingPartnerMetricsResponseMetric" + } + } + } + }, + "GetSellingPartnerMetricsResponseMetric": { + "type": "object", + "description": "An object which contains metric data for a selling partner.", + "properties": { + "notDeliveredDueToOOS": { + "description": "The percentage of items that were not shipped out of the total shipped units over a period of time due to being out of stock. Applicable only for the PERFORMANCE timePeriodType.", + "type": "number", + "format": "double", + "minimum": 0, + "maximum": 100 + }, + "totalSubscriptionsRevenue": { + "description": "The revenue generated from subscriptions over a period of time. Applicable for both the PERFORMANCE and FORECAST timePeriodType.", + "type": "number", + "format": "double", + "minimum": 0 + }, + "shippedSubscriptionUnits": { + "description": "The number of units shipped to the subscribers over a period of time. Applicable for both the PERFORMANCE and FORECAST timePeriodType.", + "type": "number", + "format": "int64", + "minimum": 0 + }, + "activeSubscriptions": { + "description": "The number of active subscriptions present at the end of the period. Applicable only for the PERFORMANCE timePeriodType.", + "type": "number", + "format": "int64", + "minimum": 0 + }, + "subscriberAverageRevenue": { + "description": "The average revenue per subscriber of the program over a period of past 12 months for sellers and 6 months for vendors. Applicable only for the PERFORMANCE timePeriodType.", + "type": "number", + "format": "double", + "minimum": 0 + }, + "nonSubscriberAverageRevenue": { + "description": "The average revenue per non-subscriber of the program over a period of past 12 months for sellers and 6 months for vendors. Applicable only for the PERFORMANCE timePeriodType.", + "type": "number", + "format": "double", + "minimum": 0 + }, + "timeInterval": { + "description": "A time interval used to compute metrics.", + "$ref": "#/definitions/TimeInterval" + }, + "currencyCode": { + "type": "string", + "description": "The currency code in ISO 4217 format." + } + } + }, + "ListOfferMetricsResponse": { + "description": "The response schema for the `listOfferMetrics` operation.", + "type": "object", + "properties": { + "offers": { + "type": "array", + "description": "A list of offers and associated metrics.", + "items": { + "$ref": "#/definitions/ListOfferMetricsResponseOffer" + } + }, + "pagination": { + "description": "Use these parameters to paginate through the response.", + "$ref": "#/definitions/PaginationResponse" + } + } + }, + "ListOffersResponse": { + "description": "The response schema for the `listOffers` operation.", + "type": "object", + "properties": { + "offers": { + "type": "array", + "description": "A list of offers.", + "items": { + "$ref": "#/definitions/ListOffersResponseOffer" + } + }, + "pagination": { + "description": "Use these parameters to paginate through the response.", + "$ref": "#/definitions/PaginationResponse" + } + } + }, + "ListOffersResponseOffer": { + "description": "An object which contains details about an offer.", + "type": "object", + "properties": { + "sku": { + "description": "The SKU. This property is only supported for sellers and not for vendors.", + "type": "string" + }, + "asin": { + "description": "The Amazon Standard Identification Number (ASIN).", + "type": "string" + }, + "marketplaceId": { + "description": "The marketplace identifier. The supported marketplaces for both sellers and vendors are US, CA, ES, UK, FR, IT, IN, DE and JP. The supported marketplaces for vendors only are BR, AU, MX, AE and NL. Refer to [Marketplace IDs](https://developer-docs.amazon.com/sp-api/docs/marketplace-ids) to find the identifier for the marketplace.", + "$ref": "#/definitions/MarketplaceId" + }, + "eligibility": { + "description": "The offer eligibility status.", + "$ref": "#/definitions/EligibilityStatus" + }, + "offerProgramConfiguration": { + "$ref": "#/definitions/OfferProgramConfiguration" + }, + "programType": { + "description": "The replenishment program for the offer.", + "$ref": "#/definitions/ProgramType" + }, + "vendorCodes": { + "description": "A list of vendor codes associated with the offer.", + "type": "array", + "items": { + "type": "string", + "description": "An alphanumeric code that represents a relationship between Amazon and a vendor." + } + } + } + }, + "PaginationResponse": { + "description": "Use these parameters to paginate through the response.", + "type": "object", + "properties": { + "totalResults": { + "type": "integer", + "format": "int64", + "minimum": 0, + "description": "Total number of results matching the given filter criteria." + } + } + }, + "ListOfferMetricsResponseOffer": { + "type": "object", + "description": "An object which contains offer metrics.", + "properties": { + "asin": { + "type": "string", + "description": "The Amazon Standard Identification Number (ASIN)." + }, + "notDeliveredDueToOOS": { + "description": "The percentage of items that were not shipped out of the total shipped units over a period of time due to being out of stock. Applicable only for the PERFORMANCE timePeriodType.", + "type": "number", + "format": "double", + "minimum": 0, + "maximum": 100 + }, + "totalSubscriptionsRevenue": { + "description": "The revenue generated from subscriptions over a period of time. Applicable only for the PERFORMANCE timePeriodType.", + "type": "number", + "format": "double", + "minimum": 0 + }, + "shippedSubscriptionUnits": { + "description": "The number of units shipped to the subscribers over a period of time. Applicable only for the PERFORMANCE timePeriodType.", + "type": "number", + "format": "int64", + "minimum": 0 + }, + "activeSubscriptions": { + "description": "The number of active subscriptions present at the end of the period. Applicable only for the PERFORMANCE timePeriodType.", + "type": "number", + "format": "int64", + "minimum": 0 + }, + "revenuePenetration": { + "description": "The percentage of total program revenue out of total product revenue. Applicable only for the PERFORMANCE timePeriodType.", + "type": "number", + "format": "double", + "minimum": 0, + "maximum": 100 + }, + "next30DayTotalSubscriptionsRevenue": { + "description": "The forecasted total subscription revenue for the next 30 days. Applicable only for the FORECAST timePeriodType.", + "type": "number", + "format": "double", + "minimum": 0 + }, + "next60DayTotalSubscriptionsRevenue": { + "description": "The forecasted total subscription revenue for the next 60 days. Applicable only for the FORECAST timePeriodType.", + "type": "number", + "format": "double", + "minimum": 0 + }, + "next90DayTotalSubscriptionsRevenue": { + "description": "The forecasted total subscription revenue for the next 90 days. Applicable only for the FORECAST timePeriodType.", + "type": "number", + "format": "double", + "minimum": 0 + }, + "next30DayShippedSubscriptionUnits": { + "description": "The forecasted shipped subscription units for the next 30 days. Applicable only for the FORECAST timePeriodType.", + "type": "number", + "format": "int64", + "minimum": 0 + }, + "next60DayShippedSubscriptionUnits": { + "description": "The forecasted shipped subscription units for the next 60 days. Applicable only for the FORECAST timePeriodType.", + "type": "number", + "format": "int64", + "minimum": 0 + }, + "next90DayShippedSubscriptionUnits": { + "description": "The forecasted shipped subscription units for the next 90 days. Applicable only for the FORECAST timePeriodType.", + "type": "number", + "format": "int64", + "minimum": 0 + }, + "timeInterval": { + "description": "A time interval used to compute metrics.", + "$ref": "#/definitions/TimeInterval" + }, + "currencyCode": { + "type": "string", + "description": "The currency code in ISO 4217 format." + } + } + }, + "ErrorList": { + "type": "object", + "description": "A list of error responses returned when a request is unsuccessful.", + "required": [ + "errors" + ], + "properties": { + "errors": { + "type": "array", + "items": { + "$ref": "#/definitions/Error" + } + } + } + }, + "Error": { + "description": "Error response returned when the request is unsuccessful.", + "type": "object", + "properties": { + "code": { + "description": "An error code that identifies the type of error that occurred.", + "type": "string" + }, + "message": { + "description": "A message that describes the error condition.", + "type": "string" + }, + "details": { + "description": "Additional details that can help the caller understand or fix the issue.", + "type": "string" + } + }, + "required": [ + "code", + "message" + ] + } + }, + "paths": { + "/replenishment/2022-11-07/sellingPartners/metrics/search": { + "post": { + "tags": [ + "sellingpartners" + ], + "description": "Returns aggregated replenishment program metrics for a selling partner. \n\n**Usage Plan:**\n\n| Rate (requests per second) | Burst |\n| ---- | ---- |\n| 1 | 1 |\n\nThe `x-amzn-RateLimit-Limit` response header returns the usage plan rate limits that were applied to the requested operation, when available. The table above indicates the default rate and burst values for this operation. Selling partners whose business demands require higher throughput may see higher rate and burst values than those shown here. For more information, see [Usage Plans and Rate Limits in the Selling Partner API](https://developer-docs.amazon.com/sp-api/docs/usage-plans-and-rate-limits-in-the-sp-api).", + "operationId": "getSellingPartnerMetrics", + "parameters": [ + { + "name": "body", + "in": "body", + "schema": { + "$ref": "#/definitions/GetSellingPartnerMetricsRequest" + } + } + ], + "responses": { + "200": { + "description": "Success.", + "schema": { + "$ref": "#/definitions/GetSellingPartnerMetricsResponse" + }, + "headers": { + "x-amzn-RateLimit-Limit": { + "description": "Your rate limit (requests per second) for this operation.", + "type": "string" + }, + "x-amzn-RequestId": { + "type": "string", + "description": "Unique request reference identifier." + } + }, + "examples": { + "application/json": { + "metrics": [ + { + "subscriberAverageRevenue": 125.93, + "nonSubscriberAverageRevenue": 73.62, + "shippedSubscriptionUnits": 5290, + "notDeliveredDueToOOS": 5.54, + "totalSubscriptionsRevenue": 131340.24, + "activeSubscriptions": 0, + "currencyCode": "USD", + "timeInterval": { + "endDate": "2023-05-09T22:36:56Z", + "startDate": "2022-05-09T22:36:56Z" + } + } + ] + } + }, + "x-amzn-api-sandbox": { + "static": [ + { + "request": { + "parameters": { + "body": { + "value": { + "aggregationFrequency": "YEAR", + "timeInterval": { + "startDate": "2022-01-01T00:00:00Z", + "endDate": "2022-12-31T00:00:00Z" + }, + "metrics": [ + "TOTAL_SUBSCRIPTIONS_REVENUE" + ], + "timePeriodType": "PERFORMANCE", + "marketplaceId": "ATVPDKIKX0DER", + "programTypes": [ + "SUBSCRIBE_AND_SAVE" + ] + } + } + } + }, + "response": { + "metrics": [ + { + "subscriberAverageRevenue": 125.93, + "nonSubscriberAverageRevenue": 73.62, + "shippedSubscriptionUnits": 5290, + "notDeliveredDueToOOS": 5.54, + "totalSubscriptionsRevenue": 131340.24, + "activeSubscriptions": 0, + "currencyCode": "USD", + "timeInterval": { + "endDate": "2023-05-09T22:36:56Z", + "startDate": "2022-05-09T22:36:56Z" + } + } + ] + } + } + ] + } + }, + "400": { + "description": "Request has missing or invalid parameters and cannot be parsed.", + "schema": { + "$ref": "#/definitions/ErrorList" + }, + "headers": { + "x-amzn-RateLimit-Limit": { + "description": "Your rate limit (requests per second) for this operation.", + "type": "string" + }, + "x-amzn-RequestId": { + "type": "string", + "description": "Unique request reference identifier." + } + }, + "x-amzn-api-sandbox": { + "static": [ + { + "request": { + "parameters": { + "body": { + "value": { + "aggregationFrequency": "DAY", + "timeInterval": { + "startDate": "2022-01-01T00:00:00Z", + "endDate": "2023-01-01T00:00:00Z" + }, + "metrics": [ + "SHIPPED_SUBSCRIPTION_UNITS", + "TOTAL_SUBSCRIPTIONS_REVENUE", + "NOT_DELIVERED_DUE_TO_OOS", + "ACTIVE_SUBSCRIPTIONS", + "SUBSCRIBER_NON_SUBSCRIBER_AVERAGE_REVENUE" + ], + "timePeriodType": "PERFORMANCE", + "marketplaceId": "ATVPDKIKX0DER", + "programTypes": [ + "SUBSCRIBE_AND_SAVE" + ] + } + } + } + }, + "response": { + "errors": [ + { + "code": "InvalidInput", + "message": "Unsupported aggregationFrequency is provided. Only WEEK, MONTH, QUARTER and YEAR are supported" + } + ] + } + } + ] + } + }, + "401": { + "description": "The request's Authorization header is not formatted correctly or does not contain a valid token.", + "schema": { + "$ref": "#/definitions/ErrorList" + }, + "headers": { + "x-amzn-RequestId": { + "type": "string", + "description": "Unique request reference identifier." + } + } + }, + "403": { + "description": "Indicates that access to the resource is forbidden. Possible reasons include Access Denied, Unauthorized, Expired Token, or Invalid Signature.", + "schema": { + "$ref": "#/definitions/ErrorList" + }, + "headers": { + "x-amzn-RequestId": { + "type": "string", + "description": "Unique request reference identifier." + } + } + }, + "404": { + "description": "The specified resource does not exist.", + "schema": { + "$ref": "#/definitions/ErrorList" + }, + "headers": { + "x-amzn-RateLimit-Limit": { + "type": "string", + "description": "Your rate limit (requests per second) for this operation." + }, + "x-amzn-RequestId": { + "type": "string", + "description": "Unique request reference identifier." + } + } + }, + "415": { + "description": "The request payload is in an unsupported format.", + "schema": { + "$ref": "#/definitions/ErrorList" + }, + "headers": { + "x-amzn-RequestId": { + "type": "string", + "description": "Unique request reference identifier." + } + } + }, + "429": { + "description": "The frequency of requests was greater than allowed.", + "schema": { + "$ref": "#/definitions/ErrorList" + }, + "headers": { + "x-amzn-RequestId": { + "type": "string", + "description": "Unique request reference identifier." + } + } + }, + "500": { + "description": "An unexpected condition occurred that prevented the server from fulfilling the request.", + "schema": { + "$ref": "#/definitions/ErrorList" + }, + "headers": { + "x-amzn-RequestId": { + "type": "string", + "description": "Unique request reference identifier." + } + } + }, + "503": { + "description": "Temporary overloading or maintenance of the server.", + "schema": { + "$ref": "#/definitions/ErrorList" + }, + "headers": { + "x-amzn-RequestId": { + "type": "string", + "description": "Unique request reference identifier." + } + } + } + } + } + }, + "/replenishment/2022-11-07/offers/metrics/search": { + "post": { + "tags": [ + "offers" + ], + "description": "Returns aggregated replenishment program metrics for a selling partner's offers.\n\n**Usage Plan:**\n\n| Rate (requests per second) | Burst |\n| ---- | ---- |\n| 1 | 1 |\n\nThe `x-amzn-RateLimit-Limit` response header returns the usage plan rate limits that were applied to the requested operation, when available. The table above indicates the default rate and burst values for this operation. Selling partners whose business demands require higher throughput may see higher rate and burst values than those shown here. For more information, see [Usage Plans and Rate Limits in the Selling Partner API](https://developer-docs.amazon.com/sp-api/docs/usage-plans-and-rate-limits-in-the-sp-api).", + "operationId": "listOfferMetrics", + "parameters": [ + { + "name": "body", + "description": "The request body for the `listOfferMetrics` operation.", + "in": "body", + "schema": { + "$ref": "#/definitions/ListOfferMetricsRequest" + } + } + ], + "responses": { + "200": { + "description": "Success.", + "schema": { + "$ref": "#/definitions/ListOfferMetricsResponse" + }, + "headers": { + "x-amzn-RateLimit-Limit": { + "description": "Your rate limit (requests per second) for this operation.", + "type": "string" + }, + "x-amzn-RequestId": { + "type": "string", + "description": "Unique request reference identifier." + } + }, + "examples": { + "application/json": { + "offers": [ + { + "notDeliveredDueToOOS": 30.78, + "shippedSubscriptionUnits": 20, + "totalSubscriptionsRevenue": 12.89, + "asin": "B000TMUDOW", + "revenuePenetration": 10.34, + "timeInterval": { + "endDate": "2023-03-11T00:00:00Z", + "startDate": "2023-03-05T00:00:00Z" + }, + "currencyCode": "USD" + }, + { + "notDeliveredDueToOOS": 40.78, + "shippedSubscriptionUnits": 40, + "totalSubscriptionsRevenue": 34.03, + "asin": "B004CLH5CY", + "revenuePenetration": 9.87, + "timeInterval": { + "endDate": "2023-03-11T00:00:00Z", + "startDate": "2023-03-05T00:00:00Z" + }, + "currencyCode": "USD" + } + ], + "pagination": { + "totalResults": 17 + } + } + }, + "x-amzn-api-sandbox": { + "static": [ + { + "request": { + "parameters": { + "body": { + "value": { + "filters": { + "aggregationFrequency": "YEAR", + "timeInterval": { + "startDate": "2022-01-01T00:00:00Z", + "endDate": "2022-12-31T00:00:00Z" + }, + "marketplaceId": "ATVPDKIKX0DER", + "programTypes": [ + "SUBSCRIBE_AND_SAVE" + ], + "timePeriodType": "PERFORMANCE", + "asins": [ + "B07CYBR5GZ", + "B07CYJJW8H" + ] + }, + "pagination": { + "limit": 2, + "offset": 0 + }, + "sort": { + "order": "ASC", + "key": "TOTAL_SUBSCRIPTIONS_REVENUE" + } + } + } + } + }, + "response": { + "offers": [ + { + "asin": "B07CYBR5GZ", + "notDeliveredDueToOOS": 10.2, + "totalSubscriptionsRevenue": 100.45, + "revenuePenetration": 23.6, + "shippedSubscriptionUnits": 100, + "activeSubscriptions": 100, + "timeInterval": { + "startDate": "2022-01-01T00:00:00Z", + "endDate": "2022-12-31T00:00:00Z" + }, + "currencyCode": "USD" + }, + { + "asin": "B07CYJJW8H", + "notDeliveredDueToOOS": 12.78, + "totalSubscriptionsRevenue": 80.11, + "revenuePenetration": 35.90, + "shippedSubscriptionUnits": 100, + "activeSubscriptions": 100, + "timeInterval": { + "startDate": "2022-01-01T00:00:00Z", + "endDate": "2022-12-31T00:00:00Z" + }, + "currencyCode": "USD" + } + ], + "pagination": { + "totalResults": 17 + } + } + } + ] + } + }, + "400": { + "description": "Request has missing or invalid parameters and cannot be parsed.", + "schema": { + "$ref": "#/definitions/ErrorList" + }, + "headers": { + "x-amzn-RateLimit-Limit": { + "description": "Your rate limit (requests per second) for this operation.", + "type": "string" + }, + "x-amzn-RequestId": { + "type": "string", + "description": "Unique request reference identifier." + } + }, + "x-amzn-api-sandbox": { + "static": [ + { + "request": { + "parameters": { + "body": { + "value": { + "filters": { + "aggregationFrequency": "DAY", + "timeInterval": { + "startDate": "2022-01-01T00:00:00Z", + "endDate": "2022-12-31T00:00:00Z" + }, + "marketplaceId": "ATVPDKIKX0DER", + "programTypes": [ + "SUBSCRIBE_AND_SAVE" + ], + "timePeriodType": "PERFORMANCE", + "asins": [ + "B07CYBR5GZ" + ] + }, + "pagination": { + "limit": 1, + "offset": 0 + }, + "sort": { + "order": "ASC", + "key": "TOTAL_SUBSCRIPTIONS_REVENUE" + } + } + } + } + }, + "response": { + "errors": [ + { + "code": "InvalidInput", + "message": "Unsupported aggregationFrequency is provided. Only WEEK, MONTH, QUARTER and YEAR are supported" + } + ] + } + } + ] + } + }, + "401": { + "description": "The request's Authorization header is not formatted correctly or does not contain a valid token.", + "schema": { + "$ref": "#/definitions/ErrorList" + }, + "headers": { + "x-amzn-RequestId": { + "type": "string", + "description": "Unique request reference identifier." + } + } + }, + "403": { + "description": "Indicates that access to the resource is forbidden. Possible reasons include Access Denied, Unauthorized, Expired Token, or Invalid Signature.", + "schema": { + "$ref": "#/definitions/ErrorList" + }, + "headers": { + "x-amzn-RequestId": { + "type": "string", + "description": "Unique request reference identifier." + } + } + }, + "404": { + "description": "The specified resource does not exist.", + "schema": { + "$ref": "#/definitions/ErrorList" + }, + "headers": { + "x-amzn-RateLimit-Limit": { + "type": "string", + "description": "Your rate limit (requests per second) for this operation." + }, + "x-amzn-RequestId": { + "type": "string", + "description": "Unique request reference identifier." + } + } + }, + "415": { + "description": "The request payload is in an unsupported format.", + "schema": { + "$ref": "#/definitions/ErrorList" + }, + "headers": { + "x-amzn-RequestId": { + "type": "string", + "description": "Unique request reference identifier." + } + } + }, + "429": { + "description": "The frequency of requests was greater than allowed.", + "schema": { + "$ref": "#/definitions/ErrorList" + }, + "headers": { + "x-amzn-RequestId": { + "type": "string", + "description": "Unique request reference identifier." + } + } + }, + "500": { + "description": "An unexpected condition occurred that prevented the server from fulfilling the request.", + "schema": { + "$ref": "#/definitions/ErrorList" + }, + "headers": { + "x-amzn-RequestId": { + "type": "string", + "description": "Unique request reference identifier." + } + } + }, + "503": { + "description": "Temporary overloading or maintenance of the server.", + "schema": { + "$ref": "#/definitions/ErrorList" + }, + "headers": { + "x-amzn-RequestId": { + "type": "string", + "description": "Unique request reference identifier." + } + } + } + } + } + }, + "/replenishment/2022-11-07/offers/search": { + "post": { + "tags": [ + "offers" + ], + "description": "Returns the details of a selling partner's replenishment program offers. Note that this operation only supports sellers at this time.\n\n**Usage Plan:**\n\n| Rate (requests per second) | Burst |\n| ---- | ---- |\n| 1 | 1 |\n\nThe `x-amzn-RateLimit-Limit` response header returns the usage plan rate limits that were applied to the requested operation, when available. The table above indicates the default rate and burst values for this operation. Selling partners whose business demands require higher throughput may see higher rate and burst values than those shown here. For more information, see [Usage Plans and Rate Limits in the Selling Partner API](https://developer-docs.amazon.com/sp-api/docs/usage-plans-and-rate-limits-in-the-sp-api).", + "operationId": "listOffers", + "parameters": [ + { + "name": "body", + "in": "body", + "schema": { + "$ref": "#/definitions/ListOffersRequest" + } + } + ], + "responses": { + "200": { + "description": "Success.", + "schema": { + "$ref": "#/definitions/ListOffersResponse" + }, + "headers": { + "x-amzn-RateLimit-Limit": { + "description": "Your rate limit (requests per second) for this operation.", + "type": "string" + }, + "x-amzn-RequestId": { + "type": "string", + "description": "Unique request reference identifier." + } + }, + "examples": { + "application/json": { + "offers": [ + { + "marketplaceId": "ATVPDKIKX0DER", + "offerProgramConfiguration": { + "preferences":{ + "autoEnrollment":"OPTED_IN" + }, + "promotions": { + "sellingPartnerFundedBaseDiscount": { + "percentage": 5 + }, + "sellingPartnerFundedTieredDiscount": { + "percentage": 0 + }, + "amazonFundedBaseDiscount": { + "percentage": 5 + }, + "amazonFundedTieredDiscount": { + "percentage": 10 + } + }, + "enrollmentMethod": "AUTOMATIC" + }, + "programType": "SUBSCRIBE_AND_SAVE", + "eligibility": "ELIGIBLE", + "asin": "B09KR5B7FH", + "sku": "SKU_OPTED_IN" + } + ], + "pagination": { + "totalResults": 1 + } + } + }, + "x-amzn-api-sandbox": { + "static": [ + { + "request": { + "parameters": { + "body": { + "value": { + "filters": { + "eligibilities": [ + "ELIGIBLE" + ], + "marketplaceId": "ATVPDKIKX0DER", + "programTypes": [ + "SUBSCRIBE_AND_SAVE" + ], + "preferences": { + "autoEnrollment": ["OPTED_IN", "OPTED_OUT"] + }, + "promotions": { + "sellingPartnerFundedTieredDiscount": { + "percentage": [0, 5, 10] + } + } + }, + "pagination": { + "limit": 25, + "offset": 0 + }, + "sort": { + "order": "ASC", + "key": "ASIN" + } + } + } + } + }, + "response": { + "offers": [ + { + "asin": "B07CYBR5GZ", + "marketplaceId": "ATVPDKIKX0DER", + "sku": "TEST_SKU_A", + "eligibility": "ELIGIBLE", + "vendorCodes": ["ABCDE","PQRST"], + "offerProgramConfiguration": { + "preferences":{ + "autoEnrollment":"OPTED_IN" + }, + "promotions": { + "sellingPartnerFundedBaseDiscount": { + "percentage": 0 + }, + "sellingPartnerFundedTieredDiscount": { + "percentage": 5 + }, + "amazonFundedBaseDiscount": { + "percentage": 10 + }, + "amazonFundedTieredDiscount": { + "percentage": 15 + } + }, + "enrollmentMethod": "AUTOMATIC" + }, + "programType": "SUBSCRIBE_AND_SAVE" + }, + { + "asin": "B07CYCR5GZ", + "marketplaceId": "ATVPDKIKX0DER", + "sku": "TEST_SKU_A", + "eligibility": "ELIGIBLE", + "vendorCodes": ["ABCDE","PQRST"], + "offerProgramConfiguration": { + "preferences":{ + "autoEnrollment":"OPTED_IN" + }, + "promotions": { + "sellingPartnerFundedBaseDiscount": { + "percentage": 5 + }, + "sellingPartnerFundedTieredDiscount": { + "percentage": 0 + }, + "amazonFundedBaseDiscount": { + "percentage": 5 + }, + "amazonFundedTieredDiscount": { + "percentage": 10 + } + }, + "enrollmentMethod": "AUTOMATIC" + }, + "programType": "SUBSCRIBE_AND_SAVE" + } + ], + "pagination": { + "totalResults": 2 + } + } + } + ] + } + }, + "400": { + "description": "Request has missing or invalid parameters and cannot be parsed.", + "schema": { + "$ref": "#/definitions/ErrorList" + }, + "headers": { + "x-amzn-RateLimit-Limit": { + "description": "Your rate limit (requests per second) for this operation.", + "type": "string" + }, + "x-amzn-RequestId": { + "type": "string", + "description": "Unique request reference identifier." + } + }, + "x-amzn-api-sandbox": { + "static": [ + { + "request": { + "parameters": { + "body": { + "value": { + "filters": { + "eligibilities": [ + "BAD_VALUE" + ], + "marketplaceId": "ATVPDKIKX0DER", + "programTypes": [ + "SUBSCRIBE_AND_SAVE" + ] + }, + "pagination": { + "limit": 25, + "offset": 0 + }, + "sort": { + "order": "ASC", + "key": "ASIN" + } + } + } + } + }, + "response": { + "errors": [ + { + "code": "InvalidInput", + "message": "Unsupported eligibility is provided. Only ELIGIBLE, INELIGIBLE, SUSPENDED and REPLENISHMENT_ONLY_ORDERING are supported" + } + ] + } + } + ] + } + }, + "401": { + "description": "The request's Authorization header is not formatted correctly or does not contain a valid token.", + "schema": { + "$ref": "#/definitions/ErrorList" + }, + "headers": { + "x-amzn-RequestId": { + "type": "string", + "description": "Unique request reference identifier." + } + } + }, + "403": { + "description": "Indicates that access to the resource is forbidden. Possible reasons include Access Denied, Unauthorized, Expired Token, or Invalid Signature.", + "schema": { + "$ref": "#/definitions/ErrorList" + }, + "headers": { + "x-amzn-RequestId": { + "type": "string", + "description": "Unique request reference identifier." + } + } + }, + "404": { + "description": "The specified resource does not exist.", + "schema": { + "$ref": "#/definitions/ErrorList" + }, + "headers": { + "x-amzn-RateLimit-Limit": { + "type": "string", + "description": "Your rate limit (requests per second) for this operation." + }, + "x-amzn-RequestId": { + "type": "string", + "description": "Unique request reference identifier." + } + } + }, + "415": { + "description": "The request payload is in an unsupported format.", + "schema": { + "$ref": "#/definitions/ErrorList" + }, + "headers": { + "x-amzn-RequestId": { + "type": "string", + "description": "Unique request reference identifier." + } + } + }, + "429": { + "description": "The frequency of requests was greater than allowed.", + "schema": { + "$ref": "#/definitions/ErrorList" + }, + "headers": { + "x-amzn-RequestId": { + "type": "string", + "description": "Unique request reference identifier." + } + } + }, + "500": { + "description": "An unexpected condition occurred that prevented the server from fulfilling the request.", + "schema": { + "$ref": "#/definitions/ErrorList" + }, + "headers": { + "x-amzn-RequestId": { + "type": "string", + "description": "Unique request reference identifier." + } + } + }, + "503": { + "description": "Temporary overloading or maintenance of the server.", + "schema": { + "$ref": "#/definitions/ErrorList" + }, + "headers": { + "x-amzn-RequestId": { + "type": "string", + "description": "Unique request reference identifier." + } + } + } + } + } + } + } +} From 0776a4028b230fa25508224c3b964e787df0e231 Mon Sep 17 00:00:00 2001 From: Jack Evoniuk Date: Wed, 21 Jun 2023 09:23:50 -0700 Subject: [PATCH 161/340] Add new notification schemas --- .../DetailPageTrafficEventNotification.json | 267 +++++++ .../ItemInventoryEventChangeNotification.json | 267 +++++++ .../ItemSalesEventChangeNotification.json | 300 ++++++++ .../ListingsItemMfnQuantityChange.json | 174 +++++ .../OrderChangeNotification.json | 705 ++++++++++++++++++ 5 files changed, 1713 insertions(+) create mode 100644 schemas/notifications/DetailPageTrafficEventNotification.json create mode 100644 schemas/notifications/ItemInventoryEventChangeNotification.json create mode 100644 schemas/notifications/ItemSalesEventChangeNotification.json create mode 100644 schemas/notifications/ListingsItemMfnQuantityChange.json create mode 100644 schemas/notifications/OrderChangeNotification.json diff --git a/schemas/notifications/DetailPageTrafficEventNotification.json b/schemas/notifications/DetailPageTrafficEventNotification.json new file mode 100644 index 000000000..a65a8dfed --- /dev/null +++ b/schemas/notifications/DetailPageTrafficEventNotification.json @@ -0,0 +1,267 @@ +{ + "$schema": "http://json-schema.org/draft-07/schema", + "$id": "https://example.com/example.json", + "type": "object", + "description": "The root schema comprises the entire JSON document.", + "examples": [ + { + "notificationVersion": "2020-09-04", + "notificationType": "DETAIL_PAGE_TRAFFIC_EVENT", + "payloadVersion": "2020-09-04", + "eventTime": "2023-02-07T16:05:32.378Z", + "payload": { + "detailPageTrafficEvents": [ + { + "accountId": "amzn1.merchant.o.A21CXK3C4ERTY8", + "marketplaceId": "ATVPDKIKX0DER", + "startTime": "2023-02-07T15:00:00Z", + "endTime": "2023-02-07T16:00:00Z", + "asin": "B00032HE0O", + "glanceViews": 42 + }, { + "accountId": "amzn1.merchant.o.A21CXK3C4ERTY8", + "marketplaceId": "ATVPDKIKX0DER", + "startTime": "2023-02-07T15:00:00Z", + "endTime": "2023-02-07T16:00:00Z", + "asin": "B00094A20U", + "glanceViews": 69 + } + ] + }, + "notificationMetadata": { + "applicationId": "amzn1.sellerapps.app.aacccfff-4455-4b7c-4422-664ecacdd336", + "subscriptionId": "d0e9e693-c3ad-4373-979f-ed4ec98dd746", + "publishTime": "2023-02-07T16:45:32.378Z", + "notificationId": "d0e9e693-c3ad-4373-979f-ed4ec98dd746" + } + } + ], + "required": [ + "notificationVersion", + "notificationType", + "payloadVersion", + "eventTime", + "payload", + "notificationMetadata" + ], + "properties": { + "notificationVersion": { + "$id": "#/properties/notificationVersion", + "type": "string", + "examples": [ + "2020-09-04" + ] + }, + "notificationType": { + "$id": "#/properties/notificationType", + "type": "string", + "examples": [ + "DETAIL_PAGE_TRAFFIC_EVENT" + ] + }, + "payloadVersion": { + "$id": "#/properties/payloadVersion", + "type": "string", + "examples": [ + "2020-09-04" + ] + }, + "eventTime": { + "$id": "#/properties/eventTime", + "type": "string", + "examples": [ + "2023-02-07T16:45:32.378Z" + ] + }, + "payload": { + "$id": "#/properties/payload", + "$ref": "#/definitions/Payload" + }, + "notificationMetadata": { + "$id": "#/properties/notificationMetadata", + "$ref": "#/definitions/NotificationMetadata" + } + }, + "definitions": { + "Payload": { + "type": "object", + "examples": [ + { + "detailPageTrafficEvents": [ + { + "accountId": "amzn1.merchant.o.A21CXK3C4ERTY8", + "marketplaceId": "ATVPDKIKX0DER", + "startTime": "2023-02-07T15:00:00Z", + "endTime": "2023-02-07T16:00:00Z", + "asin": "B00032HE0O", + "glanceViews": 42 + }, { + "accountId": "amzn1.merchant.o.A21CXK3C4ERTY8", + "marketplaceId": "ATVPDKIKX0DER", + "startTime": "2023-02-07T15:00:00Z", + "endTime": "2023-02-07T16:00:00Z", + "asin": "B00094A20U", + "glanceViews": 69 + } + ] + } + ], + "required": [ + "detailPageTrafficEvents" + ], + "properties": { + "detailPageTrafficEvents": { + "$id": "#/definitions/Payload/properties/detailPageTrafficEvents", + "$ref": "#/definitions/DetailPageTrafficEvents" + } + } + }, + "DetailPageTrafficEvents": { + "type": "array", + "examples": [ + [ + { + "accountId": "amzn1.merchant.o.A21CXK3C4ERTY8", + "marketplaceId": "ATVPDKIKX0DER", + "startTime": "2023-02-07T15:00:00Z", + "endTime": "2023-02-07T16:00:00Z", + "asin": "B00032HE0O", + "glanceViews": 42 + }, { + "accountId": "amzn1.merchant.o.A21CXK3C4ERTY8", + "marketplaceId": "ATVPDKIKX0DER", + "startTime": "2023-02-07T15:00:00Z", + "endTime": "2023-02-07T16:00:00Z", + "asin": "B00094A20U", + "glanceViews": 69 + } + ] + ], + "items": { + "$ref": "#/definitions/DetailPageTrafficEvent" + } + }, + "DetailPageTrafficEvent": { + "type": "object", + "examples": [ + { + "accountId": "amzn1.merchant.o.A21CXK3C4ERTY8", + "marketplaceId": "ATVPDKIKX0DER", + "startTime": "2023-02-07T15:00:00Z", + "endTime": "2023-02-07T16:00:00Z", + "asin": "B00032HE0O", + "glanceViews": 42 + } + ], + "required": [ + "accountId", + "marketplaceId", + "startTime", + "endTime", + "asin", + "glanceViews" + ], + "properties": { + "accountId": { + "$id": "#/definitions/DetailPageTrafficEvent/properties/accountId", + "type": "string", + "description": "The merchant customer ID or vendor group ID of the partner account this notification is sent to.", + "examples": [ + "amzn1.merchant.o.A21CXK3C4ERTY8", + "amzn1.vg.6213651" + ] + }, + "marketplaceId": { + "$id": "#/definitions/DetailPageTrafficEvent/properties/marketplaceId", + "type": "string", + "description": "The marketplace identifier of the traffic data.", + "examples": [ + "ATVPDKIKX0DER" + ] + }, + "startTime": { + "$id": "#/definitions/DetailPageTrafficEvent/properties/startTime", + "type": "string", + "format": "date-time", + "description": "The start of the date-time range of the traffic data in ISO 8601 format in UTC time.", + "examples": [ + "2023-02-07T15:00:00Z" + ] + }, + "endTime": { + "$id": "#/definitions/DetailPageTrafficEvent/properties/endTime", + "type": "string", + "format": "date-time", + "description": "The end of the date-time range of the traffic data in ISO 8601 format in UTC time.", + "examples": [ + "2023-02-07T16:00:00Z" + ] + }, + "asin": { + "$id": "#/definitions/DetailPageTrafficEvent/properties/asin", + "type": "string", + "description": "The Amazon Standard Identification Number of the product.", + "examples": [ + "B00032HE0O" + ] + }, + "glanceViews": { + "$id": "#/definitions/DetailPageTrafficEvent/properties/glanceViews", + "type": "integer", + "description": "The number of customer views of the product detail page for this ASIN.", + "minimum": 0, + "examples": [ + 42 + ] + } + } + }, + "NotificationMetadata": { + "type": "object", + "examples": [ + { + "applicationId": "amzn1.sellerapps.app.aacccfff-4455-4b7c-4422-664ecacdd336", + "subscriptionId": "d0e9e693-c3ad-4373-979f-ed4ec98dd746", + "publishTime": "2023-02-07T16:45:32.378Z", + "notificationId": "d0e9e693-c3ad-4373-979f-ed4ec98dd746" + } + ], + "required": [ + "applicationId", + "subscriptionId", + "publishTime", + "notificationId" + ], + "properties": { + "applicationId": { + "$id": "#/definitions/NotificationMetadata/properties/applicationId", + "type": "string", + "examples": [ + "amzn1.sellerapps.app.aacccfff-4455-4b7c-4422-664ecacdd336" + ] + }, + "subscriptionId": { + "$id": "#/definitions/NotificationMetadata/properties/subscriptionId", + "type": "string", + "examples": [ + "d0e9e693-c3ad-4373-979f-ed4ec98dd746" + ] + }, + "publishTime": { + "$id": "#/definitions/NotificationMetadata/properties/publishTime", + "type": "string", + "examples": [ + "2023-02-07T16:45:32.378Z" + ] + }, + "notificationId": { + "$id": "#/definitions/NotificationMetadata/properties/notificationId", + "type": "string", + "examples": [ + "d0e9e693-c3ad-4373-979f-ed4ec98dd746" + ] + } + } + } + } +} diff --git a/schemas/notifications/ItemInventoryEventChangeNotification.json b/schemas/notifications/ItemInventoryEventChangeNotification.json new file mode 100644 index 000000000..fe5e3fdef --- /dev/null +++ b/schemas/notifications/ItemInventoryEventChangeNotification.json @@ -0,0 +1,267 @@ +{ + "$schema": "http://json-schema.org/draft-07/schema", + "$id": "https://example.com/example.json", + "type": "object", + "description": "The root schema comprises the entire JSON document.", + "examples": [ + { + "notificationVersion": "2020-09-04", + "notificationType": "ITEM_INVENTORY_EVENT_CHANGE", + "payloadVersion": "2020-09-04", + "eventTime": "2023-02-07T16:05:32.378Z", + "payload": { + "itemInventoryEventChanges": [ + { + "accountId": "amzn1.merchant.o.A21CXK3C4ERTY8", + "marketplaceId": "ATVPDKIKX0DER", + "startTime": "2023-02-07T15:00:00Z", + "endTime": "2023-02-07T16:00:00Z", + "asin": "B00032HE0O", + "highlyAvailableInventory": 650 + }, { + "accountId": "amzn1.merchant.o.A21CXK3C4ERTY8", + "marketplaceId": "ATVPDKIKX0DER", + "startTime": "2023-02-07T15:00:00Z", + "endTime": "2023-02-07T16:00:00Z", + "asin": "B00094A20U", + "highlyAvailableInventory": 519 + } + ] + }, + "notificationMetadata": { + "applicationId": "amzn1.sellerapps.app.aacccfff-4455-4b7c-4422-664ecacdd336", + "subscriptionId": "d0e9e693-c3ad-4373-979f-ed4ec98dd746", + "publishTime": "2023-02-07T16:45:32.378Z", + "notificationId": "d0e9e693-c3ad-4373-979f-ed4ec98dd746" + } + } + ], + "required": [ + "notificationVersion", + "notificationType", + "payloadVersion", + "eventTime", + "payload", + "notificationMetadata" + ], + "properties": { + "notificationVersion": { + "$id": "#/properties/notificationVersion", + "type": "string", + "examples": [ + "2020-09-04" + ] + }, + "notificationType": { + "$id": "#/properties/notificationType", + "type": "string", + "examples": [ + "ITEM_INVENTORY_EVENT_CHANGE" + ] + }, + "payloadVersion": { + "$id": "#/properties/payloadVersion", + "type": "string", + "examples": [ + "2020-09-04" + ] + }, + "eventTime": { + "$id": "#/properties/eventTime", + "type": "string", + "examples": [ + "2023-02-07T16:45:32.378Z" + ] + }, + "payload": { + "$id": "#/properties/payload", + "$ref": "#/definitions/Payload" + }, + "notificationMetadata": { + "$id": "#/properties/notificationMetadata", + "$ref": "#/definitions/NotificationMetadata" + } + }, + "definitions": { + "Payload": { + "type": "object", + "examples": [ + { + "itemInventoryEventChanges": [ + { + "accountId": "amzn1.merchant.o.A21CXK3C4ERTY8", + "marketplaceId": "ATVPDKIKX0DER", + "startTime": "2023-02-07T15:00:00Z", + "endTime": "2023-02-07T16:00:00Z", + "asin": "B00032HE0O", + "highlyAvailableInventory": 650 + }, { + "accountId": "amzn1.merchant.o.A21CXK3C4ERTY8", + "marketplaceId": "ATVPDKIKX0DER", + "startTime": "2023-02-07T15:00:00Z", + "endTime": "2023-02-07T16:00:00Z", + "asin": "B00094A20U", + "highlyAvailableInventory": 519 + } + ] + } + ], + "required": [ + "itemInventoryEventChanges" + ], + "properties": { + "itemInventoryEventChanges": { + "$id": "#/definitions/Payload/properties/itemInventoryEventChanges", + "$ref": "#/definitions/ItemInventoryEventChanges" + } + } + }, + "ItemInventoryEventChanges": { + "type": "array", + "examples": [ + [ + { + "accountId": "amzn1.merchant.o.A21CXK3C4ERTY8", + "marketplaceId": "ATVPDKIKX0DER", + "startTime": "2023-02-07T15:00:00Z", + "endTime": "2023-02-07T16:00:00Z", + "asin": "B00032HE0O", + "highlyAvailableInventory": 650 + }, { + "accountId": "amzn1.merchant.o.A21CXK3C4ERTY8", + "marketplaceId": "ATVPDKIKX0DER", + "startTime": "2023-02-07T15:00:00Z", + "endTime": "2023-02-07T16:00:00Z", + "asin": "B00094A20U", + "highlyAvailableInventory": 519 + } + ] + ], + "items": { + "$ref": "#/definitions/ItemInventoryEventChange" + } + }, + "ItemInventoryEventChange": { + "type": "object", + "examples": [ + { + "accountId": "amzn1.merchant.o.A21CXK3C4ERTY8", + "marketplaceId": "ATVPDKIKX0DER", + "startTime": "2023-02-07T15:00:00Z", + "endTime": "2023-02-07T16:00:00Z", + "asin": "B00032HE0O", + "highlyAvailableInventory": 650 + } + ], + "required": [ + "accountId", + "marketplaceId", + "startTime", + "endTime", + "asin", + "highlyAvailableInventory" + ], + "properties": { + "accountId": { + "$id": "#/definitions/ItemInventoryEventChange/properties/accountId", + "type": "string", + "description": "The merchant customer ID or vendor group ID of the partner account this notification is sent to.", + "examples": [ + "amzn1.merchant.o.A21CXK3C4ERTY8", + "amzn1.vg.6213651" + ] + }, + "marketplaceId": { + "$id": "#/definitions/ItemInventoryEventChange/properties/marketplaceId", + "type": "string", + "description": "The marketplace identifier of the inventory data.", + "examples": [ + "ATVPDKIKX0DER" + ] + }, + "startTime": { + "$id": "#/definitions/ItemInventoryEventChange/properties/startTime", + "type": "string", + "format": "date-time", + "description": "The start of the date-time range of the inventory data in ISO 8601 format in UTC time.", + "examples": [ + "2023-02-07T15:00:00Z" + ] + }, + "endTime": { + "$id": "#/definitions/ItemInventoryEventChange/properties/endTime", + "type": "string", + "format": "date-time", + "description": "The end of the date-time range of the inventory data in ISO 8601 format in UTC time.", + "examples": [ + "2023-02-07T16:00:00Z" + ] + }, + "asin": { + "$id": "#/definitions/ItemInventoryEventChange/properties/asin", + "type": "string", + "description": "The Amazon Standard Identification Number of the product.", + "examples": [ + "B00032HE0O" + ] + }, + "highlyAvailableInventory": { + "$id": "#/definitions/ItemInventoryEventChange/properties/highlyAvailableInventory", + "type": "integer", + "description": "The number of units available to be sold on the website, based on units in Amazon fulfillment centers that are in sellable condition, minus units in customer shopping carts or otherwise bound for other orders (for example, subscribe-and-save orders).", + "minimum": 0, + "examples": [ + 650 + ] + } + } + }, + "NotificationMetadata": { + "type": "object", + "examples": [ + { + "applicationId": "amzn1.sellerapps.app.aacccfff-4455-4b7c-4422-664ecacdd336", + "subscriptionId": "d0e9e693-c3ad-4373-979f-ed4ec98dd746", + "publishTime": "2023-02-07T16:45:32.378Z", + "notificationId": "d0e9e693-c3ad-4373-979f-ed4ec98dd746" + } + ], + "required": [ + "applicationId", + "subscriptionId", + "publishTime", + "notificationId" + ], + "properties": { + "applicationId": { + "$id": "#/definitions/NotificationMetadata/properties/applicationId", + "type": "string", + "examples": [ + "amzn1.sellerapps.app.aacccfff-4455-4b7c-4422-664ecacdd336" + ] + }, + "subscriptionId": { + "$id": "#/definitions/NotificationMetadata/properties/subscriptionId", + "type": "string", + "examples": [ + "d0e9e693-c3ad-4373-979f-ed4ec98dd746" + ] + }, + "publishTime": { + "$id": "#/definitions/NotificationMetadata/properties/publishTime", + "type": "string", + "examples": [ + "2023-02-07T16:45:32.378Z" + ] + }, + "notificationId": { + "$id": "#/definitions/NotificationMetadata/properties/notificationId", + "type": "string", + "examples": [ + "d0e9e693-c3ad-4373-979f-ed4ec98dd746" + ] + } + } + } + } +} diff --git a/schemas/notifications/ItemSalesEventChangeNotification.json b/schemas/notifications/ItemSalesEventChangeNotification.json new file mode 100644 index 000000000..b84f9180b --- /dev/null +++ b/schemas/notifications/ItemSalesEventChangeNotification.json @@ -0,0 +1,300 @@ +{ + "$schema": "http://json-schema.org/draft-07/schema", + "$id": "https://example.com/example.json", + "type": "object", + "description": "The root schema comprises the entire JSON document.", + "examples": [ + { + "notificationVersion": "2020-09-04", + "notificationType": "ITEM_SALES_EVENT_CHANGE", + "payloadVersion": "2020-09-04", + "eventTime": "2023-02-07T16:05:32.378Z", + "payload": { + "itemSalesEventChanges": [ + { + "accountId": "amzn1.merchant.o.A21CXK3C4ERTY8", + "marketplaceId": "ATVPDKIKX0DER", + "currencyCode": "USD", + "startTime": "2023-02-07T15:00:00Z", + "endTime": "2023-02-07T16:00:00Z", + "asin": "B00032HE0O", + "orderedUnits": 9, + "orderedRevenue": 80.91 + }, { + "accountId": "amzn1.merchant.o.A21CXK3C4ERTY8", + "marketplaceId": "ATVPDKIKX0DER", + "currencyCode": "USD", + "startTime": "2023-02-07T15:00:00Z", + "endTime": "2023-02-07T16:00:00Z", + "asin": "B00094A20U", + "orderedUnits": 5, + "orderedRevenue": 527.60 + } + ] + }, + "notificationMetadata": { + "applicationId": "amzn1.sellerapps.app.aacccfff-4455-4b7c-4422-664ecacdd336", + "subscriptionId": "d0e9e693-c3ad-4373-979f-ed4ec98dd746", + "publishTime": "2023-02-07T16:45:32.378Z", + "notificationId": "d0e9e693-c3ad-4373-979f-ed4ec98dd746" + } + } + ], + "required": [ + "notificationVersion", + "notificationType", + "payloadVersion", + "eventTime", + "payload", + "notificationMetadata" + ], + "properties": { + "notificationVersion": { + "$id": "#/properties/notificationVersion", + "type": "string", + "examples": [ + "2020-09-04" + ] + }, + "notificationType": { + "$id": "#/properties/notificationType", + "type": "string", + "examples": [ + "ITEM_SALES_EVENT_CHANGE" + ] + }, + "payloadVersion": { + "$id": "#/properties/payloadVersion", + "type": "string", + "examples": [ + "2020-09-04" + ] + }, + "eventTime": { + "$id": "#/properties/eventTime", + "type": "string", + "examples": [ + "2023-02-07T16:45:32.378Z" + ] + }, + "payload": { + "$id": "#/properties/payload", + "$ref": "#/definitions/Payload" + }, + "notificationMetadata": { + "$id": "#/properties/notificationMetadata", + "$ref": "#/definitions/NotificationMetadata" + } + }, + "definitions": { + "Payload": { + "type": "object", + "examples": [ + { + "itemSalesEventChanges": [ + { + "accountId": "amzn1.merchant.o.A21CXK3C4ERTY8", + "marketplaceId": "ATVPDKIKX0DER", + "currencyCode": "USD", + "startTime": "2023-02-07T15:00:00Z", + "endTime": "2023-02-07T16:00:00Z", + "asin": "B00032HE0O", + "orderedUnits": 9, + "orderedRevenue": 80.91 + }, { + "accountId": "amzn1.merchant.o.A21CXK3C4ERTY8", + "marketplaceId": "ATVPDKIKX0DER", + "currencyCode": "USD", + "startTime": "2023-02-07T15:00:00Z", + "endTime": "2023-02-07T16:00:00Z", + "asin": "B00094A20U", + "orderedUnits": 5, + "orderedRevenue": 527.60 + } + ] + } + ], + "required": [ + "itemSalesEventChanges" + ], + "properties": { + "itemSalesEventChanges": { + "$id": "#/definitions/Payload/properties/itemSalesEventChanges", + "$ref": "#/definitions/ItemSalesEventChanges" + } + } + }, + "ItemSalesEventChanges": { + "type": "array", + "examples": [ + [ + { + "accountId": "amzn1.merchant.o.A21CXK3C4ERTY8", + "marketplaceId": "ATVPDKIKX0DER", + "currencyCode": "USD", + "startTime": "2023-02-07T15:00:00Z", + "endTime": "2023-02-07T16:00:00Z", + "asin": "B00032HE0O", + "orderedUnits": 9, + "orderedRevenue": 80.91 + }, { + "accountId": "amzn1.merchant.o.A21CXK3C4ERTY8", + "marketplaceId": "ATVPDKIKX0DER", + "currencyCode": "USD", + "startTime": "2023-02-07T15:00:00Z", + "endTime": "2023-02-07T16:00:00Z", + "asin": "B00094A20U", + "orderedUnits": 5, + "orderedRevenue": 527.60 + } + ] + ], + "items": { + "$ref": "#/definitions/ItemSalesEventChange" + } + }, + "ItemSalesEventChange": { + "type": "object", + "examples": [ + { + "accountId": "amzn1.merchant.o.A21CXK3C4ERTY8", + "marketplaceId": "ATVPDKIKX0DER", + "currencyCode": "USD", + "startTime": "2023-02-07T15:00:00Z", + "endTime": "2023-02-07T16:00:00Z", + "asin": "B00032HE0O", + "orderedUnits": 9, + "orderedRevenue": 80.91 + } + ], + "required": [ + "accountId", + "marketplaceId", + "currencyCode", + "startTime", + "endTime", + "asin", + "orderedUnits", + "orderedRevenue" + ], + "properties": { + "accountId": { + "$id": "#/definitions/ItemSalesEventChange/properties/accountId", + "type": "string", + "description": "The merchant customer ID or vendor group ID of the partner account this notification is sent to.", + "examples": [ + "amzn1.merchant.o.A21CXK3C4ERTY8", + "amzn1.vg.6213651" + ] + }, + "marketplaceId": { + "$id": "#/definitions/ItemSalesEventChange/properties/marketplaceId", + "type": "string", + "description": "The marketplace identifier of the sales data.", + "examples": [ + "ATVPDKIKX0DER" + ] + }, + "currencyCode": { + "$id": "#/definitions/ItemSalesEventChange/properties/currencyCode", + "type": "string", + "description": "The currency code of any monetary amounts in ISO 4217 format.", + "examples": [ + "USD" + ] + }, + "startTime": { + "$id": "#/definitions/ItemSalesEventChange/properties/startTime", + "type": "string", + "format": "date-time", + "description": "The start of the date-time range of the sales data in ISO 8601 format in UTC time.", + "examples": [ + "2023-02-07T15:00:00Z" + ] + }, + "endTime": { + "$id": "#/definitions/ItemSalesEventChange/properties/endTime", + "type": "string", + "format": "date-time", + "description": "The end of the date-time range of the sales data in ISO 8601 format in UTC time.", + "examples": [ + "2023-02-07T16:00:00Z" + ] + }, + "asin": { + "$id": "#/definitions/ItemSalesEventChange/properties/asin", + "type": "string", + "description": "The Amazon Standard Identification Number of the product.", + "examples": [ + "B00032HE0O" + ] + }, + "orderedUnits": { + "$id": "#/definitions/ItemSalesEventChange/properties/orderedUnits", + "type": "integer", + "description": "The number of units ordered by Amazon customers in the specified time frame. This number can be negative if there are more cancellations than orders.", + "examples": [ + 9, + -5 + ] + }, + "orderedRevenue": { + "$id": "#/definitions/ItemSalesEventChange/properties/orderedRevenue", + "type": "number", + "description": "The ordered product sales in the specified time frame. Adjustments are made for cancellations.", + "examples": [ + 80.91, + -4.20 + ] + } + } + }, + "NotificationMetadata": { + "type": "object", + "examples": [ + { + "applicationId": "amzn1.sellerapps.app.aacccfff-4455-4b7c-4422-664ecacdd336", + "subscriptionId": "d0e9e693-c3ad-4373-979f-ed4ec98dd746", + "publishTime": "2023-02-07T16:45:32.378Z", + "notificationId": "d0e9e693-c3ad-4373-979f-ed4ec98dd746" + } + ], + "required": [ + "applicationId", + "subscriptionId", + "publishTime", + "notificationId" + ], + "properties": { + "applicationId": { + "$id": "#/definitions/NotificationMetadata/properties/applicationId", + "type": "string", + "examples": [ + "amzn1.sellerapps.app.aacccfff-4455-4b7c-4422-664ecacdd336" + ] + }, + "subscriptionId": { + "$id": "#/definitions/NotificationMetadata/properties/subscriptionId", + "type": "string", + "examples": [ + "d0e9e693-c3ad-4373-979f-ed4ec98dd746" + ] + }, + "publishTime": { + "$id": "#/definitions/NotificationMetadata/properties/publishTime", + "type": "string", + "examples": [ + "2023-02-07T16:45:32.378Z" + ] + }, + "notificationId": { + "$id": "#/definitions/NotificationMetadata/properties/notificationId", + "type": "string", + "examples": [ + "d0e9e693-c3ad-4373-979f-ed4ec98dd746" + ] + } + } + } + } +} diff --git a/schemas/notifications/ListingsItemMfnQuantityChange.json b/schemas/notifications/ListingsItemMfnQuantityChange.json new file mode 100644 index 000000000..ad5d09406 --- /dev/null +++ b/schemas/notifications/ListingsItemMfnQuantityChange.json @@ -0,0 +1,174 @@ +{ + "$schema": "http://json-schema.org/draft-07/schema", + "title": "Listings Item MFN Quantity Change Notification", + "description": "To be delivered when the inventory quantity of a MFN Seller listing changes.", + "type": "object", + "examples": [ + { + "NotificationVersion": "1.0", + "NotificationType": "LISTINGS_ITEM_MFN_QUANTITY_CHANGE", + "PayloadVersion": "1.0", + "EventTime": "2021-02-03T18:59:30.194Z", + "Payload": { + "SellerId": "AXXXXXXXXXXXXX", + "FulfillmentChannelCode": "DEFAULT", + "Sku": "NLS-SHOES-03", + "Quantity": 99 + }, + "NotificationMetadata": { + "ApplicationId": "amzn1.sellerapps.app.f108f511-eeac-46a6-b125-bcb752069ed0", + "SubscriptionId": "93b098e1-c42-2f45-93a1-78910a6a8369", + "PublishTime": "2021-02-03T18:59:30.194Z", + "NotificationId": "8e009934-da2c-4f9c-9bc7-93f23b7e1f60" + } + } + ], + "required": [ + "NotificationVersion", + "NotificationType", + "PayloadVersion", + "EventTime", + "Payload", + "NotificationMetadata" + ], + "properties": { + "NotificationVersion": { + "type": "string", + "title": "Notification Version", + "description": "The version of the notification.", + "examples": [ + "1.0" + ] + }, + "NotificationType": { + "type": "string", + "title": "Notification Type", + "description": "The type of the notification.", + "enum": ["LISTINGS_ITEM_MFN_QUANTITY_CHANGE"] + }, + "PayloadVersion": { + "type": "string", + "title": "Payload Version", + "description": "The version of the payload.", + "examples": [ + "1.0" + ] + }, + "EventTime": { + "type": "string", + "format": "date-time", + "title": "Event Time", + "description": "Timestamp of the event, formatted as ISO8601 date-time.", + "examples": [ + "2019-03-20T18:59:30.194Z" + ] + }, + "Payload": { + "type": "object", + "title": "Payload", + "description": "The details of this notification.", + "examples": [ + { + "SellerId": "AXXXXXXXXXXXXX", + "FulfillmentChannelCode": "DEFAULT", + "Sku": "NLS-SHOES-03", + "Quantity": 99 + } + ], + "required": [ + "SellerId", + "FulfillmentChannelCode", + "Sku", + "Quantity" + ], + "properties": { + "SellerId": { + "type": "string", + "title": "Seller ID", + "description": "Selling partner identifier, such as a merchant ID, of the affected listings item.", + "examples": [ + "AXXXXXXXXXXXXX" + ] + }, + "FulfillmentChannelCode": { + "type": "string", + "title": "Fulfillment Channel Code", + "description": "The Fulfillment channel code representing the MFN (seller-fulfilled) fulfillment program, network, or channel where the quantity is applicable.", + "examples": [ + "DEFAULT" + ] + }, + "Sku": { + "type": "string", + "title": "SKU", + "description": "A selling partner provided identifier for an Amazon listing.", + "examples": [ + "NLS-SHOES-03" + ] + }, + "Quantity": { + "type": "integer", + "title": "Quantity", + "description": "The available quantity for MFN (seller-fulfillment) with the fulfillment program, network, or channel.", + "examples": [ + 99 + ] + } + } + }, + "NotificationMetadata": { + "type": "object", + "title": "Notification Metadata", + "description": "The metadata of the notification.", + "examples": [ + { + "ApplicationId": "amzn1.sellerapps.app.f1234566-aaec-55a6-b123-bcb752069ec5", + "SubscriptionId": "93b098e1-c42-2f45-93a1-78910a6a8369", + "PublishTime": "2019-03-20T18:59:48.768Z", + "NotificationId": "8e009934-da2c-4f9c-9bc7-93f23b7e1f60" + } + ], + "required": [ + "ApplicationId", + "SubscriptionId", + "PublishTime", + "NotificationId" + ], + "properties": { + "ApplicationId": { + "type": "string", + "title": "Application ID", + "description": "An identifier of the application.", + "examples": [ + "amzn1.sellerapps.app.f1234566-aaec-55a6-b123-bcb752069ec5" + ] + }, + "SubscriptionId": { + "type": "string", + "title": "Subscription ID", + "description": "An identifier of the subscription.", + "examples": [ + "93b098e1-c42-2f45-93a1-78910a6a8369" + ] + }, + "PublishTime": { + "type": "string", + "format": "date-time", + "title": "Publish Time", + "description": "Timestamp of when the notification was published, formatted as ISO8601 date-time.", + "examples": [ + "2019-03-20T18:59:48.768Z" + ] + }, + "NotificationId": { + "type": "string", + "title": "Notification ID", + "description": "An identifier of the notification.", + "examples": [ + "8e009934-da2c-4f9c-9bc7-93f23b7e1f60" + ] + } + } + } + } +} diff --git a/schemas/notifications/OrderChangeNotification.json b/schemas/notifications/OrderChangeNotification.json new file mode 100644 index 000000000..098f23b3a --- /dev/null +++ b/schemas/notifications/OrderChangeNotification.json @@ -0,0 +1,705 @@ +{ + "$schema": "http://json-schema.org/draft-07/schema", + "$id": "http://example.com/example.json", + "type": "object", + "title": "The root schema", + "description": "The notification response schema that comprises the entire JSON document for ORDER_CHANGE notification.", + "examples": [ + { + "NotificationVersion" : "1.0", + "NotificationType" : "ORDER_CHANGE", + "PayloadVersion" : "1.0", + "EventTime" : "2020-01-11T00:09:53.109Z", + "Payload" : { + "OrderChangeNotification": { + "NotificationLevel": "OrderLevel", + "SellerId": "A3TH9S8BH6GOGM", + "AmazonOrderId": "903-8868176-2219830", + "OrderChangeType": "BuyerRequestedChange", + "OrderChangeTrigger": { + "TimeOfOrderChange": "2022-11-29T19:42:04.284Z", + "ChangeReason": "Buyer Requested Cancel" + }, + "Summary": { + "MarketplaceId": "ATVPDKIKX0DER", + "OrderStatus": "Unshipped", + "PurchaseDate": "2022-07-13T19:42:04.284Z", + "DestinationPostalCode": "48110", + "FulfillmentType": "MFN", + "OrderType": "StandardOrder", + "NumberOfItemsShipped": 0, + "NumberOfItemsUnshipped": 10, + "EarliestDeliveryDate": "2022-11-07T19:42:04.284Z", + "LatestDeliveryDate": "2022-12-07T19:42:04.284Z", + "EarliestShipDate": "2022-11-07T19:42:04.284Z", + "LatestShipDate": "2022-12-07T19:42:04.284Z", + "CancelNotifyDate": "2022-12-07T19:42:04.284Z", + "OrderPrograms": ["Business"], + "ShippingPrograms": ["EasyShip"], + "EasyShipShipmentStatus": "Delivered", + "ElectronicInvoiceStatus": "NotFound", + "OrderItems": [ + { + "OrderItemId": "OIID34853450", + "SellerSKU": "SellerSKUID1", + "SupplySourceId": "d7679e14-031b-4ab3-a81b-ec4fc7a460b3", + "OrderItemStatus": "Unshipped", + "Quantity": 10, + "QuantityShipped": 0, + "IsBuyerRequestedCancel": true, + "ItemEarliestDeliveryDate": "2022-11-07T19:42:04.284Z", + "ItemLatestDeliveryDate": "2022-12-07T19:42:04.284Z" + } + ] + } + } + }, + "NotificationMetadata" : { + "ApplicationId": "app-id-d0e9e693-c3ad-4373-979f-ed4ec98dd746", + "SubscriptionId": "subscription-id-d0e9e693-c3ad-4373-979f-ed4ec98dd746", + "PublishTime": "2020-07-13T19:42:04.284Z", + "NotificationId": "d0e9e693-c3ad-4373-979f-ed4ec98dd746" + } + } + ], + "required": [ + "NotificationVersion", + "NotificationType", + "PayloadVersion", + "EventTime", + "Payload", + "NotificationMetadata" + ], + "properties": { + "NotificationVersion": { + "$id": "#/properties/NotificationVersion", + "type": "string", + "title": "The NotificationVersion schema", + "description": "The notification version.", + "examples": [ + "1.0" + ] + }, + "NotificationType": { + "$id": "#/properties/NotificationType", + "type": "string", + "title": "The NotificationType schema", + "description": "The type of this notification, used to differentiate different notifications. Combined with payload version, this controls the structure of the payload object.", + "examples": [ + "ORDER_CHANGE" + ] + }, + "PayloadVersion": { + "$id": "#/properties/PayloadVersion", + "type": "string", + "title": "The PayloadVersion schema", + "description": "The payload version of the notification.", + "examples": [ + "1.0" + ] + }, + "EventTime": { + "$id": "#/properties/EventTime", + "type": "string", + "title": "The EventTime schema", + "description": "The time when this notification was published, in ISO-8601 date/time format.", + "examples": [ + "2020-01-11T00:09:53.109Z" + ] + }, + "Payload": { + "$id": "#/properties/Payload", + "type": "object", + "title": "The Payload schema", + "description": "The payload for the ORDER_CHANGE notification.", + "examples": [ + { + "OrderChangeNotification": { + "NotificationLevel": "OrderLevel", + "SellerId": "A3TH9S8BH6GOGM", + "AmazonOrderId": "903-8868176-2219830", + "OrderChangeType": "BuyerRequestedChange", + "OrderChangeTrigger": { + "TimeOfOrderChange": "2022-11-29T19:42:04.284Z", + "ChangeReason": "Buyer Requested Cancel" + }, + "Summary": { + "MarketplaceId": "ATVPDKIKX0DER", + "OrderStatus": "Unshipped", + "PurchaseDate": "2022-07-13T19:42:04.284Z", + "DestinationPostalCode": "48110", + "FulfillmentType": "MFN", + "OrderType": "StandardOrder", + "NumberOfItemsShipped": 0, + "NumberOfItemsUnshipped": 10, + "EarliestDeliveryDate": "2022-11-07T19:42:04.284Z", + "LatestDeliveryDate": "2022-12-07T19:42:04.284Z", + "EarliestShipDate": "2022-11-07T19:42:04.284Z", + "LatestShipDate": "2022-12-07T19:42:04.284Z", + "CancelNotifyDate": "2022-12-07T19:42:04.284Z", + "OrderPrograms": ["Business"], + "ShippingPrograms": ["EasyShip"], + "EasyShipShipmentStatus": "Delivered", + "ElectronicInvoiceStatus": "NotFound", + "OrderItems": [ + { + "OrderItemId": "OIID34853450", + "SellerSKU": "SellerSKUID1", + "SupplySourceId": "d7679e14-031b-4ab3-a81b-ec4fc7a460b3", + "OrderItemStatus": "Unshipped", + "Quantity": 10, + "QuantityShipped": 0, + "IsBuyerRequestedCancel": true, + "ItemEarliestDeliveryDate": "2022-11-07T19:42:04.284Z", + "ItemLatestDeliveryDate": "2022-12-07T19:42:04.284Z" + } + ] + } + } + } + ], + "required": [ + "OrderChangeNotification" + ], + "properties": { + "OrderChangeNotification": { + "$id": "#/properties/Payload/properties/OrderChangeNotification", + "type": "object", + "title": "The OrderChangeNotification schema", + "description": "An explanation about the ORDER_CHANGE notification.", + "examples": [ + { + "NotificationLevel": "OrderLevel", + "SellerId": "A3TH9S8BH6GOGM", + "AmazonOrderId": "903-8868176-2219830", + "OrderChangeType": "BuyerRequestedChange", + "OrderChangeTrigger": { + "TimeOfOrderChange": "2022-11-29T19:42:04.284Z", + "ChangeReason": "Buyer Requested Cancel" + }, + "Summary": { + "MarketplaceId": "ATVPDKIKX0DER", + "OrderStatus": "Unshipped", + "PurchaseDate": "2022-07-13T19:42:04.284Z", + "DestinationPostalCode": "48110", + "FulfillmentType": "MFN", + "OrderType": "StandardOrder", + "NumberOfItemsShipped": 0, + "NumberOfItemsUnshipped": 10, + "EarliestDeliveryDate": "2022-11-07T19:42:04.284Z", + "LatestDeliveryDate": "2022-12-07T19:42:04.284Z", + "EarliestShipDate": "2022-11-07T19:42:04.284Z", + "LatestShipDate": "2022-12-07T19:42:04.284Z", + "CancelNotifyDate": "2022-12-07T19:42:04.284Z", + "OrderPrograms": ["Business"], + "ShippingPrograms": ["EasyShip"], + "EasyShipShipmentStatus": "Delivered", + "ElectronicInvoiceStatus": "NotFound", + "OrderItems": [ + { + "OrderItemId": "OIID34853450", + "SellerSKU": "SellerSKUID1", + "SupplySourceId": "d7679e14-031b-4ab3-a81b-ec4fc7a460b3", + "OrderItemStatus": "Unshipped", + "Quantity": 10, + "QuantityShipped": 0, + "IsBuyerRequestedCancel": true, + "ItemEarliestDeliveryDate": "2022-11-07T19:42:04.284Z", + "ItemLatestDeliveryDate": "2022-12-07T19:42:04.284Z" + } + ] + } + } + ], + "required": [ + "NotificationLevel", + "SellerId", + "AmazonOrderId", + "OrderChangeType", + "OrderChangeTrigger", + "Summary" + ], + "properties": { + "NotificationLevel": { + "$id": "#/properties/Payload/properties/OrderChangeNotification/properties/NotificationLevel", + "type": "string", + "enum": ["OrderItemLevel", "OrderLevel"], + "title": "The NotificationLevel schema", + "description": "The notification level of current notification.", + "examples": [ + "OrderLevel" + ] + }, + "SellerId": { + "$id": "#/properties/Payload/properties/OrderChangeNotification/properties/SellerId", + "type": "string", + "title": "The SellerId schema", + "description": "The selling partner identifier.", + "examples": [ + "AXXXXXXXXXXXXX" + ] + }, + "AmazonOrderId": { + "$id": "#/properties/Payload/properties/OrderChangeNotification/properties/AmazonOrderId", + "type": "string", + "title": "The AmazonOrderId schema", + "description": "The Amazon order identifier, in 3-7-7 format.", + "examples": [ + "903-8868176-2219830" + ] + }, + "OrderChangeType": { + "$id": "#/properties/Payload/properties/OrderChangeNotification/properties/OrderChangeType", + "type": "string", + "enum": ["BuyerRequestedChange", "OrderStatusChange"], + "title": "The OrderChangeType schema", + "description": "The type of order change that caused the notification to be sent. Possible values are BuyerRequestedChange and OrderStatusChange.", + "examples": [ + "BuyerRequestedChange" + ] + }, + "OrderChangeTrigger": { + "$id": "#/properties/Payload/properties/OrderChangeNotification/properties/OrderChangeTrigger", + "type": "object", + "title": "The OrderChangeTrigger schema", + "description": "Details about what caused this ORDER_CHANGE notification to be sent.", + "examples": [ + { + "TimeOfOrderChange": "2022-11-29T19:42:04.284Z", + "ChangeReason": "Buyer Requested Cancel" + } + ], + "required": [ + "TimeOfOrderChange", + "ChangeReason" + ], + "properties": { + "TimeOfOrderChange": { + "$id": "#/properties/Payload/properties/OrderChangeNotification/properties/OrderChangeTrigger/properties/TimeOfOrderChange", + "type": ["string", "null"], + "title": "The TimeOfOrderChange schema", + "description": "The time of the change that caused this notification, in ISO-8601 date/time format. Will be null when there is no related timestamp.", + "examples": [ + "2022-11-29T19:42:04.284Z" + ] + }, + "ChangeReason": { + "$id": "#/properties/Payload/properties/OrderChangeNotification/properties/OrderChangeTrigger/properties/ChangeReason", + "type": "string", + "title": "The ChangeReason schema", + "description": "The reason this ORDER_CHANGE notification was sent.", + "examples": [ + "Buyer Requested Cancel" + ] + } + } + }, + "Summary": { + "$id": "#/properties/Payload/properties/OrderChangeNotification/properties/Summary", + "type": "object", + "title": "The Summary schema", + "description": "Information about the order and order items that had the change.", + "examples": [ + { + "MarketplaceId": "ATVPDKIKX0DER", + "OrderStatus": "Unshipped", + "PurchaseDate": "2022-07-13T19:42:04.284Z", + "DestinationPostalCode": "48110", + "FulfillmentType": "MFN", + "OrderType": "StandardOrder", + "NumberOfItemsShipped": 0, + "NumberOfItemsUnshipped": 10, + "EarliestDeliveryDate": "2022-11-07T19:42:04.284Z", + "LatestDeliveryDate": "2022-12-07T19:42:04.284Z", + "EarliestShipDate": "2022-11-07T19:42:04.284Z", + "LatestShipDate": "2022-12-07T19:42:04.284Z", + "CancelNotifyDate": "2022-12-07T19:42:04.284Z", + "OrderPrograms": ["Business"], + "ShippingPrograms": ["EasyShip"], + "EasyShipShipmentStatus": "Delivered", + "ElectronicInvoiceStatus": "NotFound", + "OrderItems": [ + { + "OrderItemId": "OIID34853450", + "SellerSKU": "SellerSKUID1", + "OrderItemStatus": "Unshipped", + "Quantity": 10, + "QuantityShipped": 0, + "IsBuyerRequestedCancel": true, + "ItemEarliestDeliveryDate": "2022-11-07T19:42:04.284Z", + "ItemLatestDeliveryDate": "2022-12-07T19:42:04.284Z" + } + ] + } + ], + "required": [ + "MarketplaceId", + "OrderStatus", + "PurchaseDate", + "DestinationPostalCode", + "FulfillmentType", + "OrderType", + "OrderItems" + ], + "properties": { + "MarketplaceId": { + "$id": "#/properties/Payload/properties/OrderChangeNotification/properties/Summary/properties/MarketplaceId", + "type": "string", + "title": "The MarketplaceId schema", + "description": "The Amazon marketplace identifier of the order.", + "examples": [ + "ATVPDKIKX0DER" + ] + }, + "OrderStatus": { + "$id": "#/properties/Payload/properties/OrderChangeNotification/properties/Summary/properties/OrderStatus", + "type": "string", + "enum": ["Pending", "Unshipped", "PartiallyShipped", "Shipped", "Canceled", "Unfulfillable", "InvoiceUnconfirmed", "PendingAvailability"], + "title": "The OrderStatus schema", + "description": "The current order status.", + "examples": [ + "Unshipped" + ] + }, + "PurchaseDate": { + "$id": "#/properties/Payload/properties/OrderChangeNotification/properties/Summary/properties/PurchaseDate", + "type": ["string", "null"], + "title": "The PurchaseDate schema", + "description": "The purchase date of the order, in ISO-8601 date/time format. It will be null when there is no related information.", + "examples": [ + "2022-07-13T19:42:04.284Z" + ] + }, + "DestinationPostalCode": { + "$id": "#/properties/Payload/properties/OrderChangeNotification/properties/Summary/properties/DestinationPostalCode", + "type": ["string", "null"], + "title": "The DestinationPostalCode schema", + "description": "The destination postal code. It will be null when there is no related information.", + "examples": [ + "48110" + ] + }, + "FulfillmentType": { + "$id": "#/properties/Payload/properties/OrderChangeNotification/properties/Summary/properties/FulfillmentType", + "type": "string", + "enum": ["AFN", "MFN"], + "title": "The FulfillmentType schema", + "description": "Fulfillment type of the affected order, MFN or AFN.", + "examples": [ + "MFN" + ] + }, + "OrderType": { + "$id": "#/properties/Payload/properties/OrderChangeNotification/properties/Summary/properties/OrderType", + "type": "string", + "enum": ["StandardOrder", "LongLeadTimeOrder", "Preorder", "BackOrder", "SourcingOnDemandOrder"], + "title": "The OrderType schema", + "description": "The type of the order.", + "examples": [ + "StandardOrder" + ] + }, + "NumberOfItemsShipped": { + "$id": "#/properties/Payload/properties/OrderChangeNotification/properties/Summary/properties/NumberOfItemsShipped", + "type": "integer", + "title": "The NumberOfItemsShipped schema", + "description": "The number of items shipped.", + "examples": [ + 0 + ] + }, + "NumberOfItemsUnshipped": { + "$id": "#/properties/Payload/properties/OrderChangeNotification/properties/Summary/properties/NumberOfItemsUnshipped", + "type": "integer", + "title": "The NumberOfItemsUnshipped schema", + "description": "The number of items unshipped.", + "examples": [ + 10 + ] + }, + "EarliestDeliveryDate": { + "$id": "#/properties/Payload/properties/OrderChangeNotification/properties/Summary/properties/EarliestDeliveryDate", + "type": "string", + "title": "The EarliestDeliveryDate schema", + "description": "The start of the time period during which you committed to fulfill the order, in ISO-8601 date/time format. Returned only for seller-fulfilled orders.", + "examples": [ + "2022-11-07T19:42:04.284Z" + ] + }, + "LatestDeliveryDate": { + "$id": "#/properties/Payload/properties/OrderChangeNotification/properties/Summary/properties/LatestDeliveryDate", + "type": "string", + "title": "The LatestDeliveryDate schema", + "description": "The end of the time period during which you committed to fulfill the order, in ISO-8601 date/time format. Returned only for seller-fulfilled orders that do not have a PendingAvailability, Pending, or Canceled status.", + "examples": [ + "2022-12-07T19:42:04.284Z" + ] + }, + "EarliestShipDate": { + "$id": "#/properties/Payload/properties/OrderChangeNotification/properties/Summary/properties/EarliestShipDate", + "type": "string", + "title": "The EarliestShipDate schema", + "description": "The start of the time period during which you committed to ship the order, in ISO-8601 date/time format.", + "examples": [ + "2022-11-07T19:42:04.284Z" + ] + }, + "LatestShipDate": { + "$id": "#/properties/Payload/properties/OrderChangeNotification/properties/Summary/properties/LatestShipDate", + "type": "string", + "title": "The LatestShipDate schema", + "description": "The end of the time period during which you committed to ship the order, in ISO-8601 date/time format.", + "examples": [ + "2022-12-07T19:42:04.284Z" + ] + }, + "CancelNotifyDate": { + "$id": "#/properties/Payload/properties/OrderChangeNotification/properties/Summary/properties/CancelNotifyDate", + "type": "string", + "title": "The CancelNotifyDate schema", + "description": "The end of the time period during which you must notify the seller of possible cancellation, in ISO-8601 date/time format.", + "examples": [ + "2022-12-07T19:42:04.284Z" + ] + }, + "OrderPrograms": { + "$id": "#/properties/Payload/properties/OrderChangeNotification/properties/Summary/properties/OrderPrograms", + "type": "array", + "title": "The OrderPrograms schema", + "description": "The order programs in which this order participates.", + "items": { + "type": "string", + "enum": ["Business", "Prime", "Premium", "IBA", "Replacement"] + }, + "examples": [ + ["Business"] + ] + }, + "ShippingPrograms": { + "$id": "#/properties/Payload/properties/OrderChangeNotification/properties/Summary/properties/ShippingPrograms", + "type": "array", + "title": "The ShippingPrograms schema", + "description": "The shipping programs in which this order participates.", + "items": { + "type": "string", + "enum": ["ShipDateSet", "GlobalExpress", "ISPU", "AccessPoint", "TFM", "EasyShip"] + }, + "examples": [ + ["EasyShip"] + ] + }, + "EasyShipShipmentStatus": { + "$id": "#/properties/Payload/properties/OrderChangeNotification/properties/Summary/properties/EasyShipShipmentStatus", + "type": "string", + "enum": ["PendingSchedule", "PendingPickUp", "PendingDropOff", "LabelCanceled", "PickedUp", "DroppedOff", "AtOriginFC", "AtDestinationFC", "Delivered", "RejectedByBuyer", "Undeliverable", "ReturningToSeller", "ReturnedToSeller", "Lost", "OutForDelivery", "Damaged"], + "title": "The EasyShipShipmentStatus schema", + "description": "The status of the Amazon Easy Ship order. This property is included only for Amazon Easy Ship orders.", + "examples": [ + "Delivered" + ] + }, + "ElectronicInvoiceStatus": { + "$id": "#/properties/Payload/properties/OrderChangeNotification/properties/Summary/properties/ElectronicInvoiceStatus", + "type": "string", + "enum": ["NotRequired", "NotFound", "Processing", "Errored", "Accepted"], + "title": "The ElectronicInvoiceStatus schema", + "description": "The status of the electronic invoice.", + "examples": [ + "NotFound" + ] + }, + "OrderItems": { + "$id": "#/properties/Payload/properties/OrderChangeNotification/properties/Summary/properties/OrderItems", + "type": "array", + "title": "The OrderItems schema", + "description": "Information about order items included in this order. For OrderItemLevel notifications, one payload includes one item, while for OrderLevel notifications, one payload includes all items.", + "examples": [ + [ + { + "OrderItemId": "OIID34853450", + "SellerSKU": "SellerSKUID1", + "SupplySourceId": "d7679e14-031b-4ab3-a81b-ec4fc7a460b3", + "OrderItemStatus": "Unshipped", + "Quantity": 10, + "QuantityShipped": 0, + "IsBuyerRequestedCancel": true, + "ItemEarliestDeliveryDate": "2022-11-07T19:42:04.284Z", + "ItemLatestDeliveryDate": "2022-12-07T19:42:04.284Z" + } + ] + ], + "items": { + "type": "object", + "title": "The OrderItem schema", + "description": "Information about every order item.", + "examples": [ + { + "OrderItemId": "OIID34853450", + "SellerSKU": "SellerSKUID1", + "SupplySourceId": "d7679e14-031b-4ab3-a81b-ec4fc7a460b3", + "OrderItemStatus": "Unshipped", + "Quantity": 10, + "QuantityShipped": 0, + "IsBuyerRequestedCancel": true, + "ItemEarliestDeliveryDate": "2022-11-07T19:42:04.284Z", + "ItemLatestDeliveryDate": "2022-12-07T19:42:04.284Z" + } + ], + "required": [ + "OrderItemId", + "SellerSKU", + "SupplySourceId", + "Quantity" + ], + "properties": { + "OrderItemId": { + "$id": "#/properties/Payload/properties/OrderChangeNotification/properties/Summary/properties/OrderItems/OrderItemId", + "type": "string", + "title": "The OrderItemId schema", + "description": "The Amazon-defined order item identifier.", + "examples": [ + "OIID34853450" + ] + }, + "SellerSKU": { + "$id": "#/properties/Payload/properties/OrderChangeNotification/properties/Summary/properties/OrderItems/SellerSKU", + "type": "string", + "title": "The SellerSKU schema", + "description": "The seller-specific SKU for an item.", + "examples": [ + "SellerSKUID1" + ] + }, + "SupplySourceId": { + "$id": "#/properties/Payload/properties/OrderChangeNotification/properties/Summary/properties/OrderItems/SupplySourceId", + "type": ["string", "null"], + "title": "The SupplySourceId schema", + "description": "The unique identifier of the supply source. Will be null when there is no related information.", + "examples": [ + "d7679e14-031b-4ab3-a81b-ec4fc7a460b3" + ] + }, + "OrderItemStatus": { + "$id": "#/properties/Payload/properties/OrderChangeNotification/properties/Summary/properties/OrderItems/OrderItemStatus", + "type": "string", + "enum": ["Unshipped", "Shipped"], + "title": "The OrderItemStatus schema", + "description": "The current status of the order item. This field Will have a non-null value when items' statuses are different.", + "examples": [ + "Unshipped" + ] + }, + "Quantity": { + "$id": "#/properties/Payload/properties/OrderChangeNotification/properties/Summary/properties/OrderItems/Quantity", + "type": "integer", + "title": "The Quantity schema", + "description": "The number of items in the order.", + "examples": [ + 10 + ] + }, + "QuantityShipped": { + "$id": "#/properties/Payload/properties/OrderChangeNotification/properties/Summary/properties/OrderItems/QuantityShipped", + "type": "integer", + "title": "The QuantityShipped schema", + "description": "The number of items shipped.", + "examples": [ + 0 + ] + }, + "IsBuyerRequestedCancel": { + "$id": "#/properties/Payload/properties/OrderChangeNotification/properties/Summary/properties/OrderItems/IsBuyerRequestedCancel", + "type": "boolean", + "title": "The IsBuyerRequestedCancel schema", + "description": "True when the buyer has requested cancelation.", + "examples": [ + true + ] + }, + "ItemEarliestDeliveryDate": { + "$id": "#/properties/Payload/properties/OrderChangeNotification/properties/Summary/properties/OrderItems/ItemEarliestDeliveryDate", + "type": "string", + "title": "The ItemEarliestDeliveryDate schema", + "description": "The start of the time period during which you have committed to fulfill the order.", + "examples": [ + "2022-11-07T19:42:04.284Z" + ] + }, + "ItemLatestDeliveryDate": { + "$id": "#/properties/Payload/properties/OrderChangeNotification/properties/Summary/properties/OrderItems/ItemLatestDeliveryDate", + "type": "string", + "title": "The ItemLatestDeliveryDate schema", + "description": "The end of the time period during which you have committed to fulfill the order.", + "examples": [ + "2022-12-07T19:42:04.284Z" + ] + } + } + } + } + } + } + } + } + } + }, + "NotificationMetadata": { + "$id": "#/properties/NotificationMetadata", + "type": "object", + "title": "The NotificationMetadata schema", + "description": "The notification metadata.", + "examples": [ + { + "ApplicationId": "app-id-d0e9e693-c3ad-4373-979f-ed4ec98dd746", + "SubscriptionId": "subscription-id-d0e9e693-c3ad-4373-979f-ed4ec98dd746", + "PublishTime": "2020-07-13T19:42:04.284Z", + "NotificationId": "d0e9e693-c3ad-4373-979f-ed4ec98dd746" + } + ], + "required": [ + "ApplicationId", + "SubscriptionId", + "PublishTime", + "NotificationId" + ], + "properties": { + "ApplicationId": { + "$id": "#/properties/NotificationMetadata/properties/ApplicationId", + "type": "string", + "title": "The ApplicationId schema", + "description": "The identifier for the application that uses the notifications.", + "examples": [ + "app-id-d0e9e693-c3ad-4373-979f-ed4ec98dd746" + ] + }, + "SubscriptionId": { + "$id": "#/properties/NotificationMetadata/properties/SubscriptionId", + "type": "string", + "title": "The SubscriptionId schema", + "description": "A unique identifier for the subscription which resulted in this notification.", + "examples": [ + "subscription-id-d0e9e693-c3ad-4373-979f-ed4ec98dd746" + ] + }, + "PublishTime": { + "$id": "#/properties/NotificationMetadata/properties/PublishTime", + "type": "string", + "title": "The PublishTime schema", + "description": "The date and time (in UTC) that the notification was sent, in ISO-8601 date/time format.", + "examples": [ + "2020-07-13T19:42:04.284Z" + ] + }, + "NotificationId": { + "$id": "#/properties/NotificationMetadata/properties/NotificationId", + "type": "string", + "title": "The NotificationId schema", + "description": "A unique identifier for this notification instance.", + "examples": [ + "d0e9e693-c3ad-4373-979f-ed4ec98dd746" + ] + } + } + } + } +} From 463c500ac8945a1dd4fa03ceed0572d2af27dc6b Mon Sep 17 00:00:00 2001 From: Jack Evoniuk Date: Wed, 21 Jun 2023 09:29:39 -0700 Subject: [PATCH 162/340] Add B2bAnyOfferChangedNotification schema --- .../B2bAnyOfferChangedNotification.json | 498 ++++++++++++++++++ 1 file changed, 498 insertions(+) create mode 100644 schemas/notifications/B2bAnyOfferChangedNotification.json diff --git a/schemas/notifications/B2bAnyOfferChangedNotification.json b/schemas/notifications/B2bAnyOfferChangedNotification.json new file mode 100644 index 000000000..e27d76035 --- /dev/null +++ b/schemas/notifications/B2bAnyOfferChangedNotification.json @@ -0,0 +1,498 @@ +{ + "$schema": "http://json-schema.org/draft-07/schema", + "type": "object", + "description": "The notification response schema that comprises the entire JSON document for B2B_ANY_OFFER_CHANGED notification.", + "#ref": "#/definitions/notificationResponse", + "definitions": { + "notificationMetadata": { + "type": "object", + "required": [ + "applicationId", + "subscriptionId", + "publishTime", + "notificationId" + ], + "additionalProperties": true, + "properties": { + "applicationId": { + "type": "string", + "description": "The identifier for the application that uses the notifications." + }, + "subscriptionId": { + "type": "string", + "description": "A unique identifier for the subscription which resulted in this notification." + }, + "publishTime": { + "type": "string", + "description": "The date and time in ISO 8601 format in UTC time that the notification was sent." + }, + "notificationId": { + "type": "string", + "description": "A unique identifier for this notification instance." + } + } + }, + "offerChangeTrigger": { + "type": "object", + "description": "The event that caused the notification to be sent.", + "required": [ + "marketplaceId", + "asin", + "itemCondition", + "timeOfOfferChange" + ], + "additionalProperties": true, + "properties": { + "marketplaceId": { + "type": "string", + "description": "The marketplace identifier of the item that had an offer change." + }, + "asin": { + "type": "string", + "description": "The ASIN for the item that had an offer change." + }, + "itemCondition": { + "type": "string", + "description": "The condition of the item that had an offer change." + }, + "timeOfOfferChange": { + "type": "string", + "description": "The update time for the offer that caused this notification." + } + } + }, + "condition": { + "type": "string", + "description": "The condition of the item." + }, + "fulfillmentChannel": { + "type": "string", + "description": "Indicates whether the item is fulfilled by Amazon or by the seller." + }, + "offerCount": { + "type": "object", + "required": [ + "condition", + "fulfillmentChannel", + "offerCount" + ], + "additionalProperties": true, + "properties": { + "condition": { + "$ref": "#/definitions/condition" + }, + "fulfillmentChannel": { + "$ref": "#/definitions/fulfillmentChannel" + }, + "offerCount": { + "type": "integer", + "description": "The total number of offers for the specified condition and fulfillment channel." + } + } + }, + "offerType": { + "type": "string", + "description": "Indicates whether the offer is a B2B offer or a B2C offer." + }, + "quantityTier": { + "type": "integer", + "description": "The quantity tier for the offer" + }, + "discountType": { + "type": "string", + "description": "Indicates whether the quantity tier is for Quantity Discount or Progressive Discount." + }, + "moneyType": { + "type": "object", + "required": [ + "amount", + "currencyCode" + ], + "additionalProperties": true, + "properties": { + "amount": { + "type": "number" + }, + "currencyCode": { + "type": "string" + } + } + }, + "landedPrice": { + "$ref": "#/definitions/moneyType", + "description": "The price of the item plus the shipping cost." + }, + "listingPrice": { + "$ref": "#/definitions/moneyType", + "description": "The price of the item." + }, + "shipping": { + "$ref": "#/definitions/moneyType", + "description": "The shipping cost." + }, + "QuantityDiscountPriceType" : { + "type" : "object", + "required" : [ "listingPrice", "quantityDiscountType", "quantityTier" ], + "properties" : { + "quantityTier" : { + "type" : "integer", + "format" : "int32", + "description" : "Indicates at what quantity this price becomes active." + }, + "quantityDiscountType" : { + "description" : "Indicates the type of quantity discount this price applies to.", + "$ref" : "#/definitions/QuantityDiscountType" + }, + "listingPrice" : { + "description" : "The price at this quantity tier.", + "$ref" : "#/definitions/MoneyType" + } + }, + "description" : "Contains pricing information that includes special pricing when buying in bulk." + }, + "QuantityDiscountType" : { + "type" : "string", + "enum" : [ "QUANTITY_DISCOUNT" ], + "x-docgen-enum-table-extension" : [ { + "value" : "QUANTITY_DISCOUNT", + "description" : "A Quantity Discount." + } ] + }, + "lowestPrice": { + "type": "object", + "required": [ + "condition", + "fulfillmentChannel", + "offerType", + "quantityTier", + "listingPrice" + ], + "additionalProperties": true, + "properties": { + "condition": { + "$ref": "#/definitions/condition" + }, + "fulfillmentChannel": { + "$ref": "#/definitions/fulfillmentChannel" + }, + "offerType": { + "$ref": "#/definitions/offerType" + }, + "quantityTier": { + "$ref": "#/definitions/quantityTier" + }, + "discountType": { + "$ref": "#/definitions/discountType" + }, + "landedPrice": { + "$ref": "#/definitions/landedPrice" + }, + "listingPrice": { + "$ref": "#/definitions/listingPrice" + }, + "shipping": { + "$ref": "#/definitions/shipping" + } + } + }, + "buyBoxPrice": { + "type": "object", + "required": [ + "condition", + "offerType", + "quantityTier", + "listingPrice" + ], + "additionalProperties": true, + "properties": { + "condition": { + "$ref": "#/definitions/condition" + }, + "offerType": { + "$ref": "#/definitions/offerType" + }, + "quantityTier": { + "$ref": "#/definitions/quantityTier" + }, + "discountType": { + "$ref": "#/definitions/discountType" + }, + "landedPrice": { + "$ref": "#/definitions/landedPrice" + }, + "listingPrice": { + "$ref": "#/definitions/listingPrice" + }, + "shipping": { + "$ref": "#/definitions/shipping" + }, + "sellerId": { + "type": "string", + "description": "The seller identifier for the offer." + } + } + }, + "sellerFeedbackRating": { + "type": "object", + "required": [ + "feedbackCount", + "sellerPositiveFeedbackRating" + ], + "additionalProperties": true, + "properties": { + "feedbackCount": { + "type": "integer", + "description": "The count of feedback received about the seller." + }, + "sellerPositiveFeedbackRating": { + "type": "number", + "description": "The percentage of positive feedback for the seller in the past 365 days." + } + } + }, + "shippingTime": { + "type": "object", + "additionalProperties": true, + "properties": { + "minimumHours": { + "type": "integer", + "description": "The minimum time, in hours, that the item will likely be shipped after the order has been placed." + }, + "maximumHours": { + "type": "integer", + "description": "The maximum time, in hours, that the item will likely be shipped after the order has been placed." + }, + "availabilityType": { + "type": "string", + "description": "Indicates whether the item is available for shipping now, or on a known or unknown date in the future." + }, + "availableDate": { + "type": "string", + "description": "The date when the item will be available for shipping. Only displayed for items that are not currently available for shipping." + } + } + }, + "shipsFrom": { + "type": "object", + "required": [ + "country" + ], + "additionalProperties": true, + "properties": { + "country": { + "type": "string" + } + } + }, + "primeInformation": { + "type": "object", + "required": [ + "isOfferPrime", + "isOfferNationalPrime" + ], + "additionalProperties": true, + "properties": { + "isOfferPrime": { + "type": "boolean", + "description": "Indicates whether the offer is an Amazon Prime offer." + }, + "isOfferNationalPrime": { + "type": "boolean", + "description": "Indicates whether the offer is an Amazon Prime offer throughout the entire marketplace where it is listed." + } + } + }, + "offer": { + "type": "object", + "required": [ + "sellerId", + "subCondition", + "shippingTime", + "listingPrice", + "shipping", + "isFulfilledByAmazon" + ], + "additionalProperties": true, + "properties": { + "sellerId": { + "type": "string", + "description": "The seller identifier for the offer." + }, + "subCondition": { + "type": "string", + "description": "The subcondition of the item." + }, + "sellerFeedbackRating": { + "$ref": "#/definitions/sellerFeedbackRating" + }, + "shippingTime": { + "$ref": "#/definitions/shippingTime" + }, + "listingPrice": { + "$ref": "#/definitions/listingPrice" + }, + "quantityDiscountPrice": { + "type": "array", + "description": "Contains a list of pricing information that includes special pricing when buying in bulk.", + "items" : { + "$ref" : "#/definitions/QuantityDiscountPriceType" + } + }, + "shipping": { + "$ref": "#/definitions/shipping" + }, + "shipsFrom": { + "$ref": "#/definitions/shipsFrom" + }, + "isFulfilledByAmazon": { + "type": "boolean", + "description": "True when fulfilled by Amazon." + }, + "isBuyBoxWinner": { + "type": "boolean", + "description": "True when the offer is currently in the Buy Box. There can be up to two Buy Box winners at any time per ASIN, one that is eligible for Prime and one that is not eligible for Prime." + }, + "conditionNotes": { + "type": "string", + "description": "Information about the condition of the item." + }, + "isFeaturedMerchant": { + "type": "boolean", + "description": "True when the seller of the item is eligible to win the Buy Box." + } + } + }, + "summary": { + "type": "object", + "required": [ + "numberOfOffers", + "buyBoxEligibleOffers", + "lowestPrices", + "buyBoxPrices" + ], + "additionalProperties": true, + "properties": { + "numberOfOffers": { + "type": "array", + "description": "A list that contains the total number of B2B offers for the item for the given conditions and fulfillment channels.", + "additionalItems": true, + "items": [ + { + "$ref": "#/definitions/offerCount" + } + ] + }, + "buyBoxEligibleOffers": { + "type": "array", + "description": "A list that contains the total number of B2B offers that are eligible for the Buy Box for the given conditions and fulfillment channels.", + "additionalItems": true, + "items": [ + { + "$ref": "#/definitions/offerCount" + } + ] + }, + "lowestPrices": { + "type": "array", + "description": "A list that contains the lowest prices of the item for the given conditions, fulfillment channels, quantity tiers, and discount types.", + "additionalItems": true, + "items": [ + { + "$ref": "#/definitions/lowestPrice" + } + ] + }, + "buyBoxPrices": { + "type": "array", + "description": "A list that contains the Buy Box price of the item for the given conditions, quantity tiers, and discount types.", + "additionalItems": true, + "items": [ + { + "$ref": "#/definitions/buyBoxPrice" + } + ] + } + } + }, + "b2bAnyOfferChangedNotification": { + "type": "object", + "required": [ + "sellerId", + "offerChangeTrigger", + "summary", + "offers" + ], + "additionalProperties": true, + "properties": { + "sellerId": { + "type": "string", + "description": "The seller identifier for the offer." + }, + "offerChangeTrigger": { + "$ref": "#/definitions/offerChangeTrigger" + }, + "summary": { + "$ref": "#/definitions/summary" + }, + "offers": { + "type": "array", + "description": "The top 20 competitive B2B offers for the item and condition that triggered the notification.", + "additionalItems": true, + "items": [ + { + "$ref": "#/definitions/offer" + } + ] + } + } + }, + "payload": { + "type": "object", + "required": [ + "b2bAnyOfferChangedNotification" + ], + "additionalProperties": true, + "properties": { + "b2bAnyOfferChangedNotification": { + "$ref": "#/definitions/b2bAnyOfferChangedNotification" + } + } + }, + "notificationResponse": { + "type": "object", + "required": [ + "notificationVersion", + "notificationType", + "payloadVersion", + "eventTime", + "notificationMetadata", + "payload" + ], + "additionalProperties": true, + "properties": { + "notificationVersion": { + "type": "string", + "description": "The notification version. This controls the structure of the notification." + }, + "notificationType": { + "type": "string", + "description": "The notification type. Combined with the payload version this controls the structure of the payload object." + }, + "payloadVersion": { + "type": "string", + "description": "The payload version. Combined with the notification type this controls the structure of the payload object." + }, + "eventTime": { + "type": "string", + "description": "The date and time in ISO 8601 format in UTC time that the event which triggered the notification occurred." + }, + "notificationMetadata": { + "$ref": "#/definitions/notificationMetadata" + }, + "payload": { + "$ref": "#/definitions/payload" + } + } + } + } +} From 50db48d9f62d56afbfd285c87f6ce146c1c62913 Mon Sep 17 00:00:00 2001 From: Gibran Waldron Date: Tue, 27 Jun 2023 09:04:09 -0700 Subject: [PATCH 163/340] Add promotionReport.json report schema to GitHub. --- schemas/reports/promotionReport.json | 461 +++++++++++++++++++++++++++ 1 file changed, 461 insertions(+) create mode 100644 schemas/reports/promotionReport.json diff --git a/schemas/reports/promotionReport.json b/schemas/reports/promotionReport.json new file mode 100644 index 000000000..bd73756fd --- /dev/null +++ b/schemas/reports/promotionReport.json @@ -0,0 +1,461 @@ +{ + "$schema": "http://json-schema.org/draft-07/schema", + "type": "object", + "description": "The Promotion Performance report contains data to help vendors optimize their promotions and adjust their advertising strategies. Currently three promotion types are supported: Best Deal, Lightning Deal, and Price Discount. This report supports start dates up to two years before the current date.", + "examples": [ + { + "reportSpecification": { + "reportType": "GET_PROMOTION_PERFORMANCE_REPORT", + "reportOptions": { + "promotionStartDateFrom": "2020-11-23T15:33:26Z", + "promotionStartDateTo": "2020-12-06T15:33:26Z" + }, + "marketplaceIds": [ + "ATVPDKIKX0DER" + ] + }, + "promotions": [ + { + "promotionId": "16913551269", + "promotionName": "Save on BrandX Product Name", + "vendorCode": "ABCDE", + "merchantId": "A21MAFL4G6JTR3", + "unitsSold": 121, + "amountSpent": 9338.20, + "amountSpentCurrencyCode": "USD", + "revenue": 32917.01, + "revenueCurrencyCode": "USD", + "startDateTime": "2020-11-23T12:34:56Z", + "endDateTime": "2020-11-23T12:34:56Z", + "type": "BEST_DEAL", + "status": "APPROVED", + "creationChannel": "SELF-SERVICE", + "marketplaceId": "ATVPDKIKX0DER", + "fundingAgreementId": "58985408", + "glanceViews": 41084, + "createdDateTime": "2020-09-18T13:24:39Z", + "lastUpdatedDateTime": "2020-09-18T13:24:39Z", + "includedProducts": [ + { + "asin": "B08755Z2ND", + "productName": "BrandX Product, Travel Size, 3 Pack", + "productGlanceViews": 380, + "productUnitsSold": 20, + "productAmountSpent": 4425.22, + "productAmountSpentCurrencyCode": "USD", + "productRevenue": 16371.85, + "productRevenueCurrencyCode": "USD" + } + ] + } + ] + } + ], + "required": [ + "reportSpecification", + "promotions" + ], + "properties": { + "reportSpecification": { + "type": "object", + "description": "Summarizes the original report request.", + "examples": [ + { + "reportType": "GET_PROMOTION_PERFORMANCE_REPORT", + "reportOptions": { + "promotionStartDateFrom": "2020-11-23T15:33:26Z", + "promotionStartDateTo": "2020-12-06T15:33:26Z" + }, + "marketplaceIds": [ + "ATVPDKIKX0DER" + ] + } + ], + "required": [ + "reportType", + "reportOptions", + "marketplaceIds" + ], + "properties": { + "reportType": { + "type": "string", + "description": "The report type.", + "examples": [ + "GET_PROMOTION_PERFORMANCE_REPORT" + ] + }, + "reportOptions": { + "type": "object", + "description": "Report options specifying the parameters promotionStartDateFrom and promotionStartDateTo.", + "required": [ + "promotionStartDateFrom", + "promotionStartDateTo" + ], + "properties": { + "promotionStartDateFrom": { + "type": "string", + "format": "date-time", + "description": "The start of a date and time range in ISO 8601 format used for selecting promotions to report on. All promotions with a start date-time that falls within the range will be included.", + "examples": [ + "2020-11-23T15:33:26Z" + ] + }, + "promotionStartDateTo": { + "type": "string", + "format": "date-time", + "description": "The end of a date and time range in ISO 8601 format used for selecting promotions to report on. All promotions with a start date-time that falls within the range will be included.", + "examples": [ + "2020-12-06T15:33:26Z" + ] + } + } + }, + "marketplaceIds": { + "type": "array", + "description": "The marketplace IDs specified in the report request.", + "examples": [ + [ + "ATVPDKIKX0DER" + ] + ], + "items": { + "type": "string", + "description": "The marketplace ID.", + "examples": [ + "ATVPDKIKX0DER" + ] + } + } + } + }, + "promotions": { + "type": "array", + "description": "The list of included promotions.", + "items": { + "$ref": "#/definitions/DetailsByPromotion" + } + } + }, + "definitions": { + "DetailsByPromotion": { + "type": "object", + "description": "An object that contains details about a promotion and every included product.", + "examples": [ + { + "promotionId": "16913551269", + "promotionName": "Save on BrandX Product Name", + "vendorCode": "ABCDE", + "merchantId": "A21MAFL4G6JTR3", + "unitsSold": 121, + "amountSpent": 9338.20, + "amountSpentCurrencyCode": "USD", + "revenue": 32917.01, + "revenueCurrencyCode": "USD", + "startDateTime": "2020-11-23T12:34:56Z", + "endDateTime": "2020-11-23T12:34:56Z", + "type": "BEST_DEAL", + "status": "APPROVED", + "creationChannel": "SELF-SERVICE", + "marketplaceId": "ATVPDKIKX0DER", + "fundingAgreementId": "58985408", + "glanceViews": 41084, + "createdDateTime": "2020-09-18T13:24:39Z", + "lastUpdatedDateTime": "2020-09-18T13:24:39Z", + "includedProducts": [ + { + "asin": "B08755Z2ND", + "productName": "Save on BrandX Product Name", + "productGlanceViews": 380, + "productUnitsSold": 20, + "productAmountSpent": 4425.22, + "productAmountSpentCurrencyCode": "USD", + "productRevenue": 16371.85, + "productRevenueCurrencyCode": "USD" + } + ] + } + ], + "required": [ + "promotionId", + "promotionName", + "unitsSold", + "revenue", + "revenueCurrencyCode", + "startDateTime", + "endDateTime", + "type", + "status", + "creationChannel", + "marketplaceId", + "createdDateTime", + "lastUpdatedDateTime", + "includedProducts" + ], + "properties": { + "promotionId": { + "type": "string", + "description": "The unique identifier of the promotion.", + "examples": [ + "16913551269" + ] + }, + "promotionName": { + "type": "string", + "description": "The customer facing name of the promotion.", + "examples": [ + "Save on BrandX Product Name" + ] + }, + "vendorCode": { + "type": "string", + "description": "The vendor code associated with the promotion funding agreement. For vendors only.", + "examples": [ + "ABCDE" + ] + }, + "merchantId": { + "type": "string", + "description": "The merchant customer ID associated with the promotion funding agreement. For sellers only.", + "examples": [ + "A21MAFL4G6JTR3" + ] + }, + "unitsSold": { + "type": "integer", + "description": "The number of units sold across all ASINs in the promotion.", + "minimum": 0, + "examples": [ + 121 + ] + }, + "amountSpent": { + "type": "number", + "description": "Total funding provided across all ASINs in the promotion. For vendors only.", + "minimum": 0, + "examples": [ + 9338.20 + ] + }, + "amountSpentCurrencyCode": { + "type": "string", + "description": "The ISO 4217 currency code of amountSpent.", + "examples": [ + "USD" + ] + }, + "revenue": { + "type": "number", + "description": "The total revenue generated across all ASINs in the promotion. For sellers, this is equivalent to \"sales\" in the Seller Central UI.", + "minimum": 0, + "examples": [ + 32917.01 + ] + }, + "revenueCurrencyCode": { + "type": "string", + "description": "The ISO 4217 currency code of revenue.", + "examples": [ + "USD" + ] + }, + "startDateTime": { + "type": "string", + "format": "date-time", + "description": "Promotion start date-time in ISO 8601 format in UTC.", + "examples": [ + "2020-11-23T12:34:56Z" + ] + }, + "endDateTime": { + "type": "string", + "format": "date-time", + "description": "Promotion end date-time in ISO 8601 format in UTC.", + "examples": [ + "2020-11-23T12:34:56Z" + ] + }, + "type": { + "type": "string", + "description": "The type of the promotion.", + "enum": [ + "BEST_DEAL", + "DEAL_OF_THE_DAY", + "LIGHTNING_DEAL", + "PRICE_DISCOUNT", + "SALES_DISCOUNT", + "COUPON", + "PROMO_CODE" + ] + }, + "status": { + "type": "string", + "description": "The state that the promotion is in.", + "enum": [ + "APPROVED", + "PENDING_APPROVAL", + "NEEDS_YOUR_ATTENTION", + "CANCELED" + ] + }, + "creationChannel": { + "type": "string", + "description": "The mode of creation for the promotion.", + "enum": [ + "SELF-SERVICE", + "FULL-SERVICE", + "AUTOMATED", + "MANUAL" + ], + "x-docgen-enum-table-extension": [ + { + "value": "SELF-SERVICE", + "description": "Created by the vendor/seller directly in Vendor/Seller Central." + }, + { + "value": "FULL-SERVICE", + "description": "Created on behalf of the vendor/seller by account managers." + }, + { + "value": "AUTOMATED", + "description": "Created automatically by a system in response to a trigger. For example, Deal-O-Matic." + }, + { + "value": "MANUAL", + "description": "Only used for digital point-of-sale discounts created in Vendisto." + } + ] + }, + "marketplaceId": { + "type": "string", + "description": "The marketplace the promotion is running in.", + "examples": [ + "ATVPDKIKX0DER" + ] + }, + "fundingAgreementId": { + "type": "string", + "description": "The ID for the funding agreement. For vendors only.", + "examples": [ + "58985408" + ] + }, + "glanceViews": { + "type": "integer", + "description": "The total customer views for all product detail pages.", + "minimum": 0, + "examples": [ + 41084 + ] + }, + "createdDateTime": { + "type": "string", + "format": "date-time", + "description": "The promotion creation date-time in ISO 8601 format in UTC.", + "examples": [ + "2020-09-18T13:24:39Z" + ] + }, + "lastUpdatedDateTime": { + "type": "string", + "format": "date-time", + "description": "The promotion last updated date-time in ISO 8601 format in UTC.", + "examples": [ + "2020-09-18T13:24:39Z" + ] + }, + "includedProducts": { + "type": "array", + "description": "List of included products and their details.", + "items": { + "$ref": "#/definitions/DetailsByProduct" + } + } + } + }, + "DetailsByProduct": { + "type": "object", + "description": "An object that contains details about a product.", + "examples": [ + { + "asin": "B08755Z2ND", + "productName": "BrandX Product, Travel Size, 3 Pack", + "productGlanceViews": 380, + "productUnitsSold": 20, + "productAmountSpent": 4425.22, + "productAmountSpentCurrencyCode": "USD", + "productRevenue": 16371.85, + "productRevenueCurrencyCode": "USD" + } + ], + "required": [ + "asin", + "productName", + "productUnitsSold", + "productRevenue", + "productRevenueCurrencyCode" + ], + "properties": { + "asin": { + "type": "string", + "description": "The product ASIN.", + "examples": [ + "B08755Z2ND" + ] + }, + "productName": { + "type": "string", + "description": "The product name.", + "examples": [ + "BrandX Product, Travel Size, 3 Pack" + ] + }, + "productGlanceViews": { + "type": "integer", + "description": "The number of customer views of the product detail page.", + "minimum": 0, + "examples": [ + 380 + ] + }, + "productUnitsSold": { + "type": "integer", + "description": "The number of units sold at the promotional price.", + "minimum": 0, + "examples": [ + 20 + ] + }, + "productAmountSpent": { + "type": "number", + "description": "Total funding provided by the vendor at the ASIN level. For vendors only.", + "minimum": 0, + "examples": [ + 4425.22 + ] + }, + "productAmountSpentCurrencyCode": { + "type": "string", + "description": "ISO 4217 currency code of productAmountSpent.", + "examples": [ + "USD" + ] + }, + "productRevenue": { + "type": "number", + "description": "The total revenue generated at the ASIN level. For sellers, this is equivalent to \"sales\" in the Seller Central UI.", + "minimum": 0, + "examples": [ + 16371.85 + ] + }, + "productRevenueCurrencyCode": { + "type": "string", + "description": "ISO 4217 currency code of productRevenue.", + "examples": [ + "USD" + ] + } + } + } + } +} From 99f575618ba690715a2478b0c9a5085ff8487d0e Mon Sep 17 00:00:00 2001 From: Jack Evoniuk Date: Thu, 29 Jun 2023 11:57:06 -0700 Subject: [PATCH 164/340] Update Notifications model --- .../notifications.json | 34 +++++++++++++++++++ 1 file changed, 34 insertions(+) diff --git a/models/notifications-api-model/notifications.json b/models/notifications-api-model/notifications.json index 9d22a6eef..702fc857d 100644 --- a/models/notifications-api-model/notifications.json +++ b/models/notifications-api-model/notifications.json @@ -1645,11 +1645,18 @@ { "$ref": "#/definitions/MarketplaceFilter" }, + { + "$ref": "#/definitions/OrderChangeTypeFilter" + }, { "type": "object", "properties": { "eventFilterType": { "type": "string", + "enum": [ + "ANY_OFFER_CHANGED", + "ORDER_CHANGE" + ], "description": "An eventFilterType value that is supported by the specific notificationType. This is used by the subscription service to determine the type of event filter. Refer to the section of the [Notifications Use Case Guide](doc:notifications-api-v1-use-case-guide) that describes the specific notificationType to determine if an eventFilterType is supported." } }, @@ -1719,6 +1726,33 @@ } ] }, + + "OrderChangeTypeFilter": { + "description": "Use this event filter to customize your subscription to send notifications for only the specified orderChangeType.", + "type": "object", + "properties": { + "orderChangeTypes": { + "$ref": "#/definitions/OrderChangeTypes" + } + } + }, + "OrderChangeTypes": { + "type": "array", + "items": { + "$ref": "#/definitions/OrderChangeTypeEnum" + }, + "description": "A list of order change types to subscribe to (e.g. BuyerRequestedChange). To receive notifications of all change types, do not provide this list." + }, + + "OrderChangeTypeEnum": { + "type": "string", + "enum": [ + "OrderStatusChange", + "BuyerRequestedChange" + ], + "description": "The supported order change type of ORDER_CHANGE notification." + }, + "Subscription": { "type": "object", "required": [ From c5698d8337ed87d26f4d2f06b00c1452f9386c89 Mon Sep 17 00:00:00 2001 From: Jack Evoniuk Date: Thu, 29 Jun 2023 16:06:30 -0700 Subject: [PATCH 165/340] Remove generic_keyword from Catalog Items --- .../catalogItems_2022-04-01.json | 44 ------------------- 1 file changed, 44 deletions(-) diff --git a/models/catalog-items-api-model/catalogItems_2022-04-01.json b/models/catalog-items-api-model/catalogItems_2022-04-01.json index 16f3fcdc2..95c528059 100644 --- a/models/catalog-items-api-model/catalogItems_2022-04-01.json +++ b/models/catalog-items-api-model/catalogItems_2022-04-01.json @@ -381,28 +381,6 @@ "marketplace_id": "ATVPDKIKX0DER" } ], - "generic_keyword": [ - { - "language_tag": "en_US", - "value": "oled 65 inch smart tv qled 75 inch tv 85 inch 4k tv smart tv 4k tv 65 inch qled 82 inch tv 8k tv oled 65 smart tv qled 65 inch 80 inch tv 4k 4k tv shield tv 2018", - "marketplace_id": "ATVPDKIKX0DER" - }, - { - "language_tag": "en_US", - "value": "q9fn qled 2018 oled 4k 4k oled toshiba antenna dvd player outdoor tv kitchen tv fire tv firetv hdtv hd tv android shield tv gaming deals tv ears dvr speakers digital tv antenna tv android tv frame mount", - "marketplace_id": "ATVPDKIKX0DER" - }, - { - "language_tag": "en_US", - "value": "4k hdr tv 70 tv shield tv 90 inch tv gaming tv 75 tv 65 inch 4k tv tv 65 inch smart tv 4k 65 inch 4k tv 65 inch 4k tv 4k tv uhd tv uhd tv 4k", - "marketplace_id": "ATVPDKIKX0DER" - }, - { - "language_tag": "en_US", - "value": "smart tv 4k tv tv tv oled tv 65 inch smart tv 4k tv 65 inch smart tv shield tv 2018 tv 4k oled tv 65 4k tv 4k smart tv 4k hdr tv shield tv gaming tv 65 inch 4k tv tv 65 inch smart tv 4k 65 inch 4k tv 65 inch 4k tv 4k tv uhd tv uhd tv 4k", - "marketplace_id": "ATVPDKIKX0DER" - } - ], "control_method": [ { "value": "voice", @@ -1839,28 +1817,6 @@ "marketplace_id": "ATVPDKIKX0DER" } ], - "generic_keyword": [ - { - "language_tag": "en_US", - "value": "oled 65 inch smart tv qled 75 inch tv 85 inch 4k tv smart tv 4k tv 65 inch qled 82 inch tv 8k tv oled 65 smart tv qled 65 inch 80 inch tv 4k 4k tv shield tv 2018", - "marketplace_id": "ATVPDKIKX0DER" - }, - { - "language_tag": "en_US", - "value": "q9fn qled 2018 oled 4k 4k oled toshiba antenna dvd player outdoor tv kitchen tv fire tv firetv hdtv hd tv android shield tv gaming deals tv ears dvr speakers digital tv antenna tv android tv frame mount", - "marketplace_id": "ATVPDKIKX0DER" - }, - { - "language_tag": "en_US", - "value": "4k hdr tv 70 tv shield tv 90 inch tv gaming tv 75 tv 65 inch 4k tv tv 65 inch smart tv 4k 65 inch 4k tv 65 inch 4k tv 4k tv uhd tv uhd tv 4k", - "marketplace_id": "ATVPDKIKX0DER" - }, - { - "language_tag": "en_US", - "value": "smart tv 4k tv tv tv oled tv 65 inch smart tv 4k tv 65 inch smart tv shield tv 2018 tv 4k oled tv 65 4k tv 4k smart tv 4k hdr tv shield tv gaming tv 65 inch 4k tv tv 65 inch smart tv 4k 65 inch 4k tv 65 inch 4k tv 4k tv uhd tv uhd tv 4k", - "marketplace_id": "ATVPDKIKX0DER" - } - ], "control_method": [ { "value": "voice", From f7274af49b9af64983214bfd99e815617f43b80b Mon Sep 17 00:00:00 2001 From: Jack Evoniuk Date: Thu, 29 Jun 2023 16:07:08 -0700 Subject: [PATCH 166/340] Update Notifications model for ORDER_CHANGE --- models/notifications-api-model/notifications.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/models/notifications-api-model/notifications.json b/models/notifications-api-model/notifications.json index 702fc857d..0b17158a9 100644 --- a/models/notifications-api-model/notifications.json +++ b/models/notifications-api-model/notifications.json @@ -1626,7 +1626,7 @@ }, "definitions": { "ProcessingDirective": { - "description": "Additional information passed to the subscription to control the processing of notifications. For example, you can use an eventFilter to customize your subscription to send notifications for only the specified marketplaceId's, or select the aggregation time period at which to send notifications (e.g. limit to one notification every five minutes for high frequency notifications). The specific features available vary depending on the notificationType.\n\nThis feature is limited to specific notificationTypes and is currently only supported by the ANY_OFFER_CHANGED notificationType.", + "description": "Additional information passed to the subscription to control the processing of notifications. For example, you can use an `eventFilter` to customize your subscription to send notifications for only the specified marketplaceId's, or select the aggregation time period at which to send notifications (e.g. limit to one notification every five minutes for high frequency notifications). The specific features available vary depending on the notificationType.\n\nThis feature is currently only supported by the `ANY_OFFER_CHANGED` and `ORDER_CHANGE` notificationTypes.", "type": "object", "properties": { "eventFilter": { From b988b03a0e67189b7d47b70ace70c5201960daa9 Mon Sep 17 00:00:00 2001 From: Gibran Waldron Date: Fri, 7 Jul 2023 11:17:47 -0700 Subject: [PATCH 167/340] Update the Vendor DF Shipping v1 Weight description in model. --- .../vendorDirectFulfillmentShippingV1.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/models/vendor-direct-fulfillment-shipping-api-model/vendorDirectFulfillmentShippingV1.json b/models/vendor-direct-fulfillment-shipping-api-model/vendorDirectFulfillmentShippingV1.json index 99b9f5ab1..8b75f3c6b 100644 --- a/models/vendor-direct-fulfillment-shipping-api-model/vendorDirectFulfillmentShippingV1.json +++ b/models/vendor-direct-fulfillment-shipping-api-model/vendorDirectFulfillmentShippingV1.json @@ -3233,7 +3233,7 @@ "$ref": "#/definitions/Decimal" } }, - "description": "The weight." + "description": "The weight. This object is mandatory when using the [`submitShipmentConfirmations`](https://developer-docs.amazon.com/sp-api/docs/vendor-direct-fulfillment-shipping-api-v1-reference#submitshipmentconfirmations) operation." }, "Decimal": { "type": "string", From a7ac28d6cac4c60dcf608c9ccc4844d5ee2ca2cb Mon Sep 17 00:00:00 2001 From: Gibran Waldron Date: Fri, 7 Jul 2023 13:18:58 -0700 Subject: [PATCH 168/340] Update Vendor DF Payments v1 taxRegistrationNumber description in the model. --- .../vendorDirectFulfillmentPaymentsV1.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/models/vendor-direct-fulfillment-payments-api-model/vendorDirectFulfillmentPaymentsV1.json b/models/vendor-direct-fulfillment-payments-api-model/vendorDirectFulfillmentPaymentsV1.json index 1628f3d2e..ca1dd212a 100644 --- a/models/vendor-direct-fulfillment-payments-api-model/vendorDirectFulfillmentPaymentsV1.json +++ b/models/vendor-direct-fulfillment-payments-api-model/vendorDirectFulfillmentPaymentsV1.json @@ -563,7 +563,7 @@ }, "taxRegistrationNumber": { "type": "string", - "description": "Tax registration number for the party. For example, VAT ID." + "description": "Tax registration number for the entity. For example, VAT ID, Consumption Tax ID." }, "taxRegistrationAddress": { "description": "Address associated with the tax registration number.", From 8d5fbd25bcd5ea1580d6a81082b088ea3376a159 Mon Sep 17 00:00:00 2001 From: Jack Evoniuk Date: Wed, 26 Jul 2023 11:53:50 -0700 Subject: [PATCH 169/340] Include Invoice as PaymentMethod in Orders model --- models/orders-api-model/ordersV0.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/models/orders-api-model/ordersV0.json b/models/orders-api-model/ordersV0.json index 783eee1f0..ce800afe9 100644 --- a/models/orders-api-model/ordersV0.json +++ b/models/orders-api-model/ordersV0.json @@ -3822,7 +3822,7 @@ }, "PaymentMethod": { "type": "string", - "description": "A sub-payment method for a COD order.\n\nPossible values:\n\n* COD - Cash On Delivery.\n\n* GC - Gift Card.\n\n* PointsAccount - Amazon Points." + "description": "A sub-payment method for a COD order.\n\nPossible values:\n* `COD`: Cash On Delivery.\n* `GC`: Gift Card.\n* `PointsAccount`: Amazon Points.\n* `Invoice`: Invoice." } }, "description": "Information about a sub-payment method used to pay for a COD order." From 1d17fca1da8bf18a44e835aa695553018476980a Mon Sep 17 00:00:00 2001 From: Gibran Waldron Date: Wed, 16 Aug 2023 12:19:08 -0700 Subject: [PATCH 170/340] Update the Orders API model for ShipmentServiceLevelCategory. --- models/orders-api-model/ordersV0.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/models/orders-api-model/ordersV0.json b/models/orders-api-model/ordersV0.json index ce800afe9..fc8ac4daf 100644 --- a/models/orders-api-model/ordersV0.json +++ b/models/orders-api-model/ordersV0.json @@ -3137,7 +3137,7 @@ }, "ShipmentServiceLevelCategory": { "type": "string", - "description": "The shipment service level category of the order.\n\nPossible values: Expedited, FreeEconomy, NextDay, SameDay, SecondDay, Scheduled, Standard." + "description": "The shipment service level category of the order.\n\nPossible values: Expedited, FreeEconomy, NextDay, Priority, SameDay, SecondDay, Scheduled, Standard." }, "EasyShipShipmentStatus": { "description": "The status of the Amazon Easy Ship order. This property is included only for Amazon Easy Ship orders.", From 1734de4ea509ba1fd305e295ddd6e7a8284d177e Mon Sep 17 00:00:00 2001 From: Jack Evoniuk Date: Mon, 21 Aug 2023 10:44:15 -0700 Subject: [PATCH 171/340] Update the Product Pricing v0 model Update the usage plan of the getItemOffersBatch operation. --- models/product-pricing-api-model/productPricingV0.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/models/product-pricing-api-model/productPricingV0.json b/models/product-pricing-api-model/productPricingV0.json index ce289ba6b..d33346838 100644 --- a/models/product-pricing-api-model/productPricingV0.json +++ b/models/product-pricing-api-model/productPricingV0.json @@ -2518,7 +2518,7 @@ "tags": [ "productPricing" ], - "description": "Returns the lowest priced offers for a batch of items based on ASIN.\n\n**Usage Plan:**\n\n| Rate (requests per second) | Burst |\n| ---- | ---- |\n| 0.5 | 1 |\n\nThe `x-amzn-RateLimit-Limit` response header returns the usage plan rate limits that were applied to the requested operation, when available. The table above indicates the default rate and burst values for this operation. Selling partners whose business demands require higher throughput may see higher rate and burst values than those shown here. For more information, see [Usage Plans and Rate Limits in the Selling Partner API](doc:usage-plans-and-rate-limits-in-the-sp-api).", + "description": "Returns the lowest priced offers for a batch of items based on ASIN.\n\n**Usage Plan:**\n\n| Rate (requests per second) | Burst |\n| ---- | ---- |\n| 0.1 | 1 |\n\nThe `x-amzn-RateLimit-Limit` response header returns the usage plan rate limits that were applied to the requested operation, when available. The table above indicates the default rate and burst values for this operation. Selling partners whose business demands require higher throughput may see higher rate and burst values than those shown here. For more information, see [Usage Plans and Rate Limits in the Selling Partner API](https://developer-docs.amazon.com/sp-api/docs/usage-plans-and-rate-limits-in-the-sp-api).", "operationId": "getItemOffersBatch", "parameters": [ { From c3990afedd2998bf4489ff96d6776699a7eb762c Mon Sep 17 00:00:00 2001 From: Jack Evoniuk Date: Thu, 31 Aug 2023 09:33:50 -0700 Subject: [PATCH 172/340] Update transparency information in Orders and MFN --- .../merchant-fulfillment-api-model/merchantFulfillmentV0.json | 2 +- models/orders-api-model/ordersV0.json | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/models/merchant-fulfillment-api-model/merchantFulfillmentV0.json b/models/merchant-fulfillment-api-model/merchantFulfillmentV0.json index 593822700..3b9190181 100644 --- a/models/merchant-fulfillment-api-model/merchantFulfillmentV0.json +++ b/models/merchant-fulfillment-api-model/merchantFulfillmentV0.json @@ -3888,7 +3888,7 @@ }, "TransparencyCode": { "type": "string", - "description": "The Transparency code associated with the item." + "description": "The Transparency code associated with the item. The Transparency serial number that needs to be submitted can be determined by the following:\n\n**1D or 2D Barcode:** This has a **T** logo. Submit either the 29-character alpha-numeric identifier beginning with **AZ** or **ZA**, or the 38-character Serialized Global Trade Item Number (SGTIN).\n**2D Barcode SN:** Submit the 7- to 20-character serial number barcode, which likely has the prefix **SN**. The serial number will be applied to the same side of the packaging as the GTIN (UPC/EAN/ISBN) barcode.\n**QR code SN:** Submit the URL that the QR code generates." }, "TransparencyCodeList": { "type": "array", diff --git a/models/orders-api-model/ordersV0.json b/models/orders-api-model/ordersV0.json index fc8ac4daf..faccf71d8 100644 --- a/models/orders-api-model/ordersV0.json +++ b/models/orders-api-model/ordersV0.json @@ -4024,7 +4024,7 @@ }, "IsTransparency": { "type": "boolean", - "description": "When true, transparency codes are required." + "description": "When true, the ASIN is enrolled in Transparency and the Transparency serial number that needs to be submitted can be determined by the following:\n\n**1D or 2D Barcode:** This has a **T** logo. Submit either the 29-character alpha-numeric identifier beginning with **AZ** or **ZA**, or the 38-character Serialized Global Trade Item Number (SGTIN).\n**2D Barcode SN:** Submit the 7- to 20-character serial number barcode, which likely has the prefix **SN**. The serial number will be applied to the same side of the packaging as the GTIN (UPC/EAN/ISBN) barcode.\n**QR code SN:** Submit the URL that the QR code generates." }, "IossNumber": { "type": "string", From 9be216399b5f8c284c1b353beb10fb1081d17756 Mon Sep 17 00:00:00 2001 From: Jack Evoniuk Date: Wed, 20 Sep 2023 09:28:15 -0700 Subject: [PATCH 173/340] Update Orders model --- models/orders-api-model/ordersV0.json | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/models/orders-api-model/ordersV0.json b/models/orders-api-model/ordersV0.json index faccf71d8..b6d2d8853 100644 --- a/models/orders-api-model/ordersV0.json +++ b/models/orders-api-model/ordersV0.json @@ -1,7 +1,7 @@ { "swagger": "2.0", "info": { - "description": "The Selling Partner API for Orders helps you programmatically retrieve order information. These APIs let you develop fast, flexible, custom applications in areas like order synchronization, order research, and demand-based decision support tools. The Orders API only supports orders that are less than two years old. Orders more than two years old will not show in the API response.", + "description": "The Selling Partner API for Orders helps you programmatically retrieve order information. These APIs let you develop fast, flexible, custom applications in areas like order synchronization, order research, and demand-based decision support tools.", "version": "v0", "title": "Selling Partner API for Orders", "contact": { @@ -3523,7 +3523,7 @@ }, "BuyerCompanyName": { "type": "string", - "description": "Company name of the destination address." + "description": "Company Name of the Buyer." }, "ShippingAddress": { "$ref": "#/definitions/Address" From 8759053c6ea2594f0bfd34d7381204ed8da6336e Mon Sep 17 00:00:00 2001 From: Gibran Waldron Date: Mon, 25 Sep 2023 10:51:26 -0700 Subject: [PATCH 174/340] Update the orders model for data archival FE. --- models/orders-api-model/ordersV0.json | 246 +++++++++++++++++++++++++- 1 file changed, 245 insertions(+), 1 deletion(-) diff --git a/models/orders-api-model/ordersV0.json b/models/orders-api-model/ordersV0.json index b6d2d8853..3a2a72b52 100644 --- a/models/orders-api-model/ordersV0.json +++ b/models/orders-api-model/ordersV0.json @@ -1,7 +1,7 @@ { "swagger": "2.0", "info": { - "description": "The Selling Partner API for Orders helps you programmatically retrieve order information. These APIs let you develop fast, flexible, custom applications in areas like order synchronization, order research, and demand-based decision support tools.", + "description": "The Selling Partner API for Orders helps you programmatically retrieve order information. These APIs let you develop fast, flexible, custom applications in areas like order synchronization, order research, and demand-based decision support tools. The Orders API supports orders that are two years old or less. Orders more than two years old will not show in the API response.\n\n_Note:_ The Orders API supports orders from 2016 and after for the JP, AU, and SG marketplaces.", "version": "v0", "title": "Selling Partner API for Orders", "contact": { @@ -180,6 +180,34 @@ "description": "The store chain store identifier. Linked to a specific store in a store chain.", "required": false, "type": "string" + }, + { + "name": "EarliestDeliveryDateBefore", + "in": "query", + "description": "A date used for selecting orders with a earliest delivery date before (or at) a specified time. The date must be in ISO 8601 format.", + "required": false, + "type": "string" + }, + { + "name": "EarliestDeliveryDateAfter", + "in": "query", + "description": "A date used for selecting orders with a earliest delivery date after (or at) a specified time. The date must be in ISO 8601 format.", + "required": false, + "type": "string" + }, + { + "name": "LatestDeliveryDateBefore", + "in": "query", + "description": "A date used for selecting orders with a latest delivery date before (or at) a specified time. The date must be in ISO 8601 format.", + "required": false, + "type": "string" + }, + { + "name": "LatestDeliveryDateAfter", + "in": "query", + "description": "A date used for selecting orders with a latest delivery date after (or at) a specified time. The date must be in ISO 8601 format.", + "required": false, + "type": "string" } ], "responses": { @@ -4065,10 +4093,226 @@ "items": { "type": "string" } + }, + "SubstitutionPreferences": { + "description": "Substitution preferences for the order item. This is an optional field and will only be present if seller supports substitutions like in case of some grocery sellers.", + "$ref": "#/definitions/SubstitutionPreferences" + }, + "Measurement": { + "description": "Measurement information for the order item.", + "$ref": "#/definitions/Measurement" } }, "description": "A single order item." }, + "SubstitutionPreferences": { + "type": "object", + "required": [ + "SubstitutionType" + ], + "properties": { + "SubstitutionType": { + "type": "string", + "description": "The type of substitution that these preferences represent.", + "enum": [ + "CUSTOMER_PREFERENCE", + "AMAZON_RECOMMENDED", + "DO_NOT_SUBSTITUTE" + ], + "x-docgen-enum-table-extension": [ + { + "value": "CUSTOMER_PREFERENCE", + "description": "Customer has provided the substitution preferences." + }, + { + "value": "AMAZON_RECOMMENDED", + "description": "Amazon has provided the substitution preferences." + }, + { + "value": "DO_NOT_SUBSTITUTE", + "description": "Do not provide substitute if item is not found." + } + ] + }, + "SubstitutionOptions": { + "description": "Substitution options for the order item.", + "$ref": "#/definitions/SubstitutionOptionList" + } + } + }, + "SubstitutionOptionList": { + "type": "array", + "description": "A collection of substitution options.", + "items": { + "$ref": "#/definitions/SubstitutionOption" + } + }, + "SubstitutionOption": { + "type": "object", + "properties": { + "ASIN": { + "type": "string", + "description": "The Amazon Standard Identification Number (ASIN) of the item." + }, + "QuantityOrdered": { + "type": "integer", + "description": "The number of items to be picked for this substitution option. " + }, + "SellerSKU": { + "type": "string", + "description": "The seller stock keeping unit (SKU) of the item." + }, + "Title": { + "type": "string", + "description": "The title of the item." + }, + "Measurement": { + "description": "Measurement information for the substitution option.", + "$ref": "#/definitions/Measurement" + } + } + }, + "Measurement": { + "type": "object", + "required": [ + "Unit", + "Value" + ], + "properties": { + "Unit": { + "type": "string", + "description": "The unit of measure for this measurement.", + "enum": [ + "OUNCES", + "POUNDS", + "KILOGRAMS", + "GRAMS", + "MILLIGRAMS", + "INCHES", + "FEET", + "METERS", + "CENTIMETERS", + "MILLIMETERS", + "SQUARE_METERS", + "SQUARE_CENTIMETERS", + "SQUARE_FEET", + "SQUARE_INCHES", + "GALLONS", + "PINTS", + "QUARTS", + "FLUID_OUNCES", + "LITERS", + "CUBIC_METERS", + "CUBIC_FEET", + "CUBIC_INCHES", + "CUBIC_CENTIMETERS", + "COUNT" + ], + "x-docgen-enum-table-extension": [ + { + "value": "OUNCES", + "description": "Indicates the item's measurement is measured in ounces." + }, + { + "value": "POUNDS", + "description": "Indicates the item's measurement is measured in pounds." + }, + { + "value": "KILOGRAMS", + "description": "Indicates the item's measurement is measured in kilograms." + }, + { + "value": "GRAMS", + "description": "Indicates the item's measurement is measured in grams." + }, + { + "value": "MILLIGRAMS", + "description": "Indicates the item's measurement is measured in milligrams." + }, + { + "value": "INCHES", + "description": "Indicates the item's measurement is measured in inches." + }, + { + "value": "FEET", + "description": "Indicates the item's measurement is measured in feet." + }, + { + "value": "METERS", + "description": "Indicates the item's measurement is measured in meters." + }, + { + "value": "CENTIMETERS", + "description": "Indicates the item's measurement is measured in centimeters." + }, + { + "value": "MILLIMETERS", + "description": "Indicates the item's measurement is measured in millimeters." + }, + { + "value": "SQUARE_METERS", + "description": "Indicates the item's measurement is measured in square meters." + }, + { + "value": "SQUARE_CENTIMETERS", + "description": "Indicates the item's measurement is measured in square centimeters." + }, + { + "value": "SQUARE_FEET", + "description": "Indicates the item's measurement is measured in square feet." + }, + { + "value": "SQUARE_INCHES", + "description": "Indicates the item's measurement is measured in square inches." + }, + { + "value": "GALLONS", + "description": "Indicates the item's measurement is measured in gallons." + }, + { + "value": "PINTS", + "description": "Indicates the item's measurement is measured in pints." + }, + { + "value": "QUARTS", + "description": "Indicates the item's measurement is measured in quarts." + }, + { + "value": "FLUID_OUNCES", + "description": "Indicates the item's measurement is measured in fluid ounces." + }, + { + "value": "LITERS", + "description": "Indicates the item's measurement is measured in liters." + }, + { + "value": "CUBIC_METERS", + "description": "Indicates the item's measurement is measured in cubic meters." + }, + { + "value": "CUBIC_FEET", + "description": "Indicates the item's measurement is measured in cubic feet." + }, + { + "value": "CUBIC_INCHES", + "description": "Indicates the item's measurement is measured in cubic inches." + }, + { + "value": "CUBIC_CENTIMETERS", + "description": "Indicates the item's measurement is measured in cubic centimeters." + }, + { + "value": "COUNT", + "description": "Indicates the item's measurement is measured by count." + } + ] + }, + "Value": { + "type": "number", + "description": "The value of the measurement." + } + } + }, "OrderItemsBuyerInfoList": { "type": "object", "required": [ From 2424463e8bb23b1ec23e0a70309d75668d802ee5 Mon Sep 17 00:00:00 2001 From: Meena Peri Date: Fri, 29 Sep 2023 17:37:57 -0500 Subject: [PATCH 175/340] Java Auth and auth lib changes --- clients/sellingpartner-api-aa-java/README.md | 50 ++-- clients/sellingpartner-api-aa-java/pom.xml | 2 +- .../resources/java/config.json | 3 + .../templates/ApiClient.mustache | 21 +- .../swagger-codegen/templates/api.mustache | 55 +--- .../templates/api_test.mustache | 46 ++++ .../AWSAuthenticationCredentials.java | 30 --- .../AWSAuthenticationCredentialsProvider.java | 23 -- ...thenticationCustomCredentialsProvider.java | 23 -- .../SellingPartnerAPIAA/AWSSigV4Signer.java | 109 -------- .../LWAAuthorizationSigner.java | 3 +- .../amazon/SellingPartnerAPIAA/LWAClient.java | 53 ++-- .../SellingPartnerAPIAA/LWAException.java | 45 ++++ .../LWAExceptionErrorCode.java | 13 + .../SignableRequestImpl.java | 148 ----------- .../AWSSigV4SignerTest.java | 148 ----------- .../LWAAuthorizationSignerTest.java | 8 +- .../SellingPartnerAPIAA/LWAClientTest.java | 74 +++++- .../SignableRequestImplTest.java | 247 ------------------ 19 files changed, 240 insertions(+), 861 deletions(-) create mode 100644 clients/sellingpartner-api-aa-java/resources/java/config.json create mode 100644 clients/sellingpartner-api-aa-java/resources/swagger-codegen/templates/api_test.mustache delete mode 100644 clients/sellingpartner-api-aa-java/src/com/amazon/SellingPartnerAPIAA/AWSAuthenticationCredentials.java delete mode 100644 clients/sellingpartner-api-aa-java/src/com/amazon/SellingPartnerAPIAA/AWSAuthenticationCredentialsProvider.java delete mode 100644 clients/sellingpartner-api-aa-java/src/com/amazon/SellingPartnerAPIAA/AWSAuthenticationCustomCredentialsProvider.java delete mode 100644 clients/sellingpartner-api-aa-java/src/com/amazon/SellingPartnerAPIAA/AWSSigV4Signer.java create mode 100644 clients/sellingpartner-api-aa-java/src/com/amazon/SellingPartnerAPIAA/LWAException.java create mode 100644 clients/sellingpartner-api-aa-java/src/com/amazon/SellingPartnerAPIAA/LWAExceptionErrorCode.java delete mode 100644 clients/sellingpartner-api-aa-java/src/com/amazon/SellingPartnerAPIAA/SignableRequestImpl.java delete mode 100644 clients/sellingpartner-api-aa-java/tst/com/amazon/SellingPartnerAPIAA/AWSSigV4SignerTest.java delete mode 100644 clients/sellingpartner-api-aa-java/tst/com/amazon/SellingPartnerAPIAA/SignableRequestImplTest.java diff --git a/clients/sellingpartner-api-aa-java/README.md b/clients/sellingpartner-api-aa-java/README.md index 1b9acfd91..169dd2fde 100644 --- a/clients/sellingpartner-api-aa-java/README.md +++ b/clients/sellingpartner-api-aa-java/README.md @@ -38,39 +38,6 @@ com.squareup.okhttp.Request signedRequest = new LWAAuthorizationSigner(lwaAuthor .sign(request); ``` -## AWSSigV4Signer -Signs a request with [AWS Signature Version 4](https://docs.aws.amazon.com/general/latest/gr/signature-version-4.html) -using the provided AWS developer account credentials. - -*Example* -``` -com.squareup.okhttp.Request request = new Request.Builder() - .url(...) - ... - .build(); - -AWSAuthenticationCredentials awsAuthenticationCredentials = AWSAuthenticationCredentials.builder() - .accessKeyId("...") - .secretKey("...") - .region("...") - .build(); - -com.squareup.okhttp.Request signedRequest = new AWSSigV4Signer(awsAuthenticationCredentials) - .sign(request); - -/*Signs request using IAM role credentials. - -AWSAuthenticationCredentialsProvider awsAuthenticationCredentialsProvider = AWSAuthenticationCredentialsProvider.builder() - .roleArn("...") - .roleSessionName("...") - .build(); - -com.squareup.okhttp.Request signedRequest = new - AWSSigV4Signer(awsAuthenticationCredentialsProvider.getCredentials()) - .sign(request); - -``` - ## LWAAccessTokenCache Interface to implement cache for access token that is returned in LWAClient and reuse the access token until time to live. @@ -79,7 +46,6 @@ Interface to set and get rateLimit configurations that are used with RateLimiter *Example* ``` - com.squareup.okhttp.Request request = new Request.Builder() .url(...) ... @@ -89,8 +55,22 @@ com.squareup.okhttp.Request request = new Request.Builder() .rateLimitPermit(...) .waitTimeOutInMilliSeconds(...) .build(); - ``` +## Exception +This package returns a custom LWAException when there is an error returned during LWA authorization. LWAException provides additional details like errorCode and errorDescription to help fix the issue. + +*Example* +``` + catch (LWAException e) { + System.err.println("LWA Exception when calling Selling partner API"); + System.err.println(e.getErrorCode()); + System.err.println(e.getErrorMessage()); + e.printStackTrace(); + } +``` + +## Version +Selling Partner API Authentication/Authorization Library version 2.0. ## Resources This package features Mustache templates designed for use with [swagger codegen](https://swagger.io/tools/swagger-codegen/). diff --git a/clients/sellingpartner-api-aa-java/pom.xml b/clients/sellingpartner-api-aa-java/pom.xml index 8ead67f12..782a6356c 100644 --- a/clients/sellingpartner-api-aa-java/pom.xml +++ b/clients/sellingpartner-api-aa-java/pom.xml @@ -6,7 +6,7 @@ com.amazon.sellingpartnerapi sellingpartnerapi-aa-java jar - 1.0 + 2.0 diff --git a/clients/sellingpartner-api-aa-java/resources/java/config.json b/clients/sellingpartner-api-aa-java/resources/java/config.json new file mode 100644 index 000000000..bda9b9a31 --- /dev/null +++ b/clients/sellingpartner-api-aa-java/resources/java/config.json @@ -0,0 +1,3 @@ +{ + "artifactVersion": "2.0" +} \ No newline at end of file diff --git a/clients/sellingpartner-api-aa-java/resources/swagger-codegen/templates/ApiClient.mustache b/clients/sellingpartner-api-aa-java/resources/swagger-codegen/templates/ApiClient.mustache index 993d2e249..6d6c6b56c 100644 --- a/clients/sellingpartner-api-aa-java/resources/swagger-codegen/templates/ApiClient.mustache +++ b/clients/sellingpartner-api-aa-java/resources/swagger-codegen/templates/ApiClient.mustache @@ -51,10 +51,10 @@ import {{invokerPackage}}.auth.HttpBasicAuth; import {{invokerPackage}}.auth.ApiKeyAuth; import {{invokerPackage}}.auth.OAuth; -import com.amazon.SellingPartnerAPIAA.AWSSigV4Signer; import com.amazon.SellingPartnerAPIAA.LWAAuthorizationSigner; import com.google.common.util.concurrent.RateLimiter; import com.amazon.SellingPartnerAPIAA.RateLimitConfiguration; +import com.amazon.SellingPartnerAPIAA.LWAException; public class ApiClient { @@ -79,7 +79,6 @@ public class ApiClient { private HttpLoggingInterceptor loggingInterceptor; private LWAAuthorizationSigner lwaAuthorizationSigner; - private AWSSigV4Signer awsSigV4Signer; private RateLimiter rateLimiter; private RateLimitConfiguration rateLimitConfiguration; @@ -496,17 +495,6 @@ public class ApiClient { this.lwaAuthorizationSigner = lwaAuthorizationSigner; return this; } - - /** - * Sets the AWSSigV4Signer - * - * @param awsSigV4Signer AWSSigV4Signer instance - * @return Api client - */ - public ApiClient setAWSSigV4Signer(AWSSigV4Signer awsSigV4Signer) { - this.awsSigV4Signer = awsSigV4Signer; - return this; - } /** * Sets the RateLimiter @@ -985,8 +973,9 @@ public class ApiClient { * @param progressRequestListener Progress request listener * @return The HTTP call * @throws ApiException If fail to serialize the request body object + * @throws LWAException If calls to fetch LWA access token fails */ - public Call buildCall(String path, String method, List queryParams, List collectionQueryParams, Object body, Map headerParams, Map formParams, String[] authNames, ProgressRequestBody.ProgressRequestListener progressRequestListener) throws ApiException { + public Call buildCall(String path, String method, List queryParams, List collectionQueryParams, Object body, Map headerParams, Map formParams, String[] authNames, ProgressRequestBody.ProgressRequestListener progressRequestListener) throws ApiException, LWAException { Request request = buildRequest(path, method, queryParams, collectionQueryParams, body, headerParams, formParams, authNames, progressRequestListener); return httpClient.newCall(request); @@ -1006,8 +995,9 @@ public class ApiClient { * @param progressRequestListener Progress request listener * @return The HTTP request * @throws ApiException If fail to serialize the request body object + * @throws LWAException If calls to fetch LWA access token fails */ - public Request buildRequest(String path, String method, List queryParams, List collectionQueryParams, Object body, Map headerParams, Map formParams, String[] authNames, ProgressRequestBody.ProgressRequestListener progressRequestListener) throws ApiException { + public Request buildRequest(String path, String method, List queryParams, List collectionQueryParams, Object body, Map headerParams, Map formParams, String[] authNames, ProgressRequestBody.ProgressRequestListener progressRequestListener) throws ApiException, LWAException { updateParamsForAuth(authNames, queryParams, headerParams); final String url = buildUrl(path, queryParams, collectionQueryParams); @@ -1049,7 +1039,6 @@ public class ApiClient { } request = lwaAuthorizationSigner.sign(request); - request = awsSigV4Signer.sign(request); return request; } diff --git a/clients/sellingpartner-api-aa-java/resources/swagger-codegen/templates/api.mustache b/clients/sellingpartner-api-aa-java/resources/swagger-codegen/templates/api.mustache index 8850f1a98..63cab3009 100644 --- a/clients/sellingpartner-api-aa-java/resources/swagger-codegen/templates/api.mustache +++ b/clients/sellingpartner-api-aa-java/resources/swagger-codegen/templates/api.mustache @@ -43,15 +43,12 @@ import java.util.List; import java.util.Map; {{/fullJavaUtil}} -import com.amazon.SellingPartnerAPIAA.AWSAuthenticationCredentials; -import com.amazon.SellingPartnerAPIAA.AWSAuthenticationCredentialsProvider; -import com.amazon.SellingPartnerAPIAA.AWSAuthenticationCustomCredentialsProvider; -import com.amazon.SellingPartnerAPIAA.AWSSigV4Signer; import com.amazon.SellingPartnerAPIAA.LWAAccessTokenCache; import com.amazon.SellingPartnerAPIAA.LWAAccessTokenCacheImpl; import com.amazon.SellingPartnerAPIAA.LWAAuthorizationCredentials; import com.amazon.SellingPartnerAPIAA.LWAAuthorizationSigner; import com.amazon.SellingPartnerAPIAA.RateLimitConfiguration; +import com.amazon.SellingPartnerAPIAA.LWAException; {{#operations}} public class {{classname}} { @@ -81,6 +78,7 @@ public class {{classname}} { * @param progressRequestListener Progress request listener * @return Call to execute * @throws ApiException If fail to serialize the request body object + * @throws LWAException If calls to fetch LWA access token fails {{#isDeprecated}} * @deprecated {{/isDeprecated}} @@ -92,7 +90,7 @@ public class {{classname}} { {{#isDeprecated}} @Deprecated {{/isDeprecated}} - public com.squareup.okhttp.Call {{operationId}}Call({{#allParams}}{{{dataType}}} {{paramName}}, {{/allParams}}final ProgressResponseBody.ProgressListener progressListener, final ProgressRequestBody.ProgressRequestListener progressRequestListener) throws ApiException { + public com.squareup.okhttp.Call {{operationId}}Call({{#allParams}}{{{dataType}}} {{paramName}}, {{/allParams}}final ProgressResponseBody.ProgressListener progressListener, final ProgressRequestBody.ProgressRequestListener progressRequestListener) throws ApiException, LWAException { Object {{localVariablePrefix}}localVarPostBody = {{#bodyParam}}{{paramName}}{{/bodyParam}}{{^bodyParam}}null{{/bodyParam}}; // create path and map variables @@ -144,7 +142,7 @@ public class {{classname}} { @Deprecated {{/isDeprecated}} @SuppressWarnings("rawtypes") - private com.squareup.okhttp.Call {{operationId}}ValidateBeforeCall({{#allParams}}{{{dataType}}} {{paramName}}, {{/allParams}}final ProgressResponseBody.ProgressListener progressListener, final ProgressRequestBody.ProgressRequestListener progressRequestListener) throws ApiException { + private com.squareup.okhttp.Call {{operationId}}ValidateBeforeCall({{#allParams}}{{{dataType}}} {{paramName}}, {{/allParams}}final ProgressResponseBody.ProgressListener progressListener, final ProgressRequestBody.ProgressRequestListener progressRequestListener) throws ApiException, LWAException { {{^performBeanValidation}} {{#allParams}}{{#required}} // verify the required parameter '{{paramName}}' is set @@ -191,6 +189,7 @@ public class {{classname}} { * @param {{paramName}} {{description}}{{#required}} (required){{/required}}{{^required}} (optional{{#defaultValue}}, default to {{{.}}}{{/defaultValue}}){{/required}}{{/allParams}}{{#returnType}} * @return {{returnType}}{{/returnType}} * @throws ApiException If fail to call the API, e.g. server error or cannot deserialize the response body + * @throws LWAException If calls to fetch LWA access token fails {{#isDeprecated}} * @deprecated {{/isDeprecated}} @@ -202,7 +201,7 @@ public class {{classname}} { {{#isDeprecated}} @Deprecated {{/isDeprecated}} - public {{#returnType}}{{{returnType}}} {{/returnType}}{{^returnType}}void {{/returnType}}{{operationId}}({{#allParams}}{{{dataType}}} {{paramName}}{{#hasMore}}, {{/hasMore}}{{/allParams}}) throws ApiException { + public {{#returnType}}{{{returnType}}} {{/returnType}}{{^returnType}}void {{/returnType}}{{operationId}}({{#allParams}}{{{dataType}}} {{paramName}}{{#hasMore}}, {{/hasMore}}{{/allParams}}) throws ApiException,LWAException { {{#returnType}}ApiResponse<{{{returnType}}}> {{localVariablePrefix}}resp = {{/returnType}}{{operationId}}WithHttpInfo({{#allParams}}{{paramName}}{{#hasMore}}, {{/hasMore}}{{/allParams}});{{#returnType}} return {{localVariablePrefix}}resp.getData();{{/returnType}} } @@ -213,6 +212,7 @@ public class {{classname}} { * @param {{paramName}} {{description}}{{#required}} (required){{/required}}{{^required}} (optional{{#defaultValue}}, default to {{{.}}}{{/defaultValue}}){{/required}}{{/allParams}} * @return ApiResponse<{{#returnType}}{{returnType}}{{/returnType}}{{^returnType}}Void{{/returnType}}> * @throws ApiException If fail to call the API, e.g. server error or cannot deserialize the response body + * @throws LWAException If calls to fetch LWA access token fails {{#isDeprecated}} * @deprecated {{/isDeprecated}} @@ -224,7 +224,7 @@ public class {{classname}} { {{#isDeprecated}} @Deprecated {{/isDeprecated}} - public ApiResponse<{{#returnType}}{{{returnType}}}{{/returnType}}{{^returnType}}Void{{/returnType}}> {{operationId}}WithHttpInfo({{#allParams}}{{#useBeanValidation}}{{>beanValidationQueryParams}}{{/useBeanValidation}}{{{dataType}}} {{paramName}}{{#hasMore}}, {{/hasMore}}{{/allParams}}) throws ApiException { + public ApiResponse<{{#returnType}}{{{returnType}}}{{/returnType}}{{^returnType}}Void{{/returnType}}> {{operationId}}WithHttpInfo({{#allParams}}{{#useBeanValidation}}{{>beanValidationQueryParams}}{{/useBeanValidation}}{{{dataType}}} {{paramName}}{{#hasMore}}, {{/hasMore}}{{/allParams}}) throws ApiException,LWAException { com.squareup.okhttp.Call {{localVariablePrefix}}call = {{operationId}}ValidateBeforeCall({{#allParams}}{{paramName}}, {{/allParams}}null, null); {{#returnType}}Type {{localVariablePrefix}}localVarReturnType = new TypeToken<{{{returnType}}}>(){}.getType(); return {{localVariablePrefix}}apiClient.execute({{localVariablePrefix}}call, {{localVariablePrefix}}localVarReturnType);{{/returnType}}{{^returnType}}return {{localVariablePrefix}}apiClient.execute({{localVariablePrefix}}call);{{/returnType}} @@ -237,6 +237,7 @@ public class {{classname}} { * @param callback The callback to be executed when the API call finishes * @return The request call * @throws ApiException If fail to process the API call, e.g. serializing the request body object + * @throws LWAException If calls to fetch LWA access token fails {{#isDeprecated}} * @deprecated {{/isDeprecated}} @@ -248,7 +249,7 @@ public class {{classname}} { {{#isDeprecated}} @Deprecated {{/isDeprecated}} - public com.squareup.okhttp.Call {{operationId}}Async({{#allParams}}{{{dataType}}} {{paramName}}, {{/allParams}}final ApiCallback<{{#returnType}}{{{returnType}}}{{/returnType}}{{^returnType}}Void{{/returnType}}> {{localVariablePrefix}}callback) throws ApiException { + public com.squareup.okhttp.Call {{operationId}}Async({{#allParams}}{{{dataType}}} {{paramName}}, {{/allParams}}final ApiCallback<{{#returnType}}{{{returnType}}}{{/returnType}}{{^returnType}}Void{{/returnType}}> {{localVariablePrefix}}callback) throws ApiException, LWAException { ProgressResponseBody.ProgressListener progressListener = null; ProgressRequestBody.ProgressRequestListener progressRequestListener = null; @@ -277,19 +278,12 @@ public class {{classname}} { {{/operation}} public static class Builder { - private AWSAuthenticationCredentials awsAuthenticationCredentials; private LWAAuthorizationCredentials lwaAuthorizationCredentials; private String endpoint; private LWAAccessTokenCache lwaAccessTokenCache; private Boolean disableAccessTokenCache = false; - private AWSAuthenticationCredentialsProvider awsAuthenticationCredentialsProvider; private RateLimitConfiguration rateLimitConfiguration; - private AWSAuthenticationCustomCredentialsProvider awsAuthenticationCustomCredentialsProvider; - public Builder awsAuthenticationCredentials(AWSAuthenticationCredentials awsAuthenticationCredentials) { - this.awsAuthenticationCredentials = awsAuthenticationCredentials; - return this; - } public Builder lwaAuthorizationCredentials(LWAAuthorizationCredentials lwaAuthorizationCredentials) { this.lwaAuthorizationCredentials = lwaAuthorizationCredentials; @@ -310,12 +304,7 @@ public class {{classname}} { this.disableAccessTokenCache = true; return this; } - - public Builder awsAuthenticationCredentialsProvider(AWSAuthenticationCredentialsProvider awsAuthenticationCredentialsProvider) { - this.awsAuthenticationCredentialsProvider = awsAuthenticationCredentialsProvider; - return this; - } - + public Builder rateLimitConfigurationOnRequests(RateLimitConfiguration rateLimitConfiguration){ this.rateLimitConfiguration = rateLimitConfiguration; return this; @@ -326,17 +315,7 @@ public class {{classname}} { return this; } - public Builder awsAuthenticationCustomCredentialsProvider(AWSAuthenticationCustomCredentialsProvider awsAuthenticationCustomCredentialsProvider) { - this.awsAuthenticationCustomCredentialsProvider = awsAuthenticationCustomCredentialsProvider; - return this; - } - - public {{classname}} build() { - if (awsAuthenticationCredentials == null && awsAuthenticationCustomCredentialsProvider == null) { - throw new RuntimeException("Neither AWSAuthenticationCredentials or AWSAuthenticationCustomCredentialsProvider are set"); - } - if (lwaAuthorizationCredentials == null) { throw new RuntimeException("LWAAuthorizationCredentials not set"); } @@ -344,17 +323,6 @@ public class {{classname}} { if (StringUtil.isEmpty(endpoint)) { throw new RuntimeException("Endpoint not set"); } - - AWSSigV4Signer awsSigV4Signer; - if (awsAuthenticationCustomCredentialsProvider != null ) { - awsSigV4Signer = new AWSSigV4Signer(awsAuthenticationCustomCredentialsProvider); - } - else if (awsAuthenticationCredentialsProvider == null) { - awsSigV4Signer = new AWSSigV4Signer(awsAuthenticationCredentials); - } - else { - awsSigV4Signer = new AWSSigV4Signer(awsAuthenticationCredentials,awsAuthenticationCredentialsProvider); - } LWAAuthorizationSigner lwaAuthorizationSigner = null; if (disableAccessTokenCache) { @@ -368,7 +336,6 @@ public class {{classname}} { } return new {{classname}}(new ApiClient() - .setAWSSigV4Signer(awsSigV4Signer) .setLWAAuthorizationSigner(lwaAuthorizationSigner) .setBasePath(endpoint) .setRateLimiter(rateLimitConfiguration)); diff --git a/clients/sellingpartner-api-aa-java/resources/swagger-codegen/templates/api_test.mustache b/clients/sellingpartner-api-aa-java/resources/swagger-codegen/templates/api_test.mustache new file mode 100644 index 000000000..caddb1a6e --- /dev/null +++ b/clients/sellingpartner-api-aa-java/resources/swagger-codegen/templates/api_test.mustache @@ -0,0 +1,46 @@ +{{>licenseInfo}} + +package {{package}}; + +import {{invokerPackage}}.ApiException; +{{#imports}}import {{import}}; +{{/imports}} +import org.junit.Test; +import org.junit.Ignore; + +{{^fullJavaUtil}} +import java.util.ArrayList; +import java.util.HashMap; +import java.util.List; +import java.util.Map; +{{/fullJavaUtil}} +import com.amazon.SellingPartnerAPIAA.LWAException; + +/** +* API tests for {{classname}} +*/ +@Ignore +public class {{classname}}Test { + +private final {{classname}} api = new {{classname}}(); + +{{#operations}}{{#operation}} +/** +* {{summary}} +* +* {{notes}} +* +* @throws ApiException if the Api call fails +* @throws LWAException If calls to fetch LWA access token fails +*/ +@Test +public void {{operationId}}Test() throws ApiException, LWAException { +{{#allParams}} + {{{dataType}}} {{paramName}} = null; +{{/allParams}} +{{#returnType}}{{{returnType}}} response = {{/returnType}}api.{{operationId}}({{#allParams}}{{paramName}}{{#hasMore}}, {{/hasMore}}{{/allParams}}); + +// TODO: test validations +} +{{/operation}}{{/operations}} +} \ No newline at end of file diff --git a/clients/sellingpartner-api-aa-java/src/com/amazon/SellingPartnerAPIAA/AWSAuthenticationCredentials.java b/clients/sellingpartner-api-aa-java/src/com/amazon/SellingPartnerAPIAA/AWSAuthenticationCredentials.java deleted file mode 100644 index 6a7026f85..000000000 --- a/clients/sellingpartner-api-aa-java/src/com/amazon/SellingPartnerAPIAA/AWSAuthenticationCredentials.java +++ /dev/null @@ -1,30 +0,0 @@ -package com.amazon.SellingPartnerAPIAA; - -import lombok.Builder; -import lombok.Data; -import lombok.NonNull; - -/** - * AWSAuthenticationCredentials - */ -@Data -@Builder -public class AWSAuthenticationCredentials { - /** - * AWS IAM User Access Key Id - */ - @NonNull - private String accessKeyId; - - /** - * AWS IAM User Secret Key - */ - @NonNull - private String secretKey; - - /** - * AWS Region - */ - @NonNull - private String region; -} diff --git a/clients/sellingpartner-api-aa-java/src/com/amazon/SellingPartnerAPIAA/AWSAuthenticationCredentialsProvider.java b/clients/sellingpartner-api-aa-java/src/com/amazon/SellingPartnerAPIAA/AWSAuthenticationCredentialsProvider.java deleted file mode 100644 index c3496bdab..000000000 --- a/clients/sellingpartner-api-aa-java/src/com/amazon/SellingPartnerAPIAA/AWSAuthenticationCredentialsProvider.java +++ /dev/null @@ -1,23 +0,0 @@ -package com.amazon.SellingPartnerAPIAA; - -import lombok.Builder; -import lombok.Data; - -/** - * AWSAuthenticationCredentialsProvider - */ -@Data -@Builder -public class AWSAuthenticationCredentialsProvider { - /** - * AWS IAM Role ARN - */ - private String roleArn; - - /** - * AWS IAM Role Session Name - */ - private String roleSessionName; - - private String region; -} diff --git a/clients/sellingpartner-api-aa-java/src/com/amazon/SellingPartnerAPIAA/AWSAuthenticationCustomCredentialsProvider.java b/clients/sellingpartner-api-aa-java/src/com/amazon/SellingPartnerAPIAA/AWSAuthenticationCustomCredentialsProvider.java deleted file mode 100644 index 76d90b543..000000000 --- a/clients/sellingpartner-api-aa-java/src/com/amazon/SellingPartnerAPIAA/AWSAuthenticationCustomCredentialsProvider.java +++ /dev/null @@ -1,23 +0,0 @@ -package com.amazon.SellingPartnerAPIAA; - -import lombok.Builder; -import lombok.Data; - -import com.amazonaws.auth.AWSCredentialsProvider; - -/** - * AWSAuthenticationCustomCredentialsProvider - */ -@Data -@Builder -public class AWSAuthenticationCustomCredentialsProvider { - /** - * AWS Region - */ - private String region; - - /** - * AWS Credentials Provider - */ - private AWSCredentialsProvider awsCredentialsProvider; -} diff --git a/clients/sellingpartner-api-aa-java/src/com/amazon/SellingPartnerAPIAA/AWSSigV4Signer.java b/clients/sellingpartner-api-aa-java/src/com/amazon/SellingPartnerAPIAA/AWSSigV4Signer.java deleted file mode 100644 index 5fccb767a..000000000 --- a/clients/sellingpartner-api-aa-java/src/com/amazon/SellingPartnerAPIAA/AWSSigV4Signer.java +++ /dev/null @@ -1,109 +0,0 @@ -package com.amazon.SellingPartnerAPIAA; - -import com.amazonaws.SignableRequest; -import com.amazonaws.auth.AWS4Signer; -import com.amazonaws.auth.AWSCredentials; -import com.amazonaws.auth.AWSCredentialsProvider; -import com.amazonaws.auth.BasicAWSCredentials; -import com.squareup.okhttp.Request; -import lombok.AccessLevel; -import lombok.Getter; -import lombok.Setter; -import com.amazonaws.auth.STSAssumeRoleSessionCredentialsProvider; -import com.amazonaws.services.securitytoken.AWSSecurityTokenServiceClientBuilder; -import com.amazonaws.auth.AWSStaticCredentialsProvider; - -/** - * AWS Signature Version 4 Signer - */ -public class AWSSigV4Signer { - private static final String SERVICE_NAME = "execute-api"; - - @Setter(AccessLevel.PACKAGE) - @Getter(AccessLevel.PACKAGE) - private AWS4Signer aws4Signer; - - private AWSCredentials awsCredentials; - - @Setter(AccessLevel.PACKAGE) - @Getter(AccessLevel.PACKAGE) - private AWSCredentialsProvider awsCredentialsProvider; - - /** - * - * @param awsAuthenticationCredentials AWS Developer Account Credentials - */ - public AWSSigV4Signer(AWSAuthenticationCredentials awsAuthenticationCredentials) { - aws4Signer = new AWS4Signer(); - aws4Signer.setServiceName(SERVICE_NAME); - aws4Signer.setRegionName(awsAuthenticationCredentials.getRegion()); - awsCredentials = new BasicAWSCredentials(awsAuthenticationCredentials.getAccessKeyId(), - awsAuthenticationCredentials.getSecretKey()); - } - - /** - * - * @param awsAuthenticationCredentials and awsAuthenticationCredentialsProvider AWS Developer Account Credentials - */ - public AWSSigV4Signer(AWSAuthenticationCredentials awsAuthenticationCredentials, - AWSAuthenticationCredentialsProvider awsAuthenticationCredentialsProvider) { - aws4Signer = new AWS4Signer(); - aws4Signer.setServiceName(SERVICE_NAME); - - final String region; - AWSSecurityTokenServiceClientBuilder stsClientBuilder = AWSSecurityTokenServiceClientBuilder.standard(); - - if (awsAuthenticationCredentials != null) { - region = awsAuthenticationCredentials.getRegion(); - BasicAWSCredentials awsBasicCredentials = new BasicAWSCredentials( - awsAuthenticationCredentials.getAccessKeyId(), - awsAuthenticationCredentials.getSecretKey() - ); - stsClientBuilder.withCredentials(new AWSStaticCredentialsProvider(awsBasicCredentials)); - } else { - region = awsAuthenticationCredentialsProvider.getRegion(); - } - - aws4Signer.setRegionName(region); - awsCredentialsProvider = new STSAssumeRoleSessionCredentialsProvider.Builder( - awsAuthenticationCredentialsProvider.getRoleArn(), - awsAuthenticationCredentialsProvider.getRoleSessionName()) - .withStsClient(stsClientBuilder.withRegion(region).build()) - .build(); - } - - /** - * - * @param awsAuthenticationCustomCredentialsProvider AWS Credentials Provider - */ - public AWSSigV4Signer(AWSAuthenticationCustomCredentialsProvider awsAuthenticationCustomCredentialsProvider) { - aws4Signer = new AWS4Signer(); - aws4Signer.setServiceName(SERVICE_NAME); - aws4Signer.setRegionName(awsAuthenticationCustomCredentialsProvider.getRegion()); - this.awsCredentialsProvider = awsAuthenticationCustomCredentialsProvider.getAwsCredentialsProvider(); - } - - /** - * - * @param awsAuthenticationCredentialsProvider AWS Credentials Provider containing the role name to be assumed - */ - public AWSSigV4Signer(AWSAuthenticationCredentialsProvider awsAuthenticationCredentialsProvider) { - this(null, awsAuthenticationCredentialsProvider); - } - - /** - * Signs a Request with AWS Signature Version 4 - * - * @param originalRequest Request to sign (treated as immutable) - * @return Copy of originalRequest with AWS Signature - */ - public Request sign(Request originalRequest) { - SignableRequest signableRequest = new SignableRequestImpl(originalRequest); - if (awsCredentialsProvider != null) { - aws4Signer.sign(signableRequest, awsCredentialsProvider.getCredentials()); - } else { - aws4Signer.sign(signableRequest, awsCredentials); - } - return (Request) signableRequest.getOriginalRequestObject(); - } -} diff --git a/clients/sellingpartner-api-aa-java/src/com/amazon/SellingPartnerAPIAA/LWAAuthorizationSigner.java b/clients/sellingpartner-api-aa-java/src/com/amazon/SellingPartnerAPIAA/LWAAuthorizationSigner.java index 26cc1c480..b3d64093b 100644 --- a/clients/sellingpartner-api-aa-java/src/com/amazon/SellingPartnerAPIAA/LWAAuthorizationSigner.java +++ b/clients/sellingpartner-api-aa-java/src/com/amazon/SellingPartnerAPIAA/LWAAuthorizationSigner.java @@ -64,8 +64,9 @@ public LWAAuthorizationSigner(LWAAuthorizationCredentials lwaAuthorizationCreden * Signs a Request with an LWA Access Token * @param originalRequest Request to sign (treated as immutable) * @return Copy of originalRequest with LWA signature + * @throws LWAException If calls to fetch LWA access token fails */ - public Request sign(Request originalRequest) { + public Request sign(Request originalRequest) throws LWAException { String accessToken = lwaClient.getAccessToken(lwaAccessTokenRequestMeta); return originalRequest.newBuilder() diff --git a/clients/sellingpartner-api-aa-java/src/com/amazon/SellingPartnerAPIAA/LWAClient.java b/clients/sellingpartner-api-aa-java/src/com/amazon/SellingPartnerAPIAA/LWAClient.java index 7ef428dcf..eb91ee1e4 100644 --- a/clients/sellingpartner-api-aa-java/src/com/amazon/SellingPartnerAPIAA/LWAClient.java +++ b/clients/sellingpartner-api-aa-java/src/com/amazon/SellingPartnerAPIAA/LWAClient.java @@ -11,8 +11,7 @@ import lombok.AccessLevel; import lombok.Getter; import lombok.Setter; - -import java.io.IOException; +import org.apache.commons.lang3.EnumUtils; class LWAClient { private static final String ACCESS_TOKEN_KEY = "access_token"; @@ -25,7 +24,9 @@ class LWAClient { private OkHttpClient okHttpClient; private LWAAccessTokenCache lwaAccessTokenCache; - /** Sets cache to store access token until token is expired */ + /** + * Sets cache to store access token until token is expired + */ public void setLWAAccessTokenCache(LWAAccessTokenCache tokenCache) { this.lwaAccessTokenCache = tokenCache; } @@ -33,46 +34,54 @@ public void setLWAAccessTokenCache(LWAAccessTokenCache tokenCache) { LWAClient(String endpoint) { okHttpClient = new OkHttpClient(); this.endpoint = endpoint; - } + } - String getAccessToken(LWAAccessTokenRequestMeta lwaAccessTokenRequestMeta) { + String getAccessToken(LWAAccessTokenRequestMeta lwaAccessTokenRequestMeta) throws LWAException { if (lwaAccessTokenCache != null) { - return getAccessTokenFromCache(lwaAccessTokenRequestMeta); + return getAccessTokenFromCache(lwaAccessTokenRequestMeta); } else { return getAccessTokenFromEndpoint(lwaAccessTokenRequestMeta); - } + } } - String getAccessTokenFromCache(LWAAccessTokenRequestMeta lwaAccessTokenRequestMeta) { + String getAccessTokenFromCache(LWAAccessTokenRequestMeta lwaAccessTokenRequestMeta) throws LWAException { String accessTokenCacheData = (String) lwaAccessTokenCache.get(lwaAccessTokenRequestMeta); if (accessTokenCacheData != null) { - return accessTokenCacheData; - } else { - return getAccessTokenFromEndpoint(lwaAccessTokenRequestMeta); - } + return accessTokenCacheData; + } else { + return getAccessTokenFromEndpoint(lwaAccessTokenRequestMeta); + } } - String getAccessTokenFromEndpoint(LWAAccessTokenRequestMeta lwaAccessTokenRequestMeta) { + String getAccessTokenFromEndpoint(LWAAccessTokenRequestMeta lwaAccessTokenRequestMeta) throws LWAException { RequestBody requestBody = RequestBody.create(JSON_MEDIA_TYPE, new Gson().toJson(lwaAccessTokenRequestMeta)); Request accessTokenRequest = new Request.Builder().url(endpoint).post(requestBody).build(); - + LWAExceptionErrorCode lwaErrorCode = null; String accessToken; try { Response response = okHttpClient.newCall(accessTokenRequest).execute(); + JsonObject responseJson = new JsonParser().parse(response.body().string()).getAsJsonObject(); if (!response.isSuccessful()) { - throw new IOException("Unsuccessful LWA token exchange"); + // Check if response has element error and is a known LWA error code + if (responseJson.has("error") && + EnumUtils.isValidEnum(LWAExceptionErrorCode.class, responseJson.get("error").getAsString())) { + throw new LWAException(responseJson.get("error").getAsString(), + responseJson.get("error_description").getAsString(), "Error getting LWA Token"); + } else { // else throw other LWA error + throw new LWAException(LWAExceptionErrorCode.other.toString(), "Other LWA Exception", + "Error getting LWA Token"); + } } - - JsonObject responseJson = new JsonParser().parse(response.body().string()).getAsJsonObject(); - accessToken = responseJson.get(ACCESS_TOKEN_KEY).getAsString(); if (lwaAccessTokenCache != null) { long timeToTokenexpiry = responseJson.get(ACCESS_TOKEN_EXPIRES_IN).getAsLong(); lwaAccessTokenCache.put(lwaAccessTokenRequestMeta, accessToken, timeToTokenexpiry); - } - } catch (Exception e) { - throw new RuntimeException("Error getting LWA Access Token", e); } - return accessToken; + } catch (LWAException e) { // throw LWA exception + throw new LWAException(e.getErrorCode(), e.getErrorMessage(), e.getMessage()); + } catch (Exception e) { // throw other runtime exceptions + throw new RuntimeException("Error getting LWA Token"); } + return accessToken; + } } diff --git a/clients/sellingpartner-api-aa-java/src/com/amazon/SellingPartnerAPIAA/LWAException.java b/clients/sellingpartner-api-aa-java/src/com/amazon/SellingPartnerAPIAA/LWAException.java new file mode 100644 index 000000000..b89f73a53 --- /dev/null +++ b/clients/sellingpartner-api-aa-java/src/com/amazon/SellingPartnerAPIAA/LWAException.java @@ -0,0 +1,45 @@ +package com.amazon.SellingPartnerAPIAA; + +public class LWAException extends Exception { + + private String errorMessage; + + private String errorCode; + + LWAException() { + super(); + } + + LWAException(String errorCode, String errorMessage) { + super(); + this.errorCode = errorCode; + this.errorMessage = errorMessage; + } + + LWAException(String errorCode, String errorMessage, String message) { + super(message); + this.errorCode = errorCode; + this.errorMessage = errorMessage; + } + + LWAException(String errorCode, String errorMessage, Throwable cause) { + super(cause); + this.errorCode = errorCode; + this.errorMessage = errorMessage; + } + + LWAException(String errorCode, String errorMessage, String message, Throwable cause) { + super(message, cause); + this.errorCode = errorCode; + this.errorMessage = errorMessage; + } + + public String getErrorCode() { + return this.errorCode; + } + + public String getErrorMessage() { + return this.errorMessage; + } + +} diff --git a/clients/sellingpartner-api-aa-java/src/com/amazon/SellingPartnerAPIAA/LWAExceptionErrorCode.java b/clients/sellingpartner-api-aa-java/src/com/amazon/SellingPartnerAPIAA/LWAExceptionErrorCode.java new file mode 100644 index 000000000..f73ee2270 --- /dev/null +++ b/clients/sellingpartner-api-aa-java/src/com/amazon/SellingPartnerAPIAA/LWAExceptionErrorCode.java @@ -0,0 +1,13 @@ +package com.amazon.SellingPartnerAPIAA; + +public enum LWAExceptionErrorCode { + access_denied, + invalid_grant, + invalid_request, + invalid_scope, + server_error, + temporarily_unavailable, + unauthorized_client, + invalid_client, + other; +} diff --git a/clients/sellingpartner-api-aa-java/src/com/amazon/SellingPartnerAPIAA/SignableRequestImpl.java b/clients/sellingpartner-api-aa-java/src/com/amazon/SellingPartnerAPIAA/SignableRequestImpl.java deleted file mode 100644 index 636634a96..000000000 --- a/clients/sellingpartner-api-aa-java/src/com/amazon/SellingPartnerAPIAA/SignableRequestImpl.java +++ /dev/null @@ -1,148 +0,0 @@ -package com.amazon.SellingPartnerAPIAA; - -import com.amazonaws.ReadLimitInfo; -import com.amazonaws.SignableRequest; -import com.amazonaws.http.HttpMethodName; -import com.squareup.okhttp.HttpUrl; -import com.squareup.okhttp.MediaType; -import com.squareup.okhttp.Request; -import okio.Buffer; -import org.apache.http.NameValuePair; -import org.apache.http.client.utils.URLEncodedUtils; - -import java.io.ByteArrayInputStream; -import java.io.IOException; -import java.io.InputStream; -import java.net.URI; -import java.net.URISyntaxException; -import java.nio.charset.StandardCharsets; -import java.util.Collections; -import java.util.HashMap; -import java.util.List; -import java.util.Map; - -class SignableRequestImpl implements SignableRequest { - private static final String CONTENT_TYPE_HEADER_NAME = "Content-Type"; - private Request originalRequest; - private Request.Builder signableRequestBuilder; - - SignableRequestImpl(Request originalRequest) { - this.originalRequest = originalRequest; - signableRequestBuilder = originalRequest.newBuilder(); - } - - @Override - public void addHeader(String name, String value) { - signableRequestBuilder.addHeader(name, value); - } - - @Override - public void addParameter(String name, String value) { - HttpUrl newUrl = signableRequestBuilder.build() - .httpUrl() - .newBuilder() - .addEncodedQueryParameter(name, value) - .build(); - - signableRequestBuilder.url(newUrl); - } - - @Override - public void setContent(InputStream inputStream) { - throw new UnsupportedOperationException(); - } - - @Override - public Map getHeaders() { - Map headers = new HashMap<>(); - - Request requestSnapshot = signableRequestBuilder.build(); - requestSnapshot.headers() - .names() - .forEach(headerName -> headers.put(headerName, requestSnapshot.header(headerName))); - - if (requestSnapshot.body() != null) { - MediaType contentType = requestSnapshot.body().contentType(); - if (contentType != null) { - headers.put(CONTENT_TYPE_HEADER_NAME, contentType.toString()); - } - } - - return headers; - } - - @Override - public String getResourcePath() { - return originalRequest.url() - .getPath(); - } - - @Override - public Map> getParameters() { - Map> parameters = new HashMap<>(); - try { - List nameValuePairs = URLEncodedUtils.parse(originalRequest.url().toURI(), - StandardCharsets.UTF_8); - nameValuePairs.forEach(nameValuePair -> parameters.put(nameValuePair.getName(), - Collections.singletonList(nameValuePair.getValue()))); - } catch (URISyntaxException e) { - throw new RuntimeException(e); - } - - return parameters; - } - - @Override - public URI getEndpoint() { - URI uri = null; - try { - uri = originalRequest.url().toURI(); - } catch (URISyntaxException e) { - throw new RuntimeException(e); - } - - return URI.create(String.format("%s://%s", uri.getScheme(), uri.getHost())); - } - - @Override - public HttpMethodName getHttpMethod() { - return HttpMethodName.fromValue(originalRequest.method().toUpperCase()); - } - - @Override - public int getTimeOffset() { - return 0; - } - - @Override - public InputStream getContent() { - ByteArrayInputStream inputStream = null; - - if (originalRequest.body() != null) { - try { - Buffer buffer = new Buffer(); - originalRequest.body().writeTo(buffer); - inputStream = new ByteArrayInputStream(buffer.readByteArray()); - } catch (IOException e) { - throw new RuntimeException("Unable to buffer request body", e); - } - } - - return inputStream; - } - - @Override - public InputStream getContentUnwrapped() { - return getContent(); - } - - @Override - public ReadLimitInfo getReadLimitInfo() { - return null; - } - - @Override - public Object getOriginalRequestObject() { - return signableRequestBuilder.build(); - } -} diff --git a/clients/sellingpartner-api-aa-java/tst/com/amazon/SellingPartnerAPIAA/AWSSigV4SignerTest.java b/clients/sellingpartner-api-aa-java/tst/com/amazon/SellingPartnerAPIAA/AWSSigV4SignerTest.java deleted file mode 100644 index 534d4fab1..000000000 --- a/clients/sellingpartner-api-aa-java/tst/com/amazon/SellingPartnerAPIAA/AWSSigV4SignerTest.java +++ /dev/null @@ -1,148 +0,0 @@ -package com.amazon.SellingPartnerAPIAA; - -import com.amazonaws.SignableRequest; -import com.amazonaws.auth.AWS4Signer; -import com.amazonaws.auth.AWSCredentials; -import com.amazonaws.auth.AWSCredentialsProvider; -import com.squareup.okhttp.Request; -import org.junit.Before; -import org.junit.Test; -import org.junit.runner.RunWith; -import org.mockito.ArgumentCaptor; -import org.mockito.Mock; -import org.mockito.Mockito; -import org.mockito.junit.MockitoJUnitRunner; - -import static org.junit.Assert.assertEquals; -import static org.mockito.ArgumentMatchers.any; -import static org.mockito.Mockito.doNothing; -import static org.mockito.Mockito.verify; - -@RunWith(MockitoJUnitRunner.class) -public class AWSSigV4SignerTest { - private static final String TEST_ACCESS_KEY_ID = "aKey"; - private static final String TEST_SECRET_KEY = "sKey"; - private static final String TEST_REGION = "us-east"; - private static final String TEST_ROLE_ARN = "arnrole"; - private static final String TEST_ROLESESSION_NAME = "test"; - - @Mock - private AWS4Signer mockAWS4Signer; - @Mock - private AWSCredentialsProvider mockAWSCredentialsProvider; - @Mock - private AWSCredentials mockAWSCredentials; - - private AWSSigV4Signer underTest; - private AWSSigV4Signer underTestCredentialsProvider; - - @Before - public void init() { - underTest = new AWSSigV4Signer(AWSAuthenticationCredentials.builder() - .accessKeyId(TEST_ACCESS_KEY_ID) - .secretKey(TEST_SECRET_KEY) - .region(TEST_REGION) - .build() - ); - } - - @Test - public void signRequestUsingProvidedCredentials() { - ArgumentCaptor awsCredentialsArgumentCaptor = ArgumentCaptor.forClass(AWSCredentials.class); - underTest.setAws4Signer(mockAWS4Signer); - - doNothing() - .when(mockAWS4Signer) - .sign(any(SignableRequest.class), awsCredentialsArgumentCaptor.capture()); - - underTest.sign(new Request.Builder().url("https://api.amazon.com").build()); - - AWSCredentials actualAWSCredentials = awsCredentialsArgumentCaptor.getValue(); - - assertEquals(TEST_ACCESS_KEY_ID, actualAWSCredentials.getAWSAccessKeyId()); - assertEquals(TEST_SECRET_KEY, actualAWSCredentials.getAWSSecretKey()); - } - - @Test - public void setSignerRegion() { - assertEquals(TEST_REGION, underTest.getAws4Signer().getRegionName()); - } - - @Test - public void setSignerServiceName() { - assertEquals("execute-api", underTest.getAws4Signer().getServiceName()); - } - - @Test - public void returnSignedRequest() { - ArgumentCaptor signableRequestArgumentCaptor = ArgumentCaptor.forClass(SignableRequest.class); - underTest.setAws4Signer(mockAWS4Signer); - - Request actualSignedRequest = underTest.sign(new Request.Builder() - .url("http://api.amazon.com") - .build()); - - verify(mockAWS4Signer) - .sign(signableRequestArgumentCaptor.capture(), any(AWSCredentials.class)); - - SignableRequest actualSignableRequest = signableRequestArgumentCaptor.getValue(); - - assertEquals(((Request)actualSignableRequest.getOriginalRequestObject()).url(), actualSignedRequest.url()); - } - - @Test - public void returnSignedRequestWithCredentialProvider() { - ArgumentCaptor signableRequestArgumentCaptor = ArgumentCaptor.forClass(SignableRequest.class); - - Mockito.when(mockAWSCredentialsProvider.getCredentials()).thenReturn(mockAWSCredentials); - - underTestCredentialsProvider = new AWSSigV4Signer(AWSAuthenticationCredentials.builder() - .accessKeyId(TEST_ACCESS_KEY_ID) - .secretKey(TEST_SECRET_KEY) - .region(TEST_REGION) - .build(), AWSAuthenticationCredentialsProvider.builder() - .roleArn(TEST_ROLE_ARN) - .roleSessionName(TEST_ROLESESSION_NAME) - .build() - ); - underTestCredentialsProvider.setAws4Signer(mockAWS4Signer); - underTestCredentialsProvider.setAwsCredentialsProvider(mockAWSCredentialsProvider); - - Request actualSignedRequest = underTestCredentialsProvider.sign(new Request.Builder() - .url("http://api.amazon.com") - .build()); - - verify(mockAWS4Signer) - .sign(signableRequestArgumentCaptor.capture(), any(AWSCredentials.class)); - - SignableRequest actualSignableRequest = signableRequestArgumentCaptor.getValue(); - - assertEquals(((Request)actualSignableRequest.getOriginalRequestObject()).url(), actualSignedRequest.url()); - } - - @Test - public void returnSignedRequestWithCustomCredentialsProvider() { - ArgumentCaptor signableRequestArgumentCaptor = ArgumentCaptor.forClass(SignableRequest.class); - - Mockito.when(mockAWSCredentialsProvider.getCredentials()).thenReturn(mockAWSCredentials); - - underTestCredentialsProvider = new AWSSigV4Signer(AWSAuthenticationCustomCredentialsProvider.builder() - .awsCredentialsProvider(mockAWSCredentialsProvider) - .region(TEST_REGION) - .build()); - underTestCredentialsProvider.setAws4Signer(mockAWS4Signer); - - Request actualSignedRequest = underTestCredentialsProvider.sign(new Request.Builder() - .url("http://api.amazon.com") - .build()); - - verify(mockAWS4Signer) - .sign(signableRequestArgumentCaptor.capture(), any(AWSCredentials.class)); - - SignableRequest actualSignableRequest = signableRequestArgumentCaptor.getValue(); - - assertEquals(((Request)actualSignableRequest.getOriginalRequestObject()).url(), actualSignedRequest.url()); - } - - -} diff --git a/clients/sellingpartner-api-aa-java/tst/com/amazon/SellingPartnerAPIAA/LWAAuthorizationSignerTest.java b/clients/sellingpartner-api-aa-java/tst/com/amazon/SellingPartnerAPIAA/LWAAuthorizationSignerTest.java index 85e289d30..ee0e6f2b6 100644 --- a/clients/sellingpartner-api-aa-java/tst/com/amazon/SellingPartnerAPIAA/LWAAuthorizationSignerTest.java +++ b/clients/sellingpartner-api-aa-java/tst/com/amazon/SellingPartnerAPIAA/LWAAuthorizationSignerTest.java @@ -98,7 +98,7 @@ public void initializeLWAClientWithConfiguredEndpoint(String sellerType, LWAAuth @ParameterizedTest @MethodSource("lwaAuthSigner") - public void requestLWAAccessTokenFromConfiguration(String sellerType, LWAAuthorizationSigner testAuthSigner) { + public void requestLWAAccessTokenFromConfiguration(String sellerType, LWAAuthorizationSigner testAuthSigner) throws LWAException { LWAClient mockLWAClient = mock(LWAClient.class); ArgumentCaptor lwaAccessTokenRequestMetaArgumentCaptor = ArgumentCaptor.forClass(LWAAccessTokenRequestMeta.class); @@ -126,7 +126,7 @@ else if (sellerType.equals(SELLER_TYPE_SELLERLESS)){ @ParameterizedTest @MethodSource("lwaAuthSigner") - public void returnSignedRequestWithAccessTokenFromLWAClient(String sellerType, LWAAuthorizationSigner testAuthSigner) { + public void returnSignedRequestWithAccessTokenFromLWAClient(String sellerType, LWAAuthorizationSigner testAuthSigner) throws LWAException { LWAClient mockLWAClient = mock(LWAClient.class); when(mockLWAClient.getAccessToken(any(LWAAccessTokenRequestMeta.class))) @@ -140,7 +140,7 @@ public void returnSignedRequestWithAccessTokenFromLWAClient(String sellerType, L @ParameterizedTest @MethodSource("lwaAuthSigner") - public void originalRequestIsImmutable(String sellerType, LWAAuthorizationSigner testAuthSigner) { + public void originalRequestIsImmutable(String sellerType, LWAAuthorizationSigner testAuthSigner) throws LWAException { LWAClient mockLWAClient = mock(LWAClient.class); when(mockLWAClient.getAccessToken(any(LWAAccessTokenRequestMeta.class))) @@ -151,7 +151,7 @@ public void originalRequestIsImmutable(String sellerType, LWAAuthorizationSigner } @Test - public void returnSignedRequestWithAccessTokenFromLWACache() throws IOException { + public void returnSignedRequestWithAccessTokenFromLWACache() throws IOException, LWAException { LWAClient testLWAClient = new LWAClient(TEST_ENDPOINT); testLWAClient.setOkHttpClient(mockOkHttpClient); diff --git a/clients/sellingpartner-api-aa-java/tst/com/amazon/SellingPartnerAPIAA/LWAClientTest.java b/clients/sellingpartner-api-aa-java/tst/com/amazon/SellingPartnerAPIAA/LWAClientTest.java index 1b198636c..94d1a97a1 100644 --- a/clients/sellingpartner-api-aa-java/tst/com/amazon/SellingPartnerAPIAA/LWAClientTest.java +++ b/clients/sellingpartner-api-aa-java/tst/com/amazon/SellingPartnerAPIAA/LWAClientTest.java @@ -53,7 +53,10 @@ public class LWAClientTest { private static final String SELLER_TYPE_SELLER = "seller"; private static final String SELLER_TYPE_SELLERLESS = "sellerless"; - + + private static final String LWA_EXCEPTION_MSG ="Error getting LWA Token"; + private static final String LWA_CLIENT_AUTH_MSG ="Client_authentication_failed"; + private static final String LWA_ACCESS_DENIED_MSG ="Authorization_server_denied_the_request"; @Mock private OkHttpClient mockOkHttpClient; @@ -101,7 +104,7 @@ public void initializeEndpoint() { @ParameterizedTest @MethodSource("lwaClient") - public void makeRequestFromMeta (String sellerType, LWAAccessTokenRequestMeta testLwaAccessTokenRequestMeta) throws IOException { + public void makeRequestFromMeta (String sellerType, LWAAccessTokenRequestMeta testLwaAccessTokenRequestMeta) throws LWAException,IOException { ArgumentCaptor requestArgumentCaptor = ArgumentCaptor.forClass(Request.class); when(mockOkHttpClient.newCall(requestArgumentCaptor.capture())) .thenReturn(mockCall); @@ -134,7 +137,7 @@ else if (sellerType == SELLER_TYPE_SELLERLESS){ @ParameterizedTest @MethodSource("lwaClient") - public void returnAccessTokenFromResponse(String sellerType, LWAAccessTokenRequestMeta testLwaAccessTokenRequestMeta) throws IOException { + public void returnAccessTokenFromResponse(String sellerType, LWAAccessTokenRequestMeta testLwaAccessTokenRequestMeta) throws IOException, LWAException { when(mockOkHttpClient.newCall(any(Request.class))) .thenReturn(mockCall); when(mockCall.execute()) @@ -145,20 +148,54 @@ public void returnAccessTokenFromResponse(String sellerType, LWAAccessTokenReque @ParameterizedTest @MethodSource("lwaClient") - public void unsuccessfulPostThrowsException(String sellerType, LWAAccessTokenRequestMeta testLwaAccessTokenRequestMeta) throws IOException { + public void unsuccessfulPostThrowsLwaExceptionUnknownErrorCode(String sellerType, LWAAccessTokenRequestMeta testLwaAccessTokenRequestMeta) throws IOException, LWAException { when(mockOkHttpClient.newCall(any(Request.class))) .thenReturn(mockCall); when(mockCall.execute()) .thenReturn(buildResponse(400, "Azta|foo")); - Assertions.assertThrows(RuntimeException.class, () -> { + Throwable exception = Assertions.assertThrows(LWAException.class, () -> { + underTest.getAccessToken(testLwaAccessTokenRequestMeta); + }); + assertEquals(LWAExceptionErrorCode.other.toString(),((LWAException)exception).getErrorCode()); + assertEquals(LWA_EXCEPTION_MSG, exception.getMessage()); + } + + @ParameterizedTest + @MethodSource("lwaClient") + public void unsuccessfulPostThrowsLwaExceptionKnownErrorCode1(String sellerType, LWAAccessTokenRequestMeta testLwaAccessTokenRequestMeta) throws IOException, LWAException { + when(mockOkHttpClient.newCall(any(Request.class))) + .thenReturn(mockCall); + when(mockCall.execute()) + .thenReturn(buildResponse(401, "Azta|foo","invalid_client","Client_authentication_failed")); + + Throwable exception = Assertions.assertThrows(LWAException.class, () -> { underTest.getAccessToken(testLwaAccessTokenRequestMeta); }); + assertEquals(LWAExceptionErrorCode.invalid_client.toString(),((LWAException)exception).getErrorCode()); + assertEquals(LWA_EXCEPTION_MSG, exception.getMessage()); + assertEquals(LWA_CLIENT_AUTH_MSG,((LWAException)exception).getErrorMessage()); } @ParameterizedTest @MethodSource("lwaClient") - public void missingAccessTokenInResponseThrowsException(String sellerType, LWAAccessTokenRequestMeta testLwaAccessTokenRequestMeta) throws IOException { + public void unsuccessfulPostThrowsLwaExceptionKnownErrorCode2(String sellerType, LWAAccessTokenRequestMeta testLwaAccessTokenRequestMeta) throws IOException, LWAException { + when(mockOkHttpClient.newCall(any(Request.class))) + .thenReturn(mockCall); + when(mockCall.execute()) + .thenReturn(buildResponse(401, "Azta|foo","access_denied","Authorization_server_denied_the_request")); + + Throwable exception = Assertions.assertThrows(LWAException.class, () -> { + underTest.getAccessToken(testLwaAccessTokenRequestMeta); + }); + assertEquals(LWAExceptionErrorCode.access_denied.toString(),((LWAException)exception).getErrorCode()); + assertEquals(LWA_EXCEPTION_MSG, exception.getMessage()); + assertEquals(LWA_ACCESS_DENIED_MSG,((LWAException)exception).getErrorMessage()); + } + + @ParameterizedTest + @MethodSource("lwaClient") + public void missingAccessTokenInResponseThrowsException(String sellerType, LWAAccessTokenRequestMeta testLwaAccessTokenRequestMeta) throws IOException, LWAException { when(mockOkHttpClient.newCall(any(Request.class))) .thenReturn(mockCall); when(mockCall.execute()) @@ -171,7 +208,7 @@ public void missingAccessTokenInResponseThrowsException(String sellerType, LWAAc //Test for Access Token getting from cache @Test - public void returnAccessTokenFromCache() throws IOException, InterruptedException { + public void returnAccessTokenFromCache() throws IOException, InterruptedException, LWAException { when(mockOkHttpClient.newCall(any(Request.class))) .thenReturn(mockCall); @@ -187,7 +224,7 @@ public void returnAccessTokenFromCache() throws IOException, InterruptedExceptio } @Test - public void returnAccessTokenFromCacheWithExpiry() throws IOException, InterruptedException { + public void returnAccessTokenFromCacheWithExpiry() throws IOException, InterruptedException, LWAException { LWAClient client = new LWAClient(TEST_ENDPOINT); client.setOkHttpClient(mockOkHttpClient); when(mockOkHttpClient.newCall(any(Request.class))) @@ -202,9 +239,9 @@ public void returnAccessTokenFromCacheWithExpiry() throws IOException, Interrupt assertEquals("Azta|foo1", client.getAccessToken(lwaAccessTokenRequestMetaSeller)); } - private static Response buildResponse(int code, String accessToken, String expiryInSeconds) { + private static Response buildResponse(int code, String accessToken, String expiryInSeconds,String errorCode, String errorMessage) { ResponseBody responseBody = ResponseBody.create(EXPECTED_MEDIA_TYPE, - String.format("{%s:%s,%s:%s}", "access_token", accessToken, "expires_in", expiryInSeconds)); + String.format("{%s:%s,%s:%s,%s:%s,%s:%s}", "access_token", accessToken, "expires_in", expiryInSeconds, "error", errorCode, "error_description", errorMessage)); return new Response.Builder() .request(new Request.Builder().url(TEST_ENDPOINT).build()) @@ -215,7 +252,24 @@ private static Response buildResponse(int code, String accessToken, String expir .build(); } + private static Response buildResponse(int code, String accessToken,String errorCode, String errorMessage) { + return buildResponse(code, accessToken, "3600",errorCode,errorMessage); + } + private static Response buildResponse(int code, String accessToken) { return buildResponse(code, accessToken, "3600"); } + + private static Response buildResponse(int code, String accessToken,String expiryInSeconds) { + ResponseBody responseBody = ResponseBody.create(EXPECTED_MEDIA_TYPE, + String.format("{%s:%s,%s:%s}", "access_token", accessToken, "expires_in", expiryInSeconds)); + + return new Response.Builder() + .request(new Request.Builder().url(TEST_ENDPOINT).build()) + .code(code) + .body(responseBody) + .protocol(Protocol.HTTP_1_1) + .message("OK") + .build(); + } } diff --git a/clients/sellingpartner-api-aa-java/tst/com/amazon/SellingPartnerAPIAA/SignableRequestImplTest.java b/clients/sellingpartner-api-aa-java/tst/com/amazon/SellingPartnerAPIAA/SignableRequestImplTest.java deleted file mode 100644 index c6a87de47..000000000 --- a/clients/sellingpartner-api-aa-java/tst/com/amazon/SellingPartnerAPIAA/SignableRequestImplTest.java +++ /dev/null @@ -1,247 +0,0 @@ -package com.amazon.SellingPartnerAPIAA; - -import com.amazonaws.http.HttpMethodName; -import com.squareup.okhttp.HttpUrl; -import com.squareup.okhttp.MediaType; -import com.squareup.okhttp.Request; -import com.squareup.okhttp.RequestBody; -import org.junit.Before; -import org.junit.Test; - -import java.io.ByteArrayInputStream; -import java.net.URI; -import java.util.Collections; -import java.util.HashMap; -import java.util.List; -import java.util.Map; -import java.util.Scanner; - -import static org.junit.Assert.assertEquals; -import static org.junit.Assert.assertNotSame; -import static org.junit.Assert.assertNull; -import static org.junit.Assert.assertTrue; - -public class SignableRequestImplTest { - private Request testRequest; - private SignableRequestImpl underTest; - - @Before - public void init() { - testRequest = new Request.Builder() - .url("http://www.amazon.com/request/library?test=true&sky=blue&right=右") - .get() - .build(); - - underTest = new SignableRequestImpl(testRequest); - } - - @Test - public void getHttpMethod() { - assertEquals(HttpMethodName.GET, underTest.getHttpMethod()); - - underTest = new SignableRequestImpl(new Request.Builder() - .url("https://www.amazon.com") - .post(RequestBody.create(MediaType.parse("application/json; charset=utf-8"), "{\"foo\": \"bar\"}")) - .build()); - - assertEquals(HttpMethodName.POST, underTest.getHttpMethod()); - } - - @Test - public void getOriginalRequestObject() { - Request actualRequest = (Request)underTest.getOriginalRequestObject(); - - assertNotSame(testRequest, actualRequest); - assertEquals(testRequest.method(), actualRequest.method()); - assertEquals(testRequest.url(), actualRequest.url()); - assertEquals(testRequest.headers().toMultimap(), actualRequest.headers().toMultimap()); - assertEquals(testRequest.body(), actualRequest.body()); - } - - @Test - public void getReadLimitInfo() { - assertNull(underTest.getReadLimitInfo()); - } - - @Test - public void getResourcePath() { - assertEquals("/request/library", underTest.getResourcePath()); - } - - @Test - public void getResourcePathWithPoundChar() { - testRequest = new Request.Builder() - .url("http://www.amazon.com/request/%23library") - .get() - .build(); - underTest = new SignableRequestImpl(testRequest); - - assertEquals("/request/%23library", underTest.getResourcePath()); - } - - @Test - public void noTimeOffset() { - assertEquals(0, underTest.getTimeOffset()); - } - - @Test - public void getEndpoint() { - assertEquals(URI.create("http://www.amazon.com"), underTest.getEndpoint()); - } - - @Test - public void headers() { - Map expectedHeaders = new HashMap<>(); - - assertTrue(underTest.getHeaders().isEmpty()); - - underTest.addHeader("foo", "bar"); - expectedHeaders.put("foo", "bar"); - assertEquals(expectedHeaders, underTest.getHeaders()); - - underTest.addHeader("ban", "bop"); - expectedHeaders.put("ban", "bop"); - assertEquals(expectedHeaders, underTest.getHeaders()); - } - - @Test - public void getParameters() { - Map> expectedParamters = new HashMap<>(); - expectedParamters.put("test", Collections.singletonList("true")); - expectedParamters.put("sky", Collections.singletonList("blue")); - expectedParamters.put("right", Collections.singletonList("右")); - - assertEquals(expectedParamters, underTest.getParameters()); - } - - @Test - public void getContent() { - String expectedContent = "{\"foo\":\"bar\"}"; - StringBuilder actualContent = new StringBuilder(); - - underTest = new SignableRequestImpl(new Request.Builder() - .url("https://www.amazon.com") - .post(RequestBody.create(MediaType.parse("application/json; charset=utf-8"), expectedContent)) - .build()); - - try(Scanner scanner = new Scanner(underTest.getContent())){ - while(scanner.hasNext()) { - actualContent.append(scanner.next()); - } - } - - assertEquals(expectedContent, actualContent.toString()); - } - - @Test - public void getUnwrappedContent() { - String expectedContent = "{\"ban\":\"bop\"}"; - StringBuilder actualContent = new StringBuilder(); - - underTest = new SignableRequestImpl(new Request.Builder() - .url("https://www.amazon.com") - .post(RequestBody.create(MediaType.parse("application/json; charset=utf-8"), expectedContent)) - .build()); - - try(Scanner scanner = new Scanner(underTest.getContentUnwrapped())){ - while(scanner.hasNext()) { - actualContent.append(scanner.next()); - } - } - - assertEquals(expectedContent, actualContent.toString()); - } - - @Test(expected = UnsupportedOperationException.class) - public void setContentNotSupported() { - underTest.setContent(new ByteArrayInputStream("abc".getBytes())); - } - - @Test - public void addParameter() { - underTest.addParameter("left", "左"); - - HttpUrl actualHttpUrl = ((Request) underTest.getOriginalRequestObject()) - .httpUrl(); - - assertEquals(Collections.singletonList("true"), actualHttpUrl.queryParameterValues("test")); - assertEquals(Collections.singletonList("blue"), actualHttpUrl.queryParameterValues("sky")); - assertEquals(Collections.singletonList("右"), actualHttpUrl.queryParameterValues("right")); - assertEquals(Collections.singletonList("左"), actualHttpUrl.queryParameterValues("left")); - } - - @Test - public void gracefulBlankParametersParse() { - testRequest = new Request.Builder() - .url("http://www.amazon.com/request/library? ") - .get() - .build(); - - underTest = new SignableRequestImpl(testRequest); - - assertTrue(underTest.getParameters().isEmpty()); - } - - @Test - public void gracefulIncompleteParameterPairsParse() { - testRequest = new Request.Builder() - .url("http://www.amazon.com/request/library?isSigned& =false") - .get() - .build(); - - Map> expected = new HashMap<>(); - expected.put("isSigned", Collections.singletonList(null)); - expected.put(" ", Collections.singletonList("false")); - - underTest = new SignableRequestImpl(testRequest); - - assertEquals(expected, underTest.getParameters()); - } - - @Test - public void getHeadersIncludesContentTypeFromRequestBody() { - String expected = "application/json; charset=utf-8"; - RequestBody requestBody = RequestBody.create(MediaType.parse(expected), - "{\"foo\":\"bar\"}"); - - testRequest = new Request.Builder() - .url("http://www.amazon.com") - .post(requestBody) - .header("Content-Type", "THIS SHOULD BE OVERRIDDEN WITH REQUEST BODY CONTENT TYPE") - .build(); - - underTest = new SignableRequestImpl(testRequest); - - assertEquals(expected, underTest.getHeaders().get("Content-Type")); - } - - @Test - public void missingRequestBodyDoesNotOverwriteExistingContentTypeHeader() { - String expected = "testContentType"; - - testRequest = new Request.Builder() - .url("http://www.amazon.com") - .get() - .header("Content-Type", expected) - .build(); - - underTest = new SignableRequestImpl(testRequest); - - assertEquals(expected, underTest.getHeaders().get("Content-Type")); - } - - @Test - public void missingRequestBodyContentTypeDoesNotOverwriteExistingContentTypeHeader() { - String expected = "testContentType"; - - testRequest = new Request.Builder() - .url("http://www.amazon.com") - .post(RequestBody.create(null, "foo")) - .header("Content-Type", expected) - .build(); - - underTest = new SignableRequestImpl(testRequest); - - assertEquals(expected, underTest.getHeaders().get("Content-Type")); - } -} From 0e4688701ec059076d77e75f0f73333fa0bceb16 Mon Sep 17 00:00:00 2001 From: Meena Peri Date: Sun, 1 Oct 2023 18:16:11 -0500 Subject: [PATCH 176/340] CSharp Auth and auth lib changes --- .../sellingpartner-api-aa-csharp/README.md | 44 +-- .../SellingPartnerAPIAuthAndAuthCSharp.sln | 49 +-- .../AWSAuthenticationCredentials.cs | 20 -- .../AWSSigV4Signer.cs | 82 ----- .../AWSSignerHelper.cs | 263 ---------------- .../Amazon.SellingPartnerAPIAA.csproj | 36 ++- .../Amazon.SellingPartnerAPIAA/LWAClient.cs | 26 +- .../LWAException.cs | 46 +++ .../LWAExceptionErrorCode.cs | 17 + .../templates/ApiClient.mustache | 4 +- .../templates/Configuration.mustache | 6 - .../templates/IReadableConfiguration.mustache | 6 - .../swagger-codegen/templates/api.mustache | 12 - .../AWSSigV4SignerTest.cs | 88 ------ .../AWSSignerHelperTest.cs | 291 ------------------ .../Amazon.SellingPartnerAPIAATests.csproj | 41 +-- .../LWAClientTest.cs | 82 ++++- 17 files changed, 249 insertions(+), 864 deletions(-) delete mode 100644 clients/sellingpartner-api-aa-csharp/src/Amazon.SellingPartnerAPIAA/AWSAuthenticationCredentials.cs delete mode 100644 clients/sellingpartner-api-aa-csharp/src/Amazon.SellingPartnerAPIAA/AWSSigV4Signer.cs delete mode 100644 clients/sellingpartner-api-aa-csharp/src/Amazon.SellingPartnerAPIAA/AWSSignerHelper.cs create mode 100644 clients/sellingpartner-api-aa-csharp/src/Amazon.SellingPartnerAPIAA/LWAException.cs create mode 100644 clients/sellingpartner-api-aa-csharp/src/Amazon.SellingPartnerAPIAA/LWAExceptionErrorCode.cs delete mode 100644 clients/sellingpartner-api-aa-csharp/test/Amazon.SellingPartnerAPIAATests/AWSSigV4SignerTest.cs delete mode 100644 clients/sellingpartner-api-aa-csharp/test/Amazon.SellingPartnerAPIAATests/AWSSignerHelperTest.cs diff --git a/clients/sellingpartner-api-aa-csharp/README.md b/clients/sellingpartner-api-aa-csharp/README.md index 7ae8977e4..be5d77126 100644 --- a/clients/sellingpartner-api-aa-csharp/README.md +++ b/clients/sellingpartner-api-aa-csharp/README.md @@ -38,36 +38,9 @@ restRequest = new LWAAuthorizationSigner(lwaAuthorizationCredentials).Sign(restR ``` Note the IRestRequest reference is treated as **mutable** when signed. -## AWSSigV4Signer -Signs a request with [AWS Signature Version 4](https://docs.aws.amazon.com/general/latest/gr/signature-version-4.html) -using the provided AWS developer account credentials. - -*Example* -``` -using RestSharp; -using Amazon.SellingPartnerAPIAA; - -string resource = "/my/api/path"; -RestClient restClient = new RestClient("https://..."); -IRestRequest restRequest = new RestRequest(resource, Method.GET); - -AWSAuthenticationCredentials awsAuthenticationCredentials = new AWSAuthenticationCredentials -{ - AccessKeyId = "..." - SecretKey = "..." - Region = "..." -}; - -restRequest = new AWSSigV4Signer(awsAuthenticationCredentials) - .Sign(restRequest, restClient.BaseUrl.Host); -``` -Note the IRestRequest reference is treated as **mutable** when signed. - ## RateLimitConfiguration - Interface to set and get rateLimit configurations that are used with RateLimiter. RateLimiter is used on client side to restrict the rate at which requests are made. RateLimiter Configuration takes Permit, rate which requests are made and TimeOut - *Example* ``` RateLimitConfiguration rateLimitConfig = new RateLimitConfigurationOnRequests @@ -78,6 +51,23 @@ RateLimitConfiguration rateLimitConfig = new RateLimitConfigurationOnRequests ``` +## Exception +This package returns a custom LWAException when there is an error returned during LWA authorization. LWAException provides additional details like errorCode and errorDescription to help fix the issue. + +*Example* +``` +catch (LWAException e) + { + Console.WriteLine("LWA Exception when calling Selling partner API"); + Console.WriteLine(e.getErrorCode()); + Console.WriteLine(e.getErrorMessage()); + Console.WriteLine(e.Message); + } +``` + +## Version +Selling Partner API Authentication/Authorization Library version 2.0. + ## Resources This package features Mustache templates designed for use with [swagger codegen](https://swagger.io/tools/swagger-codegen/). When you build Selling Partner API Swagger models with these templates, they help generate a rich SDK with functionality to invoke Selling Partner APIs built in. The templates are located in *resources/swagger-codegen*. diff --git a/clients/sellingpartner-api-aa-csharp/SellingPartnerAPIAuthAndAuthCSharp.sln b/clients/sellingpartner-api-aa-csharp/SellingPartnerAPIAuthAndAuthCSharp.sln index bdbc9021f..1eec521e4 100644 --- a/clients/sellingpartner-api-aa-csharp/SellingPartnerAPIAuthAndAuthCSharp.sln +++ b/clients/sellingpartner-api-aa-csharp/SellingPartnerAPIAuthAndAuthCSharp.sln @@ -1,23 +1,26 @@ - -Microsoft Visual Studio Solution File, Format Version 12.00 -# Visual Studio 15 -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Amazon.SellingPartnerAPIAA", "src\Amazon.SellingPartnerAPIAA\Amazon.SellingPartnerAPIAA.csproj", "{64339397-3AAB-49D3-8B50-7A467B16D545}" -EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Amazon.SellingPartnerAPIAATests", "test\Amazon.SellingPartnerAPIAATests\Amazon.SellingPartnerAPIAATests.csproj", "{12B130EB-1087-4F88-BDFA-3088868C0A46}" -EndProject -Global - GlobalSection(SolutionConfigurationPlatforms) = preSolution - Debug|Any CPU = Debug|Any CPU - Release|Any CPU = Release|Any CPU - EndGlobalSection - GlobalSection(ProjectConfigurationPlatforms) = postSolution - {64339397-3AAB-49D3-8B50-7A467B16D545}.Debug|Any CPU.ActiveCfg = Debug|Any CPU - {64339397-3AAB-49D3-8B50-7A467B16D545}.Debug|Any CPU.Build.0 = Debug|Any CPU - {64339397-3AAB-49D3-8B50-7A467B16D545}.Release|Any CPU.ActiveCfg = Release|Any CPU - {64339397-3AAB-49D3-8B50-7A467B16D545}.Release|Any CPU.Build.0 = Release|Any CPU - {12B130EB-1087-4F88-BDFA-3088868C0A46}.Debug|Any CPU.ActiveCfg = Debug|Any CPU - {12B130EB-1087-4F88-BDFA-3088868C0A46}.Debug|Any CPU.Build.0 = Debug|Any CPU - {12B130EB-1087-4F88-BDFA-3088868C0A46}.Release|Any CPU.ActiveCfg = Release|Any CPU - {12B130EB-1087-4F88-BDFA-3088868C0A46}.Release|Any CPU.Build.0 = Release|Any CPU - EndGlobalSection -EndGlobal + +Microsoft Visual Studio Solution File, Format Version 12.00 +# Visual Studio 15 +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Amazon.SellingPartnerAPIAA", "src\Amazon.SellingPartnerAPIAA\Amazon.SellingPartnerAPIAA.csproj", "{64339397-3AAB-49D3-8B50-7A467B16D545}" +EndProject +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Amazon.SellingPartnerAPIAATests", "test\Amazon.SellingPartnerAPIAATests\Amazon.SellingPartnerAPIAATests.csproj", "{12B130EB-1087-4F88-BDFA-3088868C0A46}" +EndProject +Global + GlobalSection(SolutionConfigurationPlatforms) = preSolution + Debug|Any CPU = Debug|Any CPU + Release|Any CPU = Release|Any CPU + EndGlobalSection + GlobalSection(ProjectConfigurationPlatforms) = postSolution + {64339397-3AAB-49D3-8B50-7A467B16D545}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {64339397-3AAB-49D3-8B50-7A467B16D545}.Debug|Any CPU.Build.0 = Debug|Any CPU + {64339397-3AAB-49D3-8B50-7A467B16D545}.Release|Any CPU.ActiveCfg = Release|Any CPU + {64339397-3AAB-49D3-8B50-7A467B16D545}.Release|Any CPU.Build.0 = Release|Any CPU + {12B130EB-1087-4F88-BDFA-3088868C0A46}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {12B130EB-1087-4F88-BDFA-3088868C0A46}.Debug|Any CPU.Build.0 = Debug|Any CPU + {12B130EB-1087-4F88-BDFA-3088868C0A46}.Release|Any CPU.ActiveCfg = Release|Any CPU + {12B130EB-1087-4F88-BDFA-3088868C0A46}.Release|Any CPU.Build.0 = Release|Any CPU + EndGlobalSection + GlobalSection(MonoDevelopProperties) = preSolution + version = 2.0 + EndGlobalSection +EndGlobal diff --git a/clients/sellingpartner-api-aa-csharp/src/Amazon.SellingPartnerAPIAA/AWSAuthenticationCredentials.cs b/clients/sellingpartner-api-aa-csharp/src/Amazon.SellingPartnerAPIAA/AWSAuthenticationCredentials.cs deleted file mode 100644 index b41573808..000000000 --- a/clients/sellingpartner-api-aa-csharp/src/Amazon.SellingPartnerAPIAA/AWSAuthenticationCredentials.cs +++ /dev/null @@ -1,20 +0,0 @@ -namespace Amazon.SellingPartnerAPIAA -{ - public class AWSAuthenticationCredentials - { - /** - * AWS IAM User Access Key Id - */ - public string AccessKeyId { get; set; } - - /** - * AWS IAM User Secret Key - */ - public string SecretKey { get; set; } - - /** - * AWS Region - */ - public string Region { get; set; } - } -} diff --git a/clients/sellingpartner-api-aa-csharp/src/Amazon.SellingPartnerAPIAA/AWSSigV4Signer.cs b/clients/sellingpartner-api-aa-csharp/src/Amazon.SellingPartnerAPIAA/AWSSigV4Signer.cs deleted file mode 100644 index 3937efa3d..000000000 --- a/clients/sellingpartner-api-aa-csharp/src/Amazon.SellingPartnerAPIAA/AWSSigV4Signer.cs +++ /dev/null @@ -1,82 +0,0 @@ -using System; -using System.Text; -using RestSharp; - -namespace Amazon.SellingPartnerAPIAA -{ - public class AWSSigV4Signer - - { - public virtual AWSSignerHelper AwsSignerHelper { get; set; } - private AWSAuthenticationCredentials awsCredentials; - - /// - /// Constructor for AWSSigV4Signer - /// - /// AWS Developer Account Credentials - public AWSSigV4Signer(AWSAuthenticationCredentials awsAuthenticationCredentials) - { - awsCredentials = awsAuthenticationCredentials; - AwsSignerHelper = new AWSSignerHelper(); - } - - /// - /// Signs a Request with AWS Signature Version 4 - /// - /// RestRequest which needs to be signed - /// Request endpoint - /// RestRequest with AWS Signature - public IRestRequest Sign(IRestRequest request, string host) - { - DateTime signingDate = AwsSignerHelper.InitializeHeaders(request, host); - string signedHeaders = AwsSignerHelper.ExtractSignedHeaders(request); - - string hashedCanonicalRequest = CreateCanonicalRequest(request, signedHeaders); - - string stringToSign = AwsSignerHelper.BuildStringToSign(signingDate, - hashedCanonicalRequest, - awsCredentials.Region); - - string signature = AwsSignerHelper.CalculateSignature(stringToSign, - signingDate, - awsCredentials.SecretKey, - awsCredentials.Region); - - AwsSignerHelper.AddSignature(request, - awsCredentials.AccessKeyId, - signedHeaders, - signature, - awsCredentials.Region, - signingDate); - - return request; - } - - private string CreateCanonicalRequest(IRestRequest restRequest, string signedHeaders) - { - var canonicalizedRequest = new StringBuilder(); - //Request Method - canonicalizedRequest.AppendFormat("{0}\n", restRequest.Method); - - //CanonicalURI - canonicalizedRequest.AppendFormat("{0}\n", AwsSignerHelper.ExtractCanonicalURIParameters(restRequest)); - - //CanonicalQueryString - canonicalizedRequest.AppendFormat("{0}\n", AwsSignerHelper.ExtractCanonicalQueryString(restRequest)); - - //CanonicalHeaders - canonicalizedRequest.AppendFormat("{0}\n", AwsSignerHelper.ExtractCanonicalHeaders(restRequest)); - - //SignedHeaders - canonicalizedRequest.AppendFormat("{0}\n", signedHeaders); - - // Hash(digest) the payload in the body - canonicalizedRequest.AppendFormat(AwsSignerHelper.HashRequestBody(restRequest)); - - string canonicalRequest = canonicalizedRequest.ToString(); - - //Create a digest(hash) of the canonical request - return Utils.ToHex(Utils.Hash(canonicalRequest)); - } - } -} \ No newline at end of file diff --git a/clients/sellingpartner-api-aa-csharp/src/Amazon.SellingPartnerAPIAA/AWSSignerHelper.cs b/clients/sellingpartner-api-aa-csharp/src/Amazon.SellingPartnerAPIAA/AWSSignerHelper.cs deleted file mode 100644 index 6cd10d4c4..000000000 --- a/clients/sellingpartner-api-aa-csharp/src/Amazon.SellingPartnerAPIAA/AWSSignerHelper.cs +++ /dev/null @@ -1,263 +0,0 @@ -using System; -using System.Collections.Generic; -using System.Linq; -using System.Text; -using RestSharp; -using System.Text.RegularExpressions; -using System.Globalization; - -namespace Amazon.SellingPartnerAPIAA -{ - public class AWSSignerHelper - { - public const string ISO8601BasicDateTimeFormat = "yyyyMMddTHHmmssZ"; - public const string ISO8601BasicDateFormat = "yyyyMMdd"; - - public const string XAmzDateHeaderName = "X-Amz-Date"; - public const string AuthorizationHeaderName = "Authorization"; - public const string CredentialSubHeaderName = "Credential"; - public const string SignatureSubHeaderName = "Signature"; - public const string SignedHeadersSubHeaderName = "SignedHeaders"; - public const string HostHeaderName = "host"; - - public const string Scheme = "AWS4"; - public const string Algorithm = "HMAC-SHA256"; - public const string TerminationString = "aws4_request"; - public const string ServiceName = "execute-api"; - public const string Slash = "/"; - - private readonly static Regex CompressWhitespaceRegex = new Regex("\\s+"); - - public virtual IDateHelper DateHelper { get; set; } - - public AWSSignerHelper() - { - DateHelper = new SigningDateHelper(); - } - - /// - /// Returns URI encoded version of absolute path - /// - /// RestRequest - /// URI encoded version of absolute path - public virtual string ExtractCanonicalURIParameters(IRestRequest request) - { - string resource = request.Resource; - string canonicalUri = string.Empty; - - if (string.IsNullOrEmpty(resource)) - { - canonicalUri = Slash; - } - else - { - if (!resource.StartsWith(Slash)) - { - canonicalUri = Slash; - } - IDictionary pathParameters = request.Parameters - .Where(parameter => ParameterType.UrlSegment.Equals(parameter.Type)) - .ToDictionary(parameter => parameter.Name.Trim().ToString(), parameter => parameter.Value.ToString()); - - // Replace path parameter with actual value. - // Ex: /products/pricing/v0/items/{Asin}/offers -> /products/pricing/v0/items/AB12CD3E4Z/offers - foreach (string parameter in pathParameters.Keys) - { - resource = resource.Replace("{" + parameter + "}", pathParameters[parameter]); - } - - //Split path at / into segments - IEnumerable encodedSegments = resource.Split(new char[] { '/' }, StringSplitOptions.None); - - // Encode twice - encodedSegments = encodedSegments.Select(segment => Utils.UrlEncode(segment)); - encodedSegments = encodedSegments.Select(segment => Utils.UrlEncode(segment)); - - canonicalUri += string.Join(Slash, encodedSegments.ToArray()); - } - - return canonicalUri; - } - - /// - /// Returns query parameters in canonical order with URL encoding - /// - /// RestRequest - /// Query parameters in canonical order with URL encoding - public virtual string ExtractCanonicalQueryString(IRestRequest request) - { - IDictionary queryParameters = request.Parameters - .Where(parameter => ParameterType.QueryString.Equals(parameter.Type)) - .ToDictionary(parameter => parameter.Name.Trim().ToString(), parameter => parameter.Value.ToString()); - - SortedDictionary sortedQueryParameters = new SortedDictionary(queryParameters); - - StringBuilder canonicalQueryString = new StringBuilder(); - foreach (var key in sortedQueryParameters.Keys) - { - if (canonicalQueryString.Length > 0) - { - canonicalQueryString.Append("&"); - } - canonicalQueryString.AppendFormat("{0}={1}", - Utils.UrlEncode(key), - Utils.UrlEncode(sortedQueryParameters[key])); - } - - return canonicalQueryString.ToString(); - } - - /// - /// Returns Http headers in canonical order with all header names to lowercase - /// - /// RestRequest - /// Returns Http headers in canonical order - public virtual string ExtractCanonicalHeaders(IRestRequest request) - { - IDictionary headers = request.Parameters - .Where(parameter => ParameterType.HttpHeader.Equals(parameter.Type)) - .ToDictionary(header => header.Name.Trim().ToLowerInvariant(), header => header.Value.ToString()); - - SortedDictionary sortedHeaders = new SortedDictionary(headers); - - StringBuilder headerString = new StringBuilder(); - - foreach (string headerName in sortedHeaders.Keys) - { - headerString.AppendFormat("{0}:{1}\n", - headerName, - CompressWhitespaceRegex.Replace(sortedHeaders[headerName].Trim(), " ")); - } - - return headerString.ToString(); - } - - /// - /// Returns list(as string) of Http headers in canonical order - /// - /// RestRequest - /// List of Http headers in canonical order - public virtual string ExtractSignedHeaders(IRestRequest request) - { - List rawHeaders = request.Parameters.Where(parameter => ParameterType.HttpHeader.Equals(parameter.Type)) - .Select(header => header.Name.Trim().ToLowerInvariant()) - .ToList(); - rawHeaders.Sort(StringComparer.OrdinalIgnoreCase); - - return string.Join(";", rawHeaders); - } - - /// - /// Returns hexadecimal hashed value(using SHA256) of payload in the body of request - /// - /// RestRequest - /// Hexadecimal hashed value of payload in the body of request - public virtual string HashRequestBody(IRestRequest request) - { - Parameter body = request.Parameters.FirstOrDefault(parameter => ParameterType.RequestBody.Equals(parameter.Type)); - string value = body != null ? body.Value.ToString() : string.Empty; - return Utils.ToHex(Utils.Hash(value)); - } - - /// - /// Builds the string for signing using signing date, hashed canonical request and region - /// - /// Signing Date - /// Hashed Canonical Request - /// Region - /// String to be used for signing - public virtual string BuildStringToSign(DateTime signingDate, string hashedCanonicalRequest, string region) - { - string scope = BuildScope(signingDate, region); - string stringToSign = string.Format(CultureInfo.InvariantCulture, "{0}-{1}\n{2}\n{3}\n{4}", - Scheme, - Algorithm, - signingDate.ToString(ISO8601BasicDateTimeFormat, CultureInfo.InvariantCulture), - scope, - hashedCanonicalRequest); - - return stringToSign; - } - - /// - /// Sets AWS4 mandated 'x-amz-date' header, returning the date/time that will - /// be used throughout the signing process. - /// - /// RestRequest - /// Request endpoint - /// Date and time used for x-amz-date, in UTC - public virtual DateTime InitializeHeaders(IRestRequest restRequest, string host) - { - restRequest.Parameters.RemoveAll(parameter => ParameterType.HttpHeader.Equals(parameter.Type) - && parameter.Name == XAmzDateHeaderName); - restRequest.Parameters.RemoveAll(parameter => ParameterType.HttpHeader.Equals(parameter.Type) - && parameter.Name == HostHeaderName); - - DateTime signingDate = DateHelper.GetUtcNow(); - - restRequest.AddHeader(XAmzDateHeaderName, signingDate.ToString(ISO8601BasicDateTimeFormat, CultureInfo.InvariantCulture)); - restRequest.AddHeader(HostHeaderName, host); - - return signingDate; - } - - /// - /// Calculates AWS4 signature for the string, prepared for signing - /// - /// String to be signed - /// Signing Date - /// Secret Key - /// Region - /// AWS4 Signature - public virtual string CalculateSignature(string stringToSign, - DateTime signingDate, - string secretKey, - string region) - { - string date = signingDate.ToString(ISO8601BasicDateFormat, CultureInfo.InvariantCulture); - byte[] kSecret = Encoding.UTF8.GetBytes(Scheme + secretKey); - byte[] kDate = Utils.GetKeyedHash(kSecret, date); - byte[] kRegion = Utils.GetKeyedHash(kDate, region); - byte[] kService = Utils.GetKeyedHash(kRegion, ServiceName); - byte[] kSigning = Utils.GetKeyedHash(kService, TerminationString); - - // Calculate the signature - return Utils.ToHex(Utils.GetKeyedHash(kSigning, stringToSign)); - } - - /// - /// Add a signature to a request in the form of an 'Authorization' header - /// - /// Request to be signed - /// Access Key Id - /// Signed Headers - /// The signature to add - /// AWS region for the request - /// Signature date - public virtual void AddSignature(IRestRequest restRequest, - string accessKeyId, - string signedHeaders, - string signature, - string region, - DateTime signingDate) - { - string scope = BuildScope(signingDate, region); - StringBuilder authorizationHeaderValueBuilder = new StringBuilder(); - authorizationHeaderValueBuilder.AppendFormat("{0}-{1}", Scheme, Algorithm); - authorizationHeaderValueBuilder.AppendFormat(" {0}={1}/{2},", CredentialSubHeaderName, accessKeyId, scope); - authorizationHeaderValueBuilder.AppendFormat(" {0}={1},", SignedHeadersSubHeaderName, signedHeaders); - authorizationHeaderValueBuilder.AppendFormat(" {0}={1}", SignatureSubHeaderName, signature); - - restRequest.AddHeader(AuthorizationHeaderName, authorizationHeaderValueBuilder.ToString()); - } - - private static string BuildScope(DateTime signingDate, string region) - { - return string.Format("{0}/{1}/{2}/{3}", - signingDate.ToString(ISO8601BasicDateFormat, CultureInfo.InvariantCulture), - region, - ServiceName, - TerminationString); - } - } -} diff --git a/clients/sellingpartner-api-aa-csharp/src/Amazon.SellingPartnerAPIAA/Amazon.SellingPartnerAPIAA.csproj b/clients/sellingpartner-api-aa-csharp/src/Amazon.SellingPartnerAPIAA/Amazon.SellingPartnerAPIAA.csproj index ebeccfd64..cf23bc7b5 100644 --- a/clients/sellingpartner-api-aa-csharp/src/Amazon.SellingPartnerAPIAA/Amazon.SellingPartnerAPIAA.csproj +++ b/clients/sellingpartner-api-aa-csharp/src/Amazon.SellingPartnerAPIAA/Amazon.SellingPartnerAPIAA.csproj @@ -1,16 +1,20 @@ - - - - netstandard2.0 - - - - - - - - - - - - + + + + net461 + 2.0 + 2.0 + 2.0 + 2.0 + + + + + + + + + + + + diff --git a/clients/sellingpartner-api-aa-csharp/src/Amazon.SellingPartnerAPIAA/LWAClient.cs b/clients/sellingpartner-api-aa-csharp/src/Amazon.SellingPartnerAPIAA/LWAClient.cs index dfcd4d448..3ea63ffd2 100644 --- a/clients/sellingpartner-api-aa-csharp/src/Amazon.SellingPartnerAPIAA/LWAClient.cs +++ b/clients/sellingpartner-api-aa-csharp/src/Amazon.SellingPartnerAPIAA/LWAClient.cs @@ -1,4 +1,5 @@ using System; +using System.Collections.Generic; using System.IO; using Newtonsoft.Json; using Newtonsoft.Json.Linq; @@ -9,6 +10,8 @@ namespace Amazon.SellingPartnerAPIAA public class LWAClient { public const string AccessTokenKey = "access_token"; + public const string ErrorCodeKey = "error"; + public const string ErrorDescKey = "error_description"; public const string JsonMediaType = "application/json; charset=utf-8"; public IRestClient RestClient { get; set; } @@ -38,19 +41,34 @@ public virtual string GetAccessToken() accessTokenRequest.AddParameter(JsonMediaType, jsonRequestBody, ParameterType.RequestBody); string accessToken; + + LWAExceptionErrorCode errorCode; + try { var response = RestClient.Execute(accessTokenRequest); + JObject responseJson = !String.IsNullOrEmpty(response.Content) ? JObject.Parse(response.Content) : null; if (!IsSuccessful(response)) { - throw new IOException("Unsuccessful LWA token exchange", response.ErrorException); - } - - JObject responseJson = JObject.Parse(response.Content); + if (responseJson != null) + { + // If error code is present check error code if its one of the defined LWAExceptionErrorCode values + var parsedErrorCode = responseJson.ContainsKey(ErrorCodeKey) ? Enum.TryParse(responseJson.GetValue(ErrorCodeKey).ToString(), out errorCode) : false; + if (parsedErrorCode) // throw error code and description if matches defined values + { + throw new LWAException(responseJson.GetValue(ErrorCodeKey).ToString(), responseJson.GetValue(ErrorDescKey).ToString(), "Error getting LWA Access Token"); + } + } //else throw general LWA exception + throw new LWAException(LWAExceptionErrorCode.other.ToString(), "Other LWA Exception", "Error getting LWA Access Token"); + } accessToken = responseJson.GetValue(AccessTokenKey).ToString(); } + catch (LWAException e) + { + throw new LWAException(e.getErrorCode(), e.getErrorMessage(), e.Message); + } catch (Exception e) { throw new SystemException("Error getting LWA Access Token", e); diff --git a/clients/sellingpartner-api-aa-csharp/src/Amazon.SellingPartnerAPIAA/LWAException.cs b/clients/sellingpartner-api-aa-csharp/src/Amazon.SellingPartnerAPIAA/LWAException.cs new file mode 100644 index 000000000..e2d8edf1f --- /dev/null +++ b/clients/sellingpartner-api-aa-csharp/src/Amazon.SellingPartnerAPIAA/LWAException.cs @@ -0,0 +1,46 @@ +using System; +namespace Amazon.SellingPartnerAPIAA +{ + public class LWAException:Exception + { + private String errorMessage; + + private String errorCode; + + public LWAException():base() + { + + } + + public LWAException(String errorCode, String errorMessage) + { + this.errorCode = errorCode; + this.errorMessage = errorMessage; + } + + public LWAException(String errorCode, String errorMessage, String message): base(message) + { + this.errorCode = errorCode; + this.errorMessage = errorMessage; + } + + public LWAException(String errorCode, String errorMessage, String message, Exception innerException) : base(message,innerException) + { + this.errorCode = errorCode; + this.errorMessage = errorMessage; + } + + + public String getErrorCode() + { + return this.errorCode; + } + + public String getErrorMessage() + { + return this.errorMessage; + } + + } +} + diff --git a/clients/sellingpartner-api-aa-csharp/src/Amazon.SellingPartnerAPIAA/LWAExceptionErrorCode.cs b/clients/sellingpartner-api-aa-csharp/src/Amazon.SellingPartnerAPIAA/LWAExceptionErrorCode.cs new file mode 100644 index 000000000..eed8d0f73 --- /dev/null +++ b/clients/sellingpartner-api-aa-csharp/src/Amazon.SellingPartnerAPIAA/LWAExceptionErrorCode.cs @@ -0,0 +1,17 @@ +using System; +namespace Amazon.SellingPartnerAPIAA +{ + public enum LWAExceptionErrorCode + { + access_denied, + invalid_grant, + invalid_request, + invalid_scope, + server_error, + temporarily_unavailable, + unauthorized_client, + invalid_client, + other + } +} + diff --git a/clients/sellingpartner-api-aa-csharp/src/Amazon.SellingPartnerAPIAA/resources/swagger-codegen/templates/ApiClient.mustache b/clients/sellingpartner-api-aa-csharp/src/Amazon.SellingPartnerAPIAA/resources/swagger-codegen/templates/ApiClient.mustache index faad46925..52a4e56bf 100644 --- a/clients/sellingpartner-api-aa-csharp/src/Amazon.SellingPartnerAPIAA/resources/swagger-codegen/templates/ApiClient.mustache +++ b/clients/sellingpartner-api-aa-csharp/src/Amazon.SellingPartnerAPIAA/resources/swagger-codegen/templates/ApiClient.mustache @@ -33,7 +33,6 @@ namespace {{packageName}}.Client {{>visibility}} partial class ApiClient { private LWAAuthorizationSigner lwaAuthorizationSigner; - private AWSSigV4Signer awsSigV4Signer; private RateLimitConfiguration rateLimitConfig; private TimeLimiter rateLimiter; @@ -46,10 +45,10 @@ namespace {{packageName}}.Client /// Allows for extending request processing for generated code. /// /// The RestSharp request object + /// Thrown when there is an error during LWA Authorization private void InterceptRequest(IRestRequest request) { lwaAuthorizationSigner.Sign(request); - awsSigV4Signer.Sign(request, RestClient.BaseUrl.Host); } /// @@ -74,7 +73,6 @@ namespace {{packageName}}.Client {{/netStandard}} lwaAuthorizationSigner = new LWAAuthorizationSigner(Configuration.AuthorizationCredentials); - awsSigV4Signer = new AWSSigV4Signer(Configuration.AuthenticationCredentials); rateLimitConfig = Configuration.RateLimitConfig; if(rateLimitConfig != null) { diff --git a/clients/sellingpartner-api-aa-csharp/src/Amazon.SellingPartnerAPIAA/resources/swagger-codegen/templates/Configuration.mustache b/clients/sellingpartner-api-aa-csharp/src/Amazon.SellingPartnerAPIAA/resources/swagger-codegen/templates/Configuration.mustache index 247498a37..3038689de 100644 --- a/clients/sellingpartner-api-aa-csharp/src/Amazon.SellingPartnerAPIAA/resources/swagger-codegen/templates/Configuration.mustache +++ b/clients/sellingpartner-api-aa-csharp/src/Amazon.SellingPartnerAPIAA/resources/swagger-codegen/templates/Configuration.mustache @@ -268,12 +268,6 @@ namespace {{packageName}}.Client /// /// The LWAAuthorizationCredentials public virtual LWAAuthorizationCredentials AuthorizationCredentials { get; set; } - - /// - /// Gets or sets the AWSAuthenticationCredentials for Amazon Selling Partner API Authentication - /// - /// The AWSAuthenticationCredentials - public virtual AWSAuthenticationCredentials AuthenticationCredentials { get; set; } /// /// Gets or sets the RateLimitConfiguration for Amazon Selling Partner API Authentication diff --git a/clients/sellingpartner-api-aa-csharp/src/Amazon.SellingPartnerAPIAA/resources/swagger-codegen/templates/IReadableConfiguration.mustache b/clients/sellingpartner-api-aa-csharp/src/Amazon.SellingPartnerAPIAA/resources/swagger-codegen/templates/IReadableConfiguration.mustache index aa890fc5d..cae69555d 100644 --- a/clients/sellingpartner-api-aa-csharp/src/Amazon.SellingPartnerAPIAA/resources/swagger-codegen/templates/IReadableConfiguration.mustache +++ b/clients/sellingpartner-api-aa-csharp/src/Amazon.SellingPartnerAPIAA/resources/swagger-codegen/templates/IReadableConfiguration.mustache @@ -88,12 +88,6 @@ namespace {{packageName}}.Client /// /// AuthorizationCredentials LWAAuthorizationCredentials AuthorizationCredentials { get; } - - /// - /// Gets the AWSAuthenticationCredentials for Amazon Selling Partner API Authentication - /// - /// AuthenticationCredentials - AWSAuthenticationCredentials AuthenticationCredentials { get; } /// /// Gets the RateLimitConfigurationOnRequests for Amazon Selling Partner API RateLimit diff --git a/clients/sellingpartner-api-aa-csharp/src/Amazon.SellingPartnerAPIAA/resources/swagger-codegen/templates/api.mustache b/clients/sellingpartner-api-aa-csharp/src/Amazon.SellingPartnerAPIAA/resources/swagger-codegen/templates/api.mustache index 32b375e0d..17644f225 100644 --- a/clients/sellingpartner-api-aa-csharp/src/Amazon.SellingPartnerAPIAA/resources/swagger-codegen/templates/api.mustache +++ b/clients/sellingpartner-api-aa-csharp/src/Amazon.SellingPartnerAPIAA/resources/swagger-codegen/templates/api.mustache @@ -435,7 +435,6 @@ namespace {{packageName}}.{{apiPackage}} public class Builder { private LWAAuthorizationCredentials lwaAuthorizationCredentials; - private AWSAuthenticationCredentials awsAuthenticationCredentials; private RateLimitConfiguration rateLimitConfiguration; public Builder SetLWAAuthorizationCredentials(LWAAuthorizationCredentials lwaAuthorizationCredentials) @@ -443,12 +442,6 @@ namespace {{packageName}}.{{apiPackage}} this.lwaAuthorizationCredentials = lwaAuthorizationCredentials; return this; } - - public Builder SetAWSAuthenticationCredentials(AWSAuthenticationCredentials awsAuthenticationCredentials) - { - this.awsAuthenticationCredentials = awsAuthenticationCredentials; - return this; - } public Builder SetRateLimitConfiguration(RateLimitConfiguration rateLimitConfiguration) @@ -464,15 +457,10 @@ namespace {{packageName}}.{{apiPackage}} throw new NullReferenceException("LWAAuthoriztionCredentials not set"); } - if (awsAuthenticationCredentials == null) - { - throw new NullReferenceException("AWSAuthenticationCredentials not set"); - } {{packageName}}.Client.Configuration configuration = new {{packageName}}.Client.Configuration() { AuthorizationCredentials = lwaAuthorizationCredentials, - AuthenticationCredentials = awsAuthenticationCredentials, RateLimitConfig = rateLimitConfiguration }; diff --git a/clients/sellingpartner-api-aa-csharp/test/Amazon.SellingPartnerAPIAATests/AWSSigV4SignerTest.cs b/clients/sellingpartner-api-aa-csharp/test/Amazon.SellingPartnerAPIAATests/AWSSigV4SignerTest.cs deleted file mode 100644 index 20d6a3fca..000000000 --- a/clients/sellingpartner-api-aa-csharp/test/Amazon.SellingPartnerAPIAATests/AWSSigV4SignerTest.cs +++ /dev/null @@ -1,88 +0,0 @@ -using Moq; -using Xunit; -using RestSharp; -using Amazon.SellingPartnerAPIAA; -using System; - -namespace Amazon.SellingPartnerAPIAATests -{ - public class AWSSigV4SignerTest - { - private const string TestAccessKeyId = "aKey"; - private const string TestSecretKey = "sKey"; - private const string TestRegion = "us-east-1"; - private const string TestResourcePath = "iam/user"; - private const string TestHost = "sellingpartnerapi.amazon.com"; - - private RestRequest request; - private AWSSigV4Signer sigV4SignerUnderTest; - private Mock mockAWSSignerHelper; - - public AWSSigV4SignerTest() - { - request = new RestRequest(TestResourcePath, Method.GET); - - AWSAuthenticationCredentials authenticationCredentials = new AWSAuthenticationCredentials - { - AccessKeyId = TestAccessKeyId, - SecretKey = TestSecretKey, - Region = TestRegion - }; - mockAWSSignerHelper = new Mock(); - sigV4SignerUnderTest = new AWSSigV4Signer(authenticationCredentials); - sigV4SignerUnderTest.AwsSignerHelper = mockAWSSignerHelper.Object; - } - - [Fact] - public void TestSignRequest() - { - DateTime signingDate = DateTime.UtcNow; - string expectedHashedCanonicalRequest = "b7a5ea4c3179fcebed77f19ccd7d85795d4b7a1810709b55fa7ad3fd79ab6adc"; - string expectedSignedHeaders = "testSignedHeaders"; - string expectedSignature = "testSignature"; - string expectedStringToSign = "testStringToSign"; - mockAWSSignerHelper.Setup(signerHelper => signerHelper.InitializeHeaders(request, TestHost)) - .Returns(signingDate); - mockAWSSignerHelper.Setup(signerHelper => signerHelper.ExtractCanonicalURIParameters(request)) - .Returns("testURIParameters"); - mockAWSSignerHelper.Setup(signerHelper => signerHelper.ExtractCanonicalQueryString(request)) - .Returns("testCanonicalQueryString"); - mockAWSSignerHelper.Setup(signerHelper => signerHelper.ExtractCanonicalHeaders(request)) - .Returns("testCanonicalHeaders"); - mockAWSSignerHelper.Setup(signerHelper => signerHelper.ExtractSignedHeaders(request)) - .Returns(expectedSignedHeaders); - mockAWSSignerHelper.Setup(signerHelper => signerHelper.HashRequestBody(request)) - .Returns("testHashRequestBody"); - mockAWSSignerHelper.Setup(signerHelper => signerHelper.BuildStringToSign(signingDate, - expectedHashedCanonicalRequest, TestRegion)) - .Returns(expectedStringToSign); - mockAWSSignerHelper.Setup(signerHelper => signerHelper.CalculateSignature(expectedStringToSign, - signingDate, TestSecretKey, TestRegion)) - .Returns(expectedSignature); - - IRestRequest actualRestRequest = sigV4SignerUnderTest.Sign(request, TestHost); - - mockAWSSignerHelper.Verify(signerHelper => signerHelper.InitializeHeaders(request, TestHost)); - mockAWSSignerHelper.Verify(signerHelper => signerHelper.ExtractCanonicalURIParameters(request)); - mockAWSSignerHelper.Verify(signerHelper => signerHelper.ExtractCanonicalQueryString(request)); - mockAWSSignerHelper.Verify(signerHelper => signerHelper.ExtractCanonicalHeaders(request)); - mockAWSSignerHelper.Verify(signerHelper => signerHelper.ExtractSignedHeaders(request)); - mockAWSSignerHelper.Verify(signerHelper => signerHelper.HashRequestBody(request)); - mockAWSSignerHelper.Verify(signerHelper => signerHelper.BuildStringToSign(signingDate, - expectedHashedCanonicalRequest, - TestRegion)); - mockAWSSignerHelper.Verify(signerHelper => signerHelper.CalculateSignature(expectedStringToSign, - signingDate, - TestSecretKey, - TestRegion)); - mockAWSSignerHelper.Verify(signerHelper => signerHelper.AddSignature(request, - TestAccessKeyId, - expectedSignedHeaders, - expectedSignature, - TestRegion, - signingDate)); - - Assert.Equal(request, actualRestRequest); - } - } -} diff --git a/clients/sellingpartner-api-aa-csharp/test/Amazon.SellingPartnerAPIAATests/AWSSignerHelperTest.cs b/clients/sellingpartner-api-aa-csharp/test/Amazon.SellingPartnerAPIAATests/AWSSignerHelperTest.cs deleted file mode 100644 index 665eb3d0c..000000000 --- a/clients/sellingpartner-api-aa-csharp/test/Amazon.SellingPartnerAPIAATests/AWSSignerHelperTest.cs +++ /dev/null @@ -1,291 +0,0 @@ -using System; -using Xunit; -using RestSharp; -using Amazon.SellingPartnerAPIAA; -using System.Text; -using Moq; - -namespace Amazon.SellingPartnerAPIAATests -{ - public class AWSSignerHelperTest - { - private const string Slash = "/"; - private const string ISOSigningDateTime = "20200504T121212Z"; - private const string ISOSigningDate = "20200504"; - private const string TestAccessKeyId = "aKey"; - private const string TestSecretKey = "sKey"; - private const string TestRegion = "us-east-1"; - private const string TestResourcePath = "iam/user"; - private const string TestHost = "sellingpartnerapi.amazon.com"; - private const string JsonMediaType = "application/json; charset=utf-8"; - - private static readonly DateTime SigningDate = DateTime.Parse("2020-05-04 12:12:12"); - - private AWSSignerHelper awsSignerHelperUnderTest; - - public AWSSignerHelperTest() - { - var mockDateHelper = new Mock(); - mockDateHelper.Setup(dateHelper => dateHelper.GetUtcNow()).Returns(SigningDate); - awsSignerHelperUnderTest = new AWSSignerHelper() { DateHelper = mockDateHelper.Object }; - } - - [Fact] - public void TestExtractCanonicalURIParameters() - { - IRestRequest request = new RestRequest(TestResourcePath, Method.GET); - string result = awsSignerHelperUnderTest.ExtractCanonicalURIParameters(request); - Assert.Equal(Slash + TestResourcePath, result); - } - - [Fact] - public void TestExtractCanonicalURIParameters_UrlSegments() - { - IRestRequest request = new RestRequest("products/pricing/v0/items/{Asin}/offers/{SellerSKU}", Method.GET); - request.AddUrlSegment("Asin", "AB12CD3E4Z"); - request.AddUrlSegment("SellerSKU", "1234567890"); - string result = awsSignerHelperUnderTest.ExtractCanonicalURIParameters(request); - Assert.Equal("/products/pricing/v0/items/AB12CD3E4Z/offers/1234567890", result); - } - - [Fact] - public void TestExtractCanonicalURIParameters_IncorrectUrlSegment() - { - IRestRequest request = new RestRequest("products/pricing/v0/items/{Asin}/offers", Method.GET); - request.AddUrlSegment("asin", "AB12CD3E4Z"); - string result = awsSignerHelperUnderTest.ExtractCanonicalURIParameters(request); - Assert.Equal("/products/pricing/v0/items/%257BAsin%257D/offers", result); - } - - [Fact] - public void TestExtractCanonicalURIParameters_ResourcePathWithSpace() - { - IRestRequest request = new RestRequest("iam/ user", Method.GET); - string result = awsSignerHelperUnderTest.ExtractCanonicalURIParameters(request); - Assert.Equal("/iam/%2520user", result); - } - - [Fact] - public void TestExtractCanonicalURIParameters_EmptyResourcePath() - { - IRestRequest request = new RestRequest(string.Empty, Method.GET); - string result = awsSignerHelperUnderTest.ExtractCanonicalURIParameters(request); - Assert.Equal(Slash, result); - } - - [Fact] - public void TestExtractCanonicalURIParameters_NullResourcePath() - { - string result = awsSignerHelperUnderTest.ExtractCanonicalURIParameters(new RestRequest()); - Assert.Equal(Slash, result); - } - - [Fact] - public void TestExtractCanonicalURIParameters_SlashPath() - { - IRestRequest request = new RestRequest(Slash, Method.GET); - string result = awsSignerHelperUnderTest.ExtractCanonicalURIParameters(request); - Assert.Equal(Slash, result); - } - - [Fact] - public void TestExtractCanonicalQueryString() - { - IRestRequest request = new RestRequest(); - request.AddQueryParameter("Version", "2010-05-08"); - request.AddQueryParameter("Action", "ListUsers"); - request.AddQueryParameter("RequestId", "1"); - - string result = awsSignerHelperUnderTest.ExtractCanonicalQueryString(request); - //Query parameters in canonical order - Assert.Equal("Action=ListUsers&RequestId=1&Version=2010-05-08", result); - } - - [Fact] - public void TestExtractCanonicalQueryString_EmptyQueryParameters() - { - string result = awsSignerHelperUnderTest.ExtractCanonicalQueryString(new RestRequest()); - Assert.Empty(result); - } - - [Fact] - public void TestExtractCanonicalQueryString_WithUrlEncoding() - { - IRestRequest request = new RestRequest(); - request.AddQueryParameter("Action^", "ListUsers$Roles"); - string result = awsSignerHelperUnderTest.ExtractCanonicalQueryString(request); - Assert.Equal("Action%5E=ListUsers%24Roles", result); - } - - [Fact] - public void TestExtractCanonicalHeaders() - { - IRestRequest request = new RestRequest(); - request.AddHeader("X-Amz-Date", "20150830T123600Z"); - request.AddHeader("Host", "iam.amazonaws.com"); - request.AddHeader("Content-Type", JsonMediaType); - - string result = awsSignerHelperUnderTest.ExtractCanonicalHeaders(request); - Assert.Equal("content-type:application/json; charset=utf-8\nhost:iam.amazonaws.com\n" + - "x-amz-date:20150830T123600Z\n", result); - } - - [Fact] - public void TestExtractCanonicalHeaders_NoHeader() - { - string result = awsSignerHelperUnderTest.ExtractCanonicalHeaders(new RestRequest()); - Assert.Empty(result); - } - - [Fact] - public void TestExtractSignedHeaders() - { - IRestRequest request = new RestRequest(); - request.AddHeader("X-Amz-Date", "20150830T123600Z"); - request.AddHeader("Host", "iam.amazonaws.com"); - request.AddHeader("Content-Type", JsonMediaType); - - string result = awsSignerHelperUnderTest.ExtractSignedHeaders(request); - Assert.Equal("content-type;host;x-amz-date", result); - } - - [Fact] - public void TestExtractSignedHeaders_NoHeader() - { - string result = awsSignerHelperUnderTest.ExtractSignedHeaders(new RestRequest()); - Assert.Empty(result); - } - - [Fact] - public void TestHashRequestBody() - { - IRestRequest request = new RestRequest(TestResourcePath, Method.POST); - request.AddJsonBody("{\"test\":\"payload\"}"); - - string result = awsSignerHelperUnderTest.HashRequestBody(request); - Assert.NotEmpty(result); - } - - [Fact] - public void TestHashRequestBody_NoBody() - { - string result = awsSignerHelperUnderTest.HashRequestBody(new RestRequest()); - Assert.NotEmpty(result); - } - - [Fact] - public void TestBuildStringToSign() - { - string expectedCanonicalHash = "foo"; - StringBuilder expectedStringBuilder = new StringBuilder(); - expectedStringBuilder.AppendLine("AWS4-HMAC-SHA256"); - expectedStringBuilder.AppendLine(ISOSigningDateTime); - expectedStringBuilder.AppendFormat("{0}/{1}/execute-api/aws4_request\n", ISOSigningDate, TestRegion); - expectedStringBuilder.Append(expectedCanonicalHash); - - string result = awsSignerHelperUnderTest.BuildStringToSign(SigningDate, expectedCanonicalHash, TestRegion); - - Assert.Equal(expectedStringBuilder.ToString(), result); - } - - [Fact] - public void TestInitializeHeadersReturnsUtcNow() - { - Assert.Equal(SigningDate, awsSignerHelperUnderTest.InitializeHeaders(new RestRequest(), TestHost)); - } - - [Fact] - public void TestInitializeHeadersSetsUtcNowXAmzDateHeader() - { - IRestRequest request = new RestRequest(); - awsSignerHelperUnderTest.InitializeHeaders(request, TestHost); - - Parameter actualParameter = request.Parameters.Find(parameter => - ParameterType.HttpHeader.Equals(parameter.Type) && parameter.Name == AWSSignerHelper.XAmzDateHeaderName); - - Assert.Equal(ISOSigningDateTime, actualParameter.Value); - } - - [Fact] - public void TestInitializeHeadersOverwritesXAmzDateHeader() - { - IRestRequest request = new RestRequest(); - request.AddHeader(AWSSignerHelper.XAmzDateHeaderName, "foobar"); - - awsSignerHelperUnderTest.InitializeHeaders(request, TestHost); - - Parameter actualParameter = request.Parameters.Find(parameter => - ParameterType.HttpHeader.Equals(parameter.Type) && parameter.Name == AWSSignerHelper.XAmzDateHeaderName); - - Assert.Equal(ISOSigningDateTime, actualParameter.Value); - } - - [Fact] - public void TestAddSignatureToRequest() - { - IRestRequest restRequest = new RestRequest(); - string expectedAccessKeyId = TestAccessKeyId; - string expectedRegion = TestRegion; - string expectedSignature = "testCalculatedSignature"; - string expectedSignedHeaders = "header1;header2"; - - string expectedAuthorizationHeaderValue = string.Format("AWS4-HMAC-SHA256 " + - "Credential={0}/{1}/{2}/execute-api/aws4_request, SignedHeaders={3}, Signature={4}", - expectedAccessKeyId, - ISOSigningDate, - expectedRegion, - expectedSignedHeaders, - expectedSignature); - - awsSignerHelperUnderTest.AddSignature(restRequest, - expectedAccessKeyId, - expectedSignedHeaders, - expectedSignature, - expectedRegion, - SigningDate); - - Parameter actualParameter = restRequest.Parameters.Find(parameter => - ParameterType.HttpHeader.Equals(parameter.Type) && parameter.Name == AWSSignerHelper.AuthorizationHeaderName); - - Assert.Equal(expectedAuthorizationHeaderValue, actualParameter.Value); - } - - [Fact] - public void TestCalculateSignature() - { - string signature = awsSignerHelperUnderTest.CalculateSignature("testString", - SigningDate, - TestSecretKey, - TestRegion); - Assert.Equal("7e2c7c2e330123ef7468b41d8ddaf3841e6ef56959b9116b44ded5466cf96405", signature); - } - - [Fact] - public void TestInitializeHeadersSetsHostHeader() - { - IRestRequest restRequest = new RestRequest(); - - awsSignerHelperUnderTest.InitializeHeaders(restRequest, TestHost); - - Parameter actualParamter = restRequest.Parameters.Find(parameter => - ParameterType.HttpHeader.Equals(parameter.Type) && parameter.Name == AWSSignerHelper.HostHeaderName); - - Assert.Equal(TestHost, actualParamter.Value); - } - - [Fact] - public void TestInitializeHeadersOverwritesHostHeader() - { - IRestRequest restRequest = new RestRequest(); - - restRequest.AddHeader(AWSSignerHelper.HostHeaderName, "foobar"); - - awsSignerHelperUnderTest.InitializeHeaders(restRequest, TestHost); - - Parameter actualParamter = restRequest.Parameters.Find(parameter => - ParameterType.HttpHeader.Equals(parameter.Type) && parameter.Name == AWSSignerHelper.HostHeaderName); - - Assert.Equal(TestHost, actualParamter.Value); - } - } -} diff --git a/clients/sellingpartner-api-aa-csharp/test/Amazon.SellingPartnerAPIAATests/Amazon.SellingPartnerAPIAATests.csproj b/clients/sellingpartner-api-aa-csharp/test/Amazon.SellingPartnerAPIAATests/Amazon.SellingPartnerAPIAATests.csproj index 4a0bd064a..5036ffdb1 100644 --- a/clients/sellingpartner-api-aa-csharp/test/Amazon.SellingPartnerAPIAATests/Amazon.SellingPartnerAPIAATests.csproj +++ b/clients/sellingpartner-api-aa-csharp/test/Amazon.SellingPartnerAPIAATests/Amazon.SellingPartnerAPIAATests.csproj @@ -1,20 +1,21 @@ - - - - netcoreapp3.1 - - false - - - - - - - - - - - - - - + + + + netcoreapp3.1 + + false + 2.0 + + + + + + + + + + + + + + diff --git a/clients/sellingpartner-api-aa-csharp/test/Amazon.SellingPartnerAPIAATests/LWAClientTest.cs b/clients/sellingpartner-api-aa-csharp/test/Amazon.SellingPartnerAPIAATests/LWAClientTest.cs index cf4fbc2ee..230475d00 100644 --- a/clients/sellingpartner-api-aa-csharp/test/Amazon.SellingPartnerAPIAATests/LWAClientTest.cs +++ b/clients/sellingpartner-api-aa-csharp/test/Amazon.SellingPartnerAPIAATests/LWAClientTest.cs @@ -15,6 +15,9 @@ public class LWAClientTest private const string TestClientSecret = "cSecret"; private const string TestClientId = "cId"; private const string TestRefreshGrantType = "rToken"; + private const string LWAExceptionMessage = "Error getting LWA Access Token"; + private const string LWAClientAuthMessage = "Client authentication failed"; + private const string LWAAccessDeniedMessage = "The customer or authorization server denied the request"; private Mock mockRestClient; private Mock mockLWAAccessTokenRequestMetaBuilder; @@ -101,7 +104,7 @@ public void ReturnAccessTokenFromResponse() } [Fact] - public void UnsuccessfulPostThrowsException() + public void UnsuccessfulPostMissingContentThrowsOtherException() { IRestResponse response = new RestResponse { @@ -119,8 +122,81 @@ public void UnsuccessfulPostThrowsException() LWAClient lwaClientUnderTest = new LWAClient(LWAAuthorizationCredentials); lwaClientUnderTest.RestClient = mockRestClient.Object; - SystemException systemException = Assert.Throws(() => lwaClientUnderTest.GetAccessToken()); - Assert.IsType(systemException.GetBaseException()); + LWAException lwaException = Assert.Throws(() => lwaClientUnderTest.GetAccessToken()); + Assert.Equal(LWAExceptionErrorCode.other.ToString(), lwaException.getErrorCode()); + Assert.Equal(LWAExceptionMessage, lwaException.Message); + } + + [Fact] + public void UnsuccessfulPostThrowsInvalidClientException() + { + IRestResponse response = new RestResponse + { + StatusCode = HttpStatusCode.BadRequest, + ResponseStatus = ResponseStatus.Completed, + Content = @"{error:'invalid_client', error_description:'Client authentication failed'}" + }; + + IRestRequest request = new RestRequest(); + + mockRestClient.Setup(client => client.Execute(It.IsAny())) + .Callback((IRestRequest req) => { request = req; }) + .Returns(response); + + LWAClient lwaClientUnderTest = new LWAClient(LWAAuthorizationCredentials); + lwaClientUnderTest.RestClient = mockRestClient.Object; + + LWAException lwaException = Assert.Throws(() => lwaClientUnderTest.GetAccessToken()); + Assert.Equal(LWAExceptionErrorCode.invalid_client.ToString(), lwaException.getErrorCode()); + Assert.Equal(LWAClientAuthMessage, lwaException.getErrorMessage()); + } + + [Fact] + public void UnsuccessfulPostThrowsAccessDeniedException() + { + IRestResponse response = new RestResponse + { + StatusCode = HttpStatusCode.BadRequest, + ResponseStatus = ResponseStatus.Completed, + Content = @"{error:'access_denied', error_description:'The customer or authorization server denied the request'}" + }; + + IRestRequest request = new RestRequest(); + + mockRestClient.Setup(client => client.Execute(It.IsAny())) + .Callback((IRestRequest req) => { request = req; }) + .Returns(response); + + LWAClient lwaClientUnderTest = new LWAClient(LWAAuthorizationCredentials); + lwaClientUnderTest.RestClient = mockRestClient.Object; + + LWAException lwaException = Assert.Throws(() => lwaClientUnderTest.GetAccessToken()); + Assert.Equal(LWAExceptionErrorCode.access_denied.ToString(), lwaException.getErrorCode()); + Assert.Equal(LWAAccessDeniedMessage, lwaException.getErrorMessage()); + } + + [Fact] + public void UnsuccessfulPostThrowsOtherException() + { + IRestResponse response = new RestResponse + { + StatusCode = HttpStatusCode.BadRequest, + ResponseStatus = ResponseStatus.Completed, + Content = @"{error:'invalid_token'}" + }; + + IRestRequest request = new RestRequest(); + + mockRestClient.Setup(client => client.Execute(It.IsAny())) + .Callback((IRestRequest req) => { request = req; }) + .Returns(response); + + LWAClient lwaClientUnderTest = new LWAClient(LWAAuthorizationCredentials); + lwaClientUnderTest.RestClient = mockRestClient.Object; + + LWAException lwaException = Assert.Throws(() => lwaClientUnderTest.GetAccessToken()); + Assert.Equal(LWAExceptionErrorCode.other.ToString(), lwaException.getErrorCode()); + Assert.Equal(LWAExceptionMessage, lwaException.Message); } [Fact] From 5f52cbeeb057b67260ba9101660bf67fccfb8c1d Mon Sep 17 00:00:00 2001 From: Gibran Waldron Date: Wed, 11 Oct 2023 08:14:58 -0700 Subject: [PATCH 177/340] Add business object AssocaitedItems to orders api reference. --- models/orders-api-model/ordersV0.json | 39 ++++++++++++++++++++++++++- 1 file changed, 38 insertions(+), 1 deletion(-) diff --git a/models/orders-api-model/ordersV0.json b/models/orders-api-model/ordersV0.json index 3a2a72b52..c3bdf7a3a 100644 --- a/models/orders-api-model/ordersV0.json +++ b/models/orders-api-model/ordersV0.json @@ -73,7 +73,7 @@ { "name": "MarketplaceIds", "in": "query", - "description": "A list of MarketplaceId values. Used to select orders that were placed in the specified marketplaces.\n\nSee the [Selling Partner API Developer Guide](doc:marketplace-ids) for a complete list of marketplaceId values.", + "description": "A list of MarketplaceId values. Used to select orders that were placed in the specified marketplaces.\n\nRefer to [Marketplace IDs](https://developer-docs.amazon.com/sp-api/docs/marketplace-ids) for a complete list of marketplaceId values.", "required": true, "type": "array", "items": { @@ -3951,6 +3951,13 @@ "type": "string", "description": "An Amazon-defined order item identifier." }, + "AssociatedItems": { + "type": "array", + "description": "A list of associated items that a customer has purchased with a product. For example, a tire installation service purchased with tires.", + "items": { + "$ref": "#/definitions/AssociatedItem" + } + }, "Title": { "type": "string", "description": "The name of the item." @@ -4313,6 +4320,36 @@ } } }, + "AssociatedItem": { + "description": "An item associated with an order item. For example, a tire installation service purchased with tires.", + "type": "object", + "properties": { + "OrderId": { + "type": "string", + "description": "The order item's order identifier, in 3-7-7 format." + }, + "OrderItemId": { + "type": "string", + "description": "An Amazon-defined item identifier for the associated item." + }, + "AssociationType": { + "$ref": "#/definitions/AssociationType" + } + } + }, + "AssociationType": { + "type": "string", + "description": "The type of association an item has with an order item.", + "enum": [ + "VALUE_ADD_SERVICE" + ], + "x-docgen-enum-table-extension": [ + { + "value": "VALUE_ADD_SERVICE", + "description": "The associated item is a service order." + } + ] + }, "OrderItemsBuyerInfoList": { "type": "object", "required": [ From 3f667b528e6468cc9a5f33e98664d65468b08425 Mon Sep 17 00:00:00 2001 From: andiec Date: Wed, 11 Oct 2023 11:18:32 -0400 Subject: [PATCH 178/340] update descriptions in pricingpricingv0 --- models/product-pricing-api-model/productPricingV0.json | 2 -- 1 file changed, 2 deletions(-) diff --git a/models/product-pricing-api-model/productPricingV0.json b/models/product-pricing-api-model/productPricingV0.json index d33346838..f38bd7639 100644 --- a/models/product-pricing-api-model/productPricingV0.json +++ b/models/product-pricing-api-model/productPricingV0.json @@ -7723,9 +7723,7 @@ "LowestPriceType": { "type": "object", "required": [ - "LandedPrice", "ListingPrice", - "Shipping", "condition", "fulfillmentChannel" ], From a0d238319ab432d6f508cf206dfeaad0e996f833 Mon Sep 17 00:00:00 2001 From: andiec Date: Wed, 11 Oct 2023 11:19:17 -0400 Subject: [PATCH 179/340] update descriptions to listingsItems_2021-08-01 --- .../listings-items-api-model/listingsItems_2021-08-01.json | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/models/listings-items-api-model/listingsItems_2021-08-01.json b/models/listings-items-api-model/listingsItems_2021-08-01.json index 1960d85d9..02dc28910 100644 --- a/models/listings-items-api-model/listingsItems_2021-08-01.json +++ b/models/listings-items-api-model/listingsItems_2021-08-01.json @@ -1049,7 +1049,11 @@ } }, "procurement": { - "$ref": "#/definitions/ItemProcurement" + "description": "Vendor procurement information for the listings item.", + "type": "array", + "items": { + "$ref": "#/definitions/ItemProcurement" + } } }, "required": [ From 036f3c273c19c2edb775a8de6c7a5027fd7445b8 Mon Sep 17 00:00:00 2001 From: andiec Date: Wed, 11 Oct 2023 11:26:30 -0400 Subject: [PATCH 180/340] ds store --- .DS_Store | Bin 0 -> 8196 bytes models/.DS_Store | Bin 0 -> 6148 bytes 2 files changed, 0 insertions(+), 0 deletions(-) create mode 100644 .DS_Store create mode 100644 models/.DS_Store diff --git a/.DS_Store b/.DS_Store new file mode 100644 index 0000000000000000000000000000000000000000..045cda8cc9e75f92fb40d5be2344deb1ddadfe77 GIT binary patch literal 8196 zcmeHMYitx%6u#fIlo>m~v=%7HWVe=Au-I)WNI`JBEiY*W*_LigvF`2+?Z|Yd?#ym^ z1hd5WHqrP>{6&2JY}9DP7<~OQ@fA%&B8kMPiTKA~{J{kD%-mUG7iwZ+4CvhC-ZSUi zd(O-`^PPM5%reH1$ZIW()icIK>K;|9X}C)B=DmJJ69P#kQII}kCUY_q&UnVOGgqt* z1z`lj2!s&`BM?R)jKH-J0Xnn2CeCo~^Vx6=BM?U5e;EO9e~41|Xgr`rPW`Qe2EPO# z>XiU~qid=Ie4S`O;{h#l>Z_7XUOgaCMNndZtJ8ecTTV0{&?2W?oq?+}1b0SIp}@a8 z=|%nJ3~^4wF^oVMfh!~6rB4+bV>Z*6URJ-K%#53c89PhlSt?Gd0ek;o0-yeIn8bx zD2dXrQh)U5+V<9_Xxo}~$C{!?+goG&`j{lnZ*1PUXZWBwX4#K(HxO(EY)+Y5Pn7#) zI)zUDO`;-M^65;;C+UW2d5+qj8W@y^QbyLclEx8zSefULV>^i5ozn~CP=D4o^JA7X ztkh)FW;So8UA@CJy~QM(=VWuXY3{Zi!!>McAm!?Z+>)VbQ>j76&bghwv0+8YJNh1- zY#9Z;i!7380PQF8wQdxU!jGS?}ETMLZ z%BSKz-i^D{j=O7Iw@QzcP`8WXpfj4z>ANNffF+G?QS@Id$vu@Vn&H|xKN@#6sOo@c zszcLsjhtRwzo=GCs(qsJ4e2O`RWJzh^e#B^#m2Z+^xsKid=-B;jhry%$5^T>u>tiC zIF&7D>*+x2Wd|tXj1?O=Qm+-q#BP3 z!eQd4Z6TCy!6!gr^6Kdp*|vShopSdzpKjmI^%CsHy7>zhMwhK>Zd<>p<1!36YD+-< za{~C7pOz^;=6zh0X6b7*mL(nk-1NRZuT@-K#hj9cC;vqbONAVaT z{W(037jObE5!zoRyiei{yotB)K2G67e1wmE+)v><{D2?JklZsJ$v9t*_~kfJzZ@re`42<7j?z+3CmzrurzD~FuYU;mJ3qI>^FKWQ|D)&sA4-*SOaK4? literal 0 HcmV?d00001 diff --git a/models/.DS_Store b/models/.DS_Store new file mode 100644 index 0000000000000000000000000000000000000000..866873ad3b01d99446ca22091bfa34956876b09f GIT binary patch literal 6148 zcmeHK%}T>S5T4blsYU2Pq22;sE!O%2;w4ml0V8@)sfj5y7_+5G?V$)c>kIiLK9Aq* zZV{~>^k7AHVCI|sncePJW;a7bqBV#%iK;~8Kp9JmFrNsIvrfp2=_vt)S|g^Ex|C6! z;)&U|!!lqQ_-hPs?$#(lzGjrezU6OD9lBGw98eD@G?8f+vApgocZ%>X*F4tgzcTlOlYiiD{6AQn z9s?#foXYfmg5B9NU>W$M4DkKnLK!`Sg+_ICz^D=c$e$5P;Bzg(F|I++V4)Es5TQeX zI#ievL+EhyyJnteu+XT(Ntoh8n4N{GP=wkY>$_??2~VT7mI2Gadj@88v&!%P(bx6= z`yku03|I#K6$7Gl=pVLlB=fdT9FE^w7kUL{;dzBd6#`?PW99HuT!SjXn9B~(GgxRu Q55#^5C>pG>4E!nsuTAKrZ~y=R literal 0 HcmV?d00001 From 1f3ffe4abdaf009caf6647e8a890afc5dcb364f3 Mon Sep 17 00:00:00 2001 From: Gibran Waldron Date: Tue, 24 Oct 2023 11:30:59 -0700 Subject: [PATCH 181/340] Update the description for the Replenishment API. --- .../replenishment-api-model/replenishment-2022-11-07.json | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/models/replenishment-api-model/replenishment-2022-11-07.json b/models/replenishment-api-model/replenishment-2022-11-07.json index 02f0ddc69..c61768d81 100644 --- a/models/replenishment-api-model/replenishment-2022-11-07.json +++ b/models/replenishment-api-model/replenishment-2022-11-07.json @@ -3,7 +3,7 @@ "info": { "version": "2022-11-07", "title": "Selling Partner API for Replenishment", - "description": "The Selling Partner API for Replenishment (Replenishment API) provides programmatic access to replenishment program metrics and offers. These programs provide recurring delivery (automatic or manual) of any replenishable item at a frequency chosen by the customer.", + "description": "The Selling Partner API for Replenishment (Replenishment API) provides programmatic access to replenishment program metrics and offers. These programs provide recurring delivery of any replenishable item at a frequency chosen by the customer.\n\nThe Replenishment API is available worldwide wherever Amazon Subscribe & Save is available or is supported. The API is available to vendors and FBA selling partners.", "contact": { "name": "Selling Partner API Developer Support", "url": "https://sellercentral.amazon.com/gp/mws/contactus.html" @@ -390,7 +390,7 @@ }, "key": { "$ref": "#/definitions/ListOfferMetricsSortKey" - } + } } }, "ListOfferMetricsSortKey": { @@ -1820,4 +1820,4 @@ } } } -} +} \ No newline at end of file From e1b55641ff4a52113b63847e054fddc0850354d9 Mon Sep 17 00:00:00 2001 From: Alex Rupprecht Date: Thu, 2 Nov 2023 12:10:43 -0400 Subject: [PATCH 182/340] Updating to most recent file --- .../merchant-fulfillment-api-model/merchantFulfillmentV0.json | 3 +++ 1 file changed, 3 insertions(+) diff --git a/models/merchant-fulfillment-api-model/merchantFulfillmentV0.json b/models/merchant-fulfillment-api-model/merchantFulfillmentV0.json index 3b9190181..25f184218 100644 --- a/models/merchant-fulfillment-api-model/merchantFulfillmentV0.json +++ b/models/merchant-fulfillment-api-model/merchantFulfillmentV0.json @@ -29,6 +29,7 @@ "tags": [ "merchantFulfillment" ], + "deprecated": true, "description": "Returns a list of shipping service offers that satisfy the specified shipment request details.\n\n**Usage Plan:**\n\n| Rate (requests per second) | Burst |\n| ---- | ---- |\n| 1 | 1 |\n\nThe `x-amzn-RateLimit-Limit` response header returns the usage plan rate limits that were applied to the requested operation, when available. The table above indicates the default rate and burst values for this operation. Selling partners whose business demands require higher throughput may see higher rate and burst values than those shown here. For more information, see [Usage Plans and Rate Limits in the Selling Partner API](https://developer-docs.amazon.com/sp-api/docs/usage-plans-and-rate-limits-in-the-sp-api).", "operationId": "getEligibleShipmentServicesOld", "parameters": [ @@ -1245,6 +1246,7 @@ "tags": [ "merchantFulfillment" ], + "deprecated": true, "description": "Cancel the shipment indicated by the specified shipment identifer.\n\n**Usage Plan:**\n\n| Rate (requests per second) | Burst |\n| ---- | ---- |\n| 1 | 1 |\n\nThe `x-amzn-RateLimit-Limit` response header returns the usage plan rate limits that were applied to the requested operation, when available. The table above indicates the default rate and burst values for this operation. Selling partners whose business demands require higher throughput may see higher rate and burst values than those shown here. For more information, see [Usage Plans and Rate Limits in the Selling Partner API](https://developer-docs.amazon.com/sp-api/docs/usage-plans-and-rate-limits-in-the-sp-api).", "operationId": "cancelShipmentOld", "parameters": [ @@ -1842,6 +1844,7 @@ "tags": [ "merchantFulfillment" ], + "deprecated": true, "description": "Get a list of additional seller inputs required for a ship method. This is generally used for international shipping.\n\n**Usage Plan:**\n\n| Rate (requests per second) | Burst |\n| ---- | ---- |\n| 1 | 1 |\n\nThe `x-amzn-RateLimit-Limit` response header returns the usage plan rate limits that were applied to the requested operation, when available. The table above indicates the default rate and burst values for this operation. Selling partners whose business demands require higher throughput may see higher rate and burst values than those shown here. For more information, see [Usage Plans and Rate Limits in the Selling Partner API](https://developer-docs.amazon.com/sp-api/docs/usage-plans-and-rate-limits-in-the-sp-api).", "operationId": "getAdditionalSellerInputsOld", "parameters": [ From fa79ddbab8d54404f97bc9527a20f6f39f75e594 Mon Sep 17 00:00:00 2001 From: Gibran Waldron Date: Wed, 8 Nov 2023 08:19:40 -0800 Subject: [PATCH 183/340] Update productPricing_2022-05-01.json to add new resultStatus value. --- .../productPricing_2022-05-01.json | 676 +++++++++++++++++- 1 file changed, 668 insertions(+), 8 deletions(-) diff --git a/models/product-pricing-api-model/productPricing_2022-05-01.json b/models/product-pricing-api-model/productPricing_2022-05-01.json index 5868e1fce..7083491ab 100644 --- a/models/product-pricing-api-model/productPricing_2022-05-01.json +++ b/models/product-pricing-api-model/productPricing_2022-05-01.json @@ -1,7 +1,7 @@ { "swagger": "2.0", "info": { - "description": "The Selling Partner API for Pricing helps you programmatically retrieve product pricing and offer pricing information for Amazon Marketplace products.\n\nFor more information, see the [Product Pricing v2022-05-01 Use Case Guide](doc:product-pricing-api-v2022-05-01-use-case-guide).", + "description": "The Selling Partner API for Pricing helps you programmatically retrieve product pricing and offer pricing information for Amazon Marketplace products.\n\nFor more information, refer to the [Product Pricing v2022-05-01 Use Case Guide](https://developer-docs.amazon.com/sp-api/docs/product-pricing-api-v2022-05-01-use-case-guide).", "version": "2022-05-01", "title": "Selling Partner API for Pricing", "contact": { @@ -29,7 +29,7 @@ "tags": [ "productPricing" ], - "description": "Returns the set of responses that correspond to the batched list of up to 40 requests defined in the request body. The response for each successful (HTTP status code 200) request in the set includes the computed listing price at or below which a seller can expect to become the featured offer (before applicable promotions). This is called the featured offer expected price (FOEP). Featured offer is not guaranteed, because competing offers may change, and different offers may be featured based on other factors, including fulfillment capabilities to a specific customer. The response to an unsuccessful request includes the available error text.\n\n**Usage Plan:**\n\n| Rate (requests per second) | Burst |\n| ---- | ---- |\n| 0.033 | 1 |\n\nThe `x-amzn-RateLimit-Limit` response header returns the usage plan rate limits that were applied to the requested operation, when available. The table above indicates the default rate and burst values for this operation. Selling partners whose business demands require higher throughput may see higher rate and burst values than those shown here. For more information, see [Usage Plans and Rate Limits in the Selling Partner API](doc:usage-plans-and-rate-limits-in-the-sp-api).", + "description": "Returns the set of responses that correspond to the batched list of up to 40 requests defined in the request body. The response for each successful (HTTP status code 200) request in the set includes the computed listing price at or below which a seller can expect to become the featured offer (before applicable promotions). This is called the featured offer expected price (FOEP). Featured offer is not guaranteed, because competing offers may change, and different offers may be featured based on other factors, including fulfillment capabilities to a specific customer. The response to an unsuccessful request includes the available error text.\n\n**Usage Plan:**\n\n| Rate (requests per second) | Burst |\n| ---- | ---- |\n| 0.033 | 1 |\n\nThe `x-amzn-RateLimit-Limit` response header returns the usage plan rate limits that were applied to the requested operation, when available. The table above indicates the default rate and burst values for this operation. Selling partners whose business demands require higher throughput may see higher rate and burst values than those shown here. For more information, refer to [Usage Plans and Rate Limits in the Selling Partner API](https://developer-docs.amazon.com/sp-api/docs/usage-plans-and-rate-limits-in-the-sp-api).", "operationId": "getFeaturedOfferExpectedPriceBatch", "parameters": [ { @@ -516,11 +516,367 @@ } } } + }, + "/batches/products/pricing/2022-05-01/items/competitiveSummary": { + "post": { + "tags": [ + "productPricing" + ], + "description": "Returns the competitive summary response including featured buying options for the ASIN and `marketplaceId` combination", + "operationId": "getCompetitiveSummary", + "parameters": [ + { + "name": "requests", + "in": "body", + "description": "The batch of `getCompetitiveSummary` requests.", + "required": true, + "schema": { + "$ref": "#/definitions/CompetitiveSummaryBatchRequest" + } + } + ], + "responses": { + "200": { + "description": "Success.", + "schema": { + "$ref": "#/definitions/CompetitiveSummaryBatchResponse" + }, + "headers": { + "x-amzn-RateLimit-Limit": { + "type": "string", + "description": "Your rate limit (requests per second) for this operation." + }, + "x-amzn-RequestId": { + "type": "string", + "description": "The unique request reference identifier." + } + }, + "examples": { + "application/json": { + "responses": [ + { + "status": { + "statusCode": 200, + "reasonPhrase": "Success" + }, + "body": { + "asin":"B00ZIAODGE", + "marketplaceId":"ATVPDKIKX0DER", + "featuredBuyingOptions":[ + { + "buyingOptionType":"New", + "segmentedFeaturedOffers":[ + { + "sellerId": "A3DJR8M9Y3OUPG", + "condition": "New", + "fulfillmentType": "MFN", + "listingPrice": { + "amount": 18.11, + "currencyCode": "USD" + }, + "shippingOptions": [ + { + "shippingOptionType": "DEFAULT", + "price": { + "amount": 2.50, + "currencyCode": "USD" + } + } + ], + "points": { + "pointsNumber": 3, + "pointsMonetaryValue": { + "amount": 0.03, + "currencyCode": "USD" + } + }, + "featuredOfferSegments": [ + { + "customerMembership": "PRIME", + "segmentDetails": { + "glanceViewWeightPercentage": 72 + } + }, + { + "customerMembership": "NON_PRIME", + "segmentDetails": { + "glanceViewWeightPercentage": 18 + } + } + ] + }, + { + "sellerId":"A2ZWOLFOFDPJL1", + "condition":"New", + "fulfillmentType":"MFN", + "listingPrice":{ + "amount":17.15, + "currencyCode":"USD" + }, + "shippingOptions":[ + { + "shippingOptionType": "DEFAULT", + "price":{ + "amount":2.50, + "currencyCode":"USD" + } + } + ], + "points":{ + "pointsNumber":3, + "pointsMonetaryValue":{ + "amount":0.03, + "currencyCode":"USD" + } + }, + "featuredOfferSegments":[ + { + "customerMembership": "NON_PRIME", + "segmentDetails": { + "glanceViewWeightPercentage":10 + } + } + ] + } + ] + } + ] + } + } + ] + } + }, + "x-amzn-api-sandbox": { + "static": [ + { + "request": { + "parameters": { + "body": { + "value": { + "requests": [ + { + "asin": "B00ZIAODGE", + "marketplaceId": "ATVPDKIKX0DER", + "includedData": [ + "featuredBuyingOptions" + ], + "uri": "/products/pricing/2022-05-01/items/competitiveSummary", + "method": "GET" + }, + { + "asin": "11_AABB_123", + "marketplaceId": "ATVPDKIKX0DER", + "includedData": [ + "featuredBuyingOptions" + ], + "uri": "/products/pricing/2022-05-01/items/competitiveSummary", + "method": "GET" + } + ] + } + } + } + }, + "response": { + "responses": [ + { + "status": { + "statusCode": 200, + "reasonPhrase": "Success" + }, + "body": { + "asin": "B00ZIAODGE", + "marketplaceId": "ATVPDKIKX0DER", + "featuredBuyingOptions": [ + { + "buyingOptionType": "New", + "segmentedFeaturedOffers": [ + { + "sellerId": "A3DJR8M9Y3OUPG", + "condition": "New", + "fulfillmentType": "MFN", + "listingPrice": { + "amount": 18.11, + "currencyCode": "USD" + }, + "shippingOptions": [ + { + "shippingOptionType": "DEFAULT", + "price": { + "amount": 2.50, + "currencyCode": "USD" + } + } + ], + "points": { + "pointsNumber": 3, + "pointsMonetaryValue": { + "amount": 0.03, + "currencyCode": "USD" + } + }, + "featuredOfferSegments": [ + { + "customerMembership": "NON_PRIME", + "segmentDetails": { + "glanceViewWeightPercentage": 72 + } + }, + { + "customerMembership": "PRIME", + "segmentDetails": { + "glanceViewWeightPercentage": 10 + } + } + ] + }, + { + "sellerId": "A2ZWOLFOFDPJL1", + "condition": "New", + "fulfillmentType": "MFN", + "listingPrice": { + "amount": 17.15, + "currencyCode": "USD" + }, + "shippingOptions": [ + { + "shippingOptionType": "DEFAULT", + "price": { + "amount": 2.50, + "currencyCode": "USD" + } + } + ], + "points": { + "pointsNumber": 3, + "pointsMonetaryValue": { + "amount": 0.03, + "currencyCode": "USD" + } + }, + "featuredOfferSegments": [ + { + "customerMembership": "NON_PRIME", + "segmentDetails": { + "glanceViewWeightPercentage": 18 + } + } + ] + } + ] + } + ] + } + }, + { + "status": { + "statusCode": 400, + "reasonPhrase": "Client Error" + }, + "body": { + "asin": "11_AABB_123", + "marketplaceId": "ATVPDKIKX0DER", + "errors": [ + { + "code": "INVALID_ASIN", + "message": "11_AABB_123 is not a valid ASIN" + } + ] + } + } + ] + } + } + ] + } + }, + "400": { + "description": "Request has missing or invalid parameters and cannot be parsed.", + "headers": { + "x-amzn-RateLimit-Limit": { + "description": "Your rate limit (requests per second) for this operation.", + "type": "string" + }, + "x-amzn-RequestId": { + "description": "Unique request reference identifier.", + "type": "string" + } + }, + "schema": { + "$ref": "#/definitions/Errors" + } + }, + "403": { + "description": "Indicates access to the resource is forbidden. Possible reasons include Access Denied, Unauthorized, Expired Token, or Invalid Signature.", + "schema": { + "$ref": "#/definitions/Errors" + }, + "headers": { + "x-amzn-RequestId": { + "type": "string", + "description": "Unique request reference identifier." + } + } + }, + "404": { + "description": "The specified resource does not exist.", + "schema": { + "$ref": "#/definitions/Errors" + }, + "headers": { + "x-amzn-RateLimit-Limit": { + "type": "string", + "description": "Your rate limit (requests per second) for this operation." + }, + "x-amzn-RequestId": { + "type": "string", + "description": "Unique request reference identifier." + } + } + }, + "429": { + "description": "The frequency of requests was greater than allowed.", + "schema": { + "$ref": "#/definitions/Errors" + }, + "headers": { + "x-amzn-RequestId": { + "type": "string", + "description": "Unique request reference identifier." + } + } + }, + "500": { + "description": "An unexpected condition occurred that prevented the server from fulfilling the request.", + "schema": { + "$ref": "#/definitions/Errors" + }, + "headers": { + "x-amzn-RequestId": { + "type": "string", + "description": "Unique request reference identifier." + } + } + }, + "503": { + "description": "Temporary overloading or maintenance of the server.", + "schema": { + "$ref": "#/definitions/Errors" + }, + "headers": { + "x-amzn-RequestId": { + "type": "string", + "description": "Unique request reference identifier." + } + } + } + } + } } }, "definitions": { "GetFeaturedOfferExpectedPriceBatchRequest": { - "description": "The request body for the getFeaturedOfferExpectedPriceBatch operation.", + "description": "The request body for the `getFeaturedOfferExpectedPriceBatch` operation.", "type": "object", "properties": { "requests": { @@ -564,7 +920,7 @@ } }, "GetFeaturedOfferExpectedPriceBatchResponse": { - "description": "The response schema for the getFeaturedOfferExpectedPriceBatch operation.", + "description": "The response schema for the `getFeaturedOfferExpectedPriceBatch` operation.", "type": "object", "properties": { "responses": { @@ -602,6 +958,304 @@ } ] }, + "CompetitiveSummaryBatchRequest": { + "description": "The `competitiveSummary` batch request data.", + "type": "object", + "required": [ + "requests" + ], + "properties": { + "requests": { + "description": "A batched list of `competitiveSummary` requests.", + "$ref": "#/definitions/CompetitiveSummaryRequestList" + } + } + }, + "CompetitiveSummaryRequestList": { + "description": "A batched list of `competitiveSummary` requests.", + "type": "array", + "items": { + "$ref": "#/definitions/CompetitiveSummaryRequest" + }, + "minItems": 1, + "maxItems": 20 + }, + "CompetitiveSummaryRequest" : { + "description": "An individual `competitiveSummary` request for an ASIN and `marketplaceId`.", + "type": "object", + "required": [ + "asin", + "marketplaceId", + "includedData", + "method", + "uri" + ], + "properties": { + "asin": { + "description": "The Amazon identifier for the item.", + "$ref": "#/definitions/Asin" + }, + "marketplaceId": { + "$ref": "#/definitions/MarketplaceId", + "description": "A marketplace identifier." + }, + "includedData": { + "type": "array", + "description": "The list of requested competitive pricing data for the product.", + "items": { + "$ref": "#/definitions/CompetitiveSummaryIncludedData" + }, + "minItems": 1 + }, + "method": { + "description": "HTTP method type", + "$ref": "#/definitions/HttpMethod" + }, + "uri": { + "description": "The URI associated with the individual APIs being called as part of the batch request. For `getCompetitiveSummary`, this should be `/products/pricing/2022-05-01/items/competitiveSummary`.", + "$ref": "#/definitions/HttpUri" + } + } + }, + "CompetitiveSummaryIncludedData": { + "type": "string", + "description": "The supported types of data in the `getCompetitiveSummary` API.", + "enum": [ + "featuredBuyingOptions" + ] + }, + "CompetitiveSummaryBatchResponse": { + "description": "The response schema of the `competitiveSummaryBatch` operation.", + "type": "object", + "required": [ + "responses" + ], + "properties": { + "responses": { + "description": "The response list of the `competitiveSummaryBatch` operation.", + "$ref": "#/definitions/CompetitiveSummaryResponseList" + } + } + }, + "CompetitiveSummaryResponseList": { + "description": "The response list of the `competitiveSummaryBatch` operation.", + "type": "array", + "items": { + "description": "The response for the individual `competitiveSummary` request in the batch operation.", + "$ref": "#/definitions/CompetitiveSummaryResponse" + }, + "minItems": 1, + "maxItems": 20 + }, + "CompetitiveSummaryResponse": { + "description": "The response for the individual `competitiveSummary` request in the batch operation.", + "type": "object", + "required": [ + "status", + "body" + ], + "properties": { + "status": { + "description": "The HTTP status line associated with the response. For more information, refer to [RFC 2616](https://www.w3.org/Protocols/rfc2616/rfc2616-sec6.html).", + "$ref": "#/definitions/HttpStatusLine" + }, + "body": { + "description": "The `competitiveSummaryResponse` body for a requested ASIN and `marketplaceId`.", + "$ref": "#/definitions/CompetitiveSummaryResponseBody" + } + } + }, + "CompetitiveSummaryResponseBody": { + "description": "The `competitiveSummaryResponse` body for a requested ASIN and `marketplaceId`.", + "type": "object", + "required": [ + "asin", + "marketplaceId" + ], + "properties": { + "asin": { + "description": "The Amazon identifier for the item.", + "$ref": "#/definitions/Asin" + }, + "marketplaceId": { + "$ref": "#/definitions/MarketplaceId", + "description": "A marketplace identifier." + }, + "featuredBuyingOptions": { + "description": "A list of featured buying options for the given ASIN `marketplaceId` combination.", + "type": "array", + "items": { + "$ref": "#/definitions/FeaturedBuyingOption" + } + }, + "errors": { + "description": "A list of errors", + "$ref": "#/definitions/Errors" + } + } + }, + "FeaturedBuyingOption": { + "description": "Describes a featured buying option which includes a list of segmented featured offers for a particular item condition.", + "type": "object", + "required": [ + "buyingOptionType", + "segmentedFeaturedOffers" + ], + "properties": { + "buyingOptionType": { + "description": "The buying option type of the featured offer. This field represents the buying options that a customer sees on the detail page. For example, B2B, Fresh, and Subscribe n Save. Currently supports `NEW`", + "type": "string", + "enum": [ + "New" + ], + "x-docgen-enum-table-extension": [ + { + "value": "New", + "description": "New" + } + ] + }, + "segmentedFeaturedOffers": { + "description": "A list of segmented featured offers for the current buying option type. A segment can be considered as a group of regional contexts that all have the same featured offer. A regional context is a combination of factors such as customer type, region or postal code and buying option.", + "type": "array", + "items": { + "$ref": "#/definitions/SegmentedFeaturedOffer" + }, + "minItems": 1 + } + } + }, + "SegmentedFeaturedOffer": { + "description": "A product offer with segment information indicating where it's featured.", + "allOf": [ + { + "$ref": "#/definitions/Offer" + }, + { + "type": "object", + "description": "The list of segment information in which the offer is featured.", + "required": [ + "featuredOfferSegments" + ], + "properties": { + "featuredOfferSegments": { + "description": "The list of segment information in which the offer is featured.", + "type": "array", + "items": { + "$ref": "#/definitions/FeaturedOfferSegment" + } + } + } + } + ] + }, + "Offer": { + "description": "The offer data of a product.", + "type": "object", + "required": [ + "sellerId", + "condition", + "fulfillmentType", + "listingPrice" + ], + "properties": { + "sellerId": { + "type": "string", + "description": "The seller identifier for the offer." + }, + "condition": { + "description": "Item Condition.", + "$ref": "#/definitions/Condition" + }, + "fulfillmentType": { + "$ref": "#/definitions/FulfillmentType", + "description": "The fulfillment type for the offer. Possible values are AFN (Amazon Fulfillment Network) and MFN (Merchant Fulfillment Network)." + }, + "listingPrice": { + "description": "Offer buying price. Does not include shipping, points, or applicable promotions.", + "$ref": "#/definitions/MoneyType" + }, + "shippingOptions": { + "description": "A list of shipping options associated with this offer", + "type": "array", + "items": { + "$ref": "#/definitions/ShippingOption" + } + }, + "points": { + "description": "The number of Amazon Points offered with the purchase of an item, and their monetary value. Note that the Points element is only returned in Japan (JP).", + "$ref": "#/definitions/Points" + } + } + }, + "ShippingOption": { + "description": "The shipping option available for the offer.", + "type": "object", + "required": [ + "shippingOptionType", + "price" + ], + "properties": { + "shippingOptionType": { + "description": "The type of the shipping option.", + "enum": [ + "DEFAULT" + ], + "x-docgen-enum-table-extension": [ + { + "value": "DEFAULT", + "description": "The estimated shipping cost of the product. Note that the shipping cost is not always available." + } + ] + }, + "price": { + "description": "Shipping price for the offer.", + "$ref": "#/definitions/MoneyType" + } + } + }, + "FeaturedOfferSegment": { + "description": "Describes the segment in which the offer is featured.", + "type": "object", + "required": [ + "customerMembership", + "segmentDetails" + ], + "properties": { + "customerMembership": { + "description": "The customer membership type that make up this segment", + "type": "string", + "enum": [ + "PRIME", + "NON_PRIME" + ], + "x-docgen-enum-table-extension": [ + { + "value": "PRIME", + "description": "PRIME" + }, + { + "value": "NON_PRIME", + "description": "NON_PRIME" + } + ] + }, + "segmentDetails": { + "description": "The details about the segment.", + "$ref": "#/definitions/SegmentDetails" + } + } + }, + "SegmentDetails": { + "description": "The details about the segment.", + "type": "object", + "properties": { + "glanceViewWeightPercentage": { + "description": "Glance view weight percentage for this segment. The glance views for this segment as a percentage of total glance views across all segments on the ASIN. A higher percentage indicates more Amazon customers see this offer as the Featured Offer.", + "type": "number" + } + } + }, "Errors": { "type": "object", "description": "A list of error responses returned when a request is unsuccessful.", @@ -654,15 +1308,15 @@ "$ref": "#/definitions/FeaturedOfferExpectedPrice" }, "resultStatus": { - "description": "The status of the featured offer expected price computation. Possible values include VALID_FOEP, NO_COMPETING_OFFER, OFFER_NOT_ELIGIBLE, OFFER_NOT_FOUND.", + "description": "The status of the featured offer expected price computation. Possible values include `VALID_FOEP`, `NO_COMPETING_OFFER`, `OFFER_NOT_ELIGIBLE`, `OFFER_NOT_FOUND`, `ASIN_NOT_ELIGIBLE`. Additional values may be added in the future.", "type": "string" }, "competingFeaturedOffer": { - "description": "The offer that will likely be the featured offer if the target offer is priced above its featured offer expected price. If the target offer is currently the featured offer, this property will be different than currentFeaturedOffer.", + "description": "The offer that will likely be the featured offer if the target offer is priced above its featured offer expected price. If the target offer is currently the featured offer, this property will be different than `currentFeaturedOffer`.", "$ref": "#/definitions/FeaturedOffer" }, "currentFeaturedOffer": { - "description": "The offer that is currently the featured offer. If the target offer is not currently featured, this property will be equal to competingFeaturedOffer.", + "description": "The offer that is currently the featured offer. If the target offer is not currently featured, then this property will be equal to `competingFeaturedOffer`.", "$ref": "#/definitions/FeaturedOffer" } } @@ -732,6 +1386,12 @@ "additionalProperties": { } }, + "HttpUri": { + "description": "The URI associated with the individual APIs being called as part of the batch request.", + "type": "string", + "minLength": 6, + "maxLength": 512 + }, "HttpMethod": { "description": "The HTTP method associated with an individual request within a batch.", "type": "string", @@ -774,7 +1434,7 @@ ], "properties": { "uri": { - "description": "The URI associated with an individual request within a batch. For FeaturedOfferExpectedPrice, this should be '/products/pricing/2022-05-01/offer/featuredOfferExpectedPrice'.", + "description": "The URI associated with an individual request within a batch. For `FeaturedOfferExpectedPrice`, this should be `/products/pricing/2022-05-01/offer/featuredOfferExpectedPrice`.", "type": "string" }, "method": { From c8df03cc65cf9c984dc1b583491c1a87a306bbf0 Mon Sep 17 00:00:00 2001 From: Gibran Waldron Date: Wed, 8 Nov 2023 08:52:58 -0800 Subject: [PATCH 184/340] Product Type Definitions API Update. --- .../definitionsProductTypes_2020-09-01.json | 63 +++++++++++++++++-- 1 file changed, 58 insertions(+), 5 deletions(-) diff --git a/models/product-type-definitions-api-model/definitionsProductTypes_2020-09-01.json b/models/product-type-definitions-api-model/definitionsProductTypes_2020-09-01.json index 9704dfd24..e1ed126c2 100644 --- a/models/product-type-definitions-api-model/definitionsProductTypes_2020-09-01.json +++ b/models/product-type-definitions-api-model/definitionsProductTypes_2020-09-01.json @@ -41,7 +41,7 @@ { "name": "keywords", "in": "query", - "description": "A comma-delimited list of keywords to search product types by.", + "description": "A comma-delimited list of keywords to search product types. **Note:** Cannot be used with `itemName`.", "required": false, "type": "array", "items": { @@ -61,6 +61,30 @@ }, "collectionFormat": "csv", "x-example": "ATVPDKIKX0DER" + }, + { + "name": "itemName", + "description": "The title of the ASIN to get the product type recommendation. **Note:** Cannot be used with `keywords`.", + "in": "query", + "required": false, + "type": "string", + "x-example": "Running shoes" + }, + { + "name": "locale", + "description": "The locale for the display names in the response. Defaults to the primary locale of the marketplace.", + "in": "query", + "required": false, + "type": "string", + "x-example": "en_US" + }, + { + "name": "searchLocale", + "description": "The locale used for the `keywords` and `itemName` parameters. Defaults to the primary locale of the marketplace.", + "in": "query", + "required": false, + "type": "string", + "x-example": "en_US" } ], "responses": { @@ -74,11 +98,17 @@ "productTypes": [ { "name": "LUGGAGE", + "displayName": "Luggage", "marketplaceIds": [ "ATVPDKIKX0DER" ] } - ] + ], + "productTypeVersion": { + "version": "UHqSqmb4FNUk=", + "latest": true, + "releaseCandidate": false + } } }, "headers": { @@ -101,11 +131,17 @@ "productTypes": [ { "name": "LUGGAGE", + "displayName": "Luggage", "marketplaceIds": [ "ATVPDKIKX0DER" ] } - ] + ], + "productTypeVersion": { + "version": "UHqSqmb4FNUk=", + "latest": true, + "releaseCandidate": false + } } } ] @@ -610,6 +646,7 @@ "ATVPDKIKX0DER" ], "productType": "LUGGAGE", + "displayName": "Luggage", "productTypeVersion": { "version": "UHqSqmb4FNUk=", "latest": true, @@ -672,6 +709,7 @@ "ATVPDKIKX0DER" ], "productType": "LUGGAGE", + "displayName": "Luggage", "productTypeVersion": { "version": "UHqSqmb4FNUk=", "latest": true, @@ -917,6 +955,7 @@ "locale", "marketplaceIds", "productType", + "displayName", "productTypeVersion", "propertyGroups", "requirements", @@ -995,6 +1034,10 @@ "type": "string", "description": "The name of the Amazon product type that this product type definition applies to." }, + "displayName": { + "type": "string", + "description": "Human-readable and localized description of the Amazon product type." + }, "productTypeVersion": { "description": "The version details for the Amazon product type.", "$ref": "#/definitions/ProductTypeVersion" @@ -1049,13 +1092,18 @@ "type": "object", "required": [ "marketplaceIds", - "name" + "name", + "displayName" ], "properties": { "name": { "type": "string", "description": "The name of the Amazon product type." }, + "displayName": { + "type": "string", + "description": "The human-readable and localized description of the Amazon product type." + }, "marketplaceIds": { "type": "array", "description": "The Amazon marketplace identifiers for which the product type definition is available.", @@ -1069,7 +1117,8 @@ "ProductTypeList": { "type": "object", "required": [ - "productTypes" + "productTypes", + "productTypeVersion" ], "properties": { "productTypes": { @@ -1077,6 +1126,10 @@ "items": { "$ref": "#/definitions/ProductType" } + }, + "productTypeVersion": { + "description": "The version details for the Amazon product type.", + "$ref": "#/definitions/ProductTypeVersion" } }, "description": "A list of Amazon product types with definitions available." From 6ec4fb43702ff3962ccc1b7557662beafb39efe8 Mon Sep 17 00:00:00 2001 From: Alex Rupprecht Date: Wed, 8 Nov 2023 11:58:56 -0500 Subject: [PATCH 185/340] Update weight to mandatory --- .../vendorDirectFulfillmentShippingV1.json | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/models/vendor-direct-fulfillment-shipping-api-model/vendorDirectFulfillmentShippingV1.json b/models/vendor-direct-fulfillment-shipping-api-model/vendorDirectFulfillmentShippingV1.json index 8b75f3c6b..11c3415d5 100644 --- a/models/vendor-direct-fulfillment-shipping-api-model/vendorDirectFulfillmentShippingV1.json +++ b/models/vendor-direct-fulfillment-shipping-api-model/vendorDirectFulfillmentShippingV1.json @@ -3233,7 +3233,7 @@ "$ref": "#/definitions/Decimal" } }, - "description": "The weight. This object is mandatory when using the [`submitShipmentConfirmations`](https://developer-docs.amazon.com/sp-api/docs/vendor-direct-fulfillment-shipping-api-v1-reference#submitshipmentconfirmations) operation." + "description": "The weight." }, "Decimal": { "type": "string", @@ -3619,7 +3619,8 @@ "required": [ "containerIdentifier", "containerType", - "packedItems" + "packedItems", + "weight" ], "properties": { "containerType": { From 6992d160e3625ccba184b9120c6cf3d4eda3b152 Mon Sep 17 00:00:00 2001 From: andiec Date: Wed, 8 Nov 2023 12:20:22 -0500 Subject: [PATCH 186/340] NOV8 release financesv0 model update --- models/finances-api-model/financesV0.json | 313 +++++++++++++++++++++- 1 file changed, 310 insertions(+), 3 deletions(-) diff --git a/models/finances-api-model/financesV0.json b/models/finances-api-model/financesV0.json index a4acf8ee9..8c16105ce 100644 --- a/models/finances-api-model/financesV0.json +++ b/models/finances-api-model/financesV0.json @@ -1033,7 +1033,7 @@ }, "/finances/v0/financialEvents": { "get": { - "description": "Returns financial events for the specified data range. It may take up to 48 hours for orders to appear in your financial events.\n\n**Usage Plan:**\n\n| Rate (requests per second) | Burst |\n| ---- | ---- |\n| 0.5 | 30 |\n\nThe `x-amzn-RateLimit-Limit` response header returns the usage plan rate limits that were applied to the requested operation, when available. The table above indicates the default rate and burst values for this operation. Selling partners whose business demands require higher throughput may see higher rate and burst values than those shown here. For more information, see [Usage Plans and Rate Limits in the Selling Partner API](https://developer-docs.amazon.com/sp-api/docs/usage-plans-and-rate-limits-in-the-sp-api).", + "description": "Returns financial events for the specified data range. It may take up to 48 hours for orders to appear in your financial events. *note in ListFinancialEvents that deferred events don’t show up in responses until in they are released. \n\n**Usage Plan:**\n\n| Rate (requests per second) | Burst |\n| ---- | ---- |\n| 0.5 | 30 |\n\nThe `x-amzn-RateLimit-Limit` response header returns the usage plan rate limits that were applied to the requested operation, when available. The table above indicates the default rate and burst values for this operation. Selling partners whose business demands require higher throughput may see higher rate and burst values than those shown here. For more information, see [Usage Plans and Rate Limits in the Selling Partner API](https://developer-docs.amazon.com/sp-api/docs/usage-plans-and-rate-limits-in-the-sp-api).", "operationId": "listFinancialEvents", "parameters": [ { @@ -1319,6 +1319,184 @@ } } } + }, + "/finances/v0/transactions": { + "get": { + "description": "Returns transactions for the given parameters. It may take up to 48 hours for transactions to appear in your transaction events.\n\n**Usage Plan:**\n\n| Rate (requests per second) | Burst |\n| ---- | ---- |\n| 0.5 | 30 |\n\nThe `x-amzn-RateLimit-Limit` response header returns the usage plan rate limits that were applied to the requested operation, when available. The table above indicates the default rate and burst values for this operation. Selling partners whose business demands require higher throughput may see higher rate and burst values than those shown here. For more information, see [Usage Plans and Rate Limits in the Selling Partner API](https://developer-docs.amazon.com/sp-api/docs/usage-plans-and-rate-limits-in-the-sp-api).", + "operationId": "listTransactions", + "parameters": [ + { + "name": "PostedAfter", + "in": "query", + "description": "A date used for selecting transactions posted after (or at) a specified time. The date-time must be no later than two minutes before the request was submitted, in ISO 8601 date time format.", + "required": true, + "type": "string", + "format": "date-time" + }, + { + "name": "PostedBefore", + "in": "query", + "description": "A date used for selecting transactions posted before (but not at) a specified time. The date-time must be later than PostedAfter and no later than two minutes before the request was submitted, in ISO 8601 date time format. If PostedAfter and PostedBefore are more than 180 days apart, no transactions are returned. You must specify the PostedAfter parameter if you specify the PostedBefore parameter. Default: Now minus two minutes.", + "required": false, + "type": "string", + "format": "date-time" + }, + { + "name": "MarketplaceId", + "in": "query", + "description": "A string token used to select Marketplace ID.", + "required": true, + "type": "string" + }, + { + "name": "NextToken", + "in": "query", + "description": "A string token returned in the response of your previous request.", + "required": false, + "type": "string" + } + ], + "responses": { + "200": { + "description": "Success.", + "schema": { + "$ref": "#/definitions/ListTransactionsResponse" + }, + "x-amzn-api-sandbox": { + "static": [{ + "request": { + "parameters": { + "PostedAfter": { + "value": "2023-03-07" + }, + "NextToken": { + "value": "jehgri34yo7jr9e8f984tr9i4o" + } + } + }, + "response": { + "payload": { + "NextToken": "Next token value", + "Transactions": [{ + "SellingPartnerMetadata": { + "SellingPartnerId": "A3TH9S8BH6GOGM", + "AccountType": "PAYABLE", + "MarketplaceId": "ATIV93840DER" + }, + "RelatedIdentifiers": [{ + "RelatedIdentifierName": "ORDER_ID", + "RelatedIdentifierValue": "8129762527551" + }], + "TransactionType": "Shipment", + "PostedDate": "2020-07-14T03:35:13.214Z", + "TotalAmount": { + "CurrencyAmount": 10, + "CurrencyCode": "USD" + } + }] + } + } + }] + } + }, + "400": { + "description": "Request has missing or invalid parameters and cannot be parsed.", + "schema": { + "$ref": "#/definitions/ListTransactionsResponse" + }, + "x-amzn-api-sandbox": { + "static": [{ + "request": { + "parameters": { + } + }, + "response": { + "errors": [{ + "code": "InvalidInput", + "message": "Input not valid." + }] + } + }] + } + }, + "403": { + "description": "Indicates that access to the resource is forbidden. Possible reasons include Access Denied, Unauthorized, Expired Token, or Invalid Signature.", + "schema": { + "$ref": "#/definitions/ListTransactionsResponse" + }, + "headers": { + "x-amzn-RequestId": { + "type": "string", + "description": "Unique request reference identifier." + } + } + }, + "404": { + "description": "The resource specified does not exist.", + "schema": { + "$ref": "#/definitions/ListTransactionsResponse" + }, + "headers": { + "x-amzn-RateLimit-Limit": { + "type": "string", + "description": "Your rate limit (requests per second) for this operation." + }, + "x-amzn-RequestId": { + "type": "string", + "description": "Unique request reference identifier." + } + } + }, + "429": { + "description": "The frequency of requests was greater than allowed.", + "schema": { + "$ref": "#/definitions/ListTransactionsResponse" + }, + "headers": { + "x-amzn-RateLimit-Limit": { + "type": "string", + "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." + }, + "x-amzn-RequestId": { + "type": "string", + "description": "Unique request reference identifier." + } + } + }, + "500": { + "description": "An unexpected condition occurred that prevented the server from fulfilling the request.", + "schema": { + "$ref": "#/definitions/ListTransactionsResponse" + }, + "headers": { + "x-amzn-RateLimit-Limit": { + "type": "string", + "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." + }, + "x-amzn-RequestId": { + "type": "string", + "description": "Unique request reference identifier." + } + } + }, + "503": { + "description": "Temporary overloading or maintenance of the server.", + "schema": { + "$ref": "#/definitions/ListTransactionsResponse" + }, + "headers": { + "x-amzn-RateLimit-Limit": { + "type": "string", + "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." + }, + "x-amzn-RequestId": { + "type": "string", + "description": "Unique request reference identifier." + } + } + } + } + } } }, "definitions": { @@ -1542,7 +1720,7 @@ }, "ChargeRefundTransactions": { "description": "The amount of the charge refund credit.", - "$ref": "#/definitions/ChargeRefundTransaction" + "$ref": "#/definitions/ChargeRefundTransactions" } }, "description": "An event related to charge refund." @@ -1568,6 +1746,13 @@ }, "description": "The charge refund transaction." }, + "ChargeRefundTransactions": { + "type": "array", + "description": "A list of ChargeRefund Transactions", + "items": { + "$ref": "#/definitions/ChargeRefundTransaction" + } + }, "CouponPaymentEvent": { "type": "object", "properties": { @@ -1712,6 +1897,13 @@ } }, "FailedAdhocDisbursementEventList": { + "type": "array", + "items": { + "$ref": "#/definitions/FailedAdhocDisbursementEvent" + }, + "description": "A list of FailedAdhocDisbursementEvents." + }, + "FailedAdhocDisbursementEvent": { "type": "object", "properties": { "FundsTransfersType": { @@ -1852,6 +2044,87 @@ "$ref": "#/definitions/FinancialEventGroup" } }, + "Transactions": { + "type": "array", + "description": "Contains transactions within a given time period.", + "items": { + "$ref": "#/definitions/Transaction" + } + }, + "Transaction": { + "type": "object", + "properties": { + "SellingPartnerMetadata": { + "description": "Metadata describing the seller.", + "$ref": "#/definitions/SellingPartnerMetadata" + }, + "RelatedIdentifiers": { + "description": "Related business identifiers of the transaction.", + "$ref": "#/definitions/RelatedIdentifiers" + }, + "TransactionType": { + "type": "string", + "description": "The type of transaction.\n\nPossible values:\n\n* Shipment" + }, + "PostedDate": { + "description": "The date and time when the transaction was posted.", + "$ref": "#/definitions/Date" + }, + "TotalAmount": { + "description": "Total amount of transaction.", + "$ref": "#/definitions/Currency" + } + }, + "description": "Contains all information related to the transaction." + }, + "RelatedIdentifier": { + "type": "object", + "properties": { + "RelatedIdentifierName": { + "type": "string", + "description": "Enumerated set of related business identifier names.", + "enum": [ + "ORDER_ID" + ], + "x-docgen-enum-table-extension": [ + { + "value": "ORDER_ID", + "description": "Associated OrderId of transaction" + } + ] + }, + "RelatedIdentifierValue": { + "type": "string", + "description": "Corresponding value of RelatedIdentifierName" + } + }, + "description": "Related business identifier of the transaction." + }, + "RelatedIdentifiers" : { + "type": "array", + "description": "Related business identifiers of the transaction.", + "items": { + "$ref": "#/definitions/RelatedIdentifier" + } + }, + "SellingPartnerMetadata":{ + "type": "object", + "properties": { + "SellingPartnerId": { + "type": "string", + "description": "Unique seller identifier." + }, + "AccountType": { + "type": "string", + "description": "Account type of transaction." + }, + "MarketplaceId": { + "type": "string", + "description": "Marketplace identifier of transaction." + } + }, + "description": "Metadata describing the seller." + }, "FinancialEvents": { "type": "object", "properties": { @@ -2018,6 +2291,33 @@ }, "description": "The response schema for the listFinancialEventGroups operation." }, + "ListTransactionsPayload": { + "type": "object", + "properties": { + "NextToken": { + "type": "string", + "description": "When present and not empty, pass this string token in the next request to return the next response page." + }, + "Transactions": { + "$ref": "#/definitions/Transactions" + } + }, + "description": "The payload for the listTransactions operation." + }, + "ListTransactionsResponse": { + "type": "object", + "properties": { + "payload": { + "description": "The payload for the listTransactions operation.", + "$ref": "#/definitions/ListTransactionsPayload" + }, + "errors": { + "description": "One or more unexpected errors occurred during the listTransactions operation.", + "$ref": "#/definitions/ErrorList" + } + }, + "description": "The response schema for the listTransactions operation." + }, "ListFinancialEventsPayload": { "type": "object", "properties": { @@ -2969,6 +3269,13 @@ "description": "A list of information about trial shipment financial events." }, "ValueAddedServiceChargeEventList": { + "type": "array", + "items": { + "$ref": "#/definitions/ValueAddedServiceChargeEvent" + }, + "description": "A list of ValueAddedServiceCharge events." + }, + "ValueAddedServiceChargeEvent": { "type": "object", "properties": { "TransactionType": { @@ -3050,4 +3357,4 @@ "description": "Error response returned when the request is unsuccessful." } } -} +} \ No newline at end of file From 9bca5bd7b180b193ca0161c90792ae1908a102cf Mon Sep 17 00:00:00 2001 From: andiec Date: Wed, 8 Nov 2023 15:15:47 -0500 Subject: [PATCH 187/340] new model and reference for supply sources api --- .DS_Store | Bin 8196 -> 8196 bytes models/.DS_Store | Bin 6148 -> 8196 bytes .../supplySources_2020-07-01.json | 2296 +++++++++++++++++ 3 files changed, 2296 insertions(+) create mode 100644 models/supply-sources-api-model/supplySources_2020-07-01.json diff --git a/.DS_Store b/.DS_Store index 045cda8cc9e75f92fb40d5be2344deb1ddadfe77..066d450b63a01d8f20da8fbb9621ee561b70deb8 100644 GIT binary patch literal 8196 zcmeHMU2GIp6u#fIlo=<`X(>Mrv|X%1gpF*a5UK*(Z7V{7Hro6P;@ zoO{omIcL9fZ_ku5hD_0HWo#K^Os0#Yrc!sE#>e?}O_L%`H6h5JF^BoNNq-{ec)4q4 z$BH-taRlNB#1V)i5J%u_r+-3#}SAla9c)z?+*#OIHn_<5g2YA)P*Gg zAuj>KM)y<)gf@u?(-F=H3{7cGQ9U3sMO0!ynA3QIPbW-AI3rM)GYE5r=*fsG6ogMF zyF@shAuTZO;|RnNxHbYjeQMY^^O(u3iu(OrZo;wsAeFiVsj7Nj&3svwRe68*h&P!H zjG*XejKW?n4S1fDE8iQrJ+?JDrZseWZeZB1RR|4i)1oQ+hHTgLCNo~qHT}>wD+Xjm zQN}cVYO1xZHI+=XZc3%5lZmPJ`$=e9zj1n6kr%hDd$51(s59<*Cxs)3HUqYx!m(48 zUO9fLQ+$=E+EDiDa@i~84pm*C4-D=Z8Xg(bw4!hITaFRfC9BH_EPqU^^~uTYdC%=D zSS509DDOGNahFEw@`jTy(qyZ{akBQKVs^gZIZmJF+kx%5Bg27pJm6z|p*cgtqrO)N zI>W_=ZCYQo#4j)9;@IJD$1FKOINJCXU)2{_RX1xckG_6)#~ci26f3$$@cA> zV+~H)W^iQ0@bi{y+V0^|imMyghit2$)FG)1xW>3OTd&pCF1u6Lhl@G;SkVqnXf3iV z)@srdigs4sXOc6!Jd<0R;fUU(-!02~xxTYtQ7_c$YW-eCGvooEToX$q)%z69R|byK zk1R}E)%CJwDua%ZvmBw?sBV(A9%ZN`JQK#{nFKfkW^xfdYJ-z!P{9PvL1ihZpc7PUAJajdySc@8T1Dj`O&HS$v1@@dK{l zPpMj(C)G%`k|xzli=2yxO$6<0=6KU&|EzH}yld&&iRH?I9y7nM#Sad_|+$ zJV@za9j{E#a^h<9d3wsTeD=z_)MjlSC5#YPttPRCl0}GXlg-VVL^&$NRBN-URZ#{i zq3wnwiHL;u2UJz7rd$+bTN+7Zk&x-6Wq4-E{}snCu#4<#_9Od+IQ}=PAY&;KScN1p zdJEF%L>Ib=)qUtkHe~h~@j8b*9Js{oW5n($Oye=k;Bh>IlQSAKN_e)6*ZZF|*S*{%#l;zs))ueB3&9i)plK5s@~XhL0BjuVFEIN{ZQ7}9-$ grgEEfgfjw3L+yY65K#VuIzIp7^Pd;Ix9R!+4}4QqF#rGn literal 8196 zcmeHMYitx%6u#fIlo>m~v=%7HWVe=Au-I)WNI`JBEiY*W*_LigvF`2+?Z|Yd?#ym^ z1hd5WHqrP>{6&2JY}9DP7<~OQ@fA%&B8kMPiTKA~{J{kD%-mUG7iwZ+4CvhC-ZSUi zd(O-`^PPM5%reH1$ZIW()icIK>K;|9X}C)B=DmJJ69P#kQII}kCUY_q&UnVOGgqt* z1z`lj2!s&`BM?R)jKH-J0Xnn2CeCo~^Vx6=BM?U5e;EO9e~41|Xgr`rPW`Qe2EPO# z>XiU~qid=Ie4S`O;{h#l>Z_7XUOgaCMNndZtJ8ecTTV0{&?2W?oq?+}1b0SIp}@a8 z=|%nJ3~^4wF^oVMfh!~6rB4+bV>Z*6URJ-K%#53c89PhlSt?Gd0ek;o0-yeIn8bx zD2dXrQh)U5+V<9_Xxo}~$C{!?+goG&`j{lnZ*1PUXZWBwX4#K(HxO(EY)+Y5Pn7#) zI)zUDO`;-M^65;;C+UW2d5+qj8W@y^QbyLclEx8zSefULV>^i5ozn~CP=D4o^JA7X ztkh)FW;So8UA@CJy~QM(=VWuXY3{Zi!!>McAm!?Z+>)VbQ>j76&bghwv0+8YJNh1- zY#9Z;i!7380PQF8wQdxU!jGS?}ETMLZ z%BSKz-i^D{j=O7Iw@QzcP`8WXpfj4z>ANNffF+G?QS@Id$vu@Vn&H|xKN@#6sOo@c zszcLsjhtRwzo=GCs(qsJ4e2O`RWJzh^e#B^#m2Z+^xsKid=-B;jhry%$5^T>u>tiC zIF&7D>*+x2Wd|tXj1?O=Qm+-q#BP3 z!eQd4Z6TCy!6!gr^6Kdp*|vShopSdzpKjmI^%CsHy7>zhMwhK>Zd<>p<1!36YD+-< za{~C7pOz^;=6zh0X6b7*mL(nk-1NRZuT@-K#hj9cC;vqbONAVaT z{W(037jObE5!zoRyiei{yotB)K2G67e1wmE+)v><{D2?JklZsJ$v9t*_~kfJzZ@re`42<7j?z+3CmzrurzD~FuYU;mJ3qI>^FKWQ|D)&sA4-*SOaK4? diff --git a/models/.DS_Store b/models/.DS_Store index 866873ad3b01d99446ca22091bfa34956876b09f..e4e25f864f14b7239fd9381a78aa2a865662aed2 100644 GIT binary patch literal 8196 zcmeI1-EPw`6vvOZ!cq;SfNOwl zgSh7vxaI+P2>$*UAL)wd258!B$^JXGPulaV?c}&b#M))(64^v#Aq#D+qBtUnevxO= zl5V*KWw0kosYiXvX@mTk(Wb!=Fa!(%L%a)DZ_r8%JwP>r|;U#XVK@z_cmTAqG?C=y$|$XiMuId?KzMavleVbw79%^+(;twR=1* z{3z`Yr9l+-G34pvC=L0j&C4{*rLCtrth!b2Htg|udv|l)*>ZO#>&|$0vx)lcJCjM> zx_p1YNGU`}R+LedP_)n5P4b7x%I$28)~uNogR@HzHj1K}Vf+ zoJv;Ub23&7`(5F-Mi~v|{3&rRRA4rV>j-r*+XnKK=xmZZhUXP_HfB}{UK!@z0Z8TG zSc2Y<^R@ZpKF+L9>mRPqI@afn@z~vRu_)c0X7e|*?wwkZb64nlx!M-=JRZ1Sk0+VB zw=5T?m+($U?{3zYwXeM^uRq;A&UZ<8_*d?e?VsGI%8dF6kEt30Ah4_`*dqSFKmYvS zurdS;fip~i)jD3M4F?ZjoU6WySldB;&fo8x)r GFarR?MH5E= diff --git a/models/supply-sources-api-model/supplySources_2020-07-01.json b/models/supply-sources-api-model/supplySources_2020-07-01.json new file mode 100644 index 000000000..d70a2e74a --- /dev/null +++ b/models/supply-sources-api-model/supplySources_2020-07-01.json @@ -0,0 +1,2296 @@ +{ + "swagger": "2.0", + "info": { + "title": "Selling Partner API for Supply Sources", + "description": "Manage configurations and capabilities of seller supply sources.", + "version": "2020-07-01", + "contact": { + "name": "Selling Partner API Developer Support", + "url": "https://sellercentral.amazon.com/gp/mws/contactus.html" + }, + "license": { + "name": "Apache License 2.0", + "url": "http://www.apache.org/licenses/LICENSE-2.0" + } + }, + "host": "sellingpartnerapi-na.amazon.com", + "schemes": [ + "https" + ], + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "definitions": { + "Error": { + "description": "An error response returned when the request is unsuccessful.", + "properties": { + "code": { + "description": "An error code that identifies the type of error that occured.", + "type": "string" + }, + "message": { + "description": "A message that describes the error condition in a human-readable form.", + "type": "string" + }, + "details": { + "description": "The additional details that can help the caller understand or fix the issue.", + "type": "string" + } + }, + "required": [ + "code", + "message" + ], + "type": "object" + }, + "ErrorList": { + "description": "A list of error responses returned when a request is unsuccessful.", + "properties": { + "errors": { + "description": "A list of error responses returned when a request is unsuccessful.", + "type": "array", + "items": { + "$ref": "#/definitions/Error" + } + } + }, + "required": [ + "errors" + ], + "type": "object" + }, + "GetSupplySourcesResponse": { + "description": "The paginated list of supply sources.", + "type": "object", + "properties": { + "supplySources": { + "$ref": "#/definitions/SupplySourceList" + }, + "nextPageToken": { + "description": "If present, use this pagination token to retrieve the next page of supply sources.", + "type": "string" + } + } + }, + "UpdateSupplySourceStatusRequest": { + "description": "A request to update the status of a supply source.", + "type": "object", + "properties": { + "status": { + "$ref": "#/definitions/SupplySourceStatus" + } + } + }, + "CreateSupplySourceRequest": { + "description": "A request to create a supply source.", + "type": "object", + "properties": { + "supplySourceCode": { + "$ref": "#/definitions/SupplySourceCode" + }, + "alias": { + "$ref": "#/definitions/SupplySourceAlias" + }, + "address": { + "$ref": "#/definitions/Address" + } + }, + "required": [ + "address", + "supplySourceCode", + "alias" + ] + }, + "CreateSupplySourceResponse": { + "description": "The result of creating a new supply source.", + "properties": { + "supplySourceId": { + "$ref": "#/definitions/SupplySourceId" + }, + "supplySourceCode": { + "$ref": "#/definitions/SupplySourceCode" + } + }, + "required": [ + "supplySourceId", + "supplySourceCode" + ], + "type": "object" + }, + "UpdateSupplySourceRequest": { + "description": "A request to update the configuration and capabilities of a supply source.", + "type": "object", + "properties": { + "alias": { + "$ref": "#/definitions/SupplySourceAlias" + }, + "configuration": { + "$ref": "#/definitions/SupplySourceConfiguration" + }, + "capabilities": { + "$ref": "#/definitions/SupplySourceCapabilities" + } + } + }, + "SupplySource": { + "description": "The supply source details, including configurations and capabilities.", + "type": "object", + "properties": { + "supplySourceId": { + "$ref": "#/definitions/SupplySourceId" + }, + "supplySourceCode": { + "$ref": "#/definitions/SupplySourceCode" + }, + "alias": { + "$ref": "#/definitions/SupplySourceAlias" + }, + "status": { + "$ref": "#/definitions/SupplySourceStatusReadOnly" + }, + "address": { + "$ref": "#/definitions/Address" + }, + "configuration": { + "$ref": "#/definitions/SupplySourceConfiguration" + }, + "capabilities": { + "$ref": "#/definitions/SupplySourceCapabilities" + }, + "createdAt": { + "$ref": "#/definitions/DateTime" + }, + "updatedAt": { + "$ref": "#/definitions/DateTime" + } + } + }, + "SupplySourceConfiguration": { + "description": "Includes configuration and timezone of a supply source.", + "type": "object", + "properties": { + "operationalConfiguration": { + "$ref": "#/definitions/OperationalConfiguration" + }, + "timezone": { + "description": "Please see RFC 6557, should be a canonical time zone ID as listed here: https://www.joda.org/joda-time/timezones.html.", + "type": "string" + } + } + }, + "SupplySourceCapabilities": { + "description": "The capabilities of a supply source.", + "type": "object", + "properties": { + "outbound": { + "$ref": "#/definitions/OutboundCapability" + }, + "services": { + "$ref": "#/definitions/ServicesCapability" + } + } + }, + "SupplySourceList": { + "description": "The list of `SupplySource`s.", + "type": "array", + "items": { + "type": "object", + "properties": { + "alias": { + "$ref": "#/definitions/SupplySourceAlias" + }, + "supplySourceId": { + "$ref": "#/definitions/SupplySourceId" + }, + "supplySourceCode": { + "$ref": "#/definitions/SupplySourceCode" + }, + "address": { + "$ref": "#/definitions/Address" + } + } + } + }, + "SupplySourceId": { + "description": "An Amazon generated unique supply source ID.", + "type": "string" + }, + "SupplySourceCode": { + "description": "The seller-provided unique supply source code.", + "type": "string" + }, + "SupplySourceAlias": { + "description": "The custom alias for this supply source", + "type": "string" + }, + "SupplySourceStatusReadOnly": { + "description": "The `SupplySource` status.", + "type": "string", + "enum": [ + "Active", + "Inactive", + "Archived" + ] + }, + "SupplySourceStatus": { + "description": "The `SupplySource` status", + "type": "string", + "enum": [ + "Active", + "Inactive" + ] + }, + "OutboundCapability": { + "description": "The outbound capability of a supply source.", + "type": "object", + "properties": { + "isSupported": { + "type": "boolean" + }, + "operationalConfiguration": { + "$ref": "#/definitions/OperationalConfiguration" + }, + "returnLocation": { + "$ref": "#/definitions/ReturnLocation" + }, + "deliveryChannel": { + "$ref": "#/definitions/DeliveryChannel" + }, + "pickupChannel": { + "$ref": "#/definitions/PickupChannel" + } + } + }, + "ServicesCapability": { + "description": "The services capability of a supply source.", + "type": "object", + "properties": { + "isSupported": { + "description": "When true, `SupplySource` supports the Service capability.", + "type": "boolean" + }, + "operationalConfiguration": { + "$ref": "#/definitions/OperationalConfiguration" + } + } + }, + "PickupChannel": { + "description": "The pick up channel of a supply source.", + "type": "object", + "properties": { + "inventoryHoldPeriod": { + "$ref": "#/definitions/Duration" + }, + "isSupported": { + "type": "boolean" + }, + "operationalConfiguration": { + "$ref": "#/definitions/OperationalConfiguration" + }, + "inStorePickupConfiguration": { + "description": "The configuration for supporting in-store pickup.", + "$ref": "#/definitions/InStorePickupConfiguration" + }, + "curbsidePickupConfiguration": { + "description": "The configuration for supporting curbside pickup.", + "$ref": "#/definitions/CurbsidePickupConfiguration" + } + } + }, + "ParkingConfiguration": { + "description": "The parking configuration.", + "type": "object", + "properties": { + "parkingCostType": { + "description": "The type of cost at parking location.", + "$ref": "#/definitions/ParkingCostType" + }, + "parkingSpotIdentificationType": { + "description": "The type of parking spot identification used at parking location.", + "$ref": "#/definitions/ParkingSpotIdentificationType" + }, + "numberOfParkingSpots": { + "description": "The number of parking spots.", + "$ref": "#/definitions/NonNegativeInteger" + } + } + }, + "ParkingCostType": { + "description": "The parking cost type.", + "type": "string", + "enum": [ + "Free", + "Other" + ] + }, + "ParkingSpotIdentificationType": { + "description": "The type of parking spot identification.", + "type": "string", + "enum": [ + "Numbered", + "Other" + ] + }, + "InStorePickupConfiguration": { + "description": "The in-store pickup configuration of a supply source.", + "type": "object", + "properties": { + "isSupported": { + "description": "When true, in-store pickup is supported by the supply source (default: `isSupported` value in `PickupChannel`).", + "type": "boolean" + }, + "parkingConfiguration": { + "description": "The parking configuration for in-store pickup.", + "$ref": "#/definitions/ParkingConfiguration" + } + } + }, + "CurbsidePickupConfiguration": { + "description": "The curbside pickup configuration of a supply source.", + "type": "object", + "properties": { + "isSupported": { + "description": "When true, curbside pickup is supported by the supply source.", + "type": "boolean" + }, + "operationalConfiguration": { + "description": "The operational configuration for the curbside pickup configuration.", + "$ref": "#/definitions/OperationalConfiguration" + }, + "parkingWithAddressConfiguration": { + "description": "The parking configuration for curbside pickup with address for customers to use.", + "$ref": "#/definitions/ParkingWithAddressConfiguration" + } + } + }, + "ParkingWithAddressConfiguration": { + "description": "The parking configuration with the address.", + "allOf": [{ + "$ref": "#/definitions/ParkingConfiguration" + }, { + "type": "object", + "properties": { + "address": { + "description": "The address of the parking location.", + "$ref": "#/definitions/Address" + } + } + }] + }, + "DeliveryChannel": { + "description": "The delivery channel of a supply source.", + "type": "object", + "properties": { + "isSupported": { + "type": "boolean" + }, + "operationalConfiguration": { + "$ref": "#/definitions/OperationalConfiguration" + } + } + }, + "OperationalConfiguration": { + "description": "The operational configuration of `supplySources`.", + "type": "object", + "properties": { + "contactDetails": { + "$ref": "#/definitions/ContactDetails" + }, + "throughputConfig": { + "$ref": "#/definitions/ThroughputConfig" + }, + "operatingHoursByDay": { + "$ref": "#/definitions/OperatingHoursByDay" + }, + "handlingTime": { + "$ref": "#/definitions/Duration" + } + } + }, + "Duration": { + "description": "The duration of time.", + "type": "object", + "properties": { + "value": { + "$ref": "#/definitions/NonNegativeInteger" + }, + "timeUnit": { + "$ref": "#/definitions/TimeUnit" + } + } + }, + "ThroughputConfig": { + "description": "The throughput configuration.", + "type": "object", + "properties": { + "throughputCap": { + "$ref": "#/definitions/ThroughputCap" + }, + "throughputUnit": { + "$ref": "#/definitions/ThroughputUnit" + } + }, + "required": [ + "throughputUnit" + ] + }, + "ReturnLocation": { + "description": "The address or reference to another `supplySourceId` to act as a return location.", + "type": "object", + "properties": { + "supplySourceId": { + "description": "The Amazon provided `supplySourceId` where orders can be returned to.", + "type": "string" + }, + "addressWithContact": { + "$ref": "#/definitions/AddressWithContact" + } + } + }, + "AddressWithContact": { + "description": "The address and contact details.", + "type": "object", + "properties": { + "contactDetails": { + "$ref": "#/definitions/ContactDetails" + }, + "address": { + "$ref": "#/definitions/Address" + } + } + }, + "ContactDetails": { + "description": "The contact details", + "type": "object", + "properties": { + "primary": { + "type": "object", + "properties": { + "email": { + "$ref": "#/definitions/EmailAddress" + }, + "phone": { + "description": "The phone number of the person, business or institution.", + "type": "string" + } + } + } + } + }, + "ThroughputCap": { + "description": "The throughput capacity", + "type": "object", + "properties": { + "value": { + "$ref": "#/definitions/NonNegativeInteger" + }, + "timeUnit": { + "$ref": "#/definitions/TimeUnit" + } + } + }, + "OperatingHour": { + "description": "The operating hour schema", + "type": "object", + "properties": { + "startTime": { + "description": "The opening time, ISO 8601 formatted timestamp without date, HH:mm.", + "type": "string" + }, + "endTime": { + "description": "The closing time, ISO 8601 formatted timestamp without date, HH:mm.", + "type": "string" + } + } + }, + "OperatingHours": { + "description": "A list of Operating Hours.", + "type": "array", + "items": { + "$ref": "#/definitions/OperatingHour" + } + }, + "ThroughputUnit": { + "description": "The throughput unit", + "type": "string", + "enum": [ + "Order" + ] + }, + "OperatingHoursByDay": { + "description": "The operating hours per day", + "type": "object", + "properties": { + "monday": { + "$ref": "#/definitions/OperatingHours" + }, + "tuesday": { + "$ref": "#/definitions/OperatingHours" + }, + "wednesday": { + "$ref": "#/definitions/OperatingHours" + }, + "thursday": { + "$ref": "#/definitions/OperatingHours" + }, + "friday": { + "$ref": "#/definitions/OperatingHours" + }, + "saturday": { + "$ref": "#/definitions/OperatingHours" + }, + "sunday": { + "$ref": "#/definitions/OperatingHours" + } + } + }, + "TimeUnit": { + "description": "The time unit", + "type": "string", + "enum": [ + "Hours", + "Minutes", + "Days" + ] + }, + "NonNegativeInteger": { + "description": "An unsigned integer that can be only positive or zero.", + "type": "integer", + "minimum": 0 + }, + "EmailAddress": { + "description": "The email address to which email messages are delivered.", + "pattern": "^([a-zA-Z0-9_\\-\\.]+)@([a-zA-Z0-9_\\-\\.]+)\\.([a-zA-Z]{2,5})$", + "type": "string" + }, + "Address": { + "description": "A physical address.", + "properties": { + "name": { + "description": "The name of the person, business or institution at that address.", + "type": "string" + }, + "addressLine1": { + "description": "The first line of the address.", + "type": "string" + }, + "addressLine2": { + "description": "The additional address information, if required.", + "type": "string" + }, + "addressLine3": { + "description": "The additional address information, if required.", + "type": "string" + }, + "city": { + "description": "The city where the person, business or institution is located.", + "type": "string" + }, + "county": { + "description": "The county where person, business or institution is located.", + "type": "string" + }, + "district": { + "description": "The district where person, business or institution is located.", + "type": "string" + }, + "stateOrRegion": { + "description": "The state or region where person, business or institution is located.", + "type": "string" + }, + "postalCode": { + "description": "The postal code of that address. It conatins a series of letters or digits or both, sometimes including spaces or punctuation.", + "type": "string" + }, + "countryCode": { + "description": "The two digit country code. In ISO 3166-1 alpha-2 format.", + "type": "string" + }, + "phone": { + "description": "The phone number of the person, business or institution located at that address.", + "type": "string" + } + }, + "required": [ + "name", + "addressLine1", + "countryCode", + "stateOrRegion" + ], + "type": "object" + }, + "DateTime": { + "description": "A date and time in the rfc3339 format.", + "type": "string" + } + }, + "paths": { + "/supplySources/2020-07-01/supplySources": { + "get": { + "tags": [ + "supplySources" + ], + "description": "The path to retrieve paginated supply sources.", + "operationId": "getSupplySources", + "parameters": [ + { + "name": "nextPageToken", + "in": "query", + "description": "The pagination token to retrieve a specific page of results.", + "required": false, + "type": "string" + }, + { + "name": "pageSize", + "in": "query", + "description": "The number of supply sources to return per paginated request.", + "required": false, + "default": 10, + "type": "number" + } + ], + "responses": { + "200": { + "description": "Success.", + "x-amzn-api-sandbox": { + "static": [ + { + "request": { + "parameters": {} + }, + "response": { + "supplySources": [ + { + "supplySourceId": "ed85fcf9-798c-4b63-a47e-8d4f0d273ddb", + "supplySourceCode": "owner_s2cs_test_010101_aaaas", + "alias": "alias_jksjdkf_aaaas", + "address": { + "addressLine1": "addresline 1234 010101 asaaab", + "city": "Red", + "stateOrRegion": "string", + "postalCode": "99999", + "countryCode": "US" + } + } + ], + "nextPageToken": "eyJzMl9zb3J0X2tleSI6eyJzIjoic3VwcGx5U291cmNlQ29kZSNvd25lcl9zMmNzX3Rlc3RfMDEwMTAxX2FhYWFzIiwibiI6bnVsbCwiYiI6bnVsbCwibSI6bnVsbCwibCI6bnVsbCwiYnMiOm51bGwsIm5zIjpudWxsLCJzcyI6bnVsbCwibnVsbCI6bnVsbCwiYm9vbCI6bnVsbH0sInMyX3ByaW1hcnlfa2V5Ijp7InMiOiJvd25lciNNZXJjaGFudDpBMU1QWVFRSjVUVThRVSIsIm4iOm51bGwsImIiOm51bGwsIm0iOm51bGwsImwiOm51bGwsImJzIjpudWxsLCJucyI6bnVsbCwic3MiOm51bGwsIm51bGwiOm51bGwsImJvb2wiOm51bGx9LCJsc2lTS0xpdmVDcmVhdGVkVGltZSI6eyJzIjpudWxsLCJuIjoiMTU5NzEyNjU2MSIsImIiOm51bGwsIm0iOm51bGwsImwiOm51bGwsImJzIjpudWxsLCJucyI6bnVsbCwic3MiOm51bGwsIm51bGwiOm51bGwsImJvb2wiOm51bGx9fQ==" + } + } + ] + }, + "headers": { + "x-amzn-RateLimit-Limit": { + "description": "Your rate limit (requests per second) for this operation.", + "type": "string" + }, + "x-amzn-RequestId": { + "description": "The unique request reference ID.", + "type": "string" + } + }, + "schema": { + "$ref": "#/definitions/GetSupplySourcesResponse" + } + }, + "400": { + "description": "The request has missing or invalid parameters and cannot be parsed.", + "x-amzn-api-sandbox": { + "static": [ + { + "request": { + "parameters": { + "pageSize": { + "value": 3 + } + } + }, + "response": { + "errors": [ + { + "code": "InvalidInput", + "message": "Invalid or malformed address Id.", + "details": "1012" + } + ] + } + } + ] + }, + "headers": { + "x-amzn-RateLimit-Limit": { + "description": "Your rate limit (requests per second) for this operation.", + "type": "string" + }, + "x-amzn-RequestId": { + "description": "The unique request reference ID.", + "type": "string" + } + }, + "schema": { + "$ref": "#/definitions/ErrorList" + } + }, + "403": { + "description": "An error that indicates that access to the resource is forbidden. Possible reasons include Access Denied, Unauthorized, Expired Token, or Invalid Signature.", + "headers": { + "x-amzn-RequestId": { + "description": "The unique request reference ID.", + "type": "string" + } + }, + "schema": { + "$ref": "#/definitions/ErrorList" + } + }, + "404": { + "description": "The resource specified does not exist.", + "headers": { + "x-amzn-RateLimit-Limit": { + "type": "string", + "description": "Your rate limit (requests per second) for this operation." + }, + "x-amzn-RequestId": { + "description": "The unique request reference ID.", + "type": "string" + } + }, + "schema": { + "$ref": "#/definitions/ErrorList" + } + }, + "413": { + "description": "The request size exceeded the maximum accepted size.", + "headers": { + "x-amzn-RateLimit-Limit": { + "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned.", + "type": "string" + }, + "x-amzn-RequestId": { + "description": "The unique request reference ID.", + "type": "string" + } + }, + "schema": { + "$ref": "#/definitions/ErrorList" + } + }, + "415": { + "description": "The request payload is in an unsupported format.", + "headers": { + "x-amzn-RateLimit-Limit": { + "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned.", + "type": "string" + }, + "x-amzn-RequestId": { + "description": "The unique request reference ID.", + "type": "string" + } + }, + "schema": { + "$ref": "#/definitions/ErrorList" + } + }, + "429": { + "description": "The frequency of requests was greater than allowed.", + "headers": { + "x-amzn-RateLimit-Limit": { + "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned.", + "type": "string" + }, + "x-amzn-RequestId": { + "description": "The unique request reference ID.", + "type": "string" + } + }, + "schema": { + "$ref": "#/definitions/ErrorList" + } + }, + "500": { + "description": "An unexpected condition occurred that prevented the server from fulfilling the request.", + "headers": { + "x-amzn-RateLimit-Limit": { + "description": "Your rate limit (requests per second) for this operation.", + "type": "string" + }, + "x-amzn-RequestId": { + "description": "The unique request reference ID.", + "type": "string" + } + }, + "schema": { + "$ref": "#/definitions/ErrorList" + } + }, + "503": { + "description": "The temporary overloading or maintenance of the server.", + "headers": { + "x-amzn-RateLimit-Limit": { + "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned.", + "type": "string" + }, + "x-amzn-RequestId": { + "description": "The unique request reference ID.", + "type": "string" + } + }, + "schema": { + "$ref": "#/definitions/ErrorList" + } + } + } + }, + "post": { + "tags": [ + "supplySources" + ], + "description": "Create a new supply source.", + "operationId": "createSupplySource", + "parameters": [ + { + "name": "payload", + "in": "body", + "description": "A request to create a supply source.", + "required": true, + "schema": { + "$ref": "#/definitions/CreateSupplySourceRequest" + } + } + ], + "responses": { + "200": { + "description": "Success.", + "x-amzn-api-sandbox": { + "static": [ + { + "request": { + "parameters": {} + }, + "response": { + "supplySourceId": "ed85fcf9-798c-4b63-a47e-8d4f0d273ddb", + "supplySourceCode": "owner_s2cs_test_010101_aaaas" + } + } + ] + }, + "headers": { + "x-amzn-RateLimit-Limit": { + "description": "Your rate limit (requests per second) for this operation.", + "type": "string" + }, + "x-amzn-RequestId": { + "description": "The unique request reference ID.", + "type": "string" + } + }, + "schema": { + "$ref": "#/definitions/CreateSupplySourceResponse" + } + }, + "400": { + "description": "The request has missing or invalid parameters and cannot be parsed.", + "x-amzn-api-sandbox": { + "static": [ + { + "request": { + "parameters": { + "body": { + "value": { + "supplySourceCode": "owner_s2cs_test_010101_aaaab", + "alias": "alias_jksjdkf_aaaab", + "address": { + "name": "name", + "addressLine1": "addresline 1234 010101 asaaab", + "city": "Red", + "county": "King", + "stateOrRegion": "string", + "postalCode": "99999", + "countryCode": "US", + "phone": "string" + } + } + } + } + }, + "response": { + "errors": [ + { + "code": "InvalidInput", + "message": "Supply Source with given Code already exists", + "details": "1004" + } + ] + } + } + ] + }, + "headers": { + "x-amzn-RateLimit-Limit": { + "description": "Your rate limit (requests per second) for this operation.", + "type": "string" + }, + "x-amzn-RequestId": { + "description": "The unique request reference ID.", + "type": "string" + } + }, + "schema": { + "$ref": "#/definitions/ErrorList" + } + }, + "403": { + "description": "An error that indicates that access to the resource is forbidden. Possible reasons include Access Denied, Unauthorized, Expired Token, or Invalid Signature.", + "headers": { + "x-amzn-RequestId": { + "description": "The unique request reference ID.", + "type": "string" + } + }, + "schema": { + "$ref": "#/definitions/ErrorList" + } + }, + "404": { + "description": "The resource specified does not exist.", + "headers": { + "x-amzn-RateLimit-Limit": { + "type": "string", + "description": "Your rate limit (requests per second) for this operation." + }, + "x-amzn-RequestId": { + "description": "The unique request reference ID.", + "type": "string" + } + }, + "schema": { + "$ref": "#/definitions/ErrorList" + } + }, + "413": { + "description": "The request size exceeded the maximum accepted size.", + "headers": { + "x-amzn-RateLimit-Limit": { + "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned.", + "type": "string" + }, + "x-amzn-RequestId": { + "description": "The unique request reference ID.", + "type": "string" + } + }, + "schema": { + "$ref": "#/definitions/ErrorList" + } + }, + "415": { + "description": "The request payload is in an unsupported format.", + "headers": { + "x-amzn-RateLimit-Limit": { + "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned.", + "type": "string" + }, + "x-amzn-RequestId": { + "description": "The unique request reference ID.", + "type": "string" + } + }, + "schema": { + "$ref": "#/definitions/ErrorList" + } + }, + "429": { + "description": "The frequency of requests was greater than allowed.", + "headers": { + "x-amzn-RateLimit-Limit": { + "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned.", + "type": "string" + }, + "x-amzn-RequestId": { + "description": "The unique request reference ID.", + "type": "string" + } + }, + "schema": { + "$ref": "#/definitions/ErrorList" + } + }, + "500": { + "description": "An unexpected condition occurred that prevented the server from fulfilling the request.", + "headers": { + "x-amzn-RateLimit-Limit": { + "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned.", + "type": "string" + }, + "x-amzn-RequestId": { + "description": "The unique request reference ID.", + "type": "string" + } + }, + "schema": { + "$ref": "#/definitions/ErrorList" + } + }, + "503": { + "description": "The temporary overloading or maintenance of the server.", + "headers": { + "x-amzn-RateLimit-Limit": { + "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned.", + "type": "string" + }, + "x-amzn-RequestId": { + "description": "The unique request reference ID.", + "type": "string" + } + }, + "schema": { + "$ref": "#/definitions/ErrorList" + } + } + } + } + }, + "/supplySources/2020-07-01/supplySources/{supplySourceId}": { + "get": { + "tags": [ + "supplySources" + ], + "description": "Retrieve a supply source.", + "operationId": "getSupplySource", + "parameters": [ + { + "name": "supplySourceId", + "in": "path", + "description": "The unique identifier of a supply source.", + "required": true, + "type": "string" + } + ], + "responses": { + "200": { + "description": "Success.", + "x-amzn-api-sandbox": { + "static": [ + { + "request": { + "parameters": {} + }, + "response": { + "supplySourceId": "cbc976e5-1e55-4d33-855b-35e6254f5a58", + "supplySourceCode": "test-gw-435dgh2o39", + "alias": "test-gw-ssss", + "status": "Inactive", + "address": { + "addressLine1": "tst-addressLine1-423", + "addressLine2": "tes-addressLine2-gew", + "addressLine3": "Rufus", + "city": "Gekl", + "county": "", + "district": "", + "stateOrRegion": "WA", + "postalCode": "59202", + "countryCode": "US" + }, + "configuration": { + "operationalConfiguration": { + "contactDetails": { + "primary": { + "email": "test324@gmail.com", + "phone": "4813924781" + } + }, + "throughputConfig": { + "throughputCap": { + "value": 1, + "timeUnit": "Days" + }, + "throughputUnit": "ORDER" + }, + "handlingTime": { + "value": 1, + "timeUnit": "Hours" + }, + "operatingHoursByDay": { + "monday": [ + { + "startTime": "00:59", + "endTime": "06:01" + } + ], + "tuesday": [ + { + "startTime": "19:03", + "endTime": "23:25" + } + ], + "wednesday": [ + { + "startTime": "00:00", + "endTime": "00:00" + } + ], + "thursday": [ + { + "startTime": "00:00", + "endTime": "00:00" + } + ], + "friday": [ + { + "startTime": "00:00", + "endTime": "00:00" + } + ], + "saturday": [ + { + "startTime": "00:00", + "endTime": "00:00" + } + ], + "sunday": [ + { + "startTime": "00:00", + "endTime": "00:00" + } + ] + } + }, + "timezone": "Africa/Accra" + }, + "capabilities": { + "outbound": { + "isSupported": true, + "operationalConfiguration": { + "contactDetails": { + "primary": { + "email": "tet@gmail.com", + "phone": "4281937491" + } + }, + "throughputConfig": { + "throughputCap": { + "value": 1, + "timeUnit": "Days" + }, + "throughputUnit": "ORDER" + }, + "handlingTime": { + "value": 1, + "timeUnit": "Hours" + }, + "operatingHoursByDay": { + "monday": [ + { + "startTime": "00:43", + "endTime": "04:05" + } + ], + "tuesday": [ + { + "startTime": "00:00", + "endTime": "00:00" + } + ], + "wednesday": [ + { + "startTime": "00:00", + "endTime": "00:00" + } + ], + "thursday": [ + { + "startTime": "00:00", + "endTime": "00:00" + } + ], + "friday": [ + { + "startTime": "00:00", + "endTime": "00:00" + } + ], + "saturday": [ + { + "startTime": "00:00", + "endTime": "00:00" + } + ], + "sunday": [ + { + "startTime": "00:00", + "endTime": "00:00" + } + ] + } + }, + "deliveryChannel": { + "isSupported": false, + "operationalConfiguration": { + "contactDetails": { + "primary": { + "email": "", + "phone": "" + } + }, + "throughputConfig": { + "throughputCap": { + "value": 1, + "timeUnit": "Days" + }, + "throughputUnit": "ORDER" + }, + "handlingTime": { + "value": 1, + "timeUnit": "Hours" + } + } + }, + "pickupChannel": { + "isSupported": true, + "inventoryHoldPeriod": { + "value": 452, + "timeUnit": "Minutes" + }, + "operationalConfiguration": { + "contactDetails": { + "primary": { + "email": "yre4@gmail.com", + "phone": "4381232840" + } + }, + "throughputConfig": { + "throughputCap": { + "value": 1, + "timeUnit": "Days" + }, + "throughputUnit": "ORDER" + }, + "handlingTime": { + "value": 1, + "timeUnit": "Hours" + } + } + } + }, + "services": { + "isSupported": true, + "operationalConfiguration": { + "contactDetails": { + "primary": { + "email": "testservices@gmail.com", + "phone": "4281937491" + } + }, + "operatingHoursByDay": { + "monday": [ + { + "startTime": "00:43", + "endTime": "04:05" + } + ], + "tuesday": [ + { + "startTime": "00:00", + "endTime": "00:00" + } + ], + "wednesday": [ + { + "startTime": "00:00", + "endTime": "00:00" + } + ], + "thursday": [ + { + "startTime": "00:00", + "endTime": "00:00" + } + ], + "friday": [ + { + "startTime": "00:00", + "endTime": "00:00" + } + ], + "saturday": [ + { + "startTime": "00:00", + "endTime": "00:00" + } + ], + "sunday": [ + { + "startTime": "00:00", + "endTime": "00:00" + } + ] + } + } + } + }, + "createdAt": "1.596578152E9", + "updatedAt": "1.596842808E9" + } + } + ] + }, + "headers": { + "x-amzn-RateLimit-Limit": { + "description": "Your rate limit (requests per second) for this operation.", + "type": "string" + }, + "x-amzn-RequestId": { + "description": "The unique request reference ID.", + "type": "string" + } + }, + "schema": { + "$ref": "#/definitions/SupplySource" + } + }, + "400": { + "description": "The request has missing or invalid parameters and cannot be parsed.", + "x-amzn-api-sandbox": { + "static": [ + { + "request": { + "parameters": { + "supplySourceId": { + "value": "cbc976e5-1e55-4d33-855b-35e6254f5a5" + } + } + }, + "response": { + "errors": [ + { + "code": "InvalidInput", + "message": "Invalid Input", + "details": "" + } + ] + } + } + ] + }, + "headers": { + "x-amzn-RateLimit-Limit": { + "description": "Your rate limit (requests per second) for this operation.", + "type": "string" + }, + "x-amzn-RequestId": { + "description": "The unique request reference ID.", + "type": "string" + } + }, + "schema": { + "$ref": "#/definitions/ErrorList" + } + }, + "403": { + "description": "An error that indicates that access to the resource is forbidden. Possible reasons include Access Denied, Unauthorized, Expired Token, or Invalid Signature.", + "headers": { + "x-amzn-RequestId": { + "description": "The unique request reference ID.", + "type": "string" + } + }, + "schema": { + "$ref": "#/definitions/ErrorList" + } + }, + "404": { + "description": "The resource specified does not exist.", + "headers": { + "x-amzn-RateLimit-Limit": { + "type": "string", + "description": "Your rate limit (requests per second) for this operation." + }, + "x-amzn-RequestId": { + "description": "The unique request reference ID.", + "type": "string" + } + }, + "schema": { + "$ref": "#/definitions/ErrorList" + } + }, + "413": { + "description": "The request size exceeded the maximum accepted size.", + "headers": { + "x-amzn-RateLimit-Limit": { + "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned.", + "type": "string" + }, + "x-amzn-RequestId": { + "description": "The unique request reference ID.", + "type": "string" + } + }, + "schema": { + "$ref": "#/definitions/ErrorList" + } + }, + "415": { + "description": "The request payload is in an unsupported format.", + "headers": { + "x-amzn-RateLimit-Limit": { + "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned.", + "type": "string" + }, + "x-amzn-RequestId": { + "description": "The unique request reference ID.", + "type": "string" + } + }, + "schema": { + "$ref": "#/definitions/ErrorList" + } + }, + "429": { + "description": "The frequency of requests was greater than allowed.", + "headers": { + "x-amzn-RateLimit-Limit": { + "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned.", + "type": "string" + }, + "x-amzn-RequestId": { + "description": "The unique request reference ID.", + "type": "string" + } + }, + "schema": { + "$ref": "#/definitions/ErrorList" + } + }, + "500": { + "description": "An unexpected condition occurred that prevented the server from fulfilling the request.", + "headers": { + "x-amzn-RateLimit-Limit": { + "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned.", + "type": "string" + }, + "x-amzn-RequestId": { + "description": "The unique request reference ID.", + "type": "string" + } + }, + "schema": { + "$ref": "#/definitions/ErrorList" + } + }, + "503": { + "description": "The temporary overloading or maintenance of the server.", + "headers": { + "x-amzn-RateLimit-Limit": { + "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned.", + "type": "string" + }, + "x-amzn-RequestId": { + "description": "The unique request reference ID.", + "type": "string" + } + }, + "schema": { + "$ref": "#/definitions/ErrorList" + } + } + } + }, + "put": { + "tags": [ + "supplySources" + ], + "description": "Update the configuration and capabilities of a supply source.", + "operationId": "updateSupplySource", + "parameters": [ + { + "name": "supplySourceId", + "in": "path", + "description": "The unique identitier of a supply source.", + "required": true, + "type": "string" + }, + { + "name": "payload", + "in": "body", + "schema": { + "$ref": "#/definitions/UpdateSupplySourceRequest" + } + } + ], + "responses": { + "204": { + "description": "Success.", + "x-amzn-api-sandbox": { + "static": [ + { + "request": { + "parameters": {} + }, + "response": {} + } + ] + }, + "headers": { + "x-amzn-RateLimit-Limit": { + "description": "Your rate limit (requests per second) for this operation.", + "type": "string" + }, + "x-amzn-RequestId": { + "description": "The unique request reference ID.", + "type": "string" + } + }, + "schema": { + "$ref": "#/definitions/ErrorList" + } + }, + "400": { + "description": "The request has missing or invalid parameters and cannot be parsed.", + "x-amzn-api-sandbox": { + "static": [ + { + "request": { + "parameters": { + "supplySourceId": { + "value": "cf146560-392a-43e6-bf99-2ca3b5d42b5c" + }, + "body": { + "value": { + "alias": "test-config", + "configuration": { + "operationalConfiguration": { + "contactDetails": { + "primary": { + "email": "111@gmail.com", + "phone": "111" + } + }, + "operatingHoursByDay": { + "monday": [ { + "startTime": "01:30", + "endTime": "02:40" + } + ], + "tuesday": [ { + "startTime": "2:00", + "endTime": "2:00" + } + ]}, + "throughputConfig": { + "throughputCap": { + "value": 17, + "timeUnit": "Hours" + } + }, + "handlingTime": { + "value": 1, + "timeUnit": "Hours" + } + }, + "timezone":"Africa/Accra" + }, + "capabilities": { + "outbound": { + "isSupported": true, + "operationalConfiguration": { + "contactDetails":{ + "primary":{ + "email": "outbound@gmail.com", + "phone":"222" + } + }, + "operatingHoursByDay": { + "wednesday": [ { + "startTime": "03:30", + "endTime": "03:40" + } + ], + "thursday": [ { + "startTime": "4:00", + "endTime": "4:00" + } + ]}, + "throughputConfig":{ + "throughputCap":{ + "value": 10, + "timeUnit":"Hours" + } + }, + "handlingTime": { + "value": 1, + "timeUnit": "Hours" + } + }, + "returnLocation": { + "addressWithContact":{ + "address":{ + "addressLine1": "returnLocation", + "countryCode": "na" + }, + "contactDetails":{ + "primary": { + "email": "returnLocation@gmail.com", + "phone": "333" + } + } + }, + "supplySourceId": "cbb1658a-949e-4c42-9d29-6c38ac1c4746" + }, + "deliveryChannel": { + "isSupported": true, + "operationalConfiguration": { + "contactDetails":{ + "primary":{ + "email": "deliveryChannel@gmail.com", + "phone":"444" + } + }, + "operatingHoursByDay": { + "friday": [ { + "startTime": "03:30", + "endTime": "03:40" + } + ], + "thursday": [ { + "startTime": "4:00", + "endTime": "4:00" + } + ]}, + "throughputConfig":{ + "throughputCap":{ + "value": 4, + "timeUnit":"Hours" + } + }, + "handlingTime": { + "value": 1, + "timeUnit": "Hours" + } + } + }, + "pickupChannel": { + "isSupported": true, + "inventoryHoldPeriod": { + "value": 4, + "timeUnit": "Minutes" + }, + "operationalConfiguration": { + "contactDetails":{ + "primary":{ + "email": "pickupChannel@gmail.com", + "phone":"555" + } + }, + "operatingHoursByDay": { + "saturday": [ { + "startTime": "12:30", + "endTime": "03:40" + } + ], + "sunday": [{ + "startTime": "5:00", + "endTime": "23:30" + }]}, + "throughputConfig":{ + "throughputCap":{ + "value": 3, + "timeUnit":"Hours" + } + }, + "handlingTime": { + "value": 1, + "timeUnit": "Hours" + } + } + } + }, + "services": { + "isSupported": true, + "operationalConfiguration": { + "contactDetails": { + "primary": { + "email": "services@gmail.com", + "phone": "222" + } + }, + "operatingHoursByDay": { + "wednesday": [ + { + "startTime": "03:30", + "endTime": "03:40" + } + ], + "thursday": [ + { + "startTime": "4:00", + "endTime": "4:00" + } + ] + } + } + } + } + } + } + } + }, + "response": { + "errors": [ + { + "code": "InvalidInput", + "message": "Supply Source has been archived and cannot be modified.", + "details": "1005" + } + ] + } + } + ] + }, + "headers": { + "x-amzn-RateLimit-Limit": { + "description": "Your rate limit (requests per second) for this operation.", + "type": "string" + }, + "x-amzn-RequestId": { + "description": "The unique request reference ID.", + "type": "string" + } + }, + "schema": { + "$ref": "#/definitions/ErrorList" + } + }, + "403": { + "description": "An error that indicates that access to the resource is forbidden. Possible reasons include Access Denied, Unauthorized, Expired Token, or Invalid Signature.", + "headers": { + "x-amzn-RequestId": { + "description": "The unique request reference ID.", + "type": "string" + } + }, + "schema": { + "$ref": "#/definitions/ErrorList" + } + }, + "404": { + "description": "The resource specified does not exist.", + "headers": { + "x-amzn-RateLimit-Limit": { + "type": "string", + "description": "Your rate limit (requests per second) for this operation." + }, + "x-amzn-RequestId": { + "description": "The unique request reference ID.", + "type": "string" + } + }, + "schema": { + "$ref": "#/definitions/ErrorList" + } + }, + "413": { + "description": "The request size exceeded the maximum accepted size.", + "headers": { + "x-amzn-RateLimit-Limit": { + "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned.", + "type": "string" + }, + "x-amzn-RequestId": { + "description": "The unique request reference ID.", + "type": "string" + } + }, + "schema": { + "$ref": "#/definitions/ErrorList" + } + }, + "415": { + "description": "The request payload is in an unsupported format.", + "headers": { + "x-amzn-RateLimit-Limit": { + "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned.", + "type": "string" + }, + "x-amzn-RequestId": { + "description": "The unique request reference ID.", + "type": "string" + } + }, + "schema": { + "$ref": "#/definitions/ErrorList" + } + }, + "429": { + "description": "The frequency of requests was greater than allowed.", + "headers": { + "x-amzn-RateLimit-Limit": { + "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned.", + "type": "string" + }, + "x-amzn-RequestId": { + "description": "The unique request reference ID.", + "type": "string" + } + }, + "schema": { + "$ref": "#/definitions/ErrorList" + } + }, + "500": { + "description": "An unexpected condition occurred that prevented the server from fulfilling the request.", + "headers": { + "x-amzn-RateLimit-Limit": { + "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned.", + "type": "string" + }, + "x-amzn-RequestId": { + "description": "The unique request reference ID.", + "type": "string" + } + }, + "schema": { + "$ref": "#/definitions/ErrorList" + } + }, + "503": { + "description": "The temporary overloading or maintenance of the server.", + "headers": { + "x-amzn-RateLimit-Limit": { + "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned.", + "type": "string" + }, + "x-amzn-RequestId": { + "description": "The unique request reference ID.", + "type": "string" + } + }, + "schema": { + "$ref": "#/definitions/ErrorList" + } + } + } + }, + "delete": { + "tags": [ + "supplySources" + ], + "description": "Archive a supply source, making it inactive. Cannot be undone.", + "operationId": "archiveSupplySource", + "parameters": [ + { + "name": "supplySourceId", + "in": "path", + "description": "The unique identifier of a supply source.", + "required": true, + "type": "string" + } + ], + "responses": { + "204": { + "description": "Success.", + "x-amzn-api-sandbox": { + "static": [ + { + "request": { + "parameters": {} + }, + "response": {} + } + ] + }, + "headers": { + "x-amzn-RateLimit-Limit": { + "description": "Your rate limit (requests per second) for this operation.", + "type": "string" + }, + "x-amzn-RequestId": { + "description": "The unique request reference ID.", + "type": "string" + } + }, + "schema": { + "$ref": "#/definitions/ErrorList" + } + }, + "400": { + "description": "The request has missing or invalid parameters and cannot be parsed.", + "x-amzn-api-sandbox": { + "static": [ + { + "request": { + "parameters": { + "supplySourceId": { + "value": "cf146560-392a-43e6-bf99-2ca3b5d42b5c" + } + } + }, + "response": { + "errors": [ + { + "code": "InvalidInput", + "message": "Supply Source has been archived and cannot be modified.", + "details": "1005" + } + ] + } + } + ] + }, + "headers": { + "x-amzn-RateLimit-Limit": { + "description": "Your rate limit (requests per second) for this operation.", + "type": "string" + }, + "x-amzn-RequestId": { + "description": "The unique request reference ID.", + "type": "string" + } + }, + "schema": { + "$ref": "#/definitions/ErrorList" + } + }, + "403": { + "description": "Indicates that access to the resource is forbidden. Possible reasons include Access Denied, Unauthorized, Expired Token, or Invalid Signature.", + "headers": { + "x-amzn-RequestId": { + "description": "The unique request reference ID.", + "type": "string" + } + }, + "schema": { + "$ref": "#/definitions/ErrorList" + } + }, + "404": { + "description": "The resource specified does not exist.", + "headers": { + "x-amzn-RateLimit-Limit": { + "type": "string", + "description": "Your rate limit (requests per second) for this operation." + }, + "x-amzn-RequestId": { + "description": "The unique request reference ID.", + "type": "string" + } + }, + "schema": { + "$ref": "#/definitions/ErrorList" + } + }, + "413": { + "description": "The request size exceeded the maximum accepted size.", + "headers": { + "x-amzn-RateLimit-Limit": { + "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned.", + "type": "string" + }, + "x-amzn-RequestId": { + "description": "The unique request reference ID.", + "type": "string" + } + }, + "schema": { + "$ref": "#/definitions/ErrorList" + } + }, + "415": { + "description": "The request payload is in an unsupported format.", + "headers": { + "x-amzn-RateLimit-Limit": { + "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned.", + "type": "string" + }, + "x-amzn-RequestId": { + "description": "The unique request reference ID.", + "type": "string" + } + }, + "schema": { + "$ref": "#/definitions/ErrorList" + } + }, + "429": { + "description": "The frequency of requests was greater than allowed.", + "headers": { + "x-amzn-RateLimit-Limit": { + "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned.", + "type": "string" + }, + "x-amzn-RequestId": { + "description": "The unique request reference ID.", + "type": "string" + } + }, + "schema": { + "$ref": "#/definitions/ErrorList" + } + }, + "500": { + "description": "An unexpected condition occurred that prevented the server from fulfilling the request.", + "headers": { + "x-amzn-RateLimit-Limit": { + "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned.", + "type": "string" + }, + "x-amzn-RequestId": { + "description": "The unique request reference ID.", + "type": "string" + } + }, + "schema": { + "$ref": "#/definitions/ErrorList" + } + }, + "503": { + "description": "The temporary overloading or maintenance of the server.", + "headers": { + "x-amzn-RateLimit-Limit": { + "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned.", + "type": "string" + }, + "x-amzn-RequestId": { + "description": "The unique request reference ID.", + "type": "string" + } + }, + "schema": { + "$ref": "#/definitions/ErrorList" + } + } + } + } + }, + "/supplySources/2020-07-01/supplySources/{supplySourceId}/status": { + "put": { + "tags": [ + "supplySources" + ], + "description": "Update the status of a supply source.", + "operationId": "updateSupplySourceStatus", + "parameters": [ + { + "name": "supplySourceId", + "in": "path", + "description": "The unique identifier of a supply source.", + "required": true, + "type": "string" + }, + { + "name": "payload", + "in": "body", + "schema": { + "$ref": "#/definitions/UpdateSupplySourceStatusRequest" + } + } + ], + "responses": { + "204": { + "description": "Success.", + "x-amzn-api-sandbox": { + "static": [ + { + "request": { + "parameters": { + } + }, + "response": {} + } + ] + }, + "headers": { + "x-amzn-RateLimit-Limit": { + "description": "Your rate limit (requests per second) for this operation.", + "type": "string" + }, + "x-amzn-RequestId": { + "description": "The unique request reference ID.", + "type": "string" + } + }, + "schema": { + "$ref": "#/definitions/ErrorList" + } + }, + "400": { + "description": "The request has missing or invalid parameters and cannot be parsed.", + "x-amzn-api-sandbox": { + "static": [ + { + "request": { + "parameters": { + "supplySourceId": { + "value": "cf146560-392a-43e6-bf99-2ca3b5d42b5c" + }, + "body": { + "value": { + "status": "Inactive" + } + } + } + }, + "response": { + "errors": [ + { + "code": "InvalidInput", + "message": "Supply Source has been archived and cannot be modified.", + "details": "1005" + } + ] + } + }, + { + "request": { + "parameters": { + "supplySourceId": { + "value": "cf146560-392a-43e6-bf99-2ca3b5d42b5c" + }, + "body": { + "value": { + "status": "Active" + } + } + } + }, + "response": { + "errors": [ + { + "code": "InvalidInput", + "message": "Supply Source has been archived and cannot be modified.", + "details": "1005" + } + ] + } + } + ] + }, + "headers": { + "x-amzn-RateLimit-Limit": { + "description": "Your rate limit (requests per second) for this operation.", + "type": "string" + }, + "x-amzn-RequestId": { + "description": "The unique request reference ID.", + "type": "string" + } + }, + "schema": { + "$ref": "#/definitions/ErrorList" + } + }, + "403": { + "description": "Indicates that access to the resource is forbidden. Possible reasons include Access Denied, Unauthorized, Expired Token, or Invalid Signature.", + "headers": { + "x-amzn-RequestId": { + "description": "The unique request reference ID.", + "type": "string" + } + }, + "schema": { + "$ref": "#/definitions/ErrorList" + } + }, + "404": { + "description": "The resource specified does not exist.", + "headers": { + "x-amzn-RateLimit-Limit": { + "type": "string", + "description": "Your rate limit (requests per second) for this operation." + }, + "x-amzn-RequestId": { + "description": "The unique request reference ID.", + "type": "string" + } + }, + "schema": { + "$ref": "#/definitions/ErrorList" + } + }, + "413": { + "description": "The request size exceeded the maximum accepted size.", + "headers": { + "x-amzn-RateLimit-Limit": { + "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned.", + "type": "string" + }, + "x-amzn-RequestId": { + "description": "The unique request reference ID.", + "type": "string" + } + }, + "schema": { + "$ref": "#/definitions/ErrorList" + } + }, + "415": { + "description": "The request payload is in an unsupported format.", + "headers": { + "x-amzn-RateLimit-Limit": { + "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned.", + "type": "string" + }, + "x-amzn-RequestId": { + "description": "The unique request reference ID.", + "type": "string" + } + }, + "schema": { + "$ref": "#/definitions/ErrorList" + } + }, + "429": { + "description": "The frequency of requests was greater than allowed.", + "headers": { + "x-amzn-RateLimit-Limit": { + "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned.", + "type": "string" + }, + "x-amzn-RequestId": { + "description": "The unique request reference ID.", + "type": "string" + } + }, + "schema": { + "$ref": "#/definitions/ErrorList" + } + }, + "500": { + "description": "An unexpected condition occurred that prevented the server from fulfilling the request.", + "headers": { + "x-amzn-RateLimit-Limit": { + "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned.", + "type": "string" + }, + "x-amzn-RequestId": { + "description": "The unique request reference ID.", + "type": "string" + } + }, + "schema": { + "$ref": "#/definitions/ErrorList" + } + }, + "503": { + "description": "The temporary overloading or maintenance of the server.", + "headers": { + "x-amzn-RateLimit-Limit": { + "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned.", + "type": "string" + }, + "x-amzn-RequestId": { + "description": "The unique request reference ID.", + "type": "string" + } + }, + "schema": { + "$ref": "#/definitions/ErrorList" + } + } + } + } + } + } +} From b642105e421ca3d4ee7b597d70c953be5cbbbf6f Mon Sep 17 00:00:00 2001 From: Alex Rupprecht Date: Wed, 8 Nov 2023 13:07:17 -0500 Subject: [PATCH 188/340] Update weight to mandatory --- ...rDirectFulfillmentShipping_2021-12-28.json | 279 +++++++++++++++++- 1 file changed, 277 insertions(+), 2 deletions(-) diff --git a/models/vendor-direct-fulfillment-shipping-api-model/vendorDirectFulfillmentShipping_2021-12-28.json b/models/vendor-direct-fulfillment-shipping-api-model/vendorDirectFulfillmentShipping_2021-12-28.json index 31cc7d4d2..773ed8113 100644 --- a/models/vendor-direct-fulfillment-shipping-api-model/vendorDirectFulfillmentShipping_2021-12-28.json +++ b/models/vendor-direct-fulfillment-shipping-api-model/vendorDirectFulfillmentShipping_2021-12-28.json @@ -1810,6 +1810,157 @@ "dynamic": {} } } + }, + "/vendor/directFulfillment/shipping/2021-12-28/containerLabel": { + "post": { + "tags": [ + "createContainerLabel" + ], + "description": "Creates container (pallet) label for provided shipment package association", + "operationId": "createContainerLabel", + "parameters": [ + { + "in": "body", + "name": "body", + "required": true, + "schema": { + "$ref": "#/definitions/CreateContainerLabelRequest" + } + } + ], + "responses": { + "200": { + "description": "Success.", + "schema": { + "$ref": "#/definitions/CreateContainerLabelResponse" + }, + "examples": { + "containerLabel": { + "containerTrackingNumber": "TBA134335066000", + "content": "Base 64 encoded string goes here ", + "format": "PNG" + } + }, + "headers": { + "x-amzn-RateLimit-Limit": { + "type": "string", + "description": "Your rate limit (requests per second) for this operation." + }, + "x-amzn-RequestId": { + "type": "string", + "description": "Unique request reference identifier." + } + } + }, + "400": { + "description": "Request has missing or invalid parameters and cannot be parsed.", + "schema": { + "$ref": "#/definitions/ErrorList" + }, + "headers": { + "x-amzn-RateLimit-Limit": { + "type": "string", + "description": "Your rate limit (requests per second) for this operation." + }, + "x-amzn-RequestId": { + "type": "string", + "description": "Unique request reference identifier." + } + } + }, + "403": { + "description": "Indicates that access to the resource is forbidden. Possible reasons include Access Denied, Unauthorized, Expired Token, or Invalid Signature.", + "schema": { + "$ref": "#/definitions/ErrorList" + }, + "headers": { + "x-amzn-RequestId": { + "type": "string", + "description": "Unique request reference identifier." + } + } + }, + "404": { + "description": "The resource specified does not exist.", + "schema": { + "$ref": "#/definitions/ErrorList" + }, + "headers": { + "x-amzn-RateLimit-Limit": { + "type": "string", + "description": "Your rate limit (requests per second) for this operation." + }, + "x-amzn-RequestId": { + "type": "string", + "description": "Unique request reference identifier." + } + } + }, + "413": { + "description": "The request size exceeded the maximum accepted size.", + "schema": { + "$ref": "#/definitions/ErrorList" + }, + "headers": { + "x-amzn-RequestId": { + "type": "string", + "description": "Unique request reference identifier." + } + } + }, + "415": { + "description": "The request payload is in an unsupported format.", + "schema": { + "$ref": "#/definitions/ErrorList" + }, + "headers": { + "x-amzn-RequestId": { + "type": "string", + "description": "Unique request reference identifier." + } + } + }, + "429": { + "description": "The frequency of requests was greater than allowed.", + "schema": { + "$ref": "#/definitions/ErrorList" + }, + "headers": { + "x-amzn-RequestId": { + "type": "string", + "description": "Unique request reference identifier." + } + } + }, + "500": { + "description": "An unexpected condition occurred that prevented the server from fulfilling the request.", + "schema": { + "$ref": "#/definitions/ErrorList" + }, + "headers": { + "x-amzn-RequestId": { + "type": "string", + "description": "Unique request reference identifier." + } + } + }, + "503": { + "description": "Temporary overloading or maintenance of the server.", + "schema": { + "$ref": "#/definitions/ErrorList" + }, + "headers": { + "x-amzn-RequestId": { + "type": "string", + "description": "Unique request reference identifier." + } + } + } + }, + "x-amzn-api-sandbox": { + "dynamic": {} + } + } } }, "definitions": { @@ -2273,7 +2424,7 @@ "$ref": "#/definitions/Decimal" } }, - "description": "The weight. This object is required when using the [`submitShipmentConfirmations`](https://developer-docs.amazon.com/sp-api/docs/vendor-direct-fulfillment-shipping-api-2021-12-28-reference#submitshipmentconfirmations) operation." + "description": "The weight." }, "Decimal": { "type": "string", @@ -2576,7 +2727,8 @@ "required": [ "containerIdentifier", "containerType", - "packedItems" + "packedItems", + "weight" ], "properties": { "containerType": { @@ -2643,6 +2795,129 @@ } } } + }, + "CreateContainerLabelRequest": { + "description": "The request body schema for the createContainerLabel operation.", + "type": "object", + "required": [ + "sellingParty", + "shipFromParty", + "carrierId", + "vendorContainerId", + "packages" + ], + "properties": { + "sellingParty": { + "description": "ID of the selling party or vendor.", + "$ref": "#/definitions/PartyIdentification" + }, + "shipFromParty": { + "description": "Warehouse code of vendor.", + "$ref": "#/definitions/PartyIdentification" + }, + "carrierId": { + "description": "Carrier for which container (pallet) label requested.", + "$ref": "#/definitions/CarrierId" + }, + "vendorContainerId": { + "description": " Unique identifier for the container request incoming from vendor side.", + "$ref": "#/definitions/VendorContainerId" + }, + "packages": { + "description": "Array of Package object in order to associate shipment packages with container", + "$ref": "#/definitions/Packages" + } + } + }, + "Packages": { + "description": "Array of package object in order to associate shipments packages with given container.", + "type": "array", + "items": { + "$ref": "#/definitions/Package" + } + }, + "Package": { + "type": "object", + "description": "Object describing Package that is going to be associated with given container.", + "required": [ + "packageTrackingNumber" + ], + "properties": { + "packageTrackingNumber": { + "type": "string", + "description": "tracking identifier present on label of shipment package. Tracking number can be fetched from fetched from shippingLabels API response. Alternatively bar code on the shipping label can be scanned by the scanner to get the tracking number." + } + } + }, + "VendorContainerId": { + "type": "string", + "description": "unique identifier for the container provided by the vendor." + }, + "CarrierId": { + "type": "string", + "description": "Unique carrier code for the carrier for whom container labels are requested.", + "enum": [ + "SWA" + ], + "x-docgen-enum-table-extension": [ + { + "value": "SWA", + "description": "Ship with Amazon Carrier." + } + ] + }, + "CreateContainerLabelResponse": { + "description": "The response schema for the createContainerLabel operation.", + "type": "object", + "required": [ + "containerLabel" + ], + "properties": { + "containerLabel": { + "description": "Label data for container label.", + "$ref": "#/definitions/ContainerLabel" + } + } + }, + "ContainerLabel": { + "description": "Details of the container label.", + "type": "object", + "required": [ + "content", + "format" + ], + "properties": { + "containerTrackingNumber": { + "type": "string", + "description": "Container (pallet) tracking identifier from the shipping carrier." + }, + "content": { + "type": "string", + "description": "This field will contain the Base64encoded string of the container label content." + }, + "format": { + "description": "Format of the container label.", + "$ref": "#/definitions/ContainerLabelFormat" + } + } + }, + "ContainerLabelFormat": { + "type": "string", + "description": "Format of the container label.", + "enum": [ + "PNG", + "ZPL" + ], + "x-docgen-enum-table-extension": [ + { + "value": "PNG", + "description": "Portable Network Graphics (png) format." + }, + { + "value": "ZPL", + "description": "Zebra Programming Language (zpl) format." + } + ] } } } \ No newline at end of file From df419b39b04c323a8daf4feb9e05142e47bdbe73 Mon Sep 17 00:00:00 2001 From: andiec Date: Tue, 21 Nov 2023 13:24:00 -0500 Subject: [PATCH 189/340] updated ListingsItemissuesChangeNotification cr: https://code.amazon.com/reviews/CR-106928054 --- .../ListingsItemIssuesChangeNotification.json | 2 +- ...emIssuesChangeNotification_2023-12-13.json | 245 ++++++++++++++++++ 2 files changed, 246 insertions(+), 1 deletion(-) create mode 100644 schemas/notifications/ListingsItemIssuesChangeNotification_2023-12-13.json diff --git a/schemas/notifications/ListingsItemIssuesChangeNotification.json b/schemas/notifications/ListingsItemIssuesChangeNotification.json index 957aa8142..7e465cafb 100644 --- a/schemas/notifications/ListingsItemIssuesChangeNotification.json +++ b/schemas/notifications/ListingsItemIssuesChangeNotification.json @@ -242,4 +242,4 @@ } } } -} +} \ No newline at end of file diff --git a/schemas/notifications/ListingsItemIssuesChangeNotification_2023-12-13.json b/schemas/notifications/ListingsItemIssuesChangeNotification_2023-12-13.json new file mode 100644 index 000000000..ac9687e78 --- /dev/null +++ b/schemas/notifications/ListingsItemIssuesChangeNotification_2023-12-13.json @@ -0,0 +1,245 @@ +{ + "$schema": "http://json-schema.org/draft-07/schema", + "title": "Listings Item Issues Change Notification", + "description": "To be delivered when issues are created, changed, or resolved for a listings item.", + "type": "object", + "examples": [ + { + "NotificationVersion": "1.0", + "NotificationType": "LISTINGS_ITEM_ISSUES_CHANGE", + "PayloadVersion": "2023-12-13", + "EventTime": "2024-02-05T18:59:30.194Z", + "Payload": { + "SellerId": "AXXXXXXXXXXXXX", + "MarketplaceId": "ATVPDKIKX0DER", + "Asin": "BT6RZ7JM4H", + "Sku": "NLS-SHOES-03", + "Severities": [ + "ERROR", + "WARNING" + ], + "EnforcementActions": [ + "SEARCH_SUPPRESSED", + "LISTING_SUPPRESSED", + "ATTRIBUTE_SUPPRESSED", + "CATALOG_ITEM_REMOVED" + ] + }, + "NotificationMetadata": { + "ApplicationId": "amzn1.sellerapps.app.f108f511-eeac-46a6-b125-bcb752069ed0", + "SubscriptionId": "93b098e1-c42-2f45-93a1-78910a6a8369", + "PublishTime": "2024-02-05T18:59:48.768Z", + "NotificationId": "8e009934-da2c-4f9c-9bc7-93f23b7e1f60" + } + } + ], + "required": [ + "NotificationVersion", + "NotificationType", + "PayloadVersion", + "EventTime", + "Payload", + "NotificationMetadata" + ], + "properties": { + "NotificationVersion": { + "type": "string", + "title": "Notification Version", + "description": "The version of the notification.", + "examples": [ + "1.0" + ] + }, + "NotificationType": { + "type": "string", + "title": "Notification Type", + "description": "The type of the notification.", + "enum": ["LISTINGS_ITEM_ISSUES_CHANGE"] + }, + "PayloadVersion": { + "type": "string", + "title": "Payload Version", + "description": "The version of the payload.", + "examples": [ + "2023-12-13" + ] + }, + "EventTime": { + "type": "string", + "format": "date-time", + "title": "Event Time", + "description": "Timestamp of the event, formatted as ISO8601 date-time.", + "examples": [ + "2019-03-20T18:59:30.194Z" + ] + }, + "Payload": { + "type": "object", + "title": "Payload", + "description": "The details of this notification.", + "examples": [ + { + "SellerId": "A3AYAZLIQ7AX77", + "MarketplaceId": "ATVPDKIKX0DER", + "Asin": "BT6RZ7JM4H", + "Sku": "NLS-SHOES-03", + "Severities": [ + "ERROR", + "WARNING" + ], + "EnforcementActions": [ + "SEARCH_SUPPRESSED", + "LISTING_SUPPRESSED", + "ATTRIBUTE_SUPPRESSED", + "CATALOG_ITEM_REMOVED" + ] + } + ], + "required": [ + "SellerId", + "Sku", + "Severities" + ], + "properties": { + "SellerId": { + "type": "string", + "title": "Seller ID", + "description": "Selling partner identifier, such as a merchant account or vendor code, of the affected listings item.", + "examples": [ + "AXXXXXXXXXXXXX", + "TXXXX" + ] + }, + "MarketplaceId": { + "type": "string", + "title": "Marketplace ID", + "description": "Amazon marketplace identifier of the affected listings item.", + "examples": [ + "ATVPDKIKX0DER" + ] + }, + "Asin": { + "type": "string", + "title": "ASIN", + "description": "The Amazon Standard Identification Number (ASIN) identifier of the catalog item associated with the listings item.", + "examples": [ + "BT6RZ7JM4H" + ] + }, + "Sku": { + "type": "string", + "title": "SKU", + "description": "Identifier of the affected listings item.", + "examples": [ + "NLS-SHOES-03" + ] + }, + "Severities": { + "type": "array", + "title": "Severities", + "description": "Array of severities for the issues currently associated with the affected listings item. When no issues are affecting the listings item, \"NONE\" is provided instead.", + "items": { + "type": "string", + "enum": [ + "NONE", + "ERROR", + "WARNING" + ], + "x-docgen-enum-table-extension": [ + { + "value": "NONE", + "description": "When provided, no issues are affecting the listings item." + }, + { + "value": "ERROR", + "description": "When provided, at least one issue with \"ERROR\" severity is affecting the listings item." + }, + { + "value": "WARNING", + "description": "When provided, at least one issue with \"WARNING\" severity is affecting the listings item." + } + ] + }, + "uniqueItems": true, + "examples": [ + [ + "ERROR", + "WARNING" + ] + ] + }, + "EnforcementActions": { + "type": "array", + "title": "Enforcement Actions Taken", + "description": "Array of enforcement actions taken by Amazon for the issues associated with the affected listings item. Possible values: 'LISTING_SUPPRESSED' - This enforcement takes down the current listing item's buyability. 'ATTRIBUTE_SUPPRESSED' - An attribute's value on the listing item is invalid, which causes it to be rejected by Amazon. 'CATALOG_ITEM_REMOVED' - This catalog item is inactive on Amazon, and all offers against it in the applicable marketplace are non-buyable. 'SEARCH_SUPPRESSED' - This value indicates that the catalog item is hidden from search results.", + "items": { + "type": "string" + }, + "uniqueItems": true, + "examples": [ + [ + "SEARCH_SUPPRESSED", + "LISTING_SUPPRESSED", + "ATTRIBUTE_SUPPRESSED", + "CATALOG_ITEM_REMOVED" + ] + ] + } + } + }, + "NotificationMetadata": { + "type": "object", + "title": "Notification Metadata", + "description": "The metadata of the notification.", + "examples": [ + { + "ApplicationId": "amzn1.sellerapps.app.f1234566-aaec-55a6-b123-bcb752069ec5", + "SubscriptionId": "93b098e1-c42-2f45-93a1-78910a6a8369", + "PublishTime": "2019-03-20T18:59:48.768Z", + "NotificationId": "8e009934-da2c-4f9c-9bc7-93f23b7e1f60" + } + ], + "required": [ + "ApplicationId", + "SubscriptionId", + "PublishTime", + "NotificationId" + ], + "properties": { + "ApplicationId": { + "type": "string", + "title": "Application ID", + "description": "Identifies the application.", + "examples": [ + "amzn1.sellerapps.app.f1234566-aaec-55a6-b123-bcb752069ec5" + ] + }, + "SubscriptionId": { + "type": "string", + "title": "Subscription ID", + "description": "Identifies the subscription.", + "examples": [ + "93b098e1-c42-2f45-93a1-78910a6a8369" + ] + }, + "PublishTime": { + "type": "string", + "format": "date-time", + "title": "Publish Time", + "description": "Timestamp of when the notification was published, formatted as ISO8601 date-time.", + "examples": [ + "2019-03-20T18:59:48.768Z" + ] + }, + "NotificationId": { + "type": "string", + "title": "Notification ID", + "description": "Identifies the notification.", + "examples": [ + "8e009934-da2c-4f9c-9bc7-93f23b7e1f60" + ] + } + } + } + } +} From 70d6cca3e7a491ee0964ba1a3b44399230dcf1cd Mon Sep 17 00:00:00 2001 From: andiec Date: Wed, 31 Jan 2024 11:11:11 -0500 Subject: [PATCH 190/340] fba small and light deprecation note added --- .DS_Store | Bin 8196 -> 8196 bytes models/.DS_Store | Bin 8196 -> 10244 bytes .../fbaSmallandLight.json | 11 ++++++++--- .../product-fees-api-model/productFeesV0.json | 8 ++++---- 4 files changed, 12 insertions(+), 7 deletions(-) diff --git a/.DS_Store b/.DS_Store index 066d450b63a01d8f20da8fbb9621ee561b70deb8..52e8b63df488a9c1c6351c4382e4a169552bc92e 100644 GIT binary patch delta 1039 zcmeIw%S%*I90%~<_oQ}jo$NTyOg5?42RUSpsoD7G!Jw0+hKkK-V5DQ-#n3c9u1(NH z_HYv+J#I-v1#K#^A}XR6wFt`!+GLbaEutc#7X+lr6_8P^64bXg_Vfq4!$ynV zXUN?gu=ZApEr#B#hXVbxPwnT~IG1&q>dopTDTIVtG|fUBkp|kz(OiZazw> z1vhP$qDJm?EKo&2@fpEwdVF5M3sqsLzD>b!SFCXq^TmqjQvIPoryhz|ZeFg4dbKqY zzfioCCm*($s57}eZ$Kr5GN^>Sw1zsUkD@e0N9hz@p)tBgPw5rCqmT3*07D{@FcVf} zKtmR?k&lINp%6>q#Y)tm8EsgP4QNLfHY1E4^df=*?8I*D!CoAKi6a=sNu0r1jNlS( zx^WA)aR-m_49_u%H~56l_`<+uFe|e$JJVPe%VD|9&B~aE)v{*R$~w$cYm>y+R;{kB ztN$~8&foFP1Y1xdhixvwHIXR&l!>&tj(K@bZjRbAtGSpa-PKsPq(I{WQ=y`gbCDol zAU<1>AtOzNs%lLWiWpZECD-#W&Xe?--qTn5A)S+viZnP;1UHsR)dn?Hf|Kj(j+n2!@b0Zh{G+W-In delta 1039 zcmeIwOGs2v90u_JcYJU!2lLE0YK@Ok!WpWmW=O>ml3_H>2P!sd5jl-{gQ3CK9Vbl6 zENjtgbD@%oKtg(9f!Pz25K9c6PdzdGcGj2X*mh$FH zRs%yuevWh0Mt?4lLIvcZ05wn-_0upNr_*$iZqY2=rpNS*Uea6oM2qx=zS1}PfmCE5 z69N|4k%s~lVhu`BhH?bZh$b|n1wrgU7j`0y-RMI<2BBjZhj6$SM{pFUa0X{Ffk|A$ zbxh+19^wh+FpmTl@DA^>i0>?wrLlCD$po{qEaqe`=3zb-V0En3$g;Icd`I2p`i91) zzu?=J!Z&Q$5s7>td#&IOktY3=#PSvPJg18r53&oZxk!=jYO*VHJGh*`8GMzTi&QxQ zGgcMINWVj%+Tjq2m{SyGrT<@?=jl1Uq7U?0I{!op6y%}^PPnCN75u114K_*HR0|97x!=2Hwr=94s8#AQiF Date: Wed, 8 Nov 2023 16:09:53 -0500 Subject: [PATCH 191/340] Update weight to mandatory --- ...rDirectFulfillmentShipping_2021-12-28.json | 278 +----------------- 1 file changed, 2 insertions(+), 276 deletions(-) diff --git a/models/vendor-direct-fulfillment-shipping-api-model/vendorDirectFulfillmentShipping_2021-12-28.json b/models/vendor-direct-fulfillment-shipping-api-model/vendorDirectFulfillmentShipping_2021-12-28.json index 773ed8113..8bcdb642a 100644 --- a/models/vendor-direct-fulfillment-shipping-api-model/vendorDirectFulfillmentShipping_2021-12-28.json +++ b/models/vendor-direct-fulfillment-shipping-api-model/vendorDirectFulfillmentShipping_2021-12-28.json @@ -1810,158 +1810,7 @@ "dynamic": {} } } - }, - "/vendor/directFulfillment/shipping/2021-12-28/containerLabel": { - "post": { - "tags": [ - "createContainerLabel" - ], - "description": "Creates container (pallet) label for provided shipment package association", - "operationId": "createContainerLabel", - "parameters": [ - { - "in": "body", - "name": "body", - "required": true, - "schema": { - "$ref": "#/definitions/CreateContainerLabelRequest" - } - } - ], - "responses": { - "200": { - "description": "Success.", - "schema": { - "$ref": "#/definitions/CreateContainerLabelResponse" - }, - "examples": { - "containerLabel": { - "containerTrackingNumber": "TBA134335066000", - "content": "Base 64 encoded string goes here ", - "format": "PNG" - } - }, - "headers": { - "x-amzn-RateLimit-Limit": { - "type": "string", - "description": "Your rate limit (requests per second) for this operation." - }, - "x-amzn-RequestId": { - "type": "string", - "description": "Unique request reference identifier." - } - } - }, - "400": { - "description": "Request has missing or invalid parameters and cannot be parsed.", - "schema": { - "$ref": "#/definitions/ErrorList" - }, - "headers": { - "x-amzn-RateLimit-Limit": { - "type": "string", - "description": "Your rate limit (requests per second) for this operation." - }, - "x-amzn-RequestId": { - "type": "string", - "description": "Unique request reference identifier." - } - } - }, - "403": { - "description": "Indicates that access to the resource is forbidden. Possible reasons include Access Denied, Unauthorized, Expired Token, or Invalid Signature.", - "schema": { - "$ref": "#/definitions/ErrorList" - }, - "headers": { - "x-amzn-RequestId": { - "type": "string", - "description": "Unique request reference identifier." - } - } - }, - "404": { - "description": "The resource specified does not exist.", - "schema": { - "$ref": "#/definitions/ErrorList" - }, - "headers": { - "x-amzn-RateLimit-Limit": { - "type": "string", - "description": "Your rate limit (requests per second) for this operation." - }, - "x-amzn-RequestId": { - "type": "string", - "description": "Unique request reference identifier." - } - } - }, - "413": { - "description": "The request size exceeded the maximum accepted size.", - "schema": { - "$ref": "#/definitions/ErrorList" - }, - "headers": { - "x-amzn-RequestId": { - "type": "string", - "description": "Unique request reference identifier." - } - } - }, - "415": { - "description": "The request payload is in an unsupported format.", - "schema": { - "$ref": "#/definitions/ErrorList" - }, - "headers": { - "x-amzn-RequestId": { - "type": "string", - "description": "Unique request reference identifier." - } - } - }, - "429": { - "description": "The frequency of requests was greater than allowed.", - "schema": { - "$ref": "#/definitions/ErrorList" - }, - "headers": { - "x-amzn-RequestId": { - "type": "string", - "description": "Unique request reference identifier." - } - } - }, - "500": { - "description": "An unexpected condition occurred that prevented the server from fulfilling the request.", - "schema": { - "$ref": "#/definitions/ErrorList" - }, - "headers": { - "x-amzn-RequestId": { - "type": "string", - "description": "Unique request reference identifier." - } - } - }, - "503": { - "description": "Temporary overloading or maintenance of the server.", - "schema": { - "$ref": "#/definitions/ErrorList" - }, - "headers": { - "x-amzn-RequestId": { - "type": "string", - "description": "Unique request reference identifier." - } - } - } - }, - "x-amzn-api-sandbox": { - "dynamic": {} - } - } - } + } }, "definitions": { "PackingSlip": { @@ -2795,129 +2644,6 @@ } } } - }, - "CreateContainerLabelRequest": { - "description": "The request body schema for the createContainerLabel operation.", - "type": "object", - "required": [ - "sellingParty", - "shipFromParty", - "carrierId", - "vendorContainerId", - "packages" - ], - "properties": { - "sellingParty": { - "description": "ID of the selling party or vendor.", - "$ref": "#/definitions/PartyIdentification" - }, - "shipFromParty": { - "description": "Warehouse code of vendor.", - "$ref": "#/definitions/PartyIdentification" - }, - "carrierId": { - "description": "Carrier for which container (pallet) label requested.", - "$ref": "#/definitions/CarrierId" - }, - "vendorContainerId": { - "description": " Unique identifier for the container request incoming from vendor side.", - "$ref": "#/definitions/VendorContainerId" - }, - "packages": { - "description": "Array of Package object in order to associate shipment packages with container", - "$ref": "#/definitions/Packages" - } - } - }, - "Packages": { - "description": "Array of package object in order to associate shipments packages with given container.", - "type": "array", - "items": { - "$ref": "#/definitions/Package" - } - }, - "Package": { - "type": "object", - "description": "Object describing Package that is going to be associated with given container.", - "required": [ - "packageTrackingNumber" - ], - "properties": { - "packageTrackingNumber": { - "type": "string", - "description": "tracking identifier present on label of shipment package. Tracking number can be fetched from fetched from shippingLabels API response. Alternatively bar code on the shipping label can be scanned by the scanner to get the tracking number." - } - } - }, - "VendorContainerId": { - "type": "string", - "description": "unique identifier for the container provided by the vendor." - }, - "CarrierId": { - "type": "string", - "description": "Unique carrier code for the carrier for whom container labels are requested.", - "enum": [ - "SWA" - ], - "x-docgen-enum-table-extension": [ - { - "value": "SWA", - "description": "Ship with Amazon Carrier." - } - ] - }, - "CreateContainerLabelResponse": { - "description": "The response schema for the createContainerLabel operation.", - "type": "object", - "required": [ - "containerLabel" - ], - "properties": { - "containerLabel": { - "description": "Label data for container label.", - "$ref": "#/definitions/ContainerLabel" - } - } - }, - "ContainerLabel": { - "description": "Details of the container label.", - "type": "object", - "required": [ - "content", - "format" - ], - "properties": { - "containerTrackingNumber": { - "type": "string", - "description": "Container (pallet) tracking identifier from the shipping carrier." - }, - "content": { - "type": "string", - "description": "This field will contain the Base64encoded string of the container label content." - }, - "format": { - "description": "Format of the container label.", - "$ref": "#/definitions/ContainerLabelFormat" - } - } - }, - "ContainerLabelFormat": { - "type": "string", - "description": "Format of the container label.", - "enum": [ - "PNG", - "ZPL" - ], - "x-docgen-enum-table-extension": [ - { - "value": "PNG", - "description": "Portable Network Graphics (png) format." - }, - { - "value": "ZPL", - "description": "Zebra Programming Language (zpl) format." - } - ] } } -} \ No newline at end of file +} \ No newline at end of file From 14d59dec222eb7ae0fff3efbf7ec8bf6f75eb8c4 Mon Sep 17 00:00:00 2001 From: Jack Evoniuk Date: Tue, 14 Nov 2023 10:46:16 -0800 Subject: [PATCH 192/340] Update Finances API --- models/finances-api-model/financesV0.json | 313 +--------------------- 1 file changed, 3 insertions(+), 310 deletions(-) diff --git a/models/finances-api-model/financesV0.json b/models/finances-api-model/financesV0.json index 8c16105ce..a4acf8ee9 100644 --- a/models/finances-api-model/financesV0.json +++ b/models/finances-api-model/financesV0.json @@ -1033,7 +1033,7 @@ }, "/finances/v0/financialEvents": { "get": { - "description": "Returns financial events for the specified data range. It may take up to 48 hours for orders to appear in your financial events. *note in ListFinancialEvents that deferred events don’t show up in responses until in they are released. \n\n**Usage Plan:**\n\n| Rate (requests per second) | Burst |\n| ---- | ---- |\n| 0.5 | 30 |\n\nThe `x-amzn-RateLimit-Limit` response header returns the usage plan rate limits that were applied to the requested operation, when available. The table above indicates the default rate and burst values for this operation. Selling partners whose business demands require higher throughput may see higher rate and burst values than those shown here. For more information, see [Usage Plans and Rate Limits in the Selling Partner API](https://developer-docs.amazon.com/sp-api/docs/usage-plans-and-rate-limits-in-the-sp-api).", + "description": "Returns financial events for the specified data range. It may take up to 48 hours for orders to appear in your financial events.\n\n**Usage Plan:**\n\n| Rate (requests per second) | Burst |\n| ---- | ---- |\n| 0.5 | 30 |\n\nThe `x-amzn-RateLimit-Limit` response header returns the usage plan rate limits that were applied to the requested operation, when available. The table above indicates the default rate and burst values for this operation. Selling partners whose business demands require higher throughput may see higher rate and burst values than those shown here. For more information, see [Usage Plans and Rate Limits in the Selling Partner API](https://developer-docs.amazon.com/sp-api/docs/usage-plans-and-rate-limits-in-the-sp-api).", "operationId": "listFinancialEvents", "parameters": [ { @@ -1319,184 +1319,6 @@ } } } - }, - "/finances/v0/transactions": { - "get": { - "description": "Returns transactions for the given parameters. It may take up to 48 hours for transactions to appear in your transaction events.\n\n**Usage Plan:**\n\n| Rate (requests per second) | Burst |\n| ---- | ---- |\n| 0.5 | 30 |\n\nThe `x-amzn-RateLimit-Limit` response header returns the usage plan rate limits that were applied to the requested operation, when available. The table above indicates the default rate and burst values for this operation. Selling partners whose business demands require higher throughput may see higher rate and burst values than those shown here. For more information, see [Usage Plans and Rate Limits in the Selling Partner API](https://developer-docs.amazon.com/sp-api/docs/usage-plans-and-rate-limits-in-the-sp-api).", - "operationId": "listTransactions", - "parameters": [ - { - "name": "PostedAfter", - "in": "query", - "description": "A date used for selecting transactions posted after (or at) a specified time. The date-time must be no later than two minutes before the request was submitted, in ISO 8601 date time format.", - "required": true, - "type": "string", - "format": "date-time" - }, - { - "name": "PostedBefore", - "in": "query", - "description": "A date used for selecting transactions posted before (but not at) a specified time. The date-time must be later than PostedAfter and no later than two minutes before the request was submitted, in ISO 8601 date time format. If PostedAfter and PostedBefore are more than 180 days apart, no transactions are returned. You must specify the PostedAfter parameter if you specify the PostedBefore parameter. Default: Now minus two minutes.", - "required": false, - "type": "string", - "format": "date-time" - }, - { - "name": "MarketplaceId", - "in": "query", - "description": "A string token used to select Marketplace ID.", - "required": true, - "type": "string" - }, - { - "name": "NextToken", - "in": "query", - "description": "A string token returned in the response of your previous request.", - "required": false, - "type": "string" - } - ], - "responses": { - "200": { - "description": "Success.", - "schema": { - "$ref": "#/definitions/ListTransactionsResponse" - }, - "x-amzn-api-sandbox": { - "static": [{ - "request": { - "parameters": { - "PostedAfter": { - "value": "2023-03-07" - }, - "NextToken": { - "value": "jehgri34yo7jr9e8f984tr9i4o" - } - } - }, - "response": { - "payload": { - "NextToken": "Next token value", - "Transactions": [{ - "SellingPartnerMetadata": { - "SellingPartnerId": "A3TH9S8BH6GOGM", - "AccountType": "PAYABLE", - "MarketplaceId": "ATIV93840DER" - }, - "RelatedIdentifiers": [{ - "RelatedIdentifierName": "ORDER_ID", - "RelatedIdentifierValue": "8129762527551" - }], - "TransactionType": "Shipment", - "PostedDate": "2020-07-14T03:35:13.214Z", - "TotalAmount": { - "CurrencyAmount": 10, - "CurrencyCode": "USD" - } - }] - } - } - }] - } - }, - "400": { - "description": "Request has missing or invalid parameters and cannot be parsed.", - "schema": { - "$ref": "#/definitions/ListTransactionsResponse" - }, - "x-amzn-api-sandbox": { - "static": [{ - "request": { - "parameters": { - } - }, - "response": { - "errors": [{ - "code": "InvalidInput", - "message": "Input not valid." - }] - } - }] - } - }, - "403": { - "description": "Indicates that access to the resource is forbidden. Possible reasons include Access Denied, Unauthorized, Expired Token, or Invalid Signature.", - "schema": { - "$ref": "#/definitions/ListTransactionsResponse" - }, - "headers": { - "x-amzn-RequestId": { - "type": "string", - "description": "Unique request reference identifier." - } - } - }, - "404": { - "description": "The resource specified does not exist.", - "schema": { - "$ref": "#/definitions/ListTransactionsResponse" - }, - "headers": { - "x-amzn-RateLimit-Limit": { - "type": "string", - "description": "Your rate limit (requests per second) for this operation." - }, - "x-amzn-RequestId": { - "type": "string", - "description": "Unique request reference identifier." - } - } - }, - "429": { - "description": "The frequency of requests was greater than allowed.", - "schema": { - "$ref": "#/definitions/ListTransactionsResponse" - }, - "headers": { - "x-amzn-RateLimit-Limit": { - "type": "string", - "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." - }, - "x-amzn-RequestId": { - "type": "string", - "description": "Unique request reference identifier." - } - } - }, - "500": { - "description": "An unexpected condition occurred that prevented the server from fulfilling the request.", - "schema": { - "$ref": "#/definitions/ListTransactionsResponse" - }, - "headers": { - "x-amzn-RateLimit-Limit": { - "type": "string", - "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." - }, - "x-amzn-RequestId": { - "type": "string", - "description": "Unique request reference identifier." - } - } - }, - "503": { - "description": "Temporary overloading or maintenance of the server.", - "schema": { - "$ref": "#/definitions/ListTransactionsResponse" - }, - "headers": { - "x-amzn-RateLimit-Limit": { - "type": "string", - "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." - }, - "x-amzn-RequestId": { - "type": "string", - "description": "Unique request reference identifier." - } - } - } - } - } } }, "definitions": { @@ -1720,7 +1542,7 @@ }, "ChargeRefundTransactions": { "description": "The amount of the charge refund credit.", - "$ref": "#/definitions/ChargeRefundTransactions" + "$ref": "#/definitions/ChargeRefundTransaction" } }, "description": "An event related to charge refund." @@ -1746,13 +1568,6 @@ }, "description": "The charge refund transaction." }, - "ChargeRefundTransactions": { - "type": "array", - "description": "A list of ChargeRefund Transactions", - "items": { - "$ref": "#/definitions/ChargeRefundTransaction" - } - }, "CouponPaymentEvent": { "type": "object", "properties": { @@ -1897,13 +1712,6 @@ } }, "FailedAdhocDisbursementEventList": { - "type": "array", - "items": { - "$ref": "#/definitions/FailedAdhocDisbursementEvent" - }, - "description": "A list of FailedAdhocDisbursementEvents." - }, - "FailedAdhocDisbursementEvent": { "type": "object", "properties": { "FundsTransfersType": { @@ -2044,87 +1852,6 @@ "$ref": "#/definitions/FinancialEventGroup" } }, - "Transactions": { - "type": "array", - "description": "Contains transactions within a given time period.", - "items": { - "$ref": "#/definitions/Transaction" - } - }, - "Transaction": { - "type": "object", - "properties": { - "SellingPartnerMetadata": { - "description": "Metadata describing the seller.", - "$ref": "#/definitions/SellingPartnerMetadata" - }, - "RelatedIdentifiers": { - "description": "Related business identifiers of the transaction.", - "$ref": "#/definitions/RelatedIdentifiers" - }, - "TransactionType": { - "type": "string", - "description": "The type of transaction.\n\nPossible values:\n\n* Shipment" - }, - "PostedDate": { - "description": "The date and time when the transaction was posted.", - "$ref": "#/definitions/Date" - }, - "TotalAmount": { - "description": "Total amount of transaction.", - "$ref": "#/definitions/Currency" - } - }, - "description": "Contains all information related to the transaction." - }, - "RelatedIdentifier": { - "type": "object", - "properties": { - "RelatedIdentifierName": { - "type": "string", - "description": "Enumerated set of related business identifier names.", - "enum": [ - "ORDER_ID" - ], - "x-docgen-enum-table-extension": [ - { - "value": "ORDER_ID", - "description": "Associated OrderId of transaction" - } - ] - }, - "RelatedIdentifierValue": { - "type": "string", - "description": "Corresponding value of RelatedIdentifierName" - } - }, - "description": "Related business identifier of the transaction." - }, - "RelatedIdentifiers" : { - "type": "array", - "description": "Related business identifiers of the transaction.", - "items": { - "$ref": "#/definitions/RelatedIdentifier" - } - }, - "SellingPartnerMetadata":{ - "type": "object", - "properties": { - "SellingPartnerId": { - "type": "string", - "description": "Unique seller identifier." - }, - "AccountType": { - "type": "string", - "description": "Account type of transaction." - }, - "MarketplaceId": { - "type": "string", - "description": "Marketplace identifier of transaction." - } - }, - "description": "Metadata describing the seller." - }, "FinancialEvents": { "type": "object", "properties": { @@ -2291,33 +2018,6 @@ }, "description": "The response schema for the listFinancialEventGroups operation." }, - "ListTransactionsPayload": { - "type": "object", - "properties": { - "NextToken": { - "type": "string", - "description": "When present and not empty, pass this string token in the next request to return the next response page." - }, - "Transactions": { - "$ref": "#/definitions/Transactions" - } - }, - "description": "The payload for the listTransactions operation." - }, - "ListTransactionsResponse": { - "type": "object", - "properties": { - "payload": { - "description": "The payload for the listTransactions operation.", - "$ref": "#/definitions/ListTransactionsPayload" - }, - "errors": { - "description": "One or more unexpected errors occurred during the listTransactions operation.", - "$ref": "#/definitions/ErrorList" - } - }, - "description": "The response schema for the listTransactions operation." - }, "ListFinancialEventsPayload": { "type": "object", "properties": { @@ -3269,13 +2969,6 @@ "description": "A list of information about trial shipment financial events." }, "ValueAddedServiceChargeEventList": { - "type": "array", - "items": { - "$ref": "#/definitions/ValueAddedServiceChargeEvent" - }, - "description": "A list of ValueAddedServiceCharge events." - }, - "ValueAddedServiceChargeEvent": { "type": "object", "properties": { "TransactionType": { @@ -3357,4 +3050,4 @@ "description": "Error response returned when the request is unsuccessful." } } -} \ No newline at end of file +} From 85042228d978cc5878bd12305eaacf9d871c4a2e Mon Sep 17 00:00:00 2001 From: Jack Evoniuk Date: Tue, 14 Nov 2023 13:38:51 -0800 Subject: [PATCH 193/340] Update Finances model --- models/finances-api-model/financesV0.json | 25 +++++++++++++++++++++-- 1 file changed, 23 insertions(+), 2 deletions(-) diff --git a/models/finances-api-model/financesV0.json b/models/finances-api-model/financesV0.json index a4acf8ee9..4b3a9757d 100644 --- a/models/finances-api-model/financesV0.json +++ b/models/finances-api-model/financesV0.json @@ -1033,7 +1033,7 @@ }, "/finances/v0/financialEvents": { "get": { - "description": "Returns financial events for the specified data range. It may take up to 48 hours for orders to appear in your financial events.\n\n**Usage Plan:**\n\n| Rate (requests per second) | Burst |\n| ---- | ---- |\n| 0.5 | 30 |\n\nThe `x-amzn-RateLimit-Limit` response header returns the usage plan rate limits that were applied to the requested operation, when available. The table above indicates the default rate and burst values for this operation. Selling partners whose business demands require higher throughput may see higher rate and burst values than those shown here. For more information, see [Usage Plans and Rate Limits in the Selling Partner API](https://developer-docs.amazon.com/sp-api/docs/usage-plans-and-rate-limits-in-the-sp-api).", + "description": "Returns financial events for the specified data range. It may take up to 48 hours for orders to appear in your financial events. **Note:** in `ListFinancialEvents`, deferred events don't show up in responses until in they are released.\n\n**Usage Plan:**\n\n| Rate (requests per second) | Burst |\n| ---- | ---- |\n| 0.5 | 30 |\n\nThe `x-amzn-RateLimit-Limit` response header returns the usage plan rate limits that were applied to the requested operation, when available. The table above indicates the default rate and burst values for this operation. Selling partners whose business demands require higher throughput may see higher rate and burst values than those shown here. For more information, see [Usage Plans and Rate Limits in the Selling Partner API](https://developer-docs.amazon.com/sp-api/docs/usage-plans-and-rate-limits-in-the-sp-api).", "operationId": "listFinancialEvents", "parameters": [ { @@ -1542,7 +1542,7 @@ }, "ChargeRefundTransactions": { "description": "The amount of the charge refund credit.", - "$ref": "#/definitions/ChargeRefundTransaction" + "$ref": "#/definitions/ChargeRefundTransactions" } }, "description": "An event related to charge refund." @@ -1568,6 +1568,13 @@ }, "description": "The charge refund transaction." }, + "ChargeRefundTransactions": { + "type": "array", + "description": "A list of `ChargeRefund` transactions.", + "items": { + "$ref": "#/definitions/ChargeRefundTransaction" + } + }, "CouponPaymentEvent": { "type": "object", "properties": { @@ -1712,6 +1719,13 @@ } }, "FailedAdhocDisbursementEventList": { + "type": "array", + "items": { + "$ref": "#/definitions/FailedAdhocDisbursementEvent" + }, + "description": "A list of `FailedAdhocDisbursementEvent`s." + }, + "FailedAdhocDisbursementEvent": { "type": "object", "properties": { "FundsTransfersType": { @@ -2969,6 +2983,13 @@ "description": "A list of information about trial shipment financial events." }, "ValueAddedServiceChargeEventList": { + "type": "array", + "items": { + "$ref": "#/definitions/ValueAddedServiceChargeEvent" + }, + "description": "A list of `ValueAddedServiceCharge` events." + }, + "ValueAddedServiceChargeEvent": { "type": "object", "properties": { "TransactionType": { From 51f63d12c518f4bd0092335775b8b5821d18e6ba Mon Sep 17 00:00:00 2001 From: Jack Evoniuk Date: Wed, 15 Nov 2023 09:05:19 -0800 Subject: [PATCH 194/340] Add Data Kiosk model and notification --- .../dataKiosk_2023-11-15.json | 1303 +++++++++++++++++ ...skQueryProcessingFinishedNotification.json | 22 + 2 files changed, 1325 insertions(+) create mode 100644 models/data-kiosk-api-model/dataKiosk_2023-11-15.json create mode 100644 schemas/notifications/DataKioskQueryProcessingFinishedNotification.json diff --git a/models/data-kiosk-api-model/dataKiosk_2023-11-15.json b/models/data-kiosk-api-model/dataKiosk_2023-11-15.json new file mode 100644 index 000000000..50d34740b --- /dev/null +++ b/models/data-kiosk-api-model/dataKiosk_2023-11-15.json @@ -0,0 +1,1303 @@ +{ + "swagger": "2.0", + "info": { + "description": "The Selling Partner API for Data Kiosk lets you submit GraphQL queries from a variety of schemas to help selling partners manage their businesses.", + "version": "2023-11-15", + "title": "Selling Partner API for Data Kiosk", + "contact": { + "name": "Selling Partner API Developer Support", + "url": "https://sellercentral.amazon.com/gp/mws/contactus.html" + }, + "license": { + "name": "Apache License 2.0", + "url": "http://www.apache.org/licenses/LICENSE-2.0" + } + }, + "host": "sellingpartnerapi-na.amazon.com", + "schemes": [ + "https" + ], + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "paths": { + "/dataKiosk/2023-11-15/queries": { + "get": { + "tags": [ + "queries" + ], + "operationId": "getQueries", + "description": "Returns details for the Data Kiosk queries that match the specified filters. See the `createQuery` operation for details about query retention.\n\n**Usage Plan:**\n\n| Rate (requests per second) | Burst |\n| ---- | ---- |\n| 0.0222 | 10 |\n\nThe `x-amzn-RateLimit-Limit` response header returns the usage plan rate limits that were applied to the requested operation, when available. The table above indicates the default rate and burst values for this operation. Selling partners whose business demands require higher throughput may see higher rate and burst values than those shown here. For more information, refer to [Usage Plans and Rate Limits in the Selling Partner API](https://developer-docs.amazon.com/sp-api/docs/usage-plans-and-rate-limits-in-the-sp-api).", + "parameters": [ + { + "name": "processingStatuses", + "in": "query", + "description": "A list of processing statuses used to filter queries.", + "required": false, + "type": "array", + "minItems": 1, + "items": { + "type": "string", + "enum": [ + "CANCELLED", + "DONE", + "FATAL", + "IN_PROGRESS", + "IN_QUEUE" + ], + "x-docgen-enum-table-extension": [ + { + "value": "CANCELLED", + "description": "The query was cancelled before it began processing." + }, + { + "value": "DONE", + "description": "The query has completed processing." + }, + { + "value": "FATAL", + "description": "The query was aborted due to a fatal error." + }, + { + "value": "IN_PROGRESS", + "description": "The query is being processed." + }, + { + "value": "IN_QUEUE", + "description": "The query has not yet started processing. It may be waiting for another `IN_PROGRESS` query." + } + ] + } + }, + { + "name": "pageSize", + "in": "query", + "description": "The maximum number of queries to return in a single call.", + "required": false, + "type": "integer", + "minimum": 1, + "maximum": 100, + "default": 10 + }, + { + "name": "createdSince", + "in": "query", + "description": "The earliest query creation date and time for queries to include in the response, in ISO 8601 date time format. The default is 90 days ago.", + "required": false, + "type": "string", + "format": "date-time" + }, + { + "name": "createdUntil", + "in": "query", + "description": "The latest query creation date and time for queries to include in the response, in ISO 8601 date time format. The default is the time of the `getQueries` request.", + "required": false, + "type": "string", + "format": "date-time" + }, + { + "name": "paginationToken", + "in": "query", + "description": "A token to fetch a certain page of results when there are multiple pages of results available. The value of this token is fetched from the `pagination.nextToken` field returned in the `GetQueriesResponse` object. All other parameters must be provided with the same values that were provided with the request that generated this token, with the exception of `pageSize` which can be modified between calls to `getQueries`. In the absence of this token value, `getQueries` returns the first page of results.", + "required": false, + "type": "string" + } + ], + "responses": { + "200": { + "description": "Success.", + "schema": { + "$ref": "#/definitions/GetQueriesResponse" + }, + "headers": { + "x-amzn-RateLimit-Limit": { + "description": "Your rate limit (requests per second) for this operation.", + "type": "string" + }, + "x-amzn-RequestId": { + "type": "string", + "description": "Unique request reference identifier." + } + }, + "x-amzn-api-sandbox": { + "static": [ + { + "request": { + "parameters": { + "processingStatuses": { + "value": [ + "IN_QUEUE", + "IN_PROGRESS" + ] + } + } + }, + "response": { + "pagination": { + "nextToken": "VGhpcyB0b2tlbiBpcyBvcGFxdWUgYW5kIGludGVudGlvbmFsbHkgb2JmdXNjYXRlZA==" + }, + "queries": [ + { + "queryId": "QueryId1", + "query": "query {sampleQuery(startDate:\"2022-03-12\" endDate:\"2022-03-20\" marketplaceIds:[\"ATVPDKIKX0DER\"]){sales{date averageSellingPrice{amount currencyCode}}}}", + "createdTime": "2019-12-10T13:47:20.677Z", + "processingStatus": "IN_PROGRESS", + "processingStartTime": "2019-12-10T13:47:20.677Z", + "processingEndTime": "2019-12-12T13:47:20.677Z" + } + ] + } + } + ] + } + }, + "400": { + "description": "Request has missing or invalid parameters and cannot be parsed.", + "schema": { + "$ref": "#/definitions/ErrorList" + }, + "headers": { + "x-amzn-RateLimit-Limit": { + "description": "Your rate limit (requests per second) for this operation.", + "type": "string" + }, + "x-amzn-RequestId": { + "type": "string", + "description": "Unique request reference identifier." + } + }, + "x-amzn-api-sandbox": { + "static": [ + { + "request": { + "parameters": { + "processingStatuses": { + "value": [ + "INVALID_STATUS", + "IN_PROGRESS" + ] + } + } + }, + "response": { + "errors": [ + { + "code": "InvalidInput", + "message": "1 validation error detected: Value '[INVALID_STATUS]' at 'processingStatuses' failed to satisfy constraint: Member must satisfy constraint: [Member must satisfy enum value set: [DONE, FATAL, IN_PROGRESS, CANCELLED, IN_QUEUE]]", + "details": "" + } + ] + } + } + ] + } + }, + "401": { + "description": "The request's Authorization header is not formatted correctly or does not contain a valid token.", + "schema": { + "$ref": "#/definitions/ErrorList" + }, + "headers": { + "x-amzn-RateLimit-Limit": { + "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned.", + "type": "string" + }, + "x-amzn-RequestId": { + "type": "string", + "description": "Unique request reference identifier." + } + } + }, + "403": { + "description": "Indicates that access to the resource is forbidden. Possible reasons include Access Denied, Unauthorized, Expired Token, or Invalid Signature.", + "schema": { + "$ref": "#/definitions/ErrorList" + }, + "headers": { + "x-amzn-RequestId": { + "type": "string", + "description": "Unique request reference identifier." + } + } + }, + "404": { + "description": "The specified resource does not exist.", + "schema": { + "$ref": "#/definitions/ErrorList" + }, + "headers": { + "x-amzn-RateLimit-Limit": { + "description": "Your rate limit (requests per second) for this operation.", + "type": "string" + }, + "x-amzn-RequestId": { + "type": "string", + "description": "Unique request reference identifier." + } + } + }, + "415": { + "description": "The request's Content-Type header is invalid.", + "schema": { + "$ref": "#/definitions/ErrorList" + }, + "headers": { + "x-amzn-RateLimit-Limit": { + "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned.", + "type": "string" + }, + "x-amzn-RequestId": { + "type": "string", + "description": "Unique request reference identifier." + } + } + }, + "429": { + "description": "The frequency of requests was greater than allowed.", + "schema": { + "$ref": "#/definitions/ErrorList" + }, + "headers": { + "x-amzn-RateLimit-Limit": { + "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned.", + "type": "string" + }, + "x-amzn-RequestId": { + "type": "string", + "description": "Unique request reference identifier." + } + } + }, + "500": { + "description": "An unexpected condition occurred that prevented the server from fulfilling the request.", + "schema": { + "$ref": "#/definitions/ErrorList" + }, + "headers": { + "x-amzn-RateLimit-Limit": { + "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned.", + "type": "string" + }, + "x-amzn-RequestId": { + "type": "string", + "description": "Unique request reference identifier." + } + } + }, + "503": { + "description": "Temporary overloading or maintenance of the server.", + "schema": { + "$ref": "#/definitions/ErrorList" + }, + "headers": { + "x-amzn-RateLimit-Limit": { + "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned.", + "type": "string" + }, + "x-amzn-RequestId": { + "type": "string", + "description": "Unique request reference identifier." + } + } + } + } + }, + "post": { + "tags": [ + "queries" + ], + "operationId": "createQuery", + "description": "Creates a Data Kiosk query request.\n\n**Note:** The retention of a query varies based on the fields requested. Each field within a schema is annotated with a `@resultRetention` directive that defines how long a query containing that field will be retained. When a query contains multiple fields with different retentions, the shortest (minimum) retention is applied. The retention of a query's resulting documents always matches the retention of the query.\n\n**Usage Plan:**\n\n| Rate (requests per second) | Burst |\n| ---- | ---- |\n| 0.0167 | 15 |\n\nThe `x-amzn-RateLimit-Limit` response header returns the usage plan rate limits that were applied to the requested operation, when available. The table above indicates the default rate and burst values for this operation. Selling partners whose business demands require higher throughput may see higher rate and burst values than those shown here. For more information, refer to [Usage Plans and Rate Limits in the Selling Partner API](https://developer-docs.amazon.com/sp-api/docs/usage-plans-and-rate-limits-in-the-sp-api).", + "parameters": [ + { + "name": "body", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/CreateQuerySpecification" + } + } + ], + "responses": { + "202": { + "description": "Success.", + "schema": { + "$ref": "#/definitions/CreateQueryResponse" + }, + "headers": { + "x-amzn-RateLimit-Limit": { + "description": "Your rate limit (requests per second) for this operation.", + "type": "string" + }, + "x-amzn-RequestId": { + "type": "string", + "description": "Unique request reference identifier." + } + }, + "x-amzn-api-sandbox": { + "static": [ + { + "request": { + "parameters": { + "body": { + "value": { + "query": "query {sampleQuery(startDate:\"2022-03-12\" endDate:\"2022-03-20\" marketplaceIds:[\"ATVPDKIKX0DER\"]){sales{date averageSellingPrice{amount currencyCode}}}}" + } + } + } + }, + "response": { + "queryId": "QueryId1" + } + } + ] + } + }, + "400": { + "description": "Request has missing or invalid parameters and cannot be parsed.", + "schema": { + "$ref": "#/definitions/ErrorList" + }, + "headers": { + "x-amzn-RateLimit-Limit": { + "description": "Your rate limit (requests per second) for this operation.", + "type": "string" + }, + "x-amzn-RequestId": { + "type": "string", + "description": "Unique request reference identifier." + } + }, + "x-amzn-api-sandbox": { + "static": [ + { + "request": { + "parameters": { + "body": { + "value": { + "query": "query {invalidSampleQuery(startDate:\"2022-03-12\" endDate:\"2022-03-20\" marketplaceIds:[\"ATVPDKIKX0DER\"]){sales{date averageSellingPrice{amount currencyCode}}}}" + } + } + } + }, + "response": { + "errors": [ + { + "code": "400", + "message": "Invalid input", + "details": "Invalid input" + } + ] + } + } + ] + } + }, + "401": { + "description": "The request's Authorization header is not formatted correctly or does not contain a valid token.", + "schema": { + "$ref": "#/definitions/ErrorList" + }, + "headers": { + "x-amzn-RateLimit-Limit": { + "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned.", + "type": "string" + }, + "x-amzn-RequestId": { + "type": "string", + "description": "Unique request reference identifier." + } + } + }, + "403": { + "description": "Indicates that access to the resource is forbidden. Possible reasons include Access Denied, Unauthorized, Expired Token, or Invalid Signature.", + "schema": { + "$ref": "#/definitions/ErrorList" + }, + "headers": { + "x-amzn-RequestId": { + "type": "string", + "description": "Unique request reference identifier." + } + } + }, + "404": { + "description": "The specified resource does not exist.", + "schema": { + "$ref": "#/definitions/ErrorList" + }, + "headers": { + "x-amzn-RateLimit-Limit": { + "description": "Your rate limit (requests per second) for this operation.", + "type": "string" + }, + "x-amzn-RequestId": { + "type": "string", + "description": "Unique request reference identifier." + } + } + }, + "415": { + "description": "The request's Content-Type header is invalid.", + "schema": { + "$ref": "#/definitions/ErrorList" + }, + "headers": { + "x-amzn-RateLimit-Limit": { + "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned.", + "type": "string" + }, + "x-amzn-RequestId": { + "type": "string", + "description": "Unique request reference identifier." + } + } + }, + "429": { + "description": "The frequency of requests was greater than allowed.", + "schema": { + "$ref": "#/definitions/ErrorList" + }, + "headers": { + "x-amzn-RateLimit-Limit": { + "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned.", + "type": "string" + }, + "x-amzn-RequestId": { + "type": "string", + "description": "Unique request reference identifier." + } + } + }, + "500": { + "description": "An unexpected condition occurred that prevented the server from fulfilling the request.", + "schema": { + "$ref": "#/definitions/ErrorList" + }, + "headers": { + "x-amzn-RateLimit-Limit": { + "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned.", + "type": "string" + }, + "x-amzn-RequestId": { + "type": "string", + "description": "Unique request reference identifier." + } + } + }, + "503": { + "description": "Temporary overloading or maintenance of the server.", + "schema": { + "$ref": "#/definitions/ErrorList" + }, + "headers": { + "x-amzn-RateLimit-Limit": { + "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned.", + "type": "string" + }, + "x-amzn-RequestId": { + "type": "string", + "description": "Unique request reference identifier." + } + } + } + } + }, + "parameters": [] + }, + "/dataKiosk/2023-11-15/queries/{queryId}": { + "delete": { + "tags": [ + "queries" + ], + "operationId": "cancelQuery", + "description": "Cancels the query specified by the `queryId` parameter. Only queries with a non-terminal `processingStatus` (`IN_QUEUE`, `IN_PROGRESS`) can be cancelled. Cancelling a query that already has a `processingStatus` of `CANCELLED` will no-op. Cancelled queries are returned in subsequent calls to the `getQuery` and `getQueries` operations.\n\n**Usage Plan:**\n\n| Rate (requests per second) | Burst |\n| ---- | ---- |\n| 0.0222 | 10 |\n\nThe `x-amzn-RateLimit-Limit` response header returns the usage plan rate limits that were applied to the requested operation, when available. The table above indicates the default rate and burst values for this operation. Selling partners whose business demands require higher throughput may see higher rate and burst values than those shown here. For more information, refer to [Usage Plans and Rate Limits in the Selling Partner API](https://developer-docs.amazon.com/sp-api/docs/usage-plans-and-rate-limits-in-the-sp-api).", + "parameters": [ + { + "name": "queryId", + "in": "path", + "description": "The identifier for the query. This identifier is unique only in combination with a selling partner account ID.", + "required": true, + "type": "string" + } + ], + "responses": { + "200": { + "description": "Success.", + "headers": { + "x-amzn-RateLimit-Limit": { + "description": "Your rate limit (requests per second) for this operation.", + "type": "string" + }, + "x-amzn-RequestId": { + "type": "string", + "description": "Unique request reference identifier." + } + }, + "x-amzn-api-sandbox": { + "static": [ + { + "request": { + "parameters": { + "queryId": { + "value": "QueryId1" + } + } + } + } + ] + } + }, + "400": { + "description": "Request has missing or invalid parameters and cannot be parsed.", + "schema": { + "$ref": "#/definitions/ErrorList" + }, + "headers": { + "x-amzn-RateLimit-Limit": { + "description": "Your rate limit (requests per second) for this operation.", + "type": "string" + }, + "x-amzn-RequestId": { + "type": "string", + "description": "Unique request reference identifier." + } + }, + "x-amzn-api-sandbox": { + "static": [ + { + "request": { + "parameters": {} + }, + "response": { + "errors": [ + { + "code": "400", + "message": "Invalid input", + "details": "Invalid input" + } + ] + } + } + ] + } + }, + "401": { + "description": "The request's Authorization header is not formatted correctly or does not contain a valid token.", + "schema": { + "$ref": "#/definitions/ErrorList" + }, + "headers": { + "x-amzn-RateLimit-Limit": { + "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned.", + "type": "string" + }, + "x-amzn-RequestId": { + "type": "string", + "description": "Unique request reference identifier." + } + } + }, + "403": { + "description": "Indicates that access to the resource is forbidden. Possible reasons include Access Denied, Unauthorized, Expired Token, or Invalid Signature.", + "schema": { + "$ref": "#/definitions/ErrorList" + }, + "headers": { + "x-amzn-RequestId": { + "type": "string", + "description": "Unique request reference identifier." + } + } + }, + "404": { + "description": "The specified resource does not exist.", + "schema": { + "$ref": "#/definitions/ErrorList" + }, + "headers": { + "x-amzn-RateLimit-Limit": { + "description": "Your rate limit (requests per second) for this operation.", + "type": "string" + }, + "x-amzn-RequestId": { + "type": "string", + "description": "Unique request reference identifier." + } + } + }, + "415": { + "description": "The request's Content-Type header is invalid.", + "schema": { + "$ref": "#/definitions/ErrorList" + }, + "headers": { + "x-amzn-RateLimit-Limit": { + "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned.", + "type": "string" + }, + "x-amzn-RequestId": { + "type": "string", + "description": "Unique request reference identifier." + } + } + }, + "429": { + "description": "The frequency of requests was greater than allowed.", + "schema": { + "$ref": "#/definitions/ErrorList" + }, + "headers": { + "x-amzn-RateLimit-Limit": { + "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned.", + "type": "string" + }, + "x-amzn-RequestId": { + "type": "string", + "description": "Unique request reference identifier." + } + } + }, + "500": { + "description": "An unexpected condition occurred that prevented the server from fulfilling the request.", + "schema": { + "$ref": "#/definitions/ErrorList" + }, + "headers": { + "x-amzn-RateLimit-Limit": { + "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned.", + "type": "string" + }, + "x-amzn-RequestId": { + "type": "string", + "description": "Unique request reference identifier." + } + } + }, + "503": { + "description": "Temporary overloading or maintenance of the server.", + "schema": { + "$ref": "#/definitions/ErrorList" + }, + "headers": { + "x-amzn-RateLimit-Limit": { + "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned.", + "type": "string" + }, + "x-amzn-RequestId": { + "type": "string", + "description": "Unique request reference identifier." + } + } + } + } + }, + "get": { + "tags": [ + "queries" + ], + "operationId": "getQuery", + "description": "Returns query details for the query specified by the `queryId` parameter. See the `createQuery` operation for details about query retention.\n\n**Usage Plan:**\n\n| Rate (requests per second) | Burst |\n| ---- | ---- |\n| 2.0 | 15 |\n\nThe `x-amzn-RateLimit-Limit` response header returns the usage plan rate limits that were applied to the requested operation, when available. The table above indicates the default rate and burst values for this operation. Selling partners whose business demands require higher throughput may see higher rate and burst values than those shown here. For more information, refer to [Usage Plans and Rate Limits in the Selling Partner API](https://developer-docs.amazon.com/sp-api/docs/usage-plans-and-rate-limits-in-the-sp-api).", + "parameters": [ + { + "name": "queryId", + "in": "path", + "required": true, + "description": "The query identifier.", + "type": "string" + } + ], + "responses": { + "200": { + "description": "Success.", + "schema": { + "$ref": "#/definitions/Query" + }, + "headers": { + "x-amzn-RateLimit-Limit": { + "description": "Your rate limit (requests per second) for this operation.", + "type": "string" + }, + "x-amzn-RequestId": { + "type": "string", + "description": "Unique request reference identifier." + } + }, + "x-amzn-api-sandbox": { + "static": [ + { + "request": { + "parameters": { + "queryId": { + "value": "QueryId1" + } + } + }, + "response": { + "queryId": "QueryId1", + "query": "query {sampleQuery(startDate:\"2022-03-12\" endDate:\"2022-03-20\" marketplaceIds:[\"ATVPDKIKX0DER\"]){sales{date averageSellingPrice{amount currencyCode}}}}", + "createdTime": "2019-12-10T13:47:20.677Z", + "processingStatus": "IN_PROGRESS", + "processingStartTime": "2019-12-10T13:47:20.677Z", + "processingEndTime": "2019-12-12T13:47:20.677Z" + } + } + ] + } + }, + "400": { + "description": "Request has missing or invalid parameters and cannot be parsed.", + "schema": { + "$ref": "#/definitions/ErrorList" + }, + "headers": { + "x-amzn-RateLimit-Limit": { + "description": "Your rate limit (requests per second) for this operation.", + "type": "string" + }, + "x-amzn-RequestId": { + "type": "string", + "description": "Unique request reference identifier." + } + }, + "x-amzn-api-sandbox": { + "static": [ + { + "request": { + "parameters": { + "queryId": { + "value": "InvalidQueryId1" + } + } + }, + "response": { + "errors": [ + { + "code": "NotFound", + "message": "The provided queryId was not found." + } + ] + } + } + ] + } + }, + "401": { + "description": "The request's Authorization header is not formatted correctly or does not contain a valid token.", + "schema": { + "$ref": "#/definitions/ErrorList" + }, + "headers": { + "x-amzn-RateLimit-Limit": { + "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned.", + "type": "string" + }, + "x-amzn-RequestId": { + "type": "string", + "description": "Unique request reference identifier." + } + } + }, + "403": { + "description": "Indicates that access to the resource is forbidden. Possible reasons include Access Denied, Unauthorized, Expired Token, or Invalid Signature.", + "schema": { + "$ref": "#/definitions/ErrorList" + }, + "headers": { + "x-amzn-RequestId": { + "type": "string", + "description": "Unique request reference identifier." + } + } + }, + "404": { + "description": "The specified resource does not exist.", + "schema": { + "$ref": "#/definitions/ErrorList" + }, + "headers": { + "x-amzn-RateLimit-Limit": { + "description": "Your rate limit (requests per second) for this operation.", + "type": "string" + }, + "x-amzn-RequestId": { + "type": "string", + "description": "Unique request reference identifier." + } + } + }, + "415": { + "description": "The request's Content-Type header is invalid.", + "schema": { + "$ref": "#/definitions/ErrorList" + }, + "headers": { + "x-amzn-RateLimit-Limit": { + "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned.", + "type": "string" + }, + "x-amzn-RequestId": { + "type": "string", + "description": "Unique request reference identifier." + } + } + }, + "429": { + "description": "The frequency of requests was greater than allowed.", + "schema": { + "$ref": "#/definitions/ErrorList" + }, + "headers": { + "x-amzn-RateLimit-Limit": { + "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned.", + "type": "string" + }, + "x-amzn-RequestId": { + "type": "string", + "description": "Unique request reference identifier." + } + } + }, + "500": { + "description": "An unexpected condition occurred that prevented the server from fulfilling the request.", + "schema": { + "$ref": "#/definitions/ErrorList" + }, + "headers": { + "x-amzn-RateLimit-Limit": { + "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned.", + "type": "string" + }, + "x-amzn-RequestId": { + "type": "string", + "description": "Unique request reference identifier." + } + } + }, + "503": { + "description": "Temporary overloading or maintenance of the server.", + "schema": { + "$ref": "#/definitions/ErrorList" + }, + "headers": { + "x-amzn-RateLimit-Limit": { + "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned.", + "type": "string" + }, + "x-amzn-RequestId": { + "type": "string", + "description": "Unique request reference identifier." + } + } + } + } + }, + "parameters": [] + }, + "/dataKiosk/2023-11-15/documents/{documentId}": { + "get": { + "tags": [ + "queries" + ], + "description": "Returns the information required for retrieving a Data Kiosk document's contents. See the `createQuery` operation for details about document retention.\n\n**Usage Plan:**\n\n| Rate (requests per second) | Burst |\n| ---- | ---- |\n| 0.0167 | 15 |\n\nThe `x-amzn-RateLimit-Limit` response header returns the usage plan rate limits that were applied to the requested operation, when available. The table above indicates the default rate and burst values for this operation. Selling partners whose business demands require higher throughput may see higher rate and burst values than those shown here. For more information, refer to [Usage Plans and Rate Limits in the Selling Partner API](https://developer-docs.amazon.com/sp-api/docs/usage-plans-and-rate-limits-in-the-sp-api).", + "operationId": "getDocument", + "parameters": [ + { + "name": "documentId", + "in": "path", + "description": "The identifier for the Data Kiosk document.", + "required": true, + "type": "string" + } + ], + "responses": { + "200": { + "description": "Success.", + "schema": { + "$ref": "#/definitions/GetDocumentResponse" + }, + "headers": { + "x-amzn-RateLimit-Limit": { + "description": "Your rate limit (requests per second) for this operation.", + "type": "string" + }, + "x-amzn-RequestId": { + "type": "string", + "description": "Unique request reference ID." + } + }, + "x-amzn-api-sandbox": { + "static": [ + { + "request": { + "parameters": { + "documentId": { + "value": "0356cf79-b8b0-4226-b4b9-0ee058ea5760" + } + } + }, + "response": { + "documentId": "0356cf79-b8b0-4226-b4b9-0ee058ea5760", + "documentUrl": "https://d34o8swod1owfl.cloudfront.net/QUERY_DATA_OUTPUT_DOC.txt" + } + } + ] + } + }, + "400": { + "description": "Request has missing or invalid parameters and cannot be parsed.", + "schema": { + "$ref": "#/definitions/ErrorList" + }, + "headers": { + "x-amzn-RateLimit-Limit": { + "description": "Your rate limit (requests per second) for this operation.", + "type": "string" + }, + "x-amzn-RequestId": { + "type": "string", + "description": "Unique request reference ID." + } + }, + "x-amzn-api-sandbox": { + "static": [ + { + "request": { + "parameters": { + "documentId": { + "value": "InvalidDocumentId1" + } + } + }, + "response": { + "errors": [ + { + "code": "NotFound", + "message": "The provided documentId was not found." + } + ] + } + } + ] + } + }, + "401": { + "description": "The request's Authorization header is not formatted correctly or does not contain a valid token.", + "schema": { + "$ref": "#/definitions/ErrorList" + }, + "headers": { + "x-amzn-RateLimit-Limit": { + "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned.", + "type": "string" + }, + "x-amzn-RequestId": { + "type": "string", + "description": "Unique request reference ID." + } + } + }, + "403": { + "description": "Indicates access to the resource is forbidden. Possible reasons include Access Denied, Unauthorized, Expired Token, or Invalid Signature.", + "schema": { + "$ref": "#/definitions/ErrorList" + }, + "headers": { + "x-amzn-RequestId": { + "type": "string", + "description": "Unique request reference ID." + } + } + }, + "404": { + "description": "The specified resource does not exist.", + "schema": { + "$ref": "#/definitions/ErrorList" + }, + "headers": { + "x-amzn-RateLimit-Limit": { + "description": "Your rate limit (requests per second) for this operation.", + "type": "string" + }, + "x-amzn-RequestId": { + "type": "string", + "description": "Unique request reference ID." + } + } + }, + "415": { + "description": "The request's Content-Type header is invalid.", + "schema": { + "$ref": "#/definitions/ErrorList" + }, + "headers": { + "x-amzn-RateLimit-Limit": { + "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned.", + "type": "string" + }, + "x-amzn-RequestId": { + "type": "string", + "description": "Unique request reference identifier." + } + } + }, + "429": { + "description": "The frequency of requests was greater than allowed.", + "schema": { + "$ref": "#/definitions/ErrorList" + }, + "headers": { + "x-amzn-RateLimit-Limit": { + "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned.", + "type": "string" + }, + "x-amzn-RequestId": { + "type": "string", + "description": "Unique request reference ID." + } + } + }, + "500": { + "description": "An unexpected condition occurred that prevented the server from fulfilling the request.", + "schema": { + "$ref": "#/definitions/ErrorList" + }, + "headers": { + "x-amzn-RateLimit-Limit": { + "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned.", + "type": "string" + }, + "x-amzn-RequestId": { + "type": "string", + "description": "Unique request reference ID." + } + } + }, + "503": { + "description": "Temporary overloading or maintenance of the server.", + "schema": { + "$ref": "#/definitions/ErrorList" + }, + "headers": { + "x-amzn-RateLimit-Limit": { + "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned.", + "type": "string" + }, + "x-amzn-RequestId": { + "type": "string", + "description": "Unique request reference ID." + } + } + } + } + } + } + }, + "definitions": { + "ErrorList": { + "type": "object", + "description": "A list of error responses returned when a request is unsuccessful.", + "required": [ + "errors" + ], + "properties": { + "errors": { + "type": "array", + "items": { + "$ref": "#/definitions/Error" + } + } + } + }, + "Error": { + "type": "object", + "description": "Error response returned when the request is unsuccessful.", + "required": [ + "code", + "message" + ], + "properties": { + "code": { + "type": "string", + "description": "An error code that identifies the type of error that occurred." + }, + "message": { + "type": "string", + "description": "A message that describes the error condition in a human-readable form." + }, + "details": { + "type": "string", + "description": "Additional details that can help the caller understand or fix the issue." + } + } + }, + "Query": { + "type": "object", + "description": "Detailed information about the query.", + "required": [ + "processingStatus", + "queryId", + "query", + "createdTime" + ], + "properties": { + "queryId": { + "description": "The query identifier. This identifier is unique only in combination with a selling partner account ID.", + "type": "string" + }, + "query": { + "description": "The submitted query.", + "type": "string" + }, + "createdTime": { + "description": "The date and time when the query was created, in ISO 8601 date time format.", + "type": "string", + "format": "date-time" + }, + "processingStatus": { + "description": "The processing status of the query.", + "type": "string", + "enum": [ + "CANCELLED", + "DONE", + "FATAL", + "IN_PROGRESS", + "IN_QUEUE" + ], + "x-docgen-enum-table-extension": [ + { + "value": "CANCELLED", + "description": "The query was cancelled before it began processing." + }, + { + "value": "DONE", + "description": "The query has completed processing." + }, + { + "value": "FATAL", + "description": "The query was aborted due to a fatal error." + }, + { + "value": "IN_PROGRESS", + "description": "The query is being processed." + }, + { + "value": "IN_QUEUE", + "description": "The query has not yet started processing. It may be waiting for another `IN_PROGRESS` query." + } + ] + }, + "processingStartTime": { + "description": "The date and time when the query processing started, in ISO 8601 date time format.", + "type": "string", + "format": "date-time" + }, + "processingEndTime": { + "description": "The date and time when the query processing completed, in ISO 8601 date time format.", + "type": "string", + "format": "date-time" + }, + "dataDocumentId": { + "description": "The data document identifier. This identifier is only present when there is data available as a result of the query. This identifier is unique only in combination with a selling partner account ID. Pass this identifier into the `getDocument` operation to get the information required to retrieve the data document's contents.", + "type": "string" + }, + "errorDocumentId": { + "description": "The error document identifier. This identifier is only present when an error occurs during query processing. This identifier is unique only in combination with a selling partner account ID. Pass this identifier into the `getDocument` operation to get the information required to retrieve the error document's contents.", + "type": "string" + }, + "pagination": { + "type": "object", + "description": "When a query produces results that are not included in the data document, pagination occurs. This means the results are divided into pages. To retrieve the next page, you must pass a `CreateQuerySpecification` object with `paginationToken` set to this object's `nextToken` and with `query` set to this object's `query` in the subsequent `createQuery` request. When there are no more pages to fetch, the `nextToken` field will be absent.", + "properties": { + "nextToken": { + "type": "string", + "description": "A token that can be used to fetch the next page of results." + } + } + } + } + }, + "QueryList": { + "type": "array", + "description": "A list of queries.", + "items": { + "$ref": "#/definitions/Query" + } + }, + "CreateQuerySpecification": { + "type": "object", + "description": "Information required to create the query.", + "required": [ + "query" + ], + "properties": { + "query": { + "description": "The GraphQL query to submit. A query must be at most 8000 characters after unnecessary whitespace is removed.", + "type": "string" + }, + "paginationToken":{ + "description": "A token to fetch a certain page of query results when there are multiple pages of query results available. The value of this token must be fetched from the `pagination.nextToken` field of the `Query` object, and the `query` field for this object must also be set to the `query` field of the same `Query` object. A `Query` object can be retrieved from either the `getQueries` or `getQuery` operation. In the absence of this token value, the first page of query results will be requested.", + "type": "string" + } + } + }, + "CreateQueryResponse": { + "type": "object", + "description": "The response for the `createQuery` operation.", + "required": [ + "queryId" + ], + "properties": { + "queryId": { + "description": "The identifier for the query. This identifier is unique only in combination with a selling partner account ID.", + "type": "string" + } + } + }, + "GetQueriesResponse": { + "type": "object", + "description": "The response for the `getQueries` operation.", + "required": [ + "queries" + ], + "properties": { + "queries": { + "description": "The Data Kiosk queries.", + "$ref": "#/definitions/QueryList" + }, + "pagination": { + "type": "object", + "description": "When a request has results that are not included in this response, pagination occurs. This means the results are divided into pages. To retrieve the next page, you must pass the `nextToken` as the `paginationToken` query parameter in the subsequent `getQueries` request. All other parameters must be provided with the same values that were provided with the request that generated this token, with the exception of `pageSize` which can be modified between calls to `getQueries`. When there are no more pages to fetch, the `nextToken` field will be absent.", + "properties": { + "nextToken": { + "type": "string", + "description": "A token that can be used to fetch the next page of results." + } + } + } + } + }, + "GetDocumentResponse": { + "type": "object", + "description": "The response for the `getDocument` operation.", + "required": [ + "documentId", + "documentUrl" + ], + "properties": { + "documentId": { + "description": "The identifier for the Data Kiosk document. This identifier is unique only in combination with a selling partner account ID.", + "type": "string" + }, + "documentUrl": { + "description": "A presigned URL that can be used to retrieve the Data Kiosk document. This URL expires after 5 minutes. If the Data Kiosk document is compressed, the `Content-Encoding` header will indicate the compression algorithm.\n\n**Note:** Most HTTP clients are capable of automatically decompressing downloaded files based on the `Content-Encoding` header.", + "type": "string" + } + } + } + }, + "basePath": "/" +} diff --git a/schemas/notifications/DataKioskQueryProcessingFinishedNotification.json b/schemas/notifications/DataKioskQueryProcessingFinishedNotification.json new file mode 100644 index 000000000..dd293c099 --- /dev/null +++ b/schemas/notifications/DataKioskQueryProcessingFinishedNotification.json @@ -0,0 +1,22 @@ +{ + "notificationVersion": "2023-11-15", + "notificationType": "DATA_KIOSK_QUERY_PROCESSING_FINISHED", + "payloadVersion": "2023-11-15", + "eventTime": "2023-12-23T21:30:13.713Z", + "payload": { + "accountId": "amzn1.merchant.o.A21CXK3C4ERTY8", + "queryId": "54517018502", + "query": "query MyQuery{salesAndTrafficByDate(startDate:\"2023-05-01\" endDate:\"2023-06-01\" aggregateBy:DAY){marketplaceId startDate endDate sales{unitsOrdered}traffic{pageViews}}}", + "processingStatus": "DONE", + "dataDocumentId": "amzn1.tortuga.3.edbcd0d8-3434-8222-1234-52ad8ade1208.REP4567URI9BMZ", + "pagination": { + "nextToken": "AAMA-EFRSURBSGhKZlpVSWVwOW96aU1xa2p6amVJdGp1YlZxMndOelFXa2hydStrUjZvVmFRRWVINldMNnFUVz" + } + }, + "notificationMetadata": { + "applicationId": "amzn1.sellerapps.app.aacccfff-4455-4b7c-4422-664ecacdd336", + "subscriptionId": "subscription-id-d0e9e693-c3ad-4373-979f-ed4ec98dd746", + "publishTime": "2023-12-23T21:30:16.903Z", + "notificationId": "d0e9e693-c3ad-4373-979f-ed4ec98dd746" + } +} \ No newline at end of file From 7a4cd0e7502e480bf11ef183cf0449a9f0cd2cf3 Mon Sep 17 00:00:00 2001 From: Jack Evoniuk Date: Wed, 15 Nov 2023 09:25:36 -0800 Subject: [PATCH 195/340] Update Data Kiosk notification schema --- ...skQueryProcessingFinishedNotification.json | 266 ++++++++++++++++-- 1 file changed, 248 insertions(+), 18 deletions(-) diff --git a/schemas/notifications/DataKioskQueryProcessingFinishedNotification.json b/schemas/notifications/DataKioskQueryProcessingFinishedNotification.json index dd293c099..d3891aad7 100644 --- a/schemas/notifications/DataKioskQueryProcessingFinishedNotification.json +++ b/schemas/notifications/DataKioskQueryProcessingFinishedNotification.json @@ -1,22 +1,252 @@ { - "notificationVersion": "2023-11-15", - "notificationType": "DATA_KIOSK_QUERY_PROCESSING_FINISHED", - "payloadVersion": "2023-11-15", - "eventTime": "2023-12-23T21:30:13.713Z", - "payload": { - "accountId": "amzn1.merchant.o.A21CXK3C4ERTY8", - "queryId": "54517018502", - "query": "query MyQuery{salesAndTrafficByDate(startDate:\"2023-05-01\" endDate:\"2023-06-01\" aggregateBy:DAY){marketplaceId startDate endDate sales{unitsOrdered}traffic{pageViews}}}", - "processingStatus": "DONE", - "dataDocumentId": "amzn1.tortuga.3.edbcd0d8-3434-8222-1234-52ad8ade1208.REP4567URI9BMZ", - "pagination": { - "nextToken": "AAMA-EFRSURBSGhKZlpVSWVwOW96aU1xa2p6amVJdGp1YlZxMndOelFXa2hydStrUjZvVmFRRWVINldMNnFUVz" + "$schema": "http://json-schema.org/draft-07/schema", + "type": "object", + "title": "Data Kiosk Query Processing Finished Notification.", + "description": "This notification is delivered when a Data Kiosk query finishes processing.", + "examples": [ + { + "notificationVersion": "2023-11-15", + "notificationType": "DATA_KIOSK_QUERY_PROCESSING_FINISHED", + "payloadVersion": "2023-11-15", + "eventTime": "2023-12-23T21:30:13.713Z", + "payload": { + "accountId": "amzn1.merchant.o.A21CXK3C4ERTY8", + "queryId": "54517018502", + "query": "query MyQuery{salesAndTrafficByDate(startDate:\"2023-05-01\" endDate:\"2023-06-01\" aggregateBy:DAY){marketplaceId startDate endDate sales{unitsOrdered}traffic{pageViews}}}", + "processingStatus": "DONE", + "dataDocumentId": "amzn1.tortuga.3.edbcd0d8-3434-8222-1234-52ad8ade1208.REP4567URI9BMZ", + "pagination": { + "nextToken": "AAMA-EFRSURBSGhKZlpVSWVwOW96aU1xa2p6amVJdGp1YlZxMndOelFXa2hydStrUjZvVmFRRWVINldMNnFUVz" + } + }, + "notificationMetadata": { + "applicationId": "amzn1.sellerapps.app.aacccfff-4455-4b7c-4422-664ecacdd336", + "subscriptionId": "subscription-id-d0e9e693-c3ad-4373-979f-ed4ec98dd746", + "publishTime": "2023-12-23T21:30:16.903Z", + "notificationId": "d0e9e693-c3ad-4373-979f-ed4ec98dd746" + } + } + ], + "required": [ + "notificationVersion", + "notificationType", + "payloadVersion", + "eventTime", + "payload", + "notificationMetadata" + ], + "properties": { + "notificationVersion": { + "$id": "#/properties/notificationVersion", + "type": "string", + "description": "The notification version.", + "examples": [ + "2023-11-15" + ] + }, + "notificationType": { + "$id": "#/properties/notificationType", + "type": "string", + "description": "The notification type.", + "examples": [ + "DATA_KIOSK_QUERY_PROCESSING_FINISHED" + ] + }, + "payloadVersion": { + "$id": "#/properties/payloadVersion", + "type": "string", + "description": "The payload version of the notification.", + "examples": [ + "2023-11-15" + ] + }, + "eventTime": { + "$id": "#/properties/eventTime", + "type": "string", + "description": "The time the notification was sent in ISO 8601 format.", + "examples": [ + "2023-12-23T21:30:13.713Z" + ] + }, + "payload": { + "$id": "#/properties/payload", + "type": "object", + "description": "The Data Kiosk query processing notification payload.", + "examples": [ + { + "accountId": "amzn1.merchant.o.A21CXK3C4ERTY8", + "queryId": "54517018502", + "query": "query MyQuery{salesAndTrafficByDate(startDate:\"2023-05-01\" endDate:\"2023-06-01\" aggregateBy:DAY){marketplaceId startDate endDate sales{unitsOrdered}traffic{pageViews}}}", + "processingStatus": "DONE", + "dataDocumentId": "amzn1.tortuga.3.edbcd0d8-3434-8222-1234-52ad8ade1208.REP4567URI9BMZ", + "pagination": { + "nextToken": "AAMA-EFRSURBSGhKZlpVSWVwOW96aU1xa2p6amVJdGp1YlZxMndOelFXa2hydStrUjZvVmFRRWVINldMNnFUVz" + } + }, + { + "accountId": "amzn1.merchant.o.A21CXK3C4ERTY8", + "queryId": "54517018502", + "query": "query MyQuery{salesAndTrafficByDate(startDate:\"2023-05-01\" endDate:\"2023-06-01\" aggregateBy:DAY){marketplaceId startDate endDate sales{unitsOrdered}traffic{pageViews}}}", + "processingStatus": "DONE", + "dataDocumentId": "amzn1.tortuga.3.edbcd0d8-3434-8222-1234-52ad8ade1208.REP4567URI9BMZ" + }, + { + "accountId": "amzn1.merchant.o.A21CXK3C4ERTY8", + "queryId": "54517018502", + "query": "query MyQuery{salesAndTrafficByDate(startDate:\"2023-05-01\" endDate:\"2023-06-01\" aggregateBy:DAY){marketplaceId startDate endDate sales{unitsOrdered}traffic{pageViews}}}", + "processingStatus": "DONE" + }, + { + "accountId": "amzn1.merchant.o.A21CXK3C4ERTY8", + "queryId": "54517018502", + "query": "query MyQuery{salesAndTrafficByDate(startDate:\"2023-05-01\" endDate:\"2023-06-01\" aggregateBy:DAY){marketplaceId startDate endDate sales{unitsOrdered}traffic{pageViews}}}", + "processingStatus": "CANCELLED" + }, + { + "accountId": "amzn1.merchant.o.A21CXK3C4ERTY8", + "queryId": "54517018502", + "query": "query MyQuery{salesAndTrafficByDate(startDate:\"2023-05-01\" endDate:\"2023-06-01\" aggregateBy:DAY){marketplaceId startDate endDate sales{unitsOrdered}traffic{pageViews}}}", + "processingStatus": "FATAL", + "errorDocumentId": "amzn1.tortuga.3.edbcd0d8-3434-8222-1234-52ad8ade1208.REP4567URI9BMZ" + } + ], + "required": [ + "accountId", + "queryId", + "query", + "processingStatus" + ], + "properties": { + "accountId": { + "$id": "#/properties/payload/properties/accountId", + "type": "string", + "description": "The merchant customer identifier or vendor group identifier of the selling partner account on whose behalf the query was submitted.", + "examples": [ + "amzn1.merchant.o.A21CXK3C4ERTY8", + "amzn1.vg.6213651" + ] + }, + "queryId": { + "$id": "#/properties/payload/properties/queryId", + "type": "string", + "description": "The query identifier. This identifier is unique only in combination with the `accountId`.", + "examples": [ + "54517018502" + ] + }, + "query": { + "$id": "#/properties/payload/properties/query", + "type": "string", + "description": "The submitted query.", + "examples": [ + "query MyQuery{salesAndTrafficByDate(startDate:\"2023-05-01\" endDate:\"2023-06-01\" aggregateBy:DAY){marketplaceId startDate endDate sales{unitsOrdered}traffic{pageViews}}}" + ] + }, + "processingStatus": { + "$id": "#/properties/payload/properties/processingStatus", + "type": "string", + "description": "The processing status of the query.", + "examples": [ + "CANCELLED", + "DONE", + "FATAL" + ], + "enum": [ + "CANCELLED", + "DONE", + "FATAL" + ] + }, + "dataDocumentId": { + "$id": "#/properties/payload/properties/dataDocumentId", + "type": "string", + "description": "The data document identifier. This document identifier is only present when there is data available as a result of the query. This identifier is unique only in combination with the `accountId`. Pass this identifier into the `getDocument` operation to get the information required to retrieve the data document's contents.", + "examples": [ + "amzn1.tortuga.3.edbcd0d8-3434-8222-1234-52ad8ade1208.REP4567URI9BMZ" + ] + }, + "errorDocumentId": { + "$id": "#/properties/payload/properties/errorDocumentId", + "type": "string", + "description": "The error document identifier. This document identifier is only present when an error occurs during query processing. This identifier is unique only in combination with the `accountId`. Pass this identifier into the `getDocument` operation to get the information required to retrieve the error document's contents.", + "examples": [ + "amzn1.tortuga.3.edbcd0d8-3434-8222-1234-52ad8ade1208.REP4567URI9BMZ" + ] + }, + "pagination": { + "$id": "#/properties/payload/properties/pagination", + "type": "object", + "description": "When a query produces results that are not included in the data document, pagination occurs. This means that results are divided into pages. To retrieve the next page, you must pass a `CreateQuerySpecification` object with `paginationToken` set to this object's `nextToken` and with `query` set to this object's `query` in the subsequent `createQuery` request. When there are no more pages to fetch, the `nextToken` field will be absent.", + "examples": [ + { + "nextToken": "AAMA-EFRSURBSGhKZlpVSWVwOW96aU1xa2p6amVJdGp1YlZxMndOelFXa2hydStrUjZvVmFRRWVINldMNnFUVz" + } + ], + "properties": { + "nextToken": { + "$id": "#/properties/payload/properties/pagination/properties/nextToken", + "type": "string", + "description": "A token that can be used to fetch the next page of results.", + "examples": [ + "AAMA-EFRSURBSGhKZlpVSWVwOW96aU1xa2p6amVJdGp1YlZxMndOelFXa2hydStrUjZvVmFRRWVINldMNnFUVz" + ] + } + } + } + } + }, + "notificationMetadata": { + "$id": "#/properties/notificationMetadata", + "type": "object", + "description": "The notification's metadata.", + "examples": [ + { + "applicationId": "amzn1.sellerapps.app.aacccfff-4455-4b7c-4422-664ecacdd336", + "subscriptionId": "subscription-id-d0e9e693-c3ad-4373-979f-ed4ec98dd746", + "publishTime": "2023-12-23T21:30:16.903Z", + "notificationId": "d0e9e693-c3ad-4373-979f-ed4ec98dd746" + } + ], + "required": [ + "applicationId", + "subscriptionId", + "publishTime", + "notificationId" + ], + "properties": { + "applicationId": { + "$id": "#/properties/notificationMetadata/properties/applicationId", + "type": "string", + "description": "The application identifier.", + "examples": [ + "amzn1.sellerapps.app.aacccfff-4455-4b7c-4422-664ecacdd336" + ] + }, + "subscriptionId": { + "$id": "#/properties/notificationMetadata/properties/subscriptionId", + "type": "string", + "description": "The subscription identifier.", + "examples": [ + "subscription-id-d0e9e693-c3ad-4373-979f-ed4ec98dd746" + ] + }, + "publishTime": { + "$id": "#/properties/notificationMetadata/properties/publishTime", + "type": "string", + "description": "The time the notification was published in ISO 8601 format.", + "examples": [ + "2023-12-23T21:30:16.903Z" + ] + }, + "notificationId": { + "$id": "#/properties/notificationMetadata/properties/notificationId", + "type": "string", + "description": "The notification identifier.", + "examples": [ + "d0e9e693-c3ad-4373-979f-ed4ec98dd746" + ] + } + } } - }, - "notificationMetadata": { - "applicationId": "amzn1.sellerapps.app.aacccfff-4455-4b7c-4422-664ecacdd336", - "subscriptionId": "subscription-id-d0e9e693-c3ad-4373-979f-ed4ec98dd746", - "publishTime": "2023-12-23T21:30:16.903Z", - "notificationId": "d0e9e693-c3ad-4373-979f-ed4ec98dd746" } } \ No newline at end of file From 590a87877fccf659695d6e208b1740bfcd72b5de Mon Sep 17 00:00:00 2001 From: Jack Evoniuk Date: Thu, 16 Nov 2023 16:53:21 -0800 Subject: [PATCH 196/340] Add the Sales and Traffic schema for Data Kiosk --- ...alytics_salesAndTraffic_2023_11_15.graphql | 699 ++++++++++++++++++ 1 file changed, 699 insertions(+) create mode 100644 schemas/data-kiosk/analytics_salesAndTraffic_2023_11_15.graphql diff --git a/schemas/data-kiosk/analytics_salesAndTraffic_2023_11_15.graphql b/schemas/data-kiosk/analytics_salesAndTraffic_2023_11_15.graphql new file mode 100644 index 000000000..9ecb45e55 --- /dev/null +++ b/schemas/data-kiosk/analytics_salesAndTraffic_2023_11_15.graphql @@ -0,0 +1,699 @@ +""" +This directive specifies the retention duration of a query containing a +particular field. When a query contains multiple fields with different +retentions, the shortest (minimum) retention is applied to the query. The +retention of a query's resulting documents always matches the retention of the query. +""" +directive @resultRetention( + """An ISO 8601 duration.""" + duration: String! +) on FIELD_DEFINITION + +"""Monetary amount with the corresponding currency code.""" +type Amount { + """The amount.""" + amount: Float! + + """Currency code of the amount in ISO 4217 format.""" + currencyCode: String! +} + +""" +A root type for Analytics Sales and Traffic queries version 2023_11_15. +""" +type Analytics_SalesAndTraffic_2023_11_15 { + """ + A query to retrieve sales and traffic data for the seller's account aggregated by ASIN. + """ + salesAndTrafficByAsin( + """Determines how the sales and traffic data should be aggregated.""" + aggregateBy: AsinGranularity! + + """ + The end date of the sales and traffic data to retrieve. If a date + granularity is specified and the provided end date occurs mid-week or + mid-month, the preceding Saturday for WEEK date granularity or the last day + of the previous month for MONTH date granularity will be used instead. + """ + endDate: Date! + + """ + The marketplace identifiers to retrieve sales and traffic data for. If + omitted, sales and traffic data for all applicable marketplaces will be retrieved. + """ + marketplaceIds: [String] + + """ + The start date of the sales and traffic data to retrieve. The start date + must be no more than two years ago. If a date granularity is specified and + the provided start date occurs mid-week or mid-month, the following Sunday + for WEEK date granularity or the first day of the next month for MONTH date + granularity will be used instead. + """ + startDate: Date! + ): [SalesAndTrafficByAsin] + + """ + A query to retrieve sales and traffic data for the seller's account aggregated by date. + """ + salesAndTrafficByDate( + """Determines how the sales and traffic data should be aggregated.""" + aggregateBy: DateGranularity! + + """ + The end date of the sales and traffic data to retrieve. If the provided end + date occurs mid-week or mid-month, the preceding Saturday for WEEK date + granularity or the last day of the previous month for MONTH date granularity + will be used instead. + """ + endDate: Date! + + """ + The marketplace identifiers to retrieve sales and traffic data for. If + omitted, sales and traffic data for all applicable marketplaces will be retrieved. + """ + marketplaceIds: [String] + + """ + The start date of the sales and traffic data to retrieve. The start date + must be no more than two years ago. If the provided start date occurs + mid-week or mid-month, the following Sunday for WEEK date granularity or the + first day of the next month for MONTH date granularity will be used instead. + """ + startDate: Date! + ): [SalesAndTrafficByDate] +} + +"""The sales data for the seller's account aggregated by ASIN.""" +type ByAsinSales { + """ + The amount of ordered product sales, calculated by multiplying the price of + products and the number of units sold for the selected time period. + """ + orderedProductSales: Amount! + + """ + The amount of ordered product sales to Amazon Business customers, calculated + by multiplying the price of products and the number of units sold for the + selected time period. Note: This field is only populated when the seller is a B2B seller. + """ + orderedProductSalesB2B: Amount + + """The number of items that were ordered for the selected time period.""" + totalOrderItems: Long! + + """ + The number of items that were ordered by Amazon Business customers for the + selected time period. Note: This field is only populated when the seller is a B2B seller. + """ + totalOrderItemsB2B: Long + + """The number of units ordered.""" + unitsOrdered: Long! + + """ + The number of units ordered by Amazon Business customers. Note: This field is + only populated when the seller is a B2B seller. + """ + unitsOrderedB2B: Long +} + +"""The traffic data for the seller's account aggregated by ASIN.""" +type ByAsinTraffic { + """ + Browser page views are the number of times a user visited your Amazon.com browser pages for the selected time period. + """ + browserPageViews: Long! + + """ + Browser B2B page views are the number of times an Amazon Business customer + visited your Amazon.com browser pages for the selected time period. Note: This + field is only populated when the seller is a B2B seller. + """ + browserPageViewsB2B: Long + + """ + The percentage of browser page views that a particular SKU/ASIN receives + relative to the total number of browser page views for all products. + """ + browserPageViewsPercentage: Float! + + """ + The percentage of browser views by Amazon Business customers that a particular + SKU/ASIN receives relative to the total number of mobile page views by Amazon + Business customers for all products. Note: This field is only populated when + the seller is a B2B seller. + """ + browserPageViewsPercentageB2B: Float + + """ + The percentage of browser sessions that contain at least one page view for a + particular SKU/ASIN relative to the total number of browser sessions for all products. + """ + browserSessionPercentage: Float! + + """ + The percentage of browser sessions that contain at least one page view by an + Amazon Business customer for a particular SKU/ASIN relative to the total + number of browser sessions by Amazon Business customers for all products. + Note: This field is only populated when the seller is a B2B seller. + """ + browserSessionPercentageB2B: Float + + """ + Browser sessions are visits to your Amazon.com browser pages by a user. All + browser activity within a 24-hour period is considered a browser session. For + example, if a user visits your pages using a browser multiple times within a + 24 hour period it is counted as a single browser session. + """ + browserSessions: Long! + + """ + Browser B2B sessions are visits to your Amazon.com browser pages by an Amazon + Business customer. All activity within a 24-hour period is considered a + browser session. For example, if an Amazon Business customer visits your pages + using browser multiple times within a 24 hour period it is counted as a single + session. Note: This field is only populated when the seller is a B2B seller. + """ + browserSessionsB2B: Long + + """ + The percentage of page views where the buy box (the add to shopping cart link) + appeared on the page for customers to add your product to their cart. + """ + buyBoxPercentage: Float! + + """ + The percentage of page views by Amazon Business customers where the buy box + (the add to shopping cart link) appeared on the page for customers to add your + product to their cart. Note: This field is only populated when the seller is a B2B seller. + """ + buyBoxPercentageB2B: Float + + """ + Mobile app page views are the number of times a user visited your Amazon.com + mobile app pages for the selected time period. + """ + mobileAppPageViews: Long! + + """ + Mobile app B2B page views are the number of times an Amazon Business customer + visited your Amazon.com mobile app pages for the selected time period. Note: + This field is only populated when the seller is a B2B seller. + """ + mobileAppPageViewsB2B: Long + + """ + The percentage of mobile app page views that a particular SKU/ASIN receives + relative to the total number of mobile app page views for all products. + """ + mobileAppPageViewsPercentage: Float! + + """ + The percentage of mobile page views by Amazon Business customers that a + particular SKU/ASIN receives relative to the total number of mobile page views + by Amazon Business customers for all products. Note: This field is only + populated when the seller is a B2B seller. + """ + mobileAppPageViewsPercentageB2B: Float + + """ + The percentage of mobile app sessions that contain at least one page view for + a particular SKU/ASIN relative to the total number of mobile app sessions for all products. + """ + mobileAppSessionPercentage: Float! + + """ + The percentage of mobile app sessions that contain at least one page view by + an Amazon Business customer for a particular SKU/ASIN relative to the total + number of mobile app sessions by Amazon Business customers for all products. + Note: This field is only populated when the seller is a B2B seller. + """ + mobileAppSessionPercentageB2B: Float + + """ + Mobile app sessions are visits to your Amazon.com mobile app pages by a user. + All mobile app activity within a 24-hour period is considered a mobile app + session. For example, if a user visits your pages using a mobile app multiple + times within a 24 hour period it is counted as a single mobile app session. + """ + mobileAppSessions: Long! + + """ + Mobile app B2B sessions are visits to your Amazon.com mobile app pages by an + Amazon Business customer. All activity within a 24-hour period is considered a + mobile app session. For example, if an Amazon Business customer visits your + pages using mobile app multiple times within a 24 hour period it is counted as + a single session. Note: This field is only populated when the seller is a B2B seller. + """ + mobileAppSessionsB2B: Long + + """ + Page views are the number of times a user visited your Amazon.com browser or + mobile app pages for the selected time period. It is calculated as the sum of + browserPageViews and mobileAppPageViews. + """ + pageViews: Long! + + """ + B2B page views are the number of times an Amazon Business customer visited + your Amazon.com pages using browser or mobile app for the selected time + period. Note: This field is only populated when the seller is a B2B seller. + """ + pageViewsB2B: Long + + """ + The percentage of browser and mobile app page views that a particular SKU/ASIN + receives relative to the total number of browser and mobile app page views for all products. + """ + pageViewsPercentage: Float! + + """ + The percentage of page views by Amazon Business customers that a particular + SKU/ASIN receives relative to the total number of page views by Amazon + Business customers for all products. Note: This field is only populated when + the seller is a B2B seller. + """ + pageViewsPercentageB2B: Float + + """ + The percentage of sessions that contain at least one page view for a + particular SKU/ASIN relative to the total number of sessions for all products. + """ + sessionPercentage: Float! + + """ + The percentage of sessions that contain at least one page view by an Amazon + Business customer for a particular SKU/ASIN relative to the total number of + sessions by Amazon Business customers for all products. Note: This field is + only populated when the seller is a B2B seller. + """ + sessionPercentageB2B: Float + + """ + Sessions are visits to your Amazon.com browser or mobile app pages by a user. + All browser and mobile app activity within a 24-hour period is considered a + session. It is calculated as the sum of browserSessions and mobileAppSessions. + """ + sessions: Long! + + """ + B2B sessions are visits to your Amazon.com pages using browser or mobile app + by an Amazon Business customer. All activity within a 24-hour period is + considered a session. For example, if an Amazon Business customer visits your + pages multiple times using mobile app or browser within a 24 hour period it is + counted as a single session. Note: This field is only populated when the + seller is a B2B seller. + """ + sessionsB2B: Long + + """ + The percentage conversion metric indicating how many units were purchased + relative to the number of people who viewed the products, calculated by + dividing unitsOrdered by sessions. + """ + unitSessionPercentage: Float! + + """ + The percentage conversion metric indicating how many units were purchased by + Amazon Business customers relative to the number of Amazon Business customers + who viewed the products, calculated by dividing unitsOrderedB2B by sessions. + Note: This field is only populated when the seller is a B2B seller. + """ + unitSessionPercentageB2B: Float +} + +"""The sales data for the seller's account aggregated by date.""" +type ByDateSales { + """ + The average ordered product sales, calculated by dividing orderedProductSales + by totalOrderItems for the selected time period. + """ + averageSalesPerOrderItem: Amount! + + """ + The average ordered product sales to Amazon Business customers, calculated by + dividing orderedProductSalesB2B by totalOrderItemsB2B for the selected time + period. Note: This field is only populated when the seller is a B2B seller. + """ + averageSalesPerOrderItemB2B: Amount + + """ + The average price of the units sold in the selected time period, calculated by + dividing the orderedProductSales by unitsOrdered for the selected time period. + """ + averageSellingPrice: Amount! + + """ + The average price of the units sold to Amazon Business customers, calculated + by dividing the orderedProductSalesB2B by unitsOrderedB2B for the selected + time period. Note: This field is only populated when the seller is a B2B seller. + """ + averageSellingPriceB2B: Amount + + """ + The average number of units in each order item for the selected time period. + """ + averageUnitsPerOrderItem: Float! + + """ + The average number of units in each order item ordered by Amazon Business + customers for the selected time period. Note: This field is only populated + when the seller is a B2B seller. + """ + averageUnitsPerOrderItemB2B: Float + + """Monetary amount of filed A-to-z guarantee claims.""" + claimsAmount: Amount! + + """The number of A-to-z guarantee claims granted.""" + claimsGranted: Long! + + """ + The amount of ordered product sales, calculated by multiplying the price of + products and the number of units sold for the selected time period. + """ + orderedProductSales: Amount! + + """ + The amount of ordered product sales to Amazon Business customers, calculated + by multiplying the price of products and the number of units sold for the + selected time period. + """ + orderedProductSalesB2B: Amount + + """The number of orders shipped in the selected time period.""" + ordersShipped: Long! + + """ + The percentage conversion metric indicating how many orders were refunded by + the seller, calculated by dividing unitsOrdered by unitsRefunded in the + selected time period. + """ + refundRate: Float! + + """ + The amount of ordered product sales shipped for the selected time period. + """ + shippedProductSales: Amount! + + """ + The number of items that were ordered for the selected time period. Example: + For an order containing 2 copies of book A and 3 copies of book B, the number + of orders is 1, the number of order items is 2 (book A and book B), and the + number of units is 5 (2 + 3). + """ + totalOrderItems: Long! + + """ + The number of items that were ordered by Amazon Business customers for the + selected time period. Example: For an order containing 2 copies of book A and + 3 copies of book B, the number of orders is 1, the number of order items is 2 + (book A and book B), and the number of units is 5 (2 + 3). + """ + totalOrderItemsB2B: Long + + """ + The number of units ordered for the selected time period. Example: For an + order containing 2 copies of book A and 3 copies of book B, the number of + orders is 1, the number of order items is 2 (book A and book B), and the + number of units is 5 (2 + 3). + """ + unitsOrdered: Long! + + """ + The number of units ordered by Amazon Business customers for the selected time + period. Example: For an order containing 2 copies of book A and 3 copies of + book B, the number of orders is 1, the number of order items is 2 (book A and + book B), and the number of units is 5 (2 + 3). + """ + unitsOrderedB2B: Long + + """The number of units refunded in the selected time period.""" + unitsRefunded: Long! + + """The number of units shipped in the selected time period.""" + unitsShipped: Long! +} + +"""The traffic data for the seller's account aggregated by date.""" +type ByDateTraffic { + """ + The average number of offers listed for sale in the selected time period. It + is calculated from the total number of offers and the total number of days in + the selected time period. + """ + averageOfferCount: Long! + + """ + The average number of parent items listed for sale in the selected time period. + """ + averageParentItems: Long! + + """ + Browser page views are the number of times a user visited your Amazon.com browser pages for the selected time period. + """ + browserPageViews: Long! + + """ + Browser B2B page views are the number of times an Amazon Business customer + visited your Amazon.com browser pages for the selected time period. Note: This + field is only populated when the seller is a B2B seller. + """ + browserPageViewsB2B: Long + + """ + Browser sessions are visits to your Amazon.com browser pages by a user. All + browser activity within a 24-hour period is considered a browser session. For + example, if a user visits your pages using a browser multiple times within a + 24 hour period it is counted as a single browser session. + """ + browserSessions: Long! + + """ + Browser B2B sessions are visits to your Amazon.com browser pages by an Amazon + Business customer. All activity within a 24-hour period is considered a + browser session. For example, if an Amazon Business customer visits your pages + using browser multiple times within a 24 hour period it is counted as a single + session. Note: This field is only populated when the seller is a B2B seller. + """ + browserSessionsB2B: Long + + """ + The percentage of page views where the buy box (the add to shopping cart link) + appeared on the page for customers to add your product to their cart. + """ + buyBoxPercentage: Float! + + """ + The percentage of page views by Amazon Business customers where the buy box + (the add to shopping cart link) appeared on the page for customers to add your + product to their cart. Note: This field is only populated when the seller is a B2B seller. + """ + buyBoxPercentageB2B: Float + + """ + The number of times customers left feedback in the selected time period. + """ + feedbackReceived: Long! + + """ + Mobile app page views are the number of times a user visited your Amazon.com + mobile app pages for the selected time period. + """ + mobileAppPageViews: Long! + + """ + Mobile app B2B page views are the number of times an Amazon Business customer + visited your Amazon.com mobile app pages for the selected time period. Note: + This field is only populated when the seller is a B2B seller. + """ + mobileAppPageViewsB2B: Long + + """ + Mobile app sessions are visits to your Amazon.com mobile app pages by a user. + All mobile app activity within a 24-hour period is considered a mobile app + session. For example, if a user visits your pages using a mobile app multiple + times within a 24 hour period it is counted as a single mobile app session. + """ + mobileAppSessions: Long! + + """ + Mobile app B2B sessions are visits to your Amazon.com mobile app pages by an + Amazon Business customer. All activity within a 24-hour period is considered a + mobile app session. For example, if an Amazon Business customer visits your + pages using mobile app multiple times within a 24 hour period it is counted as + a single session. Note: This field is only populated when the seller is a B2B seller. + """ + mobileAppSessionsB2B: Long + + """ + The number of times customers left negative feedback in the selected time period. + """ + negativeFeedbackReceived: Long! + + """ + The percentage conversion metric indicating how many order items were + generated relative to the number of people who viewed the products. + """ + orderItemSessionPercentage: Float! + + """ + The percentage conversion metric indicating how many order items were + generated by Amazon Business customers relative to the number of Amazon + Business customers who viewed the products. Note: This field is only populated + when the seller is a B2B seller. + """ + orderItemSessionPercentageB2B: Float + + """ + Page views are the number of times a user visited your Amazon.com browser or + mobile app pages for the selected time period. It is calculated as the sum of + browserPageViews and mobileAppPageViews. + """ + pageViews: Long! + + """ + B2B page views are the number of times an Amazon Business customer visited + your Amazon.com pages using browser or mobile app for the selected time + period. Note: This field is only populated when the seller is a B2B seller. + """ + pageViewsB2B: Long + + """ + The negative feedback rate is the number of orders that have received negative + feedback divided by the number of orders in the selected time period. + """ + receivedNegativeFeedbackRate: Float! + + """ + Sessions are visits to your Amazon.com browser or mobile app pages by a user. + All browser and mobile app activity within a 24-hour period is considered a + session. It is calculated as the sum of browserSessions and mobileAppSessions. + """ + sessions: Long! + + """ + B2B sessions are visits to your Amazon.com pages using browser or mobile app + by an Amazon Business customer. All activity within a 24-hour period is + considered a session. For example, if an Amazon Business customer visits your + pages multiple times using mobile app or browser within a 24 hour period it is + counted as a single session. Note: This field is only populated when the + seller is a B2B seller. + """ + sessionsB2B: Long + + """ + The percentage conversion metric indicating how many units were purchased + relative to the number of people who viewed the products. + """ + unitSessionPercentage: Float! + + """ + The percentage conversion metric indicating how many units were purchased by + Amazon Business customers relative to number of Amazon Business customers who + viewed the products. Note: This field is only populated when the seller is a B2B seller. + """ + unitSessionPercentageB2B: Float +} + +"""A root type for queries""" +type Query { + """Analytics Sales and Traffic queries version 2023_11_15.""" + analytics_salesAndTraffic_2023_11_15: Analytics_SalesAndTraffic_2023_11_15 +} + +""" +The sales and traffic data for the seller's account aggregated by ASIN. +""" +type SalesAndTrafficByAsin { + """ + The Amazon Standard Identification Number of the child product. Child products + are unique, sellable products that are related in our catalog to a single, + non-sellable parent product. Note: This field is only present when ASIN + aggregation is CHILD or SKU. + """ + childAsin: String + + """The end date of the period of the aggregated data.""" + endDate: Date! + + """The marketplace identifier of the sales and traffic data.""" + marketplaceId: String! + + """ + The Amazon Standard Identification Number of the parent product. A parent + product appears in our catalog as a non-buyable, generic identifier for a + product that has buyable variations (child products). + """ + parentAsin: String! + + """ + The sales data for the parentAsin/childAsin/sku within the specified date range. + """ + sales: ByAsinSales! + + """ + The Stock Keeping Unit of the product. The SKU is a seller specific product + identifier. Note: This field is only present when ASIN aggregation is SKU. + """ + sku: String + + """The start date of the period of the aggregated data.""" + startDate: Date! + + """ + The traffic data for the parentAsin/childAsin/sku within the specified date range. + """ + traffic: ByAsinTraffic! +} + +""" +The sales and traffic data for the seller's account aggregated by date. +""" +type SalesAndTrafficByDate { + """The end date of the sales and traffic data.""" + endDate: Date! + + """The marketplace identifier of the sales and traffic data.""" + marketplaceId: String! + + """The sales data for the seller's account.""" + sales: ByDateSales! + + """The start date of the sales and traffic data.""" + startDate: Date! + + """The traffic data for the seller's account.""" + traffic: ByDateTraffic! +} + +"""The ASIN granularity used in aggregation.""" +enum AsinGranularity { + """Sales and traffic data is aggregated by child ASIN.""" + CHILD + + """Sales and traffic data is aggregated by parent ASIN.""" + PARENT + + """Sales and traffic data is aggregated by sku.""" + SKU +} + +"""The date granularity used in aggregation.""" +enum DateGranularity { + """Sales and traffic data is aggregated by day.""" + DAY + + """Sales and traffic data is aggregated by month.""" + MONTH + + """Sales and traffic data is aggregated by week.""" + WEEK +} + +"""Date""" +scalar Date + +"""Long""" +scalar Long \ No newline at end of file From 2a2415cd43ea73f434125170488c0e647a6e7a3e Mon Sep 17 00:00:00 2001 From: Gibran Waldron Date: Wed, 22 Nov 2023 09:09:36 -0800 Subject: [PATCH 197/340] Add throttle rate for getCompetitiveSummary. --- .../productPricing_2022-05-01.json | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/models/product-pricing-api-model/productPricing_2022-05-01.json b/models/product-pricing-api-model/productPricing_2022-05-01.json index 7083491ab..eded62880 100644 --- a/models/product-pricing-api-model/productPricing_2022-05-01.json +++ b/models/product-pricing-api-model/productPricing_2022-05-01.json @@ -522,7 +522,7 @@ "tags": [ "productPricing" ], - "description": "Returns the competitive summary response including featured buying options for the ASIN and `marketplaceId` combination", + "description": "Returns the competitive summary response including featured buying options for the ASIN and `marketplaceId` combination.\n\n**Usage Plan:**\n\n| Rate (requests per second) | Burst |\n| ---- | ---- |\n| 0.033 | 1 |\n\nThe `x-amzn-RateLimit-Limit` response header returns the usage plan rate limits that were applied to the requested operation, when available. The table above indicates the default rate and burst values for this operation. Selling partners whose business demands require higher throughput may see higher rate and burst values than those shown here. For more information, refer to [Usage Plans and Rate Limits in the Selling Partner API](https://developer-docs.amazon.com/sp-api/docs/usage-plans-and-rate-limits-in-the-sp-api).", "operationId": "getCompetitiveSummary", "parameters": [ { @@ -548,7 +548,7 @@ }, "x-amzn-RequestId": { "type": "string", - "description": "The unique request reference identifier." + "description": "Unique request reference identifier." } }, "examples": { @@ -1628,7 +1628,7 @@ }, "details": { "type": "string", - "description": "Additional information that can help the caller understand or fix the issue." + "description": "Additional details that can help the caller understand or fix the issue." } }, "description": "Error response returned when the request is unsuccessful." From 21f87c1c394f34b7f2c5df52e0d3f9466876e524 Mon Sep 17 00:00:00 2001 From: Jack Evoniuk Date: Mon, 27 Nov 2023 13:17:31 -0800 Subject: [PATCH 198/340] Remove DS Store --- models/shipping-api-model/.DS_Store | Bin 6148 -> 0 bytes 1 file changed, 0 insertions(+), 0 deletions(-) delete mode 100644 models/shipping-api-model/.DS_Store diff --git a/models/shipping-api-model/.DS_Store b/models/shipping-api-model/.DS_Store deleted file mode 100644 index 06113e51994e88779870da6277b5f089721ddf37..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 6148 zcmeHKO-sW-5Pe&FsEE*`$NYg9{0E`Ln|KL&w%TBo*p@Z{z2&F-W@f3>RK<%FnJKex zcRqHqZ$q{VAWYiX1uzCMq6!X<+3XSVi}qv?ErLPkSm6l^JmMVBy=XTaA_KB_r`TZ5 zom=tuv40yZu~;?tSM8=*Gir(wZ;WhE;RP9P>95hUU(uSOU_?XBaKmwhwOZ$ln9*9( z@~YmFRVq9%cCFc&M%Rq6+9~~0`Wn7TGE2&lJXgv}OU_j>QtIuFKCfV3R`%msuj5+3 zVdM}u(Vxi~a0Z-#UoyZmTV!-%=&dv03^)T@2ITvYPzCddouPg@*yt62IHXyHeYs0W zP7*PX*csA836@H<)DW*2!P03@Vq6}vGqiLBt;~61UX#6Y3pRMB+NbZ3;Vj6f;(i;xnoW Y?TK`VdBo0;7K;B7P#U~(2L6 Date: Thu, 7 Dec 2023 08:19:06 -0800 Subject: [PATCH 199/340] Update shipmentStatusUpdates for vendorDirectFulfillmentShippingV1 model. --- .../vendorDirectFulfillmentShippingV1.json | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/models/vendor-direct-fulfillment-shipping-api-model/vendorDirectFulfillmentShippingV1.json b/models/vendor-direct-fulfillment-shipping-api-model/vendorDirectFulfillmentShippingV1.json index 11c3415d5..f2619ddee 100644 --- a/models/vendor-direct-fulfillment-shipping-api-model/vendorDirectFulfillmentShippingV1.json +++ b/models/vendor-direct-fulfillment-shipping-api-model/vendorDirectFulfillmentShippingV1.json @@ -3030,11 +3030,11 @@ }, "statusCode": { "type": "string", - "description": "Indicates the shipment status code of the package that provides transportation information for Amazon tracking systems and ultimately for the final customer." + "description": "Indicates the shipment status code of the package that provides transportation information for Amazon tracking systems and ultimately for the final customer. For more information, refer to the [Additional Fields Explanation](https://developer-docs.amazon.com/sp-api/docs/vendor-direct-fulfillment-shipping-api-use-case-guide#additional-fields-explanation)." }, "reasonCode": { "type": "string", - "description": "Provides a reason code for the status of the package that will provide additional information about the transportation status." + "description": "Provides a reason code for the status of the package that will provide additional information about the transportation status. For more information, refer to the [Additional Fields Explanation](https://developer-docs.amazon.com/sp-api/docs/vendor-direct-fulfillment-shipping-api-use-case-guide#additional-fields-explanation)." }, "statusDateTime": { "type": "string", From 17bbc1a1c3eaf1d51bef264129739e28167dee3f Mon Sep 17 00:00:00 2001 From: Gibran Waldron Date: Thu, 7 Dec 2023 12:26:07 -0800 Subject: [PATCH 200/340] Update shipmentStatusUpdates for the vendor df shipping v2021-12-28 model. --- .../vendorDirectFulfillmentShipping_2021-12-28.json | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/models/vendor-direct-fulfillment-shipping-api-model/vendorDirectFulfillmentShipping_2021-12-28.json b/models/vendor-direct-fulfillment-shipping-api-model/vendorDirectFulfillmentShipping_2021-12-28.json index 8bcdb642a..45b6beb19 100644 --- a/models/vendor-direct-fulfillment-shipping-api-model/vendorDirectFulfillmentShipping_2021-12-28.json +++ b/models/vendor-direct-fulfillment-shipping-api-model/vendorDirectFulfillmentShipping_2021-12-28.json @@ -1810,7 +1810,7 @@ "dynamic": {} } } - } + } }, "definitions": { "PackingSlip": { @@ -2066,11 +2066,11 @@ }, "statusCode": { "type": "string", - "description": "Indicates the shipment status code of the package that provides transportation information for Amazon tracking systems and ultimately for the final customer." + "description": "Indicates the shipment status code of the package that provides transportation information for Amazon tracking systems and ultimately for the final customer. For more information, refer to the [Additional Fields Explanation](https://developer-docs.amazon.com/sp-api/docs/vendor-direct-fulfillment-shipping-api-use-case-guide#additional-fields-explanation)." }, "reasonCode": { "type": "string", - "description": "Provides a reason code for the status of the package that will provide additional information about the transportation status." + "description": "Provides a reason code for the status of the package that will provide additional information about the transportation status. For more information, refer to the [Additional Fields Explanation](https://developer-docs.amazon.com/sp-api/docs/vendor-direct-fulfillment-shipping-api-use-case-guide#additional-fields-explanation)." }, "statusDateTime": { "type": "string", @@ -2646,4 +2646,4 @@ } } } -} \ No newline at end of file +} \ No newline at end of file From 242bd220c3447150a6ee522bcd66d50ae1314d46 Mon Sep 17 00:00:00 2001 From: Jack Evoniuk Date: Fri, 8 Dec 2023 10:50:58 -0800 Subject: [PATCH 201/340] Update Product Type Definitions API --- .../definitionsProductTypes_2020-09-01.json | 16 ++++------------ 1 file changed, 4 insertions(+), 12 deletions(-) diff --git a/models/product-type-definitions-api-model/definitionsProductTypes_2020-09-01.json b/models/product-type-definitions-api-model/definitionsProductTypes_2020-09-01.json index e1ed126c2..75fa76c94 100644 --- a/models/product-type-definitions-api-model/definitionsProductTypes_2020-09-01.json +++ b/models/product-type-definitions-api-model/definitionsProductTypes_2020-09-01.json @@ -104,11 +104,7 @@ ] } ], - "productTypeVersion": { - "version": "UHqSqmb4FNUk=", - "latest": true, - "releaseCandidate": false - } + "productTypeVersion": "UHqSqmb4FNUk=" } }, "headers": { @@ -137,11 +133,7 @@ ] } ], - "productTypeVersion": { - "version": "UHqSqmb4FNUk=", - "latest": true, - "releaseCandidate": false - } + "productTypeVersion": "UHqSqmb4FNUk=" } } ] @@ -1128,8 +1120,8 @@ } }, "productTypeVersion": { - "description": "The version details for the Amazon product type.", - "$ref": "#/definitions/ProductTypeVersion" + "description": "Amazon product type version identifier.", + "type": "string" } }, "description": "A list of Amazon product types with definitions available." From 68657c02a2a5eaa821c0ad7b84b3d078d822aafd Mon Sep 17 00:00:00 2001 From: Gibran Waldron Date: Wed, 13 Dec 2023 08:25:45 -0800 Subject: [PATCH 202/340] Notifications API enforcement actions update. --- .../notifications.json | 107 ++++++++++-------- 1 file changed, 59 insertions(+), 48 deletions(-) diff --git a/models/notifications-api-model/notifications.json b/models/notifications-api-model/notifications.json index 0b17158a9..91dc810a8 100644 --- a/models/notifications-api-model/notifications.json +++ b/models/notifications-api-model/notifications.json @@ -1,7 +1,7 @@ { "swagger": "2.0", "info": { - "description": "The Selling Partner API for Notifications lets you subscribe to notifications that are relevant to a selling partner's business. Using this API you can create a destination to receive notifications, subscribe to notifications, delete notification subscriptions, and more.\n\nFor more information, see the [Notifications Use Case Guide](doc:notifications-api-v1-use-case-guide).", + "description": "The Selling Partner API for Notifications lets you subscribe to notifications that are relevant to a selling partner's business. Using this API you can create a destination to receive notifications, subscribe to notifications, delete notification subscriptions, and more.\n\nFor more information, refer to the [Notifications Use Case Guide](https://developer-docs.amazon.com/sp-api/docs/notifications-api-v1-use-case-guide).", "version": "v1", "title": "Selling Partner API for Notifications", "contact": { @@ -29,11 +29,18 @@ "tags": [ "notifications" ], - "description": "Returns information about subscriptions of the specified notification type. You can use this API to get subscription information when you do not have a subscription identifier.\n\n**Usage Plan:**\n\n| Rate (requests per second) | Burst |\n| ---- | ---- |\n| 1 | 5 |\n\nThe `x-amzn-RateLimit-Limit` response header returns the usage plan rate limits that were applied to the requested operation, when available. The table above indicates the default rate and burst values for this operation. Selling partners whose business demands require higher throughput may see higher rate and burst values than those shown here. For more information, see [Usage Plans and Rate Limits in the Selling Partner API](doc:usage-plans-and-rate-limits-in-the-sp-api).", + "description": "Returns information about subscription of the specified notification type and payload version. `payloadVersion` is an optional parameter. When `payloadVersion` is not provided, it will return latest payload version subscription's information. You can use this API to get subscription information when you do not have a subscription identifier.\n\n**Usage Plan:**\n\n| Rate (requests per second) | Burst |\n| ---- | ---- |\n| 1 | 5 |\n\nThe `x-amzn-RateLimit-Limit` response header returns the usage plan rate limits that were applied to the requested operation, when available. The table above indicates the default rate and burst values for this operation. Selling partners whose business demands require higher throughput may observe higher rate and burst values than those shown here. For more information, refer to [Usage Plans and Rate Limits in the Selling Partner API](https://developer-docs.amazon.com/sp-api/docs/usage-plans-and-rate-limits-in-the-sp-api).", "operationId": "getSubscription", "parameters": [ { "$ref": "#/parameters/NotificationType" + }, + { + "name": "payloadVersion", + "in": "query", + "description": "The version of the payload object to be used in the notification.", + "required": false, + "type": "string" } ], "responses": { @@ -220,7 +227,7 @@ "tags": [ "notifications" ], - "description": "Creates a subscription for the specified notification type to be delivered to the specified destination. Before you can subscribe, you must first create the destination by calling the createDestination operation.\n\n**Usage Plan:**\n\n| Rate (requests per second) | Burst |\n| ---- | ---- |\n| 1 | 5 |\n\nThe `x-amzn-RateLimit-Limit` response header returns the usage plan rate limits that were applied to the requested operation, when available. The table above indicates the default rate and burst values for this operation. Selling partners whose business demands require higher throughput may see higher rate and burst values than those shown here. For more information, see [Usage Plans and Rate Limits in the Selling Partner API](doc:usage-plans-and-rate-limits-in-the-sp-api).", + "description": "Creates a subscription for the specified notification type to be delivered to the specified destination. Before you can subscribe, you must first create the destination by calling the `createDestination` operation. In cases where the specified notification type supports multiple payload versions, you can utilize this API to subscribe to a different payload version if you already have an existing subscription for a different payload version.\n\n**Usage Plan:**\n\n| Rate (requests per second) | Burst |\n| ---- | ---- |\n| 1 | 5 |\n\nThe `x-amzn-RateLimit-Limit` response header returns the usage plan rate limits that were applied to the requested operation, when available. The table above indicates the default rate and burst values for this operation. Selling partners whose business demands require higher throughput may observe higher rate and burst values than those shown here. For more information, refer to [Usage Plans and Rate Limits in the Selling Partner API](https://developer-docs.amazon.com/sp-api/docs/usage-plans-and-rate-limits-in-the-sp-api).", "operationId": "createSubscription", "parameters": [ { @@ -425,7 +432,7 @@ "tags": [ "notifications" ], - "description": "Returns information about a subscription for the specified notification type. The getSubscriptionById API is grantless. For more information, see [Grantless operations](doc:grantless-operations) in the Selling Partner API Developer Guide.\n\n**Usage Plan:**\n\n| Rate (requests per second) | Burst |\n| ---- | ---- |\n| 1 | 5 |\n\nThe `x-amzn-RateLimit-Limit` response header returns the usage plan rate limits that were applied to the requested operation, when available. The table above indicates the default rate and burst values for this operation. Selling partners whose business demands require higher throughput may see higher rate and burst values than those shown here. For more information, see [Usage Plans and Rate Limits in the Selling Partner API](doc:usage-plans-and-rate-limits-in-the-sp-api).", + "description": "Returns information about a subscription for the specified notification type. The `getSubscriptionById` operation is grantless. For more information, refer to [Grantless operations](https://developer-docs.amazon.com/sp-api/docs/grantless-operations) in the Selling Partner API Developer Guide.\n\n**Usage Plan:**\n\n| Rate (requests per second) | Burst |\n| ---- | ---- |\n| 1 | 5 |\n\nThe `x-amzn-RateLimit-Limit` response header returns the usage plan rate limits that were applied to the requested operation, when available. The table above indicates the default rate and burst values for this operation. Selling partners whose business demands require higher throughput may observe higher rate and burst values than those shown here. For more information, refer to [Usage Plans and Rate Limits in the Selling Partner API](https://developer-docs.amazon.com/sp-api/docs/usage-plans-and-rate-limits-in-the-sp-api).", "operationId": "getSubscriptionById", "parameters": [ { @@ -627,7 +634,7 @@ "tags": [ "notifications" ], - "description": "Deletes the subscription indicated by the subscription identifier and notification type that you specify. The subscription identifier can be for any subscription associated with your application. After you successfully call this operation, notifications will stop being sent for the associated subscription. The deleteSubscriptionById API is grantless. For more information, see [Grantless operations](doc:grantless-operations) in the Selling Partner API Developer Guide.\n\n**Usage Plan:**\n\n| Rate (requests per second) | Burst |\n| ---- | ---- |\n| 1 | 5 |\n\nThe `x-amzn-RateLimit-Limit` response header returns the usage plan rate limits that were applied to the requested operation, when available. The table above indicates the default rate and burst values for this operation. Selling partners whose business demands require higher throughput may see higher rate and burst values than those shown here. For more information, see [Usage Plans and Rate Limits in the Selling Partner API](doc:usage-plans-and-rate-limits-in-the-sp-api).", + "description": "Deletes the subscription indicated by the subscription identifier and notification type that you specify. The subscription identifier can be for any subscription associated with your application. After you successfully call this operation, notifications will stop being sent for the associated subscription. The `deleteSubscriptionById` operation is grantless. For more information, refer to [Grantless operations](https://developer-docs.amazon.com/sp-api/docs/grantless-operations) in the Selling Partner API Developer Guide.\n\n**Usage Plan:**\n\n| Rate (requests per second) | Burst |\n| ---- | ---- |\n| 1 | 5 |\n\nThe `x-amzn-RateLimit-Limit` response header returns the usage plan rate limits that were applied to the requested operation, when available. The table above indicates the default rate and burst values for this operation. Selling partners whose business demands require higher throughput may observe higher rate and burst values than those shown here. For more information, refer to [Usage Plans and Rate Limits in the Selling Partner API](https://developer-docs.amazon.com/sp-api/docs/usage-plans-and-rate-limits-in-the-sp-api).", "operationId": "deleteSubscriptionById", "parameters": [ { @@ -819,7 +826,7 @@ "tags": [ "notifications" ], - "description": "Returns information about all destinations. The getDestinations API is grantless. For more information, see [Grantless operations](doc:grantless-operations) in the Selling Partner API Developer Guide.\n\n**Usage Plan:**\n\n| Rate (requests per second) | Burst |\n| ---- | ---- |\n| 1 | 5 |\n\nThe `x-amzn-RateLimit-Limit` response header returns the usage plan rate limits that were applied to the requested operation, when available. The table above indicates the default rate and burst values for this operation. Selling partners whose business demands require higher throughput may see higher rate and burst values than those shown here. For more information, see [Usage Plans and Rate Limits in the Selling Partner API](doc:usage-plans-and-rate-limits-in-the-sp-api).", + "description": "Returns information about all destinations. The `getDestinations` operation is grantless. For more information, refer to [Grantless operations](https://developer-docs.amazon.com/sp-api/docs/grantless-operations) in the Selling Partner API Developer Guide.\n\n**Usage Plan:**\n\n| Rate (requests per second) | Burst |\n| ---- | ---- |\n| 1 | 5 |\n\nThe `x-amzn-RateLimit-Limit` response header returns the usage plan rate limits that were applied to the requested operation, when available. The table above indicates the default rate and burst values for this operation. Selling partners whose business demands require higher throughput may observe higher rate and burst values than those shown here. For more information, refer to [Usage Plans and Rate Limits in the Selling Partner API](https://developer-docs.amazon.com/sp-api/docs/usage-plans-and-rate-limits-in-the-sp-api).", "operationId": "getDestinations", "parameters": [], "responses": { @@ -1022,7 +1029,7 @@ "tags": [ "notifications" ], - "description": "Creates a destination resource to receive notifications. The createDestination API is grantless. For more information, see [Grantless operations](doc:grantless-operations) in the Selling Partner API Developer Guide.\n\n**Usage Plan:**\n\n| Rate (requests per second) | Burst |\n| ---- | ---- |\n| 1 | 5 |\n\nThe `x-amzn-RateLimit-Limit` response header returns the usage plan rate limits that were applied to the requested operation, when available. The table above indicates the default rate and burst values for this operation. Selling partners whose business demands require higher throughput may see higher rate and burst values than those shown here. For more information, see [Usage Plans and Rate Limits in the Selling Partner API](doc:usage-plans-and-rate-limits-in-the-sp-api).", + "description": "Creates a destination resource to receive notifications. The `createDestination` operation is grantless. For more information, refer to [Grantless operations](https://developer-docs.amazon.com/sp-api/docs/grantless-operations) in the Selling Partner API Developer Guide.\n\n**Usage Plan:**\n\n| Rate (requests per second) | Burst |\n| ---- | ---- |\n| 1 | 5 |\n\nThe `x-amzn-RateLimit-Limit` response header returns the usage plan rate limits that were applied to the requested operation, when available. The table above indicates the default rate and burst values for this operation. Selling partners whose business demands require higher throughput may observe higher rate and burst values than those shown here. For more information, refer to [Usage Plans and Rate Limits in the Selling Partner API](https://developer-docs.amazon.com/sp-api/docs/usage-plans-and-rate-limits-in-the-sp-api).", "operationId": "createDestination", "parameters": [ { @@ -1232,7 +1239,7 @@ "tags": [ "notifications" ], - "description": "Returns information about the destination that you specify. The getDestination API is grantless. For more information, see [Grantless operations](doc:grantless-operations) in the Selling Partner API Developer Guide.\n\n**Usage Plan:**\n\n| Rate (requests per second) | Burst |\n| ---- | ---- |\n| 1 | 5 |\n\nThe `x-amzn-RateLimit-Limit` response header returns the usage plan rate limits that were applied to the requested operation, when available. The table above indicates the default rate and burst values for this operation. Selling partners whose business demands require higher throughput may see higher rate and burst values than those shown here. For more information, see [Usage Plans and Rate Limits in the Selling Partner API](doc:usage-plans-and-rate-limits-in-the-sp-api).", + "description": "Returns information about the destination that you specify. The `getDestination` operation is grantless. For more information, refer to [Grantless operations](https://developer-docs.amazon.com/sp-api/docs/grantless-operations) in the Selling Partner API Developer Guide.\n\n**Usage Plan:**\n\n| Rate (requests per second) | Burst |\n| ---- | ---- |\n| 1 | 5 |\n\nThe `x-amzn-RateLimit-Limit` response header returns the usage plan rate limits that were applied to the requested operation, when available. The table above indicates the default rate and burst values for this operation. Selling partners whose business demands require higher throughput may observe higher rate and burst values than those shown here. For more information, refer to [Usage Plans and Rate Limits in the Selling Partner API](https://developer-docs.amazon.com/sp-api/docs/usage-plans-and-rate-limits-in-the-sp-api).", "operationId": "getDestination", "parameters": [ { @@ -1439,7 +1446,7 @@ "tags": [ "notifications" ], - "description": "Deletes the destination that you specify. The deleteDestination API is grantless. For more information, see [Grantless operations](doc:grantless-operations) in the Selling Partner API Developer Guide.\n\n**Usage Plan:**\n\n| Rate (requests per second) | Burst |\n| ---- | ---- |\n| 1 | 5 |\n\nThe `x-amzn-RateLimit-Limit` response header returns the usage plan rate limits that were applied to the requested operation, when available. The table above indicates the default rate and burst values for this operation. Selling partners whose business demands require higher throughput may see higher rate and burst values than those shown here. For more information, see [Usage Plans and Rate Limits in the Selling Partner API](doc:usage-plans-and-rate-limits-in-the-sp-api).", + "description": "Deletes the destination that you specify. The `deleteDestination` operation is grantless. For more information, refer to [Grantless operations](https://developer-docs.amazon.com/sp-api/docs/grantless-operations) in the Selling Partner API Developer Guide.\n\n**Usage Plan:**\n\n| Rate (requests per second) | Burst |\n| ---- | ---- |\n| 1 | 5 |\n\nThe `x-amzn-RateLimit-Limit` response header returns the usage plan rate limits that were applied to the requested operation, when available. The table above indicates the default rate and burst values for this operation. Selling partners whose business demands require higher throughput may observe higher rate and burst values than those shown here. For more information, refer to [Usage Plans and Rate Limits in the Selling Partner API](https://developer-docs.amazon.com/sp-api/docs/usage-plans-and-rate-limits-in-the-sp-api).", "operationId": "deleteDestination", "parameters": [ { @@ -1626,18 +1633,18 @@ }, "definitions": { "ProcessingDirective": { - "description": "Additional information passed to the subscription to control the processing of notifications. For example, you can use an `eventFilter` to customize your subscription to send notifications for only the specified marketplaceId's, or select the aggregation time period at which to send notifications (e.g. limit to one notification every five minutes for high frequency notifications). The specific features available vary depending on the notificationType.\n\nThis feature is currently only supported by the `ANY_OFFER_CHANGED` and `ORDER_CHANGE` notificationTypes.", + "description": "Additional information passed to the subscription to control the processing of notifications. For example, you can use an `eventFilter` to customize your subscription to send notifications for only the specified `marketplaceId`s, or select the aggregation time period at which to send notifications (for example: limit to one notification every five minutes for high frequency notifications). The specific features available vary depending on the `notificationType`.\n\nThis feature is currently only supported by the `ANY_OFFER_CHANGED` and `ORDER_CHANGE` `notificationType`s.", "type": "object", "properties": { "eventFilter": { - "description": "A notificationType specific filter.", + "description": "A `notificationType` specific filter.", "$ref": "#/definitions/EventFilter" } } }, "EventFilter": { - "description": "A notificationType specific filter. This object contains all of the currently available filters and properties that you can use to define a notificationType specific filter.", + "description": "A `notificationType` specific filter. This object contains all of the currently available filters and properties that you can use to define a `notificationType` specific filter.", "allOf": [ { "$ref": "#/definitions/AggregationFilter" @@ -1657,7 +1664,7 @@ "ANY_OFFER_CHANGED", "ORDER_CHANGE" ], - "description": "An eventFilterType value that is supported by the specific notificationType. This is used by the subscription service to determine the type of event filter. Refer to the section of the [Notifications Use Case Guide](doc:notifications-api-v1-use-case-guide) that describes the specific notificationType to determine if an eventFilterType is supported." + "description": "An `eventFilterType` value that is supported by the specific `notificationType`. This is used by the subscription service to determine the type of event filter. Refer to the section of the [Notifications Use Case Guide](https://developer-docs.amazon.com/sp-api/docs/notifications-api-v1-use-case-guide) that describes the specific `notificationType` to determine if an `eventFilterType` is supported." } }, "required": [ @@ -1668,7 +1675,7 @@ }, "MarketplaceFilter" : { - "description": "Use this event filter to customize your subscription to send notifications for only the specified marketplaceId's.", + "description": "An event filter to customize your subscription to send notifications for only the specified `marketplaceId`s.", "type": "object", "properties": { "marketplaceIds": { @@ -1682,7 +1689,7 @@ "items": { "type": "string" }, - "description": "A list of marketplace identifiers to subscribe to (e.g. ATVPDKIKX0DER). To receive notifications in every marketplace, do not provide this list." + "description": "A list of marketplace identifiers to subscribe to (for example: ATVPDKIKX0DER). To receive notifications in every marketplace, do not provide this list." }, "AggregationFilter" : { @@ -1692,7 +1699,7 @@ "$ref": "#/definitions/AggregationSettings" } }, - "description": "Use this filter to select the aggregation time period at which to send notifications (e.g. limit to one notification every five minutes for high frequency notifications)." + "description": "A filter used to select the aggregation time period at which to send notifications (for example: limit to one notification every five minutes for high frequency notifications)." }, "AggregationSettings": { @@ -1728,7 +1735,7 @@ }, "OrderChangeTypeFilter": { - "description": "Use this event filter to customize your subscription to send notifications for only the specified orderChangeType.", + "description": "An event filter to customize your subscription to send notifications for only the specified `orderChangeType`.", "type": "object", "properties": { "orderChangeTypes": { @@ -1741,7 +1748,7 @@ "items": { "$ref": "#/definitions/OrderChangeTypeEnum" }, - "description": "A list of order change types to subscribe to (e.g. BuyerRequestedChange). To receive notifications of all change types, do not provide this list." + "description": "A list of order change types to subscribe to (for example: `BuyerRequestedChange`). To receive notifications of all change types, do not provide this list." }, "OrderChangeTypeEnum": { @@ -1777,21 +1784,21 @@ "$ref": "#/definitions/ProcessingDirective" } }, - "description": "Represents a subscription to receive notifications." + "description": "Information about the subscription." }, "CreateSubscriptionResponse": { "type": "object", "properties": { "payload": { - "description": "The payload for the createSubscription operation.", + "description": "The payload for the `createSubscription` operation.", "$ref": "#/definitions/Subscription" }, "errors": { - "description": "One or more unexpected errors occurred during the createSubscription operation.", + "description": "One or more unexpected errors occurred during the `createSubscription` operation.", "$ref": "#/definitions/ErrorList" } }, - "description": "The response schema for the createSubscription operation." + "description": "The response schema for the `createSubscription` operation." }, "CreateSubscriptionRequest": { "type": "object", @@ -1808,45 +1815,49 @@ "$ref": "#/definitions/ProcessingDirective" } }, - "description": "The request schema for the createSubscription operation." + "required": [ + "destinationId", + "payloadVersion" + ], + "description": "The request schema for the `createSubscription` operation." }, "GetSubscriptionByIdResponse": { "type": "object", "properties": { "payload": { - "description": "The payload for the getSubscriptionById operation.", + "description": "The payload for the `getSubscriptionById` operation.", "$ref": "#/definitions/Subscription" }, "errors": { - "description": "An unexpected condition occurred during the getSubscriptionById operation.", + "description": "An unexpected condition occurred during the `getSubscriptionById` operation.", "$ref": "#/definitions/ErrorList" } }, - "description": "The response schema for the getSubscriptionById operation." + "description": "The response schema for the `getSubscriptionById` operation." }, "GetSubscriptionResponse": { "type": "object", "properties": { "payload": { - "description": "The payload for the getSubscription operation.", + "description": "The payload for the `getSubscription` operation.", "$ref": "#/definitions/Subscription" }, "errors": { - "description": "One or more unexpected errors occurred during the getSubscription operation.", + "description": "One or more unexpected errors occurred during the `getSubscription` operation.", "$ref": "#/definitions/ErrorList" } }, - "description": "The response schema for the getSubscription operation." + "description": "The response schema for the `getSubscription` operation." }, "DeleteSubscriptionByIdResponse": { "type": "object", "properties": { "errors": { - "description": "An unexpected condition occurred during the deleteSubscriptionById operation.", + "description": "An unexpected condition occurred during the `deleteSubscriptionById` operation.", "$ref": "#/definitions/ErrorList" } }, - "description": "The response schema for the deleteSubscriptionById operation." + "description": "The response schema for the `deleteSubscriptionById` operation." }, "DestinationList": { "type": "array", @@ -1877,7 +1888,7 @@ "$ref": "#/definitions/DestinationResource" } }, - "description": "Represents a destination created when you call the createDestination operation." + "description": "Information about the destination created when you call the `createDestination` operation." }, "DestinationResource": { "type": "object", @@ -1955,14 +1966,14 @@ }, "region": { "type": "string", - "description": "The AWS region in which you receive the notifications. For AWS regions that are supported in Amazon EventBridge, see https://docs.aws.amazon.com/general/latest/gr/ev.html." + "description": "The AWS region in which you receive the notifications. For AWS regions that are supported in Amazon EventBridge, refer to [Amazon EventBridge endpoints and quotas](https://docs.aws.amazon.com/general/latest/gr/ev.html)." }, "accountId": { "type": "string", "description": "The identifier for the AWS account that is responsible for charges related to receiving notifications." } }, - "description": "Represents an Amazon EventBridge destination." + "description": "The Amazon EventBridge destination." }, "CreateDestinationRequest": { "type": "object", @@ -1980,17 +1991,17 @@ "description": "A developer-defined name to help identify this destination." } }, - "description": "The request schema for the createDestination operation." + "description": "The request schema for the `createDestination` operation." }, "CreateDestinationResponse": { "type": "object", "properties": { "payload": { - "description": "The payload for the createDestination operation.", + "description": "The payload for the `createDestination` operation.", "$ref": "#/definitions/Destination" }, "errors": { - "description": "One or more unexpected errors occurred during the createDestination operation.", + "description": "One or more unexpected errors occurred during the `createDestination` operation.", "$ref": "#/definitions/ErrorList" } }, @@ -2000,39 +2011,39 @@ "type": "object", "properties": { "payload": { - "description": "The payload for the getDestination operation.", + "description": "The payload for the `getDestination` operation.", "$ref": "#/definitions/Destination" }, "errors": { - "description": "One or more unexpected errors occurred during the getDestination operation.", + "description": "One or more unexpected errors occurred during the `getDestination` operation.", "$ref": "#/definitions/ErrorList" } }, - "description": "The response schema for the getDestination operation." + "description": "The response schema for the `getDestination` operation." }, "GetDestinationsResponse": { "type": "object", "properties": { "payload": { - "description": "The payload for the getDestinations operation.", + "description": "The payload for the `getDestinations` operation.", "$ref": "#/definitions/DestinationList" }, "errors": { - "description": "One or more unexpected errors occurred during the getDestinations operation.", + "description": "One or more unexpected errors occurred during the `getDestinations` operation.", "$ref": "#/definitions/ErrorList" } }, - "description": "The response schema for the getDestinations operation." + "description": "The response schema for the `getDestinations` operation." }, "DeleteDestinationResponse": { "type": "object", "properties": { "errors": { - "description": "One or more unexpected errors occurred during the deleteDestination operation.", + "description": "One or more unexpected errors occurred during the `deleteDestination` operation.", "$ref": "#/definitions/ErrorList" } }, - "description": "The response schema for the deleteDestination operation." + "description": "The response schema for the `deleteDestination` operation." }, "ErrorList": { "type": "array", @@ -2054,21 +2065,21 @@ }, "message": { "type": "string", - "description": "A message that describes the error condition in a human-readable form." + "description": "A message that describes the error condition." }, "details": { "type": "string", "description": "Additional details that can help the caller understand or fix the issue." } }, - "description": "Error response returned when the request is unsuccessful." + "description": "An error response returned when the request is unsuccessful." } }, "parameters": { "NotificationType": { "name": "notificationType", "in": "path", - "description": "The type of notification.\n\n For more information about notification types, see [the Notifications API Use Case Guide](doc:notifications-api-v1-use-case-guide).", + "description": "The type of notification.\n\n For more information about notification types, refer to [the Notifications API Use Case Guide](https://developer-docs.amazon.com/sp-api/docs/notifications-api-v1-use-case-guide).", "required": true, "type": "string" } From caecb047dafe2c9b2735338391b3c733248f293e Mon Sep 17 00:00:00 2001 From: Jack Evoniuk Date: Wed, 13 Dec 2023 09:52:29 -0800 Subject: [PATCH 203/340] Add Shipping v2 model --- models/shipping-api-model/shippingV2.json | 9382 +++++++++++++++++++++ 1 file changed, 9382 insertions(+) create mode 100644 models/shipping-api-model/shippingV2.json diff --git a/models/shipping-api-model/shippingV2.json b/models/shipping-api-model/shippingV2.json new file mode 100644 index 000000000..cceff9a29 --- /dev/null +++ b/models/shipping-api-model/shippingV2.json @@ -0,0 +1,9382 @@ +{ + "swagger": "2.0", + "info": { + "description": "The Amazon Shipping API is designed to support outbound shipping use cases both for orders originating on Amazon-owned marketplaces as well as external channels/marketplaces. With these APIs, you can request shipping rates, create shipments, cancel shipments, and track shipments.", + "version": "v2", + "title": "Amazon Shipping API", + "contact": { + "name": "Amazon Shipping API Support", + "email": "swa-api-core@amazon.com" + }, + "license": { + "name": "Amazon Software License", + "url": "https://aws.amazon.com/asl/" + } + }, + "host": "sellingpartnerapi-eu.amazon.com", + "schemes": [ + "https" + ], + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "paths": { + "/shipping/v2/shipments/rates": { + "post": { + "tags": [ + "shipping" + ], + "description": "Returns the available shipping service offerings.\n\n**Usage Plan:**\n\n| Rate (requests per second) | Burst |\n| ---- | ---- |\n| 80 | 100 |\n\nThe `x-amzn-RateLimit-Limit` response header returns the usage plan rate limits that were applied to the requested operation, when available. The table above indicates the default rate and burst values for this operation. Selling partners whose business demands require higher throughput may see higher rate and burst values then those shown here. For more information, see [Usage Plans and Rate Limits in the Selling Partner API](https://developer-docs.amazon.com/sp-api/docs/usage-plans-and-rate-limits-in-the-sp-api).", + "operationId": "getRates", + "parameters": [ + { + "in": "body", + "name": "body", + "required": true, + "schema": { + "$ref": "#/definitions/GetRatesRequest" + } + }, + { + "name": "x-amzn-shipping-business-id", + "in": "header", + "description": "Amazon shipping business to assume for this request. The default is AmazonShipping_UK.", + "required": false, + "type": "string", + "enum": [ + "AmazonShipping_US", + "AmazonShipping_IN", + "AmazonShipping_UK", + "AmazonShipping_UAE", + "AmazonShipping_SA", + "AmazonShipping_EG", + "AmazonShipping_IT", + "AmazonShipping_ES", + "AmazonShipping_FR", + "AmazonShipping_JP" + ], + "x-docgen-enum-table-extension": [ + { + "value": "AmazonShipping_US", + "description": "The United States Amazon shipping business." + }, + { + "value": "AmazonShipping_IN", + "description": "The India Amazon shipping business." + }, + { + "value": "AmazonShipping_UK", + "description": "The United Kingdom Amazon shipping business." + }, + { + "value": "AmazonShipping_UAE", + "description": "The United Arab Emirates Amazon shipping business." + }, + { + "value": "AmazonShipping_SA", + "description": "The Saudi Arabia Amazon shipping business." + }, + { + "value": "AmazonShipping_EG", + "description": "The Egypt Amazon shipping business." + }, + { + "value": "AmazonShipping_IT", + "description": "The Italy Amazon shipping business." + }, + { + "value": "AmazonShipping_ES", + "description": "The Spain Amazon shipping business." + }, + { + "value": "AmazonShipping_FR", + "description": "The France Amazon shipping business." + }, + { + "value": "AmazonShipping_JP", + "description": "The Japan Amazon shipping business." + } + ] + } + ], + "responses": { + "200": { + "description": "Success.", + "schema": { + "$ref": "#/definitions/GetRatesResponse" + }, + "examples": { + "application/json": { + "requestToken": "6DCCEDD3FF961C15FEB94F342D41C", + "rates": [ + { + "rateId": "F4B68849F969E239FF9FCA9C12E35", + "carrierId": "FOOSHIPGRD", + "carrierName": "FOO SHIP GRD", + "billedWeight": { + "value": 5, + "unit": "GRAMS" + }, + "totalCharge": { + "value": 7, + "unit": "USD" + }, + "serviceId": "FOORSID", + "serviceName": "FOO RS ID", + "promise": { + "deliveryWindow": { + "start": "2018-08-24T08:22:30.737Z", + "end": "2018-08-24T20:22:30.737Z" + }, + "pickupWindow": { + "start": "2018-08-23T08:22:30.737Z", + "end": "2018-08-23T20:22:30.737Z" + } + }, + "supportedDocumentSpecifications": [ + { + "format": "PNG", + "size": { + "length": 6, + "width": 4, + "unit": "INCH" + }, + "printOptions": [ + { + "supportedDPIs": [ + 300, + 203 + ], + "supportedPageLayouts": [ + "LEFT", + "RIGHT" + ], + "supportedFileJoiningOptions": [ + true, + false + ], + "supportedDocumentDetails": [ + { + "name": "LABEL", + "isMandatory": true + } + ] + } + ] + }, + { + "format": "ZPL", + "size": { + "length": 6, + "width": 4, + "unit": "INCH" + }, + "printOptions": [ + { + "supportedDPIs": [ + 300, + 203 + ], + "supportedPageLayouts": [ + "LEFT", + "RIGHT" + ], + "supportedFileJoiningOptions": [ + true, + false + ], + "supportedDocumentDetails": [ + { + "name": "LABEL", + "isMandatory": true + } + ] + } + ] + } + ], + "availableValueAddedServiceGroups": [ + { + "groupId": "SIG_VERIFICATION", + "groupDescription": "Signature Verification", + "isRequired": true, + "valueAddedServices": [ + { + "id": "CUST_SIG_VERIFICATION", + "name": "Customer Signature Verification", + "cost": { + "unit": "USD", + "value": 2 + } + } + ] + } + ], + "requiresAdditionalInputs": false, + "rateItemList":[ + { + "rateItemCharge":{ + "unit":"INR", + "value":"2.00000" + }, + "rateItemID":"BASE_RATE", + "rateItemNameLocalization":"Base Rate", + "rateItemType":"MANDATORY" + }, + { + "rateItemCharge":{ + "unit":"INR", + "value":"1.20000" + }, + "rateItemID":"DELIVERY_CONFIRMATION", + "rateItemNameLocalization":"Delivery Confirmation", + "rateItemType":"INCLUDED" + }, + { + "rateItemCharge":{ + "unit":"INR", + "value":"2.00" + }, + "rateItemID":"VAT", + "rateItemNameLocalization":"VAT", + "rateItemType":"MANDATORY" + } + ], + "paymentType": "PAY_THROUGH_AMAZON" + } + ], + "ineligibleRates": [ + { + "carrierId": "FOOSTDGRD", + "serviceId": "FOO8420430", + "carrierName": "FOOSTDGRD", + "serviceName": "FOO8420430", + "ineligibilityReasons": [ + { + "code": "NO_COVERAGE", + "message": "Required shipping network coverage doesn't exist for the offering" + } + ] + } + ] + } + }, + "headers": { + "x-amzn-RateLimit-Limit": { + "type": "string", + "description": "Your rate limit (requests per second) for this operation." + }, + "x-amzn-RequestId": { + "type": "string", + "description": "Unique request reference identifier." + } + } + }, + "400": { + "description": "Request has missing or invalid parameters and cannot be parsed.", + "schema": { + "$ref": "#/definitions/ErrorList" + }, + "examples": { + "application/json": { + "errors": [ + { + "code": "InvalidRequest", + "message": "Request is missing or has invalid parameters", + "details": "ChannelDetails object cannot be null" + } + ] + } + }, + "headers": { + "x-amzn-RateLimit-Limit": { + "type": "string", + "description": "Your rate limit (requests per second) for this operation." + }, + "x-amzn-RequestId": { + "type": "string", + "description": "Unique request reference identifier." + } + } + }, + "401": { + "description": "The request's Authorization header is not formatted correctly or does not contain a valid token.", + "schema": { + "$ref": "#/definitions/ErrorList" + }, + "examples": { + "application/json": { + "errors": [ + { + "code": "Unauthorized", + "message": "You don't have access to the requested response or the credentials are invalid." + } + ] + } + }, + "headers": { + "x-amzn-RateLimit-Limit": { + "type": "string", + "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." + }, + "x-amzn-RequestId": { + "type": "string", + "description": "Unique request reference identifier." + } + } + }, + "403": { + "description": "Indicates that access to the resource is forbidden. Possible reasons include Access Denied, Unauthorized, Expired Token, or Invalid Signature.", + "schema": { + "$ref": "#/definitions/ErrorList" + }, + "examples": { + "application/json": { + "errors": [ + { + "code": "Unauthorized", + "message": "You don't have access to the requested response or the credentials are invalid." + } + ] + } + }, + "headers": { + "x-amzn-RequestId": { + "type": "string", + "description": "Unique request reference identifier." + } + } + }, + "404": { + "description": "The resource specified does not exist.", + "schema": { + "$ref": "#/definitions/ErrorList" + }, + "examples": { + "application/json": { + "errors": [ + { + "code": "NotFound", + "message": "The requested resource is invalid or doesn't exist" + } + ] + } + }, + "headers": { + "x-amzn-RateLimit-Limit": { + "type": "string", + "description": "Your rate limit (requests per second) for this operation." + }, + "x-amzn-RequestId": { + "type": "string", + "description": "Unique request reference identifier." + } + } + }, + "413": { + "description": "The request size exceeded the maximum accepted size.", + "schema": { + "$ref": "#/definitions/ErrorList" + }, + "examples": { + "application/json": { + "errors": [ + { + "code": "InvalidRequest", + "message": "The request payload size is greater than maximum accepted size." + } + ] + } + }, + "headers": { + "x-amzn-RateLimit-Limit": { + "type": "string", + "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." + }, + "x-amzn-RequestId": { + "type": "string", + "description": "Unique request reference identifier." + } + } + }, + "415": { + "description": "The request payload is in an unsupported format.", + "schema": { + "$ref": "#/definitions/ErrorList" + }, + "examples": { + "application/json": { + "errors": [ + { + "code": "InvalidRequest", + "message": "The request payload format is not supported." + } + ] + } + }, + "headers": { + "x-amzn-RateLimit-Limit": { + "type": "string", + "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." + }, + "x-amzn-RequestId": { + "type": "string", + "description": "Unique request reference identifier." + } + } + }, + "429": { + "description": "The frequency of requests was greater than allowed.", + "schema": { + "$ref": "#/definitions/ErrorList" + }, + "examples": { + "application/json": { + "errors": [ + { + "code": "TooManyRequests", + "message": "The total number of requests exceeded your allowed limit." + } + ] + } + }, + "headers": { + "x-amzn-RateLimit-Limit": { + "type": "string", + "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." + }, + "x-amzn-RequestId": { + "type": "string", + "description": "Unique request reference identifier." + } + } + }, + "500": { + "description": "An unexpected condition occurred that prevented the server from fulfilling the request.", + "schema": { + "$ref": "#/definitions/ErrorList" + }, + "examples": { + "application/json": { + "errors": [ + { + "code": "InternalError", + "message": "Something went wrong while processing the request." + } + ] + } + }, + "headers": { + "x-amzn-RateLimit-Limit": { + "type": "string", + "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." + }, + "x-amzn-RequestId": { + "type": "string", + "description": "Unique request reference identifier." + } + } + }, + "503": { + "description": "Temporary overloading or maintenance of the server.", + "schema": { + "$ref": "#/definitions/ErrorList" + }, + "examples": { + "application/json": { + "errors": [ + { + "code": "ServiceUnavailable", + "message": "Service temporarily unavailable or down for maintenance. Please try again after sometime." + } + ] + } + }, + "headers": { + "x-amzn-RateLimit-Limit": { + "type": "string", + "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." + }, + "x-amzn-RequestId": { + "type": "string", + "description": "Unique request reference identifier." + } + } + } + }, + "x-amzn-api-sandbox": { + "dynamic": {} + } + }, + "parameters": [] + }, + "/shipping/v2/shipments/directPurchase": { + "post": { + "tags": [ + "shipping" + ], + "description": "Purchases the shipping service for a shipment using the best fit service offering. Returns purchase related details and documents.\n\n**Usage Plan:**\n\n| Rate (requests per second) | Burst |\n| ---- | ---- |\n| 80 | 100 |\n\nThe `x-amzn-RateLimit-Limit` response header returns the usage plan rate limits that were applied to the requested operation, when available. The table above indicates the default rate and burst values for this operation. Selling partners whose business demands require higher throughput may see higher rate and burst values then those shown here. For more information, see [Usage Plans and Rate Limits in the Selling Partner API](https://developer-docs.amazon.com/sp-api/docs/usage-plans-and-rate-limits-in-the-sp-api).", + "operationId": "directPurchaseShipment", + "parameters": [ + { + "in": "body", + "name": "body", + "required": true, + "schema": { + "$ref": "#/definitions/DirectPurchaseRequest" + } + }, + { + "name": "x-amzn-IdempotencyKey", + "description": "A unique value which the server uses to recognize subsequent retries of the same request.", + "in": "header", + "required": false, + "type": "string" + }, + { + "name": "locale", + "description": "The IETF Language Tag. Note that this only supports the primary language subtag with one secondary language subtag (i.e. en-US, fr-CA).\nThe secondary language subtag is almost always a regional designation.\nThis does not support additional subtags beyond the primary and secondary language subtags.\n", + "in": "header", + "required": false, + "type": "string" + }, + { + "name": "x-amzn-shipping-business-id", + "in": "header", + "description": "Amazon shipping business to assume for this request. The default is AmazonShipping_UK.", + "required": false, + "type": "string", + "enum": [ + "AmazonShipping_US", + "AmazonShipping_IN", + "AmazonShipping_UK", + "AmazonShipping_UAE", + "AmazonShipping_SA", + "AmazonShipping_EG", + "AmazonShipping_IT", + "AmazonShipping_ES", + "AmazonShipping_FR", + "AmazonShipping_JP" + ], + "x-docgen-enum-table-extension": [ + { + "value": "AmazonShipping_US", + "description": "The United States Amazon shipping business." + }, + { + "value": "AmazonShipping_IN", + "description": "The India Amazon shipping business." + }, + { + "value": "AmazonShipping_UK", + "description": "The United Kingdom Amazon shipping business." + }, + { + "value": "AmazonShipping_UAE", + "description": "The United Arab Emirates Amazon shipping business." + }, + { + "value": "AmazonShipping_SA", + "description": "The Saudi Arabia Amazon shipping business." + }, + { + "value": "AmazonShipping_EG", + "description": "The Egypt Amazon shipping business." + }, + { + "value": "AmazonShipping_IT", + "description": "The Italy Amazon shipping business." + }, + { + "value": "AmazonShipping_ES", + "description": "The Spain Amazon shipping business." + }, + { + "value": "AmazonShipping_FR", + "description": "The France Amazon shipping business." + }, + { + "value": "AmazonShipping_JP", + "description": "The Japan Amazon shipping business." + } + ] + } + ], + "responses": { + "200": { + "description": "Success", + "schema": { + "$ref": "#/definitions/DirectPurchaseResponse" + }, + "examples": { + "application/json": { + "shipmentId": "445454-3232-3232", + "packageDocumentDetailList": [ + { + "packageClientReferenceId": "ASUSDI-45343854", + "trackingId": "T1234567", + "packageDocuments": [ + { + "type": "LABEL", + "format": "PNG", + "contents": "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" + } + ] + } + ] + } + }, + "headers": { + "x-amzn-RateLimit-Limit": { + "type": "string", + "description": "Your rate limit (requests per second) for this operation." + }, + "x-amzn-RequestId": { + "type": "string", + "description": "Unique request reference identifier." + }, + "x-amzn-IdempotencyKey": { + "type": "string", + "description": "A unique value which the server uses to recognize subsequent retries of the same request." + } + } + }, + "400": { + "description": "Request has missing or invalid parameters and cannot be parsed.", + "schema": { + "$ref": "#/definitions/ErrorList" + }, + "examples": { + "application/json": { + "errors": [ + { + "code": "InvalidRequest", + "message": "Request is missing or has invalid parameters", + "details": "ChannelDetails object cannot be null" + } + ] + } + }, + "headers": { + "x-amzn-RateLimit-Limit": { + "type": "string", + "description": "Your rate limit (requests per second) for this operation." + }, + "x-amzn-RequestId": { + "type": "string", + "description": "Unique request reference identifier." + } + } + }, + "401": { + "description": "The request's Authorization header is not formatted correctly or does not contain a valid token.", + "schema": { + "$ref": "#/definitions/ErrorList" + }, + "examples": { + "application/json": { + "errors": [ + { + "code": "Unauthorized", + "message": "You don't have access to the requested response or the credentials are invalid." + } + ] + } + }, + "headers": { + "x-amzn-RateLimit-Limit": { + "type": "string", + "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." + }, + "x-amzn-RequestId": { + "type": "string", + "description": "Unique request reference identifier." + } + } + }, + "403": { + "description": "Indicates that access to the resource is forbidden. Possible reasons include Access Denied, Unauthorized, Expired Token, or Invalid Signature.", + "schema": { + "$ref": "#/definitions/ErrorList" + }, + "examples": { + "application/json": { + "errors": [ + { + "code": "Unauthorized", + "message": "You don't have access to the requested response or the credentials are invalid." + } + ] + } + }, + "headers": { + "x-amzn-RequestId": { + "type": "string", + "description": "Unique request reference identifier." + } + } + }, + "404": { + "description": "The resource specified does not exist.", + "schema": { + "$ref": "#/definitions/ErrorList" + }, + "examples": { + "application/json": { + "errors": [ + { + "code": "NotFound", + "message": "The requested resource is invalid or doesn't exist" + } + ] + } + }, + "headers": { + "x-amzn-RateLimit-Limit": { + "type": "string", + "description": "Your rate limit (requests per second) for this operation." + }, + "x-amzn-RequestId": { + "type": "string", + "description": "Unique request reference identifier." + } + } + }, + "413": { + "description": "The request size exceeded the maximum accepted size.", + "schema": { + "$ref": "#/definitions/ErrorList" + }, + "examples": { + "application/json": { + "errors": [ + { + "code": "InvalidRequest", + "message": "The request payload size is greater than maximum accepted size." + } + ] + } + }, + "headers": { + "x-amzn-RateLimit-Limit": { + "type": "string", + "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." + }, + "x-amzn-RequestId": { + "type": "string", + "description": "Unique request reference identifier." + } + } + }, + "415": { + "description": "The request payload is in an unsupported format.", + "schema": { + "$ref": "#/definitions/ErrorList" + }, + "examples": { + "application/json": { + "errors": [ + { + "code": "InvalidRequest", + "message": "The request payload format is not supported." + } + ] + } + }, + "headers": { + "x-amzn-RateLimit-Limit": { + "type": "string", + "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." + }, + "x-amzn-RequestId": { + "type": "string", + "description": "Unique request reference identifier." + } + } + }, + "429": { + "description": "The frequency of requests was greater than allowed.", + "schema": { + "$ref": "#/definitions/ErrorList" + }, + "examples": { + "application/json": { + "errors": [ + { + "code": "TooManyRequests", + "message": "The total number of requests exceeded your allowed limit." + } + ] + } + }, + "headers": { + "x-amzn-RateLimit-Limit": { + "type": "string", + "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." + }, + "x-amzn-RequestId": { + "type": "string", + "description": "Unique request reference identifier." + } + } + }, + "500": { + "description": "An unexpected condition occurred that prevented the server from fulfilling the request.", + "schema": { + "$ref": "#/definitions/ErrorList" + }, + "examples": { + "application/json": { + "errors": [ + { + "code": "InternalError", + "message": "Something went wrong while processing the request." + } + ] + } + }, + "headers": { + "x-amzn-RateLimit-Limit": { + "type": "string", + "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." + }, + "x-amzn-RequestId": { + "type": "string", + "description": "Unique request reference identifier." + } + } + }, + "503": { + "description": "Temporary overloading or maintenance of the server.", + "schema": { + "$ref": "#/definitions/ErrorList" + }, + "examples": { + "application/json": { + "errors": [ + { + "code": "ServiceUnavailable", + "message": "Service temporarily unavailable or down for maintenance. Please try again after sometime." + } + ] + } + }, + "headers": { + "x-amzn-RateLimit-Limit": { + "type": "string", + "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." + }, + "x-amzn-RequestId": { + "type": "string", + "description": "Unique request reference identifier." + } + } + } + } + }, + "parameters": [] + }, + "/shipping/v2/shipments": { + "post": { + "tags": [ + "shipping" + ], + "description": "Purchases a shipping service and returns purchase related details and documents.\n\nNote: You must complete the purchase within 10 minutes of rate creation by the shipping service provider. If you make the request after the 10 minutes have expired, you will receive an error response with the error code equal to \"TOKEN_EXPIRED\". If you receive this error response, you must get the rates for the shipment again.\n\n**Usage Plan:**\n\n| Rate (requests per second) | Burst |\n| ---- | ---- |\n| 80 | 100 |\n\nThe `x-amzn-RateLimit-Limit` response header returns the usage plan rate limits that were applied to the requested operation, when available. The table above indicates the default rate and burst values for this operation. Selling partners whose business demands require higher throughput may see higher rate and burst values then those shown here. For more information, see [Usage Plans and Rate Limits in the Selling Partner API](https://developer-docs.amazon.com/sp-api/docs/usage-plans-and-rate-limits-in-the-sp-api).", + "operationId": "purchaseShipment", + "parameters": [ + { + "in": "body", + "name": "body", + "required": true, + "schema": { + "$ref": "#/definitions/PurchaseShipmentRequest" + } + }, + { + "name": "x-amzn-IdempotencyKey", + "description": "A unique value which the server uses to recognize subsequent retries of the same request.", + "in": "header", + "required": false, + "type": "string" + }, + { + "name": "x-amzn-shipping-business-id", + "in": "header", + "description": "Amazon shipping business to assume for this request. The default is AmazonShipping_UK.", + "required": false, + "type": "string", + "enum": [ + "AmazonShipping_US", + "AmazonShipping_IN", + "AmazonShipping_UK", + "AmazonShipping_UAE", + "AmazonShipping_SA", + "AmazonShipping_EG", + "AmazonShipping_IT", + "AmazonShipping_ES", + "AmazonShipping_FR", + "AmazonShipping_JP" + ], + "x-docgen-enum-table-extension": [ + { + "value": "AmazonShipping_US", + "description": "The United States Amazon shipping business." + }, + { + "value": "AmazonShipping_IN", + "description": "The India Amazon shipping business." + }, + { + "value": "AmazonShipping_UK", + "description": "The United Kingdom Amazon shipping business." + }, + { + "value": "AmazonShipping_UAE", + "description": "The United Arab Emirates Amazon shipping business." + }, + { + "value": "AmazonShipping_SA", + "description": "The Saudi Arabia Amazon shipping business." + }, + { + "value": "AmazonShipping_EG", + "description": "The Egypt Amazon shipping business." + }, + { + "value": "AmazonShipping_IT", + "description": "The Italy Amazon shipping business." + }, + { + "value": "AmazonShipping_ES", + "description": "The Spain Amazon shipping business." + }, + { + "value": "AmazonShipping_FR", + "description": "The France Amazon shipping business." + }, + { + "value": "AmazonShipping_JP", + "description": "The Japan Amazon shipping business." + } + ] + } + ], + "responses": { + "200": { + "description": "Success.", + "schema": { + "$ref": "#/definitions/PurchaseShipmentResponse" + }, + "examples": { + "application/json": { + "shipmentId": "87852211788104", + "packageDocumentDetails": [ + { + "packageClientReferenceId": "abcd", + "packageDocuments": [ + { + "type": "LABEL", + "format": "PNG", + "contents": "sdioadaiosfhdodsaiufhouafhoudfhdouahfac==" + } + ], + "trackingId": 1578648261977 + } + ], + "promise": { + "pickupWindow": { + "start": "2019-12-11T07:09:05.513Z", + "end": "2019-12-11T09:09:05.513Z" + }, + "deliveryWindow": { + "start": "2019-12-13T07:09:05.513Z", + "end": "2019-12-13T09:09:05.513Z" + } + } + } + }, + "headers": { + "x-amzn-RateLimit-Limit": { + "type": "string", + "description": "Your rate limit (requests per second) for this operation." + }, + "x-amzn-RequestId": { + "type": "string", + "description": "Unique request reference identifier." + } + } + }, + "400": { + "description": "Request has missing or invalid parameters and cannot be parsed.", + "schema": { + "$ref": "#/definitions/ErrorList" + }, + "examples": { + "application/json": { + "errors": [ + { + "code": "InvalidRequest", + "message": "Request is missing or has invalid parameters", + "details": "RateId cannot be null" + } + ] + } + }, + "headers": { + "x-amzn-RateLimit-Limit": { + "type": "string", + "description": "Your rate limit (requests per second) for this operation." + }, + "x-amzn-RequestId": { + "type": "string", + "description": "Unique request reference identifier." + } + } + }, + "401": { + "description": "The request's Authorization header is not formatted correctly or does not contain a valid token.", + "schema": { + "$ref": "#/definitions/ErrorList" + }, + "examples": { + "application/json": { + "errors": [ + { + "code": "Unauthorized", + "message": "You don't have access to the requested response or the credentials are invalid." + } + ] + } + }, + "headers": { + "x-amzn-RateLimit-Limit": { + "type": "string", + "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." + }, + "x-amzn-RequestId": { + "type": "string", + "description": "Unique request reference identifier." + } + } + }, + "403": { + "description": "Indicates that access to the resource is forbidden. Possible reasons include Access Denied, Unauthorized, Expired Token, or Invalid Signature.", + "schema": { + "$ref": "#/definitions/ErrorList" + }, + "examples": { + "application/json": { + "errors": [ + { + "code": "Unauthorized", + "message": "You don't have access to the requested response or the credentials are invalid." + } + ] + } + }, + "headers": { + "x-amzn-RequestId": { + "type": "string", + "description": "Unique request reference identifier." + } + } + }, + "404": { + "description": "The resource specified does not exist.", + "schema": { + "$ref": "#/definitions/ErrorList" + }, + "examples": { + "application/json": { + "errors": [ + { + "code": "NotFound", + "message": "The requested resource is invalid or doesn't exist" + } + ] + } + }, + "headers": { + "x-amzn-RateLimit-Limit": { + "type": "string", + "description": "Your rate limit (requests per second) for this operation." + }, + "x-amzn-RequestId": { + "type": "string", + "description": "Unique request reference identifier." + } + } + }, + "413": { + "description": "The request size exceeded the maximum accepted size.", + "schema": { + "$ref": "#/definitions/ErrorList" + }, + "examples": { + "application/json": { + "errors": [ + { + "code": "InvalidRequest", + "message": "The request payload size is greater than maximum accepted size." + } + ] + } + }, + "headers": { + "x-amzn-RateLimit-Limit": { + "type": "string", + "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." + }, + "x-amzn-RequestId": { + "type": "string", + "description": "Unique request reference identifier." + } + } + }, + "415": { + "description": "The request payload is in an unsupported format.", + "schema": { + "$ref": "#/definitions/ErrorList" + }, + "examples": { + "application/json": { + "errors": [ + { + "code": "InvalidRequest", + "message": "The request payload format is not supported." + } + ] + } + }, + "headers": { + "x-amzn-RateLimit-Limit": { + "type": "string", + "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." + }, + "x-amzn-RequestId": { + "type": "string", + "description": "Unique request reference identifier." + } + } + }, + "429": { + "description": "The frequency of requests was greater than allowed.", + "schema": { + "$ref": "#/definitions/ErrorList" + }, + "examples": { + "application/json": { + "errors": [ + { + "code": "TooManyRequests", + "message": "The total number of requests exceeded your allowed limit." + } + ] + } + }, + "headers": { + "x-amzn-RateLimit-Limit": { + "type": "string", + "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." + }, + "x-amzn-RequestId": { + "type": "string", + "description": "Unique request reference identifier." + } + } + }, + "500": { + "description": "An unexpected condition occurred that prevented the server from fulfilling the request.", + "schema": { + "$ref": "#/definitions/ErrorList" + }, + "examples": { + "application/json": { + "errors": [ + { + "code": "InternalError", + "message": "Something went wrong while processing the request." + } + ] + } + }, + "headers": { + "x-amzn-RateLimit-Limit": { + "type": "string", + "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." + }, + "x-amzn-RequestId": { + "type": "string", + "description": "Unique request reference identifier." + } + } + }, + "503": { + "description": "Temporary overloading or maintenance of the server.", + "schema": { + "$ref": "#/definitions/ErrorList" + }, + "examples": { + "application/json": { + "errors": [ + { + "code": "ServiceUnavailable", + "message": "Service temporarily unavailable or down for maintenance. Please try again after sometime." + } + ] + } + }, + "headers": { + "x-amzn-RateLimit-Limit": { + "type": "string", + "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." + }, + "x-amzn-RequestId": { + "type": "string", + "description": "Unique request reference identifier." + } + } + } + }, + "x-amzn-api-sandbox": { + "dynamic": {} + } + }, + "parameters": [] + }, + "/shipping/v2/oneClickShipment": { + "post": { + "tags": [ + "shipping" + ], + "description": "Purchases a shipping service identifier and returns purchase-related details and documents.\n\n**Usage Plan:**\n\n| Rate (requests per second) | Burst |\n| ---- | ---- |\n| 80 | 100 |\n\nThe `x-amzn-RateLimit-Limit` response header returns the usage plan rate limits that were applied to the requested operation, when available. The table above indicates the default rate and burst values for this operation. Selling partners whose business demands require higher throughput may see higher rate and burst values then those shown here. For more information, see [Usage Plans and Rate Limits in the Selling Partner API](https://developer-docs.amazon.com/sp-api/docs/usage-plans-and-rate-limits-in-the-sp-api).", + "operationId": "oneClickShipment", + "parameters": [ + { + "in": "body", + "name": "body", + "required": true, + "schema": { + "$ref": "#/definitions/OneClickShipmentRequest" + } + }, + { + "name": "x-amzn-shipping-business-id", + "in": "header", + "description": "Amazon shipping business to assume for this request. The default is AmazonShipping_UK.", + "required": false, + "type": "string", + "enum": [ + "AmazonShipping_US", + "AmazonShipping_IN", + "AmazonShipping_UK", + "AmazonShipping_UAE", + "AmazonShipping_SA", + "AmazonShipping_EG", + "AmazonShipping_IT", + "AmazonShipping_ES", + "AmazonShipping_FR", + "AmazonShipping_JP" + ], + "x-docgen-enum-table-extension": [ + { + "value": "AmazonShipping_US", + "description": "The United States Amazon shipping business." + }, + { + "value": "AmazonShipping_IN", + "description": "The India Amazon shipping business." + }, + { + "value": "AmazonShipping_UK", + "description": "The United Kingdom Amazon shipping business." + }, + { + "value": "AmazonShipping_UAE", + "description": "The United Arab Emirates Amazon shipping business." + }, + { + "value": "AmazonShipping_SA", + "description": "The Saudi Arabia Amazon shipping business." + }, + { + "value": "AmazonShipping_EG", + "description": "The Egypt Amazon shipping business." + }, + { + "value": "AmazonShipping_IT", + "description": "The Italy Amazon shipping business." + }, + { + "value": "AmazonShipping_ES", + "description": "The Spain Amazon shipping business." + }, + { + "value": "AmazonShipping_FR", + "description": "The France Amazon shipping business." + }, + { + "value": "AmazonShipping_JP", + "description": "The Japan Amazon shipping business." + } + ] + } + ], + "responses": { + "200": { + "description": "Success.", + "schema": { + "$ref": "#/definitions/OneClickShipmentResponse" + }, + "examples": { + "application/json": { + "shipmentId": "87852211788104", + "packageDocumentDetails": [ + { + "packageClientReferenceId": "#abcd", + "packageDocuments": [ + { + "type": "LABEL", + "format": "PNG", + "contents": "sdioadaiosfhdodsaiufhouafhoudfhdouahfac==" + } + ], + "trackingId": 1578648261977 + } + ], + "promise": { + "pickupWindow": { + "start": "2019-12-11T07:09:05.513Z", + "end": "2019-12-11T09:09:05.513Z" + }, + "deliveryWindow": { + "start": "2019-12-13T07:09:05.513Z", + "end": "2019-12-13T09:09:05.513Z" + } + }, + "carrier" : { + "id": "AMZN_UK", + "name": "Amazon Shipping" + }, + "service" : { + "id": "SWA-UK-PREM", + "name": "Amazon Shipping One Day" + }, + "totalCharge": { + "unit": "GBP", + "value": 4.76 + } + } + }, + "headers": { + "x-amzn-RateLimit-Limit": { + "type": "string", + "description": "Your rate limit (requests per second) for this operation." + }, + "x-amzn-RequestId": { + "type": "string", + "description": "Unique request reference identifier." + } + } + }, + "400": { + "description": "Request has missing or invalid parameters and cannot be parsed.", + "schema": { + "$ref": "#/definitions/ErrorList" + }, + "examples": { + "application/json": { + "errors": [ + { + "code": "InvalidRequest", + "message": "Request is missing or has invalid parameters", + "details": "ServiceId cannot be null" + } + ] + } + }, + "headers": { + "x-amzn-RateLimit-Limit": { + "type": "string", + "description": "Your rate limit (requests per second) for this operation." + }, + "x-amzn-RequestId": { + "type": "string", + "description": "Unique request reference identifier." + } + } + }, + "401": { + "description": "The request's Authorization header is not formatted correctly or does not contain a valid token.", + "schema": { + "$ref": "#/definitions/ErrorList" + }, + "examples": { + "application/json": { + "errors": [ + { + "code": "Unauthorized", + "message": "You don't have access to the requested response or the credentials are invalid." + } + ] + } + }, + "headers": { + "x-amzn-RateLimit-Limit": { + "type": "string", + "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." + }, + "x-amzn-RequestId": { + "type": "string", + "description": "Unique request reference identifier." + } + } + }, + "403": { + "description": "Indicates that access to the resource is forbidden. Possible reasons include Access Denied, Unauthorized, Expired Token, or Invalid Signature.", + "schema": { + "$ref": "#/definitions/ErrorList" + }, + "examples": { + "application/json": { + "errors": [ + { + "code": "Unauthorized", + "message": "You don't have access to the requested response or the credentials are invalid." + } + ] + } + }, + "headers": { + "x-amzn-RequestId": { + "type": "string", + "description": "Unique request reference identifier." + } + } + }, + "404": { + "description": "The resource specified does not exist.", + "schema": { + "$ref": "#/definitions/ErrorList" + }, + "examples": { + "application/json": { + "errors": [ + { + "code": "NotFound", + "message": "The requested resource is invalid or doesn't exist" + } + ] + } + }, + "headers": { + "x-amzn-RateLimit-Limit": { + "type": "string", + "description": "Your rate limit (requests per second) for this operation." + }, + "x-amzn-RequestId": { + "type": "string", + "description": "Unique request reference identifier." + } + } + }, + "413": { + "description": "The request size exceeded the maximum accepted size.", + "schema": { + "$ref": "#/definitions/ErrorList" + }, + "examples": { + "application/json": { + "errors": [ + { + "code": "InvalidRequest", + "message": "The request payload size is greater than maximum accepted size." + } + ] + } + }, + "headers": { + "x-amzn-RateLimit-Limit": { + "type": "string", + "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." + }, + "x-amzn-RequestId": { + "type": "string", + "description": "Unique request reference identifier." + } + } + }, + "415": { + "description": "The request payload is in an unsupported format.", + "schema": { + "$ref": "#/definitions/ErrorList" + }, + "examples": { + "application/json": { + "errors": [ + { + "code": "InvalidRequest", + "message": "The request payload format is not supported." + } + ] + } + }, + "headers": { + "x-amzn-RateLimit-Limit": { + "type": "string", + "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." + }, + "x-amzn-RequestId": { + "type": "string", + "description": "Unique request reference identifier." + } + } + }, + "429": { + "description": "The frequency of requests was greater than allowed.", + "schema": { + "$ref": "#/definitions/ErrorList" + }, + "examples": { + "application/json": { + "errors": [ + { + "code": "TooManyRequests", + "message": "The total number of requests exceeded your allowed limit." + } + ] + } + }, + "headers": { + "x-amzn-RateLimit-Limit": { + "type": "string", + "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." + }, + "x-amzn-RequestId": { + "type": "string", + "description": "Unique request reference identifier." + } + } + }, + "500": { + "description": "An unexpected condition occurred that prevented the server from fulfilling the request.", + "schema": { + "$ref": "#/definitions/ErrorList" + }, + "examples": { + "application/json": { + "errors": [ + { + "code": "InternalError", + "message": "Something went wrong while processing the request." + } + ] + } + }, + "headers": { + "x-amzn-RateLimit-Limit": { + "type": "string", + "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." + }, + "x-amzn-RequestId": { + "type": "string", + "description": "Unique request reference identifier." + } + } + }, + "503": { + "description": "Temporary overloading or maintenance of the server.", + "schema": { + "$ref": "#/definitions/ErrorList" + }, + "examples": { + "application/json": { + "errors": [ + { + "code": "ServiceUnavailable", + "message": "Service temporarily unavailable or down for maintenance. Please try again after sometime." + } + ] + } + }, + "headers": { + "x-amzn-RateLimit-Limit": { + "type": "string", + "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." + }, + "x-amzn-RequestId": { + "type": "string", + "description": "Unique request reference identifier." + } + } + } + }, + "x-amzn-api-sandbox": { + "dynamic": {} + } + }, + "parameters": [] + }, + "/shipping/v2/tracking": { + "get": { + "tags": [ + "shipping" + ], + "description": "Returns tracking information for a purchased shipment.\n\n**Usage Plan:**\n\n| Rate (requests per second) | Burst |\n| ---- | ---- |\n| 80 | 100 |\n\nThe `x-amzn-RateLimit-Limit` response header returns the usage plan rate limits that were applied to the requested operation, when available. The table above indicates the default rate and burst values for this operation. Selling partners whose business demands require higher throughput may see higher rate and burst values then those shown here. For more information, see [Usage Plans and Rate Limits in the Selling Partner API](https://developer-docs.amazon.com/sp-api/docs/usage-plans-and-rate-limits-in-the-sp-api).", + "operationId": "getTracking", + "parameters": [ + { + "name": "trackingId", + "in": "query", + "description": "A carrier-generated tracking identifier originally returned by the purchaseShipment operation.", + "required": true, + "type": "string" + }, + { + "name": "carrierId", + "in": "query", + "description": "A carrier identifier originally returned by the getRates operation for the selected rate.", + "required": true, + "type": "string" + }, + { + "name": "x-amzn-shipping-business-id", + "in": "header", + "description": "Amazon shipping business to assume for this request. The default is AmazonShipping_UK.", + "required": false, + "type": "string", + "enum": [ + "AmazonShipping_US", + "AmazonShipping_IN", + "AmazonShipping_UK", + "AmazonShipping_UAE", + "AmazonShipping_SA", + "AmazonShipping_EG", + "AmazonShipping_IT", + "AmazonShipping_ES", + "AmazonShipping_FR", + "AmazonShipping_JP" + ], + "x-docgen-enum-table-extension": [ + { + "value": "AmazonShipping_US", + "description": "The United States Amazon shipping business." + }, + { + "value": "AmazonShipping_IN", + "description": "The India Amazon shipping business." + }, + { + "value": "AmazonShipping_UK", + "description": "The United Kingdom Amazon shipping business." + }, + { + "value": "AmazonShipping_UAE", + "description": "The United Arab Emirates Amazon shipping business." + }, + { + "value": "AmazonShipping_SA", + "description": "The Saudi Arabia Amazon shipping business." + }, + { + "value": "AmazonShipping_EG", + "description": "The Egypt Amazon shipping business." + }, + { + "value": "AmazonShipping_IT", + "description": "The Italy Amazon shipping business." + }, + { + "value": "AmazonShipping_ES", + "description": "The Spain Amazon shipping business." + }, + { + "value": "AmazonShipping_FR", + "description": "The France Amazon shipping business." + }, + { + "value": "AmazonShipping_JP", + "description": "The Japan Amazon shipping business." + } + ] + } + ], + "responses": { + "200": { + "description": "Success.", + "schema": { + "$ref": "#/definitions/GetTrackingResponse" + }, + "examples": { + "application/json": { + "trackingId": "23AA47DE2B3B6", + "alternateLegTrackingId": "null", + "eventHistory": [ + { + "eventCode": "ReadyForReceive", + "location": { + "postalCode": "4883493", + "countryCode": "CC" + }, + "eventTime": "2019-12-11T07:09:05.513Z" + } + ], + "promisedDeliveryDate": "2019-12-12T13:09:05.513Z", + "summary": { + "status": "PreTransit" + } + } + }, + "headers": { + "x-amzn-RateLimit-Limit": { + "type": "string", + "description": "Your rate limit (requests per second) for this operation." + }, + "x-amzn-RequestId": { + "type": "string", + "description": "Unique request reference identifier." + } + } + }, + "400": { + "description": "Request has missing or invalid parameters and cannot be parsed.", + "schema": { + "$ref": "#/definitions/ErrorList" + }, + "examples": { + "application/json": { + "errors": [ + { + "code": "InvalidRequest", + "message": "Request is missing or has invalid parameters", + "details": "CarrierId is missing in the request" + } + ] + } + }, + "headers": { + "x-amzn-RateLimit-Limit": { + "type": "string", + "description": "Your rate limit (requests per second) for this operation." + }, + "x-amzn-RequestId": { + "type": "string", + "description": "Unique request reference identifier." + } + } + }, + "401": { + "description": "The request's Authorization header is not formatted correctly or does not contain a valid token.", + "schema": { + "$ref": "#/definitions/ErrorList" + }, + "examples": { + "application/json": { + "errors": [ + { + "code": "Unauthorized", + "message": "You don't have access to the requested response or the credentials are invalid." + } + ] + } + }, + "headers": { + "x-amzn-RateLimit-Limit": { + "type": "string", + "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." + }, + "x-amzn-RequestId": { + "type": "string", + "description": "Unique request reference identifier." + } + } + }, + "403": { + "description": "Indicates that access to the resource is forbidden. Possible reasons include Access Denied, Unauthorized, Expired Token, or Invalid Signature.", + "schema": { + "$ref": "#/definitions/ErrorList" + }, + "examples": { + "application/json": { + "errors": [ + { + "code": "Unauthorized", + "message": "You don't have access to the requested response or the credentials are invalid." + } + ] + } + }, + "headers": { + "x-amzn-RequestId": { + "type": "string", + "description": "Unique request reference identifier." + } + } + }, + "404": { + "description": "The resource specified does not exist.", + "schema": { + "$ref": "#/definitions/ErrorList" + }, + "examples": { + "application/json": { + "errors": [ + { + "code": "NotFound", + "message": "The requested resource is invalid or doesn't exist" + } + ] + } + }, + "headers": { + "x-amzn-RateLimit-Limit": { + "type": "string", + "description": "Your rate limit (requests per second) for this operation." + }, + "x-amzn-RequestId": { + "type": "string", + "description": "Unique request reference identifier." + } + } + }, + "413": { + "description": "The request size exceeded the maximum accepted size.", + "schema": { + "$ref": "#/definitions/ErrorList" + }, + "examples": { + "application/json": { + "errors": [ + { + "code": "InvalidRequest", + "message": "The request payload size is greater than maximum accepted size." + } + ] + } + }, + "headers": { + "x-amzn-RateLimit-Limit": { + "type": "string", + "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." + }, + "x-amzn-RequestId": { + "type": "string", + "description": "Unique request reference identifier." + } + } + }, + "415": { + "description": "The request payload is in an unsupported format.", + "schema": { + "$ref": "#/definitions/ErrorList" + }, + "examples": { + "application/json": { + "errors": [ + { + "code": "InvalidRequest", + "message": "The request payload format is not supported." + } + ] + } + }, + "headers": { + "x-amzn-RateLimit-Limit": { + "type": "string", + "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." + }, + "x-amzn-RequestId": { + "type": "string", + "description": "Unique request reference identifier." + } + } + }, + "429": { + "description": "The frequency of requests was greater than allowed.", + "schema": { + "$ref": "#/definitions/ErrorList" + }, + "examples": { + "application/json": { + "errors": [ + { + "code": "TooManyRequests", + "message": "The total number of requests exceeded your allowed limit." + } + ] + } + }, + "headers": { + "x-amzn-RateLimit-Limit": { + "type": "string", + "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." + }, + "x-amzn-RequestId": { + "type": "string", + "description": "Unique request reference identifier." + } + } + }, + "500": { + "description": "An unexpected condition occurred that prevented the server from fulfilling the request.", + "schema": { + "$ref": "#/definitions/ErrorList" + }, + "examples": { + "application/json": { + "errors": [ + { + "code": "InternalError", + "message": "Something went wrong while processing the request." + } + ] + } + }, + "headers": { + "x-amzn-RateLimit-Limit": { + "type": "string", + "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." + }, + "x-amzn-RequestId": { + "type": "string", + "description": "Unique request reference identifier." + } + } + }, + "503": { + "description": "Temporary overloading or maintenance of the server.", + "schema": { + "$ref": "#/definitions/ErrorList" + }, + "examples": { + "application/json": { + "errors": [ + { + "code": "ServiceUnavailable", + "message": "Service temporarily unavailable or down for maintenance. Please try again after sometime." + } + ] + } + }, + "headers": { + "x-amzn-RateLimit-Limit": { + "type": "string", + "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." + }, + "x-amzn-RequestId": { + "type": "string", + "description": "Unique request reference identifier." + } + } + } + }, + "x-amzn-api-sandbox": { + "dynamic": {} + } + }, + "parameters": [] + }, + "/shipping/v2/shipments/{shipmentId}/documents": { + "get": { + "tags": [ + "shipping" + ], + "description": "Returns the shipping documents associated with a package in a shipment.\n\n**Usage Plan:**\n\n| Rate (requests per second) | Burst |\n| ---- | ---- |\n| 80 | 100 |\n\nThe `x-amzn-RateLimit-Limit` response header returns the usage plan rate limits that were applied to the requested operation, when available. The table above indicates the default rate and burst values for this operation. Selling partners whose business demands require higher throughput may see higher rate and burst values then those shown here. For more information, see [Usage Plans and Rate Limits in the Selling Partner API](https://developer-docs.amazon.com/sp-api/docs/usage-plans-and-rate-limits-in-the-sp-api).", + "operationId": "getShipmentDocuments", + "parameters": [ + { + "name": "shipmentId", + "description":"The shipment identifier originally returned by the purchaseShipment operation.", + "in": "path", + "required": true, + "type": "string" + }, + { + "name": "packageClientReferenceId", + "in": "query", + "description": "The package client reference identifier originally provided in the request body parameter for the getRates operation.", + "required": true, + "type": "string" + }, + { + "name": "format", + "in": "query", + "description": "The file format of the document. Must be one of the supported formats returned by the getRates operation.", + "required": false, + "type": "string" + }, + { + "name": "dpi", + "in": "query", + "description": "The resolution of the document (for example, 300 means 300 dots per inch). Must be one of the supported resolutions returned in the response to the getRates operation.", + "required": false, + "type": "number" + }, + { + "name": "x-amzn-shipping-business-id", + "in": "header", + "description": "Amazon shipping business to assume for this request. The default is AmazonShipping_UK.", + "required": false, + "type": "string", + "enum": [ + "AmazonShipping_US", + "AmazonShipping_IN", + "AmazonShipping_UK", + "AmazonShipping_UAE", + "AmazonShipping_SA", + "AmazonShipping_EG", + "AmazonShipping_IT", + "AmazonShipping_ES", + "AmazonShipping_FR", + "AmazonShipping_JP" + ], + "x-docgen-enum-table-extension": [ + { + "value": "AmazonShipping_US", + "description": "The United States Amazon shipping business." + }, + { + "value": "AmazonShipping_IN", + "description": "The India Amazon shipping business." + }, + { + "value": "AmazonShipping_UK", + "description": "The United Kingdom Amazon shipping business." + }, + { + "value": "AmazonShipping_UAE", + "description": "The United Arab Emirates Amazon shipping business." + }, + { + "value": "AmazonShipping_SA", + "description": "The Saudi Arabia Amazon shipping business." + }, + { + "value": "AmazonShipping_EG", + "description": "The Egypt Amazon shipping business." + }, + { + "value": "AmazonShipping_IT", + "description": "The Italy Amazon shipping business." + }, + { + "value": "AmazonShipping_ES", + "description": "The Spain Amazon shipping business." + }, + { + "value": "AmazonShipping_FR", + "description": "The France Amazon shipping business." + }, + { + "value": "AmazonShipping_JP", + "description": "The Japan Amazon shipping business." + } + ] + } + ], + "responses": { + "200": { + "description": "Success.", + "schema": { + "$ref": "#/definitions/GetShipmentDocumentsResponse" + }, + "examples": { + "application/json": { + "shipmentId": "445454-3232-3232", + "packageDocumentDetail": { + "packageClientReferenceId": "ASUSDI-45343854", + "trackingId": "T1234567", + "packageDocuments": [ + { + "type": "LABEL", + "format": "PNG", + "contents": "sdioadaiosfhdodsaiufhouafhoudfhdouahfac==" + } + ] + } + } + }, + "headers": { + "x-amzn-RateLimit-Limit": { + "type": "string", + "description": "Your rate limit (requests per second) for this operation." + }, + "x-amzn-RequestId": { + "type": "string", + "description": "Unique request reference identifier." + } + } + }, + "400": { + "description": "Request has missing or invalid parameters and cannot be parsed.", + "schema": { + "$ref": "#/definitions/ErrorList" + }, + "examples": { + "application/json": { + "errors": [ + { + "code": "InvalidRequest", + "message": "Request is missing or has invalid parameters", + "details": "shipmentId is missing in the request" + } + ] + } + }, + "headers": { + "x-amzn-RateLimit-Limit": { + "type": "string", + "description": "Your rate limit (requests per second) for this operation." + }, + "x-amzn-RequestId": { + "type": "string", + "description": "Unique request reference identifier." + } + } + }, + "401": { + "description": "The request's Authorization header is not formatted correctly or does not contain a valid token.", + "schema": { + "$ref": "#/definitions/ErrorList" + }, + "examples": { + "application/json": { + "errors": [ + { + "code": "Unauthorized", + "message": "You don't have access to the requested response or the credentials are invalid." + } + ] + } + }, + "headers": { + "x-amzn-RateLimit-Limit": { + "type": "string", + "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." + }, + "x-amzn-RequestId": { + "type": "string", + "description": "Unique request reference identifier." + } + } + }, + "403": { + "description": "Indicates that access to the resource is forbidden. Possible reasons include Access Denied, Unauthorized, Expired Token, or Invalid Signature.", + "schema": { + "$ref": "#/definitions/ErrorList" + }, + "examples": { + "application/json": { + "errors": [ + { + "code": "Unauthorized", + "message": "You don't have access to the requested response or the credentials are invalid." + } + ] + } + }, + "headers": { + "x-amzn-RequestId": { + "type": "string", + "description": "Unique request reference identifier." + } + } + }, + "404": { + "description": "The resource specified does not exist.", + "schema": { + "$ref": "#/definitions/ErrorList" + }, + "examples": { + "application/json": { + "errors": [ + { + "code": "NotFound", + "message": "The requested resource is invalid or doesn't exist" + } + ] + } + }, + "headers": { + "x-amzn-RateLimit-Limit": { + "type": "string", + "description": "Your rate limit (requests per second) for this operation." + }, + "x-amzn-RequestId": { + "type": "string", + "description": "Unique request reference identifier." + } + } + }, + "413": { + "description": "The request size exceeded the maximum accepted size.", + "schema": { + "$ref": "#/definitions/ErrorList" + }, + "examples": { + "application/json": { + "errors": [ + { + "code": "InvalidRequest", + "message": "The request payload size is greater than maximum accepted size." + } + ] + } + }, + "headers": { + "x-amzn-RateLimit-Limit": { + "type": "string", + "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." + }, + "x-amzn-RequestId": { + "type": "string", + "description": "Unique request reference identifier." + } + } + }, + "415": { + "description": "The request payload is in an unsupported format.", + "schema": { + "$ref": "#/definitions/ErrorList" + }, + "examples": { + "application/json": { + "errors": [ + { + "code": "InvalidRequest", + "message": "The request payload format is not supported." + } + ] + } + }, + "headers": { + "x-amzn-RateLimit-Limit": { + "type": "string", + "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." + }, + "x-amzn-RequestId": { + "type": "string", + "description": "Unique request reference identifier." + } + } + }, + "429": { + "description": "The frequency of requests was greater than allowed.", + "schema": { + "$ref": "#/definitions/ErrorList" + }, + "examples": { + "application/json": { + "errors": [ + { + "code": "TooManyRequests", + "message": "The total number of requests exceeded your allowed limit." + } + ] + } + }, + "headers": { + "x-amzn-RateLimit-Limit": { + "type": "string", + "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." + }, + "x-amzn-RequestId": { + "type": "string", + "description": "Unique request reference identifier." + } + } + }, + "500": { + "description": "An unexpected condition occurred that prevented the server from fulfilling the request.", + "schema": { + "$ref": "#/definitions/ErrorList" + }, + "examples": { + "application/json": { + "errors": [ + { + "code": "InternalError", + "message": "Something went wrong while processing the request." + } + ] + } + }, + "headers": { + "x-amzn-RateLimit-Limit": { + "type": "string", + "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." + }, + "x-amzn-RequestId": { + "type": "string", + "description": "Unique request reference identifier." + } + } + }, + "503": { + "description": "Temporary overloading or maintenance of the server.", + "schema": { + "$ref": "#/definitions/ErrorList" + }, + "examples": { + "application/json": { + "errors": [ + { + "code": "ServiceUnavailable", + "message": "Service temporarily unavailable or down for maintenance. Please try again after sometime." + } + ] + } + }, + "headers": { + "x-amzn-RateLimit-Limit": { + "type": "string", + "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." + }, + "x-amzn-RequestId": { + "type": "string", + "description": "Unique request reference identifier." + } + } + } + }, + "x-amzn-api-sandbox": { + "dynamic": {} + } + }, + "parameters": [] + }, + "/shipping/v2/shipments/{shipmentId}/cancel": { + "put": { + "tags": [ + "shipping" + ], + "description": "Cancels a purchased shipment. Returns an empty object if the shipment is successfully cancelled.\n\n**Usage Plan:**\n\n| Rate (requests per second) | Burst |\n| ---- | ---- |\n| 80 | 100 |\n\nThe `x-amzn-RateLimit-Limit` response header returns the usage plan rate limits that were applied to the requested operation, when available. The table above indicates the default rate and burst values for this operation. Selling partners whose business demands require higher throughput may see higher rate and burst values then those shown here. For more information, see [Usage Plans and Rate Limits in the Selling Partner API](https://developer-docs.amazon.com/sp-api/docs/usage-plans-and-rate-limits-in-the-sp-api).", + "operationId": "cancelShipment", + "parameters": [ + { + "name": "shipmentId", + "description":"The shipment identifier originally returned by the purchaseShipment operation.", + "in": "path", + "required": true, + "type": "string" + }, + { + "name": "x-amzn-shipping-business-id", + "in": "header", + "description": "Amazon shipping business to assume for this request. The default is AmazonShipping_UK.", + "required": false, + "type": "string", + "enum": [ + "AmazonShipping_US", + "AmazonShipping_IN", + "AmazonShipping_UK", + "AmazonShipping_UAE", + "AmazonShipping_SA", + "AmazonShipping_EG", + "AmazonShipping_IT", + "AmazonShipping_ES", + "AmazonShipping_FR", + "AmazonShipping_JP" + ], + "x-docgen-enum-table-extension": [ + { + "value": "AmazonShipping_US", + "description": "The United States Amazon shipping business." + }, + { + "value": "AmazonShipping_IN", + "description": "The India Amazon shipping business." + }, + { + "value": "AmazonShipping_UK", + "description": "The United Kingdom Amazon shipping business." + }, + { + "value": "AmazonShipping_UAE", + "description": "The United Arab Emirates Amazon shipping business." + }, + { + "value": "AmazonShipping_SA", + "description": "The Saudi Arabia Amazon shipping business." + }, + { + "value": "AmazonShipping_EG", + "description": "The Egypt Amazon shipping business." + }, + { + "value": "AmazonShipping_IT", + "description": "The Italy Amazon shipping business." + }, + { + "value": "AmazonShipping_ES", + "description": "The Spain Amazon shipping business." + }, + { + "value": "AmazonShipping_FR", + "description": "The France Amazon shipping business." + }, + { + "value": "AmazonShipping_JP", + "description": "The Japan Amazon shipping business." + } + ] + } + ], + "responses": { + "200": { + "description": "Success.", + "schema": { + "$ref": "#/definitions/CancelShipmentResponse" + }, + "examples": { + "application/json": {} + }, + "headers": { + "x-amzn-RateLimit-Limit": { + "type": "string", + "description": "Your rate limit (requests per second) for this operation." + }, + "x-amzn-RequestId": { + "type": "string", + "description": "Unique request reference identifier." + } + } + }, + "400": { + "description": "Request has missing or invalid parameters and cannot be parsed.", + "schema": { + "$ref": "#/definitions/ErrorList" + }, + "examples": { + "application/json": { + "errors": [ + { + "code": "InvalidRequest", + "message": "Request is missing or has invalid parameters", + "details": "ShipmentId cannot be null" + } + ] + } + }, + "headers": { + "x-amzn-RateLimit-Limit": { + "type": "string", + "description": "Your rate limit (requests per second) for this operation." + }, + "x-amzn-RequestId": { + "type": "string", + "description": "Unique request reference identifier." + } + } + }, + "401": { + "description": "The request's Authorization header is not formatted correctly or does not contain a valid token.", + "schema": { + "$ref": "#/definitions/ErrorList" + }, + "examples": { + "application/json": { + "errors": [ + { + "code": "Unauthorized", + "message": "You don't have access to the requested response or the credentials are invalid." + } + ] + } + }, + "headers": { + "x-amzn-RateLimit-Limit": { + "type": "string", + "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." + }, + "x-amzn-RequestId": { + "type": "string", + "description": "Unique request reference identifier." + } + } + }, + "403": { + "description": "Indicates that access to the resource is forbidden. Possible reasons include Access Denied, Unauthorized, Expired Token, or Invalid Signature.", + "schema": { + "$ref": "#/definitions/ErrorList" + }, + "examples": { + "application/json": { + "errors": [ + { + "code": "Unauthorized", + "message": "You don't have access to the requested response or the credentials are invalid." + } + ] + } + }, + "headers": { + "x-amzn-RequestId": { + "type": "string", + "description": "Unique request reference identifier." + } + } + }, + "404": { + "description": "The resource specified does not exist.", + "schema": { + "$ref": "#/definitions/ErrorList" + }, + "examples": { + "application/json": { + "errors": [ + { + "code": "NotFound", + "message": "The requested resource is invalid or doesn't exist" + } + ] + } + }, + "headers": { + "x-amzn-RateLimit-Limit": { + "type": "string", + "description": "Your rate limit (requests per second) for this operation." + }, + "x-amzn-RequestId": { + "type": "string", + "description": "Unique request reference identifier." + } + } + }, + "413": { + "description": "The request size exceeded the maximum accepted size.", + "schema": { + "$ref": "#/definitions/ErrorList" + }, + "examples": { + "application/json": { + "errors": [ + { + "code": "InvalidRequest", + "message": "The request payload size is greater than maximum accepted size." + } + ] + } + }, + "headers": { + "x-amzn-RateLimit-Limit": { + "type": "string", + "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." + }, + "x-amzn-RequestId": { + "type": "string", + "description": "Unique request reference identifier." + } + } + }, + "415": { + "description": "The request payload is in an unsupported format.", + "schema": { + "$ref": "#/definitions/ErrorList" + }, + "examples": { + "application/json": { + "errors": [ + { + "code": "InvalidRequest", + "message": "The request payload format is not supported." + } + ] + } + }, + "headers": { + "x-amzn-RateLimit-Limit": { + "type": "string", + "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." + }, + "x-amzn-RequestId": { + "type": "string", + "description": "Unique request reference identifier." + } + } + }, + "429": { + "description": "The frequency of requests was greater than allowed.", + "schema": { + "$ref": "#/definitions/ErrorList" + }, + "examples": { + "application/json": { + "errors": [ + { + "code": "TooManyRequests", + "message": "The total number of requests exceeded your allowed limit." + } + ] + } + }, + "headers": { + "x-amzn-RateLimit-Limit": { + "type": "string", + "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." + }, + "x-amzn-RequestId": { + "type": "string", + "description": "Unique request reference identifier." + } + } + }, + "500": { + "description": "An unexpected condition occurred that prevented the server from fulfilling the request.", + "schema": { + "$ref": "#/definitions/ErrorList" + }, + "examples": { + "application/json": { + "errors": [ + { + "code": "InternalError", + "message": "Something went wrong while processing the request." + } + ] + } + }, + "headers": { + "x-amzn-RateLimit-Limit": { + "type": "string", + "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." + }, + "x-amzn-RequestId": { + "type": "string", + "description": "Unique request reference identifier." + } + } + }, + "503": { + "description": "Temporary overloading or maintenance of the server.", + "schema": { + "$ref": "#/definitions/ErrorList" + }, + "examples": { + "application/json": { + "errors": [ + { + "code": "ServiceUnavailable", + "message": "Service temporarily unavailable or down for maintenance. Please try again after sometime." + } + ] + } + }, + "headers": { + "x-amzn-RateLimit-Limit": { + "type": "string", + "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." + }, + "x-amzn-RequestId": { + "type": "string", + "description": "Unique request reference identifier." + } + } + } + }, + "x-amzn-api-sandbox": { + "dynamic": {} + } + }, + "parameters": [] + }, + "/shipping/v2/shipments/additionalInputs/schema": { + "get": { + "tags": [ + "shipping" + ], + "description": "Returns the JSON schema to use for providing additional inputs when needed to purchase a shipping offering. Call the getAdditionalInputs operation when the response to a previous call to the getRates operation indicates that additional inputs are required for the rate (shipping offering) that you want to purchase.\n\n**Usage Plan:**\n\n| Rate (requests per second) | Burst |\n| ---- | ---- |\n| 80 | 100 |\n\nThe `x-amzn-RateLimit-Limit` response header returns the usage plan rate limits that were applied to the requested operation, when available. The table above indicates the default rate and burst values for this operation. Selling partners whose business demands require higher throughput may see higher rate and burst values then those shown here. For more information, see [Usage Plans and Rate Limits in the Selling Partner API](https://developer-docs.amazon.com/sp-api/docs/usage-plans-and-rate-limits-in-the-sp-api).", + "operationId": "getAdditionalInputs", + "parameters": [ + { + "name": "requestToken", + "in": "query", + "description": "The request token returned in the response to the getRates operation.", + "required": true, + "type": "string" + }, + { + "name": "rateId", + "in": "query", + "description": "The rate identifier for the shipping offering (rate) returned in the response to the getRates operation.", + "required": true, + "type": "string" + }, + { + "name": "x-amzn-shipping-business-id", + "in": "header", + "description": "Amazon shipping business to assume for this request. The default is AmazonShipping_UK.", + "required": false, + "type": "string", + "enum": [ + "AmazonShipping_US", + "AmazonShipping_IN", + "AmazonShipping_UK", + "AmazonShipping_UAE", + "AmazonShipping_SA", + "AmazonShipping_EG", + "AmazonShipping_IT", + "AmazonShipping_ES", + "AmazonShipping_FR", + "AmazonShipping_JP" + ], + "x-docgen-enum-table-extension": [ + { + "value": "AmazonShipping_US", + "description": "The United States Amazon shipping business." + }, + { + "value": "AmazonShipping_IN", + "description": "The India Amazon shipping business." + }, + { + "value": "AmazonShipping_UK", + "description": "The United Kingdom Amazon shipping business." + }, + { + "value": "AmazonShipping_UAE", + "description": "The United Arab Emirates Amazon shipping business." + }, + { + "value": "AmazonShipping_SA", + "description": "The Saudi Arabia Amazon shipping business." + }, + { + "value": "AmazonShipping_EG", + "description": "The Egypt Amazon shipping business." + }, + { + "value": "AmazonShipping_IT", + "description": "The Italy Amazon shipping business." + }, + { + "value": "AmazonShipping_ES", + "description": "The Spain Amazon shipping business." + }, + { + "value": "AmazonShipping_FR", + "description": "The France Amazon shipping business." + }, + { + "value": "AmazonShipping_JP", + "description": "The Japan Amazon shipping business." + } + ] + } + ], + "responses": { + "200": { + "description": "Success.", + "schema": { + "$ref": "#/definitions/GetAdditionalInputsResponse" + }, + "examples": { + "application/json": { + "payload": { + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "Additional inputs for Shipping Offering", + "type": "object", + "properties": { + "harmonizedSystemCode": { + "type": "string", + "description": "Harmonized System's commodity code for an item." + }, + "packageClientReferenceId": { + "type": "string", + "description": "Unique identifier for the item." + } + } + } + } + }, + "headers": { + "x-amzn-RateLimit-Limit": { + "type": "string", + "description": "Your rate limit (requests per second) for this operation." + }, + "x-amzn-RequestId": { + "type": "string", + "description": "Unique request reference identifier." + } + }, + "x-amzn-api-sandbox": { + "static": [ + { + "request": { + "parameters": { + "requestToken": { + "value": "amzn1.rq.123456789.101" + }, + "rateId": { + "value": "122324234543535321345436534321423423523452345" + } + } + }, + "response": { + "payload": { + } + } + } + ] + } + }, + "400": { + "description": "Request has missing or invalid parameters and cannot be parsed.", + "schema": { + "$ref": "#/definitions/ErrorList" + }, + "examples": { + "application/json": { + "errors": [ + { + "code": "InvalidRequest", + "message": "Request is missing or has invalid parameters", + "details": "RequestToken cannot be null" + } + ] + } + }, + "headers": { + "x-amzn-RateLimit-Limit": { + "type": "string", + "description": "Your rate limit (requests per second) for this operation." + }, + "x-amzn-RequestId": { + "type": "string", + "description": "Unique request reference identifier." + } + }, + "x-amzn-api-sandbox": { + "static": [ + { + "request": { + "parameters": { + "requestToken": { + "value": "null" + }, + "rateId": { + "value": "2314346237423894905834905890346890789075" + } + } + }, + "response": { + "errors": [ + { + "code": "InvalidRequest", + "message": "Request is missing or has invalid parameters", + "details": "RequestToken cannot be null" + } + ] + } + } + ] + } + }, + "401": { + "description": "The request's Authorization header is not formatted correctly or does not contain a valid token.", + "schema": { + "$ref": "#/definitions/ErrorList" + }, + "examples": { + "application/json": { + "errors": [ + { + "code": "Unauthorized", + "message": "You don't have access to the requested response or the credentials are invalid." + } + ] + } + }, + "headers": { + "x-amzn-RateLimit-Limit": { + "type": "string", + "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." + }, + "x-amzn-RequestId": { + "type": "string", + "description": "Unique request reference identifier." + } + } + }, + "403": { + "description": "Indicates that access to the resource is forbidden. Possible reasons include Access Denied, Unauthorized, Expired Token, or Invalid Signature.", + "schema": { + "$ref": "#/definitions/ErrorList" + }, + "examples": { + "application/json": { + "errors": [ + { + "code": "Unauthorized", + "message": "You don't have access to the requested response or the credentials are invalid." + } + ] + } + }, + "headers": { + "x-amzn-RequestId": { + "type": "string", + "description": "Unique request reference identifier." + } + } + }, + "404": { + "description": "The resource specified does not exist.", + "schema": { + "$ref": "#/definitions/ErrorList" + }, + "examples": { + "application/json": { + "errors": [ + { + "code": "NotFound", + "message": "The requested resource is invalid or doesn't exist" + } + ] + } + }, + "headers": { + "x-amzn-RateLimit-Limit": { + "type": "string", + "description": "Your rate limit (requests per second) for this operation." + }, + "x-amzn-RequestId": { + "type": "string", + "description": "Unique request reference identifier." + } + } + }, + "413": { + "description": "The request size exceeded the maximum accepted size.", + "schema": { + "$ref": "#/definitions/ErrorList" + }, + "examples": { + "application/json": { + "errors": [ + { + "code": "InvalidRequest", + "message": "The request payload size is greater than maximum accepted size." + } + ] + } + }, + "headers": { + "x-amzn-RateLimit-Limit": { + "type": "string", + "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." + }, + "x-amzn-RequestId": { + "type": "string", + "description": "Unique request reference identifier." + } + } + }, + "415": { + "description": "The request payload is in an unsupported format.", + "schema": { + "$ref": "#/definitions/ErrorList" + }, + "examples": { + "application/json": { + "errors": [ + { + "code": "InvalidRequest", + "message": "The request payload format is not supported." + } + ] + } + }, + "headers": { + "x-amzn-RateLimit-Limit": { + "type": "string", + "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." + }, + "x-amzn-RequestId": { + "type": "string", + "description": "Unique request reference identifier." + } + } + }, + "429": { + "description": "The frequency of requests was greater than allowed.", + "schema": { + "$ref": "#/definitions/ErrorList" + }, + "examples": { + "application/json": { + "errors": [ + { + "code": "TooManyRequests", + "message": "The total number of requests exceeded your allowed limit." + } + ] + } + }, + "headers": { + "x-amzn-RateLimit-Limit": { + "type": "string", + "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." + }, + "x-amzn-RequestId": { + "type": "string", + "description": "Unique request reference identifier." + } + } + }, + "500": { + "description": "An unexpected condition occurred that prevented the server from fulfilling the request.", + "schema": { + "$ref": "#/definitions/ErrorList" + }, + "examples": { + "application/json": { + "errors": [ + { + "code": "InternalError", + "message": "Something went wrong while processing the request." + } + ] + } + }, + "headers": { + "x-amzn-RateLimit-Limit": { + "type": "string", + "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." + }, + "x-amzn-RequestId": { + "type": "string", + "description": "Unique request reference identifier." + } + } + }, + "503": { + "description": "Temporary overloading or maintenance of the server.", + "schema": { + "$ref": "#/definitions/ErrorList" + }, + "examples": { + "application/json": { + "errors": [ + { + "code": "ServiceUnavailable", + "message": "Service temporarily unavailable or down for maintenance. Please try again after sometime." + } + ] + } + }, + "headers": { + "x-amzn-RateLimit-Limit": { + "type": "string", + "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." + }, + "x-amzn-RequestId": { + "type": "string", + "description": "Unique request reference identifier." + } + } + } + } + }, + "parameters": [] + }, + "/shipping/v2/carrierAccountFormInputs": { + "get": { + "tags": [ + "shipping" + ], + "description": "This API will return a list of input schema required to register a shipper account with the carrier. \n\n**Usage Plan:**\n\n| Rate (requests per second) | Burst |\n| ---- | ---- |\n| 80 | 100 |\n\nThe `x-amzn-RateLimit-Limit` response header returns the usage plan rate limits that were applied to the requested operation, when available. The table above indicates the default rate and burst values for this operation. Selling partners whose business demands require higher throughput may see higher rate and burst values then those shown here. For more information, see [Usage Plans and Rate Limits in the Selling Partner API](https://developer-docs.amazon.com/sp-api/docs/usage-plans-and-rate-limits-in-the-sp-api).", + "operationId": "getCarrierAccountFormInputs", + "parameters": [ + { + "name": "x-amzn-shipping-business-id", + "in": "header", + "description": "Amazon shipping business to assume for this request. The default is AmazonShipping_UK.", + "required": false, + "type": "string", + "enum": [ + "AmazonShipping_US", + "AmazonShipping_IN", + "AmazonShipping_UK", + "AmazonShipping_UAE", + "AmazonShipping_SA", + "AmazonShipping_EG", + "AmazonShipping_IT", + "AmazonShipping_ES", + "AmazonShipping_FR", + "AmazonShipping_JP" + ], + "x-docgen-enum-table-extension": [ + { + "value": "AmazonShipping_US", + "description": "The United States Amazon shipping business." + }, + { + "value": "AmazonShipping_IN", + "description": "The India Amazon shipping business." + }, + { + "value": "AmazonShipping_UK", + "description": "The United Kingdom Amazon shipping business." + }, + { + "value": "AmazonShipping_UAE", + "description": "The United Arab Emirates Amazon shipping business." + }, + { + "value": "AmazonShipping_SA", + "description": "The Saudi Arabia Amazon shipping business." + }, + { + "value": "AmazonShipping_EG", + "description": "The Egypt Amazon shipping business." + }, + { + "value": "AmazonShipping_IT", + "description": "The Italy Amazon shipping business." + }, + { + "value": "AmazonShipping_ES", + "description": "The Spain Amazon shipping business." + }, + { + "value": "AmazonShipping_FR", + "description": "The France Amazon shipping business." + }, + { + "value": "AmazonShipping_JP", + "description": "The Japan Amazon shipping business." + } + ] + } + ], + "responses": { + "200": { + "description": "Success.", + "schema": { + "$ref": "#/definitions/GetCarrierAccountFormInputsResponse" + }, + "examples": { + "application/json": { + "linkableCarriers":[ + { + "carrierId":"FedEx", + "linkableAccountTypes":[ + { + "accountTypeId":"", + "carrierAccountInputs":[ + { + "descriptionLocalizationKey": "accountNumberDescriptionString", + "inputType": "TEXTBOX", + "isConfidential": true, + "isHidden": false, + "isMandatory": true, + "name": "ACCOUNT_NUMBER", + "validationMetadata": + [ + {"errorMessage": "stringId4", + "validationStrategy": "MIN_LENGTH", + "value": "5"}, + {"errorMessage": "stringId5", + "validationStrategy": "MAX_LENGTH", + "value": "35"} + ] + } + ] + } + ] + } + ] + } + }, + "headers": { + "x-amzn-RateLimit-Limit": { + "type": "string", + "description": "Your rate limit (requests per second) for this operation." + }, + "x-amzn-RequestId": { + "type": "string", + "description": "Unique request reference identifier." + } + } + }, + "400": { + "description": "Request has missing or invalid parameters and cannot be parsed.", + "schema": { + "$ref": "#/definitions/ErrorList" + }, + "examples": { + "application/json": { + "errors": [ + { + "code": "InvalidRequest", + "message": "Request is missing or has invalid parameters", + "details": "RequestToken cannot be null" + } + ] + } + }, + "headers": { + "x-amzn-RateLimit-Limit": { + "type": "string", + "description": "Your rate limit (requests per second) for this operation." + }, + "x-amzn-RequestId": { + "type": "string", + "description": "Unique request reference identifier." + } + } + }, + "401": { + "description": "The request's Authorization header is not formatted correctly or does not contain a valid token.", + "schema": { + "$ref": "#/definitions/ErrorList" + }, + "examples": { + "application/json": { + "errors": [ + { + "code": "Unauthorized", + "message": "You don't have access to the requested response or the credentials are invalid." + } + ] + } + }, + "headers": { + "x-amzn-RateLimit-Limit": { + "type": "string", + "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." + }, + "x-amzn-RequestId": { + "type": "string", + "description": "Unique request reference identifier." + } + } + }, + "403": { + "description": "Indicates that access to the resource is forbidden. Possible reasons include Access Denied, Unauthorized, Expired Token, or Invalid Signature.", + "schema": { + "$ref": "#/definitions/ErrorList" + }, + "examples": { + "application/json": { + "errors": [ + { + "code": "Unauthorized", + "message": "You don't have access to the requested response or the credentials are invalid." + } + ] + } + }, + "headers": { + "x-amzn-RequestId": { + "type": "string", + "description": "Unique request reference identifier." + } + } + }, + "404": { + "description": "The resource specified does not exist.", + "schema": { + "$ref": "#/definitions/ErrorList" + }, + "examples": { + "application/json": { + "errors": [ + { + "code": "NotFound", + "message": "The requested resource is invalid or doesn't exist" + } + ] + } + }, + "headers": { + "x-amzn-RateLimit-Limit": { + "type": "string", + "description": "Your rate limit (requests per second) for this operation." + }, + "x-amzn-RequestId": { + "type": "string", + "description": "Unique request reference identifier." + } + } + }, + "413": { + "description": "The request size exceeded the maximum accepted size.", + "schema": { + "$ref": "#/definitions/ErrorList" + }, + "examples": { + "application/json": { + "errors": [ + { + "code": "InvalidRequest", + "message": "The request payload size is greater than maximum accepted size." + } + ] + } + }, + "headers": { + "x-amzn-RateLimit-Limit": { + "type": "string", + "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." + }, + "x-amzn-RequestId": { + "type": "string", + "description": "Unique request reference identifier." + } + } + }, + "415": { + "description": "The request payload is in an unsupported format.", + "schema": { + "$ref": "#/definitions/ErrorList" + }, + "examples": { + "application/json": { + "errors": [ + { + "code": "InvalidRequest", + "message": "The request payload format is not supported." + } + ] + } + }, + "headers": { + "x-amzn-RateLimit-Limit": { + "type": "string", + "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." + }, + "x-amzn-RequestId": { + "type": "string", + "description": "Unique request reference identifier." + } + } + }, + "429": { + "description": "The frequency of requests was greater than allowed.", + "schema": { + "$ref": "#/definitions/ErrorList" + }, + "examples": { + "application/json": { + "errors": [ + { + "code": "TooManyRequests", + "message": "The total number of requests exceeded your allowed limit." + } + ] + } + }, + "headers": { + "x-amzn-RateLimit-Limit": { + "type": "string", + "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." + }, + "x-amzn-RequestId": { + "type": "string", + "description": "Unique request reference identifier." + } + } + }, + "500": { + "description": "An unexpected condition occurred that prevented the server from fulfilling the request.", + "schema": { + "$ref": "#/definitions/ErrorList" + }, + "examples": { + "application/json": { + "errors": [ + { + "code": "InternalError", + "message": "Something went wrong while processing the request." + } + ] + } + }, + "headers": { + "x-amzn-RateLimit-Limit": { + "type": "string", + "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." + }, + "x-amzn-RequestId": { + "type": "string", + "description": "Unique request reference identifier." + } + } + }, + "503": { + "description": "Temporary overloading or maintenance of the server.", + "schema": { + "$ref": "#/definitions/ErrorList" + }, + "examples": { + "application/json": { + "errors": [ + { + "code": "ServiceUnavailable", + "message": "Service temporarily unavailable or down for maintenance. Please try again after sometime." + } + ] + } + }, + "headers": { + "x-amzn-RateLimit-Limit": { + "type": "string", + "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." + }, + "x-amzn-RequestId": { + "type": "string", + "description": "Unique request reference identifier." + } + } + } + } + }, + "parameters": [] + }, + "/shipping/v2/carrierAccounts": { + "put": { + "tags": [ + "shipping" + ], + "description": "This API will return Get all carrier accounts for a merchant. \n\n**Usage Plan:**\n\n| Rate (requests per second) | Burst |\n| ---- | ---- |\n| 80 | 100 |\n\nThe `x-amzn-RateLimit-Limit` response header returns the usage plan rate limits that were applied to the requested operation, when available. The table above indicates the default rate and burst values for this operation. Selling partners whose business demands require higher throughput may see higher rate and burst values then those shown here. For more information, see [Usage Plans and Rate Limits in the Selling Partner API](https://developer-docs.amazon.com/sp-api/docs/usage-plans-and-rate-limits-in-the-sp-api).", + "operationId": "getCarrierAccounts", + "parameters": [ + { + "name": "body", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/GetCarrierAccountsRequest" + } + }, + { + "name": "x-amzn-shipping-business-id", + "in": "header", + "description": "Amazon shipping business to assume for this request. The default is AmazonShipping_UK.", + "required": false, + "type": "string", + "enum": [ + "AmazonShipping_US", + "AmazonShipping_IN", + "AmazonShipping_UK", + "AmazonShipping_UAE", + "AmazonShipping_SA", + "AmazonShipping_EG", + "AmazonShipping_IT", + "AmazonShipping_ES", + "AmazonShipping_FR", + "AmazonShipping_JP" + ], + "x-docgen-enum-table-extension": [ + { + "value": "AmazonShipping_US", + "description": "The United States Amazon shipping business." + }, + { + "value": "AmazonShipping_IN", + "description": "The India Amazon shipping business." + }, + { + "value": "AmazonShipping_UK", + "description": "The United Kingdom Amazon shipping business." + }, + { + "value": "AmazonShipping_UAE", + "description": "The United Arab Emirates Amazon shipping business." + }, + { + "value": "AmazonShipping_SA", + "description": "The Saudi Arabia Amazon shipping business." + }, + { + "value": "AmazonShipping_EG", + "description": "The Egypt Amazon shipping business." + }, + { + "value": "AmazonShipping_IT", + "description": "The Italy Amazon shipping business." + }, + { + "value": "AmazonShipping_ES", + "description": "The Spain Amazon shipping business." + }, + { + "value": "AmazonShipping_FR", + "description": "The France Amazon shipping business." + }, + { + "value": "AmazonShipping_JP", + "description": "The Japan Amazon shipping business." + } + ] + } + ], + "responses": { + "200": { + "description": "Success.", + "schema": { + "$ref": "#/definitions/GetCarrierAccountsResponse" + }, + "examples": { + "application/json": { + "activeAccounts":[ + { + "accountId":"XX", + "carrierId":"FedEx" + } + ] + } + }, + "headers": { + "x-amzn-RateLimit-Limit": { + "type": "string", + "description": "Your rate limit (requests per second) for this operation." + }, + "x-amzn-RequestId": { + "type": "string", + "description": "Unique request reference identifier." + } + } + }, + "400": { + "description": "Request has missing or invalid parameters and cannot be parsed.", + "schema": { + "$ref": "#/definitions/ErrorList" + }, + "examples": { + "application/json": { + "errors": [ + { + "code": "InvalidRequest", + "message": "Request is missing or has invalid parameters", + "details": "RequestToken cannot be null" + } + ] + } + }, + "headers": { + "x-amzn-RateLimit-Limit": { + "type": "string", + "description": "Your rate limit (requests per second) for this operation." + }, + "x-amzn-RequestId": { + "type": "string", + "description": "Unique request reference identifier." + } + } + }, + "401": { + "description": "The request's Authorization header is not formatted correctly or does not contain a valid token.", + "schema": { + "$ref": "#/definitions/ErrorList" + }, + "examples": { + "application/json": { + "errors": [ + { + "code": "Unauthorized", + "message": "You don't have access to the requested response or the credentials are invalid." + } + ] + } + }, + "headers": { + "x-amzn-RateLimit-Limit": { + "type": "string", + "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." + }, + "x-amzn-RequestId": { + "type": "string", + "description": "Unique request reference identifier." + } + } + }, + "403": { + "description": "Indicates that access to the resource is forbidden. Possible reasons include Access Denied, Unauthorized, Expired Token, or Invalid Signature.", + "schema": { + "$ref": "#/definitions/ErrorList" + }, + "examples": { + "application/json": { + "errors": [ + { + "code": "Unauthorized", + "message": "You don't have access to the requested response or the credentials are invalid." + } + ] + } + }, + "headers": { + "x-amzn-RequestId": { + "type": "string", + "description": "Unique request reference identifier." + } + } + }, + "404": { + "description": "The resource specified does not exist.", + "schema": { + "$ref": "#/definitions/ErrorList" + }, + "examples": { + "application/json": { + "errors": [ + { + "code": "NotFound", + "message": "The requested resource is invalid or doesn't exist" + } + ] + } + }, + "headers": { + "x-amzn-RateLimit-Limit": { + "type": "string", + "description": "Your rate limit (requests per second) for this operation." + }, + "x-amzn-RequestId": { + "type": "string", + "description": "Unique request reference identifier." + } + } + }, + "413": { + "description": "The request size exceeded the maximum accepted size.", + "schema": { + "$ref": "#/definitions/ErrorList" + }, + "examples": { + "application/json": { + "errors": [ + { + "code": "InvalidRequest", + "message": "The request payload size is greater than maximum accepted size." + } + ] + } + }, + "headers": { + "x-amzn-RateLimit-Limit": { + "type": "string", + "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." + }, + "x-amzn-RequestId": { + "type": "string", + "description": "Unique request reference identifier." + } + } + }, + "415": { + "description": "The request payload is in an unsupported format.", + "schema": { + "$ref": "#/definitions/ErrorList" + }, + "examples": { + "application/json": { + "errors": [ + { + "code": "InvalidRequest", + "message": "The request payload format is not supported." + } + ] + } + }, + "headers": { + "x-amzn-RateLimit-Limit": { + "type": "string", + "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." + }, + "x-amzn-RequestId": { + "type": "string", + "description": "Unique request reference identifier." + } + } + }, + "429": { + "description": "The frequency of requests was greater than allowed.", + "schema": { + "$ref": "#/definitions/ErrorList" + }, + "examples": { + "application/json": { + "errors": [ + { + "code": "TooManyRequests", + "message": "The total number of requests exceeded your allowed limit." + } + ] + } + }, + "headers": { + "x-amzn-RateLimit-Limit": { + "type": "string", + "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." + }, + "x-amzn-RequestId": { + "type": "string", + "description": "Unique request reference identifier." + } + } + }, + "500": { + "description": "An unexpected condition occurred that prevented the server from fulfilling the request.", + "schema": { + "$ref": "#/definitions/ErrorList" + }, + "examples": { + "application/json": { + "errors": [ + { + "code": "InternalError", + "message": "Something went wrong while processing the request." + } + ] + } + }, + "headers": { + "x-amzn-RateLimit-Limit": { + "type": "string", + "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." + }, + "x-amzn-RequestId": { + "type": "string", + "description": "Unique request reference identifier." + } + } + }, + "503": { + "description": "Temporary overloading or maintenance of the server.", + "schema": { + "$ref": "#/definitions/ErrorList" + }, + "examples": { + "application/json": { + "errors": [ + { + "code": "ServiceUnavailable", + "message": "Service temporarily unavailable or down for maintenance. Please try again after sometime." + } + ] + } + }, + "headers": { + "x-amzn-RateLimit-Limit": { + "type": "string", + "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." + }, + "x-amzn-RequestId": { + "type": "string", + "description": "Unique request reference identifier." + } + } + } + } + }, + "parameters": [] + }, + "/shipping/v2/carrierAccounts/{carrierId}": { + "put": { + "tags": [ + "shipping" + ], + "description": "This API associates/links the specified carrier account with the merchant. \n\n**Usage Plan:**\n\n| Rate (requests per second) | Burst |\n| ---- | ---- |\n| 80 | 100 |\n\nThe `x-amzn-RateLimit-Limit` response header returns the usage plan rate limits that were applied to the requested operation, when available. The table above indicates the default rate and burst values for this operation. Selling partners whose business demands require higher throughput may see higher rate and burst values then those shown here. For more information, see [Usage Plans and Rate Limits in the Selling Partner API](https://developer-docs.amazon.com/sp-api/docs/usage-plans-and-rate-limits-in-the-sp-api).", + "operationId": "linkCarrierAccount", + "parameters": [ + { + "name": "carrierId", + "description": "The unique identifier associated with the carrier account.", + "in": "path", + "required": true, + "type": "string" + }, + { + "name": "body", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/LinkCarrierAccountRequest" + } + }, + { + "name": "x-amzn-shipping-business-id", + "in": "header", + "description": "Amazon shipping business to assume for this request. The default is AmazonShipping_UK.", + "required": false, + "type": "string", + "enum": [ + "AmazonShipping_US", + "AmazonShipping_IN", + "AmazonShipping_UK", + "AmazonShipping_UAE", + "AmazonShipping_SA", + "AmazonShipping_EG", + "AmazonShipping_IT", + "AmazonShipping_ES", + "AmazonShipping_FR", + "AmazonShipping_JP" + ], + "x-docgen-enum-table-extension": [ + { + "value": "AmazonShipping_US", + "description": "The United States Amazon shipping business." + }, + { + "value": "AmazonShipping_IN", + "description": "The India Amazon shipping business." + }, + { + "value": "AmazonShipping_UK", + "description": "The United Kingdom Amazon shipping business." + }, + { + "value": "AmazonShipping_UAE", + "description": "The United Arab Emirates Amazon shipping business." + }, + { + "value": "AmazonShipping_SA", + "description": "The Saudi Arabia Amazon shipping business." + }, + { + "value": "AmazonShipping_EG", + "description": "The Egypt Amazon shipping business." + }, + { + "value": "AmazonShipping_IT", + "description": "The Italy Amazon shipping business." + }, + { + "value": "AmazonShipping_ES", + "description": "The Spain Amazon shipping business." + }, + { + "value": "AmazonShipping_FR", + "description": "The France Amazon shipping business." + }, + { + "value": "AmazonShipping_JP", + "description": "The Japan Amazon shipping business." + } + ] + } + ], + "responses": { + "200": { + "description": "Success.", + "schema": { + "$ref": "#/definitions/LinkCarrierAccountResponse" + }, + "examples": { + "application/json": { + "registrationStatus": "ACTIVE" + } + }, + "headers": { + "x-amzn-RateLimit-Limit": { + "type": "string", + "description": "Your rate limit (requests per second) for this operation." + }, + "x-amzn-RequestId": { + "type": "string", + "description": "Unique request reference identifier." + } + } + }, + "400": { + "description": "Request has missing or invalid parameters and cannot be parsed.", + "schema": { + "$ref": "#/definitions/ErrorList" + }, + "examples": { + "application/json": { + "errors": [ + { + "code": "InvalidRequest", + "message": "Request is missing or has invalid parameters", + "details": "RequestToken cannot be null" + } + ] + } + }, + "headers": { + "x-amzn-RateLimit-Limit": { + "type": "string", + "description": "Your rate limit (requests per second) for this operation." + }, + "x-amzn-RequestId": { + "type": "string", + "description": "Unique request reference identifier." + } + } + }, + "401": { + "description": "The request's Authorization header is not formatted correctly or does not contain a valid token.", + "schema": { + "$ref": "#/definitions/ErrorList" + }, + "examples": { + "application/json": { + "errors": [ + { + "code": "Unauthorized", + "message": "You don't have access to the requested response or the credentials are invalid." + } + ] + } + }, + "headers": { + "x-amzn-RateLimit-Limit": { + "type": "string", + "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." + }, + "x-amzn-RequestId": { + "type": "string", + "description": "Unique request reference identifier." + } + } + }, + "403": { + "description": "Indicates that access to the resource is forbidden. Possible reasons include Access Denied, Unauthorized, Expired Token, or Invalid Signature.", + "schema": { + "$ref": "#/definitions/ErrorList" + }, + "examples": { + "application/json": { + "errors": [ + { + "code": "Unauthorized", + "message": "You don't have access to the requested response or the credentials are invalid." + } + ] + } + }, + "headers": { + "x-amzn-RequestId": { + "type": "string", + "description": "Unique request reference identifier." + } + } + }, + "404": { + "description": "The resource specified does not exist.", + "schema": { + "$ref": "#/definitions/ErrorList" + }, + "examples": { + "application/json": { + "errors": [ + { + "code": "NotFound", + "message": "The requested resource is invalid or doesn't exist" + } + ] + } + }, + "headers": { + "x-amzn-RateLimit-Limit": { + "type": "string", + "description": "Your rate limit (requests per second) for this operation." + }, + "x-amzn-RequestId": { + "type": "string", + "description": "Unique request reference identifier." + } + } + }, + "413": { + "description": "The request size exceeded the maximum accepted size.", + "schema": { + "$ref": "#/definitions/ErrorList" + }, + "examples": { + "application/json": { + "errors": [ + { + "code": "InvalidRequest", + "message": "The request payload size is greater than maximum accepted size." + } + ] + } + }, + "headers": { + "x-amzn-RateLimit-Limit": { + "type": "string", + "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." + }, + "x-amzn-RequestId": { + "type": "string", + "description": "Unique request reference identifier." + } + } + }, + "415": { + "description": "The request payload is in an unsupported format.", + "schema": { + "$ref": "#/definitions/ErrorList" + }, + "examples": { + "application/json": { + "errors": [ + { + "code": "InvalidRequest", + "message": "The request payload format is not supported." + } + ] + } + }, + "headers": { + "x-amzn-RateLimit-Limit": { + "type": "string", + "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." + }, + "x-amzn-RequestId": { + "type": "string", + "description": "Unique request reference identifier." + } + } + }, + "429": { + "description": "The frequency of requests was greater than allowed.", + "schema": { + "$ref": "#/definitions/ErrorList" + }, + "examples": { + "application/json": { + "errors": [ + { + "code": "TooManyRequests", + "message": "The total number of requests exceeded your allowed limit." + } + ] + } + }, + "headers": { + "x-amzn-RateLimit-Limit": { + "type": "string", + "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." + }, + "x-amzn-RequestId": { + "type": "string", + "description": "Unique request reference identifier." + } + } + }, + "500": { + "description": "An unexpected condition occurred that prevented the server from fulfilling the request.", + "schema": { + "$ref": "#/definitions/ErrorList" + }, + "examples": { + "application/json": { + "errors": [ + { + "code": "InternalError", + "message": "Something went wrong while processing the request." + } + ] + } + }, + "headers": { + "x-amzn-RateLimit-Limit": { + "type": "string", + "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." + }, + "x-amzn-RequestId": { + "type": "string", + "description": "Unique request reference identifier." + } + } + }, + "503": { + "description": "Temporary overloading or maintenance of the server.", + "schema": { + "$ref": "#/definitions/ErrorList" + }, + "examples": { + "application/json": { + "errors": [ + { + "code": "ServiceUnavailable", + "message": "Service temporarily unavailable or down for maintenance. Please try again after sometime." + } + ] + } + }, + "headers": { + "x-amzn-RateLimit-Limit": { + "type": "string", + "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." + }, + "x-amzn-RequestId": { + "type": "string", + "description": "Unique request reference identifier." + } + } + } + } + }, + "parameters": [] + }, + "/shipping/v2/carrierAccounts/{carrierId}/unlink": { + "put": { + "tags": [ + "shipping" + ], + "description": "This API Unlink the specified carrier account with the merchant. \n\n**Usage Plan:**\n\n| Rate (requests per second) | Burst |\n| ---- | ---- |\n| 80 | 100 |\n\nThe `x-amzn-RateLimit-Limit` response header returns the usage plan rate limits that were applied to the requested operation, when available. The table above indicates the default rate and burst values for this operation. Selling partners whose business demands require higher throughput may see higher rate and burst values then those shown here. For more information, see [Usage Plans and Rate Limits in the Selling Partner API](https://developer-docs.amazon.com/sp-api/docs/usage-plans-and-rate-limits-in-the-sp-api).", + "operationId": "unlinkCarrierAccount", + "parameters": [ + { + "name": "carrierId", + "description":"carrier Id to unlink with merchant.", + "in": "path", + "required": true, + "type": "string" + }, + { + "name": "body", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/UnlinkCarrierAccountRequest" + } + }, + { + "name": "x-amzn-shipping-business-id", + "in": "header", + "description": "Amazon shipping business to assume for this request. The default is AmazonShipping_UK.", + "required": false, + "type": "string", + "enum": [ + "AmazonShipping_US", + "AmazonShipping_IN", + "AmazonShipping_UK", + "AmazonShipping_UAE", + "AmazonShipping_SA", + "AmazonShipping_EG", + "AmazonShipping_IT", + "AmazonShipping_ES", + "AmazonShipping_FR", + "AmazonShipping_JP" + ], + "x-docgen-enum-table-extension": [ + { + "value": "AmazonShipping_US", + "description": "The United States Amazon shipping business." + }, + { + "value": "AmazonShipping_IN", + "description": "The India Amazon shipping business." + }, + { + "value": "AmazonShipping_UK", + "description": "The United Kingdom Amazon shipping business." + }, + { + "value": "AmazonShipping_UAE", + "description": "The United Arab Emirates Amazon shipping business." + }, + { + "value": "AmazonShipping_SA", + "description": "The Saudi Arabia Amazon shipping business." + }, + { + "value": "AmazonShipping_EG", + "description": "The Egypt Amazon shipping business." + }, + { + "value": "AmazonShipping_IT", + "description": "The Italy Amazon shipping business." + }, + { + "value": "AmazonShipping_ES", + "description": "The Spain Amazon shipping business." + }, + { + "value": "AmazonShipping_FR", + "description": "The France Amazon shipping business." + }, + { + "value": "AmazonShipping_JP", + "description": "The Japan Amazon shipping business." + } + ] + } + ], + "responses": { + "200": { + "description": "Success.", + "schema": { + "$ref": "#/definitions/UnlinkCarrierAccountResponse" + }, + "examples": { + "application/json": { + "merchantId": "", + "isUnlinked": true + } + }, + "headers": { + "x-amzn-RateLimit-Limit": { + "type": "string", + "description": "Your rate limit (requests per second) for this operation." + }, + "x-amzn-RequestId": { + "type": "string", + "description": "Unique request reference identifier." + } + } + }, + "400": { + "description": "Request has missing or invalid parameters and cannot be parsed.", + "schema": { + "$ref": "#/definitions/ErrorList" + }, + "examples": { + "application/json": { + "errors": [ + { + "code": "InvalidRequest", + "message": "Request is missing or has invalid parameters", + "details": "RequestToken cannot be null" + } + ] + } + }, + "headers": { + "x-amzn-RateLimit-Limit": { + "type": "string", + "description": "Your rate limit (requests per second) for this operation." + }, + "x-amzn-RequestId": { + "type": "string", + "description": "Unique request reference identifier." + } + } + }, + "401": { + "description": "The request's Authorization header is not formatted correctly or does not contain a valid token.", + "schema": { + "$ref": "#/definitions/ErrorList" + }, + "examples": { + "application/json": { + "errors": [ + { + "code": "Unauthorized", + "message": "You don't have access to the requested response or the credentials are invalid." + } + ] + } + }, + "headers": { + "x-amzn-RateLimit-Limit": { + "type": "string", + "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." + }, + "x-amzn-RequestId": { + "type": "string", + "description": "Unique request reference identifier." + } + } + }, + "403": { + "description": "Indicates that access to the resource is forbidden. Possible reasons include Access Denied, Unauthorized, Expired Token, or Invalid Signature.", + "schema": { + "$ref": "#/definitions/ErrorList" + }, + "examples": { + "application/json": { + "errors": [ + { + "code": "Unauthorized", + "message": "You don't have access to the requested response or the credentials are invalid." + } + ] + } + }, + "headers": { + "x-amzn-RequestId": { + "type": "string", + "description": "Unique request reference identifier." + } + } + }, + "404": { + "description": "The resource specified does not exist.", + "schema": { + "$ref": "#/definitions/ErrorList" + }, + "examples": { + "application/json": { + "errors": [ + { + "code": "NotFound", + "message": "The requested resource is invalid or doesn't exist" + } + ] + } + }, + "headers": { + "x-amzn-RateLimit-Limit": { + "type": "string", + "description": "Your rate limit (requests per second) for this operation." + }, + "x-amzn-RequestId": { + "type": "string", + "description": "Unique request reference identifier." + } + } + }, + "413": { + "description": "The request size exceeded the maximum accepted size.", + "schema": { + "$ref": "#/definitions/ErrorList" + }, + "examples": { + "application/json": { + "errors": [ + { + "code": "InvalidRequest", + "message": "The request payload size is greater than maximum accepted size." + } + ] + } + }, + "headers": { + "x-amzn-RateLimit-Limit": { + "type": "string", + "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." + }, + "x-amzn-RequestId": { + "type": "string", + "description": "Unique request reference identifier." + } + } + }, + "415": { + "description": "The request payload is in an unsupported format.", + "schema": { + "$ref": "#/definitions/ErrorList" + }, + "examples": { + "application/json": { + "errors": [ + { + "code": "InvalidRequest", + "message": "The request payload format is not supported." + } + ] + } + }, + "headers": { + "x-amzn-RateLimit-Limit": { + "type": "string", + "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." + }, + "x-amzn-RequestId": { + "type": "string", + "description": "Unique request reference identifier." + } + } + }, + "429": { + "description": "The frequency of requests was greater than allowed.", + "schema": { + "$ref": "#/definitions/ErrorList" + }, + "examples": { + "application/json": { + "errors": [ + { + "code": "TooManyRequests", + "message": "The total number of requests exceeded your allowed limit." + } + ] + } + }, + "headers": { + "x-amzn-RateLimit-Limit": { + "type": "string", + "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." + }, + "x-amzn-RequestId": { + "type": "string", + "description": "Unique request reference identifier." + } + } + }, + "500": { + "description": "An unexpected condition occurred that prevented the server from fulfilling the request.", + "schema": { + "$ref": "#/definitions/ErrorList" + }, + "examples": { + "application/json": { + "errors": [ + { + "code": "InternalError", + "message": "Something went wrong while processing the request." + } + ] + } + }, + "headers": { + "x-amzn-RateLimit-Limit": { + "type": "string", + "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." + }, + "x-amzn-RequestId": { + "type": "string", + "description": "Unique request reference identifier." + } + } + }, + "503": { + "description": "Temporary overloading or maintenance of the server.", + "schema": { + "$ref": "#/definitions/ErrorList" + }, + "examples": { + "application/json": { + "errors": [ + { + "code": "ServiceUnavailable", + "message": "Service temporarily unavailable or down for maintenance. Please try again after sometime." + } + ] + } + }, + "headers": { + "x-amzn-RateLimit-Limit": { + "type": "string", + "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." + }, + "x-amzn-RequestId": { + "type": "string", + "description": "Unique request reference identifier." + } + } + } + } + }, + "parameters": [] + }, + "/shipping/v2/collectionForms": { + "post": { + "tags": [ + "shipping" + ], + "description": "This API Call to generate the collection form. \n\n**Usage Plan:**\n\n| Rate (requests per second) | Burst |\n| ---- | ---- |\n| 80 | 100 |\n\nThe `x-amzn-RateLimit-Limit` response header returns the usage plan rate limits that were applied to the requested operation, when available. The table above indicates the default rate and burst values for this operation. Selling partners whose business demands require higher throughput may see higher rate and burst values then those shown here. For more information, see [Usage Plans and Rate Limits in the Selling Partner API](https://developer-docs.amazon.com/sp-api/docs/usage-plans-and-rate-limits-in-the-sp-api).", + "operationId": "generateCollectionForm", + "parameters": [ + { + "name": "body", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/GenerateCollectionFormRequest" + } + }, + { + "name": "x-amzn-IdempotencyKey", + "description": "A unique value which the server uses to recognize subsequent retries of the same request.", + "in": "header", + "required": false, + "type": "string" + }, + { + "name": "x-amzn-shipping-business-id", + "in": "header", + "description": "Amazon shipping business to assume for this request. The default is AmazonShipping_UK.", + "required": false, + "type": "string", + "enum": [ + "AmazonShipping_US", + "AmazonShipping_IN", + "AmazonShipping_UK", + "AmazonShipping_UAE", + "AmazonShipping_SA", + "AmazonShipping_EG", + "AmazonShipping_IT", + "AmazonShipping_ES", + "AmazonShipping_FR", + "AmazonShipping_JP" + ], + "x-docgen-enum-table-extension": [ + { + "value": "AmazonShipping_US", + "description": "The United States Amazon shipping business." + }, + { + "value": "AmazonShipping_IN", + "description": "The India Amazon shipping business." + }, + { + "value": "AmazonShipping_UK", + "description": "The United Kingdom Amazon shipping business." + }, + { + "value": "AmazonShipping_UAE", + "description": "The United Arab Emirates Amazon shipping business." + }, + { + "value": "AmazonShipping_SA", + "description": "The Saudi Arabia Amazon shipping business." + }, + { + "value": "AmazonShipping_EG", + "description": "The Egypt Amazon shipping business." + }, + { + "value": "AmazonShipping_IT", + "description": "The Italy Amazon shipping business." + }, + { + "value": "AmazonShipping_ES", + "description": "The Spain Amazon shipping business." + }, + { + "value": "AmazonShipping_FR", + "description": "The France Amazon shipping business." + }, + { + "value": "AmazonShipping_JP", + "description": "The Japan Amazon shipping business." + } + ] + } + ], + "responses": { + "200": { + "description": "Success.", + "schema": { + "$ref": "#/definitions/GenerateCollectionFormResponse" + }, + "examples": { + "application/json": { + "collectionsFormDocument": + { + "base64EncodedContent": "VGhpcyBpcyBzb21lIHRleHQgdG8gY29udmVydCB2aWEgQ3J5cHQu", + "documentFormat": "application/pdf" + } + } + }, + "headers": { + "x-amzn-RateLimit-Limit": { + "type": "string", + "description": "Your rate limit (requests per second) for this operation." + }, + "x-amzn-RequestId": { + "type": "string", + "description": "Unique request reference identifier." + } + } + }, + "400": { + "description": "Request has missing or invalid parameters and cannot be parsed.", + "schema": { + "$ref": "#/definitions/ErrorList" + }, + "examples": { + "application/json": { + "errors": [ + { + "code": "InvalidRequest", + "message": "Request is missing or has invalid parameters", + "details": "RequestToken cannot be null" + } + ] + } + }, + "headers": { + "x-amzn-RateLimit-Limit": { + "type": "string", + "description": "Your rate limit (requests per second) for this operation." + }, + "x-amzn-RequestId": { + "type": "string", + "description": "Unique request reference identifier." + } + } + }, + "401": { + "description": "The request's Authorization header is not formatted correctly or does not contain a valid token.", + "schema": { + "$ref": "#/definitions/ErrorList" + }, + "examples": { + "application/json": { + "errors": [ + { + "code": "Unauthorized", + "message": "You don't have access to the requested response or the credentials are invalid." + } + ] + } + }, + "headers": { + "x-amzn-RateLimit-Limit": { + "type": "string", + "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." + }, + "x-amzn-RequestId": { + "type": "string", + "description": "Unique request reference identifier." + } + } + }, + "403": { + "description": "Indicates that access to the resource is forbidden. Possible reasons include Access Denied, Unauthorized, Expired Token, or Invalid Signature.", + "schema": { + "$ref": "#/definitions/ErrorList" + }, + "examples": { + "application/json": { + "errors": [ + { + "code": "Unauthorized", + "message": "You don't have access to the requested response or the credentials are invalid." + } + ] + } + }, + "headers": { + "x-amzn-RequestId": { + "type": "string", + "description": "Unique request reference identifier." + } + } + }, + "404": { + "description": "The resource specified does not exist.", + "schema": { + "$ref": "#/definitions/ErrorList" + }, + "examples": { + "application/json": { + "errors": [ + { + "code": "NotFound", + "message": "The requested resource is invalid or doesn't exist" + } + ] + } + }, + "headers": { + "x-amzn-RateLimit-Limit": { + "type": "string", + "description": "Your rate limit (requests per second) for this operation." + }, + "x-amzn-RequestId": { + "type": "string", + "description": "Unique request reference identifier." + } + } + }, + "413": { + "description": "The request size exceeded the maximum accepted size.", + "schema": { + "$ref": "#/definitions/ErrorList" + }, + "examples": { + "application/json": { + "errors": [ + { + "code": "InvalidRequest", + "message": "The request payload size is greater than maximum accepted size." + } + ] + } + }, + "headers": { + "x-amzn-RateLimit-Limit": { + "type": "string", + "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." + }, + "x-amzn-RequestId": { + "type": "string", + "description": "Unique request reference identifier." + } + } + }, + "415": { + "description": "The request payload is in an unsupported format.", + "schema": { + "$ref": "#/definitions/ErrorList" + }, + "examples": { + "application/json": { + "errors": [ + { + "code": "InvalidRequest", + "message": "The request payload format is not supported." + } + ] + } + }, + "headers": { + "x-amzn-RateLimit-Limit": { + "type": "string", + "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." + }, + "x-amzn-RequestId": { + "type": "string", + "description": "Unique request reference identifier." + } + } + }, + "429": { + "description": "The frequency of requests was greater than allowed.", + "schema": { + "$ref": "#/definitions/ErrorList" + }, + "examples": { + "application/json": { + "errors": [ + { + "code": "TooManyRequests", + "message": "The total number of requests exceeded your allowed limit." + } + ] + } + }, + "headers": { + "x-amzn-RateLimit-Limit": { + "type": "string", + "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." + }, + "x-amzn-RequestId": { + "type": "string", + "description": "Unique request reference identifier." + } + } + }, + "500": { + "description": "An unexpected condition occurred that prevented the server from fulfilling the request.", + "schema": { + "$ref": "#/definitions/ErrorList" + }, + "examples": { + "application/json": { + "errors": [ + { + "code": "InternalError", + "message": "Something went wrong while processing the request." + } + ] + } + }, + "headers": { + "x-amzn-RateLimit-Limit": { + "type": "string", + "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." + }, + "x-amzn-RequestId": { + "type": "string", + "description": "Unique request reference identifier." + } + } + }, + "503": { + "description": "Temporary overloading or maintenance of the server.", + "schema": { + "$ref": "#/definitions/ErrorList" + }, + "examples": { + "application/json": { + "errors": [ + { + "code": "ServiceUnavailable", + "message": "Service temporarily unavailable or down for maintenance. Please try again after sometime." + } + ] + } + }, + "headers": { + "x-amzn-RateLimit-Limit": { + "type": "string", + "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." + }, + "x-amzn-RequestId": { + "type": "string", + "description": "Unique request reference identifier." + } + } + } + } + }, + "parameters": [] + }, + "/shipping/v2/collectionForms/history": { + "put": { + "tags": [ + "shipping" + ], + "description": "This API Call to get the history of the previously generated collection forms. \n\n**Usage Plan:**\n\n| Rate (requests per second) | Burst |\n| ---- | ---- |\n| 80 | 100 |\n\nThe `x-amzn-RateLimit-Limit` response header returns the usage plan rate limits that were applied to the requested operation, when available. The table above indicates the default rate and burst values for this operation. Selling partners whose business demands require higher throughput may see higher rate and burst values then those shown here. For more information, see [Usage Plans and Rate Limits in the Selling Partner API](https://developer-docs.amazon.com/sp-api/docs/usage-plans-and-rate-limits-in-the-sp-api).", + "operationId": "getCollectionFormHistory", + "parameters": [ + { + "name": "body", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/GetCollectionFormHistoryRequest" + } + }, + { + "name": "x-amzn-shipping-business-id", + "in": "header", + "description": "Amazon shipping business to assume for this request. The default is AmazonShipping_UK.", + "required": false, + "type": "string", + "enum": [ + "AmazonShipping_US", + "AmazonShipping_IN", + "AmazonShipping_UK", + "AmazonShipping_UAE", + "AmazonShipping_SA", + "AmazonShipping_EG", + "AmazonShipping_IT", + "AmazonShipping_ES", + "AmazonShipping_FR", + "AmazonShipping_JP" + ], + "x-docgen-enum-table-extension": [ + { + "value": "AmazonShipping_US", + "description": "The United States Amazon shipping business." + }, + { + "value": "AmazonShipping_IN", + "description": "The India Amazon shipping business." + }, + { + "value": "AmazonShipping_UK", + "description": "The United Kingdom Amazon shipping business." + }, + { + "value": "AmazonShipping_UAE", + "description": "The United Arab Emirates Amazon shipping business." + }, + { + "value": "AmazonShipping_SA", + "description": "The Saudi Arabia Amazon shipping business." + }, + { + "value": "AmazonShipping_EG", + "description": "The Egypt Amazon shipping business." + }, + { + "value": "AmazonShipping_IT", + "description": "The Italy Amazon shipping business." + }, + { + "value": "AmazonShipping_ES", + "description": "The Spain Amazon shipping business." + }, + { + "value": "AmazonShipping_FR", + "description": "The France Amazon shipping business." + }, + { + "value": "AmazonShipping_JP", + "description": "The Japan Amazon shipping business." + } + ] + } + ], + "responses": { + "200": { + "description": "Success.", + "schema": { + "$ref": "#/definitions/GetCollectionFormHistoryResponse" + }, + "examples": { + "application/json": { + "collectionFormsHistoryRecordList": [ + { + "carrierName": "USPS", + "creationDate": 1650163712052, + "generationStatus": "COMPLETED", + "collectionFormId": "2c631e32-2538-3431-889e-008b6f5a6f11", + "shipFromAddress": "<**-redacted-**>" + } + ], + "lastRefreshedDate": "April 17 2022 06:20 PM PDT" + } + }, + "headers": { + "x-amzn-RateLimit-Limit": { + "type": "string", + "description": "Your rate limit (requests per second) for this operation." + }, + "x-amzn-RequestId": { + "type": "string", + "description": "Unique request reference identifier." + } + } + }, + "400": { + "description": "Request has missing or invalid parameters and cannot be parsed.", + "schema": { + "$ref": "#/definitions/ErrorList" + }, + "examples": { + "application/json": { + "errors": [ + { + "code": "InvalidRequest", + "message": "Request is missing or has invalid parameters", + "details": "RequestToken cannot be null" + } + ] + } + }, + "headers": { + "x-amzn-RateLimit-Limit": { + "type": "string", + "description": "Your rate limit (requests per second) for this operation." + }, + "x-amzn-RequestId": { + "type": "string", + "description": "Unique request reference identifier." + } + } + }, + "401": { + "description": "The request's Authorization header is not formatted correctly or does not contain a valid token.", + "schema": { + "$ref": "#/definitions/ErrorList" + }, + "examples": { + "application/json": { + "errors": [ + { + "code": "Unauthorized", + "message": "You don't have access to the requested response or the credentials are invalid." + } + ] + } + }, + "headers": { + "x-amzn-RateLimit-Limit": { + "type": "string", + "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." + }, + "x-amzn-RequestId": { + "type": "string", + "description": "Unique request reference identifier." + } + } + }, + "403": { + "description": "Indicates that access to the resource is forbidden. Possible reasons include Access Denied, Unauthorized, Expired Token, or Invalid Signature.", + "schema": { + "$ref": "#/definitions/ErrorList" + }, + "examples": { + "application/json": { + "errors": [ + { + "code": "Unauthorized", + "message": "You don't have access to the requested response or the credentials are invalid." + } + ] + } + }, + "headers": { + "x-amzn-RequestId": { + "type": "string", + "description": "Unique request reference identifier." + } + } + }, + "404": { + "description": "The resource specified does not exist.", + "schema": { + "$ref": "#/definitions/ErrorList" + }, + "examples": { + "application/json": { + "errors": [ + { + "code": "NotFound", + "message": "The requested resource is invalid or doesn't exist" + } + ] + } + }, + "headers": { + "x-amzn-RateLimit-Limit": { + "type": "string", + "description": "Your rate limit (requests per second) for this operation." + }, + "x-amzn-RequestId": { + "type": "string", + "description": "Unique request reference identifier." + } + } + }, + "413": { + "description": "The request size exceeded the maximum accepted size.", + "schema": { + "$ref": "#/definitions/ErrorList" + }, + "examples": { + "application/json": { + "errors": [ + { + "code": "InvalidRequest", + "message": "The request payload size is greater than maximum accepted size." + } + ] + } + }, + "headers": { + "x-amzn-RateLimit-Limit": { + "type": "string", + "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." + }, + "x-amzn-RequestId": { + "type": "string", + "description": "Unique request reference identifier." + } + } + }, + "415": { + "description": "The request payload is in an unsupported format.", + "schema": { + "$ref": "#/definitions/ErrorList" + }, + "examples": { + "application/json": { + "errors": [ + { + "code": "InvalidRequest", + "message": "The request payload format is not supported." + } + ] + } + }, + "headers": { + "x-amzn-RateLimit-Limit": { + "type": "string", + "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." + }, + "x-amzn-RequestId": { + "type": "string", + "description": "Unique request reference identifier." + } + } + }, + "429": { + "description": "The frequency of requests was greater than allowed.", + "schema": { + "$ref": "#/definitions/ErrorList" + }, + "examples": { + "application/json": { + "errors": [ + { + "code": "TooManyRequests", + "message": "The total number of requests exceeded your allowed limit." + } + ] + } + }, + "headers": { + "x-amzn-RateLimit-Limit": { + "type": "string", + "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." + }, + "x-amzn-RequestId": { + "type": "string", + "description": "Unique request reference identifier." + } + } + }, + "500": { + "description": "An unexpected condition occurred that prevented the server from fulfilling the request.", + "schema": { + "$ref": "#/definitions/ErrorList" + }, + "examples": { + "application/json": { + "errors": [ + { + "code": "InternalError", + "message": "Something went wrong while processing the request." + } + ] + } + }, + "headers": { + "x-amzn-RateLimit-Limit": { + "type": "string", + "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." + }, + "x-amzn-RequestId": { + "type": "string", + "description": "Unique request reference identifier." + } + } + }, + "503": { + "description": "Temporary overloading or maintenance of the server.", + "schema": { + "$ref": "#/definitions/ErrorList" + }, + "examples": { + "application/json": { + "errors": [ + { + "code": "ServiceUnavailable", + "message": "Service temporarily unavailable or down for maintenance. Please try again after sometime." + } + ] + } + }, + "headers": { + "x-amzn-RateLimit-Limit": { + "type": "string", + "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." + }, + "x-amzn-RequestId": { + "type": "string", + "description": "Unique request reference identifier." + } + } + } + } + }, + "parameters": [] + }, + "/shipping/v2/unmanifestedShipments": { + "put": { + "tags": [ + "shipping" + ], + "description": "This API Get all unmanifested carriers with shipment locations. Any locations which has unmanifested shipments\n with an eligible carrier for manifesting shall be returned. \n\n**Usage Plan:**\n\n| Rate (requests per second) | Burst |\n| ---- | ---- |\n| 80 | 100 |\n\nThe `x-amzn-RateLimit-Limit` response header returns the usage plan rate limits that were applied to the requested operation, when available. The table above indicates the default rate and burst values for this operation. Selling partners whose business demands require higher throughput may see higher rate and burst values then those shown here. For more information, see [Usage Plans and Rate Limits in the Selling Partner API](https://developer-docs.amazon.com/sp-api/docs/usage-plans-and-rate-limits-in-the-sp-api).", + "operationId": "getUnmanifestedShipments", + "parameters": [ + { + "name": "body", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/GetUnmanifestedShipmentsRequest" + } + }, + { + "name": "x-amzn-shipping-business-id", + "in": "header", + "description": "Amazon shipping business to assume for this request. The default is AmazonShipping_UK.", + "required": false, + "type": "string", + "enum": [ + "AmazonShipping_US", + "AmazonShipping_IN", + "AmazonShipping_UK", + "AmazonShipping_UAE", + "AmazonShipping_SA", + "AmazonShipping_EG", + "AmazonShipping_IT", + "AmazonShipping_ES", + "AmazonShipping_FR", + "AmazonShipping_JP" + ], + "x-docgen-enum-table-extension": [ + { + "value": "AmazonShipping_US", + "description": "The United States Amazon shipping business." + }, + { + "value": "AmazonShipping_IN", + "description": "The India Amazon shipping business." + }, + { + "value": "AmazonShipping_UK", + "description": "The United Kingdom Amazon shipping business." + }, + { + "value": "AmazonShipping_UAE", + "description": "The United Arab Emirates Amazon shipping business." + }, + { + "value": "AmazonShipping_SA", + "description": "The Saudi Arabia Amazon shipping business." + }, + { + "value": "AmazonShipping_EG", + "description": "The Egypt Amazon shipping business." + }, + { + "value": "AmazonShipping_IT", + "description": "The Italy Amazon shipping business." + }, + { + "value": "AmazonShipping_ES", + "description": "The Spain Amazon shipping business." + }, + { + "value": "AmazonShipping_FR", + "description": "The France Amazon shipping business." + }, + { + "value": "AmazonShipping_JP", + "description": "The Japan Amazon shipping business." + } + ] + } + ], + "responses": { + "200": { + "description": "Success.", + "schema": { + "$ref": "#/definitions/GetUnmanifestedShipmentsResponse" + }, + "examples": { + "application/json": { + "unmanifestedCarrierInformationList": [ + { + "carrierId": "USPS", + "carrierName": "USPS", + "unmanifestedShipmentLocationList": [ + { + "address": "<**-redacted-**>", + "lastManifestDate": 1650163712052 + } + ] + } + ] + } + }, + "headers": { + "x-amzn-RateLimit-Limit": { + "type": "string", + "description": "Your rate limit (requests per second) for this operation." + }, + "x-amzn-RequestId": { + "type": "string", + "description": "Unique request reference identifier." + } + } + }, + "400": { + "description": "Request has missing or invalid parameters and cannot be parsed.", + "schema": { + "$ref": "#/definitions/ErrorList" + }, + "examples": { + "application/json": { + "errors": [ + { + "code": "InvalidRequest", + "message": "Request is missing or has invalid parameters", + "details": "RequestToken cannot be null" + } + ] + } + }, + "headers": { + "x-amzn-RateLimit-Limit": { + "type": "string", + "description": "Your rate limit (requests per second) for this operation." + }, + "x-amzn-RequestId": { + "type": "string", + "description": "Unique request reference identifier." + } + } + }, + "401": { + "description": "The request's Authorization header is not formatted correctly or does not contain a valid token.", + "schema": { + "$ref": "#/definitions/ErrorList" + }, + "examples": { + "application/json": { + "errors": [ + { + "code": "Unauthorized", + "message": "You don't have access to the requested response or the credentials are invalid." + } + ] + } + }, + "headers": { + "x-amzn-RateLimit-Limit": { + "type": "string", + "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." + }, + "x-amzn-RequestId": { + "type": "string", + "description": "Unique request reference identifier." + } + } + }, + "403": { + "description": "Indicates that access to the resource is forbidden. Possible reasons include Access Denied, Unauthorized, Expired Token, or Invalid Signature.", + "schema": { + "$ref": "#/definitions/ErrorList" + }, + "examples": { + "application/json": { + "errors": [ + { + "code": "Unauthorized", + "message": "You don't have access to the requested response or the credentials are invalid." + } + ] + } + }, + "headers": { + "x-amzn-RequestId": { + "type": "string", + "description": "Unique request reference identifier." + } + } + }, + "404": { + "description": "The resource specified does not exist.", + "schema": { + "$ref": "#/definitions/ErrorList" + }, + "examples": { + "application/json": { + "errors": [ + { + "code": "NotFound", + "message": "The requested resource is invalid or doesn't exist" + } + ] + } + }, + "headers": { + "x-amzn-RateLimit-Limit": { + "type": "string", + "description": "Your rate limit (requests per second) for this operation." + }, + "x-amzn-RequestId": { + "type": "string", + "description": "Unique request reference identifier." + } + } + }, + "413": { + "description": "The request size exceeded the maximum accepted size.", + "schema": { + "$ref": "#/definitions/ErrorList" + }, + "examples": { + "application/json": { + "errors": [ + { + "code": "InvalidRequest", + "message": "The request payload size is greater than maximum accepted size." + } + ] + } + }, + "headers": { + "x-amzn-RateLimit-Limit": { + "type": "string", + "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." + }, + "x-amzn-RequestId": { + "type": "string", + "description": "Unique request reference identifier." + } + } + }, + "415": { + "description": "The request payload is in an unsupported format.", + "schema": { + "$ref": "#/definitions/ErrorList" + }, + "examples": { + "application/json": { + "errors": [ + { + "code": "InvalidRequest", + "message": "The request payload format is not supported." + } + ] + } + }, + "headers": { + "x-amzn-RateLimit-Limit": { + "type": "string", + "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." + }, + "x-amzn-RequestId": { + "type": "string", + "description": "Unique request reference identifier." + } + } + }, + "429": { + "description": "The frequency of requests was greater than allowed.", + "schema": { + "$ref": "#/definitions/ErrorList" + }, + "examples": { + "application/json": { + "errors": [ + { + "code": "TooManyRequests", + "message": "The total number of requests exceeded your allowed limit." + } + ] + } + }, + "headers": { + "x-amzn-RateLimit-Limit": { + "type": "string", + "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." + }, + "x-amzn-RequestId": { + "type": "string", + "description": "Unique request reference identifier." + } + } + }, + "500": { + "description": "An unexpected condition occurred that prevented the server from fulfilling the request.", + "schema": { + "$ref": "#/definitions/ErrorList" + }, + "examples": { + "application/json": { + "errors": [ + { + "code": "InternalError", + "message": "Something went wrong while processing the request." + } + ] + } + }, + "headers": { + "x-amzn-RateLimit-Limit": { + "type": "string", + "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." + }, + "x-amzn-RequestId": { + "type": "string", + "description": "Unique request reference identifier." + } + } + }, + "503": { + "description": "Temporary overloading or maintenance of the server.", + "schema": { + "$ref": "#/definitions/ErrorList" + }, + "examples": { + "application/json": { + "errors": [ + { + "code": "ServiceUnavailable", + "message": "Service temporarily unavailable or down for maintenance. Please try again after sometime." + } + ] + } + }, + "headers": { + "x-amzn-RateLimit-Limit": { + "type": "string", + "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." + }, + "x-amzn-RequestId": { + "type": "string", + "description": "Unique request reference identifier." + } + } + } + } + }, + "parameters": [] + }, + "/shipping/v2/collectionForms/{collectionFormId}": { + "get": { + "tags": [ + "shipping" + ], + "description": "This API reprint a collection form. \n\n**Usage Plan:**\n\n| Rate (requests per second) | Burst |\n| ---- | ---- |\n| 80 | 100 |\n\nThe `x-amzn-RateLimit-Limit` response header returns the usage plan rate limits that were applied to the requested operation, when available. The table above indicates the default rate and burst values for this operation. Selling partners whose business demands require higher throughput may see higher rate and burst values then those shown here. For more information, see [Usage Plans and Rate Limits in the Selling Partner API](https://developer-docs.amazon.com/sp-api/docs/usage-plans-and-rate-limits-in-the-sp-api).", + "operationId": "getCollectionForm", + "parameters": [ + { + "name": "collectionFormId", + "in": "path", + "description": "collection form Id to reprint a collection.", + "required": true, + "type": "string" + }, + { + "name": "x-amzn-shipping-business-id", + "in": "header", + "description": "Amazon shipping business to assume for this request. The default is AmazonShipping_UK.", + "required": false, + "type": "string", + "enum": [ + "AmazonShipping_US", + "AmazonShipping_IN", + "AmazonShipping_UK", + "AmazonShipping_UAE", + "AmazonShipping_SA", + "AmazonShipping_EG", + "AmazonShipping_IT", + "AmazonShipping_ES", + "AmazonShipping_FR", + "AmazonShipping_JP" + ], + "x-docgen-enum-table-extension": [ + { + "value": "AmazonShipping_US", + "description": "The United States Amazon shipping business." + }, + { + "value": "AmazonShipping_IN", + "description": "The India Amazon shipping business." + }, + { + "value": "AmazonShipping_UK", + "description": "The United Kingdom Amazon shipping business." + }, + { + "value": "AmazonShipping_UAE", + "description": "The United Arab Emirates Amazon shipping business." + }, + { + "value": "AmazonShipping_SA", + "description": "The Saudi Arabia Amazon shipping business." + }, + { + "value": "AmazonShipping_EG", + "description": "The Egypt Amazon shipping business." + }, + { + "value": "AmazonShipping_IT", + "description": "The Italy Amazon shipping business." + }, + { + "value": "AmazonShipping_ES", + "description": "The Spain Amazon shipping business." + }, + { + "value": "AmazonShipping_FR", + "description": "The France Amazon shipping business." + }, + { + "value": "AmazonShipping_JP", + "description": "The Japan Amazon shipping business." + } + ] + } + ], + "responses": { + "200": { + "description": "Success.", + "schema": { + "$ref": "#/definitions/GetCollectionFormResponse" + }, + "examples": { + "application/json": { + "collectionsFormDocument": + { + "base64EncodedContent": "VGhpcyBpcyBzb21lIHRleHQgdG8gY29udmVydCB2aWEgQ3J5cHQu", + "documentFormat": "application/pdf" + } + } + }, + "headers": { + "x-amzn-RateLimit-Limit": { + "type": "string", + "description": "Your rate limit (requests per second) for this operation." + }, + "x-amzn-RequestId": { + "type": "string", + "description": "Unique request reference identifier." + } + } + }, + "400": { + "description": "Request has missing or invalid parameters and cannot be parsed.", + "schema": { + "$ref": "#/definitions/ErrorList" + }, + "examples": { + "application/json": { + "errors": [ + { + "code": "InvalidRequest", + "message": "Request is missing or has invalid parameters", + "details": "RequestToken cannot be null" + } + ] + } + }, + "headers": { + "x-amzn-RateLimit-Limit": { + "type": "string", + "description": "Your rate limit (requests per second) for this operation." + }, + "x-amzn-RequestId": { + "type": "string", + "description": "Unique request reference identifier." + } + } + }, + "401": { + "description": "The request's Authorization header is not formatted correctly or does not contain a valid token.", + "schema": { + "$ref": "#/definitions/ErrorList" + }, + "examples": { + "application/json": { + "errors": [ + { + "code": "Unauthorized", + "message": "You don't have access to the requested response or the credentials are invalid." + } + ] + } + }, + "headers": { + "x-amzn-RateLimit-Limit": { + "type": "string", + "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." + }, + "x-amzn-RequestId": { + "type": "string", + "description": "Unique request reference identifier." + } + } + }, + "403": { + "description": "Indicates that access to the resource is forbidden. Possible reasons include Access Denied, Unauthorized, Expired Token, or Invalid Signature.", + "schema": { + "$ref": "#/definitions/ErrorList" + }, + "examples": { + "application/json": { + "errors": [ + { + "code": "Unauthorized", + "message": "You don't have access to the requested response or the credentials are invalid." + } + ] + } + }, + "headers": { + "x-amzn-RequestId": { + "type": "string", + "description": "Unique request reference identifier." + } + } + }, + "404": { + "description": "The resource specified does not exist.", + "schema": { + "$ref": "#/definitions/ErrorList" + }, + "examples": { + "application/json": { + "errors": [ + { + "code": "NotFound", + "message": "The requested resource is invalid or doesn't exist" + } + ] + } + }, + "headers": { + "x-amzn-RateLimit-Limit": { + "type": "string", + "description": "Your rate limit (requests per second) for this operation." + }, + "x-amzn-RequestId": { + "type": "string", + "description": "Unique request reference identifier." + } + } + }, + "413": { + "description": "The request size exceeded the maximum accepted size.", + "schema": { + "$ref": "#/definitions/ErrorList" + }, + "examples": { + "application/json": { + "errors": [ + { + "code": "InvalidRequest", + "message": "The request payload size is greater than maximum accepted size." + } + ] + } + }, + "headers": { + "x-amzn-RateLimit-Limit": { + "type": "string", + "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." + }, + "x-amzn-RequestId": { + "type": "string", + "description": "Unique request reference identifier." + } + } + }, + "415": { + "description": "The request payload is in an unsupported format.", + "schema": { + "$ref": "#/definitions/ErrorList" + }, + "examples": { + "application/json": { + "errors": [ + { + "code": "InvalidRequest", + "message": "The request payload format is not supported." + } + ] + } + }, + "headers": { + "x-amzn-RateLimit-Limit": { + "type": "string", + "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." + }, + "x-amzn-RequestId": { + "type": "string", + "description": "Unique request reference identifier." + } + } + }, + "429": { + "description": "The frequency of requests was greater than allowed.", + "schema": { + "$ref": "#/definitions/ErrorList" + }, + "examples": { + "application/json": { + "errors": [ + { + "code": "TooManyRequests", + "message": "The total number of requests exceeded your allowed limit." + } + ] + } + }, + "headers": { + "x-amzn-RateLimit-Limit": { + "type": "string", + "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." + }, + "x-amzn-RequestId": { + "type": "string", + "description": "Unique request reference identifier." + } + } + }, + "500": { + "description": "An unexpected condition occurred that prevented the server from fulfilling the request.", + "schema": { + "$ref": "#/definitions/ErrorList" + }, + "examples": { + "application/json": { + "errors": [ + { + "code": "InternalError", + "message": "Something went wrong while processing the request." + } + ] + } + }, + "headers": { + "x-amzn-RateLimit-Limit": { + "type": "string", + "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." + }, + "x-amzn-RequestId": { + "type": "string", + "description": "Unique request reference identifier." + } + } + }, + "503": { + "description": "Temporary overloading or maintenance of the server.", + "schema": { + "$ref": "#/definitions/ErrorList" + }, + "examples": { + "application/json": { + "errors": [ + { + "code": "ServiceUnavailable", + "message": "Service temporarily unavailable or down for maintenance. Please try again after sometime." + } + ] + } + }, + "headers": { + "x-amzn-RateLimit-Limit": { + "type": "string", + "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." + }, + "x-amzn-RequestId": { + "type": "string", + "description": "Unique request reference identifier." + } + } + } + } + }, + "parameters": [] + }, + "/shipping/v2/accessPoints": { + "get": { + "tags": [ + "shipping" + ], + "description": "Returns a list of access points in proximity of input postal code.\n\n**Usage Plan:**\n\n| Rate (requests per second) | Burst |\n| ---- | ---- |\n| 80 | 100 |\n\nThe `x-amzn-RateLimit-Limit` response header returns the usage plan rate limits that were applied to the requested operation, when available. The table above indicates the default rate and burst values for this operation. Selling partners whose business demands require higher throughput may see higher rate and burst values then those shown here. For more information, see [Usage Plans and Rate Limits in the Selling Partner API](https://developer-docs.amazon.com/sp-api/docs/usage-plans-and-rate-limits-in-the-sp-api).", + "operationId": "getAccessPoints", + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "parameters": [ + { + "in": "query", + "name": "accessPointTypes", + "required": true, + "type": "array", + "items": { + "type": "string", + "enum": [ + "HELIX", + "CAMPUS_LOCKER", + "OMNI_LOCKER", + "ODIN_LOCKER", + "DOBBY_LOCKER", + "CORE_LOCKER", + "3P", + "CAMPUS_ROOM" + ] + }, + "x-docgen-enum-table-extension": [ + { + "value": "HELIX", + "description": "Counter, aka Helix, is an assisted access point where customers interact with a store associate to collect or return packages. Counter stores do not have Locker" + }, + { + "value": "CAMPUS_LOCKER", + "description": "It denotes a physical Locker present at Locker+ stores" + }, + { + "value": "OMNI_LOCKER", + "description": "Omni lockers are similar to core lockers installed at apartment buildings. Core and Omni will have common base hardware platform" + }, + { + "value": "ODIN_LOCKER", + "description": "Odin lockers rely on Bluetooth connection as there is no screen or scanner on the locker. Drivers, customers, and even technicians can interact with the locker using an app (different depending on the user)." + }, + { + "value": "DOBBY_LOCKER", + "description": "Dobby lockers are Odin lockers installed at apartment complexes and available only to residents." + }, + { + "value": "CORE_LOCKER", + "description": "Core lockers are the traditional and initial style of lockers when Hub was launched. Core lockers have a screen, keypad and scanner. Customer either enter their pickup code using the Locker screen or scan pickup code barcode to pick up their package." + }, + { + "value": "3P", + "description": "Networks that are owned end-to-end by commercial carriers (CC - e.g. DHL, UPS, DPD and Postal organizations), who operate both the transportation leg and the access point aspect. These networks offer a range of pickup points including: 3P Lockers, legacy Postal Offices, 3P Counters (e.g. Gas Stations and Retail Outlets - supermarkets, bookstores, news-stands etc)." + }, + { + "value": "CAMPUS_ROOM", + "description": "Locker+, formerly known as Campus, are attended, physical stores, where the Locker is used dynamically by the staff to keep packages ready for customer pickup. Locker+ store can have multiple Lockers installed," + } + ], + "collectionFormat": "csv", + "x-example": "HELIX" + }, + { + "in": "query", + "name": "countryCode", + "required": true, + "type": "string", + "collectionFormat": "csv", + "x-example": "US" + }, + { + "in": "query", + "name": "postalCode", + "required": true, + "type": "string", + "collectionFormat": "csv", + "x-example": "EX332JL" + }, + { + "name": "x-amzn-shipping-business-id", + "in": "header", + "description": "Amazon shipping business to assume for this request. The default is AmazonShipping_UK.", + "required": false, + "type": "string", + "enum": [ + "AmazonShipping_US", + "AmazonShipping_IN", + "AmazonShipping_UK", + "AmazonShipping_UAE", + "AmazonShipping_SA", + "AmazonShipping_EG", + "AmazonShipping_IT", + "AmazonShipping_ES", + "AmazonShipping_FR", + "AmazonShipping_JP" + ], + "x-docgen-enum-table-extension": [ + { + "value": "AmazonShipping_US", + "description": "The United States Amazon shipping business." + }, + { + "value": "AmazonShipping_IN", + "description": "The India Amazon shipping business." + }, + { + "value": "AmazonShipping_UK", + "description": "The United Kingdom Amazon shipping business." + }, + { + "value": "AmazonShipping_UAE", + "description": "The United Arab Emirates Amazon shipping business." + }, + { + "value": "AmazonShipping_SA", + "description": "The Saudi Arabia Amazon shipping business." + }, + { + "value": "AmazonShipping_EG", + "description": "The Egypt Amazon shipping business." + }, + { + "value": "AmazonShipping_IT", + "description": "The Italy Amazon shipping business." + }, + { + "value": "AmazonShipping_ES", + "description": "The Spain Amazon shipping business." + }, + { + "value": "AmazonShipping_FR", + "description": "The France Amazon shipping business." + }, + { + "value": "AmazonShipping_JP", + "description": "The Japan Amazon shipping business." + } + ] + } + ], + "responses": { + "200": { + "description": "Success.", + "schema": { + "$ref": "#/definitions/GetAccessPointsResponse" + }, + "examples": { + "application/json": { + "HELIX": { + "accessPointId": "00046c4b-bb0a-4c03-831e-5633e142f16a", + "name": "Amazon Hub Counter - Co-op Braunton", + "timezone": "Europe/London", + "type": "HELIX", + "accessibilityAttributes": { + "distance": "21.200000762939453", + "driveTime": "0.0" + }, + "address": { + "addressObject": { + "addressLine1": "Exeter Road", + "city": "Braunton", + "countryCode": "GB", + "zipOrPostalCode": "EX33 2JL" + }, + "geocode": { + "latitude": "51.1076671", + "longitude": "-4.1607301" + } + }, + "exceptionOperatingHours": [ + { + "dateRange": { + "endDate": "1.6932672E9", + "startDate": "1.6931808E9" + }, + "operatingHours": { + "closingTime": { + "hourOfDay": 0, + "minuteOfHour": 0, + "secondOfMinute": 0 + }, + "midDayClosures": [], + "openingTime": { + "hourOfDay": 0, + "minuteOfHour": 0, + "secondOfMinute": 0 + } + } + } + ], + "assistanceType": "STAFF_ASSISTED", + "score": "0.6688068509101868", + "standardOperatingHours": { + "WEDNESDAY": { + "closingTime": { + "hourOfDay": 22, + "minuteOfHour": 0, + "secondOfMinute": 0 + }, + "midDayClosures": [], + "openingTime": { + "hourOfDay": 7, + "minuteOfHour": 0, + "secondOfMinute": 0 + } + }, + "MONDAY": { + "closingTime": { + "hourOfDay": 22, + "minuteOfHour": 0, + "secondOfMinute": 0 + }, + "midDayClosures": [], + "openingTime": { + "hourOfDay": 7, + "minuteOfHour": 0, + "secondOfMinute": 0 + } + }, + "THURSDAY": { + "closingTime": { + "hourOfDay": 22, + "minuteOfHour": 0, + "secondOfMinute": 0 + }, + "midDayClosures": [], + "openingTime": { + "hourOfDay": 7, + "minuteOfHour": 0, + "secondOfMinute": 0 + } + }, + "SUNDAY": { + "closingTime": { + "hourOfDay": 22, + "minuteOfHour": 0, + "secondOfMinute": 0 + }, + "midDayClosures": [], + "openingTime": { + "hourOfDay": 7, + "minuteOfHour": 0, + "secondOfMinute": 0 + } + }, + "TUESDAY": { + "closingTime": { + "hourOfDay": 22, + "minuteOfHour": 0, + "secondOfMinute": 0 + }, + "midDayClosures": [], + "openingTime": { + "hourOfDay": 7, + "minuteOfHour": 0, + "secondOfMinute": 0 + } + }, + "FRIDAY": { + "closingTime": { + "hourOfDay": 22, + "minuteOfHour": 0, + "secondOfMinute": 0 + }, + "midDayClosures": [], + "openingTime": { + "hourOfDay": 7, + "minuteOfHour": 0, + "secondOfMinute": 0 + } + }, + "SATURDAY": { + "closingTime": { + "hourOfDay": 22, + "minuteOfHour": 0, + "secondOfMinute": 0 + }, + "midDayClosures": [], + "openingTime": { + "hourOfDay": 7, + "minuteOfHour": 0, + "secondOfMinute": 0 + } + } + } + } + } + }, + "headers": { + "x-amzn-RateLimit-Limit": { + "type": "string", + "description": "Your rate limit (requests per second) for this operation." + }, + "x-amzn-RequestId": { + "type": "string", + "description": "Unique request reference identifier." + } + } + }, + "400": { + "description": "Request has missing or invalid parameters and cannot be parsed.", + "schema": { + "$ref": "#/definitions/ErrorList" + }, + "examples": { + "application/json": { + "errors": [ + { + "code": "InvalidRequest", + "message": "Request is missing or has invalid parameters", + "details": "Access Point types cannot be null" + } + ] + } + }, + "headers": { + "x-amzn-RateLimit-Limit": { + "type": "string", + "description": "Your rate limit (requests per second) for this operation." + }, + "x-amzn-RequestId": { + "type": "string", + "description": "Unique request reference identifier." + } + } + }, + "401": { + "description": "The request's Authorization header is not formatted correctly or does not contain a valid token.", + "schema": { + "$ref": "#/definitions/ErrorList" + }, + "examples": { + "application/json": { + "errors": [ + { + "code": "Unauthorized", + "message": "You don't have access to the requested response or the credentials are invalid." + } + ] + } + }, + "headers": { + "x-amzn-RateLimit-Limit": { + "type": "string", + "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." + }, + "x-amzn-RequestId": { + "type": "string", + "description": "Unique request reference identifier." + } + } + }, + "403": { + "description": "Indicates that access to the resource is forbidden. Possible reasons include Access Denied, Unauthorized, Expired Token, or Invalid Signature.", + "schema": { + "$ref": "#/definitions/ErrorList" + }, + "examples": { + "application/json": { + "errors": [ + { + "code": "Unauthorized", + "message": "You don't have access to the requested response or the credentials are invalid." + } + ] + } + }, + "headers": { + "x-amzn-RequestId": { + "type": "string", + "description": "Unique request reference identifier." + } + } + }, + "404": { + "description": "The resource specified does not exist.", + "schema": { + "$ref": "#/definitions/ErrorList" + }, + "examples": { + "application/json": { + "errors": [ + { + "code": "NotFound", + "message": "The requested resource is invalid or doesn't exist" + } + ] + } + }, + "headers": { + "x-amzn-RateLimit-Limit": { + "type": "string", + "description": "Your rate limit (requests per second) for this operation." + }, + "x-amzn-RequestId": { + "type": "string", + "description": "Unique request reference identifier." + } + } + }, + "413": { + "description": "The request size exceeded the maximum accepted size.", + "schema": { + "$ref": "#/definitions/ErrorList" + }, + "examples": { + "application/json": { + "errors": [ + { + "code": "InvalidRequest", + "message": "The request payload size is greater than maximum accepted size." + } + ] + } + }, + "headers": { + "x-amzn-RateLimit-Limit": { + "type": "string", + "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." + }, + "x-amzn-RequestId": { + "type": "string", + "description": "Unique request reference identifier." + } + } + }, + "415": { + "description": "The request payload is in an unsupported format.", + "schema": { + "$ref": "#/definitions/ErrorList" + }, + "examples": { + "application/json": { + "errors": [ + { + "code": "InvalidRequest", + "message": "The request payload format is not supported." + } + ] + } + }, + "headers": { + "x-amzn-RateLimit-Limit": { + "type": "string", + "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." + }, + "x-amzn-RequestId": { + "type": "string", + "description": "Unique request reference identifier." + } + } + }, + "429": { + "description": "The frequency of requests was greater than allowed.", + "schema": { + "$ref": "#/definitions/ErrorList" + }, + "examples": { + "application/json": { + "errors": [ + { + "code": "TooManyRequests", + "message": "The total number of requests exceeded your allowed limit." + } + ] + } + }, + "headers": { + "x-amzn-RateLimit-Limit": { + "type": "string", + "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." + }, + "x-amzn-RequestId": { + "type": "string", + "description": "Unique request reference identifier." + } + } + }, + "500": { + "description": "An unexpected condition occurred that prevented the server from fulfilling the request.", + "schema": { + "$ref": "#/definitions/ErrorList" + }, + "examples": { + "application/json": { + "errors": [ + { + "code": "InternalError", + "message": "Something went wrong while processing the request." + } + ] + } + }, + "headers": { + "x-amzn-RateLimit-Limit": { + "type": "string", + "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." + }, + "x-amzn-RequestId": { + "type": "string", + "description": "Unique request reference identifier." + } + } + }, + "503": { + "description": "Temporary overloading or maintenance of the server.", + "schema": { + "$ref": "#/definitions/ErrorList" + }, + "examples": { + "application/json": { + "errors": [ + { + "code": "ServiceUnavailable", + "message": "Service temporarily unavailable or down for maintenance. Please try again after sometime." + } + ] + } + }, + "headers": { + "x-amzn-RateLimit-Limit": { + "type": "string", + "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." + }, + "x-amzn-RequestId": { + "type": "string", + "description": "Unique request reference identifier." + } + } + } + }, + "x-amzn-api-sandbox": { + "dynamic": {} + } + }, + "parameters": [] + } + }, + "definitions": { + "Error": { + "type": "object", + "required": [ + "code", + "message" + ], + "properties": { + "code": { + "type": "string", + "description": "An error code that identifies the type of error that occurred." + }, + "message": { + "type": "string", + "description": "A message that describes the error condition." + }, + "details": { + "type": "string", + "description": "Additional details that can help the caller understand or fix the issue." + } + }, + "description": "Error response returned when the request is unsuccessful." + }, + "ErrorList": { + "type": "object", + "description": "A list of error responses returned when a request is unsuccessful.", + "required": [ + "errors" + ], + "properties": { + "errors": { + "type": "array", + "items": { + "$ref": "#/definitions/Error" + } + } + } + }, + "Weight": { + "description": "The weight in the units indicated.", + "type": "object", + "required": [ + "unit", + "value" + ], + "properties": { + "unit": { + "type": "string", + "description": "The unit of measurement.", + "enum": [ + "GRAM", + "KILOGRAM", + "OUNCE", + "POUND" + ], + "x-docgen-enum-table-extension": [ + { + "value": "GRAM", + "description": "Metric unit of mass equal to one thousandth of a kilogram." + }, + { + "value": "KILOGRAM", + "description": "Metric unit of mass." + }, + { + "value": "OUNCE", + "description": "The imperial unit of weight that is one sixteenth of a pound." + }, + { + "value": "POUND", + "description": "The imperial unit of weight." + } + ] + }, + "value": { + "type": "number", + "description": "The measurement value." + } + } + }, + "LiquidVolume": { + "type": "object", + "required": [ + "unit", + "value" + ], + "properties": { + "unit": { + "type": "string", + "description": "The unit of measurement.", + "enum": [ + "ML", + "L", + "FL_OZ", + "GAL", + "PT", + "QT", + "C" + ], + "x-docgen-enum-table-extension": [ + { + "value": "ML", + "description": "Milliliter - Metric unit of volume." + }, + { + "value": "L", + "description": "Liter - Metric unit of volume." + }, + { + "value": "FL_OZ", + "description": "Fluid Ounce - Imperial unit of volume." + }, + { + "value": "GAL", + "description": "Gallon - Imperial unit of volume." + }, + { + "value": "PT", + "description": "Pint - Imperial unit of volume." + }, + { + "value": "QT", + "description": "Quart - Imperial unit of volume." + }, + { + "value": "C", + "description": "Cup - Imperial unit of volume." + } + ] + }, + "value": { + "type": "number", + "description": "The measurement value." + } + }, + "description": "Liquid Volume." + }, + "InvoiceDetails": { + "description": "The invoice details for charges associated with the goods in the package. Only applies to certain regions.", + "type": "object", + "properties": { + "invoiceNumber": { + "type": "string", + "description": "The invoice number of the item." + }, + "invoiceDate": { + "type": "string", + "format": "date-time", + "description": "The invoice date of the item in ISO 8061 format." + } + } + }, + "ChargeList": { + "type": "array", + "description": "A list of charges based on the shipping service charges applied on a package.", + "items": { + "$ref": "#/definitions/ChargeComponent" + } + }, + "ChargeComponent": { + "type": "object", + "description": "The type and amount of a charge applied on a package.", + "properties": { + "amount": { + "$ref": "#/definitions/Currency" + }, + "chargeType": { + "type": "string", + "description": "The type of charge.", + "enum": [ + "TAX", + "DISCOUNT" + ], + "x-docgen-enum-table-extension": [ + { + "value": "TAX", + "description": "A tax imposed on a package." + }, + { + "value": "DISCOUNT", + "description": "A discount deducted from the cost of a package." + } + ] + } + } + }, + "Currency": { + "description": "The monetary value in the currency indicated, in ISO 4217 standard format.", + "type": "object", + "required": [ + "unit", + "value" + ], + "properties": { + "value": { + "type": "number", + "description": "The monetary value." + }, + "unit": { + "type": "string", + "description": "The ISO 4217 format 3-character currency code.", + "minLength": 3, + "maxLength": 3 + } + } + }, + "Dimensions": { + "type": "object", + "required": [ + "height", + "length", + "unit", + "width" + ], + "properties": { + "length": { + "type": "number", + "description": "The length of the package." + }, + "width": { + "type": "number", + "description": "The width of the package." + }, + "height": { + "type": "number", + "description": "The height of the package." + }, + "unit": { + "type": "string", + "description": "The unit of measurement.", + "enum": [ + "INCH", + "CENTIMETER" + ], + "x-docgen-enum-table-extension": [ + { + "value": "INCH", + "description": "The imperial unit of length equal to one twelfth of a foot." + }, + { + "value": "CENTIMETER", + "description": "A metric unit of length, equal to one hundredth of a meter." + } + ] + } + }, + "description": "A set of measurements for a three-dimensional object." + }, + "RequestToken": { + "type": "string", + "description": "A unique token generated to identify a getRates operation." + }, + "RateId": { + "type": "string", + "description": "An identifier for the rate (shipment offering) provided by a shipping service provider." + }, + "CarrierId": { + "type": "string", + "description": "The carrier identifier for the offering, provided by the carrier." + }, + "CarrierName": { + "type": "string", + "description": "The carrier name for the offering." + }, + "PackageClientReferenceId": { + "type": "string", + "description": "A client provided unique identifier for a package being shipped. This value should be saved by the client to pass as a parameter to the getShipmentDocuments operation." + }, + "ShipmentId": { + "type": "string", + "description": "The unique shipment identifier provided by a shipping service." + }, + "TrackingId": { + "type": "string", + "description": "The carrier generated identifier for a package in a purchased shipment." + }, + "AlternateLegTrackingId": { + "type": "string", + "description": "The carrier generated reverse identifier for a returned package in a purchased shipment." + }, + "ServiceId": { + "type": "string", + "description": "An identifier for the shipping service." + }, + "ServiceName": { + "type": "string", + "description": "The name of the shipping service." + }, + "ShipperInstruction": { + "type": "object", + "properties": { + "deliveryNotes": { + "type": "string", + "description": "The delivery notes for the shipment", + "maxLength": 256 + } + }, + "description": "The shipper instruction." + }, + "Address": { + "type": "object", + "required": [ + "addressLine1", + "city", + "countryCode", + "name", + "postalCode", + "stateOrRegion" + ], + "properties": { + "name": { + "type": "string", + "description": "The name of the person, business or institution at the address.", + "minLength": 1, + "maxLength": 50 + }, + "addressLine1": { + "type": "string", + "description": "The first line of the address.", + "minLength": 1, + "maxLength": 60 + }, + "addressLine2": { + "type": "string", + "description": "Additional address information, if required.", + "minLength": 1, + "maxLength": 60 + }, + "addressLine3": { + "type": "string", + "description": "Additional address information, if required.", + "minLength": 1, + "maxLength": 60 + }, + "companyName": { + "type": "string", + "description": "The name of the business or institution associated with the address." + }, + "stateOrRegion": { + "$ref": "#/definitions/StateOrRegion" + }, + "city": { + "$ref": "#/definitions/City" + }, + "countryCode": { + "$ref": "#/definitions/CountryCode" + }, + "postalCode": { + "$ref": "#/definitions/PostalCode" + }, + "email": { + "type": "string", + "description": "The email address of the contact associated with the address.", + "maxLength": 64 + }, + "phoneNumber": { + "type": "string", + "description": "The phone number of the person, business or institution located at that address, including the country calling code.", + "minLength": 1, + "maxLength": 20 + }, + "geocode": { + "$ref": "#/definitions/Geocode" + } + }, + "description": "The address." + }, + "Geocode": { + "type": "object", + "description": "Defines the latitude and longitude of the access point.", + "properties": { + "latitude": { + "description": "The latitude of access point.", + "type": "string" + }, + "longitude": { + "description": "The longitude of access point.", + "type": "string" + } + } + }, + "StateOrRegion": { + "type": "string", + "description": "The state, county or region where the person, business or institution is located." + }, + "City": { + "type": "string", + "description": "The city or town where the person, business or institution is located." + }, + "CountryCode": { + "type": "string", + "description": "The two digit country code. Follows ISO 3166-1 alpha-2 format." + }, + "PostalCode": { + "type": "string", + "description": "The postal code of that address. It contains a series of letters or digits or both, sometimes including spaces or punctuation." + }, + "Location": { + "type": "object", + "properties": { + "stateOrRegion": { + "$ref": "#/definitions/StateOrRegion" + }, + "city": { + "$ref": "#/definitions/City" + }, + "countryCode": { + "$ref": "#/definitions/CountryCode" + }, + "postalCode": { + "$ref": "#/definitions/PostalCode" + } + }, + "description": "The location where the person, business or institution is located." + }, + "DocumentFormat": { + "type": "string", + "description": "The file format of the document.", + "enum": [ + "PDF", + "PNG", + "ZPL" + ], + "x-docgen-enum-table-extension": [ + { + "value": "PDF", + "description": "The Portable Document Format (PDF) file format. Used to present documents, including text formatting and images, in a manner independent of application software, hardware, and operating systems." + }, + { + "value": "PNG", + "description": "Portable Network Graphics (PNG) is a raster-graphics file format that supports lossless data compression." + }, + { + "value": "ZPL", + "description": "Zebra Programming Language (ZPL) format is from Zebra Technologies. It's used primarily for labeling applications and can only be used with ZPL compatible printers." + } + ] + }, + "DocumentType": { + "type": "string", + "description": "The type of shipping document.", + "enum": [ + "PACKSLIP", + "LABEL", + "RECEIPT", + "CUSTOM_FORM" + ], + "x-docgen-enum-table-extension": [ + { + "value": "PACKSLIP", + "description": "A listing of the items packed within the shipment." + }, + { + "value": "LABEL", + "description": "The shipping label for the specific shipment." + }, + { + "value": "RECEIPT", + "description": "The receipt of the shipment." + }, + { + "value": "CUSTOM_FORM", + "description": "The customs documentation for a cross-border shipment." + } + ] + }, + "Dpi": { + "type": "integer", + "description": "The dots per inch (DPI) value used in printing. This value represents a measure of the resolution of the document." + }, + "PageLayout": { + "type": "string", + "description": "Indicates the position of the label on the paper. Should be the same value as returned in getRates response." + }, + "NeedFileJoining": { + "type": "boolean", + "description": "When true, files should be stitched together. Otherwise, files should be returned separately. Defaults to false." + }, + "Contents": { + "type": "string", + "description": "A Base64 encoded string of the file contents." + }, + "PackageDocumentList": { + "type": "array", + "description": "A list of documents related to a package.", + "items": { + "$ref": "#/definitions/PackageDocument" + } + }, + "PackageDocument": { + "type": "object", + "required": [ + "contents", + "format", + "type" + ], + "properties": { + "type": { + "$ref": "#/definitions/DocumentType" + }, + "format": { + "$ref": "#/definitions/DocumentFormat" + }, + "contents": { + "$ref": "#/definitions/Contents" + } + }, + "description": "A document related to a package." + }, + "PrintOptionList": { + "type": "array", + "description": "A list of the format options for a label.", + "items": { + "$ref": "#/definitions/PrintOption" + } + }, + "PrintOption": { + "type": "object", + "required": [ + "supportedDocumentDetails", + "supportedFileJoiningOptions", + "supportedPageLayouts" + ], + "properties": { + "supportedDPIs": { + "type": "array", + "description": "A list of the supported DPI options for a document.", + "items": { + "$ref": "#/definitions/Dpi" + } + }, + "supportedPageLayouts": { + "type": "array", + "description": "A list of the supported page layout options for a document.", + "items": { + "$ref": "#/definitions/PageLayout" + } + }, + "supportedFileJoiningOptions": { + "type": "array", + "description": "A list of the supported needFileJoining boolean values for a document.", + "items": { + "$ref": "#/definitions/NeedFileJoining" + } + }, + "supportedDocumentDetails": { + "description": "A list of the supported documented details.", + "type": "array", + "items": { + "$ref": "#/definitions/SupportedDocumentDetail" + } + } + }, + "description": "The format options available for a label." + }, + "DocumentSize": { + "type": "object", + "required": [ + "length", + "unit", + "width" + ], + "properties": { + "width": { + "description": "The width of the document measured in the units specified.", + "type": "number" + }, + "length": { + "description": "The length of the document measured in the units specified.", + "type": "number" + }, + "unit": { + "type": "string", + "description": "The unit of measurement.", + "enum": [ + "INCH", + "CENTIMETER" + ], + "x-docgen-enum-table-extension": [ + { + "value": "INCH", + "description": "The imperial unit of length equal to one twelfth of a foot." + }, + { + "value": "CENTIMETER", + "description": "A metric unit of length, equal to one hundredth of a meter." + } + ] + } + }, + "description": "The size dimensions of the label." + }, + "SupportedDocumentDetail": { + "type": "object", + "required": [ + "isMandatory", + "name" + ], + "properties": { + "name": { + "$ref": "#/definitions/DocumentType" + }, + "isMandatory": { + "type": "boolean", + "description": "When true, the supported document type is required." + } + }, + "description": "The supported document types for a service offering." + }, + "RequestedDocumentSpecification": { + "type": "object", + "required": [ + "format", + "needFileJoining", + "requestedDocumentTypes", + "size" + ], + "properties": { + "format": { + "$ref": "#/definitions/DocumentFormat" + }, + "size": { + "$ref": "#/definitions/DocumentSize" + }, + "dpi": { + "$ref": "#/definitions/Dpi" + }, + "pageLayout": { + "$ref": "#/definitions/PageLayout" + }, + "needFileJoining": { + "$ref": "#/definitions/NeedFileJoining" + }, + "requestedDocumentTypes": { + "description": "A list of the document types requested.", + "type": "array", + "items": { + "$ref": "#/definitions/DocumentType" + } + } + }, + "description": "The document specifications requested. For calls to the purchaseShipment operation, the shipment purchase fails if the specified document specifications are not among those returned in the response to the getRates operation." + }, + "SupportedDocumentSpecificationList": { + "type": "array", + "description": "A list of the document specifications supported for a shipment service offering.", + "items": { + "$ref": "#/definitions/SupportedDocumentSpecification" + } + }, + "SupportedDocumentSpecification": { + "type": "object", + "required": [ + "format", + "printOptions", + "size" + ], + "properties": { + "format": { + "$ref": "#/definitions/DocumentFormat" + }, + "size": { + "$ref": "#/definitions/DocumentSize" + }, + "printOptions": { + "$ref": "#/definitions/PrintOptionList" + } + }, + "description": "Document specification that is supported for a service offering." + }, + "Item": { + "type": "object", + "required": [ + "quantity" + ], + "properties": { + "itemValue": { + "$ref": "#/definitions/Currency" + }, + "description": { + "type": "string", + "description": "The product description of the item." + }, + "itemIdentifier": { + "type": "string", + "description": "A unique identifier for an item provided by the client." + }, + "quantity": { + "type": "integer", + "description": "The number of units. This value is required." + }, + "weight": { + "$ref": "#/definitions/Weight" + }, + "liquidVolume": { + "$ref": "#/definitions/LiquidVolume" + }, + "isHazmat": { + "type": "boolean", + "description": "When true, the item qualifies as hazardous materials (hazmat). Defaults to false." + }, + "dangerousGoodsDetails": { + "$ref": "#/definitions/DangerousGoodsDetails" + }, + "productType": { + "type": "string", + "description": "The product type of the item." + }, + "invoiceDetails": { + "$ref": "#/definitions/InvoiceDetails" + }, + "serialNumbers": { + "type": "array", + "items": { + "type": "string" + }, + "description": "A list of unique serial numbers in an Amazon package that can be used to guarantee non-fraudulent items. The number of serial numbers in the list must be less than or equal to the quantity of items being shipped. Only applicable when channel source is Amazon." + }, + "directFulfillmentItemIdentifiers": { + "$ref": "#/definitions/DirectFulfillmentItemIdentifiers" + } + }, + "description": "An item in a package." + }, + "ItemList": { + "type": "array", + "description": "A list of items.", + "items": { + "$ref": "#/definitions/Item" + } + }, + "Package": { + "type": "object", + "required": [ + "dimensions", + "insuredValue", + "items", + "packageClientReferenceId", + "weight" + ], + "properties": { + "dimensions": { + "$ref": "#/definitions/Dimensions" + }, + "weight": { + "$ref": "#/definitions/Weight" + }, + "insuredValue": { + "$ref": "#/definitions/Currency" + }, + "isHazmat": { + "type": "boolean", + "description": "When true, the package contains hazardous materials. Defaults to false." + }, + "sellerDisplayName": { + "type": "string", + "description": "The seller name displayed on the label." + }, + "charges": { + "$ref": "#/definitions/ChargeList" + }, + "packageClientReferenceId": { + "$ref": "#/definitions/PackageClientReferenceId" + }, + "items": { + "$ref": "#/definitions/ItemList" + } + }, + "description": "A package to be shipped through a shipping service offering." + }, + "PackageList": { + "type": "array", + "description": "A list of packages to be shipped through a shipping service offering.", + "items": { + "$ref": "#/definitions/Package" + } + }, + "DirectFulfillmentItemIdentifiers": { + "type": "object", + "required": [ + "lineItemID" + ], + "properties": { + "lineItemID": { + "type": "string", + "description": "A unique identifier for an item provided by the client for a direct fulfillment shipment. This is only populated for direct fulfillment multi-piece shipments. It is required if a vendor wants to change the configuration of the packages in which the purchase order is shipped." + }, + "pieceNumber": { + "type": "string", + "description": "A unique identifier for an item provided by the client for a direct fulfillment shipment. This is only populated if a single line item has multiple pieces. Defaults to 1." + } + }, + "description": "Item identifiers for an item in a direct fulfillment shipment." + }, + "PackageDocumentDetail": { + "type": "object", + "required": [ + "packageClientReferenceId", + "packageDocuments" + ], + "properties": { + "packageClientReferenceId": { + "$ref": "#/definitions/PackageClientReferenceId" + }, + "packageDocuments": { + "$ref": "#/definitions/PackageDocumentList" + }, + "trackingId": { + "$ref": "#/definitions/TrackingId" + } + }, + "description": "The post-purchase details of a package that will be shipped using a shipping service." + }, + "PackageDocumentDetailList": { + "type": "array", + "description": "A list of post-purchase details about a package that will be shipped using a shipping service.", + "items": { + "$ref": "#/definitions/PackageDocumentDetail" + } + }, + "TimeWindow": { + "type": "object", + "properties": { + "start": { + "type": "string", + "format": "date-time", + "description": "The start time of the time window." + }, + "end": { + "type": "string", + "format": "date-time", + "description": "The end time of the time window." + } + }, + "description": "The start and end time that specifies the time interval of an event." + }, + "Promise": { + "type": "object", + "properties": { + "deliveryWindow": { + "$ref": "#/definitions/TimeWindow" + }, + "pickupWindow": { + "$ref": "#/definitions/TimeWindow" + } + }, + "description": "The time windows promised for pickup and delivery events." + }, + "RequestedValueAddedServiceList": { + "type": "array", + "description": "The value-added services to be added to a shipping service purchase.", + "items": { + "$ref": "#/definitions/RequestedValueAddedService" + } + }, + "RequestedValueAddedService": { + "type": "object", + "required": [ + "id" + ], + "properties": { + "id": { + "type": "string", + "description": "The identifier of the selected value-added service. Must be among those returned in the response to the getRates operation." + } + }, + "description": "A value-added service to be applied to a shipping service purchase." + }, + "AvailableValueAddedServiceGroupList": { + "type": "array", + "description": "A list of value-added services available for a shipping service offering.", + "items": { + "$ref": "#/definitions/AvailableValueAddedServiceGroup" + } + }, + "AvailableValueAddedServiceGroup": { + "type": "object", + "required": [ + "groupDescription", + "groupId", + "isRequired" + ], + "properties": { + "groupId": { + "type": "string", + "description": "The type of the value-added service group." + }, + "groupDescription": { + "type": "string", + "description": "The name of the value-added service group." + }, + "isRequired": { + "type": "boolean", + "description": "When true, one or more of the value-added services listed must be specified." + }, + "valueAddedServices": { + "type": "array", + "description": "A list of optional value-added services available for purchase with a shipping service offering.", + "items": { + "$ref": "#/definitions/ValueAddedService" + } + } + }, + "description": "The value-added services available for purchase with a shipping service offering." + }, + "ValueAddedService": { + "type": "object", + "required": [ + "cost", + "id", + "name" + ], + "properties": { + "id": { + "type": "string", + "description": "The identifier for the value-added service." + }, + "name": { + "type": "string", + "description": "The name of the value-added service." + }, + "cost": { + "description": "The cost of the value-added service.", + "$ref": "#/definitions/Currency" + } + }, + "description": "A value-added service available for purchase with a shipment service offering." + }, + "CollectOnDelivery": { + "type": "object", + "required": [ + "amount" + ], + "properties": { + "amount": { + "$ref": "#/definitions/Currency" + } + }, + "description": "The amount to collect on delivery." + }, + "ValueAddedServiceDetails": { + "type": "object", + "properties": { + "collectOnDelivery": { + "$ref": "#/definitions/CollectOnDelivery" + } + }, + "description": "A collection of supported value-added services." + }, + "DangerousGoodsDetails": { + "type": "object", + "properties": { + "unitedNationsRegulatoryId" : { + "type": "string", + "description": "The specific UNID of the item being shipped.", + "pattern" : "^[0-9]{4}$" + }, + "transportationRegulatoryClass" : { + "type": "string", + "description": "The specific regulatory class of the item being shipped.", + "pattern": "^[1-9](\\.[1-9])?$" + }, + "packingGroup" : { + "type": "string", + "description": "The specific packaging group of the item being shipped.", + "enum": [ + "I", + "II", + "III" + ], + "x-docgen-enum-table-extension": [ + { + "value": "I", + "description": "Packing group I indicates great danger." + }, + { + "value": "II", + "description": "Packing group II indicates medium danger." + }, + { + "value": "III", + "description": "Packing group III indicates minor danger." + } + ] + }, + "packingInstruction": { + "type": "string", + "description": "The specific packing instruction of the item being shipped.", + "enum": [ + "PI965_SECTION_IA", + "PI965_SECTION_IB", + "PI965_SECTION_II", + "PI966_SECTION_I", + "PI966_SECTION_II", + "PI967_SECTION_I", + "PI967_SECTION_II", + "PI968_SECTION_IA", + "PI968_SECTION_IB", + "PI969_SECTION_I", + "PI969_SECTION_II", + "PI970_SECTION_I", + "PI970_SECTION_II" + ], + "x-docgen-enum-table-extension": [ + { + "value": "PI965_SECTION_IA", + "description": "Ion PI965 Section IA (LiBa)" + }, + { + "value": "PI965_SECTION_IB", + "description": "Ion PI965 Section IB (LiBa)" + }, + { + "value": "PI965_SECTION_II", + "description": "Ion PI965 Section II (LiBa)" + }, + { + "value": "PI966_SECTION_I", + "description": "Ion PI966 Section I (LiBa with equipment)" + }, + { + "value": "PI966_SECTION_II", + "description": "Ion PI966 Section II (LiBa with equipment)" + }, + { + "value": "PI967_SECTION_I", + "description": "Ion PI967 Section I (LiBa in equipment)" + }, + { + "value": "PI967_SECTION_II", + "description": "Ion PI967 Section II (LiBa in equipment)" + }, + { + "value": "PI968_SECTION_IA", + "description": "Metal PI968 Section IA (LiBa)" + }, + { + "value": "PI968_SECTION_IB", + "description": "Metal PI968 Section IB (LiBa)" + }, + { + "value": "PI969_SECTION_I", + "description": "Metal PI969 Section I (LiBa with equipment)" + }, + { + "value": "PI969_SECTION_II", + "description": "Metal PI969 Section II (LiBa with equipment)" + }, + { + "value": "PI970_SECTION_I", + "description": "Metal PI970 Section I (LiBa in equipment)" + }, + { + "value": "PI970_SECTION_II", + "description": "Metal PI970 Section II (LiBa in equipment)" + } + ] + } + }, + "description": "Details related to any dangerous goods/items that are being shipped." + }, + "TaxType": { + "type": "string", + "description": "Indicates the type of tax.", + "enum": [ + "GST" + ], + "x-docgen-enum-table-extension": [ + { + "value": "GST", + "description": "Goods and Services Tax." + } + ] + }, + "TaxDetail": { + "description": "Indicates the tax specifications associated with the shipment for customs compliance purposes in certain regions.", + "type": "object", + "required": [ + "taxRegistrationNumber", + "taxType" + ], + "properties": { + "taxType": { + "$ref": "#/definitions/TaxType" + }, + "taxRegistrationNumber": { + "description": "The shipper's tax registration number associated with the shipment for customs compliance purposes in certain regions.", + "type": "string" + } + } + }, + "TaxDetailList": { + "type": "array", + "description": "A list of tax detail information.", + "items": { + "$ref": "#/definitions/TaxDetail" + } + }, + "EventCode": { + "type": "string", + "description": "The tracking event type.", + "enum": [ + "ReadyForReceive", + "PickupDone", + "Delivered", + "Departed", + "DeliveryAttempted", + "Lost", + "OutForDelivery", + "ArrivedAtCarrierFacility", + "Rejected", + "Undeliverable", + "PickupCancelled" + ], + "x-docgen-enum-table-extension": [ + { + "value": "ReadyForReceive", + "description": "Package has been created and is ready for pickup at the shippers location. This is a pre-transit status event code." + }, + { + "value": "PickupDone", + "description": "Package has been picked up by the service provider." + }, + { + "value": "Delivered", + "description": "Package has been delivered." + }, + { + "value": "Departed", + "description": "Package has departed from a particular location in carrier network." + }, + { + "value": "DeliveryAttempted", + "description": "Delivery was attempted, but was unsuccessful." + }, + { + "value": "Lost", + "description": "Package is lost." + }, + { + "value": "OutForDelivery", + "description": "Package is out for delivery." + }, + { + "value": "ArrivedAtCarrierFacility", + "description": "Package is in transit and has been received at a carrier location." + }, + { + "value": "Rejected", + "description": "Package was rejected by the recipient." + }, + { + "value": "Undeliverable", + "description": "Package is undeliverable." + }, + { + "value": "PickupCancelled", + "description": "Pickup scheduled for the package was cancelled." + } + ] + }, + "Event": { + "type": "object", + "required": [ + "eventCode", + "eventTime" + ], + "properties": { + "eventCode": { + "$ref": "#/definitions/EventCode" + }, + "location": { + "$ref": "#/definitions/Location" + }, + "eventTime": { + "type": "string", + "format": "date-time", + "description": "The ISO 8601 formatted timestamp of the event." + } + }, + "description": "A tracking event." + }, + "TrackingSummary": { + "type": "object", + "properties": { + "status": { + "$ref": "#/definitions/Status" + } + }, + "description": "A package status summary." + }, + "Status": { + "type": "string", + "description": "The status of the package being shipped.", + "enum": [ + "PreTransit", + "InTransit", + "Delivered", + "Lost", + "OutForDelivery", + "Rejected", + "Undeliverable", + "DeliveryAttempted", + "PickupCancelled" + ], + "x-docgen-enum-table-extension": [ + { + "value": "PreTransit", + "description": "Package has been created but has not been picked up." + }, + { + "value": "InTransit", + "description": "Package has been picked up and is in transit." + }, + { + "value": "Delivered", + "description": "Package has has been delivered successfully." + }, + { + "value": "Lost", + "description": "Package is lost." + }, + { + "value": "OutForDelivery", + "description": "Package is out for delivery." + }, + { + "value": "Rejected", + "description": "Package has been rejected by the recipient." + }, + { + "value": "Undeliverable", + "description": "Package was undeliverable." + }, + { + "value": "DeliveryAttempted", + "description": "Delivery was attempted to the recipient location, but was not delivered." + }, + { + "value": "PickupCancelled", + "description": "Pickup was cancelled for the package." + } + ] + }, + "AmazonOrderDetails": { + "type": "object", + "required": [ + "orderId" + ], + "properties": { + "orderId": { + "type": "string", + "description": "The Amazon order ID associated with the Amazon order fulfilled by this shipment." + } + }, + "description": "Amazon order information. This is required if the shipment source channel is Amazon." + }, + "AmazonShipmentDetails": { + "type": "object", + "required": [ + "shipmentId" + ], + "properties": { + "shipmentId": { + "type": "string", + "description": "This attribute is required only for a Direct Fulfillment shipment. This is the encrypted shipment ID." + } + }, + "description": "Amazon shipment information." + }, + "ChannelType": { + "type": "string", + "description": "The shipment source channel type.", + "enum": [ + "AMAZON", + "EXTERNAL" + ], + "x-docgen-enum-table-extension": [ + { + "value": "AMAZON", + "description": "Indicates that the shipment originates from an Amazon order." + }, + { + "value": "EXTERNAL", + "description": "Indicates that the shipment originates from a non-Amazon channel." + } + ] + }, + "ChannelDetails": { + "type": "object", + "required": [ + "channelType" + ], + "properties": { + "channelType": { + "$ref": "#/definitions/ChannelType" + }, + "amazonOrderDetails": { + "$ref": "#/definitions/AmazonOrderDetails" + }, + "amazonShipmentDetails": { + "$ref": "#/definitions/AmazonShipmentDetails" + } + }, + "description": "Shipment source channel related information." + }, + "RateList": { + "type": "array", + "description": "A list of eligible shipping service offerings.", + "items": { + "$ref": "#/definitions/Rate" + } + }, + "Rate": { + "type": "object", + "required": [ + "carrierId", + "carrierName", + "promise", + "rateId", + "requiresAdditionalInputs", + "serviceId", + "serviceName", + "supportedDocumentSpecifications", + "totalCharge" + ], + "properties": { + "rateId": { + "$ref": "#/definitions/RateId" + }, + "carrierId": { + "$ref": "#/definitions/CarrierId" + }, + "carrierName": { + "$ref": "#/definitions/CarrierName" + }, + "serviceId": { + "$ref": "#/definitions/ServiceId" + }, + "serviceName": { + "$ref": "#/definitions/ServiceName" + }, + "billedWeight": { + "$ref": "#/definitions/Weight" + }, + "totalCharge": { + "$ref": "#/definitions/Currency" + }, + "promise": { + "$ref": "#/definitions/Promise" + }, + "supportedDocumentSpecifications": { + "$ref": "#/definitions/SupportedDocumentSpecificationList" + }, + "availableValueAddedServiceGroups": { + "$ref": "#/definitions/AvailableValueAddedServiceGroupList" + }, + "requiresAdditionalInputs": { + "type": "boolean", + "description" : "When true, indicates that additional inputs are required to purchase this shipment service. You must then call the getAdditionalInputs operation to return the JSON schema to use when providing the additional inputs to the purchaseShipment operation." + }, + "rateItemList": { + "$ref": "#/definitions/RateItemList" + }, + "paymentType": { + "$ref": "#/definitions/PaymentType" + }, + "benefits": { + "$ref": "#/definitions/Benefits" + } + }, + "description": "The details of a shipping service offering." + }, + "IneligibilityReasonCode": { + "type": "string", + "description": "Reasons that make a shipment service offering ineligible.", + "enum": [ + "NO_COVERAGE", + "PICKUP_SLOT_RESTRICTION", + "UNSUPPORTED_VAS", + "VAS_COMBINATION_RESTRICTION", + "SIZE_RESTRICTIONS", + "WEIGHT_RESTRICTIONS", + "LATE_DELIVERY", + "PROGRAM_CONSTRAINTS", + "TERMS_AND_CONDITIONS_NOT_ACCEPTED", + "UNKNOWN" + ], + "x-docgen-enum-table-extension": [ + { + "value": "NO_COVERAGE", + "description": "The shipment is ineligible because there is no coverage to that address." + }, + { + "value": "PICKUP_SLOT_RESTRICTION", + "description": "The shipment is ineligible because there is an issue with the pickup slot." + }, + { + "value": "UNSUPPORTED_VAS", + "description": "The shipment is ineligible because the value-added service is invalid for this shipment." + }, + { + "value": "VAS_COMBINATION_RESTRICTION", + "description": "The shipment is ineligible because an invalid combination of value-added services were chosen." + }, + { + "value": "SIZE_RESTRICTIONS", + "description": "The shipment is ineligible because the package dimensions are unsupported." + }, + { + "value": "WEIGHT_RESTRICTIONS", + "description": "The shipment is ineligible because the weight is unsupported." + }, + { + "value": "LATE_DELIVERY", + "description": "The shipment is ineligible because delivery is too late." + }, + { + "value": "PROGRAM_CONSTRAINTS", + "description": "The shipment is ineligible because of program constraints." + }, + { + "value": "TERMS_AND_CONDITIONS_NOT_ACCEPTED", + "description": "The shipment is ineligible because terms and conditions have not been accepted by the carrier." + }, + { + "value": "UNKNOWN", + "description": "The ineligibility reason is unknown." + } + ] + }, + "IneligibilityReason" : { + "description": "The reason why a shipping service offering is ineligible.", + "type": "object", + "required": [ + "code", + "message" + ], + "properties": { + "code": { + "$ref": "#/definitions/IneligibilityReasonCode" + }, + "message": { + "type": "string", + "description": "The ineligibility reason." + } + } + }, + "IneligibleRate": { + "description": "Detailed information for an ineligible shipping service offering.", + "type": "object", + "required": [ + "carrierId", + "carrierName", + "ineligibilityReasons", + "serviceId", + "serviceName" + ], + "properties": { + "serviceId": { + "$ref": "#/definitions/ServiceId" + }, + "serviceName": { + "$ref": "#/definitions/ServiceName" + }, + "carrierName": { + "$ref": "#/definitions/CarrierName" + }, + "carrierId": { + "$ref": "#/definitions/CarrierId" + }, + "ineligibilityReasons": { + "type": "array", + "description": "A list of reasons why a shipping service offering is ineligible.", + "items": { + "$ref": "#/definitions/IneligibilityReason" + } + } + } + }, + "IneligibleRateList": { + "type": "array", + "description": "A list of ineligible shipping service offerings.", + "items": { + "$ref": "#/definitions/IneligibleRate" + } + }, + "CancelShipmentResult": { + "type": "object", + "description": "The payload for the cancelShipment operation.", + "additionalProperties": {} + }, + "CancelShipmentResponse": { + "type": "object", + "properties": { + "payload": { + "$ref": "#/definitions/CancelShipmentResult" + } + }, + "description": "Response schema for the cancelShipment operation." + }, + "GetRatesRequest": { + "description": "The request schema for the getRates operation. When the channelType is Amazon, the shipTo address is not required and will be ignored.", + "type": "object", + "required": [ + "channelDetails", + "packages", + "shipFrom" + ], + "properties": { + "shipTo": { + "description": "The ship to address.", + "$ref": "#/definitions/Address" + }, + "shipFrom": { + "description": "The ship from address.", + "$ref": "#/definitions/Address" + }, + "returnTo": { + "description": "The return to address.", + "$ref": "#/definitions/Address" + }, + "shipDate": { + "type": "string", + "format": "date-time", + "description": "The ship date and time (the requested pickup). This defaults to the current date and time." + }, + "shipperInstruction": { + "$ref": "#/definitions/ShipperInstruction", + "description": "This field describe shipper instruction." + }, + "packages": { + "$ref": "#/definitions/PackageList" + }, + "valueAddedServices": { + "$ref": "#/definitions/ValueAddedServiceDetails" + }, + "taxDetails": { + "$ref": "#/definitions/TaxDetailList" + }, + "channelDetails": { + "$ref": "#/definitions/ChannelDetails" + }, + "clientReferenceDetails": { + "$ref": "#/definitions/ClientReferenceDetails" + }, + "shipmentType": { + "$ref": "#/definitions/ShipmentType" + }, + "destinationAccessPointDetails": { + "$ref": "#/definitions/AccessPointDetails" + } + } + }, + "AccessPointDetails": { + "type": "object", + "properties": { + "accessPointId": { + "$ref": "#/definitions/AccessPointId" + } + } + }, + "GetRatesResult": { + "type": "object", + "required": [ + "rates", + "requestToken" + ], + "properties": { + "requestToken": { + "$ref": "#/definitions/RequestToken" + }, + "rates": { + "$ref": "#/definitions/RateList" + }, + "ineligibleRates": { + "$ref": "#/definitions/IneligibleRateList" + } + }, + "description": "The payload for the getRates operation." + }, + "GetRatesResponse": { + "type": "object", + "properties": { + "payload": { + "$ref": "#/definitions/GetRatesResult" + } + }, + "description": "The response schema for the getRates operation." + }, + "DirectPurchaseRequest": { + "description": "The request schema for the directPurchaseShipment operation. When the channel type is Amazon, the shipTo address is not required and will be ignored.", + "type": "object", + "required": [ + "channelDetails" + ], + "properties": { + "shipTo": { + "description": "The address where the shipment will be delivered. For vendor orders, shipTo information is pulled directly from the Amazon order.", + "$ref": "#/definitions/Address" + }, + "shipFrom": { + "description": "The address where the package will be picked up.", + "$ref": "#/definitions/Address" + }, + "returnTo": { + "description": "The address where the package will be returned if it cannot be delivered.", + "$ref": "#/definitions/Address" + }, + "packages": { + "$ref": "#/definitions/PackageList" + }, + "channelDetails": { + "$ref": "#/definitions/ChannelDetails" + }, + "labelSpecifications": { + "description": "The document (label) specifications requested. The default label returned is PNG DPI 203 4x6 if no label specification is provided. Requesting an invalid file format results in a failure.", + "$ref": "#/definitions/RequestedDocumentSpecification" + } + } + }, + "DirectPurchaseResult": { + "type": "object", + "required": [ + "shipmentId" + ], + "properties": { + "shipmentId": { + "$ref": "#/definitions/ShipmentId" + }, + "packageDocumentDetailList": { + "$ref": "#/definitions/PackageDocumentDetailList" + } + }, + "description": "The payload for the directPurchaseShipment operation." + }, + "DirectPurchaseResponse": { + "type": "object", + "properties": { + "payload": { + "$ref": "#/definitions/DirectPurchaseResult" + } + }, + "description": "The response schema for the directPurchaseShipment operation." + }, + "GetShipmentDocumentsResult": { + "type": "object", + "required": [ + "packageDocumentDetail", + "shipmentId" + ], + "properties": { + "shipmentId": { + "$ref": "#/definitions/ShipmentId" + }, + "packageDocumentDetail": { + "$ref": "#/definitions/PackageDocumentDetail" + } + }, + "description": "The payload for the getShipmentDocuments operation." + }, + "GetShipmentDocumentsResponse": { + "type": "object", + "properties": { + "payload": { + "$ref": "#/definitions/GetShipmentDocumentsResult" + } + }, + "description": "The response schema for the the getShipmentDocuments operation." + }, + "GetTrackingResult": { + "type": "object", + "required": [ + "eventHistory", + "promisedDeliveryDate", + "summary", + "trackingId", + "alternateLegTrackingId" + ], + "properties": { + "trackingId": { + "$ref": "#/definitions/TrackingId" + }, + "alternateLegTrackingId": { + "$ref": "#/definitions/AlternateLegTrackingId" + }, + "eventHistory": { + "type": "array", + "description": "A list of tracking events.", + "items": { + "$ref": "#/definitions/Event" + } + }, + "promisedDeliveryDate": { + "type": "string", + "format": "date-time", + "description": "The date and time by which the shipment is promised to be delivered." + }, + "summary": { + "$ref": "#/definitions/TrackingSummary" + } + }, + "description": "The payload for the getTracking operation." + }, + "GetTrackingResponse": { + "type": "object", + "properties": { + "payload": { + "$ref": "#/definitions/GetTrackingResult" + } + }, + "description": "The response schema for the getTracking operation." + }, + "PurchaseShipmentRequest": { + "description": "The request schema for the purchaseShipment operation.", + "type": "object", + "required": [ + "rateId", + "requestedDocumentSpecification", + "requestToken" + ], + "properties": { + "requestToken": { + "$ref": "#/definitions/RequestToken" + }, + "rateId": { + "$ref": "#/definitions/RateId" + }, + "requestedDocumentSpecification": { + "$ref": "#/definitions/RequestedDocumentSpecification" + }, + "requestedValueAddedServices": { + "$ref": "#/definitions/RequestedValueAddedServiceList" + }, + "additionalInputs": { + "type": "object", + "additionalProperties" : {}, + "description": "The additional inputs required to purchase a shipping offering, in JSON format. The JSON provided here must adhere to the JSON schema that is returned in the response to the getAdditionalInputs operation.\n\nAdditional inputs are only required when indicated by the requiresAdditionalInputs property in the response to the getRates operation." + } + } + }, + "PurchaseShipmentResult": { + "type": "object", + "required": [ + "packageDocumentDetails", + "promise", + "shipmentId" + ], + "properties": { + "shipmentId": { + "$ref": "#/definitions/ShipmentId" + }, + "packageDocumentDetails": { + + "$ref": "#/definitions/PackageDocumentDetailList" + }, + "promise": { + "$ref": "#/definitions/Promise" + } + }, + "description": "The payload for the purchaseShipment operation." + }, + "PurchaseShipmentResponse": { + "type": "object", + "properties": { + "payload": { + "$ref": "#/definitions/PurchaseShipmentResult" + } + }, + "description": "The response schema for the purchaseShipment operation." + }, + "OneClickShipmentRequest": { + "description": "The request schema for the OneClickShipment operation. When the channelType is not Amazon, shipTo is required and when channelType is Amazon shipTo is ignored.", + "type": "object", + "required": [ + "channelDetails", + "packages", + "shipFrom", + "labelSpecifications", + "serviceSelection" + ], + "properties": { + "shipTo": { + "description": "The ship to address.", + "$ref": "#/definitions/Address" + }, + "shipFrom": { + "description": "The ship from address.", + "$ref": "#/definitions/Address" + }, + "returnTo": { + "description": "The return to address.", + "$ref": "#/definitions/Address" + }, + "shipDate": { + "type": "string", + "format": "date-time", + "description": "The ship date and time (the requested pickup). This defaults to the current date and time." + }, + "packages": { + "$ref": "#/definitions/PackageList" + }, + "valueAddedServicesDetails": { + "$ref": "#/definitions/OneClickShipmentValueAddedServiceDetails" + }, + "taxDetails": { + "$ref": "#/definitions/TaxDetailList" + }, + "channelDetails": { + "$ref": "#/definitions/ChannelDetails" + }, + "labelSpecifications" : { + "$ref": "#/definitions/RequestedDocumentSpecification" + }, + "serviceSelection": { + "$ref": "#/definitions/ServiceSelection" + }, + "shipperInstruction": { + "$ref": "#/definitions/ShipperInstruction", + "description": "Optional field for shipper instruction." + }, + "destinationAccessPointDetails": { + "$ref": "#/definitions/AccessPointDetails" + } + } + }, + "OneClickShipmentResponse": { + "type": "object", + "properties": { + "payload": { + "$ref": "#/definitions/OneClickShipmentResult" + } + }, + "description": "The response schema for the OneClickShipment operation." + }, + "OneClickShipmentResult": { + "type": "object", + "required": [ + "packageDocumentDetails", + "promise", + "shipmentId", + "service", + "carrier", + "totalCharge" + ], + "properties": { + "shipmentId": { + "$ref": "#/definitions/ShipmentId" + }, + "packageDocumentDetails": { + "$ref": "#/definitions/PackageDocumentDetailList" + }, + "promise": { + "$ref": "#/definitions/Promise" + }, + "carrier": { + "$ref": "#/definitions/Carrier" + }, + "service": { + "$ref": "#/definitions/Service" + }, + "totalCharge": { + "$ref": "#/definitions/Currency" + } + }, + "description": "The payload for the OneClickShipment API." + }, + "GetAccessPointsResponse": { + "type": "object", + "properties": { + "payload": { + "$ref": "#/definitions/GetAccessPointsResult" + } + }, + "description": "The response schema for the GetAccessPoints operation." + }, + "GetAccessPointsResult": { + "type": "object", + "required": [ + "accessPointsMap" + ], + "properties": { + "accessPointsMap": { + "$ref": "#/definitions/AccessPointsMap" + } + }, + "description": "The payload for the GetAccessPoints API." + }, + "AccessPointType": { + "description": "The type of access point, like counter (HELIX), lockers, etc.", + "type": "string", + "enum": [ + "HELIX", + "CAMPUS_LOCKER", + "OMNI_LOCKER", + "ODIN_LOCKER", + "DOBBY_LOCKER", + "CORE_LOCKER", + "3P", + "CAMPUS_ROOM" + ], + "x-docgen-enum-table-extension": [ + { + "value": "HELIX", + "description": "Counter, aka Helix, is an assisted access point where customers interact with a store associate to collect or return packages. Counter stores do not have Locker" + }, + { + "value": "CAMPUS_LOCKER", + "description": "It denotes a physical Locker present at Locker+ stores" + }, + { + "value": "OMNI_LOCKER", + "description": "Omni lockers are similar to core lockers installed at apartment buildings. Core and Omni will have common base hardware platform" + }, + { + "value": "ODIN_LOCKER", + "description": "Odin lockers rely on Bluetooth connection as there is no screen or scanner on the locker. Drivers, customers, and even technicians can interact with the locker using an app (different depending on the user)." + }, + { + "value": "DOBBY_LOCKER", + "description": "Dobby lockers are Odin lockers installed at apartment complexes and available only to residents." + }, + { + "value": "CORE_LOCKER", + "description": "Core lockers are the traditional and initial style of lockers when Hub was launched. Core lockers have a screen, keypad and scanner. Customer either enter their pickup code using the Locker screen or scan pickup code barcode to pick up their package." + }, + { + "value": "3P", + "description": "Networks that are owned end-to-end by commercial carriers (CC - e.g. DHL, UPS, DPD and Postal organizations), who operate both the transportation leg and the access point aspect. These networks offer a range of pickup points including: 3P Lockers, legacy Postal Offices, 3P Counters (e.g. Gas Stations and Retail Outlets - supermarkets, bookstores, news-stands etc)." + }, + { + "value": "CAMPUS_ROOM", + "description": "Locker+, formerly known as Campus, are attended, physical stores, where the Locker is used dynamically by the staff to keep packages ready for customer pickup. Locker+ store can have multiple Lockers installed," + } + ] + }, + "AccessPointsMap": { + "description": "Map of type of access point to list of access points", + "type": "object", + "additionalProperties": { + "$ref": "#/definitions/AccessPointList" + } + }, + "AccessPointList": { + "description": "List of relevant Access points requested by shipper. These access points are sorted by proximity to postal code, and are limited to 40. We have internally defined a radius value to render relevant results.", + "type": "array", + "items": { + "$ref": "#/definitions/AccessPoint" + } + }, + "AccessPointId": { + "description": "Unique identifier for the access point", + "type": "string" + }, + "AccessPoint": { + "type": "object", + "description": "Access point details", + "properties": { + "accessPointId": { + "$ref": "#/definitions/AccessPointId" + }, + "name": { + "description": "Name of entity (store/hub etc) where this access point is located", + "type": "string" + }, + "timezone": { + "description": "Timezone of access point", + "type": "string" + }, + "type": { + "$ref": "#/definitions/AccessPointType" + }, + "accessibilityAttributes": { + "$ref": "#/definitions/AccessibilityAttributes" + }, + "address": { + "$ref": "#/definitions/Address" + }, + "exceptionOperatingHours": { + "type": "array", + "items": { + "$ref": "#/definitions/ExceptionOperatingHours" + } + }, + "assistanceType": { + "type": "string", + "enum": [ + "STAFF_ASSISTED", + "SELF_ASSISTED" + ] + }, + "score": { + "type": "string", + "description": "The score of access point, based on proximity to postal code and sorting preference. This can be used to sort access point results on shipper's end." + }, + "standardOperatingHours": { + "$ref": "#/definitions/DayOfWeekTimeMap" + } + } + }, + "AccessibilityAttributes": { + "type": "object", + "description": "Defines the accessibility details of the access point.", + "properties": { + "distance": { + "description": "The approximate distance of access point from input postalCode's centroid.", + "type": "string" + }, + "driveTime": { + "description": "The approximate (static) drive time from input postal code's centroid.", + "type": "integer" + } + } + }, + "OperatingHours": { + "type": "object", + "description": "The hours in which the access point shall remain operational", + "properties": { + "closingTime": { + "$ref": "#/definitions/TimeOfDay" + }, + "openingTime": { + "$ref": "#/definitions/TimeOfDay" + }, + "midDayClosures": { + "type": "array", + "items": { + "$ref": "#/definitions/TimeOfDay" + } + } + } + }, + "TimeOfDay": { + "type": "object", + "description": "Denotes time of the day, used for defining opening or closing time of access points", + "properties": { + "hourOfDay": { + "type": "integer" + }, + "minuteOfHour": { + "type": "integer" + }, + "secondOfMinute": { + "type": "integer" + } + } + }, + "DayOfWeekTimeMap": { + "description": "Map of day of the week to operating hours of that day", + "type": "object", + "additionalProperties": { + "$ref": "#/definitions/OperatingHours" + } + }, + "ExceptionOperatingHours": { + "type": "object", + "description": "Defines exceptions to standard operating hours for certain date ranges.", + "properties": { + "dateRange": { + "$ref": "#/definitions/DateRange" + }, + "operatingHours": { + "$ref": "#/definitions/OperatingHours" + } + } + }, + "GetAdditionalInputsResult": { + "type": "object", + "description": "The JSON schema to use to provide additional inputs when required to purchase a shipping offering.", + "additionalProperties": {} + }, + "GetAdditionalInputsResponse": { + "type": "object", + "properties": { + "payload": { + "$ref": "#/definitions/GetAdditionalInputsResult" + } + }, + "description": "The response schema for the getAdditionalInputs operation." + }, + "GetCarrierAccountsRequest": { + "description": "The request schema for the GetCarrierAccounts operation.", + "type": "object", + "properties": { + "clientReferenceDetails": { + "$ref": "#/definitions/ClientReferenceDetails" + } + } + }, + "LinkCarrierAccountRequest": { + "description": "The request schema for verify and add the merchant's account with a certain carrier.", + "type": "object", + "required": [ + "carrierAccountAttributes", + "carrierAccountType" + ], + "properties": { + "clientReferenceDetails": { + "$ref": "#/definitions/ClientReferenceDetails" + }, + "carrierAccountType" : { + "$ref": "#/definitions/CarrierAccountType" + }, + "carrierAccountAttributes" : { + "$ref": "#/definitions/CarrierAccountAttributes" + }, + "encryptedCarrierAccountAttributes" : { + "$ref": "#/definitions/CarrierAccountAttributes" + } + } + }, + "UnlinkCarrierAccountRequest": { + "description": "The request schema for remove the Carrier Account associated with the provided merchant.", + "type": "object", + "properties": { + "clientReferenceDetails": { + "$ref": "#/definitions/ClientReferenceDetails" + } + } + }, + "GenerateCollectionFormRequest": { + "description": "The request schema Call to generate the collection form.", + "type": "object", + "required": [ + "carrierId" + ], + "properties": { + "clientReferenceDetails": { + "$ref": "#/definitions/ClientReferenceDetails" + }, + "carrierId" : { + "$ref": "#/definitions/CarrierId" + }, + "shipFromAddress" : { + "$ref": "#/definitions/Address" + } + } + }, + "GetCollectionFormHistoryRequest": { + "description": "The request schema to get query collections form history API .", + "type": "object", + "properties": { + "clientReferenceDetails": { + "$ref": "#/definitions/ClientReferenceDetails" + }, + "maxResults" : { + "type": "integer", + "description": "max Number of Results for query ." + }, + "carrierId" : { + "$ref": "#/definitions/CarrierId" + }, + "shipFromAddress" : { + "$ref": "#/definitions/Address" + }, + "dateRange" : { + "$ref": "#/definitions/DateRange" + } + } + }, + "GetUnmanifestedShipmentsRequest": { + "description": "The request schema for the GetUnmanifestedShipmentsRequest operation.", + "type": "object", + "properties": { + "clientReferenceDetails": { + "$ref": "#/definitions/ClientReferenceDetails" + } + } + }, + "GetCarrierAccountFormInputsResponse": { + "description": "The Response for the GetCarrierAccountFormInputsResponse operation.", + "type": "object", + "properties": { + "linkableCarriersList": { + "$ref": "#/definitions/LinkableCarriersList" + } + } + }, + "GetCarrierAccountsResponse": { + "description": "The Response for the GetCarrierAccountsResponse operation.", + "type": "object", + "required": [ + "activeAccounts" + ], + "properties": { + "activeAccounts": { + "$ref": "#/definitions/ActiveAccounts" + } + } + }, + "LinkCarrierAccountResponse": { + "description": "The Response for the LinkCarrierAccount operation.", + "type": "object", + "properties": { + "registrationStatus": { + "$ref": "#/definitions/AccountStatus" + } + } + }, + "UnlinkCarrierAccountResponse": { + "description": "The Response for the UnlinkCarrierAccountResponse operation.", + "type": "object", + "properties": { + "isUnlinked": { + "type" : "boolean", + "description" : "Is Carrier unlinked from Merchant" + } + } + }, + "GenerateCollectionFormResponse": { + "description": "The Response for the GenerateCollectionFormResponse operation.", + "type": "object", + "properties": { + "collectionsFormDocument": { + "$ref": "#/definitions/CollectionsFormDocument" + } + } + }, + "GetCollectionFormHistoryResponse": { + "description": "The Response for the GetCollectionFormHistoryResponse operation.", + "type": "object", + "properties": { + "collectionFormsHistoryRecordList": { + "$ref": "#/definitions/CollectionFormsHistoryRecordList" + }, + "lastRefreshedDate" : { + "type" : "string", + "description" : "Last Refereshed Date of collection" + } + } + }, + "GetUnmanifestedShipmentsResponse": { + "description": "The Response for the GetUnmanifestedShipmentsResponse operation.", + "type": "object", + "properties": { + "unmanifestedCarrierInformationList": { + "$ref": "#/definitions/UnmanifestedCarrierInformationList" + } + } + }, + "GetCollectionFormResponse": { + "description": "The Response for the GetCollectionFormResponse operation.", + "type": "object", + "properties": { + "collectionsFormDocument": { + "$ref": "#/definitions/CollectionsFormDocument" + } + } + }, + + "ClientReferenceDetails": { + "type": "array", + "description": "Object to pass additional information about the MCI Integrator shipperType: List of ClientReferenceDetail", + "items": { + "$ref": "#/definitions/ClientReferenceDetail" + } + }, + "ClientReferenceDetail": { + "type": "object", + "required": [ + "clientReferenceType", + "clientReferenceId" + ], + "properties": { + "clientReferenceType": { + "type": "string", + "description": "Client Reference type.", + "enum": [ + "IntegratorShipperId", + "IntegratorMerchantId" + ], + "x-docgen-enum-table-extension": [ + { + "value": "IntegratorShipperId", + "description": "The unique identifier assigned to a 3P seller by the shipping integrator." + }, + { + "value": "IntegratorMerchantId", + "description": "The unique identifier assigned to a 3P shipping integrator by Amazon." + } + ] + }, + "clientReferenceId": { + "type": "string", + "description": "The Client Reference Id." + } + }, + "description": "Client Reference Details" + }, + "CollectionFormId": { + "type": "string", + "description": "Collection Form Id for Reprint ." + }, + "ShipmentType": { + "type": "string", + "description": "Shipment type.", + "enum": [ + "FORWARD", + "RETURNS" + ], + "x-docgen-enum-table-extension": [ + { + "value": "FORWARD", + "description": "The identifier for forward request." + }, + { + "value": "RETURNS", + "description": "The identifier for return request." + } + ] + }, + "ActiveAccounts": { + "type": "array", + "description": "A list of ActiveAccount", + "items": { + "$ref": "#/definitions/ActiveAccount" + } + }, + "ActiveAccount": { + "type": "object", + "properties": { + "accountId": { + "type": "string", + "description": "Account Id associated with this account." + }, + "carrierId": { + "$ref": "#/definitions/CarrierId" + } + }, + "description": "Active Account Details" + }, + "DateRange": { + "type": "object", + "properties": { + "startDate": { + "type": "string", + "format": "dateTime", + "description": "Start Date for query ." + }, + "endDate": { + "type": "string", + "format": "dateTime", + "description": "end date for query." + } + }, + "description": "Date Range for query the results." + }, + "CarrierAccountAttributes": { + "type": "array", + "description": "A list of all attributes required by the carrier in order to successfully link the merchant's account", + "items": { + "$ref": "#/definitions/CarrierAccountAttribute" + } + }, + "CarrierAccountAttribute": { + "type": "object", + "properties": { + "attributeName": { + "type": "string", + "description": "Attribute Name ." + }, + "propertyGroup": { + "type": "string", + "description": "Property Group." + }, + "value": { + "type": "string", + "description": "Value ." + } + }, + "description": "Attribute Properties required by carrier" + }, + "CarrierAccountType": { + "type": "string", + "description": "CarrierAccountType associated with account." + }, + "MerchantId": { + "type": "string", + "description": "merchant Id of provided merchant " + }, + "AccountStatus": { + "type": "string", + "description": "Account Status.", + "enum": [ + "ACTIVE", + "INACTIVE", + "PENDING", + "SUSPENDED" + ], + "x-docgen-enum-table-extension": [ + { + "value": "ACTIVE", + "description": "Seller Account is Active." + }, + { + "value": "INACTIVE", + "description": "Seller Account is InActive." + }, + { + "value": "PENDING", + "description": "Seller Account is Pending." + }, + { + "value": "SUSPENDED", + "description": "Seller Account is Suspended." + } + ] + }, + "CollectionsFormDocument": { + "type": "object", + "properties": { + "base64EncodedContent": { + "type": "string", + "description": "Base64 document Value of Collection." + }, + "documentFormat": { + "type": "string", + "format": "application/pdf", + "description": "Collection Document format is PDF." + } + }, + "description": "Collection Form Document Details" + }, + "CollectionFormsHistoryRecordList": { + "type": "array", + "description": "A list of CollectionFormsHistoryRecord", + "items": { + "$ref": "#/definitions/CollectionFormsHistoryRecord" + } + }, + "CollectionFormsHistoryRecord": { + "type": "object", + "properties": { + "carrierName": { + "$ref": "#/definitions/CarrierName" + }, + "creationDate": { + "type": "string", + "format": "dateTime", + "description": "Creation Time for this account." + }, + "generationStatus": { + "$ref": "#/definitions/GenerationStatus" + }, + "collectionFormId": { + "$ref": "#/definitions/CollectionFormId" + }, + "shipFromAddress": { + "$ref": "#/definitions/Address" + } + }, + "description": "Active Account Details" + }, + "UnmanifestedCarrierInformationList": { + "type": "array", + "description": "A list of UnmanifestedCarrierInformation", + "items": { + "$ref": "#/definitions/UnmanifestedCarrierInformation" + } + }, + "UnmanifestedCarrierInformation": { + "type": "object", + "properties": { + "carrierId": { + "$ref": "#/definitions/CarrierId" + }, + "carrierName": { + "$ref": "#/definitions/CarrierName" + }, + "unmanifestedShipmentLocationList": { + "$ref": "#/definitions/UnmanifestedShipmentLocationList" + } + }, + "description": "UnmanifestedCarrierInformation like carrierId CarrierName and Location" + }, + "UnmanifestedShipmentLocationList": { + "type": "array", + "description": "A list of UnmanifestedShipmentLocation", + "items": { + "$ref": "#/definitions/UnmanifestedShipmentLocation" + } + }, + "UnmanifestedShipmentLocation": { + "type": "object", + "properties": { + "address": { + "$ref": "#/definitions/Address" + }, + "lastManifestDate": { + "type": "string", + "format": "dateTime", + "description": "Its Last Manifest Date." + } + }, + "description": "UnmanifestedShipmentLocation info " + }, + "LinkableCarriersList": { + "type": "array", + "description": "A list of LinkableCarrier", + "items": { + "$ref": "#/definitions/LinkableCarrier" + } + }, + "LinkableCarrier": { + "type": "object", + "properties": { + "carrierId": { + "$ref": "#/definitions/CarrierId" + }, + "linkableAccountTypes": { + "$ref": "#/definitions/LinkableAccountTypeList" + } + }, + "description": "Info About Linkable Carrier" + }, + "LinkableAccountTypeList": { + "type": "array", + "description": "A list of LinkableAccountType", + "items": { + "$ref": "#/definitions/LinkableAccountType" + } + }, + "LinkableAccountType": { + "type": "object", + "properties": { + "accountType": { + "$ref": "#/definitions/AccountType" + }, + "carrierAccountInputs": { + "$ref": "#/definitions/CarrierAccountInputsList" + } + }, + "description": "Info About Linkable Account Type" + }, + + "CarrierAccountInputsList": { + "type": "array", + "description": "A list of CarrierAccountInput", + "items": { + "$ref": "#/definitions/CarrierAccountInput" + } + }, + "CarrierAccountInput": { + "type": "object", + "properties": { + "descriptionLocalizationKey": { + "type": "string", + "description": "descriptionLocalizationKey value ." + }, + "name": { + "type": "string", + "description": "name value ." + }, + "groupName": { + "type": "string", + "description": "groupName value ." + }, + "inputType": { + "$ref": "#/definitions/InputType" + }, + "isMandatory": { + "type": "boolean", + "description": "mandatory or not value ." + }, + "isConfidential": { + "type": "boolean", + "description": "is value is Confidential ." + }, + "isHidden": { + "type": "boolean", + "description": "is value is hidden ." + }, + "validationMetadata": { + "$ref": "#/definitions/ValidationMetadataList" + } + }, + "description": "Info About CarrierAccountInput" + }, + "ValidationMetadataList": { + "type": "array", + "description": "A list of ValidationMetadata", + "items": { + "$ref": "#/definitions/ValidationMetadata" + } + }, + "ValidationMetadata": { + "type": "object", + "properties": { + "errorMessage": { + "type": "string", + "description": "errorMessage for the error." + }, + "validationStrategy": { + "type": "string", + "description": "validationStrategy for the error." + }, + "value": { + "type": "string", + "description": "Value." + } + }, + "description": "ValidationMetadata Details" + }, + "GenerationStatus": { + "type": "string", + "description": "Generation Status.", + "enum": [ + "Completed", + "InProgress" + ], + "x-docgen-enum-table-extension": [ + { + "value": "Completed", + "description": "Genertaion is succesfully completed ." + }, + { + "value": "InProgress", + "description": "Genertaion is in Progress." + } + ] + }, + "AccountType": { + "type": "string", + "description": "Shipper Account Type.", + "enum": [ + "SHIPPER_ACCOUNT", + "SHIPPER_ACCOUNT_WITH_INVOICE", + "AMAZON_ACCOUNT" + ], + "x-docgen-enum-table-extension": [ + { + "value": "SHIPPER_ACCOUNT", + "description": "Shipper Account in case of others carriers like : FEDEX, ROYLA_MAIL, DHL etc." + }, + { + "value": "SHIPPER_ACCOUNT_WITH_INVOICE", + "description": "Shipper Account only for UPS ." + }, + { + "value": "AMAZON_ACCOUNT", + "description": "this for default account and will be used if seller dont have any active linked account." + } + ] + }, + "InputType": { + "type": "string", + "description": "Type of Input.", + "enum": [ + "TEXTBOX", + "PASSWORD" + ], + "x-docgen-enum-table-extension": [ + { + "value": "TEXTBOX", + "description": "Input Type is Textbox." + }, + { + "value": "PASSWORD", + "description": "Input Type is Password." + } + ] + }, + + "PaymentType": { + "type": "string", + "description": "Payment type of the purchase.", + "enum": [ + "PAY_THROUGH_AMAZON", + "PAY_DIRECT_TO_CARRIER" + ], + "x-docgen-enum-table-extension": [ + { + "value": "PAY_THROUGH_AMAZON", + "description": "Payment Through Amazon." + }, + { + "value": "PAY_DIRECT_TO_CARRIER", + "description": "Payment Direct to Carrier." + } + ] + }, + "RateItemList": { + "type": "array", + "description": "A list of RateItem", + "items": { + "$ref": "#/definitions/RateItem" + } + }, + "RateItem": { + "type": "object", + "properties": { + "rateItemID": { + "$ref": "#/definitions/RateItemID" + }, + "rateItemType": { + "$ref": "#/definitions/RateItemType" + }, + "rateItemCharge": { + "$ref": "#/definitions/Currency" + }, + "rateItemNameLocalization": { + "type": "string", + "description": "Used for the localization." + } + }, + "description": "Rate Item for shipping (base cost, transaction fee, confirmation, insurance, etc.) Data source definition: " + }, + "RateItemID": { + "type": "string", + "description": "Unique ID for the rateItem.", + "enum": [ + "BASE_RATE", + "TRANSACTION_FEE", + "ADULT_SIGNATURE_CONFIRMATION", + "SIGNATURE_CONFIRMATION", + "NO_CONFIRMATION", + "WAIVE_SIGNATURE", + "IMPLIED_LIABILITY", + "HIDDEN_POSTAGE", + "DECLARED_VALUE", + "SUNDAY_HOLIDAY_DELIVERY", + "DELIVERY_CONFIRMATION", + "IMPORT_DUTY_CHARGE", + "VAT", + "NO_SATURDAY_DELIVERY", + "INSURANCE", + "COD", + "FUEL_SURCHARGE", + "INSPECTION_CHARGE", + "DELIVERY_AREA_SURCHARGE", + "WAYBILL_CHARGE", + "AMAZON_SPONSORED_DISCOUNT", + "INTEGRATOR_SPONSORED_DISCOUNT", + "OVERSIZE_SURCHARGE", + "CONGESTION_CHARGE", + "RESIDENTIAL_SURCHARGE", + "ADDITIONAL_SURCHARGE", + "SURCHARGE", + "REBATE" + ], + "x-docgen-enum-table-extension": [ + { + "value": "BASE_RATE", + "description": "for Base Rate." + }, + { + "value": "TRANSACTION_FEE", + "description": "Charge for TransAction Fee." + }, + { + "value": "ADULT_SIGNATURE_CONFIRMATION", + "description": "Charge for Adult Signature Confirmation." + }, + { + "value": "SIGNATURE_CONFIRMATION", + "description": "Charge for signature confirmation." + }, + { + "value": "NO_CONFIRMATION", + "description": "Charge for No Confirmation." + }, + { + "value": "WAIVE_SIGNATURE", + "description": "Charge for Waive Signature." + }, + { + "value": "IMPLIED_LIABILITY", + "description": "Charge for Implied Liability." + }, + { + "value": "HIDDEN_POSTAGE", + "description": "Hidden Postage Charge." + }, + { + "value": "DECLARED_VALUE", + "description": "Declared Valure Coverage Charge." + }, + { + "value": "SUNDAY_HOLIDAY_DELIVERY", + "description": "Sunday Holiday Delivery Charge." + }, + { + "value": "DELIVERY_CONFIRMATION", + "description": "Charge for Delivery Confirmation." + }, + { + "value": "IMPORT_DUTY_CHARGE", + "description": "Import Duty Charge." + }, + { + "value": "VAT", + "description": "Vat Charge." + }, + { + "value": "NO_SATURDAY_DELIVERY", + "description": "Charge for No Satuarday Delivery." + }, + { + "value": "INSURANCE", + "description": "Insurance Charge." + }, + { + "value": "COD", + "description": "COD Charge." + }, + { + "value": "AMAZON_SPONSORED_DISCOUNT", + "description": "Amazon Sponsored Discount." + }, + { + "value": "INTEGRATOR_SPONSORED_DISCOUNT", + "description": "Integrator Sponsored Discount." + }, + { + "value": "FUEL_SURCHARGE", + "description": "Fuel Surcharge." + }, + { + "value": "INSPECTION_CHARGE", + "description": "Inspection Charge." + }, + { + "value": "DELIVERY_AREA_SURCHARGE", + "description": "Delivery Area Surcharge." + }, + { + "value": "WAYBILL_CHARGE", + "description": "WayBill Charge." + }, + { + "value": "OVERSIZE_SURCHARGE", + "description": "OverSize Surcharge." + }, + { + "value": "CONGESTION_CHARGE", + "description": "Congestion Charge." + }, + { + "value": "RESIDENTIAL_SURCHARGE", + "description": "Residential Surcharge." + }, + { + "value": "ADDITIONAL_SURCHARGE", + "description": "Additional Surcharge." + }, + { + "value": "SURCHARGE", + "description": "Surcharge." + }, + { + "value": "REBATE", + "description": "Rebate." + } + ] + }, + "RateItemType": { + "type": "string", + "description": "Type of the rateItem.", + "enum": [ + "MANDATORY", + "OPTIONAL", + "INCLUDED" + ], + "x-docgen-enum-table-extension": [ + { + "value": "MANDATORY", + "description": "Rate Item is mandatory." + }, + { + "value": "OPTIONAL", + "description": "Rate Item is Optional." + }, + { + "value": "INCLUDED", + "description": "Rate Item is included." + } + ] + }, + "Benefits": { + "type": "object", + "description": "Representing the included/excluded benefits that we offer for each ShippingOffering/Rate. Benefits being services provided by Amazon when sellers purchase shipping through Amazon.", + "required": [ + "includedBenefits", + "excludedBenefits" + ], + "properties": { + "includedBenefits": { + "$ref": "#/definitions/IncludedBenefits" + }, + "excludedBenefits": { + "$ref": "#/definitions/ExcludedBenefits" + } + } + }, + "IncludedBenefits": { + "type": "array", + "description": "A list of included benefits.", + "items": { + "type": "string" + } + }, + "ExcludedBenefits": { + "type": "array", + "description": "A list of excluded benefit. Refer to the ExcludeBenefit object for further documentation", + "items": { + "$ref": "#/definitions/ExcludedBenefit" + } + }, + "ExcludedBenefit": { + "type": "object", + "description": "Object representing an excluded benefit that is excluded for an ShippingOffering/Rate.", + "required": [ + "benefit", + "reasonCode" + ], + "properties": { + "benefit": { + "type": "string" + }, + "reasonCode": { + "type": "string" + } + } + }, + "ServiceSelection" : { + "description": "Service Selection Criteria.", + "type": "object", + "required": ["serviceId"], + "properties": { + "serviceId": { + "$ref": "#/definitions/ServiceIds" + } + } + }, + "ServiceIds": { + "type": "array", + "description": "A list of ServiceId.", + "items": { + "type": "string" + } + }, + "OneClickShipmentValueAddedServiceDetails": { + "type": "array", + "description": "The value-added services to be added to a shipping service purchase.", + "items": { + "$ref": "#/definitions/OneClickShipmentValueAddedService" + } + }, + "OneClickShipmentValueAddedService": { + "type": "object", + "required": [ + "id" + ], + "properties": { + "id": { + "type": "string", + "description": "The identifier of the selected value-added service." + }, + "amount": { + "$ref": "#/definitions/Currency" + } + }, + "description": "A value-added service to be applied to a shipping service purchase." + }, + "Service" : { + "type": "object", + "required": [ + "id", + "name" + ], + "properties": { + "id": { + "$ref": "#/definitions/ServiceId" + }, + "name": { + "$ref": "#/definitions/ServiceName" + } + }, + "description": "Service Related Info" + }, + "Carrier" : { + "type": "object", + "required": [ + "id", + "name" + ], + "properties": { + "id": { + "$ref": "#/definitions/CarrierId" + }, + "name": { + "$ref": "#/definitions/CarrierName" + } + }, + "description": "Carrier Related Info" + } + } +} \ No newline at end of file From a2505d42804e575f50134315a11b98a1b27cb6d4 Mon Sep 17 00:00:00 2001 From: Jack Evoniuk Date: Wed, 13 Dec 2023 10:51:04 -0800 Subject: [PATCH 204/340] Add Application Management model --- .../application_2023-11-30.json | 198 ++++++++++++++++++ 1 file changed, 198 insertions(+) create mode 100644 models/application-management-api-model/application_2023-11-30.json diff --git a/models/application-management-api-model/application_2023-11-30.json b/models/application-management-api-model/application_2023-11-30.json new file mode 100644 index 000000000..dfe087ad2 --- /dev/null +++ b/models/application-management-api-model/application_2023-11-30.json @@ -0,0 +1,198 @@ +{ + "swagger": "2.0", + "info": { + "title": "Selling Partner API for Application Management", + "description": "The Selling Partner API for Application Management lets you programmatically update the client secret on registered applications.", + "version": "2023-11-30", + "contact": { + "name": "Selling Partner API Developer Support", + "url": "https://sellercentral.amazon.com/gp/mws/contactus.html" + }, + "license": { + "name": "Apache License 2.0", + "url": "http://www.apache.org/licenses/LICENSE-2.0" + } + }, + "host": "sellingpartnerapi-na.amazon.com", + "schemes": [ + "https" + ], + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "paths": { + "/applications/2023-11-30/clientSecret": { + "post": { + "tags": [ + "Applications" + ], + "description": "Rotates application client secrets for a developer application. Developers must register a destination queue in the developer console before calling this operation. When this operation is called a new client secret is generated and sent to the developer-registered queue. For more information, refer to [Rotate your application client secret](https://developer-docs.amazon.com/sp-api/docs/application-management-api-v2023-11-30-use-case-guide).\n\n**Usage Plan:**\n\n| Rate (requests per second) | Burst |\n| ---- | ---- |\n| 0.0167 | 1 |\n\nThe `x-amzn-RateLimit-Limit` response header returns the usage plan rate limits that were applied to the requested operation, when available. The table above indicates the default rate and burst values for this operation. Selling partners whose business demands require higher throughput may see higher rate and burst values than those shown here. For more information, refer to [Usage Plans and Rate Limits in the Selling Partner API](https://developer-docs.amazon.com/sp-api/docs/usage-plans-and-rate-limits-in-the-sp-api).", + "operationId": "rotateApplicationClientSecret", + "parameters": [ + ], + "responses": { + "204": { + "description": "Success.", + "headers": { + "x-amzn-RateLimit-Limit": { + "description": "Your rate limit (requests per second) for this operation.", + "type": "string" + }, + "x-amzn-RequestId": { + "description": "Unique request reference identifier.", + "type": "string" + } + } + }, + "400": { + "description": "The application has not enrolled for programmatic rotations. Please visit your developer console to enroll.", + "headers": { + "x-amzn-RateLimit-Limit": { + "description": "Your rate limit (requests per second) for this operation.", + "type": "string" + }, + "x-amzn-RequestId": { + "description": "Unique request reference identifier.", + "type": "string" + } + }, + "schema": { + "$ref": "#/definitions/ErrorList" + } + }, + "403": { + "description": "Indicates that access to the resource is forbidden. Possible reasons include Access Denied, Unauthorized, Expired Token, or Invalid Signature.", + "headers": { + "x-amzn-RequestId": { + "description": "Unique request reference identifier.", + "type": "string" + } + }, + "schema": { + "$ref": "#/definitions/ErrorList" + } + }, + "404": { + "description": "The resource specified does not exist.", + "headers": { + "x-amzn-RateLimit-Limit": { + "description": "Your rate limit (requests per second) for this operation.", + "type": "string" + }, + "x-amzn-RequestId": { + "description": "Unique request reference identifier.", + "type": "string" + } + }, + "schema": { + "$ref": "#/definitions/ErrorList" + } + }, + "413": { + "description": "The request size exceeded the maximum accepted size.", + "headers": { + "x-amzn-RequestId": { + "description": "Unique request reference identifier.", + "type": "string" + } + }, + "schema": { + "$ref": "#/definitions/ErrorList" + } + }, + "415": { + "description": "The request payload is in an unsupported format.", + "headers": { + "x-amzn-RequestId": { + "description": "Unique request reference identifier.", + "type": "string" + } + }, + "schema": { + "$ref": "#/definitions/ErrorList" + } + }, + "429": { + "description": "The frequency of requests was greater than allowed.", + "headers": { + "x-amzn-RequestId": { + "description": "Unique request reference identifier.", + "type": "string" + } + }, + "schema": { + "$ref": "#/definitions/ErrorList" + } + }, + "500": { + "description": "An unexpected condition occurred that prevented the server from fulfilling the request.", + "headers": { + "x-amzn-RequestId": { + "description": "Unique request reference identifier.", + "type": "string" + } + }, + "schema": { + "$ref": "#/definitions/ErrorList" + } + }, + "503": { + "description": "Temporary overloading or maintenance of the server.", + "headers": { + "x-amzn-RequestId": { + "description": "Unique request reference identifier.", + "type": "string" + } + }, + "schema": { + "$ref": "#/definitions/ErrorList" + } + } + } + } + } + }, + "definitions": { + "ErrorList": { + "type": "object", + "description": "A list of error responses returned when a request is unsuccessful.", + "required": [ + "errors" + ], + "properties": { + "errors": { + "type": "array", + "description": "array of errors", + "items": { + "$ref": "#/definitions/Error" + } + } + } + }, + "Error": { + "description": "Error response returned when the request is unsuccessful.", + "properties": { + "code": { + "description": "An error code that identifies the type of error that occurred.", + "type": "string" + }, + "message": { + "description": "A message that describes the error condition.", + "type": "string" + }, + "details": { + "description": "Additional details that can help the caller understand or fix the issue.", + "type": "string" + } + }, + "required": [ + "code", + "message" + ], + "type": "object" + } + } +} \ No newline at end of file From 3f846779fcfde9253823a980fb99ece47a73a618 Mon Sep 17 00:00:00 2001 From: Alex Rupprecht Date: Wed, 13 Dec 2023 14:08:12 -0500 Subject: [PATCH 205/340] Updates for December release --- ...ndorDirectFulfillmentOrders_2021-12-28.json | 18 +++++++++--------- 1 file changed, 9 insertions(+), 9 deletions(-) diff --git a/models/vendor-direct-fulfillment-orders-api-model/vendorDirectFulfillmentOrders_2021-12-28.json b/models/vendor-direct-fulfillment-orders-api-model/vendorDirectFulfillmentOrders_2021-12-28.json index 1e5e033b3..8991a6ae3 100644 --- a/models/vendor-direct-fulfillment-orders-api-model/vendorDirectFulfillmentOrders_2021-12-28.json +++ b/models/vendor-direct-fulfillment-orders-api-model/vendorDirectFulfillmentOrders_2021-12-28.json @@ -1009,35 +1009,35 @@ "properties": { "name": { "type": "string", - "description": "The name of the person, business or institution at that address." + "description": "The name of the person, business or institution at that address. For Amazon label only vendors, this field will have the value `xxxxx` within the object `shipToParty`." }, "attention": { "type": "string", - "description": "The attention name of the person at that address." + "description": "The attention name of the person at that address. For Amazon label only vendors, this field will have the value `xxxxx` within the object `shipToParty`." }, "addressLine1": { "type": "string", - "description": "First line of the address." + "description": "First line of the address. For Amazon label only vendors, this field will have the value `xxxxx` within the object `shipToParty`." }, "addressLine2": { "type": "string", - "description": "Additional address information, if required." + "description": "Additional address information, if required. For Amazon label only vendors, this field will have the value `xxxxx` within the object `shipToParty`." }, "addressLine3": { "type": "string", - "description": "Additional address information, if required." + "description": "Additional address information, if required. For Amazon label only vendors, this field will have the value `xxxxx` within the object `shipToParty`." }, "city": { "type": "string", - "description": "The city where the person, business or institution is located." + "description": "The city where the person, business or institution is located. For Amazon label only vendors, this field will have the value `xxxxx` within the object `shipToParty`." }, "county": { "type": "string", - "description": "The county where person, business or institution is located." + "description": "The county where person, business or institution is located. For Amazon label only vendors, this field will have the value `xxxxx` within the object `shipToParty`." }, "district": { "type": "string", - "description": "The district where person, business or institution is located." + "description": "The district where person, business or institution is located. For Amazon label only vendors, this field will have the value `xxxxx` within the object `shipToParty`." }, "stateOrRegion": { "type": "string", @@ -1053,7 +1053,7 @@ }, "phone": { "type": "string", - "description": "The phone number of the person, business or institution located at that address." + "description": "The phone number of the person, business or institution located at that address. For Amazon label only vendors, this field will have the value `xxxxx` within the object `shipToParty`." } }, "description": "Address of the party." From 4afef77f746ac9ded12c1f629f7bb97be8429a92 Mon Sep 17 00:00:00 2001 From: Alex Rupprecht Date: Wed, 13 Dec 2023 14:12:25 -0500 Subject: [PATCH 206/340] December release description updates --- .../vendorDirectFulfillmentOrdersV1.json | 1939 +++-------------- 1 file changed, 322 insertions(+), 1617 deletions(-) diff --git a/models/vendor-direct-fulfillment-orders-api-model/vendorDirectFulfillmentOrdersV1.json b/models/vendor-direct-fulfillment-orders-api-model/vendorDirectFulfillmentOrdersV1.json index b6206a5a6..8991a6ae3 100644 --- a/models/vendor-direct-fulfillment-orders-api-model/vendorDirectFulfillmentOrdersV1.json +++ b/models/vendor-direct-fulfillment-orders-api-model/vendorDirectFulfillmentOrdersV1.json @@ -2,7 +2,7 @@ "swagger": "2.0", "info": { "description": "The Selling Partner API for Direct Fulfillment Orders provides programmatic access to a direct fulfillment vendor's order data.", - "version": "v1", + "version": "2021-12-28", "title": "Selling Partner API for Direct Fulfillment Orders", "contact": { "name": "Selling Partner API Developer Support", @@ -24,12 +24,12 @@ "application/json" ], "paths": { - "/vendor/directFulfillment/orders/v1/purchaseOrders": { + "/vendor/directFulfillment/orders/2021-12-28/purchaseOrders": { "get": { "tags": [ "vendorOrders" ], - "description": "Returns a list of purchase orders created during the time frame that you specify. You define the time frame using the createdAfter and createdBefore parameters. You must use both parameters. You can choose to get only the purchase order numbers by setting the includeDetails parameter to false. In that case, the operation returns a list of purchase order numbers. You can then call the getOrder operation to return the details of a specific order.\n\n**Usage Plan:**\n\n| Rate (requests per second) | Burst |\n| ---- | ---- |\n| 10 | 10 |\n\nThe `x-amzn-RateLimit-Limit` response header returns the usage plan rate limits that were applied to the requested operation, when available. The table above indicates the default rate and burst values for this operation. Selling partners whose business demands require higher throughput may see higher rate and burst values than those shown here. For more information, see [Usage Plans and Rate Limits in the Selling Partner API](https://developer-docs.amazon.com/sp-api/docs/usage-plans-and-rate-limits-in-the-sp-api).", + "description": "Returns a list of purchase orders created during the time frame that you specify. You define the time frame using the createdAfter and createdBefore parameters. You must use both parameters. You can choose to get only the purchase order numbers by setting the includeDetails parameter to false. In that case, the operation returns a list of purchase order numbers. You can then call the getOrder operation to return the details of a specific order.\n\n**Usage Plan:**\n\n| Rate (requests per second) | Burst |\n| ---- | ---- |\n| 10 | 10 |\n\nThe `x-amzn-RateLimit-Limit` response header returns the usage plan rate limits that were applied to the requested operation, when available. The table above indicates the default rate and burst values for this operation. Selling partners whose business demands require higher throughput may see higher rate and burst values then those shown here. For more information, see [Usage Plans and Rate Limits in the Selling Partner API](doc:usage-plans-and-rate-limits-in-the-sp-api).", "operationId": "getOrders", "parameters": [ { @@ -138,1227 +138,14 @@ "200": { "description": "Success.", "schema": { - "$ref": "#/definitions/GetOrdersResponse" + "$ref": "#/definitions/OrderList" }, "examples": { - "payload": { - "pagination": { - "nextToken": "MDAwMDAwMDAwMQ==" - }, - "orders": [ - { - "purchaseOrderNumber": "2JK3S9VC", - "orderDetails": { - "customerOrderNumber": "123-ABC", - "orderDate": "2020-02-20T13:51:00Z", - "orderStatus": "NEW", - "shipmentDetails": { - "isPriorityShipment": false, - "isScheduledDeliveryShipment": false, - "isPslipRequired": true, - "isGift": false, - "shipMethod": "UPS_2ND", - "shipmentDates": { - "requiredShipDate": "2020-02-21T00:00:00Z", - "promisedDeliveryDate": "2020-02-24T00:00:00Z" - }, - "messageToCustomer": "This shipment completes your order. You can always check the status of your orders from the \"Your Account\" link at the top of each page of our site.Thank you for shopping at Amazon.com" - }, - "taxTotal": { - "taxLineItem": [ - { - "taxRate": "0.1", - "taxAmount": { - "currencyCode": "USD", - "amount": "190" - }, - "type": "TOTAL" - } - ] - }, - "sellingParty": { - "partyId": "999US" - }, - "shipFromParty": { - "partyId": "ABCD" - }, - "shipToParty": { - "name": "ABCD", - "attention": "ABCD", - "addressLine1": "123 XYZ Street", - "addressLine2": "Apt 5", - "city": "San Jose", - "stateOrRegion": "CA", - "postalCode": "94086", - "countryCode": "USA" - }, - "billToParty": { - "partyId": "ABCD" - }, - "items": [ - { - "itemSequenceNumber": "00001", - "buyerProductIdentifier": "B07DFVDRAB", - "vendorProductIdentifier": "8806098286500", - "title": "LG 8 kg Inverter Wi-Fi Fully-Automatic Front Loading Washing Machine (FHT1408SWS, STS-VCM, Inbuilt Heater)", - "orderedQuantity": { - "amount": 1, - "unitOfMeasure": "EACH" - }, - "netPrice": { - "currencyCode": "USD", - "amount": "500" - }, - "taxDetails": { - "taxLineItem": [ - { - "taxRate": "0.1", - "taxAmount": { - "currencyCode": "USD", - "amount": "50" - }, - "type": "TOTAL" - } - ] - } - }, - { - "itemSequenceNumber": "00002", - "buyerProductIdentifier": "B07DFYF5AB", - "vendorProductIdentifier": "8806098286123", - "title": "LG 6.5 kg Inverter Fully-Automatic Front Loading Washing Machine (FHT1065SNW, Blue and White, Inbuilt Heater)", - "orderedQuantity": { - "amount": 2, - "unitOfMeasure": "EACH" - }, - "netPrice": { - "currencyCode": "USD", - "amount": "700" - }, - "taxDetails": { - "taxLineItem": [ - { - "taxRate": "0.1", - "taxAmount": { - "currencyCode": "USD", - "amount": "140" - }, - "type": "TOTAL" - } - ] - } - } - ] - } - } - ] - } - }, - "headers": { - "x-amzn-RateLimit-Limit": { - "type": "string", - "description": "Your rate limit (requests per second) for this operation." - }, - "x-amzn-RequestId": { - "type": "string", - "description": "Unique request reference identifier." - } - }, - "x-amzn-api-sandbox": { - "static": [ - { - "request": { - "parameters": { - "createdBefore": { - "value": "2020-02-20T00:00:00-08:00" - }, - "createdAfter": { - "value": "2020-02-15T14:00:00-08:00" - }, - "includeDetails": { - "value": "true" - }, - "limit": { - "value": 2 - }, - "sortOrder": { - "value": "DESC" - } - } - }, - "response": { - "payload": { - "pagination": { - "nextToken": "MDAwMDAwMDAwMQ==" - }, - "orders": [ - { - "purchaseOrderNumber": "2JK3S9VC", - "orderDetails": { - "customerOrderNumber": "123-ABC", - "orderDate": "2020-02-20T13:51:00Z", - "orderStatus": "NEW", - "shipmentDetails": { - "isPriorityShipment": false, - "isScheduledDeliveryShipment": false, - "isPslipRequired": true, - "isGift": false, - "shipMethod": "UPS_2ND", - "shipmentDates": { - "requiredShipDate": "2020-02-21T00:00:00Z", - "promisedDeliveryDate": "2020-02-24T00:00:00Z" - }, - "messageToCustomer": "This shipment completes your order. You can always check the status of your orders from the \"Your Account\" link at the top of each page of our site.Thank you for shopping at Amazon.com" - }, - "taxTotal": { - "taxLineItem": [ - { - "taxRate": "0.1", - "taxAmount": { - "currencyCode": "USD", - "amount": "190" - }, - "type": "TOTAL" - } - ] - }, - "sellingParty": { - "partyId": "999US" - }, - "shipFromParty": { - "partyId": "ABCD" - }, - "shipToParty": { - "name": "ABCD", - "attention": "ABCD", - "addressLine1": "123 XYZ Street", - "addressLine2": "Apt 5", - "city": "San Jose", - "stateOrRegion": "CA", - "postalCode": "94086", - "countryCode": "USA" - }, - "billToParty": { - "partyId": "ABCD" - }, - "items": [ - { - "itemSequenceNumber": "00001", - "buyerProductIdentifier": "B07DFVDRAB", - "vendorProductIdentifier": "8806098286500", - "title": "LG 8 kg Inverter Wi-Fi Fully-Automatic Front Loading Washing Machine (FHT1408SWS, STS-VCM, Inbuilt Heater)", - "orderedQuantity": { - "amount": 1, - "unitOfMeasure": "EACH" - }, - "netPrice": { - "currencyCode": "USD", - "amount": "500" - }, - "taxDetails": { - "taxLineItem": [ - { - "taxRate": "0.1", - "taxAmount": { - "currencyCode": "USD", - "amount": "50" - }, - "type": "TOTAL" - } - ] - } - }, - { - "itemSequenceNumber": "00002", - "buyerProductIdentifier": "B07DFYF5AB", - "vendorProductIdentifier": "8806098286123", - "title": "LG 6.5 kg Inverter Fully-Automatic Front Loading Washing Machine (FHT1065SNW, Blue and White, Inbuilt Heater)", - "orderedQuantity": { - "amount": 2, - "unitOfMeasure": "EACH" - }, - "netPrice": { - "currencyCode": "USD", - "amount": "700" - }, - "taxDetails": { - "taxLineItem": [ - { - "taxRate": "0.1", - "taxAmount": { - "currencyCode": "USD", - "amount": "140" - }, - "type": "TOTAL" - } - ] - } - } - ] - } - }, - { - "purchaseOrderNumber": "3TRD2IAB", - "orderDetails": { - "customerOrderNumber": "456-ABC", - "orderDate": "2020-02-18T11:47:00Z", - "orderStatus": "NEW", - "shipmentDetails": { - "isPriorityShipment": false, - "isScheduledDeliveryShipment": false, - "isPslipRequired": true, - "isGift": false, - "shipMethod": "UPS_2ND", - "shipmentDates": { - "requiredShipDate": "2020-02-20T00:00:00Z", - "promisedDeliveryDate": "2020-02-22T00:00:00Z" - }, - "messageToCustomer": "This shipment completes your order. You can always check the status of your orders from the \"Your Account\" link at the top of each page of our site.Thank you for shopping at Amazon.com" - }, - "taxTotal": { - "taxLineItem": [ - { - "taxRate": "0.1", - "taxAmount": { - "currencyCode": "USD", - "amount": "2" - }, - "type": "TOTAL" - } - ] - }, - "sellingParty": { - "partyId": "999US" - }, - "shipFromParty": { - "partyId": "ABCD" - }, - "shipToParty": { - "name": "XYZ", - "attention": "XYZ", - "addressLine1": "456 ABC Street", - "city": "Seattle", - "stateOrRegion": "WA", - "postalCode": "98007", - "countryCode": "USA" - }, - "billToParty": { - "partyId": "ABCD" - }, - "items": [ - { - "itemSequenceNumber": "00001", - "buyerProductIdentifier": "B01LNRIIAB", - "vendorProductIdentifier": "8806098286501", - "title": "Baby Dove Baby Wipes Rich Moisture (50 Pieces)", - "orderedQuantity": { - "amount": 1, - "unitOfMeasure": "EACH" - }, - "netPrice": { - "currencyCode": "USD", - "amount": "20" - }, - "taxDetails": { - "taxLineItem": [ - { - "taxRate": "0.1", - "taxAmount": { - "currencyCode": "USD", - "amount": "2" - }, - "type": "TOTAL" - } - ] - } - } - ] - } - } - ] - } - } - }, - { - "request": { - "parameters": { - "createdBefore": { - "value": "2020-02-20T00:00:00-08:00" - }, - "createdAfter": { - "value": "2020-02-15T14:00:00-08:00" - }, - "includeDetails": { - "value": "true" - }, - "limit": { - "value": 2 - }, - "sortOrder": { - "value": "DESC" - }, - "nextToken": { - "value": "MDAwMDAwMDAwMQ==" - } - } - }, - "response": { - "payload": { - "orders": [ - { - "purchaseOrderNumber": "2JK3S9VCD", - "orderDetails": { - "customerOrderNumber": "123-ABC", - "orderDate": "2020-02-20T13:51:00Z", - "orderStatus": "NEW", - "shipmentDetails": { - "isPriorityShipment": false, - "isScheduledDeliveryShipment": false, - "isPslipRequired": true, - "isGift": false, - "shipMethod": "UPS_2ND", - "shipmentDates": { - "requiredShipDate": "2020-02-21T00:00:00Z", - "promisedDeliveryDate": "2020-02-24T00:00:00Z" - }, - "messageToCustomer": "This shipment completes your order. You can always check the status of your orders from the \"Your Account\" link at the top of each page of our site.Thank you for shopping at Amazon.com" - }, - "taxTotal": { - "taxLineItem": [ - { - "taxAmount": { - "currencyCode": "USD", - "amount": "190" - }, - "type": "TOTAL" - } - ] - }, - "sellingParty": { - "partyId": "999US" - }, - "shipFromParty": { - "partyId": "ABCD" - }, - "shipToParty": { - "name": "ABCD", - "attention": "ABCD", - "addressLine1": "123 XYZ Street", - "addressLine2": "Apt 5", - "city": "San Jose", - "stateOrRegion": "CA", - "postalCode": "94086", - "countryCode": "USA" - }, - "billToParty": { - "partyId": "ABCD" - }, - "items": [ - { - "itemSequenceNumber": "00001", - "buyerProductIdentifier": "B07DFVDRAB", - "vendorProductIdentifier": "8806098286500", - "title": "LG 8 kg Inverter Wi-Fi Fully-Automatic Front Loading Washing Machine (FHT1408SWS, STS-VCM, Inbuilt Heater)", - "orderedQuantity": { - "amount": 1, - "unitOfMeasure": "EACH" - }, - "netPrice": { - "currencyCode": "USD", - "amount": "500" - }, - "taxDetails": { - "taxLineItem": [ - { - "taxRate": "0.1", - "taxAmount": { - "currencyCode": "USD", - "amount": "50" - }, - "type": "TOTAL" - } - ] - } - }, - { - "itemSequenceNumber": "00002", - "buyerProductIdentifier": "B07DFYF5AB", - "vendorProductIdentifier": "8806098286123", - "title": "LG 6.5 kg Inverter Fully-Automatic Front Loading Washing Machine (FHT1065SNW, Blue and White, Inbuilt Heater)", - "orderedQuantity": { - "amount": 2, - "unitOfMeasure": "EACH" - }, - "netPrice": { - "currencyCode": "USD", - "amount": "700" - }, - "taxDetails": { - "taxLineItem": [ - { - "taxRate": "0.1", - "taxAmount": { - "currencyCode": "USD", - "amount": "140" - }, - "type": "TOTAL" - } - ] - } - } - ] - } - }, - { - "purchaseOrderNumber": "3TRD2IABC", - "orderDetails": { - "customerOrderNumber": "456-ABC", - "orderDate": "2020-02-18T11:47:00Z", - "orderStatus": "NEW", - "shipmentDetails": { - "isPriorityShipment": false, - "isScheduledDeliveryShipment": false, - "isPslipRequired": true, - "isGift": false, - "shipMethod": "UPS_2ND", - "shipmentDates": { - "requiredShipDate": "2020-02-20T00:00:00Z", - "promisedDeliveryDate": "2020-02-22T00:00:00Z" - }, - "messageToCustomer": "This shipment completes your order. You can always check the status of your orders from the \"Your Account\" link at the top of each page of our site.Thank you for shopping at Amazon.com" - }, - "taxTotal": { - "taxLineItem": [ - { - "taxRate": "0.1", - "taxAmount": { - "currencyCode": "USD", - "amount": "2" - }, - "type": "TOTAL" - } - ] - }, - "sellingParty": { - "partyId": "999US" - }, - "shipFromParty": { - "partyId": "ABCD" - }, - "shipToParty": { - "name": "XYZ", - "attention": "XYZ", - "addressLine1": "456 ABC Street", - "city": "Seattle", - "stateOrRegion": "WA", - "postalCode": "98007", - "countryCode": "USA" - }, - "billToParty": { - "partyId": "ABCD" - }, - "items": [ - { - "itemSequenceNumber": "00001", - "buyerProductIdentifier": "B01LNRIIAB", - "vendorProductIdentifier": "8806098286501", - "title": "Baby Dove Baby Wipes Rich Moisture (50 Pieces)", - "orderedQuantity": { - "amount": 1, - "unitOfMeasure": "EACH" - }, - "netPrice": { - "currencyCode": "USD", - "amount": "20" - }, - "taxDetails": { - "taxLineItem": [ - { - "taxRate": "0.1", - "taxAmount": { - "currencyCode": "USD", - "amount": "2" - }, - "type": "TOTAL" - } - ] - } - } - ] - } - } - ] - } - } - }, - { - "request": { - "parameters": { - "createdBefore": { - "value": "2020-02-20T00:00:00-08:00" - }, - "createdAfter": { - "value": "2020-02-15T14:00:00-08:00" - }, - "includeDetails": { - "value": "true" - }, - "limit": { - "value": 2 - }, - "sortOrder": { - "value": "DESC" - }, - "nextToken": { - "value": "MDAwMDAwMDAwMQ==" - } - } - }, - "response": { - "payload": { - "orders": [ - { - "purchaseOrderNumber": "2JK3S9VCD", - "orderDetails": { - "customerOrderNumber": "123-ABC", - "orderDate": "2020-02-20T13:51:00Z", - "orderStatus": "NEW", - "shipmentDetails": { - "isPriorityShipment": false, - "isScheduledDeliveryShipment": false, - "isPslipRequired": true, - "isGift": false, - "shipMethod": "UPS_2ND", - "shipmentDates": { - "requiredShipDate": "2020-02-21T00:00:00Z", - "promisedDeliveryDate": "2020-02-24T00:00:00Z" - }, - "messageToCustomer": "This shipment completes your order. You can always check the status of your orders from the \"Your Account\" link at the top of each page of our site.Thank you for shopping at Amazon.com" - }, - "taxTotal": { - "taxLineItem": [ - { - "taxAmount": { - "currencyCode": "USD", - "amount": "190" - }, - "type": "TOTAL" - } - ] - }, - "sellingParty": { - "partyId": "999US" - }, - "shipFromParty": { - "partyId": "ABCD" - }, - "shipToParty": { - "name": "ABCD", - "attention": "ABCD", - "addressLine1": "123 XYZ Street", - "addressLine2": "Apt 5", - "city": "San Jose", - "stateOrRegion": "CA", - "postalCode": "94086", - "countryCode": "USA" - }, - "billToParty": { - "partyId": "ABCD" - }, - "items": [ - { - "itemSequenceNumber": "00001", - "buyerProductIdentifier": "B07DFVDRAB", - "vendorProductIdentifier": "8806098286500", - "title": "LG 8 kg Inverter Wi-Fi Fully-Automatic Front Loading Washing Machine (FHT1408SWS, STS-VCM, Inbuilt Heater)", - "orderedQuantity": { - "amount": 1, - "unitOfMeasure": "EACH" - }, - "netPrice": { - "currencyCode": "USD", - "amount": "500" - }, - "taxDetails": { - "taxLineItem": [ - { - "taxRate": "0.1", - "taxAmount": { - "currencyCode": "USD", - "amount": "50" - }, - "type": "TOTAL" - } - ] - } - }, - { - "itemSequenceNumber": "00002", - "buyerProductIdentifier": "B07DFYF5AB", - "vendorProductIdentifier": "8806098286123", - "title": "LG 6.5 kg Inverter Fully-Automatic Front Loading Washing Machine (FHT1065SNW, Blue and White, Inbuilt Heater)", - "orderedQuantity": { - "amount": 2, - "unitOfMeasure": "EACH" - }, - "netPrice": { - "currencyCode": "USD", - "amount": "700" - }, - "taxDetails": { - "taxLineItem": [ - { - "taxRate": "0.1", - "taxAmount": { - "currencyCode": "USD", - "amount": "140" - }, - "type": "TOTAL" - } - ] - } - } - ] - } - }, - { - "purchaseOrderNumber": "3TRD2IABC", - "orderDetails": { - "customerOrderNumber": "456-ABC", - "orderDate": "2020-02-18T11:47:00Z", - "orderStatus": "NEW", - "shipmentDetails": { - "isPriorityShipment": false, - "isScheduledDeliveryShipment": false, - "isPslipRequired": true, - "isGift": false, - "shipMethod": "UPS_2ND", - "shipmentDates": { - "requiredShipDate": "2020-02-20T00:00:00Z", - "promisedDeliveryDate": "2020-02-22T00:00:00Z" - }, - "messageToCustomer": "This shipment completes your order. You can always check the status of your orders from the \"Your Account\" link at the top of each page of our site.Thank you for shopping at Amazon.com" - }, - "taxTotal": { - "taxLineItem": [ - { - "taxRate": "0.1", - "taxAmount": { - "currencyCode": "USD", - "amount": "2" - }, - "type": "TOTAL" - } - ] - }, - "sellingParty": { - "partyId": "999US" - }, - "shipFromParty": { - "partyId": "ABCD" - }, - "shipToParty": { - "name": "XYZ", - "attention": "XYZ", - "addressLine1": "456 ABC Street", - "city": "Seattle", - "stateOrRegion": "WA", - "postalCode": "98007", - "countryCode": "USA" - }, - "billToParty": { - "partyId": "ABCD" - }, - "items": [ - { - "itemSequenceNumber": "00001", - "buyerProductIdentifier": "B01LNRIIAB", - "vendorProductIdentifier": "8806098286501", - "title": "Baby Dove Baby Wipes Rich Moisture (50 Pieces)", - "orderedQuantity": { - "amount": 1, - "unitOfMeasure": "EACH" - }, - "netPrice": { - "currencyCode": "USD", - "amount": "20" - }, - "taxDetails": { - "taxLineItem": [ - { - "taxRate": "0.1", - "taxAmount": { - "currencyCode": "USD", - "amount": "2" - }, - "type": "TOTAL" - } - ] - } - } - ] - } - } - ] - } - } - }, - { - "request": { - "parameters": { - "createdBefore": { - "value": "2019-08-21T00:00:00-08:00" - }, - "createdAfter": { - "value": "2019-08-20T14:00:00-08:00" - }, - "includeDetails": { - "value": "false" - }, - "sortOrder": { - "value": "DESC" - } - } - }, - "response": { - "payload": { - "pagination": { - "nextToken": "MDAwMDAwMDAwMQ==" - }, - "orders": [ - { - "purchaseOrderNumber": "2JK3S9VC" - }, - { - "purchaseOrderNumber": "3TRD2IAB" - } - ] - } - } - }, - { - "request": { - "parameters": { - "createdBefore": { - "value": "2019-08-21T00:00:00-08:00" - }, - "createdAfter": { - "value": "2019-08-20T14:00:00-08:00" - }, - "includeDetails": { - "value": "false" - }, - "sortOrder": { - "value": "DESC" - } - } - }, - "response": { - "payload": { - "pagination": { - "nextToken": "MDAwMDAwMDAwMQ==" - }, - "orders": [ - { - "purchaseOrderNumber": "2JK3S9VC" - }, - { - "purchaseOrderNumber": "3TRD2IAB" - } - ] - } - } - }, - { - "request": { - "parameters": { - "createdBefore": { - "value": "2019-08-21T00:00:00-08:00" - }, - "createdAfter": { - "value": "2019-08-20T14:00:00-08:00" - }, - "includeDetails": { - "value": "false" - }, - "sortOrder": { - "value": "DESC" - }, - "nextToken": { - "value": "MDAwMDAwMDAwMQ==" - } - } - }, - "response": { - "payload": { - "orders": [ - { - "purchaseOrderNumber": "2JK3S9VCD" - }, - { - "purchaseOrderNumber": "3TRD2IABC" - } - ] - } - } - }, - { - "request": { - "parameters": {} - }, - "response": { - "payload": { - "orders": [ - { - "purchaseOrderNumber": "2JK3S9VCD", - "orderDetails": { - "customerOrderNumber": "123-ABC", - "orderDate": "2020-02-20T13:51:00Z", - "orderStatus": "NEW", - "shipmentDetails": { - "isPriorityShipment": false, - "isScheduledDeliveryShipment": false, - "isPslipRequired": true, - "isGift": false, - "shipMethod": "UPS_2ND", - "shipmentDates": { - "requiredShipDate": "2020-02-21T00:00:00Z", - "promisedDeliveryDate": "2020-02-24T00:00:00Z" - }, - "messageToCustomer": "This shipment completes your order. You can always check the status of your orders from the \"Your Account\" link at the top of each page of our site. Thank you for shopping at Amazon.com." - }, - "taxTotal": { - "taxLineItem": [ - { - "taxAmount": { - "currencyCode": "USD", - "amount": "190" - }, - "type": "TOTAL" - } - ] - }, - "sellingParty": { - "partyId": "999US" - }, - "shipFromParty": { - "partyId": "ABCD" - }, - "shipToParty": { - "name": "ABCD", - "attention": "ABCD", - "addressLine1": "123 XYZ Street", - "addressLine2": "Apt 5", - "city": "San Jose", - "stateOrRegion": "CA", - "postalCode": "94086", - "countryCode": "USA" - }, - "billToParty": { - "partyId": "ABCD" - }, - "items": [ - { - "itemSequenceNumber": "00001", - "buyerProductIdentifier": "B07DFVDRAB", - "vendorProductIdentifier": "8806098286500", - "title": "LG 8 kg Inverter Wi-Fi Fully-Automatic Front Loading Washing Machine (FHT1408SWS, STS-VCM, Inbuilt Heater)", - "orderedQuantity": { - "amount": 1, - "unitOfMeasure": "EACH" - }, - "netPrice": { - "currencyCode": "USD", - "amount": "500" - }, - "taxDetails": { - "taxLineItem": [ - { - "taxRate": "0.1", - "taxAmount": { - "currencyCode": "USD", - "amount": "50" - }, - "type": "TOTAL" - } - ] - } - }, - { - "itemSequenceNumber": "00002", - "buyerProductIdentifier": "B07DFYF5AB", - "vendorProductIdentifier": "8806098286123", - "title": "LG 6.5 kg Inverter Fully-Automatic Front Loading Washing Machine (FHT1065SNW, Blue and White, Inbuilt Heater)", - "orderedQuantity": { - "amount": 2, - "unitOfMeasure": "EACH" - }, - "netPrice": { - "currencyCode": "USD", - "amount": "700" - }, - "taxDetails": { - "taxLineItem": [ - { - "taxRate": "0.1", - "taxAmount": { - "currencyCode": "USD", - "amount": "140" - }, - "type": "TOTAL" - } - ] - } - } - ] - } - }, - { - "purchaseOrderNumber": "3TRD2IABC", - "orderDetails": { - "customerOrderNumber": "456-ABC", - "orderDate": "2020-02-18T11:47:00Z", - "orderStatus": "NEW", - "shipmentDetails": { - "isPriorityShipment": false, - "isScheduledDeliveryShipment": false, - "isPslipRequired": true, - "isGift": false, - "shipMethod": "UPS_2ND", - "shipmentDates": { - "requiredShipDate": "2020-02-20T00:00:00Z", - "promisedDeliveryDate": "2020-02-22T00:00:00Z" - }, - "messageToCustomer": "This shipment completes your order. You can always check the status of your orders from the \"Your Account\" link at the top of each page of our site. Thank you for shopping at Amazon.com." - }, - "taxTotal": { - "taxLineItem": [ - { - "taxRate": "0.1", - "taxAmount": { - "currencyCode": "USD", - "amount": "2" - }, - "type": "TOTAL" - } - ] - }, - "sellingParty": { - "partyId": "999US" - }, - "shipFromParty": { - "partyId": "ABCD" - }, - "shipToParty": { - "name": "XYZ", - "attention": "XYZ", - "addressLine1": "456 ABC Street", - "city": "Seattle", - "stateOrRegion": "WA", - "postalCode": "98007", - "countryCode": "USA" - }, - "billToParty": { - "partyId": "ABCD" - }, - "items": [ - { - "itemSequenceNumber": "00001", - "buyerProductIdentifier": "B01LNRIIAB", - "vendorProductIdentifier": "8806098286501", - "title": "Baby Dove Baby Wipes Rich Moisture (50 Pieces)", - "orderedQuantity": { - "amount": 1, - "unitOfMeasure": "EACH" - }, - "netPrice": { - "currencyCode": "USD", - "amount": "20" - }, - "taxDetails": { - "taxLineItem": [ - { - "taxRate": "0.1", - "taxAmount": { - "currencyCode": "USD", - "amount": "2" - }, - "type": "TOTAL" - } - ] - } - } - ] - } - } - ] - } - } - } - ] - } - }, - "400": { - "description": "Request has missing or invalid parameters and cannot be parsed.", - "schema": { - "$ref": "#/definitions/GetOrdersResponse" - }, - "headers": { - "x-amzn-RateLimit-Limit": { - "type": "string", - "description": "Your rate limit (requests per second) for this operation." + "pagination": { + "nextToken": "MDAwMDAwMDAwMQ==" }, - "x-amzn-RequestId": { - "type": "string", - "description": "Unique request reference identifier." - } - }, - "x-amzn-api-sandbox": { - "static": [ + "orders": [ { - "request": { - "parameters": { - "createdBefore": { - "value": "2021-01-2100:00:00" - }, - "createdAfter": { - "value": "2021-02-20T14:00:00" - } - } - }, - "response": { - "errors": [ - { - "code": "InvalidRequest", - "message": "The request is invalid.", - "details": "" - } - ] - } - } - ] - } - }, - "403": { - "description": "Indicates that access to the resource is forbidden. Possible reasons include Access Denied, Unauthorized, Expired Token, or Invalid Signature.", - "schema": { - "$ref": "#/definitions/GetOrdersResponse" - }, - "headers": { - "x-amzn-RequestId": { - "type": "string", - "description": "Unique request reference identifier." - } - } - }, - "404": { - "description": "The resource specified does not exist.", - "schema": { - "$ref": "#/definitions/GetOrdersResponse" - }, - "headers": { - "x-amzn-RateLimit-Limit": { - "type": "string", - "description": "Your rate limit (requests per second) for this operation." - }, - "x-amzn-RequestId": { - "type": "string", - "description": "Unique request reference identifier." - } - } - }, - "415": { - "description": "The request payload is in an unsupported format.", - "schema": { - "$ref": "#/definitions/GetOrdersResponse" - }, - "headers": { - "x-amzn-RateLimit-Limit": { - "type": "string", - "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." - }, - "x-amzn-RequestId": { - "type": "string", - "description": "Unique request reference identifier." - } - } - }, - "429": { - "description": "The frequency of requests was greater than allowed.", - "schema": { - "$ref": "#/definitions/GetOrdersResponse" - }, - "headers": { - "x-amzn-RateLimit-Limit": { - "type": "string", - "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." - }, - "x-amzn-RequestId": { - "type": "string", - "description": "Unique request reference identifier." - } - } - }, - "500": { - "description": "An unexpected condition occurred that prevented the server from fulfilling the request.", - "schema": { - "$ref": "#/definitions/GetOrdersResponse" - }, - "headers": { - "x-amzn-RateLimit-Limit": { - "type": "string", - "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." - }, - "x-amzn-RequestId": { - "type": "string", - "description": "Unique request reference identifier." - } - } - }, - "503": { - "description": "Temporary overloading or maintenance of the server.", - "schema": { - "$ref": "#/definitions/GetOrdersResponse" - }, - "headers": { - "x-amzn-RateLimit-Limit": { - "type": "string", - "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." - }, - "x-amzn-RequestId": { - "type": "string", - "description": "Unique request reference identifier." - } - } - } - } - } - }, - "/vendor/directFulfillment/orders/v1/purchaseOrders/{purchaseOrderNumber}": { - "get": { - "tags": [ - "vendorOrders" - ], - "description": "Returns purchase order information for the purchaseOrderNumber that you specify.\n\n**Usage Plan:**\n\n| Rate (requests per second) | Burst |\n| ---- | ---- |\n| 10 | 10 |\n\nThe `x-amzn-RateLimit-Limit` response header returns the usage plan rate limits that were applied to the requested operation, when available. The table above indicates the default rate and burst values for this operation. Selling partners whose business demands require higher throughput may see higher rate and burst values than those shown here. For more information, see [Usage Plans and Rate Limits in the Selling Partner API](https://developer-docs.amazon.com/sp-api/docs/usage-plans-and-rate-limits-in-the-sp-api).", - "operationId": "getOrder", - "parameters": [ - { - "name": "purchaseOrderNumber", - "in": "path", - "description": "The order identifier for the purchase order that you want. Formatting Notes: alpha-numeric code.", - "required": true, - "type": "string" - } - ], - "responses": { - "200": { - "description": "Success.", - "schema": { - "$ref": "#/definitions/GetOrderResponse" - }, - "examples": { - "application/json": { - "payload": { "purchaseOrderNumber": "2JK3S9VC", "orderDetails": { "customerOrderNumber": "123-ABC", @@ -1379,6 +166,7 @@ "taxTotal": { "taxLineItem": [ { + "taxRate": "0.1", "taxAmount": { "currencyCode": "USD", "amount": "190" @@ -1431,6 +219,9 @@ "type": "TOTAL" } ] + }, + "buyerCustomizedInfo": { + "customizedUrl": "aHR0cHM6Ly8xcC1kZi1wdWJsaWMtZGF0YS5zMy5hbWF6b25hd3MuY29tLzExMS0xMjYwNzQ1LTYyOTE0MTZfNTgzNjIxNTQwMTM1NjEuemlw" } }, { @@ -1462,254 +253,279 @@ ] } } + ] + }, + "headers": { + "x-amzn-RateLimit-Limit": { + "type": "string", + "description": "Your rate limit (requests per second) for this operation." + }, + "x-amzn-RequestId": { + "type": "string", + "description": "Unique request reference identifier." + } + } + }, + "400": { + "description": "Request has missing or invalid parameters and cannot be parsed.", + "schema": { + "$ref": "#/definitions/ErrorList" + }, + "headers": { + "x-amzn-RateLimit-Limit": { + "type": "string", + "description": "Your rate limit (requests per second) for this operation." + }, + "x-amzn-RequestId": { + "type": "string", + "description": "Unique request reference identifier." + } + } + }, + "403": { + "description": "Indicates that access to the resource is forbidden. Possible reasons include Access Denied, Unauthorized, Expired Token, or Invalid Signature.", + "schema": { + "$ref": "#/definitions/ErrorList" + }, + "headers": { + "x-amzn-RequestId": { + "type": "string", + "description": "Unique request reference identifier." + } + } + }, + "404": { + "description": "The resource specified does not exist.", + "schema": { + "$ref": "#/definitions/ErrorList" + }, + "headers": { + "x-amzn-RateLimit-Limit": { + "type": "string", + "description": "Your rate limit (requests per second) for this operation." + }, + "x-amzn-RequestId": { + "type": "string", + "description": "Unique request reference identifier." + } + } + }, + "415": { + "description": "The request payload is in an unsupported format.", + "schema": { + "$ref": "#/definitions/ErrorList" + }, + "headers": { + "x-amzn-RateLimit-Limit": { + "type": "string", + "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." + }, + "x-amzn-RequestId": { + "type": "string", + "description": "Unique request reference identifier." } + } + }, + "429": { + "description": "The frequency of requests was greater than allowed.", + "schema": { + "$ref": "#/definitions/ErrorList" }, "headers": { "x-amzn-RateLimit-Limit": { "type": "string", - "description": "Your rate limit (requests per second) for this operation." + "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." }, "x-amzn-RequestId": { "type": "string", "description": "Unique request reference identifier." } + } + }, + "500": { + "description": "An unexpected condition occurred that prevented the server from fulfilling the request.", + "schema": { + "$ref": "#/definitions/ErrorList" }, - "x-amzn-api-sandbox": { - "static": [ - { - "request": { - "parameters": { - "purchaseOrderNumber": { - "value": "2JK3S9VC" - } - } + "headers": { + "x-amzn-RateLimit-Limit": { + "type": "string", + "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." + }, + "x-amzn-RequestId": { + "type": "string", + "description": "Unique request reference identifier." + } + } + }, + "503": { + "description": "Temporary overloading or maintenance of the server.", + "schema": { + "$ref": "#/definitions/ErrorList" + }, + "headers": { + "x-amzn-RateLimit-Limit": { + "type": "string", + "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." + }, + "x-amzn-RequestId": { + "type": "string", + "description": "Unique request reference identifier." + } + } + } + }, + "x-amzn-api-sandbox": { + "dynamic": {} + } + } + }, + "/vendor/directFulfillment/orders/2021-12-28/purchaseOrders/{purchaseOrderNumber}": { + "get": { + "tags": [ + "vendorOrders" + ], + "description": "Returns purchase order information for the purchaseOrderNumber that you specify.\n\n**Usage Plan:**\n\n| Rate (requests per second) | Burst |\n| ---- | ---- |\n| 10 | 10 |\n\nThe `x-amzn-RateLimit-Limit` response header returns the usage plan rate limits that were applied to the requested operation, when available. The table above indicates the default rate and burst values for this operation. Selling partners whose business demands require higher throughput may see higher rate and burst values then those shown here. For more information, see [Usage Plans and Rate Limits in the Selling Partner API](doc:usage-plans-and-rate-limits-in-the-sp-api).", + "operationId": "getOrder", + "parameters": [ + { + "name": "purchaseOrderNumber", + "in": "path", + "description": "The order identifier for the purchase order that you want. Formatting Notes: alpha-numeric code.", + "required": true, + "type": "string" + } + ], + "responses": { + "200": { + "description": "Success.", + "schema": { + "$ref": "#/definitions/Order" + }, + "examples": { + "application/json": { + "purchaseOrderNumber": "2JK3S9VC", + "orderDetails": { + "customerOrderNumber": "123-ABC", + "orderDate": "2020-02-20T13:51:00Z", + "orderStatus": "NEW", + "shipmentDetails": { + "isPriorityShipment": false, + "isScheduledDeliveryShipment": false, + "isPslipRequired": true, + "isGift": false, + "shipMethod": "UPS_2ND", + "shipmentDates": { + "requiredShipDate": "2020-02-21T00:00:00Z", + "promisedDeliveryDate": "2020-02-24T00:00:00Z" + }, + "messageToCustomer": "This shipment completes your order. You can always check the status of your orders from the \"Your Account\" link at the top of each page of our site.Thank you for shopping at Amazon.com" }, - "response": { - "payload": { - "purchaseOrderNumber": "2JK3S9VC", - "orderDetails": { - "customerOrderNumber": "123-ABC", - "orderDate": "2020-02-20T13:51:00Z", - "orderStatus": "NEW", - "shipmentDetails": { - "isPriorityShipment": false, - "isScheduledDeliveryShipment": false, - "isPslipRequired": true, - "isGift": false, - "shipMethod": "UPS_2ND", - "shipmentDates": { - "requiredShipDate": "2020-02-21T00:00:00Z", - "promisedDeliveryDate": "2020-02-24T00:00:00Z" - }, - "messageToCustomer": "This shipment completes your order. You can always check the status of your orders from the \"Your Account\" link at the top of each page of our site.Thank you for shopping at Amazon.com" - }, - "taxTotal": { - "taxLineItem": [ - { - "taxRate": "0.1", - "taxAmount": { - "currencyCode": "USD", - "amount": "190" - }, - "type": "TOTAL" - } - ] - }, - "sellingParty": { - "partyId": "999US" - }, - "shipFromParty": { - "partyId": "ABCD" - }, - "shipToParty": { - "name": "ABCD", - "attention": "ABCD", - "addressLine1": "123 XYZ Street", - "addressLine2": "Apt 5", - "city": "San Jose", - "stateOrRegion": "CA", - "postalCode": "94086", - "countryCode": "USA" - }, - "billToParty": { - "partyId": "ABCD" + "taxTotal": { + "taxLineItem": [ + { + "taxAmount": { + "currencyCode": "USD", + "amount": "190" }, - "items": [ - { - "itemSequenceNumber": "00001", - "buyerProductIdentifier": "B07DFVDRAB", - "vendorProductIdentifier": "8806098286500", - "title": "LG 8 kg Inverter Wi-Fi Fully-Automatic Front Loading Washing Machine (FHT1408SWS, STS-VCM, Inbuilt Heater)", - "orderedQuantity": { - "amount": 1, - "unitOfMeasure": "EACH" - }, - "netPrice": { - "currencyCode": "USD", - "amount": "500" - }, - "taxDetails": { - "taxLineItem": [ - { - "taxRate": "0.1", - "taxAmount": { - "currencyCode": "USD", - "amount": "50" - }, - "type": "TOTAL" - } - ] - } - }, + "type": "TOTAL" + } + ] + }, + "sellingParty": { + "partyId": "999US" + }, + "shipFromParty": { + "partyId": "ABCD" + }, + "shipToParty": { + "name": "ABCD", + "attention": "ABCD", + "addressLine1": "123 XYZ Street", + "addressLine2": "Apt 5", + "city": "San Jose", + "stateOrRegion": "CA", + "postalCode": "94086", + "countryCode": "USA" + }, + "billToParty": { + "partyId": "ABCD" + }, + "items": [ + { + "itemSequenceNumber": "00001", + "buyerProductIdentifier": "B07DFVDRAB", + "vendorProductIdentifier": "8806098286500", + "title": "LG 8 kg Inverter Wi-Fi Fully-Automatic Front Loading Washing Machine (FHT1408SWS, STS-VCM, Inbuilt Heater)", + "orderedQuantity": { + "amount": 1, + "unitOfMeasure": "EACH" + }, + "netPrice": { + "currencyCode": "USD", + "amount": "500" + }, + "taxDetails": { + "taxLineItem": [ { - "itemSequenceNumber": "00002", - "buyerProductIdentifier": "B07DFYF5AB", - "vendorProductIdentifier": "8806098286123", - "title": "LG 6.5 kg Inverter Fully-Automatic Front Loading Washing Machine (FHT1065SNW, Blue and White, Inbuilt Heater)", - "orderedQuantity": { - "amount": 2, - "unitOfMeasure": "EACH" - }, - "netPrice": { + "taxRate": "0.1", + "taxAmount": { "currencyCode": "USD", - "amount": "700" + "amount": "50" }, - "taxDetails": { - "taxLineItem": [ - { - "taxRate": "0.1", - "taxAmount": { - "currencyCode": "USD", - "amount": "140" - }, - "type": "TOTAL" - } - ] - } + "type": "TOTAL" } ] + }, + "buyerCustomizedInfo": { + "customizedUrl": "aHR0cHM6Ly8xcC1kZi1wdWJsaWMtZGF0YS5zMy5hbWF6b25hd3MuY29tLzExMS0xMjYwNzQ1LTYyOTE0MTZfNTgzNjIxNTQwMTM1NjEuemlw" } - } - } - }, - { - "request": { - "parameters": {} - }, - "response": { - "payload": { - "purchaseOrderNumber": "2JK3S9VCD", - "orderDetails": { - "customerOrderNumber": "123-ABC", - "orderDate": "2020-02-20T13:51:00Z", - "orderStatus": "NEW", - "shipmentDetails": { - "isPriorityShipment": false, - "isScheduledDeliveryShipment": false, - "isPslipRequired": true, - "isGift": false, - "shipMethod": "UPS_2ND", - "shipmentDates": { - "requiredShipDate": "2020-02-21T00:00:00Z", - "promisedDeliveryDate": "2020-02-24T00:00:00Z" - }, - "messageToCustomer": "This shipment completes your order. You can always check the status of your orders from the \"Your Account\" link at the top of each page of our site. Thank you for shopping at Amazon.com." - }, - "taxTotal": { - "taxLineItem": [ - { - "taxAmount": { - "currencyCode": "USD", - "amount": "190" - }, - "type": "TOTAL" - } - ] - }, - "sellingParty": { - "partyId": "999US" - }, - "shipFromParty": { - "partyId": "ABCD" - }, - "shipToParty": { - "name": "ABCD", - "attention": "ABCD", - "addressLine1": "123 XYZ Street", - "addressLine2": "Apt 5", - "city": "San Jose", - "stateOrRegion": "CA", - "postalCode": "94086", - "countryCode": "USA" - }, - "billToParty": { - "partyId": "ABCD" - }, - "items": [ - { - "itemSequenceNumber": "00001", - "buyerProductIdentifier": "B07DFVDRAB", - "vendorProductIdentifier": "8806098286500", - "title": "LG 8 kg Inverter Wi-Fi Fully-Automatic Front Loading Washing Machine (FHT1408SWS, STS-VCM, Inbuilt Heater)", - "orderedQuantity": { - "amount": 1, - "unitOfMeasure": "EACH" - }, - "netPrice": { - "currencyCode": "USD", - "amount": "500" - }, - "taxDetails": { - "taxLineItem": [ - { - "taxRate": "0.1", - "taxAmount": { - "currencyCode": "USD", - "amount": "50" - }, - "type": "TOTAL" - } - ] - } - }, + }, + { + "itemSequenceNumber": "00002", + "buyerProductIdentifier": "B07DFYF5AB", + "vendorProductIdentifier": "8806098286123", + "title": "LG 6.5 kg Inverter Fully-Automatic Front Loading Washing Machine (FHT1065SNW, Blue and White, Inbuilt Heater)", + "orderedQuantity": { + "amount": 2, + "unitOfMeasure": "EACH" + }, + "netPrice": { + "currencyCode": "USD", + "amount": "700" + }, + "taxDetails": { + "taxLineItem": [ { - "itemSequenceNumber": "00002", - "buyerProductIdentifier": "B07DFYF5AB", - "vendorProductIdentifier": "8806098286123", - "title": "LG 6.5 kg Inverter Fully-Automatic Front Loading Washing Machine (FHT1065SNW, Blue and White, Inbuilt Heater)", - "orderedQuantity": { - "amount": 2, - "unitOfMeasure": "EACH" - }, - "netPrice": { + "taxRate": "0.1", + "taxAmount": { "currencyCode": "USD", - "amount": "700" + "amount": "140" }, - "taxDetails": { - "taxLineItem": [ - { - "taxRate": "0.1", - "taxAmount": { - "currencyCode": "USD", - "amount": "140" - }, - "type": "TOTAL" - } - ] - } + "type": "TOTAL" } ] } } - } + ] } - ] + } + }, + "headers": { + "x-amzn-RateLimit-Limit": { + "type": "string", + "description": "Your rate limit (requests per second) for this operation." + }, + "x-amzn-RequestId": { + "type": "string", + "description": "Unique request reference identifier." + } } }, "400": { "description": "Request has missing or invalid parameters and cannot be parsed.", "schema": { - "$ref": "#/definitions/GetOrderResponse" + "$ref": "#/definitions/ErrorList" }, "headers": { "x-amzn-RateLimit-Limit": { @@ -1720,34 +536,12 @@ "type": "string", "description": "Unique request reference identifier." } - }, - "x-amzn-api-sandbox": { - "static": [ - { - "request": { - "parameters": { - "purchaseOrderNumber": { - "value": "null" - } - } - }, - "response": { - "errors": [ - { - "code": "InvalidRequest", - "message": "Request is missing or has invalid parameters", - "details": "purchaseOrderNumber cannot be null" - } - ] - } - } - ] } }, "401": { "description": "The request's Authorization header is not formatted correctly or does not contain a valid token.", "schema": { - "$ref": "#/definitions/GetOrderResponse" + "$ref": "#/definitions/ErrorList" }, "headers": { "x-amzn-RateLimit-Limit": { @@ -1763,7 +557,7 @@ "403": { "description": "Indicates that access to the resource is forbidden. Possible reasons include Access Denied, Unauthorized, Expired Token, or Invalid Signature.", "schema": { - "$ref": "#/definitions/GetOrderResponse" + "$ref": "#/definitions/ErrorList" }, "headers": { "x-amzn-RequestId": { @@ -1775,7 +569,7 @@ "404": { "description": "The resource specified does not exist.", "schema": { - "$ref": "#/definitions/GetOrderResponse" + "$ref": "#/definitions/ErrorList" }, "headers": { "x-amzn-RateLimit-Limit": { @@ -1791,7 +585,7 @@ "415": { "description": "The request payload is in an unsupported format.", "schema": { - "$ref": "#/definitions/GetOrderResponse" + "$ref": "#/definitions/ErrorList" }, "headers": { "x-amzn-RateLimit-Limit": { @@ -1807,7 +601,7 @@ "429": { "description": "The frequency of requests was greater than allowed.", "schema": { - "$ref": "#/definitions/GetOrderResponse" + "$ref": "#/definitions/ErrorList" }, "headers": { "x-amzn-RateLimit-Limit": { @@ -1823,7 +617,7 @@ "500": { "description": "An unexpected condition occurred that prevented the server from fulfilling the request.", "schema": { - "$ref": "#/definitions/GetOrderResponse" + "$ref": "#/definitions/ErrorList" }, "headers": { "x-amzn-RateLimit-Limit": { @@ -1839,7 +633,7 @@ "503": { "description": "Temporary overloading or maintenance of the server.", "schema": { - "$ref": "#/definitions/GetOrderResponse" + "$ref": "#/definitions/ErrorList" }, "headers": { "x-amzn-RateLimit-Limit": { @@ -1852,15 +646,18 @@ } } } + }, + "x-amzn-api-sandbox": { + "dynamic": {} } } }, - "/vendor/directFulfillment/orders/v1/acknowledgements": { + "/vendor/directFulfillment/orders/2021-12-28/acknowledgements": { "post": { "tags": [ "vendorOrders" ], - "description": "Submits acknowledgements for one or more purchase orders.\n\n**Usage Plan:**\n\n| Rate (requests per second) | Burst |\n| ---- | ---- |\n| 10 | 10 |\n\nThe `x-amzn-RateLimit-Limit` response header returns the usage plan rate limits that were applied to the requested operation, when available. The table above indicates the default rate and burst values for this operation. Selling partners whose business demands require higher throughput may see higher rate and burst values than those shown here. For more information, see [Usage Plans and Rate Limits in the Selling Partner API](https://developer-docs.amazon.com/sp-api/docs/usage-plans-and-rate-limits-in-the-sp-api).", + "description": "Submits acknowledgements for one or more purchase orders.\n\n**Usage Plan:**\n\n| Rate (requests per second) | Burst |\n| ---- | ---- |\n| 10 | 10 |\n\nThe `x-amzn-RateLimit-Limit` response header returns the usage plan rate limits that were applied to the requested operation, when available. The table above indicates the default rate and burst values for this operation. Selling partners whose business demands require higher throughput may see higher rate and burst values then those shown here. For more information, see [Usage Plans and Rate Limits in the Selling Partner API](doc:usage-plans-and-rate-limits-in-the-sp-api).", "operationId": "submitAcknowledgement", "parameters": [ { @@ -1876,7 +673,7 @@ "202": { "description": "Success.", "schema": { - "$ref": "#/definitions/SubmitAcknowledgementResponse" + "$ref": "#/definitions/TransactionId" }, "headers": { "x-amzn-RateLimit-Limit": { @@ -1887,71 +684,12 @@ "type": "string", "description": "Unique request reference identifier." } - }, - "x-amzn-api-sandbox": { - "static": [ - { - "request": { - "parameters": { - "body": { - "value": { - "orderAcknowledgements": [ - { - "purchaseOrderNumber": "2JK3S9VC", - "vendorOrderNumber": "ABC", - "acknowledgementDate": "2020-02-20T19:17:34.304Z", - "acknowledgementStatus": { - "code": "00", - "description": "Shipping 100 percent of ordered product" - }, - "sellingParty": { - "partyId": "999US" - }, - "shipFromParty": { - "partyId": "ABCD" - }, - "itemAcknowledgements": [ - { - "itemSequenceNumber": "00001", - "buyerProductIdentifier": "B07DFVDRAB", - "vendorProductIdentifier": "8806098286500", - "acknowledgedQuantity": { - "amount": 1, - "unitOfMeasure": "Each" - } - } - ] - } - ] - } - } - } - }, - "response": { - "payload": { - "transactionId": "20190827182357-8725bde9-c61c-49f9-86ac-46efd82d4da5" - } - } - }, - { - "request": { - "parameters": { - "body": {} - } - }, - "response": { - "payload": { - "transactionId": "mock-TransactionId-20190827182357-8725bde9-c61c-49f9-86ac-46efd82d4da5" - } - } - } - ] } }, "400": { "description": "Request has missing or invalid parameters and cannot be parsed.", "schema": { - "$ref": "#/definitions/SubmitAcknowledgementResponse" + "$ref": "#/definitions/ErrorList" }, "headers": { "x-amzn-RateLimit-Limit": { @@ -1962,41 +700,12 @@ "type": "string", "description": "Unique request reference identifier." } - }, - "x-amzn-api-sandbox": { - "static": [ - { - "request": { - "parameters": { - "body": { - "value": { - "orderAcknowledgements": [ - { - "purchaseOrderNumber": "TestOrder400", - "sellingParty": {} - } - ] - } - } - } - }, - "response": { - "errors": [ - { - "code": "InvalidInput", - "message": "The content of element 'sellingParty' is not complete. One of '{partyId, address, taxInfo}' is expected.", - "details": "" - } - ] - } - } - ] } }, "403": { "description": "Indicates that access to the resource is forbidden. Possible reasons include Access Denied, Unauthorized, Expired Token, or Invalid Signature.", "schema": { - "$ref": "#/definitions/SubmitAcknowledgementResponse" + "$ref": "#/definitions/ErrorList" }, "headers": { "x-amzn-RequestId": { @@ -2008,7 +717,7 @@ "404": { "description": "The resource specified does not exist.", "schema": { - "$ref": "#/definitions/SubmitAcknowledgementResponse" + "$ref": "#/definitions/ErrorList" }, "headers": { "x-amzn-RateLimit-Limit": { @@ -2024,7 +733,7 @@ "413": { "description": "The request size exceeded the maximum accepted size.", "schema": { - "$ref": "#/definitions/SubmitAcknowledgementResponse" + "$ref": "#/definitions/ErrorList" }, "headers": { "x-amzn-RateLimit-Limit": { @@ -2040,7 +749,7 @@ "415": { "description": "The request payload is in an unsupported format.", "schema": { - "$ref": "#/definitions/SubmitAcknowledgementResponse" + "$ref": "#/definitions/ErrorList" }, "headers": { "x-amzn-RateLimit-Limit": { @@ -2056,7 +765,7 @@ "429": { "description": "The frequency of requests was greater than allowed.", "schema": { - "$ref": "#/definitions/SubmitAcknowledgementResponse" + "$ref": "#/definitions/ErrorList" }, "headers": { "x-amzn-RateLimit-Limit": { @@ -2072,7 +781,7 @@ "500": { "description": "An unexpected condition occurred that prevented the server from fulfilling the request.", "schema": { - "$ref": "#/definitions/SubmitAcknowledgementResponse" + "$ref": "#/definitions/ErrorList" }, "headers": { "x-amzn-RateLimit-Limit": { @@ -2088,7 +797,7 @@ "503": { "description": "Temporary overloading or maintenance of the server.", "schema": { - "$ref": "#/definitions/SubmitAcknowledgementResponse" + "$ref": "#/definitions/ErrorList" }, "headers": { "x-amzn-RateLimit-Limit": { @@ -2101,37 +810,14 @@ } } } + }, + "x-amzn-api-sandbox": { + "dynamic": {} } } } }, "definitions": { - "GetOrdersResponse": { - "type": "object", - "properties": { - "payload": { - "description": "A list of purchase orders.", - "$ref": "#/definitions/OrderList" - }, - "errors": { - "$ref": "#/definitions/ErrorList" - } - }, - "description": "The response schema for the getOrders operation." - }, - "GetOrderResponse": { - "type": "object", - "properties": { - "payload": { - "description": "The payload for the getOrder operation.", - "$ref": "#/definitions/Order" - }, - "errors": { - "$ref": "#/definitions/ErrorList" - } - }, - "description": "The response schema for the getOrder operation." - }, "OrderList": { "type": "object", "properties": { @@ -2191,7 +877,7 @@ "orderDate": { "type": "string", "format": "date-time", - "description": "The date the order was placed. This field is expected to be in ISO-8601 date/time format, for example:2018-07-16T23:00:00Z/ 2018-07-16T23:00:00-05:00 /2018-07-16T23:00:00-08:00. If no time zone is specified, UTC should be assumed." + "description": "The date the order was placed. This field is expected to be in ISO-8601 date/time format, for example:2018-07-16T23:00:00Z/ 2018-07-16T23:00:00-05:00 /2018-07-16T23:00:00-08:00. If no time zone is specified, UTC should be assumed." }, "orderStatus": { "type": "string", @@ -2225,13 +911,7 @@ "$ref": "#/definitions/ShipmentDetails" }, "taxTotal": { - "type": "object", - "properties": { - "taxLineItem": { - "description": "Tax details.", - "$ref": "#/definitions/TaxLineItem" - } - } + "$ref": "#/definitions/TaxItemDetails" }, "sellingParty": { "description": "PartyID of vendor code.", @@ -2329,35 +1009,35 @@ "properties": { "name": { "type": "string", - "description": "The name of the person, business or institution at that address." + "description": "The name of the person, business or institution at that address. For Amazon label only vendors, this field will have the value `xxxxx` within the object `shipToParty`." }, "attention": { "type": "string", - "description": "The attention name of the person at that address." + "description": "The attention name of the person at that address. For Amazon label only vendors, this field will have the value `xxxxx` within the object `shipToParty`." }, "addressLine1": { "type": "string", - "description": "First line of the address." + "description": "First line of the address. For Amazon label only vendors, this field will have the value `xxxxx` within the object `shipToParty`." }, "addressLine2": { "type": "string", - "description": "Additional address information, if required." + "description": "Additional address information, if required. For Amazon label only vendors, this field will have the value `xxxxx` within the object `shipToParty`." }, "addressLine3": { "type": "string", - "description": "Additional address information, if required." + "description": "Additional address information, if required. For Amazon label only vendors, this field will have the value `xxxxx` within the object `shipToParty`." }, "city": { "type": "string", - "description": "The city where the person, business or institution is located." + "description": "The city where the person, business or institution is located. For Amazon label only vendors, this field will have the value `xxxxx` within the object `shipToParty`." }, "county": { "type": "string", - "description": "The county where person, business or institution is located." + "description": "The county where person, business or institution is located. For Amazon label only vendors, this field will have the value `xxxxx` within the object `shipToParty`." }, "district": { "type": "string", - "description": "The district where person, business or institution is located." + "description": "The district where person, business or institution is located. For Amazon label only vendors, this field will have the value `xxxxx` within the object `shipToParty`." }, "stateOrRegion": { "type": "string", @@ -2373,7 +1053,7 @@ }, "phone": { "type": "string", - "description": "The phone number of the person, business or institution located at that address." + "description": "The phone number of the person, business or institution located at that address. For Amazon label only vendors, this field will have the value `xxxxx` within the object `shipToParty`." } }, "description": "Address of the party." @@ -2419,18 +1099,16 @@ "$ref": "#/definitions/Money" }, "taxDetails": { - "type": "object", "description": "Total tax details for the line item.", - "properties": { - "taxLineItem": { - "description": "Tax details.", - "$ref": "#/definitions/TaxLineItem" - } - } + "$ref": "#/definitions/TaxItemDetails" }, "totalPrice": { "description": "The price to Amazon each (cost).", "$ref": "#/definitions/Money" + }, + "buyerCustomizedInfo": { + "description": "The buyer information for products the vendor has configured as customizable, specifying the types of customizations or configurations along with types and ranges for their product. This provides the ability for buyers to customize multiple aspects of the products according to what the vendor allows.", + "$ref": "#/definitions/buyerCustomizedInfoDetail" } } }, @@ -2447,6 +1125,15 @@ }, "description": "An amount of money, including units in the form of currency." }, + "buyerCustomizedInfoDetail": { + "type": "object", + "properties": { + "customizedUrl": { + "type": "string", + "description": "A [Base 64](https://datatracker.ietf.org/doc/html/rfc4648#section-4) encoded URL using the UTF-8 character set. The URL provides the location of the zip file that specifies the types of customizations or configurations allowed by the vendor, along with types and ranges for the attributes of their products." + } + } + }, "Decimal": { "type": "string", "description": "A decimal number with no loss of precision. Useful when precision loss is unacceptable, as with currencies. Follows RFC7159 for number representation." @@ -2474,10 +1161,18 @@ } }, "ErrorList": { - "type": "array", + "type": "object", "description": "A list of error responses returned when a request is unsuccessful.", - "items": { - "$ref": "#/definitions/Error" + "required": [ + "errors" + ], + "properties": { + "errors": { + "type": "array", + "items": { + "$ref": "#/definitions/Error" + } + } } }, "SubmitAcknowledgementRequest": { @@ -2783,6 +1478,16 @@ } }, "description": "Gift details for the item." + }, + "TaxItemDetails": { + "type": "object", + "description": "Total tax details for the line item.", + "properties": { + "taxLineItem": { + "description": "Tax details.", + "$ref": "#/definitions/TaxLineItem" + } + } } } } \ No newline at end of file From d75a4064e2f354ae6aec9c28258099fea7681f5e Mon Sep 17 00:00:00 2001 From: Alex Rupprecht Date: Wed, 13 Dec 2023 15:47:07 -0500 Subject: [PATCH 207/340] December release --- .../vendorDirectFulfillmentOrdersV1.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/models/vendor-direct-fulfillment-orders-api-model/vendorDirectFulfillmentOrdersV1.json b/models/vendor-direct-fulfillment-orders-api-model/vendorDirectFulfillmentOrdersV1.json index 8991a6ae3..8acec601e 100644 --- a/models/vendor-direct-fulfillment-orders-api-model/vendorDirectFulfillmentOrdersV1.json +++ b/models/vendor-direct-fulfillment-orders-api-model/vendorDirectFulfillmentOrdersV1.json @@ -1019,7 +1019,7 @@ "type": "string", "description": "First line of the address. For Amazon label only vendors, this field will have the value `xxxxx` within the object `shipToParty`." }, - "addressLine2": { + "addressLine2": { "type": "string", "description": "Additional address information, if required. For Amazon label only vendors, this field will have the value `xxxxx` within the object `shipToParty`." }, From ad8724011d96d7373aec48074d5176d2e9c93e20 Mon Sep 17 00:00:00 2001 From: Alex Rupprecht <44652230+alex-rupprecht@users.noreply.github.com> Date: Wed, 13 Dec 2023 15:50:23 -0500 Subject: [PATCH 208/340] Update vendorDirectFulfillmentOrdersV1.json --- .../vendorDirectFulfillmentOrdersV1.json | 1434 +++-------------- 1 file changed, 184 insertions(+), 1250 deletions(-) diff --git a/models/vendor-direct-fulfillment-orders-api-model/vendorDirectFulfillmentOrdersV1.json b/models/vendor-direct-fulfillment-orders-api-model/vendorDirectFulfillmentOrdersV1.json index 8acec601e..a355fbb47 100644 --- a/models/vendor-direct-fulfillment-orders-api-model/vendorDirectFulfillmentOrdersV1.json +++ b/models/vendor-direct-fulfillment-orders-api-model/vendorDirectFulfillmentOrdersV1.json @@ -1,9 +1,9 @@ { "swagger": "2.0", "info": { - "description": "The Selling Partner API for Direct Fulfillment Orders provides programmatic access to a direct fulfillment vendor's order data.", - "version": "2021-12-28", - "title": "Selling Partner API for Direct Fulfillment Orders", + "description": "The Selling Partner API for Direct Fulfillment Inventory Updates provides programmatic access to a direct fulfillment vendor's inventory updates.", + "version": "v1", + "title": "Selling Partner API for Direct Fulfillment Inventory Updates", "contact": { "name": "Selling Partner API Developer Support", "url": "https://sellercentral.amazon.com/gp/mws/contactus.html" @@ -24,236 +24,35 @@ "application/json" ], "paths": { - "/vendor/directFulfillment/orders/2021-12-28/purchaseOrders": { - "get": { + "/vendor/directFulfillment/inventory/v1/warehouses/{warehouseId}/items": { + "post": { "tags": [ - "vendorOrders" + "updateInventory" ], - "description": "Returns a list of purchase orders created during the time frame that you specify. You define the time frame using the createdAfter and createdBefore parameters. You must use both parameters. You can choose to get only the purchase order numbers by setting the includeDetails parameter to false. In that case, the operation returns a list of purchase order numbers. You can then call the getOrder operation to return the details of a specific order.\n\n**Usage Plan:**\n\n| Rate (requests per second) | Burst |\n| ---- | ---- |\n| 10 | 10 |\n\nThe `x-amzn-RateLimit-Limit` response header returns the usage plan rate limits that were applied to the requested operation, when available. The table above indicates the default rate and burst values for this operation. Selling partners whose business demands require higher throughput may see higher rate and burst values then those shown here. For more information, see [Usage Plans and Rate Limits in the Selling Partner API](doc:usage-plans-and-rate-limits-in-the-sp-api).", - "operationId": "getOrders", + "description": "Submits inventory updates for the specified warehouse for either a partial or full feed of inventory items.\n\n**Usage Plan:**\n\n| Rate (requests per second) | Burst |\n| ---- | ---- |\n| 10 | 10 |\n\nThe `x-amzn-RateLimit-Limit` response header returns the usage plan rate limits that were applied to the requested operation, when available. The table above indicates the default rate and burst values for this operation. Selling partners whose business demands require higher throughput may see higher rate and burst values than those shown here. For more information, see [Usage Plans and Rate Limits in the Selling Partner API](https://developer-docs.amazon.com/sp-api/docs/usage-plans-and-rate-limits-in-the-sp-api).", + "operationId": "submitInventoryUpdate", "parameters": [ { - "name": "shipFromPartyId", - "in": "query", - "description": "The vendor warehouse identifier for the fulfillment warehouse. If not specified, the result will contain orders for all warehouses.", - "required": false, - "type": "string" - }, - { - "name": "status", - "in": "query", - "description": "Returns only the purchase orders that match the specified status. If not specified, the result will contain orders that match any status.", - "required": false, - "type": "string", - "enum": [ - "NEW", - "SHIPPED", - "ACCEPTED", - "CANCELLED" - ], - "x-docgen-enum-table-extension": [ - { - "value": "NEW", - "description": "Status for newly created purchase orders." - }, - { - "value": "SHIPPED", - "description": "Status for purchase orders that are already shipped." - }, - { - "value": "ACCEPTED", - "description": "Status for purchase orders accepted by vendors." - }, - { - "value": "CANCELLED", - "description": "Status for cancelled purchase orders." - } - ] - }, - { - "name": "limit", - "in": "query", - "description": "The limit to the number of purchase orders returned.", - "required": false, - "type": "integer", - "maximum": 100, - "minimum": 1, - "format": "int64" - }, - { - "name": "createdAfter", - "in": "query", - "description": "Purchase orders that became available after this date and time will be included in the result. Must be in ISO-8601 date/time format.", + "in": "body", + "name": "body", "required": true, - "type": "string", - "format": "date-time" + "schema": { + "$ref": "#/definitions/SubmitInventoryUpdateRequest" + } }, { - "name": "createdBefore", - "in": "query", - "description": "Purchase orders that became available before this date and time will be included in the result. Must be in ISO-8601 date/time format.", + "name": "warehouseId", + "in": "path", + "description": "Identifier for the warehouse for which to update inventory.", "required": true, - "type": "string", - "format": "date-time" - }, - { - "name": "sortOrder", - "in": "query", - "description": "Sort the list in ascending or descending order by order creation date.", - "required": false, - "type": "string", - "enum": [ - "ASC", - "DESC" - ], - "x-docgen-enum-table-extension": [ - { - "value": "ASC", - "description": "Sort in ascending order by order creation date." - }, - { - "value": "DESC", - "description": "Sort in descending order by order creation date." - } - ] - }, - { - "name": "nextToken", - "in": "query", - "description": "Used for pagination when there are more orders than the specified result size limit. The token value is returned in the previous API call.", - "required": false, "type": "string" - }, - { - "name": "includeDetails", - "in": "query", - "description": "When true, returns the complete purchase order details. Otherwise, only purchase order numbers are returned.", - "required": false, - "type": "string", - "default": "true", - "format": "boolean" } ], "responses": { - "200": { + "202": { "description": "Success.", "schema": { - "$ref": "#/definitions/OrderList" - }, - "examples": { - "pagination": { - "nextToken": "MDAwMDAwMDAwMQ==" - }, - "orders": [ - { - "purchaseOrderNumber": "2JK3S9VC", - "orderDetails": { - "customerOrderNumber": "123-ABC", - "orderDate": "2020-02-20T13:51:00Z", - "orderStatus": "NEW", - "shipmentDetails": { - "isPriorityShipment": false, - "isScheduledDeliveryShipment": false, - "isPslipRequired": true, - "isGift": false, - "shipMethod": "UPS_2ND", - "shipmentDates": { - "requiredShipDate": "2020-02-21T00:00:00Z", - "promisedDeliveryDate": "2020-02-24T00:00:00Z" - }, - "messageToCustomer": "This shipment completes your order. You can always check the status of your orders from the \"Your Account\" link at the top of each page of our site.Thank you for shopping at Amazon.com" - }, - "taxTotal": { - "taxLineItem": [ - { - "taxRate": "0.1", - "taxAmount": { - "currencyCode": "USD", - "amount": "190" - }, - "type": "TOTAL" - } - ] - }, - "sellingParty": { - "partyId": "999US" - }, - "shipFromParty": { - "partyId": "ABCD" - }, - "shipToParty": { - "name": "ABCD", - "attention": "ABCD", - "addressLine1": "123 XYZ Street", - "addressLine2": "Apt 5", - "city": "San Jose", - "stateOrRegion": "CA", - "postalCode": "94086", - "countryCode": "USA" - }, - "billToParty": { - "partyId": "ABCD" - }, - "items": [ - { - "itemSequenceNumber": "00001", - "buyerProductIdentifier": "B07DFVDRAB", - "vendorProductIdentifier": "8806098286500", - "title": "LG 8 kg Inverter Wi-Fi Fully-Automatic Front Loading Washing Machine (FHT1408SWS, STS-VCM, Inbuilt Heater)", - "orderedQuantity": { - "amount": 1, - "unitOfMeasure": "EACH" - }, - "netPrice": { - "currencyCode": "USD", - "amount": "500" - }, - "taxDetails": { - "taxLineItem": [ - { - "taxRate": "0.1", - "taxAmount": { - "currencyCode": "USD", - "amount": "50" - }, - "type": "TOTAL" - } - ] - }, - "buyerCustomizedInfo": { - "customizedUrl": "aHR0cHM6Ly8xcC1kZi1wdWJsaWMtZGF0YS5zMy5hbWF6b25hd3MuY29tLzExMS0xMjYwNzQ1LTYyOTE0MTZfNTgzNjIxNTQwMTM1NjEuemlw" - } - }, - { - "itemSequenceNumber": "00002", - "buyerProductIdentifier": "B07DFYF5AB", - "vendorProductIdentifier": "8806098286123", - "title": "LG 6.5 kg Inverter Fully-Automatic Front Loading Washing Machine (FHT1065SNW, Blue and White, Inbuilt Heater)", - "orderedQuantity": { - "amount": 2, - "unitOfMeasure": "EACH" - }, - "netPrice": { - "currencyCode": "USD", - "amount": "700" - }, - "taxDetails": { - "taxLineItem": [ - { - "taxRate": "0.1", - "taxAmount": { - "currencyCode": "USD", - "amount": "140" - }, - "type": "TOTAL" - } - ] - } - } - ] - } - } - ] + "$ref": "#/definitions/SubmitInventoryUpdateResponse" }, "headers": { "x-amzn-RateLimit-Limit": { @@ -264,40 +63,78 @@ "type": "string", "description": "Unique request reference identifier." } + }, + "x-amzn-api-sandbox": { + "static": [ + { + "request": { + "parameters": { + "body": { + "value": { + "inventory": { + "sellingParty": { + "partyId": "VENDORID" + }, + "isFullUpdate": false, + "items": [ + { + "buyerProductIdentifier": "ABCD4562", + "vendorProductIdentifier": "7Q89K11", + "availableQuantity": { + "amount": 10, + "unitOfMeasure": "Each" + }, + "isObsolete": false + }, + { + "buyerProductIdentifier": "ABCD4563", + "vendorProductIdentifier": "7Q89K12", + "availableQuantity": { + "amount": 15, + "unitOfMeasure": "Each" + }, + "isObsolete": false + }, + { + "buyerProductIdentifier": "ABCD4564", + "vendorProductIdentifier": "7Q89K13", + "availableQuantity": { + "amount": 20, + "unitOfMeasure": "Each" + }, + "isObsolete": false + } + ] + } + } + } + } + }, + "response": { + "payload": { + "transactionId": "20190905010908-8a3b6901-ef20-412f-9270-21c021796605" + } + } + }, + { + "request": { + "parameters": { + "body": {} + } + }, + "response": { + "payload": { + "transactionId": "mock-TransactionId-20190905010908-8a3b6901-ef20-412f-9270-21c021796605" + } + } + } + ] } }, "400": { "description": "Request has missing or invalid parameters and cannot be parsed.", "schema": { - "$ref": "#/definitions/ErrorList" - }, - "headers": { - "x-amzn-RateLimit-Limit": { - "type": "string", - "description": "Your rate limit (requests per second) for this operation." - }, - "x-amzn-RequestId": { - "type": "string", - "description": "Unique request reference identifier." - } - } - }, - "403": { - "description": "Indicates that access to the resource is forbidden. Possible reasons include Access Denied, Unauthorized, Expired Token, or Invalid Signature.", - "schema": { - "$ref": "#/definitions/ErrorList" - }, - "headers": { - "x-amzn-RequestId": { - "type": "string", - "description": "Unique request reference identifier." - } - } - }, - "404": { - "description": "The resource specified does not exist.", - "schema": { - "$ref": "#/definitions/ErrorList" + "$ref": "#/definitions/SubmitInventoryUpdateResponse" }, "headers": { "x-amzn-RateLimit-Limit": { @@ -308,245 +145,51 @@ "type": "string", "description": "Unique request reference identifier." } - } - }, - "415": { - "description": "The request payload is in an unsupported format.", - "schema": { - "$ref": "#/definitions/ErrorList" - }, - "headers": { - "x-amzn-RateLimit-Limit": { - "type": "string", - "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." - }, - "x-amzn-RequestId": { - "type": "string", - "description": "Unique request reference identifier." - } - } - }, - "429": { - "description": "The frequency of requests was greater than allowed.", - "schema": { - "$ref": "#/definitions/ErrorList" - }, - "headers": { - "x-amzn-RateLimit-Limit": { - "type": "string", - "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." - }, - "x-amzn-RequestId": { - "type": "string", - "description": "Unique request reference identifier." - } - } - }, - "500": { - "description": "An unexpected condition occurred that prevented the server from fulfilling the request.", - "schema": { - "$ref": "#/definitions/ErrorList" - }, - "headers": { - "x-amzn-RateLimit-Limit": { - "type": "string", - "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." - }, - "x-amzn-RequestId": { - "type": "string", - "description": "Unique request reference identifier." - } - } - }, - "503": { - "description": "Temporary overloading or maintenance of the server.", - "schema": { - "$ref": "#/definitions/ErrorList" - }, - "headers": { - "x-amzn-RateLimit-Limit": { - "type": "string", - "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." - }, - "x-amzn-RequestId": { - "type": "string", - "description": "Unique request reference identifier." - } - } - } - }, - "x-amzn-api-sandbox": { - "dynamic": {} - } - } - }, - "/vendor/directFulfillment/orders/2021-12-28/purchaseOrders/{purchaseOrderNumber}": { - "get": { - "tags": [ - "vendorOrders" - ], - "description": "Returns purchase order information for the purchaseOrderNumber that you specify.\n\n**Usage Plan:**\n\n| Rate (requests per second) | Burst |\n| ---- | ---- |\n| 10 | 10 |\n\nThe `x-amzn-RateLimit-Limit` response header returns the usage plan rate limits that were applied to the requested operation, when available. The table above indicates the default rate and burst values for this operation. Selling partners whose business demands require higher throughput may see higher rate and burst values then those shown here. For more information, see [Usage Plans and Rate Limits in the Selling Partner API](doc:usage-plans-and-rate-limits-in-the-sp-api).", - "operationId": "getOrder", - "parameters": [ - { - "name": "purchaseOrderNumber", - "in": "path", - "description": "The order identifier for the purchase order that you want. Formatting Notes: alpha-numeric code.", - "required": true, - "type": "string" - } - ], - "responses": { - "200": { - "description": "Success.", - "schema": { - "$ref": "#/definitions/Order" }, - "examples": { - "application/json": { - "purchaseOrderNumber": "2JK3S9VC", - "orderDetails": { - "customerOrderNumber": "123-ABC", - "orderDate": "2020-02-20T13:51:00Z", - "orderStatus": "NEW", - "shipmentDetails": { - "isPriorityShipment": false, - "isScheduledDeliveryShipment": false, - "isPslipRequired": true, - "isGift": false, - "shipMethod": "UPS_2ND", - "shipmentDates": { - "requiredShipDate": "2020-02-21T00:00:00Z", - "promisedDeliveryDate": "2020-02-24T00:00:00Z" - }, - "messageToCustomer": "This shipment completes your order. You can always check the status of your orders from the \"Your Account\" link at the top of each page of our site.Thank you for shopping at Amazon.com" + "x-amzn-api-sandbox": { + "static": [ + { + "request": { + "parameters": { + "warehouseId": { + "value": "DUMMYCODE" + } + } }, - "taxTotal": { - "taxLineItem": [ + "response": { + "errors": [ { - "taxAmount": { - "currencyCode": "USD", - "amount": "190" - }, - "type": "TOTAL" + "code": "InvalidInput", + "message": "Invalid transmission ID.", + "details": "" } ] - }, - "sellingParty": { - "partyId": "999US" - }, - "shipFromParty": { - "partyId": "ABCD" - }, - "shipToParty": { - "name": "ABCD", - "attention": "ABCD", - "addressLine1": "123 XYZ Street", - "addressLine2": "Apt 5", - "city": "San Jose", - "stateOrRegion": "CA", - "postalCode": "94086", - "countryCode": "USA" - }, - "billToParty": { - "partyId": "ABCD" - }, - "items": [ - { - "itemSequenceNumber": "00001", - "buyerProductIdentifier": "B07DFVDRAB", - "vendorProductIdentifier": "8806098286500", - "title": "LG 8 kg Inverter Wi-Fi Fully-Automatic Front Loading Washing Machine (FHT1408SWS, STS-VCM, Inbuilt Heater)", - "orderedQuantity": { - "amount": 1, - "unitOfMeasure": "EACH" - }, - "netPrice": { - "currencyCode": "USD", - "amount": "500" - }, - "taxDetails": { - "taxLineItem": [ - { - "taxRate": "0.1", - "taxAmount": { - "currencyCode": "USD", - "amount": "50" - }, - "type": "TOTAL" - } - ] - }, - "buyerCustomizedInfo": { - "customizedUrl": "aHR0cHM6Ly8xcC1kZi1wdWJsaWMtZGF0YS5zMy5hbWF6b25hd3MuY29tLzExMS0xMjYwNzQ1LTYyOTE0MTZfNTgzNjIxNTQwMTM1NjEuemlw" - } - }, - { - "itemSequenceNumber": "00002", - "buyerProductIdentifier": "B07DFYF5AB", - "vendorProductIdentifier": "8806098286123", - "title": "LG 6.5 kg Inverter Fully-Automatic Front Loading Washing Machine (FHT1065SNW, Blue and White, Inbuilt Heater)", - "orderedQuantity": { - "amount": 2, - "unitOfMeasure": "EACH" - }, - "netPrice": { - "currencyCode": "USD", - "amount": "700" - }, - "taxDetails": { - "taxLineItem": [ - { - "taxRate": "0.1", - "taxAmount": { - "currencyCode": "USD", - "amount": "140" - }, - "type": "TOTAL" - } - ] - } - } - ] + } } - } - }, - "headers": { - "x-amzn-RateLimit-Limit": { - "type": "string", - "description": "Your rate limit (requests per second) for this operation." - }, - "x-amzn-RequestId": { - "type": "string", - "description": "Unique request reference identifier." - } + ] } }, - "400": { - "description": "Request has missing or invalid parameters and cannot be parsed.", + "403": { + "description": "Indicates that access to the resource is forbidden. Possible reasons include Access Denied, Unauthorized, Expired Token, or Invalid Signature.", "schema": { - "$ref": "#/definitions/ErrorList" + "$ref": "#/definitions/SubmitInventoryUpdateResponse" }, "headers": { - "x-amzn-RateLimit-Limit": { - "type": "string", - "description": "Your rate limit (requests per second) for this operation." - }, "x-amzn-RequestId": { "type": "string", "description": "Unique request reference identifier." } } }, - "401": { - "description": "The request's Authorization header is not formatted correctly or does not contain a valid token.", + "404": { + "description": "The resource specified does not exist.", "schema": { - "$ref": "#/definitions/ErrorList" + "$ref": "#/definitions/SubmitInventoryUpdateResponse" }, "headers": { "x-amzn-RateLimit-Limit": { "type": "string", - "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." + "description": "Your rate limit (requests per second) for this operation." }, "x-amzn-RequestId": { "type": "string", @@ -554,27 +197,15 @@ } } }, - "403": { - "description": "Indicates that access to the resource is forbidden. Possible reasons include Access Denied, Unauthorized, Expired Token, or Invalid Signature.", - "schema": { - "$ref": "#/definitions/ErrorList" - }, - "headers": { - "x-amzn-RequestId": { - "type": "string", - "description": "Unique request reference identifier." - } - } - }, - "404": { - "description": "The resource specified does not exist.", + "413": { + "description": "The request size exceeded the maximum accepted size.", "schema": { - "$ref": "#/definitions/ErrorList" + "$ref": "#/definitions/SubmitInventoryUpdateResponse" }, "headers": { "x-amzn-RateLimit-Limit": { "type": "string", - "description": "Your rate limit (requests per second) for this operation." + "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." }, "x-amzn-RequestId": { "type": "string", @@ -585,7 +216,7 @@ "415": { "description": "The request payload is in an unsupported format.", "schema": { - "$ref": "#/definitions/ErrorList" + "$ref": "#/definitions/SubmitInventoryUpdateResponse" }, "headers": { "x-amzn-RateLimit-Limit": { @@ -601,7 +232,7 @@ "429": { "description": "The frequency of requests was greater than allowed.", "schema": { - "$ref": "#/definitions/ErrorList" + "$ref": "#/definitions/SubmitInventoryUpdateResponse" }, "headers": { "x-amzn-RateLimit-Limit": { @@ -617,7 +248,7 @@ "500": { "description": "An unexpected condition occurred that prevented the server from fulfilling the request.", "schema": { - "$ref": "#/definitions/ErrorList" + "$ref": "#/definitions/SubmitInventoryUpdateResponse" }, "headers": { "x-amzn-RateLimit-Limit": { @@ -633,7 +264,7 @@ "503": { "description": "Temporary overloading or maintenance of the server.", "schema": { - "$ref": "#/definitions/ErrorList" + "$ref": "#/definitions/SubmitInventoryUpdateResponse" }, "headers": { "x-amzn-RateLimit-Limit": { @@ -646,298 +277,71 @@ } } } + } + }, + "parameters": [] + } + }, + "definitions": { + "SubmitInventoryUpdateRequest": { + "type": "object", + "properties": { + "inventory": { + "description": "Inventory details required to update some or all items for the requested warehouse.", + "$ref": "#/definitions/InventoryUpdate" + } + }, + "description": "The request body for the submitInventoryUpdate operation." + }, + "InventoryUpdate": { + "type": "object", + "required": [ + "isFullUpdate", + "items", + "sellingParty" + ], + "properties": { + "sellingParty": { + "description": "ID of the selling party or vendor.", + "$ref": "#/definitions/PartyIdentification" + }, + "isFullUpdate": { + "type": "boolean", + "description": "When true, this request contains a full feed. Otherwise, this request contains a partial feed. When sending a full feed, you must send information about all items in the warehouse. Any items not in the full feed are updated as not available. When sending a partial feed, only include the items that need an update to inventory. The status of other items will remain unchanged." }, - "x-amzn-api-sandbox": { - "dynamic": {} + "items": { + "type": "array", + "description": "A list of inventory items with updated details, including quantity available.", + "items": { + "$ref": "#/definitions/ItemDetails" + } } } }, - "/vendor/directFulfillment/orders/2021-12-28/acknowledgements": { - "post": { - "tags": [ - "vendorOrders" - ], - "description": "Submits acknowledgements for one or more purchase orders.\n\n**Usage Plan:**\n\n| Rate (requests per second) | Burst |\n| ---- | ---- |\n| 10 | 10 |\n\nThe `x-amzn-RateLimit-Limit` response header returns the usage plan rate limits that were applied to the requested operation, when available. The table above indicates the default rate and burst values for this operation. Selling partners whose business demands require higher throughput may see higher rate and burst values then those shown here. For more information, see [Usage Plans and Rate Limits in the Selling Partner API](doc:usage-plans-and-rate-limits-in-the-sp-api).", - "operationId": "submitAcknowledgement", - "parameters": [ - { - "in": "body", - "name": "body", - "required": true, - "schema": { - "$ref": "#/definitions/SubmitAcknowledgementRequest" - } - } - ], - "responses": { - "202": { - "description": "Success.", - "schema": { - "$ref": "#/definitions/TransactionId" - }, - "headers": { - "x-amzn-RateLimit-Limit": { - "type": "string", - "description": "Your rate limit (requests per second) for this operation." - }, - "x-amzn-RequestId": { - "type": "string", - "description": "Unique request reference identifier." - } - } - }, - "400": { - "description": "Request has missing or invalid parameters and cannot be parsed.", - "schema": { - "$ref": "#/definitions/ErrorList" - }, - "headers": { - "x-amzn-RateLimit-Limit": { - "type": "string", - "description": "Your rate limit (requests per second) for this operation." - }, - "x-amzn-RequestId": { - "type": "string", - "description": "Unique request reference identifier." - } - } - }, - "403": { - "description": "Indicates that access to the resource is forbidden. Possible reasons include Access Denied, Unauthorized, Expired Token, or Invalid Signature.", - "schema": { - "$ref": "#/definitions/ErrorList" - }, - "headers": { - "x-amzn-RequestId": { - "type": "string", - "description": "Unique request reference identifier." - } - } - }, - "404": { - "description": "The resource specified does not exist.", - "schema": { - "$ref": "#/definitions/ErrorList" - }, - "headers": { - "x-amzn-RateLimit-Limit": { - "type": "string", - "description": "Your rate limit (requests per second) for this operation." - }, - "x-amzn-RequestId": { - "type": "string", - "description": "Unique request reference identifier." - } - } - }, - "413": { - "description": "The request size exceeded the maximum accepted size.", - "schema": { - "$ref": "#/definitions/ErrorList" - }, - "headers": { - "x-amzn-RateLimit-Limit": { - "type": "string", - "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." - }, - "x-amzn-RequestId": { - "type": "string", - "description": "Unique request reference identifier." - } - } - }, - "415": { - "description": "The request payload is in an unsupported format.", - "schema": { - "$ref": "#/definitions/ErrorList" - }, - "headers": { - "x-amzn-RateLimit-Limit": { - "type": "string", - "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." - }, - "x-amzn-RequestId": { - "type": "string", - "description": "Unique request reference identifier." - } - } - }, - "429": { - "description": "The frequency of requests was greater than allowed.", - "schema": { - "$ref": "#/definitions/ErrorList" - }, - "headers": { - "x-amzn-RateLimit-Limit": { - "type": "string", - "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." - }, - "x-amzn-RequestId": { - "type": "string", - "description": "Unique request reference identifier." - } - } - }, - "500": { - "description": "An unexpected condition occurred that prevented the server from fulfilling the request.", - "schema": { - "$ref": "#/definitions/ErrorList" - }, - "headers": { - "x-amzn-RateLimit-Limit": { - "type": "string", - "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." - }, - "x-amzn-RequestId": { - "type": "string", - "description": "Unique request reference identifier." - } - } - }, - "503": { - "description": "Temporary overloading or maintenance of the server.", - "schema": { - "$ref": "#/definitions/ErrorList" - }, - "headers": { - "x-amzn-RateLimit-Limit": { - "type": "string", - "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." - }, - "x-amzn-RequestId": { - "type": "string", - "description": "Unique request reference identifier." - } - } - } - }, - "x-amzn-api-sandbox": { - "dynamic": {} - } - } - } - }, - "definitions": { - "OrderList": { - "type": "object", - "properties": { - "pagination": { - "$ref": "#/definitions/Pagination" - }, - "orders": { - "type": "array", - "items": { - "$ref": "#/definitions/Order" - } - } - } - }, - "Pagination": { - "type": "object", - "properties": { - "nextToken": { - "type": "string", - "description": "A generated string used to pass information to your next request. If NextToken is returned, pass the value of NextToken to the next request. If NextToken is not returned, there are no more order items to return." - } - } - }, - "Order": { - "type": "object", - "required": [ - "purchaseOrderNumber" - ], - "properties": { - "purchaseOrderNumber": { - "type": "string", - "description": "The purchase order number for this order. Formatting Notes: alpha-numeric code." - }, - "orderDetails": { - "description": "Purchase order details.", - "$ref": "#/definitions/OrderDetails" - } - } - }, - "OrderDetails": { + "ItemDetails": { "type": "object", "required": [ - "billToParty", - "customerOrderNumber", - "items", - "orderDate", - "sellingParty", - "shipFromParty", - "shipToParty", - "shipmentDetails" + "availableQuantity" ], "properties": { - "customerOrderNumber": { - "type": "string", - "description": "The customer order number." - }, - "orderDate": { + "buyerProductIdentifier": { "type": "string", - "format": "date-time", - "description": "The date the order was placed. This field is expected to be in ISO-8601 date/time format, for example:2018-07-16T23:00:00Z/ 2018-07-16T23:00:00-05:00 /2018-07-16T23:00:00-08:00. If no time zone is specified, UTC should be assumed." + "description": "The buyer selected product identification of the item. Either buyerProductIdentifier or vendorProductIdentifier should be submitted." }, - "orderStatus": { + "vendorProductIdentifier": { "type": "string", - "description": "Current status of the order.", - "enum": [ - "NEW", - "SHIPPED", - "ACCEPTED", - "CANCELLED" - ], - "x-docgen-enum-table-extension": [ - { - "value": "NEW", - "description": "Status for newly created orders." - }, - { - "value": "SHIPPED", - "description": "Status for orders that are already shipped." - }, - { - "value": "ACCEPTED", - "description": "Status for orders accepted by vendors." - }, - { - "value": "CANCELLED", - "description": "Status for cancelled orders." - } - ] - }, - "shipmentDetails": { - "$ref": "#/definitions/ShipmentDetails" + "description": "The vendor selected product identification of the item. Either buyerProductIdentifier or vendorProductIdentifier should be submitted." }, - "taxTotal": { - "$ref": "#/definitions/TaxItemDetails" - }, - "sellingParty": { - "description": "PartyID of vendor code.", - "$ref": "#/definitions/PartyIdentification" - }, - "shipFromParty": { - "description": "PartyID of vendor's warehouse.", - "$ref": "#/definitions/PartyIdentification" - }, - "shipToParty": { - "description": "Name/Address and tax details of the ship to party.", - "$ref": "#/definitions/Address" - }, - "billToParty": { - "description": "Name/Address and tax details of the bill to party.", - "$ref": "#/definitions/PartyIdentification" + "availableQuantity": { + "description": "Total item quantity available in the warehouse.", + "$ref": "#/definitions/ItemQuantity" }, - "items": { - "type": "array", - "description": "A list of items in this purchase order.", - "items": { - "$ref": "#/definitions/OrderItem" - } + "isObsolete": { + "type": "boolean", + "description": "When true, the item is permanently unavailable." } }, - "description": "Details of an order." + "description": "Updated inventory details for an item." }, "PartyIdentification": { "type": "object", @@ -947,423 +351,56 @@ "properties": { "partyId": { "type": "string", - "description": "Assigned identification for the party. For example, warehouse code or vendor code. Please refer to specific party for more details." - }, - "address": { - "description": "Address details of the party.", - "$ref": "#/definitions/Address" - }, - "taxInfo": { - "description": "Tax registration details of the entity.", - "$ref": "#/definitions/TaxRegistrationDetails" + "description": "Assigned identification for the party." } } }, - "TaxRegistrationDetails": { - "type": "object", - "required": [ - "taxRegistrationNumber" - ], - "properties": { - "taxRegistrationType": { - "type": "string", - "description": "Tax registration type for the entity.", - "enum": [ - "VAT", - "GST" - ], - "x-docgen-enum-table-extension": [ - { - "value": "VAT", - "description": "Value-added tax." - }, - { - "value": "GST", - "description": "Goods and Services tax." - } - ] - }, - "taxRegistrationNumber": { - "type": "string", - "description": "Tax registration number for the party. For example, VAT ID." - }, - "taxRegistrationAddress": { - "description": "Address associated with the tax registration number.", - "$ref": "#/definitions/Address" - }, - "taxRegistrationMessages": { - "type": "string", - "description": "Tax registration message that can be used for additional tax related details." - } - }, - "description": "Tax registration details of the entity." - }, - "Address": { - "type": "object", - "required": [ - "addressLine1", - "countryCode", - "name", - "stateOrRegion" - ], - "properties": { - "name": { - "type": "string", - "description": "The name of the person, business or institution at that address. For Amazon label only vendors, this field will have the value `xxxxx` within the object `shipToParty`." - }, - "attention": { - "type": "string", - "description": "The attention name of the person at that address. For Amazon label only vendors, this field will have the value `xxxxx` within the object `shipToParty`." - }, - "addressLine1": { - "type": "string", - "description": "First line of the address. For Amazon label only vendors, this field will have the value `xxxxx` within the object `shipToParty`." - }, - "addressLine2": { - "type": "string", - "description": "Additional address information, if required. For Amazon label only vendors, this field will have the value `xxxxx` within the object `shipToParty`." - }, - "addressLine3": { - "type": "string", - "description": "Additional address information, if required. For Amazon label only vendors, this field will have the value `xxxxx` within the object `shipToParty`." - }, - "city": { - "type": "string", - "description": "The city where the person, business or institution is located. For Amazon label only vendors, this field will have the value `xxxxx` within the object `shipToParty`." - }, - "county": { - "type": "string", - "description": "The county where person, business or institution is located. For Amazon label only vendors, this field will have the value `xxxxx` within the object `shipToParty`." - }, - "district": { - "type": "string", - "description": "The district where person, business or institution is located. For Amazon label only vendors, this field will have the value `xxxxx` within the object `shipToParty`." - }, - "stateOrRegion": { - "type": "string", - "description": "The state or region where person, business or institution is located." - }, - "postalCode": { - "type": "string", - "description": "The postal code of that address. It conatins a series of letters or digits or both, sometimes including spaces or punctuation." - }, - "countryCode": { - "type": "string", - "description": "The two digit country code. In ISO 3166-1 alpha-2 format." - }, - "phone": { - "type": "string", - "description": "The phone number of the person, business or institution located at that address. For Amazon label only vendors, this field will have the value `xxxxx` within the object `shipToParty`." - } - }, - "description": "Address of the party." - }, - "OrderItem": { + "ItemQuantity": { "type": "object", "required": [ - "itemSequenceNumber", - "netPrice", - "orderedQuantity" + "unitOfMeasure" ], "properties": { - "itemSequenceNumber": { - "type": "string", - "description": "Numbering of the item on the purchase order. The first item will be 1, the second 2, and so on." - }, - "buyerProductIdentifier": { - "type": "string", - "description": "Buyer's standard identification number (ASIN) of an item." - }, - "vendorProductIdentifier": { - "type": "string", - "description": "The vendor selected product identification of the item." - }, - "title": { - "type": "string", - "description": "Title for the item." - }, - "orderedQuantity": { - "description": "Item quantity ordered.", - "$ref": "#/definitions/ItemQuantity" - }, - "scheduledDeliveryShipment": { - "description": "Details for the scheduled delivery shipment.", - "$ref": "#/definitions/ScheduledDeliveryShipment" - }, - "giftDetails": { - "description": "Gift message and wrapId details.", - "$ref": "#/definitions/GiftDetails" - }, - "netPrice": { - "description": "Net price (before tax) to vendor with currency details.", - "$ref": "#/definitions/Money" - }, - "taxDetails": { - "description": "Total tax details for the line item.", - "$ref": "#/definitions/TaxItemDetails" - }, - "totalPrice": { - "description": "The price to Amazon each (cost).", - "$ref": "#/definitions/Money" + "amount": { + "type": "integer", + "description": "Quantity of units available for a specific item." }, - "buyerCustomizedInfo": { - "description": "The buyer information for products the vendor has configured as customizable, specifying the types of customizations or configurations along with types and ranges for their product. This provides the ability for buyers to customize multiple aspects of the products according to what the vendor allows.", - "$ref": "#/definitions/buyerCustomizedInfoDetail" - } - } - }, - "Money": { - "type": "object", - "properties": { - "currencyCode": { + "unitOfMeasure": { "type": "string", - "description": "Three digit currency code in ISO 4217 format. String of length 3." - }, - "amount": { - "$ref": "#/definitions/Decimal" + "description": "Unit of measure for the available quantity." } }, - "description": "An amount of money, including units in the form of currency." - }, - "buyerCustomizedInfoDetail": { - "type": "object", - "properties": { - "customizedUrl": { - "type": "string", - "description": "A [Base 64](https://datatracker.ietf.org/doc/html/rfc4648#section-4) encoded URL using the UTF-8 character set. The URL provides the location of the zip file that specifies the types of customizations or configurations allowed by the vendor, along with types and ranges for the attributes of their products." - } - } - }, - "Decimal": { - "type": "string", - "description": "A decimal number with no loss of precision. Useful when precision loss is unacceptable, as with currencies. Follows RFC7159 for number representation." + "description": "Details of item quantity." }, - "SubmitAcknowledgementResponse": { + "SubmitInventoryUpdateResponse": { "type": "object", "properties": { "payload": { - "description": "The payload for the submitAcknowledgement operation.", - "$ref": "#/definitions/TransactionId" + "description": "The response payload for the submitInventoryUpdate operation.", + "$ref": "#/definitions/TransactionReference" }, "errors": { "$ref": "#/definitions/ErrorList" } }, - "description": "The response schema for the submitAcknowledgement operation." + "description": "The response schema for the submitInventoryUpdate operation." }, - "TransactionId": { + "TransactionReference": { "type": "object", "properties": { "transactionId": { "type": "string", - "description": "GUID assigned by Amazon to identify this transaction. This value can be used with the Transaction Status API to return the status of this transaction." + "description": "GUID to identify this transaction. This value can be used with the Transaction Status API to return the status of this transaction." } } }, "ErrorList": { - "type": "object", - "description": "A list of error responses returned when a request is unsuccessful.", - "required": [ - "errors" - ], - "properties": { - "errors": { - "type": "array", - "items": { - "$ref": "#/definitions/Error" - } - } - } - }, - "SubmitAcknowledgementRequest": { - "type": "object", - "properties": { - "orderAcknowledgements": { - "type": "array", - "description": "A list of one or more purchase orders.", - "items": { - "$ref": "#/definitions/OrderAcknowledgementItem" - } - } - }, - "description": "The request schema for the submitAcknowledgement operation." - }, - "OrderAcknowledgementItem": { - "type": "object", - "required": [ - "acknowledgementDate", - "acknowledgementStatus", - "itemAcknowledgements", - "purchaseOrderNumber", - "sellingParty", - "shipFromParty", - "vendorOrderNumber" - ], - "properties": { - "purchaseOrderNumber": { - "type": "string", - "description": "The purchase order number for this order. Formatting Notes: alpha-numeric code." - }, - "vendorOrderNumber": { - "type": "string", - "description": "The vendor's order number for this order." - }, - "acknowledgementDate": { - "type": "string", - "format": "date-time", - "description": "The date and time when the order is acknowledged, in ISO-8601 date/time format. For example: 2018-07-16T23:00:00Z / 2018-07-16T23:00:00-05:00 / 2018-07-16T23:00:00-08:00." - }, - "acknowledgementStatus": { - "description": "Status of acknowledgement.", - "$ref": "#/definitions/AcknowledgementStatus" - }, - "sellingParty": { - "description": "PartyID as vendor code.", - "$ref": "#/definitions/PartyIdentification" - }, - "shipFromParty": { - "description": "PartyID as the vendor's warehouseId.", - "$ref": "#/definitions/PartyIdentification" - }, - "itemAcknowledgements": { - "type": "array", - "description": "Item details including acknowledged quantity.", - "items": { - "$ref": "#/definitions/OrderItemAcknowledgement" - } - } - }, - "description": "Details of an individual order being acknowledged." - }, - "OrderItemAcknowledgement": { - "type": "object", - "required": [ - "acknowledgedQuantity", - "itemSequenceNumber" - ], - "properties": { - "itemSequenceNumber": { - "type": "string", - "description": "Line item sequence number for the item." - }, - "buyerProductIdentifier": { - "type": "string", - "description": "Buyer's standard identification number (ASIN) of an item." - }, - "vendorProductIdentifier": { - "type": "string", - "description": "The vendor selected product identification of the item. Should be the same as was provided in the purchase order." - }, - "acknowledgedQuantity": { - "description": "Details of quantity acknowledged with the above acknowledgement code.", - "$ref": "#/definitions/ItemQuantity" - } - } - }, - "ItemQuantity": { - "type": "object", - "properties": { - "amount": { - "type": "integer", - "description": "Acknowledged quantity. This value should not be zero." - }, - "unitOfMeasure": { - "type": "string", - "description": "Unit of measure for the acknowledged quantity.", - "enum": [ - "Each" - ], - "x-docgen-enum-table-extension": [ - { - "value": "Each", - "description": "Unit of measure to represent individual piece." - } - ] - } - }, - "description": "Details of quantity ordered." - }, - "TaxLineItem": { "type": "array", - "description": "A list of tax line items.", + "description": "A list of error responses returned when a request is unsuccessful.", "items": { - "$ref": "#/definitions/TaxDetails" - } - }, - "TaxDetails": { - "type": "object", - "required": [ - "taxAmount" - ], - "properties": { - "taxRate": { - "$ref": "#/definitions/Decimal" - }, - "taxAmount": { - "$ref": "#/definitions/Money" - }, - "taxableAmount": { - "$ref": "#/definitions/Money" - }, - "type": { - "type": "string", - "description": "Tax type.", - "enum": [ - "CONSUMPTION", - "GST", - "MwSt.", - "PST", - "TOTAL", - "TVA", - "VAT" - ], - "x-docgen-enum-table-extension": [ - { - "value": "CONSUMPTION", - "description": "Tax levied on consumption spending on goods and services." - }, - { - "value": "GST", - "description": "Tax levied on most goods and services sold for domestic consumption." - }, - { - "value": "MwSt.", - "description": "Mehrwertsteuer, MwSt, is German for value-added tax." - }, - { - "value": "PST", - "description": "A provincial sales tax (PST) is imposed on consumers of goods and particular services in many Canadian provinces." - }, - { - "value": "TOTAL", - "description": "Combined total of all the applicable taxes." - }, - { - "value": "TVA", - "description": "Taxe sur la Valeur Ajoutée (TVA) is French for value-added tax." - }, - { - "value": "VAT", - "description": "Value-added tax." - } - ] - } + "$ref": "#/definitions/Error" } }, - "AcknowledgementStatus": { - "type": "object", - "properties": { - "code": { - "type": "string", - "description": "Acknowledgement code is a unique two digit value which indicates the status of the acknowledgement. For a list of acknowledgement codes that Amazon supports, see the Vendor Direct Fulfillment APIs Use Case Guide." - }, - "description": { - "type": "string", - "description": "Reason for the acknowledgement code." - } - }, - "description": "Status of acknowledgement." - }, "Error": { "type": "object", "required": [ @@ -1385,109 +422,6 @@ } }, "description": "Error response returned when the request is unsuccessful." - }, - "ShipmentDetails": { - "type": "object", - "required": [ - "isPriorityShipment", - "isPslipRequired", - "messageToCustomer", - "shipMethod", - "shipmentDates" - ], - "properties": { - "isPriorityShipment": { - "type": "boolean", - "description": "When true, this is a priority shipment." - }, - "isScheduledDeliveryShipment": { - "type": "boolean", - "description": "When true, this order is part of a scheduled delivery program." - }, - "isPslipRequired": { - "type": "boolean", - "description": "When true, a packing slip is required to be sent to the customer." - }, - "isGift": { - "type": "boolean", - "description": "When true, the order contain a gift. Include the gift message and gift wrap information." - }, - "shipMethod": { - "type": "string", - "description": "Ship method to be used for shipping the order. Amazon defines ship method codes indicating the shipping carrier and shipment service level. To see the full list of ship methods in use, including both the code and the friendly name, search the 'Help' section on Vendor Central for 'ship methods'." - }, - "shipmentDates": { - "$ref": "#/definitions/ShipmentDates" - }, - "messageToCustomer": { - "type": "string", - "description": "Message to customer for order status." - } - }, - "description": "Shipment details required for the shipment." - }, - "ShipmentDates": { - "type": "object", - "required": [ - "requiredShipDate" - ], - "properties": { - "requiredShipDate": { - "type": "string", - "format": "date-time", - "description": "Time by which the vendor is required to ship the order." - }, - "promisedDeliveryDate": { - "type": "string", - "format": "date-time", - "description": "Delivery date promised to the Amazon customer." - } - }, - "description": "Shipment dates." - }, - "ScheduledDeliveryShipment": { - "type": "object", - "properties": { - "scheduledDeliveryServiceType": { - "type": "string", - "description": "Scheduled delivery service type." - }, - "earliestNominatedDeliveryDate": { - "type": "string", - "format": "date-time", - "description": "Earliest nominated delivery date for the scheduled delivery." - }, - "latestNominatedDeliveryDate": { - "type": "string", - "format": "date-time", - "description": "Latest nominated delivery date for the scheduled delivery." - } - }, - "description": "Dates for the scheduled delivery shipments." - }, - "GiftDetails": { - "type": "object", - "properties": { - "giftMessage": { - "type": "string", - "description": "Gift message to be printed in shipment." - }, - "giftWrapId": { - "type": "string", - "description": "Gift wrap identifier for the gift wrapping, if any." - } - }, - "description": "Gift details for the item." - }, - "TaxItemDetails": { - "type": "object", - "description": "Total tax details for the line item.", - "properties": { - "taxLineItem": { - "description": "Tax details.", - "$ref": "#/definitions/TaxLineItem" - } - } } } -} \ No newline at end of file +} From 9ab76991793938a65c07623121ca8cd2ca5eb959 Mon Sep 17 00:00:00 2001 From: Jack Evoniuk Date: Wed, 13 Dec 2023 13:36:25 -0800 Subject: [PATCH 209/340] Update Listings Items 2021 model --- .../listingsItems_2021-08-01.json | 334 +++++++++++++++--- 1 file changed, 283 insertions(+), 51 deletions(-) diff --git a/models/listings-items-api-model/listingsItems_2021-08-01.json b/models/listings-items-api-model/listingsItems_2021-08-01.json index 02dc28910..c1de701fd 100644 --- a/models/listings-items-api-model/listingsItems_2021-08-01.json +++ b/models/listings-items-api-model/listingsItems_2021-08-01.json @@ -1,7 +1,7 @@ { "swagger": "2.0", "info": { - "description": "The Selling Partner API for Listings Items (Listings Items API) provides programmatic access to selling partner listings on Amazon. Use this API in collaboration with the Selling Partner API for Product Type Definitions, which you use to retrieve the information about Amazon product types needed to use the Listings Items API.\n\nFor more information, see the [Listings Items API Use Case Guide](doc:listings-items-api-v2021-08-01-use-case-guide).", + "description": "The Selling Partner API for Listings Items (Listings Items API) provides programmatic access to selling partner listings on Amazon. Use this API in collaboration with the Selling Partner API for Product Type Definitions, which you use to retrieve the information about Amazon product types needed to use the Listings Items API.\n\nFor more information, see the [Listings Items API Use Case Guide](https://developer-docs.amazon.com/sp-api/docs/listings-items-api-v2021-08-01-use-case-guide).", "version": "2021-08-01", "title": "Selling Partner API for Listings Items", "contact": { @@ -66,7 +66,7 @@ }, { "name": "issueLocale", - "description": "A locale for localization of issues. When not provided, the default language code of the first marketplace is used. Examples: \"en_US\", \"fr_CA\", \"fr_FR\". Localized messages default to \"en_US\" when a localization is not available in the specified locale.", + "description": "A locale for localization of issues. When not provided, the default language code of the first marketplace is used. Examples: `en_US`, `fr_CA`, `fr_FR`. Localized messages default to `en_US` when a localization is not available in the specified locale.", "in": "query", "required": false, "type": "string", @@ -230,7 +230,7 @@ "tags": [ "listings" ], - "description": "Returns details about a listings item for a selling partner.\n\n**Note:** The parameters associated with this operation may contain special characters that must be encoded to successfully call the API. To avoid errors with SKUs when encoding URLs, refer to [URL Encoding](https://developer-docs.amazon.com/sp-api/docs/url-encoding).\n\n**Usage Plan:**\n\n| Rate (requests per second) | Burst |\n| ---- | ---- |\n| 5 | 10 |\n\nThe `x-amzn-RateLimit-Limit` response header returns the usage plan rate limits that were applied to the requested operation, when available. The table above indicates the default rate and burst values for this operation. Selling partners whose business demands require higher throughput may see higher rate and burst values than those shown here. For more information, see [Usage Plans and Rate Limits in the Selling Partner API](https://developer-docs.amazon.com/sp-api/docs/usage-plans-and-rate-limits-in-the-sp-api).", + "description": "Returns details about a listings item for a selling partner.\n\n**Note:** This operation has a throttling rate of one request per second when `mode` is `VALIDATION_PREVIEW`.\n\n**Note:** The parameters associated with this operation may contain special characters that must be encoded to successfully call the API. To avoid errors with SKUs when encoding URLs, refer to [URL Encoding](https://developer-docs.amazon.com/sp-api/docs/url-encoding).\n\n**Usage Plan:**\n\n| Rate (requests per second) | Burst |\n| ---- | ---- |\n| 5 | 10 |\n\nThe `x-amzn-RateLimit-Limit` response header returns the usage plan rate limits that were applied to the requested operation, when available. The table above indicates the default rate and burst values for this operation. Selling partners whose business demands require higher throughput may see higher rate and burst values than those shown here. For more information, see [Usage Plans and Rate Limits in the Selling Partner API](https://developer-docs.amazon.com/sp-api/docs/usage-plans-and-rate-limits-in-the-sp-api).", "operationId": "getListingsItem", "consumes": [ "application/json" @@ -267,7 +267,7 @@ }, { "name": "issueLocale", - "description": "A locale for localization of issues. When not provided, the default language code of the first marketplace is used. Examples: \"en_US\", \"fr_CA\", \"fr_FR\". Localized messages default to \"en_US\" when a localization is not available in the specified locale.", + "description": "A locale for localization of issues. When not provided, the default language code of the first marketplace is used. Examples: `en_US`, `fr_CA`, `fr_FR`. Localized messages default to `en_US` when a localization is not available in the specified locale.", "in": "query", "required": false, "type": "string", @@ -275,7 +275,7 @@ }, { "name": "includedData", - "description": "A comma-delimited list of data sets to include in the response. Default: summaries.", + "description": "A comma-delimited list of data sets to include in the response. Default: `summaries`.", "in": "query", "required": false, "type": "array", @@ -295,23 +295,23 @@ }, { "value": "attributes", - "description": "JSON object containing structured listing item attribute data keyed by attribute name." + "description": "A JSON object containing structured listing item attribute data keyed by attribute name." }, { "value": "issues", - "description": "Issues associated with the listing item." + "description": "The issues associated with the listing item." }, { "value": "offers", - "description": "Current offers for the listing item." + "description": "The current offers for the listing item." }, { "value": "fulfillmentAvailability", - "description": "Fulfillment availability details for the listing item." + "description": "The fulfillment availability details for the listing item." }, { "value": "procurement", - "description": "Vendor procurement details for the listing item. " + "description": "The vendor procurement details for the listing item. " } ], "type": "string" @@ -375,7 +375,80 @@ "quantity": 100 } ], - "issues": [] + "issues": [ + { + "code": "90220", + "message": "'size' is required but not supplied.", + "severity": "ERROR", + "attributeNames": ["size"], + "categories": ["MISSING_ATTRIBUTE"] + }, + { + "code": "18027", + "message": "We believe the main image has text, logo, graphic or watermark which is not permitted for this product type. Please submit a compliant image to lift the suppression. Also refer to Product image requirements.", + "severity": "ERROR", + "categories": ["INVALID_IMAGE"], + "enforcements": { + "actions": [ + { + "action": "SEARCH_SUPPRESSED" + } + ], + "exemption": { + "status": "EXEMPT_UNTIL_EXPIRY_DATE", + "expiryDate": "2025-05-28T00:36:48.914Z" + } + } + }, + { + "code": "99300", + "message": "Product Detail Page Rules Violation (Inaccurate information on product detail page)", + "severity": "ERROR", + "categories": [], + "enforcements": { + "actions": [ + { + "action": "ATTRIBUTE_SUPPRESSED" + } + ], + "exemption": { + "status": "EXEMPT" + } + } + }, + { + "code": "18155", + "message": "The 'minimum price' is greater than the selling price (excluding shipping) for the listing. Please review and update your price and/or minimum price.", + "severity": "ERROR", + "categories": ["INVALID_PRICE"], + "enforcements": { + "actions": [ + { + "action": "LISTING_SUPPRESSED" + } + ], + "exemption": { + "status": "NOT_EXEMPT" + } + } + }, + { + "code": "18742", + "message": "Restricted Products Policy Violation", + "severity": "ERROR", + "categories": [], + "enforcements": { + "actions": [ + { + "action": "CATALOG_ITEM_REMOVED" + } + ], + "exemption": { + "status": "NOT_EXEMPT" + } + } + } + ] } }, "x-amzn-api-sandbox": { @@ -424,7 +497,80 @@ "quantity": 100 } ], - "issues": [] + "issues": [ + { + "code": "90220", + "message": "'size' is required but not supplied.", + "severity": "ERROR", + "attributeNames": ["size"], + "categories": ["MISSING_ATTRIBUTE"] + }, + { + "code": "18027", + "message": "We believe the main image has text, logo, graphic or watermark which is not permitted for this product type. Please submit a compliant image to lift the suppression. Also refer to Product image requirements.", + "severity": "ERROR", + "categories": ["INVALID_IMAGE"], + "enforcements": { + "actions": [ + { + "action": "SEARCH_SUPPRESSED" + } + ], + "exemption": { + "status": "EXEMPT_UNTIL_EXPIRY_DATE", + "expiryDate": "2025-05-28T00:36:48.914Z" + } + } + }, + { + "code": "99300", + "message": "Product Detail Page Rules Violation (Inaccurate information on product detail page)", + "severity": "ERROR", + "categories": [], + "enforcements": { + "actions": [ + { + "action": "ATTRIBUTE_SUPPRESSED" + } + ], + "exemption": { + "status": "EXEMPT" + } + } + }, + { + "code": "18155", + "message": "The 'minimum price' is greater than the selling price (excluding shipping) for the listing. Please review and update your price and/or minimum price.", + "severity": "ERROR", + "categories": ["INVALID_PRICE"], + "enforcements": { + "actions": [ + { + "action": "LISTING_SUPPRESSED" + } + ], + "exemption": { + "status": "NOT_EXEMPT" + } + } + }, + { + "code": "18742", + "message": "Restricted Products Policy Violation", + "severity": "ERROR", + "categories": [], + "enforcements": { + "actions": [ + { + "action": "CATALOG_ITEM_REMOVED" + } + ], + "exemption": { + "status": "NOT_EXEMPT" + } + } + } + ] } } ] @@ -599,7 +745,7 @@ }, { "name": "issueLocale", - "description": "A locale for localization of issues. When not provided, the default language code of the first marketplace is used. Examples: \"en_US\", \"fr_CA\", \"fr_FR\". Localized messages default to \"en_US\" when a localization is not available in the specified locale.", + "description": "A locale for localization of issues. When not provided, the default language code of the first marketplace is used. Examples: `en_US`, `fr_CA`, `fr_FR`. Localized messages default to `en_US` when a localization is not available in the specified locale.", "in": "query", "required": false, "type": "string", @@ -607,7 +753,7 @@ }, { "name": "body", - "description": "The request body schema for the patchListingsItem operation.", + "description": "The request body schema for the `patchListingsItem` operation.", "in": "body", "required": true, "schema": { @@ -774,7 +920,7 @@ "tags": [ "listings" ], - "description": "Creates a new or fully-updates an existing listings item for a selling partner.\n\n**Note:** The parameters associated with this operation may contain special characters that must be encoded to successfully call the API. To avoid errors with SKUs when encoding URLs, refer to [URL Encoding](https://developer-docs.amazon.com/sp-api/docs/url-encoding).\n\n**Usage Plan:**\n\n| Rate (requests per second) | Burst |\n| ---- | ---- |\n| 5 | 10 |\n\nThe `x-amzn-RateLimit-Limit` response header returns the usage plan rate limits that were applied to the requested operation, when available. The table above indicates the default rate and burst values for this operation. Selling partners whose business demands require higher throughput may see higher rate and burst values than those shown here. For more information, see [Usage Plans and Rate Limits in the Selling Partner API](https://developer-docs.amazon.com/sp-api/docs/usage-plans-and-rate-limits-in-the-sp-api).", + "description": "Creates or fully updates an existing listings item for a selling partner.\n\n**Note:** The parameters associated with this operation may contain special characters that must be encoded to successfully call the API. To avoid errors with SKUs when encoding URLs, refer to [URL Encoding](https://developer-docs.amazon.com/sp-api/docs/url-encoding).\n\n**Usage Plan:**\n\n| Rate (requests per second) | Burst |\n| ---- | ---- |\n| 5 | 10 |\n\nThe `x-amzn-RateLimit-Limit` response header returns the usage plan rate limits that were applied to the requested operation, when available. The table above indicates the default rate and burst values for this operation. Selling partners whose business demands require higher throughput may see higher rate and burst values than those shown here. For more information, see [Usage Plans and Rate Limits in the Selling Partner API](https://developer-docs.amazon.com/sp-api/docs/usage-plans-and-rate-limits-in-the-sp-api).", "operationId": "putListingsItem", "consumes": [ "application/json" @@ -811,7 +957,7 @@ }, { "name": "issueLocale", - "description": "A locale for localization of issues. When not provided, the default language code of the first marketplace is used. Examples: \"en_US\", \"fr_CA\", \"fr_FR\". Localized messages default to \"en_US\" when a localization is not available in the specified locale.", + "description": "A locale for localization of issues. When not provided, the default language code of the first marketplace is used. Examples: `en_US`, `fr_CA`, `fr_FR`. Localized messages default to `en_US` when a localization is not available in the specified locale.", "in": "query", "required": false, "type": "string", @@ -819,7 +965,7 @@ }, { "name": "body", - "description": "The request body schema for the putListingsItem operation.", + "description": "The request body schema for the `putListingsItem` operation.", "in": "body", "required": true, "schema": { @@ -1042,14 +1188,14 @@ "$ref": "#/definitions/ItemOffers" }, "fulfillmentAvailability": { - "description": "Fulfillment availability for the listings item.", + "description": "The fulfillment availability for the listings item.", "type": "array", "items": { "$ref": "#/definitions/FulfillmentAvailability" } }, "procurement": { - "description": "Vendor procurement information for the listings item.", + "description": "The vendor procurement information for the listings item.", "type": "array", "items": { "$ref": "#/definitions/ItemProcurement" @@ -1103,7 +1249,7 @@ "x-docgen-enum-table-extension": [ { "value": "new_new", - "description": "New" + "description": "New." }, { "value": "new_open_box", @@ -1115,7 +1261,7 @@ }, { "value": "refurbished_refurbished", - "description": "Refurbished" + "description": "Refurbished." }, { "value": "used_like_new", @@ -1151,7 +1297,7 @@ }, { "value": "club_club", - "description": "Club" + "description": "Club." } ], "type": "string" @@ -1178,25 +1324,25 @@ } }, "fnSku": { - "description": "Fulfillment network stock keeping unit is an identifier used by Amazon fulfillment centers to identify each unique item.", + "description": "The fulfillment network stock keeping unit is an identifier used by Amazon fulfillment centers to identify each unique item.", "type": "string" }, "itemName": { - "description": "Name, or title, associated with an Amazon catalog item.", + "description": "The name or title associated with an Amazon catalog item.", "type": "string" }, "createdDate": { - "description": "Date the listings item was created, in ISO 8601 format.", + "description": "The date the listings item was created in ISO 8601 format.", "type": "string", "format": "date-time" }, "lastUpdatedDate": { - "description": "Date the listings item was last updated, in ISO 8601 format.", + "description": "The date the listings item was last updated in ISO 8601 format.", "type": "string", "format": "date-time" }, "mainImage": { - "description": "Main image for the listings item.", + "description": "The main image for the listings item.", "$ref": "#/definitions/ItemImage" } }, @@ -1212,18 +1358,18 @@ "type": "object" }, "ItemImage": { - "description": "Image for the listings item.", + "description": "The image for the listings item.", "properties": { "link": { - "description": "Link, or URL, for the image.", + "description": "The link, or URL, to the image.", "type": "string" }, "height": { - "description": "Height of the image in pixels.", + "description": "The height of the image in pixels.", "type": "integer" }, "width": { - "description": "Width of the image in pixels.", + "description": "The width of the image in pixels.", "type": "integer" } }, @@ -1235,12 +1381,12 @@ "type": "object" }, "ItemAttributes": { - "description": "JSON object containing structured listings item attribute data keyed by attribute name.", + "description": "A JSON object containing structured listings item attribute data keyed by attribute name.", "type": "object", "additionalProperties": true }, "ItemIssues": { - "description": "Issues associated with the listings item.", + "description": "The issues associated with the listings item.", "items": { "$ref": "#/definitions/Issue" }, @@ -1281,20 +1427,106 @@ "type": "string" }, "attributeNames": { - "description": "Names of the attributes associated with the issue, if applicable.", + "description": "The names of the attributes associated with the issue, if applicable.", "type": "array", "items": { "type": "string" } + }, + "categories": { + "description": "List of issue categories. \n\nPossible vales: \n\n* `INVALID_ATTRIBUTE` - Indicating an invalid attribute in the listing. \n\n* `MISSING_ATTRIBUTE` - Highlighting a missing attribute in the listing. \n\n* `INVALID_IMAGE` - Signifying an invalid image in the listing. \n\n* `MISSING_IMAGE` - Noting the absence of an image in the listing. \n\n* `INVALID_PRICE` - Pertaining to issues with the listing`s price-related attributes. \n\n* `MISSING_PRICE` - Pointing out the absence of a price attribute in the listing. \n\n* `DUPLICATE` - Identifying listings with potential duplicate problems, such as this ASIN potentially being a duplicate of another ASIN. \n\n* `QUALIFICATION_REQUIRED` - Indicating that the listing requires qualification-related approval.", + "type": "array", + "items": { + "type": "string" + }, + "example": ["INVALID_ATTRIBUTE"] + }, + "enforcements": { + "description": "This field provides information about the enforcement actions taken by Amazon that affect the publishing or status of a listing. It also includes details about any associated exemptions.", + "$ref": "#/definitions/IssueEnforcements" } }, "required": [ "code", "message", - "severity" + "severity", + "categories" ], "type": "object" }, + "IssueEnforcements": { + "description": "This field provides information about the enforcement actions taken by Amazon that affect the publishing or status of a listing. It also includes details about any associated exemptions.", + "type": "object", + "properties": { + "actions": { + "description": "List of enforcement actions taken by Amazon that affect the publishing or status of a listing.", + "type": "array", + "items": { + "$ref": "#/definitions/IssueEnforcementAction" + } + }, + "exemption": { + "description": "The \"exemption\" field serves to convey the status of enforcement actions by Amazon.", + "$ref": "#/definitions/IssueExemption" + } + }, + "required": [ + "actions", + "exemption" + ] + }, + "IssueEnforcementAction": { + "description": "The enforcement action taken by Amazon that affect the publishing or status of a listing", + "type": "object", + "properties": { + "action":{ + "description": "The enforcement action name. \n\nPossible values: \n\n* `LISTING_SUPPRESSED` - This enforcement takes down the current listing item`s buyability. \n\n* `ATTRIBUTE_SUPPRESSED` - An attribute`s value on the listing item is invalid, which causes it to be rejected by Amazon. \n\n* `CATALOG_ITEM_REMOVED` - This catalog item is inactive on Amazon, and all offers against it in the applicable marketplace are non-buyable. \n\n* `SEARCH_SUPPRESSED` - This value indicates that the catalog item is hidden from search results.", + "type": "string", + "example": "LISTING_SUPPRESSED" + } + }, + "required": [ + "action" + ] + }, + "IssueExemption": { + "description": "Conveying the status of the listed enforcement actions and, if applicable, provides information about the exemption's expiry date.", + "type": "object", + "properties": { + "status": { + "description": "This field indicates the current exemption status for the listed enforcement actions. It can take values such as `EXEMPT`, signifying permanent exemption, `EXEMPT_UNTIL_EXPIRY_DATE` indicating temporary exemption until a specified date, or `NOT_EXEMPT` signifying no exemptions, and enforcement actions were already applied.", + "enum": [ + "EXEMPT", + "EXEMPT_UNTIL_EXPIRY_DATE", + "NOT_EXEMPT" + ], + "x-docgen-enum-table-extension": [ + { + "value": "EXEMPT", + "description": "This status is assigned to a product listing when it has been exempted from the listed enforcement actions. In cases of `EXEMPT`, Amazon acknowledges the existence of enforcement actions but ensures the user that these actions will not be applied to the listing. The user is advised to consider addressing the issue, although enforcement actions will not be taken." + }, + { + "value": "EXEMPT_UNTIL_EXPIRY_DATE", + "description": "This status indicates that a product listing has been granted a temporary exemption from the listed enforcement actions. The exemption will remain in effect until a specified expiry date. After this date, Amazon will enforce the listed actions. The `expiryDate` field provides the timestamp indicating when the temporary exemption will end, adhering to the ISO 8601 format" + }, + { + "value": "NOT_EXEMPT", + "description": "This status is assigned to a product listing when it has no exemptions from the listed enforcement actions. When the status is `NOT_EXEMPT`, it signifies that Amazon has already taken the specified enforcement actions. There is no exemption in place, and the listed actions are actively enforced" + } + ], + "type": "string" + }, + "expiryDate": { + "description": "This field represents the timestamp, following the ISO 8601 format, which specifies the date when temporary exemptions, if applicable, will expire, and Amazon will begin enforcing the listed actions.", + "type": "string", + "format": "date-time", + "example": "2023-10-28T00:36:48.914Z" + } + }, + "required": [ + "status" + ] + }, "ItemOffers": { "description": "Offer details for the listings item.", "items": { @@ -1306,7 +1538,7 @@ "description": "Offer details of a listings item for an Amazon marketplace.", "properties": { "marketplaceId": { - "description": "Amazon marketplace identifier.", + "description": "The Amazon marketplace identifier.", "type": "string" }, "offerType": { @@ -1328,7 +1560,7 @@ "type": "string" }, "price": { - "description": "Purchase price of the listings item", + "description": "The purchase price of the listings item", "$ref": "#/definitions/Money" }, "points": { @@ -1343,7 +1575,7 @@ "type": "object" }, "ItemProcurement": { - "description": "Vendor procurement information for the listings item.", + "description": "The vendor procurement information for the listings item.", "properties": { "costPrice": { "description": "The price (numeric value) that you want Amazon to pay you for this product.", @@ -1356,10 +1588,10 @@ "type": "object" }, "FulfillmentAvailability": { - "description": "Fulfillment availability details for the listings item.", + "description": "The fulfillment availability details for the listings item.", "properties": { "fulfillmentChannelCode": { - "description": "Designates which fulfillment network will be used.", + "description": "The code of the fulfillment network that will be used.", "type": "string" }, "quantity": { @@ -1374,11 +1606,11 @@ "type": "object" }, "Money": { - "description": "The currency type and the amount.", + "description": "The currency type and amount.", "properties": { "currencyCode": { "type": "string", - "description": "Three-digit currency code. In ISO 4217 format." + "description": "Three-digit currency code in ISO 4217 format." }, "amount": { "description": "The currency amount.", @@ -1396,7 +1628,7 @@ "description": "A decimal number with no loss of precision. Useful when precision loss is unnaceptable, as with currencies. Follows RFC7159 for number representation." }, "Points": { - "description": "The number of Amazon Points offered with the purchase of an item, and their monetary value. Note that the Points element is only returned in Japan (JP).", + "description": "The number of Amazon Points offered with the purchase of an item, and their monetary value. Note that the `Points` element is only returned in Japan (JP).", "type": "object", "properties": { "pointsNumber": { @@ -1411,7 +1643,7 @@ "description": "Individual JSON Patch operation for an HTTP PATCH request.", "properties": { "op": { - "description": "Type of JSON Patch operation. Supported JSON Patch operations include add, replace, and delete. See .", + "description": "Type of JSON Patch operation. Supported JSON Patch operations include add, replace, and delete. Refer to [JavaScript Object Notation (JSON) Patch](https://tools.ietf.org/html/rfc6902) for more information.", "enum": [ "add", "replace", @@ -1420,21 +1652,21 @@ "x-docgen-enum-table-extension": [ { "value": "add", - "description": "The \"add\" operation adds or replaces the target property." + "description": "The `add` operation adds or replaces the target property." }, { "value": "replace", - "description": "The \"replace\" operation adds or replaces the target property." + "description": "The `replace` operation adds or replaces the target property." }, { "value": "delete", - "description": "The \"delete\" operation removes the target property. Not supported for vendors (vendors will receive an HTTP status code 400 response)." + "description": "The `delete` operation removes the target property. Not supported for vendors (vendors will receive an HTTP status code 400 response)." } ], "type": "string" }, "path": { - "description": "JSON Pointer path of the element to patch. See .", + "description": "JSON Pointer path of the element to patch. Refer to [JavaScript Object Notation (JSON) Patch](https://tools.ietf.org/html/rfc6902) for more information.", "type": "string" }, "value": { @@ -1453,7 +1685,7 @@ "type": "object" }, "ListingsItemPatchRequest": { - "description": "The request body schema for the patchListingsItem operation.", + "description": "The request body schema for the `patchListingsItem` operation.", "properties": { "productType": { "description": "The Amazon product type of the listings item.", @@ -1475,7 +1707,7 @@ "type": "object" }, "ListingsItemPutRequest": { - "description": "The request body schema for the putListingsItem operation.", + "description": "The request body schema for the `putListingsItem` operation.", "properties": { "productType": { "description": "The Amazon product type of the listings item.", @@ -1505,7 +1737,7 @@ "type": "string" }, "attributes": { - "description": "JSON object containing structured listings item attribute data keyed by attribute name.", + "description": "A JSON object containing structured listings item attribute data keyed by attribute name.", "type": "object", "additionalProperties": true } From 64c0e790b8d307cd0ddacb6c8f8014e9ba0f25a8 Mon Sep 17 00:00:00 2001 From: Jack Evoniuk Date: Tue, 2 Jan 2024 14:47:36 -0800 Subject: [PATCH 210/340] Update Listings Items model --- models/listings-items-api-model/listingsItems_2021-08-01.json | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/models/listings-items-api-model/listingsItems_2021-08-01.json b/models/listings-items-api-model/listingsItems_2021-08-01.json index c1de701fd..44cbcbfe2 100644 --- a/models/listings-items-api-model/listingsItems_2021-08-01.json +++ b/models/listings-items-api-model/listingsItems_2021-08-01.json @@ -1434,7 +1434,7 @@ } }, "categories": { - "description": "List of issue categories. \n\nPossible vales: \n\n* `INVALID_ATTRIBUTE` - Indicating an invalid attribute in the listing. \n\n* `MISSING_ATTRIBUTE` - Highlighting a missing attribute in the listing. \n\n* `INVALID_IMAGE` - Signifying an invalid image in the listing. \n\n* `MISSING_IMAGE` - Noting the absence of an image in the listing. \n\n* `INVALID_PRICE` - Pertaining to issues with the listing`s price-related attributes. \n\n* `MISSING_PRICE` - Pointing out the absence of a price attribute in the listing. \n\n* `DUPLICATE` - Identifying listings with potential duplicate problems, such as this ASIN potentially being a duplicate of another ASIN. \n\n* `QUALIFICATION_REQUIRED` - Indicating that the listing requires qualification-related approval.", + "description": "List of issue categories. \n\nPossible vales: \n\n* `INVALID_ATTRIBUTE` - Indicating an invalid attribute in the listing. \n\n* `MISSING_ATTRIBUTE` - Highlighting a missing attribute in the listing. \n\n* `INVALID_IMAGE` - Signifying an invalid image in the listing. \n\n* `MISSING_IMAGE` - Noting the absence of an image in the listing. \n\n* `INVALID_PRICE` - Pertaining to issues with the listing's price-related attributes. \n\n* `MISSING_PRICE` - Pointing out the absence of a price attribute in the listing. \n\n* `DUPLICATE` - Identifying listings with potential duplicate problems, such as this ASIN potentially being a duplicate of another ASIN. \n\n* `QUALIFICATION_REQUIRED` - Indicating that the listing requires qualification-related approval.", "type": "array", "items": { "type": "string" @@ -1480,7 +1480,7 @@ "type": "object", "properties": { "action":{ - "description": "The enforcement action name. \n\nPossible values: \n\n* `LISTING_SUPPRESSED` - This enforcement takes down the current listing item`s buyability. \n\n* `ATTRIBUTE_SUPPRESSED` - An attribute`s value on the listing item is invalid, which causes it to be rejected by Amazon. \n\n* `CATALOG_ITEM_REMOVED` - This catalog item is inactive on Amazon, and all offers against it in the applicable marketplace are non-buyable. \n\n* `SEARCH_SUPPRESSED` - This value indicates that the catalog item is hidden from search results.", + "description": "The enforcement action name. \n\nPossible values: \n\n* `LISTING_SUPPRESSED` - This enforcement takes down the current listing item's buyability. \n\n* `ATTRIBUTE_SUPPRESSED` - An attribute's value on the listing item is invalid, which causes it to be rejected by Amazon. \n\n* `CATALOG_ITEM_REMOVED` - This catalog item is inactive on Amazon, and all offers against it in the applicable marketplace are non-buyable. \n\n* `SEARCH_SUPPRESSED` - This value indicates that the catalog item is hidden from search results.", "type": "string", "example": "LISTING_SUPPRESSED" } From b93bd322dd196095e1c663961d5a7bf436959744 Mon Sep 17 00:00:00 2001 From: Alex Rupprecht <44652230+alex-rupprecht@users.noreply.github.com> Date: Fri, 12 Jan 2024 13:25:41 -0500 Subject: [PATCH 211/340] Update listingsItems_2021-08-01.json Removing extra note on throttling rate --- models/listings-items-api-model/listingsItems_2021-08-01.json | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/models/listings-items-api-model/listingsItems_2021-08-01.json b/models/listings-items-api-model/listingsItems_2021-08-01.json index 44cbcbfe2..d1c386079 100644 --- a/models/listings-items-api-model/listingsItems_2021-08-01.json +++ b/models/listings-items-api-model/listingsItems_2021-08-01.json @@ -230,7 +230,7 @@ "tags": [ "listings" ], - "description": "Returns details about a listings item for a selling partner.\n\n**Note:** This operation has a throttling rate of one request per second when `mode` is `VALIDATION_PREVIEW`.\n\n**Note:** The parameters associated with this operation may contain special characters that must be encoded to successfully call the API. To avoid errors with SKUs when encoding URLs, refer to [URL Encoding](https://developer-docs.amazon.com/sp-api/docs/url-encoding).\n\n**Usage Plan:**\n\n| Rate (requests per second) | Burst |\n| ---- | ---- |\n| 5 | 10 |\n\nThe `x-amzn-RateLimit-Limit` response header returns the usage plan rate limits that were applied to the requested operation, when available. The table above indicates the default rate and burst values for this operation. Selling partners whose business demands require higher throughput may see higher rate and burst values than those shown here. For more information, see [Usage Plans and Rate Limits in the Selling Partner API](https://developer-docs.amazon.com/sp-api/docs/usage-plans-and-rate-limits-in-the-sp-api).", + "description": "Returns details about a listings item for a selling partner.\n\n**Note:** The parameters associated with this operation may contain special characters that must be encoded to successfully call the API. To avoid errors with SKUs when encoding URLs, refer to [URL Encoding](https://developer-docs.amazon.com/sp-api/docs/url-encoding).\n\n**Usage Plan:**\n\n| Rate (requests per second) | Burst |\n| ---- | ---- |\n| 5 | 10 |\n\nThe `x-amzn-RateLimit-Limit` response header returns the usage plan rate limits that were applied to the requested operation, when available. The table above indicates the default rate and burst values for this operation. Selling partners whose business demands require higher throughput may see higher rate and burst values than those shown here. For more information, see [Usage Plans and Rate Limits in the Selling Partner API](https://developer-docs.amazon.com/sp-api/docs/usage-plans-and-rate-limits-in-the-sp-api).", "operationId": "getListingsItem", "consumes": [ "application/json" @@ -1793,4 +1793,4 @@ "type": "object" } } -} \ No newline at end of file +} From 39befd61e567a27d5faca7d42c33350b5c54f8f6 Mon Sep 17 00:00:00 2001 From: Jack Evoniuk Date: Mon, 22 Jan 2024 11:18:15 -0800 Subject: [PATCH 212/340] Fix link in App Management model --- .../application_2023-11-30.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/models/application-management-api-model/application_2023-11-30.json b/models/application-management-api-model/application_2023-11-30.json index dfe087ad2..c013126cb 100644 --- a/models/application-management-api-model/application_2023-11-30.json +++ b/models/application-management-api-model/application_2023-11-30.json @@ -29,7 +29,7 @@ "tags": [ "Applications" ], - "description": "Rotates application client secrets for a developer application. Developers must register a destination queue in the developer console before calling this operation. When this operation is called a new client secret is generated and sent to the developer-registered queue. For more information, refer to [Rotate your application client secret](https://developer-docs.amazon.com/sp-api/docs/application-management-api-v2023-11-30-use-case-guide).\n\n**Usage Plan:**\n\n| Rate (requests per second) | Burst |\n| ---- | ---- |\n| 0.0167 | 1 |\n\nThe `x-amzn-RateLimit-Limit` response header returns the usage plan rate limits that were applied to the requested operation, when available. The table above indicates the default rate and burst values for this operation. Selling partners whose business demands require higher throughput may see higher rate and burst values than those shown here. For more information, refer to [Usage Plans and Rate Limits in the Selling Partner API](https://developer-docs.amazon.com/sp-api/docs/usage-plans-and-rate-limits-in-the-sp-api).", + "description": "Rotates application client secrets for a developer application. Developers must register a destination queue in the developer console before calling this operation. When this operation is called a new client secret is generated and sent to the developer-registered queue. For more information, refer to [Rotate your application client secret](https://developer-docs.amazon.com/sp-api/v0/docs/application-management-api-v2023-11-30-use-case-guide#tutorial-rotate-your-applications-client-secret).\n\n**Usage Plan:**\n\n| Rate (requests per second) | Burst |\n| ---- | ---- |\n| 0.0167 | 1 |\n\nThe `x-amzn-RateLimit-Limit` response header returns the usage plan rate limits that were applied to the requested operation, when available. The table above indicates the default rate and burst values for this operation. Selling partners whose business demands require higher throughput may see higher rate and burst values than those shown here. For more information, refer to [Usage Plans and Rate Limits in the Selling Partner API](https://developer-docs.amazon.com/sp-api/docs/usage-plans-and-rate-limits-in-the-sp-api).", "operationId": "rotateApplicationClientSecret", "parameters": [ ], From e377757aee1867f72e2232ccbb567acf3a7395f6 Mon Sep 17 00:00:00 2001 From: Jack Evoniuk Date: Mon, 29 Jan 2024 10:20:46 -0800 Subject: [PATCH 213/340] Update Orders v0 model Clarify availability of ElectronicInvoiceStatus --- models/orders-api-model/ordersV0.json | 40 +++++++++++++-------------- 1 file changed, 20 insertions(+), 20 deletions(-) diff --git a/models/orders-api-model/ordersV0.json b/models/orders-api-model/ordersV0.json index c3bdf7a3a..2526011f7 100644 --- a/models/orders-api-model/ordersV0.json +++ b/models/orders-api-model/ordersV0.json @@ -35,28 +35,28 @@ { "name": "CreatedAfter", "in": "query", - "description": "A date used for selecting orders created after (or at) a specified time. Only orders placed after the specified time are returned. Either the CreatedAfter parameter or the LastUpdatedAfter parameter is required. Both cannot be empty. The date must be in ISO 8601 format.", + "description": "A date used for selecting orders created after (or at) a specified time. Only orders placed after the specified time are returned. Either the CreatedAfter parameter or the LastUpdatedAfter parameter is required. Both cannot be empty. The date must be in ISO 8601 format.", "required": false, "type": "string" }, { "name": "CreatedBefore", "in": "query", - "description": "A date used for selecting orders created before (or at) a specified time. Only orders placed before the specified time are returned. The date must be in ISO 8601 format.", + "description": "A date used for selecting orders created before (or at) a specified time. Only orders placed before the specified time are returned. The date must be in ISO 8601 format.", "required": false, "type": "string" }, { "name": "LastUpdatedAfter", "in": "query", - "description": "A date used for selecting orders that were last updated after (or at) a specified time. An update is defined as any change in order status, including the creation of a new order. Includes updates made by Amazon and by the seller. The date must be in ISO 8601 format.", + "description": "A date used for selecting orders that were last updated after (or at) a specified time. An update is defined as any change in order status, including the creation of a new order. Includes updates made by Amazon and by the seller. The date must be in ISO 8601 format.", "required": false, "type": "string" }, { "name": "LastUpdatedBefore", "in": "query", - "description": "A date used for selecting orders that were last updated before (or at) a specified time. An update is defined as any change in order status, including the creation of a new order. Includes updates made by Amazon and by the seller. The date must be in ISO 8601 format.", + "description": "A date used for selecting orders that were last updated before (or at) a specified time. An update is defined as any change in order status, including the creation of a new order. Includes updates made by Amazon and by the seller. The date must be in ISO 8601 format.", "required": false, "type": "string" }, @@ -184,28 +184,28 @@ { "name": "EarliestDeliveryDateBefore", "in": "query", - "description": "A date used for selecting orders with a earliest delivery date before (or at) a specified time. The date must be in ISO 8601 format.", + "description": "A date used for selecting orders with a earliest delivery date before (or at) a specified time. The date must be in ISO 8601 format.", "required": false, "type": "string" }, { "name": "EarliestDeliveryDateAfter", "in": "query", - "description": "A date used for selecting orders with a earliest delivery date after (or at) a specified time. The date must be in ISO 8601 format.", + "description": "A date used for selecting orders with a earliest delivery date after (or at) a specified time. The date must be in ISO 8601 format.", "required": false, "type": "string" }, { "name": "LatestDeliveryDateBefore", "in": "query", - "description": "A date used for selecting orders with a latest delivery date before (or at) a specified time. The date must be in ISO 8601 format.", + "description": "A date used for selecting orders with a latest delivery date before (or at) a specified time. The date must be in ISO 8601 format.", "required": false, "type": "string" }, { "name": "LatestDeliveryDateAfter", "in": "query", - "description": "A date used for selecting orders with a latest delivery date after (or at) a specified time. The date must be in ISO 8601 format.", + "description": "A date used for selecting orders with a latest delivery date after (or at) a specified time. The date must be in ISO 8601 format.", "required": false, "type": "string" } @@ -2997,11 +2997,11 @@ }, "LastUpdatedBefore": { "type": "string", - "description": "A date used for selecting orders that were last updated before (or at) a specified time. An update is defined as any change in order status, including the creation of a new order. Includes updates made by Amazon and by the seller. All dates must be in ISO 8601 format." + "description": "A date used for selecting orders that were last updated before (or at) a specified time. An update is defined as any change in order status, including the creation of a new order. Includes updates made by Amazon and by the seller. All dates must be in ISO 8601 format." }, "CreatedBefore": { "type": "string", - "description": "A date used for selecting orders created before (or at) a specified time. Only orders placed before the specified time are returned. The date must be in ISO 8601 format." + "description": "A date used for selecting orders created before (or at) a specified time. Only orders placed before the specified time are returned. The date must be in ISO 8601 format." } }, "description": "A list of orders along with additional information to make subsequent API calls." @@ -3210,19 +3210,19 @@ }, "EarliestShipDate": { "type": "string", - "description": "The start of the time period within which you have committed to ship the order. In ISO 8601 date time format. Returned only for seller-fulfilled orders.\n\n__Note__: EarliestShipDate might not be returned for orders placed before February 1, 2013." + "description": "The start of the time period within which you have committed to ship the order. In ISO 8601 date time format. Returned only for seller-fulfilled orders.\n\n__Note__: EarliestShipDate might not be returned for orders placed before February 1, 2013." }, "LatestShipDate": { "type": "string", - "description": "The end of the time period within which you have committed to ship the order. In ISO 8601 date time format. Returned only for seller-fulfilled orders.\n\n__Note__: LatestShipDate might not be returned for orders placed before February 1, 2013." + "description": "The end of the time period within which you have committed to ship the order. In ISO 8601 date time format. Returned only for seller-fulfilled orders.\n\n__Note__: LatestShipDate might not be returned for orders placed before February 1, 2013." }, "EarliestDeliveryDate": { "type": "string", - "description": "The start of the time period within which you have committed to fulfill the order. In ISO 8601 date time format. Returned only for seller-fulfilled orders." + "description": "The start of the time period within which you have committed to fulfill the order. In ISO 8601 date time format. Returned only for seller-fulfilled orders." }, "LatestDeliveryDate": { "type": "string", - "description": "The end of the time period within which you have committed to fulfill the order. In ISO 8601 date time format. Returned only for seller-fulfilled orders that do not have a PendingAvailability, Pending, or Canceled status." + "description": "The end of the time period within which you have committed to fulfill the order. In ISO 8601 date time format. Returned only for seller-fulfilled orders that do not have a PendingAvailability, Pending, or Canceled status." }, "IsBusinessOrder": { "type": "boolean", @@ -3422,7 +3422,7 @@ }, "ReviewDate": { "type": "string", - "description": "The date the order was reviewed. In ISO 8601 date time format." + "description": "The date the order was reviewed. In ISO 8601 date time format." }, "ExternalReviewerId": { "type": "string", @@ -3744,7 +3744,7 @@ "properties": { "ExceptionDate": { "type": "string", - "description": "Date when the business is closed, in ISO-8601 date format." + "description": "Date when the business is closed, in ISO 8601 date format." }, "IsOpen": { "type": "boolean", @@ -4039,11 +4039,11 @@ }, "ScheduledDeliveryStartDate": { "type": "string", - "description": "The start date of the scheduled delivery window in the time zone of the order destination. In ISO 8601 date time format." + "description": "The start date of the scheduled delivery window in the time zone of the order destination. In ISO 8601 date time format." }, "ScheduledDeliveryEndDate": { "type": "string", - "description": "The end date of the scheduled delivery window in the time zone of the order destination. In ISO 8601 date time format." + "description": "The end date of the scheduled delivery window in the time zone of the order destination. In ISO 8601 date time format." }, "PriceDesignation": { "type": "string", @@ -4689,7 +4689,7 @@ ] }, "ElectronicInvoiceStatus": { - "description": "The status of the electronic invoice.", + "description": "The status of the electronic invoice. Only available for Easy Ship orders and orders in the BR marketplace.", "type": "string", "enum": [ "NotRequired", @@ -4784,7 +4784,7 @@ }, "shipDate": { "type": "string", - "description": "The shipping date for the package. Must be in ISO-8601 date/time format.", + "description": "The shipping date for the package. Must be in ISO 8601 date/time format.", "format": "date-time" }, "shipFromSupplySourceId": { From fad5b5ce012661e8f1e5815f682252bbe0910017 Mon Sep 17 00:00:00 2001 From: Alex Rupprecht Date: Wed, 31 Jan 2024 10:57:10 -0500 Subject: [PATCH 214/340] Updating with brazil extendedaddresses and iso 8601 links --- models/orders-api-model/ordersV0.json | 25 +++++++++++++++++++++++++ 1 file changed, 25 insertions(+) diff --git a/models/orders-api-model/ordersV0.json b/models/orders-api-model/ordersV0.json index 2526011f7..a780dc5c4 100644 --- a/models/orders-api-model/ordersV0.json +++ b/models/orders-api-model/ordersV0.json @@ -3616,6 +3616,9 @@ "type": "string", "description": "The phone number. Not returned for Fulfillment by Amazon (FBA) orders." }, + "ExtendedFields": { + "$ref": "#/definitions/AddressExtendedFields" + }, "AddressType": { "type": "string", "description": "The address type of the shipping address.", @@ -3637,6 +3640,28 @@ }, "description": "The shipping address for the order." }, + "AddressExtendedFields": { + "type": "object", + "properties": { + "StreetName": { + "type": "string", + "description": "The street name." + }, + "StreetNumber": { + "type": "string", + "description": "The house number/building number/property number in the street." + }, + "Complement": { + "type": "string", + "description": "The floor number/unit number in the building/private house number." + }, + "Neighborhood": { + "type": "string", + "description": "The neighborhood. It's smaller than a region and an integral part of an address. It is used in some countries like Brazil." + } + }, + "description": "The container for address extended fields. For example, street name or street number. Only available for Brazil shipping addresses as of now." + }, "DeliveryPreferences": { "type": "object", "properties": { From e0364c45fa964018f3a7ce6b93c5c856a1426183 Mon Sep 17 00:00:00 2001 From: Gibran Waldron Date: Wed, 31 Jan 2024 09:24:54 -0800 Subject: [PATCH 215/340] Updated respective links to point to new notifications type values page. --- .../notifications-api-model/notifications.json | 16 ++++++++-------- 1 file changed, 8 insertions(+), 8 deletions(-) diff --git a/models/notifications-api-model/notifications.json b/models/notifications-api-model/notifications.json index 91dc810a8..d27d24684 100644 --- a/models/notifications-api-model/notifications.json +++ b/models/notifications-api-model/notifications.json @@ -432,7 +432,7 @@ "tags": [ "notifications" ], - "description": "Returns information about a subscription for the specified notification type. The `getSubscriptionById` operation is grantless. For more information, refer to [Grantless operations](https://developer-docs.amazon.com/sp-api/docs/grantless-operations) in the Selling Partner API Developer Guide.\n\n**Usage Plan:**\n\n| Rate (requests per second) | Burst |\n| ---- | ---- |\n| 1 | 5 |\n\nThe `x-amzn-RateLimit-Limit` response header returns the usage plan rate limits that were applied to the requested operation, when available. The table above indicates the default rate and burst values for this operation. Selling partners whose business demands require higher throughput may observe higher rate and burst values than those shown here. For more information, refer to [Usage Plans and Rate Limits in the Selling Partner API](https://developer-docs.amazon.com/sp-api/docs/usage-plans-and-rate-limits-in-the-sp-api).", + "description": "Returns information about a subscription for the specified notification type. The `getSubscriptionById` operation is grantless. For more information, refer to [Grantless operations](https://developer-docs.amazon.com/sp-api/docs/grantless-operations).\n\n**Usage Plan:**\n\n| Rate (requests per second) | Burst |\n| ---- | ---- |\n| 1 | 5 |\n\nThe `x-amzn-RateLimit-Limit` response header returns the usage plan rate limits that were applied to the requested operation, when available. The table above indicates the default rate and burst values for this operation. Selling partners whose business demands require higher throughput may observe higher rate and burst values than those shown here. For more information, refer to [Usage Plans and Rate Limits in the Selling Partner API](https://developer-docs.amazon.com/sp-api/docs/usage-plans-and-rate-limits-in-the-sp-api).", "operationId": "getSubscriptionById", "parameters": [ { @@ -634,7 +634,7 @@ "tags": [ "notifications" ], - "description": "Deletes the subscription indicated by the subscription identifier and notification type that you specify. The subscription identifier can be for any subscription associated with your application. After you successfully call this operation, notifications will stop being sent for the associated subscription. The `deleteSubscriptionById` operation is grantless. For more information, refer to [Grantless operations](https://developer-docs.amazon.com/sp-api/docs/grantless-operations) in the Selling Partner API Developer Guide.\n\n**Usage Plan:**\n\n| Rate (requests per second) | Burst |\n| ---- | ---- |\n| 1 | 5 |\n\nThe `x-amzn-RateLimit-Limit` response header returns the usage plan rate limits that were applied to the requested operation, when available. The table above indicates the default rate and burst values for this operation. Selling partners whose business demands require higher throughput may observe higher rate and burst values than those shown here. For more information, refer to [Usage Plans and Rate Limits in the Selling Partner API](https://developer-docs.amazon.com/sp-api/docs/usage-plans-and-rate-limits-in-the-sp-api).", + "description": "Deletes the subscription indicated by the subscription identifier and notification type that you specify. The subscription identifier can be for any subscription associated with your application. After you successfully call this operation, notifications will stop being sent for the associated subscription. The `deleteSubscriptionById` operation is grantless. For more information, refer to [Grantless operations](https://developer-docs.amazon.com/sp-api/docs/grantless-operations).\n\n**Usage Plan:**\n\n| Rate (requests per second) | Burst |\n| ---- | ---- |\n| 1 | 5 |\n\nThe `x-amzn-RateLimit-Limit` response header returns the usage plan rate limits that were applied to the requested operation, when available. The table above indicates the default rate and burst values for this operation. Selling partners whose business demands require higher throughput may observe higher rate and burst values than those shown here. For more information, refer to [Usage Plans and Rate Limits in the Selling Partner API](https://developer-docs.amazon.com/sp-api/docs/usage-plans-and-rate-limits-in-the-sp-api).", "operationId": "deleteSubscriptionById", "parameters": [ { @@ -826,7 +826,7 @@ "tags": [ "notifications" ], - "description": "Returns information about all destinations. The `getDestinations` operation is grantless. For more information, refer to [Grantless operations](https://developer-docs.amazon.com/sp-api/docs/grantless-operations) in the Selling Partner API Developer Guide.\n\n**Usage Plan:**\n\n| Rate (requests per second) | Burst |\n| ---- | ---- |\n| 1 | 5 |\n\nThe `x-amzn-RateLimit-Limit` response header returns the usage plan rate limits that were applied to the requested operation, when available. The table above indicates the default rate and burst values for this operation. Selling partners whose business demands require higher throughput may observe higher rate and burst values than those shown here. For more information, refer to [Usage Plans and Rate Limits in the Selling Partner API](https://developer-docs.amazon.com/sp-api/docs/usage-plans-and-rate-limits-in-the-sp-api).", + "description": "Returns information about all destinations. The `getDestinations` operation is grantless. For more information, refer to [Grantless operations](https://developer-docs.amazon.com/sp-api/docs/grantless-operations).\n\n**Usage Plan:**\n\n| Rate (requests per second) | Burst |\n| ---- | ---- |\n| 1 | 5 |\n\nThe `x-amzn-RateLimit-Limit` response header returns the usage plan rate limits that were applied to the requested operation, when available. The table above indicates the default rate and burst values for this operation. Selling partners whose business demands require higher throughput may observe higher rate and burst values than those shown here. For more information, refer to [Usage Plans and Rate Limits in the Selling Partner API](https://developer-docs.amazon.com/sp-api/docs/usage-plans-and-rate-limits-in-the-sp-api).", "operationId": "getDestinations", "parameters": [], "responses": { @@ -1029,7 +1029,7 @@ "tags": [ "notifications" ], - "description": "Creates a destination resource to receive notifications. The `createDestination` operation is grantless. For more information, refer to [Grantless operations](https://developer-docs.amazon.com/sp-api/docs/grantless-operations) in the Selling Partner API Developer Guide.\n\n**Usage Plan:**\n\n| Rate (requests per second) | Burst |\n| ---- | ---- |\n| 1 | 5 |\n\nThe `x-amzn-RateLimit-Limit` response header returns the usage plan rate limits that were applied to the requested operation, when available. The table above indicates the default rate and burst values for this operation. Selling partners whose business demands require higher throughput may observe higher rate and burst values than those shown here. For more information, refer to [Usage Plans and Rate Limits in the Selling Partner API](https://developer-docs.amazon.com/sp-api/docs/usage-plans-and-rate-limits-in-the-sp-api).", + "description": "Creates a destination resource to receive notifications. The `createDestination` operation is grantless. For more information, refer to [Grantless operations](https://developer-docs.amazon.com/sp-api/docs/grantless-operations).\n\n**Usage Plan:**\n\n| Rate (requests per second) | Burst |\n| ---- | ---- |\n| 1 | 5 |\n\nThe `x-amzn-RateLimit-Limit` response header returns the usage plan rate limits that were applied to the requested operation, when available. The table above indicates the default rate and burst values for this operation. Selling partners whose business demands require higher throughput may observe higher rate and burst values than those shown here. For more information, refer to [Usage Plans and Rate Limits in the Selling Partner API](https://developer-docs.amazon.com/sp-api/docs/usage-plans-and-rate-limits-in-the-sp-api).", "operationId": "createDestination", "parameters": [ { @@ -1239,7 +1239,7 @@ "tags": [ "notifications" ], - "description": "Returns information about the destination that you specify. The `getDestination` operation is grantless. For more information, refer to [Grantless operations](https://developer-docs.amazon.com/sp-api/docs/grantless-operations) in the Selling Partner API Developer Guide.\n\n**Usage Plan:**\n\n| Rate (requests per second) | Burst |\n| ---- | ---- |\n| 1 | 5 |\n\nThe `x-amzn-RateLimit-Limit` response header returns the usage plan rate limits that were applied to the requested operation, when available. The table above indicates the default rate and burst values for this operation. Selling partners whose business demands require higher throughput may observe higher rate and burst values than those shown here. For more information, refer to [Usage Plans and Rate Limits in the Selling Partner API](https://developer-docs.amazon.com/sp-api/docs/usage-plans-and-rate-limits-in-the-sp-api).", + "description": "Returns information about the destination that you specify. The `getDestination` operation is grantless. For more information, refer to [Grantless operations](https://developer-docs.amazon.com/sp-api/docs/grantless-operations).\n\n**Usage Plan:**\n\n| Rate (requests per second) | Burst |\n| ---- | ---- |\n| 1 | 5 |\n\nThe `x-amzn-RateLimit-Limit` response header returns the usage plan rate limits that were applied to the requested operation, when available. The table above indicates the default rate and burst values for this operation. Selling partners whose business demands require higher throughput may observe higher rate and burst values than those shown here. For more information, refer to [Usage Plans and Rate Limits in the Selling Partner API](https://developer-docs.amazon.com/sp-api/docs/usage-plans-and-rate-limits-in-the-sp-api).", "operationId": "getDestination", "parameters": [ { @@ -1446,7 +1446,7 @@ "tags": [ "notifications" ], - "description": "Deletes the destination that you specify. The `deleteDestination` operation is grantless. For more information, refer to [Grantless operations](https://developer-docs.amazon.com/sp-api/docs/grantless-operations) in the Selling Partner API Developer Guide.\n\n**Usage Plan:**\n\n| Rate (requests per second) | Burst |\n| ---- | ---- |\n| 1 | 5 |\n\nThe `x-amzn-RateLimit-Limit` response header returns the usage plan rate limits that were applied to the requested operation, when available. The table above indicates the default rate and burst values for this operation. Selling partners whose business demands require higher throughput may observe higher rate and burst values than those shown here. For more information, refer to [Usage Plans and Rate Limits in the Selling Partner API](https://developer-docs.amazon.com/sp-api/docs/usage-plans-and-rate-limits-in-the-sp-api).", + "description": "Deletes the destination that you specify. The `deleteDestination` operation is grantless. For more information, refer to [Grantless operations](https://developer-docs.amazon.com/sp-api/docs/grantless-operations).\n\n**Usage Plan:**\n\n| Rate (requests per second) | Burst |\n| ---- | ---- |\n| 1 | 5 |\n\nThe `x-amzn-RateLimit-Limit` response header returns the usage plan rate limits that were applied to the requested operation, when available. The table above indicates the default rate and burst values for this operation. Selling partners whose business demands require higher throughput may observe higher rate and burst values than those shown here. For more information, refer to [Usage Plans and Rate Limits in the Selling Partner API](https://developer-docs.amazon.com/sp-api/docs/usage-plans-and-rate-limits-in-the-sp-api).", "operationId": "deleteDestination", "parameters": [ { @@ -1664,7 +1664,7 @@ "ANY_OFFER_CHANGED", "ORDER_CHANGE" ], - "description": "An `eventFilterType` value that is supported by the specific `notificationType`. This is used by the subscription service to determine the type of event filter. Refer to the section of the [Notifications Use Case Guide](https://developer-docs.amazon.com/sp-api/docs/notifications-api-v1-use-case-guide) that describes the specific `notificationType` to determine if an `eventFilterType` is supported." + "description": "An `eventFilterType` value that is supported by the specific `notificationType`. This is used by the subscription service to determine the type of event filter. Refer to [Notification Type Values](https://developer-docs.amazon.com/sp-api/docs/notification-type-values) to determine if an `eventFilterType` is supported." } }, "required": [ @@ -2079,7 +2079,7 @@ "NotificationType": { "name": "notificationType", "in": "path", - "description": "The type of notification.\n\n For more information about notification types, refer to [the Notifications API Use Case Guide](https://developer-docs.amazon.com/sp-api/docs/notifications-api-v1-use-case-guide).", + "description": "The type of notification.\n\n For more information about notification types, refer to [Notification Type Values](https://developer-docs.amazon.com/sp-api/docs/notification-type-values).", "required": true, "type": "string" } From 9deb4ca1fe835c44e73566d30b3450cd33c33827 Mon Sep 17 00:00:00 2001 From: Jack Evoniuk Date: Wed, 31 Jan 2024 09:52:07 -0800 Subject: [PATCH 216/340] Update Listings Items 2021 model --- .../listingsItems_2021-08-01.json | 307 +++++++++++++++++- 1 file changed, 302 insertions(+), 5 deletions(-) diff --git a/models/listings-items-api-model/listingsItems_2021-08-01.json b/models/listings-items-api-model/listingsItems_2021-08-01.json index d1c386079..917f6dc08 100644 --- a/models/listings-items-api-model/listingsItems_2021-08-01.json +++ b/models/listings-items-api-model/listingsItems_2021-08-01.json @@ -318,7 +318,7 @@ }, "collectionFormat": "csv", "x-example": "summaries", - "default": "summaries" + "default": ["summaries"] } ], "responses": { @@ -708,7 +708,7 @@ "tags": [ "listings" ], - "description": "Partially update (patch) a listings item for a selling partner. Only top-level listings item attributes can be patched. Patching nested attributes is not supported.\n\n**Note:** The parameters associated with this operation may contain special characters that must be encoded to successfully call the API. To avoid errors with SKUs when encoding URLs, refer to [URL Encoding](https://developer-docs.amazon.com/sp-api/docs/url-encoding).\n\n**Usage Plan:**\n\n| Rate (requests per second) | Burst |\n| ---- | ---- |\n| 5 | 10 |\n\nThe `x-amzn-RateLimit-Limit` response header returns the usage plan rate limits that were applied to the requested operation, when available. The table above indicates the default rate and burst values for this operation. Selling partners whose business demands require higher throughput may see higher rate and burst values than those shown here. For more information, see [Usage Plans and Rate Limits in the Selling Partner API](https://developer-docs.amazon.com/sp-api/docs/usage-plans-and-rate-limits-in-the-sp-api).", + "description": "Partially update (patch) a listings item for a selling partner. Only top-level listings item attributes can be patched. Patching nested attributes is not supported.\n\n**Note:** This operation has a throttling rate of one request per second when `mode` is `VALIDATION_PREVIEW`.\n\n**Note:** The parameters associated with this operation may contain special characters that must be encoded to successfully call the API. To avoid errors with SKUs when encoding URLs, refer to [URL Encoding](https://developer-docs.amazon.com/sp-api/docs/url-encoding).\n\n**Usage Plan:**\n\n| Rate (requests per second) | Burst |\n| ---- | ---- |\n| 5 | 10 |\n\nThe `x-amzn-RateLimit-Limit` response header returns the usage plan rate limits that were applied to the requested operation, when available. The table above indicates the default rate and burst values for this operation. Selling partners whose business demands require higher throughput may see higher rate and burst values than those shown here. For more information, see [Usage Plans and Rate Limits in the Selling Partner API](https://developer-docs.amazon.com/sp-api/docs/usage-plans-and-rate-limits-in-the-sp-api).", "operationId": "patchListingsItem", "consumes": [ "application/json" @@ -743,6 +743,50 @@ "collectionFormat": "csv", "x-example": "ATVPDKIKX0DER" }, + { + "name": "includedData", + "description": "A comma-delimited list of data sets to include in the response. Default: `issues`.", + "in": "query", + "required": false, + "type": "array", + "items": { + "enum": [ + "identifiers", + "issues" + ], + "x-docgen-enum-table-extension": [ + { + "value": "identifiers", + "description": "Identifiers associated with the item in the Amazon catalog, such as Amazon Standard Identification Number (ASIN). Can only be requested when `mode` is `VALIDATION_PREVIEW`." + }, + { + "value": "issues", + "description": "The issues associated with the listing item." + } + ], + "type": "string" + }, + "collectionFormat": "csv", + "x-example": "issues", + "default": ["issues"] + }, + { + "name": "mode", + "description": "The mode of operation for the request.", + "in": "query", + "enum": [ + "VALIDATION_PREVIEW" + ], + "x-docgen-enum-table-extension": [ + { + "value": "VALIDATION_PREVIEW", + "description": "Indicates the submitted data should be validated without persisting to the selling partner's catalog." + } + ], + "required": false, + "type": "string", + "x-example": "VALIDATION_PREVIEW" + }, { "name": "issueLocale", "description": "A locale for localization of issues. When not provided, the default language code of the first marketplace is used. Examples: `en_US`, `fr_CA`, `fr_FR`. Localized messages default to `en_US` when a localization is not available in the specified locale.", @@ -800,6 +844,91 @@ "submissionId": "f1dc2914-75dd-11ea-bc55-0242ac130003", "issues": [] } + }, + { + "request": { + "parameters": { + "sku": { + "value": "VALIDATION_VALID" + }, + "marketplaceIds": { + "value": [ + "ATVPDKIKX0DER" + ] + }, + "includedData": { + "value": [ + "identifiers", + "issues" + ] + }, + "mode": { + "value": "VALIDATION_PREVIEW" + } + } + }, + "response": { + "sku": "VALIDATION_VALID", + "status": "VALID", + "submissionId": "1edc94ea-a3d7-210b-42bc-0ec72c1384762", + "identifiers": [ + { + "marketplaceId": "ATVPDKIKX0DER", + "asin": "B07N4M94X4" + } + ], + "issues": [] + } + }, + { + "request": { + "parameters": { + "sku": { + "value": "VALIDATION_INVALID" + }, + "marketplaceIds": { + "value": [ + "ATVPDKIKX0DER" + ] + }, + "includedData": { + "value": [ + "identifiers", + "issues" + ] + }, + "mode": { + "value": "VALIDATION_PREVIEW" + } + } + }, + "response": { + "sku": "VALIDATION_INVALID", + "status": "INVALID", + "submissionId": "a1c562c2-1695-11ee-be56-0242ac120002", + "identifiers": [], + "issues": [ + { + "code":"90000900", + "message":"The attributes are invalid.", + "severity":"ERROR", + "attributeNames": [ + "fake_attribute" + ], + "categories": ["INVALID_ATTRIBUTE"], + "enforcements": { + "actions": [ + { + "action": "ATTRIBUTE_SUPPRESSED" + } + ], + "exemption": { + "status": "NOT_EXEMPT" + } + } + } + ] + } } ] } @@ -920,7 +1049,7 @@ "tags": [ "listings" ], - "description": "Creates or fully updates an existing listings item for a selling partner.\n\n**Note:** The parameters associated with this operation may contain special characters that must be encoded to successfully call the API. To avoid errors with SKUs when encoding URLs, refer to [URL Encoding](https://developer-docs.amazon.com/sp-api/docs/url-encoding).\n\n**Usage Plan:**\n\n| Rate (requests per second) | Burst |\n| ---- | ---- |\n| 5 | 10 |\n\nThe `x-amzn-RateLimit-Limit` response header returns the usage plan rate limits that were applied to the requested operation, when available. The table above indicates the default rate and burst values for this operation. Selling partners whose business demands require higher throughput may see higher rate and burst values than those shown here. For more information, see [Usage Plans and Rate Limits in the Selling Partner API](https://developer-docs.amazon.com/sp-api/docs/usage-plans-and-rate-limits-in-the-sp-api).", + "description": "Creates or fully updates an existing listings item for a selling partner.\n\n**Note:** This operation has a throttling rate of one request per second when `mode` is `VALIDATION_PREVIEW`.\n\n**Note:** The parameters associated with this operation may contain special characters that must be encoded to successfully call the API. To avoid errors with SKUs when encoding URLs, refer to [URL Encoding](https://developer-docs.amazon.com/sp-api/docs/url-encoding).\n\n**Usage Plan:**\n\n| Rate (requests per second) | Burst |\n| ---- | ---- |\n| 5 | 10 |\n\nThe `x-amzn-RateLimit-Limit` response header returns the usage plan rate limits that were applied to the requested operation, when available. The table above indicates the default rate and burst values for this operation. Selling partners whose business demands require higher throughput may see higher rate and burst values than those shown here. For more information, see [Usage Plans and Rate Limits in the Selling Partner API](https://developer-docs.amazon.com/sp-api/docs/usage-plans-and-rate-limits-in-the-sp-api).", "operationId": "putListingsItem", "consumes": [ "application/json" @@ -955,6 +1084,50 @@ "collectionFormat": "csv", "x-example": "ATVPDKIKX0DER" }, + { + "name": "includedData", + "description": "A comma-delimited list of data sets to include in the response. Default: `issues`.", + "in": "query", + "required": false, + "type": "array", + "items": { + "enum": [ + "identifiers", + "issues" + ], + "x-docgen-enum-table-extension": [ + { + "value": "identifiers", + "description": "Identifiers associated with the item in the Amazon catalog, such as Amazon Standard Identification Number (ASIN). Can only be requested when `mode` is `VALIDATION_PREVIEW`." + }, + { + "value": "issues", + "description": "The issues associated with the listing item." + } + ], + "type": "string" + }, + "collectionFormat": "csv", + "x-example": "issues", + "default": ["issues"] + }, + { + "name": "mode", + "description": "The mode of operation for the request.", + "in": "query", + "enum": [ + "VALIDATION_PREVIEW" + ], + "x-docgen-enum-table-extension": [ + { + "value": "VALIDATION_PREVIEW", + "description": "Indicates the submitted data should be validated without persisting to the selling partner's catalog." + } + ], + "required": false, + "type": "string", + "x-example": "VALIDATION_PREVIEW" + }, { "name": "issueLocale", "description": "A locale for localization of issues. When not provided, the default language code of the first marketplace is used. Examples: `en_US`, `fr_CA`, `fr_FR`. Localized messages default to `en_US` when a localization is not available in the specified locale.", @@ -1012,6 +1185,100 @@ "submissionId": "f1dc2914-75dd-11ea-bc55-0242ac130003", "issues": [] } + }, + { + "request": { + "parameters": { + "sku": { + "value": "VALIDATION_VALID" + }, + "marketplaceIds": { + "value": [ + "ATVPDKIKX0DER" + ] + }, + "includedData": { + "value": [ + "identifiers", + "issues" + ] + }, + "mode": { + "value": "VALIDATION_PREVIEW" + } + } + }, + "response": { + "sku": "VALIDATION_VALID", + "status": "VALID", + "submissionId": "1edc94ea-a3d7-210b-42bc-0ec72c1384762", + "identifiers": [ + { + "marketplaceId": "ATVPDKIKX0DER", + "asin": "B07N4M94X4" + } + ], + "issues": [] + } + }, + { + "request": { + "parameters": { + "sku": { + "value": "VALIDATION_INVALID" + }, + "marketplaceIds": { + "value": [ + "ATVPDKIKX0DER" + ] + }, + "includedData": { + "value": [ + "identifiers", + "issues" + ] + }, + "mode": { + "value": "VALIDATION_PREVIEW" + } + } + }, + "response": { + "sku": "VALIDATION_INVALID", + "status": "INVALID", + "submissionId": "a1c562c2-1695-11ee-be56-0242ac120002", + "identifiers": [], + "issues": [ + { + "code":"90220", + "message":"'condition_type' is required but not supplied.", + "severity":"ERROR", + "attributeNames": [ + "condition_type" + ], + "categories": ["MISSING_ATTRIBUTE"], + "enforcements": { + "actions": [ + { + "action": "LISTING_SUPPRESSED" + } + ], + "exemption": { + "status": "NOT_EXEMPT" + } + } + }, + { + "code":"90000900", + "message":"The attributes are invalid.", + "severity":"ERROR", + "attributeNames": [ + "fake_attribute" + ], + "categories": [] + } + ] + } } ] } @@ -1759,7 +2026,8 @@ "description": "The status of the listings item submission.", "enum": [ "ACCEPTED", - "INVALID" + "INVALID", + "VALID" ], "x-docgen-enum-table-extension": [ { @@ -1769,6 +2037,10 @@ { "value": "INVALID", "description": "The listings submission was not valid and was not accepted for processing." + }, + { + "value": "VALID", + "description": "The listings submission was valid. Only returned when the `mode` is `VALIDATION_PREVIEW`." } ], "type": "string" @@ -1783,6 +2055,10 @@ "items": { "$ref": "#/definitions/Issue" } + }, + "identifiers": { + "description": "Identity attributes associated with the item in the Amazon catalog, such as the ASIN.", + "$ref": "#/definitions/ItemIdentifiers" } }, "required": [ @@ -1791,6 +2067,27 @@ "submissionId" ], "type": "object" + }, + "ItemIdentifiers": { + "description": "Identity attributes associated with the item in the Amazon catalog, such as the ASIN.", + "items": { + "$ref": "#/definitions/ItemIdentifiersByMarketplace" + }, + "type": "array" + }, + "ItemIdentifiersByMarketplace": { + "description": "Identity attributes associated with the item in the Amazon catalog for the indicated Amazon marketplace.", + "properties": { + "marketplaceId": { + "description": "A marketplace identifier. Identifies the Amazon marketplace for the listings item.", + "type": "string" + }, + "asin": { + "description": "Amazon Standard Identification Number (ASIN) of the listings item.", + "type": "string" + } + }, + "type": "object" } } -} +} \ No newline at end of file From 866be3b8e2bcc4988e9bb851bf637e3f5af5f0cb Mon Sep 17 00:00:00 2001 From: Jack Evoniuk Date: Wed, 31 Jan 2024 10:11:19 -0800 Subject: [PATCH 217/340] Update Data Kiosk model --- .../dataKiosk_2023-11-15.json | 443 +++++++++--------- 1 file changed, 224 insertions(+), 219 deletions(-) diff --git a/models/data-kiosk-api-model/dataKiosk_2023-11-15.json b/models/data-kiosk-api-model/dataKiosk_2023-11-15.json index 50d34740b..2b02ee93c 100644 --- a/models/data-kiosk-api-model/dataKiosk_2023-11-15.json +++ b/models/data-kiosk-api-model/dataKiosk_2023-11-15.json @@ -127,29 +127,62 @@ { "request": { "parameters": { + "pageSize": { + "value": 1 + }, "processingStatuses": { - "value": [ - "IN_QUEUE", - "IN_PROGRESS" - ] + "value": [ + "DONE", + "IN_PROGRESS" + ] + } } + }, + "response": { + "pagination": { + "nextToken": "NextToken1" + }, + "queries": [ + { + "queryId": "QueryId1", + "query": "query {sampleQuery(startDate:\"2023-03-01\" endDate:\"2023-03-31\" marketplaceIds:[\"ATVPDKIKX0DER\"]){sales{date averageSellingPrice{amount currencyCode}}}}", + "createdTime": "2023-12-11T13:47:20.677Z", + "processingStatus": "DONE", + "processingStartTime": "2023-12-11T13:47:20.677Z", + "processingEndTime": "2023-12-11T14:47:20.677Z", + "dataDocumentId": "DocumentId1" + } + ] } }, - "response": { - "pagination": { - "nextToken": "VGhpcyB0b2tlbiBpcyBvcGFxdWUgYW5kIGludGVudGlvbmFsbHkgb2JmdXNjYXRlZA==" - }, - "queries": [ - { - "queryId": "QueryId1", - "query": "query {sampleQuery(startDate:\"2022-03-12\" endDate:\"2022-03-20\" marketplaceIds:[\"ATVPDKIKX0DER\"]){sales{date averageSellingPrice{amount currencyCode}}}}", - "createdTime": "2019-12-10T13:47:20.677Z", - "processingStatus": "IN_PROGRESS", - "processingStartTime": "2019-12-10T13:47:20.677Z", - "processingEndTime": "2019-12-12T13:47:20.677Z" + { + "request": { + "parameters": { + "pageSize": { + "value": 1 + }, + "processingStatuses": { + "value": [ + "DONE", + "IN_PROGRESS" + ] + }, + "paginationToken": { + "value": "NextToken1" + } } - ] - } + }, + "response": { + "queries": [ + { + "queryId": "QueryId2", + "query": "query {sampleQuery(startDate:\"2023-04-01\" endDate:\"2023-04-30\" marketplaceIds:[\"ATVPDKIKX0DER\"]){sales{date averageSellingPrice{amount currencyCode}}}}", + "createdTime": "2023-12-12T13:47:20.677Z", + "processingStatus": "IN_PROGRESS", + "processingStartTime": "2023-12-12T13:47:20.677Z" + } + ] + } } ] } @@ -176,12 +209,11 @@ "parameters": { "processingStatuses": { "value": [ - "INVALID_STATUS", - "IN_PROGRESS" + "INVALID_STATUS" ] + } } - } - }, + }, "response": { "errors": [ { @@ -195,22 +227,6 @@ ] } }, - "401": { - "description": "The request's Authorization header is not formatted correctly or does not contain a valid token.", - "schema": { - "$ref": "#/definitions/ErrorList" - }, - "headers": { - "x-amzn-RateLimit-Limit": { - "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned.", - "type": "string" - }, - "x-amzn-RequestId": { - "type": "string", - "description": "Unique request reference identifier." - } - } - }, "403": { "description": "Indicates that access to the resource is forbidden. Possible reasons include Access Denied, Unauthorized, Expired Token, or Invalid Signature.", "schema": { @@ -224,7 +240,7 @@ } }, "404": { - "description": "The specified resource does not exist.", + "description": "The resource specified does not exist.", "schema": { "$ref": "#/definitions/ErrorList" }, @@ -239,16 +255,24 @@ } } }, + "413": { + "description": "The request size exceeded the maximum accepted size.", + "schema": { + "$ref": "#/definitions/ErrorList" + }, + "headers": { + "x-amzn-RequestId": { + "description": "Unique request reference identifier.", + "type": "string" + } + } + }, "415": { - "description": "The request's Content-Type header is invalid.", + "description": "The request payload is in an unsupported format.", "schema": { "$ref": "#/definitions/ErrorList" }, "headers": { - "x-amzn-RateLimit-Limit": { - "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned.", - "type": "string" - }, "x-amzn-RequestId": { "type": "string", "description": "Unique request reference identifier." @@ -261,10 +285,6 @@ "$ref": "#/definitions/ErrorList" }, "headers": { - "x-amzn-RateLimit-Limit": { - "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned.", - "type": "string" - }, "x-amzn-RequestId": { "type": "string", "description": "Unique request reference identifier." @@ -277,10 +297,6 @@ "$ref": "#/definitions/ErrorList" }, "headers": { - "x-amzn-RateLimit-Limit": { - "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned.", - "type": "string" - }, "x-amzn-RequestId": { "type": "string", "description": "Unique request reference identifier." @@ -293,10 +309,6 @@ "$ref": "#/definitions/ErrorList" }, "headers": { - "x-amzn-RateLimit-Limit": { - "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned.", - "type": "string" - }, "x-amzn-RequestId": { "type": "string", "description": "Unique request reference identifier." @@ -315,6 +327,7 @@ { "name": "body", "in": "body", + "description": "The body of the request.", "required": true, "schema": { "$ref": "#/definitions/CreateQuerySpecification" @@ -344,7 +357,7 @@ "parameters": { "body": { "value": { - "query": "query {sampleQuery(startDate:\"2022-03-12\" endDate:\"2022-03-20\" marketplaceIds:[\"ATVPDKIKX0DER\"]){sales{date averageSellingPrice{amount currencyCode}}}}" + "query": "query {sampleQuery(startDate:\"2023-03-01\" endDate:\"2023-03-31\" marketplaceIds:[\"ATVPDKIKX0DER\"]){sales{date averageSellingPrice{amount currencyCode}}}}" } } } @@ -378,17 +391,17 @@ "parameters": { "body": { "value": { - "query": "query {invalidSampleQuery(startDate:\"2022-03-12\" endDate:\"2022-03-20\" marketplaceIds:[\"ATVPDKIKX0DER\"]){sales{date averageSellingPrice{amount currencyCode}}}}" + "query": "query {invalidSampleQuery(startDate:\"2023-03-01\" endDate:\"2023-03-31\" marketplaceIds:[\"ATVPDKIKX0DER\"]){sales{date averageSellingPrice{amount currencyCode}}}}" + } } } - } - }, + }, "response": { "errors": [ { - "code": "400", - "message": "Invalid input", - "details": "Invalid input" + "code": "InvalidInput", + "message": "The provided query is invalid.", + "details": "Query 'invalidSampleQuery' is not supported." } ] } @@ -396,60 +409,52 @@ ] } }, - "401": { - "description": "The request's Authorization header is not formatted correctly or does not contain a valid token.", + "403": { + "description": "Indicates that access to the resource is forbidden. Possible reasons include Access Denied, Unauthorized, Expired Token, or Invalid Signature.", "schema": { "$ref": "#/definitions/ErrorList" }, "headers": { - "x-amzn-RateLimit-Limit": { - "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned.", - "type": "string" - }, "x-amzn-RequestId": { "type": "string", "description": "Unique request reference identifier." } } }, - "403": { - "description": "Indicates that access to the resource is forbidden. Possible reasons include Access Denied, Unauthorized, Expired Token, or Invalid Signature.", + "404": { + "description": "The resource specified does not exist.", "schema": { "$ref": "#/definitions/ErrorList" }, "headers": { + "x-amzn-RateLimit-Limit": { + "description": "Your rate limit (requests per second) for this operation.", + "type": "string" + }, "x-amzn-RequestId": { "type": "string", "description": "Unique request reference identifier." } } }, - "404": { - "description": "The specified resource does not exist.", + "413": { + "description": "The request size exceeded the maximum accepted size.", "schema": { "$ref": "#/definitions/ErrorList" }, "headers": { - "x-amzn-RateLimit-Limit": { - "description": "Your rate limit (requests per second) for this operation.", - "type": "string" - }, "x-amzn-RequestId": { - "type": "string", - "description": "Unique request reference identifier." + "description": "Unique request reference identifier.", + "type": "string" } } }, "415": { - "description": "The request's Content-Type header is invalid.", + "description": "The request payload is in an unsupported format.", "schema": { "$ref": "#/definitions/ErrorList" }, "headers": { - "x-amzn-RateLimit-Limit": { - "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned.", - "type": "string" - }, "x-amzn-RequestId": { "type": "string", "description": "Unique request reference identifier." @@ -462,10 +467,6 @@ "$ref": "#/definitions/ErrorList" }, "headers": { - "x-amzn-RateLimit-Limit": { - "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned.", - "type": "string" - }, "x-amzn-RequestId": { "type": "string", "description": "Unique request reference identifier." @@ -478,10 +479,6 @@ "$ref": "#/definitions/ErrorList" }, "headers": { - "x-amzn-RateLimit-Limit": { - "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned.", - "type": "string" - }, "x-amzn-RequestId": { "type": "string", "description": "Unique request reference identifier." @@ -494,10 +491,6 @@ "$ref": "#/definitions/ErrorList" }, "headers": { - "x-amzn-RateLimit-Limit": { - "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned.", - "type": "string" - }, "x-amzn-RequestId": { "type": "string", "description": "Unique request reference identifier." @@ -525,7 +518,7 @@ } ], "responses": { - "200": { + "204": { "description": "Success.", "headers": { "x-amzn-RateLimit-Limit": { @@ -546,7 +539,8 @@ "value": "QueryId1" } } - } + }, + "response": {} } ] } @@ -570,12 +564,16 @@ "static": [ { "request": { - "parameters": {} + "parameters": { + "queryId": { + "value": "InvalidQueryId1" + } + } }, "response": { "errors": [ { - "code": "400", + "code": "InvalidInput", "message": "Invalid input", "details": "Invalid input" } @@ -585,60 +583,73 @@ ] } }, - "401": { - "description": "The request's Authorization header is not formatted correctly or does not contain a valid token.", + "403": { + "description": "Indicates that access to the resource is forbidden. Possible reasons include Access Denied, Unauthorized, Expired Token, or Invalid Signature.", "schema": { "$ref": "#/definitions/ErrorList" }, "headers": { - "x-amzn-RateLimit-Limit": { - "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned.", - "type": "string" - }, "x-amzn-RequestId": { "type": "string", "description": "Unique request reference identifier." } } }, - "403": { - "description": "Indicates that access to the resource is forbidden. Possible reasons include Access Denied, Unauthorized, Expired Token, or Invalid Signature.", + "404": { + "description": "The resource specified does not exist.", "schema": { "$ref": "#/definitions/ErrorList" }, "headers": { + "x-amzn-RateLimit-Limit": { + "description": "Your rate limit (requests per second) for this operation.", + "type": "string" + }, "x-amzn-RequestId": { "type": "string", "description": "Unique request reference identifier." } + }, + "x-amzn-api-sandbox": { + "static": [ + { + "request": { + "parameters": { + "queryId": { + "value": "NotFoundQueryId1" + } + } + }, + "response": { + "errors": [ + { + "code": "NotFound", + "message": "The provided queryId was not found." + } + ] + } + } + ] } }, - "404": { - "description": "The specified resource does not exist.", + "413": { + "description": "The request size exceeded the maximum accepted size.", "schema": { "$ref": "#/definitions/ErrorList" }, "headers": { - "x-amzn-RateLimit-Limit": { - "description": "Your rate limit (requests per second) for this operation.", - "type": "string" - }, "x-amzn-RequestId": { - "type": "string", - "description": "Unique request reference identifier." + "description": "Unique request reference identifier.", + "type": "string" } } }, "415": { - "description": "The request's Content-Type header is invalid.", + "description": "The request payload is in an unsupported format.", "schema": { "$ref": "#/definitions/ErrorList" }, "headers": { - "x-amzn-RateLimit-Limit": { - "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned.", - "type": "string" - }, "x-amzn-RequestId": { "type": "string", "description": "Unique request reference identifier." @@ -651,10 +662,6 @@ "$ref": "#/definitions/ErrorList" }, "headers": { - "x-amzn-RateLimit-Limit": { - "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned.", - "type": "string" - }, "x-amzn-RequestId": { "type": "string", "description": "Unique request reference identifier." @@ -667,10 +674,6 @@ "$ref": "#/definitions/ErrorList" }, "headers": { - "x-amzn-RateLimit-Limit": { - "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned.", - "type": "string" - }, "x-amzn-RequestId": { "type": "string", "description": "Unique request reference identifier." @@ -683,10 +686,6 @@ "$ref": "#/definitions/ErrorList" }, "headers": { - "x-amzn-RateLimit-Limit": { - "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned.", - "type": "string" - }, "x-amzn-RequestId": { "type": "string", "description": "Unique request reference identifier." @@ -738,11 +737,12 @@ }, "response": { "queryId": "QueryId1", - "query": "query {sampleQuery(startDate:\"2022-03-12\" endDate:\"2022-03-20\" marketplaceIds:[\"ATVPDKIKX0DER\"]){sales{date averageSellingPrice{amount currencyCode}}}}", - "createdTime": "2019-12-10T13:47:20.677Z", - "processingStatus": "IN_PROGRESS", - "processingStartTime": "2019-12-10T13:47:20.677Z", - "processingEndTime": "2019-12-12T13:47:20.677Z" + "query": "query {sampleQuery(startDate:\"2023-03-01\" endDate:\"2023-03-31\" marketplaceIds:[\"ATVPDKIKX0DER\"]){sales{date averageSellingPrice{amount currencyCode}}}}", + "createdTime": "2023-12-11T13:47:20.677Z", + "processingStatus": "DONE", + "processingStartTime": "2023-12-11T13:47:20.677Z", + "processingEndTime": "2023-12-11T14:47:20.677Z", + "dataDocumentId": "DocumentId1" } } ] @@ -776,8 +776,9 @@ "response": { "errors": [ { - "code": "NotFound", - "message": "The provided queryId was not found." + "code": "InvalidInput", + "message": "Invalid input", + "details": "Invalid input" } ] } @@ -785,60 +786,73 @@ ] } }, - "401": { - "description": "The request's Authorization header is not formatted correctly or does not contain a valid token.", + "403": { + "description": "Indicates that access to the resource is forbidden. Possible reasons include Access Denied, Unauthorized, Expired Token, or Invalid Signature.", "schema": { "$ref": "#/definitions/ErrorList" }, "headers": { - "x-amzn-RateLimit-Limit": { - "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned.", - "type": "string" - }, "x-amzn-RequestId": { "type": "string", "description": "Unique request reference identifier." } } }, - "403": { - "description": "Indicates that access to the resource is forbidden. Possible reasons include Access Denied, Unauthorized, Expired Token, or Invalid Signature.", + "404": { + "description": "The resource specified does not exist.", "schema": { "$ref": "#/definitions/ErrorList" }, "headers": { + "x-amzn-RateLimit-Limit": { + "description": "Your rate limit (requests per second) for this operation.", + "type": "string" + }, "x-amzn-RequestId": { "type": "string", "description": "Unique request reference identifier." } + }, + "x-amzn-api-sandbox": { + "static": [ + { + "request": { + "parameters": { + "queryId": { + "value": "NotFoundQueryId1" + } + } + }, + "response": { + "errors": [ + { + "code": "NotFound", + "message": "The provided queryId was not found." + } + ] + } + } + ] } }, - "404": { - "description": "The specified resource does not exist.", + "413": { + "description": "The request size exceeded the maximum accepted size.", "schema": { "$ref": "#/definitions/ErrorList" }, "headers": { - "x-amzn-RateLimit-Limit": { - "description": "Your rate limit (requests per second) for this operation.", - "type": "string" - }, "x-amzn-RequestId": { - "type": "string", - "description": "Unique request reference identifier." + "description": "Unique request reference identifier.", + "type": "string" } } }, "415": { - "description": "The request's Content-Type header is invalid.", + "description": "The request payload is in an unsupported format.", "schema": { "$ref": "#/definitions/ErrorList" }, "headers": { - "x-amzn-RateLimit-Limit": { - "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned.", - "type": "string" - }, "x-amzn-RequestId": { "type": "string", "description": "Unique request reference identifier." @@ -851,10 +865,6 @@ "$ref": "#/definitions/ErrorList" }, "headers": { - "x-amzn-RateLimit-Limit": { - "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned.", - "type": "string" - }, "x-amzn-RequestId": { "type": "string", "description": "Unique request reference identifier." @@ -867,10 +877,6 @@ "$ref": "#/definitions/ErrorList" }, "headers": { - "x-amzn-RateLimit-Limit": { - "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned.", - "type": "string" - }, "x-amzn-RequestId": { "type": "string", "description": "Unique request reference identifier." @@ -883,10 +889,6 @@ "$ref": "#/definitions/ErrorList" }, "headers": { - "x-amzn-RateLimit-Limit": { - "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned.", - "type": "string" - }, "x-amzn-RequestId": { "type": "string", "description": "Unique request reference identifier." @@ -926,7 +928,7 @@ }, "x-amzn-RequestId": { "type": "string", - "description": "Unique request reference ID." + "description": "Unique request reference identifier." } }, "x-amzn-api-sandbox": { @@ -935,12 +937,12 @@ "request": { "parameters": { "documentId": { - "value": "0356cf79-b8b0-4226-b4b9-0ee058ea5760" + "value": "DocumentId1" } } }, "response": { - "documentId": "0356cf79-b8b0-4226-b4b9-0ee058ea5760", + "documentId": "DocumentId1", "documentUrl": "https://d34o8swod1owfl.cloudfront.net/QUERY_DATA_OUTPUT_DOC.txt" } } @@ -959,7 +961,7 @@ }, "x-amzn-RequestId": { "type": "string", - "description": "Unique request reference ID." + "description": "Unique request reference identifier." } }, "x-amzn-api-sandbox": { @@ -975,8 +977,9 @@ "response": { "errors": [ { - "code": "NotFound", - "message": "The provided documentId was not found." + "code": "InvalidInput", + "message": "Invalid input", + "details": "Invalid input" } ] } @@ -984,60 +987,73 @@ ] } }, - "401": { - "description": "The request's Authorization header is not formatted correctly or does not contain a valid token.", + "403": { + "description": "Indicates that access to the resource is forbidden. Possible reasons include Access Denied, Unauthorized, Expired Token, or Invalid Signature.", "schema": { "$ref": "#/definitions/ErrorList" }, "headers": { - "x-amzn-RateLimit-Limit": { - "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned.", - "type": "string" - }, "x-amzn-RequestId": { "type": "string", - "description": "Unique request reference ID." + "description": "Unique request reference identifier." } } }, - "403": { - "description": "Indicates access to the resource is forbidden. Possible reasons include Access Denied, Unauthorized, Expired Token, or Invalid Signature.", + "404": { + "description": "The resource specified does not exist.", "schema": { "$ref": "#/definitions/ErrorList" }, "headers": { + "x-amzn-RateLimit-Limit": { + "description": "Your rate limit (requests per second) for this operation.", + "type": "string" + }, "x-amzn-RequestId": { "type": "string", - "description": "Unique request reference ID." + "description": "Unique request reference identifier." } + }, + "x-amzn-api-sandbox": { + "static": [ + { + "request": { + "parameters": { + "documentId": { + "value": "NotFoundDocumentId1" + } + } + }, + "response": { + "errors": [ + { + "code": "NotFound", + "message": "The provided documentId was not found." + } + ] + } + } + ] } }, - "404": { - "description": "The specified resource does not exist.", + "413": { + "description": "The request size exceeded the maximum accepted size.", "schema": { "$ref": "#/definitions/ErrorList" }, "headers": { - "x-amzn-RateLimit-Limit": { - "description": "Your rate limit (requests per second) for this operation.", - "type": "string" - }, "x-amzn-RequestId": { - "type": "string", - "description": "Unique request reference ID." + "description": "Unique request reference identifier.", + "type": "string" } } }, "415": { - "description": "The request's Content-Type header is invalid.", + "description": "The request payload is in an unsupported format.", "schema": { "$ref": "#/definitions/ErrorList" }, "headers": { - "x-amzn-RateLimit-Limit": { - "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned.", - "type": "string" - }, "x-amzn-RequestId": { "type": "string", "description": "Unique request reference identifier." @@ -1050,13 +1066,9 @@ "$ref": "#/definitions/ErrorList" }, "headers": { - "x-amzn-RateLimit-Limit": { - "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned.", - "type": "string" - }, "x-amzn-RequestId": { "type": "string", - "description": "Unique request reference ID." + "description": "Unique request reference identifier." } } }, @@ -1066,13 +1078,9 @@ "$ref": "#/definitions/ErrorList" }, "headers": { - "x-amzn-RateLimit-Limit": { - "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned.", - "type": "string" - }, "x-amzn-RequestId": { "type": "string", - "description": "Unique request reference ID." + "description": "Unique request reference identifier." } } }, @@ -1082,13 +1090,9 @@ "$ref": "#/definitions/ErrorList" }, "headers": { - "x-amzn-RateLimit-Limit": { - "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned.", - "type": "string" - }, "x-amzn-RequestId": { "type": "string", - "description": "Unique request reference ID." + "description": "Unique request reference identifier." } } } @@ -1105,6 +1109,7 @@ ], "properties": { "errors": { + "description": "Error response returned when the request is unsuccessful.", "type": "array", "items": { "$ref": "#/definitions/Error" @@ -1126,7 +1131,7 @@ }, "message": { "type": "string", - "description": "A message that describes the error condition in a human-readable form." + "description": "A message that describes the error condition." }, "details": { "type": "string", @@ -1300,4 +1305,4 @@ } }, "basePath": "/" -} +} \ No newline at end of file From 83791613540227c33eb58725b1b8dc0d958f15d1 Mon Sep 17 00:00:00 2001 From: Alex Rupprecht Date: Wed, 31 Jan 2024 13:55:28 -0500 Subject: [PATCH 218/340] Update ShipsInPackage for release --- .../fulfillment-inbound-api-model/fulfillmentInboundV0.json | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/models/fulfillment-inbound-api-model/fulfillmentInboundV0.json b/models/fulfillment-inbound-api-model/fulfillmentInboundV0.json index fd15b10ff..df45bb5f2 100644 --- a/models/fulfillment-inbound-api-model/fulfillmentInboundV0.json +++ b/models/fulfillment-inbound-api-model/fulfillmentInboundV0.json @@ -31,6 +31,7 @@ ], "description": "Returns information that lets a seller know if Amazon recommends sending an item to a given marketplace. In some cases, Amazon provides guidance for why a given SellerSKU or ASIN is not recommended for shipment to Amazon's fulfillment network. Sellers may still ship items that are not recommended, at their discretion.\n\n**Usage Plan:**\n\n| Rate (requests per second) | Burst |\n| ---- | ---- |\n| 2 | 30 |\n\nThe `x-amzn-RateLimit-Limit` response header returns the usage plan rate limits that were applied to the requested operation, when available. The table above indicates the default rate and burst values for this operation. Selling partners whose business demands require higher throughput may see higher rate and burst values than those shown here. For more information, see [Usage Plans and Rate Limits in the Selling Partner API](https://developer-docs.amazon.com/sp-api/docs/usage-plans-and-rate-limits-in-the-sp-api).", "operationId": "getInboundGuidance", + "deprecated": true, "parameters": [ { "name": "MarketplaceId", @@ -5862,6 +5863,7 @@ "CapSealing", "SetStickering", "BlankStickering", + "ShipsInProductPackaging", "NoPrep" ], "x-docgen-enum-table-extension": [ @@ -5921,6 +5923,10 @@ "value": "BlankStickering", "description": "Indicates applying a blank sticker to obscure a bad barcode that cannot be covered by another sticker." }, + { + "value": "ShipsInProductPackaging", + "description": "Indicates that item ships in its original product packaging." + }, { "value": "NoPrep", "description": "Indicates that the item does not require any prep." From 20c57db203c8bf6fbd3f59615d70b82c223c9684 Mon Sep 17 00:00:00 2001 From: Gibran Waldron Date: Thu, 15 Feb 2024 11:35:11 -0800 Subject: [PATCH 219/340] Update Finances API Financial Events Group originaltotal description. --- models/finances-api-model/financesV0.json | 66 +++++++++++------------ 1 file changed, 33 insertions(+), 33 deletions(-) diff --git a/models/finances-api-model/financesV0.json b/models/finances-api-model/financesV0.json index 4b3a9757d..287152149 100644 --- a/models/finances-api-model/financesV0.json +++ b/models/finances-api-model/financesV0.json @@ -43,7 +43,7 @@ { "name": "FinancialEventGroupStartedBefore", "in": "query", - "description": "A date used for selecting financial event groups that opened before (but not at) a specified date and time, in ISO 8601 format. The date-time must be later than FinancialEventGroupStartedAfter and no later than two minutes before the request was submitted. If FinancialEventGroupStartedAfter and FinancialEventGroupStartedBefore are more than 180 days apart, no financial event groups are returned.", + "description": "A date used for selecting financial event groups that opened before (but not at) a specified date and time, in [ISO 8601](https://developer-docs.amazon.com/sp-api/docs/iso-8601) format. The date-time must be later than FinancialEventGroupStartedAfter and no later than two minutes before the request was submitted. If FinancialEventGroupStartedAfter and FinancialEventGroupStartedBefore are more than 180 days apart, no financial event groups are returned.", "required": false, "type": "string", "format": "date-time" @@ -51,7 +51,7 @@ { "name": "FinancialEventGroupStartedAfter", "in": "query", - "description": "A date used for selecting financial event groups that opened after (or at) a specified date and time, in ISO 8601 format. The date-time must be no later than two minutes before the request was submitted.", + "description": "A date used for selecting financial event groups that opened after (or at) a specified date and time, in [ISO 8601](https://developer-docs.amazon.com/sp-api/docs/iso-8601) format. The date-time must be no later than two minutes before the request was submitted.", "required": false, "type": "string", "format": "date-time" @@ -244,7 +244,7 @@ { "name": "PostedAfter", "in": "query", - "description": "A date used for selecting financial events posted after (or at) a specified time. The date-time **must** be more than two minutes before the time of the request, in ISO 8601 date time format.", + "description": "A date used for selecting financial events posted after (or at) a specified time. The date-time **must** be more than two minutes before the time of the request, in [ISO 8601](https://developer-docs.amazon.com/sp-api/docs/iso-8601) date time format.", "required": false, "type": "string", "format": "date-time" @@ -252,7 +252,7 @@ { "name": "PostedBefore", "in": "query", - "description": "A date used for selecting financial events posted before (but not at) a specified time. The date-time must be later than `PostedAfter` and no later than two minutes before the request was submitted, in ISO 8601 date time format. If `PostedAfter` and `PostedBefore` are more than 180 days apart, no financial events are returned. You must specify the `PostedAfter` parameter if you specify the `PostedBefore` parameter. Default: Now minus two minutes.", + "description": "A date used for selecting financial events posted before (but not at) a specified time. The date-time must be later than `PostedAfter` and no later than two minutes before the request was submitted, in [ISO 8601](https://developer-docs.amazon.com/sp-api/docs/iso-8601) date time format. If `PostedAfter` and `PostedBefore` are more than 180 days apart, no financial events are returned. You must specify the `PostedAfter` parameter if you specify the `PostedBefore` parameter. Default: Now minus two minutes.", "required": false, "type": "string", "format": "date-time" @@ -1050,7 +1050,7 @@ { "name": "PostedAfter", "in": "query", - "description": "A date used for selecting financial events posted after (or at) a specified time. The date-time must be no later than two minutes before the request was submitted, in ISO 8601 date time format.", + "description": "A date used for selecting financial events posted after (or at) a specified time. The date-time must be no later than two minutes before the request was submitted, in [ISO 8601](https://developer-docs.amazon.com/sp-api/docs/iso-8601) date time format.", "required": false, "type": "string", "format": "date-time" @@ -1058,7 +1058,7 @@ { "name": "PostedBefore", "in": "query", - "description": "A date used for selecting financial events posted before (but not at) a specified time. The date-time must be later than PostedAfter and no later than two minutes before the request was submitted, in ISO 8601 date time format. If PostedAfter and PostedBefore are more than 180 days apart, no financial events are returned. You must specify the PostedAfter parameter if you specify the PostedBefore parameter. Default: Now minus two minutes.", + "description": "A date used for selecting financial events posted before (but not at) a specified time. The date-time must be later than PostedAfter and no later than two minutes before the request was submitted, in [ISO 8601](https://developer-docs.amazon.com/sp-api/docs/iso-8601) date time format. If PostedAfter and PostedBefore are more than 180 days apart, no financial events are returned. You must specify the PostedAfter parameter if you specify the PostedBefore parameter. Default: Now minus two minutes.", "required": false, "type": "string", "format": "date-time" @@ -1569,12 +1569,12 @@ "description": "The charge refund transaction." }, "ChargeRefundTransactions": { - "type": "array", - "description": "A list of `ChargeRefund` transactions.", - "items": { - "$ref": "#/definitions/ChargeRefundTransaction" - } - }, + "type": "array", + "description": "A list of `ChargeRefund` transactions", + "items": { + "$ref": "#/definitions/ChargeRefundTransaction" + } + }, "CouponPaymentEvent": { "type": "object", "properties": { @@ -1680,11 +1680,11 @@ "$ref": "#/definitions/Currency" }, "GroupBeginDate": { - "description": "The beginning date and time of the financial event group that contains the debt. In ISO 8601 date time format.", + "description": "The beginning date and time of the financial event group that contains the debt. In [ISO 8601](https://developer-docs.amazon.com/sp-api/docs/iso-8601) date time format.", "$ref": "#/definitions/Date" }, "GroupEndDate": { - "description": "The ending date and time of the financial event group that contains the debt. In ISO 8601 date time format.", + "description": "The ending date and time of the financial event group that contains the debt. In [ISO 8601](https://developer-docs.amazon.com/sp-api/docs/iso-8601) date time format.", "$ref": "#/definitions/Date" } }, @@ -1720,12 +1720,12 @@ }, "FailedAdhocDisbursementEventList": { "type": "array", - "items": { - "$ref": "#/definitions/FailedAdhocDisbursementEvent" - }, - "description": "A list of `FailedAdhocDisbursementEvent`s." - }, - "FailedAdhocDisbursementEvent": { + "items": { + "$ref": "#/definitions/FailedAdhocDisbursementEvent" + }, + "description": "A list of `FailedAdhocDisbursementEvent`s." + }, + "FailedAdhocDisbursementEvent": { "type": "object", "properties": { "FundsTransfersType": { @@ -1825,7 +1825,7 @@ "description": "The status of the fund transfer." }, "OriginalTotal": { - "description": "The total amount in the currency of the marketplace in which the transactions occurred.", + "description": "The total amount in the currency of the marketplace in which the transactions occurred. For a closed financial group, this is the total amount of a disbursement or a charge amount. For an open financial event group, this is the current balance.", "$ref": "#/definitions/Currency" }, "ConvertedTotal": { @@ -1833,7 +1833,7 @@ "$ref": "#/definitions/Currency" }, "FundTransferDate": { - "description": "The date and time when the disbursement or charge was initiated. Only present for closed settlements. In ISO 8601 date time format.", + "description": "The date and time when the disbursement or charge was initiated. Only present for closed settlements. In [ISO 8601](https://developer-docs.amazon.com/sp-api/docs/iso-8601) date time format.", "$ref": "#/definitions/Date" }, "TraceId": { @@ -1849,11 +1849,11 @@ "$ref": "#/definitions/Currency" }, "FinancialEventGroupStart": { - "description": "The date and time at which the financial event group is opened. In ISO 8601 date time format.", + "description": "The date and time at which the financial event group is opened. In [ISO 8601](https://developer-docs.amazon.com/sp-api/docs/iso-8601) date time format.", "$ref": "#/definitions/Date" }, "FinancialEventGroupEnd": { - "description": "The date and time at which the financial event group is closed. In ISO 8601 date time format.", + "description": "The date and time at which the financial event group is closed. In [ISO 8601](https://developer-docs.amazon.com/sp-api/docs/iso-8601) date time format.", "$ref": "#/definitions/Date" } }, @@ -2133,7 +2133,7 @@ "description": "An order identifier that is specified by the seller." }, "TransactionPostedDate": { - "description": "The date and time when the payment transaction is posted. In ISO 8601 date time format.", + "description": "The date and time when the payment transaction is posted. In [ISO 8601](https://developer-docs.amazon.com/sp-api/docs/iso-8601) date time format.", "$ref": "#/definitions/Date" }, "BusinessObjectType": { @@ -2843,7 +2843,7 @@ "$ref": "#/definitions/Currency" }, "TransactionCreationDate": { - "description": "The date and time that the credit transaction was created, in ISO 8601 date time format.", + "description": "The date and time that the credit transaction was created, in [ISO 8601](https://developer-docs.amazon.com/sp-api/docs/iso-8601) date time format.", "$ref": "#/definitions/Date" } }, @@ -2984,12 +2984,12 @@ }, "ValueAddedServiceChargeEventList": { "type": "array", - "items": { - "$ref": "#/definitions/ValueAddedServiceChargeEvent" - }, - "description": "A list of `ValueAddedServiceCharge` events." - }, - "ValueAddedServiceChargeEvent": { + "items": { + "$ref": "#/definitions/ValueAddedServiceChargeEvent" + }, + "description": "A list of `ValueAddedServiceCharge` events." + }, + "ValueAddedServiceChargeEvent": { "type": "object", "properties": { "TransactionType": { @@ -3071,4 +3071,4 @@ "description": "Error response returned when the request is unsuccessful." } } -} +} \ No newline at end of file From a2b0b4a2b34d277f232fca30aadbfc6df3e11a07 Mon Sep 17 00:00:00 2001 From: Alex Rupprecht Date: Mon, 19 Feb 2024 10:38:07 -0500 Subject: [PATCH 220/340] Fixing github issue with wrong file information --- .../vendorDirectFulfillmentOrdersV1.json | 2619 ++++++++++++++++- 1 file changed, 2490 insertions(+), 129 deletions(-) diff --git a/models/vendor-direct-fulfillment-orders-api-model/vendorDirectFulfillmentOrdersV1.json b/models/vendor-direct-fulfillment-orders-api-model/vendorDirectFulfillmentOrdersV1.json index a355fbb47..49e96b1bb 100644 --- a/models/vendor-direct-fulfillment-orders-api-model/vendorDirectFulfillmentOrdersV1.json +++ b/models/vendor-direct-fulfillment-orders-api-model/vendorDirectFulfillmentOrdersV1.json @@ -1,9 +1,9 @@ { "swagger": "2.0", "info": { - "description": "The Selling Partner API for Direct Fulfillment Inventory Updates provides programmatic access to a direct fulfillment vendor's inventory updates.", + "description": "The Selling Partner API for Direct Fulfillment Orders provides programmatic access to a direct fulfillment vendor's order data.", "version": "v1", - "title": "Selling Partner API for Direct Fulfillment Inventory Updates", + "title": "Selling Partner API for Direct Fulfillment Orders", "contact": { "name": "Selling Partner API Developer Support", "url": "https://sellercentral.amazon.com/gp/mws/contactus.html" @@ -24,35 +24,235 @@ "application/json" ], "paths": { - "/vendor/directFulfillment/inventory/v1/warehouses/{warehouseId}/items": { - "post": { + "/vendor/directFulfillment/orders/v1/purchaseOrders": { + "get": { "tags": [ - "updateInventory" + "vendorOrders" ], - "description": "Submits inventory updates for the specified warehouse for either a partial or full feed of inventory items.\n\n**Usage Plan:**\n\n| Rate (requests per second) | Burst |\n| ---- | ---- |\n| 10 | 10 |\n\nThe `x-amzn-RateLimit-Limit` response header returns the usage plan rate limits that were applied to the requested operation, when available. The table above indicates the default rate and burst values for this operation. Selling partners whose business demands require higher throughput may see higher rate and burst values than those shown here. For more information, see [Usage Plans and Rate Limits in the Selling Partner API](https://developer-docs.amazon.com/sp-api/docs/usage-plans-and-rate-limits-in-the-sp-api).", - "operationId": "submitInventoryUpdate", + "description": "Returns a list of purchase orders created during the time frame that you specify. You define the time frame using the createdAfter and createdBefore parameters. You must use both parameters. You can choose to get only the purchase order numbers by setting the includeDetails parameter to false. In that case, the operation returns a list of purchase order numbers. You can then call the getOrder operation to return the details of a specific order.\n\n**Usage Plan:**\n\n| Rate (requests per second) | Burst |\n| ---- | ---- |\n| 10 | 10 |\n\nThe `x-amzn-RateLimit-Limit` response header returns the usage plan rate limits that were applied to the requested operation, when available. The table above indicates the default rate and burst values for this operation. Selling partners whose business demands require higher throughput may see higher rate and burst values than those shown here. For more information, see [Usage Plans and Rate Limits in the Selling Partner API](https://developer-docs.amazon.com/sp-api/docs/usage-plans-and-rate-limits-in-the-sp-api).", + "operationId": "getOrders", "parameters": [ { - "in": "body", - "name": "body", + "name": "shipFromPartyId", + "in": "query", + "description": "The vendor warehouse identifier for the fulfillment warehouse. If not specified, the result will contain orders for all warehouses.", + "required": false, + "type": "string" + }, + { + "name": "status", + "in": "query", + "description": "Returns only the purchase orders that match the specified status. If not specified, the result will contain orders that match any status.", + "required": false, + "type": "string", + "enum": [ + "NEW", + "SHIPPED", + "ACCEPTED", + "CANCELLED" + ], + "x-docgen-enum-table-extension": [ + { + "value": "NEW", + "description": "Status for newly created purchase orders." + }, + { + "value": "SHIPPED", + "description": "Status for purchase orders that are already shipped." + }, + { + "value": "ACCEPTED", + "description": "Status for purchase orders accepted by vendors." + }, + { + "value": "CANCELLED", + "description": "Status for cancelled purchase orders." + } + ] + }, + { + "name": "limit", + "in": "query", + "description": "The limit to the number of purchase orders returned.", + "required": false, + "type": "integer", + "maximum": 100, + "minimum": 1, + "format": "int64" + }, + { + "name": "createdAfter", + "in": "query", + "description": "Purchase orders that became available after this date and time will be included in the result. Must be in ISO-8601 date/time format.", "required": true, - "schema": { - "$ref": "#/definitions/SubmitInventoryUpdateRequest" - } + "type": "string", + "format": "date-time" }, { - "name": "warehouseId", - "in": "path", - "description": "Identifier for the warehouse for which to update inventory.", + "name": "createdBefore", + "in": "query", + "description": "Purchase orders that became available before this date and time will be included in the result. Must be in ISO-8601 date/time format.", "required": true, + "type": "string", + "format": "date-time" + }, + { + "name": "sortOrder", + "in": "query", + "description": "Sort the list in ascending or descending order by order creation date.", + "required": false, + "type": "string", + "enum": [ + "ASC", + "DESC" + ], + "x-docgen-enum-table-extension": [ + { + "value": "ASC", + "description": "Sort in ascending order by order creation date." + }, + { + "value": "DESC", + "description": "Sort in descending order by order creation date." + } + ] + }, + { + "name": "nextToken", + "in": "query", + "description": "Used for pagination when there are more orders than the specified result size limit. The token value is returned in the previous API call.", + "required": false, "type": "string" + }, + { + "name": "includeDetails", + "in": "query", + "description": "When true, returns the complete purchase order details. Otherwise, only purchase order numbers are returned.", + "required": false, + "type": "string", + "default": "true", + "format": "boolean" } ], "responses": { - "202": { + "200": { "description": "Success.", "schema": { - "$ref": "#/definitions/SubmitInventoryUpdateResponse" + "$ref": "#/definitions/GetOrdersResponse" + }, + "examples": { + "payload": { + "pagination": { + "nextToken": "MDAwMDAwMDAwMQ==" + }, + "orders": [ + { + "purchaseOrderNumber": "2JK3S9VC", + "orderDetails": { + "customerOrderNumber": "123-ABC", + "orderDate": "2020-02-20T13:51:00Z", + "orderStatus": "NEW", + "shipmentDetails": { + "isPriorityShipment": false, + "isScheduledDeliveryShipment": false, + "isPslipRequired": true, + "isGift": false, + "shipMethod": "UPS_2ND", + "shipmentDates": { + "requiredShipDate": "2020-02-21T00:00:00Z", + "promisedDeliveryDate": "2020-02-24T00:00:00Z" + }, + "messageToCustomer": "This shipment completes your order. You can always check the status of your orders from the \"Your Account\" link at the top of each page of our site.Thank you for shopping at Amazon.com" + }, + "taxTotal": { + "taxLineItem": [ + { + "taxRate": "0.1", + "taxAmount": { + "currencyCode": "USD", + "amount": "190" + }, + "type": "TOTAL" + } + ] + }, + "sellingParty": { + "partyId": "999US" + }, + "shipFromParty": { + "partyId": "ABCD" + }, + "shipToParty": { + "name": "ABCD", + "attention": "ABCD", + "addressLine1": "123 XYZ Street", + "addressLine2": "Apt 5", + "city": "San Jose", + "stateOrRegion": "CA", + "postalCode": "94086", + "countryCode": "USA" + }, + "billToParty": { + "partyId": "ABCD" + }, + "items": [ + { + "itemSequenceNumber": "00001", + "buyerProductIdentifier": "B07DFVDRAB", + "vendorProductIdentifier": "8806098286500", + "title": "LG 8 kg Inverter Wi-Fi Fully-Automatic Front Loading Washing Machine (FHT1408SWS, STS-VCM, Inbuilt Heater)", + "orderedQuantity": { + "amount": 1, + "unitOfMeasure": "EACH" + }, + "netPrice": { + "currencyCode": "USD", + "amount": "500" + }, + "taxDetails": { + "taxLineItem": [ + { + "taxRate": "0.1", + "taxAmount": { + "currencyCode": "USD", + "amount": "50" + }, + "type": "TOTAL" + } + ] + } + }, + { + "itemSequenceNumber": "00002", + "buyerProductIdentifier": "B07DFYF5AB", + "vendorProductIdentifier": "8806098286123", + "title": "LG 6.5 kg Inverter Fully-Automatic Front Loading Washing Machine (FHT1065SNW, Blue and White, Inbuilt Heater)", + "orderedQuantity": { + "amount": 2, + "unitOfMeasure": "EACH" + }, + "netPrice": { + "currencyCode": "USD", + "amount": "700" + }, + "taxDetails": { + "taxLineItem": [ + { + "taxRate": "0.1", + "taxAmount": { + "currencyCode": "USD", + "amount": "140" + }, + "type": "TOTAL" + } + ] + } + } + ] + } + } + ] + } }, "headers": { "x-amzn-RateLimit-Limit": { @@ -69,62 +269,929 @@ { "request": { "parameters": { - "body": { - "value": { - "inventory": { + "createdBefore": { + "value": "2020-02-20T00:00:00-08:00" + }, + "createdAfter": { + "value": "2020-02-15T14:00:00-08:00" + }, + "includeDetails": { + "value": "true" + }, + "limit": { + "value": 2 + }, + "sortOrder": { + "value": "DESC" + } + } + }, + "response": { + "payload": { + "pagination": { + "nextToken": "MDAwMDAwMDAwMQ==" + }, + "orders": [ + { + "purchaseOrderNumber": "2JK3S9VC", + "orderDetails": { + "customerOrderNumber": "123-ABC", + "orderDate": "2020-02-20T13:51:00Z", + "orderStatus": "NEW", + "shipmentDetails": { + "isPriorityShipment": false, + "isScheduledDeliveryShipment": false, + "isPslipRequired": true, + "isGift": false, + "shipMethod": "UPS_2ND", + "shipmentDates": { + "requiredShipDate": "2020-02-21T00:00:00Z", + "promisedDeliveryDate": "2020-02-24T00:00:00Z" + }, + "messageToCustomer": "This shipment completes your order. You can always check the status of your orders from the \"Your Account\" link at the top of each page of our site.Thank you for shopping at Amazon.com" + }, + "taxTotal": { + "taxLineItem": [ + { + "taxRate": "0.1", + "taxAmount": { + "currencyCode": "USD", + "amount": "190" + }, + "type": "TOTAL" + } + ] + }, "sellingParty": { - "partyId": "VENDORID" + "partyId": "999US" + }, + "shipFromParty": { + "partyId": "ABCD" + }, + "shipToParty": { + "name": "ABCD", + "attention": "ABCD", + "addressLine1": "123 XYZ Street", + "addressLine2": "Apt 5", + "city": "San Jose", + "stateOrRegion": "CA", + "postalCode": "94086", + "countryCode": "USA" + }, + "billToParty": { + "partyId": "ABCD" }, - "isFullUpdate": false, "items": [ { - "buyerProductIdentifier": "ABCD4562", - "vendorProductIdentifier": "7Q89K11", - "availableQuantity": { - "amount": 10, - "unitOfMeasure": "Each" + "itemSequenceNumber": "00001", + "buyerProductIdentifier": "B07DFVDRAB", + "vendorProductIdentifier": "8806098286500", + "title": "LG 8 kg Inverter Wi-Fi Fully-Automatic Front Loading Washing Machine (FHT1408SWS, STS-VCM, Inbuilt Heater)", + "orderedQuantity": { + "amount": 1, + "unitOfMeasure": "EACH" + }, + "netPrice": { + "currencyCode": "USD", + "amount": "500" }, - "isObsolete": false + "taxDetails": { + "taxLineItem": [ + { + "taxRate": "0.1", + "taxAmount": { + "currencyCode": "USD", + "amount": "50" + }, + "type": "TOTAL" + } + ] + } }, { - "buyerProductIdentifier": "ABCD4563", - "vendorProductIdentifier": "7Q89K12", - "availableQuantity": { - "amount": 15, - "unitOfMeasure": "Each" + "itemSequenceNumber": "00002", + "buyerProductIdentifier": "B07DFYF5AB", + "vendorProductIdentifier": "8806098286123", + "title": "LG 6.5 kg Inverter Fully-Automatic Front Loading Washing Machine (FHT1065SNW, Blue and White, Inbuilt Heater)", + "orderedQuantity": { + "amount": 2, + "unitOfMeasure": "EACH" }, - "isObsolete": false + "netPrice": { + "currencyCode": "USD", + "amount": "700" + }, + "taxDetails": { + "taxLineItem": [ + { + "taxRate": "0.1", + "taxAmount": { + "currencyCode": "USD", + "amount": "140" + }, + "type": "TOTAL" + } + ] + } + } + ] + } + }, + { + "purchaseOrderNumber": "3TRD2IAB", + "orderDetails": { + "customerOrderNumber": "456-ABC", + "orderDate": "2020-02-18T11:47:00Z", + "orderStatus": "NEW", + "shipmentDetails": { + "isPriorityShipment": false, + "isScheduledDeliveryShipment": false, + "isPslipRequired": true, + "isGift": false, + "shipMethod": "UPS_2ND", + "shipmentDates": { + "requiredShipDate": "2020-02-20T00:00:00Z", + "promisedDeliveryDate": "2020-02-22T00:00:00Z" }, + "messageToCustomer": "This shipment completes your order. You can always check the status of your orders from the \"Your Account\" link at the top of each page of our site.Thank you for shopping at Amazon.com" + }, + "taxTotal": { + "taxLineItem": [ + { + "taxRate": "0.1", + "taxAmount": { + "currencyCode": "USD", + "amount": "2" + }, + "type": "TOTAL" + } + ] + }, + "sellingParty": { + "partyId": "999US" + }, + "shipFromParty": { + "partyId": "ABCD" + }, + "shipToParty": { + "name": "XYZ", + "attention": "XYZ", + "addressLine1": "456 ABC Street", + "city": "Seattle", + "stateOrRegion": "WA", + "postalCode": "98007", + "countryCode": "USA" + }, + "billToParty": { + "partyId": "ABCD" + }, + "items": [ { - "buyerProductIdentifier": "ABCD4564", - "vendorProductIdentifier": "7Q89K13", - "availableQuantity": { - "amount": 20, - "unitOfMeasure": "Each" + "itemSequenceNumber": "00001", + "buyerProductIdentifier": "B01LNRIIAB", + "vendorProductIdentifier": "8806098286501", + "title": "Baby Dove Baby Wipes Rich Moisture (50 Pieces)", + "orderedQuantity": { + "amount": 1, + "unitOfMeasure": "EACH" }, - "isObsolete": false + "netPrice": { + "currencyCode": "USD", + "amount": "20" + }, + "taxDetails": { + "taxLineItem": [ + { + "taxRate": "0.1", + "taxAmount": { + "currencyCode": "USD", + "amount": "2" + }, + "type": "TOTAL" + } + ] + } } ] } } + ] + } + } + }, + { + "request": { + "parameters": { + "createdBefore": { + "value": "2020-02-20T00:00:00-08:00" + }, + "createdAfter": { + "value": "2020-02-15T14:00:00-08:00" + }, + "includeDetails": { + "value": "true" + }, + "limit": { + "value": 2 + }, + "sortOrder": { + "value": "DESC" + }, + "nextToken": { + "value": "MDAwMDAwMDAwMQ==" } } }, "response": { "payload": { - "transactionId": "20190905010908-8a3b6901-ef20-412f-9270-21c021796605" + "orders": [ + { + "purchaseOrderNumber": "2JK3S9VCD", + "orderDetails": { + "customerOrderNumber": "123-ABC", + "orderDate": "2020-02-20T13:51:00Z", + "orderStatus": "NEW", + "shipmentDetails": { + "isPriorityShipment": false, + "isScheduledDeliveryShipment": false, + "isPslipRequired": true, + "isGift": false, + "shipMethod": "UPS_2ND", + "shipmentDates": { + "requiredShipDate": "2020-02-21T00:00:00Z", + "promisedDeliveryDate": "2020-02-24T00:00:00Z" + }, + "messageToCustomer": "This shipment completes your order. You can always check the status of your orders from the \"Your Account\" link at the top of each page of our site.Thank you for shopping at Amazon.com" + }, + "taxTotal": { + "taxLineItem": [ + { + "taxAmount": { + "currencyCode": "USD", + "amount": "190" + }, + "type": "TOTAL" + } + ] + }, + "sellingParty": { + "partyId": "999US" + }, + "shipFromParty": { + "partyId": "ABCD" + }, + "shipToParty": { + "name": "ABCD", + "attention": "ABCD", + "addressLine1": "123 XYZ Street", + "addressLine2": "Apt 5", + "city": "San Jose", + "stateOrRegion": "CA", + "postalCode": "94086", + "countryCode": "USA" + }, + "billToParty": { + "partyId": "ABCD" + }, + "items": [ + { + "itemSequenceNumber": "00001", + "buyerProductIdentifier": "B07DFVDRAB", + "vendorProductIdentifier": "8806098286500", + "title": "LG 8 kg Inverter Wi-Fi Fully-Automatic Front Loading Washing Machine (FHT1408SWS, STS-VCM, Inbuilt Heater)", + "orderedQuantity": { + "amount": 1, + "unitOfMeasure": "EACH" + }, + "netPrice": { + "currencyCode": "USD", + "amount": "500" + }, + "taxDetails": { + "taxLineItem": [ + { + "taxRate": "0.1", + "taxAmount": { + "currencyCode": "USD", + "amount": "50" + }, + "type": "TOTAL" + } + ] + } + }, + { + "itemSequenceNumber": "00002", + "buyerProductIdentifier": "B07DFYF5AB", + "vendorProductIdentifier": "8806098286123", + "title": "LG 6.5 kg Inverter Fully-Automatic Front Loading Washing Machine (FHT1065SNW, Blue and White, Inbuilt Heater)", + "orderedQuantity": { + "amount": 2, + "unitOfMeasure": "EACH" + }, + "netPrice": { + "currencyCode": "USD", + "amount": "700" + }, + "taxDetails": { + "taxLineItem": [ + { + "taxRate": "0.1", + "taxAmount": { + "currencyCode": "USD", + "amount": "140" + }, + "type": "TOTAL" + } + ] + } + } + ] + } + }, + { + "purchaseOrderNumber": "3TRD2IABC", + "orderDetails": { + "customerOrderNumber": "456-ABC", + "orderDate": "2020-02-18T11:47:00Z", + "orderStatus": "NEW", + "shipmentDetails": { + "isPriorityShipment": false, + "isScheduledDeliveryShipment": false, + "isPslipRequired": true, + "isGift": false, + "shipMethod": "UPS_2ND", + "shipmentDates": { + "requiredShipDate": "2020-02-20T00:00:00Z", + "promisedDeliveryDate": "2020-02-22T00:00:00Z" + }, + "messageToCustomer": "This shipment completes your order. You can always check the status of your orders from the \"Your Account\" link at the top of each page of our site.Thank you for shopping at Amazon.com" + }, + "taxTotal": { + "taxLineItem": [ + { + "taxRate": "0.1", + "taxAmount": { + "currencyCode": "USD", + "amount": "2" + }, + "type": "TOTAL" + } + ] + }, + "sellingParty": { + "partyId": "999US" + }, + "shipFromParty": { + "partyId": "ABCD" + }, + "shipToParty": { + "name": "XYZ", + "attention": "XYZ", + "addressLine1": "456 ABC Street", + "city": "Seattle", + "stateOrRegion": "WA", + "postalCode": "98007", + "countryCode": "USA" + }, + "billToParty": { + "partyId": "ABCD" + }, + "items": [ + { + "itemSequenceNumber": "00001", + "buyerProductIdentifier": "B01LNRIIAB", + "vendorProductIdentifier": "8806098286501", + "title": "Baby Dove Baby Wipes Rich Moisture (50 Pieces)", + "orderedQuantity": { + "amount": 1, + "unitOfMeasure": "EACH" + }, + "netPrice": { + "currencyCode": "USD", + "amount": "20" + }, + "taxDetails": { + "taxLineItem": [ + { + "taxRate": "0.1", + "taxAmount": { + "currencyCode": "USD", + "amount": "2" + }, + "type": "TOTAL" + } + ] + } + } + ] + } + } + ] } } }, { "request": { "parameters": { - "body": {} + "createdBefore": { + "value": "2020-02-20T00:00:00-08:00" + }, + "createdAfter": { + "value": "2020-02-15T14:00:00-08:00" + }, + "includeDetails": { + "value": "true" + }, + "limit": { + "value": 2 + }, + "sortOrder": { + "value": "DESC" + }, + "nextToken": { + "value": "MDAwMDAwMDAwMQ==" + } + } + }, + "response": { + "payload": { + "orders": [ + { + "purchaseOrderNumber": "2JK3S9VCD", + "orderDetails": { + "customerOrderNumber": "123-ABC", + "orderDate": "2020-02-20T13:51:00Z", + "orderStatus": "NEW", + "shipmentDetails": { + "isPriorityShipment": false, + "isScheduledDeliveryShipment": false, + "isPslipRequired": true, + "isGift": false, + "shipMethod": "UPS_2ND", + "shipmentDates": { + "requiredShipDate": "2020-02-21T00:00:00Z", + "promisedDeliveryDate": "2020-02-24T00:00:00Z" + }, + "messageToCustomer": "This shipment completes your order. You can always check the status of your orders from the \"Your Account\" link at the top of each page of our site.Thank you for shopping at Amazon.com" + }, + "taxTotal": { + "taxLineItem": [ + { + "taxAmount": { + "currencyCode": "USD", + "amount": "190" + }, + "type": "TOTAL" + } + ] + }, + "sellingParty": { + "partyId": "999US" + }, + "shipFromParty": { + "partyId": "ABCD" + }, + "shipToParty": { + "name": "ABCD", + "attention": "ABCD", + "addressLine1": "123 XYZ Street", + "addressLine2": "Apt 5", + "city": "San Jose", + "stateOrRegion": "CA", + "postalCode": "94086", + "countryCode": "USA" + }, + "billToParty": { + "partyId": "ABCD" + }, + "items": [ + { + "itemSequenceNumber": "00001", + "buyerProductIdentifier": "B07DFVDRAB", + "vendorProductIdentifier": "8806098286500", + "title": "LG 8 kg Inverter Wi-Fi Fully-Automatic Front Loading Washing Machine (FHT1408SWS, STS-VCM, Inbuilt Heater)", + "orderedQuantity": { + "amount": 1, + "unitOfMeasure": "EACH" + }, + "netPrice": { + "currencyCode": "USD", + "amount": "500" + }, + "taxDetails": { + "taxLineItem": [ + { + "taxRate": "0.1", + "taxAmount": { + "currencyCode": "USD", + "amount": "50" + }, + "type": "TOTAL" + } + ] + } + }, + { + "itemSequenceNumber": "00002", + "buyerProductIdentifier": "B07DFYF5AB", + "vendorProductIdentifier": "8806098286123", + "title": "LG 6.5 kg Inverter Fully-Automatic Front Loading Washing Machine (FHT1065SNW, Blue and White, Inbuilt Heater)", + "orderedQuantity": { + "amount": 2, + "unitOfMeasure": "EACH" + }, + "netPrice": { + "currencyCode": "USD", + "amount": "700" + }, + "taxDetails": { + "taxLineItem": [ + { + "taxRate": "0.1", + "taxAmount": { + "currencyCode": "USD", + "amount": "140" + }, + "type": "TOTAL" + } + ] + } + } + ] + } + }, + { + "purchaseOrderNumber": "3TRD2IABC", + "orderDetails": { + "customerOrderNumber": "456-ABC", + "orderDate": "2020-02-18T11:47:00Z", + "orderStatus": "NEW", + "shipmentDetails": { + "isPriorityShipment": false, + "isScheduledDeliveryShipment": false, + "isPslipRequired": true, + "isGift": false, + "shipMethod": "UPS_2ND", + "shipmentDates": { + "requiredShipDate": "2020-02-20T00:00:00Z", + "promisedDeliveryDate": "2020-02-22T00:00:00Z" + }, + "messageToCustomer": "This shipment completes your order. You can always check the status of your orders from the \"Your Account\" link at the top of each page of our site.Thank you for shopping at Amazon.com" + }, + "taxTotal": { + "taxLineItem": [ + { + "taxRate": "0.1", + "taxAmount": { + "currencyCode": "USD", + "amount": "2" + }, + "type": "TOTAL" + } + ] + }, + "sellingParty": { + "partyId": "999US" + }, + "shipFromParty": { + "partyId": "ABCD" + }, + "shipToParty": { + "name": "XYZ", + "attention": "XYZ", + "addressLine1": "456 ABC Street", + "city": "Seattle", + "stateOrRegion": "WA", + "postalCode": "98007", + "countryCode": "USA" + }, + "billToParty": { + "partyId": "ABCD" + }, + "items": [ + { + "itemSequenceNumber": "00001", + "buyerProductIdentifier": "B01LNRIIAB", + "vendorProductIdentifier": "8806098286501", + "title": "Baby Dove Baby Wipes Rich Moisture (50 Pieces)", + "orderedQuantity": { + "amount": 1, + "unitOfMeasure": "EACH" + }, + "netPrice": { + "currencyCode": "USD", + "amount": "20" + }, + "taxDetails": { + "taxLineItem": [ + { + "taxRate": "0.1", + "taxAmount": { + "currencyCode": "USD", + "amount": "2" + }, + "type": "TOTAL" + } + ] + } + } + ] + } + } + ] + } + } + }, + { + "request": { + "parameters": { + "createdBefore": { + "value": "2019-08-21T00:00:00-08:00" + }, + "createdAfter": { + "value": "2019-08-20T14:00:00-08:00" + }, + "includeDetails": { + "value": "false" + }, + "sortOrder": { + "value": "DESC" + } } }, "response": { "payload": { - "transactionId": "mock-TransactionId-20190905010908-8a3b6901-ef20-412f-9270-21c021796605" + "pagination": { + "nextToken": "MDAwMDAwMDAwMQ==" + }, + "orders": [ + { + "purchaseOrderNumber": "2JK3S9VC" + }, + { + "purchaseOrderNumber": "3TRD2IAB" + } + ] + } + } + }, + { + "request": { + "parameters": { + "createdBefore": { + "value": "2019-08-21T00:00:00-08:00" + }, + "createdAfter": { + "value": "2019-08-20T14:00:00-08:00" + }, + "includeDetails": { + "value": "false" + }, + "sortOrder": { + "value": "DESC" + } + } + }, + "response": { + "payload": { + "pagination": { + "nextToken": "MDAwMDAwMDAwMQ==" + }, + "orders": [ + { + "purchaseOrderNumber": "2JK3S9VC" + }, + { + "purchaseOrderNumber": "3TRD2IAB" + } + ] + } + } + }, + { + "request": { + "parameters": { + "createdBefore": { + "value": "2019-08-21T00:00:00-08:00" + }, + "createdAfter": { + "value": "2019-08-20T14:00:00-08:00" + }, + "includeDetails": { + "value": "false" + }, + "sortOrder": { + "value": "DESC" + }, + "nextToken": { + "value": "MDAwMDAwMDAwMQ==" + } + } + }, + "response": { + "payload": { + "orders": [ + { + "purchaseOrderNumber": "2JK3S9VCD" + }, + { + "purchaseOrderNumber": "3TRD2IABC" + } + ] + } + } + }, + { + "request": { + "parameters": {} + }, + "response": { + "payload": { + "orders": [ + { + "purchaseOrderNumber": "2JK3S9VCD", + "orderDetails": { + "customerOrderNumber": "123-ABC", + "orderDate": "2020-02-20T13:51:00Z", + "orderStatus": "NEW", + "shipmentDetails": { + "isPriorityShipment": false, + "isScheduledDeliveryShipment": false, + "isPslipRequired": true, + "isGift": false, + "shipMethod": "UPS_2ND", + "shipmentDates": { + "requiredShipDate": "2020-02-21T00:00:00Z", + "promisedDeliveryDate": "2020-02-24T00:00:00Z" + }, + "messageToCustomer": "This shipment completes your order. You can always check the status of your orders from the \"Your Account\" link at the top of each page of our site. Thank you for shopping at Amazon.com." + }, + "taxTotal": { + "taxLineItem": [ + { + "taxAmount": { + "currencyCode": "USD", + "amount": "190" + }, + "type": "TOTAL" + } + ] + }, + "sellingParty": { + "partyId": "999US" + }, + "shipFromParty": { + "partyId": "ABCD" + }, + "shipToParty": { + "name": "ABCD", + "attention": "ABCD", + "addressLine1": "123 XYZ Street", + "addressLine2": "Apt 5", + "city": "San Jose", + "stateOrRegion": "CA", + "postalCode": "94086", + "countryCode": "USA" + }, + "billToParty": { + "partyId": "ABCD" + }, + "items": [ + { + "itemSequenceNumber": "00001", + "buyerProductIdentifier": "B07DFVDRAB", + "vendorProductIdentifier": "8806098286500", + "title": "LG 8 kg Inverter Wi-Fi Fully-Automatic Front Loading Washing Machine (FHT1408SWS, STS-VCM, Inbuilt Heater)", + "orderedQuantity": { + "amount": 1, + "unitOfMeasure": "EACH" + }, + "netPrice": { + "currencyCode": "USD", + "amount": "500" + }, + "taxDetails": { + "taxLineItem": [ + { + "taxRate": "0.1", + "taxAmount": { + "currencyCode": "USD", + "amount": "50" + }, + "type": "TOTAL" + } + ] + } + }, + { + "itemSequenceNumber": "00002", + "buyerProductIdentifier": "B07DFYF5AB", + "vendorProductIdentifier": "8806098286123", + "title": "LG 6.5 kg Inverter Fully-Automatic Front Loading Washing Machine (FHT1065SNW, Blue and White, Inbuilt Heater)", + "orderedQuantity": { + "amount": 2, + "unitOfMeasure": "EACH" + }, + "netPrice": { + "currencyCode": "USD", + "amount": "700" + }, + "taxDetails": { + "taxLineItem": [ + { + "taxRate": "0.1", + "taxAmount": { + "currencyCode": "USD", + "amount": "140" + }, + "type": "TOTAL" + } + ] + } + } + ] + } + }, + { + "purchaseOrderNumber": "3TRD2IABC", + "orderDetails": { + "customerOrderNumber": "456-ABC", + "orderDate": "2020-02-18T11:47:00Z", + "orderStatus": "NEW", + "shipmentDetails": { + "isPriorityShipment": false, + "isScheduledDeliveryShipment": false, + "isPslipRequired": true, + "isGift": false, + "shipMethod": "UPS_2ND", + "shipmentDates": { + "requiredShipDate": "2020-02-20T00:00:00Z", + "promisedDeliveryDate": "2020-02-22T00:00:00Z" + }, + "messageToCustomer": "This shipment completes your order. You can always check the status of your orders from the \"Your Account\" link at the top of each page of our site. Thank you for shopping at Amazon.com." + }, + "taxTotal": { + "taxLineItem": [ + { + "taxRate": "0.1", + "taxAmount": { + "currencyCode": "USD", + "amount": "2" + }, + "type": "TOTAL" + } + ] + }, + "sellingParty": { + "partyId": "999US" + }, + "shipFromParty": { + "partyId": "ABCD" + }, + "shipToParty": { + "name": "XYZ", + "attention": "XYZ", + "addressLine1": "456 ABC Street", + "city": "Seattle", + "stateOrRegion": "WA", + "postalCode": "98007", + "countryCode": "USA" + }, + "billToParty": { + "partyId": "ABCD" + }, + "items": [ + { + "itemSequenceNumber": "00001", + "buyerProductIdentifier": "B01LNRIIAB", + "vendorProductIdentifier": "8806098286501", + "title": "Baby Dove Baby Wipes Rich Moisture (50 Pieces)", + "orderedQuantity": { + "amount": 1, + "unitOfMeasure": "EACH" + }, + "netPrice": { + "currencyCode": "USD", + "amount": "20" + }, + "taxDetails": { + "taxLineItem": [ + { + "taxRate": "0.1", + "taxAmount": { + "currencyCode": "USD", + "amount": "2" + }, + "type": "TOTAL" + } + ] + } + } + ] + } + } + ] } } } @@ -134,7 +1201,7 @@ "400": { "description": "Request has missing or invalid parameters and cannot be parsed.", "schema": { - "$ref": "#/definitions/SubmitInventoryUpdateResponse" + "$ref": "#/definitions/GetOrdersResponse" }, "headers": { "x-amzn-RateLimit-Limit": { @@ -151,16 +1218,19 @@ { "request": { "parameters": { - "warehouseId": { - "value": "DUMMYCODE" + "createdBefore": { + "value": "2021-01-2100:00:00" + }, + "createdAfter": { + "value": "2021-02-20T14:00:00" } } }, "response": { "errors": [ { - "code": "InvalidInput", - "message": "Invalid transmission ID.", + "code": "InvalidRequest", + "message": "The request is invalid.", "details": "" } ] @@ -172,7 +1242,7 @@ "403": { "description": "Indicates that access to the resource is forbidden. Possible reasons include Access Denied, Unauthorized, Expired Token, or Invalid Signature.", "schema": { - "$ref": "#/definitions/SubmitInventoryUpdateResponse" + "$ref": "#/definitions/GetOrdersResponse" }, "headers": { "x-amzn-RequestId": { @@ -184,7 +1254,7 @@ "404": { "description": "The resource specified does not exist.", "schema": { - "$ref": "#/definitions/SubmitInventoryUpdateResponse" + "$ref": "#/definitions/GetOrdersResponse" }, "headers": { "x-amzn-RateLimit-Limit": { @@ -197,26 +1267,10 @@ } } }, - "413": { - "description": "The request size exceeded the maximum accepted size.", - "schema": { - "$ref": "#/definitions/SubmitInventoryUpdateResponse" - }, - "headers": { - "x-amzn-RateLimit-Limit": { - "type": "string", - "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." - }, - "x-amzn-RequestId": { - "type": "string", - "description": "Unique request reference identifier." - } - } - }, "415": { "description": "The request payload is in an unsupported format.", "schema": { - "$ref": "#/definitions/SubmitInventoryUpdateResponse" + "$ref": "#/definitions/GetOrdersResponse" }, "headers": { "x-amzn-RateLimit-Limit": { @@ -232,7 +1286,7 @@ "429": { "description": "The frequency of requests was greater than allowed.", "schema": { - "$ref": "#/definitions/SubmitInventoryUpdateResponse" + "$ref": "#/definitions/GetOrdersResponse" }, "headers": { "x-amzn-RateLimit-Limit": { @@ -248,7 +1302,7 @@ "500": { "description": "An unexpected condition occurred that prevented the server from fulfilling the request.", "schema": { - "$ref": "#/definitions/SubmitInventoryUpdateResponse" + "$ref": "#/definitions/GetOrdersResponse" }, "headers": { "x-amzn-RateLimit-Limit": { @@ -264,7 +1318,7 @@ "503": { "description": "Temporary overloading or maintenance of the server.", "schema": { - "$ref": "#/definitions/SubmitInventoryUpdateResponse" + "$ref": "#/definitions/GetOrdersResponse" }, "headers": { "x-amzn-RateLimit-Limit": { @@ -278,119 +1332,1144 @@ } } } - }, - "parameters": [] - } - }, - "definitions": { - "SubmitInventoryUpdateRequest": { - "type": "object", - "properties": { - "inventory": { - "description": "Inventory details required to update some or all items for the requested warehouse.", - "$ref": "#/definitions/InventoryUpdate" - } - }, - "description": "The request body for the submitInventoryUpdate operation." + } }, - "InventoryUpdate": { - "type": "object", - "required": [ - "isFullUpdate", - "items", - "sellingParty" + "/vendor/directFulfillment/orders/v1/purchaseOrders/{purchaseOrderNumber}": { + "get": { + "tags": [ + "vendorOrders" + ], + "description": "Returns purchase order information for the purchaseOrderNumber that you specify.\n\n**Usage Plan:**\n\n| Rate (requests per second) | Burst |\n| ---- | ---- |\n| 10 | 10 |\n\nThe `x-amzn-RateLimit-Limit` response header returns the usage plan rate limits that were applied to the requested operation, when available. The table above indicates the default rate and burst values for this operation. Selling partners whose business demands require higher throughput may see higher rate and burst values than those shown here. For more information, see [Usage Plans and Rate Limits in the Selling Partner API](https://developer-docs.amazon.com/sp-api/docs/usage-plans-and-rate-limits-in-the-sp-api).", + "operationId": "getOrder", + "parameters": [ + { + "name": "purchaseOrderNumber", + "in": "path", + "description": "The order identifier for the purchase order that you want. Formatting Notes: alpha-numeric code.", + "required": true, + "type": "string" + } + ], + "responses": { + "200": { + "description": "Success.", + "schema": { + "$ref": "#/definitions/GetOrderResponse" + }, + "examples": { + "application/json": { + "payload": { + "purchaseOrderNumber": "2JK3S9VC", + "orderDetails": { + "customerOrderNumber": "123-ABC", + "orderDate": "2020-02-20T13:51:00Z", + "orderStatus": "NEW", + "shipmentDetails": { + "isPriorityShipment": false, + "isScheduledDeliveryShipment": false, + "isPslipRequired": true, + "isGift": false, + "shipMethod": "UPS_2ND", + "shipmentDates": { + "requiredShipDate": "2020-02-21T00:00:00Z", + "promisedDeliveryDate": "2020-02-24T00:00:00Z" + }, + "messageToCustomer": "This shipment completes your order. You can always check the status of your orders from the \"Your Account\" link at the top of each page of our site.Thank you for shopping at Amazon.com" + }, + "taxTotal": { + "taxLineItem": [ + { + "taxAmount": { + "currencyCode": "USD", + "amount": "190" + }, + "type": "TOTAL" + } + ] + }, + "sellingParty": { + "partyId": "999US" + }, + "shipFromParty": { + "partyId": "ABCD" + }, + "shipToParty": { + "name": "ABCD", + "attention": "ABCD", + "addressLine1": "123 XYZ Street", + "addressLine2": "Apt 5", + "city": "San Jose", + "stateOrRegion": "CA", + "postalCode": "94086", + "countryCode": "USA" + }, + "billToParty": { + "partyId": "ABCD" + }, + "items": [ + { + "itemSequenceNumber": "00001", + "buyerProductIdentifier": "B07DFVDRAB", + "vendorProductIdentifier": "8806098286500", + "title": "LG 8 kg Inverter Wi-Fi Fully-Automatic Front Loading Washing Machine (FHT1408SWS, STS-VCM, Inbuilt Heater)", + "orderedQuantity": { + "amount": 1, + "unitOfMeasure": "EACH" + }, + "netPrice": { + "currencyCode": "USD", + "amount": "500" + }, + "taxDetails": { + "taxLineItem": [ + { + "taxRate": "0.1", + "taxAmount": { + "currencyCode": "USD", + "amount": "50" + }, + "type": "TOTAL" + } + ] + } + }, + { + "itemSequenceNumber": "00002", + "buyerProductIdentifier": "B07DFYF5AB", + "vendorProductIdentifier": "8806098286123", + "title": "LG 6.5 kg Inverter Fully-Automatic Front Loading Washing Machine (FHT1065SNW, Blue and White, Inbuilt Heater)", + "orderedQuantity": { + "amount": 2, + "unitOfMeasure": "EACH" + }, + "netPrice": { + "currencyCode": "USD", + "amount": "700" + }, + "taxDetails": { + "taxLineItem": [ + { + "taxRate": "0.1", + "taxAmount": { + "currencyCode": "USD", + "amount": "140" + }, + "type": "TOTAL" + } + ] + } + } + ] + } + } + } + }, + "headers": { + "x-amzn-RateLimit-Limit": { + "type": "string", + "description": "Your rate limit (requests per second) for this operation." + }, + "x-amzn-RequestId": { + "type": "string", + "description": "Unique request reference identifier." + } + }, + "x-amzn-api-sandbox": { + "static": [ + { + "request": { + "parameters": { + "purchaseOrderNumber": { + "value": "2JK3S9VC" + } + } + }, + "response": { + "payload": { + "purchaseOrderNumber": "2JK3S9VC", + "orderDetails": { + "customerOrderNumber": "123-ABC", + "orderDate": "2020-02-20T13:51:00Z", + "orderStatus": "NEW", + "shipmentDetails": { + "isPriorityShipment": false, + "isScheduledDeliveryShipment": false, + "isPslipRequired": true, + "isGift": false, + "shipMethod": "UPS_2ND", + "shipmentDates": { + "requiredShipDate": "2020-02-21T00:00:00Z", + "promisedDeliveryDate": "2020-02-24T00:00:00Z" + }, + "messageToCustomer": "This shipment completes your order. You can always check the status of your orders from the \"Your Account\" link at the top of each page of our site.Thank you for shopping at Amazon.com" + }, + "taxTotal": { + "taxLineItem": [ + { + "taxRate": "0.1", + "taxAmount": { + "currencyCode": "USD", + "amount": "190" + }, + "type": "TOTAL" + } + ] + }, + "sellingParty": { + "partyId": "999US" + }, + "shipFromParty": { + "partyId": "ABCD" + }, + "shipToParty": { + "name": "ABCD", + "attention": "ABCD", + "addressLine1": "123 XYZ Street", + "addressLine2": "Apt 5", + "city": "San Jose", + "stateOrRegion": "CA", + "postalCode": "94086", + "countryCode": "USA" + }, + "billToParty": { + "partyId": "ABCD" + }, + "items": [ + { + "itemSequenceNumber": "00001", + "buyerProductIdentifier": "B07DFVDRAB", + "vendorProductIdentifier": "8806098286500", + "title": "LG 8 kg Inverter Wi-Fi Fully-Automatic Front Loading Washing Machine (FHT1408SWS, STS-VCM, Inbuilt Heater)", + "orderedQuantity": { + "amount": 1, + "unitOfMeasure": "EACH" + }, + "netPrice": { + "currencyCode": "USD", + "amount": "500" + }, + "taxDetails": { + "taxLineItem": [ + { + "taxRate": "0.1", + "taxAmount": { + "currencyCode": "USD", + "amount": "50" + }, + "type": "TOTAL" + } + ] + } + }, + { + "itemSequenceNumber": "00002", + "buyerProductIdentifier": "B07DFYF5AB", + "vendorProductIdentifier": "8806098286123", + "title": "LG 6.5 kg Inverter Fully-Automatic Front Loading Washing Machine (FHT1065SNW, Blue and White, Inbuilt Heater)", + "orderedQuantity": { + "amount": 2, + "unitOfMeasure": "EACH" + }, + "netPrice": { + "currencyCode": "USD", + "amount": "700" + }, + "taxDetails": { + "taxLineItem": [ + { + "taxRate": "0.1", + "taxAmount": { + "currencyCode": "USD", + "amount": "140" + }, + "type": "TOTAL" + } + ] + } + } + ] + } + } + } + }, + { + "request": { + "parameters": {} + }, + "response": { + "payload": { + "purchaseOrderNumber": "2JK3S9VCD", + "orderDetails": { + "customerOrderNumber": "123-ABC", + "orderDate": "2020-02-20T13:51:00Z", + "orderStatus": "NEW", + "shipmentDetails": { + "isPriorityShipment": false, + "isScheduledDeliveryShipment": false, + "isPslipRequired": true, + "isGift": false, + "shipMethod": "UPS_2ND", + "shipmentDates": { + "requiredShipDate": "2020-02-21T00:00:00Z", + "promisedDeliveryDate": "2020-02-24T00:00:00Z" + }, + "messageToCustomer": "This shipment completes your order. You can always check the status of your orders from the \"Your Account\" link at the top of each page of our site. Thank you for shopping at Amazon.com." + }, + "taxTotal": { + "taxLineItem": [ + { + "taxAmount": { + "currencyCode": "USD", + "amount": "190" + }, + "type": "TOTAL" + } + ] + }, + "sellingParty": { + "partyId": "999US" + }, + "shipFromParty": { + "partyId": "ABCD" + }, + "shipToParty": { + "name": "ABCD", + "attention": "ABCD", + "addressLine1": "123 XYZ Street", + "addressLine2": "Apt 5", + "city": "San Jose", + "stateOrRegion": "CA", + "postalCode": "94086", + "countryCode": "USA" + }, + "billToParty": { + "partyId": "ABCD" + }, + "items": [ + { + "itemSequenceNumber": "00001", + "buyerProductIdentifier": "B07DFVDRAB", + "vendorProductIdentifier": "8806098286500", + "title": "LG 8 kg Inverter Wi-Fi Fully-Automatic Front Loading Washing Machine (FHT1408SWS, STS-VCM, Inbuilt Heater)", + "orderedQuantity": { + "amount": 1, + "unitOfMeasure": "EACH" + }, + "netPrice": { + "currencyCode": "USD", + "amount": "500" + }, + "taxDetails": { + "taxLineItem": [ + { + "taxRate": "0.1", + "taxAmount": { + "currencyCode": "USD", + "amount": "50" + }, + "type": "TOTAL" + } + ] + } + }, + { + "itemSequenceNumber": "00002", + "buyerProductIdentifier": "B07DFYF5AB", + "vendorProductIdentifier": "8806098286123", + "title": "LG 6.5 kg Inverter Fully-Automatic Front Loading Washing Machine (FHT1065SNW, Blue and White, Inbuilt Heater)", + "orderedQuantity": { + "amount": 2, + "unitOfMeasure": "EACH" + }, + "netPrice": { + "currencyCode": "USD", + "amount": "700" + }, + "taxDetails": { + "taxLineItem": [ + { + "taxRate": "0.1", + "taxAmount": { + "currencyCode": "USD", + "amount": "140" + }, + "type": "TOTAL" + } + ] + } + } + ] + } + } + } + } + ] + } + }, + "400": { + "description": "Request has missing or invalid parameters and cannot be parsed.", + "schema": { + "$ref": "#/definitions/GetOrderResponse" + }, + "headers": { + "x-amzn-RateLimit-Limit": { + "type": "string", + "description": "Your rate limit (requests per second) for this operation." + }, + "x-amzn-RequestId": { + "type": "string", + "description": "Unique request reference identifier." + } + }, + "x-amzn-api-sandbox": { + "static": [ + { + "request": { + "parameters": { + "purchaseOrderNumber": { + "value": "null" + } + } + }, + "response": { + "errors": [ + { + "code": "InvalidRequest", + "message": "Request is missing or has invalid parameters", + "details": "purchaseOrderNumber cannot be null" + } + ] + } + } + ] + } + }, + "401": { + "description": "The request's Authorization header is not formatted correctly or does not contain a valid token.", + "schema": { + "$ref": "#/definitions/GetOrderResponse" + }, + "headers": { + "x-amzn-RateLimit-Limit": { + "type": "string", + "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." + }, + "x-amzn-RequestId": { + "type": "string", + "description": "Unique request reference identifier." + } + } + }, + "403": { + "description": "Indicates that access to the resource is forbidden. Possible reasons include Access Denied, Unauthorized, Expired Token, or Invalid Signature.", + "schema": { + "$ref": "#/definitions/GetOrderResponse" + }, + "headers": { + "x-amzn-RequestId": { + "type": "string", + "description": "Unique request reference identifier." + } + } + }, + "404": { + "description": "The resource specified does not exist.", + "schema": { + "$ref": "#/definitions/GetOrderResponse" + }, + "headers": { + "x-amzn-RateLimit-Limit": { + "type": "string", + "description": "Your rate limit (requests per second) for this operation." + }, + "x-amzn-RequestId": { + "type": "string", + "description": "Unique request reference identifier." + } + } + }, + "415": { + "description": "The request payload is in an unsupported format.", + "schema": { + "$ref": "#/definitions/GetOrderResponse" + }, + "headers": { + "x-amzn-RateLimit-Limit": { + "type": "string", + "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." + }, + "x-amzn-RequestId": { + "type": "string", + "description": "Unique request reference identifier." + } + } + }, + "429": { + "description": "The frequency of requests was greater than allowed.", + "schema": { + "$ref": "#/definitions/GetOrderResponse" + }, + "headers": { + "x-amzn-RateLimit-Limit": { + "type": "string", + "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." + }, + "x-amzn-RequestId": { + "type": "string", + "description": "Unique request reference identifier." + } + } + }, + "500": { + "description": "An unexpected condition occurred that prevented the server from fulfilling the request.", + "schema": { + "$ref": "#/definitions/GetOrderResponse" + }, + "headers": { + "x-amzn-RateLimit-Limit": { + "type": "string", + "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." + }, + "x-amzn-RequestId": { + "type": "string", + "description": "Unique request reference identifier." + } + } + }, + "503": { + "description": "Temporary overloading or maintenance of the server.", + "schema": { + "$ref": "#/definitions/GetOrderResponse" + }, + "headers": { + "x-amzn-RateLimit-Limit": { + "type": "string", + "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." + }, + "x-amzn-RequestId": { + "type": "string", + "description": "Unique request reference identifier." + } + } + } + } + } + }, + "/vendor/directFulfillment/orders/v1/acknowledgements": { + "post": { + "tags": [ + "vendorOrders" + ], + "description": "Submits acknowledgements for one or more purchase orders.\n\n**Usage Plan:**\n\n| Rate (requests per second) | Burst |\n| ---- | ---- |\n| 10 | 10 |\n\nThe `x-amzn-RateLimit-Limit` response header returns the usage plan rate limits that were applied to the requested operation, when available. The table above indicates the default rate and burst values for this operation. Selling partners whose business demands require higher throughput may see higher rate and burst values than those shown here. For more information, see [Usage Plans and Rate Limits in the Selling Partner API](https://developer-docs.amazon.com/sp-api/docs/usage-plans-and-rate-limits-in-the-sp-api).", + "operationId": "submitAcknowledgement", + "parameters": [ + { + "in": "body", + "name": "body", + "required": true, + "schema": { + "$ref": "#/definitions/SubmitAcknowledgementRequest" + } + } + ], + "responses": { + "202": { + "description": "Success.", + "schema": { + "$ref": "#/definitions/SubmitAcknowledgementResponse" + }, + "headers": { + "x-amzn-RateLimit-Limit": { + "type": "string", + "description": "Your rate limit (requests per second) for this operation." + }, + "x-amzn-RequestId": { + "type": "string", + "description": "Unique request reference identifier." + } + }, + "x-amzn-api-sandbox": { + "static": [ + { + "request": { + "parameters": { + "body": { + "value": { + "orderAcknowledgements": [ + { + "purchaseOrderNumber": "2JK3S9VC", + "vendorOrderNumber": "ABC", + "acknowledgementDate": "2020-02-20T19:17:34.304Z", + "acknowledgementStatus": { + "code": "00", + "description": "Shipping 100 percent of ordered product" + }, + "sellingParty": { + "partyId": "999US" + }, + "shipFromParty": { + "partyId": "ABCD" + }, + "itemAcknowledgements": [ + { + "itemSequenceNumber": "00001", + "buyerProductIdentifier": "B07DFVDRAB", + "vendorProductIdentifier": "8806098286500", + "acknowledgedQuantity": { + "amount": 1, + "unitOfMeasure": "Each" + } + } + ] + } + ] + } + } + } + }, + "response": { + "payload": { + "transactionId": "20190827182357-8725bde9-c61c-49f9-86ac-46efd82d4da5" + } + } + }, + { + "request": { + "parameters": { + "body": {} + } + }, + "response": { + "payload": { + "transactionId": "mock-TransactionId-20190827182357-8725bde9-c61c-49f9-86ac-46efd82d4da5" + } + } + } + ] + } + }, + "400": { + "description": "Request has missing or invalid parameters and cannot be parsed.", + "schema": { + "$ref": "#/definitions/SubmitAcknowledgementResponse" + }, + "headers": { + "x-amzn-RateLimit-Limit": { + "type": "string", + "description": "Your rate limit (requests per second) for this operation." + }, + "x-amzn-RequestId": { + "type": "string", + "description": "Unique request reference identifier." + } + }, + "x-amzn-api-sandbox": { + "static": [ + { + "request": { + "parameters": { + "body": { + "value": { + "orderAcknowledgements": [ + { + "purchaseOrderNumber": "TestOrder400", + "sellingParty": {} + } + ] + } + } + } + }, + "response": { + "errors": [ + { + "code": "InvalidInput", + "message": "The content of element 'sellingParty' is not complete. One of '{partyId, address, taxInfo}' is expected.", + "details": "" + } + ] + } + } + ] + } + }, + "403": { + "description": "Indicates that access to the resource is forbidden. Possible reasons include Access Denied, Unauthorized, Expired Token, or Invalid Signature.", + "schema": { + "$ref": "#/definitions/SubmitAcknowledgementResponse" + }, + "headers": { + "x-amzn-RequestId": { + "type": "string", + "description": "Unique request reference identifier." + } + } + }, + "404": { + "description": "The resource specified does not exist.", + "schema": { + "$ref": "#/definitions/SubmitAcknowledgementResponse" + }, + "headers": { + "x-amzn-RateLimit-Limit": { + "type": "string", + "description": "Your rate limit (requests per second) for this operation." + }, + "x-amzn-RequestId": { + "type": "string", + "description": "Unique request reference identifier." + } + } + }, + "413": { + "description": "The request size exceeded the maximum accepted size.", + "schema": { + "$ref": "#/definitions/SubmitAcknowledgementResponse" + }, + "headers": { + "x-amzn-RateLimit-Limit": { + "type": "string", + "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." + }, + "x-amzn-RequestId": { + "type": "string", + "description": "Unique request reference identifier." + } + } + }, + "415": { + "description": "The request payload is in an unsupported format.", + "schema": { + "$ref": "#/definitions/SubmitAcknowledgementResponse" + }, + "headers": { + "x-amzn-RateLimit-Limit": { + "type": "string", + "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." + }, + "x-amzn-RequestId": { + "type": "string", + "description": "Unique request reference identifier." + } + } + }, + "429": { + "description": "The frequency of requests was greater than allowed.", + "schema": { + "$ref": "#/definitions/SubmitAcknowledgementResponse" + }, + "headers": { + "x-amzn-RateLimit-Limit": { + "type": "string", + "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." + }, + "x-amzn-RequestId": { + "type": "string", + "description": "Unique request reference identifier." + } + } + }, + "500": { + "description": "An unexpected condition occurred that prevented the server from fulfilling the request.", + "schema": { + "$ref": "#/definitions/SubmitAcknowledgementResponse" + }, + "headers": { + "x-amzn-RateLimit-Limit": { + "type": "string", + "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." + }, + "x-amzn-RequestId": { + "type": "string", + "description": "Unique request reference identifier." + } + } + }, + "503": { + "description": "Temporary overloading or maintenance of the server.", + "schema": { + "$ref": "#/definitions/SubmitAcknowledgementResponse" + }, + "headers": { + "x-amzn-RateLimit-Limit": { + "type": "string", + "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." + }, + "x-amzn-RequestId": { + "type": "string", + "description": "Unique request reference identifier." + } + } + } + } + } + } + }, + "definitions": { + "GetOrdersResponse": { + "type": "object", + "properties": { + "payload": { + "description": "A list of purchase orders.", + "$ref": "#/definitions/OrderList" + }, + "errors": { + "$ref": "#/definitions/ErrorList" + } + }, + "description": "The response schema for the getOrders operation." + }, + "GetOrderResponse": { + "type": "object", + "properties": { + "payload": { + "description": "The payload for the getOrder operation.", + "$ref": "#/definitions/Order" + }, + "errors": { + "$ref": "#/definitions/ErrorList" + } + }, + "description": "The response schema for the getOrder operation." + }, + "OrderList": { + "type": "object", + "properties": { + "pagination": { + "$ref": "#/definitions/Pagination" + }, + "orders": { + "type": "array", + "items": { + "$ref": "#/definitions/Order" + } + } + } + }, + "Pagination": { + "type": "object", + "properties": { + "nextToken": { + "type": "string", + "description": "A generated string used to pass information to your next request. If NextToken is returned, pass the value of NextToken to the next request. If NextToken is not returned, there are no more order items to return." + } + } + }, + "Order": { + "type": "object", + "required": [ + "purchaseOrderNumber" + ], + "properties": { + "purchaseOrderNumber": { + "type": "string", + "description": "The purchase order number for this order. Formatting Notes: alpha-numeric code." + }, + "orderDetails": { + "description": "Purchase order details.", + "$ref": "#/definitions/OrderDetails" + } + } + }, + "OrderDetails": { + "type": "object", + "required": [ + "billToParty", + "customerOrderNumber", + "items", + "orderDate", + "sellingParty", + "shipFromParty", + "shipToParty", + "shipmentDetails" ], "properties": { + "customerOrderNumber": { + "type": "string", + "description": "The customer order number." + }, + "orderDate": { + "type": "string", + "format": "date-time", + "description": "The date the order was placed. This field is expected to be in ISO-8601 date/time format, for example:2018-07-16T23:00:00Z/ 2018-07-16T23:00:00-05:00 /2018-07-16T23:00:00-08:00. If no time zone is specified, UTC should be assumed." + }, + "orderStatus": { + "type": "string", + "description": "Current status of the order.", + "enum": [ + "NEW", + "SHIPPED", + "ACCEPTED", + "CANCELLED" + ], + "x-docgen-enum-table-extension": [ + { + "value": "NEW", + "description": "Status for newly created orders." + }, + { + "value": "SHIPPED", + "description": "Status for orders that are already shipped." + }, + { + "value": "ACCEPTED", + "description": "Status for orders accepted by vendors." + }, + { + "value": "CANCELLED", + "description": "Status for cancelled orders." + } + ] + }, + "shipmentDetails": { + "$ref": "#/definitions/ShipmentDetails" + }, + "taxTotal": { + "type": "object", + "properties": { + "taxLineItem": { + "description": "Tax details.", + "$ref": "#/definitions/TaxLineItem" + } + } + }, "sellingParty": { - "description": "ID of the selling party or vendor.", + "description": "PartyID of vendor code.", "$ref": "#/definitions/PartyIdentification" }, - "isFullUpdate": { - "type": "boolean", - "description": "When true, this request contains a full feed. Otherwise, this request contains a partial feed. When sending a full feed, you must send information about all items in the warehouse. Any items not in the full feed are updated as not available. When sending a partial feed, only include the items that need an update to inventory. The status of other items will remain unchanged." + "shipFromParty": { + "description": "PartyID of vendor's warehouse.", + "$ref": "#/definitions/PartyIdentification" + }, + "shipToParty": { + "description": "Name/Address and tax details of the ship to party.", + "$ref": "#/definitions/Address" + }, + "billToParty": { + "description": "Name/Address and tax details of the bill to party.", + "$ref": "#/definitions/PartyIdentification" }, "items": { "type": "array", - "description": "A list of inventory items with updated details, including quantity available.", + "description": "A list of items in this purchase order.", "items": { - "$ref": "#/definitions/ItemDetails" + "$ref": "#/definitions/OrderItem" } } + }, + "description": "Details of an order." + }, + "PartyIdentification": { + "type": "object", + "required": [ + "partyId" + ], + "properties": { + "partyId": { + "type": "string", + "description": "Assigned identification for the party. For example, warehouse code or vendor code. Please refer to specific party for more details." + }, + "address": { + "description": "Address details of the party.", + "$ref": "#/definitions/Address" + }, + "taxInfo": { + "description": "Tax registration details of the entity.", + "$ref": "#/definitions/TaxRegistrationDetails" + } } }, - "ItemDetails": { + "TaxRegistrationDetails": { "type": "object", "required": [ - "availableQuantity" + "taxRegistrationNumber" ], "properties": { - "buyerProductIdentifier": { + "taxRegistrationType": { "type": "string", - "description": "The buyer selected product identification of the item. Either buyerProductIdentifier or vendorProductIdentifier should be submitted." + "description": "Tax registration type for the entity.", + "enum": [ + "VAT", + "GST" + ], + "x-docgen-enum-table-extension": [ + { + "value": "VAT", + "description": "Value-added tax." + }, + { + "value": "GST", + "description": "Goods and Services tax." + } + ] }, - "vendorProductIdentifier": { + "taxRegistrationNumber": { "type": "string", - "description": "The vendor selected product identification of the item. Either buyerProductIdentifier or vendorProductIdentifier should be submitted." + "description": "Tax registration number for the party. For example, VAT ID." }, - "availableQuantity": { - "description": "Total item quantity available in the warehouse.", - "$ref": "#/definitions/ItemQuantity" + "taxRegistrationAddress": { + "description": "Address associated with the tax registration number.", + "$ref": "#/definitions/Address" }, - "isObsolete": { - "type": "boolean", - "description": "When true, the item is permanently unavailable." + "taxRegistrationMessages": { + "type": "string", + "description": "Tax registration message that can be used for additional tax related details." } }, - "description": "Updated inventory details for an item." + "description": "Tax registration details of the entity." }, - "PartyIdentification": { + "Address": { "type": "object", "required": [ - "partyId" + "addressLine1", + "countryCode", + "name", + "stateOrRegion" ], "properties": { - "partyId": { + "name": { + "type": "string", + "description": "The name of the person, business or institution at that address. For Amazon label only vendors, this field will have the value `xxxxx` within the object `shipToParty`." + }, + "attention": { + "type": "string", + "description": "The attention name of the person at that address. For Amazon label only vendors, this field will have the value `xxxxx` within the object `shipToParty`." + }, + "addressLine1": { + "type": "string", + "description": "First line of the address. For Amazon label only vendors, this field will have the value `xxxxx` within the object `shipToParty`." + }, + "addressLine2": { + "type": "string", + "description": "Additional address information, if required. For Amazon label only vendors, this field will have the value `xxxxx` within the object `shipToParty`." + }, + "addressLine3": { + "type": "string", + "description": "Additional address information, if required. For Amazon label only vendors, this field will have the value `xxxxx` within the object `shipToParty`." + }, + "city": { + "type": "string", + "description": "The city where the person, business or institution is located. For Amazon label only vendors, this field will have the value `xxxxx` within the object `shipToParty`." + }, + "county": { + "type": "string", + "description": "The county where person, business or institution is located. For Amazon label only vendors, this field will have the value `xxxxx` within the object `shipToParty`." + }, + "district": { + "type": "string", + "description": "The district where person, business or institution is located. For Amazon label only vendors, this field will have the value `xxxxx` within the object `shipToParty`." + }, + "stateOrRegion": { + "type": "string", + "description": "The state or region where person, business or institution is located." + }, + "postalCode": { + "type": "string", + "description": "The postal code of that address. It conatins a series of letters or digits or both, sometimes including spaces or punctuation." + }, + "countryCode": { + "type": "string", + "description": "The two digit country code. In ISO 3166-1 alpha-2 format." + }, + "phone": { "type": "string", - "description": "Assigned identification for the party." + "description": "The phone number of the person, business or institution located at that address. For Amazon label only vendors, this field will have the value `xxxxx` within the object `shipToParty`." } - } + }, + "description": "Address of the party." }, - "ItemQuantity": { + "OrderItem": { "type": "object", "required": [ - "unitOfMeasure" + "itemSequenceNumber", + "netPrice", + "orderedQuantity" ], "properties": { - "amount": { - "type": "integer", - "description": "Quantity of units available for a specific item." + "itemSequenceNumber": { + "type": "string", + "description": "Numbering of the item on the purchase order. The first item will be 1, the second 2, and so on." }, - "unitOfMeasure": { + "buyerProductIdentifier": { + "type": "string", + "description": "Buyer's standard identification number (ASIN) of an item." + }, + "vendorProductIdentifier": { + "type": "string", + "description": "The vendor selected product identification of the item." + }, + "title": { + "type": "string", + "description": "Title for the item." + }, + "orderedQuantity": { + "description": "Item quantity ordered.", + "$ref": "#/definitions/ItemQuantity" + }, + "scheduledDeliveryShipment": { + "description": "Details for the scheduled delivery shipment.", + "$ref": "#/definitions/ScheduledDeliveryShipment" + }, + "giftDetails": { + "description": "Gift message and wrapId details.", + "$ref": "#/definitions/GiftDetails" + }, + "netPrice": { + "description": "Net price (before tax) to vendor with currency details.", + "$ref": "#/definitions/Money" + }, + "taxDetails": { + "type": "object", + "description": "Total tax details for the line item.", + "properties": { + "taxLineItem": { + "description": "Tax details.", + "$ref": "#/definitions/TaxLineItem" + } + } + }, + "totalPrice": { + "description": "The price to Amazon each (cost).", + "$ref": "#/definitions/Money" + } + } + }, + "Money": { + "type": "object", + "properties": { + "currencyCode": { "type": "string", - "description": "Unit of measure for the available quantity." + "description": "Three digit currency code in ISO 4217 format. String of length 3." + }, + "amount": { + "$ref": "#/definitions/Decimal" } }, - "description": "Details of item quantity." + "description": "An amount of money, including units in the form of currency." + }, + "Decimal": { + "type": "string", + "description": "A decimal number with no loss of precision. Useful when precision loss is unacceptable, as with currencies. Follows RFC7159 for number representation." }, - "SubmitInventoryUpdateResponse": { + "SubmitAcknowledgementResponse": { "type": "object", "properties": { "payload": { - "description": "The response payload for the submitInventoryUpdate operation.", - "$ref": "#/definitions/TransactionReference" + "description": "The payload for the submitAcknowledgement operation.", + "$ref": "#/definitions/TransactionId" }, "errors": { "$ref": "#/definitions/ErrorList" } }, - "description": "The response schema for the submitInventoryUpdate operation." + "description": "The response schema for the submitAcknowledgement operation." }, - "TransactionReference": { + "TransactionId": { "type": "object", "properties": { "transactionId": { "type": "string", - "description": "GUID to identify this transaction. This value can be used with the Transaction Status API to return the status of this transaction." + "description": "GUID assigned by Amazon to identify this transaction. This value can be used with the Transaction Status API to return the status of this transaction." } } }, @@ -401,6 +2480,195 @@ "$ref": "#/definitions/Error" } }, + "SubmitAcknowledgementRequest": { + "type": "object", + "properties": { + "orderAcknowledgements": { + "type": "array", + "description": "A list of one or more purchase orders.", + "items": { + "$ref": "#/definitions/OrderAcknowledgementItem" + } + } + }, + "description": "The request schema for the submitAcknowledgement operation." + }, + "OrderAcknowledgementItem": { + "type": "object", + "required": [ + "acknowledgementDate", + "acknowledgementStatus", + "itemAcknowledgements", + "purchaseOrderNumber", + "sellingParty", + "shipFromParty", + "vendorOrderNumber" + ], + "properties": { + "purchaseOrderNumber": { + "type": "string", + "description": "The purchase order number for this order. Formatting Notes: alpha-numeric code." + }, + "vendorOrderNumber": { + "type": "string", + "description": "The vendor's order number for this order." + }, + "acknowledgementDate": { + "type": "string", + "format": "date-time", + "description": "The date and time when the order is acknowledged, in ISO-8601 date/time format. For example: 2018-07-16T23:00:00Z / 2018-07-16T23:00:00-05:00 / 2018-07-16T23:00:00-08:00." + }, + "acknowledgementStatus": { + "description": "Status of acknowledgement.", + "$ref": "#/definitions/AcknowledgementStatus" + }, + "sellingParty": { + "description": "PartyID as vendor code.", + "$ref": "#/definitions/PartyIdentification" + }, + "shipFromParty": { + "description": "PartyID as the vendor's warehouseId.", + "$ref": "#/definitions/PartyIdentification" + }, + "itemAcknowledgements": { + "type": "array", + "description": "Item details including acknowledged quantity.", + "items": { + "$ref": "#/definitions/OrderItemAcknowledgement" + } + } + }, + "description": "Details of an individual order being acknowledged." + }, + "OrderItemAcknowledgement": { + "type": "object", + "required": [ + "acknowledgedQuantity", + "itemSequenceNumber" + ], + "properties": { + "itemSequenceNumber": { + "type": "string", + "description": "Line item sequence number for the item." + }, + "buyerProductIdentifier": { + "type": "string", + "description": "Buyer's standard identification number (ASIN) of an item." + }, + "vendorProductIdentifier": { + "type": "string", + "description": "The vendor selected product identification of the item. Should be the same as was provided in the purchase order." + }, + "acknowledgedQuantity": { + "description": "Details of quantity acknowledged with the above acknowledgement code.", + "$ref": "#/definitions/ItemQuantity" + } + } + }, + "ItemQuantity": { + "type": "object", + "properties": { + "amount": { + "type": "integer", + "description": "Acknowledged quantity. This value should not be zero." + }, + "unitOfMeasure": { + "type": "string", + "description": "Unit of measure for the acknowledged quantity.", + "enum": [ + "Each" + ], + "x-docgen-enum-table-extension": [ + { + "value": "Each", + "description": "Unit of measure to represent individual piece." + } + ] + } + }, + "description": "Details of quantity ordered." + }, + "TaxLineItem": { + "type": "array", + "description": "A list of tax line items.", + "items": { + "$ref": "#/definitions/TaxDetails" + } + }, + "TaxDetails": { + "type": "object", + "required": [ + "taxAmount" + ], + "properties": { + "taxRate": { + "$ref": "#/definitions/Decimal" + }, + "taxAmount": { + "$ref": "#/definitions/Money" + }, + "taxableAmount": { + "$ref": "#/definitions/Money" + }, + "type": { + "type": "string", + "description": "Tax type.", + "enum": [ + "CONSUMPTION", + "GST", + "MwSt.", + "PST", + "TOTAL", + "TVA", + "VAT" + ], + "x-docgen-enum-table-extension": [ + { + "value": "CONSUMPTION", + "description": "Tax levied on consumption spending on goods and services." + }, + { + "value": "GST", + "description": "Tax levied on most goods and services sold for domestic consumption." + }, + { + "value": "MwSt.", + "description": "Mehrwertsteuer, MwSt, is German for value-added tax." + }, + { + "value": "PST", + "description": "A provincial sales tax (PST) is imposed on consumers of goods and particular services in many Canadian provinces." + }, + { + "value": "TOTAL", + "description": "Combined total of all the applicable taxes." + }, + { + "value": "TVA", + "description": "Taxe sur la Valeur Ajoutée (TVA) is French for value-added tax." + }, + { + "value": "VAT", + "description": "Value-added tax." + } + ] + } + } + }, + "AcknowledgementStatus": { + "type": "object", + "properties": { + "code": { + "type": "string", + "description": "Acknowledgement code is a unique two digit value which indicates the status of the acknowledgement. For a list of acknowledgement codes that Amazon supports, see the Vendor Direct Fulfillment APIs Use Case Guide." + }, + "description": { + "type": "string", + "description": "Reason for the acknowledgement code." + } + }, + "description": "Status of acknowledgement." + }, "Error": { "type": "object", "required": [ @@ -422,6 +2690,99 @@ } }, "description": "Error response returned when the request is unsuccessful." + }, + "ShipmentDetails": { + "type": "object", + "required": [ + "isPriorityShipment", + "isPslipRequired", + "messageToCustomer", + "shipMethod", + "shipmentDates" + ], + "properties": { + "isPriorityShipment": { + "type": "boolean", + "description": "When true, this is a priority shipment." + }, + "isScheduledDeliveryShipment": { + "type": "boolean", + "description": "When true, this order is part of a scheduled delivery program." + }, + "isPslipRequired": { + "type": "boolean", + "description": "When true, a packing slip is required to be sent to the customer." + }, + "isGift": { + "type": "boolean", + "description": "When true, the order contain a gift. Include the gift message and gift wrap information." + }, + "shipMethod": { + "type": "string", + "description": "Ship method to be used for shipping the order. Amazon defines ship method codes indicating the shipping carrier and shipment service level. To see the full list of ship methods in use, including both the code and the friendly name, search the 'Help' section on Vendor Central for 'ship methods'." + }, + "shipmentDates": { + "$ref": "#/definitions/ShipmentDates" + }, + "messageToCustomer": { + "type": "string", + "description": "Message to customer for order status." + } + }, + "description": "Shipment details required for the shipment." + }, + "ShipmentDates": { + "type": "object", + "required": [ + "requiredShipDate" + ], + "properties": { + "requiredShipDate": { + "type": "string", + "format": "date-time", + "description": "Time by which the vendor is required to ship the order." + }, + "promisedDeliveryDate": { + "type": "string", + "format": "date-time", + "description": "Delivery date promised to the Amazon customer." + } + }, + "description": "Shipment dates." + }, + "ScheduledDeliveryShipment": { + "type": "object", + "properties": { + "scheduledDeliveryServiceType": { + "type": "string", + "description": "Scheduled delivery service type." + }, + "earliestNominatedDeliveryDate": { + "type": "string", + "format": "date-time", + "description": "Earliest nominated delivery date for the scheduled delivery." + }, + "latestNominatedDeliveryDate": { + "type": "string", + "format": "date-time", + "description": "Latest nominated delivery date for the scheduled delivery." + } + }, + "description": "Dates for the scheduled delivery shipments." + }, + "GiftDetails": { + "type": "object", + "properties": { + "giftMessage": { + "type": "string", + "description": "Gift message to be printed in shipment." + }, + "giftWrapId": { + "type": "string", + "description": "Gift wrap identifier for the gift wrapping, if any." + } + }, + "description": "Gift details for the item." } } -} +} \ No newline at end of file From 12d0dce60041294da87de2cb8b5542d66da0b30b Mon Sep 17 00:00:00 2001 From: Umeda Date: Tue, 20 Feb 2024 12:24:32 +0900 Subject: [PATCH 221/340] Add javascript SDK --- .../README.md | 121 + .../package-lock.json | 3870 +++++++++++++++++ .../package.json | 22 + .../src/generate-js-sdk.sh | 85 + .../src/helper/LwaAuthClient.mjs | 59 + .../src/js.config.json | 5 + .../templates/ApiClient.mustache | 769 ++++ .../swagger-codegen/templates/api.mustache | 101 + .../swagger-codegen/templates/index.mustache | 59 + .../swagger-codegen/templates/model.mustache | 18 + .../templates/package.mustache | 29 + .../templates/partial_model_generic.mustache | 155 + .../src/sample_node_app/index.mjs | 13 + 13 files changed, 5306 insertions(+) create mode 100644 clients/sellingpartner-api-aa-javascript/README.md create mode 100644 clients/sellingpartner-api-aa-javascript/package-lock.json create mode 100644 clients/sellingpartner-api-aa-javascript/package.json create mode 100755 clients/sellingpartner-api-aa-javascript/src/generate-js-sdk.sh create mode 100644 clients/sellingpartner-api-aa-javascript/src/helper/LwaAuthClient.mjs create mode 100644 clients/sellingpartner-api-aa-javascript/src/js.config.json create mode 100644 clients/sellingpartner-api-aa-javascript/src/resources/swagger-codegen/templates/ApiClient.mustache create mode 100644 clients/sellingpartner-api-aa-javascript/src/resources/swagger-codegen/templates/api.mustache create mode 100644 clients/sellingpartner-api-aa-javascript/src/resources/swagger-codegen/templates/index.mustache create mode 100644 clients/sellingpartner-api-aa-javascript/src/resources/swagger-codegen/templates/model.mustache create mode 100644 clients/sellingpartner-api-aa-javascript/src/resources/swagger-codegen/templates/package.mustache create mode 100644 clients/sellingpartner-api-aa-javascript/src/resources/swagger-codegen/templates/partial_model_generic.mustache create mode 100644 clients/sellingpartner-api-aa-javascript/src/sample_node_app/index.mjs diff --git a/clients/sellingpartner-api-aa-javascript/README.md b/clients/sellingpartner-api-aa-javascript/README.md new file mode 100644 index 000000000..70e3b3df8 --- /dev/null +++ b/clients/sellingpartner-api-aa-javascript/README.md @@ -0,0 +1,121 @@ +# Selling Partner API JavaScript client library for Node.js (v18 or later) + +## About this library +This library is to help SP-API developers to create an app in JavaScript on Node.js easier than calling HTTP endpoints directly. This library comes with the following features. +1. Login with Amazon (LWA) helper that does OAuth token refresh flow. +2. This library takes care of HTTP communication with SP-API endpoints with a help of [superagent](https://www.npmjs.com/package/superagent), so you can call SP-API by just calling a right method of library that corresponds to SP-API operation. +3. Calling SP-API requires non-standard `x-amz-access-token` HTTP request header in request. The SDK generated by this library supports to include this header with token value you specify. +4. SP-API operaitons to handle restricted data are categorized as ["Restricted Operations"](https://developer-docs.amazon.com/sp-api/lang-ja_JP/docs/tokens-api-use-case-guide#restricted-operations), which requires ["Restricted Data Token" (RDT)](https://developer-docs.amazon.com/sp-api/lang-ja_JP/docs/authorization-with-the-restricted-data-token) instead of access token for tighter security. Calling restricted operation involves two seprate steps, one of wihch is calling Tokens API to retrieve RDT and the other of which is calling protected operation with RDT. This library helps to compbine these two steps into single library call. + +## Installation and Generating SDK +Please note this library doesn't include SDK. You need to generate SDK with the template and script files included in this library. +### Prerequisites for SDK Generation +* Java version 7 or higher +* swagger-codegen-cli (swagger-codegen-cli-2.4.29) is recommended. + * Download swagger-codegen-cli JAR file and store it. You will need its path later when generating SDK. +* Node.js v18 or higher. + +__CAUTION__: Please be aware that there are two major known issues with the latest JavaScript client library. +1. If you use swagger-codegen-cli newer than 2.4.29 (such as 2.4.30 or 3.x), there is a known compatibility issue with SP-API models that makes generating SDK fail. We recommend that you use swagger-codegen-cli-2.4.29 specifically. +2. Swagger codegen tool fails to generate SDK for "Merchant Fulfillment V0 API." For workaround, you need to modify a part of the API model file "merchantFulfillmentV0.json" + +### Download swagger-codegen-cli JAR file +We use `swagger-codegen-cli` executable JAR file. You can download it by the following command. +```bash +$ wget https://repo1.maven.org/maven2/io/swagger/swagger-codegen-cli/2.4.29/swagger-codegen-cli-2.4.29.jar +``` +### Installing dependencies +Change the directory to `/src`. Run the following command to install dependencies in Node.js environment. +```bash +$ npm install +``` + +### Download API models and Generate SDK +Go to `/src` directory which is under the package root. In this directory you should be able to find `generate-js-sdk.sh` shell script file. +Run this script as the command line below. +```bash +$ ./generate-js-sdk.sh -j +``` + +You will find `models` directory and `sdk` directory under the package root.
+* `models`: directory contains API models cloned from SP-API GitHub. +* `sdk`: directory contains generated JavaScript SDK. + +### Modify Merchant Fulfillment API model file to avoid error during SDK generation +If you want to call Merchant Fulfillment API with the generated SDK, you need to follow this instruction. There is an fatal known issue in generating Merchant Fulfillment API library. If downloading API models is successful, you should be able to find `merchantFulfillmentV0.json` file In `/models/merchant-fulfillment-api-model` directory. Open this file with an editor and find the following part. +``` +"AvailableFormatOptionsForLabel": { + "$ref": "#/definitions/AvailableFormatOptionsForLabelList" +}, +``` +Since this part causes a fatal error in SDK generation for JavaScript, please replace this part with the following snipet. +``` +"AvailableFormatOptionsForLabel": { + "type": "array", + "description": "The available label formats.", + "items": { + "$ref": "#/definitions/LabelFormatOption" + } +}, +``` +After modification, please run the shell script (`generate-js-sdk.sh`) again but you should type 'n' to the prompt that asks whether to download models again. +```bash +$ ./generate-js-sdk.sh -j ~/devbin/swagger-codegen-cli-2.4.29.jar +Found /models already exists. Would you like to delete all the files under '/models' and clone again? [y/n]: n # answer 'n' otherwise modification will be overwritten. + +``` +With the correct modification in `merchantFulfillmentV0.json`, you should be able to find generated SDK for Merchant Fulfillment API. + +### How to run tests +This library contains a sample programs in `sample_node_app` directory under the packagte root.
In order to run the program, you need to have LWA credential information saved in the file and name it `app.config.mjs` and put it `/src` directory. Because __client secret__ and __refresh token__ shouldn't be exposed, you must make sure that you don't commit this file to the repository. +```javascript +export const AppConfig = { + lwaClientId: "< LWA client ID >", + lwaClientSecret: "< LWA client secret >", + lwaRefreshToken: "< LWA refresh token >", + endpoint: "https://sandbox.sellingpartnerapi-na.amazon.com", +} +``` +After you save `app.config.mjs` file, you can run the sample program`. +```bash +$ npm run test +``` +--- +## How to use SDK +### Calling SP-API operation with LWA credentials +```javascript +import { SellersApi, ApiClient as SellersApiClient } from '../../sdk/src/sellers/index.js'; + +const sellerApiClient = new SellersApiClient("https://sellingpartnerapi-na.amazon.com"); +const sellerApi = new SellersApi(sellerApiClient); +sellerApiClient.enableAutoRetrievalAccessToken("", "", ""); +const participations = await sellerApi.getMarketplaceParticipations(); +``` +### Calling RDT-required SP-API operation with LWA credentials +```javascript +import { OrdersV0Api, ApiClient as OrdersApiClient } from '../../sdk/src/ordersV0/index.js'; + +const ordersApiClient = new OrdersApiClient("https://sellingpartnerapi-fe.amazon.com"); +ordersApiClient.enableAutoRetrievalRestrictedDataToken("", + "", "", ["buyerInfo", "shippingAddress"]); +const ordersApi = new OrdersV0Api(ordersApiClient); +const order = await ordersApi.getOrder(""); +``` +### Calling SP-API with access token +In case you manage LWA token refresh flow, you can explicitly use the access token you got yourself for your SP-API call as follows. +```javascript +import { SellersApi, ApiClient as SellersApiClient } from '../../sdk/src/sellers/index.js'; + +const sellerApiClient = new SellersApiClient("https://sellingpartnerapi-fe.amazon.com"); +const sellerApi = new SellersApi(sellerApiClient); +sellerApiClient.applyXAmzAccessTokenToRequest(""); +const participations = await sellerApi.getMarketplaceParticipations(); +``` +### LWA Token refresh helper +The following code shows how to use `LwaAuthClient` to execute token refresh flow. +```javascript +import { LwaAuthClient } from ""; + +const lwaClient = new LwaAuthClient("", "", ""); +const accessToken = await lwaClient.getAccessToken(); +``` \ No newline at end of file diff --git a/clients/sellingpartner-api-aa-javascript/package-lock.json b/clients/sellingpartner-api-aa-javascript/package-lock.json new file mode 100644 index 000000000..5c817cd15 --- /dev/null +++ b/clients/sellingpartner-api-aa-javascript/package-lock.json @@ -0,0 +1,3870 @@ +{ + "name": "@amzn/testsellingpartnerjavascriptapilwalib", + "version": "1.0.0", + "lockfileVersion": 3, + "requires": true, + "packages": { + "": { + "name": "@amzn/testsellingpartnerjavascriptapilwalib", + "version": "1.0.0", + "license": "ISC", + "dependencies": { + "superagent": "^8.0.9" + }, + "devDependencies": { + "jest": "^29.6.2" + } + }, + "node_modules/@ampproject/remapping": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/@ampproject/remapping/-/remapping-2.2.1.tgz", + "integrity": "sha512-lFMjJTrFL3j7L9yBxwYfCq2k6qqwHyzuUl/XBnif78PWTJYyL/dfowQHWE3sp6U6ZzqWiiIZnpTMO96zhkjwtg==", + "dev": true, + "dependencies": { + "@jridgewell/gen-mapping": "^0.3.0", + "@jridgewell/trace-mapping": "^0.3.9" + }, + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/@babel/code-frame": { + "version": "7.22.13", + "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.22.13.tgz", + "integrity": "sha512-XktuhWlJ5g+3TJXc5upd9Ks1HutSArik6jf2eAjYFyIOf4ej3RN+184cZbzDvbPnuTJIUhPKKJE3cIsYTiAT3w==", + "dev": true, + "dependencies": { + "@babel/highlight": "^7.22.13", + "chalk": "^2.4.2" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/code-frame/node_modules/ansi-styles": { + "version": "3.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", + "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", + "dev": true, + "dependencies": { + "color-convert": "^1.9.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/@babel/code-frame/node_modules/chalk": { + "version": "2.4.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", + "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", + "dev": true, + "dependencies": { + "ansi-styles": "^3.2.1", + "escape-string-regexp": "^1.0.5", + "supports-color": "^5.3.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/@babel/code-frame/node_modules/color-convert": { + "version": "1.9.3", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz", + "integrity": "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==", + "dev": true, + "dependencies": { + "color-name": "1.1.3" + } + }, + "node_modules/@babel/code-frame/node_modules/color-name": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz", + "integrity": "sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw==", + "dev": true + }, + "node_modules/@babel/code-frame/node_modules/escape-string-regexp": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz", + "integrity": "sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg==", + "dev": true, + "engines": { + "node": ">=0.8.0" + } + }, + "node_modules/@babel/code-frame/node_modules/has-flag": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", + "integrity": "sha512-sKJf1+ceQBr4SMkvQnBDNDtf4TXpVhVGateu0t918bl30FnbE2m4vNLX+VWe/dpjlb+HugGYzW7uQXH98HPEYw==", + "dev": true, + "engines": { + "node": ">=4" + } + }, + "node_modules/@babel/code-frame/node_modules/supports-color": { + "version": "5.5.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", + "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", + "dev": true, + "dependencies": { + "has-flag": "^3.0.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/@babel/compat-data": { + "version": "7.22.20", + "resolved": "https://registry.npmjs.org/@babel/compat-data/-/compat-data-7.22.20.tgz", + "integrity": "sha512-BQYjKbpXjoXwFW5jGqiizJQQT/aC7pFm9Ok1OWssonuguICi264lbgMzRp2ZMmRSlfkX6DsWDDcsrctK8Rwfiw==", + "dev": true, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/core": { + "version": "7.23.0", + "resolved": "https://registry.npmjs.org/@babel/core/-/core-7.23.0.tgz", + "integrity": "sha512-97z/ju/Jy1rZmDxybphrBuI+jtJjFVoz7Mr9yUQVVVi+DNZE333uFQeMOqcCIy1x3WYBIbWftUSLmbNXNT7qFQ==", + "dev": true, + "dependencies": { + "@ampproject/remapping": "^2.2.0", + "@babel/code-frame": "^7.22.13", + "@babel/generator": "^7.23.0", + "@babel/helper-compilation-targets": "^7.22.15", + "@babel/helper-module-transforms": "^7.23.0", + "@babel/helpers": "^7.23.0", + "@babel/parser": "^7.23.0", + "@babel/template": "^7.22.15", + "@babel/traverse": "^7.23.0", + "@babel/types": "^7.23.0", + "convert-source-map": "^2.0.0", + "debug": "^4.1.0", + "gensync": "^1.0.0-beta.2", + "json5": "^2.2.3", + "semver": "^6.3.1" + }, + "engines": { + "node": ">=6.9.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/babel" + } + }, + "node_modules/@babel/generator": { + "version": "7.23.0", + "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.23.0.tgz", + "integrity": "sha512-lN85QRR+5IbYrMWM6Y4pE/noaQtg4pNiqeNGX60eqOfo6gtEj6uw/JagelB8vVztSd7R6M5n1+PQkDbHbBRU4g==", + "dev": true, + "dependencies": { + "@babel/types": "^7.23.0", + "@jridgewell/gen-mapping": "^0.3.2", + "@jridgewell/trace-mapping": "^0.3.17", + "jsesc": "^2.5.1" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-compilation-targets": { + "version": "7.22.15", + "resolved": "https://registry.npmjs.org/@babel/helper-compilation-targets/-/helper-compilation-targets-7.22.15.tgz", + "integrity": "sha512-y6EEzULok0Qvz8yyLkCvVX+02ic+By2UdOhylwUOvOn9dvYc9mKICJuuU1n1XBI02YWsNsnrY1kc6DVbjcXbtw==", + "dev": true, + "dependencies": { + "@babel/compat-data": "^7.22.9", + "@babel/helper-validator-option": "^7.22.15", + "browserslist": "^4.21.9", + "lru-cache": "^5.1.1", + "semver": "^6.3.1" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-environment-visitor": { + "version": "7.22.20", + "resolved": "https://registry.npmjs.org/@babel/helper-environment-visitor/-/helper-environment-visitor-7.22.20.tgz", + "integrity": "sha512-zfedSIzFhat/gFhWfHtgWvlec0nqB9YEIVrpuwjruLlXfUSnA8cJB0miHKwqDnQ7d32aKo2xt88/xZptwxbfhA==", + "dev": true, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-function-name": { + "version": "7.23.0", + "resolved": "https://registry.npmjs.org/@babel/helper-function-name/-/helper-function-name-7.23.0.tgz", + "integrity": "sha512-OErEqsrxjZTJciZ4Oo+eoZqeW9UIiOcuYKRJA4ZAgV9myA+pOXhhmpfNCKjEH/auVfEYVFJ6y1Tc4r0eIApqiw==", + "dev": true, + "dependencies": { + "@babel/template": "^7.22.15", + "@babel/types": "^7.23.0" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-hoist-variables": { + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/helper-hoist-variables/-/helper-hoist-variables-7.22.5.tgz", + "integrity": "sha512-wGjk9QZVzvknA6yKIUURb8zY3grXCcOZt+/7Wcy8O2uctxhplmUPkOdlgoNhmdVee2c92JXbf1xpMtVNbfoxRw==", + "dev": true, + "dependencies": { + "@babel/types": "^7.22.5" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-module-imports": { + "version": "7.22.15", + "resolved": "https://registry.npmjs.org/@babel/helper-module-imports/-/helper-module-imports-7.22.15.tgz", + "integrity": "sha512-0pYVBnDKZO2fnSPCrgM/6WMc7eS20Fbok+0r88fp+YtWVLZrp4CkafFGIp+W0VKw4a22sgebPT99y+FDNMdP4w==", + "dev": true, + "dependencies": { + "@babel/types": "^7.22.15" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-module-transforms": { + "version": "7.23.0", + "resolved": "https://registry.npmjs.org/@babel/helper-module-transforms/-/helper-module-transforms-7.23.0.tgz", + "integrity": "sha512-WhDWw1tdrlT0gMgUJSlX0IQvoO1eN279zrAUbVB+KpV2c3Tylz8+GnKOLllCS6Z/iZQEyVYxhZVUdPTqs2YYPw==", + "dev": true, + "dependencies": { + "@babel/helper-environment-visitor": "^7.22.20", + "@babel/helper-module-imports": "^7.22.15", + "@babel/helper-simple-access": "^7.22.5", + "@babel/helper-split-export-declaration": "^7.22.6", + "@babel/helper-validator-identifier": "^7.22.20" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0" + } + }, + "node_modules/@babel/helper-plugin-utils": { + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.22.5.tgz", + "integrity": "sha512-uLls06UVKgFG9QD4OeFYLEGteMIAa5kpTPcFL28yuCIIzsf6ZyKZMllKVOCZFhiZ5ptnwX4mtKdWCBE/uT4amg==", + "dev": true, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-simple-access": { + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/helper-simple-access/-/helper-simple-access-7.22.5.tgz", + "integrity": "sha512-n0H99E/K+Bika3++WNL17POvo4rKWZ7lZEp1Q+fStVbUi8nxPQEBOlTmCOxW/0JsS56SKKQ+ojAe2pHKJHN35w==", + "dev": true, + "dependencies": { + "@babel/types": "^7.22.5" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-split-export-declaration": { + "version": "7.22.6", + "resolved": "https://registry.npmjs.org/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.22.6.tgz", + "integrity": "sha512-AsUnxuLhRYsisFiaJwvp1QF+I3KjD5FOxut14q/GzovUe6orHLesW2C7d754kRm53h5gqrz6sFl6sxc4BVtE/g==", + "dev": true, + "dependencies": { + "@babel/types": "^7.22.5" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-string-parser": { + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/helper-string-parser/-/helper-string-parser-7.22.5.tgz", + "integrity": "sha512-mM4COjgZox8U+JcXQwPijIZLElkgEpO5rsERVDJTc2qfCDfERyob6k5WegS14SX18IIjv+XD+GrqNumY5JRCDw==", + "dev": true, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-validator-identifier": { + "version": "7.22.20", + "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.22.20.tgz", + "integrity": "sha512-Y4OZ+ytlatR8AI+8KZfKuL5urKp7qey08ha31L8b3BwewJAoJamTzyvxPR/5D+KkdJCGPq/+8TukHBlY10FX9A==", + "dev": true, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-validator-option": { + "version": "7.22.15", + "resolved": "https://registry.npmjs.org/@babel/helper-validator-option/-/helper-validator-option-7.22.15.tgz", + "integrity": "sha512-bMn7RmyFjY/mdECUbgn9eoSY4vqvacUnS9i9vGAGttgFWesO6B4CYWA7XlpbWgBt71iv/hfbPlynohStqnu5hA==", + "dev": true, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helpers": { + "version": "7.23.1", + "resolved": "https://registry.npmjs.org/@babel/helpers/-/helpers-7.23.1.tgz", + "integrity": "sha512-chNpneuK18yW5Oxsr+t553UZzzAs3aZnFm4bxhebsNTeshrC95yA7l5yl7GBAG+JG1rF0F7zzD2EixK9mWSDoA==", + "dev": true, + "dependencies": { + "@babel/template": "^7.22.15", + "@babel/traverse": "^7.23.0", + "@babel/types": "^7.23.0" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/highlight": { + "version": "7.22.20", + "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.22.20.tgz", + "integrity": "sha512-dkdMCN3py0+ksCgYmGG8jKeGA/8Tk+gJwSYYlFGxG5lmhfKNoAy004YpLxpS1W2J8m/EK2Ew+yOs9pVRwO89mg==", + "dev": true, + "dependencies": { + "@babel/helper-validator-identifier": "^7.22.20", + "chalk": "^2.4.2", + "js-tokens": "^4.0.0" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/highlight/node_modules/ansi-styles": { + "version": "3.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", + "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", + "dev": true, + "dependencies": { + "color-convert": "^1.9.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/@babel/highlight/node_modules/chalk": { + "version": "2.4.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", + "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", + "dev": true, + "dependencies": { + "ansi-styles": "^3.2.1", + "escape-string-regexp": "^1.0.5", + "supports-color": "^5.3.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/@babel/highlight/node_modules/color-convert": { + "version": "1.9.3", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz", + "integrity": "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==", + "dev": true, + "dependencies": { + "color-name": "1.1.3" + } + }, + "node_modules/@babel/highlight/node_modules/color-name": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz", + "integrity": "sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw==", + "dev": true + }, + "node_modules/@babel/highlight/node_modules/escape-string-regexp": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz", + "integrity": "sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg==", + "dev": true, + "engines": { + "node": ">=0.8.0" + } + }, + "node_modules/@babel/highlight/node_modules/has-flag": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", + "integrity": "sha512-sKJf1+ceQBr4SMkvQnBDNDtf4TXpVhVGateu0t918bl30FnbE2m4vNLX+VWe/dpjlb+HugGYzW7uQXH98HPEYw==", + "dev": true, + "engines": { + "node": ">=4" + } + }, + "node_modules/@babel/highlight/node_modules/supports-color": { + "version": "5.5.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", + "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", + "dev": true, + "dependencies": { + "has-flag": "^3.0.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/@babel/parser": { + "version": "7.23.0", + "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.23.0.tgz", + "integrity": "sha512-vvPKKdMemU85V9WE/l5wZEmImpCtLqbnTvqDS2U1fJ96KrxoW7KrXhNsNCblQlg8Ck4b85yxdTyelsMUgFUXiw==", + "dev": true, + "bin": { + "parser": "bin/babel-parser.js" + }, + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/@babel/plugin-syntax-async-generators": { + "version": "7.8.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-async-generators/-/plugin-syntax-async-generators-7.8.4.tgz", + "integrity": "sha512-tycmZxkGfZaxhMRbXlPXuVFpdWlXpir2W4AMhSJgRKzk/eDlIXOhb2LHWoLpDF7TEHylV5zNhykX6KAgHJmTNw==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.8.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-syntax-bigint": { + "version": "7.8.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-bigint/-/plugin-syntax-bigint-7.8.3.tgz", + "integrity": "sha512-wnTnFlG+YxQm3vDxpGE57Pj0srRU4sHE/mDkt1qv2YJJSeUAec2ma4WLUnUPeKjyrfntVwe/N6dCXpU+zL3Npg==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.8.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-syntax-class-properties": { + "version": "7.12.13", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-class-properties/-/plugin-syntax-class-properties-7.12.13.tgz", + "integrity": "sha512-fm4idjKla0YahUNgFNLCB0qySdsoPiZP3iQE3rky0mBUtMZ23yDJ9SJdg6dXTSDnulOVqiF3Hgr9nbXvXTQZYA==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.12.13" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-syntax-import-meta": { + "version": "7.10.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-import-meta/-/plugin-syntax-import-meta-7.10.4.tgz", + "integrity": "sha512-Yqfm+XDx0+Prh3VSeEQCPU81yC+JWZ2pDPFSS4ZdpfZhp4MkFMaDC1UqseovEKwSUpnIL7+vK+Clp7bfh0iD7g==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.10.4" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-syntax-json-strings": { + "version": "7.8.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-json-strings/-/plugin-syntax-json-strings-7.8.3.tgz", + "integrity": "sha512-lY6kdGpWHvjoe2vk4WrAapEuBR69EMxZl+RoGRhrFGNYVK8mOPAW8VfbT/ZgrFbXlDNiiaxQnAtgVCZ6jv30EA==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.8.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-syntax-jsx": { + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-jsx/-/plugin-syntax-jsx-7.22.5.tgz", + "integrity": "sha512-gvyP4hZrgrs/wWMaocvxZ44Hw0b3W8Pe+cMxc8V1ULQ07oh8VNbIRaoD1LRZVTvD+0nieDKjfgKg89sD7rrKrg==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.22.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-syntax-logical-assignment-operators": { + "version": "7.10.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-logical-assignment-operators/-/plugin-syntax-logical-assignment-operators-7.10.4.tgz", + "integrity": "sha512-d8waShlpFDinQ5MtvGU9xDAOzKH47+FFoney2baFIoMr952hKOLp1HR7VszoZvOsV/4+RRszNY7D17ba0te0ig==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.10.4" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-syntax-nullish-coalescing-operator": { + "version": "7.8.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-nullish-coalescing-operator/-/plugin-syntax-nullish-coalescing-operator-7.8.3.tgz", + "integrity": "sha512-aSff4zPII1u2QD7y+F8oDsz19ew4IGEJg9SVW+bqwpwtfFleiQDMdzA/R+UlWDzfnHFCxxleFT0PMIrR36XLNQ==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.8.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-syntax-numeric-separator": { + "version": "7.10.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-numeric-separator/-/plugin-syntax-numeric-separator-7.10.4.tgz", + "integrity": "sha512-9H6YdfkcK/uOnY/K7/aA2xpzaAgkQn37yzWUMRK7OaPOqOpGS1+n0H5hxT9AUw9EsSjPW8SVyMJwYRtWs3X3ug==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.10.4" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-syntax-object-rest-spread": { + "version": "7.8.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-object-rest-spread/-/plugin-syntax-object-rest-spread-7.8.3.tgz", + "integrity": "sha512-XoqMijGZb9y3y2XskN+P1wUGiVwWZ5JmoDRwx5+3GmEplNyVM2s2Dg8ILFQm8rWM48orGy5YpI5Bl8U1y7ydlA==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.8.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-syntax-optional-catch-binding": { + "version": "7.8.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-optional-catch-binding/-/plugin-syntax-optional-catch-binding-7.8.3.tgz", + "integrity": "sha512-6VPD0Pc1lpTqw0aKoeRTMiB+kWhAoT24PA+ksWSBrFtl5SIRVpZlwN3NNPQjehA2E/91FV3RjLWoVTglWcSV3Q==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.8.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-syntax-optional-chaining": { + "version": "7.8.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-optional-chaining/-/plugin-syntax-optional-chaining-7.8.3.tgz", + "integrity": "sha512-KoK9ErH1MBlCPxV0VANkXW2/dw4vlbGDrFgz8bmUsBGYkFRcbRwMh6cIJubdPrkxRwuGdtCk0v/wPTKbQgBjkg==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.8.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-syntax-top-level-await": { + "version": "7.14.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-top-level-await/-/plugin-syntax-top-level-await-7.14.5.tgz", + "integrity": "sha512-hx++upLv5U1rgYfwe1xBQUhRmU41NEvpUvrp8jkrSCdvGSnM5/qdRMtylJ6PG5OFkBaHkbTAKTnd3/YyESRHFw==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.14.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-syntax-typescript": { + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-typescript/-/plugin-syntax-typescript-7.22.5.tgz", + "integrity": "sha512-1mS2o03i7t1c6VzH6fdQ3OA8tcEIxwG18zIPRp+UY1Ihv6W+XZzBCVxExF9upussPXJ0xE9XRHwMoNs1ep/nRQ==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.22.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/template": { + "version": "7.22.15", + "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.22.15.tgz", + "integrity": "sha512-QPErUVm4uyJa60rkI73qneDacvdvzxshT3kksGqlGWYdOTIUOwJ7RDUL8sGqslY1uXWSL6xMFKEXDS3ox2uF0w==", + "dev": true, + "dependencies": { + "@babel/code-frame": "^7.22.13", + "@babel/parser": "^7.22.15", + "@babel/types": "^7.22.15" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/traverse": { + "version": "7.23.0", + "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.23.0.tgz", + "integrity": "sha512-t/QaEvyIoIkwzpiZ7aoSKK8kObQYeF7T2v+dazAYCb8SXtp58zEVkWW7zAnju8FNKNdr4ScAOEDmMItbyOmEYw==", + "dev": true, + "dependencies": { + "@babel/code-frame": "^7.22.13", + "@babel/generator": "^7.23.0", + "@babel/helper-environment-visitor": "^7.22.20", + "@babel/helper-function-name": "^7.23.0", + "@babel/helper-hoist-variables": "^7.22.5", + "@babel/helper-split-export-declaration": "^7.22.6", + "@babel/parser": "^7.23.0", + "@babel/types": "^7.23.0", + "debug": "^4.1.0", + "globals": "^11.1.0" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/types": { + "version": "7.23.0", + "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.23.0.tgz", + "integrity": "sha512-0oIyUfKoI3mSqMvsxBdclDwxXKXAUA8v/apZbc+iSyARYou1o8ZGDxbUYyLFoW2arqS2jDGqJuZvv1d/io1axg==", + "dev": true, + "dependencies": { + "@babel/helper-string-parser": "^7.22.5", + "@babel/helper-validator-identifier": "^7.22.20", + "to-fast-properties": "^2.0.0" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@bcoe/v8-coverage": { + "version": "0.2.3", + "resolved": "https://registry.npmjs.org/@bcoe/v8-coverage/-/v8-coverage-0.2.3.tgz", + "integrity": "sha512-0hYQ8SB4Db5zvZB4axdMHGwEaQjkZzFjQiN9LVYvIFB2nSUHW9tYpxWriPrWDASIxiaXax83REcLxuSdnGPZtw==", + "dev": true + }, + "node_modules/@istanbuljs/load-nyc-config": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/@istanbuljs/load-nyc-config/-/load-nyc-config-1.1.0.tgz", + "integrity": "sha512-VjeHSlIzpv/NyD3N0YuHfXOPDIixcA1q2ZV98wsMqcYlPmv2n3Yb2lYP9XMElnaFVXg5A7YLTeLu6V84uQDjmQ==", + "dev": true, + "dependencies": { + "camelcase": "^5.3.1", + "find-up": "^4.1.0", + "get-package-type": "^0.1.0", + "js-yaml": "^3.13.1", + "resolve-from": "^5.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/@istanbuljs/schema": { + "version": "0.1.3", + "resolved": "https://registry.npmjs.org/@istanbuljs/schema/-/schema-0.1.3.tgz", + "integrity": "sha512-ZXRY4jNvVgSVQ8DL3LTcakaAtXwTVUxE81hslsyD2AtoXW/wVob10HkOJ1X/pAlcI7D+2YoZKg5do8G/w6RYgA==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/@jest/console": { + "version": "29.7.0", + "resolved": "https://registry.npmjs.org/@jest/console/-/console-29.7.0.tgz", + "integrity": "sha512-5Ni4CU7XHQi32IJ398EEP4RrB8eV09sXP2ROqD4bksHrnTree52PsxvX8tpL8LvTZ3pFzXyPbNQReSN41CAhOg==", + "dev": true, + "dependencies": { + "@jest/types": "^29.6.3", + "@types/node": "*", + "chalk": "^4.0.0", + "jest-message-util": "^29.7.0", + "jest-util": "^29.7.0", + "slash": "^3.0.0" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + } + }, + "node_modules/@jest/core": { + "version": "29.7.0", + "resolved": "https://registry.npmjs.org/@jest/core/-/core-29.7.0.tgz", + "integrity": "sha512-n7aeXWKMnGtDA48y8TLWJPJmLmmZ642Ceo78cYWEpiD7FzDgmNDV/GCVRorPABdXLJZ/9wzzgZAlHjXjxDHGsg==", + "dev": true, + "dependencies": { + "@jest/console": "^29.7.0", + "@jest/reporters": "^29.7.0", + "@jest/test-result": "^29.7.0", + "@jest/transform": "^29.7.0", + "@jest/types": "^29.6.3", + "@types/node": "*", + "ansi-escapes": "^4.2.1", + "chalk": "^4.0.0", + "ci-info": "^3.2.0", + "exit": "^0.1.2", + "graceful-fs": "^4.2.9", + "jest-changed-files": "^29.7.0", + "jest-config": "^29.7.0", + "jest-haste-map": "^29.7.0", + "jest-message-util": "^29.7.0", + "jest-regex-util": "^29.6.3", + "jest-resolve": "^29.7.0", + "jest-resolve-dependencies": "^29.7.0", + "jest-runner": "^29.7.0", + "jest-runtime": "^29.7.0", + "jest-snapshot": "^29.7.0", + "jest-util": "^29.7.0", + "jest-validate": "^29.7.0", + "jest-watcher": "^29.7.0", + "micromatch": "^4.0.4", + "pretty-format": "^29.7.0", + "slash": "^3.0.0", + "strip-ansi": "^6.0.0" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + }, + "peerDependencies": { + "node-notifier": "^8.0.1 || ^9.0.0 || ^10.0.0" + }, + "peerDependenciesMeta": { + "node-notifier": { + "optional": true + } + } + }, + "node_modules/@jest/environment": { + "version": "29.7.0", + "resolved": "https://registry.npmjs.org/@jest/environment/-/environment-29.7.0.tgz", + "integrity": "sha512-aQIfHDq33ExsN4jP1NWGXhxgQ/wixs60gDiKO+XVMd8Mn0NWPWgc34ZQDTb2jKaUWQ7MuwoitXAsN2XVXNMpAw==", + "dev": true, + "dependencies": { + "@jest/fake-timers": "^29.7.0", + "@jest/types": "^29.6.3", + "@types/node": "*", + "jest-mock": "^29.7.0" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + } + }, + "node_modules/@jest/expect": { + "version": "29.7.0", + "resolved": "https://registry.npmjs.org/@jest/expect/-/expect-29.7.0.tgz", + "integrity": "sha512-8uMeAMycttpva3P1lBHB8VciS9V0XAr3GymPpipdyQXbBcuhkLQOSe8E/p92RyAdToS6ZD1tFkX+CkhoECE0dQ==", + "dev": true, + "dependencies": { + "expect": "^29.7.0", + "jest-snapshot": "^29.7.0" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + } + }, + "node_modules/@jest/expect-utils": { + "version": "29.7.0", + "resolved": "https://registry.npmjs.org/@jest/expect-utils/-/expect-utils-29.7.0.tgz", + "integrity": "sha512-GlsNBWiFQFCVi9QVSx7f5AgMeLxe9YCCs5PuP2O2LdjDAA8Jh9eX7lA1Jq/xdXw3Wb3hyvlFNfZIfcRetSzYcA==", + "dev": true, + "dependencies": { + "jest-get-type": "^29.6.3" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + } + }, + "node_modules/@jest/fake-timers": { + "version": "29.7.0", + "resolved": "https://registry.npmjs.org/@jest/fake-timers/-/fake-timers-29.7.0.tgz", + "integrity": "sha512-q4DH1Ha4TTFPdxLsqDXK1d3+ioSL7yL5oCMJZgDYm6i+6CygW5E5xVr/D1HdsGxjt1ZWSfUAs9OxSB/BNelWrQ==", + "dev": true, + "dependencies": { + "@jest/types": "^29.6.3", + "@sinonjs/fake-timers": "^10.0.2", + "@types/node": "*", + "jest-message-util": "^29.7.0", + "jest-mock": "^29.7.0", + "jest-util": "^29.7.0" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + } + }, + "node_modules/@jest/globals": { + "version": "29.7.0", + "resolved": "https://registry.npmjs.org/@jest/globals/-/globals-29.7.0.tgz", + "integrity": "sha512-mpiz3dutLbkW2MNFubUGUEVLkTGiqW6yLVTA+JbP6fI6J5iL9Y0Nlg8k95pcF8ctKwCS7WVxteBs29hhfAotzQ==", + "dev": true, + "dependencies": { + "@jest/environment": "^29.7.0", + "@jest/expect": "^29.7.0", + "@jest/types": "^29.6.3", + "jest-mock": "^29.7.0" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + } + }, + "node_modules/@jest/reporters": { + "version": "29.7.0", + "resolved": "https://registry.npmjs.org/@jest/reporters/-/reporters-29.7.0.tgz", + "integrity": "sha512-DApq0KJbJOEzAFYjHADNNxAE3KbhxQB1y5Kplb5Waqw6zVbuWatSnMjE5gs8FUgEPmNsnZA3NCWl9NG0ia04Pg==", + "dev": true, + "dependencies": { + "@bcoe/v8-coverage": "^0.2.3", + "@jest/console": "^29.7.0", + "@jest/test-result": "^29.7.0", + "@jest/transform": "^29.7.0", + "@jest/types": "^29.6.3", + "@jridgewell/trace-mapping": "^0.3.18", + "@types/node": "*", + "chalk": "^4.0.0", + "collect-v8-coverage": "^1.0.0", + "exit": "^0.1.2", + "glob": "^7.1.3", + "graceful-fs": "^4.2.9", + "istanbul-lib-coverage": "^3.0.0", + "istanbul-lib-instrument": "^6.0.0", + "istanbul-lib-report": "^3.0.0", + "istanbul-lib-source-maps": "^4.0.0", + "istanbul-reports": "^3.1.3", + "jest-message-util": "^29.7.0", + "jest-util": "^29.7.0", + "jest-worker": "^29.7.0", + "slash": "^3.0.0", + "string-length": "^4.0.1", + "strip-ansi": "^6.0.0", + "v8-to-istanbul": "^9.0.1" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + }, + "peerDependencies": { + "node-notifier": "^8.0.1 || ^9.0.0 || ^10.0.0" + }, + "peerDependenciesMeta": { + "node-notifier": { + "optional": true + } + } + }, + "node_modules/@jest/schemas": { + "version": "29.6.3", + "resolved": "https://registry.npmjs.org/@jest/schemas/-/schemas-29.6.3.tgz", + "integrity": "sha512-mo5j5X+jIZmJQveBKeS/clAueipV7KgiX1vMgCxam1RNYiqE1w62n0/tJJnHtjW8ZHcQco5gY85jA3mi0L+nSA==", + "dev": true, + "dependencies": { + "@sinclair/typebox": "^0.27.8" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + } + }, + "node_modules/@jest/source-map": { + "version": "29.6.3", + "resolved": "https://registry.npmjs.org/@jest/source-map/-/source-map-29.6.3.tgz", + "integrity": "sha512-MHjT95QuipcPrpLM+8JMSzFx6eHp5Bm+4XeFDJlwsvVBjmKNiIAvasGK2fxz2WbGRlnvqehFbh07MMa7n3YJnw==", + "dev": true, + "dependencies": { + "@jridgewell/trace-mapping": "^0.3.18", + "callsites": "^3.0.0", + "graceful-fs": "^4.2.9" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + } + }, + "node_modules/@jest/test-result": { + "version": "29.7.0", + "resolved": "https://registry.npmjs.org/@jest/test-result/-/test-result-29.7.0.tgz", + "integrity": "sha512-Fdx+tv6x1zlkJPcWXmMDAG2HBnaR9XPSd5aDWQVsfrZmLVT3lU1cwyxLgRmXR9yrq4NBoEm9BMsfgFzTQAbJYA==", + "dev": true, + "dependencies": { + "@jest/console": "^29.7.0", + "@jest/types": "^29.6.3", + "@types/istanbul-lib-coverage": "^2.0.0", + "collect-v8-coverage": "^1.0.0" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + } + }, + "node_modules/@jest/test-sequencer": { + "version": "29.7.0", + "resolved": "https://registry.npmjs.org/@jest/test-sequencer/-/test-sequencer-29.7.0.tgz", + "integrity": "sha512-GQwJ5WZVrKnOJuiYiAF52UNUJXgTZx1NHjFSEB0qEMmSZKAkdMoIzw/Cj6x6NF4AvV23AUqDpFzQkN/eYCYTxw==", + "dev": true, + "dependencies": { + "@jest/test-result": "^29.7.0", + "graceful-fs": "^4.2.9", + "jest-haste-map": "^29.7.0", + "slash": "^3.0.0" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + } + }, + "node_modules/@jest/transform": { + "version": "29.7.0", + "resolved": "https://registry.npmjs.org/@jest/transform/-/transform-29.7.0.tgz", + "integrity": "sha512-ok/BTPFzFKVMwO5eOHRrvnBVHdRy9IrsrW1GpMaQ9MCnilNLXQKmAX8s1YXDFaai9xJpac2ySzV0YeRRECr2Vw==", + "dev": true, + "dependencies": { + "@babel/core": "^7.11.6", + "@jest/types": "^29.6.3", + "@jridgewell/trace-mapping": "^0.3.18", + "babel-plugin-istanbul": "^6.1.1", + "chalk": "^4.0.0", + "convert-source-map": "^2.0.0", + "fast-json-stable-stringify": "^2.1.0", + "graceful-fs": "^4.2.9", + "jest-haste-map": "^29.7.0", + "jest-regex-util": "^29.6.3", + "jest-util": "^29.7.0", + "micromatch": "^4.0.4", + "pirates": "^4.0.4", + "slash": "^3.0.0", + "write-file-atomic": "^4.0.2" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + } + }, + "node_modules/@jest/types": { + "version": "29.6.3", + "resolved": "https://registry.npmjs.org/@jest/types/-/types-29.6.3.tgz", + "integrity": "sha512-u3UPsIilWKOM3F9CXtrG8LEJmNxwoCQC/XVj4IKYXvvpx7QIi/Kg1LI5uDmDpKlac62NUtX7eLjRh+jVZcLOzw==", + "dev": true, + "dependencies": { + "@jest/schemas": "^29.6.3", + "@types/istanbul-lib-coverage": "^2.0.0", + "@types/istanbul-reports": "^3.0.0", + "@types/node": "*", + "@types/yargs": "^17.0.8", + "chalk": "^4.0.0" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + } + }, + "node_modules/@jridgewell/gen-mapping": { + "version": "0.3.3", + "resolved": "https://registry.npmjs.org/@jridgewell/gen-mapping/-/gen-mapping-0.3.3.tgz", + "integrity": "sha512-HLhSWOLRi875zjjMG/r+Nv0oCW8umGb0BgEhyX3dDX3egwZtB8PqLnjz3yedt8R5StBrzcg4aBpnh8UA9D1BoQ==", + "dev": true, + "dependencies": { + "@jridgewell/set-array": "^1.0.1", + "@jridgewell/sourcemap-codec": "^1.4.10", + "@jridgewell/trace-mapping": "^0.3.9" + }, + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/@jridgewell/resolve-uri": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/@jridgewell/resolve-uri/-/resolve-uri-3.1.1.tgz", + "integrity": "sha512-dSYZh7HhCDtCKm4QakX0xFpsRDqjjtZf/kjI/v3T3Nwt5r8/qz/M19F9ySyOqU94SXBmeG9ttTul+YnR4LOxFA==", + "dev": true, + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/@jridgewell/set-array": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/@jridgewell/set-array/-/set-array-1.1.2.tgz", + "integrity": "sha512-xnkseuNADM0gt2bs+BvhO0p78Mk762YnZdsuzFV018NoG1Sj1SCQvpSqa7XUaTam5vAGasABV9qXASMKnFMwMw==", + "dev": true, + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/@jridgewell/sourcemap-codec": { + "version": "1.4.15", + "resolved": "https://registry.npmjs.org/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.4.15.tgz", + "integrity": "sha512-eF2rxCRulEKXHTRiDrDy6erMYWqNw4LPdQ8UQA4huuxaQsVeRPFl2oM8oDGxMFhJUWZf9McpLtJasDDZb/Bpeg==", + "dev": true + }, + "node_modules/@jridgewell/trace-mapping": { + "version": "0.3.19", + "resolved": "https://registry.npmjs.org/@jridgewell/trace-mapping/-/trace-mapping-0.3.19.tgz", + "integrity": "sha512-kf37QtfW+Hwx/buWGMPcR60iF9ziHa6r/CZJIHbmcm4+0qrXiVdxegAH0F6yddEVQ7zdkjcGCgCzUu+BcbhQxw==", + "dev": true, + "dependencies": { + "@jridgewell/resolve-uri": "^3.1.0", + "@jridgewell/sourcemap-codec": "^1.4.14" + } + }, + "node_modules/@sinclair/typebox": { + "version": "0.27.8", + "resolved": "https://registry.npmjs.org/@sinclair/typebox/-/typebox-0.27.8.tgz", + "integrity": "sha512-+Fj43pSMwJs4KRrH/938Uf+uAELIgVBmQzg/q1YG10djyfA3TnrU8N8XzqCh/okZdszqBQTZf96idMfE5lnwTA==", + "dev": true + }, + "node_modules/@sinonjs/commons": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/@sinonjs/commons/-/commons-3.0.0.tgz", + "integrity": "sha512-jXBtWAF4vmdNmZgD5FoKsVLv3rPgDnLgPbU84LIJ3otV44vJlDRokVng5v8NFJdCf/da9legHcKaRuZs4L7faA==", + "dev": true, + "dependencies": { + "type-detect": "4.0.8" + } + }, + "node_modules/@sinonjs/fake-timers": { + "version": "10.3.0", + "resolved": "https://registry.npmjs.org/@sinonjs/fake-timers/-/fake-timers-10.3.0.tgz", + "integrity": "sha512-V4BG07kuYSUkTCSBHG8G8TNhM+F19jXFWnQtzj+we8DrkpSBCee9Z3Ms8yiGer/dlmhe35/Xdgyo3/0rQKg7YA==", + "dev": true, + "dependencies": { + "@sinonjs/commons": "^3.0.0" + } + }, + "node_modules/@types/babel__core": { + "version": "7.20.2", + "resolved": "https://registry.npmjs.org/@types/babel__core/-/babel__core-7.20.2.tgz", + "integrity": "sha512-pNpr1T1xLUc2l3xJKuPtsEky3ybxN3m4fJkknfIpTCTfIZCDW57oAg+EfCgIIp2rvCe0Wn++/FfodDS4YXxBwA==", + "dev": true, + "dependencies": { + "@babel/parser": "^7.20.7", + "@babel/types": "^7.20.7", + "@types/babel__generator": "*", + "@types/babel__template": "*", + "@types/babel__traverse": "*" + } + }, + "node_modules/@types/babel__generator": { + "version": "7.6.5", + "resolved": "https://registry.npmjs.org/@types/babel__generator/-/babel__generator-7.6.5.tgz", + "integrity": "sha512-h9yIuWbJKdOPLJTbmSpPzkF67e659PbQDba7ifWm5BJ8xTv+sDmS7rFmywkWOvXedGTivCdeGSIIX8WLcRTz8w==", + "dev": true, + "dependencies": { + "@babel/types": "^7.0.0" + } + }, + "node_modules/@types/babel__template": { + "version": "7.4.2", + "resolved": "https://registry.npmjs.org/@types/babel__template/-/babel__template-7.4.2.tgz", + "integrity": "sha512-/AVzPICMhMOMYoSx9MoKpGDKdBRsIXMNByh1PXSZoa+v6ZoLa8xxtsT/uLQ/NJm0XVAWl/BvId4MlDeXJaeIZQ==", + "dev": true, + "dependencies": { + "@babel/parser": "^7.1.0", + "@babel/types": "^7.0.0" + } + }, + "node_modules/@types/babel__traverse": { + "version": "7.20.2", + "resolved": "https://registry.npmjs.org/@types/babel__traverse/-/babel__traverse-7.20.2.tgz", + "integrity": "sha512-ojlGK1Hsfce93J0+kn3H5R73elidKUaZonirN33GSmgTUMpzI/MIFfSpF3haANe3G1bEBS9/9/QEqwTzwqFsKw==", + "dev": true, + "dependencies": { + "@babel/types": "^7.20.7" + } + }, + "node_modules/@types/graceful-fs": { + "version": "4.1.7", + "resolved": "https://registry.npmjs.org/@types/graceful-fs/-/graceful-fs-4.1.7.tgz", + "integrity": "sha512-MhzcwU8aUygZroVwL2jeYk6JisJrPl/oov/gsgGCue9mkgl9wjGbzReYQClxiUgFDnib9FuHqTndccKeZKxTRw==", + "dev": true, + "dependencies": { + "@types/node": "*" + } + }, + "node_modules/@types/istanbul-lib-coverage": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/@types/istanbul-lib-coverage/-/istanbul-lib-coverage-2.0.4.tgz", + "integrity": "sha512-z/QT1XN4K4KYuslS23k62yDIDLwLFkzxOuMplDtObz0+y7VqJCaO2o+SPwHCvLFZh7xazvvoor2tA/hPz9ee7g==", + "dev": true + }, + "node_modules/@types/istanbul-lib-report": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/@types/istanbul-lib-report/-/istanbul-lib-report-3.0.1.tgz", + "integrity": "sha512-gPQuzaPR5h/djlAv2apEG1HVOyj1IUs7GpfMZixU0/0KXT3pm64ylHuMUI1/Akh+sq/iikxg6Z2j+fcMDXaaTQ==", + "dev": true, + "dependencies": { + "@types/istanbul-lib-coverage": "*" + } + }, + "node_modules/@types/istanbul-reports": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/@types/istanbul-reports/-/istanbul-reports-3.0.2.tgz", + "integrity": "sha512-kv43F9eb3Lhj+lr/Hn6OcLCs/sSM8bt+fIaP11rCYngfV6NVjzWXJ17owQtDQTL9tQ8WSLUrGsSJ6rJz0F1w1A==", + "dev": true, + "dependencies": { + "@types/istanbul-lib-report": "*" + } + }, + "node_modules/@types/node": { + "version": "20.8.4", + "resolved": "https://registry.npmjs.org/@types/node/-/node-20.8.4.tgz", + "integrity": "sha512-ZVPnqU58giiCjSxjVUESDtdPk4QR5WQhhINbc9UBrKLU68MX5BF6kbQzTrkwbolyr0X8ChBpXfavr5mZFKZQ5A==", + "dev": true, + "dependencies": { + "undici-types": "~5.25.1" + } + }, + "node_modules/@types/stack-utils": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/@types/stack-utils/-/stack-utils-2.0.1.tgz", + "integrity": "sha512-Hl219/BT5fLAaz6NDkSuhzasy49dwQS/DSdu4MdggFB8zcXv7vflBI3xp7FEmkmdDkBUI2bPUNeMttp2knYdxw==", + "dev": true + }, + "node_modules/@types/yargs": { + "version": "17.0.28", + "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-17.0.28.tgz", + "integrity": "sha512-N3e3fkS86hNhtk6BEnc0rj3zcehaxx8QWhCROJkqpl5Zaoi7nAic3jH8q94jVD3zu5LGk+PUB6KAiDmimYOEQw==", + "dev": true, + "dependencies": { + "@types/yargs-parser": "*" + } + }, + "node_modules/@types/yargs-parser": { + "version": "21.0.1", + "resolved": "https://registry.npmjs.org/@types/yargs-parser/-/yargs-parser-21.0.1.tgz", + "integrity": "sha512-axdPBuLuEJt0c4yI5OZssC19K2Mq1uKdrfZBzuxLvaztgqUtFYZUNw7lETExPYJR9jdEoIg4mb7RQKRQzOkeGQ==", + "dev": true + }, + "node_modules/ansi-escapes": { + "version": "4.3.2", + "resolved": "https://registry.npmjs.org/ansi-escapes/-/ansi-escapes-4.3.2.tgz", + "integrity": "sha512-gKXj5ALrKWQLsYG9jlTRmR/xKluxHV+Z9QEwNIgCfM1/uwPMCuzVVnh5mwTd+OuBZcwSIMbqssNWRm1lE51QaQ==", + "dev": true, + "dependencies": { + "type-fest": "^0.21.3" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/ansi-regex": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz", + "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "dev": true, + "dependencies": { + "color-convert": "^2.0.1" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" + } + }, + "node_modules/anymatch": { + "version": "3.1.3", + "resolved": "https://registry.npmjs.org/anymatch/-/anymatch-3.1.3.tgz", + "integrity": "sha512-KMReFUr0B4t+D+OBkjR3KYqvocp2XaSzO55UcB6mgQMd3KbcE+mWTyvVV7D/zsdEbNnV6acZUutkiHQXvTr1Rw==", + "dev": true, + "dependencies": { + "normalize-path": "^3.0.0", + "picomatch": "^2.0.4" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/argparse": { + "version": "1.0.10", + "resolved": "https://registry.npmjs.org/argparse/-/argparse-1.0.10.tgz", + "integrity": "sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg==", + "dev": true, + "dependencies": { + "sprintf-js": "~1.0.2" + } + }, + "node_modules/asap": { + "version": "2.0.6", + "resolved": "https://registry.npmjs.org/asap/-/asap-2.0.6.tgz", + "integrity": "sha512-BSHWgDSAiKs50o2Re8ppvp3seVHXSRM44cdSsT9FfNEUUZLOGWVCsiWaRPWM1Znn+mqZ1OfVZ3z3DWEzSp7hRA==" + }, + "node_modules/asynckit": { + "version": "0.4.0", + "resolved": "https://registry.npmjs.org/asynckit/-/asynckit-0.4.0.tgz", + "integrity": "sha512-Oei9OH4tRh0YqU3GxhX79dM/mwVgvbZJaSNaRk+bshkj0S5cfHcgYakreBjrHwatXKbz+IoIdYLxrKim2MjW0Q==" + }, + "node_modules/babel-jest": { + "version": "29.7.0", + "resolved": "https://registry.npmjs.org/babel-jest/-/babel-jest-29.7.0.tgz", + "integrity": "sha512-BrvGY3xZSwEcCzKvKsCi2GgHqDqsYkOP4/by5xCgIwGXQxIEh+8ew3gmrE1y7XRR6LHZIj6yLYnUi/mm2KXKBg==", + "dev": true, + "dependencies": { + "@jest/transform": "^29.7.0", + "@types/babel__core": "^7.1.14", + "babel-plugin-istanbul": "^6.1.1", + "babel-preset-jest": "^29.6.3", + "chalk": "^4.0.0", + "graceful-fs": "^4.2.9", + "slash": "^3.0.0" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + }, + "peerDependencies": { + "@babel/core": "^7.8.0" + } + }, + "node_modules/babel-plugin-istanbul": { + "version": "6.1.1", + "resolved": "https://registry.npmjs.org/babel-plugin-istanbul/-/babel-plugin-istanbul-6.1.1.tgz", + "integrity": "sha512-Y1IQok9821cC9onCx5otgFfRm7Lm+I+wwxOx738M/WLPZ9Q42m4IG5W0FNX8WLL2gYMZo3JkuXIH2DOpWM+qwA==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.0.0", + "@istanbuljs/load-nyc-config": "^1.0.0", + "@istanbuljs/schema": "^0.1.2", + "istanbul-lib-instrument": "^5.0.4", + "test-exclude": "^6.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/babel-plugin-istanbul/node_modules/istanbul-lib-instrument": { + "version": "5.2.1", + "resolved": "https://registry.npmjs.org/istanbul-lib-instrument/-/istanbul-lib-instrument-5.2.1.tgz", + "integrity": "sha512-pzqtp31nLv/XFOzXGuvhCb8qhjmTVo5vjVk19XE4CRlSWz0KoeJ3bw9XsA7nOp9YBf4qHjwBxkDzKcME/J29Yg==", + "dev": true, + "dependencies": { + "@babel/core": "^7.12.3", + "@babel/parser": "^7.14.7", + "@istanbuljs/schema": "^0.1.2", + "istanbul-lib-coverage": "^3.2.0", + "semver": "^6.3.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/babel-plugin-jest-hoist": { + "version": "29.6.3", + "resolved": "https://registry.npmjs.org/babel-plugin-jest-hoist/-/babel-plugin-jest-hoist-29.6.3.tgz", + "integrity": "sha512-ESAc/RJvGTFEzRwOTT4+lNDk/GNHMkKbNzsvT0qKRfDyyYTskxB5rnU2njIDYVxXCBHHEI1c0YwHob3WaYujOg==", + "dev": true, + "dependencies": { + "@babel/template": "^7.3.3", + "@babel/types": "^7.3.3", + "@types/babel__core": "^7.1.14", + "@types/babel__traverse": "^7.0.6" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + } + }, + "node_modules/babel-preset-current-node-syntax": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/babel-preset-current-node-syntax/-/babel-preset-current-node-syntax-1.0.1.tgz", + "integrity": "sha512-M7LQ0bxarkxQoN+vz5aJPsLBn77n8QgTFmo8WK0/44auK2xlCXrYcUxHFxgU7qW5Yzw/CjmLRK2uJzaCd7LvqQ==", + "dev": true, + "dependencies": { + "@babel/plugin-syntax-async-generators": "^7.8.4", + "@babel/plugin-syntax-bigint": "^7.8.3", + "@babel/plugin-syntax-class-properties": "^7.8.3", + "@babel/plugin-syntax-import-meta": "^7.8.3", + "@babel/plugin-syntax-json-strings": "^7.8.3", + "@babel/plugin-syntax-logical-assignment-operators": "^7.8.3", + "@babel/plugin-syntax-nullish-coalescing-operator": "^7.8.3", + "@babel/plugin-syntax-numeric-separator": "^7.8.3", + "@babel/plugin-syntax-object-rest-spread": "^7.8.3", + "@babel/plugin-syntax-optional-catch-binding": "^7.8.3", + "@babel/plugin-syntax-optional-chaining": "^7.8.3", + "@babel/plugin-syntax-top-level-await": "^7.8.3" + }, + "peerDependencies": { + "@babel/core": "^7.0.0" + } + }, + "node_modules/babel-preset-jest": { + "version": "29.6.3", + "resolved": "https://registry.npmjs.org/babel-preset-jest/-/babel-preset-jest-29.6.3.tgz", + "integrity": "sha512-0B3bhxR6snWXJZtR/RliHTDPRgn1sNHOR0yVtq/IiQFyuOVjFS+wuio/R4gSNkyYmKmJB4wGZv2NZanmKmTnNA==", + "dev": true, + "dependencies": { + "babel-plugin-jest-hoist": "^29.6.3", + "babel-preset-current-node-syntax": "^1.0.0" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0" + } + }, + "node_modules/balanced-match": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.2.tgz", + "integrity": "sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==", + "dev": true + }, + "node_modules/brace-expansion": { + "version": "1.1.11", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", + "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", + "dev": true, + "dependencies": { + "balanced-match": "^1.0.0", + "concat-map": "0.0.1" + } + }, + "node_modules/braces": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/braces/-/braces-3.0.2.tgz", + "integrity": "sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==", + "dev": true, + "dependencies": { + "fill-range": "^7.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/browserslist": { + "version": "4.22.1", + "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.22.1.tgz", + "integrity": "sha512-FEVc202+2iuClEhZhrWy6ZiAcRLvNMyYcxZ8raemul1DYVOVdFsbqckWLdsixQZCpJlwe77Z3UTalE7jsjnKfQ==", + "dev": true, + "funding": [ + { + "type": "opencollective", + "url": "https://opencollective.com/browserslist" + }, + { + "type": "tidelift", + "url": "https://tidelift.com/funding/github/npm/browserslist" + }, + { + "type": "github", + "url": "https://github.com/sponsors/ai" + } + ], + "dependencies": { + "caniuse-lite": "^1.0.30001541", + "electron-to-chromium": "^1.4.535", + "node-releases": "^2.0.13", + "update-browserslist-db": "^1.0.13" + }, + "bin": { + "browserslist": "cli.js" + }, + "engines": { + "node": "^6 || ^7 || ^8 || ^9 || ^10 || ^11 || ^12 || >=13.7" + } + }, + "node_modules/bser": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/bser/-/bser-2.1.1.tgz", + "integrity": "sha512-gQxTNE/GAfIIrmHLUE3oJyp5FO6HRBfhjnw4/wMmA63ZGDJnWBmgY/lyQBpnDUkGmAhbSe39tx2d/iTOAfglwQ==", + "dev": true, + "dependencies": { + "node-int64": "^0.4.0" + } + }, + "node_modules/buffer-from": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/buffer-from/-/buffer-from-1.1.2.tgz", + "integrity": "sha512-E+XQCRwSbaaiChtv6k6Dwgc+bx+Bs6vuKJHHl5kox/BaKbhiXzqQOwK4cO22yElGp2OCmjwVhT3HmxgyPGnJfQ==", + "dev": true + }, + "node_modules/call-bind": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/call-bind/-/call-bind-1.0.2.tgz", + "integrity": "sha512-7O+FbCihrB5WGbFYesctwmTKae6rOiIzmz1icreWJ+0aA7LJfuqhEso2T9ncpcFtzMQtzXf2QGGueWJGTYsqrA==", + "dependencies": { + "function-bind": "^1.1.1", + "get-intrinsic": "^1.0.2" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/callsites": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/callsites/-/callsites-3.1.0.tgz", + "integrity": "sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==", + "dev": true, + "engines": { + "node": ">=6" + } + }, + "node_modules/camelcase": { + "version": "5.3.1", + "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-5.3.1.tgz", + "integrity": "sha512-L28STB170nwWS63UjtlEOE3dldQApaJXZkOI1uMFfzf3rRuPegHaHesyee+YxQ+W6SvRDQV6UrdOdRiR153wJg==", + "dev": true, + "engines": { + "node": ">=6" + } + }, + "node_modules/caniuse-lite": { + "version": "1.0.30001547", + "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001547.tgz", + "integrity": "sha512-W7CrtIModMAxobGhz8iXmDfuJiiKg1WADMO/9x7/CLNin5cpSbuBjooyoIUVB5eyCc36QuTVlkVa1iB2S5+/eA==", + "dev": true, + "funding": [ + { + "type": "opencollective", + "url": "https://opencollective.com/browserslist" + }, + { + "type": "tidelift", + "url": "https://tidelift.com/funding/github/npm/caniuse-lite" + }, + { + "type": "github", + "url": "https://github.com/sponsors/ai" + } + ] + }, + "node_modules/chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "dev": true, + "dependencies": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/chalk?sponsor=1" + } + }, + "node_modules/char-regex": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/char-regex/-/char-regex-1.0.2.tgz", + "integrity": "sha512-kWWXztvZ5SBQV+eRgKFeh8q5sLuZY2+8WUIzlxWVTg+oGwY14qylx1KbKzHd8P6ZYkAg0xyIDU9JMHhyJMZ1jw==", + "dev": true, + "engines": { + "node": ">=10" + } + }, + "node_modules/ci-info": { + "version": "3.9.0", + "resolved": "https://registry.npmjs.org/ci-info/-/ci-info-3.9.0.tgz", + "integrity": "sha512-NIxF55hv4nSqQswkAeiOi1r83xy8JldOFDTWiug55KBu9Jnblncd2U6ViHmYgHf01TPZS77NJBhBMKdWj9HQMQ==", + "dev": true, + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/sibiraj-s" + } + ], + "engines": { + "node": ">=8" + } + }, + "node_modules/cjs-module-lexer": { + "version": "1.2.3", + "resolved": "https://registry.npmjs.org/cjs-module-lexer/-/cjs-module-lexer-1.2.3.tgz", + "integrity": "sha512-0TNiGstbQmCFwt4akjjBg5pLRTSyj/PkWQ1ZoO2zntmg9yLqSRxwEa4iCfQLGjqhiqBfOJa7W/E8wfGrTDmlZQ==", + "dev": true + }, + "node_modules/cliui": { + "version": "8.0.1", + "resolved": "https://registry.npmjs.org/cliui/-/cliui-8.0.1.tgz", + "integrity": "sha512-BSeNnyus75C4//NQ9gQt1/csTXyo/8Sb+afLAkzAptFuMsod9HFokGNudZpi/oQV73hnVK+sR+5PVRMd+Dr7YQ==", + "dev": true, + "dependencies": { + "string-width": "^4.2.0", + "strip-ansi": "^6.0.1", + "wrap-ansi": "^7.0.0" + }, + "engines": { + "node": ">=12" + } + }, + "node_modules/co": { + "version": "4.6.0", + "resolved": "https://registry.npmjs.org/co/-/co-4.6.0.tgz", + "integrity": "sha512-QVb0dM5HvG+uaxitm8wONl7jltx8dqhfU33DcqtOZcLSVIKSDDLDi7+0LbAKiyI8hD9u42m2YxXSkMGWThaecQ==", + "dev": true, + "engines": { + "iojs": ">= 1.0.0", + "node": ">= 0.12.0" + } + }, + "node_modules/collect-v8-coverage": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/collect-v8-coverage/-/collect-v8-coverage-1.0.2.tgz", + "integrity": "sha512-lHl4d5/ONEbLlJvaJNtsF/Lz+WvB07u2ycqTYbdrq7UypDXailES4valYb2eWiJFxZlVmpGekfqoxQhzyFdT4Q==", + "dev": true + }, + "node_modules/color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "dev": true, + "dependencies": { + "color-name": "~1.1.4" + }, + "engines": { + "node": ">=7.0.0" + } + }, + "node_modules/color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", + "dev": true + }, + "node_modules/combined-stream": { + "version": "1.0.8", + "resolved": "https://registry.npmjs.org/combined-stream/-/combined-stream-1.0.8.tgz", + "integrity": "sha512-FQN4MRfuJeHf7cBbBMJFXhKSDq+2kAArBlmRBvcvFE5BB1HZKXtSFASDhdlz9zOYwxh8lDdnvmMOe/+5cdoEdg==", + "dependencies": { + "delayed-stream": "~1.0.0" + }, + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/component-emitter": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/component-emitter/-/component-emitter-1.3.0.tgz", + "integrity": "sha512-Rd3se6QB+sO1TwqZjscQrurpEPIfO0/yYnSin6Q/rD3mOutHvUrCAhJub3r90uNb+SESBuE0QYoB90YdfatsRg==" + }, + "node_modules/concat-map": { + "version": "0.0.1", + "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz", + "integrity": "sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg==", + "dev": true + }, + "node_modules/convert-source-map": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/convert-source-map/-/convert-source-map-2.0.0.tgz", + "integrity": "sha512-Kvp459HrV2FEJ1CAsi1Ku+MY3kasH19TFykTz2xWmMeq6bk2NU3XXvfJ+Q61m0xktWwt+1HSYf3JZsTms3aRJg==", + "dev": true + }, + "node_modules/cookiejar": { + "version": "2.1.4", + "resolved": "https://registry.npmjs.org/cookiejar/-/cookiejar-2.1.4.tgz", + "integrity": "sha512-LDx6oHrK+PhzLKJU9j5S7/Y3jM/mUHvD/DeI1WQmJn652iPC5Y4TBzC9l+5OMOXlyTTA+SmVUPm0HQUwpD5Jqw==" + }, + "node_modules/create-jest": { + "version": "29.7.0", + "resolved": "https://registry.npmjs.org/create-jest/-/create-jest-29.7.0.tgz", + "integrity": "sha512-Adz2bdH0Vq3F53KEMJOoftQFutWCukm6J24wbPWRO4k1kMY7gS7ds/uoJkNuV8wDCtWWnuwGcJwpWcih+zEW1Q==", + "dev": true, + "dependencies": { + "@jest/types": "^29.6.3", + "chalk": "^4.0.0", + "exit": "^0.1.2", + "graceful-fs": "^4.2.9", + "jest-config": "^29.7.0", + "jest-util": "^29.7.0", + "prompts": "^2.0.1" + }, + "bin": { + "create-jest": "bin/create-jest.js" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + } + }, + "node_modules/cross-spawn": { + "version": "7.0.3", + "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.3.tgz", + "integrity": "sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w==", + "dev": true, + "dependencies": { + "path-key": "^3.1.0", + "shebang-command": "^2.0.0", + "which": "^2.0.1" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/debug": { + "version": "4.3.4", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.4.tgz", + "integrity": "sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==", + "dependencies": { + "ms": "2.1.2" + }, + "engines": { + "node": ">=6.0" + }, + "peerDependenciesMeta": { + "supports-color": { + "optional": true + } + } + }, + "node_modules/dedent": { + "version": "1.5.1", + "resolved": "https://registry.npmjs.org/dedent/-/dedent-1.5.1.tgz", + "integrity": "sha512-+LxW+KLWxu3HW3M2w2ympwtqPrqYRzU8fqi6Fhd18fBALe15blJPI/I4+UHveMVG6lJqB4JNd4UG0S5cnVHwIg==", + "dev": true, + "peerDependencies": { + "babel-plugin-macros": "^3.1.0" + }, + "peerDependenciesMeta": { + "babel-plugin-macros": { + "optional": true + } + } + }, + "node_modules/deepmerge": { + "version": "4.3.1", + "resolved": "https://registry.npmjs.org/deepmerge/-/deepmerge-4.3.1.tgz", + "integrity": "sha512-3sUqbMEc77XqpdNO7FRyRog+eW3ph+GYCbj+rK+uYyRMuwsVy0rMiVtPn+QJlKFvWP/1PYpapqYn0Me2knFn+A==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/delayed-stream": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/delayed-stream/-/delayed-stream-1.0.0.tgz", + "integrity": "sha512-ZySD7Nf91aLB0RxL4KGrKHBXl7Eds1DAmEdcoVawXnLD7SDhpNgtuII2aAkg7a7QS41jxPSZ17p4VdGnMHk3MQ==", + "engines": { + "node": ">=0.4.0" + } + }, + "node_modules/detect-newline": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/detect-newline/-/detect-newline-3.1.0.tgz", + "integrity": "sha512-TLz+x/vEXm/Y7P7wn1EJFNLxYpUD4TgMosxY6fAVJUnJMbupHBOncxyWUG9OpTaH9EBD7uFI5LfEgmMOc54DsA==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/dezalgo": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/dezalgo/-/dezalgo-1.0.4.tgz", + "integrity": "sha512-rXSP0bf+5n0Qonsb+SVVfNfIsimO4HEtmnIpPHY8Q1UCzKlQrDMfdobr8nJOOsRgWCyMRqeSBQzmWUMq7zvVig==", + "dependencies": { + "asap": "^2.0.0", + "wrappy": "1" + } + }, + "node_modules/diff-sequences": { + "version": "29.6.3", + "resolved": "https://registry.npmjs.org/diff-sequences/-/diff-sequences-29.6.3.tgz", + "integrity": "sha512-EjePK1srD3P08o2j4f0ExnylqRs5B9tJjcp9t1krH2qRi8CCdsYfwe9JgSLurFBWwq4uOlipzfk5fHNvwFKr8Q==", + "dev": true, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + } + }, + "node_modules/electron-to-chromium": { + "version": "1.4.549", + "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.4.549.tgz", + "integrity": "sha512-gpXfJslSi4hYDkA0mTLEpYKRv9siAgSUgZ+UWyk+J5Cttpd1ThCVwdclzIwQSclz3hYn049+M2fgrP1WpvF8xg==", + "dev": true + }, + "node_modules/emittery": { + "version": "0.13.1", + "resolved": "https://registry.npmjs.org/emittery/-/emittery-0.13.1.tgz", + "integrity": "sha512-DeWwawk6r5yR9jFgnDKYt4sLS0LmHJJi3ZOnb5/JdbYwj3nW+FxQnHIjhBKz8YLC7oRNPVM9NQ47I3CVx34eqQ==", + "dev": true, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sindresorhus/emittery?sponsor=1" + } + }, + "node_modules/emoji-regex": { + "version": "8.0.0", + "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz", + "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==", + "dev": true + }, + "node_modules/error-ex": { + "version": "1.3.2", + "resolved": "https://registry.npmjs.org/error-ex/-/error-ex-1.3.2.tgz", + "integrity": "sha512-7dFHNmqeFSEt2ZBsCriorKnn3Z2pj+fd9kmI6QoWw4//DL+icEBfc0U7qJCisqrTsKTjw4fNFy2pW9OqStD84g==", + "dev": true, + "dependencies": { + "is-arrayish": "^0.2.1" + } + }, + "node_modules/escalade": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/escalade/-/escalade-3.1.1.tgz", + "integrity": "sha512-k0er2gUkLf8O0zKJiAhmkTnJlTvINGv7ygDNPbeIsX/TJjGJZHuh9B2UxbsaEkmlEo9MfhrSzmhIlhRlI2GXnw==", + "dev": true, + "engines": { + "node": ">=6" + } + }, + "node_modules/escape-string-regexp": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-2.0.0.tgz", + "integrity": "sha512-UpzcLCXolUWcNu5HtVMHYdXJjArjsF9C0aNnquZYY4uW/Vu0miy5YoWvbV345HauVvcAUnpRuhMMcqTcGOY2+w==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/esprima": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/esprima/-/esprima-4.0.1.tgz", + "integrity": "sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A==", + "dev": true, + "bin": { + "esparse": "bin/esparse.js", + "esvalidate": "bin/esvalidate.js" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/execa": { + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/execa/-/execa-5.1.1.tgz", + "integrity": "sha512-8uSpZZocAZRBAPIEINJj3Lo9HyGitllczc27Eh5YYojjMFMn8yHMDMaUHE2Jqfq05D/wucwI4JGURyXt1vchyg==", + "dev": true, + "dependencies": { + "cross-spawn": "^7.0.3", + "get-stream": "^6.0.0", + "human-signals": "^2.1.0", + "is-stream": "^2.0.0", + "merge-stream": "^2.0.0", + "npm-run-path": "^4.0.1", + "onetime": "^5.1.2", + "signal-exit": "^3.0.3", + "strip-final-newline": "^2.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sindresorhus/execa?sponsor=1" + } + }, + "node_modules/exit": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/exit/-/exit-0.1.2.tgz", + "integrity": "sha512-Zk/eNKV2zbjpKzrsQ+n1G6poVbErQxJ0LBOJXaKZ1EViLzH+hrLu9cdXI4zw9dBQJslwBEpbQ2P1oS7nDxs6jQ==", + "dev": true, + "engines": { + "node": ">= 0.8.0" + } + }, + "node_modules/expect": { + "version": "29.7.0", + "resolved": "https://registry.npmjs.org/expect/-/expect-29.7.0.tgz", + "integrity": "sha512-2Zks0hf1VLFYI1kbh0I5jP3KHHyCHpkfyHBzsSXRFgl/Bg9mWYfMW8oD+PdMPlEwy5HNsR9JutYy6pMeOh61nw==", + "dev": true, + "dependencies": { + "@jest/expect-utils": "^29.7.0", + "jest-get-type": "^29.6.3", + "jest-matcher-utils": "^29.7.0", + "jest-message-util": "^29.7.0", + "jest-util": "^29.7.0" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + } + }, + "node_modules/fast-json-stable-stringify": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/fast-json-stable-stringify/-/fast-json-stable-stringify-2.1.0.tgz", + "integrity": "sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw==", + "dev": true + }, + "node_modules/fast-safe-stringify": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/fast-safe-stringify/-/fast-safe-stringify-2.1.1.tgz", + "integrity": "sha512-W+KJc2dmILlPplD/H4K9l9LcAHAfPtP6BY84uVLXQ6Evcz9Lcg33Y2z1IVblT6xdY54PXYVHEv+0Wpq8Io6zkA==" + }, + "node_modules/fb-watchman": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/fb-watchman/-/fb-watchman-2.0.2.tgz", + "integrity": "sha512-p5161BqbuCaSnB8jIbzQHOlpgsPmK5rJVDfDKO91Axs5NC1uu3HRQm6wt9cd9/+GtQQIO53JdGXXoyDpTAsgYA==", + "dev": true, + "dependencies": { + "bser": "2.1.1" + } + }, + "node_modules/fill-range": { + "version": "7.0.1", + "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.0.1.tgz", + "integrity": "sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ==", + "dev": true, + "dependencies": { + "to-regex-range": "^5.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/find-up": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/find-up/-/find-up-4.1.0.tgz", + "integrity": "sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw==", + "dev": true, + "dependencies": { + "locate-path": "^5.0.0", + "path-exists": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/form-data": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/form-data/-/form-data-4.0.0.tgz", + "integrity": "sha512-ETEklSGi5t0QMZuiXoA/Q6vcnxcLQP5vdugSpuAyi6SVGi2clPPp+xgEhuMaHC+zGgn31Kd235W35f7Hykkaww==", + "dependencies": { + "asynckit": "^0.4.0", + "combined-stream": "^1.0.8", + "mime-types": "^2.1.12" + }, + "engines": { + "node": ">= 6" + } + }, + "node_modules/formidable": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/formidable/-/formidable-2.1.2.tgz", + "integrity": "sha512-CM3GuJ57US06mlpQ47YcunuUZ9jpm8Vx+P2CGt2j7HpgkKZO/DJYQ0Bobim8G6PFQmK5lOqOOdUXboU+h73A4g==", + "dependencies": { + "dezalgo": "^1.0.4", + "hexoid": "^1.0.0", + "once": "^1.4.0", + "qs": "^6.11.0" + }, + "funding": { + "url": "https://ko-fi.com/tunnckoCore/commissions" + } + }, + "node_modules/fs.realpath": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz", + "integrity": "sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw==", + "dev": true + }, + "node_modules/fsevents": { + "version": "2.3.3", + "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.3.3.tgz", + "integrity": "sha512-5xoDfX+fL7faATnagmWPpbFtwh/R77WmMMqqHGS65C3vvB0YHrgF+B1YmZ3441tMj5n63k0212XNoJwzlhffQw==", + "dev": true, + "hasInstallScript": true, + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": "^8.16.0 || ^10.6.0 || >=11.0.0" + } + }, + "node_modules/function-bind": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.1.tgz", + "integrity": "sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A==" + }, + "node_modules/gensync": { + "version": "1.0.0-beta.2", + "resolved": "https://registry.npmjs.org/gensync/-/gensync-1.0.0-beta.2.tgz", + "integrity": "sha512-3hN7NaskYvMDLQY55gnW3NQ+mesEAepTqlg+VEbj7zzqEMBVNhzcGYYeqFo/TlYz6eQiFcp1HcsCZO+nGgS8zg==", + "dev": true, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/get-caller-file": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/get-caller-file/-/get-caller-file-2.0.5.tgz", + "integrity": "sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg==", + "dev": true, + "engines": { + "node": "6.* || 8.* || >= 10.*" + } + }, + "node_modules/get-intrinsic": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/get-intrinsic/-/get-intrinsic-1.2.1.tgz", + "integrity": "sha512-2DcsyfABl+gVHEfCOaTrWgyt+tb6MSEGmKq+kI5HwLbIYgjgmMcV8KQ41uaKz1xxUcn9tJtgFbQUEVcEbd0FYw==", + "dependencies": { + "function-bind": "^1.1.1", + "has": "^1.0.3", + "has-proto": "^1.0.1", + "has-symbols": "^1.0.3" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/get-package-type": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/get-package-type/-/get-package-type-0.1.0.tgz", + "integrity": "sha512-pjzuKtY64GYfWizNAJ0fr9VqttZkNiK2iS430LtIHzjBEr6bX8Am2zm4sW4Ro5wjWW5cAlRL1qAMTcXbjNAO2Q==", + "dev": true, + "engines": { + "node": ">=8.0.0" + } + }, + "node_modules/get-stream": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-6.0.1.tgz", + "integrity": "sha512-ts6Wi+2j3jQjqi70w5AlN8DFnkSwC+MqmxEzdEALB2qXZYV3X/b1CTfgPLGJNMeAWxdPfU8FO1ms3NUfaHCPYg==", + "dev": true, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/glob": { + "version": "7.2.3", + "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.3.tgz", + "integrity": "sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==", + "dev": true, + "dependencies": { + "fs.realpath": "^1.0.0", + "inflight": "^1.0.4", + "inherits": "2", + "minimatch": "^3.1.1", + "once": "^1.3.0", + "path-is-absolute": "^1.0.0" + }, + "engines": { + "node": "*" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/globals": { + "version": "11.12.0", + "resolved": "https://registry.npmjs.org/globals/-/globals-11.12.0.tgz", + "integrity": "sha512-WOBp/EEGUiIsJSp7wcv/y6MO+lV9UoncWqxuFfm8eBwzWNgyfBd6Gz+IeKQ9jCmyhoH99g15M3T+QaVHFjizVA==", + "dev": true, + "engines": { + "node": ">=4" + } + }, + "node_modules/graceful-fs": { + "version": "4.2.11", + "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.11.tgz", + "integrity": "sha512-RbJ5/jmFcNNCcDV5o9eTnBLJ/HszWV0P73bc+Ff4nS/rJj+YaS6IGyiOL0VoBYX+l1Wrl3k63h/KrH+nhJ0XvQ==", + "dev": true + }, + "node_modules/has": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/has/-/has-1.0.4.tgz", + "integrity": "sha512-qdSAmqLF6209RFj4VVItywPMbm3vWylknmB3nvNiUIs72xAimcM8nVYxYr7ncvZq5qzk9MKIZR8ijqD/1QuYjQ==", + "engines": { + "node": ">= 0.4.0" + } + }, + "node_modules/has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/has-proto": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/has-proto/-/has-proto-1.0.1.tgz", + "integrity": "sha512-7qE+iP+O+bgF9clE5+UoBFzE65mlBiVj3tKCrlNQ0Ogwm0BjpT/gK4SlLYDMybDh5I3TCTKnPPa0oMG7JDYrhg==", + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/has-symbols": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/has-symbols/-/has-symbols-1.0.3.tgz", + "integrity": "sha512-l3LCuF6MgDNwTDKkdYGEihYjt5pRPbEg46rtlmnSPlUbgmB8LOIrKJbYYFBSbnPaJexMKtiPO8hmeRjRz2Td+A==", + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/hexoid": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/hexoid/-/hexoid-1.0.0.tgz", + "integrity": "sha512-QFLV0taWQOZtvIRIAdBChesmogZrtuXvVWsFHZTk2SU+anspqZ2vMnoLg7IE1+Uk16N19APic1BuF8bC8c2m5g==", + "engines": { + "node": ">=8" + } + }, + "node_modules/html-escaper": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/html-escaper/-/html-escaper-2.0.2.tgz", + "integrity": "sha512-H2iMtd0I4Mt5eYiapRdIDjp+XzelXQ0tFE4JS7YFwFevXXMmOp9myNrUvCg0D6ws8iqkRPBfKHgbwig1SmlLfg==", + "dev": true + }, + "node_modules/human-signals": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/human-signals/-/human-signals-2.1.0.tgz", + "integrity": "sha512-B4FFZ6q/T2jhhksgkbEW3HBvWIfDW85snkQgawt07S7J5QXTk6BkNV+0yAeZrM5QpMAdYlocGoljn0sJ/WQkFw==", + "dev": true, + "engines": { + "node": ">=10.17.0" + } + }, + "node_modules/import-local": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/import-local/-/import-local-3.1.0.tgz", + "integrity": "sha512-ASB07uLtnDs1o6EHjKpX34BKYDSqnFerfTOJL2HvMqF70LnxpjkzDB8J44oT9pu4AMPkQwf8jl6szgvNd2tRIg==", + "dev": true, + "dependencies": { + "pkg-dir": "^4.2.0", + "resolve-cwd": "^3.0.0" + }, + "bin": { + "import-local-fixture": "fixtures/cli.js" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/imurmurhash": { + "version": "0.1.4", + "resolved": "https://registry.npmjs.org/imurmurhash/-/imurmurhash-0.1.4.tgz", + "integrity": "sha512-JmXMZ6wuvDmLiHEml9ykzqO6lwFbof0GG4IkcGaENdCRDDmMVnny7s5HsIgHCbaq0w2MyPhDqkhTUgS2LU2PHA==", + "dev": true, + "engines": { + "node": ">=0.8.19" + } + }, + "node_modules/inflight": { + "version": "1.0.6", + "resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz", + "integrity": "sha512-k92I/b08q4wvFscXCLvqfsHCrjrF7yiXsQuIVvVE7N82W3+aqpzuUdBbfhWcy/FZR3/4IgflMgKLOsvPDrGCJA==", + "dev": true, + "dependencies": { + "once": "^1.3.0", + "wrappy": "1" + } + }, + "node_modules/inherits": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz", + "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==", + "dev": true + }, + "node_modules/is-arrayish": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/is-arrayish/-/is-arrayish-0.2.1.tgz", + "integrity": "sha512-zz06S8t0ozoDXMG+ube26zeCTNXcKIPJZJi8hBrF4idCLms4CG9QtK7qBl1boi5ODzFpjswb5JPmHCbMpjaYzg==", + "dev": true + }, + "node_modules/is-core-module": { + "version": "2.13.0", + "resolved": "https://registry.npmjs.org/is-core-module/-/is-core-module-2.13.0.tgz", + "integrity": "sha512-Z7dk6Qo8pOCp3l4tsX2C5ZVas4V+UxwQodwZhLopL91TX8UyyHEXafPcyoeeWuLrwzHcr3igO78wNLwHJHsMCQ==", + "dev": true, + "dependencies": { + "has": "^1.0.3" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-fullwidth-code-point": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz", + "integrity": "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/is-generator-fn": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/is-generator-fn/-/is-generator-fn-2.1.0.tgz", + "integrity": "sha512-cTIB4yPYL/Grw0EaSzASzg6bBy9gqCofvWN8okThAYIxKJZC+udlRAmGbM0XLeniEJSs8uEgHPGuHSe1XsOLSQ==", + "dev": true, + "engines": { + "node": ">=6" + } + }, + "node_modules/is-number": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz", + "integrity": "sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==", + "dev": true, + "engines": { + "node": ">=0.12.0" + } + }, + "node_modules/is-stream": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-2.0.1.tgz", + "integrity": "sha512-hFoiJiTl63nn+kstHGBtewWSKnQLpyb155KHheA1l39uvtO9nWIop1p3udqPcUd/xbF1VLMO4n7OI6p7RbngDg==", + "dev": true, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/isexe": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz", + "integrity": "sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==", + "dev": true + }, + "node_modules/istanbul-lib-coverage": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/istanbul-lib-coverage/-/istanbul-lib-coverage-3.2.0.tgz", + "integrity": "sha512-eOeJ5BHCmHYvQK7xt9GkdHuzuCGS1Y6g9Gvnx3Ym33fz/HpLRYxiS0wHNr+m/MBC8B647Xt608vCDEvhl9c6Mw==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/istanbul-lib-instrument": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/istanbul-lib-instrument/-/istanbul-lib-instrument-6.0.1.tgz", + "integrity": "sha512-EAMEJBsYuyyztxMxW3g7ugGPkrZsV57v0Hmv3mm1uQsmB+QnZuepg731CRaIgeUVSdmsTngOkSnauNF8p7FIhA==", + "dev": true, + "dependencies": { + "@babel/core": "^7.12.3", + "@babel/parser": "^7.14.7", + "@istanbuljs/schema": "^0.1.2", + "istanbul-lib-coverage": "^3.2.0", + "semver": "^7.5.4" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/istanbul-lib-instrument/node_modules/lru-cache": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz", + "integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==", + "dev": true, + "dependencies": { + "yallist": "^4.0.0" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/istanbul-lib-instrument/node_modules/semver": { + "version": "7.5.4", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.5.4.tgz", + "integrity": "sha512-1bCSESV6Pv+i21Hvpxp3Dx+pSD8lIPt8uVjRrxAUt/nbswYc+tK6Y2btiULjd4+fnq15PX+nqQDC7Oft7WkwcA==", + "dev": true, + "dependencies": { + "lru-cache": "^6.0.0" + }, + "bin": { + "semver": "bin/semver.js" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/istanbul-lib-instrument/node_modules/yallist": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", + "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==", + "dev": true + }, + "node_modules/istanbul-lib-report": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/istanbul-lib-report/-/istanbul-lib-report-3.0.1.tgz", + "integrity": "sha512-GCfE1mtsHGOELCU8e/Z7YWzpmybrx/+dSTfLrvY8qRmaY6zXTKWn6WQIjaAFw069icm6GVMNkgu0NzI4iPZUNw==", + "dev": true, + "dependencies": { + "istanbul-lib-coverage": "^3.0.0", + "make-dir": "^4.0.0", + "supports-color": "^7.1.0" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/istanbul-lib-source-maps": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/istanbul-lib-source-maps/-/istanbul-lib-source-maps-4.0.1.tgz", + "integrity": "sha512-n3s8EwkdFIJCG3BPKBYvskgXGoy88ARzvegkitk60NxRdwltLOTaH7CUiMRXvwYorl0Q712iEjcWB+fK/MrWVw==", + "dev": true, + "dependencies": { + "debug": "^4.1.1", + "istanbul-lib-coverage": "^3.0.0", + "source-map": "^0.6.1" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/istanbul-reports": { + "version": "3.1.6", + "resolved": "https://registry.npmjs.org/istanbul-reports/-/istanbul-reports-3.1.6.tgz", + "integrity": "sha512-TLgnMkKg3iTDsQ9PbPTdpfAK2DzjF9mqUG7RMgcQl8oFjad8ob4laGxv5XV5U9MAfx8D6tSJiUyuAwzLicaxlg==", + "dev": true, + "dependencies": { + "html-escaper": "^2.0.0", + "istanbul-lib-report": "^3.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/jest": { + "version": "29.7.0", + "resolved": "https://registry.npmjs.org/jest/-/jest-29.7.0.tgz", + "integrity": "sha512-NIy3oAFp9shda19hy4HK0HRTWKtPJmGdnvywu01nOqNC2vZg+Z+fvJDxpMQA88eb2I9EcafcdjYgsDthnYTvGw==", + "dev": true, + "dependencies": { + "@jest/core": "^29.7.0", + "@jest/types": "^29.6.3", + "import-local": "^3.0.2", + "jest-cli": "^29.7.0" + }, + "bin": { + "jest": "bin/jest.js" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + }, + "peerDependencies": { + "node-notifier": "^8.0.1 || ^9.0.0 || ^10.0.0" + }, + "peerDependenciesMeta": { + "node-notifier": { + "optional": true + } + } + }, + "node_modules/jest-changed-files": { + "version": "29.7.0", + "resolved": "https://registry.npmjs.org/jest-changed-files/-/jest-changed-files-29.7.0.tgz", + "integrity": "sha512-fEArFiwf1BpQ+4bXSprcDc3/x4HSzL4al2tozwVpDFpsxALjLYdyiIK4e5Vz66GQJIbXJ82+35PtysofptNX2w==", + "dev": true, + "dependencies": { + "execa": "^5.0.0", + "jest-util": "^29.7.0", + "p-limit": "^3.1.0" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + } + }, + "node_modules/jest-circus": { + "version": "29.7.0", + "resolved": "https://registry.npmjs.org/jest-circus/-/jest-circus-29.7.0.tgz", + "integrity": "sha512-3E1nCMgipcTkCocFwM90XXQab9bS+GMsjdpmPrlelaxwD93Ad8iVEjX/vvHPdLPnFf+L40u+5+iutRdA1N9myw==", + "dev": true, + "dependencies": { + "@jest/environment": "^29.7.0", + "@jest/expect": "^29.7.0", + "@jest/test-result": "^29.7.0", + "@jest/types": "^29.6.3", + "@types/node": "*", + "chalk": "^4.0.0", + "co": "^4.6.0", + "dedent": "^1.0.0", + "is-generator-fn": "^2.0.0", + "jest-each": "^29.7.0", + "jest-matcher-utils": "^29.7.0", + "jest-message-util": "^29.7.0", + "jest-runtime": "^29.7.0", + "jest-snapshot": "^29.7.0", + "jest-util": "^29.7.0", + "p-limit": "^3.1.0", + "pretty-format": "^29.7.0", + "pure-rand": "^6.0.0", + "slash": "^3.0.0", + "stack-utils": "^2.0.3" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + } + }, + "node_modules/jest-cli": { + "version": "29.7.0", + "resolved": "https://registry.npmjs.org/jest-cli/-/jest-cli-29.7.0.tgz", + "integrity": "sha512-OVVobw2IubN/GSYsxETi+gOe7Ka59EFMR/twOU3Jb2GnKKeMGJB5SGUUrEz3SFVmJASUdZUzy83sLNNQ2gZslg==", + "dev": true, + "dependencies": { + "@jest/core": "^29.7.0", + "@jest/test-result": "^29.7.0", + "@jest/types": "^29.6.3", + "chalk": "^4.0.0", + "create-jest": "^29.7.0", + "exit": "^0.1.2", + "import-local": "^3.0.2", + "jest-config": "^29.7.0", + "jest-util": "^29.7.0", + "jest-validate": "^29.7.0", + "yargs": "^17.3.1" + }, + "bin": { + "jest": "bin/jest.js" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + }, + "peerDependencies": { + "node-notifier": "^8.0.1 || ^9.0.0 || ^10.0.0" + }, + "peerDependenciesMeta": { + "node-notifier": { + "optional": true + } + } + }, + "node_modules/jest-config": { + "version": "29.7.0", + "resolved": "https://registry.npmjs.org/jest-config/-/jest-config-29.7.0.tgz", + "integrity": "sha512-uXbpfeQ7R6TZBqI3/TxCU4q4ttk3u0PJeC+E0zbfSoSjq6bJ7buBPxzQPL0ifrkY4DNu4JUdk0ImlBUYi840eQ==", + "dev": true, + "dependencies": { + "@babel/core": "^7.11.6", + "@jest/test-sequencer": "^29.7.0", + "@jest/types": "^29.6.3", + "babel-jest": "^29.7.0", + "chalk": "^4.0.0", + "ci-info": "^3.2.0", + "deepmerge": "^4.2.2", + "glob": "^7.1.3", + "graceful-fs": "^4.2.9", + "jest-circus": "^29.7.0", + "jest-environment-node": "^29.7.0", + "jest-get-type": "^29.6.3", + "jest-regex-util": "^29.6.3", + "jest-resolve": "^29.7.0", + "jest-runner": "^29.7.0", + "jest-util": "^29.7.0", + "jest-validate": "^29.7.0", + "micromatch": "^4.0.4", + "parse-json": "^5.2.0", + "pretty-format": "^29.7.0", + "slash": "^3.0.0", + "strip-json-comments": "^3.1.1" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + }, + "peerDependencies": { + "@types/node": "*", + "ts-node": ">=9.0.0" + }, + "peerDependenciesMeta": { + "@types/node": { + "optional": true + }, + "ts-node": { + "optional": true + } + } + }, + "node_modules/jest-diff": { + "version": "29.7.0", + "resolved": "https://registry.npmjs.org/jest-diff/-/jest-diff-29.7.0.tgz", + "integrity": "sha512-LMIgiIrhigmPrs03JHpxUh2yISK3vLFPkAodPeo0+BuF7wA2FoQbkEg1u8gBYBThncu7e1oEDUfIXVuTqLRUjw==", + "dev": true, + "dependencies": { + "chalk": "^4.0.0", + "diff-sequences": "^29.6.3", + "jest-get-type": "^29.6.3", + "pretty-format": "^29.7.0" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + } + }, + "node_modules/jest-docblock": { + "version": "29.7.0", + "resolved": "https://registry.npmjs.org/jest-docblock/-/jest-docblock-29.7.0.tgz", + "integrity": "sha512-q617Auw3A612guyaFgsbFeYpNP5t2aoUNLwBUbc/0kD1R4t9ixDbyFTHd1nok4epoVFpr7PmeWHrhvuV3XaJ4g==", + "dev": true, + "dependencies": { + "detect-newline": "^3.0.0" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + } + }, + "node_modules/jest-each": { + "version": "29.7.0", + "resolved": "https://registry.npmjs.org/jest-each/-/jest-each-29.7.0.tgz", + "integrity": "sha512-gns+Er14+ZrEoC5fhOfYCY1LOHHr0TI+rQUHZS8Ttw2l7gl+80eHc/gFf2Ktkw0+SIACDTeWvpFcv3B04VembQ==", + "dev": true, + "dependencies": { + "@jest/types": "^29.6.3", + "chalk": "^4.0.0", + "jest-get-type": "^29.6.3", + "jest-util": "^29.7.0", + "pretty-format": "^29.7.0" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + } + }, + "node_modules/jest-environment-node": { + "version": "29.7.0", + "resolved": "https://registry.npmjs.org/jest-environment-node/-/jest-environment-node-29.7.0.tgz", + "integrity": "sha512-DOSwCRqXirTOyheM+4d5YZOrWcdu0LNZ87ewUoywbcb2XR4wKgqiG8vNeYwhjFMbEkfju7wx2GYH0P2gevGvFw==", + "dev": true, + "dependencies": { + "@jest/environment": "^29.7.0", + "@jest/fake-timers": "^29.7.0", + "@jest/types": "^29.6.3", + "@types/node": "*", + "jest-mock": "^29.7.0", + "jest-util": "^29.7.0" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + } + }, + "node_modules/jest-get-type": { + "version": "29.6.3", + "resolved": "https://registry.npmjs.org/jest-get-type/-/jest-get-type-29.6.3.tgz", + "integrity": "sha512-zrteXnqYxfQh7l5FHyL38jL39di8H8rHoecLH3JNxH3BwOrBsNeabdap5e0I23lD4HHI8W5VFBZqG4Eaq5LNcw==", + "dev": true, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + } + }, + "node_modules/jest-haste-map": { + "version": "29.7.0", + "resolved": "https://registry.npmjs.org/jest-haste-map/-/jest-haste-map-29.7.0.tgz", + "integrity": "sha512-fP8u2pyfqx0K1rGn1R9pyE0/KTn+G7PxktWidOBTqFPLYX0b9ksaMFkhK5vrS3DVun09pckLdlx90QthlW7AmA==", + "dev": true, + "dependencies": { + "@jest/types": "^29.6.3", + "@types/graceful-fs": "^4.1.3", + "@types/node": "*", + "anymatch": "^3.0.3", + "fb-watchman": "^2.0.0", + "graceful-fs": "^4.2.9", + "jest-regex-util": "^29.6.3", + "jest-util": "^29.7.0", + "jest-worker": "^29.7.0", + "micromatch": "^4.0.4", + "walker": "^1.0.8" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + }, + "optionalDependencies": { + "fsevents": "^2.3.2" + } + }, + "node_modules/jest-leak-detector": { + "version": "29.7.0", + "resolved": "https://registry.npmjs.org/jest-leak-detector/-/jest-leak-detector-29.7.0.tgz", + "integrity": "sha512-kYA8IJcSYtST2BY9I+SMC32nDpBT3J2NvWJx8+JCuCdl/CR1I4EKUJROiP8XtCcxqgTTBGJNdbB1A8XRKbTetw==", + "dev": true, + "dependencies": { + "jest-get-type": "^29.6.3", + "pretty-format": "^29.7.0" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + } + }, + "node_modules/jest-matcher-utils": { + "version": "29.7.0", + "resolved": "https://registry.npmjs.org/jest-matcher-utils/-/jest-matcher-utils-29.7.0.tgz", + "integrity": "sha512-sBkD+Xi9DtcChsI3L3u0+N0opgPYnCRPtGcQYrgXmR+hmt/fYfWAL0xRXYU8eWOdfuLgBe0YCW3AFtnRLagq/g==", + "dev": true, + "dependencies": { + "chalk": "^4.0.0", + "jest-diff": "^29.7.0", + "jest-get-type": "^29.6.3", + "pretty-format": "^29.7.0" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + } + }, + "node_modules/jest-message-util": { + "version": "29.7.0", + "resolved": "https://registry.npmjs.org/jest-message-util/-/jest-message-util-29.7.0.tgz", + "integrity": "sha512-GBEV4GRADeP+qtB2+6u61stea8mGcOT4mCtrYISZwfu9/ISHFJ/5zOMXYbpBE9RsS5+Gb63DW4FgmnKJ79Kf6w==", + "dev": true, + "dependencies": { + "@babel/code-frame": "^7.12.13", + "@jest/types": "^29.6.3", + "@types/stack-utils": "^2.0.0", + "chalk": "^4.0.0", + "graceful-fs": "^4.2.9", + "micromatch": "^4.0.4", + "pretty-format": "^29.7.0", + "slash": "^3.0.0", + "stack-utils": "^2.0.3" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + } + }, + "node_modules/jest-mock": { + "version": "29.7.0", + "resolved": "https://registry.npmjs.org/jest-mock/-/jest-mock-29.7.0.tgz", + "integrity": "sha512-ITOMZn+UkYS4ZFh83xYAOzWStloNzJFO2s8DWrE4lhtGD+AorgnbkiKERe4wQVBydIGPx059g6riW5Btp6Llnw==", + "dev": true, + "dependencies": { + "@jest/types": "^29.6.3", + "@types/node": "*", + "jest-util": "^29.7.0" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + } + }, + "node_modules/jest-pnp-resolver": { + "version": "1.2.3", + "resolved": "https://registry.npmjs.org/jest-pnp-resolver/-/jest-pnp-resolver-1.2.3.tgz", + "integrity": "sha512-+3NpwQEnRoIBtx4fyhblQDPgJI0H1IEIkX7ShLUjPGA7TtUTvI1oiKi3SR4oBR0hQhQR80l4WAe5RrXBwWMA8w==", + "dev": true, + "engines": { + "node": ">=6" + }, + "peerDependencies": { + "jest-resolve": "*" + }, + "peerDependenciesMeta": { + "jest-resolve": { + "optional": true + } + } + }, + "node_modules/jest-regex-util": { + "version": "29.6.3", + "resolved": "https://registry.npmjs.org/jest-regex-util/-/jest-regex-util-29.6.3.tgz", + "integrity": "sha512-KJJBsRCyyLNWCNBOvZyRDnAIfUiRJ8v+hOBQYGn8gDyF3UegwiP4gwRR3/SDa42g1YbVycTidUF3rKjyLFDWbg==", + "dev": true, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + } + }, + "node_modules/jest-resolve": { + "version": "29.7.0", + "resolved": "https://registry.npmjs.org/jest-resolve/-/jest-resolve-29.7.0.tgz", + "integrity": "sha512-IOVhZSrg+UvVAshDSDtHyFCCBUl/Q3AAJv8iZ6ZjnZ74xzvwuzLXid9IIIPgTnY62SJjfuupMKZsZQRsCvxEgA==", + "dev": true, + "dependencies": { + "chalk": "^4.0.0", + "graceful-fs": "^4.2.9", + "jest-haste-map": "^29.7.0", + "jest-pnp-resolver": "^1.2.2", + "jest-util": "^29.7.0", + "jest-validate": "^29.7.0", + "resolve": "^1.20.0", + "resolve.exports": "^2.0.0", + "slash": "^3.0.0" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + } + }, + "node_modules/jest-resolve-dependencies": { + "version": "29.7.0", + "resolved": "https://registry.npmjs.org/jest-resolve-dependencies/-/jest-resolve-dependencies-29.7.0.tgz", + "integrity": "sha512-un0zD/6qxJ+S0et7WxeI3H5XSe9lTBBR7bOHCHXkKR6luG5mwDDlIzVQ0V5cZCuoTgEdcdwzTghYkTWfubi+nA==", + "dev": true, + "dependencies": { + "jest-regex-util": "^29.6.3", + "jest-snapshot": "^29.7.0" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + } + }, + "node_modules/jest-runner": { + "version": "29.7.0", + "resolved": "https://registry.npmjs.org/jest-runner/-/jest-runner-29.7.0.tgz", + "integrity": "sha512-fsc4N6cPCAahybGBfTRcq5wFR6fpLznMg47sY5aDpsoejOcVYFb07AHuSnR0liMcPTgBsA3ZJL6kFOjPdoNipQ==", + "dev": true, + "dependencies": { + "@jest/console": "^29.7.0", + "@jest/environment": "^29.7.0", + "@jest/test-result": "^29.7.0", + "@jest/transform": "^29.7.0", + "@jest/types": "^29.6.3", + "@types/node": "*", + "chalk": "^4.0.0", + "emittery": "^0.13.1", + "graceful-fs": "^4.2.9", + "jest-docblock": "^29.7.0", + "jest-environment-node": "^29.7.0", + "jest-haste-map": "^29.7.0", + "jest-leak-detector": "^29.7.0", + "jest-message-util": "^29.7.0", + "jest-resolve": "^29.7.0", + "jest-runtime": "^29.7.0", + "jest-util": "^29.7.0", + "jest-watcher": "^29.7.0", + "jest-worker": "^29.7.0", + "p-limit": "^3.1.0", + "source-map-support": "0.5.13" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + } + }, + "node_modules/jest-runtime": { + "version": "29.7.0", + "resolved": "https://registry.npmjs.org/jest-runtime/-/jest-runtime-29.7.0.tgz", + "integrity": "sha512-gUnLjgwdGqW7B4LvOIkbKs9WGbn+QLqRQQ9juC6HndeDiezIwhDP+mhMwHWCEcfQ5RUXa6OPnFF8BJh5xegwwQ==", + "dev": true, + "dependencies": { + "@jest/environment": "^29.7.0", + "@jest/fake-timers": "^29.7.0", + "@jest/globals": "^29.7.0", + "@jest/source-map": "^29.6.3", + "@jest/test-result": "^29.7.0", + "@jest/transform": "^29.7.0", + "@jest/types": "^29.6.3", + "@types/node": "*", + "chalk": "^4.0.0", + "cjs-module-lexer": "^1.0.0", + "collect-v8-coverage": "^1.0.0", + "glob": "^7.1.3", + "graceful-fs": "^4.2.9", + "jest-haste-map": "^29.7.0", + "jest-message-util": "^29.7.0", + "jest-mock": "^29.7.0", + "jest-regex-util": "^29.6.3", + "jest-resolve": "^29.7.0", + "jest-snapshot": "^29.7.0", + "jest-util": "^29.7.0", + "slash": "^3.0.0", + "strip-bom": "^4.0.0" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + } + }, + "node_modules/jest-snapshot": { + "version": "29.7.0", + "resolved": "https://registry.npmjs.org/jest-snapshot/-/jest-snapshot-29.7.0.tgz", + "integrity": "sha512-Rm0BMWtxBcioHr1/OX5YCP8Uov4riHvKPknOGs804Zg9JGZgmIBkbtlxJC/7Z4msKYVbIJtfU+tKb8xlYNfdkw==", + "dev": true, + "dependencies": { + "@babel/core": "^7.11.6", + "@babel/generator": "^7.7.2", + "@babel/plugin-syntax-jsx": "^7.7.2", + "@babel/plugin-syntax-typescript": "^7.7.2", + "@babel/types": "^7.3.3", + "@jest/expect-utils": "^29.7.0", + "@jest/transform": "^29.7.0", + "@jest/types": "^29.6.3", + "babel-preset-current-node-syntax": "^1.0.0", + "chalk": "^4.0.0", + "expect": "^29.7.0", + "graceful-fs": "^4.2.9", + "jest-diff": "^29.7.0", + "jest-get-type": "^29.6.3", + "jest-matcher-utils": "^29.7.0", + "jest-message-util": "^29.7.0", + "jest-util": "^29.7.0", + "natural-compare": "^1.4.0", + "pretty-format": "^29.7.0", + "semver": "^7.5.3" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + } + }, + "node_modules/jest-snapshot/node_modules/lru-cache": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz", + "integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==", + "dev": true, + "dependencies": { + "yallist": "^4.0.0" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/jest-snapshot/node_modules/semver": { + "version": "7.5.4", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.5.4.tgz", + "integrity": "sha512-1bCSESV6Pv+i21Hvpxp3Dx+pSD8lIPt8uVjRrxAUt/nbswYc+tK6Y2btiULjd4+fnq15PX+nqQDC7Oft7WkwcA==", + "dev": true, + "dependencies": { + "lru-cache": "^6.0.0" + }, + "bin": { + "semver": "bin/semver.js" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/jest-snapshot/node_modules/yallist": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", + "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==", + "dev": true + }, + "node_modules/jest-util": { + "version": "29.7.0", + "resolved": "https://registry.npmjs.org/jest-util/-/jest-util-29.7.0.tgz", + "integrity": "sha512-z6EbKajIpqGKU56y5KBUgy1dt1ihhQJgWzUlZHArA/+X2ad7Cb5iF+AK1EWVL/Bo7Rz9uurpqw6SiBCefUbCGA==", + "dev": true, + "dependencies": { + "@jest/types": "^29.6.3", + "@types/node": "*", + "chalk": "^4.0.0", + "ci-info": "^3.2.0", + "graceful-fs": "^4.2.9", + "picomatch": "^2.2.3" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + } + }, + "node_modules/jest-validate": { + "version": "29.7.0", + "resolved": "https://registry.npmjs.org/jest-validate/-/jest-validate-29.7.0.tgz", + "integrity": "sha512-ZB7wHqaRGVw/9hST/OuFUReG7M8vKeq0/J2egIGLdvjHCmYqGARhzXmtgi+gVeZ5uXFF219aOc3Ls2yLg27tkw==", + "dev": true, + "dependencies": { + "@jest/types": "^29.6.3", + "camelcase": "^6.2.0", + "chalk": "^4.0.0", + "jest-get-type": "^29.6.3", + "leven": "^3.1.0", + "pretty-format": "^29.7.0" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + } + }, + "node_modules/jest-validate/node_modules/camelcase": { + "version": "6.3.0", + "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-6.3.0.tgz", + "integrity": "sha512-Gmy6FhYlCY7uOElZUSbxo2UCDH8owEk996gkbrpsgGtrJLM3J7jGxl9Ic7Qwwj4ivOE5AWZWRMecDdF7hqGjFA==", + "dev": true, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/jest-watcher": { + "version": "29.7.0", + "resolved": "https://registry.npmjs.org/jest-watcher/-/jest-watcher-29.7.0.tgz", + "integrity": "sha512-49Fg7WXkU3Vl2h6LbLtMQ/HyB6rXSIX7SqvBLQmssRBGN9I0PNvPmAmCWSOY6SOvrjhI/F7/bGAv9RtnsPA03g==", + "dev": true, + "dependencies": { + "@jest/test-result": "^29.7.0", + "@jest/types": "^29.6.3", + "@types/node": "*", + "ansi-escapes": "^4.2.1", + "chalk": "^4.0.0", + "emittery": "^0.13.1", + "jest-util": "^29.7.0", + "string-length": "^4.0.1" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + } + }, + "node_modules/jest-worker": { + "version": "29.7.0", + "resolved": "https://registry.npmjs.org/jest-worker/-/jest-worker-29.7.0.tgz", + "integrity": "sha512-eIz2msL/EzL9UFTFFx7jBTkeZfku0yUAyZZZmJ93H2TYEiroIx2PQjEXcwYtYl8zXCxb+PAmA2hLIt/6ZEkPHw==", + "dev": true, + "dependencies": { + "@types/node": "*", + "jest-util": "^29.7.0", + "merge-stream": "^2.0.0", + "supports-color": "^8.0.0" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + } + }, + "node_modules/jest-worker/node_modules/supports-color": { + "version": "8.1.1", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-8.1.1.tgz", + "integrity": "sha512-MpUEN2OodtUzxvKQl72cUF7RQ5EiHsGvSsVG0ia9c5RbWGL2CI4C7EpPS8UTBIplnlzZiNuV56w+FuNxy3ty2Q==", + "dev": true, + "dependencies": { + "has-flag": "^4.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/supports-color?sponsor=1" + } + }, + "node_modules/js-tokens": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-4.0.0.tgz", + "integrity": "sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==", + "dev": true + }, + "node_modules/js-yaml": { + "version": "3.14.1", + "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-3.14.1.tgz", + "integrity": "sha512-okMH7OXXJ7YrN9Ok3/SXrnu4iX9yOk+25nqX4imS2npuvTYDmo/QEZoqwZkYaIDk3jVvBOTOIEgEhaLOynBS9g==", + "dev": true, + "dependencies": { + "argparse": "^1.0.7", + "esprima": "^4.0.0" + }, + "bin": { + "js-yaml": "bin/js-yaml.js" + } + }, + "node_modules/jsesc": { + "version": "2.5.2", + "resolved": "https://registry.npmjs.org/jsesc/-/jsesc-2.5.2.tgz", + "integrity": "sha512-OYu7XEzjkCQ3C5Ps3QIZsQfNpqoJyZZA99wd9aWd05NCtC5pWOkShK2mkL6HXQR6/Cy2lbNdPlZBpuQHXE63gA==", + "dev": true, + "bin": { + "jsesc": "bin/jsesc" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/json-parse-even-better-errors": { + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/json-parse-even-better-errors/-/json-parse-even-better-errors-2.3.1.tgz", + "integrity": "sha512-xyFwyhro/JEof6Ghe2iz2NcXoj2sloNsWr/XsERDK/oiPCfaNhl5ONfp+jQdAZRQQ0IJWNzH9zIZF7li91kh2w==", + "dev": true + }, + "node_modules/json5": { + "version": "2.2.3", + "resolved": "https://registry.npmjs.org/json5/-/json5-2.2.3.tgz", + "integrity": "sha512-XmOWe7eyHYH14cLdVPoyg+GOH3rYX++KpzrylJwSW98t3Nk+U8XOl8FWKOgwtzdb8lXGf6zYwDUzeHMWfxasyg==", + "dev": true, + "bin": { + "json5": "lib/cli.js" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/kleur": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/kleur/-/kleur-3.0.3.tgz", + "integrity": "sha512-eTIzlVOSUR+JxdDFepEYcBMtZ9Qqdef+rnzWdRZuMbOywu5tO2w2N7rqjoANZ5k9vywhL6Br1VRjUIgTQx4E8w==", + "dev": true, + "engines": { + "node": ">=6" + } + }, + "node_modules/leven": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/leven/-/leven-3.1.0.tgz", + "integrity": "sha512-qsda+H8jTaUaN/x5vzW2rzc+8Rw4TAQ/4KjB46IwK5VH+IlVeeeje/EoZRpiXvIqjFgK84QffqPztGI3VBLG1A==", + "dev": true, + "engines": { + "node": ">=6" + } + }, + "node_modules/lines-and-columns": { + "version": "1.2.4", + "resolved": "https://registry.npmjs.org/lines-and-columns/-/lines-and-columns-1.2.4.tgz", + "integrity": "sha512-7ylylesZQ/PV29jhEDl3Ufjo6ZX7gCqJr5F7PKrqc93v7fzSymt1BpwEU8nAUXs8qzzvqhbjhK5QZg6Mt/HkBg==", + "dev": true + }, + "node_modules/locate-path": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-5.0.0.tgz", + "integrity": "sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g==", + "dev": true, + "dependencies": { + "p-locate": "^4.1.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/lru-cache": { + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-5.1.1.tgz", + "integrity": "sha512-KpNARQA3Iwv+jTA0utUVVbrh+Jlrr1Fv0e56GGzAFOXN7dk/FviaDW8LHmK52DlcH4WP2n6gI8vN1aesBFgo9w==", + "dev": true, + "dependencies": { + "yallist": "^3.0.2" + } + }, + "node_modules/make-dir": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/make-dir/-/make-dir-4.0.0.tgz", + "integrity": "sha512-hXdUTZYIVOt1Ex//jAQi+wTZZpUpwBj/0QsOzqegb3rGMMeJiSEu5xLHnYfBrRV4RH2+OCSOO95Is/7x1WJ4bw==", + "dev": true, + "dependencies": { + "semver": "^7.5.3" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/make-dir/node_modules/lru-cache": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz", + "integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==", + "dev": true, + "dependencies": { + "yallist": "^4.0.0" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/make-dir/node_modules/semver": { + "version": "7.5.4", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.5.4.tgz", + "integrity": "sha512-1bCSESV6Pv+i21Hvpxp3Dx+pSD8lIPt8uVjRrxAUt/nbswYc+tK6Y2btiULjd4+fnq15PX+nqQDC7Oft7WkwcA==", + "dev": true, + "dependencies": { + "lru-cache": "^6.0.0" + }, + "bin": { + "semver": "bin/semver.js" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/make-dir/node_modules/yallist": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", + "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==", + "dev": true + }, + "node_modules/makeerror": { + "version": "1.0.12", + "resolved": "https://registry.npmjs.org/makeerror/-/makeerror-1.0.12.tgz", + "integrity": "sha512-JmqCvUhmt43madlpFzG4BQzG2Z3m6tvQDNKdClZnO3VbIudJYmxsT0FNJMeiB2+JTSlTQTSbU8QdesVmwJcmLg==", + "dev": true, + "dependencies": { + "tmpl": "1.0.5" + } + }, + "node_modules/merge-stream": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/merge-stream/-/merge-stream-2.0.0.tgz", + "integrity": "sha512-abv/qOcuPfk3URPfDzmZU1LKmuw8kT+0nIHvKrKgFrwifol/doWcdA4ZqsWQ8ENrFKkd67Mfpo/LovbIUsbt3w==", + "dev": true + }, + "node_modules/methods": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/methods/-/methods-1.1.2.tgz", + "integrity": "sha512-iclAHeNqNm68zFtnZ0e+1L2yUIdvzNoauKU4WBA3VvH/vPFieF7qfRlwUZU+DA9P9bPXIS90ulxoUoCH23sV2w==", + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/micromatch": { + "version": "4.0.5", + "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-4.0.5.tgz", + "integrity": "sha512-DMy+ERcEW2q8Z2Po+WNXuw3c5YaUSFjAO5GsJqfEl7UjvtIuFKO6ZrKvcItdy98dwFI2N1tg3zNIdKaQT+aNdA==", + "dev": true, + "dependencies": { + "braces": "^3.0.2", + "picomatch": "^2.3.1" + }, + "engines": { + "node": ">=8.6" + } + }, + "node_modules/mime": { + "version": "2.6.0", + "resolved": "https://registry.npmjs.org/mime/-/mime-2.6.0.tgz", + "integrity": "sha512-USPkMeET31rOMiarsBNIHZKLGgvKc/LrjofAnBlOttf5ajRvqiRA8QsenbcooctK6d6Ts6aqZXBA+XbkKthiQg==", + "bin": { + "mime": "cli.js" + }, + "engines": { + "node": ">=4.0.0" + } + }, + "node_modules/mime-db": { + "version": "1.52.0", + "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.52.0.tgz", + "integrity": "sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg==", + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/mime-types": { + "version": "2.1.35", + "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.35.tgz", + "integrity": "sha512-ZDY+bPm5zTTF+YpCrAU9nK0UgICYPT0QtT1NZWFv4s++TNkcgVaT0g6+4R2uI4MjQjzysHB1zxuWL50hzaeXiw==", + "dependencies": { + "mime-db": "1.52.0" + }, + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/mimic-fn": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/mimic-fn/-/mimic-fn-2.1.0.tgz", + "integrity": "sha512-OqbOk5oEQeAZ8WXWydlu9HJjz9WVdEIvamMCcXmuqUYjTknH/sqsWvhQ3vgwKFRR1HpjvNBKQ37nbJgYzGqGcg==", + "dev": true, + "engines": { + "node": ">=6" + } + }, + "node_modules/minimatch": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz", + "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==", + "dev": true, + "dependencies": { + "brace-expansion": "^1.1.7" + }, + "engines": { + "node": "*" + } + }, + "node_modules/ms": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", + "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==" + }, + "node_modules/natural-compare": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/natural-compare/-/natural-compare-1.4.0.tgz", + "integrity": "sha512-OWND8ei3VtNC9h7V60qff3SVobHr996CTwgxubgyQYEpg290h9J0buyECNNJexkFm5sOajh5G116RYA1c8ZMSw==", + "dev": true + }, + "node_modules/node-int64": { + "version": "0.4.0", + "resolved": "https://registry.npmjs.org/node-int64/-/node-int64-0.4.0.tgz", + "integrity": "sha512-O5lz91xSOeoXP6DulyHfllpq+Eg00MWitZIbtPfoSEvqIHdl5gfcY6hYzDWnj0qD5tz52PI08u9qUvSVeUBeHw==", + "dev": true + }, + "node_modules/node-releases": { + "version": "2.0.13", + "resolved": "https://registry.npmjs.org/node-releases/-/node-releases-2.0.13.tgz", + "integrity": "sha512-uYr7J37ae/ORWdZeQ1xxMJe3NtdmqMC/JZK+geofDrkLUApKRHPd18/TxtBOJ4A0/+uUIliorNrfYV6s1b02eQ==", + "dev": true + }, + "node_modules/normalize-path": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-3.0.0.tgz", + "integrity": "sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/npm-run-path": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/npm-run-path/-/npm-run-path-4.0.1.tgz", + "integrity": "sha512-S48WzZW777zhNIrn7gxOlISNAqi9ZC/uQFnRdbeIHhZhCA6UqpkOT8T1G7BvfdgP4Er8gF4sUbaS0i7QvIfCWw==", + "dev": true, + "dependencies": { + "path-key": "^3.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/object-inspect": { + "version": "1.12.3", + "resolved": "https://registry.npmjs.org/object-inspect/-/object-inspect-1.12.3.tgz", + "integrity": "sha512-geUvdk7c+eizMNUDkRpW1wJwgfOiOeHbxBR/hLXK1aT6zmVSO0jsQcs7fj6MGw89jC/cjGfLcNOrtMYtGqm81g==", + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/once": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz", + "integrity": "sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w==", + "dependencies": { + "wrappy": "1" + } + }, + "node_modules/onetime": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/onetime/-/onetime-5.1.2.tgz", + "integrity": "sha512-kbpaSSGJTWdAY5KPVeMOKXSrPtr8C8C7wodJbcsd51jRnmD+GZu8Y0VoU6Dm5Z4vWr0Ig/1NKuWRKf7j5aaYSg==", + "dev": true, + "dependencies": { + "mimic-fn": "^2.1.0" + }, + "engines": { + "node": ">=6" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/p-limit": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-3.1.0.tgz", + "integrity": "sha512-TYOanM3wGwNGsZN2cVTYPArw454xnXj5qmWF1bEoAc4+cU/ol7GVh7odevjp1FNHduHc3KZMcFduxU5Xc6uJRQ==", + "dev": true, + "dependencies": { + "yocto-queue": "^0.1.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/p-locate": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-4.1.0.tgz", + "integrity": "sha512-R79ZZ/0wAxKGu3oYMlz8jy/kbhsNrS7SKZ7PxEHBgJ5+F2mtFW2fK2cOtBh1cHYkQsbzFV7I+EoRKe6Yt0oK7A==", + "dev": true, + "dependencies": { + "p-limit": "^2.2.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/p-locate/node_modules/p-limit": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.3.0.tgz", + "integrity": "sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==", + "dev": true, + "dependencies": { + "p-try": "^2.0.0" + }, + "engines": { + "node": ">=6" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/p-try": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/p-try/-/p-try-2.2.0.tgz", + "integrity": "sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ==", + "dev": true, + "engines": { + "node": ">=6" + } + }, + "node_modules/parse-json": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/parse-json/-/parse-json-5.2.0.tgz", + "integrity": "sha512-ayCKvm/phCGxOkYRSCM82iDwct8/EonSEgCSxWxD7ve6jHggsFl4fZVQBPRNgQoKiuV/odhFrGzQXZwbifC8Rg==", + "dev": true, + "dependencies": { + "@babel/code-frame": "^7.0.0", + "error-ex": "^1.3.1", + "json-parse-even-better-errors": "^2.3.0", + "lines-and-columns": "^1.1.6" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/path-exists": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-4.0.0.tgz", + "integrity": "sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/path-is-absolute": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz", + "integrity": "sha512-AVbw3UJ2e9bq64vSaS9Am0fje1Pa8pbGqTTsmXfaIiMpnr5DlDhfJOuLj9Sf95ZPVDAUerDfEk88MPmPe7UCQg==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/path-key": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/path-key/-/path-key-3.1.1.tgz", + "integrity": "sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/path-parse": { + "version": "1.0.7", + "resolved": "https://registry.npmjs.org/path-parse/-/path-parse-1.0.7.tgz", + "integrity": "sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==", + "dev": true + }, + "node_modules/picocolors": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-1.0.0.tgz", + "integrity": "sha512-1fygroTLlHu66zi26VoTDv8yRgm0Fccecssto+MhsZ0D/DGW2sm8E8AjW7NU5VVTRt5GxbeZ5qBuJr+HyLYkjQ==", + "dev": true + }, + "node_modules/picomatch": { + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.3.1.tgz", + "integrity": "sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==", + "dev": true, + "engines": { + "node": ">=8.6" + }, + "funding": { + "url": "https://github.com/sponsors/jonschlinkert" + } + }, + "node_modules/pirates": { + "version": "4.0.6", + "resolved": "https://registry.npmjs.org/pirates/-/pirates-4.0.6.tgz", + "integrity": "sha512-saLsH7WeYYPiD25LDuLRRY/i+6HaPYr6G1OUlN39otzkSTxKnubR9RTxS3/Kk50s1g2JTgFwWQDQyplC5/SHZg==", + "dev": true, + "engines": { + "node": ">= 6" + } + }, + "node_modules/pkg-dir": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/pkg-dir/-/pkg-dir-4.2.0.tgz", + "integrity": "sha512-HRDzbaKjC+AOWVXxAU/x54COGeIv9eb+6CkDSQoNTt4XyWoIJvuPsXizxu/Fr23EiekbtZwmh1IcIG/l/a10GQ==", + "dev": true, + "dependencies": { + "find-up": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/pretty-format": { + "version": "29.7.0", + "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-29.7.0.tgz", + "integrity": "sha512-Pdlw/oPxN+aXdmM9R00JVC9WVFoCLTKJvDVLgmJ+qAffBMxsV85l/Lu7sNx4zSzPyoL2euImuEwHhOXdEgNFZQ==", + "dev": true, + "dependencies": { + "@jest/schemas": "^29.6.3", + "ansi-styles": "^5.0.0", + "react-is": "^18.0.0" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + } + }, + "node_modules/pretty-format/node_modules/ansi-styles": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-5.2.0.tgz", + "integrity": "sha512-Cxwpt2SfTzTtXcfOlzGEee8O+c+MmUgGrNiBcXnuWxuFJHe6a5Hz7qwhwe5OgaSYI0IJvkLqWX1ASG+cJOkEiA==", + "dev": true, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" + } + }, + "node_modules/prompts": { + "version": "2.4.2", + "resolved": "https://registry.npmjs.org/prompts/-/prompts-2.4.2.tgz", + "integrity": "sha512-NxNv/kLguCA7p3jE8oL2aEBsrJWgAakBpgmgK6lpPWV+WuOmY6r2/zbAVnP+T8bQlA0nzHXSJSJW0Hq7ylaD2Q==", + "dev": true, + "dependencies": { + "kleur": "^3.0.3", + "sisteransi": "^1.0.5" + }, + "engines": { + "node": ">= 6" + } + }, + "node_modules/pure-rand": { + "version": "6.0.4", + "resolved": "https://registry.npmjs.org/pure-rand/-/pure-rand-6.0.4.tgz", + "integrity": "sha512-LA0Y9kxMYv47GIPJy6MI84fqTd2HmYZI83W/kM/SkKfDlajnZYfmXFTxkbY+xSBPkLJxltMa9hIkmdc29eguMA==", + "dev": true, + "funding": [ + { + "type": "individual", + "url": "https://github.com/sponsors/dubzzz" + }, + { + "type": "opencollective", + "url": "https://opencollective.com/fast-check" + } + ] + }, + "node_modules/qs": { + "version": "6.11.2", + "resolved": "https://registry.npmjs.org/qs/-/qs-6.11.2.tgz", + "integrity": "sha512-tDNIz22aBzCDxLtVH++VnTfzxlfeK5CbqohpSqpJgj1Wg/cQbStNAz3NuqCs5vV+pjBsK4x4pN9HlVh7rcYRiA==", + "dependencies": { + "side-channel": "^1.0.4" + }, + "engines": { + "node": ">=0.6" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/react-is": { + "version": "18.2.0", + "resolved": "https://registry.npmjs.org/react-is/-/react-is-18.2.0.tgz", + "integrity": "sha512-xWGDIW6x921xtzPkhiULtthJHoJvBbF3q26fzloPCK0hsvxtPVelvftw3zjbHWSkR2km9Z+4uxbDDK/6Zw9B8w==", + "dev": true + }, + "node_modules/require-directory": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/require-directory/-/require-directory-2.1.1.tgz", + "integrity": "sha512-fGxEI7+wsG9xrvdjsrlmL22OMTTiHRwAMroiEeMgq8gzoLC/PQr7RsRDSTLUg/bZAZtF+TVIkHc6/4RIKrui+Q==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/resolve": { + "version": "1.22.8", + "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.22.8.tgz", + "integrity": "sha512-oKWePCxqpd6FlLvGV1VU0x7bkPmmCNolxzjMf4NczoDnQcIWrAF+cPtZn5i6n+RfD2d9i0tzpKnG6Yk168yIyw==", + "dev": true, + "dependencies": { + "is-core-module": "^2.13.0", + "path-parse": "^1.0.7", + "supports-preserve-symlinks-flag": "^1.0.0" + }, + "bin": { + "resolve": "bin/resolve" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/resolve-cwd": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/resolve-cwd/-/resolve-cwd-3.0.0.tgz", + "integrity": "sha512-OrZaX2Mb+rJCpH/6CpSqt9xFVpN++x01XnN2ie9g6P5/3xelLAkXWVADpdz1IHD/KFfEXyE6V0U01OQ3UO2rEg==", + "dev": true, + "dependencies": { + "resolve-from": "^5.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/resolve-from": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-5.0.0.tgz", + "integrity": "sha512-qYg9KP24dD5qka9J47d0aVky0N+b4fTU89LN9iDnjB5waksiC49rvMB0PrUJQGoTmH50XPiqOvAjDfaijGxYZw==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/resolve.exports": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/resolve.exports/-/resolve.exports-2.0.2.tgz", + "integrity": "sha512-X2UW6Nw3n/aMgDVy+0rSqgHlv39WZAlZrXCdnbyEiKm17DSqHX4MmQMaST3FbeWR5FTuRcUwYAziZajji0Y7mg==", + "dev": true, + "engines": { + "node": ">=10" + } + }, + "node_modules/semver": { + "version": "6.3.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz", + "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==", + "dev": true, + "bin": { + "semver": "bin/semver.js" + } + }, + "node_modules/shebang-command": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-2.0.0.tgz", + "integrity": "sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==", + "dev": true, + "dependencies": { + "shebang-regex": "^3.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/shebang-regex": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-3.0.0.tgz", + "integrity": "sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/side-channel": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/side-channel/-/side-channel-1.0.4.tgz", + "integrity": "sha512-q5XPytqFEIKHkGdiMIrY10mvLRvnQh42/+GoBlFW3b2LXLE2xxJpZFdm94we0BaoV3RwJyGqg5wS7epxTv0Zvw==", + "dependencies": { + "call-bind": "^1.0.0", + "get-intrinsic": "^1.0.2", + "object-inspect": "^1.9.0" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/signal-exit": { + "version": "3.0.7", + "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.7.tgz", + "integrity": "sha512-wnD2ZE+l+SPC/uoS0vXeE9L1+0wuaMqKlfz9AMUo38JsyLSBWSFcHR1Rri62LZc12vLr1gb3jl7iwQhgwpAbGQ==", + "dev": true + }, + "node_modules/sisteransi": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/sisteransi/-/sisteransi-1.0.5.tgz", + "integrity": "sha512-bLGGlR1QxBcynn2d5YmDX4MGjlZvy2MRBDRNHLJ8VI6l6+9FUiyTFNJ0IveOSP0bcXgVDPRcfGqA0pjaqUpfVg==", + "dev": true + }, + "node_modules/slash": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/slash/-/slash-3.0.0.tgz", + "integrity": "sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/source-map-support": { + "version": "0.5.13", + "resolved": "https://registry.npmjs.org/source-map-support/-/source-map-support-0.5.13.tgz", + "integrity": "sha512-SHSKFHadjVA5oR4PPqhtAVdcBWwRYVd6g6cAXnIbRiIwc2EhPrTuKUBdSLvlEKyIP3GCf89fltvcZiP9MMFA1w==", + "dev": true, + "dependencies": { + "buffer-from": "^1.0.0", + "source-map": "^0.6.0" + } + }, + "node_modules/sprintf-js": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/sprintf-js/-/sprintf-js-1.0.3.tgz", + "integrity": "sha512-D9cPgkvLlV3t3IzL0D0YLvGA9Ahk4PcvVwUbN0dSGr1aP0Nrt4AEnTUbuGvquEC0mA64Gqt1fzirlRs5ibXx8g==", + "dev": true + }, + "node_modules/stack-utils": { + "version": "2.0.6", + "resolved": "https://registry.npmjs.org/stack-utils/-/stack-utils-2.0.6.tgz", + "integrity": "sha512-XlkWvfIm6RmsWtNJx+uqtKLS8eqFbxUg0ZzLXqY0caEy9l7hruX8IpiDnjsLavoBgqCCR71TqWO8MaXYheJ3RQ==", + "dev": true, + "dependencies": { + "escape-string-regexp": "^2.0.0" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/string-length": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/string-length/-/string-length-4.0.2.tgz", + "integrity": "sha512-+l6rNN5fYHNhZZy41RXsYptCjA2Igmq4EG7kZAYFQI1E1VTXarr6ZPXBg6eq7Y6eK4FEhY6AJlyuFIb/v/S0VQ==", + "dev": true, + "dependencies": { + "char-regex": "^1.0.2", + "strip-ansi": "^6.0.0" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/string-width": { + "version": "4.2.3", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz", + "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==", + "dev": true, + "dependencies": { + "emoji-regex": "^8.0.0", + "is-fullwidth-code-point": "^3.0.0", + "strip-ansi": "^6.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/strip-ansi": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz", + "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==", + "dev": true, + "dependencies": { + "ansi-regex": "^5.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/strip-bom": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/strip-bom/-/strip-bom-4.0.0.tgz", + "integrity": "sha512-3xurFv5tEgii33Zi8Jtp55wEIILR9eh34FAW00PZf+JnSsTmV/ioewSgQl97JHvgjoRGwPShsWm+IdrxB35d0w==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/strip-final-newline": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/strip-final-newline/-/strip-final-newline-2.0.0.tgz", + "integrity": "sha512-BrpvfNAE3dcvq7ll3xVumzjKjZQ5tI1sEUIKr3Uoks0XUl45St3FlatVqef9prk4jRDzhW6WZg+3bk93y6pLjA==", + "dev": true, + "engines": { + "node": ">=6" + } + }, + "node_modules/strip-json-comments": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-3.1.1.tgz", + "integrity": "sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig==", + "dev": true, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/superagent": { + "version": "8.1.2", + "resolved": "https://registry.npmjs.org/superagent/-/superagent-8.1.2.tgz", + "integrity": "sha512-6WTxW1EB6yCxV5VFOIPQruWGHqc3yI7hEmZK6h+pyk69Lk/Ut7rLUY6W/ONF2MjBuGjvmMiIpsrVJ2vjrHlslA==", + "dependencies": { + "component-emitter": "^1.3.0", + "cookiejar": "^2.1.4", + "debug": "^4.3.4", + "fast-safe-stringify": "^2.1.1", + "form-data": "^4.0.0", + "formidable": "^2.1.2", + "methods": "^1.1.2", + "mime": "2.6.0", + "qs": "^6.11.0", + "semver": "^7.3.8" + }, + "engines": { + "node": ">=6.4.0 <13 || >=14" + } + }, + "node_modules/superagent/node_modules/lru-cache": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz", + "integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==", + "dependencies": { + "yallist": "^4.0.0" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/superagent/node_modules/semver": { + "version": "7.5.4", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.5.4.tgz", + "integrity": "sha512-1bCSESV6Pv+i21Hvpxp3Dx+pSD8lIPt8uVjRrxAUt/nbswYc+tK6Y2btiULjd4+fnq15PX+nqQDC7Oft7WkwcA==", + "dependencies": { + "lru-cache": "^6.0.0" + }, + "bin": { + "semver": "bin/semver.js" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/superagent/node_modules/yallist": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", + "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==" + }, + "node_modules/supports-color": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", + "dev": true, + "dependencies": { + "has-flag": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/supports-preserve-symlinks-flag": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/supports-preserve-symlinks-flag/-/supports-preserve-symlinks-flag-1.0.0.tgz", + "integrity": "sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w==", + "dev": true, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/test-exclude": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/test-exclude/-/test-exclude-6.0.0.tgz", + "integrity": "sha512-cAGWPIyOHU6zlmg88jwm7VRyXnMN7iV68OGAbYDk/Mh/xC/pzVPlQtY6ngoIH/5/tciuhGfvESU8GrHrcxD56w==", + "dev": true, + "dependencies": { + "@istanbuljs/schema": "^0.1.2", + "glob": "^7.1.4", + "minimatch": "^3.0.4" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/tmpl": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/tmpl/-/tmpl-1.0.5.tgz", + "integrity": "sha512-3f0uOEAQwIqGuWW2MVzYg8fV/QNnc/IpuJNG837rLuczAaLVHslWHZQj4IGiEl5Hs3kkbhwL9Ab7Hrsmuj+Smw==", + "dev": true + }, + "node_modules/to-fast-properties": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/to-fast-properties/-/to-fast-properties-2.0.0.tgz", + "integrity": "sha512-/OaKK0xYrs3DmxRYqL/yDc+FxFUVYhDlXMhRmv3z915w2HF1tnN1omB354j8VUGO/hbRzyD6Y3sA7v7GS/ceog==", + "dev": true, + "engines": { + "node": ">=4" + } + }, + "node_modules/to-regex-range": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-5.0.1.tgz", + "integrity": "sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==", + "dev": true, + "dependencies": { + "is-number": "^7.0.0" + }, + "engines": { + "node": ">=8.0" + } + }, + "node_modules/type-detect": { + "version": "4.0.8", + "resolved": "https://registry.npmjs.org/type-detect/-/type-detect-4.0.8.tgz", + "integrity": "sha512-0fr/mIH1dlO+x7TlcMy+bIDqKPsw/70tVyeHW787goQjhmqaZe10uwLujubK9q9Lg6Fiho1KUKDYz0Z7k7g5/g==", + "dev": true, + "engines": { + "node": ">=4" + } + }, + "node_modules/type-fest": { + "version": "0.21.3", + "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.21.3.tgz", + "integrity": "sha512-t0rzBq87m3fVcduHDUFhKmyyX+9eo6WQjZvf51Ea/M0Q7+T374Jp1aUiyUl0GKxp8M/OETVHSDvmkyPgvX+X2w==", + "dev": true, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/undici-types": { + "version": "5.25.3", + "resolved": "https://registry.npmjs.org/undici-types/-/undici-types-5.25.3.tgz", + "integrity": "sha512-Ga1jfYwRn7+cP9v8auvEXN1rX3sWqlayd4HP7OKk4mZWylEmu3KzXDUGrQUN6Ol7qo1gPvB2e5gX6udnyEPgdA==", + "dev": true + }, + "node_modules/update-browserslist-db": { + "version": "1.0.13", + "resolved": "https://registry.npmjs.org/update-browserslist-db/-/update-browserslist-db-1.0.13.tgz", + "integrity": "sha512-xebP81SNcPuNpPP3uzeW1NYXxI3rxyJzF3pD6sH4jE7o/IX+WtSpwnVU+qIsDPyk0d3hmFQ7mjqc6AtV604hbg==", + "dev": true, + "funding": [ + { + "type": "opencollective", + "url": "https://opencollective.com/browserslist" + }, + { + "type": "tidelift", + "url": "https://tidelift.com/funding/github/npm/browserslist" + }, + { + "type": "github", + "url": "https://github.com/sponsors/ai" + } + ], + "dependencies": { + "escalade": "^3.1.1", + "picocolors": "^1.0.0" + }, + "bin": { + "update-browserslist-db": "cli.js" + }, + "peerDependencies": { + "browserslist": ">= 4.21.0" + } + }, + "node_modules/v8-to-istanbul": { + "version": "9.1.3", + "resolved": "https://registry.npmjs.org/v8-to-istanbul/-/v8-to-istanbul-9.1.3.tgz", + "integrity": "sha512-9lDD+EVI2fjFsMWXc6dy5JJzBsVTcQ2fVkfBvncZ6xJWG9wtBhOldG+mHkSL0+V1K/xgZz0JDO5UT5hFwHUghg==", + "dev": true, + "dependencies": { + "@jridgewell/trace-mapping": "^0.3.12", + "@types/istanbul-lib-coverage": "^2.0.1", + "convert-source-map": "^2.0.0" + }, + "engines": { + "node": ">=10.12.0" + } + }, + "node_modules/walker": { + "version": "1.0.8", + "resolved": "https://registry.npmjs.org/walker/-/walker-1.0.8.tgz", + "integrity": "sha512-ts/8E8l5b7kY0vlWLewOkDXMmPdLcVV4GmOQLyxuSswIJsweeFZtAsMF7k1Nszz+TYBQrlYRmzOnr398y1JemQ==", + "dev": true, + "dependencies": { + "makeerror": "1.0.12" + } + }, + "node_modules/which": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/which/-/which-2.0.2.tgz", + "integrity": "sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==", + "dev": true, + "dependencies": { + "isexe": "^2.0.0" + }, + "bin": { + "node-which": "bin/node-which" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/wrap-ansi": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-7.0.0.tgz", + "integrity": "sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==", + "dev": true, + "dependencies": { + "ansi-styles": "^4.0.0", + "string-width": "^4.1.0", + "strip-ansi": "^6.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/wrap-ansi?sponsor=1" + } + }, + "node_modules/wrappy": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz", + "integrity": "sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ==" + }, + "node_modules/write-file-atomic": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/write-file-atomic/-/write-file-atomic-4.0.2.tgz", + "integrity": "sha512-7KxauUdBmSdWnmpaGFg+ppNjKF8uNLry8LyzjauQDOVONfFLNKrKvQOxZ/VuTIcS/gge/YNahf5RIIQWTSarlg==", + "dev": true, + "dependencies": { + "imurmurhash": "^0.1.4", + "signal-exit": "^3.0.7" + }, + "engines": { + "node": "^12.13.0 || ^14.15.0 || >=16.0.0" + } + }, + "node_modules/y18n": { + "version": "5.0.8", + "resolved": "https://registry.npmjs.org/y18n/-/y18n-5.0.8.tgz", + "integrity": "sha512-0pfFzegeDWJHJIAmTLRP2DwHjdF5s7jo9tuztdQxAhINCdvS+3nGINqPd00AphqJR/0LhANUS6/+7SCb98YOfA==", + "dev": true, + "engines": { + "node": ">=10" + } + }, + "node_modules/yallist": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/yallist/-/yallist-3.1.1.tgz", + "integrity": "sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g==", + "dev": true + }, + "node_modules/yargs": { + "version": "17.7.2", + "resolved": "https://registry.npmjs.org/yargs/-/yargs-17.7.2.tgz", + "integrity": "sha512-7dSzzRQ++CKnNI/krKnYRV7JKKPUXMEh61soaHKg9mrWEhzFWhFnxPxGl+69cD1Ou63C13NUPCnmIcrvqCuM6w==", + "dev": true, + "dependencies": { + "cliui": "^8.0.1", + "escalade": "^3.1.1", + "get-caller-file": "^2.0.5", + "require-directory": "^2.1.1", + "string-width": "^4.2.3", + "y18n": "^5.0.5", + "yargs-parser": "^21.1.1" + }, + "engines": { + "node": ">=12" + } + }, + "node_modules/yargs-parser": { + "version": "21.1.1", + "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-21.1.1.tgz", + "integrity": "sha512-tVpsJW7DdjecAiFpbIB1e3qxIQsE6NoPc5/eTdrbbIC4h0LVsWhnoa3g+m2HclBIujHzsxZ4VJVA+GUuc2/LBw==", + "dev": true, + "engines": { + "node": ">=12" + } + }, + "node_modules/yocto-queue": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/yocto-queue/-/yocto-queue-0.1.0.tgz", + "integrity": "sha512-rVksvsnNCdJ/ohGc6xgPwyN8eheCxsiLM8mxuE/t/mOVqJewPuO1miLpTHQiRgTKCLexL4MeAFVagts7HmNZ2Q==", + "dev": true, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + } + } +} diff --git a/clients/sellingpartner-api-aa-javascript/package.json b/clients/sellingpartner-api-aa-javascript/package.json new file mode 100644 index 000000000..77b90524e --- /dev/null +++ b/clients/sellingpartner-api-aa-javascript/package.json @@ -0,0 +1,22 @@ +{ + "name": "@amzn/testsellingpartnerjavascriptapilwalib", + "type": "module", + "version": "1.0.0", + "description": "The NPM package name should always start with `@amzn/` to cleanly separate from public packages, avoid accidental publish to public repository, and allow publishing to CodeArtifact.", + "main": "/src/index.mjs", + "scripts": { + "test": "node --experimental-vm-modules node_modules/jest/bin/jest.js --config test_for_generated_sdk/jest.config.json" + }, + "repository": { + "type": "git", + "url": "ssh://git.amazon.com/pkg/TestSellingPartnerJavaScriptApiLwaLib" + }, + "author": "", + "license": "ISC", + "dependencies": { + "superagent": "^8.0.9" + }, + "devDependencies": { + "jest": "^29.6.2" + } +} diff --git a/clients/sellingpartner-api-aa-javascript/src/generate-js-sdk.sh b/clients/sellingpartner-api-aa-javascript/src/generate-js-sdk.sh new file mode 100755 index 000000000..09f052fb5 --- /dev/null +++ b/clients/sellingpartner-api-aa-javascript/src/generate-js-sdk.sh @@ -0,0 +1,85 @@ +#!/bin/bash +GITHUB_REPO="https://github.com/amzn/selling-partner-api-models.git" +BASE_DIR=$(cd "$(dirname "$0")" && cd .. && pwd) +CLONE_DIR="$BASE_DIR/models" + +# Get swagger jar file path from the input arguments +swagger_jar_path="" +while getopts 'j:' flag; do + case "${flag}" in + j) swagger_jar_path="${OPTARG}" + ;; + *) echo "available options are '-j'" + exit 1 + ;; + esac +done + +if [ ! -f "$swagger_jar_path" ]; then + echo "option '-j ' did not specify executable file. Aborted." + exit 1 +fi + +########################################################################## +if [ -d "$CLONE_DIR" ]; then + # prompt user, and if user gives "y", delete the directory. + read -p "Found $CLONE_DIR already exists. Would you like to delete all the files under '$CLONE_DIR' and clone again? [y/n]: " confirm + if [ "$confirm" == "y" ]; then + # delete all the files in the directory + rm -rf "${CLONE_DIR:?}/*" + echo "Deleted files in $CLONE_DIR directory. Recreating $CLONE_DIR again." + git clone "$GITHUB_REPO" "$CLONE_DIR" + else + echo "OK. Proceeding with the existing ${CLONE_DIR} without cloning." + fi +else + midir "$CLONE_DIR" + git clone "$GITHUB_REPO" "$CLONE_DIR" +fi + +########################################################################## +TEMPLATE_DIR="$BASE_DIR/src/resources/swagger-codegen/templates" +MODEL_DIR="$CLONE_DIR/models" +SDK_DIR="$BASE_DIR/sdk" +CODEGEN_CONFIG_PATH="$BASE_DIR/src/js.config.json" + +MODELS=("${MODEL_DIR}"/*/*) +basePackage="js-client" + +if [ -d "$SDK_DIR" ]; then + rm -rf "${SDK_DIR:?}/*" +fi + +if [ ! -d "$SDK_DIR" ]; then + mkdir "$SDK_DIR" +fi + +function get_model_name () { + swaggerFile="$1" + modelNameWithExtension="${swaggerFile##*/}" + echo "${modelNameWithExtension%.*}" +} + +for model in "${MODELS[@]}" +do + modelName=$(get_model_name "$model") + echo "model = $model" + echo "model name = $modelName" + java -jar "${swagger_jar_path}" generate \ + --config "${CODEGEN_CONFIG_PATH}" \ + --input-spec "${model}" \ + --lang javascript \ + --template-dir "${TEMPLATE_DIR}" \ + --output "${SDK_DIR}" \ + --invoker-package "${modelName}" \ + --api-package "${basePackage}.${modelName}.api" \ + --model-package "${basePackage}.${modelName}.model" \ + --group-id "com.amazon" \ + --artifact-id "sp-api-javascript-client" +done + +echo "***********************************************************" +echo "SP-API SDK is created under ${SDK_DIR} and SDK source code " +echo "should be found ${SDK_DIR}/src/." +echo "Please copy the SDK source DIRECTORIES (such as \"catalogItems_2022-04-01\")" +echo "you want to use to the directory \"code/javascript/src/jsdsdk.\"." \ No newline at end of file diff --git a/clients/sellingpartner-api-aa-javascript/src/helper/LwaAuthClient.mjs b/clients/sellingpartner-api-aa-javascript/src/helper/LwaAuthClient.mjs new file mode 100644 index 000000000..e788d393d --- /dev/null +++ b/clients/sellingpartner-api-aa-javascript/src/helper/LwaAuthClient.mjs @@ -0,0 +1,59 @@ +import superagent from 'superagent'; + +export class LwaAuthClient { + #clientId = null; + #clientSecret = null; + #refreshToken = null; + #accessToken = null; + #accessTokenExpiry = null; + /** + * Constructs a new LwaAuthClient. + * @class + * @param {String} clientId LWA client ID. Get this value from SP-API Developer Portal. + * @param {String} clientSecret LWA client secret. Get this value from SP-API Developer Portal. + * @param {String} refreshToken LWA refresh token. Get this value from SP-API Developer Portal. + */ + constructor(clientId, clientSecret, refreshToken) { + if (!clientId || typeof clientId !== 'string') { + throw new Error(`invalid clientId.`); + } + if (!clientSecret || typeof clientSecret !== 'string') { + throw new Error(`invalid clientSecret`); + } + if (!refreshToken || typeof refreshToken !== 'string') { + throw new Error(`invalid refreshToken`); + } + this.#clientId = clientId; + this.#clientSecret = clientSecret; + this.#refreshToken = refreshToken; + } + + /** + * Either retrieve LWA access token or return access token if it already has valid token. + * @returns {Promise} LWA access token. + */ + async getAccessToken() { + if (this.#accessToken && this.#accessToken && this.#accessTokenExpiry > Date.now()) { + console.log(`LWA access token already exists and is valid. ${this.#accessTokenExpiry}`); + return Promise.resolve(this.#accessToken); + } + const token = await this.#doRefresh(); + if (!token || !token.access_token) { + throw new Error(`Failed to refresh LWA token.`); + } + this.#accessToken = token.access_token; + this.#accessTokenExpiry = new Date().getTime() + (token.expires_in * 1000); + return this.#accessToken; + } + + /** + * Private method to execute LWA token refresh flow. + * @returns {Promise} LWA token response. + */ + #doRefresh = async () => { + const res = await superagent.post('https://api.amazon.com/auth/o2/token') + .send(`grant_type=refresh_token&refresh_token=${this.#refreshToken}&client_id=${this.#clientId}&client_secret=${this.#clientSecret}`) + .set("Content-Type", "application/x-www-form-urlencoded;charset=UTF-8"); + return res.body; + } +} diff --git a/clients/sellingpartner-api-aa-javascript/src/js.config.json b/clients/sellingpartner-api-aa-javascript/src/js.config.json new file mode 100644 index 000000000..c0a52786d --- /dev/null +++ b/clients/sellingpartner-api-aa-javascript/src/js.config.json @@ -0,0 +1,5 @@ +{ + "usePromises": true, + "useES6": true, + "modelPropertyNaming": "camelCase" +} \ No newline at end of file diff --git a/clients/sellingpartner-api-aa-javascript/src/resources/swagger-codegen/templates/ApiClient.mustache b/clients/sellingpartner-api-aa-javascript/src/resources/swagger-codegen/templates/ApiClient.mustache new file mode 100644 index 000000000..ebe7ef759 --- /dev/null +++ b/clients/sellingpartner-api-aa-javascript/src/resources/swagger-codegen/templates/ApiClient.mustache @@ -0,0 +1,769 @@ +{{>licenseInfo}} +import superagent from "superagent"; +import querystring from "querystring"; +import { URL } from 'node:url'; + +{{#emitJSDoc}}/** +* @module {{#invokerPackage}}{{invokerPackage}}/{{/invokerPackage}}ApiClient +* @version {{projectVersion}} +*/ + +/** +* Private class used by ApiClient class. Used for executing LWA refresh token flow. +* @class +*/ +class LwaOAuthClient { + /** + * Private member to store LWA credential and refresh token. + * @type {Object.} + */ + #lwaClientInfo = {}; + + /** + * Private member to cache one access token that is retrieved by auto-retrieval. + * @type {String | null} + */ + #cachedToken = null; + + /** + * Private member to cache one access token that is retrieved by auto-retrieval. + * @type {Number | null} + */ + #cachedTokenExpiration = null; + + /** + * Constructs a new LwaOAuthClient. + * @param {String} clientId LWA Client ID. + * @param {String} clientSecret LWA Client Secret. + * @param {String} refreshToken LWA Refresh token. + */ + constructor(clientId, clientSecret, refreshToken) { + this.#lwaClientInfo = { + clientId, clientSecret, refreshToken, + }; + } + + /** + * Execute LWA refresh token flow to retrieve access token to be used for SP-API calls. + * @returns {Promise} LWA access token. + */ + retrieveAccessToken = async () => { + if (this.#cachedToken && this.#cachedTokenExpiration && this.#cachedTokenExpiration > Date.now()) { + return Promise.resolve(this.#cachedToken); + } + const res = await this.#doRefresh(); + this.#cachedToken = res.access_token; + this.#cachedTokenExpiration = Date.now() + res.expires_in * 1000; + return this.#cachedToken; + } + + /** + * Private method to execute LWA token refresh flow. + * @returns {Promise} LWA token response. + */ + #doRefresh = async () => { + const res = await superagent.post('https://api.amazon.com/auth/o2/token') + .send(`grant_type=refresh_token&refresh_token=${this.#lwaClientInfo.refreshToken}&client_id=${this.#lwaClientInfo.clientId}&client_secret=${this.#lwaClientInfo.clientSecret}`) + .set("Content-Type", "application/x-www-form-urlencoded;charset=UTF-8"); + return res.body; + } +} + +/** +* Private class used by ApiClient class. Used for executing LWA refresh token flow and calling Tokens API to retrieve RDT. +* @class +*/ +class TokensApiClient { + /** + * Private member to execute LWA refresh token flow. + * @type {Object.} + */ + #lwaClient = null; + + /** + * Private member to store 'dataElements' parameter for Tokens API call. + * @type {Array.} + */ + #dataElements = null; + + /** + * Constructs a new TokensApiClient. + * @param {String} clientId LWA Client ID. + * @param {String} clientSecret LWA Client Secret. + * @param {String} refreshToken LWA Refresh token. + * @param {Array.} dataElements Optional specifiers for PII data elements tp retrieve. + */ + constructor(clientId, clientSecret, refreshToken, dataElements) { + this.#lwaClient = new LwaOAuthClient(clientId, clientSecret, refreshToken, dataElements); + if (dataElements && !Array.isArray(dataElements)) { + throw new Error(`dataElements parameter to TokensApiClient constructor must be array of string. Illegal parameter:${dataElements}`); + } + this.#dataElements = dataElements ? dataElements : null; + } + + /** + * Execute createRestrictedDataToken to retrieve RDT to be used for PII-handling SP-API calls. + * @param {String} method method for SP-API request. + * @param {String} url URL for SP-API call to be made. + * @param {Array.} dataElements specify PII information to get from "buyerInfo", "shippingAddress" and "buyerTaxInformation". + * @returns {Promise} Restricted Data Token (RDT). + */ + retrieveRestrictedDataToken = async (method, url) => { + const accessToken = await this.#lwaClient.retrieveAccessToken(); + const urlToRequest = new URL(url); + const res = await this.#doCreateRestrictedDataToken(accessToken, method, urlToRequest); + return res.restrictedDataToken; + } + + /** + * Private method to execute createRestrictedDataToken + * @param {String} accessToken Access token to call RDT request. + * @param {URL} url URL object for URL string manipulation. + * @param {Array.} dataElements specify PII information to get from "buyerInfo", "shippingAddress" and "buyerTaxInformation". + * @returns {Promise} createRestrictedDataToken response. + */ + #doCreateRestrictedDataToken = async (accessToken, method, url) => { + const tokenApiUrl = `${url.origin}/tokens/2021-03-01/restrictedDataToken`; + const pathToRequest = url.pathname; + const res = await superagent.post(tokenApiUrl) + .send( + { + restrictedResources: [ + { + method: method, + path: pathToRequest, + dataElements: this.#dataElements ? this.#dataElements : undefined, + } + ] + } + ).set("Content-Type", "application/json") + .set({"x-amz-access-token": accessToken}); + return res.body; + } +} + +/** +* Manages low level client-server communications, parameter marshalling, etc. There should not be any need for an +* application to use this class directly - the *Api and model classes provide the public API for the service. The +* contents of this file should be regarded as internal but are documented for completeness. +* @alias module:{{#invokerPackage}}{{invokerPackage}}/{{/invokerPackage}}ApiClient +* @class +*/{{/emitJSDoc}} +export class ApiClient { + #tokenForApiCall = null; + #lwaClient = null; + #rdtClient = null; + + {{#emitJSDoc}}/** + * Constructs a new ApiClient. + * @param {String} baseUrl Base URL of endpoint ex. "https://sellingpartnerapi-na.amazon.com" + */{{/emitJSDoc}} + constructor(baseUrl) { + {{#emitJSDoc}}/** + * The base URL against which to resolve every API call's (relative) path. + * @type {String} + * @default {{{basePath}}} + */{{/emitJSDoc}} + this.basePath = baseUrl ? baseUrl.replace(/\/+$/, '') : '{{{basePath}}}'.replace(/\/+$/, ''); + + {{#emitJSDoc}}/** + * The authentication methods to be included for all API calls. + * @type {Array.} + */{{/emitJSDoc}}{{=< >=}} + this.authentications = { +<#authMethods> +<#isBasic> + '': {type: 'basic'}<^-last>, + +<#isApiKey> + '': {type: 'apiKey', 'in': <#isKeyInHeader>'header'<^isKeyInHeader>'query', name: ''}<^-last>, + +<#isOAuth> + '': {type: 'oauth2'}<^-last>, + + + } + + <={{ }}=>{{#emitJSDoc}}/** + * The default HTTP headers to be included for all API calls. + * @type {Array.} + * @default {} + */{{/emitJSDoc}} + this.defaultHeaders = {}; + + /** + * The default HTTP timeout for all API calls. + * @type {Number} + * @default 60000 + */ + this.timeout = 60000; + + /** + * If set to false an additional timestamp parameter is added to all API GET calls to + * prevent browser caching + * @type {Boolean} + * @default true + */ + this.cache = true; + + {{#emitJSDoc}}/** + * If set to true, the client will save the cookies from each server + * response, and return them in the next request. + * @default false + */{{/emitJSDoc}} + this.enableCookies = false; + + /* + * Used to save and return cookies in a node.js (non-browser) setting, + * if this.enableCookies is set to true. + */ + if (typeof window === 'undefined') { + this.agent = new superagent.agent(); + } + + /* + * Allow user to override superagent agent + */ + this.requestAgent = null; + } + + {{#emitJSDoc}}/** + * Returns this ApiClient so that you can chain the methods. + * @param {String} clientId LWA client ID. + * @param {String} clientSecret LWA client secret. + * @param {String} refreshToken LWA refresh token. + * @param {Array.} dataElementsOption specify PII information to get from "buyerInfo", "shippingAddress" and "buyerTaxInformation". + * @returns {ApiClient} This ApiClient, which is going to use give accessToken for all API calls. + */{{/emitJSDoc}} + enableAutoRetrievalRestrictedDataToken(clientId, clientSecret, refreshToken, dataElementsOption) { + // TODO + if (!clientId || !clientSecret || !refreshToken) { + throw new Error('invalid parameter(s) to enableAutoRetrievalRestrictedDataToken.'); + } + this.#rdtClient = new TokensApiClient(clientId, clientSecret, refreshToken, dataElementsOption); + return this; + } + + {{#emitJSDoc}}/** + * Returns this ApiClient so that you can chain the methods. + * @param {String} clientId LWA client ID. + * @param {String} clientSecret LWA client secret. + * @param {String} refreshToken LWA refresh token. + * @returns {ApiClient} This ApiClient, which is going to use give accessToken for all API calls. + */{{/emitJSDoc}} + enableAutoRetrievalAccessToken(clientId, clientSecret, refreshToken) { + if (!clientId || !clientSecret || !refreshToken) { + throw new Error('invalid parameter(s) to enableAutoRetrievalAccessToken.'); + } + this.#lwaClient = new LwaOAuthClient(clientId, clientSecret, refreshToken); + return this; + } + + + {{#emitJSDoc}}/** + * Returns this ApiClient so that you can chain the methods. + * @param {String} restrictedDataToken RDT token to use for SP-API call. + * @returns {ApiClient} This ApiClient, which is going to use give RDT for all API calls. + */{{/emitJSDoc}} + applyRestrictedDataToken(restrictedDataToken) { + this.#tokenForApiCall = restrictedDataToken; + return this; + } + + {{#emitJSDoc}}/** + * Returns a string representation for an actual parameter. + * @param param The actual parameter. + * @returns {String} The string representation of param. + */{{/emitJSDoc}} + paramToString(param) { + if (param == undefined || param == null) { + return ''; + } + if (param instanceof Date) { + return param.toJSON(); + } + + return param.toString(); + } + + {{#emitJSDoc}}/** + * Builds full URL by appending the given path to the base URL and replacing path parameter place-holders with parameter values. + * NOTE: query parameters are not handled here. + * @param {String} path The path to append to the base URL. + * @param {Object} pathParams The parameter values to append. + * @returns {String} The encoded path with parameter values substituted. + */{{/emitJSDoc}} + buildUrl(path, pathParams) { + if (!path.match(/^\//)) { + path = '/' + path; + } + + var url = this.basePath + path; + url = url.replace(/\{([\w-]+)\}/g, (fullMatch, key) => { + var value; + if (pathParams.hasOwnProperty(key)) { + value = this.paramToString(pathParams[key]); + } else { + value = fullMatch; + } + + return encodeURIComponent(value); + }); + + return url; + } + + {{#emitJSDoc}}/** + * Checks whether the given content type represents JSON.
+ * JSON content type examples:
+ *
    + *
  • application/json
  • + *
  • application/json; charset=UTF8
  • + *
  • APPLICATION/JSON
  • + *
+ * @param {String} contentType The MIME content type to check. + * @returns {Boolean} true if contentType represents JSON, otherwise false. + */{{/emitJSDoc}} + isJsonMime(contentType) { + return Boolean(contentType != null && contentType.match(/^application\/json(;.*)?$/i)); + } + + {{#emitJSDoc}}/** + * Chooses a content type from the given array, with JSON preferred; i.e. return JSON if included, otherwise return the first. + * @param {Array.} contentTypes + * @returns {String} The chosen content type, preferring JSON. + */{{/emitJSDoc}} + jsonPreferredMime(contentTypes) { + for (var i = 0; i < contentTypes.length; i++) { + if (this.isJsonMime(contentTypes[i])) { + return contentTypes[i]; + } + } + + return contentTypes[0]; + } + + {{#emitJSDoc}}/** + * Checks whether the given parameter value represents file-like content. + * @param param The parameter to check. + * @returns {Boolean} true if param represents a file. + */ + {{/emitJSDoc}} + isFileParam(param) { + // fs.ReadStream in Node.js and Electron (but not in runtime like browserify) + if (typeof require === 'function') { + let fs; + try { + fs = require('fs'); + } catch (err) {} + if (fs && fs.ReadStream && param instanceof fs.ReadStream) { + return true; + } + } + + // Buffer in Node.js + if (typeof Buffer === 'function' && param instanceof Buffer) { + return true; + } + + // Blob in browser + if (typeof Blob === 'function' && param instanceof Blob) { + return true; + } + + // File in browser (it seems File object is also instance of Blob, but keep this for safe) + if (typeof File === 'function' && param instanceof File) { + return true; + } + + return false; + } + + {{#emitJSDoc}}/** + * Normalizes parameter values: + *
    + *
  • remove nils
  • + *
  • keep files and arrays
  • + *
  • format to string with `paramToString` for other cases
  • + *
+ * @param {Object.} params The parameters as object properties. + * @returns {Object.} normalized parameters. + */{{/emitJSDoc}} + normalizeParams(params) { + var newParams = {}; + for (var key in params) { + if (params.hasOwnProperty(key) && params[key] != undefined && params[key] != null) { + var value = params[key]; + if (this.isFileParam(value) || Array.isArray(value)) { + newParams[key] = value; + } else { + newParams[key] = this.paramToString(value); + } + } + } + + return newParams; + } + + {{#emitJSDoc}}/** + * Enumeration of collection format separator strategies. + * @enum {String} + * @readonly + */{{/emitJSDoc}} + static CollectionFormatEnum = { + {{#emitJSDoc}}/** + * Comma-separated values. Value: csv + * @const + */{{/emitJSDoc}} + CSV: ',', + + {{#emitJSDoc}}/** + * Space-separated values. Value: ssv + * @const + */{{/emitJSDoc}} + SSV: ' ', + + {{#emitJSDoc}}/** + * Tab-separated values. Value: tsv + * @const + */{{/emitJSDoc}} + TSV: '\t', + + {{#emitJSDoc}}/** + * Pipe(|)-separated values. Value: pipes + * @const + */{{/emitJSDoc}} + PIPES: '|', + + {{#emitJSDoc}}/** + * Native array. Value: multi + * @const + */{{/emitJSDoc}} + MULTI: 'multi' + }; + + {{#emitJSDoc}}/** + * Builds a string representation of an array-type actual parameter, according to the given collection format. + * @param {Array} param An array parameter. + * @param {module:{{#invokerPackage}}{{invokerPackage}}/{{/invokerPackage}}ApiClient.CollectionFormatEnum} collectionFormat The array element separator strategy. + * @returns {String|Array} A string representation of the supplied collection, using the specified delimiter. Returns + * param as is if collectionFormat is multi. + */{{/emitJSDoc}} + buildCollectionParam(param, collectionFormat) { + if (param == null) { + return null; + } + switch (collectionFormat) { + case 'csv': + return param.map(this.paramToString).join(','); + case 'ssv': + return param.map(this.paramToString).join(' '); + case 'tsv': + return param.map(this.paramToString).join('\t'); + case 'pipes': + return param.map(this.paramToString).join('|'); + case 'multi': + //return the array directly as SuperAgent will handle it as expected + return param.map(this.paramToString); + default: + throw new Error('Unknown collection format: ' + collectionFormat); + } + } + + {{#emitJSDoc}}/** + * Applies authentication headers to the request. + * @param {String} accessOrRdtToken Either Access Token or Restricted Data Token to add as 'x-amz-access-token'. + * @returns {ApiClient} This ApiClient, which is going to use give RDT for all API calls. + */ + {{/emitJSDoc}} + applyXAmzAccessTokenToRequest(accessOrRdtToken) { + if (!accessOrRdtToken) { + throw new Error('empty string, null or undefined passed to applyXAmzAccessTokenToRequest'); + } + this.#tokenForApiCall = accessOrRdtToken; + return this; + } + + {{#emitJSDoc}}/** + * Deserializes an HTTP response body into a value of the specified type. + * @param {Object} response A SuperAgent response object. + * @param {(String|Array.|Object.|Function)} returnType The type to return. Pass a string for simple types + * or the constructor function for a complex type. Pass an array containing the type name to return an array of that type. To + * return an object, pass an object with one property whose name is the key type and whose value is the corresponding value type: + * all properties on data will be converted to this type. + * @returns A value of the specified type. + */ + {{/emitJSDoc}} + deserialize(response, returnType) { + if (response == null || returnType == null || response.status == 204) { + return null; + } + + // Rely on SuperAgent for parsing response body. + // See http://visionmedia.github.io/superagent/#parsing-response-bodies + var data = response.body; + if (data == null || (typeof data === 'object' && typeof data.length === 'undefined' && !Object.keys(data).length)) { + // SuperAgent does not always produce a body; use the unparsed response as a fallback + data = response.text; + } + + return ApiClient.convertToType(data, returnType); + } + + {{#emitJSDoc}}{{^usePromises}}/** + * Callback function to receive the result of the operation. + * @callback module:{{#invokerPackage}}{{invokerPackage}}/{{/invokerPackage}}ApiClient~callApiCallback + * @param {String} error Error message, if any. + * @param data The data returned by the service call. + * @param {String} response The complete HTTP response. + */{{/usePromises}}{{/emitJSDoc}} + + {{#emitJSDoc}}/** + * Invokes the REST service using the supplied settings and parameters. + * @param {String} path The base URL to invoke. + * @param {String} httpMethod The HTTP method to use. + * @param {Object.} pathParams A map of path parameters and their values. + * @param {Object.} queryParams A map of query parameters and their values. + * @param {Object.} headerParams A map of header parameters and their values. + * @param {Object.} formParams A map of form parameters and their values. + * @param {Object} bodyParam The value to pass as the request body. + * @param {Array.} contentTypes An array of request MIME types. + * @param {Array.} accepts An array of acceptable response MIME types. + * @param {(String|Array|ObjectFunction)} returnType The required type to return; can be a string for simple types or the + * constructor for a complex type.{{^usePromises}} + * @param {module:{{#invokerPackage}}{{invokerPackage}}/{{/invokerPackage}}ApiClient~callApiCallback} callback The callback function.{{/usePromises}} + * @returns {{#usePromises}}{Promise} A {@link https://www.promisejs.org/|Promise} object{{/usePromises}}{{^usePromises}}{Object} The SuperAgent request object{{/usePromises}}. + */ + {{/emitJSDoc}} + async callApi(path, httpMethod, pathParams, + queryParams, headerParams, formParams, bodyParam, contentTypes, accepts, + returnType{{^usePromises}}, callback{{/usePromises}}) { + + var url = this.buildUrl(path, pathParams); + var request = superagent(httpMethod, url); + if (!this.#tokenForApiCall && !this.#lwaClient && !this.#rdtClient) { + throw new Error('none of accessToken, RDT token and auto-retrieval is set.'); + } + + // set query parameters + if (httpMethod.toUpperCase() === 'GET' && this.cache === false) { + queryParams['_'] = new Date().getTime(); + } + + request.query(this.normalizeParams(queryParams)); + + // set header parameters + request.set(this.defaultHeaders).set(this.normalizeParams(headerParams)); + + // set x-amz-access-token header + if (this.#tokenForApiCall) { + // add custom header for SP-API call. + request.set({"x-amz-access-token": this.#tokenForApiCall}); + } else if (this.#rdtClient) { + const rdt = await this.#rdtClient.retrieveRestrictedDataToken(httpMethod, url); + request.set({"x-amz-access-token": rdt}); + } else if (this.#lwaClient) { + // execute token refresh. + const accessToken = await this.#lwaClient.retrieveAccessToken(); + request.set({"x-amz-access-token": accessToken}); + } + + // set requestAgent if it is set by user + if (this.requestAgent) { + request.agent(this.requestAgent); + } + + // set request timeout + request.timeout(this.timeout); + + var contentType = this.jsonPreferredMime(contentTypes); + if (contentType) { + // Issue with superagent and multipart/form-data (https://github.com/visionmedia/superagent/issues/746) + if(contentType != 'multipart/form-data') { + request.type(contentType); + } + } else if (!request.header['Content-Type']) { + request.type('application/json'); + } + + if (contentType === 'application/x-www-form-urlencoded') { + request.send(querystring.stringify(this.normalizeParams(formParams))); + } else if (contentType == 'multipart/form-data') { + var _formParams = this.normalizeParams(formParams); + for (var key in _formParams) { + if (_formParams.hasOwnProperty(key)) { + if (this.isFileParam(_formParams[key])) { + // file field + request.attach(key, _formParams[key]); + } else { + request.field(key, _formParams[key]); + } + } + } + } else if (bodyParam) { + request.send(bodyParam); + } + + var accept = this.jsonPreferredMime(accepts); + if (accept) { + request.accept(accept); + } + + if (returnType === 'Blob') { + request.responseType('blob'); + } else if (returnType === 'String') { + request.responseType('string'); + } + + // Attach previously saved cookies, if enabled + if (this.enableCookies){ + if (typeof window === 'undefined') { + this.agent.attachCookies(request); + } + else { + request.withCredentials(); + } + } + + {{#usePromises}}return new Promise((resolve, reject) => { + request.end((error, response) => { + if (error) { + reject(error); + } else { + try { + var data = this.deserialize(response, returnType); + if (this.enableCookies && typeof window === 'undefined'){ + this.agent.saveCookies(response); + } + + resolve({data, response}); + } catch (err) { + reject(err); + } + } + }); + });{{/usePromises}} + + {{^usePromises}}request.end((error, response) => { + if (callback) { + var data = null; + if (!error) { + try { + data = this.deserialize(response, returnType); + if (this.enableCookies && typeof window === 'undefined'){ + this.agent.saveCookies(response); + } + } catch (err) { + error = err; + } + } + + callback(error, data, response); + } + }); + + return request;{{/usePromises}} + } + + {{#emitJSDoc}}/** + * Parses an ISO-8601 string representation of a date value. + * @param {String} str The date value as a string. + * @returns {Date} The parsed date object. + */{{/emitJSDoc}} + static parseDate(str) { + return new Date(str); + } + + {{#emitJSDoc}}/** + * Converts a value to the specified type. + * @param {(String|Object)} data The data to convert, as a string or object. + * @param {(String|Array.|Object.|Function)} type The type to return. Pass a string for simple types + * or the constructor function for a complex type. Pass an array containing the type name to return an array of that type. To + * return an object, pass an object with one property whose name is the key type and whose value is the corresponding value type: + * all properties on data will be converted to this type. + * @returns An instance of the specified type or null or undefined if data is null or undefined. + */ + {{/emitJSDoc}} + static convertToType(data, type) { + if (data === null || data === undefined) + return data + + switch (type) { + case 'Boolean': + return Boolean(data); + case 'Integer': + return parseInt(data, 10); + case 'Number': + return parseFloat(data); + case 'String': + return String(data); + case 'Date': + return ApiClient.parseDate(String(data)); + case 'Blob': + return data; + default: + if (type === Object) { + // generic object, return directly + return data; + } else if (typeof type === 'function') { + // for model type like: User + return type.constructFromObject(data); + } else if (Array.isArray(type)) { + // for array type like: ['String'] + var itemType = type[0]; + + return data.map((item) => { + return ApiClient.convertToType(item, itemType); + }); + } else if (typeof type === 'object') { + // for plain object type like: {'String': 'Integer'} + var keyType, valueType; + for (var k in type) { + if (type.hasOwnProperty(k)) { + keyType = k; + valueType = type[k]; + break; + } + } + + var result = {}; + for (var k in data) { + if (data.hasOwnProperty(k)) { + var key = ApiClient.convertToType(k, keyType); + var value = ApiClient.convertToType(data[k], valueType); + result[key] = value; + } + } + + return result; + } else { + // for unknown type, return the data directly + return data; + } + } + } + + {{#emitJSDoc}}/** + * Constructs a new map or array model from REST data. + * @param data {Object|Array} The REST data. + * @param obj {Object|Array} The target object or array. + */{{/emitJSDoc}} + static constructFromObject(data, obj, itemType) { + if (Array.isArray(data)) { + for (var i = 0; i < data.length; i++) { + if (data.hasOwnProperty(i)) + obj[i] = ApiClient.convertToType(data[i], itemType); + } + } else { + for (var k in data) { + if (data.hasOwnProperty(k)) + obj[k] = ApiClient.convertToType(data[k], itemType); + } + } + } +} +{{#emitJSDoc}}/** +* The default API client implementation. +* @type {module:{{#invokerPackage}}{{invokerPackage}}/{{/invokerPackage}}ApiClient} +*/{{/emitJSDoc}} +ApiClient.instance = new ApiClient(); diff --git a/clients/sellingpartner-api-aa-javascript/src/resources/swagger-codegen/templates/api.mustache b/clients/sellingpartner-api-aa-javascript/src/resources/swagger-codegen/templates/api.mustache new file mode 100644 index 000000000..a656e61da --- /dev/null +++ b/clients/sellingpartner-api-aa-javascript/src/resources/swagger-codegen/templates/api.mustache @@ -0,0 +1,101 @@ +{{>licenseInfo}} +{{=< >=}} +import {ApiClient} from "../ApiClient.js"; +<#imports>import {} from '../<#modelPackage><&modelPackage>/.js'; + + +<#emitJSDoc>/** +* service. +* @module <#invokerPackage><&invokerPackage>/<#apiPackage><&apiPackage>/ +* @version +*/ +export class { + + <#emitJSDoc>/** + * Constructs a new <&classname>. <#description> + * + * @alias module:<#invokerPackage><&invokerPackage>/<#apiPackage>/ + * @class + * @param {module:<#invokerPackage><&invokerPackage>/ApiClient} [apiClient] Optional API client implementation to use, + * default to {@link module:<#invokerPackage><&invokerPackage>/ApiClient#instance} if unspecified. + */ + constructor(apiClient) { + this.apiClient = apiClient || ApiClient.instance; + } + +<#operations><#operation><#emitJSDoc><^usePromises> + /** + * Callback function to receive the result of the operation. + * @callback module:<#invokerPackage>/<#apiPackage>/~Callback + * @param {String} error Error message, if any. + * @param <#vendorExtensions.x-jsdoc-type>{<&vendorExtensions.x-jsdoc-type>} data The data returned by the service call.<^vendorExtensions.x-jsdoc-type>data This operation does not return a value. + * @param {String} response The complete HTTP response. + */ + + /**<#summary> + * <#notes> + * <#allParams><#required> + * @param {<&vendorExtensions.x-jsdoc-type>} <#hasOptionalParams> + * @param {Object} opts Optional parameters<#allParams><^required> + * @param {<&vendorExtensions.x-jsdoc-type>} opts. <#defaultValue> (default to <.>)<^usePromises> + * @param {module:<#invokerPackage><&invokerPackage>/<#apiPackage><&apiPackage>/<&classname>~Callback} callback The callback function, accepting three arguments: error, data, response<#returnType> + * data is of type: {@link <&vendorExtensions.x-jsdoc-type>}<#usePromises> + * @return {Promise} a {@link https://www.promisejs.org/|Promise}<#returnType>, with an object containing data of type {@link <&vendorExtensions.x-jsdoc-type>} and HTTP response<^returnType>, with an object containing HTTP response + */ + <#usePromises>WithHttpInfo(<^usePromises><#hasParams>, callback) {<#hasOptionalParams> + opts = opts || {}; + let postBody = <#bodyParam><#required><^required>opts['']<^bodyParam>null; +<#allParams><#required> + // verify the required parameter '' is set + if ( === undefined || === null) { + throw new Error("Missing the required parameter '' when calling "); + } + + + let pathParams = {<#pathParams> + '': <#required><^required>opts['']<#hasMore>, + }; + let queryParams = {<#queryParams> + '': <#collectionFormat>this.apiClient.buildCollectionParam(<#required><^required>opts[''], '')<^collectionFormat><#required><^required>opts['']<#hasMore>, + }; + let headerParams = {<#headerParams> + '': <#required><^required>opts['']<#hasMore>, + }; + let formParams = {<#formParams> + '': <#collectionFormat>this.apiClient.buildCollectionParam(<#required><^required>opts[''], '')<^collectionFormat><#required><^required>opts['']<#hasMore>, + }; + + let contentTypes = [<#consumes>'<& mediaType>'<#hasMore>, ]; + let accepts = [<#produces>'<& mediaType>'<#hasMore>, ]; + let returnType = <#returnType><&returnType><^returnType>null; + + return this.apiClient.callApi( + '<&path>', '', + pathParams, queryParams, headerParams, formParams, postBody, + contentTypes, accepts, returnType<^usePromises>, callback + ); + } +<#usePromises> + <#emitJSDoc> + + /**<#summary> + * <#notes> + * <#allParams><#required> + * @param {<&vendorExtensions.x-jsdoc-type>} <#hasOptionalParams> + * @param {Object} opts Optional parameters<#allParams><^required> + * @param {<&vendorExtensions.x-jsdoc-type>} opts. <#defaultValue> (default to <.>)<^usePromises> + * @param {module:<#invokerPackage><&invokerPackage>/<#apiPackage><&apiPackage>/<&classname>~Callback} callback The callback function, accepting three arguments: error, data, response<#returnType> + * data is of type: {@link <&vendorExtensions.x-jsdoc-type>}<#usePromises> + * @return {Promise} a {@link https://www.promisejs.org/|Promise}<#returnType>, with data of type {@link <&vendorExtensions.x-jsdoc-type>} + */ + () { + return this.WithHttpInfo() + .then(function(response_and_data) { + return response_and_data.data; + }); + } + + + +} +<={{ }}=> diff --git a/clients/sellingpartner-api-aa-javascript/src/resources/swagger-codegen/templates/index.mustache b/clients/sellingpartner-api-aa-javascript/src/resources/swagger-codegen/templates/index.mustache new file mode 100644 index 000000000..59ce2bc58 --- /dev/null +++ b/clients/sellingpartner-api-aa-javascript/src/resources/swagger-codegen/templates/index.mustache @@ -0,0 +1,59 @@ +{{>licenseInfo}} +{{=< >=}} +import {ApiClient} from './ApiClient.js'; +<#models>import {<#model>} from './<#modelPackage>/.js'; +<#apiInfo><#apis>import {} from './<#apiPackage>/.js'; + +<={{ }}=> + +{{#emitJSDoc}}/**{{#projectDescription}} +* {{projectDescription}}.
{{/projectDescription}} +* The index module provides access to constructors for all the classes which comprise the public API. +*

+* An AMD (recommended!) or CommonJS application will generally do something equivalent to the following: +*

+* var {{moduleName}} = require('{{#invokerPackage}}{{invokerPackage}}/{{/invokerPackage}}index'); // See note below*.
+* var xxxSvc = new {{moduleName}}.XxxApi(); // Allocate the API class we're going to use.
+* var yyyModel = new {{moduleName}}.Yyy(); // Construct a model instance.
+* yyyModel.someProperty = 'someValue';
+* ...
+* var zzz = xxxSvc.doSomething(yyyModel); // Invoke the service.
+* ...
+* 
+* *NOTE: For a top-level AMD script, use require(['{{#invokerPackage}}{{invokerPackage}}/{{/invokerPackage}}index'], function(){...}) +* and put the application logic within the callback function. +*

+*

+* A non-AMD browser application (discouraged) might do something like this: +*

+* var xxxSvc = new {{moduleName}}.XxxApi(); // Allocate the API class we're going to use.
+* var yyy = new {{moduleName}}.Yyy(); // Construct a model instance.
+* yyyModel.someProperty = 'someValue';
+* ...
+* var zzz = xxxSvc.doSomething(yyyModel); // Invoke the service.
+* ...
+* 
+*

+* @module {{#invokerPackage}}{{invokerPackage}}/{{/invokerPackage}}index +* @version {{projectVersion}} +*/{{/emitJSDoc}} +export { + {{=< >=}} + <#emitJSDoc>/** + * The ApiClient constructor. + * @property {module:<#invokerPackage>/ApiClient} + */ + ApiClient<#models>, + + <#emitJSDoc>/** + * The model constructor. + * @property {module:<#invokerPackage>/<#modelPackage>/} + */ + <#apiInfo><#apis>, + + <#emitJSDoc>/** + * The service constructor. + * @property {module:<#invokerPackage>/<#apiPackage>/} + */ + +};<={{ }}=> diff --git a/clients/sellingpartner-api-aa-javascript/src/resources/swagger-codegen/templates/model.mustache b/clients/sellingpartner-api-aa-javascript/src/resources/swagger-codegen/templates/model.mustache new file mode 100644 index 000000000..234d649d4 --- /dev/null +++ b/clients/sellingpartner-api-aa-javascript/src/resources/swagger-codegen/templates/model.mustache @@ -0,0 +1,18 @@ +{{>licenseInfo}} +{{=< >=}} +import {ApiClient} from '../ApiClient.js'; +<#imports> +import {} from './.js'; + +<={{ }}=> + +{{#models}} + {{#model}} + {{#isEnum}} +{{>partial_model_enum_class}} + {{/isEnum}} + {{^isEnum}} +{{>partial_model_generic}} + {{/isEnum}} + {{/model}} +{{/models}} diff --git a/clients/sellingpartner-api-aa-javascript/src/resources/swagger-codegen/templates/package.mustache b/clients/sellingpartner-api-aa-javascript/src/resources/swagger-codegen/templates/package.mustache new file mode 100644 index 000000000..d7d4b7f26 --- /dev/null +++ b/clients/sellingpartner-api-aa-javascript/src/resources/swagger-codegen/templates/package.mustache @@ -0,0 +1,29 @@ +{ + "name": "{{{projectName}}}", + "type": "module", + "version": "{{{projectVersion}}}", + "description": "{{{projectDescription}}}", + "license": "{{licenseName}}", + "main": "{{sourceFolder}}{{#invokerPackage}}/{{invokerPackage}}{{/invokerPackage}}/index.js", + "scripts": { + "test": "mocha --compilers js:babel-core/register --recursive" + }, + "browser": { + "fs": false + }, + "dependencies": { + "babel": "^6.23.0", + "babel-cli": "^6.26.0", + "babel-plugin-transform-builtin-extend": "^1.1.2", + "superagent": "3.7.0", + "querystring": "0.2.0" + }, + "devDependencies": { + "babel-core": "6.26.0", + "babel-preset-env": "^1.6.1", + "babel-preset-stage-0": "^6.24.1", + "mocha": "~2.3.4", + "sinon": "1.17.3", + "expect.js": "~0.3.1" + } +} diff --git a/clients/sellingpartner-api-aa-javascript/src/resources/swagger-codegen/templates/partial_model_generic.mustache b/clients/sellingpartner-api-aa-javascript/src/resources/swagger-codegen/templates/partial_model_generic.mustache new file mode 100644 index 000000000..3fdd6cdc2 --- /dev/null +++ b/clients/sellingpartner-api-aa-javascript/src/resources/swagger-codegen/templates/partial_model_generic.mustache @@ -0,0 +1,155 @@ +{{#emitJSDoc}} +/** + * The {{classname}} model module. + * @module {{#invokerPackage}}{{invokerPackage}}/{{/invokerPackage}}{{#modelPackage}}{{modelPackage}}/{{/modelPackage}}{{classname}} + * @version {{projectVersion}} + */ +{{/emitJSDoc}} +export class {{classname}} {{#parentModel}}extends {{classname}} {{/parentModel}}{{#parent}}{{^parentModel}}{{#vendorExtensions.x-isArray}}extends Array {{/vendorExtensions.x-isArray}}{{/parentModel}}{{/parent}}{ +{{#emitJSDoc}} + /** + * Constructs a new {{classname}}.{{#description}} + * {{description}}{{/description}} + * @alias module:{{#invokerPackage}}{{invokerPackage}}/{{/invokerPackage}}{{#modelPackage}}{{modelPackage}}/{{/modelPackage}}{{classname}} + * @class{{#useInheritance}}{{#parent}} + * @extends {{#parentModel}}module:{{#invokerPackage}}{{invokerPackage}}/{{/invokerPackage}}{{#modelPackage}}{{modelPackage}}/{{/modelPackage}}{{classname}}{{/parentModel}}{{^parentModel}}{{#vendorExtensions.x-isArray}}Array{{/vendorExtensions.x-isArray}}{{#vendorExtensions.x-isMap}}Object{{/vendorExtensions.x-isMap}}{{/parentModel}}{{/parent}}{{#interfaces}} + * @implements module:{{#invokerPackage}}{{invokerPackage}}/{{/invokerPackage}}{{#modelPackage}}{{modelPackage}}/{{/modelPackage}}{{.}}{{/interfaces}}{{/useInheritance}}{{#vendorExtensions.x-all-required}} + * @param {{name}} {{=< >=}}{<&vendorExtensions.x-jsdoc-type>}<={{ }}=> {{#description}}{{{description}}}{{/description}}{{/vendorExtensions.x-all-required}} + */ +{{/emitJSDoc}} + constructor({{#vendorExtensions.x-all-required}}{{name}}{{^-last}}, {{/-last}}{{/vendorExtensions.x-all-required}}) { +{{#parentModel}} + super({{#vendorExtensions.x-all-required}}{{name}}{{^-last}}, {{/-last}}{{/vendorExtensions.x-all-required}}); +{{/parentModel}} +{{#parent}} + {{^parentModel}} + {{#vendorExtensions.x-isArray}} + super(); + {{/vendorExtensions.x-isArray}} + {{/parentModel}} +{{/parent}} +{{#useInheritance}} + {{#interfaceModels}} + {{classname}}.call(this{{#vendorExtensions.x-all-required}}, {{name}}{{/vendorExtensions.x-all-required}}); + {{/interfaceModels}} +{{/useInheritance}} +{{#vars}} + {{#required}} + this.{{name}} = {{name}}; + {{/required}} +{{/vars}} + } + +{{#emitJSDoc}} + /** + * Constructs a {{classname}} from a plain JavaScript object, optionally creating a new instance. + * Copies all relevant properties from data to obj if supplied or a new instance if not. + * @param {Object} data The plain JavaScript object bearing properties of interest. + * @param {{=< >=}}{module:<#invokerPackage>/<#modelPackage>/}<={{ }}=> obj Optional instance to populate. + * @return {{=< >=}}{module:<#invokerPackage>/<#modelPackage>/}<={{ }}=> The populated {{classname}} instance. + */ +{{/emitJSDoc}} + static constructFromObject(data, obj) { + if (data){{! TODO: support polymorphism: discriminator property on data determines class to instantiate.}} { + switch(typeof data) { + case 'string': + obj = String(data); + break; + case 'number': + obj = Number(data); + break; + case 'boolean': + obj = Boolean(data); + break; + } + obj = obj || new {{classname}}(); +{{#parent}} + {{^parentModel}} + ApiClient.constructFromObject(data, obj, '{{vendorExtensions.x-itemType}}'); + {{/parentModel}} +{{/parent}} +{{#useInheritance}} + {{#parentModel}} + {{classname}}.constructFromObject(data, obj); + {{/parentModel}} + {{#interfaces}} + {{.}}.constructFromObject(data, obj); + {{/interfaces}} +{{/useInheritance}} +{{#vars}} + if (data.hasOwnProperty('{{baseName}}')) + obj.{{name}}{{{defaultValueWithParam}}} +{{/vars}} + } + return obj; + } +{{#emitModelMethods}} + + {{#vars}} + {{#emitJSDoc}} + /**{{#description}} + * Returns {{{description}}}{{/description}}{{#minimum}} + * minimum: {{minimum}}{{/minimum}}{{#maximum}} + * maximum: {{maximum}}{{/maximum}} + * @return {{=< >=}}{<&vendorExtensions.x-jsdoc-type>}<={{ }}=> + */ + {{/emitJSDoc}} + {{getter}}() { + return this.{{name}}; + } + + {{#emitJSDoc}} + /**{{#description}} + * Sets {{{description}}}{{/description}} + * @param {{=< >=}}{<&vendorExtensions.x-jsdoc-type>}<={{ }}=> {{name}}{{#description}} {{{description}}}{{/description}} + */ + {{/emitJSDoc}} + {{setter}}({{name}}) { + this.{{name}} = {{name}}; + } + + {{/vars}} +{{/emitModelMethods}} +} +{{#hasVars}} + + {{#vars}} + {{#isEnum}} + {{^isContainer}} +{{>partial_model_inner_enum}} + {{/isContainer}} + {{/isEnum}} + {{#items.isEnum}} + {{#items}} + {{^isContainer}} +{{>partial_model_inner_enum}} + {{/isContainer}} + {{/items}} + {{/items.isEnum}} + {{#emitJSDoc}} +/**{{#description}} + * {{{description}}}{{/description}} + * @member {{=< >=}}{<&vendorExtensions.x-jsdoc-type>}<={{ }}=> {{name}}{{#defaultValue}} + * @default {{{defaultValue}}}{{/defaultValue}} + */ + {{/emitJSDoc}} +{{classname}}.prototype.{{name}} = {{#defaultValue}}{{{defaultValue}}}{{/defaultValue}}{{^defaultValue}}undefined{{/defaultValue}}; + + {{/vars}} +{{/hasVars}} +{{#useInheritance}} + {{#interfaceModels}} +// Implement {{classname}} interface: + {{#allVars}} + {{#emitJSDoc}} +/**{{#description}} + * {{{description}}}{{/description}} + * @member {{=< >=}}{<&vendorExtensions.x-jsdoc-type>}<={{ }}=> {{name}}{{#defaultValue}} + * @default {{{defaultValue}}}{{/defaultValue}} + */ + {{/emitJSDoc}} +{{classname}}.prototype.{{name}} = {{#defaultValue}}{{{defaultValue}}}{{/defaultValue}}{{^defaultValue}}undefined{{/defaultValue}}; + + {{/allVars}} + {{/interfaceModels}} +{{/useInheritance}} \ No newline at end of file diff --git a/clients/sellingpartner-api-aa-javascript/src/sample_node_app/index.mjs b/clients/sellingpartner-api-aa-javascript/src/sample_node_app/index.mjs new file mode 100644 index 000000000..c360f204d --- /dev/null +++ b/clients/sellingpartner-api-aa-javascript/src/sample_node_app/index.mjs @@ -0,0 +1,13 @@ +import { AppConfig } from '../app.config.mjs'; +import { LwaAuthClient } from '../helper/LwaAuthClient.mjs'; +import { SellersApi, ApiClient as SellersApiClient } from '../../sdk/src/sellers/index.js'; + +(async () => { + const lwaClient = new LwaAuthClient(AppConfig.lwaClientId, AppConfig.lwaClientSecret, AppConfig.lwaRefreshToken); + const sellerApiClient = new SellersApiClient(AppConfig.endpoint); + + const sellerApi = new SellersApi(sellerApiClient); + sellerApiClient.applyXAmzAccessTokenToRequest(await lwaClient.getAccessToken()); + const participations = await sellerApi.getMarketplaceParticipations(); + console.log(JSON.stringify(participations) + "\n**********************************"); +})(); From 9f6ec3edd9e0bc66ed18bae69f6966b9af9b904d Mon Sep 17 00:00:00 2001 From: Gibran Waldron Date: Wed, 21 Feb 2024 14:25:04 -0800 Subject: [PATCH 222/340] Add endUserDataReport.json to GitHub. --- schemas/reports/endUserDataReport.json | 436 +++++++++++++++++++++++++ 1 file changed, 436 insertions(+) create mode 100644 schemas/reports/endUserDataReport.json diff --git a/schemas/reports/endUserDataReport.json b/schemas/reports/endUserDataReport.json new file mode 100644 index 000000000..3ff444430 --- /dev/null +++ b/schemas/reports/endUserDataReport.json @@ -0,0 +1,436 @@ +{ + "$schema": "http://json-schema.org/draft-07/schema", + "type": "object", + "description": "Provides end user (customer) data to DE, FR, IT, ES, NL, PL, SE and BE (EU-8) Selling Partners. This data contains customer personal data, including contact information, page view (glance view), and order data for customers who have elected to share this data with specific sellers. This data is accessible across various reporting periods, including DAY, WEEK and MONTH. Developers can choose to define start and end dates, along with the desired reporting period for data retrieval and aggregation. Please note that the report will not generate any data if no customers have elected to share their data.", + "examples": [ + { + "reportSpecification": { + "dataStartTime": "2023-09-10", + "dataEndTime": "2023-09-16", + "reportType": "END_USER_DATA_REPORT", + "reportOptions": { + "reportPeriod": "WEEK" + }, + "marketplaceIds": [ + "A1PA6795UKMFR9", "APJ6JRA9NG5V4" + ] + }, + "endUserData": [ + { + "fullName": "John Doe", + "mailingAddress": { + "addressLine1": "ABC Blvd", + "addressLine2": "Apartment 000", + "addressLine3": "", + "city": "Berlin", + "stateOrRegion": "Berlin", + "districtOrCounty": "", + "postalCode": "10115", + "countryCode": "DE" + }, + "primaryEmail": "jdoe@xyz.com", + "asinMetrics": [ + { + "startDate": "2023-09-10", + "endDate": "2023-09-16", + "marketplaceId": "A1PA6795UKMFR9", + "asin": "B00EZ1IGCO", + "pageViews": 12352, + "gms": 145.2, + "currencyCode": "EUR" + }, + { + "startDate": "2023-09-10", + "endDate": "2023-09-16", + "marketplaceId": "A1PA6795UKMFR9", + "asin": "A0DEZ1IKDB", + "pageViews": 432, + "gms": 98.8, + "currencyCode": "EUR" + } + ] + }, + { + "fullName": "Oliver Smith", + "mailingAddress": { + "addressLine1": "000 XYZ Street", + "addressLine2": "", + "addressLine3": "", + "city": "Rome", + "stateOrRegion": "Lazio", + "districtOrCounty": "", + "postalCode": "39100", + "countryCode": "IT" + }, + "primaryEmail": "osmith@xyz.com", + "asinMetrics": [ + { + "startDate": "2023-09-10", + "endDate": "2023-09-16", + "marketplaceId": "APJ6JRA9NG5V4", + "asin": "B00EZ1IGCO", + "pageViews": 12352, + "gms": 145.2, + "currencyCode": "EUR" + }, + { + "startDate": "2023-09-10", + "endDate": "2023-09-16", + "marketplaceId": "APJ6JRA9NG5V4", + "asin": "A0DEZ1IKDB", + "pageViews": 432, + "gms": 98.8, + "currencyCode": "EUR" + } + ] + } + ] + }, + { + "reportSpecification": { + "reportType": "END_USER_DATA_REPORT", + "marketplaceIds": [ + "A1PA6795UKMFR9" + ], + "dataStartTime": "2022-08-15", + "dataEndTime": "2023-10-05" + }, + "endUserData": [ + { + "fullName": "John Doe", + "mailingAddress": { + "addressLine1": "ABC Blvd", + "addressLine2": "Apartment 000", + "addressLine3": "", + "city": "Berlin", + "stateOrRegion": "Berlin", + "districtOrCounty": "", + "postalCode": "10115", + "countryCode": "DE" + }, + "primaryEmail": "jdoe@xyz.com", + "asinMetrics": [ + { + "startDate": "2023-09-01", + "endDate": "2023-09-30", + "marketplaceId": "A1PA6795UKMFR9", + "asin": "B00EZ1IGCO", + "pageViews": 1256, + "gms": 125.2, + "currencyCode": "EUR" + }, + { + "startDate": "2023-08-01", + "endDate": "2023-08-31", + "marketplaceId": "A1PA6795UKMFR9", + "asin": "B00EZ1IGCO", + "pageViews": 12352, + "gms": 145.2, + "currencyCode": "EUR" + }, + { + "startDate": "2023-07-01", + "endDate": "2023-07-31", + "marketplaceId": "A1PA6795UKMFR9", + "asin": "B00EZ1IGCO", + "pageViews": 12352, + "gms": 145.2, + "currencyCode": "EUR" + }, + { + "startDate": "2023-06-01", + "endDate": "2023-06-30", + "marketplaceId": "A1PA6795UKMFR9", + "asin": "B00EZ1IGCO", + "pageViews": 12352, + "gms": 145.2, + "currencyCode": "EUR" + }, + { + "startDate": "2023-05-01", + "endDate": "2023-05-31", + "marketplaceId": "A1PA6795UKMFR9", + "asin": "B00EZ1IGCO", + "pageViews": 12352, + "gms": 145.2, + "currencyCode": "EUR" + }, + { + "startDate": "2023-04-01", + "endDate": "2023-04-30", + "marketplaceId": "A1PA6795UKMFR9", + "asin": "B00EZ1IGCO", + "pageViews": 12352, + "gms": 145.2, + "currencyCode": "EUR" + }, + { + "startDate": "2023-03-01", + "endDate": "2023-03-31", + "marketplaceId": "A1PA6795UKMFR9", + "asin": "B00EZ1IGCO", + "pageViews": 12352, + "gms": 145.2, + "currencyCode": "EUR" + }, + { + "startDate": "2023-02-01", + "endDate": "2023-02-28", + "marketplaceId": "A1PA6795UKMFR9", + "asin": "B00EZ1IGCO", + "pageViews": 12352, + "gms": 145.2, + "currencyCode": "EUR" + }, + { + "startDate": "2023-01-01", + "endDate": "2023-01-31", + "marketplaceId": "A1PA6795UKMFR9", + "asin": "B00EZ1IGCO", + "pageViews": 12352, + "gms": 145.2, + "currencyCode": "EUR" + }, + { + "startDate": "2022-12-01", + "endDate": "2022-12-31", + "marketplaceId": "A1PA6795UKMFR9", + "asin": "B00EZ1IGCO", + "pageViews": 12352, + "gms": 145.2, + "currencyCode": "EUR" + }, + { + "startDate": "2022-11-01", + "endDate": "2022-11-30", + "marketplaceId": "A1PA6795UKMFR9", + "asin": "B00EZ1IGCO", + "pageViews": 12352, + "gms": 145.2, + "currencyCode": "EUR" + }, + { + "startDate": "2022-10-01", + "endDate": "2022-10-31", + "marketplaceId": "A1PA6795UKMFR9", + "asin": "B00EZ1IGCO", + "pageViews": 12352, + "gms": 145.2, + "currencyCode": "EUR" + }, + { + "startDate": "2022-09-01", + "endDate": "2022-09-30", + "marketplaceId": "A1PA6795UKMFR9", + "asin": "B00EZ1IGCO", + "pageViews": 12352, + "gms": 145.2, + "currencyCode": "EUR" + } + ] + } + ] + } + ], + "required": [ + "reportSpecification", + "endUserData" + ], + "properties": { + "reportSpecification": { + "type": "object", + "description": "Summarizes the report request.", + "required": [ + "reportType", + "marketplaceIds", + "dataStartTime", + "dataEndTime" + ], + "properties": { + "reportType": { + "type": "string", + "description": "The report type." + }, + "reportOptions": { + "type": "object", + "description": "Used to specify the report period.", + "properties": { + "reportPeriod": { + "type": "string", + "description": "The granularity of the data in the report. Valid values are: DAY, WEEK, and MONTH. If no granularity is specified, reportPeriod defaults to MONTH.", + "enum": [ + "DAY", + "WEEK", + "MONTH" + ] + } + } + }, + "dataStartTime": { + "type": "string", + "format": "date", + "description": "Determines the start date of the report - the time component is ignored. If the provided start date occurs mid-week or mid-month, the following Sunday for weekly reporting periods or the first day of the next month for monthly reporting periods will be used instead.", + "examples": [ + "2023-06-06" + ] + }, + "dataEndTime": { + "type": "string", + "format": "date", + "description": "Determines the end date of the report - the time component is ignored. If the provided end date occurs mid-week or mid-month, the preceding Saturday for weekly reporting periods or the last day of the previous month for monthly reporting periods will be used instead. Additionally if the end date differs from the start date by more than 365 days, it will be adjusted to the closest end date with a maximum 365 day difference based on the selected reporting period.", + "examples": [ + "2021-06-19" + ] + }, + "marketplaceIds": { + "type": "array", + "description": "Any of the EU(8) marketplaces. DE, FR, IT, ES, NL, PL, SE and BE", + "items": { + "type": "string", + "description": "Any EU(8) Marketplace ID. DE, FR, IT, ES, NL, PL, SE and BE. The ID for the marketplace can be found on the SP-API documentation. - https://developer-docs.amazon.com/sp-api/docs/marketplace-ids" + } + } + } + }, + "endUserData": { + "type": "array", + "description": "A list of consented end users (buyers) and their data.", + "items": { + "$ref": "#/definitions/EndUserData" + } + } + }, + "definitions": { + "EndUserData": { + "type": "object", + "description": "Contains end user contact information, page view and GMS metrics.", + "required": [ + "fullName", + "mailingAddress", + "primaryEmail", + "asinMetrics" + ], + "properties": { + "fullName": { + "type": "string", + "description": "Full Name of the end user." + }, + "mailingAddress": { + "type": "object", + "description": "Mailing address of the end user.", + "properties": { + "addressLine1": { + "type": "string", + "description": "The first line of the address." + }, + "addressLine2": { + "type": "string", + "description": "Additional address." + }, + "addressLine3": { + "type": "string", + "description": "Additional address." + }, + "city": { + "type": "string", + "description": "City." + }, + "stateOrRegion": { + "type": "string", + "description": "State or Region." + }, + "districtOrCounty": { + "type": "string", + "description": "District or County." + }, + "postalCode": { + "type": "string", + "description": "Postal code." + }, + "countryCode": { + "type": "string", + "description": "The two letter ISO 3166-1 alpha-2 country code.", + "examples": ["IT", "DE", "FR"] + } + } + }, + "primaryEmail": { + "type": "string", + "description": "Primary email of the end user." + }, + "asinMetrics": { + "type": "array", + "description": "A list of Asin Page View and GMS metrics of an end user.", + "items": { + "$ref": "#/definitions/AsinMetrics" + } + } + } + }, + "AsinMetrics": { + "type": "object", + "description": "Page view and GMS metrics of the end user.", + "required": [ + "startDate", + "endDate", + "marketplaceId", + "asin" + ], + "properties": { + "startDate": { + "type": "string", + "format": "date", + "description": "Start date of the aggregation window.", + "examples": [ + "2023-01-16" + ] + }, + "endDate": { + "type": "string", + "format": "date", + "description": "End date of the aggregation window.", + "examples": [ + "2023-01-23" + ] + }, + "marketplaceId": { + "type": "string", + "description": "Marketplace for which the metrics are provided.", + "examples": [ + "A1PA6795UKMFR9" + ] + }, + "asin": { + "type": "string", + "description": "ASIN for which the metrics are provided. Only ASINs with an active offer from the Seller are included.", + "examples": [ + "B00EZ1IGCO" + ] + }, + "pageViews": { + "type": "integer", + "description": "End user's page views (count) for the ASIN.", + "minimum": 0, + "examples": [ + 12352 + ] + }, + "gms": { + "type": "number", + "description": "End user's GMS for the ASIN. GMS = (Product Price * Quantity) + Shipping + Giftwrap - Returns - Promotional Discounts.", + "minimum": 0, + "examples": [ + 15.23 + ] + }, + "currencyCode": { + "type": "string", + "description": "The ISO 4217 currency code in which GMS is calculated.", + "examples": [ + "EUR" + ] + } + } + } + } +} \ No newline at end of file From c919a874a34bc3190e38f35686ac4e369253d9a8 Mon Sep 17 00:00:00 2001 From: Umeda Date: Wed, 21 Feb 2024 13:44:07 +0900 Subject: [PATCH 223/340] Add Python SDK --- .../sellingpartner-api-aa-python/README.md | 155 +++++ .../auth/LwaException.py | 18 + .../auth/LwaExceptionErrorCode.py | 12 + .../auth/LwaRequest.py | 96 +++ .../auth/credentials.py | 8 + .../requirements.txt | 38 + .../resources/api.mustache | 214 ++++++ .../resources/api_client.mustache | 647 ++++++++++++++++++ .../resources/api_test.mustache | 37 + .../resources/configuration.mustache | 271 ++++++++ .../spapi/spapiclient.py | 63 ++ clients/sellingpartner-api-aa-python/test.py | 27 + .../test_lwaexception.py | 13 + .../test_lwarequest.py | 32 + 14 files changed, 1631 insertions(+) create mode 100644 clients/sellingpartner-api-aa-python/README.md create mode 100644 clients/sellingpartner-api-aa-python/auth/LwaException.py create mode 100644 clients/sellingpartner-api-aa-python/auth/LwaExceptionErrorCode.py create mode 100644 clients/sellingpartner-api-aa-python/auth/LwaRequest.py create mode 100644 clients/sellingpartner-api-aa-python/auth/credentials.py create mode 100644 clients/sellingpartner-api-aa-python/requirements.txt create mode 100644 clients/sellingpartner-api-aa-python/resources/api.mustache create mode 100644 clients/sellingpartner-api-aa-python/resources/api_client.mustache create mode 100644 clients/sellingpartner-api-aa-python/resources/api_test.mustache create mode 100644 clients/sellingpartner-api-aa-python/resources/configuration.mustache create mode 100644 clients/sellingpartner-api-aa-python/spapi/spapiclient.py create mode 100644 clients/sellingpartner-api-aa-python/test.py create mode 100644 clients/sellingpartner-api-aa-python/test_lwaexception.py create mode 100644 clients/sellingpartner-api-aa-python/test_lwarequest.py diff --git a/clients/sellingpartner-api-aa-python/README.md b/clients/sellingpartner-api-aa-python/README.md new file mode 100644 index 000000000..f63eb5d2f --- /dev/null +++ b/clients/sellingpartner-api-aa-python/README.md @@ -0,0 +1,155 @@ +--- +title: "Tutorial: Automate your SP-API calls using Python SDK" +excerpt: "Tutorial to automate your SP-API calls with Python SDK with Login with Amazon (LWA) token exchange and authentication." +slug: "tutorial-automate-your-sp-api-calls-using-python-sdk" +category: 659db4609baec900382f6ebe +--- + +This tutorial provides you with all the required details to generate a Python SDK with Login with Amazon (LWA) token exchange and authentication, to build your application seamlessly. You will learn the prerequisites required to build the Python SDK and also view an example using the Selling Partner API for Orders and the Swagger Code Generator. + +You can use this SDK to integrate Amazon marketplace features into your applications, including accessing product information, managing orders, handling shipments, and more. + +## Tutorial + +The following tutorial will help you set up your own Python SDK for automating SP-API calls. + +### Prerequisites + +To complete this tutorial, you need the following prerequisites: + +* A hybrid or SP-API app in draft or published state +* Integrated development environment (IDE) software +* Python (version 3.6 or later) +* `swagger-codegen-cli-2.3` (or later) This tool is used to generate Python client code from the SP-API's Swagger definitions. + +Before your application can connect to the Selling Partner API, you must register it, and it must be authorized by a selling partner. If you do not have a hybrid or SP-API app, follow the steps to [register as a developer](https://developer-docs.amazon.com/sp-api/docs/registering-as-a-developer), [register your application](https://developer-docs.amazon.com/sp-api/docs/registering-your-application), and [Authorizing Selling Partner API applications](https://developer-docs.amazon.com/sp-api/docs/authorizing-selling-partner-api-applications). Then, return to this tutorial. + +Next, set up your workspace for the tutorial. + +### Step 1. Set up your workspace + +1. On your local drive, create a directory for this project, name it `SPAPI_Python_SDK`, and navigate to the new directory. +2. Clone the [client repo](https://github.com/amzn/selling-partner-api-models/tree/main/clients). +3. Download the following tools. + - IDE software (this walkthrough uses [Visual Studio](https://visualstudio.microsoft.com/) IDE on Windows OS) + - Python (version 3.6 or later). You can download this software from [python.org](https://www.python.org/downloads/). +4. Run the following command in your terminal to download the Swagger Code Jar: + +``` + `wget https://repo1.maven.org/maven2/io/swagger/swagger-codegen-cli/2.4.13/swagger-codegen-cli-2.4.13.jar -O swagger-codegen-cli.jar` +``` + +5. Copy `swagger-codegen-cli.jar` into your local directory `C:\\SPAPI_Python_SDK`. +6. Run the following command in your terminal to install the Python `backoff` library in your environment: + +``` + pip install backoff +``` +7. In GitHub, go to and run the following command to clone the selling-partner-api-models repository to your local directory `C:\\SPAPI_Python_SDK`. + +``` + git clone https://github.com/amzn/selling-partner-api-models +``` + +Now that you have completed the required setup, the next step is to generate the Python SDK with the authentication and authorization classes downloaded to your local directory `C:\\SPAPI_Python_SDK`. + +### Step 2. Generate a Python client from Swagger definitions + +1. Locate the Swagger JSON file for the [SP-API API model](https://github.com/amzn/selling-partner-api-models/tree/main/models) you want to use (for example, Orders API) from your local directory `C:\\SPAPI_Python_SDK`. +2. Run the following command in your terminal to generate client code. Make sure to replace the paths and API model with your settings. + +``` + java -jar /[path_to_swagger_jar]/swagger-codegen-cli.jar generate -l python -t /[path_to_mustach_resources]/resources/ -D packageName=swagger_client -o /[path_to_client_folder]/client/[SP-API_NAME] -i /[path_to_model_folder]/models/[SP-API_NAME]/SP-API.json +``` + +Now that you have generated a Python client, you need to integrate the authentication model. + +### Step 3. Integrate the authentication module + +1. Locate the `auth` and `spapi` client code folders in `C:\\SPAPI_Python_SDK`, the directory where the SDK was downloaded. +2. Update the paths in the following Python files: `spapiclient.py` and `LwaRequest.py`. + +With authentication set up, you're now ready to set up the Python SDK package. + +### Step 4. Set up the Python SDK package + +1. Navigate to `C:\\SPAPI_Python_SDK` the directory where the SDK was generated. +2. Use the following code to create a `setup.py` file. This file is required for packaging your SDK. Make sure you replace information in the example with information for your package and dependencies. + +```python + from setuptools import setup, find_packages + + setup( + name='SellingPartnerAPIAuthAndAuthPython', # Replace with your package's name + version='1.0.0', # Replace with your package's version + package_dir={'': 'src'}, # Replace 'src' as necessary + packages=find_packages(where='src'), + install_requires=[line.strip() for line in open("requirements.txt", "r")], + description='A Python SDK for Amazon Selling Partner API', + long_description=open('README.md').read(), + long_description_content_type='text/markdown', + url='TBD' + ) +``` + +With the Python SDK set up, you're now ready to interact with the SP-API endpoints. + +### Step 5. Create an instance of the Orders API and call an operation + +The following is an example of how to use the Python SDK with the Orders API to make a `getOrders` request. Update the code with your information and then run the code in your terminal. + +```python + if __name__ == "__main__": + + from auth.credentials import SPAPIConfig + config = SPAPIConfig( + client_id="Your client-id", + client_secret="Your client-secret", + refresh_token="Your refresh-token", + region="NA", # Possible values NA, EU, FE, and SANDBOX + scope = None # Required for grant_type='client_credentials' ; Possible values "sellingpartnerapi::notifications" and "sellingpartnerapi::migration" + ) + + from spapi.spapiclient import SPAPIClient + + # Create the API Client + print("Config and client initialized...") + api_client = SPAPIClient(config) + + marketplace_ids = ["ATVPDKIKX0DER"] + created_after = "2024-01-19T00:00:00" + + orders_api = api_client.get_api_client('OrdersV0Api') + orders_response = orders_api.get_orders(marketplace_ids=marketplace_ids, created_after=created_after) + print("Orders API Response:") + print(orders_response) +``` + +> 🚧 Caution +> +> Never commit this file to your version control system as it contains sensitive information. Please ensure these LWA credentials are stored securely in an encrypted format. + +A status code of 200 means the API call was successful. + +## Step 6. Connect to the Selling Partner API using the generated the Python SDK + +Run the following commands in your terminal to build and install your SDK locally: + + ```bash + python3 setup.py sdist bdist_wheel + ``` + ```bash + pip install dist/{YourPackageName}-1.0.0-py3-none-any.whl + ``` + +Run the following test script in your terminal to test the Python SDK: + + ```bash + python test.py + ``` + +A status code of 200 means the API call was successful. + +## Conclusion + +In this tutorial, you learned how to automate your SP-API calls using an SP-API SDK for Python. In the walkthrough, you learned how to set up your workspace, generate a Python SDK for Selling Partner API, connect to the Orders API, and make your first API call. diff --git a/clients/sellingpartner-api-aa-python/auth/LwaException.py b/clients/sellingpartner-api-aa-python/auth/LwaException.py new file mode 100644 index 000000000..49fb356e4 --- /dev/null +++ b/clients/sellingpartner-api-aa-python/auth/LwaException.py @@ -0,0 +1,18 @@ + +class LwaException(Exception): + def __init__(self, error_code, error_message, cause=None): + super().__init__(f"LWA Error - Code {error_code}, Message: {error_message}") + self.error_code = error_code + self.error_message = error_message + self.cause = cause + + def __str__(self): + cause_str = f", Cause: {self.cause}" if self.cause else "" + return f"LWA Error - Code: {self.error_code}, Message: {self.error_message}{cause_str}" + + def get_error_code(self): + return self.error_code + + def get_error_message(self): + return self.error_message + diff --git a/clients/sellingpartner-api-aa-python/auth/LwaExceptionErrorCode.py b/clients/sellingpartner-api-aa-python/auth/LwaExceptionErrorCode.py new file mode 100644 index 000000000..3e822e3d9 --- /dev/null +++ b/clients/sellingpartner-api-aa-python/auth/LwaExceptionErrorCode.py @@ -0,0 +1,12 @@ +from enum import Enum + +class LwaExceptionErrorCode(Enum): + ACCESS_DENIED = "access_denied" + INVALID_GRANT = "invalid_grant" + INVALID_REQUEST = "invalid_request" + INVALID_SCOPE = "invalid_scope" + SERVER_ERROR = "server_error" + TEMPORARILY_UNAVAILABLE = "temporarily_unavailable" + UNAUTHORIZED_CLIENT = "unauthorized_client" + INVALID_CLIENT = "invalid_client" + OTHER = "other" diff --git a/clients/sellingpartner-api-aa-python/auth/LwaRequest.py b/clients/sellingpartner-api-aa-python/auth/LwaRequest.py new file mode 100644 index 000000000..2e8a3b438 --- /dev/null +++ b/clients/sellingpartner-api-aa-python/auth/LwaRequest.py @@ -0,0 +1,96 @@ +import requests +import time +import logging +import sys + +#Update path +sys.path.append("path_to_folder/SellingPartnerAPIAuthAndAuthPython") + +from auth.LwaException import LwaException +from auth.LwaExceptionErrorCode import LwaExceptionErrorCode + +logging.basicConfig(level=logging.INFO) +logger = logging.getLogger(__name__) + +class AccessTokenCache: + def __init__(self, max_retries=3): + self.token_info = None + self.max_retries = max_retries + + def get_lwa_access_token(self, client_id, client_secret, refresh_token=None, grant_type="refresh_token", scope=None): + if self.token_info and time.time() < self.token_info["expires_at"]: + return self.token_info["access_token"] + return self.request_new_token(client_id, client_secret, refresh_token, grant_type, scope) + + + def request_new_token(self, client_id, client_secret, refresh_token, grant_type, scope): + self.validate_token_request(grant_type, refresh_token, scope) + data = self.prepare_token_request_data(client_id, client_secret, refresh_token, grant_type, scope) + + retries = 0 + while retries <= self.max_retries: + try: + response = requests.post("https://api.amazon.com/auth/o2/token", data=data) + response.raise_for_status() + token_response = response.json() + token_response["expires_at"] = time.time() + token_response.get("expires_in", 1800) - 30 + self.token_info = token_response + return token_response["access_token"] + except requests.RequestException as e: + if retries < self.max_retries: + retries += 1 + time.sleep(2 ** retries) + continue + error_code = self.map_http_status_to_lwa_exception_code(e.response.status_code if e.response else None) + error_message = f"Token request failed with status code {e.response.status_code}: {e.response.text}" if e.response else "Token request failed." + logger.error(error_message) + raise LwaException(error_code, error_message) from e + + + def validate_token_request(self, grant_type, refresh_token, scope): + if grant_type == "refresh_token" and not refresh_token: + raise LwaException(LwaExceptionErrorCode.INVALID_REQUEST.value, "Refresh token must be provided for grant_type 'refresh_token'") + if grant_type == "client_credentials" and not scope: + raise LwaException(LwaExceptionErrorCode.INVALID_SCOPE.value, "Scope must be provided for grant_type 'client_credentials'") + + + def prepare_token_request_data(self, client_id, client_secret, refresh_token, grant_type, scope): + data = { + "client_id": client_id, + "client_secret": client_secret, + "grant_type": grant_type + } + if grant_type == "refresh_token": + if not refresh_token: + raise LwaException(LwaExceptionErrorCode.INVALID_REQUEST.value, "Refresh token must be provided for grant_type 'refresh_token'") + data["refresh_token"] = refresh_token + elif grant_type == "client_credentials": + if not scope: + raise LwaException(LwaExceptionErrorCode.INVALID_SCOPE.value, "Scope must be provided for grant_type 'client_credentials'") + data["scope"] = scope + return data + + def is_retriable(self, error_code): + retriable_codes = [ + LwaExceptionErrorCode.SERVER_ERROR.value, + LwaExceptionErrorCode.TEMPORARILY_UNAVAILABLE.value + ] + return error_code in retriable_codes + + def format_error_message(self, e): + return f"Token request failed with status code {e.response.status_code}: {e.response.text}" if e.response else f"Token request failed: {e}" + + def map_http_status_to_lwa_exception_code(self, status_code): + if status_code is None: + return LWAExceptionErrorCode.SERVER_ERROR.value + if status_code == 400: + return LWAExceptionErrorCode.INVALID_REQUEST.value + if status_code == 401: + return LWAExceptionErrorCode.UNAUTHORIZED_CLIENT.value + if status_code == 403: + return LWAExceptionErrorCode.ACCESS_DENIED.value + if status_code == 500: + return LWAExceptionErrorCode.SERVER_ERROR.value + if status_code == 503: + return LWAExceptionErrorCode.TEMPORARILY_UNAVAILABLE.value + return LWAExceptionErrorCode.OTHER.value diff --git a/clients/sellingpartner-api-aa-python/auth/credentials.py b/clients/sellingpartner-api-aa-python/auth/credentials.py new file mode 100644 index 000000000..715a1c3bf --- /dev/null +++ b/clients/sellingpartner-api-aa-python/auth/credentials.py @@ -0,0 +1,8 @@ +class SPAPIConfig: + def __init__(self, client_id, client_secret, refresh_token, region="SANDBOX", access_token=None, scope=None): + self.client_id = client_id + self.client_secret = client_secret + self.refresh_token = refresh_token + self.region = region + self.scope = scope + self.access_token = access_token # Initially empty, filled by LWA request method diff --git a/clients/sellingpartner-api-aa-python/requirements.txt b/clients/sellingpartner-api-aa-python/requirements.txt new file mode 100644 index 000000000..7c107f35e --- /dev/null +++ b/clients/sellingpartner-api-aa-python/requirements.txt @@ -0,0 +1,38 @@ +arrow==1.2.3 +attrs==23.1.0 +boto3==1.26.151 +botocore==1.29.151 +bravado==11.0.3 +bravado-core==5.17.1 +cachetools==5.3.1 +certifi==2023.5.7 +charset-normalizer==3.1.0 +chevron==0.14.0 +confuse==2.0.1 +fqdn==1.5.1 +idna==3.4 +isoduration==20.11.0 +jmespath==1.0.1 +jsonpointer==2.4 +jsonref==1.1.0 +jsonschema==4.18.2 +jsonschema-specifications==2023.6.1 +monotonic==1.6 +msgpack==1.0.5 +python-amazon-sp-api==1.0.2 +python-dateutil==2.8.2 +pytz==2023.3 +PyYAML==6.0 +referencing==0.29.1 +requests==2.31.0 +rfc3339-validator==0.1.4 +rfc3987==1.3.8 +rpds-py==0.8.10 +s3transfer==0.6.1 +simplejson==3.19.1 +six==1.16.0 +swagger-spec-validator==3.0.3 +typing_extensions==4.7.1 +uri-template==1.3.0 +urllib3==1.26.16 +webcolors==1.13 diff --git a/clients/sellingpartner-api-aa-python/resources/api.mustache b/clients/sellingpartner-api-aa-python/resources/api.mustache new file mode 100644 index 000000000..cc03d94b7 --- /dev/null +++ b/clients/sellingpartner-api-aa-python/resources/api.mustache @@ -0,0 +1,214 @@ +# coding: utf-8 + +{{>partial_header}} + +from __future__ import absolute_import + +import re # noqa: F401 + +# python 2 and python 3 compatibility library +import six + +from {{packageName}}.api_client import ApiClient + + +{{#operations}} +class {{classname}}(object): + """NOTE: This class is auto generated by the swagger code generator program. + + Do not edit the class manually. + Ref: https://github.com/swagger-api/swagger-codegen + """ + + def __init__(self, api_client=None): + if api_client is None: + api_client = ApiClient() + self.api_client = api_client +{{#operation}} + + def {{operationId}}(self, {{#sortParamsByRequiredFlag}}{{#allParams}}{{#required}}{{paramName}}, {{/required}}{{/allParams}}{{/sortParamsByRequiredFlag}}**kwargs): # noqa: E501 + """{{#summary}}{{{.}}}{{/summary}}{{^summary}}{{operationId}}{{/summary}} # noqa: E501 + +{{#notes}} + {{{notes}}} # noqa: E501 +{{/notes}} + This method makes a synchronous HTTP request by default. To make an + asynchronous HTTP request, please pass async_req=True +{{#sortParamsByRequiredFlag}} + >>> thread = api.{{operationId}}({{#allParams}}{{#required}}{{paramName}}, {{/required}}{{/allParams}}async_req=True) +{{/sortParamsByRequiredFlag}} +{{^sortParamsByRequiredFlag}} + >>> thread = api.{{operationId}}({{#allParams}}{{#required}}{{paramName}}={{paramName}}_value, {{/required}}{{/allParams}}async_req=True) +{{/sortParamsByRequiredFlag}} + >>> result = thread.get() + + :param async_req bool +{{#allParams}} + :param {{dataType}} {{paramName}}:{{#description}} {{{description}}}{{/description}}{{#required}} (required){{/required}}{{#optional}}(optional){{/optional}} +{{/allParams}} + :return: {{#returnType}}{{returnType}}{{/returnType}}{{^returnType}}None{{/returnType}} + If the method is called asynchronously, + returns the request thread. + """ + kwargs['_return_http_data_only'] = True + if kwargs.get('async_req'): + return self.{{operationId}}_with_http_info({{#sortParamsByRequiredFlag}}{{#allParams}}{{#required}}{{paramName}}, {{/required}}{{/allParams}}{{/sortParamsByRequiredFlag}}**kwargs) # noqa: E501 + else: + (data) = self.{{operationId}}_with_http_info({{#sortParamsByRequiredFlag}}{{#allParams}}{{#required}}{{paramName}}, {{/required}}{{/allParams}}{{/sortParamsByRequiredFlag}}**kwargs) # noqa: E501 + return data + + def {{operationId}}_with_http_info(self, {{#sortParamsByRequiredFlag}}{{#allParams}}{{#required}}{{paramName}}, {{/required}}{{/allParams}}{{/sortParamsByRequiredFlag}}**kwargs): # noqa: E501 + """{{#summary}}{{{.}}}{{/summary}}{{^summary}}{{operationId}}{{/summary}} # noqa: E501 + +{{#notes}} + {{{notes}}} # noqa: E501 +{{/notes}} + This method makes a synchronous HTTP request by default. To make an + asynchronous HTTP request, please pass async_req=True +{{#sortParamsByRequiredFlag}} + >>> thread = api.{{operationId}}_with_http_info({{#allParams}}{{#required}}{{paramName}}, {{/required}}{{/allParams}}async_req=True) +{{/sortParamsByRequiredFlag}} +{{^sortParamsByRequiredFlag}} + >>> thread = api.{{operationId}}_with_http_info({{#allParams}}{{#required}}{{paramName}}={{paramName}}_value, {{/required}}{{/allParams}}async_req=True) +{{/sortParamsByRequiredFlag}} + >>> result = thread.get() + + :param async_req bool +{{#allParams}} + :param {{dataType}} {{paramName}}:{{#description}} {{{description}}}{{/description}}{{#required}} (required){{/required}}{{#optional}}(optional{{#defaultValue}}, default to {{{.}}}{{/defaultValue}}){{/optional}} +{{/allParams}} + :return: {{#returnType}}{{returnType}}{{/returnType}}{{^returnType}}None{{/returnType}} + If the method is called asynchronously, + returns the request thread. + """ + + all_params = [{{#allParams}}'{{paramName}}'{{#hasMore}}, {{/hasMore}}{{/allParams}}] # noqa: E501 + all_params.append('async_req') + all_params.append('_return_http_data_only') + all_params.append('_preload_content') + all_params.append('_request_timeout') + + params = locals() + for key, val in six.iteritems(params['kwargs']): + if key not in all_params: + raise TypeError( + "Got an unexpected keyword argument '%s'" + " to method {{operationId}}" % key + ) + params[key] = val + del params['kwargs'] +{{#allParams}} +{{#required}} + # verify the required parameter '{{paramName}}' is set + if self.api_client.client_side_validation and ('{{paramName}}' not in params or + params['{{paramName}}'] is None): # noqa: E501 + raise ValueError("Missing the required parameter `{{paramName}}` when calling `{{operationId}}`") # noqa: E501 +{{/required}} +{{/allParams}} + +{{#allParams}} +{{#hasValidation}} + {{#maxLength}} + if self.api_client.client_side_validation and ('{{paramName}}' in params and + len(params['{{paramName}}']) > {{maxLength}}): + raise ValueError("Invalid value for parameter `{{paramName}}` when calling `{{operationId}}`, length must be less than or equal to `{{maxLength}}`") # noqa: E501 + {{/maxLength}} + {{#minLength}} + if self.api_client.client_side_validation and ('{{paramName}}' in params and + len(params['{{paramName}}']) < {{minLength}}): + raise ValueError("Invalid value for parameter `{{paramName}}` when calling `{{operationId}}`, length must be greater than or equal to `{{minLength}}`") # noqa: E501 + {{/minLength}} + {{#maximum}} + if self.api_client.client_side_validation and ('{{paramName}}' in params and params['{{paramName}}'] >{{#exclusiveMaximum}}={{/exclusiveMaximum}} {{maximum}}): # noqa: E501 + raise ValueError("Invalid value for parameter `{{paramName}}` when calling `{{operationId}}`, must be a value less than {{^exclusiveMaximum}}or equal to {{/exclusiveMaximum}}`{{maximum}}`") # noqa: E501 + {{/maximum}} + {{#minimum}} + if self.api_client.client_side_validation and ('{{paramName}}' in params and params['{{paramName}}'] <{{#exclusiveMinimum}}={{/exclusiveMinimum}} {{minimum}}): # noqa: E501 + raise ValueError("Invalid value for parameter `{{paramName}}` when calling `{{operationId}}`, must be a value greater than {{^exclusiveMinimum}}or equal to {{/exclusiveMinimum}}`{{minimum}}`") # noqa: E501 + {{/minimum}} + {{#pattern}} + if self.api_client.client_side_validation and ('{{paramName}}' in params and not re.search(r'{{{vendorExtensions.x-regex}}}', params['{{paramName}}']{{#vendorExtensions.x-modifiers}}{{#-first}}, flags={{/-first}}re.{{.}}{{^-last}} | {{/-last}}{{/vendorExtensions.x-modifiers}})): # noqa: E501 + raise ValueError("Invalid value for parameter `{{paramName}}` when calling `{{operationId}}`, must conform to the pattern `{{{pattern}}}`") # noqa: E501 + {{/pattern}} + {{#maxItems}} + if self.api_client.client_side_validation and ('{{paramName}}' in params and + len(params['{{paramName}}']) > {{maxItems}}): + raise ValueError("Invalid value for parameter `{{paramName}}` when calling `{{operationId}}`, number of items must be less than or equal to `{{maxItems}}`") # noqa: E501 + {{/maxItems}} + {{#minItems}} + if self.api_client.client_side_validation and ('{{paramName}}' in params and + len(params['{{paramName}}']) < {{minItems}}): + raise ValueError("Invalid value for parameter `{{paramName}}` when calling `{{operationId}}`, number of items must be greater than or equal to `{{minItems}}`") # noqa: E501 + {{/minItems}} +{{/hasValidation}} +{{#-last}} +{{/-last}} +{{/allParams}} + collection_formats = {} + + path_params = {} +{{#pathParams}} + if '{{paramName}}' in params: + path_params['{{baseName}}'] = params['{{paramName}}']{{#isListContainer}} # noqa: E501 + collection_formats['{{baseName}}'] = '{{collectionFormat}}'{{/isListContainer}} # noqa: E501 +{{/pathParams}} + + query_params = [] +{{#queryParams}} + if '{{paramName}}' in params: + query_params.append(('{{baseName}}', params['{{paramName}}'])){{#isListContainer}} # noqa: E501 + collection_formats['{{baseName}}'] = '{{collectionFormat}}'{{/isListContainer}} # noqa: E501 +{{/queryParams}} + + header_params = {} +{{#headerParams}} + if '{{paramName}}' in params: + header_params['{{baseName}}'] = params['{{paramName}}']{{#isListContainer}} # noqa: E501 + collection_formats['{{baseName}}'] = '{{collectionFormat}}'{{/isListContainer}} # noqa: E501 +{{/headerParams}} + + form_params = [] + local_var_files = {} +{{#formParams}} + if '{{paramName}}' in params: + {{#notFile}}form_params.append(('{{baseName}}', params['{{paramName}}'])){{/notFile}}{{#isFile}}local_var_files['{{baseName}}'] = params['{{paramName}}']{{/isFile}}{{#isListContainer}} # noqa: E501 + collection_formats['{{baseName}}'] = '{{collectionFormat}}'{{/isListContainer}} # noqa: E501 +{{/formParams}} + + body_params = None +{{#bodyParam}} + if '{{paramName}}' in params: + body_params = params['{{paramName}}'] +{{/bodyParam}} + {{#hasProduces}} + # HTTP header `Accept` + header_params['Accept'] = self.api_client.select_header_accept( + [{{#produces}}'{{{mediaType}}}'{{#hasMore}}, {{/hasMore}}{{/produces}}]) # noqa: E501 + + {{/hasProduces}} + {{#hasConsumes}} + # HTTP header `Content-Type` + header_params['Content-Type'] = self.api_client.select_header_content_type( # noqa: E501 + [{{#consumes}}'{{{mediaType}}}'{{#hasMore}}, {{/hasMore}}{{/consumes}}]) # noqa: E501 + + {{/hasConsumes}} + # Authentication setting + auth_settings = [{{#authMethods}}'{{name}}'{{#hasMore}}, {{/hasMore}}{{/authMethods}}] # noqa: E501 + + return self.api_client.call_api( + '{{{path}}}', '{{httpMethod}}', + path_params, + query_params, + header_params, + body=body_params, + post_params=form_params, + files=local_var_files, + response_type={{#returnType}}'{{returnType}}'{{/returnType}}{{^returnType}}None{{/returnType}}, # noqa: E501 + auth_settings=auth_settings, + async_req=params.get('async_req'), + _return_http_data_only=params.get('_return_http_data_only'), + _preload_content=params.get('_preload_content', True), + _request_timeout=params.get('_request_timeout'), + collection_formats=collection_formats) +{{/operation}} +{{/operations}} \ No newline at end of file diff --git a/clients/sellingpartner-api-aa-python/resources/api_client.mustache b/clients/sellingpartner-api-aa-python/resources/api_client.mustache new file mode 100644 index 000000000..40fc64912 --- /dev/null +++ b/clients/sellingpartner-api-aa-python/resources/api_client.mustache @@ -0,0 +1,647 @@ +# coding: utf-8 +{{>partial_header}} +from __future__ import absolute_import + +import datetime +import json +import mimetypes +from multiprocessing.pool import ThreadPool +import os +import re +import tempfile + +# python 2 and python 3 compatibility library +import six +from six.moves.urllib.parse import quote +{{#tornado}} +import tornado.gen +{{/tornado}} + +from {{packageName}}.configuration import Configuration +import {{modelPackage}} +from {{packageName}} import rest + + +class ApiClient(object): + """Generic API client for Swagger client library builds. + + Swagger generic API client. This client handles the client- + server communication, and is invariant across implementations. Specifics of + the methods and models for each application are generated from the Swagger + templates. + + NOTE: This class is auto generated by the swagger code generator program. + Ref: https://github.com/swagger-api/swagger-codegen + Do not edit the class manually. + + :param configuration: .Configuration object for this client + :param header_name: a header to pass when making calls to the API. + :param header_value: a header value to pass when making calls to + the API. + :param cookie: a cookie to include in the header when making calls + to the API + """ + + PRIMITIVE_TYPES = (float, bool, bytes, six.text_type) + six.integer_types + NATIVE_TYPES_MAPPING = { + 'int': int, + 'long': int if six.PY3 else long, # noqa: F821 + 'float': float, + 'str': str, + 'bool': bool, + 'date': datetime.date, + 'datetime': datetime.datetime, + 'object': object, + } + + def __init__(self, configuration=None, header_name=None, header_value=None, + cookie=None): + if configuration is None: + configuration = Configuration() + self.configuration = configuration + + # Use the pool property to lazily initialize the ThreadPool. + self._pool = None + self.rest_client = rest.RESTClientObject(configuration) + self.default_headers = {} + if header_name is not None: + self.default_headers[header_name] = header_value + self.cookie = cookie + # Set default User-Agent. + self.user_agent = '{{#httpUserAgent}}{{{.}}}{{/httpUserAgent}}{{^httpUserAgent}}Swagger-Codegen/{{{packageVersion}}}/python{{/httpUserAgent}}' + self.client_side_validation = configuration.client_side_validation + + def __del__(self): + if self._pool is not None: + self._pool.close() + self._pool.join() + + @property + def pool(self): + if self._pool is None: + self._pool = ThreadPool() + return self._pool + + @property + def user_agent(self): + """User agent for this API client""" + return self.default_headers['User-Agent'] + + @user_agent.setter + def user_agent(self, value): + self.default_headers['User-Agent'] = value + + def set_default_header(self, header_name, header_value): + self.default_headers[header_name] = header_value + + {{#tornado}} + @tornado.gen.coroutine + {{/tornado}} + {{#asyncio}}async {{/asyncio}}def __call_api( + self, resource_path, method, path_params=None, + query_params=None, header_params=None, body=None, post_params=None, + files=None, response_type=None, auth_settings=None, + _return_http_data_only=None, collection_formats=None, + _preload_content=True, _request_timeout=None): + + config = self.configuration + + # header parameters + header_params = header_params or {} + header_params.update(self.default_headers) + if self.configuration.access_token: + header_params['x-amz-access-token'] = self.configuration.access_token + if self.cookie: + header_params['Cookie'] = self.cookie + if header_params: + header_params = self.sanitize_for_serialization(header_params) + header_params = dict(self.parameters_to_tuples(header_params, + collection_formats)) + + # path parameters + if path_params: + path_params = self.sanitize_for_serialization(path_params) + path_params = self.parameters_to_tuples(path_params, + collection_formats) + for k, v in path_params: + # specified safe chars, encode everything + resource_path = resource_path.replace( + '{%s}' % k, + quote(str(v), safe=config.safe_chars_for_path_param) + ) + + # query parameters + if query_params: + query_params = self.sanitize_for_serialization(query_params) + query_params = self.parameters_to_tuples(query_params, + collection_formats) + + # post parameters + if post_params or files: + post_params = self.prepare_post_parameters(post_params, files) + post_params = self.sanitize_for_serialization(post_params) + post_params = self.parameters_to_tuples(post_params, + collection_formats) + + # auth setting + self.update_params_for_auth(header_params, query_params, auth_settings) + + # body + if body: + body = self.sanitize_for_serialization(body) + + # request url + url = self.configuration.host + resource_path + + # perform request and return response + response_data = {{#asyncio}}await {{/asyncio}}{{#tornado}}yield {{/tornado}}self.request( + method, url, query_params=query_params, headers=header_params, + post_params=post_params, body=body, + _preload_content=_preload_content, + _request_timeout=_request_timeout) + + self.last_response = response_data + + return_data = response_data + if _preload_content: + # deserialize response data + if response_type: + return_data = self.deserialize(response_data, response_type) + else: + return_data = None + +{{^tornado}} + if _return_http_data_only: + return (return_data) + else: + return (return_data, response_data.status, + response_data.getheaders()) +{{/tornado}} +{{#tornado}} + if _return_http_data_only: + raise tornado.gen.Return(return_data) + else: + raise tornado.gen.Return((return_data, response_data.status, + response_data.getheaders())) +{{/tornado}} + + def sanitize_for_serialization(self, obj): + """Builds a JSON POST object. + + If obj is None, return None. + If obj is str, int, long, float, bool, return directly. + If obj is datetime.datetime, datetime.date + convert to string in iso8601 format. + If obj is list, sanitize each element in the list. + If obj is dict, return the dict. + If obj is swagger model, return the properties dict. + + :param obj: The data to serialize. + :return: The serialized form of data. + """ + if obj is None: + return None + elif isinstance(obj, self.PRIMITIVE_TYPES): + return obj + elif isinstance(obj, list): + return [self.sanitize_for_serialization(sub_obj) + for sub_obj in obj] + elif isinstance(obj, tuple): + return tuple(self.sanitize_for_serialization(sub_obj) + for sub_obj in obj) + elif isinstance(obj, (datetime.datetime, datetime.date)): + return obj.isoformat() + + if isinstance(obj, dict): + obj_dict = obj + else: + # Convert model obj to dict except + # attributes `swagger_types`, `attribute_map` + # and attributes which value is not None. + # Convert attribute name to json key in + # model definition for request. + obj_dict = {obj.attribute_map[attr]: getattr(obj, attr) + for attr, _ in six.iteritems(obj.swagger_types) + if getattr(obj, attr) is not None} + + return {key: self.sanitize_for_serialization(val) + for key, val in six.iteritems(obj_dict)} + + def deserialize(self, response, response_type): + """Deserializes response into an object. + + :param response: RESTResponse object to be deserialized. + :param response_type: class literal for + deserialized object, or string of class name. + + :return: deserialized object. + """ + # handle file downloading + # save response body into a tmp file and return the instance + if response_type == "file": + return self.__deserialize_file(response) + + # fetch data from response object + try: + data = json.loads(response.data) + except ValueError: + data = response.data + + return self.__deserialize(data, response_type) + + def __deserialize(self, data, klass): + """Deserializes dict, list, str into an object. + + :param data: dict, list or str. + :param klass: class literal, or string of class name. + + :return: object. + """ + if data is None: + return None + + if type(klass) == str: + if klass.startswith('list['): + sub_kls = re.match(r'list\[(.*)\]', klass).group(1) + return [self.__deserialize(sub_data, sub_kls) + for sub_data in data] + + if klass.startswith('dict('): + sub_kls = re.match(r'dict\(([^,]*), (.*)\)', klass).group(2) + return {k: self.__deserialize(v, sub_kls) + for k, v in six.iteritems(data)} + + # convert str to class + if klass in self.NATIVE_TYPES_MAPPING: + klass = self.NATIVE_TYPES_MAPPING[klass] + else: + klass = getattr({{modelPackage}}, klass) + + if klass in self.PRIMITIVE_TYPES: + return self.__deserialize_primitive(data, klass) + elif klass == object: + return self.__deserialize_object(data) + elif klass == datetime.date: + return self.__deserialize_date(data) + elif klass == datetime.datetime: + return self.__deserialize_datatime(data) + else: + return self.__deserialize_model(data, klass) + + def call_api(self, resource_path, method, + path_params=None, query_params=None, header_params=None, + body=None, post_params=None, files=None, + response_type=None, auth_settings=None, async_req=None, + _return_http_data_only=None, collection_formats=None, + _preload_content=True, _request_timeout=None): + """Makes the HTTP request (synchronous) and returns deserialized data. + + To make an async request, set the async_req parameter. + + :param resource_path: Path to method endpoint. + :param method: Method to call. + :param path_params: Path parameters in the url. + :param query_params: Query parameters in the url. + :param header_params: Header parameters to be + placed in the request header. + :param body: Request body. + :param post_params dict: Request post form parameters, + for `application/x-www-form-urlencoded`, `multipart/form-data`. + :param auth_settings list: Auth Settings names for the request. + :param response: Response data type. + :param files dict: key -> filename, value -> filepath, + for `multipart/form-data`. + :param async_req bool: execute request asynchronously + :param _return_http_data_only: response data without head status code + and headers + :param collection_formats: dict of collection formats for path, query, + header, and post parameters. + :param _preload_content: if False, the urllib3.HTTPResponse object will + be returned without reading/decoding response + data. Default is True. + :param _request_timeout: timeout setting for this request. If one + number provided, it will be total request + timeout. It can also be a pair (tuple) of + (connection, read) timeouts. + :return: + If async_req parameter is True, + the request will be called asynchronously. + The method will return the request thread. + If parameter async_req is False or missing, + then the method will return the response directly. + """ + if not async_req: + return self.__call_api(resource_path, method, + path_params, query_params, header_params, + body, post_params, files, + response_type, auth_settings, + _return_http_data_only, collection_formats, + _preload_content, _request_timeout) + else: + thread = self.pool.apply_async(self.__call_api, (resource_path, + method, path_params, query_params, + header_params, body, + post_params, files, + response_type, auth_settings, + _return_http_data_only, + collection_formats, + _preload_content, _request_timeout)) + return thread + + def request(self, method, url, query_params=None, headers=None, + post_params=None, body=None, _preload_content=True, + _request_timeout=None): + """Makes the HTTP request using RESTClient.""" + if method == "GET": + return self.rest_client.GET(url, + query_params=query_params, + _preload_content=_preload_content, + _request_timeout=_request_timeout, + headers=headers) + elif method == "HEAD": + return self.rest_client.HEAD(url, + query_params=query_params, + _preload_content=_preload_content, + _request_timeout=_request_timeout, + headers=headers) + elif method == "OPTIONS": + return self.rest_client.OPTIONS(url, + query_params=query_params, + headers=headers, + post_params=post_params, + _preload_content=_preload_content, + _request_timeout=_request_timeout, + body=body) + elif method == "POST": + return self.rest_client.POST(url, + query_params=query_params, + headers=headers, + post_params=post_params, + _preload_content=_preload_content, + _request_timeout=_request_timeout, + body=body) + elif method == "PUT": + return self.rest_client.PUT(url, + query_params=query_params, + headers=headers, + post_params=post_params, + _preload_content=_preload_content, + _request_timeout=_request_timeout, + body=body) + elif method == "PATCH": + return self.rest_client.PATCH(url, + query_params=query_params, + headers=headers, + post_params=post_params, + _preload_content=_preload_content, + _request_timeout=_request_timeout, + body=body) + elif method == "DELETE": + return self.rest_client.DELETE(url, + query_params=query_params, + headers=headers, + _preload_content=_preload_content, + _request_timeout=_request_timeout, + body=body) + else: + raise ValueError( + "http method must be `GET`, `HEAD`, `OPTIONS`," + " `POST`, `PATCH`, `PUT` or `DELETE`." + ) + + def parameters_to_tuples(self, params, collection_formats): + """Get parameters as list of tuples, formatting collections. + + :param params: Parameters as dict or list of two-tuples + :param dict collection_formats: Parameter collection formats + :return: Parameters as list of tuples, collections formatted + """ + new_params = [] + if collection_formats is None: + collection_formats = {} + for k, v in six.iteritems(params) if isinstance(params, dict) else params: # noqa: E501 + if k in collection_formats: + collection_format = collection_formats[k] + if collection_format == 'multi': + new_params.extend((k, value) for value in v) + else: + if collection_format == 'ssv': + delimiter = ' ' + elif collection_format == 'tsv': + delimiter = '\t' + elif collection_format == 'pipes': + delimiter = '|' + else: # csv is the default + delimiter = ',' + new_params.append( + (k, delimiter.join(str(value) for value in v))) + else: + new_params.append((k, v)) + return new_params + + def prepare_post_parameters(self, post_params=None, files=None): + """Builds form parameters. + + :param post_params: Normal form parameters. + :param files: File parameters. + :return: Form parameters with files. + """ + params = [] + + if post_params: + params = post_params + + if files: + for k, v in six.iteritems(files): + if not v: + continue + file_names = v if type(v) is list else [v] + for n in file_names: + with open(n, 'rb') as f: + filename = os.path.basename(f.name) + filedata = f.read() + mimetype = (mimetypes.guess_type(filename)[0] or + 'application/octet-stream') + params.append( + tuple([k, tuple([filename, filedata, mimetype])])) + + return params + + def select_header_accept(self, accepts): + """Returns `Accept` based on an array of accepts provided. + + :param accepts: List of headers. + :return: Accept (e.g. application/json). + """ + if not accepts: + return + + accepts = [x.lower() for x in accepts] + + if 'application/json' in accepts: + return 'application/json' + else: + return ', '.join(accepts) + + def select_header_content_type(self, content_types): + """Returns `Content-Type` based on an array of content_types provided. + + :param content_types: List of content-types. + :return: Content-Type (e.g. application/json). + """ + if not content_types: + return 'application/json' + + content_types = [x.lower() for x in content_types] + + if 'application/json' in content_types or '*/*' in content_types: + return 'application/json' + else: + return content_types[0] + + def update_params_for_auth(self, headers, querys, auth_settings): + """Updates header and query params based on authentication setting. + + :param headers: Header parameters dict to be updated. + :param querys: Query parameters tuple list to be updated. + :param auth_settings: Authentication setting identifiers list. + """ + if not auth_settings: + return + + for auth in auth_settings: + auth_setting = self.configuration.auth_settings().get(auth) + if auth_setting: + if not auth_setting['value']: + continue + elif auth_setting['in'] == 'header': + headers[auth_setting['key']] = auth_setting['value'] + elif auth_setting['in'] == 'query': + querys.append((auth_setting['key'], auth_setting['value'])) + else: + raise ValueError( + 'Authentication token must be in `query` or `header`' + ) + + def __deserialize_file(self, response): + """Deserializes body to file + + Saves response body into a file in a temporary folder, + using the filename from the `Content-Disposition` header if provided. + + :param response: RESTResponse. + :return: file path. + """ + fd, path = tempfile.mkstemp(dir=self.configuration.temp_folder_path) + os.close(fd) + os.remove(path) + + content_disposition = response.getheader("Content-Disposition") + if content_disposition: + filename = re.search(r'filename=[\'"]?([^\'"\s]+)[\'"]?', + content_disposition).group(1) + path = os.path.join(os.path.dirname(path), filename) + + with open(path, {{^writeBinary}}"w"{{/writeBinary}}{{#writeBinary}}"wb"{{/writeBinary}}) as f: + f.write(response.data) + + return path + + def __deserialize_primitive(self, data, klass): + """Deserializes string to primitive type. + + :param data: str. + :param klass: class literal. + + :return: int, long, float, str, bool. + """ + try: + return klass(data) + except UnicodeEncodeError: + return six.text_type(data) + except TypeError: + return data + + def __deserialize_object(self, value): + """Return a original value. + + :return: object. + """ + return value + + def __deserialize_date(self, string): + """Deserializes string to date. + + :param string: str. + :return: date. + """ + try: + from dateutil.parser import parse + return parse(string).date() + except ImportError: + return string + except ValueError: + raise rest.ApiException( + status=0, + reason="Failed to parse `{0}` as date object".format(string) + ) + + def __deserialize_datatime(self, string): + """Deserializes string to datetime. + + The string should be in iso8601 datetime format. + + :param string: str. + :return: datetime. + """ + try: + from dateutil.parser import parse + return parse(string) + except ImportError: + return string + except ValueError: + raise rest.ApiException( + status=0, + reason=( + "Failed to parse `{0}` as datetime object" + .format(string) + ) + ) + + def __hasattr(self, object, name): + return name in object.__class__.__dict__ + + def __deserialize_model(self, data, klass): + """Deserializes list or dict to model. + + :param data: dict, list. + :param klass: class literal. + :return: model object. + """ + + if (not klass.swagger_types and + not self.__hasattr(klass, 'get_real_child_model')): + return data + + kwargs = {} + if klass.swagger_types is not None: + for attr, attr_type in six.iteritems(klass.swagger_types): + if (data is not None and + klass.attribute_map[attr] in data and + isinstance(data, (list, dict))): + value = data[klass.attribute_map[attr]] + kwargs[attr] = self.__deserialize(value, attr_type) + + instance = klass(**kwargs) + + if (isinstance(instance, dict) and + klass.swagger_types is not None and + isinstance(data, dict)): + for key, value in data.items(): + if key not in klass.swagger_types: + instance[key] = value + if self.__hasattr(instance, 'get_real_child_model'): + klass_name = instance.get_real_child_model(data) + if klass_name: + instance = self.__deserialize(data, klass_name) + return instance \ No newline at end of file diff --git a/clients/sellingpartner-api-aa-python/resources/api_test.mustache b/clients/sellingpartner-api-aa-python/resources/api_test.mustache new file mode 100644 index 000000000..b71c8a4ea --- /dev/null +++ b/clients/sellingpartner-api-aa-python/resources/api_test.mustache @@ -0,0 +1,37 @@ +# coding: utf-8 + +{{>partial_header}} + +from __future__ import absolute_import + +import unittest + +import {{packageName}} +from {{apiPackage}}.{{classVarName}} import {{classname}} # noqa: E501 +from {{packageName}}.rest import ApiException + + +class {{#operations}}Test{{classname}}(unittest.TestCase): + """{{classname}} unit test stubs""" + + def setUp(self): + self.api = {{apiPackage}}.{{classVarName}}.{{classname}}() # noqa: E501 + + def tearDown(self): + pass + + {{#operation}} + def test_{{operationId}}(self): + """Test case for {{{operationId}}} + +{{#summary}} + {{{summary}}} # noqa: E501 +{{/summary}} + """ + pass + + {{/operation}} +{{/operations}} + +if __name__ == '__main__': + unittest.main() \ No newline at end of file diff --git a/clients/sellingpartner-api-aa-python/resources/configuration.mustache b/clients/sellingpartner-api-aa-python/resources/configuration.mustache new file mode 100644 index 000000000..9fa5239e8 --- /dev/null +++ b/clients/sellingpartner-api-aa-python/resources/configuration.mustache @@ -0,0 +1,271 @@ +# coding: utf-8 + +{{>partial_header}} + +from __future__ import absolute_import + +import copy +import logging +import multiprocessing +import sys +import urllib3 + +import six +from six.moves import http_client as httplib + + +class Configuration(object): + """NOTE: This class is auto generated by the swagger code generator program. + + Ref: https://github.com/swagger-api/swagger-codegen + Do not edit the class manually. + """ + + _default = None + + def __init__(self): + """Constructor""" + if self._default: + for key in self._default.__dict__.keys(): + self.__dict__[key] = copy.copy(self._default.__dict__[key]) + return + + # Default Base url + self.host = "{{{basePath}}}" + # Temp file folder for downloading files + self.temp_folder_path = None + + # Authentication Settings + # dict to store API key(s) + self.api_key = {} + # dict to store API prefix (e.g. Bearer) + self.api_key_prefix = {} + # function to refresh API key if expired + self.refresh_api_key_hook = None + # Username for HTTP basic authentication + self.username = "" + # Password for HTTP basic authentication + self.password = "" +{{#authMethods}}{{#isOAuth}} + # access token for OAuth + self.access_token = "" +{{/isOAuth}}{{/authMethods}} + # Logging Settings + self.logger = {} + self.logger["package_logger"] = logging.getLogger("{{packageName}}") + self.logger["urllib3_logger"] = logging.getLogger("urllib3") + # Log format + self.logger_format = '%(asctime)s %(levelname)s %(message)s' + # Log stream handler + self.logger_stream_handler = None + # Log file handler + self.logger_file_handler = None + # Debug file location + self.logger_file = None + # Debug switch + self.debug = False + + # SSL/TLS verification + # Set this to false to skip verifying SSL certificate when calling API + # from https server. + self.verify_ssl = True + # Set this to customize the certificate file to verify the peer. + self.ssl_ca_cert = None + # client certificate file + self.cert_file = None + # client key file + self.key_file = None + # Set this to True/False to enable/disable SSL hostname verification. + self.assert_hostname = None + + # urllib3 connection pool's maximum number of connections saved + # per pool. urllib3 uses 1 connection as default value, but this is + # not the best value when you are making a lot of possibly parallel + # requests to the same host, which is often the case here. + # cpu_count * 5 is used as default value to increase performance. + self.connection_pool_maxsize = multiprocessing.cpu_count() * 5 + + # Proxy URL + self.proxy = None + # Safe chars for path_param + self.safe_chars_for_path_param = '' + + # Disable client side validation + self.client_side_validation = True + + @classmethod + def set_default(cls, default): + cls._default = default + + @property + def logger_file(self): + """The logger file. + + If the logger_file is None, then add stream handler and remove file + handler. Otherwise, add file handler and remove stream handler. + + :param value: The logger_file path. + :type: str + """ + return self.__logger_file + + @logger_file.setter + def logger_file(self, value): + """The logger file. + + If the logger_file is None, then add stream handler and remove file + handler. Otherwise, add file handler and remove stream handler. + + :param value: The logger_file path. + :type: str + """ + self.__logger_file = value + if self.__logger_file: + # If set logging file, + # then add file handler and remove stream handler. + self.logger_file_handler = logging.FileHandler(self.__logger_file) + self.logger_file_handler.setFormatter(self.logger_formatter) + for _, logger in six.iteritems(self.logger): + logger.addHandler(self.logger_file_handler) + if self.logger_stream_handler: + logger.removeHandler(self.logger_stream_handler) + else: + # If not set logging file, + # then add stream handler and remove file handler. + self.logger_stream_handler = logging.StreamHandler() + self.logger_stream_handler.setFormatter(self.logger_formatter) + for _, logger in six.iteritems(self.logger): + logger.addHandler(self.logger_stream_handler) + if self.logger_file_handler: + logger.removeHandler(self.logger_file_handler) + + @property + def debug(self): + """Debug status + + :param value: The debug status, True or False. + :type: bool + """ + return self.__debug + + @debug.setter + def debug(self, value): + """Debug status + + :param value: The debug status, True or False. + :type: bool + """ + self.__debug = value + if self.__debug: + # if debug status is True, turn on debug logging + for _, logger in six.iteritems(self.logger): + logger.setLevel(logging.DEBUG) + # turn on httplib debug + httplib.HTTPConnection.debuglevel = 1 + else: + # if debug status is False, turn off debug logging, + # setting log level to default `logging.WARNING` + for _, logger in six.iteritems(self.logger): + logger.setLevel(logging.WARNING) + # turn off httplib debug + httplib.HTTPConnection.debuglevel = 0 + + @property + def logger_format(self): + """The logger format. + + The logger_formatter will be updated when sets logger_format. + + :param value: The format string. + :type: str + """ + return self.__logger_format + + @logger_format.setter + def logger_format(self, value): + """The logger format. + + The logger_formatter will be updated when sets logger_format. + + :param value: The format string. + :type: str + """ + self.__logger_format = value + self.logger_formatter = logging.Formatter(self.__logger_format) + + def get_api_key_with_prefix(self, identifier): + """Gets API key (with prefix if set). + + :param identifier: The identifier of apiKey. + :return: The token for api key authentication. + """ + + if self.refresh_api_key_hook: + self.refresh_api_key_hook(self) + + key = self.api_key.get(identifier) + if key: + prefix = self.api_key_prefix.get(identifier) + if prefix: + return "%s %s" % (prefix, key) + else: + return key + + def get_basic_auth_token(self): + """Gets HTTP basic authentication header (string). + + :return: The token for basic HTTP authentication. + """ + token = "" + if self.username or self.password: + token = urllib3.util.make_headers( + basic_auth=self.username + ':' + self.password + ).get('authorization') + return token + + def auth_settings(self): + """Gets Auth Settings dict for api client. + + :return: The Auth Settings information dict. + """ + return { +{{#authMethods}} +{{#isApiKey}} + '{{name}}': + { + 'type': 'api_key', + 'in': {{#isKeyInHeader}}'header'{{/isKeyInHeader}}{{#isKeyInQuery}}'query'{{/isKeyInQuery}}, + 'key': '{{keyParamName}}', + 'value': self.get_api_key_with_prefix('{{keyParamName}}') + }, +{{/isApiKey}} +{{#isBasic}} + '{{name}}': + { + 'type': 'basic', + 'in': 'header', + 'key': 'Authorization', + 'value': self.get_basic_auth_token() + }, +{{/isBasic}}{{#isOAuth}} + '{{name}}': + { + 'type': 'oauth2', + 'in': 'header', + 'key': 'Authorization', + 'value': 'Bearer ' + self.access_token + }, +{{/isOAuth}}{{/authMethods}} + } + + def to_debug_report(self): + """Gets the essential information for debugging. + + :return: The report for debugging. + """ + return "Python SDK Debug Report:\n"\ + "OS: {env}\n"\ + "Python Version: {pyversion}\n"\ + "Version of the API: {{version}}\n"\ + "SDK Package Version: {{packageVersion}}".\ + format(env=sys.platform, pyversion=sys.version) diff --git a/clients/sellingpartner-api-aa-python/spapi/spapiclient.py b/clients/sellingpartner-api-aa-python/spapi/spapiclient.py new file mode 100644 index 000000000..a23c56953 --- /dev/null +++ b/clients/sellingpartner-api-aa-python/spapi/spapiclient.py @@ -0,0 +1,63 @@ +import os +import sys +import logging +import backoff +from requests.exceptions import HTTPError + +#Update Path +sys.path.append('path_to_folder/SellingPartnerAPIAuthAndAuthPython/client/orders') +from swagger_client.configuration import Configuration +from swagger_client.api_client import ApiClient + +#Update Path +sys.path.append('path_to_folder/SellingPartnerAPIAuthAndAuthPython') +from auth.LwaRequest import AccessTokenCache + +logging.basicConfig(level=logging.INFO) + +def is_rate_limit_error(e): + """Check if the exception is a rate limit error (HTTP 429).""" + return isinstance(e, HTTPError) and e.response.status_code == 429 + +class SPAPIClient: + region_to_endpoint = { + "NA": "https://sellingpartnerapi-na.amazon.com", + "EU": "https://sellingpartnerapi-eu.amazon.com", + "FE": "https://sellingpartnerapi-fe.amazon.com", + "SANDBOX": "https://sandbox.sellingpartnerapi-na.amazon.com" + } + + def __init__(self, config): + self.config = config + self.api_base_url = self.region_to_endpoint.get(config.region) + self.access_token_cache = AccessTokenCache() + self.api_client = None + self._initialize_client() + + def _initialize_client(self): + logging.debug("Initializing API Client...") + + access_token = self.access_token_cache.get_lwa_access_token( + client_id=self.config.client_id, + client_secret=self.config.client_secret, + refresh_token=self.config.refresh_token + ) + configuration = Configuration() + configuration.host = self.api_base_url + configuration.access_token = access_token + + self.api_client = ApiClient(configuration=configuration) + + @backoff.on_exception(backoff.expo, + HTTPError, + giveup=is_rate_limit_error, + max_tries=5, + on_giveup=lambda e: logging.error(f"Too Many Retries: {e}")) + + def get_api_client(self, api_name): + try: + module = __import__('swagger_client.api', fromlist=[api_name]) + api_class = getattr(module, api_name) + return api_class(self.api_client) + except AttributeError: + raise Exception(f"API client for {api_name} not found.") \ No newline at end of file diff --git a/clients/sellingpartner-api-aa-python/test.py b/clients/sellingpartner-api-aa-python/test.py new file mode 100644 index 000000000..2d2feb690 --- /dev/null +++ b/clients/sellingpartner-api-aa-python/test.py @@ -0,0 +1,27 @@ +if __name__ == "__main__": + print("Starting the Script...") + + from auth.credentials import SPAPIConfig + # User inputs their credentials in the config + config = SPAPIConfig( + client_id="Your Client-id", + client_secret="Your Client-secret", + refresh_token="Your Refresh-token", + region="SANDBOX", # Possible values NA, EU, FE, and SANDBOX + scope = None # Required for grant_type='client_credentials' ; Possible values "sellingpartnerapi::notifications" and "sellingpartnerapi::migration" + ) + + from spapi.spapiclient import SPAPIClient + + # Create the API Client + print("Config and client initialized...") + api_client = SPAPIClient(config) + + marketplace_ids = ["ATVPDKIKX0DER"] + created_after = "2024-01-19T12:34:56.789012" + + orders_api = api_client.get_api_client('OrdersV0Api') + orders_response = orders_api.get_orders(marketplace_ids=marketplace_ids, created_after=created_after) + print("Orders API Response:") + print(orders_response) + diff --git a/clients/sellingpartner-api-aa-python/test_lwaexception.py b/clients/sellingpartner-api-aa-python/test_lwaexception.py new file mode 100644 index 000000000..2e1c83ff9 --- /dev/null +++ b/clients/sellingpartner-api-aa-python/test_lwaexception.py @@ -0,0 +1,13 @@ +import unittest +from auth.LwaException import LwaException + +class TestLwaException(unittest.TestCase): + + def test_exception_creation(self): + error = LwaException("invalid_client", "Invalid client ID") + self.assertEqual(str(error), "LWA Error - Code: invalid_client, Message: Invalid client ID") + +# Add more test cases as needed + +if __name__ == '__main__': + unittest.main() diff --git a/clients/sellingpartner-api-aa-python/test_lwarequest.py b/clients/sellingpartner-api-aa-python/test_lwarequest.py new file mode 100644 index 000000000..ab47ce32e --- /dev/null +++ b/clients/sellingpartner-api-aa-python/test_lwarequest.py @@ -0,0 +1,32 @@ +import unittest +from unittest.mock import patch +from auth.LwaRequest import AccessTokenCache +from auth.LwaException import LwaException + +class TestAccessTokenCache(unittest.TestCase): + + @patch('auth.LwaRequest.requests.post') + def test_token_retrieval_success(self, mock_post): + # Mock a successful token response + mock_response = mock_post.return_value + mock_response.raise_for_status.side_effect = None + mock_response.json.return_value = {"access_token": "test_token", "expires_in": 3600} + + token_cache = AccessTokenCache() + token = token_cache.get_lwa_access_token("client_id", "client_secret", "refresh_token") + + self.assertEqual(token, "test_token") + + @patch('auth.LwaRequest.requests.post') + def test_token_retrieval_failure(self, mock_post): + # Mock a failing token response + mock_post.side_effect = Exception("Network error") + + token_cache = AccessTokenCache() + with self.assertRaises(LwaException): + token_cache.get_lwa_access_token("client_id", "client_secret", "refresh_token") + +# Add more test cases as needed + +if __name__ == '__main__': + unittest.main() From 47edb31d3054985dbb8407fd161afcc212259d47 Mon Sep 17 00:00:00 2001 From: Jack Evoniuk Date: Tue, 5 Mar 2024 14:54:08 -0800 Subject: [PATCH 224/340] Update analytics_salesAndTraffic_2023_11_15 --- ...alytics_salesAndTraffic_2023_11_15.graphql | 413 +++++++----------- 1 file changed, 147 insertions(+), 266 deletions(-) diff --git a/schemas/data-kiosk/analytics_salesAndTraffic_2023_11_15.graphql b/schemas/data-kiosk/analytics_salesAndTraffic_2023_11_15.graphql index 9ecb45e55..4347e7a4b 100644 --- a/schemas/data-kiosk/analytics_salesAndTraffic_2023_11_15.graphql +++ b/schemas/data-kiosk/analytics_salesAndTraffic_2023_11_15.graphql @@ -1,3 +1,7 @@ +schema { + query: Query +} + """ This directive specifies the retention duration of a query containing a particular field. When a query contains multiple fields with different @@ -5,44 +9,36 @@ retentions, the shortest (minimum) retention is applied to the query. The retention of a query's resulting documents always matches the retention of the query. """ directive @resultRetention( - """An ISO 8601 duration.""" + "An ISO 8601 duration." duration: String! ) on FIELD_DEFINITION -"""Monetary amount with the corresponding currency code.""" +"Monetary amount with the corresponding currency code." type Amount { - """The amount.""" + "The amount." amount: Float! - - """Currency code of the amount in ISO 4217 format.""" + "Currency code of the amount in ISO 4217 format." currencyCode: String! } -""" -A root type for Analytics Sales and Traffic queries version 2023_11_15. -""" +"A root type for Analytics Sales and Traffic queries version 2023_11_15." type Analytics_SalesAndTraffic_2023_11_15 { - """ - A query to retrieve sales and traffic data for the seller's account aggregated by ASIN. - """ + "A query to retrieve sales and traffic data for the seller's account aggregated by ASIN." salesAndTrafficByAsin( - """Determines how the sales and traffic data should be aggregated.""" - aggregateBy: AsinGranularity! - + "Determines how the sales and traffic data should be aggregated." + aggregateBy: AsinGranularity!, """ The end date of the sales and traffic data to retrieve. If a date granularity is specified and the provided end date occurs mid-week or mid-month, the preceding Saturday for WEEK date granularity or the last day of the previous month for MONTH date granularity will be used instead. """ - endDate: Date! - + endDate: Date!, """ The marketplace identifiers to retrieve sales and traffic data for. If omitted, sales and traffic data for all applicable marketplaces will be retrieved. """ - marketplaceIds: [String] - + marketplaceIds: [String], """ The start date of the sales and traffic data to retrieve. The start date must be no more than two years ago. If a date granularity is specified and @@ -52,28 +48,22 @@ type Analytics_SalesAndTraffic_2023_11_15 { """ startDate: Date! ): [SalesAndTrafficByAsin] - - """ - A query to retrieve sales and traffic data for the seller's account aggregated by date. - """ + "A query to retrieve sales and traffic data for the seller's account aggregated by date." salesAndTrafficByDate( - """Determines how the sales and traffic data should be aggregated.""" - aggregateBy: DateGranularity! - + "Determines how the sales and traffic data should be aggregated." + aggregateBy: DateGranularity!, """ The end date of the sales and traffic data to retrieve. If the provided end date occurs mid-week or mid-month, the preceding Saturday for WEEK date granularity or the last day of the previous month for MONTH date granularity will be used instead. """ - endDate: Date! - + endDate: Date!, """ The marketplace identifiers to retrieve sales and traffic data for. If omitted, sales and traffic data for all applicable marketplaces will be retrieved. """ - marketplaceIds: [String] - + marketplaceIds: [String], """ The start date of the sales and traffic data to retrieve. The start date must be no more than two years ago. If the provided start date occurs @@ -84,90 +74,76 @@ type Analytics_SalesAndTraffic_2023_11_15 { ): [SalesAndTrafficByDate] } -"""The sales data for the seller's account aggregated by ASIN.""" +"The sales data for the seller's account aggregated by ASIN." type ByAsinSales { """ The amount of ordered product sales, calculated by multiplying the price of products and the number of units sold for the selected time period. """ - orderedProductSales: Amount! - + orderedProductSales: Amount! @resultRetention(duration : "P30D") """ The amount of ordered product sales to Amazon Business customers, calculated by multiplying the price of products and the number of units sold for the selected time period. Note: This field is only populated when the seller is a B2B seller. """ - orderedProductSalesB2B: Amount - - """The number of items that were ordered for the selected time period.""" - totalOrderItems: Long! - + orderedProductSalesB2B: Amount @resultRetention(duration : "P30D") + "The number of items that were ordered for the selected time period." + totalOrderItems: Long! @resultRetention(duration : "P30D") """ The number of items that were ordered by Amazon Business customers for the selected time period. Note: This field is only populated when the seller is a B2B seller. """ - totalOrderItemsB2B: Long - - """The number of units ordered.""" - unitsOrdered: Long! - + totalOrderItemsB2B: Long @resultRetention(duration : "P30D") + "The number of units ordered." + unitsOrdered: Long! @resultRetention(duration : "P30D") """ The number of units ordered by Amazon Business customers. Note: This field is only populated when the seller is a B2B seller. """ - unitsOrderedB2B: Long + unitsOrderedB2B: Long @resultRetention(duration : "P30D") } -"""The traffic data for the seller's account aggregated by ASIN.""" +"The traffic data for the seller's account aggregated by ASIN." type ByAsinTraffic { - """ - Browser page views are the number of times a user visited your Amazon.com browser pages for the selected time period. - """ - browserPageViews: Long! - + "Browser page views are the number of times a user visited your Amazon.com browser pages for the selected time period." + browserPageViews: Long! @resultRetention(duration : "P30D") """ Browser B2B page views are the number of times an Amazon Business customer visited your Amazon.com browser pages for the selected time period. Note: This field is only populated when the seller is a B2B seller. """ - browserPageViewsB2B: Long - + browserPageViewsB2B: Long @resultRetention(duration : "P30D") """ The percentage of browser page views that a particular SKU/ASIN receives relative to the total number of browser page views for all products. """ - browserPageViewsPercentage: Float! - + browserPageViewsPercentage: Float! @resultRetention(duration : "P30D") """ The percentage of browser views by Amazon Business customers that a particular SKU/ASIN receives relative to the total number of mobile page views by Amazon Business customers for all products. Note: This field is only populated when the seller is a B2B seller. """ - browserPageViewsPercentageB2B: Float - + browserPageViewsPercentageB2B: Float @resultRetention(duration : "P30D") """ The percentage of browser sessions that contain at least one page view for a particular SKU/ASIN relative to the total number of browser sessions for all products. """ - browserSessionPercentage: Float! - + browserSessionPercentage: Float! @resultRetention(duration : "P30D") """ The percentage of browser sessions that contain at least one page view by an Amazon Business customer for a particular SKU/ASIN relative to the total number of browser sessions by Amazon Business customers for all products. Note: This field is only populated when the seller is a B2B seller. """ - browserSessionPercentageB2B: Float - + browserSessionPercentageB2B: Float @resultRetention(duration : "P30D") """ Browser sessions are visits to your Amazon.com browser pages by a user. All browser activity within a 24-hour period is considered a browser session. For example, if a user visits your pages using a browser multiple times within a 24 hour period it is counted as a single browser session. """ - browserSessions: Long! - + browserSessions: Long! @resultRetention(duration : "P30D") """ Browser B2B sessions are visits to your Amazon.com browser pages by an Amazon Business customer. All activity within a 24-hour period is considered a @@ -175,70 +151,60 @@ type ByAsinTraffic { using browser multiple times within a 24 hour period it is counted as a single session. Note: This field is only populated when the seller is a B2B seller. """ - browserSessionsB2B: Long - + browserSessionsB2B: Long @resultRetention(duration : "P30D") """ The percentage of page views where the buy box (the add to shopping cart link) appeared on the page for customers to add your product to their cart. """ - buyBoxPercentage: Float! - + buyBoxPercentage: Float! @resultRetention(duration : "P30D") """ The percentage of page views by Amazon Business customers where the buy box (the add to shopping cart link) appeared on the page for customers to add your product to their cart. Note: This field is only populated when the seller is a B2B seller. """ - buyBoxPercentageB2B: Float - + buyBoxPercentageB2B: Float @resultRetention(duration : "P30D") """ Mobile app page views are the number of times a user visited your Amazon.com mobile app pages for the selected time period. """ - mobileAppPageViews: Long! - + mobileAppPageViews: Long! @resultRetention(duration : "P30D") """ Mobile app B2B page views are the number of times an Amazon Business customer visited your Amazon.com mobile app pages for the selected time period. Note: This field is only populated when the seller is a B2B seller. """ - mobileAppPageViewsB2B: Long - + mobileAppPageViewsB2B: Long @resultRetention(duration : "P30D") """ The percentage of mobile app page views that a particular SKU/ASIN receives relative to the total number of mobile app page views for all products. """ - mobileAppPageViewsPercentage: Float! - + mobileAppPageViewsPercentage: Float! @resultRetention(duration : "P30D") """ The percentage of mobile page views by Amazon Business customers that a particular SKU/ASIN receives relative to the total number of mobile page views by Amazon Business customers for all products. Note: This field is only populated when the seller is a B2B seller. """ - mobileAppPageViewsPercentageB2B: Float - + mobileAppPageViewsPercentageB2B: Float @resultRetention(duration : "P30D") """ The percentage of mobile app sessions that contain at least one page view for a particular SKU/ASIN relative to the total number of mobile app sessions for all products. """ - mobileAppSessionPercentage: Float! - + mobileAppSessionPercentage: Float! @resultRetention(duration : "P30D") """ The percentage of mobile app sessions that contain at least one page view by an Amazon Business customer for a particular SKU/ASIN relative to the total number of mobile app sessions by Amazon Business customers for all products. Note: This field is only populated when the seller is a B2B seller. """ - mobileAppSessionPercentageB2B: Float - + mobileAppSessionPercentageB2B: Float @resultRetention(duration : "P30D") """ Mobile app sessions are visits to your Amazon.com mobile app pages by a user. All mobile app activity within a 24-hour period is considered a mobile app session. For example, if a user visits your pages using a mobile app multiple times within a 24 hour period it is counted as a single mobile app session. """ - mobileAppSessions: Long! - + mobileAppSessions: Long! @resultRetention(duration : "P30D") """ Mobile app B2B sessions are visits to your Amazon.com mobile app pages by an Amazon Business customer. All activity within a 24-hour period is considered a @@ -246,57 +212,49 @@ type ByAsinTraffic { pages using mobile app multiple times within a 24 hour period it is counted as a single session. Note: This field is only populated when the seller is a B2B seller. """ - mobileAppSessionsB2B: Long - + mobileAppSessionsB2B: Long @resultRetention(duration : "P30D") """ Page views are the number of times a user visited your Amazon.com browser or mobile app pages for the selected time period. It is calculated as the sum of browserPageViews and mobileAppPageViews. """ - pageViews: Long! - + pageViews: Long! @resultRetention(duration : "P30D") """ B2B page views are the number of times an Amazon Business customer visited your Amazon.com pages using browser or mobile app for the selected time period. Note: This field is only populated when the seller is a B2B seller. """ - pageViewsB2B: Long - + pageViewsB2B: Long @resultRetention(duration : "P30D") """ The percentage of browser and mobile app page views that a particular SKU/ASIN receives relative to the total number of browser and mobile app page views for all products. """ - pageViewsPercentage: Float! - + pageViewsPercentage: Float! @resultRetention(duration : "P30D") """ The percentage of page views by Amazon Business customers that a particular SKU/ASIN receives relative to the total number of page views by Amazon Business customers for all products. Note: This field is only populated when the seller is a B2B seller. """ - pageViewsPercentageB2B: Float - + pageViewsPercentageB2B: Float @resultRetention(duration : "P30D") """ The percentage of sessions that contain at least one page view for a particular SKU/ASIN relative to the total number of sessions for all products. """ - sessionPercentage: Float! - + sessionPercentage: Float! @resultRetention(duration : "P30D") """ The percentage of sessions that contain at least one page view by an Amazon Business customer for a particular SKU/ASIN relative to the total number of sessions by Amazon Business customers for all products. Note: This field is only populated when the seller is a B2B seller. """ - sessionPercentageB2B: Float - + sessionPercentageB2B: Float @resultRetention(duration : "P30D") """ Sessions are visits to your Amazon.com browser or mobile app pages by a user. All browser and mobile app activity within a 24-hour period is considered a session. It is calculated as the sum of browserSessions and mobileAppSessions. """ - sessions: Long! - + sessions: Long! @resultRetention(duration : "P30D") """ B2B sessions are visits to your Amazon.com pages using browser or mobile app by an Amazon Business customer. All activity within a 24-hour period is @@ -305,171 +263,138 @@ type ByAsinTraffic { counted as a single session. Note: This field is only populated when the seller is a B2B seller. """ - sessionsB2B: Long - + sessionsB2B: Long @resultRetention(duration : "P30D") """ The percentage conversion metric indicating how many units were purchased relative to the number of people who viewed the products, calculated by dividing unitsOrdered by sessions. """ - unitSessionPercentage: Float! - + unitSessionPercentage: Float! @resultRetention(duration : "P30D") """ The percentage conversion metric indicating how many units were purchased by Amazon Business customers relative to the number of Amazon Business customers who viewed the products, calculated by dividing unitsOrderedB2B by sessions. Note: This field is only populated when the seller is a B2B seller. """ - unitSessionPercentageB2B: Float + unitSessionPercentageB2B: Float @resultRetention(duration : "P30D") } -"""The sales data for the seller's account aggregated by date.""" +"The sales data for the seller's account aggregated by date." type ByDateSales { """ The average ordered product sales, calculated by dividing orderedProductSales by totalOrderItems for the selected time period. """ - averageSalesPerOrderItem: Amount! - + averageSalesPerOrderItem: Amount! @resultRetention(duration : "P30D") """ The average ordered product sales to Amazon Business customers, calculated by dividing orderedProductSalesB2B by totalOrderItemsB2B for the selected time period. Note: This field is only populated when the seller is a B2B seller. """ - averageSalesPerOrderItemB2B: Amount - + averageSalesPerOrderItemB2B: Amount @resultRetention(duration : "P30D") """ The average price of the units sold in the selected time period, calculated by dividing the orderedProductSales by unitsOrdered for the selected time period. """ - averageSellingPrice: Amount! - + averageSellingPrice: Amount! @resultRetention(duration : "P30D") """ The average price of the units sold to Amazon Business customers, calculated by dividing the orderedProductSalesB2B by unitsOrderedB2B for the selected time period. Note: This field is only populated when the seller is a B2B seller. """ - averageSellingPriceB2B: Amount - - """ - The average number of units in each order item for the selected time period. - """ - averageUnitsPerOrderItem: Float! - + averageSellingPriceB2B: Amount @resultRetention(duration : "P30D") + "The average number of units in each order item for the selected time period." + averageUnitsPerOrderItem: Float! @resultRetention(duration : "P30D") """ The average number of units in each order item ordered by Amazon Business customers for the selected time period. Note: This field is only populated when the seller is a B2B seller. """ - averageUnitsPerOrderItemB2B: Float - - """Monetary amount of filed A-to-z guarantee claims.""" - claimsAmount: Amount! - - """The number of A-to-z guarantee claims granted.""" - claimsGranted: Long! - + averageUnitsPerOrderItemB2B: Float @resultRetention(duration : "P30D") + "Monetary amount of filed A-to-z guarantee claims." + claimsAmount: Amount! @resultRetention(duration : "P30D") + "The number of A-to-z guarantee claims granted." + claimsGranted: Long! @resultRetention(duration : "P30D") """ The amount of ordered product sales, calculated by multiplying the price of products and the number of units sold for the selected time period. """ - orderedProductSales: Amount! - + orderedProductSales: Amount! @resultRetention(duration : "P30D") """ The amount of ordered product sales to Amazon Business customers, calculated by multiplying the price of products and the number of units sold for the selected time period. """ - orderedProductSalesB2B: Amount - - """The number of orders shipped in the selected time period.""" - ordersShipped: Long! - + orderedProductSalesB2B: Amount @resultRetention(duration : "P30D") + "The number of orders shipped in the selected time period." + ordersShipped: Long! @resultRetention(duration : "P30D") """ The percentage conversion metric indicating how many orders were refunded by the seller, calculated by dividing unitsOrdered by unitsRefunded in the selected time period. """ - refundRate: Float! - - """ - The amount of ordered product sales shipped for the selected time period. - """ - shippedProductSales: Amount! - + refundRate: Float! @resultRetention(duration : "P30D") + "The amount of ordered product sales shipped for the selected time period." + shippedProductSales: Amount! @resultRetention(duration : "P30D") """ The number of items that were ordered for the selected time period. Example: For an order containing 2 copies of book A and 3 copies of book B, the number of orders is 1, the number of order items is 2 (book A and book B), and the number of units is 5 (2 + 3). """ - totalOrderItems: Long! - + totalOrderItems: Long! @resultRetention(duration : "P30D") """ The number of items that were ordered by Amazon Business customers for the selected time period. Example: For an order containing 2 copies of book A and 3 copies of book B, the number of orders is 1, the number of order items is 2 (book A and book B), and the number of units is 5 (2 + 3). """ - totalOrderItemsB2B: Long - + totalOrderItemsB2B: Long @resultRetention(duration : "P30D") """ The number of units ordered for the selected time period. Example: For an order containing 2 copies of book A and 3 copies of book B, the number of orders is 1, the number of order items is 2 (book A and book B), and the number of units is 5 (2 + 3). """ - unitsOrdered: Long! - + unitsOrdered: Long! @resultRetention(duration : "P30D") """ The number of units ordered by Amazon Business customers for the selected time period. Example: For an order containing 2 copies of book A and 3 copies of book B, the number of orders is 1, the number of order items is 2 (book A and book B), and the number of units is 5 (2 + 3). """ - unitsOrderedB2B: Long - - """The number of units refunded in the selected time period.""" - unitsRefunded: Long! - - """The number of units shipped in the selected time period.""" - unitsShipped: Long! + unitsOrderedB2B: Long @resultRetention(duration : "P30D") + "The number of units refunded in the selected time period." + unitsRefunded: Long! @resultRetention(duration : "P30D") + "The number of units shipped in the selected time period." + unitsShipped: Long! @resultRetention(duration : "P30D") } -"""The traffic data for the seller's account aggregated by date.""" +"The traffic data for the seller's account aggregated by date." type ByDateTraffic { """ The average number of offers listed for sale in the selected time period. It is calculated from the total number of offers and the total number of days in the selected time period. """ - averageOfferCount: Long! - - """ - The average number of parent items listed for sale in the selected time period. - """ - averageParentItems: Long! - - """ - Browser page views are the number of times a user visited your Amazon.com browser pages for the selected time period. - """ - browserPageViews: Long! - + averageOfferCount: Long! @resultRetention(duration : "P30D") + "The average number of parent items listed for sale in the selected time period." + averageParentItems: Long! @resultRetention(duration : "P30D") + "Browser page views are the number of times a user visited your Amazon.com browser pages for the selected time period." + browserPageViews: Long! @resultRetention(duration : "P30D") """ Browser B2B page views are the number of times an Amazon Business customer visited your Amazon.com browser pages for the selected time period. Note: This field is only populated when the seller is a B2B seller. """ - browserPageViewsB2B: Long - + browserPageViewsB2B: Long @resultRetention(duration : "P30D") """ Browser sessions are visits to your Amazon.com browser pages by a user. All browser activity within a 24-hour period is considered a browser session. For example, if a user visits your pages using a browser multiple times within a 24 hour period it is counted as a single browser session. """ - browserSessions: Long! - + browserSessions: Long! @resultRetention(duration : "P30D") """ Browser B2B sessions are visits to your Amazon.com browser pages by an Amazon Business customer. All activity within a 24-hour period is considered a @@ -477,47 +402,38 @@ type ByDateTraffic { using browser multiple times within a 24 hour period it is counted as a single session. Note: This field is only populated when the seller is a B2B seller. """ - browserSessionsB2B: Long - + browserSessionsB2B: Long @resultRetention(duration : "P30D") """ The percentage of page views where the buy box (the add to shopping cart link) appeared on the page for customers to add your product to their cart. """ - buyBoxPercentage: Float! - + buyBoxPercentage: Float! @resultRetention(duration : "P30D") """ The percentage of page views by Amazon Business customers where the buy box (the add to shopping cart link) appeared on the page for customers to add your product to their cart. Note: This field is only populated when the seller is a B2B seller. """ - buyBoxPercentageB2B: Float - - """ - The number of times customers left feedback in the selected time period. - """ - feedbackReceived: Long! - + buyBoxPercentageB2B: Float @resultRetention(duration : "P30D") + "The number of times customers left feedback in the selected time period." + feedbackReceived: Long! @resultRetention(duration : "P30D") """ Mobile app page views are the number of times a user visited your Amazon.com mobile app pages for the selected time period. """ - mobileAppPageViews: Long! - + mobileAppPageViews: Long! @resultRetention(duration : "P30D") """ Mobile app B2B page views are the number of times an Amazon Business customer visited your Amazon.com mobile app pages for the selected time period. Note: This field is only populated when the seller is a B2B seller. """ - mobileAppPageViewsB2B: Long - + mobileAppPageViewsB2B: Long @resultRetention(duration : "P30D") """ Mobile app sessions are visits to your Amazon.com mobile app pages by a user. All mobile app activity within a 24-hour period is considered a mobile app session. For example, if a user visits your pages using a mobile app multiple times within a 24 hour period it is counted as a single mobile app session. """ - mobileAppSessions: Long! - + mobileAppSessions: Long! @resultRetention(duration : "P30D") """ Mobile app B2B sessions are visits to your Amazon.com mobile app pages by an Amazon Business customer. All activity within a 24-hour period is considered a @@ -525,54 +441,44 @@ type ByDateTraffic { pages using mobile app multiple times within a 24 hour period it is counted as a single session. Note: This field is only populated when the seller is a B2B seller. """ - mobileAppSessionsB2B: Long - - """ - The number of times customers left negative feedback in the selected time period. - """ - negativeFeedbackReceived: Long! - + mobileAppSessionsB2B: Long @resultRetention(duration : "P30D") + "The number of times customers left negative feedback in the selected time period." + negativeFeedbackReceived: Long! @resultRetention(duration : "P30D") """ The percentage conversion metric indicating how many order items were generated relative to the number of people who viewed the products. """ - orderItemSessionPercentage: Float! - + orderItemSessionPercentage: Float! @resultRetention(duration : "P30D") """ The percentage conversion metric indicating how many order items were generated by Amazon Business customers relative to the number of Amazon Business customers who viewed the products. Note: This field is only populated when the seller is a B2B seller. """ - orderItemSessionPercentageB2B: Float - + orderItemSessionPercentageB2B: Float @resultRetention(duration : "P30D") """ Page views are the number of times a user visited your Amazon.com browser or mobile app pages for the selected time period. It is calculated as the sum of browserPageViews and mobileAppPageViews. """ - pageViews: Long! - + pageViews: Long! @resultRetention(duration : "P30D") """ B2B page views are the number of times an Amazon Business customer visited your Amazon.com pages using browser or mobile app for the selected time period. Note: This field is only populated when the seller is a B2B seller. """ - pageViewsB2B: Long - + pageViewsB2B: Long @resultRetention(duration : "P30D") """ The negative feedback rate is the number of orders that have received negative feedback divided by the number of orders in the selected time period. """ - receivedNegativeFeedbackRate: Float! - + receivedNegativeFeedbackRate: Float! @resultRetention(duration : "P30D") """ Sessions are visits to your Amazon.com browser or mobile app pages by a user. All browser and mobile app activity within a 24-hour period is considered a session. It is calculated as the sum of browserSessions and mobileAppSessions. """ - sessions: Long! - + sessions: Long! @resultRetention(duration : "P30D") """ B2B sessions are visits to your Amazon.com pages using browser or mobile app by an Amazon Business customer. All activity within a 24-hour period is @@ -581,31 +487,27 @@ type ByDateTraffic { counted as a single session. Note: This field is only populated when the seller is a B2B seller. """ - sessionsB2B: Long - + sessionsB2B: Long @resultRetention(duration : "P30D") """ The percentage conversion metric indicating how many units were purchased relative to the number of people who viewed the products. """ - unitSessionPercentage: Float! - + unitSessionPercentage: Float! @resultRetention(duration : "P30D") """ The percentage conversion metric indicating how many units were purchased by Amazon Business customers relative to number of Amazon Business customers who viewed the products. Note: This field is only populated when the seller is a B2B seller. """ - unitSessionPercentageB2B: Float + unitSessionPercentageB2B: Float @resultRetention(duration : "P30D") } -"""A root type for queries""" +"A root type for queries" type Query { - """Analytics Sales and Traffic queries version 2023_11_15.""" + "Analytics Sales and Traffic queries version 2023_11_15." analytics_salesAndTraffic_2023_11_15: Analytics_SalesAndTraffic_2023_11_15 } -""" -The sales and traffic data for the seller's account aggregated by ASIN. -""" +"The sales and traffic data for the seller's account aggregated by ASIN." type SalesAndTrafficByAsin { """ The Amazon Standard Identification Number of the child product. Child products @@ -613,87 +515,66 @@ type SalesAndTrafficByAsin { non-sellable parent product. Note: This field is only present when ASIN aggregation is CHILD or SKU. """ - childAsin: String - - """The end date of the period of the aggregated data.""" - endDate: Date! - - """The marketplace identifier of the sales and traffic data.""" - marketplaceId: String! - + childAsin: String @resultRetention(duration : "P30D") + "The end date of the period of the aggregated data." + endDate: Date! @resultRetention(duration : "P30D") + "The marketplace identifier of the sales and traffic data." + marketplaceId: String! @resultRetention(duration : "P30D") """ The Amazon Standard Identification Number of the parent product. A parent product appears in our catalog as a non-buyable, generic identifier for a product that has buyable variations (child products). """ - parentAsin: String! - - """ - The sales data for the parentAsin/childAsin/sku within the specified date range. - """ + parentAsin: String! @resultRetention(duration : "P30D") + "The sales data for the parentAsin/childAsin/sku within the specified date range." sales: ByAsinSales! - """ The Stock Keeping Unit of the product. The SKU is a seller specific product identifier. Note: This field is only present when ASIN aggregation is SKU. """ - sku: String - - """The start date of the period of the aggregated data.""" - startDate: Date! - - """ - The traffic data for the parentAsin/childAsin/sku within the specified date range. - """ + sku: String @resultRetention(duration : "P30D") + "The start date of the period of the aggregated data." + startDate: Date! @resultRetention(duration : "P30D") + "The traffic data for the parentAsin/childAsin/sku within the specified date range." traffic: ByAsinTraffic! } -""" -The sales and traffic data for the seller's account aggregated by date. -""" +"The sales and traffic data for the seller's account aggregated by date." type SalesAndTrafficByDate { - """The end date of the sales and traffic data.""" - endDate: Date! - - """The marketplace identifier of the sales and traffic data.""" - marketplaceId: String! - - """The sales data for the seller's account.""" + "The end date of the sales and traffic data." + endDate: Date! @resultRetention(duration : "P30D") + "The marketplace identifier of the sales and traffic data." + marketplaceId: String! @resultRetention(duration : "P30D") + "The sales data for the seller's account." sales: ByDateSales! - - """The start date of the sales and traffic data.""" - startDate: Date! - - """The traffic data for the seller's account.""" + "The start date of the sales and traffic data." + startDate: Date! @resultRetention(duration : "P30D") + "The traffic data for the seller's account." traffic: ByDateTraffic! } -"""The ASIN granularity used in aggregation.""" +"The ASIN granularity used in aggregation." enum AsinGranularity { - """Sales and traffic data is aggregated by child ASIN.""" + "Sales and traffic data is aggregated by child ASIN." CHILD - - """Sales and traffic data is aggregated by parent ASIN.""" + "Sales and traffic data is aggregated by parent ASIN." PARENT - - """Sales and traffic data is aggregated by sku.""" + "Sales and traffic data is aggregated by sku." SKU } -"""The date granularity used in aggregation.""" +"The date granularity used in aggregation." enum DateGranularity { - """Sales and traffic data is aggregated by day.""" + "Sales and traffic data is aggregated by day." DAY - - """Sales and traffic data is aggregated by month.""" + "Sales and traffic data is aggregated by month." MONTH - - """Sales and traffic data is aggregated by week.""" + "Sales and traffic data is aggregated by week." WEEK } -"""Date""" +"Date" scalar Date -"""Long""" -scalar Long \ No newline at end of file +"Long" +scalar Long From bb9fdf7567af6150901ab8fa738fd94c6f94febc Mon Sep 17 00:00:00 2001 From: Jack Evoniuk Date: Wed, 20 Mar 2024 10:30:37 -0700 Subject: [PATCH 225/340] Update the Fulfillment Outbound model --- .../fulfillmentOutbound_2020-07-01.json | 239 ++++++++++-------- 1 file changed, 138 insertions(+), 101 deletions(-) diff --git a/models/fulfillment-outbound-api-model/fulfillmentOutbound_2020-07-01.json b/models/fulfillment-outbound-api-model/fulfillmentOutbound_2020-07-01.json index 819d8a68c..555969314 100644 --- a/models/fulfillment-outbound-api-model/fulfillmentOutbound_2020-07-01.json +++ b/models/fulfillment-outbound-api-model/fulfillmentOutbound_2020-07-01.json @@ -32,7 +32,7 @@ "tags": [ "fbaOutbound" ], - "description": "Returns a list of fulfillment order previews based on shipping criteria that you specify.\n\n**Usage Plan:**\n\n| Rate (requests per second) | Burst |\n| ---- | ---- |\n| 2 | 30 |\n\nThe `x-amzn-RateLimit-Limit` response header returns the usage plan rate limits that were applied to the requested operation, when available. The table above indicates the default rate and burst values for this operation. Selling partners whose business demands require higher throughput may see higher rate and burst values than those shown here. For more information, see [Usage Plans and Rate Limits in the Selling Partner API](https://developer-docs.amazon.com/sp-api/docs/usage-plans-and-rate-limits-in-the-sp-api).", + "description": "Returns a list of fulfillment order previews based on shipping criteria that you specify.\n\n**Usage Plan:**\n\n| Rate (requests per second) | Burst |\n| ---- | ---- |\n| 2 | 30 |\n\nThe `x-amzn-RateLimit-Limit` response header returns the usage plan rate limits that were applied to the requested operation, when available. The table above indicates the default rate and burst values for this operation. Selling partners whose business demands require higher throughput may see higher rate and burst values than those shown here. For more information, refer to [Usage Plans and Rate Limits in the Selling Partner API](https://developer-docs.amazon.com/sp-api/docs/usage-plans-and-rate-limits-in-the-sp-api).", "operationId": "getFulfillmentPreview", "parameters": [ { @@ -235,7 +235,7 @@ "tags": [ "fbaOutbound" ], - "description": "Returns a list of fulfillment orders fulfilled after (or at) a specified date-time, or indicated by the next token parameter.\n\n**Usage Plan:**\n\n| Rate (requests per second) | Burst |\n| ---- | ---- |\n| 2 | 30 |\n\nThe `x-amzn-RateLimit-Limit` response header returns the usage plan rate limits that were applied to the requested operation, when available. The table above indicates the default rate and burst values for this operation. Selling partners whose business demands require higher throughput may see higher rate and burst values than those shown here. For more information, see [Usage Plans and Rate Limits in the Selling Partner API](https://developer-docs.amazon.com/sp-api/docs/usage-plans-and-rate-limits-in-the-sp-api)", + "description": "Returns a list of fulfillment orders fulfilled after (or at) a specified date-time, or indicated by the next token parameter.\n\n**Usage Plan:**\n\n| Rate (requests per second) | Burst |\n| ---- | ---- |\n| 2 | 30 |\n\nThe `x-amzn-RateLimit-Limit` response header returns the usage plan rate limits that were applied to the requested operation, when available. The table above indicates the default rate and burst values for this operation. Selling partners whose business demands require higher throughput may see higher rate and burst values than those shown here. For more information, refer to [Usage Plans and Rate Limits in the Selling Partner API](https://developer-docs.amazon.com/sp-api/docs/usage-plans-and-rate-limits-in-the-sp-api)", "operationId": "listAllFulfillmentOrders", "parameters": [ { @@ -444,7 +444,7 @@ "tags": [ "fbaOutbound" ], - "description": "Requests that Amazon ship items from the seller's inventory in Amazon's fulfillment network to a destination address.\n\n**Usage Plan:**\n\n| Rate (requests per second) | Burst |\n| ---- | ---- |\n| 2 | 30 |\n\nThe `x-amzn-RateLimit-Limit` response header returns the usage plan rate limits that were applied to the requested operation, when available. The table above indicates the default rate and burst values for this operation. Selling partners whose business demands require higher throughput may see higher rate and burst values than those shown here. For more information, see [Usage Plans and Rate Limits in the Selling Partner API](https://developer-docs.amazon.com/sp-api/docs/usage-plans-and-rate-limits-in-the-sp-api)", + "description": "Requests that Amazon ship items from the seller's inventory in Amazon's fulfillment network to a destination address.\n\n**Usage Plan:**\n\n| Rate (requests per second) | Burst |\n| ---- | ---- |\n| 2 | 30 |\n\nThe `x-amzn-RateLimit-Limit` response header returns the usage plan rate limits that were applied to the requested operation, when available. The table above indicates the default rate and burst values for this operation. Selling partners whose business demands require higher throughput may see higher rate and burst values than those shown here. For more information, refer to [Usage Plans and Rate Limits in the Selling Partner API](https://developer-docs.amazon.com/sp-api/docs/usage-plans-and-rate-limits-in-the-sp-api)", "operationId": "createFulfillmentOrder", "parameters": [ { @@ -592,13 +592,13 @@ "tags": [ "fbaOutbound" ], - "description": "Returns delivery tracking information for a package in an outbound shipment for a Multi-Channel Fulfillment order.\n\n**Usage Plan:**\n\n| Rate (requests per second) | Burst |\n| ---- | ---- |\n| 2 | 30 |\n\nThe `x-amzn-RateLimit-Limit` response header returns the usage plan rate limits that were applied to the requested operation, when available. The table above indicates the default rate and burst values for this operation. Selling partners whose business demands require higher throughput may see higher rate and burst values than those shown here. For more information, see [Usage Plans and Rate Limits in the Selling Partner API](https://developer-docs.amazon.com/sp-api/docs/usage-plans-and-rate-limits-in-the-sp-api).", + "description": "Returns delivery tracking information for a package in an outbound shipment for a Multi-Channel Fulfillment order.\n\n**Usage Plan:**\n\n| Rate (requests per second) | Burst |\n| ---- | ---- |\n| 2 | 30 |\n\nThe `x-amzn-RateLimit-Limit` response header returns the usage plan rate limits that were applied to the requested operation, when available. The table above indicates the default rate and burst values for this operation. Selling partners whose business demands require higher throughput may see higher rate and burst values than those shown here. For more information, refer to [Usage Plans and Rate Limits in the Selling Partner API](https://developer-docs.amazon.com/sp-api/docs/usage-plans-and-rate-limits-in-the-sp-api).", "operationId": "getPackageTrackingDetails", "parameters": [ { "name": "packageNumber", "in": "query", - "description": "The unencrypted package identifier returned by the getFulfillmentOrder operation.", + "description": "The unencrypted package identifier returned by the `getFulfillmentOrder` operation.", "required": true, "type": "integer", "format": "int32" @@ -783,7 +783,7 @@ "tags": [ "fbaOutbound" ], - "description": "Returns a list of return reason codes for a seller SKU in a given marketplace. The parameters for this operation may contain special characters that require URL encoding. To avoid errors with SKUs when encoding URLs, refer to [URL Encoding](https://developer-docs.amazon.com/sp-api/docs/url-encoding).\n\n**Usage Plan:**\n\n| Rate (requests per second) | Burst |\n| ---- | ---- |\n| 2 | 30 |\n\nThe `x-amzn-RateLimit-Limit` response header returns the usage plan rate limits that were applied to the requested operation, when available. The table above indicates the default rate and burst values for this operation. Selling partners whose business demands require higher throughput may see higher rate and burst values than those shown here. For more information, see [Usage Plans and Rate Limits in the Selling Partner API](https://developer-docs.amazon.com/sp-api/docs/usage-plans-and-rate-limits-in-the-sp-api).", + "description": "Returns a list of return reason codes for a seller SKU in a given marketplace. The parameters for this operation may contain special characters that require URL encoding. To avoid errors with SKUs when encoding URLs, refer to [URL Encoding](https://developer-docs.amazon.com/sp-api/docs/url-encoding).\n\n**Usage Plan:**\n\n| Rate (requests per second) | Burst |\n| ---- | ---- |\n| 2 | 30 |\n\nThe `x-amzn-RateLimit-Limit` response header returns the usage plan rate limits that were applied to the requested operation, when available. The table above indicates the default rate and burst values for this operation. Selling partners whose business demands require higher throughput may see higher rate and burst values than those shown here. For more information, refer to [Usage Plans and Rate Limits in the Selling Partner API](https://developer-docs.amazon.com/sp-api/docs/usage-plans-and-rate-limits-in-the-sp-api).", "operationId": "listReturnReasonCodes", "parameters": [ { @@ -810,8 +810,8 @@ { "name": "language", "in": "query", - "description": "The language that the TranslatedDescription property of the ReasonCodeDetails response object should be translated into.", - "required": true, + "description": "The language that the `TranslatedDescription` property of the `ReasonCodeDetails` response object should be translated into.", + "required": false, "type": "string" } ], @@ -1005,7 +1005,7 @@ "tags": [ "fbaOutbound" ], - "description": "Creates a fulfillment return.\n\n**Usage Plan:**\n\n| Rate (requests per second) | Burst |\n| ---- | ---- |\n| 2 | 30 |\n\nThe `x-amzn-RateLimit-Limit` response header returns the usage plan rate limits that were applied to the requested operation, when available. The table above indicates the default rate and burst values for this operation. Selling partners whose business demands require higher throughput may see higher rate and burst values than those shown here. For more information, see [Usage Plans and Rate Limits in the Selling Partner API](https://developer-docs.amazon.com/sp-api/docs/usage-plans-and-rate-limits-in-the-sp-api).", + "description": "Creates a fulfillment return.\n\n**Usage Plan:**\n\n| Rate (requests per second) | Burst |\n| ---- | ---- |\n| 2 | 30 |\n\nThe `x-amzn-RateLimit-Limit` response header returns the usage plan rate limits that were applied to the requested operation, when available. The table above indicates the default rate and burst values for this operation. Selling partners whose business demands require higher throughput may see higher rate and burst values than those shown here. For more information, refer to [Usage Plans and Rate Limits in the Selling Partner API](https://developer-docs.amazon.com/sp-api/docs/usage-plans-and-rate-limits-in-the-sp-api).", "operationId": "createFulfillmentReturn", "parameters": [ { @@ -1019,7 +1019,7 @@ { "name": "sellerFulfillmentOrderId", "in": "path", - "description": "An identifier assigned by the seller to the fulfillment order at the time it was created. The seller uses their own records to find the correct SellerFulfillmentOrderId value based on the buyer's request to return items.", + "description": "An identifier assigned by the seller to the fulfillment order at the time it was created. The seller uses their own records to find the correct `SellerFulfillmentOrderId` value based on the buyer's request to return items.", "required": true, "type": "string" } @@ -1198,7 +1198,7 @@ "tags": [ "fbaOutbound" ], - "description": "Returns the fulfillment order indicated by the specified order identifier.\n\n**Usage Plan:**\n\n| Rate (requests per second) | Burst |\n| ---- | ---- |\n| 2 | 30 |\n\nThe `x-amzn-RateLimit-Limit` response header returns the usage plan rate limits that were applied to the requested operation, when available. The table above indicates the default rate and burst values for this operation. Selling partners whose business demands require higher throughput may see higher rate and burst values than those shown here. For more information, see [Usage Plans and Rate Limits in the Selling Partner API](https://developer-docs.amazon.com/sp-api/docs/usage-plans-and-rate-limits-in-the-sp-api).", + "description": "Returns the fulfillment order indicated by the specified order identifier.\n\n**Usage Plan:**\n\n| Rate (requests per second) | Burst |\n| ---- | ---- |\n| 2 | 30 |\n\nThe `x-amzn-RateLimit-Limit` response header returns the usage plan rate limits that were applied to the requested operation, when available. The table above indicates the default rate and burst values for this operation. Selling partners whose business demands require higher throughput may see higher rate and burst values than those shown here. For more information, refer to [Usage Plans and Rate Limits in the Selling Partner API](https://developer-docs.amazon.com/sp-api/docs/usage-plans-and-rate-limits-in-the-sp-api).", "operationId": "getFulfillmentOrder", "parameters": [ { @@ -1431,7 +1431,7 @@ "tags": [ "fbaOutbound" ], - "description": "Updates and/or requests shipment for a fulfillment order with an order hold on it.\n\n**Usage Plan:**\n\n| Rate (requests per second) | Burst |\n| ---- | ---- |\n| 2 | 30 |\n\nThe `x-amzn-RateLimit-Limit` response header returns the usage plan rate limits that were applied to the requested operation, when available. The table above indicates the default rate and burst values for this operation. Selling partners whose business demands require higher throughput may see higher rate and burst values than those shown here. For more information, see [Usage Plans and Rate Limits in the Selling Partner API](https://developer-docs.amazon.com/sp-api/docs/usage-plans-and-rate-limits-in-the-sp-api).", + "description": "Updates and/or requests shipment for a fulfillment order with an order hold on it.\n\n**Usage Plan:**\n\n| Rate (requests per second) | Burst |\n| ---- | ---- |\n| 2 | 30 |\n\nThe `x-amzn-RateLimit-Limit` response header returns the usage plan rate limits that were applied to the requested operation, when available. The table above indicates the default rate and burst values for this operation. Selling partners whose business demands require higher throughput may see higher rate and burst values than those shown here. For more information, refer to [Usage Plans and Rate Limits in the Selling Partner API](https://developer-docs.amazon.com/sp-api/docs/usage-plans-and-rate-limits-in-the-sp-api).", "operationId": "updateFulfillmentOrder", "parameters": [ { @@ -1587,7 +1587,7 @@ "tags": [ "fbaOutbound" ], - "description": "Requests that Amazon stop attempting to fulfill the fulfillment order indicated by the specified order identifier.\n\n**Usage Plan:**\n\n| Rate (requests per second) | Burst |\n| ---- | ---- |\n| 2 | 30 |\n\nThe `x-amzn-RateLimit-Limit` response header returns the usage plan rate limits that were applied to the requested operation, when available. The table above indicates the default rate and burst values for this operation. Selling partners whose business demands require higher throughput may see higher rate and burst values than those shown here. For more information, see [Usage Plans and Rate Limits in the Selling Partner API](https://developer-docs.amazon.com/sp-api/docs/usage-plans-and-rate-limits-in-the-sp-api).", + "description": "Requests that Amazon stop attempting to fulfill the fulfillment order indicated by the specified order identifier.\n\n**Usage Plan:**\n\n| Rate (requests per second) | Burst |\n| ---- | ---- |\n| 2 | 30 |\n\nThe `x-amzn-RateLimit-Limit` response header returns the usage plan rate limits that were applied to the requested operation, when available. The table above indicates the default rate and burst values for this operation. Selling partners whose business demands require higher throughput may see higher rate and burst values than those shown here. For more information, refer to [Usage Plans and Rate Limits in the Selling Partner API](https://developer-docs.amazon.com/sp-api/docs/usage-plans-and-rate-limits-in-the-sp-api).", "operationId": "cancelFulfillmentOrder", "parameters": [ { @@ -1892,7 +1892,7 @@ "tags": [ "fbaOutbound" ], - "description": "Returns a list of features available for Multi-Channel Fulfillment orders in the marketplace you specify, and whether the seller for which you made the call is enrolled for each feature.\n\n**Usage Plan:**\n\n| Rate (requests per second) | Burst |\n| ---- | ---- |\n| 2 | 30 |\n\nThe `x-amzn-RateLimit-Limit` response header returns the usage plan rate limits that were applied to the requested operation, when available. The table above indicates the default rate and burst values for this operation. Selling partners whose business demands require higher throughput may see higher rate and burst values than those shown here. For more information, see [Usage Plans and Rate Limits in the Selling Partner API](https://developer-docs.amazon.com/sp-api/docs/usage-plans-and-rate-limits-in-the-sp-api).", + "description": "Returns a list of features available for Multi-Channel Fulfillment orders in the marketplace you specify, and whether the seller for which you made the call is enrolled for each feature.\n\n**Usage Plan:**\n\n| Rate (requests per second) | Burst |\n| ---- | ---- |\n| 2 | 30 |\n\nThe `x-amzn-RateLimit-Limit` response header returns the usage plan rate limits that were applied to the requested operation, when available. The table above indicates the default rate and burst values for this operation. Selling partners whose business demands require higher throughput may see higher rate and burst values than those shown here. For more information, refer to [Usage Plans and Rate Limits in the Selling Partner API](https://developer-docs.amazon.com/sp-api/docs/usage-plans-and-rate-limits-in-the-sp-api).", "operationId": "getFeatures", "parameters": [ { @@ -2056,7 +2056,7 @@ "tags": [ "fbaOutbound" ], - "description": "Returns a list of inventory items that are eligible for the fulfillment feature you specify.\n\n**Usage Plan:**\n\n| Rate (requests per second) | Burst |\n| ---- | ---- |\n| 2 | 30 |\n\nThe `x-amzn-RateLimit-Limit` response header returns the usage plan rate limits that were applied to the requested operation, when available. The table above indicates the default rate and burst values for this operation. Selling partners whose business demands require higher throughput may see higher rate and burst values than those shown here. For more information, see [Usage Plans and Rate Limits in the Selling Partner API](https://developer-docs.amazon.com/sp-api/docs/usage-plans-and-rate-limits-in-the-sp-api)..", + "description": "Returns a list of inventory items that are eligible for the fulfillment feature you specify.\n\n**Usage Plan:**\n\n| Rate (requests per second) | Burst |\n| ---- | ---- |\n| 2 | 30 |\n\nThe `x-amzn-RateLimit-Limit` response header returns the usage plan rate limits that were applied to the requested operation, when available. The table above indicates the default rate and burst values for this operation. Selling partners whose business demands require higher throughput may see higher rate and burst values than those shown here. For more information, refer to [Usage Plans and Rate Limits in the Selling Partner API](https://developer-docs.amazon.com/sp-api/docs/usage-plans-and-rate-limits-in-the-sp-api)..", "operationId": "getFeatureInventory", "parameters": [ { @@ -2248,7 +2248,7 @@ "tags": [ "fbaOutbound" ], - "description": "Returns the number of items with the sellerSKU you specify that can have orders fulfilled using the specified feature. Note that if the sellerSKU isn't eligible, the response will contain an empty skuInfo object. The parameters for this operation may contain special characters that require URL encoding. To avoid errors with SKUs when encoding URLs, refer to [URL Encoding](https://developer-docs.amazon.com/sp-api/docs/url-encoding).\n\n**Usage Plan:**\n\n| Rate (requests per second) | Burst |\n| ---- | ---- |\n| 2 | 30 |\n\nThe `x-amzn-RateLimit-Limit` response header returns the usage plan rate limits that were applied to the requested operation, when available. The table above indicates the default rate and burst values for this operation. Selling partners whose business demands require higher throughput may see higher rate and burst values than those shown here. For more information, see [Usage Plans and Rate Limits in the Selling Partner API](https://developer-docs.amazon.com/sp-api/docs/usage-plans-and-rate-limits-in-the-sp-api).", + "description": "Returns the number of items with the sellerSKU you specify that can have orders fulfilled using the specified feature. Note that if the sellerSKU isn't eligible, the response will contain an empty skuInfo object. The parameters for this operation may contain special characters that require URL encoding. To avoid errors with SKUs when encoding URLs, refer to [URL Encoding](https://developer-docs.amazon.com/sp-api/docs/url-encoding).\n\n**Usage Plan:**\n\n| Rate (requests per second) | Burst |\n| ---- | ---- |\n| 2 | 30 |\n\nThe `x-amzn-RateLimit-Limit` response header returns the usage plan rate limits that were applied to the requested operation, when available. The table above indicates the default rate and burst values for this operation. Selling partners whose business demands require higher throughput may see higher rate and burst values than those shown here. For more information, refer to [Usage Plans and Rate Limits in the Selling Partner API](https://developer-docs.amazon.com/sp-api/docs/usage-plans-and-rate-limits-in-the-sp-api).", "operationId": "getFeatureSKU", "parameters": [ { @@ -2268,7 +2268,7 @@ { "name": "sellerSku", "in": "path", - "description": "Used to identify an item in the given marketplace. SellerSKU is qualified by the seller's SellerId, which is included with every operation that you submit.", + "description": "Used to identify an item in the given marketplace. `SellerSKU` is qualified by the seller's `SellerId`, which is included with every operation that you submit.", "required": true, "type": "string" } @@ -2543,7 +2543,7 @@ }, "sellerFulfillmentOrderItemId": { "type": "string", - "description": "A fulfillment order item identifier that the seller creates to track fulfillment order items. Used to disambiguate multiple fulfillment items that have the same SellerSKU. For example, the seller might assign different SellerFulfillmentOrderItemId values to two items in a fulfillment order that share the same SellerSKU but have different GiftMessage values.", + "description": "A fulfillment order item identifier that the seller creates to track fulfillment order items. Used to disambiguate multiple fulfillment items that have the same `SellerSKU`. For example, the seller might assign different `SellerFulfillmentOrderItemId` values to two items in a fulfillment order that share the same `SellerSKU` but have different `GiftMessage` values.", "maxLength": 50 }, "quantity": { @@ -2564,7 +2564,7 @@ "description": "Amazon's fulfillment network SKU of the item." }, "perUnitDeclaredValue": { - "description": "The monetary value assigned by the seller to this item.", + "description": "The monetary value assigned by the seller to this item. This is a required field for India MCF orders.", "$ref": "#/definitions/Money" }, "perUnitPrice": { @@ -2587,7 +2587,7 @@ }, "FulfillmentPolicy": { "type": "string", - "description": "The FulfillmentPolicy value specified when you submitted the createFulfillmentOrder operation.", + "description": "The `FulfillmentPolicy` value specified when you submitted the `createFulfillmentOrder` operation.", "enum": [ "FillOrKill", "FillAll", @@ -2596,7 +2596,7 @@ "x-docgen-enum-table-extension": [ { "value": "FillOrKill", - "description": "If an item in a fulfillment order is determined to be unfulfillable before any shipment in the order has acquired the status of Pending (the process of picking units from inventory has begun), then the entire order is considered unfulfillable. However, if an item in a fulfillment order is determined to be unfulfillable after a shipment in the order has acquired the status of Pending, Amazon cancels as much of the fulfillment order as possible. See the FulfillmentShipment object for shipment status definitions." + "description": "If an item in a fulfillment order is determined to be unfulfillable before any shipment in the order has acquired the status of Pending (the process of picking units from inventory has begun), then the entire order is considered unfulfillable. However, if an item in a fulfillment order is determined to be unfulfillable after a shipment in the order has acquired the status of Pending, Amazon cancels as much of the fulfillment order as possible. Refer to the `FulfillmentShipment` object for shipment status definitions." }, { "value": "FillAll", @@ -2679,12 +2679,12 @@ }, "sellerFulfillmentOrderId": { "type": "string", - "description": "A fulfillment order identifier that the seller creates to track their fulfillment order. The SellerFulfillmentOrderId must be unique for each fulfillment order that a seller creates. If the seller's system already creates unique order identifiers, then these might be good values for them to use.", + "description": "A fulfillment order identifier that the seller creates to track their fulfillment order. The `SellerFulfillmentOrderId` must be unique for each fulfillment order that a seller creates. If the seller's system already creates unique order identifiers, then these might be good values for them to use.", "maxLength": 40 }, "displayableOrderId": { "type": "string", - "description": "A fulfillment order identifier that the seller creates. This value displays as the order identifier in recipient-facing materials such as the outbound shipment packing slip. The value of DisplayableOrderId should match the order identifier that the seller provides to the recipient. The seller can use the SellerFulfillmentOrderId for this value or they can specify an alternate value if they want the recipient to reference an alternate order identifier.\n\nThe value must be an alpha-numeric or ISO 8859-1 compliant string from one to 40 characters in length. Cannot contain two spaces in a row. Leading and trailing white space is removed.", + "description": "A fulfillment order identifier that the seller creates. This value displays as the order identifier in recipient-facing materials such as the outbound shipment packing slip. The value of `DisplayableOrderId` should match the order identifier that the seller provides to the recipient. The seller can use the `SellerFulfillmentOrderId` for this value or they can specify an alternate value if they want the recipient to reference an alternate order identifier.\n\nThe value must be an alpha-numeric or ISO 8859-1 compliant string from one to 40 characters in length. Cannot contain two spaces in a row. Leading and trailing white space is removed.", "maxLength": 40 }, "displayableOrderDate": { @@ -2694,10 +2694,10 @@ "displayableOrderComment": { "type": "string", "description": "Order-specific text that appears in recipient-facing materials such as the outbound shipment packing slip.", - "maxLength": 1000 + "maxLength": 750 }, "shippingSpeedCategory": { - "description": "The shipping method for the fulfillment order. When this value is ScheduledDelivery, choose Ship for the fulfillmentAction. Hold is not a valid fulfillmentAction value when the shippingSpeedCategory value is ScheduledDelivery.", + "description": "The shipping method for the fulfillment order. When this value is ScheduledDelivery, choose Ship for the `fulfillmentAction`. Hold is not a valid `fulfillmentAction` value when the `shippingSpeedCategory` value is `ScheduledDelivery`.", "$ref": "#/definitions/ShippingSpeedCategory" }, "deliveryWindow": { @@ -2733,9 +2733,13 @@ "items": { "description": "A list of items to include in the fulfillment order preview, including quantity.", "$ref": "#/definitions/CreateFulfillmentOrderItemList" + }, + "paymentInformation": { + "description": "An array of various payment attributes related to this fulfillment order. This property is required if the order is placed against the India marketplace.", + "$ref": "#/definitions/PaymentInformationList" } }, - "description": "The request body schema for the createFulfillmentOrder operation." + "description": "The request body schema for the `createFulfillmentOrder` operation." }, "CreateFulfillmentReturnRequest": { "type": "object", @@ -2747,7 +2751,7 @@ "$ref": "#/definitions/CreateReturnItemList" } }, - "description": "The createFulfillmentReturn operation creates a fulfillment return for items that were fulfilled using the createFulfillmentOrder operation. For calls to createFulfillmentReturn, you must include ReturnReasonCode values returned by a previous call to the listReturnReasonCodes operation." + "description": "The `createFulfillmentReturn` operation creates a fulfillment return for items that were fulfilled using the `createFulfillmentOrder` operation. For calls to `createFulfillmentReturn`, you must include `ReturnReasonCode` values returned by a previous call to the `listReturnReasonCodes` operation." }, "CreateFulfillmentReturnResult": { "type": "object", @@ -2767,15 +2771,15 @@ "type": "object", "properties": { "payload": { - "description": "The payload for the createFulfillmentReturn operation.", + "description": "The payload for the `createFulfillmentReturn` operation.", "$ref": "#/definitions/CreateFulfillmentReturnResult" }, "errors": { - "description": "One or more unexpected errors occurred during the createFulfillmentReturn operation.", + "description": "One or more unexpected errors occurred during the `createFulfillmentReturn` operation.", "$ref": "#/definitions/ErrorList" } }, - "description": "The response schema for the createFulfillmentReturn operation." + "description": "The response schema for the `createFulfillmentReturn` operation." }, "CreateReturnItem": { "type": "object", @@ -2847,11 +2851,11 @@ ], "properties": { "startDate": { - "description": "The date and time of the start of the Scheduled Delivery window, in ISO 8601 date time format.", + "description": "The date and time of the start of the Scheduled Delivery window. Must be in ISO 8601 format.", "$ref": "#/definitions/Timestamp" }, "endDate": { - "description": "The date and time of the end of the Scheduled Delivery window, in ISO 8601 date time format.", + "description": "The date and time of the end of the Scheduled Delivery window. Must be in ISO 8601 format.", "$ref": "#/definitions/Timestamp" } }, @@ -2948,7 +2952,7 @@ "properties": { "sellerFulfillmentOrderId": { "type": "string", - "description": "The fulfillment order identifier submitted with the createFulfillmentOrder operation." + "description": "The fulfillment order identifier submitted with the `createFulfillmentOrder` operation." }, "marketplaceId": { "type": "string", @@ -2956,15 +2960,15 @@ }, "displayableOrderId": { "type": "string", - "description": "A fulfillment order identifier submitted with the createFulfillmentOrder operation. Displays as the order identifier in recipient-facing materials such as the packing slip." + "description": "A fulfillment order identifier submitted with the `createFulfillmentOrder` operation. Displays as the order identifier in recipient-facing materials such as the packing slip." }, "displayableOrderDate": { - "description": "A date and time submitted with the createFulfillmentOrder operation. Displays as the order date in recipient-facing materials such as the packing slip.", + "description": "A date and time submitted with the `createFulfillmentOrder` operation. Displays as the order date in recipient-facing materials such as the packing slip.", "$ref": "#/definitions/Timestamp" }, "displayableOrderComment": { "type": "string", - "description": "A text block submitted with the createFulfillmentOrder operation. Displays in recipient-facing materials such as the packing slip." + "description": "A text block submitted with the `createFulfillmentOrder` operation. Displays in recipient-facing materials such as the packing slip." }, "shippingSpeedCategory": { "$ref": "#/definitions/ShippingSpeedCategory" @@ -2973,7 +2977,7 @@ "$ref": "#/definitions/DeliveryWindow" }, "destinationAddress": { - "description": "The destination address submitted with the createFulfillmentOrder operation.", + "description": "The destination address submitted with the `createFulfillmentOrder` operation.", "$ref": "#/definitions/Address" }, "fulfillmentAction": { @@ -2993,7 +2997,7 @@ "$ref": "#/definitions/FulfillmentOrderStatus" }, "statusUpdatedDate": { - "description": "The date and time that the status of the fulfillment order last changed, in ISO 8601 date time format.", + "description": "The date and time that the status of the fulfillment order last changed. Must be in ISO 8601 format.", "$ref": "#/definitions/Timestamp" }, "notificationEmails": { @@ -3025,7 +3029,7 @@ }, "sellerFulfillmentOrderItemId": { "type": "string", - "description": "A fulfillment order item identifier submitted with a call to the createFulfillmentOrder operation." + "description": "A fulfillment order item identifier submitted with a call to the `createFulfillmentOrder` operation." }, "quantity": { "$ref": "#/definitions/Quantity" @@ -3055,11 +3059,11 @@ "$ref": "#/definitions/Quantity" }, "estimatedShipDate": { - "description": "The estimated date and time that the item quantity is scheduled to ship from the fulfillment center. Note that this value can change over time. If the shipment that contains the item quantity has been cancelled, estimatedShipDate is not returned.", + "description": "The estimated date and time that the item quantity is scheduled to ship from the fulfillment center. Note that this value can change over time. If the shipment that contains the item quantity has been cancelled, `estimatedShipDate` is not returned.", "$ref": "#/definitions/Timestamp" }, "estimatedArrivalDate": { - "description": "The estimated arrival date and time of the item quantity. Note that this value can change over time. If the shipment that contains the item quantity has been cancelled, estimatedArrivalDate is not returned.", + "description": "The estimated arrival date and time of the item quantity. Note that this value can change over time. If the shipment that contains the item quantity has been cancelled, `estimatedArrivalDate` is not returned.", "$ref": "#/definitions/Timestamp" }, "perUnitPrice": { @@ -3071,7 +3075,7 @@ "$ref": "#/definitions/Money" }, "perUnitDeclaredValue": { - "description": "The monetary value assigned by the seller to this item.", + "description": "The monetary value assigned by the seller to this item. This is a required field for India MCF orders.", "$ref": "#/definitions/Money" } }, @@ -3112,7 +3116,7 @@ "$ref": "#/definitions/Weight" }, "estimatedFees": { - "description": "The estimated fulfillment fees for this fulfillment order preview, if applicable.", + "description": "The estimated fulfillment fees for this fulfillment order preview, if applicable. The fees data will not be available for IN marketplace orders.", "$ref": "#/definitions/FeeList" }, "fulfillmentPreviewShipments": { @@ -3122,7 +3126,7 @@ "$ref": "#/definitions/UnfulfillablePreviewItemList" }, "orderUnfulfillableReasons": { - "description": "Error codes associated with the fulfillment order preview that indicate why the order is not fulfillable.\n\nError code examples:\n\nDeliverySLAUnavailable\nInvalidDestinationAddress", + "description": "Error codes associated with the fulfillment order preview that indicate why the order is not fulfillable.\n\nError code examples:\n\n`DeliverySLAUnavailable`\n`InvalidDestinationAddress`", "$ref": "#/definitions/StringList" }, "marketplaceId": { @@ -3157,10 +3161,10 @@ }, "sellerFulfillmentOrderItemId": { "type": "string", - "description": "A fulfillment order item identifier that the seller created with a call to the createFulfillmentOrder operation." + "description": "A fulfillment order item identifier that the seller created with a call to the `createFulfillmentOrder` operation." }, "estimatedShippingWeight": { - "description": "The estimated shipping weight of the item quantity for a single item, as identified by sellerSku, in a shipment.", + "description": "The estimated shipping weight of the item quantity for a single item, as identified by `sellerSku`, in a shipment.", "$ref": "#/definitions/Weight" }, "shippingWeightCalculationMethod": { @@ -3205,11 +3209,11 @@ ], "properties": { "earliestShipDate": { - "description": "The earliest date that the shipment is expected to be sent from the fulfillment center, in ISO 8601 date time format.", + "description": "The earliest date that the shipment is expected to be sent from the fulfillment center. Must be in ISO 8601 format.", "$ref": "#/definitions/Timestamp" }, "latestShipDate": { - "description": "The latest date that the shipment is expected to be sent from the fulfillment center, in ISO 8601 date time format.", + "description": "The latest date that the shipment is expected to be sent from the fulfillment center. Must be in ISO 8601 format.", "$ref": "#/definitions/Timestamp" }, "earliestArrivalDate": { @@ -3217,7 +3221,7 @@ "$ref": "#/definitions/Timestamp" }, "latestArrivalDate": { - "description": "The latest date that the shipment is expected to arrive at its destination, in ISO 8601 date time format.", + "description": "The latest date that the shipment is expected to arrive at its destination. Must be in ISO 8601 format.", "$ref": "#/definitions/Timestamp" }, "shippingNotes": { @@ -3300,16 +3304,16 @@ }, { "value": "CANCELLED_BY_SELLER", - "description": "The shipment was cancelled using the CancelFulfillmentOrder request." + "description": "The shipment was cancelled using the `CancelFulfillmentOrder` request." } ] }, "shippingDate": { - "description": "The meaning of the shippingDate value depends on the current status of the shipment. If the current value of FulfillmentShipmentStatus is:\n\n* Pending - shippingDate represents the estimated time that the shipment will leave the Amazon fulfillment center.\n\n* Shipped - shippingDate represents the date that the shipment left the Amazon fulfillment center.\nIf a shipment includes more than one package, shippingDate applies to all of the packages in the shipment. If the value of FulfillmentShipmentStatus is CancelledByFulfiller or CancelledBySeller, shippingDate is not returned. The value must be in ISO 8601 date time format.", + "description": "The meaning of the `shippingDate` value depends on the current status of the shipment. If the current value of `FulfillmentShipmentStatus` is:\n\n* Pending - `shippingDate` represents the estimated time that the shipment will leave the Amazon fulfillment center.\n\n* Shipped - `shippingDate` represents the date that the shipment left the Amazon fulfillment center.\nIf a shipment includes more than one package, `shippingDate` applies to all of the packages in the shipment. If the value of `FulfillmentShipmentStatus` is `CancelledByFulfiller` or `CancelledBySeller`, `shippingDate` is not returned. The value must be in ISO 8601 format.", "$ref": "#/definitions/Timestamp" }, "estimatedArrivalDate": { - "description": "The estimated arrival date and time of the shipment, in ISO 8601 date time format. Note that this value can change over time. If a shipment includes more than one package, estimatedArrivalDate applies to all of the packages in the shipment. If the shipment has been cancelled, estimatedArrivalDate is not returned.", + "description": "The estimated arrival date and time of the shipment. Must be in ISO 8601 format. Note that this value can change over time. If a shipment includes more than one package, `estimatedArrivalDate` applies to all of the packages in the shipment. If the shipment has been cancelled, `estimatedArrivalDate` is not returned.", "$ref": "#/definitions/Timestamp" }, "shippingNotes": { @@ -3342,7 +3346,7 @@ }, "sellerFulfillmentOrderItemId": { "type": "string", - "description": "The fulfillment order item identifier that the seller created and submitted with a call to the createFulfillmentOrder operation." + "description": "The fulfillment order item identifier that the seller created and submitted with a call to the `createFulfillmentOrder` operation." }, "quantity": { "$ref": "#/definitions/Quantity" @@ -3394,7 +3398,7 @@ "description": "The tracking number, if provided, can be used to obtain tracking and delivery information." }, "estimatedArrivalDate": { - "description": "The estimated arrival date and time of the package, in ISO 8601 date time format.", + "description": "The estimated arrival date and time of the package. Must be in ISO 8601 format.", "$ref": "#/definitions/Timestamp" } }, @@ -3430,6 +3434,9 @@ }, "returnAuthorizations": { "$ref": "#/definitions/ReturnAuthorizationList" + }, + "paymentInformation": { + "$ref": "#/definitions/PaymentInformationList" } } }, @@ -3437,15 +3444,15 @@ "type": "object", "properties": { "payload": { - "description": "The payload for the getFulfillmentOrder operation.", + "description": "The payload for the `getFulfillmentOrder` operation.", "$ref": "#/definitions/GetFulfillmentOrderResult" }, "errors": { - "description": "One or more unexpected errors occurred during the getFulfillmentOrder operation.", + "description": "One or more unexpected errors occurred during the `getFulfillmentOrder` operation.", "$ref": "#/definitions/ErrorList" } }, - "description": "The response schema for the getFulfillmentOrder operation." + "description": "The response schema for the `getFulfillmentOrder` operation." }, "GetFulfillmentPreviewItem": { "type": "object", @@ -3464,7 +3471,7 @@ "$ref": "#/definitions/Quantity" }, "perUnitDeclaredValue": { - "description": "The monetary value assigned by the seller to this item. This is a required field if this order is an export order.", + "description": "The monetary value assigned by the seller to this item. This is a required field if this order is an export order or an India MCF order.", "$ref": "#/definitions/Money" }, "sellerFulfillmentOrderItemId": { @@ -3502,7 +3509,7 @@ "$ref": "#/definitions/GetFulfillmentPreviewItemList" }, "shippingSpeedCategories": { - "description": "A list of shipping methods used for creating fulfillment order previews.\n\nPossible values:\n\n* Standard - Standard shipping method.\n* Expedited - Expedited shipping method.\n* Priority - Priority shipping method.\n* ScheduledDelivery - Scheduled Delivery shipping method.\nNote: Shipping method service level agreements vary by marketplace. Sellers should see the Seller Central website in their marketplace for shipping method service level agreements and fulfillment fees.", + "description": "A list of shipping methods used for creating fulfillment order previews.\n\nPossible values:\n\n* `Standard` - Standard shipping method.\n* `Expedited` - Expedited shipping method.\n* `Priority` - Priority shipping method.\n* `ScheduledDelivery` - Scheduled Delivery shipping method.\nNote: Shipping method service level agreements vary by marketplace. Sellers should refer to the Seller Central website in their marketplace for shipping method service level agreements and fulfillment fees.", "$ref": "#/definitions/ShippingSpeedCategoryList" }, "includeCODFulfillmentPreview": { @@ -3511,7 +3518,7 @@ }, "includeDeliveryWindows": { "type": "boolean", - "description": "When true, returns the ScheduledDeliveryInfo response object, which contains the available delivery windows for a Scheduled Delivery. The ScheduledDeliveryInfo response object can only be returned for fulfillment order previews with ShippingSpeedCategories = ScheduledDelivery." + "description": "When true, returns the `ScheduledDeliveryInfo` response object, which contains the available delivery windows for a Scheduled Delivery. The `ScheduledDeliveryInfo` response object can only be returned for fulfillment order previews with `ShippingSpeedCategories` = `ScheduledDelivery`." }, "featureConstraints": { "type": "array", @@ -3521,7 +3528,7 @@ } } }, - "description": "The request body schema for the getFulfillmentPreview operation." + "description": "The request body schema for the `getFulfillmentPreview` operation." }, "GetFulfillmentPreviewResult": { "type": "object", @@ -3536,15 +3543,15 @@ "type": "object", "properties": { "payload": { - "description": "The response payload for the getFulfillmentPreview operation.", + "description": "The response payload for the `getFulfillmentPreview` operation.", "$ref": "#/definitions/GetFulfillmentPreviewResult" }, "errors": { - "description": "One or more unexpected errors occurred during the getFulfillmentPreview operation.", + "description": "One or more unexpected errors occurred during the `getFulfillmentPreview` operation.", "$ref": "#/definitions/ErrorList" } }, - "description": "The response schema for the getFulfillmentPreview operation." + "description": "The response schema for the `getFulfillmentPreview` operation." }, "InvalidItemReasonCode": { "type": "string", @@ -3640,15 +3647,15 @@ "type": "object", "properties": { "payload": { - "description": "The payload for the listAllFulfillmentOrders operation.", + "description": "The payload for the `listAllFulfillmentOrders` operation.", "$ref": "#/definitions/ListAllFulfillmentOrdersResult" }, "errors": { - "description": "One or more unexpected errors occurred during the listAllFulfillmentOrders operation.", + "description": "One or more unexpected errors occurred during the `listAllFulfillmentOrders` operation.", "$ref": "#/definitions/ErrorList" } }, - "description": "The response schema for the listAllFulfillmentOrders operation." + "description": "The response schema for the `listAllFulfillmentOrders` operation." }, "ListReturnReasonCodesResult": { "type": "object", @@ -3662,15 +3669,15 @@ "type": "object", "properties": { "payload": { - "description": "The payload for the listReturnReasonCodes operation.", + "description": "The payload for the `listReturnReasonCodes` operation.", "$ref": "#/definitions/ListReturnReasonCodesResult" }, "errors": { - "description": "One or more unexpected errors occurred during the listReturnReasonCodes operation.", + "description": "One or more unexpected errors occurred during the `listReturnReasonCodes` operation.", "$ref": "#/definitions/ErrorList" } }, - "description": "The response schema for the listReturnReasonCodes operation." + "description": "The response schema for the `listReturnReasonCodes` operation." }, "NotificationEmailList": { "type": "array", @@ -3964,7 +3971,7 @@ }, "currentStatusDescription": { "type": "string", - "description": "Description corresponding to the CurrentStatus value." + "description": "Description corresponding to the `CurrentStatus` value." }, "signedForBy": { "type": "string", @@ -3982,15 +3989,15 @@ "type": "object", "properties": { "payload": { - "description": "The payload for the getPackageTrackingDetails operation.", + "description": "The payload for the `getPackageTrackingDetails` operation.", "$ref": "#/definitions/PackageTrackingDetails" }, "errors": { - "description": "One or more unexpected errors occurred during the getPackageTrackingDetails operation.", + "description": "One or more unexpected errors occurred during the `getPackageTrackingDetails` operation.", "$ref": "#/definitions/ErrorList" } }, - "description": "The response schema for the getPackageTrackingDetails operation." + "description": "The response schema for the `getPackageTrackingDetails` operation." }, "ReasonCodeDetails": { "type": "object", @@ -4021,6 +4028,29 @@ "$ref": "#/definitions/ReasonCodeDetails" } }, + "PaymentInformation": { + "type": "object", + "required": [ + "paymentTransactionId", + "paymentMode", + "paymentDate" + ], + "properties": { + "paymentTransactionId": { + "type": "string", + "description": "The transaction identifier of this payment." + }, + "paymentMode": { + "type": "string", + "description": "The transaction mode of this payment." + }, + "paymentDate": { + "description": "The transaction date of this payment.", + "$ref": "#/definitions/Timestamp" + } + }, + "description": "The attributes related to the payment made from customer to seller for this order." + }, "ReturnAuthorization": { "type": "object", "required": [ @@ -4054,6 +4084,13 @@ }, "description": "Return authorization information for items accepted for return." }, + "PaymentInformationList": { + "type": "array", + "description": "An array of various payment attributes related to this fulfillment order.", + "items": { + "$ref": "#/definitions/PaymentInformation" + } + }, "ReturnAuthorizationList": { "type": "array", "description": "An array of return authorization information.", @@ -4106,7 +4143,7 @@ }, "returnAuthorizationId": { "type": "string", - "description": "Identifies the return authorization used to return this item. See ReturnAuthorization." + "description": "Identifies the return authorization used to return this item. Refer to `ReturnAuthorization`." }, "returnReceivedCondition": { "$ref": "#/definitions/ReturnItemDisposition" @@ -4401,7 +4438,7 @@ ], "properties": { "eventDate": { - "description": "The date and time that the delivery event took place, in ISO 8601 date time format.", + "description": "The date and time that the delivery event took place. Must be in ISO 8601 format.", "$ref": "#/definitions/Timestamp" }, "eventAddress": { @@ -4444,7 +4481,7 @@ }, "sellerFulfillmentOrderItemId": { "type": "string", - "description": "A fulfillment order item identifier created with a call to the getFulfillmentPreview operation.", + "description": "A fulfillment order item identifier created with a call to the `getFulfillmentPreview` operation.", "maxLength": 50 }, "itemUnfulfillableReasons": { @@ -4474,7 +4511,7 @@ }, "sellerFulfillmentOrderItemId": { "type": "string", - "description": "Identifies the fulfillment order item to update. Created with a previous call to the createFulfillmentOrder operation.", + "description": "Identifies the fulfillment order item to update. Created with a previous call to the `createFulfillmentOrder` operation.", "maxLength": 50 }, "quantity": { @@ -4499,7 +4536,7 @@ "description": "Indicates whether the item is sellable or unsellable." }, "perUnitDeclaredValue": { - "description": "The monetary value assigned by the seller to this item.", + "description": "The monetary value assigned by the seller to this item. This is a required field for India MCF orders.", "$ref": "#/definitions/Money" }, "perUnitPrice": { @@ -4522,7 +4559,7 @@ }, "UpdateFulfillmentOrderRequest": { "type": "object", - "description": "The request body schema for the updateFulfillmentOrder operation.", + "description": "The request body schema for the `updateFulfillmentOrder` operation.", "properties": { "marketplaceId": { "type": "string", @@ -4530,7 +4567,7 @@ }, "displayableOrderId": { "type": "string", - "description": "A fulfillment order identifier that the seller creates. This value displays as the order identifier in recipient-facing materials such as the outbound shipment packing slip. The value of DisplayableOrderId should match the order identifier that the seller provides to the recipient. The seller can use the SellerFulfillmentOrderId for this value or they can specify an alternate value if they want the recipient to reference an alternate order identifier.", + "description": "A fulfillment order identifier that the seller creates. This value displays as the order identifier in recipient-facing materials such as the outbound shipment packing slip. The value of `DisplayableOrderId` should match the order identifier that the seller provides to the recipient. The seller can use the `SellerFulfillmentOrderId` for this value or they can specify an alternate value if they want the recipient to reference an alternate order identifier.", "maxLength": 40 }, "displayableOrderDate": { @@ -4540,7 +4577,7 @@ "displayableOrderComment": { "type": "string", "description": "Order-specific text that appears in recipient-facing materials such as the outbound shipment packing slip.", - "maxLength": 1000 + "maxLength": 750 }, "shippingSpeedCategory": { "$ref": "#/definitions/ShippingSpeedCategory" @@ -4579,31 +4616,31 @@ "type": "object", "properties": { "errors": { - "description": "One or more unexpected errors occurred during the updateFulfillmentOrder operation.", + "description": "One or more unexpected errors occurred during the `updateFulfillmentOrder` operation.", "$ref": "#/definitions/ErrorList" } }, - "description": "The response schema for the updateFulfillmentOrder operation." + "description": "The response schema for the `updateFulfillmentOrder` operation." }, "CreateFulfillmentOrderResponse": { "type": "object", "properties": { "errors": { - "description": "One or more unexpected errors occurred during the createFulfillmentOrder operation.", + "description": "One or more unexpected errors occurred during the `createFulfillmentOrder` operation.", "$ref": "#/definitions/ErrorList" } }, - "description": "The response schema for the createFulfillmentOrder operation." + "description": "The response schema for the `createFulfillmentOrder` operation." }, "CancelFulfillmentOrderResponse": { "type": "object", "properties": { "errors": { - "description": "One or more unexpected errors occurred during the cancelFulfillmentOrder operation.", + "description": "One or more unexpected errors occurred during the `cancelFulfillmentOrder` operation.", "$ref": "#/definitions/ErrorList" } }, - "description": "The response schema for the cancelFulfillmentOrder operation." + "description": "The response schema for the `cancelFulfillmentOrder` operation." }, "Weight": { "type": "object", @@ -4654,7 +4691,7 @@ }, "ShippingSpeedCategory": { "type": "string", - "description": "The shipping method used for the fulfillment order. When this value is ScheduledDelivery, choose Ship for the fulfillmentAction. Hold is not a valid fulfillmentAction value when the shippingSpeedCategory value is ScheduledDelivery.", + "description": "The shipping method used for the fulfillment order. When this value is `ScheduledDelivery`, choose Ship for the `fulfillmentAction`. Hold is not a valid `fulfillmentAction` value when the `shippingSpeedCategory` value is `ScheduledDelivery`.", "enum": [ "Standard", "Expedited", @@ -4687,7 +4724,7 @@ "$ref": "#/definitions/GetFeatureInventoryResult" }, "errors": { - "description": "One or more unexpected errors occurred during the getFeatureInventory operation.", + "description": "One or more unexpected errors occurred during the `getFeatureInventory` operation.", "$ref": "#/definitions/ErrorList" } }, @@ -4720,14 +4757,14 @@ } } }, - "description": "The payload for the getEligibileInventory operation." + "description": "The payload for the `getEligibileInventory` operation." }, "FeatureSku": { "type": "object", "properties": { "sellerSku": { "type": "string", - "description": "Used to identify an item in the given marketplace. SellerSKU is qualified by the seller's SellerId, which is included with every operation that you submit." + "description": "Used to identify an item in the given marketplace. `SellerSKU` is qualified by the seller's SellerId, which is included with every operation that you submit." }, "fnSku": { "type": "string", @@ -4761,7 +4798,7 @@ "$ref": "#/definitions/ErrorList" } }, - "description": "The response schema for the getFeatures operation." + "description": "The response schema for the `getFeatures` operation." }, "GetFeaturesResult": { "type": "object", @@ -4773,7 +4810,7 @@ "$ref": "#/definitions/Features" } }, - "description": "The payload for the getFeatures operation." + "description": "The payload for the `getFeatures` operation." }, "Features": { "type": "array", @@ -4814,7 +4851,7 @@ "$ref": "#/definitions/ErrorList" } }, - "description": "The response schema for the getFeatureSKU operation." + "description": "The response schema for the `getFeatureSKU` operation." }, "GetFeatureSkuResult": { "type": "object", @@ -4838,7 +4875,7 @@ }, "ineligibleReasons": { "type": "array", - "description": "A list of one or more reasons that the seller SKU is ineligibile for the feature.\n\nPossible values:\n* MERCHANT_NOT_ENROLLED - The merchant isn't enrolled for the feature.\n* SKU_NOT_ELIGIBLE - The SKU doesn't reside in a warehouse that supports the feature.\n* INVALID_SKU - There is an issue with the SKU provided.", + "description": "A list of one or more reasons that the seller SKU is ineligibile for the feature.\n\nPossible values:\n* `MERCHANT_NOT_ENROLLED` - The merchant isn't enrolled for the feature.\n* `SKU_NOT_ELIGIBLE` - The SKU doesn't reside in a warehouse that supports the feature.\n* `INVALID_SKU` - There is an issue with the SKU provided.", "items": { "type": "string" } @@ -4848,7 +4885,7 @@ "$ref": "#/definitions/FeatureSku" } }, - "description": "The payload for the getFeatureSKU operation." + "description": "The payload for the `getFeatureSKU` operation." }, "FeatureSettings": { "type": "object", @@ -4876,11 +4913,11 @@ ] } }, - "description": "FeatureSettings allows users to apply fulfillment features to an order. To block an order from being shipped using Amazon Logistics (AMZL) and an AMZL tracking number, use featureName as BLOCK_AMZL and featureFulfillmentPolicy as Required. Blocking AMZL will incur an additional fee surcharge on your MCF orders and increase the risk of some of your orders being unfulfilled or delivered late if there are no alternative carriers available. Using BLOCK_AMZL in an order request will take precedence over your Seller Central account setting. To ship in non-Amazon branded packaging (blank boxes), use featureName BLANK_BOX." + "description": "`FeatureSettings` allows users to apply fulfillment features to an order. To block an order from being shipped using Amazon Logistics (AMZL) and an AMZL tracking number, use `featureName` as `BLOCK_AMZL` and `featureFulfillmentPolicy` as `Required`. Blocking AMZL will incur an additional fee surcharge on your MCF orders and increase the risk of some of your orders being unfulfilled or delivered late if there are no alternative carriers available. Using `BLOCK_AMZL` in an order request will take precedence over your Seller Central account setting. To ship in non-Amazon branded packaging (blank boxes), use featureName `BLANK_BOX`." }, "SubmitFulfillmentOrderStatusUpdateRequest": { "type": "object", - "description":"The request body schema for the submitFulfillmentOrderStatusUpdate operation.", + "description":"The request body schema for the `submitFulfillmentOrderStatusUpdate` operation.", "properties": { "fulfillmentOrderStatus": { "$ref": "#/definitions/FulfillmentOrderStatus" @@ -4891,11 +4928,11 @@ "type": "object", "properties": { "errors": { - "description": "One or more unexpected errors occurred during the SubmitFulfillmentOrderStatusUpdate operation.", + "description": "One or more unexpected errors occurred during the `SubmitFulfillmentOrderStatusUpdate` operation.", "$ref": "#/definitions/ErrorList" } }, - "description": "The response schema for the SubmitFulfillmentOrderStatusUpdate operation." + "description": "The response schema for the `SubmitFulfillmentOrderStatusUpdate` operation." } } } From 3921811e83d80d75d8874cbe61d088c46fad535d Mon Sep 17 00:00:00 2001 From: Gibran Waldron Date: Wed, 20 Mar 2024 11:03:55 -0700 Subject: [PATCH 226/340] Update Feed_Processing_Finished and Report_Processing_Finished notification schemas. --- .../FeedProcessingFinishedNotification.json | 81 +++++++++++++++---- .../ReportProcessingFinishedNotification.json | 81 +++++++++++++++---- 2 files changed, 130 insertions(+), 32 deletions(-) diff --git a/schemas/notifications/FeedProcessingFinishedNotification.json b/schemas/notifications/FeedProcessingFinishedNotification.json index 9055c5c54..1925c5a10 100644 --- a/schemas/notifications/FeedProcessingFinishedNotification.json +++ b/schemas/notifications/FeedProcessingFinishedNotification.json @@ -12,6 +12,28 @@ "payload": { "feedProcessingFinishedNotification": { "sellerId": "A3TH9S8BH6GOGM", + "accountId": "amzn1.merchant.o.A3TH9S8BH6GOGM", + "feedId": "53347018456", + "feedType": "POST_PRODUCT_DATA", + "processingStatus": "DONE", + "resultFeedDocumentId": "amzn1.tortuga.3.edbcd0d8-3434-8222-1234-52ad8ade1208.URUTI57URI9BMZ" + } + }, + "notificationMetadata": { + "applicationId": "amzn1.sellerapps.app.aacccfff-44aa-4b7c-b42b-ed4ec98dd746", + "subscriptionId": "subscription-id-d0e9e693-c3ad-4373-979f-ed4ec98dd746", + "publishTime": "2020-07-13T19:42:04.284Z", + "notificationId": "d0e9e693-c3ad-4373-979f-ed4ec98dd746" + } + }, + { + "notificationVersion": "2020-09-04", + "notificationType": "FEED_PROCESSING_FINISHED", + "payloadVersion": "2020-09-04", + "eventTime": "2020-07-13T19:42:04.284Z", + "payload": { + "feedProcessingFinishedNotification": { + "accountId": "amzn1.vg.6213651", "feedId": "53347018456", "feedType": "POST_PRODUCT_DATA", "processingStatus": "DONE", @@ -38,7 +60,7 @@ "notificationVersion": { "$id": "#/properties/notificationVersion", "type": "string", - "description": "An explanation about the purpose of this instance.", + "description": "The version of the notification.", "examples": [ "2020-09-04" ] @@ -46,7 +68,7 @@ "notificationType": { "$id": "#/properties/notificationType", "type": "string", - "description": "An explanation about the purpose of this instance.", + "description": "The type of the notification.", "examples": [ "FEED_PROCESSING_FINISHED" ] @@ -54,7 +76,7 @@ "payloadVersion": { "$id": "#/properties/payloadVersion", "type": "string", - "description": "An explanation about the purpose of this instance.", + "description": "The version of the payload.", "examples": [ "2020-09-04" ] @@ -62,7 +84,7 @@ "eventTime": { "$id": "#/properties/eventTime", "type": "string", - "description": "An explanation about the purpose of this instance.", + "description": "The timestamp of the event, formatted as ISO 8601 date-time.", "examples": [ "2020-07-13T19:42:04.284Z" ] @@ -70,11 +92,21 @@ "payload": { "$id": "#/properties/payload", "type": "object", - "description": "An explanation about the purpose of this instance.", + "description": "The details of this notification.", "examples": [ { "feedProcessingFinishedNotification": { "sellerId": "A3TH9S8BH6GOGM", + "accountId": "amzn1.merchant.o.A3TH9S8BH6GOGM", + "feedId": "53347018456", + "feedType": "POST_PRODUCT_DATA", + "processingStatus": "DONE", + "resultFeedDocumentId": "amzn1.tortuga.3.edbcd0d8-3434-8222-1234-52ad8ade1208.URUTI57URI9BMZ" + } + }, + { + "feedProcessingFinishedNotification": { + "accountId": "amzn1.vg.6213651", "feedId": "53347018456", "feedType": "POST_PRODUCT_DATA", "processingStatus": "DONE", @@ -93,6 +125,14 @@ "examples": [ { "sellerId": "A3TH9S8BH6GOGM", + "accountId": "amzn1.merchant.o.A3TH9S8BH6GOGM", + "feedId": "53347018456", + "feedType": "POST_PRODUCT_DATA", + "processingStatus": "DONE", + "resultFeedDocumentId": "amzn1.tortuga.3.edbcd0d8-3434-8222-1234-52ad8ade1208.URUTI57URI9BMZ" + }, + { + "accountId": "amzn1.vg.6213651", "feedId": "53347018456", "feedType": "POST_PRODUCT_DATA", "processingStatus": "DONE", @@ -100,7 +140,7 @@ } ], "required": [ - "sellerId", + "accountId", "feedId", "feedType", "processingStatus" @@ -109,15 +149,24 @@ "sellerId": { "$id": "#/properties/payload/properties/feedProcessingFinishedNotification/properties/sellerId", "type": "string", - "description": "An explanation about the purpose of this instance.", + "description": "The merchant customer identifier of the selling partner account on whose behalf the feed was submitted. This field will be null when the feed was submitted on behalf of a vendor group identifier.", "examples": [ "A3TH9S8BH6GOGM" ] }, + "accountId": { + "$id": "#/properties/payload/properties/feedProcessingFinishedNotification/properties/accountId", + "type": "string", + "description": "The merchant customer identifier or vendor group identifier of the selling partner account on whose behalf the feed was submitted.", + "examples": [ + "amzn1.merchant.o.A3TH9S8BH6GOGM", + "amzn1.vg.6213651" + ] + }, "feedId": { "$id": "#/properties/payload/properties/feedProcessingFinishedNotification/properties/feedId", "type": "string", - "description": "An explanation about the purpose of this instance.", + "description": "The feed identifier.", "examples": [ "53347018456" ] @@ -125,7 +174,7 @@ "feedType": { "$id": "#/properties/payload/properties/feedProcessingFinishedNotification/properties/feedType", "type": "string", - "description": "An explanation about the purpose of this instance.", + "description": "The feed type.", "examples": [ "POST_PRODUCT_DATA" ] @@ -133,7 +182,7 @@ "processingStatus": { "$id": "#/properties/payload/properties/feedProcessingFinishedNotification/properties/processingStatus", "type": "string", - "description": "An explanation about the purpose of this instance.", + "description": "The processing status of the feed.", "examples": [ "CANCELLED", "DONE", @@ -148,7 +197,7 @@ "resultFeedDocumentId": { "$id": "#/properties/payload/properties/feedProcessingFinishedNotification/properties/resultFeedDocumentId", "type": "string", - "description": "An explanation about the purpose of this instance.", + "description": "The feed document identifier. This identifier is unique only in combination with a seller ID.", "examples": [ "amzn1.tortuga.3.edbcd0d8-3434-8222-1234-52ad8ade1208.URUTI57URI9BMZ" ] @@ -160,7 +209,7 @@ "notificationMetadata": { "$id": "#/properties/notificationMetadata", "type": "object", - "description": "An explanation about the purpose of this instance.", + "description": "The metadata of the notification.", "examples": [ { "applicationId": "amzn1.sellerapps.app.aacccfff-44aa-4b7c-b42b-ed4ec98dd746", @@ -179,7 +228,7 @@ "applicationId": { "$id": "#/properties/notificationMetadata/properties/applicationId", "type": "string", - "description": "An explanation about the purpose of this instance.", + "description": "The application identifier.", "examples": [ "amzn1.sellerapps.app.aacccfff-44aa-4b7c-b42b-ed4ec98dd746" ] @@ -187,7 +236,7 @@ "subscriptionId": { "$id": "#/properties/notificationMetadata/properties/subscriptionId", "type": "string", - "description": "An explanation about the purpose of this instance.", + "description": "The subscription identifier.", "examples": [ "subscription-id-d0e9e693-c3ad-4373-979f-ed4ec98dd746" ] @@ -195,7 +244,7 @@ "publishTime": { "$id": "#/properties/notificationMetadata/properties/publishTime", "type": "string", - "description": "An explanation about the purpose of this instance.", + "description": "The timestamp of when the notification was published, formatted as ISO 8601 date-time.", "examples": [ "2020-07-13T19:42:04.284Z" ] @@ -203,7 +252,7 @@ "notificationId": { "$id": "#/properties/notificationMetadata/properties/notificationId", "type": "string", - "description": "An explanation about the purpose of this instance.", + "description": "The notification identifier.", "examples": [ "d0e9e693-c3ad-4373-979f-ed4ec98dd746" ] diff --git a/schemas/notifications/ReportProcessingFinishedNotification.json b/schemas/notifications/ReportProcessingFinishedNotification.json index a104dab23..8a2246c83 100644 --- a/schemas/notifications/ReportProcessingFinishedNotification.json +++ b/schemas/notifications/ReportProcessingFinishedNotification.json @@ -12,6 +12,28 @@ "payload": { "reportProcessingFinishedNotification": { "sellerId": "A3TH9S8BH6GOGM", + "accountId": "amzn1.merchant.o.A3TH9S8BH6GOGM", + "reportId": "54517018502", + "reportType": "GET_FLAT_FILE_ACTIONABLE_ORDER_DATA", + "processingStatus": "CANCELLED", + "reportDocumentId": "amzn1.tortuga.3.edbcd0d8-3434-8222-1234-52ad8ade1208.REP4567URI9BMZ" + } + }, + "notificationMetadata": { + "applicationId": "amzn1.sellerapps.app.aacccfff-4455-4b7c-4422-664ecacdd336", + "subscriptionId": "subscription-id-d0e9e693-c3ad-4373-979f-ed4ec98dd746", + "publishTime": "2020-07-13T19:42:04.284Z", + "notificationId": "d0e9e693-c3ad-4373-979f-ed4ec98dd746" + } + }, + { + "notificationVersion": "2020-09-04", + "notificationType": "REPORT_PROCESSING_FINISHED", + "payloadVersion": "2020-09-04", + "eventTime": "2020-07-14T03:35:13.214Z", + "payload": { + "reportProcessingFinishedNotification": { + "accountId": "amzn1.vg.6213651", "reportId": "54517018502", "reportType": "GET_FLAT_FILE_ACTIONABLE_ORDER_DATA", "processingStatus": "CANCELLED", @@ -38,7 +60,7 @@ "notificationVersion": { "$id": "#/properties/notificationVersion", "type": "string", - "description": "An explanation about the purpose of this instance.", + "description": "The version of the notification.", "examples": [ "2020-09-04" ] @@ -46,7 +68,7 @@ "notificationType": { "$id": "#/properties/notificationType", "type": "string", - "description": "An explanation about the purpose of this instance.", + "description": "The type of the notification.", "examples": [ "REPORT_PROCESSING_FINISHED" ] @@ -54,7 +76,7 @@ "payloadVersion": { "$id": "#/properties/payloadVersion", "type": "string", - "description": "An explanation about the purpose of this instance.", + "description": "The version of the payload.", "examples": [ "2020-09-04" ] @@ -62,7 +84,7 @@ "eventTime": { "$id": "#/properties/eventTime", "type": "string", - "description": "An explanation about the purpose of this instance.", + "description": "The timestamp of the event, formatted as ISO 8601 date-time.", "examples": [ "2020-07-14T03:35:13.214Z" ] @@ -70,11 +92,21 @@ "payload": { "$id": "#/properties/payload", "type": "object", - "description": "An explanation about the purpose of this instance.", + "description": "The details of this notification.", "examples": [ { "reportProcessingFinishedNotification": { "sellerId": "A3TH9S8BH6GOGM", + "accountId": "amzn1.merchant.o.A3TH9S8BH6GOGM", + "reportId": "54517018502", + "reportType": "GET_FLAT_FILE_ACTIONABLE_ORDER_DATA", + "processingStatus": "CANCELLED", + "reportDocumentId": "amzn1.tortuga.3.edbcd0d8-3434-8222-1234-52ad8ade1208.REP4567URI9BMZ" + } + }, + { + "reportProcessingFinishedNotification": { + "accountId": "amzn1.vg.6213651", "reportId": "54517018502", "reportType": "GET_FLAT_FILE_ACTIONABLE_ORDER_DATA", "processingStatus": "CANCELLED", @@ -93,6 +125,14 @@ "examples": [ { "sellerId": "A3TH9S8BH6GOGM", + "accountId": "amzn1.merchant.o.A3TH9S8BH6GOGM", + "reportId": "54517018502", + "reportType": "GET_FLAT_FILE_ACTIONABLE_ORDER_DATA", + "processingStatus": "CANCELLED", + "reportDocumentId": "amzn1.tortuga.3.edbcd0d8-3434-8222-1234-52ad8ade1208.REP4567URI9BMZ" + }, + { + "accountId": "amzn1.vg.6213651", "reportId": "54517018502", "reportType": "GET_FLAT_FILE_ACTIONABLE_ORDER_DATA", "processingStatus": "CANCELLED", @@ -100,7 +140,7 @@ } ], "required": [ - "sellerId", + "accountId", "reportId", "reportType", "processingStatus" @@ -109,15 +149,24 @@ "sellerId": { "$id": "#/properties/payload/properties/reportProcessingFinishedNotification/properties/sellerId", "type": "string", - "description": "An explanation about the purpose of this instance.", + "description": "The merchant customer identifier of the selling partner account on whose behalf the report was submitted. This field will be null when the report was submitted on behalf of a vendor group identifier.", "examples": [ "A3TH9S8BH6GOGM" ] }, + "accountId": { + "$id": "#/properties/payload/properties/reportProcessingFinishedNotification/properties/accountId", + "type": "string", + "description": "The merchant customer identifier or vendor group identifier of the selling partner account on whose behalf the report was submitted.", + "examples": [ + "amzn1.merchant.o.A3TH9S8BH6GOGM", + "amzn1.vg.6213651" + ] + }, "reportId": { "$id": "#/properties/payload/properties/reportProcessingFinishedNotification/properties/reportId", "type": "string", - "description": "An explanation about the purpose of this instance.", + "description": "The report identifier.", "examples": [ "54517018502" ] @@ -125,7 +174,7 @@ "reportType": { "$id": "#/properties/payload/properties/reportProcessingFinishedNotification/properties/reportType", "type": "string", - "description": "An explanation about the purpose of this instance.", + "description": "The report type.", "examples": [ "GET_FLAT_FILE_ACTIONABLE_ORDER_DATA" ] @@ -133,7 +182,7 @@ "processingStatus": { "$id": "#/properties/payload/properties/reportProcessingFinishedNotification/properties/processingStatus", "type": "string", - "description": "An explanation about the purpose of this instance.", + "description": "The processing status of the report.", "examples": [ "CANCELLED", "DONE", @@ -148,7 +197,7 @@ "reportDocumentId": { "$id": "#/properties/payload/properties/reportProcessingFinishedNotification/properties/reportDocumentId", "type": "string", - "description": "An explanation about the purpose of this instance.", + "description": "The report document identifier. This identifier is unique only in combination with a seller ID.", "examples": [ "amzn1.tortuga.3.edbcd0d8-3434-8222-1234-52ad8ade1208.REP4567URI9BMZ" ] @@ -160,7 +209,7 @@ "notificationMetadata": { "$id": "#/properties/notificationMetadata", "type": "object", - "description": "An explanation about the purpose of this instance.", + "description": "The metadata of the notification.", "examples": [ { "applicationId": "amzn1.sellerapps.app.aacccfff-4455-4b7c-4422-664ecacdd336", @@ -179,7 +228,7 @@ "applicationId": { "$id": "#/properties/notificationMetadata/properties/applicationId", "type": "string", - "description": "An explanation about the purpose of this instance.", + "description": "The application identifier.", "examples": [ "amzn1.sellerapps.app.aacccfff-4455-4b7c-4422-664ecacdd336" ] @@ -187,7 +236,7 @@ "subscriptionId": { "$id": "#/properties/notificationMetadata/properties/subscriptionId", "type": "string", - "description": "An explanation about the purpose of this instance.", + "description": "The subscription identifier.", "examples": [ "subscription-id-d0e9e693-c3ad-4373-979f-ed4ec98dd746" ] @@ -195,7 +244,7 @@ "publishTime": { "$id": "#/properties/notificationMetadata/properties/publishTime", "type": "string", - "description": "An explanation about the purpose of this instance.", + "description": "The timestamp of when the notification was published, formatted as ISO 8601 date-time.", "examples": [ "2020-07-13T19:42:04.284Z" ] @@ -203,7 +252,7 @@ "notificationId": { "$id": "#/properties/notificationMetadata/properties/notificationId", "type": "string", - "description": "An explanation about the purpose of this instance.", + "description": "The notification identifier.", "examples": [ "d0e9e693-c3ad-4373-979f-ed4ec98dd746" ] From 50c0d6e7540e5fa9056266de6428615c7daedd88 Mon Sep 17 00:00:00 2001 From: Jack Evoniuk Date: Wed, 20 Mar 2024 11:07:14 -0700 Subject: [PATCH 227/340] Update Vendor Shipments model --- .../vendorShipments.json | 961 +++--------------- 1 file changed, 120 insertions(+), 841 deletions(-) diff --git a/models/vendor-shipments-api-model/vendorShipments.json b/models/vendor-shipments-api-model/vendorShipments.json index 596d3067e..f65021f05 100644 --- a/models/vendor-shipments-api-model/vendorShipments.json +++ b/models/vendor-shipments-api-model/vendorShipments.json @@ -35,183 +35,10 @@ { "in": "body", "name": "body", + "description": "A request to submit shipment confirmation.", "required": true, "schema": { - "$ref": "#/definitions/SubmitShipmentConfirmationsRequest", - "example": { - "shipmentConfirmations": [ - { - "shipmentIdentifier": "00050003", - "shipmentConfirmationType": "Original", - "shipmentType": "LessThanTruckLoad", - "shipmentStructure": "PalletizedStandardCase", - "transportationDetails": { - "transportationMode": "Road", - "billOfLadingNumber": "02440000" - }, - "shipmentConfirmationDate": "2019-08-07T19:56:45.632Z", - "shippedDate": "2019-08-07T19:56:45.632Z", - "estimatedDeliveryDate": "2019-08-07T19:56:45.632Z", - "sellingParty": { - "partyId": "VENDORCODE" - }, - "shipFromParty": { - "address": { - "name": "ABC electronics warehouse", - "addressLine1": "DEF 1st street", - "city": "Lisses", - "stateOrRegion": "abcland", - "postalCode": "91090", - "countryCode": "DE" - }, - "partyId": "VENDORWAREHOUSECODE" - }, - "shipToParty": { - "partyId": "AMZWAREHOUSECODE" - }, - "shipmentMeasurements": { - "grossShipmentWeight": { - "unitOfMeasure": "Kg", - "value": "120.45" - }, - "shipmentVolume": { - "unitOfMeasure": "CuFt", - "value": "2.4" - }, - "palletCount": 1 - }, - "shippedItems": [ - { - "itemSequenceNumber": "001", - "vendorProductIdentifier": "9782700001659", - "shippedQuantity": { - "amount": 100, - "unitOfMeasure": "Eaches", - "unitSize": 1 - }, - "itemDetails": { - "purchaseOrderNumber": "1BBBAAAA", - "lotNumber": "1045", - "maximumRetailPrice": { - "currencyCode": "EUR", - "amount": "299.00" - }, - "handlingCode": "Oversized" - } - } - ], - "cartons": [ - { - "cartonIdentifiers": [ - { - "containerIdentificationType": "SSCC", - "containerIdentificationNumber": "00102234567666698888" - } - ], - "cartonSequenceNumber": "001", - "items": [ - { - "itemReference": "001", - "shippedQuantity": { - "amount": 25, - "unitOfMeasure": "Eaches", - "unitSize": 1 - } - } - ] - }, - { - "cartonIdentifiers": [ - { - "containerIdentificationType": "SSCC", - "containerIdentificationNumber": "00102234567666699999" - } - ], - "cartonSequenceNumber": "002", - "items": [ - { - "itemReference": "001", - "shippedQuantity": { - "amount": 25, - "unitOfMeasure": "Eaches", - "unitSize": 1 - } - } - ] - }, - { - "cartonIdentifiers": [ - { - "containerIdentificationType": "SSCC", - "containerIdentificationNumber": "00102234567666696666" - } - ], - "cartonSequenceNumber": "003", - "items": [ - { - "itemReference": "001", - "shippedQuantity": { - "amount": 25, - "unitOfMeasure": "Eaches", - "unitSize": 1 - } - } - ] - }, - { - "cartonIdentifiers": [ - { - "containerIdentificationType": "SSCC", - "containerIdentificationNumber": "00102234567666697777" - } - ], - "cartonSequenceNumber": "004", - "items": [ - { - "itemReference": "001", - "shippedQuantity": { - "amount": 25, - "unitOfMeasure": "Eaches", - "unitSize": 1 - } - } - ] - } - ], - "pallets": [ - { - "palletIdentifiers": [ - { - "containerIdentificationType": "SSCC", - "containerIdentificationNumber": "00102234567898098745" - } - ], - "tier": 2, - "block": 2, - "dimensions": { - "length": "1.2", - "width": "0.8", - "height": "1", - "unitOfMeasure": "In" - }, - "weight": { - "unitOfMeasure": "Kg", - "value": "120.45" - }, - "cartonReferenceDetails": { - "cartonCount": 4, - "cartonReferenceNumbers": [ - "001", - "002", - "003", - "004" - ] - } - } - ] - } - ] - } + "$ref": "#/definitions/SubmitShipmentConfirmationsRequest" } } ], @@ -376,10 +203,6 @@ "$ref": "#/definitions/SubmitShipmentConfirmationsResponse" }, "headers": { - "x-amzn-RateLimit-Limit": { - "type": "string", - "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." - }, "x-amzn-RequestId": { "type": "string", "description": "Unique request reference identifier." @@ -392,10 +215,6 @@ "$ref": "#/definitions/SubmitShipmentConfirmationsResponse" }, "headers": { - "x-amzn-RateLimit-Limit": { - "type": "string", - "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." - }, "x-amzn-RequestId": { "type": "string", "description": "Unique request reference identifier." @@ -408,10 +227,6 @@ "$ref": "#/definitions/SubmitShipmentConfirmationsResponse" }, "headers": { - "x-amzn-RateLimit-Limit": { - "type": "string", - "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." - }, "x-amzn-RequestId": { "type": "string", "description": "Unique request reference identifier." @@ -424,10 +239,6 @@ "$ref": "#/definitions/SubmitShipmentConfirmationsResponse" }, "headers": { - "x-amzn-RateLimit-Limit": { - "type": "string", - "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." - }, "x-amzn-RequestId": { "type": "string", "description": "Unique request reference identifier." @@ -440,10 +251,6 @@ "$ref": "#/definitions/SubmitShipmentConfirmationsResponse" }, "headers": { - "x-amzn-RateLimit-Limit": { - "type": "string", - "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." - }, "x-amzn-RequestId": { "type": "string", "description": "Unique request reference identifier." @@ -451,8 +258,7 @@ } } } - }, - "parameters": [] + } }, "/vendor/shipping/v1/shipments": { "post": { @@ -465,6 +271,7 @@ { "in": "body", "name": "body", + "description": "A request to submit shipment request.", "required": true, "schema": { "$ref": "#/definitions/SubmitShipments" @@ -838,10 +645,6 @@ "$ref": "#/definitions/SubmitShipmentConfirmationsResponse" }, "headers": { - "x-amzn-RateLimit-Limit": { - "type": "string", - "description": "Your rate limit (requests per second) for this operation." - }, "x-amzn-RequestId": { "type": "string", "description": "Unique request reference identifier." @@ -854,10 +657,6 @@ "$ref": "#/definitions/SubmitShipmentConfirmationsResponse" }, "headers": { - "x-amzn-RateLimit-Limit": { - "type": "string", - "description": "Your rate limit (requests per second) for this operation." - }, "x-amzn-RequestId": { "type": "string", "description": "Unique request reference identifier." @@ -870,10 +669,6 @@ "$ref": "#/definitions/SubmitShipmentConfirmationsResponse" }, "headers": { - "x-amzn-RateLimit-Limit": { - "type": "string", - "description": "Your rate limit (requests per second) for this operation." - }, "x-amzn-RequestId": { "type": "string", "description": "Unique request reference identifier." @@ -886,10 +681,6 @@ "$ref": "#/definitions/SubmitShipmentConfirmationsResponse" }, "headers": { - "x-amzn-RateLimit-Limit": { - "type": "string", - "description": "Your rate limit (requests per second) for this operation." - }, "x-amzn-RequestId": { "type": "string", "description": "Unique request reference identifier." @@ -902,10 +693,6 @@ "$ref": "#/definitions/SubmitShipmentConfirmationsResponse" }, "headers": { - "x-amzn-RateLimit-Limit": { - "type": "string", - "description": "Your rate limit (requests per second) for this operation." - }, "x-amzn-RequestId": { "type": "string", "description": "Unique request reference identifier." @@ -962,7 +749,7 @@ { "name": "createdAfter", "in": "query", - "description": "Get Shipment Details that became available after this timestamp will be included in the result. Must be in ISO-8601 date/time format.", + "description": "Get Shipment Details that became available after this timestamp will be included in the result. Must be in ISO 8601 format.", "required": false, "type": "string", "format": "date-time" @@ -970,7 +757,7 @@ { "name": "createdBefore", "in": "query", - "description": "Get Shipment Details that became available before this timestamp will be included in the result. Must be in ISO-8601 date/time format.", + "description": "Get Shipment Details that became available before this timestamp will be included in the result. Must be in ISO 8601 format.", "required": false, "type": "string", "format": "date-time" @@ -978,7 +765,7 @@ { "name": "shipmentConfirmedBefore", "in": "query", - "description": "Get Shipment Details by passing Shipment confirmed create Date Before. Must be in ISO-8601 date/time format.", + "description": "Get Shipment Details by passing Shipment confirmed create Date Before. Must be in ISO 8601 format.", "required": false, "type": "string", "format": "date-time" @@ -986,7 +773,7 @@ { "name": "shipmentConfirmedAfter", "in": "query", - "description": "Get Shipment Details by passing Shipment confirmed create Date After. Must be in ISO-8601 date/time format.", + "description": "Get Shipment Details by passing Shipment confirmed create Date After. Must be in ISO 8601 format.", "required": false, "type": "string", "format": "date-time" @@ -994,7 +781,7 @@ { "name": "packageLabelCreatedBefore", "in": "query", - "description": "Get Shipment Details by passing Package label create Date by buyer. Must be in ISO-8601 date/time format.", + "description": "Get Shipment Details by passing Package label create Date by buyer. Must be in ISO 8601 format.", "required": false, "type": "string", "format": "date-time" @@ -1002,7 +789,7 @@ { "name": "packageLabelCreatedAfter", "in": "query", - "description": "Get Shipment Details by passing Package label create Date After by buyer. Must be in ISO-8601 date/time format.", + "description": "Get Shipment Details by passing Package label create Date After by buyer. Must be in ISO 8601 format.", "required": false, "type": "string", "format": "date-time" @@ -1010,7 +797,7 @@ { "name": "shippedBefore", "in": "query", - "description": "Get Shipment Details by passing Shipped Date Before. Must be in ISO-8601 date/time format.", + "description": "Get Shipment Details by passing Shipped Date Before. Must be in ISO 8601 format.", "required": false, "type": "string", "format": "date-time" @@ -1018,7 +805,7 @@ { "name": "shippedAfter", "in": "query", - "description": "Get Shipment Details by passing Shipped Date After. Must be in ISO-8601 date/time format.", + "description": "Get Shipment Details by passing Shipped Date After. Must be in ISO 8601 format.", "required": false, "type": "string", "format": "date-time" @@ -1026,7 +813,7 @@ { "name": "estimatedDeliveryBefore", "in": "query", - "description": "Get Shipment Details by passing Estimated Delivery Date Before. Must be in ISO-8601 date/time format.", + "description": "Get Shipment Details by passing Estimated Delivery Date Before. Must be in ISO 8601 format.", "required": false, "type": "string", "format": "date-time" @@ -1034,7 +821,7 @@ { "name": "estimatedDeliveryAfter", "in": "query", - "description": "Get Shipment Details by passing Estimated Delivery Date Before. Must be in ISO-8601 date/time format.", + "description": "Get Shipment Details by passing Estimated Delivery Date Before. Must be in ISO 8601 format.", "required": false, "type": "string", "format": "date-time" @@ -1042,7 +829,7 @@ { "name": "shipmentDeliveryBefore", "in": "query", - "description": "Get Shipment Details by passing Shipment Delivery Date Before. Must be in ISO-8601 date/time format.", + "description": "Get Shipment Details by passing Shipment Delivery Date Before. Must be in ISO 8601 format.", "required": false, "type": "string", "format": "date-time" @@ -1050,7 +837,7 @@ { "name": "shipmentDeliveryAfter", "in": "query", - "description": "Get Shipment Details by passing Shipment Delivery Date After. Must be in ISO-8601 date/time format.", + "description": "Get Shipment Details by passing Shipment Delivery Date After. Must be in ISO 8601 format.", "required": false, "type": "string", "format": "date-time" @@ -1058,7 +845,7 @@ { "name": "requestedPickUpBefore", "in": "query", - "description": "Get Shipment Details by passing Before Requested pickup date. Must be in ISO-8601 date/time format.", + "description": "Get Shipment Details by passing Before Requested pickup date. Must be in ISO 8601 format.", "required": false, "type": "string", "format": "date-time" @@ -1066,7 +853,7 @@ { "name": "requestedPickUpAfter", "in": "query", - "description": "Get Shipment Details by passing After Requested pickup date. Must be in ISO-8601 date/time format.", + "description": "Get Shipment Details by passing After Requested pickup date. Must be in ISO 8601 format.", "required": false, "type": "string", "format": "date-time" @@ -1074,7 +861,7 @@ { "name": "scheduledPickUpBefore", "in": "query", - "description": "Get Shipment Details by passing Before scheduled pickup date. Must be in ISO-8601 date/time format.", + "description": "Get Shipment Details by passing Before scheduled pickup date. Must be in ISO 8601 format.", "required": false, "type": "string", "format": "date-time" @@ -1082,7 +869,7 @@ { "name": "scheduledPickUpAfter", "in": "query", - "description": "Get Shipment Details by passing After Scheduled pickup date. Must be in ISO-8601 date/time format.", + "description": "Get Shipment Details by passing After Scheduled pickup date. Must be in ISO 8601 format.", "required": false, "type": "string", "format": "date-time" @@ -1584,384 +1371,28 @@ "expiryAfterDuration": { "durationUnit": "Days", "durationValue": 0 - } - } - } - } - ] - } - ], - "transportationDetails": { - "shipMode": "LessThanTruckLoad", - "transportationMode": "Road", - "shippedDate": "2019-08-07T19:56:45.632", - "estimatedDeliveryDate": "2019-08-07T19:56:45.632", - "shipmentDeliveryDate": "2019-08-07T19:56:45.632", - "carrierDetails": { - "name": "UPS", - "phone": "1234567890", - "email": "abc@xyz.com", - "code": "1-1231", - "shipmentReferenceNumber": "TRACK001" - }, - "billOfLadingNumber": "12534233421" - } - } - ] - } - } - } - ] - }, - "400": { - "description": "Request has missing or invalid parameters and cannot be parsed.", - "schema": { - "$ref": "#/definitions/GetShipmentDetailsResponse" - }, - "headers": { - "x-amzn-RateLimit-Limit": { - "type": "string", - "description": "Your rate limit (requests per second) for this operation." - }, - "x-amzn-RequestId": { - "type": "string", - "description": "Unique request reference identifier." - } - }, - "x-amazon-spds-sandbox-behaviors": [ - { - "request": { - "parameters": { - "vendorShipmentIdentifier": { - "value": "null" - } - } - }, - "response": { - "errors": [ - { - "code": "InvalidRequest", - "message": "Request is missing or has invalid parameters", - "details": "vendor Shipment Identifier cannot be null" - } - ] - } - } - ] - }, - "401": { - "description": "The request's Authorization header is not formatted correctly or does not contain a valid token.", - "schema": { - "$ref": "#/definitions/GetShipmentDetailsResponse" - }, - "headers": { - "x-amzn-RateLimit-Limit": { - "type": "string", - "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." - }, - "x-amzn-RequestId": { - "type": "string", - "description": "Unique request reference identifier." - } - } - }, - "403": { - "description": "Indicates that access to the resource is forbidden. Possible reasons include Access Denied, Unauthorized, Expired Token, or Invalid Signature.", - "schema": { - "$ref": "#/definitions/GetShipmentDetailsResponse" - }, - "headers": { - "x-amzn-RateLimit-Limit": { - "type": "string", - "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." - }, - "x-amzn-RequestId": { - "type": "string", - "description": "Unique request reference identifier." - } - } - }, - "404": { - "description": "The resource specified does not exist.", - "schema": { - "$ref": "#/definitions/GetShipmentDetailsResponse" - }, - "headers": { - "x-amzn-RateLimit-Limit": { - "type": "string", - "description": "Your rate limit (requests per second) for this operation." - }, - "x-amzn-RequestId": { - "type": "string", - "description": "Unique request reference identifier." - } - } - }, - "415": { - "description": "The request payload is in an unsupported format.", - "schema": { - "$ref": "#/definitions/GetShipmentDetailsResponse" - }, - "headers": { - "x-amzn-RateLimit-Limit": { - "type": "string", - "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." - }, - "x-amzn-RequestId": { - "type": "string", - "description": "Unique request reference identifier." - } - } - }, - "429": { - "description": "The frequency of requests was greater than allowed.", - "schema": { - "$ref": "#/definitions/GetShipmentDetailsResponse" - }, - "headers": { - "x-amzn-RateLimit-Limit": { - "type": "string", - "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." - }, - "x-amzn-RequestId": { - "type": "string", - "description": "Unique request reference identifier." - } - } - }, - "500": { - "description": "An unexpected condition occurred that prevented the server from fulfilling the request.", - "schema": { - "$ref": "#/definitions/GetShipmentDetailsResponse" - }, - "headers": { - "x-amzn-RateLimit-Limit": { - "type": "string", - "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." - }, - "x-amzn-RequestId": { - "type": "string", - "description": "Unique request reference identifier." - } - } - }, - "503": { - "description": "Temporary overloading or maintenance of the server.", - "schema": { - "$ref": "#/definitions/GetShipmentDetailsResponse" - }, - "headers": { - "x-amzn-RateLimit-Limit": { - "type": "string", - "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." - }, - "x-amzn-RequestId": { - "type": "string", - "description": "Unique request reference identifier." - } - } - } - } - } - }, - "/vendor/shipping/v1/transportLabels": { - "get": { - "tags": [ - "vendorShipping" - ], - "description": "Returns transport Labels based on the filters that you specify.\n\n**Usage Plan:**\n\n| Rate (requests per second) | Burst |\n| ---- | ---- |\n| 10 | 10 |\n\nThe `x-amzn-RateLimit-Limit` response header returns the usage plan rate limits that were applied to the requested operation, when available. The table above indicates the default rate and burst values for this operation. Selling partners whose business demands require higher throughput may see higher rate and burst values than those shown here. For more information, see [Usage Plans and Rate Limits in the Selling Partner API](https://developer-docs.amazon.com/sp-api/docs/usage-plans-and-rate-limits-in-the-sp-api).", - "operationId": "GetShipmentLabels", - "parameters": [ - { - "name": "limit", - "in": "query", - "description": "The limit to the number of records returned. Default value is 50 records.", - "required": false, - "type": "integer", - "maximum": 50, - "minimum": 1, - "format": "int64" - }, - { - "name": "sortOrder", - "in": "query", - "description": "Sort in ascending or descending order by transport label creation date.", - "required": false, - "type": "string", - "enum": [ - "ASC", - "DESC" - ], - "x-docgen-enum-table-extension": [ - { - "value": "ASC", - "description": "Sort in ascending order by transport label creation date." - }, - { - "value": "DESC", - "description": "Sort in descending order by transport label creation date." - } - ] - }, - { - "name": "nextToken", - "in": "query", - "description": "Used for pagination when there are more transport label than the specified result size limit.", - "required": false, - "type": "string" - }, - { - "name": "labelCreatedAfter", - "in": "query", - "description": "transport Labels that became available after this timestamp will be included in the result. Must be in ISO-8601 date/time format.", - "required": false, - "type": "string", - "format": "date-time" - }, - { - "name": "labelcreatedBefore", - "in": "query", - "description": "transport Labels that became available before this timestamp will be included in the result. Must be in ISO-8601 date/time format.", - "required": false, - "type": "string", - "format": "date-time" - }, - { - "name": "buyerReferenceNumber", - "in": "query", - "description": "Get transport labels by passing Buyer Reference Number to retreive the corresponding transport label.", - "required": false, - "type": "string" - }, - { - "name": "vendorShipmentIdentifier", - "in": "query", - "description": "Get transport labels by passing Vendor Shipment ID to retreive the corresponding transport label.", - "required": false, - "type": "string" - }, - { - "name": "sellerWarehouseCode", - "in": "query", - "description": "Get Shipping labels based Vendor Warehouse code. This value should be same as 'shipFromParty.partyId' in the Shipment.", - "required": false, - "type": "string" - } - ], - "responses": { - "200": { - "description": "Success.", - "schema": { - "$ref": "#/definitions/GetShipmentLabels" - }, - "examples": { - "application/json": { - "payload": { - "pagination": { - "nextToken": "MDAwMDAwMDAwMQ==" - }, - "transportLabels": [ - { - "labelCreateDateTime": "1628505423212", - "shipmentInformation": { - "vendorDetails": { - "sellingParty": { - "partyId": "WHF47" - }, - "vendorShipmentId": "7822" - }, - "buyerReferenceNumber": "14511336331", - "shipToParty": { - "partyId": "LAX9" - }, - "shipFromParty": { - "partyId": "0-55767831", - "address": { - "name": "Wheeler Bros., Inc. HQ", - "addressLine1": "384 Drum Ave", - "addressLine2": "", - "addressLine3": "", - "city": "Somerset", - "stateOrRegion": "PA", - "postalCode": "15501", - "countryCode": "US" + } + } + } + } + ] } - }, - "masterTrackingId": "1ZR873R70319165935", - "totalLabelCount": 1, - "shipMode": "SmallParcel" - }, - "labelData": [ - { - "labelSequenceNumber": 1, - "labelFormat": "PDF", - "carrierCode": "UPSN", - "trackingId": "1ZR873R70319165935", - "label": "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GqUnjuQTNSOw6h7Lzw+MyywXrrDTItooQ4gA+NK4t/fszGk75/Ucm/CjxIg3YWwk5OKP+V8PZoeJTo2LQ3nDuzG/bQz30nJNnbbEhNiCBkEcCLLVtzRtnaoTxlDbQDwXfGnc29t1V9NRxMkJP0eJeBnLjTS7cn9rt+jfK0Snv/PpABWG/bZhrKbDlQuxHQ2COBBkqyO7fReZkNPJi5MMQYiNhCf0/hA/KVjcc37UOjpHiXgZs77y7rFfoEvt6zGnv5NRHZ7n+u0koO0c8UJsRIMgDgT56GQ+WKUkQ85lLkU+CiF2ER7S5ENBYZbbQ3J+iAzxPoy+wpfY/YrtjuvUvlUXbDOxQpyjX4gtaBDEgdhfHLtp8bsVNITM9TvTQDEoRBvheRk2/GwKNB1FzDbPIRvpEBnifSz7yvW5R7oUt+P6SRC4UmSkDm8hDgxBiGY0C+JA7t+aGZm7dHpCprseaqAYFKKN8LwMG342BZqOIozEnpBzLUZRhPpKCPFi9C8LcSCxfy9473JpC7nC+10DxaAQbYTnZdjwsynQdBRhJPaEnGsxiiLUV0KIF6N/WYgDif17wXuXCDHkvKm8hr0yhAgQHtgt8y4uHF4FlV4Uob4SQrwY/XYSB5L5qRn4vRqmImSizbCGvTKECBCe3L2DL/7j8Cqo9KII9ZUQ4sXot5M4kMxPzcDvVRfVIRfZd2nYK0OIAOEpPmcJfJnDq6DSiyLUV0KIF6PfTuJAzvypWcoJEb0yseIjHPtPVPEC1DmiCPWVEOLF6KeXOJAP/nvhhIhemVjxEfTfGUQd6hxRhPpKCPFi9NNLHMgH/71wQkSvTKz4CPrvDKIOdY4oQn0lhHgx+uklDkT/XtiCEiuei/47g6hDnSOKUF8JIV6MfnqJA9G/F7agxIrnov/OIOpQ54gi1FdCiBejn17iQPTvhS0oseK56L8ziDrUOaII9ZUQ4sXop5c4EP17YQtKrHgu+u8Mog51jihCfSWEeDH66SUORP9e2IISK56L/juDqEOdI4pQXwkhXox+eokD0b8XtqDEiuei/84g6lDniCLUV0KIF6OfXuJA9O+FLSix4rnovzOIOtQ5ogjX4hJCCCGEEEII8TJ2/6tUvI3dHS2EEEIIIYQQYie7/1Uq3sb/AB78i4gNCmVuZHN0cmVhbQplbmRvYmoKeHJlZgowIDcKMDAwMDAwMDAwMCA2NTUzNSBmDQowMDAwMDAwMDE1IDAwMDAwIG4NCjAwMDAwMDAxOTUgMDAwMDAgbg0KMDAwMDAwMDA3OCAwMDAwMCBuDQowMDAwMDAwMjUyIDAwMDAwIG4NCjAwMDAwMDA0NzkgMDAwMDAgbg0KMDAwMDAwMDYyMSAwMDAwMCBuDQp0cmFpbGVyCjw8Ci9Sb290IDEgMCBSCi9JbmZvIDMgMCBSCi9JRCBbPDZENEMxOEUzNENDNDYzQ0FEQTU1NUNFMTIxOTg0QUIzPiA8NkQ0QzE4RTM0Q0M0NjNDQURBNTU1Q0UxMjE5ODRBQjM+XQovU2l6ZSA3Cj4+CnN0YXJ0eHJlZgo0MDQ4NQolJUVPRgo=" - } - ] - } - ] - } - } - }, - "headers": { - "x-amzn-RateLimit-Limit": { - "type": "string", - "description": "Your rate limit (requests per second) for this operation." - }, - "x-amzn-RequestId": { - "type": "string", - "description": "Unique request reference identifier." - } - }, - "x-amazon-spds-sandbox-behaviors": [ - { - "request": { - "parameters": { - "vendorShipmentIdentifier": { - "value": "12345678" - } - } - }, - "response": { - "payload": { - "labelCreateDateTime": "1628505423212", - "shipmentInformation": { - "vendorDetails": { - "sellingParty": { - "partyId": "WHF47" - }, - "vendorShipmentId": "7822" - }, - "buyerReferenceNumber": "14511336331", - "shipToParty": { - "partyId": "LAX9" - }, - "shipFromParty": { - "partyId": "0-55767831", - "address": { - "name": "Wheeler Bros., Inc. HQ", - "addressLine1": "384 Drum Ave", - "addressLine2": "Suite 123", - "addressLine3": "DOOR 1", - "city": "Somerset", - "stateOrRegion": "PA", - "postalCode": "15501", - "countryCode": "US" + ], + "transportationDetails": { + "shipMode": "LessThanTruckLoad", + "transportationMode": "Road", + "shippedDate": "2019-08-07T19:56:45.632", + "estimatedDeliveryDate": "2019-08-07T19:56:45.632", + "shipmentDeliveryDate": "2019-08-07T19:56:45.632", + "carrierDetails": { + "name": "UPS", + "phone": "1234567890", + "email": "abc@xyz.com", + "code": "1-1231", + "shipmentReferenceNumber": "TRACK001" + }, + "billOfLadingNumber": "12534233421" } - }, - "masterTrackingId": "1ZR873R70319165935", - "totalLabelCount": 1, - "shipMode": "SmallParcel" - }, - "labelData": [ - { - "labelSequenceNumber": 1, - "labelFormat": "PDF", - "carrierCode": "UPSN", - "trackingId": "1ZR873R70319165935", - "label": "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GqUnjuQTNSOw6h7Lzw+MyywXrrDTItooQ4gA+NK4t/fszGk75/Ucm/CjxIg3YWwk5OKP+V8PZoeJTo2LQ3nDuzG/bQz30nJNnbbEhNiCBkEcCLLVtzRtnaoTxlDbQDwXfGnc29t1V9NRxMkJP0eJeBnLjTS7cn9rt+jfK0Snv/PpABWG/bZhrKbDlQuxHQ2COBBkqyO7fReZkNPJi5MMQYiNhCf0/hA/KVjcc37UOjpHiXgZs77y7rFfoEvt6zGnv5NRHZ7n+u0koO0c8UJsRIMgDgT56GQ+WKUkQ85lLkU+CiF2ER7S5ENBYZbbQ3J+iAzxPoy+wpfY/YrtjuvUvlUXbDOxQpyjX4gtaBDEgdhfHLtp8bsVNITM9TvTQDEoRBvheRk2/GwKNB1FzDbPIRvpEBnifSz7yvW5R7oUt+P6SRC4UmSkDm8hDgxBiGY0C+JA7t+aGZm7dHpCprseaqAYFKKN8LwMG342BZqOIozEnpBzLUZRhPpKCPFi9C8LcSCxfy9473JpC7nC+10DxaAQbYTnZdjwsynQdBRhJPaEnGsxiiLUV0KIF6N/WYgDif17wXuXCDHkvKm8hr0yhAgQHtgt8y4uHF4FlV4Uob4SQrwY/XYSB5L5qRn4vRqmImSizbCGvTKECBCe3L2DL/7j8Cqo9KII9ZUQ4sXot5M4kMxPzcDvVRfVIRfZd2nYK0OIAOEpPmcJfJnDq6DSiyLUV0KIF6PfTuJAzvypWcoJEb0yseIjHPtPVPEC1DmiCPWVEOLF6KeXOJAP/nvhhIhemVjxEfTfGUQd6hxRhPpKCPFi9NNLHMgH/71wQkSvTKz4CPrvDKIOdY4oQn0lhHgx+uklDkT/XtiCEiuei/47g6hDnSOKUF8JIV6MfnqJA9G/F7agxIrnov/OIOpQ54gi1FdCiBejn17iQPTvhS0oseK56L8ziDrUOaII9ZUQ4sXop5c4EP17YQtKrHgu+u8Mog51jihCfSWEeDH66SUORP9e2IISK56L/juDqEOdI4pQXwkhXox+eokD0b8XtqDEiuei/84g6lDniCLUV0KIF6OfXuJA9O+FLSix4rnovzOIOtQ5ogjX4hJCCCGEEEII8TJ2/6tUvI3dHS2EEEIIIYQQYie7/1Uq3sb/AB78i4gNCmVuZHN0cmVhbQplbmRvYmoKeHJlZgowIDcKMDAwMDAwMDAwMCA2NTUzNSBmDQowMDAwMDAwMDE1IDAwMDAwIG4NCjAwMDAwMDAxOTUgMDAwMDAgbg0KMDAwMDAwMDA3OCAwMDAwMCBuDQowMDAwMDAwMjUyIDAwMDAwIG4NCjAwMDAwMDA0NzkgMDAwMDAgbg0KMDAwMDAwMDYyMSAwMDAwMCBuDQp0cmFpbGVyCjw8Ci9Sb290IDEgMCBSCi9JbmZvIDMgMCBSCi9JRCBbPDZENEMxOEUzNENDNDYzQ0FEQTU1NUNFMTIxOTg0QUIzPiA8NkQ0QzE4RTM0Q0M0NjNDQURBNTU1Q0UxMjE5ODRBQjM+XQovU2l6ZSA3Cj4+CnN0YXJ0eHJlZgo0MDQ4NQolJUVPRgo=" } ] } @@ -1972,17 +1403,7 @@ "400": { "description": "Request has missing or invalid parameters and cannot be parsed.", "schema": { - "$ref": "#/definitions/GetShipmentLabels" - }, - "examples": { - "application/json": { - "errors": [ - { - "code": "InvalidRequest", - "message": "The request is invalid." - } - ] - } + "$ref": "#/definitions/GetShipmentDetailsResponse" }, "headers": { "x-amzn-RateLimit-Limit": { @@ -2018,13 +1439,9 @@ "401": { "description": "The request's Authorization header is not formatted correctly or does not contain a valid token.", "schema": { - "$ref": "#/definitions/GetShipmentLabels" + "$ref": "#/definitions/GetShipmentDetailsResponse" }, "headers": { - "x-amzn-RateLimit-Limit": { - "type": "string", - "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." - }, "x-amzn-RequestId": { "type": "string", "description": "Unique request reference identifier." @@ -2034,13 +1451,9 @@ "403": { "description": "Indicates that access to the resource is forbidden. Possible reasons include Access Denied, Unauthorized, Expired Token, or Invalid Signature.", "schema": { - "$ref": "#/definitions/GetShipmentLabels" + "$ref": "#/definitions/GetShipmentDetailsResponse" }, "headers": { - "x-amzn-RateLimit-Limit": { - "type": "string", - "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." - }, "x-amzn-RequestId": { "type": "string", "description": "Unique request reference identifier." @@ -2050,7 +1463,7 @@ "404": { "description": "The resource specified does not exist.", "schema": { - "$ref": "#/definitions/GetShipmentLabels" + "$ref": "#/definitions/GetShipmentDetailsResponse" }, "headers": { "x-amzn-RateLimit-Limit": { @@ -2066,13 +1479,9 @@ "415": { "description": "The request payload is in an unsupported format.", "schema": { - "$ref": "#/definitions/GetShipmentLabels" + "$ref": "#/definitions/GetShipmentDetailsResponse" }, "headers": { - "x-amzn-RateLimit-Limit": { - "type": "string", - "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." - }, "x-amzn-RequestId": { "type": "string", "description": "Unique request reference identifier." @@ -2082,13 +1491,9 @@ "429": { "description": "The frequency of requests was greater than allowed.", "schema": { - "$ref": "#/definitions/GetShipmentLabels" + "$ref": "#/definitions/GetShipmentDetailsResponse" }, "headers": { - "x-amzn-RateLimit-Limit": { - "type": "string", - "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." - }, "x-amzn-RequestId": { "type": "string", "description": "Unique request reference identifier." @@ -2098,13 +1503,9 @@ "500": { "description": "An unexpected condition occurred that prevented the server from fulfilling the request.", "schema": { - "$ref": "#/definitions/GetShipmentLabels" + "$ref": "#/definitions/GetShipmentDetailsResponse" }, "headers": { - "x-amzn-RateLimit-Limit": { - "type": "string", - "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." - }, "x-amzn-RequestId": { "type": "string", "description": "Unique request reference identifier." @@ -2114,13 +1515,9 @@ "503": { "description": "Temporary overloading or maintenance of the server.", "schema": { - "$ref": "#/definitions/GetShipmentLabels" + "$ref": "#/definitions/GetShipmentDetailsResponse" }, "headers": { - "x-amzn-RateLimit-Limit": { - "type": "string", - "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." - }, "x-amzn-RequestId": { "type": "string", "description": "Unique request reference identifier." @@ -2137,6 +1534,7 @@ "properties": { "shipmentConfirmations": { "type": "array", + "description": "A list of one or more shipment confirmations.", "items": { "$ref": "#/definitions/ShipmentConfirmation" } @@ -2149,12 +1547,13 @@ "properties": { "shipments": { "type": "array", + "description": "A list of one or more shipments with underlying details.", "items": { "$ref": "#/definitions/Shipment" } } }, - "description": "The request schema for the SubmitTransportRequestConfirmations operation." + "description": "The request schema for the SubmitShipments operation." }, "GetShipmentDetailsResponse": { "type": "object", @@ -2168,57 +1567,35 @@ }, "description": "The response schema for the GetShipmentDetails operation." }, - "GetShipmentLabels": { - "type": "object", - "properties": { - "payload": { - "$ref": "#/definitions/transportationLabels" - }, - "errors": { - "$ref": "#/definitions/ErrorList" - } - }, - "description": "The response schema for the GetShipmentLabels operation." - }, "ShipmentDetails": { "type": "object", + "description": "The request schema for the GetShipmentDetails operation.", "properties": { "pagination": { "$ref": "#/definitions/Pagination" }, "shipments": { "type": "array", + "description": "A list of one or more shipments with underlying details.", "items": { "$ref": "#/definitions/Shipment" } } } }, - "transportationLabels": { - "type": "object", - "properties": { - "pagination": { - "$ref": "#/definitions/Pagination" - }, - "transportLabels": { - "type": "array", - "items": { - "$ref": "#/definitions/transportLabel" - } - } - } - }, "Pagination": { "type": "object", + "description": "The pagination elements required to retrieve the remaining data.", "properties": { "nextToken": { "type": "string", - "description": "A generated string used to pass information to your next request. If NextToken is returned, pass the value of NextToken to the next request. If NextToken is not returned, there are no more order items to return." + "description": "A generated string used to pass information to your next request. If NextToken is returned, pass the value of NextToken to the next request. If NextToken is not returned, there are no more shipment items to return." } } }, "ShipmentConfirmation": { "type": "object", + "description": "A list of one or more shipment confirmations.", "required": [ "sellingParty", "shipFromParty", @@ -2319,7 +1696,7 @@ }, "transportationDetails": { "description": "Transportation details for this shipment.", - "$ref": "#/definitions/TransportationDetails" + "$ref": "#/definitions/TransportationDetailsForShipmentConfirmation" }, "amazonReferenceNumber": { "type": "string", @@ -2384,6 +1761,7 @@ }, "Shipment": { "type": "object", + "description": "A list of one or more shipments with respective details.", "required": [ "sellingParty", "shipFromParty", @@ -2523,13 +1901,13 @@ }, "collectFreightPickupDetails": { "description": "Indicates the earliest pickup date for the transportation from vendor warehouse. This information is mandatory to be filled for requesting transportation from Buyer (WePay/Collect).", - "$ref": "#/definitions/collectFreightPickupDetails" + "$ref": "#/definitions/CollectFreightPickupDetails" }, "purchaseOrders": { "type": "array", "description": "Indicates the purchase orders involved for the transportation request. This group is an array create 1 for each PO and list their corresponding items. This information is used for deciding the route,truck allocation and storage efficiently. This is a mandatory information for Buyer performing transportation from vendor warehouse (WePay/Collect)", "items": { - "$ref": "#/definitions/purchaseOrders" + "$ref": "#/definitions/PurchaseOrders" } }, "importDetails": { @@ -2540,7 +1918,7 @@ "type": "array", "description": "A list of the items in this transportation and their associated inner container details. If any of the item detail fields are common at a carton or a pallet level, provide them at the corresponding carton or pallet level.", "items": { - "$ref": "#/definitions/containers" + "$ref": "#/definitions/Containers" } }, "transportationDetails": { @@ -2549,26 +1927,6 @@ } } }, - "transportLabel": { - "type": "object", - "properties": { - "labelCreateDateTime": { - "type": "string", - "description": "Date on which label is created." - }, - "shipmentInformation": { - "description": "Indicates the shipment Information details like warehouse and business reference details like ARN, Selling Party detail and Vendor Warehouse details", - "$ref": "#/definitions/ShipmentInformation" - }, - "labelData": { - "type": "array", - "description": "Indicates the label data,format and type associated .", - "items": { - "$ref": "#/definitions/LabelData" - } - } - } - }, "ShipmentMeasurements": { "type": "object", "properties": { @@ -2591,92 +1949,6 @@ }, "description": "Shipment measurement details." }, - "ShipmentInformation": { - "type": "object", - "properties": { - "vendorDetails": { - "description": "Vendor Details requesting for Shipment Label", - "$ref": "#/definitions/VendorDetails" - }, - "buyerReferenceNumber": { - "type": "string", - "description": "Buyer Reference number which is a unique number." - }, - "shipToParty": { - "description": "Name/Address of the destination warehouse where the shipment is being shipped to.", - "$ref": "#/definitions/PartyIdentification" - }, - "shipFromParty": { - "description": "Name/Address of the destination warehouse where the shipment is being shipped to.", - "$ref": "#/definitions/PartyIdentification" - }, - "warehouseId": { - "type": "string", - "description": "Vendor Warehouse ID from where the shipment is scheduled to be picked up by buyer / Carrier." - }, - "masterTrackingId": { - "type": "string", - "description": "Unique Id with which the shipment can be tracked for Small Parcels." - }, - "totalLabelCount": { - "type": "integer", - "description": "Number of Labels that are created as part of this shipment." - }, - "shipMode": { - "type": "string", - "description": "Type of shipment whether it is Small Parcel", - "enum": [ - "SmallParcel", - "LTL" - ] - } - }, - "description": "Shipment Information details for Label request." - }, - "LabelData": { - "type": "object", - "properties": { - "labelSequenceNumber": { - "type": "integer", - "description": "Label list sequence number" - }, - "labelFormat": { - "type": "string", - "description": "Type of the label format like PDF", - "enum": [ - "PDF" - ] - }, - "carrierCode": { - "type": "string", - "description": "Unique identification for the carrier like UPS,DHL,USPS..etc" - }, - "trackingId": { - "type": "string", - "description": "Tracking Id for the transportation." - }, - "label": { - "type": "string", - "description": "Label created as part of the transportation and it is base64 encoded" - } - }, - "description": "Label details as part of the transport label response" - }, - "VendorDetails": { - "type": "object", - "properties": { - "sellingParty": { - "description": "Name/Address and tax details of the selling party.", - "$ref": "#/definitions/PartyIdentification" - }, - "vendorShipmentId": { - "type": "string", - "format": "date-time", - "description": "Unique vendor shipment id which is not used in last 365 days" - } - }, - "description": "Vendor Details as part of Label response." - }, "ShipmentStatusDetails": { "type": "object", "properties": { @@ -2742,7 +2014,7 @@ }, "description": "Shipment measurement details." }, - "collectFreightPickupDetails": { + "CollectFreightPickupDetails": { "type": "object", "properties": { "requestedPickUp": { @@ -2763,7 +2035,7 @@ }, "description": "Transport Request pickup date from Vendor Warehouse by Buyer" }, - "purchaseOrders": { + "PurchaseOrders": { "type": "object", "properties": { "purchaseOrderNumber": { @@ -2791,6 +2063,7 @@ }, "TransportationDetails": { "type": "object", + "description": "Transportation details for this shipment.", "properties": { "shipMode": { "type": "string", @@ -2859,12 +2132,54 @@ }, "billOfLadingNumber": { "type": "string", - "description": "Bill Of Lading (BOL) number is the unique number assigned by the vendor. The BOL present in the Shipment Confirmation message ideally matches the paper BOL provided with the shipment, but that is no must. Instead of BOL, an alternative reference number (like Delivery Note Number) for the shipment can also be sent in this field." + "description": "The Bill of Lading (BOL) number is a unique number assigned to each shipment of goods by the vendor or shipper during the creation of the Bill of Lading. This number must be unique for every shipment and cannot be a date/time or single character. The BOL numer is mandatory in Shipment Confirmation message for FTL and LTL shipments, and must match the paper BOL provided with the shipment. Instead of BOL, an alternative reference number (like Delivery Note Number) for the shipment can also be sent in this field." + } + } + }, + "TransportationDetailsForShipmentConfirmation": { + "type": "object", + "description": "Transportation details for this shipment.", + "properties": { + "carrierScac": { + "type": "string", + "description": "Code that identifies the carrier for the shipment. The Standard Carrier Alpha Code (SCAC) is a unique two to four letter code used to identify a carrier. Carrier SCAC codes are assigned and maintained by the NMFTA (National Motor Freight Association). This field is mandatory for US, CA, MX shipment confirmations." + }, + "carrierShipmentReferenceNumber": { + "type": "string", + "description": "The field also known as PRO number is a unique number assigned by the carrier. It is used to identify and track the shipment that goes out for delivery. This field is mandatory for UA, CA, MX shipment confirmations." + }, + "transportationMode": { + "type": "string", + "description": "The mode of transportation for this shipment.", + "enum": [ + "Road", + "Air", + "Ocean" + ], + "x-docgen-enum-table-extension": [ + { + "value": "Road", + "description": "The mode of transportation is by Road (on a truck)." + }, + { + "value": "Air", + "description": "The mode of transportation is by Air (on a plane)." + }, + { + "value": "Ocean", + "description": "The mode of transportation is by Ocean (on a ship)." + } + ] + }, + "billOfLadingNumber": { + "type": "string", + "description": "The Bill of Lading (BOL) number is a unique number assigned to each shipment of goods by the vendor or shipper during the creation of the Bill of Lading. This number must be unique for every shipment and cannot be a date/time or single character. The BOL numer is mandatory in Shipment Confirmation message for FTL and LTL shipments, and must match the paper BOL provided with the shipment. Instead of BOL, an alternative reference number (like Delivery Note Number) for the shipment can also be sent in this field." } } }, "CarrierDetails": { "type": "object", + "description": "Indicates the carrier details and their contact informations", "properties": { "name": { "type": "string", @@ -2890,6 +2205,7 @@ }, "ImportDetails": { "type": "object", + "description": "Provide these fields only if this shipment is a direct import.", "properties": { "methodOfPayment": { "type": "string", @@ -2981,8 +2297,9 @@ } } }, - "containers": { + "Containers": { "type": "object", + "description": "A list of the items in this transportation and their associated inner container details. If any of the item detail fields are common at a carton or a pallet level, provide them at the corresponding carton or pallet level.", "required": [ "containerIdentifiers", "containerType" @@ -3187,6 +2504,7 @@ }, "ContainerSequenceNumbers": { "type": "object", + "description": "Container sequence numbers that are involved in this shipment.", "properties": { "containerSequenceNumber": { "type": "string", @@ -3247,7 +2565,7 @@ "description": "The batch or lot number associates an item with information the manufacturer considers relevant for traceability of the trade item to which the Element String is applied. The data may refer to the trade item itself or to items contained. This field is mandatory for all perishable items." }, "expiry": { - "description": "Either expiryDate or mfgDate and expiryAfterDuration are mandatory for perishable items.", + "description": "Expiry refers to the collection of dates required for certain items. These could be either expiryDate or mfgDate and expiryAfterDuration. These are mandatory for perishable items.", "$ref": "#/definitions/Expiry" }, "maximumRetailPrice": { @@ -3303,18 +2621,9 @@ }, "description": "Item details for be provided for every item in shipment at either the item or carton or pallet level, whichever is appropriate." }, - "PurchaseOrderItemDetails": { - "type": "object", - "properties": { - "maximumRetailPrice": { - "description": "Maximum retail price of the item being shipped.", - "$ref": "#/definitions/Money" - } - }, - "description": "Item details for be provided for every item in shipment at either the item or carton or pallet level, whichever is appropriate." - }, "ContainerIdentification": { "type": "object", + "description": "A list of carton identifiers.", "required": [ "containerIdentificationNumber", "containerIdentificationType" @@ -3382,6 +2691,7 @@ }, "CartonReferenceDetails": { "type": "object", + "description": "Carton reference details.", "required": [ "cartonReferenceNumbers" ], @@ -3401,6 +2711,7 @@ }, "PartyIdentification": { "type": "object", + "description": "Name/Address and tax details of the party.", "required": [ "partyId" ], @@ -3517,6 +2828,7 @@ "properties": { "stops": { "type": "array", + "description": "The port or location involved in transporting the cargo, as specified in transportation contracts or operational plans.", "items": { "$ref": "#/definitions/Stop" } @@ -3780,44 +3092,9 @@ }, "description": "Details of item quantity." }, - "packedQuantity": { - "type": "object", - "required": [ - "amount", - "unitOfMeasure" - ], - "properties": { - "amount": { - "type": "integer", - "description": "Amount of units shipped for a specific item at a shipment level. If the item is present only in certain cartons or pallets within the shipment, please provide this at the appropriate carton or pallet level." - }, - "unitOfMeasure": { - "type": "string", - "description": "Unit of measure for the shipped quantity.", - "enum": [ - "Cases", - "Eaches" - ], - "x-docgen-enum-table-extension": [ - { - "value": "Cases", - "description": "Packing of individual items into a case." - }, - { - "value": "Eaches", - "description": "Individual items." - } - ] - }, - "unitSize": { - "type": "integer", - "description": "The case size, in the event that we ordered using cases. Otherwise, 1." - } - }, - "description": "Details of item quantity." - }, "Expiry": { "type": "object", + "description": "Expiry refers to the collection of dates required for certain items. These could be either expiryDate or mfgDate and expiryAfterDuration. These are mandatory for perishable items.", "properties": { "manufacturerDate": { "type": "string", @@ -3837,6 +3114,7 @@ }, "Duration": { "type": "object", + "description": "Duration after manufacturing date during which the product is valid for consumption.", "required": [ "durationUnit", "durationValue" @@ -3881,6 +3159,7 @@ }, "TransactionReference": { "type": "object", + "description": "The response payload for the SubmitShipmentConfirmations operation.", "properties": { "transactionId": { "type": "string", @@ -3918,4 +3197,4 @@ "description": "Error response returned when the request is unsuccessful." } } -} \ No newline at end of file +} From a5008807b6856fe1b0483c0c52506bbd0669b789 Mon Sep 17 00:00:00 2001 From: Gibran Waldron Date: Wed, 20 Mar 2024 11:31:09 -0700 Subject: [PATCH 228/340] Update MarketplaceAsinPageViewMetrics.json scema. --- schemas/reports/marketplaceAsinPageViewMetrics.json | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/schemas/reports/marketplaceAsinPageViewMetrics.json b/schemas/reports/marketplaceAsinPageViewMetrics.json index 8e785227d..284b96a62 100644 --- a/schemas/reports/marketplaceAsinPageViewMetrics.json +++ b/schemas/reports/marketplaceAsinPageViewMetrics.json @@ -1,7 +1,7 @@ { "$schema": "http://json-schema.org/draft-07/schema", "type": "object", - "description": "Provides information on the ASIN page view (glance view) metrics for the DE, FR, IT, ES, NL, PL, SE and BE (EU-8) marketplaces, with data available up to the last seven days. A page view is a customer view of the product's detail page for a given ASIN. Developers have the option to specify a start and end date to retrieve data within that range. If no dates are specified, the report will provide the data for the latest available day. For marketplaces and product categories where the seller does not have a meaningful presence (40 units sold), the report will not return any data.", + "description": "Provides information on the ASIN page view (glance view) metrics for the DE, FR, IT, ES, NL, PL, SE, BE (EU-8) and UK marketplaces, with data available up to the last seven days. A page view is a customer view of the product's detail page for a given ASIN. Developers have the option to specify a start and end date to retrieve data within that range. If no dates are specified, the report will provide the data for the latest available day. For marketplaces and product categories where the seller does not have a meaningful presence (40 units sold), the report will not return any data.", "examples": [ { "reportSpecification": { @@ -164,14 +164,14 @@ }, "reportOptions": { "type": "object", - "description": "Used to specify the product type.", + "description": "Specifies the product type.", "required": [ "productType" ], "properties": { "productType": { "type": "string", - "description": "The Amazon product type of the ASINs for which the report is being requested. All ASINs with the productType will be included. The value for the product type can be found by following instructions on Seller Central's Help page. - https://sellercentral.amazon.com/help/hub/reference/GYV2F6WS9N9FDYD9", + "description": "The Amazon product type of the ASINs for which the report is being requested. All ASINs with the productType will be included. The value for the product type can be found by following instructions on Seller Central's Help page. - https://developer-docs.amazon.com/sp-api/docs/seller-central-urls", "examples": [ "AUTO_BATTERY", "LUGGAGE", @@ -198,10 +198,10 @@ }, "marketplaceIds": { "type": "array", - "description": "Any of the EU(8) marketplaces. DE, FR, IT, ES, NL, PL, SE and BE", + "description": "Any of the EU(8) or UK marketplaces. DE, FR, IT, ES, NL, PL, SE, BE and UK", "items": { "type": "string", - "description": "Any EU(8) Marketplace ID. DE, FR, IT, ES, NL, PL, SE and BE. The ID for the marketplace can be found on the SP-API documentation. - https://developer-docs.amazon.com/sp-api/docs/marketplace-ids" + "description": "Any EU(8) or UK Marketplace ID. DE, FR, IT, ES, NL, PL, SE, BE and UK. The ID for the marketplace can be found on the SP-API documentation. - https://developer-docs.amazon.com/sp-api/docs/marketplace-ids" } } } @@ -267,4 +267,4 @@ } } } -} \ No newline at end of file +} From 08294fe72eb6931b67a40dbf276d9ca981a2626c Mon Sep 17 00:00:00 2001 From: Jack Evoniuk Date: Wed, 27 Mar 2024 11:23:34 -0700 Subject: [PATCH 229/340] Update Fulfillment Inbound v0 model Remove the getInboundGuidance operation. --- .../fulfillmentInboundV0.json | 604 ++---------------- 1 file changed, 62 insertions(+), 542 deletions(-) diff --git a/models/fulfillment-inbound-api-model/fulfillmentInboundV0.json b/models/fulfillment-inbound-api-model/fulfillmentInboundV0.json index df45bb5f2..64b5a6a77 100644 --- a/models/fulfillment-inbound-api-model/fulfillmentInboundV0.json +++ b/models/fulfillment-inbound-api-model/fulfillmentInboundV0.json @@ -24,254 +24,6 @@ "application/json" ], "paths": { - "/fba/inbound/v0/itemsGuidance": { - "get": { - "tags": [ - "fbaInbound" - ], - "description": "Returns information that lets a seller know if Amazon recommends sending an item to a given marketplace. In some cases, Amazon provides guidance for why a given SellerSKU or ASIN is not recommended for shipment to Amazon's fulfillment network. Sellers may still ship items that are not recommended, at their discretion.\n\n**Usage Plan:**\n\n| Rate (requests per second) | Burst |\n| ---- | ---- |\n| 2 | 30 |\n\nThe `x-amzn-RateLimit-Limit` response header returns the usage plan rate limits that were applied to the requested operation, when available. The table above indicates the default rate and burst values for this operation. Selling partners whose business demands require higher throughput may see higher rate and burst values than those shown here. For more information, see [Usage Plans and Rate Limits in the Selling Partner API](https://developer-docs.amazon.com/sp-api/docs/usage-plans-and-rate-limits-in-the-sp-api).", - "operationId": "getInboundGuidance", - "deprecated": true, - "parameters": [ - { - "name": "MarketplaceId", - "in": "query", - "description": "A marketplace identifier. Specifies the marketplace where the product would be stored.", - "required": true, - "type": "string" - }, - { - "name": "SellerSKUList", - "in": "query", - "description": "A list of SellerSKU values. Used to identify items for which you want inbound guidance for shipment to Amazon's fulfillment network. Note: SellerSKU is qualified by the SellerId, which is included with every Selling Partner API operation that you submit. If you specify a SellerSKU that identifies a variation parent ASIN, this operation returns an error. A variation parent ASIN represents a generic product that cannot be sold. Variation child ASINs represent products that have specific characteristics (such as size and color) and can be sold. ", - "required": false, - "type": "array", - "items": { - "type": "string" - }, - "maxItems": 50 - }, - { - "name": "ASINList", - "in": "query", - "description": "A list of ASIN values. Used to identify items for which you want inbound guidance for shipment to Amazon's fulfillment network. Note: If you specify a ASIN that identifies a variation parent ASIN, this operation returns an error. A variation parent ASIN represents a generic product that cannot be sold. Variation child ASINs represent products that have specific characteristics (such as size and color) and can be sold.", - "required": false, - "type": "array", - "items": { - "type": "string" - }, - "maxItems": 50 - } - ], - "responses": { - "200": { - "description": "Success.", - "schema": { - "$ref": "#/definitions/GetInboundGuidanceResponse" - }, - "headers": { - "x-amzn-RateLimit-Limit": { - "type": "string", - "description": "Your rate limit (requests per second) for this operation." - }, - "x-amzn-RequestId": { - "type": "string", - "description": "Unique request reference identifier." - } - }, - "x-amzn-api-sandbox": { - "static": [ - { - "request": { - "parameters": { - "MarketplaceId": { - "value": "MarketplaceId" - }, - "SellerSKUList": { - "value": [ - "sku1", - "sku2" - ] - } - } - }, - "response": { - "payload": { - "SKUInboundGuidanceList": [ - { - "SellerSKU": "SellerSKU", - "ASIN": "ASIN", - "InboundGuidance": "InboundNotRecommended", - "GuidanceReasonList": [ - "SlowMovingASIN" - ] - } - ], - "InvalidSKUList": [ - { - "SellerSKU": "SellerSKU", - "ErrorReason": "DoesNotExist" - } - ], - "ASINInboundGuidanceList": [ - { - "ASIN": "ASIN", - "InboundGuidance": "InboundNotRecommended", - "GuidanceReasonList": [ - "SlowMovingASIN" - ] - } - ], - "InvalidASINList": [ - { - "ASIN": "ASIN", - "ErrorReason": "DoesNotExist" - } - ] - } - } - } - ] - } - }, - "400": { - "description": "Request has missing or invalid parameters and cannot be parsed.", - "schema": { - "$ref": "#/definitions/GetInboundGuidanceResponse" - }, - "headers": { - "x-amzn-RateLimit-Limit": { - "type": "string", - "description": "Your rate limit (requests per second) for this operation." - }, - "x-amzn-RequestId": { - "type": "string", - "description": "Unique request reference identifier." - } - }, - "x-amzn-api-sandbox": { - "static": [ - { - "request": { - "parameters": { - "MarketplaceId": { - "value": "BADVALUE" - }, - "SellerSKUList": { - "value": [ - "sku1", - "sku2" - ] - } - } - }, - "response": { - "errors": [ - { - "code": "Invalid Input", - "message": "MarketplaceId is incorrect" - } - ] - } - } - ] - } - }, - "401": { - "description": "The request's Authorization header is not formatted correctly or does not contain a valid token.", - "schema": { - "$ref": "#/definitions/GetInboundGuidanceResponse" - }, - "headers": { - "x-amzn-RateLimit-Limit": { - "type": "string", - "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." - }, - "x-amzn-RequestId": { - "type": "string", - "description": "Unique request reference identifier." - } - } - }, - "403": { - "description": "Indicates that access to the resource is forbidden. Possible reasons include Access Denied, Unauthorized, Expired Token, or Invalid Signature.", - "schema": { - "$ref": "#/definitions/GetInboundGuidanceResponse" - }, - "headers": { - "x-amzn-RequestId": { - "type": "string", - "description": "Unique request reference identifier." - } - } - }, - "404": { - "description": "The specified resource does not exist.", - "schema": { - "$ref": "#/definitions/GetInboundGuidanceResponse" - }, - "headers": { - "x-amzn-RateLimit-Limit": { - "type": "string", - "description": "Your rate limit (requests per second) for this operation." - }, - "x-amzn-RequestId": { - "type": "string", - "description": "Unique request reference identifier." - } - } - }, - "429": { - "description": "The frequency of requests was greater than allowed.", - "schema": { - "$ref": "#/definitions/GetInboundGuidanceResponse" - }, - "headers": { - "x-amzn-RateLimit-Limit": { - "type": "string", - "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." - }, - "x-amzn-RequestId": { - "type": "string", - "description": "Unique request reference identifier." - } - } - }, - "500": { - "description": "An unexpected condition occurred that prevented the server from fulfilling the request.", - "schema": { - "$ref": "#/definitions/GetInboundGuidanceResponse" - }, - "headers": { - "x-amzn-RateLimit-Limit": { - "type": "string", - "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." - }, - "x-amzn-RequestId": { - "type": "string", - "description": "Unique request reference identifier." - } - } - }, - "503": { - "description": "Temporary overloading or maintenance of the server.", - "schema": { - "$ref": "#/definitions/GetInboundGuidanceResponse" - }, - "headers": { - "x-amzn-RateLimit-Limit": { - "type": "string", - "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." - }, - "x-amzn-RequestId": { - "type": "string", - "description": "Unique request reference identifier." - } - } - } - } - } - }, "/fba/inbound/v0/plans": { "post": { "tags": [ @@ -279,6 +31,7 @@ ], "description": "Returns one or more inbound shipment plans, which provide the information you need to create one or more inbound shipments for a set of items that you specify. Multiple inbound shipment plans might be required so that items can be optimally placed in Amazon's fulfillment network—for example, positioning inventory closer to the customer. Alternatively, two inbound shipment plans might be created with the same Amazon fulfillment center destination if the two shipment plans require different processing—for example, items that require labels must be shipped separately from stickerless, commingled inventory.\n\n**Usage Plan:**\n\n| Rate (requests per second) | Burst |\n| ---- | ---- |\n| 2 | 30 |\n\nThe `x-amzn-RateLimit-Limit` response header returns the usage plan rate limits that were applied to the requested operation, when available. The table above indicates the default rate and burst values for this operation. Selling partners whose business demands require higher throughput may see higher rate and burst values than those shown here. For more information, see [Usage Plans and Rate Limits in the Selling Partner API](https://developer-docs.amazon.com/sp-api/docs/usage-plans-and-rate-limits-in-the-sp-api).", "operationId": "createInboundShipmentPlan", + "deprecated": true, "parameters": [ { "in": "body", @@ -286,7 +39,8 @@ "required": true, "schema": { "$ref": "#/definitions/CreateInboundShipmentPlanRequest" - } + }, + "description": "The request schema for the CreateInboundShipmentPlanRequest operation." } ], "responses": { @@ -465,10 +219,6 @@ "$ref": "#/definitions/CreateInboundShipmentPlanResponse" }, "headers": { - "x-amzn-RateLimit-Limit": { - "type": "string", - "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." - }, "x-amzn-RequestId": { "type": "string", "description": "Unique request reference identifier." @@ -509,10 +259,6 @@ "$ref": "#/definitions/CreateInboundShipmentPlanResponse" }, "headers": { - "x-amzn-RateLimit-Limit": { - "type": "string", - "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." - }, "x-amzn-RequestId": { "type": "string", "description": "Unique request reference identifier." @@ -525,10 +271,6 @@ "$ref": "#/definitions/CreateInboundShipmentPlanResponse" }, "headers": { - "x-amzn-RateLimit-Limit": { - "type": "string", - "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." - }, "x-amzn-RequestId": { "type": "string", "description": "Unique request reference identifier." @@ -541,10 +283,6 @@ "$ref": "#/definitions/CreateInboundShipmentPlanResponse" }, "headers": { - "x-amzn-RateLimit-Limit": { - "type": "string", - "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." - }, "x-amzn-RequestId": { "type": "string", "description": "Unique request reference identifier." @@ -561,6 +299,7 @@ ], "description": "Returns a new inbound shipment based on the specified shipmentId that was returned by the createInboundShipmentPlan operation.\n\n**Usage Plan:**\n\n| Rate (requests per second) | Burst |\n| ---- | ---- |\n| 2 | 30 |\n\nThe `x-amzn-RateLimit-Limit` response header returns the usage plan rate limits that were applied to the requested operation, when available. The table above indicates the default rate and burst values for this operation. Selling partners whose business demands require higher throughput may see higher rate and burst values than those shown here. For more information, see [Usage Plans and Rate Limits in the Selling Partner API](https://developer-docs.amazon.com/sp-api/docs/usage-plans-and-rate-limits-in-the-sp-api).", "operationId": "createInboundShipment", + "deprecated": true, "parameters": [ { "in": "body", @@ -568,7 +307,8 @@ "required": true, "schema": { "$ref": "#/definitions/InboundShipmentRequest" - } + }, + "description": "The request schema for the InboundShipmentRequest operation." }, { "name": "shipmentId", @@ -721,10 +461,6 @@ "$ref": "#/definitions/InboundShipmentResponse" }, "headers": { - "x-amzn-RateLimit-Limit": { - "type": "string", - "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." - }, "x-amzn-RequestId": { "type": "string", "description": "Unique request reference identifier." @@ -765,10 +501,6 @@ "$ref": "#/definitions/InboundShipmentResponse" }, "headers": { - "x-amzn-RateLimit-Limit": { - "type": "string", - "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." - }, "x-amzn-RequestId": { "type": "string", "description": "Unique request reference identifier." @@ -781,10 +513,6 @@ "$ref": "#/definitions/InboundShipmentResponse" }, "headers": { - "x-amzn-RateLimit-Limit": { - "type": "string", - "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." - }, "x-amzn-RequestId": { "type": "string", "description": "Unique request reference identifier." @@ -797,10 +525,6 @@ "$ref": "#/definitions/InboundShipmentResponse" }, "headers": { - "x-amzn-RateLimit-Limit": { - "type": "string", - "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." - }, "x-amzn-RequestId": { "type": "string", "description": "Unique request reference identifier." @@ -815,6 +539,7 @@ ], "description": "Updates or removes items from the inbound shipment identified by the specified shipment identifier. Adding new items is not supported.\n\n**Usage Plan:**\n\n| Rate (requests per second) | Burst |\n| ---- | ---- |\n| 2 | 30 |\n\nThe `x-amzn-RateLimit-Limit` response header returns the usage plan rate limits that were applied to the requested operation, when available. The table above indicates the default rate and burst values for this operation. Selling partners whose business demands require higher throughput may see higher rate and burst values than those shown here. For more information, see [Usage Plans and Rate Limits in the Selling Partner API](https://developer-docs.amazon.com/sp-api/docs/usage-plans-and-rate-limits-in-the-sp-api).", "operationId": "updateInboundShipment", + "deprecated": true, "parameters": [ { "in": "body", @@ -822,7 +547,8 @@ "required": true, "schema": { "$ref": "#/definitions/InboundShipmentRequest" - } + }, + "description": "The request schema for the InboundShipmentRequest operation." }, { "name": "shipmentId", @@ -958,10 +684,6 @@ "$ref": "#/definitions/InboundShipmentResponse" }, "headers": { - "x-amzn-RateLimit-Limit": { - "type": "string", - "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." - }, "x-amzn-RequestId": { "type": "string", "description": "Unique request reference identifier." @@ -1002,10 +724,6 @@ "$ref": "#/definitions/InboundShipmentResponse" }, "headers": { - "x-amzn-RateLimit-Limit": { - "type": "string", - "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." - }, "x-amzn-RequestId": { "type": "string", "description": "Unique request reference identifier." @@ -1018,10 +736,6 @@ "$ref": "#/definitions/InboundShipmentResponse" }, "headers": { - "x-amzn-RateLimit-Limit": { - "type": "string", - "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." - }, "x-amzn-RequestId": { "type": "string", "description": "Unique request reference identifier." @@ -1034,10 +748,6 @@ "$ref": "#/definitions/InboundShipmentResponse" }, "headers": { - "x-amzn-RateLimit-Limit": { - "type": "string", - "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." - }, "x-amzn-RequestId": { "type": "string", "description": "Unique request reference identifier." @@ -1054,6 +764,7 @@ ], "description": "Returns pre-order information, including dates, that a seller needs before confirming a shipment for pre-order. \n\n**Usage Plan:**\n\n| Rate (requests per second) | Burst |\n| ---- | ---- |\n| 2 | 30 |\n\nThe `x-amzn-RateLimit-Limit` response header returns the usage plan rate limits that were applied to the requested operation, when available. The table above indicates the default rate and burst values for this operation. Selling partners whose business demands require higher throughput may see higher rate and burst values than those shown here. For more information, see [Usage Plans and Rate Limits in the Selling Partner API](https://developer-docs.amazon.com/sp-api/docs/usage-plans-and-rate-limits-in-the-sp-api).", "operationId": "getPreorderInfo", + "deprecated": true, "parameters": [ { "name": "shipmentId", @@ -1157,10 +868,6 @@ "$ref": "#/definitions/GetPreorderInfoResponse" }, "headers": { - "x-amzn-RateLimit-Limit": { - "type": "string", - "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." - }, "x-amzn-RequestId": { "type": "string", "description": "Unique request reference identifier." @@ -1201,10 +908,6 @@ "$ref": "#/definitions/GetPreorderInfoResponse" }, "headers": { - "x-amzn-RateLimit-Limit": { - "type": "string", - "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." - }, "x-amzn-RequestId": { "type": "string", "description": "Unique request reference identifier." @@ -1217,10 +920,6 @@ "$ref": "#/definitions/GetPreorderInfoResponse" }, "headers": { - "x-amzn-RateLimit-Limit": { - "type": "string", - "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." - }, "x-amzn-RequestId": { "type": "string", "description": "Unique request reference identifier." @@ -1233,10 +932,6 @@ "$ref": "#/definitions/GetPreorderInfoResponse" }, "headers": { - "x-amzn-RateLimit-Limit": { - "type": "string", - "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." - }, "x-amzn-RequestId": { "type": "string", "description": "Unique request reference identifier." @@ -1253,6 +948,7 @@ ], "description": "Returns information needed to confirm a shipment for pre-order. Call this operation after calling the getPreorderInfo operation to get the NeedByDate value and other pre-order information about the shipment.\n\n**Usage Plan:**\n\n| Rate (requests per second) | Burst |\n| ---- | ---- |\n| 2 | 30 |\n\nThe `x-amzn-RateLimit-Limit` response header returns the usage plan rate limits that were applied to the requested operation, when available. The table above indicates the default rate and burst values for this operation. Selling partners whose business demands require higher throughput may see higher rate and burst values than those shown here. For more information, see [Usage Plans and Rate Limits in the Selling Partner API](https://developer-docs.amazon.com/sp-api/docs/usage-plans-and-rate-limits-in-the-sp-api).", "operationId": "confirmPreorder", + "deprecated": true, "parameters": [ { "name": "shipmentId", @@ -1368,10 +1064,6 @@ "$ref": "#/definitions/ConfirmPreorderResponse" }, "headers": { - "x-amzn-RateLimit-Limit": { - "type": "string", - "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." - }, "x-amzn-RequestId": { "type": "string", "description": "Unique request reference identifier." @@ -1412,10 +1104,6 @@ "$ref": "#/definitions/ConfirmPreorderResponse" }, "headers": { - "x-amzn-RateLimit-Limit": { - "type": "string", - "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." - }, "x-amzn-RequestId": { "type": "string", "description": "Unique request reference identifier." @@ -1428,10 +1116,6 @@ "$ref": "#/definitions/ConfirmPreorderResponse" }, "headers": { - "x-amzn-RateLimit-Limit": { - "type": "string", - "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." - }, "x-amzn-RequestId": { "type": "string", "description": "Unique request reference identifier." @@ -1444,10 +1128,6 @@ "$ref": "#/definitions/ConfirmPreorderResponse" }, "headers": { - "x-amzn-RateLimit-Limit": { - "type": "string", - "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." - }, "x-amzn-RequestId": { "type": "string", "description": "Unique request reference identifier." @@ -1625,10 +1305,6 @@ "$ref": "#/definitions/GetPrepInstructionsResponse" }, "headers": { - "x-amzn-RateLimit-Limit": { - "type": "string", - "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." - }, "x-amzn-RequestId": { "type": "string", "description": "Unique request reference identifier." @@ -1669,10 +1345,6 @@ "$ref": "#/definitions/GetPrepInstructionsResponse" }, "headers": { - "x-amzn-RateLimit-Limit": { - "type": "string", - "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." - }, "x-amzn-RequestId": { "type": "string", "description": "Unique request reference identifier." @@ -1685,10 +1357,6 @@ "$ref": "#/definitions/GetPrepInstructionsResponse" }, "headers": { - "x-amzn-RateLimit-Limit": { - "type": "string", - "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." - }, "x-amzn-RequestId": { "type": "string", "description": "Unique request reference identifier." @@ -1701,10 +1369,6 @@ "$ref": "#/definitions/GetPrepInstructionsResponse" }, "headers": { - "x-amzn-RateLimit-Limit": { - "type": "string", - "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." - }, "x-amzn-RequestId": { "type": "string", "description": "Unique request reference identifier." @@ -1721,6 +1385,7 @@ ], "description": "Returns current transportation information about an inbound shipment.\n\n**Usage Plan:**\n\n| Rate (requests per second) | Burst |\n| ---- | ---- |\n| 2 | 30 |\n\nThe `x-amzn-RateLimit-Limit` response header returns the usage plan rate limits that were applied to the requested operation, when available. The table above indicates the default rate and burst values for this operation. Selling partners whose business demands require higher throughput may see higher rate and burst values than those shown here. For more information, see [Usage Plans and Rate Limits in the Selling Partner API](https://developer-docs.amazon.com/sp-api/docs/usage-plans-and-rate-limits-in-the-sp-api).", "operationId": "getTransportDetails", + "deprecated": true, "parameters": [ { "name": "shipmentId", @@ -1838,10 +1503,6 @@ "$ref": "#/definitions/GetTransportDetailsResponse" }, "headers": { - "x-amzn-RateLimit-Limit": { - "type": "string", - "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." - }, "x-amzn-RequestId": { "type": "string", "description": "Unique request reference identifier." @@ -1882,10 +1543,6 @@ "$ref": "#/definitions/GetTransportDetailsResponse" }, "headers": { - "x-amzn-RateLimit-Limit": { - "type": "string", - "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." - }, "x-amzn-RequestId": { "type": "string", "description": "Unique request reference identifier." @@ -1898,10 +1555,6 @@ "$ref": "#/definitions/GetTransportDetailsResponse" }, "headers": { - "x-amzn-RateLimit-Limit": { - "type": "string", - "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." - }, "x-amzn-RequestId": { "type": "string", "description": "Unique request reference identifier." @@ -1914,10 +1567,6 @@ "$ref": "#/definitions/GetTransportDetailsResponse" }, "headers": { - "x-amzn-RateLimit-Limit": { - "type": "string", - "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." - }, "x-amzn-RequestId": { "type": "string", "description": "Unique request reference identifier." @@ -1932,6 +1581,7 @@ ], "description": "Sends transportation information to Amazon about an inbound shipment.\n\n**Usage Plan:**\n\n| Rate (requests per second) | Burst |\n| ---- | ---- |\n| 2 | 30 |\n\nThe `x-amzn-RateLimit-Limit` response header returns the usage plan rate limits that were applied to the requested operation, when available. The table above indicates the default rate and burst values for this operation. Selling partners whose business demands require higher throughput may see higher rate and burst values than those shown here. For more information, see [Usage Plans and Rate Limits in the Selling Partner API](https://developer-docs.amazon.com/sp-api/docs/usage-plans-and-rate-limits-in-the-sp-api).", "operationId": "putTransportDetails", + "deprecated": true, "parameters": [ { "name": "shipmentId", @@ -1946,7 +1596,8 @@ "required": true, "schema": { "$ref": "#/definitions/PutTransportDetailsRequest" - } + }, + "description": "The request schema for the PutTransportDetailsRequest operation." } ], "responses": { @@ -2171,10 +1822,6 @@ "$ref": "#/definitions/PutTransportDetailsResponse" }, "headers": { - "x-amzn-RateLimit-Limit": { - "type": "string", - "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." - }, "x-amzn-RequestId": { "type": "string", "description": "Unique request reference identifier." @@ -2215,10 +1862,6 @@ "$ref": "#/definitions/PutTransportDetailsResponse" }, "headers": { - "x-amzn-RateLimit-Limit": { - "type": "string", - "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." - }, "x-amzn-RequestId": { "type": "string", "description": "Unique request reference identifier." @@ -2231,10 +1874,6 @@ "$ref": "#/definitions/PutTransportDetailsResponse" }, "headers": { - "x-amzn-RateLimit-Limit": { - "type": "string", - "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." - }, "x-amzn-RequestId": { "type": "string", "description": "Unique request reference identifier." @@ -2247,10 +1886,6 @@ "$ref": "#/definitions/PutTransportDetailsResponse" }, "headers": { - "x-amzn-RateLimit-Limit": { - "type": "string", - "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." - }, "x-amzn-RequestId": { "type": "string", "description": "Unique request reference identifier." @@ -2267,6 +1902,7 @@ ], "description": "Cancels a previously-confirmed request to ship an inbound shipment using an Amazon-partnered carrier.\n\nTo be successful, you must call this operation before the VoidDeadline date that is returned by the getTransportDetails operation.\n\nImportant: The VoidDeadline date is 24 hours after you confirm a Small Parcel shipment transportation request or one hour after you confirm a Less Than Truckload/Full Truckload (LTL/FTL) shipment transportation request. After the void deadline passes, your account will be charged for the shipping cost.\n\n**Usage Plan:**\n\n| Rate (requests per second) | Burst |\n| ---- | ---- |\n| 2 | 30 |\n\nThe `x-amzn-RateLimit-Limit` response header returns the usage plan rate limits that were applied to the requested operation, when available. The table above indicates the default rate and burst values for this operation. Selling partners whose business demands require higher throughput may see higher rate and burst values than those shown here. For more information, see [Usage Plans and Rate Limits in the Selling Partner API](https://developer-docs.amazon.com/sp-api/docs/usage-plans-and-rate-limits-in-the-sp-api).", "operationId": "voidTransport", + "deprecated": true, "parameters": [ { "name": "shipmentId", @@ -2356,10 +1992,6 @@ "$ref": "#/definitions/VoidTransportResponse" }, "headers": { - "x-amzn-RateLimit-Limit": { - "type": "string", - "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." - }, "x-amzn-RequestId": { "type": "string", "description": "Unique request reference identifier." @@ -2400,10 +2032,6 @@ "$ref": "#/definitions/VoidTransportResponse" }, "headers": { - "x-amzn-RateLimit-Limit": { - "type": "string", - "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." - }, "x-amzn-RequestId": { "type": "string", "description": "Unique request reference identifier." @@ -2416,10 +2044,6 @@ "$ref": "#/definitions/VoidTransportResponse" }, "headers": { - "x-amzn-RateLimit-Limit": { - "type": "string", - "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." - }, "x-amzn-RequestId": { "type": "string", "description": "Unique request reference identifier." @@ -2432,10 +2056,6 @@ "$ref": "#/definitions/VoidTransportResponse" }, "headers": { - "x-amzn-RateLimit-Limit": { - "type": "string", - "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." - }, "x-amzn-RequestId": { "type": "string", "description": "Unique request reference identifier." @@ -2452,6 +2072,7 @@ ], "description": "Initiates the process of estimating the shipping cost for an inbound shipment by an Amazon-partnered carrier.\n\nPrior to calling the estimateTransport operation, you must call the putTransportDetails operation to provide Amazon with the transportation information for the inbound shipment.\n\n**Usage Plan:**\n\n| Rate (requests per second) | Burst |\n| ---- | ---- |\n| 2 | 30 |\n\nThe `x-amzn-RateLimit-Limit` response header returns the usage plan rate limits that were applied to the requested operation, when available. The table above indicates the default rate and burst values for this operation. Selling partners whose business demands require higher throughput may see higher rate and burst values than those shown here. For more information, see [Usage Plans and Rate Limits in the Selling Partner API](https://developer-docs.amazon.com/sp-api/docs/usage-plans-and-rate-limits-in-the-sp-api).", "operationId": "estimateTransport", + "deprecated": true, "parameters": [ { "name": "shipmentId", @@ -2541,10 +2162,6 @@ "$ref": "#/definitions/EstimateTransportResponse" }, "headers": { - "x-amzn-RateLimit-Limit": { - "type": "string", - "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." - }, "x-amzn-RequestId": { "type": "string", "description": "Unique request reference identifier." @@ -2585,10 +2202,6 @@ "$ref": "#/definitions/EstimateTransportResponse" }, "headers": { - "x-amzn-RateLimit-Limit": { - "type": "string", - "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." - }, "x-amzn-RequestId": { "type": "string", "description": "Unique request reference identifier." @@ -2601,10 +2214,6 @@ "$ref": "#/definitions/EstimateTransportResponse" }, "headers": { - "x-amzn-RateLimit-Limit": { - "type": "string", - "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." - }, "x-amzn-RequestId": { "type": "string", "description": "Unique request reference identifier." @@ -2617,10 +2226,6 @@ "$ref": "#/definitions/EstimateTransportResponse" }, "headers": { - "x-amzn-RateLimit-Limit": { - "type": "string", - "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." - }, "x-amzn-RequestId": { "type": "string", "description": "Unique request reference identifier." @@ -2637,6 +2242,7 @@ ], "description": "Confirms that the seller accepts the Amazon-partnered shipping estimate, agrees to allow Amazon to charge their account for the shipping cost, and requests that the Amazon-partnered carrier ship the inbound shipment.\n\nPrior to calling the confirmTransport operation, you should call the getTransportDetails operation to get the Amazon-partnered shipping estimate.\n\nImportant: After confirming the transportation request, if the seller decides that they do not want the Amazon-partnered carrier to ship the inbound shipment, you can call the voidTransport operation to cancel the transportation request. Note that for a Small Parcel shipment, the seller has 24 hours after confirming a transportation request to void the transportation request. For a Less Than Truckload/Full Truckload (LTL/FTL) shipment, the seller has one hour after confirming a transportation request to void it. After the grace period has expired the seller's account will be charged for the shipping cost.\n\n**Usage Plan:**\n\n| Rate (requests per second) | Burst |\n| ---- | ---- |\n| 2 | 30 |\n\nThe `x-amzn-RateLimit-Limit` response header returns the usage plan rate limits that were applied to the requested operation, when available. The table above indicates the default rate and burst values for this operation. Selling partners whose business demands require higher throughput may see higher rate and burst values than those shown here. For more information, see [Usage Plans and Rate Limits in the Selling Partner API](https://developer-docs.amazon.com/sp-api/docs/usage-plans-and-rate-limits-in-the-sp-api).", "operationId": "confirmTransport", + "deprecated": true, "parameters": [ { "name": "shipmentId", @@ -2726,10 +2332,6 @@ "$ref": "#/definitions/ConfirmTransportResponse" }, "headers": { - "x-amzn-RateLimit-Limit": { - "type": "string", - "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." - }, "x-amzn-RequestId": { "type": "string", "description": "Unique request reference identifier." @@ -2770,10 +2372,6 @@ "$ref": "#/definitions/ConfirmTransportResponse" }, "headers": { - "x-amzn-RateLimit-Limit": { - "type": "string", - "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." - }, "x-amzn-RequestId": { "type": "string", "description": "Unique request reference identifier." @@ -2786,10 +2384,6 @@ "$ref": "#/definitions/ConfirmTransportResponse" }, "headers": { - "x-amzn-RateLimit-Limit": { - "type": "string", - "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." - }, "x-amzn-RequestId": { "type": "string", "description": "Unique request reference identifier." @@ -2802,10 +2396,6 @@ "$ref": "#/definitions/ConfirmTransportResponse" }, "headers": { - "x-amzn-RateLimit-Limit": { - "type": "string", - "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." - }, "x-amzn-RequestId": { "type": "string", "description": "Unique request reference identifier." @@ -2942,8 +2532,7 @@ "type": "array", "items": { "type": "string" - }, - "maxItems": 999 + } }, { "name": "NumberOfPallets", @@ -3057,10 +2646,6 @@ "$ref": "#/definitions/GetLabelsResponse" }, "headers": { - "x-amzn-RateLimit-Limit": { - "type": "string", - "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." - }, "x-amzn-RequestId": { "type": "string", "description": "Unique request reference identifier." @@ -3101,10 +2686,6 @@ "$ref": "#/definitions/GetLabelsResponse" }, "headers": { - "x-amzn-RateLimit-Limit": { - "type": "string", - "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." - }, "x-amzn-RequestId": { "type": "string", "description": "Unique request reference identifier." @@ -3117,10 +2698,6 @@ "$ref": "#/definitions/GetLabelsResponse" }, "headers": { - "x-amzn-RateLimit-Limit": { - "type": "string", - "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." - }, "x-amzn-RequestId": { "type": "string", "description": "Unique request reference identifier." @@ -3133,10 +2710,6 @@ "$ref": "#/definitions/GetLabelsResponse" }, "headers": { - "x-amzn-RateLimit-Limit": { - "type": "string", - "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." - }, "x-amzn-RequestId": { "type": "string", "description": "Unique request reference identifier." @@ -3240,10 +2813,6 @@ "$ref": "#/definitions/GetBillOfLadingResponse" }, "headers": { - "x-amzn-RateLimit-Limit": { - "type": "string", - "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." - }, "x-amzn-RequestId": { "type": "string", "description": "Unique request reference identifier." @@ -3284,10 +2853,6 @@ "$ref": "#/definitions/GetBillOfLadingResponse" }, "headers": { - "x-amzn-RateLimit-Limit": { - "type": "string", - "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." - }, "x-amzn-RequestId": { "type": "string", "description": "Unique request reference identifier." @@ -3300,10 +2865,6 @@ "$ref": "#/definitions/GetBillOfLadingResponse" }, "headers": { - "x-amzn-RateLimit-Limit": { - "type": "string", - "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." - }, "x-amzn-RequestId": { "type": "string", "description": "Unique request reference identifier." @@ -3316,10 +2877,6 @@ "$ref": "#/definitions/GetBillOfLadingResponse" }, "headers": { - "x-amzn-RateLimit-Limit": { - "type": "string", - "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." - }, "x-amzn-RequestId": { "type": "string", "description": "Unique request reference identifier." @@ -3336,6 +2893,7 @@ ], "description": "Returns a list of inbound shipments based on criteria that you specify.\n\n**Usage Plan:**\n\n| Rate (requests per second) | Burst |\n| ---- | ---- |\n| 2 | 30 |\n\nThe `x-amzn-RateLimit-Limit` response header returns the usage plan rate limits that were applied to the requested operation, when available. The table above indicates the default rate and burst values for this operation. Selling partners whose business demands require higher throughput may see higher rate and burst values than those shown here. For more information, see [Usage Plans and Rate Limits in the Selling Partner API](https://developer-docs.amazon.com/sp-api/docs/usage-plans-and-rate-limits-in-the-sp-api).", "operationId": "getShipments", + "deprecated": true, "parameters": [ { "name": "ShipmentStatusList", @@ -3414,7 +2972,8 @@ "type": "array", "items": { "type": "string" - } + }, + "maxItems": 999 }, { "name": "LastUpdatedAfter", @@ -3575,10 +3134,6 @@ "$ref": "#/definitions/GetShipmentsResponse" }, "headers": { - "x-amzn-RateLimit-Limit": { - "type": "string", - "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." - }, "x-amzn-RequestId": { "type": "string", "description": "Unique request reference identifier." @@ -3619,10 +3174,6 @@ "$ref": "#/definitions/GetShipmentsResponse" }, "headers": { - "x-amzn-RateLimit-Limit": { - "type": "string", - "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." - }, "x-amzn-RequestId": { "type": "string", "description": "Unique request reference identifier." @@ -3635,10 +3186,6 @@ "$ref": "#/definitions/GetShipmentsResponse" }, "headers": { - "x-amzn-RateLimit-Limit": { - "type": "string", - "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." - }, "x-amzn-RequestId": { "type": "string", "description": "Unique request reference identifier." @@ -3651,10 +3198,6 @@ "$ref": "#/definitions/GetShipmentsResponse" }, "headers": { - "x-amzn-RateLimit-Limit": { - "type": "string", - "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." - }, "x-amzn-RequestId": { "type": "string", "description": "Unique request reference identifier." @@ -3671,6 +3214,7 @@ ], "description": "Returns a list of items in a specified inbound shipment.\n\n**Usage Plan:**\n\n| Rate (requests per second) | Burst |\n| ---- | ---- |\n| 2 | 30 |\n\nThe `x-amzn-RateLimit-Limit` response header returns the usage plan rate limits that were applied to the requested operation, when available. The table above indicates the default rate and burst values for this operation. Selling partners whose business demands require higher throughput may see higher rate and burst values than those shown here. For more information, see [Usage Plans and Rate Limits in the Selling Partner API](https://developer-docs.amazon.com/sp-api/docs/usage-plans-and-rate-limits-in-the-sp-api).", "operationId": "getShipmentItemsByShipmentId", + "deprecated": true, "parameters": [ { "name": "shipmentId", @@ -3792,10 +3336,6 @@ "$ref": "#/definitions/GetShipmentItemsResponse" }, "headers": { - "x-amzn-RateLimit-Limit": { - "type": "string", - "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." - }, "x-amzn-RequestId": { "type": "string", "description": "Unique request reference identifier." @@ -3836,10 +3376,6 @@ "$ref": "#/definitions/GetShipmentItemsResponse" }, "headers": { - "x-amzn-RateLimit-Limit": { - "type": "string", - "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." - }, "x-amzn-RequestId": { "type": "string", "description": "Unique request reference identifier." @@ -3852,10 +3388,6 @@ "$ref": "#/definitions/GetShipmentItemsResponse" }, "headers": { - "x-amzn-RateLimit-Limit": { - "type": "string", - "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." - }, "x-amzn-RequestId": { "type": "string", "description": "Unique request reference identifier." @@ -3868,10 +3400,6 @@ "$ref": "#/definitions/GetShipmentItemsResponse" }, "headers": { - "x-amzn-RateLimit-Limit": { - "type": "string", - "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." - }, "x-amzn-RequestId": { "type": "string", "description": "Unique request reference identifier." @@ -3888,6 +3416,7 @@ ], "description": "Returns a list of items in a specified inbound shipment, or a list of items that were updated within a specified time frame.\n\n**Usage Plan:**\n\n| Rate (requests per second) | Burst |\n| ---- | ---- |\n| 2 | 30 |\n\nThe `x-amzn-RateLimit-Limit` response header returns the usage plan rate limits that were applied to the requested operation, when available. The table above indicates the default rate and burst values for this operation. Selling partners whose business demands require higher throughput may see higher rate and burst values than those shown here. For more information, see [Usage Plans and Rate Limits in the Selling Partner API](https://developer-docs.amazon.com/sp-api/docs/usage-plans-and-rate-limits-in-the-sp-api).", "operationId": "getShipmentItems", + "deprecated": true, "parameters": [ { "name": "LastUpdatedAfter", @@ -4092,10 +3621,6 @@ "$ref": "#/definitions/GetShipmentItemsResponse" }, "headers": { - "x-amzn-RateLimit-Limit": { - "type": "string", - "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." - }, "x-amzn-RequestId": { "type": "string", "description": "Unique request reference identifier." @@ -4136,10 +3661,6 @@ "$ref": "#/definitions/GetShipmentItemsResponse" }, "headers": { - "x-amzn-RateLimit-Limit": { - "type": "string", - "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." - }, "x-amzn-RequestId": { "type": "string", "description": "Unique request reference identifier." @@ -4152,10 +3673,6 @@ "$ref": "#/definitions/GetShipmentItemsResponse" }, "headers": { - "x-amzn-RateLimit-Limit": { - "type": "string", - "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." - }, "x-amzn-RequestId": { "type": "string", "description": "Unique request reference identifier." @@ -4168,10 +3685,6 @@ "$ref": "#/definitions/GetShipmentItemsResponse" }, "headers": { - "x-amzn-RateLimit-Limit": { - "type": "string", - "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." - }, "x-amzn-RequestId": { "type": "string", "description": "Unique request reference identifier." @@ -4268,6 +3781,7 @@ }, "Address": { "type": "object", + "description": "Specific details to identify a place.", "required": [ "AddressLine1", "City", @@ -4379,7 +3893,8 @@ }, "BigDecimalType": { "type": "number", - "format": "double" + "format": "double", + "description": "Number format that supports decimal." }, "BoxContentsFeeDetails": { "type": "object", @@ -4536,7 +4051,8 @@ "description": "Date that determines which pre-order items in the shipment are eligible for pre-order. The pre-order Buy Box will appear for any pre-order item in the shipment with a release date on or after this date. In YYYY-MM-DD format.", "$ref": "#/definitions/DateStringType" } - } + }, + "description": "Result for confirm preorder operation" }, "ConfirmPreorderResponse": { "type": "object", @@ -4557,7 +4073,8 @@ "TransportResult": { "$ref": "#/definitions/TransportResult" } - } + }, + "description": "Common container for transport result" }, "ConfirmTransportResponse": { "type": "object", @@ -4639,7 +4156,8 @@ "InboundShipmentPlans": { "$ref": "#/definitions/InboundShipmentPlanList" } - } + }, + "description": "Result for the create inbound shipment operation" }, "CreateInboundShipmentPlanResponse": { "type": "object", @@ -4685,7 +4203,8 @@ "type": "string", "description": "The shipment identifier submitted in the request." } - } + }, + "description": "Result of an inbound shipment operation" }, "InboundShipmentResponse": { "type": "object", @@ -4720,7 +4239,8 @@ }, "DateStringType": { "type": "string", - "format": "date" + "format": "date", + "description": "Type containing date in string format" }, "Dimensions": { "type": "object", @@ -4809,20 +4329,8 @@ "InvalidASINList": { "$ref": "#/definitions/InvalidASINList" } - } - }, - "GetInboundGuidanceResponse": { - "type": "object", - "properties": { - "payload": { - "description": "The payload for the getInboundGuidance operation.", - "$ref": "#/definitions/GetInboundGuidanceResult" - }, - "errors": { - "$ref": "#/definitions/ErrorList" - } }, - "description": "The response schema for the getInboundGuidance operation." + "description": "Result for the get inbound guidance operation" }, "LabelDownloadURL": { "type": "object", @@ -4831,7 +4339,8 @@ "type": "string", "description": "URL to download the label for the package. Note: The URL will only be valid for 15 seconds" } - } + }, + "description": "Download URL for a label" }, "BillOfLadingDownloadURL": { "type": "object", @@ -4840,7 +4349,8 @@ "type": "string", "description": "URL to download the bill of lading for the package. Note: The URL will only be valid for 15 seconds" } - } + }, + "description": "Download URL for the bill of lading." }, "GetLabelsResponse": { "type": "object", @@ -4874,7 +4384,8 @@ "description": "Date in YYYY-MM-DD format that determines which pre-order items in the shipment are eligible for pre-order. If this shipment is confirmed for pre-order with a subsequent call to the confirmPreorder operation, the pre-order Buy Box will appear for any pre-order items in the shipment with a release date on or after this date. Call the getShipmentItems operation to get the release dates for the pre-order items in this shipment.", "$ref": "#/definitions/DateStringType" } - } + }, + "description": "Result for the get preorder info operation" }, "GetPreorderInfoResponse": { "type": "object", @@ -4905,7 +4416,8 @@ "InvalidASINList": { "$ref": "#/definitions/InvalidASINList" } - } + }, + "description": "Result for the get prep instructions operation" }, "GetPrepInstructionsResponse": { "type": "object", @@ -4926,7 +4438,8 @@ "TransportContent": { "$ref": "#/definitions/TransportContent" } - } + }, + "description": "Result for the get transport details operation" }, "GetTransportDetailsResponse": { "type": "object", @@ -5237,7 +4750,8 @@ "type": "array", "items": { "$ref": "#/definitions/InboundShipmentPlanRequestItem" - } + }, + "description": "List of inbound shipment plan requests" }, "IntendedBoxContentsSource": { "type": "string", @@ -5273,7 +4787,8 @@ "description": "The reason that the ASIN is invalid.", "$ref": "#/definitions/ErrorReason" } - } + }, + "description": "Contains details about an invalid ASIN" }, "InvalidASINList": { "type": "array", @@ -5293,7 +4808,8 @@ "description": "The reason why the seller SKU is invalid.", "$ref": "#/definitions/ErrorReason" } - } + }, + "description": "Contains detail about an invalid SKU" }, "InvalidSKUList": { "type": "array", @@ -5359,7 +4875,8 @@ "type": "string", "description": "When present and not empty, pass this string token in the next request to return the next response page." } - } + }, + "description": "Result for the get shipment items operation" }, "GetShipmentItemsResponse": { "type": "object", @@ -5385,7 +4902,8 @@ "type": "string", "description": "When present and not empty, pass this string token in the next request to return the next response page." } - } + }, + "description": "Result for the get shipments operation" }, "GetShipmentsResponse": { "type": "object", @@ -6245,7 +5763,8 @@ }, "TimeStampStringType": { "type": "string", - "format": "date-time" + "format": "date-time", + "description": "Timestamp in ISO 8601 format." }, "TrackingId": { "type": "string", @@ -6455,7 +5974,8 @@ }, "UnsignedIntType": { "type": "integer", - "format": "int64" + "format": "int64", + "description": "Contains an unsigned integer" }, "VoidTransportResponse": { "type": "object", From 9891598925083c59216dd7c671adb0321429ff66 Mon Sep 17 00:00:00 2001 From: Jack Evoniuk Date: Wed, 27 Mar 2024 11:27:50 -0700 Subject: [PATCH 230/340] Update Merchant Fulfillment model --- .../merchantFulfillmentV0.json | 1220 ++++------------- 1 file changed, 284 insertions(+), 936 deletions(-) diff --git a/models/merchant-fulfillment-api-model/merchantFulfillmentV0.json b/models/merchant-fulfillment-api-model/merchantFulfillmentV0.json index 25f184218..64e4dad87 100644 --- a/models/merchant-fulfillment-api-model/merchantFulfillmentV0.json +++ b/models/merchant-fulfillment-api-model/merchantFulfillmentV0.json @@ -24,14 +24,13 @@ "application/json" ], "paths": { - "/mfn/v0/eligibleServices": { + "/mfn/v0/eligibleShippingServices": { "post": { "tags": [ "merchantFulfillment" ], - "deprecated": true, - "description": "Returns a list of shipping service offers that satisfy the specified shipment request details.\n\n**Usage Plan:**\n\n| Rate (requests per second) | Burst |\n| ---- | ---- |\n| 1 | 1 |\n\nThe `x-amzn-RateLimit-Limit` response header returns the usage plan rate limits that were applied to the requested operation, when available. The table above indicates the default rate and burst values for this operation. Selling partners whose business demands require higher throughput may see higher rate and burst values than those shown here. For more information, see [Usage Plans and Rate Limits in the Selling Partner API](https://developer-docs.amazon.com/sp-api/docs/usage-plans-and-rate-limits-in-the-sp-api).", - "operationId": "getEligibleShipmentServicesOld", + "description": "Returns a list of shipping service offers that satisfy the specified shipment request details.\n\n**Usage Plan:**\n\n| Rate (requests per second) | Burst |\n| ---- | ---- |\n| 5 | 10 |\n\nThe `x-amzn-RateLimit-Limit` response header returns the usage plan rate limits that were applied to the requested operation, when available. The table above indicates the default rate and burst values for this operation. Selling partners whose business demands require higher throughput may see higher rate and burst values than those shown here. For more information, see [Usage Plans and Rate Limits in the Selling Partner API](https://developer-docs.amazon.com/sp-api/docs/usage-plans-and-rate-limits-in-the-sp-api).", + "operationId": "getEligibleShipmentServices", "parameters": [ { "in": "body", @@ -373,28 +372,28 @@ } } }, - "/mfn/v0/eligibleShippingServices": { - "post": { + "/mfn/v0/shipments/{shipmentId}": { + "get": { "tags": [ "merchantFulfillment" ], - "description": "Returns a list of shipping service offers that satisfy the specified shipment request details.\n\n**Usage Plan:**\n\n| Rate (requests per second) | Burst |\n| ---- | ---- |\n| 5 | 10 |\n\nThe `x-amzn-RateLimit-Limit` response header returns the usage plan rate limits that were applied to the requested operation, when available. The table above indicates the default rate and burst values for this operation. Selling partners whose business demands require higher throughput may see higher rate and burst values than those shown here. For more information, see [Usage Plans and Rate Limits in the Selling Partner API](https://developer-docs.amazon.com/sp-api/docs/usage-plans-and-rate-limits-in-the-sp-api).", - "operationId": "getEligibleShipmentServices", + "description": "Returns the shipment information for an existing shipment.\n\n**Usage Plan:**\n\n| Rate (requests per second) | Burst |\n| ---- | ---- |\n| 1 | 1 |\n\nThe `x-amzn-RateLimit-Limit` response header returns the usage plan rate limits that were applied to the requested operation, when available. The table above indicates the default rate and burst values for this operation. Selling partners whose business demands require higher throughput may see higher rate and burst values than those shown here. For more information, see [Usage Plans and Rate Limits in the Selling Partner API](https://developer-docs.amazon.com/sp-api/docs/usage-plans-and-rate-limits-in-the-sp-api).", + "operationId": "getShipment", "parameters": [ { - "in": "body", - "name": "body", + "name": "shipmentId", + "in": "path", + "description": "The Amazon-defined shipment identifier for the shipment.", "required": true, - "schema": { - "$ref": "#/definitions/GetEligibleShipmentServicesRequest" - } + "type": "string", + "pattern": "[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}" } ], "responses": { "200": { "description": "Success", "schema": { - "$ref": "#/definitions/GetEligibleShipmentServicesResponse" + "$ref": "#/definitions/GetShipmentResponse" }, "headers": { "x-amzn-RateLimit-Limit": { @@ -411,142 +410,92 @@ { "request": { "parameters": { - "body": { - "value": { - "ShipmentRequestDetails": { - "AmazonOrderId": "903-5563053-5647845", - "ItemList": [ - { - "OrderItemId": "52986411826454", - "Quantity": 1 - } - ], - "ShipFromAddress": { - "Name": "John Doe", - "AddressLine1": "300 Turnbull Ave", - "Email": "jdoeasdfllkj@yahoo.com", - "City": "Detroit", - "StateOrProvinceCode": "MI", - "PostalCode": "48123", - "CountryCode": "US", - "Phone": "7132341234" - }, - "PackageDimensions": { - "Length": 10.25, - "Width": 10.25, - "Height": 10.25, - "Unit": "inches" - }, - "Weight": { - "Value": 10.25, - "Unit": "oz" - }, - "ShippingServiceOptions": { - "DeliveryExperience": "NoTracking", - "CarrierWillPickUp": false, - "CarrierWillPickUpOption": "ShipperWillDropOff" - } - } - } + "shipmentId": { + "value": "abcddcba-00c3-4f6f-a63a-639f76ee9253" } } }, "response": { "payload": { - "ShippingServiceList": [ - { - "ShippingServiceName": "UPS 2nd Day Air\u00AE", - "CarrierName": "UPS\u00AE", - "ShippingServiceId": "UPS_PTP_2ND_DAY_AIR", - "ShippingServiceOfferId": "WHgxtyn6qjGGaCzOCog1azF5HLHje5Pz3Lc2Fmt5eKoZAReW8oJ1SMumuBS8lA/Hjuglhyiu0+KRLvyJxFV0PB9YFMDhygs3VyTL0WGYkGxiuRkmuEvpqldUn9rrkWVodqnR4vx2VtXvtER/Ju6RqYoddJZGy6RS2KLzzhQ2NclN0NYXMZVqpOe5RsRBddXaGuJr7oza3M52+JzChocAHzcurIhCRynpbxfmNLzZMQEbgnpGLzuaoSMzfxg90/NaXFR/Ou01du/uKd5AbfMW/AxAKP9ht6Oi9lDHq6WkGqvjkVLW0/jj/fBgblIwcs+t", - "ShipDate": "2019-10-28T16:36:36Z", - "EarliestEstimatedDeliveryDate": "2019-10-31T06:00:00Z", - "LatestEstimatedDeliveryDate": "2019-10-31T06:00:00Z", - "Rate": { - "CurrencyCode": "USD", - "Amount": 34.73 - }, - "ShippingServiceOptions": { - "DeliveryExperience": "NoTracking", - "CarrierWillPickUp": false, - "LabelFormat": "" - }, - "AvailableLabelFormats": [ - "ZPL203", - "ShippingServiceDefault", - "PDF", - "PNG" - ], - "AvailableFormatOptionsForLabel": [ - { - "LabelFormat": "ZPL203" - }, - { - "LabelFormat": "ShippingServiceDefault" - }, - { - "LabelFormat": "PDF" - }, - { - "LabelFormat": "PNG" - } - ] - }, + "ShipmentId": "abcddcba-00c3-4f6f-a63a-639f76ee9253", + "AmazonOrderId": "903-5563053-5647845", + "SellerOrderId": "903-5563053-5647845", + "Insurance": { + "CurrencyCode": "USD", + "Amount": 0.0 + }, + "ItemList": [ { - "ShippingServiceName": "UPS Next Day Air Saver\u00AE", - "CarrierName": "UPS\u00AE", - "ShippingServiceId": "UPS_PTP_NEXT_DAY_AIR_SAVER", - "ShippingServiceOfferId": "WHgxtyn6qjGGaCzOCog1azF5HLHje5Pz3Lc2Fmt5eKqqhKGQ2YZmuxsXKVXmdgdWNvfxb1qfm5bGm8NuqlqnNT3eTiJ4viTctepggbeUKUSykClJ+Qmw43zdA8wsgREhQCmb4Bbo/skapLQS1F9uwH2FgY5SfMsj/egudyocpVRT45KSQAT0H5YiXW3OyyRAae9fZ0RzDJAABHiisOyYyXnB1mtWOZqc7rlGR4yyqN7jmiT4t8dmuGPX7ptY4qskrN+6VHZO9bM9tdDS0ysHhAVv4jO3Q5sWFg4nEPaARWSsrpa6zSGMLxAOj56O3tcP", - "ShipDate": "2019-10-28T16:36:36Z", - "EarliestEstimatedDeliveryDate": "2019-10-30T06:00:00Z", - "LatestEstimatedDeliveryDate": "2019-10-30T06:00:00Z", - "Rate": { - "CurrencyCode": "USD", - "Amount": 98.75 - }, - "ShippingServiceOptions": { - "DeliveryExperience": "NoTracking", - "CarrierWillPickUp": false, - "LabelFormat": "" - }, - "AvailableLabelFormats": [ - "ZPL203", - "ShippingServiceDefault", - "PDF", - "PNG" - ], - "AvailableFormatOptionsForLabel": [ - { - "LabelFormat": "ZPL203" - }, - { - "LabelFormat": "ShippingServiceDefault" - }, - { - "LabelFormat": "PDF" - }, - { - "LabelFormat": "PNG" - } - ] + "OrderItemId": "12958298061782", + "Quantity": 1 } ], - "TemporarilyUnavailableCarrierList": [ - { - "CarrierName": "UPS\u00AE" + "ShipFromAddress": { + "Name": "John Doe", + "AddressLine1": "300 Turnbull Ave", + "Email": "jdoeasdfllkj@yahoo.com", + "City": "Detroit", + "StateOrProvinceCode": "MI", + "PostalCode": "48123", + "CountryCode": "US", + "Phone": "7132341234" + }, + "ShipToAddress": { + "Name": "New York", + "AddressLine1": "TIME WARNER CENTER", + "AddressLine2": "10 COLUMBUS CIR", + "Email": "", + "City": "NEW YORK", + "StateOrProvinceCode": "NY", + "PostalCode": "10019-1158", + "CountryCode": "US", + "Phone": "" + }, + "PackageDimensions": { + "Length": 10.25, + "Width": 10.25, + "Height": 10.25, + "Unit": "inches" + }, + "Weight": { + "Value": 10.25, + "Unit": "oz" + }, + "ShippingService": { + "ShippingServiceName": "UPS 2nd Day Air\u00AE", + "CarrierName": "UPS\u00AE", + "ShippingServiceId": "UPS_PTP_2ND_DAY_AIR", + "ShippingServiceOfferId": "", + "ShipDate": "2019-10-28T18:00:00Z", + "Rate": { + "CurrencyCode": "USD", + "Amount": 34.73 }, - { - "CarrierName": "DHLECOMMERCE" - } - ], - "TermsAndConditionsNotAcceptedCarrierList": [ - { - "CarrierName": "YANWEN" + "ShippingServiceOptions": { + "DeliveryExperience": "DeliveryConfirmationWithoutSignature", + "DeclaredValue": { + "CurrencyCode": "USD", + "Amount": 0.0 + } }, - { - "CarrierName": "CHINA_POST" + "RequiresAdditionalSellerInputs": false + }, + "Label": { + "Dimensions": { + "Length": 6.0, + "Width": 4.0, + "Unit": "inches" + }, + "FileContents": { + "Contents": "H4sIAAAAAAAAAOS6dV", + "FileType": "image/png", + "Checksum": "9ALVyphCKfc3+Lb2ssyh8A==" } - ] + }, + "Status": "Purchased", + "TrackingId": "1Z17E2100206868939", + "CreatedDate": "2019-10-28T18:29:34Z", + "LastUpdatedDate": "2019-10-28T18:30:35Z" } } } @@ -556,562 +505,7 @@ "400": { "description": "Request has missing or invalid parameters and cannot be parsed.", "schema": { - "$ref": "#/definitions/GetEligibleShipmentServicesResponse" - }, - "headers": { - "x-amzn-RateLimit-Limit": { - "type": "string", - "description": "Your rate limit (requests per second) for this operation." - }, - "x-amzn-RequestId": { - "type": "string", - "description": "Unique request reference identifier." - } - }, - "x-amzn-api-sandbox": { - "static": [ - { - "request": { - "parameters": { - "body": { - "value": { - "ShipmentRequestDetails": { - "AmazonOrderId": "TEST_CASE_400", - "ItemList": [ - { - "OrderItemId": "52986411826454", - "Quantity": 1 - } - ], - "ShipFromAddress": { - "Name": "John Doe", - "AddressLine1": "300 Turnbull Ave", - "Email": "jdoeasdfllkj@yahoo.com", - "City": "Detroit", - "StateOrProvinceCode": "MI", - "PostalCode": "48123", - "CountryCode": "USA", - "Phone": "7132341234" - }, - "PackageDimensions": { - "Length": 10.25, - "Width": 10.25, - "Height": 10.25, - "Unit": "inches" - }, - "Weight": { - "Value": 10.25, - "Unit": "oz" - }, - "ShippingServiceOptions": { - "DeliveryExperience": "NoTracking", - "CarrierWillPickUp": false, - "CarrierWillPickUpOption": "ShipperWillDropOff" - } - } - } - } - } - }, - "response": { - "errors": [ - { - "code": "InvalidInput", - "message": "1 validation error detected: Value 'USA' at 'shipmentRequestDetails.shipFromAddress.countryCode' failed to satisfy constraint: Member must have length less than or equal to 2", - "details": "" - } - ] - } - } - ] - } - }, - "401": { - "description": "The request's Authorization header is not formatted correctly or does not contain a valid token.", - "schema": { - "$ref": "#/definitions/GetEligibleShipmentServicesResponse" - }, - "headers": { - "x-amzn-RateLimit-Limit": { - "type": "string", - "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." - }, - "x-amzn-RequestId": { - "type": "string", - "description": "Unique request reference identifier." - } - } - }, - "403": { - "description": "Indicates that access to the resource is forbidden. Possible reasons include Access Denied, Unauthorized, Expired Token, or Invalid Signature.", - "schema": { - "$ref": "#/definitions/GetEligibleShipmentServicesResponse" - }, - "headers": { - "x-amzn-RequestId": { - "type": "string", - "description": "Unique request reference identifier." - } - } - }, - "404": { - "description": "The specified resource does not exist.", - "schema": { - "$ref": "#/definitions/GetEligibleShipmentServicesResponse" - }, - "headers": { - "x-amzn-RateLimit-Limit": { - "type": "string", - "description": "Your rate limit (requests per second) for this operation." - }, - "x-amzn-RequestId": { - "type": "string", - "description": "Unique request reference identifier." - } - } - }, - "429": { - "description": "The frequency of requests was greater than allowed.", - "schema": { - "$ref": "#/definitions/GetEligibleShipmentServicesResponse" - }, - "headers": { - "x-amzn-RateLimit-Limit": { - "type": "string", - "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." - }, - "x-amzn-RequestId": { - "type": "string", - "description": "Unique request reference identifier." - } - } - }, - "500": { - "description": "An unexpected condition occurred that prevented the server from fulfilling the request.", - "schema": { - "$ref": "#/definitions/GetEligibleShipmentServicesResponse" - }, - "headers": { - "x-amzn-RateLimit-Limit": { - "type": "string", - "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." - }, - "x-amzn-RequestId": { - "type": "string", - "description": "Unique request reference identifier." - } - } - }, - "503": { - "description": "Temporary overloading or maintenance of the server.", - "schema": { - "$ref": "#/definitions/GetEligibleShipmentServicesResponse" - }, - "headers": { - "x-amzn-RateLimit-Limit": { - "type": "string", - "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." - }, - "x-amzn-RequestId": { - "type": "string", - "description": "Unique request reference identifier." - } - } - } - } - } - }, - "/mfn/v0/shipments/{shipmentId}": { - "get": { - "tags": [ - "merchantFulfillment" - ], - "description": "Returns the shipment information for an existing shipment.\n\n**Usage Plan:**\n\n| Rate (requests per second) | Burst |\n| ---- | ---- |\n| 1 | 1 |\n\nThe `x-amzn-RateLimit-Limit` response header returns the usage plan rate limits that were applied to the requested operation, when available. The table above indicates the default rate and burst values for this operation. Selling partners whose business demands require higher throughput may see higher rate and burst values than those shown here. For more information, see [Usage Plans and Rate Limits in the Selling Partner API](https://developer-docs.amazon.com/sp-api/docs/usage-plans-and-rate-limits-in-the-sp-api).", - "operationId": "getShipment", - "parameters": [ - { - "name": "shipmentId", - "in": "path", - "description": "The Amazon-defined shipment identifier for the shipment.", - "required": true, - "type": "string", - "pattern": "[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}" - } - ], - "responses": { - "200": { - "description": "Success", - "schema": { - "$ref": "#/definitions/GetShipmentResponse" - }, - "headers": { - "x-amzn-RateLimit-Limit": { - "type": "string", - "description": "Your rate limit (requests per second) for this operation." - }, - "x-amzn-RequestId": { - "type": "string", - "description": "Unique request reference identifier." - } - }, - "x-amzn-api-sandbox": { - "static": [ - { - "request": { - "parameters": { - "shipmentId": { - "value": "abcddcba-00c3-4f6f-a63a-639f76ee9253" - } - } - }, - "response": { - "payload": { - "ShipmentId": "abcddcba-00c3-4f6f-a63a-639f76ee9253", - "AmazonOrderId": "903-5563053-5647845", - "SellerOrderId": "903-5563053-5647845", - "Insurance": { - "CurrencyCode": "USD", - "Amount": 0.0 - }, - "ItemList": [ - { - "OrderItemId": "12958298061782", - "Quantity": 1 - } - ], - "ShipFromAddress": { - "Name": "John Doe", - "AddressLine1": "300 Turnbull Ave", - "Email": "jdoeasdfllkj@yahoo.com", - "City": "Detroit", - "StateOrProvinceCode": "MI", - "PostalCode": "48123", - "CountryCode": "US", - "Phone": "7132341234" - }, - "ShipToAddress": { - "Name": "New York", - "AddressLine1": "TIME WARNER CENTER", - "AddressLine2": "10 COLUMBUS CIR", - "Email": "", - "City": "NEW YORK", - "StateOrProvinceCode": "NY", - "PostalCode": "10019-1158", - "CountryCode": "US", - "Phone": "" - }, - "PackageDimensions": { - "Length": 10.25, - "Width": 10.25, - "Height": 10.25, - "Unit": "inches" - }, - "Weight": { - "Value": 10.25, - "Unit": "oz" - }, - "ShippingService": { - "ShippingServiceName": "UPS 2nd Day Air\u00AE", - "CarrierName": "UPS\u00AE", - "ShippingServiceId": "UPS_PTP_2ND_DAY_AIR", - "ShippingServiceOfferId": "", - "ShipDate": "2019-10-28T18:00:00Z", - "Rate": { - "CurrencyCode": "USD", - "Amount": 34.73 - }, - "ShippingServiceOptions": { - "DeliveryExperience": "DeliveryConfirmationWithoutSignature", - "DeclaredValue": { - "CurrencyCode": "USD", - "Amount": 0.0 - } - }, - "RequiresAdditionalSellerInputs": false - }, - "Label": { - "Dimensions": { - "Length": 6.0, - "Width": 4.0, - "Unit": "inches" - }, - "FileContents": { - "Contents": "H4sIAAAAAAAAAOS6dV", - "FileType": "image/png", - "Checksum": "9ALVyphCKfc3+Lb2ssyh8A==" - } - }, - "Status": "Purchased", - "TrackingId": "1Z17E2100206868939", - "CreatedDate": "2019-10-28T18:29:34Z", - "LastUpdatedDate": "2019-10-28T18:30:35Z" - } - } - } - ] - } - }, - "400": { - "description": "Request has missing or invalid parameters and cannot be parsed.", - "schema": { - "$ref": "#/definitions/GetShipmentResponse" - }, - "headers": { - "x-amzn-RateLimit-Limit": { - "type": "string", - "description": "Your rate limit (requests per second) for this operation." - }, - "x-amzn-RequestId": { - "type": "string", - "description": "Unique request reference identifier." - } - }, - "x-amzn-api-sandbox": { - "static": [ - { - "request": { - "parameters": { - "shipmentId": { - "value": "aabbccdd-1beb-4cda-8bf4-7366cfddbec1" - } - } - }, - "response": { - "errors": [ - { - "code": "InvalidInput", - "message": "1 validation error detected: Value 'TEST_CASE_400' at 'shipmentId' failed to satisfy constraint: Member must satisfy regular expression pattern: [0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}", - "details": "" - } - ] - } - } - ] - } - }, - "401": { - "description": "The request's Authorization header is not formatted correctly or does not contain a valid token.", - "schema": { - "$ref": "#/definitions/GetShipmentResponse" - }, - "headers": { - "x-amzn-RateLimit-Limit": { - "type": "string", - "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." - }, - "x-amzn-RequestId": { - "type": "string", - "description": "Unique request reference identifier." - } - } - }, - "403": { - "description": "Indicates that access to the resource is forbidden. Possible reasons include Access Denied, Unauthorized, Expired Token, or Invalid Signature.", - "schema": { - "$ref": "#/definitions/GetShipmentResponse" - }, - "headers": { - "x-amzn-RequestId": { - "type": "string", - "description": "Unique request reference identifier." - } - } - }, - "404": { - "description": "The specified resource does not exist.", - "schema": { - "$ref": "#/definitions/GetShipmentResponse" - }, - "headers": { - "x-amzn-RateLimit-Limit": { - "type": "string", - "description": "Your rate limit (requests per second) for this operation." - }, - "x-amzn-RequestId": { - "type": "string", - "description": "Unique request reference identifier." - } - } - }, - "429": { - "description": "The frequency of requests was greater than allowed.", - "schema": { - "$ref": "#/definitions/GetShipmentResponse" - }, - "headers": { - "x-amzn-RateLimit-Limit": { - "type": "string", - "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." - }, - "x-amzn-RequestId": { - "type": "string", - "description": "Unique request reference identifier." - } - } - }, - "500": { - "description": "An unexpected condition occurred that prevented the server from fulfilling the request.", - "schema": { - "$ref": "#/definitions/GetShipmentResponse" - }, - "headers": { - "x-amzn-RateLimit-Limit": { - "type": "string", - "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." - }, - "x-amzn-RequestId": { - "type": "string", - "description": "Unique request reference identifier." - } - } - }, - "503": { - "description": "Temporary overloading or maintenance of the server.", - "schema": { - "$ref": "#/definitions/GetShipmentResponse" - }, - "headers": { - "x-amzn-RateLimit-Limit": { - "type": "string", - "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." - }, - "x-amzn-RequestId": { - "type": "string", - "description": "Unique request reference identifier." - } - } - } - } - }, - "delete": { - "tags": [ - "merchantFulfillment" - ], - "description": "Cancel the shipment indicated by the specified shipment identifier.\n\n**Usage Plan:**\n\n| Rate (requests per second) | Burst |\n| ---- | ---- |\n| 1 | 1 |\n\nThe `x-amzn-RateLimit-Limit` response header returns the usage plan rate limits that were applied to the requested operation, when available. The table above indicates the default rate and burst values for this operation. Selling partners whose business demands require higher throughput may see higher rate and burst values than those shown here. For more information, see [Usage Plans and Rate Limits in the Selling Partner API](https://developer-docs.amazon.com/sp-api/docs/usage-plans-and-rate-limits-in-the-sp-api).", - "operationId": "cancelShipment", - "parameters": [ - { - "name": "shipmentId", - "in": "path", - "description": "The Amazon-defined shipment identifier for the shipment to cancel.", - "required": true, - "type": "string", - "pattern": "[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}" - } - ], - "responses": { - "200": { - "description": "Success", - "schema": { - "$ref": "#/definitions/CancelShipmentResponse" - }, - "headers": { - "x-amzn-RateLimit-Limit": { - "type": "string", - "description": "Your rate limit (requests per second) for this operation." - }, - "x-amzn-RequestId": { - "type": "string", - "description": "Unique request reference identifier." - } - }, - "x-amzn-api-sandbox": { - "static": [ - { - "request": { - "parameters": { - "shipmentId": { - "value": "be7a0a53-00c3-4f6f-a63a-639f76ee9253" - } - } - }, - "response": { - "payload": { - "ShipmentId": "be7a0a53-00c3-4f6f-a63a-639f76ee9253", - "AmazonOrderId": "903-5563053-5647845", - "SellerOrderId": "903-5563053-5647845", - "Insurance": { - "CurrencyCode": "USD", - "Amount": 0.0 - }, - "ItemList": [ - { - "OrderItemId": "12958298061782", - "Quantity": 1 - } - ], - "ShipFromAddress": { - "Name": "John Doe", - "AddressLine1": "300 Turnbull Ave", - "Email": "jdoeasdfllkj@yahoo.com", - "City": "Detroit", - "StateOrProvinceCode": "MI", - "PostalCode": "48123", - "CountryCode": "US", - "Phone": "7132341234" - }, - "ShipToAddress": { - "Name": "New York", - "AddressLine1": "TIME WARNER CENTER", - "AddressLine2": "10 COLUMBUS CIR", - "Email": "", - "City": "NEW YORK", - "StateOrProvinceCode": "NY", - "PostalCode": "10019-1158", - "CountryCode": "US", - "Phone": "" - }, - "PackageDimensions": { - "Length": 10.25, - "Width": 10.25, - "Height": 10.25, - "Unit": "inches" - }, - "Weight": { - "Value": 10.25, - "Unit": "oz" - }, - "ShippingService": { - "ShippingServiceName": "UPS 2nd Day Air\u00AE", - "CarrierName": "UPS\u00AE", - "ShippingServiceId": "UPS_PTP_2ND_DAY_AIR", - "ShippingServiceOfferId": "", - "ShipDate": "2019-10-28T18:00:00Z", - "Rate": { - "CurrencyCode": "USD", - "Amount": 34.73 - }, - "ShippingServiceOptions": { - "DeliveryExperience": "DeliveryConfirmationWithoutSignature", - "DeclaredValue": { - "CurrencyCode": "USD", - "Amount": 0.0 - } - }, - "RequiresAdditionalSellerInputs": false - }, - "Label": { - "Dimensions": {}, - "FileContents": { - "Contents": "", - "FileType": "", - "Checksum": "" - } - }, - "Status": "RefundPending", - "TrackingId": "1Z17E2100206868939", - "CreatedDate": "2019-10-28T18:29:34Z", - "LastUpdatedDate": "2019-10-28T18:36:55Z" - } - } - } - ] - } - }, - "400": { - "description": "Request has missing or invalid parameters and cannot be parsed.", - "schema": { - "$ref": "#/definitions/CancelShipmentResponse" + "$ref": "#/definitions/GetShipmentResponse" }, "headers": { "x-amzn-RateLimit-Limit": { @@ -1129,7 +523,7 @@ "request": { "parameters": { "shipmentId": { - "value": "87d20cf7-1beb-4cda-8bf4-7366cfddbec1" + "value": "aabbccdd-1beb-4cda-8bf4-7366cfddbec1" } } }, @@ -1149,7 +543,7 @@ "401": { "description": "The request's Authorization header is not formatted correctly or does not contain a valid token.", "schema": { - "$ref": "#/definitions/CancelShipmentResponse" + "$ref": "#/definitions/GetShipmentResponse" }, "headers": { "x-amzn-RateLimit-Limit": { @@ -1165,7 +559,7 @@ "403": { "description": "Indicates that access to the resource is forbidden. Possible reasons include Access Denied, Unauthorized, Expired Token, or Invalid Signature.", "schema": { - "$ref": "#/definitions/CancelShipmentResponse" + "$ref": "#/definitions/GetShipmentResponse" }, "headers": { "x-amzn-RequestId": { @@ -1175,9 +569,9 @@ } }, "404": { - "description": "The resource specified does not exist.", + "description": "The specified resource does not exist.", "schema": { - "$ref": "#/definitions/CancelShipmentResponse" + "$ref": "#/definitions/GetShipmentResponse" }, "headers": { "x-amzn-RateLimit-Limit": { @@ -1193,7 +587,7 @@ "429": { "description": "The frequency of requests was greater than allowed.", "schema": { - "$ref": "#/definitions/CancelShipmentResponse" + "$ref": "#/definitions/GetShipmentResponse" }, "headers": { "x-amzn-RateLimit-Limit": { @@ -1209,7 +603,7 @@ "500": { "description": "An unexpected condition occurred that prevented the server from fulfilling the request.", "schema": { - "$ref": "#/definitions/CancelShipmentResponse" + "$ref": "#/definitions/GetShipmentResponse" }, "headers": { "x-amzn-RateLimit-Limit": { @@ -1225,7 +619,7 @@ "503": { "description": "Temporary overloading or maintenance of the server.", "schema": { - "$ref": "#/definitions/CancelShipmentResponse" + "$ref": "#/definitions/GetShipmentResponse" }, "headers": { "x-amzn-RateLimit-Limit": { @@ -1238,17 +632,14 @@ } } } - } - } - }, - "/mfn/v0/shipments/{shipmentId}/cancel": { - "put": { + } + }, + "delete": { "tags": [ "merchantFulfillment" ], - "deprecated": true, - "description": "Cancel the shipment indicated by the specified shipment identifer.\n\n**Usage Plan:**\n\n| Rate (requests per second) | Burst |\n| ---- | ---- |\n| 1 | 1 |\n\nThe `x-amzn-RateLimit-Limit` response header returns the usage plan rate limits that were applied to the requested operation, when available. The table above indicates the default rate and burst values for this operation. Selling partners whose business demands require higher throughput may see higher rate and burst values than those shown here. For more information, see [Usage Plans and Rate Limits in the Selling Partner API](https://developer-docs.amazon.com/sp-api/docs/usage-plans-and-rate-limits-in-the-sp-api).", - "operationId": "cancelShipmentOld", + "description": "Cancel the shipment indicated by the specified shipment identifier.\n\n**Usage Plan:**\n\n| Rate (requests per second) | Burst |\n| ---- | ---- |\n| 1 | 1 |\n\nThe `x-amzn-RateLimit-Limit` response header returns the usage plan rate limits that were applied to the requested operation, when available. The table above indicates the default rate and burst values for this operation. Selling partners whose business demands require higher throughput may see higher rate and burst values than those shown here. For more information, see [Usage Plans and Rate Limits in the Selling Partner API](https://developer-docs.amazon.com/sp-api/docs/usage-plans-and-rate-limits-in-the-sp-api).", + "operationId": "cancelShipment", "parameters": [ { "name": "shipmentId", @@ -1332,7 +723,7 @@ "Unit": "oz" }, "ShippingService": { - "ShippingServiceName": "UPS 2nd Day Air \u00AE", + "ShippingServiceName": "UPS 2nd Day Air\u00AE", "CarrierName": "UPS\u00AE", "ShippingServiceId": "UPS_PTP_2ND_DAY_AIR", "ShippingServiceOfferId": "", @@ -1435,7 +826,7 @@ } }, "404": { - "description": "The specified resource does not exist.", + "description": "The resource specified does not exist.", "schema": { "$ref": "#/definitions/CancelShipmentResponse" }, @@ -1839,228 +1230,6 @@ } } }, - "/mfn/v0/sellerInputs": { - "post": { - "tags": [ - "merchantFulfillment" - ], - "deprecated": true, - "description": "Get a list of additional seller inputs required for a ship method. This is generally used for international shipping.\n\n**Usage Plan:**\n\n| Rate (requests per second) | Burst |\n| ---- | ---- |\n| 1 | 1 |\n\nThe `x-amzn-RateLimit-Limit` response header returns the usage plan rate limits that were applied to the requested operation, when available. The table above indicates the default rate and burst values for this operation. Selling partners whose business demands require higher throughput may see higher rate and burst values than those shown here. For more information, see [Usage Plans and Rate Limits in the Selling Partner API](https://developer-docs.amazon.com/sp-api/docs/usage-plans-and-rate-limits-in-the-sp-api).", - "operationId": "getAdditionalSellerInputsOld", - "parameters": [ - { - "in": "body", - "name": "body", - "required": true, - "schema": { - "$ref": "#/definitions/GetAdditionalSellerInputsRequest" - } - } - ], - "responses": { - "200": { - "description": "Success", - "schema": { - "$ref": "#/definitions/GetAdditionalSellerInputsResponse" - }, - "headers": { - "x-amzn-RateLimit-Limit": { - "type": "string", - "description": "Your rate limit (requests per second) for this operation." - }, - "x-amzn-RequestId": { - "type": "string", - "description": "Unique request reference identifier." - } - }, - "x-amzn-api-sandbox": { - "static": [ - { - "request": { - "parameters": { - "body": { - "value": { - "ShippingServiceId": "UPS_PTP_GND", - "ShipFromAddress": { - "Name": "John Doe", - "AddressLine1": "300 Turnbull Ave", - "Email": "jdoeasdfllkj@yahoo.com", - "City": "Detroit", - "StateOrProvinceCode": "MI", - "PostalCode": "48123", - "CountryCode": "US", - "Phone": "7132341234" - }, - "OrderId": "903-5563053-5647845" - } - } - } - }, - "response": { - "payload": { - "ShipmentLevelFields": [ - { - "AdditionalInputFieldName": "John Doe" - } - ], - "ItemLevelFieldsList": [ - { - "Asin": "ASIN_ID_200", - "AdditionalInputs": [] - } - ] - } - } - } - ] - } - }, - "400": { - "description": "Request has missing or invalid parameters and cannot be parsed.", - "schema": { - "$ref": "#/definitions/GetAdditionalSellerInputsResponse" - }, - "headers": { - "x-amzn-RateLimit-Limit": { - "type": "string", - "description": "Your rate limit (requests per second) for this operation." - }, - "x-amzn-RequestId": { - "type": "string", - "description": "Unique request reference identifier." - } - }, - "x-amzn-api-sandbox": { - "static": [ - { - "request": { - "parameters": { - "body": { - "value": { - "ShippingServiceId": "UPS_PTP_GND", - "ShipFromAddress": { - "Name": "John Doe", - "AddressLine1": "300 Turnbull Ave", - "Email": "jdoeasdfllkj@yahoo.com", - "City": "Detroit", - "StateOrProvinceCode": "MI", - "PostalCode": "48123", - "CountryCode": "XX", - "Phone": "7132341234" - }, - "OrderId": "901-5563053-5647845" - } - } - } - }, - "response": { - "errors": [ - { - "code": "InvalidInput", - "message": "Invalid Ship From Address when calling GetAdditionalSellerInputs", - "details": "" - } - ] - } - } - ] - } - }, - "401": { - "description": "The request's Authorization header is not formatted correctly or does not contain a valid token.", - "schema": { - "$ref": "#/definitions/GetAdditionalSellerInputsResponse" - }, - "headers": { - "x-amzn-RateLimit-Limit": { - "type": "string", - "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." - }, - "x-amzn-RequestId": { - "type": "string", - "description": "Unique request reference identifier." - } - } - }, - "403": { - "description": "Indicates that access to the resource is forbidden. Possible reasons include Access Denied, Unauthorized, Expired Token, or Invalid Signature.", - "schema": { - "$ref": "#/definitions/GetAdditionalSellerInputsResponse" - }, - "headers": { - "x-amzn-RequestId": { - "type": "string", - "description": "Unique request reference identifier." - } - } - }, - "404": { - "description": "The specified resource does not exist.", - "schema": { - "$ref": "#/definitions/GetAdditionalSellerInputsResponse" - }, - "headers": { - "x-amzn-RateLimit-Limit": { - "type": "string", - "description": "Your rate limit (requests per second) for this operation." - }, - "x-amzn-RequestId": { - "type": "string", - "description": "Unique request reference identifier." - } - } - }, - "429": { - "description": "The frequency of requests was greater than allowed.", - "schema": { - "$ref": "#/definitions/GetAdditionalSellerInputsResponse" - }, - "headers": { - "x-amzn-RateLimit-Limit": { - "type": "string", - "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." - }, - "x-amzn-RequestId": { - "type": "string", - "description": "Unique request reference identifier." - } - } - }, - "500": { - "description": "An unexpected condition occurred that prevented the server from fulfilling the request.", - "schema": { - "$ref": "#/definitions/GetAdditionalSellerInputsResponse" - }, - "headers": { - "x-amzn-RateLimit-Limit": { - "type": "string", - "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." - }, - "x-amzn-RequestId": { - "type": "string", - "description": "Unique request reference identifier." - } - } - }, - "503": { - "description": "Temporary overloading or maintenance of the server.", - "schema": { - "$ref": "#/definitions/GetAdditionalSellerInputsResponse" - }, - "headers": { - "x-amzn-RateLimit-Limit": { - "type": "string", - "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." - }, - "x-amzn-RequestId": { - "type": "string", - "description": "Unique request reference identifier." - } - } - } - } - } - }, "/mfn/v0/additionalSellerInputs": { "post": { "tags": [ @@ -2995,6 +2164,16 @@ "ItemLevelSellerInputsList": { "description": "A list of additional seller inputs required to ship this item using the chosen shipping service.", "$ref": "#/definitions/AdditionalSellerInputsList" + }, + "LiquidVolume": { + "$ref": "#/definitions/LiquidVolume" + }, + "IsHazmat": { + "type": "boolean", + "description": "When true, the item qualifies as hazardous materials (hazmat). Defaults to false." + }, + "DangerousGoodsDetails": { + "$ref": "#/definitions/DangerousGoodsDetails" } }, "description": "An Amazon order item identifier and a quantity." @@ -3956,6 +3135,175 @@ "type": "number", "format": "double", "description": "The weight value." + }, + "LiquidVolume": { + "type": "object", + "required": [ + "Unit", + "Value" + ], + "properties": { + "Unit": { + "type": "string", + "description": "The unit of measurement.", + "enum": [ + "ML", + "L", + "FL_OZ", + "GAL", + "PT", + "QT", + "C" + ], + "x-docgen-enum-table-extension": [ + { + "value": "ML", + "description": "Milliliter - Metric unit of volume." + }, + { + "value": "L", + "description": "Liter - Metric unit of volume." + }, + { + "value": "FL_OZ", + "description": "Fluid Ounce - Imperial unit of volume." + }, + { + "value": "GAL", + "description": "Gallon - Imperial unit of volume." + }, + { + "value": "PT", + "description": "Pint - Imperial unit of volume." + }, + { + "value": "QT", + "description": "Quart - Imperial unit of volume." + }, + { + "value": "C", + "description": "Cup - Imperial unit of volume." + } + ] + }, + "Value": { + "type": "number", + "description": "The measurement value." + } + }, + "description": "Liquid Volume." + }, + "DangerousGoodsDetails": { + "type": "object", + "description": "Details related to any dangerous goods/items that are being shipped.", + "properties": { + "UnitedNationsRegulatoryId" : { + "type": "string", + "description": "The specific UNID of the item being shipped.", + "pattern" : "^(UN|ID|NA)[0-9]{4}$" + }, + "TransportationRegulatoryClass" : { + "type": "string", + "description": "The specific regulatory class of the item being shipped.", + "pattern": "^[1-9](\\.[1-9])?$" + }, + "PackingGroup" : { + "type": "string", + "description": "The specific packaging group of the item being shipped.", + "enum": [ + "I", + "II", + "III" + ], + "x-docgen-enum-table-extension": [ + { + "value": "I", + "description": "Packing group I indicates great danger." + }, + { + "value": "II", + "description": "Packing group II indicates medium danger." + }, + { + "value": "III", + "description": "Packing group III indicates minor danger." + } + ] + }, + "PackingInstruction": { + "type": "string", + "description": "The specific packing instruction of the item being shipped.", + "enum": [ + "PI965_SECTION_IA", + "PI965_SECTION_IB", + "PI965_SECTION_II", + "PI966_SECTION_I", + "PI966_SECTION_II", + "PI967_SECTION_I", + "PI967_SECTION_II", + "PI968_SECTION_IA", + "PI968_SECTION_IB", + "PI969_SECTION_I", + "PI969_SECTION_II", + "PI970_SECTION_I", + "PI970_SECTION_II" + ], + "x-docgen-enum-table-extension": [ + { + "value": "PI965_SECTION_IA", + "description": "Ion PI965 Section IA (LiBa)" + }, + { + "value": "PI965_SECTION_IB", + "description": "Ion PI965 Section IB (LiBa)" + }, + { + "value": "PI965_SECTION_II", + "description": "Ion PI965 Section II (LiBa)" + }, + { + "value": "PI966_SECTION_I", + "description": "Ion PI966 Section I (LiBa with equipment)" + }, + { + "value": "PI966_SECTION_II", + "description": "Ion PI966 Section II (LiBa with equipment)" + }, + { + "value": "PI967_SECTION_I", + "description": "Ion PI967 Section I (LiBa in equipment)" + }, + { + "value": "PI967_SECTION_II", + "description": "Ion PI967 Section II (LiBa in equipment)" + }, + { + "value": "PI968_SECTION_IA", + "description": "Metal PI968 Section IA (LiBa)" + }, + { + "value": "PI968_SECTION_IB", + "description": "Metal PI968 Section IB (LiBa)" + }, + { + "value": "PI969_SECTION_I", + "description": "Metal PI969 Section I (LiBa with equipment)" + }, + { + "value": "PI969_SECTION_II", + "description": "Metal PI969 Section II (LiBa with equipment)" + }, + { + "value": "PI970_SECTION_I", + "description": "Metal PI970 Section I (LiBa in equipment)" + }, + { + "value": "PI970_SECTION_II", + "description": "Metal PI970 Section II (LiBa in equipment)" + } + ] + } + } } } -} \ No newline at end of file +} From a96893efd80044edcb935bcbffc6655689dc1cac Mon Sep 17 00:00:00 2001 From: Gibran Waldron Date: Fri, 29 Mar 2024 15:02:38 -0700 Subject: [PATCH 231/340] Add redirect for FBA small and light API. --- .../fbaSmallandLight.json | 2271 ----------------- .../fbaSmallandLight.md | 1 + 2 files changed, 1 insertion(+), 2271 deletions(-) delete mode 100644 models/fba-small-and-light-api-model/fbaSmallandLight.json create mode 100644 models/fba-small-and-light-api-model/fbaSmallandLight.md diff --git a/models/fba-small-and-light-api-model/fbaSmallandLight.json b/models/fba-small-and-light-api-model/fbaSmallandLight.json deleted file mode 100644 index b5e5aac98..000000000 --- a/models/fba-small-and-light-api-model/fbaSmallandLight.json +++ /dev/null @@ -1,2271 +0,0 @@ -{ - "swagger": "2.0", - "info": { - "description": "The Selling Partner API for FBA Small and Light lets you help sellers manage their listings in the Small and Light program. The program reduces the cost of fulfilling orders for small and lightweight FBA inventory. You can enroll or remove items from the program and check item eligibility and enrollment status. You can also preview the estimated program fees charged to a seller for items sold while enrolled in the program. \n\n**Note:** The FBA Small and Light program sunset in the US and EU regions on **September 26, 2023**. The program will be deprecated in the JP region on **March 31, 2024** and sunset on **April 1, 2024**. APIs announcing deprecation will no longer be supported after their deprecation date. Calls to deprecated APIs will fail beginning on their sunset date. For more information, refer to [FBA Small and Light program deprecation](https://developer-docs.amazon.com/sp-api/changelog/fba-small-and-light-program-deprecation).", - "version": "v1", - "title": "Selling Partner API for FBA Small And Light", - "contact": { - "name": "Selling Partner API Developer Support", - "url": "https://sellercentral.amazon.com/gp/mws/contactus.html" - }, - "license": { - "name": "Apache License 2.0", - "url": "http://www.apache.org/licenses/LICENSE-2.0" - } - }, - "host": "sellingpartnerapi-na.amazon.com", - "schemes": [ - "https" - ], - "consumes": [ - "application/json" - ], - "produces": [ - "application/json" - ], - "paths": { - "/fba/smallAndLight/v1/enrollments/{sellerSKU}": { - "get": { - "tags": [ - "smallAndLight" - ], - "description": "Returns the Small and Light enrollment status for the item indicated by the specified seller SKU in the specified marketplace.\n\n**Usage Plan:**\n\n| Rate (requests per second) | Burst |\n| ---- | ---- |\n| 2 | 10 |\n\nThe `x-amzn-RateLimit-Limit` response header returns the usage plan rate limits that were applied to the requested operation, when available. The table above indicates the default rate and burst values for this operation. Selling partners whose business demands require higher throughput may see higher rate and burst values than those shown here. For more information, see [Usage Plans and Rate Limits in the Selling Partner API](https://developer-docs.amazon.com/sp-api/docs/usage-plans-and-rate-limits-in-the-sp-api).", - "operationId": "getSmallAndLightEnrollmentBySellerSKU", - "deprecated": true, - "parameters": [ - { - "name": "sellerSKU", - "in": "path", - "description": "The seller SKU that identifies the item.", - "required": true, - "type": "string" - }, - { - "name": "marketplaceIds", - "in": "query", - "description": "The marketplace for which the enrollment status is retrieved. Note: Accepts a single marketplace only.", - "required": true, - "type": "array", - "items": { - "type": "string" - }, - "maxItems": 1 - } - ], - "responses": { - "200": { - "description": "Success.", - "schema": { - "$ref": "#/definitions/SmallAndLightEnrollment" - }, - "headers": { - "x-amzn-RateLimit-Limit": { - "type": "string", - "description": "Your rate limit (requests per second) for this operation." - }, - "x-amzn-RequestId": { - "type": "string", - "description": "Unique request reference identifier." - } - }, - "x-amzn-api-sandbox": { - "static": [ - { - "request": { - "parameters": { - "sellerSKU": { - "value": "SKU_ENROLLED_IN_SMALL_AND_LIGHT" - }, - "marketplaceIds": { - "value": [ - "ATVPDKIKX0DER" - ] - } - } - }, - "response": { - "marketplaceId": "ATVPDKIKX0DER", - "sellerSKU": "SKU_ENROLLED_IN_SMALL_AND_LIGHT", - "status": "ENROLLED" - } - } - ] - } - }, - "400": { - "description": "Request has missing or invalid parameters and cannot be parsed.", - "schema": { - "$ref": "#/definitions/ErrorList" - }, - "headers": { - "x-amzn-RateLimit-Limit": { - "type": "string", - "description": "Your rate limit (requests per second) for this operation." - }, - "x-amzn-RequestId": { - "type": "string", - "description": "Unique request reference identifier." - } - }, - "x-amzn-api-sandbox": { - "static": [ - { - "request": { - "parameters": { - "sellerSKU": { - "value": "SKU_400" - }, - "marketplaceIds": { - "value": [ - "ATVPDKIKX0DER" - ] - } - } - }, - "response": { - "errors": [ - { - "code": "InvalidInput", - "message": "Invalid input." - } - ] - } - } - ] - } - }, - "403": { - "description": "Indicates that access to the resource is forbidden. Possible reasons include Access Denied, Unauthorized, Expired Token, or Invalid Signature.", - "schema": { - "$ref": "#/definitions/ErrorList" - }, - "headers": { - "x-amzn-RequestId": { - "type": "string", - "description": "Unique request reference identifier." - } - }, - "x-amzn-api-sandbox": { - "static": [ - { - "request": { - "parameters": { - "sellerSKU": { - "value": "SKU_403" - }, - "marketplaceIds": { - "value": [ - "ATVPDKIKX0DER" - ] - } - } - }, - "response": { - "errors": [ - { - "code": "Unauthorized", - "message": "Access to requested resource is denied." - } - ] - } - } - ] - } - }, - "404": { - "description": "The resource specified does not exist.", - "schema": { - "$ref": "#/definitions/ErrorList" - }, - "headers": { - "x-amzn-RateLimit-Limit": { - "type": "string", - "description": "Your rate limit (requests per second) for this operation." - }, - "x-amzn-RequestId": { - "type": "string", - "description": "Unique request reference identifier." - } - }, - "x-amzn-api-sandbox": { - "static": [ - { - "request": { - "parameters": { - "sellerSKU": { - "value": "SKU_404" - }, - "marketplaceIds": { - "value": [ - "ATVPDKIKX0DER" - ] - } - } - }, - "response": { - "errors": [ - { - "code": "NotFound", - "message": "Requested resource is not found" - } - ] - } - } - ] - } - }, - "413": { - "description": "The request size exceeded the maximum accepted size.", - "schema": { - "$ref": "#/definitions/ErrorList" - }, - "headers": { - "x-amzn-RateLimit-Limit": { - "type": "string", - "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." - }, - "x-amzn-RequestId": { - "type": "string", - "description": "Unique request reference identifier." - } - }, - "x-amzn-api-sandbox": { - "static": [ - { - "request": { - "parameters": { - "sellerSKU": { - "value": "SKU_413" - }, - "marketplaceIds": { - "value": [ - "ATVPDKIKX0DER" - ] - } - } - }, - "response": { - "errors": [ - { - "code": "PayloadTooLarge", - "message": "Payload of the request is too large." - } - ] - } - } - ] - } - }, - "415": { - "description": "The request payload is in an unsupported format.", - "schema": { - "$ref": "#/definitions/ErrorList" - }, - "headers": { - "x-amzn-RateLimit-Limit": { - "type": "string", - "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." - }, - "x-amzn-RequestId": { - "type": "string", - "description": "Unique request reference identifier." - } - }, - "x-amzn-api-sandbox": { - "static": [ - { - "request": { - "parameters": { - "sellerSKU": { - "value": "SKU_415" - }, - "marketplaceIds": { - "value": [ - "ATVPDKIKX0DER" - ] - } - } - }, - "response": { - "errors": [ - { - "code": "UnsupportedType", - "message": "The entity of the request is of unsupported type." - } - ] - } - } - ] - } - }, - "429": { - "description": "The frequency of requests was greater than allowed.", - "schema": { - "$ref": "#/definitions/ErrorList" - }, - "headers": { - "x-amzn-RateLimit-Limit": { - "type": "string", - "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." - }, - "x-amzn-RequestId": { - "type": "string", - "description": "Unique request reference identifier." - } - }, - "x-amzn-api-sandbox": { - "static": [ - { - "request": { - "parameters": { - "sellerSKU": { - "value": "SKU_429" - }, - "marketplaceIds": { - "value": [ - "ATVPDKIKX0DER" - ] - } - } - }, - "response": { - "errors": [ - { - "code": "TooManyRequests", - "message": "Total number of requests exceed your allowed limits." - } - ] - } - } - ] - } - }, - "500": { - "description": "An unexpected condition occurred that prevented the server from fulfilling the request.", - "schema": { - "$ref": "#/definitions/ErrorList" - }, - "headers": { - "x-amzn-RateLimit-Limit": { - "type": "string", - "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." - }, - "x-amzn-RequestId": { - "type": "string", - "description": "Unique request reference identifier." - } - }, - "x-amzn-api-sandbox": { - "static": [ - { - "request": { - "parameters": { - "sellerSKU": { - "value": "SKU_500" - }, - "marketplaceIds": { - "value": [ - "ATVPDKIKX0DER" - ] - } - } - }, - "response": { - "errors": [ - { - "code": "InternalServerError", - "message": "Server encountered an unexpected condition while processing your request." - } - ] - } - } - ] - } - }, - "503": { - "description": "Temporary overloading or maintenance of the server.", - "schema": { - "$ref": "#/definitions/ErrorList" - }, - "headers": { - "x-amzn-RateLimit-Limit": { - "type": "string", - "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." - }, - "x-amzn-RequestId": { - "type": "string", - "description": "Unique request reference identifier." - } - }, - "x-amzn-api-sandbox": { - "static": [ - { - "request": { - "parameters": { - "sellerSKU": { - "value": "SKU_503" - }, - "marketplaceIds": { - "value": [ - "ATVPDKIKX0DER" - ] - } - } - }, - "response": { - "errors": [ - { - "code": "ServiceUnavailable", - "message": "Server is temporarily unavailable." - } - ] - } - } - ] - } - } - } - }, - "put": { - "tags": [ - "smallAndLight" - ], - "description": "Enrolls the item indicated by the specified seller SKU in the Small and Light program in the specified marketplace. If the item is not eligible, the ineligibility reasons are returned.\n\n**Usage Plan:**\n\n| Rate (requests per second) | Burst |\n| ---- | ---- |\n| 2 | 5 |\n\nThe `x-amzn-RateLimit-Limit` response header returns the usage plan rate limits that were applied to the requested operation, when available. The table above indicates the default rate and burst values for this operation. Selling partners whose business demands require higher throughput may see higher rate and burst values than those shown here. For more information, see [Usage Plans and Rate Limits in the Selling Partner API](https://developer-docs.amazon.com/sp-api/docs/usage-plans-and-rate-limits-in-the-sp-api).", - "operationId": "putSmallAndLightEnrollmentBySellerSKU", - "deprecated": true, - "parameters": [ - { - "name": "sellerSKU", - "in": "path", - "description": "The seller SKU that identifies the item.", - "required": true, - "type": "string" - }, - { - "name": "marketplaceIds", - "in": "query", - "description": "The marketplace in which to enroll the item. Note: Accepts a single marketplace only.", - "required": true, - "type": "array", - "items": { - "type": "string" - }, - "maxItems": 1 - } - ], - "responses": { - "200": { - "description": "Success.", - "schema": { - "$ref": "#/definitions/SmallAndLightEnrollment" - }, - "headers": { - "x-amzn-RateLimit-Limit": { - "type": "string", - "description": "Your rate limit (requests per second) for this operation." - }, - "x-amzn-RequestId": { - "type": "string", - "description": "Unique request reference identifier." - } - }, - "x-amzn-api-sandbox": { - "static": [ - { - "request": { - "parameters": { - "sellerSKU": { - "value": "SKU_ELIGIBLE_FOR_SMALL_AND_LIGHT" - }, - "marketplaceIds": { - "value": [ - "ATVPDKIKX0DER" - ] - } - } - }, - "response": { - "marketplaceId": "ATVPDKIKX0DER", - "sellerSKU": "SKU_ELIGIBLE_FOR_SMALL_AND_LIGHT", - "status": "ENROLLED" - } - } - ] - } - }, - "400": { - "description": "Request has missing or invalid parameters and cannot be parsed.", - "schema": { - "$ref": "#/definitions/ErrorList" - }, - "headers": { - "x-amzn-RateLimit-Limit": { - "type": "string", - "description": "Your rate limit (requests per second) for this operation." - }, - "x-amzn-RequestId": { - "type": "string", - "description": "Unique request reference identifier." - } - }, - "x-amzn-api-sandbox": { - "static": [ - { - "request": { - "parameters": { - "sellerSKU": { - "value": "SKU_400" - }, - "marketplaceIds": { - "value": [ - "ATVPDKIKX0DER" - ] - } - } - }, - "response": { - "errors": [ - { - "code": "InvalidInput", - "message": "Invalid input." - } - ] - } - } - ] - } - }, - "403": { - "description": "Indicates that access to the resource is forbidden. Possible reasons include Access Denied, Unauthorized, Expired Token, or Invalid Signature.", - "schema": { - "$ref": "#/definitions/ErrorList" - }, - "headers": { - "x-amzn-RequestId": { - "type": "string", - "description": "Unique request reference identifier." - } - }, - "x-amzn-api-sandbox": { - "static": [ - { - "request": { - "parameters": { - "sellerSKU": { - "value": "SKU_403" - }, - "marketplaceIds": { - "value": [ - "ATVPDKIKX0DER" - ] - } - } - }, - "response": { - "errors": [ - { - "code": "Unauthorized", - "message": "Access to requested resource is denied." - } - ] - } - } - ] - } - }, - "404": { - "description": "The resource specified does not exist.", - "schema": { - "$ref": "#/definitions/ErrorList" - }, - "headers": { - "x-amzn-RateLimit-Limit": { - "type": "string", - "description": "Your rate limit (requests per second) for this operation." - }, - "x-amzn-RequestId": { - "type": "string", - "description": "Unique request reference identifier." - } - }, - "x-amzn-api-sandbox": { - "static": [ - { - "request": { - "parameters": { - "sellerSKU": { - "value": "SKU_404" - }, - "marketplaceIds": { - "value": [ - "ATVPDKIKX0DER" - ] - } - } - }, - "response": { - "errors": [ - { - "code": "NotFound", - "message": "Requested resource is not found" - } - ] - } - } - ] - } - }, - "413": { - "description": "The request size exceeded the maximum accepted size.", - "schema": { - "$ref": "#/definitions/ErrorList" - }, - "headers": { - "x-amzn-RateLimit-Limit": { - "type": "string", - "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." - }, - "x-amzn-RequestId": { - "type": "string", - "description": "Unique request reference identifier." - } - }, - "x-amzn-api-sandbox": { - "static": [ - { - "request": { - "parameters": { - "sellerSKU": { - "value": "SKU_413" - }, - "marketplaceIds": { - "value": [ - "ATVPDKIKX0DER" - ] - } - } - }, - "response": { - "errors": [ - { - "code": "PayloadTooLarge", - "message": "Payload of the request is too large." - } - ] - } - } - ] - } - }, - "415": { - "description": "The request payload is in an unsupported format.", - "schema": { - "$ref": "#/definitions/ErrorList" - }, - "headers": { - "x-amzn-RateLimit-Limit": { - "type": "string", - "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." - }, - "x-amzn-RequestId": { - "type": "string", - "description": "Unique request reference identifier." - } - }, - "x-amzn-api-sandbox": { - "static": [ - { - "request": { - "parameters": { - "sellerSKU": { - "value": "SKU_415" - }, - "marketplaceIds": { - "value": [ - "ATVPDKIKX0DER" - ] - } - } - }, - "response": { - "errors": [ - { - "code": "UnsupportedType", - "message": "The entity of the request is of unsupported type." - } - ] - } - } - ] - } - }, - "429": { - "description": "The frequency of requests was greater than allowed.", - "schema": { - "$ref": "#/definitions/ErrorList" - }, - "headers": { - "x-amzn-RateLimit-Limit": { - "type": "string", - "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." - }, - "x-amzn-RequestId": { - "type": "string", - "description": "Unique request reference identifier." - } - }, - "x-amzn-api-sandbox": { - "static": [ - { - "request": { - "parameters": { - "sellerSKU": { - "value": "SKU_429" - }, - "marketplaceIds": { - "value": [ - "ATVPDKIKX0DER" - ] - } - } - }, - "response": { - "errors": [ - { - "code": "TooManyRequests", - "message": "Total number of requests exceed your allowed limits." - } - ] - } - } - ] - } - }, - "500": { - "description": "An unexpected condition occurred that prevented the server from fulfilling the request.", - "schema": { - "$ref": "#/definitions/ErrorList" - }, - "headers": { - "x-amzn-RateLimit-Limit": { - "type": "string", - "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." - }, - "x-amzn-RequestId": { - "type": "string", - "description": "Unique request reference identifier." - } - }, - "x-amzn-api-sandbox": { - "static": [ - { - "request": { - "parameters": { - "sellerSKU": { - "value": "SKU_500" - }, - "marketplaceIds": { - "value": [ - "ATVPDKIKX0DER" - ] - } - } - }, - "response": { - "errors": [ - { - "code": "InternalServerError", - "message": "Server encountered an unexpected condition while processing your request." - } - ] - } - } - ] - } - }, - "503": { - "description": "Temporary overloading or maintenance of the server.", - "schema": { - "$ref": "#/definitions/ErrorList" - }, - "headers": { - "x-amzn-RateLimit-Limit": { - "type": "string", - "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." - }, - "x-amzn-RequestId": { - "type": "string", - "description": "Unique request reference identifier." - } - }, - "x-amzn-api-sandbox": { - "static": [ - { - "request": { - "parameters": { - "sellerSKU": { - "value": "SKU_503" - }, - "marketplaceIds": { - "value": [ - "ATVPDKIKX0DER" - ] - } - } - }, - "response": { - "errors": [ - { - "code": "ServiceUnavailable", - "message": "Server is temporarily unavailable." - } - ] - } - } - ] - } - } - } - }, - "delete": { - "tags": [ - "smallAndLight" - ], - "description": "Removes the item indicated by the specified seller SKU from the Small and Light program in the specified marketplace. If the item is not eligible for disenrollment, the ineligibility reasons are returned.\n\n**Usage Plan:**\n\n| Rate (requests per second) | Burst |\n| ---- | ---- |\n| 2 | 5 |\n\nThe `x-amzn-RateLimit-Limit` response header returns the usage plan rate limits that were applied to the requested operation, when available. The table above indicates the default rate and burst values for this operation. Selling partners whose business demands require higher throughput may see higher rate and burst values than those shown here. For more information, see [Usage Plans and Rate Limits in the Selling Partner API](https://developer-docs.amazon.com/sp-api/docs/usage-plans-and-rate-limits-in-the-sp-api).", - "operationId": "deleteSmallAndLightEnrollmentBySellerSKU", - "deprecated": true, - "parameters": [ - { - "name": "sellerSKU", - "in": "path", - "description": "The seller SKU that identifies the item.", - "required": true, - "type": "string" - }, - { - "name": "marketplaceIds", - "in": "query", - "description": "The marketplace in which to remove the item from the Small and Light program. Note: Accepts a single marketplace only.", - "required": true, - "type": "array", - "items": { - "type": "string" - }, - "maxItems": 1 - } - ], - "responses": { - "204": { - "description": "Success.", - "headers": { - "x-amzn-RateLimit-Limit": { - "type": "string", - "description": "Your rate limit (requests per second) for this operation." - }, - "x-amzn-RequestId": { - "type": "string", - "description": "Unique request reference identifier." - } - }, - "x-amzn-api-sandbox": { - "static": [ - { - "request": { - "parameters": { - "sellerSKU": { - "value": "SKU_ENROLLED_FOR_SMALL_AND_LIGHT" - }, - "marketplaceIds": { - "value": [ - "ATVPDKIKX0DER" - ] - } - } - }, - "response": {} - } - ] - } - }, - "400": { - "description": "Request has missing or invalid parameters and cannot be parsed.", - "schema": { - "$ref": "#/definitions/ErrorList" - }, - "headers": { - "x-amzn-RateLimit-Limit": { - "type": "string", - "description": "Your rate limit (requests per second) for this operation." - }, - "x-amzn-RequestId": { - "type": "string", - "description": "Unique request reference identifier." - } - }, - "x-amzn-api-sandbox": { - "static": [ - { - "request": { - "parameters": { - "sellerSKU": { - "value": "SKU_400" - }, - "marketplaceIds": { - "value": [ - "ATVPDKIKX0DER" - ] - } - } - }, - "response": { - "errors": [ - { - "code": "InvalidInput", - "message": "Invalid input." - } - ] - } - } - ] - } - }, - "403": { - "description": "Indicates that access to the resource is forbidden. Possible reasons include Access Denied, Unauthorized, Expired Token, or Invalid Signature.", - "schema": { - "$ref": "#/definitions/ErrorList" - }, - "headers": { - "x-amzn-RequestId": { - "type": "string", - "description": "Unique request reference identifier." - } - }, - "x-amzn-api-sandbox": { - "static": [ - { - "request": { - "parameters": { - "sellerSKU": { - "value": "SKU_403" - }, - "marketplaceIds": { - "value": [ - "ATVPDKIKX0DER" - ] - } - } - }, - "response": { - "errors": [ - { - "code": "Unauthorized", - "message": "Access to requested resource is denied." - } - ] - } - } - ] - } - }, - "404": { - "description": "The resource specified does not exist.", - "schema": { - "$ref": "#/definitions/ErrorList" - }, - "headers": { - "x-amzn-RateLimit-Limit": { - "type": "string", - "description": "Your rate limit (requests per second) for this operation." - }, - "x-amzn-RequestId": { - "type": "string", - "description": "Unique request reference identifier." - } - }, - "x-amzn-api-sandbox": { - "static": [ - { - "request": { - "parameters": { - "sellerSKU": { - "value": "SKU_404" - }, - "marketplaceIds": { - "value": [ - "ATVPDKIKX0DER" - ] - } - } - }, - "response": { - "errors": [ - { - "code": "NotFound", - "message": "Requested resource is not found" - } - ] - } - } - ] - } - }, - "413": { - "description": "The request size exceeded the maximum accepted size.", - "schema": { - "$ref": "#/definitions/ErrorList" - }, - "headers": { - "x-amzn-RateLimit-Limit": { - "type": "string", - "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." - }, - "x-amzn-RequestId": { - "type": "string", - "description": "Unique request reference identifier." - } - }, - "x-amzn-api-sandbox": { - "static": [ - { - "request": { - "parameters": { - "sellerSKU": { - "value": "SKU_413" - }, - "marketplaceIds": { - "value": [ - "ATVPDKIKX0DER" - ] - } - } - }, - "response": { - "errors": [ - { - "code": "PayloadTooLarge", - "message": "Payload of the request is too large." - } - ] - } - } - ] - } - }, - "415": { - "description": "The request payload is in an unsupported format.", - "schema": { - "$ref": "#/definitions/ErrorList" - }, - "headers": { - "x-amzn-RateLimit-Limit": { - "type": "string", - "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." - }, - "x-amzn-RequestId": { - "type": "string", - "description": "Unique request reference identifier." - } - }, - "x-amzn-api-sandbox": { - "static": [ - { - "request": { - "parameters": { - "sellerSKU": { - "value": "SKU_415" - }, - "marketplaceIds": { - "value": [ - "ATVPDKIKX0DER" - ] - } - } - }, - "response": { - "errors": [ - { - "code": "UnsupportedType", - "message": "The entity of the request is of unsupported type." - } - ] - } - } - ] - } - }, - "429": { - "description": "The frequency of requests was greater than allowed.", - "schema": { - "$ref": "#/definitions/ErrorList" - }, - "headers": { - "x-amzn-RateLimit-Limit": { - "type": "string", - "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." - }, - "x-amzn-RequestId": { - "type": "string", - "description": "Unique request reference identifier." - } - }, - "x-amzn-api-sandbox": { - "static": [ - { - "request": { - "parameters": { - "sellerSKU": { - "value": "SKU_429" - }, - "marketplaceIds": { - "value": [ - "ATVPDKIKX0DER" - ] - } - } - }, - "response": { - "errors": [ - { - "code": "TooManyRequests", - "message": "Total number of requests exceed your allowed limits." - } - ] - } - } - ] - } - }, - "500": { - "description": "An unexpected condition occurred that prevented the server from fulfilling the request.", - "schema": { - "$ref": "#/definitions/ErrorList" - }, - "headers": { - "x-amzn-RateLimit-Limit": { - "type": "string", - "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." - }, - "x-amzn-RequestId": { - "type": "string", - "description": "Unique request reference identifier." - } - }, - "x-amzn-api-sandbox": { - "static": [ - { - "request": { - "parameters": { - "sellerSKU": { - "value": "SKU_500" - }, - "marketplaceIds": { - "value": [ - "ATVPDKIKX0DER" - ] - } - } - }, - "response": { - "errors": [ - { - "code": "InternalServerError", - "message": "Server encountered an unexpected condition while processing your request." - } - ] - } - } - ] - } - }, - "503": { - "description": "Temporary overloading or maintenance of the server.", - "schema": { - "$ref": "#/definitions/ErrorList" - }, - "headers": { - "x-amzn-RateLimit-Limit": { - "type": "string", - "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." - }, - "x-amzn-RequestId": { - "type": "string", - "description": "Unique request reference identifier." - } - }, - "x-amzn-api-sandbox": { - "static": [ - { - "request": { - "parameters": { - "sellerSKU": { - "value": "SKU_503" - }, - "marketplaceIds": { - "value": [ - "ATVPDKIKX0DER" - ] - } - } - }, - "response": { - "errors": [ - { - "code": "ServiceUnavailable", - "message": "Server is temporarily unavailable." - } - ] - } - } - ] - } - } - } - } - }, - "/fba/smallAndLight/v1/eligibilities/{sellerSKU}": { - "get": { - "tags": [ - "smallAndLight" - ], - "description": "Returns the Small and Light program eligibility status of the item indicated by the specified seller SKU in the specified marketplace. If the item is not eligible, the ineligibility reasons are returned. **Note:** The parameters associated with this operation may contain special characters that must be encoded to successfully call the API. To avoid errors with SKUs when encoding URLs, refer to [URL Encoding](https://developer-docs.amazon.com/sp-api/docs/url-encoding).\n\n**Usage Plan:**\n\n| Rate (requests per second) | Burst |\n| ---- | ---- |\n| 2 | 10 |\n\nThe `x-amzn-RateLimit-Limit` response header returns the usage plan rate limits that were applied to the requested operation, when available. The table above indicates the default rate and burst values for this operation. Selling partners whose business demands require higher throughput may see higher rate and burst values than those shown here. For more information, see [Usage Plans and Rate Limits in the Selling Partner API](https://developer-docs.amazon.com/sp-api/docs/usage-plans-and-rate-limits-in-the-sp-api).", - "operationId": "getSmallAndLightEligibilityBySellerSKU", - "deprecated": true, - "parameters": [ - { - "name": "sellerSKU", - "in": "path", - "description": "The seller SKU that identifies the item.", - "required": true, - "type": "string" - }, - { - "name": "marketplaceIds", - "in": "query", - "description": "The marketplace for which the eligibility status is retrieved. NOTE: Accepts a single marketplace only.", - "required": true, - "type": "array", - "items": { - "type": "string" - }, - "maxItems": 1 - } - ], - "responses": { - "200": { - "description": "Success.", - "schema": { - "$ref": "#/definitions/SmallAndLightEligibility" - }, - "headers": { - "x-amzn-RateLimit-Limit": { - "type": "string", - "description": "Your rate limit (requests per second) for this operation." - }, - "x-amzn-RequestId": { - "type": "string", - "description": "Unique request reference identifier." - } - }, - "x-amzn-api-sandbox": { - "static": [ - { - "request": { - "parameters": { - "sellerSKU": { - "value": "SKU_ELIGIBLE_FOR_SMALL_AND_LIGHT" - }, - "marketplaceIds": { - "value": [ - "ATVPDKIKX0DER" - ] - } - } - }, - "response": { - "marketplaceId": "ATVPDKIKX0DER", - "sellerSKU": "SKU_ELIGIBLE_FOR_SMALL_AND_LIGHT", - "status": "ELIGIBLE" - } - } - ] - } - }, - "400": { - "description": "Request has missing or invalid parameters and cannot be parsed.", - "schema": { - "$ref": "#/definitions/ErrorList" - }, - "headers": { - "x-amzn-RateLimit-Limit": { - "type": "string", - "description": "Your rate limit (requests per second) for this operation." - }, - "x-amzn-RequestId": { - "type": "string", - "description": "Unique request reference identifier." - } - }, - "x-amzn-api-sandbox": { - "static": [ - { - "request": { - "parameters": { - "sellerSKU": { - "value": "SKU_400" - }, - "marketplaceIds": { - "value": [ - "ATVPDKIKX0DER" - ] - } - } - }, - "response": { - "errors": [ - { - "code": "InvalidInput", - "message": "Invalid input." - } - ] - } - } - ] - } - }, - "403": { - "description": "Indicates that access to the resource is forbidden. Possible reasons include Access Denied, Unauthorized, Expired Token, or Invalid Signature.", - "schema": { - "$ref": "#/definitions/ErrorList" - }, - "headers": { - "x-amzn-RequestId": { - "type": "string", - "description": "Unique request reference identifier." - } - }, - "x-amzn-api-sandbox": { - "static": [ - { - "request": { - "parameters": { - "sellerSKU": { - "value": "SKU_403" - }, - "marketplaceIds": { - "value": [ - "ATVPDKIKX0DER" - ] - } - } - }, - "response": { - "errors": [ - { - "code": "Unauthorized", - "message": "Access to requested resource is denied." - } - ] - } - } - ] - } - }, - "404": { - "description": "The resource specified does not exist.", - "schema": { - "$ref": "#/definitions/ErrorList" - }, - "headers": { - "x-amzn-RateLimit-Limit": { - "type": "string", - "description": "Your rate limit (requests per second) for this operation." - }, - "x-amzn-RequestId": { - "type": "string", - "description": "Unique request reference identifier." - } - }, - "x-amzn-api-sandbox": { - "static": [ - { - "request": { - "parameters": { - "sellerSKU": { - "value": "SKU_404" - }, - "marketplaceIds": { - "value": [ - "ATVPDKIKX0DER" - ] - } - } - }, - "response": { - "errors": [ - { - "code": "NotFound", - "message": "Requested resource is not found" - } - ] - } - } - ] - } - }, - "413": { - "description": "The request size exceeded the maximum accepted size.", - "schema": { - "$ref": "#/definitions/ErrorList" - }, - "headers": { - "x-amzn-RateLimit-Limit": { - "type": "string", - "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." - }, - "x-amzn-RequestId": { - "type": "string", - "description": "Unique request reference identifier." - } - }, - "x-amzn-api-sandbox": { - "static": [ - { - "request": { - "parameters": { - "sellerSKU": { - "value": "SKU_413" - }, - "marketplaceIds": { - "value": [ - "ATVPDKIKX0DER" - ] - } - } - }, - "response": { - "errors": [ - { - "code": "PayloadTooLarge", - "message": "Payload of the request is too large." - } - ] - } - } - ] - } - }, - "415": { - "description": "The request payload is in an unsupported format.", - "schema": { - "$ref": "#/definitions/ErrorList" - }, - "headers": { - "x-amzn-RateLimit-Limit": { - "type": "string", - "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." - }, - "x-amzn-RequestId": { - "type": "string", - "description": "Unique request reference identifier." - } - }, - "x-amzn-api-sandbox": { - "static": [ - { - "request": { - "parameters": { - "sellerSKU": { - "value": "SKU_415" - }, - "marketplaceIds": { - "value": [ - "ATVPDKIKX0DER" - ] - } - } - }, - "response": { - "errors": [ - { - "code": "UnsupportedType", - "message": "The entity of the request is of unsupported type." - } - ] - } - } - ] - } - }, - "429": { - "description": "The frequency of requests was greater than allowed.", - "schema": { - "$ref": "#/definitions/ErrorList" - }, - "headers": { - "x-amzn-RateLimit-Limit": { - "type": "string", - "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." - }, - "x-amzn-RequestId": { - "type": "string", - "description": "Unique request reference identifier." - } - }, - "x-amzn-api-sandbox": { - "static": [ - { - "request": { - "parameters": { - "sellerSKU": { - "value": "SKU_429" - }, - "marketplaceIds": { - "value": [ - "ATVPDKIKX0DER" - ] - } - } - }, - "response": { - "errors": [ - { - "code": "TooManyRequests", - "message": "Total number of requests exceed your allowed limits." - } - ] - } - } - ] - } - }, - "500": { - "description": "An unexpected condition occurred that prevented the server from fulfilling the request.", - "schema": { - "$ref": "#/definitions/ErrorList" - }, - "headers": { - "x-amzn-RateLimit-Limit": { - "type": "string", - "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." - }, - "x-amzn-RequestId": { - "type": "string", - "description": "Unique request reference identifier." - } - }, - "x-amzn-api-sandbox": { - "static": [ - { - "request": { - "parameters": { - "sellerSKU": { - "value": "SKU_500" - }, - "marketplaceIds": { - "value": [ - "ATVPDKIKX0DER" - ] - } - } - }, - "response": { - "errors": [ - { - "code": "InternalServerError", - "message": "Server encountered an unexpected condition while processing your request." - } - ] - } - } - ] - } - }, - "503": { - "description": "Temporary overloading or maintenance of the server.", - "schema": { - "$ref": "#/definitions/ErrorList" - }, - "headers": { - "x-amzn-RateLimit-Limit": { - "type": "string", - "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." - }, - "x-amzn-RequestId": { - "type": "string", - "description": "Unique request reference identifier." - } - }, - "x-amzn-api-sandbox": { - "static": [ - { - "request": { - "parameters": { - "sellerSKU": { - "value": "SKU_503" - }, - "marketplaceIds": { - "value": [ - "ATVPDKIKX0DER" - ] - } - } - }, - "response": { - "errors": [ - { - "code": "ServiceUnavailable", - "message": "Server is temporarily unavailable." - } - ] - } - } - ] - } - } - } - } - }, - "/fba/smallAndLight/v1/feePreviews": { - "post": { - "tags": [ - "smallAndLight" - ], - "description": "Returns the Small and Light fee estimates for the specified items. You must include a marketplaceId parameter to retrieve the proper fee estimates for items to be sold in that marketplace. The ordering of items in the response will mirror the order of the items in the request. Duplicate ASIN/price combinations are removed.\n\n**Usage Plan:**\n\n| Rate (requests per second) | Burst |\n| ---- | ---- |\n| 1 | 3 |\n\nThe `x-amzn-RateLimit-Limit` response header returns the usage plan rate limits that were applied to the requested operation, when available. The table above indicates the default rate and burst values for this operation. Selling partners whose business demands require higher throughput may see higher rate and burst values than those shown here. For more information, see [Usage Plans and Rate Limits in the Selling Partner API](https://developer-docs.amazon.com/sp-api/docs/usage-plans-and-rate-limits-in-the-sp-api).", - "operationId": "getSmallAndLightFeePreview", - "deprecated": true, - "parameters": [ - { - "in": "body", - "name": "body", - "required": true, - "schema": { - "$ref": "#/definitions/SmallAndLightFeePreviewRequest" - } - } - ], - "responses": { - "200": { - "description": "Success.", - "schema": { - "$ref": "#/definitions/SmallAndLightFeePreviews" - }, - "headers": { - "x-amzn-RateLimit-Limit": { - "type": "string", - "description": "Your rate limit (requests per second) for this operation." - }, - "x-amzn-RequestId": { - "type": "string", - "description": "Unique request reference identifier." - } - }, - "x-amzn-api-sandbox": { - "static": [ - { - "request": { - "parameters": { - "body": { - "value": { - "marketplaceId": "ATVPDKIKX0DER", - "items": [ - { - "asin": "B076ZL9PB5", - "price": { - "currencyCode": "USD", - "amount": 6.5 - } - } - ] - } - } - } - }, - "response": { - "data": [ - { - "asin": "B076ZL9PB5", - "price": { - "amount": 6.5, - "currencyCode": "USD" - }, - "feeBreakdown": [ - { - "feeType": "FBAPerUnitFulfillmentFee", - "feeCharge": { - "amount": 0.75, - "currencyCode": "USD" - } - }, - { - "feeType": "FBAPerOrderFulfillmentFee", - "feeCharge": { - "amount": 1, - "currencyCode": "USD" - } - }, - { - "feeType": "FBAWeightBasedFee", - "feeCharge": { - "amount": 1.1, - "currencyCode": "USD" - } - }, - { - "feeType": "Commission", - "feeCharge": { - "amount": 0.98, - "currencyCode": "USD" - } - } - ], - "totalFees": { - "amount": 3.83, - "currencyCode": "USD" - }, - "errors": [] - } - ] - } - } - ] - } - }, - "400": { - "description": "Request has missing or invalid parameters and cannot be parsed.", - "schema": { - "$ref": "#/definitions/ErrorList" - }, - "headers": { - "x-amzn-RateLimit-Limit": { - "type": "string", - "description": "Your rate limit (requests per second) for this operation." - }, - "x-amzn-RequestId": { - "type": "string", - "description": "Unique request reference identifier." - } - }, - "x-amzn-api-sandbox": { - "static": [ - { - "request": { - "parameters": { - "body": { - "value": { - "marketplaceId": "TEST_CASE_400", - "items": [] - } - } - } - }, - "response": { - "errors": [ - { - "code": "InvalidInput", - "message": "Invalid input." - } - ] - } - } - ] - } - }, - "401": { - "description": "The request's Authorization header is not formatted correctly or does not contain a valid token.", - "schema": { - "$ref": "#/definitions/ErrorList" - }, - "headers": { - "x-amzn-RateLimit-Limit": { - "type": "string", - "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." - }, - "x-amzn-RequestId": { - "type": "string", - "description": "Unique request reference identifier." - } - }, - "x-amzn-api-sandbox": { - "static": [ - { - "request": { - "parameters": { - "body": { - "value": { - "marketplaceId": "TEST_CASE_401", - "items": [] - } - } - } - }, - "response": { - "errors": [ - { - "code": "Unauthorized", - "message": "Access to requested resource is denied." - } - ] - } - } - ] - } - }, - "403": { - "description": "Indicates that access to the resource is forbidden. Possible reasons include Access Denied, Unauthorized, Expired Token, or Invalid Signature.", - "schema": { - "$ref": "#/definitions/ErrorList" - }, - "headers": { - "x-amzn-RequestId": { - "type": "string", - "description": "Unique request reference identifier." - } - }, - "x-amzn-api-sandbox": { - "static": [ - { - "request": { - "parameters": { - "body": { - "value": { - "marketplaceId": "TEST_CASE_403", - "items": [] - } - } - } - }, - "response": { - "errors": [ - { - "code": "Unauthorized", - "message": "Access to requested resource is denied." - } - ] - } - } - ] - } - }, - "404": { - "description": "The resource specified does not exist.", - "schema": { - "$ref": "#/definitions/ErrorList" - }, - "headers": { - "x-amzn-RateLimit-Limit": { - "type": "string", - "description": "Your rate limit (requests per second) for this operation." - }, - "x-amzn-RequestId": { - "type": "string", - "description": "Unique request reference identifier." - } - }, - "x-amzn-api-sandbox": { - "static": [ - { - "request": { - "parameters": { - "body": { - "value": { - "marketplaceId": "TEST_CASE_404", - "items": [] - } - } - } - }, - "response": { - "errors": [ - { - "code": "NotFound", - "message": "The requested resource doesn't exist." - } - ] - } - } - ] - } - }, - "429": { - "description": "The frequency of requests was greater than allowed.", - "schema": { - "$ref": "#/definitions/ErrorList" - }, - "headers": { - "x-amzn-RateLimit-Limit": { - "type": "string", - "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." - }, - "x-amzn-RequestId": { - "type": "string", - "description": "Unique request reference identifier." - } - }, - "x-amzn-api-sandbox": { - "static": [ - { - "request": { - "parameters": { - "body": { - "value": { - "marketplaceId": "TEST_CASE_429", - "items": [] - } - } - } - }, - "response": { - "errors": [ - { - "code": "QuotaExceeded", - "message": "You exceeded your quota for the requested resource." - } - ] - } - } - ] - } - }, - "500": { - "description": "An unexpected condition occurred that prevented the server from fulfilling the request.", - "schema": { - "$ref": "#/definitions/ErrorList" - }, - "headers": { - "x-amzn-RateLimit-Limit": { - "type": "string", - "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." - }, - "x-amzn-RequestId": { - "type": "string", - "description": "Unique request reference identifier." - } - }, - "x-amzn-api-sandbox": { - "static": [ - { - "request": { - "parameters": { - "body": { - "value": { - "marketplaceId": "TEST_CASE_500", - "items": [] - } - } - } - }, - "response": { - "errors": [ - { - "code": "InternalFailure", - "message": "We encountered an internal error. Please try again." - } - ] - } - } - ] - } - }, - "503": { - "description": "Temporary overloading or maintenance of the server.", - "schema": { - "$ref": "#/definitions/ErrorList" - }, - "headers": { - "x-amzn-RateLimit-Limit": { - "type": "string", - "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." - }, - "x-amzn-RequestId": { - "type": "string", - "description": "Unique request reference identifier." - } - }, - "x-amzn-api-sandbox": { - "static": [ - { - "request": { - "parameters": { - "body": { - "value": { - "marketplaceId": "TEST_CASE_503", - "items": [] - } - } - } - }, - "response": { - "errors": [ - { - "code": "ServiceUnavailable", - "message": "Service is temporarily unavailable. Please try again." - } - ] - } - } - ] - } - } - } - } - } - }, - "definitions": { - "MarketplaceId": { - "type": "string", - "description": "A marketplace identifier." - }, - "SellerSKU": { - "type": "string", - "description": "Identifies an item in the given marketplace. SellerSKU is qualified by the seller's SellerId, which is included with every operation that you submit." - }, - "Error": { - "type": "object", - "required": [ - "code", - "message" - ], - "properties": { - "code": { - "type": "string", - "description": "An error code that identifies the type of error that occurred." - }, - "message": { - "type": "string", - "description": "A message that describes the error condition." - }, - "details": { - "type": "string", - "description": "Additional details that can help the caller understand or fix the issue." - } - }, - "description": "Error response returned when the request is unsuccessful." - }, - "ErrorList": { - "type": "object", - "properties": { - "errors": { - "type": "array", - "items": { - "$ref": "#/definitions/Error" - } - } - }, - "description": "A list of error responses returned when a request is unsuccessful." - }, - "SmallAndLightEnrollmentStatus": { - "type": "string", - "description": "The Small and Light enrollment status of the item.", - "enum": [ - "ENROLLED", - "NOT_ENROLLED" - ], - "x-docgen-enum-table-extension": [ - { - "value": "ENROLLED", - "description": "The Small and Light enrollment status is enrolled." - }, - { - "value": "NOT_ENROLLED", - "description": "The Small and Light enrollment status is not enrolled." - } - ] - }, - "SmallAndLightEligibilityStatus": { - "type": "string", - "description": "The Small and Light eligibility status of the item.", - "enum": [ - "ELIGIBLE", - "NOT_ELIGIBLE" - ], - "x-docgen-enum-table-extension": [ - { - "value": "ELIGIBLE", - "description": "The Small and Light eligibility status is eligible." - }, - { - "value": "NOT_ELIGIBLE", - "description": "The Small and Light eligibility status is not eligible." - } - ] - }, - "SmallAndLightEnrollment": { - "type": "object", - "required": [ - "marketplaceId", - "sellerSKU", - "status" - ], - "properties": { - "marketplaceId": { - "$ref": "#/definitions/MarketplaceId" - }, - "sellerSKU": { - "$ref": "#/definitions/SellerSKU" - }, - "status": { - "$ref": "#/definitions/SmallAndLightEnrollmentStatus" - } - }, - "description": "The Small and Light enrollment status of the item indicated by the specified seller SKU." - }, - "SmallAndLightEligibility": { - "type": "object", - "required": [ - "marketplaceId", - "sellerSKU", - "status" - ], - "properties": { - "marketplaceId": { - "$ref": "#/definitions/MarketplaceId" - }, - "sellerSKU": { - "$ref": "#/definitions/SellerSKU" - }, - "status": { - "$ref": "#/definitions/SmallAndLightEligibilityStatus" - } - }, - "description": "The Small and Light eligibility status of the item indicated by the specified seller SKU." - }, - "SmallAndLightFeePreviewRequest": { - "type": "object", - "required": [ - "items", - "marketplaceId" - ], - "properties": { - "marketplaceId": { - "$ref": "#/definitions/MarketplaceId" - }, - "items": { - "type": "array", - "description": "A list of items for which to retrieve fee estimates (limit: 25).", - "items": { - "$ref": "#/definitions/Item" - }, - "maxItems": 25 - } - }, - "description": "Request schema for submitting items for which to retrieve fee estimates." - }, - "SmallAndLightFeePreviews": { - "type": "object", - "properties": { - "data": { - "type": "array", - "description": "A list of fee estimates for the requested items. The order of the fee estimates will follow the same order as the items in the request, with duplicates removed.", - "items": { - "$ref": "#/definitions/FeePreview" - } - } - } - }, - "Item": { - "type": "object", - "required": [ - "asin", - "price" - ], - "properties": { - "asin": { - "type": "string", - "description": "The Amazon Standard Identification Number (ASIN) value used to identify the item." - }, - "price": { - "description": "The price that the seller plans to charge for the item.", - "$ref": "#/definitions/MoneyType" - } - }, - "description": "An item to be sold." - }, - "FeePreview": { - "type": "object", - "properties": { - "asin": { - "type": "string", - "description": "The Amazon Standard Identification Number (ASIN) value used to identify the item." - }, - "price": { - "description": "The price that the seller plans to charge for the item.", - "$ref": "#/definitions/MoneyType" - }, - "feeBreakdown": { - "type": "array", - "description": "A list of the Small and Light fees for the item.", - "items": { - "$ref": "#/definitions/FeeLineItem" - } - }, - "totalFees": { - "description": "The total fees charged if the item participated in the Small and Light program.", - "$ref": "#/definitions/MoneyType" - }, - "errors": { - "type": "array", - "description": "One or more unexpected errors occurred during the getSmallAndLightFeePreview operation.", - "items": { - "$ref": "#/definitions/Error" - } - } - }, - "description": "The fee estimate for a specific item." - }, - "FeeLineItem": { - "type": "object", - "required": [ - "feeCharge", - "feeType" - ], - "properties": { - "feeType": { - "type": "string", - "description": "The type of fee charged to the seller.", - "enum": [ - "FBAWeightBasedFee", - "FBAPerOrderFulfillmentFee", - "FBAPerUnitFulfillmentFee", - "Commission" - ], - "x-docgen-enum-table-extension": [ - { - "value": "FBAWeightBasedFee", - "description": "The FBA weight-based fee (weight handling)." - }, - { - "value": "FBAPerOrderFulfillmentFee", - "description": "The FBA per-order fulfillment fee (order handling)." - }, - { - "value": "FBAPerUnitFulfillmentFee", - "description": "The FBA fulfillment fee (Pick & Pack)." - }, - { - "value": "Commission", - "description": "The commission - referral fee." - } - ] - }, - "feeCharge": { - "description": "Amount charged to the seller for the specific fee type.", - "$ref": "#/definitions/MoneyType" - } - }, - "description": "Fee details for a specific fee." - }, - "MoneyType": { - "type": "object", - "properties": { - "currencyCode": { - "type": "string", - "description": "The currency code in ISO 4217 format." - }, - "amount": { - "type": "number", - "description": "The monetary value." - } - } - } - } -} \ No newline at end of file diff --git a/models/fba-small-and-light-api-model/fbaSmallandLight.md b/models/fba-small-and-light-api-model/fbaSmallandLight.md new file mode 100644 index 000000000..eabedafde --- /dev/null +++ b/models/fba-small-and-light-api-model/fbaSmallandLight.md @@ -0,0 +1 @@ +This API has been removed. You can retrieve the new fees for affected products by using the [Product Fees API](https://developer-docs.amazon.com/sp-api/docs/product-fees-api-v0-reference) and/or the relevant FBA and Referral Fee reports. Update your bookmarks to the new location for future reference. \ No newline at end of file From 8ee434fe778300c57d0043b995ac0f35c5f7b0b1 Mon Sep 17 00:00:00 2001 From: Gibran Waldron Date: Fri, 29 Mar 2024 15:32:34 -0700 Subject: [PATCH 232/340] Add redirect for the authorization API. --- .../authorization.json | 307 ------------------ .../authorization-api-model/authorization.md | 1 + 2 files changed, 1 insertion(+), 307 deletions(-) delete mode 100644 models/authorization-api-model/authorization.json create mode 100644 models/authorization-api-model/authorization.md diff --git a/models/authorization-api-model/authorization.json b/models/authorization-api-model/authorization.json deleted file mode 100644 index 457fed564..000000000 --- a/models/authorization-api-model/authorization.json +++ /dev/null @@ -1,307 +0,0 @@ -{ - "swagger": "2.0", - "info": { - "description": "The Selling Partner API for Authorization helps developers manage authorizations and check the specific permissions associated with a given authorization.", - "version": "v1", - "title": "Selling Partner API for Authorization", - "contact": { - "name": "Selling Partner API Developer Support", - "url": "https://sellercentral.amazon.com/gp/mws/contactus.html" - }, - "license": { - "name": "Apache License 2.0", - "url": "http://www.apache.org/licenses/LICENSE-2.0" - } - }, - "host": "sellingpartnerapi-na.amazon.com", - "schemes": [ - "https" - ], - "consumes": [ - "application/json" - ], - "produces": [ - "application/json" - ], - "paths": { - "/authorization/v1/authorizationCode": { - "get": { - "tags": [ - "authorization" - ], - "summary": "Returns the Login with Amazon (LWA) authorization code for an existing Amazon MWS authorization.", - "description": "With the getAuthorizationCode operation, you can request a Login With Amazon (LWA) authorization code that will allow you to call a Selling Partner API on behalf of a seller who has already authorized you to call Amazon Marketplace Web Service (Amazon MWS). You specify a developer ID, an MWS auth token, and a seller ID. Taken together, these represent the Amazon MWS authorization that the seller previously granted you. The operation returns an LWA authorization code that can be exchanged for a refresh token and access token representing authorization to call the Selling Partner API on the seller's behalf. By using this API, sellers who have already authorized you for Amazon MWS do not need to re-authorize you for the Selling Partner API.\n\n**Usage Plan:**\n\n| Rate (requests per second) | Burst |\n| ---- | ---- |\n| 1 | 5 |\n\nFor more information, see \"Usage Plans and Rate Limits\" in the Selling Partner API documentation.", - "operationId": "getAuthorizationCode", - "parameters": [ - { - "name": "sellingPartnerId", - "in": "query", - "description": "The seller ID of the seller for whom you are requesting Selling Partner API authorization. This must be the seller ID of the seller who authorized your application on the Marketplace Appstore.", - "required": true, - "type": "string", - "allowEmptyValue": false - }, - { - "name": "developerId", - "in": "query", - "description": "Your developer ID. This must be one of the developer ID values that you provided when you registered your application in Developer Central.", - "required": true, - "type": "string", - "allowEmptyValue": false - }, - { - "name": "mwsAuthToken", - "in": "query", - "description": "The MWS Auth Token that was generated when the seller authorized your application on the Marketplace Appstore.", - "required": true, - "type": "string", - "allowEmptyValue": false - } - ], - "responses": { - "200": { - "description": "Success.", - "schema": { - "$ref": "#/definitions/GetAuthorizationCodeResponse" - }, - "examples": { - "payload": { - "authorizationCode": "ANDMxqpCmqWHJeyzdbMH" - } - }, - "headers": { - "x-amzn-RateLimit-Limit": { - "type": "string", - "description": "Your rate limit (requests per second) for this operation." - }, - "x-amzn-RequestId": { - "type": "string", - "description": "Unique request reference ID." - } - }, - "x-amzn-api-sandbox": { - "static": [ - { - "request": { - "parameters": {} - }, - "response": { - "payload": { - "authorizationCode": "ANDMxqpCmqWHJeyzdbMH" - } - } - } - ] - } - }, - "400": { - "description": "Request has missing or invalid parameters and cannot be parsed.", - "schema": { - "$ref": "#/definitions/GetAuthorizationCodeResponse" - }, - "examples": { - "errors": [ - { - "code": "1001", - "message": "Authorization code you provided is invalid." - } - ] - }, - "headers": { - "x-amzn-RateLimit-Limit": { - "type": "string", - "description": "Your rate limit (requests per second) for this operation." - }, - "x-amzn-RequestId": { - "type": "string", - "description": "Unique request reference ID." - } - }, - "x-amzn-api-sandbox": { - "static": [ - { - "request": { - "parameters": { - "mwsAuthToken": { - "value": "TEST_CASE_400" - } - } - }, - "response": { - "errors": [ - { - "code": "InvalidInput", - "message": "Invalid input." - } - ] - } - } - ] - } - }, - "403": { - "description": "Indicates that access to the resource is forbidden. Possible reasons include Access Denied, Unauthorized, Expired Token, or Invalid Signature.", - "schema": { - "$ref": "#/definitions/GetAuthorizationCodeResponse" - }, - "headers": { - "x-amzn-RequestId": { - "type": "string", - "description": "Unique request reference ID." - } - } - }, - "404": { - "description": "The resource specified does not exist.", - "schema": { - "$ref": "#/definitions/GetAuthorizationCodeResponse" - }, - "headers": { - "x-amzn-RateLimit-Limit": { - "type": "string", - "description": "Your rate limit (requests per second) for this operation." - }, - "x-amzn-RequestId": { - "type": "string", - "description": "Unique request reference ID." - } - } - }, - "413": { - "description": "The request size exceeded the maximum accepted size.", - "schema": { - "$ref": "#/definitions/GetAuthorizationCodeResponse" - }, - "headers": { - "x-amzn-RateLimit-Limit": { - "type": "string", - "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." - }, - "x-amzn-RequestId": { - "type": "string", - "description": "Unique request reference ID." - } - } - }, - "415": { - "description": "The request payload is in an unsupported format.", - "schema": { - "$ref": "#/definitions/GetAuthorizationCodeResponse" - }, - "headers": { - "x-amzn-RateLimit-Limit": { - "type": "string", - "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." - }, - "x-amzn-RequestId": { - "type": "string", - "description": "Unique request reference ID." - } - } - }, - "429": { - "description": "The frequency of requests was greater than allowed.", - "schema": { - "$ref": "#/definitions/GetAuthorizationCodeResponse" - }, - "headers": { - "x-amzn-RateLimit-Limit": { - "type": "string", - "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." - }, - "x-amzn-RequestId": { - "type": "string", - "description": "Unique request reference ID." - } - } - }, - "500": { - "description": "An unexpected condition occurred that prevented the server from fulfilling the request.", - "schema": { - "$ref": "#/definitions/GetAuthorizationCodeResponse" - }, - "headers": { - "x-amzn-RateLimit-Limit": { - "type": "string", - "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." - }, - "x-amzn-RequestId": { - "type": "string", - "description": "Unique request reference ID." - } - } - }, - "503": { - "description": "Temporary overloading or maintenance of the server.", - "schema": { - "$ref": "#/definitions/GetAuthorizationCodeResponse" - }, - "headers": { - "x-amzn-RateLimit-Limit": { - "type": "string", - "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." - }, - "x-amzn-RequestId": { - "type": "string", - "description": "Unique request reference ID." - } - } - } - } - } - } - }, - "definitions": { - "GetAuthorizationCodeResponse": { - "type": "object", - "properties": { - "payload": { - "$ref": "#/definitions/AuthorizationCode" - }, - "errors": { - "$ref": "#/definitions/ErrorList" - } - }, - "description": "The response schema for the GetAuthorizationCode operation." - }, - "AuthorizationCode": { - "type": "object", - "properties": { - "authorizationCode": { - "type": "string", - "description": "A Login with Amazon (LWA) authorization code that can be exchanged for a refresh token and access token that authorize you to make calls to a Selling Partner API." - } - }, - "description": "A Login with Amazon (LWA) authorization code." - }, - "ErrorList": { - "type": "array", - "description": "A list of error responses returned when a request is unsuccessful.", - "items": { - "$ref": "#/definitions/Error" - } - }, - "Error": { - "type": "object", - "required": [ - "code", - "message" - ], - "properties": { - "code": { - "type": "string", - "description": "An error code that identifies the type of error that occurred." - }, - "message": { - "type": "string", - "description": "A message that describes the error condition in a human-readable form." - }, - "details": { - "type": "string", - "description": "Additional details that can help the caller understand or fix the issue." - } - }, - "description": "Error response returned when the request is unsuccessful." - } - } -} \ No newline at end of file diff --git a/models/authorization-api-model/authorization.md b/models/authorization-api-model/authorization.md new file mode 100644 index 000000000..676a1c203 --- /dev/null +++ b/models/authorization-api-model/authorization.md @@ -0,0 +1 @@ +This API has been removed. Refer to the [SP-API Deprecations](https://developer-docs.amazon.com/sp-api/docs/sp-api-deprecations) table for more information. \ No newline at end of file From 5657629070e7a746bb6b66f89e3f98b391436dff Mon Sep 17 00:00:00 2001 From: Jack Evoniuk Date: Mon, 1 Apr 2024 12:08:37 -0700 Subject: [PATCH 233/340] Add Fulfillment Inbound v2024 model --- .../fulfillmentInboundv2024-03-20.json | 9875 +++++++++++++++++ 1 file changed, 9875 insertions(+) create mode 100644 models/fulfillment-inbound-api-model/fulfillmentInboundv2024-03-20.json diff --git a/models/fulfillment-inbound-api-model/fulfillmentInboundv2024-03-20.json b/models/fulfillment-inbound-api-model/fulfillmentInboundv2024-03-20.json new file mode 100644 index 000000000..e06624036 --- /dev/null +++ b/models/fulfillment-inbound-api-model/fulfillmentInboundv2024-03-20.json @@ -0,0 +1,9875 @@ +{ + "swagger": "2.0", + "info": { + "contact": { + "name": "Selling Partner API Developer Support", + "url": "https://sellercentral.amazon.com/gp/mws/contactus.html" + }, + "description": "The Selling Partner API for Fulfillment By Amazon (FBA) Inbound. The FBA Inbound API enables building inbound workflows to create, manage, and send shipments into Amazon's fulfillment network. The API has interoperability with the Send-to-Amazon user interface.", + "license": { + "name": "Apache License 2.0", + "url": "http://www.apache.org/licenses/LICENSE-2.0" + }, + "title": "The Selling Partner API for FBA inbound operations.", + "version": "2024-03-20" + }, + "host": "sellingpartnerapi-na.amazon.com", + "schemes": [ + "https" + ], + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "paths": { + "/inbound/fba/2024-03-20/inboundPlans": { + "get": { + "produces": [ + "application/json" + ], + "parameters": [ + { + "description": "The number of inbound plans to return in the response matching the given query.", + "in": "query", + "maximum": 30, + "minimum": 1, + "name": "pageSize", + "type": "integer", + "default": 10 + }, + { + "description": "A token to fetch a certain page when there are multiple pages worth of results. The value of this token is fetched from the `pagination` returned in the API response. In the absence of the token value from the query parameter the API returns the first page of the result.", + "in": "query", + "maxLength": 1024, + "minLength": 0, + "name": "paginationToken", + "type": "string" + }, + { + "description": "The status of an inbound plan.", + "enum": [ + "ACTIVE", + "VOIDED", + "SHIPPED" + ], + "in": "query", + "name": "status", + "type": "string", + "x-docgen-enum-table-extension": [ + { + "value": "ACTIVE", + "description": "An inbound plan that is being worked on." + }, + { + "value": "VOIDED", + "description": "An inbound plan with all shipment cancelled and can no longer be modified." + }, + { + "value": "SHIPPED", + "description": "A completed inbound plan. Only minor modifications can be made at this time." + } + ] + }, + { + "description": "Sort by field.", + "enum": [ + "LAST_UPDATED_TIME", + "CREATION_TIME" + ], + "in": "query", + "name": "sortBy", + "type": "string", + "x-docgen-enum-table-extension": [ + { + "value": "LAST_UPDATED_TIME", + "description": "Last updated time of the inbound plan." + }, + { + "value": "CREATION_TIME", + "description": "Inbound plan creation time." + } + ] + }, + { + "description": "The sort order.", + "enum": [ + "ASC", + "DESC" + ], + "in": "query", + "name": "sortOrder", + "type": "string", + "x-docgen-enum-table-extension": [ + { + "value": "ASC", + "description": "Ascending order." + }, + { + "value": "DESC", + "description": "Descending order." + } + ] + } + ], + "responses": { + "200": { + "description": "ListInboundPlans 200 response", + "schema": { + "$ref": "#/definitions/ListInboundPlansResponse" + }, + "x-amzn-api-sandbox": { + "static": [ + { + "request": { + "parameters": { + "status": { + "value": "ACTIVE" + }, + "sortBy": { + "value": "LAST_UPDATED_TIME" + }, + "sortOrder": { + "value": "ASC" + }, + "pageSize": { + "value": 2 + }, + "paginationToken": { + "value": "paginationToken" + } + } + }, + "response": { + "inboundPlans": [ + { + "inboundPlanId": "wf1234abcd-1234-abcd-5678-1234abcd5678", + "name": "FBA (03/08/2023, 01:15 PM)", + "createdAt": "2023-03-08T13:15:30Z", + "lastUpdatedAt": "2023-03-08T13:15:30Z", + "status": "ACTIVE", + "marketplaceIds": [ + "A2EUQ1WTGCTBG2" + ], + "sourceAddress": { + "name": "name", + "addressLine1": "123 example street", + "addressLine2": "Floor 19", + "city": "Toronto", + "stateOrProvinceCode": "ON", + "countryCode": "CA", + "postalCode": "M1M1M1", + "companyName": "Acme" + }, + "contactInformation": { + "email": "email@email.com", + "phoneNumber": "1234567890" + } + }, + { + "inboundPlanId": "wf2234abcd-1234-abcd-5678-1234abcd5678", + "name": "FBA (03/08/2023, 01:15 PM)", + "createdAt": "2023-03-08T13:15:30Z", + "lastUpdatedAt": "2023-03-08T13:15:30Z", + "status": "ACTIVE", + "marketplaceIds": [ + "A2EUQ1WTGCTBG2" + ], + "sourceAddress": { + "name": "name", + "addressLine1": "123 example street", + "addressLine2": "Floor 19", + "city": "Toronto", + "stateOrProvinceCode": "ON", + "countryCode": "CA", + "postalCode": "M1M1M1", + "companyName": "Acme" + }, + "contactInformation": { + "email": "email@email.com", + "phoneNumber": "1234567890" + } + } + ], + "pagination": { + "nextToken": "nextPaginationToken" + } + } + } + ] + }, + "headers": { + "x-amzn-RequestId": { + "description": "Unique request reference identifier.", + "type": "string" + }, + "x-amzn-RateLimit-Limit": { + "description": "Your rate limit (requests per second) for this operation.", + "type": "string" + } + } + }, + "400": { + "description": "Request has missing or invalid parameters and cannot be parsed.", + "schema": { + "$ref": "#/definitions/ErrorList" + }, + "x-amzn-api-sandbox": { + "static": [ + { + "request": { + "parameters": { + "status": { + "value": "badStatus" + }, + "sortBy": { + "value": "LAST_UPDATED_TIME" + }, + "sortOrder": { + "value": "ASC" + }, + "pageSize": { + "value": 5 + } + } + }, + "response": { + "errors": [ + { + "code": "BadRequest", + "message": "The status is invalid." + } + ] + } + } + ] + }, + "headers": { + "x-amzn-RequestId": { + "description": "Unique request reference identifier.", + "type": "string" + }, + "x-amzn-RateLimit-Limit": { + "description": "Your rate limit (requests per second) for this operation.", + "type": "string" + } + } + }, + "500": { + "description": "An unexpected condition occurred that prevented the server from fulfilling the request.", + "schema": { + "$ref": "#/definitions/ErrorList" + }, + "headers": { + "x-amzn-RequestId": { + "description": "Unique request reference identifier.", + "type": "string" + } + } + }, + "403": { + "description": "Indicates that access to the resource is forbidden. Possible reasons include Access Denied, Unauthorized, Expired Token, or Invalid Signature.", + "schema": { + "$ref": "#/definitions/ErrorList" + }, + "headers": { + "x-amzn-RequestId": { + "description": "Unique request reference identifier.", + "type": "string" + } + } + }, + "404": { + "description": "The resource specified does not exist.", + "schema": { + "$ref": "#/definitions/ErrorList" + }, + "headers": { + "x-amzn-RequestId": { + "description": "Unique request reference identifier.", + "type": "string" + }, + "x-amzn-RateLimit-Limit": { + "description": "Your rate limit (requests per second) for this operation.", + "type": "string" + } + } + }, + "413": { + "description": "The request size exceeded the maximum accepted size.", + "schema": { + "$ref": "#/definitions/ErrorList" + }, + "headers": { + "x-amzn-RequestId": { + "description": "Unique request reference identifier.", + "type": "string" + } + } + }, + "415": { + "description": "The request payload is in an unsupported format.", + "schema": { + "$ref": "#/definitions/ErrorList" + }, + "headers": { + "x-amzn-RequestId": { + "description": "Unique request reference identifier.", + "type": "string" + } + } + }, + "429": { + "description": "The frequency of requests was greater than allowed.", + "schema": { + "$ref": "#/definitions/ErrorList" + }, + "headers": { + "x-amzn-RequestId": { + "description": "Unique request reference identifier.", + "type": "string" + } + } + }, + "503": { + "description": "Temporary overloading or maintenance of the server.", + "schema": { + "$ref": "#/definitions/ErrorList" + }, + "headers": { + "x-amzn-RequestId": { + "description": "Unique request reference identifier.", + "type": "string" + } + } + } + }, + "tags": [ + "fbaInbound" + ], + "description": "Provides a list of inbound plans with minimal information.\n\n**Usage Plan:**\n\n| Rate (requests per second) | Burst |\n| ---- | ---- |\n| 1 | 1 |\n\nThe `x-amzn-RateLimit-Limit` response header returns the usage plan rate limits that were applied to the requested operation, when available. The table above indicates the default rate and burst values for this operation. Selling partners whose business demands require higher throughput may see higher rate and burst values than those shown here. For more information, refer to [Usage Plans and Rate Limits in the Selling Partner API](https://developer-docs.amazon.com/sp-api/docs/usage-plans-and-rate-limits-in-the-sp-api).", + "operationId": "listInboundPlans" + }, + "post": { + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "parameters": [ + { + "in": "body", + "name": "body", + "required": true, + "schema": { + "$ref": "#/definitions/CreateInboundPlanRequest" + }, + "description": "The body of the request to `createInboundPlan`." + } + ], + "responses": { + "202": { + "description": "CreateInboundPlan 202 response", + "schema": { + "$ref": "#/definitions/CreateInboundPlanResponse" + }, + "x-amzn-api-sandbox": { + "static": [ + { + "request": { + "parameters": { + "body": { + "value": { + "name": "FBA (03/20/2024, 12:01 PM)", + "contactInformation": { + "email": "email@email.com", + "phoneNumber": "+14161234567" + }, + "sourceAddress": { + "name": "name", + "addressLine1": "123 example street", + "city": "Toronto", + "stateOrProvinceCode": "ON", + "countryCode": "CA", + "postalCode": "M1M1M1" + }, + "destinationMarketplaces": [ + "A2EUQ1WTGCTBG2" + ], + "items": [ + { + "msku": "msku", + "prepOwner": "AMAZON", + "labelOwner": "AMAZON", + "quantity": 2, + "expiration": "2024-01-01", + "manufacturingLotCode": "lotCode" + } + ] + } + } + } + }, + "response": { + "inboundPlanId": "wf1234abcd-1234-abcd-5678-1234abcd5678", + "operationId": "1234abcd-1234-abcd-5678-1234abcd5678" + } + } + ] + }, + "headers": { + "x-amzn-RequestId": { + "description": "Unique request reference identifier.", + "type": "string" + }, + "x-amzn-RateLimit-Limit": { + "description": "Your rate limit (requests per second) for this operation.", + "type": "string" + } + } + }, + "400": { + "description": "Request has missing or invalid parameters and cannot be parsed.", + "schema": { + "$ref": "#/definitions/ErrorList" + }, + "x-amzn-api-sandbox": { + "static": [ + { + "request": { + "parameters": { + "body": { + "value": { + "name": "FBA (03/20/2024, 12:01 PM)", + "contactInformation": { + "email": "email@email.com", + "phoneNumber": "+14161234567" + }, + "sourceAddress": { + "name": "name", + "addressLine1": "123 example street", + "city": "Toronto", + "countryCode": "CA", + "stateOrProvinceCode": "ON", + "postalCode": "M1M1M1" + }, + "destinationMarketplaces": [ + "badMarketplace" + ], + "items": [ + { + "msku": "msku", + "prepOwner": "AMAZON", + "labelOwner": "AMAZON", + "quantity": 2, + "expiration": "2024-01-01", + "manufacturingLotCode": "lotCode" + } + ] + } + } + } + }, + "response": { + "errors": [ + { + "code": "BadRequest", + "message": "Invalid destinationMarketplace provided." + } + ] + } + } + ] + }, + "headers": { + "x-amzn-RequestId": { + "description": "Unique request reference identifier.", + "type": "string" + }, + "x-amzn-RateLimit-Limit": { + "description": "Your rate limit (requests per second) for this operation.", + "type": "string" + } + } + }, + "500": { + "description": "An unexpected condition occurred that prevented the server from fulfilling the request.", + "schema": { + "$ref": "#/definitions/ErrorList" + }, + "headers": { + "x-amzn-RequestId": { + "description": "Unique request reference identifier.", + "type": "string" + } + } + }, + "403": { + "description": "Indicates that access to the resource is forbidden. Possible reasons include Access Denied, Unauthorized, Expired Token, or Invalid Signature.", + "schema": { + "$ref": "#/definitions/ErrorList" + }, + "headers": { + "x-amzn-RequestId": { + "description": "Unique request reference identifier.", + "type": "string" + } + } + }, + "404": { + "description": "The resource specified does not exist.", + "schema": { + "$ref": "#/definitions/ErrorList" + }, + "headers": { + "x-amzn-RequestId": { + "description": "Unique request reference identifier.", + "type": "string" + }, + "x-amzn-RateLimit-Limit": { + "description": "Your rate limit (requests per second) for this operation.", + "type": "string" + } + } + }, + "413": { + "description": "The request size exceeded the maximum accepted size.", + "schema": { + "$ref": "#/definitions/ErrorList" + }, + "headers": { + "x-amzn-RequestId": { + "description": "Unique request reference identifier.", + "type": "string" + } + } + }, + "415": { + "description": "The request payload is in an unsupported format.", + "schema": { + "$ref": "#/definitions/ErrorList" + }, + "headers": { + "x-amzn-RequestId": { + "description": "Unique request reference identifier.", + "type": "string" + } + } + }, + "429": { + "description": "The frequency of requests was greater than allowed.", + "schema": { + "$ref": "#/definitions/ErrorList" + }, + "headers": { + "x-amzn-RequestId": { + "description": "Unique request reference identifier.", + "type": "string" + } + } + }, + "503": { + "description": "Temporary overloading or maintenance of the server.", + "schema": { + "$ref": "#/definitions/ErrorList" + }, + "headers": { + "x-amzn-RequestId": { + "description": "Unique request reference identifier.", + "type": "string" + } + } + } + }, + "tags": [ + "fbaInbound" + ], + "description": "Creates an inbound plan. An inbound plan contains all the necessary information to send shipments into Amazon's fufillment network.\n\n**Usage Plan:**\n\n| Rate (requests per second) | Burst |\n| ---- | ---- |\n| 0.05 | 1 |\n\nThe `x-amzn-RateLimit-Limit` response header returns the usage plan rate limits that were applied to the requested operation, when available. The table above indicates the default rate and burst values for this operation. Selling partners whose business demands require higher throughput may see higher rate and burst values than those shown here. For more information, refer to [Usage Plans and Rate Limits in the Selling Partner API](https://developer-docs.amazon.com/sp-api/docs/usage-plans-and-rate-limits-in-the-sp-api).", + "operationId": "createInboundPlan" + } + }, + "/inbound/fba/2024-03-20/inboundPlans/{inboundPlanId}": { + "get": { + "produces": [ + "application/json" + ], + "parameters": [ + { + "description": "Identifier to an inbound plan.", + "in": "path", + "maxLength": 38, + "minLength": 38, + "name": "inboundPlanId", + "pattern": "^[a-zA-Z0-9-]*$", + "required": true, + "type": "string" + } + ], + "responses": { + "200": { + "description": "GetInboundPlan 200 response", + "schema": { + "$ref": "#/definitions/InboundPlan" + }, + "x-amzn-api-sandbox": { + "static": [ + { + "request": { + "parameters": { + "inboundPlanId": { + "value": "wf1234abcd-1234-abcd-5678-1234abcd5678" + } + } + }, + "response": { + "inboundPlanId": "wf1234abcd-1234-abcd-5678-1234abcd5678", + "name": "FBA (03/20/2024, 12:01 PM)", + "createdAt": "2024-03-20T12:01:00Z", + "lastUpdatedAt": "2024-03-28T13:15:30Z", + "status": "ACTIVE", + "marketplaceIds": [ + "A2EUQ1WTGCTBG2" + ], + "packingOptions": [], + "placementOptions": [], + "shipments": [], + "sourceAddress": { + "name": "name", + "addressLine1": "123 example street", + "addressLine2": "Floor 19", + "city": "Toronto", + "stateOrProvinceCode": "ON", + "countryCode": "CA", + "postalCode": "M1M1M1", + "companyName": "Acme" + }, + "contactInformation": { + "email": "email@email.com", + "phoneNumber": "1234567890" + } + } + } + ] + }, + "headers": { + "x-amzn-RequestId": { + "description": "Unique request reference identifier.", + "type": "string" + }, + "x-amzn-RateLimit-Limit": { + "description": "Your rate limit (requests per second) for this operation.", + "type": "string" + } + } + }, + "400": { + "description": "Request has missing or invalid parameters and cannot be parsed.", + "schema": { + "$ref": "#/definitions/ErrorList" + }, + "x-amzn-api-sandbox": { + "static": [ + { + "request": { + "parameters": { + "inboundPlanId": { + "value": "wfbad4abcd-1234-abcd-5678-1234abcd5678" + } + } + }, + "response": { + "errors": [ + { + "code": "BadRequest", + "message": "The inboundPlanId is malformed." + } + ] + } + } + ] + }, + "headers": { + "x-amzn-RequestId": { + "description": "Unique request reference identifier.", + "type": "string" + }, + "x-amzn-RateLimit-Limit": { + "description": "Your rate limit (requests per second) for this operation.", + "type": "string" + } + } + }, + "500": { + "description": "An unexpected condition occurred that prevented the server from fulfilling the request.", + "schema": { + "$ref": "#/definitions/ErrorList" + }, + "headers": { + "x-amzn-RequestId": { + "description": "Unique request reference identifier.", + "type": "string" + } + } + }, + "403": { + "description": "Indicates that access to the resource is forbidden. Possible reasons include Access Denied, Unauthorized, Expired Token, or Invalid Signature.", + "schema": { + "$ref": "#/definitions/ErrorList" + }, + "headers": { + "x-amzn-RequestId": { + "description": "Unique request reference identifier.", + "type": "string" + } + } + }, + "404": { + "description": "The resource specified does not exist.", + "schema": { + "$ref": "#/definitions/ErrorList" + }, + "headers": { + "x-amzn-RequestId": { + "description": "Unique request reference identifier.", + "type": "string" + }, + "x-amzn-RateLimit-Limit": { + "description": "Your rate limit (requests per second) for this operation.", + "type": "string" + } + } + }, + "413": { + "description": "The request size exceeded the maximum accepted size.", + "schema": { + "$ref": "#/definitions/ErrorList" + }, + "headers": { + "x-amzn-RequestId": { + "description": "Unique request reference identifier.", + "type": "string" + } + } + }, + "415": { + "description": "The request payload is in an unsupported format.", + "schema": { + "$ref": "#/definitions/ErrorList" + }, + "headers": { + "x-amzn-RequestId": { + "description": "Unique request reference identifier.", + "type": "string" + } + } + }, + "429": { + "description": "The frequency of requests was greater than allowed.", + "schema": { + "$ref": "#/definitions/ErrorList" + }, + "headers": { + "x-amzn-RequestId": { + "description": "Unique request reference identifier.", + "type": "string" + } + } + }, + "503": { + "description": "Temporary overloading or maintenance of the server.", + "schema": { + "$ref": "#/definitions/ErrorList" + }, + "headers": { + "x-amzn-RequestId": { + "description": "Unique request reference identifier.", + "type": "string" + } + } + } + }, + "tags": [ + "fbaInbound" + ], + "description": "Fetches the top level information about an inbound plan.\n\n**Usage Plan:**\n\n| Rate (requests per second) | Burst |\n| ---- | ---- |\n| 1 | 1 |\n\nThe `x-amzn-RateLimit-Limit` response header returns the usage plan rate limits that were applied to the requested operation, when available. The table above indicates the default rate and burst values for this operation. Selling partners whose business demands require higher throughput may see higher rate and burst values than those shown here. For more information, refer to [Usage Plans and Rate Limits in the Selling Partner API](https://developer-docs.amazon.com/sp-api/docs/usage-plans-and-rate-limits-in-the-sp-api).", + "operationId": "getInboundPlan" + } + }, + "/inbound/fba/2024-03-20/inboundPlans/{inboundPlanId}/boxes": { + "get": { + "produces": [ + "application/json" + ], + "parameters": [ + { + "description": "Identifier to an inbound plan.", + "in": "path", + "maxLength": 38, + "minLength": 38, + "name": "inboundPlanId", + "pattern": "^[a-zA-Z0-9-]*$", + "required": true, + "type": "string" + }, + { + "description": "The number of boxes to return in the response matching the given query.", + "in": "query", + "maximum": 1000, + "minimum": 1, + "name": "pageSize", + "type": "integer", + "default": 10 + }, + { + "description": "A token to fetch a certain page when there are multiple pages worth of results. The value of this token is fetched from the `pagination` returned in the API response. In the absence of the token value from the query parameter the API returns the first page of the result.", + "in": "query", + "maxLength": 1024, + "minLength": 0, + "name": "paginationToken", + "type": "string" + } + ], + "responses": { + "200": { + "description": "ListInboundPlanBoxes 200 response", + "schema": { + "$ref": "#/definitions/ListInboundPlanBoxesResponse" + }, + "x-amzn-api-sandbox": { + "static": [ + { + "request": { + "parameters": { + "inboundPlanId": { + "value": "wf1234abcd-1234-abcd-5678-1234abcd5678" + }, + "pageSize": { + "value": 2 + }, + "paginationToken": { + "value": "paginationToken" + } + } + }, + "response": { + "boxes": [ + { + "packageId": "pk1234abcd-1234-abcd-5678-1234abcd5678", + "weight": { + "unit": "KG", + "value": 5.5 + }, + "dimensions": { + "unitOfMeasurement": "CM", + "length": 3.0, + "width": 4.0, + "height": 5.0 + }, + "quantity": 2, + "boxId": "boxId", + "templateName": "templateName", + "items": [ + { + "quantity": 5, + "expiration": "2024-01-01", + "manufacturingLotCode": "manufacturingLotCode", + "prepInstructions": [ + { + "prepType": "ITEM_POLYBAGGING", + "prepOwner": "AMAZON", + "fee": { + "code": "USD", + "amount": 10.0 + } + } + ], + "msku": "msku", + "asin": "asin", + "fnsku": "fnsku", + "labelOwner": "AMAZON" + } + ], + "destinationRegion": { + "countryCode": "US", + "state": "CA", + "warehouseId": "ABC1" + } + } + ], + "pagination": { + "nextToken": "nextPaginationToken" + } + } + } + ] + }, + "headers": { + "x-amzn-RequestId": { + "description": "Unique request reference identifier.", + "type": "string" + }, + "x-amzn-RateLimit-Limit": { + "description": "Your rate limit (requests per second) for this operation.", + "type": "string" + } + } + }, + "400": { + "description": "Request has missing or invalid parameters and cannot be parsed.", + "schema": { + "$ref": "#/definitions/ErrorList" + }, + "x-amzn-api-sandbox": { + "static": [ + { + "request": { + "parameters": { + "inboundPlanId": { + "value": "bad234abcd-1234-abcd-5678-1234abcd5678" + }, + "pageSize": { + "value": 2 + }, + "paginationToken": { + "value": "paginationToken" + } + } + }, + "response": { + "errors": [ + { + "code": "BadRequest", + "message": "The requested inboundPlanId does not exist." + } + ] + } + } + ] + }, + "headers": { + "x-amzn-RequestId": { + "description": "Unique request reference identifier.", + "type": "string" + }, + "x-amzn-RateLimit-Limit": { + "description": "Your rate limit (requests per second) for this operation.", + "type": "string" + } + } + }, + "500": { + "description": "An unexpected condition occurred that prevented the server from fulfilling the request.", + "schema": { + "$ref": "#/definitions/ErrorList" + }, + "headers": { + "x-amzn-RequestId": { + "description": "Unique request reference identifier.", + "type": "string" + } + } + }, + "403": { + "description": "Indicates that access to the resource is forbidden. Possible reasons include Access Denied, Unauthorized, Expired Token, or Invalid Signature.", + "schema": { + "$ref": "#/definitions/ErrorList" + }, + "headers": { + "x-amzn-RequestId": { + "description": "Unique request reference identifier.", + "type": "string" + } + } + }, + "404": { + "description": "The resource specified does not exist.", + "schema": { + "$ref": "#/definitions/ErrorList" + }, + "headers": { + "x-amzn-RequestId": { + "description": "Unique request reference identifier.", + "type": "string" + }, + "x-amzn-RateLimit-Limit": { + "description": "Your rate limit (requests per second) for this operation.", + "type": "string" + } + } + }, + "413": { + "description": "The request size exceeded the maximum accepted size.", + "schema": { + "$ref": "#/definitions/ErrorList" + }, + "headers": { + "x-amzn-RequestId": { + "description": "Unique request reference identifier.", + "type": "string" + } + } + }, + "415": { + "description": "The request payload is in an unsupported format.", + "schema": { + "$ref": "#/definitions/ErrorList" + }, + "headers": { + "x-amzn-RequestId": { + "description": "Unique request reference identifier.", + "type": "string" + } + } + }, + "429": { + "description": "The frequency of requests was greater than allowed.", + "schema": { + "$ref": "#/definitions/ErrorList" + }, + "headers": { + "x-amzn-RequestId": { + "description": "Unique request reference identifier.", + "type": "string" + } + } + }, + "503": { + "description": "Temporary overloading or maintenance of the server.", + "schema": { + "$ref": "#/definitions/ErrorList" + }, + "headers": { + "x-amzn-RequestId": { + "description": "Unique request reference identifier.", + "type": "string" + } + } + } + }, + "tags": [ + "fbaInbound" + ], + "description": "Provides a paginated list of box packages in an inbound plan.\n\n**Usage Plan:**\n\n| Rate (requests per second) | Burst |\n| ---- | ---- |\n| 1 | 1 |\n\nThe `x-amzn-RateLimit-Limit` response header returns the usage plan rate limits that were applied to the requested operation, when available. The table above indicates the default rate and burst values for this operation. Selling partners whose business demands require higher throughput may see higher rate and burst values than those shown here. For more information, refer to [Usage Plans and Rate Limits in the Selling Partner API](https://developer-docs.amazon.com/sp-api/docs/usage-plans-and-rate-limits-in-the-sp-api).", + "operationId": "listInboundPlanBoxes" + } + }, + "/inbound/fba/2024-03-20/inboundPlans/{inboundPlanId}/cancellation": { + "put": { + "produces": [ + "application/json" + ], + "parameters": [ + { + "description": "Identifier to an inbound plan.", + "in": "path", + "maxLength": 38, + "minLength": 38, + "name": "inboundPlanId", + "pattern": "^[a-zA-Z0-9-]*$", + "required": true, + "type": "string" + } + ], + "responses": { + "202": { + "description": "CancelInboundPlan 202 response", + "schema": { + "$ref": "#/definitions/CancelInboundPlanResponse" + }, + "x-amzn-api-sandbox": { + "static": [ + { + "request": { + "parameters": { + "inboundPlanId": { + "value": "wf1234abcd-1234-abcd-5678-1234abcd5678" + } + } + }, + "response": { + "operationId": "1234abcd-1234-abcd-5678-1234abcd5678" + } + } + ] + }, + "headers": { + "x-amzn-RequestId": { + "description": "Unique request reference identifier.", + "type": "string" + }, + "x-amzn-RateLimit-Limit": { + "description": "Your rate limit (requests per second) for this operation.", + "type": "string" + } + } + }, + "400": { + "description": "Request has missing or invalid parameters and cannot be parsed.", + "schema": { + "$ref": "#/definitions/ErrorList" + }, + "x-amzn-api-sandbox": { + "static": [ + { + "request": { + "parameters": { + "inboundPlanId": { + "value": "wfbad4abcd-1234-abcd-5678-1234abcd5678" + } + } + }, + "response": { + "errors": [ + { + "code": "BadRequest", + "message": "The inbound plan is already cancelled." + } + ] + } + } + ] + }, + "headers": { + "x-amzn-RequestId": { + "description": "Unique request reference identifier.", + "type": "string" + }, + "x-amzn-RateLimit-Limit": { + "description": "Your rate limit (requests per second) for this operation.", + "type": "string" + } + } + }, + "500": { + "description": "An unexpected condition occurred that prevented the server from fulfilling the request.", + "schema": { + "$ref": "#/definitions/ErrorList" + }, + "headers": { + "x-amzn-RequestId": { + "description": "Unique request reference identifier.", + "type": "string" + } + } + }, + "403": { + "description": "Indicates that access to the resource is forbidden. Possible reasons include Access Denied, Unauthorized, Expired Token, or Invalid Signature.", + "schema": { + "$ref": "#/definitions/ErrorList" + }, + "headers": { + "x-amzn-RequestId": { + "description": "Unique request reference identifier.", + "type": "string" + } + } + }, + "404": { + "description": "The resource specified does not exist.", + "schema": { + "$ref": "#/definitions/ErrorList" + }, + "headers": { + "x-amzn-RequestId": { + "description": "Unique request reference identifier.", + "type": "string" + }, + "x-amzn-RateLimit-Limit": { + "description": "Your rate limit (requests per second) for this operation.", + "type": "string" + } + } + }, + "413": { + "description": "The request size exceeded the maximum accepted size.", + "schema": { + "$ref": "#/definitions/ErrorList" + }, + "headers": { + "x-amzn-RequestId": { + "description": "Unique request reference identifier.", + "type": "string" + } + } + }, + "415": { + "description": "The request payload is in an unsupported format.", + "schema": { + "$ref": "#/definitions/ErrorList" + }, + "headers": { + "x-amzn-RequestId": { + "description": "Unique request reference identifier.", + "type": "string" + } + } + }, + "429": { + "description": "The frequency of requests was greater than allowed.", + "schema": { + "$ref": "#/definitions/ErrorList" + }, + "headers": { + "x-amzn-RequestId": { + "description": "Unique request reference identifier.", + "type": "string" + } + } + }, + "503": { + "description": "Temporary overloading or maintenance of the server.", + "schema": { + "$ref": "#/definitions/ErrorList" + }, + "headers": { + "x-amzn-RequestId": { + "description": "Unique request reference identifier.", + "type": "string" + } + } + } + }, + "tags": [ + "fbaInbound" + ], + "description": "Cancels an Inbound Plan. Charges may apply if the cancellation is performed outside of a void window. The window\n for Amazon Partnered Carriers is 24 hours for Small Parcel Delivery (SPD) and one hour for Less-Than-Truckload (LTL) carrier shipments.\n\n**Usage Plan:**\n\n| Rate (requests per second) | Burst |\n| ---- | ---- |\n| 0.05 | 1 |\n\nThe `x-amzn-RateLimit-Limit` response header returns the usage plan rate limits that were applied to the requested operation, when available. The table above indicates the default rate and burst values for this operation. Selling partners whose business demands require higher throughput may see higher rate and burst values than those shown here. For more information, refer to [Usage Plans and Rate Limits in the Selling Partner API](https://developer-docs.amazon.com/sp-api/docs/usage-plans-and-rate-limits-in-the-sp-api).", + "operationId": "cancelInboundPlan" + } + }, + "/inbound/fba/2024-03-20/inboundPlans/{inboundPlanId}/items": { + "get": { + "produces": [ + "application/json" + ], + "parameters": [ + { + "description": "Identifier to an inbound plan.", + "in": "path", + "maxLength": 38, + "minLength": 38, + "name": "inboundPlanId", + "pattern": "^[a-zA-Z0-9-]*$", + "required": true, + "type": "string" + }, + { + "description": "The number of items to return in the response matching the given query.", + "in": "query", + "maximum": 1000, + "minimum": 1, + "name": "pageSize", + "type": "integer", + "default": 10 + }, + { + "description": "A token to fetch a certain page when there are multiple pages worth of results. The value of this token is fetched from the `pagination` returned in the API response. In the absence of the token value from the query parameter the API returns the first page of the result.", + "in": "query", + "maxLength": 1024, + "minLength": 0, + "name": "paginationToken", + "type": "string" + } + ], + "responses": { + "200": { + "description": "ListInboundPlanItems 200 response", + "schema": { + "$ref": "#/definitions/ListInboundPlanItemsResponse" + }, + "x-amzn-api-sandbox": { + "static": [ + { + "request": { + "parameters": { + "inboundPlanId": { + "value": "wf1234abcd-1234-abcd-5678-1234abcd5678" + }, + "pageSize": { + "value": 2 + }, + "paginationToken": { + "value": "paginationToken" + } + } + }, + "response": { + "items": [ + { + "quantity": 5, + "expiration": "2024-01-01", + "manufacturingLotCode": "manufacturingLotCode", + "prepInstructions": [ + { + "prepType": "ITEM_POLYBAGGING", + "prepOwner": "AMAZON", + "fee": { + "code": "USD", + "amount": 10.0 + } + } + ], + "msku": "msku", + "asin": "asin", + "fnsku": "fnsku", + "labelOwner": "AMAZON" + } + ], + "pagination": { + "nextToken": "nextPaginationToken" + } + } + } + ] + }, + "headers": { + "x-amzn-RequestId": { + "description": "Unique request reference identifier.", + "type": "string" + }, + "x-amzn-RateLimit-Limit": { + "description": "Your rate limit (requests per second) for this operation.", + "type": "string" + } + } + }, + "400": { + "description": "Request has missing or invalid parameters and cannot be parsed.", + "schema": { + "$ref": "#/definitions/ErrorList" + }, + "x-amzn-api-sandbox": { + "static": [ + { + "request": { + "parameters": { + "inboundPlanId": { + "value": "wfbad4abcd-1234-abcd-5678-1234abcd5678" + }, + "pageSize": { + "value": 1 + }, + "paginationToken": { + "value": "" + } + } + }, + "response": { + "errors": [ + { + "code": "BadRequest", + "message": "The requested inbound plan does not exist." + } + ] + } + } + ] + }, + "headers": { + "x-amzn-RequestId": { + "description": "Unique request reference identifier.", + "type": "string" + }, + "x-amzn-RateLimit-Limit": { + "description": "Your rate limit (requests per second) for this operation.", + "type": "string" + } + } + }, + "500": { + "description": "An unexpected condition occurred that prevented the server from fulfilling the request.", + "schema": { + "$ref": "#/definitions/ErrorList" + }, + "headers": { + "x-amzn-RequestId": { + "description": "Unique request reference identifier.", + "type": "string" + } + } + }, + "403": { + "description": "Indicates that access to the resource is forbidden. Possible reasons include Access Denied, Unauthorized, Expired Token, or Invalid Signature.", + "schema": { + "$ref": "#/definitions/ErrorList" + }, + "headers": { + "x-amzn-RequestId": { + "description": "Unique request reference identifier.", + "type": "string" + } + } + }, + "404": { + "description": "The resource specified does not exist.", + "schema": { + "$ref": "#/definitions/ErrorList" + }, + "headers": { + "x-amzn-RequestId": { + "description": "Unique request reference identifier.", + "type": "string" + }, + "x-amzn-RateLimit-Limit": { + "description": "Your rate limit (requests per second) for this operation.", + "type": "string" + } + } + }, + "413": { + "description": "The request size exceeded the maximum accepted size.", + "schema": { + "$ref": "#/definitions/ErrorList" + }, + "headers": { + "x-amzn-RequestId": { + "description": "Unique request reference identifier.", + "type": "string" + } + } + }, + "415": { + "description": "The request payload is in an unsupported format.", + "schema": { + "$ref": "#/definitions/ErrorList" + }, + "headers": { + "x-amzn-RequestId": { + "description": "Unique request reference identifier.", + "type": "string" + } + } + }, + "429": { + "description": "The frequency of requests was greater than allowed.", + "schema": { + "$ref": "#/definitions/ErrorList" + }, + "headers": { + "x-amzn-RequestId": { + "description": "Unique request reference identifier.", + "type": "string" + } + } + }, + "503": { + "description": "Temporary overloading or maintenance of the server.", + "schema": { + "$ref": "#/definitions/ErrorList" + }, + "headers": { + "x-amzn-RequestId": { + "description": "Unique request reference identifier.", + "type": "string" + } + } + } + }, + "tags": [ + "fbaInbound" + ], + "description": "Provides a paginated list of item packages in an inbound plan.\n\n**Usage Plan:**\n\n| Rate (requests per second) | Burst |\n| ---- | ---- |\n| 1 | 1 |\n\nThe `x-amzn-RateLimit-Limit` response header returns the usage plan rate limits that were applied to the requested operation, when available. The table above indicates the default rate and burst values for this operation. Selling partners whose business demands require higher throughput may see higher rate and burst values than those shown here. For more information, refer to [Usage Plans and Rate Limits in the Selling Partner API](https://developer-docs.amazon.com/sp-api/docs/usage-plans-and-rate-limits-in-the-sp-api).", + "operationId": "listInboundPlanItems" + } + }, + "/inbound/fba/2024-03-20/inboundPlans/{inboundPlanId}/packingInformation": { + "post": { + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "parameters": [ + { + "description": "Identifier to an inbound plan.", + "in": "path", + "maxLength": 38, + "minLength": 38, + "name": "inboundPlanId", + "pattern": "^[a-zA-Z0-9-]*$", + "required": true, + "type": "string" + }, + { + "in": "body", + "name": "body", + "required": true, + "schema": { + "$ref": "#/definitions/SetPackingInformationRequest" + }, + "description": "The body of the request to `setPackingInformation`." + } + ], + "responses": { + "202": { + "description": "SetPackingInformation 202 response", + "schema": { + "$ref": "#/definitions/SetPackingInformationResponse" + }, + "x-amzn-api-sandbox": { + "static": [ + { + "request": { + "parameters": { + "inboundPlanId": { + "value": "wf1234abcd-1234-abcd-5678-1234abcd5678" + }, + "body": { + "value": { + "packageGroupings": [ + { + "shipmentId": "sh1234abcd-1234-abcd-5678-1234abcd5678", + "packingGroupId": "pg1234abcd-1234-abcd-5678-1234abcd5678", + "boxes": [ + { + "boxId": "boxId", + "templateName": "templateName", + "contents": [ + { + "msku": "msku", + "quantityInBox": 5, + "expiration": "2024-01-01", + "prepOwner": "AMAZON", + "labelOwner": "AMAZON", + "manufacturingLotCode": "manufacturingLotCode" + } + ], + "contentInformationSource": "BOX_CONTENT_PROVIDED", + "weight": { + "unit": "KG", + "value": 5.5 + }, + "dimensions": { + "unitOfMeasurement": "CM", + "length": 3.0, + "width": 4.0, + "height": 5.0 + }, + "quantity": 2 + } + ] + } + ] + } + } + } + }, + "response": { + "operationId": "1234abcd-1234-abcd-5678-1234abcd5678" + } + } + ] + }, + "headers": { + "x-amzn-RequestId": { + "description": "Unique request reference identifier.", + "type": "string" + }, + "x-amzn-RateLimit-Limit": { + "description": "Your rate limit (requests per second) for this operation.", + "type": "string" + } + } + }, + "400": { + "description": "Request has missing or invalid parameters and cannot be parsed.", + "schema": { + "$ref": "#/definitions/ErrorList" + }, + "x-amzn-api-sandbox": { + "static": [ + { + "request": { + "parameters": { + "inboundPlanId": { + "value": "bad234abcd-1234-abcd-5678-1234abcd5678" + }, + "body": { + "value": { + "packageGroupings": [ + { + "shipmentId": "sh1234abcd-1234-abcd-5678-1234abcd5678", + "packingGroupId": "bad234abcd-1234-abcd-5678-1234abcd5678", + "boxes": [ + { + "boxId": "boxId", + "templateName": "templateName", + "contents": [ + { + "msku": "msku", + "quantityInBox": 5, + "expiration": "2024-01-01", + "prepOwner": "AMAZON", + "labelOwner": "AMAZON", + "manufacturingLotCode": "manufacturingLotCode" + } + ], + "contentInformationSource": "BOX_CONTENT_PROVIDED", + "weight": { + "unit": "KG", + "value": 5.5 + }, + "dimensions": { + "unitOfMeasurement": "CM", + "length": 3.0, + "width": 4.0, + "height": 5.0 + }, + "quantity": 2 + } + ] + } + ] + } + } + } + }, + "response": { + "errors": [ + { + "code": "BadRequest", + "message": "The requested packingGroupId does not exist for the specified inbound plan." + } + ] + } + } + ] + }, + "headers": { + "x-amzn-RequestId": { + "description": "Unique request reference identifier.", + "type": "string" + }, + "x-amzn-RateLimit-Limit": { + "description": "Your rate limit (requests per second) for this operation.", + "type": "string" + } + } + }, + "500": { + "description": "An unexpected condition occurred that prevented the server from fulfilling the request.", + "schema": { + "$ref": "#/definitions/ErrorList" + }, + "headers": { + "x-amzn-RequestId": { + "description": "Unique request reference identifier.", + "type": "string" + } + } + }, + "403": { + "description": "Indicates that access to the resource is forbidden. Possible reasons include Access Denied, Unauthorized, Expired Token, or Invalid Signature.", + "schema": { + "$ref": "#/definitions/ErrorList" + }, + "headers": { + "x-amzn-RequestId": { + "description": "Unique request reference identifier.", + "type": "string" + } + } + }, + "404": { + "description": "The resource specified does not exist.", + "schema": { + "$ref": "#/definitions/ErrorList" + }, + "headers": { + "x-amzn-RequestId": { + "description": "Unique request reference identifier.", + "type": "string" + }, + "x-amzn-RateLimit-Limit": { + "description": "Your rate limit (requests per second) for this operation.", + "type": "string" + } + } + }, + "413": { + "description": "The request size exceeded the maximum accepted size.", + "schema": { + "$ref": "#/definitions/ErrorList" + }, + "headers": { + "x-amzn-RequestId": { + "description": "Unique request reference identifier.", + "type": "string" + } + } + }, + "415": { + "description": "The request payload is in an unsupported format.", + "schema": { + "$ref": "#/definitions/ErrorList" + }, + "headers": { + "x-amzn-RequestId": { + "description": "Unique request reference identifier.", + "type": "string" + } + } + }, + "429": { + "description": "The frequency of requests was greater than allowed.", + "schema": { + "$ref": "#/definitions/ErrorList" + }, + "headers": { + "x-amzn-RequestId": { + "description": "Unique request reference identifier.", + "type": "string" + } + } + }, + "503": { + "description": "Temporary overloading or maintenance of the server.", + "schema": { + "$ref": "#/definitions/ErrorList" + }, + "headers": { + "x-amzn-RequestId": { + "description": "Unique request reference identifier.", + "type": "string" + } + } + } + }, + "tags": [ + "fbaInbound" + ], + "description": "Sets packing information for an inbound plan. This should be called after an inbound plan is created to populate\n the box level information required for planning and transportation estimates.\n\n**Usage Plan:**\n\n| Rate (requests per second) | Burst |\n| ---- | ---- |\n| 0.05 | 1 |\n\nThe `x-amzn-RateLimit-Limit` response header returns the usage plan rate limits that were applied to the requested operation, when available. The table above indicates the default rate and burst values for this operation. Selling partners whose business demands require higher throughput may see higher rate and burst values than those shown here. For more information, refer to [Usage Plans and Rate Limits in the Selling Partner API](https://developer-docs.amazon.com/sp-api/docs/usage-plans-and-rate-limits-in-the-sp-api).", + "operationId": "setPackingInformation" + } + }, + "/inbound/fba/2024-03-20/inboundPlans/{inboundPlanId}/packingOptions": { + "get": { + "produces": [ + "application/json" + ], + "parameters": [ + { + "description": "Identifier to an inbound plan.", + "in": "path", + "maxLength": 38, + "minLength": 38, + "name": "inboundPlanId", + "pattern": "^[a-zA-Z0-9-]*$", + "required": true, + "type": "string" + }, + { + "description": "The number of packing options to return in the response matching the given query.", + "in": "query", + "maximum": 20, + "minimum": 1, + "name": "pageSize", + "type": "integer", + "default": 10 + }, + { + "description": "A token to fetch a certain page when there are multiple pages worth of results. The value of this token is fetched from the `pagination` returned in the API response. In the absence of the token value from the query parameter the API returns the first page of the result.", + "in": "query", + "maxLength": 1024, + "minLength": 0, + "name": "paginationToken", + "type": "string" + } + ], + "responses": { + "200": { + "description": "ListPackingOptions 200 response", + "schema": { + "$ref": "#/definitions/ListPackingOptionsResponse" + }, + "x-amzn-api-sandbox": { + "static": [ + { + "request": { + "parameters": { + "inboundPlanId": { + "value": "wf1234abcd-1234-abcd-5678-1234abcd5678" + }, + "pageSize": { + "value": 2 + }, + "paginationToken": { + "value": "paginationToken" + } + } + }, + "response": { + "packingOptions": [ + { + "inboundPlanId": "wf1234abcd-1234-abcd-5678-1234abcd5678", + "packingOptionId": "po1234abcd-1234-abcd-5678-1234abcd5678", + "packingGroups": [ + "pg1234abcd-1234-abcd-5678-1234abcd5678" + ], + "fees": [ + { + "value": { + "code": "USD", + "amount": 1.0 + }, + "type": "FEE", + "target": "Placement Services", + "description": "description" + } + ], + "discounts": [ + { + "value": { + "code": "USD", + "amount": 1.0 + }, + "type": "DISCOUNT", + "target": "Placement Services", + "description": "description" + } + ], + "expiration": "2024-01-01T00:00:00.000Z", + "status": "OFFERED", + "supportedShippingConfigurations": [ + { + "shippingSolution": "AMAZON_PARTNERED_CARRIER", + "shippingMode": "GROUND_SMALL_PARCEL" + } + ] + } + ], + "pagination": { + "nextToken": "nextPaginationToken" + } + } + } + ] + }, + "headers": { + "x-amzn-RequestId": { + "description": "Unique request reference identifier.", + "type": "string" + }, + "x-amzn-RateLimit-Limit": { + "description": "Your rate limit (requests per second) for this operation.", + "type": "string" + } + } + }, + "400": { + "description": "Request has missing or invalid parameters and cannot be parsed.", + "schema": { + "$ref": "#/definitions/ErrorList" + }, + "x-amzn-api-sandbox": { + "static": [ + { + "request": { + "parameters": { + "inboundPlanId": { + "value": "bad234abcd-1234-abcd-5678-1234abcd5678" + }, + "pageSize": { + "value": 2 + }, + "paginationToken": { + "value": "paginationToken" + } + } + }, + "response": { + "errors": [ + { + "code": "BadRequest", + "message": "The requested inbound plan does not exist." + } + ] + } + } + ] + }, + "headers": { + "x-amzn-RequestId": { + "description": "Unique request reference identifier.", + "type": "string" + }, + "x-amzn-RateLimit-Limit": { + "description": "Your rate limit (requests per second) for this operation.", + "type": "string" + } + } + }, + "500": { + "description": "An unexpected condition occurred that prevented the server from fulfilling the request.", + "schema": { + "$ref": "#/definitions/ErrorList" + }, + "headers": { + "x-amzn-RequestId": { + "description": "Unique request reference identifier.", + "type": "string" + } + } + }, + "403": { + "description": "Indicates that access to the resource is forbidden. Possible reasons include Access Denied, Unauthorized, Expired Token, or Invalid Signature.", + "schema": { + "$ref": "#/definitions/ErrorList" + }, + "headers": { + "x-amzn-RequestId": { + "description": "Unique request reference identifier.", + "type": "string" + } + } + }, + "404": { + "description": "The resource specified does not exist.", + "schema": { + "$ref": "#/definitions/ErrorList" + }, + "headers": { + "x-amzn-RequestId": { + "description": "Unique request reference identifier.", + "type": "string" + }, + "x-amzn-RateLimit-Limit": { + "description": "Your rate limit (requests per second) for this operation.", + "type": "string" + } + } + }, + "413": { + "description": "The request size exceeded the maximum accepted size.", + "schema": { + "$ref": "#/definitions/ErrorList" + }, + "headers": { + "x-amzn-RequestId": { + "description": "Unique request reference identifier.", + "type": "string" + } + } + }, + "415": { + "description": "The request payload is in an unsupported format.", + "schema": { + "$ref": "#/definitions/ErrorList" + }, + "headers": { + "x-amzn-RequestId": { + "description": "Unique request reference identifier.", + "type": "string" + } + } + }, + "429": { + "description": "The frequency of requests was greater than allowed.", + "schema": { + "$ref": "#/definitions/ErrorList" + }, + "headers": { + "x-amzn-RequestId": { + "description": "Unique request reference identifier.", + "type": "string" + } + } + }, + "503": { + "description": "Temporary overloading or maintenance of the server.", + "schema": { + "$ref": "#/definitions/ErrorList" + }, + "headers": { + "x-amzn-RequestId": { + "description": "Unique request reference identifier.", + "type": "string" + } + } + } + }, + "tags": [ + "fbaInbound" + ], + "description": "Retrieves a list of all packing options for an inbound plan. Packing options must first be generated by the corresponding endpoint before becoming available.\n\n**Usage Plan:**\n\n| Rate (requests per second) | Burst |\n| ---- | ---- |\n| 1 | 1 |\n\nThe `x-amzn-RateLimit-Limit` response header returns the usage plan rate limits that were applied to the requested operation, when available. The table above indicates the default rate and burst values for this operation. Selling partners whose business demands require higher throughput may see higher rate and burst values than those shown here. For more information, refer to [Usage Plans and Rate Limits in the Selling Partner API](https://developer-docs.amazon.com/sp-api/docs/usage-plans-and-rate-limits-in-the-sp-api).", + "operationId": "listPackingOptions" + }, + "post": { + "produces": [ + "application/json" + ], + "parameters": [ + { + "description": "Identifier to an inbound plan.", + "in": "path", + "maxLength": 38, + "minLength": 38, + "name": "inboundPlanId", + "pattern": "^[a-zA-Z0-9-]*$", + "required": true, + "type": "string" + } + ], + "responses": { + "202": { + "description": "GeneratePackingOptions 202 response", + "schema": { + "$ref": "#/definitions/GeneratePackingOptionsResponse" + }, + "x-amzn-api-sandbox": { + "static": [ + { + "request": { + "parameters": { + "inboundPlanId": { + "value": "wf1234abcd-1234-abcd-5678-1234abcd5678" + } + } + }, + "response": { + "operationId": "1234abcd-1234-abcd-5678-1234abcd5678" + } + } + ] + }, + "headers": { + "x-amzn-RequestId": { + "description": "Unique request reference identifier.", + "type": "string" + }, + "x-amzn-RateLimit-Limit": { + "description": "Your rate limit (requests per second) for this operation.", + "type": "string" + } + } + }, + "400": { + "description": "Request has missing or invalid parameters and cannot be parsed.", + "schema": { + "$ref": "#/definitions/ErrorList" + }, + "x-amzn-api-sandbox": { + "static": [ + { + "request": { + "parameters": { + "inboundPlanId": { + "value": "wfbad4abcd-1234-abcd-5678-1234abcd5678" + } + } + }, + "response": { + "errors": [ + { + "code": "BadRequest", + "message": "The inbound plan is not in a valid state to generate packing options." + } + ] + } + } + ] + }, + "headers": { + "x-amzn-RequestId": { + "description": "Unique request reference identifier.", + "type": "string" + }, + "x-amzn-RateLimit-Limit": { + "description": "Your rate limit (requests per second) for this operation.", + "type": "string" + } + } + }, + "500": { + "description": "An unexpected condition occurred that prevented the server from fulfilling the request.", + "schema": { + "$ref": "#/definitions/ErrorList" + }, + "headers": { + "x-amzn-RequestId": { + "description": "Unique request reference identifier.", + "type": "string" + } + } + }, + "403": { + "description": "Indicates that access to the resource is forbidden. Possible reasons include Access Denied, Unauthorized, Expired Token, or Invalid Signature.", + "schema": { + "$ref": "#/definitions/ErrorList" + }, + "headers": { + "x-amzn-RequestId": { + "description": "Unique request reference identifier.", + "type": "string" + } + } + }, + "404": { + "description": "The resource specified does not exist.", + "schema": { + "$ref": "#/definitions/ErrorList" + }, + "headers": { + "x-amzn-RequestId": { + "description": "Unique request reference identifier.", + "type": "string" + }, + "x-amzn-RateLimit-Limit": { + "description": "Your rate limit (requests per second) for this operation.", + "type": "string" + } + } + }, + "413": { + "description": "The request size exceeded the maximum accepted size.", + "schema": { + "$ref": "#/definitions/ErrorList" + }, + "headers": { + "x-amzn-RequestId": { + "description": "Unique request reference identifier.", + "type": "string" + } + } + }, + "415": { + "description": "The request payload is in an unsupported format.", + "schema": { + "$ref": "#/definitions/ErrorList" + }, + "headers": { + "x-amzn-RequestId": { + "description": "Unique request reference identifier.", + "type": "string" + } + } + }, + "429": { + "description": "The frequency of requests was greater than allowed.", + "schema": { + "$ref": "#/definitions/ErrorList" + }, + "headers": { + "x-amzn-RequestId": { + "description": "Unique request reference identifier.", + "type": "string" + } + } + }, + "503": { + "description": "Temporary overloading or maintenance of the server.", + "schema": { + "$ref": "#/definitions/ErrorList" + }, + "headers": { + "x-amzn-RequestId": { + "description": "Unique request reference identifier.", + "type": "string" + } + } + } + }, + "tags": [ + "fbaInbound" + ], + "description": "Generates available packing options for the inbound plan.\n\n**Usage Plan:**\n\n| Rate (requests per second) | Burst |\n| ---- | ---- |\n| 0.05 | 1 |\n\nThe `x-amzn-RateLimit-Limit` response header returns the usage plan rate limits that were applied to the requested operation, when available. The table above indicates the default rate and burst values for this operation. Selling partners whose business demands require higher throughput may see higher rate and burst values than those shown here. For more information, refer to [Usage Plans and Rate Limits in the Selling Partner API](https://developer-docs.amazon.com/sp-api/docs/usage-plans-and-rate-limits-in-the-sp-api).", + "operationId": "generatePackingOptions" + } + }, + "/inbound/fba/2024-03-20/inboundPlans/{inboundPlanId}/packingOptions/{packingOptionId}/confirmation": { + "post": { + "produces": [ + "application/json" + ], + "parameters": [ + { + "description": "Identifier to an inbound plan.", + "in": "path", + "maxLength": 38, + "minLength": 38, + "name": "inboundPlanId", + "pattern": "^[a-zA-Z0-9-]*$", + "required": true, + "type": "string" + }, + { + "description": "Identifier to a packing option.", + "in": "path", + "maxLength": 38, + "minLength": 38, + "name": "packingOptionId", + "pattern": "^[a-zA-Z0-9-]*$", + "required": true, + "type": "string" + } + ], + "responses": { + "202": { + "description": "ConfirmPackingOption 202 response", + "schema": { + "$ref": "#/definitions/ConfirmPackingOptionResponse" + }, + "x-amzn-api-sandbox": { + "static": [ + { + "request": { + "parameters": { + "inboundPlanId": { + "value": "wf1234abcd-1234-abcd-5678-1234abcd5678" + }, + "packingOptionId": { + "value": "po1234abcd-1234-abcd-5678-1234abcd5678" + } + } + }, + "response": { + "operationId": "1234abcd-1234-abcd-5678-1234abcd5678" + } + } + ] + }, + "headers": { + "x-amzn-RequestId": { + "description": "Unique request reference identifier.", + "type": "string" + }, + "x-amzn-RateLimit-Limit": { + "description": "Your rate limit (requests per second) for this operation.", + "type": "string" + } + } + }, + "400": { + "description": "Request has missing or invalid parameters and cannot be parsed.", + "schema": { + "$ref": "#/definitions/ErrorList" + }, + "x-amzn-api-sandbox": { + "static": [ + { + "request": { + "parameters": { + "inboundPlanId": { + "value": "wf1234abcd-1234-abcd-5678-1234abcd5678" + }, + "packingOptionId": { + "value": "bad234abcd-1234-abcd-5678-1234abcd5678" + } + } + }, + "response": { + "errors": [ + { + "code": "BadRequest", + "message": "The requested packingOptionId does not exist for the given inbound plan." + } + ] + } + } + ] + }, + "headers": { + "x-amzn-RequestId": { + "description": "Unique request reference identifier.", + "type": "string" + }, + "x-amzn-RateLimit-Limit": { + "description": "Your rate limit (requests per second) for this operation.", + "type": "string" + } + } + }, + "500": { + "description": "An unexpected condition occurred that prevented the server from fulfilling the request.", + "schema": { + "$ref": "#/definitions/ErrorList" + }, + "headers": { + "x-amzn-RequestId": { + "description": "Unique request reference identifier.", + "type": "string" + } + } + }, + "403": { + "description": "Indicates that access to the resource is forbidden. Possible reasons include Access Denied, Unauthorized, Expired Token, or Invalid Signature.", + "schema": { + "$ref": "#/definitions/ErrorList" + }, + "headers": { + "x-amzn-RequestId": { + "description": "Unique request reference identifier.", + "type": "string" + } + } + }, + "404": { + "description": "The resource specified does not exist.", + "schema": { + "$ref": "#/definitions/ErrorList" + }, + "headers": { + "x-amzn-RequestId": { + "description": "Unique request reference identifier.", + "type": "string" + }, + "x-amzn-RateLimit-Limit": { + "description": "Your rate limit (requests per second) for this operation.", + "type": "string" + } + } + }, + "413": { + "description": "The request size exceeded the maximum accepted size.", + "schema": { + "$ref": "#/definitions/ErrorList" + }, + "headers": { + "x-amzn-RequestId": { + "description": "Unique request reference identifier.", + "type": "string" + } + } + }, + "415": { + "description": "The request payload is in an unsupported format.", + "schema": { + "$ref": "#/definitions/ErrorList" + }, + "headers": { + "x-amzn-RequestId": { + "description": "Unique request reference identifier.", + "type": "string" + } + } + }, + "429": { + "description": "The frequency of requests was greater than allowed.", + "schema": { + "$ref": "#/definitions/ErrorList" + }, + "headers": { + "x-amzn-RequestId": { + "description": "Unique request reference identifier.", + "type": "string" + } + } + }, + "503": { + "description": "Temporary overloading or maintenance of the server.", + "schema": { + "$ref": "#/definitions/ErrorList" + }, + "headers": { + "x-amzn-RequestId": { + "description": "Unique request reference identifier.", + "type": "string" + } + } + } + }, + "tags": [ + "fbaInbound" + ], + "description": "Confirms the packing option for an inbound plan.\n\n**Usage Plan:**\n\n| Rate (requests per second) | Burst |\n| ---- | ---- |\n| 0.05 | 1 |\n\nThe `x-amzn-RateLimit-Limit` response header returns the usage plan rate limits that were applied to the requested operation, when available. The table above indicates the default rate and burst values for this operation. Selling partners whose business demands require higher throughput may see higher rate and burst values than those shown here. For more information, refer to [Usage Plans and Rate Limits in the Selling Partner API](https://developer-docs.amazon.com/sp-api/docs/usage-plans-and-rate-limits-in-the-sp-api).", + "operationId": "confirmPackingOption" + } + }, + "/inbound/fba/2024-03-20/inboundPlans/{inboundPlanId}/packingOptions/{packingOptionId}/packingGroups/{packingGroupId}/items": { + "get": { + "produces": [ + "application/json" + ], + "parameters": [ + { + "description": "Identifier to an inbound plan.", + "in": "path", + "maxLength": 38, + "minLength": 38, + "name": "inboundPlanId", + "pattern": "^[a-zA-Z0-9-]*$", + "required": true, + "type": "string" + }, + { + "description": "Identifier to a packing option.", + "in": "path", + "maxLength": 38, + "minLength": 38, + "name": "packingOptionId", + "pattern": "^[a-zA-Z0-9-]*$", + "required": true, + "type": "string" + }, + { + "description": "Identifier to a packing group.", + "in": "path", + "maxLength": 38, + "minLength": 38, + "name": "packingGroupId", + "pattern": "^[a-zA-Z0-9-]*$", + "required": true, + "type": "string" + }, + { + "description": "The number of packing group items to return in the response matching the given query.", + "in": "query", + "maximum": 100, + "minimum": 1, + "name": "pageSize", + "type": "integer", + "default": 10 + }, + { + "description": "A token to fetch a certain page when there are multiple pages worth of results. The value of this token is fetched from the `pagination` returned in the API response. In the absence of the token value from the query parameter the API returns the first page of the result.", + "in": "query", + "maxLength": 1024, + "minLength": 0, + "name": "paginationToken", + "type": "string" + } + ], + "responses": { + "200": { + "description": "ListPackingGroupItems 200 response", + "schema": { + "$ref": "#/definitions/ListPackingGroupItemsResponse" + }, + "x-amzn-api-sandbox": { + "static": [ + { + "request": { + "parameters": { + "inboundPlanId": { + "value": "wf1234abcd-1234-abcd-5678-1234abcd5678" + }, + "packingOptionId": { + "value": "po1234abcd-1234-abcd-5678-1234abcd5678" + }, + "packingGroupId": { + "value": "pg1234abcd-1234-abcd-5678-1234abcd5678" + }, + "pageSize": { + "value": 2 + }, + "paginationToken": { + "value": "paginationToken" + } + } + }, + "response": { + "items": [ + { + "quantity": 5, + "prepInstructions": [ + { + "prepType": "ITEM_POLYBAGGING", + "prepOwner": "AMAZON", + "fee": { + "code": "USD", + "amount": 10.0 + } + } + ], + "msku": "msku", + "asin": "asin", + "fnsku": "fnsku", + "labelOwner": "AMAZON" + } + ], + "pagination": { + "nextToken": "nextPaginationToken" + } + } + } + ] + }, + "headers": { + "x-amzn-RequestId": { + "description": "Unique request reference identifier.", + "type": "string" + }, + "x-amzn-RateLimit-Limit": { + "description": "Your rate limit (requests per second) for this operation.", + "type": "string" + } + } + }, + "400": { + "description": "Request has missing or invalid parameters and cannot be parsed.", + "schema": { + "$ref": "#/definitions/ErrorList" + }, + "x-amzn-api-sandbox": { + "static": [ + { + "request": { + "parameters": { + "inboundPlanId": { + "value": "wf1234abcd-1234-abcd-5678-1234abcd5678" + }, + "packingOptionId": { + "value": "bad234abcd-1234-abcd-5678-1234abcd5678" + }, + "packingGroupId": { + "value": "pg1234abcd-1234-abcd-5678-1234abcd5678" + }, + "pageSize": { + "value": 2 + }, + "paginationToken": { + "value": "paginationToken" + } + } + }, + "response": { + "errors": [ + { + "code": "BadRequest", + "message": "The requested packingOptionId does not exist for the specified inbound plan." + } + ] + } + } + ] + }, + "headers": { + "x-amzn-RequestId": { + "description": "Unique request reference identifier.", + "type": "string" + }, + "x-amzn-RateLimit-Limit": { + "description": "Your rate limit (requests per second) for this operation.", + "type": "string" + } + } + }, + "500": { + "description": "An unexpected condition occurred that prevented the server from fulfilling the request.", + "schema": { + "$ref": "#/definitions/ErrorList" + }, + "headers": { + "x-amzn-RequestId": { + "description": "Unique request reference identifier.", + "type": "string" + } + } + }, + "403": { + "description": "Indicates that access to the resource is forbidden. Possible reasons include Access Denied, Unauthorized, Expired Token, or Invalid Signature.", + "schema": { + "$ref": "#/definitions/ErrorList" + }, + "headers": { + "x-amzn-RequestId": { + "description": "Unique request reference identifier.", + "type": "string" + } + } + }, + "404": { + "description": "The resource specified does not exist.", + "schema": { + "$ref": "#/definitions/ErrorList" + }, + "headers": { + "x-amzn-RequestId": { + "description": "Unique request reference identifier.", + "type": "string" + }, + "x-amzn-RateLimit-Limit": { + "description": "Your rate limit (requests per second) for this operation.", + "type": "string" + } + } + }, + "413": { + "description": "The request size exceeded the maximum accepted size.", + "schema": { + "$ref": "#/definitions/ErrorList" + }, + "headers": { + "x-amzn-RequestId": { + "description": "Unique request reference identifier.", + "type": "string" + } + } + }, + "415": { + "description": "The request payload is in an unsupported format.", + "schema": { + "$ref": "#/definitions/ErrorList" + }, + "headers": { + "x-amzn-RequestId": { + "description": "Unique request reference identifier.", + "type": "string" + } + } + }, + "429": { + "description": "The frequency of requests was greater than allowed.", + "schema": { + "$ref": "#/definitions/ErrorList" + }, + "headers": { + "x-amzn-RequestId": { + "description": "Unique request reference identifier.", + "type": "string" + } + } + }, + "503": { + "description": "Temporary overloading or maintenance of the server.", + "schema": { + "$ref": "#/definitions/ErrorList" + }, + "headers": { + "x-amzn-RequestId": { + "description": "Unique request reference identifier.", + "type": "string" + } + } + } + }, + "tags": [ + "fbaInbound" + ], + "description": "Retrieves a list of all items in a packing options's packing group. Packing options must first be generated by the corresponding endpoint before packing group items can be listed.\n\n**Usage Plan:**\n\n| Rate (requests per second) | Burst |\n| ---- | ---- |\n| 1 | 1 |\n\nThe `x-amzn-RateLimit-Limit` response header returns the usage plan rate limits that were applied to the requested operation, when available. The table above indicates the default rate and burst values for this operation. Selling partners whose business demands require higher throughput may see higher rate and burst values than those shown here. For more information, refer to [Usage Plans and Rate Limits in the Selling Partner API](https://developer-docs.amazon.com/sp-api/docs/usage-plans-and-rate-limits-in-the-sp-api).", + "operationId": "listPackingGroupItems" + } + }, + "/inbound/fba/2024-03-20/inboundPlans/{inboundPlanId}/pallets": { + "get": { + "produces": [ + "application/json" + ], + "parameters": [ + { + "description": "Identifier to an inbound plan.", + "in": "path", + "maxLength": 38, + "minLength": 38, + "name": "inboundPlanId", + "pattern": "^[a-zA-Z0-9-]*$", + "required": true, + "type": "string" + }, + { + "description": "The number of pallets to return in the response matching the given query.", + "in": "query", + "maximum": 1000, + "minimum": 1, + "name": "pageSize", + "type": "integer", + "default": 10 + }, + { + "description": "A token to fetch a certain page when there are multiple pages worth of results. The value of this token is fetched from the `pagination` returned in the API response. In the absence of the token value from the query parameter the API returns the first page of the result.", + "in": "query", + "maxLength": 1024, + "minLength": 0, + "name": "paginationToken", + "type": "string" + } + ], + "responses": { + "200": { + "description": "ListInboundPlanPallets 200 response", + "schema": { + "$ref": "#/definitions/ListInboundPlanPalletsResponse" + }, + "x-amzn-api-sandbox": { + "static": [ + { + "request": { + "parameters": { + "inboundPlanId": { + "value": "wf1234abcd-1234-abcd-5678-1234abcd5678" + }, + "pageSize": { + "value": 2 + }, + "paginationToken": { + "value": "paginationToken" + } + } + }, + "response": { + "pallets": [ + { + "stackability": "STACKABLE", + "packageId": "pk1234abcd-1234-abcd-5678-1234abcd5678", + "weight": { + "unit": "KG", + "value": 5.5 + }, + "dimensions": { + "unitOfMeasurement": "CM", + "length": 3.0, + "width": 4.0, + "height": 5.0 + }, + "quantity": 2 + } + ], + "pagination": { + "nextToken": "nextPaginationToken" + } + } + } + ] + }, + "headers": { + "x-amzn-RequestId": { + "description": "Unique request reference identifier.", + "type": "string" + }, + "x-amzn-RateLimit-Limit": { + "description": "Your rate limit (requests per second) for this operation.", + "type": "string" + } + } + }, + "400": { + "description": "Request has missing or invalid parameters and cannot be parsed.", + "schema": { + "$ref": "#/definitions/ErrorList" + }, + "x-amzn-api-sandbox": { + "static": [ + { + "request": { + "parameters": { + "inboundPlanId": { + "value": "bad234abcd-1234-abcd-5678-1234abcd5678" + }, + "pageSize": { + "value": 2 + }, + "paginationToken": { + "value": "paginationToken" + } + } + }, + "response": { + "errors": [ + { + "code": "BadRequest", + "message": "The requested inbound plan does not exist." + } + ] + } + } + ] + }, + "headers": { + "x-amzn-RequestId": { + "description": "Unique request reference identifier.", + "type": "string" + }, + "x-amzn-RateLimit-Limit": { + "description": "Your rate limit (requests per second) for this operation.", + "type": "string" + } + } + }, + "500": { + "description": "An unexpected condition occurred that prevented the server from fulfilling the request.", + "schema": { + "$ref": "#/definitions/ErrorList" + }, + "headers": { + "x-amzn-RequestId": { + "description": "Unique request reference identifier.", + "type": "string" + } + } + }, + "403": { + "description": "Indicates that access to the resource is forbidden. Possible reasons include Access Denied, Unauthorized, Expired Token, or Invalid Signature.", + "schema": { + "$ref": "#/definitions/ErrorList" + }, + "headers": { + "x-amzn-RequestId": { + "description": "Unique request reference identifier.", + "type": "string" + } + } + }, + "404": { + "description": "The resource specified does not exist.", + "schema": { + "$ref": "#/definitions/ErrorList" + }, + "headers": { + "x-amzn-RequestId": { + "description": "Unique request reference identifier.", + "type": "string" + }, + "x-amzn-RateLimit-Limit": { + "description": "Your rate limit (requests per second) for this operation.", + "type": "string" + } + } + }, + "413": { + "description": "The request size exceeded the maximum accepted size.", + "schema": { + "$ref": "#/definitions/ErrorList" + }, + "headers": { + "x-amzn-RequestId": { + "description": "Unique request reference identifier.", + "type": "string" + } + } + }, + "415": { + "description": "The request payload is in an unsupported format.", + "schema": { + "$ref": "#/definitions/ErrorList" + }, + "headers": { + "x-amzn-RequestId": { + "description": "Unique request reference identifier.", + "type": "string" + } + } + }, + "429": { + "description": "The frequency of requests was greater than allowed.", + "schema": { + "$ref": "#/definitions/ErrorList" + }, + "headers": { + "x-amzn-RequestId": { + "description": "Unique request reference identifier.", + "type": "string" + } + } + }, + "503": { + "description": "Temporary overloading or maintenance of the server.", + "schema": { + "$ref": "#/definitions/ErrorList" + }, + "headers": { + "x-amzn-RequestId": { + "description": "Unique request reference identifier.", + "type": "string" + } + } + } + }, + "tags": [ + "fbaInbound" + ], + "description": "Provides a paginated list of pallet packages in an inbound plan. An inbound plan will have pallets when the related details are provided after generating Less-Than-Truckload (LTL) carrier shipments.\n\n**Usage Plan:**\n\n| Rate (requests per second) | Burst |\n| ---- | ---- |\n| 1 | 1 |\n\nThe `x-amzn-RateLimit-Limit` response header returns the usage plan rate limits that were applied to the requested operation, when available. The table above indicates the default rate and burst values for this operation. Selling partners whose business demands require higher throughput may see higher rate and burst values than those shown here. For more information, refer to [Usage Plans and Rate Limits in the Selling Partner API](https://developer-docs.amazon.com/sp-api/docs/usage-plans-and-rate-limits-in-the-sp-api).", + "operationId": "listInboundPlanPallets" + } + }, + "/inbound/fba/2024-03-20/inboundPlans/{inboundPlanId}/placementOptions": { + "get": { + "produces": [ + "application/json" + ], + "parameters": [ + { + "description": "Identifier to an inbound plan.", + "in": "path", + "maxLength": 38, + "minLength": 38, + "name": "inboundPlanId", + "pattern": "^[a-zA-Z0-9-]*$", + "required": true, + "type": "string" + }, + { + "description": "The number of placement options to return in the response matching the given query.", + "in": "query", + "maximum": 20, + "minimum": 1, + "name": "pageSize", + "type": "integer", + "default": 10 + }, + { + "description": "A token to fetch a certain page when there are multiple pages worth of results. The value of this token is fetched from the `pagination` returned in the API response. In the absence of the token value from the query parameter the API returns the first page of the result.", + "in": "query", + "maxLength": 1024, + "minLength": 0, + "name": "paginationToken", + "type": "string" + } + ], + "responses": { + "200": { + "description": "ListPlacementOptions 200 response", + "schema": { + "$ref": "#/definitions/ListPlacementOptionsResponse" + }, + "x-amzn-api-sandbox": { + "static": [ + { + "request": { + "parameters": { + "inboundPlanId": { + "value": "wf1234abcd-1234-abcd-5678-1234abcd5678" + }, + "pageSize": { + "value": 2 + }, + "paginationToken": { + "value": "paginationToken" + } + } + }, + "response": { + "placementOptions": [ + { + "placementOptionId": "pl1234abcd-1234-abcd-5678-1234abcd5678", + "status": "OFFERED", + "fees": [ + { + "value": { + "code": "USD", + "amount": 1.0 + }, + "type": "FEE", + "target": "Placement Services", + "description": "description" + } + ], + "discounts": [ + { + "value": { + "code": "USD", + "amount": 1.0 + }, + "type": "DISCOUNT", + "target": "Placement Services", + "description": "description" + } + ], + "expiration": "2024-01-01T00:00:00.000Z", + "shipmentIds": [ + "sh1234abcd-1234-abcd-5678-1234abcd5678" + ] + } + ], + "pagination": { + "nextToken": "nextPaginationToken" + } + } + } + ] + }, + "headers": { + "x-amzn-RequestId": { + "description": "Unique request reference identifier.", + "type": "string" + }, + "x-amzn-RateLimit-Limit": { + "description": "Your rate limit (requests per second) for this operation.", + "type": "string" + } + } + }, + "400": { + "description": "Request has missing or invalid parameters and cannot be parsed.", + "schema": { + "$ref": "#/definitions/ErrorList" + }, + "x-amzn-api-sandbox": { + "static": [ + { + "request": { + "parameters": { + "inboundPlanId": { + "value": "bad234abcd-1234-abcd-5678-1234abcd5678" + }, + "pageSize": { + "value": 2 + }, + "paginationToken": { + "value": "paginationToken" + } + } + }, + "response": { + "errors": [ + { + "code": "BadRequest", + "message": "The requested inbound plan does not exist." + } + ] + } + } + ] + }, + "headers": { + "x-amzn-RequestId": { + "description": "Unique request reference identifier.", + "type": "string" + }, + "x-amzn-RateLimit-Limit": { + "description": "Your rate limit (requests per second) for this operation.", + "type": "string" + } + } + }, + "500": { + "description": "An unexpected condition occurred that prevented the server from fulfilling the request.", + "schema": { + "$ref": "#/definitions/ErrorList" + }, + "headers": { + "x-amzn-RequestId": { + "description": "Unique request reference identifier.", + "type": "string" + } + } + }, + "403": { + "description": "Indicates that access to the resource is forbidden. Possible reasons include Access Denied, Unauthorized, Expired Token, or Invalid Signature.", + "schema": { + "$ref": "#/definitions/ErrorList" + }, + "headers": { + "x-amzn-RequestId": { + "description": "Unique request reference identifier.", + "type": "string" + } + } + }, + "404": { + "description": "The resource specified does not exist.", + "schema": { + "$ref": "#/definitions/ErrorList" + }, + "headers": { + "x-amzn-RequestId": { + "description": "Unique request reference identifier.", + "type": "string" + }, + "x-amzn-RateLimit-Limit": { + "description": "Your rate limit (requests per second) for this operation.", + "type": "string" + } + } + }, + "413": { + "description": "The request size exceeded the maximum accepted size.", + "schema": { + "$ref": "#/definitions/ErrorList" + }, + "headers": { + "x-amzn-RequestId": { + "description": "Unique request reference identifier.", + "type": "string" + } + } + }, + "415": { + "description": "The request payload is in an unsupported format.", + "schema": { + "$ref": "#/definitions/ErrorList" + }, + "headers": { + "x-amzn-RequestId": { + "description": "Unique request reference identifier.", + "type": "string" + } + } + }, + "429": { + "description": "The frequency of requests was greater than allowed.", + "schema": { + "$ref": "#/definitions/ErrorList" + }, + "headers": { + "x-amzn-RequestId": { + "description": "Unique request reference identifier.", + "type": "string" + } + } + }, + "503": { + "description": "Temporary overloading or maintenance of the server.", + "schema": { + "$ref": "#/definitions/ErrorList" + }, + "headers": { + "x-amzn-RequestId": { + "description": "Unique request reference identifier.", + "type": "string" + } + } + } + }, + "tags": [ + "fbaInbound" + ], + "description": "Provides a list of all placement options for an inbound plan. Placement options must first be generated by the corresponding endpoint before becoming available.\n\n**Usage Plan:**\n\n| Rate (requests per second) | Burst |\n| ---- | ---- |\n| 1 | 1 |\n\nThe `x-amzn-RateLimit-Limit` response header returns the usage plan rate limits that were applied to the requested operation, when available. The table above indicates the default rate and burst values for this operation. Selling partners whose business demands require higher throughput may see higher rate and burst values than those shown here. For more information, refer to [Usage Plans and Rate Limits in the Selling Partner API](https://developer-docs.amazon.com/sp-api/docs/usage-plans-and-rate-limits-in-the-sp-api).", + "operationId": "listPlacementOptions" + }, + "post": { + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "parameters": [ + { + "description": "Identifier to an inbound plan.", + "in": "path", + "maxLength": 38, + "minLength": 38, + "name": "inboundPlanId", + "pattern": "^[a-zA-Z0-9-]*$", + "required": true, + "type": "string" + }, + { + "in": "body", + "name": "body", + "required": true, + "schema": { + "$ref": "#/definitions/GeneratePlacementOptionsRequest" + }, + "description": "The body of the request to `generatePlacementOptions`." + } + ], + "responses": { + "202": { + "description": "GeneratePlacementOptions 202 response", + "schema": { + "$ref": "#/definitions/GeneratePlacementOptionsResponse" + }, + "x-amzn-api-sandbox": { + "static": [ + { + "request": { + "parameters": { + "inboundPlanId": { + "value": "wf1234abcd-1234-abcd-5678-1234abcd5678" + }, + "body": { + "value": { + "customPlacement": [ + { + "warehouseId": "warehouseId", + "items": [ + { + "msku": "msku", + "prepOwner": "AMAZON", + "labelOwner": "AMAZON", + "quantity": 2, + "expiration": "2024-01-01", + "manufacturingLotCode": "lotCode" + } + ] + } + ] + } + } + } + }, + "response": { + "operationId": "1234abcd-1234-abcd-5678-1234abcd5678" + } + } + ] + }, + "headers": { + "x-amzn-RequestId": { + "description": "Unique request reference identifier.", + "type": "string" + }, + "x-amzn-RateLimit-Limit": { + "description": "Your rate limit (requests per second) for this operation.", + "type": "string" + } + } + }, + "400": { + "description": "Request has missing or invalid parameters and cannot be parsed.", + "schema": { + "$ref": "#/definitions/ErrorList" + }, + "x-amzn-api-sandbox": { + "static": [ + { + "request": { + "parameters": { + "inboundPlanId": { + "value": "wf1234abcd-1234-abcd-5678-1234abcd5678" + }, + "body": { + "value": { + "customPlacement": [ + { + "warehouseId": "badWarehouseId", + "items": [ + { + "msku": "msku", + "prepOwner": "AMAZON", + "labelOwner": "AMAZON", + "quantity": 2, + "expiration": "2024-01-01", + "manufacturingLotCode": "lotCode" + } + ] + } + ] + } + } + } + }, + "response": { + "errors": [ + { + "code": "BadRequest", + "message": "The inbound plan is not in a valid state to generate placement options." + } + ] + } + } + ] + }, + "headers": { + "x-amzn-RequestId": { + "description": "Unique request reference identifier.", + "type": "string" + }, + "x-amzn-RateLimit-Limit": { + "description": "Your rate limit (requests per second) for this operation.", + "type": "string" + } + } + }, + "500": { + "description": "An unexpected condition occurred that prevented the server from fulfilling the request.", + "schema": { + "$ref": "#/definitions/ErrorList" + }, + "headers": { + "x-amzn-RequestId": { + "description": "Unique request reference identifier.", + "type": "string" + } + } + }, + "403": { + "description": "Indicates that access to the resource is forbidden. Possible reasons include Access Denied, Unauthorized, Expired Token, or Invalid Signature.", + "schema": { + "$ref": "#/definitions/ErrorList" + }, + "headers": { + "x-amzn-RequestId": { + "description": "Unique request reference identifier.", + "type": "string" + } + } + }, + "404": { + "description": "The resource specified does not exist.", + "schema": { + "$ref": "#/definitions/ErrorList" + }, + "headers": { + "x-amzn-RequestId": { + "description": "Unique request reference identifier.", + "type": "string" + }, + "x-amzn-RateLimit-Limit": { + "description": "Your rate limit (requests per second) for this operation.", + "type": "string" + } + } + }, + "413": { + "description": "The request size exceeded the maximum accepted size.", + "schema": { + "$ref": "#/definitions/ErrorList" + }, + "headers": { + "x-amzn-RequestId": { + "description": "Unique request reference identifier.", + "type": "string" + } + } + }, + "415": { + "description": "The request payload is in an unsupported format.", + "schema": { + "$ref": "#/definitions/ErrorList" + }, + "headers": { + "x-amzn-RequestId": { + "description": "Unique request reference identifier.", + "type": "string" + } + } + }, + "429": { + "description": "The frequency of requests was greater than allowed.", + "schema": { + "$ref": "#/definitions/ErrorList" + }, + "headers": { + "x-amzn-RequestId": { + "description": "Unique request reference identifier.", + "type": "string" + } + } + }, + "503": { + "description": "Temporary overloading or maintenance of the server.", + "schema": { + "$ref": "#/definitions/ErrorList" + }, + "headers": { + "x-amzn-RequestId": { + "description": "Unique request reference identifier.", + "type": "string" + } + } + } + }, + "tags": [ + "fbaInbound" + ], + "description": "Generates placement options for the inbound plan.\n\n**Usage Plan:**\n\n| Rate (requests per second) | Burst |\n| ---- | ---- |\n| 0.05 | 1 |\n\nThe `x-amzn-RateLimit-Limit` response header returns the usage plan rate limits that were applied to the requested operation, when available. The table above indicates the default rate and burst values for this operation. Selling partners whose business demands require higher throughput may see higher rate and burst values than those shown here. For more information, refer to [Usage Plans and Rate Limits in the Selling Partner API](https://developer-docs.amazon.com/sp-api/docs/usage-plans-and-rate-limits-in-the-sp-api).", + "operationId": "generatePlacementOptions" + } + }, + "/inbound/fba/2024-03-20/inboundPlans/{inboundPlanId}/placementOptions/{placementOptionId}/confirmation": { + "post": { + "produces": [ + "application/json" + ], + "parameters": [ + { + "description": "Identifier to an inbound plan.", + "in": "path", + "maxLength": 38, + "minLength": 38, + "name": "inboundPlanId", + "pattern": "^[a-zA-Z0-9-]*$", + "required": true, + "type": "string" + }, + { + "description": "Identifier to a placement option. A placement option represents the shipment splits and destinations of SKUs.", + "in": "path", + "maxLength": 38, + "minLength": 38, + "name": "placementOptionId", + "pattern": "^[a-zA-Z0-9-]*$", + "required": true, + "type": "string" + } + ], + "responses": { + "202": { + "description": "ConfirmPlacementOption 202 response", + "schema": { + "$ref": "#/definitions/ConfirmPlacementOptionResponse" + }, + "x-amzn-api-sandbox": { + "static": [ + { + "request": { + "parameters": { + "inboundPlanId": { + "value": "wf1234abcd-1234-abcd-5678-1234abcd5678" + }, + "placementOptionId": { + "value": "pl1234abcd-1234-abcd-5678-1234abcd5678" + } + } + }, + "response": { + "operationId": "1234abcd-1234-abcd-5678-1234abcd5678" + } + } + ] + }, + "headers": { + "x-amzn-RequestId": { + "description": "Unique request reference identifier.", + "type": "string" + }, + "x-amzn-RateLimit-Limit": { + "description": "Your rate limit (requests per second) for this operation.", + "type": "string" + } + } + }, + "400": { + "description": "Request has missing or invalid parameters and cannot be parsed.", + "schema": { + "$ref": "#/definitions/ErrorList" + }, + "x-amzn-api-sandbox": { + "static": [ + { + "request": { + "parameters": { + "inboundPlanId": { + "value": "wf1234abcd-1234-abcd-5678-1234abcd5678" + }, + "placementOptionId": { + "value": "bad234abcd-1234-abcd-5678-1234abcd5678" + } + } + }, + "response": { + "errors": [ + { + "code": "BadRequest", + "message": "The requested placementOptionId does not exist for the given inbound plan." + } + ] + } + } + ] + }, + "headers": { + "x-amzn-RequestId": { + "description": "Unique request reference identifier.", + "type": "string" + }, + "x-amzn-RateLimit-Limit": { + "description": "Your rate limit (requests per second) for this operation.", + "type": "string" + } + } + }, + "500": { + "description": "An unexpected condition occurred that prevented the server from fulfilling the request.", + "schema": { + "$ref": "#/definitions/ErrorList" + }, + "headers": { + "x-amzn-RequestId": { + "description": "Unique request reference identifier.", + "type": "string" + } + } + }, + "403": { + "description": "Indicates that access to the resource is forbidden. Possible reasons include Access Denied, Unauthorized, Expired Token, or Invalid Signature.", + "schema": { + "$ref": "#/definitions/ErrorList" + }, + "headers": { + "x-amzn-RequestId": { + "description": "Unique request reference identifier.", + "type": "string" + } + } + }, + "404": { + "description": "The resource specified does not exist.", + "schema": { + "$ref": "#/definitions/ErrorList" + }, + "headers": { + "x-amzn-RequestId": { + "description": "Unique request reference identifier.", + "type": "string" + }, + "x-amzn-RateLimit-Limit": { + "description": "Your rate limit (requests per second) for this operation.", + "type": "string" + } + } + }, + "413": { + "description": "The request size exceeded the maximum accepted size.", + "schema": { + "$ref": "#/definitions/ErrorList" + }, + "headers": { + "x-amzn-RequestId": { + "description": "Unique request reference identifier.", + "type": "string" + } + } + }, + "415": { + "description": "The request payload is in an unsupported format.", + "schema": { + "$ref": "#/definitions/ErrorList" + }, + "headers": { + "x-amzn-RequestId": { + "description": "Unique request reference identifier.", + "type": "string" + } + } + }, + "429": { + "description": "The frequency of requests was greater than allowed.", + "schema": { + "$ref": "#/definitions/ErrorList" + }, + "headers": { + "x-amzn-RequestId": { + "description": "Unique request reference identifier.", + "type": "string" + } + } + }, + "503": { + "description": "Temporary overloading or maintenance of the server.", + "schema": { + "$ref": "#/definitions/ErrorList" + }, + "headers": { + "x-amzn-RequestId": { + "description": "Unique request reference identifier.", + "type": "string" + } + } + } + }, + "tags": [ + "fbaInbound" + ], + "description": "Confirms the placement option for an inbound plan. Once confirmed, it cannot be changed for the Inbound Plan.\n\n**Usage Plan:**\n\n| Rate (requests per second) | Burst |\n| ---- | ---- |\n| 0.05 | 1 |\n\nThe `x-amzn-RateLimit-Limit` response header returns the usage plan rate limits that were applied to the requested operation, when available. The table above indicates the default rate and burst values for this operation. Selling partners whose business demands require higher throughput may see higher rate and burst values than those shown here. For more information, refer to [Usage Plans and Rate Limits in the Selling Partner API](https://developer-docs.amazon.com/sp-api/docs/usage-plans-and-rate-limits-in-the-sp-api).", + "operationId": "confirmPlacementOption" + } + }, + "/inbound/fba/2024-03-20/inboundPlans/{inboundPlanId}/shipments/{shipmentId}": { + "get": { + "produces": [ + "application/json" + ], + "parameters": [ + { + "description": "Identifier to an inbound plan.", + "in": "path", + "maxLength": 38, + "minLength": 38, + "name": "inboundPlanId", + "pattern": "^[a-zA-Z0-9-]*$", + "required": true, + "type": "string" + }, + { + "description": "Identifier to a shipment. A shipment contains the boxes and units being inbounded.", + "in": "path", + "maxLength": 38, + "minLength": 38, + "name": "shipmentId", + "pattern": "^[a-zA-Z0-9-]*$", + "required": true, + "type": "string" + } + ], + "responses": { + "200": { + "description": "GetShipment 200 response", + "schema": { + "$ref": "#/definitions/Shipment" + }, + "x-amzn-api-sandbox": { + "static": [ + { + "request": { + "parameters": { + "inboundPlanId": { + "value": "wf1234abcd-1234-abcd-5678-1234abcd5678" + }, + "shipmentId": { + "value": "sh1234abcd-1234-abcd-5678-1234abcd5678" + } + } + }, + "response": { + "inboundPlanId": "wf1234abcd-1234-abcd-5678-1234abcd5678", + "placementOptionId": "pl1234abcd-1234-abcd-5678-1234abcd5678", + "shipmentId": "sh1234abcd-1234-abcd-5678-1234abcd5678", + "shipmentConfirmationId": "FBA1234ABCD", + "amazonReferenceId": "amazonReferenceId", + "selectedTransportationOptionId": "to1234abcd-1234-abcd-5678-1234abcd5678", + "name": "FBA (10/02/2023 20:07)-ABC1", + "source": { + "sourceType": "SELLER_FACILITY", + "address": { + "name": "name", + "addressLine1": "123 example street", + "city": "Toronto", + "countryCode": "CA", + "stateOrProvinceCode": "ON", + "postalCode": "M1M1M1" + } + }, + "destination": { + "destinationType": "AMAZON_WAREHOUSE", + "address": { + "name": "name", + "addressLine1": "124 example street", + "city": "Toronto", + "countryCode": "CA", + "stateOrProvinceCode": "ON", + "postalCode": "M1M1M1" + }, + "warehouseId": "YYZ5" + }, + "dates": { + "deliveryWindow": { + "start": "2024-01-01T00:00Z", + "end": "2024-01-08T00:00Z", + "editableUntil": "2024-01-07T00:00Z" + } + }, + "status": "WORKING", + "trackingDetails": { + "spdTrackingDetail": { + "spdTrackingItems": [ + { + "boxId": "boxId", + "trackingId": "trackingId", + "trackingNumberValidationStatus": "VALIDATED" + } + ] + }, + "ltlTrackingDetail": { + "freightBillNumber": [ + "freightBillNumber1" + ], + "billOfLadingNumber": "billOfLadingNumber" + } + }, + "palletInformation": { + "pallets": [ + { + "stackability": "STACKABLE", + "weight": { + "unit": "KG", + "value": 5.5 + }, + "dimensions": { + "unitOfMeasurement": "CM", + "length": 3.0, + "width": 4.0, + "height": 5.0 + }, + "quantity": 2 + } + ], + "freightClass": "FC_50", + "declaredValue": { + "code": "USD", + "amount": 500.0 + } + }, + "contactInformation": { + "name": "name", + "phoneNumber": "1234567890", + "email": "email@email.com" + }, + "selfShipAppointmentDetails": [ + { + "appointmentId": 1, + "appointmentSlotTime": { + "startTime": "2024-01-01T00:00:00.000Z", + "endTime": "2024-01-01T00:00:00.000Z" + }, + "appointmentStatus": "appointmentStatus" + } + ] + } + } + ] + }, + "headers": { + "x-amzn-RequestId": { + "description": "Unique request reference identifier.", + "type": "string" + }, + "x-amzn-RateLimit-Limit": { + "description": "Your rate limit (requests per second) for this operation.", + "type": "string" + } + } + }, + "400": { + "description": "Request has missing or invalid parameters and cannot be parsed.", + "schema": { + "$ref": "#/definitions/ErrorList" + }, + "x-amzn-api-sandbox": { + "static": [ + { + "request": { + "parameters": { + "inboundPlanId": { + "value": "wf1234abcd-1234-abcd-5678-1234abcd5678" + }, + "shipmentId": { + "value": "bad234abcd-1234-abcd-5678-1234abcd5678" + } + } + }, + "response": { + "errors": [ + { + "code": "BadRequest", + "message": "The requested shipment does not exist for the provided inbound plan." + } + ] + } + } + ] + }, + "headers": { + "x-amzn-RequestId": { + "description": "Unique request reference identifier.", + "type": "string" + }, + "x-amzn-RateLimit-Limit": { + "description": "Your rate limit (requests per second) for this operation.", + "type": "string" + } + } + }, + "500": { + "description": "An unexpected condition occurred that prevented the server from fulfilling the request.", + "schema": { + "$ref": "#/definitions/ErrorList" + }, + "headers": { + "x-amzn-RequestId": { + "description": "Unique request reference identifier.", + "type": "string" + } + } + }, + "403": { + "description": "Indicates that access to the resource is forbidden. Possible reasons include Access Denied, Unauthorized, Expired Token, or Invalid Signature.", + "schema": { + "$ref": "#/definitions/ErrorList" + }, + "headers": { + "x-amzn-RequestId": { + "description": "Unique request reference identifier.", + "type": "string" + } + } + }, + "404": { + "description": "The resource specified does not exist.", + "schema": { + "$ref": "#/definitions/ErrorList" + }, + "headers": { + "x-amzn-RequestId": { + "description": "Unique request reference identifier.", + "type": "string" + }, + "x-amzn-RateLimit-Limit": { + "description": "Your rate limit (requests per second) for this operation.", + "type": "string" + } + } + }, + "413": { + "description": "The request size exceeded the maximum accepted size.", + "schema": { + "$ref": "#/definitions/ErrorList" + }, + "headers": { + "x-amzn-RequestId": { + "description": "Unique request reference identifier.", + "type": "string" + } + } + }, + "415": { + "description": "The request payload is in an unsupported format.", + "schema": { + "$ref": "#/definitions/ErrorList" + }, + "headers": { + "x-amzn-RequestId": { + "description": "Unique request reference identifier.", + "type": "string" + } + } + }, + "429": { + "description": "The frequency of requests was greater than allowed.", + "schema": { + "$ref": "#/definitions/ErrorList" + }, + "headers": { + "x-amzn-RequestId": { + "description": "Unique request reference identifier.", + "type": "string" + } + } + }, + "503": { + "description": "Temporary overloading or maintenance of the server.", + "schema": { + "$ref": "#/definitions/ErrorList" + }, + "headers": { + "x-amzn-RequestId": { + "description": "Unique request reference identifier.", + "type": "string" + } + } + } + }, + "tags": [ + "fbaInbound" + ], + "description": "Provides the full details for a specific shipment within an inbound plan. The `transportationOptionId` inside `acceptedTransportationSelection` can be used to retrieve the transportation details for the shipment.\n\n**Usage Plan:**\n\n| Rate (requests per second) | Burst |\n| ---- | ---- |\n| 1 | 1 |\n\nThe `x-amzn-RateLimit-Limit` response header returns the usage plan rate limits that were applied to the requested operation, when available. The table above indicates the default rate and burst values for this operation. Selling partners whose business demands require higher throughput may see higher rate and burst values than those shown here. For more information, refer to [Usage Plans and Rate Limits in the Selling Partner API](https://developer-docs.amazon.com/sp-api/docs/usage-plans-and-rate-limits-in-the-sp-api).", + "operationId": "getShipment" + } + }, + "/inbound/fba/2024-03-20/inboundPlans/{inboundPlanId}/shipments/{shipmentId}/deliveryChallanDocument": { + "get": { + "produces": [ + "application/json" + ], + "parameters": [ + { + "description": "Identifier to an inbound plan.", + "in": "path", + "maxLength": 38, + "minLength": 38, + "name": "inboundPlanId", + "pattern": "^[a-zA-Z0-9-]*$", + "required": true, + "type": "string" + }, + { + "description": "Identifier to a shipment. A shipment contains the boxes and units being inbounded.", + "in": "path", + "maxLength": 38, + "minLength": 38, + "name": "shipmentId", + "pattern": "^[a-zA-Z0-9-]*$", + "required": true, + "type": "string" + } + ], + "responses": { + "200": { + "description": "GetDeliveryChallanDocument 200 response", + "schema": { + "$ref": "#/definitions/GetDeliveryChallanDocumentResponse" + }, + "x-amzn-api-sandbox": { + "static": [ + { + "request": { + "parameters": { + "inboundPlanId": { + "value": "wf1234abcd-1234-abcd-5678-1234abcd5678" + }, + "shipmentId": { + "value": "sh1234abcd-1234-abcd-5678-1234abcd5678" + } + } + }, + "response": { + "documentDownload": { + "uri": "https://s3.amazonaws.com/bucket", + "downloadType": "URL", + "expiration": "2024-01-01T00:00:00.000Z" + } + } + } + ] + }, + "headers": { + "x-amzn-RequestId": { + "description": "Unique request reference identifier.", + "type": "string" + }, + "x-amzn-RateLimit-Limit": { + "description": "Your rate limit (requests per second) for this operation.", + "type": "string" + } + } + }, + "400": { + "description": "Request has missing or invalid parameters and cannot be parsed.", + "schema": { + "$ref": "#/definitions/ErrorList" + }, + "x-amzn-api-sandbox": { + "static": [ + { + "request": { + "parameters": { + "inboundPlanId": { + "value": "wf1234abcd-1234-abcd-5678-1234abcd5678" + }, + "shipmentId": { + "value": "bad234abcd-1234-abcd-5678-1234abcd5678" + } + } + }, + "response": { + "errors": [ + { + "code": "BadRequest", + "message": "The requested shipmentId does not exist for the specified inbound plan." + } + ] + } + } + ] + }, + "headers": { + "x-amzn-RequestId": { + "description": "Unique request reference identifier.", + "type": "string" + }, + "x-amzn-RateLimit-Limit": { + "description": "Your rate limit (requests per second) for this operation.", + "type": "string" + } + } + }, + "500": { + "description": "An unexpected condition occurred that prevented the server from fulfilling the request.", + "schema": { + "$ref": "#/definitions/ErrorList" + }, + "headers": { + "x-amzn-RequestId": { + "description": "Unique request reference identifier.", + "type": "string" + } + } + }, + "403": { + "description": "Indicates that access to the resource is forbidden. Possible reasons include Access Denied, Unauthorized, Expired Token, or Invalid Signature.", + "schema": { + "$ref": "#/definitions/ErrorList" + }, + "headers": { + "x-amzn-RequestId": { + "description": "Unique request reference identifier.", + "type": "string" + } + } + }, + "404": { + "description": "The resource specified does not exist.", + "schema": { + "$ref": "#/definitions/ErrorList" + }, + "headers": { + "x-amzn-RequestId": { + "description": "Unique request reference identifier.", + "type": "string" + }, + "x-amzn-RateLimit-Limit": { + "description": "Your rate limit (requests per second) for this operation.", + "type": "string" + } + } + }, + "413": { + "description": "The request size exceeded the maximum accepted size.", + "schema": { + "$ref": "#/definitions/ErrorList" + }, + "headers": { + "x-amzn-RequestId": { + "description": "Unique request reference identifier.", + "type": "string" + } + } + }, + "415": { + "description": "The request payload is in an unsupported format.", + "schema": { + "$ref": "#/definitions/ErrorList" + }, + "headers": { + "x-amzn-RequestId": { + "description": "Unique request reference identifier.", + "type": "string" + } + } + }, + "429": { + "description": "The frequency of requests was greater than allowed.", + "schema": { + "$ref": "#/definitions/ErrorList" + }, + "headers": { + "x-amzn-RequestId": { + "description": "Unique request reference identifier.", + "type": "string" + } + } + }, + "503": { + "description": "Temporary overloading or maintenance of the server.", + "schema": { + "$ref": "#/definitions/ErrorList" + }, + "headers": { + "x-amzn-RequestId": { + "description": "Unique request reference identifier.", + "type": "string" + } + } + } + }, + "tags": [ + "fbaInbound" + ], + "description": "Provide delivery challan document for PCP transportation in IN marketplace.\n\n**Usage Plan:**\n\n| Rate (requests per second) | Burst |\n| ---- | ---- |\n| 1 | 1 |\n\nThe `x-amzn-RateLimit-Limit` response header returns the usage plan rate limits that were applied to the requested operation, when available. The table above indicates the default rate and burst values for this operation. Selling partners whose business demands require higher throughput may see higher rate and burst values than those shown here. For more information, refer to [Usage Plans and Rate Limits in the Selling Partner API](https://developer-docs.amazon.com/sp-api/docs/usage-plans-and-rate-limits-in-the-sp-api).", + "operationId": "getDeliveryChallanDocument" + } + }, + "/inbound/fba/2024-03-20/inboundPlans/{inboundPlanId}/shipments/{shipmentId}/deliveryWindow": { + "post": { + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "parameters": [ + { + "description": "Identifier to an inbound plan.", + "in": "path", + "maxLength": 38, + "minLength": 38, + "name": "inboundPlanId", + "pattern": "^[a-zA-Z0-9-]*$", + "required": true, + "type": "string" + }, + { + "description": "Identifier to a shipment. A shipment contains the boxes and units being inbounded.", + "in": "path", + "maxLength": 38, + "minLength": 38, + "name": "shipmentId", + "pattern": "^[a-zA-Z0-9-]*$", + "required": true, + "type": "string" + }, + { + "in": "body", + "name": "body", + "required": true, + "schema": { + "$ref": "#/definitions/UpdateShipmentDeliveryWindowRequest" + }, + "description": "The body of the request to `updateShipmentDeliveryWindow`." + } + ], + "responses": { + "202": { + "description": "UpdateShipmentDeliveryWindow 202 response", + "schema": { + "$ref": "#/definitions/UpdateShipmentDeliveryWindowResponse" + }, + "x-amzn-api-sandbox": { + "static": [ + { + "request": { + "parameters": { + "inboundPlanId": { + "value": "wf1234abcd-1234-abcd-5678-1234abcd5678" + }, + "shipmentId": { + "value": "sh1234abcd-1234-abcd-5678-1234abcd5678" + }, + "body": { + "value": { + "deliveryWindow": { + "start": "2024-01-01T00:00Z" + } + } + } + } + }, + "response": { + "operationId": "1234abcd-1234-abcd-5678-1234abcd5678" + } + } + ] + }, + "headers": { + "x-amzn-RequestId": { + "description": "Unique request reference identifier.", + "type": "string" + }, + "x-amzn-RateLimit-Limit": { + "description": "Your rate limit (requests per second) for this operation.", + "type": "string" + } + } + }, + "400": { + "description": "Request has missing or invalid parameters and cannot be parsed.", + "schema": { + "$ref": "#/definitions/ErrorList" + }, + "x-amzn-api-sandbox": { + "static": [ + { + "request": { + "parameters": { + "inboundPlanId": { + "value": "wf1234abcd-1234-abcd-5678-1234abcd5678" + }, + "shipmentId": { + "value": "bad234abcd-1234-abcd-5678-1234abcd5678" + }, + "body": { + "value": { + "deliveryWindow": { + "start": "2024-01-01T00:00Z" + } + } + } + } + }, + "response": { + "errors": [ + { + "code": "BadRequest", + "message": "The requested shipmentId does not exist for the specified inbound plan." + } + ] + } + } + ] + }, + "headers": { + "x-amzn-RequestId": { + "description": "Unique request reference identifier.", + "type": "string" + }, + "x-amzn-RateLimit-Limit": { + "description": "Your rate limit (requests per second) for this operation.", + "type": "string" + } + } + }, + "500": { + "description": "An unexpected condition occurred that prevented the server from fulfilling the request.", + "schema": { + "$ref": "#/definitions/ErrorList" + }, + "headers": { + "x-amzn-RequestId": { + "description": "Unique request reference identifier.", + "type": "string" + } + } + }, + "403": { + "description": "Indicates that access to the resource is forbidden. Possible reasons include Access Denied, Unauthorized, Expired Token, or Invalid Signature.", + "schema": { + "$ref": "#/definitions/ErrorList" + }, + "headers": { + "x-amzn-RequestId": { + "description": "Unique request reference identifier.", + "type": "string" + } + } + }, + "404": { + "description": "The resource specified does not exist.", + "schema": { + "$ref": "#/definitions/ErrorList" + }, + "headers": { + "x-amzn-RequestId": { + "description": "Unique request reference identifier.", + "type": "string" + }, + "x-amzn-RateLimit-Limit": { + "description": "Your rate limit (requests per second) for this operation.", + "type": "string" + } + } + }, + "413": { + "description": "The request size exceeded the maximum accepted size.", + "schema": { + "$ref": "#/definitions/ErrorList" + }, + "headers": { + "x-amzn-RequestId": { + "description": "Unique request reference identifier.", + "type": "string" + } + } + }, + "415": { + "description": "The request payload is in an unsupported format.", + "schema": { + "$ref": "#/definitions/ErrorList" + }, + "headers": { + "x-amzn-RequestId": { + "description": "Unique request reference identifier.", + "type": "string" + } + } + }, + "429": { + "description": "The frequency of requests was greater than allowed.", + "schema": { + "$ref": "#/definitions/ErrorList" + }, + "headers": { + "x-amzn-RequestId": { + "description": "Unique request reference identifier.", + "type": "string" + } + } + }, + "503": { + "description": "Temporary overloading or maintenance of the server.", + "schema": { + "$ref": "#/definitions/ErrorList" + }, + "headers": { + "x-amzn-RequestId": { + "description": "Unique request reference identifier.", + "type": "string" + } + } + } + }, + "tags": [ + "fbaInbound" + ], + "description": "Update the time window that a shipment will be delivered to the warehouse. The window is used to provide the expected time that a non-Amazon partnered carrier will arrive at the warehouse.\n\n**Usage Plan:**\n\n| Rate (requests per second) | Burst |\n| ---- | ---- |\n| 1 | 1 |\n\nThe `x-amzn-RateLimit-Limit` response header returns the usage plan rate limits that were applied to the requested operation, when available. The table above indicates the default rate and burst values for this operation. Selling partners whose business demands require higher throughput may see higher rate and burst values than those shown here. For more information, refer to [Usage Plans and Rate Limits in the Selling Partner API](https://developer-docs.amazon.com/sp-api/docs/usage-plans-and-rate-limits-in-the-sp-api).", + "operationId": "updateShipmentDeliveryWindow" + } + }, + "/inbound/fba/2024-03-20/inboundPlans/{inboundPlanId}/shipments/{shipmentId}/selfShipAppointmentSlots": { + "get": { + "produces": [ + "application/json" + ], + "parameters": [ + { + "description": "Identifier to an inbound plan.", + "in": "path", + "maxLength": 38, + "minLength": 38, + "name": "inboundPlanId", + "pattern": "^[a-zA-Z0-9-]*$", + "required": true, + "type": "string" + }, + { + "description": "Identifier to a shipment. A shipment contains the boxes and units being inbounded.", + "in": "path", + "maxLength": 38, + "minLength": 38, + "name": "shipmentId", + "pattern": "^[a-zA-Z0-9-]*$", + "required": true, + "type": "string" + }, + { + "description": "The number of self ship appointment slots to return in the response matching the given query.", + "in": "query", + "maximum": 100, + "minimum": 1, + "name": "pageSize", + "type": "integer", + "default": 10 + }, + { + "description": "A token to fetch a certain page when there are multiple pages worth of results. The value of this token is fetched from the `pagination` returned in the API response. In the absence of the token value from the query parameter the API returns the first page of the result.", + "in": "query", + "maxLength": 1024, + "minLength": 0, + "name": "paginationToken", + "type": "string" + } + ], + "responses": { + "200": { + "description": "GetSelfShipAppointmentSlots 200 response", + "schema": { + "$ref": "#/definitions/GetSelfShipAppointmentSlotsResponse" + }, + "x-amzn-api-sandbox": { + "static": [ + { + "request": { + "parameters": { + "inboundPlanId": { + "value": "wf1234abcd-1234-abcd-5678-1234abcd5678" + }, + "shipmentId": { + "value": "sh1234abcd-1234-abcd-5678-1234abcd5678" + }, + "pageSize": { + "value": 2 + }, + "paginationToken": { + "value": "paginationToken" + } + } + }, + "response": { + "selfShipAppointmentSlotsAvailability": { + "expiresAt": "2024-01-02T00:00:00.000Z", + "slots": [ + { + "slotId": "aa1234abcd-1234-abcd-5678-1234abcd5678", + "slotTime": { + "startTime": "2024-01-01T00:00:00.000Z", + "endTime": "2024-01-02T00:00:00.000Z" + } + } + ] + }, + "pagination": { + "nextToken": "nextPaginationToken" + } + } + } + ] + }, + "headers": { + "x-amzn-RequestId": { + "description": "Unique request reference identifier.", + "type": "string" + }, + "x-amzn-RateLimit-Limit": { + "description": "Your rate limit (requests per second) for this operation.", + "type": "string" + } + } + }, + "400": { + "description": "Request has missing or invalid parameters and cannot be parsed.", + "schema": { + "$ref": "#/definitions/ErrorList" + }, + "x-amzn-api-sandbox": { + "static": [ + { + "request": { + "parameters": { + "inboundPlanId": { + "value": "wf1234abcd-1234-abcd-5678-1234abcd5678" + }, + "shipmentId": { + "value": "bad234abcd-1234-abcd-5678-1234abcd5678" + } + } + }, + "response": { + "errors": [ + { + "code": "BadRequest", + "message": "The requested shipmentId does not exist for the given inbound plan." + } + ] + } + } + ] + }, + "headers": { + "x-amzn-RequestId": { + "description": "Unique request reference identifier.", + "type": "string" + }, + "x-amzn-RateLimit-Limit": { + "description": "Your rate limit (requests per second) for this operation.", + "type": "string" + } + } + }, + "500": { + "description": "An unexpected condition occurred that prevented the server from fulfilling the request.", + "schema": { + "$ref": "#/definitions/ErrorList" + }, + "headers": { + "x-amzn-RequestId": { + "description": "Unique request reference identifier.", + "type": "string" + } + } + }, + "403": { + "description": "Indicates that access to the resource is forbidden. Possible reasons include Access Denied, Unauthorized, Expired Token, or Invalid Signature.", + "schema": { + "$ref": "#/definitions/ErrorList" + }, + "headers": { + "x-amzn-RequestId": { + "description": "Unique request reference identifier.", + "type": "string" + } + } + }, + "404": { + "description": "The resource specified does not exist.", + "schema": { + "$ref": "#/definitions/ErrorList" + }, + "headers": { + "x-amzn-RequestId": { + "description": "Unique request reference identifier.", + "type": "string" + }, + "x-amzn-RateLimit-Limit": { + "description": "Your rate limit (requests per second) for this operation.", + "type": "string" + } + } + }, + "413": { + "description": "The request size exceeded the maximum accepted size.", + "schema": { + "$ref": "#/definitions/ErrorList" + }, + "headers": { + "x-amzn-RequestId": { + "description": "Unique request reference identifier.", + "type": "string" + } + } + }, + "415": { + "description": "The request payload is in an unsupported format.", + "schema": { + "$ref": "#/definitions/ErrorList" + }, + "headers": { + "x-amzn-RequestId": { + "description": "Unique request reference identifier.", + "type": "string" + } + } + }, + "429": { + "description": "The frequency of requests was greater than allowed.", + "schema": { + "$ref": "#/definitions/ErrorList" + }, + "headers": { + "x-amzn-RequestId": { + "description": "Unique request reference identifier.", + "type": "string" + } + } + }, + "503": { + "description": "Temporary overloading or maintenance of the server.", + "schema": { + "$ref": "#/definitions/ErrorList" + }, + "headers": { + "x-amzn-RequestId": { + "description": "Unique request reference identifier.", + "type": "string" + } + } + } + }, + "tags": [ + "fbaInbound" + ], + "description": "Retrieves a list of available self-ship appointment slots used to drop off a shipment at a warehouse.\n\n**Usage Plan:**\n\n| Rate (requests per second) | Burst |\n| ---- | ---- |\n| 1 | 1 |\n\nThe `x-amzn-RateLimit-Limit` response header returns the usage plan rate limits that were applied to the requested operation, when available. The table above indicates the default rate and burst values for this operation. Selling partners whose business demands require higher throughput may see higher rate and burst values than those shown here. For more information, refer to [Usage Plans and Rate Limits in the Selling Partner API](https://developer-docs.amazon.com/sp-api/docs/usage-plans-and-rate-limits-in-the-sp-api).", + "operationId": "getSelfShipAppointmentSlots" + }, + "post": { + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "parameters": [ + { + "description": "Identifier to an inbound plan.", + "in": "path", + "maxLength": 38, + "minLength": 38, + "name": "inboundPlanId", + "pattern": "^[a-zA-Z0-9-]*$", + "required": true, + "type": "string" + }, + { + "description": "Identifier to a shipment. A shipment contains the boxes and units being inbounded.", + "in": "path", + "maxLength": 38, + "minLength": 38, + "name": "shipmentId", + "pattern": "^[a-zA-Z0-9-]*$", + "required": true, + "type": "string" + }, + { + "in": "body", + "name": "body", + "required": true, + "schema": { + "$ref": "#/definitions/GenerateSelfShipAppointmentSlotsRequest" + }, + "description": "The body of the request `generateSelfShipAppointmentSlots`." + } + ], + "responses": { + "201": { + "description": "GenerateSelfShipAppointmentSlots 201 response", + "schema": { + "$ref": "#/definitions/GenerateSelfShipAppointmentSlotsResponse" + }, + "x-amzn-api-sandbox": { + "static": [ + { + "request": { + "parameters": { + "inboundPlanId": { + "value": "wf1234abcd-1234-abcd-5678-1234abcd5678" + }, + "shipmentId": { + "value": "sh1234abcd-1234-abcd-5678-1234abcd5678" + }, + "body": { + "value": { + "desiredEndDate": "2024-01-15T00:00:00.000Z", + "desiredStartDate": "2024-01-16T00:00:00.000Z" + } + } + } + }, + "response": { + "operationId": "1234abcd-1234-abcd-5678-1234abcd5678" + } + } + ] + }, + "headers": { + "x-amzn-RequestId": { + "description": "Unique request reference identifier.", + "type": "string" + }, + "x-amzn-RateLimit-Limit": { + "description": "Your rate limit (requests per second) for this operation.", + "type": "string" + } + } + }, + "400": { + "description": "Request has missing or invalid parameters and cannot be parsed.", + "schema": { + "$ref": "#/definitions/ErrorList" + }, + "x-amzn-api-sandbox": { + "static": [ + { + "request": { + "parameters": { + "inboundPlanId": { + "value": "wf1234abcd-1234-abcd-5678-1234abcd5678" + }, + "shipmentId": { + "value": "bad234abcd-1234-abcd-5678-1234abcd5678" + }, + "body": { + "value": { + "desiredEndDate": "2024-01-15T00:00:00.000Z", + "desiredStartDate": "2024-01-16T00:00:00.000Z" + } + } + } + }, + "response": { + "errors": [ + { + "code": "BadRequest", + "message": "The requested shipmentId does not exist in the inbound plan." + } + ] + } + } + ] + }, + "headers": { + "x-amzn-RequestId": { + "description": "Unique request reference identifier.", + "type": "string" + }, + "x-amzn-RateLimit-Limit": { + "description": "Your rate limit (requests per second) for this operation.", + "type": "string" + } + } + }, + "500": { + "description": "An unexpected condition occurred that prevented the server from fulfilling the request.", + "schema": { + "$ref": "#/definitions/ErrorList" + }, + "headers": { + "x-amzn-RequestId": { + "description": "Unique request reference identifier.", + "type": "string" + } + } + }, + "403": { + "description": "Indicates that access to the resource is forbidden. Possible reasons include Access Denied, Unauthorized, Expired Token, or Invalid Signature.", + "schema": { + "$ref": "#/definitions/ErrorList" + }, + "headers": { + "x-amzn-RequestId": { + "description": "Unique request reference identifier.", + "type": "string" + } + } + }, + "404": { + "description": "The resource specified does not exist.", + "schema": { + "$ref": "#/definitions/ErrorList" + }, + "headers": { + "x-amzn-RequestId": { + "description": "Unique request reference identifier.", + "type": "string" + }, + "x-amzn-RateLimit-Limit": { + "description": "Your rate limit (requests per second) for this operation.", + "type": "string" + } + } + }, + "413": { + "description": "The request size exceeded the maximum accepted size.", + "schema": { + "$ref": "#/definitions/ErrorList" + }, + "headers": { + "x-amzn-RequestId": { + "description": "Unique request reference identifier.", + "type": "string" + } + } + }, + "415": { + "description": "The request payload is in an unsupported format.", + "schema": { + "$ref": "#/definitions/ErrorList" + }, + "headers": { + "x-amzn-RequestId": { + "description": "Unique request reference identifier.", + "type": "string" + } + } + }, + "429": { + "description": "The frequency of requests was greater than allowed.", + "schema": { + "$ref": "#/definitions/ErrorList" + }, + "headers": { + "x-amzn-RequestId": { + "description": "Unique request reference identifier.", + "type": "string" + } + } + }, + "503": { + "description": "Temporary overloading or maintenance of the server.", + "schema": { + "$ref": "#/definitions/ErrorList" + }, + "headers": { + "x-amzn-RequestId": { + "description": "Unique request reference identifier.", + "type": "string" + } + } + } + }, + "tags": [ + "fbaInbound" + ], + "description": "Initiates the process of generating the appointment slots list.\n\n**Usage Plan:**\n\n| Rate (requests per second) | Burst |\n| ---- | ---- |\n| 1 | 1 |\n\nThe `x-amzn-RateLimit-Limit` response header returns the usage plan rate limits that were applied to the requested operation, when available. The table above indicates the default rate and burst values for this operation. Selling partners whose business demands require higher throughput may see higher rate and burst values than those shown here. For more information, refer to [Usage Plans and Rate Limits in the Selling Partner API](https://developer-docs.amazon.com/sp-api/docs/usage-plans-and-rate-limits-in-the-sp-api).", + "operationId": "generateSelfShipAppointmentSlots" + } + }, + "/inbound/fba/2024-03-20/inboundPlans/{inboundPlanId}/shipments/{shipmentId}/selfShipAppointmentSlots/{slotId}/cancellation": { + "put": { + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "parameters": [ + { + "description": "Identifier to an inbound plan.", + "in": "path", + "maxLength": 38, + "minLength": 38, + "name": "inboundPlanId", + "pattern": "^[a-zA-Z0-9-]*$", + "required": true, + "type": "string" + }, + { + "description": "Identifier to a shipment. A shipment contains the boxes and units being inbounded.", + "in": "path", + "maxLength": 38, + "minLength": 38, + "name": "shipmentId", + "pattern": "^[a-zA-Z0-9-]*$", + "required": true, + "type": "string" + }, + { + "description": "Identifier to a self-ship appointment slot.", + "in": "path", + "maxLength": 38, + "minLength": 38, + "name": "slotId", + "pattern": "^[a-zA-Z0-9-]*$", + "required": true, + "type": "string" + }, + { + "in": "body", + "name": "body", + "required": true, + "schema": { + "$ref": "#/definitions/CancelSelfShipAppointmentRequest" + }, + "description": "The body of the request to `cancelSelfShipAppointment`." + } + ], + "responses": { + "202": { + "description": "CancelSelfShipAppointment 202 response", + "schema": { + "$ref": "#/definitions/CancelSelfShipAppointmentResponse" + }, + "x-amzn-api-sandbox": { + "static": [ + { + "request": { + "parameters": { + "inboundPlanId": { + "value": "wf1234abcd-1234-abcd-5678-1234abcd5678" + }, + "shipmentId": { + "value": "sh1234abcd-1234-abcd-5678-1234abcd5678" + }, + "slotId": { + "value": "aa1234abcd-1234-abcd-5678-1234abcd5678" + }, + "body": { + "value": { + "reasonComment": "OTHER" + } + } + } + }, + "response": { + "operationId": "1234abcd-1234-abcd-5678-1234abcd5678" + } + } + ] + }, + "headers": { + "x-amzn-RequestId": { + "description": "Unique request reference identifier.", + "type": "string" + }, + "x-amzn-RateLimit-Limit": { + "description": "Your rate limit (requests per second) for this operation.", + "type": "string" + } + } + }, + "400": { + "description": "Request has missing or invalid parameters and cannot be parsed.", + "schema": { + "$ref": "#/definitions/ErrorList" + }, + "x-amzn-api-sandbox": { + "static": [ + { + "request": { + "parameters": { + "inboundPlanId": { + "value": "wf1234abcd-1234-abcd-5678-1234abcd5678" + }, + "shipmentId": { + "value": "bad234abcd-1234-abcd-5678-1234abcd5678" + }, + "slotId": { + "value": "aa1234abcd-1234-abcd-5678-1234abcd5678" + }, + "body": { + "value": { + "reasonComment": "OTHER" + } + } + } + }, + "response": { + "errors": [ + { + "code": "BadRequest", + "message": "The requested shipmentId does not exist for the specified inbound plan." + } + ] + } + } + ] + }, + "headers": { + "x-amzn-RequestId": { + "description": "Unique request reference identifier.", + "type": "string" + }, + "x-amzn-RateLimit-Limit": { + "description": "Your rate limit (requests per second) for this operation.", + "type": "string" + } + } + }, + "500": { + "description": "An unexpected condition occurred that prevented the server from fulfilling the request.", + "schema": { + "$ref": "#/definitions/ErrorList" + }, + "headers": { + "x-amzn-RequestId": { + "description": "Unique request reference identifier.", + "type": "string" + } + } + }, + "403": { + "description": "Indicates that access to the resource is forbidden. Possible reasons include Access Denied, Unauthorized, Expired Token, or Invalid Signature.", + "schema": { + "$ref": "#/definitions/ErrorList" + }, + "headers": { + "x-amzn-RequestId": { + "description": "Unique request reference identifier.", + "type": "string" + } + } + }, + "404": { + "description": "The resource specified does not exist.", + "schema": { + "$ref": "#/definitions/ErrorList" + }, + "headers": { + "x-amzn-RequestId": { + "description": "Unique request reference identifier.", + "type": "string" + }, + "x-amzn-RateLimit-Limit": { + "description": "Your rate limit (requests per second) for this operation.", + "type": "string" + } + } + }, + "413": { + "description": "The request size exceeded the maximum accepted size.", + "schema": { + "$ref": "#/definitions/ErrorList" + }, + "headers": { + "x-amzn-RequestId": { + "description": "Unique request reference identifier.", + "type": "string" + } + } + }, + "415": { + "description": "The request payload is in an unsupported format.", + "schema": { + "$ref": "#/definitions/ErrorList" + }, + "headers": { + "x-amzn-RequestId": { + "description": "Unique request reference identifier.", + "type": "string" + } + } + }, + "429": { + "description": "The frequency of requests was greater than allowed.", + "schema": { + "$ref": "#/definitions/ErrorList" + }, + "headers": { + "x-amzn-RequestId": { + "description": "Unique request reference identifier.", + "type": "string" + } + } + }, + "503": { + "description": "Temporary overloading or maintenance of the server.", + "schema": { + "$ref": "#/definitions/ErrorList" + }, + "headers": { + "x-amzn-RequestId": { + "description": "Unique request reference identifier.", + "type": "string" + } + } + } + }, + "tags": [ + "fbaInbound" + ], + "description": "Cancels a self-ship appointment slot against a shipment.\n\n**Usage Plan:**\n\n| Rate (requests per second) | Burst |\n| ---- | ---- |\n| 1 | 1 |\n\nThe `x-amzn-RateLimit-Limit` response header returns the usage plan rate limits that were applied to the requested operation, when available. The table above indicates the default rate and burst values for this operation. Selling partners whose business demands require higher throughput may see higher rate and burst values than those shown here. For more information, refer to [Usage Plans and Rate Limits in the Selling Partner API](https://developer-docs.amazon.com/sp-api/docs/usage-plans-and-rate-limits-in-the-sp-api).", + "operationId": "cancelSelfShipAppointment" + } + }, + "/inbound/fba/2024-03-20/inboundPlans/{inboundPlanId}/shipments/{shipmentId}/selfShipAppointmentSlots/{slotId}/schedule": { + "post": { + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "parameters": [ + { + "description": "Identifier to an inbound plan.", + "in": "path", + "maxLength": 38, + "minLength": 38, + "name": "inboundPlanId", + "pattern": "^[a-zA-Z0-9-]*$", + "required": true, + "type": "string" + }, + { + "description": "Identifier to a shipment. A shipment contains the boxes and units being inbounded.", + "in": "path", + "maxLength": 38, + "minLength": 38, + "name": "shipmentId", + "pattern": "^[a-zA-Z0-9-]*$", + "required": true, + "type": "string" + }, + { + "description": "Identifier to a self-ship appointment slot.", + "in": "path", + "maxLength": 38, + "minLength": 38, + "name": "slotId", + "pattern": "^[a-zA-Z0-9-]*$", + "required": true, + "type": "string" + }, + { + "in": "body", + "name": "body", + "required": true, + "schema": { + "$ref": "#/definitions/ScheduleSelfShipAppointmentRequest" + }, + "description": "The body of the request to `scheduleSelfShipAppointment`." + } + ], + "responses": { + "200": { + "description": "ScheduleSelfShipAppointment 200 response", + "schema": { + "$ref": "#/definitions/ScheduleSelfShipAppointmentResponse" + }, + "x-amzn-api-sandbox": { + "static": [ + { + "request": { + "parameters": { + "inboundPlanId": { + "value": "wf1234abcd-1234-abcd-5678-1234abcd5678" + }, + "shipmentId": { + "value": "sh1234abcd-1234-abcd-5678-1234abcd5678" + }, + "slotId": { + "value": "aa1234abcd-1234-abcd-5678-1234abcd5678" + }, + "body": { + "value": { + "reasonComment": "OTHER" + } + } + } + }, + "response": { + "selfShipAppointmentDetails": { + "appointmentId": 1000, + "appointmentSlotTime": { + "startTime": "2023-03-08T13:15:30Z", + "endTime": "2023-03-09T13:15:30Z" + }, + "appointmentStatus": "ARRIVAL_SCHEDULED" + } + } + } + ] + }, + "headers": { + "x-amzn-RequestId": { + "description": "Unique request reference identifier.", + "type": "string" + }, + "x-amzn-RateLimit-Limit": { + "description": "Your rate limit (requests per second) for this operation.", + "type": "string" + } + } + }, + "400": { + "description": "Request has missing or invalid parameters and cannot be parsed.", + "schema": { + "$ref": "#/definitions/ErrorList" + }, + "x-amzn-api-sandbox": { + "static": [ + { + "request": { + "parameters": { + "inboundPlanId": { + "value": "wf1234abcd-1234-abcd-5678-1234abcd5678" + }, + "shipmentId": { + "value": "bad234abcd-1234-abcd-5678-1234abcd5678" + }, + "slotId": { + "value": "aa1234abcd-1234-abcd-5678-1234abcd5678" + }, + "body": { + "value": { + "reasonComment": "OTHER" + } + } + } + }, + "response": { + "errors": [ + { + "code": "BadRequest", + "message": "The requested shipmentId does not exist for the specified inbound plan." + } + ] + } + } + ] + }, + "headers": { + "x-amzn-RequestId": { + "description": "Unique request reference identifier.", + "type": "string" + }, + "x-amzn-RateLimit-Limit": { + "description": "Your rate limit (requests per second) for this operation.", + "type": "string" + } + } + }, + "500": { + "description": "An unexpected condition occurred that prevented the server from fulfilling the request.", + "schema": { + "$ref": "#/definitions/ErrorList" + }, + "headers": { + "x-amzn-RequestId": { + "description": "Unique request reference identifier.", + "type": "string" + } + } + }, + "403": { + "description": "Indicates that access to the resource is forbidden. Possible reasons include Access Denied, Unauthorized, Expired Token, or Invalid Signature.", + "schema": { + "$ref": "#/definitions/ErrorList" + }, + "headers": { + "x-amzn-RequestId": { + "description": "Unique request reference identifier.", + "type": "string" + } + } + }, + "404": { + "description": "The resource specified does not exist.", + "schema": { + "$ref": "#/definitions/ErrorList" + }, + "headers": { + "x-amzn-RequestId": { + "description": "Unique request reference identifier.", + "type": "string" + }, + "x-amzn-RateLimit-Limit": { + "description": "Your rate limit (requests per second) for this operation.", + "type": "string" + } + } + }, + "413": { + "description": "The request size exceeded the maximum accepted size.", + "schema": { + "$ref": "#/definitions/ErrorList" + }, + "headers": { + "x-amzn-RequestId": { + "description": "Unique request reference identifier.", + "type": "string" + } + } + }, + "415": { + "description": "The request payload is in an unsupported format.", + "schema": { + "$ref": "#/definitions/ErrorList" + }, + "headers": { + "x-amzn-RequestId": { + "description": "Unique request reference identifier.", + "type": "string" + } + } + }, + "429": { + "description": "The frequency of requests was greater than allowed.", + "schema": { + "$ref": "#/definitions/ErrorList" + }, + "headers": { + "x-amzn-RequestId": { + "description": "Unique request reference identifier.", + "type": "string" + } + } + }, + "503": { + "description": "Temporary overloading or maintenance of the server.", + "schema": { + "$ref": "#/definitions/ErrorList" + }, + "headers": { + "x-amzn-RequestId": { + "description": "Unique request reference identifier.", + "type": "string" + } + } + } + }, + "tags": [ + "fbaInbound" + ], + "description": "Confirms or reschedules a self-ship appointment slot against a shipment.\n\n**Usage Plan:**\n\n| Rate (requests per second) | Burst |\n| ---- | ---- |\n| 1 | 1 |\n\nThe `x-amzn-RateLimit-Limit` response header returns the usage plan rate limits that were applied to the requested operation, when available. The table above indicates the default rate and burst values for this operation. Selling partners whose business demands require higher throughput may see higher rate and burst values than those shown here. For more information, refer to [Usage Plans and Rate Limits in the Selling Partner API](https://developer-docs.amazon.com/sp-api/docs/usage-plans-and-rate-limits-in-the-sp-api).", + "operationId": "scheduleSelfShipAppointment" + } + }, + "/inbound/fba/2024-03-20/inboundPlans/{inboundPlanId}/shipments/{shipmentId}/trackingDetails": { + "put": { + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "parameters": [ + { + "description": "Identifier to an inbound plan.", + "in": "path", + "maxLength": 38, + "minLength": 38, + "name": "inboundPlanId", + "pattern": "^[a-zA-Z0-9-]*$", + "required": true, + "type": "string" + }, + { + "description": "Identifier to a shipment. A shipment contains the boxes and units being inbounded.", + "in": "path", + "maxLength": 38, + "minLength": 38, + "name": "shipmentId", + "pattern": "^[a-zA-Z0-9-]*$", + "required": true, + "type": "string" + }, + { + "in": "body", + "name": "body", + "required": true, + "schema": { + "$ref": "#/definitions/UpdateShipmentTrackingDetailsRequest" + }, + "description": "The body of the request to `updateShipmentTrackingDetails`." + } + ], + "responses": { + "202": { + "description": "UpdateShipmentTrackingDetails 202 response", + "schema": { + "$ref": "#/definitions/UpdateShipmentTrackingDetailsResponse" + }, + "x-amzn-api-sandbox": { + "static": [ + { + "request": { + "parameters": { + "inboundPlanId": { + "value": "wf1234abcd-1234-abcd-5678-1234abcd5678" + }, + "shipmentId": { + "value": "sh1234abcd-1234-abcd-5678-1234abcd5678" + }, + "body": { + "value": { + "trackingDetails": { + "ltlTrackingDetail": { + "freightBillNumber": [ + "freightBillNumber1" + ], + "billOfLadingNumber": "billOfLadingNumber" + }, + "spdTrackingDetail": { + "spdTrackingItems": [ + { + "boxId": "boxId", + "trackingId": "trackingId" + } + ] + } + } + } + } + } + }, + "response": { + "operationId": "1234abcd-1234-abcd-5678-1234abcd5678" + } + } + ] + }, + "headers": { + "x-amzn-RequestId": { + "description": "Unique request reference identifier.", + "type": "string" + }, + "x-amzn-RateLimit-Limit": { + "description": "Your rate limit (requests per second) for this operation.", + "type": "string" + } + } + }, + "400": { + "description": "Request has missing or invalid parameters and cannot be parsed.", + "schema": { + "$ref": "#/definitions/ErrorList" + }, + "x-amzn-api-sandbox": { + "static": [ + { + "request": { + "parameters": { + "inboundPlanId": { + "value": "wf1234abcd-1234-abcd-5678-1234abcd5678" + }, + "shipmentId": { + "value": "bad234abcd-1234-abcd-5678-1234abcd5678" + }, + "body": { + "value": { + "trackingDetails": { + "ltlTrackingDetail": { + "freightBillNumber": [ + "freightBillNumber1" + ], + "billOfLadingNumber": "billOfLadingNumber" + }, + "spdTrackingDetail": { + "spdTrackingItems": [ + { + "boxId": "boxId", + "trackingId": "trackingId" + } + ] + } + } + } + } + } + }, + "response": { + "errors": [ + { + "code": "BadRequest", + "message": "The requested shipmentId does not exist for the specified inbound plan." + } + ] + } + } + ] + }, + "headers": { + "x-amzn-RequestId": { + "description": "Unique request reference identifier.", + "type": "string" + }, + "x-amzn-RateLimit-Limit": { + "description": "Your rate limit (requests per second) for this operation.", + "type": "string" + } + } + }, + "500": { + "description": "An unexpected condition occurred that prevented the server from fulfilling the request.", + "schema": { + "$ref": "#/definitions/ErrorList" + }, + "headers": { + "x-amzn-RequestId": { + "description": "Unique request reference identifier.", + "type": "string" + } + } + }, + "403": { + "description": "Indicates that access to the resource is forbidden. Possible reasons include Access Denied, Unauthorized, Expired Token, or Invalid Signature.", + "schema": { + "$ref": "#/definitions/ErrorList" + }, + "headers": { + "x-amzn-RequestId": { + "description": "Unique request reference identifier.", + "type": "string" + } + } + }, + "404": { + "description": "The resource specified does not exist.", + "schema": { + "$ref": "#/definitions/ErrorList" + }, + "headers": { + "x-amzn-RequestId": { + "description": "Unique request reference identifier.", + "type": "string" + }, + "x-amzn-RateLimit-Limit": { + "description": "Your rate limit (requests per second) for this operation.", + "type": "string" + } + } + }, + "413": { + "description": "The request size exceeded the maximum accepted size.", + "schema": { + "$ref": "#/definitions/ErrorList" + }, + "headers": { + "x-amzn-RequestId": { + "description": "Unique request reference identifier.", + "type": "string" + } + } + }, + "415": { + "description": "The request payload is in an unsupported format.", + "schema": { + "$ref": "#/definitions/ErrorList" + }, + "headers": { + "x-amzn-RequestId": { + "description": "Unique request reference identifier.", + "type": "string" + } + } + }, + "429": { + "description": "The frequency of requests was greater than allowed.", + "schema": { + "$ref": "#/definitions/ErrorList" + }, + "headers": { + "x-amzn-RequestId": { + "description": "Unique request reference identifier.", + "type": "string" + } + } + }, + "503": { + "description": "Temporary overloading or maintenance of the server.", + "schema": { + "$ref": "#/definitions/ErrorList" + }, + "headers": { + "x-amzn-RequestId": { + "description": "Unique request reference identifier.", + "type": "string" + } + } + } + }, + "tags": [ + "fbaInbound" + ], + "description": "Updates a shipment's tracking details.\n\n**Usage Plan:**\n\n| Rate (requests per second) | Burst |\n| ---- | ---- |\n| 1 | 1 |\n\nThe `x-amzn-RateLimit-Limit` response header returns the usage plan rate limits that were applied to the requested operation, when available. The table above indicates the default rate and burst values for this operation. Selling partners whose business demands require higher throughput may see higher rate and burst values than those shown here. For more information, refer to [Usage Plans and Rate Limits in the Selling Partner API](https://developer-docs.amazon.com/sp-api/docs/usage-plans-and-rate-limits-in-the-sp-api).", + "operationId": "updateShipmentTrackingDetails" + } + }, + "/inbound/fba/2024-03-20/inboundPlans/{inboundPlanId}/transportationOptions": { + "get": { + "produces": [ + "application/json" + ], + "parameters": [ + { + "description": "Identifier to an inbound plan.", + "in": "path", + "maxLength": 38, + "minLength": 38, + "name": "inboundPlanId", + "pattern": "^[a-zA-Z0-9-]*$", + "required": true, + "type": "string" + }, + { + "description": "The number of transportation options to return in the response matching the given query.", + "in": "query", + "maximum": 20, + "minimum": 1, + "name": "pageSize", + "type": "integer", + "default": 10 + }, + { + "description": "A token to fetch a certain page when there are multiple pages worth of results. The value of this token is fetched from the `pagination` returned in the API response. In the absence of the token value from the query parameter the API returns the first page of the result.", + "in": "query", + "maxLength": 1024, + "minLength": 0, + "name": "paginationToken", + "type": "string" + }, + { + "description": "The placement option to get transportation options for. Either placementOptionId or shipmentId must be specified.", + "in": "query", + "maxLength": 38, + "minLength": 38, + "name": "placementOptionId", + "pattern": "^[a-zA-Z0-9-]*$", + "type": "string" + }, + { + "description": "The shipment to get transportation options for. Either placementOptionId or shipmentId must be specified.", + "in": "query", + "maxLength": 38, + "minLength": 38, + "name": "shipmentId", + "pattern": "^[a-zA-Z0-9-]*$", + "type": "string" + } + ], + "responses": { + "200": { + "description": "ListTransportationOptions 200 response", + "schema": { + "$ref": "#/definitions/ListTransportationOptionsResponse" + }, + "x-amzn-api-sandbox": { + "static": [ + { + "request": { + "parameters": { + "inboundPlanId": { + "value": "wf1234abcd-1234-abcd-5678-1234abcd5678" + }, + "placementOptionId": { + "value": "pl1234abcd-1234-abcd-5678-1234abcd5678" + }, + "shipmentId": { + "value": "sh1234abcd-1234-abcd-5678-1234abcd5678" + }, + "pageSize": { + "value": 2 + }, + "paginationToken": { + "value": "paginationToken" + } + } + }, + "response": { + "transportationOptions": [ + { + "inboundPlanId": "wf1234abcd-1234-abcd-5678-1234abcd5678", + "placementOptionId": "pl1234abcd-1234-abcd-5678-1234abcd5678", + "shipmentId": "sh1234abcd-1234-abcd-5678-1234abcd5678", + "transportationOptionId": "to1234abcd-1234-abcd-5678-1234abcd5678", + "shippingSolution": "AMAZON_PARTNERED_CARRIER", + "carrier": { + "name": "name", + "alphaCode": "USPS" + }, + "shippingMode": "GROUND_SMALL_PARCEL", + "quote": { + "cost": { + "code": "USD", + "amount": 500.0 + }, + "voidableUntil": "2024-01-01T00:00:00.000Z", + "expiration": "2024-01-01T00:00:00.000Z" + }, + "appointmentSlot": { + "slotId": "aa1234abcd-1234-abcd-5678-1234abcd5678", + "slotTime": { + "startTime": "2024-01-01T00:00Z", + "endTime": "2024-01-01T00:00Z" + } + } + } + ], + "pagination": { + "nextToken": "nextPaginationToken" + } + } + } + ] + }, + "headers": { + "x-amzn-RequestId": { + "description": "Unique request reference identifier.", + "type": "string" + }, + "x-amzn-RateLimit-Limit": { + "description": "Your rate limit (requests per second) for this operation.", + "type": "string" + } + } + }, + "400": { + "description": "Request has missing or invalid parameters and cannot be parsed.", + "schema": { + "$ref": "#/definitions/ErrorList" + }, + "x-amzn-api-sandbox": { + "static": [ + { + "request": { + "parameters": { + "inboundPlanId": { + "value": "wf1234abcd-1234-abcd-5678-1234abcd5678" + }, + "placementOptionId": { + "value": "pl1234abcd-1234-abcd-5678-1234abcd5678" + }, + "shipmentId": { + "value": "bad234abcd-1234-abcd-5678-1234abcd5678" + }, + "pageSize": { + "value": 2 + }, + "paginationToken": { + "value": "paginationToken" + } + } + }, + "response": { + "errors": [ + { + "code": "BadRequest", + "message": "The requested shipmentId does not exist for the specified inbound plan." + } + ] + } + } + ] + }, + "headers": { + "x-amzn-RequestId": { + "description": "Unique request reference identifier.", + "type": "string" + }, + "x-amzn-RateLimit-Limit": { + "description": "Your rate limit (requests per second) for this operation.", + "type": "string" + } + } + }, + "500": { + "description": "An unexpected condition occurred that prevented the server from fulfilling the request.", + "schema": { + "$ref": "#/definitions/ErrorList" + }, + "headers": { + "x-amzn-RequestId": { + "description": "Unique request reference identifier.", + "type": "string" + } + } + }, + "403": { + "description": "Indicates that access to the resource is forbidden. Possible reasons include Access Denied, Unauthorized, Expired Token, or Invalid Signature.", + "schema": { + "$ref": "#/definitions/ErrorList" + }, + "headers": { + "x-amzn-RequestId": { + "description": "Unique request reference identifier.", + "type": "string" + } + } + }, + "404": { + "description": "The resource specified does not exist.", + "schema": { + "$ref": "#/definitions/ErrorList" + }, + "headers": { + "x-amzn-RequestId": { + "description": "Unique request reference identifier.", + "type": "string" + }, + "x-amzn-RateLimit-Limit": { + "description": "Your rate limit (requests per second) for this operation.", + "type": "string" + } + } + }, + "413": { + "description": "The request size exceeded the maximum accepted size.", + "schema": { + "$ref": "#/definitions/ErrorList" + }, + "headers": { + "x-amzn-RequestId": { + "description": "Unique request reference identifier.", + "type": "string" + } + } + }, + "415": { + "description": "The request payload is in an unsupported format.", + "schema": { + "$ref": "#/definitions/ErrorList" + }, + "headers": { + "x-amzn-RequestId": { + "description": "Unique request reference identifier.", + "type": "string" + } + } + }, + "429": { + "description": "The frequency of requests was greater than allowed.", + "schema": { + "$ref": "#/definitions/ErrorList" + }, + "headers": { + "x-amzn-RequestId": { + "description": "Unique request reference identifier.", + "type": "string" + } + } + }, + "503": { + "description": "Temporary overloading or maintenance of the server.", + "schema": { + "$ref": "#/definitions/ErrorList" + }, + "headers": { + "x-amzn-RequestId": { + "description": "Unique request reference identifier.", + "type": "string" + } + } + } + }, + "tags": [ + "fbaInbound" + ], + "description": "Retrieves all transportation options for a shipment. Transportation options must first be generated by the corresponding endpoint before becoming available.\n\n**Usage Plan:**\n\n| Rate (requests per second) | Burst |\n| ---- | ---- |\n| 1 | 1 |\n\nThe `x-amzn-RateLimit-Limit` response header returns the usage plan rate limits that were applied to the requested operation, when available. The table above indicates the default rate and burst values for this operation. Selling partners whose business demands require higher throughput may see higher rate and burst values than those shown here. For more information, refer to [Usage Plans and Rate Limits in the Selling Partner API](https://developer-docs.amazon.com/sp-api/docs/usage-plans-and-rate-limits-in-the-sp-api).", + "operationId": "listTransportationOptions" + }, + "post": { + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "parameters": [ + { + "description": "Identifier to an inbound plan.", + "in": "path", + "maxLength": 38, + "minLength": 38, + "name": "inboundPlanId", + "pattern": "^[a-zA-Z0-9-]*$", + "required": true, + "type": "string" + }, + { + "in": "body", + "name": "body", + "required": true, + "schema": { + "$ref": "#/definitions/GenerateTransportationOptionsRequest" + }, + "description": "The body of the request to `generateTransportationOptions`." + } + ], + "responses": { + "202": { + "description": "GenerateTransportationOptions 202 response", + "schema": { + "$ref": "#/definitions/GenerateTransportationOptionsResponse" + }, + "x-amzn-api-sandbox": { + "static": [ + { + "request": { + "parameters": { + "inboundPlanId": { + "value": "wf1234abcd-1234-abcd-5678-1234abcd5678" + }, + "body": { + "value": { + "placementOptionId": "pl1234abcd-1234-abcd-5678-1234abcd5678", + "shipmentTransportationConfigurations": [ + { + "shipmentId": "sh1234abcd-1234-abcd-5678-1234abcd5678", + "readyToShipWindow": { + "start": "2024-01-01T00:00Z" + }, + "contactInformation": { + "name": "name", + "phoneNumber": "1234567890", + "email": "email@email.com" + }, + "palletInformation": { + "pallets": [ + { + "stackability": "STACKABLE", + "weight": { + "unit": "KG", + "value": 5.5 + }, + "dimensions": { + "unitOfMeasurement": "CM", + "length": 3.0, + "width": 4.0, + "height": 5.0 + }, + "quantity": 2 + } + ], + "freightClass": "FC_50", + "declaredValue": { + "code": "USD", + "amount": 500.0 + } + } + } + ] + } + } + } + }, + "response": { + "operationId": "1234abcd-1234-abcd-5678-1234abcd5678" + } + } + ] + }, + "headers": { + "x-amzn-RequestId": { + "description": "Unique request reference identifier.", + "type": "string" + }, + "x-amzn-RateLimit-Limit": { + "description": "Your rate limit (requests per second) for this operation.", + "type": "string" + } + } + }, + "400": { + "description": "Request has missing or invalid parameters and cannot be parsed.", + "schema": { + "$ref": "#/definitions/ErrorList" + }, + "x-amzn-api-sandbox": { + "static": [ + { + "request": { + "parameters": { + "inboundPlanId": { + "value": "wf1234abcd-1234-abcd-5678-1234abcd5678" + }, + "body": { + "value": { + "placementOptionId": "pl1234abcd-1234-abcd-5678-1234abcd5678", + "shipmentTransportationConfigurations": [ + { + "shipmentId": "bad234abcd-1234-abcd-5678-1234abcd5678", + "readyToShipWindow": { + "start": "2024-01-01T00:00Z" + }, + "contactInformation": { + "name": "name", + "phoneNumber": "1234567890", + "email": "email@email.com" + }, + "palletInformation": { + "pallets": [ + { + "stackability": "STACKABLE", + "weight": { + "unit": "KG", + "value": 5.5 + }, + "dimensions": { + "unitOfMeasurement": "CM", + "length": 3.0, + "width": 4.0, + "height": 5.0 + }, + "quantity": 2 + } + ], + "freightClass": "FC_50", + "declaredValue": { + "code": "USD", + "amount": 500.0 + } + } + } + ] + } + } + } + }, + "response": { + "errors": [ + { + "code": "BadRequest", + "message": "The requested shipmentId does not exist under the provided placement option." + } + ] + } + } + ] + }, + "headers": { + "x-amzn-RequestId": { + "description": "Unique request reference identifier.", + "type": "string" + }, + "x-amzn-RateLimit-Limit": { + "description": "Your rate limit (requests per second) for this operation.", + "type": "string" + } + } + }, + "500": { + "description": "An unexpected condition occurred that prevented the server from fulfilling the request.", + "schema": { + "$ref": "#/definitions/ErrorList" + }, + "headers": { + "x-amzn-RequestId": { + "description": "Unique request reference identifier.", + "type": "string" + } + } + }, + "403": { + "description": "Indicates that access to the resource is forbidden. Possible reasons include Access Denied, Unauthorized, Expired Token, or Invalid Signature.", + "schema": { + "$ref": "#/definitions/ErrorList" + }, + "headers": { + "x-amzn-RequestId": { + "description": "Unique request reference identifier.", + "type": "string" + } + } + }, + "404": { + "description": "The resource specified does not exist.", + "schema": { + "$ref": "#/definitions/ErrorList" + }, + "headers": { + "x-amzn-RequestId": { + "description": "Unique request reference identifier.", + "type": "string" + }, + "x-amzn-RateLimit-Limit": { + "description": "Your rate limit (requests per second) for this operation.", + "type": "string" + } + } + }, + "413": { + "description": "The request size exceeded the maximum accepted size.", + "schema": { + "$ref": "#/definitions/ErrorList" + }, + "headers": { + "x-amzn-RequestId": { + "description": "Unique request reference identifier.", + "type": "string" + } + } + }, + "415": { + "description": "The request payload is in an unsupported format.", + "schema": { + "$ref": "#/definitions/ErrorList" + }, + "headers": { + "x-amzn-RequestId": { + "description": "Unique request reference identifier.", + "type": "string" + } + } + }, + "429": { + "description": "The frequency of requests was greater than allowed.", + "schema": { + "$ref": "#/definitions/ErrorList" + }, + "headers": { + "x-amzn-RequestId": { + "description": "Unique request reference identifier.", + "type": "string" + } + } + }, + "503": { + "description": "Temporary overloading or maintenance of the server.", + "schema": { + "$ref": "#/definitions/ErrorList" + }, + "headers": { + "x-amzn-RequestId": { + "description": "Unique request reference identifier.", + "type": "string" + } + } + } + }, + "tags": [ + "fbaInbound" + ], + "description": "Generates available transportation options for a given placement option.\n\n**Usage Plan:**\n\n| Rate (requests per second) | Burst |\n| ---- | ---- |\n| 0.05 | 1 |\n\nThe `x-amzn-RateLimit-Limit` response header returns the usage plan rate limits that were applied to the requested operation, when available. The table above indicates the default rate and burst values for this operation. Selling partners whose business demands require higher throughput may see higher rate and burst values than those shown here. For more information, refer to [Usage Plans and Rate Limits in the Selling Partner API](https://developer-docs.amazon.com/sp-api/docs/usage-plans-and-rate-limits-in-the-sp-api).", + "operationId": "generateTransportationOptions" + } + }, + "/inbound/fba/2024-03-20/inboundPlans/{inboundPlanId}/transportationOptions/confirmation": { + "post": { + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "parameters": [ + { + "description": "Identifier to an inbound plan.", + "in": "path", + "maxLength": 38, + "minLength": 38, + "name": "inboundPlanId", + "pattern": "^[a-zA-Z0-9-]*$", + "required": true, + "type": "string" + }, + { + "in": "body", + "name": "body", + "required": true, + "schema": { + "$ref": "#/definitions/ConfirmTransportationOptionsRequest" + }, + "description": "The body of the request to `confirmTransportationOptions`." + } + ], + "responses": { + "202": { + "description": "ConfirmTransportationOptions 202 response", + "schema": { + "$ref": "#/definitions/ConfirmTransportationOptionsResponse" + }, + "x-amzn-api-sandbox": { + "static": [ + { + "request": { + "parameters": { + "inboundPlanId": { + "value": "wf1234abcd-1234-abcd-5678-1234abcd5678" + }, + "body": { + "value": { + "transportationSelections": [ + { + "shipmentId": "sh1234abcd-1234-abcd-5678-1234abcd5678", + "transportationOptionId": "to1234abcd-1234-abcd-5678-1234abcd5678", + "contactInformation": { + "name": "name", + "phoneNumber": "1234567890", + "email": "email@email.com" + }, + "deliveryWindow": { + "start": "2024-01-01T00:00Z" + } + } + ] + } + } + } + }, + "response": { + "operationId": "1234abcd-1234-abcd-5678-1234abcd5678" + } + } + ] + }, + "headers": { + "x-amzn-RequestId": { + "description": "Unique request reference identifier.", + "type": "string" + }, + "x-amzn-RateLimit-Limit": { + "description": "Your rate limit (requests per second) for this operation.", + "type": "string" + } + } + }, + "400": { + "description": "Request has missing or invalid parameters and cannot be parsed.", + "schema": { + "$ref": "#/definitions/ErrorList" + }, + "x-amzn-api-sandbox": { + "static": [ + { + "request": { + "parameters": { + "inboundPlanId": { + "value": "wfbad4abcd-1234-abcd-5678-1234abcd5678" + }, + "body": { + "value": { + "transportationSelections": [ + { + "shipmentId": "sh1234abcd-1234-abcd-5678-1234abcd5678", + "transportationOptionId": "bad234abcd-1234-abcd-5678-1234abcd5678", + "contactInformation": { + "name": "name", + "phoneNumber": "1234567890", + "email": "email@email.com" + }, + "deliveryWindow": { + "start": "2024-01-01T00:00Z" + } + } + ] + } + } + } + }, + "response": { + "errors": [ + { + "code": "BadRequest", + "message": "The requested transportationOptionId does not exist under the associated shipment." + } + ] + } + } + ] + }, + "headers": { + "x-amzn-RequestId": { + "description": "Unique request reference identifier.", + "type": "string" + }, + "x-amzn-RateLimit-Limit": { + "description": "Your rate limit (requests per second) for this operation.", + "type": "string" + } + } + }, + "500": { + "description": "An unexpected condition occurred that prevented the server from fulfilling the request.", + "schema": { + "$ref": "#/definitions/ErrorList" + }, + "headers": { + "x-amzn-RequestId": { + "description": "Unique request reference identifier.", + "type": "string" + } + } + }, + "403": { + "description": "Indicates that access to the resource is forbidden. Possible reasons include Access Denied, Unauthorized, Expired Token, or Invalid Signature.", + "schema": { + "$ref": "#/definitions/ErrorList" + }, + "headers": { + "x-amzn-RequestId": { + "description": "Unique request reference identifier.", + "type": "string" + } + } + }, + "404": { + "description": "The resource specified does not exist.", + "schema": { + "$ref": "#/definitions/ErrorList" + }, + "headers": { + "x-amzn-RequestId": { + "description": "Unique request reference identifier.", + "type": "string" + }, + "x-amzn-RateLimit-Limit": { + "description": "Your rate limit (requests per second) for this operation.", + "type": "string" + } + } + }, + "413": { + "description": "The request size exceeded the maximum accepted size.", + "schema": { + "$ref": "#/definitions/ErrorList" + }, + "headers": { + "x-amzn-RequestId": { + "description": "Unique request reference identifier.", + "type": "string" + } + } + }, + "415": { + "description": "The request payload is in an unsupported format.", + "schema": { + "$ref": "#/definitions/ErrorList" + }, + "headers": { + "x-amzn-RequestId": { + "description": "Unique request reference identifier.", + "type": "string" + } + } + }, + "429": { + "description": "The frequency of requests was greater than allowed.", + "schema": { + "$ref": "#/definitions/ErrorList" + }, + "headers": { + "x-amzn-RequestId": { + "description": "Unique request reference identifier.", + "type": "string" + } + } + }, + "503": { + "description": "Temporary overloading or maintenance of the server.", + "schema": { + "$ref": "#/definitions/ErrorList" + }, + "headers": { + "x-amzn-RequestId": { + "description": "Unique request reference identifier.", + "type": "string" + } + } + } + }, + "tags": [ + "fbaInbound" + ], + "description": "Confirms all the transportation options for an inbound plan. A placement option must be confirmed prior to use of this API. Once confirmed, new transportation options can not be generated or confirmed for the Inbound Plan.\n\n**Usage Plan:**\n\n| Rate (requests per second) | Burst |\n| ---- | ---- |\n| 0.05 | 1 |\n\nThe `x-amzn-RateLimit-Limit` response header returns the usage plan rate limits that were applied to the requested operation, when available. The table above indicates the default rate and burst values for this operation. Selling partners whose business demands require higher throughput may see higher rate and burst values than those shown here. For more information, refer to [Usage Plans and Rate Limits in the Selling Partner API](https://developer-docs.amazon.com/sp-api/docs/usage-plans-and-rate-limits-in-the-sp-api).", + "operationId": "confirmTransportationOptions" + } + }, + "/inbound/fba/2024-03-20/items/compliance": { + "get": { + "produces": [ + "application/json" + ], + "parameters": [ + { + "collectionFormat": "multi", + "description": "List of merchant SKUs, a merchant-supplied identifier for a specific SKU.", + "in": "query", + "items": { + "maxLength": 40, + "minLength": 1, + "type": "string" + }, + "maxItems": 100, + "minItems": 1, + "name": "mskus", + "required": true, + "type": "array" + }, + { + "description": "The Marketplace ID. Refer to [Marketplace IDs](https://developer-docs.amazon.com/sp-api/docs/marketplace-ids) for a list of possible values.", + "in": "query", + "maxLength": 256, + "minLength": 1, + "name": "marketplaceId", + "required": true, + "type": "string" + } + ], + "responses": { + "200": { + "description": "ListItemComplianceDetails 200 response", + "schema": { + "$ref": "#/definitions/ListItemComplianceDetailsResponse" + }, + "x-amzn-api-sandbox": { + "static": [ + { + "request": { + "parameters": { + "mskus": { + "value": [ + "msku1", + "msku2" + ] + }, + "marketplaceId": { + "value": "ATVPDKIKX0DER" + } + } + }, + "response": { + "complianceDetails": [ + { + "msku": "msku1", + "fnsku": "fnsku1", + "asin": "asin1", + "taxDetails": { + "hsnCode": "720299", + "declaredValue": { + "code": "USD", + "amount": 50.0 + }, + "taxRates": [ + { + "taxType": "TOTAL_TAX", + "gstRate": 1.0, + "cessRate": 1.0 + } + ] + } + }, + { + "msku": "msku2", + "fnsku": "fnsku2", + "asin": "asin2", + "taxDetails": { + "hsnCode": "720299", + "declaredValue": { + "code": "USD", + "amount": 50.0 + }, + "taxRates": [ + { + "taxType": "TOTAL_TAX", + "gstRate": 1.0, + "cessRate": 1.0 + } + ] + } + } + ] + } + } + ] + }, + "headers": { + "x-amzn-RequestId": { + "description": "Unique request reference identifier.", + "type": "string" + }, + "x-amzn-RateLimit-Limit": { + "description": "Your rate limit (requests per second) for this operation.", + "type": "string" + } + } + }, + "400": { + "description": "Request has missing or invalid parameters and cannot be parsed.", + "schema": { + "$ref": "#/definitions/ErrorList" + }, + "x-amzn-api-sandbox": { + "static": [ + { + "request": { + "parameters": { + "mskus": { + "value": [ + "badmsku" + ] + }, + "marketplaceId": { + "value": "ATVPDKIKX0DER" + } + } + }, + "response": { + "errors": [ + { + "code": "BadRequest", + "message": "The requested MSKU is not valid for the specified marketplace." + } + ] + } + } + ] + }, + "headers": { + "x-amzn-RequestId": { + "description": "Unique request reference identifier.", + "type": "string" + }, + "x-amzn-RateLimit-Limit": { + "description": "Your rate limit (requests per second) for this operation.", + "type": "string" + } + } + }, + "500": { + "description": "An unexpected condition occurred that prevented the server from fulfilling the request.", + "schema": { + "$ref": "#/definitions/ErrorList" + }, + "headers": { + "x-amzn-RequestId": { + "description": "Unique request reference identifier.", + "type": "string" + } + } + }, + "403": { + "description": "Indicates that access to the resource is forbidden. Possible reasons include Access Denied, Unauthorized, Expired Token, or Invalid Signature.", + "schema": { + "$ref": "#/definitions/ErrorList" + }, + "headers": { + "x-amzn-RequestId": { + "description": "Unique request reference identifier.", + "type": "string" + } + } + }, + "404": { + "description": "The resource specified does not exist.", + "schema": { + "$ref": "#/definitions/ErrorList" + }, + "headers": { + "x-amzn-RequestId": { + "description": "Unique request reference identifier.", + "type": "string" + }, + "x-amzn-RateLimit-Limit": { + "description": "Your rate limit (requests per second) for this operation.", + "type": "string" + } + } + }, + "413": { + "description": "The request size exceeded the maximum accepted size.", + "schema": { + "$ref": "#/definitions/ErrorList" + }, + "headers": { + "x-amzn-RequestId": { + "description": "Unique request reference identifier.", + "type": "string" + } + } + }, + "415": { + "description": "The request payload is in an unsupported format.", + "schema": { + "$ref": "#/definitions/ErrorList" + }, + "headers": { + "x-amzn-RequestId": { + "description": "Unique request reference identifier.", + "type": "string" + } + } + }, + "429": { + "description": "The frequency of requests was greater than allowed.", + "schema": { + "$ref": "#/definitions/ErrorList" + }, + "headers": { + "x-amzn-RequestId": { + "description": "Unique request reference identifier.", + "type": "string" + } + } + }, + "503": { + "description": "Temporary overloading or maintenance of the server.", + "schema": { + "$ref": "#/definitions/ErrorList" + }, + "headers": { + "x-amzn-RequestId": { + "description": "Unique request reference identifier.", + "type": "string" + } + } + } + }, + "tags": [ + "fbaInbound" + ], + "description": "List the inbound compliance details for MSKUs in a given marketplace.\n\n**Usage Plan:**\n\n| Rate (requests per second) | Burst |\n| ---- | ---- |\n| 1 | 1 |\n\nThe `x-amzn-RateLimit-Limit` response header returns the usage plan rate limits that were applied to the requested operation, when available. The table above indicates the default rate and burst values for this operation. Selling partners whose business demands require higher throughput may see higher rate and burst values than those shown here. For more information, refer to [Usage Plans and Rate Limits in the Selling Partner API](https://developer-docs.amazon.com/sp-api/docs/usage-plans-and-rate-limits-in-the-sp-api).", + "operationId": "listItemComplianceDetails" + }, + "put": { + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "parameters": [ + { + "description": "The Marketplace ID. Refer to [Marketplace IDs](https://developer-docs.amazon.com/sp-api/docs/marketplace-ids) for a list of possible values.", + "in": "query", + "maxLength": 256, + "minLength": 1, + "name": "marketplaceId", + "required": true, + "type": "string" + }, + { + "in": "body", + "name": "body", + "required": true, + "schema": { + "$ref": "#/definitions/UpdateItemComplianceDetailsRequest" + }, + "description": "The body of the request to `updateItemComplianceDetails`." + } + ], + "responses": { + "202": { + "description": "UpdateItemComplianceDetails 202 response", + "schema": { + "$ref": "#/definitions/UpdateItemComplianceDetailsResponse" + }, + "x-amzn-api-sandbox": { + "static": [ + { + "request": { + "parameters": { + "marketplaceId": { + "value": "ATVPDKIKX0DER" + }, + "body": { + "value": { + "msku": "msku", + "taxDetails": { + "hsnCode": "720299", + "declaredValue": { + "code": "USD", + "amount": 50.0 + }, + "taxRates": [ + { + "taxType": "TOTAL_TAX", + "gstRate": 1.0, + "cessRate": 1.0 + } + ] + } + } + } + } + }, + "response": { + "operationId": "1234abcd-1234-abcd-5678-1234abcd5678" + } + } + ] + }, + "headers": { + "x-amzn-RequestId": { + "description": "Unique request reference identifier.", + "type": "string" + }, + "x-amzn-RateLimit-Limit": { + "description": "Your rate limit (requests per second) for this operation.", + "type": "string" + } + } + }, + "400": { + "description": "Request has missing or invalid parameters and cannot be parsed.", + "schema": { + "$ref": "#/definitions/ErrorList" + }, + "x-amzn-api-sandbox": { + "static": [ + { + "request": { + "parameters": { + "marketplaceId": { + "value": "ATVPDKIKX0DER" + }, + "body": { + "value": { + "msku": "badmsku", + "taxDetails": { + "hsnCode": "720299", + "declaredValue": { + "code": "USD", + "amount": 50.0 + }, + "taxRates": [ + { + "taxType": "TOTAL_TAX", + "gstRate": 1.0, + "cessRate": 1.0 + } + ] + } + } + } + } + }, + "response": { + "errors": [ + { + "code": "BadRequest", + "message": "The requested msku does not exist for the specified marketplace." + } + ] + } + } + ] + }, + "headers": { + "x-amzn-RequestId": { + "description": "Unique request reference identifier.", + "type": "string" + }, + "x-amzn-RateLimit-Limit": { + "description": "Your rate limit (requests per second) for this operation.", + "type": "string" + } + } + }, + "500": { + "description": "An unexpected condition occurred that prevented the server from fulfilling the request.", + "schema": { + "$ref": "#/definitions/ErrorList" + }, + "headers": { + "x-amzn-RequestId": { + "description": "Unique request reference identifier.", + "type": "string" + } + } + }, + "403": { + "description": "Indicates that access to the resource is forbidden. Possible reasons include Access Denied, Unauthorized, Expired Token, or Invalid Signature.", + "schema": { + "$ref": "#/definitions/ErrorList" + }, + "headers": { + "x-amzn-RequestId": { + "description": "Unique request reference identifier.", + "type": "string" + } + } + }, + "404": { + "description": "The resource specified does not exist.", + "schema": { + "$ref": "#/definitions/ErrorList" + }, + "headers": { + "x-amzn-RequestId": { + "description": "Unique request reference identifier.", + "type": "string" + }, + "x-amzn-RateLimit-Limit": { + "description": "Your rate limit (requests per second) for this operation.", + "type": "string" + } + } + }, + "413": { + "description": "The request size exceeded the maximum accepted size.", + "schema": { + "$ref": "#/definitions/ErrorList" + }, + "headers": { + "x-amzn-RequestId": { + "description": "Unique request reference identifier.", + "type": "string" + } + } + }, + "415": { + "description": "The request payload is in an unsupported format.", + "schema": { + "$ref": "#/definitions/ErrorList" + }, + "headers": { + "x-amzn-RequestId": { + "description": "Unique request reference identifier.", + "type": "string" + } + } + }, + "429": { + "description": "The frequency of requests was greater than allowed.", + "schema": { + "$ref": "#/definitions/ErrorList" + }, + "headers": { + "x-amzn-RequestId": { + "description": "Unique request reference identifier.", + "type": "string" + } + } + }, + "503": { + "description": "Temporary overloading or maintenance of the server.", + "schema": { + "$ref": "#/definitions/ErrorList" + }, + "headers": { + "x-amzn-RequestId": { + "description": "Unique request reference identifier.", + "type": "string" + } + } + } + }, + "tags": [ + "fbaInbound" + ], + "description": "Update compliance details for list of MSKUs. The details provided here are only used for the IN marketplace compliance validation.\n\n**Usage Plan:**\n\n| Rate (requests per second) | Burst |\n| ---- | ---- |\n| 1 | 1 |\n\nThe `x-amzn-RateLimit-Limit` response header returns the usage plan rate limits that were applied to the requested operation, when available. The table above indicates the default rate and burst values for this operation. Selling partners whose business demands require higher throughput may see higher rate and burst values than those shown here. For more information, refer to [Usage Plans and Rate Limits in the Selling Partner API](https://developer-docs.amazon.com/sp-api/docs/usage-plans-and-rate-limits-in-the-sp-api).", + "operationId": "updateItemComplianceDetails" + } + }, + "/inbound/fba/2024-03-20/operations/{operationId}": { + "get": { + "produces": [ + "application/json" + ], + "parameters": [ + { + "description": "Identifier to an asynchronous operation.", + "in": "path", + "maxLength": 38, + "minLength": 36, + "name": "operationId", + "pattern": "^[a-zA-Z0-9-]*$", + "required": true, + "type": "string" + } + ], + "responses": { + "200": { + "description": "GetInboundOperationStatus 200 response", + "schema": { + "$ref": "#/definitions/InboundOperationStatus" + }, + "x-amzn-api-sandbox": { + "static": [ + { + "request": { + "parameters": { + "operationId": { + "value": "1234abcd-1234-abcd-5678-1234abcd5678" + } + } + }, + "response": { + "operationId": "a440f2ff-cb08-416a-99e1-67a04eee88f6", + "operation": "operationName", + "operationStatus": "SUCCESS", + "operationProblems": [ + { + "code": "DimensionMismatch", + "message": "The dimension does not match what is expected.", + "details": "", + "severity": "WARNING" + } + ] + } + } + ] + }, + "headers": { + "x-amzn-RequestId": { + "description": "Unique request reference identifier.", + "type": "string" + }, + "x-amzn-RateLimit-Limit": { + "description": "Your rate limit (requests per second) for this operation.", + "type": "string" + } + } + }, + "400": { + "description": "Request has missing or invalid parameters and cannot be parsed.", + "schema": { + "$ref": "#/definitions/ErrorList" + }, + "x-amzn-api-sandbox": { + "static": [ + { + "request": { + "parameters": { + "operationId": { + "value": "bad4abcd-1234-abcd-5678-1234abcd5678" + } + } + }, + "response": { + "errors": [ + { + "code": "BadRequest", + "message": "The operationId is malformed." + } + ] + } + } + ] + }, + "headers": { + "x-amzn-RequestId": { + "description": "Unique request reference identifier.", + "type": "string" + }, + "x-amzn-RateLimit-Limit": { + "description": "Your rate limit (requests per second) for this operation.", + "type": "string" + } + } + }, + "500": { + "description": "An unexpected condition occurred that prevented the server from fulfilling the request.", + "schema": { + "$ref": "#/definitions/ErrorList" + }, + "headers": { + "x-amzn-RequestId": { + "description": "Unique request reference identifier.", + "type": "string" + } + } + }, + "403": { + "description": "Indicates that access to the resource is forbidden. Possible reasons include Access Denied, Unauthorized, Expired Token, or Invalid Signature.", + "schema": { + "$ref": "#/definitions/ErrorList" + }, + "headers": { + "x-amzn-RequestId": { + "description": "Unique request reference identifier.", + "type": "string" + } + } + }, + "404": { + "description": "The resource specified does not exist.", + "schema": { + "$ref": "#/definitions/ErrorList" + }, + "headers": { + "x-amzn-RequestId": { + "description": "Unique request reference identifier.", + "type": "string" + }, + "x-amzn-RateLimit-Limit": { + "description": "Your rate limit (requests per second) for this operation.", + "type": "string" + } + } + }, + "413": { + "description": "The request size exceeded the maximum accepted size.", + "schema": { + "$ref": "#/definitions/ErrorList" + }, + "headers": { + "x-amzn-RequestId": { + "description": "Unique request reference identifier.", + "type": "string" + } + } + }, + "415": { + "description": "The request payload is in an unsupported format.", + "schema": { + "$ref": "#/definitions/ErrorList" + }, + "headers": { + "x-amzn-RequestId": { + "description": "Unique request reference identifier.", + "type": "string" + } + } + }, + "429": { + "description": "The frequency of requests was greater than allowed.", + "schema": { + "$ref": "#/definitions/ErrorList" + }, + "headers": { + "x-amzn-RequestId": { + "description": "Unique request reference identifier.", + "type": "string" + } + } + }, + "503": { + "description": "Temporary overloading or maintenance of the server.", + "schema": { + "$ref": "#/definitions/ErrorList" + }, + "headers": { + "x-amzn-RequestId": { + "description": "Unique request reference identifier.", + "type": "string" + } + } + } + }, + "tags": [ + "fbaInbound" + ], + "description": "Gets the status of the processing of an asynchronous API call.\n\n**Usage Plan:**\n\n| Rate (requests per second) | Burst |\n| ---- | ---- |\n| 1 | 1 |\n\nThe `x-amzn-RateLimit-Limit` response header returns the usage plan rate limits that were applied to the requested operation, when available. The table above indicates the default rate and burst values for this operation. Selling partners whose business demands require higher throughput may see higher rate and burst values than those shown here. For more information, refer to [Usage Plans and Rate Limits in the Selling Partner API](https://developer-docs.amazon.com/sp-api/docs/usage-plans-and-rate-limits-in-the-sp-api).", + "operationId": "getInboundOperationStatus" + } + } + }, + "definitions": { + "Address": { + "description": "Specific details to identify a place.", + "properties": { + "addressLine1": { + "description": "Street address information.", + "maxLength": 180, + "minLength": 1, + "type": "string" + }, + "addressLine2": { + "description": "Additional street address information.", + "maxLength": 60, + "minLength": 1, + "type": "string" + }, + "city": { + "description": "The city.", + "maxLength": 30, + "minLength": 1, + "type": "string" + }, + "companyName": { + "description": "The name of the business.", + "maxLength": 50, + "minLength": 1, + "type": "string" + }, + "countryCode": { + "description": "The country code in two-character ISO 3166-1 alpha-2 format.", + "maxLength": 2, + "minLength": 2, + "pattern": "^[A-Z]{2}$", + "type": "string" + }, + "name": { + "description": "The name of the individual or business.", + "maxLength": 50, + "minLength": 1, + "type": "string" + }, + "postalCode": { + "description": "The postal code.", + "maxLength": 32, + "minLength": 1, + "type": "string" + }, + "stateOrProvinceCode": { + "description": "The state or province code.", + "maxLength": 64, + "minLength": 1, + "type": "string" + } + }, + "required": [ + "addressLine1", + "city", + "countryCode", + "name", + "postalCode" + ], + "type": "object", + "example": { + "addressLine1": "123 example street", + "addressLine2": "Floor 19", + "city": "Toronto", + "companyName": "Acme", + "countryCode": "CA", + "name": "name", + "postalCode": "M1M1M1", + "stateOrProvinceCode": "ON" + } + }, + "AppointmentSlot": { + "description": "The fulfillment center appointment slot for the transportation option.", + "properties": { + "slotId": { + "description": "An identifier to a self-ship appointment slot.", + "maxLength": 38, + "minLength": 38, + "pattern": "^[a-zA-Z0-9-]*$", + "type": "string" + }, + "slotTime": { + "$ref": "#/definitions/AppointmentSlotTime" + } + }, + "required": [ + "slotId", + "slotTime" + ], + "type": "object" + }, + "AppointmentSlotTime": { + "description": "An appointment slot time with a start and end.", + "properties": { + "endTime": { + "description": "The end timestamp of the appointment in UTC.", + "format": "date-time", + "type": "string" + }, + "startTime": { + "description": "The start timestamp of the appointment in UTC.", + "format": "date-time", + "type": "string" + } + }, + "required": [ + "endTime", + "startTime" + ], + "type": "object" + }, + "Box": { + "description": "Contains information about a box that is used in the inbound plan. The box may contain an item and metadata about the box itself.", + "properties": { + "boxId": { + "description": "The ID provided by Amazon that identifies a given box. This ID is comprised of the external shipment ID (which\n is generated after transportation has been confirmed) and the index of the box.", + "maxLength": 1024, + "minLength": 1, + "type": "string" + }, + "destinationRegion": { + "$ref": "#/definitions/Region" + }, + "dimensions": { + "$ref": "#/definitions/Dimensions" + }, + "items": { + "description": "Items contained within the box.", + "items": { + "$ref": "#/definitions/Item" + }, + "type": "array" + }, + "packageId": { + "description": "Primary key to uniquely identify a Package (Box or Pallet).", + "maxLength": 38, + "minLength": 38, + "pattern": "^[a-zA-Z0-9-]*$", + "type": "string" + }, + "quantity": { + "description": "The number of containers where all other properties like weight or dimensions are identical.", + "maximum": 10000, + "minimum": 1, + "type": "integer" + }, + "templateName": { + "description": "Template name of the box.", + "maxLength": 1024, + "minLength": 1, + "type": "string" + }, + "weight": { + "$ref": "#/definitions/Weight" + } + }, + "required": [ + "packageId" + ], + "type": "object" + }, + "BoxContent": { + "description": "Specifies contents in a box. Each `BoxContent` minimally contains a mapping of an MSKU to the prep owner, label owner and its quantity in the box. It also contains the MSKU expiration date and manufacturing lot code if applicable.", + "properties": { + "expiration": { + "description": "The date in ISO 8601 format for when the MSKU expires.", + "pattern": "^([0-9]{4})-(0[1-9]|1[0-2])-(0[1-9]|[1-2][0-9]|3[0-1])$", + "type": "string" + }, + "labelOwner": { + "$ref": "#/definitions/LabelOwner" + }, + "manufacturingLotCode": { + "description": "The manufacturing lot code.", + "maxLength": 256, + "minLength": 1, + "type": "string" + }, + "msku": { + "description": "The merchant SKU, a merchant-supplied identifier for a specific SKU.", + "maxLength": 40, + "minLength": 1, + "type": "string" + }, + "prepOwner": { + "$ref": "#/definitions/PrepOwner" + }, + "quantityInBox": { + "description": "The number of units of the given MSKU in the box.", + "maximum": 10000, + "minimum": 1, + "type": "integer" + } + }, + "required": [ + "labelOwner", + "msku", + "prepOwner", + "quantityInBox" + ], + "type": "object", + "example": { + "expiration": "2024-01-01", + "labelOwner": "AMAZON", + "manufacturingLotCode": "manufacturingLotCode", + "msku": "Sunglasses", + "prepOwner": "AMAZON", + "quantityInBox": 10 + } + }, + "BoxContentInformationSource": { + "description": "Indication of how box content is meant to be provided.", + "enum": [ + "BOX_CONTENT_PROVIDED", + "MANUAL_PROCESS", + "BARCODE_2D" + ], + "type": "string", + "x-docgen-enum-table-extension": [ + { + "value": "BOX_CONTENT_PROVIDED", + "description": "Box contents have been provided by the seller." + }, + { + "value": "MANUAL_PROCESS", + "description": "Box contents will be manually processed during receive. This service incurs charges." + }, + { + "value": "BARCODE_2D", + "description": "Box contents information is provided by a barcode on the shipment. For more information, see Using 2D barcodes for box content information on Seller Central." + } + ] + }, + "BoxInput": { + "description": "Input information for a given box.", + "properties": { + "boxId": { + "description": "The ID of the box to update that was provided by Amazon. This ID is comprised of the external shipment ID\n (which is generated after transportation has been confirmed) and the index of the box.", + "maxLength": 1024, + "minLength": 1, + "type": "string" + }, + "contentInformationSource": { + "$ref": "#/definitions/BoxContentInformationSource" + }, + "contents": { + "description": "The Contents of the box containing a list of MSKUs and their quantity. If `boxAttribute` is `BARCODE_2D` or `MANUAL_PROCESS`, user should provide ALL of the items that could be in the box, without specifying item quantities.", + "items": { + "$ref": "#/definitions/BoxContent" + }, + "type": "array" + }, + "dimensions": { + "$ref": "#/definitions/Dimensions" + }, + "quantity": { + "description": "The number of containers where all other properties like weight or dimensions are identical.", + "maximum": 10000, + "minimum": 1, + "type": "integer" + }, + "templateName": { + "description": "The seller-provided name for a 'type' of box (or a group of boxes with the same contents), which will be used to identify all created boxes of that type. When providing bulk box information, this value must be unique from the other box types. When providing individual boxes with existing IDs, this value can be shared between many boxes that have the same contents.", + "maxLength": 1024, + "minLength": 1, + "type": "string" + }, + "weight": { + "$ref": "#/definitions/Weight" + } + }, + "required": [ + "contentInformationSource", + "dimensions", + "quantity", + "templateName", + "weight" + ], + "type": "object", + "example": { + "boxId": "FBA10ABC0YY100001", + "contentInformationSource": "BOX_CONTENT_PROVIDED", + "contents": [ + { + "expiration": "2024-01-01", + "labelOwner": "AMAZON", + "manufacturingLotCode": "manufacturingLotCode", + "msku": "Sunglasses", + "prepOwner": "AMAZON", + "quantityInBox": 10 + } + ], + "dimensions": { + "height": 5, + "length": 3, + "unitOfMeasurement": "CM", + "width": 4 + }, + "quantity": 2, + "templateName": "templateName", + "weight": { + "unit": "KG", + "value": 5.5 + } + } + }, + "CancelInboundPlanResponse": { + "description": "The `cancelInboundPlan` response.", + "properties": { + "operationId": { + "description": "UUID for the given operation.", + "maxLength": 38, + "minLength": 36, + "pattern": "^[a-zA-Z0-9-]*$", + "type": "string" + } + }, + "required": [ + "operationId" + ], + "type": "object" + }, + "CancelSelfShipAppointmentRequest": { + "description": "The `cancelSelfShipAppointment` request.", + "properties": { + "reasonComment": { + "$ref": "#/definitions/ReasonComment" + } + }, + "type": "object", + "example": { + "reasonComment": "OTHER" + } + }, + "CancelSelfShipAppointmentResponse": { + "description": "The `cancelSelfShipAppointment` response.", + "properties": { + "operationId": { + "description": "UUID for the given operation.", + "maxLength": 38, + "minLength": 36, + "pattern": "^[a-zA-Z0-9-]*$", + "type": "string" + } + }, + "required": [ + "operationId" + ], + "type": "object" + }, + "Carrier": { + "description": "The carrier for the inbound shipment.", + "properties": { + "alphaCode": { + "description": "The carrier code. For example, USPS or DHLEX.", + "maxLength": 1024, + "minLength": 1, + "type": "string" + }, + "name": { + "description": "The name of the carrier.", + "maxLength": 1024, + "minLength": 1, + "type": "string" + } + }, + "type": "object" + }, + "ComplianceDetail": { + "description": "Contains item identifiers and related tax information.", + "properties": { + "asin": { + "description": "The Amazon Standard Identification Number, which identifies the detail page identifier.", + "maxLength": 10, + "minLength": 1, + "type": "string" + }, + "fnsku": { + "description": "The Fulfillment Network SKU, which identifies a real fulfillable item with catalog data and condition.", + "maxLength": 10, + "minLength": 1, + "type": "string" + }, + "msku": { + "description": "The merchant SKU, a merchant-supplied identifier for a specific SKU.", + "maxLength": 40, + "minLength": 1, + "type": "string" + }, + "taxDetails": { + "$ref": "#/definitions/TaxDetails" + } + }, + "type": "object" + }, + "ConfirmPackingOptionResponse": { + "description": "The `confirmPackingOption` response.", + "properties": { + "operationId": { + "description": "UUID for the given operation.", + "maxLength": 38, + "minLength": 36, + "pattern": "^[a-zA-Z0-9-]*$", + "type": "string" + } + }, + "required": [ + "operationId" + ], + "type": "object" + }, + "ConfirmPlacementOptionResponse": { + "description": "The `confirmPlacementOption` response.", + "properties": { + "operationId": { + "description": "UUID for the given operation.", + "maxLength": 38, + "minLength": 36, + "pattern": "^[a-zA-Z0-9-]*$", + "type": "string" + } + }, + "required": [ + "operationId" + ], + "type": "object" + }, + "ConfirmTransportationOptionsRequest": { + "description": "The `confirmTransportationOptions` request.", + "properties": { + "transportationSelections": { + "description": "Information needed to confirm one of the available transportation options.", + "items": { + "$ref": "#/definitions/TransportationSelection" + }, + "minItems": 1, + "type": "array" + } + }, + "required": [ + "transportationSelections" + ], + "type": "object", + "example": { + "transportationSelections": [ + { + "contactInformation": { + "email": "email@email.com", + "name": "John Smithy", + "phoneNumber": "1234567890" + }, + "deliveryWindow": { + "start": "2024-01-01T00:00Z" + }, + "shipmentId": "sh1234abcd-1234-abcd-5678-1234abcd5678", + "transportationOptionId": "to1234abcd-1234-abcd-5678-1234abcd5678" + } + ] + } + }, + "ConfirmTransportationOptionsResponse": { + "description": "The `confirmTransportationOptions` response.", + "properties": { + "operationId": { + "description": "UUID for the given operation.", + "maxLength": 38, + "minLength": 36, + "pattern": "^[a-zA-Z0-9-]*$", + "type": "string" + } + }, + "required": [ + "operationId" + ], + "type": "object" + }, + "ContactInformation": { + "description": "The seller's contact information.", + "properties": { + "email": { + "description": "Email address.", + "maxLength": 1024, + "minLength": 1, + "type": "string" + }, + "name": { + "description": "The name belonging to the contact. This field is required when contact information is being provided for\n Less-Than-Truckload (LTL) carrier shipments.", + "maxLength": 1024, + "minLength": 1, + "type": "string" + }, + "phoneNumber": { + "description": "The phone number of the seller.", + "maxLength": 20, + "minLength": 1, + "type": "string" + } + }, + "required": [ + "phoneNumber" + ], + "type": "object", + "example": { + "email": "email@email.com", + "phoneNumber": "1234567890" + } + }, + "CreateInboundPlanRequest": { + "description": "The `createInboundPlan` request.", + "properties": { + "contactInformation": { + "$ref": "#/definitions/ContactInformation" + }, + "destinationMarketplaces": { + "description": "Marketplaces where the items need to be shipped to. Currently only one marketplace can be selected in this request.", + "items": { + "description": "The Marketplace ID. Refer to [Marketplace IDs](https://developer-docs.amazon.com/sp-api/docs/marketplace-ids) for a list of possible values.", + "maxLength": 256, + "minLength": 1, + "type": "string" + }, + "maxItems": 1, + "minItems": 1, + "type": "array" + }, + "items": { + "description": "Items included in this plan.", + "items": { + "$ref": "#/definitions/ItemInput" + }, + "maxItems": 2000, + "minItems": 1, + "type": "array" + }, + "name": { + "description": "Name for the Inbound Plan. If one isn't provided, a default name will be provided.", + "maxLength": 40, + "minLength": 1, + "type": "string" + }, + "sourceAddress": { + "$ref": "#/definitions/Address" + } + }, + "required": [ + "contactInformation", + "destinationMarketplaces", + "items", + "sourceAddress" + ], + "type": "object", + "example": { + "contactInformation": { + "email": "email@email.com", + "phoneNumber": "1234567890" + }, + "destinationMarketplaces": [ + "ATVPDKIKX0DER" + ], + "items": [ + { + "expiration": "2024-01-01", + "labelOwner": "AMAZON", + "manufacturingLotCode": "manufacturingLotCode", + "msku": "Sunglasses", + "prepOwner": "AMAZON", + "quantity": 10 + } + ], + "name": "My inbound plan", + "sourceAddress": { + "addressLine1": "123 example street", + "addressLine2": "Floor 19", + "city": "Toronto", + "companyName": "Acme", + "countryCode": "CA", + "name": "name", + "postalCode": "M1M1M1", + "stateOrProvinceCode": "ON" + } + } + }, + "CreateInboundPlanResponse": { + "description": "The `createInboundPlan` response.", + "properties": { + "inboundPlanId": { + "description": "Identifier to an inbound plan.", + "maxLength": 38, + "minLength": 38, + "pattern": "^[a-zA-Z0-9-]*$", + "type": "string" + }, + "operationId": { + "description": "UUID for the given operation.", + "maxLength": 38, + "minLength": 36, + "pattern": "^[a-zA-Z0-9-]*$", + "type": "string" + } + }, + "required": [ + "inboundPlanId", + "operationId" + ], + "type": "object" + }, + "Currency": { + "description": "Currency definition.", + "properties": { + "amount": { + "description": "Decimal value of the currency.", + "type": "number" + }, + "code": { + "description": "ISO 4217 standard of a currency code.", + "maxLength": 3, + "minLength": 3, + "type": "string" + } + }, + "required": [ + "amount", + "code" + ], + "type": "object" + }, + "CustomPlacementInput": { + "description": "Provide units going to the warehouse.", + "properties": { + "items": { + "description": "Items included while creating Inbound Plan.", + "items": { + "$ref": "#/definitions/ItemInput" + }, + "maxItems": 2000, + "minItems": 1, + "type": "array" + }, + "warehouseId": { + "description": "Warehouse Id.", + "maxLength": 1024, + "minLength": 1, + "type": "string" + } + }, + "required": [ + "items", + "warehouseId" + ], + "type": "object", + "example": { + "items": [ + { + "expiration": "2024-01-01", + "labelOwner": "AMAZON", + "manufacturingLotCode": "manufacturingLotCode", + "msku": "Sunglasses", + "prepOwner": "AMAZON", + "quantity": 10 + } + ], + "warehouseId": "YYZ14" + } + }, + "Dates": { + "description": "Specifies the dates that the seller expects their shipment will be shipped and delivered.", + "properties": { + "deliveryWindow": { + "$ref": "#/definitions/Window" + }, + "readyToShipWindow": { + "$ref": "#/definitions/Window" + } + }, + "type": "object", + "example": { + "readyToShipWindow": { + "end": "2024-01-06T14:48:00.000Z", + "start": "2024-01-05T14:48:00.000Z" + } + } + }, + "Dimensions": { + "description": "Measurement of a package dimensions.", + "properties": { + "height": { + "description": "Height.", + "format": "double", + "maximum": 100000, + "minimum": 0, + "type": "number" + }, + "length": { + "description": "Length.", + "format": "double", + "maximum": 100000, + "minimum": 0, + "type": "number" + }, + "unitOfMeasurement": { + "$ref": "#/definitions/UnitOfMeasurement" + }, + "width": { + "description": "Width.", + "format": "double", + "maximum": 100000, + "minimum": 0, + "type": "number" + } + }, + "required": [ + "height", + "length", + "unitOfMeasurement", + "width" + ], + "type": "object" + }, + "DocumentDownload": { + "description": "Resource to download the requested document.", + "properties": { + "downloadType": { + "description": "The type of download. Can be `URL` or `PDF_BASE64`.", + "type": "string" + }, + "expiration": { + "description": "The timestamp of expiration of the URI. This is in ISO 8601 datetime format with pattern `yyyy-MM-ddTHH:mm:ss.sssZ`.", + "format": "date-time", + "type": "string" + }, + "uri": { + "description": "Uniform resource identifier to identify where the document is located.", + "type": "string" + } + }, + "required": [ + "downloadType", + "uri" + ], + "type": "object" + }, + "Error": { + "description": "Error object containing information about what went wrong.", + "properties": { + "code": { + "description": "An error code that identifies the type of error that occurred.", + "maxLength": 256, + "minLength": 1, + "type": "string" + }, + "details": { + "description": "Additional details that can help the caller understand or fix the issue.", + "maxLength": 8192, + "minLength": 0, + "type": "string" + }, + "message": { + "description": "A message that describes the error condition.", + "maxLength": 2048, + "minLength": 1, + "type": "string" + } + }, + "required": [ + "code", + "message" + ], + "type": "object", + "example": { + "code": "FBA_ERROR_001", + "details": "The shipment is in a status that does not allow it to be edited.", + "message": "Invalid Request" + } + }, + "ErrorList": { + "description": "A list of error responses returned when a request is unsuccessful.", + "properties": { + "errors": { + "description": "List of errors.", + "items": { + "$ref": "#/definitions/Error" + }, + "type": "array" + } + }, + "required": [ + "errors" + ], + "type": "object" + }, + "GeneratePackingOptionsResponse": { + "description": "The `generatePackingOptions` response.", + "properties": { + "operationId": { + "description": "UUID for the given operation.", + "maxLength": 38, + "minLength": 36, + "pattern": "^[a-zA-Z0-9-]*$", + "type": "string" + } + }, + "required": [ + "operationId" + ], + "type": "object" + }, + "GeneratePlacementOptionsRequest": { + "description": "The `generatePlacementOptions` request.", + "properties": { + "customPlacement": { + "description": "Custom placements options to be added to the plan.", + "items": { + "$ref": "#/definitions/CustomPlacementInput" + }, + "type": "array" + } + }, + "type": "object", + "example": { + "customPlacement": [ + { + "items": [ + { + "expiration": "2024-01-01", + "labelOwner": "AMAZON", + "manufacturingLotCode": "manufacturingLotCode", + "msku": "Sunglasses", + "prepOwner": "AMAZON", + "quantity": 10 + } + ], + "warehouseId": "YYZ14" + } + ] + } + }, + "GeneratePlacementOptionsResponse": { + "description": "The `generatePlacementOptions` response.", + "properties": { + "operationId": { + "description": "UUID for the given operation.", + "maxLength": 38, + "minLength": 36, + "pattern": "^[a-zA-Z0-9-]*$", + "type": "string" + } + }, + "required": [ + "operationId" + ], + "type": "object" + }, + "GenerateSelfShipAppointmentSlotsRequest": { + "description": "The `generateSelfShipAppointmentSlots` request.", + "properties": { + "desiredEndDate": { + "description": "The ISO 8601 datetime with pattern `yyyy-MM-ddTHH:mm:ss.sssZ`.", + "format": "date-time", + "type": "string" + }, + "desiredStartDate": { + "description": "The ISO 8601 datetime with pattern `yyyy-MM-ddTHH:mm:ss.sssZ`.", + "format": "date-time", + "type": "string" + } + }, + "type": "object", + "example": { + "desiredEndDate": "2024-01-06T14:48:00.000Z", + "desiredStartDate": "2024-01-05T14:48:00.000Z" + } + }, + "GenerateSelfShipAppointmentSlotsResponse": { + "description": "The `generateSelfShipAppointmentSlots` response.", + "properties": { + "operationId": { + "description": "UUID for the given operation.", + "maxLength": 38, + "minLength": 36, + "pattern": "^[a-zA-Z0-9-]*$", + "type": "string" + } + }, + "required": [ + "operationId" + ], + "type": "object" + }, + "GenerateTransportationOptionsRequest": { + "description": "The `generateTransportationOptions` request.", + "properties": { + "placementOptionId": { + "description": "The placement option to generate transportation options for.", + "maxLength": 38, + "minLength": 38, + "pattern": "^[a-zA-Z0-9-]*$", + "type": "string" + }, + "shipmentTransportationConfigurations": { + "description": "List of shipment transportation configurations.", + "items": { + "$ref": "#/definitions/ShipmentTransportationConfiguration" + }, + "type": "array" + } + }, + "required": [ + "placementOptionId", + "shipmentTransportationConfigurations" + ], + "type": "object", + "example": { + "placementOptionId": "pl1234abcd-1234-abcd-5678-1234abcd5678", + "shipmentTransportationConfigurations": [ + { + "contactInformation": { + "email": "email@email.com", + "name": "John Smithy", + "phoneNumber": "1234567890" + }, + "palletInformation": { + "declaredValue": { + "amount": 500, + "code": "USD" + }, + "freightClass": "FC_50", + "pallets": [ + { + "dimensions": { + "height": 5, + "length": 3, + "unitOfMeasurement": "CM", + "width": 4 + }, + "quantity": 2, + "stackability": "STACKABLE", + "weight": { + "unit": "KG", + "value": 5.5 + } + } + ] + }, + "readyToShipWindow": { + "start": "2024-01-01T00:00Z" + }, + "shipmentId": "sh1234abcd-1234-abcd-5678-1234abcd5678" + } + ] + } + }, + "GenerateTransportationOptionsResponse": { + "description": "The `generateTransportationOptions` response.", + "properties": { + "operationId": { + "description": "UUID for the given operation.", + "maxLength": 38, + "minLength": 36, + "pattern": "^[a-zA-Z0-9-]*$", + "type": "string" + } + }, + "required": [ + "operationId" + ], + "type": "object" + }, + "GetDeliveryChallanDocumentResponse": { + "description": "The `getDeliveryChallanDocumentResponse` response.", + "properties": { + "documentDownload": { + "$ref": "#/definitions/DocumentDownload" + } + }, + "required": [ + "documentDownload" + ], + "type": "object" + }, + "GetSelfShipAppointmentSlotsResponse": { + "description": "The `getSelfShipAppointmentSlots` response.", + "properties": { + "pagination": { + "$ref": "#/definitions/Pagination" + }, + "selfShipAppointmentSlotsAvailability": { + "$ref": "#/definitions/SelfShipAppointmentSlotsAvailability" + } + }, + "required": [ + "selfShipAppointmentSlotsAvailability" + ], + "type": "object" + }, + "InboundOperationStatus": { + "description": "The `getInboundOperationStatus` response.", + "properties": { + "operation": { + "description": "The name of the operation that was executed in the asynchronous API call.", + "maxLength": 1024, + "minLength": 1, + "type": "string" + }, + "operationId": { + "description": "The operation Id returned by the asynchronous API call.", + "maxLength": 38, + "minLength": 36, + "pattern": "^[a-zA-Z0-9-]*$", + "type": "string" + }, + "operationProblems": { + "description": "The problems in the processing of the asynchronous operation.", + "items": { + "$ref": "#/definitions/OperationProblem" + }, + "type": "array" + }, + "operationStatus": { + "$ref": "#/definitions/OperationStatus" + } + }, + "required": [ + "operation", + "operationId", + "operationProblems", + "operationStatus" + ], + "type": "object" + }, + "InboundPlan": { + "description": "Inbound plan containing details of the inbound workflow.", + "properties": { + "contactInformation": { + "$ref": "#/definitions/ContactInformation" + }, + "createdAt": { + "description": "The ISO 8601 datetime with pattern `yyyy-MM-ddTHH:mm:ss.sssZ`.", + "format": "date-time", + "type": "string" + }, + "inboundPlanId": { + "description": "Identifier to an inbound plan.", + "maxLength": 38, + "minLength": 38, + "pattern": "^[a-zA-Z0-9-]*$", + "type": "string" + }, + "lastUpdatedAt": { + "description": "The ISO 8601 datetime with pattern `yyyy-MM-ddTHH:mm:ss.sssZ`.", + "format": "date-time", + "type": "string" + }, + "marketplaceIds": { + "description": "Marketplace IDs.", + "items": { + "description": "The Marketplace ID. Refer to [Marketplace IDs](https://developer-docs.amazon.com/sp-api/docs/marketplace-ids) for a list of possible values.", + "maxLength": 256, + "minLength": 1, + "type": "string" + }, + "type": "array" + }, + "name": { + "description": "The human-readable name of the inbound plan.", + "type": "string" + }, + "packingOptions": { + "description": "Packing options for the inbound plan. This property will be populated when it has been generated via the corresponding endpoint. If there is a chosen placement option, only packing options for that placement option will be returned. If there are confirmed shipments, only packing options for those shipments will be returned. Query the packing option for more details.", + "items": { + "$ref": "#/definitions/PackingOptionSummary" + }, + "type": "array" + }, + "placementOptions": { + "description": "Placement options for the inbound plan. This property will be populated when it has been generated via the corresponding endpoint. If there is a chosen placement option, that will be the only returned option. Query the placement option for more details.", + "items": { + "$ref": "#/definitions/PlacementOptionSummary" + }, + "type": "array" + }, + "shipments": { + "description": "Shipment IDs for the inbound plan. This property will be populated when it has been generated via the corresponding endpoint. If there is a chosen placement option, only shipments for that option will be returned. If there are confirmed shipments, only those shipments will be returned. Query the shipment for more details.", + "items": { + "$ref": "#/definitions/ShipmentSummary" + }, + "type": "array" + }, + "sourceAddress": { + "$ref": "#/definitions/Address" + }, + "status": { + "description": "Current status of the inbound plan. Can be `ACTIVE`, `VOIDED`, or `SHIPPED`.", + "maxLength": 1024, + "minLength": 1, + "type": "string" + } + }, + "required": [ + "contactInformation", + "createdAt", + "inboundPlanId", + "lastUpdatedAt", + "marketplaceIds", + "name", + "sourceAddress", + "status" + ], + "type": "object", + "example": { + "contactInformation": { + "email": "email@email.com", + "phoneNumber": "1234567890" + }, + "createdAt": "2024-03-20T12:01:00Z", + "inboundPlanId": "wf1234abcd-1234-abcd-5678-1234abcd5678", + "lastUpdatedAt": "2024-03-28T13:15:30Z", + "marketplaceIds": [ + "A2EUQ1WTGCTBG2" + ], + "name": "FBA (03/20/2024, 12:01 PM)", + "packingOptions": [], + "placementOptions": [], + "shipments": [], + "sourceAddress": { + "addressLine1": "123 example street", + "addressLine2": "Floor 19", + "city": "Toronto", + "companyName": "Acme", + "countryCode": "CA", + "name": "name", + "postalCode": "M1M1M1", + "stateOrProvinceCode": "ON" + }, + "status": "ACTIVE" + } + }, + "InboundPlanSummary": { + "description": "A light-weight inbound plan.", + "properties": { + "contactInformation": { + "$ref": "#/definitions/ContactInformation" + }, + "createdAt": { + "description": "The ISO 8601 datetime with pattern `yyyy-MM-ddTHH:mm:ss.sssZ`.", + "format": "date-time", + "type": "string" + }, + "inboundPlanId": { + "description": "Identifier to an inbound plan.", + "maxLength": 38, + "minLength": 38, + "pattern": "^[a-zA-Z0-9-]*$", + "type": "string" + }, + "lastUpdatedAt": { + "description": "ISO 8601 datetime with pattern `yyyy-MM-ddTHH:mm:ss.sssZ`.", + "format": "date-time", + "type": "string" + }, + "marketplaceIds": { + "description": "Marketplace IDs.", + "items": { + "description": "The Marketplace ID. Refer to [Marketplace IDs](https://developer-docs.amazon.com/sp-api/docs/marketplace-ids) for a list of possible values.", + "maxLength": 256, + "minLength": 1, + "type": "string" + }, + "type": "array" + }, + "name": { + "description": "Human-readable name of the inbound plan.", + "type": "string" + }, + "sourceAddress": { + "$ref": "#/definitions/Address" + }, + "status": { + "description": "Current status of the inbound plan. Can be 'ACTIVE', 'VOIDED', or 'SHIPPED'.", + "maxLength": 1024, + "minLength": 1, + "type": "string" + } + }, + "required": [ + "contactInformation", + "createdAt", + "inboundPlanId", + "lastUpdatedAt", + "marketplaceIds", + "name", + "sourceAddress", + "status" + ], + "type": "object", + "example": { + "contactInformation": { + "email": "email@email.com", + "phoneNumber": "1234567890" + }, + "createdAt": "2023-03-08T13:15:30Z", + "inboundPlanId": "wf1234abcd-1234-abcd-5678-1234abcd5678", + "lastUpdatedAt": "2023-03-08T13:15:30Z", + "marketplaceIds": [ + "A2EUQ1WTGCTBG2" + ], + "name": "FBA (03/08/2023, 01:15 PM)", + "sourceAddress": { + "addressLine1": "123 example street", + "addressLine2": "Floor 19", + "city": "Toronto", + "companyName": "Acme", + "countryCode": "CA", + "name": "name", + "postalCode": "M1M1M1", + "stateOrProvinceCode": "ON" + }, + "status": "ACTIVE" + } + }, + "Incentive": { + "description": "Contains details about cost related modifications to the placement cost.", + "properties": { + "description": { + "description": "Description of the incentive.", + "maxLength": 1024, + "minLength": 1, + "type": "string" + }, + "target": { + "description": "Target of the incentive. Can be 'Placement Services' or 'Fulfillment Fee Discount'.", + "maxLength": 1024, + "minLength": 1, + "type": "string" + }, + "type": { + "description": "Type of incentive. Can be `FEE` or `DISCOUNT`.", + "maxLength": 1024, + "minLength": 1, + "type": "string" + }, + "value": { + "$ref": "#/definitions/Currency" + } + }, + "required": [ + "description", + "target", + "type", + "value" + ], + "type": "object" + }, + "Item": { + "description": "Information associated with a single SKU in the seller's catalog.", + "properties": { + "asin": { + "description": "The Amazon Standard Identification Number (ASIN) of the item.", + "maxLength": 10, + "minLength": 1, + "type": "string" + }, + "expiration": { + "description": "The expiration date of the MSKU in ISO 8601 format. The same MSKU with different expiration dates cannot go into the same box.", + "pattern": "^([0-9]{4})-(0[1-9]|1[0-2])-(0[1-9]|[1-2][0-9]|3[0-1])$", + "type": "string" + }, + "fnsku": { + "description": "A unique identifier assigned by Amazon to products stored in and fulfilled from an Amazon fulfillment center.", + "maxLength": 10, + "minLength": 1, + "type": "string" + }, + "labelOwner": { + "description": "Specifies who will label the items. Options include `AMAZON` and `SELLER`.", + "maxLength": 1024, + "minLength": 1, + "type": "string" + }, + "manufacturingLotCode": { + "description": "The manufacturing lot code.", + "maxLength": 256, + "minLength": 1, + "type": "string" + }, + "msku": { + "description": "The merchant defined SKU ID.", + "maxLength": 40, + "minLength": 1, + "type": "string" + }, + "prepInstructions": { + "description": "Special preparations that are required for an item.", + "items": { + "$ref": "#/definitions/PrepInstruction" + }, + "type": "array" + }, + "quantity": { + "description": "The number of the specified MSKU.", + "maximum": 10000, + "minimum": 1, + "type": "integer" + } + }, + "required": [ + "asin", + "fnsku", + "labelOwner", + "msku", + "prepInstructions", + "quantity" + ], + "type": "object" + }, + "ItemInput": { + "description": "Defines an item's input parameters.", + "properties": { + "expiration": { + "description": "The expiration date of the MSKU in ISO 8601 format. The same MSKU with different expiration dates cannot go into the same box.", + "pattern": "^([0-9]{4})-(0[1-9]|1[0-2])-(0[1-9]|[1-2][0-9]|3[0-1])$", + "type": "string" + }, + "labelOwner": { + "$ref": "#/definitions/LabelOwner" + }, + "manufacturingLotCode": { + "description": "The manufacturing lot code.", + "maxLength": 256, + "minLength": 1, + "type": "string" + }, + "msku": { + "description": "The merchant SKU.", + "maxLength": 40, + "minLength": 1, + "type": "string" + }, + "prepOwner": { + "$ref": "#/definitions/PrepOwner" + }, + "quantity": { + "description": "The number of units of the specified MSKU that will be shipped.", + "maximum": 10000, + "minimum": 1, + "type": "integer" + } + }, + "required": [ + "labelOwner", + "msku", + "prepOwner", + "quantity" + ], + "type": "object", + "example": { + "expiration": "2024-01-01", + "labelOwner": "AMAZON", + "manufacturingLotCode": "manufacturingLotCode", + "msku": "Sunglasses", + "prepOwner": "AMAZON", + "quantity": 10 + } + }, + "LabelOwner": { + "description": "Specifies who will label the items. Options include `AMAZON` and `SELLER`.", + "enum": [ + "AMAZON", + "SELLER" + ], + "type": "string", + "x-docgen-enum-table-extension": [ + { + "value": "AMAZON", + "description": "-" + }, + { + "value": "SELLER", + "description": "-" + } + ] + }, + "ListInboundPlanBoxesResponse": { + "description": "`listInboundPlanBoxes` response.", + "properties": { + "boxes": { + "description": "A list of boxes in an inbound plan.", + "items": { + "$ref": "#/definitions/Box" + }, + "type": "array" + }, + "pagination": { + "$ref": "#/definitions/Pagination" + } + }, + "required": [ + "boxes" + ], + "type": "object" + }, + "ListInboundPlanItemsResponse": { + "description": "`listInboundPlanItems` response.", + "properties": { + "items": { + "description": "The items in an inbound plan.", + "items": { + "$ref": "#/definitions/Item" + }, + "type": "array" + }, + "pagination": { + "$ref": "#/definitions/Pagination" + } + }, + "required": [ + "items" + ], + "type": "object" + }, + "ListInboundPlanPalletsResponse": { + "description": "`listInboundPlanPallets` response.", + "properties": { + "pagination": { + "$ref": "#/definitions/Pagination" + }, + "pallets": { + "description": "The pallets in an inbound plan.", + "items": { + "$ref": "#/definitions/Pallet" + }, + "type": "array" + } + }, + "required": [ + "pallets" + ], + "type": "object" + }, + "ListInboundPlansResponse": { + "description": "`listInboundPlans` response.", + "properties": { + "inboundPlans": { + "description": "A list of inbound plans with minimal information.", + "items": { + "$ref": "#/definitions/InboundPlanSummary" + }, + "type": "array" + }, + "pagination": { + "$ref": "#/definitions/Pagination" + } + }, + "type": "object" + }, + "ListItemComplianceDetailsResponse": { + "description": "`listItemComplianceDetails` response.", + "properties": { + "complianceDetails": { + "description": "List of compliance details.", + "items": { + "$ref": "#/definitions/ComplianceDetail" + }, + "type": "array" + } + }, + "type": "object" + }, + "ListPackingGroupItemsResponse": { + "description": "`listPackingGroupItems` response.", + "properties": { + "items": { + "description": "Provides the information about the list of items in the inbound plan.", + "items": { + "$ref": "#/definitions/Item" + }, + "type": "array" + }, + "pagination": { + "$ref": "#/definitions/Pagination" + } + }, + "required": [ + "items" + ], + "type": "object" + }, + "ListPackingOptionsResponse": { + "description": "`listPackingOptions` response.", + "properties": { + "packingOptions": { + "description": "List of packing options.", + "items": { + "$ref": "#/definitions/PackingOption" + }, + "type": "array" + }, + "pagination": { + "$ref": "#/definitions/Pagination" + } + }, + "required": [ + "packingOptions" + ], + "type": "object" + }, + "ListPlacementOptionsResponse": { + "description": "`listPlacementOptions` response.", + "properties": { + "pagination": { + "$ref": "#/definitions/Pagination" + }, + "placementOptions": { + "description": "Placement options generated for the inbound plan.", + "items": { + "$ref": "#/definitions/PlacementOption" + }, + "type": "array" + } + }, + "required": [ + "placementOptions" + ], + "type": "object" + }, + "ListTransportationOptionsResponse": { + "description": "`listTransportationOptions` response.", + "properties": { + "pagination": { + "$ref": "#/definitions/Pagination" + }, + "transportationOptions": { + "description": "Transportation options generated for the placement option.", + "items": { + "$ref": "#/definitions/TransportationOption" + }, + "type": "array" + } + }, + "required": [ + "transportationOptions" + ], + "type": "object" + }, + "LtlTrackingDetail": { + "description": "Contains information related to Less-Than-Truckload (LTL) shipment tracking.", + "properties": { + "billOfLadingNumber": { + "description": "The number of the carrier shipment acknowledgement document.", + "maxLength": 1024, + "minLength": 1, + "type": "string" + }, + "freightBillNumber": { + "description": "The number associated with the freight bill.", + "items": { + "maxLength": 1024, + "minLength": 1, + "pattern": "^[a-zA-Z0-9-._\\s]*$", + "type": "string" + }, + "type": "array" + } + }, + "type": "object" + }, + "LtlTrackingDetailInput": { + "description": "Contains input information to update Less-Than-Truckload (LTL) tracking information.", + "properties": { + "billOfLadingNumber": { + "description": "The number of the carrier shipment acknowledgement document.", + "maxLength": 1024, + "minLength": 1, + "type": "string" + }, + "freightBillNumber": { + "description": "Number associated with the freight bill.", + "items": { + "maxLength": 1024, + "minLength": 1, + "pattern": "^[a-zA-Z0-9-._\\s]*$", + "type": "string" + }, + "maxItems": 1, + "minItems": 1, + "type": "array" + } + }, + "required": [ + "freightBillNumber" + ], + "type": "object", + "example": { + "billOfLadingNumber": "billOfLadingNumber", + "freightBillNumber": [ + "freightBillNumber1" + ] + } + }, + "OperationProblem": { + "description": "A problem with additional properties persisted to an operation.", + "properties": { + "code": { + "description": "An error code that identifies the type of error that occurred.", + "maxLength": 256, + "minLength": 1, + "type": "string" + }, + "details": { + "description": "Additional details that can help the caller understand or fix the issue.", + "maxLength": 8192, + "minLength": 0, + "type": "string" + }, + "message": { + "description": "A message that describes the error condition.", + "maxLength": 2048, + "minLength": 1, + "type": "string" + }, + "severity": { + "description": "The severity of the problem. Can be 'WARNING', or 'ERROR'.", + "maxLength": 1024, + "minLength": 1, + "type": "string" + } + }, + "required": [ + "code", + "message", + "severity" + ], + "type": "object" + }, + "OperationStatus": { + "description": "The status of an operation.", + "enum": [ + "SUCCESS", + "FAILED", + "IN_PROGRESS" + ], + "type": "string", + "x-docgen-enum-table-extension": [ + { + "value": "SUCCESS", + "description": "Indicates a request has successfully finished processing." + }, + { + "value": "FAILED", + "description": "Indicates a request has finished processing but is in a failed state." + }, + { + "value": "IN_PROGRESS", + "description": "Indicates a request is still processing." + } + ] + }, + "PackageGroupingInput": { + "description": "Packing information for the inbound plan.", + "properties": { + "boxes": { + "description": "Box level information being provided.", + "items": { + "$ref": "#/definitions/BoxInput" + }, + "maxItems": 5000, + "minItems": 1, + "type": "array" + }, + "packingGroupId": { + "description": "The ID of the `packingGroup` that packages are grouped according to. The `PackingGroupId` can only be provided before placement confirmation, and it must belong to the confirmed `PackingOption`. One of `ShipmentId` or `PackingGroupId` must be provided with every request.", + "maxLength": 38, + "minLength": 38, + "pattern": "^[a-zA-Z0-9-]*$", + "type": "string" + }, + "shipmentId": { + "description": "The ID of the shipment that packages are grouped according to. The `ShipmentId` can only be provided after placement confirmation, and the shipment must belong to the confirmed placement option. One of `ShipmentId` or `PackingGroupId` must be provided with every request.", + "maxLength": 38, + "minLength": 38, + "pattern": "^[a-zA-Z0-9-]*$", + "type": "string" + } + }, + "required": [ + "boxes" + ], + "type": "object", + "example": { + "boxes": [ + { + "boxId": "boxId", + "contentInformationSource": "BOX_CONTENT_PROVIDED", + "contents": [ + { + "expiration": "2024-01-01", + "labelOwner": "AMAZON", + "manufacturingLotCode": "manufacturingLotCode", + "msku": "Sunglasses", + "prepOwner": "AMAZON", + "quantityInBox": 10 + } + ], + "dimensions": { + "height": 5, + "length": 3, + "unitOfMeasurement": "CM", + "width": 4 + }, + "quantity": 2, + "templateName": "templateName", + "weight": { + "unit": "KG", + "value": 5.5 + } + } + ], + "packingGroupId": "pg1234abcd-1234-abcd-5678-1234abcd5678", + "shipmentId": "sh1234abcd-1234-abcd-5678-1234abcd5678" + } + }, + "PackingOption": { + "description": "A packing option contains a set of pack groups plus additional information about the packing option, such as any discounts or fees if it's selected.", + "properties": { + "discounts": { + "description": "Discount for the offered option.", + "items": { + "$ref": "#/definitions/Incentive" + }, + "type": "array" + }, + "expiration": { + "description": "The timestamp at which this packing option becomes no longer valid. This is in ISO 8601 datetime format with pattern `yyyy-MM-ddTHH:mm:ss.sssZ`.", + "format": "date-time", + "type": "string" + }, + "fees": { + "description": "Fee for the offered option.", + "items": { + "$ref": "#/definitions/Incentive" + }, + "type": "array" + }, + "inboundPlanId": { + "description": "Identifier to an inbound plan.", + "maxLength": 38, + "minLength": 38, + "pattern": "^[a-zA-Z0-9-]*$", + "type": "string" + }, + "packingGroups": { + "description": "Packing group IDs.", + "items": { + "description": "Identifier to a packing group.", + "maxLength": 38, + "minLength": 38, + "pattern": "^[a-zA-Z0-9-]*$", + "type": "string" + }, + "type": "array" + }, + "packingOptionId": { + "description": "Identifier to a packing option.", + "maxLength": 38, + "minLength": 38, + "pattern": "^[a-zA-Z0-9-]*$", + "type": "string" + }, + "status": { + "description": "The status of the packing option. Can be `OFFERED`, `ACCEPTED`, or `EXPIRED`.", + "maxLength": 1024, + "minLength": 1, + "type": "string" + }, + "supportedShippingConfigurations": { + "description": "List of supported shipping modes.", + "items": { + "$ref": "#/definitions/ShippingConfiguration" + }, + "type": "array" + } + }, + "required": [ + "discounts", + "fees", + "inboundPlanId", + "packingGroups", + "packingOptionId", + "status", + "supportedShippingConfigurations" + ], + "type": "object" + }, + "PackingOptionSummary": { + "description": "Summary information about a packing option.", + "properties": { + "packingOptionId": { + "description": "Identifier to a packing option.", + "maxLength": 38, + "minLength": 38, + "pattern": "^[a-zA-Z0-9-]*$", + "type": "string" + }, + "status": { + "description": "The status of a packing option. Can be 'OFFERED', 'ACCEPTED', or 'EXPIRED'.", + "maxLength": 1024, + "minLength": 1, + "type": "string" + } + }, + "required": [ + "packingOptionId", + "status" + ], + "type": "object", + "example": { + "packingOptionId": "po1234abcd-1234-abcd-5678-1234abcd5678", + "status": "OFFERED" + } + }, + "Pagination": { + "description": "Contains tokens to fetch from a certain page.", + "properties": { + "nextToken": { + "description": "When present, pass this string token in the next request to return the next response page.", + "maxLength": 1024, + "minLength": 1, + "type": "string" + } + }, + "type": "object" + }, + "Pallet": { + "description": "Contains information about a pallet that is used in the inbound plan. The pallet is a container that holds multiple items or boxes.", + "properties": { + "dimensions": { + "$ref": "#/definitions/Dimensions" + }, + "packageId": { + "description": "Primary key to uniquely identify a Package (Box or Pallet).", + "maxLength": 38, + "minLength": 38, + "pattern": "^[a-zA-Z0-9-]*$", + "type": "string" + }, + "quantity": { + "description": "The number of containers where all other properties like weight or dimensions are identical.", + "maximum": 10000, + "minimum": 1, + "type": "integer" + }, + "stackability": { + "$ref": "#/definitions/Stackability" + }, + "weight": { + "$ref": "#/definitions/Weight" + } + }, + "required": [ + "packageId" + ], + "type": "object" + }, + "PalletInformation": { + "description": "Pallet information, including weight, dimensions, quantity, stackability, freight class, and declared value.", + "properties": { + "declaredValue": { + "$ref": "#/definitions/Currency" + }, + "freightClass": { + "description": "Freight class. Can be `NONE`, `FC_50`, `FC_55`, `FC_60`, `FC_65`, `FC_70`, `FC_77_5`, `FC_85`, `FC_92_5`, `FC_100`, `FC_110`, `FC_125`, `FC_150`, `FC_175`, `FC_200`, `FC_250`, `FC_300`, `FC_400`, or `FC_500`.", + "maxLength": 1024, + "minLength": 1, + "type": "string" + }, + "pallets": { + "description": "Set pallet configuration for Less-Than-Truckload (LTL).", + "items": { + "$ref": "#/definitions/PalletInput" + }, + "type": "array" + } + }, + "required": [ + "pallets" + ], + "type": "object" + }, + "PalletInput": { + "description": "Set pallet configuration for Less-Than-Truckload (LTL).", + "properties": { + "dimensions": { + "$ref": "#/definitions/Dimensions" + }, + "quantity": { + "description": "The number of containers where all other properties like weight or dimensions are identical.", + "maximum": 10000, + "minimum": 1, + "type": "integer" + }, + "stackability": { + "$ref": "#/definitions/Stackability" + }, + "weight": { + "$ref": "#/definitions/Weight" + } + }, + "required": [ + "quantity" + ], + "type": "object" + }, + "PlacementOption": { + "description": "Contains information pertaining to the placement of the contents of an inbound plan and the related costs.", + "properties": { + "discounts": { + "description": "Discount for the offered option.", + "items": { + "$ref": "#/definitions/Incentive" + }, + "type": "array" + }, + "expiration": { + "description": "The expiration date of the placement option. This is in ISO 8601 datetime format with pattern `yyyy-MM-ddTHH:mm:ss.sssZ`.", + "format": "date-time", + "type": "string" + }, + "fees": { + "description": "Fee for the offered option.", + "items": { + "$ref": "#/definitions/Incentive" + }, + "type": "array" + }, + "placementOptionId": { + "description": "Identifier to a placement option. A placement option represents the shipment splits and destinations of SKUs.", + "maxLength": 38, + "minLength": 38, + "pattern": "^[a-zA-Z0-9-]*$", + "type": "string" + }, + "shipmentIds": { + "description": "Shipment ids.", + "items": { + "description": "Identifier to a shipment. A shipment contains the boxes and units being inbounded.", + "maxLength": 38, + "minLength": 38, + "pattern": "^[a-zA-Z0-9-]*$", + "type": "string" + }, + "type": "array" + }, + "status": { + "description": "The status of a placement option. Can be `OFFERED`, `ACCEPTED`, or `EXPIRED`.", + "maxLength": 1024, + "minLength": 1, + "type": "string" + } + }, + "required": [ + "discounts", + "fees", + "placementOptionId", + "shipmentIds", + "status" + ], + "type": "object" + }, + "PlacementOptionSummary": { + "description": "Summary information about a placement option.", + "properties": { + "placementOptionId": { + "description": "Identifier to a placement option. A placement option represents the shipment splits and destinations of SKUs.", + "maxLength": 38, + "minLength": 38, + "pattern": "^[a-zA-Z0-9-]*$", + "type": "string" + }, + "status": { + "description": "The status of a placement option. Can be `OFFERED` or `ACCEPTED`.", + "maxLength": 1024, + "minLength": 1, + "type": "string" + } + }, + "required": [ + "placementOptionId", + "status" + ], + "type": "object", + "example": { + "placementOptionId": "pl1234abcd-1234-abcd-5678-1234abcd5678", + "status": "ACCEPTED" + } + }, + "PrepInstruction": { + "description": "Information pertaining to the preparation of inbound goods.", + "properties": { + "fee": { + "$ref": "#/definitions/Currency" + }, + "prepOwner": { + "description": "In some situations, special preparations are required for items and this field reflects the owner of the\n preparations. Options include `AMAZON` or `SELLER`.", + "maxLength": 1024, + "minLength": 1, + "type": "string" + }, + "prepType": { + "description": "Type of preparation that should be done. Can be `ITEM_LABELING`, `ITEM_BUBBLEWRAP`, `ITEM_POLYBAGGING`, `ITEM_TAPING`, `ITEM_BLACK_SHRINKWRAP`, `ITEM_HANG_GARMENT`, `ITEM_BOXING`, `ITEM_SETCREAT`, `ITEM_RMOVHANG`, `ITEM_SUFFOSTK`, `ITEM_CAP_SEALING`, `ITEM_DEBUNDLE`, `ITEM_SETSTK`, `ITEM_SIOC`, `ITEM_NO_PREP`, `ADULT`, `BABY`, `TEXTILE`, `HANGER`, `FRAGILE`, `LIQUID`, `SHARP`, `SMALL`, `PERFORATED`, `GRANULAR`, `SET`, `FC_PROVIDED`, `UNKNOWN`, or `NONE`.", + "maxLength": 1024, + "minLength": 1, + "type": "string" + } + }, + "type": "object" + }, + "PrepOwner": { + "description": "In some situations, special preparations are required for items and this field reflects the owner of the preparations. Options include `AMAZON` or `SELLER`.", + "enum": [ + "AMAZON", + "SELLER" + ], + "type": "string", + "x-docgen-enum-table-extension": [ + { + "value": "AMAZON", + "description": "-" + }, + { + "value": "SELLER", + "description": "-" + } + ] + }, + "Quote": { + "description": "The estimated shipping cost associated with the transportation option.", + "properties": { + "cost": { + "$ref": "#/definitions/Currency" + }, + "expiration": { + "description": "The timestamp at which this transportation option quote becomes no longer valid. This is in ISO 8601 datetime format with pattern `yyyy-MM-ddTHH:mm:ss.sssZ`.", + "format": "date-time", + "type": "string" + }, + "voidableUntil": { + "description": "Voidable until timestamp.", + "format": "date-time", + "type": "string" + } + }, + "required": [ + "cost" + ], + "type": "object" + }, + "ReasonComment": { + "description": "Reason for cancelling or rescheduling a self-ship appointment.", + "enum": [ + "APPOINTMENT_REQUESTED_BY_MISTAKE", + "VEHICLE_DELAY", + "SLOT_NOT_SUITABLE", + "OUTSIDE_CARRIER_BUSINESS_HOURS", + "UNFAVOURABLE_EXTERNAL_CONDITIONS", + "PROCUREMENT_DELAY", + "SHIPPING_PLAN_CHANGED", + "INCREASED_QUANTITY", + "OTHER" + ], + "type": "string", + "x-docgen-enum-table-extension": [ + { + "value": "APPOINTMENT_REQUESTED_BY_MISTAKE", + "description": "-" + }, + { + "value": "VEHICLE_DELAY", + "description": "-" + }, + { + "value": "SLOT_NOT_SUITABLE", + "description": "-" + }, + { + "value": "OUTSIDE_CARRIER_BUSINESS_HOURS", + "description": "-" + }, + { + "value": "UNFAVOURABLE_EXTERNAL_CONDITIONS", + "description": "-" + }, + { + "value": "PROCUREMENT_DELAY", + "description": "-" + }, + { + "value": "SHIPPING_PLAN_CHANGED", + "description": "-" + }, + { + "value": "INCREASED_QUANTITY", + "description": "-" + }, + { + "value": "OTHER", + "description": "-" + } + ] + }, + "Region": { + "description": "Representation of a location used within the inbounding experience.", + "properties": { + "countryCode": { + "description": "ISO 3166 standard alpha-2 country code.", + "maxLength": 1024, + "minLength": 1, + "type": "string" + }, + "state": { + "description": "State.", + "maxLength": 1024, + "minLength": 1, + "type": "string" + }, + "warehouseId": { + "description": "An identifier for a warehouse, such as a FC, IXD, upstream storage.", + "maxLength": 1024, + "minLength": 1, + "type": "string" + } + }, + "type": "object" + }, + "ScheduleSelfShipAppointmentRequest": { + "description": "`scheduleSelfShipAppointment` request.", + "properties": { + "reasonComment": { + "$ref": "#/definitions/ReasonComment" + } + }, + "type": "object", + "example": { + "reasonComment": "OTHER" + } + }, + "ScheduleSelfShipAppointmentResponse": { + "description": "`scheduleSelfShipAppointment` response.", + "properties": { + "selfShipAppointmentDetails": { + "$ref": "#/definitions/SelfShipAppointmentDetails" + } + }, + "required": [ + "selfShipAppointmentDetails" + ], + "type": "object", + "example": { + "selfShipAppointmentDetails": { + "appointmentId": 1000, + "appointmentSlotTime": { + "endTime": "2023-03-09T13:15:30Z", + "startTime": "2023-03-08T13:15:30Z" + }, + "appointmentStatus": "ARRIVAL_SCHEDULED" + } + } + }, + "SelfShipAppointmentDetails": { + "description": "Appointment details for carrier pickup or fulfillment center appointments.", + "properties": { + "appointmentId": { + "description": "Identifier for appointment.", + "type": "number" + }, + "appointmentSlotTime": { + "$ref": "#/definitions/AppointmentSlotTime" + }, + "appointmentStatus": { + "description": "Status of the appointment.", + "maxLength": 1024, + "minLength": 1, + "type": "string" + } + }, + "type": "object" + }, + "SelfShipAppointmentSlotsAvailability": { + "description": "The self ship appointment time slots availability and an expiration date for which the slots can be scheduled.", + "properties": { + "expiresAt": { + "description": "ISO 8601 datetime with pattern `yyyy-MM-ddTHH:mm:ss.sssZ`.", + "format": "date-time", + "type": "string" + }, + "slots": { + "description": "List of appointment slots.", + "items": { + "$ref": "#/definitions/AppointmentSlot" + }, + "type": "array" + } + }, + "type": "object" + }, + "SetPackingInformationRequest": { + "description": "`setPackingInformation` request.", + "properties": { + "packageGroupings": { + "description": "List of packing information for the inbound plan.", + "items": { + "$ref": "#/definitions/PackageGroupingInput" + }, + "type": "array" + } + }, + "type": "object", + "example": { + "packageGroupings": [ + { + "boxes": [ + { + "boxId": "boxId", + "contentInformationSource": "BOX_CONTENT_PROVIDED", + "contents": [ + { + "expiration": "2024-01-01", + "labelOwner": "AMAZON", + "manufacturingLotCode": "manufacturingLotCode", + "msku": "Sunglasses", + "prepOwner": "AMAZON", + "quantityInBox": 10 + } + ], + "dimensions": { + "height": 5, + "length": 3, + "unitOfMeasurement": "CM", + "width": 4 + }, + "quantity": 2, + "templateName": "templateName", + "weight": { + "unit": "KG", + "value": 5.5 + } + } + ], + "packingGroupId": "pg1234abcd-1234-abcd-5678-1234abcd5678", + "shipmentId": "sh1234abcd-1234-abcd-5678-1234abcd5678" + } + ] + } + }, + "SetPackingInformationResponse": { + "description": "`setPackingInformation` response.", + "properties": { + "operationId": { + "description": "UUID for the given operation.", + "maxLength": 38, + "minLength": 36, + "pattern": "^[a-zA-Z0-9-]*$", + "type": "string" + } + }, + "required": [ + "operationId" + ], + "type": "object" + }, + "Shipment": { + "description": "Contains information pertaining to a shipment in an inbound plan.", + "properties": { + "amazonReferenceId": { + "description": "A unique identifier created by Amazon that identifies this Amazon-partnered, Less Than Truckload/Full Truckload (LTL/FTL) shipment.", + "maxLength": 1024, + "minLength": 1, + "type": "string" + }, + "contactInformation": { + "$ref": "#/definitions/ContactInformation" + }, + "dates": { + "$ref": "#/definitions/Dates" + }, + "destination": { + "$ref": "#/definitions/ShipmentDestination" + }, + "inboundPlanId": { + "description": "Identifier to an inbound plan.", + "maxLength": 38, + "minLength": 38, + "pattern": "^[a-zA-Z0-9-]*$", + "type": "string" + }, + "name": { + "description": "The name of the shipment.", + "type": "string" + }, + "palletInformation": { + "$ref": "#/definitions/PalletInformation" + }, + "placementOptionId": { + "description": "Identifier to a placement option. A placement option represents the shipment splits and destinations of SKUs.", + "maxLength": 38, + "minLength": 38, + "pattern": "^[a-zA-Z0-9-]*$", + "type": "string" + }, + "selectedTransportationOptionId": { + "description": "Identifier to a transportation option. A transportation option represent one option for how to send a shipment.", + "maxLength": 38, + "minLength": 38, + "pattern": "^[a-zA-Z0-9-]*$", + "type": "string" + }, + "selfShipAppointmentDetails": { + "description": "List of self ship appointment details.", + "items": { + "$ref": "#/definitions/SelfShipAppointmentDetails" + }, + "type": "array" + }, + "shipmentConfirmationId": { + "description": "The confirmed shipment ID which shows up on labels (for example, FBA1234ABCD).", + "maxLength": 1024, + "minLength": 1, + "type": "string" + }, + "shipmentId": { + "description": "Identifier to a shipment. A shipment contains the boxes and units being inbounded.", + "maxLength": 38, + "minLength": 38, + "pattern": "^[a-zA-Z0-9-]*$", + "type": "string" + }, + "source": { + "$ref": "#/definitions/ShipmentSource" + }, + "status": { + "description": "The status of a shipment. The state of the shipment will typically start in `WORKING` and transition to `READY_TO_SHIP` once required actions are complete prior to being picked up or shipped out. Can be `ABANDONED`, `CANCELLED`, `CHECKED_IN`, `CLOSED`, `DELETED`, `DELIVERED`, `IN_TRANSIT`, `MIXED`, `READY_TO_SHIP`, `RECEIVING`, `SHIPPED`, or `WORKING`.", + "maxLength": 1024, + "minLength": 1, + "type": "string" + }, + "trackingDetails": { + "$ref": "#/definitions/TrackingDetails" + } + }, + "required": [ + "destination", + "inboundPlanId", + "placementOptionId", + "shipmentId", + "source" + ], + "type": "object" + }, + "ShipmentDestination": { + "description": "The Amazon fulfillment center address and warehouse ID.", + "properties": { + "address": { + "$ref": "#/definitions/Address", + "description": "The address the shipment should be sent to. Empty if the destination type is `AMAZON_OPTIMIZED`." + }, + "destinationType": { + "description": "The type of destination for this shipment. Can be `AMAZON_OPTIMIZED`, or `AMAZON_WAREHOUSE`.", + "maxLength": 1024, + "minLength": 1, + "type": "string" + }, + "warehouseId": { + "description": "The warehouse that the shipment should be sent to. Empty if the destination type is `AMAZON_OPTIMIZED`.", + "maxLength": 1024, + "minLength": 1, + "type": "string" + } + }, + "required": [ + "destinationType" + ], + "type": "object" + }, + "ShipmentSource": { + "description": "Specifies the 'ship from' address for the shipment.", + "properties": { + "address": { + "$ref": "#/definitions/Address" + }, + "sourceType": { + "description": "The type of source for this shipment. Can be `SELLER_FACILITY`.", + "maxLength": 1024, + "minLength": 1, + "type": "string" + } + }, + "required": [ + "sourceType" + ], + "type": "object" + }, + "ShipmentSummary": { + "description": "Summary information about a shipment.", + "properties": { + "shipmentId": { + "description": "Identifier to a shipment. A shipment contains the boxes and units being inbounded.", + "maxLength": 38, + "minLength": 38, + "pattern": "^[a-zA-Z0-9-]*$", + "type": "string" + }, + "status": { + "description": "The status of a shipment. The state of the shipment will typically start in `WORKING` and transition to `READY_TO_SHIP` once required actions are complete prior to being picked up or shipped out. Can be `ABANDONED`, `CANCELLED`, `CHECKED_IN`, `CLOSED`, `DELETED`, `DELIVERED`, `IN_TRANSIT`, `MIXED`, `READY_TO_SHIP`, `RECEIVING`, `SHIPPED`, or `WORKING`.", + "maxLength": 1024, + "minLength": 1, + "type": "string" + } + }, + "required": [ + "shipmentId", + "status" + ], + "type": "object", + "example": { + "shipmentId": "sh1234abcd-1234-abcd-5678-1234abcd5678", + "status": "SHIPPED" + } + }, + "ShipmentTransportationConfiguration": { + "description": "Details needed to generate the transportation options.", + "properties": { + "contactInformation": { + "$ref": "#/definitions/ContactInformation" + }, + "palletInformation": { + "$ref": "#/definitions/PalletInformation" + }, + "readyToShipWindow": { + "$ref": "#/definitions/WindowInput", + "description": "The range of dates within which the seller intends to ship their items. This is the pick-up date or \u201cready to ship\u201d date, not an estimated delivery date.\n" + }, + "shipmentId": { + "description": "Identifier to a shipment. A shipment contains the boxes and units being inbounded.", + "maxLength": 38, + "minLength": 38, + "pattern": "^[a-zA-Z0-9-]*$", + "type": "string" + } + }, + "required": [ + "readyToShipWindow", + "shipmentId" + ], + "type": "object" + }, + "ShippingConfiguration": { + "description": "The shipping configurations supported for the packing option. Available modes are ground small parcel, freight less-than-truckload (LTL), freight full-truckload (FTL) palletized, freight FTL non-palletized, ocean less-than-container-load (LCL), ocean full-container load (FCL), air small parcel, and air small parcel express.", + "properties": { + "shippingMode": { + "description": "Mode of shipment transportation that this option will provide. Can be `GROUND_SMALL_PARCEL`, `FREIGHT_LTL`, `FREIGHT_FTL_PALLET`, `FREIGHT_FTL_NONPALLET`, `OCEAN_LCL`, `OCEAN_FCL`, `AIR_SMALL_PARCEL`, or `AIR_SMALL_PARCEL_EXPRESS`.", + "maxLength": 1024, + "minLength": 1, + "type": "string" + }, + "shippingSolution": { + "description": "Shipping program for the option. Can be `AMAZON_PARTNERED_CARRIER` or `USE_YOUR_OWN_CARRIER`.", + "maxLength": 1024, + "minLength": 1, + "type": "string" + } + }, + "type": "object" + }, + "SpdTrackingDetail": { + "description": "Contains information related to Small Parcel Delivery (SPD) shipment tracking.", + "properties": { + "spdTrackingItems": { + "description": "List of Small Parcel Delivery (SPD) tracking items.", + "items": { + "$ref": "#/definitions/SpdTrackingItem" + }, + "type": "array" + } + }, + "type": "object" + }, + "SpdTrackingDetailInput": { + "description": "Contains input information to update Small Parcel Delivery (SPD) tracking information.", + "properties": { + "spdTrackingItems": { + "description": "List of Small Parcel Delivery (SPD) tracking items input.", + "items": { + "$ref": "#/definitions/SpdTrackingItemInput" + }, + "type": "array" + } + }, + "required": [ + "spdTrackingItems" + ], + "type": "object", + "example": { + "spdTrackingItems": [ + { + "boxId": "FBA10ABC0YY100001", + "trackingId": "FBA10002000" + } + ] + } + }, + "SpdTrackingItem": { + "description": "Contains information used to track and identify a Small Parcel Delivery (SPD) item.", + "properties": { + "boxId": { + "description": "The ID provided by Amazon that identifies a given box. This ID is comprised of the external shipment ID (which\n is generated after transportation has been confirmed) and the index of the box.", + "maxLength": 1024, + "minLength": 1, + "type": "string" + }, + "trackingId": { + "description": "The tracking ID associated with each box in a non-Amazon partnered Small Parcel Delivery (SPD) shipment.", + "maxLength": 1024, + "minLength": 1, + "type": "string" + }, + "trackingNumberValidationStatus": { + "description": "Whether or not Amazon has validated the tracking number. If more than 24 hours have passed and the status is\n not yet 'VALIDATED', please verify the number and update if necessary. Can be `VALIDATED` or `NOT_VALIDATED`.", + "maxLength": 1024, + "minLength": 1, + "type": "string" + } + }, + "type": "object" + }, + "SpdTrackingItemInput": { + "description": "Small Parcel Delivery (SPD) tracking items input information.", + "properties": { + "boxId": { + "description": "The ID provided by Amazon that identifies a given box. This ID is comprised of the external shipment ID (which\n is generated after transportation has been confirmed) and the index of the box.", + "maxLength": 1024, + "minLength": 1, + "type": "string" + }, + "trackingId": { + "description": "The tracking Id associated with each box in a non-Amazon partnered Small Parcel Delivery (SPD) shipment. The seller must provide this information. ", + "maxLength": 1024, + "minLength": 1, + "type": "string" + } + }, + "required": [ + "boxId", + "trackingId" + ], + "type": "object", + "example": { + "boxId": "FBA10ABC0YY100001", + "trackingId": "FBA10002000" + } + }, + "Stackability": { + "description": "Indicates whether pallets will be stacked when carrier arrives for pick-up.", + "enum": [ + "STACKABLE", + "NON_STACKABLE" + ], + "type": "string", + "x-docgen-enum-table-extension": [ + { + "value": "STACKABLE", + "description": "A pallet that can be stacked on top of another pallet." + }, + { + "value": "NON_STACKABLE", + "description": "A pallet that cannot be stacked on top of another pallet." + } + ] + }, + "TaxDetails": { + "description": "Information used to determine the tax compliance.", + "properties": { + "declaredValue": { + "$ref": "#/definitions/Currency" + }, + "hsnCode": { + "description": "Harmonized System of Nomenclature code.", + "maxLength": 1024, + "minLength": 1, + "type": "string" + }, + "taxRates": { + "description": "List of tax rates.", + "items": { + "$ref": "#/definitions/TaxRate" + }, + "type": "array" + } + }, + "type": "object" + }, + "TaxRate": { + "description": "Contains the type and rate of tax.", + "properties": { + "cessRate": { + "description": "Rate of cess tax.", + "format": "double", + "type": "number" + }, + "gstRate": { + "description": "Rate of gst tax.", + "format": "double", + "type": "number" + }, + "taxType": { + "description": "Type of tax. Can be `CGST`, `SGST`, `IGST`, or `TOTAL_TAX`.", + "maxLength": 1024, + "minLength": 1, + "type": "string" + } + }, + "type": "object" + }, + "TrackingDetails": { + "description": "Tracking information for Less-Than-Truckload (LTL) and Small Parcel Delivery (SPD) shipments.", + "properties": { + "ltlTrackingDetail": { + "$ref": "#/definitions/LtlTrackingDetail" + }, + "spdTrackingDetail": { + "$ref": "#/definitions/SpdTrackingDetail" + } + }, + "type": "object" + }, + "TrackingDetailsInput": { + "description": "Tracking information input for Less-Than-Truckload (LTL) and Small Parcel Delivery (SPD) shipments.", + "properties": { + "ltlTrackingDetail": { + "$ref": "#/definitions/LtlTrackingDetailInput" + }, + "spdTrackingDetail": { + "$ref": "#/definitions/SpdTrackingDetailInput" + } + }, + "type": "object", + "example": { + "ltlTrackingDetail": { + "billOfLadingNumber": "billOfLadingNumber", + "freightBillNumber": [ + "freightBillNumber1" + ] + } + } + }, + "TransportationOption": { + "description": "Contains information pertaining to a transportation option and the related carrier.", + "properties": { + "appointmentSlot": { + "$ref": "#/definitions/AppointmentSlot" + }, + "carrier": { + "$ref": "#/definitions/Carrier" + }, + "inboundPlanId": { + "description": "Identifier to an inbound plan.", + "maxLength": 38, + "minLength": 38, + "pattern": "^[a-zA-Z0-9-]*$", + "type": "string" + }, + "placementOptionId": { + "description": "The identifier of a placement option. A placement option represents the shipment splits and destinations of SKUs.", + "maxLength": 38, + "minLength": 38, + "pattern": "^[a-zA-Z0-9-]*$", + "type": "string" + }, + "quote": { + "$ref": "#/definitions/Quote" + }, + "shipmentId": { + "description": "Identifier to a shipment. A shipment contains the boxes and units being inbounded.", + "maxLength": 38, + "minLength": 38, + "pattern": "^[a-zA-Z0-9-]*$", + "type": "string" + }, + "shippingMode": { + "description": "The shipping mode associated with the transportation option. Available modes are ground small parcel, freight less-than-truckload (LTL), freight full-truckload (FTL) palletized, freight FTL non-palletized, ocean less-than-container-load (LCL), ocean full-container load (FCL), air small parcel, and air small parcel express.", + "maxLength": 1024, + "minLength": 1, + "type": "string" + }, + "shippingSolution": { + "description": "The shipping solution associated with the transportation option. Available solutions are Amazon-partnered carrier or 'use your own carrier'.", + "maxLength": 1024, + "minLength": 1, + "type": "string" + }, + "transportationOptionId": { + "description": "Identifier to a transportation option. A transportation option represent one option for how to send a shipment.", + "maxLength": 38, + "minLength": 38, + "pattern": "^[a-zA-Z0-9-]*$", + "type": "string" + } + }, + "required": [ + "carrier", + "inboundPlanId", + "placementOptionId", + "shipmentId", + "shippingMode", + "shippingSolution", + "transportationOptionId" + ], + "type": "object" + }, + "TransportationSelection": { + "description": "The transportation option selected to confirm.", + "properties": { + "contactInformation": { + "$ref": "#/definitions/ContactInformation" + }, + "deliveryWindow": { + "$ref": "#/definitions/WindowInput", + "description": "The range of dates within which the seller expects that their shipment will be delivered to Amazon.\n" + }, + "shipmentId": { + "description": "Shipment ID that the transportation Option is for.", + "maxLength": 38, + "minLength": 38, + "pattern": "^[a-zA-Z0-9-]*$", + "type": "string" + }, + "transportationOptionId": { + "description": "Transportation option being selected for the provided shipment.", + "maxLength": 38, + "minLength": 38, + "pattern": "^[a-zA-Z0-9-]*$", + "type": "string" + } + }, + "required": [ + "shipmentId", + "transportationOptionId" + ], + "type": "object" + }, + "UnitOfMeasurement": { + "description": "Unit of linear measure.", + "enum": [ + "IN", + "CM" + ], + "type": "string", + "x-docgen-enum-table-extension": [ + { + "value": "IN", + "description": "Inches." + }, + { + "value": "CM", + "description": "Centimeters." + } + ] + }, + "UnitOfWeight": { + "description": "Unit of the weight being measured.", + "enum": [ + "LB", + "KG" + ], + "type": "string", + "x-docgen-enum-table-extension": [ + { + "value": "LB", + "description": "Pounds." + }, + { + "value": "KG", + "description": "Kilograms." + } + ] + }, + "UpdateItemComplianceDetailsRequest": { + "description": "The `updateItemComplianceDetails` request.", + "properties": { + "msku": { + "description": "The merchant SKU, a merchant-supplied identifier for a specific SKU.", + "maxLength": 40, + "minLength": 1, + "type": "string" + }, + "taxDetails": { + "$ref": "#/definitions/TaxDetails" + } + }, + "required": [ + "msku", + "taxDetails" + ], + "type": "object", + "example": { + "msku": "Sunglasses", + "taxDetails": { + "declaredValue": { + "amount": 5.5, + "code": "CAD" + }, + "hsnCode": "hsnCode" + } + } + }, + "UpdateItemComplianceDetailsResponse": { + "description": "The `updateItemComplianceDetails` response.", + "properties": { + "operationId": { + "description": "UUID for the given operation.", + "maxLength": 38, + "minLength": 36, + "pattern": "^[a-zA-Z0-9-]*$", + "type": "string" + } + }, + "required": [ + "operationId" + ], + "type": "object" + }, + "UpdateShipmentDeliveryWindowRequest": { + "description": "The `updateShipmentDeliveryWindow` request.", + "properties": { + "deliveryWindow": { + "$ref": "#/definitions/WindowInput", + "description": "The range of dates within which the seller expects that their shipment will be delivered to Amazon.\n" + } + }, + "required": [ + "deliveryWindow" + ], + "type": "object", + "example": { + "deliveryWindow": { + "start": "2024-01-01T00:00Z" + } + } + }, + "UpdateShipmentDeliveryWindowResponse": { + "description": "The `updateShipmentDeliveryWindow` response.", + "properties": { + "operationId": { + "description": "UUID for the given operation.", + "maxLength": 38, + "minLength": 36, + "pattern": "^[a-zA-Z0-9-]*$", + "type": "string" + } + }, + "required": [ + "operationId" + ], + "type": "object" + }, + "UpdateShipmentTrackingDetailsRequest": { + "description": "The `updateShipmentTrackingDetails` request.", + "properties": { + "trackingDetails": { + "$ref": "#/definitions/TrackingDetailsInput" + } + }, + "required": [ + "trackingDetails" + ], + "type": "object", + "example": { + "trackingDetails": { + "spdTrackingDetail": { + "spdTrackingItems": [ + { + "boxId": "FBA10ABC0YY100001", + "trackingId": "FBA10002000" + } + ] + } + } + } + }, + "UpdateShipmentTrackingDetailsResponse": { + "description": "The `updateShipmentTrackingDetails` response.", + "properties": { + "operationId": { + "description": "UUID for the given operation.", + "maxLength": 38, + "minLength": 36, + "pattern": "^[a-zA-Z0-9-]*$", + "type": "string" + } + }, + "required": [ + "operationId" + ], + "type": "object" + }, + "Weight": { + "description": "The weight of a package.", + "properties": { + "unit": { + "$ref": "#/definitions/UnitOfWeight" + }, + "value": { + "description": "Value of a weight.", + "format": "double", + "maximum": 100000, + "minimum": 0, + "type": "number" + } + }, + "required": [ + "unit", + "value" + ], + "type": "object" + }, + "Window": { + "description": "Contains a start and end DateTime representing a time range.", + "properties": { + "editableUntil": { + "description": "The timestamp at which this Window can no longer be edited.", + "format": "date-time", + "type": "string" + }, + "end": { + "description": "The end timestamp of the window.", + "format": "date-time", + "type": "string" + }, + "start": { + "description": "The start timestamp of the window.", + "format": "date-time", + "type": "string" + } + }, + "required": [ + "end", + "start" + ], + "type": "object" + }, + "WindowInput": { + "description": "Contains only a starting DateTime.", + "properties": { + "start": { + "description": "The start date of the window. The time component must be zero.", + "format": "date-time", + "type": "string" + } + }, + "required": [ + "start" + ], + "type": "object" + } + }, + "x-components": {} +} \ No newline at end of file From bda8b4f92bc8d631ffbfd143f51a40903a7957d2 Mon Sep 17 00:00:00 2001 From: Jack Evoniuk Date: Wed, 24 Apr 2024 10:21:40 -0700 Subject: [PATCH 234/340] Update Data Kiosk schemas --- .../analytics_economics_2024_03_15.graphql | 493 ++++++++++++++ ...alytics_salesAndTraffic_2024_04_24.graphql | 625 ++++++++++++++++++ 2 files changed, 1118 insertions(+) create mode 100644 schemas/data-kiosk/analytics_economics_2024_03_15.graphql create mode 100644 schemas/data-kiosk/analytics_salesAndTraffic_2024_04_24.graphql diff --git a/schemas/data-kiosk/analytics_economics_2024_03_15.graphql b/schemas/data-kiosk/analytics_economics_2024_03_15.graphql new file mode 100644 index 000000000..bdfda3733 --- /dev/null +++ b/schemas/data-kiosk/analytics_economics_2024_03_15.graphql @@ -0,0 +1,493 @@ +""" +A Scalar for the primitive long type. +""" +scalar Long +""" +An RFC-3339 compliant Full Date Scalar. Example: "2024-03-15" +""" +scalar Date + +extend type Query + @domainResolver( + sdpInstanceType: "amzn1.sdp.1.type.1.DataKiosk.Domain.Analytics_Economics_2024_03_15" + ) { + """ + Seller economics queries version 2024_03_15. + """ + analytics_economics_2024_03_15: Analytics_Economics_2024_03_15 +} + +""" +A root type for seller economics queries version 2024_03_15. +""" +type Analytics_Economics_2024_03_15 { + """ + A query to retrieve seller economics data for the seller's account aggregated by date and product identifier. The seller economics data consists of aggregated sales, fees, and cost for selected period. + """ + economics( + """ + The start date of the seller economics data to retrieve. The start date must be no more than two years ago. If the provided start date occurs mid-week or mid-month in UTC+0 timezone, the following Sunday for WEEK date granularity or the first day of the next month for MONTH date granularity will be used instead. + """ + startDate: Date! + """ + The end date of the seller economics data to retrieve. If the provided end date occurs mid-week or mid-month in UTC+0 timezone, the preceding Saturday for WEEK date granularity or the last day of the previous month for MONTH date granularity will be used instead. + """ + endDate: Date! + """ + The marketplace identifiers to retrieve seller economics data for. + """ + marketplaceIds: [String]! + """ + Specifies which fee types to breakdown into individual components. + """ + includeComponentsForFeeTypes: [FeeType] + """ + Determines how the seller economics data should be aggregated. By default it's aggregated by MSKU and DAY. + """ + aggregateBy: EconomicsAggregation + ): [Economics] @supportedAccountTypes(types: [MERCHANT]) +} + +""" +The seller economics data for a given product in the seller's account. +""" +type Economics { + """ + The marketplace identifier of the seller economics data. + """ + marketplaceId: String! + @paamRights( + require: ["seller_economics_api_view", "seller_economics_mobile_view"] + ) + @resultRetention(duration: "P30D") + """ + The start date of the seller economics data, please note this date may be adjusted to the start of DateGranularity. + """ + startDate: Date! + @paamRights( + require: ["seller_economics_api_view", "seller_economics_mobile_view"] + ) + @resultRetention(duration: "P30D") + """ + The end date of the seller economics data, please note this date may be adjusted to the end of DateGranularity. + """ + endDate: Date! + @paamRights( + require: ["seller_economics_api_view", "seller_economics_mobile_view"] + ) + @resultRetention(duration: "P30D") + """ + The Amazon Standard Identification Number of the parent product. A parent product appears in our catalog as a non-buyable, generic identifier for a product that has buyable variations (child products). + """ + parentAsin: String! + @paamRights( + require: ["seller_economics_api_view", "seller_economics_mobile_view"] + ) + @resultRetention(duration: "P30D") + """ + The Amazon Standard Identification Number of the child product. Child products are unique, sellable products that are related in our catalog to a single, non-sellable parent product. Note: This field is only present when product aggregation is CHILD_ASIN, FNSKU or MSKU. + """ + childAsin: String + @paamRights( + require: ["seller_economics_api_view", "seller_economics_mobile_view"] + ) + @resultRetention(duration: "P30D") + """ + The Fulfillment Network Stock Keeping Unit (FNSKU) of the product. Note: This field is only present when product aggregation is FNSKU or MSKU. This field may be null when product aggregation is MSKU and the row is associated with more than one FNSKU. + """ + fnsku: String + @paamRights( + require: ["seller_economics_api_view", "seller_economics_mobile_view"] + ) + @resultRetention(duration: "P30D") + """ + The Merchant Stock Keeping Unit (MSKU) of the product. Note: This field is only present when product aggregation is FNSKU or MSKU. This field may be null when product aggregation is FNSKU and the row is associated with more than one MSKU. + """ + msku: String + @paamRights( + require: ["seller_economics_api_view", "seller_economics_mobile_view"] + ) + @resultRetention(duration: "P30D") + """ + The sales data for the product within the specified date range. + """ + sales: Sales! + """ + The fees applied to the product within the specified date range. Supported fee types can be found [here](https://sellercentral.amazon.com/gp/help/GZ8Y22NL2FSRY8M5.) + """ + fees: [FeeSummary]! + """ + The advertising spend data for the product within the specified date range. Supported advertisement charge types can be found [here](https://sellercentral.amazon.com/gp/help/GZ8Y22NL2FSRY8M5). + """ + ads: [AdSummary] + """ + The off Amazon cost provided by the seller for this product (per unit). The off Amazon cost can be provided on [SKU Central](https://sellercentral.amazon.com/skucentral?mSku=xxx) and [Revenue Calculator](https://sellercentral.amazon.com/revcal). + """ + cost: PerUnitCost + """ + The net proceeds for this product within the specified date range. The value remains unchanged regardless of whether sales, fees, ads, or cost are selected in the query. + """ + netProceeds: NetProceeds! +} + +""" +The sales data for a given product in the seller's account within a given date range. +""" +type Sales { + """ + The amount of ordered product sales, calculated by multiplying the price of products and the number of units sold for the selected time period. + """ + orderedProductSales: Amount! + @paamRights( + require: ["seller_economics_api_view", "seller_economics_mobile_view"] + ) + @resultRetention(duration: "P30D") + """ + The number of units ordered for the selected time period. Example: For an order containing 2 copies of book A and 3 copies of book B, the number of orders is 1, the number of order items is 2 (book A and book B), and the number of units is 5 (2 + 3). + """ + unitsOrdered: Long! + @paamRights( + require: ["seller_economics_api_view", "seller_economics_mobile_view"] + ) + @resultRetention(duration: "P30D") + """ + The average price of the units sold in the selected time period, calculated by dividing the orderedProductSales by unitsOrdered for the selected time period. This field will be null when unitsOrdered is 0. + """ + averageSellingPrice: Amount + @paamRights( + require: ["seller_economics_api_view", "seller_economics_mobile_view"] + ) + @resultRetention(duration: "P30D") + """ + The amount of refunded product sales for the selected time period, it's counted by refund request time. + """ + refundedProductSales: Amount! + @paamRights( + require: ["seller_economics_api_view", "seller_economics_mobile_view"] + ) + @resultRetention(duration: "P30D") + """ + The number of units refunded in the selected time period. + """ + unitsRefunded: Long! + @paamRights( + require: ["seller_economics_api_view", "seller_economics_mobile_view"] + ) + @resultRetention(duration: "P30D") + """ + The amount of net product sales, calculated by orderedProductSales - refundedProductSales. + """ + netProductSales: Amount! + @paamRights( + require: ["seller_economics_api_view", "seller_economics_mobile_view"] + ) + @resultRetention(duration: "P30D") + """ + The number of net units sold for the selected time period, calculated by unitsOrdered - unitsRefunded. + """ + netUnitsSold: Long! + @paamRights( + require: ["seller_economics_api_view", "seller_economics_mobile_view"] + ) + @resultRetention(duration: "P30D") +} + +""" +The fees data summary for the seller's account aggregated by transaction event type: charge. +""" +type FeeSummary { + """ + Fee type name, for example: "FBA fulfillment fees" + """ + feeTypeName: String! + @paamRights( + require: ["seller_economics_api_view", "seller_economics_mobile_view"] + ) + @resultRetention(duration: "P30D") + """ + Charge summary for a fee type. + """ + charge: Fee +} + +""" +A fee applied to a given product in the seller's account within a given date range. Fee information can be found [here](https://sellercentral.amazon.com/gp/help/GZ8Y22NL2FSRY8M5). +""" +type Fee { + """ + Fee aggregated transaction detail. + """ + aggregatedDetail: AggregatedDetail! + """ + A breakdown of the fee into individual components. This field will be null for fee types that cannot be divided into individual components. + """ + components: [FeeComponent] + @paamRights( + require: ["seller_economics_api_view", "seller_economics_mobile_view"] + ) + @resultRetention(duration: "P30D") +} + +""" +The fee component data applied to a given product in the seller's account within a given date range. It's breakdown of parent fee. +""" +type FeeComponent { + """ + Fee component name, for example: "Base fulfillment fee". + """ + name: String! + @paamRights( + require: ["seller_economics_api_view", "seller_economics_mobile_view"] + ) + @resultRetention(duration: "P30D") + """ + Fee component aggregated detail. + """ + aggregatedDetail: AggregatedDetail! +} + +""" +The advertisements spend data summary for the seller's account aggregated by transaction event type: charge. +""" +type AdSummary { + """ + Advertisement type name, for example: "Sponsored Products charge". + """ + adTypeName: String! + @paamRights( + require: ["seller_economics_api_view", "seller_economics_mobile_view"] + ) + @resultRetention(duration: "P30D") + """ + Charge aggregated detail for an advertisement type. + """ + charge: AggregatedDetail +} + +""" +The aggregated transaction detail for the seller's account aggregated by transaction event type and transaction type, for example: charge and "fbaFulfillmentFee". +""" +type AggregatedDetail { + """ + Charged quantity for a given product in the seller's account. When the fee is not charged on a per unit basis, this value may be null or may not be an integer. + """ + quantity: Float + @paamRights( + require: ["seller_economics_api_view", "seller_economics_mobile_view"] + ) + @resultRetention(duration: "P30D") + """ + Final charge amount after promotion and tax are considered. This value is calculated as amount - promotionAmount + taxAmount. + """ + totalAmount: Amount! + @paamRights( + require: ["seller_economics_api_view", "seller_economics_mobile_view"] + ) + @resultRetention(duration: "P30D") + """ + Final charge amount per unit after promotion and tax are considered. This value is calculated by dividing totalAmount by quantity. This value will be null when quantity is null. + """ + amountPerUnit: Amount + @paamRights( + require: ["seller_economics_api_view", "seller_economics_mobile_view"] + ) + @resultRetention(duration: "P30D") + """ + Amount calculated by rate card. + """ + amount: Amount! + @paamRights( + require: ["seller_economics_api_view", "seller_economics_mobile_view"] + ) + @resultRetention(duration: "P30D") + """ + The promotion amount associated with this transaction type. This value is deducted from amount when computing totalAmount. + """ + promotionAmount: Amount! + @paamRights( + require: ["seller_economics_api_view", "seller_economics_mobile_view"] + ) + @resultRetention(duration: "P30D") + """ + The tax amount associated with this transaction type. This value is added to amount when computing totalAmount. + """ + taxAmount: Amount! + @paamRights( + require: ["seller_economics_api_view", "seller_economics_mobile_view"] + ) + @resultRetention(duration: "P30D") +} + +""" +The item level per unit cost provided by seller. Fields in this type will be null if not provided by the seller. +""" +type PerUnitCost { + """ + Cost to manufacture or acquire the product. This value is provided by the seller and is applicable to both Fulfillment by Amazon (FBA) and Merchant Fulfilled Network (MFN) products. + """ + costOfGoodsSold: Amount + @paamRights( + require: ["Seller_Provided_Costs_API_Read", "Seller_Provided_Costs_Read"] + ) + @resultRetention(duration: "P30D") + """ + Miscellaneous costs not related to this specific product, ex: overhead, etc. This value is provided by the seller and applicable to both Fulfillment by Amazon (FBA) and Merchant Fulfilled Network (MFN) products. + """ + miscellaneousCost: Amount + @paamRights( + require: ["Seller_Provided_Costs_API_Read", "Seller_Provided_Costs_Read"] + ) + @resultRetention(duration: "P30D") + """ + The item level per unit cost provided by the seller and applicable to Fulfillment by Amazon (FBA) products. + """ + fbaCost: FbaPerUnitCost + """ + The item level per unit cost provided by the seller and applicable to Merchant Fulfilled Network (MFN) products. + """ + mfnCost: MfnPerUnitCost +} + +""" +The item level per unit cost provided by the seller and applicable to Fulfillment by Amazon (FBA) products. Fields in this type will be null if not provided by the seller. +""" +type FbaPerUnitCost { + """ + Cost of shipping the Fulfillment by Amazon (FBA) item to an Amazon fulfillment center. This value is provided by the seller and applicable to Fulfillment by Amazon (FBA) products. + """ + shippingToAmazonCost: Amount + @paamRights( + require: ["Seller_Provided_Costs_API_Read", "Seller_Provided_Costs_Read"] + ) + @resultRetention(duration: "P30D") +} + +""" +The item level per unit cost provided by the seller and applicable to Merchant Fulfilled Network (MFN) products. Fields in this type will be null if not provided by the seller. +""" +type MfnPerUnitCost { + """ + Cost of fulfilling an order containing the product, including labor, packing material, shipping to customer, customer service etc. This value is provided by the seller and applicable to Merchant Fulfilled Network (MFN) products. + """ + fulfillmentCost: Amount + @paamRights( + require: ["Seller_Provided_Costs_API_Read", "Seller_Provided_Costs_Read"] + ) + @resultRetention(duration: "P30D") + """ + Cost to store a single unit of the product per month. This value is provided by the seller and applicable to Merchant Fulfilled Network (MFN) products. + """ + storageCost: Amount + @paamRights( + require: ["Seller_Provided_Costs_API_Read", "Seller_Provided_Costs_Read"] + ) + @resultRetention(duration: "P30D") +} + +""" +The net proceeds for a given product in the seller's account for a given time range. These fields are calculated as sales.netProductSales - sum of fees.charge.totalAmount - sum of ads.charge.totalAmount - (cost of Merchant Fulfilled Network (MFN) products or cost of Fulfillment by Amazon (FBA) products) * sales.netUnitsSold. +""" +type NetProceeds { + """ + "Total net proceeds for a given product in the seller's account for a given time range. + """ + total: Amount + @paamRights( + require: ["Seller_Provided_Costs_API_Read", "Seller_Provided_Costs_Read"] + ) + @resultRetention(duration: "P30D") + """ + Net proceeds per unit for a given product in the seller's account for a given time range. This value is calculated by dividing total by sales.netUnitsSold. + """ + perUnit: Amount + @paamRights( + require: ["Seller_Provided_Costs_API_Read", "Seller_Provided_Costs_Read"] + ) + @resultRetention(duration: "P30D") +} + +""" +Monetary amount with the corresponding currency code. +""" +type Amount { + """ + The amount. + """ + amount: Float! + """ + Currency code of the amount in ISO 4217 format. + """ + currencyCode: String! +} + +""" +Defines how the seller economics data will be aggregated. +""" +input EconomicsAggregation { + """ + The product identifier granularity used in aggregation. By default the results will be aggregated by MSKU. + """ + productId: ProductIdentifierGranularity + """ + The date granularity used in aggregation. By default the results will be aggregated by DAY. + """ + date: DateGranularity +} + +""" +The date granularity used in aggregation. +""" +enum DateGranularity { + """ + Seller economics data is aggregated by day against marketplace local time. + """ + DAY + """ + Seller economics data is aggregated by week against marketplace local time, Sunday is the first day of the week. + """ + WEEK + """ + Seller economics data is aggregated by month against marketplace local time. + """ + MONTH + """ + Seller economics data is aggregated by the entire date range specified by startDate and endDate. + """ + RANGE +} + +""" +The product identifier granularity used in aggregation. +""" +enum ProductIdentifierGranularity { + """ + Seller Economics data is aggregated by parent ASIN. + """ + PARENT_ASIN + """ + Seller Economics data is aggregated by child ASIN. + """ + CHILD_ASIN + """ + Seller Economics data is aggregated by fulfillment network sku. + """ + FNSKU + """ + Seller Economics data is aggregated by merchant sku. + """ + MSKU +} + +""" +The fee type used in filter fee components generation. +""" +enum FeeType { + """ + Fulfillment by Amazon (FBA) Fulfillment Fees, including base rate and surcharges. + """ + FBA_FULFILLMENT_FEE + """ + Fulfillment by Amazon (FBA) Monthly Inventory Storage Fee, including base rate and surcharges. + """ + FBA_STORAGE_FEE +} diff --git a/schemas/data-kiosk/analytics_salesAndTraffic_2024_04_24.graphql b/schemas/data-kiosk/analytics_salesAndTraffic_2024_04_24.graphql new file mode 100644 index 000000000..691307c99 --- /dev/null +++ b/schemas/data-kiosk/analytics_salesAndTraffic_2024_04_24.graphql @@ -0,0 +1,625 @@ +""" +A Scalar for the primitive long type. +""" +scalar Long +""" +An RFC-3339 compliant Full Date Scalar. Example: "2023-11-15" +""" +scalar Date + +extend type Query + @domainResolver( + sdpInstanceType: "amzn1.sdp.1.type.1.DataKiosk.Domain.Analytics_SalesAndTraffic_2024_04_24" + ) { + """ + Analytics Sales and Traffic queries version 2024_04_24. + """ + analytics_salesAndTraffic_2024_04_24: Analytics_SalesAndTraffic_2024_04_24 +} + +""" +A root type for Analytics Sales and Traffic queries version 2024_04_24. +""" +type Analytics_SalesAndTraffic_2024_04_24 { + """ + A query to retrieve sales and traffic data for the seller's account aggregated by date. + """ + salesAndTrafficByDate( + """ + The start date of the sales and traffic data to retrieve. The start date must be no more than two years ago. If the provided start date occurs mid-week or mid-month, the following Sunday for WEEK date granularity or the first day of the next month for MONTH date granularity will be used instead. + """ + startDate: Date! + + """ + The end date of the sales and traffic data to retrieve. If the provided end date occurs mid-week or mid-month, the preceding Saturday for WEEK date granularity or the last day of the previous month for MONTH date granularity will be used instead. + """ + endDate: Date! + + """ + The marketplace identifiers to retrieve sales and traffic data for. + """ + marketplaceIds: [String!]! + + """ + Determines how the sales and traffic data should be aggregated. + """ + aggregateBy: DateGranularity! + ): [SalesAndTrafficByDate] @supportedAccountTypes(types: [MERCHANT]) + + """ + A query to retrieve sales and traffic data for the seller's account aggregated by ASIN. + """ + salesAndTrafficByAsin( + """ + The start date of the sales and traffic data to retrieve. The start date must be no more than two years ago. If a date granularity is specified and the provided start date occurs mid-week or mid-month, the following Sunday for WEEK date granularity or the first day of the next month for MONTH date granularity will be used instead. + """ + startDate: Date! + + """ + The end date of the sales and traffic data to retrieve. If a date granularity is specified and the provided end date occurs mid-week or mid-month, the preceding Saturday for WEEK date granularity or the last day of the previous month for MONTH date granularity will be used instead. + """ + endDate: Date! + + """ + The marketplace identifiers to retrieve sales and traffic data for. + """ + marketplaceIds: [String!]! + + """ + Determines how the sales and traffic data should be aggregated. + """ + aggregateBy: AsinGranularity! + ): [SalesAndTrafficByAsin] @supportedAccountTypes(types: [MERCHANT]) +} + +""" +The sales and traffic data for the seller's account aggregated by date. +""" +type SalesAndTrafficByDate { + """ + The marketplace identifier of the sales and traffic data. + """ + marketplaceId: String! + @paamRights(require: ["analytics_sales_and_traffic_view_pa"]) + @resultRetention(duration: "P30D") + + """ + The start date of the sales and traffic data. + """ + startDate: Date! + @paamRights(require: ["analytics_sales_and_traffic_view_pa"]) + @resultRetention(duration: "P30D") + + """ + The end date of the sales and traffic data. + """ + endDate: Date! + @paamRights(require: ["analytics_sales_and_traffic_view_pa"]) + @resultRetention(duration: "P30D") + + """ + The sales data for the seller's account. + """ + sales: ByDateSales! + @paamRights(require: ["analytics_sales_and_traffic_view_pa"]) + + """ + The traffic data for the seller's account. + """ + traffic: ByDateTraffic! + @paamRights(require: ["analytics_sales_and_traffic_view_pa"]) +} + +""" +The sales data for the seller's account aggregated by date. +""" +type ByDateSales { + """ + The amount of ordered product sales, calculated by multiplying the price of products and the number of units sold for the selected time period. + """ + orderedProductSales: Amount! @resultRetention(duration: "P30D") + + """ + The amount of ordered product sales to Amazon Business customers, calculated by multiplying the price of products and the number of units sold for the selected time period. + """ + orderedProductSalesB2B: Amount @resultRetention(duration: "P30D") + + """ + The number of units ordered for the selected time period. Example: For an order containing 2 copies of book A and 3 copies of book B, the number of orders is 1, the number of order items is 2 (book A and book B), and the number of units is 5 (2 + 3). + """ + unitsOrdered: Long! @resultRetention(duration: "P30D") + + """ + The number of units ordered by Amazon Business customers for the selected time period. Example: For an order containing 2 copies of book A and 3 copies of book B, the number of orders is 1, the number of order items is 2 (book A and book B), and the number of units is 5 (2 + 3). + """ + unitsOrderedB2B: Long @resultRetention(duration: "P30D") + + """ + The number of items that were ordered for the selected time period. Example: For an order containing 2 copies of book A and 3 copies of book B, the number of orders is 1, the number of order items is 2 (book A and book B), and the number of units is 5 (2 + 3). + """ + totalOrderItems: Long! @resultRetention(duration: "P30D") + + """ + The number of items that were ordered by Amazon Business customers for the selected time period. Example: For an order containing 2 copies of book A and 3 copies of book B, the number of orders is 1, the number of order items is 2 (book A and book B), and the number of units is 5 (2 + 3). + """ + totalOrderItemsB2B: Long @resultRetention(duration: "P30D") + + """ + The average ordered product sales, calculated by dividing orderedProductSales by totalOrderItems for the selected time period. + """ + averageSalesPerOrderItem: Amount! @resultRetention(duration: "P30D") + + """ + The average ordered product sales to Amazon Business customers, calculated by dividing orderedProductSalesB2B by totalOrderItemsB2B for the selected time period. Note: This field is only populated when the seller is a B2B seller. + """ + averageSalesPerOrderItemB2B: Amount @resultRetention(duration: "P30D") + + """ + The average number of units in each order item for the selected time period. + """ + averageUnitsPerOrderItem: Float! @resultRetention(duration: "P30D") + + """ + The average number of units in each order item ordered by Amazon Business customers for the selected time period. Note: This field is only populated when the seller is a B2B seller. + """ + averageUnitsPerOrderItemB2B: Float @resultRetention(duration: "P30D") + + """ + The average price of the units sold in the selected time period, calculated by dividing the orderedProductSales by unitsOrdered for the selected time period. + """ + averageSellingPrice: Amount! @resultRetention(duration: "P30D") + + """ + The average price of the units sold to Amazon Business customers, calculated by dividing the orderedProductSalesB2B by unitsOrderedB2B for the selected time period. Note: This field is only populated when the seller is a B2B seller. + """ + averageSellingPriceB2B: Amount @resultRetention(duration: "P30D") + + """ + The number of units refunded in the selected time period. + """ + unitsRefunded: Long! @resultRetention(duration: "P30D") + + """ + The percentage conversion metric indicating how many orders were refunded by the seller, calculated by dividing unitsOrdered by unitsRefunded in the selected time period. + """ + refundRate: Float! @resultRetention(duration: "P30D") + + """ + The number of A-to-z guarantee claims granted. + """ + claimsGranted: Long! @resultRetention(duration: "P30D") + + """ + Monetary amount of filed A-to-z guarantee claims. + """ + claimsAmount: Amount! @resultRetention(duration: "P30D") + + """ + The amount of ordered product sales shipped for the selected time period. + """ + shippedProductSales: Amount! @resultRetention(duration: "P30D") + + """ + The number of units shipped in the selected time period. + """ + unitsShipped: Long! @resultRetention(duration: "P30D") + + """ + The number of orders shipped in the selected time period. + """ + ordersShipped: Long! @resultRetention(duration: "P30D") +} + +""" +The traffic data for the seller's account aggregated by date. +""" +type ByDateTraffic { + """ + Browser sessions are visits to your Amazon.com browser pages by a user. All browser activity within a 24-hour period is considered a browser session. For example, if a user visits your pages using a browser multiple times within a 24 hour period it is counted as a single browser session. + """ + browserSessions: Long! @resultRetention(duration: "P30D") + + """ + Browser B2B sessions are visits to your Amazon.com browser pages by an Amazon Business customer. All activity within a 24-hour period is considered a browser session. For example, if an Amazon Business customer visits your pages using browser multiple times within a 24 hour period it is counted as a single session. Note: This field is only populated when the seller is a B2B seller. + """ + browserSessionsB2B: Long @resultRetention(duration: "P30D") + + """ + Mobile app sessions are visits to your Amazon.com mobile app pages by a user. All mobile app activity within a 24-hour period is considered a mobile app session. For example, if a user visits your pages using a mobile app multiple times within a 24 hour period it is counted as a single mobile app session. + """ + mobileAppSessions: Long! @resultRetention(duration: "P30D") + + """ + Mobile app B2B sessions are visits to your Amazon.com mobile app pages by an Amazon Business customer. All activity within a 24-hour period is considered a mobile app session. For example, if an Amazon Business customer visits your pages using mobile app multiple times within a 24 hour period it is counted as a single session. Note: This field is only populated when the seller is a B2B seller. + """ + mobileAppSessionsB2B: Long @resultRetention(duration: "P30D") + + """ + Sessions are visits to your Amazon.com browser or mobile app pages by a user. All browser and mobile app activity within a 24-hour period is considered a session. It is calculated as the sum of browserSessions and mobileAppSessions. + """ + sessions: Long! @resultRetention(duration: "P30D") + + """ + B2B sessions are visits to your Amazon.com pages using browser or mobile app by an Amazon Business customer. All activity within a 24-hour period is considered a session. For example, if an Amazon Business customer visits your pages multiple times using mobile app or browser within a 24 hour period it is counted as a single session. Note: This field is only populated when the seller is a B2B seller. + """ + sessionsB2B: Long @resultRetention(duration: "P30D") + + """ + Browser page views are the number of times a user visited your Amazon.com browser pages for the selected time period. + """ + browserPageViews: Long! @resultRetention(duration: "P30D") + + """ + Browser B2B page views are the number of times an Amazon Business customer visited your Amazon.com browser pages for the selected time period. Note: This field is only populated when the seller is a B2B seller. + """ + browserPageViewsB2B: Long @resultRetention(duration: "P30D") + + """ + Mobile app page views are the number of times a user visited your Amazon.com mobile app pages for the selected time period. + """ + mobileAppPageViews: Long! @resultRetention(duration: "P30D") + + """ + Mobile app B2B page views are the number of times an Amazon Business customer visited your Amazon.com mobile app pages for the selected time period. Note: This field is only populated when the seller is a B2B seller. + """ + mobileAppPageViewsB2B: Long @resultRetention(duration: "P30D") + + """ + Page views are the number of times a user visited your Amazon.com browser or mobile app pages for the selected time period. It is calculated as the sum of browserPageViews and mobileAppPageViews. + """ + pageViews: Long! @resultRetention(duration: "P30D") + + """ + B2B page views are the number of times an Amazon Business customer visited your Amazon.com pages using browser or mobile app for the selected time period. Note: This field is only populated when the seller is a B2B seller. + """ + pageViewsB2B: Long @resultRetention(duration: "P30D") + + """ + The percentage of page views where the buy box (the add to shopping cart link) appeared on the page for customers to add your product to their cart. + """ + buyBoxPercentage: Float! @resultRetention(duration: "P30D") + + """ + The percentage of page views by Amazon Business customers where the buy box (the add to shopping cart link) appeared on the page for customers to add your product to their cart. Note: This field is only populated when the seller is a B2B seller. + """ + buyBoxPercentageB2B: Float @resultRetention(duration: "P30D") + + """ + The percentage conversion metric indicating how many order items were generated relative to the number of people who viewed the products. + """ + orderItemSessionPercentage: Float! @resultRetention(duration: "P30D") + + """ + The percentage conversion metric indicating how many order items were generated by Amazon Business customers relative to the number of Amazon Business customers who viewed the products. Note: This field is only populated when the seller is a B2B seller. + """ + orderItemSessionPercentageB2B: Float @resultRetention(duration: "P30D") + + """ + The percentage conversion metric indicating how many units were purchased relative to the number of people who viewed the products. + """ + unitSessionPercentage: Float! @resultRetention(duration: "P30D") + + """ + The percentage conversion metric indicating how many units were purchased by Amazon Business customers relative to number of Amazon Business customers who viewed the products. Note: This field is only populated when the seller is a B2B seller. + """ + unitSessionPercentageB2B: Float @resultRetention(duration: "P30D") + + """ + The average number of offers listed for sale in the selected time period. It is calculated from the total number of offers and the total number of days in the selected time period. + """ + averageOfferCount: Long! @resultRetention(duration: "P30D") + + """ + The average number of parent items listed for sale in the selected time period. + """ + averageParentItems: Long! @resultRetention(duration: "P30D") + + """ + The number of times customers left feedback in the selected time period. + """ + feedbackReceived: Long! @resultRetention(duration: "P30D") + + """ + The number of times customers left negative feedback in the selected time period. + """ + negativeFeedbackReceived: Long! @resultRetention(duration: "P30D") + + """ + The negative feedback rate is the number of orders that have received negative feedback divided by the number of orders in the selected time period. + """ + receivedNegativeFeedbackRate: Float! @resultRetention(duration: "P30D") +} + +""" +The sales and traffic data for the seller's account aggregated by ASIN. +""" +type SalesAndTrafficByAsin { + """ + The marketplace identifier of the sales and traffic data. + """ + marketplaceId: String! + @paamRights(require: ["analytics_sales_and_traffic_view_pa"]) + @resultRetention(duration: "P30D") + + """ + The start date of the period of the aggregated data. + """ + startDate: Date! + @paamRights(require: ["analytics_sales_and_traffic_view_pa"]) + @resultRetention(duration: "P30D") + + """ + The end date of the period of the aggregated data. + """ + endDate: Date! + @paamRights(require: ["analytics_sales_and_traffic_view_pa"]) + @resultRetention(duration: "P30D") + + """ + The Amazon Standard Identification Number of the parent product. A parent product appears in our catalog as a non-buyable, generic identifier for a product that has buyable variations (child products). + """ + parentAsin: String! + @paamRights(require: ["analytics_sales_and_traffic_view_pa"]) + @resultRetention(duration: "P30D") + + """ + The Amazon Standard Identification Number of the child product. Child products are unique, sellable products that are related in our catalog to a single, non-sellable parent product. Note: This field is only present when ASIN aggregation is CHILD or SKU. + """ + childAsin: String + @paamRights(require: ["analytics_sales_and_traffic_view_pa"]) + @resultRetention(duration: "P30D") + + """ + The Stock Keeping Unit of the product. The SKU is a seller specific product identifier. Note: This field is only present when ASIN aggregation is SKU. + """ + sku: String + @paamRights(require: ["analytics_sales_and_traffic_view_pa"]) + @resultRetention(duration: "P30D") + + """ + The sales data for the parentAsin/childAsin/sku within the specified date range. + """ + sales: ByAsinSales! + @paamRights(require: ["analytics_sales_and_traffic_view_pa"]) + + """ + The traffic data for the parentAsin/childAsin/sku within the specified date range. + """ + traffic: ByAsinTraffic! + @paamRights(require: ["analytics_sales_and_traffic_view_pa"]) +} + +""" +The sales data for the seller's account aggregated by ASIN. +""" +type ByAsinSales { + """ + The number of units ordered. + """ + unitsOrdered: Long! @resultRetention(duration: "P30D") + + """ + The number of units ordered by Amazon Business customers. Note: This field is only populated when the seller is a B2B seller. + """ + unitsOrderedB2B: Long @resultRetention(duration: "P30D") + + """ + The amount of ordered product sales, calculated by multiplying the price of products and the number of units sold for the selected time period. + """ + orderedProductSales: Amount! @resultRetention(duration: "P30D") + + """ + The amount of ordered product sales to Amazon Business customers, calculated by multiplying the price of products and the number of units sold for the selected time period. Note: This field is only populated when the seller is a B2B seller. + """ + orderedProductSalesB2B: Amount @resultRetention(duration: "P30D") + + """ + The number of items that were ordered for the selected time period. + """ + totalOrderItems: Long! @resultRetention(duration: "P30D") + + """ + The number of items that were ordered by Amazon Business customers for the selected time period. Note: This field is only populated when the seller is a B2B seller. + """ + totalOrderItemsB2B: Long @resultRetention(duration: "P30D") +} + +""" +The traffic data for the seller's account aggregated by ASIN. +""" +type ByAsinTraffic { + """ + Browser sessions are visits to your Amazon.com browser pages by a user. All browser activity within a 24-hour period is considered a browser session. For example, if a user visits your pages using a browser multiple times within a 24 hour period it is counted as a single browser session. + """ + browserSessions: Long! @resultRetention(duration: "P30D") + + """ + Browser B2B sessions are visits to your Amazon.com browser pages by an Amazon Business customer. All activity within a 24-hour period is considered a browser session. For example, if an Amazon Business customer visits your pages using browser multiple times within a 24 hour period it is counted as a single session. Note: This field is only populated when the seller is a B2B seller. + """ + browserSessionsB2B: Long @resultRetention(duration: "P30D") + + """ + Mobile app sessions are visits to your Amazon.com mobile app pages by a user. All mobile app activity within a 24-hour period is considered a mobile app session. For example, if a user visits your pages using a mobile app multiple times within a 24 hour period it is counted as a single mobile app session. + """ + mobileAppSessions: Long! @resultRetention(duration: "P30D") + + """ + Mobile app B2B sessions are visits to your Amazon.com mobile app pages by an Amazon Business customer. All activity within a 24-hour period is considered a mobile app session. For example, if an Amazon Business customer visits your pages using mobile app multiple times within a 24 hour period it is counted as a single session. Note: This field is only populated when the seller is a B2B seller. + """ + mobileAppSessionsB2B: Long @resultRetention(duration: "P30D") + + """ + Sessions are visits to your Amazon.com browser or mobile app pages by a user. All browser and mobile app activity within a 24-hour period is considered a session. It is calculated as the sum of browserSessions and mobileAppSessions. + """ + sessions: Long! @resultRetention(duration: "P30D") + + """ + B2B sessions are visits to your Amazon.com pages using browser or mobile app by an Amazon Business customer. All activity within a 24-hour period is considered a session. For example, if an Amazon Business customer visits your pages multiple times using mobile app or browser within a 24 hour period it is counted as a single session. Note: This field is only populated when the seller is a B2B seller. + """ + sessionsB2B: Long @resultRetention(duration: "P30D") + + """ + The percentage of browser sessions that contain at least one page view for a particular SKU/ASIN relative to the total number of browser sessions for all products. + """ + browserSessionPercentage: Float! @resultRetention(duration: "P30D") + + """ + The percentage of browser sessions that contain at least one page view by an Amazon Business customer for a particular SKU/ASIN relative to the total number of browser sessions by Amazon Business customers for all products. Note: This field is only populated when the seller is a B2B seller. + """ + browserSessionPercentageB2B: Float @resultRetention(duration: "P30D") + + """ + The percentage of mobile app sessions that contain at least one page view for a particular SKU/ASIN relative to the total number of mobile app sessions for all products. + """ + mobileAppSessionPercentage: Float! @resultRetention(duration: "P30D") + + """ + The percentage of mobile app sessions that contain at least one page view by an Amazon Business customer for a particular SKU/ASIN relative to the total number of mobile app sessions by Amazon Business customers for all products. Note: This field is only populated when the seller is a B2B seller. + """ + mobileAppSessionPercentageB2B: Float @resultRetention(duration: "P30D") + + """ + The percentage of sessions that contain at least one page view for a particular SKU/ASIN relative to the total number of sessions for all products. + """ + sessionPercentage: Float! @resultRetention(duration: "P30D") + + """ + The percentage of sessions that contain at least one page view by an Amazon Business customer for a particular SKU/ASIN relative to the total number of sessions by Amazon Business customers for all products. Note: This field is only populated when the seller is a B2B seller. + """ + sessionPercentageB2B: Float @resultRetention(duration: "P30D") + + """ + Browser page views are the number of times a user visited your Amazon.com browser pages for the selected time period. + """ + browserPageViews: Long! @resultRetention(duration: "P30D") + + """ + Browser B2B page views are the number of times an Amazon Business customer visited your Amazon.com browser pages for the selected time period. Note: This field is only populated when the seller is a B2B seller. + """ + browserPageViewsB2B: Long @resultRetention(duration: "P30D") + + """ + Mobile app page views are the number of times a user visited your Amazon.com mobile app pages for the selected time period. + """ + mobileAppPageViews: Long! @resultRetention(duration: "P30D") + + """ + Mobile app B2B page views are the number of times an Amazon Business customer visited your Amazon.com mobile app pages for the selected time period. Note: This field is only populated when the seller is a B2B seller. + """ + mobileAppPageViewsB2B: Long @resultRetention(duration: "P30D") + + """ + Page views are the number of times a user visited your Amazon.com browser or mobile app pages for the selected time period. It is calculated as the sum of browserPageViews and mobileAppPageViews. + """ + pageViews: Long! @resultRetention(duration: "P30D") + + """ + B2B page views are the number of times an Amazon Business customer visited your Amazon.com pages using browser or mobile app for the selected time period. Note: This field is only populated when the seller is a B2B seller. + """ + pageViewsB2B: Long @resultRetention(duration: "P30D") + + """ + The percentage of browser page views that a particular SKU/ASIN receives relative to the total number of browser page views for all products. + """ + browserPageViewsPercentage: Float! @resultRetention(duration: "P30D") + + """ + The percentage of browser views by Amazon Business customers that a particular SKU/ASIN receives relative to the total number of mobile page views by Amazon Business customers for all products. Note: This field is only populated when the seller is a B2B seller. + """ + browserPageViewsPercentageB2B: Float @resultRetention(duration: "P30D") + + """ + The percentage of mobile app page views that a particular SKU/ASIN receives relative to the total number of mobile app page views for all products. + """ + mobileAppPageViewsPercentage: Float! @resultRetention(duration: "P30D") + + """ + The percentage of mobile page views by Amazon Business customers that a particular SKU/ASIN receives relative to the total number of mobile page views by Amazon Business customers for all products. Note: This field is only populated when the seller is a B2B seller. + """ + mobileAppPageViewsPercentageB2B: Float @resultRetention(duration: "P30D") + + """ + The percentage of browser and mobile app page views that a particular SKU/ASIN receives relative to the total number of browser and mobile app page views for all products. + """ + pageViewsPercentage: Float! @resultRetention(duration: "P30D") + + """ + The percentage of page views by Amazon Business customers that a particular SKU/ASIN receives relative to the total number of page views by Amazon Business customers for all products. Note: This field is only populated when the seller is a B2B seller. + """ + pageViewsPercentageB2B: Float @resultRetention(duration: "P30D") + + """ + The percentage of page views where the buy box (the add to shopping cart link) appeared on the page for customers to add your product to their cart. + """ + buyBoxPercentage: Float! @resultRetention(duration: "P30D") + + """ + The percentage of page views by Amazon Business customers where the buy box (the add to shopping cart link) appeared on the page for customers to add your product to their cart. Note: This field is only populated when the seller is a B2B seller. + """ + buyBoxPercentageB2B: Float @resultRetention(duration: "P30D") + + """ + The percentage conversion metric indicating how many units were purchased relative to the number of people who viewed the products, calculated by dividing unitsOrdered by sessions. + """ + unitSessionPercentage: Float! @resultRetention(duration: "P30D") + + """ + The percentage conversion metric indicating how many units were purchased by Amazon Business customers relative to the number of Amazon Business customers who viewed the products, calculated by dividing unitsOrderedB2B by sessions. Note: This field is only populated when the seller is a B2B seller. + """ + unitSessionPercentageB2B: Float @resultRetention(duration: "P30D") +} + +""" +Monetary amount with the corresponding currency code. +""" +type Amount { + """ + The amount. + """ + amount: Float! + + """ + Currency code of the amount in ISO 4217 format. + """ + currencyCode: String! +} + +""" +The date granularity used in aggregation. +""" +enum DateGranularity { + """ + Sales and traffic data is aggregated by day. + """ + DAY + + """ + Sales and traffic data is aggregated by week. + """ + WEEK + + """ + Sales and traffic data is aggregated by month. + """ + MONTH +} + +""" +The ASIN granularity used in aggregation. +""" +enum AsinGranularity { + """ + Sales and traffic data is aggregated by parent ASIN. + """ + PARENT + + """ + Sales and traffic data is aggregated by child ASIN. + """ + CHILD + + """ + Sales and traffic data is aggregated by sku. + """ + SKU +} From 85dd3a5cced59ee86bf47f499f89adbd90948e50 Mon Sep 17 00:00:00 2001 From: andiec Date: Wed, 24 Apr 2024 13:26:32 -0400 Subject: [PATCH 235/340] orders v0 update release --- models/orders-api-model/ordersV0.json | 747 +++++++++++++++++++------- 1 file changed, 559 insertions(+), 188 deletions(-) diff --git a/models/orders-api-model/ordersV0.json b/models/orders-api-model/ordersV0.json index a780dc5c4..eec2f95e9 100644 --- a/models/orders-api-model/ordersV0.json +++ b/models/orders-api-model/ordersV0.json @@ -1,7 +1,7 @@ { "swagger": "2.0", "info": { - "description": "The Selling Partner API for Orders helps you programmatically retrieve order information. These APIs let you develop fast, flexible, custom applications in areas like order synchronization, order research, and demand-based decision support tools. The Orders API supports orders that are two years old or less. Orders more than two years old will not show in the API response.\n\n_Note:_ The Orders API supports orders from 2016 and after for the JP, AU, and SG marketplaces.", + "description": "The Selling Partner API for Orders helps you programmatically retrieve order information. These APIs let you develop fast, flexible, custom applications in areas like order synchronization, order research, and demand-based decision support tools. The Orders API supports orders that are two years old or less. Orders more than two years old will not show in the API response.\n\n**Note:** The Orders API supports orders from 2016 and after for the JP, AU, and SG marketplaces.", "version": "v0", "title": "Selling Partner API for Orders", "contact": { @@ -29,34 +29,34 @@ "tags": [ "ordersV0" ], - "description": "Returns orders created or updated during the time frame indicated by the specified parameters. You can also apply a range of filtering criteria to narrow the list of orders returned. If NextToken is present, that will be used to retrieve the orders instead of other criteria.\n\n**Usage Plan:**\n\n| Rate (requests per second) | Burst |\n| ---- | ---- |\n| 0.0167 | 20 |\n\nThe `x-amzn-RateLimit-Limit` response header returns the usage plan rate limits that were applied to the requested operation, when available. The table above indicates the default rate and burst values for this operation. Selling partners whose business demands require higher throughput may see higher rate and burst values then those shown here. For more information, see [Usage Plans and Rate Limits in the Selling Partner API](doc:usage-plans-and-rate-limits-in-the-sp-api).", + "description": "Returns orders created or updated during the time frame indicated by the specified parameters. You can also apply a range of filtering criteria to narrow the list of orders returned. If NextToken is present, that will be used to retrieve the orders instead of other criteria.\n\n**Usage Plan:**\n\n| Rate (requests per second) | Burst |\n| ---- | ---- |\n| 0.0167 | 20 |\n\nThe `x-amzn-RateLimit-Limit` response header returns the usage plan rate limits that were applied to the requested operation, when available. The table above indicates the default rate and burst values for this operation. Selling partners whose business demands require higher throughput may see higher rate and burst values then those shown here. For more information, refer to [Usage Plans and Rate Limits in the Selling Partner API](https://developer-docs.amazon.com/sp-api/docs/usage-plans-and-rate-limits-in-the-sp-api).", "operationId": "getOrders", "parameters": [ { "name": "CreatedAfter", "in": "query", - "description": "A date used for selecting orders created after (or at) a specified time. Only orders placed after the specified time are returned. Either the CreatedAfter parameter or the LastUpdatedAfter parameter is required. Both cannot be empty. The date must be in ISO 8601 format.", + "description": "A date used for selecting orders created after (or at) a specified time. Only orders placed after the specified time are returned. The date must be in ISO 8601 format.\n\n**Note**: Either the `CreatedAfter` parameter or the `LastUpdatedAfter` parameter is required. You could specify `CreatedBefore` but not provide `LastUpdatedAfter` or `LastUpdatedBefore` when `CreatedAfter` is specified.", "required": false, "type": "string" }, { "name": "CreatedBefore", "in": "query", - "description": "A date used for selecting orders created before (or at) a specified time. Only orders placed before the specified time are returned. The date must be in ISO 8601 format.", + "description": "A date used for selecting orders created before (or at) a specified time. Only orders placed before the specified time are returned. The date must be in ISO 8601 format.\n\n**Note**: `CreatedBefore` is optional when `CreatedAfter` is specified. But if specified, `CreatedBefore` should be equal to or after the `CreatedAfter` date and at least 2 minutes before the current time.", "required": false, "type": "string" }, { "name": "LastUpdatedAfter", "in": "query", - "description": "A date used for selecting orders that were last updated after (or at) a specified time. An update is defined as any change in order status, including the creation of a new order. Includes updates made by Amazon and by the seller. The date must be in ISO 8601 format.", + "description": "A date used for selecting orders that were last updated before (or at) a specified time. An update is defined as any change in order status, including the creation of a new order. Includes updates made by Amazon and by the seller. The date must be in ISO 8601 format.\n\n**Note**: `LastUpdatedBefore` is optional when `LastUpdatedAfter` is specified. But if specified, `LastUpdatedBefore` should be equal to or after the `LastUpdatedAfter` date and at least 2 minutes before current time.", "required": false, "type": "string" }, { "name": "LastUpdatedBefore", "in": "query", - "description": "A date used for selecting orders that were last updated before (or at) a specified time. An update is defined as any change in order status, including the creation of a new order. Includes updates made by Amazon and by the seller. The date must be in ISO 8601 format.", + "description": "A date used for selecting orders that were last updated before (or at) a specified time. An update is defined as any change in order status, including the creation of a new order. Includes updates made by Amazon and by the seller. The date must be in ISO 8601 format.\n\n**Note**: LastUpdatedBefore is optional when LastUpdatedAfter is set. But if specified, LastUpdatedBefore should be equal to or after the LastUpdatedAfter date and at least 2 minutes before current time.", "required": false, "type": "string" }, @@ -73,7 +73,7 @@ { "name": "MarketplaceIds", "in": "query", - "description": "A list of MarketplaceId values. Used to select orders that were placed in the specified marketplaces.\n\nRefer to [Marketplace IDs](https://developer-docs.amazon.com/sp-api/docs/marketplace-ids) for a complete list of marketplaceId values.", + "description": "A list of `MarketplaceId` values. Used to select orders that were placed in the specified marketplaces.\n\nRefer to [Marketplace IDs](https://developer-docs.amazon.com/sp-api/docs/marketplace-ids) for a complete list of `MarketplaceId` values.", "required": true, "type": "array", "items": { @@ -84,7 +84,7 @@ { "name": "FulfillmentChannels", "in": "query", - "description": "A list that indicates how an order was fulfilled. Filters the results by fulfillment channel. Possible values: AFN (Fulfillment by Amazon); MFN (Fulfilled by the seller).", + "description": "A list that indicates how an order was fulfilled. Filters the results by fulfillment channel. \n\n**Possible values**: `AFN` (Fulfillment by Amazon); `MFN` (Fulfilled by the seller).", "required": false, "type": "array", "items": { @@ -94,7 +94,7 @@ { "name": "PaymentMethods", "in": "query", - "description": "A list of payment method values. Used to select orders paid using the specified payment methods. Possible values: COD (Cash on delivery); CVS (Convenience store payment); Other (Any payment method other than COD or CVS).", + "description": "A list of payment method values. Used to select orders paid using the specified payment methods.\n\n**Possible values**: `COD` (Cash on delivery); `CVS` (Convenience store payment); `Other` (Any payment method other than `COD` or `CVS`).", "required": false, "type": "array", "items": { @@ -563,10 +563,6 @@ "$ref": "#/definitions/GetOrdersResponse" }, "headers": { - "x-amzn-RateLimit-Limit": { - "type": "string", - "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." - }, "x-amzn-RequestId": { "type": "string", "description": "Unique request reference identifier." @@ -579,10 +575,6 @@ "$ref": "#/definitions/GetOrdersResponse" }, "headers": { - "x-amzn-RateLimit-Limit": { - "type": "string", - "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." - }, "x-amzn-RequestId": { "type": "string", "description": "Unique request reference identifier." @@ -595,10 +587,6 @@ "$ref": "#/definitions/GetOrdersResponse" }, "headers": { - "x-amzn-RateLimit-Limit": { - "type": "string", - "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." - }, "x-amzn-RequestId": { "type": "string", "description": "Unique request reference identifier." @@ -613,7 +601,7 @@ "tags": [ "ordersV0" ], - "description": "Returns the order that you specify.\n\n**Usage Plan:**\n\n| Rate (requests per second) | Burst |\n| ---- | ---- |\n| 0.0167 | 20 |\n\nThe `x-amzn-RateLimit-Limit` response header returns the usage plan rate limits that were applied to the requested operation, when available. The table above indicates the default rate and burst values for this operation. Selling partners whose business demands require higher throughput may see higher rate and burst values then those shown here. For more information, see [Usage Plans and Rate Limits in the Selling Partner API](doc:usage-plans-and-rate-limits-in-the-sp-api).", + "description": "Returns the order that you specify.\n\n**Usage Plan:**\n\n| Rate (requests per second) | Burst |\n| ---- | ---- |\n| 0.5 | 30 |\n\nThe `x-amzn-RateLimit-Limit` response header returns the usage plan rate limits that were applied to the requested operation, when available. The table above indicates the default rate and burst values for this operation. Selling partners whose business demands require higher throughput may see higher rate and burst values then those shown here. For more information, refer to [Usage Plans and Rate Limits in the Selling Partner API](https://developer-docs.amazon.com/sp-api/docs/usage-plans-and-rate-limits-in-the-sp-api).", "operationId": "getOrder", "parameters": [ { @@ -907,10 +895,6 @@ "$ref": "#/definitions/GetOrderResponse" }, "headers": { - "x-amzn-RateLimit-Limit": { - "type": "string", - "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." - }, "x-amzn-RequestId": { "type": "string", "description": "Unique request reference identifier." @@ -923,10 +907,6 @@ "$ref": "#/definitions/GetOrderResponse" }, "headers": { - "x-amzn-RateLimit-Limit": { - "type": "string", - "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." - }, "x-amzn-RequestId": { "type": "string", "description": "Unique request reference identifier." @@ -939,10 +919,6 @@ "$ref": "#/definitions/GetOrderResponse" }, "headers": { - "x-amzn-RateLimit-Limit": { - "type": "string", - "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." - }, "x-amzn-RequestId": { "type": "string", "description": "Unique request reference identifier." @@ -957,13 +933,13 @@ "tags": [ "ordersV0" ], - "description": "Returns buyer information for the order that you specify.\n\n**Usage Plan:**\n\n| Rate (requests per second) | Burst |\n| ---- | ---- |\n| 0.0167 | 20 |\n\nThe `x-amzn-RateLimit-Limit` response header returns the usage plan rate limits that were applied to the requested operation, when available. The table above indicates the default rate and burst values for this operation. Selling partners whose business demands require higher throughput may see higher rate and burst values then those shown here. For more information, see [Usage Plans and Rate Limits in the Selling Partner API](doc:usage-plans-and-rate-limits-in-the-sp-api).", + "description": "Returns buyer information for the order that you specify.\n\n**Usage Plan:**\n\n| Rate (requests per second) | Burst |\n| ---- | ---- |\n| 0.5 | 30 |\n\nThe `x-amzn-RateLimit-Limit` response header returns the usage plan rate limits that were applied to the requested operation, when available. The table above indicates the default rate and burst values for this operation. Selling partners whose business demands require higher throughput may see higher rate and burst values then those shown here. For more information, refer to [Usage Plans and Rate Limits in the Selling Partner API](https://developer-docs.amazon.com/sp-api/docs/usage-plans-and-rate-limits-in-the-sp-api).", "operationId": "getOrderBuyerInfo", "parameters": [ { "name": "orderId", "in": "path", - "description": "An orderId is an Amazon-defined order identifier, in 3-7-7 format.", + "description": "An `orderId` is an Amazon-defined order identifier, in 3-7-7 format.", "required": true, "type": "string" } @@ -1089,10 +1065,6 @@ "$ref": "#/definitions/GetOrderBuyerInfoResponse" }, "headers": { - "x-amzn-RateLimit-Limit": { - "type": "string", - "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." - }, "x-amzn-RequestId": { "type": "string", "description": "Unique request reference identifier." @@ -1105,10 +1077,6 @@ "$ref": "#/definitions/GetOrderBuyerInfoResponse" }, "headers": { - "x-amzn-RateLimit-Limit": { - "type": "string", - "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." - }, "x-amzn-RequestId": { "type": "string", "description": "Unique request reference identifier." @@ -1121,10 +1089,6 @@ "$ref": "#/definitions/GetOrderBuyerInfoResponse" }, "headers": { - "x-amzn-RateLimit-Limit": { - "type": "string", - "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." - }, "x-amzn-RequestId": { "type": "string", "description": "Unique request reference identifier." @@ -1139,13 +1103,13 @@ "tags": [ "ordersV0" ], - "description": "Returns the shipping address for the order that you specify.\n\n**Usage Plan:**\n\n| Rate (requests per second) | Burst |\n| ---- | ---- |\n| 0.0167 | 20 |\n\nThe `x-amzn-RateLimit-Limit` response header returns the usage plan rate limits that were applied to the requested operation, when available. The table above indicates the default rate and burst values for this operation. Selling partners whose business demands require higher throughput may see higher rate and burst values then those shown here. For more information, see [Usage Plans and Rate Limits in the Selling Partner API](doc:usage-plans-and-rate-limits-in-the-sp-api).", + "description": "Returns the shipping address for the order that you specify.\n\n**Usage Plan:**\n\n| Rate (requests per second) | Burst |\n| ---- | ---- |\n| 0.5 | 30 |\n\nThe `x-amzn-RateLimit-Limit` response header returns the usage plan rate limits that were applied to the requested operation, when available. The table above indicates the default rate and burst values for this operation. Selling partners whose business demands require higher throughput may see higher rate and burst values then those shown here. For more information, refer to [Usage Plans and Rate Limits in the Selling Partner API](https://developer-docs.amazon.com/sp-api/docs/usage-plans-and-rate-limits-in-the-sp-api).", "operationId": "getOrderAddress", "parameters": [ { "name": "orderId", "in": "path", - "description": "An orderId is an Amazon-defined order identifier, in 3-7-7 format.", + "description": "An `orderId` is an Amazon-defined order identifier, in 3-7-7 format.", "required": true, "type": "string" } @@ -1281,10 +1245,6 @@ "$ref": "#/definitions/GetOrderAddressResponse" }, "headers": { - "x-amzn-RateLimit-Limit": { - "type": "string", - "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." - }, "x-amzn-RequestId": { "type": "string", "description": "Unique request reference identifier." @@ -1297,10 +1257,6 @@ "$ref": "#/definitions/GetOrderAddressResponse" }, "headers": { - "x-amzn-RateLimit-Limit": { - "type": "string", - "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." - }, "x-amzn-RequestId": { "type": "string", "description": "Unique request reference identifier." @@ -1312,15 +1268,227 @@ "schema": { "$ref": "#/definitions/GetOrderAddressResponse" }, + "headers": { + "x-amzn-RequestId": { + "type": "string", + "description": "Unique request reference identifier." + } + } + } + } + } + }, + "/orders/v0/orders/{orderId}/fulfillmentInstructions": { + "get": { + "tags": [ + "ordersV0" + ], + "description": "Returns the fulfillment instructions for the order that you specify.\n\n**Usage Plan:**\n\n| Rate (requests per second) | Burst |\n| ---- | ---- |\n| 0.5 | 20 |\n\nThe `x-amzn-RateLimit-Limit` response header returns the usage plan rate limits that were applied to the requested operation, when available. The table above indicates the default rate and burst values for this operation. Selling partners whose business demands require higher throughput may see higher rate and burst values then those shown here. For more information, refer to [Usage Plans and Rate Limits in the Selling Partner API](https://developer-docs.amazon.com/sp-api/docs/usage-plans-and-rate-limits-in-the-sp-api).", + "operationId": "getOrderFulfillmentInstructions", + "parameters": [ + { + "name": "orderId", + "in": "path", + "description": "An Amazon-defined order identifier, in 3-7-7 format.", + "required": true, + "type": "string" + } + ], + "responses": { + "200": { + "description": "Success.", + "schema": { + "$ref": "#/definitions/GetOrderFulfillmentInstructionsResponse" + }, + "examples": { + "application/json":{ + "payload": { + "AmazonOrderId": "902-3159896-1390916", + "FulfillmentPlans": [ + { + "CreationDate": "2023-10-25T12:00:00Z", + "FulfillmentPlanId" : "1", + "FulfillmentType" : "SHIP", + "FulfillmentPlanStatus": "ACTIVE", + "LastStatusUpdateDate" : "2023-10-25T12:00:00Z", + "FulfillmentPlanItems": [ + { + "OrderItemId": "6217867064725", + "Measurement" : { + "Unit" : "COUNT", + "Value" : 20 + } + } + ], + "ShippingInstructions": { + "CarrierCode": "UPS", + "ShippingMethod": "Ground", + "ShippingConstraints" : { + "PalletDelivery" : "MANDATORY" + } + }, + "FulfillmentLocation": { + "SupplySourceId": "bb3e1352-a3b4-4b99-aeb7-b1a923837ef2" + } + } + ] + } + } + }, "headers": { "x-amzn-RateLimit-Limit": { "type": "string", - "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." + "description": "Your rate limit (requests per second) for this operation." }, "x-amzn-RequestId": { "type": "string", "description": "Unique request reference identifier." } + }, + "x-amzn-api-sandbox": { + "static": [ + { + "request": { + "parameters": { + "orderId": { + "value": "TEST_CASE_200" + } + } + }, + "response": { + "payload": { + "AmazonOrderId": "TEST_CASE_200", + "FulfillmentPlans": [{ + "CreationDate": "2023-10-25T12:00:00Z", + "FulfillmentPlanId" : "1", + "FulfillmentType" : "SHIP", + "FulfillmentPlanStatus": "ACTIVE", + "LastStatusUpdateDate" : "2023-10-25T12:00:00Z", + "FulfillmentPlanItems": [ + { + "OrderItemId": "6217867064725", + "Measurement" : { + "Unit" : "COUNT", + "Value" : 20 + } + } + ], + "ShippingInstructions": { + "CarrierCode": "UPS", + "ShippingMethod": "Ground", + "ShippingConstraints" : { + "PalletDelivery" : "MANDATORY" + } + }, + "FulfillmentLocation": { + "SupplySourceId": "bb3e1352-a3b4-4b99-aeb7-b1a923837ef2" + } + }] + } + } + } + ] + } + }, + "400": { + "description": "Request has missing or invalid parameters and cannot be parsed.", + "schema": { + "$ref": "#/definitions/GetOrderFulfillmentInstructionsResponse" + }, + "headers": { + "x-amzn-RateLimit-Limit": { + "type": "string", + "description": "Your rate limit (requests per second) for this operation." + }, + "x-amzn-RequestId": { + "type": "string", + "description": "Unique request reference identifier." + } + }, + "x-amzn-api-sandbox": { + "static": [ + { + "request": { + "parameters": { + "orderId": { + "value": "TEST_CASE_400" + } + } + }, + "response": { + "errors": [ + { + "code": "InvalidInput", + "message": "Invalid Input" + } + ] + } + } + ] + } + }, + "403": { + "description": "Indicates access to the resource is forbidden. Possible reasons include Access Denied, Unauthorized, Expired Token, or Invalid Signature.", + "schema": { + "$ref": "#/definitions/GetOrderFulfillmentInstructionsResponse" + }, + "headers": { + "x-amzn-RequestId": { + "type": "string", + "description": "Unique request reference identifier." + } + } + }, + "404": { + "description": "The resource specified does not exist.", + "schema": { + "$ref": "#/definitions/GetOrderFulfillmentInstructionsResponse" + }, + "headers": { + "x-amzn-RateLimit-Limit": { + "type": "string", + "description": "Your rate limit (requests per second) for this operation." + }, + "x-amzn-RequestId": { + "type": "string", + "description": "Unique request reference identifier." + } + } + }, + "429": { + "description": "The frequency of requests was greater than allowed.", + "schema": { + "$ref": "#/definitions/GetOrderFulfillmentInstructionsResponse" + }, + "headers": { + "x-amzn-RequestId": { + "type": "string", + "description": "Unique request reference identifier." + } + } + }, + "500": { + "description": "An unexpected condition occurred that prevented the server from fulfilling the request.", + "schema": { + "$ref": "#/definitions/GetOrderFulfillmentInstructionsResponse" + }, + "headers": { + "x-amzn-RequestId": { + "type": "string", + "description": "Unique request reference identifier." + } + } + }, + "503": { + "description": "Temporary overloading or maintenance of the server.", + "schema": { + "$ref": "#/definitions/GetOrderFulfillmentInstructionsResponse" + }, + "headers": { + "x-amzn-RequestId": { + "type": "string", + "description": "Unique request reference identifier." + } } } } @@ -1331,7 +1499,7 @@ "tags": [ "ordersV0" ], - "description": "Returns detailed order item information for the order that you specify. If NextToken is provided, it's used to retrieve the next page of order items.\n\n__Note__: When an order is in the Pending state (the order has been placed but payment has not been authorized), the getOrderItems operation does not return information about pricing, taxes, shipping charges, gift status or promotions for the order items in the order. After an order leaves the Pending state (this occurs when payment has been authorized) and enters the Unshipped, Partially Shipped, or Shipped state, the getOrderItems operation returns information about pricing, taxes, shipping charges, gift status and promotions for the order items in the order.\n\n**Usage Plan:**\n\n| Rate (requests per second) | Burst |\n| ---- | ---- |\n| 0.5 | 30 |\n\nThe `x-amzn-RateLimit-Limit` response header returns the usage plan rate limits that were applied to the requested operation, when available. The table above indicates the default rate and burst values for this operation. Selling partners whose business demands require higher throughput may see higher rate and burst values then those shown here. For more information, see [Usage Plans and Rate Limits in the Selling Partner API](doc:usage-plans-and-rate-limits-in-the-sp-api).", + "description": "Returns detailed order item information for the order that you specify. If `NextToken` is provided, it's used to retrieve the next page of order items.\n\n**Note**: When an order is in the Pending state (the order has been placed but payment has not been authorized), the `getOrderItems` operation does not return information about pricing, taxes, shipping charges, gift status or promotions for the order items in the order. After an order leaves the Pending state (this occurs when payment has been authorized) and enters the `Unshipped`, `Partially Shipped`, or `Shipped` state, the `getOrderItems` operation returns information about pricing, taxes, shipping charges, gift status and promotions for the order items in the order.\n\n**Usage Plan:**\n\n| Rate (requests per second) | Burst |\n| ---- | ---- |\n| 0.5 | 30 |\n\nThe `x-amzn-RateLimit-Limit` response header returns the usage plan rate limits that were applied to the requested operation, when available. The table above indicates the default rate and burst values for this operation. Selling partners whose business demands require higher throughput may see higher rate and burst values then those shown here. For more information, refer to [Usage Plans and Rate Limits in the Selling Partner API](https://developer-docs.amazon.com/sp-api/docs/usage-plans-and-rate-limits-in-the-sp-api).", "operationId": "getOrderItems", "parameters": [ { @@ -1406,7 +1574,7 @@ "GiftWrapLevel": "Classic" }, "BuyerRequestedCancel": { - "IsBuyerRequestedCancel": true, + "IsBuyerRequestedCancel": "true", "BuyerCancelReason": "Found cheaper somewhere else." }, "SerialNumbers": ["854"] @@ -1440,7 +1608,7 @@ "GiftWrapLevel": "Classic" }, "BuyerRequestedCancel": { - "IsBuyerRequestedCancel": true, + "IsBuyerRequestedCancel": "true", "BuyerCancelReason": "Found cheaper somewhere else." } } @@ -1480,7 +1648,7 @@ "QuantityOrdered": 1, "QuantityShipped": 0, "ProductInfo": { - "NumberOfItems": 1 + "NumberOfItems": "1" }, "ItemPrice": { "CurrencyCode": "USD", @@ -1494,7 +1662,7 @@ "CurrencyCode": "USD", "Amount": "0.00" }, - "IsGift": false, + "IsGift": "false", "ConditionId": "New", "ConditionSubtypeId": "New", "IsTransparency": false, @@ -1503,7 +1671,7 @@ "DeemedResellerCategory": "IOSS", "StoreChainStoreId": "ISPU_StoreId", "BuyerRequestedCancel": { - "IsBuyerRequestedCancel": true, + "IsBuyerRequestedCancel": "true", "BuyerCancelReason": "Found cheaper somewhere else." } } @@ -1585,10 +1753,6 @@ "$ref": "#/definitions/GetOrderItemsResponse" }, "headers": { - "x-amzn-RateLimit-Limit": { - "type": "string", - "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." - }, "x-amzn-RequestId": { "type": "string", "description": "Unique request reference identifier." @@ -1601,10 +1765,6 @@ "$ref": "#/definitions/GetOrderItemsResponse" }, "headers": { - "x-amzn-RateLimit-Limit": { - "type": "string", - "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." - }, "x-amzn-RequestId": { "type": "string", "description": "Unique request reference identifier." @@ -1617,10 +1777,6 @@ "$ref": "#/definitions/GetOrderItemsResponse" }, "headers": { - "x-amzn-RateLimit-Limit": { - "type": "string", - "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." - }, "x-amzn-RequestId": { "type": "string", "description": "Unique request reference identifier." @@ -1635,7 +1791,7 @@ "tags": [ "ordersV0" ], - "description": "Returns buyer information for the order items in the order that you specify.\n\n**Usage Plan:**\n\n| Rate (requests per second) | Burst |\n| ---- | ---- |\n| 0.5 | 30 |\n\nThe `x-amzn-RateLimit-Limit` response header returns the usage plan rate limits that were applied to the requested operation, when available. The table above indicates the default rate and burst values for this operation. Selling partners whose business demands require higher throughput may see higher rate and burst values then those shown here. For more information, see [Usage Plans and Rate Limits in the Selling Partner API](doc:usage-plans-and-rate-limits-in-the-sp-api).", + "description": "Returns buyer information for the order items in the order that you specify.\n\n**Usage Plan:**\n\n| Rate (requests per second) | Burst |\n| ---- | ---- |\n| 0.5 | 30 |\n\nThe `x-amzn-RateLimit-Limit` response header returns the usage plan rate limits that were applied to the requested operation, when available. The table above indicates the default rate and burst values for this operation. Selling partners whose business demands require higher throughput may see higher rate and burst values then those shown here. For more information, refer to [Usage Plans and Rate Limits in the Selling Partner API](https://developer-docs.amazon.com/sp-api/docs/usage-plans-and-rate-limits-in-the-sp-api).", "operationId": "getOrderItemsBuyerInfo", "parameters": [ { @@ -1788,10 +1944,6 @@ "$ref": "#/definitions/GetOrderItemsBuyerInfoResponse" }, "headers": { - "x-amzn-RateLimit-Limit": { - "type": "string", - "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." - }, "x-amzn-RequestId": { "type": "string", "description": "Unique request reference identifier." @@ -1804,10 +1956,6 @@ "$ref": "#/definitions/GetOrderItemsBuyerInfoResponse" }, "headers": { - "x-amzn-RateLimit-Limit": { - "type": "string", - "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." - }, "x-amzn-RequestId": { "type": "string", "description": "Unique request reference identifier." @@ -1820,10 +1968,6 @@ "$ref": "#/definitions/GetOrderItemsBuyerInfoResponse" }, "headers": { - "x-amzn-RateLimit-Limit": { - "type": "string", - "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." - }, "x-amzn-RequestId": { "type": "string", "description": "Unique request reference identifier." @@ -1838,7 +1982,7 @@ "tags": [ "shipment" ], - "description": "Update the shipment status for an order that you specify.\n\n**Usage Plan:**\n\n| Rate (requests per second) | Burst |\n| ---- | ---- |\n| 5 | 15 |\n\nThe `x-amzn-RateLimit-Limit` response header returns the usage plan rate limits that were applied to the requested operation, when available. The table above indicates the default rate and burst values for this operation. Selling partners whose business demands require higher throughput may see higher rate and burst values then those shown here. For more information, see [Usage Plans and Rate Limits in the Selling Partner API](doc:usage-plans-and-rate-limits-in-the-sp-api).", + "description": "Update the shipment status for an order that you specify.\n\n**Usage Plan:**\n\n| Rate (requests per second) | Burst |\n| ---- | ---- |\n| 5 | 15 |\n\nThe `x-amzn-RateLimit-Limit` response header returns the usage plan rate limits that were applied to the requested operation, when available. The table above indicates the default rate and burst values for this operation. Selling partners whose business demands require higher throughput may see higher rate and burst values then those shown here. For more information, refer to [Usage Plans and Rate Limits in the Selling Partner API](https://developer-docs.amazon.com/sp-api/docs/usage-plans-and-rate-limits-in-the-sp-api).", "operationId": "updateShipmentStatus", "parameters": [ { @@ -1851,7 +1995,7 @@ { "name": "payload", "in": "body", - "description": "The request body for the updateShipmentStatus operation.", + "description": "The request body for the `updateShipmentStatus` operation.", "required": true, "schema": { "$ref": "#/definitions/UpdateShipmentStatusRequest" @@ -2019,13 +2163,13 @@ "tags": [ "ordersV0" ], - "description": "Returns regulated information for the order that you specify.\n\n**Usage Plan:**\n\n| Rate (requests per second) | Burst |\n| ---- | ---- |\n| 0.5 | 30 |\n\nThe `x-amzn-RateLimit-Limit` response header returns the usage plan rate limits that were applied to the requested operation, when available. The table above indicates the default rate and burst values for this operation. Selling partners whose business demands require higher throughput may see higher rate and burst values then those shown here. For more information, see [Usage Plans and Rate Limits in the Selling Partner API](doc:usage-plans-and-rate-limits-in-the-sp-api).", + "description": "Returns regulated information for the order that you specify.\n\n**Usage Plan:**\n\n| Rate (requests per second) | Burst |\n| ---- | ---- |\n| 0.5 | 30 |\n\nThe `x-amzn-RateLimit-Limit` response header returns the usage plan rate limits that were applied to the requested operation, when available. The table above indicates the default rate and burst values for this operation. Selling partners whose business demands require higher throughput may see higher rate and burst values then those shown here. For more information, refer to [Usage Plans and Rate Limits in the Selling Partner API](https://developer-docs.amazon.com/sp-api/docs/usage-plans-and-rate-limits-in-the-sp-api).", "operationId": "getOrderRegulatedInfo", "parameters": [ { "name": "orderId", "in": "path", - "description": "An orderId is an Amazon-defined order identifier, in 3-7-7 format.", + "description": "An Amazon-defined order identifier, in 3-7-7 format.", "required": true, "type": "string" } @@ -2311,20 +2455,20 @@ "tags": [ "ordersV0" ], - "description": "Updates (approves or rejects) the verification status of an order containing regulated products.\n\n**Usage Plan:**\n\n| Rate (requests per second) | Burst |\n| ---- | ---- |\n| 0.5 | 30 |\n\nThe `x-amzn-RateLimit-Limit` response header returns the usage plan rate limits that were applied to the requested operation, when available. The table above indicates the default rate and burst values for this operation. Selling partners whose business demands require higher throughput may see higher rate and burst values then those shown here. For more information, see [Usage Plans and Rate Limits in the Selling Partner API](doc:usage-plans-and-rate-limits-in-the-sp-api).", + "description": "Updates (approves or rejects) the verification status of an order containing regulated products.\n\n**Usage Plan:**\n\n| Rate (requests per second) | Burst |\n| ---- | ---- |\n| 0.5 | 30 |\n\nThe `x-amzn-RateLimit-Limit` response header returns the usage plan rate limits that were applied to the requested operation, when available. The table above indicates the default rate and burst values for this operation. Selling partners whose business demands require higher throughput may see higher rate and burst values then those shown here. For more information, refer to [Usage Plans and Rate Limits in the Selling Partner API](https://developer-docs.amazon.com/sp-api/docs/usage-plans-and-rate-limits-in-the-sp-api).", "operationId": "updateVerificationStatus", "parameters": [ { "name": "orderId", "in": "path", - "description": "An orderId is an Amazon-defined order identifier, in 3-7-7 format.", + "description": "An Amazon-defined order identifier, in 3-7-7 format.", "required": true, "type": "string" }, { "name": "payload", "in": "body", - "description": "The request body for the updateVerificationStatus operation.", + "description": "The request body for the `updateVerificationStatus` operation.", "required": true, "schema": { "$ref": "#/definitions/UpdateVerificationStatusRequest" @@ -2537,7 +2681,7 @@ "tags": [ "ordersV0" ], - "description": "Updates the shipment confirmation status for a specified order.\n\n**Usage Plan:**\n\n| Rate (requests per second) | Burst |\n| ---- | ---- |\n| 2 | 10 |\n\nThe `x-amzn-RateLimit-Limit` response header returns the usage plan rate limits that were applied to the requested operation, when available. The table above indicates the default rate and burst values for this operation. Selling partners whose business demands require higher throughput may see higher rate and burst values then those shown here. For more information, see [Usage Plans and Rate Limits in the Selling Partner API](doc:usage-plans-and-rate-limits-in-the-sp-api).", + "description": "Updates the shipment confirmation status for a specified order.\n\n**Usage Plan:**\n\n| Rate (requests per second) | Burst |\n| ---- | ---- |\n| 2 | 10 |\n\nThe `x-amzn-RateLimit-Limit` response header returns the usage plan rate limits that were applied to the requested operation, when available. The table above indicates the default rate and burst values for this operation. Selling partners whose business demands require higher throughput may see higher rate and burst values then those shown here. For more information, refer to [Usage Plans and Rate Limits in the Selling Partner API](https://developer-docs.amazon.com/sp-api/docs/usage-plans-and-rate-limits-in-the-sp-api).", "operationId": "confirmShipment", "parameters": [ { @@ -2550,7 +2694,7 @@ { "name": "payload", "in": "body", - "description": "Request body of confirmShipment.", + "description": "The request body of the `confirmShipment` operation.", "required": true, "schema": { "$ref": "#/definitions/ConfirmShipmentRequest" @@ -2675,10 +2819,6 @@ "$ref": "#/definitions/ConfirmShipmentErrorResponse" }, "headers": { - "x-amzn-RateLimit-Limit": { - "type": "string", - "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." - }, "x-amzn-RequestId": { "type": "string", "description": "Unique request reference identifier." @@ -2719,10 +2859,6 @@ "$ref": "#/definitions/ConfirmShipmentErrorResponse" }, "headers": { - "x-amzn-RateLimit-Limit": { - "type": "string", - "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." - }, "x-amzn-RequestId": { "type": "string", "description": "Unique request reference identifier." @@ -2735,10 +2871,6 @@ "$ref": "#/definitions/ConfirmShipmentErrorResponse" }, "headers": { - "x-amzn-RateLimit-Limit": { - "type": "string", - "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." - }, "x-amzn-RequestId": { "type": "string", "description": "Unique request reference identifier." @@ -2751,10 +2883,6 @@ "$ref": "#/definitions/ConfirmShipmentErrorResponse" }, "headers": { - "x-amzn-RateLimit-Limit": { - "type": "string", - "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." - }, "x-amzn-RequestId": { "type": "string", "description": "Unique request reference identifier." @@ -2767,7 +2895,7 @@ }, "definitions": { "UpdateShipmentStatusRequest": { - "description": "The request body for the updateShipmentStatus operation.", + "description": "The request body for the `updateShipmentStatus` operation.", "type": "object", "properties": { "marketplaceId": { @@ -2786,11 +2914,11 @@ ] }, "UpdateVerificationStatusRequest": { - "description": "The request body for the updateVerificationStatus operation.", + "description": "The request body for the `updateVerificationStatus` operation.", "type": "object", "properties": { "regulatedOrderVerificationStatus": { - "description": "The updated values of the VerificationStatus field.", + "description": "The updated values of the `VerificationStatus` field.", "$ref": "#/definitions/UpdateVerificationStatusRequestBody" } }, @@ -2799,7 +2927,7 @@ ] }, "UpdateVerificationStatusRequestBody": { - "description": "The updated values of the VerificationStatus field.", + "description": "The updated values of the `VerificationStatus` field.", "type": "object", "properties": { "status": { @@ -2868,119 +2996,133 @@ "type": "object", "properties": { "errors": { - "description": "One or more unexpected errors occurred during the UpdateShipmentStatus operation.", + "description": "One or more unexpected errors occurred during the `UpdateShipmentStatus` operation.", "$ref": "#/definitions/ErrorList" } }, - "description": "The error response schema for the UpdateShipmentStatus operation." + "description": "The error response schema for the `UpdateShipmentStatus` operation." }, "UpdateVerificationStatusErrorResponse": { "type": "object", "properties": { "errors": { - "description": "One or more unexpected errors occurred during the UpdateVerificationStatus operation.", + "description": "One or more unexpected errors occurred during the `UpdateVerificationStatus` operation.", "$ref": "#/definitions/ErrorList" } }, - "description": "The error response schema for the UpdateVerificationStatus operation." + "description": "The error response schema for the `UpdateVerificationStatus` operation." }, "GetOrdersResponse": { "type": "object", "properties": { "payload": { - "description": "The payload for the getOrders operation.", + "description": "The payload for the `getOrders` operation.", "$ref": "#/definitions/OrdersList" }, "errors": { - "description": "One or more unexpected errors occurred during the getOrders operation.", + "description": "One or more unexpected errors occurred during the `getOrders` operation.", "$ref": "#/definitions/ErrorList" } }, - "description": "The response schema for the getOrders operation." + "description": "The response schema for the `getOrders` operation." }, "GetOrderResponse": { "type": "object", "properties": { "payload": { - "description": "The payload for the getOrder operation.", + "description": "The payload for the `getOrder` operation.", "$ref": "#/definitions/Order" }, "errors": { - "description": "One or more unexpected errors occurred during the getOrder operation.", + "description": "One or more unexpected errors occurred during the `getOrder` operation.", "$ref": "#/definitions/ErrorList" } }, - "description": "The response schema for the getOrder operation." + "description": "The response schema for the `getOrder` operation." }, "GetOrderBuyerInfoResponse": { "type": "object", "properties": { "payload": { - "description": "The payload for the getOrderBuyerInfo operation.", + "description": "The payload for the `getOrderBuyerInfo` operation.", "$ref": "#/definitions/OrderBuyerInfo" }, "errors": { - "description": "One or more unexpected errors occurred during the getOrderBuyerInfo operation.", + "description": "One or more unexpected errors occurred during the `getOrderBuyerInfo` operation.", "$ref": "#/definitions/ErrorList" } }, - "description": "The response schema for the getOrderBuyerInfo operation." + "description": "The response schema for the `getOrderBuyerInfo` operation." }, "GetOrderRegulatedInfoResponse": { "type": "object", "properties": { "payload": { - "description": "The payload for the getOrderRegulatedInfo operation.", + "description": "The payload for the `getOrderRegulatedInfo` operation.", "$ref": "#/definitions/OrderRegulatedInfo" }, "errors": { - "description": "One or more unexpected errors occurred during the getOrderRegulatedInfo operation.", + "description": "One or more unexpected errors occurred during the `getOrderRegulatedInfo` operation.", "$ref": "#/definitions/ErrorList" } }, - "description": "The response schema for the getOrderRegulatedInfo operation." + "description": "The response schema for the `getOrderRegulatedInfo` operation." }, "GetOrderAddressResponse": { "type": "object", "properties": { "payload": { - "description": "The payload for the getOrderAddress operations.", + "description": "The payload for the `getOrderAddress` operations.", "$ref": "#/definitions/OrderAddress" }, "errors": { - "description": "One or more unexpected errors occurred during the getOrderAddress operation.", + "description": "One or more unexpected errors occurred during the `getOrderAddress` operation.", "$ref": "#/definitions/ErrorList" } }, - "description": "The response schema for the getOrderAddress operation." + "description": "The response schema for the `getOrderAddress` operation." }, "GetOrderItemsResponse": { "type": "object", "properties": { "payload": { - "description": "The payload for the getOrderItems operation.", + "description": "The payload for the `getOrderItems` operation.", "$ref": "#/definitions/OrderItemsList" }, "errors": { - "description": "One or more unexpected errors occurred during the getOrderItems operation.", + "description": "One or more unexpected errors occurred during the `getOrderItems` operation.", "$ref": "#/definitions/ErrorList" } }, - "description": "The response schema for the getOrderItems operation." + "description": "The response schema for the `getOrderItems` operation." }, "GetOrderItemsBuyerInfoResponse": { "type": "object", "properties": { "payload": { - "description": "The payload for the getOrderItemsBuyerInfo operation.", + "description": "The payload for the `getOrderItemsBuyerInfo` operation.", "$ref": "#/definitions/OrderItemsBuyerInfoList" }, "errors": { - "description": "One or more unexpected errors occurred during the getOrderItemsBuyerInfo operation.", + "description": "One or more unexpected errors occurred during the `getOrderItemsBuyerInfo` operation.", + "$ref": "#/definitions/ErrorList" + } + }, + "description": "The response schema for the `getOrderItemsBuyerInfo` operation." + }, + "GetOrderFulfillmentInstructionsResponse": { + "type": "object", + "properties": { + "payload" : { + "description": "The payload for the `getOrderFulfillmentInstructions` operation.", + "$ref": "#/definitions/FulfillmentInstructions" + }, + "errors": { + "description": "One or more unexpected errors occurred during the `getOrderFulfillmentInstructions` operation.", "$ref": "#/definitions/ErrorList" } }, - "description": "The response schema for the getOrderItemsBuyerInfo operation." + "description": "The response schema for the `getOrderFulfillmentInstructions` operation." }, "OrdersList": { "type": "object", @@ -3036,7 +3178,7 @@ }, "LastUpdateDate": { "type": "string", - "description": "The date when the order was last updated.\n\n__Note__: LastUpdateDate is returned with an incorrect date for orders that were last updated before 2009-04-01." + "description": "The date when the order was last updated.\n\n**Note**: `LastUpdateDate` is returned with an incorrect date for orders that were last updated before 2009-04-01." }, "OrderStatus": { "type": "string", @@ -3129,12 +3271,12 @@ "description": "The number of items unshipped." }, "PaymentExecutionDetail": { - "description": "Information about sub-payment methods for a Cash On Delivery (COD) order.\n\n__Note__: For a COD order that is paid for using one sub-payment method, one PaymentExecutionDetailItem object is returned, with PaymentExecutionDetailItem/PaymentMethod = COD. For a COD order that is paid for using multiple sub-payment methods, two or more PaymentExecutionDetailItem objects are returned.", + "description": "Information about sub-payment methods for a Cash On Delivery (COD) order.\n\n**Note**: For a COD order that is paid for using one sub-payment method, one `PaymentExecutionDetailItem` object is returned, with `PaymentExecutionDetailItem`/`PaymentMethod` = COD. For a COD order that is paid for using multiple sub-payment methods, two or more `PaymentExecutionDetailItem` objects are returned.", "$ref": "#/definitions/PaymentExecutionDetailItemList" }, "PaymentMethod": { "type": "string", - "description": "The payment method for the order. This property is limited to Cash On Delivery (COD) and Convenience Store (CVS) payment methods. Unless you need the specific COD payment information provided by the PaymentExecutionDetailItem object, we recommend using the PaymentMethodDetails property to get payment method information.", + "description": "The payment method for the order. This property is limited to Cash On Delivery (COD) and Convenience Store (CVS) payment methods. Unless you need the specific COD payment information provided by the `PaymentExecutionDetailItem` object, we recommend using the `PaymentMethodDetails` property to get payment method information.", "enum": [ "COD", "CVS", @@ -3165,7 +3307,7 @@ }, "ShipmentServiceLevelCategory": { "type": "string", - "description": "The shipment service level category of the order.\n\nPossible values: Expedited, FreeEconomy, NextDay, Priority, SameDay, SecondDay, Scheduled, Standard." + "description": "The shipment service level category of the order.\n\n**Possible values**: `Expedited`, `FreeEconomy`, `NextDay`, `Priority`, `SameDay`, `SecondDay`, `Scheduled`, `Standard`." }, "EasyShipShipmentStatus": { "description": "The status of the Amazon Easy Ship order. This property is included only for Amazon Easy Ship orders.", @@ -3210,11 +3352,11 @@ }, "EarliestShipDate": { "type": "string", - "description": "The start of the time period within which you have committed to ship the order. In ISO 8601 date time format. Returned only for seller-fulfilled orders.\n\n__Note__: EarliestShipDate might not be returned for orders placed before February 1, 2013." + "description": "The start of the time period within which you have committed to ship the order. In ISO 8601 date time format. Returned only for seller-fulfilled orders.\n\n**Note**: `EarliestShipDate` might not be returned for orders placed before February 1, 2013." }, "LatestShipDate": { "type": "string", - "description": "The end of the time period within which you have committed to ship the order. In ISO 8601 date time format. Returned only for seller-fulfilled orders.\n\n__Note__: LatestShipDate might not be returned for orders placed before February 1, 2013." + "description": "The end of the time period within which you have committed to ship the order. In ISO 8601 date time format. Returned only for seller-fulfilled orders.\n\n**Note**: `LatestShipDate` might not be returned for orders placed before February 1, 2013." }, "EarliestDeliveryDate": { "type": "string", @@ -3222,7 +3364,7 @@ }, "LatestDeliveryDate": { "type": "string", - "description": "The end of the time period within which you have committed to fulfill the order. In ISO 8601 date time format. Returned only for seller-fulfilled orders that do not have a PendingAvailability, Pending, or Canceled status." + "description": "The end of the time period within which you have committed to fulfill the order. In ISO 8601 date time format. Returned only for seller-fulfilled orders that do not have a `PendingAvailability`, Pending, or Canceled status." }, "IsBusinessOrder": { "type": "boolean", @@ -3242,7 +3384,7 @@ }, "ReplacedOrderId": { "type": "string", - "description": "The order ID value for the order that is being replaced. Returned only if IsReplacementOrder = true." + "description": "The order ID value for the order that is being replaced. Returned only if `IsReplacementOrder` = true." }, "IsReplacementOrder": { "type": "boolean", @@ -3254,7 +3396,7 @@ }, "IsEstimatedShipDateSet": { "type": "boolean", - "description": "When true, the estimated ship date is set for the order. Returned only for Sourcing on Demand orders." + "description": "When true, the estimated ship date is specified for the order. Returned only for Sourcing on Demand orders." }, "IsSoldByAB": { "type": "boolean", @@ -3281,13 +3423,13 @@ }, { "value": "BUSINESS", - "description": "Buyer should be issued a business invoice. Tax information is available in BuyerTaxInformation structure." + "description": "Buyer should be issued a business invoice. Tax information is available in `BuyerTaxInformation` structure." } ], - "description": "The buyer's invoicing preference. Available only in the TR marketplace." + "description": "The buyer's invoicing preference. Sellers can use this data to issue electronic invoices for orders in Turkey.\n\n**Note**: This attribute is only available in the Turkey marketplace." }, "BuyerTaxInformation": { - "description": "Contains the business invoice tax information.", + "description": "Contains the business invoice tax information. Sellers can use this data to issue electronic invoices for business orders in Turkey.\n\n**Note**:\n1. This attribute is only available in the Turkey marketplace for the orders that `BuyerInvoicePreference` is BUSINESS.\n2. The `BuyerTaxInformation` is a restricted data. Use a Restricted Data Token (RDT) and restricted Selling Partner API roles to access this restricted data.", "$ref": "#/definitions/BuyerTaxInformation" }, "FulfillmentInstruction": { @@ -3303,17 +3445,19 @@ "description": "When true, this order is marked to be delivered to an Access Point. The access location is chosen by the customer. Access Points include Amazon Hub Lockers, Amazon Hub Counters, and pickup points operated by carriers." }, "MarketplaceTaxInfo": { - "description": "Tax information about the marketplace.", + "description": "Tax information about the marketplace where the sale took place. Sellers can use this data to issue electronic invoices for orders in Brazil.\n\n**Note**: This attribute is only available in the Brazil marketplace for the orders with `Pending` or `Unshipped` status.", "$ref": "#/definitions/MarketplaceTaxInfo" }, "SellerDisplayName": { "type": "string", - "description": "The seller’s friendly name registered in the marketplace." + "description": "The seller’s friendly name registered in the marketplace where the sale took place. Sellers can use this data to issue electronic invoices for orders in Brazil.\n\n**Note**: This attribute is only available in the Brazil marketplace for the orders with `Pending` or `Unshipped` status." }, "ShippingAddress": { + "description": "The shipping address for the order.\n\n**Note**:\n1. `ShippingAddress` is only available for orders with the following status values: `Unshipped`, `PartiallyShipped`, `Shipped` and `InvoiceUnconfirmed`.\n2. The `ShippingAddress` contains restricted data. Use a Restricted Data Token (RDT) and restricted Selling Partner API roles to access the restricted data in `ShippingAddress`, for example, `Name`, `AddressLine1`, `AddressLine2`, `AddressLine3`, `Phone`, `AddressType` and `ExtendedFields`.", "$ref": "#/definitions/Address" }, "BuyerInfo": { + "description": "Buyer information.\n\n**Note**: The `BuyerInfo` contains restricted data. Use a Restricted Data Token (RDT) and restricted Selling Partner API roles to access the restricted data in `BuyerInfo`, for example, `BuyerName`, `BuyerTaxInfo`, `PurchaseOrderNumber`.", "$ref": "#/definitions/BuyerInfo" }, "AutomatedShippingSettings": { @@ -3351,10 +3495,10 @@ }, "BuyerCounty": { "type": "string", - "description": "The county of the buyer." + "description": "The county of the buyer.\n\n**Note**: This attribute is only available in the Brazil marketplace." }, "BuyerTaxInfo": { - "description": "Tax information about the buyer.", + "description": "Tax information about the buyer. Sellers can use this data to issue electronic invoices for business orders.\n\n**Note**: This attribute is only available for business orders in the Brazil, Mexico and India marketplaces.", "$ref": "#/definitions/BuyerTaxInfo" }, "PurchaseOrderNumber": { @@ -3461,7 +3605,7 @@ "x-docgen-enum-table-extension": [ { "value": "Pending", - "description": "The order is pending approval. Note that the approval might be needed from someone other than the merchant as determined by the RequiresMerchantAction property." + "description": "The order is pending approval. Note that the approval might be needed from someone other than the merchant as determined by the `RequiresMerchantAction` property." }, { "value": "Approved", @@ -3535,7 +3679,7 @@ }, "FieldValue": { "type": "string", - "description": "The content of the field as collected in regulatory form. Note that FileAttachment type fields will contain a URL to download the attachment here." + "description": "The content of the field as collected in regulatory form. Note that `FileAttachment` type fields will contain a URL to download the attachment here." } } }, @@ -3551,9 +3695,10 @@ }, "BuyerCompanyName": { "type": "string", - "description": "Company Name of the Buyer." + "description": "The company name of the contact buyer. For Invoice By Amazon (IBA) orders, the buyer company should be Amazon entities." }, "ShippingAddress": { + "description": "The shipping address for the order.\n\n**Note**: `ShippingAddress` is only available for orders with the following status values: `Unshipped`, `PartiallyShipped`, `Shipped` and `InvoiceUnconfirmed`.", "$ref": "#/definitions/Address" }, "DeliveryPreferences": { @@ -3572,6 +3717,10 @@ "type": "string", "description": "The name." }, + "CompanyName": { + "type": "string", + "description": "The company name of the recipient.\n\n**Note**: This attribute is only available for shipping address." + }, "AddressLine1": { "type": "string", "description": "The street address." @@ -3586,7 +3735,7 @@ }, "City": { "type": "string", - "description": "The city " + "description": "The city." }, "County": { "type": "string", @@ -3614,9 +3763,10 @@ }, "Phone": { "type": "string", - "description": "The phone number. Not returned for Fulfillment by Amazon (FBA) orders." + "description": "The phone number of the buyer.\n\n**Note**: \n1. This attribute is only available for shipping address.\n2. The buyer `Phone` number is suppressed in some cases, including but not limited to \na. `Phone` is suppressed for all Fulfillment by Amazon (FBA) orders.\nb. `Phone` is suppressed for the shipped MFN(Fulfilled by the seller) order when current date is past Latest Delivery Date." }, "ExtendedFields": { + "description": "The container for address extended fields. For example, street name or street number.\n\nNote: Only available for Brazil shipping addresses.", "$ref": "#/definitions/AddressExtendedFields" }, "AddressType": { @@ -3660,7 +3810,7 @@ "description": "The neighborhood. It's smaller than a region and an integral part of an address. It is used in some countries like Brazil." } }, - "description": "The container for address extended fields. For example, street name or street number. Only available for Brazil shipping addresses as of now." + "description": "The container of extended address fields. For example, street name, street number. Only available with Brazil shipping addresses as of now." }, "DeliveryPreferences": { "type": "object", @@ -3875,7 +4025,7 @@ }, "PaymentMethod": { "type": "string", - "description": "A sub-payment method for a COD order.\n\nPossible values:\n* `COD`: Cash On Delivery.\n* `GC`: Gift Card.\n* `PointsAccount`: Amazon Points.\n* `Invoice`: Invoice." + "description": "A sub-payment method for a COD order.\n\n**Possible values**:\n* `COD`: Cash On Delivery.\n* `GC`: Gift Card.\n* `PointsAccount`: Amazon Points.\n* `Invoice`: Invoice." } }, "description": "Information about a sub-payment method used to pay for a COD order." @@ -4004,7 +4154,7 @@ "$ref": "#/definitions/PointsGrantedDetail" }, "ItemPrice": { - "description": "The selling price of the order item. Note that an order item is an item and a quantity. This means that the value of ItemPrice is equal to the selling price of the item multiplied by the quantity ordered. Note that ItemPrice excludes ShippingPrice and GiftWrapPrice.", + "description": "The selling price of the order item. An order item is an item and a quantity. This means that the value of `ItemPrice` is equal to the selling price of the item multiplied by the quantity ordered. Note that `ItemPrice` excludes `ShippingPrice` and `GiftWrapPrice`.", "$ref": "#/definitions/Money" }, "ShippingPrice": { @@ -4047,8 +4197,8 @@ "$ref": "#/definitions/Money" }, "IsGift": { - "type": "boolean", - "description": "When true, the item is a gift." + "type": "string", + "description": "Indicates whether the item is a gift.\n\n**Possible values**: `true`, `false`." }, "ConditionNote": { "type": "string", @@ -4056,11 +4206,11 @@ }, "ConditionId": { "type": "string", - "description": "The condition of the item.\n\nPossible values: New, Used, Collectible, Refurbished, Preorder, Club." + "description": "The condition of the item.\n\n**Possible values**: `New`, `Used`, `Collectible`, `Refurbished`, `Preorder`, `Club`." }, "ConditionSubtypeId": { "type": "string", - "description": "The subcondition of the item.\n\nPossible values: New, Mint, Very Good, Good, Acceptable, Poor, Club, OEM, Warranty, Refurbished Warranty, Refurbished, Open Box, Any, Other." + "description": "The subcondition of the item.\n\n**Possible values**: `New`, `Mint`, `Very Good`, `Good`, `Acceptable`, `Poor`, `Club`, `OEM`, `Warranty`, `Refurbished Warranty`, `Refurbished`, `Open Box`, `Any`, `Other`." }, "ScheduledDeliveryStartDate": { "type": "string", @@ -4072,7 +4222,7 @@ }, "PriceDesignation": { "type": "string", - "description": "Indicates that the selling price is a special price that is available only for Amazon Business orders. For more information about the Amazon Business Seller Program, see the [Amazon Business website](https://www.amazon.com/b2b/info/amazon-business). \n\nPossible values: BusinessPrice - A special price that is available only for Amazon Business orders." + "description": "Indicates that the selling price is a special price that is available only for Amazon Business orders. For more information about the Amazon Business Seller Program, refer to [Amazon Business](https://business.amazon.com). \n\n**Possible values**: `BusinessPrice` - A special price that is available only for Amazon Business orders." }, "TaxCollection": { "description": "Information about withheld taxes.", @@ -4113,6 +4263,7 @@ ] }, "BuyerInfo": { + "description": "A single item's buyer information.\n\n**Note**: The `BuyerInfo` contains restricted data. Use a Restricted Data Token (RDT) and restricted Selling Partner API roles to access the restricted data in `BuyerInfo`, for example, `BuyerCustomizedInfo` and `GiftMessageText`.", "$ref": "#/definitions/ItemBuyerInfo" }, "BuyerRequestedCancel": { @@ -4133,12 +4284,17 @@ "Measurement": { "description": "Measurement information for the order item.", "$ref": "#/definitions/Measurement" + }, + "ShippingConstraints" : { + "description" : "Shipping constraints applicable to this order.", + "$ref" : "#/definitions/ShippingConstraints" } }, "description": "A single order item." }, "SubstitutionPreferences": { "type": "object", + "description": "Substitution preferences for an order item.", "required": [ "SubstitutionType" ], @@ -4181,6 +4337,7 @@ }, "SubstitutionOption": { "type": "object", + "description": "Substitution options for an order item.", "properties": { "ASIN": { "type": "string", @@ -4206,6 +4363,7 @@ }, "Measurement": { "type": "object", + "description": "Measurement information for an order item.", "required": [ "Unit", "Value" @@ -4414,7 +4572,7 @@ "description": "An Amazon-defined order item identifier." }, "BuyerCustomizedInfo": { - "description": "Buyer information for custom orders from the Amazon Custom program.", + "description": "Buyer information for custom orders from the Amazon Custom program.\n\n**Note**: This attribute is only available for MFN (Fulfilled by the seller) orders.", "$ref": "#/definitions/BuyerCustomizedInfoDetail" }, "GiftWrapPrice": { @@ -4427,7 +4585,7 @@ }, "GiftMessageText": { "type": "string", - "description": "A gift message provided by the buyer." + "description": "A gift message provided by the buyer.\n\n**Note**: This attribute is only available for MFN (Fulfilled by the seller) orders." }, "GiftWrapLevel": { "type": "string", @@ -4454,7 +4612,7 @@ "type": "object", "properties": { "NumberOfItems": { - "type": "integer", + "type": "string", "description": "The total number of items that are included in the ASIN." } }, @@ -4502,7 +4660,7 @@ "x-docgen-enum-table-extension": [ { "value": "Amazon Services, Inc.", - "description": "Amazon Services, Inc." + "description": "The `MarketplaceFacilitator` entity for the US marketplace." } ] } @@ -4535,12 +4693,225 @@ "type": "object", "properties": { "FulfillmentSupplySourceId": { - "description": "Denotes the recommended sourceId where the order should be fulfilled from.", + "description": "Denotes the recommended `sourceId` where the order should be fulfilled from.", "type": "string" } }, "description": "Contains the instructions about the fulfillment like where should it be fulfilled from." }, + "FulfillmentInstructions": { + "type": "object", + "description": "Contains all fulfillment plans for the order", + "required": [ + "AmazonOrderId" + ], + "properties": { + "FulfillmentPlans": { + "type": "array", + "description": "List of all fulfillment plans for the given order id", + "items": { + "$ref": "#/definitions/FulfillmentPlan" + } + }, + "AmazonOrderId": { + "type": "string", + "description": "An Amazon-defined order identifier, in 3-7-7 format." + } + } + }, + "FulfillmentPlan": { + "type": "object", + "description": "A collection of order items that are to be fulfilled from the same location with the same shipping, pickup, and service instructions", + "required": [ + "FulfillmentPlanId", + "CreationDate", + "FulfillmentType", + "FulfillmentPlanStatus", + "LastStatusUpdateDate", + "FulfillmentPlanItems" + ], + "properties": { + "FulfillmentPlanId": { + "type": "string", + "description": "Unique identifier of a fulfillment plan" + }, + "CreationDate": { + "type": "string", + "description": "Time when the fulfillment plan was created in ISO 8601 format" + }, + "FulfillmentType": { + "type": "string", + "description": "Type of fulfillment", + "enum": [ + "INSTORE_PICKUP", + "SERVICE", + "SHIP" + ], + "x-docgen-enum-table-extension": [ + { + "value": "INSTORE_PICKUP", + "description": "Buyer picks up items in plan from store" + }, + { + "value": "SERVICE", + "description": "Services that are performed for the buyer, such as assembly" + }, + { + "value": "SHIP", + "description": "Shipped by seller through detailed ship method" + } + ] + }, + "FulfillmentPlanStatus": { + "type": "string", + "description": "Status of the fulfillment plan", + "enum": [ + "ACTIVE", + "ABORTED", + "COMPLETED", + "PARTIALLY_FULFILLED" + ], + "x-docgen-enum-table-extension": [ + { + "value": "ACTIVE", + "description": "The plan is ready to be fulfilled" + }, + { + "value": "ABORTED", + "description": "Plan was canceled, either through order canceling or replanning of shipment." + }, + { + "value": "COMPLETED", + "description": "Plan has been fulfilled and completed" + }, + { + "value": "PARTIALLY_FULFILLED", + "description": "Plan has been partially fulfilled" + } + ] + }, + "LastStatusUpdateDate": { + "type": "string", + "description": "Time when the fulfillment plan's status was last updated in ISO 8601 Format" + }, + "FulfillmentLocation": { + "description": "Represents a location from which the plan is to be fulfilled", + "$ref": "#/definitions/FulfillmentLocation" + }, + "ShippingInstructions": { + "description": "Represents shipping related information of a delivery", + "$ref": "#/definitions/ShippingInstructions" + }, + "FulfillmentPlanItems": { + "description": "Represents the details of order items that are included in the fulfillment plan", + "type": "array", + "items": { + "$ref": "#/definitions/FulfillmentPlanItem" + } + } + } + }, + "FulfillmentLocation": { + "type": "object", + "description": "Represents a location from which the plan is to be fulfilled", + "properties": { + "SupplySourceId": { + "type": "string", + "description": "The fulfillment location identifier" + } + } + }, + "ShippingInstructions": { + "type": "object", + "description": "Represents shipping related information of a delivery", + "properties": { + "CarrierCode": { + "description": "Carrier Name that will deliver the package.", + "type": "string" + }, + "ShippingMethod": { + "description": "Ship method to be used for shipping the order", + "type": "string" + }, + "ShippingConstraints": { + "description": "Models constraints around shipping", + "$ref": "#/definitions/FulfillmentPlanShippingConstraints" + } + } + }, + "ShippingConstraints": { + "type": "object", + "description": "Delivery constraints applicable to this order.", + "properties": { + "PalletDelivery": { + "description": "Indicates if the line item needs to be delivered by pallet", + "$ref": "#/definitions/ConstraintType" + } + } + }, + "ConstraintType": { + "type": "string", + "description": "Details the importance of the constraint present on the item", + "enum": [ + "MANDATORY" + ], + "x-docgen-enum-table-extension": [ + { + "value": "MANDATORY", + "description": "Item must follow the constraint to ensure order is met with buyer's delivery requirements." + } + ] + }, + "FulfillmentPlanShippingConstraints": { + "type": "object", + "description" :"Delivery constraints applicable to this order.", + "properties" : { + "PalletDelivery": { + "description": "Indicates if the line item needs to be delivered by pallet", + "$ref": "#/definitions/FulfillmentPlanConstraintType" + }, + "SignatureConfirmation": { + "description": "Indicates if the line item needs to be shipped with delivery confirmation services", + "$ref": "#/definitions/FulfillmentPlanConstraintType" + } + } + }, + "FulfillmentPlanConstraintType": { + "type": "string", + "description" :"Details the importance of the constraint present on the item", + "enum": [ + "MANDATORY", + "RECOMMENDED" + ], + "x-docgen-enum-table-extension": [ + { + "value": "MANDATORY", + "description": "Item must follow the constraint to ensure order is met with buyer's delivery requirements." + }, + { + "value": "RECOMMENDED", + "description": "Item is recommended to follow the constraint to ensure order is met with buyer's delivery requirements." + } + ] + }, + "FulfillmentPlanItem": { + "type": "object", + "description": "The order items associated with this fulfillment plan", + "required": [ + "OrderItemId", + "Measurement" + ], + "properties": { + "OrderItemId": { + "type": "string", + "description": "An Amazon-defined associated order item's order item identifier." + }, + "Measurement": { + "description": "Measurement information for the order item.", + "$ref": "#/definitions/Measurement" + } + } + }, "BuyerInfo": { "type": "object", "properties": { @@ -4554,10 +4925,10 @@ }, "BuyerCounty": { "type": "string", - "description": "The county of the buyer." + "description": "The county of the buyer.\n\n**Note**: This attribute is only available in the Brazil marketplace." }, "BuyerTaxInfo": { - "description": "Tax information about the buyer.", + "description": "Tax information about the buyer. Sellers can use this data to issue electronic invoices for business orders.\n\n**Note**: This attribute is only available for business orders in the Brazil, Mexico and India marketplaces.", "$ref": "#/definitions/BuyerTaxInfo" }, "PurchaseOrderNumber": { @@ -4571,7 +4942,7 @@ "type": "object", "properties": { "BuyerCustomizedInfo": { - "description": "Buyer information for custom orders from the Amazon Custom program.", + "description": "Buyer information for custom orders from the Amazon Custom program.\n\n**Note**: This attribute is only available for MFN (Fulfilled by the seller) orders.", "$ref": "#/definitions/BuyerCustomizedInfoDetail" }, "GiftWrapPrice": { @@ -4584,7 +4955,7 @@ }, "GiftMessageText": { "type": "string", - "description": "A gift message provided by the buyer." + "description": "A gift message provided by the buyer.\n\n**Note**: This attribute is only available for MFN (Fulfilled by the seller) orders." }, "GiftWrapLevel": { "type": "string", @@ -4615,8 +4986,8 @@ "type": "object", "properties": { "IsBuyerRequestedCancel": { - "type": "boolean", - "description": "When true, the buyer has requested cancellation." + "type": "string", + "description": "Indicate whether the buyer has requested cancellation.\n\n**Possible Values**: `true`, `false`." }, "BuyerCancelReason": { "type": "string", @@ -4714,7 +5085,7 @@ ] }, "ElectronicInvoiceStatus": { - "description": "The status of the electronic invoice. Only available for Easy Ship orders and orders in the BR marketplace.", + "description": "The status of the electronic invoice. Only available for Easy Ship orders and orders in the BR marketplace.", "type": "string", "enum": [ "NotRequired", @@ -4769,10 +5140,10 @@ }, "ConfirmShipmentErrorResponse": { "type": "object", - "description": "The error response schema for an shipment confirmation.", + "description": "The error response schema for the `confirmShipment` operation.", "properties": { "errors": { - "description": "One or more unexpected errors occurred during the confirmShipment operation.", + "description": "One or more unexpected errors occurred during the `confirmShipment` operation.", "$ref": "#/definitions/ErrorList" } } @@ -4793,7 +5164,7 @@ }, "carrierCode": { "type": "string", - "description": "Identifies the carrier that will deliver the package. This field is required for all marketplaces, see [reference](https://developer-docs.amazon.com/sp-api/changelog/carriercode-value-required-in-shipment-confirmations-for-br-mx-ca-sg-au-in-jp-marketplaces)." + "description": "Identifies the carrier that will deliver the package. This field is required for all marketplaces. For the acceptable `CarrierCode` value, refer to the list of CarrierCode." }, "carrierName": { "type": "string", From e80304c58b5f73b618db6da4d3358f9f217758ff Mon Sep 17 00:00:00 2001 From: Jack Evoniuk Date: Wed, 24 Apr 2024 10:41:38 -0700 Subject: [PATCH 236/340] Update Easy Ship model --- .../easy-ship-model/easyShip_2022-03-23.json | 140 +++++++++++------- 1 file changed, 87 insertions(+), 53 deletions(-) diff --git a/models/easy-ship-model/easyShip_2022-03-23.json b/models/easy-ship-model/easyShip_2022-03-23.json index b1e3767a2..9d39d0c45 100644 --- a/models/easy-ship-model/easyShip_2022-03-23.json +++ b/models/easy-ship-model/easyShip_2022-03-23.json @@ -34,6 +34,7 @@ "parameters": [ { "name": "ListHandoverSlotsRequest", + "description": "The request schema for the `listHandoverSlots` operation.", "in": "body", "schema": { "$ref": "#/definitions/ListHandoverSlotsRequest" @@ -186,10 +187,6 @@ "$ref": "#/definitions/ErrorList" }, "headers": { - "x-amzn-RateLimit-Limit": { - "description": "Your rate limit (requests per second) for this operation.", - "type": "string" - }, "x-amzn-RequestId": { "type": "string", "description": "Unique request reference identifier." @@ -197,7 +194,7 @@ } }, "403": { - "description": "Indicates access to the resource is forbidden. Possible reasons include Access Denied, Unauthorized, Expired Token, or Invalid Signature.", + "description": "Indicates that access to the resource is forbidden. Possible reasons include Access Denied, Unauthorized, Expired Token, or Invalid Signature.", "schema": { "$ref": "#/definitions/ErrorList" }, @@ -209,7 +206,7 @@ } }, "404": { - "description": "The specified resource does not exist.", + "description": "The resource specified does not exist.", "schema": { "$ref": "#/definitions/ErrorList" }, @@ -224,6 +221,18 @@ } } }, + "413": { + "description": "The request size exceeded the maximum accepted size.", + "schema": { + "$ref": "#/definitions/ErrorList" + }, + "headers": { + "x-amzn-RequestId": { + "type": "string", + "description": "Unique request reference identifier." + } + } + }, "415": { "description": "The request payload is in an unsupported format.", "schema": { @@ -400,10 +409,6 @@ "$ref": "#/definitions/ErrorList" }, "headers": { - "x-amzn-RateLimit-Limit": { - "description": "Your rate limit (requests per second) for this operation.", - "type": "string" - }, "x-amzn-RequestId": { "type": "string", "description": "Unique request reference identifier." @@ -411,7 +416,7 @@ } }, "403": { - "description": "Indicates access to the resource is forbidden. Possible reasons include Access Denied, Unauthorized, Expired Token, or Invalid Signature.", + "description": "Indicates that access to the resource is forbidden. Possible reasons include Access Denied, Unauthorized, Expired Token, or Invalid Signature.", "schema": { "$ref": "#/definitions/ErrorList" }, @@ -423,7 +428,7 @@ } }, "404": { - "description": "The specified resource does not exist.", + "description": "The resource specified does not exist.", "schema": { "$ref": "#/definitions/ErrorList" }, @@ -438,6 +443,18 @@ } } }, + "413": { + "description": "The request size exceeded the maximum accepted size.", + "schema": { + "$ref": "#/definitions/ErrorList" + }, + "headers": { + "x-amzn-RequestId": { + "type": "string", + "description": "Unique request reference identifier." + } + } + }, "415": { "description": "The request payload is in an unsupported format.", "schema": { @@ -496,8 +513,9 @@ "operationId": "createScheduledPackage", "parameters": [ { - "in": "body", "name": "CreateScheduledPackageRequest", + "description": "The request schema for the `createScheduledPackage` operation.", + "in": "body", "required": true, "schema": { "$ref": "#/definitions/CreateScheduledPackageRequest" @@ -651,10 +669,6 @@ "$ref": "#/definitions/ErrorList" }, "headers": { - "x-amzn-RateLimit-Limit": { - "description": "Your rate limit (requests per second) for this operation.", - "type": "string" - }, "x-amzn-RequestId": { "type": "string", "description": "Unique request reference identifier." @@ -662,7 +676,7 @@ } }, "403": { - "description": "Indicates access to the resource is forbidden. Possible reasons include Access Denied, Unauthorized, Expired Token, or Invalid Signature.", + "description": "Indicates that access to the resource is forbidden. Possible reasons include Access Denied, Unauthorized, Expired Token, or Invalid Signature.", "schema": { "$ref": "#/definitions/ErrorList" }, @@ -674,7 +688,7 @@ } }, "404": { - "description": "The specified resource does not exist.", + "description": "The resource specified does not exist.", "schema": { "$ref": "#/definitions/ErrorList" }, @@ -689,6 +703,18 @@ } } }, + "413": { + "description": "The request size exceeded the maximum accepted size.", + "schema": { + "$ref": "#/definitions/ErrorList" + }, + "headers": { + "x-amzn-RequestId": { + "type": "string", + "description": "Unique request reference identifier." + } + } + }, "415": { "description": "The request payload is in an unsupported format.", "schema": { @@ -748,6 +774,7 @@ "parameters": [ { "name": "UpdateScheduledPackagesRequest", + "description": "The request schema for the `updateScheduledPackages` operation.", "in": "body", "schema": { "$ref": "#/definitions/UpdateScheduledPackagesRequest" @@ -944,10 +971,6 @@ "$ref": "#/definitions/ErrorList" }, "headers": { - "x-amzn-RateLimit-Limit": { - "description": "Your rate limit (requests per second) for this operation.", - "type": "string" - }, "x-amzn-RequestId": { "type": "string", "description": "Unique request reference identifier." @@ -955,7 +978,7 @@ } }, "403": { - "description": "Indicates access to the resource is forbidden. Possible reasons include Access Denied, Unauthorized, Expired Token, or Invalid Signature.", + "description": "Indicates that access to the resource is forbidden. Possible reasons include Access Denied, Unauthorized, Expired Token, or Invalid Signature.", "schema": { "$ref": "#/definitions/ErrorList" }, @@ -967,7 +990,7 @@ } }, "404": { - "description": "The specified resource does not exist.", + "description": "The resource specified does not exist.", "schema": { "$ref": "#/definitions/ErrorList" }, @@ -982,6 +1005,18 @@ } } }, + "413": { + "description": "The request size exceeded the maximum accepted size.", + "schema": { + "$ref": "#/definitions/ErrorList" + }, + "headers": { + "x-amzn-RequestId": { + "type": "string", + "description": "Unique request reference identifier." + } + } + }, "415": { "description": "The request payload is in an unsupported format.", "schema": { @@ -1043,6 +1078,7 @@ "parameters": [ { "name": "CreateScheduledPackagesRequest", + "description": "The request schema for the `createScheduledPackageBulk` operation.", "in": "body", "required": true, "schema": { @@ -1167,7 +1203,7 @@ }, "x-amzn-RequestId": { "type": "string", - "description": "Unique request reference ID." + "description": "Unique request reference identifier." } } }, @@ -1231,7 +1267,7 @@ }, "x-amzn-RequestId": { "type": "string", - "description": "Unique request reference ID." + "description": "Unique request reference identifier." } } }, @@ -1241,30 +1277,26 @@ "$ref": "#/definitions/ErrorList" }, "headers": { - "x-amzn-RateLimit-Limit": { - "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned.", - "type": "string" - }, "x-amzn-RequestId": { "type": "string", - "description": "Unique request reference ID." + "description": "Unique request reference identifier." } } }, "403": { - "description": "Indicates access to the resource is forbidden. Possible reasons include Access Denied, Unauthorized, Expired Token, or Invalid Signature.", + "description": "Indicates that access to the resource is forbidden. Possible reasons include Access Denied, Unauthorized, Expired Token, or Invalid Signature.", "schema": { "$ref": "#/definitions/ErrorList" }, "headers": { "x-amzn-RequestId": { "type": "string", - "description": "Unique request reference ID." + "description": "Unique request reference identifier." } } }, "404": { - "description": "The specified resource does not exist.", + "description": "The resource specified does not exist.", "schema": { "$ref": "#/definitions/ErrorList" }, @@ -1275,7 +1307,7 @@ }, "x-amzn-RequestId": { "type": "string", - "description": "Unique request reference ID." + "description": "Unique request reference identifier." } } }, @@ -1285,13 +1317,21 @@ "$ref": "#/definitions/ErrorList" }, "headers": { - "x-amzn-RateLimit-Limit": { - "description": "Your rate limit (requests per second) for this operation.", - "type": "string" - }, "x-amzn-RequestId": { "type": "string", - "description": "Unique request reference ID." + "description": "Unique request reference identifier." + } + } + }, + "413": { + "description": "The request size exceeded the maximum accepted size.", + "schema": { + "$ref": "#/definitions/ErrorList" + }, + "headers": { + "x-amzn-RequestId": { + "type": "string", + "description": "Unique request reference identifier." } } }, @@ -1308,18 +1348,14 @@ } }, "500": { - "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned..", + "description": "An unexpected condition occurred that prevented the server from fulfilling the request.", "schema": { "$ref": "#/definitions/ErrorList" }, "headers": { - "x-amzn-RateLimit-Limit": { - "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned.", - "type": "string" - }, "x-amzn-RequestId": { "type": "string", - "description": "Unique request reference ID." + "description": "Unique request reference identifier." } } }, @@ -1329,13 +1365,9 @@ "$ref": "#/definitions/ErrorList" }, "headers": { - "x-amzn-RateLimit-Limit": { - "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned.", - "type": "string" - }, "x-amzn-RequestId": { "type": "string", - "description": "Unique request reference ID." + "description": "Unique request reference identifier." } } } @@ -1594,7 +1626,7 @@ "maxItems": 100 }, "Package": { - "description": "A package. This object contains all the details of the scheduled Easy Ship package including the package identifier, physical attributes such as dimensions and weight, selected time slot to handover the package to carrier, status of the package, and tracking/invoice details.", + "description": "This object contains all the details of the scheduled Easy Ship package.", "type": "object", "required": [ "packageDimensions", @@ -1640,6 +1672,7 @@ ], "properties": { "packages": { + "description": "A list of packages.", "type": "array", "items": { "$ref": "#/definitions/Package" @@ -1921,6 +1954,7 @@ ], "properties": { "errors": { + "description": "A list of error responses returned when a request is unsuccessful.", "type": "array", "items": { "$ref": "#/definitions/Error" From 9000c2ba84e785e031c19a949aa23821b1037ecc Mon Sep 17 00:00:00 2001 From: Jack Evoniuk Date: Wed, 24 Apr 2024 11:33:59 -0700 Subject: [PATCH 237/340] Update Feeds model --- models/feeds-api-model/feeds_2021-06-30.json | 291 ++++++------------- 1 file changed, 87 insertions(+), 204 deletions(-) diff --git a/models/feeds-api-model/feeds_2021-06-30.json b/models/feeds-api-model/feeds_2021-06-30.json index 1c2419716..87f2c67c2 100644 --- a/models/feeds-api-model/feeds_2021-06-30.json +++ b/models/feeds-api-model/feeds_2021-06-30.json @@ -143,7 +143,7 @@ }, "x-amzn-RequestId": { "type": "string", - "description": "Unique request reference ID." + "description": "Unique request reference identifier." } }, "x-amzn-api-sandbox": { @@ -158,28 +158,28 @@ }, "pageSize": { "value": 10 - }, - "processingStatuses": { - "value": [ - "CANCELLED", - "DONE" - ] + }, + "processingStatuses": { + "value": [ + "CANCELLED", + "DONE" + ] + } } + }, + "response": { + "feeds": [ + { + "feedId": "FeedId1", + "feedType": "POST_PRODUCT_DATA", + "createdTime": "2024-03-11T13:16:24.630Z", + "processingStatus": "CANCELLED", + "processingStartTime": "2024-03-11T13:16:24.630Z", + "processingEndTime": "2024-03-11T13:16:24.630Z" + } + ], + "nextToken": "VGhpcyB0b2tlbiBpcyBvcGFxdWUgYW5kIGludGVudGlvbmFsbHkgb2JmdXNjYXRlZA==" } - }, - "response": { - "feeds": [ - { - "feedId": "FeedId1", - "feedType": "POST_PRODUCT_DATA", - "createdTime": "2019-12-11T13:16:24.630Z", - "processingStatus": "CANCELLED", - "processingStartTime": "2019-12-11T13:16:24.630Z", - "processingEndTime": "2019-12-11T13:16:24.630Z" - } - ], - "nextToken": "VGhpcyB0b2tlbiBpcyBvcGFxdWUgYW5kIGludGVudGlvbmFsbHkgb2JmdXNjYXRlZA==" - } } ] } @@ -196,7 +196,7 @@ }, "x-amzn-RequestId": { "type": "string", - "description": "Unique request reference ID." + "description": "Unique request reference identifier." } }, "x-amzn-api-sandbox": { @@ -211,12 +211,12 @@ }, "processingStatuses": { "value": [ - "BAD_VALUE", - "DONE" - ] + "BAD_VALUE", + "DONE" + ] + } } - } - }, + }, "response": { "errors": [ { @@ -236,13 +236,9 @@ "$ref": "#/definitions/ErrorList" }, "headers": { - "x-amzn-RateLimit-Limit": { - "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned.", - "type": "string" - }, "x-amzn-RequestId": { "type": "string", - "description": "Unique request reference ID." + "description": "Unique request reference identifier." } } }, @@ -254,7 +250,7 @@ "headers": { "x-amzn-RequestId": { "type": "string", - "description": "Unique request reference ID." + "description": "Unique request reference identifier." } } }, @@ -270,7 +266,7 @@ }, "x-amzn-RequestId": { "type": "string", - "description": "Unique request reference ID." + "description": "Unique request reference identifier." } } }, @@ -280,10 +276,6 @@ "$ref": "#/definitions/ErrorList" }, "headers": { - "x-amzn-RateLimit-Limit": { - "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned.", - "type": "string" - }, "x-amzn-RequestId": { "type": "string", "description": "Unique request reference identifier." @@ -296,13 +288,9 @@ "$ref": "#/definitions/ErrorList" }, "headers": { - "x-amzn-RateLimit-Limit": { - "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned.", - "type": "string" - }, "x-amzn-RequestId": { "type": "string", - "description": "Unique request reference ID." + "description": "Unique request reference identifier." } } }, @@ -312,13 +300,9 @@ "$ref": "#/definitions/ErrorList" }, "headers": { - "x-amzn-RateLimit-Limit": { - "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned.", - "type": "string" - }, "x-amzn-RequestId": { "type": "string", - "description": "Unique request reference ID." + "description": "Unique request reference identifier." } } }, @@ -328,13 +312,9 @@ "$ref": "#/definitions/ErrorList" }, "headers": { - "x-amzn-RateLimit-Limit": { - "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned.", - "type": "string" - }, "x-amzn-RequestId": { "type": "string", - "description": "Unique request reference ID." + "description": "Unique request reference identifier." } } } @@ -353,7 +333,8 @@ "required": true, "schema": { "$ref": "#/definitions/CreateFeedSpecification" - } + }, + "description": "Information required to create the feed." } ], "responses": { @@ -369,7 +350,7 @@ }, "x-amzn-RequestId": { "type": "string", - "description": "Unique request reference ID." + "description": "Unique request reference identifier." } }, "x-amzn-api-sandbox": { @@ -408,7 +389,7 @@ }, "x-amzn-RequestId": { "type": "string", - "description": "Unique request reference ID." + "description": "Unique request reference identifier." } }, "x-amzn-api-sandbox": { @@ -423,10 +404,10 @@ "A1F83G8C2ARO7P" ], "inputFeedDocumentId": "badDocumentId" + } } } - } - }, + }, "response": { "errors": [ { @@ -446,13 +427,9 @@ "$ref": "#/definitions/ErrorList" }, "headers": { - "x-amzn-RateLimit-Limit": { - "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned.", - "type": "string" - }, "x-amzn-RequestId": { "type": "string", - "description": "Unique request reference ID." + "description": "Unique request reference identifier." } } }, @@ -464,7 +441,7 @@ "headers": { "x-amzn-RequestId": { "type": "string", - "description": "Unique request reference ID." + "description": "Unique request reference identifier." } } }, @@ -480,7 +457,7 @@ }, "x-amzn-RequestId": { "type": "string", - "description": "Unique request reference ID." + "description": "Unique request reference identifier." } } }, @@ -490,10 +467,6 @@ "$ref": "#/definitions/ErrorList" }, "headers": { - "x-amzn-RateLimit-Limit": { - "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned.", - "type": "string" - }, "x-amzn-RequestId": { "type": "string", "description": "Unique request reference identifier." @@ -506,13 +479,9 @@ "$ref": "#/definitions/ErrorList" }, "headers": { - "x-amzn-RateLimit-Limit": { - "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned.", - "type": "string" - }, "x-amzn-RequestId": { "type": "string", - "description": "Unique request reference ID." + "description": "Unique request reference identifier." } } }, @@ -522,13 +491,9 @@ "$ref": "#/definitions/ErrorList" }, "headers": { - "x-amzn-RateLimit-Limit": { - "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned.", - "type": "string" - }, "x-amzn-RequestId": { "type": "string", - "description": "Unique request reference ID." + "description": "Unique request reference identifier." } } }, @@ -538,13 +503,9 @@ "$ref": "#/definitions/ErrorList" }, "headers": { - "x-amzn-RateLimit-Limit": { - "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned.", - "type": "string" - }, "x-amzn-RequestId": { "type": "string", - "description": "Unique request reference ID." + "description": "Unique request reference identifier." } } } @@ -578,7 +539,7 @@ }, "x-amzn-RequestId": { "type": "string", - "description": "Unique request reference ID." + "description": "Unique request reference identifier." } }, "x-amzn-api-sandbox": { @@ -607,7 +568,7 @@ }, "x-amzn-RequestId": { "type": "string", - "description": "Unique request reference ID." + "description": "Unique request reference identifier." } }, "x-amzn-api-sandbox": { @@ -639,13 +600,9 @@ "$ref": "#/definitions/ErrorList" }, "headers": { - "x-amzn-RateLimit-Limit": { - "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned.", - "type": "string" - }, "x-amzn-RequestId": { "type": "string", - "description": "Unique request reference ID." + "description": "Unique request reference identifier." } } }, @@ -657,7 +614,7 @@ "headers": { "x-amzn-RequestId": { "type": "string", - "description": "Unique request reference ID." + "description": "Unique request reference identifier." } } }, @@ -673,7 +630,7 @@ }, "x-amzn-RequestId": { "type": "string", - "description": "Unique request reference ID." + "description": "Unique request reference identifier." } } }, @@ -683,10 +640,6 @@ "$ref": "#/definitions/ErrorList" }, "headers": { - "x-amzn-RateLimit-Limit": { - "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned.", - "type": "string" - }, "x-amzn-RequestId": { "type": "string", "description": "Unique request reference identifier." @@ -699,13 +652,9 @@ "$ref": "#/definitions/ErrorList" }, "headers": { - "x-amzn-RateLimit-Limit": { - "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned.", - "type": "string" - }, "x-amzn-RequestId": { "type": "string", - "description": "Unique request reference ID." + "description": "Unique request reference identifier." } } }, @@ -715,13 +664,9 @@ "$ref": "#/definitions/ErrorList" }, "headers": { - "x-amzn-RateLimit-Limit": { - "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned.", - "type": "string" - }, "x-amzn-RequestId": { "type": "string", - "description": "Unique request reference ID." + "description": "Unique request reference identifier." } } }, @@ -731,13 +676,9 @@ "$ref": "#/definitions/ErrorList" }, "headers": { - "x-amzn-RateLimit-Limit": { - "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned.", - "type": "string" - }, "x-amzn-RequestId": { "type": "string", - "description": "Unique request reference ID." + "description": "Unique request reference identifier." } } } @@ -771,7 +712,7 @@ }, "x-amzn-RequestId": { "type": "string", - "description": "Unique request reference ID." + "description": "Unique request reference identifier." } }, "x-amzn-api-sandbox": { @@ -787,10 +728,10 @@ "response": { "feedId": "FeedId1", "feedType": "POST_PRODUCT_DATA", - "createdTime": "2019-12-11T13:16:24.630Z", + "createdTime": "2024-03-11T13:16:24.630Z", "processingStatus": "CANCELLED", - "processingStartTime": "2019-12-11T13:16:24.630Z", - "processingEndTime": "2019-12-11T13:16:24.630Z" + "processingStartTime": "2024-03-11T13:16:24.630Z", + "processingEndTime": "2024-03-11T13:16:24.630Z" } } ] @@ -808,7 +749,7 @@ }, "x-amzn-RequestId": { "type": "string", - "description": "Unique request reference ID." + "description": "Unique request reference identifier." } }, "x-amzn-api-sandbox": { @@ -840,13 +781,9 @@ "$ref": "#/definitions/ErrorList" }, "headers": { - "x-amzn-RateLimit-Limit": { - "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned.", - "type": "string" - }, "x-amzn-RequestId": { "type": "string", - "description": "Unique request reference ID." + "description": "Unique request reference identifier." } } }, @@ -858,7 +795,7 @@ "headers": { "x-amzn-RequestId": { "type": "string", - "description": "Unique request reference ID." + "description": "Unique request reference identifier." } } }, @@ -874,7 +811,7 @@ }, "x-amzn-RequestId": { "type": "string", - "description": "Unique request reference ID." + "description": "Unique request reference identifier." } } }, @@ -884,10 +821,6 @@ "$ref": "#/definitions/ErrorList" }, "headers": { - "x-amzn-RateLimit-Limit": { - "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned.", - "type": "string" - }, "x-amzn-RequestId": { "type": "string", "description": "Unique request reference identifier." @@ -900,13 +833,9 @@ "$ref": "#/definitions/ErrorList" }, "headers": { - "x-amzn-RateLimit-Limit": { - "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned.", - "type": "string" - }, "x-amzn-RequestId": { "type": "string", - "description": "Unique request reference ID." + "description": "Unique request reference identifier." } } }, @@ -916,13 +845,9 @@ "$ref": "#/definitions/ErrorList" }, "headers": { - "x-amzn-RateLimit-Limit": { - "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned.", - "type": "string" - }, "x-amzn-RequestId": { "type": "string", - "description": "Unique request reference ID." + "description": "Unique request reference identifier." } } }, @@ -932,13 +857,9 @@ "$ref": "#/definitions/ErrorList" }, "headers": { - "x-amzn-RateLimit-Limit": { - "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned.", - "type": "string" - }, "x-amzn-RequestId": { "type": "string", - "description": "Unique request reference ID." + "description": "Unique request reference identifier." } } } @@ -960,7 +881,8 @@ "required": true, "schema": { "$ref": "#/definitions/CreateFeedDocumentSpecification" - } + }, + "description": "Specifies the content type for the createFeedDocument operation." } ], "responses": { @@ -972,7 +894,7 @@ "type": "string" }, "x-amzn-RequestId": { - "description": "Unique request reference ID.", + "description": "Unique request reference identifier.", "type": "string" } }, @@ -1007,7 +929,7 @@ "type": "string" }, "x-amzn-RequestId": { - "description": "Unique request reference ID.", + "description": "Unique request reference identifier.", "type": "string" } }, @@ -1041,7 +963,7 @@ "description": "Indicates that access to the resource is forbidden. Possible reasons include Access Denied, Unauthorized, Expired Token, or Invalid Signature.", "headers": { "x-amzn-RequestId": { - "description": "Unique request reference ID.", + "description": "Unique request reference identifier.", "type": "string" } }, @@ -1057,7 +979,7 @@ "type": "string" }, "x-amzn-RequestId": { - "description": "Unique request reference ID.", + "description": "Unique request reference identifier.", "type": "string" } }, @@ -1068,12 +990,8 @@ "413": { "description": "The request size exceeded the maximum accepted size.", "headers": { - "x-amzn-RateLimit-Limit": { - "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned.", - "type": "string" - }, "x-amzn-RequestId": { - "description": "Unique request reference ID.", + "description": "Unique request reference identifier.", "type": "string" } }, @@ -1084,12 +1002,8 @@ "415": { "description": "The request payload is in an unsupported format.", "headers": { - "x-amzn-RateLimit-Limit": { - "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned.", - "type": "string" - }, "x-amzn-RequestId": { - "description": "Unique request reference ID.", + "description": "Unique request reference identifier.", "type": "string" } }, @@ -1100,12 +1014,8 @@ "429": { "description": "The frequency of requests was greater than allowed.", "headers": { - "x-amzn-RateLimit-Limit": { - "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned.", - "type": "string" - }, "x-amzn-RequestId": { - "description": "Unique request reference ID.", + "description": "Unique request reference identifier.", "type": "string" } }, @@ -1116,12 +1026,8 @@ "500": { "description": "An unexpected condition occurred that prevented the server from fulfilling the request.", "headers": { - "x-amzn-RateLimit-Limit": { - "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned.", - "type": "string" - }, "x-amzn-RequestId": { - "description": "Unique request reference ID.", + "description": "Unique request reference identifier.", "type": "string" } }, @@ -1132,12 +1038,8 @@ "503": { "description": "Temporary overloading or maintenance of the server.", "headers": { - "x-amzn-RateLimit-Limit": { - "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned.", - "type": "string" - }, "x-amzn-RequestId": { - "description": "Unique request reference ID.", + "description": "Unique request reference identifier.", "type": "string" } }, @@ -1178,7 +1080,7 @@ }, "x-amzn-RequestId": { "type": "string", - "description": "Unique request reference ID." + "description": "Unique request reference identifier." } }, "x-amzn-api-sandbox": { @@ -1211,7 +1113,7 @@ }, "x-amzn-RequestId": { "type": "string", - "description": "Unique request reference ID." + "description": "Unique request reference identifier." } }, "x-amzn-api-sandbox": { @@ -1243,13 +1145,9 @@ "$ref": "#/definitions/ErrorList" }, "headers": { - "x-amzn-RateLimit-Limit": { - "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned.", - "type": "string" - }, "x-amzn-RequestId": { "type": "string", - "description": "Unique request reference ID." + "description": "Unique request reference identifier." } } }, @@ -1261,7 +1159,7 @@ "headers": { "x-amzn-RequestId": { "type": "string", - "description": "Unique request reference ID." + "description": "Unique request reference identifier." } } }, @@ -1277,7 +1175,7 @@ }, "x-amzn-RequestId": { "type": "string", - "description": "Unique request reference ID." + "description": "Unique request reference identifier." } } }, @@ -1287,10 +1185,6 @@ "$ref": "#/definitions/ErrorList" }, "headers": { - "x-amzn-RateLimit-Limit": { - "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned.", - "type": "string" - }, "x-amzn-RequestId": { "type": "string", "description": "Unique request reference identifier." @@ -1303,13 +1197,9 @@ "$ref": "#/definitions/ErrorList" }, "headers": { - "x-amzn-RateLimit-Limit": { - "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned.", - "type": "string" - }, "x-amzn-RequestId": { "type": "string", - "description": "Unique request reference ID." + "description": "Unique request reference identifier." } } }, @@ -1319,13 +1209,9 @@ "$ref": "#/definitions/ErrorList" }, "headers": { - "x-amzn-RateLimit-Limit": { - "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned.", - "type": "string" - }, "x-amzn-RequestId": { "type": "string", - "description": "Unique request reference ID." + "description": "Unique request reference identifier." } } }, @@ -1335,13 +1221,9 @@ "$ref": "#/definitions/ErrorList" }, "headers": { - "x-amzn-RateLimit-Limit": { - "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned.", - "type": "string" - }, "x-amzn-RequestId": { "type": "string", - "description": "Unique request reference ID." + "description": "Unique request reference identifier." } } } @@ -1363,7 +1245,7 @@ }, "message": { "type": "string", - "description": "A message that describes the error condition in a human-readable form." + "description": "A message that describes the error condition." }, "details": { "type": "string", @@ -1383,7 +1265,8 @@ "type": "array", "items": { "$ref": "#/definitions/Error" - } + }, + "description": "An error response returned when the request is unsuccessful." } } }, @@ -1604,4 +1487,4 @@ } } } -} +} \ No newline at end of file From 6c3cfc5e678849ad7fd82480d6e762cb521e1aad Mon Sep 17 00:00:00 2001 From: Jack Evoniuk Date: Wed, 24 Apr 2024 11:42:31 -0700 Subject: [PATCH 238/340] Update Reports model --- .../reports-api-model/reports_2021-06-30.json | 391 +++++------------- 1 file changed, 108 insertions(+), 283 deletions(-) diff --git a/models/reports-api-model/reports_2021-06-30.json b/models/reports-api-model/reports_2021-06-30.json index b4bc54b70..6ab68f10c 100644 --- a/models/reports-api-model/reports_2021-06-30.json +++ b/models/reports-api-model/reports_2021-06-30.json @@ -30,7 +30,7 @@ "reports" ], "operationId": "getReports", - "description": "Returns report details for the reports that match the filters that you specify.\n\n**Usage Plan:**\n\n| Rate (requests per second) | Burst |\n| ---- | ---- |\n| 0.0222 | 10 |\n\nThe `x-amzn-RateLimit-Limit` response header returns the usage plan rate limits that were applied to the requested operation, when available. The table above indicates the default rate and burst values for this operation. Selling partners whose business demands require higher throughput may see higher rate and burst values than those shown here. For more information, see [Usage Plans and Rate Limits in the Selling Partner API](https://developer-docs.amazon.com/sp-api/docs/usage-plans-and-rate-limits-in-the-sp-api).", + "description": "Returns report details for the reports that match the filters that you specify.\n\n**Usage Plan:**\n\n| Rate (requests per second) | Burst |\n| ---- | ---- |\n| 0.0222 | 10 |\n\nThe `x-amzn-RateLimit-Limit` response header returns the usage plan rate limits that were applied to the requested operation, when available. The table above indicates the default rate and burst values for this operation. Selling partners whose business demands require higher throughput may see higher rate and burst values than those shown here. For more information, refer to [Usage Plans and Rate Limits in the Selling Partner API](https://developer-docs.amazon.com/sp-api/docs/usage-plans-and-rate-limits-in-the-sp-api).", "parameters": [ { "name": "reportTypes", @@ -79,7 +79,7 @@ }, { "value": "IN_QUEUE", - "description": "The report has not yet started processing. It may be waiting for another IN_PROGRESS report." + "description": "The report has not yet started processing. It may be waiting for another `IN_PROGRESS` report." } ] } @@ -109,7 +109,7 @@ { "name": "createdSince", "in": "query", - "description": "The earliest report creation date and time for reports to include in the response, in ISO 8601 date time format. The default is 90 days ago. Reports are retained for a maximum of 90 days.", + "description": "The earliest report creation date and time for reports to include in the response, in ISO 8601 date time format. The default is 90 days ago. Reports are retained for a maximum of 90 days.", "required": false, "type": "string", "format": "date-time" @@ -117,7 +117,7 @@ { "name": "createdUntil", "in": "query", - "description": "The latest report creation date and time for reports to include in the response, in ISO 8601 date time format. The default is now.", + "description": "The latest report creation date and time for reports to include in the response, in ISO 8601 date time format. The default is now.", "required": false, "type": "string", "format": "date-time" @@ -125,7 +125,7 @@ { "name": "nextToken", "in": "query", - "description": "A string token returned in the response to your previous request. nextToken is returned when the number of results exceeds the specified pageSize value. To get the next page of results, call the getReports operation and include this token as the only parameter. Specifying nextToken with any other parameters will cause the request to fail.", + "description": "A string token returned in the response to your previous request. `nextToken` is returned when the number of results exceeds the specified `pageSize` value. To get the next page of results, call the `getReports` operation and include this token as the only parameter. Specifying `nextToken` with any other parameters will cause the request to fail.", "required": false, "type": "string" } @@ -158,28 +158,28 @@ ] }, "processingStatuses": { - "value": [ - "IN_QUEUE", - "IN_PROGRESS" - ] + "value": [ + "IN_QUEUE", + "IN_PROGRESS" + ] + } } + }, + "response": { + "nextToken": "VGhpcyB0b2tlbiBpcyBvcGFxdWUgYW5kIGludGVudGlvbmFsbHkgb2JmdXNjYXRlZA==", + "reports": [ + { + "reportId": "ReportId1", + "reportType": "FEE_DISCOUNTS_REPORT", + "dataStartTime": "2024-03-11T13:47:20.677Z", + "dataEndTime": "2024-03-12T13:47:20.677Z", + "createdTime": "2024-03-10T13:47:20.677Z", + "processingStatus": "IN_PROGRESS", + "processingStartTime": "2024-03-10T13:47:20.677Z", + "processingEndTime": "2024-03-12T13:47:20.677Z" + } + ] } - }, - "response": { - "nextToken": "VGhpcyB0b2tlbiBpcyBvcGFxdWUgYW5kIGludGVudGlvbmFsbHkgb2JmdXNjYXRlZA==", - "reports": [ - { - "reportId": "ReportId1", - "reportType": "FEE_DISCOUNTS_REPORT", - "dataStartTime": "2019-12-11T13:47:20.677Z", - "dataEndTime": "2019-12-12T13:47:20.677Z", - "createdTime": "2019-12-10T13:47:20.677Z", - "processingStatus": "IN_PROGRESS", - "processingStartTime": "2019-12-10T13:47:20.677Z", - "processingEndTime": "2019-12-12T13:47:20.677Z" - } - ] - } } ] } @@ -211,13 +211,13 @@ ] }, "processingStatuses": { - "value": [ - "BAD_VALUE", - "IN_PROGRESS" - ] + "value": [ + "BAD_VALUE", + "IN_PROGRESS" + ] + } } - } - }, + }, "response": { "errors": [ { @@ -237,10 +237,6 @@ "$ref": "#/definitions/ErrorList" }, "headers": { - "x-amzn-RateLimit-Limit": { - "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned.", - "type": "string" - }, "x-amzn-RequestId": { "type": "string", "description": "Unique request reference identifier." @@ -281,10 +277,6 @@ "$ref": "#/definitions/ErrorList" }, "headers": { - "x-amzn-RateLimit-Limit": { - "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned.", - "type": "string" - }, "x-amzn-RequestId": { "type": "string", "description": "Unique request reference identifier." @@ -297,10 +289,6 @@ "$ref": "#/definitions/ErrorList" }, "headers": { - "x-amzn-RateLimit-Limit": { - "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned.", - "type": "string" - }, "x-amzn-RequestId": { "type": "string", "description": "Unique request reference identifier." @@ -313,10 +301,6 @@ "$ref": "#/definitions/ErrorList" }, "headers": { - "x-amzn-RateLimit-Limit": { - "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned.", - "type": "string" - }, "x-amzn-RequestId": { "type": "string", "description": "Unique request reference identifier." @@ -329,10 +313,6 @@ "$ref": "#/definitions/ErrorList" }, "headers": { - "x-amzn-RateLimit-Limit": { - "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned.", - "type": "string" - }, "x-amzn-RequestId": { "type": "string", "description": "Unique request reference identifier." @@ -346,7 +326,7 @@ "reports" ], "operationId": "createReport", - "description": "Creates a report.\n\n**Usage Plan:**\n\n| Rate (requests per second) | Burst |\n| ---- | ---- |\n| 0.0167 | 15 |\n\nThe `x-amzn-RateLimit-Limit` response header returns the usage plan rate limits that were applied to the requested operation, when available. The table above indicates the default rate and burst values for this operation. Selling partners whose business demands require higher throughput may see higher rate and burst values than those shown here. For more information, see [Usage Plans and Rate Limits in the Selling Partner API](https://developer-docs.amazon.com/sp-api/docs/usage-plans-and-rate-limits-in-the-sp-api).", + "description": "Creates a report.\n\n**Usage Plan:**\n\n| Rate (requests per second) | Burst |\n| ---- | ---- |\n| 0.0167 | 15 |\n\nThe `x-amzn-RateLimit-Limit` response header returns the usage plan rate limits that were applied to the requested operation, when available. The table above indicates the default rate and burst values for this operation. Selling partners whose business demands require higher throughput may see higher rate and burst values than those shown here. For more information, refer to [Usage Plans and Rate Limits in the Selling Partner API](https://developer-docs.amazon.com/sp-api/docs/usage-plans-and-rate-limits-in-the-sp-api).", "parameters": [ { "name": "body", @@ -354,7 +334,8 @@ "required": true, "schema": { "$ref": "#/definitions/CreateReportSpecification" - } + }, + "description": "Information required to create the report." } ], "responses": { @@ -381,7 +362,7 @@ "body": { "value": { "reportType": "GET_MERCHANT_LISTINGS_ALL_DATA", - "dataStartTime": "2019-12-10T20:11:24.000Z", + "dataStartTime": "2024-03-10T20:11:24.000Z", "marketplaceIds": [ "A1PA6795UKMFR9", "ATVPDKIKX0DER" @@ -420,15 +401,15 @@ "body": { "value": { "reportType": "BAD_FEE_DISCOUNTS_REPORT", - "dataStartTime": "2019-12-10T20:11:24.000Z", + "dataStartTime": "2024-03-10T20:11:24.000Z", "marketplaceIds": [ "A1PA6795UKMFR9", "ATVPDKIKX0DER" - ] + ] + } } } - } - }, + }, "response": { "errors": [ { @@ -448,10 +429,6 @@ "$ref": "#/definitions/ErrorList" }, "headers": { - "x-amzn-RateLimit-Limit": { - "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned.", - "type": "string" - }, "x-amzn-RequestId": { "type": "string", "description": "Unique request reference identifier." @@ -492,10 +469,6 @@ "$ref": "#/definitions/ErrorList" }, "headers": { - "x-amzn-RateLimit-Limit": { - "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned.", - "type": "string" - }, "x-amzn-RequestId": { "type": "string", "description": "Unique request reference identifier." @@ -508,10 +481,6 @@ "$ref": "#/definitions/ErrorList" }, "headers": { - "x-amzn-RateLimit-Limit": { - "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned.", - "type": "string" - }, "x-amzn-RequestId": { "type": "string", "description": "Unique request reference identifier." @@ -524,10 +493,6 @@ "$ref": "#/definitions/ErrorList" }, "headers": { - "x-amzn-RateLimit-Limit": { - "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned.", - "type": "string" - }, "x-amzn-RequestId": { "type": "string", "description": "Unique request reference identifier." @@ -540,10 +505,6 @@ "$ref": "#/definitions/ErrorList" }, "headers": { - "x-amzn-RateLimit-Limit": { - "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned.", - "type": "string" - }, "x-amzn-RequestId": { "type": "string", "description": "Unique request reference identifier." @@ -560,7 +521,7 @@ "reports" ], "operationId": "cancelReport", - "description": "Cancels the report that you specify. Only reports with processingStatus=IN_QUEUE can be cancelled. Cancelled reports are returned in subsequent calls to the getReport and getReports operations.\n\n**Usage Plan:**\n\n| Rate (requests per second) | Burst |\n| ---- | ---- |\n| 0.0222 | 10 |\n\nThe `x-amzn-RateLimit-Limit` response header returns the usage plan rate limits that were applied to the requested operation, when available. The table above indicates the default rate and burst values for this operation. Selling partners whose business demands require higher throughput may see higher rate and burst values than those shown here. For more information, see [Usage Plans and Rate Limits in the Selling Partner API](https://developer-docs.amazon.com/sp-api/docs/usage-plans-and-rate-limits-in-the-sp-api).", + "description": "Cancels the report that you specify. Only reports with `processingStatus=IN_QUEUE` can be cancelled. Cancelled reports are returned in subsequent calls to the `getReport` and `getReports` operations.\n\n**Usage Plan:**\n\n| Rate (requests per second) | Burst |\n| ---- | ---- |\n| 0.0222 | 10 |\n\nThe `x-amzn-RateLimit-Limit` response header returns the usage plan rate limits that were applied to the requested operation, when available. The table above indicates the default rate and burst values for this operation. Selling partners whose business demands require higher throughput may see higher rate and burst values than those shown here. For more information, refer to [Usage Plans and Rate Limits in the Selling Partner API](https://developer-docs.amazon.com/sp-api/docs/usage-plans-and-rate-limits-in-the-sp-api).", "parameters": [ { "name": "reportId", @@ -637,10 +598,6 @@ "$ref": "#/definitions/ErrorList" }, "headers": { - "x-amzn-RateLimit-Limit": { - "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned.", - "type": "string" - }, "x-amzn-RequestId": { "type": "string", "description": "Unique request reference identifier." @@ -681,10 +638,6 @@ "$ref": "#/definitions/ErrorList" }, "headers": { - "x-amzn-RateLimit-Limit": { - "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned.", - "type": "string" - }, "x-amzn-RequestId": { "type": "string", "description": "Unique request reference identifier." @@ -697,10 +650,6 @@ "$ref": "#/definitions/ErrorList" }, "headers": { - "x-amzn-RateLimit-Limit": { - "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned.", - "type": "string" - }, "x-amzn-RequestId": { "type": "string", "description": "Unique request reference identifier." @@ -713,10 +662,6 @@ "$ref": "#/definitions/ErrorList" }, "headers": { - "x-amzn-RateLimit-Limit": { - "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned.", - "type": "string" - }, "x-amzn-RequestId": { "type": "string", "description": "Unique request reference identifier." @@ -729,10 +674,6 @@ "$ref": "#/definitions/ErrorList" }, "headers": { - "x-amzn-RateLimit-Limit": { - "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned.", - "type": "string" - }, "x-amzn-RequestId": { "type": "string", "description": "Unique request reference identifier." @@ -746,7 +687,7 @@ "reports" ], "operationId": "getReport", - "description": "Returns report details (including the reportDocumentId, if available) for the report that you specify.\n\n**Usage Plan:**\n\n| Rate (requests per second) | Burst |\n| ---- | ---- |\n| 2 | 15 |\n\nThe `x-amzn-RateLimit-Limit` response header returns the usage plan rate limits that were applied to the requested operation, when available. The table above indicates the default rate and burst values for this operation. Selling partners whose business demands require higher throughput may see higher rate and burst values than those shown here. For more information, see [Usage Plans and Rate Limits in the Selling Partner API](https://developer-docs.amazon.com/sp-api/docs/usage-plans-and-rate-limits-in-the-sp-api).", + "description": "Returns report details (including the `reportDocumentId`, if available) for the report that you specify.\n\n**Usage Plan:**\n\n| Rate (requests per second) | Burst |\n| ---- | ---- |\n| 2 | 15 |\n\nThe `x-amzn-RateLimit-Limit` response header returns the usage plan rate limits that were applied to the requested operation, when available. The table above indicates the default rate and burst values for this operation. Selling partners whose business demands require higher throughput may see higher rate and burst values than those shown here. For more information, refer to [Usage Plans and Rate Limits in the Selling Partner API](https://developer-docs.amazon.com/sp-api/docs/usage-plans-and-rate-limits-in-the-sp-api).", "parameters": [ { "name": "reportId", @@ -785,12 +726,12 @@ "response": { "reportId": "ReportId1", "reportType": "FEE_DISCOUNTS_REPORT", - "dataStartTime": "2019-12-11T13:47:20.677Z", - "dataEndTime": "2019-12-12T13:47:20.677Z", - "createdTime": "2019-12-10T13:47:20.677Z", + "dataStartTime": "2024-03-11T13:47:20.677Z", + "dataEndTime": "2024-03-12T13:47:20.677Z", + "createdTime": "2024-03-10T13:47:20.677Z", "processingStatus": "IN_PROGRESS", - "processingStartTime": "2019-12-10T13:47:20.677Z", - "processingEndTime": "2019-12-12T13:47:20.677Z" + "processingStartTime": "2024-03-10T13:47:20.677Z", + "processingEndTime": "2024-03-12T13:47:20.677Z" } } ] @@ -840,10 +781,6 @@ "$ref": "#/definitions/ErrorList" }, "headers": { - "x-amzn-RateLimit-Limit": { - "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned.", - "type": "string" - }, "x-amzn-RequestId": { "type": "string", "description": "Unique request reference identifier." @@ -884,10 +821,6 @@ "$ref": "#/definitions/ErrorList" }, "headers": { - "x-amzn-RateLimit-Limit": { - "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned.", - "type": "string" - }, "x-amzn-RequestId": { "type": "string", "description": "Unique request reference identifier." @@ -900,10 +833,6 @@ "$ref": "#/definitions/ErrorList" }, "headers": { - "x-amzn-RateLimit-Limit": { - "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned.", - "type": "string" - }, "x-amzn-RequestId": { "type": "string", "description": "Unique request reference identifier." @@ -916,10 +845,6 @@ "$ref": "#/definitions/ErrorList" }, "headers": { - "x-amzn-RateLimit-Limit": { - "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned.", - "type": "string" - }, "x-amzn-RequestId": { "type": "string", "description": "Unique request reference identifier." @@ -932,10 +857,6 @@ "$ref": "#/definitions/ErrorList" }, "headers": { - "x-amzn-RateLimit-Limit": { - "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned.", - "type": "string" - }, "x-amzn-RequestId": { "type": "string", "description": "Unique request reference identifier." @@ -952,7 +873,7 @@ "reports" ], "operationId": "getReportSchedules", - "description": "Returns report schedule details that match the filters that you specify.\n\n**Usage Plan:**\n\n| Rate (requests per second) | Burst |\n| ---- | ---- |\n| 0.0222 | 10 |\n\nThe `x-amzn-RateLimit-Limit` response header returns the usage plan rate limits that were applied to the requested operation, when available. The table above indicates the default rate and burst values for this operation. Selling partners whose business demands require higher throughput may see higher rate and burst values than those shown here. For more information, see [Usage Plans and Rate Limits in the Selling Partner API](https://developer-docs.amazon.com/sp-api/docs/usage-plans-and-rate-limits-in-the-sp-api).", + "description": "Returns report schedule details that match the filters that you specify.\n\n**Usage Plan:**\n\n| Rate (requests per second) | Burst |\n| ---- | ---- |\n| 0.0222 | 10 |\n\nThe `x-amzn-RateLimit-Limit` response header returns the usage plan rate limits that were applied to the requested operation, when available. The table above indicates the default rate and burst values for this operation. Selling partners whose business demands require higher throughput may see higher rate and burst values than those shown here. For more information, refer to [Usage Plans and Rate Limits in the Selling Partner API](https://developer-docs.amazon.com/sp-api/docs/usage-plans-and-rate-limits-in-the-sp-api).", "parameters": [ { "name": "reportTypes", @@ -995,26 +916,26 @@ ] } } - }, - "response": { - "reportSchedules": [ - { - "reportType": "FEE_DISCOUNTS_REPORT", - "marketplaceIds": [ - "ATVPDKIKX0DER" - ], - "reportScheduleId": "ID1", - "period": "PT5M", - "nextReportCreationTime": "2019-12-11T15:03:44.973Z" - }, - { - "reportType": "GET_FBA_FULFILLMENT_CUSTOMER_TAXES_DATA", - "reportScheduleId": "ID2", - "period": "PT5M", - "nextReportCreationTime": "2019-12-11T15:03:44.973Z" - } - ] - } + }, + "response": { + "reportSchedules": [ + { + "reportType": "FEE_DISCOUNTS_REPORT", + "marketplaceIds": [ + "ATVPDKIKX0DER" + ], + "reportScheduleId": "ID1", + "period": "PT5M", + "nextReportCreationTime": "2024-03-11T15:03:44.973Z" + }, + { + "reportType": "GET_FBA_FULFILLMENT_CUSTOMER_TAXES_DATA", + "reportScheduleId": "ID2", + "period": "PT5M", + "nextReportCreationTime": "2024-03-11T15:03:44.973Z" + } + ] + } } ] } @@ -1046,7 +967,7 @@ ] } } - }, + }, "response": { "errors": [ { @@ -1066,10 +987,6 @@ "$ref": "#/definitions/ErrorList" }, "headers": { - "x-amzn-RateLimit-Limit": { - "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned.", - "type": "string" - }, "x-amzn-RequestId": { "type": "string", "description": "Unique request reference identifier." @@ -1110,10 +1027,6 @@ "$ref": "#/definitions/ErrorList" }, "headers": { - "x-amzn-RateLimit-Limit": { - "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned.", - "type": "string" - }, "x-amzn-RequestId": { "type": "string", "description": "Unique request reference identifier." @@ -1126,10 +1039,6 @@ "$ref": "#/definitions/ErrorList" }, "headers": { - "x-amzn-RateLimit-Limit": { - "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned.", - "type": "string" - }, "x-amzn-RequestId": { "type": "string", "description": "Unique request reference identifier." @@ -1142,10 +1051,6 @@ "$ref": "#/definitions/ErrorList" }, "headers": { - "x-amzn-RateLimit-Limit": { - "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned.", - "type": "string" - }, "x-amzn-RequestId": { "type": "string", "description": "Unique request reference identifier." @@ -1158,10 +1063,6 @@ "$ref": "#/definitions/ErrorList" }, "headers": { - "x-amzn-RateLimit-Limit": { - "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned.", - "type": "string" - }, "x-amzn-RequestId": { "type": "string", "description": "Unique request reference identifier." @@ -1175,7 +1076,7 @@ "reports" ], "operationId": "createReportSchedule", - "description": "Creates a report schedule. If a report schedule with the same report type and marketplace IDs already exists, it will be cancelled and replaced with this one.\n\n**Usage Plan:**\n\n| Rate (requests per second) | Burst |\n| ---- | ---- |\n| 0.0222 | 10 |\n\nThe `x-amzn-RateLimit-Limit` response header returns the usage plan rate limits that were applied to the requested operation, when available. The table above indicates the default rate and burst values for this operation. Selling partners whose business demands require higher throughput may see higher rate and burst values than those shown here. For more information, see [Usage Plans and Rate Limits in the Selling Partner API](https://developer-docs.amazon.com/sp-api/docs/usage-plans-and-rate-limits-in-the-sp-api).", + "description": "Creates a report schedule. If a report schedule with the same report type and marketplace IDs already exists, it will be cancelled and replaced with this one.\n\n**Usage Plan:**\n\n| Rate (requests per second) | Burst |\n| ---- | ---- |\n| 0.0222 | 10 |\n\nThe `x-amzn-RateLimit-Limit` response header returns the usage plan rate limits that were applied to the requested operation, when available. The table above indicates the default rate and burst values for this operation. Selling partners whose business demands require higher throughput may see higher rate and burst values than those shown here. For more information, refer to [Usage Plans and Rate Limits in the Selling Partner API](https://developer-docs.amazon.com/sp-api/docs/usage-plans-and-rate-limits-in-the-sp-api).", "parameters": [ { "name": "body", @@ -1183,7 +1084,8 @@ "required": true, "schema": { "$ref": "#/definitions/CreateReportScheduleSpecification" - } + }, + "description": "Information required to create the report schedule." } ], "responses": { @@ -1211,7 +1113,7 @@ "value": { "reportType": "FEE_DISCOUNTS_REPORT", "period": "PT5M", - "nextReportCreationTime": "2019-12-10T20:11:24.000Z", + "nextReportCreationTime": "2024-03-10T20:11:24.000Z", "marketplaceIds": [ "A1PA6795UKMFR9", "ATVPDKIKX0DER" @@ -1251,11 +1153,11 @@ "value": { "reportType": "BAD_FEE_DISCOUNTS_REPORT", "period": "PT5M", - "nextReportCreationTime": "2019-12-10T20:11:24.000Z" + "nextReportCreationTime": "2024-03-10T20:11:24.000Z" } } - } - }, + } + }, "response": { "errors": [ { @@ -1275,10 +1177,6 @@ "$ref": "#/definitions/ErrorList" }, "headers": { - "x-amzn-RateLimit-Limit": { - "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned.", - "type": "string" - }, "x-amzn-RequestId": { "type": "string", "description": "Unique request reference identifier." @@ -1319,10 +1217,6 @@ "$ref": "#/definitions/ErrorList" }, "headers": { - "x-amzn-RateLimit-Limit": { - "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned.", - "type": "string" - }, "x-amzn-RequestId": { "type": "string", "description": "Unique request reference identifier." @@ -1335,10 +1229,6 @@ "$ref": "#/definitions/ErrorList" }, "headers": { - "x-amzn-RateLimit-Limit": { - "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned.", - "type": "string" - }, "x-amzn-RequestId": { "type": "string", "description": "Unique request reference identifier." @@ -1351,10 +1241,6 @@ "$ref": "#/definitions/ErrorList" }, "headers": { - "x-amzn-RateLimit-Limit": { - "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned.", - "type": "string" - }, "x-amzn-RequestId": { "type": "string", "description": "Unique request reference identifier." @@ -1367,10 +1253,6 @@ "$ref": "#/definitions/ErrorList" }, "headers": { - "x-amzn-RateLimit-Limit": { - "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned.", - "type": "string" - }, "x-amzn-RequestId": { "type": "string", "description": "Unique request reference identifier." @@ -1387,7 +1269,7 @@ "reports" ], "operationId": "cancelReportSchedule", - "description": "Cancels the report schedule that you specify.\n\n**Usage Plan:**\n\n| Rate (requests per second) | Burst |\n| ---- | ---- |\n| 0.0222 | 10 |\n\nThe `x-amzn-RateLimit-Limit` response header returns the usage plan rate limits that were applied to the requested operation, when available. The table above indicates the default rate and burst values for this operation. Selling partners whose business demands require higher throughput may see higher rate and burst values than those shown here. For more information, see [Usage Plans and Rate Limits in the Selling Partner API](https://developer-docs.amazon.com/sp-api/docs/usage-plans-and-rate-limits-in-the-sp-api).", + "description": "Cancels the report schedule that you specify.\n\n**Usage Plan:**\n\n| Rate (requests per second) | Burst |\n| ---- | ---- |\n| 0.0222 | 10 |\n\nThe `x-amzn-RateLimit-Limit` response header returns the usage plan rate limits that were applied to the requested operation, when available. The table above indicates the default rate and burst values for this operation. Selling partners whose business demands require higher throughput may see higher rate and burst values than those shown here. For more information, refer to [Usage Plans and Rate Limits in the Selling Partner API](https://developer-docs.amazon.com/sp-api/docs/usage-plans-and-rate-limits-in-the-sp-api).", "parameters": [ { "name": "reportScheduleId", @@ -1464,10 +1346,6 @@ "$ref": "#/definitions/ErrorList" }, "headers": { - "x-amzn-RateLimit-Limit": { - "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned.", - "type": "string" - }, "x-amzn-RequestId": { "type": "string", "description": "Unique request reference identifier." @@ -1508,10 +1386,6 @@ "$ref": "#/definitions/ErrorList" }, "headers": { - "x-amzn-RateLimit-Limit": { - "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned.", - "type": "string" - }, "x-amzn-RequestId": { "type": "string", "description": "Unique request reference identifier." @@ -1524,10 +1398,6 @@ "$ref": "#/definitions/ErrorList" }, "headers": { - "x-amzn-RateLimit-Limit": { - "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned.", - "type": "string" - }, "x-amzn-RequestId": { "type": "string", "description": "Unique request reference identifier." @@ -1540,10 +1410,6 @@ "$ref": "#/definitions/ErrorList" }, "headers": { - "x-amzn-RateLimit-Limit": { - "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned.", - "type": "string" - }, "x-amzn-RequestId": { "type": "string", "description": "Unique request reference identifier." @@ -1556,10 +1422,6 @@ "$ref": "#/definitions/ErrorList" }, "headers": { - "x-amzn-RateLimit-Limit": { - "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned.", - "type": "string" - }, "x-amzn-RequestId": { "type": "string", "description": "Unique request reference identifier." @@ -1573,7 +1435,7 @@ "reports" ], "operationId": "getReportSchedule", - "description": "Returns report schedule details for the report schedule that you specify.\n\n**Usage Plan:**\n\n| Rate (requests per second) | Burst |\n| ---- | ---- |\n| 0.0222 | 10 |\n\nThe `x-amzn-RateLimit-Limit` response header returns the usage plan rate limits that were applied to the requested operation, when available. The table above indicates the default rate and burst values for this operation. Selling partners whose business demands require higher throughput may see higher rate and burst values than those shown here. For more information, see [Usage Plans and Rate Limits in the Selling Partner API](https://developer-docs.amazon.com/sp-api/docs/usage-plans-and-rate-limits-in-the-sp-api).", + "description": "Returns report schedule details for the report schedule that you specify.\n\n**Usage Plan:**\n\n| Rate (requests per second) | Burst |\n| ---- | ---- |\n| 0.0222 | 10 |\n\nThe `x-amzn-RateLimit-Limit` response header returns the usage plan rate limits that were applied to the requested operation, when available. The table above indicates the default rate and burst values for this operation. Selling partners whose business demands require higher throughput may see higher rate and burst values than those shown here. For more information, refer to [Usage Plans and Rate Limits in the Selling Partner API](https://developer-docs.amazon.com/sp-api/docs/usage-plans-and-rate-limits-in-the-sp-api).", "parameters": [ { "name": "reportScheduleId", @@ -1613,7 +1475,7 @@ "reportScheduleId": "ReportScheduleId1", "reportType": "FEE_DISCOUNTS_REPORT", "period": "PT5M", - "nextReportCreationTime": "2019-12-12T13:47:20.677Z" + "nextReportCreationTime": "2024-03-12T13:47:20.677Z" } } ] @@ -1663,10 +1525,6 @@ "$ref": "#/definitions/ErrorList" }, "headers": { - "x-amzn-RateLimit-Limit": { - "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned.", - "type": "string" - }, "x-amzn-RequestId": { "type": "string", "description": "Unique request reference identifier." @@ -1707,10 +1565,6 @@ "$ref": "#/definitions/ErrorList" }, "headers": { - "x-amzn-RateLimit-Limit": { - "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned.", - "type": "string" - }, "x-amzn-RequestId": { "type": "string", "description": "Unique request reference identifier." @@ -1723,10 +1577,6 @@ "$ref": "#/definitions/ErrorList" }, "headers": { - "x-amzn-RateLimit-Limit": { - "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned.", - "type": "string" - }, "x-amzn-RequestId": { "type": "string", "description": "Unique request reference identifier." @@ -1739,10 +1589,6 @@ "$ref": "#/definitions/ErrorList" }, "headers": { - "x-amzn-RateLimit-Limit": { - "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned.", - "type": "string" - }, "x-amzn-RequestId": { "type": "string", "description": "Unique request reference identifier." @@ -1755,10 +1601,6 @@ "$ref": "#/definitions/ErrorList" }, "headers": { - "x-amzn-RateLimit-Limit": { - "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned.", - "type": "string" - }, "x-amzn-RequestId": { "type": "string", "description": "Unique request reference identifier." @@ -1774,7 +1616,7 @@ "tags": [ "reports" ], - "description": "Returns the information required for retrieving a report document's contents.\n\n**Usage Plan:**\n\n| Rate (requests per second) | Burst |\n| ---- | ---- |\n| 0.0167 | 15 |\n\nThe `x-amzn-RateLimit-Limit` response header returns the usage plan rate limits that were applied to the requested operation, when available. The table above indicates the default rate and burst values for this operation. Selling partners whose business demands require higher throughput may see higher rate and burst values than those shown here. For more information, see [Usage Plans and Rate Limits in the Selling Partner API](https://developer-docs.amazon.com/sp-api/docs/usage-plans-and-rate-limits-in-the-sp-api).", + "description": "Returns the information required for retrieving a report document's contents.\n\n**Usage Plan:**\n\n| Rate (requests per second) | Burst |\n| ---- | ---- |\n| 0.0167 | 15 |\n\nThe `x-amzn-RateLimit-Limit` response header returns the usage plan rate limits that were applied to the requested operation, when available. The table above indicates the default rate and burst values for this operation. Selling partners whose business demands require higher throughput may see higher rate and burst values than those shown here. For more information, refer to [Usage Plans and Rate Limits in the Selling Partner API](https://developer-docs.amazon.com/sp-api/docs/usage-plans-and-rate-limits-in-the-sp-api).", "operationId": "getReportDocument", "parameters": [ { @@ -1798,7 +1640,7 @@ }, "x-amzn-RequestId": { "type": "string", - "description": "Unique request reference ID." + "description": "Unique request reference identifier." } }, "x-amzn-api-sandbox": { @@ -1831,7 +1673,7 @@ }, "x-amzn-RequestId": { "type": "string", - "description": "Unique request reference ID." + "description": "Unique request reference identifier." } }, "x-amzn-api-sandbox": { @@ -1863,13 +1705,9 @@ "$ref": "#/definitions/ErrorList" }, "headers": { - "x-amzn-RateLimit-Limit": { - "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned.", - "type": "string" - }, "x-amzn-RequestId": { "type": "string", - "description": "Unique request reference ID." + "description": "Unique request reference identifier." } } }, @@ -1881,7 +1719,7 @@ "headers": { "x-amzn-RequestId": { "type": "string", - "description": "Unique request reference ID." + "description": "Unique request reference identifier." } } }, @@ -1897,7 +1735,7 @@ }, "x-amzn-RequestId": { "type": "string", - "description": "Unique request reference ID." + "description": "Unique request reference identifier." } } }, @@ -1907,10 +1745,6 @@ "$ref": "#/definitions/ErrorList" }, "headers": { - "x-amzn-RateLimit-Limit": { - "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned.", - "type": "string" - }, "x-amzn-RequestId": { "type": "string", "description": "Unique request reference identifier." @@ -1923,13 +1757,9 @@ "$ref": "#/definitions/ErrorList" }, "headers": { - "x-amzn-RateLimit-Limit": { - "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned.", - "type": "string" - }, "x-amzn-RequestId": { "type": "string", - "description": "Unique request reference ID." + "description": "Unique request reference identifier." } } }, @@ -1939,13 +1769,9 @@ "$ref": "#/definitions/ErrorList" }, "headers": { - "x-amzn-RateLimit-Limit": { - "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned.", - "type": "string" - }, "x-amzn-RequestId": { "type": "string", - "description": "Unique request reference ID." + "description": "Unique request reference identifier." } } }, @@ -1955,13 +1781,9 @@ "$ref": "#/definitions/ErrorList" }, "headers": { - "x-amzn-RateLimit-Limit": { - "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned.", - "type": "string" - }, "x-amzn-RequestId": { "type": "string", - "description": "Unique request reference ID." + "description": "Unique request reference identifier." } } } @@ -1981,7 +1803,8 @@ "type": "array", "items": { "$ref": "#/definitions/Error" - } + }, + "description": "Error response returned when the request is unsuccessful." } } }, @@ -1998,7 +1821,7 @@ }, "message": { "type": "string", - "description": "A message that describes the error condition in a human-readable form." + "description": "A message that describes the error condition." }, "details": { "type": "string", @@ -2080,22 +1903,22 @@ }, { "value": "IN_QUEUE", - "description": "The report has not yet started processing. It may be waiting for another IN_PROGRESS report." + "description": "The report has not yet started processing. It may be waiting for another `IN_PROGRESS` report." } ] }, "processingStartTime": { - "description": "The date and time when the report processing started, in ISO 8601 date time format.", + "description": "The date and time when the report processing started, in ISO 8601 date time format.", "type": "string", "format": "date-time" }, "processingEndTime": { - "description": "The date and time when the report processing completed, in ISO 8601 date time format.", + "description": "The date and time when the report processing completed, in ISO 8601 date time format.", "type": "string", "format": "date-time" }, "reportDocumentId": { - "description": "The identifier for the report document. Pass this into the getReportDocument operation to get the information you will need to retrieve the report document's contents.", + "description": "The identifier for the report document. Pass this into the `getReportDocument` operation to get the information you will need to retrieve the report document's contents.", "type": "string" } } @@ -2109,6 +1932,7 @@ }, "CreateReportScheduleSpecification": { "type": "object", + "description": "Information required to create the report schedule.", "required": [ "marketplaceIds", "period", @@ -2132,7 +1956,7 @@ "$ref": "#/definitions/ReportOptions" }, "period": { - "description": "One of a set of predefined ISO 8601 periods that specifies how often a report should be created.", + "description": "One of a set of predefined ISO 8601 periods that specifies how often a report should be created.", "type": "string", "enum": [ "PT5M", @@ -2230,7 +2054,7 @@ ] }, "nextReportCreationTime": { - "description": "The date and time when the schedule will create its next report, in ISO 8601 date time format.", + "description": "The date and time when the schedule will create its next report, in ISO 8601 date time format.", "type": "string", "format": "date-time" } @@ -2252,12 +2076,12 @@ "type": "string" }, "dataStartTime": { - "description": "The start of a date and time range, in ISO 8601 date time format, used for selecting the data to report. The default is now. The value must be prior to or equal to the current date and time. Not all report types make use of this.", + "description": "The start of a date and time range, in ISO 8601 date time format, used for selecting the data to report. The default is now. The value must be prior to or equal to the current date and time. Not all report types make use of this.", "type": "string", "format": "date-time" }, "dataEndTime": { - "description": "The end of a date and time range, in ISO 8601 date time format, used for selecting the data to report. The default is now. The value must be prior to or equal to the current date and time. Not all report types make use of this.", + "description": "The end of a date and time range, in ISO 8601 date time format, used for selecting the data to report. The default is now. The value must be prior to or equal to the current date and time. Not all report types make use of this.", "type": "string", "format": "date-time" }, @@ -2307,11 +2131,11 @@ "$ref": "#/definitions/ReportOptions" }, "period": { - "description": "An ISO 8601 period value that indicates how often a report should be created.", + "description": "An ISO 8601 period value that indicates how often a report should be created.", "type": "string" }, "nextReportCreationTime": { - "description": "The date and time when the schedule will create its next report, in ISO 8601 date time format.", + "description": "The date and time when the schedule will create its next report, in ISO 8601 date time format.", "type": "string", "format": "date-time" } @@ -2328,13 +2152,14 @@ "type": "array", "items": { "$ref": "#/definitions/ReportSchedule" - } + }, + "description": "Detailed information about a report schedule." } } }, "CreateReportResponse": { "type": "object", - "description": "Response schema.", + "description": "The response schema.", "required": [ "reportId" ], @@ -2356,11 +2181,11 @@ "$ref": "#/definitions/ReportList" }, "nextToken": { - "description": "Returned when the number of results exceeds pageSize. To get the next page of results, call getReports with this token as the only parameter.", + "description": "Returned when the number of results exceeds `pageSize`. To get the next page of results, call `getReports` with this token as the only parameter.", "type": "string" } }, - "description": "The response for the getReports operation." + "description": "The response for the `getReports` operation." }, "CreateReportScheduleResponse": { "type": "object", @@ -2392,7 +2217,7 @@ "type": "string" }, "compressionAlgorithm": { - "description": "If the report document contents have been compressed, the compression algorithm used is returned in this property and you must decompress the report when you download. Otherwise, you can download the report directly. Refer to [Step 2. Download the report](doc:reports-api-v2021-06-30-retrieve-a-report#step-2-download-the-report) in the use case guide, where sample code is provided.", + "description": "If the report document contents have been compressed, the compression algorithm used is returned in this property and you must decompress the report when you download. Otherwise, you can download the report directly. Refer to [Step 2. Download the report](https://developer-docs.amazon.com/sp-api/docs/reports-api-v2021-06-30-retrieve-a-report#step-2-download-the-report) in the use case guide, where sample code is provided.", "type": "string", "enum": [ "GZIP" @@ -2408,4 +2233,4 @@ } }, "basePath": "/" -} +} \ No newline at end of file From d01d8c59e811edcf79a5999a5731d724347bdea5 Mon Sep 17 00:00:00 2001 From: Jack Evoniuk Date: Wed, 24 Apr 2024 11:53:03 -0700 Subject: [PATCH 239/340] Update Vendor report schemas --- schemas/reports/vendorForecastingReport.json | 13 ++++++++++++- schemas/reports/vendorInventoryReport.json | 18 +++++++++++++++--- .../vendorNetPureProductMarginReport.json | 13 ++++++++++++- schemas/reports/vendorSalesReport.json | 15 ++++++++++++++- schemas/reports/vendorTrafficReport.json | 13 ++++++++++++- 5 files changed, 65 insertions(+), 7 deletions(-) diff --git a/schemas/reports/vendorForecastingReport.json b/schemas/reports/vendorForecastingReport.json index b685a22e8..9b4c4a360 100644 --- a/schemas/reports/vendorForecastingReport.json +++ b/schemas/reports/vendorForecastingReport.json @@ -9,6 +9,7 @@ "reportOptions": { "sellingProgram": "RETAIL" }, + "lastUpdatedDate": "2021-06-20", "marketplaceIds": [ "ATVPDKIKX0DER" ] @@ -268,13 +269,14 @@ "properties": { "reportSpecification": { "type": "object", - "description": "Report input summary which includes the marketplace and selling program.", + "description": "The report input summary which includes the marketplace, selling program, and last updated date.", "examples": [ { "reportType": "GET_VENDOR_FORECASTING_REPORT", "reportOptions": { "sellingProgram": "RETAIL" }, + "lastUpdatedDate": "2021-06-20", "marketplaceIds": [ "ATVPDKIKX0DER" ] @@ -283,6 +285,7 @@ "required": [ "reportType", "reportOptions", + "lastUpdatedDate", "marketplaceIds" ], "properties": { @@ -315,6 +318,14 @@ } } }, + "lastUpdatedDate": { + "type": "string", + "format": "date", + "description": "The date when the report was last updated. Follows the ISO 8601 Date format of YYYY-MM-DD.", + "examples": [ + "2021-06-20" + ] + }, "marketplaceIds": { "type": "array", "description": "This parameter must match the marketplaceId of the selling partner account. Each selling partner account belongs to only one marketplaceId.", diff --git a/schemas/reports/vendorInventoryReport.json b/schemas/reports/vendorInventoryReport.json index 4cb37e519..04f281a4c 100644 --- a/schemas/reports/vendorInventoryReport.json +++ b/schemas/reports/vendorInventoryReport.json @@ -1,7 +1,7 @@ { "$schema": "http://json-schema.org/draft-07/schema", "type": "object", - "description": "This report shares inventory data of a vendor's items both at an aggregated level (across the vendor's entire catalog of items) and at a per-ASIN level. Data is available at different date range aggregation levels: WEEK, MONTH, QUARTER, YEAR. Requests can span multiple date range periods. For example, if the customer specified reportPeriod=WEEK and a dataStartTime and dataEndTime that are 3 weeks apart, the report would contain data for each of those 3 contiguous weeks.", + "description": "This report shares inventory data of a vendor's items both at an aggregated level (across the vendor's entire catalog of items) and at a per-ASIN level. Data is available at different date range aggregation levels: DAY, WEEK, MONTH, QUARTER, YEAR. Requests can span multiple date range periods. For example, if the customer specified reportPeriod=WEEK and a dataStartTime and dataEndTime that are 3 weeks apart, the report would contain data for each of those 3 contiguous weeks.", "examples": [ { "reportSpecification": { @@ -11,6 +11,7 @@ "sellingProgram": "RETAIL", "distributorView": "MANUFACTURING" }, + "lastUpdatedDate": "2021-06-20", "dataStartTime": "2021-06-06", "dataEndTime": "2021-06-19", "marketplaceIds": [ @@ -257,7 +258,7 @@ "properties": { "reportSpecification": { "type": "object", - "description": "Report summary including a reporting date range, distributor view, and selling program in the input.", + "description": "The report summary including a reporting date range, distributor view, selling program, and last updated date in the input.", "examples": [ { "reportType": "GET_VENDOR_INVENTORY_REPORT", @@ -266,6 +267,7 @@ "reportPeriod": "WEEK", "sellingProgram": "RETAIL" }, + "lastUpdatedDate": "2021-06-20", "dataStartTime": "2021-06-06", "dataEndTime": "2021-06-19", "marketplaceIds": [ @@ -276,6 +278,7 @@ "required": [ "reportType", "reportOptions", + "lastUpdatedDate", "dataStartTime", "dataEndTime", "marketplaceIds" @@ -314,8 +317,9 @@ }, "reportPeriod": { "type": "string", - "description": "Determines what granularity of data is expected in the report. Valid values are: WEEK, MONTH, QUARTER, YEAR.", + "description": "Determines what granularity of data is expected in the report. Valid values are: DAY, WEEK, MONTH, QUARTER, YEAR.", "enum": [ + "DAY", "WEEK", "MONTH", "QUARTER", @@ -332,6 +336,14 @@ } } }, + "lastUpdatedDate": { + "type": "string", + "format": "date", + "description": "The date when the report was last updated. Follows the ISO 8601 Date format of YYYY-MM-DD.", + "examples": [ + "2021-06-20" + ] + }, "dataStartTime": { "type": "string", "format": "date", diff --git a/schemas/reports/vendorNetPureProductMarginReport.json b/schemas/reports/vendorNetPureProductMarginReport.json index 208f6a3a9..dfb9efd45 100644 --- a/schemas/reports/vendorNetPureProductMarginReport.json +++ b/schemas/reports/vendorNetPureProductMarginReport.json @@ -9,6 +9,7 @@ "reportOptions": { "reportPeriod": "WEEK" }, + "lastUpdatedDate": "2021-06-20", "dataStartTime": "2021-06-06", "dataEndTime": "2021-06-19", "marketplaceIds": [ @@ -63,13 +64,14 @@ "properties": { "reportSpecification": { "type": "object", - "description": "Summarizes the original report request.", + "description": "The report summary including the specified reporting date range and the last updated date in the input.", "examples": [ { "reportType": "GET_VENDOR_NET_PURE_PRODUCT_MARGIN_REPORT", "reportOptions": { "reportPeriod": "WEEK" }, + "lastUpdatedDate": "2021-06-20", "dataStartTime": "2021-06-06", "dataEndTime": "2021-06-19", "marketplaceIds": [ @@ -80,6 +82,7 @@ "required": [ "reportType", "reportOptions", + "lastUpdatedDate", "dataStartTime", "dataEndTime", "marketplaceIds" @@ -112,6 +115,14 @@ } } }, + "lastUpdatedDate": { + "type": "string", + "format": "date", + "description": "The date when the report was last updated. Follows the ISO 8601 Date format of YYYY-MM-DD.", + "examples": [ + "2021-06-20" + ] + }, "dataStartTime": { "type": "string", "format": "date", diff --git a/schemas/reports/vendorSalesReport.json b/schemas/reports/vendorSalesReport.json index 87f0ebf53..e6bd1bc04 100644 --- a/schemas/reports/vendorSalesReport.json +++ b/schemas/reports/vendorSalesReport.json @@ -11,6 +11,7 @@ "reportPeriod": "WEEK", "sellingProgram": "RETAIL" }, + "lastUpdatedDate": "2021-06-20", "dataStartTime": "2021-06-06", "dataEndTime": "2021-06-19", "marketplaceIds": [ @@ -148,6 +149,7 @@ "reportPeriod": "WEEK", "sellingProgram": "FRESH" }, + "lastUpdatedDate": "2021-06-20", "dataStartTime": "2021-06-06", "dataEndTime": "2021-06-19", "marketplaceIds": [ @@ -204,6 +206,7 @@ "reportPeriod": "WEEK", "sellingProgram": "RETAIL" }, + "lastUpdatedDate": "2021-06-20", "dataStartTime": "2021-06-06", "dataEndTime": "2021-06-12", "marketplaceIds": [ @@ -268,7 +271,7 @@ "properties": { "reportSpecification": { "type": "object", - "description": "Report summary including reporting date range, distributor view, and selling program in the input.", + "description": "The report summary including reporting date range, distributor view, selling program, and last updated date in the input.", "examples": [ { "reportType": "GET_VENDOR_SALES_REPORT", @@ -277,6 +280,7 @@ "reportPeriod": "WEEK", "sellingProgram": "RETAIL" }, + "lastUpdatedDate": "2021-06-20", "dataStartTime": "2021-06-06", "dataEndTime": "2021-06-19", "marketplaceIds": [ @@ -287,6 +291,7 @@ "required": [ "reportType", "reportOptions", + "lastUpdatedDate", "dataStartTime", "dataEndTime", "marketplaceIds" @@ -345,6 +350,14 @@ } } }, + "lastUpdatedDate": { + "type": "string", + "format": "date", + "description": "The date when the report was last updated. Follows the ISO 8601 Date format of YYYY-MM-DD.", + "examples": [ + "2021-06-20" + ] + }, "dataStartTime": { "type": "string", "format": "date", diff --git a/schemas/reports/vendorTrafficReport.json b/schemas/reports/vendorTrafficReport.json index 60fd4d5e1..522b3c94f 100644 --- a/schemas/reports/vendorTrafficReport.json +++ b/schemas/reports/vendorTrafficReport.json @@ -9,6 +9,7 @@ "reportOptions": { "reportPeriod": "WEEK" }, + "lastUpdatedDate": "2021-06-20", "dataStartTime": "2021-06-06", "dataEndTime": "2021-06-19", "marketplaceIds": [ @@ -51,13 +52,14 @@ "properties": { "reportSpecification": { "type": "object", - "description": "Report summary including the specified reporting date range in the input.", + "description": "The report summary including the specified reporting date range and the last updated date in the input.", "examples": [ { "reportType": "GET_VENDOR_TRAFFIC_REPORT", "reportOptions": { "reportPeriod": "WEEK" }, + "lastUpdatedDate": "2021-06-20", "dataStartTime": "2021-06-06", "dataEndTime": "2021-06-19", "marketplaceIds": [ @@ -68,6 +70,7 @@ "required": [ "reportType", "reportOptions", + "lastUpdatedDate", "dataStartTime", "dataEndTime", "marketplaceIds" @@ -105,6 +108,14 @@ } } }, + "lastUpdatedDate": { + "type": "string", + "format": "date", + "description": "The date when the report was last updated. Follows the ISO 8601 date format of YYYY-MM-DD.", + "examples": [ + "2021-06-20" + ] + }, "dataStartTime": { "type": "string", "format": "date", From 12b259062d732bbf85a55896154ba7a1ba74282e Mon Sep 17 00:00:00 2001 From: Jack Evoniuk Date: Wed, 24 Apr 2024 13:56:48 -0700 Subject: [PATCH 240/340] Update Sales and Traffic 2024 schema --- ...alytics_salesAndTraffic_2024_04_24.graphql | 867 +++++++++--------- 1 file changed, 408 insertions(+), 459 deletions(-) diff --git a/schemas/data-kiosk/analytics_salesAndTraffic_2024_04_24.graphql b/schemas/data-kiosk/analytics_salesAndTraffic_2024_04_24.graphql index 691307c99..597668d4b 100644 --- a/schemas/data-kiosk/analytics_salesAndTraffic_2024_04_24.graphql +++ b/schemas/data-kiosk/analytics_salesAndTraffic_2024_04_24.graphql @@ -1,625 +1,574 @@ -""" -A Scalar for the primitive long type. -""" -scalar Long -""" -An RFC-3339 compliant Full Date Scalar. Example: "2023-11-15" -""" -scalar Date - -extend type Query - @domainResolver( - sdpInstanceType: "amzn1.sdp.1.type.1.DataKiosk.Domain.Analytics_SalesAndTraffic_2024_04_24" - ) { - """ - Analytics Sales and Traffic queries version 2024_04_24. - """ - analytics_salesAndTraffic_2024_04_24: Analytics_SalesAndTraffic_2024_04_24 +schema { + query: Query } """ -A root type for Analytics Sales and Traffic queries version 2024_04_24. +This directive specifies the retention duration of a query containing a +particular field. When a query contains multiple fields with different +retentions, the shortest (minimum) retention is applied to the query. The +retention of a query's resulting documents always matches the retention of the query. """ -type Analytics_SalesAndTraffic_2024_04_24 { - """ - A query to retrieve sales and traffic data for the seller's account aggregated by date. - """ - salesAndTrafficByDate( - """ - The start date of the sales and traffic data to retrieve. The start date must be no more than two years ago. If the provided start date occurs mid-week or mid-month, the following Sunday for WEEK date granularity or the first day of the next month for MONTH date granularity will be used instead. - """ - startDate: Date! - - """ - The end date of the sales and traffic data to retrieve. If the provided end date occurs mid-week or mid-month, the preceding Saturday for WEEK date granularity or the last day of the previous month for MONTH date granularity will be used instead. - """ - endDate: Date! +directive @resultRetention( + "An ISO 8601 duration." + duration: String! + ) on FIELD_DEFINITION - """ - The marketplace identifiers to retrieve sales and traffic data for. - """ - marketplaceIds: [String!]! - - """ - Determines how the sales and traffic data should be aggregated. - """ - aggregateBy: DateGranularity! - ): [SalesAndTrafficByDate] @supportedAccountTypes(types: [MERCHANT]) +"Monetary amount with the corresponding currency code." +type Amount { + "The amount." + amount: Float! + "Currency code of the amount in ISO 4217 format." + currencyCode: String! +} - """ - A query to retrieve sales and traffic data for the seller's account aggregated by ASIN. - """ +"A root type for Analytics Sales and Traffic queries version 2024_04_24." +type Analytics_SalesAndTraffic_2024_04_24 { + "A query to retrieve sales and traffic data for the seller's account aggregated by ASIN." salesAndTrafficByAsin( + "Determines how the sales and traffic data should be aggregated." + aggregateBy: AsinGranularity!, """ - The start date of the sales and traffic data to retrieve. The start date must be no more than two years ago. If a date granularity is specified and the provided start date occurs mid-week or mid-month, the following Sunday for WEEK date granularity or the first day of the next month for MONTH date granularity will be used instead. + The end date of the sales and traffic data to retrieve. If a date + granularity is specified and the provided end date occurs mid-week or + mid-month, the preceding Saturday for WEEK date granularity or the last day + of the previous month for MONTH date granularity will be used instead. """ - startDate: Date! - + endDate: Date!, + "The marketplace identifiers to retrieve sales and traffic data for." + marketplaceIds: [String!]!, """ - The end date of the sales and traffic data to retrieve. If a date granularity is specified and the provided end date occurs mid-week or mid-month, the preceding Saturday for WEEK date granularity or the last day of the previous month for MONTH date granularity will be used instead. + The start date of the sales and traffic data to retrieve. The start date + must be no more than two years ago. If a date granularity is specified and + the provided start date occurs mid-week or mid-month, the following Sunday + for WEEK date granularity or the first day of the next month for MONTH date + granularity will be used instead. """ - endDate: Date! - + startDate: Date! + ): [SalesAndTrafficByAsin] + "A query to retrieve sales and traffic data for the seller's account aggregated by date." + salesAndTrafficByDate( + "Determines how the sales and traffic data should be aggregated." + aggregateBy: DateGranularity!, """ - The marketplace identifiers to retrieve sales and traffic data for. + The end date of the sales and traffic data to retrieve. If the provided end + date occurs mid-week or mid-month, the preceding Saturday for WEEK date + granularity or the last day of the previous month for MONTH date granularity + will be used instead. """ - marketplaceIds: [String!]! - + endDate: Date!, + "The marketplace identifiers to retrieve sales and traffic data for." + marketplaceIds: [String!]!, """ - Determines how the sales and traffic data should be aggregated. + The start date of the sales and traffic data to retrieve. The start date + must be no more than two years ago. If the provided start date occurs + mid-week or mid-month, the following Sunday for WEEK date granularity or the + first day of the next month for MONTH date granularity will be used instead. """ - aggregateBy: AsinGranularity! - ): [SalesAndTrafficByAsin] @supportedAccountTypes(types: [MERCHANT]) + startDate: Date! + ): [SalesAndTrafficByDate] } -""" -The sales and traffic data for the seller's account aggregated by date. -""" -type SalesAndTrafficByDate { +"The sales data for the seller's account aggregated by ASIN." +type ByAsinSales { """ - The marketplace identifier of the sales and traffic data. + The amount of ordered product sales, calculated by multiplying the price of + products and the number of units sold for the selected time period. """ - marketplaceId: String! - @paamRights(require: ["analytics_sales_and_traffic_view_pa"]) - @resultRetention(duration: "P30D") - + orderedProductSales: Amount! @resultRetention(duration : "P30D") """ - The start date of the sales and traffic data. + The amount of ordered product sales to Amazon Business customers, calculated + by multiplying the price of products and the number of units sold for the + selected time period. Note: This field is only populated when the seller is a B2B seller. """ - startDate: Date! - @paamRights(require: ["analytics_sales_and_traffic_view_pa"]) - @resultRetention(duration: "P30D") - + orderedProductSalesB2B: Amount @resultRetention(duration : "P30D") + "The number of items that were ordered for the selected time period." + totalOrderItems: Long! @resultRetention(duration : "P30D") """ - The end date of the sales and traffic data. + The number of items that were ordered by Amazon Business customers for the + selected time period. Note: This field is only populated when the seller is a B2B seller. """ - endDate: Date! - @paamRights(require: ["analytics_sales_and_traffic_view_pa"]) - @resultRetention(duration: "P30D") - + totalOrderItemsB2B: Long @resultRetention(duration : "P30D") + "The number of units ordered." + unitsOrdered: Long! @resultRetention(duration : "P30D") """ - The sales data for the seller's account. + The number of units ordered by Amazon Business customers. Note: This field is + only populated when the seller is a B2B seller. """ - sales: ByDateSales! - @paamRights(require: ["analytics_sales_and_traffic_view_pa"]) - - """ - The traffic data for the seller's account. - """ - traffic: ByDateTraffic! - @paamRights(require: ["analytics_sales_and_traffic_view_pa"]) + unitsOrderedB2B: Long @resultRetention(duration : "P30D") } -""" -The sales data for the seller's account aggregated by date. -""" -type ByDateSales { - """ - The amount of ordered product sales, calculated by multiplying the price of products and the number of units sold for the selected time period. - """ - orderedProductSales: Amount! @resultRetention(duration: "P30D") - - """ - The amount of ordered product sales to Amazon Business customers, calculated by multiplying the price of products and the number of units sold for the selected time period. - """ - orderedProductSalesB2B: Amount @resultRetention(duration: "P30D") - - """ - The number of units ordered for the selected time period. Example: For an order containing 2 copies of book A and 3 copies of book B, the number of orders is 1, the number of order items is 2 (book A and book B), and the number of units is 5 (2 + 3). - """ - unitsOrdered: Long! @resultRetention(duration: "P30D") - - """ - The number of units ordered by Amazon Business customers for the selected time period. Example: For an order containing 2 copies of book A and 3 copies of book B, the number of orders is 1, the number of order items is 2 (book A and book B), and the number of units is 5 (2 + 3). - """ - unitsOrderedB2B: Long @resultRetention(duration: "P30D") - - """ - The number of items that were ordered for the selected time period. Example: For an order containing 2 copies of book A and 3 copies of book B, the number of orders is 1, the number of order items is 2 (book A and book B), and the number of units is 5 (2 + 3). - """ - totalOrderItems: Long! @resultRetention(duration: "P30D") - - """ - The number of items that were ordered by Amazon Business customers for the selected time period. Example: For an order containing 2 copies of book A and 3 copies of book B, the number of orders is 1, the number of order items is 2 (book A and book B), and the number of units is 5 (2 + 3). - """ - totalOrderItemsB2B: Long @resultRetention(duration: "P30D") - - """ - The average ordered product sales, calculated by dividing orderedProductSales by totalOrderItems for the selected time period. - """ - averageSalesPerOrderItem: Amount! @resultRetention(duration: "P30D") - - """ - The average ordered product sales to Amazon Business customers, calculated by dividing orderedProductSalesB2B by totalOrderItemsB2B for the selected time period. Note: This field is only populated when the seller is a B2B seller. - """ - averageSalesPerOrderItemB2B: Amount @resultRetention(duration: "P30D") - - """ - The average number of units in each order item for the selected time period. - """ - averageUnitsPerOrderItem: Float! @resultRetention(duration: "P30D") - - """ - The average number of units in each order item ordered by Amazon Business customers for the selected time period. Note: This field is only populated when the seller is a B2B seller. - """ - averageUnitsPerOrderItemB2B: Float @resultRetention(duration: "P30D") - - """ - The average price of the units sold in the selected time period, calculated by dividing the orderedProductSales by unitsOrdered for the selected time period. - """ - averageSellingPrice: Amount! @resultRetention(duration: "P30D") - - """ - The average price of the units sold to Amazon Business customers, calculated by dividing the orderedProductSalesB2B by unitsOrderedB2B for the selected time period. Note: This field is only populated when the seller is a B2B seller. - """ - averageSellingPriceB2B: Amount @resultRetention(duration: "P30D") - - """ - The number of units refunded in the selected time period. - """ - unitsRefunded: Long! @resultRetention(duration: "P30D") - +"The traffic data for the seller's account aggregated by ASIN." +type ByAsinTraffic { + "Browser page views are the number of times a user visited your Amazon.com browser pages for the selected time period." + browserPageViews: Long! @resultRetention(duration : "P30D") """ - The percentage conversion metric indicating how many orders were refunded by the seller, calculated by dividing unitsOrdered by unitsRefunded in the selected time period. + Browser B2B page views are the number of times an Amazon Business customer + visited your Amazon.com browser pages for the selected time period. Note: This + field is only populated when the seller is a B2B seller. """ - refundRate: Float! @resultRetention(duration: "P30D") - + browserPageViewsB2B: Long @resultRetention(duration : "P30D") """ - The number of A-to-z guarantee claims granted. + The percentage of browser page views that a particular SKU/ASIN receives + relative to the total number of browser page views for all products. """ - claimsGranted: Long! @resultRetention(duration: "P30D") - + browserPageViewsPercentage: Float! @resultRetention(duration : "P30D") """ - Monetary amount of filed A-to-z guarantee claims. + The percentage of browser views by Amazon Business customers that a particular + SKU/ASIN receives relative to the total number of mobile page views by Amazon + Business customers for all products. Note: This field is only populated when + the seller is a B2B seller. """ - claimsAmount: Amount! @resultRetention(duration: "P30D") - + browserPageViewsPercentageB2B: Float @resultRetention(duration : "P30D") """ - The amount of ordered product sales shipped for the selected time period. + The percentage of browser sessions that contain at least one page view for a + particular SKU/ASIN relative to the total number of browser sessions for all products. """ - shippedProductSales: Amount! @resultRetention(duration: "P30D") - + browserSessionPercentage: Float! @resultRetention(duration : "P30D") """ - The number of units shipped in the selected time period. + The percentage of browser sessions that contain at least one page view by an + Amazon Business customer for a particular SKU/ASIN relative to the total + number of browser sessions by Amazon Business customers for all products. + Note: This field is only populated when the seller is a B2B seller. """ - unitsShipped: Long! @resultRetention(duration: "P30D") - + browserSessionPercentageB2B: Float @resultRetention(duration : "P30D") """ - The number of orders shipped in the selected time period. + Browser sessions are visits to your Amazon.com browser pages by a user. All + browser activity within a 24-hour period is considered a browser session. For + example, if a user visits your pages using a browser multiple times within a + 24 hour period it is counted as a single browser session. """ - ordersShipped: Long! @resultRetention(duration: "P30D") -} - -""" -The traffic data for the seller's account aggregated by date. -""" -type ByDateTraffic { + browserSessions: Long! @resultRetention(duration : "P30D") """ - Browser sessions are visits to your Amazon.com browser pages by a user. All browser activity within a 24-hour period is considered a browser session. For example, if a user visits your pages using a browser multiple times within a 24 hour period it is counted as a single browser session. + Browser B2B sessions are visits to your Amazon.com browser pages by an Amazon + Business customer. All activity within a 24-hour period is considered a + browser session. For example, if an Amazon Business customer visits your pages + using browser multiple times within a 24 hour period it is counted as a single + session. Note: This field is only populated when the seller is a B2B seller. """ - browserSessions: Long! @resultRetention(duration: "P30D") - + browserSessionsB2B: Long @resultRetention(duration : "P30D") """ - Browser B2B sessions are visits to your Amazon.com browser pages by an Amazon Business customer. All activity within a 24-hour period is considered a browser session. For example, if an Amazon Business customer visits your pages using browser multiple times within a 24 hour period it is counted as a single session. Note: This field is only populated when the seller is a B2B seller. + The percentage of page views where the buy box (the add to shopping cart link) + appeared on the page for customers to add your product to their cart. """ - browserSessionsB2B: Long @resultRetention(duration: "P30D") - + buyBoxPercentage: Float! @resultRetention(duration : "P30D") """ - Mobile app sessions are visits to your Amazon.com mobile app pages by a user. All mobile app activity within a 24-hour period is considered a mobile app session. For example, if a user visits your pages using a mobile app multiple times within a 24 hour period it is counted as a single mobile app session. + The percentage of page views by Amazon Business customers where the buy box + (the add to shopping cart link) appeared on the page for customers to add your + product to their cart. Note: This field is only populated when the seller is a B2B seller. """ - mobileAppSessions: Long! @resultRetention(duration: "P30D") - + buyBoxPercentageB2B: Float @resultRetention(duration : "P30D") """ - Mobile app B2B sessions are visits to your Amazon.com mobile app pages by an Amazon Business customer. All activity within a 24-hour period is considered a mobile app session. For example, if an Amazon Business customer visits your pages using mobile app multiple times within a 24 hour period it is counted as a single session. Note: This field is only populated when the seller is a B2B seller. + Mobile app page views are the number of times a user visited your Amazon.com + mobile app pages for the selected time period. """ - mobileAppSessionsB2B: Long @resultRetention(duration: "P30D") - + mobileAppPageViews: Long! @resultRetention(duration : "P30D") """ - Sessions are visits to your Amazon.com browser or mobile app pages by a user. All browser and mobile app activity within a 24-hour period is considered a session. It is calculated as the sum of browserSessions and mobileAppSessions. + Mobile app B2B page views are the number of times an Amazon Business customer + visited your Amazon.com mobile app pages for the selected time period. Note: + This field is only populated when the seller is a B2B seller. """ - sessions: Long! @resultRetention(duration: "P30D") - + mobileAppPageViewsB2B: Long @resultRetention(duration : "P30D") """ - B2B sessions are visits to your Amazon.com pages using browser or mobile app by an Amazon Business customer. All activity within a 24-hour period is considered a session. For example, if an Amazon Business customer visits your pages multiple times using mobile app or browser within a 24 hour period it is counted as a single session. Note: This field is only populated when the seller is a B2B seller. + The percentage of mobile app page views that a particular SKU/ASIN receives + relative to the total number of mobile app page views for all products. """ - sessionsB2B: Long @resultRetention(duration: "P30D") - + mobileAppPageViewsPercentage: Float! @resultRetention(duration : "P30D") """ - Browser page views are the number of times a user visited your Amazon.com browser pages for the selected time period. + The percentage of mobile page views by Amazon Business customers that a + particular SKU/ASIN receives relative to the total number of mobile page views + by Amazon Business customers for all products. Note: This field is only + populated when the seller is a B2B seller. """ - browserPageViews: Long! @resultRetention(duration: "P30D") - + mobileAppPageViewsPercentageB2B: Float @resultRetention(duration : "P30D") """ - Browser B2B page views are the number of times an Amazon Business customer visited your Amazon.com browser pages for the selected time period. Note: This field is only populated when the seller is a B2B seller. + The percentage of mobile app sessions that contain at least one page view for + a particular SKU/ASIN relative to the total number of mobile app sessions for all products. """ - browserPageViewsB2B: Long @resultRetention(duration: "P30D") - + mobileAppSessionPercentage: Float! @resultRetention(duration : "P30D") """ - Mobile app page views are the number of times a user visited your Amazon.com mobile app pages for the selected time period. + The percentage of mobile app sessions that contain at least one page view by + an Amazon Business customer for a particular SKU/ASIN relative to the total + number of mobile app sessions by Amazon Business customers for all products. + Note: This field is only populated when the seller is a B2B seller. """ - mobileAppPageViews: Long! @resultRetention(duration: "P30D") - + mobileAppSessionPercentageB2B: Float @resultRetention(duration : "P30D") """ - Mobile app B2B page views are the number of times an Amazon Business customer visited your Amazon.com mobile app pages for the selected time period. Note: This field is only populated when the seller is a B2B seller. + Mobile app sessions are visits to your Amazon.com mobile app pages by a user. + All mobile app activity within a 24-hour period is considered a mobile app + session. For example, if a user visits your pages using a mobile app multiple + times within a 24 hour period it is counted as a single mobile app session. """ - mobileAppPageViewsB2B: Long @resultRetention(duration: "P30D") - + mobileAppSessions: Long! @resultRetention(duration : "P30D") """ - Page views are the number of times a user visited your Amazon.com browser or mobile app pages for the selected time period. It is calculated as the sum of browserPageViews and mobileAppPageViews. + Mobile app B2B sessions are visits to your Amazon.com mobile app pages by an + Amazon Business customer. All activity within a 24-hour period is considered a + mobile app session. For example, if an Amazon Business customer visits your + pages using mobile app multiple times within a 24 hour period it is counted as + a single session. Note: This field is only populated when the seller is a B2B seller. """ - pageViews: Long! @resultRetention(duration: "P30D") - + mobileAppSessionsB2B: Long @resultRetention(duration : "P30D") """ - B2B page views are the number of times an Amazon Business customer visited your Amazon.com pages using browser or mobile app for the selected time period. Note: This field is only populated when the seller is a B2B seller. + Page views are the number of times a user visited your Amazon.com browser or + mobile app pages for the selected time period. It is calculated as the sum of + browserPageViews and mobileAppPageViews. """ - pageViewsB2B: Long @resultRetention(duration: "P30D") - + pageViews: Long! @resultRetention(duration : "P30D") """ - The percentage of page views where the buy box (the add to shopping cart link) appeared on the page for customers to add your product to their cart. + B2B page views are the number of times an Amazon Business customer visited + your Amazon.com pages using browser or mobile app for the selected time + period. Note: This field is only populated when the seller is a B2B seller. """ - buyBoxPercentage: Float! @resultRetention(duration: "P30D") - + pageViewsB2B: Long @resultRetention(duration : "P30D") """ - The percentage of page views by Amazon Business customers where the buy box (the add to shopping cart link) appeared on the page for customers to add your product to their cart. Note: This field is only populated when the seller is a B2B seller. + The percentage of browser and mobile app page views that a particular SKU/ASIN + receives relative to the total number of browser and mobile app page views for all products. """ - buyBoxPercentageB2B: Float @resultRetention(duration: "P30D") - + pageViewsPercentage: Float! @resultRetention(duration : "P30D") """ - The percentage conversion metric indicating how many order items were generated relative to the number of people who viewed the products. + The percentage of page views by Amazon Business customers that a particular + SKU/ASIN receives relative to the total number of page views by Amazon + Business customers for all products. Note: This field is only populated when + the seller is a B2B seller. """ - orderItemSessionPercentage: Float! @resultRetention(duration: "P30D") - + pageViewsPercentageB2B: Float @resultRetention(duration : "P30D") """ - The percentage conversion metric indicating how many order items were generated by Amazon Business customers relative to the number of Amazon Business customers who viewed the products. Note: This field is only populated when the seller is a B2B seller. + The percentage of sessions that contain at least one page view for a + particular SKU/ASIN relative to the total number of sessions for all products. """ - orderItemSessionPercentageB2B: Float @resultRetention(duration: "P30D") - + sessionPercentage: Float! @resultRetention(duration : "P30D") """ - The percentage conversion metric indicating how many units were purchased relative to the number of people who viewed the products. + The percentage of sessions that contain at least one page view by an Amazon + Business customer for a particular SKU/ASIN relative to the total number of + sessions by Amazon Business customers for all products. Note: This field is + only populated when the seller is a B2B seller. """ - unitSessionPercentage: Float! @resultRetention(duration: "P30D") - + sessionPercentageB2B: Float @resultRetention(duration : "P30D") """ - The percentage conversion metric indicating how many units were purchased by Amazon Business customers relative to number of Amazon Business customers who viewed the products. Note: This field is only populated when the seller is a B2B seller. + Sessions are visits to your Amazon.com browser or mobile app pages by a user. + All browser and mobile app activity within a 24-hour period is considered a + session. It is calculated as the sum of browserSessions and mobileAppSessions. """ - unitSessionPercentageB2B: Float @resultRetention(duration: "P30D") - + sessions: Long! @resultRetention(duration : "P30D") """ - The average number of offers listed for sale in the selected time period. It is calculated from the total number of offers and the total number of days in the selected time period. + B2B sessions are visits to your Amazon.com pages using browser or mobile app + by an Amazon Business customer. All activity within a 24-hour period is + considered a session. For example, if an Amazon Business customer visits your + pages multiple times using mobile app or browser within a 24 hour period it is + counted as a single session. Note: This field is only populated when the + seller is a B2B seller. """ - averageOfferCount: Long! @resultRetention(duration: "P30D") - + sessionsB2B: Long @resultRetention(duration : "P30D") """ - The average number of parent items listed for sale in the selected time period. + The percentage conversion metric indicating how many units were purchased + relative to the number of people who viewed the products, calculated by + dividing unitsOrdered by sessions. """ - averageParentItems: Long! @resultRetention(duration: "P30D") - + unitSessionPercentage: Float! @resultRetention(duration : "P30D") """ - The number of times customers left feedback in the selected time period. + The percentage conversion metric indicating how many units were purchased by + Amazon Business customers relative to the number of Amazon Business customers + who viewed the products, calculated by dividing unitsOrderedB2B by sessions. + Note: This field is only populated when the seller is a B2B seller. """ - feedbackReceived: Long! @resultRetention(duration: "P30D") - - """ - The number of times customers left negative feedback in the selected time period. - """ - negativeFeedbackReceived: Long! @resultRetention(duration: "P30D") - - """ - The negative feedback rate is the number of orders that have received negative feedback divided by the number of orders in the selected time period. - """ - receivedNegativeFeedbackRate: Float! @resultRetention(duration: "P30D") + unitSessionPercentageB2B: Float @resultRetention(duration : "P30D") } -""" -The sales and traffic data for the seller's account aggregated by ASIN. -""" -type SalesAndTrafficByAsin { +"The sales data for the seller's account aggregated by date." +type ByDateSales { """ - The marketplace identifier of the sales and traffic data. + The average ordered product sales, calculated by dividing orderedProductSales + by totalOrderItems for the selected time period. """ - marketplaceId: String! - @paamRights(require: ["analytics_sales_and_traffic_view_pa"]) - @resultRetention(duration: "P30D") - + averageSalesPerOrderItem: Amount! @resultRetention(duration : "P30D") """ - The start date of the period of the aggregated data. + The average ordered product sales to Amazon Business customers, calculated by + dividing orderedProductSalesB2B by totalOrderItemsB2B for the selected time + period. Note: This field is only populated when the seller is a B2B seller. """ - startDate: Date! - @paamRights(require: ["analytics_sales_and_traffic_view_pa"]) - @resultRetention(duration: "P30D") - + averageSalesPerOrderItemB2B: Amount @resultRetention(duration : "P30D") """ - The end date of the period of the aggregated data. + The average price of the units sold in the selected time period, calculated by + dividing the orderedProductSales by unitsOrdered for the selected time period. """ - endDate: Date! - @paamRights(require: ["analytics_sales_and_traffic_view_pa"]) - @resultRetention(duration: "P30D") - + averageSellingPrice: Amount! @resultRetention(duration : "P30D") """ - The Amazon Standard Identification Number of the parent product. A parent product appears in our catalog as a non-buyable, generic identifier for a product that has buyable variations (child products). + The average price of the units sold to Amazon Business customers, calculated + by dividing the orderedProductSalesB2B by unitsOrderedB2B for the selected + time period. Note: This field is only populated when the seller is a B2B seller. """ - parentAsin: String! - @paamRights(require: ["analytics_sales_and_traffic_view_pa"]) - @resultRetention(duration: "P30D") - + averageSellingPriceB2B: Amount @resultRetention(duration : "P30D") + "The average number of units in each order item for the selected time period." + averageUnitsPerOrderItem: Float! @resultRetention(duration : "P30D") """ - The Amazon Standard Identification Number of the child product. Child products are unique, sellable products that are related in our catalog to a single, non-sellable parent product. Note: This field is only present when ASIN aggregation is CHILD or SKU. + The average number of units in each order item ordered by Amazon Business + customers for the selected time period. Note: This field is only populated + when the seller is a B2B seller. """ - childAsin: String - @paamRights(require: ["analytics_sales_and_traffic_view_pa"]) - @resultRetention(duration: "P30D") - + averageUnitsPerOrderItemB2B: Float @resultRetention(duration : "P30D") + "Monetary amount of filed A-to-z guarantee claims." + claimsAmount: Amount! @resultRetention(duration : "P30D") + "The number of A-to-z guarantee claims granted." + claimsGranted: Long! @resultRetention(duration : "P30D") """ - The Stock Keeping Unit of the product. The SKU is a seller specific product identifier. Note: This field is only present when ASIN aggregation is SKU. + The amount of ordered product sales, calculated by multiplying the price of + products and the number of units sold for the selected time period. """ - sku: String - @paamRights(require: ["analytics_sales_and_traffic_view_pa"]) - @resultRetention(duration: "P30D") - + orderedProductSales: Amount! @resultRetention(duration : "P30D") """ - The sales data for the parentAsin/childAsin/sku within the specified date range. + The amount of ordered product sales to Amazon Business customers, calculated + by multiplying the price of products and the number of units sold for the + selected time period. """ - sales: ByAsinSales! - @paamRights(require: ["analytics_sales_and_traffic_view_pa"]) - + orderedProductSalesB2B: Amount @resultRetention(duration : "P30D") + "The number of orders shipped in the selected time period." + ordersShipped: Long! @resultRetention(duration : "P30D") """ - The traffic data for the parentAsin/childAsin/sku within the specified date range. + The percentage conversion metric indicating how many orders were refunded by + the seller, calculated by dividing unitsOrdered by unitsRefunded in the + selected time period. """ - traffic: ByAsinTraffic! - @paamRights(require: ["analytics_sales_and_traffic_view_pa"]) -} - -""" -The sales data for the seller's account aggregated by ASIN. -""" -type ByAsinSales { + refundRate: Float! @resultRetention(duration : "P30D") + "The amount of ordered product sales shipped for the selected time period." + shippedProductSales: Amount! @resultRetention(duration : "P30D") """ - The number of units ordered. + The number of items that were ordered for the selected time period. Example: + For an order containing 2 copies of book A and 3 copies of book B, the number + of orders is 1, the number of order items is 2 (book A and book B), and the + number of units is 5 (2 + 3). """ - unitsOrdered: Long! @resultRetention(duration: "P30D") - + totalOrderItems: Long! @resultRetention(duration : "P30D") """ - The number of units ordered by Amazon Business customers. Note: This field is only populated when the seller is a B2B seller. + The number of items that were ordered by Amazon Business customers for the + selected time period. Example: For an order containing 2 copies of book A and + 3 copies of book B, the number of orders is 1, the number of order items is 2 + (book A and book B), and the number of units is 5 (2 + 3). """ - unitsOrderedB2B: Long @resultRetention(duration: "P30D") - - """ - The amount of ordered product sales, calculated by multiplying the price of products and the number of units sold for the selected time period. - """ - orderedProductSales: Amount! @resultRetention(duration: "P30D") - - """ - The amount of ordered product sales to Amazon Business customers, calculated by multiplying the price of products and the number of units sold for the selected time period. Note: This field is only populated when the seller is a B2B seller. - """ - orderedProductSalesB2B: Amount @resultRetention(duration: "P30D") - + totalOrderItemsB2B: Long @resultRetention(duration : "P30D") """ - The number of items that were ordered for the selected time period. + The number of units ordered for the selected time period. Example: For an + order containing 2 copies of book A and 3 copies of book B, the number of + orders is 1, the number of order items is 2 (book A and book B), and the + number of units is 5 (2 + 3). """ - totalOrderItems: Long! @resultRetention(duration: "P30D") - + unitsOrdered: Long! @resultRetention(duration : "P30D") """ - The number of items that were ordered by Amazon Business customers for the selected time period. Note: This field is only populated when the seller is a B2B seller. + The number of units ordered by Amazon Business customers for the selected time + period. Example: For an order containing 2 copies of book A and 3 copies of + book B, the number of orders is 1, the number of order items is 2 (book A and + book B), and the number of units is 5 (2 + 3). """ - totalOrderItemsB2B: Long @resultRetention(duration: "P30D") + unitsOrderedB2B: Long @resultRetention(duration : "P30D") + "The number of units refunded in the selected time period." + unitsRefunded: Long! @resultRetention(duration : "P30D") + "The number of units shipped in the selected time period." + unitsShipped: Long! @resultRetention(duration : "P30D") } -""" -The traffic data for the seller's account aggregated by ASIN. -""" -type ByAsinTraffic { - """ - Browser sessions are visits to your Amazon.com browser pages by a user. All browser activity within a 24-hour period is considered a browser session. For example, if a user visits your pages using a browser multiple times within a 24 hour period it is counted as a single browser session. - """ - browserSessions: Long! @resultRetention(duration: "P30D") - - """ - Browser B2B sessions are visits to your Amazon.com browser pages by an Amazon Business customer. All activity within a 24-hour period is considered a browser session. For example, if an Amazon Business customer visits your pages using browser multiple times within a 24 hour period it is counted as a single session. Note: This field is only populated when the seller is a B2B seller. - """ - browserSessionsB2B: Long @resultRetention(duration: "P30D") - - """ - Mobile app sessions are visits to your Amazon.com mobile app pages by a user. All mobile app activity within a 24-hour period is considered a mobile app session. For example, if a user visits your pages using a mobile app multiple times within a 24 hour period it is counted as a single mobile app session. - """ - mobileAppSessions: Long! @resultRetention(duration: "P30D") - - """ - Mobile app B2B sessions are visits to your Amazon.com mobile app pages by an Amazon Business customer. All activity within a 24-hour period is considered a mobile app session. For example, if an Amazon Business customer visits your pages using mobile app multiple times within a 24 hour period it is counted as a single session. Note: This field is only populated when the seller is a B2B seller. - """ - mobileAppSessionsB2B: Long @resultRetention(duration: "P30D") - +"The traffic data for the seller's account aggregated by date." +type ByDateTraffic { """ - Sessions are visits to your Amazon.com browser or mobile app pages by a user. All browser and mobile app activity within a 24-hour period is considered a session. It is calculated as the sum of browserSessions and mobileAppSessions. + The average number of offers listed for sale in the selected time period. It + is calculated from the total number of offers and the total number of days in + the selected time period. """ - sessions: Long! @resultRetention(duration: "P30D") - + averageOfferCount: Long! @resultRetention(duration : "P30D") + "The average number of parent items listed for sale in the selected time period." + averageParentItems: Long! @resultRetention(duration : "P30D") + "Browser page views are the number of times a user visited your Amazon.com browser pages for the selected time period." + browserPageViews: Long! @resultRetention(duration : "P30D") """ - B2B sessions are visits to your Amazon.com pages using browser or mobile app by an Amazon Business customer. All activity within a 24-hour period is considered a session. For example, if an Amazon Business customer visits your pages multiple times using mobile app or browser within a 24 hour period it is counted as a single session. Note: This field is only populated when the seller is a B2B seller. + Browser B2B page views are the number of times an Amazon Business customer + visited your Amazon.com browser pages for the selected time period. Note: This + field is only populated when the seller is a B2B seller. """ - sessionsB2B: Long @resultRetention(duration: "P30D") - + browserPageViewsB2B: Long @resultRetention(duration : "P30D") """ - The percentage of browser sessions that contain at least one page view for a particular SKU/ASIN relative to the total number of browser sessions for all products. + Browser sessions are visits to your Amazon.com browser pages by a user. All + browser activity within a 24-hour period is considered a browser session. For + example, if a user visits your pages using a browser multiple times within a + 24 hour period it is counted as a single browser session. """ - browserSessionPercentage: Float! @resultRetention(duration: "P30D") - + browserSessions: Long! @resultRetention(duration : "P30D") """ - The percentage of browser sessions that contain at least one page view by an Amazon Business customer for a particular SKU/ASIN relative to the total number of browser sessions by Amazon Business customers for all products. Note: This field is only populated when the seller is a B2B seller. + Browser B2B sessions are visits to your Amazon.com browser pages by an Amazon + Business customer. All activity within a 24-hour period is considered a + browser session. For example, if an Amazon Business customer visits your pages + using browser multiple times within a 24 hour period it is counted as a single + session. Note: This field is only populated when the seller is a B2B seller. """ - browserSessionPercentageB2B: Float @resultRetention(duration: "P30D") - + browserSessionsB2B: Long @resultRetention(duration : "P30D") """ - The percentage of mobile app sessions that contain at least one page view for a particular SKU/ASIN relative to the total number of mobile app sessions for all products. + The percentage of page views where the buy box (the add to shopping cart link) + appeared on the page for customers to add your product to their cart. """ - mobileAppSessionPercentage: Float! @resultRetention(duration: "P30D") - + buyBoxPercentage: Float! @resultRetention(duration : "P30D") """ - The percentage of mobile app sessions that contain at least one page view by an Amazon Business customer for a particular SKU/ASIN relative to the total number of mobile app sessions by Amazon Business customers for all products. Note: This field is only populated when the seller is a B2B seller. + The percentage of page views by Amazon Business customers where the buy box + (the add to shopping cart link) appeared on the page for customers to add your + product to their cart. Note: This field is only populated when the seller is a B2B seller. """ - mobileAppSessionPercentageB2B: Float @resultRetention(duration: "P30D") - + buyBoxPercentageB2B: Float @resultRetention(duration : "P30D") + "The number of times customers left feedback in the selected time period." + feedbackReceived: Long! @resultRetention(duration : "P30D") """ - The percentage of sessions that contain at least one page view for a particular SKU/ASIN relative to the total number of sessions for all products. + Mobile app page views are the number of times a user visited your Amazon.com + mobile app pages for the selected time period. """ - sessionPercentage: Float! @resultRetention(duration: "P30D") - + mobileAppPageViews: Long! @resultRetention(duration : "P30D") """ - The percentage of sessions that contain at least one page view by an Amazon Business customer for a particular SKU/ASIN relative to the total number of sessions by Amazon Business customers for all products. Note: This field is only populated when the seller is a B2B seller. + Mobile app B2B page views are the number of times an Amazon Business customer + visited your Amazon.com mobile app pages for the selected time period. Note: + This field is only populated when the seller is a B2B seller. """ - sessionPercentageB2B: Float @resultRetention(duration: "P30D") - + mobileAppPageViewsB2B: Long @resultRetention(duration : "P30D") """ - Browser page views are the number of times a user visited your Amazon.com browser pages for the selected time period. + Mobile app sessions are visits to your Amazon.com mobile app pages by a user. + All mobile app activity within a 24-hour period is considered a mobile app + session. For example, if a user visits your pages using a mobile app multiple + times within a 24 hour period it is counted as a single mobile app session. """ - browserPageViews: Long! @resultRetention(duration: "P30D") - + mobileAppSessions: Long! @resultRetention(duration : "P30D") """ - Browser B2B page views are the number of times an Amazon Business customer visited your Amazon.com browser pages for the selected time period. Note: This field is only populated when the seller is a B2B seller. + Mobile app B2B sessions are visits to your Amazon.com mobile app pages by an + Amazon Business customer. All activity within a 24-hour period is considered a + mobile app session. For example, if an Amazon Business customer visits your + pages using mobile app multiple times within a 24 hour period it is counted as + a single session. Note: This field is only populated when the seller is a B2B seller. """ - browserPageViewsB2B: Long @resultRetention(duration: "P30D") - + mobileAppSessionsB2B: Long @resultRetention(duration : "P30D") + "The number of times customers left negative feedback in the selected time period." + negativeFeedbackReceived: Long! @resultRetention(duration : "P30D") """ - Mobile app page views are the number of times a user visited your Amazon.com mobile app pages for the selected time period. + The percentage conversion metric indicating how many order items were + generated relative to the number of people who viewed the products. """ - mobileAppPageViews: Long! @resultRetention(duration: "P30D") - - """ - Mobile app B2B page views are the number of times an Amazon Business customer visited your Amazon.com mobile app pages for the selected time period. Note: This field is only populated when the seller is a B2B seller. - """ - mobileAppPageViewsB2B: Long @resultRetention(duration: "P30D") - + orderItemSessionPercentage: Float! @resultRetention(duration : "P30D") """ - Page views are the number of times a user visited your Amazon.com browser or mobile app pages for the selected time period. It is calculated as the sum of browserPageViews and mobileAppPageViews. + The percentage conversion metric indicating how many order items were + generated by Amazon Business customers relative to the number of Amazon + Business customers who viewed the products. Note: This field is only populated + when the seller is a B2B seller. """ - pageViews: Long! @resultRetention(duration: "P30D") - + orderItemSessionPercentageB2B: Float @resultRetention(duration : "P30D") """ - B2B page views are the number of times an Amazon Business customer visited your Amazon.com pages using browser or mobile app for the selected time period. Note: This field is only populated when the seller is a B2B seller. + Page views are the number of times a user visited your Amazon.com browser or + mobile app pages for the selected time period. It is calculated as the sum of + browserPageViews and mobileAppPageViews. """ - pageViewsB2B: Long @resultRetention(duration: "P30D") - + pageViews: Long! @resultRetention(duration : "P30D") """ - The percentage of browser page views that a particular SKU/ASIN receives relative to the total number of browser page views for all products. + B2B page views are the number of times an Amazon Business customer visited + your Amazon.com pages using browser or mobile app for the selected time + period. Note: This field is only populated when the seller is a B2B seller. """ - browserPageViewsPercentage: Float! @resultRetention(duration: "P30D") - + pageViewsB2B: Long @resultRetention(duration : "P30D") """ - The percentage of browser views by Amazon Business customers that a particular SKU/ASIN receives relative to the total number of mobile page views by Amazon Business customers for all products. Note: This field is only populated when the seller is a B2B seller. + The negative feedback rate is the number of orders that have received negative + feedback divided by the number of orders in the selected time period. """ - browserPageViewsPercentageB2B: Float @resultRetention(duration: "P30D") - + receivedNegativeFeedbackRate: Float! @resultRetention(duration : "P30D") """ - The percentage of mobile app page views that a particular SKU/ASIN receives relative to the total number of mobile app page views for all products. + Sessions are visits to your Amazon.com browser or mobile app pages by a user. + All browser and mobile app activity within a 24-hour period is considered a + session. It is calculated as the sum of browserSessions and mobileAppSessions. """ - mobileAppPageViewsPercentage: Float! @resultRetention(duration: "P30D") - + sessions: Long! @resultRetention(duration : "P30D") """ - The percentage of mobile page views by Amazon Business customers that a particular SKU/ASIN receives relative to the total number of mobile page views by Amazon Business customers for all products. Note: This field is only populated when the seller is a B2B seller. + B2B sessions are visits to your Amazon.com pages using browser or mobile app + by an Amazon Business customer. All activity within a 24-hour period is + considered a session. For example, if an Amazon Business customer visits your + pages multiple times using mobile app or browser within a 24 hour period it is + counted as a single session. Note: This field is only populated when the + seller is a B2B seller. """ - mobileAppPageViewsPercentageB2B: Float @resultRetention(duration: "P30D") - + sessionsB2B: Long @resultRetention(duration : "P30D") """ - The percentage of browser and mobile app page views that a particular SKU/ASIN receives relative to the total number of browser and mobile app page views for all products. + The percentage conversion metric indicating how many units were purchased + relative to the number of people who viewed the products. """ - pageViewsPercentage: Float! @resultRetention(duration: "P30D") - + unitSessionPercentage: Float! @resultRetention(duration : "P30D") """ - The percentage of page views by Amazon Business customers that a particular SKU/ASIN receives relative to the total number of page views by Amazon Business customers for all products. Note: This field is only populated when the seller is a B2B seller. + The percentage conversion metric indicating how many units were purchased by + Amazon Business customers relative to number of Amazon Business customers who + viewed the products. Note: This field is only populated when the seller is a B2B seller. """ - pageViewsPercentageB2B: Float @resultRetention(duration: "P30D") + unitSessionPercentageB2B: Float @resultRetention(duration : "P30D") +} - """ - The percentage of page views where the buy box (the add to shopping cart link) appeared on the page for customers to add your product to their cart. - """ - buyBoxPercentage: Float! @resultRetention(duration: "P30D") +"A root type for queries" +type Query { + "Analytics Sales and Traffic queries version 2024_04_24." + analytics_salesAndTraffic_2024_04_24: Analytics_SalesAndTraffic_2024_04_24 +} +"The sales and traffic data for the seller's account aggregated by ASIN." +type SalesAndTrafficByAsin { """ - The percentage of page views by Amazon Business customers where the buy box (the add to shopping cart link) appeared on the page for customers to add your product to their cart. Note: This field is only populated when the seller is a B2B seller. + The Amazon Standard Identification Number of the child product. Child products + are unique, sellable products that are related in our catalog to a single, + non-sellable parent product. Note: This field is only present when ASIN + aggregation is CHILD or SKU. """ - buyBoxPercentageB2B: Float @resultRetention(duration: "P30D") - + childAsin: String @resultRetention(duration : "P30D") + "The end date of the period of the aggregated data." + endDate: Date! @resultRetention(duration : "P30D") + "The marketplace identifier of the sales and traffic data." + marketplaceId: String! @resultRetention(duration : "P30D") """ - The percentage conversion metric indicating how many units were purchased relative to the number of people who viewed the products, calculated by dividing unitsOrdered by sessions. + The Amazon Standard Identification Number of the parent product. A parent + product appears in our catalog as a non-buyable, generic identifier for a + product that has buyable variations (child products). """ - unitSessionPercentage: Float! @resultRetention(duration: "P30D") - + parentAsin: String! @resultRetention(duration : "P30D") + "The sales data for the parentAsin/childAsin/sku within the specified date range." + sales: ByAsinSales! """ - The percentage conversion metric indicating how many units were purchased by Amazon Business customers relative to the number of Amazon Business customers who viewed the products, calculated by dividing unitsOrderedB2B by sessions. Note: This field is only populated when the seller is a B2B seller. + The Stock Keeping Unit of the product. The SKU is a seller specific product + identifier. Note: This field is only present when ASIN aggregation is SKU. """ - unitSessionPercentageB2B: Float @resultRetention(duration: "P30D") + sku: String @resultRetention(duration : "P30D") + "The start date of the period of the aggregated data." + startDate: Date! @resultRetention(duration : "P30D") + "The traffic data for the parentAsin/childAsin/sku within the specified date range." + traffic: ByAsinTraffic! } -""" -Monetary amount with the corresponding currency code. -""" -type Amount { - """ - The amount. - """ - amount: Float! +"The sales and traffic data for the seller's account aggregated by date." +type SalesAndTrafficByDate { + "The end date of the sales and traffic data." + endDate: Date! @resultRetention(duration : "P30D") + "The marketplace identifier of the sales and traffic data." + marketplaceId: String! @resultRetention(duration : "P30D") + "The sales data for the seller's account." + sales: ByDateSales! + "The start date of the sales and traffic data." + startDate: Date! @resultRetention(duration : "P30D") + "The traffic data for the seller's account." + traffic: ByDateTraffic! +} - """ - Currency code of the amount in ISO 4217 format. - """ - currencyCode: String! +"The ASIN granularity used in aggregation." +enum AsinGranularity { + "Sales and traffic data is aggregated by child ASIN." + CHILD + "Sales and traffic data is aggregated by parent ASIN." + PARENT + "Sales and traffic data is aggregated by sku." + SKU } -""" -The date granularity used in aggregation. -""" +"The date granularity used in aggregation." enum DateGranularity { - """ - Sales and traffic data is aggregated by day. - """ + "Sales and traffic data is aggregated by day." DAY - - """ - Sales and traffic data is aggregated by week. - """ - WEEK - - """ - Sales and traffic data is aggregated by month. - """ + "Sales and traffic data is aggregated by month." MONTH + "Sales and traffic data is aggregated by week." + WEEK } -""" -The ASIN granularity used in aggregation. -""" -enum AsinGranularity { - """ - Sales and traffic data is aggregated by parent ASIN. - """ - PARENT - - """ - Sales and traffic data is aggregated by child ASIN. - """ - CHILD +"Date" +scalar Date - """ - Sales and traffic data is aggregated by sku. - """ - SKU -} +"Long" +scalar Long From 81e17d9d134ae911f7352d152c65bae6b2087a6b Mon Sep 17 00:00:00 2001 From: Jack Evoniuk Date: Wed, 24 Apr 2024 13:59:36 -0700 Subject: [PATCH 241/340] Update Data Kiosk Economics schema --- .../analytics_economics_2024_03_15.graphql | 622 +++++++----------- 1 file changed, 234 insertions(+), 388 deletions(-) diff --git a/schemas/data-kiosk/analytics_economics_2024_03_15.graphql b/schemas/data-kiosk/analytics_economics_2024_03_15.graphql index bdfda3733..224c06c53 100644 --- a/schemas/data-kiosk/analytics_economics_2024_03_15.graphql +++ b/schemas/data-kiosk/analytics_economics_2024_03_15.graphql @@ -1,493 +1,339 @@ +schema { + query: Query +} + """ -A Scalar for the primitive long type. +This directive specifies the retention duration of a query containing a +particular field. When a query contains multiple fields with different +retentions, the shortest (minimum) retention is applied to the query. The +retention of a query's resulting documents always matches the retention of the query. """ -scalar Long +directive @resultRetention( + "An ISO 8601 duration." + duration: String! + ) on FIELD_DEFINITION + +"The advertisements spend data summary for the seller's account aggregated by transaction event type: charge." +type AdSummary { + "Advertisement type name, for example: \"Sponsored Products charge\"." + adTypeName: String! @resultRetention(duration : "P30D") + "Charge aggregated detail for an advertisement type." + charge: AggregatedDetail +} + """ -An RFC-3339 compliant Full Date Scalar. Example: "2024-03-15" +The aggregated transaction detail for the seller's account aggregated by +transaction event type and transaction type, for example: charge and +"fbaFulfillmentFee". """ -scalar Date - -extend type Query - @domainResolver( - sdpInstanceType: "amzn1.sdp.1.type.1.DataKiosk.Domain.Analytics_Economics_2024_03_15" - ) { +type AggregatedDetail { + "Amount calculated by rate card." + amount: Amount! @resultRetention(duration : "P30D") """ - Seller economics queries version 2024_03_15. + Final charge amount per unit after promotion and tax are considered. This + value is calculated by dividing totalAmount by quantity. This value will be + null when quantity is null. """ - analytics_economics_2024_03_15: Analytics_Economics_2024_03_15 + amountPerUnit: Amount @resultRetention(duration : "P30D") + "The promotion amount associated with this transaction type. This value is deducted from amount when computing totalAmount." + promotionAmount: Amount! @resultRetention(duration : "P30D") + """ + Charged quantity for a given product in the seller's account. When the fee is + not charged on a per unit basis, this value may be null or may not be an integer. + """ + quantity: Float @resultRetention(duration : "P30D") + "The tax amount associated with this transaction type. This value is added to amount when computing totalAmount." + taxAmount: Amount! @resultRetention(duration : "P30D") + """ + Final charge amount after promotion and tax are considered. This value is + calculated as amount - promotionAmount + taxAmount. + """ + totalAmount: Amount! @resultRetention(duration : "P30D") } -""" -A root type for seller economics queries version 2024_03_15. -""" +"Monetary amount with the corresponding currency code." +type Amount { + "The amount." + amount: Float! + "Currency code of the amount in ISO 4217 format." + currencyCode: String! +} + +"A root type for seller economics queries version 2024_03_15." type Analytics_Economics_2024_03_15 { """ - A query to retrieve seller economics data for the seller's account aggregated by date and product identifier. The seller economics data consists of aggregated sales, fees, and cost for selected period. + A query to retrieve seller economics data for the seller's account aggregated + by date and product identifier. The seller economics data consists of + aggregated sales, fees, and cost for selected period. """ economics( + "Determines how the seller economics data should be aggregated. By default it's aggregated by MSKU and DAY." + aggregateBy: EconomicsAggregation, """ - The start date of the seller economics data to retrieve. The start date must be no more than two years ago. If the provided start date occurs mid-week or mid-month in UTC+0 timezone, the following Sunday for WEEK date granularity or the first day of the next month for MONTH date granularity will be used instead. + The end date of the seller economics data to retrieve. If the provided end + date occurs mid-week or mid-month in UTC+0 timezone, the preceding Saturday + for WEEK date granularity or the last day of the previous month for MONTH + date granularity will be used instead. """ - startDate: Date! + endDate: Date!, + "Specifies which fee types to breakdown into individual components." + includeComponentsForFeeTypes: [FeeType], + "The marketplace identifiers to retrieve seller economics data for." + marketplaceIds: [String]!, """ - The end date of the seller economics data to retrieve. If the provided end date occurs mid-week or mid-month in UTC+0 timezone, the preceding Saturday for WEEK date granularity or the last day of the previous month for MONTH date granularity will be used instead. + The start date of the seller economics data to retrieve. The start date must + be no more than two years ago. If the provided start date occurs mid-week or + mid-month in UTC+0 timezone, the following Sunday for WEEK date granularity + or the first day of the next month for MONTH date granularity will be used instead. """ - endDate: Date! - """ - The marketplace identifiers to retrieve seller economics data for. - """ - marketplaceIds: [String]! - """ - Specifies which fee types to breakdown into individual components. - """ - includeComponentsForFeeTypes: [FeeType] - """ - Determines how the seller economics data should be aggregated. By default it's aggregated by MSKU and DAY. - """ - aggregateBy: EconomicsAggregation - ): [Economics] @supportedAccountTypes(types: [MERCHANT]) + startDate: Date! + ): [Economics] } -""" -The seller economics data for a given product in the seller's account. -""" +"The seller economics data for a given product in the seller's account." type Economics { """ - The marketplace identifier of the seller economics data. - """ - marketplaceId: String! - @paamRights( - require: ["seller_economics_api_view", "seller_economics_mobile_view"] - ) - @resultRetention(duration: "P30D") - """ - The start date of the seller economics data, please note this date may be adjusted to the start of DateGranularity. - """ - startDate: Date! - @paamRights( - require: ["seller_economics_api_view", "seller_economics_mobile_view"] - ) - @resultRetention(duration: "P30D") + The advertising spend data for the product within the specified date range. + Supported advertisement charge types can be found + [here](https://sellercentral.amazon.com/gp/help/GZ8Y22NL2FSRY8M5). """ - The end date of the seller economics data, please note this date may be adjusted to the end of DateGranularity. - """ - endDate: Date! - @paamRights( - require: ["seller_economics_api_view", "seller_economics_mobile_view"] - ) - @resultRetention(duration: "P30D") - """ - The Amazon Standard Identification Number of the parent product. A parent product appears in our catalog as a non-buyable, generic identifier for a product that has buyable variations (child products). - """ - parentAsin: String! - @paamRights( - require: ["seller_economics_api_view", "seller_economics_mobile_view"] - ) - @resultRetention(duration: "P30D") - """ - The Amazon Standard Identification Number of the child product. Child products are unique, sellable products that are related in our catalog to a single, non-sellable parent product. Note: This field is only present when product aggregation is CHILD_ASIN, FNSKU or MSKU. - """ - childAsin: String - @paamRights( - require: ["seller_economics_api_view", "seller_economics_mobile_view"] - ) - @resultRetention(duration: "P30D") - """ - The Fulfillment Network Stock Keeping Unit (FNSKU) of the product. Note: This field is only present when product aggregation is FNSKU or MSKU. This field may be null when product aggregation is MSKU and the row is associated with more than one FNSKU. - """ - fnsku: String - @paamRights( - require: ["seller_economics_api_view", "seller_economics_mobile_view"] - ) - @resultRetention(duration: "P30D") + ads: [AdSummary] """ - The Merchant Stock Keeping Unit (MSKU) of the product. Note: This field is only present when product aggregation is FNSKU or MSKU. This field may be null when product aggregation is FNSKU and the row is associated with more than one MSKU. + The Amazon Standard Identification Number of the child product. Child products + are unique, sellable products that are related in our catalog to a single, + non-sellable parent product. Note: This field is only present when product + aggregation is CHILD_ASIN, FNSKU or MSKU. """ - msku: String - @paamRights( - require: ["seller_economics_api_view", "seller_economics_mobile_view"] - ) - @resultRetention(duration: "P30D") + childAsin: String @resultRetention(duration : "P30D") """ - The sales data for the product within the specified date range. + The off Amazon cost provided by the seller for this product (per unit). The + off Amazon cost can be provided on [SKU + Central](https://sellercentral.amazon.com/skucentral?mSku=xxx) and [Revenue + Calculator](https://sellercentral.amazon.com/revcal). """ - sales: Sales! + cost: PerUnitCost + "The end date of the seller economics data, please note this date may be adjusted to the end of DateGranularity." + endDate: Date! @resultRetention(duration : "P30D") """ - The fees applied to the product within the specified date range. Supported fee types can be found [here](https://sellercentral.amazon.com/gp/help/GZ8Y22NL2FSRY8M5.) + The fees applied to the product within the specified date range. Supported fee + types can be found + [here](https://sellercentral.amazon.com/gp/help/GZ8Y22NL2FSRY8M5.) """ fees: [FeeSummary]! """ - The advertising spend data for the product within the specified date range. Supported advertisement charge types can be found [here](https://sellercentral.amazon.com/gp/help/GZ8Y22NL2FSRY8M5). + The Fulfillment Network Stock Keeping Unit (FNSKU) of the product. Note: This + field is only present when product aggregation is FNSKU or MSKU. This field + may be null when product aggregation is MSKU and the row is associated with + more than one FNSKU. """ - ads: [AdSummary] + fnsku: String @resultRetention(duration : "P30D") + "The marketplace identifier of the seller economics data." + marketplaceId: String! @resultRetention(duration : "P30D") """ - The off Amazon cost provided by the seller for this product (per unit). The off Amazon cost can be provided on [SKU Central](https://sellercentral.amazon.com/skucentral?mSku=xxx) and [Revenue Calculator](https://sellercentral.amazon.com/revcal). + The Merchant Stock Keeping Unit (MSKU) of the product. Note: This field is + only present when product aggregation is FNSKU or MSKU. This field may be null + when product aggregation is FNSKU and the row is associated with more than one MSKU. """ - cost: PerUnitCost + msku: String @resultRetention(duration : "P30D") """ - The net proceeds for this product within the specified date range. The value remains unchanged regardless of whether sales, fees, ads, or cost are selected in the query. + The net proceeds for this product within the specified date range. The value + remains unchanged regardless of whether sales, fees, ads, or cost are selected in the query. """ netProceeds: NetProceeds! -} - -""" -The sales data for a given product in the seller's account within a given date range. -""" -type Sales { - """ - The amount of ordered product sales, calculated by multiplying the price of products and the number of units sold for the selected time period. - """ - orderedProductSales: Amount! - @paamRights( - require: ["seller_economics_api_view", "seller_economics_mobile_view"] - ) - @resultRetention(duration: "P30D") - """ - The number of units ordered for the selected time period. Example: For an order containing 2 copies of book A and 3 copies of book B, the number of orders is 1, the number of order items is 2 (book A and book B), and the number of units is 5 (2 + 3). - """ - unitsOrdered: Long! - @paamRights( - require: ["seller_economics_api_view", "seller_economics_mobile_view"] - ) - @resultRetention(duration: "P30D") - """ - The average price of the units sold in the selected time period, calculated by dividing the orderedProductSales by unitsOrdered for the selected time period. This field will be null when unitsOrdered is 0. - """ - averageSellingPrice: Amount - @paamRights( - require: ["seller_economics_api_view", "seller_economics_mobile_view"] - ) - @resultRetention(duration: "P30D") """ - The amount of refunded product sales for the selected time period, it's counted by refund request time. + The Amazon Standard Identification Number of the parent product. A parent + product appears in our catalog as a non-buyable, generic identifier for a + product that has buyable variations (child products). """ - refundedProductSales: Amount! - @paamRights( - require: ["seller_economics_api_view", "seller_economics_mobile_view"] - ) - @resultRetention(duration: "P30D") - """ - The number of units refunded in the selected time period. - """ - unitsRefunded: Long! - @paamRights( - require: ["seller_economics_api_view", "seller_economics_mobile_view"] - ) - @resultRetention(duration: "P30D") - """ - The amount of net product sales, calculated by orderedProductSales - refundedProductSales. - """ - netProductSales: Amount! - @paamRights( - require: ["seller_economics_api_view", "seller_economics_mobile_view"] - ) - @resultRetention(duration: "P30D") - """ - The number of net units sold for the selected time period, calculated by unitsOrdered - unitsRefunded. - """ - netUnitsSold: Long! - @paamRights( - require: ["seller_economics_api_view", "seller_economics_mobile_view"] - ) - @resultRetention(duration: "P30D") + parentAsin: String! @resultRetention(duration : "P30D") + "The sales data for the product within the specified date range." + sales: Sales! + "The start date of the seller economics data, please note this date may be adjusted to the start of DateGranularity." + startDate: Date! @resultRetention(duration : "P30D") } """ -The fees data summary for the seller's account aggregated by transaction event type: charge. +The item level per unit cost provided by the seller and applicable to +Fulfillment by Amazon (FBA) products. Fields in this type will be null if not +provided by the seller. """ -type FeeSummary { - """ - Fee type name, for example: "FBA fulfillment fees" - """ - feeTypeName: String! - @paamRights( - require: ["seller_economics_api_view", "seller_economics_mobile_view"] - ) - @resultRetention(duration: "P30D") +type FbaPerUnitCost { """ - Charge summary for a fee type. + Cost of shipping the Fulfillment by Amazon (FBA) item to an Amazon fulfillment + center. This value is provided by the seller and applicable to Fulfillment by + Amazon (FBA) products. """ - charge: Fee + shippingToAmazonCost: Amount @resultRetention(duration : "P30D") } """ -A fee applied to a given product in the seller's account within a given date range. Fee information can be found [here](https://sellercentral.amazon.com/gp/help/GZ8Y22NL2FSRY8M5). +A fee applied to a given product in the seller's account within a given date +range. Fee information can be found +[here](https://sellercentral.amazon.com/gp/help/GZ8Y22NL2FSRY8M5). """ type Fee { - """ - Fee aggregated transaction detail. - """ + "Fee aggregated transaction detail." aggregatedDetail: AggregatedDetail! """ - A breakdown of the fee into individual components. This field will be null for fee types that cannot be divided into individual components. + A breakdown of the fee into individual components. This field will be null for + fee types that cannot be divided into individual components. """ - components: [FeeComponent] - @paamRights( - require: ["seller_economics_api_view", "seller_economics_mobile_view"] - ) - @resultRetention(duration: "P30D") + components: [FeeComponent] @resultRetention(duration : "P30D") } """ -The fee component data applied to a given product in the seller's account within a given date range. It's breakdown of parent fee. +The fee component data applied to a given product in the seller's account within +a given date range. It's breakdown of parent fee. """ type FeeComponent { - """ - Fee component name, for example: "Base fulfillment fee". - """ - name: String! - @paamRights( - require: ["seller_economics_api_view", "seller_economics_mobile_view"] - ) - @resultRetention(duration: "P30D") - """ - Fee component aggregated detail. - """ + "Fee component aggregated detail." aggregatedDetail: AggregatedDetail! + "Fee component name, for example: \"Base fulfillment fee\"." + name: String! @resultRetention(duration : "P30D") +} + +"The fees data summary for the seller's account aggregated by transaction event type: charge." +type FeeSummary { + "Charge summary for a fee type." + charge: Fee + "Fee type name, for example: \"FBA fulfillment fees\"" + feeTypeName: String! @resultRetention(duration : "P30D") } """ -The advertisements spend data summary for the seller's account aggregated by transaction event type: charge. +The item level per unit cost provided by the seller and applicable to Merchant +Fulfilled Network (MFN) products. Fields in this type will be null if not +provided by the seller. """ -type AdSummary { +type MfnPerUnitCost { """ - Advertisement type name, for example: "Sponsored Products charge". + Cost of fulfilling an order containing the product, including labor, packing + material, shipping to customer, customer service etc. This value is provided + by the seller and applicable to Merchant Fulfilled Network (MFN) products. """ - adTypeName: String! - @paamRights( - require: ["seller_economics_api_view", "seller_economics_mobile_view"] - ) - @resultRetention(duration: "P30D") + fulfillmentCost: Amount @resultRetention(duration : "P30D") """ - Charge aggregated detail for an advertisement type. + Cost to store a single unit of the product per month. This value is provided + by the seller and applicable to Merchant Fulfilled Network (MFN) products. """ - charge: AggregatedDetail + storageCost: Amount @resultRetention(duration : "P30D") } """ -The aggregated transaction detail for the seller's account aggregated by transaction event type and transaction type, for example: charge and "fbaFulfillmentFee". +The net proceeds for a given product in the seller's account for a given time +range. These fields are calculated as sales.netProductSales - sum of +fees.charge.totalAmount - sum of ads.charge.totalAmount - (cost of Merchant +Fulfilled Network (MFN) products or cost of Fulfillment by Amazon (FBA) +products) * sales.netUnitsSold. """ -type AggregatedDetail { - """ - Charged quantity for a given product in the seller's account. When the fee is not charged on a per unit basis, this value may be null or may not be an integer. - """ - quantity: Float - @paamRights( - require: ["seller_economics_api_view", "seller_economics_mobile_view"] - ) - @resultRetention(duration: "P30D") - """ - Final charge amount after promotion and tax are considered. This value is calculated as amount - promotionAmount + taxAmount. - """ - totalAmount: Amount! - @paamRights( - require: ["seller_economics_api_view", "seller_economics_mobile_view"] - ) - @resultRetention(duration: "P30D") - """ - Final charge amount per unit after promotion and tax are considered. This value is calculated by dividing totalAmount by quantity. This value will be null when quantity is null. - """ - amountPerUnit: Amount - @paamRights( - require: ["seller_economics_api_view", "seller_economics_mobile_view"] - ) - @resultRetention(duration: "P30D") - """ - Amount calculated by rate card. - """ - amount: Amount! - @paamRights( - require: ["seller_economics_api_view", "seller_economics_mobile_view"] - ) - @resultRetention(duration: "P30D") - """ - The promotion amount associated with this transaction type. This value is deducted from amount when computing totalAmount. - """ - promotionAmount: Amount! - @paamRights( - require: ["seller_economics_api_view", "seller_economics_mobile_view"] - ) - @resultRetention(duration: "P30D") +type NetProceeds { """ - The tax amount associated with this transaction type. This value is added to amount when computing totalAmount. + Net proceeds per unit for a given product in the seller's account for a given + time range. This value is calculated by dividing total by sales.netUnitsSold. """ - taxAmount: Amount! - @paamRights( - require: ["seller_economics_api_view", "seller_economics_mobile_view"] - ) - @resultRetention(duration: "P30D") + perUnit: Amount @resultRetention(duration : "P30D") + "\"Total net proceeds for a given product in the seller's account for a given time range." + total: Amount @resultRetention(duration : "P30D") } -""" -The item level per unit cost provided by seller. Fields in this type will be null if not provided by the seller. -""" +"The item level per unit cost provided by seller. Fields in this type will be null if not provided by the seller." type PerUnitCost { """ - Cost to manufacture or acquire the product. This value is provided by the seller and is applicable to both Fulfillment by Amazon (FBA) and Merchant Fulfilled Network (MFN) products. - """ - costOfGoodsSold: Amount - @paamRights( - require: ["Seller_Provided_Costs_API_Read", "Seller_Provided_Costs_Read"] - ) - @resultRetention(duration: "P30D") - """ - Miscellaneous costs not related to this specific product, ex: overhead, etc. This value is provided by the seller and applicable to both Fulfillment by Amazon (FBA) and Merchant Fulfilled Network (MFN) products. - """ - miscellaneousCost: Amount - @paamRights( - require: ["Seller_Provided_Costs_API_Read", "Seller_Provided_Costs_Read"] - ) - @resultRetention(duration: "P30D") - """ - The item level per unit cost provided by the seller and applicable to Fulfillment by Amazon (FBA) products. + Cost to manufacture or acquire the product. This value is provided by the + seller and is applicable to both Fulfillment by Amazon (FBA) and Merchant + Fulfilled Network (MFN) products. """ + costOfGoodsSold: Amount @resultRetention(duration : "P30D") + "The item level per unit cost provided by the seller and applicable to Fulfillment by Amazon (FBA) products." fbaCost: FbaPerUnitCost - """ - The item level per unit cost provided by the seller and applicable to Merchant Fulfilled Network (MFN) products. - """ + "The item level per unit cost provided by the seller and applicable to Merchant Fulfilled Network (MFN) products." mfnCost: MfnPerUnitCost -} - -""" -The item level per unit cost provided by the seller and applicable to Fulfillment by Amazon (FBA) products. Fields in this type will be null if not provided by the seller. -""" -type FbaPerUnitCost { """ - Cost of shipping the Fulfillment by Amazon (FBA) item to an Amazon fulfillment center. This value is provided by the seller and applicable to Fulfillment by Amazon (FBA) products. + Miscellaneous costs not related to this specific product, ex: overhead, etc. + This value is provided by the seller and applicable to both Fulfillment by + Amazon (FBA) and Merchant Fulfilled Network (MFN) products. """ - shippingToAmazonCost: Amount - @paamRights( - require: ["Seller_Provided_Costs_API_Read", "Seller_Provided_Costs_Read"] - ) - @resultRetention(duration: "P30D") + miscellaneousCost: Amount @resultRetention(duration : "P30D") } -""" -The item level per unit cost provided by the seller and applicable to Merchant Fulfilled Network (MFN) products. Fields in this type will be null if not provided by the seller. -""" -type MfnPerUnitCost { - """ - Cost of fulfilling an order containing the product, including labor, packing material, shipping to customer, customer service etc. This value is provided by the seller and applicable to Merchant Fulfilled Network (MFN) products. - """ - fulfillmentCost: Amount - @paamRights( - require: ["Seller_Provided_Costs_API_Read", "Seller_Provided_Costs_Read"] - ) - @resultRetention(duration: "P30D") - """ - Cost to store a single unit of the product per month. This value is provided by the seller and applicable to Merchant Fulfilled Network (MFN) products. - """ - storageCost: Amount - @paamRights( - require: ["Seller_Provided_Costs_API_Read", "Seller_Provided_Costs_Read"] - ) - @resultRetention(duration: "P30D") +"A root type for queries" +type Query { + "Seller economics queries version 2024_03_15." + analytics_economics_2024_03_15: Analytics_Economics_2024_03_15 } -""" -The net proceeds for a given product in the seller's account for a given time range. These fields are calculated as sales.netProductSales - sum of fees.charge.totalAmount - sum of ads.charge.totalAmount - (cost of Merchant Fulfilled Network (MFN) products or cost of Fulfillment by Amazon (FBA) products) * sales.netUnitsSold. -""" -type NetProceeds { - """ - "Total net proceeds for a given product in the seller's account for a given time range. - """ - total: Amount - @paamRights( - require: ["Seller_Provided_Costs_API_Read", "Seller_Provided_Costs_Read"] - ) - @resultRetention(duration: "P30D") +"The sales data for a given product in the seller's account within a given date range." +type Sales { """ - Net proceeds per unit for a given product in the seller's account for a given time range. This value is calculated by dividing total by sales.netUnitsSold. + The average price of the units sold in the selected time period, calculated by + dividing the orderedProductSales by unitsOrdered for the selected time period. + This field will be null when unitsOrdered is 0. """ - perUnit: Amount - @paamRights( - require: ["Seller_Provided_Costs_API_Read", "Seller_Provided_Costs_Read"] - ) - @resultRetention(duration: "P30D") -} - -""" -Monetary amount with the corresponding currency code. -""" -type Amount { + averageSellingPrice: Amount @resultRetention(duration : "P30D") + "The amount of net product sales, calculated by orderedProductSales - refundedProductSales." + netProductSales: Amount! @resultRetention(duration : "P30D") + "The number of net units sold for the selected time period, calculated by unitsOrdered - unitsRefunded." + netUnitsSold: Long! @resultRetention(duration : "P30D") """ - The amount. + The amount of ordered product sales, calculated by multiplying the price of + products and the number of units sold for the selected time period. """ - amount: Float! + orderedProductSales: Amount! @resultRetention(duration : "P30D") + "The amount of refunded product sales for the selected time period, it's counted by refund request time." + refundedProductSales: Amount! @resultRetention(duration : "P30D") """ - Currency code of the amount in ISO 4217 format. + The number of units ordered for the selected time period. Example: For an + order containing 2 copies of book A and 3 copies of book B, the number of + orders is 1, the number of order items is 2 (book A and book B), and the + number of units is 5 (2 + 3). """ - currencyCode: String! + unitsOrdered: Long! @resultRetention(duration : "P30D") + "The number of units refunded in the selected time period." + unitsRefunded: Long! @resultRetention(duration : "P30D") } -""" -Defines how the seller economics data will be aggregated. -""" -input EconomicsAggregation { - """ - The product identifier granularity used in aggregation. By default the results will be aggregated by MSKU. - """ - productId: ProductIdentifierGranularity - """ - The date granularity used in aggregation. By default the results will be aggregated by DAY. - """ - date: DateGranularity -} - -""" -The date granularity used in aggregation. -""" +"The date granularity used in aggregation." enum DateGranularity { - """ - Seller economics data is aggregated by day against marketplace local time. - """ + "Seller economics data is aggregated by day against marketplace local time." DAY - """ - Seller economics data is aggregated by week against marketplace local time, Sunday is the first day of the week. - """ - WEEK - """ - Seller economics data is aggregated by month against marketplace local time. - """ + "Seller economics data is aggregated by month against marketplace local time." MONTH - """ - Seller economics data is aggregated by the entire date range specified by startDate and endDate. - """ + "Seller economics data is aggregated by the entire date range specified by startDate and endDate." RANGE + "Seller economics data is aggregated by week against marketplace local time, Sunday is the first day of the week." + WEEK } -""" -The product identifier granularity used in aggregation. -""" +"The fee type used in filter fee components generation." +enum FeeType { + "Fulfillment by Amazon (FBA) Fulfillment Fees, including base rate and surcharges." + FBA_FULFILLMENT_FEE + "Fulfillment by Amazon (FBA) Monthly Inventory Storage Fee, including base rate and surcharges." + FBA_STORAGE_FEE +} + +"The product identifier granularity used in aggregation." enum ProductIdentifierGranularity { - """ - Seller Economics data is aggregated by parent ASIN. - """ - PARENT_ASIN - """ - Seller Economics data is aggregated by child ASIN. - """ + "Seller Economics data is aggregated by child ASIN." CHILD_ASIN - """ - Seller Economics data is aggregated by fulfillment network sku. - """ + "Seller Economics data is aggregated by fulfillment network sku." FNSKU - """ - Seller Economics data is aggregated by merchant sku. - """ + "Seller Economics data is aggregated by merchant sku." MSKU + "Seller Economics data is aggregated by parent ASIN." + PARENT_ASIN } -""" -The fee type used in filter fee components generation. -""" -enum FeeType { - """ - Fulfillment by Amazon (FBA) Fulfillment Fees, including base rate and surcharges. - """ - FBA_FULFILLMENT_FEE - """ - Fulfillment by Amazon (FBA) Monthly Inventory Storage Fee, including base rate and surcharges. - """ - FBA_STORAGE_FEE +"Date" +scalar Date + +"Long" +scalar Long + +"Defines how the seller economics data will be aggregated." +input EconomicsAggregation { + "The date granularity used in aggregation. By default the results will be aggregated by DAY." + date: DateGranularity + "The product identifier granularity used in aggregation. By default the results will be aggregated by MSKU." + productId: ProductIdentifierGranularity } From 4eb3369bd67a398806a990ad9659738439c51d9e Mon Sep 17 00:00:00 2001 From: Gibran Waldron Date: Wed, 1 May 2024 09:33:38 -0700 Subject: [PATCH 242/340] Update OrdersV0 model. --- models/orders-api-model/ordersV0.json | 420 -------------------------- 1 file changed, 420 deletions(-) diff --git a/models/orders-api-model/ordersV0.json b/models/orders-api-model/ordersV0.json index eec2f95e9..ee15b5934 100644 --- a/models/orders-api-model/ordersV0.json +++ b/models/orders-api-model/ordersV0.json @@ -1278,222 +1278,6 @@ } } }, - "/orders/v0/orders/{orderId}/fulfillmentInstructions": { - "get": { - "tags": [ - "ordersV0" - ], - "description": "Returns the fulfillment instructions for the order that you specify.\n\n**Usage Plan:**\n\n| Rate (requests per second) | Burst |\n| ---- | ---- |\n| 0.5 | 20 |\n\nThe `x-amzn-RateLimit-Limit` response header returns the usage plan rate limits that were applied to the requested operation, when available. The table above indicates the default rate and burst values for this operation. Selling partners whose business demands require higher throughput may see higher rate and burst values then those shown here. For more information, refer to [Usage Plans and Rate Limits in the Selling Partner API](https://developer-docs.amazon.com/sp-api/docs/usage-plans-and-rate-limits-in-the-sp-api).", - "operationId": "getOrderFulfillmentInstructions", - "parameters": [ - { - "name": "orderId", - "in": "path", - "description": "An Amazon-defined order identifier, in 3-7-7 format.", - "required": true, - "type": "string" - } - ], - "responses": { - "200": { - "description": "Success.", - "schema": { - "$ref": "#/definitions/GetOrderFulfillmentInstructionsResponse" - }, - "examples": { - "application/json":{ - "payload": { - "AmazonOrderId": "902-3159896-1390916", - "FulfillmentPlans": [ - { - "CreationDate": "2023-10-25T12:00:00Z", - "FulfillmentPlanId" : "1", - "FulfillmentType" : "SHIP", - "FulfillmentPlanStatus": "ACTIVE", - "LastStatusUpdateDate" : "2023-10-25T12:00:00Z", - "FulfillmentPlanItems": [ - { - "OrderItemId": "6217867064725", - "Measurement" : { - "Unit" : "COUNT", - "Value" : 20 - } - } - ], - "ShippingInstructions": { - "CarrierCode": "UPS", - "ShippingMethod": "Ground", - "ShippingConstraints" : { - "PalletDelivery" : "MANDATORY" - } - }, - "FulfillmentLocation": { - "SupplySourceId": "bb3e1352-a3b4-4b99-aeb7-b1a923837ef2" - } - } - ] - } - } - }, - "headers": { - "x-amzn-RateLimit-Limit": { - "type": "string", - "description": "Your rate limit (requests per second) for this operation." - }, - "x-amzn-RequestId": { - "type": "string", - "description": "Unique request reference identifier." - } - }, - "x-amzn-api-sandbox": { - "static": [ - { - "request": { - "parameters": { - "orderId": { - "value": "TEST_CASE_200" - } - } - }, - "response": { - "payload": { - "AmazonOrderId": "TEST_CASE_200", - "FulfillmentPlans": [{ - "CreationDate": "2023-10-25T12:00:00Z", - "FulfillmentPlanId" : "1", - "FulfillmentType" : "SHIP", - "FulfillmentPlanStatus": "ACTIVE", - "LastStatusUpdateDate" : "2023-10-25T12:00:00Z", - "FulfillmentPlanItems": [ - { - "OrderItemId": "6217867064725", - "Measurement" : { - "Unit" : "COUNT", - "Value" : 20 - } - } - ], - "ShippingInstructions": { - "CarrierCode": "UPS", - "ShippingMethod": "Ground", - "ShippingConstraints" : { - "PalletDelivery" : "MANDATORY" - } - }, - "FulfillmentLocation": { - "SupplySourceId": "bb3e1352-a3b4-4b99-aeb7-b1a923837ef2" - } - }] - } - } - } - ] - } - }, - "400": { - "description": "Request has missing or invalid parameters and cannot be parsed.", - "schema": { - "$ref": "#/definitions/GetOrderFulfillmentInstructionsResponse" - }, - "headers": { - "x-amzn-RateLimit-Limit": { - "type": "string", - "description": "Your rate limit (requests per second) for this operation." - }, - "x-amzn-RequestId": { - "type": "string", - "description": "Unique request reference identifier." - } - }, - "x-amzn-api-sandbox": { - "static": [ - { - "request": { - "parameters": { - "orderId": { - "value": "TEST_CASE_400" - } - } - }, - "response": { - "errors": [ - { - "code": "InvalidInput", - "message": "Invalid Input" - } - ] - } - } - ] - } - }, - "403": { - "description": "Indicates access to the resource is forbidden. Possible reasons include Access Denied, Unauthorized, Expired Token, or Invalid Signature.", - "schema": { - "$ref": "#/definitions/GetOrderFulfillmentInstructionsResponse" - }, - "headers": { - "x-amzn-RequestId": { - "type": "string", - "description": "Unique request reference identifier." - } - } - }, - "404": { - "description": "The resource specified does not exist.", - "schema": { - "$ref": "#/definitions/GetOrderFulfillmentInstructionsResponse" - }, - "headers": { - "x-amzn-RateLimit-Limit": { - "type": "string", - "description": "Your rate limit (requests per second) for this operation." - }, - "x-amzn-RequestId": { - "type": "string", - "description": "Unique request reference identifier." - } - } - }, - "429": { - "description": "The frequency of requests was greater than allowed.", - "schema": { - "$ref": "#/definitions/GetOrderFulfillmentInstructionsResponse" - }, - "headers": { - "x-amzn-RequestId": { - "type": "string", - "description": "Unique request reference identifier." - } - } - }, - "500": { - "description": "An unexpected condition occurred that prevented the server from fulfilling the request.", - "schema": { - "$ref": "#/definitions/GetOrderFulfillmentInstructionsResponse" - }, - "headers": { - "x-amzn-RequestId": { - "type": "string", - "description": "Unique request reference identifier." - } - } - }, - "503": { - "description": "Temporary overloading or maintenance of the server.", - "schema": { - "$ref": "#/definitions/GetOrderFulfillmentInstructionsResponse" - }, - "headers": { - "x-amzn-RequestId": { - "type": "string", - "description": "Unique request reference identifier." - } - } - } - } - } - }, "/orders/v0/orders/{orderId}/orderItems": { "get": { "tags": [ @@ -3110,20 +2894,6 @@ }, "description": "The response schema for the `getOrderItemsBuyerInfo` operation." }, - "GetOrderFulfillmentInstructionsResponse": { - "type": "object", - "properties": { - "payload" : { - "description": "The payload for the `getOrderFulfillmentInstructions` operation.", - "$ref": "#/definitions/FulfillmentInstructions" - }, - "errors": { - "description": "One or more unexpected errors occurred during the `getOrderFulfillmentInstructions` operation.", - "$ref": "#/definitions/ErrorList" - } - }, - "description": "The response schema for the `getOrderFulfillmentInstructions` operation." - }, "OrdersList": { "type": "object", "required": [ @@ -4699,146 +4469,6 @@ }, "description": "Contains the instructions about the fulfillment like where should it be fulfilled from." }, - "FulfillmentInstructions": { - "type": "object", - "description": "Contains all fulfillment plans for the order", - "required": [ - "AmazonOrderId" - ], - "properties": { - "FulfillmentPlans": { - "type": "array", - "description": "List of all fulfillment plans for the given order id", - "items": { - "$ref": "#/definitions/FulfillmentPlan" - } - }, - "AmazonOrderId": { - "type": "string", - "description": "An Amazon-defined order identifier, in 3-7-7 format." - } - } - }, - "FulfillmentPlan": { - "type": "object", - "description": "A collection of order items that are to be fulfilled from the same location with the same shipping, pickup, and service instructions", - "required": [ - "FulfillmentPlanId", - "CreationDate", - "FulfillmentType", - "FulfillmentPlanStatus", - "LastStatusUpdateDate", - "FulfillmentPlanItems" - ], - "properties": { - "FulfillmentPlanId": { - "type": "string", - "description": "Unique identifier of a fulfillment plan" - }, - "CreationDate": { - "type": "string", - "description": "Time when the fulfillment plan was created in ISO 8601 format" - }, - "FulfillmentType": { - "type": "string", - "description": "Type of fulfillment", - "enum": [ - "INSTORE_PICKUP", - "SERVICE", - "SHIP" - ], - "x-docgen-enum-table-extension": [ - { - "value": "INSTORE_PICKUP", - "description": "Buyer picks up items in plan from store" - }, - { - "value": "SERVICE", - "description": "Services that are performed for the buyer, such as assembly" - }, - { - "value": "SHIP", - "description": "Shipped by seller through detailed ship method" - } - ] - }, - "FulfillmentPlanStatus": { - "type": "string", - "description": "Status of the fulfillment plan", - "enum": [ - "ACTIVE", - "ABORTED", - "COMPLETED", - "PARTIALLY_FULFILLED" - ], - "x-docgen-enum-table-extension": [ - { - "value": "ACTIVE", - "description": "The plan is ready to be fulfilled" - }, - { - "value": "ABORTED", - "description": "Plan was canceled, either through order canceling or replanning of shipment." - }, - { - "value": "COMPLETED", - "description": "Plan has been fulfilled and completed" - }, - { - "value": "PARTIALLY_FULFILLED", - "description": "Plan has been partially fulfilled" - } - ] - }, - "LastStatusUpdateDate": { - "type": "string", - "description": "Time when the fulfillment plan's status was last updated in ISO 8601 Format" - }, - "FulfillmentLocation": { - "description": "Represents a location from which the plan is to be fulfilled", - "$ref": "#/definitions/FulfillmentLocation" - }, - "ShippingInstructions": { - "description": "Represents shipping related information of a delivery", - "$ref": "#/definitions/ShippingInstructions" - }, - "FulfillmentPlanItems": { - "description": "Represents the details of order items that are included in the fulfillment plan", - "type": "array", - "items": { - "$ref": "#/definitions/FulfillmentPlanItem" - } - } - } - }, - "FulfillmentLocation": { - "type": "object", - "description": "Represents a location from which the plan is to be fulfilled", - "properties": { - "SupplySourceId": { - "type": "string", - "description": "The fulfillment location identifier" - } - } - }, - "ShippingInstructions": { - "type": "object", - "description": "Represents shipping related information of a delivery", - "properties": { - "CarrierCode": { - "description": "Carrier Name that will deliver the package.", - "type": "string" - }, - "ShippingMethod": { - "description": "Ship method to be used for shipping the order", - "type": "string" - }, - "ShippingConstraints": { - "description": "Models constraints around shipping", - "$ref": "#/definitions/FulfillmentPlanShippingConstraints" - } - } - }, "ShippingConstraints": { "type": "object", "description": "Delivery constraints applicable to this order.", @@ -4862,56 +4492,6 @@ } ] }, - "FulfillmentPlanShippingConstraints": { - "type": "object", - "description" :"Delivery constraints applicable to this order.", - "properties" : { - "PalletDelivery": { - "description": "Indicates if the line item needs to be delivered by pallet", - "$ref": "#/definitions/FulfillmentPlanConstraintType" - }, - "SignatureConfirmation": { - "description": "Indicates if the line item needs to be shipped with delivery confirmation services", - "$ref": "#/definitions/FulfillmentPlanConstraintType" - } - } - }, - "FulfillmentPlanConstraintType": { - "type": "string", - "description" :"Details the importance of the constraint present on the item", - "enum": [ - "MANDATORY", - "RECOMMENDED" - ], - "x-docgen-enum-table-extension": [ - { - "value": "MANDATORY", - "description": "Item must follow the constraint to ensure order is met with buyer's delivery requirements." - }, - { - "value": "RECOMMENDED", - "description": "Item is recommended to follow the constraint to ensure order is met with buyer's delivery requirements." - } - ] - }, - "FulfillmentPlanItem": { - "type": "object", - "description": "The order items associated with this fulfillment plan", - "required": [ - "OrderItemId", - "Measurement" - ], - "properties": { - "OrderItemId": { - "type": "string", - "description": "An Amazon-defined associated order item's order item identifier." - }, - "Measurement": { - "description": "Measurement information for the order item.", - "$ref": "#/definitions/Measurement" - } - } - }, "BuyerInfo": { "type": "object", "properties": { From 6216ab6267024ca5d85805d0806d7364603595bd Mon Sep 17 00:00:00 2001 From: Gibran Waldron Date: Mon, 6 May 2024 13:14:01 -0700 Subject: [PATCH 243/340] Remove analytics_economics_2024_03_15.graphql from GitHub. --- .../analytics_economics_2024_03_15.graphql | 339 ------------------ 1 file changed, 339 deletions(-) delete mode 100644 schemas/data-kiosk/analytics_economics_2024_03_15.graphql diff --git a/schemas/data-kiosk/analytics_economics_2024_03_15.graphql b/schemas/data-kiosk/analytics_economics_2024_03_15.graphql deleted file mode 100644 index 224c06c53..000000000 --- a/schemas/data-kiosk/analytics_economics_2024_03_15.graphql +++ /dev/null @@ -1,339 +0,0 @@ -schema { - query: Query -} - -""" -This directive specifies the retention duration of a query containing a -particular field. When a query contains multiple fields with different -retentions, the shortest (minimum) retention is applied to the query. The -retention of a query's resulting documents always matches the retention of the query. -""" -directive @resultRetention( - "An ISO 8601 duration." - duration: String! - ) on FIELD_DEFINITION - -"The advertisements spend data summary for the seller's account aggregated by transaction event type: charge." -type AdSummary { - "Advertisement type name, for example: \"Sponsored Products charge\"." - adTypeName: String! @resultRetention(duration : "P30D") - "Charge aggregated detail for an advertisement type." - charge: AggregatedDetail -} - -""" -The aggregated transaction detail for the seller's account aggregated by -transaction event type and transaction type, for example: charge and -"fbaFulfillmentFee". -""" -type AggregatedDetail { - "Amount calculated by rate card." - amount: Amount! @resultRetention(duration : "P30D") - """ - Final charge amount per unit after promotion and tax are considered. This - value is calculated by dividing totalAmount by quantity. This value will be - null when quantity is null. - """ - amountPerUnit: Amount @resultRetention(duration : "P30D") - "The promotion amount associated with this transaction type. This value is deducted from amount when computing totalAmount." - promotionAmount: Amount! @resultRetention(duration : "P30D") - """ - Charged quantity for a given product in the seller's account. When the fee is - not charged on a per unit basis, this value may be null or may not be an integer. - """ - quantity: Float @resultRetention(duration : "P30D") - "The tax amount associated with this transaction type. This value is added to amount when computing totalAmount." - taxAmount: Amount! @resultRetention(duration : "P30D") - """ - Final charge amount after promotion and tax are considered. This value is - calculated as amount - promotionAmount + taxAmount. - """ - totalAmount: Amount! @resultRetention(duration : "P30D") -} - -"Monetary amount with the corresponding currency code." -type Amount { - "The amount." - amount: Float! - "Currency code of the amount in ISO 4217 format." - currencyCode: String! -} - -"A root type for seller economics queries version 2024_03_15." -type Analytics_Economics_2024_03_15 { - """ - A query to retrieve seller economics data for the seller's account aggregated - by date and product identifier. The seller economics data consists of - aggregated sales, fees, and cost for selected period. - """ - economics( - "Determines how the seller economics data should be aggregated. By default it's aggregated by MSKU and DAY." - aggregateBy: EconomicsAggregation, - """ - The end date of the seller economics data to retrieve. If the provided end - date occurs mid-week or mid-month in UTC+0 timezone, the preceding Saturday - for WEEK date granularity or the last day of the previous month for MONTH - date granularity will be used instead. - """ - endDate: Date!, - "Specifies which fee types to breakdown into individual components." - includeComponentsForFeeTypes: [FeeType], - "The marketplace identifiers to retrieve seller economics data for." - marketplaceIds: [String]!, - """ - The start date of the seller economics data to retrieve. The start date must - be no more than two years ago. If the provided start date occurs mid-week or - mid-month in UTC+0 timezone, the following Sunday for WEEK date granularity - or the first day of the next month for MONTH date granularity will be used instead. - """ - startDate: Date! - ): [Economics] -} - -"The seller economics data for a given product in the seller's account." -type Economics { - """ - The advertising spend data for the product within the specified date range. - Supported advertisement charge types can be found - [here](https://sellercentral.amazon.com/gp/help/GZ8Y22NL2FSRY8M5). - """ - ads: [AdSummary] - """ - The Amazon Standard Identification Number of the child product. Child products - are unique, sellable products that are related in our catalog to a single, - non-sellable parent product. Note: This field is only present when product - aggregation is CHILD_ASIN, FNSKU or MSKU. - """ - childAsin: String @resultRetention(duration : "P30D") - """ - The off Amazon cost provided by the seller for this product (per unit). The - off Amazon cost can be provided on [SKU - Central](https://sellercentral.amazon.com/skucentral?mSku=xxx) and [Revenue - Calculator](https://sellercentral.amazon.com/revcal). - """ - cost: PerUnitCost - "The end date of the seller economics data, please note this date may be adjusted to the end of DateGranularity." - endDate: Date! @resultRetention(duration : "P30D") - """ - The fees applied to the product within the specified date range. Supported fee - types can be found - [here](https://sellercentral.amazon.com/gp/help/GZ8Y22NL2FSRY8M5.) - """ - fees: [FeeSummary]! - """ - The Fulfillment Network Stock Keeping Unit (FNSKU) of the product. Note: This - field is only present when product aggregation is FNSKU or MSKU. This field - may be null when product aggregation is MSKU and the row is associated with - more than one FNSKU. - """ - fnsku: String @resultRetention(duration : "P30D") - "The marketplace identifier of the seller economics data." - marketplaceId: String! @resultRetention(duration : "P30D") - """ - The Merchant Stock Keeping Unit (MSKU) of the product. Note: This field is - only present when product aggregation is FNSKU or MSKU. This field may be null - when product aggregation is FNSKU and the row is associated with more than one MSKU. - """ - msku: String @resultRetention(duration : "P30D") - """ - The net proceeds for this product within the specified date range. The value - remains unchanged regardless of whether sales, fees, ads, or cost are selected in the query. - """ - netProceeds: NetProceeds! - """ - The Amazon Standard Identification Number of the parent product. A parent - product appears in our catalog as a non-buyable, generic identifier for a - product that has buyable variations (child products). - """ - parentAsin: String! @resultRetention(duration : "P30D") - "The sales data for the product within the specified date range." - sales: Sales! - "The start date of the seller economics data, please note this date may be adjusted to the start of DateGranularity." - startDate: Date! @resultRetention(duration : "P30D") -} - -""" -The item level per unit cost provided by the seller and applicable to -Fulfillment by Amazon (FBA) products. Fields in this type will be null if not -provided by the seller. -""" -type FbaPerUnitCost { - """ - Cost of shipping the Fulfillment by Amazon (FBA) item to an Amazon fulfillment - center. This value is provided by the seller and applicable to Fulfillment by - Amazon (FBA) products. - """ - shippingToAmazonCost: Amount @resultRetention(duration : "P30D") -} - -""" -A fee applied to a given product in the seller's account within a given date -range. Fee information can be found -[here](https://sellercentral.amazon.com/gp/help/GZ8Y22NL2FSRY8M5). -""" -type Fee { - "Fee aggregated transaction detail." - aggregatedDetail: AggregatedDetail! - """ - A breakdown of the fee into individual components. This field will be null for - fee types that cannot be divided into individual components. - """ - components: [FeeComponent] @resultRetention(duration : "P30D") -} - -""" -The fee component data applied to a given product in the seller's account within -a given date range. It's breakdown of parent fee. -""" -type FeeComponent { - "Fee component aggregated detail." - aggregatedDetail: AggregatedDetail! - "Fee component name, for example: \"Base fulfillment fee\"." - name: String! @resultRetention(duration : "P30D") -} - -"The fees data summary for the seller's account aggregated by transaction event type: charge." -type FeeSummary { - "Charge summary for a fee type." - charge: Fee - "Fee type name, for example: \"FBA fulfillment fees\"" - feeTypeName: String! @resultRetention(duration : "P30D") -} - -""" -The item level per unit cost provided by the seller and applicable to Merchant -Fulfilled Network (MFN) products. Fields in this type will be null if not -provided by the seller. -""" -type MfnPerUnitCost { - """ - Cost of fulfilling an order containing the product, including labor, packing - material, shipping to customer, customer service etc. This value is provided - by the seller and applicable to Merchant Fulfilled Network (MFN) products. - """ - fulfillmentCost: Amount @resultRetention(duration : "P30D") - """ - Cost to store a single unit of the product per month. This value is provided - by the seller and applicable to Merchant Fulfilled Network (MFN) products. - """ - storageCost: Amount @resultRetention(duration : "P30D") -} - -""" -The net proceeds for a given product in the seller's account for a given time -range. These fields are calculated as sales.netProductSales - sum of -fees.charge.totalAmount - sum of ads.charge.totalAmount - (cost of Merchant -Fulfilled Network (MFN) products or cost of Fulfillment by Amazon (FBA) -products) * sales.netUnitsSold. -""" -type NetProceeds { - """ - Net proceeds per unit for a given product in the seller's account for a given - time range. This value is calculated by dividing total by sales.netUnitsSold. - """ - perUnit: Amount @resultRetention(duration : "P30D") - "\"Total net proceeds for a given product in the seller's account for a given time range." - total: Amount @resultRetention(duration : "P30D") -} - -"The item level per unit cost provided by seller. Fields in this type will be null if not provided by the seller." -type PerUnitCost { - """ - Cost to manufacture or acquire the product. This value is provided by the - seller and is applicable to both Fulfillment by Amazon (FBA) and Merchant - Fulfilled Network (MFN) products. - """ - costOfGoodsSold: Amount @resultRetention(duration : "P30D") - "The item level per unit cost provided by the seller and applicable to Fulfillment by Amazon (FBA) products." - fbaCost: FbaPerUnitCost - "The item level per unit cost provided by the seller and applicable to Merchant Fulfilled Network (MFN) products." - mfnCost: MfnPerUnitCost - """ - Miscellaneous costs not related to this specific product, ex: overhead, etc. - This value is provided by the seller and applicable to both Fulfillment by - Amazon (FBA) and Merchant Fulfilled Network (MFN) products. - """ - miscellaneousCost: Amount @resultRetention(duration : "P30D") -} - -"A root type for queries" -type Query { - "Seller economics queries version 2024_03_15." - analytics_economics_2024_03_15: Analytics_Economics_2024_03_15 -} - -"The sales data for a given product in the seller's account within a given date range." -type Sales { - """ - The average price of the units sold in the selected time period, calculated by - dividing the orderedProductSales by unitsOrdered for the selected time period. - This field will be null when unitsOrdered is 0. - """ - averageSellingPrice: Amount @resultRetention(duration : "P30D") - "The amount of net product sales, calculated by orderedProductSales - refundedProductSales." - netProductSales: Amount! @resultRetention(duration : "P30D") - "The number of net units sold for the selected time period, calculated by unitsOrdered - unitsRefunded." - netUnitsSold: Long! @resultRetention(duration : "P30D") - """ - The amount of ordered product sales, calculated by multiplying the price of - products and the number of units sold for the selected time period. - """ - orderedProductSales: Amount! @resultRetention(duration : "P30D") - "The amount of refunded product sales for the selected time period, it's counted by refund request time." - refundedProductSales: Amount! @resultRetention(duration : "P30D") - """ - The number of units ordered for the selected time period. Example: For an - order containing 2 copies of book A and 3 copies of book B, the number of - orders is 1, the number of order items is 2 (book A and book B), and the - number of units is 5 (2 + 3). - """ - unitsOrdered: Long! @resultRetention(duration : "P30D") - "The number of units refunded in the selected time period." - unitsRefunded: Long! @resultRetention(duration : "P30D") -} - -"The date granularity used in aggregation." -enum DateGranularity { - "Seller economics data is aggregated by day against marketplace local time." - DAY - "Seller economics data is aggregated by month against marketplace local time." - MONTH - "Seller economics data is aggregated by the entire date range specified by startDate and endDate." - RANGE - "Seller economics data is aggregated by week against marketplace local time, Sunday is the first day of the week." - WEEK -} - -"The fee type used in filter fee components generation." -enum FeeType { - "Fulfillment by Amazon (FBA) Fulfillment Fees, including base rate and surcharges." - FBA_FULFILLMENT_FEE - "Fulfillment by Amazon (FBA) Monthly Inventory Storage Fee, including base rate and surcharges." - FBA_STORAGE_FEE -} - -"The product identifier granularity used in aggregation." -enum ProductIdentifierGranularity { - "Seller Economics data is aggregated by child ASIN." - CHILD_ASIN - "Seller Economics data is aggregated by fulfillment network sku." - FNSKU - "Seller Economics data is aggregated by merchant sku." - MSKU - "Seller Economics data is aggregated by parent ASIN." - PARENT_ASIN -} - -"Date" -scalar Date - -"Long" -scalar Long - -"Defines how the seller economics data will be aggregated." -input EconomicsAggregation { - "The date granularity used in aggregation. By default the results will be aggregated by DAY." - date: DateGranularity - "The product identifier granularity used in aggregation. By default the results will be aggregated by MSKU." - productId: ProductIdentifierGranularity -} From 67692395acd0acd99bd99cf39fb26b58d674792d Mon Sep 17 00:00:00 2001 From: Shreeharsh <162564990+shreeharsh-a@users.noreply.github.com> Date: Thu, 9 May 2024 12:51:53 +0530 Subject: [PATCH 244/340] Update closing_inactive_issues.yml --- .github/workflows/closing_inactive_issues.yml | 73 ++++++------------- 1 file changed, 23 insertions(+), 50 deletions(-) diff --git a/.github/workflows/closing_inactive_issues.yml b/.github/workflows/closing_inactive_issues.yml index 4340e285c..9c9356bf1 100644 --- a/.github/workflows/closing_inactive_issues.yml +++ b/.github/workflows/closing_inactive_issues.yml @@ -1,57 +1,30 @@ -name: "Close stale issues" +# This workflow warns and then closes issues and PRs that have had no activity for a specified amount of time. +# +# You can adjust the behavior by modifying this file. +# For more information, see: +# https://github.com/actions/stale +name: Mark stale issues and pull requests -# Controls when the action will run. on: schedule: - # Controls when the action will run: Minute (0-59) | Hour (0-23) | Day of the month (1-31) | Month (1-12 or JAN-DEC) | Day of the week (0-6 or SUN-SAT) - - cron: "30 18 * * *" + - cron: '0 0 * * *' jobs: - cleanup: - name: Stale issue job - runs-on: ubuntu-latest - steps: - - uses: aws-actions/stale-issue-cleanup@v4 - with: - - #Issue types to process ("issues", "pull_requests", or "issues,pull_requests") - issue-types: 'issues' - # Setting messages to an empty string will cause the automation to skip - # that category - # Implementing ancient issue closure only at the moment. - stale-issue-message: 'This is a very old issue that is probably not getting as much - attention as it deserves. - We encourage you to check if this is still an issue after - the latest release and if you find that this is still a problem, please feel free - to open a new issue and make a reference to this one.' - #ancient-issue-message: 'It looks like this issue has not been active for more than thirty days. - #In the absence of more information, we will be closing this issue soon. - #If you find that this is still a problem, please add a comment to prevent automatic closure, or - #if the issue is already closed please feel free to reopen it.' - - # These labels are required - stale-issue-label: 'closing soon' - exempt-issue-labels: 'no auto-closure' - response-requested-label: 'answer required' + stale: - # Don't set closed-for-staleness label to skip closing very old issues - # regardless of label - closed-for-staleness-label: 'closed for inactivity' - - # Issue timing. Setting ancient issues to 6 months and stale to 1 month with no activity. - # Issue will automatically close after 5 days of being marked as stale. - days-before-stale: 180 - days-before-close: 5 - days-before-ancient: 180 - - # If you don't want to mark an issue as being ancient based on a - # threshold of "upvotes", you can set this here. An "upvote" is - # the total number of +1, heart, hooray, and rocket reactions - # on an issue. - # Current threshold based off the minimum expected for a possible bug. - minimum-upvotes-to-exempt: 10 + runs-on: ubuntu-latest + permissions: + issues: write + contents: write - repo-token: ${{ secrets.GITHUB_TOKEN }} - loglevel: DEBUG - # Set dry-run to true to not perform label or close actions. - #dry-run: true \ No newline at end of file + steps: + - uses: actions/stale@v5 + with: + days-before-issue-stale: 180 + days-before-issue-close: 3 + close-issue-message: 'closed for inactivity' + repo-token: ${{ secrets.GITHUB_TOKEN }} + stale-issue-message: 'This is a very old issue that is probably not getting as much attention as it deserves. We encourage you to check if this is still an issue after the latest release and if you find that this is still a problem, please feel free to open a new issue and make a reference to this one.' + stale-issue-label: 'closing soon' + minimum-upvotes-to-exempt: 10 + operations-per-run: 1000 From 2ab6a96df8ba638de253eeba269e143ae9948333 Mon Sep 17 00:00:00 2001 From: Shreeharsh <162564990+shreeharsh-a@users.noreply.github.com> Date: Thu, 9 May 2024 13:04:04 +0530 Subject: [PATCH 245/340] Update closing_inactive_issues.yml --- .github/workflows/closing_inactive_issues.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/workflows/closing_inactive_issues.yml b/.github/workflows/closing_inactive_issues.yml index 9c9356bf1..5f166a962 100644 --- a/.github/workflows/closing_inactive_issues.yml +++ b/.github/workflows/closing_inactive_issues.yml @@ -7,7 +7,7 @@ name: Mark stale issues and pull requests on: schedule: - - cron: '0 0 * * *' + - cron: '5 * * * *' jobs: stale: @@ -20,7 +20,7 @@ jobs: steps: - uses: actions/stale@v5 with: - days-before-issue-stale: 180 + days-before-issue-stale: 90 days-before-issue-close: 3 close-issue-message: 'closed for inactivity' repo-token: ${{ secrets.GITHUB_TOKEN }} From 0ace8d5b0bdc31ad93cfca70bdcb02c9bd2c08c0 Mon Sep 17 00:00:00 2001 From: Shreeharsh <162564990+shreeharsh-a@users.noreply.github.com> Date: Thu, 9 May 2024 14:39:43 +0530 Subject: [PATCH 246/340] Update closing_inactive_issues.yml --- .github/workflows/closing_inactive_issues.yml | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/.github/workflows/closing_inactive_issues.yml b/.github/workflows/closing_inactive_issues.yml index 5f166a962..bbac872eb 100644 --- a/.github/workflows/closing_inactive_issues.yml +++ b/.github/workflows/closing_inactive_issues.yml @@ -18,7 +18,7 @@ jobs: contents: write steps: - - uses: actions/stale@v5 + - uses: actions/stale@v9 with: days-before-issue-stale: 90 days-before-issue-close: 3 @@ -26,5 +26,4 @@ jobs: repo-token: ${{ secrets.GITHUB_TOKEN }} stale-issue-message: 'This is a very old issue that is probably not getting as much attention as it deserves. We encourage you to check if this is still an issue after the latest release and if you find that this is still a problem, please feel free to open a new issue and make a reference to this one.' stale-issue-label: 'closing soon' - minimum-upvotes-to-exempt: 10 operations-per-run: 1000 From a85c1ce0cf4c3559d81fa614d183b0f61fcdd050 Mon Sep 17 00:00:00 2001 From: Gibran Waldron Date: Thu, 9 May 2024 11:28:47 -0700 Subject: [PATCH 247/340] Add Economics DK schema, and update sales and trafic schemas. --- .../analytics_economics_2024_03_15.graphql | 339 ++++++++++++++++++ ...alytics_salesAndTraffic_2023_11_15.graphql | 22 +- ...alytics_salesAndTraffic_2024_04_24.graphql | 4 +- 3 files changed, 352 insertions(+), 13 deletions(-) create mode 100644 schemas/data-kiosk/analytics_economics_2024_03_15.graphql diff --git a/schemas/data-kiosk/analytics_economics_2024_03_15.graphql b/schemas/data-kiosk/analytics_economics_2024_03_15.graphql new file mode 100644 index 000000000..4a54c05fb --- /dev/null +++ b/schemas/data-kiosk/analytics_economics_2024_03_15.graphql @@ -0,0 +1,339 @@ +schema { + query: Query +} + +""" +This directive specifies the retention duration of a query containing a +particular field. When a query contains multiple fields with different +retentions, the shortest (minimum) retention is applied to the query. The +retention of a query's resulting documents always matches the retention of the query. +""" +directive @resultRetention( + "An ISO 8601 duration." + duration: String! + ) on FIELD_DEFINITION + +"The advertisements spend data summary for the seller's account aggregated by transaction event type: charge." +type AdSummary { + "Advertisement type name, for example: \"Sponsored Products charge\"." + adTypeName: String! @resultRetention(duration : "P30D") + "Charge aggregated detail for an advertisement type." + charge: AggregatedDetail +} + +""" +The aggregated transaction detail for the seller's account aggregated by +transaction event type and transaction type, for example: charge and +"fbaFulfillmentFee". +""" +type AggregatedDetail { + "Amount calculated by rate card." + amount: Amount! @resultRetention(duration : "P30D") + """ + Final charge amount per unit after promotion and tax are considered. This + value is calculated by dividing totalAmount by quantity. This value will be + null when quantity is null. + """ + amountPerUnit: Amount @resultRetention(duration : "P30D") + "The promotion amount associated with this transaction type. This value is deducted from amount when computing totalAmount." + promotionAmount: Amount! @resultRetention(duration : "P30D") + """ + Charged quantity for a given product in the seller's account. When the fee is + not charged on a per unit basis, this value may be null or may not be an integer. + """ + quantity: Float @resultRetention(duration : "P30D") + "The tax amount associated with this transaction type. This value is added to amount when computing totalAmount." + taxAmount: Amount! @resultRetention(duration : "P30D") + """ + Final charge amount after promotion and tax are considered. This value is + calculated as amount - promotionAmount + taxAmount. + """ + totalAmount: Amount! @resultRetention(duration : "P30D") +} + +"Monetary amount with the corresponding currency code." +type Amount { + "The amount." + amount: Float! + "Currency code of the amount in ISO 4217 format." + currencyCode: String! +} + +"A root type for seller economics queries version 2024_03_15." +type Analytics_Economics_2024_03_15 { + """ + A query to retrieve seller economics data for the seller's account aggregated + by date and product identifier. The seller economics data consists of + aggregated sales, fees, and cost for selected period. + """ + economics( + "Determines how the seller economics data should be aggregated. By default it's aggregated by MSKU and DAY." + aggregateBy: EconomicsAggregation, + """ + The end date of the seller economics data to retrieve. If the provided end + date occurs mid-week or mid-month in UTC+0 timezone, the preceding Saturday + for WEEK date granularity or the last day of the previous month for MONTH + date granularity will be used instead. + """ + endDate: Date!, + "Specifies which fee types to breakdown into individual components." + includeComponentsForFeeTypes: [FeeType], + "The marketplace identifiers to retrieve seller economics data for." + marketplaceIds: [String]!, + """ + The start date of the seller economics data to retrieve. The start date must + be no more than two years ago. If the provided start date occurs mid-week or + mid-month in UTC+0 timezone, the following Sunday for WEEK date granularity + or the first day of the next month for MONTH date granularity will be used instead. + """ + startDate: Date! + ): [Economics] +} + +"The seller economics data for a given product in the seller's account." +type Economics { + """ + The advertising spend data for the product within the specified date range. + Supported advertisement charge types can be found + [here](https://sellercentral.amazon.com/gp/help/GZ8Y22NL2FSRY8M5). + """ + ads: [AdSummary] + """ + The Amazon Standard Identification Number of the child product. Child products + are unique, sellable products that are related in our catalog to a single, + non-sellable parent product. Note: This field is only present when product + aggregation is CHILD_ASIN, FNSKU or MSKU. + """ + childAsin: String @resultRetention(duration : "P30D") + """ + The off Amazon cost provided by the seller for this product (per unit). The + off Amazon cost can be provided on [SKU + Central](https://sellercentral.amazon.com/skucentral?mSku=xxx) and [Revenue + Calculator](https://sellercentral.amazon.com/revcal). + """ + cost: PerUnitCost + "The end date of the seller economics data, please note this date may be adjusted to the end of DateGranularity." + endDate: Date! @resultRetention(duration : "P30D") + """ + The fees applied to the product within the specified date range. Supported fee + types can be found + [here](https://sellercentral.amazon.com/gp/help/GZ8Y22NL2FSRY8M5.) + """ + fees: [FeeSummary]! + """ + The Fulfillment Network Stock Keeping Unit (FNSKU) of the product. Note: This + field is only present when product aggregation is FNSKU or MSKU. This field + may be null when product aggregation is MSKU and the row is associated with + more than one FNSKU. + """ + fnsku: String @resultRetention(duration : "P30D") + "The marketplace identifier of the seller economics data." + marketplaceId: String! @resultRetention(duration : "P30D") + """ + The Merchant Stock Keeping Unit (MSKU) of the product. Note: This field is + only present when product aggregation is FNSKU or MSKU. This field may be null + when product aggregation is FNSKU and the row is associated with more than one MSKU. + """ + msku: String @resultRetention(duration : "P30D") + """ + The net proceeds for this product within the specified date range. The value + remains unchanged regardless of whether sales, fees, ads, or cost are selected in the query. + """ + netProceeds: NetProceeds! + """ + The Amazon Standard Identification Number of the parent product. A parent + product appears in our catalog as a non-buyable, generic identifier for a + product that has buyable variations (child products). + """ + parentAsin: String! @resultRetention(duration : "P30D") + "The sales data for the product within the specified date range." + sales: Sales! + "The start date of the seller economics data, please note this date may be adjusted to the start of DateGranularity." + startDate: Date! @resultRetention(duration : "P30D") +} + +""" +The item level per unit cost provided by the seller and applicable to +Fulfillment by Amazon (FBA) products. Fields in this type will be null if not +provided by the seller. +""" +type FbaPerUnitCost { + """ + Cost of shipping the Fulfillment by Amazon (FBA) item to an Amazon fulfillment + center. This value is provided by the seller and applicable to Fulfillment by + Amazon (FBA) products. + """ + shippingToAmazonCost: Amount @resultRetention(duration : "P30D") +} + +""" +A fee applied to a given product in the seller's account within a given date +range. Fee information can be found +[here](https://sellercentral.amazon.com/gp/help/GZ8Y22NL2FSRY8M5). +""" +type Fee { + "Fee aggregated transaction detail." + aggregatedDetail: AggregatedDetail! + """ + A breakdown of the fee into individual components. This field will be null for + fee types that cannot be divided into individual components. + """ + components: [FeeComponent] @resultRetention(duration : "P30D") +} + +""" +The fee component data applied to a given product in the seller's account within +a given date range. It's breakdown of parent fee. +""" +type FeeComponent { + "Fee component aggregated detail." + aggregatedDetail: AggregatedDetail! + "Fee component name, for example: \"Base fulfillment fee\"." + name: String! @resultRetention(duration : "P30D") +} + +"The fees data summary for the seller's account aggregated by transaction event type: charge." +type FeeSummary { + "Charge summary for a fee type." + charge: Fee + "Fee type name, for example: \"FBA fulfillment fees\"" + feeTypeName: String! @resultRetention(duration : "P30D") +} + +""" +The item level per unit cost provided by the seller and applicable to Merchant +Fulfilled Network (MFN) products. Fields in this type will be null if not +provided by the seller. +""" +type MfnPerUnitCost { + """ + Cost of fulfilling an order containing the product, including labor, packing + material, shipping to customer, customer service etc. This value is provided + by the seller and applicable to Merchant Fulfilled Network (MFN) products. + """ + fulfillmentCost: Amount @resultRetention(duration : "P30D") + """ + Cost to store a single unit of the product per month. This value is provided + by the seller and applicable to Merchant Fulfilled Network (MFN) products. + """ + storageCost: Amount @resultRetention(duration : "P30D") +} + +""" +The net proceeds for a given product in the seller's account for a given time +range. These fields are calculated as sales.netProductSales - sum of +fees.charge.totalAmount - sum of ads.charge.totalAmount - (cost of Merchant +Fulfilled Network (MFN) products or cost of Fulfillment by Amazon (FBA) +products) * sales.netUnitsSold. +""" +type NetProceeds { + """ + Net proceeds per unit for a given product in the seller's account for a given + time range. This value is calculated by dividing total by sales.netUnitsSold. + """ + perUnit: Amount @resultRetention(duration : "P30D") + "\"Total net proceeds for a given product in the seller's account for a given time range." + total: Amount @resultRetention(duration : "P30D") +} + +"The item level per unit cost provided by seller. Fields in this type will be null if not provided by the seller." +type PerUnitCost { + """ + Cost to manufacture or acquire the product. This value is provided by the + seller and is applicable to both Fulfillment by Amazon (FBA) and Merchant + Fulfilled Network (MFN) products. + """ + costOfGoodsSold: Amount @resultRetention(duration : "P30D") + "The item level per unit cost provided by the seller and applicable to Fulfillment by Amazon (FBA) products." + fbaCost: FbaPerUnitCost + "The item level per unit cost provided by the seller and applicable to Merchant Fulfilled Network (MFN) products." + mfnCost: MfnPerUnitCost + """ + Miscellaneous costs not related to this specific product, ex: overhead, etc. + This value is provided by the seller and applicable to both Fulfillment by + Amazon (FBA) and Merchant Fulfilled Network (MFN) products. + """ + miscellaneousCost: Amount @resultRetention(duration : "P30D") +} + +"A root type for queries" +type Query { + "Seller economics queries version 2024_03_15." + analytics_economics_2024_03_15: Analytics_Economics_2024_03_15 +} + +"The sales data for a given product in the seller's account within a given date range." +type Sales { + """ + The average price of the units sold in the selected time period, calculated by + dividing the orderedProductSales by unitsOrdered for the selected time period. + This field will be null when unitsOrdered is 0. + """ + averageSellingPrice: Amount @resultRetention(duration : "P30D") + "The amount of net product sales, calculated by orderedProductSales - refundedProductSales." + netProductSales: Amount! @resultRetention(duration : "P30D") + "The number of net units sold for the selected time period, calculated by unitsOrdered - unitsRefunded." + netUnitsSold: Long! @resultRetention(duration : "P30D") + """ + The amount of ordered product sales, calculated by multiplying the price of + products and the number of units sold for the selected time period. + """ + orderedProductSales: Amount! @resultRetention(duration : "P30D") + "The amount of refunded product sales for the selected time period, it's counted by refund request time." + refundedProductSales: Amount! @resultRetention(duration : "P30D") + """ + The number of units ordered for the selected time period. Example: For an + order containing 2 copies of book A and 3 copies of book B, the number of + orders is 1, the number of order items is 2 (book A and book B), and the + number of units is 5 (2 + 3). + """ + unitsOrdered: Long! @resultRetention(duration : "P30D") + "The number of units refunded in the selected time period." + unitsRefunded: Long! @resultRetention(duration : "P30D") +} + +"The date granularity used in aggregation." +enum DateGranularity { + "Seller economics data is aggregated by day against marketplace local time." + DAY + "Seller economics data is aggregated by month against marketplace local time." + MONTH + "Seller economics data is aggregated by the entire date range specified by startDate and endDate." + RANGE + "Seller economics data is aggregated by week against marketplace local time, Sunday is the first day of the week." + WEEK +} + +"The fee type used in filter fee components generation." +enum FeeType { + "Fulfillment by Amazon (FBA) Fulfillment Fees, including base rate and surcharges." + FBA_FULFILLMENT_FEE + "Fulfillment by Amazon (FBA) Monthly Inventory Storage Fee, including base rate and surcharges." + FBA_STORAGE_FEE +} + +"The product identifier granularity used in aggregation." +enum ProductIdentifierGranularity { + "Seller Economics data is aggregated by child ASIN." + CHILD_ASIN + "Seller Economics data is aggregated by fulfillment network sku." + FNSKU + "Seller Economics data is aggregated by merchant sku." + MSKU + "Seller Economics data is aggregated by parent ASIN." + PARENT_ASIN +} + +"An RFC-3339 compliant Full Date Scalar. Example: \"2024-03-15\"" +scalar Date + +"A Scalar for the primitive long type." +scalar Long + +"Defines how the seller economics data will be aggregated." +input EconomicsAggregation { + "The date granularity used in aggregation. By default the results will be aggregated by DAY." + date: DateGranularity + "The product identifier granularity used in aggregation. By default the results will be aggregated by MSKU." + productId: ProductIdentifierGranularity +} diff --git a/schemas/data-kiosk/analytics_salesAndTraffic_2023_11_15.graphql b/schemas/data-kiosk/analytics_salesAndTraffic_2023_11_15.graphql index 4347e7a4b..6afb98538 100644 --- a/schemas/data-kiosk/analytics_salesAndTraffic_2023_11_15.graphql +++ b/schemas/data-kiosk/analytics_salesAndTraffic_2023_11_15.graphql @@ -9,9 +9,9 @@ retentions, the shortest (minimum) retention is applied to the query. The retention of a query's resulting documents always matches the retention of the query. """ directive @resultRetention( - "An ISO 8601 duration." - duration: String! -) on FIELD_DEFINITION + "An ISO 8601 duration." + duration: String! + ) on FIELD_DEFINITION "Monetary amount with the corresponding currency code." type Amount { @@ -26,19 +26,19 @@ type Analytics_SalesAndTraffic_2023_11_15 { "A query to retrieve sales and traffic data for the seller's account aggregated by ASIN." salesAndTrafficByAsin( "Determines how the sales and traffic data should be aggregated." - aggregateBy: AsinGranularity!, + aggregateBy: AsinGranularity!, """ The end date of the sales and traffic data to retrieve. If a date granularity is specified and the provided end date occurs mid-week or mid-month, the preceding Saturday for WEEK date granularity or the last day of the previous month for MONTH date granularity will be used instead. """ - endDate: Date!, + endDate: Date!, """ The marketplace identifiers to retrieve sales and traffic data for. If omitted, sales and traffic data for all applicable marketplaces will be retrieved. """ - marketplaceIds: [String], + marketplaceIds: [String], """ The start date of the sales and traffic data to retrieve. The start date must be no more than two years ago. If a date granularity is specified and @@ -51,19 +51,19 @@ type Analytics_SalesAndTraffic_2023_11_15 { "A query to retrieve sales and traffic data for the seller's account aggregated by date." salesAndTrafficByDate( "Determines how the sales and traffic data should be aggregated." - aggregateBy: DateGranularity!, + aggregateBy: DateGranularity!, """ The end date of the sales and traffic data to retrieve. If the provided end date occurs mid-week or mid-month, the preceding Saturday for WEEK date granularity or the last day of the previous month for MONTH date granularity will be used instead. """ - endDate: Date!, + endDate: Date!, """ The marketplace identifiers to retrieve sales and traffic data for. If omitted, sales and traffic data for all applicable marketplaces will be retrieved. """ - marketplaceIds: [String], + marketplaceIds: [String], """ The start date of the sales and traffic data to retrieve. The start date must be no more than two years ago. If the provided start date occurs @@ -573,8 +573,8 @@ enum DateGranularity { WEEK } -"Date" +"An RFC-3339 compliant Full Date Scalar. Example: \"2023-11-15\"" scalar Date -"Long" +"A Scalar for the primitive long type." scalar Long diff --git a/schemas/data-kiosk/analytics_salesAndTraffic_2024_04_24.graphql b/schemas/data-kiosk/analytics_salesAndTraffic_2024_04_24.graphql index 597668d4b..b3deb1922 100644 --- a/schemas/data-kiosk/analytics_salesAndTraffic_2024_04_24.graphql +++ b/schemas/data-kiosk/analytics_salesAndTraffic_2024_04_24.graphql @@ -567,8 +567,8 @@ enum DateGranularity { WEEK } -"Date" +"An RFC-3339 compliant Full Date Scalar. Example: \"2023-11-15\"" scalar Date -"Long" +"A Scalar for the primitive long type." scalar Long From d25fb41cf63ba7256091e8e5895239009fd76ebd Mon Sep 17 00:00:00 2001 From: Gibran Waldron Date: Wed, 22 May 2024 10:07:24 -0700 Subject: [PATCH 248/340] Update Product Pricing API v2022-05-01 getCompetitiveSummary. --- .../productPricing_2022-05-01.json | 505 +++++++++++++++++- 1 file changed, 496 insertions(+), 9 deletions(-) diff --git a/models/product-pricing-api-model/productPricing_2022-05-01.json b/models/product-pricing-api-model/productPricing_2022-05-01.json index eded62880..2943186c6 100644 --- a/models/product-pricing-api-model/productPricing_2022-05-01.json +++ b/models/product-pricing-api-model/productPricing_2022-05-01.json @@ -38,7 +38,8 @@ "required": true, "schema": { "$ref": "#/definitions/GetFeaturedOfferExpectedPriceBatchRequest" - } + }, + "description": "The batch of `getFeaturedOfferExpectedPrice` requests." } ], "responses": { @@ -436,6 +437,36 @@ "type": "string", "description": "Unique request reference identifier." } + }, + "x-amzn-api-sandbox": { + "static": [ + { + "request": { + "parameters": { + "body": { + "value": { + "requests": [ + { + "marketplaceId": "MARKETPLACE_ID", + "sku": "INVALID_SKU", + "method": "GET", + "uri": "/products/pricing/2022-05-01/offer/featuredOfferExpectedPrice" + } + ] + } + } + } + }, + "response": { + "errors": [ + { + "code": "INVALID_SKU", + "message": "The requested SKU does not exist for the seller in the requested marketplace." + } + ] + } + } + ] } }, "401": { @@ -640,6 +671,110 @@ } ] } + ], + "referencePrices": [ + { + "name": "CompetitivePriceThreshold", + "price": { + "amount": 18.11, + "currencyCode": "USD" + } + } + ], + "lowestPricedOffers": [ + { + "lowestPricedOffersInput":{ + "itemCondition": "New", + "offerType": "Consumer" + }, + "offers": [ + { + "listingPrice": { + "currencyCode": "USD", + "amount": 17.15 + }, + "shippingOptions": [ + { + "shippingOptionType": "DEFAULT", + "price": { + "amount": 2.50, + "currencyCode": "USD" + } + } + ], + "points": { + "pointsMonetaryValue": { + "amount": 0.50, + "currencyCode": "USD" + }, + "pointsNumber": 50 + }, + "primeDetails": { + "eligibility": "REGIONAL" + }, + "subCondition": "New", + "sellerId": "A2ZWOLFOFDPJL1", + "fulfillmentType": "MFN" + }, + { + "listingPrice": { + "amount": 18.11, + "currencyCode": "USD" + }, + "shippingOptions": [ + { + "shippingOptionType": "DEFAULT", + "price": { + "amount": 2.50, + "currencyCode": "USD" + } + } + ], + "points": { + "pointsNumber": 3, + "pointsMonetaryValue": { + "amount": 0.03, + "currencyCode": "USD" + } + }, + "primeDetails": { + "eligibility": "NATIONAL" + }, + "sellerId": "A3DJR8M9Y3OUPG", + "subCondition": "New", + "fulfillmentType": "MFN" + } + ] + }, + { + "lowestPricedOffersInput": { + "itemCondition": "Used", + "offerType": "Consumer" + }, + "offers": [ + { + "listingPrice": { + "CurrencyCode": "USD", + "Amount": 12.00 + }, + "shippingOptions": [ + { + "shippingOptionType": "DEFAULT", + "price": { + "amount": 2.50, + "currencyCode": "USD" + } + } + ], + "primeDetails": { + "eligibility": "REGIONAL" + }, + "subCondition": "Acceptable", + "sellerId": "A3DH5AGPM3JVAB", + "fulfillmentType": "AFN" + } + ] + } ] } } @@ -658,7 +793,19 @@ "asin": "B00ZIAODGE", "marketplaceId": "ATVPDKIKX0DER", "includedData": [ - "featuredBuyingOptions" + "featuredBuyingOptions", + "referencePrices", + "lowestPricedOffers" + ], + "lowestPricedOffersInputs": [ + { + "itemCondition": "New", + "offerType": "Consumer" + }, + { + "itemCondition": "Used", + "offerType": "Consumer" + } ], "uri": "/products/pricing/2022-05-01/items/competitiveSummary", "method": "GET" @@ -765,7 +912,112 @@ } ] } + ], + "referencePrices": [ + { + "name": "CompetitivePriceThreshold", + "price": { + "amount": 18.11, + "currencyCode": "USD" + } + } + ], + "lowestPricedOffers": [ + { + "lowestPricedOffersInput":{ + "itemCondition": "New", + "offerType": "Consumer" + }, + "offers": [ + { + "listingPrice": { + "currencyCode": "USD", + "amount": 17.15 + }, + "shippingOptions": [ + { + "shippingOptionType": "DEFAULT", + "price": { + "amount": 2.50, + "currencyCode": "USD" + } + } + ], + "points": { + "pointsMonetaryValue": { + "amount": 0.50, + "currencyCode": "USD" + }, + "pointsNumber": 50 + }, + "primeDetails": { + "eligibility": "REGIONAL" + }, + "subCondition": "New", + "sellerId": "A2ZWOLFOFDPJL1", + "fulfillmentType": "MFN" + }, + { + "listingPrice": { + "amount": 18.11, + "currencyCode": "USD" + }, + "shippingOptions": [ + { + "shippingOptionType": "DEFAULT", + "price": { + "amount": 2.50, + "currencyCode": "USD" + } + } + ], + "points": { + "pointsNumber": 3, + "pointsMonetaryValue": { + "amount": 0.03, + "currencyCode": "USD" + } + }, + "primeDetails": { + "eligibility": "NATIONAL" + }, + "sellerId": "A3DJR8M9Y3OUPG", + "subCondition": "New", + "fulfillmentType": "MFN" + } + ] + }, + { + "lowestPricedOffersInput": { + "itemCondition": "Used", + "offerType": "Consumer" + }, + "offers": [ + { + "listingPrice": { + "currencyCode": "USD", + "amount": 12.00 + }, + "shippingOptions": [ + { + "shippingOptionType": "DEFAULT", + "price": { + "amount": 2.50, + "currencyCode": "USD" + } + } + ], + "primeDetails": { + "eligibility": "REGIONAL" + }, + "subCondition": "Acceptable", + "sellerId": "A3DH5AGPM3JVAB", + "fulfillmentType": "AFN" + } + ] + } ] + } }, { @@ -804,6 +1056,39 @@ }, "schema": { "$ref": "#/definitions/Errors" + }, + "x-amzn-api-sandbox": { + "static": [ + { + "request": { + "parameters": { + "body": { + "value": { + "requests": [ + { + "asin": "11_AABB_123", + "marketplaceId": "ATVPDKIKX0DER", + "includedData": [ + "featuredBuyingOptions" + ], + "uri": "/products/pricing/2022-05-01/items/competitiveSummary", + "method": "GET" + } + ] + } + } + } + }, + "response": { + "errors": [ + { + "code": "INVALID_ASIN", + "message": "11_AABB_123 is not a valid ASIN" + } + ] + } + } + ] } }, "403": { @@ -956,7 +1241,8 @@ } } } - ] + ], + "description": "Schema for an individual featured offer expected price response." }, "CompetitiveSummaryBatchRequest": { "description": "The `competitiveSummary` batch request data.", @@ -1007,6 +1293,15 @@ }, "minItems": 1 }, + "lowestPricedOffersInputs": { + "type": "array", + "description": "The list of `lowestPricedOffersInput` parameters used to build the `lowestPricedOffers` in the response. This attribute is valid only if `lowestPricedOffers` is requested in `includedData`.", + "items": { + "$ref": "#/definitions/LowestPricedOffersInput" + }, + "minItems": 0, + "maxItems": 5 + }, "method": { "description": "HTTP method type", "$ref": "#/definitions/HttpMethod" @@ -1021,9 +1316,33 @@ "type": "string", "description": "The supported types of data in the `getCompetitiveSummary` API.", "enum": [ - "featuredBuyingOptions" + "featuredBuyingOptions", + "referencePrices", + "lowestPricedOffers" ] }, + "LowestPricedOffersInput": { + "description": "The input required for building the `LowestPricedOffers` data in the response.", + "type": "object", + "required": [ + "itemCondition", + "offerType" + ], + "properties": { + "itemCondition": { + "type": "string", + "description": "The condition of the item offer that was requested for the `LowestPricedOffers`. The default `itemCondition` is `New`.", + "$ref": "#/definitions/Condition" + }, + "offerType": { + "type": "string", + "description": "The type of offers requested for the `LowestPricedOffers`. The `offerType` options are `Consumer` or `Business`. The default `offerType` is `Consumer`.", + "enum": [ + "CONSUMER" + ] + } + } + }, "CompetitiveSummaryBatchResponse": { "description": "The response schema of the `competitiveSummaryBatch` operation.", "type": "object", @@ -1088,9 +1407,40 @@ "$ref": "#/definitions/FeaturedBuyingOption" } }, + "lowestPricedOffers": { + "description": "A list of the lowest priced offers for the given ASIN `marketplaceId` combination.", + "type": "array", + "items": { + "$ref": "#/definitions/LowestPricedOffer" + } + }, + "referencePrices": { + "description": "A list of reference prices for the given ASIN `marketplaceId` combination.", + "type": "array", + "items": { + "$ref": "#/definitions/ReferencePrice" + } + }, "errors": { "description": "A list of errors", - "$ref": "#/definitions/Errors" + "$ref": "#/definitions/ErrorList" + } + } + }, + "ReferencePrice": { + "description": "The reference price for the given ASIN `marketplaceId` combination. ", + "type": "object", + "required": [ + "name", + "price" + ], + "properties": { + "name": { + "description": "The name of the reference price like `CompetitivePriceThreshold`." + }, + "price": { + "description": "The reference price for the ASIN `marketplaceId` combination. ", + "$ref": "#/definitions/MoneyType" } } }, @@ -1149,6 +1499,30 @@ } ] }, + "LowestPricedOffer": { + "description": "The lowest priced offer for the requested item condition and offer type.", + "type": "object", + "required": [ + "lowestPricedOffersInput", + "offers" + ], + "properties": { + "lowestPricedOffersInput": { + "description": "The filtering criteria used to retrieve this lowest-priced offers correspond to the `lowestPricedOffersInputs` received in the request.", + "type": "object", + "$ref": "#/definitions/LowestPricedOffersInput" + }, + "offers": { + "description": "A list of up to 20 lowest priced offers that match the criteria specified in the `lowestPricedOffersInput` parameter.", + "type": "array", + "items": { + "$ref": "#/definitions/Offer" + }, + "minItems": 1, + "maxItems": 20 + } + } + }, "Offer": { "description": "The offer data of a product.", "type": "object", @@ -1167,6 +1541,79 @@ "description": "Item Condition.", "$ref": "#/definitions/Condition" }, + "subCondition": { + "type": "string", + "description": "The item subcondition for the offer.", + "enum": [ + "New", + "Mint", + "VeryGood", + "Good", + "Acceptable", + "Poor", + "Club", + "OEM", + "Warranty", + "RefurbishedWarranty", + "Refurbished", + "OpenBox", + "Other" + ], + "x-docgen-enum-table-extension": [ + { + "value": "New", + "description": "New" + }, + { + "value": "Mint", + "description": "Mint" + }, + { + "value": "VeryGood", + "description": "VeryGood" + }, + { + "value": "Good", + "description": "Good" + }, + { + "value": "Acceptable", + "description": "Acceptable" + }, + { + "value": "Poor", + "description": "Poor" + }, + { + "value": "Club", + "description": "Club" + }, + { + "value": "OEM", + "description": "OEM" + }, + { + "value": "Warranty", + "description": "Warranty" + }, + { + "value": "RefurbishedWarranty", + "description": "RefurbishedWarranty" + }, + { + "value": "Refurbished", + "description": "Refurbished" + }, + { + "value": "OpenBox", + "description": "OpenBox" + }, + { + "value": "Other", + "description": "Other" + } + ] + }, "fulfillmentType": { "$ref": "#/definitions/FulfillmentType", "description": "The fulfillment type for the offer. Possible values are AFN (Amazon Fulfillment Network) and MFN (Merchant Fulfillment Network)." @@ -1185,6 +1632,42 @@ "points": { "description": "The number of Amazon Points offered with the purchase of an item, and their monetary value. Note that the Points element is only returned in Japan (JP).", "$ref": "#/definitions/Points" + }, + "primeDetails": { + "description": "Amazon Prime details.", + "$ref": "#/definitions/PrimeDetails" + } + } + }, + "PrimeDetails": { + "description": "Amazon Prime details.", + "type": "object", + "required": [ + "eligibility" + ], + "properties": { + "eligibility": { + "description": "Indicates whether the offer is an Amazon Prime offer.", + "type": "string", + "enum": [ + "NATIONAL", + "REGIONAL", + "NONE" + ], + "x-docgen-enum-table-extension": [ + { + "value": "NATIONAL", + "description": "Indicates that this offer has Prime eligibility throughout the entire marketplace." + }, + { + "value": "REGIONAL", + "description": "Indicates that this offer has Prime eligibility in some(but not all) regions in the marketplace." + }, + { + "value": "NONE", + "description": "Indicates that this offer is not an Amazon Prime offer in any regions." + } + ] } } }, @@ -1356,7 +1839,8 @@ "description": "The current active price of the offer.", "$ref": "#/definitions/Price" } - } + }, + "description": "Schema for `currentFeaturedOffer` or `competingFeaturedOffer`." }, "HttpHeaders": { "description": "A mapping of additional HTTP headers to send/receive for an individual request within a batch.", @@ -1505,7 +1989,8 @@ "type": "number", "description": "The monetary value." } - } + }, + "description": "Currency type and monetary value. Schema for demonstrating pricing info." }, "Price": { "type": "object", @@ -1525,7 +2010,8 @@ "description": "The number of Amazon Points offered with the purchase of an item, and their monetary value.", "$ref": "#/definitions/Points" } - } + }, + "description": "Schema for item's price information, including listing price, shipping price, and Amazon points." }, "Points": { "type": "object", @@ -1539,7 +2025,8 @@ "description": "The monetary value of the points.", "$ref": "#/definitions/MoneyType" } - } + }, + "description": "The number of Amazon Points offered with the purchase of an item, and their monetary value." }, "FulfillmentType": { "type": "string", From 2da4286f7bab5172a6100debc08b2f0d223d1b30 Mon Sep 17 00:00:00 2001 From: lisa-delaney Date: Wed, 22 May 2024 10:49:37 -0700 Subject: [PATCH 249/340] Update Catalog Items API v2022 --- .../catalogItems_2022-04-01.json | 144 +++++++++++++++++- 1 file changed, 141 insertions(+), 3 deletions(-) diff --git a/models/catalog-items-api-model/catalogItems_2022-04-01.json b/models/catalog-items-api-model/catalogItems_2022-04-01.json index 95c528059..1047cb99e 100644 --- a/models/catalog-items-api-model/catalogItems_2022-04-01.json +++ b/models/catalog-items-api-model/catalogItems_2022-04-01.json @@ -29,7 +29,7 @@ "tags": [ "catalog" ], - "description": "Search for and return a list of Amazon catalog items and associated information either by identifier or by keywords.\n\n**Usage Plans:**\n\n| Rate (requests per second) | Burst |\n| ---- | ---- |\n| 2 | 2 |\n\nThe `x-amzn-RateLimit-Limit` response header returns the usage plan rate limits that were applied to the requested operation, when available. The table above indicates the default rate and burst values for this operation. Selling partners whose business demands require higher throughput may observe higher rate and burst values than those shown here. For more information, refer to the [Usage Plans and Rate Limits in the Selling Partner API](doc:usage-plans-and-rate-limits-in-the-sp-api).", + "description": "Search for and return a list of Amazon catalog items and associated information either by identifier or by keywords.\n\n**Usage Plans:**\n\n| Rate (requests per second) | Burst |\n| ---- | ---- |\n| 5 | 5 |\n\nThe `x-amzn-RateLimit-Limit` response header returns the usage plan rate limits that were applied to the requested operation, when available. The table above indicates the default rate and burst values for this operation. Selling partners whose business demands require higher throughput may observe higher rate and burst values than those shown here. For more information, refer to the [Usage Plans and Rate Limits in the Selling Partner API](doc:usage-plans-and-rate-limits-in-the-sp-api).", "operationId": "searchCatalogItems", "consumes": [ "application/json" @@ -125,6 +125,7 @@ "items": { "enum": [ "attributes", + "classifications", "dimensions", "identifiers", "images", @@ -140,6 +141,10 @@ "value": "attributes", "description": "A JSON object containing structured item attribute data keyed by attribute name. Catalog item attributes conform to the related Amazon product type definitions available in the Selling Partner API for Product Type Definitions." }, + { + "value": "classifications", + "description": "Classifications (browse nodes) for an item in the Amazon catalog." + }, { "value": "dimensions", "description": "Dimensions for an item in the Amazon catalog." @@ -797,6 +802,29 @@ } ] }, + "classifications": [ + { + "marketplaceId": "ATVPDKIKX0DER", + "classifications": [ + { + "displayName": "QLED TVs", + "classificationId": "21489946011", + "parent": { + "displayName": "Televisions", + "classificationId": "172659", + "parent": { + "displayName": "Television & Video", + "classificationId": "1266092011", + "parent": { + "displayName": "Electronics", + "classificationId": "172282" + } + } + } + } + ] + } + ], "dimensions": [ { "marketplaceId": "ATVPDKIKX0DER", @@ -1140,6 +1168,7 @@ }, "includedData": { "value": [ + "classifications", "dimensions", "identifiers", "images", @@ -1176,6 +1205,29 @@ "items": [ { "asin": "B07N4M94X4", + "classifications": [ + { + "marketplaceId": "ATVPDKIKX0DER", + "classifications": [ + { + "displayName": "QLED TVs", + "classificationId": "21489946011", + "parent": { + "displayName": "Televisions", + "classificationId": "172659", + "parent": { + "displayName": "Television & Video", + "classificationId": "1266092011", + "parent": { + "displayName": "Electronics", + "classificationId": "172282" + } + } + } + } + ] + } + ], "dimensions": [ { "marketplaceId": "ATVPDKIKX0DER", @@ -1616,7 +1668,7 @@ "tags": [ "catalog" ], - "description": "Retrieves details for an item in the Amazon catalog.\n\n**Usage Plan:**\n\n| Rate (requests per second) | Burst |\n| ---- | ---- |\n| 2 | 2 |\n\nThe `x-amzn-RateLimit-Limit` response header returns the usage plan rate limits that were applied to the requested operation, when available. The table above indicates the default rate and burst values for this operation. Selling partners whose business demands require higher throughput may observe higher rate and burst values than those shown here. For more information, refer to the [Usage Plans and Rate Limits in the Selling Partner API](doc:usage-plans-and-rate-limits-in-the-sp-api).", + "description": "Retrieves details for an item in the Amazon catalog.\n\n**Usage Plan:**\n\n| Rate (requests per second) | Burst |\n| ---- | ---- |\n| 5 | 5 |\n\nThe `x-amzn-RateLimit-Limit` response header returns the usage plan rate limits that were applied to the requested operation, when available. The table above indicates the default rate and burst values for this operation. Selling partners whose business demands require higher throughput may observe higher rate and burst values than those shown here. For more information, refer to the [Usage Plans and Rate Limits in the Selling Partner API](doc:usage-plans-and-rate-limits-in-the-sp-api).", "operationId": "getCatalogItem", "consumes": [ "application/json" @@ -1653,6 +1705,7 @@ "items": { "enum": [ "attributes", + "classifications", "dimensions", "identifiers", "images", @@ -1668,6 +1721,10 @@ "value": "attributes", "description": "A JSON object containing structured item attribute data keyed by attribute name. Catalog item attributes conform to the related Amazon product type definitions available in the Selling Partner API for Product Type Definitions." }, + { + "value": "classifications", + "description": "Classifications (browse nodes) for an item in the Amazon catalog." + }, { "value": "dimensions", "description": "Dimensions for an item in the Amazon catalog." @@ -2233,6 +2290,29 @@ } ] }, + "classifications": [ + { + "marketplaceId": "ATVPDKIKX0DER", + "classifications": [ + { + "displayName": "QLED TVs", + "classificationId": "21489946011", + "parent": { + "displayName": "Televisions", + "classificationId": "172659", + "parent": { + "displayName": "Television & Video", + "classificationId": "1266092011", + "parent": { + "displayName": "Electronics", + "classificationId": "172282" + } + } + } + } + ] + } + ], "dimensions": [ { "marketplaceId": "ATVPDKIKX0DER", @@ -2571,6 +2651,7 @@ }, "includedData": { "value": [ + "classifications", "dimensions", "identifiers", "images", @@ -2585,6 +2666,29 @@ }, "response": { "asin": "B07N4M94X4", + "classifications": [ + { + "marketplaceId": "ATVPDKIKX0DER", + "classifications": [ + { + "displayName": "QLED TVs", + "classificationId": "21489946011", + "parent": { + "displayName": "Televisions", + "classificationId": "172659", + "parent": { + "displayName": "Television & Video", + "classificationId": "1266092011", + "parent": { + "displayName": "Electronics", + "classificationId": "172282" + } + } + } + } + ] + } + ], "dimensions": [ { "marketplaceId": "ATVPDKIKX0DER", @@ -3066,6 +3170,9 @@ "attributes": { "$ref": "#/definitions/ItemAttributes" }, + "classifications": { + "$ref": "#/definitions/ItemBrowseClassifications" + }, "dimensions": { "$ref": "#/definitions/ItemDimensions" }, @@ -3109,12 +3216,16 @@ "description": "Classification (browse node) associated with an Amazon catalog item.", "properties": { "displayName": { - "description": "Display name for the classification.", + "description": "Display name for the classification (browse node).", "type": "string" }, "classificationId": { "description": "Identifier of the classification (browse node identifier).", "type": "string" + }, + "parent": { + "description": "Parent classification (browse node) of the current classification.", + "$ref": "#/definitions/ItemBrowseClassification" } }, "required": [ @@ -3157,6 +3268,33 @@ ], "type": "object" }, + "ItemBrowseClassifications": { + "description": "Array of classifications (browse nodes) associated with the item in the Amazon catalog by Amazon marketplace.", + "items": { + "$ref": "#/definitions/ItemBrowseClassificationsByMarketplace" + }, + "type": "array" + }, + "ItemBrowseClassificationsByMarketplace": { + "description": "Classifications (browse nodes) associated with the item in the Amazon catalog for the indicated Amazon marketplace.", + "properties": { + "marketplaceId": { + "description": "Amazon marketplace identifier.", + "type": "string" + }, + "classifications": { + "description": "Classifications (browse nodes) associated with the item in the Amazon catalog for the indicated Amazon marketplace.", + "items": { + "$ref": "#/definitions/ItemBrowseClassification" + }, + "type": "array" + } + }, + "required": [ + "marketplaceId" + ], + "type": "object" + }, "Dimension": { "description": "Individual dimension value of an Amazon catalog item or item package.", "properties": { From 911f723f1c7780061d5559b1ba7a459111f54e38 Mon Sep 17 00:00:00 2001 From: Gibran Waldron Date: Wed, 22 May 2024 15:03:10 -0700 Subject: [PATCH 250/340] Update Product Pricing API v2022-05-01 getCompetitiveSummary. --- models/product-pricing-api-model/productPricing_2022-05-01.json | 1 + 1 file changed, 1 insertion(+) diff --git a/models/product-pricing-api-model/productPricing_2022-05-01.json b/models/product-pricing-api-model/productPricing_2022-05-01.json index 2943186c6..a0e6f466d 100644 --- a/models/product-pricing-api-model/productPricing_2022-05-01.json +++ b/models/product-pricing-api-model/productPricing_2022-05-01.json @@ -1436,6 +1436,7 @@ ], "properties": { "name": { + "type": "string", "description": "The name of the reference price like `CompetitivePriceThreshold`." }, "price": { From 0a039cadefb7d6b40605a68a52c3de74dd6eafc1 Mon Sep 17 00:00:00 2001 From: Shreeharsh <162564990+shreeharsh-a@users.noreply.github.com> Date: Thu, 23 May 2024 14:57:23 +0530 Subject: [PATCH 251/340] Update closing_inactive_issues.yml --- .github/workflows/closing_inactive_issues.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/closing_inactive_issues.yml b/.github/workflows/closing_inactive_issues.yml index bbac872eb..b207fc834 100644 --- a/.github/workflows/closing_inactive_issues.yml +++ b/.github/workflows/closing_inactive_issues.yml @@ -20,7 +20,7 @@ jobs: steps: - uses: actions/stale@v9 with: - days-before-issue-stale: 90 + days-before-issue-stale: 30 days-before-issue-close: 3 close-issue-message: 'closed for inactivity' repo-token: ${{ secrets.GITHUB_TOKEN }} From 6e95f06469a011f1e75ffdeb80f1f47863b53d6a Mon Sep 17 00:00:00 2001 From: Shreeharsh <162564990+shreeharsh-a@users.noreply.github.com> Date: Wed, 29 May 2024 13:22:51 +0530 Subject: [PATCH 252/340] Update README.md --- README.md | 2 ++ 1 file changed, 2 insertions(+) diff --git a/README.md b/README.md index 16c9975da..5c3396158 100644 --- a/README.md +++ b/README.md @@ -7,6 +7,8 @@ The [clients directory](https://github.com/amzn/selling-partner-api-models/tree/ The [schemas directory](https://github.com/amzn/selling-partner-api-models/tree/main/schemas) contains all of the currently available Selling Partner Api schemas. +**Note:** For any issues related to SP API like bugs or troubleshooting, please reach out to Developer Support so that the right team can help / channel your inputs (in case of bugs / feature requests) to the development team. + ## Security See [CONTRIBUTING](CONTRIBUTING.md#security-issue-notifications) for more information. From 01dca3a0682e438dc5c64ce298608b0dbac605ef Mon Sep 17 00:00:00 2001 From: Shreeharsh <162564990+shreeharsh-a@users.noreply.github.com> Date: Wed, 29 May 2024 18:53:27 +0530 Subject: [PATCH 253/340] Update README.md --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index 5c3396158..0d6c3d98c 100644 --- a/README.md +++ b/README.md @@ -7,7 +7,7 @@ The [clients directory](https://github.com/amzn/selling-partner-api-models/tree/ The [schemas directory](https://github.com/amzn/selling-partner-api-models/tree/main/schemas) contains all of the currently available Selling Partner Api schemas. -**Note:** For any issues related to SP API like bugs or troubleshooting, please reach out to Developer Support so that the right team can help / channel your inputs (in case of bugs / feature requests) to the development team. +**Note:** For any issues related to SP API like bugs or troubleshooting, please reach out to [Developer Support](https://developer.amazonservices.com/support) so that the right team can help / channel your inputs (in case of bugs / feature requests) to the development team. ## Security From 327ddcabc1737e78a929a47aef3b82aba41f9da6 Mon Sep 17 00:00:00 2001 From: Jack Evoniuk Date: Tue, 4 Jun 2024 09:54:22 -0700 Subject: [PATCH 254/340] Update the Fulfillment Inbound v2024-03-20 model --- ...son => fulfillmentInbound_2024-03-20.json} | 6964 +++++++++++++---- 1 file changed, 5580 insertions(+), 1384 deletions(-) rename models/fulfillment-inbound-api-model/{fulfillmentInboundv2024-03-20.json => fulfillmentInbound_2024-03-20.json} (63%) diff --git a/models/fulfillment-inbound-api-model/fulfillmentInboundv2024-03-20.json b/models/fulfillment-inbound-api-model/fulfillmentInbound_2024-03-20.json similarity index 63% rename from models/fulfillment-inbound-api-model/fulfillmentInboundv2024-03-20.json rename to models/fulfillment-inbound-api-model/fulfillmentInbound_2024-03-20.json index e06624036..2cba22f3c 100644 --- a/models/fulfillment-inbound-api-model/fulfillmentInboundv2024-03-20.json +++ b/models/fulfillment-inbound-api-model/fulfillmentInbound_2024-03-20.json @@ -154,17 +154,15 @@ ], "sourceAddress": { "name": "name", + "companyName": "Acme", "addressLine1": "123 example street", - "addressLine2": "Floor 19", + "addressLine2": "Unit 102", "city": "Toronto", - "stateOrProvinceCode": "ON", "countryCode": "CA", + "stateOrProvinceCode": "ON", "postalCode": "M1M1M1", - "companyName": "Acme" - }, - "contactInformation": { - "email": "email@email.com", - "phoneNumber": "1234567890" + "phoneNumber": "1234567890", + "email": "email@email.com" } }, { @@ -178,17 +176,15 @@ ], "sourceAddress": { "name": "name", + "companyName": "Acme", "addressLine1": "123 example street", - "addressLine2": "Floor 19", + "addressLine2": "Unit 102", "city": "Toronto", - "stateOrProvinceCode": "ON", "countryCode": "CA", + "stateOrProvinceCode": "ON", "postalCode": "M1M1M1", - "companyName": "Acme" - }, - "contactInformation": { - "email": "email@email.com", - "phoneNumber": "1234567890" + "phoneNumber": "1234567890", + "email": "email@email.com" } } ], @@ -256,8 +252,8 @@ } } }, - "500": { - "description": "An unexpected condition occurred that prevented the server from fulfilling the request.", + "404": { + "description": "The resource specified does not exist.", "schema": { "$ref": "#/definitions/ErrorList" }, @@ -265,11 +261,15 @@ "x-amzn-RequestId": { "description": "Unique request reference identifier.", "type": "string" + }, + "x-amzn-RateLimit-Limit": { + "description": "Your rate limit (requests per second) for this operation.", + "type": "string" } } }, - "403": { - "description": "Indicates that access to the resource is forbidden. Possible reasons include Access Denied, Unauthorized, Expired Token, or Invalid Signature.", + "500": { + "description": "An unexpected condition occurred that prevented the server from fulfilling the request.", "schema": { "$ref": "#/definitions/ErrorList" }, @@ -280,8 +280,8 @@ } } }, - "404": { - "description": "The resource specified does not exist.", + "403": { + "description": "Indicates that access to the resource is forbidden. Possible reasons include Access Denied, Unauthorized, Expired Token, or Invalid Signature.", "schema": { "$ref": "#/definitions/ErrorList" }, @@ -289,10 +289,6 @@ "x-amzn-RequestId": { "description": "Unique request reference identifier.", "type": "string" - }, - "x-amzn-RateLimit-Limit": { - "description": "Your rate limit (requests per second) for this operation.", - "type": "string" } } }, @@ -348,7 +344,7 @@ "tags": [ "fbaInbound" ], - "description": "Provides a list of inbound plans with minimal information.\n\n**Usage Plan:**\n\n| Rate (requests per second) | Burst |\n| ---- | ---- |\n| 1 | 1 |\n\nThe `x-amzn-RateLimit-Limit` response header returns the usage plan rate limits that were applied to the requested operation, when available. The table above indicates the default rate and burst values for this operation. Selling partners whose business demands require higher throughput may see higher rate and burst values than those shown here. For more information, refer to [Usage Plans and Rate Limits in the Selling Partner API](https://developer-docs.amazon.com/sp-api/docs/usage-plans-and-rate-limits-in-the-sp-api).", + "description": "Provides a list of inbound plans with minimal information.\n\n**Usage Plan:**\n\n| Rate (requests per second) | Burst |\n| ---- | ---- |\n| 2 | 6 |\n\nThe `x-amzn-RateLimit-Limit` response header returns the usage plan rate limits that were applied to the requested operation, when available. The table above indicates the default rate and burst values for this operation. Selling partners whose business demands require higher throughput may see higher rate and burst values than those shown here. For more information, refer to [Usage Plans and Rate Limits in the Selling Partner API](https://developer-docs.amazon.com/sp-api/docs/usage-plans-and-rate-limits-in-the-sp-api). ", "operationId": "listInboundPlans" }, "post": { @@ -383,17 +379,17 @@ "body": { "value": { "name": "FBA (03/20/2024, 12:01 PM)", - "contactInformation": { - "email": "email@email.com", - "phoneNumber": "+14161234567" - }, "sourceAddress": { "name": "name", + "companyName": "Acme", "addressLine1": "123 example street", + "addressLine2": "Unit 102", "city": "Toronto", - "stateOrProvinceCode": "ON", "countryCode": "CA", - "postalCode": "M1M1M1" + "stateOrProvinceCode": "ON", + "postalCode": "M1M1M1", + "phoneNumber": "1234567890", + "email": "email@email.com" }, "destinationMarketplaces": [ "A2EUQ1WTGCTBG2" @@ -443,17 +439,17 @@ "body": { "value": { "name": "FBA (03/20/2024, 12:01 PM)", - "contactInformation": { - "email": "email@email.com", - "phoneNumber": "+14161234567" - }, "sourceAddress": { "name": "name", + "companyName": "Acme", "addressLine1": "123 example street", + "addressLine2": "Unit 102", "city": "Toronto", "countryCode": "CA", "stateOrProvinceCode": "ON", - "postalCode": "M1M1M1" + "postalCode": "M1M1M1", + "phoneNumber": "1234567890", + "email": "email@email.com" }, "destinationMarketplaces": [ "badMarketplace" @@ -494,8 +490,8 @@ } } }, - "500": { - "description": "An unexpected condition occurred that prevented the server from fulfilling the request.", + "404": { + "description": "The resource specified does not exist.", "schema": { "$ref": "#/definitions/ErrorList" }, @@ -503,11 +499,15 @@ "x-amzn-RequestId": { "description": "Unique request reference identifier.", "type": "string" + }, + "x-amzn-RateLimit-Limit": { + "description": "Your rate limit (requests per second) for this operation.", + "type": "string" } } }, - "403": { - "description": "Indicates that access to the resource is forbidden. Possible reasons include Access Denied, Unauthorized, Expired Token, or Invalid Signature.", + "500": { + "description": "An unexpected condition occurred that prevented the server from fulfilling the request.", "schema": { "$ref": "#/definitions/ErrorList" }, @@ -518,8 +518,8 @@ } } }, - "404": { - "description": "The resource specified does not exist.", + "403": { + "description": "Indicates that access to the resource is forbidden. Possible reasons include Access Denied, Unauthorized, Expired Token, or Invalid Signature.", "schema": { "$ref": "#/definitions/ErrorList" }, @@ -527,10 +527,6 @@ "x-amzn-RequestId": { "description": "Unique request reference identifier.", "type": "string" - }, - "x-amzn-RateLimit-Limit": { - "description": "Your rate limit (requests per second) for this operation.", - "type": "string" } } }, @@ -586,7 +582,7 @@ "tags": [ "fbaInbound" ], - "description": "Creates an inbound plan. An inbound plan contains all the necessary information to send shipments into Amazon's fufillment network.\n\n**Usage Plan:**\n\n| Rate (requests per second) | Burst |\n| ---- | ---- |\n| 0.05 | 1 |\n\nThe `x-amzn-RateLimit-Limit` response header returns the usage plan rate limits that were applied to the requested operation, when available. The table above indicates the default rate and burst values for this operation. Selling partners whose business demands require higher throughput may see higher rate and burst values than those shown here. For more information, refer to [Usage Plans and Rate Limits in the Selling Partner API](https://developer-docs.amazon.com/sp-api/docs/usage-plans-and-rate-limits-in-the-sp-api).", + "description": "Creates an inbound plan. An inbound plan contains all the necessary information to send shipments into Amazon's fufillment network.\n\n**Usage Plan:**\n\n| Rate (requests per second) | Burst |\n| ---- | ---- |\n| 2 | 2 |\n\nThe `x-amzn-RateLimit-Limit` response header returns the usage plan rate limits that were applied to the requested operation, when available. The table above indicates the default rate and burst values for this operation. Selling partners whose business demands require higher throughput may see higher rate and burst values than those shown here. For more information, refer to [Usage Plans and Rate Limits in the Selling Partner API](https://developer-docs.amazon.com/sp-api/docs/usage-plans-and-rate-limits-in-the-sp-api). ", "operationId": "createInboundPlan" } }, @@ -597,7 +593,7 @@ ], "parameters": [ { - "description": "Identifier to an inbound plan.", + "description": "Identifier of an inbound plan.", "in": "path", "maxLength": 38, "minLength": 38, @@ -637,17 +633,15 @@ "shipments": [], "sourceAddress": { "name": "name", + "companyName": "Acme", "addressLine1": "123 example street", - "addressLine2": "Floor 19", + "addressLine2": "Unit 102", "city": "Toronto", - "stateOrProvinceCode": "ON", "countryCode": "CA", + "stateOrProvinceCode": "ON", "postalCode": "M1M1M1", - "companyName": "Acme" - }, - "contactInformation": { - "email": "email@email.com", - "phoneNumber": "1234567890" + "phoneNumber": "1234567890", + "email": "email@email.com" } } } @@ -701,8 +695,8 @@ } } }, - "500": { - "description": "An unexpected condition occurred that prevented the server from fulfilling the request.", + "404": { + "description": "The resource specified does not exist.", "schema": { "$ref": "#/definitions/ErrorList" }, @@ -710,11 +704,15 @@ "x-amzn-RequestId": { "description": "Unique request reference identifier.", "type": "string" + }, + "x-amzn-RateLimit-Limit": { + "description": "Your rate limit (requests per second) for this operation.", + "type": "string" } } }, - "403": { - "description": "Indicates that access to the resource is forbidden. Possible reasons include Access Denied, Unauthorized, Expired Token, or Invalid Signature.", + "500": { + "description": "An unexpected condition occurred that prevented the server from fulfilling the request.", "schema": { "$ref": "#/definitions/ErrorList" }, @@ -725,8 +723,8 @@ } } }, - "404": { - "description": "The resource specified does not exist.", + "403": { + "description": "Indicates that access to the resource is forbidden. Possible reasons include Access Denied, Unauthorized, Expired Token, or Invalid Signature.", "schema": { "$ref": "#/definitions/ErrorList" }, @@ -734,10 +732,6 @@ "x-amzn-RequestId": { "description": "Unique request reference identifier.", "type": "string" - }, - "x-amzn-RateLimit-Limit": { - "description": "Your rate limit (requests per second) for this operation.", - "type": "string" } } }, @@ -793,7 +787,7 @@ "tags": [ "fbaInbound" ], - "description": "Fetches the top level information about an inbound plan.\n\n**Usage Plan:**\n\n| Rate (requests per second) | Burst |\n| ---- | ---- |\n| 1 | 1 |\n\nThe `x-amzn-RateLimit-Limit` response header returns the usage plan rate limits that were applied to the requested operation, when available. The table above indicates the default rate and burst values for this operation. Selling partners whose business demands require higher throughput may see higher rate and burst values than those shown here. For more information, refer to [Usage Plans and Rate Limits in the Selling Partner API](https://developer-docs.amazon.com/sp-api/docs/usage-plans-and-rate-limits-in-the-sp-api).", + "description": "Fetches the top level information about an inbound plan.\n\n**Usage Plan:**\n\n| Rate (requests per second) | Burst |\n| ---- | ---- |\n| 2 | 6 |\n\nThe `x-amzn-RateLimit-Limit` response header returns the usage plan rate limits that were applied to the requested operation, when available. The table above indicates the default rate and burst values for this operation. Selling partners whose business demands require higher throughput may see higher rate and burst values than those shown here. For more information, refer to [Usage Plans and Rate Limits in the Selling Partner API](https://developer-docs.amazon.com/sp-api/docs/usage-plans-and-rate-limits-in-the-sp-api). ", "operationId": "getInboundPlan" } }, @@ -804,7 +798,7 @@ ], "parameters": [ { - "description": "Identifier to an inbound plan.", + "description": "Identifier of an inbound plan.", "in": "path", "maxLength": 38, "minLength": 38, @@ -895,7 +889,8 @@ "countryCode": "US", "state": "CA", "warehouseId": "ABC1" - } + }, + "contentInformationSource": "BOX_CONTENT_PROVIDED" } ], "pagination": { @@ -959,8 +954,8 @@ } } }, - "500": { - "description": "An unexpected condition occurred that prevented the server from fulfilling the request.", + "404": { + "description": "The resource specified does not exist.", "schema": { "$ref": "#/definitions/ErrorList" }, @@ -968,11 +963,15 @@ "x-amzn-RequestId": { "description": "Unique request reference identifier.", "type": "string" + }, + "x-amzn-RateLimit-Limit": { + "description": "Your rate limit (requests per second) for this operation.", + "type": "string" } } }, - "403": { - "description": "Indicates that access to the resource is forbidden. Possible reasons include Access Denied, Unauthorized, Expired Token, or Invalid Signature.", + "500": { + "description": "An unexpected condition occurred that prevented the server from fulfilling the request.", "schema": { "$ref": "#/definitions/ErrorList" }, @@ -983,8 +982,8 @@ } } }, - "404": { - "description": "The resource specified does not exist.", + "403": { + "description": "Indicates that access to the resource is forbidden. Possible reasons include Access Denied, Unauthorized, Expired Token, or Invalid Signature.", "schema": { "$ref": "#/definitions/ErrorList" }, @@ -992,10 +991,6 @@ "x-amzn-RequestId": { "description": "Unique request reference identifier.", "type": "string" - }, - "x-amzn-RateLimit-Limit": { - "description": "Your rate limit (requests per second) for this operation.", - "type": "string" } } }, @@ -1051,7 +1046,7 @@ "tags": [ "fbaInbound" ], - "description": "Provides a paginated list of box packages in an inbound plan.\n\n**Usage Plan:**\n\n| Rate (requests per second) | Burst |\n| ---- | ---- |\n| 1 | 1 |\n\nThe `x-amzn-RateLimit-Limit` response header returns the usage plan rate limits that were applied to the requested operation, when available. The table above indicates the default rate and burst values for this operation. Selling partners whose business demands require higher throughput may see higher rate and burst values than those shown here. For more information, refer to [Usage Plans and Rate Limits in the Selling Partner API](https://developer-docs.amazon.com/sp-api/docs/usage-plans-and-rate-limits-in-the-sp-api).", + "description": "Provides a paginated list of box packages in an inbound plan.\n\n**Usage Plan:**\n\n| Rate (requests per second) | Burst |\n| ---- | ---- |\n| 2 | 6 |\n\nThe `x-amzn-RateLimit-Limit` response header returns the usage plan rate limits that were applied to the requested operation, when available. The table above indicates the default rate and burst values for this operation. Selling partners whose business demands require higher throughput may see higher rate and burst values than those shown here. For more information, refer to [Usage Plans and Rate Limits in the Selling Partner API](https://developer-docs.amazon.com/sp-api/docs/usage-plans-and-rate-limits-in-the-sp-api). ", "operationId": "listInboundPlanBoxes" } }, @@ -1062,7 +1057,7 @@ ], "parameters": [ { - "description": "Identifier to an inbound plan.", + "description": "Identifier of an inbound plan.", "in": "path", "maxLength": 38, "minLength": 38, @@ -1142,8 +1137,8 @@ } } }, - "500": { - "description": "An unexpected condition occurred that prevented the server from fulfilling the request.", + "404": { + "description": "The resource specified does not exist.", "schema": { "$ref": "#/definitions/ErrorList" }, @@ -1151,11 +1146,15 @@ "x-amzn-RequestId": { "description": "Unique request reference identifier.", "type": "string" + }, + "x-amzn-RateLimit-Limit": { + "description": "Your rate limit (requests per second) for this operation.", + "type": "string" } } }, - "403": { - "description": "Indicates that access to the resource is forbidden. Possible reasons include Access Denied, Unauthorized, Expired Token, or Invalid Signature.", + "500": { + "description": "An unexpected condition occurred that prevented the server from fulfilling the request.", "schema": { "$ref": "#/definitions/ErrorList" }, @@ -1166,8 +1165,8 @@ } } }, - "404": { - "description": "The resource specified does not exist.", + "403": { + "description": "Indicates that access to the resource is forbidden. Possible reasons include Access Denied, Unauthorized, Expired Token, or Invalid Signature.", "schema": { "$ref": "#/definitions/ErrorList" }, @@ -1175,10 +1174,6 @@ "x-amzn-RequestId": { "description": "Unique request reference identifier.", "type": "string" - }, - "x-amzn-RateLimit-Limit": { - "description": "Your rate limit (requests per second) for this operation.", - "type": "string" } } }, @@ -1234,7 +1229,7 @@ "tags": [ "fbaInbound" ], - "description": "Cancels an Inbound Plan. Charges may apply if the cancellation is performed outside of a void window. The window\n for Amazon Partnered Carriers is 24 hours for Small Parcel Delivery (SPD) and one hour for Less-Than-Truckload (LTL) carrier shipments.\n\n**Usage Plan:**\n\n| Rate (requests per second) | Burst |\n| ---- | ---- |\n| 0.05 | 1 |\n\nThe `x-amzn-RateLimit-Limit` response header returns the usage plan rate limits that were applied to the requested operation, when available. The table above indicates the default rate and burst values for this operation. Selling partners whose business demands require higher throughput may see higher rate and burst values than those shown here. For more information, refer to [Usage Plans and Rate Limits in the Selling Partner API](https://developer-docs.amazon.com/sp-api/docs/usage-plans-and-rate-limits-in-the-sp-api).", + "description": "Cancels an Inbound Plan. Charges may apply if the cancellation is performed outside of a void window. The window for Amazon Partnered Carriers is 24 hours for Small Parcel Delivery (SPD) and one hour for Less-Than-Truckload (LTL) carrier shipments.\n\n**Usage Plan:**\n\n| Rate (requests per second) | Burst |\n| ---- | ---- |\n| 2 | 2 |\n\nThe `x-amzn-RateLimit-Limit` response header returns the usage plan rate limits that were applied to the requested operation, when available. The table above indicates the default rate and burst values for this operation. Selling partners whose business demands require higher throughput may see higher rate and burst values than those shown here. For more information, refer to [Usage Plans and Rate Limits in the Selling Partner API](https://developer-docs.amazon.com/sp-api/docs/usage-plans-and-rate-limits-in-the-sp-api). ", "operationId": "cancelInboundPlan" } }, @@ -1245,7 +1240,7 @@ ], "parameters": [ { - "description": "Identifier to an inbound plan.", + "description": "Identifier of an inbound plan.", "in": "path", "maxLength": 38, "minLength": 38, @@ -1377,8 +1372,8 @@ } } }, - "500": { - "description": "An unexpected condition occurred that prevented the server from fulfilling the request.", + "404": { + "description": "The resource specified does not exist.", "schema": { "$ref": "#/definitions/ErrorList" }, @@ -1386,11 +1381,15 @@ "x-amzn-RequestId": { "description": "Unique request reference identifier.", "type": "string" + }, + "x-amzn-RateLimit-Limit": { + "description": "Your rate limit (requests per second) for this operation.", + "type": "string" } } }, - "403": { - "description": "Indicates that access to the resource is forbidden. Possible reasons include Access Denied, Unauthorized, Expired Token, or Invalid Signature.", + "500": { + "description": "An unexpected condition occurred that prevented the server from fulfilling the request.", "schema": { "$ref": "#/definitions/ErrorList" }, @@ -1401,8 +1400,8 @@ } } }, - "404": { - "description": "The resource specified does not exist.", + "403": { + "description": "Indicates that access to the resource is forbidden. Possible reasons include Access Denied, Unauthorized, Expired Token, or Invalid Signature.", "schema": { "$ref": "#/definitions/ErrorList" }, @@ -1410,10 +1409,6 @@ "x-amzn-RequestId": { "description": "Unique request reference identifier.", "type": "string" - }, - "x-amzn-RateLimit-Limit": { - "description": "Your rate limit (requests per second) for this operation.", - "type": "string" } } }, @@ -1469,12 +1464,12 @@ "tags": [ "fbaInbound" ], - "description": "Provides a paginated list of item packages in an inbound plan.\n\n**Usage Plan:**\n\n| Rate (requests per second) | Burst |\n| ---- | ---- |\n| 1 | 1 |\n\nThe `x-amzn-RateLimit-Limit` response header returns the usage plan rate limits that were applied to the requested operation, when available. The table above indicates the default rate and burst values for this operation. Selling partners whose business demands require higher throughput may see higher rate and burst values than those shown here. For more information, refer to [Usage Plans and Rate Limits in the Selling Partner API](https://developer-docs.amazon.com/sp-api/docs/usage-plans-and-rate-limits-in-the-sp-api).", + "description": "Provides a paginated list of item packages in an inbound plan.\n\n**Usage Plan:**\n\n| Rate (requests per second) | Burst |\n| ---- | ---- |\n| 2 | 6 |\n\nThe `x-amzn-RateLimit-Limit` response header returns the usage plan rate limits that were applied to the requested operation, when available. The table above indicates the default rate and burst values for this operation. Selling partners whose business demands require higher throughput may see higher rate and burst values than those shown here. For more information, refer to [Usage Plans and Rate Limits in the Selling Partner API](https://developer-docs.amazon.com/sp-api/docs/usage-plans-and-rate-limits-in-the-sp-api). ", "operationId": "listInboundPlanItems" } }, - "/inbound/fba/2024-03-20/inboundPlans/{inboundPlanId}/packingInformation": { - "post": { + "/inbound/fba/2024-03-20/inboundPlans/{inboundPlanId}/name": { + "put": { "consumes": [ "application/json" ], @@ -1483,7 +1478,7 @@ ], "parameters": [ { - "description": "Identifier to an inbound plan.", + "description": "Identifier of an inbound plan.", "in": "path", "maxLength": 38, "minLength": 38, @@ -1497,17 +1492,14 @@ "name": "body", "required": true, "schema": { - "$ref": "#/definitions/SetPackingInformationRequest" + "$ref": "#/definitions/UpdateInboundPlanNameRequest" }, - "description": "The body of the request to `setPackingInformation`." + "description": "The body of the request to `updateInboundPlanName`." } ], "responses": { - "202": { - "description": "SetPackingInformation 202 response", - "schema": { - "$ref": "#/definitions/SetPackingInformationResponse" - }, + "204": { + "description": "UpdateInboundPlanName 204 response", "x-amzn-api-sandbox": { "static": [ { @@ -1518,46 +1510,10 @@ }, "body": { "value": { - "packageGroupings": [ - { - "shipmentId": "sh1234abcd-1234-abcd-5678-1234abcd5678", - "packingGroupId": "pg1234abcd-1234-abcd-5678-1234abcd5678", - "boxes": [ - { - "boxId": "boxId", - "templateName": "templateName", - "contents": [ - { - "msku": "msku", - "quantityInBox": 5, - "expiration": "2024-01-01", - "prepOwner": "AMAZON", - "labelOwner": "AMAZON", - "manufacturingLotCode": "manufacturingLotCode" - } - ], - "contentInformationSource": "BOX_CONTENT_PROVIDED", - "weight": { - "unit": "KG", - "value": 5.5 - }, - "dimensions": { - "unitOfMeasurement": "CM", - "length": 3.0, - "width": 4.0, - "height": 5.0 - }, - "quantity": 2 - } - ] - } - ] + "name": "updatedInboundPlanName" } } } - }, - "response": { - "operationId": "1234abcd-1234-abcd-5678-1234abcd5678" } } ] @@ -1584,44 +1540,11 @@ "request": { "parameters": { "inboundPlanId": { - "value": "bad234abcd-1234-abcd-5678-1234abcd5678" + "value": "wfbad4abcd-1234-abcd-5678-1234abcd5678" }, "body": { "value": { - "packageGroupings": [ - { - "shipmentId": "sh1234abcd-1234-abcd-5678-1234abcd5678", - "packingGroupId": "bad234abcd-1234-abcd-5678-1234abcd5678", - "boxes": [ - { - "boxId": "boxId", - "templateName": "templateName", - "contents": [ - { - "msku": "msku", - "quantityInBox": 5, - "expiration": "2024-01-01", - "prepOwner": "AMAZON", - "labelOwner": "AMAZON", - "manufacturingLotCode": "manufacturingLotCode" - } - ], - "contentInformationSource": "BOX_CONTENT_PROVIDED", - "weight": { - "unit": "KG", - "value": 5.5 - }, - "dimensions": { - "unitOfMeasurement": "CM", - "length": 3.0, - "width": 4.0, - "height": 5.0 - }, - "quantity": 2 - } - ] - } - ] + "name": "name" } } } @@ -1630,7 +1553,7 @@ "errors": [ { "code": "BadRequest", - "message": "The requested packingGroupId does not exist for the specified inbound plan." + "message": "The requested inbound plan does not exist." } ] } @@ -1648,8 +1571,8 @@ } } }, - "500": { - "description": "An unexpected condition occurred that prevented the server from fulfilling the request.", + "404": { + "description": "The resource specified does not exist.", "schema": { "$ref": "#/definitions/ErrorList" }, @@ -1657,11 +1580,15 @@ "x-amzn-RequestId": { "description": "Unique request reference identifier.", "type": "string" + }, + "x-amzn-RateLimit-Limit": { + "description": "Your rate limit (requests per second) for this operation.", + "type": "string" } } }, - "403": { - "description": "Indicates that access to the resource is forbidden. Possible reasons include Access Denied, Unauthorized, Expired Token, or Invalid Signature.", + "500": { + "description": "An unexpected condition occurred that prevented the server from fulfilling the request.", "schema": { "$ref": "#/definitions/ErrorList" }, @@ -1672,8 +1599,8 @@ } } }, - "404": { - "description": "The resource specified does not exist.", + "403": { + "description": "Indicates that access to the resource is forbidden. Possible reasons include Access Denied, Unauthorized, Expired Token, or Invalid Signature.", "schema": { "$ref": "#/definitions/ErrorList" }, @@ -1681,10 +1608,6 @@ "x-amzn-RequestId": { "description": "Unique request reference identifier.", "type": "string" - }, - "x-amzn-RateLimit-Limit": { - "description": "Your rate limit (requests per second) for this operation.", - "type": "string" } } }, @@ -1740,18 +1663,18 @@ "tags": [ "fbaInbound" ], - "description": "Sets packing information for an inbound plan. This should be called after an inbound plan is created to populate\n the box level information required for planning and transportation estimates.\n\n**Usage Plan:**\n\n| Rate (requests per second) | Burst |\n| ---- | ---- |\n| 0.05 | 1 |\n\nThe `x-amzn-RateLimit-Limit` response header returns the usage plan rate limits that were applied to the requested operation, when available. The table above indicates the default rate and burst values for this operation. Selling partners whose business demands require higher throughput may see higher rate and burst values than those shown here. For more information, refer to [Usage Plans and Rate Limits in the Selling Partner API](https://developer-docs.amazon.com/sp-api/docs/usage-plans-and-rate-limits-in-the-sp-api).", - "operationId": "setPackingInformation" + "description": "Updates the name of an existing inbound plan.\n\n**Usage Plan:**\n\n| Rate (requests per second) | Burst |\n| ---- | ---- |\n| 2 | 30 |\n\nThe `x-amzn-RateLimit-Limit` response header returns the usage plan rate limits that were applied to the requested operation, when available. The table above indicates the default rate and burst values for this operation. Selling partners whose business demands require higher throughput may see higher rate and burst values than those shown here. For more information, refer to [Usage Plans and Rate Limits in the Selling Partner API](https://developer-docs.amazon.com/sp-api/docs/usage-plans-and-rate-limits-in-the-sp-api). ", + "operationId": "updateInboundPlanName" } }, - "/inbound/fba/2024-03-20/inboundPlans/{inboundPlanId}/packingOptions": { + "/inbound/fba/2024-03-20/inboundPlans/{inboundPlanId}/packingGroups/{packingGroupId}/boxes": { "get": { "produces": [ "application/json" ], "parameters": [ { - "description": "Identifier to an inbound plan.", + "description": "Identifier of an inbound plan.", "in": "path", "maxLength": 38, "minLength": 38, @@ -1761,9 +1684,19 @@ "type": "string" }, { - "description": "The number of packing options to return in the response matching the given query.", + "description": "Identifier of a packing group.", + "in": "path", + "maxLength": 38, + "minLength": 38, + "name": "packingGroupId", + "pattern": "^[a-zA-Z0-9-]*$", + "required": true, + "type": "string" + }, + { + "description": "The number of packing group boxes to return in the response matching the given query.", "in": "query", - "maximum": 20, + "maximum": 100, "minimum": 1, "name": "pageSize", "type": "integer", @@ -1780,9 +1713,9 @@ ], "responses": { "200": { - "description": "ListPackingOptions 200 response", + "description": "ListPackingGroupBoxes 200 response", "schema": { - "$ref": "#/definitions/ListPackingOptionsResponse" + "$ref": "#/definitions/ListPackingGroupBoxesResponse" }, "x-amzn-api-sandbox": { "static": [ @@ -1792,6 +1725,9 @@ "inboundPlanId": { "value": "wf1234abcd-1234-abcd-5678-1234abcd5678" }, + "packingGroupId": { + "value": "pg1234abcd-1234-abcd-5678-1234abcd5678" + }, "pageSize": { "value": 2 }, @@ -1801,48 +1737,3229 @@ } }, "response": { - "packingOptions": [ + "boxes": [ { - "inboundPlanId": "wf1234abcd-1234-abcd-5678-1234abcd5678", - "packingOptionId": "po1234abcd-1234-abcd-5678-1234abcd5678", - "packingGroups": [ - "pg1234abcd-1234-abcd-5678-1234abcd5678" - ], - "fees": [ - { - "value": { - "code": "USD", - "amount": 1.0 - }, - "type": "FEE", - "target": "Placement Services", - "description": "description" - } - ], - "discounts": [ + "packageId": "pk1234abcd-1234-abcd-5678-1234abcd5678", + "weight": { + "unit": "KG", + "value": 5.5 + }, + "dimensions": { + "unitOfMeasurement": "CM", + "length": 3.0, + "width": 4.0, + "height": 5.0 + }, + "quantity": 2, + "boxId": "boxId", + "templateName": "templateName", + "items": [ { - "value": { - "code": "USD", - "amount": 1.0 - }, - "type": "DISCOUNT", - "target": "Placement Services", - "description": "description" + "quantity": 5, + "expiration": "2024-01-01", + "manufacturingLotCode": "manufacturingLotCode", + "prepInstructions": [ + { + "prepType": "ITEM_POLYBAGGING", + "prepOwner": "AMAZON", + "fee": { + "code": "USD", + "amount": 10.0 + } + } + ], + "msku": "msku", + "asin": "asin", + "fnsku": "fnsku", + "labelOwner": "AMAZON" } ], - "expiration": "2024-01-01T00:00:00.000Z", - "status": "OFFERED", - "supportedShippingConfigurations": [ - { - "shippingSolution": "AMAZON_PARTNERED_CARRIER", - "shippingMode": "GROUND_SMALL_PARCEL" - } - ] + "destinationRegion": { + "countryCode": "US", + "state": "CA", + "warehouseId": "ABC1" + }, + "contentInformationSource": "BOX_CONTENT_PROVIDED" + } + ], + "pagination": { + "nextToken": "nextPaginationToken" + } + } + } + ] + }, + "headers": { + "x-amzn-RequestId": { + "description": "Unique request reference identifier.", + "type": "string" + }, + "x-amzn-RateLimit-Limit": { + "description": "Your rate limit (requests per second) for this operation.", + "type": "string" + } + } + }, + "400": { + "description": "Request has missing or invalid parameters and cannot be parsed.", + "schema": { + "$ref": "#/definitions/ErrorList" + }, + "x-amzn-api-sandbox": { + "static": [ + { + "request": { + "parameters": { + "inboundPlanId": { + "value": "wf1234abcd-1234-abcd-5678-1234abcd5678" + }, + "packingGroupId": { + "value": "bad234abcd-1234-abcd-5678-1234abcd5678" + }, + "pageSize": { + "value": 2 + }, + "paginationToken": { + "value": "paginationToken" + } + } + }, + "response": { + "errors": [ + { + "code": "BadRequest", + "message": "The requested packingGroupId does not exist for the specified inbound plan." + } + ] + } + } + ] + }, + "headers": { + "x-amzn-RequestId": { + "description": "Unique request reference identifier.", + "type": "string" + }, + "x-amzn-RateLimit-Limit": { + "description": "Your rate limit (requests per second) for this operation.", + "type": "string" + } + } + }, + "404": { + "description": "The resource specified does not exist.", + "schema": { + "$ref": "#/definitions/ErrorList" + }, + "headers": { + "x-amzn-RequestId": { + "description": "Unique request reference identifier.", + "type": "string" + }, + "x-amzn-RateLimit-Limit": { + "description": "Your rate limit (requests per second) for this operation.", + "type": "string" + } + } + }, + "500": { + "description": "An unexpected condition occurred that prevented the server from fulfilling the request.", + "schema": { + "$ref": "#/definitions/ErrorList" + }, + "headers": { + "x-amzn-RequestId": { + "description": "Unique request reference identifier.", + "type": "string" + } + } + }, + "403": { + "description": "Indicates that access to the resource is forbidden. Possible reasons include Access Denied, Unauthorized, Expired Token, or Invalid Signature.", + "schema": { + "$ref": "#/definitions/ErrorList" + }, + "headers": { + "x-amzn-RequestId": { + "description": "Unique request reference identifier.", + "type": "string" + } + } + }, + "413": { + "description": "The request size exceeded the maximum accepted size.", + "schema": { + "$ref": "#/definitions/ErrorList" + }, + "headers": { + "x-amzn-RequestId": { + "description": "Unique request reference identifier.", + "type": "string" + } + } + }, + "415": { + "description": "The request payload is in an unsupported format.", + "schema": { + "$ref": "#/definitions/ErrorList" + }, + "headers": { + "x-amzn-RequestId": { + "description": "Unique request reference identifier.", + "type": "string" + } + } + }, + "429": { + "description": "The frequency of requests was greater than allowed.", + "schema": { + "$ref": "#/definitions/ErrorList" + }, + "headers": { + "x-amzn-RequestId": { + "description": "Unique request reference identifier.", + "type": "string" + } + } + }, + "503": { + "description": "Temporary overloading or maintenance of the server.", + "schema": { + "$ref": "#/definitions/ErrorList" + }, + "headers": { + "x-amzn-RequestId": { + "description": "Unique request reference identifier.", + "type": "string" + } + } + } + }, + "tags": [ + "fbaInbound" + ], + "description": "Retrieves a page of boxes from a given packing group. These boxes were previously provided through the `setPackingInformation` operation. This API is used for workflows where boxes are packed before Amazon determines shipment splits.\n\n**Usage Plan:**\n\n| Rate (requests per second) | Burst |\n| ---- | ---- |\n| 2 | 30 |\n\nThe `x-amzn-RateLimit-Limit` response header returns the usage plan rate limits that were applied to the requested operation, when available. The table above indicates the default rate and burst values for this operation. Selling partners whose business demands require higher throughput may see higher rate and burst values than those shown here. For more information, refer to [Usage Plans and Rate Limits in the Selling Partner API](https://developer-docs.amazon.com/sp-api/docs/usage-plans-and-rate-limits-in-the-sp-api). ", + "operationId": "listPackingGroupBoxes" + } + }, + "/inbound/fba/2024-03-20/inboundPlans/{inboundPlanId}/packingGroups/{packingGroupId}/items": { + "get": { + "produces": [ + "application/json" + ], + "parameters": [ + { + "description": "Identifier of an inbound plan.", + "in": "path", + "maxLength": 38, + "minLength": 38, + "name": "inboundPlanId", + "pattern": "^[a-zA-Z0-9-]*$", + "required": true, + "type": "string" + }, + { + "description": "Identifier of a packing group.", + "in": "path", + "maxLength": 38, + "minLength": 38, + "name": "packingGroupId", + "pattern": "^[a-zA-Z0-9-]*$", + "required": true, + "type": "string" + }, + { + "description": "The number of packing group items to return in the response matching the given query.", + "in": "query", + "maximum": 100, + "minimum": 1, + "name": "pageSize", + "type": "integer", + "default": 10 + }, + { + "description": "A token to fetch a certain page when there are multiple pages worth of results. The value of this token is fetched from the `pagination` returned in the API response. In the absence of the token value from the query parameter the API returns the first page of the result.", + "in": "query", + "maxLength": 1024, + "minLength": 0, + "name": "paginationToken", + "type": "string" + } + ], + "responses": { + "200": { + "description": "ListPackingGroupItems 200 response", + "schema": { + "$ref": "#/definitions/ListPackingGroupItemsResponse" + }, + "x-amzn-api-sandbox": { + "static": [ + { + "request": { + "parameters": { + "inboundPlanId": { + "value": "wf1234abcd-1234-abcd-5678-1234abcd5678" + }, + "packingGroupId": { + "value": "pg1234abcd-1234-abcd-5678-1234abcd5678" + }, + "pageSize": { + "value": 2 + }, + "paginationToken": { + "value": "paginationToken" + } + } + }, + "response": { + "items": [ + { + "quantity": 5, + "prepInstructions": [ + { + "prepType": "ITEM_POLYBAGGING", + "prepOwner": "AMAZON", + "fee": { + "code": "USD", + "amount": 10.0 + } + } + ], + "msku": "msku", + "asin": "asin", + "fnsku": "fnsku", + "labelOwner": "AMAZON" + } + ], + "pagination": { + "nextToken": "nextPaginationToken" + } + } + } + ] + }, + "headers": { + "x-amzn-RequestId": { + "description": "Unique request reference identifier.", + "type": "string" + }, + "x-amzn-RateLimit-Limit": { + "description": "Your rate limit (requests per second) for this operation.", + "type": "string" + } + } + }, + "400": { + "description": "Request has missing or invalid parameters and cannot be parsed.", + "schema": { + "$ref": "#/definitions/ErrorList" + }, + "x-amzn-api-sandbox": { + "static": [ + { + "request": { + "parameters": { + "inboundPlanId": { + "value": "wf1234abcd-1234-abcd-5678-1234abcd5678" + }, + "packingGroupId": { + "value": "bad234abcd-1234-abcd-5678-1234abcd5678" + }, + "pageSize": { + "value": 2 + }, + "paginationToken": { + "value": "paginationToken" + } + } + }, + "response": { + "errors": [ + { + "code": "BadRequest", + "message": "The requested packingGroupId does not exist for the specified inbound plan." + } + ] + } + } + ] + }, + "headers": { + "x-amzn-RequestId": { + "description": "Unique request reference identifier.", + "type": "string" + }, + "x-amzn-RateLimit-Limit": { + "description": "Your rate limit (requests per second) for this operation.", + "type": "string" + } + } + }, + "404": { + "description": "The resource specified does not exist.", + "schema": { + "$ref": "#/definitions/ErrorList" + }, + "headers": { + "x-amzn-RequestId": { + "description": "Unique request reference identifier.", + "type": "string" + }, + "x-amzn-RateLimit-Limit": { + "description": "Your rate limit (requests per second) for this operation.", + "type": "string" + } + } + }, + "500": { + "description": "An unexpected condition occurred that prevented the server from fulfilling the request.", + "schema": { + "$ref": "#/definitions/ErrorList" + }, + "headers": { + "x-amzn-RequestId": { + "description": "Unique request reference identifier.", + "type": "string" + } + } + }, + "403": { + "description": "Indicates that access to the resource is forbidden. Possible reasons include Access Denied, Unauthorized, Expired Token, or Invalid Signature.", + "schema": { + "$ref": "#/definitions/ErrorList" + }, + "headers": { + "x-amzn-RequestId": { + "description": "Unique request reference identifier.", + "type": "string" + } + } + }, + "413": { + "description": "The request size exceeded the maximum accepted size.", + "schema": { + "$ref": "#/definitions/ErrorList" + }, + "headers": { + "x-amzn-RequestId": { + "description": "Unique request reference identifier.", + "type": "string" + } + } + }, + "415": { + "description": "The request payload is in an unsupported format.", + "schema": { + "$ref": "#/definitions/ErrorList" + }, + "headers": { + "x-amzn-RequestId": { + "description": "Unique request reference identifier.", + "type": "string" + } + } + }, + "429": { + "description": "The frequency of requests was greater than allowed.", + "schema": { + "$ref": "#/definitions/ErrorList" + }, + "headers": { + "x-amzn-RequestId": { + "description": "Unique request reference identifier.", + "type": "string" + } + } + }, + "503": { + "description": "Temporary overloading or maintenance of the server.", + "schema": { + "$ref": "#/definitions/ErrorList" + }, + "headers": { + "x-amzn-RequestId": { + "description": "Unique request reference identifier.", + "type": "string" + } + } + } + }, + "tags": [ + "fbaInbound" + ], + "description": "Retrieves a page of items in a given packing group. Packing options must first be generated by the corresponding operation before packing group items can be listed.\n\n**Usage Plan:**\n\n| Rate (requests per second) | Burst |\n| ---- | ---- |\n| 2 | 30 |\n\nThe `x-amzn-RateLimit-Limit` response header returns the usage plan rate limits that were applied to the requested operation, when available. The table above indicates the default rate and burst values for this operation. Selling partners whose business demands require higher throughput may see higher rate and burst values than those shown here. For more information, refer to [Usage Plans and Rate Limits in the Selling Partner API](https://developer-docs.amazon.com/sp-api/docs/usage-plans-and-rate-limits-in-the-sp-api). ", + "operationId": "listPackingGroupItems" + } + }, + "/inbound/fba/2024-03-20/inboundPlans/{inboundPlanId}/packingInformation": { + "post": { + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "parameters": [ + { + "description": "Identifier of an inbound plan.", + "in": "path", + "maxLength": 38, + "minLength": 38, + "name": "inboundPlanId", + "pattern": "^[a-zA-Z0-9-]*$", + "required": true, + "type": "string" + }, + { + "in": "body", + "name": "body", + "required": true, + "schema": { + "$ref": "#/definitions/SetPackingInformationRequest" + }, + "description": "The body of the request to `setPackingInformation`." + } + ], + "responses": { + "202": { + "description": "SetPackingInformation 202 response", + "schema": { + "$ref": "#/definitions/SetPackingInformationResponse" + }, + "x-amzn-api-sandbox": { + "static": [ + { + "request": { + "parameters": { + "inboundPlanId": { + "value": "wf1234abcd-1234-abcd-5678-1234abcd5678" + }, + "body": { + "value": { + "packageGroupings": [ + { + "shipmentId": "sh1234abcd-1234-abcd-5678-1234abcd5678", + "packingGroupId": "pg1234abcd-1234-abcd-5678-1234abcd5678", + "boxes": [ + { + "items": [ + { + "msku": "msku", + "quantity": 5, + "expiration": "2024-01-01", + "prepOwner": "AMAZON", + "labelOwner": "AMAZON", + "manufacturingLotCode": "manufacturingLotCode" + } + ], + "contentInformationSource": "BOX_CONTENT_PROVIDED", + "weight": { + "unit": "KG", + "value": 5.5 + }, + "dimensions": { + "unitOfMeasurement": "CM", + "length": 3.0, + "width": 4.0, + "height": 5.0 + }, + "quantity": 2 + } + ] + } + ] + } + } + } + }, + "response": { + "operationId": "1234abcd-1234-abcd-5678-1234abcd5678" + } + } + ] + }, + "headers": { + "x-amzn-RequestId": { + "description": "Unique request reference identifier.", + "type": "string" + }, + "x-amzn-RateLimit-Limit": { + "description": "Your rate limit (requests per second) for this operation.", + "type": "string" + } + } + }, + "400": { + "description": "Request has missing or invalid parameters and cannot be parsed.", + "schema": { + "$ref": "#/definitions/ErrorList" + }, + "x-amzn-api-sandbox": { + "static": [ + { + "request": { + "parameters": { + "inboundPlanId": { + "value": "bad234abcd-1234-abcd-5678-1234abcd5678" + }, + "body": { + "value": { + "packageGroupings": [ + { + "shipmentId": "sh1234abcd-1234-abcd-5678-1234abcd5678", + "packingGroupId": "bad234abcd-1234-abcd-5678-1234abcd5678", + "boxes": [ + { + "items": [ + { + "msku": "msku", + "quantity": 5, + "expiration": "2024-01-01", + "prepOwner": "AMAZON", + "labelOwner": "AMAZON", + "manufacturingLotCode": "manufacturingLotCode" + } + ], + "contentInformationSource": "BOX_CONTENT_PROVIDED", + "weight": { + "unit": "KG", + "value": 5.5 + }, + "dimensions": { + "unitOfMeasurement": "CM", + "length": 3.0, + "width": 4.0, + "height": 5.0 + }, + "quantity": 2 + } + ] + } + ] + } + } + } + }, + "response": { + "errors": [ + { + "code": "BadRequest", + "message": "The requested packingGroupId does not exist for the specified inbound plan." + } + ] + } + } + ] + }, + "headers": { + "x-amzn-RequestId": { + "description": "Unique request reference identifier.", + "type": "string" + }, + "x-amzn-RateLimit-Limit": { + "description": "Your rate limit (requests per second) for this operation.", + "type": "string" + } + } + }, + "404": { + "description": "The resource specified does not exist.", + "schema": { + "$ref": "#/definitions/ErrorList" + }, + "headers": { + "x-amzn-RequestId": { + "description": "Unique request reference identifier.", + "type": "string" + }, + "x-amzn-RateLimit-Limit": { + "description": "Your rate limit (requests per second) for this operation.", + "type": "string" + } + } + }, + "500": { + "description": "An unexpected condition occurred that prevented the server from fulfilling the request.", + "schema": { + "$ref": "#/definitions/ErrorList" + }, + "headers": { + "x-amzn-RequestId": { + "description": "Unique request reference identifier.", + "type": "string" + } + } + }, + "403": { + "description": "Indicates that access to the resource is forbidden. Possible reasons include Access Denied, Unauthorized, Expired Token, or Invalid Signature.", + "schema": { + "$ref": "#/definitions/ErrorList" + }, + "headers": { + "x-amzn-RequestId": { + "description": "Unique request reference identifier.", + "type": "string" + } + } + }, + "413": { + "description": "The request size exceeded the maximum accepted size.", + "schema": { + "$ref": "#/definitions/ErrorList" + }, + "headers": { + "x-amzn-RequestId": { + "description": "Unique request reference identifier.", + "type": "string" + } + } + }, + "415": { + "description": "The request payload is in an unsupported format.", + "schema": { + "$ref": "#/definitions/ErrorList" + }, + "headers": { + "x-amzn-RequestId": { + "description": "Unique request reference identifier.", + "type": "string" + } + } + }, + "429": { + "description": "The frequency of requests was greater than allowed.", + "schema": { + "$ref": "#/definitions/ErrorList" + }, + "headers": { + "x-amzn-RequestId": { + "description": "Unique request reference identifier.", + "type": "string" + } + } + }, + "503": { + "description": "Temporary overloading or maintenance of the server.", + "schema": { + "$ref": "#/definitions/ErrorList" + }, + "headers": { + "x-amzn-RequestId": { + "description": "Unique request reference identifier.", + "type": "string" + } + } + } + }, + "tags": [ + "fbaInbound" + ], + "description": "Sets packing information for an inbound plan. This should be called after an inbound plan is created to populate the box level information required for planning and transportation estimates.\n\n**Usage Plan:**\n\n| Rate (requests per second) | Burst |\n| ---- | ---- |\n| 2 | 2 |\n\nThe `x-amzn-RateLimit-Limit` response header returns the usage plan rate limits that were applied to the requested operation, when available. The table above indicates the default rate and burst values for this operation. Selling partners whose business demands require higher throughput may see higher rate and burst values than those shown here. For more information, refer to [Usage Plans and Rate Limits in the Selling Partner API](https://developer-docs.amazon.com/sp-api/docs/usage-plans-and-rate-limits-in-the-sp-api). ", + "operationId": "setPackingInformation" + } + }, + "/inbound/fba/2024-03-20/inboundPlans/{inboundPlanId}/packingOptions": { + "get": { + "produces": [ + "application/json" + ], + "parameters": [ + { + "description": "Identifier of an inbound plan.", + "in": "path", + "maxLength": 38, + "minLength": 38, + "name": "inboundPlanId", + "pattern": "^[a-zA-Z0-9-]*$", + "required": true, + "type": "string" + }, + { + "description": "The number of packing options to return in the response matching the given query.", + "in": "query", + "maximum": 20, + "minimum": 1, + "name": "pageSize", + "type": "integer", + "default": 10 + }, + { + "description": "A token to fetch a certain page when there are multiple pages worth of results. The value of this token is fetched from the `pagination` returned in the API response. In the absence of the token value from the query parameter the API returns the first page of the result.", + "in": "query", + "maxLength": 1024, + "minLength": 0, + "name": "paginationToken", + "type": "string" + } + ], + "responses": { + "200": { + "description": "ListPackingOptions 200 response", + "schema": { + "$ref": "#/definitions/ListPackingOptionsResponse" + }, + "x-amzn-api-sandbox": { + "static": [ + { + "request": { + "parameters": { + "inboundPlanId": { + "value": "wf1234abcd-1234-abcd-5678-1234abcd5678" + }, + "pageSize": { + "value": 2 + }, + "paginationToken": { + "value": "paginationToken" + } + } + }, + "response": { + "packingOptions": [ + { + "packingOptionId": "po1234abcd-1234-abcd-5678-1234abcd5678", + "packingGroups": [ + "pg1234abcd-1234-abcd-5678-1234abcd5678" + ], + "fees": [ + { + "value": { + "code": "USD", + "amount": 1.0 + }, + "type": "FEE", + "target": "Placement Services", + "description": "description" + } + ], + "discounts": [ + { + "value": { + "code": "USD", + "amount": 1.0 + }, + "type": "DISCOUNT", + "target": "Placement Services", + "description": "description" + } + ], + "expiration": "2024-01-01T00:00:00.000Z", + "status": "OFFERED", + "supportedShippingConfigurations": [ + { + "shippingSolution": "AMAZON_PARTNERED_CARRIER", + "shippingMode": "GROUND_SMALL_PARCEL" + } + ] + } + ], + "pagination": { + "nextToken": "nextPaginationToken" + } + } + } + ] + }, + "headers": { + "x-amzn-RequestId": { + "description": "Unique request reference identifier.", + "type": "string" + }, + "x-amzn-RateLimit-Limit": { + "description": "Your rate limit (requests per second) for this operation.", + "type": "string" + } + } + }, + "400": { + "description": "Request has missing or invalid parameters and cannot be parsed.", + "schema": { + "$ref": "#/definitions/ErrorList" + }, + "x-amzn-api-sandbox": { + "static": [ + { + "request": { + "parameters": { + "inboundPlanId": { + "value": "bad234abcd-1234-abcd-5678-1234abcd5678" + }, + "pageSize": { + "value": 2 + }, + "paginationToken": { + "value": "paginationToken" + } + } + }, + "response": { + "errors": [ + { + "code": "BadRequest", + "message": "The requested inbound plan does not exist." + } + ] + } + } + ] + }, + "headers": { + "x-amzn-RequestId": { + "description": "Unique request reference identifier.", + "type": "string" + }, + "x-amzn-RateLimit-Limit": { + "description": "Your rate limit (requests per second) for this operation.", + "type": "string" + } + } + }, + "404": { + "description": "The resource specified does not exist.", + "schema": { + "$ref": "#/definitions/ErrorList" + }, + "headers": { + "x-amzn-RequestId": { + "description": "Unique request reference identifier.", + "type": "string" + }, + "x-amzn-RateLimit-Limit": { + "description": "Your rate limit (requests per second) for this operation.", + "type": "string" + } + } + }, + "500": { + "description": "An unexpected condition occurred that prevented the server from fulfilling the request.", + "schema": { + "$ref": "#/definitions/ErrorList" + }, + "headers": { + "x-amzn-RequestId": { + "description": "Unique request reference identifier.", + "type": "string" + } + } + }, + "403": { + "description": "Indicates that access to the resource is forbidden. Possible reasons include Access Denied, Unauthorized, Expired Token, or Invalid Signature.", + "schema": { + "$ref": "#/definitions/ErrorList" + }, + "headers": { + "x-amzn-RequestId": { + "description": "Unique request reference identifier.", + "type": "string" + } + } + }, + "413": { + "description": "The request size exceeded the maximum accepted size.", + "schema": { + "$ref": "#/definitions/ErrorList" + }, + "headers": { + "x-amzn-RequestId": { + "description": "Unique request reference identifier.", + "type": "string" + } + } + }, + "415": { + "description": "The request payload is in an unsupported format.", + "schema": { + "$ref": "#/definitions/ErrorList" + }, + "headers": { + "x-amzn-RequestId": { + "description": "Unique request reference identifier.", + "type": "string" + } + } + }, + "429": { + "description": "The frequency of requests was greater than allowed.", + "schema": { + "$ref": "#/definitions/ErrorList" + }, + "headers": { + "x-amzn-RequestId": { + "description": "Unique request reference identifier.", + "type": "string" + } + } + }, + "503": { + "description": "Temporary overloading or maintenance of the server.", + "schema": { + "$ref": "#/definitions/ErrorList" + }, + "headers": { + "x-amzn-RequestId": { + "description": "Unique request reference identifier.", + "type": "string" + } + } + } + }, + "tags": [ + "fbaInbound" + ], + "description": "Retrieves a list of all packing options for an inbound plan. Packing options must first be generated by the corresponding operation before becoming available.\n\n**Usage Plan:**\n\n| Rate (requests per second) | Burst |\n| ---- | ---- |\n| 2 | 6 |\n\nThe `x-amzn-RateLimit-Limit` response header returns the usage plan rate limits that were applied to the requested operation, when available. The table above indicates the default rate and burst values for this operation. Selling partners whose business demands require higher throughput may see higher rate and burst values than those shown here. For more information, refer to [Usage Plans and Rate Limits in the Selling Partner API](https://developer-docs.amazon.com/sp-api/docs/usage-plans-and-rate-limits-in-the-sp-api). ", + "operationId": "listPackingOptions" + }, + "post": { + "produces": [ + "application/json" + ], + "parameters": [ + { + "description": "Identifier of an inbound plan.", + "in": "path", + "maxLength": 38, + "minLength": 38, + "name": "inboundPlanId", + "pattern": "^[a-zA-Z0-9-]*$", + "required": true, + "type": "string" + } + ], + "responses": { + "202": { + "description": "GeneratePackingOptions 202 response", + "schema": { + "$ref": "#/definitions/GeneratePackingOptionsResponse" + }, + "x-amzn-api-sandbox": { + "static": [ + { + "request": { + "parameters": { + "inboundPlanId": { + "value": "wf1234abcd-1234-abcd-5678-1234abcd5678" + } + } + }, + "response": { + "operationId": "1234abcd-1234-abcd-5678-1234abcd5678" + } + } + ] + }, + "headers": { + "x-amzn-RequestId": { + "description": "Unique request reference identifier.", + "type": "string" + }, + "x-amzn-RateLimit-Limit": { + "description": "Your rate limit (requests per second) for this operation.", + "type": "string" + } + } + }, + "400": { + "description": "Request has missing or invalid parameters and cannot be parsed.", + "schema": { + "$ref": "#/definitions/ErrorList" + }, + "x-amzn-api-sandbox": { + "static": [ + { + "request": { + "parameters": { + "inboundPlanId": { + "value": "wfbad4abcd-1234-abcd-5678-1234abcd5678" + } + } + }, + "response": { + "errors": [ + { + "code": "BadRequest", + "message": "The inbound plan is not in a valid state to generate packing options." + } + ] + } + } + ] + }, + "headers": { + "x-amzn-RequestId": { + "description": "Unique request reference identifier.", + "type": "string" + }, + "x-amzn-RateLimit-Limit": { + "description": "Your rate limit (requests per second) for this operation.", + "type": "string" + } + } + }, + "404": { + "description": "The resource specified does not exist.", + "schema": { + "$ref": "#/definitions/ErrorList" + }, + "headers": { + "x-amzn-RequestId": { + "description": "Unique request reference identifier.", + "type": "string" + }, + "x-amzn-RateLimit-Limit": { + "description": "Your rate limit (requests per second) for this operation.", + "type": "string" + } + } + }, + "500": { + "description": "An unexpected condition occurred that prevented the server from fulfilling the request.", + "schema": { + "$ref": "#/definitions/ErrorList" + }, + "headers": { + "x-amzn-RequestId": { + "description": "Unique request reference identifier.", + "type": "string" + } + } + }, + "403": { + "description": "Indicates that access to the resource is forbidden. Possible reasons include Access Denied, Unauthorized, Expired Token, or Invalid Signature.", + "schema": { + "$ref": "#/definitions/ErrorList" + }, + "headers": { + "x-amzn-RequestId": { + "description": "Unique request reference identifier.", + "type": "string" + } + } + }, + "413": { + "description": "The request size exceeded the maximum accepted size.", + "schema": { + "$ref": "#/definitions/ErrorList" + }, + "headers": { + "x-amzn-RequestId": { + "description": "Unique request reference identifier.", + "type": "string" + } + } + }, + "415": { + "description": "The request payload is in an unsupported format.", + "schema": { + "$ref": "#/definitions/ErrorList" + }, + "headers": { + "x-amzn-RequestId": { + "description": "Unique request reference identifier.", + "type": "string" + } + } + }, + "429": { + "description": "The frequency of requests was greater than allowed.", + "schema": { + "$ref": "#/definitions/ErrorList" + }, + "headers": { + "x-amzn-RequestId": { + "description": "Unique request reference identifier.", + "type": "string" + } + } + }, + "503": { + "description": "Temporary overloading or maintenance of the server.", + "schema": { + "$ref": "#/definitions/ErrorList" + }, + "headers": { + "x-amzn-RequestId": { + "description": "Unique request reference identifier.", + "type": "string" + } + } + } + }, + "tags": [ + "fbaInbound" + ], + "description": "Generates available packing options for the inbound plan.\n\n**Usage Plan:**\n\n| Rate (requests per second) | Burst |\n| ---- | ---- |\n| 2 | 2 |\n\nThe `x-amzn-RateLimit-Limit` response header returns the usage plan rate limits that were applied to the requested operation, when available. The table above indicates the default rate and burst values for this operation. Selling partners whose business demands require higher throughput may see higher rate and burst values than those shown here. For more information, refer to [Usage Plans and Rate Limits in the Selling Partner API](https://developer-docs.amazon.com/sp-api/docs/usage-plans-and-rate-limits-in-the-sp-api). ", + "operationId": "generatePackingOptions" + } + }, + "/inbound/fba/2024-03-20/inboundPlans/{inboundPlanId}/packingOptions/{packingOptionId}/confirmation": { + "post": { + "produces": [ + "application/json" + ], + "parameters": [ + { + "description": "Identifier of an inbound plan.", + "in": "path", + "maxLength": 38, + "minLength": 38, + "name": "inboundPlanId", + "pattern": "^[a-zA-Z0-9-]*$", + "required": true, + "type": "string" + }, + { + "description": "Identifier of a packing option.", + "in": "path", + "maxLength": 38, + "minLength": 38, + "name": "packingOptionId", + "pattern": "^[a-zA-Z0-9-]*$", + "required": true, + "type": "string" + } + ], + "responses": { + "202": { + "description": "ConfirmPackingOption 202 response", + "schema": { + "$ref": "#/definitions/ConfirmPackingOptionResponse" + }, + "x-amzn-api-sandbox": { + "static": [ + { + "request": { + "parameters": { + "inboundPlanId": { + "value": "wf1234abcd-1234-abcd-5678-1234abcd5678" + }, + "packingOptionId": { + "value": "po1234abcd-1234-abcd-5678-1234abcd5678" + } + } + }, + "response": { + "operationId": "1234abcd-1234-abcd-5678-1234abcd5678" + } + } + ] + }, + "headers": { + "x-amzn-RequestId": { + "description": "Unique request reference identifier.", + "type": "string" + }, + "x-amzn-RateLimit-Limit": { + "description": "Your rate limit (requests per second) for this operation.", + "type": "string" + } + } + }, + "400": { + "description": "Request has missing or invalid parameters and cannot be parsed.", + "schema": { + "$ref": "#/definitions/ErrorList" + }, + "x-amzn-api-sandbox": { + "static": [ + { + "request": { + "parameters": { + "inboundPlanId": { + "value": "wf1234abcd-1234-abcd-5678-1234abcd5678" + }, + "packingOptionId": { + "value": "bad234abcd-1234-abcd-5678-1234abcd5678" + } + } + }, + "response": { + "errors": [ + { + "code": "BadRequest", + "message": "The requested packingOptionId does not exist for the given inbound plan." + } + ] + } + } + ] + }, + "headers": { + "x-amzn-RequestId": { + "description": "Unique request reference identifier.", + "type": "string" + }, + "x-amzn-RateLimit-Limit": { + "description": "Your rate limit (requests per second) for this operation.", + "type": "string" + } + } + }, + "404": { + "description": "The resource specified does not exist.", + "schema": { + "$ref": "#/definitions/ErrorList" + }, + "headers": { + "x-amzn-RequestId": { + "description": "Unique request reference identifier.", + "type": "string" + }, + "x-amzn-RateLimit-Limit": { + "description": "Your rate limit (requests per second) for this operation.", + "type": "string" + } + } + }, + "500": { + "description": "An unexpected condition occurred that prevented the server from fulfilling the request.", + "schema": { + "$ref": "#/definitions/ErrorList" + }, + "headers": { + "x-amzn-RequestId": { + "description": "Unique request reference identifier.", + "type": "string" + } + } + }, + "403": { + "description": "Indicates that access to the resource is forbidden. Possible reasons include Access Denied, Unauthorized, Expired Token, or Invalid Signature.", + "schema": { + "$ref": "#/definitions/ErrorList" + }, + "headers": { + "x-amzn-RequestId": { + "description": "Unique request reference identifier.", + "type": "string" + } + } + }, + "413": { + "description": "The request size exceeded the maximum accepted size.", + "schema": { + "$ref": "#/definitions/ErrorList" + }, + "headers": { + "x-amzn-RequestId": { + "description": "Unique request reference identifier.", + "type": "string" + } + } + }, + "415": { + "description": "The request payload is in an unsupported format.", + "schema": { + "$ref": "#/definitions/ErrorList" + }, + "headers": { + "x-amzn-RequestId": { + "description": "Unique request reference identifier.", + "type": "string" + } + } + }, + "429": { + "description": "The frequency of requests was greater than allowed.", + "schema": { + "$ref": "#/definitions/ErrorList" + }, + "headers": { + "x-amzn-RequestId": { + "description": "Unique request reference identifier.", + "type": "string" + } + } + }, + "503": { + "description": "Temporary overloading or maintenance of the server.", + "schema": { + "$ref": "#/definitions/ErrorList" + }, + "headers": { + "x-amzn-RequestId": { + "description": "Unique request reference identifier.", + "type": "string" + } + } + } + }, + "tags": [ + "fbaInbound" + ], + "description": "Confirms the packing option for an inbound plan.\n\n**Usage Plan:**\n\n| Rate (requests per second) | Burst |\n| ---- | ---- |\n| 2 | 2 |\n\nThe `x-amzn-RateLimit-Limit` response header returns the usage plan rate limits that were applied to the requested operation, when available. The table above indicates the default rate and burst values for this operation. Selling partners whose business demands require higher throughput may see higher rate and burst values than those shown here. For more information, refer to [Usage Plans and Rate Limits in the Selling Partner API](https://developer-docs.amazon.com/sp-api/docs/usage-plans-and-rate-limits-in-the-sp-api). ", + "operationId": "confirmPackingOption" + } + }, + "/inbound/fba/2024-03-20/inboundPlans/{inboundPlanId}/pallets": { + "get": { + "produces": [ + "application/json" + ], + "parameters": [ + { + "description": "Identifier of an inbound plan.", + "in": "path", + "maxLength": 38, + "minLength": 38, + "name": "inboundPlanId", + "pattern": "^[a-zA-Z0-9-]*$", + "required": true, + "type": "string" + }, + { + "description": "The number of pallets to return in the response matching the given query.", + "in": "query", + "maximum": 1000, + "minimum": 1, + "name": "pageSize", + "type": "integer", + "default": 10 + }, + { + "description": "A token to fetch a certain page when there are multiple pages worth of results. The value of this token is fetched from the `pagination` returned in the API response. In the absence of the token value from the query parameter the API returns the first page of the result.", + "in": "query", + "maxLength": 1024, + "minLength": 0, + "name": "paginationToken", + "type": "string" + } + ], + "responses": { + "200": { + "description": "ListInboundPlanPallets 200 response", + "schema": { + "$ref": "#/definitions/ListInboundPlanPalletsResponse" + }, + "x-amzn-api-sandbox": { + "static": [ + { + "request": { + "parameters": { + "inboundPlanId": { + "value": "wf1234abcd-1234-abcd-5678-1234abcd5678" + }, + "pageSize": { + "value": 2 + }, + "paginationToken": { + "value": "paginationToken" + } + } + }, + "response": { + "pallets": [ + { + "stackability": "STACKABLE", + "packageId": "pk1234abcd-1234-abcd-5678-1234abcd5678", + "weight": { + "unit": "KG", + "value": 5.5 + }, + "dimensions": { + "unitOfMeasurement": "CM", + "length": 3.0, + "width": 4.0, + "height": 5.0 + }, + "quantity": 2 + } + ], + "pagination": { + "nextToken": "nextPaginationToken" + } + } + } + ] + }, + "headers": { + "x-amzn-RequestId": { + "description": "Unique request reference identifier.", + "type": "string" + }, + "x-amzn-RateLimit-Limit": { + "description": "Your rate limit (requests per second) for this operation.", + "type": "string" + } + } + }, + "400": { + "description": "Request has missing or invalid parameters and cannot be parsed.", + "schema": { + "$ref": "#/definitions/ErrorList" + }, + "x-amzn-api-sandbox": { + "static": [ + { + "request": { + "parameters": { + "inboundPlanId": { + "value": "bad234abcd-1234-abcd-5678-1234abcd5678" + }, + "pageSize": { + "value": 2 + }, + "paginationToken": { + "value": "paginationToken" + } + } + }, + "response": { + "errors": [ + { + "code": "BadRequest", + "message": "The requested inbound plan does not exist." + } + ] + } + } + ] + }, + "headers": { + "x-amzn-RequestId": { + "description": "Unique request reference identifier.", + "type": "string" + }, + "x-amzn-RateLimit-Limit": { + "description": "Your rate limit (requests per second) for this operation.", + "type": "string" + } + } + }, + "404": { + "description": "The resource specified does not exist.", + "schema": { + "$ref": "#/definitions/ErrorList" + }, + "headers": { + "x-amzn-RequestId": { + "description": "Unique request reference identifier.", + "type": "string" + }, + "x-amzn-RateLimit-Limit": { + "description": "Your rate limit (requests per second) for this operation.", + "type": "string" + } + } + }, + "500": { + "description": "An unexpected condition occurred that prevented the server from fulfilling the request.", + "schema": { + "$ref": "#/definitions/ErrorList" + }, + "headers": { + "x-amzn-RequestId": { + "description": "Unique request reference identifier.", + "type": "string" + } + } + }, + "403": { + "description": "Indicates that access to the resource is forbidden. Possible reasons include Access Denied, Unauthorized, Expired Token, or Invalid Signature.", + "schema": { + "$ref": "#/definitions/ErrorList" + }, + "headers": { + "x-amzn-RequestId": { + "description": "Unique request reference identifier.", + "type": "string" + } + } + }, + "413": { + "description": "The request size exceeded the maximum accepted size.", + "schema": { + "$ref": "#/definitions/ErrorList" + }, + "headers": { + "x-amzn-RequestId": { + "description": "Unique request reference identifier.", + "type": "string" + } + } + }, + "415": { + "description": "The request payload is in an unsupported format.", + "schema": { + "$ref": "#/definitions/ErrorList" + }, + "headers": { + "x-amzn-RequestId": { + "description": "Unique request reference identifier.", + "type": "string" + } + } + }, + "429": { + "description": "The frequency of requests was greater than allowed.", + "schema": { + "$ref": "#/definitions/ErrorList" + }, + "headers": { + "x-amzn-RequestId": { + "description": "Unique request reference identifier.", + "type": "string" + } + } + }, + "503": { + "description": "Temporary overloading or maintenance of the server.", + "schema": { + "$ref": "#/definitions/ErrorList" + }, + "headers": { + "x-amzn-RequestId": { + "description": "Unique request reference identifier.", + "type": "string" + } + } + } + }, + "tags": [ + "fbaInbound" + ], + "description": "Provides a paginated list of pallet packages in an inbound plan. An inbound plan will have pallets when the related details are provided after generating Less-Than-Truckload (LTL) carrier shipments.\n\n**Usage Plan:**\n\n| Rate (requests per second) | Burst |\n| ---- | ---- |\n| 2 | 6 |\n\nThe `x-amzn-RateLimit-Limit` response header returns the usage plan rate limits that were applied to the requested operation, when available. The table above indicates the default rate and burst values for this operation. Selling partners whose business demands require higher throughput may see higher rate and burst values than those shown here. For more information, refer to [Usage Plans and Rate Limits in the Selling Partner API](https://developer-docs.amazon.com/sp-api/docs/usage-plans-and-rate-limits-in-the-sp-api). ", + "operationId": "listInboundPlanPallets" + } + }, + "/inbound/fba/2024-03-20/inboundPlans/{inboundPlanId}/placementOptions": { + "get": { + "produces": [ + "application/json" + ], + "parameters": [ + { + "description": "Identifier of an inbound plan.", + "in": "path", + "maxLength": 38, + "minLength": 38, + "name": "inboundPlanId", + "pattern": "^[a-zA-Z0-9-]*$", + "required": true, + "type": "string" + }, + { + "description": "The number of placement options to return in the response matching the given query.", + "in": "query", + "maximum": 20, + "minimum": 1, + "name": "pageSize", + "type": "integer", + "default": 10 + }, + { + "description": "A token to fetch a certain page when there are multiple pages worth of results. The value of this token is fetched from the `pagination` returned in the API response. In the absence of the token value from the query parameter the API returns the first page of the result.", + "in": "query", + "maxLength": 1024, + "minLength": 0, + "name": "paginationToken", + "type": "string" + } + ], + "responses": { + "200": { + "description": "ListPlacementOptions 200 response", + "schema": { + "$ref": "#/definitions/ListPlacementOptionsResponse" + }, + "x-amzn-api-sandbox": { + "static": [ + { + "request": { + "parameters": { + "inboundPlanId": { + "value": "wf1234abcd-1234-abcd-5678-1234abcd5678" + }, + "pageSize": { + "value": 2 + }, + "paginationToken": { + "value": "paginationToken" + } + } + }, + "response": { + "placementOptions": [ + { + "placementOptionId": "pl1234abcd-1234-abcd-5678-1234abcd5678", + "status": "OFFERED", + "fees": [ + { + "value": { + "code": "USD", + "amount": 1.0 + }, + "type": "FEE", + "target": "Placement Services", + "description": "description" + } + ], + "discounts": [ + { + "value": { + "code": "USD", + "amount": 1.0 + }, + "type": "DISCOUNT", + "target": "Placement Services", + "description": "description" + } + ], + "expiration": "2024-01-01T00:00:00.000Z", + "shipmentIds": [ + "sh1234abcd-1234-abcd-5678-1234abcd5678" + ] + } + ], + "pagination": { + "nextToken": "nextPaginationToken" + } + } + } + ] + }, + "headers": { + "x-amzn-RequestId": { + "description": "Unique request reference identifier.", + "type": "string" + }, + "x-amzn-RateLimit-Limit": { + "description": "Your rate limit (requests per second) for this operation.", + "type": "string" + } + } + }, + "400": { + "description": "Request has missing or invalid parameters and cannot be parsed.", + "schema": { + "$ref": "#/definitions/ErrorList" + }, + "x-amzn-api-sandbox": { + "static": [ + { + "request": { + "parameters": { + "inboundPlanId": { + "value": "bad234abcd-1234-abcd-5678-1234abcd5678" + }, + "pageSize": { + "value": 2 + }, + "paginationToken": { + "value": "paginationToken" + } + } + }, + "response": { + "errors": [ + { + "code": "BadRequest", + "message": "The requested inbound plan does not exist." + } + ] + } + } + ] + }, + "headers": { + "x-amzn-RequestId": { + "description": "Unique request reference identifier.", + "type": "string" + }, + "x-amzn-RateLimit-Limit": { + "description": "Your rate limit (requests per second) for this operation.", + "type": "string" + } + } + }, + "404": { + "description": "The resource specified does not exist.", + "schema": { + "$ref": "#/definitions/ErrorList" + }, + "headers": { + "x-amzn-RequestId": { + "description": "Unique request reference identifier.", + "type": "string" + }, + "x-amzn-RateLimit-Limit": { + "description": "Your rate limit (requests per second) for this operation.", + "type": "string" + } + } + }, + "500": { + "description": "An unexpected condition occurred that prevented the server from fulfilling the request.", + "schema": { + "$ref": "#/definitions/ErrorList" + }, + "headers": { + "x-amzn-RequestId": { + "description": "Unique request reference identifier.", + "type": "string" + } + } + }, + "403": { + "description": "Indicates that access to the resource is forbidden. Possible reasons include Access Denied, Unauthorized, Expired Token, or Invalid Signature.", + "schema": { + "$ref": "#/definitions/ErrorList" + }, + "headers": { + "x-amzn-RequestId": { + "description": "Unique request reference identifier.", + "type": "string" + } + } + }, + "413": { + "description": "The request size exceeded the maximum accepted size.", + "schema": { + "$ref": "#/definitions/ErrorList" + }, + "headers": { + "x-amzn-RequestId": { + "description": "Unique request reference identifier.", + "type": "string" + } + } + }, + "415": { + "description": "The request payload is in an unsupported format.", + "schema": { + "$ref": "#/definitions/ErrorList" + }, + "headers": { + "x-amzn-RequestId": { + "description": "Unique request reference identifier.", + "type": "string" + } + } + }, + "429": { + "description": "The frequency of requests was greater than allowed.", + "schema": { + "$ref": "#/definitions/ErrorList" + }, + "headers": { + "x-amzn-RequestId": { + "description": "Unique request reference identifier.", + "type": "string" + } + } + }, + "503": { + "description": "Temporary overloading or maintenance of the server.", + "schema": { + "$ref": "#/definitions/ErrorList" + }, + "headers": { + "x-amzn-RequestId": { + "description": "Unique request reference identifier.", + "type": "string" + } + } + } + }, + "tags": [ + "fbaInbound" + ], + "description": "Provides a list of all placement options for an inbound plan. Placement options must first be generated by the corresponding operation before becoming available.\n\n**Usage Plan:**\n\n| Rate (requests per second) | Burst |\n| ---- | ---- |\n| 2 | 6 |\n\nThe `x-amzn-RateLimit-Limit` response header returns the usage plan rate limits that were applied to the requested operation, when available. The table above indicates the default rate and burst values for this operation. Selling partners whose business demands require higher throughput may see higher rate and burst values than those shown here. For more information, refer to [Usage Plans and Rate Limits in the Selling Partner API](https://developer-docs.amazon.com/sp-api/docs/usage-plans-and-rate-limits-in-the-sp-api). ", + "operationId": "listPlacementOptions" + }, + "post": { + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "parameters": [ + { + "description": "Identifier of an inbound plan.", + "in": "path", + "maxLength": 38, + "minLength": 38, + "name": "inboundPlanId", + "pattern": "^[a-zA-Z0-9-]*$", + "required": true, + "type": "string" + }, + { + "in": "body", + "name": "body", + "required": true, + "schema": { + "$ref": "#/definitions/GeneratePlacementOptionsRequest" + }, + "description": "The body of the request to `generatePlacementOptions`." + } + ], + "responses": { + "202": { + "description": "GeneratePlacementOptions 202 response", + "schema": { + "$ref": "#/definitions/GeneratePlacementOptionsResponse" + }, + "x-amzn-api-sandbox": { + "static": [ + { + "request": { + "parameters": { + "inboundPlanId": { + "value": "wf1234abcd-1234-abcd-5678-1234abcd5678" + }, + "body": { + "value": { + "customPlacement": [ + { + "warehouseId": "warehouseId", + "items": [ + { + "msku": "msku", + "prepOwner": "AMAZON", + "labelOwner": "AMAZON", + "quantity": 2, + "expiration": "2024-01-01", + "manufacturingLotCode": "lotCode" + } + ] + } + ] + } + } + } + }, + "response": { + "operationId": "1234abcd-1234-abcd-5678-1234abcd5678" + } + } + ] + }, + "headers": { + "x-amzn-RequestId": { + "description": "Unique request reference identifier.", + "type": "string" + }, + "x-amzn-RateLimit-Limit": { + "description": "Your rate limit (requests per second) for this operation.", + "type": "string" + } + } + }, + "400": { + "description": "Request has missing or invalid parameters and cannot be parsed.", + "schema": { + "$ref": "#/definitions/ErrorList" + }, + "x-amzn-api-sandbox": { + "static": [ + { + "request": { + "parameters": { + "inboundPlanId": { + "value": "wf1234abcd-1234-abcd-5678-1234abcd5678" + }, + "body": { + "value": { + "customPlacement": [ + { + "warehouseId": "badWarehouseId", + "items": [ + { + "msku": "msku", + "prepOwner": "AMAZON", + "labelOwner": "AMAZON", + "quantity": 2, + "expiration": "2024-01-01", + "manufacturingLotCode": "lotCode" + } + ] + } + ] + } + } + } + }, + "response": { + "errors": [ + { + "code": "BadRequest", + "message": "The inbound plan is not in a valid state to generate placement options." + } + ] + } + } + ] + }, + "headers": { + "x-amzn-RequestId": { + "description": "Unique request reference identifier.", + "type": "string" + }, + "x-amzn-RateLimit-Limit": { + "description": "Your rate limit (requests per second) for this operation.", + "type": "string" + } + } + }, + "404": { + "description": "The resource specified does not exist.", + "schema": { + "$ref": "#/definitions/ErrorList" + }, + "headers": { + "x-amzn-RequestId": { + "description": "Unique request reference identifier.", + "type": "string" + }, + "x-amzn-RateLimit-Limit": { + "description": "Your rate limit (requests per second) for this operation.", + "type": "string" + } + } + }, + "500": { + "description": "An unexpected condition occurred that prevented the server from fulfilling the request.", + "schema": { + "$ref": "#/definitions/ErrorList" + }, + "headers": { + "x-amzn-RequestId": { + "description": "Unique request reference identifier.", + "type": "string" + } + } + }, + "403": { + "description": "Indicates that access to the resource is forbidden. Possible reasons include Access Denied, Unauthorized, Expired Token, or Invalid Signature.", + "schema": { + "$ref": "#/definitions/ErrorList" + }, + "headers": { + "x-amzn-RequestId": { + "description": "Unique request reference identifier.", + "type": "string" + } + } + }, + "413": { + "description": "The request size exceeded the maximum accepted size.", + "schema": { + "$ref": "#/definitions/ErrorList" + }, + "headers": { + "x-amzn-RequestId": { + "description": "Unique request reference identifier.", + "type": "string" + } + } + }, + "415": { + "description": "The request payload is in an unsupported format.", + "schema": { + "$ref": "#/definitions/ErrorList" + }, + "headers": { + "x-amzn-RequestId": { + "description": "Unique request reference identifier.", + "type": "string" + } + } + }, + "429": { + "description": "The frequency of requests was greater than allowed.", + "schema": { + "$ref": "#/definitions/ErrorList" + }, + "headers": { + "x-amzn-RequestId": { + "description": "Unique request reference identifier.", + "type": "string" + } + } + }, + "503": { + "description": "Temporary overloading or maintenance of the server.", + "schema": { + "$ref": "#/definitions/ErrorList" + }, + "headers": { + "x-amzn-RequestId": { + "description": "Unique request reference identifier.", + "type": "string" + } + } + } + }, + "tags": [ + "fbaInbound" + ], + "description": "Generates placement options for the inbound plan.\n\n**Usage Plan:**\n\n| Rate (requests per second) | Burst |\n| ---- | ---- |\n| 2 | 2 |\n\nThe `x-amzn-RateLimit-Limit` response header returns the usage plan rate limits that were applied to the requested operation, when available. The table above indicates the default rate and burst values for this operation. Selling partners whose business demands require higher throughput may see higher rate and burst values than those shown here. For more information, refer to [Usage Plans and Rate Limits in the Selling Partner API](https://developer-docs.amazon.com/sp-api/docs/usage-plans-and-rate-limits-in-the-sp-api). ", + "operationId": "generatePlacementOptions" + } + }, + "/inbound/fba/2024-03-20/inboundPlans/{inboundPlanId}/placementOptions/{placementOptionId}/confirmation": { + "post": { + "produces": [ + "application/json" + ], + "parameters": [ + { + "description": "Identifier of an inbound plan.", + "in": "path", + "maxLength": 38, + "minLength": 38, + "name": "inboundPlanId", + "pattern": "^[a-zA-Z0-9-]*$", + "required": true, + "type": "string" + }, + { + "description": "The identifier of a placement option. A placement option represents the shipment splits and destinations of SKUs.", + "in": "path", + "maxLength": 38, + "minLength": 38, + "name": "placementOptionId", + "pattern": "^[a-zA-Z0-9-]*$", + "required": true, + "type": "string" + } + ], + "responses": { + "202": { + "description": "ConfirmPlacementOption 202 response", + "schema": { + "$ref": "#/definitions/ConfirmPlacementOptionResponse" + }, + "x-amzn-api-sandbox": { + "static": [ + { + "request": { + "parameters": { + "inboundPlanId": { + "value": "wf1234abcd-1234-abcd-5678-1234abcd5678" + }, + "placementOptionId": { + "value": "pl1234abcd-1234-abcd-5678-1234abcd5678" + } + } + }, + "response": { + "operationId": "1234abcd-1234-abcd-5678-1234abcd5678" + } + } + ] + }, + "headers": { + "x-amzn-RequestId": { + "description": "Unique request reference identifier.", + "type": "string" + }, + "x-amzn-RateLimit-Limit": { + "description": "Your rate limit (requests per second) for this operation.", + "type": "string" + } + } + }, + "400": { + "description": "Request has missing or invalid parameters and cannot be parsed.", + "schema": { + "$ref": "#/definitions/ErrorList" + }, + "x-amzn-api-sandbox": { + "static": [ + { + "request": { + "parameters": { + "inboundPlanId": { + "value": "wf1234abcd-1234-abcd-5678-1234abcd5678" + }, + "placementOptionId": { + "value": "bad234abcd-1234-abcd-5678-1234abcd5678" + } + } + }, + "response": { + "errors": [ + { + "code": "BadRequest", + "message": "The requested placementOptionId does not exist for the given inbound plan." + } + ] + } + } + ] + }, + "headers": { + "x-amzn-RequestId": { + "description": "Unique request reference identifier.", + "type": "string" + }, + "x-amzn-RateLimit-Limit": { + "description": "Your rate limit (requests per second) for this operation.", + "type": "string" + } + } + }, + "404": { + "description": "The resource specified does not exist.", + "schema": { + "$ref": "#/definitions/ErrorList" + }, + "headers": { + "x-amzn-RequestId": { + "description": "Unique request reference identifier.", + "type": "string" + }, + "x-amzn-RateLimit-Limit": { + "description": "Your rate limit (requests per second) for this operation.", + "type": "string" + } + } + }, + "500": { + "description": "An unexpected condition occurred that prevented the server from fulfilling the request.", + "schema": { + "$ref": "#/definitions/ErrorList" + }, + "headers": { + "x-amzn-RequestId": { + "description": "Unique request reference identifier.", + "type": "string" + } + } + }, + "403": { + "description": "Indicates that access to the resource is forbidden. Possible reasons include Access Denied, Unauthorized, Expired Token, or Invalid Signature.", + "schema": { + "$ref": "#/definitions/ErrorList" + }, + "headers": { + "x-amzn-RequestId": { + "description": "Unique request reference identifier.", + "type": "string" + } + } + }, + "413": { + "description": "The request size exceeded the maximum accepted size.", + "schema": { + "$ref": "#/definitions/ErrorList" + }, + "headers": { + "x-amzn-RequestId": { + "description": "Unique request reference identifier.", + "type": "string" + } + } + }, + "415": { + "description": "The request payload is in an unsupported format.", + "schema": { + "$ref": "#/definitions/ErrorList" + }, + "headers": { + "x-amzn-RequestId": { + "description": "Unique request reference identifier.", + "type": "string" + } + } + }, + "429": { + "description": "The frequency of requests was greater than allowed.", + "schema": { + "$ref": "#/definitions/ErrorList" + }, + "headers": { + "x-amzn-RequestId": { + "description": "Unique request reference identifier.", + "type": "string" + } + } + }, + "503": { + "description": "Temporary overloading or maintenance of the server.", + "schema": { + "$ref": "#/definitions/ErrorList" + }, + "headers": { + "x-amzn-RequestId": { + "description": "Unique request reference identifier.", + "type": "string" + } + } + } + }, + "tags": [ + "fbaInbound" + ], + "description": "Confirms the placement option for an inbound plan. Once confirmed, it cannot be changed for the Inbound Plan.\n\n**Usage Plan:**\n\n| Rate (requests per second) | Burst |\n| ---- | ---- |\n| 2 | 2 |\n\nThe `x-amzn-RateLimit-Limit` response header returns the usage plan rate limits that were applied to the requested operation, when available. The table above indicates the default rate and burst values for this operation. Selling partners whose business demands require higher throughput may see higher rate and burst values than those shown here. For more information, refer to [Usage Plans and Rate Limits in the Selling Partner API](https://developer-docs.amazon.com/sp-api/docs/usage-plans-and-rate-limits-in-the-sp-api). ", + "operationId": "confirmPlacementOption" + } + }, + "/inbound/fba/2024-03-20/inboundPlans/{inboundPlanId}/shipments/{shipmentId}": { + "get": { + "produces": [ + "application/json" + ], + "parameters": [ + { + "description": "Identifier of an inbound plan.", + "in": "path", + "maxLength": 38, + "minLength": 38, + "name": "inboundPlanId", + "pattern": "^[a-zA-Z0-9-]*$", + "required": true, + "type": "string" + }, + { + "description": "Identifier of a shipment. A shipment contains the boxes and units being inbounded.", + "in": "path", + "maxLength": 38, + "minLength": 38, + "name": "shipmentId", + "pattern": "^[a-zA-Z0-9-]*$", + "required": true, + "type": "string" + } + ], + "responses": { + "200": { + "description": "GetShipment 200 response", + "schema": { + "$ref": "#/definitions/Shipment" + }, + "x-amzn-api-sandbox": { + "static": [ + { + "request": { + "parameters": { + "inboundPlanId": { + "value": "wf1234abcd-1234-abcd-5678-1234abcd5678" + }, + "shipmentId": { + "value": "sh1234abcd-1234-abcd-5678-1234abcd5678" + } + } + }, + "response": { + "placementOptionId": "pl1234abcd-1234-abcd-5678-1234abcd5678", + "shipmentId": "sh1234abcd-1234-abcd-5678-1234abcd5678", + "shipmentConfirmationId": "FBA1234ABCD", + "amazonReferenceId": "amazonReferenceId", + "selectedTransportationOptionId": "to1234abcd-1234-abcd-5678-1234abcd5678", + "selectedDeliveryWindow": { + "startDate": "2024-01-01T00:00:00.000Z", + "endDate": "2024-01-01T06:00:00.000Z", + "editableUntil": "2024-01-01T06:00:00.000Z", + "availabilityType": "AVAILABLE", + "deliveryWindowOptionId": "dw1234abcd-1234-abcd-5678-1234abcd5678" + }, + "name": "FBA (10/02/2023 20:07)-ABC1", + "source": { + "sourceType": "SELLER_FACILITY", + "address": { + "name": "name", + "companyName": "Acme", + "addressLine1": "123 example street", + "addressLine2": "Unit 102", + "city": "Toronto", + "countryCode": "CA", + "stateOrProvinceCode": "ON", + "postalCode": "M1M1M1", + "phoneNumber": "1234567890", + "email": "email@email.com" + } + }, + "destination": { + "destinationType": "AMAZON_WAREHOUSE", + "address": { + "name": "name", + "companyName": "Acme", + "addressLine1": "123 example street", + "addressLine2": "Unit 102", + "city": "Toronto", + "countryCode": "CA", + "stateOrProvinceCode": "ON", + "postalCode": "M1M1M1", + "phoneNumber": "1234567890", + "email": "email@email.com" + }, + "warehouseId": "YYZ5" + }, + "dates": { + "readyToShipWindow": { + "start": "2024-01-01T00:00Z", + "end": "2024-01-08T00:00Z", + "editableUntil": "2024-01-07T00:00Z" + } + }, + "status": "WORKING", + "trackingDetails": { + "spdTrackingDetail": { + "spdTrackingItems": [ + { + "boxId": "boxId", + "trackingId": "trackingId", + "trackingNumberValidationStatus": "VALIDATED" + } + ] + }, + "ltlTrackingDetail": { + "freightBillNumber": [ + "freightBillNumber1" + ], + "billOfLadingNumber": "billOfLadingNumber" + } + }, + "freightInformation": { + "freightClass": "FC_50", + "declaredValue": { + "code": "USD", + "amount": 500.0 + } + }, + "contactInformation": { + "name": "name", + "phoneNumber": "1234567890", + "email": "email@email.com" + }, + "selfShipAppointmentDetails": [ + { + "appointmentId": 1, + "appointmentSlotTime": { + "startTime": "2024-01-01T00:00:00.000Z", + "endTime": "2024-01-01T00:00:00.000Z" + }, + "appointmentStatus": "appointmentStatus" + } + ] + } + } + ] + }, + "headers": { + "x-amzn-RequestId": { + "description": "Unique request reference identifier.", + "type": "string" + }, + "x-amzn-RateLimit-Limit": { + "description": "Your rate limit (requests per second) for this operation.", + "type": "string" + } + } + }, + "400": { + "description": "Request has missing or invalid parameters and cannot be parsed.", + "schema": { + "$ref": "#/definitions/ErrorList" + }, + "x-amzn-api-sandbox": { + "static": [ + { + "request": { + "parameters": { + "inboundPlanId": { + "value": "wf1234abcd-1234-abcd-5678-1234abcd5678" + }, + "shipmentId": { + "value": "bad234abcd-1234-abcd-5678-1234abcd5678" + } + } + }, + "response": { + "errors": [ + { + "code": "BadRequest", + "message": "The requested shipment does not exist for the provided inbound plan." + } + ] + } + } + ] + }, + "headers": { + "x-amzn-RequestId": { + "description": "Unique request reference identifier.", + "type": "string" + }, + "x-amzn-RateLimit-Limit": { + "description": "Your rate limit (requests per second) for this operation.", + "type": "string" + } + } + }, + "404": { + "description": "The resource specified does not exist.", + "schema": { + "$ref": "#/definitions/ErrorList" + }, + "headers": { + "x-amzn-RequestId": { + "description": "Unique request reference identifier.", + "type": "string" + }, + "x-amzn-RateLimit-Limit": { + "description": "Your rate limit (requests per second) for this operation.", + "type": "string" + } + } + }, + "500": { + "description": "An unexpected condition occurred that prevented the server from fulfilling the request.", + "schema": { + "$ref": "#/definitions/ErrorList" + }, + "headers": { + "x-amzn-RequestId": { + "description": "Unique request reference identifier.", + "type": "string" + } + } + }, + "403": { + "description": "Indicates that access to the resource is forbidden. Possible reasons include Access Denied, Unauthorized, Expired Token, or Invalid Signature.", + "schema": { + "$ref": "#/definitions/ErrorList" + }, + "headers": { + "x-amzn-RequestId": { + "description": "Unique request reference identifier.", + "type": "string" + } + } + }, + "413": { + "description": "The request size exceeded the maximum accepted size.", + "schema": { + "$ref": "#/definitions/ErrorList" + }, + "headers": { + "x-amzn-RequestId": { + "description": "Unique request reference identifier.", + "type": "string" + } + } + }, + "415": { + "description": "The request payload is in an unsupported format.", + "schema": { + "$ref": "#/definitions/ErrorList" + }, + "headers": { + "x-amzn-RequestId": { + "description": "Unique request reference identifier.", + "type": "string" + } + } + }, + "429": { + "description": "The frequency of requests was greater than allowed.", + "schema": { + "$ref": "#/definitions/ErrorList" + }, + "headers": { + "x-amzn-RequestId": { + "description": "Unique request reference identifier.", + "type": "string" + } + } + }, + "503": { + "description": "Temporary overloading or maintenance of the server.", + "schema": { + "$ref": "#/definitions/ErrorList" + }, + "headers": { + "x-amzn-RequestId": { + "description": "Unique request reference identifier.", + "type": "string" + } + } + } + }, + "tags": [ + "fbaInbound" + ], + "description": "Provides the full details for a specific shipment within an inbound plan. The `transportationOptionId` inside `acceptedTransportationSelection` can be used to retrieve the transportation details for the shipment.\n\n**Usage Plan:**\n\n| Rate (requests per second) | Burst |\n| ---- | ---- |\n| 2 | 6 |\n\nThe `x-amzn-RateLimit-Limit` response header returns the usage plan rate limits that were applied to the requested operation, when available. The table above indicates the default rate and burst values for this operation. Selling partners whose business demands require higher throughput may see higher rate and burst values than those shown here. For more information, refer to [Usage Plans and Rate Limits in the Selling Partner API](https://developer-docs.amazon.com/sp-api/docs/usage-plans-and-rate-limits-in-the-sp-api). ", + "operationId": "getShipment" + } + }, + "/inbound/fba/2024-03-20/inboundPlans/{inboundPlanId}/shipments/{shipmentId}/boxes": { + "get": { + "produces": [ + "application/json" + ], + "parameters": [ + { + "description": "Identifier of an inbound plan.", + "in": "path", + "maxLength": 38, + "minLength": 38, + "name": "inboundPlanId", + "pattern": "^[a-zA-Z0-9-]*$", + "required": true, + "type": "string" + }, + { + "description": "Identifier of a shipment. A shipment contains the boxes and units being inbounded.", + "in": "path", + "maxLength": 38, + "minLength": 38, + "name": "shipmentId", + "pattern": "^[a-zA-Z0-9-]*$", + "required": true, + "type": "string" + }, + { + "description": "The number of boxes to return in the response matching the given query.", + "in": "query", + "maximum": 1000, + "minimum": 1, + "name": "pageSize", + "type": "integer", + "default": 10 + }, + { + "description": "A token to fetch a certain page when there are multiple pages worth of results. The value of this token is fetched from the `pagination` returned in the API response. In the absence of the token value from the query parameter the API returns the first page of the result.", + "in": "query", + "maxLength": 1024, + "minLength": 0, + "name": "paginationToken", + "type": "string" + } + ], + "responses": { + "200": { + "description": "ListShipmentBoxes 200 response", + "schema": { + "$ref": "#/definitions/ListShipmentBoxesResponse" + }, + "x-amzn-api-sandbox": { + "static": [ + { + "request": { + "parameters": { + "inboundPlanId": { + "value": "wf1234abcd-1234-abcd-5678-1234abcd5678" + }, + "shipmentId": { + "value": "sh1234abcd-1234-abcd-5678-1234abcd5678" + }, + "pageSize": { + "value": 2 + }, + "paginationToken": { + "value": "paginationToken" + } + } + }, + "response": { + "boxes": [ + { + "packageId": "pk1234abcd-1234-abcd-5678-1234abcd5678", + "weight": { + "unit": "KG", + "value": 5.5 + }, + "dimensions": { + "unitOfMeasurement": "CM", + "length": 3.0, + "width": 4.0, + "height": 5.0 + }, + "quantity": 2, + "boxId": "boxId", + "templateName": "templateName", + "items": [ + { + "quantity": 5, + "expiration": "2024-01-01", + "manufacturingLotCode": "manufacturingLotCode", + "prepInstructions": [ + { + "prepType": "ITEM_POLYBAGGING", + "prepOwner": "AMAZON", + "fee": { + "code": "USD", + "amount": 10.0 + } + } + ], + "msku": "msku", + "asin": "asin", + "fnsku": "fnsku", + "labelOwner": "AMAZON" + } + ], + "destinationRegion": { + "countryCode": "US", + "state": "CA", + "warehouseId": "ABC1" + }, + "contentInformationSource": "BOX_CONTENT_PROVIDED" + } + ], + "pagination": { + "nextToken": "nextPaginationToken" + } + } + } + ] + }, + "headers": { + "x-amzn-RequestId": { + "description": "Unique request reference identifier.", + "type": "string" + }, + "x-amzn-RateLimit-Limit": { + "description": "Your rate limit (requests per second) for this operation.", + "type": "string" + } + } + }, + "400": { + "description": "Request has missing or invalid parameters and cannot be parsed.", + "schema": { + "$ref": "#/definitions/ErrorList" + }, + "x-amzn-api-sandbox": { + "static": [ + { + "request": { + "parameters": { + "inboundPlanId": { + "value": "bad234abcd-1234-abcd-5678-1234abcd5678" + }, + "shipmentId": { + "value": "sh1234abcd-1234-abcd-5678-1234abcd5678" + }, + "pageSize": { + "value": 2 + }, + "paginationToken": { + "value": "paginationToken" + } + } + }, + "response": { + "errors": [ + { + "code": "BadRequest", + "message": "The requested inboundPlanId does not exist." + } + ] + } + } + ] + }, + "headers": { + "x-amzn-RequestId": { + "description": "Unique request reference identifier.", + "type": "string" + }, + "x-amzn-RateLimit-Limit": { + "description": "Your rate limit (requests per second) for this operation.", + "type": "string" + } + } + }, + "404": { + "description": "The resource specified does not exist.", + "schema": { + "$ref": "#/definitions/ErrorList" + }, + "headers": { + "x-amzn-RequestId": { + "description": "Unique request reference identifier.", + "type": "string" + }, + "x-amzn-RateLimit-Limit": { + "description": "Your rate limit (requests per second) for this operation.", + "type": "string" + } + } + }, + "500": { + "description": "An unexpected condition occurred that prevented the server from fulfilling the request.", + "schema": { + "$ref": "#/definitions/ErrorList" + }, + "headers": { + "x-amzn-RequestId": { + "description": "Unique request reference identifier.", + "type": "string" + } + } + }, + "403": { + "description": "Indicates that access to the resource is forbidden. Possible reasons include Access Denied, Unauthorized, Expired Token, or Invalid Signature.", + "schema": { + "$ref": "#/definitions/ErrorList" + }, + "headers": { + "x-amzn-RequestId": { + "description": "Unique request reference identifier.", + "type": "string" + } + } + }, + "413": { + "description": "The request size exceeded the maximum accepted size.", + "schema": { + "$ref": "#/definitions/ErrorList" + }, + "headers": { + "x-amzn-RequestId": { + "description": "Unique request reference identifier.", + "type": "string" + } + } + }, + "415": { + "description": "The request payload is in an unsupported format.", + "schema": { + "$ref": "#/definitions/ErrorList" + }, + "headers": { + "x-amzn-RequestId": { + "description": "Unique request reference identifier.", + "type": "string" + } + } + }, + "429": { + "description": "The frequency of requests was greater than allowed.", + "schema": { + "$ref": "#/definitions/ErrorList" + }, + "headers": { + "x-amzn-RequestId": { + "description": "Unique request reference identifier.", + "type": "string" + } + } + }, + "503": { + "description": "Temporary overloading or maintenance of the server.", + "schema": { + "$ref": "#/definitions/ErrorList" + }, + "headers": { + "x-amzn-RequestId": { + "description": "Unique request reference identifier.", + "type": "string" + } + } + } + }, + "tags": [ + "fbaInbound" + ], + "description": "Provides a paginated list of box packages in a shipment.\n\n**Usage Plan:**\n\n| Rate (requests per second) | Burst |\n| ---- | ---- |\n| 2 | 30 |\n\nThe `x-amzn-RateLimit-Limit` response header returns the usage plan rate limits that were applied to the requested operation, when available. The table above indicates the default rate and burst values for this operation. Selling partners whose business demands require higher throughput may see higher rate and burst values than those shown here. For more information, refer to [Usage Plans and Rate Limits in the Selling Partner API](https://developer-docs.amazon.com/sp-api/docs/usage-plans-and-rate-limits-in-the-sp-api). ", + "operationId": "listShipmentBoxes" + } + }, + "/inbound/fba/2024-03-20/inboundPlans/{inboundPlanId}/shipments/{shipmentId}/contentUpdatePreviews": { + "get": { + "produces": [ + "application/json" + ], + "parameters": [ + { + "description": "Identifier of an inbound plan.", + "in": "path", + "maxLength": 38, + "minLength": 38, + "name": "inboundPlanId", + "pattern": "^[a-zA-Z0-9-]*$", + "required": true, + "type": "string" + }, + { + "description": "Identifier of a shipment. A shipment contains the boxes and units being inbounded.", + "in": "path", + "maxLength": 38, + "minLength": 38, + "name": "shipmentId", + "pattern": "^[a-zA-Z0-9-]*$", + "required": true, + "type": "string" + }, + { + "description": "The number of content update previews to return.", + "in": "query", + "maximum": 20, + "minimum": 1, + "name": "pageSize", + "type": "integer", + "default": 10 + }, + { + "description": "A token to fetch a certain page when there are multiple pages worth of results. The value of this token is fetched from the `pagination` returned in the API response. In the absence of the token value from the query parameter the API returns the first page of the result.", + "in": "query", + "maxLength": 1024, + "minLength": 0, + "name": "paginationToken", + "type": "string" + } + ], + "responses": { + "200": { + "description": "ListShipmentContentUpdatePreviews 200 response", + "schema": { + "$ref": "#/definitions/ListShipmentContentUpdatePreviewsResponse" + }, + "x-amzn-api-sandbox": { + "static": [ + { + "request": { + "parameters": { + "inboundPlanId": { + "value": "wf1234abcd-1234-abcd-5678-1234abcd5678" + }, + "shipmentId": { + "value": "sh1234abcd-1234-abcd-5678-1234abcd5678" + }, + "pageSize": { + "value": 2 + }, + "paginationToken": { + "value": "paginationToken" + } + } + }, + "response": { + "contentUpdatePreviews": [ + { + "contentUpdatePreviewId": "cu1234abcd-1234-abcd-5678-1234abcd5678", + "expiration": "2024-01-01", + "transportationOption": { + "shipmentId": "sh1234abcd-1234-abcd-5678-1234abcd5678", + "transportationOptionId": "to1234abcd-1234-abcd-5678-1234abcd5678", + "shippingSolution": "AMAZON_PARTNERED_CARRIER", + "carrier": { + "name": "name", + "alphaCode": "USPS" + }, + "shippingMode": "GROUND_SMALL_PARCEL", + "quote": { + "cost": { + "code": "USD", + "amount": 500.0 + }, + "voidableUntil": "2024-01-01T00:00:00.000Z", + "expiration": "2024-01-01T00:00:00.000Z" + }, + "carrierAppointment": { + "startTime": "2024-01-01T00:00:00.000Z", + "endTime": "2024-01-02T00:00:00.000Z" + }, + "preconditions": [ + "CONFIRMED_DELIVERY_WINDOW" + ] + }, + "requestedUpdates": { + "boxes": [ + { + "packageId": "pk1234abcd-1234-abcd-5678-1234abcd5678", + "weight": { + "unit": "KG", + "value": 5.5 + }, + "dimensions": { + "unitOfMeasurement": "CM", + "length": 3.0, + "width": 4.0, + "height": 5.0 + }, + "quantity": 1, + "items": [ + { + "msku": "msku", + "prepOwner": "AMAZON", + "labelOwner": "AMAZON", + "quantity": 2, + "expiration": "2024-01-01", + "manufacturingLotCode": "lotCode" + } + ], + "contentInformationSource": "BOX_CONTENT_PROVIDED" + } + ], + "items": [ + { + "msku": "msku", + "prepOwner": "AMAZON", + "labelOwner": "AMAZON", + "quantity": 2, + "expiration": "2024-01-01", + "manufacturingLotCode": "lotCode" + } + ] + } + } + ], + "pagination": { + "nextToken": "nextPaginationToken" + } + } + } + ] + }, + "headers": { + "x-amzn-RequestId": { + "description": "Unique request reference identifier.", + "type": "string" + }, + "x-amzn-RateLimit-Limit": { + "description": "Your rate limit (requests per second) for this operation.", + "type": "string" + } + } + }, + "400": { + "description": "Request has missing or invalid parameters and cannot be parsed.", + "schema": { + "$ref": "#/definitions/ErrorList" + }, + "x-amzn-api-sandbox": { + "static": [ + { + "request": { + "parameters": { + "inboundPlanId": { + "value": "bad234abcd-1234-abcd-5678-1234abcd5678" + }, + "shipmentId": { + "value": "sh1234abcd-1234-abcd-5678-1234abcd5678" + }, + "pageSize": { + "value": 2 + }, + "paginationToken": { + "value": "paginationToken" + } + } + }, + "response": { + "errors": [ + { + "code": "BadRequest", + "message": "The requested inbound plan does not exist." + } + ] + } + } + ] + }, + "headers": { + "x-amzn-RequestId": { + "description": "Unique request reference identifier.", + "type": "string" + }, + "x-amzn-RateLimit-Limit": { + "description": "Your rate limit (requests per second) for this operation.", + "type": "string" + } + } + }, + "404": { + "description": "The resource specified does not exist.", + "schema": { + "$ref": "#/definitions/ErrorList" + }, + "headers": { + "x-amzn-RequestId": { + "description": "Unique request reference identifier.", + "type": "string" + }, + "x-amzn-RateLimit-Limit": { + "description": "Your rate limit (requests per second) for this operation.", + "type": "string" + } + } + }, + "500": { + "description": "An unexpected condition occurred that prevented the server from fulfilling the request.", + "schema": { + "$ref": "#/definitions/ErrorList" + }, + "headers": { + "x-amzn-RequestId": { + "description": "Unique request reference identifier.", + "type": "string" + } + } + }, + "403": { + "description": "Indicates that access to the resource is forbidden. Possible reasons include Access Denied, Unauthorized, Expired Token, or Invalid Signature.", + "schema": { + "$ref": "#/definitions/ErrorList" + }, + "headers": { + "x-amzn-RequestId": { + "description": "Unique request reference identifier.", + "type": "string" + } + } + }, + "413": { + "description": "The request size exceeded the maximum accepted size.", + "schema": { + "$ref": "#/definitions/ErrorList" + }, + "headers": { + "x-amzn-RequestId": { + "description": "Unique request reference identifier.", + "type": "string" + } + } + }, + "415": { + "description": "The request payload is in an unsupported format.", + "schema": { + "$ref": "#/definitions/ErrorList" + }, + "headers": { + "x-amzn-RequestId": { + "description": "Unique request reference identifier.", + "type": "string" + } + } + }, + "429": { + "description": "The frequency of requests was greater than allowed.", + "schema": { + "$ref": "#/definitions/ErrorList" + }, + "headers": { + "x-amzn-RequestId": { + "description": "Unique request reference identifier.", + "type": "string" + } + } + }, + "503": { + "description": "Temporary overloading or maintenance of the server.", + "schema": { + "$ref": "#/definitions/ErrorList" + }, + "headers": { + "x-amzn-RequestId": { + "description": "Unique request reference identifier.", + "type": "string" + } + } + } + }, + "tags": [ + "fbaInbound" + ], + "description": "Retrieve a paginated list of shipment content update previews for a given shipment. The shipment content update preview is a summary of the requested shipment content changes along with the transportation cost implications of the change that can only be confirmed prior to the expiry date specified.\n\n**Usage Plan:**\n\n| Rate (requests per second) | Burst |\n| ---- | ---- |\n| 2 | 30 |\n\nThe `x-amzn-RateLimit-Limit` response header returns the usage plan rate limits that were applied to the requested operation, when available. The table above indicates the default rate and burst values for this operation. Selling partners whose business demands require higher throughput may see higher rate and burst values than those shown here. For more information, refer to [Usage Plans and Rate Limits in the Selling Partner API](https://developer-docs.amazon.com/sp-api/docs/usage-plans-and-rate-limits-in-the-sp-api). ", + "operationId": "listShipmentContentUpdatePreviews" + }, + "post": { + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "parameters": [ + { + "description": "Identifier of an inbound plan.", + "in": "path", + "maxLength": 38, + "minLength": 38, + "name": "inboundPlanId", + "pattern": "^[a-zA-Z0-9-]*$", + "required": true, + "type": "string" + }, + { + "description": "Identifier of a shipment. A shipment contains the boxes and units being inbounded.", + "in": "path", + "maxLength": 38, + "minLength": 38, + "name": "shipmentId", + "pattern": "^[a-zA-Z0-9-]*$", + "required": true, + "type": "string" + }, + { + "in": "body", + "name": "body", + "required": true, + "schema": { + "$ref": "#/definitions/GenerateShipmentContentUpdatePreviewsRequest" + }, + "description": "The body of the request to `generateShipmentContentUpdatePreviews`." + } + ], + "responses": { + "202": { + "description": "GenerateShipmentContentUpdatePreviews 202 response", + "schema": { + "$ref": "#/definitions/GenerateShipmentContentUpdatePreviewsResponse" + }, + "x-amzn-api-sandbox": { + "static": [ + { + "request": { + "parameters": { + "inboundPlanId": { + "value": "wf1234abcd-1234-abcd-5678-1234abcd5678" + }, + "shipmentId": { + "value": "sh1234abcd-1234-abcd-5678-1234abcd5678" + }, + "body": { + "value": { + "boxes": [ + { + "packageId": "pk1234abcd-1234-abcd-5678-1234abcd5678", + "weight": { + "unit": "KG", + "value": 5.5 + }, + "dimensions": { + "unitOfMeasurement": "CM", + "length": 3.0, + "width": 4.0, + "height": 5.0 + }, + "quantity": 1, + "items": [ + { + "msku": "msku", + "prepOwner": "AMAZON", + "labelOwner": "AMAZON", + "quantity": 2, + "expiration": "2024-01-01", + "manufacturingLotCode": "lotCode" + } + ], + "contentInformationSource": "BOX_CONTENT_PROVIDED" + } + ], + "items": [ + { + "msku": "msku", + "prepOwner": "AMAZON", + "labelOwner": "AMAZON", + "quantity": 2, + "expiration": "2024-01-01", + "manufacturingLotCode": "lotCode" + } + ] + } } - ], - "pagination": { - "nextToken": "nextPaginationToken" } + }, + "response": { + "operationId": "1234abcd-1234-abcd-5678-1234abcd5678" } } ] @@ -1869,13 +4986,51 @@ "request": { "parameters": { "inboundPlanId": { - "value": "bad234abcd-1234-abcd-5678-1234abcd5678" + "value": "wf1234abcd-1234-abcd-5678-1234abcd5678" }, - "pageSize": { - "value": 2 + "shipmentId": { + "value": "bad234abcd-1234-abcd-5678-1234abcd5678" }, - "paginationToken": { - "value": "paginationToken" + "body": { + "value": { + "boxes": [ + { + "packageId": "pk1234abcd-1234-abcd-5678-1234abcd5678", + "weight": { + "unit": "KG", + "value": 5.5 + }, + "dimensions": { + "unitOfMeasurement": "CM", + "length": 3.0, + "width": 4.0, + "height": 5.0 + }, + "quantity": 1, + "items": [ + { + "msku": "msku", + "prepOwner": "AMAZON", + "labelOwner": "AMAZON", + "quantity": 2, + "expiration": "2024-01-01", + "manufacturingLotCode": "lotCode" + } + ], + "contentInformationSource": "BOX_CONTENT_PROVIDED" + } + ], + "items": [ + { + "msku": "msku", + "prepOwner": "AMAZON", + "labelOwner": "AMAZON", + "quantity": 2, + "expiration": "2024-01-01", + "manufacturingLotCode": "lotCode" + } + ] + } } } }, @@ -1883,7 +5038,7 @@ "errors": [ { "code": "BadRequest", - "message": "The requested inbound plan does not exist." + "message": "The requested shipment does not exist under the specified inbound plan." } ] } @@ -1901,8 +5056,8 @@ } } }, - "500": { - "description": "An unexpected condition occurred that prevented the server from fulfilling the request.", + "404": { + "description": "The resource specified does not exist.", "schema": { "$ref": "#/definitions/ErrorList" }, @@ -1910,11 +5065,15 @@ "x-amzn-RequestId": { "description": "Unique request reference identifier.", "type": "string" + }, + "x-amzn-RateLimit-Limit": { + "description": "Your rate limit (requests per second) for this operation.", + "type": "string" } } }, - "403": { - "description": "Indicates that access to the resource is forbidden. Possible reasons include Access Denied, Unauthorized, Expired Token, or Invalid Signature.", + "500": { + "description": "An unexpected condition occurred that prevented the server from fulfilling the request.", "schema": { "$ref": "#/definitions/ErrorList" }, @@ -1925,8 +5084,8 @@ } } }, - "404": { - "description": "The resource specified does not exist.", + "403": { + "description": "Indicates that access to the resource is forbidden. Possible reasons include Access Denied, Unauthorized, Expired Token, or Invalid Signature.", "schema": { "$ref": "#/definitions/ErrorList" }, @@ -1934,10 +5093,6 @@ "x-amzn-RequestId": { "description": "Unique request reference identifier.", "type": "string" - }, - "x-amzn-RateLimit-Limit": { - "description": "Your rate limit (requests per second) for this operation.", - "type": "string" } } }, @@ -1993,16 +5148,18 @@ "tags": [ "fbaInbound" ], - "description": "Retrieves a list of all packing options for an inbound plan. Packing options must first be generated by the corresponding endpoint before becoming available.\n\n**Usage Plan:**\n\n| Rate (requests per second) | Burst |\n| ---- | ---- |\n| 1 | 1 |\n\nThe `x-amzn-RateLimit-Limit` response header returns the usage plan rate limits that were applied to the requested operation, when available. The table above indicates the default rate and burst values for this operation. Selling partners whose business demands require higher throughput may see higher rate and burst values than those shown here. For more information, refer to [Usage Plans and Rate Limits in the Selling Partner API](https://developer-docs.amazon.com/sp-api/docs/usage-plans-and-rate-limits-in-the-sp-api).", - "operationId": "listPackingOptions" - }, - "post": { + "description": "Generate a shipment content update preview given a set of intended boxes and/or items for a shipment with a confirmed carrier. The shipment content update preview will be viewable with the updated costs and contents prior to confirmation.\n\n**Usage Plan:**\n\n| Rate (requests per second) | Burst |\n| ---- | ---- |\n| 2 | 30 |\n\nThe `x-amzn-RateLimit-Limit` response header returns the usage plan rate limits that were applied to the requested operation, when available. The table above indicates the default rate and burst values for this operation. Selling partners whose business demands require higher throughput may see higher rate and burst values than those shown here. For more information, refer to [Usage Plans and Rate Limits in the Selling Partner API](https://developer-docs.amazon.com/sp-api/docs/usage-plans-and-rate-limits-in-the-sp-api). ", + "operationId": "generateShipmentContentUpdatePreviews" + } + }, + "/inbound/fba/2024-03-20/inboundPlans/{inboundPlanId}/shipments/{shipmentId}/contentUpdatePreviews/{contentUpdatePreviewId}": { + "get": { "produces": [ "application/json" ], "parameters": [ { - "description": "Identifier to an inbound plan.", + "description": "Identifier of an inbound plan.", "in": "path", "maxLength": 38, "minLength": 38, @@ -2010,13 +5167,33 @@ "pattern": "^[a-zA-Z0-9-]*$", "required": true, "type": "string" + }, + { + "description": "Identifier of a shipment. A shipment contains the boxes and units being inbounded.", + "in": "path", + "maxLength": 38, + "minLength": 38, + "name": "shipmentId", + "pattern": "^[a-zA-Z0-9-]*$", + "required": true, + "type": "string" + }, + { + "description": "Identifier of a content update preview.", + "in": "path", + "maxLength": 38, + "minLength": 38, + "name": "contentUpdatePreviewId", + "pattern": "^[a-zA-Z0-9-]*$", + "required": true, + "type": "string" } ], "responses": { - "202": { - "description": "GeneratePackingOptions 202 response", + "200": { + "description": "GetShipmentContentUpdatePreview 200 response", "schema": { - "$ref": "#/definitions/GeneratePackingOptionsResponse" + "$ref": "#/definitions/ContentUpdatePreview" }, "x-amzn-api-sandbox": { "static": [ @@ -2025,11 +5202,82 @@ "parameters": { "inboundPlanId": { "value": "wf1234abcd-1234-abcd-5678-1234abcd5678" + }, + "shipmentId": { + "value": "sh1234abcd-1234-abcd-5678-1234abcd5678" + }, + "contentUpdatePreviewId": { + "value": "cu1234abcd-1234-abcd-5678-1234abcd5678" } } }, "response": { - "operationId": "1234abcd-1234-abcd-5678-1234abcd5678" + "contentUpdatePreviewId": "cu1234abcd-1234-abcd-5678-1234abcd5678", + "expiration": "2024-01-01", + "transportationOption": { + "shipmentId": "sh1234abcd-1234-abcd-5678-1234abcd5678", + "transportationOptionId": "to1234abcd-1234-abcd-5678-1234abcd5678", + "shippingSolution": "AMAZON_PARTNERED_CARRIER", + "carrier": { + "name": "name", + "alphaCode": "USPS" + }, + "shippingMode": "GROUND_SMALL_PARCEL", + "quote": { + "cost": { + "code": "USD", + "amount": 500.0 + }, + "voidableUntil": "2024-01-01T00:00:00.000Z", + "expiration": "2024-01-01T00:00:00.000Z" + }, + "carrierAppointment": { + "startTime": "2024-01-01T00:00Z", + "endTime": "2024-01-01T00:00Z" + }, + "preconditions": [ + "CONFIRMED_DELIVERY_WINDOW" + ] + }, + "requestedUpdates": { + "boxes": [ + { + "packageId": "pk1234abcd-1234-abcd-5678-1234abcd5678", + "weight": { + "unit": "KG", + "value": 5.5 + }, + "dimensions": { + "unitOfMeasurement": "CM", + "length": 3.0, + "width": 4.0, + "height": 5.0 + }, + "quantity": 1, + "items": [ + { + "msku": "msku", + "prepOwner": "AMAZON", + "labelOwner": "AMAZON", + "quantity": 2, + "expiration": "2024-01-01", + "manufacturingLotCode": "lotCode" + } + ], + "contentInformationSource": "BOX_CONTENT_PROVIDED" + } + ], + "items": [ + { + "msku": "msku", + "prepOwner": "AMAZON", + "labelOwner": "AMAZON", + "quantity": 2, + "expiration": "2024-01-01", + "manufacturingLotCode": "lotCode" + } + ] + } } } ] @@ -2056,7 +5304,13 @@ "request": { "parameters": { "inboundPlanId": { - "value": "wfbad4abcd-1234-abcd-5678-1234abcd5678" + "value": "bad234abcd-1234-abcd-5678-1234abcd5678" + }, + "shipmentId": { + "value": "sh1234abcd-1234-abcd-5678-1234abcd5678" + }, + "contentUpdatePreviewId": { + "value": "cu1234abcd-1234-abcd-5678-1234abcd5678" } } }, @@ -2064,7 +5318,7 @@ "errors": [ { "code": "BadRequest", - "message": "The inbound plan is not in a valid state to generate packing options." + "message": "The requested inbound plan does not exist." } ] } @@ -2082,8 +5336,8 @@ } } }, - "500": { - "description": "An unexpected condition occurred that prevented the server from fulfilling the request.", + "404": { + "description": "The resource specified does not exist.", "schema": { "$ref": "#/definitions/ErrorList" }, @@ -2091,11 +5345,15 @@ "x-amzn-RequestId": { "description": "Unique request reference identifier.", "type": "string" + }, + "x-amzn-RateLimit-Limit": { + "description": "Your rate limit (requests per second) for this operation.", + "type": "string" } } }, - "403": { - "description": "Indicates that access to the resource is forbidden. Possible reasons include Access Denied, Unauthorized, Expired Token, or Invalid Signature.", + "500": { + "description": "An unexpected condition occurred that prevented the server from fulfilling the request.", "schema": { "$ref": "#/definitions/ErrorList" }, @@ -2106,8 +5364,8 @@ } } }, - "404": { - "description": "The resource specified does not exist.", + "403": { + "description": "Indicates that access to the resource is forbidden. Possible reasons include Access Denied, Unauthorized, Expired Token, or Invalid Signature.", "schema": { "$ref": "#/definitions/ErrorList" }, @@ -2115,10 +5373,6 @@ "x-amzn-RequestId": { "description": "Unique request reference identifier.", "type": "string" - }, - "x-amzn-RateLimit-Limit": { - "description": "Your rate limit (requests per second) for this operation.", - "type": "string" } } }, @@ -2174,18 +5428,18 @@ "tags": [ "fbaInbound" ], - "description": "Generates available packing options for the inbound plan.\n\n**Usage Plan:**\n\n| Rate (requests per second) | Burst |\n| ---- | ---- |\n| 0.05 | 1 |\n\nThe `x-amzn-RateLimit-Limit` response header returns the usage plan rate limits that were applied to the requested operation, when available. The table above indicates the default rate and burst values for this operation. Selling partners whose business demands require higher throughput may see higher rate and burst values than those shown here. For more information, refer to [Usage Plans and Rate Limits in the Selling Partner API](https://developer-docs.amazon.com/sp-api/docs/usage-plans-and-rate-limits-in-the-sp-api).", - "operationId": "generatePackingOptions" + "description": "Retrieve a shipment content update preview which provides a summary of the requested shipment content changes along with the transportation cost implications of the change that can only be confirmed prior to the expiry date specified.\n\n**Usage Plan:**\n\n| Rate (requests per second) | Burst |\n| ---- | ---- |\n| 2 | 30 |\n\nThe `x-amzn-RateLimit-Limit` response header returns the usage plan rate limits that were applied to the requested operation, when available. The table above indicates the default rate and burst values for this operation. Selling partners whose business demands require higher throughput may see higher rate and burst values than those shown here. For more information, refer to [Usage Plans and Rate Limits in the Selling Partner API](https://developer-docs.amazon.com/sp-api/docs/usage-plans-and-rate-limits-in-the-sp-api). ", + "operationId": "getShipmentContentUpdatePreview" } }, - "/inbound/fba/2024-03-20/inboundPlans/{inboundPlanId}/packingOptions/{packingOptionId}/confirmation": { + "/inbound/fba/2024-03-20/inboundPlans/{inboundPlanId}/shipments/{shipmentId}/contentUpdatePreviews/{contentUpdatePreviewId}/confirmation": { "post": { "produces": [ "application/json" ], "parameters": [ { - "description": "Identifier to an inbound plan.", + "description": "Identifier of an inbound plan.", "in": "path", "maxLength": 38, "minLength": 38, @@ -2195,11 +5449,21 @@ "type": "string" }, { - "description": "Identifier to a packing option.", + "description": "Identifier of a shipment. A shipment contains the boxes and units being inbounded.", "in": "path", "maxLength": 38, "minLength": 38, - "name": "packingOptionId", + "name": "shipmentId", + "pattern": "^[a-zA-Z0-9-]*$", + "required": true, + "type": "string" + }, + { + "description": "Identifier of a content update preview.", + "in": "path", + "maxLength": 38, + "minLength": 38, + "name": "contentUpdatePreviewId", "pattern": "^[a-zA-Z0-9-]*$", "required": true, "type": "string" @@ -2207,9 +5471,9 @@ ], "responses": { "202": { - "description": "ConfirmPackingOption 202 response", + "description": "ConfirmShipmentContentUpdatePreview 202 response", "schema": { - "$ref": "#/definitions/ConfirmPackingOptionResponse" + "$ref": "#/definitions/ConfirmShipmentContentUpdatePreviewResponse" }, "x-amzn-api-sandbox": { "static": [ @@ -2219,8 +5483,11 @@ "inboundPlanId": { "value": "wf1234abcd-1234-abcd-5678-1234abcd5678" }, - "packingOptionId": { - "value": "po1234abcd-1234-abcd-5678-1234abcd5678" + "shipmentId": { + "value": "sh1234abcd-1234-abcd-5678-1234abcd5678" + }, + "contentUpdatePreviewId": { + "value": "cu1234abcd-1234-abcd-5678-1234abcd5678" } } }, @@ -2254,7 +5521,10 @@ "inboundPlanId": { "value": "wf1234abcd-1234-abcd-5678-1234abcd5678" }, - "packingOptionId": { + "shipmentId": { + "value": "sh1234abcd-1234-abcd-5678-1234abcd5678" + }, + "contentUpdatePreviewId": { "value": "bad234abcd-1234-abcd-5678-1234abcd5678" } } @@ -2263,7 +5533,7 @@ "errors": [ { "code": "BadRequest", - "message": "The requested packingOptionId does not exist for the given inbound plan." + "message": "The requested contentUpdatePreviewId does not exist for the given shipment." } ] } @@ -2281,8 +5551,8 @@ } } }, - "500": { - "description": "An unexpected condition occurred that prevented the server from fulfilling the request.", + "404": { + "description": "The resource specified does not exist.", "schema": { "$ref": "#/definitions/ErrorList" }, @@ -2290,11 +5560,15 @@ "x-amzn-RequestId": { "description": "Unique request reference identifier.", "type": "string" + }, + "x-amzn-RateLimit-Limit": { + "description": "Your rate limit (requests per second) for this operation.", + "type": "string" } } }, - "403": { - "description": "Indicates that access to the resource is forbidden. Possible reasons include Access Denied, Unauthorized, Expired Token, or Invalid Signature.", + "500": { + "description": "An unexpected condition occurred that prevented the server from fulfilling the request.", "schema": { "$ref": "#/definitions/ErrorList" }, @@ -2305,8 +5579,8 @@ } } }, - "404": { - "description": "The resource specified does not exist.", + "403": { + "description": "Indicates that access to the resource is forbidden. Possible reasons include Access Denied, Unauthorized, Expired Token, or Invalid Signature.", "schema": { "$ref": "#/definitions/ErrorList" }, @@ -2314,10 +5588,6 @@ "x-amzn-RequestId": { "description": "Unique request reference identifier.", "type": "string" - }, - "x-amzn-RateLimit-Limit": { - "description": "Your rate limit (requests per second) for this operation.", - "type": "string" } } }, @@ -2373,18 +5643,18 @@ "tags": [ "fbaInbound" ], - "description": "Confirms the packing option for an inbound plan.\n\n**Usage Plan:**\n\n| Rate (requests per second) | Burst |\n| ---- | ---- |\n| 0.05 | 1 |\n\nThe `x-amzn-RateLimit-Limit` response header returns the usage plan rate limits that were applied to the requested operation, when available. The table above indicates the default rate and burst values for this operation. Selling partners whose business demands require higher throughput may see higher rate and burst values than those shown here. For more information, refer to [Usage Plans and Rate Limits in the Selling Partner API](https://developer-docs.amazon.com/sp-api/docs/usage-plans-and-rate-limits-in-the-sp-api).", - "operationId": "confirmPackingOption" + "description": "Confirm a shipment content update preview and accept the changes in transportation cost.\n\n**Usage Plan:**\n\n| Rate (requests per second) | Burst |\n| ---- | ---- |\n| 2 | 30 |\n\nThe `x-amzn-RateLimit-Limit` response header returns the usage plan rate limits that were applied to the requested operation, when available. The table above indicates the default rate and burst values for this operation. Selling partners whose business demands require higher throughput may see higher rate and burst values than those shown here. For more information, refer to [Usage Plans and Rate Limits in the Selling Partner API](https://developer-docs.amazon.com/sp-api/docs/usage-plans-and-rate-limits-in-the-sp-api). ", + "operationId": "confirmShipmentContentUpdatePreview" } }, - "/inbound/fba/2024-03-20/inboundPlans/{inboundPlanId}/packingOptions/{packingOptionId}/packingGroups/{packingGroupId}/items": { + "/inbound/fba/2024-03-20/inboundPlans/{inboundPlanId}/shipments/{shipmentId}/deliveryChallanDocument": { "get": { "produces": [ "application/json" ], "parameters": [ { - "description": "Identifier to an inbound plan.", + "description": "Identifier of an inbound plan.", "in": "path", "maxLength": 38, "minLength": 38, @@ -2394,48 +5664,21 @@ "type": "string" }, { - "description": "Identifier to a packing option.", - "in": "path", - "maxLength": 38, - "minLength": 38, - "name": "packingOptionId", - "pattern": "^[a-zA-Z0-9-]*$", - "required": true, - "type": "string" - }, - { - "description": "Identifier to a packing group.", + "description": "Identifier of a shipment. A shipment contains the boxes and units being inbounded.", "in": "path", "maxLength": 38, "minLength": 38, - "name": "packingGroupId", + "name": "shipmentId", "pattern": "^[a-zA-Z0-9-]*$", "required": true, "type": "string" - }, - { - "description": "The number of packing group items to return in the response matching the given query.", - "in": "query", - "maximum": 100, - "minimum": 1, - "name": "pageSize", - "type": "integer", - "default": 10 - }, - { - "description": "A token to fetch a certain page when there are multiple pages worth of results. The value of this token is fetched from the `pagination` returned in the API response. In the absence of the token value from the query parameter the API returns the first page of the result.", - "in": "query", - "maxLength": 1024, - "minLength": 0, - "name": "paginationToken", - "type": "string" } ], "responses": { "200": { - "description": "ListPackingGroupItems 200 response", + "description": "GetDeliveryChallanDocument 200 response", "schema": { - "$ref": "#/definitions/ListPackingGroupItemsResponse" + "$ref": "#/definitions/GetDeliveryChallanDocumentResponse" }, "x-amzn-api-sandbox": { "static": [ @@ -2445,42 +5688,16 @@ "inboundPlanId": { "value": "wf1234abcd-1234-abcd-5678-1234abcd5678" }, - "packingOptionId": { - "value": "po1234abcd-1234-abcd-5678-1234abcd5678" - }, - "packingGroupId": { - "value": "pg1234abcd-1234-abcd-5678-1234abcd5678" - }, - "pageSize": { - "value": 2 - }, - "paginationToken": { - "value": "paginationToken" + "shipmentId": { + "value": "sh1234abcd-1234-abcd-5678-1234abcd5678" } } }, "response": { - "items": [ - { - "quantity": 5, - "prepInstructions": [ - { - "prepType": "ITEM_POLYBAGGING", - "prepOwner": "AMAZON", - "fee": { - "code": "USD", - "amount": 10.0 - } - } - ], - "msku": "msku", - "asin": "asin", - "fnsku": "fnsku", - "labelOwner": "AMAZON" - } - ], - "pagination": { - "nextToken": "nextPaginationToken" + "documentDownload": { + "uri": "https://s3.amazonaws.com/bucket", + "downloadType": "URL", + "expiration": "2024-01-01T00:00:00.000Z" } } } @@ -2510,17 +5727,8 @@ "inboundPlanId": { "value": "wf1234abcd-1234-abcd-5678-1234abcd5678" }, - "packingOptionId": { + "shipmentId": { "value": "bad234abcd-1234-abcd-5678-1234abcd5678" - }, - "packingGroupId": { - "value": "pg1234abcd-1234-abcd-5678-1234abcd5678" - }, - "pageSize": { - "value": 2 - }, - "paginationToken": { - "value": "paginationToken" } } }, @@ -2528,7 +5736,7 @@ "errors": [ { "code": "BadRequest", - "message": "The requested packingOptionId does not exist for the specified inbound plan." + "message": "The requested shipmentId does not exist for the specified inbound plan." } ] } @@ -2546,8 +5754,8 @@ } } }, - "500": { - "description": "An unexpected condition occurred that prevented the server from fulfilling the request.", + "404": { + "description": "The resource specified does not exist.", "schema": { "$ref": "#/definitions/ErrorList" }, @@ -2555,11 +5763,15 @@ "x-amzn-RequestId": { "description": "Unique request reference identifier.", "type": "string" + }, + "x-amzn-RateLimit-Limit": { + "description": "Your rate limit (requests per second) for this operation.", + "type": "string" } } }, - "403": { - "description": "Indicates that access to the resource is forbidden. Possible reasons include Access Denied, Unauthorized, Expired Token, or Invalid Signature.", + "500": { + "description": "An unexpected condition occurred that prevented the server from fulfilling the request.", "schema": { "$ref": "#/definitions/ErrorList" }, @@ -2570,8 +5782,8 @@ } } }, - "404": { - "description": "The resource specified does not exist.", + "403": { + "description": "Indicates that access to the resource is forbidden. Possible reasons include Access Denied, Unauthorized, Expired Token, or Invalid Signature.", "schema": { "$ref": "#/definitions/ErrorList" }, @@ -2579,10 +5791,6 @@ "x-amzn-RequestId": { "description": "Unique request reference identifier.", "type": "string" - }, - "x-amzn-RateLimit-Limit": { - "description": "Your rate limit (requests per second) for this operation.", - "type": "string" } } }, @@ -2638,18 +5846,18 @@ "tags": [ "fbaInbound" ], - "description": "Retrieves a list of all items in a packing options's packing group. Packing options must first be generated by the corresponding endpoint before packing group items can be listed.\n\n**Usage Plan:**\n\n| Rate (requests per second) | Burst |\n| ---- | ---- |\n| 1 | 1 |\n\nThe `x-amzn-RateLimit-Limit` response header returns the usage plan rate limits that were applied to the requested operation, when available. The table above indicates the default rate and burst values for this operation. Selling partners whose business demands require higher throughput may see higher rate and burst values than those shown here. For more information, refer to [Usage Plans and Rate Limits in the Selling Partner API](https://developer-docs.amazon.com/sp-api/docs/usage-plans-and-rate-limits-in-the-sp-api).", - "operationId": "listPackingGroupItems" + "description": "Provide delivery challan document for PCP transportation in IN marketplace.\n\n**Usage Plan:**\n\n| Rate (requests per second) | Burst |\n| ---- | ---- |\n| 2 | 6 |\n\nThe `x-amzn-RateLimit-Limit` response header returns the usage plan rate limits that were applied to the requested operation, when available. The table above indicates the default rate and burst values for this operation. Selling partners whose business demands require higher throughput may see higher rate and burst values than those shown here. For more information, refer to [Usage Plans and Rate Limits in the Selling Partner API](https://developer-docs.amazon.com/sp-api/docs/usage-plans-and-rate-limits-in-the-sp-api). ", + "operationId": "getDeliveryChallanDocument" } }, - "/inbound/fba/2024-03-20/inboundPlans/{inboundPlanId}/pallets": { + "/inbound/fba/2024-03-20/inboundPlans/{inboundPlanId}/shipments/{shipmentId}/deliveryWindowOptions": { "get": { "produces": [ "application/json" ], "parameters": [ { - "description": "Identifier to an inbound plan.", + "description": "Identifier of an inbound plan.", "in": "path", "maxLength": 38, "minLength": 38, @@ -2659,9 +5867,19 @@ "type": "string" }, { - "description": "The number of pallets to return in the response matching the given query.", + "description": "The shipment to get delivery window options for.", + "in": "path", + "maxLength": 38, + "minLength": 38, + "name": "shipmentId", + "pattern": "^[a-zA-Z0-9-]*$", + "required": true, + "type": "string" + }, + { + "description": "The number of delivery window options to return in the response matching the given query.", "in": "query", - "maximum": 1000, + "maximum": 100, "minimum": 1, "name": "pageSize", "type": "integer", @@ -2678,9 +5896,9 @@ ], "responses": { "200": { - "description": "ListInboundPlanPallets 200 response", + "description": "ListDeliveryWindowOptions 200 response", "schema": { - "$ref": "#/definitions/ListInboundPlanPalletsResponse" + "$ref": "#/definitions/ListDeliveryWindowOptionsResponse" }, "x-amzn-api-sandbox": { "static": [ @@ -2690,6 +5908,9 @@ "inboundPlanId": { "value": "wf1234abcd-1234-abcd-5678-1234abcd5678" }, + "shipmentId": { + "value": "sh1234abcd-1234-abcd-5678-1234abcd5678" + }, "pageSize": { "value": 2 }, @@ -2699,21 +5920,13 @@ } }, "response": { - "pallets": [ + "deliveryWindowOptions": [ { - "stackability": "STACKABLE", - "packageId": "pk1234abcd-1234-abcd-5678-1234abcd5678", - "weight": { - "unit": "KG", - "value": 5.5 - }, - "dimensions": { - "unitOfMeasurement": "CM", - "length": 3.0, - "width": 4.0, - "height": 5.0 - }, - "quantity": 2 + "deliveryWindowOptionId": "dw1234abcd-1234-abcd-5678-1234abcd5678", + "startDate": "2024-01-01T00:00:00.000Z", + "endDate": "2024-01-01T06:00:00.000Z", + "availabilityType": "AVAILABLE", + "validUntil": "2024-01-01T06:00:00.000Z" } ], "pagination": { @@ -2745,6 +5958,9 @@ "request": { "parameters": { "inboundPlanId": { + "value": "wf1234abcd-1234-abcd-5678-1234abcd5678" + }, + "shipmentId": { "value": "bad234abcd-1234-abcd-5678-1234abcd5678" }, "pageSize": { @@ -2759,7 +5975,7 @@ "errors": [ { "code": "BadRequest", - "message": "The requested inbound plan does not exist." + "message": "The requested shipmentId does not exist for the specified inbound plan." } ] } @@ -2777,8 +5993,8 @@ } } }, - "500": { - "description": "An unexpected condition occurred that prevented the server from fulfilling the request.", + "404": { + "description": "The resource specified does not exist.", "schema": { "$ref": "#/definitions/ErrorList" }, @@ -2786,11 +6002,15 @@ "x-amzn-RequestId": { "description": "Unique request reference identifier.", "type": "string" + }, + "x-amzn-RateLimit-Limit": { + "description": "Your rate limit (requests per second) for this operation.", + "type": "string" } } }, - "403": { - "description": "Indicates that access to the resource is forbidden. Possible reasons include Access Denied, Unauthorized, Expired Token, or Invalid Signature.", + "500": { + "description": "An unexpected condition occurred that prevented the server from fulfilling the request.", "schema": { "$ref": "#/definitions/ErrorList" }, @@ -2801,8 +6021,8 @@ } } }, - "404": { - "description": "The resource specified does not exist.", + "403": { + "description": "Indicates that access to the resource is forbidden. Possible reasons include Access Denied, Unauthorized, Expired Token, or Invalid Signature.", "schema": { "$ref": "#/definitions/ErrorList" }, @@ -2810,10 +6030,6 @@ "x-amzn-RequestId": { "description": "Unique request reference identifier.", "type": "string" - }, - "x-amzn-RateLimit-Limit": { - "description": "Your rate limit (requests per second) for this operation.", - "type": "string" } } }, @@ -2869,102 +6085,56 @@ "tags": [ "fbaInbound" ], - "description": "Provides a paginated list of pallet packages in an inbound plan. An inbound plan will have pallets when the related details are provided after generating Less-Than-Truckload (LTL) carrier shipments.\n\n**Usage Plan:**\n\n| Rate (requests per second) | Burst |\n| ---- | ---- |\n| 1 | 1 |\n\nThe `x-amzn-RateLimit-Limit` response header returns the usage plan rate limits that were applied to the requested operation, when available. The table above indicates the default rate and burst values for this operation. Selling partners whose business demands require higher throughput may see higher rate and burst values than those shown here. For more information, refer to [Usage Plans and Rate Limits in the Selling Partner API](https://developer-docs.amazon.com/sp-api/docs/usage-plans-and-rate-limits-in-the-sp-api).", - "operationId": "listInboundPlanPallets" - } - }, - "/inbound/fba/2024-03-20/inboundPlans/{inboundPlanId}/placementOptions": { - "get": { + "description": "Retrieves all delivery window options for a shipment. Delivery window options must first be generated by the `generateDeliveryWindowOptions` operation before becoming available.\n\n**Usage Plan:**\n\n| Rate (requests per second) | Burst |\n| ---- | ---- |\n| 2 | 30 |\n\nThe `x-amzn-RateLimit-Limit` response header returns the usage plan rate limits that were applied to the requested operation, when available. The table above indicates the default rate and burst values for this operation. Selling partners whose business demands require higher throughput may see higher rate and burst values than those shown here. For more information, refer to [Usage Plans and Rate Limits in the Selling Partner API](https://developer-docs.amazon.com/sp-api/docs/usage-plans-and-rate-limits-in-the-sp-api). ", + "operationId": "listDeliveryWindowOptions" + }, + "post": { "produces": [ "application/json" ], "parameters": [ { - "description": "Identifier to an inbound plan.", + "description": "Identifier of an inbound plan.", "in": "path", "maxLength": 38, "minLength": 38, "name": "inboundPlanId", "pattern": "^[a-zA-Z0-9-]*$", "required": true, - "type": "string" - }, - { - "description": "The number of placement options to return in the response matching the given query.", - "in": "query", - "maximum": 20, - "minimum": 1, - "name": "pageSize", - "type": "integer", - "default": 10 - }, - { - "description": "A token to fetch a certain page when there are multiple pages worth of results. The value of this token is fetched from the `pagination` returned in the API response. In the absence of the token value from the query parameter the API returns the first page of the result.", - "in": "query", - "maxLength": 1024, - "minLength": 0, - "name": "paginationToken", - "type": "string" - } - ], - "responses": { - "200": { - "description": "ListPlacementOptions 200 response", - "schema": { - "$ref": "#/definitions/ListPlacementOptionsResponse" - }, - "x-amzn-api-sandbox": { - "static": [ - { - "request": { - "parameters": { - "inboundPlanId": { - "value": "wf1234abcd-1234-abcd-5678-1234abcd5678" - }, - "pageSize": { - "value": 2 - }, - "paginationToken": { - "value": "paginationToken" - } - } - }, - "response": { - "placementOptions": [ - { - "placementOptionId": "pl1234abcd-1234-abcd-5678-1234abcd5678", - "status": "OFFERED", - "fees": [ - { - "value": { - "code": "USD", - "amount": 1.0 - }, - "type": "FEE", - "target": "Placement Services", - "description": "description" - } - ], - "discounts": [ - { - "value": { - "code": "USD", - "amount": 1.0 - }, - "type": "DISCOUNT", - "target": "Placement Services", - "description": "description" - } - ], - "expiration": "2024-01-01T00:00:00.000Z", - "shipmentIds": [ - "sh1234abcd-1234-abcd-5678-1234abcd5678" - ] + "type": "string" + }, + { + "description": "The shipment to generate delivery window options for.", + "in": "path", + "maxLength": 38, + "minLength": 38, + "name": "shipmentId", + "pattern": "^[a-zA-Z0-9-]*$", + "required": true, + "type": "string" + } + ], + "responses": { + "202": { + "description": "GenerateDeliveryWindowOptions 202 response", + "schema": { + "$ref": "#/definitions/GenerateDeliveryWindowOptionsResponse" + }, + "x-amzn-api-sandbox": { + "static": [ + { + "request": { + "parameters": { + "inboundPlanId": { + "value": "wf1234abcd-1234-abcd-5678-1234abcd5678" + }, + "shipmentId": { + "value": "sh1234abcd-1234-abcd-5678-1234abcd5678" } - ], - "pagination": { - "nextToken": "nextPaginationToken" } + }, + "response": { + "operationId": "1234abcd-1234-abcd-5678-1234abcd5678" } } ] @@ -2991,13 +6161,10 @@ "request": { "parameters": { "inboundPlanId": { - "value": "bad234abcd-1234-abcd-5678-1234abcd5678" - }, - "pageSize": { - "value": 2 + "value": "wf1234abcd-1234-abcd-5678-1234abcd5678" }, - "paginationToken": { - "value": "paginationToken" + "shipmentId": { + "value": "bad234abcd-1234-abcd-5678-1234abcd5678" } } }, @@ -3005,7 +6172,7 @@ "errors": [ { "code": "BadRequest", - "message": "The requested inbound plan does not exist." + "message": "The provided shipmentId is not valid for the specified inbound plan." } ] } @@ -3023,8 +6190,8 @@ } } }, - "500": { - "description": "An unexpected condition occurred that prevented the server from fulfilling the request.", + "404": { + "description": "The resource specified does not exist.", "schema": { "$ref": "#/definitions/ErrorList" }, @@ -3032,11 +6199,15 @@ "x-amzn-RequestId": { "description": "Unique request reference identifier.", "type": "string" + }, + "x-amzn-RateLimit-Limit": { + "description": "Your rate limit (requests per second) for this operation.", + "type": "string" } } }, - "403": { - "description": "Indicates that access to the resource is forbidden. Possible reasons include Access Denied, Unauthorized, Expired Token, or Invalid Signature.", + "500": { + "description": "An unexpected condition occurred that prevented the server from fulfilling the request.", "schema": { "$ref": "#/definitions/ErrorList" }, @@ -3047,8 +6218,8 @@ } } }, - "404": { - "description": "The resource specified does not exist.", + "403": { + "description": "Indicates that access to the resource is forbidden. Possible reasons include Access Denied, Unauthorized, Expired Token, or Invalid Signature.", "schema": { "$ref": "#/definitions/ErrorList" }, @@ -3056,10 +6227,6 @@ "x-amzn-RequestId": { "description": "Unique request reference identifier.", "type": "string" - }, - "x-amzn-RateLimit-Limit": { - "description": "Your rate limit (requests per second) for this operation.", - "type": "string" } } }, @@ -3115,19 +6282,18 @@ "tags": [ "fbaInbound" ], - "description": "Provides a list of all placement options for an inbound plan. Placement options must first be generated by the corresponding endpoint before becoming available.\n\n**Usage Plan:**\n\n| Rate (requests per second) | Burst |\n| ---- | ---- |\n| 1 | 1 |\n\nThe `x-amzn-RateLimit-Limit` response header returns the usage plan rate limits that were applied to the requested operation, when available. The table above indicates the default rate and burst values for this operation. Selling partners whose business demands require higher throughput may see higher rate and burst values than those shown here. For more information, refer to [Usage Plans and Rate Limits in the Selling Partner API](https://developer-docs.amazon.com/sp-api/docs/usage-plans-and-rate-limits-in-the-sp-api).", - "operationId": "listPlacementOptions" - }, + "description": "Generates available delivery window options for a given shipment.\n\n**Usage Plan:**\n\n| Rate (requests per second) | Burst |\n| ---- | ---- |\n| 2 | 30 |\n\nThe `x-amzn-RateLimit-Limit` response header returns the usage plan rate limits that were applied to the requested operation, when available. The table above indicates the default rate and burst values for this operation. Selling partners whose business demands require higher throughput may see higher rate and burst values than those shown here. For more information, refer to [Usage Plans and Rate Limits in the Selling Partner API](https://developer-docs.amazon.com/sp-api/docs/usage-plans-and-rate-limits-in-the-sp-api). ", + "operationId": "generateDeliveryWindowOptions" + } + }, + "/inbound/fba/2024-03-20/inboundPlans/{inboundPlanId}/shipments/{shipmentId}/deliveryWindowOptions/{deliveryWindowOptionId}/confirmation": { "post": { - "consumes": [ - "application/json" - ], "produces": [ "application/json" ], "parameters": [ { - "description": "Identifier to an inbound plan.", + "description": "Identifier of an inbound plan.", "in": "path", "maxLength": 38, "minLength": 38, @@ -3137,20 +6303,31 @@ "type": "string" }, { - "in": "body", - "name": "body", + "description": "The shipment to confirm the delivery window option for.", + "in": "path", + "maxLength": 38, + "minLength": 38, + "name": "shipmentId", + "pattern": "^[a-zA-Z0-9-]*$", "required": true, - "schema": { - "$ref": "#/definitions/GeneratePlacementOptionsRequest" - }, - "description": "The body of the request to `generatePlacementOptions`." + "type": "string" + }, + { + "description": "The id of the delivery window option to be confirmed.", + "in": "path", + "maxLength": 38, + "minLength": 36, + "name": "deliveryWindowOptionId", + "pattern": "^[a-zA-Z0-9-]*$", + "required": true, + "type": "string" } ], "responses": { "202": { - "description": "GeneratePlacementOptions 202 response", + "description": "ConfirmDeliveryWindowOptions 202 response", "schema": { - "$ref": "#/definitions/GeneratePlacementOptionsResponse" + "$ref": "#/definitions/ConfirmDeliveryWindowOptionsResponse" }, "x-amzn-api-sandbox": { "static": [ @@ -3160,24 +6337,11 @@ "inboundPlanId": { "value": "wf1234abcd-1234-abcd-5678-1234abcd5678" }, - "body": { - "value": { - "customPlacement": [ - { - "warehouseId": "warehouseId", - "items": [ - { - "msku": "msku", - "prepOwner": "AMAZON", - "labelOwner": "AMAZON", - "quantity": 2, - "expiration": "2024-01-01", - "manufacturingLotCode": "lotCode" - } - ] - } - ] - } + "shipmentId": { + "value": "sh1234abcd-1234-abcd-5678-1234abcd5678" + }, + "deliveryWindowOptionId": { + "value": "dw1234abcd-1234-abcd-5678-1234abcd5678" } } }, @@ -3211,24 +6375,11 @@ "inboundPlanId": { "value": "wf1234abcd-1234-abcd-5678-1234abcd5678" }, - "body": { - "value": { - "customPlacement": [ - { - "warehouseId": "badWarehouseId", - "items": [ - { - "msku": "msku", - "prepOwner": "AMAZON", - "labelOwner": "AMAZON", - "quantity": 2, - "expiration": "2024-01-01", - "manufacturingLotCode": "lotCode" - } - ] - } - ] - } + "shipmentId": { + "value": "bad234abcd-1234-abcd-5678-1234abcd5678" + }, + "deliveryWindowOptionId": { + "value": "dw1234abcd-1234-abcd-5678-1234abcd5678" } } }, @@ -3236,7 +6387,7 @@ "errors": [ { "code": "BadRequest", - "message": "The inbound plan is not in a valid state to generate placement options." + "message": "The requested shipmentId does not exist under the associated inbound plan." } ] } @@ -3254,8 +6405,8 @@ } } }, - "500": { - "description": "An unexpected condition occurred that prevented the server from fulfilling the request.", + "404": { + "description": "The resource specified does not exist.", "schema": { "$ref": "#/definitions/ErrorList" }, @@ -3263,11 +6414,15 @@ "x-amzn-RequestId": { "description": "Unique request reference identifier.", "type": "string" + }, + "x-amzn-RateLimit-Limit": { + "description": "Your rate limit (requests per second) for this operation.", + "type": "string" } } }, - "403": { - "description": "Indicates that access to the resource is forbidden. Possible reasons include Access Denied, Unauthorized, Expired Token, or Invalid Signature.", + "500": { + "description": "An unexpected condition occurred that prevented the server from fulfilling the request.", "schema": { "$ref": "#/definitions/ErrorList" }, @@ -3278,8 +6433,8 @@ } } }, - "404": { - "description": "The resource specified does not exist.", + "403": { + "description": "Indicates that access to the resource is forbidden. Possible reasons include Access Denied, Unauthorized, Expired Token, or Invalid Signature.", "schema": { "$ref": "#/definitions/ErrorList" }, @@ -3287,10 +6442,6 @@ "x-amzn-RequestId": { "description": "Unique request reference identifier.", "type": "string" - }, - "x-amzn-RateLimit-Limit": { - "description": "Your rate limit (requests per second) for this operation.", - "type": "string" } } }, @@ -3346,18 +6497,18 @@ "tags": [ "fbaInbound" ], - "description": "Generates placement options for the inbound plan.\n\n**Usage Plan:**\n\n| Rate (requests per second) | Burst |\n| ---- | ---- |\n| 0.05 | 1 |\n\nThe `x-amzn-RateLimit-Limit` response header returns the usage plan rate limits that were applied to the requested operation, when available. The table above indicates the default rate and burst values for this operation. Selling partners whose business demands require higher throughput may see higher rate and burst values than those shown here. For more information, refer to [Usage Plans and Rate Limits in the Selling Partner API](https://developer-docs.amazon.com/sp-api/docs/usage-plans-and-rate-limits-in-the-sp-api).", - "operationId": "generatePlacementOptions" + "description": "Confirms the delivery window option for chosen shipment within an inbound plan. A placement option must be confirmed prior to use of this API. Once confirmed, new delivery window options cannot be generated, but the chosen delivery window option can be updated before shipment closure. The window is used to provide the expected time when a shipment will arrive at the warehouse. All transportation options which have the program `CONFIRMED_DELIVERY_WINDOW` require a delivery window to be confirmed prior to transportation option confirmation.\n\n**Usage Plan:**\n\n| Rate (requests per second) | Burst |\n| ---- | ---- |\n| 2 | 30 |\n\nThe `x-amzn-RateLimit-Limit` response header returns the usage plan rate limits that were applied to the requested operation, when available. The table above indicates the default rate and burst values for this operation. Selling partners whose business demands require higher throughput may see higher rate and burst values than those shown here. For more information, refer to [Usage Plans and Rate Limits in the Selling Partner API](https://developer-docs.amazon.com/sp-api/docs/usage-plans-and-rate-limits-in-the-sp-api). ", + "operationId": "confirmDeliveryWindowOptions" } }, - "/inbound/fba/2024-03-20/inboundPlans/{inboundPlanId}/placementOptions/{placementOptionId}/confirmation": { - "post": { + "/inbound/fba/2024-03-20/inboundPlans/{inboundPlanId}/shipments/{shipmentId}/items": { + "get": { "produces": [ "application/json" ], "parameters": [ { - "description": "Identifier to an inbound plan.", + "description": "Identifier of an inbound plan.", "in": "path", "maxLength": 38, "minLength": 38, @@ -3367,21 +6518,38 @@ "type": "string" }, { - "description": "Identifier to a placement option. A placement option represents the shipment splits and destinations of SKUs.", + "description": "Identifier of a shipment. A shipment contains the boxes and units being inbounded.", "in": "path", "maxLength": 38, "minLength": 38, - "name": "placementOptionId", + "name": "shipmentId", "pattern": "^[a-zA-Z0-9-]*$", "required": true, "type": "string" + }, + { + "description": "The number of items to return in the response matching the given query.", + "in": "query", + "maximum": 1000, + "minimum": 1, + "name": "pageSize", + "type": "integer", + "default": 10 + }, + { + "description": "A token to fetch a certain page when there are multiple pages worth of results. The value of this token is fetched from the `pagination` returned in the API response. In the absence of the token value from the query parameter the API returns the first page of the result.", + "in": "query", + "maxLength": 1024, + "minLength": 0, + "name": "paginationToken", + "type": "string" } ], "responses": { - "202": { - "description": "ConfirmPlacementOption 202 response", + "200": { + "description": "ListShipmentItems 200 response", "schema": { - "$ref": "#/definitions/ConfirmPlacementOptionResponse" + "$ref": "#/definitions/ListShipmentItemsResponse" }, "x-amzn-api-sandbox": { "static": [ @@ -3391,13 +6559,42 @@ "inboundPlanId": { "value": "wf1234abcd-1234-abcd-5678-1234abcd5678" }, - "placementOptionId": { - "value": "pl1234abcd-1234-abcd-5678-1234abcd5678" + "shipmentId": { + "value": "sh1234abcd-1234-abcd-5678-1234abcd5678" + }, + "pageSize": { + "value": 2 + }, + "paginationToken": { + "value": "paginationToken" } } }, "response": { - "operationId": "1234abcd-1234-abcd-5678-1234abcd5678" + "items": [ + { + "quantity": 5, + "expiration": "2024-01-01", + "manufacturingLotCode": "manufacturingLotCode", + "prepInstructions": [ + { + "prepType": "ITEM_POLYBAGGING", + "prepOwner": "AMAZON", + "fee": { + "code": "USD", + "amount": 10.0 + } + } + ], + "msku": "msku", + "asin": "asin", + "fnsku": "fnsku", + "labelOwner": "AMAZON" + } + ], + "pagination": { + "nextToken": "nextPaginationToken" + } } } ] @@ -3424,10 +6621,16 @@ "request": { "parameters": { "inboundPlanId": { - "value": "wf1234abcd-1234-abcd-5678-1234abcd5678" + "value": "wfbad4abcd-1234-abcd-5678-1234abcd5678" }, - "placementOptionId": { - "value": "bad234abcd-1234-abcd-5678-1234abcd5678" + "shipmentId": { + "value": "sh1234abcd-1234-abcd-5678-1234abcd5678" + }, + "pageSize": { + "value": 1 + }, + "paginationToken": { + "value": "" } } }, @@ -3435,7 +6638,7 @@ "errors": [ { "code": "BadRequest", - "message": "The requested placementOptionId does not exist for the given inbound plan." + "message": "The requested inbound plan does not exist." } ] } @@ -3453,8 +6656,8 @@ } } }, - "500": { - "description": "An unexpected condition occurred that prevented the server from fulfilling the request.", + "404": { + "description": "The resource specified does not exist.", "schema": { "$ref": "#/definitions/ErrorList" }, @@ -3462,11 +6665,15 @@ "x-amzn-RequestId": { "description": "Unique request reference identifier.", "type": "string" + }, + "x-amzn-RateLimit-Limit": { + "description": "Your rate limit (requests per second) for this operation.", + "type": "string" } } }, - "403": { - "description": "Indicates that access to the resource is forbidden. Possible reasons include Access Denied, Unauthorized, Expired Token, or Invalid Signature.", + "500": { + "description": "An unexpected condition occurred that prevented the server from fulfilling the request.", "schema": { "$ref": "#/definitions/ErrorList" }, @@ -3477,8 +6684,8 @@ } } }, - "404": { - "description": "The resource specified does not exist.", + "403": { + "description": "Indicates that access to the resource is forbidden. Possible reasons include Access Denied, Unauthorized, Expired Token, or Invalid Signature.", "schema": { "$ref": "#/definitions/ErrorList" }, @@ -3486,10 +6693,6 @@ "x-amzn-RequestId": { "description": "Unique request reference identifier.", "type": "string" - }, - "x-amzn-RateLimit-Limit": { - "description": "Your rate limit (requests per second) for this operation.", - "type": "string" } } }, @@ -3545,18 +6748,21 @@ "tags": [ "fbaInbound" ], - "description": "Confirms the placement option for an inbound plan. Once confirmed, it cannot be changed for the Inbound Plan.\n\n**Usage Plan:**\n\n| Rate (requests per second) | Burst |\n| ---- | ---- |\n| 0.05 | 1 |\n\nThe `x-amzn-RateLimit-Limit` response header returns the usage plan rate limits that were applied to the requested operation, when available. The table above indicates the default rate and burst values for this operation. Selling partners whose business demands require higher throughput may see higher rate and burst values than those shown here. For more information, refer to [Usage Plans and Rate Limits in the Selling Partner API](https://developer-docs.amazon.com/sp-api/docs/usage-plans-and-rate-limits-in-the-sp-api).", - "operationId": "confirmPlacementOption" + "description": "Provides a paginated list of item packages in a shipment.\n\n**Usage Plan:**\n\n| Rate (requests per second) | Burst |\n| ---- | ---- |\n| 2 | 30 |\n\nThe `x-amzn-RateLimit-Limit` response header returns the usage plan rate limits that were applied to the requested operation, when available. The table above indicates the default rate and burst values for this operation. Selling partners whose business demands require higher throughput may see higher rate and burst values than those shown here. For more information, refer to [Usage Plans and Rate Limits in the Selling Partner API](https://developer-docs.amazon.com/sp-api/docs/usage-plans-and-rate-limits-in-the-sp-api). ", + "operationId": "listShipmentItems" } }, - "/inbound/fba/2024-03-20/inboundPlans/{inboundPlanId}/shipments/{shipmentId}": { - "get": { + "/inbound/fba/2024-03-20/inboundPlans/{inboundPlanId}/shipments/{shipmentId}/name": { + "put": { + "consumes": [ + "application/json" + ], "produces": [ "application/json" ], "parameters": [ { - "description": "Identifier to an inbound plan.", + "description": "Identifier of an inbound plan.", "in": "path", "maxLength": 38, "minLength": 38, @@ -3566,7 +6772,7 @@ "type": "string" }, { - "description": "Identifier to a shipment. A shipment contains the boxes and units being inbounded.", + "description": "Identifier of a shipment. A shipment contains the boxes and units being inbounded.", "in": "path", "maxLength": 38, "minLength": 38, @@ -3574,14 +6780,20 @@ "pattern": "^[a-zA-Z0-9-]*$", "required": true, "type": "string" + }, + { + "in": "body", + "name": "body", + "required": true, + "schema": { + "$ref": "#/definitions/UpdateShipmentNameRequest" + }, + "description": "The body of the request to `updateShipmentName`." } ], "responses": { - "200": { - "description": "GetShipment 200 response", - "schema": { - "$ref": "#/definitions/Shipment" - }, + "204": { + "description": "UpdateShipmentName 204 response", "x-amzn-api-sandbox": { "static": [ { @@ -3592,103 +6804,13 @@ }, "shipmentId": { "value": "sh1234abcd-1234-abcd-5678-1234abcd5678" - } - } - }, - "response": { - "inboundPlanId": "wf1234abcd-1234-abcd-5678-1234abcd5678", - "placementOptionId": "pl1234abcd-1234-abcd-5678-1234abcd5678", - "shipmentId": "sh1234abcd-1234-abcd-5678-1234abcd5678", - "shipmentConfirmationId": "FBA1234ABCD", - "amazonReferenceId": "amazonReferenceId", - "selectedTransportationOptionId": "to1234abcd-1234-abcd-5678-1234abcd5678", - "name": "FBA (10/02/2023 20:07)-ABC1", - "source": { - "sourceType": "SELLER_FACILITY", - "address": { - "name": "name", - "addressLine1": "123 example street", - "city": "Toronto", - "countryCode": "CA", - "stateOrProvinceCode": "ON", - "postalCode": "M1M1M1" - } - }, - "destination": { - "destinationType": "AMAZON_WAREHOUSE", - "address": { - "name": "name", - "addressLine1": "124 example street", - "city": "Toronto", - "countryCode": "CA", - "stateOrProvinceCode": "ON", - "postalCode": "M1M1M1" - }, - "warehouseId": "YYZ5" - }, - "dates": { - "deliveryWindow": { - "start": "2024-01-01T00:00Z", - "end": "2024-01-08T00:00Z", - "editableUntil": "2024-01-07T00:00Z" - } - }, - "status": "WORKING", - "trackingDetails": { - "spdTrackingDetail": { - "spdTrackingItems": [ - { - "boxId": "boxId", - "trackingId": "trackingId", - "trackingNumberValidationStatus": "VALIDATED" - } - ] }, - "ltlTrackingDetail": { - "freightBillNumber": [ - "freightBillNumber1" - ], - "billOfLadingNumber": "billOfLadingNumber" - } - }, - "palletInformation": { - "pallets": [ - { - "stackability": "STACKABLE", - "weight": { - "unit": "KG", - "value": 5.5 - }, - "dimensions": { - "unitOfMeasurement": "CM", - "length": 3.0, - "width": 4.0, - "height": 5.0 - }, - "quantity": 2 + "body": { + "value": { + "name": "updatedShipmentName" } - ], - "freightClass": "FC_50", - "declaredValue": { - "code": "USD", - "amount": 500.0 - } - }, - "contactInformation": { - "name": "name", - "phoneNumber": "1234567890", - "email": "email@email.com" - }, - "selfShipAppointmentDetails": [ - { - "appointmentId": 1, - "appointmentSlotTime": { - "startTime": "2024-01-01T00:00:00.000Z", - "endTime": "2024-01-01T00:00:00.000Z" - }, - "appointmentStatus": "appointmentStatus" } - ] + } } } ] @@ -3719,6 +6841,11 @@ }, "shipmentId": { "value": "bad234abcd-1234-abcd-5678-1234abcd5678" + }, + "body": { + "value": { + "name": "updatedShipmentName" + } } } }, @@ -3726,7 +6853,7 @@ "errors": [ { "code": "BadRequest", - "message": "The requested shipment does not exist for the provided inbound plan." + "message": "The requested shipmentId does not exist for the specified inbound plan." } ] } @@ -3744,8 +6871,8 @@ } } }, - "500": { - "description": "An unexpected condition occurred that prevented the server from fulfilling the request.", + "404": { + "description": "The resource specified does not exist.", "schema": { "$ref": "#/definitions/ErrorList" }, @@ -3753,11 +6880,15 @@ "x-amzn-RequestId": { "description": "Unique request reference identifier.", "type": "string" + }, + "x-amzn-RateLimit-Limit": { + "description": "Your rate limit (requests per second) for this operation.", + "type": "string" } } }, - "403": { - "description": "Indicates that access to the resource is forbidden. Possible reasons include Access Denied, Unauthorized, Expired Token, or Invalid Signature.", + "500": { + "description": "An unexpected condition occurred that prevented the server from fulfilling the request.", "schema": { "$ref": "#/definitions/ErrorList" }, @@ -3768,8 +6899,8 @@ } } }, - "404": { - "description": "The resource specified does not exist.", + "403": { + "description": "Indicates that access to the resource is forbidden. Possible reasons include Access Denied, Unauthorized, Expired Token, or Invalid Signature.", "schema": { "$ref": "#/definitions/ErrorList" }, @@ -3777,10 +6908,6 @@ "x-amzn-RequestId": { "description": "Unique request reference identifier.", "type": "string" - }, - "x-amzn-RateLimit-Limit": { - "description": "Your rate limit (requests per second) for this operation.", - "type": "string" } } }, @@ -3836,18 +6963,18 @@ "tags": [ "fbaInbound" ], - "description": "Provides the full details for a specific shipment within an inbound plan. The `transportationOptionId` inside `acceptedTransportationSelection` can be used to retrieve the transportation details for the shipment.\n\n**Usage Plan:**\n\n| Rate (requests per second) | Burst |\n| ---- | ---- |\n| 1 | 1 |\n\nThe `x-amzn-RateLimit-Limit` response header returns the usage plan rate limits that were applied to the requested operation, when available. The table above indicates the default rate and burst values for this operation. Selling partners whose business demands require higher throughput may see higher rate and burst values than those shown here. For more information, refer to [Usage Plans and Rate Limits in the Selling Partner API](https://developer-docs.amazon.com/sp-api/docs/usage-plans-and-rate-limits-in-the-sp-api).", - "operationId": "getShipment" + "description": "Updates the name of an existing shipment.\n\n**Usage Plan:**\n\n| Rate (requests per second) | Burst |\n| ---- | ---- |\n| 2 | 30 |\n\nThe `x-amzn-RateLimit-Limit` response header returns the usage plan rate limits that were applied to the requested operation, when available. The table above indicates the default rate and burst values for this operation. Selling partners whose business demands require higher throughput may see higher rate and burst values than those shown here. For more information, refer to [Usage Plans and Rate Limits in the Selling Partner API](https://developer-docs.amazon.com/sp-api/docs/usage-plans-and-rate-limits-in-the-sp-api). ", + "operationId": "updateShipmentName" } }, - "/inbound/fba/2024-03-20/inboundPlans/{inboundPlanId}/shipments/{shipmentId}/deliveryChallanDocument": { + "/inbound/fba/2024-03-20/inboundPlans/{inboundPlanId}/shipments/{shipmentId}/pallets": { "get": { "produces": [ "application/json" ], "parameters": [ { - "description": "Identifier to an inbound plan.", + "description": "Identifier of an inbound plan.", "in": "path", "maxLength": 38, "minLength": 38, @@ -3857,7 +6984,7 @@ "type": "string" }, { - "description": "Identifier to a shipment. A shipment contains the boxes and units being inbounded.", + "description": "Identifier of a shipment. A shipment contains the boxes and units being inbounded.", "in": "path", "maxLength": 38, "minLength": 38, @@ -3865,13 +6992,30 @@ "pattern": "^[a-zA-Z0-9-]*$", "required": true, "type": "string" + }, + { + "description": "The number of pallets to return in the response matching the given query.", + "in": "query", + "maximum": 1000, + "minimum": 1, + "name": "pageSize", + "type": "integer", + "default": 10 + }, + { + "description": "A token to fetch a certain page when there are multiple pages worth of results. The value of this token is fetched from the `pagination` returned in the API response. In the absence of the token value from the query parameter the API returns the first page of the result.", + "in": "query", + "maxLength": 1024, + "minLength": 0, + "name": "paginationToken", + "type": "string" } ], "responses": { "200": { - "description": "GetDeliveryChallanDocument 200 response", + "description": "ListShipmentPallets 200 response", "schema": { - "$ref": "#/definitions/GetDeliveryChallanDocumentResponse" + "$ref": "#/definitions/ListShipmentPalletsResponse" }, "x-amzn-api-sandbox": { "static": [ @@ -3883,14 +7027,35 @@ }, "shipmentId": { "value": "sh1234abcd-1234-abcd-5678-1234abcd5678" + }, + "pageSize": { + "value": 2 + }, + "paginationToken": { + "value": "paginationToken" } } }, "response": { - "documentDownload": { - "uri": "https://s3.amazonaws.com/bucket", - "downloadType": "URL", - "expiration": "2024-01-01T00:00:00.000Z" + "pallets": [ + { + "stackability": "STACKABLE", + "packageId": "pk1234abcd-1234-abcd-5678-1234abcd5678", + "weight": { + "unit": "KG", + "value": 5.5 + }, + "dimensions": { + "unitOfMeasurement": "CM", + "length": 3.0, + "width": 4.0, + "height": 5.0 + }, + "quantity": 2 + } + ], + "pagination": { + "nextToken": "nextPaginationToken" } } } @@ -3918,10 +7083,16 @@ "request": { "parameters": { "inboundPlanId": { - "value": "wf1234abcd-1234-abcd-5678-1234abcd5678" + "value": "bad234abcd-1234-abcd-5678-1234abcd5678" }, "shipmentId": { - "value": "bad234abcd-1234-abcd-5678-1234abcd5678" + "value": "sh1234abcd-1234-abcd-5678-1234abcd5678" + }, + "pageSize": { + "value": 2 + }, + "paginationToken": { + "value": "paginationToken" } } }, @@ -3929,7 +7100,7 @@ "errors": [ { "code": "BadRequest", - "message": "The requested shipmentId does not exist for the specified inbound plan." + "message": "The requested inbound plan does not exist." } ] } @@ -3947,8 +7118,8 @@ } } }, - "500": { - "description": "An unexpected condition occurred that prevented the server from fulfilling the request.", + "404": { + "description": "The resource specified does not exist.", "schema": { "$ref": "#/definitions/ErrorList" }, @@ -3956,11 +7127,15 @@ "x-amzn-RequestId": { "description": "Unique request reference identifier.", "type": "string" + }, + "x-amzn-RateLimit-Limit": { + "description": "Your rate limit (requests per second) for this operation.", + "type": "string" } } }, - "403": { - "description": "Indicates that access to the resource is forbidden. Possible reasons include Access Denied, Unauthorized, Expired Token, or Invalid Signature.", + "500": { + "description": "An unexpected condition occurred that prevented the server from fulfilling the request.", "schema": { "$ref": "#/definitions/ErrorList" }, @@ -3971,8 +7146,8 @@ } } }, - "404": { - "description": "The resource specified does not exist.", + "403": { + "description": "Indicates that access to the resource is forbidden. Possible reasons include Access Denied, Unauthorized, Expired Token, or Invalid Signature.", "schema": { "$ref": "#/definitions/ErrorList" }, @@ -3980,10 +7155,6 @@ "x-amzn-RequestId": { "description": "Unique request reference identifier.", "type": "string" - }, - "x-amzn-RateLimit-Limit": { - "description": "Your rate limit (requests per second) for this operation.", - "type": "string" } } }, @@ -4039,12 +7210,12 @@ "tags": [ "fbaInbound" ], - "description": "Provide delivery challan document for PCP transportation in IN marketplace.\n\n**Usage Plan:**\n\n| Rate (requests per second) | Burst |\n| ---- | ---- |\n| 1 | 1 |\n\nThe `x-amzn-RateLimit-Limit` response header returns the usage plan rate limits that were applied to the requested operation, when available. The table above indicates the default rate and burst values for this operation. Selling partners whose business demands require higher throughput may see higher rate and burst values than those shown here. For more information, refer to [Usage Plans and Rate Limits in the Selling Partner API](https://developer-docs.amazon.com/sp-api/docs/usage-plans-and-rate-limits-in-the-sp-api).", - "operationId": "getDeliveryChallanDocument" + "description": "Provides a paginated list of pallet packages in a shipment. A palletized shipment will have pallets when the related details are provided after generating Less-Than-Truckload (LTL) carrier shipments.\n\n**Usage Plan:**\n\n| Rate (requests per second) | Burst |\n| ---- | ---- |\n| 2 | 30 |\n\nThe `x-amzn-RateLimit-Limit` response header returns the usage plan rate limits that were applied to the requested operation, when available. The table above indicates the default rate and burst values for this operation. Selling partners whose business demands require higher throughput may see higher rate and burst values than those shown here. For more information, refer to [Usage Plans and Rate Limits in the Selling Partner API](https://developer-docs.amazon.com/sp-api/docs/usage-plans-and-rate-limits-in-the-sp-api). ", + "operationId": "listShipmentPallets" } }, - "/inbound/fba/2024-03-20/inboundPlans/{inboundPlanId}/shipments/{shipmentId}/deliveryWindow": { - "post": { + "/inbound/fba/2024-03-20/inboundPlans/{inboundPlanId}/shipments/{shipmentId}/selfShipAppointmentCancellation": { + "put": { "consumes": [ "application/json" ], @@ -4053,7 +7224,7 @@ ], "parameters": [ { - "description": "Identifier to an inbound plan.", + "description": "Identifier of an inbound plan.", "in": "path", "maxLength": 38, "minLength": 38, @@ -4063,7 +7234,7 @@ "type": "string" }, { - "description": "Identifier to a shipment. A shipment contains the boxes and units being inbounded.", + "description": "Identifier of a shipment. A shipment contains the boxes and units being inbounded.", "in": "path", "maxLength": 38, "minLength": 38, @@ -4077,16 +7248,16 @@ "name": "body", "required": true, "schema": { - "$ref": "#/definitions/UpdateShipmentDeliveryWindowRequest" + "$ref": "#/definitions/CancelSelfShipAppointmentRequest" }, - "description": "The body of the request to `updateShipmentDeliveryWindow`." + "description": "The body of the request to `cancelSelfShipAppointment`." } ], "responses": { "202": { - "description": "UpdateShipmentDeliveryWindow 202 response", + "description": "CancelSelfShipAppointment 202 response", "schema": { - "$ref": "#/definitions/UpdateShipmentDeliveryWindowResponse" + "$ref": "#/definitions/CancelSelfShipAppointmentResponse" }, "x-amzn-api-sandbox": { "static": [ @@ -4101,9 +7272,7 @@ }, "body": { "value": { - "deliveryWindow": { - "start": "2024-01-01T00:00Z" - } + "reasonComment": "OTHER" } } } @@ -4143,9 +7312,7 @@ }, "body": { "value": { - "deliveryWindow": { - "start": "2024-01-01T00:00Z" - } + "reasonComment": "OTHER" } } } @@ -4172,8 +7339,8 @@ } } }, - "500": { - "description": "An unexpected condition occurred that prevented the server from fulfilling the request.", + "404": { + "description": "The resource specified does not exist.", "schema": { "$ref": "#/definitions/ErrorList" }, @@ -4181,11 +7348,15 @@ "x-amzn-RequestId": { "description": "Unique request reference identifier.", "type": "string" + }, + "x-amzn-RateLimit-Limit": { + "description": "Your rate limit (requests per second) for this operation.", + "type": "string" } } }, - "403": { - "description": "Indicates that access to the resource is forbidden. Possible reasons include Access Denied, Unauthorized, Expired Token, or Invalid Signature.", + "500": { + "description": "An unexpected condition occurred that prevented the server from fulfilling the request.", "schema": { "$ref": "#/definitions/ErrorList" }, @@ -4196,8 +7367,8 @@ } } }, - "404": { - "description": "The resource specified does not exist.", + "403": { + "description": "Indicates that access to the resource is forbidden. Possible reasons include Access Denied, Unauthorized, Expired Token, or Invalid Signature.", "schema": { "$ref": "#/definitions/ErrorList" }, @@ -4205,10 +7376,6 @@ "x-amzn-RequestId": { "description": "Unique request reference identifier.", "type": "string" - }, - "x-amzn-RateLimit-Limit": { - "description": "Your rate limit (requests per second) for this operation.", - "type": "string" } } }, @@ -4264,8 +7431,8 @@ "tags": [ "fbaInbound" ], - "description": "Update the time window that a shipment will be delivered to the warehouse. The window is used to provide the expected time that a non-Amazon partnered carrier will arrive at the warehouse.\n\n**Usage Plan:**\n\n| Rate (requests per second) | Burst |\n| ---- | ---- |\n| 1 | 1 |\n\nThe `x-amzn-RateLimit-Limit` response header returns the usage plan rate limits that were applied to the requested operation, when available. The table above indicates the default rate and burst values for this operation. Selling partners whose business demands require higher throughput may see higher rate and burst values than those shown here. For more information, refer to [Usage Plans and Rate Limits in the Selling Partner API](https://developer-docs.amazon.com/sp-api/docs/usage-plans-and-rate-limits-in-the-sp-api).", - "operationId": "updateShipmentDeliveryWindow" + "description": "Cancels a self-ship appointment slot against a shipment.\n\n**Usage Plan:**\n\n| Rate (requests per second) | Burst |\n| ---- | ---- |\n| 2 | 30 |\n\nThe `x-amzn-RateLimit-Limit` response header returns the usage plan rate limits that were applied to the requested operation, when available. The table above indicates the default rate and burst values for this operation. Selling partners whose business demands require higher throughput may see higher rate and burst values than those shown here. For more information, refer to [Usage Plans and Rate Limits in the Selling Partner API](https://developer-docs.amazon.com/sp-api/docs/usage-plans-and-rate-limits-in-the-sp-api). ", + "operationId": "cancelSelfShipAppointment" } }, "/inbound/fba/2024-03-20/inboundPlans/{inboundPlanId}/shipments/{shipmentId}/selfShipAppointmentSlots": { @@ -4275,7 +7442,7 @@ ], "parameters": [ { - "description": "Identifier to an inbound plan.", + "description": "Identifier of an inbound plan.", "in": "path", "maxLength": 38, "minLength": 38, @@ -4285,7 +7452,7 @@ "type": "string" }, { - "description": "Identifier to a shipment. A shipment contains the boxes and units being inbounded.", + "description": "Identifier of a shipment. A shipment contains the boxes and units being inbounded.", "in": "path", "maxLength": 38, "minLength": 38, @@ -4408,6 +7575,22 @@ } } }, + "404": { + "description": "The resource specified does not exist.", + "schema": { + "$ref": "#/definitions/ErrorList" + }, + "headers": { + "x-amzn-RequestId": { + "description": "Unique request reference identifier.", + "type": "string" + }, + "x-amzn-RateLimit-Limit": { + "description": "Your rate limit (requests per second) for this operation.", + "type": "string" + } + } + }, "500": { "description": "An unexpected condition occurred that prevented the server from fulfilling the request.", "schema": { @@ -4432,22 +7615,6 @@ } } }, - "404": { - "description": "The resource specified does not exist.", - "schema": { - "$ref": "#/definitions/ErrorList" - }, - "headers": { - "x-amzn-RequestId": { - "description": "Unique request reference identifier.", - "type": "string" - }, - "x-amzn-RateLimit-Limit": { - "description": "Your rate limit (requests per second) for this operation.", - "type": "string" - } - } - }, "413": { "description": "The request size exceeded the maximum accepted size.", "schema": { @@ -4500,7 +7667,7 @@ "tags": [ "fbaInbound" ], - "description": "Retrieves a list of available self-ship appointment slots used to drop off a shipment at a warehouse.\n\n**Usage Plan:**\n\n| Rate (requests per second) | Burst |\n| ---- | ---- |\n| 1 | 1 |\n\nThe `x-amzn-RateLimit-Limit` response header returns the usage plan rate limits that were applied to the requested operation, when available. The table above indicates the default rate and burst values for this operation. Selling partners whose business demands require higher throughput may see higher rate and burst values than those shown here. For more information, refer to [Usage Plans and Rate Limits in the Selling Partner API](https://developer-docs.amazon.com/sp-api/docs/usage-plans-and-rate-limits-in-the-sp-api).", + "description": "Retrieves a list of available self-ship appointment slots used to drop off a shipment at a warehouse.\n\n**Usage Plan:**\n\n| Rate (requests per second) | Burst |\n| ---- | ---- |\n| 2 | 6 |\n\nThe `x-amzn-RateLimit-Limit` response header returns the usage plan rate limits that were applied to the requested operation, when available. The table above indicates the default rate and burst values for this operation. Selling partners whose business demands require higher throughput may see higher rate and burst values than those shown here. For more information, refer to [Usage Plans and Rate Limits in the Selling Partner API](https://developer-docs.amazon.com/sp-api/docs/usage-plans-and-rate-limits-in-the-sp-api). ", "operationId": "getSelfShipAppointmentSlots" }, "post": { @@ -4512,7 +7679,7 @@ ], "parameters": [ { - "description": "Identifier to an inbound plan.", + "description": "Identifier of an inbound plan.", "in": "path", "maxLength": 38, "minLength": 38, @@ -4522,7 +7689,7 @@ "type": "string" }, { - "description": "Identifier to a shipment. A shipment contains the boxes and units being inbounded.", + "description": "Identifier of a shipment. A shipment contains the boxes and units being inbounded.", "in": "path", "maxLength": 38, "minLength": 38, @@ -4538,7 +7705,7 @@ "schema": { "$ref": "#/definitions/GenerateSelfShipAppointmentSlotsRequest" }, - "description": "The body of the request `generateSelfShipAppointmentSlots`." + "description": "The body of the request to `generateSelfShipAppointmentSlots`." } ], "responses": { @@ -4629,8 +7796,8 @@ } } }, - "500": { - "description": "An unexpected condition occurred that prevented the server from fulfilling the request.", + "404": { + "description": "The resource specified does not exist.", "schema": { "$ref": "#/definitions/ErrorList" }, @@ -4638,11 +7805,15 @@ "x-amzn-RequestId": { "description": "Unique request reference identifier.", "type": "string" + }, + "x-amzn-RateLimit-Limit": { + "description": "Your rate limit (requests per second) for this operation.", + "type": "string" } } }, - "403": { - "description": "Indicates that access to the resource is forbidden. Possible reasons include Access Denied, Unauthorized, Expired Token, or Invalid Signature.", + "500": { + "description": "An unexpected condition occurred that prevented the server from fulfilling the request.", "schema": { "$ref": "#/definitions/ErrorList" }, @@ -4653,8 +7824,8 @@ } } }, - "404": { - "description": "The resource specified does not exist.", + "403": { + "description": "Indicates that access to the resource is forbidden. Possible reasons include Access Denied, Unauthorized, Expired Token, or Invalid Signature.", "schema": { "$ref": "#/definitions/ErrorList" }, @@ -4662,10 +7833,6 @@ "x-amzn-RequestId": { "description": "Unique request reference identifier.", "type": "string" - }, - "x-amzn-RateLimit-Limit": { - "description": "Your rate limit (requests per second) for this operation.", - "type": "string" } } }, @@ -4721,12 +7888,12 @@ "tags": [ "fbaInbound" ], - "description": "Initiates the process of generating the appointment slots list.\n\n**Usage Plan:**\n\n| Rate (requests per second) | Burst |\n| ---- | ---- |\n| 1 | 1 |\n\nThe `x-amzn-RateLimit-Limit` response header returns the usage plan rate limits that were applied to the requested operation, when available. The table above indicates the default rate and burst values for this operation. Selling partners whose business demands require higher throughput may see higher rate and burst values than those shown here. For more information, refer to [Usage Plans and Rate Limits in the Selling Partner API](https://developer-docs.amazon.com/sp-api/docs/usage-plans-and-rate-limits-in-the-sp-api).", + "description": "Initiates the process of generating the appointment slots list.\n\n**Usage Plan:**\n\n| Rate (requests per second) | Burst |\n| ---- | ---- |\n| 2 | 2 |\n\nThe `x-amzn-RateLimit-Limit` response header returns the usage plan rate limits that were applied to the requested operation, when available. The table above indicates the default rate and burst values for this operation. Selling partners whose business demands require higher throughput may see higher rate and burst values than those shown here. For more information, refer to [Usage Plans and Rate Limits in the Selling Partner API](https://developer-docs.amazon.com/sp-api/docs/usage-plans-and-rate-limits-in-the-sp-api). ", "operationId": "generateSelfShipAppointmentSlots" } }, - "/inbound/fba/2024-03-20/inboundPlans/{inboundPlanId}/shipments/{shipmentId}/selfShipAppointmentSlots/{slotId}/cancellation": { - "put": { + "/inbound/fba/2024-03-20/inboundPlans/{inboundPlanId}/shipments/{shipmentId}/selfShipAppointmentSlots/{slotId}/schedule": { + "post": { "consumes": [ "application/json" ], @@ -4735,7 +7902,7 @@ ], "parameters": [ { - "description": "Identifier to an inbound plan.", + "description": "Identifier of an inbound plan.", "in": "path", "maxLength": 38, "minLength": 38, @@ -4745,7 +7912,7 @@ "type": "string" }, { - "description": "Identifier to a shipment. A shipment contains the boxes and units being inbounded.", + "description": "Identifier of a shipment. A shipment contains the boxes and units being inbounded.", "in": "path", "maxLength": 38, "minLength": 38, @@ -4755,7 +7922,7 @@ "type": "string" }, { - "description": "Identifier to a self-ship appointment slot.", + "description": "An identifier to a self-ship appointment slot.", "in": "path", "maxLength": 38, "minLength": 38, @@ -4769,16 +7936,16 @@ "name": "body", "required": true, "schema": { - "$ref": "#/definitions/CancelSelfShipAppointmentRequest" + "$ref": "#/definitions/ScheduleSelfShipAppointmentRequest" }, - "description": "The body of the request to `cancelSelfShipAppointment`." + "description": "The body of the request to `scheduleSelfShipAppointment`." } ], "responses": { - "202": { - "description": "CancelSelfShipAppointment 202 response", + "200": { + "description": "ScheduleSelfShipAppointment 200 response", "schema": { - "$ref": "#/definitions/CancelSelfShipAppointmentResponse" + "$ref": "#/definitions/ScheduleSelfShipAppointmentResponse" }, "x-amzn-api-sandbox": { "static": [ @@ -4802,7 +7969,14 @@ } }, "response": { - "operationId": "1234abcd-1234-abcd-5678-1234abcd5678" + "selfShipAppointmentDetails": { + "appointmentId": 1000, + "appointmentSlotTime": { + "startTime": "2023-03-08T13:15:30Z", + "endTime": "2023-03-09T13:15:30Z" + }, + "appointmentStatus": "ARRIVAL_SCHEDULED" + } } } ] @@ -4866,8 +8040,8 @@ } } }, - "500": { - "description": "An unexpected condition occurred that prevented the server from fulfilling the request.", + "404": { + "description": "The resource specified does not exist.", "schema": { "$ref": "#/definitions/ErrorList" }, @@ -4875,11 +8049,15 @@ "x-amzn-RequestId": { "description": "Unique request reference identifier.", "type": "string" + }, + "x-amzn-RateLimit-Limit": { + "description": "Your rate limit (requests per second) for this operation.", + "type": "string" } } }, - "403": { - "description": "Indicates that access to the resource is forbidden. Possible reasons include Access Denied, Unauthorized, Expired Token, or Invalid Signature.", + "500": { + "description": "An unexpected condition occurred that prevented the server from fulfilling the request.", "schema": { "$ref": "#/definitions/ErrorList" }, @@ -4890,8 +8068,8 @@ } } }, - "404": { - "description": "The resource specified does not exist.", + "403": { + "description": "Indicates that access to the resource is forbidden. Possible reasons include Access Denied, Unauthorized, Expired Token, or Invalid Signature.", "schema": { "$ref": "#/definitions/ErrorList" }, @@ -4899,10 +8077,6 @@ "x-amzn-RequestId": { "description": "Unique request reference identifier.", "type": "string" - }, - "x-amzn-RateLimit-Limit": { - "description": "Your rate limit (requests per second) for this operation.", - "type": "string" } } }, @@ -4958,12 +8132,12 @@ "tags": [ "fbaInbound" ], - "description": "Cancels a self-ship appointment slot against a shipment.\n\n**Usage Plan:**\n\n| Rate (requests per second) | Burst |\n| ---- | ---- |\n| 1 | 1 |\n\nThe `x-amzn-RateLimit-Limit` response header returns the usage plan rate limits that were applied to the requested operation, when available. The table above indicates the default rate and burst values for this operation. Selling partners whose business demands require higher throughput may see higher rate and burst values than those shown here. For more information, refer to [Usage Plans and Rate Limits in the Selling Partner API](https://developer-docs.amazon.com/sp-api/docs/usage-plans-and-rate-limits-in-the-sp-api).", - "operationId": "cancelSelfShipAppointment" + "description": "Confirms or reschedules a self-ship appointment slot against a shipment.\n\n**Usage Plan:**\n\n| Rate (requests per second) | Burst |\n| ---- | ---- |\n| 2 | 2 |\n\nThe `x-amzn-RateLimit-Limit` response header returns the usage plan rate limits that were applied to the requested operation, when available. The table above indicates the default rate and burst values for this operation. Selling partners whose business demands require higher throughput may see higher rate and burst values than those shown here. For more information, refer to [Usage Plans and Rate Limits in the Selling Partner API](https://developer-docs.amazon.com/sp-api/docs/usage-plans-and-rate-limits-in-the-sp-api). ", + "operationId": "scheduleSelfShipAppointment" } }, - "/inbound/fba/2024-03-20/inboundPlans/{inboundPlanId}/shipments/{shipmentId}/selfShipAppointmentSlots/{slotId}/schedule": { - "post": { + "/inbound/fba/2024-03-20/inboundPlans/{inboundPlanId}/shipments/{shipmentId}/sourceAddress": { + "put": { "consumes": [ "application/json" ], @@ -4972,7 +8146,7 @@ ], "parameters": [ { - "description": "Identifier to an inbound plan.", + "description": "Identifier of an inbound plan.", "in": "path", "maxLength": 38, "minLength": 38, @@ -4982,7 +8156,7 @@ "type": "string" }, { - "description": "Identifier to a shipment. A shipment contains the boxes and units being inbounded.", + "description": "Identifier of a shipment. A shipment contains the boxes and units being inbounded.", "in": "path", "maxLength": 38, "minLength": 38, @@ -4991,31 +8165,21 @@ "required": true, "type": "string" }, - { - "description": "Identifier to a self-ship appointment slot.", - "in": "path", - "maxLength": 38, - "minLength": 38, - "name": "slotId", - "pattern": "^[a-zA-Z0-9-]*$", - "required": true, - "type": "string" - }, { "in": "body", "name": "body", "required": true, "schema": { - "$ref": "#/definitions/ScheduleSelfShipAppointmentRequest" + "$ref": "#/definitions/UpdateShipmentSourceAddressRequest" }, - "description": "The body of the request to `scheduleSelfShipAppointment`." + "description": "The body of the request to `updateShipmentSourceAddress`." } ], "responses": { - "200": { - "description": "ScheduleSelfShipAppointment 200 response", + "202": { + "description": "UpdateShipmentSourceAddress 202 response", "schema": { - "$ref": "#/definitions/ScheduleSelfShipAppointmentResponse" + "$ref": "#/definitions/UpdateShipmentSourceAddressResponse" }, "x-amzn-api-sandbox": { "static": [ @@ -5028,25 +8192,26 @@ "shipmentId": { "value": "sh1234abcd-1234-abcd-5678-1234abcd5678" }, - "slotId": { - "value": "aa1234abcd-1234-abcd-5678-1234abcd5678" - }, "body": { "value": { - "reasonComment": "OTHER" + "address": { + "name": "name", + "companyName": "Acme", + "addressLine1": "123 example street", + "addressLine2": "Unit 102", + "city": "Toronto", + "countryCode": "CA", + "stateOrProvinceCode": "ON", + "postalCode": "M1M1M1", + "phoneNumber": "1234567890", + "email": "email@email.com" + } } } } }, "response": { - "selfShipAppointmentDetails": { - "appointmentId": 1000, - "appointmentSlotTime": { - "startTime": "2023-03-08T13:15:30Z", - "endTime": "2023-03-09T13:15:30Z" - }, - "appointmentStatus": "ARRIVAL_SCHEDULED" - } + "operationId": "1234abcd-1234-abcd-5678-1234abcd5678" } } ] @@ -5078,12 +8243,20 @@ "shipmentId": { "value": "bad234abcd-1234-abcd-5678-1234abcd5678" }, - "slotId": { - "value": "aa1234abcd-1234-abcd-5678-1234abcd5678" - }, "body": { "value": { - "reasonComment": "OTHER" + "address": { + "name": "name", + "companyName": "Acme", + "addressLine1": "123 example street", + "addressLine2": "Unit 102", + "city": "Toronto", + "countryCode": "CA", + "stateOrProvinceCode": "ON", + "postalCode": "M1M1M1", + "phoneNumber": "1234567890", + "email": "email@email.com" + } } } } @@ -5110,8 +8283,8 @@ } } }, - "500": { - "description": "An unexpected condition occurred that prevented the server from fulfilling the request.", + "404": { + "description": "The resource specified does not exist.", "schema": { "$ref": "#/definitions/ErrorList" }, @@ -5119,11 +8292,15 @@ "x-amzn-RequestId": { "description": "Unique request reference identifier.", "type": "string" + }, + "x-amzn-RateLimit-Limit": { + "description": "Your rate limit (requests per second) for this operation.", + "type": "string" } } }, - "403": { - "description": "Indicates that access to the resource is forbidden. Possible reasons include Access Denied, Unauthorized, Expired Token, or Invalid Signature.", + "500": { + "description": "An unexpected condition occurred that prevented the server from fulfilling the request.", "schema": { "$ref": "#/definitions/ErrorList" }, @@ -5134,8 +8311,8 @@ } } }, - "404": { - "description": "The resource specified does not exist.", + "403": { + "description": "Indicates that access to the resource is forbidden. Possible reasons include Access Denied, Unauthorized, Expired Token, or Invalid Signature.", "schema": { "$ref": "#/definitions/ErrorList" }, @@ -5143,10 +8320,6 @@ "x-amzn-RequestId": { "description": "Unique request reference identifier.", "type": "string" - }, - "x-amzn-RateLimit-Limit": { - "description": "Your rate limit (requests per second) for this operation.", - "type": "string" } } }, @@ -5202,8 +8375,8 @@ "tags": [ "fbaInbound" ], - "description": "Confirms or reschedules a self-ship appointment slot against a shipment.\n\n**Usage Plan:**\n\n| Rate (requests per second) | Burst |\n| ---- | ---- |\n| 1 | 1 |\n\nThe `x-amzn-RateLimit-Limit` response header returns the usage plan rate limits that were applied to the requested operation, when available. The table above indicates the default rate and burst values for this operation. Selling partners whose business demands require higher throughput may see higher rate and burst values than those shown here. For more information, refer to [Usage Plans and Rate Limits in the Selling Partner API](https://developer-docs.amazon.com/sp-api/docs/usage-plans-and-rate-limits-in-the-sp-api).", - "operationId": "scheduleSelfShipAppointment" + "description": "Updates the source address of an existing shipment. The shipment source address can only be updated prior to the confirmation of the shipment carriers. As a result of the updated source address, existing transportation options will be invalidated and will need to be regenerated to capture the potential difference in transportation options and quotes due to the new source address.\n\n**Usage Plan:**\n\n| Rate (requests per second) | Burst |\n| ---- | ---- |\n| 2 | 30 |\n\nThe `x-amzn-RateLimit-Limit` response header returns the usage plan rate limits that were applied to the requested operation, when available. The table above indicates the default rate and burst values for this operation. Selling partners whose business demands require higher throughput may see higher rate and burst values than those shown here. For more information, refer to [Usage Plans and Rate Limits in the Selling Partner API](https://developer-docs.amazon.com/sp-api/docs/usage-plans-and-rate-limits-in-the-sp-api). ", + "operationId": "updateShipmentSourceAddress" } }, "/inbound/fba/2024-03-20/inboundPlans/{inboundPlanId}/shipments/{shipmentId}/trackingDetails": { @@ -5216,7 +8389,7 @@ ], "parameters": [ { - "description": "Identifier to an inbound plan.", + "description": "Identifier of an inbound plan.", "in": "path", "maxLength": 38, "minLength": 38, @@ -5226,7 +8399,7 @@ "type": "string" }, { - "description": "Identifier to a shipment. A shipment contains the boxes and units being inbounded.", + "description": "Identifier of a shipment. A shipment contains the boxes and units being inbounded.", "in": "path", "maxLength": 38, "minLength": 38, @@ -5361,8 +8534,8 @@ } } }, - "500": { - "description": "An unexpected condition occurred that prevented the server from fulfilling the request.", + "404": { + "description": "The resource specified does not exist.", "schema": { "$ref": "#/definitions/ErrorList" }, @@ -5370,11 +8543,15 @@ "x-amzn-RequestId": { "description": "Unique request reference identifier.", "type": "string" + }, + "x-amzn-RateLimit-Limit": { + "description": "Your rate limit (requests per second) for this operation.", + "type": "string" } } }, - "403": { - "description": "Indicates that access to the resource is forbidden. Possible reasons include Access Denied, Unauthorized, Expired Token, or Invalid Signature.", + "500": { + "description": "An unexpected condition occurred that prevented the server from fulfilling the request.", "schema": { "$ref": "#/definitions/ErrorList" }, @@ -5385,8 +8562,8 @@ } } }, - "404": { - "description": "The resource specified does not exist.", + "403": { + "description": "Indicates that access to the resource is forbidden. Possible reasons include Access Denied, Unauthorized, Expired Token, or Invalid Signature.", "schema": { "$ref": "#/definitions/ErrorList" }, @@ -5394,10 +8571,6 @@ "x-amzn-RequestId": { "description": "Unique request reference identifier.", "type": "string" - }, - "x-amzn-RateLimit-Limit": { - "description": "Your rate limit (requests per second) for this operation.", - "type": "string" } } }, @@ -5453,7 +8626,7 @@ "tags": [ "fbaInbound" ], - "description": "Updates a shipment's tracking details.\n\n**Usage Plan:**\n\n| Rate (requests per second) | Burst |\n| ---- | ---- |\n| 1 | 1 |\n\nThe `x-amzn-RateLimit-Limit` response header returns the usage plan rate limits that were applied to the requested operation, when available. The table above indicates the default rate and burst values for this operation. Selling partners whose business demands require higher throughput may see higher rate and burst values than those shown here. For more information, refer to [Usage Plans and Rate Limits in the Selling Partner API](https://developer-docs.amazon.com/sp-api/docs/usage-plans-and-rate-limits-in-the-sp-api).", + "description": "Updates a shipment's tracking details.\n\n**Usage Plan:**\n\n| Rate (requests per second) | Burst |\n| ---- | ---- |\n| 2 | 2 |\n\nThe `x-amzn-RateLimit-Limit` response header returns the usage plan rate limits that were applied to the requested operation, when available. The table above indicates the default rate and burst values for this operation. Selling partners whose business demands require higher throughput may see higher rate and burst values than those shown here. For more information, refer to [Usage Plans and Rate Limits in the Selling Partner API](https://developer-docs.amazon.com/sp-api/docs/usage-plans-and-rate-limits-in-the-sp-api). ", "operationId": "updateShipmentTrackingDetails" } }, @@ -5464,7 +8637,7 @@ ], "parameters": [ { - "description": "Identifier to an inbound plan.", + "description": "Identifier of an inbound plan.", "in": "path", "maxLength": 38, "minLength": 38, @@ -5491,7 +8664,7 @@ "type": "string" }, { - "description": "The placement option to get transportation options for. Either placementOptionId or shipmentId must be specified.", + "description": "The placement option to get transportation options for. Either `placementOptionId` or `shipmentId` must be specified.", "in": "query", "maxLength": 38, "minLength": 38, @@ -5500,7 +8673,7 @@ "type": "string" }, { - "description": "The shipment to get transportation options for. Either placementOptionId or shipmentId must be specified.", + "description": "The shipment to get transportation options for. Either `placementOptionId` or `shipmentId` must be specified.", "in": "query", "maxLength": 38, "minLength": 38, @@ -5540,8 +8713,6 @@ "response": { "transportationOptions": [ { - "inboundPlanId": "wf1234abcd-1234-abcd-5678-1234abcd5678", - "placementOptionId": "pl1234abcd-1234-abcd-5678-1234abcd5678", "shipmentId": "sh1234abcd-1234-abcd-5678-1234abcd5678", "transportationOptionId": "to1234abcd-1234-abcd-5678-1234abcd5678", "shippingSolution": "AMAZON_PARTNERED_CARRIER", @@ -5558,13 +8729,13 @@ "voidableUntil": "2024-01-01T00:00:00.000Z", "expiration": "2024-01-01T00:00:00.000Z" }, - "appointmentSlot": { - "slotId": "aa1234abcd-1234-abcd-5678-1234abcd5678", - "slotTime": { - "startTime": "2024-01-01T00:00Z", - "endTime": "2024-01-01T00:00Z" - } - } + "carrierAppointment": { + "startTime": "2024-01-01T00:00:00.000Z", + "endTime": "2024-01-02T00:00:00.000Z" + }, + "preconditions": [ + "CONFIRMED_DELIVERY_WINDOW" + ] } ], "pagination": { @@ -5634,8 +8805,8 @@ } } }, - "500": { - "description": "An unexpected condition occurred that prevented the server from fulfilling the request.", + "404": { + "description": "The resource specified does not exist.", "schema": { "$ref": "#/definitions/ErrorList" }, @@ -5643,11 +8814,15 @@ "x-amzn-RequestId": { "description": "Unique request reference identifier.", "type": "string" + }, + "x-amzn-RateLimit-Limit": { + "description": "Your rate limit (requests per second) for this operation.", + "type": "string" } } }, - "403": { - "description": "Indicates that access to the resource is forbidden. Possible reasons include Access Denied, Unauthorized, Expired Token, or Invalid Signature.", + "500": { + "description": "An unexpected condition occurred that prevented the server from fulfilling the request.", "schema": { "$ref": "#/definitions/ErrorList" }, @@ -5658,8 +8833,8 @@ } } }, - "404": { - "description": "The resource specified does not exist.", + "403": { + "description": "Indicates that access to the resource is forbidden. Possible reasons include Access Denied, Unauthorized, Expired Token, or Invalid Signature.", "schema": { "$ref": "#/definitions/ErrorList" }, @@ -5667,10 +8842,6 @@ "x-amzn-RequestId": { "description": "Unique request reference identifier.", "type": "string" - }, - "x-amzn-RateLimit-Limit": { - "description": "Your rate limit (requests per second) for this operation.", - "type": "string" } } }, @@ -5726,7 +8897,7 @@ "tags": [ "fbaInbound" ], - "description": "Retrieves all transportation options for a shipment. Transportation options must first be generated by the corresponding endpoint before becoming available.\n\n**Usage Plan:**\n\n| Rate (requests per second) | Burst |\n| ---- | ---- |\n| 1 | 1 |\n\nThe `x-amzn-RateLimit-Limit` response header returns the usage plan rate limits that were applied to the requested operation, when available. The table above indicates the default rate and burst values for this operation. Selling partners whose business demands require higher throughput may see higher rate and burst values than those shown here. For more information, refer to [Usage Plans and Rate Limits in the Selling Partner API](https://developer-docs.amazon.com/sp-api/docs/usage-plans-and-rate-limits-in-the-sp-api).", + "description": "Retrieves all transportation options for a shipment. Transportation options must first be generated by the `generateTransportationOptions` operation before becoming available.\n\n**Usage Plan:**\n\n| Rate (requests per second) | Burst |\n| ---- | ---- |\n| 2 | 6 |\n\nThe `x-amzn-RateLimit-Limit` response header returns the usage plan rate limits that were applied to the requested operation, when available. The table above indicates the default rate and burst values for this operation. Selling partners whose business demands require higher throughput may see higher rate and burst values than those shown here. For more information, refer to [Usage Plans and Rate Limits in the Selling Partner API](https://developer-docs.amazon.com/sp-api/docs/usage-plans-and-rate-limits-in-the-sp-api). ", "operationId": "listTransportationOptions" }, "post": { @@ -5738,7 +8909,7 @@ ], "parameters": [ { - "description": "Identifier to an inbound plan.", + "description": "Identifier of an inbound plan.", "in": "path", "maxLength": 38, "minLength": 38, @@ -5785,29 +8956,29 @@ "phoneNumber": "1234567890", "email": "email@email.com" }, - "palletInformation": { - "pallets": [ - { - "stackability": "STACKABLE", - "weight": { - "unit": "KG", - "value": 5.5 - }, - "dimensions": { - "unitOfMeasurement": "CM", - "length": 3.0, - "width": 4.0, - "height": 5.0 - }, - "quantity": 2 - } - ], + "freightInformation": { "freightClass": "FC_50", "declaredValue": { "code": "USD", "amount": 500.0 } - } + }, + "pallets": [ + { + "stackability": "STACKABLE", + "weight": { + "unit": "KG", + "value": 5.5 + }, + "dimensions": { + "unitOfMeasurement": "CM", + "length": 3.0, + "width": 4.0, + "height": 5.0 + }, + "quantity": 2 + } + ] } ] } @@ -5858,29 +9029,29 @@ "phoneNumber": "1234567890", "email": "email@email.com" }, - "palletInformation": { - "pallets": [ - { - "stackability": "STACKABLE", - "weight": { - "unit": "KG", - "value": 5.5 - }, - "dimensions": { - "unitOfMeasurement": "CM", - "length": 3.0, - "width": 4.0, - "height": 5.0 - }, - "quantity": 2 - } - ], + "freightInformation": { "freightClass": "FC_50", "declaredValue": { "code": "USD", "amount": 500.0 } - } + }, + "pallets": [ + { + "stackability": "STACKABLE", + "weight": { + "unit": "KG", + "value": 5.5 + }, + "dimensions": { + "unitOfMeasurement": "CM", + "length": 3.0, + "width": 4.0, + "height": 5.0 + }, + "quantity": 2 + } + ] } ] } @@ -5909,8 +9080,8 @@ } } }, - "500": { - "description": "An unexpected condition occurred that prevented the server from fulfilling the request.", + "404": { + "description": "The resource specified does not exist.", "schema": { "$ref": "#/definitions/ErrorList" }, @@ -5918,11 +9089,15 @@ "x-amzn-RequestId": { "description": "Unique request reference identifier.", "type": "string" + }, + "x-amzn-RateLimit-Limit": { + "description": "Your rate limit (requests per second) for this operation.", + "type": "string" } } }, - "403": { - "description": "Indicates that access to the resource is forbidden. Possible reasons include Access Denied, Unauthorized, Expired Token, or Invalid Signature.", + "500": { + "description": "An unexpected condition occurred that prevented the server from fulfilling the request.", "schema": { "$ref": "#/definitions/ErrorList" }, @@ -5933,8 +9108,8 @@ } } }, - "404": { - "description": "The resource specified does not exist.", + "403": { + "description": "Indicates that access to the resource is forbidden. Possible reasons include Access Denied, Unauthorized, Expired Token, or Invalid Signature.", "schema": { "$ref": "#/definitions/ErrorList" }, @@ -5942,10 +9117,6 @@ "x-amzn-RequestId": { "description": "Unique request reference identifier.", "type": "string" - }, - "x-amzn-RateLimit-Limit": { - "description": "Your rate limit (requests per second) for this operation.", - "type": "string" } } }, @@ -6001,7 +9172,7 @@ "tags": [ "fbaInbound" ], - "description": "Generates available transportation options for a given placement option.\n\n**Usage Plan:**\n\n| Rate (requests per second) | Burst |\n| ---- | ---- |\n| 0.05 | 1 |\n\nThe `x-amzn-RateLimit-Limit` response header returns the usage plan rate limits that were applied to the requested operation, when available. The table above indicates the default rate and burst values for this operation. Selling partners whose business demands require higher throughput may see higher rate and burst values than those shown here. For more information, refer to [Usage Plans and Rate Limits in the Selling Partner API](https://developer-docs.amazon.com/sp-api/docs/usage-plans-and-rate-limits-in-the-sp-api).", + "description": "Generates available transportation options for a given placement option.\n\n**Usage Plan:**\n\n| Rate (requests per second) | Burst |\n| ---- | ---- |\n| 2 | 2 |\n\nThe `x-amzn-RateLimit-Limit` response header returns the usage plan rate limits that were applied to the requested operation, when available. The table above indicates the default rate and burst values for this operation. Selling partners whose business demands require higher throughput may see higher rate and burst values than those shown here. For more information, refer to [Usage Plans and Rate Limits in the Selling Partner API](https://developer-docs.amazon.com/sp-api/docs/usage-plans-and-rate-limits-in-the-sp-api). ", "operationId": "generateTransportationOptions" } }, @@ -6015,7 +9186,7 @@ ], "parameters": [ { - "description": "Identifier to an inbound plan.", + "description": "Identifier of an inbound plan.", "in": "path", "maxLength": 38, "minLength": 38, @@ -6058,9 +9229,6 @@ "name": "name", "phoneNumber": "1234567890", "email": "email@email.com" - }, - "deliveryWindow": { - "start": "2024-01-01T00:00Z" } } ] @@ -6107,10 +9275,7 @@ "contactInformation": { "name": "name", "phoneNumber": "1234567890", - "email": "email@email.com" - }, - "deliveryWindow": { - "start": "2024-01-01T00:00Z" + "email": "email@email.com" } } ] @@ -6140,8 +9305,8 @@ } } }, - "500": { - "description": "An unexpected condition occurred that prevented the server from fulfilling the request.", + "404": { + "description": "The resource specified does not exist.", "schema": { "$ref": "#/definitions/ErrorList" }, @@ -6149,11 +9314,15 @@ "x-amzn-RequestId": { "description": "Unique request reference identifier.", "type": "string" + }, + "x-amzn-RateLimit-Limit": { + "description": "Your rate limit (requests per second) for this operation.", + "type": "string" } } }, - "403": { - "description": "Indicates that access to the resource is forbidden. Possible reasons include Access Denied, Unauthorized, Expired Token, or Invalid Signature.", + "500": { + "description": "An unexpected condition occurred that prevented the server from fulfilling the request.", "schema": { "$ref": "#/definitions/ErrorList" }, @@ -6164,8 +9333,8 @@ } } }, - "404": { - "description": "The resource specified does not exist.", + "403": { + "description": "Indicates that access to the resource is forbidden. Possible reasons include Access Denied, Unauthorized, Expired Token, or Invalid Signature.", "schema": { "$ref": "#/definitions/ErrorList" }, @@ -6173,10 +9342,6 @@ "x-amzn-RequestId": { "description": "Unique request reference identifier.", "type": "string" - }, - "x-amzn-RateLimit-Limit": { - "description": "Your rate limit (requests per second) for this operation.", - "type": "string" } } }, @@ -6232,7 +9397,7 @@ "tags": [ "fbaInbound" ], - "description": "Confirms all the transportation options for an inbound plan. A placement option must be confirmed prior to use of this API. Once confirmed, new transportation options can not be generated or confirmed for the Inbound Plan.\n\n**Usage Plan:**\n\n| Rate (requests per second) | Burst |\n| ---- | ---- |\n| 0.05 | 1 |\n\nThe `x-amzn-RateLimit-Limit` response header returns the usage plan rate limits that were applied to the requested operation, when available. The table above indicates the default rate and burst values for this operation. Selling partners whose business demands require higher throughput may see higher rate and burst values than those shown here. For more information, refer to [Usage Plans and Rate Limits in the Selling Partner API](https://developer-docs.amazon.com/sp-api/docs/usage-plans-and-rate-limits-in-the-sp-api).", + "description": "Confirms all the transportation options for an inbound plan. A placement option must be confirmed prior to use of this API. Once confirmed, new transportation options can not be generated or confirmed for the Inbound Plan.\n\n**Usage Plan:**\n\n| Rate (requests per second) | Burst |\n| ---- | ---- |\n| 2 | 2 |\n\nThe `x-amzn-RateLimit-Limit` response header returns the usage plan rate limits that were applied to the requested operation, when available. The table above indicates the default rate and burst values for this operation. Selling partners whose business demands require higher throughput may see higher rate and burst values than those shown here. For more information, refer to [Usage Plans and Rate Limits in the Selling Partner API](https://developer-docs.amazon.com/sp-api/docs/usage-plans-and-rate-limits-in-the-sp-api). ", "operationId": "confirmTransportationOptions" } }, @@ -6244,7 +9409,7 @@ "parameters": [ { "collectionFormat": "multi", - "description": "List of merchant SKUs, a merchant-supplied identifier for a specific SKU.", + "description": "List of merchant SKUs - a merchant-supplied identifier for a specific SKU.", "in": "query", "items": { "maxLength": 40, @@ -6387,6 +9552,22 @@ } } }, + "404": { + "description": "The resource specified does not exist.", + "schema": { + "$ref": "#/definitions/ErrorList" + }, + "headers": { + "x-amzn-RequestId": { + "description": "Unique request reference identifier.", + "type": "string" + }, + "x-amzn-RateLimit-Limit": { + "description": "Your rate limit (requests per second) for this operation.", + "type": "string" + } + } + }, "500": { "description": "An unexpected condition occurred that prevented the server from fulfilling the request.", "schema": { @@ -6411,6 +9592,196 @@ } } }, + "413": { + "description": "The request size exceeded the maximum accepted size.", + "schema": { + "$ref": "#/definitions/ErrorList" + }, + "headers": { + "x-amzn-RequestId": { + "description": "Unique request reference identifier.", + "type": "string" + } + } + }, + "415": { + "description": "The request payload is in an unsupported format.", + "schema": { + "$ref": "#/definitions/ErrorList" + }, + "headers": { + "x-amzn-RequestId": { + "description": "Unique request reference identifier.", + "type": "string" + } + } + }, + "429": { + "description": "The frequency of requests was greater than allowed.", + "schema": { + "$ref": "#/definitions/ErrorList" + }, + "headers": { + "x-amzn-RequestId": { + "description": "Unique request reference identifier.", + "type": "string" + } + } + }, + "503": { + "description": "Temporary overloading or maintenance of the server.", + "schema": { + "$ref": "#/definitions/ErrorList" + }, + "headers": { + "x-amzn-RequestId": { + "description": "Unique request reference identifier.", + "type": "string" + } + } + } + }, + "tags": [ + "fbaInbound" + ], + "description": "List the inbound compliance details for MSKUs in a given marketplace.\n\n**Usage Plan:**\n\n| Rate (requests per second) | Burst |\n| ---- | ---- |\n| 2 | 6 |\n\nThe `x-amzn-RateLimit-Limit` response header returns the usage plan rate limits that were applied to the requested operation, when available. The table above indicates the default rate and burst values for this operation. Selling partners whose business demands require higher throughput may see higher rate and burst values than those shown here. For more information, refer to [Usage Plans and Rate Limits in the Selling Partner API](https://developer-docs.amazon.com/sp-api/docs/usage-plans-and-rate-limits-in-the-sp-api). ", + "operationId": "listItemComplianceDetails" + }, + "put": { + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "parameters": [ + { + "description": "The Marketplace ID. Refer to [Marketplace IDs](https://developer-docs.amazon.com/sp-api/docs/marketplace-ids) for a list of possible values.", + "in": "query", + "maxLength": 256, + "minLength": 1, + "name": "marketplaceId", + "required": true, + "type": "string" + }, + { + "in": "body", + "name": "body", + "required": true, + "schema": { + "$ref": "#/definitions/UpdateItemComplianceDetailsRequest" + }, + "description": "The body of the request to `updateItemComplianceDetails`." + } + ], + "responses": { + "202": { + "description": "UpdateItemComplianceDetails 202 response", + "schema": { + "$ref": "#/definitions/UpdateItemComplianceDetailsResponse" + }, + "x-amzn-api-sandbox": { + "static": [ + { + "request": { + "parameters": { + "marketplaceId": { + "value": "ATVPDKIKX0DER" + }, + "body": { + "value": { + "msku": "msku", + "taxDetails": { + "hsnCode": "720299", + "declaredValue": { + "code": "USD", + "amount": 50.0 + }, + "taxRates": [ + { + "taxType": "TOTAL_TAX", + "gstRate": 1.0, + "cessRate": 1.0 + } + ] + } + } + } + } + }, + "response": { + "operationId": "1234abcd-1234-abcd-5678-1234abcd5678" + } + } + ] + }, + "headers": { + "x-amzn-RequestId": { + "description": "Unique request reference identifier.", + "type": "string" + }, + "x-amzn-RateLimit-Limit": { + "description": "Your rate limit (requests per second) for this operation.", + "type": "string" + } + } + }, + "400": { + "description": "Request has missing or invalid parameters and cannot be parsed.", + "schema": { + "$ref": "#/definitions/ErrorList" + }, + "x-amzn-api-sandbox": { + "static": [ + { + "request": { + "parameters": { + "marketplaceId": { + "value": "ATVPDKIKX0DER" + }, + "body": { + "value": { + "msku": "badmsku", + "taxDetails": { + "hsnCode": "720299", + "declaredValue": { + "code": "USD", + "amount": 50.0 + }, + "taxRates": [ + { + "taxType": "TOTAL_TAX", + "gstRate": 1.0, + "cessRate": 1.0 + } + ] + } + } + } + } + }, + "response": { + "errors": [ + { + "code": "BadRequest", + "message": "The requested msku does not exist for the specified marketplace." + } + ] + } + } + ] + }, + "headers": { + "x-amzn-RequestId": { + "description": "Unique request reference identifier.", + "type": "string" + }, + "x-amzn-RateLimit-Limit": { + "description": "Your rate limit (requests per second) for this operation.", + "type": "string" + } + } + }, "404": { "description": "The resource specified does not exist.", "schema": { @@ -6427,6 +9798,30 @@ } } }, + "500": { + "description": "An unexpected condition occurred that prevented the server from fulfilling the request.", + "schema": { + "$ref": "#/definitions/ErrorList" + }, + "headers": { + "x-amzn-RequestId": { + "description": "Unique request reference identifier.", + "type": "string" + } + } + }, + "403": { + "description": "Indicates that access to the resource is forbidden. Possible reasons include Access Denied, Unauthorized, Expired Token, or Invalid Signature.", + "schema": { + "$ref": "#/definitions/ErrorList" + }, + "headers": { + "x-amzn-RequestId": { + "description": "Unique request reference identifier.", + "type": "string" + } + } + }, "413": { "description": "The request size exceeded the maximum accepted size.", "schema": { @@ -6479,10 +9874,12 @@ "tags": [ "fbaInbound" ], - "description": "List the inbound compliance details for MSKUs in a given marketplace.\n\n**Usage Plan:**\n\n| Rate (requests per second) | Burst |\n| ---- | ---- |\n| 1 | 1 |\n\nThe `x-amzn-RateLimit-Limit` response header returns the usage plan rate limits that were applied to the requested operation, when available. The table above indicates the default rate and burst values for this operation. Selling partners whose business demands require higher throughput may see higher rate and burst values than those shown here. For more information, refer to [Usage Plans and Rate Limits in the Selling Partner API](https://developer-docs.amazon.com/sp-api/docs/usage-plans-and-rate-limits-in-the-sp-api).", - "operationId": "listItemComplianceDetails" - }, - "put": { + "description": "Update compliance details for list of MSKUs. The details provided here are only used for the IN marketplace compliance validation.\n\n**Usage Plan:**\n\n| Rate (requests per second) | Burst |\n| ---- | ---- |\n| 2 | 2 |\n\nThe `x-amzn-RateLimit-Limit` response header returns the usage plan rate limits that were applied to the requested operation, when available. The table above indicates the default rate and burst values for this operation. Selling partners whose business demands require higher throughput may see higher rate and burst values than those shown here. For more information, refer to [Usage Plans and Rate Limits in the Selling Partner API](https://developer-docs.amazon.com/sp-api/docs/usage-plans-and-rate-limits-in-the-sp-api). ", + "operationId": "updateItemComplianceDetails" + } + }, + "/inbound/fba/2024-03-20/items/labels": { + "post": { "consumes": [ "application/json" ], @@ -6490,62 +9887,89 @@ "application/json" ], "parameters": [ - { - "description": "The Marketplace ID. Refer to [Marketplace IDs](https://developer-docs.amazon.com/sp-api/docs/marketplace-ids) for a list of possible values.", - "in": "query", - "maxLength": 256, - "minLength": 1, - "name": "marketplaceId", - "required": true, - "type": "string" - }, { "in": "body", "name": "body", "required": true, "schema": { - "$ref": "#/definitions/UpdateItemComplianceDetailsRequest" + "$ref": "#/definitions/CreateMarketplaceItemLabelsRequest" }, - "description": "The body of the request to `updateItemComplianceDetails`." + "description": "The body of the request to `createMarketplaceItemLabels`." } ], "responses": { - "202": { - "description": "UpdateItemComplianceDetails 202 response", + "200": { + "description": "CreateMarketplaceItemLabels 200 response", "schema": { - "$ref": "#/definitions/UpdateItemComplianceDetailsResponse" + "$ref": "#/definitions/CreateMarketplaceItemLabelsResponse" }, "x-amzn-api-sandbox": { "static": [ { "request": { "parameters": { - "marketplaceId": { - "value": "ATVPDKIKX0DER" - }, "body": { "value": { - "msku": "msku", - "taxDetails": { - "hsnCode": "720299", - "declaredValue": { - "code": "USD", - "amount": 50.0 + "marketplaceId": "ATVPDKIKX0DER", + "mskuQuantities": [ + { + "msku": "msku1", + "quantity": 1 }, - "taxRates": [ - { - "taxType": "TOTAL_TAX", - "gstRate": 1.0, - "cessRate": 1.0 - } - ] - } + { + "msku": "msku2", + "quantity": 1 + } + ], + "labelType": "STANDARD_FORMAT", + "pageType": "A4_21", + "localeCode": "en_US" } } } }, "response": { - "operationId": "1234abcd-1234-abcd-5678-1234abcd5678" + "documentDownloads": [ + { + "uri": "https://s3.amazonaws.com/bucket", + "downloadType": "URL", + "expiration": "2024-01-01T00:00:00.000Z" + } + ] + } + }, + { + "request": { + "parameters": { + "body": { + "value": { + "marketplaceId": "ATVPDKIKX0DER", + "mskuQuantities": [ + { + "msku": "msku1", + "quantity": 1 + }, + { + "msku": "msku2", + "quantity": 1 + } + ], + "labelType": "THERMAL_PRINTING", + "height": 25.0, + "width": 100.0, + "localeCode": "en_US" + } + } + } + }, + "response": { + "documentDownloads": [ + { + "uri": "https://s3.amazonaws.com/bucket", + "downloadType": "URL", + "expiration": "2024-01-01T00:00:00.000Z" + } + ] } } ] @@ -6571,26 +9995,19 @@ { "request": { "parameters": { - "marketplaceId": { - "value": "ATVPDKIKX0DER" - }, "body": { "value": { - "msku": "badmsku", - "taxDetails": { - "hsnCode": "720299", - "declaredValue": { - "code": "USD", - "amount": 50.0 - }, - "taxRates": [ - { - "taxType": "TOTAL_TAX", - "gstRate": 1.0, - "cessRate": 1.0 - } - ] - } + "marketplaceId": "ATVPDKIKX0DER", + "mskuQuantities": [ + { + "msku": "badMsku", + "quantity": 1 + } + ], + "labelType": "THERMAL_PRINTING", + "height": 25.0, + "width": 100.0, + "localeCode": "en_US" } } } @@ -6599,7 +10016,7 @@ "errors": [ { "code": "BadRequest", - "message": "The requested msku does not exist for the specified marketplace." + "message": "The requested MSKU is not valid for the specified marketplace." } ] } @@ -6617,8 +10034,8 @@ } } }, - "500": { - "description": "An unexpected condition occurred that prevented the server from fulfilling the request.", + "404": { + "description": "The resource specified does not exist.", "schema": { "$ref": "#/definitions/ErrorList" }, @@ -6626,11 +10043,15 @@ "x-amzn-RequestId": { "description": "Unique request reference identifier.", "type": "string" + }, + "x-amzn-RateLimit-Limit": { + "description": "Your rate limit (requests per second) for this operation.", + "type": "string" } } }, - "403": { - "description": "Indicates that access to the resource is forbidden. Possible reasons include Access Denied, Unauthorized, Expired Token, or Invalid Signature.", + "500": { + "description": "An unexpected condition occurred that prevented the server from fulfilling the request.", "schema": { "$ref": "#/definitions/ErrorList" }, @@ -6641,8 +10062,8 @@ } } }, - "404": { - "description": "The resource specified does not exist.", + "403": { + "description": "Indicates that access to the resource is forbidden. Possible reasons include Access Denied, Unauthorized, Expired Token, or Invalid Signature.", "schema": { "$ref": "#/definitions/ErrorList" }, @@ -6650,10 +10071,6 @@ "x-amzn-RequestId": { "description": "Unique request reference identifier.", "type": "string" - }, - "x-amzn-RateLimit-Limit": { - "description": "Your rate limit (requests per second) for this operation.", - "type": "string" } } }, @@ -6709,8 +10126,8 @@ "tags": [ "fbaInbound" ], - "description": "Update compliance details for list of MSKUs. The details provided here are only used for the IN marketplace compliance validation.\n\n**Usage Plan:**\n\n| Rate (requests per second) | Burst |\n| ---- | ---- |\n| 1 | 1 |\n\nThe `x-amzn-RateLimit-Limit` response header returns the usage plan rate limits that were applied to the requested operation, when available. The table above indicates the default rate and burst values for this operation. Selling partners whose business demands require higher throughput may see higher rate and burst values than those shown here. For more information, refer to [Usage Plans and Rate Limits in the Selling Partner API](https://developer-docs.amazon.com/sp-api/docs/usage-plans-and-rate-limits-in-the-sp-api).", - "operationId": "updateItemComplianceDetails" + "description": "For a given marketplace - creates labels for a list of mskus.\n\n**Usage Plan:**\n\n| Rate (requests per second) | Burst |\n| ---- | ---- |\n| 2 | 30 |\n\nThe `x-amzn-RateLimit-Limit` response header returns the usage plan rate limits that were applied to the requested operation, when available. The table above indicates the default rate and burst values for this operation. Selling partners whose business demands require higher throughput may see higher rate and burst values than those shown here. For more information, refer to [Usage Plans and Rate Limits in the Selling Partner API](https://developer-docs.amazon.com/sp-api/docs/usage-plans-and-rate-limits-in-the-sp-api). ", + "operationId": "createMarketplaceItemLabels" } }, "/inbound/fba/2024-03-20/operations/{operationId}": { @@ -6720,7 +10137,7 @@ ], "parameters": [ { - "description": "Identifier to an asynchronous operation.", + "description": "Identifier of an asynchronous operation.", "in": "path", "maxLength": 38, "minLength": 36, @@ -6810,8 +10227,8 @@ } } }, - "500": { - "description": "An unexpected condition occurred that prevented the server from fulfilling the request.", + "404": { + "description": "The resource specified does not exist.", "schema": { "$ref": "#/definitions/ErrorList" }, @@ -6819,11 +10236,15 @@ "x-amzn-RequestId": { "description": "Unique request reference identifier.", "type": "string" + }, + "x-amzn-RateLimit-Limit": { + "description": "Your rate limit (requests per second) for this operation.", + "type": "string" } } }, - "403": { - "description": "Indicates that access to the resource is forbidden. Possible reasons include Access Denied, Unauthorized, Expired Token, or Invalid Signature.", + "500": { + "description": "An unexpected condition occurred that prevented the server from fulfilling the request.", "schema": { "$ref": "#/definitions/ErrorList" }, @@ -6834,8 +10255,8 @@ } } }, - "404": { - "description": "The resource specified does not exist.", + "403": { + "description": "Indicates that access to the resource is forbidden. Possible reasons include Access Denied, Unauthorized, Expired Token, or Invalid Signature.", "schema": { "$ref": "#/definitions/ErrorList" }, @@ -6843,10 +10264,6 @@ "x-amzn-RequestId": { "description": "Unique request reference identifier.", "type": "string" - }, - "x-amzn-RateLimit-Limit": { - "description": "Your rate limit (requests per second) for this operation.", - "type": "string" } } }, @@ -6902,7 +10319,7 @@ "tags": [ "fbaInbound" ], - "description": "Gets the status of the processing of an asynchronous API call.\n\n**Usage Plan:**\n\n| Rate (requests per second) | Burst |\n| ---- | ---- |\n| 1 | 1 |\n\nThe `x-amzn-RateLimit-Limit` response header returns the usage plan rate limits that were applied to the requested operation, when available. The table above indicates the default rate and burst values for this operation. Selling partners whose business demands require higher throughput may see higher rate and burst values than those shown here. For more information, refer to [Usage Plans and Rate Limits in the Selling Partner API](https://developer-docs.amazon.com/sp-api/docs/usage-plans-and-rate-limits-in-the-sp-api).", + "description": "Gets the status of the processing of an asynchronous API call.\n\n**Usage Plan:**\n\n| Rate (requests per second) | Burst |\n| ---- | ---- |\n| 2 | 6 |\n\nThe `x-amzn-RateLimit-Limit` response header returns the usage plan rate limits that were applied to the requested operation, when available. The table above indicates the default rate and burst values for this operation. Selling partners whose business demands require higher throughput may see higher rate and burst values than those shown here. For more information, refer to [Usage Plans and Rate Limits in the Selling Partner API](https://developer-docs.amazon.com/sp-api/docs/usage-plans-and-rate-limits-in-the-sp-api). ", "operationId": "getInboundOperationStatus" } } @@ -6942,12 +10359,110 @@ "pattern": "^[A-Z]{2}$", "type": "string" }, + "email": { + "description": "The email address.", + "maxLength": 1024, + "minLength": 1, + "type": "string" + }, + "name": { + "description": "The name of the individual who is the primary contact.", + "maxLength": 50, + "minLength": 1, + "type": "string" + }, + "phoneNumber": { + "description": "The phone number.", + "maxLength": 20, + "minLength": 1, + "type": "string" + }, + "postalCode": { + "description": "The postal code.", + "maxLength": 32, + "minLength": 1, + "type": "string" + }, + "stateOrProvinceCode": { + "description": "The state or province code.", + "maxLength": 64, + "minLength": 1, + "type": "string" + } + }, + "required": [ + "addressLine1", + "city", + "countryCode", + "name", + "postalCode" + ], + "type": "object", + "example": { + "addressLine1": "123 example street", + "addressLine2": "Floor 19", + "city": "Toronto", + "companyName": "Acme", + "countryCode": "CA", + "email": "email@email.com", + "name": "name", + "phoneNumber": "1234567890", + "postalCode": "M1M1M1", + "stateOrProvinceCode": "ON" + } + }, + "AddressInput": { + "description": "Specific details to identify a place.", + "properties": { + "addressLine1": { + "description": "Street address information.", + "maxLength": 180, + "minLength": 1, + "type": "string" + }, + "addressLine2": { + "description": "Additional street address information.", + "maxLength": 60, + "minLength": 1, + "type": "string" + }, + "city": { + "description": "The city.", + "maxLength": 30, + "minLength": 1, + "type": "string" + }, + "companyName": { + "description": "The name of the business.", + "maxLength": 50, + "minLength": 1, + "type": "string" + }, + "countryCode": { + "description": "The country code in two-character ISO 3166-1 alpha-2 format.", + "maxLength": 2, + "minLength": 2, + "pattern": "^[A-Z]{2}$", + "type": "string" + }, + "email": { + "description": "The email address.", + "maxLength": 1024, + "minLength": 1, + "type": "string" + }, "name": { - "description": "The name of the individual or business.", + "description": "The name of the individual who is the primary contact.", "maxLength": 50, "minLength": 1, "type": "string" }, + "phoneNumber": { + "description": "The phone number.", + "maxLength": 20, + "minLength": 1, + "type": "string" + }, "postalCode": { "description": "The postal code.", "maxLength": 32, @@ -6966,6 +10481,7 @@ "city", "countryCode", "name", + "phoneNumber", "postalCode" ], "type": "object", @@ -6975,7 +10491,9 @@ "city": "Toronto", "companyName": "Acme", "countryCode": "CA", + "email": "email@email.com", "name": "name", + "phoneNumber": "1234567890", "postalCode": "M1M1M1", "stateOrProvinceCode": "ON" } @@ -7001,7 +10519,7 @@ "type": "object" }, "AppointmentSlotTime": { - "description": "An appointment slot time with a start and end.", + "description": "An appointment slot time with start and end.", "properties": { "endTime": { "description": "The end timestamp of the appointment in UTC.", @@ -7021,14 +10539,17 @@ "type": "object" }, "Box": { - "description": "Contains information about a box that is used in the inbound plan. The box may contain an item and metadata about the box itself.", + "description": "Contains information about a box that is used in the inbound plan. The box is a container that holds multiple items.", "properties": { "boxId": { - "description": "The ID provided by Amazon that identifies a given box. This ID is comprised of the external shipment ID (which\n is generated after transportation has been confirmed) and the index of the box.", + "description": "The ID provided by Amazon that identifies a given box. This ID is comprised of the external shipment ID (which is generated after transportation has been confirmed) and the index of the box.", "maxLength": 1024, "minLength": 1, "type": "string" }, + "contentInformationSource": { + "$ref": "#/definitions/BoxContentInformationSource" + }, "destinationRegion": { "$ref": "#/definitions/Region" }, @@ -7060,64 +10581,15 @@ "maxLength": 1024, "minLength": 1, "type": "string" - }, - "weight": { - "$ref": "#/definitions/Weight" - } - }, - "required": [ - "packageId" - ], - "type": "object" - }, - "BoxContent": { - "description": "Specifies contents in a box. Each `BoxContent` minimally contains a mapping of an MSKU to the prep owner, label owner and its quantity in the box. It also contains the MSKU expiration date and manufacturing lot code if applicable.", - "properties": { - "expiration": { - "description": "The date in ISO 8601 format for when the MSKU expires.", - "pattern": "^([0-9]{4})-(0[1-9]|1[0-2])-(0[1-9]|[1-2][0-9]|3[0-1])$", - "type": "string" - }, - "labelOwner": { - "$ref": "#/definitions/LabelOwner" - }, - "manufacturingLotCode": { - "description": "The manufacturing lot code.", - "maxLength": 256, - "minLength": 1, - "type": "string" - }, - "msku": { - "description": "The merchant SKU, a merchant-supplied identifier for a specific SKU.", - "maxLength": 40, - "minLength": 1, - "type": "string" - }, - "prepOwner": { - "$ref": "#/definitions/PrepOwner" - }, - "quantityInBox": { - "description": "The number of units of the given MSKU in the box.", - "maximum": 10000, - "minimum": 1, - "type": "integer" + }, + "weight": { + "$ref": "#/definitions/Weight" } }, "required": [ - "labelOwner", - "msku", - "prepOwner", - "quantityInBox" + "packageId" ], - "type": "object", - "example": { - "expiration": "2024-01-01", - "labelOwner": "AMAZON", - "manufacturingLotCode": "manufacturingLotCode", - "msku": "Sunglasses", - "prepOwner": "AMAZON", - "quantityInBox": 10 - } + "type": "object" }, "BoxContentInformationSource": { "description": "Indication of how box content is meant to be provided.", @@ -7145,37 +10617,25 @@ "BoxInput": { "description": "Input information for a given box.", "properties": { - "boxId": { - "description": "The ID of the box to update that was provided by Amazon. This ID is comprised of the external shipment ID\n (which is generated after transportation has been confirmed) and the index of the box.", - "maxLength": 1024, - "minLength": 1, - "type": "string" - }, "contentInformationSource": { "$ref": "#/definitions/BoxContentInformationSource" }, - "contents": { - "description": "The Contents of the box containing a list of MSKUs and their quantity. If `boxAttribute` is `BARCODE_2D` or `MANUAL_PROCESS`, user should provide ALL of the items that could be in the box, without specifying item quantities.", + "dimensions": { + "$ref": "#/definitions/Dimensions" + }, + "items": { + "description": "The items and their quantity in the box. This must be empty if the box `contentInformationSource` is `BARCODE_2D` or `MANUAL_PROCESS`.", "items": { - "$ref": "#/definitions/BoxContent" + "$ref": "#/definitions/ItemInput" }, "type": "array" }, - "dimensions": { - "$ref": "#/definitions/Dimensions" - }, "quantity": { "description": "The number of containers where all other properties like weight or dimensions are identical.", "maximum": 10000, "minimum": 1, "type": "integer" }, - "templateName": { - "description": "The seller-provided name for a 'type' of box (or a group of boxes with the same contents), which will be used to identify all created boxes of that type. When providing bulk box information, this value must be unique from the other box types. When providing individual boxes with existing IDs, this value can be shared between many boxes that have the same contents.", - "maxLength": 1024, - "minLength": 1, - "type": "string" - }, "weight": { "$ref": "#/definitions/Weight" } @@ -7184,37 +10644,76 @@ "contentInformationSource", "dimensions", "quantity", - "templateName", "weight" ], "type": "object", "example": { "boxId": "FBA10ABC0YY100001", "contentInformationSource": "BOX_CONTENT_PROVIDED", - "contents": [ + "dimensions": { + "height": 5, + "length": 3, + "unitOfMeasurement": "CM", + "width": 4 + }, + "items": [ { "expiration": "2024-01-01", "labelOwner": "AMAZON", "manufacturingLotCode": "manufacturingLotCode", "msku": "Sunglasses", "prepOwner": "AMAZON", - "quantityInBox": 10 + "quantity": 10 } ], - "dimensions": { - "height": 5, - "length": 3, - "unitOfMeasurement": "CM", - "width": 4 - }, "quantity": 2, - "templateName": "templateName", "weight": { "unit": "KG", "value": 5.5 } } }, + "BoxUpdateInput": { + "description": "Input information for updating a box", + "properties": { + "contentInformationSource": { + "$ref": "#/definitions/BoxContentInformationSource" + }, + "dimensions": { + "$ref": "#/definitions/Dimensions" + }, + "items": { + "description": "The items and their quantity in the box. This must be empty if the box `contentInformationSource` is `BARCODE_2D` or `MANUAL_PROCESS`.", + "items": { + "$ref": "#/definitions/ItemInput" + }, + "type": "array" + }, + "packageId": { + "description": "Primary key to uniquely identify a Box Package. PackageId must be provided if the intent is to update an existing box. Adding a new box will not require providing this value. Any existing PackageIds not provided will be treated as to-be-removed", + "maxLength": 38, + "minLength": 38, + "pattern": "^[a-zA-Z0-9-]*$", + "type": "string" + }, + "quantity": { + "description": "The number of containers where all other properties like weight or dimensions are identical.", + "maximum": 10000, + "minimum": 1, + "type": "integer" + }, + "weight": { + "$ref": "#/definitions/Weight" + } + }, + "required": [ + "contentInformationSource", + "dimensions", + "quantity", + "weight" + ], + "type": "object" + }, "CancelInboundPlanResponse": { "description": "The `cancelInboundPlan` response.", "properties": { @@ -7244,7 +10743,7 @@ } }, "CancelSelfShipAppointmentResponse": { - "description": "The `cancelSelfShipAppointment` response.", + "description": "The `CancelSelfShipAppointment` response.", "properties": { "operationId": { "description": "UUID for the given operation.", @@ -7277,6 +10776,26 @@ }, "type": "object" }, + "CarrierAppointment": { + "description": "Contains details for a transportation carrier appointment. This appointment is vended out by Amazon and is an indicator for when a transportation carrier is accepting shipments to be picked up.", + "properties": { + "endTime": { + "description": "The end timestamp of the appointment in UTC.", + "format": "date-time", + "type": "string" + }, + "startTime": { + "description": "The start timestamp of the appointment in UTC.", + "format": "date-time", + "type": "string" + } + }, + "required": [ + "endTime", + "startTime" + ], + "type": "object" + }, "ComplianceDetail": { "description": "Contains item identifiers and related tax information.", "properties": { @@ -7304,6 +10823,25 @@ }, "type": "object" }, + "ConfirmDeliveryWindowOptionsResponse": { + "description": "The `confirmDeliveryWindowOptions` response.", + "properties": { + "operationId": { + "description": "UUID for the given operation.", + "maxLength": 38, + "minLength": 36, + "pattern": "^[a-zA-Z0-9-]*$", + "type": "string" + } + }, + "required": [ + "operationId" + ], + "type": "object", + "example": { + "operationId": "1234abcd-1234-abcd-5678-1234abcd5678" + } + }, "ConfirmPackingOptionResponse": { "description": "The `confirmPackingOption` response.", "properties": { @@ -7336,6 +10874,22 @@ ], "type": "object" }, + "ConfirmShipmentContentUpdatePreviewResponse": { + "description": "The `confirmShipmentContentUpdatePreview` response.", + "properties": { + "operationId": { + "description": "UUID for the given operation.", + "maxLength": 38, + "minLength": 36, + "pattern": "^[a-zA-Z0-9-]*$", + "type": "string" + } + }, + "required": [ + "operationId" + ], + "type": "object" + }, "ConfirmTransportationOptionsRequest": { "description": "The `confirmTransportationOptions` request.", "properties": { @@ -7389,39 +10943,68 @@ "description": "The seller's contact information.", "properties": { "email": { - "description": "Email address.", + "description": "The email address.", "maxLength": 1024, "minLength": 1, "type": "string" }, "name": { - "description": "The name belonging to the contact. This field is required when contact information is being provided for\n Less-Than-Truckload (LTL) carrier shipments.", - "maxLength": 1024, + "description": "The contact's name.", + "maxLength": 50, "minLength": 1, "type": "string" }, "phoneNumber": { - "description": "The phone number of the seller.", + "description": "The phone number.", "maxLength": 20, "minLength": 1, "type": "string" } }, "required": [ + "name", "phoneNumber" ], "type": "object", "example": { "email": "email@email.com", + "name": "name", "phoneNumber": "1234567890" } }, + "ContentUpdatePreview": { + "description": "Preview of the changes that will be applied to the shipment.", + "properties": { + "contentUpdatePreviewId": { + "description": "Identifier of a content update preview.", + "maxLength": 38, + "minLength": 38, + "pattern": "^[a-zA-Z0-9-]*$", + "type": "string" + }, + "expiration": { + "description": "The date in ISO 8601 format for when the content update expires.", + "pattern": "^([0-9]{4})-(0[1-9]|1[0-2])-(0[1-9]|[1-2][0-9]|3[0-1])$", + "type": "string" + }, + "requestedUpdates": { + "$ref": "#/definitions/RequestedUpdates" + }, + "transportationOption": { + "$ref": "#/definitions/TransportationOption" + } + }, + "required": [ + "contentUpdatePreviewId", + "expiration", + "requestedUpdates", + "transportationOption" + ], + "type": "object" + }, "CreateInboundPlanRequest": { "description": "The `createInboundPlan` request.", "properties": { - "contactInformation": { - "$ref": "#/definitions/ContactInformation" - }, "destinationMarketplaces": { "description": "Marketplaces where the items need to be shipped to. Currently only one marketplace can be selected in this request.", "items": { @@ -7450,11 +11033,10 @@ "type": "string" }, "sourceAddress": { - "$ref": "#/definitions/Address" + "$ref": "#/definitions/AddressInput" } }, "required": [ - "contactInformation", "destinationMarketplaces", "items", "sourceAddress" @@ -7463,6 +11045,7 @@ "example": { "contactInformation": { "email": "email@email.com", + "name": "name", "phoneNumber": "1234567890" }, "destinationMarketplaces": [ @@ -7485,7 +11068,9 @@ "city": "Toronto", "companyName": "Acme", "countryCode": "CA", + "email": "email@email.com", "name": "name", + "phoneNumber": "1234567890", "postalCode": "M1M1M1", "stateOrProvinceCode": "ON" } @@ -7495,7 +11080,7 @@ "description": "The `createInboundPlan` response.", "properties": { "inboundPlanId": { - "description": "Identifier to an inbound plan.", + "description": "Identifier of an inbound plan.", "maxLength": 38, "minLength": 38, "pattern": "^[a-zA-Z0-9-]*$", @@ -7515,6 +11100,85 @@ ], "type": "object" }, + "CreateMarketplaceItemLabelsRequest": { + "description": "The `createMarketplaceItemLabels` request.", + "properties": { + "height": { + "description": "The height of the item label.", + "maximum": 100, + "minimum": 25, + "type": "number" + }, + "labelType": { + "$ref": "#/definitions/LabelPrintType" + }, + "localeCode": { + "description": "The locale code constructed from ISO 639 language code and ISO 3166-1 alpha-2 standard of country codes separated by an underscore character.", + "pattern": "^[a-z]{2}_[A-Z]{2}$", + "type": "string" + }, + "marketplaceId": { + "description": "The Marketplace ID. Refer to [Marketplace IDs](https://developer-docs.amazon.com/sp-api/docs/marketplace-ids) for a list of possible values.", + "maxLength": 256, + "minLength": 1, + "type": "string" + }, + "mskuQuantities": { + "description": "Represents the quantity of an msku to print item labels for.", + "items": { + "$ref": "#/definitions/MskuQuantity" + }, + "maxItems": 100, + "minItems": 1, + "type": "array" + }, + "pageType": { + "$ref": "#/definitions/ItemLabelPageType" + }, + "width": { + "description": "The width of the item label.", + "maximum": 100, + "minimum": 25, + "type": "number" + } + }, + "required": [ + "labelType", + "marketplaceId", + "mskuQuantities" + ], + "type": "object", + "example": { + "height": 25, + "labelType": "STANDARD_FORMAT", + "localeCode": "en_US", + "marketplaceId": "A2EUQ1WTGCTBG2", + "mskuQuantities": [ + { + "msku": "msku", + "quantity": 5 + } + ], + "pageType": "A4_21", + "width": 100 + } + }, + "CreateMarketplaceItemLabelsResponse": { + "description": "The `createMarketplaceItemLabels` response.", + "properties": { + "documentDownloads": { + "description": "Resources to download the requested document.", + "items": { + "$ref": "#/definitions/DocumentDownload" + }, + "type": "array" + } + }, + "required": [ + "documentDownloads" + ], + "type": "object" + }, "Currency": { "description": "Currency definition.", "properties": { @@ -7574,11 +11238,8 @@ } }, "Dates": { - "description": "Specifies the dates that the seller expects their shipment will be shipped and delivered.", + "description": "Specifies the date that the seller expects their shipment will be shipped.", "properties": { - "deliveryWindow": { - "$ref": "#/definitions/Window" - }, "readyToShipWindow": { "$ref": "#/definitions/Window" } @@ -7591,19 +11252,66 @@ } } }, + "DeliveryWindowOption": { + "description": "Contains information pertaining to a delivery window option.", + "properties": { + "availabilityType": { + "description": "Identifies type of Delivery Window Availability. Values: `AVAILABLE`, `CONGESTED`", + "type": "string" + }, + "deliveryWindowOptionId": { + "description": "Identifier of a delivery window option. A delivery window option represent one option for when a shipment is expected to be delivered.", + "maxLength": 38, + "minLength": 36, + "pattern": "^[a-zA-Z0-9-]*$", + "type": "string" + }, + "endDate": { + "description": "The timestamp at which this delivery window option ends. This is based in ISO 8601 datetime with pattern `yyyy-MM-ddTHH:mm:ss.sssZ`.", + "format": "date-time", + "type": "string" + }, + "startDate": { + "description": "The timestamp at which this delivery window option starts. This is based in ISO 8601 datetime with pattern `yyyy-MM-ddTHH:mm:ss.sssZ`.", + "format": "date-time", + "type": "string" + }, + "validUntil": { + "description": "The timestamp at which this window delivery option becomes no longer valid. This is based in ISO 8601 datetime with pattern `yyyy-MM-ddTHH:mm:ss.sssZ`.", + "format": "date-time", + "type": "string" + } + }, + "required": [ + "availabilityType", + "deliveryWindowOptionId", + "endDate", + "startDate", + "validUntil" + ], + "type": "object", + "example": { + "availabilityType": "AVAILABLE", + "deliveryWindowOptionId": "dw1234abcd-1234-abcd-5678-1234abcd5678", + "endDate": "2024-01-05T20:00:00.000Z", + "inboundPlanId": "wf1234abcd-1234-abcd-5678-1234abcd5678", + "placementOptionId": "pl1234abcd-1234-abcd-5678-1234abcd5678", + "shipmentId": "sh1234abcd-1234-abcd-5678-1234abcd5678", + "startDate": "2024-01-05T14:00:00.000Z", + "validUntil": "2024-01-05T20:00:00.000Z" + } + }, "Dimensions": { - "description": "Measurement of a package dimensions.", + "description": "Measurement of a package's dimensions.", "properties": { "height": { - "description": "Height.", - "format": "double", + "description": "The height of a package.", "maximum": 100000, "minimum": 0, "type": "number" }, "length": { - "description": "Length.", - "format": "double", + "description": "The length of a package.", "maximum": 100000, "minimum": 0, "type": "number" @@ -7612,8 +11320,7 @@ "$ref": "#/definitions/UnitOfMeasurement" }, "width": { - "description": "Width.", - "format": "double", + "description": "The width of a package.", "maximum": 100000, "minimum": 0, "type": "number" @@ -7631,7 +11338,7 @@ "description": "Resource to download the requested document.", "properties": { "downloadType": { - "description": "The type of download. Can be `URL` or `PDF_BASE64`.", + "description": "The type of download. Can be `URL`.", "type": "string" }, "expiration": { @@ -7695,7 +11402,45 @@ } }, "required": [ - "errors" + "errors" + ], + "type": "object" + }, + "FreightInformation": { + "description": "Freight information describes the skus being transported. Freight carrier options and quotes will only be returned if the freight information is provided.", + "properties": { + "declaredValue": { + "$ref": "#/definitions/Currency" + }, + "freightClass": { + "description": "Freight class. Can be: `NONE`, `FC_50`, `FC_55`, `FC_60`, `FC_65`, `FC_70`, `FC_77_5`, `FC_85`, `FC_92_5`, `FC_100`, `FC_110`, `FC_125`, `FC_150`, `FC_175`, `FC_200`, `FC_250`, `FC_300`, `FC_400`, `FC_500`.", + "maxLength": 1024, + "minLength": 1, + "type": "string" + } + }, + "type": "object", + "example": { + "declaredValue": { + "amount": 5.5, + "code": "CAD" + }, + "freightClass": "FC_50" + } + }, + "GenerateDeliveryWindowOptionsResponse": { + "description": "The `generateDeliveryWindowOptions` response.", + "properties": { + "operationId": { + "description": "UUID for the given operation.", + "maxLength": 38, + "minLength": 36, + "pattern": "^[a-zA-Z0-9-]*$", + "type": "string" + } + }, + "required": [ + "operationId" ], "type": "object" }, @@ -7719,7 +11464,7 @@ "description": "The `generatePlacementOptions` request.", "properties": { "customPlacement": { - "description": "Custom placements options to be added to the plan.", + "description": "Custom placement options to be added to the plan.", "items": { "$ref": "#/definitions/CustomPlacementInput" }, @@ -7797,6 +11542,89 @@ ], "type": "object" }, + "GenerateShipmentContentUpdatePreviewsRequest": { + "description": "The `GenerateShipmentContentUpdatePreviews` request.", + "properties": { + "boxes": { + "description": "A list of boxes that will be present in the shipment after the update.", + "items": { + "$ref": "#/definitions/BoxUpdateInput" + }, + "maxItems": 5000, + "minItems": 1, + "type": "array" + }, + "items": { + "description": "A list of all items that will be present in the shipment after the update.", + "items": { + "$ref": "#/definitions/ItemInput" + }, + "maxItems": 2000, + "minItems": 1, + "type": "array" + } + }, + "required": [ + "boxes", + "items" + ], + "type": "object", + "example": { + "boxes": [ + { + "contentInformationSource": "BOX_CONTENT_PROVIDED", + "dimensions": { + "height": 5, + "length": 3, + "unitOfMeasurement": "CM", + "width": 4 + }, + "items": [ + { + "expiration": "2024-01-01", + "labelOwner": "AMAZON", + "manufacturingLotCode": "manufacturingLotCode", + "msku": "Sunglasses", + "prepOwner": "AMAZON", + "quantity": 10 + } + ], + "packageId": "pk1234abcd-1234-abcd-5678-1234abcd5678", + "quantity": 2, + "weight": { + "unit": "KG", + "value": 5.5 + } + } + ], + "items": [ + { + "expiration": "2024-01-01", + "labelOwner": "AMAZON", + "manufacturingLotCode": "manufacturingLotCode", + "msku": "Sunglasses", + "prepOwner": "AMAZON", + "quantity": 10 + } + ] + } + }, + "GenerateShipmentContentUpdatePreviewsResponse": { + "description": "The `GenerateShipmentContentUpdatePreviews` response.", + "properties": { + "operationId": { + "description": "UUID for the given operation.", + "maxLength": 38, + "minLength": 36, + "pattern": "^[a-zA-Z0-9-]*$", + "type": "string" + } + }, + "required": [ + "operationId" + ], + "type": "object" + }, "GenerateTransportationOptionsRequest": { "description": "The `generateTransportationOptions` request.", "properties": { @@ -7812,6 +11640,7 @@ "items": { "$ref": "#/definitions/ShipmentTransportationConfiguration" }, + "minItems": 1, "type": "array" } }, @@ -7829,29 +11658,29 @@ "name": "John Smithy", "phoneNumber": "1234567890" }, - "palletInformation": { + "freightInformation": { "declaredValue": { - "amount": 500, - "code": "USD" + "amount": 5.5, + "code": "CAD" }, - "freightClass": "FC_50", - "pallets": [ - { - "dimensions": { - "height": 5, - "length": 3, - "unitOfMeasurement": "CM", - "width": 4 - }, - "quantity": 2, - "stackability": "STACKABLE", - "weight": { - "unit": "KG", - "value": 5.5 - } - } - ] + "freightClass": "FC_50" }, + "pallets": [ + { + "dimensions": { + "height": 5, + "length": 3, + "unitOfMeasurement": "CM", + "width": 4 + }, + "quantity": 2, + "stackability": "STACKABLE", + "weight": { + "unit": "KG", + "value": 5.5 + } + } + ], "readyToShipWindow": { "start": "2024-01-01T00:00Z" }, @@ -7904,16 +11733,16 @@ "type": "object" }, "InboundOperationStatus": { - "description": "The `getInboundOperationStatus` response.", + "description": "GetInboundOperationStatus response.", "properties": { "operation": { - "description": "The name of the operation that was executed in the asynchronous API call.", + "description": "The name of the operation in the asynchronous API call.", "maxLength": 1024, "minLength": 1, "type": "string" }, "operationId": { - "description": "The operation Id returned by the asynchronous API call.", + "description": "The operation ID returned by the asynchronous API call.", "maxLength": 38, "minLength": 36, "pattern": "^[a-zA-Z0-9-]*$", @@ -7941,16 +11770,13 @@ "InboundPlan": { "description": "Inbound plan containing details of the inbound workflow.", "properties": { - "contactInformation": { - "$ref": "#/definitions/ContactInformation" - }, "createdAt": { "description": "The ISO 8601 datetime with pattern `yyyy-MM-ddTHH:mm:ss.sssZ`.", "format": "date-time", "type": "string" }, "inboundPlanId": { - "description": "Identifier to an inbound plan.", + "description": "Identifier of an inbound plan.", "maxLength": 38, "minLength": 38, "pattern": "^[a-zA-Z0-9-]*$", @@ -7972,25 +11798,25 @@ "type": "array" }, "name": { - "description": "The human-readable name of the inbound plan.", + "description": "Human-readable name of the inbound plan.", "type": "string" }, "packingOptions": { - "description": "Packing options for the inbound plan. This property will be populated when it has been generated via the corresponding endpoint. If there is a chosen placement option, only packing options for that placement option will be returned. If there are confirmed shipments, only packing options for those shipments will be returned. Query the packing option for more details.", + "description": "Packing options for the inbound plan. This property will be populated when it has been generated via the corresponding operation. If there is a chosen placement option, only packing options for that placement option will be returned. If there are confirmed shipments, only packing options for those shipments will be returned. Query the packing option for more details.", "items": { "$ref": "#/definitions/PackingOptionSummary" }, "type": "array" }, "placementOptions": { - "description": "Placement options for the inbound plan. This property will be populated when it has been generated via the corresponding endpoint. If there is a chosen placement option, that will be the only returned option. Query the placement option for more details.", + "description": "Placement options for the inbound plan. This property will be populated when it has been generated via the corresponding operation. If there is a chosen placement option, that will be the only returned option. Query the placement option for more details.", "items": { "$ref": "#/definitions/PlacementOptionSummary" }, "type": "array" }, "shipments": { - "description": "Shipment IDs for the inbound plan. This property will be populated when it has been generated via the corresponding endpoint. If there is a chosen placement option, only shipments for that option will be returned. If there are confirmed shipments, only those shipments will be returned. Query the shipment for more details.", + "description": "Shipment IDs for the inbound plan. This property will be populated when it has been generated via the corresponding operation. If there is a chosen placement option, only shipments for that option will be returned. If there are confirmed shipments, only those shipments will be returned. Query the shipment for more details.", "items": { "$ref": "#/definitions/ShipmentSummary" }, @@ -8000,14 +11826,13 @@ "$ref": "#/definitions/Address" }, "status": { - "description": "Current status of the inbound plan. Can be `ACTIVE`, `VOIDED`, or `SHIPPED`.", + "description": "Current status of the inbound plan. Can be: `ACTIVE`, `VOIDED`, `SHIPPED`, 'ERRORED'.", "maxLength": 1024, "minLength": 1, "type": "string" } }, "required": [ - "contactInformation", "createdAt", "inboundPlanId", "lastUpdatedAt", @@ -8020,6 +11845,7 @@ "example": { "contactInformation": { "email": "email@email.com", + "name": "name", "phoneNumber": "1234567890" }, "createdAt": "2024-03-20T12:01:00Z", @@ -8038,7 +11864,9 @@ "city": "Toronto", "companyName": "Acme", "countryCode": "CA", + "email": "email@email.com", "name": "name", + "phoneNumber": "1234567890", "postalCode": "M1M1M1", "stateOrProvinceCode": "ON" }, @@ -8048,23 +11876,20 @@ "InboundPlanSummary": { "description": "A light-weight inbound plan.", "properties": { - "contactInformation": { - "$ref": "#/definitions/ContactInformation" - }, "createdAt": { "description": "The ISO 8601 datetime with pattern `yyyy-MM-ddTHH:mm:ss.sssZ`.", "format": "date-time", "type": "string" }, "inboundPlanId": { - "description": "Identifier to an inbound plan.", + "description": "Identifier of an inbound plan.", "maxLength": 38, "minLength": 38, "pattern": "^[a-zA-Z0-9-]*$", "type": "string" }, "lastUpdatedAt": { - "description": "ISO 8601 datetime with pattern `yyyy-MM-ddTHH:mm:ss.sssZ`.", + "description": "The ISO 8601 datetime with pattern `yyyy-MM-ddTHH:mm:ss.sssZ`.", "format": "date-time", "type": "string" }, @@ -8086,14 +11911,13 @@ "$ref": "#/definitions/Address" }, "status": { - "description": "Current status of the inbound plan. Can be 'ACTIVE', 'VOIDED', or 'SHIPPED'.", + "description": "Current status of the inbound plan. Can be: `ACTIVE`, `VOIDED`, `SHIPPED`, 'ERRORED'.", "maxLength": 1024, "minLength": 1, "type": "string" } }, "required": [ - "contactInformation", "createdAt", "inboundPlanId", "lastUpdatedAt", @@ -8106,6 +11930,7 @@ "example": { "contactInformation": { "email": "email@email.com", + "name": "name", "phoneNumber": "1234567890" }, "createdAt": "2023-03-08T13:15:30Z", @@ -8121,7 +11946,9 @@ "city": "Toronto", "companyName": "Acme", "countryCode": "CA", + "email": "email@email.com", "name": "name", + "phoneNumber": "1234567890", "postalCode": "M1M1M1", "stateOrProvinceCode": "ON" }, @@ -8144,7 +11971,7 @@ "type": "string" }, "type": { - "description": "Type of incentive. Can be `FEE` or `DISCOUNT`.", + "description": "Type of incentive. Can be: `FEE`, `DISCOUNT`.", "maxLength": 1024, "minLength": 1, "type": "string" @@ -8182,7 +12009,7 @@ "type": "string" }, "labelOwner": { - "description": "Specifies who will label the items. Options include `AMAZON` and `SELLER`.", + "description": "Specifies who will label the items. Options include `AMAZON`, `SELLER`, and `NONE`.", "maxLength": 1024, "minLength": 1, "type": "string" @@ -8241,7 +12068,7 @@ "type": "string" }, "msku": { - "description": "The merchant SKU.", + "description": "Merchant SKU.", "maxLength": 40, "minLength": 1, "type": "string" @@ -8250,7 +12077,7 @@ "$ref": "#/definitions/PrepOwner" }, "quantity": { - "description": "The number of units of the specified MSKU that will be shipped.", + "description": "The number of units of the specified msku that will be shipped.", "maximum": 10000, "minimum": 1, "type": "integer" @@ -8272,26 +12099,133 @@ "quantity": 10 } }, + "ItemLabelPageType": { + "description": "The page type to use to print the labels. Possible values: 'A4_21', 'A4_24', 'A4_24_64x33', 'A4_24_66x35', 'A4_24_70x36', 'A4_24_70x37', 'A4_24i', 'A4_27', 'A4_40_52x29', 'A4_44_48x25', 'Letter_30'.", + "enum": [ + "A4_21", + "A4_24", + "A4_24_64x33", + "A4_24_66x35", + "A4_24_70x36", + "A4_24_70x37", + "A4_24i", + "A4_27", + "A4_40_52x29", + "A4_44_48x25", + "Letter_30" + ], + "type": "string", + "x-docgen-enum-table-extension": [ + { + "value": "A4_21", + "description": "-" + }, + { + "value": "A4_24", + "description": "-" + }, + { + "value": "A4_24_64x33", + "description": "-" + }, + { + "value": "A4_24_66x35", + "description": "-" + }, + { + "value": "A4_24_70x36", + "description": "-" + }, + { + "value": "A4_24_70x37", + "description": "-" + }, + { + "value": "A4_24i", + "description": "-" + }, + { + "value": "A4_27", + "description": "-" + }, + { + "value": "A4_40_52x29", + "description": "-" + }, + { + "value": "A4_44_48x25", + "description": "-" + }, + { + "value": "Letter_30", + "description": "-" + } + ], + "example": "A4_21" + }, "LabelOwner": { - "description": "Specifies who will label the items. Options include `AMAZON` and `SELLER`.", + "description": "Specifies who will label the items. Options include `AMAZON`, `SELLER` or `NONE`.", "enum": [ "AMAZON", - "SELLER" + "SELLER", + "NONE" ], "type": "string", "x-docgen-enum-table-extension": [ { "value": "AMAZON", - "description": "-" + "description": "Amazon provides the information." }, { "value": "SELLER", - "description": "-" + "description": "Seller provides the information." + }, + { + "value": "NONE", + "description": "No owner is required for the labelling." } ] }, + "LabelPrintType": { + "description": "Indicates the type of print type for a given label.", + "enum": [ + "STANDARD_FORMAT", + "THERMAL_PRINTING" + ], + "type": "string", + "x-docgen-enum-table-extension": [ + { + "value": "STANDARD_FORMAT", + "description": "-" + }, + { + "value": "THERMAL_PRINTING", + "description": "-" + } + ], + "example": "STANDARD_FORMAT" + }, + "ListDeliveryWindowOptionsResponse": { + "description": "The `listDeliveryWindowOptions` response.", + "properties": { + "deliveryWindowOptions": { + "description": "Delivery window options generated for the placement option.", + "items": { + "$ref": "#/definitions/DeliveryWindowOption" + }, + "type": "array" + }, + "pagination": { + "$ref": "#/definitions/Pagination" + } + }, + "required": [ + "deliveryWindowOptions" + ], + "type": "object" + }, "ListInboundPlanBoxesResponse": { - "description": "`listInboundPlanBoxes` response.", + "description": "The `listInboundPlanBoxes` response.", "properties": { "boxes": { "description": "A list of boxes in an inbound plan.", @@ -8310,7 +12244,7 @@ "type": "object" }, "ListInboundPlanItemsResponse": { - "description": "`listInboundPlanItems` response.", + "description": "The `listInboundPlanItems` response.", "properties": { "items": { "description": "The items in an inbound plan.", @@ -8329,7 +12263,7 @@ "type": "object" }, "ListInboundPlanPalletsResponse": { - "description": "`listInboundPlanPallets` response.", + "description": "The `listInboundPlanPallets` response.", "properties": { "pagination": { "$ref": "#/definitions/Pagination" @@ -8348,7 +12282,7 @@ "type": "object" }, "ListInboundPlansResponse": { - "description": "`listInboundPlans` response.", + "description": "The `listInboundPlans` response.", "properties": { "inboundPlans": { "description": "A list of inbound plans with minimal information.", @@ -8364,7 +12298,7 @@ "type": "object" }, "ListItemComplianceDetailsResponse": { - "description": "`listItemComplianceDetails` response.", + "description": "The `listItemComplianceDetails` response.", "properties": { "complianceDetails": { "description": "List of compliance details.", @@ -8376,11 +12310,30 @@ }, "type": "object" }, + "ListPackingGroupBoxesResponse": { + "description": "The `listPackingGroupBoxes` response.", + "properties": { + "boxes": { + "description": "Provides the information about the list of boxes in the packing group.", + "items": { + "$ref": "#/definitions/Box" + }, + "type": "array" + }, + "pagination": { + "$ref": "#/definitions/Pagination" + } + }, + "required": [ + "boxes" + ], + "type": "object" + }, "ListPackingGroupItemsResponse": { - "description": "`listPackingGroupItems` response.", + "description": "The `listPackingGroupItems` response.", "properties": { "items": { - "description": "Provides the information about the list of items in the inbound plan.", + "description": "Provides the information about the list of items in the packing group.", "items": { "$ref": "#/definitions/Item" }, @@ -8396,7 +12349,7 @@ "type": "object" }, "ListPackingOptionsResponse": { - "description": "`listPackingOptions` response.", + "description": "The `listPlacementOptions` response.", "properties": { "packingOptions": { "description": "List of packing options.", @@ -8415,7 +12368,7 @@ "type": "object" }, "ListPlacementOptionsResponse": { - "description": "`listPlacementOptions` response.", + "description": "The `listPlacementOptions` response.", "properties": { "pagination": { "$ref": "#/definitions/Pagination" @@ -8423,18 +12376,94 @@ "placementOptions": { "description": "Placement options generated for the inbound plan.", "items": { - "$ref": "#/definitions/PlacementOption" + "$ref": "#/definitions/PlacementOption" + }, + "type": "array" + } + }, + "required": [ + "placementOptions" + ], + "type": "object" + }, + "ListShipmentBoxesResponse": { + "description": "The `listShipmentBoxes` response.", + "properties": { + "boxes": { + "description": "A list of boxes in a shipment.", + "items": { + "$ref": "#/definitions/Box" + }, + "type": "array" + }, + "pagination": { + "$ref": "#/definitions/Pagination" + } + }, + "required": [ + "boxes" + ], + "type": "object" + }, + "ListShipmentContentUpdatePreviewsResponse": { + "description": "The `ListShipmentContentUpdatePreviews` response.", + "properties": { + "contentUpdatePreviews": { + "description": "A list of content update previews in a shipment.", + "items": { + "$ref": "#/definitions/ContentUpdatePreview" + }, + "type": "array" + }, + "pagination": { + "$ref": "#/definitions/Pagination" + } + }, + "required": [ + "contentUpdatePreviews" + ], + "type": "object" + }, + "ListShipmentItemsResponse": { + "description": "The `listShipmentItems` response.", + "properties": { + "items": { + "description": "The items in a shipment.", + "items": { + "$ref": "#/definitions/Item" + }, + "type": "array" + }, + "pagination": { + "$ref": "#/definitions/Pagination" + } + }, + "required": [ + "items" + ], + "type": "object" + }, + "ListShipmentPalletsResponse": { + "description": "The `listShipmentPallets` response.", + "properties": { + "pagination": { + "$ref": "#/definitions/Pagination" + }, + "pallets": { + "description": "The pallets in a shipment.", + "items": { + "$ref": "#/definitions/Pallet" }, "type": "array" } }, "required": [ - "placementOptions" + "pallets" ], "type": "object" }, "ListTransportationOptionsResponse": { - "description": "`listTransportationOptions` response.", + "description": "The `listTransportationOptions` response.", "properties": { "pagination": { "$ref": "#/definitions/Pagination" @@ -8507,6 +12536,32 @@ ] } }, + "MskuQuantity": { + "description": "Represents an msku and the related quantity.", + "properties": { + "msku": { + "description": "The merchant SKU, a merchant-supplied identifier for a specific SKU.", + "maxLength": 40, + "minLength": 1, + "type": "string" + }, + "quantity": { + "description": "A positive integer.", + "maximum": 10000, + "minimum": 1, + "type": "integer" + } + }, + "required": [ + "msku", + "quantity" + ], + "type": "object", + "example": { + "msku": "msku", + "quantity": 5 + } + }, "OperationProblem": { "description": "A problem with additional properties persisted to an operation.", "properties": { @@ -8529,7 +12584,7 @@ "type": "string" }, "severity": { - "description": "The severity of the problem. Can be 'WARNING', or 'ERROR'.", + "description": "The severity of the problem. Can be: `WARNING`, `ERROR`.", "maxLength": 1024, "minLength": 1, "type": "string" @@ -8599,26 +12654,25 @@ "example": { "boxes": [ { - "boxId": "boxId", + "boxId": "FBA10ABC0YY100001", "contentInformationSource": "BOX_CONTENT_PROVIDED", - "contents": [ + "dimensions": { + "height": 5, + "length": 3, + "unitOfMeasurement": "CM", + "width": 4 + }, + "items": [ { "expiration": "2024-01-01", "labelOwner": "AMAZON", "manufacturingLotCode": "manufacturingLotCode", "msku": "Sunglasses", "prepOwner": "AMAZON", - "quantityInBox": 10 + "quantity": 10 } ], - "dimensions": { - "height": 5, - "length": 3, - "unitOfMeasurement": "CM", - "width": 4 - }, "quantity": 2, - "templateName": "templateName", "weight": { "unit": "KG", "value": 5.5 @@ -8640,7 +12694,7 @@ "type": "array" }, "expiration": { - "description": "The timestamp at which this packing option becomes no longer valid. This is in ISO 8601 datetime format with pattern `yyyy-MM-ddTHH:mm:ss.sssZ`.", + "description": "The timestamp at which this packing option becomes no longer valid. This is based in ISO 8601 datetime with pattern `yyyy-MM-ddTHH:mm:ss.sssZ`.", "format": "date-time", "type": "string" }, @@ -8651,17 +12705,10 @@ }, "type": "array" }, - "inboundPlanId": { - "description": "Identifier to an inbound plan.", - "maxLength": 38, - "minLength": 38, - "pattern": "^[a-zA-Z0-9-]*$", - "type": "string" - }, "packingGroups": { "description": "Packing group IDs.", "items": { - "description": "Identifier to a packing group.", + "description": "Identifier of a packing group.", "maxLength": 38, "minLength": 38, "pattern": "^[a-zA-Z0-9-]*$", @@ -8670,14 +12717,14 @@ "type": "array" }, "packingOptionId": { - "description": "Identifier to a packing option.", + "description": "Identifier of a packing option.", "maxLength": 38, "minLength": 38, "pattern": "^[a-zA-Z0-9-]*$", "type": "string" }, "status": { - "description": "The status of the packing option. Can be `OFFERED`, `ACCEPTED`, or `EXPIRED`.", + "description": "The status of the packing option. Can be: `OFFERED`, `ACCEPTED`, or `EXPIRED`.", "maxLength": 1024, "minLength": 1, "type": "string" @@ -8693,7 +12740,6 @@ "required": [ "discounts", "fees", - "inboundPlanId", "packingGroups", "packingOptionId", "status", @@ -8705,7 +12751,7 @@ "description": "Summary information about a packing option.", "properties": { "packingOptionId": { - "description": "Identifier to a packing option.", + "description": "Identifier of a packing option.", "maxLength": 38, "minLength": 38, "pattern": "^[a-zA-Z0-9-]*$", @@ -8771,33 +12817,8 @@ ], "type": "object" }, - "PalletInformation": { - "description": "Pallet information, including weight, dimensions, quantity, stackability, freight class, and declared value.", - "properties": { - "declaredValue": { - "$ref": "#/definitions/Currency" - }, - "freightClass": { - "description": "Freight class. Can be `NONE`, `FC_50`, `FC_55`, `FC_60`, `FC_65`, `FC_70`, `FC_77_5`, `FC_85`, `FC_92_5`, `FC_100`, `FC_110`, `FC_125`, `FC_150`, `FC_175`, `FC_200`, `FC_250`, `FC_300`, `FC_400`, or `FC_500`.", - "maxLength": 1024, - "minLength": 1, - "type": "string" - }, - "pallets": { - "description": "Set pallet configuration for Less-Than-Truckload (LTL).", - "items": { - "$ref": "#/definitions/PalletInput" - }, - "type": "array" - } - }, - "required": [ - "pallets" - ], - "type": "object" - }, "PalletInput": { - "description": "Set pallet configuration for Less-Than-Truckload (LTL).", + "description": "Contains input information about a pallet to be used in the inbound plan.", "properties": { "dimensions": { "$ref": "#/definitions/Dimensions" @@ -8818,7 +12839,21 @@ "required": [ "quantity" ], - "type": "object" + "type": "object", + "example": { + "dimensions": { + "height": 5, + "length": 3, + "unitOfMeasurement": "CM", + "width": 4 + }, + "quantity": 2, + "stackability": "STACKABLE", + "weight": { + "unit": "KG", + "value": 5.5 + } + } }, "PlacementOption": { "description": "Contains information pertaining to the placement of the contents of an inbound plan and the related costs.", @@ -8831,7 +12866,7 @@ "type": "array" }, "expiration": { - "description": "The expiration date of the placement option. This is in ISO 8601 datetime format with pattern `yyyy-MM-ddTHH:mm:ss.sssZ`.", + "description": "The expiration date of the placement option. This is based in ISO 8601 datetime with pattern `yyyy-MM-ddTHH:mm:ss.sssZ`.", "format": "date-time", "type": "string" }, @@ -8843,7 +12878,7 @@ "type": "array" }, "placementOptionId": { - "description": "Identifier to a placement option. A placement option represents the shipment splits and destinations of SKUs.", + "description": "The identifier of a placement option. A placement option represents the shipment splits and destinations of SKUs.", "maxLength": 38, "minLength": 38, "pattern": "^[a-zA-Z0-9-]*$", @@ -8852,7 +12887,7 @@ "shipmentIds": { "description": "Shipment ids.", "items": { - "description": "Identifier to a shipment. A shipment contains the boxes and units being inbounded.", + "description": "Identifier of a shipment. A shipment contains the boxes and units being inbounded.", "maxLength": 38, "minLength": 38, "pattern": "^[a-zA-Z0-9-]*$", @@ -8861,7 +12896,7 @@ "type": "array" }, "status": { - "description": "The status of a placement option. Can be `OFFERED`, `ACCEPTED`, or `EXPIRED`.", + "description": "The status of a placement option. Can be: `OFFERED`, `ACCEPTED`, or `EXPIRED`.", "maxLength": 1024, "minLength": 1, "type": "string" @@ -8880,14 +12915,14 @@ "description": "Summary information about a placement option.", "properties": { "placementOptionId": { - "description": "Identifier to a placement option. A placement option represents the shipment splits and destinations of SKUs.", + "description": "The identifier of a placement option. A placement option represents the shipment splits and destinations of SKUs.", "maxLength": 38, "minLength": 38, "pattern": "^[a-zA-Z0-9-]*$", "type": "string" }, "status": { - "description": "The status of a placement option. Can be `OFFERED` or `ACCEPTED`.", + "description": "The status of a placement option. Can be: `OFFERED` or `ACCEPTED`.", "maxLength": 1024, "minLength": 1, "type": "string" @@ -8910,13 +12945,13 @@ "$ref": "#/definitions/Currency" }, "prepOwner": { - "description": "In some situations, special preparations are required for items and this field reflects the owner of the\n preparations. Options include `AMAZON` or `SELLER`.", + "description": "In some situations, special preparations are required for items and this field reflects the owner of the preparations. Options include `AMAZON`, `SELLER` or `NONE`.", "maxLength": 1024, "minLength": 1, "type": "string" }, "prepType": { - "description": "Type of preparation that should be done. Can be `ITEM_LABELING`, `ITEM_BUBBLEWRAP`, `ITEM_POLYBAGGING`, `ITEM_TAPING`, `ITEM_BLACK_SHRINKWRAP`, `ITEM_HANG_GARMENT`, `ITEM_BOXING`, `ITEM_SETCREAT`, `ITEM_RMOVHANG`, `ITEM_SUFFOSTK`, `ITEM_CAP_SEALING`, `ITEM_DEBUNDLE`, `ITEM_SETSTK`, `ITEM_SIOC`, `ITEM_NO_PREP`, `ADULT`, `BABY`, `TEXTILE`, `HANGER`, `FRAGILE`, `LIQUID`, `SHARP`, `SMALL`, `PERFORATED`, `GRANULAR`, `SET`, `FC_PROVIDED`, `UNKNOWN`, or `NONE`.", + "description": "Type of preparation that should be done. Can be: `ITEM_LABELING`, `ITEM_BUBBLEWRAP`, `ITEM_POLYBAGGING`, `ITEM_TAPING`, `ITEM_BLACK_SHRINKWRAP`, `ITEM_HANG_GARMENT`, `ITEM_BOXING`, `ITEM_SETCREAT`, `ITEM_RMOVHANG`, `ITEM_SUFFOSTK`, `ITEM_CAP_SEALING`, `ITEM_DEBUNDLE`, `ITEM_SETSTK`, `ITEM_SIOC`, `ITEM_NO_PREP`, `ADULT`, `BABY`, `TEXTILE`, `HANGER`, `FRAGILE`, `LIQUID`, `SHARP`, `SMALL`, `PERFORATED`, `GRANULAR`, `SET`, `FC_PROVIDED`, `UNKNOWN`, `NONE`.", "maxLength": 1024, "minLength": 1, "type": "string" @@ -8925,20 +12960,25 @@ "type": "object" }, "PrepOwner": { - "description": "In some situations, special preparations are required for items and this field reflects the owner of the preparations. Options include `AMAZON` or `SELLER`.", + "description": "In some situations, special preparations are required for items and this field reflects the owner of the preparations. Options include `AMAZON`, `SELLER` or `NONE`.", "enum": [ "AMAZON", - "SELLER" + "SELLER", + "NONE" ], "type": "string", "x-docgen-enum-table-extension": [ { "value": "AMAZON", - "description": "-" + "description": "Amazon provides the information." }, { "value": "SELLER", - "description": "-" + "description": "Seller provides the information." + }, + { + "value": "NONE", + "description": "No owner is required for the preparations." } ] }, @@ -8949,7 +12989,7 @@ "$ref": "#/definitions/Currency" }, "expiration": { - "description": "The timestamp at which this transportation option quote becomes no longer valid. This is in ISO 8601 datetime format with pattern `yyyy-MM-ddTHH:mm:ss.sssZ`.", + "description": "The timestamp at which this transportation option quote becomes no longer valid. This is based in ISO 8601 datetime with pattern `yyyy-MM-ddTHH:mm:ss.sssZ`.", "format": "date-time", "type": "string" }, @@ -9041,8 +13081,28 @@ }, "type": "object" }, + "RequestedUpdates": { + "description": "Objects that were included in the update request.", + "properties": { + "boxes": { + "description": "A list of boxes that will be present in the shipment after the update.", + "items": { + "$ref": "#/definitions/BoxUpdateInput" + }, + "type": "array" + }, + "items": { + "description": "A list of all items that will be present in the shipment after the update.", + "items": { + "$ref": "#/definitions/ItemInput" + }, + "type": "array" + } + }, + "type": "object" + }, "ScheduleSelfShipAppointmentRequest": { - "description": "`scheduleSelfShipAppointment` request.", + "description": "The `scheduleSelfShipAppointment` request.", "properties": { "reasonComment": { "$ref": "#/definitions/ReasonComment" @@ -9054,7 +13114,7 @@ } }, "ScheduleSelfShipAppointmentResponse": { - "description": "`scheduleSelfShipAppointment` response.", + "description": "The `scheduleSelfShipAppointment` response.", "properties": { "selfShipAppointmentDetails": { "$ref": "#/definitions/SelfShipAppointmentDetails" @@ -9075,6 +13135,51 @@ } } }, + "SelectedDeliveryWindow": { + "description": "Selected delivery window attributes.", + "properties": { + "availabilityType": { + "description": "Identifies type of Delivery Window Availability. Values: `AVAILABLE`, `CONGESTED`", + "type": "string" + }, + "deliveryWindowOptionId": { + "description": "Identifier of a delivery window option. A delivery window option represent one option for when a shipment is expected to be delivered.", + "maxLength": 38, + "minLength": 36, + "pattern": "^[a-zA-Z0-9-]*$", + "type": "string" + }, + "editableUntil": { + "description": "The timestamp at which this Window can no longer be edited.", + "format": "date-time", + "type": "string" + }, + "endDate": { + "description": "The end timestamp of the window.", + "format": "date-time", + "type": "string" + }, + "startDate": { + "description": "The start timestamp of the window.", + "format": "date-time", + "type": "string" + } + }, + "required": [ + "availabilityType", + "deliveryWindowOptionId", + "endDate", + "startDate" + ], + "type": "object", + "example": { + "availabilityType": "AVAILABLE", + "deliveryWindowOptionId": "dw1234abcd-1234-abcd-5678-1234abcd5678", + "editableUntil": "2024-01-05T20:00:00.000Z", + "endDate": "2024-01-05T20:00:00.000Z", + "startDate": "2024-01-05T14:00:00.000Z" + } + }, "SelfShipAppointmentDetails": { "description": "Appointment details for carrier pickup or fulfillment center appointments.", "properties": { @@ -9098,7 +13203,7 @@ "description": "The self ship appointment time slots availability and an expiration date for which the slots can be scheduled.", "properties": { "expiresAt": { - "description": "ISO 8601 datetime with pattern `yyyy-MM-ddTHH:mm:ss.sssZ`.", + "description": "The ISO 8601 datetime with pattern `yyyy-MM-ddTHH:mm:ss.sssZ`.", "format": "date-time", "type": "string" }, @@ -9113,42 +13218,45 @@ "type": "object" }, "SetPackingInformationRequest": { - "description": "`setPackingInformation` request.", + "description": "The `setPackingInformation` request.", "properties": { "packageGroupings": { "description": "List of packing information for the inbound plan.", "items": { "$ref": "#/definitions/PackageGroupingInput" }, + "minItems": 1, "type": "array" } }, + "required": [ + "packageGroupings" + ], "type": "object", "example": { "packageGroupings": [ { "boxes": [ { - "boxId": "boxId", + "boxId": "FBA10ABC0YY100001", "contentInformationSource": "BOX_CONTENT_PROVIDED", - "contents": [ + "dimensions": { + "height": 5, + "length": 3, + "unitOfMeasurement": "CM", + "width": 4 + }, + "items": [ { "expiration": "2024-01-01", "labelOwner": "AMAZON", "manufacturingLotCode": "manufacturingLotCode", "msku": "Sunglasses", "prepOwner": "AMAZON", - "quantityInBox": 10 + "quantity": 10 } ], - "dimensions": { - "height": 5, - "length": 3, - "unitOfMeasurement": "CM", - "width": 4 - }, "quantity": 2, - "templateName": "templateName", "weight": { "unit": "KG", "value": 5.5 @@ -9162,7 +13270,7 @@ } }, "SetPackingInformationResponse": { - "description": "`setPackingInformation` response.", + "description": "The `setPackingInformation` response.", "properties": { "operationId": { "description": "UUID for the given operation.", @@ -9195,29 +13303,25 @@ "destination": { "$ref": "#/definitions/ShipmentDestination" }, - "inboundPlanId": { - "description": "Identifier to an inbound plan.", - "maxLength": 38, - "minLength": 38, - "pattern": "^[a-zA-Z0-9-]*$", - "type": "string" + "freightInformation": { + "$ref": "#/definitions/FreightInformation" }, "name": { "description": "The name of the shipment.", "type": "string" }, - "palletInformation": { - "$ref": "#/definitions/PalletInformation" - }, "placementOptionId": { - "description": "Identifier to a placement option. A placement option represents the shipment splits and destinations of SKUs.", + "description": "The identifier of a placement option. A placement option represents the shipment splits and destinations of SKUs.", "maxLength": 38, "minLength": 38, "pattern": "^[a-zA-Z0-9-]*$", "type": "string" }, + "selectedDeliveryWindow": { + "$ref": "#/definitions/SelectedDeliveryWindow" + }, "selectedTransportationOptionId": { - "description": "Identifier to a transportation option. A transportation option represent one option for how to send a shipment.", + "description": "Identifier of a transportation option. A transportation option represent one option for how to send a shipment.", "maxLength": 38, "minLength": 38, "pattern": "^[a-zA-Z0-9-]*$", @@ -9231,13 +13335,13 @@ "type": "array" }, "shipmentConfirmationId": { - "description": "The confirmed shipment ID which shows up on labels (for example, FBA1234ABCD).", + "description": "The confirmed shipment ID which shows up on labels (for example, `FBA1234ABCD`).", "maxLength": 1024, "minLength": 1, "type": "string" }, "shipmentId": { - "description": "Identifier to a shipment. A shipment contains the boxes and units being inbounded.", + "description": "Identifier of a shipment. A shipment contains the boxes and units being inbounded.", "maxLength": 38, "minLength": 38, "pattern": "^[a-zA-Z0-9-]*$", @@ -9258,12 +13362,37 @@ }, "required": [ "destination", - "inboundPlanId", "placementOptionId", "shipmentId", "source" ], - "type": "object" + "type": "object", + "example": { + "destination": { + "destinationType": "AMAZON_OPTIMIZED" + }, + "freightInformation": { + "declaredValue": { + "amount": 5.5, + "code": "CAD" + }, + "freightClass": "FC_50" + }, + "inboundPlanId": "wf1234abcd-1234-abcd-5678-1234abcd5678", + "placementOptionId": "pl1234abcd-1234-abcd-5678-1234abcd5678", + "selectedDeliveryWindow": { + "availabilityType": "AVAILABLE", + "deliveryWindowOptionId": "dw1234abcd-1234-abcd-5678-1234abcd5678", + "editableUntil": "2024-01-05T20:00:00.000Z", + "endDate": "2024-01-05T20:00:00.000Z", + "startDate": "2024-01-05T14:00:00.000Z" + }, + "shipmentConfirmationId": "shipmentConfirmationId", + "shipmentId": "sh1234abcd-1234-abcd-5678-1234abcd5678", + "source": { + "sourceType": "SELLER_FACILITY" + } + } }, "ShipmentDestination": { "description": "The Amazon fulfillment center address and warehouse ID.", @@ -9273,13 +13402,13 @@ "description": "The address the shipment should be sent to. Empty if the destination type is `AMAZON_OPTIMIZED`." }, "destinationType": { - "description": "The type of destination for this shipment. Can be `AMAZON_OPTIMIZED`, or `AMAZON_WAREHOUSE`.", + "description": "The type of destination for this shipment. Can be: `AMAZON_OPTIMIZED`, `AMAZON_WAREHOUSE`.", "maxLength": 1024, "minLength": 1, "type": "string" }, "warehouseId": { - "description": "The warehouse that the shipment should be sent to. Empty if the destination type is `AMAZON_OPTIMIZED`.", + "description": "The warehouse that the shipment should be sent to. Empty if the destination type is `AMAZON_OPTIMIZED`.", "maxLength": 1024, "minLength": 1, "type": "string" @@ -9297,7 +13426,7 @@ "$ref": "#/definitions/Address" }, "sourceType": { - "description": "The type of source for this shipment. Can be `SELLER_FACILITY`.", + "description": "The type of source for this shipment. Can be: `SELLER_FACILITY`.", "maxLength": 1024, "minLength": 1, "type": "string" @@ -9312,14 +13441,14 @@ "description": "Summary information about a shipment.", "properties": { "shipmentId": { - "description": "Identifier to a shipment. A shipment contains the boxes and units being inbounded.", + "description": "Identifier of a shipment. A shipment contains the boxes and units being inbounded.", "maxLength": 38, "minLength": 38, "pattern": "^[a-zA-Z0-9-]*$", "type": "string" }, "status": { - "description": "The status of a shipment. The state of the shipment will typically start in `WORKING` and transition to `READY_TO_SHIP` once required actions are complete prior to being picked up or shipped out. Can be `ABANDONED`, `CANCELLED`, `CHECKED_IN`, `CLOSED`, `DELETED`, `DELIVERED`, `IN_TRANSIT`, `MIXED`, `READY_TO_SHIP`, `RECEIVING`, `SHIPPED`, or `WORKING`.", + "description": "The status of a shipment. The state of the shipment will typically start in `WORKING` and transition to `READY_TO_SHIP` once required actions are complete prior to being picked up or shipped out. Can be: `ABANDONED`, `CANCELLED`, `CHECKED_IN`, `CLOSED`, `DELETED`, `DELIVERED`, `IN_TRANSIT`, `MIXED`, `READY_TO_SHIP`, `RECEIVING`, `SHIPPED`, `WORKING`.", "maxLength": 1024, "minLength": 1, "type": "string" @@ -9341,15 +13470,22 @@ "contactInformation": { "$ref": "#/definitions/ContactInformation" }, - "palletInformation": { - "$ref": "#/definitions/PalletInformation" + "freightInformation": { + "$ref": "#/definitions/FreightInformation" + }, + "pallets": { + "description": "List of pallet configuration inputs.", + "items": { + "$ref": "#/definitions/PalletInput" + }, + "type": "array" }, "readyToShipWindow": { "$ref": "#/definitions/WindowInput", - "description": "The range of dates within which the seller intends to ship their items. This is the pick-up date or \u201cready to ship\u201d date, not an estimated delivery date.\n" + "description": "The range of dates within which the seller intends to ship their items. This is the pick-up date or 'ready to ship' date, not an estimated delivery date." }, "shipmentId": { - "description": "Identifier to a shipment. A shipment contains the boxes and units being inbounded.", + "description": "Identifier of a shipment. A shipment contains the boxes and units being inbounded.", "maxLength": 38, "minLength": 38, "pattern": "^[a-zA-Z0-9-]*$", @@ -9366,13 +13502,13 @@ "description": "The shipping configurations supported for the packing option. Available modes are ground small parcel, freight less-than-truckload (LTL), freight full-truckload (FTL) palletized, freight FTL non-palletized, ocean less-than-container-load (LCL), ocean full-container load (FCL), air small parcel, and air small parcel express.", "properties": { "shippingMode": { - "description": "Mode of shipment transportation that this option will provide. Can be `GROUND_SMALL_PARCEL`, `FREIGHT_LTL`, `FREIGHT_FTL_PALLET`, `FREIGHT_FTL_NONPALLET`, `OCEAN_LCL`, `OCEAN_FCL`, `AIR_SMALL_PARCEL`, or `AIR_SMALL_PARCEL_EXPRESS`.", + "description": "Mode of shipment transportation that this option will provide. Can be: `GROUND_SMALL_PARCEL`, `FREIGHT_LTL`, `FREIGHT_FTL_PALLET`, `FREIGHT_FTL_NONPALLET`, `OCEAN_LCL`, `OCEAN_FCL`, `AIR_SMALL_PARCEL`, `AIR_SMALL_PARCEL_EXPRESS`.", "maxLength": 1024, "minLength": 1, "type": "string" }, "shippingSolution": { - "description": "Shipping program for the option. Can be `AMAZON_PARTNERED_CARRIER` or `USE_YOUR_OWN_CARRIER`.", + "description": "Shipping program for the option. Can be: `AMAZON_PARTNERED_CARRIER`, `USE_YOUR_OWN_CARRIER`.", "maxLength": 1024, "minLength": 1, "type": "string" @@ -9421,7 +13557,7 @@ "description": "Contains information used to track and identify a Small Parcel Delivery (SPD) item.", "properties": { "boxId": { - "description": "The ID provided by Amazon that identifies a given box. This ID is comprised of the external shipment ID (which\n is generated after transportation has been confirmed) and the index of the box.", + "description": "The ID provided by Amazon that identifies a given box. This ID is comprised of the external shipment ID (which is generated after transportation has been confirmed) and the index of the box.", "maxLength": 1024, "minLength": 1, "type": "string" @@ -9433,7 +13569,7 @@ "type": "string" }, "trackingNumberValidationStatus": { - "description": "Whether or not Amazon has validated the tracking number. If more than 24 hours have passed and the status is\n not yet 'VALIDATED', please verify the number and update if necessary. Can be `VALIDATED` or `NOT_VALIDATED`.", + "description": "Whether or not Amazon has validated the tracking number. If more than 24 hours have passed and the status is not yet 'VALIDATED', please verify the number and update if necessary. Can be: `VALIDATED`, `NOT_VALIDATED`.", "maxLength": 1024, "minLength": 1, "type": "string" @@ -9445,13 +13581,13 @@ "description": "Small Parcel Delivery (SPD) tracking items input information.", "properties": { "boxId": { - "description": "The ID provided by Amazon that identifies a given box. This ID is comprised of the external shipment ID (which\n is generated after transportation has been confirmed) and the index of the box.", + "description": "The ID provided by Amazon that identifies a given box. This ID is comprised of the external shipment ID (which is generated after transportation has been confirmed) and the index of the box.", "maxLength": 1024, "minLength": 1, "type": "string" }, "trackingId": { - "description": "The tracking Id associated with each box in a non-Amazon partnered Small Parcel Delivery (SPD) shipment. The seller must provide this information. ", + "description": "The tracking Id associated with each box in a non-Amazon partnered Small Parcel Delivery (SPD) shipment. The seller must provide this information.", "maxLength": 1024, "minLength": 1, "type": "string" @@ -9512,16 +13648,14 @@ "properties": { "cessRate": { "description": "Rate of cess tax.", - "format": "double", "type": "number" }, "gstRate": { "description": "Rate of gst tax.", - "format": "double", "type": "number" }, "taxType": { - "description": "Type of tax. Can be `CGST`, `SGST`, `IGST`, or `TOTAL_TAX`.", + "description": "Type of tax. Can be: `CGST`, `SGST`, `IGST`, `TOTAL_TAX`.", "maxLength": 1024, "minLength": 1, "type": "string" @@ -9564,50 +13698,44 @@ "TransportationOption": { "description": "Contains information pertaining to a transportation option and the related carrier.", "properties": { - "appointmentSlot": { - "$ref": "#/definitions/AppointmentSlot" - }, "carrier": { "$ref": "#/definitions/Carrier" }, - "inboundPlanId": { - "description": "Identifier to an inbound plan.", - "maxLength": 38, - "minLength": 38, - "pattern": "^[a-zA-Z0-9-]*$", - "type": "string" + "carrierAppointment": { + "$ref": "#/definitions/CarrierAppointment" }, - "placementOptionId": { - "description": "The identifier of a placement option. A placement option represents the shipment splits and destinations of SKUs.", - "maxLength": 38, - "minLength": 38, - "pattern": "^[a-zA-Z0-9-]*$", - "type": "string" + "preconditions": { + "description": "Identifies a list of preconditions for confirming the transportation option.", + "items": { + "description": "Identifies type of Transportation Option precondition. Values: `CONFIRMED_DELIVERY_WINDOW`", + "type": "string" + }, + "type": "array" }, "quote": { "$ref": "#/definitions/Quote" }, "shipmentId": { - "description": "Identifier to a shipment. A shipment contains the boxes and units being inbounded.", + "description": "Identifier of a shipment. A shipment contains the boxes and units being inbounded.", "maxLength": 38, "minLength": 38, "pattern": "^[a-zA-Z0-9-]*$", "type": "string" }, "shippingMode": { - "description": "The shipping mode associated with the transportation option. Available modes are ground small parcel, freight less-than-truckload (LTL), freight full-truckload (FTL) palletized, freight FTL non-palletized, ocean less-than-container-load (LCL), ocean full-container load (FCL), air small parcel, and air small parcel express.", + "description": "Mode of shipment transportation that this option will provide. Can be: `GROUND_SMALL_PARCEL`, `FREIGHT_LTL`, `FREIGHT_FTL_PALLET`, `FREIGHT_FTL_NONPALLET`, `OCEAN_LCL`, `OCEAN_FCL`, `AIR_SMALL_PARCEL`, `AIR_SMALL_PARCEL_EXPRESS`.", "maxLength": 1024, "minLength": 1, "type": "string" }, "shippingSolution": { - "description": "The shipping solution associated with the transportation option. Available solutions are Amazon-partnered carrier or 'use your own carrier'.", + "description": "Shipping program for the option. Can be: `AMAZON_PARTNERED_CARRIER`, `USE_YOUR_OWN_CARRIER`.", "maxLength": 1024, "minLength": 1, "type": "string" }, "transportationOptionId": { - "description": "Identifier to a transportation option. A transportation option represent one option for how to send a shipment.", + "description": "Identifier of a transportation option. A transportation option represent one option for how to send a shipment.", "maxLength": 38, "minLength": 38, "pattern": "^[a-zA-Z0-9-]*$", @@ -9616,14 +13744,38 @@ }, "required": [ "carrier", - "inboundPlanId", - "placementOptionId", + "preconditions", "shipmentId", "shippingMode", "shippingSolution", "transportationOptionId" ], - "type": "object" + "type": "object", + "example": { + "carrier": { + "alphaCode": "ABCD", + "name": "Carrier Name" + }, + "carrierAppointment": { + "endTime": "2024-01-06T14:48:00.000Z", + "startTime": "2024-01-05T14:48:00.000Z" + }, + "preconditions": [ + "CONFIRMED_DELIVERY_WINDOW" + ], + "quote": { + "cost": { + "amount": 5.5, + "code": "CAD" + }, + "expiration": "2024-01-06T14:48:00.000Z", + "voidableUntil": "2024-01-05T14:48:00.000Z" + }, + "shipmentId": "sh1234abcd-1234-abcd-5678-1234abcd5678", + "shippingMode": "GROUND_SMALL_PARCEL", + "shippingSolution": "AMAZON_PARTNERED_CARRIER", + "transportationOptionId": "to1234abcd-1234-abcd-5678-1234abcd5678" + } }, "TransportationSelection": { "description": "The transportation option selected to confirm.", @@ -9631,10 +13783,6 @@ "contactInformation": { "$ref": "#/definitions/ContactInformation" }, - "deliveryWindow": { - "$ref": "#/definitions/WindowInput", - "description": "The range of dates within which the seller expects that their shipment will be delivered to Amazon.\n" - }, "shipmentId": { "description": "Shipment ID that the transportation Option is for.", "maxLength": 38, @@ -9692,6 +13840,24 @@ } ] }, + "UpdateInboundPlanNameRequest": { + "description": "The `updateInboundPlanName` request.", + "properties": { + "name": { + "description": "A human-readable name to update the inbound plan name to.", + "maxLength": 40, + "minLength": 1, + "type": "string" + } + }, + "required": [ + "name" + ], + "type": "object", + "example": { + "name": "name" + } + }, "UpdateItemComplianceDetailsRequest": { "description": "The `updateItemComplianceDetails` request.", "properties": { @@ -9737,26 +13903,52 @@ ], "type": "object" }, - "UpdateShipmentDeliveryWindowRequest": { - "description": "The `updateShipmentDeliveryWindow` request.", + "UpdateShipmentNameRequest": { + "description": "The `updateShipmentName` request.", "properties": { - "deliveryWindow": { - "$ref": "#/definitions/WindowInput", - "description": "The range of dates within which the seller expects that their shipment will be delivered to Amazon.\n" + "name": { + "description": "A human-readable name to update the shipment name to.", + "maxLength": 100, + "minLength": 1, + "type": "string" + } + }, + "required": [ + "name" + ], + "type": "object", + "example": { + "name": "name" + } + }, + "UpdateShipmentSourceAddressRequest": { + "description": "The `UpdateShipmentSourceAddress` request.", + "properties": { + "address": { + "$ref": "#/definitions/AddressInput" } }, "required": [ - "deliveryWindow" + "address" ], "type": "object", "example": { - "deliveryWindow": { - "start": "2024-01-01T00:00Z" + "address": { + "addressLine1": "123 example street", + "addressLine2": "Floor 19", + "city": "Toronto", + "companyName": "Acme", + "countryCode": "CA", + "email": "email@email.com", + "name": "name", + "phoneNumber": "1234567890", + "postalCode": "M1M1M1", + "stateOrProvinceCode": "ON" } } }, - "UpdateShipmentDeliveryWindowResponse": { - "description": "The `updateShipmentDeliveryWindow` response.", + "UpdateShipmentSourceAddressResponse": { + "description": "The `UpdateShipmentSourceAddress` response.", "properties": { "operationId": { "description": "UUID for the given operation.", @@ -9819,7 +14011,6 @@ }, "value": { "description": "Value of a weight.", - "format": "double", "maximum": 100000, "minimum": 0, "type": "number" @@ -9854,7 +14045,12 @@ "end", "start" ], - "type": "object" + "type": "object", + "example": { + "editableUntil": "2024-01-05T20:00:00.000Z", + "end": "2024-01-05T20:00:00.000Z", + "start": "2024-01-05T14:00:00.000Z" + } }, "WindowInput": { "description": "Contains only a starting DateTime.", From c684fe9a0d10e37d58b19e9844e0f584cb06729b Mon Sep 17 00:00:00 2001 From: Gibran Waldron Date: Wed, 19 Jun 2024 09:48:03 -0700 Subject: [PATCH 255/340] Add Amazon Warehousing and Distribution model to Github. --- .../awd_2024-05-09.json | 1640 +++++++++++++++++ 1 file changed, 1640 insertions(+) create mode 100644 models/amazon-warehousing-and-distribution-model/awd_2024-05-09.json diff --git a/models/amazon-warehousing-and-distribution-model/awd_2024-05-09.json b/models/amazon-warehousing-and-distribution-model/awd_2024-05-09.json new file mode 100644 index 000000000..c8e7f4c28 --- /dev/null +++ b/models/amazon-warehousing-and-distribution-model/awd_2024-05-09.json @@ -0,0 +1,1640 @@ +{ + "swagger": "2.0", + "info": { + "title": "The Selling Partner API for AWD", + "version": "2024-05-09", + "description": "The Selling Partner API for Amazon Warehousing and Distribution (AWD).", + "contact": { + "name": "Selling Partner API Developer Support", + "url": "https://sellercentral.amazon.com/gp/mws/contactus.html" + }, + "license": { + "name": "Apache License 2.0", + "url": "https://www.apache.org/licenses/LICENSE-2.0" + } + }, + "host": "sellingpartnerapi-na.amazon.com", + "schemes": [ + "https" + ], + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "paths": { + "/awd/2024-05-09/inboundShipments/{shipmentId}": { + "get": { + "produces": [ + "application/json" + ], + "parameters": [ + { + "description": "ID for the shipment. A shipment contains the cases being inbounded.", + "in": "path", + "minLength": 1, + "name": "shipmentId", + "required": true, + "type": "string" + } + ], + "responses": { + "200": { + "description": "The 200 response for `getInboundShipment`.", + "headers": { + "x-amzn-RateLimit-Limit": { + "description": "Your rate limit (requests per second) for this operation.", + "type": "string" + }, + "x-amzn-RequestId": { + "description": "Unique request reference identifier.", + "type": "string" + } + }, + "schema": { + "$ref": "#/definitions/InboundShipment" + }, + "x-amzn-api-sandbox": { + "static": [ + { + "request": { + "parameters": { + "shipmentId": { + "value": "TestShipmentId" + } + } + }, + "response": { + "createdAt": "2023-06-07T12:12:09.061Z", + "destinationAddress": { + "addressLine1": "address_line_1", + "addressLine2": "address_line_2", + "addressLine3": "address_line_3", + "city": "City1", + "countryCode": "CC", + "district": "District1", + "name": "DestinationName", + "postalCode": "123456", + "stateOrRegion": "State1" + }, + "orderId": "TestOrderId", + "originAddress": { + "addressLine1": "address_1", + "addressLine2": "address_2", + "addressLine3": "address_3", + "city": "City1", + "countryCode": "CC", + "district": "District1", + "name": "address_name", + "postalCode": "123456", + "stateOrRegion": "State1" + }, + "receivedQuantity": [ + { + "quantity": 0, + "unitOfMeasurement": "CASES" + } + ], + "shipmentContainerQuantities": [ + { + "count": 2, + "distributionPackage": { + "contents": { + "packages": [], + "products": [ + { + "quantity": 20, + "sku": "testPen" + } + ] + }, + "measurements": { + "dimensions": { + "height": 33.02, + "length": 45.72, + "unitOfMeasurement": "CENTIMETERS", + "width": 15.24 + }, + "weight": { + "unitOfMeasurement": "KILOGRAMS", + "weight": 5.443104 + } + }, + "type": "CASE" + } + } + ], + "shipmentId": "TestShipmentId", + "shipmentStatus": "CREATED", + "updatedAt": "2023-06-07T12:12:09.061Z" + } + } + ] + } + }, + "400": { + "description": "Request has missing or invalid parameters and cannot be parsed.", + "headers": { + "x-amzn-RateLimit-Limit": { + "description": "Your rate limit (requests per second) for this operation.", + "type": "string" + }, + "x-amzn-RequestId": { + "description": "Unique request reference identifier.", + "type": "string" + } + }, + "schema": { + "$ref": "#/definitions/ErrorList" + }, + "x-amzn-api-sandbox": { + "static": [ + { + "request": { + "parameters": { + "shipmentId": { + "value": " " + } + } + }, + "response": { + "errors": [ + { + "code": "BAD_REQUEST", + "details": "This exception is thrown when client inputs are invalid", + "message": "ShipmentId should be present for this request" + } + ] + } + } + ] + } + }, + "403": { + "description": "Indicates that access to the resource is forbidden. Possible reasons include Access Denied, Unauthorized, Expired Token, or Invalid Signature.", + "headers": { + "x-amzn-RequestId": { + "description": "Unique request reference identifier.", + "type": "string" + } + }, + "schema": { + "$ref": "#/definitions/ErrorList" + } + }, + "404": { + "description": "The resource specified does not exist.", + "headers": { + "x-amzn-RateLimit-Limit": { + "description": "Your rate limit (requests per second) for this operation.", + "type": "string" + }, + "x-amzn-RequestId": { + "description": "Unique request reference identifier.", + "type": "string" + } + }, + "schema": { + "$ref": "#/definitions/ErrorList" + } + }, + "413": { + "description": "The request size exceeded the maximum accepted size.", + "headers": { + "x-amzn-RequestId": { + "description": "Unique request reference identifier.", + "type": "string" + } + }, + "schema": { + "$ref": "#/definitions/ErrorList" + } + }, + "415": { + "description": "The request payload is in an unsupported format.", + "headers": { + "x-amzn-RequestId": { + "description": "Unique request reference identifier.", + "type": "string" + } + }, + "schema": { + "$ref": "#/definitions/ErrorList" + } + }, + "429": { + "description": "The frequency of requests was greater than allowed.", + "headers": { + "x-amzn-RequestId": { + "description": "Unique request reference identifier.", + "type": "string" + } + }, + "schema": { + "$ref": "#/definitions/ErrorList" + } + }, + "500": { + "description": "An unexpected condition occurred that prevented the server from fulfilling the request.", + "headers": { + "x-amzn-RequestId": { + "description": "Unique request reference identifier.", + "type": "string" + } + }, + "schema": { + "$ref": "#/definitions/ErrorList" + } + }, + "503": { + "description": "Temporary overloading or maintenance of the server.", + "headers": { + "x-amzn-RequestId": { + "description": "Unique request reference identifier.", + "type": "string" + } + }, + "schema": { + "$ref": "#/definitions/ErrorList" + } + } + }, + "tags": [ + "awd" + ], + "description": "Retrieves an AWD inbound shipment.", + "operationId": "getInboundShipment" + } + }, + "/awd/2024-05-09/inboundShipments": { + "get": { + "produces": [ + "application/json" + ], + "parameters": [ + { + "description": "Field to sort results by. Required if `sortOrder` is provided.", + "enum": [ + "UPDATED_AT", + "CREATED_AT" + ], + "in": "query", + "name": "sortBy", + "type": "string", + "x-docgen-enum-table-extension": [ + { + "description": "Sort by `Updated at`timestamp.", + "value": "UPDATED_AT" + }, + { + "description": "Sort by `Created at` timestamp.", + "value": "CREATED_AT" + } + ] + }, + { + "description": "Sort the response in `ASCENDING` or `DESCENDING` order.", + "enum": [ + "ASCENDING", + "DESCENDING" + ], + "in": "query", + "name": "sortOrder", + "type": "string", + "x-docgen-enum-table-extension": [ + { + "description": "Sorts the collection in ascending order.", + "value": "ASCENDING" + }, + { + "description": "Sorts the collection in descending order.", + "value": "DESCENDING" + } + ], + "x-example": "ASCENDING" + }, + { + "description": "Filter by inbound shipment status.", + "enum": [ + "CREATED", + "SHIPPED", + "IN_TRANSIT", + "RECEIVING", + "DELIVERED", + "CLOSED", + "CANCELLED" + ], + "in": "query", + "name": "shipmentStatus", + "type": "string", + "x-docgen-enum-table-extension": [ + { + "description": "Shipment is created, but hasn't shipped.", + "value": "CREATED" + }, + { + "description": "Shipment was picked up by the carrier or was dropped off with the carrier.", + "value": "SHIPPED" + }, + { + "description": "The carrier has notified AWD that the shipment is in transit between the origin and destination nodes.", + "value": "IN_TRANSIT" + }, + { + "description": "The shipment has been partially received.", + "value": "RECEIVING" + }, + { + "description": "The shipment has reached the destination node and has been delivered to the facility yard. The shipment `receive` process at the warehouse will start soon.", + "value": "DELIVERED" + }, + { + "description": "No more actions are required for the shipment. This is a final state.", + "value": "CLOSED" + }, + { + "description": "The shipment is cancelled. This is a final state.", + "value": "CANCELLED" + } + ], + "x-example": "CREATED" + }, + { + "description": "List the inbound shipments that were updated after a certain time (inclusive). The date must be in ISO 8601 format.", + "format": "date-time", + "in": "query", + "name": "updatedAfter", + "type": "string", + "x-example": "2023-01-12T10:00:00.000Z" + }, + { + "description": "List the inbound shipments that were updated before a certain time (inclusive). The date must be in ISO 8601 format.", + "format": "date-time", + "in": "query", + "name": "updatedBefore", + "type": "string", + "x-example": "2023-01-12T10:00:00.000Z" + }, + { + "default": 25, + "description": "Maximum number of results to return.", + "format": "int32", + "in": "query", + "maximum": 200, + "minimum": 1, + "name": "maxResults", + "type": "integer", + "x-example": "10" + }, + { + "description": "Token to retrieve the next set of paginated results.", + "in": "query", + "name": "nextToken", + "type": "string", + "x-example": "SampleToken" + } + ], + "responses": { + "200": { + "description": "The 200 response for `listInboundShipments`.", + "headers": { + "x-amzn-RateLimit-Limit": { + "description": "Your rate limit (requests per second) for this operation.", + "type": "string" + }, + "x-amzn-RequestId": { + "description": "Unique request reference identifier.", + "type": "string" + } + }, + "schema": { + "$ref": "#/definitions/ShipmentListing" + }, + "x-amzn-api-sandbox": { + "static": [ + { + "request": { + "parameters": {} + }, + "response": { + "shipments": [{ + "createdAt": "2023-06-07T12:12:09.061Z", + "orderId": "TestOrderId", + "shipmentId": "TestShipmentId", + "shipmentStatus": "CREATED", + "updatedAt": "2023-06-07T12:12:09.061Z" + }] + } + } + ] + } + }, + "400": { + "description": "Request has missing or invalid parameters and cannot be parsed.", + "headers": { + "x-amzn-RateLimit-Limit": { + "description": "Your rate limit (requests per second) for this operation.", + "type": "string" + }, + "x-amzn-RequestId": { + "description": "Unique request reference identifier.", + "type": "string" + } + }, + "schema": { + "$ref": "#/definitions/ErrorList" + }, + "x-amzn-api-sandbox": { + "static": [ + { + "request": { + "parameters": { + "sortBy": { + "value": "TEST" + } + } + }, + "response": { + "errors": [ + { + "code": "BAD_REQUEST", + "details": "This exception is thrown when client inputs are invalid", + "message": "Invalid shipment sortable field received: TEST" + } + ] + } + } + ] + } + }, + "403": { + "description": "Indicates that access to the resource is forbidden. Possible reasons include Access Denied, Unauthorized, Expired Token, or Invalid Signature.", + "headers": { + "x-amzn-RequestId": { + "description": "Unique request reference identifier.", + "type": "string" + } + }, + "schema": { + "$ref": "#/definitions/ErrorList" + } + }, + "404": { + "description": "The resource specified does not exist.", + "headers": { + "x-amzn-RateLimit-Limit": { + "description": "Your rate limit (requests per second) for this operation.", + "type": "string" + }, + "x-amzn-RequestId": { + "description": "Unique request reference identifier.", + "type": "string" + } + }, + "schema": { + "$ref": "#/definitions/ErrorList" + } + }, + "413": { + "description": "The request size exceeded the maximum accepted size.", + "headers": { + "x-amzn-RequestId": { + "description": "Unique request reference identifier.", + "type": "string" + } + }, + "schema": { + "$ref": "#/definitions/ErrorList" + } + }, + "415": { + "description": "The request payload is in an unsupported format.", + "headers": { + "x-amzn-RequestId": { + "description": "Unique request reference identifier.", + "type": "string" + } + }, + "schema": { + "$ref": "#/definitions/ErrorList" + } + }, + "429": { + "description": "The frequency of requests was greater than allowed.", + "headers": { + "x-amzn-RequestId": { + "description": "Unique request reference identifier.", + "type": "string" + } + }, + "schema": { + "$ref": "#/definitions/ErrorList" + } + }, + "500": { + "description": "An unexpected condition occurred that prevented the server from fulfilling the request.", + "headers": { + "x-amzn-RequestId": { + "description": "Unique request reference identifier.", + "type": "string" + } + }, + "schema": { + "$ref": "#/definitions/ErrorList" + } + }, + "503": { + "description": "Temporary overloading or maintenance of the server.", + "headers": { + "x-amzn-RequestId": { + "description": "Unique request reference identifier.", + "type": "string" + } + }, + "schema": { + "$ref": "#/definitions/ErrorList" + } + } + }, + "tags": [ + "awd" + ], + "description": "Retrieves a summary for all the inbound AWD shipments associated with a merchant, with the ability to apply optional filters.", + "operationId": "listInboundShipments" + } + }, + "/awd/2024-05-09/inventory": { + "get": { + "produces": [ + "application/json" + ], + "parameters": [ + { + "description": "Filter by seller or merchant SKU for the item.", + "in": "query", + "name": "sku", + "type": "string", + "x-example": "TestSKU" + }, + { + "description": "Sort the response in `ASCENDING` or `DESCENDING` order.", + "enum": [ + "ASCENDING", + "DESCENDING" + ], + "in": "query", + "name": "sortOrder", + "type": "string", + "x-docgen-enum-table-extension": [ + { + "description": "Sorts the collection in ascending order.", + "value": "ASCENDING" + }, + { + "description": "Sorts the collection in descending order.", + "value": "DESCENDING" + } + ] + }, + { + "description": "Set to `SHOW` to return summaries with additional inventory details. Defaults to `HIDE,` which returns only inventory summary totals.", + "enum": [ + "SHOW", + "HIDE" + ], + "in": "query", + "name": "details", + "type": "string", + "x-docgen-enum-table-extension": [ + { + "description": "Show the additional summarized inventory details.", + "value": "SHOW" + }, + { + "description": "Hide the additional summarized inventory details.", + "value": "HIDE" + } + ], + "x-example": "SHOW" + }, + { + "description": "Token to retrieve the next set of paginated results.", + "in": "query", + "name": "nextToken", + "type": "string", + "x-example": "SampleToken" + }, + { + "default": 25, + "description": "Maximum number of results to return.", + "format": "int32", + "in": "query", + "maximum": 200, + "minimum": 1, + "name": "maxResults", + "type": "integer", + "x-example": "10" + } + ], + "responses": { + "200": { + "description": "The 200 response for `listInventory`.", + "headers": { + "x-amzn-RateLimit-Limit": { + "description": "Your rate limit (requests per second) for this operation.", + "type": "string" + }, + "x-amzn-RequestId": { + "description": "Unique request reference identifier.", + "type": "string" + } + }, + "schema": { + "$ref": "#/definitions/InventoryListing" + }, + "x-amzn-api-sandbox": { + "static": [ + { + "request": {}, + "response": { + "inventory": [ + { + "totalOnhandQuantity": 20, + "sku": "100TestSKU1Pen", + "inventoryDetails": { + "availableDistributableQuantity": 10, + "reservedDistributableQuantity": 10 + } + }, + { + "totalOnhandQuantity": 20, + "sku": "2U-BKEX-VW4D", + "inventoryDetails": { + "availableDistributableQuantity": 10, + "reservedDistributableQuantity": 10 + } + } + ] + } + } + ] + } + }, + "400": { + "description": "Request has missing or invalid parameters and cannot be parsed.", + "headers": { + "x-amzn-RateLimit-Limit": { + "description": "Your rate limit (requests per second) for this operation.", + "type": "string" + }, + "x-amzn-RequestId": { + "description": "Unique request reference identifier.", + "type": "string" + } + }, + "schema": { + "$ref": "#/definitions/ErrorList" + }, + "x-amzn-api-sandbox": { + "static": [ + { + "request": { + "parameters": { + "sortOrder": { + "value": "UNKNOWN" + } + } + }, + "response": { + "errors": [ + { + "code": "BAD_REQUEST", + "details": "This exception is thrown when client inputs are invalid", + "message": "Invalid value: UNKNOWN passed for sort order. Possible values are: [ASCENDING, DESCENDING]" + } + ] + } + } + ] + } + }, + "403": { + "description": "Indicates that access to the resource is forbidden. Possible reasons include Access Denied, Unauthorized, Expired Token, or Invalid Signature.", + "headers": { + "x-amzn-RequestId": { + "description": "Unique request reference identifier.", + "type": "string" + } + }, + "schema": { + "$ref": "#/definitions/ErrorList" + } + }, + "404": { + "description": "The resource specified does not exist.", + "headers": { + "x-amzn-RateLimit-Limit": { + "description": "Your rate limit (requests per second) for this operation.", + "type": "string" + }, + "x-amzn-RequestId": { + "description": "Unique request reference identifier.", + "type": "string" + } + }, + "schema": { + "$ref": "#/definitions/ErrorList" + } + }, + "413": { + "description": "The request size exceeded the maximum accepted size.", + "headers": { + "x-amzn-RequestId": { + "description": "Unique request reference identifier.", + "type": "string" + } + }, + "schema": { + "$ref": "#/definitions/ErrorList" + } + }, + "415": { + "description": "The request payload is in an unsupported format.", + "headers": { + "x-amzn-RequestId": { + "description": "Unique request reference identifier.", + "type": "string" + } + }, + "schema": { + "$ref": "#/definitions/ErrorList" + } + }, + "429": { + "description": "The frequency of requests was greater than allowed.", + "headers": { + "x-amzn-RequestId": { + "description": "Unique request reference identifier.", + "type": "string" + } + }, + "schema": { + "$ref": "#/definitions/ErrorList" + } + }, + "500": { + "description": "An unexpected condition occurred that prevented the server from fulfilling the request.", + "headers": { + "x-amzn-RequestId": { + "description": "Unique request reference identifier.", + "type": "string" + } + }, + "schema": { + "$ref": "#/definitions/ErrorList" + } + }, + "503": { + "description": "Temporary overloading or maintenance of the server.", + "headers": { + "x-amzn-RequestId": { + "description": "Unique request reference identifier.", + "type": "string" + } + }, + "schema": { + "$ref": "#/definitions/ErrorList" + } + } + }, + "tags": [ + "awd" + ], + "description": "Lists AWD inventory associated with a merchant with the ability to apply optional filters.", + "operationId": "listInventory" + } + } + }, + "definitions": { + "Address": { + "description": "Shipping address that represents the origin or destination location.", + "properties": { + "addressLine1": { + "description": "First line of the address text.", + "type": "string" + }, + "addressLine2": { + "description": "Optional second line of the address text.", + "type": "string" + }, + "addressLine3": { + "description": "Optional third line of the address text.", + "type": "string" + }, + "city": { + "description": "Optional city where this address is located.", + "type": "string" + }, + "countryCode": { + "description": "Two-digit, ISO 3166-1 alpha-2 formatted country code where this address is located.", + "type": "string" + }, + "county": { + "description": "Optional county where this address is located.", + "type": "string", + "example": "Washington" + }, + "district": { + "description": "Optional district where this address is located.", + "type": "string" + }, + "name": { + "description": "Name of the person, business, or institution at this address.", + "type": "string" + }, + "phoneNumber": { + "description": "Optional E.164-formatted phone number for an available contact at this address.", + "type": "string", + "example": "+14155552671" + }, + "postalCode": { + "description": "Optional postal code where this address is located.", + "type": "string" + }, + "stateOrRegion": { + "description": "State or region where this address is located. Note that this is contextual to the specified country code.", + "type": "string" + } + }, + "required": [ + "addressLine1", + "countryCode", + "name", + "stateOrRegion" + ], + "type": "object", + "example": { + "addressLine1": "address_1", + "addressLine2": "address_2", + "addressLine3": "address_3", + "city": "Seattle", + "countryCode": "US", + "county": "Washington", + "district": "District1", + "name": "address_name", + "phoneNumber": "+14155552671", + "postalCode": "123456", + "stateOrRegion": "Washington" + } + }, + "CarrierCode": { + "description": "Identifies the carrier that will deliver the shipment.", + "properties": { + "carrierCodeType": { + "description": "Denotes the carrier type.", + "$ref": "#/definitions/CarrierCodeType" + }, + "carrierCodeValue": { + "description": "Value of the carrier code.", + "type": "string", + "example": "TestCarrierCode" + } + }, + "type": "object", + "example": { + "carrierCodeType": "SCAC", + "carrierCodeValue": "TestCarrierCode" + } + }, + "CarrierCodeType": { + "description": "Denotes the type for the carrier.", + "enum": [ + "SCAC" + ], + "type": "string", + "x-docgen-enum-table-extension": [ + { + "description": "Standard Carrier Alpha Code. Ref: https://help.cbp.gov/s/article/Article-572?language=en_US.", + "value": "SCAC" + } + ], + "example": "SCAC" + }, + "DimensionUnitOfMeasurement": { + "description": "Unit of measurement for package dimensions.", + "enum": [ + "INCHES", + "CENTIMETERS" + ], + "type": "string", + "x-docgen-enum-table-extension": [ + { + "description": "Denotes package dimensions in inches.", + "value": "INCHES" + }, + { + "description": "Denotes package dimensions in centimeters.", + "value": "CENTIMETERS" + } + ], + "example": "INCHES" + }, + "DistributionPackage": { + "description": "Represents an AWD distribution package.", + "properties": { + "contents": { + "description": "The contents appropriate for the type.", + "$ref": "#/definitions/DistributionPackageContents" + }, + "measurements": { + "description": "Measurements of a package, including weight, volume, and dimensions.", + "$ref": "#/definitions/MeasurementData" + }, + "type": { + "description": "Type of distribution package.", + "$ref": "#/definitions/DistributionPackageType" + } + }, + "required": [ + "contents", + "measurements", + "type" + ], + "type": "object", + "example": { + "contents": { + "products": [ + { + "quantity": 1, + "sku": "testPen" + } + ] + }, + "measurements": { + "dimensions": { + "height": 1, + "length": 1, + "unitOfMeasurement": "INCHES", + "width": 1 + }, + "volume": { + "unitOfMeasurement": "CUIN", + "volume": 1 + }, + "weight": { + "unitOfMeasurement": "POUNDS", + "weight": 1 + } + }, + "type": "CASE" + } + }, + "DistributionPackageContents": { + "description": "Represents the contents inside a package, which can be products or a nested package.", + "properties": { + "packages": { + "description": "This is required only when `DistributionPackageType=PALLET`.", + "items": { + "$ref": "#/definitions/DistributionPackageQuantity" + }, + "type": "array" + }, + "products": { + "description": "This is required only when `DistributionPackageType=CASE`.", + "items": { + "$ref": "#/definitions/ProductQuantity" + }, + "type": "array" + } + }, + "type": "object" + }, + "DistributionPackageQuantity": { + "description": "Represents a distribution package with its respective quantity.", + "properties": { + "count": { + "description": "Number of cases or pallets with the same package configuration.", + "format": "int32", + "type": "integer" + }, + "distributionPackage": { + "$ref": "#/definitions/DistributionPackage" + } + }, + "required": [ + "count", + "distributionPackage" + ], + "type": "object", + "example": { + "count": 1, + "distributionPackage": { + "contents": { + "products": [ + { + "quantity": 1, + "sku": "testPen" + } + ] + }, + "measurements": { + "dimensions": { + "height": 1, + "length": 1, + "unitOfMeasurement": "INCHES", + "width": 1 + }, + "volume": { + "unitOfMeasurement": "CUIN", + "volume": 1 + }, + "weight": { + "unitOfMeasurement": "POUNDS", + "weight": 1 + } + }, + "type": "CASE" + } + } + }, + "DistributionPackageType": { + "description": "Type of distribution packages.", + "enum": [ + "CASE", + "PALLET" + ], + "type": "string", + "x-docgen-enum-table-extension": [ + { + "description": "Package type `CASE`.", + "value": "CASE" + }, + { + "description": "Package type `PALLET`. Currently, the `PALLET` package type is not supported.", + "value": "PALLET" + } + ], + "example": "CASE" + }, + "Error": { + "description": "Error response returned when the request is unsuccessful.", + "properties": { + "code": { + "description": "An error code that identifies the type of error that occurred.", + "type": "string" + }, + "details": { + "description": "Additional details that can help the caller understand or fix the issue.", + "type": "string" + }, + "message": { + "description": "A message that describes the error condition.", + "type": "string" + } + }, + "required": [ + "code", + "message" + ], + "type": "object" + }, + "ErrorList": { + "description": "This exception is thrown when client inputs are invalid.", + "properties": { + "errors": { + "description": "A list of errors describing the failures.", + "items": { + "$ref": "#/definitions/Error" + }, + "type": "array" + } + }, + "type": "object", + "required": [ + "errors" + ] + }, + "InboundShipment": { + "description": "Represents an AWD inbound shipment.", + "properties": { + "carrierCode": { + "description": "The shipment carrier code.", + "$ref": "#/definitions/CarrierCode" + }, + "createdAt": { + "description": "Timestamp when the shipment was created. The date is returned in ISO 8601 format.", + "format": "date-time", + "type": "string" + }, + "destinationAddress": { + "description": "Destination address for this shipment.", + "$ref": "#/definitions/Address" + }, + "externalReferenceId": { + "description": "Client-provided reference ID that can correlate this shipment to client resources. For example, to map this shipment to an internal bookkeeping order record.", + "type": "string", + "example": "TestReferenceId" + }, + "orderId": { + "description": "The AWD inbound order ID that this inbound shipment belongs to.", + "minLength": 1, + "type": "string" + }, + "originAddress": { + "description": "Origin address for this shipment.", + "$ref": "#/definitions/Address" + }, + "receivedQuantity": { + "description": "Quantity received (at the receiving end) as part of this shipment.", + "items": { + "$ref": "#/definitions/InventoryQuantity" + }, + "type": "array" + }, + "shipBy": { + "description": "Timestamp when the shipment will be shipped.", + "format": "date-time", + "type": "string" + }, + "shipmentContainerQuantities": { + "description": "Packages that are part of this shipment.", + "items": { + "$ref": "#/definitions/DistributionPackageQuantity" + }, + "type": "array" + }, + "shipmentId": { + "description": "Unique shipment ID.", + "minLength": 1, + "type": "string" + }, + "shipmentStatus": { + "description": "Current status of this shipment.", + "$ref": "#/definitions/InboundShipmentStatus" + }, + "trackingId": { + "description": "Carrier-unique tracking ID for this shipment.", + "minLength": 1, + "type": "string" + }, + "updatedAt": { + "description": "Timestamp when the shipment was updated. The date is returned in ISO 8601 format.", + "format": "date-time", + "type": "string" + }, + "warehouseReferenceId": { + "description": "An AWD-provided reference ID that you can use to interact with the warehouse. For example, a carrier appointment booking.", + "type": "string", + "example": "TestWarehouseReferenceId" + } + }, + "required": [ + "destinationAddress", + "orderId", + "originAddress", + "shipmentContainerQuantities", + "shipmentId", + "shipmentStatus" + ], + "type": "object" + }, + "InboundShipmentStatus": { + "description": "Possible shipment statuses used by shipments.", + "enum": [ + "CREATED", + "SHIPPED", + "IN_TRANSIT", + "RECEIVING", + "DELIVERED", + "CLOSED", + "CANCELLED" + ], + "type": "string", + "x-docgen-enum-table-extension": [ + { + "description": "Shipment is created but has not yet shipped.", + "value": "CREATED" + }, + { + "description": "Shipment was picked up by the carrier or was dropped off with the carrier.", + "value": "SHIPPED" + }, + { + "description": "The carrier has notified AWD that the shipment is in transit between origin and destination node.", + "value": "IN_TRANSIT" + }, + { + "description": "The shipment has been partially received.", + "value": "RECEIVING" + }, + { + "description": "The shipment has reached the destination node and has been delivered to the facility yard. The shipment receive process at the warehouse will start soon.", + "value": "DELIVERED" + }, + { + "description": "No more actions required on the shipment. This is a final state.", + "value": "CLOSED" + }, + { + "description": "Shipment has been cancelled. This is a final state.", + "value": "CANCELLED" + } + ] + }, + "InboundShipmentSummary": { + "description": "Summary for an AWD inbound shipment containing the shipment ID, which can be used to retrieve the actual shipment.", + "properties": { + "createdAt": { + "description": "Timestamp when the shipment was created.", + "format": "date-time", + "type": "string" + }, + "externalReferenceId": { + "description": "Optional client-provided reference ID that can be used to correlate this shipment with client resources. For example, to map this shipment to an internal bookkeeping order record.", + "type": "string", + "example": "TestReferenceId" + }, + "orderId": { + "description": "The AWD inbound order ID that this inbound shipment belongs to.", + "minLength": 1, + "type": "string" + }, + "shipmentId": { + "description": "A unique shipment ID.", + "minLength": 1, + "type": "string" + }, + "shipmentStatus": { + "$ref": "#/definitions/InboundShipmentStatus" + }, + "updatedAt": { + "description": "Timestamp when the shipment was updated.", + "format": "date-time", + "type": "string" + } + }, + "required": [ + "orderId", + "shipmentId", + "shipmentStatus" + ], + "type": "object" + }, + "InventoryDetails": { + "description": "Additional inventory details. This object is only displayed if the details parameter in the request is set to `SHOW`.", + "properties": { + "availableDistributableQuantity": { + "description": "Quantity that is available for downstream channel replenishment.", + "format": "int64", + "type": "integer" + }, + "reservedDistributableQuantity": { + "description": "Quantity that is reserved for a downstream channel replenishment order that is being prepared for shipment.", + "format": "int64", + "type": "integer" + } + }, + "type": "object" + }, + "InventoryDetailsVisibility": { + "description": "Enum to specify if returned summaries should include additional summarized inventory details and quantities.", + "enum": [ + "SHOW", + "HIDE" + ], + "type": "string", + "x-docgen-enum-table-extension": [ + { + "description": "Show the additional summarized inventory details.", + "value": "SHOW" + }, + { + "description": "Hide the additional summarized inventory details.", + "value": "HIDE" + } + ], + "example": "SHOW" + }, + "InventoryListing": { + "description": "AWD inventory payload.", + "properties": { + "inventory": { + "description": "List of inventory summaries.", + "items": { + "$ref": "#/definitions/InventorySummary" + }, + "type": "array" + }, + "nextToken": { + "description": "Token to retrieve the next set of paginated results.", + "type": "string", + "example": "SampleToken" + } + }, + "required": [ + "inventory" + ], + "type": "object" + }, + "InventoryQuantity": { + "description": "Quantity of inventory with an associated measurement unit context.", + "properties": { + "quantity": { + "description": "Quantity of the respective inventory.", + "type": "number" + }, + "unitOfMeasurement": { + "description": "Unit of measurement for the inventory.", + "$ref": "#/definitions/InventoryUnitOfMeasurement" + } + }, + "required": [ + "quantity", + "unitOfMeasurement" + ], + "type": "object" + }, + "InventorySummary": { + "description": "Summary of inventory per SKU.", + "properties": { + "inventoryDetails": { + "$ref": "#/definitions/InventoryDetails" + }, + "sku": { + "description": "The seller or merchant SKU.", + "type": "string" + }, + "totalOnhandQuantity": { + "description": "Total quantity that is present in AWD distribution centers.", + "format": "int64", + "type": "integer" + } + }, + "required": [ + "sku" + ], + "type": "object" + }, + "InventoryUnitOfMeasurement": { + "description": "Unit of measurement for the inventory.", + "enum": [ + "PRODUCT_UNITS", + "CASES", + "PALLETS" + ], + "type": "string", + "x-docgen-enum-table-extension": [ + { + "description": "Measures a discrete amount of product units.", + "value": "PRODUCT_UNITS" + }, + { + "description": "Measures a discrete amount of cases.", + "value": "CASES" + }, + { + "description": "Measures a discrete amount of pallets.", + "value": "PALLETS" + } + ] + }, + "MeasurementData": { + "description": "Package weight and dimension.", + "properties": { + "dimensions": { + "description": "Dimensions of the package. Dimensions are required when creating an inbound or outbound order.", + "$ref": "#/definitions/PackageDimensions" + }, + "volume": { + "description": "Volume of the package.", + "$ref": "#/definitions/PackageVolume" + }, + "weight": { + "description": "Weight of the package.", + "$ref": "#/definitions/PackageWeight" + } + }, + "required": [ + "weight" + ], + "type": "object" + }, + "PackageDimensions": { + "description": "Dimensions of the package.", + "properties": { + "height": { + "description": "Height of the package.", + "format": "double", + "type": "number" + }, + "length": { + "description": "Length of the package.", + "format": "double", + "type": "number" + }, + "unitOfMeasurement": { + "description": "Unit of measurement for package dimensions.", + "$ref": "#/definitions/DimensionUnitOfMeasurement" + }, + "width": { + "description": "Width of the package.", + "format": "double", + "type": "number" + } + }, + "required": [ + "height", + "length", + "unitOfMeasurement", + "width" + ], + "type": "object" + }, + "PackageVolume": { + "description": "Represents the volume of the package with a unit of measurement.", + "properties": { + "unitOfMeasurement": { + "description": "Unit of measurement for the package volume.", + "$ref": "#/definitions/VolumeUnitOfMeasurement" + }, + "volume": { + "description": "The package volume value.", + "format": "double", + "type": "number" + } + }, + "required": [ + "unitOfMeasurement", + "volume" + ], + "type": "object" + }, + "PackageWeight": { + "description": "Represents the weight of the package with a unit of measurement.", + "properties": { + "unitOfMeasurement": { + "description": "Unit of measurement for the package weight.", + "$ref": "#/definitions/WeightUnitOfMeasurement" + }, + "weight": { + "description": "The package weight value.", + "format": "double", + "type": "number" + } + }, + "required": [ + "unitOfMeasurement", + "weight" + ], + "type": "object" + }, + "ProductAttribute": { + "description": "Product instance attribute that is not described at the SKU level in the catalog.", + "properties": { + "name": { + "description": "Product attribute name.", + "type": "string", + "example": "TestAttribute" + }, + "value": { + "description": "Product attribute value.", + "type": "string", + "example": "TestAttributeValue" + } + }, + "type": "object", + "example": { + "name": "TestAttribute", + "value": "TestAttributeValue" + } + }, + "ProductQuantity": { + "description": "Represents a product with the SKU details and the corresponding quantity.", + "properties": { + "attributes": { + "description": "Attributes for this instance of the product. For example, already-prepped, or other attributes that distinguish the product beyond the SKU.", + "items": { + "$ref": "#/definitions/ProductAttribute" + }, + "type": "array", + "example": { + "name": "TestAttribute", + "value": "TestAttributeValue" + } + }, + "quantity": { + "description": "Product quantity.", + "format": "int32", + "type": "integer" + }, + "sku": { + "description": "The seller or merchant SKU.", + "type": "string" + } + }, + "required": [ + "quantity", + "sku" + ], + "type": "object" + }, + "ShipmentListing": { + "description": "A list of inbound shipment summaries filtered by the attributes specified in the request.", + "properties": { + "nextToken": { + "description": "Token to retrieve the next set of paginated results.", + "type": "string", + "example": "SampleToken" + }, + "shipments": { + "description": "List of inbound shipment summaries.", + "items": { + "$ref": "#/definitions/InboundShipmentSummary" + }, + "type": "array" + } + }, + "type": "object" + }, + "ShipmentSortableField": { + "description": "Denotes the field name on which the shipments are to be sorted.", + "enum": [ + "UPDATED_AT", + "CREATED_AT" + ], + "type": "string", + "x-docgen-enum-table-extension": [ + { + "description": "Sort by updated at timestamp.", + "value": "UPDATED_AT" + }, + { + "description": "Sort by created at timestamp.", + "value": "CREATED_AT" + } + ], + "example": "CREATED_AT" + }, + "SortOrder": { + "description": "Sort order for a collection of items. For example, order or shipment.", + "enum": [ + "ASCENDING", + "DESCENDING" + ], + "type": "string", + "x-docgen-enum-table-extension": [ + { + "description": "Sorts the collection in ascending order.", + "value": "ASCENDING" + }, + { + "description": "Sorts the collection in descending order.", + "value": "DESCENDING" + } + ], + "example": "ASCENDING" + }, + "VolumeUnitOfMeasurement": { + "description": "Unit of measurement for the package volume.", + "enum": [ + "CU_IN", + "CBM", + "CC" + ], + "type": "string", + "x-docgen-enum-table-extension": [ + { + "description": "Denotes volume measurement in cubic inches.", + "value": "CU_IN" + }, + { + "description": "Denotes volume measurement in cubic meters.", + "value": "CBM" + }, + { + "description": "Denotes volume measurement in cubic centimeters.", + "value": "CC" + } + ] + }, + "WeightUnitOfMeasurement": { + "description": "Unit of measurement for the package weight.", + "enum": [ + "POUNDS", + "KILOGRAMS" + ], + "type": "string", + "x-docgen-enum-table-extension": [ + { + "description": "Denotes weight measurement in pounds.", + "value": "POUNDS" + }, + { + "description": "Denotes weight measurement in kilograms.", + "value": "KILOGRAMS" + } + ] + } + } +} \ No newline at end of file From 2e50c6588e3fd0bfc1e4042b5443a0bc16b7bc6f Mon Sep 17 00:00:00 2001 From: Jack Evoniuk Date: Wed, 19 Jun 2024 11:56:49 -0700 Subject: [PATCH 256/340] Update Replenishment API model --- .../replenishment-2022-11-07.json | 177 ++++++++++++++---- 1 file changed, 144 insertions(+), 33 deletions(-) diff --git a/models/replenishment-api-model/replenishment-2022-11-07.json b/models/replenishment-api-model/replenishment-2022-11-07.json index c61768d81..b75ad3aa3 100644 --- a/models/replenishment-api-model/replenishment-2022-11-07.json +++ b/models/replenishment-api-model/replenishment-2022-11-07.json @@ -410,39 +410,39 @@ "x-docgen-enum-table-extension": [ { "value": "SHIPPED_SUBSCRIPTION_UNITS", - "description": "The number of units shipped to the subscribers over a period of time. Applicable only for the PERFORMANCE timePeriodType." + "description": "The number of units shipped to the subscribers over a period of time. Applicable only for the `PERFORMANCE` `timePeriodType`." }, { "value": "TOTAL_SUBSCRIPTIONS_REVENUE", - "description": "The revenue generated from subscriptions over a period of time. Applicable only for the PERFORMANCE timePeriodType." + "description": "The revenue generated from subscriptions over a period of time. Applicable only for the `PERFORMANCE` `timePeriodType`." }, { "value": "ACTIVE_SUBSCRIPTIONS", - "description": "The number of active subscriptions present at the end of the period. Applicable only for the PERFORMANCE timePeriodType." + "description": "The number of active subscriptions present at the end of the period. Applicable only for the `PERFORMANCE` `timePeriodType`." }, { "value": "NEXT_90DAYS_SHIPPED_SUBSCRIPTION_UNITS", - "description": "The forecasted shipped subscription units for the next 90 days. Applicable only for the FORECAST timePeriodType." + "description": "The forecasted shipped subscription units for the next 90 days. Applicable only for the `FORECAST` `timePeriodType`." }, { "value": "NEXT_60DAYS_SHIPPED_SUBSCRIPTION_UNITS", - "description": "The forecasted shipped subscription units for the next 60 days. Applicable only for the FORECAST timePeriodType." + "description": "The forecasted shipped subscription units for the next 60 days. Applicable only for the `FORECAST` `timePeriodType`." }, { "value": "NEXT_30DAYS_SHIPPED_SUBSCRIPTION_UNITS", - "description": "The forecasted shipped subscription units for the next 30 days. Applicable only for the FORECAST timePeriodType." + "description": "The forecasted shipped subscription units for the next 30 days. Applicable only for the `FORECAST` `timePeriodType`." }, { "value": "NEXT_90DAYS_TOTAL_SUBSCRIPTIONS_REVENUE", - "description": "The forecasted total subscription revenue for the next 90 days. Applicable only for the FORECAST timePeriodType." + "description": "The forecasted total subscription revenue for the next 90 days. Applicable only for the `FORECAST` `timePeriodType`." }, { "value": "NEXT_60DAYS_TOTAL_SUBSCRIPTIONS_REVENUE", - "description": "The forecasted total subscription revenue for the next 60 days. Applicable only for the FORECAST timePeriodType." + "description": "The forecasted total subscription revenue for the next 60 days. Applicable only for the `FORECAST` `timePeriodType`." }, { "value": "NEXT_30DAYS_TOTAL_SUBSCRIPTIONS_REVENUE", - "description": "The forecasted total subscription revenue for the next 30 days. Applicable only for the FORECAST timePeriodType." + "description": "The forecasted total subscription revenue for the next 30 days. Applicable only for the `FORECAST` `timePeriodType`." } ] }, @@ -582,7 +582,7 @@ "description": "The marketplace identifier. The supported marketplaces for both sellers and vendors are US, CA, ES, UK, FR, IT, IN, DE and JP. The supported marketplaces for vendors only are BR, AU, MX, AE and NL. Refer to [Marketplace IDs](https://developer-docs.amazon.com/sp-api/docs/marketplace-ids) to find the identifier for the marketplace." }, "AggregationFrequency": { - "description": "The time period used to group data in the response. Note that this is only valid for the performance time period type.", + "description": "The time period used to group data in the response. Note that this is only valid for the `PERFORMANCE` time period type.", "type": "string", "enum": [ "WEEK", @@ -620,12 +620,12 @@ "startDate": { "type": "string", "format": "date-time", - "description": "When this object is used as a request parameter, the specified startDate is adjusted based on the aggregation frequency.\n\n* For WEEK the metric is computed from the first day of the week (that is, Sunday based on ISO 8601) that contains the startDate.\n* For MONTH the metric is computed from the first day of the month that contains the startDate.\n* For QUARTER the metric is computed from the first day of the quarter that contains the startDate.\n* For YEAR the metric is computed from the first day of the year that contains the startDate." + "description": "When this object is used as a request parameter, the specified `startDate` is adjusted based on the aggregation frequency.\n\n* For `WEEK` the metric is computed from the first day of the week (Sunday, based on ISO 8601) that contains the `startDate`.\n* For `MONTH` the metric is computed from the first day of the month that contains the `startDate`.\n* For `QUARTER` the metric is computed from the first day of the quarter that contains the `startDate`.\n* For `YEAR` the metric is computed from the first day of the year that contains the `startDate`." }, "endDate": { "type": "string", "format": "date-time", - "description": "When this object is used as a request parameter, the specified endDate is adjusted based on the aggregation frequency.\n\n* For WEEK the metric is computed up to the last day of the week (that is, Sunday based on ISO 8601) that contains the endDate.\n* For MONTH, the metric is computed up to the last day that contains the endDate.\n* For QUARTER the metric is computed up to the last day of the quarter that contains the endDate.\n* For YEAR the metric is computed up to the last day of the year that contains the endDate.\n Note: The end date may be adjusted to a lower value based on the data available in our system." + "description": "When this object is used as a request parameter, the specified `endDate` is adjusted based on the aggregation frequency.\n\n* For `WEEK` the metric is computed up to the last day of the week (Sunday, based on ISO 8601) that contains the `endDate`.\n* For `MONTH`, the metric is computed up to the last day that contains the `endDate`.\n* For `QUARTER` the metric is computed up to the last day of the quarter that contains the `endDate`.\n* For `YEAR` the metric is computed up to the last day of the year that contains the `endDate`.\n Note: The end date may be adjusted to a lower value based on the data available in our system." } } }, @@ -637,7 +637,10 @@ "TOTAL_SUBSCRIPTIONS_REVENUE", "ACTIVE_SUBSCRIPTIONS", "NOT_DELIVERED_DUE_TO_OOS", - "SUBSCRIBER_NON_SUBSCRIBER_AVERAGE_REVENUE" + "SUBSCRIBER_NON_SUBSCRIBER_AVERAGE_REVENUE", + "LOST_REVENUE_DUE_TO_OOS", + "SUBSCRIBER_NON_SUBSCRIBER_AVERAGE_REORDERS", + "COUPONS_REVENUE_PENETRATION" ], "x-docgen-enum-table-extension": [ { @@ -659,6 +662,18 @@ { "value": "SUBSCRIBER_NON_SUBSCRIBER_AVERAGE_REVENUE", "description": "The average revenue per subscriber and non-subscriber over the past 12 months for sellers and 6 months for vendors." + }, + { + "value": "LOST_REVENUE_DUE_TO_OOS", + "description": "The revenue that would have been generated had there not been out of stock." + }, + { + "value": "SUBSCRIBER_NON_SUBSCRIBER_AVERAGE_REORDERS", + "description": "The average reorders per subscriber and non-subscriber over the last 12 months." + }, + { + "value": "COUPONS_REVENUE_PENETRATION", + "description": "The percentage of revenue from ASINs with coupons out of total revenue from all ASINs." } ] }, @@ -694,7 +709,7 @@ }, { "value": "FORECAST", - "description": "Indicates forecasted metrics. Only TOTAL_SUBSCRIPTIONS_REVENUE and SHIPPED_SUBSCRIPTION_UNITS are supported. Forecast data is supported for sellers but not for vendors." + "description": "Indicates forecasted metrics. Only `TOTAL_SUBSCRIPTIONS_REVENUE` and `SHIPPED_SUBSCRIPTION_UNITS` are supported. Forecast data is supported for sellers but not for vendors." } ] }, @@ -716,42 +731,67 @@ "description": "An object which contains metric data for a selling partner.", "properties": { "notDeliveredDueToOOS": { - "description": "The percentage of items that were not shipped out of the total shipped units over a period of time due to being out of stock. Applicable only for the PERFORMANCE timePeriodType.", + "description": "The percentage of items that were not shipped out of the total shipped units over a period of time due to being out of stock. Applicable only for the `PERFORMANCE` `timePeriodType`.", "type": "number", "format": "double", "minimum": 0, "maximum": 100 }, "totalSubscriptionsRevenue": { - "description": "The revenue generated from subscriptions over a period of time. Applicable for both the PERFORMANCE and FORECAST timePeriodType.", + "description": "The revenue generated from subscriptions over a period of time. Applicable for both the `PERFORMANCE` and `FORECAST` `timePeriodType`.", "type": "number", "format": "double", "minimum": 0 }, "shippedSubscriptionUnits": { - "description": "The number of units shipped to the subscribers over a period of time. Applicable for both the PERFORMANCE and FORECAST timePeriodType.", + "description": "The number of units shipped to the subscribers over a period of time. Applicable for both the `PERFORMANCE` and `FORECAST` `timePeriodType`.", "type": "number", "format": "int64", "minimum": 0 }, "activeSubscriptions": { - "description": "The number of active subscriptions present at the end of the period. Applicable only for the PERFORMANCE timePeriodType.", + "description": "The number of active subscriptions present at the end of the period. Applicable only for the `PERFORMANCE` `timePeriodType`.", "type": "number", "format": "int64", "minimum": 0 }, "subscriberAverageRevenue": { - "description": "The average revenue per subscriber of the program over a period of past 12 months for sellers and 6 months for vendors. Applicable only for the PERFORMANCE timePeriodType.", + "description": "The average revenue per subscriber of the program over a period of past 12 months for sellers and 6 months for vendors. Applicable only for the `PERFORMANCE` `timePeriodType`.", "type": "number", "format": "double", "minimum": 0 }, "nonSubscriberAverageRevenue": { - "description": "The average revenue per non-subscriber of the program over a period of past 12 months for sellers and 6 months for vendors. Applicable only for the PERFORMANCE timePeriodType.", + "description": "The average revenue per non-subscriber of the program over a period of past 12 months for sellers and 6 months for vendors. Applicable only for the `PERFORMANCE` `timePeriodType`.", + "type": "number", + "format": "double", + "minimum": 0 + }, + "lostRevenueDueToOOS": { + "description": "The revenue that would have been generated had there not been out of stock. Applicable only for the PERFORMANCE timePeriodType.", + "type": "number", + "format": "double", + "minimum": 0 + }, + "subscriberAverageReorders": { + "description": "The average reorders per subscriber of the program over a period of 12 months. Applicable only for the PERFORMANCE timePeriodType.", "type": "number", "format": "double", "minimum": 0 }, + "nonSubscriberAverageReorders": { + "description": "The average reorders per non-subscriber of the program over a period of past 12 months. Applicable only for the PERFORMANCE timePeriodType.", + "type": "number", + "format": "double", + "minimum": 0 + }, + "couponsRevenuePenetration": { + "description": "The percentage of revenue from ASINs with coupons out of total revenue from all ASINs. Applicable only for the PERFORMANCE timePeriodType.", + "type": "number", + "format": "double", + "minimum": 0, + "maximum": 100 + }, "timeInterval": { "description": "A time interval used to compute metrics.", "$ref": "#/definitions/TimeInterval" @@ -854,69 +894,82 @@ "description": "The Amazon Standard Identification Number (ASIN)." }, "notDeliveredDueToOOS": { - "description": "The percentage of items that were not shipped out of the total shipped units over a period of time due to being out of stock. Applicable only for the PERFORMANCE timePeriodType.", + "description": "The percentage of items that were not shipped out of the total shipped units over a period of time due to being out of stock. Applicable only for the `PERFORMANCE` `timePeriodType`.", "type": "number", "format": "double", "minimum": 0, "maximum": 100 }, "totalSubscriptionsRevenue": { - "description": "The revenue generated from subscriptions over a period of time. Applicable only for the PERFORMANCE timePeriodType.", + "description": "The revenue generated from subscriptions over a period of time. Applicable only for the `PERFORMANCE` `timePeriodType`.", "type": "number", "format": "double", "minimum": 0 }, "shippedSubscriptionUnits": { - "description": "The number of units shipped to the subscribers over a period of time. Applicable only for the PERFORMANCE timePeriodType.", + "description": "The number of units shipped to the subscribers over a period of time. Applicable only for the `PERFORMANCE` `timePeriodType`.", "type": "number", "format": "int64", "minimum": 0 }, "activeSubscriptions": { - "description": "The number of active subscriptions present at the end of the period. Applicable only for the PERFORMANCE timePeriodType.", + "description": "The number of active subscriptions present at the end of the period. Applicable only for the `PERFORMANCE` `timePeriodType`.", "type": "number", "format": "int64", "minimum": 0 }, "revenuePenetration": { - "description": "The percentage of total program revenue out of total product revenue. Applicable only for the PERFORMANCE timePeriodType.", + "description": "The percentage of total program revenue out of total product revenue. Applicable only for the `PERFORMANCE` `timePeriodType`.", + "type": "number", + "format": "double", + "minimum": 0, + "maximum": 100 + }, + "lostRevenueDueToOOS": { + "description": "The revenue that would have been generated had there not been out of stock. Applicable only for the PERFORMANCE timePeriodType.", + "type": "number", + "format": "double", + "minimum": 0 + }, + "couponsRevenuePenetration": { + "description": "The percentage of revenue from ASINs with coupons out of total revenue from all ASINs. Applicable only for the PERFORMANCE timePeriodType.", "type": "number", "format": "double", "minimum": 0, "maximum": 100 }, "next30DayTotalSubscriptionsRevenue": { - "description": "The forecasted total subscription revenue for the next 30 days. Applicable only for the FORECAST timePeriodType.", + "description": "The forecasted total subscription revenue for the next 30 days. Applicable only for the `FORECAST` `timePeriodType`.", "type": "number", "format": "double", "minimum": 0 }, "next60DayTotalSubscriptionsRevenue": { - "description": "The forecasted total subscription revenue for the next 60 days. Applicable only for the FORECAST timePeriodType.", + "description": "The forecasted total subscription revenue for the next 60 days. Applicable only for the `FORECAST` `timePeriodType`.", "type": "number", "format": "double", "minimum": 0 }, "next90DayTotalSubscriptionsRevenue": { - "description": "The forecasted total subscription revenue for the next 90 days. Applicable only for the FORECAST timePeriodType.", + "description": "The forecasted total subscription revenue for the next 90 days. Applicable only for the `FORECAST` `timePeriodType`.", "type": "number", "format": "double", "minimum": 0 }, "next30DayShippedSubscriptionUnits": { - "description": "The forecasted shipped subscription units for the next 30 days. Applicable only for the FORECAST timePeriodType.", + "description": "The forecasted shipped subscription units for the next 30 days. Applicable only for the `FORECAST` `timePeriodType`.", "type": "number", "format": "int64", "minimum": 0 }, "next60DayShippedSubscriptionUnits": { - "description": "The forecasted shipped subscription units for the next 60 days. Applicable only for the FORECAST timePeriodType.", + "description": "The forecasted shipped subscription units for the next 60 days. Applicable only for the `FORECAST` `timePeriodType`.", "type": "number", "format": "int64", "minimum": 0 }, "next90DayShippedSubscriptionUnits": { - "description": "The forecasted shipped subscription units for the next 90 days. Applicable only for the FORECAST timePeriodType.", + "description": "The forecasted shipped subscription units for the next 90 days. Applicable only for the `FORECAST` `timePeriodType`.", "type": "number", "format": "int64", "minimum": 0 @@ -940,6 +993,7 @@ "properties": { "errors": { "type": "array", + "description": "A list of error responses returned when a request is unsuccessful.", "items": { "$ref": "#/definitions/Error" } @@ -980,6 +1034,7 @@ "parameters": [ { "name": "body", + "description": "The request body for the `getSellingPartnerMetrics` operation.", "in": "body", "schema": { "$ref": "#/definitions/GetSellingPartnerMetricsRequest" @@ -1012,6 +1067,10 @@ "notDeliveredDueToOOS": 5.54, "totalSubscriptionsRevenue": 131340.24, "activeSubscriptions": 0, + "lostRevenueDueToOOS": 38493.29, + "subscriberAverageReorders": 3.25, + "nonSubscriberAverageReorders": 1.11, + "couponsRevenuePenetration": 0.0, "currencyCode": "USD", "timeInterval": { "endDate": "2023-05-09T22:36:56Z", @@ -1054,6 +1113,10 @@ "notDeliveredDueToOOS": 5.54, "totalSubscriptionsRevenue": 131340.24, "activeSubscriptions": 0, + "lostRevenueDueToOOS": 38493.29, + "subscriberAverageReorders": 3.25, + "nonSubscriberAverageReorders": 1.11, + "couponsRevenuePenetration": 0.0, "currencyCode": "USD", "timeInterval": { "endDate": "2023-05-09T22:36:56Z", @@ -1098,7 +1161,10 @@ "TOTAL_SUBSCRIPTIONS_REVENUE", "NOT_DELIVERED_DUE_TO_OOS", "ACTIVE_SUBSCRIPTIONS", - "SUBSCRIBER_NON_SUBSCRIBER_AVERAGE_REVENUE" + "SUBSCRIBER_NON_SUBSCRIBER_AVERAGE_REVENUE", + "LOST_REVENUE_DUE_TO_OOS", + "SUBSCRIBER_NON_SUBSCRIBER_AVERAGE_REORDERS", + "COUPONS_REVENUE_PENETRATION" ], "timePeriodType": "PERFORMANCE", "marketplaceId": "ATVPDKIKX0DER", @@ -1161,6 +1227,18 @@ } } }, + "413": { + "description": "The request size exceeded the maximum accepted size.", + "headers": { + "x-amzn-RequestId": { + "type": "string", + "description": "Unique request reference identifier." + } + }, + "schema": { + "$ref": "#/definitions/ErrorList" + } + }, "415": { "description": "The request payload is in an unsupported format.", "schema": { @@ -1254,6 +1332,8 @@ "totalSubscriptionsRevenue": 12.89, "asin": "B000TMUDOW", "revenuePenetration": 10.34, + "lostRevenueDueToOOS": 12.32, + "couponsRevenuePenetration": 10, "timeInterval": { "endDate": "2023-03-11T00:00:00Z", "startDate": "2023-03-05T00:00:00Z" @@ -1266,6 +1346,8 @@ "totalSubscriptionsRevenue": 34.03, "asin": "B004CLH5CY", "revenuePenetration": 9.87, + "lostRevenueDueToOOS": 17.82, + "couponsRevenuePenetration": 17, "timeInterval": { "endDate": "2023-03-11T00:00:00Z", "startDate": "2023-03-05T00:00:00Z" @@ -1322,6 +1404,8 @@ "revenuePenetration": 23.6, "shippedSubscriptionUnits": 100, "activeSubscriptions": 100, + "lostRevenueDueToOOS": 12.32, + "couponsRevenuePenetration": 10, "timeInterval": { "startDate": "2022-01-01T00:00:00Z", "endDate": "2022-12-31T00:00:00Z" @@ -1335,6 +1419,8 @@ "revenuePenetration": 35.90, "shippedSubscriptionUnits": 100, "activeSubscriptions": 100, + "lostRevenueDueToOOS": 17.82, + "couponsRevenuePenetration": 17, "timeInterval": { "startDate": "2022-01-01T00:00:00Z", "endDate": "2022-12-31T00:00:00Z" @@ -1451,6 +1537,18 @@ } } }, + "413": { + "description": "The request size exceeded the maximum accepted size.", + "headers": { + "x-amzn-RequestId": { + "type": "string", + "description": "Unique request reference identifier." + } + }, + "schema": { + "$ref": "#/definitions/ErrorList" + } + }, "415": { "description": "The request payload is in an unsupported format.", "schema": { @@ -1507,11 +1605,12 @@ "tags": [ "offers" ], - "description": "Returns the details of a selling partner's replenishment program offers. Note that this operation only supports sellers at this time.\n\n**Usage Plan:**\n\n| Rate (requests per second) | Burst |\n| ---- | ---- |\n| 1 | 1 |\n\nThe `x-amzn-RateLimit-Limit` response header returns the usage plan rate limits that were applied to the requested operation, when available. The table above indicates the default rate and burst values for this operation. Selling partners whose business demands require higher throughput may see higher rate and burst values than those shown here. For more information, see [Usage Plans and Rate Limits in the Selling Partner API](https://developer-docs.amazon.com/sp-api/docs/usage-plans-and-rate-limits-in-the-sp-api).", + "description": "Returns the details of a selling partner's replenishment program offers.\n\n**Usage Plan:**\n\n| Rate (requests per second) | Burst |\n| ---- | ---- |\n| 1 | 1 |\n\nThe `x-amzn-RateLimit-Limit` response header returns the usage plan rate limits that were applied to the requested operation, when available. The table above indicates the default rate and burst values for this operation. Selling partners whose business demands require higher throughput may see higher rate and burst values than those shown here. For more information, see [Usage Plans and Rate Limits in the Selling Partner API](https://developer-docs.amazon.com/sp-api/docs/usage-plans-and-rate-limits-in-the-sp-api).", "operationId": "listOffers", "parameters": [ { "name": "body", + "description": "The request body for the `listOffers` operation.", "in": "body", "schema": { "$ref": "#/definitions/ListOffersRequest" @@ -1768,6 +1867,18 @@ } } }, + "413": { + "description": "The request size exceeded the maximum accepted size.", + "headers": { + "x-amzn-RequestId": { + "type": "string", + "description": "Unique request reference identifier." + } + }, + "schema": { + "$ref": "#/definitions/ErrorList" + } + }, "415": { "description": "The request payload is in an unsupported format.", "schema": { From edab7fea8280ffc02405b364a886081ad44f5d76 Mon Sep 17 00:00:00 2001 From: Jack Evoniuk Date: Wed, 19 Jun 2024 12:26:39 -0700 Subject: [PATCH 257/340] Add Vendor Analytics dataset for Data Kiosk --- ...alytics_vendorAnalytics_2024_09_30.graphql | 332 ++++++++++++++++++ 1 file changed, 332 insertions(+) create mode 100644 schemas/data-kiosk/analytics_vendorAnalytics_2024_09_30.graphql diff --git a/schemas/data-kiosk/analytics_vendorAnalytics_2024_09_30.graphql b/schemas/data-kiosk/analytics_vendorAnalytics_2024_09_30.graphql new file mode 100644 index 000000000..e49043438 --- /dev/null +++ b/schemas/data-kiosk/analytics_vendorAnalytics_2024_09_30.graphql @@ -0,0 +1,332 @@ +schema { + query: Query +} + +""" +This directive specifies the retention duration of a query containing a +particular field. When a query contains multiple fields with different +retentions, the shortest (minimum) retention is applied to the query. The +retention of a query's resulting documents always matches the retention of the query. +""" +directive @resultRetention( + "An ISO 8601 duration." + duration: String! + ) on FIELD_DEFINITION + +"Monetary amount with the corresponding currency code." +type Amount { + "The amount." + amount: Float! + "Currency code of the amount in ISO 4217 format." + currencyCode: String! +} + +"Root type for Vendor Analytics queries version 2024_09_30." +type Analytics_vendorAnalytics_2024_09_30 { + "The manufacturing view provides metrics about products manufactured by the Vendor." + manufacturingView( + "Determines how the data should be aggregated, e.g. daily, weekly, monthly." + aggregateBy: DateGranularity!, + "Currency code for all monetary amounts in ISO 4217 format. If not provided, amounts will be returned in USD." + currencyCode: String, + "The end date of the vendor analytics data to retrieve." + endDate: Date!, + "The start date of the vendor analytics data to retrieve. The start date must be no more than two years ago." + startDate: Date! + ): [ManufacturingView] + """ + The sourcing view provides metrics about products that are sourced directly + from the Vendor to Amazon (i.e., when the Vendor is a distributor). + """ + sourcingView( + "Determines how the data should be aggregated, e.g. daily, weekly, monthly." + aggregateBy: DateGranularity!, + "Currency code for all monetary amounts in ISO 4217 format. If not provided, amounts will be returned in USD." + currencyCode: String, + "The end date of the vendor analytics data to retrieve." + endDate: Date!, + "The start date of the vendor analytics data to retrieve. The start date must be no more than two years ago." + startDate: Date! + ): [SourcingView] +} + +"Customer satisfaction metric group. Null value for a given metric means that this metric is not available yet." +type CustomerSatisfaction { + "The number of items returned as recorded on the Customer Returns transaction table." + customerReturns: Long @resultRetention(duration : "P30D") +} + +"Amazon's estimate that customer demand will be at or below this value." +type ForecastedDemandStatistic { + "Amazon’s best estimate of weekly customer demand (in units). This estimate does not account for safety stock." + mean: Long @resultRetention(duration : "P30D") + "Amazon estimates that there is a 70% probability that customer demand will be at or below this number of units." + p70: Long @resultRetention(duration : "P30D") + "Amazon estimates that there is a 80% probability that customer demand will be at or below this number of units." + p80: Long @resultRetention(duration : "P30D") + "Amazon estimates that there is a 90% probability that customer demand will be at or below this number of units." + p90: Long @resultRetention(duration : "P30D") +} + +"Forecasted customer demand by week. Null value for a given metric means that this metric is not available yet." +type ForecastedDemandWeekly { + "Amazon's estimate that customer demand will be at or below this value." + demand: ForecastedDemandStatistic + "End date of the forecasting range." + endDate: Date! @resultRetention(duration : "P30D") + "Start date of the forecasting range." + startDate: Date! @resultRetention(duration : "P30D") + "Week number of the forecasting range." + weekNumber: Int! @resultRetention(duration : "P30D") +} + +"Group by attributes, essentially catalog attributes, some of which can be null, e.g., group by brand." +type GroupByAttributes { + "Amazon Standard Identification Number, used to uniquely identify products in Amazon's catalog." + asin: String @resultRetention(duration : "P30D") + "Brand name." + brand: String @resultRetention(duration : "P30D") + "Amazon brand code for the owning brand." + brandCode: String @resultRetention(duration : "P30D") + "European Article Number. A 13-digit product identifier, often represented on products as a barcode." + ean: String @resultRetention(duration : "P30D") + "13-digit International Standard Book Number." + isbn13: String @resultRetention(duration : "P30D") + "Code used to identify the manufacturer, an entity who makes the products that are sold on Amazon." + manufacturerCode: String @resultRetention(duration : "P30D") + "The model or style number of the product." + modelNumber: String @resultRetention(duration : "P30D") + """ + Products with variations (size, color, etc.) have a Parent ASIN and Child + ASINs. The Parent ASIN represents the generic overall product + (non-purchasable). + """ + parentAsin: String @resultRetention(duration : "P30D") + "Which type of prep instructions are required, e.g., ASIN stickering, Boxing, Bubble wrapping, Shrinkwrap, Cap Sealing." + prepInstructions: String @resultRetention(duration : "P30D") + "Differentiates if the prep instructions required will be performed by Amazon or the vendor." + prepInstructionsPerformedBy: String @resultRetention(duration : "P30D") + """ + The product group which describes the business group, as defined by the Amazon + catalog, e.g., PC, Wireless, Major Appliances. + """ + productGroup: String @resultRetention(duration : "P30D") + "Product name." + productTitle: String @resultRetention(duration : "P30D") + "The day that an item is available for purchase by the public." + releaseDate: String @resultRetention(duration : "P30D") + "Availability status for the ASIN." + replenishmentCategory: String @resultRetention(duration : "P30D") + "The Universal Product Code (UPC) used for retail packaging scanning at the point of sale." + upc: String @resultRetention(duration : "P30D") +} + +""" +The manufacturing view provides metrics about products manufactured by the Vendor for the given time period, +including both totals (aggregate across all of the vendor catalog) and metrics grouped by, e.g., ASIN. +""" +type ManufacturingView { + "End date of the time period." + endDate: Date! @resultRetention(duration : "P30D") + "The marketplace identifier for the associated metrics." + marketplaceId: String! @resultRetention(duration : "P30D") + "Metrics for the given time period, grouped by, e.g., ASIN." + metrics: [ManufacturingViewMetricsGroupedBy]! + "Start date of the time period." + startDate: Date! @resultRetention(duration : "P30D") + "Totals (aggregate across all of the vendor catalog) for the given time period." + totals: ManufacturingViewMetrics! +} + +"Metrics broken down by metric groups, e.g., Product availability, Orders, Costs, Customer satisfaction." +type ManufacturingViewMetrics { + "Customer satisfaction metric group." + customerSatisfaction: CustomerSatisfaction + "Forecasting metric group." + forecasting: [ForecastedDemandWeekly] + "Orders metric group." + orders: Orders + "Product availability metric group." + productAvailability: ProductAvailability + "Shipped orders metric group." + shippedOrders: ShippedOrders + "Sourcing metric group." + sourcing: Sourcing + "Traffic metric group." + traffic: Traffic +} + +"Manufacturing view metrics grouped by the selected \"group by\" attributes, e.g., brand, ASIN." +type ManufacturingViewMetricsGroupedBy { + "Group by attributes, e.g., brand, ASIN." + groupByKey: GroupByAttributes! + "Metrics for the given time period, grouped by the attributes selected in the groupByKey." + metrics: ManufacturingViewMetrics! +} + +"Orders metric group. Null value for a given metric means that this metric is not available yet." +type Orders { + """ + The number of ordered units and the associated revenue in a given time period + with adjustments made for prior sales, like returns/cancellations. This metric + is also applicable for Kindle and Physical books. Ordered Revenue Amount (OPS) + = Product Price * Ordered Units. + """ + orderedUnitsWithRevenue: UnitsWithValue + "Number of units ordered (or pre-ordered), but have not shipped." + unfilledOrderedUnits: Long @resultRetention(duration : "P30D") +} + +"Product availability metric group. Null value for a given metric means that this metric is not available yet." +type ProductAvailability { + """ + The number of units and their cost that is at least 90 days old and in + sellable condition on the last day of the selected time frame. + """ + aged90DaysSellableInventory: UnitsWithValue + """ + Calculated as the number of units shipped in comparison to the number of units + at Amazon at the start of the period, plus any units received during the same + time period. Sell Through Rate = (Shipped Units - Customer Returns) / + (Sellable On Hand Units + Net Received Units). + """ + sellThroughRate: Float @resultRetention(duration : "P30D") + "The number of units and their cost in Amazon FCs that is in sellable condition on the last day of the selected time frame." + sellableOnHandInventory: UnitsWithValue + """ + Ultra Fast Track (UFT), is an hourly measure of the percentage of time an ASIN + is available to be shipped to the customer from an FC via Prime shipping, + versus the selection Amazon intended to carry. This metric takes into account + a Customer Importance Factor (CIF), which weighs the ASIN’s importance to + shoppers against Amazon’s cost of having that item in stock. + """ + ultraFastTrack: Float @resultRetention(duration : "P30D") + """ + Excess number of units and their cost on the last day of the selected time + frame based on forecasted demand. (Note:Not Available for Daily/Custom Time selections) + """ + unhealthyInventory: UnitsWithValue + """ + The number of units and their cost in Amazon FCs that is in unsellable + condition on the last day of the selected time frame. + """ + unsellableOnHandInventory: UnitsWithValue +} + +"A root type for queries" +type Query { + "API is versioned." + analytics_vendorAnalytics_2024_09_30: Analytics_vendorAnalytics_2024_09_30 +} + +"Shipped orders metric group. Null value for a given metric means that this metric is not available yet." +type ShippedOrders { + """ + The number of items shipped and the associated gross price the customer paid + for them. Shipped Revenue Amount = Gross Price (the price the customer sees in + the cart) * Shipped Units. + """ + shippedUnitsWithRevenue: UnitsWithValue +} + +"Sourcing metric group. Null value for a given metric means that this metric is not available yet." +type Sourcing { + """ + Net number of units and their cost received by Amazon after subtracting the + units returned to the supplier in the selected time frame. + """ + netReceived: UnitsWithValue + "Number of units included in the Vendor's open POs (i.e., confirmed PO quantities that are not yet received)." + openPurchaseOrderQuantity: Long @resultRetention(duration : "P30D") + "Time (in days) from when Vendor receives a PO from Amazon, to when inventory is received in a FC." + overallVendorLeadTime: Float @resultRetention(duration : "P30D") + """ + OOS (Out of Stock) rate on all products that are procurable. Retail Out of + Stock (ROOS) = Out of Stock Glance Views on Procurable ASINs / Total Glance + Views. Procurability refers to whether Amazon is able to fulfill a customer + delivery promise, considering the ability of known vendors to supply the ASIN + in the foreseeable future. + """ + procurableProductOOS: Float @resultRetention(duration : "P30D") + """ + PO units received by Amazon in comparison to PO units confirmed by the vendor. + The fill rate here applies only to Procurable ASINs. Fill Rate = Net Received + Units / Confirmed Units. + """ + receivedFillRate: Float @resultRetention(duration : "P30D") + """ + How many units Vendors confirm out of the units Amazon asks for, accounting + for Procurable ASINs only. Vendor Confirmation Rate = Confirmed Units / + Submitted Units. + """ + vendorConfirmationRate: Float @resultRetention(duration : "P30D") +} + +""" +The sourcing view provides metrics about products that are sourced directly from +the Vendor to Amazon (i.e., when the Vendor is a distributor) +for the given time period, including both totals (aggregate across all of the +vendor catalog) and metrics grouped by, e.g., ASIN. +""" +type SourcingView { + "End date of the time period." + endDate: Date! @resultRetention(duration : "P30D") + "The marketplace identifier for the associated metrics." + marketplaceId: String! @resultRetention(duration : "P30D") + "Metrics for the given time period, grouped by, e.g., ASIN." + metrics: [SourcingViewMetricsGroupedBy]! + "Start date of the time period." + startDate: Date! @resultRetention(duration : "P30D") + "Totals (aggregate across all of the vendor catalog) for the given time period." + totals: SourcingViewMetrics! +} + +"Metrics broken down by metric groups, e.g., Product availability, Costs, Customer satisfaction." +type SourcingViewMetrics { + "Customer satisfaction metric group." + customerSatisfaction: CustomerSatisfaction + "Product availability metric group." + productAvailability: ProductAvailability + "Shipped orders metric group." + shippedOrders: ShippedOrders + "Sourcing metric group." + sourcing: Sourcing +} + +"Sourcing view metrics grouped by the selected \"group by\" attributes, e.g., brand, ASIN." +type SourcingViewMetricsGroupedBy { + "Group by attributes, e.g., brand, ASIN." + groupByKey: GroupByAttributes! + "Metrics for the given time period, grouped by the attributes selected in the groupByKey." + metrics: SourcingViewMetrics! +} + +"Traffic metric group. Null value for a given metric means that this metric is not available yet." +type Traffic { + "Glance views where Retail is the featured offer (i.e., winning the buy box)." + glanceViews: Long @resultRetention(duration : "P30D") +} + +"Number of units with their corresponding monetary value." +type UnitsWithValue { + "Number of units." + units: Long @resultRetention(duration : "P30D") + "Monetary value of the units." + value: Amount @resultRetention(duration : "P30D") +} + +"Date granularity used in aggregation." +enum DateGranularity { + "Metrics are aggregated by day." + DAY + "Metrics are aggregated by month." + MONTH + "Metrics are aggregated by week." + WEEK +} + +"Date" +scalar Date + +"Long" +scalar Long From 166675b5a3144c76ca890305f2196dfa87d6013c Mon Sep 17 00:00:00 2001 From: lisa-delaney Date: Wed, 19 Jun 2024 14:59:00 -0700 Subject: [PATCH 258/340] Update FBA Inventory and Fulfillment Outbound models --- .DS_Store | Bin 8196 -> 8196 bytes .../fba-inventory-api-model/fbaInventory.json | 639 +++++++++----- .../fulfillmentOutbound_2020-07-01.json | 776 +++++++++++++----- 3 files changed, 994 insertions(+), 421 deletions(-) diff --git a/.DS_Store b/.DS_Store index 52e8b63df488a9c1c6351c4382e4a169552bc92e..20dd4b7e5ad4e98fa9264c11d1da949b6ecd02dd 100644 GIT binary patch literal 8196 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 diff --git a/models/fba-inventory-api-model/fbaInventory.json b/models/fba-inventory-api-model/fbaInventory.json index 4a85d63a5..9afb9b700 100644 --- a/models/fba-inventory-api-model/fbaInventory.json +++ b/models/fba-inventory-api-model/fbaInventory.json @@ -25,11 +25,14 @@ ], "paths": { "/fba/inventory/v1/summaries": { + "x-amzn-api-sandbox": { + "dynamic": {} + }, "get": { "tags": [ "fbaInventory" ], - "description": "Returns a list of inventory summaries. The summaries returned depend on the presence or absence of the `startDateTime`, `sellerSkus` and `sellerSku` parameters:\n\n- All inventory summaries with available details are returned when the `startDateTime`, `sellerSkus` and `sellerSku` parameters are omitted.\n- When `startDateTime` is provided, the operation returns inventory summaries that have had changes after the date and time specified. The `sellerSkus` and `sellerSku` parameters are ignored. **Important:** To avoid errors, use both `startDateTime` and `nextToken` to get the next page of inventory summaries that have changed after the date and time specified.\n- When the `sellerSkus` parameter is provided, the operation returns inventory summaries for only the specified `sellerSkus`. The `sellerSku` parameter is ignored.\n- When the `sellerSku` parameter is provided, the operation returns inventory summaries for only the specified `sellerSku`.\n\n**Note:** The parameters associated with this operation may contain special characters that must be encoded to successfully call the API. To avoid errors with SKUs when encoding URLs, refer to [URL Encoding](https://developer-docs.amazon.com/sp-api/docs/url-encoding).\n\n**Usage Plan:**\n\n| Rate (requests per second) | Burst |\n| ---- | ---- |\n| 2 | 2 |\n\nThe `x-amzn-RateLimit-Limit` response header returns the usage plan rate limits that were applied to the requested operation, when available. The table above indicates the default rate and burst values for this operation. Selling partners whose business demands require higher throughput may see higher rate and burst values than those shown here. For more information, see [Usage Plans and Rate Limits in the Selling Partner API](doc:usage-plans-and-rate-limits-in-the-sp-api).", + "description": "Returns a list of inventory summaries. The summaries returned depend on the presence or absence of the startDateTime, sellerSkus and sellerSku parameters:\n\n- All inventory summaries with available details are returned when the startDateTime, sellerSkus and sellerSku parameters are omitted.\n- When startDateTime is provided, the operation returns inventory summaries that have had changes after the date and time specified. The sellerSkus and sellerSku parameters are ignored. Important: To avoid errors, use both startDateTime and nextToken to get the next page of inventory summaries that have changed after the date and time specified.\n- When the sellerSkus parameter is provided, the operation returns inventory summaries for only the specified sellerSkus. The sellerSku parameter is ignored.\n- When the sellerSku parameter is provided, the operation returns inventory summaries for only the specified sellerSku.\n\nNote: The parameters associated with this operation may contain special characters that must be encoded to successfully call the API. To avoid errors with SKUs when encoding URLs, refer to URL Encoding.\n\nUsage Plan:\n\n| Rate (requests per second) | Burst |\n| ---- | ---- |\n| 2 | 2 |\n\nThe x-amzn-RateLimit-Limit response header returns the usage plan rate limits that were applied to the requested operation, when available. The table above indicates the default rate and burst values for this operation. Selling partners whose business demands require higher throughput may see higher rate and burst values than those shown here. For more information, see Usage Plans and Rate Limits in the Selling Partner API.", "operationId": "getInventorySummaries", "produces": [ "application/json" @@ -124,160 +127,8 @@ }, "x-amzn-RequestId": { "type": "string", - "description": "Unique request reference ID." + "description": "Unique request reference identifier." } - }, - "x-amzn-api-sandbox": { - "static": [ - { - "request": { - "parameters": { - "details": { - "value": true - }, - "granularityType": { - "value": "Marketplace" - }, - "granularityId": { - "value": "ATVPDKIKX0DER" - }, - "marketplaceIds": { - "value": [ - "ATVPDKIKX0DER" - ] - } - } - }, - "response": { - "pagination": { - "nextToken": "seed" - }, - "payload": { - "granularity": { - "granularityType": "Marketplace", - "granularityId": "ATVPDKIKX0DER" - }, - "inventorySummaries": [ - { - "asin": "B0020MLK00", - "fnSku": "B0020MLK00", - "sellerSku": "EMTEC 1 GB", - "condition": "NewItem", - "inventoryDetails": { - "fulfillableQuantity": 0, - "inboundWorkingQuantity": 0, - "inboundShippedQuantity": 0, - "inboundReceivingQuantity": 0, - "reservedQuantity": { - "totalReservedQuantity": 0, - "pendingCustomerOrderQuantity": 0, - "pendingTransshipmentQuantity": 0, - "fcProcessingQuantity": 0 - }, - "researchingQuantity": { - "totalResearchingQuantity": 0, - "researchingQuantityBreakdown": [] - }, - "unfulfillableQuantity": { - "totalUnfulfillableQuantity": 0, - "customerDamagedQuantity": 0, - "warehouseDamagedQuantity": 0, - "distributorDamagedQuantity": 0, - "carrierDamagedQuantity": 0, - "defectiveQuantity": 0, - "expiredQuantity": 0 - } - }, - "lastUpdatedTime": "", - "productName": "EMTEC 1 GB 60x SD Flash Memory Card with USB 2.0 Card Reader", - "totalQuantity": 0 - }, - { - "asin": "B0020MLK00", - "fnSku": "B0020MLK00", - "sellerSku": "EMTEC-SdCard-reader", - "condition": "NewItem", - "inventoryDetails": { - "fulfillableQuantity": 0, - "inboundWorkingQuantity": 0, - "inboundShippedQuantity": 0, - "inboundReceivingQuantity": 0, - "reservedQuantity": { - "totalReservedQuantity": 0, - "pendingCustomerOrderQuantity": 0, - "pendingTransshipmentQuantity": 0, - "fcProcessingQuantity": 0 - }, - "researchingQuantity": { - "totalResearchingQuantity": 0, - "researchingQuantityBreakdown": [] - }, - "unfulfillableQuantity": { - "totalUnfulfillableQuantity": 0, - "customerDamagedQuantity": 0, - "warehouseDamagedQuantity": 0, - "distributorDamagedQuantity": 0, - "carrierDamagedQuantity": 0, - "defectiveQuantity": 0, - "expiredQuantity": 0 - } - }, - "lastUpdatedTime": "", - "productName": "EMTEC 1 GB 60x SD Flash Memory Card with USB 2.0 Card Reader", - "totalQuantity": 0 - }, - { - "asin": "B00T9QONN6", - "fnSku": "B00T9QONN6", - "sellerSku": "Silicon Power 32GB", - "condition": "NewItem", - "inventoryDetails": { - "fulfillableQuantity": 66, - "inboundWorkingQuantity": 21, - "inboundShippedQuantity": 0, - "inboundReceivingQuantity": 0, - "reservedQuantity": { - "totalReservedQuantity": 0, - "pendingCustomerOrderQuantity": 0, - "pendingTransshipmentQuantity": 0, - "fcProcessingQuantity": 0 - }, - "researchingQuantity": { - "totalResearchingQuantity": 0, - "researchingQuantityBreakdown": [ - { - "name": "researchingQuantityInShortTerm", - "quantity": 0 - }, - { - "name": "researchingQuantityInMidTerm", - "quantity": 0 - }, - { - "name": "researchingQuantityInLongTerm", - "quantity": 0 - } - ] - }, - "unfulfillableQuantity": { - "totalUnfulfillableQuantity": 0, - "customerDamagedQuantity": 0, - "warehouseDamagedQuantity": 0, - "distributorDamagedQuantity": 0, - "carrierDamagedQuantity": 0, - "defectiveQuantity": 0, - "expiredQuantity": 0 - } - }, - "lastUpdatedTime": "2018-03-31T23:40:39Z", - "productName": "Silicon Power 32GB up to 85MB/s MicroSDHC UHS-1 Class10, Elite Flash Memory Card with Adaptor (SP032GBSTHBU1V20SP)", - "totalQuantity": 87 - } - ] - } - } - } - ] } }, "400": { @@ -292,7 +143,7 @@ }, "x-amzn-RequestId": { "type": "string", - "description": "Unique request reference ID." + "description": "Unique request reference identifier." } } }, @@ -304,7 +155,7 @@ "headers": { "x-amzn-RequestId": { "type": "string", - "description": "Unique request reference ID." + "description": "Unique request reference identifier." } } }, @@ -320,7 +171,7 @@ }, "x-amzn-RequestId": { "type": "string", - "description": "Unique request reference ID." + "description": "Unique request reference identifier." } } }, @@ -330,13 +181,9 @@ "$ref": "#/definitions/GetInventorySummariesResponse" }, "headers": { - "x-amzn-RateLimit-Limit": { - "type": "string", - "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." - }, "x-amzn-RequestId": { "type": "string", - "description": "Unique request reference ID." + "description": "Unique request reference identifier." } } }, @@ -346,52 +193,372 @@ "$ref": "#/definitions/GetInventorySummariesResponse" }, "headers": { - "x-amzn-RateLimit-Limit": { + "x-amzn-RequestId": { "type": "string", - "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." - }, + "description": "Unique request reference identifier." + } + } + }, + "503": { + "description": "Temporary overloading or maintenance of the server.", + "schema": { + "$ref": "#/definitions/GetInventorySummariesResponse" + }, + "headers": { + "x-amzn-RequestId": { + "type": "string", + "description": "Unique request reference identifier." + } + } + } + } + } + }, + "/fba/inventory/v1/items": { + "x-amzn-api-sandbox": { + "dynamic": {} + }, + "x-amzn-api-sandbox-only": true, + "post": { + "tags": [ + "fbaInventory" + ], + "description": "Requests that Amazon create product-details in the Sandbox Inventory in the sandbox environment. This is a sandbox-only operation and must be directed to a sandbox endpoint. Refer to [Selling Partner API sandbox](https://developer-docs.amazon.com/sp-api/docs/the-selling-partner-api-sandbox) for more information.", + "operationId": "createInventoryItem", + "produces": [ + "application/json" + ], + "parameters": [ + { + "name": "createInventoryItemRequestBody", + "in": "body", + "description": "CreateInventoryItem Request Body Parameter.", + "required": true, + "schema": { + "$ref": "#/definitions/CreateInventoryItemRequest" + } + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/CreateInventoryItemResponse" + }, + "headers": { + "x-amzn-RequestId": { + "type": "string", + "description": "Unique request reference identifier." + } + } + }, + "400": { + "description": "Request has missing or invalid parameters and cannot be parsed.", + "schema": { + "$ref": "#/definitions/CreateInventoryItemResponse" + }, + "headers": { + "x-amzn-RequestId": { + "type": "string", + "description": "Unique request reference identifier." + } + } + }, + "403": { + "description": "Indicates access to the resource is forbidden. Possible reasons include Access Denied, Unauthorized, Expired Token, Invalid Signature or Resource Not Found.", + "schema": { + "$ref": "#/definitions/CreateInventoryItemResponse" + }, + "headers": { + "x-amzn-RequestId": { + "type": "string", + "description": "Unique request reference identifier." + } + } + }, + "404": { + "description": "The specified resource does not exist.", + "schema": { + "$ref": "#/definitions/CreateInventoryItemResponse" + }, + "headers": { + "x-amzn-RequestId": { + "type": "string", + "description": "Unique request reference identifier." + } + } + }, + "429": { + "description": "The frequency of requests was greater than allowed.", + "schema": { + "$ref": "#/definitions/CreateInventoryItemResponse" + }, + "headers": { "x-amzn-RequestId": { "type": "string", - "description": "Unique request reference ID." + "description": "Unique request reference identifier." } + } + }, + "500": { + "description": "An unexpected condition occurred that prevented the server from fulfilling the request.", + "schema": { + "$ref": "#/definitions/CreateInventoryItemResponse" }, - "x-amzn-api-sandbox": { - "static": [ - { - "request": { - "parameters": { - "marketplaceIds": { - "value": [ - "1" - ] - } - } - }, - "response": { - "errors": [ - { - "message": "We encountered an internal error. Please try again.", - "code": "InternalFailure" - } - ] - } - } - ] + "headers": { + "x-amzn-RequestId": { + "type": "string", + "description": "Unique request reference identifier." + } } }, "503": { "description": "Temporary overloading or maintenance of the server.", "schema": { - "$ref": "#/definitions/GetInventorySummariesResponse" + "$ref": "#/definitions/CreateInventoryItemResponse" }, "headers": { - "x-amzn-RateLimit-Limit": { + "x-amzn-RequestId": { "type": "string", - "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." - }, + "description": "Unique request reference identifier." + } + } + } + } + } + }, + "/fba/inventory/v1/items/{sellerSku}": { + "x-amzn-api-sandbox": { + "dynamic": {} + }, + "x-amzn-api-sandbox-only": true, + "delete": { + "tags": [ + "fbaInventory" + ], + "description": "Requests that Amazon Deletes an item from the Sandbox Inventory in the sandbox environment. This is a sandbox-only operation and must be directed to a sandbox endpoint. Refer to [Selling Partner API sandbox](https://developer-docs.amazon.com/sp-api/docs/the-selling-partner-api-sandbox) for more information.", + "operationId": "deleteInventoryItem", + "produces": [ + "application/json" + ], + "parameters": [ + { + "name": "sellerSku", + "in": "path", + "description": "A single seller SKU used for querying the specified seller SKU inventory summaries.", + "required": true, + "type": "string" + }, + { + "name": "marketplaceId", + "in": "query", + "description": "The marketplace ID for the marketplace for which the sellerSku is to be deleted.", + "required": true, + "type": "string" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/DeleteInventoryItemResponse" + }, + "headers": { + "x-amzn-RequestId": { + "type": "string", + "description": "Unique request reference identifier." + } + } + }, + "400": { + "description": "Request has missing or invalid parameters and cannot be parsed.", + "schema": { + "$ref": "#/definitions/DeleteInventoryItemResponse" + }, + "headers": { + "x-amzn-RequestId": { + "type": "string", + "description": "Unique request reference identifier." + } + } + }, + "403": { + "description": "Indicates access to the resource is forbidden. Possible reasons include Access Denied, Unauthorized, Expired Token, Invalid Signature or Resource Not Found.", + "schema": { + "$ref": "#/definitions/DeleteInventoryItemResponse" + }, + "headers": { + "x-amzn-RequestId": { + "type": "string", + "description": "Unique request reference identifier." + } + } + }, + "404": { + "description": "The specified resource does not exist.", + "schema": { + "$ref": "#/definitions/DeleteInventoryItemResponse" + }, + "headers": { + "x-amzn-RequestId": { + "type": "string", + "description": "Unique request reference identifier." + } + } + }, + "429": { + "description": "The frequency of requests was greater than allowed.", + "schema": { + "$ref": "#/definitions/DeleteInventoryItemResponse" + }, + "headers": { + "x-amzn-RequestId": { + "type": "string", + "description": "Unique request reference identifier." + } + } + }, + "500": { + "description": "An unexpected condition occurred that prevented the server from fulfilling the request.", + "schema": { + "$ref": "#/definitions/DeleteInventoryItemResponse" + }, + "headers": { + "x-amzn-RequestId": { + "type": "string", + "description": "Unique request reference identifier." + } + } + }, + "503": { + "description": "Temporary overloading or maintenance of the server.", + "schema": { + "$ref": "#/definitions/DeleteInventoryItemResponse" + }, + "headers": { + "x-amzn-RequestId": { + "type": "string", + "description": "Unique request reference identifier." + } + } + } + } + } + }, + "/fba/inventory/v1/items/inventory": { + "x-amzn-api-sandbox": { + "dynamic": {} + }, + "x-amzn-api-sandbox-only": true, + "post": { + "tags": [ + "fbaInventory" + ], + "description": "Requests that Amazon add items to the Sandbox Inventory with desired amount of quantity in the sandbox environment. This is a sandbox-only operation and must be directed to a sandbox endpoint. Refer to [Selling Partner API sandbox](https://developer-docs.amazon.com/sp-api/docs/the-selling-partner-api-sandbox) for more information.", + "operationId": "addInventory", + "produces": [ + "application/json" + ], + "parameters": [ + { + "name": "x-amzn-idempotency-token", + "in": "header", + "description": "A unique token/requestId provided with each call to ensure idempotency.", + "required": true, + "type": "string" + }, + { + "name": "addInventoryRequestBody", + "in": "body", + "description": "List of items to add to Sandbox inventory.", + "required": true, + "schema": { + "$ref": "#/definitions/AddInventoryRequest" + } + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/AddInventoryResponse" + }, + "headers": { + "x-amzn-RequestId": { + "type": "string", + "description": "Unique request reference identifier." + } + } + }, + "400": { + "description": "Request has missing or invalid parameters and cannot be parsed.", + "schema": { + "$ref": "#/definitions/AddInventoryResponse" + }, + "headers": { + "x-amzn-RequestId": { + "type": "string", + "description": "Unique request reference identifier." + } + } + }, + "403": { + "description": "Indicates access to the resource is forbidden. Possible reasons include Access Denied, Unauthorized, Expired Token, Invalid Signature or Resource Not Found.", + "schema": { + "$ref": "#/definitions/AddInventoryResponse" + }, + "headers": { + "x-amzn-RequestId": { + "type": "string", + "description": "Unique request reference identifier." + } + } + }, + "404": { + "description": "The specified resource does not exist.", + "schema": { + "$ref": "#/definitions/AddInventoryResponse" + }, + "headers": { "x-amzn-RequestId": { "type": "string", - "description": "Unique request reference ID." + "description": "Unique request reference identifier." + } + } + }, + "429": { + "description": "The frequency of requests was greater than allowed.", + "schema": { + "$ref": "#/definitions/AddInventoryResponse" + }, + "headers": { + "x-amzn-RequestId": { + "type": "string", + "description": "Unique request reference identifier." + } + } + }, + "500": { + "description": "An unexpected condition occurred that prevented the server from fulfilling the request.", + "schema": { + "$ref": "#/definitions/AddInventoryResponse" + }, + "headers": { + "x-amzn-RequestId": { + "type": "string", + "description": "Unique request reference identifier." + } + } + }, + "503": { + "description": "Temporary overloading or maintenance of the server.", + "schema": { + "$ref": "#/definitions/AddInventoryResponse" + }, + "headers": { + "x-amzn-RequestId": { + "type": "string", + "description": "Unique request reference identifier." } } } @@ -400,6 +567,90 @@ } }, "definitions": { + "CreateInventoryItemRequest": { + "description": "An item to be created in the inventory.", + "type": "object", + "properties": { + "sellerSku" : { + "description": "The seller SKU of the item.", + "type": "string" + }, + "marketplaceId" : { + "description": "The marketplaceId.", + "type": "string" + }, + "productName": { + "description": "The name of the item.", + "type": "string" + } + }, + "required": ["sellerSku", "marketplaceId", "productName"] + }, + "AddInventoryRequest": { + "description": "The object with the list of Inventory to be added", + "type": "object", + "properties": { + "inventoryItems": { + "$ref": "#/definitions/InventoryItems" + } + } + }, + "InventoryItems": { + "description": "List of Inventory to be added", + "type": "array", + "items": { + "$ref": "#/definitions/InventoryItem" + } + }, + "InventoryItem": { + "description": "An item in the list of inventory to be added.", + "type": "object", + "properties": { + "sellerSku" : { + "description": "The seller SKU of the item.", + "type": "string" + }, + "marketplaceId" : { + "description": "The marketplaceId.", + "type": "string" + }, + "quantity": { + "description": "The quantity of item to add.", + "type": "integer" + } + }, + "required": ["sellerSku", "marketplaceId", "quantity"] + }, + "CreateInventoryItemResponse": { + "type": "object", + "properties": { + "errors": { + "description": "One or more unexpected errors occurred during the CreateInventoryItem operation.", + "$ref": "#/definitions/ErrorList" + } + }, + "description": "The response schema for the CreateInventoryItem operation." + }, + "DeleteInventoryItemResponse": { + "type": "object", + "properties": { + "errors": { + "description": "One or more unexpected errors occurred during the DeleteInventoryItem operation.", + "$ref": "#/definitions/ErrorList" + } + }, + "description": "The response schema for the DeleteInventoryItem operation." + }, + "AddInventoryResponse": { + "type": "object", + "properties": { + "errors": { + "description": "One or more unexpected errors occurred during the AddInventory operation.", + "$ref": "#/definitions/ErrorList" + } + }, + "description": "The response schema for the AddInventory operation." + }, "Granularity": { "type": "object", "properties": { @@ -678,4 +929,4 @@ } } } -} \ No newline at end of file +} diff --git a/models/fulfillment-outbound-api-model/fulfillmentOutbound_2020-07-01.json b/models/fulfillment-outbound-api-model/fulfillmentOutbound_2020-07-01.json index 555969314..6eb14282a 100644 --- a/models/fulfillment-outbound-api-model/fulfillmentOutbound_2020-07-01.json +++ b/models/fulfillment-outbound-api-model/fulfillmentOutbound_2020-07-01.json @@ -41,7 +41,8 @@ "required": true, "schema": { "$ref": "#/definitions/GetFulfillmentPreviewRequest" - } + }, + "description": "GetFulfillmentPreviewRequest parameter" } ], "responses": { @@ -138,10 +139,6 @@ "$ref": "#/definitions/GetFulfillmentPreviewResponse" }, "headers": { - "x-amzn-RateLimit-Limit": { - "type": "string", - "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." - }, "x-amzn-RequestId": { "type": "string", "description": "Unique request reference identifier." @@ -182,10 +179,6 @@ "$ref": "#/definitions/GetFulfillmentPreviewResponse" }, "headers": { - "x-amzn-RateLimit-Limit": { - "type": "string", - "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." - }, "x-amzn-RequestId": { "type": "string", "description": "Unique request reference identifier." @@ -198,10 +191,6 @@ "$ref": "#/definitions/GetFulfillmentPreviewResponse" }, "headers": { - "x-amzn-RateLimit-Limit": { - "type": "string", - "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." - }, "x-amzn-RequestId": { "type": "string", "description": "Unique request reference identifier." @@ -213,16 +202,162 @@ "schema": { "$ref": "#/definitions/GetFulfillmentPreviewResponse" }, + "headers": { + "x-amzn-RequestId": { + "type": "string", + "description": "Unique request reference identifier." + } + } + } + } + } + }, + "/fba/outbound/2020-07-01/deliveryOffers": { + "x-amzn-api-sandbox": { + "dynamic": {} + }, + "post": { + "tags": [ + "fbaOutbound" + ], + "description": "Returns delivery options that include an estimated delivery date and offer expiration, based on criteria that you specify.\n\n**Usage Plan:**\n\n| Rate (requests per second) | Burst |\n| ---- | ---- |\n| 5 | 30 |\n\nThe `x-amzn-RateLimit-Limit` response header returns the usage plan rate limits that were applied to the requested operation, when available. The table above indicates the default rate and burst values for this operation. Selling partners whose business demands require higher throughput may see higher rate and burst values than those shown here. For more information, see [Usage Plans and Rate Limits in the Selling Partner API](https://developer-docs.amazon.com/sp-api/docs/usage-plans-and-rate-limits-in-the-sp-api).", + "operationId": "deliveryOffers", + "parameters": [ + { + "in": "body", + "name": "body", + "required": true, + "schema": { + "$ref": "#/definitions/GetDeliveryOffersRequest" + }, + "description": "GetDeliveryOffersRequest parameter" + } + ], + "responses": { + "200": { + "description": "Success.", + "schema": { + "$ref": "#/definitions/GetDeliveryOffersResponse" + }, + "examples": { + "payload": { + "deliveryOffers": [{ + "expiresAt": "2023-10-11T18:00:00Z", + "dateRange": { + "earliest": "2023-10-13T10:00:00Z", + "latest": "2023-10-14T16:00:00Z" + }, + "policy": { + "messaging": { + "text": "Get it as soon as Wed, Aug 23", + "locale": "en_US" + } + } + }] + } + }, "headers": { "x-amzn-RateLimit-Limit": { "type": "string", - "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." + "description": "Your rate limit (requests per second) for this operation." }, "x-amzn-RequestId": { "type": "string", "description": "Unique request reference identifier." } } + }, + "400": { + "description": "Request has missing or invalid parameters and cannot be parsed.", + "schema": { + "$ref": "#/definitions/GetDeliveryOffersResponse" + }, + "headers": { + "x-amzn-RateLimit-Limit": { + "type": "string", + "description": "Your rate limit (requests per second) for this operation." + }, + "x-amzn-RequestId": { + "type": "string", + "description": "Unique request reference identifier." + } + } + }, + "401": { + "description": "The request's Authorization header is not formatted correctly or does not contain a valid token.", + "schema": { + "$ref": "#/definitions/GetDeliveryOffersResponse" + }, + "headers": { + "x-amzn-RequestId": { + "type": "string", + "description": "Unique request reference identifier." + } + } + }, + "403": { + "description": "Indicates that access to the resource is forbidden. Possible reasons include Access Denied, Unauthorized, Expired Token, or Invalid Signature.", + "schema": { + "$ref": "#/definitions/GetDeliveryOffersResponse" + }, + "headers": { + "x-amzn-RequestId": { + "type": "string", + "description": "Unique request reference identifier." + } + } + }, + "404": { + "description": "The specified resource does not exist.", + "schema": { + "$ref": "#/definitions/GetDeliveryOffersResponse" + }, + "headers": { + "x-amzn-RateLimit-Limit": { + "type": "string", + "description": "Your rate limit (requests per second) for this operation." + }, + "x-amzn-RequestId": { + "type": "string", + "description": "Unique request reference identifier." + } + } + }, + "429": { + "description": "The frequency of requests was greater than allowed.", + "schema": { + "$ref": "#/definitions/GetDeliveryOffersResponse" + }, + "headers": { + "x-amzn-RequestId": { + "type": "string", + "description": "Unique request reference identifier." + } + } + }, + "500": { + "description": "An unexpected condition occurred that prevented the server from fulfilling the request.", + "schema": { + "$ref": "#/definitions/GetDeliveryOffersResponse" + }, + "headers": { + "x-amzn-RequestId": { + "type": "string", + "description": "Unique request reference identifier." + } + } + }, + "503": { + "description": "Temporary overloading or maintenance of the server.", + "schema": { + "$ref": "#/definitions/GetDeliveryOffersResponse" + }, + "headers": { + "x-amzn-RequestId": { + "type": "string", + "description": "Unique request reference identifier." + } + } } } } @@ -352,10 +487,6 @@ "$ref": "#/definitions/ListAllFulfillmentOrdersResponse" }, "headers": { - "x-amzn-RateLimit-Limit": { - "type": "string", - "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." - }, "x-amzn-RequestId": { "type": "string", "description": "Unique request reference identifier." @@ -396,10 +527,6 @@ "$ref": "#/definitions/ListAllFulfillmentOrdersResponse" }, "headers": { - "x-amzn-RateLimit-Limit": { - "type": "string", - "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." - }, "x-amzn-RequestId": { "type": "string", "description": "Unique request reference identifier." @@ -412,10 +539,6 @@ "$ref": "#/definitions/ListAllFulfillmentOrdersResponse" }, "headers": { - "x-amzn-RateLimit-Limit": { - "type": "string", - "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." - }, "x-amzn-RequestId": { "type": "string", "description": "Unique request reference identifier." @@ -428,10 +551,6 @@ "$ref": "#/definitions/ListAllFulfillmentOrdersResponse" }, "headers": { - "x-amzn-RateLimit-Limit": { - "type": "string", - "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." - }, "x-amzn-RequestId": { "type": "string", "description": "Unique request reference identifier." @@ -453,7 +572,8 @@ "required": true, "schema": { "$ref": "#/definitions/CreateFulfillmentOrderRequest" - } + }, + "description": "CreateFulfillmentOrderRequest parameter" } ], "responses": { @@ -495,10 +615,6 @@ "$ref": "#/definitions/CreateFulfillmentOrderResponse" }, "headers": { - "x-amzn-RateLimit-Limit": { - "type": "string", - "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." - }, "x-amzn-RequestId": { "type": "string", "description": "Unique request reference identifier." @@ -539,10 +655,6 @@ "$ref": "#/definitions/CreateFulfillmentOrderResponse" }, "headers": { - "x-amzn-RateLimit-Limit": { - "type": "string", - "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." - }, "x-amzn-RequestId": { "type": "string", "description": "Unique request reference identifier." @@ -555,10 +667,6 @@ "$ref": "#/definitions/CreateFulfillmentOrderResponse" }, "headers": { - "x-amzn-RateLimit-Limit": { - "type": "string", - "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." - }, "x-amzn-RequestId": { "type": "string", "description": "Unique request reference identifier." @@ -571,10 +679,6 @@ "$ref": "#/definitions/CreateFulfillmentOrderResponse" }, "headers": { - "x-amzn-RateLimit-Limit": { - "type": "string", - "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." - }, "x-amzn-RequestId": { "type": "string", "description": "Unique request reference identifier." @@ -686,10 +790,6 @@ "$ref": "#/definitions/GetPackageTrackingDetailsResponse" }, "headers": { - "x-amzn-RateLimit-Limit": { - "type": "string", - "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." - }, "x-amzn-RequestId": { "type": "string", "description": "Unique request reference identifier." @@ -730,10 +830,6 @@ "$ref": "#/definitions/GetPackageTrackingDetailsResponse" }, "headers": { - "x-amzn-RateLimit-Limit": { - "type": "string", - "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." - }, "x-amzn-RequestId": { "type": "string", "description": "Unique request reference identifier." @@ -746,10 +842,6 @@ "$ref": "#/definitions/GetPackageTrackingDetailsResponse" }, "headers": { - "x-amzn-RateLimit-Limit": { - "type": "string", - "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." - }, "x-amzn-RequestId": { "type": "string", "description": "Unique request reference identifier." @@ -762,10 +854,6 @@ "$ref": "#/definitions/GetPackageTrackingDetailsResponse" }, "headers": { - "x-amzn-RateLimit-Limit": { - "type": "string", - "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." - }, "x-amzn-RequestId": { "type": "string", "description": "Unique request reference identifier." @@ -908,10 +996,6 @@ "$ref": "#/definitions/ListReturnReasonCodesResponse" }, "headers": { - "x-amzn-RateLimit-Limit": { - "type": "string", - "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." - }, "x-amzn-RequestId": { "type": "string", "description": "Unique request reference identifier." @@ -952,10 +1036,6 @@ "$ref": "#/definitions/ListReturnReasonCodesResponse" }, "headers": { - "x-amzn-RateLimit-Limit": { - "type": "string", - "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." - }, "x-amzn-RequestId": { "type": "string", "description": "Unique request reference identifier." @@ -968,10 +1048,6 @@ "$ref": "#/definitions/ListReturnReasonCodesResponse" }, "headers": { - "x-amzn-RateLimit-Limit": { - "type": "string", - "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." - }, "x-amzn-RequestId": { "type": "string", "description": "Unique request reference identifier." @@ -984,10 +1060,6 @@ "$ref": "#/definitions/ListReturnReasonCodesResponse" }, "headers": { - "x-amzn-RateLimit-Limit": { - "type": "string", - "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." - }, "x-amzn-RequestId": { "type": "string", "description": "Unique request reference identifier." @@ -1014,7 +1086,8 @@ "required": true, "schema": { "$ref": "#/definitions/CreateFulfillmentReturnRequest" - } + }, + "description": "CreateFulfillmentReturnRequest parameter" }, { "name": "sellerFulfillmentOrderId", @@ -1097,10 +1170,6 @@ "$ref": "#/definitions/CreateFulfillmentReturnResponse" }, "headers": { - "x-amzn-RateLimit-Limit": { - "type": "string", - "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." - }, "x-amzn-RequestId": { "type": "string", "description": "Unique request reference identifier." @@ -1113,10 +1182,6 @@ "$ref": "#/definitions/CreateFulfillmentReturnResponse" }, "headers": { - "x-amzn-RateLimit-Limit": { - "type": "string", - "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." - }, "x-amzn-RequestId": { "type": "string", "description": "Unique request reference identifier." @@ -1145,10 +1210,6 @@ "$ref": "#/definitions/CreateFulfillmentReturnResponse" }, "headers": { - "x-amzn-RateLimit-Limit": { - "type": "string", - "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." - }, "x-amzn-RequestId": { "type": "string", "description": "Unique request reference identifier." @@ -1161,10 +1222,6 @@ "$ref": "#/definitions/CreateFulfillmentReturnResponse" }, "headers": { - "x-amzn-RateLimit-Limit": { - "type": "string", - "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." - }, "x-amzn-RequestId": { "type": "string", "description": "Unique request reference identifier." @@ -1177,10 +1234,6 @@ "$ref": "#/definitions/CreateFulfillmentReturnResponse" }, "headers": { - "x-amzn-RateLimit-Limit": { - "type": "string", - "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." - }, "x-amzn-RequestId": { "type": "string", "description": "Unique request reference identifier." @@ -1297,7 +1350,8 @@ "sellerFulfillmentOrderItemId": "OrderItemID1", "quantity": 3, "packageNumber": 0, - "serialNumber": "" + "serialNumber": "", + "manufacturerLotCodes": ["LOT0822-1234", "LOT1030-5678"] } ] } @@ -1339,10 +1393,6 @@ "$ref": "#/definitions/GetFulfillmentOrderResponse" }, "headers": { - "x-amzn-RateLimit-Limit": { - "type": "string", - "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." - }, "x-amzn-RequestId": { "type": "string", "description": "Unique request reference identifier." @@ -1383,10 +1433,6 @@ "$ref": "#/definitions/GetFulfillmentOrderResponse" }, "headers": { - "x-amzn-RateLimit-Limit": { - "type": "string", - "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." - }, "x-amzn-RequestId": { "type": "string", "description": "Unique request reference identifier." @@ -1399,10 +1445,6 @@ "$ref": "#/definitions/GetFulfillmentOrderResponse" }, "headers": { - "x-amzn-RateLimit-Limit": { - "type": "string", - "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." - }, "x-amzn-RequestId": { "type": "string", "description": "Unique request reference identifier." @@ -1415,10 +1457,6 @@ "$ref": "#/definitions/GetFulfillmentOrderResponse" }, "headers": { - "x-amzn-RateLimit-Limit": { - "type": "string", - "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." - }, "x-amzn-RequestId": { "type": "string", "description": "Unique request reference identifier." @@ -1440,7 +1478,8 @@ "required": true, "schema": { "$ref": "#/definitions/UpdateFulfillmentOrderRequest" - } + }, + "description": "UpdateFulfillmentOrderRequest parameter" }, { "name": "sellerFulfillmentOrderId", @@ -1490,10 +1529,6 @@ "$ref": "#/definitions/UpdateFulfillmentOrderResponse" }, "headers": { - "x-amzn-RateLimit-Limit": { - "type": "string", - "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." - }, "x-amzn-RequestId": { "type": "string", "description": "Unique request reference identifier." @@ -1534,10 +1569,6 @@ "$ref": "#/definitions/UpdateFulfillmentOrderResponse" }, "headers": { - "x-amzn-RateLimit-Limit": { - "type": "string", - "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." - }, "x-amzn-RequestId": { "type": "string", "description": "Unique request reference identifier." @@ -1550,10 +1581,6 @@ "$ref": "#/definitions/UpdateFulfillmentOrderResponse" }, "headers": { - "x-amzn-RateLimit-Limit": { - "type": "string", - "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." - }, "x-amzn-RequestId": { "type": "string", "description": "Unique request reference identifier." @@ -1566,10 +1593,6 @@ "$ref": "#/definitions/UpdateFulfillmentOrderResponse" }, "headers": { - "x-amzn-RateLimit-Limit": { - "type": "string", - "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." - }, "x-amzn-RequestId": { "type": "string", "description": "Unique request reference identifier." @@ -1638,10 +1661,6 @@ "$ref": "#/definitions/CancelFulfillmentOrderResponse" }, "headers": { - "x-amzn-RateLimit-Limit": { - "type": "string", - "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." - }, "x-amzn-RequestId": { "type": "string", "description": "Unique request reference identifier." @@ -1682,10 +1701,6 @@ "$ref": "#/definitions/CancelFulfillmentOrderResponse" }, "headers": { - "x-amzn-RateLimit-Limit": { - "type": "string", - "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." - }, "x-amzn-RequestId": { "type": "string", "description": "Unique request reference identifier." @@ -1698,10 +1713,6 @@ "$ref": "#/definitions/CancelFulfillmentOrderResponse" }, "headers": { - "x-amzn-RateLimit-Limit": { - "type": "string", - "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." - }, "x-amzn-RequestId": { "type": "string", "description": "Unique request reference identifier." @@ -1714,10 +1725,6 @@ "$ref": "#/definitions/CancelFulfillmentOrderResponse" }, "headers": { - "x-amzn-RateLimit-Limit": { - "type": "string", - "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." - }, "x-amzn-RequestId": { "type": "string", "description": "Unique request reference identifier." @@ -1753,7 +1760,8 @@ "required": true, "schema": { "$ref": "#/definitions/SubmitFulfillmentOrderStatusUpdateRequest" - } + }, + "description": "The identifier assigned to the item by the seller when the fulfillment order was created." } ], "responses": { @@ -1763,10 +1771,6 @@ "$ref": "#/definitions/SubmitFulfillmentOrderStatusUpdateResponse" }, "headers": { - "x-amzn-RateLimit-Limit": { - "type": "string", - "description": "Your rate limit (requests per second) for this operation." - }, "x-amzn-RequestId": { "type": "string", "description": "Unique request reference identifier." @@ -1779,10 +1783,6 @@ "$ref": "#/definitions/SubmitFulfillmentOrderStatusUpdateResponse" }, "headers": { - "x-amzn-RateLimit-Limit": { - "type": "string", - "description": "Your rate limit (requests per second) for this operation." - }, "x-amzn-RequestId": { "type": "string", "description": "Unique request reference identifier." @@ -1795,10 +1795,6 @@ "$ref": "#/definitions/SubmitFulfillmentOrderStatusUpdateResponse" }, "headers": { - "x-amzn-RateLimit-Limit": { - "type": "string", - "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." - }, "x-amzn-RequestId": { "type": "string", "description": "Unique request reference identifier." @@ -1823,10 +1819,6 @@ "$ref": "#/definitions/SubmitFulfillmentOrderStatusUpdateResponse" }, "headers": { - "x-amzn-RateLimit-Limit": { - "type": "string", - "description": "Your rate limit (requests per second) for this operation." - }, "x-amzn-RequestId": { "type": "string", "description": "Unique request reference identifier." @@ -1839,10 +1831,6 @@ "$ref": "#/definitions/SubmitFulfillmentOrderStatusUpdateResponse" }, "headers": { - "x-amzn-RateLimit-Limit": { - "type": "string", - "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." - }, "x-amzn-RequestId": { "type": "string", "description": "Unique request reference identifier." @@ -1855,10 +1843,6 @@ "$ref": "#/definitions/SubmitFulfillmentOrderStatusUpdateResponse" }, "headers": { - "x-amzn-RateLimit-Limit": { - "type": "string", - "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." - }, "x-amzn-RequestId": { "type": "string", "description": "Unique request reference identifier." @@ -1871,10 +1855,6 @@ "$ref": "#/definitions/SubmitFulfillmentOrderStatusUpdateResponse" }, "headers": { - "x-amzn-RateLimit-Limit": { - "type": "string", - "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." - }, "x-amzn-RequestId": { "type": "string", "description": "Unique request reference identifier." @@ -1959,10 +1939,6 @@ "$ref": "#/definitions/GetFeaturesResponse" }, "headers": { - "x-amzn-RateLimit-Limit": { - "type": "string", - "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." - }, "x-amzn-RequestId": { "type": "string", "description": "Unique request reference identifier." @@ -2003,10 +1979,6 @@ "$ref": "#/definitions/GetFeaturesResponse" }, "headers": { - "x-amzn-RateLimit-Limit": { - "type": "string", - "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." - }, "x-amzn-RequestId": { "type": "string", "description": "Unique request reference identifier." @@ -2019,10 +1991,6 @@ "$ref": "#/definitions/GetFeaturesResponse" }, "headers": { - "x-amzn-RateLimit-Limit": { - "type": "string", - "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." - }, "x-amzn-RequestId": { "type": "string", "description": "Unique request reference identifier." @@ -2035,10 +2003,6 @@ "$ref": "#/definitions/GetFeaturesResponse" }, "headers": { - "x-amzn-RateLimit-Limit": { - "type": "string", - "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." - }, "x-amzn-RequestId": { "type": "string", "description": "Unique request reference identifier." @@ -2079,6 +2043,14 @@ "description": "A string token returned in the response to your previous request that is used to return the next response page. A value of null will return the first page.", "required": false, "type": "string" + }, + { + "name": "queryStartDate", + "in": "query", + "description": "A date that you can use to select inventory that has been updated since a specified date. An update is defined as any change in feature-enabled inventory availability. The date must be in the format yyyy-MM-ddTHH:mm:ss.sssZ", + "required": false, + "type": "string", + "format": "date-time" } ], "responses": { @@ -2151,10 +2123,6 @@ "$ref": "#/definitions/GetFeatureInventoryResponse" }, "headers": { - "x-amzn-RateLimit-Limit": { - "type": "string", - "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." - }, "x-amzn-RequestId": { "type": "string", "description": "Unique request reference identifier." @@ -2195,10 +2163,6 @@ "$ref": "#/definitions/GetFeatureInventoryResponse" }, "headers": { - "x-amzn-RateLimit-Limit": { - "type": "string", - "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." - }, "x-amzn-RequestId": { "type": "string", "description": "Unique request reference identifier." @@ -2211,10 +2175,6 @@ "$ref": "#/definitions/GetFeatureInventoryResponse" }, "headers": { - "x-amzn-RateLimit-Limit": { - "type": "string", - "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." - }, "x-amzn-RequestId": { "type": "string", "description": "Unique request reference identifier." @@ -2227,10 +2187,6 @@ "$ref": "#/definitions/GetFeatureInventoryResponse" }, "headers": { - "x-amzn-RateLimit-Limit": { - "type": "string", - "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." - }, "x-amzn-RequestId": { "type": "string", "description": "Unique request reference identifier." @@ -2326,10 +2282,6 @@ "$ref": "#/definitions/GetFeatureSkuResponse" }, "headers": { - "x-amzn-RateLimit-Limit": { - "type": "string", - "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." - }, "x-amzn-RequestId": { "type": "string", "description": "Unique request reference identifier." @@ -2370,10 +2322,6 @@ "$ref": "#/definitions/GetFeatureSkuResponse" }, "headers": { - "x-amzn-RateLimit-Limit": { - "type": "string", - "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." - }, "x-amzn-RequestId": { "type": "string", "description": "Unique request reference identifier." @@ -2386,10 +2334,6 @@ "$ref": "#/definitions/GetFeatureSkuResponse" }, "headers": { - "x-amzn-RateLimit-Limit": { - "type": "string", - "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." - }, "x-amzn-RequestId": { "type": "string", "description": "Unique request reference identifier." @@ -2402,10 +2346,6 @@ "$ref": "#/definitions/GetFeatureSkuResponse" }, "headers": { - "x-amzn-RateLimit-Limit": { - "type": "string", - "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." - }, "x-amzn-RequestId": { "type": "string", "description": "Unique request reference identifier." @@ -2707,6 +2647,10 @@ "description": "The destination address for the fulfillment order.", "$ref": "#/definitions/Address" }, + "deliveryPreferences": { + "description": "The delivery preferences applied to the destination address. These preferences will be applied when possible and are best effort.\nThis feature is currently supported only in the JP marketplace and not applicable for other marketplaces.", + "$ref": "#/definitions/DeliveryPreferences" + }, "fulfillmentAction": { "$ref": "#/definitions/FulfillmentAction" }, @@ -2754,6 +2698,7 @@ "description": "The `createFulfillmentReturn` operation creates a fulfillment return for items that were fulfilled using the `createFulfillmentOrder` operation. For calls to `createFulfillmentReturn`, you must include `ReturnReasonCode` values returned by a previous call to the `listReturnReasonCodes` operation." }, "CreateFulfillmentReturnResult": { + "description": "The result for the createFulfillmentReturn operation.", "type": "object", "properties": { "returnItems": { @@ -2868,6 +2813,65 @@ "$ref": "#/definitions/DeliveryWindow" } }, + "DeliveryPreferences": { + "type": "object", + "properties": { + "deliveryInstructions": { + "type": "string", + "description": "Additional delivery instructions. For example, this could be instructions on how to enter a building, nearby landmark or navigation instructions, 'Beware of dogs', etc.", + "maxLength": 250 + }, + "dropOffLocation": { + "description": "The preferred location to leave packages at the destination address.", + "$ref": "#/definitions/DropOffLocation" + } + }, + "description": "The delivery preferences applied to the destination address. These preferences will be applied when possible and are best effort.\nThis feature is currently supported only in the JP marketplace and not applicable for other marketplaces." + }, + "DropOffLocation": { + "type": "object", + "required": ["type"], + "properties": { + "type": { + "type": "string", + "description": "Specifies the preferred location to leave the package at the destination address.", + "enum": ["FRONT_DOOR", "DELIVERY_BOX", "GAS_METER_BOX", "BICYCLE_BASKET", "GARAGE", "RECEPTIONIST", "FALLBACK_NEIGHBOR_DELIVERY", "DO_NOT_LEAVE_UNATTENDED"], + "x-docgen-enum-table-extension": [{ + "value": "FRONT_DOOR", + "description": "Indicates delivery preferred to front door." + }, { + "value": "DELIVERY_BOX", + "description": "Indicates delivery preferred to a delivery box." + }, { + "value": "GAS_METER_BOX", + "description": "Indicates delivery preferred to a gas meter box." + }, { + "value": "BICYCLE_BASKET", + "description": "Indicates delivery preferred to a bicycle basket." + }, { + "value": "GARAGE", + "description": "Indicates delivery preferred to a garage." + }, { + "value": "RECEPTIONIST", + "description": "Indicates delivery preferred with a receptionist." + }, { + "value": "FALLBACK_NEIGHBOR_DELIVERY", + "description": "Indicates delivery preferred with a designated neighbor if the recipient is not available at the destination address." + }, { + "value": "DO_NOT_LEAVE_UNATTENDED", + "description": "Indicates delivery preferred as attended." + }] + }, + "attributes": { + "type": "object", + "additionalProperties": { + "type": "string" + }, + "description": "Additional information about the drop-off location that can vary depending on the type of drop-off location specified in the `type` field.\nIf the `type` is set to `FALLBACK_NEIGHBOR_DELIVERY`, the `attributes` object should include the exact keys `neighborName` and `houseNumber` to provide the name and house number of the designated neighbor." + } + }, + "description": "The preferred location to leave packages at the destination address." + }, "Fee": { "type": "object", "required": [ @@ -3359,6 +3363,10 @@ "serialNumber": { "type": "string", "description": "The serial number of the shipped item." + }, + "manufacturerLotCodes": { + "description": "The manufacturer lot codes of the shipped items.", + "$ref": "#/definitions/StringList" } }, "description": "Item information for a shipment in a fulfillment order." @@ -3400,6 +3408,10 @@ "estimatedArrivalDate": { "description": "The estimated arrival date and time of the package. Must be in ISO 8601 format.", "$ref": "#/definitions/Timestamp" + }, + "lockerDetails": { + "description": "The locker details, if provided can be used to access locker delivery box.", + "$ref": "#/definitions/LockerDetails" } }, "description": "Package information for a shipment in a fulfillment order." @@ -3412,6 +3424,7 @@ } }, "GetFulfillmentOrderResult": { + "description": "The request for the getFulfillmentOrder operation.", "type": "object", "required": [ "fulfillmentOrder", @@ -3553,6 +3566,295 @@ }, "description": "The response schema for the `getFulfillmentPreview` operation." }, + "GetDeliveryOffersRequest": { + "type": "object", + "required": [ + "product", + "terms" + ], + "properties": { + "product": { + "$ref": "#/definitions/GetDeliveryOffersProduct", + "description": "The product details for the delivery offer." + }, + "terms": { + "$ref": "#/definitions/GetDeliveryOffersTerms", + "description": "The terms for the delivery offer." + } + }, + "description": "The request body schema for the getDeliveryOffers operation." + }, + "GetDeliveryOffersResponse": { + "type": "object", + "properties": { + "payload": { + "$ref": "#/definitions/GetDeliveryOffersResult", + "description": "The response payload for the getDeliveryOffers operation." + }, + "errors": { + "$ref": "#/definitions/ErrorList", + "description": "One or more unexpected errors occurred during the getDeliveryOffers operation." + } + }, + "description": "The response schema for the getDeliveryOffers operation." + }, + "GetDeliveryOffersResult": { + "type": "object", + "properties": { + "deliveryOffers": { + "$ref": "#/definitions/DeliveryOffersList", + "description": "An array of delivery offers." + } + }, + "description": "A list of delivery offers, including offer expiration, earliest and latest date and time range, and the delivery offer policy." + }, + "DeliveryOffersList": { + "type": "array", + "description": "An array of delivery offer information.", + "items": { + "$ref": "#/definitions/DeliveryOffer" + } + }, + "DeliveryOffer": { + "type": "object", + "properties": { + "expiresAt": { + "$ref": "#/definitions/Timestamp", + "description": "The timestamp at which a delivery offer expires." + }, + "dateRange": { + "$ref": "#/definitions/DateRange", + "description": "The range between which delivery is expected." + }, + "policy": { + "$ref": "#/definitions/DeliveryPolicy", + "description": "The policy for a delivery offer, including localized messaging." + } + }, + "description": "An available offer for delivery of a product." + }, + "GetDeliveryOffersProduct": { + "type": "object", + "required": [ + "productIdentifier" + ], + "properties": { + "productIdentifier": { + "$ref": "#/definitions/ProductIdentifier", + "description": "Product identifier input that locates a product for MCF." + }, + "amount": { + "$ref": "#/definitions/Amount", + "description": "The amount of the requested product." + } + }, + "description": "The product details for the delivery offer." + }, + "Amount": { + "type": "object", + "required": [ + "unitOfMeasure", + "value" + ], + "properties": { + "unitOfMeasure": { + "type": "string", + "description": "The unit of measure for the amount.", + "enum": [ + "Eaches" + ], + "x-docgen-enum-table-extension": [ + { + "value": "Eaches", + "description": "Specifies an integer count of units." + } + ] + }, + "value": { + "$ref": "#/definitions/Decimal", + "description": "The amount of a product in the associated unit of measure." + } + }, + "description": "A quantity based on unit of measure." + }, + "GetDeliveryOffersTerms": { + "type": "object", + "required": [ + "origin", + "destination" + ], + "properties": { + "origin": { + "$ref": "#/definitions/Origin", + "description": "The origin for the delivery offer." + }, + "destination": { + "$ref": "#/definitions/Destination", + "description": "The destination for the delivery offer." + } + }, + "description": "The delivery terms for the delivery offer." + }, + "IpAddress": { + "type": "string", + "format": "ip", + "description": "An IP Address." + }, + "Destination": { + "type": "object", + "properties": { + "deliveryAddress": { + "$ref": "#/definitions/VariablePrecisionAddress" + }, + "ipAddress": { + "$ref": "#/definitions/IpAddress", + "description": "The IP address of the customer." + } + }, + "description": "The destination for the delivery offer." + }, + "ProductIdentifier": { + "type": "object", + "required": [ + "merchantSku" + ], + "properties": { + "merchantSku": { + "type": "string", + "description": "The merchant SKU for the product.", + "maxLength": 50 + } + }, + "description": "Product identifier input that locates a product for MCF." + }, + "Origin": { + "type": "object", + "required": [ + "countryCode" + ], + "description": "The origin for the delivery offer.", + "properties": { + "countryCode": { + "type": "string", + "description": "The two digit country code the items should ship from. In ISO 3166-1 alpha-2 format.", + "minLength": 2, + "maxLength": 2 + } + } + }, + "VariablePrecisionAddress": { + "type": "object", + "required": [ + "countryCode", + "postalCode" + ], + "properties": { + "addressLine1": { + "type": "string", + "description": "The first line of the address." + }, + "addressLine2": { + "type": "string", + "description": "Additional address information, if required." + }, + "addressLine3": { + "type": "string", + "description": "Additional address information, if required." + }, + "city": { + "type": "string", + "description": "The city where the person, business, or institution is located. This property should not be used in Japan." + }, + "districtOrCounty": { + "type": "string", + "description": "The district or county where the person, business, or institution is located." + }, + "stateOrRegion": { + "type": "string", + "description": "The state or region where the person, business or institution is located." + }, + "postalCode": { + "type": "string", + "description": "The postal code of the address." + }, + "countryCode": { + "type": "string", + "description": "The two digit country code. In ISO 3166-1 alpha-2 format.", + "minLength": 2, + "maxLength": 2 + } + }, + "description": "A physical address with varying degrees of precision. A more precise address can provide more accurate results than country code and postal code alone." + }, + "DeliveryQuantity": { + "type": "object", + "required": [ + "unitOfMeasure", + "amount" + ], + "properties": { + "unitOfMeasure": { + "type": "string", + "description": "The unit of measure for the amount.", + "enum": [ + "Each" + ], + "x-docgen-enum-table-extension": [ + { + "value": "Each", + "description": "Specifies an integer count of units." + } + ] + }, + "amount": { + "$ref": "#/definitions/Decimal", + "description": "The amount of a product in the associated unit of measure." + } + }, + "description": "A quantity based on unit of measure." + }, + "DateRange": { + "type": "object", + "required": [ + "earliest", + "latest" + ], + "properties": { + "earliest": { + "$ref": "#/definitions/Timestamp", + "description": "The earliest point in a date range." + }, + "latest": { + "$ref": "#/definitions/Timestamp", + "description": "The latest point in a date range." + } + }, + "description": "The time range within which something (for example, a delivery) will occur." + }, + "DeliveryPolicy": { + "type": "object", + "properties": { + "message": { + "$ref": "#/definitions/DeliveryMessage", + "description": "Localized messaging for a delivery offering." + } + }, + "description": "The policy for a delivery offering." + }, + "DeliveryMessage": { + "type": "object", + "properties": { + "text": { + "type": "string", + "description": "The message content for a delivery offering." + }, + "locale": { + "type": "string", + "description": "The locale for the message (for example, en_US)." + } + }, + "description": "Localized messaging for a delivery offering." + }, "InvalidItemReasonCode": { "type": "string", "description": "A code for why the item is invalid for return.", @@ -3628,6 +3930,7 @@ } }, "ListAllFulfillmentOrdersResult": { + "description": "The request for the listAllFulfillmentOrders operation.", "type": "object", "properties": { "nextToken": { @@ -3658,6 +3961,7 @@ "description": "The response schema for the `listAllFulfillmentOrders` operation." }, "ListReturnReasonCodesResult": { + "description": "The request for the listReturnReasonCodes operation.", "type": "object", "properties": { "reasonCodeDetails": { @@ -3679,6 +3983,20 @@ }, "description": "The response schema for the `listReturnReasonCodes` operation." }, + "LockerDetails": { + "type": "object", + "properties": { + "lockerNumber": { + "type": "string", + "description": "Indicates the locker number" + }, + "lockerAccessCode": { + "type": "string", + "description": "Indicates the locker access code" + } + }, + "description": "The locker details, if provided can be used to access locker delivery box." + }, "NotificationEmailList": { "type": "array", "description": "A list of email addresses that the seller provides that are used by Amazon to send ship-complete notifications to recipients on behalf of the seller.", @@ -3924,6 +4242,7 @@ ] }, "PackageTrackingDetails": { + "description": "Tracking details of package", "type": "object", "required": [ "packageNumber" @@ -4214,18 +4533,21 @@ "description": "Delivery information for a scheduled delivery. This is only available in the JP marketplace." }, "ShippingSpeedCategoryList": { + "description": "ShippingSpeedCategory List", "type": "array", "items": { "$ref": "#/definitions/ShippingSpeedCategory" } }, "StringList": { + "description": "String list", "type": "array", "items": { "type": "string" } }, "Timestamp": { + "description": "Date timestamp", "type": "string", "format": "date-time" }, From a33c4787b6ab223ae9b009a8a6a908e185b08615 Mon Sep 17 00:00:00 2001 From: Jack Evoniuk Date: Wed, 19 Jun 2024 15:12:36 -0700 Subject: [PATCH 259/340] Update Vendor Analytics dataset --- .DS_Store | Bin 8196 -> 0 bytes ...alytics_vendorAnalytics_2024_09_30.graphql | 26 ++++++++++++++++-- 2 files changed, 24 insertions(+), 2 deletions(-) delete mode 100644 .DS_Store diff --git a/.DS_Store b/.DS_Store deleted file mode 100644 index 20dd4b7e5ad4e98fa9264c11d1da949b6ecd02dd..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 8196 zcmeHMU2GIp6u#fIlo>m~v{ER@vMUQnptZaF6r_mTAATyWAluSyDc0Scp&gl>sXMc~ z{G?i9G@2OkKkCw^ zd(WLYXTCFc&n#mMZ3Q*XSUqD*q{Bs}n!0N=cicU$YJ#t+Bm~(rW-vQbvPUz9mAPtm zpa>!mL?DPj5P={9K?H7u2+*GGHt{<9J|7MGAOb-I{+AJO-wzQwTuk^l&e3~yQ0J8Z zgl-AoH9Ds{z_W??nDB9&qi0HM^6CM;Df|)x+?>WE?sUS0kK-J??sk|S0r z>7<>4-ImVpcBLN6GBV}!bY_>Xm4=kr?Uw1JbyLfG2D+-zl)*mTRIO5*RWMcCvrX~= zQ4*ygWx=6Cjq&*Ecta!}TiZO=5IGc&t!i$FtX|bTHYSO6(WaK2L;H-JX+6VTf&V&S zGp4w9WU60=U2NyyB`T6-zs{EZl5VM%XN3Av{R8q~O3zwmQa`8-DYI;Hu9L(ad96rJ z^<^!ikTdNer6!v;vIQgUXsw3fPA1(fJDax*V~1tyj&7O#DM#Dyloy&blp3(DywmP2 zHl!#8TidD8T6$6IpcQGUTK8((N8M%YU0U8Ij3#2-Md|p=x#7jj8dt8}kl57OegDKP zrKVPv>*n+obz9FET7TNkYNo22!@VV4bw&m#!lt9|)wR4N)u5rrOy{(T+WL9(Z(9%w z@i|v)%B!Rb8U5jc?i^5}qR6iiS`?K;<-I|bZnE1_-4#`DBotb7hbZoL_3e3$dajm3 zD;mfk-D6XL{M(GhB}uV+_7M%Zsl29HloYksNM|&|SFLX$)waGO_uN<3-6Kk=td+}= zGd9b7mv5a$I5%r zxNlJ?)bB3Us;ZhwPS3BOR~t%(dPU`HvQc!is1xn!S#b7?(M0l;_e`RR<^0)1IWXqM zSejiHeRMau5L?RD(WchJ_EORvW>2%D>|J((on)uk8Fr4HXFs!x>=*VcyMzkJsKo*- zMkAUKLmcbTf(_V+ZRkNSb|Hg(Fpz@<2V-~ykK!<%z!5x)=kNkv!E1OO$M7bO<9&R9 z5Ai8J#}_z_FL4e(;yixB1^k9f_+6+G<_n93CBjmnNr(w6g;m04VT-Us=od1=urR_s z5X$McXR>F)0g@-ZMkw9<&w#@5Yo}Xy%ht|&<*pk(-M*RWCfKdB>*majELq;PdfnZv zmubjZTPEtC6TsvAq)hQR@9| zX~V^(^0Kf}MJdC@72(FPB2cDsF&17aD;1Q7l4rXn+$bv$xp0@5hWbJK|F@XiRn+`DLjuC@e*FfQM^igKZZAm?Qh|2yn~N$0w-|_pLo2Vz_<7w zKTKhA_hcsH!c-;~lX=sy%wf`(*+1Fjrj;uAo!7hd|EBAI|G#Pd3vN7!KoEhyjsPk< zk{xX{?|Sbyx7Lo(@gN;;bLWk7^h~Jp%5g%k94EZ|hasIuXsT Date: Fri, 21 Jun 2024 15:15:42 -0700 Subject: [PATCH 260/340] Update dates in the Feeds and Reports models --- models/feeds-api-model/feeds_2020-09-04.json | 4 ++-- models/reports-api-model/reports_2020-09-04.json | 4 ++-- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/models/feeds-api-model/feeds_2020-09-04.json b/models/feeds-api-model/feeds_2020-09-04.json index 739289852..4c5d746b6 100644 --- a/models/feeds-api-model/feeds_2020-09-04.json +++ b/models/feeds-api-model/feeds_2020-09-04.json @@ -1,7 +1,7 @@ { "swagger": "2.0", "info": { - "description": "Effective **June 27, 2023**, the Selling Partner API for Feeds v2020-09-04 will no longer be available and all calls to it will fail. Integrations that rely on the Feeds API must migrate to [Feeds v2021-06-30](https://developer-docs.amazon.com/sp-api/docs/feeds-api-v2021-06-30-reference) to avoid service disruption.", + "description": "Effective **June 27, 2024**, the Selling Partner API for Feeds v2020-09-04 will no longer be available and all calls to it will fail. Integrations that rely on the Feeds API must migrate to [Feeds v2021-06-30](https://developer-docs.amazon.com/sp-api/docs/feeds-api-v2021-06-30-reference) to avoid service disruption.", "version": "2020-09-04", "title": "Selling Partner API for Feeds", "contact": { @@ -1711,4 +1711,4 @@ "description": "Information required to encrypt and upload a feed document's contents." } } -} \ No newline at end of file +} diff --git a/models/reports-api-model/reports_2020-09-04.json b/models/reports-api-model/reports_2020-09-04.json index 4127a00e9..183e0ecc7 100644 --- a/models/reports-api-model/reports_2020-09-04.json +++ b/models/reports-api-model/reports_2020-09-04.json @@ -1,7 +1,7 @@ { "swagger": "2.0", "info": { - "description": "Effective **June 27, 2023**, the Selling Partner API for Reports v2020-09-04 will no longer be available and all calls to it will fail. Integrations that rely on the Reports API must migrate to [Reports v2021-06-30](https://developer-docs.amazon.com/sp-api/docs/reports-api-v2021-06-30-reference) to avoid service disruption.", + "description": "Effective **June 27, 2024**, the Selling Partner API for Reports v2020-09-04 will no longer be available and all calls to it will fail. Integrations that rely on the Reports API must migrate to [Reports v2021-06-30](https://developer-docs.amazon.com/sp-api/docs/reports-api-v2021-06-30-reference) to avoid service disruption.", "version": "2020-09-04", "title": "Selling Partner API for Reports", "contact": { @@ -2544,4 +2544,4 @@ "description": "Response schema." } } -} \ No newline at end of file +} From 6154cc59700b4f2f6291c48026f3906b2133968b Mon Sep 17 00:00:00 2001 From: Jack Evoniuk Date: Tue, 25 Jun 2024 14:41:24 -0700 Subject: [PATCH 261/340] Update Analytics Sales and Traffic schema --- .../data-kiosk/analytics_salesAndTraffic_2023_11_15.graphql | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/schemas/data-kiosk/analytics_salesAndTraffic_2023_11_15.graphql b/schemas/data-kiosk/analytics_salesAndTraffic_2023_11_15.graphql index 6afb98538..bbc24f042 100644 --- a/schemas/data-kiosk/analytics_salesAndTraffic_2023_11_15.graphql +++ b/schemas/data-kiosk/analytics_salesAndTraffic_2023_11_15.graphql @@ -47,7 +47,7 @@ type Analytics_SalesAndTraffic_2023_11_15 { granularity will be used instead. """ startDate: Date! - ): [SalesAndTrafficByAsin] + ): [SalesAndTrafficByAsin] @deprecated(reason : "No longer supported. Use salesAndTrafficByAsin from the analytics_salesAndTraffic_2024_04_24 schema instead.") "A query to retrieve sales and traffic data for the seller's account aggregated by date." salesAndTrafficByDate( "Determines how the sales and traffic data should be aggregated." @@ -71,7 +71,7 @@ type Analytics_SalesAndTraffic_2023_11_15 { first day of the next month for MONTH date granularity will be used instead. """ startDate: Date! - ): [SalesAndTrafficByDate] + ): [SalesAndTrafficByDate] @deprecated(reason : "No longer supported. Use salesAndTrafficByDate from the analytics_salesAndTraffic_2024_04_24 schema instead.") } "The sales data for the seller's account aggregated by ASIN." @@ -504,7 +504,7 @@ type ByDateTraffic { "A root type for queries" type Query { "Analytics Sales and Traffic queries version 2023_11_15." - analytics_salesAndTraffic_2023_11_15: Analytics_SalesAndTraffic_2023_11_15 + analytics_salesAndTraffic_2023_11_15: Analytics_SalesAndTraffic_2023_11_15 @deprecated(reason : "No longer supported. Use analytics_salesAndTraffic_2024_04_24 instead.") } "The sales and traffic data for the seller's account aggregated by ASIN." From 81e15f80f19f3e3326f45a7ba0950f82e31e092f Mon Sep 17 00:00:00 2001 From: Gibran Waldron Date: Thu, 27 Jun 2024 08:07:14 -0700 Subject: [PATCH 262/340] Vendor df models update. --- .../vendorDirectFulfillmentInventoryV1.json | 48 +- .../vendorDirectFulfillmentOrdersV1.json | 343 +---- ...dorDirectFulfillmentOrders_2021-12-28.json | 91 +- .../vendorDirectFulfillmentPaymentsV1.json | 306 ++-- ...rectFulfillmentSandboxData_2021-10-28.json | 80 +- .../vendorDirectFulfillmentShippingV1.json | 1336 ++++++++--------- ...rDirectFulfillmentShipping_2021-12-28.json | 140 +- ...vendorDirectFulfillmentTransactionsV1.json | 26 +- ...ectFulfillmentTransactions_2021-12-28.json | 97 +- .../vendorInvoices.json | 91 +- .../vendor-orders-api-model/vendorOrders.json | 226 +-- .../vendorTransactionStatus.json | 37 +- 12 files changed, 1052 insertions(+), 1769 deletions(-) diff --git a/models/vendor-direct-fulfillment-inventory-api-model/vendorDirectFulfillmentInventoryV1.json b/models/vendor-direct-fulfillment-inventory-api-model/vendorDirectFulfillmentInventoryV1.json index 0e3e472d6..fef0184f9 100644 --- a/models/vendor-direct-fulfillment-inventory-api-model/vendorDirectFulfillmentInventoryV1.json +++ b/models/vendor-direct-fulfillment-inventory-api-model/vendorDirectFulfillmentInventoryV1.json @@ -29,7 +29,7 @@ "tags": [ "updateInventory" ], - "description": "Submits inventory updates for the specified warehouse for either a partial or full feed of inventory items.\n\n**Usage Plan:**\n\n| Rate (requests per second) | Burst |\n| ---- | ---- |\n| 10 | 10 |\n\nThe `x-amzn-RateLimit-Limit` response header returns the usage plan rate limits that were applied to the requested operation, when available. The table above indicates the default rate and burst values for this operation. Selling partners whose business demands require higher throughput may see higher rate and burst values than those shown here. For more information, see [Usage Plans and Rate Limits in the Selling Partner API](https://developer-docs.amazon.com/sp-api/docs/usage-plans-and-rate-limits-in-the-sp-api).", + "description": "Submits inventory updates for the specified warehouse for either a partial or full feed of inventory items.\n\n**Usage Plan:**\n\n| Rate (requests per second) | Burst |\n| ---- | ---- |\n| 10 | 10 |\n\nThe `x-amzn-RateLimit-Limit` response header returns the usage plan rate limits that are applied to the operation, when available. The table above indicates the default rate and burst values for this operation. Selling partners whose business demands require higher throughput may see higher rate and burst values than those shown here. For more information, refer to [Usage Plans and Rate Limits in the *SP-API*](https://developer-docs.amazon.com/sp-api/docs/usage-plans-and-rate-limits-in-the-sp-api).", "operationId": "submitInventoryUpdate", "parameters": [ { @@ -38,7 +38,8 @@ "required": true, "schema": { "$ref": "#/definitions/SubmitInventoryUpdateRequest" - } + }, + "description": "The request body that contains the inventory update data to submit." }, { "name": "warehouseId", @@ -203,10 +204,6 @@ "$ref": "#/definitions/SubmitInventoryUpdateResponse" }, "headers": { - "x-amzn-RateLimit-Limit": { - "type": "string", - "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." - }, "x-amzn-RequestId": { "type": "string", "description": "Unique request reference identifier." @@ -219,10 +216,6 @@ "$ref": "#/definitions/SubmitInventoryUpdateResponse" }, "headers": { - "x-amzn-RateLimit-Limit": { - "type": "string", - "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." - }, "x-amzn-RequestId": { "type": "string", "description": "Unique request reference identifier." @@ -235,10 +228,6 @@ "$ref": "#/definitions/SubmitInventoryUpdateResponse" }, "headers": { - "x-amzn-RateLimit-Limit": { - "type": "string", - "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." - }, "x-amzn-RequestId": { "type": "string", "description": "Unique request reference identifier." @@ -251,10 +240,6 @@ "$ref": "#/definitions/SubmitInventoryUpdateResponse" }, "headers": { - "x-amzn-RateLimit-Limit": { - "type": "string", - "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." - }, "x-amzn-RequestId": { "type": "string", "description": "Unique request reference identifier." @@ -267,10 +252,6 @@ "$ref": "#/definitions/SubmitInventoryUpdateResponse" }, "headers": { - "x-amzn-RateLimit-Limit": { - "type": "string", - "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." - }, "x-amzn-RequestId": { "type": "string", "description": "Unique request reference identifier." @@ -291,9 +272,10 @@ "$ref": "#/definitions/InventoryUpdate" } }, - "description": "The request body for the submitInventoryUpdate operation." + "description": "The request body for the `submitInventoryUpdate` operation." }, "InventoryUpdate": { + "description": "Inventory details required to update some or all items for the requested warehouse.", "type": "object", "required": [ "isFullUpdate", @@ -302,12 +284,12 @@ ], "properties": { "sellingParty": { - "description": "ID of the selling party or vendor.", + "description": "The ID for the selling party or vendor.", "$ref": "#/definitions/PartyIdentification" }, "isFullUpdate": { "type": "boolean", - "description": "When true, this request contains a full feed. Otherwise, this request contains a partial feed. When sending a full feed, you must send information about all items in the warehouse. Any items not in the full feed are updated as not available. When sending a partial feed, only include the items that need an update to inventory. The status of other items will remain unchanged." + "description": "When `true`, this request contains a full feed. When `false`, this request contains a partial feed. When sending a full feed, you must send information about all items in the warehouse. Any items not in the full feed are updated as not available. When sending a partial feed, only include the items that need an inventory update. The status of other items will remain unchanged." }, "items": { "type": "array", @@ -326,11 +308,11 @@ "properties": { "buyerProductIdentifier": { "type": "string", - "description": "The buyer selected product identification of the item. Either buyerProductIdentifier or vendorProductIdentifier should be submitted." + "description": "The buyer-selected product identification for the item. Either `buyerProductIdentifier` or `vendorProductIdentifier` must be submitted." }, "vendorProductIdentifier": { "type": "string", - "description": "The vendor selected product identification of the item. Either buyerProductIdentifier or vendorProductIdentifier should be submitted." + "description": "The vendor selected product identification for the item. Either `buyerProductIdentifier` or `vendorProductIdentifier` must be submitted." }, "availableQuantity": { "description": "Total item quantity available in the warehouse.", @@ -338,12 +320,13 @@ }, "isObsolete": { "type": "boolean", - "description": "When true, the item is permanently unavailable." + "description": "When `true`, the item is permanently unavailable." } }, "description": "Updated inventory details for an item." }, "PartyIdentification": { + "description": "Name, address and tax details for a group.", "type": "object", "required": [ "partyId" @@ -370,20 +353,20 @@ "description": "Unit of measure for the available quantity." } }, - "description": "Details of item quantity." + "description": "Details about item quantity." }, "SubmitInventoryUpdateResponse": { "type": "object", "properties": { "payload": { - "description": "The response payload for the submitInventoryUpdate operation.", + "description": "The response payload for the `submitInventoryUpdate` operation.", "$ref": "#/definitions/TransactionReference" }, "errors": { "$ref": "#/definitions/ErrorList" } }, - "description": "The response schema for the submitInventoryUpdate operation." + "description": "The response schema for the `submitInventoryUpdate` operation." }, "TransactionReference": { "type": "object", @@ -392,7 +375,8 @@ "type": "string", "description": "GUID to identify this transaction. This value can be used with the Transaction Status API to return the status of this transaction." } - } + }, + "description": "A response that contains the transaction ID." }, "ErrorList": { "type": "array", diff --git a/models/vendor-direct-fulfillment-orders-api-model/vendorDirectFulfillmentOrdersV1.json b/models/vendor-direct-fulfillment-orders-api-model/vendorDirectFulfillmentOrdersV1.json index 49e96b1bb..978715266 100644 --- a/models/vendor-direct-fulfillment-orders-api-model/vendorDirectFulfillmentOrdersV1.json +++ b/models/vendor-direct-fulfillment-orders-api-model/vendorDirectFulfillmentOrdersV1.json @@ -691,251 +691,6 @@ } } }, - { - "request": { - "parameters": { - "createdBefore": { - "value": "2020-02-20T00:00:00-08:00" - }, - "createdAfter": { - "value": "2020-02-15T14:00:00-08:00" - }, - "includeDetails": { - "value": "true" - }, - "limit": { - "value": 2 - }, - "sortOrder": { - "value": "DESC" - }, - "nextToken": { - "value": "MDAwMDAwMDAwMQ==" - } - } - }, - "response": { - "payload": { - "orders": [ - { - "purchaseOrderNumber": "2JK3S9VCD", - "orderDetails": { - "customerOrderNumber": "123-ABC", - "orderDate": "2020-02-20T13:51:00Z", - "orderStatus": "NEW", - "shipmentDetails": { - "isPriorityShipment": false, - "isScheduledDeliveryShipment": false, - "isPslipRequired": true, - "isGift": false, - "shipMethod": "UPS_2ND", - "shipmentDates": { - "requiredShipDate": "2020-02-21T00:00:00Z", - "promisedDeliveryDate": "2020-02-24T00:00:00Z" - }, - "messageToCustomer": "This shipment completes your order. You can always check the status of your orders from the \"Your Account\" link at the top of each page of our site.Thank you for shopping at Amazon.com" - }, - "taxTotal": { - "taxLineItem": [ - { - "taxAmount": { - "currencyCode": "USD", - "amount": "190" - }, - "type": "TOTAL" - } - ] - }, - "sellingParty": { - "partyId": "999US" - }, - "shipFromParty": { - "partyId": "ABCD" - }, - "shipToParty": { - "name": "ABCD", - "attention": "ABCD", - "addressLine1": "123 XYZ Street", - "addressLine2": "Apt 5", - "city": "San Jose", - "stateOrRegion": "CA", - "postalCode": "94086", - "countryCode": "USA" - }, - "billToParty": { - "partyId": "ABCD" - }, - "items": [ - { - "itemSequenceNumber": "00001", - "buyerProductIdentifier": "B07DFVDRAB", - "vendorProductIdentifier": "8806098286500", - "title": "LG 8 kg Inverter Wi-Fi Fully-Automatic Front Loading Washing Machine (FHT1408SWS, STS-VCM, Inbuilt Heater)", - "orderedQuantity": { - "amount": 1, - "unitOfMeasure": "EACH" - }, - "netPrice": { - "currencyCode": "USD", - "amount": "500" - }, - "taxDetails": { - "taxLineItem": [ - { - "taxRate": "0.1", - "taxAmount": { - "currencyCode": "USD", - "amount": "50" - }, - "type": "TOTAL" - } - ] - } - }, - { - "itemSequenceNumber": "00002", - "buyerProductIdentifier": "B07DFYF5AB", - "vendorProductIdentifier": "8806098286123", - "title": "LG 6.5 kg Inverter Fully-Automatic Front Loading Washing Machine (FHT1065SNW, Blue and White, Inbuilt Heater)", - "orderedQuantity": { - "amount": 2, - "unitOfMeasure": "EACH" - }, - "netPrice": { - "currencyCode": "USD", - "amount": "700" - }, - "taxDetails": { - "taxLineItem": [ - { - "taxRate": "0.1", - "taxAmount": { - "currencyCode": "USD", - "amount": "140" - }, - "type": "TOTAL" - } - ] - } - } - ] - } - }, - { - "purchaseOrderNumber": "3TRD2IABC", - "orderDetails": { - "customerOrderNumber": "456-ABC", - "orderDate": "2020-02-18T11:47:00Z", - "orderStatus": "NEW", - "shipmentDetails": { - "isPriorityShipment": false, - "isScheduledDeliveryShipment": false, - "isPslipRequired": true, - "isGift": false, - "shipMethod": "UPS_2ND", - "shipmentDates": { - "requiredShipDate": "2020-02-20T00:00:00Z", - "promisedDeliveryDate": "2020-02-22T00:00:00Z" - }, - "messageToCustomer": "This shipment completes your order. You can always check the status of your orders from the \"Your Account\" link at the top of each page of our site.Thank you for shopping at Amazon.com" - }, - "taxTotal": { - "taxLineItem": [ - { - "taxRate": "0.1", - "taxAmount": { - "currencyCode": "USD", - "amount": "2" - }, - "type": "TOTAL" - } - ] - }, - "sellingParty": { - "partyId": "999US" - }, - "shipFromParty": { - "partyId": "ABCD" - }, - "shipToParty": { - "name": "XYZ", - "attention": "XYZ", - "addressLine1": "456 ABC Street", - "city": "Seattle", - "stateOrRegion": "WA", - "postalCode": "98007", - "countryCode": "USA" - }, - "billToParty": { - "partyId": "ABCD" - }, - "items": [ - { - "itemSequenceNumber": "00001", - "buyerProductIdentifier": "B01LNRIIAB", - "vendorProductIdentifier": "8806098286501", - "title": "Baby Dove Baby Wipes Rich Moisture (50 Pieces)", - "orderedQuantity": { - "amount": 1, - "unitOfMeasure": "EACH" - }, - "netPrice": { - "currencyCode": "USD", - "amount": "20" - }, - "taxDetails": { - "taxLineItem": [ - { - "taxRate": "0.1", - "taxAmount": { - "currencyCode": "USD", - "amount": "2" - }, - "type": "TOTAL" - } - ] - } - } - ] - } - } - ] - } - } - }, - { - "request": { - "parameters": { - "createdBefore": { - "value": "2019-08-21T00:00:00-08:00" - }, - "createdAfter": { - "value": "2019-08-20T14:00:00-08:00" - }, - "includeDetails": { - "value": "false" - }, - "sortOrder": { - "value": "DESC" - } - } - }, - "response": { - "payload": { - "pagination": { - "nextToken": "MDAwMDAwMDAwMQ==" - }, - "orders": [ - { - "purchaseOrderNumber": "2JK3S9VC" - }, - { - "purchaseOrderNumber": "3TRD2IAB" - } - ] - } - } - }, { "request": { "parameters": { @@ -1273,10 +1028,6 @@ "$ref": "#/definitions/GetOrdersResponse" }, "headers": { - "x-amzn-RateLimit-Limit": { - "type": "string", - "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." - }, "x-amzn-RequestId": { "type": "string", "description": "Unique request reference identifier." @@ -1289,10 +1040,6 @@ "$ref": "#/definitions/GetOrdersResponse" }, "headers": { - "x-amzn-RateLimit-Limit": { - "type": "string", - "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." - }, "x-amzn-RequestId": { "type": "string", "description": "Unique request reference identifier." @@ -1305,10 +1052,6 @@ "$ref": "#/definitions/GetOrdersResponse" }, "headers": { - "x-amzn-RateLimit-Limit": { - "type": "string", - "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." - }, "x-amzn-RequestId": { "type": "string", "description": "Unique request reference identifier." @@ -1321,10 +1064,6 @@ "$ref": "#/definitions/GetOrdersResponse" }, "headers": { - "x-amzn-RateLimit-Limit": { - "type": "string", - "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." - }, "x-amzn-RequestId": { "type": "string", "description": "Unique request reference identifier." @@ -1750,10 +1489,6 @@ "$ref": "#/definitions/GetOrderResponse" }, "headers": { - "x-amzn-RateLimit-Limit": { - "type": "string", - "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." - }, "x-amzn-RequestId": { "type": "string", "description": "Unique request reference identifier." @@ -1794,10 +1529,6 @@ "$ref": "#/definitions/GetOrderResponse" }, "headers": { - "x-amzn-RateLimit-Limit": { - "type": "string", - "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." - }, "x-amzn-RequestId": { "type": "string", "description": "Unique request reference identifier." @@ -1810,10 +1541,6 @@ "$ref": "#/definitions/GetOrderResponse" }, "headers": { - "x-amzn-RateLimit-Limit": { - "type": "string", - "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." - }, "x-amzn-RequestId": { "type": "string", "description": "Unique request reference identifier." @@ -1826,10 +1553,6 @@ "$ref": "#/definitions/GetOrderResponse" }, "headers": { - "x-amzn-RateLimit-Limit": { - "type": "string", - "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." - }, "x-amzn-RequestId": { "type": "string", "description": "Unique request reference identifier." @@ -1842,10 +1565,6 @@ "$ref": "#/definitions/GetOrderResponse" }, "headers": { - "x-amzn-RateLimit-Limit": { - "type": "string", - "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." - }, "x-amzn-RequestId": { "type": "string", "description": "Unique request reference identifier." @@ -1853,7 +1572,7 @@ } } } - } + } }, "/vendor/directFulfillment/orders/v1/acknowledgements": { "post": { @@ -1869,7 +1588,8 @@ "required": true, "schema": { "$ref": "#/definitions/SubmitAcknowledgementRequest" - } + }, + "description": "The request body that contains the order acknowledgement." } ], "responses": { @@ -2027,10 +1747,6 @@ "$ref": "#/definitions/SubmitAcknowledgementResponse" }, "headers": { - "x-amzn-RateLimit-Limit": { - "type": "string", - "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." - }, "x-amzn-RequestId": { "type": "string", "description": "Unique request reference identifier." @@ -2043,10 +1759,6 @@ "$ref": "#/definitions/SubmitAcknowledgementResponse" }, "headers": { - "x-amzn-RateLimit-Limit": { - "type": "string", - "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." - }, "x-amzn-RequestId": { "type": "string", "description": "Unique request reference identifier." @@ -2059,10 +1771,6 @@ "$ref": "#/definitions/SubmitAcknowledgementResponse" }, "headers": { - "x-amzn-RateLimit-Limit": { - "type": "string", - "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." - }, "x-amzn-RequestId": { "type": "string", "description": "Unique request reference identifier." @@ -2075,10 +1783,6 @@ "$ref": "#/definitions/SubmitAcknowledgementResponse" }, "headers": { - "x-amzn-RateLimit-Limit": { - "type": "string", - "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." - }, "x-amzn-RequestId": { "type": "string", "description": "Unique request reference identifier." @@ -2091,10 +1795,6 @@ "$ref": "#/definitions/SubmitAcknowledgementResponse" }, "headers": { - "x-amzn-RateLimit-Limit": { - "type": "string", - "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." - }, "x-amzn-RequestId": { "type": "string", "description": "Unique request reference identifier." @@ -2136,15 +1836,18 @@ "type": "object", "properties": { "pagination": { - "$ref": "#/definitions/Pagination" + "$ref": "#/definitions/Pagination", + "description": "The pagination elements required to retrieve the remaining data." }, "orders": { "type": "array", "items": { "$ref": "#/definitions/Order" - } + }, + "description": "Represents a purchase order within the `OrderList`." } - } + }, + "description": "A purchase orders list returned as a response." }, "Pagination": { "type": "object", @@ -2153,9 +1856,11 @@ "type": "string", "description": "A generated string used to pass information to your next request. If NextToken is returned, pass the value of NextToken to the next request. If NextToken is not returned, there are no more order items to return." } - } + }, + "description": "The pagination elements required to retrieve the remaining data." }, "Order": { + "description": "Represents a purchase order.", "type": "object", "required": [ "purchaseOrderNumber" @@ -2226,6 +1931,7 @@ }, "taxTotal": { "type": "object", + "description": "The total tax object within the shipment that relates to the order.", "properties": { "taxLineItem": { "description": "Tax details.", @@ -2260,6 +1966,7 @@ "description": "Details of an order." }, "PartyIdentification": { + "description": "Name, address, and tax details of a party.", "type": "object", "required": [ "partyId" @@ -2329,7 +2036,7 @@ "properties": { "name": { "type": "string", - "description": "The name of the person, business or institution at that address. For Amazon label only vendors, this field will have the value `xxxxx` within the object `shipToParty`." + "description": "The name of the person, business, or institution at that address. For Amazon label only vendors, this field will have the value `xxxxx` within the object `shipToParty`." }, "attention": { "type": "string", @@ -2349,15 +2056,15 @@ }, "city": { "type": "string", - "description": "The city where the person, business or institution is located. For Amazon label only vendors, this field will have the value `xxxxx` within the object `shipToParty`." + "description": "The city where the person, business, or institution is located. For Amazon label only vendors, this field will have the value `xxxxx` within the object `shipToParty`." }, "county": { "type": "string", - "description": "The county where person, business or institution is located. For Amazon label only vendors, this field will have the value `xxxxx` within the object `shipToParty`." + "description": "The county where the person, business, or institution is located. For Amazon label only vendors, this field will have the value `xxxxx` within the object `shipToParty`." }, "district": { "type": "string", - "description": "The district where person, business or institution is located. For Amazon label only vendors, this field will have the value `xxxxx` within the object `shipToParty`." + "description": "The district where the person, business, or institution is located. For Amazon label only vendors, this field will have the value `xxxxx` within the object `shipToParty`." }, "stateOrRegion": { "type": "string", @@ -2373,7 +2080,7 @@ }, "phone": { "type": "string", - "description": "The phone number of the person, business or institution located at that address. For Amazon label only vendors, this field will have the value `xxxxx` within the object `shipToParty`." + "description": "The phone number of the person, business, or institution located at that address. For Amazon label only vendors, this field will have the value `xxxxx` within the object `shipToParty`." } }, "description": "Address of the party." @@ -2432,7 +2139,8 @@ "description": "The price to Amazon each (cost).", "$ref": "#/definitions/Money" } - } + }, + "description": "An order item." }, "Money": { "type": "object", @@ -2471,7 +2179,8 @@ "type": "string", "description": "GUID assigned by Amazon to identify this transaction. This value can be used with the Transaction Status API to return the status of this transaction." } - } + }, + "description": "Response that contains the transaction ID." }, "ErrorList": { "type": "array", @@ -2563,7 +2272,8 @@ "description": "Details of quantity acknowledged with the above acknowledgement code.", "$ref": "#/definitions/ItemQuantity" } - } + }, + "description": "Individual item details within the acknowledged order." }, "ItemQuantity": { "type": "object", @@ -2653,7 +2363,8 @@ } ] } - } + }, + "description": "The order's tax details." }, "AcknowledgementStatus": { "type": "object", diff --git a/models/vendor-direct-fulfillment-orders-api-model/vendorDirectFulfillmentOrders_2021-12-28.json b/models/vendor-direct-fulfillment-orders-api-model/vendorDirectFulfillmentOrders_2021-12-28.json index 8991a6ae3..7013fb61b 100644 --- a/models/vendor-direct-fulfillment-orders-api-model/vendorDirectFulfillmentOrders_2021-12-28.json +++ b/models/vendor-direct-fulfillment-orders-api-model/vendorDirectFulfillmentOrders_2021-12-28.json @@ -316,10 +316,6 @@ "$ref": "#/definitions/ErrorList" }, "headers": { - "x-amzn-RateLimit-Limit": { - "type": "string", - "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." - }, "x-amzn-RequestId": { "type": "string", "description": "Unique request reference identifier." @@ -332,10 +328,6 @@ "$ref": "#/definitions/ErrorList" }, "headers": { - "x-amzn-RateLimit-Limit": { - "type": "string", - "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." - }, "x-amzn-RequestId": { "type": "string", "description": "Unique request reference identifier." @@ -348,10 +340,6 @@ "$ref": "#/definitions/ErrorList" }, "headers": { - "x-amzn-RateLimit-Limit": { - "type": "string", - "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." - }, "x-amzn-RequestId": { "type": "string", "description": "Unique request reference identifier." @@ -364,10 +352,6 @@ "$ref": "#/definitions/ErrorList" }, "headers": { - "x-amzn-RateLimit-Limit": { - "type": "string", - "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." - }, "x-amzn-RequestId": { "type": "string", "description": "Unique request reference identifier." @@ -544,10 +528,6 @@ "$ref": "#/definitions/ErrorList" }, "headers": { - "x-amzn-RateLimit-Limit": { - "type": "string", - "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." - }, "x-amzn-RequestId": { "type": "string", "description": "Unique request reference identifier." @@ -588,10 +568,6 @@ "$ref": "#/definitions/ErrorList" }, "headers": { - "x-amzn-RateLimit-Limit": { - "type": "string", - "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." - }, "x-amzn-RequestId": { "type": "string", "description": "Unique request reference identifier." @@ -604,10 +580,6 @@ "$ref": "#/definitions/ErrorList" }, "headers": { - "x-amzn-RateLimit-Limit": { - "type": "string", - "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." - }, "x-amzn-RequestId": { "type": "string", "description": "Unique request reference identifier." @@ -620,10 +592,6 @@ "$ref": "#/definitions/ErrorList" }, "headers": { - "x-amzn-RateLimit-Limit": { - "type": "string", - "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." - }, "x-amzn-RequestId": { "type": "string", "description": "Unique request reference identifier." @@ -636,10 +604,6 @@ "$ref": "#/definitions/ErrorList" }, "headers": { - "x-amzn-RateLimit-Limit": { - "type": "string", - "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." - }, "x-amzn-RequestId": { "type": "string", "description": "Unique request reference identifier." @@ -666,7 +630,8 @@ "required": true, "schema": { "$ref": "#/definitions/SubmitAcknowledgementRequest" - } + }, + "description": "The request body containing the acknowledgement to an order" } ], "responses": { @@ -736,10 +701,6 @@ "$ref": "#/definitions/ErrorList" }, "headers": { - "x-amzn-RateLimit-Limit": { - "type": "string", - "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." - }, "x-amzn-RequestId": { "type": "string", "description": "Unique request reference identifier." @@ -752,10 +713,6 @@ "$ref": "#/definitions/ErrorList" }, "headers": { - "x-amzn-RateLimit-Limit": { - "type": "string", - "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." - }, "x-amzn-RequestId": { "type": "string", "description": "Unique request reference identifier." @@ -768,10 +725,6 @@ "$ref": "#/definitions/ErrorList" }, "headers": { - "x-amzn-RateLimit-Limit": { - "type": "string", - "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." - }, "x-amzn-RequestId": { "type": "string", "description": "Unique request reference identifier." @@ -784,10 +737,6 @@ "$ref": "#/definitions/ErrorList" }, "headers": { - "x-amzn-RateLimit-Limit": { - "type": "string", - "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." - }, "x-amzn-RequestId": { "type": "string", "description": "Unique request reference identifier." @@ -800,10 +749,6 @@ "$ref": "#/definitions/ErrorList" }, "headers": { - "x-amzn-RateLimit-Limit": { - "type": "string", - "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." - }, "x-amzn-RequestId": { "type": "string", "description": "Unique request reference identifier." @@ -822,15 +767,18 @@ "type": "object", "properties": { "pagination": { - "$ref": "#/definitions/Pagination" + "$ref": "#/definitions/Pagination", + "description": "The pagination elements required to retrieve the remaining data." }, "orders": { "type": "array", "items": { "$ref": "#/definitions/Order" - } + }, + "description": "Represents a purchase order within the OrderList." } - } + }, + "description": "A list of purchase orders." }, "Pagination": { "type": "object", @@ -839,9 +787,11 @@ "type": "string", "description": "A generated string used to pass information to your next request. If NextToken is returned, pass the value of NextToken to the next request. If NextToken is not returned, there are no more order items to return." } - } + }, + "description": "The pagination elements required to retrieve the remaining data." }, "Order": { + "description": "Represents a purchase order.", "type": "object", "required": [ "purchaseOrderNumber" @@ -941,6 +891,7 @@ }, "PartyIdentification": { "type": "object", + "description": "Name, address and tax details of a party.", "required": [ "partyId" ], @@ -1110,7 +1061,8 @@ "description": "The buyer information for products the vendor has configured as customizable, specifying the types of customizations or configurations along with types and ranges for their product. This provides the ability for buyers to customize multiple aspects of the products according to what the vendor allows.", "$ref": "#/definitions/buyerCustomizedInfoDetail" } - } + }, + "description": "An item within an order" }, "Money": { "type": "object", @@ -1132,7 +1084,8 @@ "type": "string", "description": "A [Base 64](https://datatracker.ietf.org/doc/html/rfc4648#section-4) encoded URL using the UTF-8 character set. The URL provides the location of the zip file that specifies the types of customizations or configurations allowed by the vendor, along with types and ranges for the attributes of their products." } - } + }, + "description": "The details of the products the vendor has configured as customizable." }, "Decimal": { "type": "string", @@ -1158,7 +1111,8 @@ "type": "string", "description": "GUID assigned by Amazon to identify this transaction. This value can be used with the Transaction Status API to return the status of this transaction." } - } + }, + "description": "Response containing the transaction ID." }, "ErrorList": { "type": "object", @@ -1171,7 +1125,8 @@ "type": "array", "items": { "$ref": "#/definitions/Error" - } + }, + "description": "An array of Error objects representing individual errors encountered during the request." } } }, @@ -1258,7 +1213,8 @@ "description": "Details of quantity acknowledged with the above acknowledgement code.", "$ref": "#/definitions/ItemQuantity" } - } + }, + "description": "Details of an individual item within the order being acknowledged." }, "ItemQuantity": { "type": "object", @@ -1348,7 +1304,8 @@ } ] } - } + }, + "description": "The tax details related to the order." }, "AcknowledgementStatus": { "type": "object", diff --git a/models/vendor-direct-fulfillment-payments-api-model/vendorDirectFulfillmentPaymentsV1.json b/models/vendor-direct-fulfillment-payments-api-model/vendorDirectFulfillmentPaymentsV1.json index ca1dd212a..7f1d7d291 100644 --- a/models/vendor-direct-fulfillment-payments-api-model/vendorDirectFulfillmentPaymentsV1.json +++ b/models/vendor-direct-fulfillment-payments-api-model/vendorDirectFulfillmentPaymentsV1.json @@ -29,12 +29,13 @@ "tags": [ "vendorInvoice" ], - "description": "Submits one or more invoices for a vendor's direct fulfillment orders.\n\n**Usage Plan:**\n\n| Rate (requests per second) | Burst |\n| ---- | ---- |\n| 10 | 10 |\n\nThe `x-amzn-RateLimit-Limit` response header returns the usage plan rate limits that were applied to the requested operation, when available. The table above indicates the default rate and burst values for this operation. Selling partners whose business demands require higher throughput may see higher rate and burst values than those shown here. For more information, see [Usage Plans and Rate Limits in the Selling Partner API](https://developer-docs.amazon.com/sp-api/docs/usage-plans-and-rate-limits-in-the-sp-api).", + "description": "Submits one or more invoices for a vendor's direct fulfillment orders.\n\n**Usage Plan:**\n\n| Rate (requests per second) | Burst |\n| ---- | ---- |\n| 10 | 10 |\n\nThe `x-amzn-RateLimit-Limit` response header returns the usage plan rate limits that were applied to the requested operation, when available. The preceding table indicates the default rate and burst values for this operation. Selling partners whose business demands require higher throughput may see higher rate and burst values than those shown here. For more information, refer to [Usage Plans and Rate Limits in the Selling Partner API](https://developer-docs.amazon.com/sp-api/docs/usage-plans-and-rate-limits-in-the-sp-api).", "operationId": "submitInvoice", "parameters": [ { "in": "body", "name": "body", + "description": "The request body that contains one or more invoices for vendor orders.", "required": true, "schema": { "$ref": "#/definitions/SubmitInvoiceRequest" @@ -69,132 +70,132 @@ "invoiceNumber": "0092590411", "invoiceDate": "2020-03-13T11:16:24Z", "remitToParty": { - "partyId": "YourVendorCode", - "address": { - "name": "vendor name", - "addressLine1": "vendor address 1", - "addressLine2": "vendor address 2", - "addressLine3": "vendor address 3", - "city": "DECity", - "county": "Schwabing", - "district": "München", - "stateOrRegion": "Bayern", - "postalCode": "DEPostCode", - "countryCode": "DE" + "partyId": "YourVendorCode", + "address": { + "name": "vendor name", + "addressLine1": "vendor address 1", + "addressLine2": "vendor address 2", + "addressLine3": "vendor address 3", + "city": "DECity", + "county": "Schwabing", + "district": "München", + "stateOrRegion": "Bayern", + "postalCode": "DEPostCode", + "countryCode": "DE" + }, + "taxRegistrationDetails": [ + { + "taxRegistrationType": "VAT", + "taxRegistrationNumber": "DE123456789" + } + ] }, - "taxRegistrationDetails": [ - { - "taxRegistrationType": "VAT", - "taxRegistrationNumber": "DE123456789" - } - ] - }, - "shipFromParty": { - "partyId": "ABCD" - }, - "billToParty": { - "partyId": "5450534005838", - "address": { - "name": "Amazon EU SARL", - "addressLine1": "Marcel-Breuer-Str. 12", - "city": "München", - "county": "Schwabing", - "district": "München", - "stateOrRegion": "Bayern", - "postalCode": "80807", - "countryCode": "DE" + "shipFromParty": { + "partyId": "ABCD" }, - "taxRegistrationDetails": [ - { - "taxRegistrationType": "VAT", - "taxRegistrationNumber": "DE814584193", - "taxRegistrationAddress": { - "name": "Amazon EU SARL", - "addressLine1": "Marcel-Breuer-Str. 12", - "city": "München", - "stateOrRegion": "Bayern", - "postalCode": "80807", - "countryCode": "DE" - }, - "taxRegistrationMessage": "txmessage" - } - ] - }, - "shipToCountryCode": "DE", - "paymentTermsCode": "Basic", - "invoiceTotal": { - "currencyCode": "EUR", - "amount": "1428.00" - }, - "taxTotals": [ - { - "taxType": "CGST", - "taxRate": "0.19", - "taxAmount": { - "currencyCode": "EUR", - "amount": "228.00" - }, - "taxableAmount": { - "currencyCode": "EUR", - "amount": "1200.00" - } - } - ], - "items": [ - { - "itemSequenceNumber": "1", - "buyerProductIdentifier": "B00IVLAABC", - "invoicedQuantity": { - "amount": 1, - "unitOfMeasure": "Each" + "billToParty": { + "partyId": "5450534005838", + "address": { + "name": "Amazon EU SARL", + "addressLine1": "Marcel-Breuer-Str. 12", + "city": "München", + "county": "Schwabing", + "district": "München", + "stateOrRegion": "Bayern", + "postalCode": "80807", + "countryCode": "DE" }, - "netCost": { - "currencyCode": "EUR", - "amount": "1200.00" - }, - "purchaseOrderNumber": "D3rC3KTxG", - "vendorOrderNumber": "0092590411", - "hsnCode": "76.06.92.99.00", - "taxDetails": [ + "taxRegistrationDetails": [ { - "taxType": "CGST", - "taxRate": "0.19", - "taxAmount": { - "currencyCode": "EUR", - "amount": "228.00" + "taxRegistrationType": "VAT", + "taxRegistrationNumber": "DE814584193", + "taxRegistrationAddress": { + "name": "Amazon EU SARL", + "addressLine1": "Marcel-Breuer-Str. 12", + "city": "München", + "stateOrRegion": "Bayern", + "postalCode": "80807", + "countryCode": "DE" }, - "taxableAmount": { - "currencyCode": "EUR", - "amount": "1200.00" - } + "taxRegistrationMessage": "txmessage" } ] - } - ] - } - ] + }, + "shipToCountryCode": "DE", + "paymentTermsCode": "Basic", + "invoiceTotal": { + "currencyCode": "EUR", + "amount": "1428.00" + }, + "taxTotals": [ + { + "taxType": "CGST", + "taxRate": "0.19", + "taxAmount": { + "currencyCode": "EUR", + "amount": "228.00" + }, + "taxableAmount": { + "currencyCode": "EUR", + "amount": "1200.00" + } + } + ], + "items": [ + { + "itemSequenceNumber": "1", + "buyerProductIdentifier": "B00IVLAABC", + "invoicedQuantity": { + "amount": 1, + "unitOfMeasure": "Each" + }, + "netCost": { + "currencyCode": "EUR", + "amount": "1200.00" + }, + "purchaseOrderNumber": "D3rC3KTxG", + "vendorOrderNumber": "0092590411", + "hsnCode": "76.06.92.99.00", + "taxDetails": [ + { + "taxType": "CGST", + "taxRate": "0.19", + "taxAmount": { + "currencyCode": "EUR", + "amount": "228.00" + }, + "taxableAmount": { + "currencyCode": "EUR", + "amount": "1200.00" + } + } + ] + } + ] + } + ] + } } } + }, + "response": { + "payload": { + "transactionId": "20190905010908-8a3b6901-ef20-412f-9270-21c021796605" + } } }, - "response": { - "payload": { - "transactionId": "20190905010908-8a3b6901-ef20-412f-9270-21c021796605" - } - } - }, - { - "request": { - "parameters": { - "body": {} - } - }, - "response": { - "payload": { - "transactionId": "mock-TransactionId-20190905010908-8a3b6901-ef20-412f-9270-21c021796605" + { + "request": { + "parameters": { + "body": {} + } + }, + "response": { + "payload": { + "transactionId": "mock-TransactionId-20190905010908-8a3b6901-ef20-412f-9270-21c021796605" + } } } - } ] } }, @@ -225,30 +226,30 @@ "invoiceNumber": "TestInvoice400", "invoiceDate": "2020-08.13" } - ] + ] + } } } + }, + "response": { + "errors": [ + { + "code": "InvalidInput", + "message": "The value '2020-03.13' of element 'invoiceDate' is not valid.", + "details": "" + }, + { + "code": "InvalidInput", + "message": "The content of element 'invoice' is not complete. One of '{invoiceNumber, referenceNumber}' is expected.", + "details": "" + }, + { + "code": "InvalidInput", + "message": "'2020-03.13' is not a valid value for 'dateTime'.", + "details": "" + } + ] } - }, - "response": { - "errors": [ - { - "code": "InvalidInput", - "message": "The value '2020-03.13' of element 'invoiceDate' is not valid.", - "details": "" - }, - { - "code": "InvalidInput", - "message": "The content of element 'invoice' is not complete. One of '{invoiceNumber, referenceNumber}' is expected.", - "details": "" - }, - { - "code": "InvalidInput", - "message": "'2020-03.13' is not a valid value for 'dateTime'.", - "details": "" - } - ] - } } ] } @@ -287,10 +288,6 @@ "$ref": "#/definitions/SubmitInvoiceResponse" }, "headers": { - "x-amzn-RateLimit-Limit": { - "type": "string", - "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." - }, "x-amzn-RequestId": { "type": "string", "description": "Unique request reference identifier." @@ -303,10 +300,6 @@ "$ref": "#/definitions/SubmitInvoiceResponse" }, "headers": { - "x-amzn-RateLimit-Limit": { - "type": "string", - "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." - }, "x-amzn-RequestId": { "type": "string", "description": "Unique request reference identifier." @@ -319,10 +312,6 @@ "$ref": "#/definitions/SubmitInvoiceResponse" }, "headers": { - "x-amzn-RateLimit-Limit": { - "type": "string", - "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." - }, "x-amzn-RequestId": { "type": "string", "description": "Unique request reference identifier." @@ -335,10 +324,6 @@ "$ref": "#/definitions/SubmitInvoiceResponse" }, "headers": { - "x-amzn-RateLimit-Limit": { - "type": "string", - "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." - }, "x-amzn-RequestId": { "type": "string", "description": "Unique request reference identifier." @@ -351,10 +336,6 @@ "$ref": "#/definitions/SubmitInvoiceResponse" }, "headers": { - "x-amzn-RateLimit-Limit": { - "type": "string", - "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." - }, "x-amzn-RequestId": { "type": "string", "description": "Unique request reference identifier." @@ -372,6 +353,7 @@ "properties": { "invoices": { "type": "array", + "description": "An array of invoice details you want to submit.", "items": { "$ref": "#/definitions/InvoiceDetail" } @@ -455,7 +437,8 @@ "$ref": "#/definitions/InvoiceItem" } } - } + }, + "description": "Represents the invoice details, including the invoice number, date, parties involved, payment terms, totals, taxes, charges, and line items." }, "InvoiceItem": { "type": "object", @@ -512,10 +495,12 @@ "$ref": "#/definitions/ChargeDetails" } } - } + }, + "description": "Details of the invoice items." }, "PartyIdentification": { "type": "object", + "description": "Name, address, and tax details of a party.", "required": [ "partyId" ], @@ -563,7 +548,7 @@ }, "taxRegistrationNumber": { "type": "string", - "description": "Tax registration number for the entity. For example, VAT ID, Consumption Tax ID." + "description": "Tax registration number for the entity. For example, VAT ID or Consumption Tax ID." }, "taxRegistrationAddress": { "description": "Address associated with the tax registration number.", @@ -852,7 +837,7 @@ "description": "The language code of the additional information detail." } }, - "description": "A field where the selling party can provide additional information for tax-related or any other purposes." + "description": "A field where the selling party provides additional information." }, "ItemQuantity": { "type": "object", @@ -892,7 +877,8 @@ "type": "string", "description": "GUID to identify this transaction. This value can be used with the Transaction Status API to return the status of this transaction." } - } + }, + "description": "Response that contains the transaction ID." }, "ErrorList": { "type": "array", diff --git a/models/vendor-direct-fulfillment-sandbox-test-data-api-model/vendorDirectFulfillmentSandboxData_2021-10-28.json b/models/vendor-direct-fulfillment-sandbox-test-data-api-model/vendorDirectFulfillmentSandboxData_2021-10-28.json index 9348ea319..2ff945dfb 100644 --- a/models/vendor-direct-fulfillment-sandbox-test-data-api-model/vendorDirectFulfillmentSandboxData_2021-10-28.json +++ b/models/vendor-direct-fulfillment-sandbox-test-data-api-model/vendorDirectFulfillmentSandboxData_2021-10-28.json @@ -36,6 +36,7 @@ "in": "body", "name": "body", "required": true, + "description": "The request payload that contain parameters to generate test order data scenarios.", "schema": { "$ref": "#/definitions/GenerateOrderScenarioRequest" } @@ -48,10 +49,6 @@ "$ref": "#/definitions/TransactionReference" }, "headers": { - "x-amzn-RateLimit-Limit": { - "description": "Your rate limit (requests per second) for this operation.", - "type": "string" - }, "x-amzn-RequestId": { "type": "string", "description": "Unique request reference identifier." @@ -64,10 +61,6 @@ "$ref": "#/definitions/ErrorList" }, "headers": { - "x-amzn-RateLimit-Limit": { - "description": "Your rate limit (requests per second) for this operation.", - "type": "string" - }, "x-amzn-RequestId": { "type": "string", "description": "Unique request reference identifier." @@ -92,10 +85,6 @@ "$ref": "#/definitions/ErrorList" }, "headers": { - "x-amzn-RateLimit-Limit": { - "description": "Your rate limit (requests per second) for this operation.", - "type": "string" - }, "x-amzn-RequestId": { "type": "string", "description": "Unique request reference identifier." @@ -174,16 +163,12 @@ "tags": [ "vendorDFSandboxtransactionstatus" ], - "description": "Returns the status of the transaction indicated by the specified transactionId. If the transaction was successful, also returns the requested test order data.", + "description": "Retrieves the transaction status identified by the specified `transactionId`, and returns the requested test order data if the transaction is successful.", "operationId": "getOrderScenarios", "responses": { "200": { "description": "Success.", "headers": { - "x-amzn-RateLimit-Limit": { - "description": "Your rate limit (requests per second) for this operation.", - "type": "string" - }, "x-amzn-RequestId": { "description": "Unique request reference identifier.", "type": "string" @@ -230,10 +215,6 @@ "400": { "description": "Request has missing or invalid parameters and cannot be parsed.", "headers": { - "x-amzn-RateLimit-Limit": { - "description": "Your rate limit (requests per second) for this operation.", - "type": "string" - }, "x-amzn-RequestId": { "description": "Unique request reference identifier.", "type": "string" @@ -244,12 +225,8 @@ } }, "401": { - "description": "The request's Authorization header is not formatted correctly or does not contain a valid token.", + "description": "The request's authorization header is not formatted correctly or does not contain a valid token.", "headers": { - "x-amzn-RateLimit-Limit": { - "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned.", - "type": "string" - }, "x-amzn-RequestId": { "description": "Unique request reference identifier.", "type": "string" @@ -274,10 +251,6 @@ "404": { "description": "The resource specified does not exist.", "headers": { - "x-amzn-RateLimit-Limit": { - "description": "Your rate limit (requests per second) for this operation.", - "type": "string" - }, "x-amzn-RequestId": { "description": "Unique request reference identifier.", "type": "string" @@ -290,10 +263,6 @@ "415": { "description": "The request payload is in an unsupported format.", "headers": { - "x-amzn-RateLimit-Limit": { - "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned.", - "type": "string" - }, "x-amzn-RequestId": { "description": "Unique request reference identifier.", "type": "string" @@ -306,10 +275,6 @@ "429": { "description": "The frequency of requests was greater than allowed.", "headers": { - "x-amzn-RateLimit-Limit": { - "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned.", - "type": "string" - }, "x-amzn-RequestId": { "description": "Unique request reference identifier.", "type": "string" @@ -322,10 +287,6 @@ "500": { "description": "An unexpected condition occurred that prevented the server from fulfilling the request.", "headers": { - "x-amzn-RateLimit-Limit": { - "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned.", - "type": "string" - }, "x-amzn-RequestId": { "description": "Unique request reference identifier.", "type": "string" @@ -338,10 +299,6 @@ "503": { "description": "Temporary overloading or maintenance of the server.", "headers": { - "x-amzn-RateLimit-Limit": { - "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned.", - "type": "string" - }, "x-amzn-RequestId": { "description": "Unique request reference identifier.", "type": "string" @@ -356,7 +313,7 @@ { "name": "transactionId", "in": "path", - "description": "The transaction identifier returned in the response to the generateOrderScenarios operation.", + "description": "The transaction identifier returned in the response for the `generateOrderScenarios` operation.", "required": true, "type": "string" } @@ -370,7 +327,7 @@ }, "definitions": { "GenerateOrderScenarioRequest": { - "description": "The request body for the generateOrderScenarios operation.", + "description": "The `generateOrderScenarios` request body.", "type": "object", "properties": { "orders": { @@ -391,17 +348,17 @@ ], "properties": { "sellingParty": { - "description": "The identifier of the selling party or vendor.", + "description": "The identifier for the selling party or vendor.", "$ref": "#/definitions/PartyIdentification" }, "shipFromParty": { - "description": "The warehouse code of the vendor.", + "description": "The warehouse code for the vendor.", "$ref": "#/definitions/PartyIdentification" } } }, "PartyIdentification": { - "description": "The identification object for the party information. For example, warehouse code or vendor code. Please refer to specific party for more details.", + "description": "The identification object for the party information. For example, warehouse code or vendor code.", "type": "object", "required": [ "partyId" @@ -409,16 +366,17 @@ "properties": { "partyId": { "type": "string", - "description": "Assigned identification for the party. For example, warehouse code or vendor code. Please refer to specific party for more details." + "description": "Assigned identification for the party. For example, warehouse code or vendor code." } } }, "Pagination": { - "description": "A generated string used to pass information to your next request. If NextToken is returned, pass the value of NextToken to the next request. If NextToken is not returned, there are no more order items to return.", + "description": "A generated string used to pass information to your next request. If `NextToken` is returned, pass the value of `NextToken` to the next request. If `NextToken` is not returned, there are no more order items to return.", "type": "object", "properties": { "nextToken": { - "type": "string" + "type": "string", + "description": "A generated token that retrieves the next set of results. This token is specified in the next request." } } }, @@ -427,12 +385,13 @@ "type": "object", "properties": { "transactionId": { - "type": "string" + "type": "string", + "description": "A GUID (Globally Unique Identifier) assigned by Amazon to uniquely identify the transaction." } } }, "TransactionStatus": { - "description": "The payload for the getOrderScenarios operation.", + "description": "The payload for `getOrderScenarios`.", "type": "object", "properties": { "transactionStatus": { @@ -441,11 +400,11 @@ } }, "Transaction": { - "description": "The transaction details including the status. If the transaction was successful, also includes the requested test order data.", + "description": "The transaction details that include the status. If the transaction is successful, also includes the requested test order data.", "type": "object", "properties": { "transactionId": { - "description": "The unique identifier returned in the response to the generateOrderScenarios request.", + "description": "The unique identifier returned in the response for the `generateOrderScenarios` request.", "type": "string" }, "status": { @@ -472,7 +431,7 @@ ] }, "testCaseData": { - "description": "Test case data for the transaction. Only available when the transaction status is SUCCESS.", + "description": "Test case data for the transaction. Only available when the transaction status is `SUCCESS`.", "$ref": "#/definitions/TestCaseData" } }, @@ -534,6 +493,7 @@ "properties": { "errors": { "type": "array", + "description": "An array of individual error objects that contain error details.", "items": { "$ref": "#/definitions/Error" } @@ -552,7 +512,7 @@ "properties": { "code": { "type": "string", - "description": "An error code that identifies the type of error that occured." + "description": "An error code that identifies the type of error that occurred." }, "message": { "type": "string", diff --git a/models/vendor-direct-fulfillment-shipping-api-model/vendorDirectFulfillmentShippingV1.json b/models/vendor-direct-fulfillment-shipping-api-model/vendorDirectFulfillmentShippingV1.json index f2619ddee..d21fcea25 100644 --- a/models/vendor-direct-fulfillment-shipping-api-model/vendorDirectFulfillmentShippingV1.json +++ b/models/vendor-direct-fulfillment-shipping-api-model/vendorDirectFulfillmentShippingV1.json @@ -29,13 +29,13 @@ "tags": [ "vendorShippingLabels" ], - "description": "Returns a list of shipping labels created during the time frame that you specify. You define that time frame using the createdAfter and createdBefore parameters. You must use both of these parameters. The date range to search must not be more than 7 days.\n\n**Usage Plan:**\n\n| Rate (requests per second) | Burst |\n| ---- | ---- |\n| 10 | 10 |\n\nThe `x-amzn-RateLimit-Limit` response header returns the usage plan rate limits that were applied to the requested operation, when available. The table above indicates the default rate and burst values for this operation. Selling partners whose business demands require higher throughput may see higher rate and burst values than those shown here. For more information, see [Usage Plans and Rate Limits in the Selling Partner API](https://developer-docs.amazon.com/sp-api/docs/usage-plans-and-rate-limits-in-the-sp-api).", + "description": "Returns a list of shipping labels created during the time frame that you specify. You define that time frame using the `createdAfter` and `createdBefore` parameters. You must use both of these parameters. The date range to search must not be more than 7 days.\n\n**Usage Plan:**\n\n| Rate (requests per second) | Burst |\n| ---- | ---- |\n| 10 | 10 |\n\nThe `x-amzn-RateLimit-Limit` response header returns the usage plan rate limits that were applied to the requested operation, when available. The table above indicates the default rate and burst values for this operation. Selling partners whose business demands require higher throughput may see higher rate and burst values than those shown here. For more information, refer to [Usage Plans and Rate Limits in the Selling Partner API](https://developer-docs.amazon.com/sp-api/docs/usage-plans-and-rate-limits-in-the-sp-api).", "operationId": "getShippingLabels", "parameters": [ { "name": "shipFromPartyId", "in": "query", - "description": "The vendor warehouseId for order fulfillment. If not specified, the result will contain orders for all warehouses.", + "description": "The vendor `warehouseId` for order fulfillment. If not specified, the result will contain orders for all warehouses.", "required": false, "type": "string" }, @@ -51,7 +51,7 @@ { "name": "createdAfter", "in": "query", - "description": "Shipping labels that became available after this date and time will be included in the result. Must be in ISO-8601 date/time format.", + "description": "Shipping labels that became available after this date and time will be included in the result. Must be in ISO 8601 date/time format.", "required": true, "type": "string", "format": "date-time" @@ -59,7 +59,7 @@ { "name": "createdBefore", "in": "query", - "description": "Shipping labels that became available before this date and time will be included in the result. Must be in ISO-8601 date/time format.", + "description": "Shipping labels that became available before this date and time will be included in the result. Must be in ISO 8601 date/time format.", "required": true, "type": "string", "format": "date-time" @@ -179,94 +179,94 @@ { "purchaseOrderNumber": "2JK3S9VC", "sellingParty": { - "partyId": "999US" - }, - "shipFromParty": { - "partyId": "ABCD" - }, - "labelFormat": "PNG", - "labelData": [ - { - "packageIdentifier": "PKG001", - "trackingNumber": "1Z6A34Y60369738804", - "shipMethod": "UPS_GR_RES", - "shipMethodName": "UPS Ground Residential", - "content": "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AAFiCBAAABAgAgQAAASIIUAAABAghgABAAABYggQAAAEiNE4QAzDMAzDMAzDMASIYRiGYRiGYRgCxDAMwzAMwzAMQ4AYhmEYhmEYhiFADMMwDMMwDMMw/jdAAAAAio50JkAAAAABAgAACBAAAAABAgAACBAAAAABAgAACBAAAECAAAAACBAAAECAAAAACBAAAECAAAAAAoRXbAT/MX77myfXs3IfRu/nymVXrn/0PjxZ3qjlyngcV5Yx+7JRj2nGfcjYxla2n8rHonKbjFqf2a+B3V43Ml6rK99rop7jGa+Hu173std/9uv86H1buQ8IEASIABEgAkSACBABIkAEiAARIAgQASJABIgAESACRIAIEAGCAEGACBABIkAEiAARIAJEgAgQAYIAESACRIAIEAEiQASIABEgCBAEiAARIAJEgAgQASJABAgCBAEiQASIABEgAkSACBABIkAECAJEgAgQASJABIgAESACRIAgQBAgAkSACBABIkAEiAARIAJEgCBABIgAESACRIAIEAEiQAQIAgQBIkAEiAARIAJEgAgQAYIAQYAIEAEiQASIABEgAkSACBABggARIAJEgAgQASJABIgAESAIEASIABEgAkSACBABIkAEiAARIAgQASJABIgAESACRIAIEAGCAEGACBABIkAEiAARIAJEgCBAECACRIAIEAEiQASIABEgAsTcU4DYCASIABEgAkSACBABIkAECAIEASJABIgAESACRIAIEAEiQAQIAkSACBABIkAEiAARIAJEgCBAECACRIAIEAEiQASIABEgCBAEiAARIAJEgAgQASJABIgAQYAgQASIABEgAkSACBABIkAQIAgQASJABIgAESACRIAIEAEiQBAgAkSACBABIkAEiAARIAIEAYIAESACRIAIEAEiQASIABEgAgQBIkAEiAARIAJEgAgQASJAECAIEAEiQASIABEgAkSACBAECAJEgAgQASJABIgAESACRIAIEASIABEgAkSACBABIkAEiABBgCBABIgAESACRIAIEAEiQASIAEGACBABIkAEiAARIAJEgAgQBAgCRIAIEAEiQASIABEgAgQBggARIAJEgAgQASJABIgAESACBAEiQASIABEgAkSACBABIkAQIAgQASJABIgAESACRIAIEAEiQBAgAkSACBABIkAEiAARIAIEAYIAESACRIAIEAEiQASIAEGAIEAEiAARIAJEgAgQASJABIgAQYAIEAEiQASIABEgAkSACBAECAJEgAgQASJABIgAESACRIAIEASIABEgAkSACBABIkAEiABBgCBABIgAESACRIAIEAEiQBAgCBABIkAEiAARIAJEgAgQAWLu6YGyEQgQASJABIgAESACRIAIEAQIAkSACBABIkAEiAARIAJEgAgQBIgAESACRIAIEAEiQASIAEGAIEAEiAARIAJEgAgQASJAECAIEAEiQGLfmKJGxwCJmCQLEAEiQASIAEGAIEAEiAARIOEB8uftVU4wKh+fXQGyazs85b5FvdfsWp7M18PO21rE66MAQYAgQATINQHS6Y1WgAgQAbI2ORUgAkSAIEAQIAKkdYCcMgnM3oajJlQCRIB0CxEBIkAECAIEASJAWgTIaZPAjgHy7ZsTASJAOk9WBYgAESACBAEiQARIWYCcOAkUIAJk17cIp09a3xQgt0SIAEGAIEAEyFUBEvmGGHX9JwdI1k7E3SaZpwZI1YRtdRvInLjueoyinrMZl41+3YvefgQIAgQBIkCuCZCqiYQAESCd13/HAIlcXxHvNTcGyOprkwARIAIEASJABEjhRFSACBAB0mcbqDhPjQARIAJEgCBABIgAESACRIC8LECibluACBABggBBgAgQASJABIgAKYsQASJABAgCBAEiQASIABEgAkSACBABggBBgAgQASJA7g6QlXUhQPYFSMXzWoAIEAEiQBAgAkSACBABIkAEiAARIAIEAYIAESACRIAIEAEiQASIABEgAgQBIkAEiAARIMtHRRIgAkSACBABIkAQIAJEgAgQAfLaAMma/AsQASJABIgAQYAIEAEiQASIABEgAuRVAVL5+iBAECAIEAEiQBoHSOQ67BogqxEiQASIABEgAkSAIEAEiAA5LkAyJt4C5J4AyZz8CxABIkAEiABBgAgQASJABIgAESACRIAIEAQIAkSACJB3BUj0OrwtQEYmpwJEgAgQAYIAQYAIEAEiQATIEQGSPfkXIAKkKkC6vD4IEAQIAkSACJCGAZKxDgWIABEgAkSAIEAQIAJEgAgQAfJv/qGJBYgAESACBAGCABEgAiR8MiFA5n7WJUAEiAC5P0A6fUAhQBAgCBABcmSARLwxCRABIkAEiAARIAgQBIgAESAh+wIIEAEiQASIABEgCBAEiAARIKVBIkDGY02ACBABIkAECAIEASJArgyQ7EmnABEgAkSACBABggBBgAgQAVIWICuHaRUgewMka5kFyP4AmX2vESBrAdLtKHkCBAGCABEg2wKkKkI6BUj1pHdl2QWIABEgvQJk9wE9BAgCBAEiQK4IkC5vwgKkV4BEL7cAiQuQyAMgCBABIkDMPQWIjUCACJAtAdLhjbgiQHZMegWIAIkMkKplFyACRIAIEASIABEgZW9MAkSACJCeAVK57AJEgAgQAYIAESACpPSNSYAIkOhlFyBrz+XI7UuACBABggBBgAiQdgGy4805O0B2TXoFiACJeh2I2rYESMy2mPm+KUAQIAgQASJANkaIABEgNwXIbz9xy17nAsR5QAQIAgQBIkAEiAA5IkAyJp9vD5Dd25MAESACBAGCABEgAmTx9+rf1s/pE0YBIkCqtyUBIkAEiABBgAgQAdLqjSl7EiZA7g2Q6nh5S4Bkv9cIEAEiQAQIAkSACJDtAZI5GRMgvQIkYh0KkB7xIUD2Bci32xMgCBAEiAARIIOXzZpUrU5musdH5O/2Bci9AZL1Oi9ABIgAMfcUIDYCASJAjg2Q6ImZALkvQHbsP3LbmdAFiAARIAgQBIgAESCNA6Ryp+mI+9A5QCIm3gJEgAgQAYIAQYAIEAHSNkC+TXwEiAARIALktACJfK8XIAgQBIgAESAJkxYBck+A7DqErwARIAJEgCBAECACRIAIkKTnjgARIAJEgAgQBAgCRIC0DZDsT92jJmsCRIAIEAGSFQgCRICYewoQG4EAESACRIAIEAEiQASIAEGAIEAEyM0BkjXpjZiwvTFARg+DK0AEiAC5O0BGzwsjQBAgCBABIkAEiAARIAJEgAgQBAgCRIAIkLcGSFZQRE/UBYgAESACRIAgQBAgAkSAFAZI1mMhQASIABEgAkSAIEAQIAJEgAgQASJABIgAESAIEASIABEgZwXI6nV2CpDu26QAESACRIAIEAGCABEgAqRlgFROFAVI7TYpQASIABEgAkSAIEAEiABJe+M+PUCyg0KACBABIkAEiAARIAgQASJANgdI5b4Pu4MiI0Ay94WJ2iYFiAARILEBUrGPmABBgCBABMiVAVJ9/gsBIkAEiAARIAIEAYIAESACpEWARD5e1QGSeUJGASJABIgAESDmngLERiBABMi2AKlaD523GQGSf5SzrG3ylAD5baIpQASIAEGAIEAEyGsDJPLNLztAon/O1DVAor41eroubw2QlZ+0ZWzvpwRI5ra6M0Aynm+r67/qPEECBAGCABEgxwXIrslJ53NPnLa+d03kuq+jDtvfrQFySpCfuJwCBAGCABEgAkSACJBD19GbA+RNE3MBIkAQIAgQASJABIgAMYEVIAJEgCBAECACRIAIEAEiQASIABEgAkSAIEAEiAA5KECythkBclaAnDIpFCACRIAIEAGCABEgAiQpQLLfqCu3mextOGObzHocd2+TGQGS8RrY7XUj47W68r2m8ihY2e+J2Y9jh9cHAYIAQYAIkBYBkvlGLEAEiAARIAJEgCBAECACRIAIEAEiQASIABEgAsTc0wNlIxAgAkSACBABIkAEiAARIAgQBIgAESACRIAIEAEiQASIABEgCBABIkAEiAARIAJEgAgQAYIAQYAIEAEiQASIABEgAkSAIEAQIAJEgAgQASJABIgAESACBAGCABEgAkSACBABIkAEiABBgCBABIgAESACRIAIEAEiQASIAEGACBABIkAEiAARIAJEgAgQBAgCRIAIEAEiQASIABEgAkSACBAEiAARIAJEgAgQASJABIgAQYAgQASIABEgAkSACBABIkAQIAgQASJABIgAESACRIAIEAEiQBAgAkSACBABIkAEiAARIAIEAYIAESACRIAIEAEiQASIABEgAgQBIkAEiAARIAJEgAgQASJAECAIEAEiQASIABEgAkSACBAECAJEgAgQASJABIgAESACRIAIEASIABEgAkSACBABIkAEiABBgCBABIgAESACRIAIEAEiQASIAEGACBABIkAEiAARIAJEgAgQBAgCRIAIEAEiQASIABEgAgQBggARIAJEgAgQASJABIgAESACBAEiQASIABEgAkSACBABIkAQIAgQASJABIgAESACRIAIEAEiQBAgAkSACBABIkAEiAARIAIEAYIAESACRIAIEAEiQASIAEGAIEAEiAARIAJEgAgQASJABIgAQYAIEAEiQASIABEgAkSACBAECAJEgAgQASJABIgAESACRIAIEASIABEgAkSACBABIkAEiABBgCBABIgAESACRIAIEAEiQBAgCBABIkAEiAARIAJEgAgQAWLuKUAQIAJEgAgQASJABIgAESAIEASIABEgAkSACBABIkAEiAARIAgQASJABIgAESACRIAIEAGCAEGACBABIkAEiAARIAJEgJjXChAEiAARIAJEgAgQASJABIgAQYAgQASIABEgAkSACBABIkAQIAgQASJABIgAESACRIAIEAEiQBAgAkSACBABIkAEiAARIAIEAYIAESACRIAIEAEiQASIABEgAgQBIkAEiAARIAJEgAgQASJAECAIEAEiQASIABEgAkSACBAECAJEgAgQASJABIgAESACRIAIEASIABEgAkSACBABIkAEiABBgCBABIgAESACRIAIEAEiQASIAEGACBABIkAEiAARIAJEgAgQBAgCRIAIEAEiQASIABEgAgQBggARIAJEgAgQASJABIgAESACBAEiQASIABEgAkSACBABIkAQIAgQASJABIgAESACRIAIEAEiQBAgAkSACBABIkAEiAARIAIEAYIAESACRIAIEAEiQASIAEGAIEAEiAARIAJEgAgQASJABIgAQYAIEAEiQASIABEgAkSACBAECAJEgAgQASJABIgAESACRIAIEASIABEgAkSACBABIkAEiABBgCBABIgAESACRIAIEAEiQBAgCBABIkAEiAARIAJEgAgQAWLuKUBsBAJEgAgQASJABIgAESACBAGCABEgAkSACBABIkAEiAARIAIEASJABIgAESACRIAIEAEiQBAgCBABIkAEiAARIAJEgAgQBAgCRIAIEAEiQASIABEgAkSAIEAQIAJEgAgQASJABIgAESAIEASIABEgAkSACBABIkAEiAARIAgQASJABIgAESACRIAIEAGCAEGACBABIkAEiAARIAJEgAgQAYIAESACRIAIEAEiQASIABEgCBAEiAARIAJEgAgQASJABAgCBAEiQASIABEgAkSACBABIkAECAJEgAgQASJABIgAESACRIAgQBAgAkSACBABIkAEiAARIAJEgCBABIgAESACRIAIEAEiQAQIAgQBIkAEiAARIAJEgAgQAYIAQYAIEAEiQASIABEgAkSACBABggARIAJEgAgQASJABIgAESAIEASIABEgAkSACBABIkAEiAARIAgQASJABIgAESACRIAIEAGCAEGACBABIkAEiAARIAJEgCBAECACRIAIEAEiQASIABEgAkSAIEAEiAARIAJEgAgQASJABAgCBAEiQASIABEgAkSACBABIkAECAJEgAgQASJABIgAESACRIAgQBAgAkSACBABIkAE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" - } - ] - }, - { - "purchaseOrderNumber": "2JK3S9VD", - "sellingParty": { - "partyId": "999US" - }, - "shipFromParty": { - "partyId": "ABCD" + "partyId": "999US" + }, + "shipFromParty": { + "partyId": "ABCD" + }, + "labelFormat": "PNG", + "labelData": [ + { + "packageIdentifier": "PKG001", + "trackingNumber": "1Z6A34Y60369738804", + "shipMethod": "UPS_GR_RES", + "shipMethodName": "UPS Ground Residential", + "content": "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AAFiCBAAABAgAgQAAASIIUAAABAghgABAAABYggQAAAEiNE4QAzDMAzDMAzDMASIYRiGYRiGYRgCxDAMwzAMwzAMQ4AYhmEYhmEYhiFADMMwDMMwDMMw/jdAAAAAio50JkAAAAABAgAACBAAAAABAgAACBAAAAABAgAACBAAAECAAAAACBAAAECAAAAACBAAAECAAAAAAoRXbAT/MX77myfXs3IfRu/nymVXrn/0PjxZ3qjlyngcV5Yx+7JRj2nGfcjYxla2n8rHonKbjFqf2a+B3V43Ml6rK99rop7jGa+Hu173std/9uv86H1buQ8IEASIABEgAkSACBABIkAEiAARIAgQASJABIgAESACRIAIEAGCAEGACBABIkAEiAARIAJEgAgQAYIAESACRIAIEAEiQASIABEgCBAEiAARIAJEgAgQASJABAgCBAEiQASIABEgAkSACBABIkAECAJEgAgQASJABIgAESACRIAgQBAgAkSACBABIkAEiAARIAJEgCBABIgAESACRIAIEAEiQAQIAgQBIkAEiAARIAJEgAgQAYIAQYAIEAEiQASIABEgAkSACBABggARIAJEgAgQASJABIgAESAIEASIABEgAkSACBABIkAEiAARIAgQASJABIgAESACRIAIEAGCAEGACBABIkAEiAARIAJEgCBAECACRIAIEAEiQASIABEgAsTcU4DYCASIABEgAkSACBABIkAECAIEASJABIgAESACRIAIEAEiQAQIAkSACBABIkAEiAARIAJEgCBAECACRIAIEAEiQASIABEgCBAEiAARIAJEgAgQASJABIgAQYAgQASIABEgAkSACBABIkAQIAgQASJABIgAESACRIAIEAEiQBAgAkSACBABIkAEiAARIAIEAYIAESACRIAIEAEiQASIABEgAgQBIkAEiAARIAJEgAgQASJAECAIEAEiQASIABEgAkSACBAECAJEgAgQASJABIgAESACRIAIEASIABEgAkSACBABIkAEiABBgCBABIgAESACRIAIEAEiQASIAEGACBABIkAEiAARIAJEgAgQBAgCRIAIEAEiQASIABEgAgQBggARIAJEgAgQASJABIgAESACBAEiQASIABEgAkSACBABIkAQIAgQASJABIgAESACRIAIEAEiQBAgAkSACBABIkAEiAARIAIEAYIAESACRIAIEAEiQASIAEGAIEAEiAARIAJEgAgQASJABIgAQYAIEAEiQASIABEgAkSACBAECAJEgAgQASJABIgAESACRIAIEASIABEgAkSACBABIkAEiABBgCBABIgAESACRIAIEAEiQBAgCBABIkAEiAARIAJEgAgQAWLu6YGyEQgQASJABIgAESACRIAIEAQIAkSACBABIkAEiAARIAJEgAgQBIgAESACRIAIEAEiQASIAEGAIEAEiAARIAJEgAgQASJAECAIEAEiQGLfmKJGxwCJmCQLEAEiQASIAEGAIEAEiAARIOEB8uftVU4wKh+fXQGyazs85b5FvdfsWp7M18PO21rE66MAQYAgQATINQHS6Y1WgAgQAbI2ORUgAkSAIEAQIAKkdYCcMgnM3oajJlQCRIB0CxEBIkAECAIEASJAWgTIaZPAjgHy7ZsTASJAOk9WBYgAESACBAEiQARIWYCcOAkUIAJk17cIp09a3xQgt0SIAEGAIEAEyFUBEvmGGHX9JwdI1k7E3SaZpwZI1YRtdRvInLjueoyinrMZl41+3YvefgQIAgQBIkCuCZCqiYQAESCd13/HAIlcXxHvNTcGyOprkwARIAIEASJABEjhRFSACBAB0mcbqDhPjQARIAJEgCBABIgAESACRIC8LECibluACBABggBBgAgQASJABIgAKYsQASJABAgCBAEiQASIABEgAkSACBABggBBgAgQASJA7g6QlXUhQPYFSMXzWoAIEAEiQBAgAkSACBABIkAEiAARIAIEAYIAESACRIAIEAEiQASIABEgAgQBIkAEiAARIMtHRRIgAkSACBABIkAQIAJEgAgQAfLaAMma/AsQASJABIgAQYAIEAEiQASIABEgAuRVAVL5+iBAECAIEAEiQBoHSOQ67BogqxEiQASIABEgAkSAIEAEiAA5LkAyJt4C5J4AyZz8CxABIkAEiABBgAgQASJABIgAESACRIAIEAQIAkSACJB3BUj0OrwtQEYmpwJEgAgQAYIAQYAIEAEiQATIEQGSPfkXIAKkKkC6vD4IEAQIAkSACJCGAZKxDgWIABEgAkSAIEAQIAJEgAgQAfJv/qGJBYgAESACBAGCABEgAiR8MiFA5n7WJUAEiAC5P0A6fUAhQBAgCBABcmSARLwxCRABIkAEiAARIAgQBIgAESAh+wIIEAEiQASIABEgCBAEiAARIKVBIkDGY02ACBABIkAECAIEASJArgyQ7EmnABEgAkSACBABggBBgAgQAVIWICuHaRUgewMka5kFyP4AmX2vESBrAdLtKHkCBAGCABEg2wKkKkI6BUj1pHdl2QWIABEgvQJk9wE9BAgCBAEiQK4IkC5vwgKkV4BEL7cAiQuQyAMgCBABIkDMPQWIjUCACJAtAdLhjbgiQHZMegWIAIkMkKplFyACRIAIEASIABEgZW9MAkSACJCeAVK57AJEgAgQAYIAESACpPSNSYAIkOhlFyBrz+XI7UuACBABggBBgAiQdgGy4805O0B2TXoFiACJeh2I2rYESMy2mPm+KUAQIAgQASJANkaIABEgNwXIbz9xy17nAsR5QAQIAgQBIkAEiAA5IkAyJp9vD5Dd25MAESACBAGCABEgAmTx9+rf1s/pE0YBIkCqtyUBIkAEiABBgAgQAdLqjSl7EiZA7g2Q6nh5S4Bkv9cIEAEiQAQIAkSACJDtAZI5GRMgvQIkYh0KkB7xIUD2Bci32xMgCBAEiAARIIOXzZpUrU5musdH5O/2Bci9AZL1Oi9ABIgAMfcUIDYCASJAjg2Q6ImZALkvQHbsP3LbmdAFiAARIAgQBIgAESCNA6Ryp+mI+9A5QCIm3gJEgAgQAYIAQYAIEAHSNkC+TXwEiAARIALktACJfK8XIAgQBIgAESAJkxYBck+A7DqErwARIAJEgCBAECACRIAIkKTnjgARIAJEgAgQBAgCRIC0DZDsT92jJmsCRIAIEAGSFQgCRICYewoQG4EAESACRIAIEAEiQASIAEGAIEAEyM0BkjXpjZiwvTFARg+DK0AEiAC5O0BGzwsjQBAgCBABIkAEiAARIAJEgAgQBAgCRIAIkLcGSFZQRE/UBYgAESACRIAgQBAgAkSAFAZI1mMhQASIABEgAkSAIEAQIAJEgAgQASJABIgAESAIEASIABEgZwXI6nV2CpDu26QAESACRIAIEAGCABEgAqRlgFROFAVI7TYpQASIABEgAkSAIEAEiABJe+M+PUCyg0KACBABIkAEiAARIAgQASJANgdI5b4Pu4MiI0Ay94WJ2iYFiAARILEBUrGPmABBgCBABMiVAVJ9/gsBIkAEiAARIAIEAYIAESACpEWARD5e1QGSeUJGASJABIgAESDmngLERiBABMi2AKlaD523GQGSf5SzrG3ylAD5baIpQASIAEGAIEAEyGsDJPLNLztAon/O1DVAor41eroubw2QlZ+0ZWzvpwRI5ra6M0Aynm+r67/qPEECBAGCABEgxwXIrslJ53NPnLa+d03kuq+jDtvfrQFySpCfuJwCBAGCABEgAkSACJBD19GbA+RNE3MBIkAQIAgQASJABIgAMYEVIAJEgCBAECACRIAIEAEiQASIABEgAkSAIEAEiAA5KECythkBclaAnDIpFCACRIAIEAGCABEgAiQpQLLfqCu3mextOGObzHocd2+TGQGS8RrY7XUj47W68r2m8ihY2e+J2Y9jh9cHAYIAQYAIkBYBkvlGLEAEiAARIAJEgCBAECACRIAIEAEiQASIABEgAsTc0wNlIxAgAkSACBABIkAEiAARIAgQBIgAESACRIAIEAEiQASIABEgCBABIkAEiAARIAJEgAgQAYIAQYAIEAEiQASIABEgAkSAIEAQIAJEgAgQASJABIgAESACBAGCABEgAkSACBABIkAEiABBgCBABIgAESACRIAIEAEiQASIAEGACBABIkAEiAARIAJEgAgQBAgCRIAIEAEiQASIABEgAkSACBAEiAARIAJEgAgQASJABIgAQYAgQASIABEgAkSACBABIkAQIAgQASJABIgAESACRIAIEAEiQBAgAkSACBABIkAEiAARIAIEAYIAESACRIAIEAEiQASIABEgAgQBIkAEiAARIAJEgAgQASJAECAIEAEiQASIABEgAkSACBAECAJEgAgQASJABIgAESACRIAIEASIABEgAkSACBABIkAEiABBgCBABIgAESACRIAIEAEiQASIAEGACBABIkAEiAARIAJEgAgQBAgCRIAIEAEiQASIABEgAgQBggARIAJEgAgQASJABIgAESACBAEiQASIABEgAkSACBABIkAQIAgQASJABIgAESACRIAIEAEiQBAgAkSACBABIkAEiAARIAIEAYIAESACRIAIEAEiQASIAEGAIEAEiAARIAJEgAgQASJABIgAQYAIEAEiQASIABEgAkSACBAECAJEgAgQASJABIgAESACRIAIEASIABEgAkSACBABIkAEiABBgCBABIgAESACRIAIEAEiQBAgCBABIkAEiAARIAJEgAgQAWLuKUAQIAJEgAgQASJABIgAESAIEASIABEgAkSACBABIkAEiAARIAgQASJABIgAESACRIAIEAGCAEGACBABIkAEiAARIAJEgJjXChAEiAARIAJEgAgQASJABIgAQYAgQASIABEgAkSACBABIkAQIAgQASJABIgAESACRIAIEAEiQBAgAkSACBABIkAEiAARIAIEAYIAESACRIAIEAEiQASIABEgAgQBIkAEiAARIAJEgAgQASJAECAIEAEiQASIABEgAkSACBAECAJEgAgQASJABIgAESACRIAIEASIABEgAkSACBABIkAEiABBgCBABIgAESACRIAIEAEiQASIAEGACBABIkAEiAARIAJEgAgQBAgCRIAIEAEiQASIABEgAgQBggARIAJEgAgQASJABIgAESACBAEiQASIABEgAkSACBABIkAQIAgQASJABIgAESACRIAIEAEiQBAgAkSACBABIkAEiAARIAIEAYIAESACRIAIEAEiQASIAEGAIEAEiAARIAJEgAgQASJABIgAQYAIEAEiQASIABEgAkSACBAECAJEgAgQASJABIgAESACRIAIEASIABEgAkSACBABIkAEiABBgCBABIgAESACRIAIEAEiQBAgCBABIkAEiAARIAJEgAgQAWLuKUBsBAJEgAgQASJABIgAESACBAGCABEgAkSACBABIkAEiAARIAIEASJABIgAESACRIAIEAEiQBAgCBABIkAEiAARIAJEgAgQBAgCRIAIEAEiQASIABEgAkSAIEAQIAJEgAgQASJABIgAESAIEASIABEgAkSACBABIkAEiAARIAgQASJABIgAESACRIAIEAGCAEGACBABIkAEiAARIAJEgAgQAYIAESACRIAIEAEiQASIABEgCBAEiAARIAJEgAgQASJABAgCBAEiQASIABEgAkSACBABIkAECAJEgAgQASJABIgAESACRIAgQBAgAkSACBABIkAEiAARIAJEgCBABIgAESACRIAIEAEiQAQIAgQBIkAEiAARIAJEgAgQAYIAQYAIEAEiQASIABEgAkSACBABggARIAJEgAgQASJABIgAESAIEASIABEgAkSACBABIkAEiAARIAgQASJABIgAESACRIAIEAGCAEGACBABIkAEiAARIAJEgCBAECACRIAIEAEiQASIABEgAkSAIEAEiAARIAJEgAgQASJABAgCBAEiQASIABEgAkSACBABIkAECAJEgAgQASJABIgAESACRIAgQBAgAkSACBABIkAE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" + } + ] }, - "labelFormat": "PNG", - "labelData": [ - { - "packageIdentifier": "PKG002", - "trackingNumber": "1Z6A34Y60369738805", - "shipMethod": "UPS_GR_RES", - "shipMethodName": "UPS Ground Residential", - "content": "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AAFiCBAAABAgAgQAAASIIUAAABAghgABAAABYggQAAAEiNE4QAzDMAzDMAzDMASIYRiGYRiGYRgCxDAMwzAMwzAMQ4AYhmEYhmEYhiFADMMwDMMwDMMw/jdAAAAAio50JkAAAAABAgAACBAAAAABAgAACBAAAAABAgAACBAAAECAAAAACBAAAECAAAAACBAAAECAAAAAAoRXbAT/MX77myfXs3IfRu/nymVXrn/0PjxZ3qjlyngcV5Yx+7JRj2nGfcjYxla2n8rHonKbjFqf2a+B3V43Ml6rK99rop7jGa+Hu173std/9uv86H1buQ8IEASIABEgAkSACBABIkAEiAARIAgQASJABIgAESACRIAIEAGCAEGACBABIkAEiAARIAJEgAgQAYIAESACRIAIEAEiQASIABEgCBAEiAARIAJEgAgQASJABAgCBAEiQASIABEgAkSACBABIkAECAJEgAgQASJABIgAESACRIAgQBAgAkSACBABIkAEiAARIAJEgCBABIgAESACRIAIEAEiQAQIAgQBIkAEiAARIAJEgAgQAYIAQYAIEAEiQASIABEgAkSACBABggARIAJEgAgQASJABIgAESAIEASIABEgAkSACBABIkAEiAARIAgQASJABIgAESACRIAIEAGCAEGACBABIkAEiAARIAJEgCBAECACRIAIEAEiQASIABEgAsTcU4DYCASIABEgAkSACBABIkAECAIEASJABIgAESACRIAIEAEiQAQIAkSACBABIkAEiAARIAJEgCBAECACRIAIEAEiQASIABEgCBAEiAARIAJEgAgQASJABIgAQYAgQASIABEgAkSACBABIkAQIAgQASJABIgAESACRIAIEAEiQBAgAkSACBABIkAEiAARIAIEAYIAESACRIAIEAEiQASIABEgAgQBIkAEiAARIAJEgAgQASJAECAIEAEiQASIABEgAkSACBAECAJEgAgQASJABIgAESACRIAIEASIABEgAkSACBABIkAEiABBgCBABIgAESACRIAIEAEiQASIAEGACBABIkAEiAARIAJEgAgQBAgCRIAIEAEiQASIABEgAgQBggARIAJEgAgQASJABIgAESACBAEiQASIABEgAkSACBABIkAQIAgQASJABIgAESACRIAIEAEiQBAgAkSACBABIkAEiAARIAIEAYIAESACRIAIEAEiQASIAEGAIEAEiAARIAJEgAgQASJABIgAQYAIEAEiQASIABEgAkSACBAECAJEgAgQASJABIgAESACRIAIEASIABEgAkSACBABIkAEiABBgCBABIgAESACRIAIEAEiQBAgCBABIkAEiAARIAJEgAgQAWLu6YGyEQgQASJABIgAESACRIAIEAQIAkSACBABIkAEiAARIAJEgAgQBIgAESACRIAIEAEiQASIAEGAIEAEiAARIAJEgAgQASJAECAIEAEiQGLfmKJGxwCJmCQLEAEiQASIAEGAIEAEiAARIOEB8uftVU4wKh+fXQGyazs85b5FvdfsWp7M18PO21rE66MAQYAgQATINQHS6Y1WgAgQAbI2ORUgAkSAIEAQIAKkdYCcMgnM3oajJlQCRIB0CxEBIkAECAIEASJAWgTIaZPAjgHy7ZsTASJAOk9WBYgAESACBAEiQARIWYCcOAkUIAJk17cIp09a3xQgt0SIAEGAIEAEyFUBEvmGGHX9JwdI1k7E3SaZpwZI1YRtdRvInLjueoyinrMZl41+3YvefgQIAgQBIkCuCZCqiYQAESCd13/HAIlcXxHvNTcGyOprkwARIAIEASJABEjhRFSACBAB0mcbqDhPjQARIAJEgCBABIgAESACRIC8LECibluACBABggBBgAgQASJABIgAKYsQASJABAgCBAEiQASIABEgAkSACBABggBBgAgQASJA7g6QlXUhQPYFSMXzWoAIEAEiQBAgAkSACBABIkAEiAARIAIEAYIAESACRIAIEAEiQASIABEgAgQBIkAEiAARIMtHRRIgAkSACBABIkAQIAJEgAgQAfLaAMma/AsQASJABIgAQYAIEAEiQASIABEgAuRVAVL5+iBAECAIEAEiQBoHSOQ67BogqxEiQASIABEgAkSAIEAEiAA5LkAyJt4C5J4AyZz8CxABIkAEiABBgAgQASJABIgAESACRIAIEAQIAkSACJB3BUj0OrwtQEYmpwJEgAgQAYIAQYAIEAEiQATIEQGSPfkXIAKkKkC6vD4IEAQIAkSACJCGAZKxDgWIABEgAkSAIEAQIAJEgAgQAfJv/qGJBYgAESACBAGCABEgAiR8MiFA5n7WJUAEiAC5P0A6fUAhQBAgCBABcmSARLwxCRABIkAEiAARIAgQBIgAESAh+wIIEAEiQASIABEgCBAEiAARIKVBIkDGY02ACBABIkAECAIEASJArgyQ7EmnABEgAkSACBABggBBgAgQAVIWICuHaRUgewMka5kFyP4AmX2vESBrAdLtKHkCBAGCABEg2wKkKkI6BUj1pHdl2QWIABEgvQJk9wE9BAgCBAEiQK4IkC5vwgKkV4BEL7cAiQuQyAMgCBABIkDMPQWIjUCACJAtAdLhjbgiQHZMegWIAIkMkKplFyACRIAIEASIABEgZW9MAkSACJCeAVK57AJEgAgQAYIAESACpPSNSYAIkOhlFyBrz+XI7UuACBABggBBgAiQdgGy4805O0B2TXoFiACJeh2I2rYESMy2mPm+KUAQIAgQASJANkaIABEgNwXIbz9xy17nAsR5QAQIAgQBIkAEiAA5IkAyJp9vD5Dd25MAESACBAGCABEgAmTx9+rf1s/pE0YBIkCqtyUBIkAEiABBgAgQAdLqjSl7EiZA7g2Q6nh5S4Bkv9cIEAEiQAQIAkSACJDtAZI5GRMgvQIkYh0KkB7xIUD2Bci32xMgCBAEiAARIIOXzZpUrU5musdH5O/2Bci9AZL1Oi9ABIgAMfcUIDYCASJAjg2Q6ImZALkvQHbsP3LbmdAFiAARIAgQBIgAESCNA6Ryp+mI+9A5QCIm3gJEgAgQAYIAQYAIEAHSNkC+TXwEiAARIALktACJfK8XIAgQBIgAESAJkxYBck+A7DqErwARIAJEgCBAECACRIAIkKTnjgARIAJEgAgQBAgCRIC0DZDsT92jJmsCRIAIEAGSFQgCRICYewoQG4EAESACRIAIEAEiQASIAEGAIEAEyM0BkjXpjZiwvTFARg+DK0AEiAC5O0BGzwsjQBAgCBABIkAEiAARIAJEgAgQBAgCRIAIkLcGSFZQRE/UBYgAESACRIAgQBAgAkSAFAZI1mMhQASIABEgAkSAIEAQIAJEgAgQASJABIgAESAIEASIABEgZwXI6nV2CpDu26QAESACRIAIEAGCABEgAqRlgFROFAVI7TYpQASIABEgAkSAIEAEiABJe+M+PUCyg0KACBABIkAEiAARIAgQASJANgdI5b4Pu4MiI0Ay94WJ2iYFiAARILEBUrGPmABBgCBABMiVAVJ9/gsBIkAEiAARIAIEAYIAESACpEWARD5e1QGSeUJGASJABIgAESDmngLERiBABMi2AKlaD523GQGSf5SzrG3ylAD5baIpQASIAEGAIEAEyGsDJPLNLztAon/O1DVAor41eroubw2QlZ+0ZWzvpwRI5ra6M0Aynm+r67/qPEECBAGCABEgxwXIrslJ53NPnLa+d03kuq+jDtvfrQFySpCfuJwCBAGCABEgAkSACJBD19GbA+RNE3MBIkAQIAgQASJABIgAMYEVIAJEgCBAECACRIAIEAEiQASIABEgAkSAIEAEiAA5KECythkBclaAnDIpFCACRIAIEAGCABEgAiQpQLLfqCu3mextOGObzHocd2+TGQGS8RrY7XUj47W68r2m8ihY2e+J2Y9jh9cHAYIAQYAIkBYBkvlGLEAEiAARIAJEgCBAECACRIAIEAEiQASIABEgAsTc0wNlIxAgAkSACBABIkAEiAARIAgQBIgAESACRIAIEAEiQASIABEgCBABIkAEiAARIAJEgAgQAYIAQYAIEAEiQASIABEgAkSAIEAQIAJEgAgQASJABIgAESACBAGCABEgAkSACBABIkAEiABBgCBABIgAESACRIAIEAEiQASIAEGACBABIkAEiAARIAJEgAgQBAgCRIAIEAEiQASIABEgAkSACBAEiAARIAJEgAgQASJABIgAQYAgQASIABEgAkSACBABIkAQIAgQASJABIgAESACRIAIEAEiQBAgAkSACBABIkAEiAARIAIEAYIAESACRIAIEAEiQASIABEgAgQBIkAEiAARIAJEgAgQASJAECAIEAEiQASIABEgAkSACBAECAJEgAgQASJABIgAESACRIAIEASIABEgAkSACBABIkAEiABBgCBABIgAESACRIAIEAEiQASIAEGACBABIkAEiAARIAJEgAgQBAgCRIAIEAEiQASIABEgAgQBggARIAJEgAgQASJABIgAESACBAEiQASIABEgAkSACBABIkAQIAgQASJABIgAESACRIAIEAEiQBAgAkSACBABIkAEiAARIAIEAYIAESACRIAIEAEiQASIAEGAIEAEiAARIAJEgAgQASJABIgAQYAIEAEiQASIABEgAkSACBAECAJEgAgQASJABIgAESACRIAIEASIABEgAkSACBABIkAEiABBgCBABIgAESACRIAIEAEiQBAgCBABIkAEiAARIAJEgAgQAWLuKUAQIAJEgAgQASJABIgAESAIEASIABEgAkSACBABIkAEiAARIAgQASJABIgAESACRIAIEAGCAEGACBABIkAEiAARIAJEgJjXChAEiAARIAJEgAgQASJABIgAQYAgQASIABEgAkSACBABIkAQIAgQASJABIgAESACRIAIEAEiQBAgAkSACBABIkAEiAARIAIEAYIAESACRIAIEAEiQASIABEgAgQBIkAEiAARIAJEgAgQASJAECAIEAEiQASIABEgAkSACBAECAJEgAgQASJABIgAESACRIAIEASIABEgAkSACBABIkAEiABBgCBABIgAESACRIAIEAEiQASIAEGACBABIkAEiAARIAJEgAgQBAgCRIAIEAEiQASIABEgAgQBggARIAJEgAgQASJABIgAESACBAEiQASIABEgAkSACBABIkAQIAgQASJABIgAESACRIAIEAEiQBAgAkSACBABIkAEiAARIAIEAYIAESACRIAIEAEiQASIAEGAIEAEiAARIAJEgAgQASJABIgAQYAIEAEiQASIABEgAkSACBAECAJEgAgQASJABIgAESACRIAIEASIABEgAkSACBABIkAEiABBgCBABIgAESACRIAIEAEiQBAgCBABIkAEiAARIAJEgAgQAWLuKUBsBAJEgAgQASJABIgAESACBAGCABEgAkSACBABIkAEiAARIAIEASJABIgAESACRIAIEAEiQBAgCBABIkAEiAARIAJEgAgQBAgCRIAIEAEiQASIABEgAkSAIEAQIAJEgAgQASJABIgAESAIEASIABEgAkSACBABIkAEiAARIAgQASJABIgAESACRIAIEAGCAEGACBABIkAEiAARIAJEgAgQAYIAESACRIAIEAEiQASIABEgCBAEiAARIAJEgAgQASJABAgCBAEiQASIABEgAkSACBABIkAECAJEgAgQASJABIgAESACRIAgQBAgAkSACBABIkAEiAARIAJEgCBABIgAESACRIAIEAEiQAQIAgQBIkAEiAARIAJEgAgQAYIAQYAIEAEiQASIABEgAkSACBABggARIAJEgAgQASJABIgAESAIEASIABEgAkSACBABIkAEiAARIAgQASJABIgAESACRIAIEAGCAEGACBABIkAEiAARIAJEgCBAECACRIAIEAEiQASIABEgAkSAIEAEiAARIAJEgAgQASJABAgCBAEiQASIABEgAkSACBABIkAECAJEgAgQASJABIgAESACRIAgQBAgAkSACBABIkAE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" - } - ] - } - ] + { + "purchaseOrderNumber": "2JK3S9VD", + "sellingParty": { + "partyId": "999US" + }, + "shipFromParty": { + "partyId": "ABCD" + }, + "labelFormat": "PNG", + "labelData": [ + { + "packageIdentifier": "PKG002", + "trackingNumber": "1Z6A34Y60369738805", + "shipMethod": "UPS_GR_RES", + "shipMethodName": "UPS Ground Residential", + "content": "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AAFiCBAAABAgAgQAAASIIUAAABAghgABAAABYggQAAAEiNE4QAzDMAzDMAzDMASIYRiGYRiGYRgCxDAMwzAMwzAMQ4AYhmEYhmEYhiFADMMwDMMwDMMw/jdAAAAAio50JkAAAAABAgAACBAAAAABAgAACBAAAAABAgAACBAAAECAAAAACBAAAECAAAAACBAAAECAAAAAAoRXbAT/MX77myfXs3IfRu/nymVXrn/0PjxZ3qjlyngcV5Yx+7JRj2nGfcjYxla2n8rHonKbjFqf2a+B3V43Ml6rK99rop7jGa+Hu173std/9uv86H1buQ8IEASIABEgAkSACBABIkAEiAARIAgQASJABIgAESACRIAIEAGCAEGACBABIkAEiAARIAJEgAgQAYIAESACRIAIEAEiQASIABEgCBAEiAARIAJEgAgQASJABAgCBAEiQASIABEgAkSACBABIkAECAJEgAgQASJABIgAESACRIAgQBAgAkSACBABIkAEiAARIAJEgCBABIgAESACRIAIEAEiQAQIAgQBIkAEiAARIAJEgAgQAYIAQYAIEAEiQASIABEgAkSACBABggARIAJEgAgQASJABIgAESAIEASIABEgAkSACBABIkAEiAARIAgQASJABIgAESACRIAIEAGCAEGACBABIkAEiAARIAJEgCBAECACRIAIEAEiQASIABEgAsTcU4DYCASIABEgAkSACBABIkAECAIEASJABIgAESACRIAIEAEiQAQIAkSACBABIkAEiAARIAJEgCBAECACRIAIEAEiQASIABEgCBAEiAARIAJEgAgQASJABIgAQYAgQASIABEgAkSACBABIkAQIAgQASJABIgAESACRIAIEAEiQBAgAkSACBABIkAEiAARIAIEAYIAESACRIAIEAEiQASIABEgAgQBIkAEiAARIAJEgAgQASJAECAIEAEiQASIABEgAkSACBAECAJEgAgQASJABIgAESACRIAIEASIABEgAkSACBABIkAEiABBgCBABIgAESACRIAIEAEiQASIAEGACBABIkAEiAARIAJEgAgQBAgCRIAIEAEiQASIABEgAgQBggARIAJEgAgQASJABIgAESACBAEiQASIABEgAkSACBABIkAQIAgQASJABIgAESACRIAIEAEiQBAgAkSACBABIkAEiAARIAIEAYIAESACRIAIEAEiQASIAEGAIEAEiAARIAJEgAgQASJABIgAQYAIEAEiQASIABEgAkSACBAECAJEgAgQASJABIgAESACRIAIEASIABEgAkSACBABIkAEiABBgCBABIgAESACRIAIEAEiQBAgCBABIkAEiAARIAJEgAgQAWLu6YGyEQgQASJABIgAESACRIAIEAQIAkSACBABIkAEiAARIAJEgAgQBIgAESACRIAIEAEiQASIAEGAIEAEiAARIAJEgAgQASJAECAIEAEiQGLfmKJGxwCJmCQLEAEiQASIAEGAIEAEiAARIOEB8uftVU4wKh+fXQGyazs85b5FvdfsWp7M18PO21rE66MAQYAgQATINQHS6Y1WgAgQAbI2ORUgAkSAIEAQIAKkdYCcMgnM3oajJlQCRIB0CxEBIkAECAIEASJAWgTIaZPAjgHy7ZsTASJAOk9WBYgAESACBAEiQARIWYCcOAkUIAJk17cIp09a3xQgt0SIAEGAIEAEyFUBEvmGGHX9JwdI1k7E3SaZpwZI1YRtdRvInLjueoyinrMZl41+3YvefgQIAgQBIkCuCZCqiYQAESCd13/HAIlcXxHvNTcGyOprkwARIAIEASJABEjhRFSACBAB0mcbqDhPjQARIAJEgCBABIgAESACRIC8LECibluACBABggBBgAgQASJABIgAKYsQASJABAgCBAEiQASIABEgAkSACBABggBBgAgQASJA7g6QlXUhQPYFSMXzWoAIEAEiQBAgAkSACBABIkAEiAARIAIEAYIAESACRIAIEAEiQASIABEgAgQBIkAEiAARIMtHRRIgAkSACBABIkAQIAJEgAgQAfLaAMma/AsQASJABIgAQYAIEAEiQASIABEgAuRVAVL5+iBAECAIEAEiQBoHSOQ67BogqxEiQASIABEgAkSAIEAEiAA5LkAyJt4C5J4AyZz8CxABIkAEiABBgAgQASJABIgAESACRIAIEAQIAkSACJB3BUj0OrwtQEYmpwJEgAgQAYIAQYAIEAEiQATIEQGSPfkXIAKkKkC6vD4IEAQIAkSACJCGAZKxDgWIABEgAkSAIEAQIAJEgAgQAfJv/qGJBYgAESACBAGCABEgAiR8MiFA5n7WJUAEiAC5P0A6fUAhQBAgCBABcmSARLwxCRABIkAEiAARIAgQBIgAESAh+wIIEAEiQASIABEgCBAEiAARIKVBIkDGY02ACBABIkAECAIEASJArgyQ7EmnABEgAkSACBABggBBgAgQAVIWICuHaRUgewMka5kFyP4AmX2vESBrAdLtKHkCBAGCABEg2wKkKkI6BUj1pHdl2QWIABEgvQJk9wE9BAgCBAEiQK4IkC5vwgKkV4BEL7cAiQuQyAMgCBABIkDMPQWIjUCACJAtAdLhjbgiQHZMegWIAIkMkKplFyACRIAIEASIABEgZW9MAkSACJCeAVK57AJEgAgQAYIAESACpPSNSYAIkOhlFyBrz+XI7UuACBABggBBgAiQdgGy4805O0B2TXoFiACJeh2I2rYESMy2mPm+KUAQIAgQASJANkaIABEgNwXIbz9xy17nAsR5QAQIAgQBIkAEiAA5IkAyJp9vD5Dd25MAESACBAGCABEgAmTx9+rf1s/pE0YBIkCqtyUBIkAEiABBgAgQAdLqjSl7EiZA7g2Q6nh5S4Bkv9cIEAEiQAQIAkSACJDtAZI5GRMgvQIkYh0KkB7xIUD2Bci32xMgCBAEiAARIIOXzZpUrU5musdH5O/2Bci9AZL1Oi9ABIgAMfcUIDYCASJAjg2Q6ImZALkvQHbsP3LbmdAFiAARIAgQBIgAESCNA6Ryp+mI+9A5QCIm3gJEgAgQAYIAQYAIEAHSNkC+TXwEiAARIALktACJfK8XIAgQBIgAESAJkxYBck+A7DqErwARIAJEgCBAECACRIAIkKTnjgARIAJEgAgQBAgCRIC0DZDsT92jJmsCRIAIEAGSFQgCRICYewoQG4EAESACRIAIEAEiQASIAEGAIEAEyM0BkjXpjZiwvTFARg+DK0AEiAC5O0BGzwsjQBAgCBABIkAEiAARIAJEgAgQBAgCRIAIkLcGSFZQRE/UBYgAESACRIAgQBAgAkSAFAZI1mMhQASIABEgAkSAIEAQIAJEgAgQASJABIgAESAIEASIABEgZwXI6nV2CpDu26QAESACRIAIEAGCABEgAqRlgFROFAVI7TYpQASIABEgAkSAIEAEiABJe+M+PUCyg0KACBABIkAEiAARIAgQASJANgdI5b4Pu4MiI0Ay94WJ2iYFiAARILEBUrGPmABBgCBABMiVAVJ9/gsBIkAEiAARIAIEAYIAESACpEWARD5e1QGSeUJGASJABIgAESDmngLERiBABMi2AKlaD523GQGSf5SzrG3ylAD5baIpQASIAEGAIEAEyGsDJPLNLztAon/O1DVAor41eroubw2QlZ+0ZWzvpwRI5ra6M0Aynm+r67/qPEECBAGCABEgxwXIrslJ53NPnLa+d03kuq+jDtvfrQFySpCfuJwCBAGCABEgAkSACJBD19GbA+RNE3MBIkAQIAgQASJABIgAMYEVIAJEgCBAECACRIAIEAEiQASIABEgAkSAIEAEiAA5KECythkBclaAnDIpFCACRIAIEAGCABEgAiQpQLLfqCu3mextOGObzHocd2+TGQGS8RrY7XUj47W68r2m8ihY2e+J2Y9jh9cHAYIAQYAIkBYBkvlGLEAEiAARIAJEgCBAECACRIAIEAEiQASIABEgAsTc0wNlIxAgAkSACBABIkAEiAARIAgQBIgAESACRIAIEAEiQASIABEgCBABIkAEiAARIAJEgAgQAYIAQYAIEAEiQASIABEgAkSAIEAQIAJEgAgQASJABIgAESACBAGCABEgAkSACBABIkAEiABBgCBABIgAESACRIAIEAEiQASIAEGACBABIkAEiAARIAJEgAgQBAgCRIAIEAEiQASIABEgAkSACBAEiAARIAJEgAgQASJABIgAQYAgQASIABEgAkSACBABIkAQIAgQASJABIgAESACRIAIEAEiQBAgAkSACBABIkAEiAARIAIEAYIAESACRIAIEAEiQASIABEgAgQBIkAEiAARIAJEgAgQASJAECAIEAEiQASIABEgAkSACBAECAJEgAgQASJABIgAESACRIAIEASIABEgAkSACBABIkAEiABBgCBABIgAESACRIAIEAEiQASIAEGACBABIkAEiAARIAJEgAgQBAgCRIAIEAEiQASIABEgAgQBggARIAJEgAgQASJABIgAESACBAEiQASIABEgAkSACBABIkAQIAgQASJABIgAESACRIAIEAEiQBAgAkSACBABIkAEiAARIAIEAYIAESACRIAIEAEiQASIAEGAIEAEiAARIAJEgAgQASJABIgAQYAIEAEiQASIABEgAkSACBAECAJEgAgQASJABIgAESACRIAIEASIABEgAkSACBABIkAEiABBgCBABIgAESACRIAIEAEiQBAgCBABIkAEiAARIAJEgAgQAWLuKUAQIAJEgAgQASJABIgAESAIEASIABEgAkSACBABIkAEiAARIAgQASJABIgAESACRIAIEAGCAEGACBABIkAEiAARIAJEgJjXChAEiAARIAJEgAgQASJABIgAQYAgQASIABEgAkSACBABIkAQIAgQASJABIgAESACRIAIEAEiQBAgAkSACBABIkAEiAARIAIEAYIAESACRIAIEAEiQASIABEgAgQBIkAEiAARIAJEgAgQASJAECAIEAEiQASIABEgAkSACBAECAJEgAgQASJABIgAESACRIAIEASIABEgAkSACBABIkAEiABBgCBABIgAESACRIAIEAEiQASIAEGACBABIkAEiAARIAJEgAgQBAgCRIAIEAEiQASIABEgAgQBggARIAJEgAgQASJABIgAESACBAEiQASIABEgAkSACBABIkAQIAgQASJABIgAESACRIAIEAEiQBAgAkSACBABIkAEiAARIAIEAYIAESACRIAIEAEiQASIAEGAIEAEiAARIAJEgAgQASJABIgAQYAIEAEiQASIABEgAkSACBAECAJEgAgQASJABIgAESACRIAIEASIABEgAkSACBABIkAEiABBgCBABIgAESACRIAIEAEiQBAgCBABIkAEiAARIAJEgAgQAWLuKUBsBAJEgAgQASJABIgAESACBAGCABEgAkSACBABIkAEiAARIAIEASJABIgAESACRIAIEAEiQBAgCBABIkAEiAARIAJEgAgQBAgCRIAIEAEiQASIABEgAkSAIEAQIAJEgAgQASJABIgAESAIEASIABEgAkSACBABIkAEiAARIAgQASJABIgAESACRIAIEAGCAEGACBABIkAEiAARIAJEgAgQAYIAESACRIAIEAEiQASIABEgCBAEiAARIAJEgAgQASJABAgCBAEiQASIABEgAkSACBABIkAECAJEgAgQASJABIgAESACRIAgQBAgAkSACBABIkAEiAARIAJEgCBABIgAESACRIAIEAEiQAQIAgQBIkAEiAARIAJEgAgQAYIAQYAIEAEiQASIABEgAkSACBABggARIAJEgAgQASJABIgAESAIEASIABEgAkSACBABIkAEiAARIAgQASJABIgAESACRIAIEAGCAEGACBABIkAEiAARIAJEgCBAECACRIAIEAEiQASIABEgAkSAIEAEiAARIAJEgAgQASJABAgCBAEiQASIABEgAkSACBABIkAECAJEgAgQASJABIgAESACRIAgQBAgAkSACBABIkAE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" + } + ] + } + ] + } } - } - }, - { - "request": { - "parameters": {} }, - "response": { - "payload": { - "shippingLabels": [ - { - "purchaseOrderNumber": "mockpurchaseOrderNumber1", - "sellingParty": { - "partyId": "999US" - }, - "shipFromParty": { - "partyId": "ABCD" - }, - "labelFormat": "PNG", - "labelData": [ - { - "packageIdentifier": "PKG001", - "trackingNumber": "1Z6A34Y60369738804", - "shipMethod": "UPS_GR_RES", - "shipMethodName": "UPS Ground Residential", - "content": "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AAFiCBAAABAgAgQAAASIIUAAABAghgABAAABYggQAAAEiNE4QAzDMAzDMAzDMASIYRiGYRiGYRgCxDAMwzAMwzAMQ4AYhmEYhmEYhiFADMMwDMMwDMMw/jdAAAAAio50JkAAAAABAgAACBAAAAABAgAACBAAAAABAgAACBAAAECAAAAACBAAAECAAAAACBAAAECAAAAAAoRXbAT/MX77myfXs3IfRu/nymVXrn/0PjxZ3qjlyngcV5Yx+7JRj2nGfcjYxla2n8rHonKbjFqf2a+B3V43Ml6rK99rop7jGa+Hu173std/9uv86H1buQ8IEASIABEgAkSACBABIkAEiAARIAgQASJABIgAESACRIAIEAGCAEGACBABIkAEiAARIAJEgAgQAYIAESACRIAIEAEiQASIABEgCBAEiAARIAJEgAgQASJABAgCBAEiQASIABEgAkSACBABIkAECAJEgAgQASJABIgAESACRIAgQBAgAkSACBABIkAEiAARIAJEgCBABIgAESACRIAIEAEiQAQIAgQBIkAEiAARIAJEgAgQAYIAQYAIEAEiQASIABEgAkSACBABggARIAJEgAgQASJABIgAESAIEASIABEgAkSACBABIkAEiAARIAgQASJABIgAESACRIAIEAGCAEGACBABIkAEiAARIAJEgCBAECACRIAIEAEiQASIABEgAsTcU4DYCASIABEgAkSACBABIkAECAIEASJABIgAESACRIAIEAEiQAQIAkSACBABIkAEiAARIAJEgCBAECACRIAIEAEiQASIABEgCBAEiAARIAJEgAgQASJABIgAQYAgQASIABEgAkSACBABIkAQIAgQASJABIgAESACRIAIEAEiQBAgAkSACBABIkAEiAARIAIEAYIAESACRIAIEAEiQASIABEgAgQBIkAEiAARIAJEgAgQASJAECAIEAEiQASIABEgAkSACBAECAJEgAgQASJABIgAESACRIAIEASIABEgAkSACBABIkAEiABBgCBABIgAESACRIAIEAEiQASIAEGACBABIkAEiAARIAJEgAgQBAgCRIAIEAEiQASIABEgAgQBggARIAJEgAgQASJABIgAESACBAEiQASIABEgAkSACBABIkAQIAgQASJABIgAESACRIAIEAEiQBAgAkSACBABIkAEiAARIAIEAYIAESACRIAIEAEiQASIAEGAIEAEiAARIAJEgAgQASJABIgAQYAIEAEiQASIABEgAkSACBAECAJEgAgQASJABIgAESACRIAIEASIABEgAkSACBABIkAEiABBgCBABIgAESACRIAIEAEiQBAgCBABIkAEiAARIAJEgAgQAWLu6YGyEQgQASJABIgAESACRIAIEAQIAkSACBABIkAEiAARIAJEgAgQBIgAESACRIAIEAEiQASIAEGAIEAEiAARIAJEgAgQASJAECAIEAEiQGLfmKJGxwCJmCQLEAEiQASIAEGAIEAEiAARIOEB8uftVU4wKh+fXQGyazs85b5FvdfsWp7M18PO21rE66MAQYAgQATINQHS6Y1WgAgQAbI2ORUgAkSAIEAQIAKkdYCcMgnM3oajJlQCRIB0CxEBIkAECAIEASJAWgTIaZPAjgHy7ZsTASJAOk9WBYgAESACBAEiQARIWYCcOAkUIAJk17cIp09a3xQgt0SIAEGAIEAEyFUBEvmGGHX9JwdI1k7E3SaZpwZI1YRtdRvInLjueoyinrMZl41+3YvefgQIAgQBIkCuCZCqiYQAESCd13/HAIlcXxHvNTcGyOprkwARIAIEASJABEjhRFSACBAB0mcbqDhPjQARIAJEgCBABIgAESACRIC8LECibluACBABggBBgAgQASJABIgAKYsQASJABAgCBAEiQASIABEgAkSACBABggBBgAgQASJA7g6QlXUhQPYFSMXzWoAIEAEiQBAgAkSACBABIkAEiAARIAIEAYIAESACRIAIEAEiQASIABEgAgQBIkAEiAARIMtHRRIgAkSACBABIkAQIAJEgAgQAfLaAMma/AsQASJABIgAQYAIEAEiQASIABEgAuRVAVL5+iBAECAIEAEiQBoHSOQ67BogqxEiQASIABEgAkSAIEAEiAA5LkAyJt4C5J4AyZz8CxABIkAEiABBgAgQASJABIgAESACRIAIEAQIAkSACJB3BUj0OrwtQEYmpwJEgAgQAYIAQYAIEAEiQATIEQGSPfkXIAKkKkC6vD4IEAQIAkSACJCGAZKxDgWIABEgAkSAIEAQIAJEgAgQAfJv/qGJBYgAESACBAGCABEgAiR8MiFA5n7WJUAEiAC5P0A6fUAhQBAgCBABcmSARLwxCRABIkAEiAARIAgQBIgAESAh+wIIEAEiQASIABEgCBAEiAARIKVBIkDGY02ACBABIkAECAIEASJArgyQ7EmnABEgAkSACBABggBBgAgQAVIWICuHaRUgewMka5kFyP4AmX2vESBrAdLtKHkCBAGCABEg2wKkKkI6BUj1pHdl2QWIABEgvQJk9wE9BAgCBAEiQK4IkC5vwgKkV4BEL7cAiQuQyAMgCBABIkDMPQWIjUCACJAtAdLhjbgiQHZMegWIAIkMkKplFyACRIAIEASIABEgZW9MAkSACJCeAVK57AJEgAgQAYIAESACpPSNSYAIkOhlFyBrz+XI7UuACBABggBBgAiQdgGy4805O0B2TXoFiACJeh2I2rYESMy2mPm+KUAQIAgQASJANkaIABEgNwXIbz9xy17nAsR5QAQIAgQBIkAEiAA5IkAyJp9vD5Dd25MAESACBAGCABEgAmTx9+rf1s/pE0YBIkCqtyUBIkAEiABBgAgQAdLqjSl7EiZA7g2Q6nh5S4Bkv9cIEAEiQAQIAkSACJDtAZI5GRMgvQIkYh0KkB7xIUD2Bci32xMgCBAEiAARIIOXzZpUrU5musdH5O/2Bci9AZL1Oi9ABIgAMfcUIDYCASJAjg2Q6ImZALkvQHbsP3LbmdAFiAARIAgQBIgAESCNA6Ryp+mI+9A5QCIm3gJEgAgQAYIAQYAIEAHSNkC+TXwEiAARIALktACJfK8XIAgQBIgAESAJkxYBck+A7DqErwARIAJEgCBAECACRIAIkKTnjgARIAJEgAgQBAgCRIC0DZDsT92jJmsCRIAIEAGSFQgCRICYewoQG4EAESACRIAIEAEiQASIAEGAIEAEyM0BkjXpjZiwvTFARg+DK0AEiAC5O0BGzwsjQBAgCBABIkAEiAARIAJEgAgQBAgCRIAIkLcGSFZQRE/UBYgAESACRIAgQBAgAkSAFAZI1mMhQASIABEgAkSAIEAQIAJEgAgQASJABIgAESAIEASIABEgZwXI6nV2CpDu26QAESACRIAIEAGCABEgAqRlgFROFAVI7TYpQASIABEgAkSAIEAEiABJe+M+PUCyg0KACBABIkAEiAARIAgQASJANgdI5b4Pu4MiI0Ay94WJ2iYFiAARILEBUrGPmABBgCBABMiVAVJ9/gsBIkAEiAARIAIEAYIAESACpEWARD5e1QGSeUJGASJABIgAESDmngLERiBABMi2AKlaD523GQGSf5SzrG3ylAD5baIpQASIAEGAIEAEyGsDJPLNLztAon/O1DVAor41eroubw2QlZ+0ZWzvpwRI5ra6M0Aynm+r67/qPEECBAGCABEgxwXIrslJ53NPnLa+d03kuq+jDtvfrQFySpCfuJwCBAGCABEgAkSACJBD19GbA+RNE3MBIkAQIAgQASJABIgAMYEVIAJEgCBAECACRIAIEAEiQASIABEgAkSAIEAEiAA5KECythkBclaAnDIpFCACRIAIEAGCABEgAiQpQLLfqCu3mextOGObzHocd2+TGQGS8RrY7XUj47W68r2m8ihY2e+J2Y9jh9cHAYIAQYAIkBYBkvlGLEAEiAARIAJEgCBAECACRIAIEAEiQASIABEgAsTc0wNlIxAgAkSACBABIkAEiAARIAgQBIgAESACRIAIEAEiQASIABEgCBABIkAEiAARIAJEgAgQAYIAQYAIEAEiQASIABEgAkSAIEAQIAJEgAgQASJABIgAESACBAGCABEgAkSACBABIkAEiABBgCBABIgAESACRIAIEAEiQASIAEGACBABIkAEiAARIAJEgAgQBAgCRIAIEAEiQASIABEgAkSACBAEiAARIAJEgAgQASJABIgAQYAgQASIABEgAkSACBABIkAQIAgQASJABIgAESACRIAIEAEiQBAgAkSACBABIkAEiAARIAIEAYIAESACRIAIEAEiQASIABEgAgQBIkAEiAARIAJEgAgQASJAECAIEAEiQASIABEgAkSACBAECAJEgAgQASJABIgAESACRIAIEASIABEgAkSACBABIkAEiABBgCBABIgAESACRIAIEAEiQASIAEGACBABIkAEiAARIAJEgAgQBAgCRIAIEAEiQASIABEgAgQBggARIAJEgAgQASJABIgAESACBAEiQASIABEgAkSACBABIkAQIAgQASJABIgAESACRIAIEAEiQBAgAkSACBABIkAEiAARIAIEAYIAESACRIAIEAEiQASIAEGAIEAEiAARIAJEgAgQASJABIgAQYAIEAEiQASIABEgAkSACBAECAJEgAgQASJABIgAESACRIAIEASIABEgAkSACBABIkAEiABBgCBABIgAESACRIAIEAEiQBAgCBABIkAEiAARIAJEgAgQAWLuKUAQIAJEgAgQASJABIgAESAIEASIABEgAkSACBABIkAEiAARIAgQASJABIgAESACRIAIEAGCAEGACBABIkAEiAARIAJEgJjXChAEiAARIAJEgAgQASJABIgAQYAgQASIABEgAkSACBABIkAQIAgQASJABIgAESACRIAIEAEiQBAgAkSACBABIkAEiAARIAIEAYIAESACRIAIEAEiQASIABEgAgQBIkAEiAARIAJEgAgQASJAECAIEAEiQASIABEgAkSACBAECAJEgAgQASJABIgAESACRIAIEASIABEgAkSACBABIkAEiABBgCBABIgAESACRIAIEAEiQASIAEGACBABIkAEiAARIAJEgAgQBAgCRIAIEAEiQASIABEgAgQBggARIAJEgAgQASJABIgAESACBAEiQASIABEgAkSACBABIkAQIAgQASJABIgAESACRIAIEAEiQBAgAkSACBABIkAEiAARIAIEAYIAESACRIAIEAEiQASIAEGAIEAEiAARIAJEgAgQASJABIgAQYAIEAEiQASIABEgAkSACBAECAJEgAgQASJABIgAESACRIAIEASIABEgAkSACBABIkAEiABBgCBABIgAESACRIAIEAEiQBAgCBABIkAEiAARIAJEgAgQAWLuKUBsBAJEgAgQASJABIgAESACBAGCABEgAkSACBABIkAEiAARIAIEASJABIgAESACRIAIEAEiQBAgCBABIkAEiAARIAJEgAgQBAgCRIAIEAEiQASIABEgAkSAIEAQIAJEgAgQASJABIgAESAIEASIABEgAkSACBABIkAEiAARIAgQASJABIgAESACRIAIEAGCAEGACBABIkAEiAARIAJEgAgQAYIAESACRIAIEAEiQASIABEgCBAEiAARIAJEgAgQASJABAgCBAEiQASIABEgAkSACBABIkAECAJEgAgQASJABIgAESACRIAgQBAgAkSACBABIkAEiAARIAJEgCBABIgAESACRIAIEAEiQAQIAgQBIkAEiAARIAJEgAgQAYIAQYAIEAEiQASIABEgAkSACBABggARIAJEgAgQASJABIgAESAIEASIABEgAkSACBABIkAEiAARIAgQASJABIgAESACRIAIEAGCAEGACBABIkAEiAARIAJEgCBAECACRIAIEAEiQASIABEgAkSAIEAEiAARIAJEgAgQASJABAgCBAEiQASIABEgAkSACBABIkAECAJEgAgQASJABIgAESACRIAgQBAgAkSACBABIkAE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" - } - ] - }, - { - "purchaseOrderNumber": "mockpurchaseOrderNumber2", - "sellingParty": { - "partyId": "999US" - }, - "shipFromParty": { - "partyId": "ABCD" + { + "request": { + "parameters": {} + }, + "response": { + "payload": { + "shippingLabels": [ + { + "purchaseOrderNumber": "mockpurchaseOrderNumber1", + "sellingParty": { + "partyId": "999US" + }, + "shipFromParty": { + "partyId": "ABCD" + }, + "labelFormat": "PNG", + "labelData": [ + { + "packageIdentifier": "PKG001", + "trackingNumber": "1Z6A34Y60369738804", + "shipMethod": "UPS_GR_RES", + "shipMethodName": "UPS Ground Residential", + "content": "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AAFiCBAAABAgAgQAAASIIUAAABAghgABAAABYggQAAAEiNE4QAzDMAzDMAzDMASIYRiGYRiGYRgCxDAMwzAMwzAMQ4AYhmEYhmEYhiFADMMwDMMwDMMw/jdAAAAAio50JkAAAAABAgAACBAAAAABAgAACBAAAAABAgAACBAAAECAAAAACBAAAECAAAAACBAAAECAAAAAAoRXbAT/MX77myfXs3IfRu/nymVXrn/0PjxZ3qjlyngcV5Yx+7JRj2nGfcjYxla2n8rHonKbjFqf2a+B3V43Ml6rK99rop7jGa+Hu173std/9uv86H1buQ8IEASIABEgAkSACBABIkAEiAARIAgQASJABIgAESACRIAIEAGCAEGACBABIkAEiAARIAJEgAgQAYIAESACRIAIEAEiQASIABEgCBAEiAARIAJEgAgQASJABAgCBAEiQASIABEgAkSACBABIkAECAJEgAgQASJABIgAESACRIAgQBAgAkSACBABIkAEiAARIAJEgCBABIgAESACRIAIEAEiQAQIAgQBIkAEiAARIAJEgAgQAYIAQYAIEAEiQASIABEgAkSACBABggARIAJEgAgQASJABIgAESAIEASIABEgAkSACBABIkAEiAARIAgQASJABIgAESACRIAIEAGCAEGACBABIkAEiAARIAJEgCBAECACRIAIEAEiQASIABEgAsTcU4DYCASIABEgAkSACBABIkAECAIEASJABIgAESACRIAIEAEiQAQIAkSACBABIkAEiAARIAJEgCBAECACRIAIEAEiQASIABEgCBAEiAARIAJEgAgQASJABIgAQYAgQASIABEgAkSACBABIkAQIAgQASJABIgAESACRIAIEAEiQBAgAkSACBABIkAEiAARIAIEAYIAESACRIAIEAEiQASIABEgAgQBIkAEiAARIAJEgAgQASJAECAIEAEiQASIABEgAkSACBAECAJEgAgQASJABIgAESACRIAIEASIABEgAkSACBABIkAEiABBgCBABIgAESACRIAIEAEiQASIAEGACBABIkAEiAARIAJEgAgQBAgCRIAIEAEiQASIABEgAgQBggARIAJEgAgQASJABIgAESACBAEiQASIABEgAkSACBABIkAQIAgQASJABIgAESACRIAIEAEiQBAgAkSACBABIkAEiAARIAIEAYIAESACRIAIEAEiQASIAEGAIEAEiAARIAJEgAgQASJABIgAQYAIEAEiQASIABEgAkSACBAECAJEgAgQASJABIgAESACRIAIEASIABEgAkSACBABIkAEiABBgCBABIgAESACRIAIEAEiQBAgCBABIkAEiAARIAJEgAgQAWLu6YGyEQgQASJABIgAESACRIAIEAQIAkSACBABIkAEiAARIAJEgAgQBIgAESACRIAIEAEiQASIAEGAIEAEiAARIAJEgAgQASJAECAIEAEiQGLfmKJGxwCJmCQLEAEiQASIAEGAIEAEiAARIOEB8uftVU4wKh+fXQGyazs85b5FvdfsWp7M18PO21rE66MAQYAgQATINQHS6Y1WgAgQAbI2ORUgAkSAIEAQIAKkdYCcMgnM3oajJlQCRIB0CxEBIkAECAIEASJAWgTIaZPAjgHy7ZsTASJAOk9WBYgAESACBAEiQARIWYCcOAkUIAJk17cIp09a3xQgt0SIAEGAIEAEyFUBEvmGGHX9JwdI1k7E3SaZpwZI1YRtdRvInLjueoyinrMZl41+3YvefgQIAgQBIkCuCZCqiYQAESCd13/HAIlcXxHvNTcGyOprkwARIAIEASJABEjhRFSACBAB0mcbqDhPjQARIAJEgCBABIgAESACRIC8LECibluACBABggBBgAgQASJABIgAKYsQASJABAgCBAEiQASIABEgAkSACBABggBBgAgQASJA7g6QlXUhQPYFSMXzWoAIEAEiQBAgAkSACBABIkAEiAARIAIEAYIAESACRIAIEAEiQASIABEgAgQBIkAEiAARIMtHRRIgAkSACBABIkAQIAJEgAgQAfLaAMma/AsQASJABIgAQYAIEAEiQASIABEgAuRVAVL5+iBAECAIEAEiQBoHSOQ67BogqxEiQASIABEgAkSAIEAEiAA5LkAyJt4C5J4AyZz8CxABIkAEiABBgAgQASJABIgAESACRIAIEAQIAkSACJB3BUj0OrwtQEYmpwJEgAgQAYIAQYAIEAEiQATIEQGSPfkXIAKkKkC6vD4IEAQIAkSACJCGAZKxDgWIABEgAkSAIEAQIAJEgAgQAfJv/qGJBYgAESACBAGCABEgAiR8MiFA5n7WJUAEiAC5P0A6fUAhQBAgCBABcmSARLwxCRABIkAEiAARIAgQBIgAESAh+wIIEAEiQASIABEgCBAEiAARIKVBIkDGY02ACBABIkAECAIEASJArgyQ7EmnABEgAkSACBABggBBgAgQAVIWICuHaRUgewMka5kFyP4AmX2vESBrAdLtKHkCBAGCABEg2wKkKkI6BUj1pHdl2QWIABEgvQJk9wE9BAgCBAEiQK4IkC5vwgKkV4BEL7cAiQuQyAMgCBABIkDMPQWIjUCACJAtAdLhjbgiQHZMegWIAIkMkKplFyACRIAIEASIABEgZW9MAkSACJCeAVK57AJEgAgQAYIAESACpPSNSYAIkOhlFyBrz+XI7UuACBABggBBgAiQdgGy4805O0B2TXoFiACJeh2I2rYESMy2mPm+KUAQIAgQASJANkaIABEgNwXIbz9xy17nAsR5QAQIAgQBIkAEiAA5IkAyJp9vD5Dd25MAESACBAGCABEgAmTx9+rf1s/pE0YBIkCqtyUBIkAEiABBgAgQAdLqjSl7EiZA7g2Q6nh5S4Bkv9cIEAEiQAQIAkSACJDtAZI5GRMgvQIkYh0KkB7xIUD2Bci32xMgCBAEiAARIIOXzZpUrU5musdH5O/2Bci9AZL1Oi9ABIgAMfcUIDYCASJAjg2Q6ImZALkvQHbsP3LbmdAFiAARIAgQBIgAESCNA6Ryp+mI+9A5QCIm3gJEgAgQAYIAQYAIEAHSNkC+TXwEiAARIALktACJfK8XIAgQBIgAESAJkxYBck+A7DqErwARIAJEgCBAECACRIAIkKTnjgARIAJEgAgQBAgCRIC0DZDsT92jJmsCRIAIEAGSFQgCRICYewoQG4EAESACRIAIEAEiQASIAEGAIEAEyM0BkjXpjZiwvTFARg+DK0AEiAC5O0BGzwsjQBAgCBABIkAEiAARIAJEgAgQBAgCRIAIkLcGSFZQRE/UBYgAESACRIAgQBAgAkSAFAZI1mMhQASIABEgAkSAIEAQIAJEgAgQASJABIgAESAIEASIABEgZwXI6nV2CpDu26QAESACRIAIEAGCABEgAqRlgFROFAVI7TYpQASIABEgAkSAIEAEiABJe+M+PUCyg0KACBABIkAEiAARIAgQASJANgdI5b4Pu4MiI0Ay94WJ2iYFiAARILEBUrGPmABBgCBABMiVAVJ9/gsBIkAEiAARIAIEAYIAESACpEWARD5e1QGSeUJGASJABIgAESDmngLERiBABMi2AKlaD523GQGSf5SzrG3ylAD5baIpQASIAEGAIEAEyGsDJPLNLztAon/O1DVAor41eroubw2QlZ+0ZWzvpwRI5ra6M0Aynm+r67/qPEECBAGCABEgxwXIrslJ53NPnLa+d03kuq+jDtvfrQFySpCfuJwCBAGCABEgAkSACJBD19GbA+RNE3MBIkAQIAgQASJABIgAMYEVIAJEgCBAECACRIAIEAEiQASIABEgAkSAIEAEiAA5KECythkBclaAnDIpFCACRIAIEAGCABEgAiQpQLLfqCu3mextOGObzHocd2+TGQGS8RrY7XUj47W68r2m8ihY2e+J2Y9jh9cHAYIAQYAIkBYBkvlGLEAEiAARIAJEgCBAECACRIAIEAEiQASIABEgAsTc0wNlIxAgAkSACBABIkAEiAARIAgQBIgAESACRIAIEAEiQASIABEgCBABIkAEiAARIAJEgAgQAYIAQYAIEAEiQASIABEgAkSAIEAQIAJEgAgQASJABIgAESACBAGCABEgAkSACBABIkAEiABBgCBABIgAESACRIAIEAEiQASIAEGACBABIkAEiAARIAJEgAgQBAgCRIAIEAEiQASIABEgAkSACBAEiAARIAJEgAgQASJABIgAQYAgQASIABEgAkSACBABIkAQIAgQASJABIgAESACRIAIEAEiQBAgAkSACBABIkAEiAARIAIEAYIAESACRIAIEAEiQASIABEgAgQBIkAEiAARIAJEgAgQASJAECAIEAEiQASIABEgAkSACBAECAJEgAgQASJABIgAESACRIAIEASIABEgAkSACBABIkAEiABBgCBABIgAESACRIAIEAEiQASIAEGACBABIkAEiAARIAJEgAgQBAgCRIAIEAEiQASIABEgAgQBggARIAJEgAgQASJABIgAESACBAEiQASIABEgAkSACBABIkAQIAgQASJABIgAESACRIAIEAEiQBAgAkSACBABIkAEiAARIAIEAYIAESACRIAIEAEiQASIAEGAIEAEiAARIAJEgAgQASJABIgAQYAIEAEiQASIABEgAkSACBAECAJEgAgQASJABIgAESACRIAIEASIABEgAkSACBABIkAEiABBgCBABIgAESACRIAIEAEiQBAgCBABIkAEiAARIAJEgAgQAWLuKUAQIAJEgAgQASJABIgAESAIEASIABEgAkSACBABIkAEiAARIAgQASJABIgAESACRIAIEAGCAEGACBABIkAEiAARIAJEgJjXChAEiAARIAJEgAgQASJABIgAQYAgQASIABEgAkSACBABIkAQIAgQASJABIgAESACRIAIEAEiQBAgAkSACBABIkAEiAARIAIEAYIAESACRIAIEAEiQASIABEgAgQBIkAEiAARIAJEgAgQASJAECAIEAEiQASIABEgAkSACBAECAJEgAgQASJABIgAESACRIAIEASIABEgAkSACBABIkAEiABBgCBABIgAESACRIAIEAEiQASIAEGACBABIkAEiAARIAJEgAgQBAgCRIAIEAEiQASIABEgAgQBggARIAJEgAgQASJABIgAESACBAEiQASIABEgAkSACBABIkAQIAgQASJABIgAESACRIAIEAEiQBAgAkSACBABIkAEiAARIAIEAYIAESACRIAIEAEiQASIAEGAIEAEiAARIAJEgAgQASJABIgAQYAIEAEiQASIABEgAkSACBAECAJEgAgQASJABIgAESACRIAIEASIABEgAkSACBABIkAEiABBgCBABIgAESACRIAIEAEiQBAgCBABIkAEiAARIAJEgAgQAWLuKUBsBAJEgAgQASJABIgAESACBAGCABEgAkSACBABIkAEiAARIAIEASJABIgAESACRIAIEAEiQBAgCBABIkAEiAARIAJEgAgQBAgCRIAIEAEiQASIABEgAkSAIEAQIAJEgAgQASJABIgAESAIEASIABEgAkSACBABIkAEiAARIAgQASJABIgAESACRIAIEAGCAEGACBABIkAEiAARIAJEgAgQAYIAESACRIAIEAEiQASIABEgCBAEiAARIAJEgAgQASJABAgCBAEiQASIABEgAkSACBABIkAECAJEgAgQASJABIgAESACRIAgQBAgAkSACBABIkAEiAARIAJEgCBABIgAESACRIAIEAEiQAQIAgQBIkAEiAARIAJEgAgQAYIAQYAIEAEiQASIABEgAkSACBABggARIAJEgAgQASJABIgAESAIEASIABEgAkSACBABIkAEiAARIAgQASJABIgAESACRIAIEAGCAEGACBABIkAEiAARIAJEgCBAECACRIAIEAEiQASIABEgAkSAIEAEiAARIAJEgAgQASJABAgCBAEiQASIABEgAkSACBABIkAECAJEgAgQASJABIgAESACRIAgQBAgAkSACBABIkAE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" + } + ] }, - "labelFormat": "PNG", - "labelData": [ - { - "packageIdentifier": "PKG002", - "trackingNumber": "1Z6A34Y60369738805", - "shipMethod": "UPS_GR_RES", - "shipMethodName": "UPS Ground Residential", - "content": "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AAFiCBAAABAgAgQAAASIIUAAABAghgABAAABYggQAAAEiNE4QAzDMAzDMAzDMASIYRiGYRiGYRgCxDAMwzAMwzAMQ4AYhmEYhmEYhiFADMMwDMMwDMMw/jdAAAAAio50JkAAAAABAgAACBAAAAABAgAACBAAAAABAgAACBAAAECAAAAACBAAAECAAAAACBAAAECAAAAAAoRXbAT/MX77myfXs3IfRu/nymVXrn/0PjxZ3qjlyngcV5Yx+7JRj2nGfcjYxla2n8rHonKbjFqf2a+B3V43Ml6rK99rop7jGa+Hu173std/9uv86H1buQ8IEASIABEgAkSACBABIkAEiAARIAgQASJABIgAESACRIAIEAGCAEGACBABIkAEiAARIAJEgAgQAYIAESACRIAIEAEiQASIABEgCBAEiAARIAJEgAgQASJABAgCBAEiQASIABEgAkSACBABIkAECAJEgAgQASJABIgAESACRIAgQBAgAkSACBABIkAEiAARIAJEgCBABIgAESACRIAIEAEiQAQIAgQBIkAEiAARIAJEgAgQAYIAQYAIEAEiQASIABEgAkSACBABggARIAJEgAgQASJABIgAESAIEASIABEgAkSACBABIkAEiAARIAgQASJABIgAESACRIAIEAGCAEGACBABIkAEiAARIAJEgCBAECACRIAIEAEiQASIABEgAsTcU4DYCASIABEgAkSACBABIkAECAIEASJABIgAESACRIAIEAEiQAQIAkSACBABIkAEiAARIAJEgCBAECACRIAIEAEiQASIABEgCBAEiAARIAJEgAgQASJABIgAQYAgQASIABEgAkSACBABIkAQIAgQASJABIgAESACRIAIEAEiQBAgAkSACBABIkAEiAARIAIEAYIAESACRIAIEAEiQASIABEgAgQBIkAEiAARIAJEgAgQASJAECAIEAEiQASIABEgAkSACBAECAJEgAgQASJABIgAESACRIAIEASIABEgAkSACBABIkAEiABBgCBABIgAESACRIAIEAEiQASIAEGACBABIkAEiAARIAJEgAgQBAgCRIAIEAEiQASIABEgAgQBggARIAJEgAgQASJABIgAESACBAEiQASIABEgAkSACBABIkAQIAgQASJABIgAESACRIAIEAEiQBAgAkSACBABIkAEiAARIAIEAYIAESACRIAIEAEiQASIAEGAIEAEiAARIAJEgAgQASJABIgAQYAIEAEiQASIABEgAkSACBAECAJEgAgQASJABIgAESACRIAIEASIABEgAkSACBABIkAEiABBgCBABIgAESACRIAIEAEiQBAgCBABIkAEiAARIAJEgAgQAWLu6YGyEQgQASJABIgAESACRIAIEAQIAkSACBABIkAEiAARIAJEgAgQBIgAESACRIAIEAEiQASIAEGAIEAEiAARIAJEgAgQASJAECAIEAEiQGLfmKJGxwCJmCQLEAEiQASIAEGAIEAEiAARIOEB8uftVU4wKh+fXQGyazs85b5FvdfsWp7M18PO21rE66MAQYAgQATINQHS6Y1WgAgQAbI2ORUgAkSAIEAQIAKkdYCcMgnM3oajJlQCRIB0CxEBIkAECAIEASJAWgTIaZPAjgHy7ZsTASJAOk9WBYgAESACBAEiQARIWYCcOAkUIAJk17cIp09a3xQgt0SIAEGAIEAEyFUBEvmGGHX9JwdI1k7E3SaZpwZI1YRtdRvInLjueoyinrMZl41+3YvefgQIAgQBIkCuCZCqiYQAESCd13/HAIlcXxHvNTcGyOprkwARIAIEASJABEjhRFSACBAB0mcbqDhPjQARIAJEgCBABIgAESACRIC8LECibluACBABggBBgAgQASJABIgAKYsQASJABAgCBAEiQASIABEgAkSACBABggBBgAgQASJA7g6QlXUhQPYFSMXzWoAIEAEiQBAgAkSACBABIkAEiAARIAIEAYIAESACRIAIEAEiQASIABEgAgQBIkAEiAARIMtHRRIgAkSACBABIkAQIAJEgAgQAfLaAMma/AsQASJABIgAQYAIEAEiQASIABEgAuRVAVL5+iBAECAIEAEiQBoHSOQ67BogqxEiQASIABEgAkSAIEAEiAA5LkAyJt4C5J4AyZz8CxABIkAEiABBgAgQASJABIgAESACRIAIEAQIAkSACJB3BUj0OrwtQEYmpwJEgAgQAYIAQYAIEAEiQATIEQGSPfkXIAKkKkC6vD4IEAQIAkSACJCGAZKxDgWIABEgAkSAIEAQIAJEgAgQAfJv/qGJBYgAESACBAGCABEgAiR8MiFA5n7WJUAEiAC5P0A6fUAhQBAgCBABcmSARLwxCRABIkAEiAARIAgQBIgAESAh+wIIEAEiQASIABEgCBAEiAARIKVBIkDGY02ACBABIkAECAIEASJArgyQ7EmnABEgAkSACBABggBBgAgQAVIWICuHaRUgewMka5kFyP4AmX2vESBrAdLtKHkCBAGCABEg2wKkKkI6BUj1pHdl2QWIABEgvQJk9wE9BAgCBAEiQK4IkC5vwgKkV4BEL7cAiQuQyAMgCBABIkDMPQWIjUCACJAtAdLhjbgiQHZMegWIAIkMkKplFyACRIAIEASIABEgZW9MAkSACJCeAVK57AJEgAgQAYIAESACpPSNSYAIkOhlFyBrz+XI7UuACBABggBBgAiQdgGy4805O0B2TXoFiACJeh2I2rYESMy2mPm+KUAQIAgQASJANkaIABEgNwXIbz9xy17nAsR5QAQIAgQBIkAEiAA5IkAyJp9vD5Dd25MAESACBAGCABEgAmTx9+rf1s/pE0YBIkCqtyUBIkAEiABBgAgQAdLqjSl7EiZA7g2Q6nh5S4Bkv9cIEAEiQAQIAkSACJDtAZI5GRMgvQIkYh0KkB7xIUD2Bci32xMgCBAEiAARIIOXzZpUrU5musdH5O/2Bci9AZL1Oi9ABIgAMfcUIDYCASJAjg2Q6ImZALkvQHbsP3LbmdAFiAARIAgQBIgAESCNA6Ryp+mI+9A5QCIm3gJEgAgQAYIAQYAIEAHSNkC+TXwEiAARIALktACJfK8XIAgQBIgAESAJkxYBck+A7DqErwARIAJEgCBAECACRIAIkKTnjgARIAJEgAgQBAgCRIC0DZDsT92jJmsCRIAIEAGSFQgCRICYewoQG4EAESACRIAIEAEiQASIAEGAIEAEyM0BkjXpjZiwvTFARg+DK0AEiAC5O0BGzwsjQBAgCBABIkAEiAARIAJEgAgQBAgCRIAIkLcGSFZQRE/UBYgAESACRIAgQBAgAkSAFAZI1mMhQASIABEgAkSAIEAQIAJEgAgQASJABIgAESAIEASIABEgZwXI6nV2CpDu26QAESACRIAIEAGCABEgAqRlgFROFAVI7TYpQASIABEgAkSAIEAEiABJe+M+PUCyg0KACBABIkAEiAARIAgQASJANgdI5b4Pu4MiI0Ay94WJ2iYFiAARILEBUrGPmABBgCBABMiVAVJ9/gsBIkAEiAARIAIEAYIAESACpEWARD5e1QGSeUJGASJABIgAESDmngLERiBABMi2AKlaD523GQGSf5SzrG3ylAD5baIpQASIAEGAIEAEyGsDJPLNLztAon/O1DVAor41eroubw2QlZ+0ZWzvpwRI5ra6M0Aynm+r67/qPEECBAGCABEgxwXIrslJ53NPnLa+d03kuq+jDtvfrQFySpCfuJwCBAGCABEgAkSACJBD19GbA+RNE3MBIkAQIAgQASJABIgAMYEVIAJEgCBAECACRIAIEAEiQASIABEgAkSAIEAEiAA5KECythkBclaAnDIpFCACRIAIEAGCABEgAiQpQLLfqCu3mextOGObzHocd2+TGQGS8RrY7XUj47W68r2m8ihY2e+J2Y9jh9cHAYIAQYAIkBYBkvlGLEAEiAARIAJEgCBAECACRIAIEAEiQASIABEgAsTc0wNlIxAgAkSACBABIkAEiAARIAgQBIgAESACRIAIEAEiQASIABEgCBABIkAEiAARIAJEgAgQAYIAQYAIEAEiQASIABEgAkSAIEAQIAJEgAgQASJABIgAESACBAGCABEgAkSACBABIkAEiABBgCBABIgAESACRIAIEAEiQASIAEGACBABIkAEiAARIAJEgAgQBAgCRIAIEAEiQASIABEgAkSACBAEiAARIAJEgAgQASJABIgAQYAgQASIABEgAkSACBABIkAQIAgQASJABIgAESACRIAIEAEiQBAgAkSACBABIkAEiAARIAIEAYIAESACRIAIEAEiQASIABEgAgQBIkAEiAARIAJEgAgQASJAECAIEAEiQASIABEgAkSACBAECAJEgAgQASJABIgAESACRIAIEASIABEgAkSACBABIkAEiABBgCBABIgAESACRIAIEAEiQASIAEGACBABIkAEiAARIAJEgAgQBAgCRIAIEAEiQASIABEgAgQBggARIAJEgAgQASJABIgAESACBAEiQASIABEgAkSACBABIkAQIAgQASJABIgAESACRIAIEAEiQBAgAkSACBABIkAEiAARIAIEAYIAESACRIAIEAEiQASIAEGAIEAEiAARIAJEgAgQASJABIgAQYAIEAEiQASIABEgAkSACBAECAJEgAgQASJABIgAESACRIAIEASIABEgAkSACBABIkAEiABBgCBABIgAESACRIAIEAEiQBAgCBABIkAEiAARIAJEgAgQAWLuKUAQIAJEgAgQASJABIgAESAIEASIABEgAkSACBABIkAEiAARIAgQASJABIgAESACRIAIEAGCAEGACBABIkAEiAARIAJEgJjXChAEiAARIAJEgAgQASJABIgAQYAgQASIABEgAkSACBABIkAQIAgQASJABIgAESACRIAIEAEiQBAgAkSACBABIkAEiAARIAIEAYIAESACRIAIEAEiQASIABEgAgQBIkAEiAARIAJEgAgQASJAECAIEAEiQASIABEgAkSACBAECAJEgAgQASJABIgAESACRIAIEASIABEgAkSACBABIkAEiABBgCBABIgAESACRIAIEAEiQASIAEGACBABIkAEiAARIAJEgAgQBAgCRIAIEAEiQASIABEgAgQBggARIAJEgAgQASJABIgAESACBAEiQASIABEgAkSACBABIkAQIAgQASJABIgAESACRIAIEAEiQBAgAkSACBABIkAEiAARIAIEAYIAESACRIAIEAEiQASIAEGAIEAEiAARIAJEgAgQASJABIgAQYAIEAEiQASIABEgAkSACBAECAJEgAgQASJABIgAESACRIAIEASIABEgAkSACBABIkAEiABBgCBABIgAESACRIAIEAEiQBAgCBABIkAEiAARIAJEgAgQAWLuKUBsBAJEgAgQASJABIgAESACBAGCABEgAkSACBABIkAEiAARIAIEASJABIgAESACRIAIEAEiQBAgCBABIkAEiAARIAJEgAgQBAgCRIAIEAEiQASIABEgAkSAIEAQIAJEgAgQASJABIgAESAIEASIABEgAkSACBABIkAEiAARIAgQASJABIgAESACRIAIEAGCAEGACBABIkAEiAARIAJEgAgQAYIAESACRIAIEAEiQASIABEgCBAEiAARIAJEgAgQASJABAgCBAEiQASIABEgAkSACBABIkAECAJEgAgQASJABIgAESACRIAgQBAgAkSACBABIkAEiAARIAJEgCBABIgAESACRIAIEAEiQAQIAgQBIkAEiAARIAJEgAgQAYIAQYAIEAEiQASIABEgAkSACBABggARIAJEgAgQASJABIgAESAIEASIABEgAkSACBABIkAEiAARIAgQASJABIgAESACRIAIEAGCAEGACBABIkAEiAARIAJEgCBAECACRIAIEAEiQASIABEgAkSAIEAEiAARIAJEgAgQASJABAgCBAEiQASIABEgAkSACBABIkAECAJEgAgQASJABIgAESACRIAgQBAgAkSACBABIkAE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" - } - ] - } - ] + { + "purchaseOrderNumber": "mockpurchaseOrderNumber2", + "sellingParty": { + "partyId": "999US" + }, + "shipFromParty": { + "partyId": "ABCD" + }, + "labelFormat": "PNG", + "labelData": [ + { + "packageIdentifier": "PKG002", + "trackingNumber": "1Z6A34Y60369738805", + "shipMethod": "UPS_GR_RES", + "shipMethodName": "UPS Ground Residential", + "content": "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AAFiCBAAABAgAgQAAASIIUAAABAghgABAAABYggQAAAEiNE4QAzDMAzDMAzDMASIYRiGYRiGYRgCxDAMwzAMwzAMQ4AYhmEYhmEYhiFADMMwDMMwDMMw/jdAAAAAio50JkAAAAABAgAACBAAAAABAgAACBAAAAABAgAACBAAAECAAAAACBAAAECAAAAACBAAAECAAAAAAoRXbAT/MX77myfXs3IfRu/nymVXrn/0PjxZ3qjlyngcV5Yx+7JRj2nGfcjYxla2n8rHonKbjFqf2a+B3V43Ml6rK99rop7jGa+Hu173std/9uv86H1buQ8IEASIABEgAkSACBABIkAEiAARIAgQASJABIgAESACRIAIEAGCAEGACBABIkAEiAARIAJEgAgQAYIAESACRIAIEAEiQASIABEgCBAEiAARIAJEgAgQASJABAgCBAEiQASIABEgAkSACBABIkAECAJEgAgQASJABIgAESACRIAgQBAgAkSACBABIkAEiAARIAJEgCBABIgAESACRIAIEAEiQAQIAgQBIkAEiAARIAJEgAgQAYIAQYAIEAEiQASIABEgAkSACBABggARIAJEgAgQASJABIgAESAIEASIABEgAkSACBABIkAEiAARIAgQASJABIgAESACRIAIEAGCAEGACBABIkAEiAARIAJEgCBAECACRIAIEAEiQASIABEgAsTcU4DYCASIABEgAkSACBABIkAECAIEASJABIgAESACRIAIEAEiQAQIAkSACBABIkAEiAARIAJEgCBAECACRIAIEAEiQASIABEgCBAEiAARIAJEgAgQASJABIgAQYAgQASIABEgAkSACBABIkAQIAgQASJABIgAESACRIAIEAEiQBAgAkSACBABIkAEiAARIAIEAYIAESACRIAIEAEiQASIABEgAgQBIkAEiAARIAJEgAgQASJAECAIEAEiQASIABEgAkSACBAECAJEgAgQASJABIgAESACRIAIEASIABEgAkSACBABIkAEiABBgCBABIgAESACRIAIEAEiQASIAEGACBABIkAEiAARIAJEgAgQBAgCRIAIEAEiQASIABEgAgQBggARIAJEgAgQASJABIgAESACBAEiQASIABEgAkSACBABIkAQIAgQASJABIgAESACRIAIEAEiQBAgAkSACBABIkAEiAARIAIEAYIAESACRIAIEAEiQASIAEGAIEAEiAARIAJEgAgQASJABIgAQYAIEAEiQASIABEgAkSACBAECAJEgAgQASJABIgAESACRIAIEASIABEgAkSACBABIkAEiABBgCBABIgAESACRIAIEAEiQBAgCBABIkAEiAARIAJEgAgQAWLu6YGyEQgQASJABIgAESACRIAIEAQIAkSACBABIkAEiAARIAJEgAgQBIgAESACRIAIEAEiQASIAEGAIEAEiAARIAJEgAgQASJAECAIEAEiQGLfmKJGxwCJmCQLEAEiQASIAEGAIEAEiAARIOEB8uftVU4wKh+fXQGyazs85b5FvdfsWp7M18PO21rE66MAQYAgQATINQHS6Y1WgAgQAbI2ORUgAkSAIEAQIAKkdYCcMgnM3oajJlQCRIB0CxEBIkAECAIEASJAWgTIaZPAjgHy7ZsTASJAOk9WBYgAESACBAEiQARIWYCcOAkUIAJk17cIp09a3xQgt0SIAEGAIEAEyFUBEvmGGHX9JwdI1k7E3SaZpwZI1YRtdRvInLjueoyinrMZl41+3YvefgQIAgQBIkCuCZCqiYQAESCd13/HAIlcXxHvNTcGyOprkwARIAIEASJABEjhRFSACBAB0mcbqDhPjQARIAJEgCBABIgAESACRIC8LECibluACBABggBBgAgQASJABIgAKYsQASJABAgCBAEiQASIABEgAkSACBABggBBgAgQASJA7g6QlXUhQPYFSMXzWoAIEAEiQBAgAkSACBABIkAEiAARIAIEAYIAESACRIAIEAEiQASIABEgAgQBIkAEiAARIMtHRRIgAkSACBABIkAQIAJEgAgQAfLaAMma/AsQASJABIgAQYAIEAEiQASIABEgAuRVAVL5+iBAECAIEAEiQBoHSOQ67BogqxEiQASIABEgAkSAIEAEiAA5LkAyJt4C5J4AyZz8CxABIkAEiABBgAgQASJABIgAESACRIAIEAQIAkSACJB3BUj0OrwtQEYmpwJEgAgQAYIAQYAIEAEiQATIEQGSPfkXIAKkKkC6vD4IEAQIAkSACJCGAZKxDgWIABEgAkSAIEAQIAJEgAgQAfJv/qGJBYgAESACBAGCABEgAiR8MiFA5n7WJUAEiAC5P0A6fUAhQBAgCBABcmSARLwxCRABIkAEiAARIAgQBIgAESAh+wIIEAEiQASIABEgCBAEiAARIKVBIkDGY02ACBABIkAECAIEASJArgyQ7EmnABEgAkSACBABggBBgAgQAVIWICuHaRUgewMka5kFyP4AmX2vESBrAdLtKHkCBAGCABEg2wKkKkI6BUj1pHdl2QWIABEgvQJk9wE9BAgCBAEiQK4IkC5vwgKkV4BEL7cAiQuQyAMgCBABIkDMPQWIjUCACJAtAdLhjbgiQHZMegWIAIkMkKplFyACRIAIEASIABEgZW9MAkSACJCeAVK57AJEgAgQAYIAESACpPSNSYAIkOhlFyBrz+XI7UuACBABggBBgAiQdgGy4805O0B2TXoFiACJeh2I2rYESMy2mPm+KUAQIAgQASJANkaIABEgNwXIbz9xy17nAsR5QAQIAgQBIkAEiAA5IkAyJp9vD5Dd25MAESACBAGCABEgAmTx9+rf1s/pE0YBIkCqtyUBIkAEiABBgAgQAdLqjSl7EiZA7g2Q6nh5S4Bkv9cIEAEiQAQIAkSACJDtAZI5GRMgvQIkYh0KkB7xIUD2Bci32xMgCBAEiAARIIOXzZpUrU5musdH5O/2Bci9AZL1Oi9ABIgAMfcUIDYCASJAjg2Q6ImZALkvQHbsP3LbmdAFiAARIAgQBIgAESCNA6Ryp+mI+9A5QCIm3gJEgAgQAYIAQYAIEAHSNkC+TXwEiAARIALktACJfK8XIAgQBIgAESAJkxYBck+A7DqErwARIAJEgCBAECACRIAIkKTnjgARIAJEgAgQBAgCRIC0DZDsT92jJmsCRIAIEAGSFQgCRICYewoQG4EAESACRIAIEAEiQASIAEGAIEAEyM0BkjXpjZiwvTFARg+DK0AEiAC5O0BGzwsjQBAgCBABIkAEiAARIAJEgAgQBAgCRIAIkLcGSFZQRE/UBYgAESACRIAgQBAgAkSAFAZI1mMhQASIABEgAkSAIEAQIAJEgAgQASJABIgAESAIEASIABEgZwXI6nV2CpDu26QAESACRIAIEAGCABEgAqRlgFROFAVI7TYpQASIABEgAkSAIEAEiABJe+M+PUCyg0KACBABIkAEiAARIAgQASJANgdI5b4Pu4MiI0Ay94WJ2iYFiAARILEBUrGPmABBgCBABMiVAVJ9/gsBIkAEiAARIAIEAYIAESACpEWARD5e1QGSeUJGASJABIgAESDmngLERiBABMi2AKlaD523GQGSf5SzrG3ylAD5baIpQASIAEGAIEAEyGsDJPLNLztAon/O1DVAor41eroubw2QlZ+0ZWzvpwRI5ra6M0Aynm+r67/qPEECBAGCABEgxwXIrslJ53NPnLa+d03kuq+jDtvfrQFySpCfuJwCBAGCABEgAkSACJBD19GbA+RNE3MBIkAQIAgQASJABIgAMYEVIAJEgCBAECACRIAIEAEiQASIABEgAkSAIEAEiAA5KECythkBclaAnDIpFCACRIAIEAGCABEgAiQpQLLfqCu3mextOGObzHocd2+TGQGS8RrY7XUj47W68r2m8ihY2e+J2Y9jh9cHAYIAQYAIkBYBkvlGLEAEiAARIAJEgCBAECACRIAIEAEiQASIABEgAsTc0wNlIxAgAkSACBABIkAEiAARIAgQBIgAESACRIAIEAEiQASIABEgCBABIkAEiAARIAJEgAgQAYIAQYAIEAEiQASIABEgAkSAIEAQIAJEgAgQASJABIgAESACBAGCABEgAkSACBABIkAEiABBgCBABIgAESACRIAIEAEiQASIAEGACBABIkAEiAARIAJEgAgQBAgCRIAIEAEiQASIABEgAkSACBAEiAARIAJEgAgQASJABIgAQYAgQASIABEgAkSACBABIkAQIAgQASJABIgAESACRIAIEAEiQBAgAkSACBABIkAEiAARIAIEAYIAESACRIAIEAEiQASIABEgAgQBIkAEiAARIAJEgAgQASJAECAIEAEiQASIABEgAkSACBAECAJEgAgQASJABIgAESACRIAIEASIABEgAkSACBABIkAEiABBgCBABIgAESACRIAIEAEiQASIAEGACBABIkAEiAARIAJEgAgQBAgCRIAIEAEiQASIABEgAgQBggARIAJEgAgQASJABIgAESACBAEiQASIABEgAkSACBABIkAQIAgQASJABIgAESACRIAIEAEiQBAgAkSACBABIkAEiAARIAIEAYIAESACRIAIEAEiQASIAEGAIEAEiAARIAJEgAgQASJABIgAQYAIEAEiQASIABEgAkSACBAECAJEgAgQASJABIgAESACRIAIEASIABEgAkSACBABIkAEiABBgCBABIgAESACRIAIEAEiQBAgCBABIkAEiAARIAJEgAgQAWLuKUAQIAJEgAgQASJABIgAESAIEASIABEgAkSACBABIkAEiAARIAgQASJABIgAESACRIAIEAGCAEGACBABIkAEiAARIAJEgJjXChAEiAARIAJEgAgQASJABIgAQYAgQASIABEgAkSACBABIkAQIAgQASJABIgAESACRIAIEAEiQBAgAkSACBABIkAEiAARIAIEAYIAESACRIAIEAEiQASIABEgAgQBIkAEiAARIAJEgAgQASJAECAIEAEiQASIABEgAkSACBAECAJEgAgQASJABIgAESACRIAIEASIABEgAkSACBABIkAEiABBgCBABIgAESACRIAIEAEiQASIAEGACBABIkAEiAARIAJEgAgQBAgCRIAIEAEiQASIABEgAgQBggARIAJEgAgQASJABIgAESACBAEiQASIABEgAkSACBABIkAQIAgQASJABIgAESACRIAIEAEiQBAgAkSACBABIkAEiAARIAIEAYIAESACRIAIEAEiQASIAEGAIEAEiAARIAJEgAgQASJABIgAQYAIEAEiQASIABEgAkSACBAECAJEgAgQASJABIgAESACRIAIEASIABEgAkSACBABIkAEiABBgCBABIgAESACRIAIEAEiQBAgCBABIkAEiAARIAJEgAgQAWLuKUBsBAJEgAgQASJABIgAESACBAGCABEgAkSACBABIkAEiAARIAIEASJABIgAESACRIAIEAEiQBAgCBABIkAEiAARIAJEgAgQBAgCRIAIEAEiQASIABEgAkSAIEAQIAJEgAgQASJABIgAESAIEASIABEgAkSACBABIkAEiAARIAgQASJABIgAESACRIAIEAGCAEGACBABIkAEiAARIAJEgAgQAYIAESACRIAIEAEiQASIABEgCBAEiAARIAJEgAgQASJABAgCBAEiQASIABEgAkSACBABIkAECAJEgAgQASJABIgAESACRIAgQBAgAkSACBABIkAEiAARIAJEgCBABIgAESACRIAIEAEiQAQIAgQBIkAEiAARIAJEgAgQAYIAQYAIEAEiQASIABEgAkSACBABggARIAJEgAgQASJABIgAESAIEASIABEgAkSACBABIkAEiAARIAgQASJABIgAESACRIAIEAGCAEGACBABIkAEiAARIAJEgCBAECACRIAIEAEiQASIABEgAkSAIEAEiAARIAJEgAgQASJABAgCBAEiQASIABEgAkSACBABIkAECAJEgAgQASJABIgAESACRIAgQBAgAkSACBABIkAE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" + } + ] + } + ] + } } } - } ] } }, @@ -355,10 +355,6 @@ "$ref": "#/definitions/GetShippingLabelListResponse" }, "headers": { - "x-amzn-RateLimit-Limit": { - "type": "string", - "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." - }, "x-amzn-RequestId": { "type": "string", "description": "Unique request reference identifier." @@ -371,10 +367,6 @@ "$ref": "#/definitions/GetShippingLabelListResponse" }, "headers": { - "x-amzn-RateLimit-Limit": { - "type": "string", - "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." - }, "x-amzn-RequestId": { "type": "string", "description": "Unique request reference identifier." @@ -387,10 +379,6 @@ "$ref": "#/definitions/GetShippingLabelListResponse" }, "headers": { - "x-amzn-RateLimit-Limit": { - "type": "string", - "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." - }, "x-amzn-RequestId": { "type": "string", "description": "Unique request reference identifier." @@ -403,10 +391,6 @@ "$ref": "#/definitions/GetShippingLabelListResponse" }, "headers": { - "x-amzn-RateLimit-Limit": { - "type": "string", - "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." - }, "x-amzn-RequestId": { "type": "string", "description": "Unique request reference identifier." @@ -419,7 +403,7 @@ "tags": [ "vendorShippingLabels" ], - "description": "Creates a shipping label for a purchase order and returns a transactionId for reference.\n\n**Usage Plan:**\n\n| Rate (requests per second) | Burst |\n| ---- | ---- |\n| 10 | 10 |\n\nThe `x-amzn-RateLimit-Limit` response header returns the usage plan rate limits that were applied to the requested operation, when available. The table above indicates the default rate and burst values for this operation. Selling partners whose business demands require higher throughput may see higher rate and burst values than those shown here. For more information, see [Usage Plans and Rate Limits in the Selling Partner API](https://developer-docs.amazon.com/sp-api/docs/usage-plans-and-rate-limits-in-the-sp-api).", + "description": "Creates a shipping label for a purchase order and returns a `transactionId` for reference.\n\n**Usage Plan:**\n\n| Rate (requests per second) | Burst |\n| ---- | ---- |\n| 10 | 10 |\n\nThe `x-amzn-RateLimit-Limit` response header returns the usage plan rate limits that were applied to the requested operation, when available. The table above indicates the default rate and burst values for this operation. Selling partners whose business demands require higher throughput may see higher rate and burst values than those shown here. For more information, refer to [Usage Plans and Rate Limits in the Selling Partner API](https://developer-docs.amazon.com/sp-api/docs/usage-plans-and-rate-limits-in-the-sp-api).", "operationId": "submitShippingLabelRequest", "parameters": [ { @@ -428,7 +412,8 @@ "required": true, "schema": { "$ref": "#/definitions/SubmitShippingLabelsRequest" - } + }, + "description": "Request body containing one or more shipping labels data." } ], "responses": { @@ -469,159 +454,159 @@ "containerIdentifier": "123", "trackingNumber": "XXXX", "dimensions": { - "length": "12", - "width": "12", - "height": "12", - "unitOfMeasure": "IN" - }, - "weight": { - "unitOfMeasure": "KG", - "value": "10" - }, - "packedItems": [ - { - "itemSequenceNumber": 1, - "buyerProductIdentifier": "B07DFVDRAB", - "packedQuantity": { - "amount": 1, - "unitOfMeasure": "Each" + "length": "12", + "width": "12", + "height": "12", + "unitOfMeasure": "IN" + }, + "weight": { + "unitOfMeasure": "KG", + "value": "10" + }, + "packedItems": [ + { + "itemSequenceNumber": 1, + "buyerProductIdentifier": "B07DFVDRAB", + "packedQuantity": { + "amount": 1, + "unitOfMeasure": "Each" + } } - } - ] - } - ] - } - ] + ] + } + ] + } + ] + } } } + }, + "response": { + "payload": { + "transactionId": "20190905010908-8a3b6901-ef20-412f-9270-21c021796605" + } } }, - "response": { - "payload": { - "transactionId": "20190905010908-8a3b6901-ef20-412f-9270-21c021796605" - } - } - }, - { - "request": { - "parameters": { - "body": { - "value": { - "shippingLabelRequests": [ - { - "purchaseOrderNumber": "2JK3S9VC", - "sellingParty": { - "partyId": "999US" - }, - "shipFromParty": { - "partyId": "ABCD" + { + "request": { + "parameters": { + "body": { + "value": { + "shippingLabelRequests": [ + { + "purchaseOrderNumber": "2JK3S9VC", + "sellingParty": { + "partyId": "999US" + }, + "shipFromParty": { + "partyId": "ABCD" + } } - } - ] + ] + } } } + }, + "response": { + "payload": { + "transactionId": "20190905010908-8a3b6901-ef20-412f-9270-21c021796605" + } } }, - "response": { - "payload": { - "transactionId": "20190905010908-8a3b6901-ef20-412f-9270-21c021796605" - } - } - }, - { - "request": { - "parameters": { - "body": { - "value": { - "shippingLabelRequests": [ - { - "purchaseOrderNumber": "2JK3S9VC", - "sellingParty": { - "partyId": "999US" - }, - "shipFromParty": { - "partyId": "ABCD" - }, - "containers": [ - { - "containerType": "carton", - "containerIdentifier": "123", - "trackingNumber": "XXXX", - "dimensions": { - "length": "12", - "width": "12", - "height": "12", - "unitOfMeasure": "IN" - }, - "weight": { - "unitOfMeasure": "KG", - "value": "10" - }, - "packedItems": [ - { - "itemSequenceNumber": 1, - "buyerProductIdentifier": "B07DFVDRAA", - "packedQuantity": { - "amount": 1, - "unitOfMeasure": "Each" - } + { + "request": { + "parameters": { + "body": { + "value": { + "shippingLabelRequests": [ + { + "purchaseOrderNumber": "2JK3S9VC", + "sellingParty": { + "partyId": "999US" + }, + "shipFromParty": { + "partyId": "ABCD" + }, + "containers": [ + { + "containerType": "carton", + "containerIdentifier": "123", + "trackingNumber": "XXXX", + "dimensions": { + "length": "12", + "width": "12", + "height": "12", + "unitOfMeasure": "IN" }, - { - "itemSequenceNumber": 2, - "buyerProductIdentifier": "B07DFVDRAB", - "packedQuantity": { - "amount": 1, - "unitOfMeasure": "Each" + "weight": { + "unitOfMeasure": "KG", + "value": "10" + }, + "packedItems": [ + { + "itemSequenceNumber": 1, + "buyerProductIdentifier": "B07DFVDRAA", + "packedQuantity": { + "amount": 1, + "unitOfMeasure": "Each" + } + }, + { + "itemSequenceNumber": 2, + "buyerProductIdentifier": "B07DFVDRAB", + "packedQuantity": { + "amount": 1, + "unitOfMeasure": "Each" + } } - } - ] - }, - { - "containerType": "carton", - "containerIdentifier": "1234", - "trackingNumber": "XXXX", - "dimensions": { - "length": "12", - "width": "12", - "height": "12", - "unitOfMeasure": "IN" - }, - "weight": { - "unitOfMeasure": "KG", - "value": "10" + ] }, - "packedItems": [ - { - "itemSequenceNumber": 3, - "buyerProductIdentifier": "B07DFVDRAC", - "packedQuantity": { - "amount": 1, - "unitOfMeasure": "Each" - } + { + "containerType": "carton", + "containerIdentifier": "1234", + "trackingNumber": "XXXX", + "dimensions": { + "length": "12", + "width": "12", + "height": "12", + "unitOfMeasure": "IN" }, - { - "itemSequenceNumber": 4, - "buyerProductIdentifier": "B07DFVDRAD", - "packedQuantity": { - "amount": 1, - "unitOfMeasure": "Each" + "weight": { + "unitOfMeasure": "KG", + "value": "10" + }, + "packedItems": [ + { + "itemSequenceNumber": 3, + "buyerProductIdentifier": "B07DFVDRAC", + "packedQuantity": { + "amount": 1, + "unitOfMeasure": "Each" + } + }, + { + "itemSequenceNumber": 4, + "buyerProductIdentifier": "B07DFVDRAD", + "packedQuantity": { + "amount": 1, + "unitOfMeasure": "Each" + } } - } - ] - } - ] - } - ] + ] + } + ] + } + ] + } } } - } - }, - "response": { - "payload": { - "transactionId": "20190905010908-8a3b6901-ef20-412f-9270-21c021796605" + }, + "response": { + "payload": { + "transactionId": "20190905010908-8a3b6901-ef20-412f-9270-21c021796605" + } } } - } ] } }, @@ -702,10 +687,6 @@ "$ref": "#/definitions/SubmitShippingLabelsResponse" }, "headers": { - "x-amzn-RateLimit-Limit": { - "type": "string", - "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." - }, "x-amzn-RequestId": { "type": "string", "description": "Unique request reference identifier." @@ -718,10 +699,6 @@ "$ref": "#/definitions/SubmitShippingLabelsResponse" }, "headers": { - "x-amzn-RateLimit-Limit": { - "type": "string", - "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." - }, "x-amzn-RequestId": { "type": "string", "description": "Unique request reference identifier." @@ -734,10 +711,6 @@ "$ref": "#/definitions/SubmitShippingLabelsResponse" }, "headers": { - "x-amzn-RateLimit-Limit": { - "type": "string", - "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." - }, "x-amzn-RequestId": { "type": "string", "description": "Unique request reference identifier." @@ -750,10 +723,6 @@ "$ref": "#/definitions/SubmitShippingLabelsResponse" }, "headers": { - "x-amzn-RateLimit-Limit": { - "type": "string", - "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." - }, "x-amzn-RequestId": { "type": "string", "description": "Unique request reference identifier." @@ -766,10 +735,6 @@ "$ref": "#/definitions/SubmitShippingLabelsResponse" }, "headers": { - "x-amzn-RateLimit-Limit": { - "type": "string", - "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." - }, "x-amzn-RequestId": { "type": "string", "description": "Unique request reference identifier." @@ -784,13 +749,13 @@ "tags": [ "vendorShippingLabels" ], - "description": "Returns a shipping label for the purchaseOrderNumber that you specify.\n\n**Usage Plan:**\n\n| Rate (requests per second) | Burst |\n| ---- | ---- |\n| 10 | 10 |\n\nThe `x-amzn-RateLimit-Limit` response header returns the usage plan rate limits that were applied to the requested operation, when available. The table above indicates the default rate and burst values for this operation. Selling partners whose business demands require higher throughput may see higher rate and burst values than those shown here. For more information, see [Usage Plans and Rate Limits in the Selling Partner API](https://developer-docs.amazon.com/sp-api/docs/usage-plans-and-rate-limits-in-the-sp-api).", + "description": "Returns a shipping label for the `purchaseOrderNumber` that you specify.\n\n**Usage Plan:**\n\n| Rate (requests per second) | Burst |\n| ---- | ---- |\n| 10 | 10 |\n\nThe `x-amzn-RateLimit-Limit` response header returns the usage plan rate limits that were applied to the requested operation, when available. The table above indicates the default rate and burst values for this operation. Selling partners whose business demands require higher throughput may see higher rate and burst values than those shown here. For more information, refer to [Usage Plans and Rate Limits in the Selling Partner API](https://developer-docs.amazon.com/sp-api/docs/usage-plans-and-rate-limits-in-the-sp-api).", "operationId": "getShippingLabel", "parameters": [ { "name": "purchaseOrderNumber", "in": "path", - "description": "The purchase order number for which you want to return the shipping label. It should be the same purchaseOrderNumber as received in the order.", + "description": "The purchase order number for which you want to return the shipping label. It should be the same `purchaseOrderNumber` as received in the order.", "required": true, "type": "string", "pattern": "^[a-zA-Z0-9]+$" @@ -857,42 +822,42 @@ "labelFormat": "PNG", "labelData": [ { - "packageIdentifier": "PKG001", - "trackingNumber": "1Z6A34Y60369738804", - "shipMethod": "UPS_GR_RES", - "shipMethodName": "UPS Ground Residential", - "content": "Base 64 encoded string goes here " - } - ] + "packageIdentifier": "PKG001", + "trackingNumber": "1Z6A34Y60369738804", + "shipMethod": "UPS_GR_RES", + "shipMethodName": "UPS Ground Residential", + "content": "Base 64 encoded string goes here " + } + ] + } } - } - }, - { - "request": { - "parameters": {} }, - "response": { - "payload": { - "purchaseOrderNumber": "mockpurchaseOrderNumber", - "sellingParty": { - "partyId": "999US" - }, - "shipFromParty": { - "partyId": "ABCD" - }, - "labelFormat": "PNG", - "labelData": [ - { - "packageIdentifier": "PKG001", - "trackingNumber": "1Z6A34Y60369738804", - "shipMethod": "UPS_GR_RES", - "shipMethodName": "UPS Ground Residential", - "content": "Base 64 encoded string goes here" - } - ] + { + "request": { + "parameters": {} + }, + "response": { + "payload": { + "purchaseOrderNumber": "mockpurchaseOrderNumber", + "sellingParty": { + "partyId": "999US" + }, + "shipFromParty": { + "partyId": "ABCD" + }, + "labelFormat": "PNG", + "labelData": [ + { + "packageIdentifier": "PKG001", + "trackingNumber": "1Z6A34Y60369738804", + "shipMethod": "UPS_GR_RES", + "shipMethodName": "UPS Ground Residential", + "content": "Base 64 encoded string goes here" + } + ] + } } } - } ] } }, @@ -935,15 +900,11 @@ } }, "401": { - "description": "The request's Authorization header is not formatted correctly or does not contain a valid token.", + "description": "The request's authorization header is not formatted correctly or does not contain a valid token.", "schema": { "$ref": "#/definitions/GetShippingLabelResponse" }, "headers": { - "x-amzn-RateLimit-Limit": { - "type": "string", - "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." - }, "x-amzn-RequestId": { "type": "string", "description": "Unique request reference identifier." @@ -984,10 +945,6 @@ "$ref": "#/definitions/GetShippingLabelResponse" }, "headers": { - "x-amzn-RateLimit-Limit": { - "type": "string", - "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." - }, "x-amzn-RequestId": { "type": "string", "description": "Unique request reference identifier." @@ -1000,10 +957,6 @@ "$ref": "#/definitions/GetShippingLabelResponse" }, "headers": { - "x-amzn-RateLimit-Limit": { - "type": "string", - "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." - }, "x-amzn-RequestId": { "type": "string", "description": "Unique request reference identifier." @@ -1016,10 +969,6 @@ "$ref": "#/definitions/GetShippingLabelResponse" }, "headers": { - "x-amzn-RateLimit-Limit": { - "type": "string", - "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." - }, "x-amzn-RequestId": { "type": "string", "description": "Unique request reference identifier." @@ -1032,10 +981,6 @@ "$ref": "#/definitions/GetShippingLabelResponse" }, "headers": { - "x-amzn-RateLimit-Limit": { - "type": "string", - "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." - }, "x-amzn-RequestId": { "type": "string", "description": "Unique request reference identifier." @@ -1050,7 +995,7 @@ "tags": [ "vendorShipping" ], - "description": "Submits one or more shipment confirmations for vendor orders.\n\n**Usage Plan:**\n\n| Rate (requests per second) | Burst |\n| ---- | ---- |\n| 10 | 10 |\n\nThe `x-amzn-RateLimit-Limit` response header returns the usage plan rate limits that were applied to the requested operation, when available. The table above indicates the default rate and burst values for this operation. Selling partners whose business demands require higher throughput may see higher rate and burst values than those shown here. For more information, see [Usage Plans and Rate Limits in the Selling Partner API](https://developer-docs.amazon.com/sp-api/docs/usage-plans-and-rate-limits-in-the-sp-api).", + "description": "Submits one or more shipment confirmations for vendor orders.\n\n**Usage Plan:**\n\n| Rate (requests per second) | Burst |\n| ---- | ---- |\n| 10 | 10 |\n\nThe `x-amzn-RateLimit-Limit` response header returns the usage plan rate limits that were applied to the requested operation, when available. The table above indicates the default rate and burst values for this operation. Selling partners whose business demands require higher throughput may see higher rate and burst values than those shown here. For more information, refer to [Usage Plans and Rate Limits in the Selling Partner API](https://developer-docs.amazon.com/sp-api/docs/usage-plans-and-rate-limits-in-the-sp-api).", "operationId": "submitShipmentConfirmations", "parameters": [ { @@ -1059,7 +1004,8 @@ "required": true, "schema": { "$ref": "#/definitions/SubmitShipmentConfirmationsRequest" - } + }, + "description": "Request body containing the shipment confirmations data." } ], "responses": { @@ -1100,182 +1046,182 @@ "shipFromParty": { "partyId": "VENDORWAREHOUSECODE" }, - "items": [ - { - "itemSequenceNumber": 1, - "buyerProductIdentifier": "ASIN001", - "vendorProductIdentifier": "9782700001659", - "shippedQuantity": { - "amount": 100, - "unitOfMeasure": "Each" - } - }, - { - "itemSequenceNumber": 2, - "buyerProductIdentifier": "ASIN002", - "vendorProductIdentifier": "9782700001659", - "shippedQuantity": { - "amount": 100, - "unitOfMeasure": "Each" - } - }, - { - "itemSequenceNumber": 3, - "buyerProductIdentifier": "ASIN003", - "vendorProductIdentifier": "9782700001659", - "shippedQuantity": { - "amount": 100, - "unitOfMeasure": "Each" - } - }, - { - "itemSequenceNumber": 4, - "buyerProductIdentifier": "ASIN004", - "vendorProductIdentifier": "9782700001659", - "shippedQuantity": { - "amount": 100, - "unitOfMeasure": "Each" - } - } - ], - "containers": [ - { - "containerType": "carton", - "containerIdentifier": "123", - "trackingNumber": "TRACK001", - "scacCode": "SCAC001", - "carrier": "ABCD001", - "shipMethod": "UPS", - "dimensions": { - "length": "10", - "width": "10", - "height": "10", - "unitOfMeasure": "IN" - }, - "weight": { - "unitOfMeasure": "KG", - "value": "10" - }, - "packedItems": [ - { - "itemSequenceNumber": 1, - "buyerProductIdentifier": "ASIN001", - "packedQuantity": { - "amount": 100, - "unitOfMeasure": "Each" - } + "items": [ + { + "itemSequenceNumber": 1, + "buyerProductIdentifier": "ASIN001", + "vendorProductIdentifier": "9782700001659", + "shippedQuantity": { + "amount": 100, + "unitOfMeasure": "Each" } - ] - }, - { - "containerType": "carton", - "containerIdentifier": "234", - "trackingNumber": "TRACK002", - "scacCode": "SCAC001", - "carrier": "ABCD001", - "shipMethod": "UPS", - "dimensions": { - "length": "10", - "width": "10", - "height": "10", - "unitOfMeasure": "IN" }, - "weight": { - "unitOfMeasure": "KG", - "value": "10" + { + "itemSequenceNumber": 2, + "buyerProductIdentifier": "ASIN002", + "vendorProductIdentifier": "9782700001659", + "shippedQuantity": { + "amount": 100, + "unitOfMeasure": "Each" + } }, - "packedItems": [ - { - "itemSequenceNumber": 2, - "buyerProductIdentifier": "ASIN002", - "packedQuantity": { - "amount": 100, - "unitOfMeasure": "Each" - } + { + "itemSequenceNumber": 3, + "buyerProductIdentifier": "ASIN003", + "vendorProductIdentifier": "9782700001659", + "shippedQuantity": { + "amount": 100, + "unitOfMeasure": "Each" } - ] - }, - { - "containerType": "carton", - "containerIdentifier": "ABCD", - "trackingNumber": "TRACK003", - "scacCode": "SCAC001", - "carrier": "ABCD001", - "shipMethod": "UPS", - "dimensions": { - "length": "10", - "width": "10", - "height": "10", - "unitOfMeasure": "IN" }, - "weight": { - "unitOfMeasure": "KG", - "value": "10" + { + "itemSequenceNumber": 4, + "buyerProductIdentifier": "ASIN004", + "vendorProductIdentifier": "9782700001659", + "shippedQuantity": { + "amount": 100, + "unitOfMeasure": "Each" + } + } + ], + "containers": [ + { + "containerType": "carton", + "containerIdentifier": "123", + "trackingNumber": "TRACK001", + "scacCode": "SCAC001", + "carrier": "ABCD001", + "shipMethod": "UPS", + "dimensions": { + "length": "10", + "width": "10", + "height": "10", + "unitOfMeasure": "IN" + }, + "weight": { + "unitOfMeasure": "KG", + "value": "10" + }, + "packedItems": [ + { + "itemSequenceNumber": 1, + "buyerProductIdentifier": "ASIN001", + "packedQuantity": { + "amount": 100, + "unitOfMeasure": "Each" + } + } + ] }, - "packedItems": [ - { - "itemSequenceNumber": 3, - "buyerProductIdentifier": "ASIN003", - "packedQuantity": { - "amount": 100, - "unitOfMeasure": "Each" + { + "containerType": "carton", + "containerIdentifier": "234", + "trackingNumber": "TRACK002", + "scacCode": "SCAC001", + "carrier": "ABCD001", + "shipMethod": "UPS", + "dimensions": { + "length": "10", + "width": "10", + "height": "10", + "unitOfMeasure": "IN" + }, + "weight": { + "unitOfMeasure": "KG", + "value": "10" + }, + "packedItems": [ + { + "itemSequenceNumber": 2, + "buyerProductIdentifier": "ASIN002", + "packedQuantity": { + "amount": 100, + "unitOfMeasure": "Each" + } } - } - ] - }, - { - "containerType": "carton", - "containerIdentifier": "id12", - "trackingNumber": "TRACK004", - "scacCode": "SCAC001", - "carrier": "ABCD001", - "shipMethod": "UPS", - "dimensions": { - "length": "10", - "width": "10", - "height": "10", - "unitOfMeasure": "IN" + ] }, - "weight": { - "unitOfMeasure": "KG", - "value": "10" + { + "containerType": "carton", + "containerIdentifier": "ABCD", + "trackingNumber": "TRACK003", + "scacCode": "SCAC001", + "carrier": "ABCD001", + "shipMethod": "UPS", + "dimensions": { + "length": "10", + "width": "10", + "height": "10", + "unitOfMeasure": "IN" + }, + "weight": { + "unitOfMeasure": "KG", + "value": "10" + }, + "packedItems": [ + { + "itemSequenceNumber": 3, + "buyerProductIdentifier": "ASIN003", + "packedQuantity": { + "amount": 100, + "unitOfMeasure": "Each" + } + } + ] }, - "packedItems": [ - { - "itemSequenceNumber": 4, - "buyerProductIdentifier": "ASIN004", - "packedQuantity": { - "amount": 100, - "unitOfMeasure": "Each" + { + "containerType": "carton", + "containerIdentifier": "id12", + "trackingNumber": "TRACK004", + "scacCode": "SCAC001", + "carrier": "ABCD001", + "shipMethod": "UPS", + "dimensions": { + "length": "10", + "width": "10", + "height": "10", + "unitOfMeasure": "IN" + }, + "weight": { + "unitOfMeasure": "KG", + "value": "10" + }, + "packedItems": [ + { + "itemSequenceNumber": 4, + "buyerProductIdentifier": "ASIN004", + "packedQuantity": { + "amount": 100, + "unitOfMeasure": "Each" + } } - } - ] - } - ] - } - ] + ] + } + ] + } + ] + } } } + }, + "response": { + "payload": { + "transactionId": "20190905010908-8a3b6901-ef20-412f-9270-21c021796605" + } } }, - "response": { - "payload": { - "transactionId": "20190905010908-8a3b6901-ef20-412f-9270-21c021796605" - } - } - }, - { - "request": { - "parameters": { - "body": {} - } - }, - "response": { - "payload": { - "transactionId": "mock-TransactionId-20190905010908-8a3b6901-ef20-412f-9270-21c021796605" + { + "request": { + "parameters": { + "body": {} + } + }, + "response": { + "payload": { + "transactionId": "mock-TransactionId-20190905010908-8a3b6901-ef20-412f-9270-21c021796605" + } } } - } ] } }, @@ -1357,10 +1303,6 @@ "$ref": "#/definitions/SubmitShipmentConfirmationsResponse" }, "headers": { - "x-amzn-RateLimit-Limit": { - "type": "string", - "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." - }, "x-amzn-RequestId": { "type": "string", "description": "Unique request reference identifier." @@ -1373,10 +1315,6 @@ "$ref": "#/definitions/SubmitShipmentConfirmationsResponse" }, "headers": { - "x-amzn-RateLimit-Limit": { - "type": "string", - "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." - }, "x-amzn-RequestId": { "type": "string", "description": "Unique request reference identifier." @@ -1389,10 +1327,6 @@ "$ref": "#/definitions/SubmitShipmentConfirmationsResponse" }, "headers": { - "x-amzn-RateLimit-Limit": { - "type": "string", - "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." - }, "x-amzn-RequestId": { "type": "string", "description": "Unique request reference identifier." @@ -1405,10 +1339,6 @@ "$ref": "#/definitions/SubmitShipmentConfirmationsResponse" }, "headers": { - "x-amzn-RateLimit-Limit": { - "type": "string", - "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." - }, "x-amzn-RequestId": { "type": "string", "description": "Unique request reference identifier." @@ -1421,10 +1351,6 @@ "$ref": "#/definitions/SubmitShipmentConfirmationsResponse" }, "headers": { - "x-amzn-RateLimit-Limit": { - "type": "string", - "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." - }, "x-amzn-RequestId": { "type": "string", "description": "Unique request reference identifier." @@ -1439,7 +1365,7 @@ "tags": [ "vendorShipping" ], - "description": "This API call is only to be used by Vendor-Own-Carrier (VOC) vendors. Calling this API will submit a shipment status update for the package that a vendor has shipped. It will provide the Amazon customer visibility on their order, when the package is outside of Amazon Network visibility.\n\n**Usage Plan:**\n\n| Rate (requests per second) | Burst |\n| ---- | ---- |\n| 10 | 10 |\n\nThe `x-amzn-RateLimit-Limit` response header returns the usage plan rate limits that were applied to the requested operation, when available. The table above indicates the default rate and burst values for this operation. Selling partners whose business demands require higher throughput may see higher rate and burst values than those shown here. For more information, see [Usage Plans and Rate Limits in the Selling Partner API](https://developer-docs.amazon.com/sp-api/docs/usage-plans-and-rate-limits-in-the-sp-api).", + "description": "This API call is only to be used by Vendor-Own-Carrier (VOC) vendors. Calling this API will submit a shipment status update for the package that a vendor has shipped. It will provide the Amazon customer visibility on their order, when the package is outside of Amazon Network visibility.\n\n**Usage Plan:**\n\n| Rate (requests per second) | Burst |\n| ---- | ---- |\n| 10 | 10 |\n\nThe `x-amzn-RateLimit-Limit` response header returns the usage plan rate limits that were applied to the requested operation, when available. The table above indicates the default rate and burst values for this operation. Selling partners whose business demands require higher throughput may see higher rate and burst values than those shown here. For more information, refer to [Usage Plans and Rate Limits in the Selling Partner API](https://developer-docs.amazon.com/sp-api/docs/usage-plans-and-rate-limits-in-the-sp-api).", "operationId": "submitShipmentStatusUpdates", "parameters": [ { @@ -1448,7 +1374,8 @@ "required": true, "schema": { "$ref": "#/definitions/SubmitShipmentStatusUpdatesRequest" - } + }, + "description": "Request body containing the shipment status update data." } ], "responses": { @@ -1489,41 +1416,41 @@ "reasonCode": "NS", "statusDateTime": "2020-08-07T19:56:45.632Z", "statusLocationAddress": { - "city": "Berlin", - "postalCode": "10115", - "stateOrRegion": "Berlin", - "countryCode": "DE" - }, - "shipmentSchedule": { - "estimatedDeliveryDateTime": "2020-08-07T19:56:45.632Z", - "apptWindowStartDateTime": "2020-08-07T19:56:45.632Z", - "apptWindowEndDateTime": "2020-08-07T19:56:45.632Z" + "city": "Berlin", + "postalCode": "10115", + "stateOrRegion": "Berlin", + "countryCode": "DE" + }, + "shipmentSchedule": { + "estimatedDeliveryDateTime": "2020-08-07T19:56:45.632Z", + "apptWindowStartDateTime": "2020-08-07T19:56:45.632Z", + "apptWindowEndDateTime": "2020-08-07T19:56:45.632Z" + } } } - } - ] + ] + } } } + }, + "response": { + "payload": { + "transactionId": "20190905010908-8a3b6901-ef20-412f-9270-21c021796605" + } } }, - "response": { - "payload": { - "transactionId": "20190905010908-8a3b6901-ef20-412f-9270-21c021796605" - } - } - }, - { - "request": { - "parameters": { - "body": {} - } - }, - "response": { - "payload": { - "transactionId": "mock-TransactionId-20190905010908-8a3b6901-ef20-412f-9270-21c021796605" + { + "request": { + "parameters": { + "body": {} + } + }, + "response": { + "payload": { + "transactionId": "mock-TransactionId-20190905010908-8a3b6901-ef20-412f-9270-21c021796605" + } } } - } ] } }, @@ -1605,10 +1532,6 @@ "$ref": "#/definitions/SubmitShipmentStatusUpdatesResponse" }, "headers": { - "x-amzn-RateLimit-Limit": { - "type": "string", - "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." - }, "x-amzn-RequestId": { "type": "string", "description": "Unique request reference identifier." @@ -1621,10 +1544,6 @@ "$ref": "#/definitions/SubmitShipmentStatusUpdatesResponse" }, "headers": { - "x-amzn-RateLimit-Limit": { - "type": "string", - "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." - }, "x-amzn-RequestId": { "type": "string", "description": "Unique request reference identifier." @@ -1637,10 +1556,6 @@ "$ref": "#/definitions/SubmitShipmentStatusUpdatesResponse" }, "headers": { - "x-amzn-RateLimit-Limit": { - "type": "string", - "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." - }, "x-amzn-RequestId": { "type": "string", "description": "Unique request reference identifier." @@ -1653,10 +1568,6 @@ "$ref": "#/definitions/SubmitShipmentStatusUpdatesResponse" }, "headers": { - "x-amzn-RateLimit-Limit": { - "type": "string", - "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." - }, "x-amzn-RequestId": { "type": "string", "description": "Unique request reference identifier." @@ -1669,10 +1580,6 @@ "$ref": "#/definitions/SubmitShipmentStatusUpdatesResponse" }, "headers": { - "x-amzn-RateLimit-Limit": { - "type": "string", - "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." - }, "x-amzn-RequestId": { "type": "string", "description": "Unique request reference identifier." @@ -1687,13 +1594,13 @@ "tags": [ "customerInvoices" ], - "description": "Returns a list of customer invoices created during a time frame that you specify. You define the time frame using the createdAfter and createdBefore parameters. You must use both of these parameters. The date range to search must be no more than 7 days.\n\n**Usage Plan:**\n\n| Rate (requests per second) | Burst |\n| ---- | ---- |\n| 10 | 10 |\n\nThe `x-amzn-RateLimit-Limit` response header returns the usage plan rate limits that were applied to the requested operation, when available. The table above indicates the default rate and burst values for this operation. Selling partners whose business demands require higher throughput may see higher rate and burst values than those shown here. For more information, see [Usage Plans and Rate Limits in the Selling Partner API](https://developer-docs.amazon.com/sp-api/docs/usage-plans-and-rate-limits-in-the-sp-api).", + "description": "Returns a list of customer invoices created during a time frame that you specify. You define the time frame using the `createdAfter` and `createdBefore` parameters. You must use both of these parameters. The date range to search must be no more than 7 days.\n\n**Usage Plan:**\n\n| Rate (requests per second) | Burst |\n| ---- | ---- |\n| 10 | 10 |\n\nThe `x-amzn-RateLimit-Limit` response header returns the usage plan rate limits that were applied to the requested operation, when available. The table above indicates the default rate and burst values for this operation. Selling partners whose business demands require higher throughput may see higher rate and burst values than those shown here. For more information, refer to [Usage Plans and Rate Limits in the Selling Partner API](https://developer-docs.amazon.com/sp-api/docs/usage-plans-and-rate-limits-in-the-sp-api).", "operationId": "getCustomerInvoices", "parameters": [ { "name": "shipFromPartyId", "in": "query", - "description": "The vendor warehouseId for order fulfillment. If not specified, the result will contain orders for all warehouses.", + "description": "The vendor `warehouseId` for order fulfillment. If not specified, the result will contain orders for all warehouses.", "required": false, "type": "string" }, @@ -1709,7 +1616,7 @@ { "name": "createdAfter", "in": "query", - "description": "Orders that became available after this date and time will be included in the result. Must be in ISO-8601 date/time format.", + "description": "Orders that became available after this date and time will be included in the result. Must be in ISO 8601 date/time format.", "required": true, "type": "string", "format": "date-time" @@ -1717,7 +1624,7 @@ { "name": "createdBefore", "in": "query", - "description": "Orders that became available before this date and time will be included in the result. Must be in ISO-8601 date/time format.", + "description": "Orders that became available before this date and time will be included in the result. Must be in ISO 8601 date/time format.", "required": true, "type": "string", "format": "date-time" @@ -1802,35 +1709,35 @@ "response": { "payload": { "pagination": { - "nextToken": "MDAwMDAwMDAwMQ==" - }, - "customerInvoices": [ - { - "purchaseOrderNumber": "PO98676856", - "content": "base 64 content goes here" - } - ] + "nextToken": "MDAwMDAwMDAwMQ==" + }, + "customerInvoices": [ + { + "purchaseOrderNumber": "PO98676856", + "content": "base 64 content goes here" + } + ] + } } - } - }, - { - "request": { - "parameters": {} }, - "response": { - "payload": { - "pagination": { - "nextToken": "MDAwMDAwMDAwMQ==" - }, - "customerInvoices": [ - { - "purchaseOrderNumber": "mockpurchaseOrderNumber", - "content": "base 64 content goes here" - } - ] + { + "request": { + "parameters": {} + }, + "response": { + "payload": { + "pagination": { + "nextToken": "MDAwMDAwMDAwMQ==" + }, + "customerInvoices": [ + { + "purchaseOrderNumber": "mockpurchaseOrderNumber", + "content": "base 64 content goes here" + } + ] + } } } - } ] } }, @@ -1941,10 +1848,6 @@ "$ref": "#/definitions/GetCustomerInvoiceResponse" }, "headers": { - "x-amzn-RateLimit-Limit": { - "type": "string", - "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." - }, "x-amzn-RequestId": { "type": "string", "description": "Unique request reference identifier." @@ -1957,10 +1860,6 @@ "$ref": "#/definitions/GetCustomerInvoiceResponse" }, "headers": { - "x-amzn-RateLimit-Limit": { - "type": "string", - "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." - }, "x-amzn-RequestId": { "type": "string", "description": "Unique request reference identifier." @@ -1973,10 +1872,6 @@ "$ref": "#/definitions/GetCustomerInvoiceResponse" }, "headers": { - "x-amzn-RateLimit-Limit": { - "type": "string", - "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." - }, "x-amzn-RequestId": { "type": "string", "description": "Unique request reference identifier." @@ -1989,10 +1884,6 @@ "$ref": "#/definitions/GetCustomerInvoiceResponse" }, "headers": { - "x-amzn-RateLimit-Limit": { - "type": "string", - "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." - }, "x-amzn-RequestId": { "type": "string", "description": "Unique request reference identifier." @@ -2007,7 +1898,7 @@ "tags": [ "customerInvoices" ], - "description": "Returns a customer invoice based on the purchaseOrderNumber that you specify.\n\n**Usage Plan:**\n\n| Rate (requests per second) | Burst |\n| ---- | ---- |\n| 10 | 10 |\n\nThe `x-amzn-RateLimit-Limit` response header returns the usage plan rate limits that were applied to the requested operation, when available. The table above indicates the default rate and burst values for this operation. Selling partners whose business demands require higher throughput may see higher rate and burst values than those shown here. For more information, see [Usage Plans and Rate Limits in the Selling Partner API](https://developer-docs.amazon.com/sp-api/docs/usage-plans-and-rate-limits-in-the-sp-api).", + "description": "Returns a customer invoice based on the `purchaseOrderNumber` that you specify.\n\n**Usage Plan:**\n\n| Rate (requests per second) | Burst |\n| ---- | ---- |\n| 10 | 10 |\n\nThe `x-amzn-RateLimit-Limit` response header returns the usage plan rate limits that were applied to the requested operation, when available. The table above indicates the default rate and burst values for this operation. Selling partners whose business demands require higher throughput may see higher rate and burst values than those shown here. For more information, refer to [Usage Plans and Rate Limits in the Selling Partner API](https://developer-docs.amazon.com/sp-api/docs/usage-plans-and-rate-limits-in-the-sp-api).", "operationId": "getCustomerInvoice", "parameters": [ { @@ -2113,15 +2004,11 @@ } }, "401": { - "description": "The request's Authorization header is not formatted correctly or does not contain a valid token.", + "description": "The request's authorization header is not formatted correctly or does not contain a valid token.", "schema": { "$ref": "#/definitions/GetCustomerInvoiceResponse" }, "headers": { - "x-amzn-RateLimit-Limit": { - "type": "string", - "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." - }, "x-amzn-RequestId": { "type": "string", "description": "Unique request reference identifier." @@ -2162,10 +2049,6 @@ "$ref": "#/definitions/GetCustomerInvoiceResponse" }, "headers": { - "x-amzn-RateLimit-Limit": { - "type": "string", - "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." - }, "x-amzn-RequestId": { "type": "string", "description": "Unique request reference identifier." @@ -2178,10 +2061,6 @@ "$ref": "#/definitions/GetCustomerInvoiceResponse" }, "headers": { - "x-amzn-RateLimit-Limit": { - "type": "string", - "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." - }, "x-amzn-RequestId": { "type": "string", "description": "Unique request reference identifier." @@ -2194,10 +2073,6 @@ "$ref": "#/definitions/GetCustomerInvoiceResponse" }, "headers": { - "x-amzn-RateLimit-Limit": { - "type": "string", - "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." - }, "x-amzn-RequestId": { "type": "string", "description": "Unique request reference identifier." @@ -2210,10 +2085,6 @@ "$ref": "#/definitions/GetCustomerInvoiceResponse" }, "headers": { - "x-amzn-RateLimit-Limit": { - "type": "string", - "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." - }, "x-amzn-RequestId": { "type": "string", "description": "Unique request reference identifier." @@ -2228,13 +2099,13 @@ "tags": [ "vendorShipping" ], - "description": "Returns a list of packing slips for the purchase orders that match the criteria specified. Date range to search must not be more than 7 days.\n\n**Usage Plan:**\n\n| Rate (requests per second) | Burst |\n| ---- | ---- |\n| 10 | 10 |\n\nThe `x-amzn-RateLimit-Limit` response header returns the usage plan rate limits that were applied to the requested operation, when available. The table above indicates the default rate and burst values for this operation. Selling partners whose business demands require higher throughput may see higher rate and burst values than those shown here. For more information, see [Usage Plans and Rate Limits in the Selling Partner API](https://developer-docs.amazon.com/sp-api/docs/usage-plans-and-rate-limits-in-the-sp-api).", + "description": "Returns a list of packing slips for the purchase orders that match the criteria specified. Date range to search must not be more than 7 days.\n\n**Usage Plan:**\n\n| Rate (requests per second) | Burst |\n| ---- | ---- |\n| 10 | 10 |\n\nThe `x-amzn-RateLimit-Limit` response header returns the usage plan rate limits that were applied to the requested operation, when available. The table above indicates the default rate and burst values for this operation. Selling partners whose business demands require higher throughput may see higher rate and burst values than those shown here. For more information, refer to [Usage Plans and Rate Limits in the Selling Partner API](https://developer-docs.amazon.com/sp-api/docs/usage-plans-and-rate-limits-in-the-sp-api).", "operationId": "getPackingSlips", "parameters": [ { "name": "shipFromPartyId", "in": "query", - "description": "The vendor warehouseId for order fulfillment. If not specified the result will contain orders for all warehouses.", + "description": "The vendor `warehouseId` for order fulfillment. If not specified the result will contain orders for all warehouses.", "required": false, "type": "string" }, @@ -2250,7 +2121,7 @@ { "name": "createdAfter", "in": "query", - "description": "Packing slips that became available after this date and time will be included in the result. Must be in ISO-8601 date/time format.", + "description": "Packing slips that became available after this date and time will be included in the result. Must be in ISO 8601 date/time format.", "required": true, "type": "string", "format": "date-time" @@ -2258,7 +2129,7 @@ { "name": "createdBefore", "in": "query", - "description": "Packing slips that became available before this date and time will be included in the result. Must be in ISO-8601 date/time format.", + "description": "Packing slips that became available before this date and time will be included in the result. Must be in ISO 8601 date/time format.", "required": true, "type": "string", "format": "date-time" @@ -2352,47 +2223,47 @@ "response": { "payload": { "pagination": { - "nextToken": "NEBxNEBxNEBxNR==" - }, - "packingSlips": [ - { - "purchaseOrderNumber": "UvgABdBjQ", - "content": "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MSAxMjkyIDk3NF0vSXRhbGljQW5nbGUgMC9Bc2NlbnQgOTc0L0NJRFNldCAyMiAwIFI+PgplbmRvYmoKMTkgMCBvYmo8PC9EVyAwL1N1YnR5cGUvQ0lERm9udFR5cGUyL0NJRFN5c3RlbUluZm88PC9TdXBwbGVtZW50IDAvUmVnaXN0cnkoQWRvYmUpL09yZGVyaW5nKFVDUyk+Pi9UeXBlL0ZvbnQvQmFzZUZvbnQvRUFBQUFBK0FtYXpvbkVtYmVyLVJlZ3VsYXIvRm9udERlc2NyaXB0b3IgMjAgMCBSL1dbMFs1MDAgMjYyIDM5MCA2OTAgNDgxIDc2OSA1OTIgNjAwIDYwNCA1NzAgNjQwIDc3NyAzODMgNTA5IDI0OCAyNzggNTI5IDg5MyAzNzMgMjU1IDQ2MSA1NzQgNTgwIDUyNyAyODUgNTg2IDg0MCA0MzIgNTg2IDU4NiA1ODYgNTg2IDU4NiA1NzUgNjA3IDU5MCA1ODYgNzc3IDU4NiA1ODYgNTEwIDU5MiA1ODggNTgwIDM3MyA2MjEgNjEzIDUyNiAyNDggNzA2IDUyNCA1ODggMjQ4IDYwNCA2NDIgNTg2IDQ3MiA0NzZdXS9DSURUb0dJRE1hcC9JZGVudGl0eT4+CmVuZG9iagoxNyAwIG9iajw8L1N1YnR5cGUvVHlwZTAvVHlwZS9Gb250L0Jhc2VGb250L0VBQUFBQStBbWF6b25FbWJlci1SZWd1bGFyL0VuY29kaW5nL0lkZW50aXR5LUgvVG9Vbmljb2RlIDE4IDAgUi9EZXNjZW5kYW50Rm9udHNbMTkgMCBSXT4+CmVuZG9iagoyMyAwIG9iaiA8PC9Db2xvclNwYWNlWy9JQ0NCYXNlZCA3IDAgUl0vTmFtZS9JbTMvU3VidHlwZS9JbWFnZS9IZWlnaHQgMTYwL0ZpbHRlci9GbGF0ZURlY29kZS9UeXBlL1hPYmplY3QvV2lkdGggMzc2L0xlbmd0aCA1MTA4L0JpdHNQZXJDb21wb25lbnQgOD4+c3RyZWFtCnic7Z2/rhxFGsUnu9JKKzmzLDkgsmQ5cWRZkDhBSEROECIjQIjQgYHwBrCklhaILQE5knmAEd4HMJcXwDyB7xv0np6zc/abquqenp4/1dM+P5VGM9PV1VXVX53+qrqrummMMcYYY4wxxhhjjDHG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WrvdbmLy5qUZfOZAMnPQmbcEXKIpyZu/yMyHy4fl+fcDXKKZX55Xq9M/B/in984eUxIvSYAT7XY7JQEiJQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQG6D0ryvFqdfz/AJdput2+WZApzv1icfz/AJZqDx5tTzPF4vLm6fnl5Of+WgItzd3s7x5I3Lz39eJp15v0AF2ez2UxJ3rt6OBy+ffk6Y845twRcnAnFeweSV5OauWe/359tS8BluV8sThleXmPycXCAT+j1d5nT34FMRmYIWj4spyrewQLThMfvj3PG+A//dTYZeX325urasqzPvOZcsV6vj8fjn8gUAAAAAAC/+xt439y+CmVuZHN0cmVhbQplbmRvYmoKNSAwIG9iajw8L0NvbG9yU3BhY2U8PC9EZWZhdWx0UkdCIDYgMCBSL0lDQzEzIDggMCBSPj4vUHJvY1NldFsvUERGL0ltYWdlQi9JbWFnZUMvVGV4dF0vRm9udDw8L0YzIDEwIDAgUi9GMjYgMTEgMCBSL0YyNCAxNyAwIFI+Pi9YT2JqZWN0PDwvSW0zIDIzIDAgUi9JbTQgMjQgMCBSL0ltMSAyNSAwIFIvSW0yIDI2IDAgUj4+Pj4KZW5kb2JqCjMgMCBvYmo8PC9Db250ZW50cyA0IDAgUi9CbGVlZEJveFswIDAgNjEyIDc5Ml0vVHlwZS9QYWdlL1Jlc291cmNlcyA1IDAgUi9Dcm9wQm94WzAgMCA2MTIgNzkyXS9QYXJlbnQgMSAwIFIvTWVkaWFCb3hbMCAwIDYxMiA3OTJdL1RyaW1Cb3hbMCAwIDYxMiA3OTJdPj4KZW5kb2JqCjEgMCBvYmo8PC9LaWRzWzMgMCBSXS9UeXBlL1BhZ2VzL0NvdW50IDE+PgplbmRvYmoKMjcgMCBvYmo8PC9UeXBlL0NhdGFsb2cvUGFnZXMgMSAwIFI+PgplbmRvYmoKMjggMCBvYmo8PC9Nb2REYXRlKEQ6MjAxOTAxMzAyMjQxMTBaKS9DcmVhdGlvbkRhdGUoRDoyMDE5MDEzMDIyNDExMFopL1Byb2R1Y2VyKGlUZXh0IDEuNCBcKGJ5IGxvd2FnaWUuY29tXCkpPj4KZW5kb2JqCnhyZWYKMCAyOQowMDAwMDAwMDAwIDY1NTM1IGYgCjAwMDAwNjU1NjkgMDAwMDAgbiAKMDAwMDAwMDAwMCA2NTUzNiBuIAowMDAwMDY1NDEwIDAwMDAwIG4gCjAwMDAwMDAwMTUgMDAwMDAgbiAKMDAwMDA2NTIxNyAwMDAwMCBuIAowMDAwMDA1OTcxIDAwMDAwIG4gCjAwMDAwMDMzMDcgMDAwMDAgbiAKMDAwMDAwNjgzMiAwMDAwMCBuIAowMDAwMDA2MDAzIDAwMDAwIG4gCjAwMDAwMDY4NjQgMDAwMDAgbiAKMDAwMDAxMjAwNSAwMDAwMCBuIAowMDAwMDA2OTU3IDAwMDAwIG4gCjAwMDAwMTE1OTggMDAwMDAgbiAKMDAwMDAxMTM3OSAwMDAwMCBuIAowMDAwMDA3NDgyIDAwMDAwIG4gCjAwMDAwMTEyODYgMDAwMDAgbiAKMDAwMDAxNzU5NCAwMDAwMCBuIAowMDAwMDEyMTQzIDAwMDAwIG4gCjAwMDAwMTcxNjAgMDAwMDAgbiAKMDAwMDAxNjkzOCAwMDAwMCBuIAowMDAwMDEyNjk4IDAwMDAwIG4gCjAwMDAwMTY4NDEgMDAwMDAgbiAKMDAwMDAxNzczNSAwMDAwMCBuIAowMDAwMDIzMDE2IDAwMDAwIG4gCjAwMDAwMjk3NzUgMDAwMDAgbiAKMDAwMDA2MjY0NCAwMDAwMCBuIAowMDAwMDY1NjE5IDAwMDAwIG4gCjAwMDAwNjU2NjQgMDAwMDAgbiAKdHJhaWxlcgo8PC9JbmZvIDI4IDAgUi9JRCBbPGIxMjZlODIwMDdjNzZhNmUxNTFlNzQ0Zjg2MjBmNDJmPjw1YmZlYjU4YTM5MjllZmRiZmQ2ZjU5MWM2MGIwNjc0MD5dL1Jvb3QgMjcgMCBSL1NpemUgMjk+PgpzdGFydHhyZWYKNjU3ODIKJSVFT0YK", - "contentType": "application/pdf" + "nextToken": "NEBxNEBxNEBxNR==" }, - { - "purchaseOrderNumber": "VvgCDdBjR", - "content": "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MSAxMjkyIDk3NF0vSXRhbGljQW5nbGUgMC9Bc2NlbnQgOTc0L0NJRFNldCAyMiAwIFI+PgplbmRvYmoKMTkgMCBvYmo8PC9EVyAwL1N1YnR5cGUvQ0lERm9udFR5cGUyL0NJRFN5c3RlbUluZm88PC9TdXBwbGVtZW50IDAvUmVnaXN0cnkoQWRvYmUpL09yZGVyaW5nKFVDUyk+Pi9UeXBlL0ZvbnQvQmFzZUZvbnQvRUFBQUFBK0FtYXpvbkVtYmVyLVJlZ3VsYXIvRm9udERlc2NyaXB0b3IgMjAgMCBSL1dbMFs1MDAgMjYyIDM5MCA2OTAgNDgxIDc2OSA1OTIgNjAwIDYwNCA1NzAgNjQwIDc3NyAzODMgNTA5IDI0OCAyNzggNTI5IDg5MyAzNzMgMjU1IDQ2MSA1NzQgNTgwIDUyNyAyODUgNTg2IDg0MCA0MzIgNTg2IDU4NiA1ODYgNTg2IDU4NiA1NzUgNjA3IDU5MCA1ODYgNzc3IDU4NiA1ODYgNTEwIDU5MiA1ODggNTgwIDM3MyA2MjEgNjEzIDUyNiAyNDggNzA2IDUyNCA1ODggMjQ4IDYwNCA2NDIgNTg2IDQ3MiA0NzZdXS9DSURUb0dJRE1hcC9JZGVudGl0eT4+CmVuZG9iagoxNyAwIG9iajw8L1N1YnR5cGUvVHlwZTAvVHlwZS9Gb250L0Jhc2VGb250L0VBQUFBQStBbWF6b25FbWJlci1SZWd1bGFyL0VuY29kaW5nL0lkZW50aXR5LUgvVG9Vbmljb2RlIDE4IDAgUi9EZXNjZW5kYW50Rm9udHNbMTkgMCBSXT4+CmVuZG9iagoyMyAwIG9iaiA8PC9Db2xvclNwYWNlWy9JQ0NCYXNlZCA3IDAgUl0vTmFtZS9JbTMvU3VidHlwZS9JbWFnZS9IZWlnaHQgMTYwL0ZpbHRlci9GbGF0ZURlY29kZS9UeXBlL1hPYmplY3QvV2lkdGggMzc2L0xlbmd0aCA1MTA4L0JpdHNQZXJDb21wb25lbnQgOD4+c3RyZWFtCnic7Z2/rhxFGsUnu9JKKzmzLDkgsmQ5cWRZkDhBSEROECIjQIjQgYHwBrCklhaILQE5knmAEd4HMJcXwDyB7xv0np6zc/abquqenp4/1dM+P5VGM9PV1VXVX53+qrqrummMMcYYY4wxxhhjjDHG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WrvdbmLy5qUZfOZAMnPQmbcEXKIpyZu/yMyHy4fl+fcDXKKZX55Xq9M/B/in984eUxIvSYAT7XY7JQEiJQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQG6D0ryvFqdfz/AJdput2+WZApzv1icfz/AJZqDx5tTzPF4vLm6fnl5Of+WgItzd3s7x5I3Lz39eJp15v0AF2ez2UxJ3rt6OBy+ffk6Y845twRcnAnFeweSV5OauWe/359tS8BluV8sThleXmPycXCAT+j1d5nT34FMRmYIWj4spyrewQLThMfvj3PG+A//dTYZeX325urasqzPvOZcsV6vj8fjn8gUAAAAAAC/+xt439y+CmVuZHN0cmVhbQplbmRvYmoKNSAwIG9iajw8L0NvbG9yU3BhY2U8PC9EZWZhdWx0UkdCIDYgMCBSL0lDQzEzIDggMCBSPj4vUHJvY1NldFsvUERGL0ltYWdlQi9JbWFnZUMvVGV4dF0vRm9udDw8L0YzIDEwIDAgUi9GMjYgMTEgMCBSL0YyNCAxNyAwIFI+Pi9YT2JqZWN0PDwvSW0zIDIzIDAgUi9JbTQgMjQgMCBSL0ltMSAyNSAwIFIvSW0yIDI2IDAgUj4+Pj4KZW5kb2JqCjMgMCBvYmo8PC9Db250ZW50cyA0IDAgUi9CbGVlZEJveFswIDAgNjEyIDc5Ml0vVHlwZS9QYWdlL1Jlc291cmNlcyA1IDAgUi9Dcm9wQm94WzAgMCA2MTIgNzkyXS9QYXJlbnQgMSAwIFIvTWVkaWFCb3hbMCAwIDYxMiA3OTJdL1RyaW1Cb3hbMCAwIDYxMiA3OTJdPj4KZW5kb2JqCjEgMCBvYmo8PC9LaWRzWzMgMCBSXS9UeXBlL1BhZ2VzL0NvdW50IDE+PgplbmRvYmoKMjcgMCBvYmo8PC9UeXBlL0NhdGFsb2cvUGFnZXMgMSAwIFI+PgplbmRvYmoKMjggMCBvYmo8PC9Nb2REYXRlKEQ6MjAxOTAxMzAyMjQxMTBaKS9DcmVhdGlvbkRhdGUoRDoyMDE5MDEzMDIyNDExMFopL1Byb2R1Y2VyKGlUZXh0IDEuNCBcKGJ5IGxvd2FnaWUuY29tXCkpPj4KZW5kb2JqCnhyZWYKMCAyOQowMDAwMDAwMDAwIDY1NTM1IGYgCjAwMDAwNjU1NjkgMDAwMDAgbiAKMDAwMDAwMDAwMCA2NTUzNiBuIAowMDAwMDY1NDEwIDAwMDAwIG4gCjAwMDAwMDAwMTUgMDAwMDAgbiAKMDAwMDA2NTIxNyAwMDAwMCBuIAowMDAwMDA1OTcxIDAwMDAwIG4gCjAwMDAwMDMzMDcgMDAwMDAgbiAKMDAwMDAwNjgzMiAwMDAwMCBuIAowMDAwMDA2MDAzIDAwMDAwIG4gCjAwMDAwMDY4NjQgMDAwMDAgbiAKMDAwMDAxMjAwNSAwMDAwMCBuIAowMDAwMDA2OTU3IDAwMDAwIG4gCjAwMDAwMTE1OTggMDAwMDAgbiAKMDAwMDAxMTM3OSAwMDAwMCBuIAowMDAwMDA3NDgyIDAwMDAwIG4gCjAwMDAwMTEyODYgMDAwMDAgbiAKMDAwMDAxNzU5NCAwMDAwMCBuIAowMDAwMDEyMTQzIDAwMDAwIG4gCjAwMDAwMTcxNjAgMDAwMDAgbiAKMDAwMDAxNjkzOCAwMDAwMCBuIAowMDAwMDEyNjk4IDAwMDAwIG4gCjAwMDAwMTY4NDEgMDAwMDAgbiAKMDAwMDAxNzczNSAwMDAwMCBuIAowMDAwMDIzMDE2IDAwMDAwIG4gCjAwMDAwMjk3NzUgMDAwMDAgbiAKMDAwMDA2MjY0NCAwMDAwMCBuIAowMDAwMDY1NjE5IDAwMDAwIG4gCjAwMDAwNjU2NjQgMDAwMDAgbiAKdHJhaWxlcgo8PC9JbmZvIDI4IDAgUi9JRCBbPGIxMjZlODIwMDdjNzZhNmUxNTFlNzQ0Zjg2MjBmNDJmPjw1YmZlYjU4YTM5MjllZmRiZmQ2ZjU5MWM2MGIwNjc0MD5dL1Jvb3QgMjcgMCBSL1NpemUgMjk+PgpzdGFydHhyZWYKNjU3ODIKJSVFT0YK", - "contentType": "application/pdf" - } - ] + "packingSlips": [ + { + "purchaseOrderNumber": "UvgABdBjQ", + "content": "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MSAxMjkyIDk3NF0vSXRhbGljQW5nbGUgMC9Bc2NlbnQgOTc0L0NJRFNldCAyMiAwIFI+PgplbmRvYmoKMTkgMCBvYmo8PC9EVyAwL1N1YnR5cGUvQ0lERm9udFR5cGUyL0NJRFN5c3RlbUluZm88PC9TdXBwbGVtZW50IDAvUmVnaXN0cnkoQWRvYmUpL09yZGVyaW5nKFVDUyk+Pi9UeXBlL0ZvbnQvQmFzZUZvbnQvRUFBQUFBK0FtYXpvbkVtYmVyLVJlZ3VsYXIvRm9udERlc2NyaXB0b3IgMjAgMCBSL1dbMFs1MDAgMjYyIDM5MCA2OTAgNDgxIDc2OSA1OTIgNjAwIDYwNCA1NzAgNjQwIDc3NyAzODMgNTA5IDI0OCAyNzggNTI5IDg5MyAzNzMgMjU1IDQ2MSA1NzQgNTgwIDUyNyAyODUgNTg2IDg0MCA0MzIgNTg2IDU4NiA1ODYgNTg2IDU4NiA1NzUgNjA3IDU5MCA1ODYgNzc3IDU4NiA1ODYgNTEwIDU5MiA1ODggNTgwIDM3MyA2MjEgNjEzIDUyNiAyNDggNzA2IDUyNCA1ODggMjQ4IDYwNCA2NDIgNTg2IDQ3MiA0NzZdXS9DSURUb0dJRE1hcC9JZGVudGl0eT4+CmVuZG9iagoxNyAwIG9iajw8L1N1YnR5cGUvVHlwZTAvVHlwZS9Gb250L0Jhc2VGb250L0VBQUFBQStBbWF6b25FbWJlci1SZWd1bGFyL0VuY29kaW5nL0lkZW50aXR5LUgvVG9Vbmljb2RlIDE4IDAgUi9EZXNjZW5kYW50Rm9udHNbMTkgMCBSXT4+CmVuZG9iagoyMyAwIG9iaiA8PC9Db2xvclNwYWNlWy9JQ0NCYXNlZCA3IDAgUl0vTmFtZS9JbTMvU3VidHlwZS9JbWFnZS9IZWlnaHQgMTYwL0ZpbHRlci9GbGF0ZURlY29kZS9UeXBlL1hPYmplY3QvV2lkdGggMzc2L0xlbmd0aCA1MTA4L0JpdHNQZXJDb21wb25lbnQgOD4+c3RyZWFtCnic7Z2/rhxFGsUnu9JKKzmzLDkgsmQ5cWRZkDhBSEROECIjQIjQgYHwBrCklhaILQE5knmAEd4HMJcXwDyB7xv0np6zc/abquqenp4/1dM+P5VGM9PV1VXVX53+qrqrummMMcYYY4wxxhhjjDHG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WrvdbmLy5qUZfOZAMnPQmbcEXKIpyZu/yMyHy4fl+fcDXKKZX55Xq9M/B/in984eUxIvSYAT7XY7JQEiJQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQG6D0ryvFqdfz/AJdput2+WZApzv1icfz/AJZqDx5tTzPF4vLm6fnl5Of+WgItzd3s7x5I3Lz39eJp15v0AF2ez2UxJ3rt6OBy+ffk6Y845twRcnAnFeweSV5OauWe/359tS8BluV8sThleXmPycXCAT+j1d5nT34FMRmYIWj4spyrewQLThMfvj3PG+A//dTYZeX325urasqzPvOZcsV6vj8fjn8gUAAAAAAC/+xt439y+CmVuZHN0cmVhbQplbmRvYmoKNSAwIG9iajw8L0NvbG9yU3BhY2U8PC9EZWZhdWx0UkdCIDYgMCBSL0lDQzEzIDggMCBSPj4vUHJvY1NldFsvUERGL0ltYWdlQi9JbWFnZUMvVGV4dF0vRm9udDw8L0YzIDEwIDAgUi9GMjYgMTEgMCBSL0YyNCAxNyAwIFI+Pi9YT2JqZWN0PDwvSW0zIDIzIDAgUi9JbTQgMjQgMCBSL0ltMSAyNSAwIFIvSW0yIDI2IDAgUj4+Pj4KZW5kb2JqCjMgMCBvYmo8PC9Db250ZW50cyA0IDAgUi9CbGVlZEJveFswIDAgNjEyIDc5Ml0vVHlwZS9QYWdlL1Jlc291cmNlcyA1IDAgUi9Dcm9wQm94WzAgMCA2MTIgNzkyXS9QYXJlbnQgMSAwIFIvTWVkaWFCb3hbMCAwIDYxMiA3OTJdL1RyaW1Cb3hbMCAwIDYxMiA3OTJdPj4KZW5kb2JqCjEgMCBvYmo8PC9LaWRzWzMgMCBSXS9UeXBlL1BhZ2VzL0NvdW50IDE+PgplbmRvYmoKMjcgMCBvYmo8PC9UeXBlL0NhdGFsb2cvUGFnZXMgMSAwIFI+PgplbmRvYmoKMjggMCBvYmo8PC9Nb2REYXRlKEQ6MjAxOTAxMzAyMjQxMTBaKS9DcmVhdGlvbkRhdGUoRDoyMDE5MDEzMDIyNDExMFopL1Byb2R1Y2VyKGlUZXh0IDEuNCBcKGJ5IGxvd2FnaWUuY29tXCkpPj4KZW5kb2JqCnhyZWYKMCAyOQowMDAwMDAwMDAwIDY1NTM1IGYgCjAwMDAwNjU1NjkgMDAwMDAgbiAKMDAwMDAwMDAwMCA2NTUzNiBuIAowMDAwMDY1NDEwIDAwMDAwIG4gCjAwMDAwMDAwMTUgMDAwMDAgbiAKMDAwMDA2NTIxNyAwMDAwMCBuIAowMDAwMDA1OTcxIDAwMDAwIG4gCjAwMDAwMDMzMDcgMDAwMDAgbiAKMDAwMDAwNjgzMiAwMDAwMCBuIAowMDAwMDA2MDAzIDAwMDAwIG4gCjAwMDAwMDY4NjQgMDAwMDAgbiAKMDAwMDAxMjAwNSAwMDAwMCBuIAowMDAwMDA2OTU3IDAwMDAwIG4gCjAwMDAwMTE1OTggMDAwMDAgbiAKMDAwMDAxMTM3OSAwMDAwMCBuIAowMDAwMDA3NDgyIDAwMDAwIG4gCjAwMDAwMTEyODYgMDAwMDAgbiAKMDAwMDAxNzU5NCAwMDAwMCBuIAowMDAwMDEyMTQzIDAwMDAwIG4gCjAwMDAwMTcxNjAgMDAwMDAgbiAKMDAwMDAxNjkzOCAwMDAwMCBuIAowMDAwMDEyNjk4IDAwMDAwIG4gCjAwMDAwMTY4NDEgMDAwMDAgbiAKMDAwMDAxNzczNSAwMDAwMCBuIAowMDAwMDIzMDE2IDAwMDAwIG4gCjAwMDAwMjk3NzUgMDAwMDAgbiAKMDAwMDA2MjY0NCAwMDAwMCBuIAowMDAwMDY1NjE5IDAwMDAwIG4gCjAwMDAwNjU2NjQgMDAwMDAgbiAKdHJhaWxlcgo8PC9JbmZvIDI4IDAgUi9JRCBbPGIxMjZlODIwMDdjNzZhNmUxNTFlNzQ0Zjg2MjBmNDJmPjw1YmZlYjU4YTM5MjllZmRiZmQ2ZjU5MWM2MGIwNjc0MD5dL1Jvb3QgMjcgMCBSL1NpemUgMjk+PgpzdGFydHhyZWYKNjU3ODIKJSVFT0YK", + "contentType": "application/pdf" + }, + { + "purchaseOrderNumber": "VvgCDdBjR", + "content": "JVBERi0xLjQKJeLjz9MKNCAwIG9iaiA8PC9GaWx0ZXIvRmxhdGVEZWNvZGUvTGVuZ3RoIDMyMjQ+PnN0cmVhbQp4nOVcW4/dthF+31+hlwLJgxlyhlegKOD1ro32qUEW6IOTh6BOUhR2AqcB+vc7pEiJkmYlitrd3mwYx+LhZTjXb6g5/HyjBkl/X8UPF2D466ebzzdyUGOLlUrAoLTQ8Qs5/HRz+3Dz1VscFAwPP9ZjlRRgTQjBheHh0/D+i2+/+PP3P/0wfPnd8PCnuSNaIRVIqaTeDlGrzhqE9RiCV2rbefjlx/XkVu70X09unUBjpQTPdP72y7H3/cPN1zU/jMeKH6uvrPDTV5/p76t5IwoEKEMPedT4jRoMGJHWtQMQEUYqeqBOw6uKtXFU+vhU95fDx8WjAI/UJKf//W34y83PRN+7m/ffUfMH+sJYO/zzhp3qm0RX8ALBSYnj6uCFC/EPPUAQ3iX9+OqPn9Rw98tiI8p4oRyOO/zd8A7uhn/89v2vvyUOvUuao4QkuSs/zp2fnCOy5OCl0DorHwiPOkrDpY7jo7UucyLPF/fpaNnh1x+GHxMpLeNoVZOGojk9FoTqHYrCm06KtQgjt86vagX2EuyE6x3qyQA6hSOF6paOUsKYxCl9fiwK27+w7ueVMolZXTQ70U+yJyfWOzYI6Dch2a+SAMV2z2sWYLLdLisCLUz3WJOst4tkK0L/uuGKnwvC9TIaJcXAzqFqdJJdG0a8oJWoR/PvW9leYDUN7me1F91DQ/GVHRvWclTMrg0TosP+lXHkVo+71KbfXWqb3WVH9HYXrFiHkVldRBvJucuvMzb74ecPBc3XGJ7MSANKqWkE4eCv3oIeQgT6scvDh5vfE2bDPwwPfydsAWpu06mNoK/Vc6PJHUPd06ZGQyjTz40uN6ok3tzoc6NGOzeG3CirdV7nNrfpl9F7wagyYWxQYcSZc/OImF8IZDNsJwQRjIx7zly3lJGwbDeiZpHObWHL9TXH9agNuU2lNsquYH8ybqzLYlXAyGoj6b51R/ERavb7Y4vofbXfW6aNG/sm02cq+u7KPqqx98x+N0zmBhYG6GqBt7mtIk7JTJzXuwQrtd2YAmazF5iiMDPezIJUo4DIkR0o1RMrhjKZFjUrgbKZFqXOKwbTphzTDwp9sNtPeaYtMG2N63L92H1w9HG6wdHC6AG7D0avWF5x8715xPcSzFKAa9/7qjjfPY88dfs4gFv8X+aPs445D/1mQSQ1KtJf5WgXO4cwT7MsEwdoEu2jRusp+vpVGLidom8lhTeTpVQu5C43WlfZxT0nm5mlzVLA4NLJEDlork2uHs+yaTXVUkrVly3Sel6ypiPRIqvH5fk+BYAoruj0k9HWZ4xle5oSTn9aIIRR80kd0ySXT2e3vZxoKYz5uxZZPCNJfeb0NscOgMpyijnJCs3mKK0F4MbtUjjSTOyWdcB0JfCvfSyIUFltDsBQA9wcgCkoW7+mZ607Tgl7WneMXvxf5o/TWFcz+kGNLYrxNMuudQCNsNpFe1Ut2pARB4UpU8m4wBV7pCFFxLVrzsF1EwwVpQVGHYjoGcIbOtqHJ47syOJZg+2uv4w4EcmojS3+kkAM5yNjoG7h4L8hJJ3k8MsHUsZRLvme8s+1adxl5Ua9gRjUWDmmDO9RVB5V3eeOru7oy2hgsrzaeaqSNR2OLuv4ajTIyX3OHcuBhassfaK87liWBi4VrYkEVdI97fc5BAXAh3ltKH7fbJKnBgbxguCYMcehwGSCC6ZzEgede2JNZ/ucrYKEKfer12G3DkXd1NHialq8CqOOaYSiCLaaE8aerOMCI2QyoDABPfU6BvOYccWIk6SRHNlsXNX4eAAdx3tKk/N48HJ8Tx7/UfCEQP9exwQgOsWYGdLz7Q6AbPKPLwwRT/rGl8W0ZyPTm1EQ6i76tyjgqN/J3bBCScisSSjPAMFOMv7pAeHjzIV4yhdxmQ5PwGY52FiwsqqyQJoY7fTVnqSt8AklSjOlbNHyYr5mc+pWPl2Cd4WKqhRCmvEMjJbil3HkLyStgoDMgqe3HEizxrUe3cg+3A2bk64lipUlA/H6KAqW2OarIMpB6AyMKfPy+21s3lXoWeCJ5rQtB9sVH7PYZmYygvMUpryOESI8IjjQWWD3KVryAovv0HskBuWVyiLFmPLIKmfMWySAAwes5LJQPn6+VHaUBVExqduEwM4SiWVNj0oEvPA9EpmwjzswIS6x54TEW1XBSNLvTsgbLztjKEvjQSNrlNw68HpHmBV/n98foh9r8P5vhHnL+FeOxOmcWB5YK+8Ads6hWKeCDcdqHJkl8wj1OmVxFr2zp+FMHOCVs9KXPp8vs4eRO0qpu/wLlCQuHGnGWTslRW08Y1zKltdARvmnhHjzqpOXgt5xEBdkwB54JDxM+N88dt4xEV8jDOASXTYlZs8cWMYxHU8sU95h1ycJo/U4gXXdRPtpSXPmnVUTF3rEHqywJLG0t56C8FSyPVslMZ/0VH6ZPycqQGj/0ItfZffgqR7NHqqwYrR5nQrAwdvZ0L7mKtiNljkLjRN9GiCR8zF9akXWEc3JUgN9v36O/WLe9/kGCKPZGJpzubiWhNlQB2/SuPlpLBqHsWh8YftxukTIo5Xn1gmPJh0fGGGdzgXycxH62r5pTh8rhIB6gpsramBp4jhqRhCh0sq9Ri9CVWKUWYxCy815n6Usf6P+Kla8bw5Pl12xvMd3W51x5CQ3xuuWx3McTdlO48nDwZw8oQiZ0DpNzNZiBdbVHiyhJjdu9F0zVQ21EEMQWmM0hfSjDHnAZW6b7XvnyGRZbDZ0KjBEaHzNJB+tmsOSF5t04rRIngzBpC10QuO2rgRNJa1SEYZVrU6J2M5WBTIFEBGRW2jgNG7RGIS5NmcCFsaa/YU4iljS2XWg1LpA2ES4JTua+ZaPfL2QeLBznkcsO5jFWdL5nbOLc0WR7DrFPSwKJTnS2cXZnogM7fzOb/Nwz70LOdwlL1/cmhPa8U2tUkuz5zhyYkucxrZb267OgXXrHR2bJa+xHI+xYD8Why98QuA0qdmAeafAkcQ7GpakgllM6FAvtme7xmOBaqEqQGy2rHbtwDLlIjstWC+WHOw3tlLEOxqWHfdbw9KOUJGfqrvlE7GJt5eyT6XDvn5ddJ68drO6xPmPditizbU5kLXr7P6cqlp9Nq19N8VaG6uHrFO45pJYReA9dHvUuGV22eyRprflOjyrU+Ap2uJcEul4pOFgFfCa4Us7cDsRr5lAxgY3Lgq2a9IzoopjIMpb+lQTsM3syNa8OhAQC40v+oT2GFzmNBVJ7ei23dwueoVmV87TvgOoFqZlfXXQt8kgn98FtEZ7XpO4xnZcsO/3D+PyS6VE+9H20KnwGeIu4D6ek2Xni0XMS9mTC4vDiINowut3c8jm6Wd1uTV/OhHHy3Bz0BHLL1fAVZK7Yxr54SxYueQsLga99vOg5lB2jcPtDqSdw+2RjPUgWH5WV9sbFsQMVSFLblxYUZD8GcR0TKjqX/rtNFqhXcW8e4YoPhY2Yz8sb+1VOMgoWZfMUnQpbLFMfo6Iy2gnz8v/sEQcTFzVSknQ5PHXE5iVytRvhXxRqjoKlOzddRy7c2fc2UZx+bMW9tScm5IdzXVkN/OmELTxbCjCWp0aXgGwq/A0Pvk7DW4VmN60b99nrkTI8uduq05eCgkyBCvDo7/aZ34k/3KncMWqnDtCCf+9Du4EmGFjWLPb48HpKLZcWQGI420Xw6sQBMa14/UoJl5lgzFe5heyON3iZbzI9etplHVCS8wl2wHSO1cT4k/APWVpebSeX+dOb5e1iho2X4JWFTnXBc5A6iVDgh8f60canQqMx89NeXFsTsXF8aaY5TyxZV34PM4zF/xWFSAuVS38D1xxQTMe4MJpaQ4XsmGyhv1QyiIcHsDkqT7U12iRw5p8xteM+1lkx0Pi8jN2bSt3ooqbN5sbJxbcnDe0rY8hkYeq5yif+tq7VBGeb5yLbiQVRqV7YNJ9d7GkwpnFfXfjDXHjZS7eOAXZaOr77qQdomWvL4LZHRqvnhkvoUKD54eDUKlIo3N4DCTYT3x8JQEj32gTp4cXIXcST17C2v7hnrA/XBAcOW10/csrJaweLw/Uscrx9PhYX39lfbIcuMC++GMZhAv0u/lWv57lfbwf9ML4ILS6sD5IUp8LygvRQYZ+9QOCMsH32x6BDacuDI8XyVywHiDI7q+sH2j7F/wmkpsvF3D10I8qFzD3jod020r3/iOExAvqi9F1uwvrR999hf+O+HeF/15cCVwYKPCF/u0TkEap+rdP0NipC+LX8bIe0+98tRH+gvQ0ZfbB9rNf+zHt6d5+oGQV++k30Xmzzre+gW8szv0X9ROZ6QplbmRzdHJlYW0KZW5kb2JqCjcgMCBvYmogPDwvRmlsdGVyL0ZsYXRlRGVjb2RlL0xlbmd0aCAyNTkyL04gMz4+c3RyZWFtCnicnZZ3WFPnHsffc072YCQhbAh7hqVAAJERpoAM2aIQkgABEiAkDPdAVLCiqMhSBCmKWLBahtSJKA6K4t4NUgSUWqziwtFEnqf19vbe29vvH+d8nt/7+73n/Y33eQ4ApIBMrjAXVgFAKJKII/y9GbFx8QzsAIABHmCAPQAcbm62V1hYMJAr0JfNyJU7gX/Rq5sAUryvMRV7gf9PqtxssQQAKEzOs3j8XK6ci+ScmS/JVtgn5UxLzlAwjFKwWH5AOWsoOHWGrT/7zLCngnlCEU/OkXLO5gl5Cu6V84Y8KV/OiCKX4jwBP1/O1+VsnCkVCuT8RhEr5HPkOaBICruEz02Ts52cSeLICLac5wCAI6V+wclfsIRfIFEkxc7KLhQLUtMkDHOuBcPexYXFCODnZ/IlEmYYh5vBEfMY7CxhNkdUCMBMzp9FUdSWIS+yk72LkxPTwcb+i0L918W/KUVvZ+hF+OeeQfT+P2x/5ZfVAABrSl6bLX/YkqsA6FwHgMbdP2zGewBQlvet4/IX+dAV85ImkWS72trm5+fbCPhcG0VBf9f/dPgb+uJ7Nortfi8Pw4efwpFmShiKunGzMrOkYkZuNofLZzD/PMT/OPCvz2EdwU/hi/kieUS0fMoEolR5u0U8gUSQJWIIRP+pif8w7E+amWu5qI0fAS3RBqhcpgHk536AohIBkrBbvgL93rdgfDRQ3LwY/dGZuf8s6N93hcsUj1xB6uc4dkQkgysV582sKa4lQAMCUAY0oAn0gBEwB0zgAJyBG/AEvmAeCAWRIA4sBlyQBoRADPLBMrAaFINSsAXsANWgDjSCZtAKDoNOcAycBufAJXAF3AD3gAyMgKdgErwC0xAEYSEyRIU0IX3IBLKCHCAWNBfyhYKhCCgOSoJSIREkhZZBa6FSqByqhuqhZuhb6Ch0GroADUJ3oCFoHPoVegcjMAmmwbqwKWwLs2AvOAiOhBfBqXAOvAQugjfDlXADfBDugE/Dl+AbsAx+Ck8hACEidMQAYSIshI2EIvFICiJGViAlSAXSgLQi3Ugfcg2RIRPIWxQGRUUxUEyUGyoAFYXionJQK1CbUNWo/agOVC/qGmoINYn6iCajddBWaFd0IDoWnYrORxejK9BN6Hb0WfQN9Aj6FQaDoWPMMM6YAEwcJh2zFLMJswvThjmFGcQMY6awWKwm1grrjg3FcrASbDG2CnsQexJ7FTuCfYMj4vRxDjg/XDxOhFuDq8AdwJ3AXcWN4qbxKngTvCs+FM/DF+LL8I34bvxl/Ah+mqBKMCO4EyIJ6YTVhEpCK+Es4T7hBZFINCS6EMOJAuIqYiXxEPE8cYj4lkQhWZLYpASSlLSZtI90inSH9IJMJpuSPcnxZAl5M7mZfIb8kPxGiapkoxSoxFNaqVSj1KF0VemZMl7ZRNlLebHyEuUK5SPKl5UnVPAqpipsFY7KCpUalaMqt1SmVKmq9qqhqkLVTaoHVC+ojlGwFFOKL4VHKaLspZyhDFMRqhGVTeVS11IbqWepIzQMzYwWSEunldK+oQ3QJtUoarPVotUK1GrUjqvJ6AjdlB5Iz6SX0Q/Tb9Lfqeuqe6nz1Teqt6pfVX+toa3hqcHXKNFo07ih8U6ToemrmaG5VbNT84EWSstSK1wrX2u31lmtCW2atps2V7tE+7D2XR1Yx1InQmepzl6dfp0pXT1df91s3SrdM7oTenQ9T710ve16J/TG9an6c/UF+tv1T+o/YagxvBiZjEpGL2PSQMcgwEBqUG8wYDBtaGYYZbjGsM3wgRHBiGWUYrTdqMdo0ljfOMR4mXGL8V0TvAnLJM1kp0mfyWtTM9MY0/WmnaZjZhpmgWZLzFrM7puTzT3Mc8wbzK9bYCxYFhkWuyyuWMKWjpZpljWWl61gKycrgdUuq0FrtLWLtci6wfoWk8T0YuYxW5hDNnSbYJs1Np02z2yNbeNtt9r22X60c7TLtGu0u2dPsZ9nv8a+2/5XB0sHrkONw/VZ5Fl+s1bO6pr1fLbVbP7s3bNvO1IdQxzXO/Y4fnBydhI7tTqNOxs7JznXOt9i0VhhrE2s8y5oF2+XlS7HXN66OrlKXA+7/uLGdMtwO+A2NsdsDn9O45xhd0N3jnu9u2wuY27S3D1zZR4GHhyPBo9HnkaePM8mz1EvC690r4Nez7ztvMXe7d6v2a7s5exTPoiPv0+Jz4AvxTfKt9r3oZ+hX6pfi9+kv6P/Uv9TAeiAoICtAbcCdQO5gc2Bk/Oc5y2f1xtECloQVB30KNgyWBzcHQKHzAvZFnJ/vsl80fzOUBAaGLot9EGYWVhO2PfhmPCw8JrwxxH2Ecsi+hZQFyQuOLDgVaR3ZFnkvSjzKGlUT7RydEJ0c/TrGJ+Y8hhZrG3s8thLcVpxgriueGx8dHxT/NRC34U7Fo4kOCYUJ9xcZLaoYNGFxVqLMxcfT1RO5CQeSUInxSQdSHrPCeU0cKaSA5Nrkye5bO5O7lOeJ287b5zvzi/nj6a4p5SnjKW6p25LHU/zSKtImxCwBdWC5+kB6XXprzNCM/ZlfMqMyWwT4oRJwqMiiihD1Jull1WQNZhtlV2cLctxzdmRMykOEjflQrmLcrskNPnPVL/UXLpOOpQ3N68m701+dP6RAtUCUUF/oWXhxsLRJX5Lvl6KWspd2rPMYNnqZUPLvZbXr4BWJK/oWWm0smjlyCr/VftXE1ZnrP5hjd2a8jUv18as7S7SLVpVNLzOf11LsVKxuPjWerf1dRtQGwQbBjbO2li18WMJr+RiqV1pRen7TdxNF7+y/6ryq0+bUzYPlDmV7d6C2SLacnOrx9b95arlS8qHt4Vs69jO2F6y/eWOxB0XKmZX1O0k7JTulFUGV3ZVGVdtqXpfnVZ9o8a7pq1Wp3Zj7etdvF1Xd3vubq3TrSute7dHsOd2vX99R4NpQ8VezN68vY8boxv7vmZ93dyk1VTa9GGfaJ9sf8T+3mbn5uYDOgfKWuAWacv4wYSDV77x+aarldla30ZvKz0EDkkPPfk26dubh4MO9xxhHWn9zuS72nZqe0kH1FHYMdmZ1inriusaPDrvaE+3W3f79zbf7ztmcKzmuNrxshOEE0UnPp1ccnLqVPapidOpp4d7EnvunYk9c703vHfgbNDZ8+f8zp3p8+o7ed79/LELrheOXmRd7LzkdKmj37G//QfHH9oHnAY6Ljtf7rricqV7cM7giaseV09f87l27nrg9Us35t8YvBl18/athFuy27zbY3cy7zy/m3d3+t6q++j7JQ9UHlQ81HnY8KPFj20yJ9nxIZ+h/kcLHt0b5g4//Sn3p/cjRY/JjytG9UebxxzGjo37jV95svDJyNPsp9MTxT+r/lz7zPzZd794/tI/GTs58lz8/NOvm15ovtj3cvbLnqmwqYevhK+mX5e80Xyz/y3rbd+7mHej0/nvse8rP1h86P4Y9PH+J+GnT78ByeL04gplbmRzdHJlYW0KZW5kb2JqCjYgMCBvYmpbL0lDQ0Jhc2VkIDcgMCBSXQplbmRvYmoKOSAwIG9iaiA8PC9BbHRlcm5hdGUvRGV2aWNlR3JheS9GaWx0ZXIvRmxhdGVEZWNvZGUvTGVuZ3RoIDczNy9OIDE+PnN0cmVhbQp4nGNgYJ6Qk5xbzCTAwFBQVFLkHuQYGREZpcB+noGNgZkBDBKTiwscAwJ8QOy8/LxUBlTAyMDw7RqIZGC4rAsyi4E0wJoMtBhIHwBio5TU4mQg/QWI08tLCoDijDFAtkhSNphdAGJnhwQ5A9ktDAxMPCWpFSC9DM75BZVFmekZJQqGlpaWCo4p+UmpCsGVxSWpucUKnnnJ+UUF+UWJJakpQLVQO0CA1yW/RME9MTNPwchAlUR3EwSgcISwEOGDEEOA5NKiMggLrEiAQYHBgMGBIYAhkaGeYQHDUYY3jOKMLoyljCsY7zGJMQUxTWC6wCzMHMm8kPkNiyVLB8stVj3WVtZ7bJZs09i+sYez7+ZQ4uji+MKZyHmBy5FrC7cm9wIeKZ6pvEK8k/iE+abxy/AvFtAR2CHoKnhFKFXoh3CviIrIXtFw0S9ik8SNxK9IVEjKSR6TypeWlj4hUyarLntLrk/eRf6PwlbFQiU9pbfKa1UKVE1Uf6odVO/SCNVU0vygdUB7kk6qrpWeoN4r/SMGCwxrjWKMbU3kTZlNX5pdMN9pscRyglWdda5NnG2gnau9tYOxo46TmrOSi4KrvJuCu7KHuqeul4m3jY+7b7Bfgn9+QH3gxKClwbtCLoa+DGeKkIu0ioqIroiZGbsn7kECW6JuUlhyQ8qa1JvpHBkWmZlZc7Mv5rLn2edXFGwqfFesXZJVuqrsTYV+ZUnVrhrGWq+6qfUPG/WaaprPtsq1FbYf7ZTuKuo+3ava19h/d6LNpNmT/06Nn3Z4hsbM/lnf5yTMPT3ffMHSRSKLW5d8W5a5/N7KkFWn17is3bfecsO2TSabt2w12bZ9h9XO/btd95zdF7b/wcGcQz+PtB8TP77ipPWpc2eSz/46P+mi9qWjVxKv/rs+56bNrbt36u8p3z/xMO+x2JP9zzJfiLw8+Dr/rfy7Cx+aPpl+fvV1wffwnwK/Tv1p/ef4/z8AXyIQegplbmRzdHJlYW0KZW5kb2JqCjggMCBvYmpbL0lDQ0Jhc2VkIDkgMCBSXQplbmRvYmoKMTAgMCBvYmo8PC9TdWJ0eXBlL1R5cGUxL1R5cGUvRm9udC9CYXNlRm9udC9IZWx2ZXRpY2EtQm9sZC9FbmNvZGluZy9XaW5BbnNpRW5jb2Rpbmc+PgplbmRvYmoKMTIgMCBvYmogPDwvRmlsdGVyL0ZsYXRlRGVjb2RlL0xlbmd0aCA0NTc+PnN0cmVhbQp4nF2U3WrjMBCF7/MUumwviq2RbG+hBEqWhVxsd2m6D2BL49SwkYXiXOTtK+tMU6ghP58yMzpHM0q12//ch2lR1d80uwMvapyCT3yeL8mxGvg4hY0m5Se3CJV3d+rjpsrJh+t54dM+jLMyiPKXKJFKVa/5y3lJV3X37OeB75XncV3/kzynKRzV3b/d4bZ6uMT4n08cFlWXNQ6+fFa733186U+sqlLnYe9z0LRcH3L6V8TbNbKiwhoa3Oz5HHvHqQ9H3jzV+dmqp1/52a7Vv/1uG6QNo3vv0y18zM+2kM5U11SDCORBplDzCLKFWslrCnUNqAURqC9kNGgASRVXyPYgj5oSySAGjaiJPF1DmQNBtcF+GqoNPGioph8gqLZQraHaSk2othYkOlsQdJJEQqeV3UVnB4LOxhQi6OyEoLPBDgSdLVQTdLaoSXK62I/kdCUPOknyOkTCX7ZZlMlvjyB0hdAHO4Dgz+KsCf46nBlJH9B3En/iAf4IXTHiD94N/HXoppHpwVkbmR4qYynzZz6n8Wt6YaeG8lZ6gUUNc0YWEaJlujqpi0rr5K83+Hat3CWlfKPKBS5Xab1EU+DbP0Gc45pVXh+aCQt+CmVuZHN0cmVhbQplbmRvYmoKMTUgMCBvYmogPDwvTGVuZ3RoMSA1NDY4L0ZpbHRlci9GbGF0ZURlY29kZS9MZW5ndGggMzcyMj4+c3RyZWFtCnichTcJUFvnmf//PyyZG6ELzKUDicNCCJ2Yy4AxGMJpg22wDTxASLIlSxYyYJtg4iQU24nJktS5trancdbT3U7S3SxNZ4du23XHbXeadGfTTbOz3W27kzRup4nTxE3DbHna7//fAyttZyrp0/v+67uP/yGMEEpDC4hDjT0HKu0Xn4g9jFDGH2B2dHw6pkPi54cAZDLiC0njfwPAvuCZye6K1fuAfhWh9F6/l58g+r/vQijzKKy7/TCxPZMbhfEzMC72h2KzofXkV2H8DRj/OBge5xEea6Q4wDshfjaC9qJrCGU9AWPdST7k/dUHjz8LY6CfdDESnorFr6JehNTVdD0S9UZEcdSHqTzo859SCSj9IADQQHdhWz5ADAB0IlkAToAbACADtw/gMYDvA3wEPOFsEsiS9G2EtuUA2AD8ALB/22cIyYCW7GsIycFO8n4AoCv/OULbOwH+EeAdhJKBfvIEwF8DwFoynEuBuRSgmwJ2SPkNQqlwPnUOAPanFQOAjmmwngbraTCXDuvpLYggO8j9L+RD8JYcIYdCr+D0Cr0dP2UXfowt5MONbLK2MQ2WKEd3sB83wD7kcenV5bjhzuwszKeAnkGyirbT05wjDzs49b33Xr6y8qVfYYRXhTXcIrQL1HoEWeK/JWaSgVKRErQ1mF1Ot8OuUatkJXaX02hQq3DZzOLiDIVAIJC5vHB+efn8wnLk+rVr16k3muF8No4jsLG+RGYEAgqHQuWwe+CBX8gY5Fs6V1qd9hX33r42PC281qfD8wJzIkat8LdMklAGldOhbcAOu1ZtNhrkitbZ7NK2UqU639BUjeOdFhP3BZlWeJbJ+ztSSN5FmWiHxNGKmcxaYFgCbOG8TK3S4OtpDQO7R13TfE/Nyoc2y85ql9NTUb17tm/uixWY28gfz8fbc3t6e7u37IA/ATuoEXjbUwiieNQZ2JhgEHmJQSZ3uJyvJe3r2jNo5J3nH3/s9PgJWdIPqnYlffenzbW5fLbq0uMLV0JeTXX2G7XVijHQEXTDi+RjpKE6Gl0ekRxTU1aAHWqjYqSv79hIXo2mNN9qXF7GTw9lWr3jqcnjskJzQ1AIAY1jQOMl8KcMNFbIXR6wbOY/3H6UGKujhzceEuUvAT8UkjsoBxkl+d0e5g4nNSuVHwYlSjsIIFqo2TRa3NMub39oJFIXfWjuwtVl+4T+Fw63e1elaylLffR42dRYS6jxb1/61g92qHF3Dj4+Xuc6zfymid/D50CedOCkAUbM5ZS8ptrhtl59z1BTfCbDtRu/LVR8kpomymeOf4T/B+ybh8zUb5JpmcuZRHKXKCf40O1xmWnkafCJtKI+c8egbajeVmN27B83RWp8I7/JdWktxkOGinx9f6utvTzdbjUU8UrtgUHh2n6N8pC8tciwFV9EBzwV1G6MicIIccb8qcBXik0e98psxtBkWxfuKTMbhMdw3NPa1SYswtmkuJmoIK7hrFZMISpyiYvq63nzX1+MBp99p6C/0V6pyy23Zm0ncuECnt9Y62nNGudKbCL/nDiP3kEv0DzUKpkTMnFObXlVeXb3dbwrt0Bj+Q7b5wE585jvkFLyVgaW69V6VwMR3SVvrz7RNDJVM38cNwj5C+errCUWv4tM7zQdP+SMPDkaCz7yV4dN5p2lJmrrQogFC9BLRVqETOAfyeUabUI4Y1O901lP4fzSxfn5i0uByKMXIpELj0Zm1159ZW3tlVfXqGw18Qjug/gFX2tZpnkcGZiSutOyb1/L5bqmprqnRt4/d/buyLG7c3N3j1H+dfF75OeMfx5opGIhIqrBHF6IqX40cd8eHhoapvBCz/PHfc8dEP/xkem5uenpc+emT94cPPhS9OTNoYM3qSxQe9GvIe44Vi8U/VfJKoQ/ob2CXGb1LoutiOHOAVKPncbe9Rdv3Xpu8uDq18nqa7f+ZpU0CY7/Vv0UzkFOEhucS6Ha6V16F4bDaqO6RMHhQeGbuGbp8OHz/3TxBP6O0BK5uI5ThE+Zv3aBfRVwLm8z/sUAVoLH5G7JfRAru6Z7Gxob93QMZeOLwsepZRW+ucazfaHRy+Zqt9uRMoTLojdTpkab/bXlYryUgDwaMc8dGORRc/M4SXgZ31snTbHQBrQJDvLot6QYbKtFxQjCDENdovYUU93tkYqhBjMnibJVYpWmCEsuIKk19raGxbPTS3tqHbaHfZMLwt0iQ+0uT62jbaDSYXJUVVqsJN15MNfQU8sHJw7VjucVPOQcDPqEX2jri50uu9VoLfwvo0udZdttc1iov8tYD7mDcmntweDmB0bYrD9atRVzBjmtSyAHHt/fJ+vpPhZtmOo6v7D38WHLUV3hwEhVLXHXTlaT/slIefjI3hP1X7k1++qwSuFPyxR+mTsxFHJ4mJ0yICZNYkwqmfJyYwPobS55fismyccjd8+ee38zKDGLEWrbbWLs6NW9VzH4fuP27Gb9hy4ItSIX7IpMsq3Cr4VqS60rZr4rsTrN7+o6Fo4Ml3cUpM4uzfKHxvc11w5qK5VlnlF7g+NybPpKYYFFKDu7tHOsqH4vn5n+ae4zXR0giw3yowDsBZyUm91LLRItwpveLHGxIk7V+slg9+XTY8P8gemy6o5jPc88Uh0ptUettY0ltbhSP9I+HCmOFnbmF6vyDEfafTPq7Ghm9s7SomIN8DJA3X0Z9IKSaKKhkMhPlsiQKYiLtMbuenfoSH9bZ3OZWWvqbHCdOurrGd+/70mVJr0op9XdckDPa1UahTqzKLfZ1XGkjC+iPoEyT/aBfeVin9NDY/vZW6TuLVI/O7txW7RxK/TuWujdCtpjqRe2ih3VV66E+iyFbOtKQbeZP+Uca7T25qWfc1otbujf5F3hfm7BlTM9c226Aju+kSes53XuP9DJan18HZcA7TTRe6wlATEPLim3fWFFqcnISVE8S/o3vpGv5agsu0Gi98mvIaMyRVm4hNrYsdJutlrNADguYNJdXlxcToHereKf4WlyEe4JYpTUYyN0Ooea1g2R4bR7z0BfV59m9tIlnbmoNF3d2//7oawnLgU/0u2AzI7HUTX+Gn6C3IZOCDdEsJiT3bw3+9W7f9SvFJ/rVysHh7faFdjjg3rWrzgW391gf+kGs1kFpeLAqWnebT561yfOVVob9yyeOjM9GQof4gfJ6uR+R7tKeWj30HFsvT06jvO/PnQUSXmTA3RT2U1UrWeKQvbg7wtvrq9jO1mN3YytxtDm3i+zesosqnQkYyNW9F79v68Iv8T214Tfk1XhJ7hM+GfhSdwuvM5iAixCnmZxk0LvBUa5UelQQrfFH1V9UPml+y/fF0ZeOXztGq30OAUbpDiyQxxliHGklW6OW3GkToyj2bTCAQsLpLKOHWNSHL1J3rAVGFgc7dDeJyc/F0dQZPuAdiHzAbhADT5wbl4d2H1FuqiQb9W7PSv11XCHSHcNVAyZHEO21i481LIjRViER57wMI5XGQsaDYXdrexOAXdX/DpJYV35wd1y8y4oRs/reZ1lZx9ZOtPeUFvV2tzUUtWkyVIsLZy/ouMVbV0ZnW3ZYq9wxj+B95xb1C+JXf1Kqd1eCpDO/gHoXrAxlwN3GcgNfSo2susMvdHg9w8PPvnSCwNHHx3uvXoT+4TnIdyX8SnhCo5u3tHhnQS/AWeTwacuTBMb69U6LN/A14RPcaYf7wz6hf8IbtXlT6EuQ4JpsQNa0MDTwt89xV34w7yY/zQ+pti9UcWiSYxQpZEz5rK+sBP34tTgfHPdV1+8OuYP+I6T1ehY3Wie8DZOFz7Bp4/7RZkgf9C3IX9ALyVHLch1ZBeZTEXZkFdEoRCEz70hcqSHrNG6T9bIJRj7xSdeRL3YtJ2QVDlHSBL8biByrxfpjkhvlKilqauJ6h/fIP8et6IF7oc4F4bXmRBx0APeTkFXLL6VHule6hnJrPsdSubu0h0/srTdYM/nzKp4sfCzbXncW7AvGewgvsPCP/dGHAhuq4X1H23L+5N3Wxe+j+wYtMQrqJxMoxSyH1nIYdSMv4hayQTgBciCH0MZpAMdAyjB30MaYkBmWGslOSgJ3oJzYN4DUIhHUA2Xj+rgfbGffA/1wpwGYBc9B2AGKIM9GaQI1vqBdjuy4W8iA+BpxIda8V4AM9qNL6EU/F1UzXjMwt5mgBsAzyMZ3ceBbPg/Qa585OQKkQx/gHT0HY88DP7/DFUzLV2QZ0loALI+UWe4dbOxDi9uzZ8iVVv2SiObtiMoiWRKOIeKtuaTkGIL34bSiUrCZSiL6CVcjvaQL0v4dpRJGiU8OQFPRTvIexKeloBDXdjCsxLkUSTIk81kgLhIgpxB/4uGJRzT+72EE+C8Q8I51LA1n0T7tIRvgx3FEi6DSGuQcDlaxI0Svh3q1JyEJyfgqciJ70h4WgKeAf7fxLMS5FEkyJPNZGhCIcSjsyiMTgLvvTAaQ14UBbwZ5oJoArCDbGYKBaRdVcgKd1L6TTz94GzF1tk98IygMzAXQD7kRzE4bYdzVdALdagFzgZhTqTaBSMedulQJ8xNAA86FwYsgCYBxmE1tiVDGOZ0MPbDzBRgdEcQuOuAlxedQqdhTDG6FmH8w0yrGYbH4OtldCJM4hCj8kDDSZgLw+xflvHPr1sA52FmQqJA5+lMdEtCH+MYY9y9bF8MMB4wL7NpFJ1gsot6/iUp/EyjCKpBlfCdYV8rrDw4FZLOWMGOVLNK4HMaVvmmEH82fFK3NzTmjeqaw8EJ3UFvdCoAU1VWm80mLrPVCrq6Jxw5Ew34/DGd3Vbl1LXwwRhs7eJ5n64zNmHVdYUnApOBcT5GKYQndTF/YEo3GQh6dVHvqdOBqHdKF4kGwlHdTDQQi3lP6iLeaCgwxRhORsOhP6GYMLbo+JMTsKGL1/FRStAXmIp5o94JXSzKT3hDfPTEFOX5xyT8sVikprJyZmbGOsGWQrBiHQ+HKr2ng7xYW9gn/jTtXX/+8//Gr2mECmVuZHN0cmVhbQplbmRvYmoKMTYgMCBvYmogPDwvRmlsdGVyL0ZsYXRlRGVjb2RlL0xlbmd0aCAyNj4+c3RyZWFtCnicm8XEwF7HgAzUQQRvvzr3v9rXDAAvwQR9CmVuZHN0cmVhbQplbmRvYmoKMTQgMCBvYmo8PC9EZXNjZW50IC0yODkvTWlzc2luZ1dpZHRoIDUwMC9DYXBIZWlnaHQgNjkzL1N0ZW1WIDAvVHlwZS9Gb250RGVzY3JpcHRvci9Gb250RmlsZTIgMTUgMCBSL0ZsYWdzIDMzL0ZvbnROYW1lL0VBQUFBQitBbWF6b25FbWJlci1Cb2xkL0ZvbnRCQm94Wy0yMjAgLTI4OSAxMzA3IDk3OV0vSXRhbGljQW5nbGUgMC9Bc2NlbnQgOTc5L0NJRFNldCAxNiAwIFI+PgplbmRvYmoKMTMgMCBvYmo8PC9EVyAwL1N1YnR5cGUvQ0lERm9udFR5cGUyL0NJRFN5c3RlbUluZm88PC9TdXBwbGVtZW50IDAvUmVnaXN0cnkoQWRvYmUpL09yZGVyaW5nKFVDUyk+Pi9UeXBlL0ZvbnQvQmFzZUZvbnQvRUFBQUFCK0FtYXpvbkVtYmVyLUJvbGQvRm9udERlc2NyaXB0b3IgMTQgMCBSL1dbMFs1MDAgMjYyIDQwMiA2MzAgNTk0IDYwMCA0MDUgNjEyIDU0MSAzODggNTg2IDU4NiA0NTUgNTQ2IDYxMiA1MzYgMjg0IDU4NiA1ODYgMzUxIDc5NiAzMTggNzExIDU4NiA1ODYgNTg2IDU4NiA1ODYgMzUxIDU0MyA1OTYgNTg1IDQ0NSA1OTYgNjE1IDMyNSAyOTQgMzk0IDQ1MiA2MTIgNjMyIDU3OCA2NzIgNjY1IDYxNSA5MTcgNDczIDI4NCA3OTggNDkzIDUxNiA2MzddXS9DSURUb0dJRE1hcC9JZGVudGl0eT4+CmVuZG9iagoxMSAwIG9iajw8L1N1YnR5cGUvVHlwZTAvVHlwZS9Gb250L0Jhc2VGb250L0VBQUFBQitBbWF6b25FbWJlci1Cb2xkL0VuY29kaW5nL0lkZW50aXR5LUgvVG9Vbmljb2RlIDEyIDAgUi9EZXNjZW5kYW50Rm9udHNbMTMgMCBSXT4+CmVuZG9iagoxOCAwIG9iaiA8PC9GaWx0ZXIvRmxhdGVEZWNvZGUvTGVuZ3RoIDQ4Nz4+c3RyZWFtCnicXZTbjpswEEDf8xV+3D6swGMwu9IqUpWqUh56UdN+AGCTRWoAEfKQvy/4TFOpSLkc7PHMsTXODsdPx6FfTPZ9HttTXEzXD2GO1/E2t9E08dwPOysm9O2ilL7bSz3tsjX4dL8u8XIcutE4ZoXbpDONyX6sf67LfDdPH8PYxA8mxG57/20Oce6Hs3n6dTg93p5u0/Q7XuKwmDy9i0NIv9nhSz19rS/RZGmd52NYJ/XL/XkN/zfj532KRhJbamjHEK9T3ca5Hs5x95avz968fV6f/bb6f+OlJ6zp2vd6fkzv1mefyK6U55JDAgXIJSoKqEhUvUAlVEE+kReoSlTqmi+Qxr1CDqohDzWQhVoyaPYAvUKROiPUUSdjNqeWEsLPY2Txq6jT4uc1Dj9PZRa/kuxW/dgzi5+nToufbyH8nI7hV2h2/CrNgJ9oBvycEn5OK8PPsdeCn2N3Bb8KW8GvIIOoH2sKfo5zEPwKjASHinMQHCrNgINnrwUHr7Xg4DVuc+iaHHfBoWCvBQffJHLqUEM4lDg4dWBNpw5U7XAQ9trpGbFLjjMqyO44I0d2h59g69SvTg2jnWH/9smjr4QFRVcqdTbjW6dtN8ajjdvbPK8dnC6M1Lpb0/ZDfNw80zhtUenzB1llIVwKZW5kc3RyZWFtCmVuZG9iagoyMSAwIG9iaiA8PC9MZW5ndGgxIDU5ODAvRmlsdGVyL0ZsYXRlRGVjb2RlL0xlbmd0aCA0MDYxPj5zdHJlYW0KeJyFOAl0U9eV7z7ZlrxblmUBxrLkRTbGyLYW75blVV7kXcbGu5AlS2AjWRYYm8WUECAkBg8hJCmdtjnQTshJSqDQYRIy09KcTtomzZy0p03mlCFtmEI6NEsnJG2Jv+b+xbZIcqaSr/99293fvfeLACEkhhwgImJu787XHR2dPkRIwts4O+rYFVAR/vM6AnX5xieF8X8gwPjErOvHYSdfRfSHhMSvcTvtY1T5vSJCpCW4XuTGCUms6FEc+3Cc6Z4M7J47GN2J41M4vjPhddgJfB/Pkl8h3J207/aRZnKOkMS9OFbtsE86o86pkX7iNwgJO+PzTgeCp0kHIQqWvsrnd/p4cRR9rDzkwU+OAGYElt6LLA/cVoGAY7iMKqF+tBHhWQRcExUgDCIEEFDnMByHuRG+jXCHkPAYBCvCVQTcH5GAgOcjnidEXIeAdMW4T4L7JCiTBPWU/JaQSAMC6hG1BmEC4V1CosMQbAiLrAMQUM4YlCNWgoD7Y5FP7FEElDsWecUlIaDscShbHNosDmnExxBKdKjLdfoBelBMiF6qlorUUrUOFnXMryCPfrCUSK8t7ULraMk70AebcB8pNqrlWsh9x2bD8ygD9dMrREKk7Hm9LlmeFJEhQqQSDJoM262nnzn39B7fTZ+XXrn43LOXqHPpf4KK+QOsxZEj/CfcJ9GEqLPFGbJsvaJYL5bBxPw+z/fPTwam3c9euX4dwj67ePFj5lPCeSkS+f0Fz6DS6mjIEOlTgP0TwR8nto991+2fcEzsdD4HC8w03Ge2wWnGCWeYcPYsJc3Be1RFb5E4soaTVVokiJueLZali6XJep3RoGl2tPTafbu2DtZHP2mpqqo/VktvMberHpvbc8pshJe0zPsFL40MEkH3PNQ9iiQSIpNmLGufrdcVGQ0b4Z8d9527dzufOlFlnj8BMcwn9Mr0Vvt0Z635EKcL+ora8Hw0r4uMU0Ykg5uXL03dvRH4ztmpG38CJfN7cEE78zmEMZeZJ9lzZcEPaTh9lWQiVy0YDSbQ6xRyTUZ6hDwpOQ2UwOtkTObk0GT/uqu5xGPpH3G2VlsKqgc6LY8Epns8Q5bO/BJoSuurLenVZXamGQtz8tekK3tqR/0bOjJMxqzCZOQVhTLuQhkjUEZePogM+l57bSJIryxdpO1LLbxtzcFh+lOUSUpSUSpOJNYW4mQULFsLxUmCMCik2fq468kX5nyOr116+vHveKa2b/f5tk/4oN97tu9H5xeuppRFbpHNh/3wu0cXjh85srDA2Sou+FcYp48QjOMsVM4ozTBWgV6ul2dIWdLFMF5oOj44Et95+rQ6Z0NOjOw4aMwxi8fbmJtZyig+dsRBDXyKsYORquB1iYNlOxX/8vVtJxdct9c1leRmpiizNkrDKWHs8K2l5+sr4izirHyeRnnwU/IKmWN9pkjXGA1CCO1NzcxMRYjKSk3NYoHdy+aVf0Xbifho63OhyVrQVgXBj+EWjSIysh5vkxJNVSxHnVaoibPTI8R61lqLtLOnvavRvWf//qkRl+R6VUP4X6H0zuauNEv20YfnF7Zvzdf8pqVZklhpQn7NmHeMSBfzklrKmlqcnCTHsORQNjwVSF/B8ZDStzQbmprBodlgbXB0R40ODKkdjvpm6NMVbBInSJiTLJbH+OG+vsZiaWtkHuP1Rx4wAUESz+mkMFEh9MTS5u7o9QW6VFmyKrmjFO63KNUJov6wAuYYFx81nC3eQFvwJ6WiEOu1OQpT1epUBLy04bRHnZKiZgH5FQTvwXkaQZJ5v/Nn+GBPBd7z58usu/Z9bVdteWmxrbmls8gsUx45MP/oektiz1DsQE8SJzdypfnoCy7LZWAGy5DevUFVN6jdZlv6Fh/D6BeahPaLRs+Q8BD5sjEvZKTLkyDdf+CAn4WFhYX44/P7jx/fP3+845Vr115hz+cG/xd+gufXsTdTnc0GlyAvF/hiI38rpNm6YqOGpZcMAUlm70ZLj7uvrK6wvGcg020c6b9T12Aomso1pKV31jX1SmuK8tIaZPL2Tua0Se+K7dVs4PwQvE+CmMtiMYI4u6BJOXME1dnGEocMPS+OqSyl00uPK+Qi3nfj+O8x4S5LxcZivRRyfvTaEO1q6Rjm7zFwOQ3zFJdfpSJM5Bg2eFOk9PSPh14d9r9700vVzCJMLf0XvcL0wvnlcxqM6VOouxr9ZNDkQ4ijvpyUoCRtQ4/X2dXe0FYzqspvKzds63M0DXcU6o+uUcarNjiqO1QNa6vXKROViiqdxaZpSNNg5NQG91OJqBB55BC8juFGTbZRCQpjNp8Ei416OZdu5AqOm1guw+QnNwHGicIYBxA+tqW8Pye3rTm/r9zU1djVuLG9ZdvApK5cX8b8UVeqLzk4F2HsUKaK7iWk9lQYevRhs3OSvHat5E8J67srbBNRc1Cl0clvRVSBT6NPuhFWxseNEv/lcHUAvaE2qo1oL0xM8mypCLYxl6Fp1G4fuvNEK/ySKex84g9gZS5z5/QYbzLMmQqSgV7kspAQM8vpEw0mw1mjkNvbuupHHeLMPq19qnRb/ez86WOOmjc1rSrRqXJLnTtr1941KQFnrafyubPXfrYRipIS4+621zQ0sf7BnoBG8b7XA8ooh0WQMyfg18zH1NHVvvR1lAd9SDNRnmiUiGQtp2vkG5rpIKu9ubmdhT2HHtqLUP/wP5w4fPjE4mHbyxe+9/JLFy68zPJrwHi4x+dadfYDAYpPOBs9tNVideRqG5scRfUdTTDFXCjSF8AxLNWAteQTWkH/7f+587Sic/jc+Qtne1oGSvcHpvZUOWVpVy688FJKt3zP4TWH9q4V7vM9GoZ3REpSlu/jSrlEKfAaSrXA3etLsWrbxqrRIoO9tqfO8TuTOa1Kc9SgVJtmOjvn6kogcWl9vRZSFPJr/4JxWIh2Wiv4DeMQMNSE8GZFLWZ5sMYC1nR81csH9g4IBoVgZVFLzcP+HQ/V1xQbZ7baZ5nPnK2WhrbS1keKygzdNeVlZhpT3J+S3lHW7xnbXLlVub7VuNntYj4o7S2vrizZYFS9vaF8jby4s9RUxtXeD7naG42Zh8hCKq14OZB41c8vl1oPV4GtJ12Okx3QL5TZI1z59Z7d0nMOfVCHOoZjvKwTIlPIYDK1XC1ebZvqvO3WTutm05AMJpnbscV5E3PHA64tnsz6aos5qgY2dv08yj+2dTaH84cBaa5DOdey+RFQPFa6EMshWQV2liJcEVjC4Kg9LGcwr3Kk+MD2ffufOJxrS1O3dWS2ZUY8UVVvof6HDqcoC4dM7n3Pnf/BzxLjrTHxzLuKpFuNdaZ6stxjcTWfjXu+5r/579tOnHD9BCvNCDyD8cb2hTrsC6P4vlDBl0lBQXlIX9gdaR1iG8P+6sOWquraY7W/oD811C7M7jlVztCjK30hVyMx7qK42H+w+GLyh2c2atutWHJHPE1W6Dbq9Mws3C+xtDZhiWVjVgN/42oIthBZyyHLxj+m65C2bjV4k+Gp9LacymGjf7S/VtI9v3O4fbCpo3mPqVJpyjpYX5+aVjHdunvBlM9kzhzMsaS19lRrQayQX+zdgrJi5woB+me2r2LrYrHRsHrV2ObKNzz87ZI8fYo268wZeMEc0/VPiQ2SjJzBNqab82ki1wP/Ge9q+ldQUKPiGVIISR+r9MDqeB9Slut+CGkmHF5gukO6AGxruLpUjPEYh5yUq28awsUTyTkXrTxt/23fVbDJXLfX/c1vzFebvz63t7KCXhnrNrQkyXrNfR6o+GCmvAI23vQWl670NTQWc0UU353gewhkZMubHb+Z/QjIvvfwFaDsBr6EfPRRMMj3gHg7slEaAo9ibMVxNDrwHrLvQuh34J21kvWKjDTGtXDo0IKrr7u7D0tn48HHHn0IrjJVtoEBG1934UM8G8m9hcnVXGdrw3eXnwex0+662cX8gqzG1q0vxJb0gdhyjDhWQgsFf6+Wiy0gyuA4vscG2DuhkHH2iwelXpWeGmd+GmKlSQk5L/K9NvJo497piN7IXxr53+5OXbi046Mg/ID5R3AwjUvoe/bdYDfXU0Wx+VUtzgB9JG6mcWbmPZMHyA4gTPf7O69eZRtfCAcbb+taPJfI5U+kb6IPNEeYqsRqee3iw7pKw5Zthc6KAW/FkVkYbDt5ZjhXV9rSk53lspVMPxXo5mklBH3wGsYftjgK0EMC2MaY5xdFBz/fz6+zmeYq3n/Wrka+8KnlmZDB3IYjzDuQawV7WwvzzbYH3/5FtAwWCb420muU7V/d/BMOkw7IklAaHSGi6AaKr/b0ww6iGhB+LSB11a3V7G8GwSX6VlBLDoheh7XYjnMNJtxHWxHszkXcrw0Ia3f/wTMSX3GPRIrusDvezKs7yj2f0iQGC5nb4TEi1uuRaGv+9wn8L3ojiATDDbj+eXjMl363KINPiA4iOFm19BKxwe+IWITvzbSDNNM+YqODRELLSBk9QKJEkcQM8yQOltCHfyHlkEz6qJQUiPaRZtiJsRYkNfAGKaAmEk/r8BlPciEV6TSTcVEj0n6RaBCvRVAi6BEMCBpaRRroCDHTNjzTTApZPvisY9eBQf6sLFYEpIl8EukkghNli0OeKAe9TjpoDI6t3FiJMsfRgySK5QVvkwT4LfqV1bwM18NIL0ofagfAOXasQhssz0/R2hUbxiAfHqdETFMEXETSV+bDQvaEk1iaIeARREYLBFyMel8WcAnap0vAI0NwrMj0MwGPCcHjUKdlPCGElzREnkRuHmMlDGOX/J5sE3Bgq5SAU6S0TsBFpG5lPixkTzjuyBXwCKLBXTwuJofBKuASzKlHBTwyBI9Gf70l4DEheBypWMETQnhJQ+RJ5OarySSx4/uyl+zAyK/H0VbiJH7Eu/A5TnaSCVxnx5u5+WniEfYWEi0p4L6hNFYpbPoChVpc95FZxDw468Y8pyI6PF2Iva8KtbbjvoBAuxVHdtylIlacG0NO7JwXMQ9xIThwNbAiiRfnVDh248w0YuyOCeStQl5OMoUSeDiMXfNx/L2cRjMcHsCvk6Pj4+Se5Kis6unCOS/O/n0Zv3o9D3E7zowJFNh5FWeRZQnHOY4BjruT2xdAzI6Yk7Osn2znZOf1/HtSuDmNfHj38vE7w321uLJ6alI4o0U7sprlIx/OS9WT9jnvDlX95FanX9XlHN85YferNjv90x6cLdQWFBTwO7gNm4QNtV7frN8z7g6odAWFBlWdfSKAu1vt9nGVNTCmVbV6xzwuj8MeYIl4XaqA2zOtcnkmnCq/c2qnx++cVvn8Hq9fNeP3BALOHSqf0z/pmeZ4uvzeyS9RDBnnqew7xnBDq11l97MExz3TAaffOaYK+O1jzkm7f/s0y/OLJNyBgK8sP39mZkY7xi1N4orW4Z3Md6JK7G3hPsHH2d+jv/rzf82+ASEKZW5kc3RyZWFtCmVuZG9iagoyMiAwIG9iaiA8PC9GaWx0ZXIvRmxhdGVEZWNvZGUvTGVuZ3RoIDMwPj5zdHJlYW0KeJybx8DAXscABSwgQhFE8Hvsvv3v73+IKABWPgY0CmVuZHN0cmVhbQplbmRvYmoKMjAgMCBvYmo8PC9EZXNjZW50IC0yODEvTWlzc2luZ1dpZHRoIDUwMC9DYXBIZWlnaHQgNjkzL1N0ZW1WIDAvVHlwZS9Gb250RGVzY3JpcHRvci9Gb250RmlsZTIgMjEgMCBSL0ZsYWdzIDMzL0ZvbnROYW1lL0VBQUFBQStBbWF6b25FbWJlci1SZWd1bGFyL0ZvbnRCQm94Wy0yMDcgLTI4MSAxMjkyIDk3NF0vSXRhbGljQW5nbGUgMC9Bc2NlbnQgOTc0L0NJRFNldCAyMiAwIFI+PgplbmRvYmoKMTkgMCBvYmo8PC9EVyAwL1N1YnR5cGUvQ0lERm9udFR5cGUyL0NJRFN5c3RlbUluZm88PC9TdXBwbGVtZW50IDAvUmVnaXN0cnkoQWRvYmUpL09yZGVyaW5nKFVDUyk+Pi9UeXBlL0ZvbnQvQmFzZUZvbnQvRUFBQUFBK0FtYXpvbkVtYmVyLVJlZ3VsYXIvRm9udERlc2NyaXB0b3IgMjAgMCBSL1dbMFs1MDAgMjYyIDM5MCA2OTAgNDgxIDc2OSA1OTIgNjAwIDYwNCA1NzAgNjQwIDc3NyAzODMgNTA5IDI0OCAyNzggNTI5IDg5MyAzNzMgMjU1IDQ2MSA1NzQgNTgwIDUyNyAyODUgNTg2IDg0MCA0MzIgNTg2IDU4NiA1ODYgNTg2IDU4NiA1NzUgNjA3IDU5MCA1ODYgNzc3IDU4NiA1ODYgNTEwIDU5MiA1ODggNTgwIDM3MyA2MjEgNjEzIDUyNiAyNDggNzA2IDUyNCA1ODggMjQ4IDYwNCA2NDIgNTg2IDQ3MiA0NzZdXS9DSURUb0dJRE1hcC9JZGVudGl0eT4+CmVuZG9iagoxNyAwIG9iajw8L1N1YnR5cGUvVHlwZTAvVHlwZS9Gb250L0Jhc2VGb250L0VBQUFBQStBbWF6b25FbWJlci1SZWd1bGFyL0VuY29kaW5nL0lkZW50aXR5LUgvVG9Vbmljb2RlIDE4IDAgUi9EZXNjZW5kYW50Rm9udHNbMTkgMCBSXT4+CmVuZG9iagoyMyAwIG9iaiA8PC9Db2xvclNwYWNlWy9JQ0NCYXNlZCA3IDAgUl0vTmFtZS9JbTMvU3VidHlwZS9JbWFnZS9IZWlnaHQgMTYwL0ZpbHRlci9GbGF0ZURlY29kZS9UeXBlL1hPYmplY3QvV2lkdGggMzc2L0xlbmd0aCA1MTA4L0JpdHNQZXJDb21wb25lbnQgOD4+c3RyZWFtCnic7Z2/rhxFGsUnu9JKKzmzLDkgsmQ5cWRZkDhBSEROECIjQIjQgYHwBrCklhaILQE5knmAEd4HMJcXwDyB7xv0np6zc/abquqenp4/1dM+P5VGM9PV1VXVX53+qrqrummMMcYYY4wxxhhjjDHG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WrvdbmLy5qUZfOZAMnPQmbcEXKIpyZu/yMyHy4fl+fcDXKKZX55Xq9M/B/in984eUxIvSYAT7XY7JQEiJQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQG6D0ryvFqdfz/AJdput2+WZApzv1icfz/AJZqDx5tTzPF4vLm6fnl5Of+WgItzd3s7x5I3Lz39eJp15v0AF2ez2UxJ3rt6OBy+ffk6Y845twRcnAnFeweSV5OauWe/359tS8BluV8sThleXmPycXCAT+j1d5nT34FMRmYIWj4spyrewQLThMfvj3PG+A//dTYZeX325urasqzPvOZcsV6vj8fjn8gUAAAAAAC/+xt439y+CmVuZHN0cmVhbQplbmRvYmoKNSAwIG9iajw8L0NvbG9yU3BhY2U8PC9EZWZhdWx0UkdCIDYgMCBSL0lDQzEzIDggMCBSPj4vUHJvY1NldFsvUERGL0ltYWdlQi9JbWFnZUMvVGV4dF0vRm9udDw8L0YzIDEwIDAgUi9GMjYgMTEgMCBSL0YyNCAxNyAwIFI+Pi9YT2JqZWN0PDwvSW0zIDIzIDAgUi9JbTQgMjQgMCBSL0ltMSAyNSAwIFIvSW0yIDI2IDAgUj4+Pj4KZW5kb2JqCjMgMCBvYmo8PC9Db250ZW50cyA0IDAgUi9CbGVlZEJveFswIDAgNjEyIDc5Ml0vVHlwZS9QYWdlL1Jlc291cmNlcyA1IDAgUi9Dcm9wQm94WzAgMCA2MTIgNzkyXS9QYXJlbnQgMSAwIFIvTWVkaWFCb3hbMCAwIDYxMiA3OTJdL1RyaW1Cb3hbMCAwIDYxMiA3OTJdPj4KZW5kb2JqCjEgMCBvYmo8PC9LaWRzWzMgMCBSXS9UeXBlL1BhZ2VzL0NvdW50IDE+PgplbmRvYmoKMjcgMCBvYmo8PC9UeXBlL0NhdGFsb2cvUGFnZXMgMSAwIFI+PgplbmRvYmoKMjggMCBvYmo8PC9Nb2REYXRlKEQ6MjAxOTAxMzAyMjQxMTBaKS9DcmVhdGlvbkRhdGUoRDoyMDE5MDEzMDIyNDExMFopL1Byb2R1Y2VyKGlUZXh0IDEuNCBcKGJ5IGxvd2FnaWUuY29tXCkpPj4KZW5kb2JqCnhyZWYKMCAyOQowMDAwMDAwMDAwIDY1NTM1IGYgCjAwMDAwNjU1NjkgMDAwMDAgbiAKMDAwMDAwMDAwMCA2NTUzNiBuIAowMDAwMDY1NDEwIDAwMDAwIG4gCjAwMDAwMDAwMTUgMDAwMDAgbiAKMDAwMDA2NTIxNyAwMDAwMCBuIAowMDAwMDA1OTcxIDAwMDAwIG4gCjAwMDAwMDMzMDcgMDAwMDAgbiAKMDAwMDAwNjgzMiAwMDAwMCBuIAowMDAwMDA2MDAzIDAwMDAwIG4gCjAwMDAwMDY4NjQgMDAwMDAgbiAKMDAwMDAxMjAwNSAwMDAwMCBuIAowMDAwMDA2OTU3IDAwMDAwIG4gCjAwMDAwMTE1OTggMDAwMDAgbiAKMDAwMDAxMTM3OSAwMDAwMCBuIAowMDAwMDA3NDgyIDAwMDAwIG4gCjAwMDAwMTEyODYgMDAwMDAgbiAKMDAwMDAxNzU5NCAwMDAwMCBuIAowMDAwMDEyMTQzIDAwMDAwIG4gCjAwMDAwMTcxNjAgMDAwMDAgbiAKMDAwMDAxNjkzOCAwMDAwMCBuIAowMDAwMDEyNjk4IDAwMDAwIG4gCjAwMDAwMTY4NDEgMDAwMDAgbiAKMDAwMDAxNzczNSAwMDAwMCBuIAowMDAwMDIzMDE2IDAwMDAwIG4gCjAwMDAwMjk3NzUgMDAwMDAgbiAKMDAwMDA2MjY0NCAwMDAwMCBuIAowMDAwMDY1NjE5IDAwMDAwIG4gCjAwMDAwNjU2NjQgMDAwMDAgbiAKdHJhaWxlcgo8PC9JbmZvIDI4IDAgUi9JRCBbPGIxMjZlODIwMDdjNzZhNmUxNTFlNzQ0Zjg2MjBmNDJmPjw1YmZlYjU4YTM5MjllZmRiZmQ2ZjU5MWM2MGIwNjc0MD5dL1Jvb3QgMjcgMCBSL1NpemUgMjk+PgpzdGFydHhyZWYKNjU3ODIKJSVFT0YK", + "contentType": "application/pdf" + } + ] + } } - } - }, - { - "request": { - "parameters": {} }, - "response": { - "payload": { - "pagination": { - "nextToken": "NEBxNEBxNEBxNR==" - }, - "packingSlips": [ - { - "purchaseOrderNumber": "mockpurchaseOrderNumber1", - "content": "Base 64 encoded string goes here", - "contentType": "application/pdf" + { + "request": { + "parameters": {} + }, + "response": { + "payload": { + "pagination": { + "nextToken": "NEBxNEBxNEBxNR==" }, - { - "purchaseOrderNumber": "mockpurchaseOrderNumber2", - "content": "Base 64 encoded string goes here", - "contentType": "application/pdf" - } - ] + "packingSlips": [ + { + "purchaseOrderNumber": "mockpurchaseOrderNumber1", + "content": "Base 64 encoded string goes here", + "contentType": "application/pdf" + }, + { + "purchaseOrderNumber": "mockpurchaseOrderNumber2", + "content": "Base 64 encoded string goes here", + "contentType": "application/pdf" + } + ] + } } } - } ] } }, @@ -2453,10 +2324,6 @@ "$ref": "#/definitions/GetPackingSlipListResponse" }, "headers": { - "x-amzn-RateLimit-Limit": { - "type": "string", - "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." - }, "x-amzn-RequestId": { "type": "string", "description": "Unique request reference identifier." @@ -2497,10 +2364,6 @@ "$ref": "#/definitions/GetPackingSlipListResponse" }, "headers": { - "x-amzn-RateLimit-Limit": { - "type": "string", - "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." - }, "x-amzn-RequestId": { "type": "string", "description": "Unique request reference identifier." @@ -2513,10 +2376,6 @@ "$ref": "#/definitions/GetPackingSlipListResponse" }, "headers": { - "x-amzn-RateLimit-Limit": { - "type": "string", - "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." - }, "x-amzn-RequestId": { "type": "string", "description": "Unique request reference identifier." @@ -2529,10 +2388,6 @@ "$ref": "#/definitions/GetPackingSlipListResponse" }, "headers": { - "x-amzn-RateLimit-Limit": { - "type": "string", - "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." - }, "x-amzn-RequestId": { "type": "string", "description": "Unique request reference identifier." @@ -2545,10 +2400,6 @@ "$ref": "#/definitions/GetPackingSlipListResponse" }, "headers": { - "x-amzn-RateLimit-Limit": { - "type": "string", - "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." - }, "x-amzn-RequestId": { "type": "string", "description": "Unique request reference identifier." @@ -2563,13 +2414,13 @@ "tags": [ "vendorShipping" ], - "description": "Returns a packing slip based on the purchaseOrderNumber that you specify.\n\n**Usage Plan:**\n\n| Rate (requests per second) | Burst |\n| ---- | ---- |\n| 10 | 10 |\n\nThe `x-amzn-RateLimit-Limit` response header returns the usage plan rate limits that were applied to the requested operation, when available. The table above indicates the default rate and burst values for this operation. Selling partners whose business demands require higher throughput may see higher rate and burst values than those shown here. For more information, see [Usage Plans and Rate Limits in the Selling Partner API](https://developer-docs.amazon.com/sp-api/docs/usage-plans-and-rate-limits-in-the-sp-api).", + "description": "Returns a packing slip based on the `purchaseOrderNumber` that you specify.\n\n**Usage Plan:**\n\n| Rate (requests per second) | Burst |\n| ---- | ---- |\n| 10 | 10 |\n\nThe `x-amzn-RateLimit-Limit` response header returns the usage plan rate limits that were applied to the requested operation, when available. The table above indicates the default rate and burst values for this operation. Selling partners whose business demands require higher throughput may see higher rate and burst values than those shown here. For more information, refer to [Usage Plans and Rate Limits in the Selling Partner API](https://developer-docs.amazon.com/sp-api/docs/usage-plans-and-rate-limits-in-the-sp-api).", "operationId": "getPackingSlip", "parameters": [ { "name": "purchaseOrderNumber", "in": "path", - "description": "The purchaseOrderNumber for the packing slip you want.", + "description": "The `purchaseOrderNumber` for the packing slip you want.", "required": true, "type": "string", "pattern": "^[a-zA-Z0-9]+$" @@ -2672,15 +2523,11 @@ } }, "401": { - "description": "The request's Authorization header is not formatted correctly or does not contain a valid token.", + "description": "The request's authorization header is not formatted correctly or does not contain a valid token.", "schema": { "$ref": "#/definitions/GetPackingSlipResponse" }, "headers": { - "x-amzn-RateLimit-Limit": { - "type": "string", - "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." - }, "x-amzn-RequestId": { "type": "string", "description": "Unique request reference identifier." @@ -2721,10 +2568,6 @@ "$ref": "#/definitions/GetPackingSlipResponse" }, "headers": { - "x-amzn-RateLimit-Limit": { - "type": "string", - "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." - }, "x-amzn-RequestId": { "type": "string", "description": "Unique request reference identifier." @@ -2737,10 +2580,6 @@ "$ref": "#/definitions/GetPackingSlipResponse" }, "headers": { - "x-amzn-RateLimit-Limit": { - "type": "string", - "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." - }, "x-amzn-RequestId": { "type": "string", "description": "Unique request reference identifier." @@ -2753,10 +2592,6 @@ "$ref": "#/definitions/GetPackingSlipResponse" }, "headers": { - "x-amzn-RateLimit-Limit": { - "type": "string", - "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." - }, "x-amzn-RequestId": { "type": "string", "description": "Unique request reference identifier." @@ -2769,10 +2604,6 @@ "$ref": "#/definitions/GetPackingSlipResponse" }, "headers": { - "x-amzn-RateLimit-Limit": { - "type": "string", - "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." - }, "x-amzn-RequestId": { "type": "string", "description": "Unique request reference identifier." @@ -2820,13 +2651,15 @@ "type": "object", "properties": { "pagination": { - "$ref": "#/definitions/Pagination" + "$ref": "#/definitions/Pagination", + "description": "The pagination elements required to retrieve the remaining data." }, "packingSlips": { "type": "array", "items": { "$ref": "#/definitions/PackingSlip" - } + }, + "description": "An array of packing slip objects." } }, "description": "A list of packing slips." @@ -2840,7 +2673,8 @@ "errors": { "$ref": "#/definitions/ErrorList" } - } + }, + "description": "Response payload with the list of packing slips." }, "GetPackingSlipResponse": { "type": "object", @@ -2851,7 +2685,8 @@ "errors": { "$ref": "#/definitions/ErrorList" } - } + }, + "description": "Response payload with packing slip." }, "SubmitShippingLabelsRequest": { "type": "object", @@ -2860,9 +2695,11 @@ "type": "array", "items": { "$ref": "#/definitions/ShippingLabelRequest" - } + }, + "description": "An array of shipping label requests to be processed." } - } + }, + "description": "The request schema for the `submitShippingLabelRequest` operation." }, "ShippingLabelRequest": { "type": "object", @@ -2892,7 +2729,8 @@ "$ref": "#/definitions/Container" } } - } + }, + "description": "Represents the request payload for creating a shipping label, containing the purchase order number, selling party, ship from party, and a list of containers or packages in the shipment." }, "Item": { "type": "object", @@ -2907,7 +2745,7 @@ }, "buyerProductIdentifier": { "type": "string", - "description": "Buyer's Standard Identification Number (ASIN) of an item. Either buyerProductIdentifier or vendorProductIdentifier is required." + "description": "Buyer's Standard Identification Number (ASIN) of an item. Either `buyerProductIdentifier` or `vendorProductIdentifier` is required." }, "vendorProductIdentifier": { "type": "string", @@ -2933,7 +2771,7 @@ }, "buyerProductIdentifier": { "type": "string", - "description": "Buyer's Standard Identification Number (ASIN) of an item. Either buyerProductIdentifier or vendorProductIdentifier is required." + "description": "Buyer's Standard Identification Number (ASIN) of an item. Either `buyerProductIdentifier` or `vendorProductIdentifier` is required." }, "vendorProductIdentifier": { "type": "string", @@ -2943,9 +2781,11 @@ "description": "Total item quantity packed in the container.", "$ref": "#/definitions/ItemQuantity" } - } + }, + "description": "Represents an item that has been packed into a container for shipping." }, "PartyIdentification": { + "description": "Name, address and tax details of a party.", "type": "object", "required": [ "partyId" @@ -3026,20 +2866,20 @@ "properties": { "trackingNumber": { "type": "string", - "description": "This is required to be provided for every package and should match with the trackingNumber sent for the shipment confirmation." + "description": "This is required to be provided for every package and should match with the `trackingNumber` sent for the shipment confirmation." }, "statusCode": { "type": "string", - "description": "Indicates the shipment status code of the package that provides transportation information for Amazon tracking systems and ultimately for the final customer. For more information, refer to the [Additional Fields Explanation](https://developer-docs.amazon.com/sp-api/docs/vendor-direct-fulfillment-shipping-api-use-case-guide#additional-fields-explanation)." + "description": "Indicates the shipment status code for the package that provides transportation information for Amazon tracking systems and ultimately for the final customer. For more information, refer to the [Additional Fields Explanation](https://developer-docs.amazon.com/sp-api/docs/vendor-direct-fulfillment-shipping-api-use-case-guide#additional-fields-explanation)." }, "reasonCode": { "type": "string", - "description": "Provides a reason code for the status of the package that will provide additional information about the transportation status. For more information, refer to the [Additional Fields Explanation](https://developer-docs.amazon.com/sp-api/docs/vendor-direct-fulfillment-shipping-api-use-case-guide#additional-fields-explanation)." + "description": "Provides a reason code for the status for the package that will provide additional information about the transportation status. For more information, refer to the [Additional Fields Explanation](https://developer-docs.amazon.com/sp-api/docs/vendor-direct-fulfillment-shipping-api-use-case-guide#additional-fields-explanation)." }, "statusDateTime": { "type": "string", "format": "date-time", - "description": "The date and time when the shipment status was updated. This field is expected to be in ISO-8601 date/time format, with UTC time zone or UTC offset. For example, 2020-07-16T23:00:00Z or 2020-07-16T23:00:00+01:00." + "description": "The date and time when the shipment status was updated. This field is expected to be in ISO 8601 date/time format, with UTC time zone or UTC offset. For example, `2020-07-16T23:00:00Z` or `2020-07-16T23:00:00+01:00`." }, "statusLocationAddress": { "$ref": "#/definitions/Address" @@ -3050,19 +2890,20 @@ "estimatedDeliveryDateTime": { "type": "string", "format": "date-time", - "description": "Date on which the shipment is expected to reach the customer delivery location. This field is expected to be in ISO-8601 date/time format, with UTC time zone or UTC offset. For example, 2020-07-16T23:00:00Z or 2020-07-16T23:00:00+01:00." + "description": "Date on which the shipment is expected to reach the customer delivery location. This field is expected to be in ISO 8601 date/time format, with UTC time zone or UTC offset. For example, `2020-07-16T23:00:00Z` or `2020-07-16T23:00:00+01:00`." }, "apptWindowStartDateTime": { "type": "string", "format": "date-time", - "description": "This field indicates the date and time at the start of the appointment window scheduled to deliver the shipment. This field is expected to be in ISO-8601 date/time format, with UTC time zone or UTC offset. For example, 2020-07-16T23:00:00Z or 2020-07-16T23:00:00+01:00." + "description": "This field indicates the date and time at the start of the appointment window scheduled to deliver the shipment. This field is expected to be in ISO 8601 date/time format, with UTC time zone or UTC offset. For example, `2020-07-16T23:00:00Z` or `2020-07-16T23:00:00+01:00`." }, "apptWindowEndDateTime": { "type": "string", "format": "date-time", - "description": "This field indicates the date and time at the end of the appointment window scheduled to deliver the shipment. This field is expected to be in ISO-8601 date/time format, with UTC time zone or UTC offset. For example, 2020-07-16T23:00:00Z or 2020-07-16T23:00:00+01:00." + "description": "This field indicates the date and time at the end of the appointment window scheduled to deliver the shipment. This field is expected to be in ISO 8601 date/time format, with UTC time zone or UTC offset. For example, `2020-07-16T23:00:00Z` or `2020-07-16T23:00:00+01:00`." } - } + }, + "description": "Details for the scheduled delivery timeline for a shipment, including the estimated delivery date and time, as well as the start and end times of the appointment window for delivery." } }, "description": "Details for the shipment status update given by the vendor for the specific package." @@ -3261,27 +3102,27 @@ "type": "object", "properties": { "payload": { - "description": "The response payload for the submitShipmentConfirmations operation.", + "description": "The response payload for the `submitShipmentConfirmations` operation.", "$ref": "#/definitions/TransactionReference" }, "errors": { "$ref": "#/definitions/ErrorList" } }, - "description": "The response schema for the submitShipmentConfirmations operation." + "description": "The response schema for the `submitShipmentConfirmations` operation." }, "SubmitShipmentStatusUpdatesResponse": { "type": "object", "properties": { "payload": { - "description": "The response payload for the submitShipmentStatusUpdates operation.", + "description": "The response payload for the `submitShipmentStatusUpdates` operation.", "$ref": "#/definitions/TransactionReference" }, "errors": { "$ref": "#/definitions/ErrorList" } }, - "description": "The response schema for the submitShipmentStatusUpdates operation." + "description": "The response schema for the `submitShipmentStatusUpdates` operation." }, "GetShippingLabelListResponse": { "type": "object", @@ -3294,20 +3135,20 @@ "$ref": "#/definitions/ErrorList" } }, - "description": "The response schema for the getShippingLabels operation." + "description": "The response schema for the `getShippingLabels` operation." }, "GetShippingLabelResponse": { "type": "object", "properties": { "payload": { - "description": "The payload for the getShippingLabel operation.", + "description": "The payload for the `getShippingLabel` operation.", "$ref": "#/definitions/ShippingLabel" }, "errors": { "$ref": "#/definitions/ErrorList" } }, - "description": "The response schema for the getShippingLabel operation." + "description": "The response schema for the `getShippingLabel` operation." }, "ShippingLabelList": { "type": "object", @@ -3319,9 +3160,11 @@ "type": "array", "items": { "$ref": "#/definitions/ShippingLabel" - } + }, + "description": "An array containing the details of the generated shipping labels." } - } + }, + "description": "Response payload with the list of shipping labels" }, "LabelData": { "type": "object", @@ -3339,7 +3182,7 @@ }, "shipMethod": { "type": "string", - "description": "Ship method to be used for shipping the order. Amazon defines Ship Method Codes indicating shipping carrier and shipment service level. Ship Method Codes are case and format sensitive. The same ship method code should returned on the shipment confirmation. Note that the Ship Method Codes are vendor specific and will be provided to each vendor during the implementation." + "description": "Ship method to be used for shipping the order. Amazon defines ship method codes indicating shipping carrier and shipment service level. Ship method codes are case and format sensitive. The same ship method code should returned on the shipment confirmation. Note that the ship method codes are vendor specific and will be provided to each vendor during the implementation." }, "shipMethodName": { "type": "string", @@ -3400,20 +3243,21 @@ "$ref": "#/definitions/LabelData" } } - } + }, + "description": "Shipping label information for an order, including the purchase order number, selling party, ship from party, label format, and package details." }, "SubmitShippingLabelsResponse": { "type": "object", "properties": { "payload": { - "description": "The response payload for the submitShippingLabelRequest operation.", + "description": "The response payload for the `submitShippingLabelRequest` operation.", "$ref": "#/definitions/TransactionReference" }, "errors": { "$ref": "#/definitions/ErrorList" } }, - "description": "The response schema for the submitShippingLabelRequest operation." + "description": "The response schema for the `submitShippingLabelRequest` operation." }, "SubmitShipmentConfirmationsRequest": { "type": "object", @@ -3422,9 +3266,11 @@ "type": "array", "items": { "$ref": "#/definitions/ShipmentConfirmation" - } + }, + "description": "Array of `ShipmentConfirmation` objects, each representing confirmation details for a specific shipment." } - } + }, + "description": "The request schema for the `submitShipmentConfirmations` operation." }, "ShipmentConfirmation": { "type": "object", @@ -3467,7 +3313,8 @@ "$ref": "#/definitions/Container" } } - } + }, + "description": "Represents the confirmation details of a shipment, including the purchase order number and other shipment details." }, "SubmitShipmentStatusUpdatesRequest": { "type": "object", @@ -3477,9 +3324,11 @@ "items": { "$ref": "#/definitions/ShipmentStatusUpdate" }, - "minItems": 1 + "minItems": 1, + "description": "Contains a list of one or more `ShipmentStatusUpdate` objects, each representing an update to the status of a specific shipment." } - } + }, + "description": "Represents the request payload for submitting updates to the status of shipments, containing an array of one or more `ShipmentStatusUpdate` objects." }, "ShipmentStatusUpdate": { "type": "object", @@ -3507,7 +3356,8 @@ "description": "Provide the details about the status of the shipment at that particular point of time.", "$ref": "#/definitions/StatusUpdateDetails" } - } + }, + "description": "Represents an update to the status of a shipment." }, "GetCustomerInvoicesResponse": { "type": "object", @@ -3520,20 +3370,20 @@ "$ref": "#/definitions/ErrorList" } }, - "description": "The response schema for the getCustomerInvoices operation." + "description": "The response schema for the `getCustomerInvoices` operation." }, "GetCustomerInvoiceResponse": { "type": "object", "properties": { "payload": { - "description": "The payload for the getCustomerInvoice operation.", + "description": "The payload for the `getCustomerInvoice` operation.", "$ref": "#/definitions/CustomerInvoice" }, "errors": { "$ref": "#/definitions/ErrorList" } }, - "description": "The response schema for the getCustomerInvoice operation." + "description": "The response schema for the `getCustomerInvoice` operation." }, "CustomerInvoiceList": { "type": "object", @@ -3543,20 +3393,23 @@ }, "customerInvoices": { "type": "array", + "description": "Represents a customer invoice within the `CustomerInvoiceList`.", "items": { "$ref": "#/definitions/CustomerInvoice" } } - } + }, + "description": "Represents a list of customer invoices, potentially paginated." }, "Pagination": { "type": "object", "properties": { "nextToken": { "type": "string", - "description": "A generated string used to pass information to your next request. If NextToken is returned, pass the value of NextToken to the next request. If NextToken is not returned, there are no more order items to return." + "description": "A generated string used to pass information to your next request. If `NextToken` is returned, pass the value of `NextToken` to the next request. If `NextToken` is not returned, there are no more order items to return." } - } + }, + "description": "The pagination elements required to retrieve the remaining data." }, "CustomerInvoice": { "type": "object", @@ -3572,9 +3425,10 @@ }, "content": { "type": "string", - "description": "The Base64encoded customer invoice." + "description": "The `Base64encoded` customer invoice." } - } + }, + "description": "Represents a customer invoice associated with a purchase order." }, "TransactionReference": { "type": "object", @@ -3583,7 +3437,8 @@ "type": "string", "description": "GUID to identify this transaction. This value can be used with the Transaction Status API to return the status of this transaction." } - } + }, + "description": "Response containing the transaction ID." }, "ErrorList": { "type": "array", @@ -3686,7 +3541,8 @@ "$ref": "#/definitions/PackedItem" } } - } + }, + "description": "A container used for shipping and packing items." } } } \ No newline at end of file diff --git a/models/vendor-direct-fulfillment-shipping-api-model/vendorDirectFulfillmentShipping_2021-12-28.json b/models/vendor-direct-fulfillment-shipping-api-model/vendorDirectFulfillmentShipping_2021-12-28.json index 45b6beb19..6db67e913 100644 --- a/models/vendor-direct-fulfillment-shipping-api-model/vendorDirectFulfillmentShipping_2021-12-28.json +++ b/models/vendor-direct-fulfillment-shipping-api-model/vendorDirectFulfillmentShipping_2021-12-28.json @@ -216,10 +216,6 @@ "$ref": "#/definitions/ErrorList" }, "headers": { - "x-amzn-RateLimit-Limit": { - "type": "string", - "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." - }, "x-amzn-RequestId": { "type": "string", "description": "Unique request reference identifier." @@ -232,10 +228,6 @@ "$ref": "#/definitions/ErrorList" }, "headers": { - "x-amzn-RateLimit-Limit": { - "type": "string", - "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." - }, "x-amzn-RequestId": { "type": "string", "description": "Unique request reference identifier." @@ -248,10 +240,6 @@ "$ref": "#/definitions/ErrorList" }, "headers": { - "x-amzn-RateLimit-Limit": { - "type": "string", - "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." - }, "x-amzn-RequestId": { "type": "string", "description": "Unique request reference identifier." @@ -264,10 +252,6 @@ "$ref": "#/definitions/ErrorList" }, "headers": { - "x-amzn-RateLimit-Limit": { - "type": "string", - "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." - }, "x-amzn-RequestId": { "type": "string", "description": "Unique request reference identifier." @@ -292,7 +276,8 @@ "required": true, "schema": { "$ref": "#/definitions/SubmitShippingLabelsRequest" - } + }, + "description": "Request body that contains the shipping labels data." } ], "responses": { @@ -362,10 +347,6 @@ "$ref": "#/definitions/ErrorList" }, "headers": { - "x-amzn-RateLimit-Limit": { - "type": "string", - "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." - }, "x-amzn-RequestId": { "type": "string", "description": "Unique request reference identifier." @@ -378,10 +359,6 @@ "$ref": "#/definitions/ErrorList" }, "headers": { - "x-amzn-RateLimit-Limit": { - "type": "string", - "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." - }, "x-amzn-RequestId": { "type": "string", "description": "Unique request reference identifier." @@ -394,10 +371,6 @@ "$ref": "#/definitions/ErrorList" }, "headers": { - "x-amzn-RateLimit-Limit": { - "type": "string", - "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." - }, "x-amzn-RequestId": { "type": "string", "description": "Unique request reference identifier." @@ -410,10 +383,6 @@ "$ref": "#/definitions/ErrorList" }, "headers": { - "x-amzn-RateLimit-Limit": { - "type": "string", - "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." - }, "x-amzn-RequestId": { "type": "string", "description": "Unique request reference identifier." @@ -426,10 +395,6 @@ "$ref": "#/definitions/ErrorList" }, "headers": { - "x-amzn-RateLimit-Limit": { - "type": "string", - "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." - }, "x-amzn-RequestId": { "type": "string", "description": "Unique request reference identifier." @@ -453,7 +418,7 @@ { "name": "purchaseOrderNumber", "in": "path", - "description": "The purchase order number for which you want to return the shipping label. It should be the same purchaseOrderNumber as received in the order.", + "description": "The purchase order number for which you want to return the shipping label. Should be the same `purchaseOrderNumber` as received in the order.", "required": true, "type": "string", "pattern": "^[a-zA-Z0-9]+$" @@ -519,10 +484,6 @@ "$ref": "#/definitions/ErrorList" }, "headers": { - "x-amzn-RateLimit-Limit": { - "type": "string", - "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." - }, "x-amzn-RequestId": { "type": "string", "description": "Unique request reference identifier." @@ -563,10 +524,6 @@ "$ref": "#/definitions/ErrorList" }, "headers": { - "x-amzn-RateLimit-Limit": { - "type": "string", - "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." - }, "x-amzn-RequestId": { "type": "string", "description": "Unique request reference identifier." @@ -579,10 +536,6 @@ "$ref": "#/definitions/ErrorList" }, "headers": { - "x-amzn-RateLimit-Limit": { - "type": "string", - "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." - }, "x-amzn-RequestId": { "type": "string", "description": "Unique request reference identifier." @@ -595,10 +548,6 @@ "$ref": "#/definitions/ErrorList" }, "headers": { - "x-amzn-RateLimit-Limit": { - "type": "string", - "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." - }, "x-amzn-RequestId": { "type": "string", "description": "Unique request reference identifier." @@ -611,10 +560,6 @@ "$ref": "#/definitions/ErrorList" }, "headers": { - "x-amzn-RateLimit-Limit": { - "type": "string", - "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." - }, "x-amzn-RequestId": { "type": "string", "description": "Unique request reference identifier." @@ -645,6 +590,7 @@ "in": "body", "name": "body", "required": true, + "description": "The request payload that contains parameters for creating shipping labels.", "schema": { "$ref": "#/definitions/CreateShippingLabelsRequest" } @@ -803,7 +749,8 @@ "required": true, "schema": { "$ref": "#/definitions/SubmitShipmentConfirmationsRequest" - } + }, + "description": "Request body containing the shipment confirmations data." } ], "responses": { @@ -947,7 +894,8 @@ "required": true, "schema": { "$ref": "#/definitions/SubmitShipmentStatusUpdatesRequest" - } + }, + "description": "Request body that contains the shipment status update data." } ], "responses": { @@ -1849,13 +1797,15 @@ "type": "object", "properties": { "pagination": { - "$ref": "#/definitions/Pagination" + "$ref": "#/definitions/Pagination", + "description": "The pagination elements required to retrieve the remaining data." }, "packingSlips": { "type": "array", "items": { "$ref": "#/definitions/PackingSlip" - } + }, + "description": "An array of packing slip objects." } }, "description": "A list of packing slips." @@ -1892,9 +1842,11 @@ "type": "array", "items": { "$ref": "#/definitions/ShippingLabelRequest" - } + }, + "description": "An array of shipping label requests you want to process." } - } + }, + "description": "The request schema for the `submitShippingLabelRequest` operation." }, "ShippingLabelRequest": { "type": "object", @@ -1924,7 +1876,8 @@ "$ref": "#/definitions/Container" } } - } + }, + "description": "Represents the request payload to create a shipping label. Contains the purchase order number, selling party, ship from party, and a list of containers or packages in the shipment." }, "Item": { "type": "object", @@ -1979,9 +1932,11 @@ "description": "Total item quantity packed in the container.", "$ref": "#/definitions/ItemQuantity" } - } + }, + "description": "Represents an item packed into a container for shipping." }, "PartyIdentification": { + "description": "Name, address, and tax details for a party.", "type": "object", "required": [ "partyId" @@ -2066,11 +2021,11 @@ }, "statusCode": { "type": "string", - "description": "Indicates the shipment status code of the package that provides transportation information for Amazon tracking systems and ultimately for the final customer. For more information, refer to the [Additional Fields Explanation](https://developer-docs.amazon.com/sp-api/docs/vendor-direct-fulfillment-shipping-api-use-case-guide#additional-fields-explanation)." + "description": "The shipment status code for the package that provides transportation information for Amazon tracking systems and the final customer. For more information, refer to the [Additional Fields Explanation](https://developer-docs.amazon.com/sp-api/docs/vendor-direct-fulfillment-shipping-api-use-case-guide#additional-fields-explanation)." }, "reasonCode": { "type": "string", - "description": "Provides a reason code for the status of the package that will provide additional information about the transportation status. For more information, refer to the [Additional Fields Explanation](https://developer-docs.amazon.com/sp-api/docs/vendor-direct-fulfillment-shipping-api-use-case-guide#additional-fields-explanation)." + "description": "Provides a reason code for the package status that provides additional information about the transportation status. For more information, refer to the [Additional Fields Explanation](https://developer-docs.amazon.com/sp-api/docs/vendor-direct-fulfillment-shipping-api-use-case-guide#additional-fields-explanation)." }, "statusDateTime": { "type": "string", @@ -2307,9 +2262,11 @@ "type": "array", "items": { "$ref": "#/definitions/ShippingLabel" - } + }, + "description": "An array that contains the details of the generated shipping labels." } - } + }, + "description": "Response payload with the shipping labels list." }, "LabelData": { "type": "object", @@ -2388,7 +2345,8 @@ "$ref": "#/definitions/LabelData" } } - } + }, + "description": "Shipping label information for an order. Includes the purchase order number, selling party, ship from party, label format, and package details." }, "SubmitShipmentConfirmationsRequest": { "type": "object", @@ -2397,9 +2355,11 @@ "type": "array", "items": { "$ref": "#/definitions/ShipmentConfirmation" - } + }, + "description": "An array of `ShipmentConfirmation` objects, each represents confirmation details for a specific shipment." } - } + }, + "description": "The `submitShipmentConfirmations` request schema." }, "ShipmentConfirmation": { "type": "object", @@ -2442,7 +2402,8 @@ "$ref": "#/definitions/Container" } } - } + }, + "description": "Represents the confirmation details of a shipment. Includes the purchase order number and other shipment details." }, "SubmitShipmentStatusUpdatesRequest": { "type": "object", @@ -2452,9 +2413,11 @@ "items": { "$ref": "#/definitions/ShipmentStatusUpdate" }, - "minItems": 1 + "minItems": 1, + "description": "Contains a list of one or more `ShipmentStatusUpdate` objects, each represents a status update of a specific shipment." } - } + }, + "description": "The `submitShipmentStatusUpdates` request schema." }, "ShipmentStatusUpdate": { "type": "object", @@ -2482,21 +2445,25 @@ "description": "Provide the details about the status of the shipment at that particular point of time.", "$ref": "#/definitions/StatusUpdateDetails" } - } + }, + "description": "Represents a shipment status update." }, "CustomerInvoiceList": { "type": "object", "properties": { "pagination": { - "$ref": "#/definitions/Pagination" + "$ref": "#/definitions/Pagination", + "description": "The pagination elements required to retrieve the remaining data." }, "customerInvoices": { "type": "array", + "description": "Represents a customer invoice within the `CustomerInvoiceList`.", "items": { "$ref": "#/definitions/CustomerInvoice" } } - } + }, + "description": "Represents a list of customer invoices, potentially paginated." }, "Pagination": { "type": "object", @@ -2505,7 +2472,8 @@ "type": "string", "description": "A generated string used to pass information to your next request. If NextToken is returned, pass the value of NextToken to the next request. If NextToken is not returned, there are no more order items to return." } - } + }, + "description": "The pagination elements required to retrieve the remaining data." }, "CustomerInvoice": { "type": "object", @@ -2523,7 +2491,8 @@ "type": "string", "description": "The Base64encoded customer invoice." } - } + }, + "description": "Represents a customer invoice associated with a purchase order." }, "TransactionReference": { "type": "object", @@ -2532,7 +2501,8 @@ "type": "string", "description": "GUID to identify this transaction. This value can be used with the Transaction Status API to return the status of this transaction." } - } + }, + "description": "Response that contains the transaction ID." }, "ErrorList": { "type": "object", @@ -2545,7 +2515,8 @@ "type": "array", "items": { "$ref": "#/definitions/Error" - } + }, + "description": "An array of error objects that represents individual errors encountered during the request." } } }, @@ -2643,7 +2614,8 @@ "$ref": "#/definitions/PackedItem" } } - } + }, + "description": "A container for shipping and packing items." } } } \ No newline at end of file diff --git a/models/vendor-direct-fulfillment-transactions-api-model/vendorDirectFulfillmentTransactionsV1.json b/models/vendor-direct-fulfillment-transactions-api-model/vendorDirectFulfillmentTransactionsV1.json index 4256d587c..91d93162a 100644 --- a/models/vendor-direct-fulfillment-transactions-api-model/vendorDirectFulfillmentTransactionsV1.json +++ b/models/vendor-direct-fulfillment-transactions-api-model/vendorDirectFulfillmentTransactionsV1.json @@ -29,7 +29,7 @@ "tags": [ "vendorTransaction" ], - "description": "Returns the status of the transaction indicated by the specified transactionId.\n\n**Usage Plan:**\n\n| Rate (requests per second) | Burst |\n| ---- | ---- |\n| 10 | 10 |\n\nThe `x-amzn-RateLimit-Limit` response header returns the usage plan rate limits that were applied to the requested operation, when available. The table above indicates the default rate and burst values for this operation. Selling partners whose business demands require higher throughput may see higher rate and burst values than those shown here. For more information, see [Usage Plans and Rate Limits in the Selling Partner API](https://developer-docs.amazon.com/sp-api/docs/usage-plans-and-rate-limits-in-the-sp-api).", + "description": "Returns the status of the transaction indicated by the specified `transactionId`.\n\n**Usage Plan:**\n\n| Rate (requests per second) | Burst |\n| ---- | ---- |\n| 10 | 10 |\n\nThe `x-amzn-RateLimit-Limit` response header returns the usage plan rate limits that are applied to the operation, when available. The preceding table indicates the default rate and burst values for this operation. Selling partners whose business demands require higher throughput may see higher rate and burst values than those shown here. For more information, refer to [Usage Plans and Rate Limits in the SP-API](https://developer-docs.amazon.com/sp-api/docs/usage-plans-and-rate-limits-in-the-sp-api).", "operationId": "getTransactionStatus", "parameters": [ { @@ -168,10 +168,6 @@ "$ref": "#/definitions/GetTransactionResponse" }, "headers": { - "x-amzn-RateLimit-Limit": { - "type": "string", - "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." - }, "x-amzn-RequestId": { "type": "string", "description": "Unique request reference identifier." @@ -212,10 +208,6 @@ "$ref": "#/definitions/GetTransactionResponse" }, "headers": { - "x-amzn-RateLimit-Limit": { - "type": "string", - "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." - }, "x-amzn-RequestId": { "type": "string", "description": "Unique request reference identifier." @@ -228,10 +220,6 @@ "$ref": "#/definitions/GetTransactionResponse" }, "headers": { - "x-amzn-RateLimit-Limit": { - "type": "string", - "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." - }, "x-amzn-RequestId": { "type": "string", "description": "Unique request reference identifier." @@ -244,10 +232,6 @@ "$ref": "#/definitions/GetTransactionResponse" }, "headers": { - "x-amzn-RateLimit-Limit": { - "type": "string", - "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." - }, "x-amzn-RequestId": { "type": "string", "description": "Unique request reference identifier." @@ -260,10 +244,6 @@ "$ref": "#/definitions/GetTransactionResponse" }, "headers": { - "x-amzn-RateLimit-Limit": { - "type": "string", - "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." - }, "x-amzn-RequestId": { "type": "string", "description": "Unique request reference identifier." @@ -286,7 +266,7 @@ "$ref": "#/definitions/ErrorList" } }, - "description": "The response schema for the getTransactionStatus operation." + "description": "The response schema for the `getTransactionStatus` operation." }, "TransactionStatus": { "type": "object", @@ -295,7 +275,7 @@ "$ref": "#/definitions/Transaction" } }, - "description": "The payload for the getTransactionStatus operation." + "description": "The payload for the `getTransactionStatus` operation." }, "Transaction": { "type": "object", diff --git a/models/vendor-direct-fulfillment-transactions-api-model/vendorDirectFulfillmentTransactions_2021-12-28.json b/models/vendor-direct-fulfillment-transactions-api-model/vendorDirectFulfillmentTransactions_2021-12-28.json index 17175c966..d57e72b75 100644 --- a/models/vendor-direct-fulfillment-transactions-api-model/vendorDirectFulfillmentTransactions_2021-12-28.json +++ b/models/vendor-direct-fulfillment-transactions-api-model/vendorDirectFulfillmentTransactions_2021-12-28.json @@ -29,7 +29,7 @@ "tags": [ "vendorTransaction" ], - "description": "Returns the status of the transaction indicated by the specified transactionId.\n\n**Usage Plan:**\n\n| Rate (requests per second) | Burst |\n| ---- | ---- |\n| 10 | 10 |\n\nThe `x-amzn-RateLimit-Limit` response header returns the usage plan rate limits that were applied to the requested operation, when available. The table above indicates the default rate and burst values for this operation. Selling partners whose business demands require higher throughput may see higher rate and burst values then those shown here. For more information, see [Usage Plans and Rate Limits in the Selling Partner API](doc:usage-plans-and-rate-limits-in-the-sp-api).", + "description": "Returns the status of the transaction indicated by the specified `transactionId`.\n\n**Usage Plan:**\n\n| Rate (requests per second) | Burst |\n| ---- | ---- |\n| 10 | 10 |\n\nThe `x-amzn-RateLimit-Limit` response header returns the usage plan rate limits that were applied to the requested operation, when available. The table above indicates the default rate and burst values for this operation. Selling partners whose business demands require higher throughput may see higher rate and burst values then those shown here. For more information, refer to [Usage Plans and Rate Limits in the Selling Partner API](https://developer-docs.amazon.com/sp-api/docs/usage-plans-and-rate-limits-in-the-sp-api).", "operationId": "getTransactionStatus", "parameters": [ { @@ -48,10 +48,10 @@ }, "examples": { "application/json": { - "transactionStatus": { - "transactionId": "20190108091302-6ca0ac50-d06e-45f5-a1e2-eb448eadac50", - "status": "Processing" - } + "transactionStatus": { + "transactionId": "20190108091302-6ca0ac50-d06e-45f5-a1e2-eb448eadac50", + "status": "Processing" + } } }, "headers": { @@ -82,15 +82,11 @@ } }, "401": { - "description": "The request's Authorization header is not formatted correctly or does not contain a valid token.", + "description": "The request's authorization header is not formatted correctly or does not contain a valid token.", "schema": { "$ref": "#/definitions/Error" }, "headers": { - "x-amzn-RateLimit-Limit": { - "type": "string", - "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." - }, "x-amzn-RequestId": { "type": "string", "description": "Unique request reference identifier." @@ -131,10 +127,6 @@ "$ref": "#/definitions/Error" }, "headers": { - "x-amzn-RateLimit-Limit": { - "type": "string", - "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." - }, "x-amzn-RequestId": { "type": "string", "description": "Unique request reference identifier." @@ -147,10 +139,6 @@ "$ref": "#/definitions/Error" }, "headers": { - "x-amzn-RateLimit-Limit": { - "type": "string", - "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." - }, "x-amzn-RequestId": { "type": "string", "description": "Unique request reference identifier." @@ -163,10 +151,6 @@ "$ref": "#/definitions/Error" }, "headers": { - "x-amzn-RateLimit-Limit": { - "type": "string", - "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." - }, "x-amzn-RequestId": { "type": "string", "description": "Unique request reference identifier." @@ -179,10 +163,6 @@ "$ref": "#/definitions/Error" }, "headers": { - "x-amzn-RateLimit-Limit": { - "type": "string", - "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." - }, "x-amzn-RequestId": { "type": "string", "description": "Unique request reference identifier." @@ -205,7 +185,7 @@ "$ref": "#/definitions/Transaction" } }, - "description": "The payload for the getTransactionStatus operation." + "description": "The payload for the `getTransactionStatus` operation." }, "Transaction": { "type": "object", @@ -249,41 +229,42 @@ "description": "The transaction status details." }, "ErrorList": { - "type": "object", - "description": "A list of error responses returned when a request is unsuccessful.", - "required": [ - "errors" - ], - "properties": { - "errors": { - "type": "array", - "items": { - "$ref": "#/definitions/Error" - } - } + "type": "object", + "description": "A list of error responses returned when a request is unsuccessful.", + "required": [ + "errors" + ], + "properties": { + "errors": { + "type": "array", + "description": "An array of individual error objects containing error details.", + "items": { + "$ref": "#/definitions/Error" + } } + } }, "Error": { - "description": "Error response returned when the request is unsuccessful.", - "properties": { - "code": { - "description": "An error code that identifies the type of error that occurred.", - "type": "string" - }, - "message": { - "description": "A message that describes the error condition.", - "type": "string" - }, - "details": { - "description": "Additional details that can help the caller understand or fix the issue.", - "type": "string" - } + "description": "Error response returned when the request is unsuccessful.", + "properties": { + "code": { + "description": "An error code that identifies the type of error that occurred.", + "type": "string" }, - "required": [ - "code", - "message" - ], - "type": "object" + "message": { + "description": "A message that describes the error condition.", + "type": "string" + }, + "details": { + "description": "Additional details that can help the caller understand or fix the issue.", + "type": "string" + } + }, + "required": [ + "code", + "message" + ], + "type": "object" } } } \ No newline at end of file diff --git a/models/vendor-invoices-api-model/vendorInvoices.json b/models/vendor-invoices-api-model/vendorInvoices.json index 863f431eb..50ebff6c2 100644 --- a/models/vendor-invoices-api-model/vendorInvoices.json +++ b/models/vendor-invoices-api-model/vendorInvoices.json @@ -29,7 +29,7 @@ "tags": [ "vendorPayments" ], - "description": "Submit new invoices to Amazon.\n\n**Usage Plan:**\n\n| Rate (requests per second) | Burst |\n| ---- | ---- |\n| 10 | 10 |\n\nThe `x-amzn-RateLimit-Limit` response header returns the usage plan rate limits that were applied to the requested operation, when available. The table above indicates the default rate and burst values for this operation. Selling partners whose business demands require higher throughput may see higher rate and burst values than those shown here. For more information, see [Usage Plans and Rate Limits in the Selling Partner API](https://developer-docs.amazon.com/sp-api/docs/usage-plans-and-rate-limits-in-the-sp-api).", + "description": "Submit new invoices to Amazon.\n\n**Usage Plan:**\n\n| Rate (requests per second) | Burst |\n| ---- | ---- |\n| 10 | 10 |\n\nThe `x-amzn-RateLimit-Limit` response header returns the usage plan rate limits that were applied to the requested operation, when available. The table above indicates the default rate and burst values for this operation. Selling partners whose business demands require higher throughput may see higher rate and burst values than those shown here. For more information, refer to [Usage Plans and Rate Limits in the Selling Partner API](https://developer-docs.amazon.com/sp-api/docs/usage-plans-and-rate-limits-in-the-sp-api).", "operationId": "submitInvoices", "parameters": [ { @@ -280,7 +280,8 @@ ] } } - } + }, + "description": "The request body containing the invoice data to submit." } ], "responses": { @@ -303,7 +304,7 @@ }, "x-amzn-RequestId": { "type": "string", - "description": "Unique request reference identifier. " + "description": "Unique request reference identifier." } }, "x-amzn-api-sandbox": { @@ -416,7 +417,7 @@ }, "x-amzn-RequestId": { "type": "string", - "description": "unique request reference identifier." + "description": "Unique request reference identifier." } } }, @@ -426,10 +427,6 @@ "$ref": "#/definitions/SubmitInvoicesResponse" }, "headers": { - "x-amzn-RateLimit-Limit": { - "type": "string", - "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." - }, "x-amzn-RequestId": { "type": "string", "description": "Unique request reference identifier." @@ -442,10 +439,6 @@ "$ref": "#/definitions/SubmitInvoicesResponse" }, "headers": { - "x-amzn-RateLimit-Limit": { - "type": "string", - "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." - }, "x-amzn-RequestId": { "type": "string", "description": "Unique request reference identifier." @@ -458,10 +451,6 @@ "$ref": "#/definitions/SubmitInvoicesResponse" }, "headers": { - "x-amzn-RateLimit-Limit": { - "type": "string", - "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." - }, "x-amzn-RequestId": { "type": "string", "description": "Unique request reference identifier." @@ -474,10 +463,6 @@ "$ref": "#/definitions/SubmitInvoicesResponse" }, "headers": { - "x-amzn-RateLimit-Limit": { - "type": "string", - "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." - }, "x-amzn-RequestId": { "type": "string", "description": "Unique request reference identifier." @@ -490,10 +475,6 @@ "$ref": "#/definitions/SubmitInvoicesResponse" }, "headers": { - "x-amzn-RateLimit-Limit": { - "type": "string", - "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." - }, "x-amzn-RequestId": { "type": "string", "description": "Unique request reference identifier." @@ -509,14 +490,14 @@ "type": "object", "properties": { "payload": { - "description": "The response payload for the submitInvoices operation.", + "description": "The response payload for the `submitInvoices` operation.", "$ref": "#/definitions/TransactionId" }, "errors": { "$ref": "#/definitions/ErrorList" } }, - "description": "The response schema for the submitInvoices operation." + "description": "The response schema for the `submitInvoices` operation." }, "TransactionId": { "type": "object", @@ -525,7 +506,8 @@ "type": "string", "description": "GUID to identify this transaction. This value can be used with the Transaction Status API to return the status of this transaction." } - } + }, + "description": "Response containing the transaction ID." }, "ErrorList": { "type": "array", @@ -563,10 +545,11 @@ "type": "array", "items": { "$ref": "#/definitions/Invoice" - } + }, + "description": "An array of Invoice objects representing the invoices or credit notes to be submitted." } }, - "description": "The request schema for the submitInvoices operation." + "description": "The request schema for the `submitInvoices` operation." }, "Invoice": { "type": "object", @@ -609,19 +592,19 @@ "$ref": "#/definitions/DateTime" }, "remitToParty": { - "description": "Name, address and tax details of the party receiving the payment of this invoice.", + "description": "Name, address, and tax details of the party receiving the payment of this invoice.", "$ref": "#/definitions/PartyIdentification" }, "shipToParty": { - "description": "Name, address and tax details of the party receiving a shipment of products.", + "description": "Name, address, and tax details of the party receiving a shipment of products.", "$ref": "#/definitions/PartyIdentification" }, "shipFromParty": { - "description": "Name, address and tax details of the party sending a shipment of products.", + "description": "Name, address, and tax details of the party sending a shipment of products.", "$ref": "#/definitions/PartyIdentification" }, "billToParty": { - "description": "Name, address and tax details of the party to whom this invoice is issued.", + "description": "Name, address, and tax details of the party to whom this invoice is issued.", "$ref": "#/definitions/PartyIdentification" }, "paymentTerms": { @@ -667,9 +650,11 @@ "$ref": "#/definitions/InvoiceItem" } } - } + }, + "description": "Represents an invoice or credit note document with details about the transaction, parties involved, and line items." }, "PartyIdentification": { + "description": "Name, address, and tax details of a party.", "type": "object", "required": [ "partyId" @@ -750,23 +735,23 @@ }, "city": { "type": "string", - "description": "The city where the person, business or institution is located." + "description": "The city where the person, business, or institution is located." }, "county": { "type": "string", - "description": "The county where person, business or institution is located." + "description": "The county where person, business, or institution is located." }, "district": { "type": "string", - "description": "The district where person, business or institution is located." + "description": "The district where person, business, or institution is located." }, "stateOrRegion": { "type": "string", - "description": "The state or region where person, business or institution is located." + "description": "The state or region where person, business, or institution is located." }, "postalOrZipCode": { "type": "string", - "description": "The postal or zip code of that address. It contains a series of letters or digits or both, sometimes including spaces or punctuation." + "description": "The postal or zip code of that address. It contains a series of letters, digits, or both, sometimes including spaces or punctuation." }, "countryCode": { "type": "string", @@ -810,14 +795,14 @@ }, "purchaseOrderNumber": { "type": "string", - "description": "The Amazon purchase order number for this invoiced line item. Formatting Notes: 8-character alpha-numeric code. This value is mandatory only when invoiceType is Invoice, and is not required when invoiceType is CreditNote." + "description": "The Amazon purchase order number for this invoiced line item. Formatting Notes: 8-character alpha-numeric code. This value is mandatory only when `invoiceType` is `Invoice`, and is not required when `invoiceType` is `CreditNote`." }, "hsnCode": { "type": "string", - "description": "HSN Tax code. The HSN number cannot contain alphabets." + "description": "The HSN Tax code. The HSN number cannot contain alphabets." }, "creditNoteDetails": { - "description": "Details required in order to process a credit note. This information is required only if invoiceType is CreditNote.", + "description": "Details required in order to process a credit note. This information is required only if `invoiceType` is `CreditNote`.", "$ref": "#/definitions/CreditNoteDetails" }, "taxDetails": { @@ -930,11 +915,11 @@ ] }, "taxRate": { - "description": "Tax percentage applied. Percentage must be expressed in decimal.", + "description": "Tax percentage applied. Percentage must be expressed in decimal format.", "$ref": "#/definitions/Decimal" }, "taxAmount": { - "description": "Total tax amount applied on invoice total or an item total.", + "description": "Total tax amount applied on an invoice total or item total.", "$ref": "#/definitions/Money" }, "taxableAmount": { @@ -1196,7 +1181,7 @@ }, "discountDueDays": { "type": "number", - "description": "The number of calendar days from the Base date (Invoice date) until the discount is no longer valid." + "description": "The number of calendar days from the base date (Invoice date) until the discount is no longer valid." }, "netDueDays": { "type": "number", @@ -1210,18 +1195,18 @@ "properties": { "referenceInvoiceNumber": { "type": "string", - "description": "Original Invoice Number when sending a credit note relating to an existing invoice. One Invoice only to be processed per Credit Note. This is mandatory for AP Credit Notes." + "description": "Original invoice number when sending a credit note relating to an existing invoice. One invoice only to be processed per credit note. This is mandatory for AP credit notes." }, "debitNoteNumber": { "type": "string", - "description": "Debit Note Number as generated by Amazon. Recommended for Returns and COOP Credit Notes." + "description": "Debit note number as generated by Amazon. Recommended for returns and COOP credit notes." }, "returnsReferenceNumber": { "type": "string", - "description": "Identifies the Returns Notice Number. Mandatory for all Returns Credit Notes." + "description": "Identifies the returns notice number. Mandatory for all returns credit notes." }, "goodsReturnDate": { - "description": "Date that a return is received by the vendor. It is mandatory for Returns Credit Note.", + "description": "Date that a return is received by the vendor. It is mandatory for the returns credit note.", "$ref": "#/definitions/DateTime" }, "rmaId": { @@ -1230,14 +1215,14 @@ }, "coopReferenceNumber": { "type": "string", - "description": "Identifies the COOP reference used for COOP agreement. Failure to provide the COOP reference number or the Debit Note number may lead to a rejection of the Credit Note." + "description": "Identifies the COOP reference used for COOP agreement. Failure to provide the COOP reference number or the debit note number may lead to a rejection of the credit note." }, "consignorsReferenceNumber": { "type": "string", "description": "Identifies the consignor reference number (VRET number), if generated by Amazon." } }, - "description": "References required in order to process a credit note. This information is required only if InvoiceType is CreditNote." + "description": "References required in order to process a credit note. This information is required only if `InvoiceType` is `CreditNote`." }, "ItemQuantity": { "type": "object", @@ -1270,7 +1255,7 @@ }, "unitSize": { "type": "integer", - "description": "The case size, if the unit of measure value is Cases." + "description": "The case size, if the unit of measure value is `Cases`." } }, "description": "Details of quantity." @@ -1282,7 +1267,7 @@ "DateTime": { "type": "string", "format": "date-time", - "description": "Defines a date and time according to ISO8601." + "description": "Defines a date and time according to ISO 8601." } } } \ No newline at end of file diff --git a/models/vendor-orders-api-model/vendorOrders.json b/models/vendor-orders-api-model/vendorOrders.json index 203ec565f..4f1cccdb3 100644 --- a/models/vendor-orders-api-model/vendorOrders.json +++ b/models/vendor-orders-api-model/vendorOrders.json @@ -29,7 +29,7 @@ "tags": [ "vendorOrders" ], - "description": "Returns a list of purchase orders created or changed during the time frame that you specify. You define the time frame using the createdAfter, createdBefore, changedAfter and changedBefore parameters. The date range to search must not be more than 7 days. You can choose to get only the purchase order numbers by setting includeDetails to false. You can then use the getPurchaseOrder operation to receive details for a specific purchase order.\n\n**Usage Plan:**\n\n| Rate (requests per second) | Burst |\n| ---- | ---- |\n| 10 | 10 |\n\nThe `x-amzn-RateLimit-Limit` response header returns the usage plan rate limits that were applied to the requested operation, when available. The table above indicates the default rate and burst values for this operation. Selling partners whose business demands require higher throughput may see higher rate and burst values than those shown here. For more information, see [Usage Plans and Rate Limits in the Selling Partner API](https://developer-docs.amazon.com/sp-api/docs/usage-plans-and-rate-limits-in-the-sp-api).", + "description": "Returns a list of purchase orders created or changed during the time frame that you specify. You define the time frame using the `createdAfter`, `createdBefore`, `changedAfter` and `changedBefore` parameters. The date range to search must not be more than 7 days. You can choose to get only the purchase order numbers by setting `includeDetails` to false. You can then use the `getPurchaseOrder` operation to receive details for a specific purchase order.\n\n**Usage Plan:**\n\n| Rate (requests per second) | Burst |\n| ---- | ---- |\n| 10 | 10 |\n\nThe `x-amzn-RateLimit-Limit` response header returns the usage plan rate limits that were applied to the requested operation, when available. The table above indicates the default rate and burst values for this operation. Selling partners whose business demands require higher throughput may see higher rate and burst values than those shown here. For more information, refer to [Usage Plans and Rate Limits in the Selling Partner API](https://developer-docs.amazon.com/sp-api/docs/usage-plans-and-rate-limits-in-the-sp-api).", "operationId": "getPurchaseOrders", "parameters": [ { @@ -45,7 +45,7 @@ { "name": "createdAfter", "in": "query", - "description": "Purchase orders that became available after this time will be included in the result. Must be in ISO-8601 date/time format.", + "description": "Purchase orders that became available after this time will be included in the result. Must be in ISO 8601 date/time format.", "required": false, "type": "string", "format": "date-time" @@ -53,7 +53,7 @@ { "name": "createdBefore", "in": "query", - "description": "Purchase orders that became available before this time will be included in the result. Must be in ISO-8601 date/time format.", + "description": "Purchase orders that became available before this time will be included in the result. Must be in ISO 8601 date/time format.", "required": false, "type": "string", "format": "date-time" @@ -89,7 +89,7 @@ { "name": "includeDetails", "in": "query", - "description": "When true, returns purchase orders with complete details. Otherwise, only purchase order numbers are returned. Default value is true.", + "description": "When `true`, returns purchase orders with complete details. Otherwise, only purchase order numbers are returned. Default value is `true`.", "required": false, "type": "string", "format": "boolean" @@ -97,7 +97,7 @@ { "name": "changedAfter", "in": "query", - "description": "Purchase orders that changed after this timestamp will be included in the result. Must be in ISO-8601 date/time format.", + "description": "Purchase orders that changed after this timestamp will be included in the result. Must be in ISO 8601 date/time format.", "required": false, "type": "string", "format": "date-time" @@ -105,7 +105,7 @@ { "name": "changedBefore", "in": "query", - "description": "Purchase orders that changed before this timestamp will be included in the result. Must be in ISO-8601 date/time format.", + "description": "Purchase orders that changed before this timestamp will be included in the result. Must be in ISO 8601 date/time format.", "required": false, "type": "string", "format": "date-time" @@ -113,7 +113,7 @@ { "name": "poItemState", "in": "query", - "description": "Current state of the purchase order item. If this value is Cancelled, this API will return purchase orders which have one or more items cancelled by Amazon with updated item quantity as zero.", + "description": "Current state of the purchase order item. If this value is `Cancelled`, this API will return purchase orders which have one or more items cancelled by Amazon with updated item quantity as zero.", "required": false, "type": "string", "enum": [ @@ -129,7 +129,7 @@ { "name": "isPOChanged", "in": "query", - "description": "When true, returns purchase orders which were modified after the order was placed. Vendors are required to pull the changed purchase order and fulfill the updated purchase order and not the original one. Default value is false.", + "description": "When `true`, returns purchase orders which were modified after the order was placed. Vendors are required to pull the changed purchase order and fulfill the updated purchase order and not the original one. Default value is `false`.", "required": false, "type": "string", "format": "boolean" @@ -1050,15 +1050,11 @@ } }, "403": { - "description": "Indicates that access to the resource is forbidden. Possible reasons include Access Denied, Unauthorized, Expired Token, or Invalid Signature.", + "description": "Indicates that access to the resource is forbidden. Possible reasons include `Access Denied`, `Unauthorized`, `Expired Token`, or `Invalid Signature`.", "schema": { "$ref": "#/definitions/GetPurchaseOrdersResponse" }, "headers": { - "x-amzn-RateLimit-Limit": { - "type": "string", - "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." - }, "x-amzn-RequestId": { "type": "string", "description": "Unique request reference identifier." @@ -1087,10 +1083,6 @@ "$ref": "#/definitions/GetPurchaseOrdersResponse" }, "headers": { - "x-amzn-RateLimit-Limit": { - "type": "string", - "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." - }, "x-amzn-RequestId": { "type": "string", "description": "Unique request reference identifier." @@ -1103,10 +1095,6 @@ "$ref": "#/definitions/GetPurchaseOrdersResponse" }, "headers": { - "x-amzn-RateLimit-Limit": { - "type": "string", - "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." - }, "x-amzn-RequestId": { "type": "string", "description": "Unique request reference identifier." @@ -1119,10 +1107,6 @@ "$ref": "#/definitions/GetPurchaseOrdersResponse" }, "headers": { - "x-amzn-RateLimit-Limit": { - "type": "string", - "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." - }, "x-amzn-RequestId": { "type": "string", "description": "Unique request reference identifier." @@ -1135,10 +1119,6 @@ "$ref": "#/definitions/GetPurchaseOrdersResponse" }, "headers": { - "x-amzn-RateLimit-Limit": { - "type": "string", - "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." - }, "x-amzn-RequestId": { "type": "string", "description": "Unique request reference identifier." @@ -1153,7 +1133,7 @@ "tags": [ "vendorOrders" ], - "description": "Returns a purchase order based on the purchaseOrderNumber value that you specify.\n\n**Usage Plan:**\n\n| Rate (requests per second) | Burst |\n| ---- | ---- |\n| 10 | 10 |\n\nThe `x-amzn-RateLimit-Limit` response header returns the usage plan rate limits that were applied to the requested operation, when available. The table above indicates the default rate and burst values for this operation. Selling partners whose business demands require higher throughput may see higher rate and burst values than those shown here. For more information, see [Usage Plans and Rate Limits in the Selling Partner API](https://developer-docs.amazon.com/sp-api/docs/usage-plans-and-rate-limits-in-the-sp-api).", + "description": "Returns a purchase order based on the `purchaseOrderNumber` value that you specify.\n\n**Usage Plan:**\n\n| Rate (requests per second) | Burst |\n| ---- | ---- |\n| 10 | 10 |\n\nThe `x-amzn-RateLimit-Limit` response header returns the usage plan rate limits that were applied to the requested operation, when available. The table above indicates the default rate and burst values for this operation. Selling partners whose business demands require higher throughput may see higher rate and burst values than those shown here. For more information, refer to [Usage Plans and Rate Limits in the Selling Partner API](https://developer-docs.amazon.com/sp-api/docs/usage-plans-and-rate-limits-in-the-sp-api).", "operationId": "getPurchaseOrder", "parameters": [ { @@ -1439,15 +1419,11 @@ } }, "401": { - "description": "The request's Authorization header is not formatted correctly or does not contain a valid token.", + "description": "The request's authorization header is not formatted correctly or does not contain a valid token.", "schema": { "$ref": "#/definitions/GetPurchaseOrderResponse" }, "headers": { - "x-amzn-RateLimit-Limit": { - "type": "string", - "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." - }, "x-amzn-RequestId": { "type": "string", "description": "Unique request reference identifier." @@ -1455,15 +1431,11 @@ } }, "403": { - "description": "Indicates that access to the resource is forbidden. Possible reasons include Access Denied, Unauthorized, Expired Token, or Invalid Signature.", + "description": "Indicates that access to the resource is forbidden. Possible reasons include `Access Denied`, `Unauthorized`, `Expired Token`, or `Invalid Signature`.", "schema": { "$ref": "#/definitions/GetPurchaseOrderResponse" }, "headers": { - "x-amzn-RateLimit-Limit": { - "type": "string", - "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." - }, "x-amzn-RequestId": { "type": "string", "description": "Unique request reference identifier." @@ -1492,10 +1464,6 @@ "$ref": "#/definitions/GetPurchaseOrderResponse" }, "headers": { - "x-amzn-RateLimit-Limit": { - "type": "string", - "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." - }, "x-amzn-RequestId": { "type": "string", "description": "Unique request reference identifier." @@ -1508,10 +1476,6 @@ "$ref": "#/definitions/GetPurchaseOrderResponse" }, "headers": { - "x-amzn-RateLimit-Limit": { - "type": "string", - "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." - }, "x-amzn-RequestId": { "type": "string", "description": "Unique request reference identifier." @@ -1524,10 +1488,6 @@ "$ref": "#/definitions/GetPurchaseOrderResponse" }, "headers": { - "x-amzn-RateLimit-Limit": { - "type": "string", - "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." - }, "x-amzn-RequestId": { "type": "string", "description": "Unique request reference identifier." @@ -1540,10 +1500,6 @@ "$ref": "#/definitions/GetPurchaseOrderResponse" }, "headers": { - "x-amzn-RateLimit-Limit": { - "type": "string", - "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." - }, "x-amzn-RequestId": { "type": "string", "description": "Unique request reference identifier." @@ -1558,12 +1514,13 @@ "tags": [ "vendorOrders" ], - "description": "Submits acknowledgements for one or more purchase orders.\n\n**Usage Plan:**\n\n| Rate (requests per second) | Burst |\n| ---- | ---- |\n| 10 | 10 |\n\nThe `x-amzn-RateLimit-Limit` response header returns the usage plan rate limits that were applied to the requested operation, when available. The table above indicates the default rate and burst values for this operation. Selling partners whose business demands require higher throughput may see higher rate and burst values than those shown here. For more information, see [Usage Plans and Rate Limits in the Selling Partner API](https://developer-docs.amazon.com/sp-api/docs/usage-plans-and-rate-limits-in-the-sp-api).", + "description": "Submits acknowledgements for one or more purchase orders.\n\n**Usage Plan:**\n\n| Rate (requests per second) | Burst |\n| ---- | ---- |\n| 10 | 10 |\n\nThe `x-amzn-RateLimit-Limit` response header returns the usage plan rate limits that were applied to the requested operation, when available. The table above indicates the default rate and burst values for this operation. Selling partners whose business demands require higher throughput may see higher rate and burst values than those shown here. For more information, refer to [Usage Plans and Rate Limits in the Selling Partner API](https://developer-docs.amazon.com/sp-api/docs/usage-plans-and-rate-limits-in-the-sp-api).", "operationId": "submitAcknowledgement", "parameters": [ { "in": "body", "name": "body", + "description": "Submits acknowledgements for one or more purchase orders from a vendor.", "required": true, "schema": { "$ref": "#/definitions/SubmitAcknowledgementRequest", @@ -1743,15 +1700,11 @@ } }, "403": { - "description": "Indicates that access to the resource is forbidden. Possible reasons include Access Denied, Unauthorized, Expired Token, or Invalid Signature.", + "description": "Indicates that access to the resource is forbidden. Possible reasons include `Access Denied`, `Unauthorized,` `Expired Token`, or `Invalid Signature`.", "schema": { "$ref": "#/definitions/SubmitAcknowledgementResponse" }, "headers": { - "x-amzn-RateLimit-Limit": { - "type": "string", - "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." - }, "x-amzn-RequestId": { "type": "string", "description": "Unique request reference identifier." @@ -1780,10 +1733,6 @@ "$ref": "#/definitions/SubmitAcknowledgementResponse" }, "headers": { - "x-amzn-RateLimit-Limit": { - "type": "string", - "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." - }, "x-amzn-RequestId": { "type": "string", "description": "Unique request reference identifier." @@ -1796,10 +1745,6 @@ "$ref": "#/definitions/SubmitAcknowledgementResponse" }, "headers": { - "x-amzn-RateLimit-Limit": { - "type": "string", - "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." - }, "x-amzn-RequestId": { "type": "string", "description": "Unique request reference identifier." @@ -1812,10 +1757,6 @@ "$ref": "#/definitions/SubmitAcknowledgementResponse" }, "headers": { - "x-amzn-RateLimit-Limit": { - "type": "string", - "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." - }, "x-amzn-RequestId": { "type": "string", "description": "Unique request reference identifier." @@ -1828,10 +1769,6 @@ "$ref": "#/definitions/SubmitAcknowledgementResponse" }, "headers": { - "x-amzn-RateLimit-Limit": { - "type": "string", - "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." - }, "x-amzn-RequestId": { "type": "string", "description": "Unique request reference identifier." @@ -1844,10 +1781,6 @@ "$ref": "#/definitions/SubmitAcknowledgementResponse" }, "headers": { - "x-amzn-RateLimit-Limit": { - "type": "string", - "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." - }, "x-amzn-RequestId": { "type": "string", "description": "Unique request reference identifier." @@ -1862,7 +1795,7 @@ "tags": [ "vendorOrders" ], - "description": "Returns purchase order statuses based on the filters that you specify. Date range to search must not be more than 7 days. You can return a list of purchase order statuses using the available filters, or a single purchase order status by providing the purchase order number.\n\n**Usage Plan:**\n\n| Rate (requests per second) | Burst |\n| ---- | ---- |\n| 10 | 10 |\n\nThe `x-amzn-RateLimit-Limit` response header returns the usage plan rate limits that were applied to the requested operation, when available. The table above indicates the default rate and burst values for this operation. Selling partners whose business demands require higher throughput may see higher rate and burst values than those shown here. For more information, see [Usage Plans and Rate Limits in the Selling Partner API](https://developer-docs.amazon.com/sp-api/docs/usage-plans-and-rate-limits-in-the-sp-api).", + "description": "Returns purchase order statuses based on the filters that you specify. Date range to search must not be more than 7 days. You can return a list of purchase order statuses using the available filters, or a single purchase order status by providing the purchase order number.\n\n**Usage Plan:**\n\n| Rate (requests per second) | Burst |\n| ---- | ---- |\n| 10 | 10 |\n\nThe `x-amzn-RateLimit-Limit` response header returns the usage plan rate limits that were applied to the requested operation, when available. The table above indicates the default rate and burst values for this operation. Selling partners whose business demands require higher throughput may see higher rate and burst values than those shown here. For more information, refer to [Usage Plans and Rate Limits in the Selling Partner API](https://developer-docs.amazon.com/sp-api/docs/usage-plans-and-rate-limits-in-the-sp-api).", "operationId": "getPurchaseOrdersStatus", "parameters": [ { @@ -1906,7 +1839,7 @@ { "name": "createdAfter", "in": "query", - "description": "Purchase orders that became available after this timestamp will be included in the result. Must be in ISO-8601 date/time format.", + "description": "Purchase orders that became available after this timestamp will be included in the result. Must be in ISO 8601 date/time format.", "required": false, "type": "string", "format": "date-time" @@ -1914,7 +1847,7 @@ { "name": "createdBefore", "in": "query", - "description": "Purchase orders that became available before this timestamp will be included in the result. Must be in ISO-8601 date/time format.", + "description": "Purchase orders that became available before this timestamp will be included in the result. Must be in ISO 8601 date/time format.", "required": false, "type": "string", "format": "date-time" @@ -1922,7 +1855,7 @@ { "name": "updatedAfter", "in": "query", - "description": "Purchase orders for which the last purchase order update happened after this timestamp will be included in the result. Must be in ISO-8601 date/time format.", + "description": "Purchase orders for which the last purchase order update happened after this timestamp will be included in the result. Must be in ISO 8601 date/time format.", "required": false, "type": "string", "format": "date-time" @@ -1930,7 +1863,7 @@ { "name": "updatedBefore", "in": "query", - "description": "Purchase orders for which the last purchase order update happened before this timestamp will be included in the result. Must be in ISO-8601 date/time format.", + "description": "Purchase orders for which the last purchase order update happened before this timestamp will be included in the result. Must be in ISO 8601 date/time format.", "required": false, "type": "string", "format": "date-time" @@ -2727,15 +2660,11 @@ } }, "403": { - "description": "Indicates that access to the resource is forbidden. Possible reasons include Access Denied, Unauthorized, Expired Token, or Invalid Signature.", + "description": "Indicates that access to the resource is forbidden. Possible reasons include `Access Denied`, `Unauthorized`, `Expired Token`, or `Invalid Signature`.", "schema": { "$ref": "#/definitions/GetPurchaseOrdersStatusResponse" }, "headers": { - "x-amzn-RateLimit-Limit": { - "type": "string", - "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." - }, "x-amzn-RequestId": { "type": "string", "description": "Unique request reference identifier." @@ -2764,10 +2693,6 @@ "$ref": "#/definitions/GetPurchaseOrdersStatusResponse" }, "headers": { - "x-amzn-RateLimit-Limit": { - "type": "string", - "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." - }, "x-amzn-RequestId": { "type": "string", "description": "Unique request reference identifier." @@ -2780,10 +2705,6 @@ "$ref": "#/definitions/GetPurchaseOrdersStatusResponse" }, "headers": { - "x-amzn-RateLimit-Limit": { - "type": "string", - "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." - }, "x-amzn-RequestId": { "type": "string", "description": "Unique request reference identifier." @@ -2796,10 +2717,6 @@ "$ref": "#/definitions/GetPurchaseOrdersStatusResponse" }, "headers": { - "x-amzn-RateLimit-Limit": { - "type": "string", - "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." - }, "x-amzn-RequestId": { "type": "string", "description": "Unique request reference identifier." @@ -2812,10 +2729,6 @@ "$ref": "#/definitions/GetPurchaseOrdersStatusResponse" }, "headers": { - "x-amzn-RateLimit-Limit": { - "type": "string", - "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." - }, "x-amzn-RequestId": { "type": "string", "description": "Unique request reference identifier." @@ -2838,7 +2751,7 @@ "$ref": "#/definitions/ErrorList" } }, - "description": "The response schema for the getPurchaseOrders operation." + "description": "The response schema for the `getPurchaseOrders` operation." }, "GetPurchaseOrderResponse": { "type": "object", @@ -2851,7 +2764,7 @@ "$ref": "#/definitions/ErrorList" } }, - "description": "The response schema for the getPurchaseOrder operation." + "description": "The response schema for the `getPurchaseOrder` operation." }, "OrderList": { "type": "object", @@ -2863,18 +2776,21 @@ "type": "array", "items": { "$ref": "#/definitions/Order" - } + }, + "description": "Represents an individual order within the `OrderList`." } - } + }, + "description": "A list of orders returned as response." }, "Pagination": { "type": "object", "properties": { "nextToken": { "type": "string", - "description": "A generated string used to pass information to your next request. If NextToken is returned, pass the value of NextToken to the next request. If NextToken is not returned, there are no more purchase order items to return." + "description": "A generated string used to pass information to your next request. If `NextToken` is returned, pass the value of `NextToken` to the next request. If `NextToken` is not returned, there are no more purchase order items to return." } - } + }, + "description": "The pagination elements required to retrieve the remaining data." }, "Order": { "type": "object", @@ -2898,11 +2814,11 @@ "x-docgen-enum-table-extension": [ { "value": "New", - "description": "The purchase order is newly created and needs to be acknowledged by vendor." + "description": "The purchase order is newly created and needs to be acknowledged by the vendor." }, { "value": "Acknowledged", - "description": "The purchase order has been acknowledged by vendor." + "description": "The purchase order has been acknowledged by the vendor." }, { "value": "Closed", @@ -2914,7 +2830,8 @@ "description": "Details of an order.", "$ref": "#/definitions/OrderDetails" } - } + }, + "description": "Represents an order placed by Amazon, including the purchase order number, current state, and order details." }, "OrderDetails": { "type": "object", @@ -2927,17 +2844,17 @@ "purchaseOrderDate": { "type": "string", "format": "date-time", - "description": "The date the purchase order was placed. Must be in ISO-8601 date/time format." + "description": "The date the purchase order was placed. Must be in ISO 8601 date/time format." }, "purchaseOrderChangedDate": { "type": "string", "format": "date-time", - "description": "The date when purchase order was last changed by Amazon after the order was placed. This date will be greater than 'purchaseOrderDate'. This means the PO data was changed on that date and vendors are required to fulfill the updated PO. The PO changes can be related to Item Quantity, Ship to Location, Ship Window etc. This field will not be present in orders that have not changed after creation. Must be in ISO-8601 date/time format." + "description": "The date when purchase order was last changed by Amazon after the order was placed. This date will be greater than 'purchaseOrderDate'. This means the PO data was changed on that date and vendors are required to fulfill the updated PO. The PO changes can be related to Item Quantity, Ship to Location, Ship Window etc. This field will not be present in orders that have not changed after creation. Must be in ISO 8601 date/time format." }, "purchaseOrderStateChangedDate": { "type": "string", "format": "date-time", - "description": "The date when current purchase order state was changed. Current purchase order state is available in the field 'purchaseOrderState'. Must be in ISO-8601 date/time format." + "description": "The date when current purchase order state was changed. Current purchase order state is available in the field 'purchaseOrderState'. Must be in ISO 8601 date/time format." }, "purchaseOrderType": { "type": "string", @@ -3143,12 +3060,12 @@ }, "portOfDelivery": { "type": "string", - "description": "The port where goods on an import purchase order must be delivered by the vendor. This should only be specified when the internationalCommercialTerms is FOB.", + "description": "The port where goods on an import purchase order must be delivered by the vendor. This should only be specified when the `internationalCommercialTerms` is `FOB`.", "maxLength": 64 }, "importContainers": { "type": "string", - "description": "Types and numbers of container(s) for import purchase orders. Can be a comma-separated list if the shipment has multiple containers. HC signifies a high-capacity container. Free-text field, limited to 64 characters. The format will be a comma-delimited list containing values of the type: $NUMBER_OF_CONTAINERS_OF_THIS_TYPE-$CONTAINER_TYPE. The list of values for the container type is: 40'(40-foot container), 40'HC (40-foot high-capacity container), 45', 45'HC, 30', 30'HC, 20', 20'HC.", + "description": "Types and numbers of container(s) for import purchase orders. Can be a comma-separated list if the shipment has multiple containers. HC signifies a high-capacity container. Free-text field, limited to 64 characters. The format will be a comma-delimited list containing values of the type: `$NUMBER_OF_CONTAINERS_OF_THIS_TYPE-$CONTAINER_TYPE`. The list of values for the container type is: `40'`(40-foot container), `40'HC` (40-foot high-capacity container), `45'`, `45'HC`, `30'`, `30'HC`, `20'`, `20'HC`.", "maxLength": 64 }, "shippingInstructions": { @@ -3160,10 +3077,11 @@ }, "DateTimeInterval": { "type": "string", - "description": "Defines a date time interval according to ISO8601. Interval is separated by double hyphen (--)." + "description": "Defines a date time interval according to ISO 8601. Interval is separated by double hyphen (--)." }, "PartyIdentification": { "type": "object", + "description": "Name, address and tax details of a party.", "required": [ "partyId" ], @@ -3209,7 +3127,7 @@ }, "taxRegistrationNumber": { "type": "string", - "description": "Tax registration number for the entity. For example, VAT ID." + "description": "Tax registration number for the entity. For example, `VAT ID`." } }, "description": "Tax registration details of the entity." @@ -3256,7 +3174,7 @@ }, "postalCode": { "type": "string", - "description": "The postal code of that address. It conatins a series of letters or digits or both, sometimes including spaces or punctuation." + "description": "The postal code of that address. It contains a series of letters or digits or both, sometimes including spaces or punctuation." }, "countryCode": { "type": "string", @@ -3306,7 +3224,8 @@ "description": "The price to Amazon each (list).", "$ref": "#/definitions/Money" } - } + }, + "description": "Represents an individual item in an order, including item details, quantities, pricing, and backorder information." }, "Money": { "type": "object", @@ -3330,14 +3249,14 @@ "type": "object", "properties": { "payload": { - "description": "The payload for the submitAcknowledgement operation.", + "description": "The payload for the `submitAcknowledgement` operation.", "$ref": "#/definitions/TransactionId" }, "errors": { "$ref": "#/definitions/ErrorList" } }, - "description": "The response schema for the submitAcknowledgement operation" + "description": "The response schema for the `submitAcknowledgement` operation" }, "TransactionId": { "type": "object", @@ -3346,7 +3265,8 @@ "type": "string", "description": "GUID assigned by Amazon to identify this transaction. This value can be used with the Transaction Status API to return the status of this transaction." } - } + }, + "description": "Response containing the transaction ID." }, "ErrorList": { "type": "array", @@ -3362,10 +3282,11 @@ "type": "array", "items": { "$ref": "#/definitions/OrderAcknowledgement" - } + }, + "description": "An array of order acknowledgements to be submitted." } }, - "description": "The request schema for the submitAcknowledgment operation." + "description": "The request schema for the `submitAcknowledgment` operation." }, "OrderAcknowledgement": { "type": "object", @@ -3387,7 +3308,7 @@ "acknowledgementDate": { "type": "string", "format": "date-time", - "description": "The date and time when the purchase order is acknowledged, in ISO-8601 date/time format." + "description": "The date and time when the purchase order is acknowledged, in ISO 8601 date/time format." }, "items": { "type": "array", @@ -3396,7 +3317,8 @@ "$ref": "#/definitions/OrderAcknowledgementItem" } } - } + }, + "description": "Represents an acknowledgement for an order, including the purchase order number, selling party details, acknowledgement date, and a list of acknowledged items." }, "OrderAcknowledgementItem": { "type": "object", @@ -3465,7 +3387,7 @@ }, { "value": "Backordered", - "description": "Vendor placed a backorder to fulfill the original order and provides a scheduledShipDate or scheduledDeliveryDate which is different than the expectedShipDate or expectedDeliveryDate provided in the purchase order." + "description": "Vendor placed a backorder to fulfill the original order and provides a `scheduledShipDate` or `scheduledDeliveryDate` which is different than the `expectedShipDate` or `expectedDeliveryDate` provided in the purchase order." }, { "value": "Rejected", @@ -3480,12 +3402,12 @@ "scheduledShipDate": { "type": "string", "format": "date-time", - "description": "Estimated ship date per line item. Must be in ISO-8601 date/time format." + "description": "Estimated ship date per line item. Must be in ISO 8601 date/time format." }, "scheduledDeliveryDate": { "type": "string", "format": "date-time", - "description": "Estimated delivery date per line item. Must be in ISO-8601 date/time format." + "description": "Estimated delivery date per line item. Must be in ISO 8601 date/time format." }, "rejectionReason": { "type": "string", @@ -3510,7 +3432,8 @@ } ] } - } + }, + "description": "Represents the acknowledgement details for an individual order item, including the acknowledgement code, acknowledged quantity, scheduled ship and delivery dates, and rejection reason (if applicable)." }, "ItemQuantity": { "type": "object", @@ -3555,7 +3478,7 @@ "$ref": "#/definitions/ErrorList" } }, - "description": "The response schema for the getPurchaseOrdersStatus operation." + "description": "The response schema for the `getPurchaseOrdersStatus` operation." }, "OrderListStatus": { "type": "object", @@ -3567,9 +3490,11 @@ "type": "array", "items": { "$ref": "#/definitions/OrderStatus" - } + }, + "description": "Represents an order status within the `OrderListStatus`." } - } + }, + "description": "A list of order statuses." }, "OrderStatus": { "type": "object", @@ -3607,12 +3532,12 @@ "purchaseOrderDate": { "type": "string", "format": "date-time", - "description": "The date the purchase order was placed. Must be in ISO-8601 date/time format." + "description": "The date the purchase order was placed. Must be in ISO 8601 date/time format." }, "lastUpdatedDate": { "type": "string", "format": "date-time", - "description": "The date when the purchase order was last updated. Must be in ISO-8601 date/time format." + "description": "The date when the purchase order was last updated. Must be in ISO 8601 date/time format." }, "sellingParty": { "description": "Name/Address and tax details of the selling party.", @@ -3762,11 +3687,12 @@ "lastReceiveDate": { "type": "string", "format": "date-time", - "description": "The date when the most recent item was received at the buyer's warehouse. Must be in ISO-8601 date/time format." + "description": "The date when the most recent item was received at the buyer's warehouse. Must be in ISO 8601 date/time format." } } } - } + }, + "description": "Represents the current status of an order item, including acknowledgement and receiving details." }, "OrderedQuantityDetails": { "type": "object", @@ -3774,7 +3700,7 @@ "updatedDate": { "type": "string", "format": "date-time", - "description": "The date when the line item quantity was updated by buyer. Must be in ISO-8601 date/time format." + "description": "The date when the line item quantity was updated by the buyer. Must be in ISO 8601 date/time format." }, "orderedQuantity": { "description": "Item quantity ordered.", @@ -3785,7 +3711,7 @@ "$ref": "#/definitions/ItemQuantity" } }, - "description": "Details of item quantity ordered" + "description": "Details of the item quantity ordered." }, "AcknowledgementStatusDetails": { "type": "object", @@ -3793,18 +3719,18 @@ "acknowledgementDate": { "type": "string", "format": "date-time", - "description": "The date when the line item was confirmed by vendor. Must be in ISO-8601 date/time format." + "description": "The date when the line item was confirmed by the vendor. Must be in ISO 8601 date/time format." }, "acceptedQuantity": { - "description": "Item quantity accepted by vendor to be shipped.", + "description": "Item quantity accepted by the vendor to be shipped.", "$ref": "#/definitions/ItemQuantity" }, "rejectedQuantity": { - "description": "Item quantity rejected by vendor.", + "description": "Item quantity rejected by the vendor.", "$ref": "#/definitions/ItemQuantity" } }, - "description": "Details of item quantity ordered" + "description": "Details of the item quantity ordered" }, "Error": { "type": "object", diff --git a/models/vendor-transaction-status-api-model/vendorTransactionStatus.json b/models/vendor-transaction-status-api-model/vendorTransactionStatus.json index 78a59b52c..642399c81 100644 --- a/models/vendor-transaction-status-api-model/vendorTransactionStatus.json +++ b/models/vendor-transaction-status-api-model/vendorTransactionStatus.json @@ -21,7 +21,7 @@ "/vendor/transactions/v1/transactions/{transactionId}" : { "get" : { "tags" : [ "vendorTransaction" ], - "description" : "Returns the status of the transaction that you specify.\n\n**Usage Plan:**\n\n| Rate (requests per second) | Burst |\n| ---- | ---- |\n| 10 | 20 |\n\nThe `x-amzn-RateLimit-Limit` response header returns the usage plan rate limits that were applied to the requested operation, when available. The table above indicates the default rate and burst values for this operation. Selling partners whose business demands require higher throughput may see higher rate and burst values than those shown here. For more information, see [Usage Plans and Rate Limits in the Selling Partner API](https://developer-docs.amazon.com/sp-api/docs/usage-plans-and-rate-limits-in-the-sp-api).", + "description" : "Returns the status of the transaction that you specify.\n\n**Usage Plan:**\n\n| Rate (requests per second) | Burst |\n| ---- | ---- |\n| 10 | 20 |\n\nThe `x-amzn-RateLimit-Limit` response header returns the usage plan rate limits that were applied to the requested operation, when available. The table above indicates the default rate and burst values for this operation. Selling partners whose business demands require higher throughput may see higher rate and burst values than those shown here. For more information, refer to [Usage Plans and Rate Limits in the Selling Partner API](https://developer-docs.amazon.com/sp-api/docs/usage-plans-and-rate-limits-in-the-sp-api).", "operationId" : "getTransaction", "parameters" : [ { "name" : "transactionId", @@ -107,7 +107,7 @@ } ] }, "400" : { - "description" : "Request has missing or invalid parameters and cannot be parsed.", + "description" : "Request has missing or not valid parameters and cannot be parsed.", "schema" : { "$ref" : "#/definitions/GetTransactionResponse" }, @@ -139,15 +139,11 @@ } ] }, "401" : { - "description" : "The request's Authorization header is not formatted correctly or does not contain a valid token.", + "description" : "The request's authorization header is not formatted correctly or does not contain a valid token.", "schema" : { "$ref" : "#/definitions/GetTransactionResponse" }, "headers" : { - "x-amzn-RateLimit-Limit" : { - "type" : "string", - "description" : "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." - }, "x-amzn-RequestId" : { "type" : "string", "description" : "Unique request reference identifier." @@ -167,11 +163,15 @@ } }, "404" : { - "description" : "The resource specified does not exist.", + "description" : "The specified resource does not exist.", "schema" : { "$ref" : "#/definitions/GetTransactionResponse" }, "headers" : { + "x-amzn-RateLimit-Limit" : { + "type" : "string", + "description" : "Your rate limit (requests per second) for this operation." + }, "x-amzn-RequestId" : { "type" : "string", "description" : "Unique request reference identifier." @@ -184,10 +184,6 @@ "$ref" : "#/definitions/GetTransactionResponse" }, "headers" : { - "x-amzn-RateLimit-Limit" : { - "type" : "string", - "description" : "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." - }, "x-amzn-RequestId" : { "type" : "string", "description" : "Unique request reference identifier." @@ -200,10 +196,6 @@ "$ref" : "#/definitions/GetTransactionResponse" }, "headers" : { - "x-amzn-RateLimit-Limit" : { - "type" : "string", - "description" : "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." - }, "x-amzn-RequestId" : { "type" : "string", "description" : "Unique request reference identifier." @@ -216,10 +208,6 @@ "$ref" : "#/definitions/GetTransactionResponse" }, "headers" : { - "x-amzn-RateLimit-Limit" : { - "type" : "string", - "description" : "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." - }, "x-amzn-RequestId" : { "type" : "string", "description" : "Unique request reference identifier." @@ -232,10 +220,6 @@ "$ref" : "#/definitions/GetTransactionResponse" }, "headers" : { - "x-amzn-RateLimit-Limit" : { - "type" : "string", - "description" : "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." - }, "x-amzn-RequestId" : { "type" : "string", "description" : "Unique request reference identifier." @@ -252,17 +236,18 @@ "type" : "object", "properties" : { "payload" : { - "description" : "The response payload for the getTransaction operation.", + "description" : "The response payload for the `getTransaction` operation.", "$ref" : "#/definitions/TransactionStatus" }, "errors" : { "$ref" : "#/definitions/ErrorList" } }, - "description" : "The response schema for the getTransaction operation." + "description" : "The response schema for the `getTransaction` operation." }, "TransactionStatus" : { "type" : "object", + "description" : "Represents the status of a transaction.", "properties" : { "transactionStatus" : { "$ref" : "#/definitions/Transaction" From 638169716de15a73f8df9014c642466f4913e50f Mon Sep 17 00:00:00 2001 From: Jack Evoniuk Date: Thu, 27 Jun 2024 12:00:53 -0700 Subject: [PATCH 263/340] Clarify format for FreightReadyDate --- .../fulfillment-inbound-api-model/fulfillmentInboundV0.json | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/models/fulfillment-inbound-api-model/fulfillmentInboundV0.json b/models/fulfillment-inbound-api-model/fulfillmentInboundV0.json index 64b5a6a77..a7af1bade 100644 --- a/models/fulfillment-inbound-api-model/fulfillmentInboundV0.json +++ b/models/fulfillment-inbound-api-model/fulfillmentInboundV0.json @@ -5136,7 +5136,7 @@ "$ref": "#/definitions/SellerFreightClass" }, "FreightReadyDate": { - "description": "The date that the shipment will be ready to be picked up by the carrier.", + "description": "The date on which the shipment is ready for carrier pickup. Must be in YYYY-MM-DD format.", "$ref": "#/definitions/DateStringType" }, "PalletList": { @@ -5181,7 +5181,7 @@ "$ref": "#/definitions/SellerFreightClass" }, "FreightReadyDate": { - "description": "The date that the shipment will be ready to be picked up by the carrier. Must be in YYYY-MM-DD format.", + "description": "The date on which the shipment is ready for carrier pickup. Must be in YYYY-MM-DD format.", "$ref": "#/definitions/DateStringType" }, "PalletList": { From 4b990039e4fabdde30bf4c311c429861ba4b0495 Mon Sep 17 00:00:00 2001 From: Gibran Waldron Date: Thu, 27 Jun 2024 14:03:33 -0700 Subject: [PATCH 264/340] Update Merchant Fulfillment v0 model with Benefits to ShippingService. --- .../merchantFulfillmentV0.json | 345 +++++++++--------- 1 file changed, 179 insertions(+), 166 deletions(-) diff --git a/models/merchant-fulfillment-api-model/merchantFulfillmentV0.json b/models/merchant-fulfillment-api-model/merchantFulfillmentV0.json index 64e4dad87..e67ff821d 100644 --- a/models/merchant-fulfillment-api-model/merchantFulfillmentV0.json +++ b/models/merchant-fulfillment-api-model/merchantFulfillmentV0.json @@ -1,7 +1,7 @@ { "swagger": "2.0", "info": { - "description": "The Selling Partner API for Merchant Fulfillment helps you build applications that let sellers purchase shipping for non-Prime and Prime orders using Amazon’s Buy Shipping Services.", + "description": "With the Selling Partner API for Merchant Fulfillment, you can build applications that sellers can use to purchase shipping for non-Prime and Prime orders using Amazon's Buy Shipping Services.", "version": "v0", "title": "Selling Partner API for Merchant Fulfillment", "contact": { @@ -29,12 +29,13 @@ "tags": [ "merchantFulfillment" ], - "description": "Returns a list of shipping service offers that satisfy the specified shipment request details.\n\n**Usage Plan:**\n\n| Rate (requests per second) | Burst |\n| ---- | ---- |\n| 5 | 10 |\n\nThe `x-amzn-RateLimit-Limit` response header returns the usage plan rate limits that were applied to the requested operation, when available. The table above indicates the default rate and burst values for this operation. Selling partners whose business demands require higher throughput may see higher rate and burst values than those shown here. For more information, see [Usage Plans and Rate Limits in the Selling Partner API](https://developer-docs.amazon.com/sp-api/docs/usage-plans-and-rate-limits-in-the-sp-api).", + "description": "Returns a list of shipping service offers that satisfy the specified shipment request details.\n\n**Usage Plan:**\n\n| Rate (requests per second) | Burst |\n| ---- | ---- |\n| 5 | 10 |\n\nThe `x-amzn-RateLimit-Limit` response header returns the usage plan rate limits that are applied to the requested operation when available. The preceding table indicates the default rate and burst values for this operation. Selling partners whose business demands require higher throughput may see higher rate and burst values than those shown here. For more information, refer to [Usage Plans and Rate Limits in the SP-API](https://developer-docs.amazon.com/sp-api/docs/usage-plans-and-rate-limits-in-the-sp-api).", "operationId": "getEligibleShipmentServices", "parameters": [ { "in": "body", "name": "body", + "description": "Request schema for GetEligibleShipmentServices operation.", "required": true, "schema": { "$ref": "#/definitions/GetEligibleShipmentServicesRequest" @@ -43,7 +44,7 @@ ], "responses": { "200": { - "description": "Success", + "description": "Success.", "schema": { "$ref": "#/definitions/GetEligibleShipmentServicesResponse" }, @@ -106,8 +107,8 @@ "payload": { "ShippingServiceList": [ { - "ShippingServiceName": "UPS 2nd Day Air\u00AE", - "CarrierName": "UPS\u00AE", + "ShippingServiceName": "UPS 2nd Day Air\\u00AE", + "CarrierName": "UPS\\u00AE", "ShippingServiceId": "UPS_PTP_2ND_DAY_AIR", "ShippingServiceOfferId": "WHgxtyn6qjGGaCzOCog1azF5HLHje5Pz3Lc2Fmt5eKoZAReW8oJ1SMumuBS8lA/Hjuglhyiu0+KRLvyJxFV0PB9YFMDhygs3VyTL0WGYkGxiuRkmuEvpqldUn9rrkWVodqnR4vx2VtXvtER/Ju6RqYoddJZGy6RS2KLzzhQ2NclN0NYXMZVqpOe5RsRBddXaGuJr7oza3M52+JzChocAHzcurIhCRynpbxfmNLzZMQEbgnpGLzuaoSMzfxg90/NaXFR/Ou01du/uKd5AbfMW/AxAKP9ht6Oi9lDHq6WkGqvjkVLW0/jj/fBgblIwcs+t", "ShipDate": "2019-10-28T16:36:36Z", @@ -141,11 +142,17 @@ { "LabelFormat": "PNG" } - ] + ], + "Benefits": { + "IncludedBenefits": [ + "CLAIMS_PROTECTED" + ], + "ExcludedBenefits": [] + } }, { - "ShippingServiceName": "UPS Next Day Air Saver\u00AE", - "CarrierName": "UPS\u00AE", + "ShippingServiceName": "UPS Next Day Air Saver\\u00AE", + "CarrierName": "UPS\\u00AE", "ShippingServiceId": "UPS_PTP_NEXT_DAY_AIR_SAVER", "ShippingServiceOfferId": "WHgxtyn6qjGGaCzOCog1azF5HLHje5Pz3Lc2Fmt5eKqqhKGQ2YZmuxsXKVXmdgdWNvfxb1qfm5bGm8NuqlqnNT3eTiJ4viTctepggbeUKUSykClJ+Qmw43zdA8wsgREhQCmb4Bbo/skapLQS1F9uwH2FgY5SfMsj/egudyocpVRT45KSQAT0H5YiXW3OyyRAae9fZ0RzDJAABHiisOyYyXnB1mtWOZqc7rlGR4yyqN7jmiT4t8dmuGPX7ptY4qskrN+6VHZO9bM9tdDS0ysHhAVv4jO3Q5sWFg4nEPaARWSsrpa6zSGMLxAOj56O3tcP", "ShipDate": "2019-10-28T16:36:36Z", @@ -179,12 +186,23 @@ { "LabelFormat": "PNG" } - ] + ], + "Benefits": { + "IncludedBenefits": [], + "ExcludedBenefits": [ + { + "Benefit": "CLAIMS_PROTECTED", + "ReasonCodes": [ + "LATE_DELIVERY_RISK" + ] + } + ] + } } ], "TemporarilyUnavailableCarrierList": [ { - "CarrierName": "UPS\u00AE" + "CarrierName": "UPS\\u00AE" }, { "CarrierName": "DHLECOMMERCE" @@ -278,15 +296,11 @@ } }, "401": { - "description": "The request's Authorization header is not formatted correctly or does not contain a valid token.", + "description": "The request's authorization header is not formatted correctly or does not contain a valid token.", "schema": { "$ref": "#/definitions/GetEligibleShipmentServicesResponse" }, "headers": { - "x-amzn-RateLimit-Limit": { - "type": "string", - "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." - }, "x-amzn-RequestId": { "type": "string", "description": "Unique request reference identifier." @@ -327,10 +341,6 @@ "$ref": "#/definitions/GetEligibleShipmentServicesResponse" }, "headers": { - "x-amzn-RateLimit-Limit": { - "type": "string", - "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." - }, "x-amzn-RequestId": { "type": "string", "description": "Unique request reference identifier." @@ -343,10 +353,6 @@ "$ref": "#/definitions/GetEligibleShipmentServicesResponse" }, "headers": { - "x-amzn-RateLimit-Limit": { - "type": "string", - "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." - }, "x-amzn-RequestId": { "type": "string", "description": "Unique request reference identifier." @@ -359,10 +365,6 @@ "$ref": "#/definitions/GetEligibleShipmentServicesResponse" }, "headers": { - "x-amzn-RateLimit-Limit": { - "type": "string", - "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." - }, "x-amzn-RequestId": { "type": "string", "description": "Unique request reference identifier." @@ -377,7 +379,7 @@ "tags": [ "merchantFulfillment" ], - "description": "Returns the shipment information for an existing shipment.\n\n**Usage Plan:**\n\n| Rate (requests per second) | Burst |\n| ---- | ---- |\n| 1 | 1 |\n\nThe `x-amzn-RateLimit-Limit` response header returns the usage plan rate limits that were applied to the requested operation, when available. The table above indicates the default rate and burst values for this operation. Selling partners whose business demands require higher throughput may see higher rate and burst values than those shown here. For more information, see [Usage Plans and Rate Limits in the Selling Partner API](https://developer-docs.amazon.com/sp-api/docs/usage-plans-and-rate-limits-in-the-sp-api).", + "description": "Returns the shipment information for an existing shipment.\n\n**Usage Plan:**\n\n| Rate (requests per second) | Burst |\n| ---- | ---- |\n| 1 | 1 |\n\nThe `x-amzn-RateLimit-Limit` response header returns the usage plan rate limits that are applied to the requested operation when available. The preceding table indicates the default rate and burst values for this operation. Selling partners whose business demands require higher throughput may see higher rate and burst values than those shown here. For more information, refer to [Usage Plans and Rate Limits in the SP-API](https://developer-docs.amazon.com/sp-api/docs/usage-plans-and-rate-limits-in-the-sp-api).", "operationId": "getShipment", "parameters": [ { @@ -391,7 +393,7 @@ ], "responses": { "200": { - "description": "Success", + "description": "Success.", "schema": { "$ref": "#/definitions/GetShipmentResponse" }, @@ -462,8 +464,8 @@ "Unit": "oz" }, "ShippingService": { - "ShippingServiceName": "UPS 2nd Day Air\u00AE", - "CarrierName": "UPS\u00AE", + "ShippingServiceName": "UPS 2nd Day Air\\u00AE", + "CarrierName": "UPS\\u00AE", "ShippingServiceId": "UPS_PTP_2ND_DAY_AIR", "ShippingServiceOfferId": "", "ShipDate": "2019-10-28T18:00:00Z", @@ -478,7 +480,18 @@ "Amount": 0.0 } }, - "RequiresAdditionalSellerInputs": false + "RequiresAdditionalSellerInputs": false, + "Benefits": { + "IncludedBenefits": [], + "ExcludedBenefits": [ + { + "Benefit": "CLAIMS_PROTECTED", + "ReasonCodes": [ + "LATE_DELIVERY_RISK" + ] + } + ] + } }, "Label": { "Dimensions": { @@ -541,15 +554,11 @@ } }, "401": { - "description": "The request's Authorization header is not formatted correctly or does not contain a valid token.", + "description": "The request's authorization header is not formatted correctly or does not contain a valid token.", "schema": { "$ref": "#/definitions/GetShipmentResponse" }, "headers": { - "x-amzn-RateLimit-Limit": { - "type": "string", - "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." - }, "x-amzn-RequestId": { "type": "string", "description": "Unique request reference identifier." @@ -590,10 +599,6 @@ "$ref": "#/definitions/GetShipmentResponse" }, "headers": { - "x-amzn-RateLimit-Limit": { - "type": "string", - "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." - }, "x-amzn-RequestId": { "type": "string", "description": "Unique request reference identifier." @@ -606,10 +611,6 @@ "$ref": "#/definitions/GetShipmentResponse" }, "headers": { - "x-amzn-RateLimit-Limit": { - "type": "string", - "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." - }, "x-amzn-RequestId": { "type": "string", "description": "Unique request reference identifier." @@ -622,10 +623,6 @@ "$ref": "#/definitions/GetShipmentResponse" }, "headers": { - "x-amzn-RateLimit-Limit": { - "type": "string", - "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." - }, "x-amzn-RequestId": { "type": "string", "description": "Unique request reference identifier." @@ -638,7 +635,7 @@ "tags": [ "merchantFulfillment" ], - "description": "Cancel the shipment indicated by the specified shipment identifier.\n\n**Usage Plan:**\n\n| Rate (requests per second) | Burst |\n| ---- | ---- |\n| 1 | 1 |\n\nThe `x-amzn-RateLimit-Limit` response header returns the usage plan rate limits that were applied to the requested operation, when available. The table above indicates the default rate and burst values for this operation. Selling partners whose business demands require higher throughput may see higher rate and burst values than those shown here. For more information, see [Usage Plans and Rate Limits in the Selling Partner API](https://developer-docs.amazon.com/sp-api/docs/usage-plans-and-rate-limits-in-the-sp-api).", + "description": "Cancel the shipment indicated by the specified shipment identifier.\n\n**Usage Plan:**\n\n| Rate (requests per second) | Burst |\n| ---- | ---- |\n| 1 | 1 |\n\nThe `x-amzn-RateLimit-Limit` response header returns the usage plan rate limits that are applied to the requested operation when available. The preceding table indicates the default rate and burst values for this operation. Selling partners whose business demands require higher throughput may see higher rate and burst values than those shown here. For more information, refer to [Usage Plans and Rate Limits in the SP-API](https://developer-docs.amazon.com/sp-api/docs/usage-plans-and-rate-limits-in-the-sp-api).", "operationId": "cancelShipment", "parameters": [ { @@ -652,7 +649,7 @@ ], "responses": { "200": { - "description": "Success", + "description": "Success.", "schema": { "$ref": "#/definitions/CancelShipmentResponse" }, @@ -723,8 +720,8 @@ "Unit": "oz" }, "ShippingService": { - "ShippingServiceName": "UPS 2nd Day Air\u00AE", - "CarrierName": "UPS\u00AE", + "ShippingServiceName": "UPS 2nd Day Air\\u00AE", + "CarrierName": "UPS\\u00AE", "ShippingServiceId": "UPS_PTP_2ND_DAY_AIR", "ShippingServiceOfferId": "", "ShipDate": "2019-10-28T18:00:00Z", @@ -798,15 +795,11 @@ } }, "401": { - "description": "The request's Authorization header is not formatted correctly or does not contain a valid token.", + "description": "The request's authorization header is not formatted correctly or does not contain a valid token.", "schema": { "$ref": "#/definitions/CancelShipmentResponse" }, "headers": { - "x-amzn-RateLimit-Limit": { - "type": "string", - "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." - }, "x-amzn-RequestId": { "type": "string", "description": "Unique request reference identifier." @@ -847,10 +840,6 @@ "$ref": "#/definitions/CancelShipmentResponse" }, "headers": { - "x-amzn-RateLimit-Limit": { - "type": "string", - "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." - }, "x-amzn-RequestId": { "type": "string", "description": "Unique request reference identifier." @@ -863,10 +852,6 @@ "$ref": "#/definitions/CancelShipmentResponse" }, "headers": { - "x-amzn-RateLimit-Limit": { - "type": "string", - "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." - }, "x-amzn-RequestId": { "type": "string", "description": "Unique request reference identifier." @@ -879,10 +864,6 @@ "$ref": "#/definitions/CancelShipmentResponse" }, "headers": { - "x-amzn-RateLimit-Limit": { - "type": "string", - "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." - }, "x-amzn-RequestId": { "type": "string", "description": "Unique request reference identifier." @@ -897,12 +878,13 @@ "tags": [ "merchantFulfillment" ], - "description": "Create a shipment with the information provided.\n\n**Usage Plan:**\n\n| Rate (requests per second) | Burst |\n| ---- | ---- |\n| 1 | 1 |\n\nThe `x-amzn-RateLimit-Limit` response header returns the usage plan rate limits that were applied to the requested operation, when available. The table above indicates the default rate and burst values for this operation. Selling partners whose business demands require higher throughput may see higher rate and burst values than those shown here. For more information, see [Usage Plans and Rate Limits in the Selling Partner API](https://developer-docs.amazon.com/sp-api/docs/usage-plans-and-rate-limits-in-the-sp-api).", + "description": "Create a shipment with the information provided.\n\n**Usage Plan:**\n\n| Rate (requests per second) | Burst |\n| ---- | ---- |\n| 1 | 1 |\n\nThe `x-amzn-RateLimit-Limit` response header returns the usage plan rate limits that are applied to the requested operation when available. The preceding table indicates the default rate and burst values for this operation. Selling partners whose business demands require higher throughput may see higher rate and burst values than those shown here. For more information, refer to [Usage Plans and Rate Limits in the SP-API](https://developer-docs.amazon.com/sp-api/docs/usage-plans-and-rate-limits-in-the-sp-api).", "operationId": "createShipment", "parameters": [ { "in": "body", "name": "body", + "description": "Request schema for `CreateShipment` operation.", "required": true, "schema": { "$ref": "#/definitions/CreateShipmentRequest" @@ -911,7 +893,7 @@ ], "responses": { "200": { - "description": "Success", + "description": "Success.", "schema": { "$ref": "#/definitions/CreateShipmentResponse" }, @@ -1018,8 +1000,8 @@ "Unit": "oz" }, "ShippingService": { - "ShippingServiceName": "UPS 2nd Day Air\u00AE", - "CarrierName": "UPS\u00AE", + "ShippingServiceName": "UPS 2nd Day Air\\u00AE", + "CarrierName": "UPS\\u00AE", "ShippingServiceId": "UPS_PTP_2ND_DAY_AIR", "ShippingServiceOfferId": "WHgxtyn6qjGGaCzOCog1azF5HLHje5Pz3Lc2Fmt5eKoZAReW8oJ1SMumuBS8lA/Hjuglhyiu0+KRLvyJxFV0PB9YFMDhygs3VyTL0WGYkGxiuRkmuEvpqldUn9rrkWVodqnR4vx2VtXvtER/Ju6RqYoddJZGy6RS2KLzzhQ2NclN0NYXMZVqpOe5RsRBddXaGuJr7oza3M52+JzChocAHzcurIhCRynpbxfmNLzZMQEbgnpGLzuaoSMzfxg90/NaXFR/Ou01du/uKd5AbfMW/AxAKP9ht6Oi9lDHq6WkGqvjkVLW0/jj/fBgblIwcs+t", "ShipDate": "2019-10-28T16:37:37Z", @@ -1036,7 +1018,13 @@ "Amount": 0 } }, - "RequiresAdditionalSellerInputs": false + "RequiresAdditionalSellerInputs": false, + "Benefits": { + "IncludedBenefits": [ + "CLAIMS_PROTECTED" + ], + "ExcludedBenefits": [] + } }, "Label": { "Dimensions": { @@ -1136,15 +1124,11 @@ } }, "401": { - "description": "The request's Authorization header is not formatted correctly or does not contain a valid token.", + "description": "The request's authorization header is not formatted correctly or does not contain a valid token.", "schema": { "$ref": "#/definitions/CreateShipmentResponse" }, "headers": { - "x-amzn-RateLimit-Limit": { - "type": "string", - "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." - }, "x-amzn-RequestId": { "type": "string", "description": "Unique request reference identifier." @@ -1185,10 +1169,6 @@ "$ref": "#/definitions/CreateShipmentResponse" }, "headers": { - "x-amzn-RateLimit-Limit": { - "type": "string", - "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." - }, "x-amzn-RequestId": { "type": "string", "description": "Unique request reference identifier." @@ -1201,10 +1181,6 @@ "$ref": "#/definitions/CreateShipmentResponse" }, "headers": { - "x-amzn-RateLimit-Limit": { - "type": "string", - "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." - }, "x-amzn-RequestId": { "type": "string", "description": "Unique request reference identifier." @@ -1217,10 +1193,6 @@ "$ref": "#/definitions/CreateShipmentResponse" }, "headers": { - "x-amzn-RateLimit-Limit": { - "type": "string", - "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." - }, "x-amzn-RequestId": { "type": "string", "description": "Unique request reference identifier." @@ -1235,12 +1207,13 @@ "tags": [ "merchantFulfillment" ], - "description": "Gets a list of additional seller inputs required for a ship method. This is generally used for international shipping.\n\n**Usage Plan:**\n\n| Rate (requests per second) | Burst |\n| ---- | ---- |\n| 1 | 1 |\n\nThe `x-amzn-RateLimit-Limit` response header returns the usage plan rate limits that were applied to the requested operation, when available. The table above indicates the default rate and burst values for this operation. Selling partners whose business demands require higher throughput may see higher rate and burst values than those shown here. For more information, see [Usage Plans and Rate Limits in the Selling Partner API](https://developer-docs.amazon.com/sp-api/docs/usage-plans-and-rate-limits-in-the-sp-api).", + "description": "Gets a list of additional seller inputs required for a ship method. This is generally used for international shipping.\n\n**Usage Plan:**\n\n| Rate (requests per second) | Burst |\n| ---- | ---- |\n| 1 | 1 |\n\nThe `x-amzn-RateLimit-Limit` response header returns the usage plan rate limits that are applied to the requested operation when available. The preceding table indicates the default rate and burst values for this operation. Selling partners whose business demands require higher throughput may see higher rate and burst values than those shown here. For more information, refer to [Usage Plans and Rate Limits in the SP-API](https://developer-docs.amazon.com/sp-api/docs/usage-plans-and-rate-limits-in-the-sp-api).", "operationId": "getAdditionalSellerInputs", "parameters": [ { "in": "body", "name": "body", + "description": "Request schema for the `GetAdditionalSellerInputs` operation.", "required": true, "schema": { "$ref": "#/definitions/GetAdditionalSellerInputsRequest" @@ -1249,7 +1222,7 @@ ], "responses": { "200": { - "description": "Success", + "description": "Success.", "schema": { "$ref": "#/definitions/GetAdditionalSellerInputsResponse" }, @@ -1357,15 +1330,11 @@ } }, "401": { - "description": "The request's Authorization header is not formatted correctly or does not contain a valid token.", + "description": "The request's authorization header is not formatted correctly or does not contain a valid token.", "schema": { "$ref": "#/definitions/GetAdditionalSellerInputsResponse" }, "headers": { - "x-amzn-RateLimit-Limit": { - "type": "string", - "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." - }, "x-amzn-RequestId": { "type": "string", "description": "Unique request reference identifier." @@ -1406,10 +1375,6 @@ "$ref": "#/definitions/GetAdditionalSellerInputsResponse" }, "headers": { - "x-amzn-RateLimit-Limit": { - "type": "string", - "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." - }, "x-amzn-RequestId": { "type": "string", "description": "Unique request reference identifier." @@ -1422,10 +1387,6 @@ "$ref": "#/definitions/GetAdditionalSellerInputsResponse" }, "headers": { - "x-amzn-RateLimit-Limit": { - "type": "string", - "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." - }, "x-amzn-RequestId": { "type": "string", "description": "Unique request reference identifier." @@ -1438,10 +1399,6 @@ "$ref": "#/definitions/GetAdditionalSellerInputsResponse" }, "headers": { - "x-amzn-RateLimit-Limit": { - "type": "string", - "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." - }, "x-amzn-RequestId": { "type": "string", "description": "Unique request reference identifier." @@ -1462,7 +1419,7 @@ "properties": { "code": { "type": "string", - "description": "An error code that identifies the type of error that occured." + "description": "An error code that identifies the type of error that occurred." }, "message": { "type": "string", @@ -1569,7 +1526,11 @@ "description": "The available shipping service options." }, "AvailableFormatOptionsForLabel": { - "$ref": "#/definitions/AvailableFormatOptionsForLabelList" + "type": "array", + "description": "The available label formats.", + "items": { + "$ref": "#/definitions/LabelFormatOption" + } }, "AvailableFormatOptionsForLabelList": { "type": "array", @@ -1812,15 +1773,61 @@ "type": "string", "description": "An Amazon-defined order identifier, in 3-7-7 format." }, + "Benefits": { + "type": "object", + "description": "Benefits that are included and excluded for each shipping offer. Benefits represents services provided by Amazon (for example, `CLAIMS_PROTECTED`) when sellers purchase shipping through Amazon. Benefit details are made available for any shipment placed on or after January 1st 2024 00:00 UTC.", + "properties": { + "IncludedBenefits": { + "$ref": "#/definitions/IncludedBenefits" + }, + "ExcludedBenefits": { + "$ref": "#/definitions/ExcludedBenefits" + } + } + }, + "IncludedBenefits": { + "type": "array", + "description": "A list of included benefits.", + "items": { + "type": "string" + } + }, + "ExcludedBenefits": { + "type": "array", + "description": "A list of excluded benefits. Refer to the `ExcludeBenefit` object for further documentation.", + "items": { + "$ref": "#/definitions/ExcludedBenefit" + } + }, + "ExcludedBenefit": { + "type": "object", + "description": "An object representing an excluded benefit that is excluded for a shipping offer or rate.", + "properties": { + "Benefit": { + "description": "A benefit that is being excluded from a shipment.", + "type": "string" + }, + "ReasonCodes": { + "$ref": "#/definitions/ExcludedBenefitReasonCodes" + } + } + }, + "ExcludedBenefitReasonCodes": { + "type": "array", + "description": "List of reasons (for example, `LATE_DELIVERY_RISK`) why a benefit is excluded for a shipping offer.", + "items": { + "type": "string" + } + }, "CancelShipmentResponse": { "type": "object", "properties": { "payload": { - "description": "The payload for the cancelShipment operation.", + "description": "The payload for the `cancelShipment` operation.", "$ref": "#/definitions/Shipment" }, "errors": { - "description": "One or more unexpected errors occurred during the cancelShipment operation.", + "description": "One or more unexpected errors occurred during the `cancelShipment` operation.", "$ref": "#/definitions/ErrorList" } }, @@ -1843,7 +1850,7 @@ ], "properties": { "ShipmentRequestDetails": { - "description": "Shipment information required for creating a shipment.", + "description": "Shipment information required to create a shipment.", "$ref": "#/definitions/ShipmentRequestDetails" }, "ShippingServiceId": { @@ -1875,7 +1882,7 @@ "$ref": "#/definitions/Shipment" }, "errors": { - "description": "One or more unexpected errors occurred during the createShipment operation.", + "description": "One or more unexpected errors occurred during the `createShipment` operation.", "$ref": "#/definitions/ErrorList" } }, @@ -1883,6 +1890,7 @@ }, "ItemLevelFields": { "type": "object", + "description": "A list of item level fields.", "required": [ "AdditionalInputs", "Asin" @@ -1936,7 +1944,7 @@ "$ref": "#/definitions/ItemLevelFieldsList" } }, - "description": "The payload for the getAdditionalSellerInputs operation." + "description": "The payload for the `getAdditionalSellerInputs` operation." }, "GetAdditionalSellerInputsResponse": { "type": "object", @@ -1972,7 +1980,7 @@ }, "CustomTextForLabel": { "type": "string", - "description": "Custom text to print on the label.\n\nNote: Custom text is only included on labels that are in ZPL format (ZPL203). FedEx does not support CustomTextForLabel.", + "description": "Custom text to print on the label. Note: Custom text is only included on labels that are in ZPL format (ZPL203). FedEx does not support `CustomTextForLabel`.", "maxLength": 14 }, "DeliveryExperienceType": { @@ -1987,15 +1995,15 @@ "x-docgen-enum-table-extension": [ { "value": "DeliveryConfirmationWithAdultSignature", - "description": "Delivery confirmation with adult signature." + "description": "Delivery confirmation with an adult signature." }, { "value": "DeliveryConfirmationWithSignature", - "description": "Delivery confirmation with signature. Required for DPD (UK)." + "description": "Delivery confirmation with a signature. Required for DPD (UK)." }, { "value": "DeliveryConfirmationWithoutSignature", - "description": "Delivery confirmation without signature." + "description": "Delivery confirmation without a signature." }, { "value": "NoTracking", @@ -2105,13 +2113,13 @@ "$ref": "#/definitions/TermsAndConditionsNotAcceptedCarrierList" } }, - "description": "The payload for the getEligibleShipmentServices operation." + "description": "The payload for the `getEligibleShipmentServices` operation." }, "GetShipmentResponse": { "type": "object", "properties": { "payload": { - "description": "The payload for the getShipment operation.", + "description": "The payload for the `getShipment` operation.", "$ref": "#/definitions/Shipment" }, "errors": { @@ -2180,7 +2188,7 @@ }, "ItemList": { "type": "array", - "description": "The list of items to be included in a shipment.", + "description": "The list of items you want to include in a shipment.", "items": { "$ref": "#/definitions/Item" } @@ -2317,25 +2325,26 @@ }, "PackageDimension": { "type": "number", + "description": "Number that represents the given package dimension.", "format": "double" }, "PackageDimensions": { "type": "object", "properties": { "Length": { - "description": "The length dimension. If you don't specify PredefinedPackageDimensions, you must specify the Length.", + "description": "The length dimension. If you don't specify `PredefinedPackageDimensions`, you must specify the length.", "$ref": "#/definitions/PackageDimension" }, "Width": { - "description": "The width dimension. If you don't specify PredefinedPackageDimensions, you must specify the Width.", + "description": "The width dimension. If you don't specify `PredefinedPackageDimensions`, you must specify the width.", "$ref": "#/definitions/PackageDimension" }, "Height": { - "description": "The height dimension. If you don't specify PredefinedPackageDimensions, you must specify the Height.", + "description": "The height dimension. If you don't specify `PredefinedPackageDimensions`, you must specify the height.", "$ref": "#/definitions/PackageDimension" }, "Unit": { - "description": "The unit of measurement. If you don't specify PredefinedPackageDimensions, you must specify the Unit.", + "description": "The unit of measurement. If you don't specify `PredefinedPackageDimensions`, you must specify the unit.", "$ref": "#/definitions/UnitOfLength" }, "PredefinedPackageDimensions": { @@ -2356,7 +2365,7 @@ }, "PredefinedPackageDimensions": { "type": "string", - "description": "An enumeration of predefined parcel tokens. If you specify a PredefinedPackageDimensions token, you are not obligated to use a branded package from a carrier. For example, if you specify the FedEx_Box_10kg token, you do not have to use that particular package from FedEx. You are only obligated to use a box that matches the dimensions specified by the token.\n\nNote: Please note that carriers can have restrictions on the type of package allowed for certain ship methods. Check the carrier website for all details. Example: Flat rate pricing is available when materials are sent by USPS in a USPS-produced Flat Rate Envelope or Box.", + "description": "An enumeration of predefined parcel tokens. If you specify a `PredefinedPackageDimensions` token, you are not obligated to use a branded package from a carrier. For example, if you specify the `FedEx_Box_10kg` token, you do not have to use that particular package from FedEx. You are only obligated to use a box that matches the dimensions specified by the token. Note: Carriers can have restrictions on the type of package allowed for certain ship methods. Check the carrier website for details. Example: Flat rate pricing is available when materials are sent by USPS in a USPS-produced Flat Rate envelope or box.", "enum": [ "FedEx_Box_10kg", "FedEx_Box_25kg", @@ -2670,14 +2679,14 @@ "$ref": "#/definitions/Weight" }, "Insurance": { - "description": "If DeclaredValue was specified in a previous call to the createShipment operation, then Insurance indicates the amount that the carrier will use to insure the shipment. If DeclaredValue was not specified with a previous call to the createShipment operation, then the shipment will be insured for the carrier's minimum insurance amount, or the combined sale prices that the items are listed for in the shipment, whichever is less.", + "description": "If you specify `DeclaredValue` in a previous call to the `createShipment` operation, then `Insurance` indicates the shipment insurance amount that the carrier uses. If `DeclaredValue` isn't with a previous call to the `createShipment` operation, then the shipment is insured for the carrier's minimum insurance amount, or the combined sale prices that the items are listed for in the shipment.", "$ref": "#/definitions/CurrencyAmount" }, "ShippingService": { "$ref": "#/definitions/ShippingService" }, "Label": { - "description": "Data for creating a shipping label and dimensions for printing the label. If the shipment is canceled, an empty Label is returned.", + "description": "Data for creating a shipping label and dimensions for printing the label. If the shipment is canceled, an empty label is returned.", "$ref": "#/definitions/Label" }, "Status": { @@ -2688,7 +2697,7 @@ "$ref": "#/definitions/TrackingId" }, "CreatedDate": { - "description": "The date and time the shipment was created.", + "description": "The date and time the shipment is created.", "$ref": "#/definitions/Timestamp" }, "LastUpdatedDate": { @@ -2696,7 +2705,7 @@ "$ref": "#/definitions/Timestamp" } }, - "description": "The details of a shipment, including the shipment status." + "description": "The details of a shipment. Includes the shipment status." }, "ShipmentId": { "type": "string", @@ -2737,7 +2746,7 @@ "$ref": "#/definitions/Weight" }, "MustArriveByDate": { - "description": "The date by which the package must arrive to keep the promise to the customer, in ISO 8601 datetime format. If MustArriveByDate is specified, only shipping service offers that can be delivered by that date are returned.", + "description": "The date by which the package must arrive to keep the promise to the customer, in ISO 8601 date-time format. If `MustArriveByDate` is specified, only shipping service offers that can be delivered by that date are returned.", "$ref": "#/definitions/Timestamp" }, "ShipDate": { @@ -2767,15 +2776,15 @@ "x-docgen-enum-table-extension": [ { "value": "Purchased", - "description": "The seller purchased a label by calling the createShipment operation." + "description": "The seller purchased a label by calling the `createShipment` operation." }, { "value": "RefundPending", - "description": "The seller requested a label refund by calling the cancelShipment operation, and the refund request is being processed by the carrier.\n\nNote:\n\n* A seller can create a new shipment for an order while Status=RefundPending for a canceled shipment.\n* After a label refund is requested by calling the cancelShipment operation, the order status of the order remains \"Shipped\"." + "description": "The seller requested a label refund by calling the `cancelShipment` operation, and the refund request is being processed by the carrier. Note: A seller can create a new shipment for an order while `Status=RefundPending` for a canceled shipment. After you request a label refund (by calling `cancelShipment`), the status of the order remains `Shipped`." }, { "value": "RefundRejected", - "description": "The label refund request was rejected by the carrier. A refund request is rejected for either of the following reasons:\n\n* The cancellation window has expired. Cancellation policies vary by carrier. For more information about carrier cancellation policies, see the Seller Central Help.\n* The carrier has already accepted the shipment for delivery." + "description": "The label refund request is rejected by the carrier. A refund request is rejected because the cancellation window has expired, or the carrier has already accepted the shipment for delivery. Cancellation policies vary by carrier. For more information about carrier cancellation policies, refer to the Seller Central Help for your marketplace." }, { "value": "RefundApplied", @@ -2851,7 +2860,7 @@ "properties": { "ShippingServiceName": { "type": "string", - "description": "A plain text representation of a carrier's shipping service. For example, \"UPS Ground\" or \"FedEx Standard Overnight\". " + "description": "A plain text representation of a carrier's shipping service. For example, UPS Ground or FedEx Standard Overnight. " }, "CarrierName": { "type": "string", @@ -2896,6 +2905,9 @@ "RequiresAdditionalSellerInputs": { "type": "boolean", "description": "When true, additional seller inputs are required." + }, + "Benefits": { + "$ref": "#/definitions/Benefits" } }, "description": "A shipping service offer made by a carrier." @@ -2923,12 +2935,12 @@ "$ref": "#/definitions/DeliveryExperienceType" }, "DeclaredValue": { - "description": "The declared value of the shipment. The carrier uses this value to determine the amount to use to insure the shipment. If DeclaredValue is greater than the carrier's minimum insurance amount, the seller is charged for the additional insurance as determined by the carrier. For information about optional insurance coverage, see the Seller Central Help [UK](https://sellercentral.amazon.co.uk/gp/help/200204080) [US](https://sellercentral.amazon.com/gp/help/200204080).", + "description": "The declared value of the shipment. The carrier uses this value to determine the amount to use to insure the shipment. If `DeclaredValue` is greater than the carrier's minimum insurance amount, the seller is charged for the additional insurance as determined by the carrier. For information about optional insurance coverage, refer to the Seller Central Help: [UK](https://sellercentral.amazon.co.uk/gp/help/200204080), [US](https://sellercentral.amazon.com/gp/help/200204080).", "$ref": "#/definitions/CurrencyAmount" }, "CarrierWillPickUp": { "type": "boolean", - "description": "When true, the carrier will pick up the package.\n\nNote: Scheduled carrier pickup is available only using Dynamex (US), DPD (UK), and Royal Mail (UK)." + "description": "When true, the carrier will pick up the package. Note: Scheduled carrier pickup is available only using Dynamex (US), DPD (UK), and Royal Mail (UK)." }, "CarrierWillPickUpOption": { "$ref": "#/definitions/CarrierWillPickUpOption" @@ -2978,7 +2990,7 @@ }, "StateOrProvinceCode": { "type": "string", - "description": "The state or province code. **Note.** Required in the Canada, US, and UK marketplaces. Also required for shipments originating from China.", + "description": "The state or province code. Note: Required in Canada, US, and UK marketplaces. Also required for shipments originating in China.", "maxLength": 30 }, "RejectedShippingService": { @@ -2992,19 +3004,19 @@ "properties": { "CarrierName": { "type": "string", - "description": "The rejected shipping carrier name. e.g. USPS" + "description": "The rejected shipping carrier name. For example, USPS." }, "ShippingServiceName": { "type": "string", - "description": "The rejected shipping service localized name. e.g. FedEx Standard Overnight" + "description": "The rejected shipping service localized name. For example, FedEx Standard Overnight." }, "ShippingServiceId": { - "description": "The rejected shipping service identifier. e.g. FEDEX_PTP_STANDARD_OVERNIGHT", + "description": "The rejected shipping service identifier. For example, `FEDEX_PTP_STANDARD_OVERNIGHT`.", "$ref": "#/definitions/ShippingServiceIdentifier" }, "RejectionReasonCode": { "type": "string", - "description": "A reason code meant to be consumed programatically. e.g. CARRIER_CANNOT_SHIP_TO_POBOX" + "description": "A reason code meant to be consumed programatically. For example, `CARRIER_CANNOT_SHIP_TO_POBOX`." }, "RejectionReasonMessage": { "type": "string", @@ -3015,7 +3027,7 @@ }, "RejectedShippingServiceList": { "type": "array", - "description": "List of services that were for some reason unavailable for this request", + "description": "List of services that are for some reason unavailable for this request", "items": { "$ref": "#/definitions/RejectedShippingService" } @@ -3062,6 +3074,7 @@ }, "Timestamp": { "type": "string", + "description": "Date-time formatted timestamp.", "format": "date-time" }, "TrackingId": { @@ -3070,7 +3083,7 @@ }, "TransparencyCode": { "type": "string", - "description": "The Transparency code associated with the item. The Transparency serial number that needs to be submitted can be determined by the following:\n\n**1D or 2D Barcode:** This has a **T** logo. Submit either the 29-character alpha-numeric identifier beginning with **AZ** or **ZA**, or the 38-character Serialized Global Trade Item Number (SGTIN).\n**2D Barcode SN:** Submit the 7- to 20-character serial number barcode, which likely has the prefix **SN**. The serial number will be applied to the same side of the packaging as the GTIN (UPC/EAN/ISBN) barcode.\n**QR code SN:** Submit the URL that the QR code generates." + "description": "The transparency code associated with the item. Determine the transparency serial number with:\n\n**1D or 2D Barcode:** This has a **T** logo. Submit either the 29-character alpha-numeric identifier beginning with **AZ** or **ZA**, or the 38-character Serialized Global Trade Item Number (SGTIN).\n**2D Barcode SN:** Submit the 7- to 20-character serial number barcode, that likely has the prefix **SN**. The serial number is applied to the same side of the packaging as the GTIN (UPC/EAN/ISBN) barcode.\n**QR code SN:** Submit the URL that the QR code generates." }, "TransparencyCodeList": { "type": "array", @@ -3166,7 +3179,7 @@ }, { "value": "FL_OZ", - "description": "Fluid Ounce - Imperial unit of volume." + "description": "Fluid ounce - Imperial unit of volume." }, { "value": "GAL", @@ -3191,11 +3204,11 @@ "description": "The measurement value." } }, - "description": "Liquid Volume." + "description": "Liquid volume." }, "DangerousGoodsDetails": { "type": "object", - "description": "Details related to any dangerous goods/items that are being shipped.", + "description": "Details related to any dangerous goods or items that are shipped.", "properties": { "UnitedNationsRegulatoryId" : { "type": "string", @@ -3204,7 +3217,7 @@ }, "TransportationRegulatoryClass" : { "type": "string", - "description": "The specific regulatory class of the item being shipped.", + "description": "The specific regulatory class of the shipped item.", "pattern": "^[1-9](\\.[1-9])?$" }, "PackingGroup" : { @@ -3251,59 +3264,59 @@ "x-docgen-enum-table-extension": [ { "value": "PI965_SECTION_IA", - "description": "Ion PI965 Section IA (LiBa)" + "description": "Ion PI965 Section IA (LiBa)." }, { "value": "PI965_SECTION_IB", - "description": "Ion PI965 Section IB (LiBa)" + "description": "Ion PI965 Section IB (LiBa)." }, { "value": "PI965_SECTION_II", - "description": "Ion PI965 Section II (LiBa)" + "description": "Ion PI965 Section II (LiBa)." }, { "value": "PI966_SECTION_I", - "description": "Ion PI966 Section I (LiBa with equipment)" + "description": "Ion PI966 Section I (LiBa with equipment)." }, { "value": "PI966_SECTION_II", - "description": "Ion PI966 Section II (LiBa with equipment)" + "description": "Ion PI966 Section II (LiBa with equipment)." }, { "value": "PI967_SECTION_I", - "description": "Ion PI967 Section I (LiBa in equipment)" + "description": "Ion PI967 Section I (LiBa in equipment)." }, { "value": "PI967_SECTION_II", - "description": "Ion PI967 Section II (LiBa in equipment)" + "description": "Ion PI967 Section II (LiBa in equipment)." }, { "value": "PI968_SECTION_IA", - "description": "Metal PI968 Section IA (LiBa)" + "description": "Metal PI968 Section IA (LiBa)." }, { "value": "PI968_SECTION_IB", - "description": "Metal PI968 Section IB (LiBa)" + "description": "Metal PI968 Section IB (LiBa)." }, { "value": "PI969_SECTION_I", - "description": "Metal PI969 Section I (LiBa with equipment)" + "description": "Metal PI969 Section I (LiBa with equipment)." }, { "value": "PI969_SECTION_II", - "description": "Metal PI969 Section II (LiBa with equipment)" + "description": "Metal PI969 Section II (LiBa with equipment)." }, { "value": "PI970_SECTION_I", - "description": "Metal PI970 Section I (LiBa in equipment)" + "description": "Metal PI970 Section I (LiBa in equipment)." }, { "value": "PI970_SECTION_II", - "description": "Metal PI970 Section II (LiBa in equipment)" + "description": "Metal PI970 Section II (LiBa in equipment)." } ] } } } } -} +} \ No newline at end of file From a801c6d175b6459b577fe7f7b0995c1a743592b4 Mon Sep 17 00:00:00 2001 From: lisa-delaney Date: Fri, 28 Jun 2024 14:45:52 -0700 Subject: [PATCH 265/340] Update Fulfillment Outbound model --- .DS_Store | Bin 0 -> 8196 bytes .../fulfillmentOutbound_2020-07-01.json | 10 +--------- 2 files changed, 1 insertion(+), 9 deletions(-) create mode 100644 .DS_Store diff --git a/.DS_Store b/.DS_Store new file mode 100644 index 0000000000000000000000000000000000000000..bf745114ab5e9299f4a5a32b813404fdf56a82ce GIT binary patch literal 8196 zcmeHMYitx%6u#fIlo>n7v{ERKWmguEKx?<UE=6-X| zz30xHGvArJXO=OB=A2&7ST$ozrh}taPTe&cALqwaO$s!ngdlsyEaqkk?r6qxGFQzG z6=4Lz2!s&`BM?R)jKGZ$0ot>9ldrSyi_x$TBM?U5e;EP(eu&Y*F&W^vK>yW2onHbF z@)E#rbWU}EZxahJ8Q{1;-;~xA)dK=k1SJN9IgQ8obi!nS;{t^_gD__Zu8g2Ufq!+f zi}}+Tk^;j%j6fKHt0TbEr;Lp-hw03iQokS1j9RAaB@$;Km6T2^n=Vh6%jG?(VW*Jt z(q7JOPG@&>snc<+Oz}LO*<~7q0c}=`V|!`SHnP5fsT(wXzl^Tf}FHl2p;HvqiU*TgufLk?x+}KDEEc9CYlIdC(ZpX1e5C8;LuzMxK1? z9(1hSi0uw&6@zJOFlVJbW20s9$)ua<4rU$8+TpmSXF7Iok7w-niVIB|>gjWxtk>c% zHlS%a*Vt*$T4vs8r4?zZN`AHNqkI{6myvY||@Q8{+&oao|ZwGDTzPi|`KxPM}% zR#B;{RkOSErfX&_qc`mi8n$lQLtO<^_lEl@z_w@ZHI1yIRG_BQPLCK9mDO|S&0i3S zh&fkmimUYGGUmfM(>tKWWm#M!vM8>|+6VnQ-DHQO^A&Y}BobM4hb-^r`j)Igy-=%> z6*Xj#?sO?Y!EGk$6-9G9_Yn((sk(ZNtY~_dmChJepjy{Ns%_nQ;d!8}x<^)e2Az=+ za>f<9NK30MYo9&9FWjDXz3rohefgGJw#ss!JDkoM+Y7|OqD8wb`wy1%++>q(dQR4l z#(j$-kzT&kMqM{_a(Z6%+{#EQ(j{wOlZ|HDd6QUA&q9!2jwe&6{AUtRE*H-xE`TvV z#>%Xs7$D!{B5WyZq&=;Z?WLSM%${aP*!%1RJIPM7Gwd8Y&wgeX*)Qx@b_pd=QHcdu zj9SzofqJY%6V_t`wxJVU*o6%C!NLd}co@SYcoc{61fIk5cmXfrHN1g0aTIUk7(T>D z_!yt!b9{l*_!8&vBhKR|T)=O*gx{qKX`ZxLS|Tl#>ZF9!Agz=(OIxHJQm>SehNNNP zfmBSlJ(E3?4v;+QEkfxQdPTeh~{tG3_p>GsX7Ji%_8RW*A~Y{~MvRgHIV zyi7yE+9FZ^oB%%OCuNGyd7l?k`RZq)x-i;BNnz~2l8PcViwUVs=gBKi@Y%Pk@u)V9 z(ng3&)n!qwj8aC3E26bgO`=Q{Vj|k0Y9*A1if_9*TB~Z1g|Jp_QngabNFi=e7pfXl zgwPyqjcPo<+yi$p{^=e-KZ@T{X|C`sr@Xo^sgc1152%xkz z)!IzcuJ?lDwRVh-2kGFA&l?x$n^5PM Date: Tue, 2 Jul 2024 15:07:14 -0700 Subject: [PATCH 266/340] Update descriptions in awd_2024-05-09.json. --- .../awd_2024-05-09.json | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/models/amazon-warehousing-and-distribution-model/awd_2024-05-09.json b/models/amazon-warehousing-and-distribution-model/awd_2024-05-09.json index c8e7f4c28..5b97d73f2 100644 --- a/models/amazon-warehousing-and-distribution-model/awd_2024-05-09.json +++ b/models/amazon-warehousing-and-distribution-model/awd_2024-05-09.json @@ -263,7 +263,7 @@ "tags": [ "awd" ], - "description": "Retrieves an AWD inbound shipment.", + "description": "Retrieves an AWD inbound shipment.\n\n**Usage Plan:**\n\n| Rate (requests per second) | Burst |\n| ---- | ---- |\n| 2 | 2 |\n\nThe `x-amzn-RateLimit-Limit` response header returns the usage plan rate limits that were applied to the requested operation, when available. The table above indicates the default rate and burst values for this operation. Selling partners whose business demands require higher throughput may see higher rate and burst values than those shown here. For more information, refer to [Usage Plans and Rate Limits in the Selling Partner API](https://developer-docs.amazon.com/sp-api/docs/usage-plans-and-rate-limits-in-the-sp-api)", "operationId": "getInboundShipment" } }, @@ -560,7 +560,7 @@ "tags": [ "awd" ], - "description": "Retrieves a summary for all the inbound AWD shipments associated with a merchant, with the ability to apply optional filters.", + "description": "Retrieves a summary for all the inbound AWD shipments associated with a merchant, with the ability to apply optional filters.\n\n**Usage Plan:**\n\n| Rate (requests per second) | Burst |\n| ---- | ---- |\n| 1 | 1 |\n\nThe `x-amzn-RateLimit-Limit` response header returns the usage plan rate limits that were applied to the requested operation, when available. The table above indicates the default rate and burst values for this operation. Selling partners whose business demands require higher throughput may see higher rate and burst values than those shown here. For more information, refer to [Usage Plans and Rate Limits in the Selling Partner API](https://developer-docs.amazon.com/sp-api/docs/usage-plans-and-rate-limits-in-the-sp-api).", "operationId": "listInboundShipments" } }, @@ -811,7 +811,7 @@ "tags": [ "awd" ], - "description": "Lists AWD inventory associated with a merchant with the ability to apply optional filters.", + "description": "Lists AWD inventory associated with a merchant with the ability to apply optional filters.\n\n**Usage Plan:**\n\n| Rate (requests per second) | Burst |\n| ---- | ---- |\n| 2 | 2 |\n\nThe `x-amzn-RateLimit-Limit` response header returns the usage plan rate limits that were applied to the requested operation, when available. The table above indicates the default rate and burst values for this operation. Selling partners whose business demands require higher throughput may see higher rate and burst values than those shown here. For more information, refer to [Usage Plans and Rate Limits in the Selling Partner API](https://developer-docs.amazon.com/sp-api/docs/usage-plans-and-rate-limits-in-the-sp-api).", "operationId": "listInventory" } } @@ -1637,4 +1637,4 @@ ] } } -} \ No newline at end of file +} From ccea2e09a2dd25b3ba7a22f627bcdbc676ec44d5 Mon Sep 17 00:00:00 2001 From: Jack Evoniuk Date: Mon, 8 Jul 2024 10:59:48 -0700 Subject: [PATCH 267/340] Added the Benefits object to Merchant Fulfillment --- .DS_Store | Bin 8196 -> 0 bytes .../merchantFulfillmentV0.json | 178 +++++++++--------- 2 files changed, 89 insertions(+), 89 deletions(-) delete mode 100644 .DS_Store diff --git a/.DS_Store b/.DS_Store deleted file mode 100644 index bf745114ab5e9299f4a5a32b813404fdf56a82ce..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 8196 zcmeHMYitx%6u#fIlo>n7v{ERKWmguEKx?<UE=6-X| zz30xHGvArJXO=OB=A2&7ST$ozrh}taPTe&cALqwaO$s!ngdlsyEaqkk?r6qxGFQzG z6=4Lz2!s&`BM?R)jKGZ$0ot>9ldrSyi_x$TBM?U5e;EP(eu&Y*F&W^vK>yW2onHbF z@)E#rbWU}EZxahJ8Q{1;-;~xA)dK=k1SJN9IgQ8obi!nS;{t^_gD__Zu8g2Ufq!+f zi}}+Tk^;j%j6fKHt0TbEr;Lp-hw03iQokS1j9RAaB@$;Km6T2^n=Vh6%jG?(VW*Jt z(q7JOPG@&>snc<+Oz}LO*<~7q0c}=`V|!`SHnP5fsT(wXzl^Tf}FHl2p;HvqiU*TgufLk?x+}KDEEc9CYlIdC(ZpX1e5C8;LuzMxK1? z9(1hSi0uw&6@zJOFlVJbW20s9$)ua<4rU$8+TpmSXF7Iok7w-niVIB|>gjWxtk>c% zHlS%a*Vt*$T4vs8r4?zZN`AHNqkI{6myvY||@Q8{+&oao|ZwGDTzPi|`KxPM}% zR#B;{RkOSErfX&_qc`mi8n$lQLtO<^_lEl@z_w@ZHI1yIRG_BQPLCK9mDO|S&0i3S zh&fkmimUYGGUmfM(>tKWWm#M!vM8>|+6VnQ-DHQO^A&Y}BobM4hb-^r`j)Igy-=%> z6*Xj#?sO?Y!EGk$6-9G9_Yn((sk(ZNtY~_dmChJepjy{Ns%_nQ;d!8}x<^)e2Az=+ za>f<9NK30MYo9&9FWjDXz3rohefgGJw#ss!JDkoM+Y7|OqD8wb`wy1%++>q(dQR4l z#(j$-kzT&kMqM{_a(Z6%+{#EQ(j{wOlZ|HDd6QUA&q9!2jwe&6{AUtRE*H-xE`TvV z#>%Xs7$D!{B5WyZq&=;Z?WLSM%${aP*!%1RJIPM7Gwd8Y&wgeX*)Qx@b_pd=QHcdu zj9SzofqJY%6V_t`wxJVU*o6%C!NLd}co@SYcoc{61fIk5cmXfrHN1g0aTIUk7(T>D z_!yt!b9{l*_!8&vBhKR|T)=O*gx{qKX`ZxLS|Tl#>ZF9!Agz=(OIxHJQm>SehNNNP zfmBSlJ(E3?4v;+QEkfxQdPTeh~{tG3_p>GsX7Ji%_8RW*A~Y{~MvRgHIV zyi7yE+9FZ^oB%%OCuNGyd7l?k`RZq)x-i;BNnz~2l8PcViwUVs=gBKi@Y%Pk@u)V9 z(ng3&)n!qwj8aC3E26bgO`=Q{Vj|k0Y9*A1if_9*TB~Z1g|Jp_QngabNFi=e7pfXl zgwPyqjcPo<+yi$p{^=e-KZ@T{X|C`sr@Xo^sgc1152%xkz z)!IzcuJ?lDwRVh-2kGFA&l?x$n^5PMISO 8601 date-time format. If `MustArriveByDate` is specified, only shipping service offers that can be delivered by that date are returned.", + "description": "The date by which the package must arrive to keep the promise to the customer, in ISO 8601 datetime format. If MustArriveByDate is specified, only shipping service offers that can be delivered by that date are returned.", "$ref": "#/definitions/Timestamp" }, "ShipDate": { @@ -2776,15 +2776,15 @@ "x-docgen-enum-table-extension": [ { "value": "Purchased", - "description": "The seller purchased a label by calling the `createShipment` operation." + "description": "The seller purchased a label by calling the createShipment operation." }, { "value": "RefundPending", - "description": "The seller requested a label refund by calling the `cancelShipment` operation, and the refund request is being processed by the carrier. Note: A seller can create a new shipment for an order while `Status=RefundPending` for a canceled shipment. After you request a label refund (by calling `cancelShipment`), the status of the order remains `Shipped`." + "description": "The seller requested a label refund by calling the cancelShipment operation, and the refund request is being processed by the carrier.\n\nNote:\n\n* A seller can create a new shipment for an order while Status=RefundPending for a canceled shipment.\n* After a label refund is requested by calling the cancelShipment operation, the order status of the order remains \"Shipped\"." }, { "value": "RefundRejected", - "description": "The label refund request is rejected by the carrier. A refund request is rejected because the cancellation window has expired, or the carrier has already accepted the shipment for delivery. Cancellation policies vary by carrier. For more information about carrier cancellation policies, refer to the Seller Central Help for your marketplace." + "description": "The label refund request was rejected by the carrier. A refund request is rejected for either of the following reasons:\n\n* The cancellation window has expired. Cancellation policies vary by carrier. For more information about carrier cancellation policies, see the Seller Central Help.\n* The carrier has already accepted the shipment for delivery." }, { "value": "RefundApplied", @@ -2860,7 +2860,7 @@ "properties": { "ShippingServiceName": { "type": "string", - "description": "A plain text representation of a carrier's shipping service. For example, UPS Ground or FedEx Standard Overnight. " + "description": "A plain text representation of a carrier's shipping service. For example, \"UPS Ground\" or \"FedEx Standard Overnight\". " }, "CarrierName": { "type": "string", @@ -2935,12 +2935,12 @@ "$ref": "#/definitions/DeliveryExperienceType" }, "DeclaredValue": { - "description": "The declared value of the shipment. The carrier uses this value to determine the amount to use to insure the shipment. If `DeclaredValue` is greater than the carrier's minimum insurance amount, the seller is charged for the additional insurance as determined by the carrier. For information about optional insurance coverage, refer to the Seller Central Help: [UK](https://sellercentral.amazon.co.uk/gp/help/200204080), [US](https://sellercentral.amazon.com/gp/help/200204080).", + "description": "The declared value of the shipment. The carrier uses this value to determine the amount to use to insure the shipment. If DeclaredValue is greater than the carrier's minimum insurance amount, the seller is charged for the additional insurance as determined by the carrier. For information about optional insurance coverage, see the Seller Central Help [UK](https://sellercentral.amazon.co.uk/gp/help/200204080) [US](https://sellercentral.amazon.com/gp/help/200204080).", "$ref": "#/definitions/CurrencyAmount" }, "CarrierWillPickUp": { "type": "boolean", - "description": "When true, the carrier will pick up the package. Note: Scheduled carrier pickup is available only using Dynamex (US), DPD (UK), and Royal Mail (UK)." + "description": "When true, the carrier will pick up the package.\n\nNote: Scheduled carrier pickup is available only using Dynamex (US), DPD (UK), and Royal Mail (UK)." }, "CarrierWillPickUpOption": { "$ref": "#/definitions/CarrierWillPickUpOption" @@ -2990,7 +2990,7 @@ }, "StateOrProvinceCode": { "type": "string", - "description": "The state or province code. Note: Required in Canada, US, and UK marketplaces. Also required for shipments originating in China.", + "description": "The state or province code. **Note.** Required in the Canada, US, and UK marketplaces. Also required for shipments originating from China.", "maxLength": 30 }, "RejectedShippingService": { @@ -3004,19 +3004,19 @@ "properties": { "CarrierName": { "type": "string", - "description": "The rejected shipping carrier name. For example, USPS." + "description": "The rejected shipping carrier name. e.g. USPS" }, "ShippingServiceName": { "type": "string", - "description": "The rejected shipping service localized name. For example, FedEx Standard Overnight." + "description": "The rejected shipping service localized name. e.g. FedEx Standard Overnight" }, "ShippingServiceId": { - "description": "The rejected shipping service identifier. For example, `FEDEX_PTP_STANDARD_OVERNIGHT`.", + "description": "The rejected shipping service identifier. e.g. FEDEX_PTP_STANDARD_OVERNIGHT", "$ref": "#/definitions/ShippingServiceIdentifier" }, "RejectionReasonCode": { "type": "string", - "description": "A reason code meant to be consumed programatically. For example, `CARRIER_CANNOT_SHIP_TO_POBOX`." + "description": "A reason code meant to be consumed programatically. e.g. CARRIER_CANNOT_SHIP_TO_POBOX" }, "RejectionReasonMessage": { "type": "string", @@ -3027,7 +3027,7 @@ }, "RejectedShippingServiceList": { "type": "array", - "description": "List of services that are for some reason unavailable for this request", + "description": "List of services that were for some reason unavailable for this request", "items": { "$ref": "#/definitions/RejectedShippingService" } @@ -3083,7 +3083,7 @@ }, "TransparencyCode": { "type": "string", - "description": "The transparency code associated with the item. Determine the transparency serial number with:\n\n**1D or 2D Barcode:** This has a **T** logo. Submit either the 29-character alpha-numeric identifier beginning with **AZ** or **ZA**, or the 38-character Serialized Global Trade Item Number (SGTIN).\n**2D Barcode SN:** Submit the 7- to 20-character serial number barcode, that likely has the prefix **SN**. The serial number is applied to the same side of the packaging as the GTIN (UPC/EAN/ISBN) barcode.\n**QR code SN:** Submit the URL that the QR code generates." + "description": "The Transparency code associated with the item. The Transparency serial number that needs to be submitted can be determined by the following:\n\n**1D or 2D Barcode:** This has a **T** logo. Submit either the 29-character alpha-numeric identifier beginning with **AZ** or **ZA**, or the 38-character Serialized Global Trade Item Number (SGTIN).\n**2D Barcode SN:** Submit the 7- to 20-character serial number barcode, which likely has the prefix **SN**. The serial number will be applied to the same side of the packaging as the GTIN (UPC/EAN/ISBN) barcode.\n**QR code SN:** Submit the URL that the QR code generates." }, "TransparencyCodeList": { "type": "array", @@ -3179,7 +3179,7 @@ }, { "value": "FL_OZ", - "description": "Fluid ounce - Imperial unit of volume." + "description": "Fluid Ounce - Imperial unit of volume." }, { "value": "GAL", @@ -3204,11 +3204,11 @@ "description": "The measurement value." } }, - "description": "Liquid volume." + "description": "Liquid Volume." }, "DangerousGoodsDetails": { "type": "object", - "description": "Details related to any dangerous goods or items that are shipped.", + "description": "Details related to any dangerous goods/items that are being shipped.", "properties": { "UnitedNationsRegulatoryId" : { "type": "string", @@ -3217,7 +3217,7 @@ }, "TransportationRegulatoryClass" : { "type": "string", - "description": "The specific regulatory class of the shipped item.", + "description": "The specific regulatory class of the item being shipped.", "pattern": "^[1-9](\\.[1-9])?$" }, "PackingGroup" : { @@ -3264,59 +3264,59 @@ "x-docgen-enum-table-extension": [ { "value": "PI965_SECTION_IA", - "description": "Ion PI965 Section IA (LiBa)." + "description": "Ion PI965 Section IA (LiBa)" }, { "value": "PI965_SECTION_IB", - "description": "Ion PI965 Section IB (LiBa)." + "description": "Ion PI965 Section IB (LiBa)" }, { "value": "PI965_SECTION_II", - "description": "Ion PI965 Section II (LiBa)." + "description": "Ion PI965 Section II (LiBa)" }, { "value": "PI966_SECTION_I", - "description": "Ion PI966 Section I (LiBa with equipment)." + "description": "Ion PI966 Section I (LiBa with equipment)" }, { "value": "PI966_SECTION_II", - "description": "Ion PI966 Section II (LiBa with equipment)." + "description": "Ion PI966 Section II (LiBa with equipment)" }, { "value": "PI967_SECTION_I", - "description": "Ion PI967 Section I (LiBa in equipment)." + "description": "Ion PI967 Section I (LiBa in equipment)" }, { "value": "PI967_SECTION_II", - "description": "Ion PI967 Section II (LiBa in equipment)." + "description": "Ion PI967 Section II (LiBa in equipment)" }, { "value": "PI968_SECTION_IA", - "description": "Metal PI968 Section IA (LiBa)." + "description": "Metal PI968 Section IA (LiBa)" }, { "value": "PI968_SECTION_IB", - "description": "Metal PI968 Section IB (LiBa)." + "description": "Metal PI968 Section IB (LiBa)" }, { "value": "PI969_SECTION_I", - "description": "Metal PI969 Section I (LiBa with equipment)." + "description": "Metal PI969 Section I (LiBa with equipment)" }, { "value": "PI969_SECTION_II", - "description": "Metal PI969 Section II (LiBa with equipment)." + "description": "Metal PI969 Section II (LiBa with equipment)" }, { "value": "PI970_SECTION_I", - "description": "Metal PI970 Section I (LiBa in equipment)." + "description": "Metal PI970 Section I (LiBa in equipment)" }, { "value": "PI970_SECTION_II", - "description": "Metal PI970 Section II (LiBa in equipment)." + "description": "Metal PI970 Section II (LiBa in equipment)" } ] } } } } -} \ No newline at end of file +} From 7f1f1b0fbd98bfaebebc08bc371fed20a6dac1f7 Mon Sep 17 00:00:00 2001 From: ruby4406 Date: Sun, 25 Aug 2024 03:44:27 +0530 Subject: [PATCH 268/340] Create workspace.xml --- .idea/workspace.xml | 8 ++++++++ 1 file changed, 8 insertions(+) create mode 100644 .idea/workspace.xml diff --git a/.idea/workspace.xml b/.idea/workspace.xml new file mode 100644 index 000000000..f48cf1308 --- /dev/null +++ b/.idea/workspace.xml @@ -0,0 +1,8 @@ + + + { + "keyToString": { + "settings.editor.selected.configurable": "aws" + } +} + \ No newline at end of file From d08f07dbe5efad0e15d9baa2b1b8a8c345d803b7 Mon Sep 17 00:00:00 2001 From: ruby4406 Date: Sun, 25 Aug 2024 03:44:41 +0530 Subject: [PATCH 269/340] Create .gitignore --- .idea/.gitignore | 3 +++ 1 file changed, 3 insertions(+) create mode 100644 .idea/.gitignore diff --git a/.idea/.gitignore b/.idea/.gitignore new file mode 100644 index 000000000..26d33521a --- /dev/null +++ b/.idea/.gitignore @@ -0,0 +1,3 @@ +# Default ignored files +/shelf/ +/workspace.xml From 5e1ddfb25915b679787c3cb7997b8c6dd2a5aad9 Mon Sep 17 00:00:00 2001 From: rubeena begum <163713192+ruby4406@users.noreply.github.com> Date: Fri, 30 Aug 2024 22:50:40 +0530 Subject: [PATCH 270/340] Create gradle-publish.yml --- .github/workflows/gradle-publish.yml | 44 ++++++++++++++++++++++++++++ 1 file changed, 44 insertions(+) create mode 100644 .github/workflows/gradle-publish.yml diff --git a/.github/workflows/gradle-publish.yml b/.github/workflows/gradle-publish.yml new file mode 100644 index 000000000..20d17dc3b --- /dev/null +++ b/.github/workflows/gradle-publish.yml @@ -0,0 +1,44 @@ +# This workflow uses actions that are not certified by GitHub. +# They are provided by a third-party and are governed by +# separate terms of service, privacy policy, and support +# documentation. +# This workflow will build a package using Gradle and then publish it to GitHub packages when a release is created +# For more information see: https://github.com/actions/setup-java/blob/main/docs/advanced-usage.md#Publishing-using-gradle + +name: Gradle Package + +on: + release: + types: [created] + +jobs: + build: + + runs-on: ubuntu-latest + permissions: + contents: read + packages: write + + steps: + - uses: actions/checkout@v4 + - name: Set up JDK 17 + uses: actions/setup-java@v4 + with: + java-version: '17' + distribution: 'temurin' + server-id: github # Value of the distributionManagement/repository/id field of the pom.xml + settings-path: ${{ github.workspace }} # location for the settings.xml file + + - name: Setup Gradle + uses: gradle/actions/setup-gradle@af1da67850ed9a4cedd57bfd976089dd991e2582 # v4.0.0 + + - name: Build with Gradle + run: ./gradlew build + + # The USERNAME and TOKEN need to correspond to the credentials environment variables used in + # the publishing section of your build.gradle + - name: Publish to GitHub Packages + run: ./gradlew publish + env: + USERNAME: ${{ github.actor }} + TOKEN: ${{ secrets.GITHUB_TOKEN }} From 2188bf67d6878d9e3b2c9c0b893ed24d6ea5677c Mon Sep 17 00:00:00 2001 From: Gibran Waldron Date: Wed, 14 Aug 2024 08:15:33 -0700 Subject: [PATCH 271/340] Add unitOfMeasure to the vendorOrders model. --- .../vendor-orders-api-model/vendorOrders.json | 329 +++++++++++------- 1 file changed, 196 insertions(+), 133 deletions(-) diff --git a/models/vendor-orders-api-model/vendorOrders.json b/models/vendor-orders-api-model/vendorOrders.json index 4f1cccdb3..18202e16f 100644 --- a/models/vendor-orders-api-model/vendorOrders.json +++ b/models/vendor-orders-api-model/vendorOrders.json @@ -29,7 +29,7 @@ "tags": [ "vendorOrders" ], - "description": "Returns a list of purchase orders created or changed during the time frame that you specify. You define the time frame using the `createdAfter`, `createdBefore`, `changedAfter` and `changedBefore` parameters. The date range to search must not be more than 7 days. You can choose to get only the purchase order numbers by setting `includeDetails` to false. You can then use the `getPurchaseOrder` operation to receive details for a specific purchase order.\n\n**Usage Plan:**\n\n| Rate (requests per second) | Burst |\n| ---- | ---- |\n| 10 | 10 |\n\nThe `x-amzn-RateLimit-Limit` response header returns the usage plan rate limits that were applied to the requested operation, when available. The table above indicates the default rate and burst values for this operation. Selling partners whose business demands require higher throughput may see higher rate and burst values than those shown here. For more information, refer to [Usage Plans and Rate Limits in the Selling Partner API](https://developer-docs.amazon.com/sp-api/docs/usage-plans-and-rate-limits-in-the-sp-api).", + "description": "Returns a list of purchase orders created or changed during the time frame that you specify. You define the time frame using the `createdAfter`, `createdBefore`, `changedAfter` and `changedBefore` parameters. The date range to search must not be more than 7 days. You can choose to get only the purchase order numbers by setting `includeDetails` to false. You can then use the `getPurchaseOrder` operation to receive details for a specific purchase order.\n\n**Usage Plan:**\n\n| Rate (requests per second) | Burst |\n| ---- | ---- |\n| 10 | 10 |\n\nThe `x-amzn-RateLimit-Limit` response header returns the usage plan rate limits that were applied to the requested operation, when available. The preceding table indicates the default rate and burst values for this operation. Selling partners whose business demands require higher throughput may have higher rate and burst values than those shown here. For more information, refer to [Usage Plans and Rate Limits in the Selling Partner API](https://developer-docs.amazon.com/sp-api/docs/usage-plans-and-rate-limits-in-the-sp-api).", "operationId": "getPurchaseOrders", "parameters": [ { @@ -45,7 +45,7 @@ { "name": "createdAfter", "in": "query", - "description": "Purchase orders that became available after this time will be included in the result. Must be in ISO 8601 date/time format.", + "description": "Purchase orders that became available after this time will be included in the result. Must be in ISO-8601 date/time format.", "required": false, "type": "string", "format": "date-time" @@ -53,7 +53,7 @@ { "name": "createdBefore", "in": "query", - "description": "Purchase orders that became available before this time will be included in the result. Must be in ISO 8601 date/time format.", + "description": "Purchase orders that became available before this time will be included in the result. Must be in ISO-8601 date/time format.", "required": false, "type": "string", "format": "date-time" @@ -89,7 +89,7 @@ { "name": "includeDetails", "in": "query", - "description": "When `true`, returns purchase orders with complete details. Otherwise, only purchase order numbers are returned. Default value is `true`.", + "description": "When true, returns purchase orders with complete details. Otherwise, only purchase order numbers are returned. Default value is true.", "required": false, "type": "string", "format": "boolean" @@ -97,7 +97,7 @@ { "name": "changedAfter", "in": "query", - "description": "Purchase orders that changed after this timestamp will be included in the result. Must be in ISO 8601 date/time format.", + "description": "Purchase orders that changed after this timestamp will be included in the result. Must be in ISO-8601 date/time format.", "required": false, "type": "string", "format": "date-time" @@ -105,7 +105,7 @@ { "name": "changedBefore", "in": "query", - "description": "Purchase orders that changed before this timestamp will be included in the result. Must be in ISO 8601 date/time format.", + "description": "Purchase orders that changed before this timestamp will be included in the result. Must be in ISO-8601 date/time format.", "required": false, "type": "string", "format": "date-time" @@ -113,7 +113,7 @@ { "name": "poItemState", "in": "query", - "description": "Current state of the purchase order item. If this value is `Cancelled`, this API will return purchase orders which have one or more items cancelled by Amazon with updated item quantity as zero.", + "description": "Current state of the purchase order item. If this value is Cancelled, this API will return purchase orders which have one or more items cancelled by Amazon with updated item quantity as zero.", "required": false, "type": "string", "enum": [ @@ -129,7 +129,7 @@ { "name": "isPOChanged", "in": "query", - "description": "When `true`, returns purchase orders which were modified after the order was placed. Vendors are required to pull the changed purchase order and fulfill the updated purchase order and not the original one. Default value is `false`.", + "description": "When true, returns purchase orders which were modified after the order was placed. Vendors are required to pull the changed purchase order and fulfill the updated purchase order and not the original one. Default value is false.", "required": false, "type": "string", "format": "boolean" @@ -255,11 +255,13 @@ "isBackOrderAllowed": true, "netCost": { "amount": "1800", - "currencyCode": "INR" + "currencyCode": "INR", + "unitOfMeasure": "POUNDS" }, "listPrice": { "amount": "2000", - "currencyCode": "INR" + "currencyCode": "INR", + "unitOfMeasure": "POUNDS" } } ] @@ -430,11 +432,13 @@ "isBackOrderAllowed": true, "netCost": { "amount": "94.97", - "currencyCode": "USD" + "currencyCode": "USD", + "unitOfMeasure": "POUNDS" }, "listPrice": { "amount": "94.97", - "currencyCode": "USD" + "currencyCode": "USD", + "unitOfMeasure": "POUNDS" } } ] @@ -985,7 +989,8 @@ "isBackOrderAllowed": true, "netCost": { "amount": "94.97", - "currencyCode": "INR" + "currencyCode": "INR", + "unitOfMeasure": "POUNDS" } } ] @@ -1050,11 +1055,15 @@ } }, "403": { - "description": "Indicates that access to the resource is forbidden. Possible reasons include `Access Denied`, `Unauthorized`, `Expired Token`, or `Invalid Signature`.", + "description": "Indicates that access to the resource is forbidden. Possible reasons include Access Denied, Unauthorized, Expired Token, or Invalid Signature.", "schema": { "$ref": "#/definitions/GetPurchaseOrdersResponse" }, "headers": { + "x-amzn-RateLimit-Limit": { + "type": "string", + "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." + }, "x-amzn-RequestId": { "type": "string", "description": "Unique request reference identifier." @@ -1083,6 +1092,10 @@ "$ref": "#/definitions/GetPurchaseOrdersResponse" }, "headers": { + "x-amzn-RateLimit-Limit": { + "type": "string", + "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." + }, "x-amzn-RequestId": { "type": "string", "description": "Unique request reference identifier." @@ -1095,6 +1108,10 @@ "$ref": "#/definitions/GetPurchaseOrdersResponse" }, "headers": { + "x-amzn-RateLimit-Limit": { + "type": "string", + "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." + }, "x-amzn-RequestId": { "type": "string", "description": "Unique request reference identifier." @@ -1107,6 +1124,10 @@ "$ref": "#/definitions/GetPurchaseOrdersResponse" }, "headers": { + "x-amzn-RateLimit-Limit": { + "type": "string", + "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." + }, "x-amzn-RequestId": { "type": "string", "description": "Unique request reference identifier." @@ -1119,6 +1140,10 @@ "$ref": "#/definitions/GetPurchaseOrdersResponse" }, "headers": { + "x-amzn-RateLimit-Limit": { + "type": "string", + "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." + }, "x-amzn-RequestId": { "type": "string", "description": "Unique request reference identifier." @@ -1133,7 +1158,7 @@ "tags": [ "vendorOrders" ], - "description": "Returns a purchase order based on the `purchaseOrderNumber` value that you specify.\n\n**Usage Plan:**\n\n| Rate (requests per second) | Burst |\n| ---- | ---- |\n| 10 | 10 |\n\nThe `x-amzn-RateLimit-Limit` response header returns the usage plan rate limits that were applied to the requested operation, when available. The table above indicates the default rate and burst values for this operation. Selling partners whose business demands require higher throughput may see higher rate and burst values than those shown here. For more information, refer to [Usage Plans and Rate Limits in the Selling Partner API](https://developer-docs.amazon.com/sp-api/docs/usage-plans-and-rate-limits-in-the-sp-api).", + "description": "Returns a purchase order based on the `purchaseOrderNumber` value that you specify.\n\n**Usage Plan:**\n\n| Rate (requests per second) | Burst |\n| ---- | ---- |\n| 10 | 10 |\n\nThe `x-amzn-RateLimit-Limit` response header returns the usage plan rate limits that were applied to the requested operation, when available. The preceding table indicates the default rate and burst values for this operation. Selling partners whose business demands require higher throughput may have higher rate and burst values than those shown here. For more information, refer to [Usage Plans and Rate Limits in the Selling Partner API](https://developer-docs.amazon.com/sp-api/docs/usage-plans-and-rate-limits-in-the-sp-api).", "operationId": "getPurchaseOrder", "parameters": [ { @@ -1419,11 +1444,15 @@ } }, "401": { - "description": "The request's authorization header is not formatted correctly or does not contain a valid token.", + "description": "The request's Authorization header is not formatted correctly or does not contain a valid token.", "schema": { "$ref": "#/definitions/GetPurchaseOrderResponse" }, "headers": { + "x-amzn-RateLimit-Limit": { + "type": "string", + "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." + }, "x-amzn-RequestId": { "type": "string", "description": "Unique request reference identifier." @@ -1431,11 +1460,15 @@ } }, "403": { - "description": "Indicates that access to the resource is forbidden. Possible reasons include `Access Denied`, `Unauthorized`, `Expired Token`, or `Invalid Signature`.", + "description": "Indicates that access to the resource is forbidden. Possible reasons include Access Denied, Unauthorized, Expired Token, or Invalid Signature.", "schema": { "$ref": "#/definitions/GetPurchaseOrderResponse" }, "headers": { + "x-amzn-RateLimit-Limit": { + "type": "string", + "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." + }, "x-amzn-RequestId": { "type": "string", "description": "Unique request reference identifier." @@ -1464,6 +1497,10 @@ "$ref": "#/definitions/GetPurchaseOrderResponse" }, "headers": { + "x-amzn-RateLimit-Limit": { + "type": "string", + "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." + }, "x-amzn-RequestId": { "type": "string", "description": "Unique request reference identifier." @@ -1476,6 +1513,10 @@ "$ref": "#/definitions/GetPurchaseOrderResponse" }, "headers": { + "x-amzn-RateLimit-Limit": { + "type": "string", + "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." + }, "x-amzn-RequestId": { "type": "string", "description": "Unique request reference identifier." @@ -1488,6 +1529,10 @@ "$ref": "#/definitions/GetPurchaseOrderResponse" }, "headers": { + "x-amzn-RateLimit-Limit": { + "type": "string", + "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." + }, "x-amzn-RequestId": { "type": "string", "description": "Unique request reference identifier." @@ -1500,6 +1545,10 @@ "$ref": "#/definitions/GetPurchaseOrderResponse" }, "headers": { + "x-amzn-RateLimit-Limit": { + "type": "string", + "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." + }, "x-amzn-RequestId": { "type": "string", "description": "Unique request reference identifier." @@ -1514,60 +1563,15 @@ "tags": [ "vendorOrders" ], - "description": "Submits acknowledgements for one or more purchase orders.\n\n**Usage Plan:**\n\n| Rate (requests per second) | Burst |\n| ---- | ---- |\n| 10 | 10 |\n\nThe `x-amzn-RateLimit-Limit` response header returns the usage plan rate limits that were applied to the requested operation, when available. The table above indicates the default rate and burst values for this operation. Selling partners whose business demands require higher throughput may see higher rate and burst values than those shown here. For more information, refer to [Usage Plans and Rate Limits in the Selling Partner API](https://developer-docs.amazon.com/sp-api/docs/usage-plans-and-rate-limits-in-the-sp-api).", + "description": "Submits acknowledgements for one or more purchase orders.\n\n**Usage Plan:**\n\n| Rate (requests per second) | Burst |\n| ---- | ---- |\n| 10 | 10 |\n\nThe `x-amzn-RateLimit-Limit` response header returns the usage plan rate limits that were applied to the requested operation, when available. The preceding table indicates the default rate and burst values for this operation. Selling partners whose business demands require higher throughput may have higher rate and burst values than those shown here. For more information, refer to [Usage Plans and Rate Limits in the Selling Partner API](https://developer-docs.amazon.com/sp-api/docs/usage-plans-and-rate-limits-in-the-sp-api).", "operationId": "submitAcknowledgement", "parameters": [ { "in": "body", "name": "body", - "description": "Submits acknowledgements for one or more purchase orders from a vendor.", "required": true, "schema": { - "$ref": "#/definitions/SubmitAcknowledgementRequest", - "example": { - "acknowledgements": [ - { - "purchaseOrderNumber": "L8266355", - "sellingParty": { - "partyId": "999US" - }, - "acknowledgementDate": "2019-07-17T19:17:34.304Z", - "items": [ - { - "itemSequenceNumber": "1", - "amazonProductIdentifier": "ABC123434", - "vendorProductIdentifier": "028877454078", - "orderedQuantity": { - "amount": 10, - "unitOfMeasure": "Cases" - }, - "netCost": { - "currencyCode": "USD", - "amount": "18.0" - }, - "listPrice": { - "currencyCode": "USD", - "amount": "22.2" - }, - "discountMultiplier": "0.44", - "itemAcknowledgements": [ - { - "acknowledgementCode": "Rejected", - "acknowledgedQuantity": { - "amount": 6, - "unitOfMeasure": "Cases", - "unitSize": 2 - }, - "scheduledShipDate": "2019-07-17T19:17:34.304Z", - "scheduledDeliveryDate": "2019-07-17T19:17:34.304Z", - "rejectionReason": "TemporarilyUnavailable" - } - ] - } - ] - } - ] - } + "$ref": "#/definitions/SubmitAcknowledgementRequest" } } ], @@ -1700,11 +1704,15 @@ } }, "403": { - "description": "Indicates that access to the resource is forbidden. Possible reasons include `Access Denied`, `Unauthorized,` `Expired Token`, or `Invalid Signature`.", + "description": "Indicates that access to the resource is forbidden. Possible reasons include Access Denied, Unauthorized, Expired Token, or Invalid Signature.", "schema": { "$ref": "#/definitions/SubmitAcknowledgementResponse" }, "headers": { + "x-amzn-RateLimit-Limit": { + "type": "string", + "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." + }, "x-amzn-RequestId": { "type": "string", "description": "Unique request reference identifier." @@ -1733,6 +1741,10 @@ "$ref": "#/definitions/SubmitAcknowledgementResponse" }, "headers": { + "x-amzn-RateLimit-Limit": { + "type": "string", + "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." + }, "x-amzn-RequestId": { "type": "string", "description": "Unique request reference identifier." @@ -1745,6 +1757,10 @@ "$ref": "#/definitions/SubmitAcknowledgementResponse" }, "headers": { + "x-amzn-RateLimit-Limit": { + "type": "string", + "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." + }, "x-amzn-RequestId": { "type": "string", "description": "Unique request reference identifier." @@ -1757,6 +1773,10 @@ "$ref": "#/definitions/SubmitAcknowledgementResponse" }, "headers": { + "x-amzn-RateLimit-Limit": { + "type": "string", + "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." + }, "x-amzn-RequestId": { "type": "string", "description": "Unique request reference identifier." @@ -1769,6 +1789,10 @@ "$ref": "#/definitions/SubmitAcknowledgementResponse" }, "headers": { + "x-amzn-RateLimit-Limit": { + "type": "string", + "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." + }, "x-amzn-RequestId": { "type": "string", "description": "Unique request reference identifier." @@ -1781,6 +1805,10 @@ "$ref": "#/definitions/SubmitAcknowledgementResponse" }, "headers": { + "x-amzn-RateLimit-Limit": { + "type": "string", + "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." + }, "x-amzn-RequestId": { "type": "string", "description": "Unique request reference identifier." @@ -1795,7 +1823,7 @@ "tags": [ "vendorOrders" ], - "description": "Returns purchase order statuses based on the filters that you specify. Date range to search must not be more than 7 days. You can return a list of purchase order statuses using the available filters, or a single purchase order status by providing the purchase order number.\n\n**Usage Plan:**\n\n| Rate (requests per second) | Burst |\n| ---- | ---- |\n| 10 | 10 |\n\nThe `x-amzn-RateLimit-Limit` response header returns the usage plan rate limits that were applied to the requested operation, when available. The table above indicates the default rate and burst values for this operation. Selling partners whose business demands require higher throughput may see higher rate and burst values than those shown here. For more information, refer to [Usage Plans and Rate Limits in the Selling Partner API](https://developer-docs.amazon.com/sp-api/docs/usage-plans-and-rate-limits-in-the-sp-api).", + "description": "Returns purchase order statuses based on the filters that you specify. Date range to search must not be more than 7 days. You can return a list of purchase order statuses using the available filters, or a single purchase order status by providing the purchase order number.\n\n**Usage Plan:**\n\n| Rate (requests per second) | Burst |\n| ---- | ---- |\n| 10 | 10 |\n\nThe `x-amzn-RateLimit-Limit` response header returns the usage plan rate limits that were applied to the requested operation, when available. The preceding table indicates the default rate and burst values for this operation. Selling partners whose business demands require higher throughput may have higher rate and burst values than those shown here. For more information, refer to [Usage Plans and Rate Limits in the Selling Partner API](https://developer-docs.amazon.com/sp-api/docs/usage-plans-and-rate-limits-in-the-sp-api).", "operationId": "getPurchaseOrdersStatus", "parameters": [ { @@ -1839,7 +1867,7 @@ { "name": "createdAfter", "in": "query", - "description": "Purchase orders that became available after this timestamp will be included in the result. Must be in ISO 8601 date/time format.", + "description": "Purchase orders that became available after this timestamp will be included in the result. Must be in ISO-8601 date/time format.", "required": false, "type": "string", "format": "date-time" @@ -1847,7 +1875,7 @@ { "name": "createdBefore", "in": "query", - "description": "Purchase orders that became available before this timestamp will be included in the result. Must be in ISO 8601 date/time format.", + "description": "Purchase orders that became available before this timestamp will be included in the result. Must be in ISO-8601 date/time format.", "required": false, "type": "string", "format": "date-time" @@ -1855,7 +1883,7 @@ { "name": "updatedAfter", "in": "query", - "description": "Purchase orders for which the last purchase order update happened after this timestamp will be included in the result. Must be in ISO 8601 date/time format.", + "description": "Purchase orders for which the last purchase order update happened after this timestamp will be included in the result. Must be in ISO-8601 date/time format.", "required": false, "type": "string", "format": "date-time" @@ -1863,7 +1891,7 @@ { "name": "updatedBefore", "in": "query", - "description": "Purchase orders for which the last purchase order update happened before this timestamp will be included in the result. Must be in ISO 8601 date/time format.", + "description": "Purchase orders for which the last purchase order update happened before this timestamp will be included in the result. Must be in ISO-8601 date/time format.", "required": false, "type": "string", "format": "date-time" @@ -2660,11 +2688,15 @@ } }, "403": { - "description": "Indicates that access to the resource is forbidden. Possible reasons include `Access Denied`, `Unauthorized`, `Expired Token`, or `Invalid Signature`.", + "description": "Indicates that access to the resource is forbidden. Possible reasons include Access Denied, Unauthorized, Expired Token, or Invalid Signature.", "schema": { "$ref": "#/definitions/GetPurchaseOrdersStatusResponse" }, "headers": { + "x-amzn-RateLimit-Limit": { + "type": "string", + "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." + }, "x-amzn-RequestId": { "type": "string", "description": "Unique request reference identifier." @@ -2693,6 +2725,10 @@ "$ref": "#/definitions/GetPurchaseOrdersStatusResponse" }, "headers": { + "x-amzn-RateLimit-Limit": { + "type": "string", + "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." + }, "x-amzn-RequestId": { "type": "string", "description": "Unique request reference identifier." @@ -2705,6 +2741,10 @@ "$ref": "#/definitions/GetPurchaseOrdersStatusResponse" }, "headers": { + "x-amzn-RateLimit-Limit": { + "type": "string", + "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." + }, "x-amzn-RequestId": { "type": "string", "description": "Unique request reference identifier." @@ -2717,6 +2757,10 @@ "$ref": "#/definitions/GetPurchaseOrdersStatusResponse" }, "headers": { + "x-amzn-RateLimit-Limit": { + "type": "string", + "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." + }, "x-amzn-RequestId": { "type": "string", "description": "Unique request reference identifier." @@ -2729,6 +2773,10 @@ "$ref": "#/definitions/GetPurchaseOrdersStatusResponse" }, "headers": { + "x-amzn-RateLimit-Limit": { + "type": "string", + "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." + }, "x-amzn-RequestId": { "type": "string", "description": "Unique request reference identifier." @@ -2751,7 +2799,7 @@ "$ref": "#/definitions/ErrorList" } }, - "description": "The response schema for the `getPurchaseOrders` operation." + "description": "The response schema for the getPurchaseOrders operation." }, "GetPurchaseOrderResponse": { "type": "object", @@ -2764,7 +2812,7 @@ "$ref": "#/definitions/ErrorList" } }, - "description": "The response schema for the `getPurchaseOrder` operation." + "description": "The response schema for the getPurchaseOrder operation." }, "OrderList": { "type": "object", @@ -2776,21 +2824,18 @@ "type": "array", "items": { "$ref": "#/definitions/Order" - }, - "description": "Represents an individual order within the `OrderList`." + } } - }, - "description": "A list of orders returned as response." + } }, "Pagination": { "type": "object", "properties": { "nextToken": { "type": "string", - "description": "A generated string used to pass information to your next request. If `NextToken` is returned, pass the value of `NextToken` to the next request. If `NextToken` is not returned, there are no more purchase order items to return." + "description": "A generated string used to pass information to your next request. If NextToken is returned, pass the value of NextToken to the next request. If NextToken is not returned, there are no more purchase order items to return." } - }, - "description": "The pagination elements required to retrieve the remaining data." + } }, "Order": { "type": "object", @@ -2814,11 +2859,11 @@ "x-docgen-enum-table-extension": [ { "value": "New", - "description": "The purchase order is newly created and needs to be acknowledged by the vendor." + "description": "The purchase order is newly created and needs to be acknowledged by vendor." }, { "value": "Acknowledged", - "description": "The purchase order has been acknowledged by the vendor." + "description": "The purchase order has been acknowledged by vendor." }, { "value": "Closed", @@ -2830,8 +2875,7 @@ "description": "Details of an order.", "$ref": "#/definitions/OrderDetails" } - }, - "description": "Represents an order placed by Amazon, including the purchase order number, current state, and order details." + } }, "OrderDetails": { "type": "object", @@ -2844,17 +2888,17 @@ "purchaseOrderDate": { "type": "string", "format": "date-time", - "description": "The date the purchase order was placed. Must be in ISO 8601 date/time format." + "description": "The date the purchase order was placed. Must be in ISO-8601 date/time format." }, "purchaseOrderChangedDate": { "type": "string", "format": "date-time", - "description": "The date when purchase order was last changed by Amazon after the order was placed. This date will be greater than 'purchaseOrderDate'. This means the PO data was changed on that date and vendors are required to fulfill the updated PO. The PO changes can be related to Item Quantity, Ship to Location, Ship Window etc. This field will not be present in orders that have not changed after creation. Must be in ISO 8601 date/time format." + "description": "The date when purchase order was last changed by Amazon after the order was placed. This date will be greater than 'purchaseOrderDate'. This means the PO data was changed on that date and vendors are required to fulfill the updated PO. The PO changes can be related to Item Quantity, Ship to Location, Ship Window etc. This field will not be present in orders that have not changed after creation. Must be in ISO-8601 date/time format." }, "purchaseOrderStateChangedDate": { "type": "string", "format": "date-time", - "description": "The date when current purchase order state was changed. Current purchase order state is available in the field 'purchaseOrderState'. Must be in ISO 8601 date/time format." + "description": "The date when current purchase order state was changed. Current purchase order state is available in the field 'purchaseOrderState'. Must be in ISO-8601 date/time format." }, "purchaseOrderType": { "type": "string", @@ -3060,12 +3104,12 @@ }, "portOfDelivery": { "type": "string", - "description": "The port where goods on an import purchase order must be delivered by the vendor. This should only be specified when the `internationalCommercialTerms` is `FOB`.", + "description": "The port where goods on an import purchase order must be delivered by the vendor. This should only be specified when the internationalCommercialTerms is FOB.", "maxLength": 64 }, "importContainers": { "type": "string", - "description": "Types and numbers of container(s) for import purchase orders. Can be a comma-separated list if the shipment has multiple containers. HC signifies a high-capacity container. Free-text field, limited to 64 characters. The format will be a comma-delimited list containing values of the type: `$NUMBER_OF_CONTAINERS_OF_THIS_TYPE-$CONTAINER_TYPE`. The list of values for the container type is: `40'`(40-foot container), `40'HC` (40-foot high-capacity container), `45'`, `45'HC`, `30'`, `30'HC`, `20'`, `20'HC`.", + "description": "Types and numbers of container(s) for import purchase orders. Can be a comma-separated list if the shipment has multiple containers. HC signifies a high-capacity container. Free-text field, limited to 64 characters. The format will be a comma-delimited list containing values of the type: $NUMBER_OF_CONTAINERS_OF_THIS_TYPE-$CONTAINER_TYPE. The list of values for the container type is: 40'(40-foot container), 40'HC (40-foot high-capacity container), 45', 45'HC, 30', 30'HC, 20', 20'HC.", "maxLength": 64 }, "shippingInstructions": { @@ -3077,11 +3121,10 @@ }, "DateTimeInterval": { "type": "string", - "description": "Defines a date time interval according to ISO 8601. Interval is separated by double hyphen (--)." + "description": "Defines a date time interval according to ISO8601. Interval is separated by double hyphen (--)." }, "PartyIdentification": { "type": "object", - "description": "Name, address and tax details of a party.", "required": [ "partyId" ], @@ -3127,7 +3170,7 @@ }, "taxRegistrationNumber": { "type": "string", - "description": "Tax registration number for the entity. For example, `VAT ID`." + "description": "Tax registration number for the entity. For example, VAT ID." } }, "description": "Tax registration details of the entity." @@ -3174,7 +3217,7 @@ }, "postalCode": { "type": "string", - "description": "The postal code of that address. It contains a series of letters or digits or both, sometimes including spaces or punctuation." + "description": "The postal code of that address. It conatins a series of letters or digits or both, sometimes including spaces or punctuation." }, "countryCode": { "type": "string", @@ -3217,15 +3260,14 @@ "description": "When true, we will accept backorder confirmations for this item." }, "netCost": { - "description": "The price to Amazon each (cost).", + "description": "The net cost of an item per each or weight unit.", "$ref": "#/definitions/Money" }, "listPrice": { - "description": "The price to Amazon each (list).", + "description": "The list price of an item per each or weight unit.", "$ref": "#/definitions/Money" } - }, - "description": "Represents an individual item in an order, including item details, quantities, pricing, and backorder information." + } }, "Money": { "type": "object", @@ -3237,9 +3279,37 @@ }, "amount": { "$ref": "#/definitions/Decimal" + }, + "unitOfMeasure": { + "type": "string", + "description": "The unit of measure for prices of items sold by weight. If this field is absent, the item is sold by eaches.", + "enum": [ + "POUNDS", + "OUNCES", + "GRAMS", + "KILOGRAMS" + ], + "x-docgen-enum-table-extension": [ + { + "value": "POUNDS", + "description": "Priced per Pound." + }, + { + "value": "OUNCES", + "description": "Priced per Ounce." + }, + { + "value": "GRAMS", + "description": "Priced per Gram." + }, + { + "value": "KILOGRAMS", + "description": "Priced per Kilogram." + } + ] } }, - "description": "An amount of money, including units in the form of currency." + "description": "An amount of money. Includes the currency code and an optional unit of measure for items priced by weight." }, "Decimal": { "type": "string", @@ -3249,14 +3319,14 @@ "type": "object", "properties": { "payload": { - "description": "The payload for the `submitAcknowledgement` operation.", + "description": "The payload for the submitAcknowledgement operation.", "$ref": "#/definitions/TransactionId" }, "errors": { "$ref": "#/definitions/ErrorList" } }, - "description": "The response schema for the `submitAcknowledgement` operation" + "description": "The response schema for the submitAcknowledgement operation" }, "TransactionId": { "type": "object", @@ -3265,8 +3335,7 @@ "type": "string", "description": "GUID assigned by Amazon to identify this transaction. This value can be used with the Transaction Status API to return the status of this transaction." } - }, - "description": "Response containing the transaction ID." + } }, "ErrorList": { "type": "array", @@ -3282,11 +3351,10 @@ "type": "array", "items": { "$ref": "#/definitions/OrderAcknowledgement" - }, - "description": "An array of order acknowledgements to be submitted." + } } }, - "description": "The request schema for the `submitAcknowledgment` operation." + "description": "The request schema for the submitAcknowledgment operation." }, "OrderAcknowledgement": { "type": "object", @@ -3308,7 +3376,7 @@ "acknowledgementDate": { "type": "string", "format": "date-time", - "description": "The date and time when the purchase order is acknowledged, in ISO 8601 date/time format." + "description": "The date and time when the purchase order is acknowledged, in ISO-8601 date/time format." }, "items": { "type": "array", @@ -3317,8 +3385,7 @@ "$ref": "#/definitions/OrderAcknowledgementItem" } } - }, - "description": "Represents an acknowledgement for an order, including the purchase order number, selling party details, acknowledgement date, and a list of acknowledged items." + } }, "OrderAcknowledgementItem": { "type": "object", @@ -3344,11 +3411,11 @@ "$ref": "#/definitions/ItemQuantity" }, "netCost": { - "description": "The cost to Amazon, which should match the cost on the invoice. This is a required field. If this is left blank the file will reject in Amazon systems. Price information should not be zero or negative. Indicates a net unit price.", + "description": "The net cost of an item per each or weight unit that must match the cost on the invoice. This is a required field. If left blank, Amazon systems will reject the file. Price information must not be zero or negative.", "$ref": "#/definitions/Money" }, "listPrice": { - "description": "The list price. This is required only if a vendor sells books with a list price.", + "description": "The list price of an item per each or weight unit. Required only if a vendor sells books at list price.", "$ref": "#/definitions/Money" }, "discountMultiplier": { @@ -3387,7 +3454,7 @@ }, { "value": "Backordered", - "description": "Vendor placed a backorder to fulfill the original order and provides a `scheduledShipDate` or `scheduledDeliveryDate` which is different than the `expectedShipDate` or `expectedDeliveryDate` provided in the purchase order." + "description": "Vendor placed a backorder to fulfill the original order and provides a scheduledShipDate or scheduledDeliveryDate which is different than the expectedShipDate or expectedDeliveryDate provided in the purchase order." }, { "value": "Rejected", @@ -3402,12 +3469,12 @@ "scheduledShipDate": { "type": "string", "format": "date-time", - "description": "Estimated ship date per line item. Must be in ISO 8601 date/time format." + "description": "Estimated ship date per line item. Must be in ISO-8601 date/time format." }, "scheduledDeliveryDate": { "type": "string", "format": "date-time", - "description": "Estimated delivery date per line item. Must be in ISO 8601 date/time format." + "description": "Estimated delivery date per line item. Must be in ISO-8601 date/time format." }, "rejectionReason": { "type": "string", @@ -3432,8 +3499,7 @@ } ] } - }, - "description": "Represents the acknowledgement details for an individual order item, including the acknowledgement code, acknowledged quantity, scheduled ship and delivery dates, and rejection reason (if applicable)." + } }, "ItemQuantity": { "type": "object", @@ -3478,7 +3544,7 @@ "$ref": "#/definitions/ErrorList" } }, - "description": "The response schema for the `getPurchaseOrdersStatus` operation." + "description": "The response schema for the getPurchaseOrdersStatus operation." }, "OrderListStatus": { "type": "object", @@ -3490,11 +3556,9 @@ "type": "array", "items": { "$ref": "#/definitions/OrderStatus" - }, - "description": "Represents an order status within the `OrderListStatus`." + } } - }, - "description": "A list of order statuses." + } }, "OrderStatus": { "type": "object", @@ -3532,12 +3596,12 @@ "purchaseOrderDate": { "type": "string", "format": "date-time", - "description": "The date the purchase order was placed. Must be in ISO 8601 date/time format." + "description": "The date the purchase order was placed. Must be in ISO-8601 date/time format." }, "lastUpdatedDate": { "type": "string", "format": "date-time", - "description": "The date when the purchase order was last updated. Must be in ISO 8601 date/time format." + "description": "The date when the purchase order was last updated. Must be in ISO-8601 date/time format." }, "sellingParty": { "description": "Name/Address and tax details of the selling party.", @@ -3580,11 +3644,11 @@ "description": "The vendor selected product identification of the item." }, "netCost": { - "description": "The net cost to Amazon each (cost).", + "description": "The net cost of an item per each or weight unit.", "$ref": "#/definitions/Money" }, "listPrice": { - "description": "The list Price to Amazon each (list).", + "description": "The list price of an item per each or weight unit.", "$ref": "#/definitions/Money" }, "orderedQuantity": { @@ -3687,12 +3751,11 @@ "lastReceiveDate": { "type": "string", "format": "date-time", - "description": "The date when the most recent item was received at the buyer's warehouse. Must be in ISO 8601 date/time format." + "description": "The date when the most recent item was received at the buyer's warehouse. Must be in ISO-8601 date/time format." } } } - }, - "description": "Represents the current status of an order item, including acknowledgement and receiving details." + } }, "OrderedQuantityDetails": { "type": "object", @@ -3700,7 +3763,7 @@ "updatedDate": { "type": "string", "format": "date-time", - "description": "The date when the line item quantity was updated by the buyer. Must be in ISO 8601 date/time format." + "description": "The date when the line item quantity was updated by buyer. Must be in ISO-8601 date/time format." }, "orderedQuantity": { "description": "Item quantity ordered.", @@ -3711,7 +3774,7 @@ "$ref": "#/definitions/ItemQuantity" } }, - "description": "Details of the item quantity ordered." + "description": "Details of item quantity ordered" }, "AcknowledgementStatusDetails": { "type": "object", @@ -3719,18 +3782,18 @@ "acknowledgementDate": { "type": "string", "format": "date-time", - "description": "The date when the line item was confirmed by the vendor. Must be in ISO 8601 date/time format." + "description": "The date when the line item was confirmed by vendor. Must be in ISO-8601 date/time format." }, "acceptedQuantity": { - "description": "Item quantity accepted by the vendor to be shipped.", + "description": "Item quantity accepted by vendor to be shipped.", "$ref": "#/definitions/ItemQuantity" }, "rejectedQuantity": { - "description": "Item quantity rejected by the vendor.", + "description": "Item quantity rejected by vendor.", "$ref": "#/definitions/ItemQuantity" } }, - "description": "Details of the item quantity ordered" + "description": "Details of item quantity ordered" }, "Error": { "type": "object", From ac93ca41f23cb345cf5219e245979f1f64fe41cc Mon Sep 17 00:00:00 2001 From: Jack Evoniuk Date: Wed, 14 Aug 2024 14:20:03 -0700 Subject: [PATCH 272/340] Update Sellers API model --- models/sellers-api-model/sellers.json | 525 ++++++++++++++++++++++++-- 1 file changed, 497 insertions(+), 28 deletions(-) diff --git a/models/sellers-api-model/sellers.json b/models/sellers-api-model/sellers.json index e4698d982..09bf2aef1 100644 --- a/models/sellers-api-model/sellers.json +++ b/models/sellers-api-model/sellers.json @@ -1,7 +1,7 @@ { "swagger": "2.0", "info": { - "description": "The Selling Partner API for Sellers lets you retrieve information on behalf of sellers about their seller account, such as the marketplaces they participate in. Along with listing the marketplaces that a seller can sell in, the API also provides additional information about the marketplace such as the default language and the default currency. The API also provides seller-specific information such as whether the seller has suspended listings in that marketplace.", + "description": "The [Selling Partner API for Sellers](https://developer-docs.amazon.com/sp-api/docs/sellers-api-v1-reference) (Sellers API) provides essential information about seller accounts, such as:\n\n- The marketplaces a seller can list in\n- The default language and currency of a marketplace\n- Whether the seller has suspended listings\n\nRefer to the [Sellers API reference](https://developer-docs.amazon.com/sp-api/docs/sellers-api-v1-reference) for details about this API's operations, data types, and schemas.", "version": "v1", "title": "Selling Partner API for Sellers", "contact": { @@ -29,7 +29,7 @@ "tags": [ "sellers" ], - "description": "Returns a list of marketplaces that the seller submitting the request can sell in and information about the seller's participation in those marketplaces.\n\n**Usage Plan:**\n\n| Rate (requests per second) | Burst |\n| ---- | ---- |\n| 0.016 | 15 |\n\nThe `x-amzn-RateLimit-Limit` response header returns the usage plan rate limits that were applied to the requested operation, when available. The table above indicates the default rate and burst values for this operation. Selling partners whose business demands require higher throughput may see higher rate and burst values than those shown here. For more information, see [Usage Plans and Rate Limits in the Selling Partner API](https://developer-docs.amazon.com/sp-api/docs/usage-plans-and-rate-limits-in-the-sp-api).", + "description": "Returns a list of marketplaces where the seller can list items and information about the seller's participation in those marketplaces.\n\n**Usage Plan:**\n\n| Rate (requests per second) | Burst |\n| ---- | ---- |\n| 0.016 | 15 |\n\nThe `x-amzn-RateLimit-Limit` response header returns the usage plan rate limits that were applied to the requested operation, when available. The preceding table indicates the default rate and burst values for this operation. Selling partners whose business demands require higher throughput may have higher rate and burst values than those shown here. For more information, refer to [Usage Plans and Rate Limits in the Selling Partner API](https://developer-docs.amazon.com/sp-api/docs/usage-plans-and-rate-limits-in-the-sp-api).", "operationId": "getMarketplaceParticipations", "parameters": [], "responses": { @@ -63,7 +63,7 @@ }, "x-amzn-RequestId": { "type": "string", - "description": "unique request reference id." + "description": "Unique request reference identifier." } }, "x-amzn-api-sandbox": { @@ -78,9 +78,9 @@ "marketplace": { "id": "ATVPDKIKX0DER", "countryCode": "US", - "name": "Amazon.com", - "defaultCurrencyCode": "USD", - "defaultLanguageCode": "en_US", + "name": "Amazon.com", + "defaultCurrencyCode": "USD", + "defaultLanguageCode": "en_US", "domainName": "www.amazon.com" }, "participation": { @@ -106,7 +106,7 @@ }, "x-amzn-RequestId": { "type": "string", - "description": "Unique request reference id." + "description": "Unique request reference identifier." } } }, @@ -118,7 +118,7 @@ "headers": { "x-amzn-RequestId": { "type": "string", - "description": "Unique request reference id." + "description": "Unique request reference identifier." } } }, @@ -134,7 +134,7 @@ }, "x-amzn-RequestId": { "type": "string", - "description": "Unique request reference id." + "description": "Unique request reference identifier." } } }, @@ -150,7 +150,7 @@ }, "x-amzn-RequestId": { "type": "string", - "description": "Unique request reference id." + "description": "Unique request reference identifier." } } }, @@ -166,7 +166,7 @@ }, "x-amzn-RequestId": { "type": "string", - "description": "Unique request reference id." + "description": "Unique request reference identifier." } } }, @@ -182,7 +182,7 @@ }, "x-amzn-RequestId": { "type": "string", - "description": "Unique request reference id." + "description": "Unique request reference identifier." } } }, @@ -198,7 +198,7 @@ }, "x-amzn-RequestId": { "type": "string", - "description": "Unique request reference id." + "description": "Unique request reference identifier." } } }, @@ -214,7 +214,256 @@ }, "x-amzn-RequestId": { "type": "string", - "description": "Unique request reference id." + "description": "Unique request reference identifier." + } + } + } + } + } + }, + "/sellers/v1/account": { + "get": { + "tags": [ + "sellers" + ], + "description": "Returns information about a seller account and its marketplaces.\n\n**Usage Plan:**\n\n| Rate (requests per second) | Burst |\n| ---- | ---- |\n| 0.016 | 15 |\n\nThe `x-amzn-RateLimit-Limit` response header returns the usage plan rate limits that were applied to the requested operation, when available. The preceding table indicates the default rate and burst values for this operation. Selling partners whose business demands require higher throughput may have higher rate and burst values than those shown here. For more information, refer to [Usage Plans and Rate Limits in the Selling Partner API](https://developer-docs.amazon.com/sp-api/docs/usage-plans-and-rate-limits-in-the-sp-api).", + "operationId": "getAccount", + "parameters": [], + "responses": { + "200": { + "description": "Success.", + "schema": { + "$ref": "#/definitions/GetAccountResponse" + }, + "examples": { + "application/json": { + "payload": { + "businessType": "PRIVATE_LIMITED", + "marketplaceLevelAttributes": [ + { + "marketplace": { + "id": "ATVPDKIKX0DER", + "name": "United States", + "countryCode": "US", + "domainName": "www.amazon.com" + }, + "storeName": "BestSellerStore", + "listingStatus": "ACTIVE", + "sellingPlan": "PROFESSIONAL" + } + ], + "business": { + "name": "BestSeller Inc.", + "nonLatinName": "ベストセラー株式会社", + "registeredBusinessAddress": { + "addressLine1": "123 Main St", + "addressLine2": "Suite 500", + "city": "Seattle", + "stateOrProvinceCode": "WA", + "postalCode": "98101", + "countryCode": "US" + }, + "companyRegistrationNumber": "123456789" + }, + "primaryContact": { + "name": "John Doe", + "nonLatinName": "ジョン・ドゥ", + "address": { + "addressLine1": "456 Oak St", + "addressLine2": "Apt 12", + "city": "Seattle", + "stateOrProvinceCode": "WA", + "postalCode": "98102", + "countryCode": "US" + } + } + } + } + }, + "headers": { + "x-amzn-RateLimit-Limit": { + "type": "string", + "description": "Your rate limit (requests per second) for this operation." + }, + "x-amzn-RequestId": { + "type": "string", + "description": "Unique request reference identifier." + } + }, + "x-amzn-api-sandbox": { + "static": [ + { + "response": { + "payload": { + "marketplaceLevelAttributes": [ + { + "marketplace": { + "id": "ATVPDKIKX0DER", + "name": "United States", + "countryCode": "US", + "domainName": "www.amazon.com" + }, + "storeName": "BestSellerStore", + "listingStatus": "ACTIVE", + "sellingPlan": "PROFESSIONAL" + } + ], + "businessType": "SOLE_PROPRIETORSHIP", + "business": { + "name": "BestSeller Inc.", + "registeredBusinessAddress": { + "addressLine1": "123 Main St", + "addressLine2": "Suite 500", + "city": "Seattle", + "stateOrProvinceCode": "WA", + "postalCode": "98101", + "countryCode": "US" + }, + "companyTaxIdentificationNumber": "TAX123456" + }, + "primaryContact": { + "name": "John Doe", + "nonLatinName": "ジョン・ドゥ", + "address": { + "addressLine1": "456 Oak St", + "addressLine2": "Apt 12", + "city": "Seattle", + "stateOrProvinceCode": "WA", + "postalCode": "98102", + "countryCode": "US" + } + } + } + } + } + ] + } + }, + "400": { + "description": "Request has missing or invalid parameters and cannot be parsed.", + "schema": { + "$ref": "#/definitions/GetAccountResponse" + }, + "examples": { + "application/json": { + "errors": [ + { + "code": "400", + "message": "Validation failed for obfuscatedId:ACUULBDVZHYZ1" + } + ] + } + }, + "headers": { + "x-amzn-RateLimit-Limit": { + "type": "string", + "description": "Your rate limit (requests per second) for this operation." + }, + "x-amzn-RequestId": { + "type": "string", + "description": "Unique request reference identifier." + } + }, + "x-amzn-api-sandbox": { + "static": [ + { + "response": { + "errors": [ + { + "code": "400", + "message": "Validation failed for obfuscatedId:ACUULBDVZHYZ1" + } + ] + } + } + ] + } + }, + "403": { + "description": "Indicates that access to the resource is forbidden. Possible reasons include Access Denied, Unauthorized, Expired Token, or Invalid Signature.", + "schema": { + "$ref": "#/definitions/GetAccountResponse" + }, + "headers": { + "x-amzn-RequestId": { + "type": "string", + "description": "Unique request reference identifier." + } + } + }, + "404": { + "description": "The resource specified does not exist.", + "schema": { + "$ref": "#/definitions/GetAccountResponse" + }, + "headers": { + "x-amzn-RateLimit-Limit": { + "type": "string", + "description": "Your rate limit (requests per second) for this operation." + }, + "x-amzn-RequestId": { + "type": "string", + "description": "Unique request reference identifier." + } + } + }, + "413": { + "description": "The request size exceeded the maximum accepted size.", + "headers": { + "x-amzn-RequestId": { + "type": "string", + "description": "Unique request reference identifier." + } + }, + "schema": { + "$ref": "#/definitions/GetAccountResponse" + } + }, + "415": { + "description": "The request payload is in an unsupported format.", + "schema": { + "$ref": "#/definitions/GetAccountResponse" + }, + "headers": { + "x-amzn-RequestId": { + "type": "string", + "description": "Unique request reference identifier." + } + } + }, + "429": { + "description": "The frequency of requests was greater than allowed.", + "schema": { + "$ref": "#/definitions/GetAccountResponse" + }, + "headers": { + "x-amzn-RequestId": { + "type": "string", + "description": "Unique request reference identifier." + } + } + }, + "500": { + "description": "An unexpected condition occurred that prevented the server from fulfilling the request.", + "schema": { + "$ref": "#/definitions/GetAccountResponse" + }, + "headers": { + "x-amzn-RequestId": { + "type": "string", + "description": "Unique request reference identifier." + } + } + }, + "503": { + "description": "Temporary overloading or maintenance of the server.", + "schema": { + "$ref": "#/definitions/GetAccountResponse" + }, + "headers": { + "x-amzn-RequestId": { + "type": "string", + "description": "Unique request reference identifier." } } } @@ -232,7 +481,7 @@ "properties": { "code": { "type": "string", - "description": "An error code that identifies the type of error that occured." + "description": "An error code that identifies the type of error that occurred." }, "message": { "type": "string", @@ -240,7 +489,7 @@ }, "details": { "type": "string", - "description": "Additional details that can help the caller understand or fix the issue." + "description": "Additional details that can help you understand or fix the issue." } }, "description": "Error response returned when the request is unsuccessful." @@ -278,25 +527,25 @@ "type": "object", "properties": { "payload": { - "description": "The payload for the getMarketplaceParticipations operation.", + "description": "The payload for the `getMarketplaceParticipations` operation.", "$ref": "#/definitions/MarketplaceParticipationList" }, "errors": { - "description": "Encountered errors for the getMarketplaceParticipations operation.", + "description": "The errors encountered by the `getMarketplaceParticipations` operation.", "$ref": "#/definitions/ErrorList" } }, - "description": "The response schema for the getMarketplaceParticipations operation." + "description": "The response schema for the `getMarketplaceParticipations` operation." }, "Marketplace": { "type": "object", "required": [ + "id", + "name", "countryCode", "defaultCurrencyCode", "defaultLanguageCode", - "domainName", - "id", - "name" + "domainName" ], "properties": { "id": { @@ -305,7 +554,7 @@ }, "name": { "type": "string", - "description": "Marketplace name." + "description": "The marketplace name." }, "countryCode": { "type": "string", @@ -325,7 +574,7 @@ "description": "The domain name of the marketplace." } }, - "description": "Detailed information about an Amazon market where a seller can list items for sale and customers can view and purchase items." + "description": "Information about an Amazon marketplace where a seller can list items and customers can view and purchase items." }, "Participation": { "type": "object", @@ -335,14 +584,234 @@ ], "properties": { "isParticipating": { - "type": "boolean" + "type": "boolean", + "description": "If `true`, the seller participates in the marketplace. Otherwise `false`." }, "hasSuspendedListings": { "type": "boolean", - "description": "Specifies if the seller has suspended listings. True if the seller Listing Status is set to Inactive, otherwise False." + "description": "Specifies if the seller has suspended listings. `true` if the seller Listing Status is set to Inactive, otherwise `false`." + } + }, + "description": "Information that is specific to a seller in a marketplace." + }, + "GetAccountResponse": { + "description": "The response schema for the `getAccount` operation.", + "type": "object", + "properties": { + "payload": { + "$ref": "#/definitions/Account" + }, + "errors": { + "description": "The errors encountered by the `getAccount` operation.", + "$ref": "#/definitions/ErrorList" + } + } + }, + "MarketplaceLevelAttributes": { + "type": "object", + "required": [ + "marketplace", + "storeName", + "listingStatus", + "sellingPlan" + ], + "properties": { + "marketplace": { + "$ref": "#/definitions/Marketplace" + }, + "storeName": { + "type": "string", + "description": "The name of the seller's store as displayed in the marketplace." + }, + "listingStatus": { + "type": "string", + "description": "The current status of the seller's listings.", + "enum": ["ACTIVE", "INACTIVE"], + "x-docgen-enum-table-extension": [ + { + "value": "ACTIVE", + "description": "The seller's listings are currently active." + }, + { + "value": "INACTIVE", + "description": "The seller's listings are currently inactive." + } + ] + }, + "sellingPlan": { + "type": "string", + "description": "The selling plan details.", + "enum": ["PROFESSIONAL", "INDIVIDUAL"], + "x-docgen-enum-table-extension": [ + { + "value": "PROFESSIONAL", + "description": "The seller has a professional selling plan." + }, + { + "value": "INDIVIDUAL", + "description": "The seller has an individual selling plan." + } + ] } }, - "description": "Detailed information that is specific to a seller in a Marketplace." + "description": "Attributes that define the seller's presence and status within a specific marketplace. These attributes include the marketplace details, store name, listing status, and the selling plan the seller is subscribed to." + }, + "Account": { + "description": "The response schema for the `getAccount` operation.", + "type": "object", + "required": [ + "businessType", + "marketplaceLevelAttributes" + ], + "properties": { + "marketplaceLevelAttributes": { + "type": "array", + "description": "A list of details of the marketplaces where the seller account is active.", + "items": { + "$ref": "#/definitions/MarketplaceLevelAttributes" + } + }, + "businessType": { + "type": "string", + "description": "The type of business registered for the seller account.", + "enum": [ + "CHARITY", + "CRAFTSMAN", + "NATURAL_PERSON_COMPANY", + "PUBLIC_LISTED", + "PRIVATE_LIMITED", + "SOLE_PROPRIETORSHIP", + "STATE_OWNED", + "INDIVIDUAL" + ], + "x-docgen-enum-table-extension": [ + { + "value": "CHARITY", + "description": "The business is registered as a charity." + }, + { + "value": "CRAFTSMAN", + "description": "The business is registered as a craftsman." + }, + { + "value": "NATURAL_PERSON_COMPANY", + "description": "The business is a natural person company." + }, + { + "value": "PUBLIC_LISTED", + "description": "The business is a publicly listed company." + }, + { + "value": "PRIVATE_LIMITED", + "description": "The business is a private limited company." + }, + { + "value": "SOLE_PROPRIETORSHIP", + "description": "The business is a sole proprietorship." + }, + { + "value": "STATE_OWNED", + "description": "The business is state-owned." + }, + { + "value": "INDIVIDUAL", + "description": "The entity is not a business but an individual." + } + ] + }, + "business": { + "$ref": "#/definitions/Business" + }, + "primaryContact": { + "$ref": "#/definitions/PrimaryContact" + } + } + }, + "Business": { + "type": "object", + "description": "Information about the seller's business. Certain fields may be omitted depending on the seller's `businessType`.", + "required": [ + "name", + "registeredBusinessAddress" + ], + "properties": { + "name": { + "type": "string", + "description": "The registered business name." + }, + "registeredBusinessAddress": { + "$ref": "#/definitions/Address", + "description": "The registered business address." + }, + "companyRegistrationNumber": { + "type": "string", + "description": "The seller's company registration number, if applicable. This field will be absent for individual sellers and sole proprietorships." + }, + "companyTaxIdentificationNumber": { + "type": "string", + "description": "The seller's company tax identification number, if applicable. This field will be present for certain business types only, such as sole proprietorships." + }, + "nonLatinName": { + "type": "string", + "description": "The non-Latin script version of the registered business name, if applicable." + } + } + }, + "Address": { + "type": "object", + "description": "Represents an address", + "required": [ + "addressLine1", + "countryCode" + ], + "properties": { + "addressLine1": { + "type": "string", + "description": "Street address information." + }, + "addressLine2": { + "type": "string", + "description": "Additional street address information." + }, + "countryCode": { + "type": "string", + "description": "The country code in two-character ISO 3166-1 alpha-2 format." + }, + "stateOrProvinceCode": { + "type": "string", + "description": "The state or province code." + }, + "city": { + "type": "string", + "description": "The city." + }, + "postalCode": { + "type": "string", + "description": "The postal code." + } + } + }, + "PrimaryContact": { + "type": "object", + "description": "Information about the seller's primary contact.", + "required": [ + "name", + "address" + ], + "properties": { + "name": { + "type": "string", + "description": "The full name of the seller's primary contact." + }, + "address": { + "$ref": "#/definitions/Address", + "description": "The primary contact's residential address." + }, + "nonLatinName": { + "type": "string", + "description": "The non-Latin script version of the primary contact's name, if applicable." + } + } } } -} \ No newline at end of file +} From fa56b11ba808cda12a82cb11974716239068cb33 Mon Sep 17 00:00:00 2001 From: Jack Evoniuk Date: Wed, 14 Aug 2024 14:32:42 -0700 Subject: [PATCH 273/340] Update AWD model --- .../awd_2024-05-09.json | 5533 +++++++++++++++-- 1 file changed, 5096 insertions(+), 437 deletions(-) diff --git a/models/amazon-warehousing-and-distribution-model/awd_2024-05-09.json b/models/amazon-warehousing-and-distribution-model/awd_2024-05-09.json index 5b97d73f2..5e2a114bb 100644 --- a/models/amazon-warehousing-and-distribution-model/awd_2024-05-09.json +++ b/models/amazon-warehousing-and-distribution-model/awd_2024-05-09.json @@ -1,9 +1,9 @@ { "swagger": "2.0", "info": { - "title": "The Selling Partner API for AWD", + "title": "The Selling Partner API for Amazon Warehousing and Distribution", "version": "2024-05-09", - "description": "The Selling Partner API for Amazon Warehousing and Distribution (AWD).", + "description": "The Selling Partner API for Amazon Warehousing and Distribution (AWD) provides programmatic access to information about AWD shipments and inventory. ", "contact": { "name": "Selling Partner API Developer Support", "url": "https://sellercentral.amazon.com/gp/mws/contactus.html" @@ -24,24 +24,313 @@ "application/json" ], "paths": { - "/awd/2024-05-09/inboundShipments/{shipmentId}": { + "/awd/2024-05-09/inboundOrders": { + "post": { + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "parameters": [ + { + "description": "Payload for creating an inbound order.", + "in": "body", + "name": "body", + "required": true, + "schema": { + "$ref": "#/definitions/InboundOrderCreationData" + } + } + ], + "responses": { + "201": { + "description": "`createInbound` 201 response.", + "headers": { + "Location": { + "description": "Location header with the order ID for the newly created inbound order.", + "type": "string" + }, + "x-amzn-RateLimit-Limit": { + "description": "Your rate limit (requests per second) for this operation.", + "type": "string" + }, + "x-amzn-RequestId": { + "description": "Unique request reference identifier.", + "type": "string" + } + }, + "schema": { + "$ref": "#/definitions/InboundOrderReference" + }, + "x-amzn-api-sandbox": { + "static": [ + { + "request": { + "parameters": { + "body": { + "value": { + "externalReferenceId": "string", + "originAddress": { + "addressLine1": "address_1", + "addressLine2": "address_2", + "addressLine3": "address_3", + "city": "City1", + "countryCode": "CC", + "district": "District1", + "name": "address_name", + "postalCode": "123456", + "stateOrRegion": "State1" + }, + "packagesToInbound": [ + { + "count": 1, + "distributionPackage": { + "contents": { + "products": [ + { + "quantity": 1, + "sku": "testPen" + } + ] + }, + "measurements": { + "dimensions": { + "height": 1, + "length": 1, + "unitOfMeasurement": "INCHES", + "width": 1 + }, + "volume": { + "unitOfMeasurement": "CUIN", + "volume": 1 + }, + "weight": { + "unitOfMeasurement": "POUNDS", + "weight": 1 + } + }, + "type": "CASE" + } + } + ], + "shipBy": "2023-06-07T12:12:09.061Z", + "transportationPreference": "SELLER_MANAGED" + } + } + } + }, + "response": { + "orderId": "TestOrderId", + "orderVersion": "1" + }, + "responseHeaders": { + "Location": { + "value": "TestOrderId" + } + } + } + ] + } + }, + "400": { + "description": "Request has missing or invalid parameters and cannot be parsed.", + "headers": { + "x-amzn-RateLimit-Limit": { + "description": "Your rate limit (requests per second) for this operation.", + "type": "string" + }, + "x-amzn-RequestId": { + "description": "Unique request reference identifier.", + "type": "string" + } + }, + "schema": { + "$ref": "#/definitions/ErrorList" + }, + "x-amzn-api-sandbox": { + "static": [ + { + "request": { + "parameters": { + "body": { + "value": { + "externalReferenceId": "string", + "originAddress": { + "addressLine1": "address_1", + "addressLine2": "address_2", + "addressLine3": "address_3", + "city": "City1", + "countryCode": "CC", + "district": "District1", + "name": "address_name", + "postalCode": "123456", + "stateOrRegion": "State1" + }, + "packagesToInbound": [ + { + "count": 1, + "distributionPackage": { + "contents": { + "products": [ + { + "quantity": 1, + "sku": "testPen" + } + ] + }, + "measurements": { + "dimensions": { + "height": 1, + "length": 1, + "unitOfMeasurement": "INCHES", + "width": 1 + }, + "volume": { + "unitOfMeasurement": "CUIN", + "volume": 1 + }, + "weight": { + "unitOfMeasurement": "POUNDS", + "weight": 1 + } + }, + "type": "CASE" + } + } + ], + "shipBy": "2023-06-07T12:12:09.061Z", + "transportationPreference": "AMAZON_MANAGED" + } + } + } + }, + "response": { + "errors": [ + { + "code": "UNSUPPORTED_TRANSPORTATION_PREFERENCE", + "details": "This exception is thrown when client inputs are invalid", + "message": "Currently only SELLER_MANAGED transportation preference is supported" + } + ] + } + } + ] + } + }, + "403": { + "description": "Indicates that access to the resource is forbidden. Possible reasons include Access Denied, Unauthorized, Expired Token, or Invalid Signature.", + "headers": { + "x-amzn-RequestId": { + "description": "Unique request reference identifier.", + "type": "string" + } + }, + "schema": { + "$ref": "#/definitions/ErrorList" + } + }, + "404": { + "description": "The resource specified does not exist.", + "headers": { + "x-amzn-RateLimit-Limit": { + "description": "Your rate limit (requests per second) for this operation.", + "type": "string" + }, + "x-amzn-RequestId": { + "description": "Unique request reference identifier.", + "type": "string" + } + }, + "schema": { + "$ref": "#/definitions/ErrorList" + } + }, + "413": { + "description": "The request size exceeded the maximum accepted size.", + "headers": { + "x-amzn-RequestId": { + "description": "Unique request reference identifier.", + "type": "string" + } + }, + "schema": { + "$ref": "#/definitions/ErrorList" + } + }, + "415": { + "description": "The request payload is in an unsupported format.", + "headers": { + "x-amzn-RequestId": { + "description": "Unique request reference identifier.", + "type": "string" + } + }, + "schema": { + "$ref": "#/definitions/ErrorList" + } + }, + "429": { + "description": "The frequency of requests was greater than allowed.", + "headers": { + "x-amzn-RequestId": { + "description": "Unique request reference identifier.", + "type": "string" + } + }, + "schema": { + "$ref": "#/definitions/ErrorList" + } + }, + "500": { + "description": "An unexpected condition occurred that prevented the server from fulfilling the request.", + "headers": { + "x-amzn-RequestId": { + "description": "Unique request reference identifier.", + "type": "string" + } + }, + "schema": { + "$ref": "#/definitions/ErrorList" + } + }, + "503": { + "description": "Temporary overloading or maintenance of the server.", + "headers": { + "x-amzn-RequestId": { + "description": "Unique request reference identifier.", + "type": "string" + } + }, + "schema": { + "$ref": "#/definitions/ErrorList" + } + } + }, + "tags": [ + "awd" + ], + "description": "Creates a draft AWD inbound order with given packages to inbound. Currently only a single shipment will be created per order.\n\n**Usage Plan:**\n\n| Rate (requests per second) | Burst |\n| ---- | ---- |\n| 1 | 1 |\n\nThe `x-amzn-RateLimit-Limit` response header returns the usage plan rate limits that were applied to the requested operation, when available. The table above indicates the default rate and burst values for this operation. Selling partners whose business demands require higher throughput may see higher rate and burst values than those shown here. For more information, refer to [Usage Plans and Rate Limits in the Selling Partner API](https://developer-docs.amazon.com/sp-api/docs/usage-plans-and-rate-limits-in-the-sp-api).", + "operationId": "createInbound" + } + }, + "/awd/2024-05-09/inboundOrders/{orderId}": { "get": { "produces": [ "application/json" ], "parameters": [ { - "description": "ID for the shipment. A shipment contains the cases being inbounded.", + "description": "ID for the inbound order to be retrieved.", "in": "path", - "minLength": 1, - "name": "shipmentId", + "name": "orderId", "required": true, "type": "string" } ], "responses": { "200": { - "description": "The 200 response for `getInboundShipment`.", + "description": "The 200 response for `getInbound`.", "headers": { "x-amzn-RateLimit-Limit": { "description": "Your rate limit (requests per second) for this operation.", @@ -53,80 +342,131 @@ } }, "schema": { - "$ref": "#/definitions/InboundShipment" + "$ref": "#/definitions/InboundOrder" }, "x-amzn-api-sandbox": { "static": [ { "request": { "parameters": { - "shipmentId": { - "value": "TestShipmentId" + "orderId": { + "value": "TestOrderId" } } }, "response": { + "channelPlacedInboundShipments": [ + { + "destinationAddress": { + "addressLine1": "address_1", + "addressLine2": "address_2", + "addressLine3": "address_3", + "city": "Seattle", + "countryCode": "US", + "county": "Washington", + "district": "District1", + "name": "address_name", + "phoneNumber": "+14155552671", + "postalCode": "123456", + "stateOrRegion": "Washington" + }, + "orderId": "TestOrderId", + "originAddress": { + "addressLine1": "address_1", + "addressLine2": "address_2", + "addressLine3": "address_3", + "city": "Seattle", + "countryCode": "US", + "county": "Washington", + "district": "District1", + "name": "address_name", + "phoneNumber": "+14155552671", + "postalCode": "123456", + "stateOrRegion": "Washington" + }, + "receivedQuantity": [], + "shipmentContainerQuantities": [ + { + "count": 1, + "distributionPackage": { + "contents": { + "packages": [], + "products": [ + { + "quantity": 1, + "sku": "testPen" + } + ] + }, + "measurements": { + "dimensions": { + "height": 2.54, + "length": 2.54, + "unitOfMeasurement": "CENTIMETERS", + "width": 2.54 + }, + "weight": { + "unitOfMeasurement": "KILOGRAMS", + "weight": 0.453592 + } + }, + "type": "CASE" + } + } + ], + "shipmentId": "TestShipmentId", + "shipmentStatus": "CREATED" + } + ], "createdAt": "2023-06-07T12:12:09.061Z", - "destinationAddress": { - "addressLine1": "address_line_1", - "addressLine2": "address_line_2", - "addressLine3": "address_line_3", - "city": "City1", - "countryCode": "CC", - "district": "District1", - "name": "DestinationName", - "postalCode": "123456", - "stateOrRegion": "State1" - }, + "externalReferenceId": "TestReferenceId", "orderId": "TestOrderId", + "orderStatus": "DRAFT", + "orderVersion": "2", "originAddress": { "addressLine1": "address_1", "addressLine2": "address_2", "addressLine3": "address_3", - "city": "City1", - "countryCode": "CC", + "city": "Seattle", + "countryCode": "US", + "county": "Washington", "district": "District1", "name": "address_name", + "phoneNumber": "+14155552671", "postalCode": "123456", - "stateOrRegion": "State1" + "stateOrRegion": "Washington" }, - "receivedQuantity": [ - { - "quantity": 0, - "unitOfMeasurement": "CASES" - } - ], - "shipmentContainerQuantities": [ + "packagesToInbound": [ { - "count": 2, + "count": 1, "distributionPackage": { "contents": { "packages": [], "products": [ { - "quantity": 20, + "quantity": 1, "sku": "testPen" } ] }, "measurements": { "dimensions": { - "height": 33.02, - "length": 45.72, + "height": 2.54, + "length": 2.54, "unitOfMeasurement": "CENTIMETERS", - "width": 15.24 + "width": 2.54 }, "weight": { "unitOfMeasurement": "KILOGRAMS", - "weight": 5.443104 + "weight": 0.453592 } }, "type": "CASE" } } ], - "shipmentId": "TestShipmentId", - "shipmentStatus": "CREATED", + "shipBy": "2023-06-07T12:12:09.061Z", + "transportationPreference": "SELLER_MANAGED", "updatedAt": "2023-06-07T12:12:09.061Z" } } @@ -153,7 +493,7 @@ { "request": { "parameters": { - "shipmentId": { + "orderId": { "value": " " } } @@ -163,7 +503,7 @@ { "code": "BAD_REQUEST", "details": "This exception is thrown when client inputs are invalid", - "message": "ShipmentId should be present for this request" + "message": "OrderId should be present for this request" } ] } @@ -263,141 +603,37 @@ "tags": [ "awd" ], - "description": "Retrieves an AWD inbound shipment.\n\n**Usage Plan:**\n\n| Rate (requests per second) | Burst |\n| ---- | ---- |\n| 2 | 2 |\n\nThe `x-amzn-RateLimit-Limit` response header returns the usage plan rate limits that were applied to the requested operation, when available. The table above indicates the default rate and burst values for this operation. Selling partners whose business demands require higher throughput may see higher rate and burst values than those shown here. For more information, refer to [Usage Plans and Rate Limits in the Selling Partner API](https://developer-docs.amazon.com/sp-api/docs/usage-plans-and-rate-limits-in-the-sp-api)", - "operationId": "getInboundShipment" - } - }, - "/awd/2024-05-09/inboundShipments": { - "get": { + "description": "Retrieves an inbound AWD order for a set of shipments.\n\n**Usage Plan:**\n\n| Rate (requests per second) | Burst |\n| ---- | ---- |\n| 1 | 1 |\n\nThe `x-amzn-RateLimit-Limit` response header returns the usage plan rate limits that were applied to the requested operation, when available. The table above indicates the default rate and burst values for this operation. Selling partners whose business demands require higher throughput may see higher rate and burst values than those shown here. For more information, refer to [Usage Plans and Rate Limits in the Selling Partner API](https://developer-docs.amazon.com/sp-api/docs/usage-plans-and-rate-limits-in-the-sp-api).", + "operationId": "getInbound" + }, + "put": { + "consumes": [ + "application/json" + ], "produces": [ "application/json" ], "parameters": [ { - "description": "Field to sort results by. Required if `sortOrder` is provided.", - "enum": [ - "UPDATED_AT", - "CREATED_AT" - ], - "in": "query", - "name": "sortBy", - "type": "string", - "x-docgen-enum-table-extension": [ - { - "description": "Sort by `Updated at`timestamp.", - "value": "UPDATED_AT" - }, - { - "description": "Sort by `Created at` timestamp.", - "value": "CREATED_AT" - } - ] + "description": "ID for the inbound order to be updated.", + "in": "path", + "name": "orderId", + "required": true, + "type": "string" }, { - "description": "Sort the response in `ASCENDING` or `DESCENDING` order.", - "enum": [ - "ASCENDING", - "DESCENDING" - ], - "in": "query", - "name": "sortOrder", - "type": "string", - "x-docgen-enum-table-extension": [ - { - "description": "Sorts the collection in ascending order.", - "value": "ASCENDING" - }, - { - "description": "Sorts the collection in descending order.", - "value": "DESCENDING" - } - ], - "x-example": "ASCENDING" - }, - { - "description": "Filter by inbound shipment status.", - "enum": [ - "CREATED", - "SHIPPED", - "IN_TRANSIT", - "RECEIVING", - "DELIVERED", - "CLOSED", - "CANCELLED" - ], - "in": "query", - "name": "shipmentStatus", - "type": "string", - "x-docgen-enum-table-extension": [ - { - "description": "Shipment is created, but hasn't shipped.", - "value": "CREATED" - }, - { - "description": "Shipment was picked up by the carrier or was dropped off with the carrier.", - "value": "SHIPPED" - }, - { - "description": "The carrier has notified AWD that the shipment is in transit between the origin and destination nodes.", - "value": "IN_TRANSIT" - }, - { - "description": "The shipment has been partially received.", - "value": "RECEIVING" - }, - { - "description": "The shipment has reached the destination node and has been delivered to the facility yard. The shipment `receive` process at the warehouse will start soon.", - "value": "DELIVERED" - }, - { - "description": "No more actions are required for the shipment. This is a final state.", - "value": "CLOSED" - }, - { - "description": "The shipment is cancelled. This is a final state.", - "value": "CANCELLED" - } - ], - "x-example": "CREATED" - }, - { - "description": "List the inbound shipments that were updated after a certain time (inclusive). The date must be in ISO 8601 format.", - "format": "date-time", - "in": "query", - "name": "updatedAfter", - "type": "string", - "x-example": "2023-01-12T10:00:00.000Z" - }, - { - "description": "List the inbound shipments that were updated before a certain time (inclusive). The date must be in ISO 8601 format.", - "format": "date-time", - "in": "query", - "name": "updatedBefore", - "type": "string", - "x-example": "2023-01-12T10:00:00.000Z" - }, - { - "default": 25, - "description": "Maximum number of results to return.", - "format": "int32", - "in": "query", - "maximum": 200, - "minimum": 1, - "name": "maxResults", - "type": "integer", - "x-example": "10" - }, - { - "description": "Token to retrieve the next set of paginated results.", - "in": "query", - "name": "nextToken", - "type": "string", - "x-example": "SampleToken" + "description": "Represents an AWD inbound order.", + "in": "body", + "name": "body", + "required": true, + "schema": { + "$ref": "#/definitions/InboundOrder" + } } ], "responses": { "200": { - "description": "The 200 response for `listInboundShipments`.", + "description": "The 200 response for `updateInbound`.", "headers": { "x-amzn-RateLimit-Limit": { "description": "Your rate limit (requests per second) for this operation.", @@ -409,22 +645,130 @@ } }, "schema": { - "$ref": "#/definitions/ShipmentListing" + "$ref": "#/definitions/InboundOrderReference" }, "x-amzn-api-sandbox": { "static": [ { "request": { - "parameters": {} + "parameters": { + "orderId": { + "value": "TestOrderId1" + }, + "body": { + "value": { + "channelPlacedInboundShipments": [ + { + "destinationAddress": { + "addressLine1": "address_1", + "addressLine2": "address_2", + "addressLine3": "address_3", + "city": "City1", + "countryCode": "CC", + "district": "District1", + "name": "DestinationName", + "postalCode": "123456", + "stateOrRegion": "State1" + }, + "orderId": "TestOrderId1", + "originAddress": { + "addressLine1": "address_1", + "addressLine2": "address_2", + "addressLine3": "address_3", + "city": "City1", + "countryCode": "CC", + "district": "District1", + "name": "DestinationName", + "postalCode": "123456", + "stateOrRegion": "State1" + }, + "receivedQuantity": [], + "shipmentContainerQuantities": [ + { + "count": 1, + "distributionPackage": { + "contents": { + "packages": [], + "products": [ + { + "quantity": 1, + "sku": "testPen" + } + ] + }, + "measurements": { + "dimensions": { + "height": 2.54, + "length": 2.54, + "unitOfMeasurement": "CENTIMETERS", + "width": 2.54 + }, + "weight": { + "unitOfMeasurement": "KILOGRAMS", + "weight": 0.453592 + } + }, + "type": "CASE" + } + } + ], + "shipmentId": "TestShipment1", + "shipmentStatus": "CREATED" + } + ], + "createdAt": "2023-06-07T12:12:09.061Z", + "orderId": "TestOrderId1", + "orderStatus": "DRAFT", + "orderVersion": "2", + "originAddress": { + "addressLine1": "address_1", + "addressLine2": "address_2", + "addressLine3": "address_3", + "city": "City1", + "countryCode": "CC", + "district": "District1", + "name": "DestinationName", + "postalCode": "123456", + "stateOrRegion": "State1" + }, + "packagesToInbound": [ + { + "count": 2, + "distributionPackage": { + "contents": { + "packages": [], + "products": [ + { + "quantity": 10, + "sku": "testPen" + } + ] + }, + "measurements": { + "dimensions": { + "height": 1, + "length": 1, + "unitOfMeasurement": "CENTIMETERS", + "width": 1 + }, + "weight": { + "unitOfMeasurement": "KILOGRAMS", + "weight": 1 + } + }, + "type": "CASE" + } + } + ], + "transportationPreference": "SELLER_MANAGED", + "updatedAt": "2023-06-07T12:12:09.061Z" + } + } + } }, "response": { - "shipments": [{ - "createdAt": "2023-06-07T12:12:09.061Z", - "orderId": "TestOrderId", - "shipmentId": "TestShipmentId", - "shipmentStatus": "CREATED", - "updatedAt": "2023-06-07T12:12:09.061Z" - }] + "orderId": "TestOrderId", + "orderVersion": "3" } } ] @@ -450,17 +794,126 @@ { "request": { "parameters": { - "sortBy": { - "value": "TEST" + "orderId": { + "value": "TestOrderId1" + }, + "body": { + "value": { + "channelPlacedInboundShipments": [ + { + "destinationAddress": { + "addressLine1": "address_1", + "addressLine2": "address_2", + "addressLine3": "address_3", + "city": "City1", + "countryCode": "CC", + "district": "District1", + "name": "DestinationName", + "postalCode": "123456", + "stateOrRegion": "State1" + }, + "orderId": "TestOrderId1", + "originAddress": { + "addressLine1": "address_1", + "addressLine2": "address_2", + "addressLine3": "address_3", + "city": "City1", + "countryCode": "CC", + "district": "District1", + "name": "DestinationName", + "postalCode": "123456", + "stateOrRegion": "State1" + }, + "receivedQuantity": [], + "shipmentContainerQuantities": [ + { + "count": 1, + "distributionPackage": { + "contents": { + "packages": [], + "products": [ + { + "quantity": 1, + "sku": "testPen" + } + ] + }, + "measurements": { + "dimensions": { + "height": 2.54, + "length": 2.54, + "unitOfMeasurement": "CENTIMETERS", + "width": 2.54 + }, + "weight": { + "unitOfMeasurement": "KILOGRAMS", + "weight": 0.453592 + } + }, + "type": "CASE" + } + } + ], + "shipmentId": "TestShipment1", + "shipmentStatus": "CREATED" + } + ], + "createdAt": "2023-06-07T12:12:09.061Z", + "orderId": "TestOrderId1", + "orderStatus": "DRAFT", + "orderVersion": "2", + "originAddress": { + "addressLine1": "address_1", + "addressLine2": "address_2", + "addressLine3": "address_3", + "city": "City1", + "countryCode": "CC", + "district": "District1", + "name": "DestinationName", + "postalCode": "123456", + "stateOrRegion": "State1" + }, + "packagesToInbound": [ + { + "count": 2, + "distributionPackage": { + "contents": { + "packages": [], + "products": [ + { + "quantity": 10, + "sku": "testPen" + } + ] + }, + "measurements": { + "dimensions": { + "height": 1, + "length": 1, + "unitOfMeasurement": "CENTIMETERS", + "width": 1 + }, + "weight": { + "unitOfMeasurement": "KILOGRAMS", + "weight": 1 + } + }, + "type": "CASE" + } + } + ], + "transportationPreference": "AMAZON_MANAGED", + "updatedAt": "2023-06-07T12:12:09.061Z" + } } } }, "response": { "errors": [ { - "code": "BAD_REQUEST", + "code": "UNSUPPORTED_TRANSPORTATION_PREFERENCE", "details": "This exception is thrown when client inputs are invalid", - "message": "Invalid shipment sortable field received: TEST" + "message": "Currently only SELLER_MANAGED transportation preference is supported" } ] } @@ -496,6 +949,18 @@ "$ref": "#/definitions/ErrorList" } }, + "409": { + "description": "`ConflictException` 409 response.", + "headers": { + "x-amzn-RequestId": { + "description": "Unique request reference identifier.", + "type": "string" + } + }, + "schema": { + "$ref": "#/definitions/ErrorList" + } + }, "413": { "description": "The request size exceeded the maximum accepted size.", "headers": { @@ -560,86 +1025,27 @@ "tags": [ "awd" ], - "description": "Retrieves a summary for all the inbound AWD shipments associated with a merchant, with the ability to apply optional filters.\n\n**Usage Plan:**\n\n| Rate (requests per second) | Burst |\n| ---- | ---- |\n| 1 | 1 |\n\nThe `x-amzn-RateLimit-Limit` response header returns the usage plan rate limits that were applied to the requested operation, when available. The table above indicates the default rate and burst values for this operation. Selling partners whose business demands require higher throughput may see higher rate and burst values than those shown here. For more information, refer to [Usage Plans and Rate Limits in the Selling Partner API](https://developer-docs.amazon.com/sp-api/docs/usage-plans-and-rate-limits-in-the-sp-api).", - "operationId": "listInboundShipments" + "description": "Updates an AWD inbound order that is in draft status and not yet confirmed. Use this operation to update the `packagesToInbound` and `originAddress` attributes.\n\n**Usage Plan:**\n\n| Rate (requests per second) | Burst |\n| ---- | ---- |\n| 1 | 1 |\n\nThe `x-amzn-RateLimit-Limit` response header returns the usage plan rate limits that were applied to the requested operation, when available. The table above indicates the default rate and burst values for this operation. Selling partners whose business demands require higher throughput may see higher rate and burst values than those shown here. For more information, refer to [Usage Plans and Rate Limits in the Selling Partner API](https://developer-docs.amazon.com/sp-api/docs/usage-plans-and-rate-limits-in-the-sp-api).", + "operationId": "updateInbound" } }, - "/awd/2024-05-09/inventory": { - "get": { + "/awd/2024-05-09/inboundOrders/{orderId}/cancellation": { + "post": { "produces": [ "application/json" ], "parameters": [ { - "description": "Filter by seller or merchant SKU for the item.", - "in": "query", - "name": "sku", - "type": "string", - "x-example": "TestSKU" - }, - { - "description": "Sort the response in `ASCENDING` or `DESCENDING` order.", - "enum": [ - "ASCENDING", - "DESCENDING" - ], - "in": "query", - "name": "sortOrder", - "type": "string", - "x-docgen-enum-table-extension": [ - { - "description": "Sorts the collection in ascending order.", - "value": "ASCENDING" - }, - { - "description": "Sorts the collection in descending order.", - "value": "DESCENDING" - } - ] - }, - { - "description": "Set to `SHOW` to return summaries with additional inventory details. Defaults to `HIDE,` which returns only inventory summary totals.", - "enum": [ - "SHOW", - "HIDE" - ], - "in": "query", - "name": "details", - "type": "string", - "x-docgen-enum-table-extension": [ - { - "description": "Show the additional summarized inventory details.", - "value": "SHOW" - }, - { - "description": "Hide the additional summarized inventory details.", - "value": "HIDE" - } - ], - "x-example": "SHOW" - }, - { - "description": "Token to retrieve the next set of paginated results.", - "in": "query", - "name": "nextToken", - "type": "string", - "x-example": "SampleToken" - }, - { - "default": 25, - "description": "Maximum number of results to return.", - "format": "int32", - "in": "query", - "maximum": 200, - "minimum": 1, - "name": "maxResults", - "type": "integer", - "x-example": "10" + "description": "ID for the inbound order to be cancelled", + "in": "path", + "name": "orderId", + "required": true, + "type": "string" } ], "responses": { - "200": { - "description": "The 200 response for `listInventory`.", + "204": { + "description": "`CancelInbound` 204 response.", "headers": { "x-amzn-RateLimit-Limit": { "description": "Your rate limit (requests per second) for this operation.", @@ -650,35 +1056,21 @@ "type": "string" } }, - "schema": { - "$ref": "#/definitions/InventoryListing" - }, "x-amzn-api-sandbox": { "static": [ { - "request": {}, - "response": { - "inventory": [ - { - "totalOnhandQuantity": 20, - "sku": "100TestSKU1Pen", - "inventoryDetails": { - "availableDistributableQuantity": 10, - "reservedDistributableQuantity": 10 - } - }, - { - "totalOnhandQuantity": 20, - "sku": "2U-BKEX-VW4D", - "inventoryDetails": { - "availableDistributableQuantity": 10, - "reservedDistributableQuantity": 10 - } + "request": { + "parameters": { + "orderId": { + "value": "TestOrderId1" } - ] + } } } ] + }, + "examples": { + "application/json": [{}] } }, "400": { @@ -701,8 +1093,8 @@ { "request": { "parameters": { - "sortOrder": { - "value": "UNKNOWN" + "orderId": { + "value": " " } } }, @@ -711,7 +1103,7 @@ { "code": "BAD_REQUEST", "details": "This exception is thrown when client inputs are invalid", - "message": "Invalid value: UNKNOWN passed for sort order. Possible values are: [ASCENDING, DESCENDING]" + "message": "OrderId should be present for this request" } ] } @@ -747,6 +1139,18 @@ "$ref": "#/definitions/ErrorList" } }, + "409": { + "description": "`ConflictException` 409 response.", + "headers": { + "x-amzn-RequestId": { + "description": "Unique request reference identifier.", + "type": "string" + } + }, + "schema": { + "$ref": "#/definitions/ErrorList" + } + }, "413": { "description": "The request size exceeded the maximum accepted size.", "headers": { @@ -811,15 +1215,2979 @@ "tags": [ "awd" ], - "description": "Lists AWD inventory associated with a merchant with the ability to apply optional filters.\n\n**Usage Plan:**\n\n| Rate (requests per second) | Burst |\n| ---- | ---- |\n| 2 | 2 |\n\nThe `x-amzn-RateLimit-Limit` response header returns the usage plan rate limits that were applied to the requested operation, when available. The table above indicates the default rate and burst values for this operation. Selling partners whose business demands require higher throughput may see higher rate and burst values than those shown here. For more information, refer to [Usage Plans and Rate Limits in the Selling Partner API](https://developer-docs.amazon.com/sp-api/docs/usage-plans-and-rate-limits-in-the-sp-api).", - "operationId": "listInventory" + "description": "Cancels an AWD Inbound order and its associated shipments.\n\n**Usage Plan:**\n\n| Rate (requests per second) | Burst |\n| ---- | ---- |\n| 1 | 1 |\n\nThe `x-amzn-RateLimit-Limit` response header returns the usage plan rate limits that were applied to the requested operation, when available. The table above indicates the default rate and burst values for this operation. Selling partners whose business demands require higher throughput may see higher rate and burst values than those shown here. For more information, refer to [Usage Plans and Rate Limits in the Selling Partner API](https://developer-docs.amazon.com/sp-api/docs/usage-plans-and-rate-limits-in-the-sp-api).", + "operationId": "cancelInbound" } - } - }, - "definitions": { - "Address": { - "description": "Shipping address that represents the origin or destination location.", - "properties": { + }, + "/awd/2024-05-09/inboundOrders/{orderId}/confirmation": { + "post": { + "produces": [ + "application/json" + ], + "parameters": [ + { + "description": "ID for the inbound order you want to confirm.", + "in": "path", + "name": "orderId", + "required": true, + "type": "string" + } + ], + "responses": { + "204": { + "description": "The 204 response for `confirmInbound`.", + "headers": { + "x-amzn-RateLimit-Limit": { + "description": "Your rate limit (requests per second) for this operation.", + "type": "string" + }, + "x-amzn-RequestId": { + "description": "Unique request reference identifier.", + "type": "string" + } + }, + "x-amzn-api-sandbox": { + "static": [ + { + "request": { + "parameters": { + "orderId": { + "value": "TestOrderId1" + } + } + } + } + ] + }, + "examples": { + "application/json": [{}] + } + }, + "400": { + "description": "Request has missing or invalid parameters and cannot be parsed.", + "headers": { + "x-amzn-RateLimit-Limit": { + "description": "Your rate limit (requests per second) for this operation.", + "type": "string" + }, + "x-amzn-RequestId": { + "description": "Unique request reference identifier.", + "type": "string" + } + }, + "schema": { + "$ref": "#/definitions/ErrorList" + }, + "x-amzn-api-sandbox": { + "static": [ + { + "request": { + "parameters": { + "orderId": { + "value": " " + } + } + }, + "response": { + "errors": [ + { + "code": "BAD_REQUEST", + "details": "This exception is thrown when client inputs are invalid", + "message": "OrderId should be present for this request" + } + ] + } + } + ] + } + }, + "403": { + "description": "Indicates that access to the resource is forbidden. Possible reasons include Access Denied, Unauthorized, Expired Token, or Invalid Signature.", + "headers": { + "x-amzn-RequestId": { + "description": "Unique request reference identifier.", + "type": "string" + } + }, + "schema": { + "$ref": "#/definitions/ErrorList" + } + }, + "404": { + "description": "The resource specified does not exist.", + "headers": { + "x-amzn-RateLimit-Limit": { + "description": "Your rate limit (requests per second) for this operation.", + "type": "string" + }, + "x-amzn-RequestId": { + "description": "Unique request reference identifier.", + "type": "string" + } + }, + "schema": { + "$ref": "#/definitions/ErrorList" + } + }, + "409": { + "description": "`ConflictException` 409 response.", + "headers": { + "x-amzn-RequestId": { + "description": "Unique request reference identifier.", + "type": "string" + } + }, + "schema": { + "$ref": "#/definitions/ErrorList" + } + }, + "413": { + "description": "The request size exceeded the maximum accepted size.", + "headers": { + "x-amzn-RequestId": { + "description": "Unique request reference identifier.", + "type": "string" + } + }, + "schema": { + "$ref": "#/definitions/ErrorList" + } + }, + "415": { + "description": "The request payload is in an unsupported format.", + "headers": { + "x-amzn-RequestId": { + "description": "Unique request reference identifier.", + "type": "string" + } + }, + "schema": { + "$ref": "#/definitions/ErrorList" + } + }, + "429": { + "description": "The frequency of requests was greater than allowed.", + "headers": { + "x-amzn-RequestId": { + "description": "Unique request reference identifier.", + "type": "string" + } + }, + "schema": { + "$ref": "#/definitions/ErrorList" + } + }, + "500": { + "description": "An unexpected condition occurred that prevented the server from fulfilling the request.", + "headers": { + "x-amzn-RequestId": { + "description": "Unique request reference identifier.", + "type": "string" + } + }, + "schema": { + "$ref": "#/definitions/ErrorList" + } + }, + "503": { + "description": "Temporary overloading or maintenance of the server.", + "headers": { + "x-amzn-RequestId": { + "description": "Unique request reference identifier.", + "type": "string" + } + }, + "schema": { + "$ref": "#/definitions/ErrorList" + } + } + }, + "tags": [ + "awd" + ], + "description": "Confirms an AWD inbound order in draft status.\n\n**Usage Plan:**\n\n| Rate (requests per second) | Burst |\n| ---- | ---- |\n| 1 | 1 |\n\nThe `x-amzn-RateLimit-Limit` response header returns the usage plan rate limits that were applied to the requested operation, when available. The table above indicates the default rate and burst values for this operation. Selling partners whose business demands require higher throughput may see higher rate and burst values than those shown here. For more information, refer to [Usage Plans and Rate Limits in the Selling Partner API](https://developer-docs.amazon.com/sp-api/docs/usage-plans-and-rate-limits-in-the-sp-api).", + "operationId": "confirmInbound" + } + }, + "/awd/2024-05-09/inboundShipments/{shipmentId}": { + "get": { + "produces": [ + "application/json" + ], + "parameters": [ + { + "description": "ID for the shipment. A shipment contains the cases being inbounded.", + "in": "path", + "minLength": 1, + "name": "shipmentId", + "required": true, + "type": "string" + }, + { + "description": "If equal to `SHOW`, the response includes the shipment SKU quantity details.\n\nDefaults to `HIDE`, in which case the response does not contain SKU quantities", + "enum": [ + "SHOW", + "HIDE" + ], + "in": "query", + "name": "skuQuantities", + "type": "string", + "x-example": "SHOW", + "x-docgen-enum-table-extension": [ + { + "description": "Show the additional SKU quantity details.", + "value": "SHOW" + }, + { + "description": "Hide the additional SKU quantity details.", + "value": "HIDE" + } + ] + } + ], + "responses": { + "200": { + "description": "The 200 response for `getInboundShipment`.", + "headers": { + "x-amzn-RateLimit-Limit": { + "description": "Your rate limit (requests per second) for this operation.", + "type": "string" + }, + "x-amzn-RequestId": { + "description": "Unique request reference identifier.", + "type": "string" + } + }, + "schema": { + "$ref": "#/definitions/InboundShipment" + }, + "x-amzn-api-sandbox": { + "static": [ + { + "request": { + "parameters": { + "shipmentId": { + "value": "TestShipmentId" + } + } + }, + "response": { + "createdAt": "2023-06-07T12:12:09.061Z", + "destinationAddress": { + "addressLine1": "address_line_1", + "addressLine2": "address_line_2", + "addressLine3": "address_line_3", + "city": "City1", + "countryCode": "CC", + "district": "District1", + "name": "DestinationName", + "postalCode": "123456", + "stateOrRegion": "State1" + }, + "orderId": "TestOrderId", + "originAddress": { + "addressLine1": "address_1", + "addressLine2": "address_2", + "addressLine3": "address_3", + "city": "City1", + "countryCode": "CC", + "district": "District1", + "name": "address_name", + "postalCode": "123456", + "stateOrRegion": "State1" + }, + "receivedQuantity": [ + { + "quantity": 0, + "unitOfMeasurement": "CASES" + } + ], + "shipmentContainerQuantities": [ + { + "count": 2, + "distributionPackage": { + "contents": { + "packages": [], + "products": [ + { + "quantity": 20, + "sku": "testPen" + } + ] + }, + "measurements": { + "dimensions": { + "height": 33.02, + "length": 45.72, + "unitOfMeasurement": "CENTIMETERS", + "width": 15.24 + }, + "weight": { + "unitOfMeasurement": "KILOGRAMS", + "weight": 5.443104 + } + }, + "type": "CASE" + } + } + ], + "shipmentId": "TestShipmentId", + "shipmentStatus": "CREATED", + "shipmentSkuQuantities": [ + { + "sku": "testPen", + "expectedQuantity": { + "quantity": 2, + "unitOfMeasurement": "CASE" + }, + "receivedQuantity": { + "quantity": 0, + "unitOfMeasurement": "CASE" + } + } + ], + "updatedAt": "2023-06-07T12:12:09.061Z" + } + } + ] + } + }, + "400": { + "description": "Request has missing or invalid parameters and cannot be parsed.", + "headers": { + "x-amzn-RateLimit-Limit": { + "description": "Your rate limit (requests per second) for this operation.", + "type": "string" + }, + "x-amzn-RequestId": { + "description": "Unique request reference identifier.", + "type": "string" + } + }, + "schema": { + "$ref": "#/definitions/ErrorList" + }, + "x-amzn-api-sandbox": { + "static": [ + { + "request": { + "parameters": { + "shipmentId": { + "value": " " + } + } + }, + "response": { + "errors": [ + { + "code": "BAD_REQUEST", + "details": "This exception is thrown when client inputs are invalid", + "message": "ShipmentId should be present for this request" + } + ] + } + } + ] + } + }, + "403": { + "description": "Indicates that access to the resource is forbidden. Possible reasons include Access Denied, Unauthorized, Expired Token, or Invalid Signature.", + "headers": { + "x-amzn-RequestId": { + "description": "Unique request reference identifier.", + "type": "string" + } + }, + "schema": { + "$ref": "#/definitions/ErrorList" + } + }, + "404": { + "description": "The resource specified does not exist.", + "headers": { + "x-amzn-RateLimit-Limit": { + "description": "Your rate limit (requests per second) for this operation.", + "type": "string" + }, + "x-amzn-RequestId": { + "description": "Unique request reference identifier.", + "type": "string" + } + }, + "schema": { + "$ref": "#/definitions/ErrorList" + } + }, + "413": { + "description": "The request size exceeded the maximum accepted size.", + "headers": { + "x-amzn-RequestId": { + "description": "Unique request reference identifier.", + "type": "string" + } + }, + "schema": { + "$ref": "#/definitions/ErrorList" + } + }, + "415": { + "description": "The request payload is in an unsupported format.", + "headers": { + "x-amzn-RequestId": { + "description": "Unique request reference identifier.", + "type": "string" + } + }, + "schema": { + "$ref": "#/definitions/ErrorList" + } + }, + "429": { + "description": "The frequency of requests was greater than allowed.", + "headers": { + "x-amzn-RequestId": { + "description": "Unique request reference identifier.", + "type": "string" + } + }, + "schema": { + "$ref": "#/definitions/ErrorList" + } + }, + "500": { + "description": "An unexpected condition occurred that prevented the server from fulfilling the request.", + "headers": { + "x-amzn-RequestId": { + "description": "Unique request reference identifier.", + "type": "string" + } + }, + "schema": { + "$ref": "#/definitions/ErrorList" + } + }, + "503": { + "description": "Temporary overloading or maintenance of the server.", + "headers": { + "x-amzn-RequestId": { + "description": "Unique request reference identifier.", + "type": "string" + } + }, + "schema": { + "$ref": "#/definitions/ErrorList" + } + } + }, + "tags": [ + "awd" + ], + "description": "Retrieves an AWD inbound shipment.\n\n**Usage Plan:**\n\n| Rate (requests per second) | Burst |\n| ---- | ---- |\n| 2 | 2 |\n\nThe `x-amzn-RateLimit-Limit` response header returns the usage plan rate limits that were applied to the requested operation, when available. The table above indicates the default rate and burst values for this operation. Selling partners whose business demands require higher throughput may see higher rate and burst values than those shown here. For more information, refer to [Usage Plans and Rate Limits in the Selling Partner API](https://developer-docs.amazon.com/sp-api/docs/usage-plans-and-rate-limits-in-the-sp-api)", + "operationId": "getInboundShipment" + } + }, + "/awd/2024-05-09/inboundShipments/{shipmentId}/labels": { + "get": { + "produces": [ + "application/json" + ], + "parameters": [ + { + "description": "ID for the shipment.", + "in": "path", + "minLength": 1, + "name": "shipmentId", + "required": true, + "type": "string" + }, + { + "description": "Page type for the generated labels. The default is `PLAIN_PAPER`.", + "enum": [ + "THERMAL_NONPCP", + "PLAIN_PAPER", + "LETTER_6" + ], + "in": "query", + "name": "pageType", + "type": "string", + "x-docgen-enum-table-extension": [ + { + "description": "Use `THERMAL_NONPC` for a thermal printer. Supports non-Amazon-partnered shipments.", + "value": "THERMAL_NONPCP" + }, + { + "description": "One label per sheet of US Letter paper. Only for non-Amazon-partnered shipments.", + "value": "PLAIN_PAPER" + }, + { + "description": "Six labels per US Letter label sheet.", + "value": "LETTER_6" + } + ], + "x-example": "PLAIN_PAPER" + }, + { + "description": "The format type of the output file that contains your labels.", + "enum": [ + "PDF" + ], + "in": "query", + "name": "formatType", + "type": "string", + "x-docgen-enum-table-extension": [ + { + "description": "PDF format.", + "value": "PDF" + } + ], + "x-example": "PDF" + } + ], + "responses": { + "200": { + "description": "The 200 response for `getInboundShipmentLabels`.", + "headers": { + "x-amzn-RateLimit-Limit": { + "description": "Your rate limit (requests per second) for this operation.", + "type": "string" + }, + "x-amzn-RequestId": { + "description": "Unique request reference identifier.", + "type": "string" + } + }, + "schema": { + "$ref": "#/definitions/ShipmentLabels" + }, + "x-amzn-api-sandbox": { + "static": [ + { + "request": { + "parameters": { + "shipmentId": { + "value": "TestShipmentId" + } + } + }, + "response": { + "labelDownloadURL": "TEST_URL", + "labelStatus": "GENERATED" + } + } + ] + } + }, + "400": { + "description": "Request has missing or invalid parameters and cannot be parsed.", + "headers": { + "x-amzn-RateLimit-Limit": { + "description": "Your rate limit (requests per second) for this operation.", + "type": "string" + }, + "x-amzn-RequestId": { + "description": "Unique request reference identifier.", + "type": "string" + } + }, + "schema": { + "$ref": "#/definitions/ErrorList" + }, + "x-amzn-api-sandbox": { + "static": [ + { + "request": { + "parameters": { + "shipmentId": { + "value": " " + } + } + }, + "response": { + "errors": [ + { + "code": "BAD_REQUEST", + "details": "This exception is thrown when client inputs are invalid", + "message": "ShipmentId should be present for this request" + } + ] + } + } + ] + } + }, + "403": { + "description": "Indicates that access to the resource is forbidden. Possible reasons include Access Denied, Unauthorized, Expired Token, or Invalid Signature.", + "headers": { + "x-amzn-RequestId": { + "description": "Unique request reference identifier.", + "type": "string" + } + }, + "schema": { + "$ref": "#/definitions/ErrorList" + } + }, + "404": { + "description": "The resource specified does not exist.", + "headers": { + "x-amzn-RateLimit-Limit": { + "description": "Your rate limit (requests per second) for this operation.", + "type": "string" + }, + "x-amzn-RequestId": { + "description": "Unique request reference identifier.", + "type": "string" + } + }, + "schema": { + "$ref": "#/definitions/ErrorList" + } + }, + "413": { + "description": "The request size exceeded the maximum accepted size.", + "headers": { + "x-amzn-RequestId": { + "description": "Unique request reference identifier.", + "type": "string" + } + }, + "schema": { + "$ref": "#/definitions/ErrorList" + } + }, + "415": { + "description": "The request payload is in an unsupported format.", + "headers": { + "x-amzn-RequestId": { + "description": "Unique request reference identifier.", + "type": "string" + } + }, + "schema": { + "$ref": "#/definitions/ErrorList" + } + }, + "429": { + "description": "The frequency of requests was greater than allowed.", + "headers": { + "x-amzn-RequestId": { + "description": "Unique request reference identifier.", + "type": "string" + } + }, + "schema": { + "$ref": "#/definitions/ErrorList" + } + }, + "500": { + "description": "An unexpected condition occurred that prevented the server from fulfilling the request.", + "headers": { + "x-amzn-RequestId": { + "description": "Unique request reference identifier.", + "type": "string" + } + }, + "schema": { + "$ref": "#/definitions/ErrorList" + } + }, + "503": { + "description": "Temporary overloading or maintenance of the server.", + "headers": { + "x-amzn-RequestId": { + "description": "Unique request reference identifier.", + "type": "string" + } + }, + "schema": { + "$ref": "#/definitions/ErrorList" + } + } + }, + "tags": [ + "awd" + ], + "description": "Retrieves the box labels associated with the specified shipment ID.\n\n**Usage Plan:**\n\n| Rate (requests per second) | Burst |\n| ---- | ---- |\n| 1 | 1 |\n\nThe `x-amzn-RateLimit-Limit` response header returns the usage plan rate limits that were applied to the requested operation, when available. The table above indicates the default rate and burst values for this operation. Selling partners whose business demands require higher throughput may see higher rate and burst values than those shown here. For more information, refer to [Usage Plans and Rate Limits in the Selling Partner API](https://developer-docs.amazon.com/sp-api/docs/usage-plans-and-rate-limits-in-the-sp-api).", + "operationId": "getInboundShipmentLabels" + } + }, + "/awd/2024-05-09/inboundShipments/{shipmentId}/transport": { + "put": { + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "parameters": [ + { + "description": "The shipment ID.", + "in": "path", + "minLength": 1, + "name": "shipmentId", + "required": true, + "type": "string" + }, + { + "description": "Transportation details for the shipment.", + "in": "body", + "name": "body", + "required": true, + "schema": { + "$ref": "#/definitions/TransportationDetails" + } + } + ], + "responses": { + "200": { + "description": "The 200 response for `updateInboundShipmentTransportDetails`.", + "headers": { + "x-amzn-RateLimit-Limit": { + "description": "Your rate limit (requests per second) for this operation.", + "type": "string" + }, + "x-amzn-RequestId": { + "description": "Unique request reference identifier.", + "type": "string" + } + }, + "schema": { + "$ref": "#/definitions/InboundShipment" + }, + "x-amzn-api-sandbox": { + "static": [ + { + "request": { + "parameters": { + "shipmentId": { + "value": "TestShipmentId" + }, + "body": { + "value": { + "carrierCode": { + "carrierCodeType": "SCAC" + }, + "shipBy": "2023-07-17T07:10:17.886Z", + "trackingId": "TRACKING_ID" + } + } + } + }, + "response": { + "carrierCode": { + "carrierCodeType": "SCAC", + "carrierCodeValue": "NCSL" + }, + "createdAt": "2023-06-07T12:12:09.061Z", + "destinationAddress": { + "addressLine1": "address_1", + "addressLine2": "address_2", + "addressLine3": "address_3", + "city": "City1", + "countryCode": "CC", + "district": "District1", + "name": "DestinationName", + "postalCode": "123456", + "stateOrRegion": "State1" + }, + "orderId": "TestOrderId", + "originAddress": { + "addressLine1": "address_1", + "addressLine2": "address_2", + "addressLine3": "address_3", + "city": "City1", + "countryCode": "CC", + "district": "District1", + "name": "DestinationName", + "postalCode": "123456", + "stateOrRegion": "State1" + }, + "receivedQuantity": [ + { + "quantity": 0, + "unitOfMeasurement": "CASES" + } + ], + "shipBy": "2023-06-07T12:12:09.061Z", + "shipmentContainerQuantities": [ + { + "count": 1, + "distributionPackage": { + "contents": { + "packages": [], + "products": [ + { + "quantity": 20, + "sku": "testPen" + } + ] + }, + "measurements": { + "dimensions": { + "height": 33.02, + "length": 45.72, + "unitOfMeasurement": "CENTIMETERS", + "width": 15.24 + }, + "weight": { + "unitOfMeasurement": "KILOGRAMS", + "weight": 5.443104 + } + }, + "type": "CASE" + } + } + ], + "shipmentId": "TestShipmentId", + "shipmentStatus": "CREATED", + "trackingId": "TRACKING_ID", + "updatedAt": "2023-06-07T12:12:09.061Z" + } + } + ] + } + }, + "400": { + "description": "Request has missing or invalid parameters and cannot be parsed.", + "headers": { + "x-amzn-RateLimit-Limit": { + "description": "Your rate limit (requests per second) for this operation.", + "type": "string" + }, + "x-amzn-RequestId": { + "description": "Unique request reference identifier.", + "type": "string" + } + }, + "schema": { + "$ref": "#/definitions/ErrorList" + }, + "x-amzn-api-sandbox": { + "static": [ + { + "request": { + "parameters": { + "shipmentId": { + "value": " " + } + } + }, + "response": { + "errors": [ + { + "code": "BAD_REQUEST", + "details": "This exception is thrown when client inputs are invalid", + "message": "ShipmentId should be present for this request" + } + ] + } + } + ] + } + }, + "403": { + "description": "Indicates that access to the resource is forbidden. Possible reasons include Access Denied, Unauthorized, Expired Token, or Invalid Signature.", + "headers": { + "x-amzn-RequestId": { + "description": "Unique request reference identifier.", + "type": "string" + } + }, + "schema": { + "$ref": "#/definitions/ErrorList" + } + }, + "404": { + "description": "The resource specified does not exist.", + "headers": { + "x-amzn-RateLimit-Limit": { + "description": "Your rate limit (requests per second) for this operation.", + "type": "string" + }, + "x-amzn-RequestId": { + "description": "Unique request reference identifier.", + "type": "string" + } + }, + "schema": { + "$ref": "#/definitions/ErrorList" + } + }, + "413": { + "description": "The request size exceeded the maximum accepted size.", + "headers": { + "x-amzn-RequestId": { + "description": "Unique request reference identifier.", + "type": "string" + } + }, + "schema": { + "$ref": "#/definitions/ErrorList" + } + }, + "415": { + "description": "The request payload is in an unsupported format.", + "headers": { + "x-amzn-RequestId": { + "description": "Unique request reference identifier.", + "type": "string" + } + }, + "schema": { + "$ref": "#/definitions/ErrorList" + } + }, + "429": { + "description": "The frequency of requests was greater than allowed.", + "headers": { + "x-amzn-RequestId": { + "description": "Unique request reference identifier.", + "type": "string" + } + }, + "schema": { + "$ref": "#/definitions/ErrorList" + } + }, + "500": { + "description": "An unexpected condition occurred that prevented the server from fulfilling the request.", + "headers": { + "x-amzn-RequestId": { + "description": "Unique request reference identifier.", + "type": "string" + } + }, + "schema": { + "$ref": "#/definitions/ErrorList" + } + }, + "503": { + "description": "Temporary overloading or maintenance of the server.", + "headers": { + "x-amzn-RequestId": { + "description": "Unique request reference identifier.", + "type": "string" + } + }, + "schema": { + "$ref": "#/definitions/ErrorList" + } + } + }, + "tags": [ + "awd" + ], + "description": "Updates transport details for an AWD shipment.\n\n**Usage Plan:**\n\n| Rate (requests per second) | Burst |\n| ---- | ---- |\n| 1 | 1 |\n\nThe `x-amzn-RateLimit-Limit` response header returns the usage plan rate limits that were applied to the requested operation, when available. The table above indicates the default rate and burst values for this operation. Selling partners whose business demands require higher throughput may see higher rate and burst values than those shown here. For more information, refer to [Usage Plans and Rate Limits in the Selling Partner API](https://developer-docs.amazon.com/sp-api/docs/usage-plans-and-rate-limits-in-the-sp-api).", + "operationId": "updateInboundShipmentTransportDetails" + } + }, + "/awd/2024-05-09/inboundEligibility": { + "post": { + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "parameters": [ + { + "description": "Represents the packages you want to inbound.", + "in": "body", + "name": "body", + "required": true, + "schema": { + "$ref": "#/definitions/InboundPackages" + } + } + ], + "responses": { + "200": { + "description": "The 200 response for `checkInboundEligibility`.", + "headers": { + "x-amzn-RateLimit-Limit": { + "description": "Your rate limit (requests per second) for this operation.", + "type": "string" + }, + "x-amzn-RequestId": { + "description": "Unique request reference identifier.", + "type": "string" + } + }, + "schema": { + "$ref": "#/definitions/InboundEligibility" + }, + "x-amzn-api-sandbox": { + "static": [ + { + "request": { + "parameters": { + "body": { + "value": { + "packagesToInbound": [ + { + "count": 1, + "distributionPackage": { + "contents": { + "products": [ + { + "quantity": 1, + "sku": "TestDVDSku" + } + ] + }, + "measurements": { + "dimensions": { + "height": 1, + "length": 1, + "unitOfMeasurement": "INCHES", + "width": 1 + }, + "volume": { + "unitOfMeasurement": "CUIN", + "volume": 1 + }, + "weight": { + "unitOfMeasurement": "POUNDS", + "weight": 1 + } + }, + "type": "CASE" + } + }, + { + "count": 1, + "distributionPackage": { + "contents": { + "products": [ + { + "quantity": 1, + "sku": "testPen" + } + ] + }, + "measurements": { + "dimensions": { + "height": 1, + "length": 1, + "unitOfMeasurement": "INCHES", + "width": 1 + }, + "volume": { + "unitOfMeasurement": "CUIN", + "volume": 1 + }, + "weight": { + "unitOfMeasurement": "POUNDS", + "weight": 1 + } + }, + "type": "CASE" + } + } + ] + } + } + } + }, + "response": { + "ineligibilityReasons": [], + "status": "INELIGIBLE", + "packagesToInbound": [ + { + "ineligibilityReasons": [ + { + "description": "You can't use the gating service to buy this item.", + "code": "GATING_BLOCK_ON_GL" + } + ], + "status": "INELIGIBLE", + "packageQuantity": { + "count": 1, + "distributionPackage": { + "contents": { + "packages": [], + "products": [ + { + "quantity": 1, + "sku": "TestDVDSku" + } + ] + }, + "measurements": { + "dimensions": { + "height": 1.0, + "length": 1.0, + "unitOfMeasurement": "INCHES", + "width": 1.0 + }, + "volume": { + "unitOfMeasurement": "CUIN", + "volume": 1.0 + }, + "weight": { + "unitOfMeasurement": "POUNDS", + "weight": 1.0 + } + }, + "type": "CASE" + } + } + }, + { + "ineligibilityReasons": [], + "status": "ELIGIBLE", + "packageQuantity": { + "count": 1, + "distributionPackage": { + "contents": { + "packages": [], + "products": [ + { + "quantity": 1, + "sku": "testPen" + } + ] + }, + "measurements": { + "dimensions": { + "height": 1.0, + "length": 1.0, + "unitOfMeasurement": "INCHES", + "width": 1.0 + }, + "volume": { + "unitOfMeasurement": "CUIN", + "volume": 1.0 + }, + "weight": { + "unitOfMeasurement": "POUNDS", + "weight": 1.0 + } + }, + "type": "CASE" + } + } + } + ], + "previewedAt": "1688454771870" + } + } + ] + } + }, + "400": { + "description": "Request has missing or invalid parameters and cannot be parsed.", + "headers": { + "x-amzn-RateLimit-Limit": { + "description": "Your rate limit (requests per second) for this operation.", + "type": "string" + }, + "x-amzn-RequestId": { + "description": "Unique request reference identifier.", + "type": "string" + } + }, + "schema": { + "$ref": "#/definitions/ErrorList" + }, + "x-amzn-api-sandbox": { + "static": [ + { + "request": { + "parameters": { + "body": { + "value": { + "packagesToInbound": [ + { + "count": 1, + "distributionPackage": { + "contents": { + "products": [ + { + "quantity": 1, + "sku": "TestDVDSku" + } + ] + }, + "measurements": { + "dimensions": { + "height": 1, + "length": 1, + "unitOfMeasurement": "INCHES", + "width": 1 + }, + "volume": { + "unitOfMeasurement": "CUIN", + "volume": 1 + }, + "weight": { + "unitOfMeasurement": "POUNDS", + "weight": 1 + } + }, + "type": "CASE" + } + }, + { + "count": 1, + "distributionPackage": { + "contents": { + "products": [ + { + "quantity": 1, + "sku": "testPen" + } + ] + }, + "measurements": { + "dimensions": { + "height": 1, + "length": 1, + "unitOfMeasurement": "INCHES", + "width": 1 + }, + "volume": { + "unitOfMeasurement": "CUIN", + "volume": 1 + }, + "weight": { + "unitOfMeasurement": "POUNDS", + "weight": 1 + } + }, + "type": "TEST" + } + } + ] + } + } + } + }, + "response": { + "errors": [ + { + "code": "BAD_REQUEST", + "details": "This exception is thrown when client inputs are invalid", + "message": "OrderId should be present for this request" + } + ] + } + } + ] + } + }, + "403": { + "description": "Indicates that access to the resource is forbidden. Possible reasons include Access Denied, Unauthorized, Expired Token, or Invalid Signature.", + "headers": { + "x-amzn-RequestId": { + "description": "Unique request reference identifier.", + "type": "string" + } + }, + "schema": { + "$ref": "#/definitions/ErrorList" + } + }, + "404": { + "description": "The resource specified does not exist.", + "headers": { + "x-amzn-RateLimit-Limit": { + "description": "Your rate limit (requests per second) for this operation.", + "type": "string" + }, + "x-amzn-RequestId": { + "description": "Unique request reference identifier.", + "type": "string" + } + }, + "schema": { + "$ref": "#/definitions/ErrorList" + } + }, + "413": { + "description": "The request size exceeded the maximum accepted size.", + "headers": { + "x-amzn-RequestId": { + "description": "Unique request reference identifier.", + "type": "string" + } + }, + "schema": { + "$ref": "#/definitions/ErrorList" + } + }, + "415": { + "description": "The request payload is in an unsupported format.", + "headers": { + "x-amzn-RequestId": { + "description": "Unique request reference identifier.", + "type": "string" + } + }, + "schema": { + "$ref": "#/definitions/ErrorList" + } + }, + "429": { + "description": "The frequency of requests was greater than allowed.", + "headers": { + "x-amzn-RequestId": { + "description": "Unique request reference identifier.", + "type": "string" + } + }, + "schema": { + "$ref": "#/definitions/ErrorList" + } + }, + "500": { + "description": "An unexpected condition occurred that prevented the server from fulfilling the request.", + "headers": { + "x-amzn-RequestId": { + "description": "Unique request reference identifier.", + "type": "string" + } + }, + "schema": { + "$ref": "#/definitions/ErrorList" + } + }, + "503": { + "description": "Temporary overloading or maintenance of the server.", + "headers": { + "x-amzn-RequestId": { + "description": "Unique request reference identifier.", + "type": "string" + } + }, + "schema": { + "$ref": "#/definitions/ErrorList" + } + } + }, + "tags": [ + "awd" + ], + "description": "Perform a dry-run test to determine if the specified inventory is eligible for AWD inbound shipment.\n\n**Usage Plan:**\n\n| Rate (requests per second) | Burst |\n| ---- | ---- |\n| 1 | 1 |\n\nThe `x-amzn-RateLimit-Limit` response header returns the usage plan rate limits that were applied to the requested operation, when available. The table above indicates the default rate and burst values for this operation. Selling partners whose business demands require higher throughput may see higher rate and burst values than those shown here. For more information, refer to [Usage Plans and Rate Limits in the Selling Partner API](https://developer-docs.amazon.com/sp-api/docs/usage-plans-and-rate-limits-in-the-sp-api).", + "operationId": "checkInboundEligibility" + } + }, + "/awd/2024-05-09/inboundShipments": { + "get": { + "produces": [ + "application/json" + ], + "parameters": [ + { + "description": "Field to sort results by. By default, the response will be sorted by UPDATED_AT.", + "enum": [ + "UPDATED_AT", + "CREATED_AT" + ], + "in": "query", + "name": "sortBy", + "type": "string", + "x-docgen-enum-table-extension": [ + { + "description": "Sort by the time of update.", + "value": "UPDATED_AT" + }, + { + "description": "Sort by the time of creation.", + "value": "CREATED_AT" + } + ] + }, + { + "description": "Sort the response in ASCENDING or DESCENDING order. By default, the response will be sorted in DESCENDING order.", + "enum": [ + "ASCENDING", + "DESCENDING" + ], + "in": "query", + "name": "sortOrder", + "type": "string", + "x-docgen-enum-table-extension": [ + { + "description": "Sorts the collection in ascending order.", + "value": "ASCENDING" + }, + { + "description": "Sorts the collection in descending order.", + "value": "DESCENDING" + } + ], + "x-example": "ASCENDING" + }, + { + "description": "Filter by inbound shipment status.", + "enum": [ + "CREATED", + "SHIPPED", + "IN_TRANSIT", + "RECEIVING", + "DELIVERED", + "CLOSED", + "CANCELLED" + ], + "in": "query", + "name": "shipmentStatus", + "type": "string", + "x-docgen-enum-table-extension": [ + { + "description": "Shipment is created, but hasn't shipped.", + "value": "CREATED" + }, + { + "description": "Shipment was picked up by the carrier or was dropped off with the carrier.", + "value": "SHIPPED" + }, + { + "description": "The carrier has notified AWD that the shipment is in transit between the origin and destination nodes.", + "value": "IN_TRANSIT" + }, + { + "description": "The shipment has been partially received.", + "value": "RECEIVING" + }, + { + "description": "The shipment has reached the destination node and has been delivered to the facility yard. The shipment `receive` process at the warehouse will start soon.", + "value": "DELIVERED" + }, + { + "description": "No more actions are required for the shipment. This is a final state.", + "value": "CLOSED" + }, + { + "description": "The shipment is cancelled. This is a final state.", + "value": "CANCELLED" + } + ], + "x-example": "CREATED" + }, + { + "description": "List the inbound shipments that were updated after a certain time (inclusive). The date must be in ISO 8601 format.", + "format": "date-time", + "in": "query", + "name": "updatedAfter", + "type": "string", + "x-example": "2023-01-12T10:00:00.000Z" + }, + { + "description": "List the inbound shipments that were updated before a certain time (inclusive). The date must be in ISO 8601 format.", + "format": "date-time", + "in": "query", + "name": "updatedBefore", + "type": "string", + "x-example": "2023-01-12T10:00:00.000Z" + }, + { + "default": 25, + "description": "Maximum number of results to return.", + "format": "int32", + "in": "query", + "maximum": 200, + "minimum": 1, + "name": "maxResults", + "type": "integer", + "x-example": "10" + }, + { + "description": "Token to retrieve the next set of paginated results.", + "in": "query", + "name": "nextToken", + "type": "string", + "x-example": "SampleToken" + } + ], + "responses": { + "200": { + "description": "The 200 response for `listInboundShipments`.", + "headers": { + "x-amzn-RateLimit-Limit": { + "description": "Your rate limit (requests per second) for this operation.", + "type": "string" + }, + "x-amzn-RequestId": { + "description": "Unique request reference identifier.", + "type": "string" + } + }, + "schema": { + "$ref": "#/definitions/ShipmentListing" + }, + "x-amzn-api-sandbox": { + "static": [ + { + "request": { + "parameters": {} + }, + "response": { + "shipments": [{ + "createdAt": "2023-06-07T12:12:09.061Z", + "orderId": "TestOrderId", + "shipmentId": "TestShipmentId", + "shipmentStatus": "CREATED", + "updatedAt": "2023-06-07T12:12:09.061Z" + }] + } + } + ] + } + }, + "400": { + "description": "Request has missing or invalid parameters and cannot be parsed.", + "headers": { + "x-amzn-RateLimit-Limit": { + "description": "Your rate limit (requests per second) for this operation.", + "type": "string" + }, + "x-amzn-RequestId": { + "description": "Unique request reference identifier.", + "type": "string" + } + }, + "schema": { + "$ref": "#/definitions/ErrorList" + }, + "x-amzn-api-sandbox": { + "static": [ + { + "request": { + "parameters": { + "sortBy": { + "value": "TEST" + } + } + }, + "response": { + "errors": [ + { + "code": "BAD_REQUEST", + "details": "This exception is thrown when client inputs are invalid", + "message": "Invalid shipment sortable field received: TEST" + } + ] + } + } + ] + } + }, + "403": { + "description": "Indicates that access to the resource is forbidden. Possible reasons include Access Denied, Unauthorized, Expired Token, or Invalid Signature.", + "headers": { + "x-amzn-RequestId": { + "description": "Unique request reference identifier.", + "type": "string" + } + }, + "schema": { + "$ref": "#/definitions/ErrorList" + } + }, + "404": { + "description": "The resource specified does not exist.", + "headers": { + "x-amzn-RateLimit-Limit": { + "description": "Your rate limit (requests per second) for this operation.", + "type": "string" + }, + "x-amzn-RequestId": { + "description": "Unique request reference identifier.", + "type": "string" + } + }, + "schema": { + "$ref": "#/definitions/ErrorList" + } + }, + "413": { + "description": "The request size exceeded the maximum accepted size.", + "headers": { + "x-amzn-RequestId": { + "description": "Unique request reference identifier.", + "type": "string" + } + }, + "schema": { + "$ref": "#/definitions/ErrorList" + } + }, + "415": { + "description": "The request payload is in an unsupported format.", + "headers": { + "x-amzn-RequestId": { + "description": "Unique request reference identifier.", + "type": "string" + } + }, + "schema": { + "$ref": "#/definitions/ErrorList" + } + }, + "429": { + "description": "The frequency of requests was greater than allowed.", + "headers": { + "x-amzn-RequestId": { + "description": "Unique request reference identifier.", + "type": "string" + } + }, + "schema": { + "$ref": "#/definitions/ErrorList" + } + }, + "500": { + "description": "An unexpected condition occurred that prevented the server from fulfilling the request.", + "headers": { + "x-amzn-RequestId": { + "description": "Unique request reference identifier.", + "type": "string" + } + }, + "schema": { + "$ref": "#/definitions/ErrorList" + } + }, + "503": { + "description": "Temporary overloading or maintenance of the server.", + "headers": { + "x-amzn-RequestId": { + "description": "Unique request reference identifier.", + "type": "string" + } + }, + "schema": { + "$ref": "#/definitions/ErrorList" + } + } + }, + "tags": [ + "awd" + ], + "description": "Retrieves a summary of all the inbound AWD shipments associated with a merchant, with the ability to apply optional filters.\n\n**Usage Plan:**\n\n| Rate (requests per second) | Burst |\n| ---- | ---- |\n| 1 | 1 |\n\nThe `x-amzn-RateLimit-Limit` response header returns the usage plan rate limits that were applied to the requested operation, when available. The table above indicates the default rate and burst values for this operation. Selling partners whose business demands require higher throughput may see higher rate and burst values than those shown here. For more information, refer to [Usage Plans and Rate Limits in the Selling Partner API](https://developer-docs.amazon.com/sp-api/docs/usage-plans-and-rate-limits-in-the-sp-api).", + "operationId": "listInboundShipments" + } + }, + "/awd/2024-05-09/inventory": { + "get": { + "produces": [ + "application/json" + ], + "parameters": [ + { + "description": "Filter by seller or merchant SKU for the item.", + "in": "query", + "name": "sku", + "type": "string", + "x-example": "TestSKU" + }, + { + "description": "Sort the response in `ASCENDING` or `DESCENDING` order.", + "enum": [ + "ASCENDING", + "DESCENDING" + ], + "in": "query", + "name": "sortOrder", + "type": "string", + "x-docgen-enum-table-extension": [ + { + "description": "Sorts the collection in ascending order.", + "value": "ASCENDING" + }, + { + "description": "Sorts the collection in descending order.", + "value": "DESCENDING" + } + ] + }, + { + "description": "Set to `SHOW` to return summaries with additional inventory details. Defaults to `HIDE,` which returns only inventory summary totals.", + "enum": [ + "SHOW", + "HIDE" + ], + "in": "query", + "name": "details", + "type": "string", + "x-docgen-enum-table-extension": [ + { + "description": "Show the additional summarized inventory details.", + "value": "SHOW" + }, + { + "description": "Hide the additional summarized inventory details.", + "value": "HIDE" + } + ], + "x-example": "SHOW" + }, + { + "description": "Token to retrieve the next set of paginated results.", + "in": "query", + "name": "nextToken", + "type": "string", + "x-example": "SampleToken" + }, + { + "default": 25, + "description": "Maximum number of results to return.", + "format": "int32", + "in": "query", + "maximum": 200, + "minimum": 1, + "name": "maxResults", + "type": "integer", + "x-example": "10" + } + ], + "responses": { + "200": { + "description": "The 200 response for `listInventory`.", + "headers": { + "x-amzn-RateLimit-Limit": { + "description": "Your rate limit (requests per second) for this operation.", + "type": "string" + }, + "x-amzn-RequestId": { + "description": "Unique request reference identifier.", + "type": "string" + } + }, + "schema": { + "$ref": "#/definitions/InventoryListing" + }, + "x-amzn-api-sandbox": { + "static": [ + { + "request": {}, + "response": { + "inventory": [ + { + "totalOnhandQuantity": 20, + "totalInboundQuantity": 10, + "sku": "100TestSKU1Pen", + "inventoryDetails": { + "availableDistributableQuantity": 10, + "reservedDistributableQuantity": 10 + } + }, + { + "totalOnhandQuantity": 20, + "totalInboundQuantity": 5, + "sku": "2U-BKEX-VW4D", + "inventoryDetails": { + "availableDistributableQuantity": 10, + "reservedDistributableQuantity": 10 + } + } + ] + } + } + ] + } + }, + "400": { + "description": "Request has missing or invalid parameters and cannot be parsed.", + "headers": { + "x-amzn-RateLimit-Limit": { + "description": "Your rate limit (requests per second) for this operation.", + "type": "string" + }, + "x-amzn-RequestId": { + "description": "Unique request reference identifier.", + "type": "string" + } + }, + "schema": { + "$ref": "#/definitions/ErrorList" + }, + "x-amzn-api-sandbox": { + "static": [ + { + "request": { + "parameters": { + "sortOrder": { + "value": "UNKNOWN" + } + } + }, + "response": { + "errors": [ + { + "code": "BAD_REQUEST", + "details": "This exception is thrown when client inputs are invalid", + "message": "Invalid value: UNKNOWN passed for sort order. Possible values are: [ASCENDING, DESCENDING]" + } + ] + } + } + ] + } + }, + "403": { + "description": "Indicates that access to the resource is forbidden. Possible reasons include Access Denied, Unauthorized, Expired Token, or Invalid Signature.", + "headers": { + "x-amzn-RequestId": { + "description": "Unique request reference identifier.", + "type": "string" + } + }, + "schema": { + "$ref": "#/definitions/ErrorList" + } + }, + "404": { + "description": "The resource specified does not exist.", + "headers": { + "x-amzn-RateLimit-Limit": { + "description": "Your rate limit (requests per second) for this operation.", + "type": "string" + }, + "x-amzn-RequestId": { + "description": "Unique request reference identifier.", + "type": "string" + } + }, + "schema": { + "$ref": "#/definitions/ErrorList" + } + }, + "413": { + "description": "The request size exceeded the maximum accepted size.", + "headers": { + "x-amzn-RequestId": { + "description": "Unique request reference identifier.", + "type": "string" + } + }, + "schema": { + "$ref": "#/definitions/ErrorList" + } + }, + "415": { + "description": "The request payload is in an unsupported format.", + "headers": { + "x-amzn-RequestId": { + "description": "Unique request reference identifier.", + "type": "string" + } + }, + "schema": { + "$ref": "#/definitions/ErrorList" + } + }, + "429": { + "description": "The frequency of requests was greater than allowed.", + "headers": { + "x-amzn-RequestId": { + "description": "Unique request reference identifier.", + "type": "string" + } + }, + "schema": { + "$ref": "#/definitions/ErrorList" + } + }, + "500": { + "description": "An unexpected condition occurred that prevented the server from fulfilling the request.", + "headers": { + "x-amzn-RequestId": { + "description": "Unique request reference identifier.", + "type": "string" + } + }, + "schema": { + "$ref": "#/definitions/ErrorList" + } + }, + "503": { + "description": "Temporary overloading or maintenance of the server.", + "headers": { + "x-amzn-RequestId": { + "description": "Unique request reference identifier.", + "type": "string" + } + }, + "schema": { + "$ref": "#/definitions/ErrorList" + } + } + }, + "tags": [ + "awd" + ], + "description": "Lists AWD inventory associated with a merchant with the ability to apply optional filters.\n\n**Usage Plan:**\n\n| Rate (requests per second) | Burst |\n| ---- | ---- |\n| 2 | 2 |\n\nThe `x-amzn-RateLimit-Limit` response header returns the usage plan rate limits that were applied to the requested operation, when available. The table above indicates the default rate and burst values for this operation. Selling partners whose business demands require higher throughput may see higher rate and burst values than those shown here. For more information, refer to [Usage Plans and Rate Limits in the Selling Partner API](https://developer-docs.amazon.com/sp-api/docs/usage-plans-and-rate-limits-in-the-sp-api).", + "operationId": "listInventory" + } + }, + "/awd/2024-05-09/outboundOrders": { + "get": { + "produces": [ + "application/json" + ], + "parameters": [ + { + "description": "Get the outbound orders updated after a certain time (inclusive). The date must be in ISO 8601 format.", + "format": "date-time", + "in": "query", + "name": "updatedAfter", + "type": "string", + "x-example": "2023-01-12T10:00:00.000Z" + }, + { + "description": "Get the outbound orders updated before a certain time (inclusive). The date must be in ISO 8601 format.", + "format": "date-time", + "in": "query", + "name": "updatedBefore", + "type": "string", + "x-example": "2023-01-12T10:00:00.000Z" + }, + { + "description": "Sort the response in `ASCENDING` or `DESCENDING` order.", + "enum": [ + "ASCENDING", + "DESCENDING" + ], + "in": "query", + "name": "sortOrder", + "type": "string", + "x-docgen-enum-table-extension": [ + { + "description": "Sorts the collection in ascending order.", + "value": "ASCENDING" + }, + { + "description": "Sorts the collection in descending order.", + "value": "DESCENDING" + } + ] + }, + { + "default": 25, + "description": "Maximum number of results to return.", + "format": "int32", + "in": "query", + "maximum": 100, + "minimum": 1, + "name": "maxResults", + "type": "integer", + "x-example": "10" + }, + { + "description": "Token to retrieve the next set of paginated results.", + "in": "query", + "name": "nextToken", + "type": "string", + "x-example": "SampleToken" + } + ], + "responses": { + "200": { + "description": "The 200 response for `listOutbounds`.", + "headers": { + "x-amzn-RateLimit-Limit": { + "description": "Your rate limit (requests per second) for this operation.", + "type": "string" + }, + "x-amzn-RequestId": { + "description": "Unique request reference identifier.", + "type": "string" + } + }, + "schema": { + "$ref": "#/definitions/OutboundListing" + }, + "x-amzn-api-sandbox": { + "static": [ + { + "request": { + "parameters": {} + }, + "response": { + "outboundOrders": [ + { + "eligiblePackagesToOutbound": [], + "eligibleProductsToOutbound": [], + "executionErrors": [], + "orderId": "TEST_ORDER_ID", + "orderPreferences": [], + "orderStatus": "SUCCESS", + "outboundShipments": [], + "packagesToOutbound": [], + "productsToOutbound": [], + "shippedOutboundPackages": [], + "shippedOutboundProducts": [] + } + ] + } + } + ] + } + }, + "400": { + "description": "Request has missing or invalid parameters and cannot be parsed.", + "headers": { + "x-amzn-RateLimit-Limit": { + "description": "Your rate limit (requests per second) for this operation.", + "type": "string" + }, + "x-amzn-RequestId": { + "description": "Unique request reference identifier.", + "type": "string" + } + }, + "schema": { + "$ref": "#/definitions/ErrorList" + }, + "x-amzn-api-sandbox": { + "static": [ + { + "request": { + "parameters": { + "sortOrder": { + "value": "TEST" + } + } + }, + "response": { + "errors": [ + { + "code": "BAD_REQUEST", + "details": "This exception is thrown when client inputs are invalid", + "message": "Invalid sort order field: TEST" + } + ] + } + } + ] + } + }, + "403": { + "description": "Indicates that access to the resource is forbidden. Possible reasons include Access Denied, Unauthorized, Expired Token, or Invalid Signature.", + "headers": { + "x-amzn-RequestId": { + "description": "Unique request reference identifier.", + "type": "string" + } + }, + "schema": { + "$ref": "#/definitions/ErrorList" + } + }, + "404": { + "description": "The resource specified does not exist.", + "headers": { + "x-amzn-RateLimit-Limit": { + "description": "Your rate limit (requests per second) for this operation.", + "type": "string" + }, + "x-amzn-RequestId": { + "description": "Unique request reference identifier.", + "type": "string" + } + }, + "schema": { + "$ref": "#/definitions/ErrorList" + } + }, + "413": { + "description": "The request size exceeded the maximum accepted size.", + "headers": { + "x-amzn-RequestId": { + "description": "Unique request reference identifier.", + "type": "string" + } + }, + "schema": { + "$ref": "#/definitions/ErrorList" + } + }, + "415": { + "description": "The request payload is in an unsupported format.", + "headers": { + "x-amzn-RequestId": { + "description": "Unique request reference identifier.", + "type": "string" + } + }, + "schema": { + "$ref": "#/definitions/ErrorList" + } + }, + "429": { + "description": "The frequency of requests was greater than allowed.", + "headers": { + "x-amzn-RequestId": { + "description": "Unique request reference identifier.", + "type": "string" + } + }, + "schema": { + "$ref": "#/definitions/ErrorList" + } + }, + "500": { + "description": "An unexpected condition occurred that prevented the server from fulfilling the request.", + "headers": { + "x-amzn-RequestId": { + "description": "Unique request reference identifier.", + "type": "string" + } + }, + "schema": { + "$ref": "#/definitions/ErrorList" + } + }, + "503": { + "description": "Temporary overloading or maintenance of the server.", + "headers": { + "x-amzn-RequestId": { + "description": "Unique request reference identifier.", + "type": "string" + } + }, + "schema": { + "$ref": "#/definitions/ErrorList" + } + } + }, + "tags": [ + "awd" + ], + "description": "Retrieves all outbound AWD orders (with optional filters) that pertain to a merchant. By default, orders are sorted by the `updatedAt` attribute in descending order.\n\n**Usage Plan:**\n\n| Rate (requests per second) | Burst |\n| ---- | ---- |\n| 1 | 1 |\n\nThe `x-amzn-RateLimit-Limit` response header returns the usage plan rate limits that were applied to the requested operation, when available. The table above indicates the default rate and burst values for this operation. Selling partners whose business demands require higher throughput may see higher rate and burst values than those shown here. For more information, refer to [Usage Plans and Rate Limits in the Selling Partner API](https://developer-docs.amazon.com/sp-api/docs/usage-plans-and-rate-limits-in-the-sp-api).", + "operationId": "listOutbounds" + }, + "post": { + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "parameters": [ + { + "description": "Payload for creating an outbound order.", + "in": "body", + "name": "body", + "required": true, + "schema": { + "$ref": "#/definitions/OutboundOrderCreationData" + } + } + ], + "responses": { + "201": { + "description": "The 201 response for `createOutbound`.", + "headers": { + "location": { + "description": "Location header with the order ID for the newly created outbound order.", + "type": "string" + }, + "x-amzn-RateLimit-Limit": { + "description": "Your rate limit (requests per second) for this operation.", + "type": "string" + }, + "x-amzn-RequestId": { + "description": "Unique request reference identifier.", + "type": "string" + } + }, + "schema": { + "$ref": "#/definitions/OutboundOrderReference" + }, + "x-amzn-api-sandbox": { + "static": [ + { + "request": { + "parameters": { + "body": { + "value": { + "productsToOutbound": [ + { + "quantity": 20, + "sku": "TEST_SKU" + } + ] + } + } + } + }, + "response": { + "orderId": "TEST_ORDER_ID" + }, + "responseHeaders": { + "location": { + "value": "TEST_ORDER_ID" + } + } + } + ] + } + }, + "400": { + "description": "Request has missing or invalid parameters and cannot be parsed.", + "headers": { + "x-amzn-RateLimit-Limit": { + "description": "Your rate limit (requests per second) for this operation.", + "type": "string" + }, + "x-amzn-RequestId": { + "description": "Unique request reference identifier.", + "type": "string" + } + }, + "schema": { + "$ref": "#/definitions/ErrorList" + }, + "x-amzn-api-sandbox": { + "static": [ + { + "request": { + "parameters": { + "body": { + "value": { + "packagesToOutbound": [{ + "count": 20, + "distributionPackage": { + "type": "TEST", + "contents": { + "products": [ + { + "quantity": 1, + "sku": "TEST_SKU" + } + ] + } + } + }] + } + } + } + }, + "response": { + "errors": [ + { + "code": "BAD_REQUEST", + "details": "This exception is thrown when client inputs are invalid", + "message": "Invalid package type: TEST" + } + ] + } + } + ] + } + }, + "403": { + "description": "Indicates that access to the resource is forbidden. Possible reasons include Access Denied, Unauthorized, Expired Token, or Invalid Signature.", + "headers": { + "x-amzn-RequestId": { + "description": "Unique request reference identifier.", + "type": "string" + } + }, + "schema": { + "$ref": "#/definitions/ErrorList" + } + }, + "404": { + "description": "The resource specified does not exist.", + "headers": { + "x-amzn-RateLimit-Limit": { + "description": "Your rate limit (requests per second) for this operation.", + "type": "string" + }, + "x-amzn-RequestId": { + "description": "Unique request reference identifier.", + "type": "string" + } + }, + "schema": { + "$ref": "#/definitions/ErrorList" + } + }, + "413": { + "description": "The request size exceeded the maximum accepted size.", + "headers": { + "x-amzn-RequestId": { + "description": "Unique request reference identifier.", + "type": "string" + } + }, + "schema": { + "$ref": "#/definitions/ErrorList" + } + }, + "415": { + "description": "The request payload is in an unsupported format.", + "headers": { + "x-amzn-RequestId": { + "description": "Unique request reference identifier.", + "type": "string" + } + }, + "schema": { + "$ref": "#/definitions/ErrorList" + } + }, + "429": { + "description": "The frequency of requests was greater than allowed.", + "headers": { + "x-amzn-RequestId": { + "description": "Unique request reference identifier.", + "type": "string" + } + }, + "schema": { + "$ref": "#/definitions/ErrorList" + } + }, + "500": { + "description": "An unexpected condition occurred that prevented the server from fulfilling the request.", + "headers": { + "x-amzn-RequestId": { + "description": "Unique request reference identifier.", + "type": "string" + } + }, + "schema": { + "$ref": "#/definitions/ErrorList" + } + }, + "503": { + "description": "Temporary overloading or maintenance of the server.", + "headers": { + "x-amzn-RequestId": { + "description": "Unique request reference identifier.", + "type": "string" + } + }, + "schema": { + "$ref": "#/definitions/ErrorList" + } + } + }, + "tags": [ + "awd" + ], + "description": "Creates a draft AWD outbound order with the specified products. The API returns the order ID for the newly created order and starts an async validation check on the outbound products. After the validation check, the order status transitions from `VALIDATING` to `ELIGIBLE/INELIGIBLE`.\n\n**Usage Plan:**\n\n| Rate (requests per second) | Burst |\n| ---- | ---- |\n| 1 | 1 |\n\nThe `x-amzn-RateLimit-Limit` response header returns the usage plan rate limits that were applied to the requested operation, when available. The table above indicates the default rate and burst values for this operation. Selling partners whose business demands require higher throughput may see higher rate and burst values than those shown here. For more information, refer to [Usage Plans and Rate Limits in the Selling Partner API](https://developer-docs.amazon.com/sp-api/docs/usage-plans-and-rate-limits-in-the-sp-api).", + "operationId": "createOutbound" + } + }, + "/awd/2024-05-09/outboundOrders/{orderId}": { + "get": { + "produces": [ + "application/json" + ], + "parameters": [ + { + "description": "ID for the outbound order to be retrieved.", + "in": "path", + "name": "orderId", + "required": true, + "type": "string" + } + ], + "responses": { + "200": { + "description": "The 200 response for `getOutbound`.", + "headers": { + "x-amzn-RateLimit-Limit": { + "description": "Your rate limit (requests per second) for this operation.", + "type": "string" + }, + "x-amzn-RequestId": { + "description": "Unique request reference identifier.", + "type": "string" + } + }, + "schema": { + "$ref": "#/definitions/OutboundOrder" + }, + "x-amzn-api-sandbox": { + "static": [ + { + "request": { + "parameters": { + "orderId": { + "value": "TEST_ORDER_ID" + } + } + }, + "response": { + "eligiblePackagesToOutbound": [], + "eligibleProductsToOutbound": [], + "executionErrors": [], + "orderId": "TEST_ORDER_ID", + "orderPreferences": [], + "orderStatus": "SUCCESS", + "outboundShipments": [], + "packagesToOutbound": [], + "productsToOutbound": [], + "shippedOutboundPackages": [], + "shippedOutboundProducts": [] + } + } + ] + } + }, + "400": { + "description": "Request has missing or invalid parameters and cannot be parsed.", + "headers": { + "x-amzn-RateLimit-Limit": { + "description": "Your rate limit (requests per second) for this operation.", + "type": "string" + }, + "x-amzn-RequestId": { + "description": "Unique request reference identifier.", + "type": "string" + } + }, + "schema": { + "$ref": "#/definitions/ErrorList" + }, + "x-amzn-api-sandbox": { + "static": [ + { + "request": { + "parameters": { + "orderId": { + "value": " " + } + } + }, + "response": { + "errors": [ + { + "code": "BAD_REQUEST", + "details": "This exception is thrown when client inputs are invalid", + "message": "OrderId should be present for this request" + } + ] + } + } + ] + } + }, + "403": { + "description": "Indicates that access to the resource is forbidden. Possible reasons include Access Denied, Unauthorized, Expired Token, or Invalid Signature.", + "headers": { + "x-amzn-RequestId": { + "description": "Unique request reference identifier.", + "type": "string" + } + }, + "schema": { + "$ref": "#/definitions/ErrorList" + } + }, + "404": { + "description": "The resource specified does not exist.", + "headers": { + "x-amzn-RateLimit-Limit": { + "description": "Your rate limit (requests per second) for this operation.", + "type": "string" + }, + "x-amzn-RequestId": { + "description": "Unique request reference identifier.", + "type": "string" + } + }, + "schema": { + "$ref": "#/definitions/ErrorList" + } + }, + "413": { + "description": "The request size exceeded the maximum accepted size.", + "headers": { + "x-amzn-RequestId": { + "description": "Unique request reference identifier.", + "type": "string" + } + }, + "schema": { + "$ref": "#/definitions/ErrorList" + } + }, + "415": { + "description": "The request payload is in an unsupported format.", + "headers": { + "x-amzn-RequestId": { + "description": "Unique request reference identifier.", + "type": "string" + } + }, + "schema": { + "$ref": "#/definitions/ErrorList" + } + }, + "429": { + "description": "The frequency of requests was greater than allowed.", + "headers": { + "x-amzn-RequestId": { + "description": "Unique request reference identifier.", + "type": "string" + } + }, + "schema": { + "$ref": "#/definitions/ErrorList" + } + }, + "500": { + "description": "An unexpected condition occurred that prevented the server from fulfilling the request.", + "headers": { + "x-amzn-RequestId": { + "description": "Unique request reference identifier.", + "type": "string" + } + }, + "schema": { + "$ref": "#/definitions/ErrorList" + } + }, + "503": { + "description": "Temporary overloading or maintenance of the server.", + "headers": { + "x-amzn-RequestId": { + "description": "Unique request reference identifier.", + "type": "string" + } + }, + "schema": { + "$ref": "#/definitions/ErrorList" + } + } + }, + "tags": [ + "awd" + ], + "description": "Retrieves an AWD outbound order with a set of shipments that contain items that are outbound into a destination channel. If the order is not eligible, the validation errors field is included in the order response. The API returns the order ID for the newly created order and starts an async validation check on the outbound products. After the validation check, the order status transitions from `VALIDATING` to `ELIGIBLE/INELIGIBLE`.\n\n**Usage Plan:**\n\n| Rate (requests per second) | Burst |\n| ---- | ---- |\n| 1 | 1 |\n\nThe `x-amzn-RateLimit-Limit` response header returns the usage plan rate limits that were applied to the requested operation, when available. The table above indicates the default rate and burst values for this operation. Selling partners whose business demands require higher throughput may see higher rate and burst values than those shown here. For more information, refer to [Usage Plans and Rate Limits in the Selling Partner API](https://developer-docs.amazon.com/sp-api/docs/usage-plans-and-rate-limits-in-the-sp-api).", + "operationId": "getOutbound" + }, + "put": { + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "parameters": [ + { + "description": "ID for the outbound order to be updated.", + "in": "path", + "name": "orderId", + "required": true, + "type": "string" + }, + { + "description": "Represents an AWD outbound order.", + "in": "body", + "name": "body", + "required": true, + "schema": { + "$ref": "#/definitions/OutboundOrder" + } + } + ], + "responses": { + "200": { + "description": "The 200 response for `updateOutbound`.", + "headers": { + "x-amzn-RateLimit-Limit": { + "description": "Your rate limit (requests per second) for this operation.", + "type": "string" + }, + "x-amzn-RequestId": { + "description": "Unique request reference identifier.", + "type": "string" + } + }, + "schema": { + "$ref": "#/definitions/OutboundOrderReference" + }, + "x-amzn-api-sandbox": { + "static": [ + { + "request": { + "parameters": { + "orderId": { + "value": "TEST_ORDER_ID" + }, + "body": { + "value": { + "eligiblePackagesToOutbound": [], + "eligibleProductsToOutbound": [], + "executionErrors": [], + "orderId": "TEST_ORDER_ID", + "orderPreferences": [], + "orderStatus": "SUCCESS", + "outboundShipments": [], + "packagesToOutbound": [], + "productsToOutbound": [ + { + "quantity": 10, + "sku": "testPen" + } + ], + "shippedOutboundPackages": [], + "shippedOutboundProducts": [] + } + } + } + }, + "response": { + "orderId": "TEST_ORDER_ID" + } + } + ] + } + }, + "400": { + "description": "Request has missing or invalid parameters and cannot be parsed.", + "headers": { + "x-amzn-RateLimit-Limit": { + "description": "Your rate limit (requests per second) for this operation.", + "type": "string" + }, + "x-amzn-RequestId": { + "description": "Unique request reference identifier.", + "type": "string" + } + }, + "schema": { + "$ref": "#/definitions/ErrorList" + }, + "x-amzn-api-sandbox": { + "static": [ + { + "request": { + "parameters": { + "orderId": { + "value": "TEST_ORDER_ID" + }, + "body": { + "value": { + "eligiblePackagesToOutbound": [], + "eligibleProductsToOutbound": [], + "executionErrors": [], + "orderId": "TEST_ORDER_ID", + "orderPreferences": [], + "orderStatus": "SUCCESS", + "outboundShipments": [], + "packagesToOutbound": [{ + "count": 20, + "distributionPackage": { + "type": "TEST", + "contents": { + "products": [ + { + "quantity": 1, + "sku": "TEST_SKU" + } + ] + } + } + }], + "productsToOutbound": [], + "shippedOutboundPackages": [], + "shippedOutboundProducts": [] + } + } + } + }, + "response": { + "errors": [ + { + "code": "BAD_REQUEST", + "details": "This exception is thrown when client inputs are invalid", + "message": "Invalid package type: TEST" + } + ] + } + } + ] + } + }, + "403": { + "description": "Indicates that access to the resource is forbidden. Possible reasons include Access Denied, Unauthorized, Expired Token, or Invalid Signature.", + "headers": { + "x-amzn-RequestId": { + "description": "Unique request reference identifier.", + "type": "string" + } + }, + "schema": { + "$ref": "#/definitions/ErrorList" + } + }, + "404": { + "description": "The resource specified does not exist.", + "headers": { + "x-amzn-RateLimit-Limit": { + "description": "Your rate limit (requests per second) for this operation.", + "type": "string" + }, + "x-amzn-RequestId": { + "description": "Unique request reference identifier.", + "type": "string" + } + }, + "schema": { + "$ref": "#/definitions/ErrorList" + } + }, + "413": { + "description": "The request size exceeded the maximum accepted size.", + "headers": { + "x-amzn-RequestId": { + "description": "Unique request reference identifier.", + "type": "string" + } + }, + "schema": { + "$ref": "#/definitions/ErrorList" + } + }, + "415": { + "description": "The request payload is in an unsupported format.", + "headers": { + "x-amzn-RequestId": { + "description": "Unique request reference identifier.", + "type": "string" + } + }, + "schema": { + "$ref": "#/definitions/ErrorList" + } + }, + "429": { + "description": "The frequency of requests was greater than allowed.", + "headers": { + "x-amzn-RequestId": { + "description": "Unique request reference identifier.", + "type": "string" + } + }, + "schema": { + "$ref": "#/definitions/ErrorList" + } + }, + "500": { + "description": "An unexpected condition occurred that prevented the server from fulfilling the request.", + "headers": { + "x-amzn-RequestId": { + "description": "Unique request reference identifier.", + "type": "string" + } + }, + "schema": { + "$ref": "#/definitions/ErrorList" + } + }, + "503": { + "description": "Temporary overloading or maintenance of the server.", + "headers": { + "x-amzn-RequestId": { + "description": "Unique request reference identifier.", + "type": "string" + } + }, + "schema": { + "$ref": "#/definitions/ErrorList" + } + } + }, + "tags": [ + "awd" + ], + "description": "Updates an AWD outbound order that is in `DRAFT`, `ELIGIBLE`, or `INELIGIBLE` status. This API allows updates on `productsToOutbound` and `orderPreferences` attributes only. Any updates will restart the outbound order validation.\n\n**Usage Plan:**\n\n| Rate (requests per second) | Burst |\n| ---- | ---- |\n| 1 | 1 |\n\nThe `x-amzn-RateLimit-Limit` response header returns the usage plan rate limits that were applied to the requested operation, when available. The table above indicates the default rate and burst values for this operation. Selling partners whose business demands require higher throughput may see higher rate and burst values than those shown here. For more information, refer to [Usage Plans and Rate Limits in the Selling Partner API](https://developer-docs.amazon.com/sp-api/docs/usage-plans-and-rate-limits-in-the-sp-api).", + "operationId": "updateOutbound" + } + }, + "/awd/2024-05-09/outboundOrders/{orderId}/confirmation": { + "post": { + "produces": [ + "application/json" + ], + "parameters": [ + { + "description": "ID for the outbound order you want to confirm.", + "in": "path", + "name": "orderId", + "required": true, + "type": "string" + } + ], + "responses": { + "204": { + "description": "The 204 response for `confirmOutbound`.", + "headers": { + "x-amzn-RateLimit-Limit": { + "description": "Your rate limit (requests per second) for this operation.", + "type": "string" + }, + "x-amzn-RequestId": { + "description": "Unique request reference identifier.", + "type": "string" + } + }, + "x-amzn-api-sandbox": { + "static": [ + { + "request": { + "parameters": { + "orderId": { + "value": "TestOrderId1" + } + } + } + } + ] + }, + "examples": { + "application/json": [{}] + } + }, + "400": { + "description": "Request has missing or invalid parameters and cannot be parsed.", + "headers": { + "x-amzn-RateLimit-Limit": { + "description": "Your rate limit (requests per second) for this operation.", + "type": "string" + }, + "x-amzn-RequestId": { + "description": "Unique request reference identifier.", + "type": "string" + } + }, + "schema": { + "$ref": "#/definitions/ErrorList" + }, + "x-amzn-api-sandbox": { + "static": [ + { + "request": { + "parameters": { + "orderId": { + "value": " " + } + } + }, + "response": { + "errors": [ + { + "code": "BAD_REQUEST", + "details": "This exception is thrown when client inputs are invalid", + "message": "OrderId should be present for this request" + } + ] + } + } + ] + } + }, + "403": { + "description": "Indicates that access to the resource is forbidden. Possible reasons include Access Denied, Unauthorized, Expired Token, or Invalid Signature.", + "headers": { + "x-amzn-RequestId": { + "description": "Unique request reference identifier.", + "type": "string" + } + }, + "schema": { + "$ref": "#/definitions/ErrorList" + } + }, + "404": { + "description": "The resource specified does not exist.", + "headers": { + "x-amzn-RateLimit-Limit": { + "description": "Your rate limit (requests per second) for this operation.", + "type": "string" + }, + "x-amzn-RequestId": { + "description": "Unique request reference identifier.", + "type": "string" + } + }, + "schema": { + "$ref": "#/definitions/ErrorList" + } + }, + "413": { + "description": "The request size exceeded the maximum accepted size.", + "headers": { + "x-amzn-RequestId": { + "description": "Unique request reference identifier.", + "type": "string" + } + }, + "schema": { + "$ref": "#/definitions/ErrorList" + } + }, + "415": { + "description": "The request payload is in an unsupported format.", + "headers": { + "x-amzn-RequestId": { + "description": "Unique request reference identifier.", + "type": "string" + } + }, + "schema": { + "$ref": "#/definitions/ErrorList" + } + }, + "429": { + "description": "The frequency of requests was greater than allowed.", + "headers": { + "x-amzn-RequestId": { + "description": "Unique request reference identifier.", + "type": "string" + } + }, + "schema": { + "$ref": "#/definitions/ErrorList" + } + }, + "500": { + "description": "An unexpected condition occurred that prevented the server from fulfilling the request.", + "headers": { + "x-amzn-RequestId": { + "description": "Unique request reference identifier.", + "type": "string" + } + }, + "schema": { + "$ref": "#/definitions/ErrorList" + } + }, + "503": { + "description": "Temporary overloading or maintenance of the server.", + "headers": { + "x-amzn-RequestId": { + "description": "Unique request reference identifier.", + "type": "string" + } + }, + "schema": { + "$ref": "#/definitions/ErrorList" + } + } + }, + "tags": [ + "awd" + ], + "description": "Confirms an AWD outbound order for a set of shipments that contain items that must be outbound to a destination node. You can confirm the order only if it's in an`ELIGIBLE` state.\n\n**Usage Plan:**\n\n| Rate (requests per second) | Burst |\n| ---- | ---- |\n| 1 | 1 |\n\nThe `x-amzn-RateLimit-Limit` response header returns the usage plan rate limits that were applied to the requested operation, when available. The table above indicates the default rate and burst values for this operation. Selling partners whose business demands require higher throughput may see higher rate and burst values than those shown here. For more information, refer to [Usage Plans and Rate Limits in the Selling Partner API](https://developer-docs.amazon.com/sp-api/docs/usage-plans-and-rate-limits-in-the-sp-api).", + "operationId": "confirmOutbound" + } + } + }, + "definitions": { + "Address": { + "description": "Shipping address that represents the origin or destination location.", + "properties": { "addressLine1": { "description": "First line of the address text.", "type": "string" @@ -915,7 +4283,7 @@ "type": "string", "x-docgen-enum-table-extension": [ { - "description": "Standard Carrier Alpha Code. Ref: https://help.cbp.gov/s/article/Article-572?language=en_US.", + "description": "Standard Carrier Alpha Code. Refer to [What is a Standard Carrier Alpha Code](https://www.help.cbp.gov/s/article/Article-1420?language=en_US) for more information.", "value": "SCAC" } ], @@ -1077,43 +4445,515 @@ ], "example": "CASE" }, - "Error": { - "description": "Error response returned when the request is unsuccessful.", + "Error": { + "description": "Error response returned when the request is unsuccessful.", + "properties": { + "code": { + "description": "An error code that identifies the type of error that occurred.", + "type": "string" + }, + "details": { + "description": "Additional details that can help the caller understand or fix the issue.", + "type": "string" + }, + "message": { + "description": "A message that describes the error condition.", + "type": "string" + } + }, + "required": [ + "code", + "message" + ], + "type": "object" + }, + "ErrorList": { + "description": "This exception is thrown when client inputs are invalid.", + "properties": { + "errors": { + "description": "A list of errors describing the failures.", + "items": { + "$ref": "#/definitions/Error" + }, + "type": "array" + } + }, + "type": "object", + "required": [ + "errors" + ] + }, + "FormatType": { + "description": "The label format type extension.", + "enum": [ + "PDF" + ], + "type": "string", + "x-docgen-enum-table-extension": [ + { + "description": "PDF format.", + "value": "PDF" + } + ], + "example": "PDF" + }, + "InboundEligibility": { + "description": "Represents the eligibility status of the inbound packages.", + "properties": { + "ineligibilityReasons": { + "description": "If there are order level eligibility issues, then this list will contain those error codes and descriptions.", + "items": { + "$ref": "#/definitions/OrderIneligibilityReason" + }, + "type": "array" + }, + "packagesToInbound": { + "description": "Details on SKU eligibility for each inbound package.", + "items": { + "$ref": "#/definitions/SkuEligibility" + }, + "type": "array" + }, + "previewedAt": { + "description": "Timestamp when the eligibility check is performed.", + "format": "date-time", + "type": "string" + }, + "status": { + "$ref": "#/definitions/InboundEligibilityStatus" + } + }, + "required": [ + "packagesToInbound", + "previewedAt", + "status" + ], + "type": "object" + }, + "InboundEligibilityStatus": { + "description": "Enum denoting the package inbound eligibility.", + "enum": [ + "ELIGIBLE", + "INELIGIBLE" + ], + "type": "string", + "x-docgen-enum-table-extension": [ + { + "description": "Eligible to inbound.", + "value": "ELIGIBLE" + }, + { + "description": "Ineligible to inbound.", + "value": "INELIGIBLE" + } + ] + }, + "InboundOrder": { + "description": "Represents an AWD inbound order.", + "properties": { + "channelPlacedInboundShipments": { + "description": "List of inbound shipments part of this order.", + "items": { + "$ref": "#/definitions/InboundShipment" + }, + "minItems": 1, + "type": "array" + }, + "createdAt": { + "description": "Date when this order was created.", + "format": "date-time", + "type": "string" + }, + "externalReferenceId": { + "description": "Reference ID that can be used to correlate the order with partner resources.", + "type": "string", + "example": "TestReferenceId" + }, + "orderId": { + "description": "Inbound order ID.", + "type": "string" + }, + "orderStatus": { + "description": "Inbound order status.", + "$ref": "#/definitions/InboundStatus" + }, + "orderVersion": { + "description": "Inbound order version.", + "type": "string" + }, + "originAddress": { + "description": "Origin address from where the inbound order will be shipped.", + "$ref": "#/definitions/Address" + }, + "packagesToInbound": { + "description": "List of packages to be inbounded.", + "items": { + "$ref": "#/definitions/DistributionPackageQuantity" + }, + "minItems": 1, + "type": "array" + }, + "shipBy": { + "description": "Date by which this order will be shipped.", + "format": "date-time", + "type": "string", + "example": "2023-01-12T10:00:00.000Z" + }, + "transportationPreference": { + "description": "Represents the transportation preference for the inbound order. We only support `SELLER_MANAGED`.", + "$ref": "#/definitions/TransportationPreference" + }, + "updatedAt": { + "description": "Date when this order was last updated.", + "format": "date-time", + "type": "string" + } + }, + "required": [ + "channelPlacedInboundShipments", + "createdAt", + "orderId", + "orderStatus", + "orderVersion", + "originAddress", + "packagesToInbound", + "transportationPreference" + ], + "type": "object", + "example": { + "channelPlacedInboundShipments": [ + { + "destinationAddress": { + "addressLine1": "address_1", + "addressLine2": "address_2", + "addressLine3": "address_3", + "city": "Seattle", + "countryCode": "US", + "county": "Washington", + "district": "District1", + "name": "address_name", + "phoneNumber": "+14155552671", + "postalCode": "123456", + "stateOrRegion": "Washington" + }, + "orderId": "TestOrderId", + "originAddress": { + "addressLine1": "address_1", + "addressLine2": "address_2", + "addressLine3": "address_3", + "city": "Seattle", + "countryCode": "US", + "county": "Washington", + "district": "District1", + "name": "address_name", + "phoneNumber": "+14155552671", + "postalCode": "123456", + "stateOrRegion": "Washington" + }, + "receivedQuantity": [], + "shipmentContainerQuantities": [ + { + "count": 1, + "distributionPackage": { + "contents": { + "packages": [], + "products": [ + { + "quantity": 1, + "sku": "testPen" + } + ] + }, + "measurements": { + "dimensions": { + "height": 2.54, + "length": 2.54, + "unitOfMeasurement": "CENTIMETERS", + "width": 2.54 + }, + "weight": { + "unitOfMeasurement": "KILOGRAMS", + "weight": 0.453592 + } + }, + "type": "CASE" + } + } + ], + "shipmentId": "TestShipmentId", + "shipmentStatus": "CREATED" + } + ], + "createdAt": "2023-06-07T12:12:09.061Z", + "externalReferenceId": "TestReferenceId", + "orderId": "TestOrderId", + "orderStatus": "DRAFT", + "orderVersion": "2", + "originAddress": { + "addressLine1": "address_1", + "addressLine2": "address_2", + "addressLine3": "address_3", + "city": "Seattle", + "countryCode": "US", + "county": "Washington", + "district": "District1", + "name": "address_name", + "phoneNumber": "+14155552671", + "postalCode": "123456", + "stateOrRegion": "Washington" + }, + "packagesToInbound": [ + { + "count": 1, + "distributionPackage": { + "contents": { + "packages": [], + "products": [ + { + "quantity": 1, + "sku": "testPen" + } + ] + }, + "measurements": { + "dimensions": { + "height": 2.54, + "length": 2.54, + "unitOfMeasurement": "CENTIMETERS", + "width": 2.54 + }, + "weight": { + "unitOfMeasurement": "KILOGRAMS", + "weight": 0.453592 + } + }, + "type": "CASE" + } + } + ], + "shipBy": "2023-06-07T12:12:09.061Z", + "transportationPreference": "SELLER_MANAGED", + "updatedAt": "2023-06-07T12:12:09.061Z" + } + }, + "InboundOrderCreationData": { + "description": "Payload for creating an inbound order.", + "properties": { + "externalReferenceId": { + "description": "Reference ID that can be used to correlate the order with partner resources.", + "type": "string", + "example": "TestReferenceId" + }, + "originAddress": { + "description": "Origin address from where the inbound order will be shipped.", + "$ref": "#/definitions/Address" + }, + "packagesToInbound": { + "description": "List of packages to be inbounded.", + "items": { + "$ref": "#/definitions/DistributionPackageQuantity" + }, + "minItems": 1, + "type": "array", + "example": [ + { + "count": 1, + "distributionPackage": { + "contents": { + "products": [ + { + "quantity": 1, + "sku": "testPen" + } + ] + }, + "measurements": { + "dimensions": { + "height": 1, + "length": 1, + "unitOfMeasurement": "INCHES", + "width": 1 + }, + "volume": { + "unitOfMeasurement": "CUIN", + "volume": 1 + }, + "weight": { + "unitOfMeasurement": "POUNDS", + "weight": 1 + } + }, + "type": "CASE" + } + } + ] + }, + "shipBy": { + "description": "Estimated date by when goods have to be picked up.", + "format": "date-time", + "type": "string", + "example": "2023-06-07T12:12:09.061Z" + }, + "transportationPreference": { + "description": "Represents the transportation preference to be used for the inbound order. We only support `SELLER_MANAGED`", + "$ref": "#/definitions/TransportationPreference" + } + }, + "required": [ + "originAddress", + "packagesToInbound", + "transportationPreference" + ], + "type": "object", + "example": { + "externalReferenceId": "TestReferenceId", + "originAddress": { + "addressLine1": "address_1", + "addressLine2": "address_2", + "addressLine3": "address_3", + "city": "City1", + "countryCode": "CC", + "district": "District1", + "name": "address_name", + "postalCode": "123456", + "stateOrRegion": "State1" + }, + "packagesToInbound": [ + { + "count": 1, + "distributionPackage": { + "contents": { + "products": [ + { + "quantity": 1, + "sku": "testPen" + } + ] + }, + "measurements": { + "dimensions": { + "height": 1, + "length": 1, + "unitOfMeasurement": "INCHES", + "width": 1 + }, + "volume": { + "unitOfMeasurement": "CUIN", + "volume": 1 + }, + "weight": { + "unitOfMeasurement": "POUNDS", + "weight": 1 + } + }, + "type": "CASE" + } + } + ], + "shipBy": "2023-06-07T12:12:09.061Z", + "transportationPreference": "SELLER_MANAGED" + } + }, + "InboundOrderReference": { + "description": "A response that contains the reference identifiers for the newly created or updated inbound order. Consists of an order ID and version.", "properties": { - "code": { - "description": "An error code that identifies the type of error that occurred.", - "type": "string" - }, - "details": { - "description": "Additional details that can help the caller understand or fix the issue.", + "orderId": { + "description": "Order ID of the inbound order.", "type": "string" }, - "message": { - "description": "A message that describes the error condition.", + "orderVersion": { + "description": "Order version of the inbound order.", "type": "string" } }, "required": [ - "code", - "message" + "orderId", + "orderVersion" ], "type": "object" }, - "ErrorList": { - "description": "This exception is thrown when client inputs are invalid.", + "InboundPackages": { + "description": "Represents the packages to inbound.", "properties": { - "errors": { - "description": "A list of errors describing the failures.", + "packagesToInbound": { + "description": "List of packages to be inbounded.", "items": { - "$ref": "#/definitions/Error" + "$ref": "#/definitions/DistributionPackageQuantity" }, - "type": "array" + "minItems": 1, + "type": "array", + "example": [ + { + "count": 1, + "distributionPackage": { + "contents": { + "products": [ + { + "quantity": 1, + "sku": "testPen" + } + ] + }, + "measurements": { + "dimensions": { + "height": 1, + "length": 1, + "unitOfMeasurement": "INCHES", + "width": 1 + }, + "volume": { + "unitOfMeasurement": "CUIN", + "volume": 1 + }, + "weight": { + "unitOfMeasurement": "POUNDS", + "weight": 1 + } + }, + "type": "CASE" + } + } + ] } }, - "type": "object", "required": [ - "errors" - ] + "packagesToInbound" + ], + "type": "object", + "example": { + "packagesToInbound": [ + { + "count": 1, + "distributionPackage": { + "contents": { + "products": [ + { + "quantity": 1, + "sku": "testPen" + } + ] + }, + "measurements": { + "dimensions": { + "height": 1, + "length": 1, + "unitOfMeasurement": "INCHES", + "width": 1 + }, + "volume": { + "unitOfMeasurement": "CUIN", + "volume": 1 + }, + "weight": { + "unitOfMeasurement": "POUNDS", + "weight": 1 + } + }, + "type": "CASE" + } + } + ] + } }, "InboundShipment": { "description": "Represents an AWD inbound shipment.", @@ -1169,6 +5009,13 @@ "minLength": 1, "type": "string" }, + "shipmentSkuQuantities": { + "description": "Quantity details at SKU level for the shipment. This attribute will only appear if the skuQuantities parameter in the request is set to SHOW.", + "items": { + "$ref": "#/definitions/SkuQuantity" + }, + "type": "array" + }, "shipmentStatus": { "description": "Current status of this shipment.", "$ref": "#/definitions/InboundShipmentStatus" @@ -1199,226 +5046,865 @@ ], "type": "object" }, - "InboundShipmentStatus": { - "description": "Possible shipment statuses used by shipments.", + "InboundShipmentStatus": { + "description": "Possible shipment statuses used by shipments.", + "enum": [ + "CREATED", + "SHIPPED", + "IN_TRANSIT", + "RECEIVING", + "DELIVERED", + "CLOSED", + "CANCELLED" + ], + "type": "string", + "x-docgen-enum-table-extension": [ + { + "description": "Shipment is created but has not yet shipped.", + "value": "CREATED" + }, + { + "description": "Shipment was picked up by the carrier or was dropped off with the carrier.", + "value": "SHIPPED" + }, + { + "description": "The carrier has notified AWD that the shipment is in transit between origin and destination node.", + "value": "IN_TRANSIT" + }, + { + "description": "The shipment has been partially received.", + "value": "RECEIVING" + }, + { + "description": "The shipment has reached the destination node and has been delivered to the facility yard. The shipment receive process at the warehouse will start soon.", + "value": "DELIVERED" + }, + { + "description": "No more actions required on the shipment. This is a final state.", + "value": "CLOSED" + }, + { + "description": "Shipment has been cancelled. This is a final state.", + "value": "CANCELLED" + } + ] + }, + "InboundShipmentSummary": { + "description": "Summary for an AWD inbound shipment containing the shipment ID, which can be used to retrieve the actual shipment.", + "properties": { + "createdAt": { + "description": "Timestamp when the shipment was created.", + "format": "date-time", + "type": "string" + }, + "externalReferenceId": { + "description": "Optional client-provided reference ID that can be used to correlate this shipment with client resources. For example, to map this shipment to an internal bookkeeping order record.", + "type": "string", + "example": "TestReferenceId" + }, + "orderId": { + "description": "The AWD inbound order ID that this inbound shipment belongs to.", + "minLength": 1, + "type": "string" + }, + "shipmentId": { + "description": "A unique shipment ID.", + "minLength": 1, + "type": "string" + }, + "shipmentStatus": { + "$ref": "#/definitions/InboundShipmentStatus" + }, + "updatedAt": { + "description": "Timestamp when the shipment was updated.", + "format": "date-time", + "type": "string" + } + }, + "required": [ + "orderId", + "shipmentId", + "shipmentStatus" + ], + "type": "object" + }, + "InboundStatus": { + "description": "The supported statuses for an inbound order.", + "enum": [ + "DRAFT", + "VALIDATING", + "CONFIRMED", + "CLOSED", + "EXPIRED", + "CANCELLED" + ], + "type": "string", + "x-docgen-enum-table-extension": [ + { + "description": "A newly created inbound order will start in this state.", + "value": "DRAFT" + }, + { + "description": "The order is in this state while being updated. Once updated, the order will enter the updated state.", + "value": "VALIDATING" + }, + { + "description": "The order enters this state as soon as the order is confirmed.", + "value": "CONFIRMED" + }, + { + "description": "The order enters this state when all associated shipments are closed.", + "value": "CLOSED" + }, + { + "description": "The order enters this state if it is not confirmed within a time limit.", + "value": "EXPIRED" + } + ] + }, + "InventoryDetails": { + "description": "Additional inventory details. This object is only displayed if the details parameter in the request is set to `SHOW`.", + "properties": { + "availableDistributableQuantity": { + "description": "Quantity that is available for downstream channel replenishment.", + "format": "int64", + "type": "integer" + }, + "reservedDistributableQuantity": { + "description": "Quantity that is reserved for a downstream channel replenishment order that is being prepared for shipment.", + "format": "int64", + "type": "integer" + } + }, + "type": "object" + }, + "InventoryDetailsVisibility": { + "description": "Enum to specify if returned summaries should include additional summarized inventory details and quantities.", + "enum": [ + "SHOW", + "HIDE" + ], + "type": "string", + "x-docgen-enum-table-extension": [ + { + "description": "Show the additional summarized inventory details.", + "value": "SHOW" + }, + { + "description": "Hide the additional summarized inventory details.", + "value": "HIDE" + } + ], + "example": "SHOW" + }, + "InventoryListing": { + "description": "AWD inventory payload.", + "properties": { + "inventory": { + "description": "List of inventory summaries.", + "items": { + "$ref": "#/definitions/InventorySummary" + }, + "type": "array" + }, + "nextToken": { + "description": "Token to retrieve the next set of paginated results.", + "type": "string", + "example": "SampleToken" + } + }, + "required": [ + "inventory" + ], + "type": "object" + }, + "InventoryQuantity": { + "description": "Quantity of inventory with an associated measurement unit context.", + "properties": { + "quantity": { + "description": "Quantity of the respective inventory.", + "type": "number" + }, + "unitOfMeasurement": { + "description": "Unit of measurement for the inventory.", + "$ref": "#/definitions/InventoryUnitOfMeasurement" + } + }, + "required": [ + "quantity", + "unitOfMeasurement" + ], + "type": "object" + }, + "InventorySummary": { + "description": "Summary of inventory per SKU.", + "properties": { + "inventoryDetails": { + "$ref": "#/definitions/InventoryDetails" + }, + "sku": { + "description": "The seller or merchant SKU.", + "type": "string" + }, + "totalInboundQuantity": { + "description": "Total quantity that is in-transit from the seller and has not yet been received at an AWD Distribution Center", + "format": "int64", + "type": "integer" + }, + "totalOnhandQuantity": { + "description": "Total quantity that is present in AWD distribution centers.", + "format": "int64", + "type": "integer" + } + }, + "required": [ + "sku" + ], + "type": "object" + }, + "InventoryUnitOfMeasurement": { + "description": "Unit of measurement for the inventory.", "enum": [ - "CREATED", - "SHIPPED", - "IN_TRANSIT", - "RECEIVING", - "DELIVERED", - "CLOSED", - "CANCELLED" + "PRODUCT_UNITS", + "CASES", + "PALLETS" ], "type": "string", "x-docgen-enum-table-extension": [ { - "description": "Shipment is created but has not yet shipped.", - "value": "CREATED" + "description": "Measures a discrete amount of product units.", + "value": "PRODUCT_UNITS" }, { - "description": "Shipment was picked up by the carrier or was dropped off with the carrier.", - "value": "SHIPPED" + "description": "Measures a discrete amount of cases.", + "value": "CASES" }, { - "description": "The carrier has notified AWD that the shipment is in transit between origin and destination node.", - "value": "IN_TRANSIT" - }, + "description": "Measures a discrete amount of pallets.", + "value": "PALLETS" + } + ] + }, + "LabelStatus": { + "description": "The status of your label.", + "enum": [ + "GENERATING", + "GENERATED", + "GENERATION_FAILED", + "NOT_READY" + ], + "type": "string", + "x-docgen-enum-table-extension": [ { - "description": "The shipment has been partially received.", - "value": "RECEIVING" + "description": "Labels are being generated.", + "value": "GENERATING" }, { - "description": "The shipment has reached the destination node and has been delivered to the facility yard. The shipment receive process at the warehouse will start soon.", - "value": "DELIVERED" + "description": "Labels are generated.", + "value": "GENERATED" }, { - "description": "No more actions required on the shipment. This is a final state.", - "value": "CLOSED" + "description": "Label generation failed.", + "value": "GENERATION_FAILED" }, { - "description": "Shipment has been cancelled. This is a final state.", - "value": "CANCELLED" + "description": "Not yet ready to start label generation.", + "value": "NOT_READY" } ] }, - "InboundShipmentSummary": { - "description": "Summary for an AWD inbound shipment containing the shipment ID, which can be used to retrieve the actual shipment.", + "MeasurementData": { + "description": "Package weight and dimension.", "properties": { - "createdAt": { - "description": "Timestamp when the shipment was created.", - "format": "date-time", - "type": "string" - }, - "externalReferenceId": { - "description": "Optional client-provided reference ID that can be used to correlate this shipment with client resources. For example, to map this shipment to an internal bookkeeping order record.", - "type": "string", - "example": "TestReferenceId" - }, - "orderId": { - "description": "The AWD inbound order ID that this inbound shipment belongs to.", - "minLength": 1, - "type": "string" - }, - "shipmentId": { - "description": "A unique shipment ID.", - "minLength": 1, - "type": "string" + "dimensions": { + "description": "Dimensions of the package. Dimensions are required when creating an inbound or outbound order.", + "$ref": "#/definitions/PackageDimensions" }, - "shipmentStatus": { - "$ref": "#/definitions/InboundShipmentStatus" + "volume": { + "description": "Volume of the package.", + "$ref": "#/definitions/PackageVolume" }, - "updatedAt": { - "description": "Timestamp when the shipment was updated.", - "format": "date-time", - "type": "string" + "weight": { + "description": "Weight of the package.", + "$ref": "#/definitions/PackageWeight" } }, "required": [ - "orderId", - "shipmentId", - "shipmentStatus" + "weight" ], "type": "object" }, - "InventoryDetails": { - "description": "Additional inventory details. This object is only displayed if the details parameter in the request is set to `SHOW`.", + "OrderAttribute": { + "description": "Consists of the order preference and corresponding preference value.", "properties": { - "availableDistributableQuantity": { - "description": "Quantity that is available for downstream channel replenishment.", - "format": "int64", - "type": "integer" + "orderPreference": { + "description": "Preference for the distribution order.", + "$ref": "#/definitions/OrderPreference" }, - "reservedDistributableQuantity": { - "description": "Quantity that is reserved for a downstream channel replenishment order that is being prepared for shipment.", - "format": "int64", - "type": "integer" + "orderPreferenceValue": { + "description": "Value for the order preference.", + "$ref": "#/definitions/OrderPreferenceValue" } }, - "type": "object" + "required": [ + "orderPreference", + "orderPreferenceValue" + ], + "type": "object", + "example": { + "orderPreference": "PARTIAL_ORDER", + "orderPreferenceValue": "SET" + } }, - "InventoryDetailsVisibility": { - "description": "Enum to specify if returned summaries should include additional summarized inventory details and quantities.", + "OrderIneligibilityReason": { + "description": "Represents one ineligibility reason for the order (there can be multiple reasons).", + "properties": { + "code": { + "description": "Code for the order ineligibility.", + "type": "string", + "example": "INVALID_MSKU" + }, + "description": { + "description": "Description detailing the ineligibility reason of the order.", + "type": "string", + "example": "The MSKU passed as part of order is invalid" + } + }, + "required": [ + "code", + "description" + ], + "type": "object", + "example": { + "code": "INVALID_MSKU", + "description": "The MSKU of an invalid order." + } + }, + "OrderPreference": { + "description": "Supported preferences for the distribution order.", "enum": [ - "SHOW", - "HIDE" + "PARTIAL_ORDER" ], "type": "string", "x-docgen-enum-table-extension": [ { - "description": "Show the additional summarized inventory details.", - "value": "SHOW" + "description": "Represents a partial order case.", + "value": "PARTIAL_ORDER" + } + ], + "example": "PARTIAL_ORDER" + }, + "OrderPreferenceValue": { + "description": "Value for the order preference.", + "enum": [ + "SET", + "UNSET" + ], + "type": "string", + "x-docgen-enum-table-extension": [ + { + "description": "Sets the order preference.", + "value": "SET" }, { - "description": "Hide the additional summarized inventory details.", - "value": "HIDE" + "description": "Unsets the order preference.", + "value": "UNSET" } ], - "example": "SHOW" + "example": "SET" }, - "InventoryListing": { - "description": "AWD inventory payload.", + "OutboundExecutionError": { + "description": "Execution errors associated with the outbound order. This field will be populated if the order failed validation.", "properties": { - "inventory": { - "description": "List of inventory summaries.", + "failureCode": { + "description": "Failure code details for the error.", + "type": "string", + "example": "TestErrorCode" + }, + "failureReasons": { + "description": "Failure reasons for the error.", "items": { - "$ref": "#/definitions/InventorySummary" + "type": "string" }, - "type": "array" + "type": "array", + "example": [ + "Test failure reason" + ] }, + "sku": { + "description": "MSKU associated with the error.", + "type": "string", + "example": "SampleSKU" + } + }, + "required": [ + "failureCode", + "failureReasons" + ], + "type": "object", + "example": { + "failureCode": "TestErrorCode", + "failureReasons": [ + "Test failure reason" + ], + "sku": "SampleSKU" + } + }, + "OutboundListing": { + "description": "A list of paginated outbound orders filtered by the attributes passed in the request.", + "properties": { "nextToken": { "description": "Token to retrieve the next set of paginated results.", "type": "string", "example": "SampleToken" + }, + "outboundOrders": { + "description": "List of outbound orders.", + "items": { + "$ref": "#/definitions/OutboundOrder" + }, + "type": "array" + } + }, + "type": "object" + }, + "OutboundOrder": { + "description": "Represents an AWD outbound order.", + "properties": { + "confirmedOn": { + "description": "Date on which this outbound order was confirmed.", + "format": "date-time", + "type": "string", + "example": "2023-01-12T10:00:00.000Z" + }, + "createdAt": { + "description": "Date on which this outbound order was created.", + "format": "date-time", + "type": "string", + "example": "2023-01-12T10:00:00.000Z" + }, + "eligiblePackagesToOutbound": { + "description": "List of packages that are eligible for outbound.", + "items": { + "$ref": "#/definitions/DistributionPackageQuantity" + }, + "type": "array" + }, + "eligibleProductsToOutbound": { + "description": "List of product units that are eligible for outbound.", + "items": { + "$ref": "#/definitions/ProductQuantity" + }, + "type": "array" + }, + "executionErrors": { + "description": "Execution errors associated with the outbound order. This field will be populated if the order failed validation.", + "items": { + "$ref": "#/definitions/OutboundExecutionError" + }, + "type": "array" + }, + "orderId": { + "description": "Order ID for the outbound order.", + "type": "string" + }, + "orderPreferences": { + "description": "Order preferences for this outbound order.", + "items": { + "$ref": "#/definitions/OrderAttribute" + }, + "type": "array" + }, + "orderStatus": { + "description": "Status for the outbound order.", + "$ref": "#/definitions/OutboundStatus" + }, + "outboundShipments": { + "description": "List of outbound shipments that are part of this order.", + "items": { + "$ref": "#/definitions/OutboundShipment" + }, + "type": "array" + }, + "packagesToOutbound": { + "description": "List of packages to be outbound.", + "items": { + "$ref": "#/definitions/DistributionPackageQuantity" + }, + "type": "array" + }, + "productsToOutbound": { + "description": "List of product units to be outbound.", + "items": { + "$ref": "#/definitions/ProductQuantity" + }, + "type": "array" + }, + "shippedOutboundPackages": { + "description": "Outbound packages that are shipped after the execution has completed post confirmation.", + "items": { + "$ref": "#/definitions/DistributionPackageQuantity" + }, + "type": "array" + }, + "shippedOutboundProducts": { + "description": "Outbound product units that are shipped after the execution has completed post confirmation.", + "items": { + "$ref": "#/definitions/ProductQuantity" + }, + "type": "array" + }, + "updatedAt": { + "description": "Date on which this outbound order was last updated.", + "format": "date-time", + "type": "string", + "example": "2023-01-12T10:00:00.000Z" } }, "required": [ - "inventory" + "orderId", + "orderStatus", + "outboundShipments" ], "type": "object" }, - "InventoryQuantity": { - "description": "Quantity of inventory with an associated measurement unit context.", + "OutboundOrderCreationData": { + "description": "Payload for creating an outbound order.", + "properties": { + "orderPreferences": { + "description": "Order preferences for the outbound order.", + "items": { + "$ref": "#/definitions/OrderAttribute" + }, + "type": "array", + "example": [{ + "orderPreference": "PARTIAL_ORDER", + "orderPreferenceValue": "SET" + }] + }, + "packagesToOutbound": { + "description": "List of packages to be outbound.", + "items": { + "$ref": "#/definitions/DistributionPackageQuantity" + }, + "type": "array", + "example": [{ + "count": 1, + "distributionPackage": { + "contents": { + "products": [ + { + "quantity": 1, + "sku": "testPen" + } + ] + }, + "measurements": { + "dimensions": { + "height": 1, + "length": 1, + "unitOfMeasurement": "INCHES", + "width": 1 + }, + "volume": { + "unitOfMeasurement": "CUIN", + "volume": 1 + }, + "weight": { + "unitOfMeasurement": "POUNDS", + "weight": 1 + } + }, + "type": "CASE" + } + }] + }, + "productsToOutbound": { + "description": "List of product units to be outbound.", + "items": { + "$ref": "#/definitions/ProductQuantity" + }, + "type": "array", + "example": [{ + "sku": "TestSKU", + "quantity": 1 + }] + } + }, + "type": "object", + "example": { + "packagesToOutbound": [{ + "count": 1, + "distributionPackage": { + "contents": { + "products": [ + { + "quantity": 1, + "sku": "testPen" + } + ] + }, + "measurements": { + "dimensions": { + "height": 1, + "length": 1, + "unitOfMeasurement": "INCHES", + "width": 1 + }, + "volume": { + "unitOfMeasurement": "CUIN", + "volume": 1 + }, + "weight": { + "unitOfMeasurement": "POUNDS", + "weight": 1 + } + }, + "type": "CASE" + } + }], + "productsToOutbound": [], + "orderPreferences": [{ + "orderPreference": "PARTIAL_ORDER", + "orderPreferenceValue": "SET" + }] + } + }, + "OutboundOrderReference": { + "description": "A response that contains the reference identifier for the newly created or updated outbound order. This includes an order ID.", "properties": { - "quantity": { - "description": "Quantity of the respective inventory.", - "type": "number" - }, - "unitOfMeasurement": { - "description": "Unit of measurement for the inventory.", - "$ref": "#/definitions/InventoryUnitOfMeasurement" + "orderId": { + "description": "outbound order ID.", + "type": "string" } }, "required": [ - "quantity", - "unitOfMeasurement" + "orderId" ], "type": "object" }, - "InventorySummary": { - "description": "Summary of inventory per SKU.", + "OutboundShipment": { + "description": "Represents an AWD outbound shipment.", "properties": { - "inventoryDetails": { - "$ref": "#/definitions/InventoryDetails" + "createdAt": { + "description": "Timestamp when the shipment was created.", + "format": "date-time", + "type": "string" }, - "sku": { - "description": "The seller or merchant SKU.", + "destinationAddress": { + "description": "Destination address for this shipment.", + "$ref": "#/definitions/Address" + }, + "orderId": { + "description": "Outbound order ID this outbound shipment belongs to.", "type": "string" }, - "totalOnhandQuantity": { - "description": "Total quantity that is present in AWD distribution centers.", - "format": "int64", - "type": "integer" + "originAddress": { + "description": "Origin address for this shipment.", + "$ref": "#/definitions/Address" + }, + "shipmentPackageQuantities": { + "description": "Specific distribution packages that are included in the context of this shipment.", + "items": { + "$ref": "#/definitions/DistributionPackageQuantity" + }, + "type": "array" + }, + "shipmentId": { + "description": "Unique shipment ID.", + "type": "string" + }, + "shipmentProductQuantities": { + "description": "Specific product units that are included in the context of this shipment.", + "items": { + "$ref": "#/definitions/ProductQuantity" + }, + "type": "array" + }, + "shipmentStatus": { + "description": "Current status of this shipment.", + "$ref": "#/definitions/OutboundShipmentStatus" + }, + "updatedAt": { + "description": "Timestamp when the shipment was updated.", + "format": "date-time", + "type": "string" } }, "required": [ - "sku" + "destinationAddress", + "orderId", + "originAddress", + "shipmentId", + "shipmentStatus" ], - "type": "object" + "type": "object", + "example": { + "createdAt": "2023-01-12T10:00:00.000Z", + "destinationAddress": { + "addressLine1": "address_1", + "addressLine2": "address_2", + "addressLine3": "address_3", + "city": "Seattle", + "countryCode": "US", + "county": "Washington", + "district": "District1", + "name": "address_name", + "phoneNumber": "+14155552671", + "postalCode": "123456", + "stateOrRegion": "Washington" + }, + "originAddress": { + "addressLine1": "address_1", + "addressLine2": "address_2", + "addressLine3": "address_3", + "city": "Seattle", + "countryCode": "US", + "county": "Washington", + "district": "District1", + "name": "address_name", + "phoneNumber": "+14155552671", + "postalCode": "123456", + "stateOrRegion": "Washington" + }, + "orderId": "TestOrderId", + "shipmentId": "TestShipmentId", + "shipmentPackageQuantities": [{ + "count": 1, + "distributionPackage": { + "contents": { + "products": [ + { + "quantity": 1, + "sku": "testPen" + } + ] + }, + "measurements": { + "dimensions": { + "height": 1, + "length": 1, + "unitOfMeasurement": "INCHES", + "width": 1 + }, + "volume": { + "unitOfMeasurement": "CUIN", + "volume": 1 + }, + "weight": { + "unitOfMeasurement": "POUNDS", + "weight": 1 + } + }, + "type": "CASE" + } + }], + "shipmentProductQuantities": [], + "shipmentStatus": "CREATED", + "updatedAt": "2023-01-12T10:00:00.000Z" + } }, - "InventoryUnitOfMeasurement": { - "description": "Unit of measurement for the inventory.", + "OutboundShipmentStatus": { + "description": "Possible shipment statuses for outbound shipments.", "enum": [ - "PRODUCT_UNITS", - "CASES", - "PALLETS" + "CREATED", + "IN_TRANSIT", + "DELIVERED", + "RECEIVING", + "RECEIVED", + "CLOSED", + "CANCELLED", + "FAILED" ], "type": "string", "x-docgen-enum-table-extension": [ { - "description": "Measures a discrete amount of product units.", - "value": "PRODUCT_UNITS" + "description": "Shipment is created. No inventory has been picked up at the source node.", + "value": "CREATED" }, { - "description": "Measures a discrete amount of cases.", - "value": "CASES" + "description": "Carrier acknowledged that the shipment is in transit between the origin node and destination node.", + "value": "IN_TRANSIT" }, { - "description": "Measures a discrete amount of pallets.", - "value": "PALLETS" + "description": "Carrier indicated that the shipment has arrived at the destination node, but the destination node has not acknowledged the delivery.", + "value": "DELIVERED" + }, + { + "description": "Destination node acknowledged the arrival of the shipment.", + "value": "RECEIVING" + }, + { + "description": "Destination node has received the items.", + "value": "RECEIVED" + }, + { + "description": "No more actions are required for the shipment. This is a final state.", + "value": "CLOSED" + }, + { + "description": "Shipment has been cancelled by order owner. This is a final state.", + "value": "CANCELLED" + }, + { + "description": "Shipment delivery has failed. This is a final state.", + "value": "FAILED" } - ] + ], + "example": "CREATED" }, - "MeasurementData": { - "description": "Package weight and dimension.", - "properties": { - "dimensions": { - "description": "Dimensions of the package. Dimensions are required when creating an inbound or outbound order.", - "$ref": "#/definitions/PackageDimensions" + "OutboundStatus": { + "description": "Statuses supported for an outbound order.", + "enum": [ + "CONFIRMED", + "DRAFT", + "ELIGIBLE", + "EXECUTING", + "FAILURE", + "INELIGIBLE", + "INVENTORY_OUTBOUND", + "SUCCESS", + "VALIDATING" + ], + "type": "string", + "x-docgen-enum-table-extension": [ + { + "description": "The order enters this state as soon as the order is confirmed.", + "value": "CONFIRMED" }, - "volume": { - "description": "Volume of the package.", - "$ref": "#/definitions/PackageVolume" + { + "description": "A newly created outbound order will always start in this state.", + "value": "DRAFT" }, - "weight": { - "description": "Weight of the package.", - "$ref": "#/definitions/PackageWeight" + { + "description": "This is the only state when an order can be confirmed.", + "value": "ELIGIBLE" + }, + { + "description": "The order is being processed in the system.", + "value": "EXECUTING" + }, + { + "description": "If any of the shipment reports fail, or if a shipment doesn't reach its destination, the order status is marked as failed.", + "value": "FAILURE" + }, + { + "description": "In this state, a validation errors field is provided. This field shows the order errors and provides guidance on fixing them.", + "value": "INELIGIBLE" + }, + { + "description": "The order is complete and awaits inventory movement. In this status, the shipments for an order will be visible.", + "value": "INVENTORY_OUTBOUND" + }, + { + "description": "If all the shipments are successfully received at the destination channel, the order is marked successful.", + "value": "SUCCESS" + }, + { + "description": "The order is being validated asynchronously. The order will be in this state after every item update.", + "value": "VALIDATING" } - }, - "required": [ - "weight" - ], - "type": "object" + ] }, "PackageDimensions": { "description": "Dimensions of the package.", @@ -1489,6 +5975,30 @@ ], "type": "object" }, + "PageType": { + "description": "Label page type.", + "enum": [ + "THERMAL_NONPCP", + "PLAIN_PAPER", + "LETTER_6" + ], + "type": "string", + "x-docgen-enum-table-extension": [ + { + "description": "For the use of a thermal printer. Supports non-Amazon-partnered shipments.", + "value": "THERMAL_NONPCP" + }, + { + "description": "One label per sheet of US Letter paper. Only for non-Amazon-partnered shipments.", + "value": "PLAIN_PAPER" + }, + { + "description": "Six labels per US Letter label sheet.", + "value": "LETTER_6" + } + ], + "example": "PLAIN_PAPER" + }, "ProductAttribute": { "description": "Product instance attribute that is not described at the SKU level in the catalog.", "properties": { @@ -1539,6 +6049,23 @@ ], "type": "object" }, + "ShipmentLabels": { + "description": "Shipment labels.", + "properties": { + "labelDownloadURL": { + "description": "URL to download generated labels.", + "type": "string" + }, + "labelStatus": { + "description": "Status of label generation.", + "$ref": "#/definitions/LabelStatus" + } + }, + "required": [ + "labelStatus" + ], + "type": "object" + }, "ShipmentListing": { "description": "A list of inbound shipment summaries filtered by the attributes specified in the request.", "properties": { @@ -1576,6 +6103,86 @@ ], "example": "CREATED_AT" }, + "SkuEligibility": { + "description": "Represents eligibility of one SKU.", + "properties": { + "ineligibilityReasons": { + "description": "If not eligible, these are list of error codes and descriptions.", + "items": { + "$ref": "#/definitions/SkuIneligibilityReason" + }, + "type": "array" + }, + "packageQuantity": { + "$ref": "#/definitions/DistributionPackageQuantity" + }, + "status": { + "$ref": "#/definitions/InboundEligibilityStatus" + } + }, + "required": [ + "packageQuantity", + "status" + ], + "type": "object" + }, + "SkuIneligibilityReason": { + "description": "Represents the ineligibility reason for one SKU.", + "properties": { + "code": { + "description": "Code for the SKU ineligibility.", + "type": "string" + }, + "description": { + "description": "Detailed description of the SKU ineligibility.", + "type": "string" + } + }, + "required": [ + "code", + "description" + ], + "type": "object" + }, + "SkuQuantitiesVisibility": { + "description": "Enum to specify if returned shipment should include SKU quantity details", + "enum": [ + "SHOW", + "HIDE" + ], + "type": "string", + "example": "SHOW", + "x-docgen-enum-table-extension": [ + { + "description": "Show the additional SKU quantity details", + "value": "SHOW" + }, + { + "description": "Hide the additional SKU quantity details", + "value": "HIDE" + } + ] + }, + "SkuQuantity": { + "description": "Quantity details for a SKU as part of a shipment", + "properties": { + "expectedQuantity": { + "$ref": "#/definitions/InventoryQuantity" + }, + "receivedQuantity": { + "$ref": "#/definitions/InventoryQuantity" + }, + "sku": { + "description": "The merchant stock keeping unit", + "type": "string" + } + }, + "required": [ + "expectedQuantity", + "sku" + ], + "type": "object" + }, "SortOrder": { "description": "Sort order for a collection of items. For example, order or shipment.", "enum": [ @@ -1595,6 +6202,58 @@ ], "example": "ASCENDING" }, + "TransportationDetails": { + "description": "Transportation details for the shipment.", + "properties": { + "carrierCode": { + "description": "Unique or identifying code for the carrier.", + "$ref": "#/definitions/CarrierCode" + }, + "shipBy": { + "description": "Timestamp when the shipment will be shipped.", + "format": "date-time", + "type": "string", + "example": "2023-01-12T10:00:00.000Z" + }, + "trackingId": { + "description": "Tracking ID for transportation.", + "minLength": 1, + "type": "string", + "example": "TestTrackingId" + } + }, + "required": [ + "shipBy" + ], + "type": "object", + "example": { + "carrierCode": { + "carrierCodeType": "SCAC", + "carrierCodeValue": "TestCarrierCode" + }, + "shipBy": "2023-01-12T10:00:00.000Z", + "trackingId": "TestTrackingId" + } + }, + "TransportationPreference": { + "description": "Represents the transportation preference for an AWD shipment.", + "enum": [ + "AMAZON_MANAGED", + "SELLER_MANAGED" + ], + "type": "string", + "x-docgen-enum-table-extension": [ + { + "description": "Amazon provides the estimates with each proposed order shipment to leverage Amazon-managed transportation options to process the delivery of shipments.", + "value": "AMAZON_MANAGED" + }, + { + "description": "The distribution partner wants to arrange the transportation details for each inbound shipment and provides tracking and carrier information for each shipment.", + "value": "SELLER_MANAGED" + } + ], + "example": "SELLER_MANAGED" + }, "VolumeUnitOfMeasurement": { "description": "Unit of measurement for the package volume.", "enum": [ @@ -1637,4 +6296,4 @@ ] } } -} +} \ No newline at end of file From fd2b4f025357398f6282064f3e844d5c44814a4a Mon Sep 17 00:00:00 2001 From: Gibran Waldron Date: Wed, 14 Aug 2024 15:15:18 -0700 Subject: [PATCH 274/340] Update 400 Error Response Message for rotateApplicationClientSecret. --- .../application_2023-11-30.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/models/application-management-api-model/application_2023-11-30.json b/models/application-management-api-model/application_2023-11-30.json index c013126cb..817d57f88 100644 --- a/models/application-management-api-model/application_2023-11-30.json +++ b/models/application-management-api-model/application_2023-11-30.json @@ -48,7 +48,7 @@ } }, "400": { - "description": "The application has not enrolled for programmatic rotations. Please visit your developer console to enroll.", + "description": "Application is not enrolled for rotation notification. Please update application notification preference in Developer console.", "headers": { "x-amzn-RateLimit-Limit": { "description": "Your rate limit (requests per second) for this operation.", From dcd8412486f8ad486f84b15a0f29d31b54351e13 Mon Sep 17 00:00:00 2001 From: lisa-delaney Date: Mon, 19 Aug 2024 10:51:16 -0700 Subject: [PATCH 275/340] Revert "Update AWD model" This reverts commit b856edd03b6298a8eb946dc0405bd9113dd801db. --- .../awd_2024-05-09.json | 5547 ++--------------- 1 file changed, 444 insertions(+), 5103 deletions(-) diff --git a/models/amazon-warehousing-and-distribution-model/awd_2024-05-09.json b/models/amazon-warehousing-and-distribution-model/awd_2024-05-09.json index 5e2a114bb..5b97d73f2 100644 --- a/models/amazon-warehousing-and-distribution-model/awd_2024-05-09.json +++ b/models/amazon-warehousing-and-distribution-model/awd_2024-05-09.json @@ -1,9 +1,9 @@ { "swagger": "2.0", "info": { - "title": "The Selling Partner API for Amazon Warehousing and Distribution", + "title": "The Selling Partner API for AWD", "version": "2024-05-09", - "description": "The Selling Partner API for Amazon Warehousing and Distribution (AWD) provides programmatic access to information about AWD shipments and inventory. ", + "description": "The Selling Partner API for Amazon Warehousing and Distribution (AWD).", "contact": { "name": "Selling Partner API Developer Support", "url": "https://sellercentral.amazon.com/gp/mws/contactus.html" @@ -24,313 +24,24 @@ "application/json" ], "paths": { - "/awd/2024-05-09/inboundOrders": { - "post": { - "consumes": [ - "application/json" - ], - "produces": [ - "application/json" - ], - "parameters": [ - { - "description": "Payload for creating an inbound order.", - "in": "body", - "name": "body", - "required": true, - "schema": { - "$ref": "#/definitions/InboundOrderCreationData" - } - } - ], - "responses": { - "201": { - "description": "`createInbound` 201 response.", - "headers": { - "Location": { - "description": "Location header with the order ID for the newly created inbound order.", - "type": "string" - }, - "x-amzn-RateLimit-Limit": { - "description": "Your rate limit (requests per second) for this operation.", - "type": "string" - }, - "x-amzn-RequestId": { - "description": "Unique request reference identifier.", - "type": "string" - } - }, - "schema": { - "$ref": "#/definitions/InboundOrderReference" - }, - "x-amzn-api-sandbox": { - "static": [ - { - "request": { - "parameters": { - "body": { - "value": { - "externalReferenceId": "string", - "originAddress": { - "addressLine1": "address_1", - "addressLine2": "address_2", - "addressLine3": "address_3", - "city": "City1", - "countryCode": "CC", - "district": "District1", - "name": "address_name", - "postalCode": "123456", - "stateOrRegion": "State1" - }, - "packagesToInbound": [ - { - "count": 1, - "distributionPackage": { - "contents": { - "products": [ - { - "quantity": 1, - "sku": "testPen" - } - ] - }, - "measurements": { - "dimensions": { - "height": 1, - "length": 1, - "unitOfMeasurement": "INCHES", - "width": 1 - }, - "volume": { - "unitOfMeasurement": "CUIN", - "volume": 1 - }, - "weight": { - "unitOfMeasurement": "POUNDS", - "weight": 1 - } - }, - "type": "CASE" - } - } - ], - "shipBy": "2023-06-07T12:12:09.061Z", - "transportationPreference": "SELLER_MANAGED" - } - } - } - }, - "response": { - "orderId": "TestOrderId", - "orderVersion": "1" - }, - "responseHeaders": { - "Location": { - "value": "TestOrderId" - } - } - } - ] - } - }, - "400": { - "description": "Request has missing or invalid parameters and cannot be parsed.", - "headers": { - "x-amzn-RateLimit-Limit": { - "description": "Your rate limit (requests per second) for this operation.", - "type": "string" - }, - "x-amzn-RequestId": { - "description": "Unique request reference identifier.", - "type": "string" - } - }, - "schema": { - "$ref": "#/definitions/ErrorList" - }, - "x-amzn-api-sandbox": { - "static": [ - { - "request": { - "parameters": { - "body": { - "value": { - "externalReferenceId": "string", - "originAddress": { - "addressLine1": "address_1", - "addressLine2": "address_2", - "addressLine3": "address_3", - "city": "City1", - "countryCode": "CC", - "district": "District1", - "name": "address_name", - "postalCode": "123456", - "stateOrRegion": "State1" - }, - "packagesToInbound": [ - { - "count": 1, - "distributionPackage": { - "contents": { - "products": [ - { - "quantity": 1, - "sku": "testPen" - } - ] - }, - "measurements": { - "dimensions": { - "height": 1, - "length": 1, - "unitOfMeasurement": "INCHES", - "width": 1 - }, - "volume": { - "unitOfMeasurement": "CUIN", - "volume": 1 - }, - "weight": { - "unitOfMeasurement": "POUNDS", - "weight": 1 - } - }, - "type": "CASE" - } - } - ], - "shipBy": "2023-06-07T12:12:09.061Z", - "transportationPreference": "AMAZON_MANAGED" - } - } - } - }, - "response": { - "errors": [ - { - "code": "UNSUPPORTED_TRANSPORTATION_PREFERENCE", - "details": "This exception is thrown when client inputs are invalid", - "message": "Currently only SELLER_MANAGED transportation preference is supported" - } - ] - } - } - ] - } - }, - "403": { - "description": "Indicates that access to the resource is forbidden. Possible reasons include Access Denied, Unauthorized, Expired Token, or Invalid Signature.", - "headers": { - "x-amzn-RequestId": { - "description": "Unique request reference identifier.", - "type": "string" - } - }, - "schema": { - "$ref": "#/definitions/ErrorList" - } - }, - "404": { - "description": "The resource specified does not exist.", - "headers": { - "x-amzn-RateLimit-Limit": { - "description": "Your rate limit (requests per second) for this operation.", - "type": "string" - }, - "x-amzn-RequestId": { - "description": "Unique request reference identifier.", - "type": "string" - } - }, - "schema": { - "$ref": "#/definitions/ErrorList" - } - }, - "413": { - "description": "The request size exceeded the maximum accepted size.", - "headers": { - "x-amzn-RequestId": { - "description": "Unique request reference identifier.", - "type": "string" - } - }, - "schema": { - "$ref": "#/definitions/ErrorList" - } - }, - "415": { - "description": "The request payload is in an unsupported format.", - "headers": { - "x-amzn-RequestId": { - "description": "Unique request reference identifier.", - "type": "string" - } - }, - "schema": { - "$ref": "#/definitions/ErrorList" - } - }, - "429": { - "description": "The frequency of requests was greater than allowed.", - "headers": { - "x-amzn-RequestId": { - "description": "Unique request reference identifier.", - "type": "string" - } - }, - "schema": { - "$ref": "#/definitions/ErrorList" - } - }, - "500": { - "description": "An unexpected condition occurred that prevented the server from fulfilling the request.", - "headers": { - "x-amzn-RequestId": { - "description": "Unique request reference identifier.", - "type": "string" - } - }, - "schema": { - "$ref": "#/definitions/ErrorList" - } - }, - "503": { - "description": "Temporary overloading or maintenance of the server.", - "headers": { - "x-amzn-RequestId": { - "description": "Unique request reference identifier.", - "type": "string" - } - }, - "schema": { - "$ref": "#/definitions/ErrorList" - } - } - }, - "tags": [ - "awd" - ], - "description": "Creates a draft AWD inbound order with given packages to inbound. Currently only a single shipment will be created per order.\n\n**Usage Plan:**\n\n| Rate (requests per second) | Burst |\n| ---- | ---- |\n| 1 | 1 |\n\nThe `x-amzn-RateLimit-Limit` response header returns the usage plan rate limits that were applied to the requested operation, when available. The table above indicates the default rate and burst values for this operation. Selling partners whose business demands require higher throughput may see higher rate and burst values than those shown here. For more information, refer to [Usage Plans and Rate Limits in the Selling Partner API](https://developer-docs.amazon.com/sp-api/docs/usage-plans-and-rate-limits-in-the-sp-api).", - "operationId": "createInbound" - } - }, - "/awd/2024-05-09/inboundOrders/{orderId}": { + "/awd/2024-05-09/inboundShipments/{shipmentId}": { "get": { "produces": [ "application/json" ], "parameters": [ { - "description": "ID for the inbound order to be retrieved.", + "description": "ID for the shipment. A shipment contains the cases being inbounded.", "in": "path", - "name": "orderId", + "minLength": 1, + "name": "shipmentId", "required": true, "type": "string" } ], "responses": { "200": { - "description": "The 200 response for `getInbound`.", + "description": "The 200 response for `getInboundShipment`.", "headers": { "x-amzn-RateLimit-Limit": { "description": "Your rate limit (requests per second) for this operation.", @@ -342,131 +53,80 @@ } }, "schema": { - "$ref": "#/definitions/InboundOrder" + "$ref": "#/definitions/InboundShipment" }, "x-amzn-api-sandbox": { "static": [ { "request": { "parameters": { - "orderId": { - "value": "TestOrderId" + "shipmentId": { + "value": "TestShipmentId" } } }, "response": { - "channelPlacedInboundShipments": [ - { - "destinationAddress": { - "addressLine1": "address_1", - "addressLine2": "address_2", - "addressLine3": "address_3", - "city": "Seattle", - "countryCode": "US", - "county": "Washington", - "district": "District1", - "name": "address_name", - "phoneNumber": "+14155552671", - "postalCode": "123456", - "stateOrRegion": "Washington" - }, - "orderId": "TestOrderId", - "originAddress": { - "addressLine1": "address_1", - "addressLine2": "address_2", - "addressLine3": "address_3", - "city": "Seattle", - "countryCode": "US", - "county": "Washington", - "district": "District1", - "name": "address_name", - "phoneNumber": "+14155552671", - "postalCode": "123456", - "stateOrRegion": "Washington" - }, - "receivedQuantity": [], - "shipmentContainerQuantities": [ - { - "count": 1, - "distributionPackage": { - "contents": { - "packages": [], - "products": [ - { - "quantity": 1, - "sku": "testPen" - } - ] - }, - "measurements": { - "dimensions": { - "height": 2.54, - "length": 2.54, - "unitOfMeasurement": "CENTIMETERS", - "width": 2.54 - }, - "weight": { - "unitOfMeasurement": "KILOGRAMS", - "weight": 0.453592 - } - }, - "type": "CASE" - } - } - ], - "shipmentId": "TestShipmentId", - "shipmentStatus": "CREATED" - } - ], "createdAt": "2023-06-07T12:12:09.061Z", - "externalReferenceId": "TestReferenceId", + "destinationAddress": { + "addressLine1": "address_line_1", + "addressLine2": "address_line_2", + "addressLine3": "address_line_3", + "city": "City1", + "countryCode": "CC", + "district": "District1", + "name": "DestinationName", + "postalCode": "123456", + "stateOrRegion": "State1" + }, "orderId": "TestOrderId", - "orderStatus": "DRAFT", - "orderVersion": "2", "originAddress": { "addressLine1": "address_1", "addressLine2": "address_2", "addressLine3": "address_3", - "city": "Seattle", - "countryCode": "US", - "county": "Washington", + "city": "City1", + "countryCode": "CC", "district": "District1", "name": "address_name", - "phoneNumber": "+14155552671", "postalCode": "123456", - "stateOrRegion": "Washington" + "stateOrRegion": "State1" }, - "packagesToInbound": [ + "receivedQuantity": [ + { + "quantity": 0, + "unitOfMeasurement": "CASES" + } + ], + "shipmentContainerQuantities": [ { - "count": 1, + "count": 2, "distributionPackage": { "contents": { "packages": [], "products": [ { - "quantity": 1, + "quantity": 20, "sku": "testPen" } ] }, "measurements": { "dimensions": { - "height": 2.54, - "length": 2.54, + "height": 33.02, + "length": 45.72, "unitOfMeasurement": "CENTIMETERS", - "width": 2.54 + "width": 15.24 }, "weight": { "unitOfMeasurement": "KILOGRAMS", - "weight": 0.453592 + "weight": 5.443104 } }, "type": "CASE" } } ], - "shipBy": "2023-06-07T12:12:09.061Z", - "transportationPreference": "SELLER_MANAGED", + "shipmentId": "TestShipmentId", + "shipmentStatus": "CREATED", "updatedAt": "2023-06-07T12:12:09.061Z" } } @@ -493,7 +153,7 @@ { "request": { "parameters": { - "orderId": { + "shipmentId": { "value": " " } } @@ -503,7 +163,7 @@ { "code": "BAD_REQUEST", "details": "This exception is thrown when client inputs are invalid", - "message": "OrderId should be present for this request" + "message": "ShipmentId should be present for this request" } ] } @@ -603,37 +263,141 @@ "tags": [ "awd" ], - "description": "Retrieves an inbound AWD order for a set of shipments.\n\n**Usage Plan:**\n\n| Rate (requests per second) | Burst |\n| ---- | ---- |\n| 1 | 1 |\n\nThe `x-amzn-RateLimit-Limit` response header returns the usage plan rate limits that were applied to the requested operation, when available. The table above indicates the default rate and burst values for this operation. Selling partners whose business demands require higher throughput may see higher rate and burst values than those shown here. For more information, refer to [Usage Plans and Rate Limits in the Selling Partner API](https://developer-docs.amazon.com/sp-api/docs/usage-plans-and-rate-limits-in-the-sp-api).", - "operationId": "getInbound" - }, - "put": { - "consumes": [ - "application/json" - ], + "description": "Retrieves an AWD inbound shipment.\n\n**Usage Plan:**\n\n| Rate (requests per second) | Burst |\n| ---- | ---- |\n| 2 | 2 |\n\nThe `x-amzn-RateLimit-Limit` response header returns the usage plan rate limits that were applied to the requested operation, when available. The table above indicates the default rate and burst values for this operation. Selling partners whose business demands require higher throughput may see higher rate and burst values than those shown here. For more information, refer to [Usage Plans and Rate Limits in the Selling Partner API](https://developer-docs.amazon.com/sp-api/docs/usage-plans-and-rate-limits-in-the-sp-api)", + "operationId": "getInboundShipment" + } + }, + "/awd/2024-05-09/inboundShipments": { + "get": { "produces": [ "application/json" ], "parameters": [ { - "description": "ID for the inbound order to be updated.", - "in": "path", - "name": "orderId", - "required": true, - "type": "string" + "description": "Field to sort results by. Required if `sortOrder` is provided.", + "enum": [ + "UPDATED_AT", + "CREATED_AT" + ], + "in": "query", + "name": "sortBy", + "type": "string", + "x-docgen-enum-table-extension": [ + { + "description": "Sort by `Updated at`timestamp.", + "value": "UPDATED_AT" + }, + { + "description": "Sort by `Created at` timestamp.", + "value": "CREATED_AT" + } + ] }, { - "description": "Represents an AWD inbound order.", - "in": "body", - "name": "body", - "required": true, - "schema": { - "$ref": "#/definitions/InboundOrder" - } - } - ], - "responses": { + "description": "Sort the response in `ASCENDING` or `DESCENDING` order.", + "enum": [ + "ASCENDING", + "DESCENDING" + ], + "in": "query", + "name": "sortOrder", + "type": "string", + "x-docgen-enum-table-extension": [ + { + "description": "Sorts the collection in ascending order.", + "value": "ASCENDING" + }, + { + "description": "Sorts the collection in descending order.", + "value": "DESCENDING" + } + ], + "x-example": "ASCENDING" + }, + { + "description": "Filter by inbound shipment status.", + "enum": [ + "CREATED", + "SHIPPED", + "IN_TRANSIT", + "RECEIVING", + "DELIVERED", + "CLOSED", + "CANCELLED" + ], + "in": "query", + "name": "shipmentStatus", + "type": "string", + "x-docgen-enum-table-extension": [ + { + "description": "Shipment is created, but hasn't shipped.", + "value": "CREATED" + }, + { + "description": "Shipment was picked up by the carrier or was dropped off with the carrier.", + "value": "SHIPPED" + }, + { + "description": "The carrier has notified AWD that the shipment is in transit between the origin and destination nodes.", + "value": "IN_TRANSIT" + }, + { + "description": "The shipment has been partially received.", + "value": "RECEIVING" + }, + { + "description": "The shipment has reached the destination node and has been delivered to the facility yard. The shipment `receive` process at the warehouse will start soon.", + "value": "DELIVERED" + }, + { + "description": "No more actions are required for the shipment. This is a final state.", + "value": "CLOSED" + }, + { + "description": "The shipment is cancelled. This is a final state.", + "value": "CANCELLED" + } + ], + "x-example": "CREATED" + }, + { + "description": "List the inbound shipments that were updated after a certain time (inclusive). The date must be in ISO 8601 format.", + "format": "date-time", + "in": "query", + "name": "updatedAfter", + "type": "string", + "x-example": "2023-01-12T10:00:00.000Z" + }, + { + "description": "List the inbound shipments that were updated before a certain time (inclusive). The date must be in ISO 8601 format.", + "format": "date-time", + "in": "query", + "name": "updatedBefore", + "type": "string", + "x-example": "2023-01-12T10:00:00.000Z" + }, + { + "default": 25, + "description": "Maximum number of results to return.", + "format": "int32", + "in": "query", + "maximum": 200, + "minimum": 1, + "name": "maxResults", + "type": "integer", + "x-example": "10" + }, + { + "description": "Token to retrieve the next set of paginated results.", + "in": "query", + "name": "nextToken", + "type": "string", + "x-example": "SampleToken" + } + ], + "responses": { "200": { - "description": "The 200 response for `updateInbound`.", + "description": "The 200 response for `listInboundShipments`.", "headers": { "x-amzn-RateLimit-Limit": { "description": "Your rate limit (requests per second) for this operation.", @@ -645,130 +409,22 @@ } }, "schema": { - "$ref": "#/definitions/InboundOrderReference" + "$ref": "#/definitions/ShipmentListing" }, "x-amzn-api-sandbox": { "static": [ { "request": { - "parameters": { - "orderId": { - "value": "TestOrderId1" - }, - "body": { - "value": { - "channelPlacedInboundShipments": [ - { - "destinationAddress": { - "addressLine1": "address_1", - "addressLine2": "address_2", - "addressLine3": "address_3", - "city": "City1", - "countryCode": "CC", - "district": "District1", - "name": "DestinationName", - "postalCode": "123456", - "stateOrRegion": "State1" - }, - "orderId": "TestOrderId1", - "originAddress": { - "addressLine1": "address_1", - "addressLine2": "address_2", - "addressLine3": "address_3", - "city": "City1", - "countryCode": "CC", - "district": "District1", - "name": "DestinationName", - "postalCode": "123456", - "stateOrRegion": "State1" - }, - "receivedQuantity": [], - "shipmentContainerQuantities": [ - { - "count": 1, - "distributionPackage": { - "contents": { - "packages": [], - "products": [ - { - "quantity": 1, - "sku": "testPen" - } - ] - }, - "measurements": { - "dimensions": { - "height": 2.54, - "length": 2.54, - "unitOfMeasurement": "CENTIMETERS", - "width": 2.54 - }, - "weight": { - "unitOfMeasurement": "KILOGRAMS", - "weight": 0.453592 - } - }, - "type": "CASE" - } - } - ], - "shipmentId": "TestShipment1", - "shipmentStatus": "CREATED" - } - ], - "createdAt": "2023-06-07T12:12:09.061Z", - "orderId": "TestOrderId1", - "orderStatus": "DRAFT", - "orderVersion": "2", - "originAddress": { - "addressLine1": "address_1", - "addressLine2": "address_2", - "addressLine3": "address_3", - "city": "City1", - "countryCode": "CC", - "district": "District1", - "name": "DestinationName", - "postalCode": "123456", - "stateOrRegion": "State1" - }, - "packagesToInbound": [ - { - "count": 2, - "distributionPackage": { - "contents": { - "packages": [], - "products": [ - { - "quantity": 10, - "sku": "testPen" - } - ] - }, - "measurements": { - "dimensions": { - "height": 1, - "length": 1, - "unitOfMeasurement": "CENTIMETERS", - "width": 1 - }, - "weight": { - "unitOfMeasurement": "KILOGRAMS", - "weight": 1 - } - }, - "type": "CASE" - } - } - ], - "transportationPreference": "SELLER_MANAGED", - "updatedAt": "2023-06-07T12:12:09.061Z" - } - } - } + "parameters": {} }, "response": { - "orderId": "TestOrderId", - "orderVersion": "3" + "shipments": [{ + "createdAt": "2023-06-07T12:12:09.061Z", + "orderId": "TestOrderId", + "shipmentId": "TestShipmentId", + "shipmentStatus": "CREATED", + "updatedAt": "2023-06-07T12:12:09.061Z" + }] } } ] @@ -794,126 +450,17 @@ { "request": { "parameters": { - "orderId": { - "value": "TestOrderId1" - }, - "body": { - "value": { - "channelPlacedInboundShipments": [ - { - "destinationAddress": { - "addressLine1": "address_1", - "addressLine2": "address_2", - "addressLine3": "address_3", - "city": "City1", - "countryCode": "CC", - "district": "District1", - "name": "DestinationName", - "postalCode": "123456", - "stateOrRegion": "State1" - }, - "orderId": "TestOrderId1", - "originAddress": { - "addressLine1": "address_1", - "addressLine2": "address_2", - "addressLine3": "address_3", - "city": "City1", - "countryCode": "CC", - "district": "District1", - "name": "DestinationName", - "postalCode": "123456", - "stateOrRegion": "State1" - }, - "receivedQuantity": [], - "shipmentContainerQuantities": [ - { - "count": 1, - "distributionPackage": { - "contents": { - "packages": [], - "products": [ - { - "quantity": 1, - "sku": "testPen" - } - ] - }, - "measurements": { - "dimensions": { - "height": 2.54, - "length": 2.54, - "unitOfMeasurement": "CENTIMETERS", - "width": 2.54 - }, - "weight": { - "unitOfMeasurement": "KILOGRAMS", - "weight": 0.453592 - } - }, - "type": "CASE" - } - } - ], - "shipmentId": "TestShipment1", - "shipmentStatus": "CREATED" - } - ], - "createdAt": "2023-06-07T12:12:09.061Z", - "orderId": "TestOrderId1", - "orderStatus": "DRAFT", - "orderVersion": "2", - "originAddress": { - "addressLine1": "address_1", - "addressLine2": "address_2", - "addressLine3": "address_3", - "city": "City1", - "countryCode": "CC", - "district": "District1", - "name": "DestinationName", - "postalCode": "123456", - "stateOrRegion": "State1" - }, - "packagesToInbound": [ - { - "count": 2, - "distributionPackage": { - "contents": { - "packages": [], - "products": [ - { - "quantity": 10, - "sku": "testPen" - } - ] - }, - "measurements": { - "dimensions": { - "height": 1, - "length": 1, - "unitOfMeasurement": "CENTIMETERS", - "width": 1 - }, - "weight": { - "unitOfMeasurement": "KILOGRAMS", - "weight": 1 - } - }, - "type": "CASE" - } - } - ], - "transportationPreference": "AMAZON_MANAGED", - "updatedAt": "2023-06-07T12:12:09.061Z" - } + "sortBy": { + "value": "TEST" } } }, "response": { "errors": [ { - "code": "UNSUPPORTED_TRANSPORTATION_PREFERENCE", + "code": "BAD_REQUEST", "details": "This exception is thrown when client inputs are invalid", - "message": "Currently only SELLER_MANAGED transportation preference is supported" + "message": "Invalid shipment sortable field received: TEST" } ] } @@ -949,18 +496,6 @@ "$ref": "#/definitions/ErrorList" } }, - "409": { - "description": "`ConflictException` 409 response.", - "headers": { - "x-amzn-RequestId": { - "description": "Unique request reference identifier.", - "type": "string" - } - }, - "schema": { - "$ref": "#/definitions/ErrorList" - } - }, "413": { "description": "The request size exceeded the maximum accepted size.", "headers": { @@ -1025,27 +560,86 @@ "tags": [ "awd" ], - "description": "Updates an AWD inbound order that is in draft status and not yet confirmed. Use this operation to update the `packagesToInbound` and `originAddress` attributes.\n\n**Usage Plan:**\n\n| Rate (requests per second) | Burst |\n| ---- | ---- |\n| 1 | 1 |\n\nThe `x-amzn-RateLimit-Limit` response header returns the usage plan rate limits that were applied to the requested operation, when available. The table above indicates the default rate and burst values for this operation. Selling partners whose business demands require higher throughput may see higher rate and burst values than those shown here. For more information, refer to [Usage Plans and Rate Limits in the Selling Partner API](https://developer-docs.amazon.com/sp-api/docs/usage-plans-and-rate-limits-in-the-sp-api).", - "operationId": "updateInbound" + "description": "Retrieves a summary for all the inbound AWD shipments associated with a merchant, with the ability to apply optional filters.\n\n**Usage Plan:**\n\n| Rate (requests per second) | Burst |\n| ---- | ---- |\n| 1 | 1 |\n\nThe `x-amzn-RateLimit-Limit` response header returns the usage plan rate limits that were applied to the requested operation, when available. The table above indicates the default rate and burst values for this operation. Selling partners whose business demands require higher throughput may see higher rate and burst values than those shown here. For more information, refer to [Usage Plans and Rate Limits in the Selling Partner API](https://developer-docs.amazon.com/sp-api/docs/usage-plans-and-rate-limits-in-the-sp-api).", + "operationId": "listInboundShipments" } }, - "/awd/2024-05-09/inboundOrders/{orderId}/cancellation": { - "post": { + "/awd/2024-05-09/inventory": { + "get": { "produces": [ "application/json" ], "parameters": [ { - "description": "ID for the inbound order to be cancelled", - "in": "path", - "name": "orderId", - "required": true, - "type": "string" + "description": "Filter by seller or merchant SKU for the item.", + "in": "query", + "name": "sku", + "type": "string", + "x-example": "TestSKU" + }, + { + "description": "Sort the response in `ASCENDING` or `DESCENDING` order.", + "enum": [ + "ASCENDING", + "DESCENDING" + ], + "in": "query", + "name": "sortOrder", + "type": "string", + "x-docgen-enum-table-extension": [ + { + "description": "Sorts the collection in ascending order.", + "value": "ASCENDING" + }, + { + "description": "Sorts the collection in descending order.", + "value": "DESCENDING" + } + ] + }, + { + "description": "Set to `SHOW` to return summaries with additional inventory details. Defaults to `HIDE,` which returns only inventory summary totals.", + "enum": [ + "SHOW", + "HIDE" + ], + "in": "query", + "name": "details", + "type": "string", + "x-docgen-enum-table-extension": [ + { + "description": "Show the additional summarized inventory details.", + "value": "SHOW" + }, + { + "description": "Hide the additional summarized inventory details.", + "value": "HIDE" + } + ], + "x-example": "SHOW" + }, + { + "description": "Token to retrieve the next set of paginated results.", + "in": "query", + "name": "nextToken", + "type": "string", + "x-example": "SampleToken" + }, + { + "default": 25, + "description": "Maximum number of results to return.", + "format": "int32", + "in": "query", + "maximum": 200, + "minimum": 1, + "name": "maxResults", + "type": "integer", + "x-example": "10" } ], "responses": { - "204": { - "description": "`CancelInbound` 204 response.", + "200": { + "description": "The 200 response for `listInventory`.", "headers": { "x-amzn-RateLimit-Limit": { "description": "Your rate limit (requests per second) for this operation.", @@ -1056,21 +650,35 @@ "type": "string" } }, + "schema": { + "$ref": "#/definitions/InventoryListing" + }, "x-amzn-api-sandbox": { "static": [ { - "request": { - "parameters": { - "orderId": { - "value": "TestOrderId1" + "request": {}, + "response": { + "inventory": [ + { + "totalOnhandQuantity": 20, + "sku": "100TestSKU1Pen", + "inventoryDetails": { + "availableDistributableQuantity": 10, + "reservedDistributableQuantity": 10 + } + }, + { + "totalOnhandQuantity": 20, + "sku": "2U-BKEX-VW4D", + "inventoryDetails": { + "availableDistributableQuantity": 10, + "reservedDistributableQuantity": 10 + } } - } + ] } } ] - }, - "examples": { - "application/json": [{}] } }, "400": { @@ -1093,8 +701,8 @@ { "request": { "parameters": { - "orderId": { - "value": " " + "sortOrder": { + "value": "UNKNOWN" } } }, @@ -1103,7 +711,7 @@ { "code": "BAD_REQUEST", "details": "This exception is thrown when client inputs are invalid", - "message": "OrderId should be present for this request" + "message": "Invalid value: UNKNOWN passed for sort order. Possible values are: [ASCENDING, DESCENDING]" } ] } @@ -1139,18 +747,6 @@ "$ref": "#/definitions/ErrorList" } }, - "409": { - "description": "`ConflictException` 409 response.", - "headers": { - "x-amzn-RequestId": { - "description": "Unique request reference identifier.", - "type": "string" - } - }, - "schema": { - "$ref": "#/definitions/ErrorList" - } - }, "413": { "description": "The request size exceeded the maximum accepted size.", "headers": { @@ -1215,2972 +811,8 @@ "tags": [ "awd" ], - "description": "Cancels an AWD Inbound order and its associated shipments.\n\n**Usage Plan:**\n\n| Rate (requests per second) | Burst |\n| ---- | ---- |\n| 1 | 1 |\n\nThe `x-amzn-RateLimit-Limit` response header returns the usage plan rate limits that were applied to the requested operation, when available. The table above indicates the default rate and burst values for this operation. Selling partners whose business demands require higher throughput may see higher rate and burst values than those shown here. For more information, refer to [Usage Plans and Rate Limits in the Selling Partner API](https://developer-docs.amazon.com/sp-api/docs/usage-plans-and-rate-limits-in-the-sp-api).", - "operationId": "cancelInbound" - } - }, - "/awd/2024-05-09/inboundOrders/{orderId}/confirmation": { - "post": { - "produces": [ - "application/json" - ], - "parameters": [ - { - "description": "ID for the inbound order you want to confirm.", - "in": "path", - "name": "orderId", - "required": true, - "type": "string" - } - ], - "responses": { - "204": { - "description": "The 204 response for `confirmInbound`.", - "headers": { - "x-amzn-RateLimit-Limit": { - "description": "Your rate limit (requests per second) for this operation.", - "type": "string" - }, - "x-amzn-RequestId": { - "description": "Unique request reference identifier.", - "type": "string" - } - }, - "x-amzn-api-sandbox": { - "static": [ - { - "request": { - "parameters": { - "orderId": { - "value": "TestOrderId1" - } - } - } - } - ] - }, - "examples": { - "application/json": [{}] - } - }, - "400": { - "description": "Request has missing or invalid parameters and cannot be parsed.", - "headers": { - "x-amzn-RateLimit-Limit": { - "description": "Your rate limit (requests per second) for this operation.", - "type": "string" - }, - "x-amzn-RequestId": { - "description": "Unique request reference identifier.", - "type": "string" - } - }, - "schema": { - "$ref": "#/definitions/ErrorList" - }, - "x-amzn-api-sandbox": { - "static": [ - { - "request": { - "parameters": { - "orderId": { - "value": " " - } - } - }, - "response": { - "errors": [ - { - "code": "BAD_REQUEST", - "details": "This exception is thrown when client inputs are invalid", - "message": "OrderId should be present for this request" - } - ] - } - } - ] - } - }, - "403": { - "description": "Indicates that access to the resource is forbidden. Possible reasons include Access Denied, Unauthorized, Expired Token, or Invalid Signature.", - "headers": { - "x-amzn-RequestId": { - "description": "Unique request reference identifier.", - "type": "string" - } - }, - "schema": { - "$ref": "#/definitions/ErrorList" - } - }, - "404": { - "description": "The resource specified does not exist.", - "headers": { - "x-amzn-RateLimit-Limit": { - "description": "Your rate limit (requests per second) for this operation.", - "type": "string" - }, - "x-amzn-RequestId": { - "description": "Unique request reference identifier.", - "type": "string" - } - }, - "schema": { - "$ref": "#/definitions/ErrorList" - } - }, - "409": { - "description": "`ConflictException` 409 response.", - "headers": { - "x-amzn-RequestId": { - "description": "Unique request reference identifier.", - "type": "string" - } - }, - "schema": { - "$ref": "#/definitions/ErrorList" - } - }, - "413": { - "description": "The request size exceeded the maximum accepted size.", - "headers": { - "x-amzn-RequestId": { - "description": "Unique request reference identifier.", - "type": "string" - } - }, - "schema": { - "$ref": "#/definitions/ErrorList" - } - }, - "415": { - "description": "The request payload is in an unsupported format.", - "headers": { - "x-amzn-RequestId": { - "description": "Unique request reference identifier.", - "type": "string" - } - }, - "schema": { - "$ref": "#/definitions/ErrorList" - } - }, - "429": { - "description": "The frequency of requests was greater than allowed.", - "headers": { - "x-amzn-RequestId": { - "description": "Unique request reference identifier.", - "type": "string" - } - }, - "schema": { - "$ref": "#/definitions/ErrorList" - } - }, - "500": { - "description": "An unexpected condition occurred that prevented the server from fulfilling the request.", - "headers": { - "x-amzn-RequestId": { - "description": "Unique request reference identifier.", - "type": "string" - } - }, - "schema": { - "$ref": "#/definitions/ErrorList" - } - }, - "503": { - "description": "Temporary overloading or maintenance of the server.", - "headers": { - "x-amzn-RequestId": { - "description": "Unique request reference identifier.", - "type": "string" - } - }, - "schema": { - "$ref": "#/definitions/ErrorList" - } - } - }, - "tags": [ - "awd" - ], - "description": "Confirms an AWD inbound order in draft status.\n\n**Usage Plan:**\n\n| Rate (requests per second) | Burst |\n| ---- | ---- |\n| 1 | 1 |\n\nThe `x-amzn-RateLimit-Limit` response header returns the usage plan rate limits that were applied to the requested operation, when available. The table above indicates the default rate and burst values for this operation. Selling partners whose business demands require higher throughput may see higher rate and burst values than those shown here. For more information, refer to [Usage Plans and Rate Limits in the Selling Partner API](https://developer-docs.amazon.com/sp-api/docs/usage-plans-and-rate-limits-in-the-sp-api).", - "operationId": "confirmInbound" - } - }, - "/awd/2024-05-09/inboundShipments/{shipmentId}": { - "get": { - "produces": [ - "application/json" - ], - "parameters": [ - { - "description": "ID for the shipment. A shipment contains the cases being inbounded.", - "in": "path", - "minLength": 1, - "name": "shipmentId", - "required": true, - "type": "string" - }, - { - "description": "If equal to `SHOW`, the response includes the shipment SKU quantity details.\n\nDefaults to `HIDE`, in which case the response does not contain SKU quantities", - "enum": [ - "SHOW", - "HIDE" - ], - "in": "query", - "name": "skuQuantities", - "type": "string", - "x-example": "SHOW", - "x-docgen-enum-table-extension": [ - { - "description": "Show the additional SKU quantity details.", - "value": "SHOW" - }, - { - "description": "Hide the additional SKU quantity details.", - "value": "HIDE" - } - ] - } - ], - "responses": { - "200": { - "description": "The 200 response for `getInboundShipment`.", - "headers": { - "x-amzn-RateLimit-Limit": { - "description": "Your rate limit (requests per second) for this operation.", - "type": "string" - }, - "x-amzn-RequestId": { - "description": "Unique request reference identifier.", - "type": "string" - } - }, - "schema": { - "$ref": "#/definitions/InboundShipment" - }, - "x-amzn-api-sandbox": { - "static": [ - { - "request": { - "parameters": { - "shipmentId": { - "value": "TestShipmentId" - } - } - }, - "response": { - "createdAt": "2023-06-07T12:12:09.061Z", - "destinationAddress": { - "addressLine1": "address_line_1", - "addressLine2": "address_line_2", - "addressLine3": "address_line_3", - "city": "City1", - "countryCode": "CC", - "district": "District1", - "name": "DestinationName", - "postalCode": "123456", - "stateOrRegion": "State1" - }, - "orderId": "TestOrderId", - "originAddress": { - "addressLine1": "address_1", - "addressLine2": "address_2", - "addressLine3": "address_3", - "city": "City1", - "countryCode": "CC", - "district": "District1", - "name": "address_name", - "postalCode": "123456", - "stateOrRegion": "State1" - }, - "receivedQuantity": [ - { - "quantity": 0, - "unitOfMeasurement": "CASES" - } - ], - "shipmentContainerQuantities": [ - { - "count": 2, - "distributionPackage": { - "contents": { - "packages": [], - "products": [ - { - "quantity": 20, - "sku": "testPen" - } - ] - }, - "measurements": { - "dimensions": { - "height": 33.02, - "length": 45.72, - "unitOfMeasurement": "CENTIMETERS", - "width": 15.24 - }, - "weight": { - "unitOfMeasurement": "KILOGRAMS", - "weight": 5.443104 - } - }, - "type": "CASE" - } - } - ], - "shipmentId": "TestShipmentId", - "shipmentStatus": "CREATED", - "shipmentSkuQuantities": [ - { - "sku": "testPen", - "expectedQuantity": { - "quantity": 2, - "unitOfMeasurement": "CASE" - }, - "receivedQuantity": { - "quantity": 0, - "unitOfMeasurement": "CASE" - } - } - ], - "updatedAt": "2023-06-07T12:12:09.061Z" - } - } - ] - } - }, - "400": { - "description": "Request has missing or invalid parameters and cannot be parsed.", - "headers": { - "x-amzn-RateLimit-Limit": { - "description": "Your rate limit (requests per second) for this operation.", - "type": "string" - }, - "x-amzn-RequestId": { - "description": "Unique request reference identifier.", - "type": "string" - } - }, - "schema": { - "$ref": "#/definitions/ErrorList" - }, - "x-amzn-api-sandbox": { - "static": [ - { - "request": { - "parameters": { - "shipmentId": { - "value": " " - } - } - }, - "response": { - "errors": [ - { - "code": "BAD_REQUEST", - "details": "This exception is thrown when client inputs are invalid", - "message": "ShipmentId should be present for this request" - } - ] - } - } - ] - } - }, - "403": { - "description": "Indicates that access to the resource is forbidden. Possible reasons include Access Denied, Unauthorized, Expired Token, or Invalid Signature.", - "headers": { - "x-amzn-RequestId": { - "description": "Unique request reference identifier.", - "type": "string" - } - }, - "schema": { - "$ref": "#/definitions/ErrorList" - } - }, - "404": { - "description": "The resource specified does not exist.", - "headers": { - "x-amzn-RateLimit-Limit": { - "description": "Your rate limit (requests per second) for this operation.", - "type": "string" - }, - "x-amzn-RequestId": { - "description": "Unique request reference identifier.", - "type": "string" - } - }, - "schema": { - "$ref": "#/definitions/ErrorList" - } - }, - "413": { - "description": "The request size exceeded the maximum accepted size.", - "headers": { - "x-amzn-RequestId": { - "description": "Unique request reference identifier.", - "type": "string" - } - }, - "schema": { - "$ref": "#/definitions/ErrorList" - } - }, - "415": { - "description": "The request payload is in an unsupported format.", - "headers": { - "x-amzn-RequestId": { - "description": "Unique request reference identifier.", - "type": "string" - } - }, - "schema": { - "$ref": "#/definitions/ErrorList" - } - }, - "429": { - "description": "The frequency of requests was greater than allowed.", - "headers": { - "x-amzn-RequestId": { - "description": "Unique request reference identifier.", - "type": "string" - } - }, - "schema": { - "$ref": "#/definitions/ErrorList" - } - }, - "500": { - "description": "An unexpected condition occurred that prevented the server from fulfilling the request.", - "headers": { - "x-amzn-RequestId": { - "description": "Unique request reference identifier.", - "type": "string" - } - }, - "schema": { - "$ref": "#/definitions/ErrorList" - } - }, - "503": { - "description": "Temporary overloading or maintenance of the server.", - "headers": { - "x-amzn-RequestId": { - "description": "Unique request reference identifier.", - "type": "string" - } - }, - "schema": { - "$ref": "#/definitions/ErrorList" - } - } - }, - "tags": [ - "awd" - ], - "description": "Retrieves an AWD inbound shipment.\n\n**Usage Plan:**\n\n| Rate (requests per second) | Burst |\n| ---- | ---- |\n| 2 | 2 |\n\nThe `x-amzn-RateLimit-Limit` response header returns the usage plan rate limits that were applied to the requested operation, when available. The table above indicates the default rate and burst values for this operation. Selling partners whose business demands require higher throughput may see higher rate and burst values than those shown here. For more information, refer to [Usage Plans and Rate Limits in the Selling Partner API](https://developer-docs.amazon.com/sp-api/docs/usage-plans-and-rate-limits-in-the-sp-api)", - "operationId": "getInboundShipment" - } - }, - "/awd/2024-05-09/inboundShipments/{shipmentId}/labels": { - "get": { - "produces": [ - "application/json" - ], - "parameters": [ - { - "description": "ID for the shipment.", - "in": "path", - "minLength": 1, - "name": "shipmentId", - "required": true, - "type": "string" - }, - { - "description": "Page type for the generated labels. The default is `PLAIN_PAPER`.", - "enum": [ - "THERMAL_NONPCP", - "PLAIN_PAPER", - "LETTER_6" - ], - "in": "query", - "name": "pageType", - "type": "string", - "x-docgen-enum-table-extension": [ - { - "description": "Use `THERMAL_NONPC` for a thermal printer. Supports non-Amazon-partnered shipments.", - "value": "THERMAL_NONPCP" - }, - { - "description": "One label per sheet of US Letter paper. Only for non-Amazon-partnered shipments.", - "value": "PLAIN_PAPER" - }, - { - "description": "Six labels per US Letter label sheet.", - "value": "LETTER_6" - } - ], - "x-example": "PLAIN_PAPER" - }, - { - "description": "The format type of the output file that contains your labels.", - "enum": [ - "PDF" - ], - "in": "query", - "name": "formatType", - "type": "string", - "x-docgen-enum-table-extension": [ - { - "description": "PDF format.", - "value": "PDF" - } - ], - "x-example": "PDF" - } - ], - "responses": { - "200": { - "description": "The 200 response for `getInboundShipmentLabels`.", - "headers": { - "x-amzn-RateLimit-Limit": { - "description": "Your rate limit (requests per second) for this operation.", - "type": "string" - }, - "x-amzn-RequestId": { - "description": "Unique request reference identifier.", - "type": "string" - } - }, - "schema": { - "$ref": "#/definitions/ShipmentLabels" - }, - "x-amzn-api-sandbox": { - "static": [ - { - "request": { - "parameters": { - "shipmentId": { - "value": "TestShipmentId" - } - } - }, - "response": { - "labelDownloadURL": "TEST_URL", - "labelStatus": "GENERATED" - } - } - ] - } - }, - "400": { - "description": "Request has missing or invalid parameters and cannot be parsed.", - "headers": { - "x-amzn-RateLimit-Limit": { - "description": "Your rate limit (requests per second) for this operation.", - "type": "string" - }, - "x-amzn-RequestId": { - "description": "Unique request reference identifier.", - "type": "string" - } - }, - "schema": { - "$ref": "#/definitions/ErrorList" - }, - "x-amzn-api-sandbox": { - "static": [ - { - "request": { - "parameters": { - "shipmentId": { - "value": " " - } - } - }, - "response": { - "errors": [ - { - "code": "BAD_REQUEST", - "details": "This exception is thrown when client inputs are invalid", - "message": "ShipmentId should be present for this request" - } - ] - } - } - ] - } - }, - "403": { - "description": "Indicates that access to the resource is forbidden. Possible reasons include Access Denied, Unauthorized, Expired Token, or Invalid Signature.", - "headers": { - "x-amzn-RequestId": { - "description": "Unique request reference identifier.", - "type": "string" - } - }, - "schema": { - "$ref": "#/definitions/ErrorList" - } - }, - "404": { - "description": "The resource specified does not exist.", - "headers": { - "x-amzn-RateLimit-Limit": { - "description": "Your rate limit (requests per second) for this operation.", - "type": "string" - }, - "x-amzn-RequestId": { - "description": "Unique request reference identifier.", - "type": "string" - } - }, - "schema": { - "$ref": "#/definitions/ErrorList" - } - }, - "413": { - "description": "The request size exceeded the maximum accepted size.", - "headers": { - "x-amzn-RequestId": { - "description": "Unique request reference identifier.", - "type": "string" - } - }, - "schema": { - "$ref": "#/definitions/ErrorList" - } - }, - "415": { - "description": "The request payload is in an unsupported format.", - "headers": { - "x-amzn-RequestId": { - "description": "Unique request reference identifier.", - "type": "string" - } - }, - "schema": { - "$ref": "#/definitions/ErrorList" - } - }, - "429": { - "description": "The frequency of requests was greater than allowed.", - "headers": { - "x-amzn-RequestId": { - "description": "Unique request reference identifier.", - "type": "string" - } - }, - "schema": { - "$ref": "#/definitions/ErrorList" - } - }, - "500": { - "description": "An unexpected condition occurred that prevented the server from fulfilling the request.", - "headers": { - "x-amzn-RequestId": { - "description": "Unique request reference identifier.", - "type": "string" - } - }, - "schema": { - "$ref": "#/definitions/ErrorList" - } - }, - "503": { - "description": "Temporary overloading or maintenance of the server.", - "headers": { - "x-amzn-RequestId": { - "description": "Unique request reference identifier.", - "type": "string" - } - }, - "schema": { - "$ref": "#/definitions/ErrorList" - } - } - }, - "tags": [ - "awd" - ], - "description": "Retrieves the box labels associated with the specified shipment ID.\n\n**Usage Plan:**\n\n| Rate (requests per second) | Burst |\n| ---- | ---- |\n| 1 | 1 |\n\nThe `x-amzn-RateLimit-Limit` response header returns the usage plan rate limits that were applied to the requested operation, when available. The table above indicates the default rate and burst values for this operation. Selling partners whose business demands require higher throughput may see higher rate and burst values than those shown here. For more information, refer to [Usage Plans and Rate Limits in the Selling Partner API](https://developer-docs.amazon.com/sp-api/docs/usage-plans-and-rate-limits-in-the-sp-api).", - "operationId": "getInboundShipmentLabels" - } - }, - "/awd/2024-05-09/inboundShipments/{shipmentId}/transport": { - "put": { - "consumes": [ - "application/json" - ], - "produces": [ - "application/json" - ], - "parameters": [ - { - "description": "The shipment ID.", - "in": "path", - "minLength": 1, - "name": "shipmentId", - "required": true, - "type": "string" - }, - { - "description": "Transportation details for the shipment.", - "in": "body", - "name": "body", - "required": true, - "schema": { - "$ref": "#/definitions/TransportationDetails" - } - } - ], - "responses": { - "200": { - "description": "The 200 response for `updateInboundShipmentTransportDetails`.", - "headers": { - "x-amzn-RateLimit-Limit": { - "description": "Your rate limit (requests per second) for this operation.", - "type": "string" - }, - "x-amzn-RequestId": { - "description": "Unique request reference identifier.", - "type": "string" - } - }, - "schema": { - "$ref": "#/definitions/InboundShipment" - }, - "x-amzn-api-sandbox": { - "static": [ - { - "request": { - "parameters": { - "shipmentId": { - "value": "TestShipmentId" - }, - "body": { - "value": { - "carrierCode": { - "carrierCodeType": "SCAC" - }, - "shipBy": "2023-07-17T07:10:17.886Z", - "trackingId": "TRACKING_ID" - } - } - } - }, - "response": { - "carrierCode": { - "carrierCodeType": "SCAC", - "carrierCodeValue": "NCSL" - }, - "createdAt": "2023-06-07T12:12:09.061Z", - "destinationAddress": { - "addressLine1": "address_1", - "addressLine2": "address_2", - "addressLine3": "address_3", - "city": "City1", - "countryCode": "CC", - "district": "District1", - "name": "DestinationName", - "postalCode": "123456", - "stateOrRegion": "State1" - }, - "orderId": "TestOrderId", - "originAddress": { - "addressLine1": "address_1", - "addressLine2": "address_2", - "addressLine3": "address_3", - "city": "City1", - "countryCode": "CC", - "district": "District1", - "name": "DestinationName", - "postalCode": "123456", - "stateOrRegion": "State1" - }, - "receivedQuantity": [ - { - "quantity": 0, - "unitOfMeasurement": "CASES" - } - ], - "shipBy": "2023-06-07T12:12:09.061Z", - "shipmentContainerQuantities": [ - { - "count": 1, - "distributionPackage": { - "contents": { - "packages": [], - "products": [ - { - "quantity": 20, - "sku": "testPen" - } - ] - }, - "measurements": { - "dimensions": { - "height": 33.02, - "length": 45.72, - "unitOfMeasurement": "CENTIMETERS", - "width": 15.24 - }, - "weight": { - "unitOfMeasurement": "KILOGRAMS", - "weight": 5.443104 - } - }, - "type": "CASE" - } - } - ], - "shipmentId": "TestShipmentId", - "shipmentStatus": "CREATED", - "trackingId": "TRACKING_ID", - "updatedAt": "2023-06-07T12:12:09.061Z" - } - } - ] - } - }, - "400": { - "description": "Request has missing or invalid parameters and cannot be parsed.", - "headers": { - "x-amzn-RateLimit-Limit": { - "description": "Your rate limit (requests per second) for this operation.", - "type": "string" - }, - "x-amzn-RequestId": { - "description": "Unique request reference identifier.", - "type": "string" - } - }, - "schema": { - "$ref": "#/definitions/ErrorList" - }, - "x-amzn-api-sandbox": { - "static": [ - { - "request": { - "parameters": { - "shipmentId": { - "value": " " - } - } - }, - "response": { - "errors": [ - { - "code": "BAD_REQUEST", - "details": "This exception is thrown when client inputs are invalid", - "message": "ShipmentId should be present for this request" - } - ] - } - } - ] - } - }, - "403": { - "description": "Indicates that access to the resource is forbidden. Possible reasons include Access Denied, Unauthorized, Expired Token, or Invalid Signature.", - "headers": { - "x-amzn-RequestId": { - "description": "Unique request reference identifier.", - "type": "string" - } - }, - "schema": { - "$ref": "#/definitions/ErrorList" - } - }, - "404": { - "description": "The resource specified does not exist.", - "headers": { - "x-amzn-RateLimit-Limit": { - "description": "Your rate limit (requests per second) for this operation.", - "type": "string" - }, - "x-amzn-RequestId": { - "description": "Unique request reference identifier.", - "type": "string" - } - }, - "schema": { - "$ref": "#/definitions/ErrorList" - } - }, - "413": { - "description": "The request size exceeded the maximum accepted size.", - "headers": { - "x-amzn-RequestId": { - "description": "Unique request reference identifier.", - "type": "string" - } - }, - "schema": { - "$ref": "#/definitions/ErrorList" - } - }, - "415": { - "description": "The request payload is in an unsupported format.", - "headers": { - "x-amzn-RequestId": { - "description": "Unique request reference identifier.", - "type": "string" - } - }, - "schema": { - "$ref": "#/definitions/ErrorList" - } - }, - "429": { - "description": "The frequency of requests was greater than allowed.", - "headers": { - "x-amzn-RequestId": { - "description": "Unique request reference identifier.", - "type": "string" - } - }, - "schema": { - "$ref": "#/definitions/ErrorList" - } - }, - "500": { - "description": "An unexpected condition occurred that prevented the server from fulfilling the request.", - "headers": { - "x-amzn-RequestId": { - "description": "Unique request reference identifier.", - "type": "string" - } - }, - "schema": { - "$ref": "#/definitions/ErrorList" - } - }, - "503": { - "description": "Temporary overloading or maintenance of the server.", - "headers": { - "x-amzn-RequestId": { - "description": "Unique request reference identifier.", - "type": "string" - } - }, - "schema": { - "$ref": "#/definitions/ErrorList" - } - } - }, - "tags": [ - "awd" - ], - "description": "Updates transport details for an AWD shipment.\n\n**Usage Plan:**\n\n| Rate (requests per second) | Burst |\n| ---- | ---- |\n| 1 | 1 |\n\nThe `x-amzn-RateLimit-Limit` response header returns the usage plan rate limits that were applied to the requested operation, when available. The table above indicates the default rate and burst values for this operation. Selling partners whose business demands require higher throughput may see higher rate and burst values than those shown here. For more information, refer to [Usage Plans and Rate Limits in the Selling Partner API](https://developer-docs.amazon.com/sp-api/docs/usage-plans-and-rate-limits-in-the-sp-api).", - "operationId": "updateInboundShipmentTransportDetails" - } - }, - "/awd/2024-05-09/inboundEligibility": { - "post": { - "consumes": [ - "application/json" - ], - "produces": [ - "application/json" - ], - "parameters": [ - { - "description": "Represents the packages you want to inbound.", - "in": "body", - "name": "body", - "required": true, - "schema": { - "$ref": "#/definitions/InboundPackages" - } - } - ], - "responses": { - "200": { - "description": "The 200 response for `checkInboundEligibility`.", - "headers": { - "x-amzn-RateLimit-Limit": { - "description": "Your rate limit (requests per second) for this operation.", - "type": "string" - }, - "x-amzn-RequestId": { - "description": "Unique request reference identifier.", - "type": "string" - } - }, - "schema": { - "$ref": "#/definitions/InboundEligibility" - }, - "x-amzn-api-sandbox": { - "static": [ - { - "request": { - "parameters": { - "body": { - "value": { - "packagesToInbound": [ - { - "count": 1, - "distributionPackage": { - "contents": { - "products": [ - { - "quantity": 1, - "sku": "TestDVDSku" - } - ] - }, - "measurements": { - "dimensions": { - "height": 1, - "length": 1, - "unitOfMeasurement": "INCHES", - "width": 1 - }, - "volume": { - "unitOfMeasurement": "CUIN", - "volume": 1 - }, - "weight": { - "unitOfMeasurement": "POUNDS", - "weight": 1 - } - }, - "type": "CASE" - } - }, - { - "count": 1, - "distributionPackage": { - "contents": { - "products": [ - { - "quantity": 1, - "sku": "testPen" - } - ] - }, - "measurements": { - "dimensions": { - "height": 1, - "length": 1, - "unitOfMeasurement": "INCHES", - "width": 1 - }, - "volume": { - "unitOfMeasurement": "CUIN", - "volume": 1 - }, - "weight": { - "unitOfMeasurement": "POUNDS", - "weight": 1 - } - }, - "type": "CASE" - } - } - ] - } - } - } - }, - "response": { - "ineligibilityReasons": [], - "status": "INELIGIBLE", - "packagesToInbound": [ - { - "ineligibilityReasons": [ - { - "description": "You can't use the gating service to buy this item.", - "code": "GATING_BLOCK_ON_GL" - } - ], - "status": "INELIGIBLE", - "packageQuantity": { - "count": 1, - "distributionPackage": { - "contents": { - "packages": [], - "products": [ - { - "quantity": 1, - "sku": "TestDVDSku" - } - ] - }, - "measurements": { - "dimensions": { - "height": 1.0, - "length": 1.0, - "unitOfMeasurement": "INCHES", - "width": 1.0 - }, - "volume": { - "unitOfMeasurement": "CUIN", - "volume": 1.0 - }, - "weight": { - "unitOfMeasurement": "POUNDS", - "weight": 1.0 - } - }, - "type": "CASE" - } - } - }, - { - "ineligibilityReasons": [], - "status": "ELIGIBLE", - "packageQuantity": { - "count": 1, - "distributionPackage": { - "contents": { - "packages": [], - "products": [ - { - "quantity": 1, - "sku": "testPen" - } - ] - }, - "measurements": { - "dimensions": { - "height": 1.0, - "length": 1.0, - "unitOfMeasurement": "INCHES", - "width": 1.0 - }, - "volume": { - "unitOfMeasurement": "CUIN", - "volume": 1.0 - }, - "weight": { - "unitOfMeasurement": "POUNDS", - "weight": 1.0 - } - }, - "type": "CASE" - } - } - } - ], - "previewedAt": "1688454771870" - } - } - ] - } - }, - "400": { - "description": "Request has missing or invalid parameters and cannot be parsed.", - "headers": { - "x-amzn-RateLimit-Limit": { - "description": "Your rate limit (requests per second) for this operation.", - "type": "string" - }, - "x-amzn-RequestId": { - "description": "Unique request reference identifier.", - "type": "string" - } - }, - "schema": { - "$ref": "#/definitions/ErrorList" - }, - "x-amzn-api-sandbox": { - "static": [ - { - "request": { - "parameters": { - "body": { - "value": { - "packagesToInbound": [ - { - "count": 1, - "distributionPackage": { - "contents": { - "products": [ - { - "quantity": 1, - "sku": "TestDVDSku" - } - ] - }, - "measurements": { - "dimensions": { - "height": 1, - "length": 1, - "unitOfMeasurement": "INCHES", - "width": 1 - }, - "volume": { - "unitOfMeasurement": "CUIN", - "volume": 1 - }, - "weight": { - "unitOfMeasurement": "POUNDS", - "weight": 1 - } - }, - "type": "CASE" - } - }, - { - "count": 1, - "distributionPackage": { - "contents": { - "products": [ - { - "quantity": 1, - "sku": "testPen" - } - ] - }, - "measurements": { - "dimensions": { - "height": 1, - "length": 1, - "unitOfMeasurement": "INCHES", - "width": 1 - }, - "volume": { - "unitOfMeasurement": "CUIN", - "volume": 1 - }, - "weight": { - "unitOfMeasurement": "POUNDS", - "weight": 1 - } - }, - "type": "TEST" - } - } - ] - } - } - } - }, - "response": { - "errors": [ - { - "code": "BAD_REQUEST", - "details": "This exception is thrown when client inputs are invalid", - "message": "OrderId should be present for this request" - } - ] - } - } - ] - } - }, - "403": { - "description": "Indicates that access to the resource is forbidden. Possible reasons include Access Denied, Unauthorized, Expired Token, or Invalid Signature.", - "headers": { - "x-amzn-RequestId": { - "description": "Unique request reference identifier.", - "type": "string" - } - }, - "schema": { - "$ref": "#/definitions/ErrorList" - } - }, - "404": { - "description": "The resource specified does not exist.", - "headers": { - "x-amzn-RateLimit-Limit": { - "description": "Your rate limit (requests per second) for this operation.", - "type": "string" - }, - "x-amzn-RequestId": { - "description": "Unique request reference identifier.", - "type": "string" - } - }, - "schema": { - "$ref": "#/definitions/ErrorList" - } - }, - "413": { - "description": "The request size exceeded the maximum accepted size.", - "headers": { - "x-amzn-RequestId": { - "description": "Unique request reference identifier.", - "type": "string" - } - }, - "schema": { - "$ref": "#/definitions/ErrorList" - } - }, - "415": { - "description": "The request payload is in an unsupported format.", - "headers": { - "x-amzn-RequestId": { - "description": "Unique request reference identifier.", - "type": "string" - } - }, - "schema": { - "$ref": "#/definitions/ErrorList" - } - }, - "429": { - "description": "The frequency of requests was greater than allowed.", - "headers": { - "x-amzn-RequestId": { - "description": "Unique request reference identifier.", - "type": "string" - } - }, - "schema": { - "$ref": "#/definitions/ErrorList" - } - }, - "500": { - "description": "An unexpected condition occurred that prevented the server from fulfilling the request.", - "headers": { - "x-amzn-RequestId": { - "description": "Unique request reference identifier.", - "type": "string" - } - }, - "schema": { - "$ref": "#/definitions/ErrorList" - } - }, - "503": { - "description": "Temporary overloading or maintenance of the server.", - "headers": { - "x-amzn-RequestId": { - "description": "Unique request reference identifier.", - "type": "string" - } - }, - "schema": { - "$ref": "#/definitions/ErrorList" - } - } - }, - "tags": [ - "awd" - ], - "description": "Perform a dry-run test to determine if the specified inventory is eligible for AWD inbound shipment.\n\n**Usage Plan:**\n\n| Rate (requests per second) | Burst |\n| ---- | ---- |\n| 1 | 1 |\n\nThe `x-amzn-RateLimit-Limit` response header returns the usage plan rate limits that were applied to the requested operation, when available. The table above indicates the default rate and burst values for this operation. Selling partners whose business demands require higher throughput may see higher rate and burst values than those shown here. For more information, refer to [Usage Plans and Rate Limits in the Selling Partner API](https://developer-docs.amazon.com/sp-api/docs/usage-plans-and-rate-limits-in-the-sp-api).", - "operationId": "checkInboundEligibility" - } - }, - "/awd/2024-05-09/inboundShipments": { - "get": { - "produces": [ - "application/json" - ], - "parameters": [ - { - "description": "Field to sort results by. By default, the response will be sorted by UPDATED_AT.", - "enum": [ - "UPDATED_AT", - "CREATED_AT" - ], - "in": "query", - "name": "sortBy", - "type": "string", - "x-docgen-enum-table-extension": [ - { - "description": "Sort by the time of update.", - "value": "UPDATED_AT" - }, - { - "description": "Sort by the time of creation.", - "value": "CREATED_AT" - } - ] - }, - { - "description": "Sort the response in ASCENDING or DESCENDING order. By default, the response will be sorted in DESCENDING order.", - "enum": [ - "ASCENDING", - "DESCENDING" - ], - "in": "query", - "name": "sortOrder", - "type": "string", - "x-docgen-enum-table-extension": [ - { - "description": "Sorts the collection in ascending order.", - "value": "ASCENDING" - }, - { - "description": "Sorts the collection in descending order.", - "value": "DESCENDING" - } - ], - "x-example": "ASCENDING" - }, - { - "description": "Filter by inbound shipment status.", - "enum": [ - "CREATED", - "SHIPPED", - "IN_TRANSIT", - "RECEIVING", - "DELIVERED", - "CLOSED", - "CANCELLED" - ], - "in": "query", - "name": "shipmentStatus", - "type": "string", - "x-docgen-enum-table-extension": [ - { - "description": "Shipment is created, but hasn't shipped.", - "value": "CREATED" - }, - { - "description": "Shipment was picked up by the carrier or was dropped off with the carrier.", - "value": "SHIPPED" - }, - { - "description": "The carrier has notified AWD that the shipment is in transit between the origin and destination nodes.", - "value": "IN_TRANSIT" - }, - { - "description": "The shipment has been partially received.", - "value": "RECEIVING" - }, - { - "description": "The shipment has reached the destination node and has been delivered to the facility yard. The shipment `receive` process at the warehouse will start soon.", - "value": "DELIVERED" - }, - { - "description": "No more actions are required for the shipment. This is a final state.", - "value": "CLOSED" - }, - { - "description": "The shipment is cancelled. This is a final state.", - "value": "CANCELLED" - } - ], - "x-example": "CREATED" - }, - { - "description": "List the inbound shipments that were updated after a certain time (inclusive). The date must be in ISO 8601 format.", - "format": "date-time", - "in": "query", - "name": "updatedAfter", - "type": "string", - "x-example": "2023-01-12T10:00:00.000Z" - }, - { - "description": "List the inbound shipments that were updated before a certain time (inclusive). The date must be in ISO 8601 format.", - "format": "date-time", - "in": "query", - "name": "updatedBefore", - "type": "string", - "x-example": "2023-01-12T10:00:00.000Z" - }, - { - "default": 25, - "description": "Maximum number of results to return.", - "format": "int32", - "in": "query", - "maximum": 200, - "minimum": 1, - "name": "maxResults", - "type": "integer", - "x-example": "10" - }, - { - "description": "Token to retrieve the next set of paginated results.", - "in": "query", - "name": "nextToken", - "type": "string", - "x-example": "SampleToken" - } - ], - "responses": { - "200": { - "description": "The 200 response for `listInboundShipments`.", - "headers": { - "x-amzn-RateLimit-Limit": { - "description": "Your rate limit (requests per second) for this operation.", - "type": "string" - }, - "x-amzn-RequestId": { - "description": "Unique request reference identifier.", - "type": "string" - } - }, - "schema": { - "$ref": "#/definitions/ShipmentListing" - }, - "x-amzn-api-sandbox": { - "static": [ - { - "request": { - "parameters": {} - }, - "response": { - "shipments": [{ - "createdAt": "2023-06-07T12:12:09.061Z", - "orderId": "TestOrderId", - "shipmentId": "TestShipmentId", - "shipmentStatus": "CREATED", - "updatedAt": "2023-06-07T12:12:09.061Z" - }] - } - } - ] - } - }, - "400": { - "description": "Request has missing or invalid parameters and cannot be parsed.", - "headers": { - "x-amzn-RateLimit-Limit": { - "description": "Your rate limit (requests per second) for this operation.", - "type": "string" - }, - "x-amzn-RequestId": { - "description": "Unique request reference identifier.", - "type": "string" - } - }, - "schema": { - "$ref": "#/definitions/ErrorList" - }, - "x-amzn-api-sandbox": { - "static": [ - { - "request": { - "parameters": { - "sortBy": { - "value": "TEST" - } - } - }, - "response": { - "errors": [ - { - "code": "BAD_REQUEST", - "details": "This exception is thrown when client inputs are invalid", - "message": "Invalid shipment sortable field received: TEST" - } - ] - } - } - ] - } - }, - "403": { - "description": "Indicates that access to the resource is forbidden. Possible reasons include Access Denied, Unauthorized, Expired Token, or Invalid Signature.", - "headers": { - "x-amzn-RequestId": { - "description": "Unique request reference identifier.", - "type": "string" - } - }, - "schema": { - "$ref": "#/definitions/ErrorList" - } - }, - "404": { - "description": "The resource specified does not exist.", - "headers": { - "x-amzn-RateLimit-Limit": { - "description": "Your rate limit (requests per second) for this operation.", - "type": "string" - }, - "x-amzn-RequestId": { - "description": "Unique request reference identifier.", - "type": "string" - } - }, - "schema": { - "$ref": "#/definitions/ErrorList" - } - }, - "413": { - "description": "The request size exceeded the maximum accepted size.", - "headers": { - "x-amzn-RequestId": { - "description": "Unique request reference identifier.", - "type": "string" - } - }, - "schema": { - "$ref": "#/definitions/ErrorList" - } - }, - "415": { - "description": "The request payload is in an unsupported format.", - "headers": { - "x-amzn-RequestId": { - "description": "Unique request reference identifier.", - "type": "string" - } - }, - "schema": { - "$ref": "#/definitions/ErrorList" - } - }, - "429": { - "description": "The frequency of requests was greater than allowed.", - "headers": { - "x-amzn-RequestId": { - "description": "Unique request reference identifier.", - "type": "string" - } - }, - "schema": { - "$ref": "#/definitions/ErrorList" - } - }, - "500": { - "description": "An unexpected condition occurred that prevented the server from fulfilling the request.", - "headers": { - "x-amzn-RequestId": { - "description": "Unique request reference identifier.", - "type": "string" - } - }, - "schema": { - "$ref": "#/definitions/ErrorList" - } - }, - "503": { - "description": "Temporary overloading or maintenance of the server.", - "headers": { - "x-amzn-RequestId": { - "description": "Unique request reference identifier.", - "type": "string" - } - }, - "schema": { - "$ref": "#/definitions/ErrorList" - } - } - }, - "tags": [ - "awd" - ], - "description": "Retrieves a summary of all the inbound AWD shipments associated with a merchant, with the ability to apply optional filters.\n\n**Usage Plan:**\n\n| Rate (requests per second) | Burst |\n| ---- | ---- |\n| 1 | 1 |\n\nThe `x-amzn-RateLimit-Limit` response header returns the usage plan rate limits that were applied to the requested operation, when available. The table above indicates the default rate and burst values for this operation. Selling partners whose business demands require higher throughput may see higher rate and burst values than those shown here. For more information, refer to [Usage Plans and Rate Limits in the Selling Partner API](https://developer-docs.amazon.com/sp-api/docs/usage-plans-and-rate-limits-in-the-sp-api).", - "operationId": "listInboundShipments" - } - }, - "/awd/2024-05-09/inventory": { - "get": { - "produces": [ - "application/json" - ], - "parameters": [ - { - "description": "Filter by seller or merchant SKU for the item.", - "in": "query", - "name": "sku", - "type": "string", - "x-example": "TestSKU" - }, - { - "description": "Sort the response in `ASCENDING` or `DESCENDING` order.", - "enum": [ - "ASCENDING", - "DESCENDING" - ], - "in": "query", - "name": "sortOrder", - "type": "string", - "x-docgen-enum-table-extension": [ - { - "description": "Sorts the collection in ascending order.", - "value": "ASCENDING" - }, - { - "description": "Sorts the collection in descending order.", - "value": "DESCENDING" - } - ] - }, - { - "description": "Set to `SHOW` to return summaries with additional inventory details. Defaults to `HIDE,` which returns only inventory summary totals.", - "enum": [ - "SHOW", - "HIDE" - ], - "in": "query", - "name": "details", - "type": "string", - "x-docgen-enum-table-extension": [ - { - "description": "Show the additional summarized inventory details.", - "value": "SHOW" - }, - { - "description": "Hide the additional summarized inventory details.", - "value": "HIDE" - } - ], - "x-example": "SHOW" - }, - { - "description": "Token to retrieve the next set of paginated results.", - "in": "query", - "name": "nextToken", - "type": "string", - "x-example": "SampleToken" - }, - { - "default": 25, - "description": "Maximum number of results to return.", - "format": "int32", - "in": "query", - "maximum": 200, - "minimum": 1, - "name": "maxResults", - "type": "integer", - "x-example": "10" - } - ], - "responses": { - "200": { - "description": "The 200 response for `listInventory`.", - "headers": { - "x-amzn-RateLimit-Limit": { - "description": "Your rate limit (requests per second) for this operation.", - "type": "string" - }, - "x-amzn-RequestId": { - "description": "Unique request reference identifier.", - "type": "string" - } - }, - "schema": { - "$ref": "#/definitions/InventoryListing" - }, - "x-amzn-api-sandbox": { - "static": [ - { - "request": {}, - "response": { - "inventory": [ - { - "totalOnhandQuantity": 20, - "totalInboundQuantity": 10, - "sku": "100TestSKU1Pen", - "inventoryDetails": { - "availableDistributableQuantity": 10, - "reservedDistributableQuantity": 10 - } - }, - { - "totalOnhandQuantity": 20, - "totalInboundQuantity": 5, - "sku": "2U-BKEX-VW4D", - "inventoryDetails": { - "availableDistributableQuantity": 10, - "reservedDistributableQuantity": 10 - } - } - ] - } - } - ] - } - }, - "400": { - "description": "Request has missing or invalid parameters and cannot be parsed.", - "headers": { - "x-amzn-RateLimit-Limit": { - "description": "Your rate limit (requests per second) for this operation.", - "type": "string" - }, - "x-amzn-RequestId": { - "description": "Unique request reference identifier.", - "type": "string" - } - }, - "schema": { - "$ref": "#/definitions/ErrorList" - }, - "x-amzn-api-sandbox": { - "static": [ - { - "request": { - "parameters": { - "sortOrder": { - "value": "UNKNOWN" - } - } - }, - "response": { - "errors": [ - { - "code": "BAD_REQUEST", - "details": "This exception is thrown when client inputs are invalid", - "message": "Invalid value: UNKNOWN passed for sort order. Possible values are: [ASCENDING, DESCENDING]" - } - ] - } - } - ] - } - }, - "403": { - "description": "Indicates that access to the resource is forbidden. Possible reasons include Access Denied, Unauthorized, Expired Token, or Invalid Signature.", - "headers": { - "x-amzn-RequestId": { - "description": "Unique request reference identifier.", - "type": "string" - } - }, - "schema": { - "$ref": "#/definitions/ErrorList" - } - }, - "404": { - "description": "The resource specified does not exist.", - "headers": { - "x-amzn-RateLimit-Limit": { - "description": "Your rate limit (requests per second) for this operation.", - "type": "string" - }, - "x-amzn-RequestId": { - "description": "Unique request reference identifier.", - "type": "string" - } - }, - "schema": { - "$ref": "#/definitions/ErrorList" - } - }, - "413": { - "description": "The request size exceeded the maximum accepted size.", - "headers": { - "x-amzn-RequestId": { - "description": "Unique request reference identifier.", - "type": "string" - } - }, - "schema": { - "$ref": "#/definitions/ErrorList" - } - }, - "415": { - "description": "The request payload is in an unsupported format.", - "headers": { - "x-amzn-RequestId": { - "description": "Unique request reference identifier.", - "type": "string" - } - }, - "schema": { - "$ref": "#/definitions/ErrorList" - } - }, - "429": { - "description": "The frequency of requests was greater than allowed.", - "headers": { - "x-amzn-RequestId": { - "description": "Unique request reference identifier.", - "type": "string" - } - }, - "schema": { - "$ref": "#/definitions/ErrorList" - } - }, - "500": { - "description": "An unexpected condition occurred that prevented the server from fulfilling the request.", - "headers": { - "x-amzn-RequestId": { - "description": "Unique request reference identifier.", - "type": "string" - } - }, - "schema": { - "$ref": "#/definitions/ErrorList" - } - }, - "503": { - "description": "Temporary overloading or maintenance of the server.", - "headers": { - "x-amzn-RequestId": { - "description": "Unique request reference identifier.", - "type": "string" - } - }, - "schema": { - "$ref": "#/definitions/ErrorList" - } - } - }, - "tags": [ - "awd" - ], - "description": "Lists AWD inventory associated with a merchant with the ability to apply optional filters.\n\n**Usage Plan:**\n\n| Rate (requests per second) | Burst |\n| ---- | ---- |\n| 2 | 2 |\n\nThe `x-amzn-RateLimit-Limit` response header returns the usage plan rate limits that were applied to the requested operation, when available. The table above indicates the default rate and burst values for this operation. Selling partners whose business demands require higher throughput may see higher rate and burst values than those shown here. For more information, refer to [Usage Plans and Rate Limits in the Selling Partner API](https://developer-docs.amazon.com/sp-api/docs/usage-plans-and-rate-limits-in-the-sp-api).", - "operationId": "listInventory" - } - }, - "/awd/2024-05-09/outboundOrders": { - "get": { - "produces": [ - "application/json" - ], - "parameters": [ - { - "description": "Get the outbound orders updated after a certain time (inclusive). The date must be in ISO 8601 format.", - "format": "date-time", - "in": "query", - "name": "updatedAfter", - "type": "string", - "x-example": "2023-01-12T10:00:00.000Z" - }, - { - "description": "Get the outbound orders updated before a certain time (inclusive). The date must be in ISO 8601 format.", - "format": "date-time", - "in": "query", - "name": "updatedBefore", - "type": "string", - "x-example": "2023-01-12T10:00:00.000Z" - }, - { - "description": "Sort the response in `ASCENDING` or `DESCENDING` order.", - "enum": [ - "ASCENDING", - "DESCENDING" - ], - "in": "query", - "name": "sortOrder", - "type": "string", - "x-docgen-enum-table-extension": [ - { - "description": "Sorts the collection in ascending order.", - "value": "ASCENDING" - }, - { - "description": "Sorts the collection in descending order.", - "value": "DESCENDING" - } - ] - }, - { - "default": 25, - "description": "Maximum number of results to return.", - "format": "int32", - "in": "query", - "maximum": 100, - "minimum": 1, - "name": "maxResults", - "type": "integer", - "x-example": "10" - }, - { - "description": "Token to retrieve the next set of paginated results.", - "in": "query", - "name": "nextToken", - "type": "string", - "x-example": "SampleToken" - } - ], - "responses": { - "200": { - "description": "The 200 response for `listOutbounds`.", - "headers": { - "x-amzn-RateLimit-Limit": { - "description": "Your rate limit (requests per second) for this operation.", - "type": "string" - }, - "x-amzn-RequestId": { - "description": "Unique request reference identifier.", - "type": "string" - } - }, - "schema": { - "$ref": "#/definitions/OutboundListing" - }, - "x-amzn-api-sandbox": { - "static": [ - { - "request": { - "parameters": {} - }, - "response": { - "outboundOrders": [ - { - "eligiblePackagesToOutbound": [], - "eligibleProductsToOutbound": [], - "executionErrors": [], - "orderId": "TEST_ORDER_ID", - "orderPreferences": [], - "orderStatus": "SUCCESS", - "outboundShipments": [], - "packagesToOutbound": [], - "productsToOutbound": [], - "shippedOutboundPackages": [], - "shippedOutboundProducts": [] - } - ] - } - } - ] - } - }, - "400": { - "description": "Request has missing or invalid parameters and cannot be parsed.", - "headers": { - "x-amzn-RateLimit-Limit": { - "description": "Your rate limit (requests per second) for this operation.", - "type": "string" - }, - "x-amzn-RequestId": { - "description": "Unique request reference identifier.", - "type": "string" - } - }, - "schema": { - "$ref": "#/definitions/ErrorList" - }, - "x-amzn-api-sandbox": { - "static": [ - { - "request": { - "parameters": { - "sortOrder": { - "value": "TEST" - } - } - }, - "response": { - "errors": [ - { - "code": "BAD_REQUEST", - "details": "This exception is thrown when client inputs are invalid", - "message": "Invalid sort order field: TEST" - } - ] - } - } - ] - } - }, - "403": { - "description": "Indicates that access to the resource is forbidden. Possible reasons include Access Denied, Unauthorized, Expired Token, or Invalid Signature.", - "headers": { - "x-amzn-RequestId": { - "description": "Unique request reference identifier.", - "type": "string" - } - }, - "schema": { - "$ref": "#/definitions/ErrorList" - } - }, - "404": { - "description": "The resource specified does not exist.", - "headers": { - "x-amzn-RateLimit-Limit": { - "description": "Your rate limit (requests per second) for this operation.", - "type": "string" - }, - "x-amzn-RequestId": { - "description": "Unique request reference identifier.", - "type": "string" - } - }, - "schema": { - "$ref": "#/definitions/ErrorList" - } - }, - "413": { - "description": "The request size exceeded the maximum accepted size.", - "headers": { - "x-amzn-RequestId": { - "description": "Unique request reference identifier.", - "type": "string" - } - }, - "schema": { - "$ref": "#/definitions/ErrorList" - } - }, - "415": { - "description": "The request payload is in an unsupported format.", - "headers": { - "x-amzn-RequestId": { - "description": "Unique request reference identifier.", - "type": "string" - } - }, - "schema": { - "$ref": "#/definitions/ErrorList" - } - }, - "429": { - "description": "The frequency of requests was greater than allowed.", - "headers": { - "x-amzn-RequestId": { - "description": "Unique request reference identifier.", - "type": "string" - } - }, - "schema": { - "$ref": "#/definitions/ErrorList" - } - }, - "500": { - "description": "An unexpected condition occurred that prevented the server from fulfilling the request.", - "headers": { - "x-amzn-RequestId": { - "description": "Unique request reference identifier.", - "type": "string" - } - }, - "schema": { - "$ref": "#/definitions/ErrorList" - } - }, - "503": { - "description": "Temporary overloading or maintenance of the server.", - "headers": { - "x-amzn-RequestId": { - "description": "Unique request reference identifier.", - "type": "string" - } - }, - "schema": { - "$ref": "#/definitions/ErrorList" - } - } - }, - "tags": [ - "awd" - ], - "description": "Retrieves all outbound AWD orders (with optional filters) that pertain to a merchant. By default, orders are sorted by the `updatedAt` attribute in descending order.\n\n**Usage Plan:**\n\n| Rate (requests per second) | Burst |\n| ---- | ---- |\n| 1 | 1 |\n\nThe `x-amzn-RateLimit-Limit` response header returns the usage plan rate limits that were applied to the requested operation, when available. The table above indicates the default rate and burst values for this operation. Selling partners whose business demands require higher throughput may see higher rate and burst values than those shown here. For more information, refer to [Usage Plans and Rate Limits in the Selling Partner API](https://developer-docs.amazon.com/sp-api/docs/usage-plans-and-rate-limits-in-the-sp-api).", - "operationId": "listOutbounds" - }, - "post": { - "consumes": [ - "application/json" - ], - "produces": [ - "application/json" - ], - "parameters": [ - { - "description": "Payload for creating an outbound order.", - "in": "body", - "name": "body", - "required": true, - "schema": { - "$ref": "#/definitions/OutboundOrderCreationData" - } - } - ], - "responses": { - "201": { - "description": "The 201 response for `createOutbound`.", - "headers": { - "location": { - "description": "Location header with the order ID for the newly created outbound order.", - "type": "string" - }, - "x-amzn-RateLimit-Limit": { - "description": "Your rate limit (requests per second) for this operation.", - "type": "string" - }, - "x-amzn-RequestId": { - "description": "Unique request reference identifier.", - "type": "string" - } - }, - "schema": { - "$ref": "#/definitions/OutboundOrderReference" - }, - "x-amzn-api-sandbox": { - "static": [ - { - "request": { - "parameters": { - "body": { - "value": { - "productsToOutbound": [ - { - "quantity": 20, - "sku": "TEST_SKU" - } - ] - } - } - } - }, - "response": { - "orderId": "TEST_ORDER_ID" - }, - "responseHeaders": { - "location": { - "value": "TEST_ORDER_ID" - } - } - } - ] - } - }, - "400": { - "description": "Request has missing or invalid parameters and cannot be parsed.", - "headers": { - "x-amzn-RateLimit-Limit": { - "description": "Your rate limit (requests per second) for this operation.", - "type": "string" - }, - "x-amzn-RequestId": { - "description": "Unique request reference identifier.", - "type": "string" - } - }, - "schema": { - "$ref": "#/definitions/ErrorList" - }, - "x-amzn-api-sandbox": { - "static": [ - { - "request": { - "parameters": { - "body": { - "value": { - "packagesToOutbound": [{ - "count": 20, - "distributionPackage": { - "type": "TEST", - "contents": { - "products": [ - { - "quantity": 1, - "sku": "TEST_SKU" - } - ] - } - } - }] - } - } - } - }, - "response": { - "errors": [ - { - "code": "BAD_REQUEST", - "details": "This exception is thrown when client inputs are invalid", - "message": "Invalid package type: TEST" - } - ] - } - } - ] - } - }, - "403": { - "description": "Indicates that access to the resource is forbidden. Possible reasons include Access Denied, Unauthorized, Expired Token, or Invalid Signature.", - "headers": { - "x-amzn-RequestId": { - "description": "Unique request reference identifier.", - "type": "string" - } - }, - "schema": { - "$ref": "#/definitions/ErrorList" - } - }, - "404": { - "description": "The resource specified does not exist.", - "headers": { - "x-amzn-RateLimit-Limit": { - "description": "Your rate limit (requests per second) for this operation.", - "type": "string" - }, - "x-amzn-RequestId": { - "description": "Unique request reference identifier.", - "type": "string" - } - }, - "schema": { - "$ref": "#/definitions/ErrorList" - } - }, - "413": { - "description": "The request size exceeded the maximum accepted size.", - "headers": { - "x-amzn-RequestId": { - "description": "Unique request reference identifier.", - "type": "string" - } - }, - "schema": { - "$ref": "#/definitions/ErrorList" - } - }, - "415": { - "description": "The request payload is in an unsupported format.", - "headers": { - "x-amzn-RequestId": { - "description": "Unique request reference identifier.", - "type": "string" - } - }, - "schema": { - "$ref": "#/definitions/ErrorList" - } - }, - "429": { - "description": "The frequency of requests was greater than allowed.", - "headers": { - "x-amzn-RequestId": { - "description": "Unique request reference identifier.", - "type": "string" - } - }, - "schema": { - "$ref": "#/definitions/ErrorList" - } - }, - "500": { - "description": "An unexpected condition occurred that prevented the server from fulfilling the request.", - "headers": { - "x-amzn-RequestId": { - "description": "Unique request reference identifier.", - "type": "string" - } - }, - "schema": { - "$ref": "#/definitions/ErrorList" - } - }, - "503": { - "description": "Temporary overloading or maintenance of the server.", - "headers": { - "x-amzn-RequestId": { - "description": "Unique request reference identifier.", - "type": "string" - } - }, - "schema": { - "$ref": "#/definitions/ErrorList" - } - } - }, - "tags": [ - "awd" - ], - "description": "Creates a draft AWD outbound order with the specified products. The API returns the order ID for the newly created order and starts an async validation check on the outbound products. After the validation check, the order status transitions from `VALIDATING` to `ELIGIBLE/INELIGIBLE`.\n\n**Usage Plan:**\n\n| Rate (requests per second) | Burst |\n| ---- | ---- |\n| 1 | 1 |\n\nThe `x-amzn-RateLimit-Limit` response header returns the usage plan rate limits that were applied to the requested operation, when available. The table above indicates the default rate and burst values for this operation. Selling partners whose business demands require higher throughput may see higher rate and burst values than those shown here. For more information, refer to [Usage Plans and Rate Limits in the Selling Partner API](https://developer-docs.amazon.com/sp-api/docs/usage-plans-and-rate-limits-in-the-sp-api).", - "operationId": "createOutbound" - } - }, - "/awd/2024-05-09/outboundOrders/{orderId}": { - "get": { - "produces": [ - "application/json" - ], - "parameters": [ - { - "description": "ID for the outbound order to be retrieved.", - "in": "path", - "name": "orderId", - "required": true, - "type": "string" - } - ], - "responses": { - "200": { - "description": "The 200 response for `getOutbound`.", - "headers": { - "x-amzn-RateLimit-Limit": { - "description": "Your rate limit (requests per second) for this operation.", - "type": "string" - }, - "x-amzn-RequestId": { - "description": "Unique request reference identifier.", - "type": "string" - } - }, - "schema": { - "$ref": "#/definitions/OutboundOrder" - }, - "x-amzn-api-sandbox": { - "static": [ - { - "request": { - "parameters": { - "orderId": { - "value": "TEST_ORDER_ID" - } - } - }, - "response": { - "eligiblePackagesToOutbound": [], - "eligibleProductsToOutbound": [], - "executionErrors": [], - "orderId": "TEST_ORDER_ID", - "orderPreferences": [], - "orderStatus": "SUCCESS", - "outboundShipments": [], - "packagesToOutbound": [], - "productsToOutbound": [], - "shippedOutboundPackages": [], - "shippedOutboundProducts": [] - } - } - ] - } - }, - "400": { - "description": "Request has missing or invalid parameters and cannot be parsed.", - "headers": { - "x-amzn-RateLimit-Limit": { - "description": "Your rate limit (requests per second) for this operation.", - "type": "string" - }, - "x-amzn-RequestId": { - "description": "Unique request reference identifier.", - "type": "string" - } - }, - "schema": { - "$ref": "#/definitions/ErrorList" - }, - "x-amzn-api-sandbox": { - "static": [ - { - "request": { - "parameters": { - "orderId": { - "value": " " - } - } - }, - "response": { - "errors": [ - { - "code": "BAD_REQUEST", - "details": "This exception is thrown when client inputs are invalid", - "message": "OrderId should be present for this request" - } - ] - } - } - ] - } - }, - "403": { - "description": "Indicates that access to the resource is forbidden. Possible reasons include Access Denied, Unauthorized, Expired Token, or Invalid Signature.", - "headers": { - "x-amzn-RequestId": { - "description": "Unique request reference identifier.", - "type": "string" - } - }, - "schema": { - "$ref": "#/definitions/ErrorList" - } - }, - "404": { - "description": "The resource specified does not exist.", - "headers": { - "x-amzn-RateLimit-Limit": { - "description": "Your rate limit (requests per second) for this operation.", - "type": "string" - }, - "x-amzn-RequestId": { - "description": "Unique request reference identifier.", - "type": "string" - } - }, - "schema": { - "$ref": "#/definitions/ErrorList" - } - }, - "413": { - "description": "The request size exceeded the maximum accepted size.", - "headers": { - "x-amzn-RequestId": { - "description": "Unique request reference identifier.", - "type": "string" - } - }, - "schema": { - "$ref": "#/definitions/ErrorList" - } - }, - "415": { - "description": "The request payload is in an unsupported format.", - "headers": { - "x-amzn-RequestId": { - "description": "Unique request reference identifier.", - "type": "string" - } - }, - "schema": { - "$ref": "#/definitions/ErrorList" - } - }, - "429": { - "description": "The frequency of requests was greater than allowed.", - "headers": { - "x-amzn-RequestId": { - "description": "Unique request reference identifier.", - "type": "string" - } - }, - "schema": { - "$ref": "#/definitions/ErrorList" - } - }, - "500": { - "description": "An unexpected condition occurred that prevented the server from fulfilling the request.", - "headers": { - "x-amzn-RequestId": { - "description": "Unique request reference identifier.", - "type": "string" - } - }, - "schema": { - "$ref": "#/definitions/ErrorList" - } - }, - "503": { - "description": "Temporary overloading or maintenance of the server.", - "headers": { - "x-amzn-RequestId": { - "description": "Unique request reference identifier.", - "type": "string" - } - }, - "schema": { - "$ref": "#/definitions/ErrorList" - } - } - }, - "tags": [ - "awd" - ], - "description": "Retrieves an AWD outbound order with a set of shipments that contain items that are outbound into a destination channel. If the order is not eligible, the validation errors field is included in the order response. The API returns the order ID for the newly created order and starts an async validation check on the outbound products. After the validation check, the order status transitions from `VALIDATING` to `ELIGIBLE/INELIGIBLE`.\n\n**Usage Plan:**\n\n| Rate (requests per second) | Burst |\n| ---- | ---- |\n| 1 | 1 |\n\nThe `x-amzn-RateLimit-Limit` response header returns the usage plan rate limits that were applied to the requested operation, when available. The table above indicates the default rate and burst values for this operation. Selling partners whose business demands require higher throughput may see higher rate and burst values than those shown here. For more information, refer to [Usage Plans and Rate Limits in the Selling Partner API](https://developer-docs.amazon.com/sp-api/docs/usage-plans-and-rate-limits-in-the-sp-api).", - "operationId": "getOutbound" - }, - "put": { - "consumes": [ - "application/json" - ], - "produces": [ - "application/json" - ], - "parameters": [ - { - "description": "ID for the outbound order to be updated.", - "in": "path", - "name": "orderId", - "required": true, - "type": "string" - }, - { - "description": "Represents an AWD outbound order.", - "in": "body", - "name": "body", - "required": true, - "schema": { - "$ref": "#/definitions/OutboundOrder" - } - } - ], - "responses": { - "200": { - "description": "The 200 response for `updateOutbound`.", - "headers": { - "x-amzn-RateLimit-Limit": { - "description": "Your rate limit (requests per second) for this operation.", - "type": "string" - }, - "x-amzn-RequestId": { - "description": "Unique request reference identifier.", - "type": "string" - } - }, - "schema": { - "$ref": "#/definitions/OutboundOrderReference" - }, - "x-amzn-api-sandbox": { - "static": [ - { - "request": { - "parameters": { - "orderId": { - "value": "TEST_ORDER_ID" - }, - "body": { - "value": { - "eligiblePackagesToOutbound": [], - "eligibleProductsToOutbound": [], - "executionErrors": [], - "orderId": "TEST_ORDER_ID", - "orderPreferences": [], - "orderStatus": "SUCCESS", - "outboundShipments": [], - "packagesToOutbound": [], - "productsToOutbound": [ - { - "quantity": 10, - "sku": "testPen" - } - ], - "shippedOutboundPackages": [], - "shippedOutboundProducts": [] - } - } - } - }, - "response": { - "orderId": "TEST_ORDER_ID" - } - } - ] - } - }, - "400": { - "description": "Request has missing or invalid parameters and cannot be parsed.", - "headers": { - "x-amzn-RateLimit-Limit": { - "description": "Your rate limit (requests per second) for this operation.", - "type": "string" - }, - "x-amzn-RequestId": { - "description": "Unique request reference identifier.", - "type": "string" - } - }, - "schema": { - "$ref": "#/definitions/ErrorList" - }, - "x-amzn-api-sandbox": { - "static": [ - { - "request": { - "parameters": { - "orderId": { - "value": "TEST_ORDER_ID" - }, - "body": { - "value": { - "eligiblePackagesToOutbound": [], - "eligibleProductsToOutbound": [], - "executionErrors": [], - "orderId": "TEST_ORDER_ID", - "orderPreferences": [], - "orderStatus": "SUCCESS", - "outboundShipments": [], - "packagesToOutbound": [{ - "count": 20, - "distributionPackage": { - "type": "TEST", - "contents": { - "products": [ - { - "quantity": 1, - "sku": "TEST_SKU" - } - ] - } - } - }], - "productsToOutbound": [], - "shippedOutboundPackages": [], - "shippedOutboundProducts": [] - } - } - } - }, - "response": { - "errors": [ - { - "code": "BAD_REQUEST", - "details": "This exception is thrown when client inputs are invalid", - "message": "Invalid package type: TEST" - } - ] - } - } - ] - } - }, - "403": { - "description": "Indicates that access to the resource is forbidden. Possible reasons include Access Denied, Unauthorized, Expired Token, or Invalid Signature.", - "headers": { - "x-amzn-RequestId": { - "description": "Unique request reference identifier.", - "type": "string" - } - }, - "schema": { - "$ref": "#/definitions/ErrorList" - } - }, - "404": { - "description": "The resource specified does not exist.", - "headers": { - "x-amzn-RateLimit-Limit": { - "description": "Your rate limit (requests per second) for this operation.", - "type": "string" - }, - "x-amzn-RequestId": { - "description": "Unique request reference identifier.", - "type": "string" - } - }, - "schema": { - "$ref": "#/definitions/ErrorList" - } - }, - "413": { - "description": "The request size exceeded the maximum accepted size.", - "headers": { - "x-amzn-RequestId": { - "description": "Unique request reference identifier.", - "type": "string" - } - }, - "schema": { - "$ref": "#/definitions/ErrorList" - } - }, - "415": { - "description": "The request payload is in an unsupported format.", - "headers": { - "x-amzn-RequestId": { - "description": "Unique request reference identifier.", - "type": "string" - } - }, - "schema": { - "$ref": "#/definitions/ErrorList" - } - }, - "429": { - "description": "The frequency of requests was greater than allowed.", - "headers": { - "x-amzn-RequestId": { - "description": "Unique request reference identifier.", - "type": "string" - } - }, - "schema": { - "$ref": "#/definitions/ErrorList" - } - }, - "500": { - "description": "An unexpected condition occurred that prevented the server from fulfilling the request.", - "headers": { - "x-amzn-RequestId": { - "description": "Unique request reference identifier.", - "type": "string" - } - }, - "schema": { - "$ref": "#/definitions/ErrorList" - } - }, - "503": { - "description": "Temporary overloading or maintenance of the server.", - "headers": { - "x-amzn-RequestId": { - "description": "Unique request reference identifier.", - "type": "string" - } - }, - "schema": { - "$ref": "#/definitions/ErrorList" - } - } - }, - "tags": [ - "awd" - ], - "description": "Updates an AWD outbound order that is in `DRAFT`, `ELIGIBLE`, or `INELIGIBLE` status. This API allows updates on `productsToOutbound` and `orderPreferences` attributes only. Any updates will restart the outbound order validation.\n\n**Usage Plan:**\n\n| Rate (requests per second) | Burst |\n| ---- | ---- |\n| 1 | 1 |\n\nThe `x-amzn-RateLimit-Limit` response header returns the usage plan rate limits that were applied to the requested operation, when available. The table above indicates the default rate and burst values for this operation. Selling partners whose business demands require higher throughput may see higher rate and burst values than those shown here. For more information, refer to [Usage Plans and Rate Limits in the Selling Partner API](https://developer-docs.amazon.com/sp-api/docs/usage-plans-and-rate-limits-in-the-sp-api).", - "operationId": "updateOutbound" - } - }, - "/awd/2024-05-09/outboundOrders/{orderId}/confirmation": { - "post": { - "produces": [ - "application/json" - ], - "parameters": [ - { - "description": "ID for the outbound order you want to confirm.", - "in": "path", - "name": "orderId", - "required": true, - "type": "string" - } - ], - "responses": { - "204": { - "description": "The 204 response for `confirmOutbound`.", - "headers": { - "x-amzn-RateLimit-Limit": { - "description": "Your rate limit (requests per second) for this operation.", - "type": "string" - }, - "x-amzn-RequestId": { - "description": "Unique request reference identifier.", - "type": "string" - } - }, - "x-amzn-api-sandbox": { - "static": [ - { - "request": { - "parameters": { - "orderId": { - "value": "TestOrderId1" - } - } - } - } - ] - }, - "examples": { - "application/json": [{}] - } - }, - "400": { - "description": "Request has missing or invalid parameters and cannot be parsed.", - "headers": { - "x-amzn-RateLimit-Limit": { - "description": "Your rate limit (requests per second) for this operation.", - "type": "string" - }, - "x-amzn-RequestId": { - "description": "Unique request reference identifier.", - "type": "string" - } - }, - "schema": { - "$ref": "#/definitions/ErrorList" - }, - "x-amzn-api-sandbox": { - "static": [ - { - "request": { - "parameters": { - "orderId": { - "value": " " - } - } - }, - "response": { - "errors": [ - { - "code": "BAD_REQUEST", - "details": "This exception is thrown when client inputs are invalid", - "message": "OrderId should be present for this request" - } - ] - } - } - ] - } - }, - "403": { - "description": "Indicates that access to the resource is forbidden. Possible reasons include Access Denied, Unauthorized, Expired Token, or Invalid Signature.", - "headers": { - "x-amzn-RequestId": { - "description": "Unique request reference identifier.", - "type": "string" - } - }, - "schema": { - "$ref": "#/definitions/ErrorList" - } - }, - "404": { - "description": "The resource specified does not exist.", - "headers": { - "x-amzn-RateLimit-Limit": { - "description": "Your rate limit (requests per second) for this operation.", - "type": "string" - }, - "x-amzn-RequestId": { - "description": "Unique request reference identifier.", - "type": "string" - } - }, - "schema": { - "$ref": "#/definitions/ErrorList" - } - }, - "413": { - "description": "The request size exceeded the maximum accepted size.", - "headers": { - "x-amzn-RequestId": { - "description": "Unique request reference identifier.", - "type": "string" - } - }, - "schema": { - "$ref": "#/definitions/ErrorList" - } - }, - "415": { - "description": "The request payload is in an unsupported format.", - "headers": { - "x-amzn-RequestId": { - "description": "Unique request reference identifier.", - "type": "string" - } - }, - "schema": { - "$ref": "#/definitions/ErrorList" - } - }, - "429": { - "description": "The frequency of requests was greater than allowed.", - "headers": { - "x-amzn-RequestId": { - "description": "Unique request reference identifier.", - "type": "string" - } - }, - "schema": { - "$ref": "#/definitions/ErrorList" - } - }, - "500": { - "description": "An unexpected condition occurred that prevented the server from fulfilling the request.", - "headers": { - "x-amzn-RequestId": { - "description": "Unique request reference identifier.", - "type": "string" - } - }, - "schema": { - "$ref": "#/definitions/ErrorList" - } - }, - "503": { - "description": "Temporary overloading or maintenance of the server.", - "headers": { - "x-amzn-RequestId": { - "description": "Unique request reference identifier.", - "type": "string" - } - }, - "schema": { - "$ref": "#/definitions/ErrorList" - } - } - }, - "tags": [ - "awd" - ], - "description": "Confirms an AWD outbound order for a set of shipments that contain items that must be outbound to a destination node. You can confirm the order only if it's in an`ELIGIBLE` state.\n\n**Usage Plan:**\n\n| Rate (requests per second) | Burst |\n| ---- | ---- |\n| 1 | 1 |\n\nThe `x-amzn-RateLimit-Limit` response header returns the usage plan rate limits that were applied to the requested operation, when available. The table above indicates the default rate and burst values for this operation. Selling partners whose business demands require higher throughput may see higher rate and burst values than those shown here. For more information, refer to [Usage Plans and Rate Limits in the Selling Partner API](https://developer-docs.amazon.com/sp-api/docs/usage-plans-and-rate-limits-in-the-sp-api).", - "operationId": "confirmOutbound" + "description": "Lists AWD inventory associated with a merchant with the ability to apply optional filters.\n\n**Usage Plan:**\n\n| Rate (requests per second) | Burst |\n| ---- | ---- |\n| 2 | 2 |\n\nThe `x-amzn-RateLimit-Limit` response header returns the usage plan rate limits that were applied to the requested operation, when available. The table above indicates the default rate and burst values for this operation. Selling partners whose business demands require higher throughput may see higher rate and burst values than those shown here. For more information, refer to [Usage Plans and Rate Limits in the Selling Partner API](https://developer-docs.amazon.com/sp-api/docs/usage-plans-and-rate-limits-in-the-sp-api).", + "operationId": "listInventory" } } }, @@ -4283,7 +915,7 @@ "type": "string", "x-docgen-enum-table-extension": [ { - "description": "Standard Carrier Alpha Code. Refer to [What is a Standard Carrier Alpha Code](https://www.help.cbp.gov/s/article/Article-1420?language=en_US) for more information.", + "description": "Standard Carrier Alpha Code. Ref: https://help.cbp.gov/s/article/Article-572?language=en_US.", "value": "SCAC" } ], @@ -4435,525 +1067,53 @@ "type": "string", "x-docgen-enum-table-extension": [ { - "description": "Package type `CASE`.", - "value": "CASE" - }, - { - "description": "Package type `PALLET`. Currently, the `PALLET` package type is not supported.", - "value": "PALLET" - } - ], - "example": "CASE" - }, - "Error": { - "description": "Error response returned when the request is unsuccessful.", - "properties": { - "code": { - "description": "An error code that identifies the type of error that occurred.", - "type": "string" - }, - "details": { - "description": "Additional details that can help the caller understand or fix the issue.", - "type": "string" - }, - "message": { - "description": "A message that describes the error condition.", - "type": "string" - } - }, - "required": [ - "code", - "message" - ], - "type": "object" - }, - "ErrorList": { - "description": "This exception is thrown when client inputs are invalid.", - "properties": { - "errors": { - "description": "A list of errors describing the failures.", - "items": { - "$ref": "#/definitions/Error" - }, - "type": "array" - } - }, - "type": "object", - "required": [ - "errors" - ] - }, - "FormatType": { - "description": "The label format type extension.", - "enum": [ - "PDF" - ], - "type": "string", - "x-docgen-enum-table-extension": [ - { - "description": "PDF format.", - "value": "PDF" - } - ], - "example": "PDF" - }, - "InboundEligibility": { - "description": "Represents the eligibility status of the inbound packages.", - "properties": { - "ineligibilityReasons": { - "description": "If there are order level eligibility issues, then this list will contain those error codes and descriptions.", - "items": { - "$ref": "#/definitions/OrderIneligibilityReason" - }, - "type": "array" - }, - "packagesToInbound": { - "description": "Details on SKU eligibility for each inbound package.", - "items": { - "$ref": "#/definitions/SkuEligibility" - }, - "type": "array" - }, - "previewedAt": { - "description": "Timestamp when the eligibility check is performed.", - "format": "date-time", - "type": "string" - }, - "status": { - "$ref": "#/definitions/InboundEligibilityStatus" - } - }, - "required": [ - "packagesToInbound", - "previewedAt", - "status" - ], - "type": "object" - }, - "InboundEligibilityStatus": { - "description": "Enum denoting the package inbound eligibility.", - "enum": [ - "ELIGIBLE", - "INELIGIBLE" - ], - "type": "string", - "x-docgen-enum-table-extension": [ - { - "description": "Eligible to inbound.", - "value": "ELIGIBLE" - }, - { - "description": "Ineligible to inbound.", - "value": "INELIGIBLE" - } - ] - }, - "InboundOrder": { - "description": "Represents an AWD inbound order.", - "properties": { - "channelPlacedInboundShipments": { - "description": "List of inbound shipments part of this order.", - "items": { - "$ref": "#/definitions/InboundShipment" - }, - "minItems": 1, - "type": "array" - }, - "createdAt": { - "description": "Date when this order was created.", - "format": "date-time", - "type": "string" - }, - "externalReferenceId": { - "description": "Reference ID that can be used to correlate the order with partner resources.", - "type": "string", - "example": "TestReferenceId" - }, - "orderId": { - "description": "Inbound order ID.", - "type": "string" - }, - "orderStatus": { - "description": "Inbound order status.", - "$ref": "#/definitions/InboundStatus" - }, - "orderVersion": { - "description": "Inbound order version.", - "type": "string" - }, - "originAddress": { - "description": "Origin address from where the inbound order will be shipped.", - "$ref": "#/definitions/Address" - }, - "packagesToInbound": { - "description": "List of packages to be inbounded.", - "items": { - "$ref": "#/definitions/DistributionPackageQuantity" - }, - "minItems": 1, - "type": "array" - }, - "shipBy": { - "description": "Date by which this order will be shipped.", - "format": "date-time", - "type": "string", - "example": "2023-01-12T10:00:00.000Z" - }, - "transportationPreference": { - "description": "Represents the transportation preference for the inbound order. We only support `SELLER_MANAGED`.", - "$ref": "#/definitions/TransportationPreference" - }, - "updatedAt": { - "description": "Date when this order was last updated.", - "format": "date-time", - "type": "string" - } - }, - "required": [ - "channelPlacedInboundShipments", - "createdAt", - "orderId", - "orderStatus", - "orderVersion", - "originAddress", - "packagesToInbound", - "transportationPreference" - ], - "type": "object", - "example": { - "channelPlacedInboundShipments": [ - { - "destinationAddress": { - "addressLine1": "address_1", - "addressLine2": "address_2", - "addressLine3": "address_3", - "city": "Seattle", - "countryCode": "US", - "county": "Washington", - "district": "District1", - "name": "address_name", - "phoneNumber": "+14155552671", - "postalCode": "123456", - "stateOrRegion": "Washington" - }, - "orderId": "TestOrderId", - "originAddress": { - "addressLine1": "address_1", - "addressLine2": "address_2", - "addressLine3": "address_3", - "city": "Seattle", - "countryCode": "US", - "county": "Washington", - "district": "District1", - "name": "address_name", - "phoneNumber": "+14155552671", - "postalCode": "123456", - "stateOrRegion": "Washington" - }, - "receivedQuantity": [], - "shipmentContainerQuantities": [ - { - "count": 1, - "distributionPackage": { - "contents": { - "packages": [], - "products": [ - { - "quantity": 1, - "sku": "testPen" - } - ] - }, - "measurements": { - "dimensions": { - "height": 2.54, - "length": 2.54, - "unitOfMeasurement": "CENTIMETERS", - "width": 2.54 - }, - "weight": { - "unitOfMeasurement": "KILOGRAMS", - "weight": 0.453592 - } - }, - "type": "CASE" - } - } - ], - "shipmentId": "TestShipmentId", - "shipmentStatus": "CREATED" - } - ], - "createdAt": "2023-06-07T12:12:09.061Z", - "externalReferenceId": "TestReferenceId", - "orderId": "TestOrderId", - "orderStatus": "DRAFT", - "orderVersion": "2", - "originAddress": { - "addressLine1": "address_1", - "addressLine2": "address_2", - "addressLine3": "address_3", - "city": "Seattle", - "countryCode": "US", - "county": "Washington", - "district": "District1", - "name": "address_name", - "phoneNumber": "+14155552671", - "postalCode": "123456", - "stateOrRegion": "Washington" - }, - "packagesToInbound": [ - { - "count": 1, - "distributionPackage": { - "contents": { - "packages": [], - "products": [ - { - "quantity": 1, - "sku": "testPen" - } - ] - }, - "measurements": { - "dimensions": { - "height": 2.54, - "length": 2.54, - "unitOfMeasurement": "CENTIMETERS", - "width": 2.54 - }, - "weight": { - "unitOfMeasurement": "KILOGRAMS", - "weight": 0.453592 - } - }, - "type": "CASE" - } - } - ], - "shipBy": "2023-06-07T12:12:09.061Z", - "transportationPreference": "SELLER_MANAGED", - "updatedAt": "2023-06-07T12:12:09.061Z" - } - }, - "InboundOrderCreationData": { - "description": "Payload for creating an inbound order.", - "properties": { - "externalReferenceId": { - "description": "Reference ID that can be used to correlate the order with partner resources.", - "type": "string", - "example": "TestReferenceId" - }, - "originAddress": { - "description": "Origin address from where the inbound order will be shipped.", - "$ref": "#/definitions/Address" - }, - "packagesToInbound": { - "description": "List of packages to be inbounded.", - "items": { - "$ref": "#/definitions/DistributionPackageQuantity" - }, - "minItems": 1, - "type": "array", - "example": [ - { - "count": 1, - "distributionPackage": { - "contents": { - "products": [ - { - "quantity": 1, - "sku": "testPen" - } - ] - }, - "measurements": { - "dimensions": { - "height": 1, - "length": 1, - "unitOfMeasurement": "INCHES", - "width": 1 - }, - "volume": { - "unitOfMeasurement": "CUIN", - "volume": 1 - }, - "weight": { - "unitOfMeasurement": "POUNDS", - "weight": 1 - } - }, - "type": "CASE" - } - } - ] - }, - "shipBy": { - "description": "Estimated date by when goods have to be picked up.", - "format": "date-time", - "type": "string", - "example": "2023-06-07T12:12:09.061Z" - }, - "transportationPreference": { - "description": "Represents the transportation preference to be used for the inbound order. We only support `SELLER_MANAGED`", - "$ref": "#/definitions/TransportationPreference" - } - }, - "required": [ - "originAddress", - "packagesToInbound", - "transportationPreference" - ], - "type": "object", - "example": { - "externalReferenceId": "TestReferenceId", - "originAddress": { - "addressLine1": "address_1", - "addressLine2": "address_2", - "addressLine3": "address_3", - "city": "City1", - "countryCode": "CC", - "district": "District1", - "name": "address_name", - "postalCode": "123456", - "stateOrRegion": "State1" - }, - "packagesToInbound": [ - { - "count": 1, - "distributionPackage": { - "contents": { - "products": [ - { - "quantity": 1, - "sku": "testPen" - } - ] - }, - "measurements": { - "dimensions": { - "height": 1, - "length": 1, - "unitOfMeasurement": "INCHES", - "width": 1 - }, - "volume": { - "unitOfMeasurement": "CUIN", - "volume": 1 - }, - "weight": { - "unitOfMeasurement": "POUNDS", - "weight": 1 - } - }, - "type": "CASE" - } - } - ], - "shipBy": "2023-06-07T12:12:09.061Z", - "transportationPreference": "SELLER_MANAGED" - } + "description": "Package type `CASE`.", + "value": "CASE" + }, + { + "description": "Package type `PALLET`. Currently, the `PALLET` package type is not supported.", + "value": "PALLET" + } + ], + "example": "CASE" }, - "InboundOrderReference": { - "description": "A response that contains the reference identifiers for the newly created or updated inbound order. Consists of an order ID and version.", + "Error": { + "description": "Error response returned when the request is unsuccessful.", "properties": { - "orderId": { - "description": "Order ID of the inbound order.", + "code": { + "description": "An error code that identifies the type of error that occurred.", + "type": "string" + }, + "details": { + "description": "Additional details that can help the caller understand or fix the issue.", "type": "string" }, - "orderVersion": { - "description": "Order version of the inbound order.", + "message": { + "description": "A message that describes the error condition.", "type": "string" } }, "required": [ - "orderId", - "orderVersion" + "code", + "message" ], "type": "object" }, - "InboundPackages": { - "description": "Represents the packages to inbound.", + "ErrorList": { + "description": "This exception is thrown when client inputs are invalid.", "properties": { - "packagesToInbound": { - "description": "List of packages to be inbounded.", + "errors": { + "description": "A list of errors describing the failures.", "items": { - "$ref": "#/definitions/DistributionPackageQuantity" + "$ref": "#/definitions/Error" }, - "minItems": 1, - "type": "array", - "example": [ - { - "count": 1, - "distributionPackage": { - "contents": { - "products": [ - { - "quantity": 1, - "sku": "testPen" - } - ] - }, - "measurements": { - "dimensions": { - "height": 1, - "length": 1, - "unitOfMeasurement": "INCHES", - "width": 1 - }, - "volume": { - "unitOfMeasurement": "CUIN", - "volume": 1 - }, - "weight": { - "unitOfMeasurement": "POUNDS", - "weight": 1 - } - }, - "type": "CASE" - } - } - ] + "type": "array" } }, - "required": [ - "packagesToInbound" - ], "type": "object", - "example": { - "packagesToInbound": [ - { - "count": 1, - "distributionPackage": { - "contents": { - "products": [ - { - "quantity": 1, - "sku": "testPen" - } - ] - }, - "measurements": { - "dimensions": { - "height": 1, - "length": 1, - "unitOfMeasurement": "INCHES", - "width": 1 - }, - "volume": { - "unitOfMeasurement": "CUIN", - "volume": 1 - }, - "weight": { - "unitOfMeasurement": "POUNDS", - "weight": 1 - } - }, - "type": "CASE" - } - } - ] - } + "required": [ + "errors" + ] }, "InboundShipment": { "description": "Represents an AWD inbound shipment.", @@ -5009,13 +1169,6 @@ "minLength": 1, "type": "string" }, - "shipmentSkuQuantities": { - "description": "Quantity details at SKU level for the shipment. This attribute will only appear if the skuQuantities parameter in the request is set to SHOW.", - "items": { - "$ref": "#/definitions/SkuQuantity" - }, - "type": "array" - }, "shipmentStatus": { "description": "Current status of this shipment.", "$ref": "#/definitions/InboundShipmentStatus" @@ -5046,865 +1199,226 @@ ], "type": "object" }, - "InboundShipmentStatus": { - "description": "Possible shipment statuses used by shipments.", - "enum": [ - "CREATED", - "SHIPPED", - "IN_TRANSIT", - "RECEIVING", - "DELIVERED", - "CLOSED", - "CANCELLED" - ], - "type": "string", - "x-docgen-enum-table-extension": [ - { - "description": "Shipment is created but has not yet shipped.", - "value": "CREATED" - }, - { - "description": "Shipment was picked up by the carrier or was dropped off with the carrier.", - "value": "SHIPPED" - }, - { - "description": "The carrier has notified AWD that the shipment is in transit between origin and destination node.", - "value": "IN_TRANSIT" - }, - { - "description": "The shipment has been partially received.", - "value": "RECEIVING" - }, - { - "description": "The shipment has reached the destination node and has been delivered to the facility yard. The shipment receive process at the warehouse will start soon.", - "value": "DELIVERED" - }, - { - "description": "No more actions required on the shipment. This is a final state.", - "value": "CLOSED" - }, - { - "description": "Shipment has been cancelled. This is a final state.", - "value": "CANCELLED" - } - ] - }, - "InboundShipmentSummary": { - "description": "Summary for an AWD inbound shipment containing the shipment ID, which can be used to retrieve the actual shipment.", - "properties": { - "createdAt": { - "description": "Timestamp when the shipment was created.", - "format": "date-time", - "type": "string" - }, - "externalReferenceId": { - "description": "Optional client-provided reference ID that can be used to correlate this shipment with client resources. For example, to map this shipment to an internal bookkeeping order record.", - "type": "string", - "example": "TestReferenceId" - }, - "orderId": { - "description": "The AWD inbound order ID that this inbound shipment belongs to.", - "minLength": 1, - "type": "string" - }, - "shipmentId": { - "description": "A unique shipment ID.", - "minLength": 1, - "type": "string" - }, - "shipmentStatus": { - "$ref": "#/definitions/InboundShipmentStatus" - }, - "updatedAt": { - "description": "Timestamp when the shipment was updated.", - "format": "date-time", - "type": "string" - } - }, - "required": [ - "orderId", - "shipmentId", - "shipmentStatus" - ], - "type": "object" - }, - "InboundStatus": { - "description": "The supported statuses for an inbound order.", - "enum": [ - "DRAFT", - "VALIDATING", - "CONFIRMED", - "CLOSED", - "EXPIRED", - "CANCELLED" - ], - "type": "string", - "x-docgen-enum-table-extension": [ - { - "description": "A newly created inbound order will start in this state.", - "value": "DRAFT" - }, - { - "description": "The order is in this state while being updated. Once updated, the order will enter the updated state.", - "value": "VALIDATING" - }, - { - "description": "The order enters this state as soon as the order is confirmed.", - "value": "CONFIRMED" - }, - { - "description": "The order enters this state when all associated shipments are closed.", - "value": "CLOSED" - }, - { - "description": "The order enters this state if it is not confirmed within a time limit.", - "value": "EXPIRED" - } - ] - }, - "InventoryDetails": { - "description": "Additional inventory details. This object is only displayed if the details parameter in the request is set to `SHOW`.", - "properties": { - "availableDistributableQuantity": { - "description": "Quantity that is available for downstream channel replenishment.", - "format": "int64", - "type": "integer" - }, - "reservedDistributableQuantity": { - "description": "Quantity that is reserved for a downstream channel replenishment order that is being prepared for shipment.", - "format": "int64", - "type": "integer" - } - }, - "type": "object" - }, - "InventoryDetailsVisibility": { - "description": "Enum to specify if returned summaries should include additional summarized inventory details and quantities.", - "enum": [ - "SHOW", - "HIDE" - ], - "type": "string", - "x-docgen-enum-table-extension": [ - { - "description": "Show the additional summarized inventory details.", - "value": "SHOW" - }, - { - "description": "Hide the additional summarized inventory details.", - "value": "HIDE" - } - ], - "example": "SHOW" - }, - "InventoryListing": { - "description": "AWD inventory payload.", - "properties": { - "inventory": { - "description": "List of inventory summaries.", - "items": { - "$ref": "#/definitions/InventorySummary" - }, - "type": "array" - }, - "nextToken": { - "description": "Token to retrieve the next set of paginated results.", - "type": "string", - "example": "SampleToken" - } - }, - "required": [ - "inventory" - ], - "type": "object" - }, - "InventoryQuantity": { - "description": "Quantity of inventory with an associated measurement unit context.", - "properties": { - "quantity": { - "description": "Quantity of the respective inventory.", - "type": "number" - }, - "unitOfMeasurement": { - "description": "Unit of measurement for the inventory.", - "$ref": "#/definitions/InventoryUnitOfMeasurement" - } - }, - "required": [ - "quantity", - "unitOfMeasurement" - ], - "type": "object" - }, - "InventorySummary": { - "description": "Summary of inventory per SKU.", - "properties": { - "inventoryDetails": { - "$ref": "#/definitions/InventoryDetails" - }, - "sku": { - "description": "The seller or merchant SKU.", - "type": "string" - }, - "totalInboundQuantity": { - "description": "Total quantity that is in-transit from the seller and has not yet been received at an AWD Distribution Center", - "format": "int64", - "type": "integer" - }, - "totalOnhandQuantity": { - "description": "Total quantity that is present in AWD distribution centers.", - "format": "int64", - "type": "integer" - } - }, - "required": [ - "sku" - ], - "type": "object" - }, - "InventoryUnitOfMeasurement": { - "description": "Unit of measurement for the inventory.", + "InboundShipmentStatus": { + "description": "Possible shipment statuses used by shipments.", "enum": [ - "PRODUCT_UNITS", - "CASES", - "PALLETS" + "CREATED", + "SHIPPED", + "IN_TRANSIT", + "RECEIVING", + "DELIVERED", + "CLOSED", + "CANCELLED" ], "type": "string", "x-docgen-enum-table-extension": [ { - "description": "Measures a discrete amount of product units.", - "value": "PRODUCT_UNITS" + "description": "Shipment is created but has not yet shipped.", + "value": "CREATED" }, { - "description": "Measures a discrete amount of cases.", - "value": "CASES" + "description": "Shipment was picked up by the carrier or was dropped off with the carrier.", + "value": "SHIPPED" }, { - "description": "Measures a discrete amount of pallets.", - "value": "PALLETS" - } - ] - }, - "LabelStatus": { - "description": "The status of your label.", - "enum": [ - "GENERATING", - "GENERATED", - "GENERATION_FAILED", - "NOT_READY" - ], - "type": "string", - "x-docgen-enum-table-extension": [ + "description": "The carrier has notified AWD that the shipment is in transit between origin and destination node.", + "value": "IN_TRANSIT" + }, { - "description": "Labels are being generated.", - "value": "GENERATING" + "description": "The shipment has been partially received.", + "value": "RECEIVING" }, { - "description": "Labels are generated.", - "value": "GENERATED" + "description": "The shipment has reached the destination node and has been delivered to the facility yard. The shipment receive process at the warehouse will start soon.", + "value": "DELIVERED" }, { - "description": "Label generation failed.", - "value": "GENERATION_FAILED" + "description": "No more actions required on the shipment. This is a final state.", + "value": "CLOSED" }, { - "description": "Not yet ready to start label generation.", - "value": "NOT_READY" + "description": "Shipment has been cancelled. This is a final state.", + "value": "CANCELLED" } ] }, - "MeasurementData": { - "description": "Package weight and dimension.", + "InboundShipmentSummary": { + "description": "Summary for an AWD inbound shipment containing the shipment ID, which can be used to retrieve the actual shipment.", "properties": { - "dimensions": { - "description": "Dimensions of the package. Dimensions are required when creating an inbound or outbound order.", - "$ref": "#/definitions/PackageDimensions" + "createdAt": { + "description": "Timestamp when the shipment was created.", + "format": "date-time", + "type": "string" }, - "volume": { - "description": "Volume of the package.", - "$ref": "#/definitions/PackageVolume" + "externalReferenceId": { + "description": "Optional client-provided reference ID that can be used to correlate this shipment with client resources. For example, to map this shipment to an internal bookkeeping order record.", + "type": "string", + "example": "TestReferenceId" }, - "weight": { - "description": "Weight of the package.", - "$ref": "#/definitions/PackageWeight" - } - }, - "required": [ - "weight" - ], - "type": "object" - }, - "OrderAttribute": { - "description": "Consists of the order preference and corresponding preference value.", - "properties": { - "orderPreference": { - "description": "Preference for the distribution order.", - "$ref": "#/definitions/OrderPreference" + "orderId": { + "description": "The AWD inbound order ID that this inbound shipment belongs to.", + "minLength": 1, + "type": "string" + }, + "shipmentId": { + "description": "A unique shipment ID.", + "minLength": 1, + "type": "string" }, - "orderPreferenceValue": { - "description": "Value for the order preference.", - "$ref": "#/definitions/OrderPreferenceValue" + "shipmentStatus": { + "$ref": "#/definitions/InboundShipmentStatus" + }, + "updatedAt": { + "description": "Timestamp when the shipment was updated.", + "format": "date-time", + "type": "string" } }, "required": [ - "orderPreference", - "orderPreferenceValue" + "orderId", + "shipmentId", + "shipmentStatus" ], - "type": "object", - "example": { - "orderPreference": "PARTIAL_ORDER", - "orderPreferenceValue": "SET" - } + "type": "object" }, - "OrderIneligibilityReason": { - "description": "Represents one ineligibility reason for the order (there can be multiple reasons).", + "InventoryDetails": { + "description": "Additional inventory details. This object is only displayed if the details parameter in the request is set to `SHOW`.", "properties": { - "code": { - "description": "Code for the order ineligibility.", - "type": "string", - "example": "INVALID_MSKU" + "availableDistributableQuantity": { + "description": "Quantity that is available for downstream channel replenishment.", + "format": "int64", + "type": "integer" }, - "description": { - "description": "Description detailing the ineligibility reason of the order.", - "type": "string", - "example": "The MSKU passed as part of order is invalid" + "reservedDistributableQuantity": { + "description": "Quantity that is reserved for a downstream channel replenishment order that is being prepared for shipment.", + "format": "int64", + "type": "integer" } }, - "required": [ - "code", - "description" - ], - "type": "object", - "example": { - "code": "INVALID_MSKU", - "description": "The MSKU of an invalid order." - } - }, - "OrderPreference": { - "description": "Supported preferences for the distribution order.", - "enum": [ - "PARTIAL_ORDER" - ], - "type": "string", - "x-docgen-enum-table-extension": [ - { - "description": "Represents a partial order case.", - "value": "PARTIAL_ORDER" - } - ], - "example": "PARTIAL_ORDER" + "type": "object" }, - "OrderPreferenceValue": { - "description": "Value for the order preference.", + "InventoryDetailsVisibility": { + "description": "Enum to specify if returned summaries should include additional summarized inventory details and quantities.", "enum": [ - "SET", - "UNSET" + "SHOW", + "HIDE" ], "type": "string", "x-docgen-enum-table-extension": [ { - "description": "Sets the order preference.", - "value": "SET" + "description": "Show the additional summarized inventory details.", + "value": "SHOW" }, { - "description": "Unsets the order preference.", - "value": "UNSET" + "description": "Hide the additional summarized inventory details.", + "value": "HIDE" } ], - "example": "SET" + "example": "SHOW" }, - "OutboundExecutionError": { - "description": "Execution errors associated with the outbound order. This field will be populated if the order failed validation.", + "InventoryListing": { + "description": "AWD inventory payload.", "properties": { - "failureCode": { - "description": "Failure code details for the error.", - "type": "string", - "example": "TestErrorCode" - }, - "failureReasons": { - "description": "Failure reasons for the error.", + "inventory": { + "description": "List of inventory summaries.", "items": { - "type": "string" + "$ref": "#/definitions/InventorySummary" }, - "type": "array", - "example": [ - "Test failure reason" - ] + "type": "array" }, - "sku": { - "description": "MSKU associated with the error.", - "type": "string", - "example": "SampleSKU" - } - }, - "required": [ - "failureCode", - "failureReasons" - ], - "type": "object", - "example": { - "failureCode": "TestErrorCode", - "failureReasons": [ - "Test failure reason" - ], - "sku": "SampleSKU" - } - }, - "OutboundListing": { - "description": "A list of paginated outbound orders filtered by the attributes passed in the request.", - "properties": { "nextToken": { "description": "Token to retrieve the next set of paginated results.", "type": "string", "example": "SampleToken" - }, - "outboundOrders": { - "description": "List of outbound orders.", - "items": { - "$ref": "#/definitions/OutboundOrder" - }, - "type": "array" - } - }, - "type": "object" - }, - "OutboundOrder": { - "description": "Represents an AWD outbound order.", - "properties": { - "confirmedOn": { - "description": "Date on which this outbound order was confirmed.", - "format": "date-time", - "type": "string", - "example": "2023-01-12T10:00:00.000Z" - }, - "createdAt": { - "description": "Date on which this outbound order was created.", - "format": "date-time", - "type": "string", - "example": "2023-01-12T10:00:00.000Z" - }, - "eligiblePackagesToOutbound": { - "description": "List of packages that are eligible for outbound.", - "items": { - "$ref": "#/definitions/DistributionPackageQuantity" - }, - "type": "array" - }, - "eligibleProductsToOutbound": { - "description": "List of product units that are eligible for outbound.", - "items": { - "$ref": "#/definitions/ProductQuantity" - }, - "type": "array" - }, - "executionErrors": { - "description": "Execution errors associated with the outbound order. This field will be populated if the order failed validation.", - "items": { - "$ref": "#/definitions/OutboundExecutionError" - }, - "type": "array" - }, - "orderId": { - "description": "Order ID for the outbound order.", - "type": "string" - }, - "orderPreferences": { - "description": "Order preferences for this outbound order.", - "items": { - "$ref": "#/definitions/OrderAttribute" - }, - "type": "array" - }, - "orderStatus": { - "description": "Status for the outbound order.", - "$ref": "#/definitions/OutboundStatus" - }, - "outboundShipments": { - "description": "List of outbound shipments that are part of this order.", - "items": { - "$ref": "#/definitions/OutboundShipment" - }, - "type": "array" - }, - "packagesToOutbound": { - "description": "List of packages to be outbound.", - "items": { - "$ref": "#/definitions/DistributionPackageQuantity" - }, - "type": "array" - }, - "productsToOutbound": { - "description": "List of product units to be outbound.", - "items": { - "$ref": "#/definitions/ProductQuantity" - }, - "type": "array" - }, - "shippedOutboundPackages": { - "description": "Outbound packages that are shipped after the execution has completed post confirmation.", - "items": { - "$ref": "#/definitions/DistributionPackageQuantity" - }, - "type": "array" - }, - "shippedOutboundProducts": { - "description": "Outbound product units that are shipped after the execution has completed post confirmation.", - "items": { - "$ref": "#/definitions/ProductQuantity" - }, - "type": "array" - }, - "updatedAt": { - "description": "Date on which this outbound order was last updated.", - "format": "date-time", - "type": "string", - "example": "2023-01-12T10:00:00.000Z" } }, "required": [ - "orderId", - "orderStatus", - "outboundShipments" + "inventory" ], - "type": "object" - }, - "OutboundOrderCreationData": { - "description": "Payload for creating an outbound order.", - "properties": { - "orderPreferences": { - "description": "Order preferences for the outbound order.", - "items": { - "$ref": "#/definitions/OrderAttribute" - }, - "type": "array", - "example": [{ - "orderPreference": "PARTIAL_ORDER", - "orderPreferenceValue": "SET" - }] - }, - "packagesToOutbound": { - "description": "List of packages to be outbound.", - "items": { - "$ref": "#/definitions/DistributionPackageQuantity" - }, - "type": "array", - "example": [{ - "count": 1, - "distributionPackage": { - "contents": { - "products": [ - { - "quantity": 1, - "sku": "testPen" - } - ] - }, - "measurements": { - "dimensions": { - "height": 1, - "length": 1, - "unitOfMeasurement": "INCHES", - "width": 1 - }, - "volume": { - "unitOfMeasurement": "CUIN", - "volume": 1 - }, - "weight": { - "unitOfMeasurement": "POUNDS", - "weight": 1 - } - }, - "type": "CASE" - } - }] - }, - "productsToOutbound": { - "description": "List of product units to be outbound.", - "items": { - "$ref": "#/definitions/ProductQuantity" - }, - "type": "array", - "example": [{ - "sku": "TestSKU", - "quantity": 1 - }] - } - }, - "type": "object", - "example": { - "packagesToOutbound": [{ - "count": 1, - "distributionPackage": { - "contents": { - "products": [ - { - "quantity": 1, - "sku": "testPen" - } - ] - }, - "measurements": { - "dimensions": { - "height": 1, - "length": 1, - "unitOfMeasurement": "INCHES", - "width": 1 - }, - "volume": { - "unitOfMeasurement": "CUIN", - "volume": 1 - }, - "weight": { - "unitOfMeasurement": "POUNDS", - "weight": 1 - } - }, - "type": "CASE" - } - }], - "productsToOutbound": [], - "orderPreferences": [{ - "orderPreference": "PARTIAL_ORDER", - "orderPreferenceValue": "SET" - }] - } + "type": "object" }, - "OutboundOrderReference": { - "description": "A response that contains the reference identifier for the newly created or updated outbound order. This includes an order ID.", + "InventoryQuantity": { + "description": "Quantity of inventory with an associated measurement unit context.", "properties": { - "orderId": { - "description": "outbound order ID.", - "type": "string" + "quantity": { + "description": "Quantity of the respective inventory.", + "type": "number" + }, + "unitOfMeasurement": { + "description": "Unit of measurement for the inventory.", + "$ref": "#/definitions/InventoryUnitOfMeasurement" } }, "required": [ - "orderId" + "quantity", + "unitOfMeasurement" ], "type": "object" }, - "OutboundShipment": { - "description": "Represents an AWD outbound shipment.", + "InventorySummary": { + "description": "Summary of inventory per SKU.", "properties": { - "createdAt": { - "description": "Timestamp when the shipment was created.", - "format": "date-time", - "type": "string" - }, - "destinationAddress": { - "description": "Destination address for this shipment.", - "$ref": "#/definitions/Address" - }, - "orderId": { - "description": "Outbound order ID this outbound shipment belongs to.", - "type": "string" - }, - "originAddress": { - "description": "Origin address for this shipment.", - "$ref": "#/definitions/Address" - }, - "shipmentPackageQuantities": { - "description": "Specific distribution packages that are included in the context of this shipment.", - "items": { - "$ref": "#/definitions/DistributionPackageQuantity" - }, - "type": "array" + "inventoryDetails": { + "$ref": "#/definitions/InventoryDetails" }, - "shipmentId": { - "description": "Unique shipment ID.", + "sku": { + "description": "The seller or merchant SKU.", "type": "string" }, - "shipmentProductQuantities": { - "description": "Specific product units that are included in the context of this shipment.", - "items": { - "$ref": "#/definitions/ProductQuantity" - }, - "type": "array" - }, - "shipmentStatus": { - "description": "Current status of this shipment.", - "$ref": "#/definitions/OutboundShipmentStatus" - }, - "updatedAt": { - "description": "Timestamp when the shipment was updated.", - "format": "date-time", - "type": "string" + "totalOnhandQuantity": { + "description": "Total quantity that is present in AWD distribution centers.", + "format": "int64", + "type": "integer" } }, "required": [ - "destinationAddress", - "orderId", - "originAddress", - "shipmentId", - "shipmentStatus" + "sku" ], - "type": "object", - "example": { - "createdAt": "2023-01-12T10:00:00.000Z", - "destinationAddress": { - "addressLine1": "address_1", - "addressLine2": "address_2", - "addressLine3": "address_3", - "city": "Seattle", - "countryCode": "US", - "county": "Washington", - "district": "District1", - "name": "address_name", - "phoneNumber": "+14155552671", - "postalCode": "123456", - "stateOrRegion": "Washington" - }, - "originAddress": { - "addressLine1": "address_1", - "addressLine2": "address_2", - "addressLine3": "address_3", - "city": "Seattle", - "countryCode": "US", - "county": "Washington", - "district": "District1", - "name": "address_name", - "phoneNumber": "+14155552671", - "postalCode": "123456", - "stateOrRegion": "Washington" - }, - "orderId": "TestOrderId", - "shipmentId": "TestShipmentId", - "shipmentPackageQuantities": [{ - "count": 1, - "distributionPackage": { - "contents": { - "products": [ - { - "quantity": 1, - "sku": "testPen" - } - ] - }, - "measurements": { - "dimensions": { - "height": 1, - "length": 1, - "unitOfMeasurement": "INCHES", - "width": 1 - }, - "volume": { - "unitOfMeasurement": "CUIN", - "volume": 1 - }, - "weight": { - "unitOfMeasurement": "POUNDS", - "weight": 1 - } - }, - "type": "CASE" - } - }], - "shipmentProductQuantities": [], - "shipmentStatus": "CREATED", - "updatedAt": "2023-01-12T10:00:00.000Z" - } + "type": "object" }, - "OutboundShipmentStatus": { - "description": "Possible shipment statuses for outbound shipments.", + "InventoryUnitOfMeasurement": { + "description": "Unit of measurement for the inventory.", "enum": [ - "CREATED", - "IN_TRANSIT", - "DELIVERED", - "RECEIVING", - "RECEIVED", - "CLOSED", - "CANCELLED", - "FAILED" + "PRODUCT_UNITS", + "CASES", + "PALLETS" ], "type": "string", "x-docgen-enum-table-extension": [ { - "description": "Shipment is created. No inventory has been picked up at the source node.", - "value": "CREATED" - }, - { - "description": "Carrier acknowledged that the shipment is in transit between the origin node and destination node.", - "value": "IN_TRANSIT" - }, - { - "description": "Carrier indicated that the shipment has arrived at the destination node, but the destination node has not acknowledged the delivery.", - "value": "DELIVERED" - }, - { - "description": "Destination node acknowledged the arrival of the shipment.", - "value": "RECEIVING" - }, - { - "description": "Destination node has received the items.", - "value": "RECEIVED" - }, - { - "description": "No more actions are required for the shipment. This is a final state.", - "value": "CLOSED" + "description": "Measures a discrete amount of product units.", + "value": "PRODUCT_UNITS" }, { - "description": "Shipment has been cancelled by order owner. This is a final state.", - "value": "CANCELLED" + "description": "Measures a discrete amount of cases.", + "value": "CASES" }, { - "description": "Shipment delivery has failed. This is a final state.", - "value": "FAILED" + "description": "Measures a discrete amount of pallets.", + "value": "PALLETS" } - ], - "example": "CREATED" + ] }, - "OutboundStatus": { - "description": "Statuses supported for an outbound order.", - "enum": [ - "CONFIRMED", - "DRAFT", - "ELIGIBLE", - "EXECUTING", - "FAILURE", - "INELIGIBLE", - "INVENTORY_OUTBOUND", - "SUCCESS", - "VALIDATING" - ], - "type": "string", - "x-docgen-enum-table-extension": [ - { - "description": "The order enters this state as soon as the order is confirmed.", - "value": "CONFIRMED" - }, - { - "description": "A newly created outbound order will always start in this state.", - "value": "DRAFT" - }, - { - "description": "This is the only state when an order can be confirmed.", - "value": "ELIGIBLE" - }, - { - "description": "The order is being processed in the system.", - "value": "EXECUTING" - }, - { - "description": "If any of the shipment reports fail, or if a shipment doesn't reach its destination, the order status is marked as failed.", - "value": "FAILURE" - }, - { - "description": "In this state, a validation errors field is provided. This field shows the order errors and provides guidance on fixing them.", - "value": "INELIGIBLE" - }, - { - "description": "The order is complete and awaits inventory movement. In this status, the shipments for an order will be visible.", - "value": "INVENTORY_OUTBOUND" + "MeasurementData": { + "description": "Package weight and dimension.", + "properties": { + "dimensions": { + "description": "Dimensions of the package. Dimensions are required when creating an inbound or outbound order.", + "$ref": "#/definitions/PackageDimensions" }, - { - "description": "If all the shipments are successfully received at the destination channel, the order is marked successful.", - "value": "SUCCESS" + "volume": { + "description": "Volume of the package.", + "$ref": "#/definitions/PackageVolume" }, - { - "description": "The order is being validated asynchronously. The order will be in this state after every item update.", - "value": "VALIDATING" + "weight": { + "description": "Weight of the package.", + "$ref": "#/definitions/PackageWeight" } - ] + }, + "required": [ + "weight" + ], + "type": "object" }, "PackageDimensions": { "description": "Dimensions of the package.", @@ -5975,30 +1489,6 @@ ], "type": "object" }, - "PageType": { - "description": "Label page type.", - "enum": [ - "THERMAL_NONPCP", - "PLAIN_PAPER", - "LETTER_6" - ], - "type": "string", - "x-docgen-enum-table-extension": [ - { - "description": "For the use of a thermal printer. Supports non-Amazon-partnered shipments.", - "value": "THERMAL_NONPCP" - }, - { - "description": "One label per sheet of US Letter paper. Only for non-Amazon-partnered shipments.", - "value": "PLAIN_PAPER" - }, - { - "description": "Six labels per US Letter label sheet.", - "value": "LETTER_6" - } - ], - "example": "PLAIN_PAPER" - }, "ProductAttribute": { "description": "Product instance attribute that is not described at the SKU level in the catalog.", "properties": { @@ -6049,23 +1539,6 @@ ], "type": "object" }, - "ShipmentLabels": { - "description": "Shipment labels.", - "properties": { - "labelDownloadURL": { - "description": "URL to download generated labels.", - "type": "string" - }, - "labelStatus": { - "description": "Status of label generation.", - "$ref": "#/definitions/LabelStatus" - } - }, - "required": [ - "labelStatus" - ], - "type": "object" - }, "ShipmentListing": { "description": "A list of inbound shipment summaries filtered by the attributes specified in the request.", "properties": { @@ -6103,86 +1576,6 @@ ], "example": "CREATED_AT" }, - "SkuEligibility": { - "description": "Represents eligibility of one SKU.", - "properties": { - "ineligibilityReasons": { - "description": "If not eligible, these are list of error codes and descriptions.", - "items": { - "$ref": "#/definitions/SkuIneligibilityReason" - }, - "type": "array" - }, - "packageQuantity": { - "$ref": "#/definitions/DistributionPackageQuantity" - }, - "status": { - "$ref": "#/definitions/InboundEligibilityStatus" - } - }, - "required": [ - "packageQuantity", - "status" - ], - "type": "object" - }, - "SkuIneligibilityReason": { - "description": "Represents the ineligibility reason for one SKU.", - "properties": { - "code": { - "description": "Code for the SKU ineligibility.", - "type": "string" - }, - "description": { - "description": "Detailed description of the SKU ineligibility.", - "type": "string" - } - }, - "required": [ - "code", - "description" - ], - "type": "object" - }, - "SkuQuantitiesVisibility": { - "description": "Enum to specify if returned shipment should include SKU quantity details", - "enum": [ - "SHOW", - "HIDE" - ], - "type": "string", - "example": "SHOW", - "x-docgen-enum-table-extension": [ - { - "description": "Show the additional SKU quantity details", - "value": "SHOW" - }, - { - "description": "Hide the additional SKU quantity details", - "value": "HIDE" - } - ] - }, - "SkuQuantity": { - "description": "Quantity details for a SKU as part of a shipment", - "properties": { - "expectedQuantity": { - "$ref": "#/definitions/InventoryQuantity" - }, - "receivedQuantity": { - "$ref": "#/definitions/InventoryQuantity" - }, - "sku": { - "description": "The merchant stock keeping unit", - "type": "string" - } - }, - "required": [ - "expectedQuantity", - "sku" - ], - "type": "object" - }, "SortOrder": { "description": "Sort order for a collection of items. For example, order or shipment.", "enum": [ @@ -6202,58 +1595,6 @@ ], "example": "ASCENDING" }, - "TransportationDetails": { - "description": "Transportation details for the shipment.", - "properties": { - "carrierCode": { - "description": "Unique or identifying code for the carrier.", - "$ref": "#/definitions/CarrierCode" - }, - "shipBy": { - "description": "Timestamp when the shipment will be shipped.", - "format": "date-time", - "type": "string", - "example": "2023-01-12T10:00:00.000Z" - }, - "trackingId": { - "description": "Tracking ID for transportation.", - "minLength": 1, - "type": "string", - "example": "TestTrackingId" - } - }, - "required": [ - "shipBy" - ], - "type": "object", - "example": { - "carrierCode": { - "carrierCodeType": "SCAC", - "carrierCodeValue": "TestCarrierCode" - }, - "shipBy": "2023-01-12T10:00:00.000Z", - "trackingId": "TestTrackingId" - } - }, - "TransportationPreference": { - "description": "Represents the transportation preference for an AWD shipment.", - "enum": [ - "AMAZON_MANAGED", - "SELLER_MANAGED" - ], - "type": "string", - "x-docgen-enum-table-extension": [ - { - "description": "Amazon provides the estimates with each proposed order shipment to leverage Amazon-managed transportation options to process the delivery of shipments.", - "value": "AMAZON_MANAGED" - }, - { - "description": "The distribution partner wants to arrange the transportation details for each inbound shipment and provides tracking and carrier information for each shipment.", - "value": "SELLER_MANAGED" - } - ], - "example": "SELLER_MANAGED" - }, "VolumeUnitOfMeasurement": { "description": "Unit of measurement for the package volume.", "enum": [ @@ -6296,4 +1637,4 @@ ] } } -} \ No newline at end of file +} From 8c4980ed2c9563b7645cf7f6aef7ae8cbe2ac2b7 Mon Sep 17 00:00:00 2001 From: lisa-delaney Date: Mon, 19 Aug 2024 14:24:54 -0700 Subject: [PATCH 276/340] Update AWD model --- .../awd_2024-05-09.json | 3033 +++++++++-------- 1 file changed, 1558 insertions(+), 1475 deletions(-) diff --git a/models/amazon-warehousing-and-distribution-model/awd_2024-05-09.json b/models/amazon-warehousing-and-distribution-model/awd_2024-05-09.json index 5b97d73f2..7b218a069 100644 --- a/models/amazon-warehousing-and-distribution-model/awd_2024-05-09.json +++ b/models/amazon-warehousing-and-distribution-model/awd_2024-05-09.json @@ -1,1035 +1,1004 @@ { - "swagger": "2.0", - "info": { - "title": "The Selling Partner API for AWD", - "version": "2024-05-09", - "description": "The Selling Partner API for Amazon Warehousing and Distribution (AWD).", - "contact": { - "name": "Selling Partner API Developer Support", - "url": "https://sellercentral.amazon.com/gp/mws/contactus.html" + "swagger": "2.0", + "info": { + "title": "The Selling Partner API for Amazon Warehousing and Distribution", + "version": "2024-05-09", + "description": "The Selling Partner API for Amazon Warehousing and Distribution (AWD) provides programmatic access to information about AWD shipments and inventory. ", + "contact": { + "name": "Selling Partner API Developer Support", + "url": "https://sellercentral.amazon.com/gp/mws/contactus.html" + }, + "license": { + "name": "Apache License 2.0", + "url": "https://www.apache.org/licenses/LICENSE-2.0" + } }, - "license": { - "name": "Apache License 2.0", - "url": "https://www.apache.org/licenses/LICENSE-2.0" - } - }, - "host": "sellingpartnerapi-na.amazon.com", - "schemes": [ - "https" - ], - "consumes": [ - "application/json" - ], - "produces": [ - "application/json" - ], - "paths": { - "/awd/2024-05-09/inboundShipments/{shipmentId}": { - "get": { - "produces": [ - "application/json" - ], - "parameters": [ - { - "description": "ID for the shipment. A shipment contains the cases being inbounded.", - "in": "path", - "minLength": 1, - "name": "shipmentId", - "required": true, - "type": "string" - } - ], - "responses": { - "200": { - "description": "The 200 response for `getInboundShipment`.", - "headers": { - "x-amzn-RateLimit-Limit": { - "description": "Your rate limit (requests per second) for this operation.", - "type": "string" - }, - "x-amzn-RequestId": { - "description": "Unique request reference identifier.", - "type": "string" - } - }, - "schema": { - "$ref": "#/definitions/InboundShipment" + "host": "sellingpartnerapi-na.amazon.com", + "schemes": [ + "https" + ], + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "paths": { + "/awd/2024-05-09/inboundShipments/{shipmentId}": { + "get": { + "produces": [ + "application/json" + ], + "parameters": [ + { + "description": "ID for the shipment. A shipment contains the cases being inbounded.", + "in": "path", + "minLength": 1, + "name": "shipmentId", + "required": true, + "type": "string" }, - "x-amzn-api-sandbox": { - "static": [ + { + "description": "If equal to `SHOW`, the response includes the shipment SKU quantity details.\n\nDefaults to `HIDE`, in which case the response does not contain SKU quantities", + "enum": [ + "SHOW", + "HIDE" + ], + "in": "query", + "name": "skuQuantities", + "type": "string", + "x-example": "SHOW", + "x-docgen-enum-table-extension": [ { - "request": { - "parameters": { - "shipmentId": { - "value": "TestShipmentId" + "description": "Show the additional SKU quantity details.", + "value": "SHOW" + }, + { + "description": "Hide the additional SKU quantity details.", + "value": "HIDE" + } + ] + } + ], + "responses": { + "200": { + "description": "The 200 response for `getInboundShipment`.", + "headers": { + "x-amzn-RateLimit-Limit": { + "description": "Your rate limit (requests per second) for this operation.", + "type": "string" + }, + "x-amzn-RequestId": { + "description": "Unique request reference identifier.", + "type": "string" + } + }, + "schema": { + "$ref": "#/definitions/InboundShipment" + }, + "x-amzn-api-sandbox": { + "static": [ + { + "request": { + "parameters": { + "shipmentId": { + "value": "TestShipmentId" + } } - } - }, - "response": { - "createdAt": "2023-06-07T12:12:09.061Z", - "destinationAddress": { - "addressLine1": "address_line_1", - "addressLine2": "address_line_2", - "addressLine3": "address_line_3", - "city": "City1", - "countryCode": "CC", - "district": "District1", - "name": "DestinationName", - "postalCode": "123456", - "stateOrRegion": "State1" - }, - "orderId": "TestOrderId", - "originAddress": { - "addressLine1": "address_1", - "addressLine2": "address_2", - "addressLine3": "address_3", - "city": "City1", - "countryCode": "CC", - "district": "District1", - "name": "address_name", - "postalCode": "123456", - "stateOrRegion": "State1" }, - "receivedQuantity": [ - { - "quantity": 0, - "unitOfMeasurement": "CASES" - } - ], - "shipmentContainerQuantities": [ - { - "count": 2, - "distributionPackage": { - "contents": { - "packages": [], - "products": [ - { - "quantity": 20, - "sku": "testPen" + "response": { + "createdAt": "2023-06-07T12:12:09.061Z", + "destinationAddress": { + "addressLine1": "address_line_1", + "addressLine2": "address_line_2", + "addressLine3": "address_line_3", + "city": "City1", + "countryCode": "CC", + "district": "District1", + "name": "DestinationName", + "postalCode": "123456", + "stateOrRegion": "State1" + }, + "orderId": "TestOrderId", + "originAddress": { + "addressLine1": "address_1", + "addressLine2": "address_2", + "addressLine3": "address_3", + "city": "City1", + "countryCode": "CC", + "district": "District1", + "name": "address_name", + "postalCode": "123456", + "stateOrRegion": "State1" + }, + "receivedQuantity": [ + { + "quantity": 0, + "unitOfMeasurement": "CASES" + } + ], + "shipmentContainerQuantities": [ + { + "count": 2, + "distributionPackage": { + "contents": { + "packages": [], + "products": [ + { + "quantity": 20, + "sku": "testPen" + } + ] + }, + "measurements": { + "dimensions": { + "height": 33.02, + "length": 45.72, + "unitOfMeasurement": "CENTIMETERS", + "width": 15.24 + }, + "weight": { + "unitOfMeasurement": "KILOGRAMS", + "weight": 5.443104 } - ] - }, - "measurements": { - "dimensions": { - "height": 33.02, - "length": 45.72, - "unitOfMeasurement": "CENTIMETERS", - "width": 15.24 }, - "weight": { - "unitOfMeasurement": "KILOGRAMS", - "weight": 5.443104 - } + "type": "CASE" + } + } + ], + "shipmentId": "TestShipmentId", + "shipmentStatus": "CREATED", + "shipmentSkuQuantities": [ + { + "sku": "testPen", + "expectedQuantity": { + "quantity": 2, + "unitOfMeasurement": "CASE" }, - "type": "CASE" + "receivedQuantity": { + "quantity": 0, + "unitOfMeasurement": "CASE" + } } - } - ], - "shipmentId": "TestShipmentId", - "shipmentStatus": "CREATED", - "updatedAt": "2023-06-07T12:12:09.061Z" + ], + "updatedAt": "2023-06-07T12:12:09.061Z" + } } - } - ] - } - }, - "400": { - "description": "Request has missing or invalid parameters and cannot be parsed.", - "headers": { - "x-amzn-RateLimit-Limit": { - "description": "Your rate limit (requests per second) for this operation.", - "type": "string" - }, - "x-amzn-RequestId": { - "description": "Unique request reference identifier.", - "type": "string" + ] } }, - "schema": { - "$ref": "#/definitions/ErrorList" - }, - "x-amzn-api-sandbox": { - "static": [ - { - "request": { - "parameters": { - "shipmentId": { - "value": " " + "400": { + "description": "Request has missing or invalid parameters and cannot be parsed.", + "headers": { + "x-amzn-RateLimit-Limit": { + "description": "Your rate limit (requests per second) for this operation.", + "type": "string" + }, + "x-amzn-RequestId": { + "description": "Unique request reference identifier.", + "type": "string" + } + }, + "schema": { + "$ref": "#/definitions/ErrorList" + }, + "x-amzn-api-sandbox": { + "static": [ + { + "request": { + "parameters": { + "shipmentId": { + "value": " " + } } + }, + "response": { + "errors": [ + { + "code": "BAD_REQUEST", + "details": "This exception is thrown when client inputs are invalid", + "message": "ShipmentId should be present for this request" + } + ] } - }, - "response": { - "errors": [ - { - "code": "BAD_REQUEST", - "details": "This exception is thrown when client inputs are invalid", - "message": "ShipmentId should be present for this request" - } - ] } + ] + } + }, + "403": { + "description": "Indicates that access to the resource is forbidden. Possible reasons include Access Denied, Unauthorized, Expired Token, or Invalid Signature.", + "headers": { + "x-amzn-RequestId": { + "description": "Unique request reference identifier.", + "type": "string" } - ] - } - }, - "403": { - "description": "Indicates that access to the resource is forbidden. Possible reasons include Access Denied, Unauthorized, Expired Token, or Invalid Signature.", - "headers": { - "x-amzn-RequestId": { - "description": "Unique request reference identifier.", - "type": "string" + }, + "schema": { + "$ref": "#/definitions/ErrorList" } }, - "schema": { - "$ref": "#/definitions/ErrorList" - } - }, - "404": { - "description": "The resource specified does not exist.", - "headers": { - "x-amzn-RateLimit-Limit": { - "description": "Your rate limit (requests per second) for this operation.", - "type": "string" + "404": { + "description": "The resource specified does not exist.", + "headers": { + "x-amzn-RateLimit-Limit": { + "description": "Your rate limit (requests per second) for this operation.", + "type": "string" + }, + "x-amzn-RequestId": { + "description": "Unique request reference identifier.", + "type": "string" + } }, - "x-amzn-RequestId": { - "description": "Unique request reference identifier.", - "type": "string" + "schema": { + "$ref": "#/definitions/ErrorList" } }, - "schema": { - "$ref": "#/definitions/ErrorList" - } - }, - "413": { - "description": "The request size exceeded the maximum accepted size.", - "headers": { - "x-amzn-RequestId": { - "description": "Unique request reference identifier.", - "type": "string" + "413": { + "description": "The request size exceeded the maximum accepted size.", + "headers": { + "x-amzn-RequestId": { + "description": "Unique request reference identifier.", + "type": "string" + } + }, + "schema": { + "$ref": "#/definitions/ErrorList" } }, - "schema": { - "$ref": "#/definitions/ErrorList" - } - }, - "415": { - "description": "The request payload is in an unsupported format.", - "headers": { - "x-amzn-RequestId": { - "description": "Unique request reference identifier.", - "type": "string" + "415": { + "description": "The request payload is in an unsupported format.", + "headers": { + "x-amzn-RequestId": { + "description": "Unique request reference identifier.", + "type": "string" + } + }, + "schema": { + "$ref": "#/definitions/ErrorList" } }, - "schema": { - "$ref": "#/definitions/ErrorList" - } - }, - "429": { - "description": "The frequency of requests was greater than allowed.", - "headers": { - "x-amzn-RequestId": { - "description": "Unique request reference identifier.", - "type": "string" + "429": { + "description": "The frequency of requests was greater than allowed.", + "headers": { + "x-amzn-RequestId": { + "description": "Unique request reference identifier.", + "type": "string" + } + }, + "schema": { + "$ref": "#/definitions/ErrorList" } }, - "schema": { - "$ref": "#/definitions/ErrorList" - } - }, - "500": { - "description": "An unexpected condition occurred that prevented the server from fulfilling the request.", - "headers": { - "x-amzn-RequestId": { - "description": "Unique request reference identifier.", - "type": "string" + "500": { + "description": "An unexpected condition occurred that prevented the server from fulfilling the request.", + "headers": { + "x-amzn-RequestId": { + "description": "Unique request reference identifier.", + "type": "string" + } + }, + "schema": { + "$ref": "#/definitions/ErrorList" } }, - "schema": { - "$ref": "#/definitions/ErrorList" + "503": { + "description": "Temporary overloading or maintenance of the server.", + "headers": { + "x-amzn-RequestId": { + "description": "Unique request reference identifier.", + "type": "string" + } + }, + "schema": { + "$ref": "#/definitions/ErrorList" + } } }, - "503": { - "description": "Temporary overloading or maintenance of the server.", - "headers": { - "x-amzn-RequestId": { - "description": "Unique request reference identifier.", - "type": "string" - } + "tags": [ + "awd" + ], + "description": "Retrieves an AWD inbound shipment.\n\n**Usage Plan:**\n\n| Rate (requests per second) | Burst |\n| ---- | ---- |\n| 2 | 2 |\n\nThe `x-amzn-RateLimit-Limit` response header returns the usage plan rate limits that were applied to the requested operation, when available. The table above indicates the default rate and burst values for this operation. Selling partners whose business demands require higher throughput may see higher rate and burst values than those shown here. For more information, refer to [Usage Plans and Rate Limits in the Selling Partner API](https://developer-docs.amazon.com/sp-api/docs/usage-plans-and-rate-limits-in-the-sp-api)", + "operationId": "getInboundShipment" + } + }, + "/awd/2024-05-09/inboundShipments": { + "get": { + "produces": [ + "application/json" + ], + "parameters": [ + { + "description": "Field to sort results by. By default, the response will be sorted by UPDATED_AT.", + "enum": [ + "UPDATED_AT", + "CREATED_AT" + ], + "in": "query", + "name": "sortBy", + "type": "string", + "x-docgen-enum-table-extension": [ + { + "description": "Sort by the time of update.", + "value": "UPDATED_AT" + }, + { + "description": "Sort by the time of creation.", + "value": "CREATED_AT" + } + ] + }, + { + "description": "Sort the response in ASCENDING or DESCENDING order. By default, the response will be sorted in DESCENDING order.", + "enum": [ + "ASCENDING", + "DESCENDING" + ], + "in": "query", + "name": "sortOrder", + "type": "string", + "x-docgen-enum-table-extension": [ + { + "description": "Sorts the collection in ascending order.", + "value": "ASCENDING" + }, + { + "description": "Sorts the collection in descending order.", + "value": "DESCENDING" + } + ], + "x-example": "ASCENDING" + }, + { + "description": "Filter by inbound shipment status.", + "enum": [ + "CREATED", + "SHIPPED", + "IN_TRANSIT", + "RECEIVING", + "DELIVERED", + "CLOSED", + "CANCELLED" + ], + "in": "query", + "name": "shipmentStatus", + "type": "string", + "x-docgen-enum-table-extension": [ + { + "description": "Shipment is created, but hasn't shipped.", + "value": "CREATED" + }, + { + "description": "Shipment was picked up by the carrier or was dropped off with the carrier.", + "value": "SHIPPED" + }, + { + "description": "The carrier has notified AWD that the shipment is in transit between the origin and destination nodes.", + "value": "IN_TRANSIT" + }, + { + "description": "The shipment has been partially received.", + "value": "RECEIVING" + }, + { + "description": "The shipment has reached the destination node and has been delivered to the facility yard. The shipment `receive` process at the warehouse will start soon.", + "value": "DELIVERED" + }, + { + "description": "No more actions are required for the shipment. This is a final state.", + "value": "CLOSED" + }, + { + "description": "The shipment is cancelled. This is a final state.", + "value": "CANCELLED" + } + ], + "x-example": "CREATED" + }, + { + "description": "List the inbound shipments that were updated after a certain time (inclusive). The date must be in ISO 8601 format.", + "format": "date-time", + "in": "query", + "name": "updatedAfter", + "type": "string", + "x-example": "2023-01-12T10:00:00.000Z" + }, + { + "description": "List the inbound shipments that were updated before a certain time (inclusive). The date must be in ISO 8601 format.", + "format": "date-time", + "in": "query", + "name": "updatedBefore", + "type": "string", + "x-example": "2023-01-12T10:00:00.000Z" + }, + { + "default": 25, + "description": "Maximum number of results to return.", + "format": "int32", + "in": "query", + "maximum": 200, + "minimum": 1, + "name": "maxResults", + "type": "integer", + "x-example": "10" }, - "schema": { - "$ref": "#/definitions/ErrorList" + { + "description": "Token to retrieve the next set of paginated results.", + "in": "query", + "name": "nextToken", + "type": "string", + "x-example": "SampleToken" } - } - }, - "tags": [ - "awd" - ], - "description": "Retrieves an AWD inbound shipment.\n\n**Usage Plan:**\n\n| Rate (requests per second) | Burst |\n| ---- | ---- |\n| 2 | 2 |\n\nThe `x-amzn-RateLimit-Limit` response header returns the usage plan rate limits that were applied to the requested operation, when available. The table above indicates the default rate and burst values for this operation. Selling partners whose business demands require higher throughput may see higher rate and burst values than those shown here. For more information, refer to [Usage Plans and Rate Limits in the Selling Partner API](https://developer-docs.amazon.com/sp-api/docs/usage-plans-and-rate-limits-in-the-sp-api)", - "operationId": "getInboundShipment" - } - }, - "/awd/2024-05-09/inboundShipments": { - "get": { - "produces": [ - "application/json" - ], - "parameters": [ - { - "description": "Field to sort results by. Required if `sortOrder` is provided.", - "enum": [ - "UPDATED_AT", - "CREATED_AT" - ], - "in": "query", - "name": "sortBy", - "type": "string", - "x-docgen-enum-table-extension": [ - { - "description": "Sort by `Updated at`timestamp.", - "value": "UPDATED_AT" + ], + "responses": { + "200": { + "description": "The 200 response for `listInboundShipments`.", + "headers": { + "x-amzn-RateLimit-Limit": { + "description": "Your rate limit (requests per second) for this operation.", + "type": "string" + }, + "x-amzn-RequestId": { + "description": "Unique request reference identifier.", + "type": "string" + } }, - { - "description": "Sort by `Created at` timestamp.", - "value": "CREATED_AT" - } - ] - }, - { - "description": "Sort the response in `ASCENDING` or `DESCENDING` order.", - "enum": [ - "ASCENDING", - "DESCENDING" - ], - "in": "query", - "name": "sortOrder", - "type": "string", - "x-docgen-enum-table-extension": [ - { - "description": "Sorts the collection in ascending order.", - "value": "ASCENDING" + "schema": { + "$ref": "#/definitions/ShipmentListing" }, - { - "description": "Sorts the collection in descending order.", - "value": "DESCENDING" + "x-amzn-api-sandbox": { + "static": [ + { + "request": { + "parameters": {} + }, + "response": { + "shipments": [{ + "createdAt": "2023-06-07T12:12:09.061Z", + "orderId": "TestOrderId", + "shipmentId": "TestShipmentId", + "shipmentStatus": "CREATED", + "updatedAt": "2023-06-07T12:12:09.061Z" + }] + } + } + ] } - ], - "x-example": "ASCENDING" - }, - { - "description": "Filter by inbound shipment status.", - "enum": [ - "CREATED", - "SHIPPED", - "IN_TRANSIT", - "RECEIVING", - "DELIVERED", - "CLOSED", - "CANCELLED" - ], - "in": "query", - "name": "shipmentStatus", - "type": "string", - "x-docgen-enum-table-extension": [ - { - "description": "Shipment is created, but hasn't shipped.", - "value": "CREATED" + }, + "400": { + "description": "Request has missing or invalid parameters and cannot be parsed.", + "headers": { + "x-amzn-RateLimit-Limit": { + "description": "Your rate limit (requests per second) for this operation.", + "type": "string" + }, + "x-amzn-RequestId": { + "description": "Unique request reference identifier.", + "type": "string" + } }, - { - "description": "Shipment was picked up by the carrier or was dropped off with the carrier.", - "value": "SHIPPED" + "schema": { + "$ref": "#/definitions/ErrorList" }, - { - "description": "The carrier has notified AWD that the shipment is in transit between the origin and destination nodes.", - "value": "IN_TRANSIT" + "x-amzn-api-sandbox": { + "static": [ + { + "request": { + "parameters": { + "sortBy": { + "value": "TEST" + } + } + }, + "response": { + "errors": [ + { + "code": "BAD_REQUEST", + "details": "This exception is thrown when client inputs are invalid", + "message": "Invalid shipment sortable field received: TEST" + } + ] + } + } + ] + } + }, + "403": { + "description": "Indicates that access to the resource is forbidden. Possible reasons include Access Denied, Unauthorized, Expired Token, or Invalid Signature.", + "headers": { + "x-amzn-RequestId": { + "description": "Unique request reference identifier.", + "type": "string" + } }, - { - "description": "The shipment has been partially received.", - "value": "RECEIVING" + "schema": { + "$ref": "#/definitions/ErrorList" + } + }, + "404": { + "description": "The resource specified does not exist.", + "headers": { + "x-amzn-RateLimit-Limit": { + "description": "Your rate limit (requests per second) for this operation.", + "type": "string" + }, + "x-amzn-RequestId": { + "description": "Unique request reference identifier.", + "type": "string" + } }, - { - "description": "The shipment has reached the destination node and has been delivered to the facility yard. The shipment `receive` process at the warehouse will start soon.", - "value": "DELIVERED" + "schema": { + "$ref": "#/definitions/ErrorList" + } + }, + "413": { + "description": "The request size exceeded the maximum accepted size.", + "headers": { + "x-amzn-RequestId": { + "description": "Unique request reference identifier.", + "type": "string" + } }, - { - "description": "No more actions are required for the shipment. This is a final state.", - "value": "CLOSED" + "schema": { + "$ref": "#/definitions/ErrorList" + } + }, + "415": { + "description": "The request payload is in an unsupported format.", + "headers": { + "x-amzn-RequestId": { + "description": "Unique request reference identifier.", + "type": "string" + } }, - { - "description": "The shipment is cancelled. This is a final state.", - "value": "CANCELLED" + "schema": { + "$ref": "#/definitions/ErrorList" } - ], - "x-example": "CREATED" - }, - { - "description": "List the inbound shipments that were updated after a certain time (inclusive). The date must be in ISO 8601 format.", - "format": "date-time", - "in": "query", - "name": "updatedAfter", - "type": "string", - "x-example": "2023-01-12T10:00:00.000Z" - }, - { - "description": "List the inbound shipments that were updated before a certain time (inclusive). The date must be in ISO 8601 format.", - "format": "date-time", - "in": "query", - "name": "updatedBefore", - "type": "string", - "x-example": "2023-01-12T10:00:00.000Z" - }, - { - "default": 25, - "description": "Maximum number of results to return.", - "format": "int32", - "in": "query", - "maximum": 200, - "minimum": 1, - "name": "maxResults", - "type": "integer", - "x-example": "10" - }, - { - "description": "Token to retrieve the next set of paginated results.", - "in": "query", - "name": "nextToken", - "type": "string", - "x-example": "SampleToken" - } - ], - "responses": { - "200": { - "description": "The 200 response for `listInboundShipments`.", - "headers": { - "x-amzn-RateLimit-Limit": { - "description": "Your rate limit (requests per second) for this operation.", - "type": "string" + }, + "429": { + "description": "The frequency of requests was greater than allowed.", + "headers": { + "x-amzn-RequestId": { + "description": "Unique request reference identifier.", + "type": "string" + } + }, + "schema": { + "$ref": "#/definitions/ErrorList" + } + }, + "500": { + "description": "An unexpected condition occurred that prevented the server from fulfilling the request.", + "headers": { + "x-amzn-RequestId": { + "description": "Unique request reference identifier.", + "type": "string" + } }, - "x-amzn-RequestId": { - "description": "Unique request reference identifier.", - "type": "string" + "schema": { + "$ref": "#/definitions/ErrorList" } }, - "schema": { - "$ref": "#/definitions/ShipmentListing" + "503": { + "description": "Temporary overloading or maintenance of the server.", + "headers": { + "x-amzn-RequestId": { + "description": "Unique request reference identifier.", + "type": "string" + } + }, + "schema": { + "$ref": "#/definitions/ErrorList" + } + } + }, + "tags": [ + "awd" + ], + "description": "Retrieves a summary of all the inbound AWD shipments associated with a merchant, with the ability to apply optional filters.\n\n**Usage Plan:**\n\n| Rate (requests per second) | Burst |\n| ---- | ---- |\n| 1 | 1 |\n\nThe `x-amzn-RateLimit-Limit` response header returns the usage plan rate limits that were applied to the requested operation, when available. The table above indicates the default rate and burst values for this operation. Selling partners whose business demands require higher throughput may see higher rate and burst values than those shown here. For more information, refer to [Usage Plans and Rate Limits in the Selling Partner API](https://developer-docs.amazon.com/sp-api/docs/usage-plans-and-rate-limits-in-the-sp-api).", + "operationId": "listInboundShipments" + } + }, + "/awd/2024-05-09/inventory": { + "get": { + "produces": [ + "application/json" + ], + "parameters": [ + { + "description": "Filter by seller or merchant SKU for the item.", + "in": "query", + "name": "sku", + "type": "string", + "x-example": "TestSKU" }, - "x-amzn-api-sandbox": { - "static": [ + { + "description": "Sort the response in `ASCENDING` or `DESCENDING` order.", + "enum": [ + "ASCENDING", + "DESCENDING" + ], + "in": "query", + "name": "sortOrder", + "type": "string", + "x-docgen-enum-table-extension": [ { - "request": { - "parameters": {} - }, - "response": { - "shipments": [{ - "createdAt": "2023-06-07T12:12:09.061Z", - "orderId": "TestOrderId", - "shipmentId": "TestShipmentId", - "shipmentStatus": "CREATED", - "updatedAt": "2023-06-07T12:12:09.061Z" - }] - } + "description": "Sorts the collection in ascending order.", + "value": "ASCENDING" + }, + { + "description": "Sorts the collection in descending order.", + "value": "DESCENDING" } ] + }, + { + "description": "Set to `SHOW` to return summaries with additional inventory details. Defaults to `HIDE,` which returns only inventory summary totals.", + "enum": [ + "SHOW", + "HIDE" + ], + "in": "query", + "name": "details", + "type": "string", + "x-docgen-enum-table-extension": [ + { + "description": "Show the additional summarized inventory details.", + "value": "SHOW" + }, + { + "description": "Hide the additional summarized inventory details.", + "value": "HIDE" + } + ], + "x-example": "SHOW" + }, + { + "description": "Token to retrieve the next set of paginated results.", + "in": "query", + "name": "nextToken", + "type": "string", + "x-example": "SampleToken" + }, + { + "default": 25, + "description": "Maximum number of results to return.", + "format": "int32", + "in": "query", + "maximum": 200, + "minimum": 1, + "name": "maxResults", + "type": "integer", + "x-example": "10" } - }, - "400": { - "description": "Request has missing or invalid parameters and cannot be parsed.", - "headers": { - "x-amzn-RateLimit-Limit": { - "description": "Your rate limit (requests per second) for this operation.", - "type": "string" + ], + "responses": { + "200": { + "description": "The 200 response for `listInventory`.", + "headers": { + "x-amzn-RateLimit-Limit": { + "description": "Your rate limit (requests per second) for this operation.", + "type": "string" + }, + "x-amzn-RequestId": { + "description": "Unique request reference identifier.", + "type": "string" + } + }, + "schema": { + "$ref": "#/definitions/InventoryListing" }, - "x-amzn-RequestId": { - "description": "Unique request reference identifier.", - "type": "string" + "x-amzn-api-sandbox": { + "static": [ + { + "request": {}, + "response": { + "inventory": [ + { + "totalOnhandQuantity": 20, + "totalInboundQuantity": 10, + "sku": "100TestSKU1Pen", + "inventoryDetails": { + "availableDistributableQuantity": 10, + "reservedDistributableQuantity": 10 + } + }, + { + "totalOnhandQuantity": 20, + "totalInboundQuantity": 5, + "sku": "2U-BKEX-VW4D", + "inventoryDetails": { + "availableDistributableQuantity": 10, + "reservedDistributableQuantity": 10 + } + } + ] + } + } + ] } }, - "schema": { - "$ref": "#/definitions/ErrorList" - }, - "x-amzn-api-sandbox": { - "static": [ - { - "request": { - "parameters": { - "sortBy": { - "value": "TEST" + "400": { + "description": "Request has missing or invalid parameters and cannot be parsed.", + "headers": { + "x-amzn-RateLimit-Limit": { + "description": "Your rate limit (requests per second) for this operation.", + "type": "string" + }, + "x-amzn-RequestId": { + "description": "Unique request reference identifier.", + "type": "string" + } + }, + "schema": { + "$ref": "#/definitions/ErrorList" + }, + "x-amzn-api-sandbox": { + "static": [ + { + "request": { + "parameters": { + "sortOrder": { + "value": "UNKNOWN" + } } + }, + "response": { + "errors": [ + { + "code": "BAD_REQUEST", + "details": "This exception is thrown when client inputs are invalid", + "message": "Invalid value: UNKNOWN passed for sort order. Possible values are: [ASCENDING, DESCENDING]" + } + ] } - }, - "response": { - "errors": [ - { - "code": "BAD_REQUEST", - "details": "This exception is thrown when client inputs are invalid", - "message": "Invalid shipment sortable field received: TEST" - } - ] } - } - ] - } - }, - "403": { - "description": "Indicates that access to the resource is forbidden. Possible reasons include Access Denied, Unauthorized, Expired Token, or Invalid Signature.", - "headers": { - "x-amzn-RequestId": { - "description": "Unique request reference identifier.", - "type": "string" + ] } }, - "schema": { - "$ref": "#/definitions/ErrorList" - } - }, - "404": { - "description": "The resource specified does not exist.", - "headers": { - "x-amzn-RateLimit-Limit": { - "description": "Your rate limit (requests per second) for this operation.", - "type": "string" + "403": { + "description": "Indicates that access to the resource is forbidden. Possible reasons include Access Denied, Unauthorized, Expired Token, or Invalid Signature.", + "headers": { + "x-amzn-RequestId": { + "description": "Unique request reference identifier.", + "type": "string" + } }, - "x-amzn-RequestId": { - "description": "Unique request reference identifier.", - "type": "string" + "schema": { + "$ref": "#/definitions/ErrorList" } }, - "schema": { - "$ref": "#/definitions/ErrorList" - } - }, - "413": { - "description": "The request size exceeded the maximum accepted size.", - "headers": { - "x-amzn-RequestId": { - "description": "Unique request reference identifier.", - "type": "string" + "404": { + "description": "The resource specified does not exist.", + "headers": { + "x-amzn-RateLimit-Limit": { + "description": "Your rate limit (requests per second) for this operation.", + "type": "string" + }, + "x-amzn-RequestId": { + "description": "Unique request reference identifier.", + "type": "string" + } + }, + "schema": { + "$ref": "#/definitions/ErrorList" } }, - "schema": { - "$ref": "#/definitions/ErrorList" - } - }, - "415": { - "description": "The request payload is in an unsupported format.", - "headers": { - "x-amzn-RequestId": { - "description": "Unique request reference identifier.", - "type": "string" + "413": { + "description": "The request size exceeded the maximum accepted size.", + "headers": { + "x-amzn-RequestId": { + "description": "Unique request reference identifier.", + "type": "string" + } + }, + "schema": { + "$ref": "#/definitions/ErrorList" } }, - "schema": { - "$ref": "#/definitions/ErrorList" - } - }, - "429": { - "description": "The frequency of requests was greater than allowed.", - "headers": { - "x-amzn-RequestId": { - "description": "Unique request reference identifier.", - "type": "string" + "415": { + "description": "The request payload is in an unsupported format.", + "headers": { + "x-amzn-RequestId": { + "description": "Unique request reference identifier.", + "type": "string" + } + }, + "schema": { + "$ref": "#/definitions/ErrorList" } }, - "schema": { - "$ref": "#/definitions/ErrorList" - } - }, - "500": { - "description": "An unexpected condition occurred that prevented the server from fulfilling the request.", - "headers": { - "x-amzn-RequestId": { - "description": "Unique request reference identifier.", - "type": "string" + "429": { + "description": "The frequency of requests was greater than allowed.", + "headers": { + "x-amzn-RequestId": { + "description": "Unique request reference identifier.", + "type": "string" + } + }, + "schema": { + "$ref": "#/definitions/ErrorList" } }, - "schema": { - "$ref": "#/definitions/ErrorList" - } - }, - "503": { - "description": "Temporary overloading or maintenance of the server.", - "headers": { - "x-amzn-RequestId": { - "description": "Unique request reference identifier.", - "type": "string" + "500": { + "description": "An unexpected condition occurred that prevented the server from fulfilling the request.", + "headers": { + "x-amzn-RequestId": { + "description": "Unique request reference identifier.", + "type": "string" + } + }, + "schema": { + "$ref": "#/definitions/ErrorList" } }, - "schema": { - "$ref": "#/definitions/ErrorList" + "503": { + "description": "Temporary overloading or maintenance of the server.", + "headers": { + "x-amzn-RequestId": { + "description": "Unique request reference identifier.", + "type": "string" + } + }, + "schema": { + "$ref": "#/definitions/ErrorList" + } } - } - }, - "tags": [ - "awd" - ], - "description": "Retrieves a summary for all the inbound AWD shipments associated with a merchant, with the ability to apply optional filters.\n\n**Usage Plan:**\n\n| Rate (requests per second) | Burst |\n| ---- | ---- |\n| 1 | 1 |\n\nThe `x-amzn-RateLimit-Limit` response header returns the usage plan rate limits that were applied to the requested operation, when available. The table above indicates the default rate and burst values for this operation. Selling partners whose business demands require higher throughput may see higher rate and burst values than those shown here. For more information, refer to [Usage Plans and Rate Limits in the Selling Partner API](https://developer-docs.amazon.com/sp-api/docs/usage-plans-and-rate-limits-in-the-sp-api).", - "operationId": "listInboundShipments" + }, + "tags": [ + "awd" + ], + "description": "Lists AWD inventory associated with a merchant with the ability to apply optional filters.\n\n**Usage Plan:**\n\n| Rate (requests per second) | Burst |\n| ---- | ---- |\n| 2 | 2 |\n\nThe `x-amzn-RateLimit-Limit` response header returns the usage plan rate limits that were applied to the requested operation, when available. The table above indicates the default rate and burst values for this operation. Selling partners whose business demands require higher throughput may see higher rate and burst values than those shown here. For more information, refer to [Usage Plans and Rate Limits in the Selling Partner API](https://developer-docs.amazon.com/sp-api/docs/usage-plans-and-rate-limits-in-the-sp-api).", + "operationId": "listInventory" + } } }, - "/awd/2024-05-09/inventory": { - "get": { - "produces": [ - "application/json" - ], - "parameters": [ - { - "description": "Filter by seller or merchant SKU for the item.", - "in": "query", - "name": "sku", - "type": "string", - "x-example": "TestSKU" - }, - { - "description": "Sort the response in `ASCENDING` or `DESCENDING` order.", - "enum": [ - "ASCENDING", - "DESCENDING" - ], - "in": "query", - "name": "sortOrder", - "type": "string", - "x-docgen-enum-table-extension": [ - { - "description": "Sorts the collection in ascending order.", - "value": "ASCENDING" - }, - { - "description": "Sorts the collection in descending order.", - "value": "DESCENDING" - } - ] - }, - { - "description": "Set to `SHOW` to return summaries with additional inventory details. Defaults to `HIDE,` which returns only inventory summary totals.", - "enum": [ - "SHOW", - "HIDE" - ], - "in": "query", - "name": "details", - "type": "string", - "x-docgen-enum-table-extension": [ - { - "description": "Show the additional summarized inventory details.", - "value": "SHOW" - }, - { - "description": "Hide the additional summarized inventory details.", - "value": "HIDE" - } - ], - "x-example": "SHOW" + "definitions": { + "Address": { + "description": "Shipping address that represents the origin or destination location.", + "properties": { + "addressLine1": { + "description": "First line of the address text.", + "type": "string" }, - { - "description": "Token to retrieve the next set of paginated results.", - "in": "query", - "name": "nextToken", - "type": "string", - "x-example": "SampleToken" + "addressLine2": { + "description": "Optional second line of the address text.", + "type": "string" }, - { - "default": 25, - "description": "Maximum number of results to return.", - "format": "int32", - "in": "query", - "maximum": 200, - "minimum": 1, - "name": "maxResults", - "type": "integer", - "x-example": "10" - } - ], - "responses": { - "200": { - "description": "The 200 response for `listInventory`.", - "headers": { - "x-amzn-RateLimit-Limit": { - "description": "Your rate limit (requests per second) for this operation.", - "type": "string" - }, - "x-amzn-RequestId": { - "description": "Unique request reference identifier.", - "type": "string" - } - }, - "schema": { - "$ref": "#/definitions/InventoryListing" - }, - "x-amzn-api-sandbox": { - "static": [ - { - "request": {}, - "response": { - "inventory": [ - { - "totalOnhandQuantity": 20, - "sku": "100TestSKU1Pen", - "inventoryDetails": { - "availableDistributableQuantity": 10, - "reservedDistributableQuantity": 10 - } - }, - { - "totalOnhandQuantity": 20, - "sku": "2U-BKEX-VW4D", - "inventoryDetails": { - "availableDistributableQuantity": 10, - "reservedDistributableQuantity": 10 - } - } - ] - } - } - ] - } + "addressLine3": { + "description": "Optional third line of the address text.", + "type": "string" }, - "400": { - "description": "Request has missing or invalid parameters and cannot be parsed.", - "headers": { - "x-amzn-RateLimit-Limit": { - "description": "Your rate limit (requests per second) for this operation.", - "type": "string" - }, - "x-amzn-RequestId": { - "description": "Unique request reference identifier.", - "type": "string" - } - }, - "schema": { - "$ref": "#/definitions/ErrorList" - }, - "x-amzn-api-sandbox": { - "static": [ - { - "request": { - "parameters": { - "sortOrder": { - "value": "UNKNOWN" - } - } - }, - "response": { - "errors": [ - { - "code": "BAD_REQUEST", - "details": "This exception is thrown when client inputs are invalid", - "message": "Invalid value: UNKNOWN passed for sort order. Possible values are: [ASCENDING, DESCENDING]" - } - ] - } - } - ] - } + "city": { + "description": "Optional city where this address is located.", + "type": "string" }, - "403": { - "description": "Indicates that access to the resource is forbidden. Possible reasons include Access Denied, Unauthorized, Expired Token, or Invalid Signature.", - "headers": { - "x-amzn-RequestId": { - "description": "Unique request reference identifier.", - "type": "string" - } - }, - "schema": { - "$ref": "#/definitions/ErrorList" - } + "countryCode": { + "description": "Two-digit, ISO 3166-1 alpha-2 formatted country code where this address is located.", + "type": "string" }, - "404": { - "description": "The resource specified does not exist.", - "headers": { - "x-amzn-RateLimit-Limit": { - "description": "Your rate limit (requests per second) for this operation.", - "type": "string" - }, - "x-amzn-RequestId": { - "description": "Unique request reference identifier.", - "type": "string" - } - }, - "schema": { - "$ref": "#/definitions/ErrorList" - } + "county": { + "description": "Optional county where this address is located.", + "type": "string", + "example": "Washington" }, - "413": { - "description": "The request size exceeded the maximum accepted size.", - "headers": { - "x-amzn-RequestId": { - "description": "Unique request reference identifier.", - "type": "string" - } - }, - "schema": { - "$ref": "#/definitions/ErrorList" - } + "district": { + "description": "Optional district where this address is located.", + "type": "string" }, - "415": { - "description": "The request payload is in an unsupported format.", - "headers": { - "x-amzn-RequestId": { - "description": "Unique request reference identifier.", - "type": "string" - } - }, - "schema": { - "$ref": "#/definitions/ErrorList" - } + "name": { + "description": "Name of the person, business, or institution at this address.", + "type": "string" }, - "429": { - "description": "The frequency of requests was greater than allowed.", - "headers": { - "x-amzn-RequestId": { - "description": "Unique request reference identifier.", - "type": "string" - } - }, - "schema": { - "$ref": "#/definitions/ErrorList" - } + "phoneNumber": { + "description": "Optional E.164-formatted phone number for an available contact at this address.", + "type": "string", + "example": "+14155552671" }, - "500": { - "description": "An unexpected condition occurred that prevented the server from fulfilling the request.", - "headers": { - "x-amzn-RequestId": { - "description": "Unique request reference identifier.", - "type": "string" - } - }, - "schema": { - "$ref": "#/definitions/ErrorList" - } + "postalCode": { + "description": "Optional postal code where this address is located.", + "type": "string" }, - "503": { - "description": "Temporary overloading or maintenance of the server.", - "headers": { - "x-amzn-RequestId": { - "description": "Unique request reference identifier.", - "type": "string" - } - }, - "schema": { - "$ref": "#/definitions/ErrorList" - } + "stateOrRegion": { + "description": "State or region where this address is located. Note that this is contextual to the specified country code.", + "type": "string" } }, - "tags": [ - "awd" + "required": [ + "addressLine1", + "countryCode", + "name", + "stateOrRegion" ], - "description": "Lists AWD inventory associated with a merchant with the ability to apply optional filters.\n\n**Usage Plan:**\n\n| Rate (requests per second) | Burst |\n| ---- | ---- |\n| 2 | 2 |\n\nThe `x-amzn-RateLimit-Limit` response header returns the usage plan rate limits that were applied to the requested operation, when available. The table above indicates the default rate and burst values for this operation. Selling partners whose business demands require higher throughput may see higher rate and burst values than those shown here. For more information, refer to [Usage Plans and Rate Limits in the Selling Partner API](https://developer-docs.amazon.com/sp-api/docs/usage-plans-and-rate-limits-in-the-sp-api).", - "operationId": "listInventory" - } - } - }, - "definitions": { - "Address": { - "description": "Shipping address that represents the origin or destination location.", - "properties": { - "addressLine1": { - "description": "First line of the address text.", - "type": "string" - }, - "addressLine2": { - "description": "Optional second line of the address text.", - "type": "string" - }, - "addressLine3": { - "description": "Optional third line of the address text.", - "type": "string" - }, - "city": { - "description": "Optional city where this address is located.", - "type": "string" - }, - "countryCode": { - "description": "Two-digit, ISO 3166-1 alpha-2 formatted country code where this address is located.", - "type": "string" - }, - "county": { - "description": "Optional county where this address is located.", - "type": "string", - "example": "Washington" - }, - "district": { - "description": "Optional district where this address is located.", - "type": "string" - }, - "name": { - "description": "Name of the person, business, or institution at this address.", - "type": "string" - }, - "phoneNumber": { - "description": "Optional E.164-formatted phone number for an available contact at this address.", - "type": "string", - "example": "+14155552671" - }, - "postalCode": { - "description": "Optional postal code where this address is located.", - "type": "string" - }, - "stateOrRegion": { - "description": "State or region where this address is located. Note that this is contextual to the specified country code.", - "type": "string" + "type": "object", + "example": { + "addressLine1": "address_1", + "addressLine2": "address_2", + "addressLine3": "address_3", + "city": "Seattle", + "countryCode": "US", + "county": "Washington", + "district": "District1", + "name": "address_name", + "phoneNumber": "+14155552671", + "postalCode": "123456", + "stateOrRegion": "Washington" } }, - "required": [ - "addressLine1", - "countryCode", - "name", - "stateOrRegion" - ], - "type": "object", - "example": { - "addressLine1": "address_1", - "addressLine2": "address_2", - "addressLine3": "address_3", - "city": "Seattle", - "countryCode": "US", - "county": "Washington", - "district": "District1", - "name": "address_name", - "phoneNumber": "+14155552671", - "postalCode": "123456", - "stateOrRegion": "Washington" - } - }, - "CarrierCode": { - "description": "Identifies the carrier that will deliver the shipment.", - "properties": { - "carrierCodeType": { - "description": "Denotes the carrier type.", - "$ref": "#/definitions/CarrierCodeType" + "CarrierCode": { + "description": "Identifies the carrier that will deliver the shipment.", + "properties": { + "carrierCodeType": { + "description": "Denotes the carrier type.", + "$ref": "#/definitions/CarrierCodeType" + }, + "carrierCodeValue": { + "description": "Value of the carrier code.", + "type": "string", + "example": "TestCarrierCode" + } }, - "carrierCodeValue": { - "description": "Value of the carrier code.", - "type": "string", - "example": "TestCarrierCode" + "type": "object", + "example": { + "carrierCodeType": "SCAC", + "carrierCodeValue": "TestCarrierCode" } }, - "type": "object", - "example": { - "carrierCodeType": "SCAC", - "carrierCodeValue": "TestCarrierCode" - } - }, - "CarrierCodeType": { - "description": "Denotes the type for the carrier.", - "enum": [ - "SCAC" - ], - "type": "string", - "x-docgen-enum-table-extension": [ - { - "description": "Standard Carrier Alpha Code. Ref: https://help.cbp.gov/s/article/Article-572?language=en_US.", - "value": "SCAC" - } - ], - "example": "SCAC" - }, - "DimensionUnitOfMeasurement": { - "description": "Unit of measurement for package dimensions.", - "enum": [ - "INCHES", - "CENTIMETERS" - ], - "type": "string", - "x-docgen-enum-table-extension": [ - { - "description": "Denotes package dimensions in inches.", - "value": "INCHES" - }, - { - "description": "Denotes package dimensions in centimeters.", - "value": "CENTIMETERS" - } - ], - "example": "INCHES" - }, - "DistributionPackage": { - "description": "Represents an AWD distribution package.", - "properties": { - "contents": { - "description": "The contents appropriate for the type.", - "$ref": "#/definitions/DistributionPackageContents" - }, - "measurements": { - "description": "Measurements of a package, including weight, volume, and dimensions.", - "$ref": "#/definitions/MeasurementData" - }, - "type": { - "description": "Type of distribution package.", - "$ref": "#/definitions/DistributionPackageType" - } + "CarrierCodeType": { + "description": "Denotes the type for the carrier.", + "enum": [ + "SCAC" + ], + "type": "string", + "x-docgen-enum-table-extension": [ + { + "description": "Standard Carrier Alpha Code. Refer to [What is a Standard Carrier Alpha Code](https://www.help.cbp.gov/s/article/Article-1420?language=en_US) for more information.", + "value": "SCAC" + } + ], + "example": "SCAC" }, - "required": [ - "contents", - "measurements", - "type" - ], - "type": "object", - "example": { - "contents": { - "products": [ - { - "quantity": 1, - "sku": "testPen" - } - ] - }, - "measurements": { - "dimensions": { - "height": 1, - "length": 1, - "unitOfMeasurement": "INCHES", - "width": 1 - }, - "volume": { - "unitOfMeasurement": "CUIN", - "volume": 1 + "DimensionUnitOfMeasurement": { + "description": "Unit of measurement for package dimensions.", + "enum": [ + "INCHES", + "CENTIMETERS" + ], + "type": "string", + "x-docgen-enum-table-extension": [ + { + "description": "Denotes package dimensions in inches.", + "value": "INCHES" }, - "weight": { - "unitOfMeasurement": "POUNDS", - "weight": 1 + { + "description": "Denotes package dimensions in centimeters.", + "value": "CENTIMETERS" } - }, - "type": "CASE" - } - }, - "DistributionPackageContents": { - "description": "Represents the contents inside a package, which can be products or a nested package.", - "properties": { - "packages": { - "description": "This is required only when `DistributionPackageType=PALLET`.", - "items": { - "$ref": "#/definitions/DistributionPackageQuantity" - }, - "type": "array" - }, - "products": { - "description": "This is required only when `DistributionPackageType=CASE`.", - "items": { - "$ref": "#/definitions/ProductQuantity" - }, - "type": "array" - } + ], + "example": "INCHES" }, - "type": "object" - }, - "DistributionPackageQuantity": { - "description": "Represents a distribution package with its respective quantity.", - "properties": { - "count": { - "description": "Number of cases or pallets with the same package configuration.", - "format": "int32", - "type": "integer" + "DistributionPackage": { + "description": "Represents an AWD distribution package.", + "properties": { + "contents": { + "description": "The contents appropriate for the type.", + "$ref": "#/definitions/DistributionPackageContents" + }, + "measurements": { + "description": "Measurements of a package, including weight, volume, and dimensions.", + "$ref": "#/definitions/MeasurementData" + }, + "type": { + "description": "Type of distribution package.", + "$ref": "#/definitions/DistributionPackageType" + } }, - "distributionPackage": { - "$ref": "#/definitions/DistributionPackage" - } - }, - "required": [ - "count", - "distributionPackage" - ], - "type": "object", - "example": { - "count": 1, - "distributionPackage": { + "required": [ + "contents", + "measurements", + "type" + ], + "type": "object", + "example": { "contents": { "products": [ { @@ -1056,585 +1025,699 @@ }, "type": "CASE" } - } - }, - "DistributionPackageType": { - "description": "Type of distribution packages.", - "enum": [ - "CASE", - "PALLET" - ], - "type": "string", - "x-docgen-enum-table-extension": [ - { - "description": "Package type `CASE`.", - "value": "CASE" - }, - { - "description": "Package type `PALLET`. Currently, the `PALLET` package type is not supported.", - "value": "PALLET" - } - ], - "example": "CASE" - }, - "Error": { - "description": "Error response returned when the request is unsuccessful.", - "properties": { - "code": { - "description": "An error code that identifies the type of error that occurred.", - "type": "string" + }, + "DistributionPackageContents": { + "description": "Represents the contents inside a package, which can be products or a nested package.", + "properties": { + "packages": { + "description": "This is required only when `DistributionPackageType=PALLET`.", + "items": { + "$ref": "#/definitions/DistributionPackageQuantity" + }, + "type": "array" + }, + "products": { + "description": "This is required only when `DistributionPackageType=CASE`.", + "items": { + "$ref": "#/definitions/ProductQuantity" + }, + "type": "array" + } }, - "details": { - "description": "Additional details that can help the caller understand or fix the issue.", - "type": "string" + "type": "object" + }, + "DistributionPackageQuantity": { + "description": "Represents a distribution package with its respective quantity.", + "properties": { + "count": { + "description": "Number of cases or pallets with the same package configuration.", + "format": "int32", + "type": "integer" + }, + "distributionPackage": { + "$ref": "#/definitions/DistributionPackage" + } }, - "message": { - "description": "A message that describes the error condition.", - "type": "string" + "required": [ + "count", + "distributionPackage" + ], + "type": "object", + "example": { + "count": 1, + "distributionPackage": { + "contents": { + "products": [ + { + "quantity": 1, + "sku": "testPen" + } + ] + }, + "measurements": { + "dimensions": { + "height": 1, + "length": 1, + "unitOfMeasurement": "INCHES", + "width": 1 + }, + "volume": { + "unitOfMeasurement": "CUIN", + "volume": 1 + }, + "weight": { + "unitOfMeasurement": "POUNDS", + "weight": 1 + } + }, + "type": "CASE" + } } }, - "required": [ - "code", - "message" - ], - "type": "object" - }, - "ErrorList": { - "description": "This exception is thrown when client inputs are invalid.", - "properties": { - "errors": { - "description": "A list of errors describing the failures.", - "items": { - "$ref": "#/definitions/Error" - }, - "type": "array" - } + "DistributionPackageType": { + "description": "Type of distribution packages.", + "enum": [ + "CASE", + "PALLET" + ], + "type": "string", + "x-docgen-enum-table-extension": [ + { + "description": "Package type `CASE`.", + "value": "CASE" + }, + { + "description": "Package type `PALLET`. Currently, the `PALLET` package type is not supported.", + "value": "PALLET" + } + ], + "example": "CASE" }, - "type": "object", - "required": [ - "errors" - ] - }, - "InboundShipment": { - "description": "Represents an AWD inbound shipment.", - "properties": { - "carrierCode": { - "description": "The shipment carrier code.", - "$ref": "#/definitions/CarrierCode" - }, - "createdAt": { - "description": "Timestamp when the shipment was created. The date is returned in ISO 8601 format.", - "format": "date-time", - "type": "string" - }, - "destinationAddress": { - "description": "Destination address for this shipment.", - "$ref": "#/definitions/Address" - }, - "externalReferenceId": { - "description": "Client-provided reference ID that can correlate this shipment to client resources. For example, to map this shipment to an internal bookkeeping order record.", - "type": "string", - "example": "TestReferenceId" - }, - "orderId": { - "description": "The AWD inbound order ID that this inbound shipment belongs to.", - "minLength": 1, - "type": "string" - }, - "originAddress": { - "description": "Origin address for this shipment.", - "$ref": "#/definitions/Address" - }, - "receivedQuantity": { - "description": "Quantity received (at the receiving end) as part of this shipment.", - "items": { - "$ref": "#/definitions/InventoryQuantity" + "Error": { + "description": "Error response returned when the request is unsuccessful.", + "properties": { + "code": { + "description": "An error code that identifies the type of error that occurred.", + "type": "string" }, - "type": "array" - }, - "shipBy": { - "description": "Timestamp when the shipment will be shipped.", - "format": "date-time", - "type": "string" - }, - "shipmentContainerQuantities": { - "description": "Packages that are part of this shipment.", - "items": { - "$ref": "#/definitions/DistributionPackageQuantity" + "details": { + "description": "Additional details that can help the caller understand or fix the issue.", + "type": "string" }, - "type": "array" - }, - "shipmentId": { - "description": "Unique shipment ID.", - "minLength": 1, - "type": "string" - }, - "shipmentStatus": { - "description": "Current status of this shipment.", - "$ref": "#/definitions/InboundShipmentStatus" - }, - "trackingId": { - "description": "Carrier-unique tracking ID for this shipment.", - "minLength": 1, - "type": "string" - }, - "updatedAt": { - "description": "Timestamp when the shipment was updated. The date is returned in ISO 8601 format.", - "format": "date-time", - "type": "string" + "message": { + "description": "A message that describes the error condition.", + "type": "string" + } }, - "warehouseReferenceId": { - "description": "An AWD-provided reference ID that you can use to interact with the warehouse. For example, a carrier appointment booking.", - "type": "string", - "example": "TestWarehouseReferenceId" - } + "required": [ + "code", + "message" + ], + "type": "object" }, - "required": [ - "destinationAddress", - "orderId", - "originAddress", - "shipmentContainerQuantities", - "shipmentId", - "shipmentStatus" - ], - "type": "object" - }, - "InboundShipmentStatus": { - "description": "Possible shipment statuses used by shipments.", - "enum": [ - "CREATED", - "SHIPPED", - "IN_TRANSIT", - "RECEIVING", - "DELIVERED", - "CLOSED", - "CANCELLED" - ], - "type": "string", - "x-docgen-enum-table-extension": [ - { - "description": "Shipment is created but has not yet shipped.", - "value": "CREATED" - }, - { - "description": "Shipment was picked up by the carrier or was dropped off with the carrier.", - "value": "SHIPPED" - }, - { - "description": "The carrier has notified AWD that the shipment is in transit between origin and destination node.", - "value": "IN_TRANSIT" - }, - { - "description": "The shipment has been partially received.", - "value": "RECEIVING" - }, - { - "description": "The shipment has reached the destination node and has been delivered to the facility yard. The shipment receive process at the warehouse will start soon.", - "value": "DELIVERED" - }, - { - "description": "No more actions required on the shipment. This is a final state.", - "value": "CLOSED" - }, - { - "description": "Shipment has been cancelled. This is a final state.", - "value": "CANCELLED" - } - ] - }, - "InboundShipmentSummary": { - "description": "Summary for an AWD inbound shipment containing the shipment ID, which can be used to retrieve the actual shipment.", - "properties": { - "createdAt": { - "description": "Timestamp when the shipment was created.", - "format": "date-time", - "type": "string" - }, - "externalReferenceId": { - "description": "Optional client-provided reference ID that can be used to correlate this shipment with client resources. For example, to map this shipment to an internal bookkeeping order record.", - "type": "string", - "example": "TestReferenceId" - }, - "orderId": { - "description": "The AWD inbound order ID that this inbound shipment belongs to.", - "minLength": 1, - "type": "string" - }, - "shipmentId": { - "description": "A unique shipment ID.", - "minLength": 1, - "type": "string" - }, - "shipmentStatus": { - "$ref": "#/definitions/InboundShipmentStatus" + "ErrorList": { + "description": "This exception is thrown when client inputs are invalid.", + "properties": { + "errors": { + "description": "A list of errors describing the failures.", + "items": { + "$ref": "#/definitions/Error" + }, + "type": "array" + } }, - "updatedAt": { - "description": "Timestamp when the shipment was updated.", - "format": "date-time", - "type": "string" - } + "type": "object", + "required": [ + "errors" + ] }, - "required": [ - "orderId", - "shipmentId", - "shipmentStatus" - ], - "type": "object" - }, - "InventoryDetails": { - "description": "Additional inventory details. This object is only displayed if the details parameter in the request is set to `SHOW`.", - "properties": { - "availableDistributableQuantity": { - "description": "Quantity that is available for downstream channel replenishment.", - "format": "int64", - "type": "integer" + "InboundShipment": { + "description": "Represents an AWD inbound shipment.", + "properties": { + "carrierCode": { + "description": "The shipment carrier code.", + "$ref": "#/definitions/CarrierCode" + }, + "createdAt": { + "description": "Timestamp when the shipment was created. The date is returned in ISO 8601 format.", + "format": "date-time", + "type": "string" + }, + "destinationAddress": { + "description": "Destination address for this shipment.", + "$ref": "#/definitions/Address" + }, + "externalReferenceId": { + "description": "Client-provided reference ID that can correlate this shipment to client resources. For example, to map this shipment to an internal bookkeeping order record.", + "type": "string", + "example": "TestReferenceId" + }, + "orderId": { + "description": "The AWD inbound order ID that this inbound shipment belongs to.", + "minLength": 1, + "type": "string" + }, + "originAddress": { + "description": "Origin address for this shipment.", + "$ref": "#/definitions/Address" + }, + "receivedQuantity": { + "description": "Quantity received (at the receiving end) as part of this shipment.", + "items": { + "$ref": "#/definitions/InventoryQuantity" + }, + "type": "array" + }, + "shipBy": { + "description": "Timestamp when the shipment will be shipped.", + "format": "date-time", + "type": "string" + }, + "shipmentContainerQuantities": { + "description": "Packages that are part of this shipment.", + "items": { + "$ref": "#/definitions/DistributionPackageQuantity" + }, + "type": "array" + }, + "shipmentId": { + "description": "Unique shipment ID.", + "minLength": 1, + "type": "string" + }, + "shipmentSkuQuantities": { + "description": "Quantity details at SKU level for the shipment. This attribute will only appear if the skuQuantities parameter in the request is set to SHOW.", + "items": { + "$ref": "#/definitions/SkuQuantity" + }, + "type": "array" + }, + "shipmentStatus": { + "description": "Current status of this shipment.", + "$ref": "#/definitions/InboundShipmentStatus" + }, + "trackingId": { + "description": "Carrier-unique tracking ID for this shipment.", + "minLength": 1, + "type": "string" + }, + "updatedAt": { + "description": "Timestamp when the shipment was updated. The date is returned in ISO 8601 format.", + "format": "date-time", + "type": "string" + }, + "warehouseReferenceId": { + "description": "An AWD-provided reference ID that you can use to interact with the warehouse. For example, a carrier appointment booking.", + "type": "string", + "example": "TestWarehouseReferenceId" + } }, - "reservedDistributableQuantity": { - "description": "Quantity that is reserved for a downstream channel replenishment order that is being prepared for shipment.", - "format": "int64", - "type": "integer" - } + "required": [ + "destinationAddress", + "orderId", + "originAddress", + "shipmentContainerQuantities", + "shipmentId", + "shipmentStatus" + ], + "type": "object" }, - "type": "object" - }, - "InventoryDetailsVisibility": { - "description": "Enum to specify if returned summaries should include additional summarized inventory details and quantities.", - "enum": [ - "SHOW", - "HIDE" - ], - "type": "string", - "x-docgen-enum-table-extension": [ - { - "description": "Show the additional summarized inventory details.", - "value": "SHOW" - }, - { - "description": "Hide the additional summarized inventory details.", - "value": "HIDE" - } - ], - "example": "SHOW" - }, - "InventoryListing": { - "description": "AWD inventory payload.", - "properties": { - "inventory": { - "description": "List of inventory summaries.", - "items": { - "$ref": "#/definitions/InventorySummary" - }, - "type": "array" - }, - "nextToken": { - "description": "Token to retrieve the next set of paginated results.", - "type": "string", - "example": "SampleToken" - } + "InboundShipmentStatus": { + "description": "Possible shipment statuses used by shipments.", + "enum": [ + "CREATED", + "SHIPPED", + "IN_TRANSIT", + "RECEIVING", + "DELIVERED", + "CLOSED", + "CANCELLED" + ], + "type": "string", + "x-docgen-enum-table-extension": [ + { + "description": "Shipment is created but has not yet shipped.", + "value": "CREATED" + }, + { + "description": "Shipment was picked up by the carrier or was dropped off with the carrier.", + "value": "SHIPPED" + }, + { + "description": "The carrier has notified AWD that the shipment is in transit between origin and destination node.", + "value": "IN_TRANSIT" + }, + { + "description": "The shipment has been partially received.", + "value": "RECEIVING" + }, + { + "description": "The shipment has reached the destination node and has been delivered to the facility yard. The shipment receive process at the warehouse will start soon.", + "value": "DELIVERED" + }, + { + "description": "No more actions required on the shipment. This is a final state.", + "value": "CLOSED" + }, + { + "description": "Shipment has been cancelled. This is a final state.", + "value": "CANCELLED" + } + ] }, - "required": [ - "inventory" - ], - "type": "object" - }, - "InventoryQuantity": { - "description": "Quantity of inventory with an associated measurement unit context.", - "properties": { - "quantity": { - "description": "Quantity of the respective inventory.", - "type": "number" + "InboundShipmentSummary": { + "description": "Summary for an AWD inbound shipment containing the shipment ID, which can be used to retrieve the actual shipment.", + "properties": { + "createdAt": { + "description": "Timestamp when the shipment was created.", + "format": "date-time", + "type": "string" + }, + "externalReferenceId": { + "description": "Optional client-provided reference ID that can be used to correlate this shipment with client resources. For example, to map this shipment to an internal bookkeeping order record.", + "type": "string", + "example": "TestReferenceId" + }, + "orderId": { + "description": "The AWD inbound order ID that this inbound shipment belongs to.", + "minLength": 1, + "type": "string" + }, + "shipmentId": { + "description": "A unique shipment ID.", + "minLength": 1, + "type": "string" + }, + "shipmentStatus": { + "$ref": "#/definitions/InboundShipmentStatus" + }, + "updatedAt": { + "description": "Timestamp when the shipment was updated.", + "format": "date-time", + "type": "string" + } }, - "unitOfMeasurement": { - "description": "Unit of measurement for the inventory.", - "$ref": "#/definitions/InventoryUnitOfMeasurement" - } + "required": [ + "orderId", + "shipmentId", + "shipmentStatus" + ], + "type": "object" }, - "required": [ - "quantity", - "unitOfMeasurement" - ], - "type": "object" - }, - "InventorySummary": { - "description": "Summary of inventory per SKU.", - "properties": { - "inventoryDetails": { - "$ref": "#/definitions/InventoryDetails" - }, - "sku": { - "description": "The seller or merchant SKU.", - "type": "string" + "InventoryDetails": { + "description": "Additional inventory details. This object is only displayed if the details parameter in the request is set to `SHOW`.", + "properties": { + "availableDistributableQuantity": { + "description": "Quantity that is available for downstream channel replenishment.", + "format": "int64", + "type": "integer" + }, + "reservedDistributableQuantity": { + "description": "Quantity that is reserved for a downstream channel replenishment order that is being prepared for shipment.", + "format": "int64", + "type": "integer" + } }, - "totalOnhandQuantity": { - "description": "Total quantity that is present in AWD distribution centers.", - "format": "int64", - "type": "integer" - } + "type": "object" }, - "required": [ - "sku" - ], - "type": "object" - }, - "InventoryUnitOfMeasurement": { - "description": "Unit of measurement for the inventory.", - "enum": [ - "PRODUCT_UNITS", - "CASES", - "PALLETS" - ], - "type": "string", - "x-docgen-enum-table-extension": [ - { - "description": "Measures a discrete amount of product units.", - "value": "PRODUCT_UNITS" - }, - { - "description": "Measures a discrete amount of cases.", - "value": "CASES" - }, - { - "description": "Measures a discrete amount of pallets.", - "value": "PALLETS" - } - ] - }, - "MeasurementData": { - "description": "Package weight and dimension.", - "properties": { - "dimensions": { - "description": "Dimensions of the package. Dimensions are required when creating an inbound or outbound order.", - "$ref": "#/definitions/PackageDimensions" + "InventoryDetailsVisibility": { + "description": "Enum to specify if returned summaries should include additional summarized inventory details and quantities.", + "enum": [ + "SHOW", + "HIDE" + ], + "type": "string", + "x-docgen-enum-table-extension": [ + { + "description": "Show the additional summarized inventory details.", + "value": "SHOW" + }, + { + "description": "Hide the additional summarized inventory details.", + "value": "HIDE" + } + ], + "example": "SHOW" + }, + "InventoryListing": { + "description": "AWD inventory payload.", + "properties": { + "inventory": { + "description": "List of inventory summaries.", + "items": { + "$ref": "#/definitions/InventorySummary" + }, + "type": "array" + }, + "nextToken": { + "description": "Token to retrieve the next set of paginated results.", + "type": "string", + "example": "SampleToken" + } }, - "volume": { - "description": "Volume of the package.", - "$ref": "#/definitions/PackageVolume" + "required": [ + "inventory" + ], + "type": "object" + }, + "InventoryQuantity": { + "description": "Quantity of inventory with an associated measurement unit context.", + "properties": { + "quantity": { + "description": "Quantity of the respective inventory.", + "type": "number" + }, + "unitOfMeasurement": { + "description": "Unit of measurement for the inventory.", + "$ref": "#/definitions/InventoryUnitOfMeasurement" + } }, - "weight": { - "description": "Weight of the package.", - "$ref": "#/definitions/PackageWeight" - } + "required": [ + "quantity", + "unitOfMeasurement" + ], + "type": "object" }, - "required": [ - "weight" - ], - "type": "object" - }, - "PackageDimensions": { - "description": "Dimensions of the package.", - "properties": { - "height": { - "description": "Height of the package.", - "format": "double", - "type": "number" + "InventorySummary": { + "description": "Summary of inventory per SKU.", + "properties": { + "inventoryDetails": { + "$ref": "#/definitions/InventoryDetails" + }, + "sku": { + "description": "The seller or merchant SKU.", + "type": "string" + }, + "totalInboundQuantity": { + "description": "Total quantity that is in-transit from the seller and has not yet been received at an AWD Distribution Center", + "format": "int64", + "type": "integer" + }, + "totalOnhandQuantity": { + "description": "Total quantity that is present in AWD distribution centers.", + "format": "int64", + "type": "integer" + } }, - "length": { - "description": "Length of the package.", - "format": "double", - "type": "number" + "required": [ + "sku" + ], + "type": "object" + }, + "InventoryUnitOfMeasurement": { + "description": "Unit of measurement for the inventory.", + "enum": [ + "PRODUCT_UNITS", + "CASES", + "PALLETS" + ], + "type": "string", + "x-docgen-enum-table-extension": [ + { + "description": "Measures a discrete amount of product units.", + "value": "PRODUCT_UNITS" + }, + { + "description": "Measures a discrete amount of cases.", + "value": "CASES" + }, + { + "description": "Measures a discrete amount of pallets.", + "value": "PALLETS" + } + ] + }, + "MeasurementData": { + "description": "Package weight and dimension.", + "properties": { + "dimensions": { + "description": "Dimensions of the package. Dimensions are required when creating an inbound or outbound order.", + "$ref": "#/definitions/PackageDimensions" + }, + "volume": { + "description": "Volume of the package.", + "$ref": "#/definitions/PackageVolume" + }, + "weight": { + "description": "Weight of the package.", + "$ref": "#/definitions/PackageWeight" + } }, - "unitOfMeasurement": { - "description": "Unit of measurement for package dimensions.", - "$ref": "#/definitions/DimensionUnitOfMeasurement" + "required": [ + "weight" + ], + "type": "object" + }, + "PackageDimensions": { + "description": "Dimensions of the package.", + "properties": { + "height": { + "description": "Height of the package.", + "format": "double", + "type": "number" + }, + "length": { + "description": "Length of the package.", + "format": "double", + "type": "number" + }, + "unitOfMeasurement": { + "description": "Unit of measurement for package dimensions.", + "$ref": "#/definitions/DimensionUnitOfMeasurement" + }, + "width": { + "description": "Width of the package.", + "format": "double", + "type": "number" + } }, - "width": { - "description": "Width of the package.", - "format": "double", - "type": "number" - } + "required": [ + "height", + "length", + "unitOfMeasurement", + "width" + ], + "type": "object" }, - "required": [ - "height", - "length", - "unitOfMeasurement", - "width" - ], - "type": "object" - }, - "PackageVolume": { - "description": "Represents the volume of the package with a unit of measurement.", - "properties": { - "unitOfMeasurement": { - "description": "Unit of measurement for the package volume.", - "$ref": "#/definitions/VolumeUnitOfMeasurement" + "PackageVolume": { + "description": "Represents the volume of the package with a unit of measurement.", + "properties": { + "unitOfMeasurement": { + "description": "Unit of measurement for the package volume.", + "$ref": "#/definitions/VolumeUnitOfMeasurement" + }, + "volume": { + "description": "The package volume value.", + "format": "double", + "type": "number" + } }, - "volume": { - "description": "The package volume value.", - "format": "double", - "type": "number" - } + "required": [ + "unitOfMeasurement", + "volume" + ], + "type": "object" }, - "required": [ - "unitOfMeasurement", - "volume" - ], - "type": "object" - }, - "PackageWeight": { - "description": "Represents the weight of the package with a unit of measurement.", - "properties": { - "unitOfMeasurement": { - "description": "Unit of measurement for the package weight.", - "$ref": "#/definitions/WeightUnitOfMeasurement" + "PackageWeight": { + "description": "Represents the weight of the package with a unit of measurement.", + "properties": { + "unitOfMeasurement": { + "description": "Unit of measurement for the package weight.", + "$ref": "#/definitions/WeightUnitOfMeasurement" + }, + "weight": { + "description": "The package weight value.", + "format": "double", + "type": "number" + } }, - "weight": { - "description": "The package weight value.", - "format": "double", - "type": "number" - } + "required": [ + "unitOfMeasurement", + "weight" + ], + "type": "object" }, - "required": [ - "unitOfMeasurement", - "weight" - ], - "type": "object" - }, - "ProductAttribute": { - "description": "Product instance attribute that is not described at the SKU level in the catalog.", - "properties": { - "name": { - "description": "Product attribute name.", - "type": "string", - "example": "TestAttribute" + "ProductAttribute": { + "description": "Product instance attribute that is not described at the SKU level in the catalog.", + "properties": { + "name": { + "description": "Product attribute name.", + "type": "string", + "example": "TestAttribute" + }, + "value": { + "description": "Product attribute value.", + "type": "string", + "example": "TestAttributeValue" + } }, - "value": { - "description": "Product attribute value.", - "type": "string", - "example": "TestAttributeValue" + "type": "object", + "example": { + "name": "TestAttribute", + "value": "TestAttributeValue" } }, - "type": "object", - "example": { - "name": "TestAttribute", - "value": "TestAttributeValue" - } - }, - "ProductQuantity": { - "description": "Represents a product with the SKU details and the corresponding quantity.", - "properties": { - "attributes": { - "description": "Attributes for this instance of the product. For example, already-prepped, or other attributes that distinguish the product beyond the SKU.", - "items": { - "$ref": "#/definitions/ProductAttribute" - }, - "type": "array", - "example": { - "name": "TestAttribute", - "value": "TestAttributeValue" + "ProductQuantity": { + "description": "Represents a product with the SKU details and the corresponding quantity.", + "properties": { + "attributes": { + "description": "Attributes for this instance of the product. For example, already-prepped, or other attributes that distinguish the product beyond the SKU.", + "items": { + "$ref": "#/definitions/ProductAttribute" + }, + "type": "array" + }, + "quantity": { + "description": "Product quantity.", + "format": "int32", + "type": "integer" + }, + "sku": { + "description": "The seller or merchant SKU.", + "type": "string" } }, - "quantity": { - "description": "Product quantity.", - "format": "int32", - "type": "integer" - }, - "sku": { - "description": "The seller or merchant SKU.", - "type": "string" - } + "required": [ + "quantity", + "sku" + ], + "type": "object" }, - "required": [ - "quantity", - "sku" - ], - "type": "object" - }, - "ShipmentListing": { - "description": "A list of inbound shipment summaries filtered by the attributes specified in the request.", - "properties": { - "nextToken": { - "description": "Token to retrieve the next set of paginated results.", - "type": "string", - "example": "SampleToken" + "ShipmentListing": { + "description": "A list of inbound shipment summaries filtered by the attributes specified in the request.", + "properties": { + "nextToken": { + "description": "Token to retrieve the next set of paginated results.", + "type": "string", + "example": "SampleToken" + }, + "shipments": { + "description": "List of inbound shipment summaries.", + "items": { + "$ref": "#/definitions/InboundShipmentSummary" + }, + "type": "array" + } }, - "shipments": { - "description": "List of inbound shipment summaries.", - "items": { - "$ref": "#/definitions/InboundShipmentSummary" + "type": "object" + }, + "ShipmentSortableField": { + "description": "Denotes the field name on which the shipments are to be sorted.", + "enum": [ + "UPDATED_AT", + "CREATED_AT" + ], + "type": "string", + "x-docgen-enum-table-extension": [ + { + "description": "Sort by updated at timestamp.", + "value": "UPDATED_AT" }, - "type": "array" - } + { + "description": "Sort by created at timestamp.", + "value": "CREATED_AT" + } + ], + "example": "CREATED_AT" }, - "type": "object" - }, - "ShipmentSortableField": { - "description": "Denotes the field name on which the shipments are to be sorted.", - "enum": [ - "UPDATED_AT", - "CREATED_AT" - ], - "type": "string", - "x-docgen-enum-table-extension": [ - { - "description": "Sort by updated at timestamp.", - "value": "UPDATED_AT" - }, - { - "description": "Sort by created at timestamp.", - "value": "CREATED_AT" - } - ], - "example": "CREATED_AT" - }, - "SortOrder": { - "description": "Sort order for a collection of items. For example, order or shipment.", - "enum": [ - "ASCENDING", - "DESCENDING" - ], - "type": "string", - "x-docgen-enum-table-extension": [ - { - "description": "Sorts the collection in ascending order.", - "value": "ASCENDING" - }, - { - "description": "Sorts the collection in descending order.", - "value": "DESCENDING" - } - ], - "example": "ASCENDING" - }, - "VolumeUnitOfMeasurement": { - "description": "Unit of measurement for the package volume.", - "enum": [ - "CU_IN", - "CBM", - "CC" - ], - "type": "string", - "x-docgen-enum-table-extension": [ - { - "description": "Denotes volume measurement in cubic inches.", - "value": "CU_IN" - }, - { - "description": "Denotes volume measurement in cubic meters.", - "value": "CBM" - }, - { - "description": "Denotes volume measurement in cubic centimeters.", - "value": "CC" - } - ] - }, - "WeightUnitOfMeasurement": { - "description": "Unit of measurement for the package weight.", - "enum": [ - "POUNDS", - "KILOGRAMS" - ], - "type": "string", - "x-docgen-enum-table-extension": [ - { - "description": "Denotes weight measurement in pounds.", - "value": "POUNDS" + "SkuQuantitiesVisibility": { + "description": "Enum to specify if returned shipment should include SKU quantity details", + "enum": [ + "SHOW", + "HIDE" + ], + "type": "string", + "example": "SHOW", + "x-docgen-enum-table-extension": [ + { + "description": "Show the additional SKU quantity details", + "value": "SHOW" + }, + { + "description": "Hide the additional SKU quantity details", + "value": "HIDE" + } + ] + }, + "SkuQuantity": { + "description": "Quantity details for a SKU as part of a shipment", + "properties": { + "expectedQuantity": { + "$ref": "#/definitions/InventoryQuantity" + }, + "receivedQuantity": { + "$ref": "#/definitions/InventoryQuantity" + }, + "sku": { + "description": "The merchant stock keeping unit", + "type": "string" + } }, - { - "description": "Denotes weight measurement in kilograms.", - "value": "KILOGRAMS" - } - ] + "required": [ + "expectedQuantity", + "sku" + ], + "type": "object" + }, + "SortOrder": { + "description": "Sort order for a collection of items. For example, order or shipment.", + "enum": [ + "ASCENDING", + "DESCENDING" + ], + "type": "string", + "x-docgen-enum-table-extension": [ + { + "description": "Sorts the collection in ascending order.", + "value": "ASCENDING" + }, + { + "description": "Sorts the collection in descending order.", + "value": "DESCENDING" + } + ], + "example": "ASCENDING" + }, + "VolumeUnitOfMeasurement": { + "description": "Unit of measurement for the package volume.", + "enum": [ + "CU_IN", + "CBM", + "CC" + ], + "type": "string", + "x-docgen-enum-table-extension": [ + { + "description": "Denotes volume measurement in cubic inches.", + "value": "CU_IN" + }, + { + "description": "Denotes volume measurement in cubic meters.", + "value": "CBM" + }, + { + "description": "Denotes volume measurement in cubic centimeters.", + "value": "CC" + } + ] + }, + "WeightUnitOfMeasurement": { + "description": "Unit of measurement for the package weight.", + "enum": [ + "POUNDS", + "KILOGRAMS" + ], + "type": "string", + "x-docgen-enum-table-extension": [ + { + "description": "Denotes weight measurement in pounds.", + "value": "POUNDS" + }, + { + "description": "Denotes weight measurement in kilograms.", + "value": "KILOGRAMS" + } + ] + } } - } -} + } \ No newline at end of file From 8fd558be4763d8d3f6ea220c5ff044558a04135f Mon Sep 17 00:00:00 2001 From: Gibran Waldron Date: Thu, 22 Aug 2024 11:25:27 -0700 Subject: [PATCH 277/340] Add rate limit difference note to the Feeds API. --- models/feeds-api-model/feeds_2021-06-30.json | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/models/feeds-api-model/feeds_2021-06-30.json b/models/feeds-api-model/feeds_2021-06-30.json index 87f2c67c2..0af7da0ad 100644 --- a/models/feeds-api-model/feeds_2021-06-30.json +++ b/models/feeds-api-model/feeds_2021-06-30.json @@ -29,7 +29,7 @@ "tags": [ "feeds" ], - "description": "Returns feed details for the feeds that match the filters that you specify.\n\n**Usage Plan:**\n\n| Rate (requests per second) | Burst |\n| ---- | ---- |\n| 0.0222 | 10 |\n\nThe `x-amzn-RateLimit-Limit` response header returns the usage plan rate limits that were applied to the requested operation, when available. The table above indicates the default rate and burst values for this operation. Selling partners whose business demands require higher throughput may see higher rate and burst values than those shown here. For more information, see [Usage Plans and Rate Limits in the Selling Partner API](https://developer-docs.amazon.com/sp-api/docs/usage-plans-and-rate-limits-in-the-sp-api).", + "description": "Returns feed details for the feeds that match the filters that you specify.\n\n**Usage Plan:**\n\n| Rate (requests per second) | Burst |\n| ---- | ---- |\n| 0.0222 | 10 |\n\nThe `x-amzn-RateLimit-Limit` response header returns the usage plan rate limits that were applied to the requested operation, when available. The preceding table indicates the default rate and burst values for this operation. Selling partners whose business demands require higher throughput may have higher rate and burst values than those shown here. For more information, refer to [Usage Plans and Rate Limits in the Selling Partner API](https://developer-docs.amazon.com/sp-api/docs/usage-plans-and-rate-limits-in-the-sp-api).", "operationId": "getFeeds", "parameters": [ { @@ -324,7 +324,7 @@ "tags": [ "feeds" ], - "description": "Creates a feed. Upload the contents of the feed document before calling this operation.\n\n**Usage Plan:**\n\n| Rate (requests per second) | Burst |\n| ---- | ---- |\n| 0.0083 | 15 |\n\nThe `x-amzn-RateLimit-Limit` response header returns the usage plan rate limits that were applied to the requested operation, when available. The table above indicates the default rate and burst values for this operation. Selling partners whose business demands require higher throughput may see higher rate and burst values than those shown here. For more information, see [Usage Plans and Rate Limits in the Selling Partner API](https://developer-docs.amazon.com/sp-api/docs/usage-plans-and-rate-limits-in-the-sp-api).", + "description": "Creates a feed. Upload the contents of the feed document before calling this operation.\n\n**Usage Plan:**\n\n| Rate (requests per second) | Burst |\n| ---- | ---- |\n| 0.0083 | 15 |\n\nThe `x-amzn-RateLimit-Limit` response header returns the usage plan rate limits that were applied to the requested operation, when available. The preceding table indicates the default rate and burst values for this operation. Selling partners whose business demands require higher throughput may have higher rate and burst values than those shown here. For more information, refer to [Usage Plans and Rate Limits in the Selling Partner API](https://developer-docs.amazon.com/sp-api/docs/usage-plans-and-rate-limits-in-the-sp-api).\n\nThe rate limit for the [`JSON_LISTINGS_FEED`](https://developer-docs.amazon.com/sp-api/docs/listings-feed-type-values#listings-feed) feed type differs from the rate limit for the [`createFeed`](https://developer-docs.amazon.com/sp-api/docs/feeds-api-v2021-06-30-reference#post-feeds2021-06-30feeds) operation. For more information, refer to the [Building Listings Management Workflows Guide](https://developer-docs.amazon.com/sp-api/docs/building-listings-management-workflows-guide#should-i-submit-in-bulk-using-the-json_listings_feed-or-individually-with-the-listings-items-api).", "operationId": "createFeed", "parameters": [ { @@ -518,7 +518,7 @@ "tags": [ "feeds" ], - "description": "Cancels the feed that you specify. Only feeds with processingStatus=IN_QUEUE can be cancelled. Cancelled feeds are returned in subsequent calls to the getFeed and getFeeds operations.\n\n**Usage Plan:**\n\n| Rate (requests per second) | Burst |\n| ---- | ---- |\n| 2 | 15 |\n\nThe `x-amzn-RateLimit-Limit` response header returns the usage plan rate limits that were applied to the requested operation, when available. The table above indicates the default rate and burst values for this operation. Selling partners whose business demands require higher throughput may see higher rate and burst values than those shown here. For more information, see [Usage Plans and Rate Limits in the Selling Partner API](https://developer-docs.amazon.com/sp-api/docs/usage-plans-and-rate-limits-in-the-sp-api).", + "description": "Cancels the feed that you specify. Only feeds with `processingStatus=IN_QUEUE` can be cancelled. Cancelled feeds are returned in subsequent calls to the [`getFeed`](https://developer-docs.amazon.com/sp-api/docs/feeds-api-v2021-06-30-reference#getfeed) and [`getFeeds`](https://developer-docs.amazon.com/sp-api/docs/feeds-api-v2021-06-30-reference#getfeeds) operations.\n\n**Usage Plan:**\n\n| Rate (requests per second) | Burst |\n| ---- | ---- |\n| 2 | 15 |\n\nThe `x-amzn-RateLimit-Limit` response header returns the usage plan rate limits that were applied to the requested operation, when available. The preceding table indicates the default rate and burst values for this operation. Selling partners whose business demands require higher throughput may have higher rate and burst values than those shown here. For more information, refer to [Usage Plans and Rate Limits in the Selling Partner API](https://developer-docs.amazon.com/sp-api/docs/usage-plans-and-rate-limits-in-the-sp-api).", "operationId": "cancelFeed", "parameters": [ { @@ -688,7 +688,7 @@ "tags": [ "feeds" ], - "description": "Returns feed details (including the resultDocumentId, if available) for the feed that you specify.\n\n**Usage Plan:**\n\n| Rate (requests per second) | Burst |\n| ---- | ---- |\n| 2 | 15 |\n\nThe `x-amzn-RateLimit-Limit` response header returns the usage plan rate limits that were applied to the requested operation, when available. The table above indicates the default rate and burst values for this operation. Selling partners whose business demands require higher throughput may see higher rate and burst values than those shown here. For more information, see [Usage Plans and Rate Limits in the Selling Partner API](https://developer-docs.amazon.com/sp-api/docs/usage-plans-and-rate-limits-in-the-sp-api).", + "description": "Returns feed details (including the `resultDocumentId`, if available) for the feed that you specify.\n\n**Usage Plan:**\n\n| Rate (requests per second) | Burst |\n| ---- | ---- |\n| 2 | 15 |\n\nThe `x-amzn-RateLimit-Limit` response header returns the usage plan rate limits that were applied to the requested operation, when available. The preceding table indicates the default rate and burst values for this operation. Selling partners whose business demands require higher throughput may have higher rate and burst values than those shown here. For more information, refer to [Usage Plans and Rate Limits in the Selling Partner API](https://developer-docs.amazon.com/sp-api/docs/usage-plans-and-rate-limits-in-the-sp-api).", "operationId": "getFeed", "parameters": [ { @@ -869,7 +869,7 @@ }, "/feeds/2021-06-30/documents": { "post": { - "description": "Creates a feed document for the feed type that you specify. This operation returns a presigned URL for uploading the feed document contents. It also returns a feedDocumentId value that you can pass in with a subsequent call to the createFeed operation.\n\n**Usage Plan:**\n\n| Rate (requests per second) | Burst |\n| ---- | ---- |\n| 0.5 | 15 |\n\nThe `x-amzn-RateLimit-Limit` response header returns the usage plan rate limits that were applied to the requested operation, when available. The table above indicates the default rate and burst values for this operation. Selling partners whose business demands require higher throughput may see higher rate and burst values than those shown here. For more information, see [Usage Plans and Rate Limits in the Selling Partner API](https://developer-docs.amazon.com/sp-api/docs/usage-plans-and-rate-limits-in-the-sp-api).", + "description": "Creates a feed document for the feed type that you specify. This operation returns a presigned URL for uploading the feed document contents. It also returns a `feedDocumentId` value that you can pass in with a subsequent call to the [`createFeed`](https://developer-docs.amazon.com/sp-api/docs/feeds-api-v2021-06-30-reference#createfeed) operation.\n\n**Usage Plan:**\n\n| Rate (requests per second) | Burst |\n| ---- | ---- |\n| 0.5 | 15 |\n\nThe `x-amzn-RateLimit-Limit` response header returns the usage plan rate limits that were applied to the requested operation, when available. The preceding table indicates the default rate and burst values for this operation. Selling partners whose business demands require higher throughput may have higher rate and burst values than those shown here. For more information, refer to [Usage Plans and Rate Limits in the Selling Partner API](https://developer-docs.amazon.com/sp-api/docs/usage-plans-and-rate-limits-in-the-sp-api).", "operationId": "createFeedDocument", "tags": [ "feeds" @@ -1056,7 +1056,7 @@ "tags": [ "feeds" ], - "description": "Returns the information required for retrieving a feed document's contents.\n\n**Usage Plan:**\n\n| Rate (requests per second) | Burst |\n| ---- | ---- |\n| 0.0222 | 10 |\n\nThe `x-amzn-RateLimit-Limit` response header returns the usage plan rate limits that were applied to the requested operation, when available. The table above indicates the default rate and burst values for this operation. Selling partners whose business demands require higher throughput may see higher rate and burst values than those shown here. For more information, see [Usage Plans and Rate Limits in the Selling Partner API](https://developer-docs.amazon.com/sp-api/docs/usage-plans-and-rate-limits-in-the-sp-api).", + "description": "Returns the information required for retrieving a feed document's contents.\n\n**Usage Plan:**\n\n| Rate (requests per second) | Burst |\n| ---- | ---- |\n| 0.0222 | 10 |\n\nThe `x-amzn-RateLimit-Limit` response header returns the usage plan rate limits that were applied to the requested operation, when available. The preceding table indicates the default rate and burst values for this operation. Selling partners whose business demands require higher throughput may have higher rate and burst values than those shown here. For more information, refer to [Usage Plans and Rate Limits in the Selling Partner API](https://developer-docs.amazon.com/sp-api/docs/usage-plans-and-rate-limits-in-the-sp-api).", "operationId": "getFeedDocument", "parameters": [ { From 16f16a58398a4cbc2355eaab6c89f455be6a62e5 Mon Sep 17 00:00:00 2001 From: Jack Evoniuk Date: Mon, 26 Aug 2024 10:08:07 -0700 Subject: [PATCH 278/340] Update rate limits in Catalog Items --- models/catalog-items-api-model/catalogItems_2022-04-01.json | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/models/catalog-items-api-model/catalogItems_2022-04-01.json b/models/catalog-items-api-model/catalogItems_2022-04-01.json index 1047cb99e..a73e07d33 100644 --- a/models/catalog-items-api-model/catalogItems_2022-04-01.json +++ b/models/catalog-items-api-model/catalogItems_2022-04-01.json @@ -29,7 +29,7 @@ "tags": [ "catalog" ], - "description": "Search for and return a list of Amazon catalog items and associated information either by identifier or by keywords.\n\n**Usage Plans:**\n\n| Rate (requests per second) | Burst |\n| ---- | ---- |\n| 5 | 5 |\n\nThe `x-amzn-RateLimit-Limit` response header returns the usage plan rate limits that were applied to the requested operation, when available. The table above indicates the default rate and burst values for this operation. Selling partners whose business demands require higher throughput may observe higher rate and burst values than those shown here. For more information, refer to the [Usage Plans and Rate Limits in the Selling Partner API](doc:usage-plans-and-rate-limits-in-the-sp-api).", + "description": "Search for and return a list of Amazon catalog items and associated information either by identifier or by keywords.\n\n**Usage Plans:**\n\n| Rate (requests per second) | Burst |\n| ---- | ---- |\n| 2 | 2 |\n\nThe `x-amzn-RateLimit-Limit` response header returns the usage plan rate limits that were applied to the requested operation, when available. The table above indicates the default rate and burst values for this operation. Selling partners whose business demands require higher throughput may observe higher rate and burst values than those shown here. For more information, refer to the [Usage Plans and Rate Limits in the Selling Partner API](doc:usage-plans-and-rate-limits-in-the-sp-api).", "operationId": "searchCatalogItems", "consumes": [ "application/json" @@ -1668,7 +1668,7 @@ "tags": [ "catalog" ], - "description": "Retrieves details for an item in the Amazon catalog.\n\n**Usage Plan:**\n\n| Rate (requests per second) | Burst |\n| ---- | ---- |\n| 5 | 5 |\n\nThe `x-amzn-RateLimit-Limit` response header returns the usage plan rate limits that were applied to the requested operation, when available. The table above indicates the default rate and burst values for this operation. Selling partners whose business demands require higher throughput may observe higher rate and burst values than those shown here. For more information, refer to the [Usage Plans and Rate Limits in the Selling Partner API](doc:usage-plans-and-rate-limits-in-the-sp-api).", + "description": "Retrieves details for an item in the Amazon catalog.\n\n**Usage Plan:**\n\n| Rate (requests per second) | Burst |\n| ---- | ---- |\n| 2 | 2 |\n\nThe `x-amzn-RateLimit-Limit` response header returns the usage plan rate limits that were applied to the requested operation, when available. The table above indicates the default rate and burst values for this operation. Selling partners whose business demands require higher throughput may observe higher rate and burst values than those shown here. For more information, refer to the [Usage Plans and Rate Limits in the Selling Partner API](doc:usage-plans-and-rate-limits-in-the-sp-api).", "operationId": "getCatalogItem", "consumes": [ "application/json" From cf0d88b4b14c2ff0affd382f603f0e3b49751e9f Mon Sep 17 00:00:00 2001 From: Marc Marschall <20718963+worksasintended@users.noreply.github.com> Date: Tue, 30 Jul 2024 17:00:27 +0200 Subject: [PATCH 279/340] change mvn package org.projectlombok.lombok from version 1.18.08 to 1.18.34 --- clients/sellingpartner-api-aa-java/pom.xml | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/clients/sellingpartner-api-aa-java/pom.xml b/clients/sellingpartner-api-aa-java/pom.xml index 782a6356c..333502560 100644 --- a/clients/sellingpartner-api-aa-java/pom.xml +++ b/clients/sellingpartner-api-aa-java/pom.xml @@ -53,9 +53,10 @@ org.projectlombok lombok - 1.18.8 + 1.18.34 provided + com.google.code.gson From 82e188fff820faee6e50c09f57721e21daf2d2d4 Mon Sep 17 00:00:00 2001 From: Marc Marschall Date: Tue, 30 Jul 2024 17:10:04 +0200 Subject: [PATCH 280/340] Update pom.xml --- clients/sellingpartner-api-aa-java/pom.xml | 1 - 1 file changed, 1 deletion(-) diff --git a/clients/sellingpartner-api-aa-java/pom.xml b/clients/sellingpartner-api-aa-java/pom.xml index 333502560..bd13e7b5f 100644 --- a/clients/sellingpartner-api-aa-java/pom.xml +++ b/clients/sellingpartner-api-aa-java/pom.xml @@ -83,7 +83,6 @@ 5.3.2 test - org.junit.jupiter From 9853b82fffde413d28a184937086747a39500262 Mon Sep 17 00:00:00 2001 From: Marc Marschall Date: Tue, 30 Jul 2024 17:11:05 +0200 Subject: [PATCH 281/340] Update pom.xml --- clients/sellingpartner-api-aa-java/pom.xml | 1 - 1 file changed, 1 deletion(-) diff --git a/clients/sellingpartner-api-aa-java/pom.xml b/clients/sellingpartner-api-aa-java/pom.xml index bd13e7b5f..1f6366119 100644 --- a/clients/sellingpartner-api-aa-java/pom.xml +++ b/clients/sellingpartner-api-aa-java/pom.xml @@ -56,7 +56,6 @@ 1.18.34 provided - com.google.code.gson From f6603a5fd6988893ae4d430db783b7c652d666bf Mon Sep 17 00:00:00 2001 From: ruby4406 Date: Tue, 20 Aug 2024 03:33:42 +0530 Subject: [PATCH 282/340] Merge remote-tracking branch 'origin/SPAPIDoc-2419-listingsitemsissueschange-schema' into pr/4068 --- .DS_Store | Bin 0 -> 8196 bytes .../fbaSmallandLight.json | 2271 +++++++++++++++++ 2 files changed, 2271 insertions(+) create mode 100644 .DS_Store create mode 100644 models/fba-small-and-light-api-model/fbaSmallandLight.json diff --git a/.DS_Store b/.DS_Store new file mode 100644 index 0000000000000000000000000000000000000000..52e8b63df488a9c1c6351c4382e4a169552bc92e GIT binary patch literal 8196 zcmeHMU2GIp6u#fIlo>kEDJ)P&$}UtTLV=c_0s^}IL(6Z|ZD}dUc6Vol39~b0XLgHL zwCa;l;$JkzsEJQXR33~PMWYV}MIU@n{J|I>j2dJ7OEfRH)-0$4GXO=OBj-t`ZSOa5Bri)Xpmb!~HKF+TxO$sH|L_zwD+04t1d81j|%}$ve z38Dx@5r`rXMIeem6oLOj1nA7>O`hi57o$-hMIeg6Wf=j!KP2elG#SzfL4&P>x}XFg z%1eNt(LL1xfleZ%$&gM68mN*@Q9U43MOb1$sMC0YPbZoT>4cy{ok6HGgil6Tp&)oV z=_P{c3`s$wK8ipTfvFMT=~Kh<%w+~ME9&>t*-_i_{FataAyrk+sF^9xlxyXiQ-|HL zl%Mg7UPq>|pL6}LYiG;%ne1N697}7lPS^1>mSYwI1dU2|f?#Q zS2%W}(kt65b&9VNRqM-MeNpyGnN_RK*82zc4i2elZElHPf6u6IxsJEjEOT?-8SF|&}*>2k@>o${QbzZLE+IFw&S=`LNA>Taa^RX#I zL&Kh1@H+!zLl)T=v$UdT_L*eVDw$nm+KW{<2<6nAg^QM4y?ph$OqEt? zb+l;tw`xtYENm^-6N>hVe88aR?{W>UX#^wsV*M&v-p}Qo1(SLqR+s75Dq2SF_sCIU zqFG&~Xr9u4gce<>wyJAo%}@sHOxCo8s7>7{Yde&|l8Chs#?&pcGL&=kd3tG2$ZpWv zW$mndkUw~5#`E`#nojwZZqU1BdDuIgDVTf42y$hO9$5|+kK|mX+pv7M5O}>~v99mq zrrHg|G(xBKUcFD&J|Z2>a!M9~oR&{uU2aNl7mLu8Tpr$(7bS>gQ?f;uyJ;RJv>UwqF3Cz-t+ze}{g6_DMMspgllDB~mHT zu3Xfp#s?@J%wv@aT25STCQncK9G|^psT$X2P{IiInq|b+P_hViMRPo^NtC04ZE20G zS`}rW66mgPCKe&H={i-_swo%6*!7LXvXJTMBr`m-9Zm2v6WiJQX1PB%a3$ zcoDDSHN1|~cn4?j9?s%@e1MPfCBDTE_^krTyCx$UzgHr;lqxv3>l`9^8U2%0E?KTh zc-Fw{|L*C(|6j8HM~+1ih$2ASUUgThtAipj-TudG?F3yTbn(XLO$ZvOP#2WrM1yji m=!HKF={`YIxlS^q6M~Y2+Q0rGV7edF(fJ>p{{bQ|kM1wypjK4? literal 0 HcmV?d00001 diff --git a/models/fba-small-and-light-api-model/fbaSmallandLight.json b/models/fba-small-and-light-api-model/fbaSmallandLight.json new file mode 100644 index 000000000..b5e5aac98 --- /dev/null +++ b/models/fba-small-and-light-api-model/fbaSmallandLight.json @@ -0,0 +1,2271 @@ +{ + "swagger": "2.0", + "info": { + "description": "The Selling Partner API for FBA Small and Light lets you help sellers manage their listings in the Small and Light program. The program reduces the cost of fulfilling orders for small and lightweight FBA inventory. You can enroll or remove items from the program and check item eligibility and enrollment status. You can also preview the estimated program fees charged to a seller for items sold while enrolled in the program. \n\n**Note:** The FBA Small and Light program sunset in the US and EU regions on **September 26, 2023**. The program will be deprecated in the JP region on **March 31, 2024** and sunset on **April 1, 2024**. APIs announcing deprecation will no longer be supported after their deprecation date. Calls to deprecated APIs will fail beginning on their sunset date. For more information, refer to [FBA Small and Light program deprecation](https://developer-docs.amazon.com/sp-api/changelog/fba-small-and-light-program-deprecation).", + "version": "v1", + "title": "Selling Partner API for FBA Small And Light", + "contact": { + "name": "Selling Partner API Developer Support", + "url": "https://sellercentral.amazon.com/gp/mws/contactus.html" + }, + "license": { + "name": "Apache License 2.0", + "url": "http://www.apache.org/licenses/LICENSE-2.0" + } + }, + "host": "sellingpartnerapi-na.amazon.com", + "schemes": [ + "https" + ], + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "paths": { + "/fba/smallAndLight/v1/enrollments/{sellerSKU}": { + "get": { + "tags": [ + "smallAndLight" + ], + "description": "Returns the Small and Light enrollment status for the item indicated by the specified seller SKU in the specified marketplace.\n\n**Usage Plan:**\n\n| Rate (requests per second) | Burst |\n| ---- | ---- |\n| 2 | 10 |\n\nThe `x-amzn-RateLimit-Limit` response header returns the usage plan rate limits that were applied to the requested operation, when available. The table above indicates the default rate and burst values for this operation. Selling partners whose business demands require higher throughput may see higher rate and burst values than those shown here. For more information, see [Usage Plans and Rate Limits in the Selling Partner API](https://developer-docs.amazon.com/sp-api/docs/usage-plans-and-rate-limits-in-the-sp-api).", + "operationId": "getSmallAndLightEnrollmentBySellerSKU", + "deprecated": true, + "parameters": [ + { + "name": "sellerSKU", + "in": "path", + "description": "The seller SKU that identifies the item.", + "required": true, + "type": "string" + }, + { + "name": "marketplaceIds", + "in": "query", + "description": "The marketplace for which the enrollment status is retrieved. Note: Accepts a single marketplace only.", + "required": true, + "type": "array", + "items": { + "type": "string" + }, + "maxItems": 1 + } + ], + "responses": { + "200": { + "description": "Success.", + "schema": { + "$ref": "#/definitions/SmallAndLightEnrollment" + }, + "headers": { + "x-amzn-RateLimit-Limit": { + "type": "string", + "description": "Your rate limit (requests per second) for this operation." + }, + "x-amzn-RequestId": { + "type": "string", + "description": "Unique request reference identifier." + } + }, + "x-amzn-api-sandbox": { + "static": [ + { + "request": { + "parameters": { + "sellerSKU": { + "value": "SKU_ENROLLED_IN_SMALL_AND_LIGHT" + }, + "marketplaceIds": { + "value": [ + "ATVPDKIKX0DER" + ] + } + } + }, + "response": { + "marketplaceId": "ATVPDKIKX0DER", + "sellerSKU": "SKU_ENROLLED_IN_SMALL_AND_LIGHT", + "status": "ENROLLED" + } + } + ] + } + }, + "400": { + "description": "Request has missing or invalid parameters and cannot be parsed.", + "schema": { + "$ref": "#/definitions/ErrorList" + }, + "headers": { + "x-amzn-RateLimit-Limit": { + "type": "string", + "description": "Your rate limit (requests per second) for this operation." + }, + "x-amzn-RequestId": { + "type": "string", + "description": "Unique request reference identifier." + } + }, + "x-amzn-api-sandbox": { + "static": [ + { + "request": { + "parameters": { + "sellerSKU": { + "value": "SKU_400" + }, + "marketplaceIds": { + "value": [ + "ATVPDKIKX0DER" + ] + } + } + }, + "response": { + "errors": [ + { + "code": "InvalidInput", + "message": "Invalid input." + } + ] + } + } + ] + } + }, + "403": { + "description": "Indicates that access to the resource is forbidden. Possible reasons include Access Denied, Unauthorized, Expired Token, or Invalid Signature.", + "schema": { + "$ref": "#/definitions/ErrorList" + }, + "headers": { + "x-amzn-RequestId": { + "type": "string", + "description": "Unique request reference identifier." + } + }, + "x-amzn-api-sandbox": { + "static": [ + { + "request": { + "parameters": { + "sellerSKU": { + "value": "SKU_403" + }, + "marketplaceIds": { + "value": [ + "ATVPDKIKX0DER" + ] + } + } + }, + "response": { + "errors": [ + { + "code": "Unauthorized", + "message": "Access to requested resource is denied." + } + ] + } + } + ] + } + }, + "404": { + "description": "The resource specified does not exist.", + "schema": { + "$ref": "#/definitions/ErrorList" + }, + "headers": { + "x-amzn-RateLimit-Limit": { + "type": "string", + "description": "Your rate limit (requests per second) for this operation." + }, + "x-amzn-RequestId": { + "type": "string", + "description": "Unique request reference identifier." + } + }, + "x-amzn-api-sandbox": { + "static": [ + { + "request": { + "parameters": { + "sellerSKU": { + "value": "SKU_404" + }, + "marketplaceIds": { + "value": [ + "ATVPDKIKX0DER" + ] + } + } + }, + "response": { + "errors": [ + { + "code": "NotFound", + "message": "Requested resource is not found" + } + ] + } + } + ] + } + }, + "413": { + "description": "The request size exceeded the maximum accepted size.", + "schema": { + "$ref": "#/definitions/ErrorList" + }, + "headers": { + "x-amzn-RateLimit-Limit": { + "type": "string", + "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." + }, + "x-amzn-RequestId": { + "type": "string", + "description": "Unique request reference identifier." + } + }, + "x-amzn-api-sandbox": { + "static": [ + { + "request": { + "parameters": { + "sellerSKU": { + "value": "SKU_413" + }, + "marketplaceIds": { + "value": [ + "ATVPDKIKX0DER" + ] + } + } + }, + "response": { + "errors": [ + { + "code": "PayloadTooLarge", + "message": "Payload of the request is too large." + } + ] + } + } + ] + } + }, + "415": { + "description": "The request payload is in an unsupported format.", + "schema": { + "$ref": "#/definitions/ErrorList" + }, + "headers": { + "x-amzn-RateLimit-Limit": { + "type": "string", + "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." + }, + "x-amzn-RequestId": { + "type": "string", + "description": "Unique request reference identifier." + } + }, + "x-amzn-api-sandbox": { + "static": [ + { + "request": { + "parameters": { + "sellerSKU": { + "value": "SKU_415" + }, + "marketplaceIds": { + "value": [ + "ATVPDKIKX0DER" + ] + } + } + }, + "response": { + "errors": [ + { + "code": "UnsupportedType", + "message": "The entity of the request is of unsupported type." + } + ] + } + } + ] + } + }, + "429": { + "description": "The frequency of requests was greater than allowed.", + "schema": { + "$ref": "#/definitions/ErrorList" + }, + "headers": { + "x-amzn-RateLimit-Limit": { + "type": "string", + "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." + }, + "x-amzn-RequestId": { + "type": "string", + "description": "Unique request reference identifier." + } + }, + "x-amzn-api-sandbox": { + "static": [ + { + "request": { + "parameters": { + "sellerSKU": { + "value": "SKU_429" + }, + "marketplaceIds": { + "value": [ + "ATVPDKIKX0DER" + ] + } + } + }, + "response": { + "errors": [ + { + "code": "TooManyRequests", + "message": "Total number of requests exceed your allowed limits." + } + ] + } + } + ] + } + }, + "500": { + "description": "An unexpected condition occurred that prevented the server from fulfilling the request.", + "schema": { + "$ref": "#/definitions/ErrorList" + }, + "headers": { + "x-amzn-RateLimit-Limit": { + "type": "string", + "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." + }, + "x-amzn-RequestId": { + "type": "string", + "description": "Unique request reference identifier." + } + }, + "x-amzn-api-sandbox": { + "static": [ + { + "request": { + "parameters": { + "sellerSKU": { + "value": "SKU_500" + }, + "marketplaceIds": { + "value": [ + "ATVPDKIKX0DER" + ] + } + } + }, + "response": { + "errors": [ + { + "code": "InternalServerError", + "message": "Server encountered an unexpected condition while processing your request." + } + ] + } + } + ] + } + }, + "503": { + "description": "Temporary overloading or maintenance of the server.", + "schema": { + "$ref": "#/definitions/ErrorList" + }, + "headers": { + "x-amzn-RateLimit-Limit": { + "type": "string", + "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." + }, + "x-amzn-RequestId": { + "type": "string", + "description": "Unique request reference identifier." + } + }, + "x-amzn-api-sandbox": { + "static": [ + { + "request": { + "parameters": { + "sellerSKU": { + "value": "SKU_503" + }, + "marketplaceIds": { + "value": [ + "ATVPDKIKX0DER" + ] + } + } + }, + "response": { + "errors": [ + { + "code": "ServiceUnavailable", + "message": "Server is temporarily unavailable." + } + ] + } + } + ] + } + } + } + }, + "put": { + "tags": [ + "smallAndLight" + ], + "description": "Enrolls the item indicated by the specified seller SKU in the Small and Light program in the specified marketplace. If the item is not eligible, the ineligibility reasons are returned.\n\n**Usage Plan:**\n\n| Rate (requests per second) | Burst |\n| ---- | ---- |\n| 2 | 5 |\n\nThe `x-amzn-RateLimit-Limit` response header returns the usage plan rate limits that were applied to the requested operation, when available. The table above indicates the default rate and burst values for this operation. Selling partners whose business demands require higher throughput may see higher rate and burst values than those shown here. For more information, see [Usage Plans and Rate Limits in the Selling Partner API](https://developer-docs.amazon.com/sp-api/docs/usage-plans-and-rate-limits-in-the-sp-api).", + "operationId": "putSmallAndLightEnrollmentBySellerSKU", + "deprecated": true, + "parameters": [ + { + "name": "sellerSKU", + "in": "path", + "description": "The seller SKU that identifies the item.", + "required": true, + "type": "string" + }, + { + "name": "marketplaceIds", + "in": "query", + "description": "The marketplace in which to enroll the item. Note: Accepts a single marketplace only.", + "required": true, + "type": "array", + "items": { + "type": "string" + }, + "maxItems": 1 + } + ], + "responses": { + "200": { + "description": "Success.", + "schema": { + "$ref": "#/definitions/SmallAndLightEnrollment" + }, + "headers": { + "x-amzn-RateLimit-Limit": { + "type": "string", + "description": "Your rate limit (requests per second) for this operation." + }, + "x-amzn-RequestId": { + "type": "string", + "description": "Unique request reference identifier." + } + }, + "x-amzn-api-sandbox": { + "static": [ + { + "request": { + "parameters": { + "sellerSKU": { + "value": "SKU_ELIGIBLE_FOR_SMALL_AND_LIGHT" + }, + "marketplaceIds": { + "value": [ + "ATVPDKIKX0DER" + ] + } + } + }, + "response": { + "marketplaceId": "ATVPDKIKX0DER", + "sellerSKU": "SKU_ELIGIBLE_FOR_SMALL_AND_LIGHT", + "status": "ENROLLED" + } + } + ] + } + }, + "400": { + "description": "Request has missing or invalid parameters and cannot be parsed.", + "schema": { + "$ref": "#/definitions/ErrorList" + }, + "headers": { + "x-amzn-RateLimit-Limit": { + "type": "string", + "description": "Your rate limit (requests per second) for this operation." + }, + "x-amzn-RequestId": { + "type": "string", + "description": "Unique request reference identifier." + } + }, + "x-amzn-api-sandbox": { + "static": [ + { + "request": { + "parameters": { + "sellerSKU": { + "value": "SKU_400" + }, + "marketplaceIds": { + "value": [ + "ATVPDKIKX0DER" + ] + } + } + }, + "response": { + "errors": [ + { + "code": "InvalidInput", + "message": "Invalid input." + } + ] + } + } + ] + } + }, + "403": { + "description": "Indicates that access to the resource is forbidden. Possible reasons include Access Denied, Unauthorized, Expired Token, or Invalid Signature.", + "schema": { + "$ref": "#/definitions/ErrorList" + }, + "headers": { + "x-amzn-RequestId": { + "type": "string", + "description": "Unique request reference identifier." + } + }, + "x-amzn-api-sandbox": { + "static": [ + { + "request": { + "parameters": { + "sellerSKU": { + "value": "SKU_403" + }, + "marketplaceIds": { + "value": [ + "ATVPDKIKX0DER" + ] + } + } + }, + "response": { + "errors": [ + { + "code": "Unauthorized", + "message": "Access to requested resource is denied." + } + ] + } + } + ] + } + }, + "404": { + "description": "The resource specified does not exist.", + "schema": { + "$ref": "#/definitions/ErrorList" + }, + "headers": { + "x-amzn-RateLimit-Limit": { + "type": "string", + "description": "Your rate limit (requests per second) for this operation." + }, + "x-amzn-RequestId": { + "type": "string", + "description": "Unique request reference identifier." + } + }, + "x-amzn-api-sandbox": { + "static": [ + { + "request": { + "parameters": { + "sellerSKU": { + "value": "SKU_404" + }, + "marketplaceIds": { + "value": [ + "ATVPDKIKX0DER" + ] + } + } + }, + "response": { + "errors": [ + { + "code": "NotFound", + "message": "Requested resource is not found" + } + ] + } + } + ] + } + }, + "413": { + "description": "The request size exceeded the maximum accepted size.", + "schema": { + "$ref": "#/definitions/ErrorList" + }, + "headers": { + "x-amzn-RateLimit-Limit": { + "type": "string", + "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." + }, + "x-amzn-RequestId": { + "type": "string", + "description": "Unique request reference identifier." + } + }, + "x-amzn-api-sandbox": { + "static": [ + { + "request": { + "parameters": { + "sellerSKU": { + "value": "SKU_413" + }, + "marketplaceIds": { + "value": [ + "ATVPDKIKX0DER" + ] + } + } + }, + "response": { + "errors": [ + { + "code": "PayloadTooLarge", + "message": "Payload of the request is too large." + } + ] + } + } + ] + } + }, + "415": { + "description": "The request payload is in an unsupported format.", + "schema": { + "$ref": "#/definitions/ErrorList" + }, + "headers": { + "x-amzn-RateLimit-Limit": { + "type": "string", + "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." + }, + "x-amzn-RequestId": { + "type": "string", + "description": "Unique request reference identifier." + } + }, + "x-amzn-api-sandbox": { + "static": [ + { + "request": { + "parameters": { + "sellerSKU": { + "value": "SKU_415" + }, + "marketplaceIds": { + "value": [ + "ATVPDKIKX0DER" + ] + } + } + }, + "response": { + "errors": [ + { + "code": "UnsupportedType", + "message": "The entity of the request is of unsupported type." + } + ] + } + } + ] + } + }, + "429": { + "description": "The frequency of requests was greater than allowed.", + "schema": { + "$ref": "#/definitions/ErrorList" + }, + "headers": { + "x-amzn-RateLimit-Limit": { + "type": "string", + "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." + }, + "x-amzn-RequestId": { + "type": "string", + "description": "Unique request reference identifier." + } + }, + "x-amzn-api-sandbox": { + "static": [ + { + "request": { + "parameters": { + "sellerSKU": { + "value": "SKU_429" + }, + "marketplaceIds": { + "value": [ + "ATVPDKIKX0DER" + ] + } + } + }, + "response": { + "errors": [ + { + "code": "TooManyRequests", + "message": "Total number of requests exceed your allowed limits." + } + ] + } + } + ] + } + }, + "500": { + "description": "An unexpected condition occurred that prevented the server from fulfilling the request.", + "schema": { + "$ref": "#/definitions/ErrorList" + }, + "headers": { + "x-amzn-RateLimit-Limit": { + "type": "string", + "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." + }, + "x-amzn-RequestId": { + "type": "string", + "description": "Unique request reference identifier." + } + }, + "x-amzn-api-sandbox": { + "static": [ + { + "request": { + "parameters": { + "sellerSKU": { + "value": "SKU_500" + }, + "marketplaceIds": { + "value": [ + "ATVPDKIKX0DER" + ] + } + } + }, + "response": { + "errors": [ + { + "code": "InternalServerError", + "message": "Server encountered an unexpected condition while processing your request." + } + ] + } + } + ] + } + }, + "503": { + "description": "Temporary overloading or maintenance of the server.", + "schema": { + "$ref": "#/definitions/ErrorList" + }, + "headers": { + "x-amzn-RateLimit-Limit": { + "type": "string", + "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." + }, + "x-amzn-RequestId": { + "type": "string", + "description": "Unique request reference identifier." + } + }, + "x-amzn-api-sandbox": { + "static": [ + { + "request": { + "parameters": { + "sellerSKU": { + "value": "SKU_503" + }, + "marketplaceIds": { + "value": [ + "ATVPDKIKX0DER" + ] + } + } + }, + "response": { + "errors": [ + { + "code": "ServiceUnavailable", + "message": "Server is temporarily unavailable." + } + ] + } + } + ] + } + } + } + }, + "delete": { + "tags": [ + "smallAndLight" + ], + "description": "Removes the item indicated by the specified seller SKU from the Small and Light program in the specified marketplace. If the item is not eligible for disenrollment, the ineligibility reasons are returned.\n\n**Usage Plan:**\n\n| Rate (requests per second) | Burst |\n| ---- | ---- |\n| 2 | 5 |\n\nThe `x-amzn-RateLimit-Limit` response header returns the usage plan rate limits that were applied to the requested operation, when available. The table above indicates the default rate and burst values for this operation. Selling partners whose business demands require higher throughput may see higher rate and burst values than those shown here. For more information, see [Usage Plans and Rate Limits in the Selling Partner API](https://developer-docs.amazon.com/sp-api/docs/usage-plans-and-rate-limits-in-the-sp-api).", + "operationId": "deleteSmallAndLightEnrollmentBySellerSKU", + "deprecated": true, + "parameters": [ + { + "name": "sellerSKU", + "in": "path", + "description": "The seller SKU that identifies the item.", + "required": true, + "type": "string" + }, + { + "name": "marketplaceIds", + "in": "query", + "description": "The marketplace in which to remove the item from the Small and Light program. Note: Accepts a single marketplace only.", + "required": true, + "type": "array", + "items": { + "type": "string" + }, + "maxItems": 1 + } + ], + "responses": { + "204": { + "description": "Success.", + "headers": { + "x-amzn-RateLimit-Limit": { + "type": "string", + "description": "Your rate limit (requests per second) for this operation." + }, + "x-amzn-RequestId": { + "type": "string", + "description": "Unique request reference identifier." + } + }, + "x-amzn-api-sandbox": { + "static": [ + { + "request": { + "parameters": { + "sellerSKU": { + "value": "SKU_ENROLLED_FOR_SMALL_AND_LIGHT" + }, + "marketplaceIds": { + "value": [ + "ATVPDKIKX0DER" + ] + } + } + }, + "response": {} + } + ] + } + }, + "400": { + "description": "Request has missing or invalid parameters and cannot be parsed.", + "schema": { + "$ref": "#/definitions/ErrorList" + }, + "headers": { + "x-amzn-RateLimit-Limit": { + "type": "string", + "description": "Your rate limit (requests per second) for this operation." + }, + "x-amzn-RequestId": { + "type": "string", + "description": "Unique request reference identifier." + } + }, + "x-amzn-api-sandbox": { + "static": [ + { + "request": { + "parameters": { + "sellerSKU": { + "value": "SKU_400" + }, + "marketplaceIds": { + "value": [ + "ATVPDKIKX0DER" + ] + } + } + }, + "response": { + "errors": [ + { + "code": "InvalidInput", + "message": "Invalid input." + } + ] + } + } + ] + } + }, + "403": { + "description": "Indicates that access to the resource is forbidden. Possible reasons include Access Denied, Unauthorized, Expired Token, or Invalid Signature.", + "schema": { + "$ref": "#/definitions/ErrorList" + }, + "headers": { + "x-amzn-RequestId": { + "type": "string", + "description": "Unique request reference identifier." + } + }, + "x-amzn-api-sandbox": { + "static": [ + { + "request": { + "parameters": { + "sellerSKU": { + "value": "SKU_403" + }, + "marketplaceIds": { + "value": [ + "ATVPDKIKX0DER" + ] + } + } + }, + "response": { + "errors": [ + { + "code": "Unauthorized", + "message": "Access to requested resource is denied." + } + ] + } + } + ] + } + }, + "404": { + "description": "The resource specified does not exist.", + "schema": { + "$ref": "#/definitions/ErrorList" + }, + "headers": { + "x-amzn-RateLimit-Limit": { + "type": "string", + "description": "Your rate limit (requests per second) for this operation." + }, + "x-amzn-RequestId": { + "type": "string", + "description": "Unique request reference identifier." + } + }, + "x-amzn-api-sandbox": { + "static": [ + { + "request": { + "parameters": { + "sellerSKU": { + "value": "SKU_404" + }, + "marketplaceIds": { + "value": [ + "ATVPDKIKX0DER" + ] + } + } + }, + "response": { + "errors": [ + { + "code": "NotFound", + "message": "Requested resource is not found" + } + ] + } + } + ] + } + }, + "413": { + "description": "The request size exceeded the maximum accepted size.", + "schema": { + "$ref": "#/definitions/ErrorList" + }, + "headers": { + "x-amzn-RateLimit-Limit": { + "type": "string", + "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." + }, + "x-amzn-RequestId": { + "type": "string", + "description": "Unique request reference identifier." + } + }, + "x-amzn-api-sandbox": { + "static": [ + { + "request": { + "parameters": { + "sellerSKU": { + "value": "SKU_413" + }, + "marketplaceIds": { + "value": [ + "ATVPDKIKX0DER" + ] + } + } + }, + "response": { + "errors": [ + { + "code": "PayloadTooLarge", + "message": "Payload of the request is too large." + } + ] + } + } + ] + } + }, + "415": { + "description": "The request payload is in an unsupported format.", + "schema": { + "$ref": "#/definitions/ErrorList" + }, + "headers": { + "x-amzn-RateLimit-Limit": { + "type": "string", + "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." + }, + "x-amzn-RequestId": { + "type": "string", + "description": "Unique request reference identifier." + } + }, + "x-amzn-api-sandbox": { + "static": [ + { + "request": { + "parameters": { + "sellerSKU": { + "value": "SKU_415" + }, + "marketplaceIds": { + "value": [ + "ATVPDKIKX0DER" + ] + } + } + }, + "response": { + "errors": [ + { + "code": "UnsupportedType", + "message": "The entity of the request is of unsupported type." + } + ] + } + } + ] + } + }, + "429": { + "description": "The frequency of requests was greater than allowed.", + "schema": { + "$ref": "#/definitions/ErrorList" + }, + "headers": { + "x-amzn-RateLimit-Limit": { + "type": "string", + "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." + }, + "x-amzn-RequestId": { + "type": "string", + "description": "Unique request reference identifier." + } + }, + "x-amzn-api-sandbox": { + "static": [ + { + "request": { + "parameters": { + "sellerSKU": { + "value": "SKU_429" + }, + "marketplaceIds": { + "value": [ + "ATVPDKIKX0DER" + ] + } + } + }, + "response": { + "errors": [ + { + "code": "TooManyRequests", + "message": "Total number of requests exceed your allowed limits." + } + ] + } + } + ] + } + }, + "500": { + "description": "An unexpected condition occurred that prevented the server from fulfilling the request.", + "schema": { + "$ref": "#/definitions/ErrorList" + }, + "headers": { + "x-amzn-RateLimit-Limit": { + "type": "string", + "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." + }, + "x-amzn-RequestId": { + "type": "string", + "description": "Unique request reference identifier." + } + }, + "x-amzn-api-sandbox": { + "static": [ + { + "request": { + "parameters": { + "sellerSKU": { + "value": "SKU_500" + }, + "marketplaceIds": { + "value": [ + "ATVPDKIKX0DER" + ] + } + } + }, + "response": { + "errors": [ + { + "code": "InternalServerError", + "message": "Server encountered an unexpected condition while processing your request." + } + ] + } + } + ] + } + }, + "503": { + "description": "Temporary overloading or maintenance of the server.", + "schema": { + "$ref": "#/definitions/ErrorList" + }, + "headers": { + "x-amzn-RateLimit-Limit": { + "type": "string", + "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." + }, + "x-amzn-RequestId": { + "type": "string", + "description": "Unique request reference identifier." + } + }, + "x-amzn-api-sandbox": { + "static": [ + { + "request": { + "parameters": { + "sellerSKU": { + "value": "SKU_503" + }, + "marketplaceIds": { + "value": [ + "ATVPDKIKX0DER" + ] + } + } + }, + "response": { + "errors": [ + { + "code": "ServiceUnavailable", + "message": "Server is temporarily unavailable." + } + ] + } + } + ] + } + } + } + } + }, + "/fba/smallAndLight/v1/eligibilities/{sellerSKU}": { + "get": { + "tags": [ + "smallAndLight" + ], + "description": "Returns the Small and Light program eligibility status of the item indicated by the specified seller SKU in the specified marketplace. If the item is not eligible, the ineligibility reasons are returned. **Note:** The parameters associated with this operation may contain special characters that must be encoded to successfully call the API. To avoid errors with SKUs when encoding URLs, refer to [URL Encoding](https://developer-docs.amazon.com/sp-api/docs/url-encoding).\n\n**Usage Plan:**\n\n| Rate (requests per second) | Burst |\n| ---- | ---- |\n| 2 | 10 |\n\nThe `x-amzn-RateLimit-Limit` response header returns the usage plan rate limits that were applied to the requested operation, when available. The table above indicates the default rate and burst values for this operation. Selling partners whose business demands require higher throughput may see higher rate and burst values than those shown here. For more information, see [Usage Plans and Rate Limits in the Selling Partner API](https://developer-docs.amazon.com/sp-api/docs/usage-plans-and-rate-limits-in-the-sp-api).", + "operationId": "getSmallAndLightEligibilityBySellerSKU", + "deprecated": true, + "parameters": [ + { + "name": "sellerSKU", + "in": "path", + "description": "The seller SKU that identifies the item.", + "required": true, + "type": "string" + }, + { + "name": "marketplaceIds", + "in": "query", + "description": "The marketplace for which the eligibility status is retrieved. NOTE: Accepts a single marketplace only.", + "required": true, + "type": "array", + "items": { + "type": "string" + }, + "maxItems": 1 + } + ], + "responses": { + "200": { + "description": "Success.", + "schema": { + "$ref": "#/definitions/SmallAndLightEligibility" + }, + "headers": { + "x-amzn-RateLimit-Limit": { + "type": "string", + "description": "Your rate limit (requests per second) for this operation." + }, + "x-amzn-RequestId": { + "type": "string", + "description": "Unique request reference identifier." + } + }, + "x-amzn-api-sandbox": { + "static": [ + { + "request": { + "parameters": { + "sellerSKU": { + "value": "SKU_ELIGIBLE_FOR_SMALL_AND_LIGHT" + }, + "marketplaceIds": { + "value": [ + "ATVPDKIKX0DER" + ] + } + } + }, + "response": { + "marketplaceId": "ATVPDKIKX0DER", + "sellerSKU": "SKU_ELIGIBLE_FOR_SMALL_AND_LIGHT", + "status": "ELIGIBLE" + } + } + ] + } + }, + "400": { + "description": "Request has missing or invalid parameters and cannot be parsed.", + "schema": { + "$ref": "#/definitions/ErrorList" + }, + "headers": { + "x-amzn-RateLimit-Limit": { + "type": "string", + "description": "Your rate limit (requests per second) for this operation." + }, + "x-amzn-RequestId": { + "type": "string", + "description": "Unique request reference identifier." + } + }, + "x-amzn-api-sandbox": { + "static": [ + { + "request": { + "parameters": { + "sellerSKU": { + "value": "SKU_400" + }, + "marketplaceIds": { + "value": [ + "ATVPDKIKX0DER" + ] + } + } + }, + "response": { + "errors": [ + { + "code": "InvalidInput", + "message": "Invalid input." + } + ] + } + } + ] + } + }, + "403": { + "description": "Indicates that access to the resource is forbidden. Possible reasons include Access Denied, Unauthorized, Expired Token, or Invalid Signature.", + "schema": { + "$ref": "#/definitions/ErrorList" + }, + "headers": { + "x-amzn-RequestId": { + "type": "string", + "description": "Unique request reference identifier." + } + }, + "x-amzn-api-sandbox": { + "static": [ + { + "request": { + "parameters": { + "sellerSKU": { + "value": "SKU_403" + }, + "marketplaceIds": { + "value": [ + "ATVPDKIKX0DER" + ] + } + } + }, + "response": { + "errors": [ + { + "code": "Unauthorized", + "message": "Access to requested resource is denied." + } + ] + } + } + ] + } + }, + "404": { + "description": "The resource specified does not exist.", + "schema": { + "$ref": "#/definitions/ErrorList" + }, + "headers": { + "x-amzn-RateLimit-Limit": { + "type": "string", + "description": "Your rate limit (requests per second) for this operation." + }, + "x-amzn-RequestId": { + "type": "string", + "description": "Unique request reference identifier." + } + }, + "x-amzn-api-sandbox": { + "static": [ + { + "request": { + "parameters": { + "sellerSKU": { + "value": "SKU_404" + }, + "marketplaceIds": { + "value": [ + "ATVPDKIKX0DER" + ] + } + } + }, + "response": { + "errors": [ + { + "code": "NotFound", + "message": "Requested resource is not found" + } + ] + } + } + ] + } + }, + "413": { + "description": "The request size exceeded the maximum accepted size.", + "schema": { + "$ref": "#/definitions/ErrorList" + }, + "headers": { + "x-amzn-RateLimit-Limit": { + "type": "string", + "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." + }, + "x-amzn-RequestId": { + "type": "string", + "description": "Unique request reference identifier." + } + }, + "x-amzn-api-sandbox": { + "static": [ + { + "request": { + "parameters": { + "sellerSKU": { + "value": "SKU_413" + }, + "marketplaceIds": { + "value": [ + "ATVPDKIKX0DER" + ] + } + } + }, + "response": { + "errors": [ + { + "code": "PayloadTooLarge", + "message": "Payload of the request is too large." + } + ] + } + } + ] + } + }, + "415": { + "description": "The request payload is in an unsupported format.", + "schema": { + "$ref": "#/definitions/ErrorList" + }, + "headers": { + "x-amzn-RateLimit-Limit": { + "type": "string", + "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." + }, + "x-amzn-RequestId": { + "type": "string", + "description": "Unique request reference identifier." + } + }, + "x-amzn-api-sandbox": { + "static": [ + { + "request": { + "parameters": { + "sellerSKU": { + "value": "SKU_415" + }, + "marketplaceIds": { + "value": [ + "ATVPDKIKX0DER" + ] + } + } + }, + "response": { + "errors": [ + { + "code": "UnsupportedType", + "message": "The entity of the request is of unsupported type." + } + ] + } + } + ] + } + }, + "429": { + "description": "The frequency of requests was greater than allowed.", + "schema": { + "$ref": "#/definitions/ErrorList" + }, + "headers": { + "x-amzn-RateLimit-Limit": { + "type": "string", + "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." + }, + "x-amzn-RequestId": { + "type": "string", + "description": "Unique request reference identifier." + } + }, + "x-amzn-api-sandbox": { + "static": [ + { + "request": { + "parameters": { + "sellerSKU": { + "value": "SKU_429" + }, + "marketplaceIds": { + "value": [ + "ATVPDKIKX0DER" + ] + } + } + }, + "response": { + "errors": [ + { + "code": "TooManyRequests", + "message": "Total number of requests exceed your allowed limits." + } + ] + } + } + ] + } + }, + "500": { + "description": "An unexpected condition occurred that prevented the server from fulfilling the request.", + "schema": { + "$ref": "#/definitions/ErrorList" + }, + "headers": { + "x-amzn-RateLimit-Limit": { + "type": "string", + "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." + }, + "x-amzn-RequestId": { + "type": "string", + "description": "Unique request reference identifier." + } + }, + "x-amzn-api-sandbox": { + "static": [ + { + "request": { + "parameters": { + "sellerSKU": { + "value": "SKU_500" + }, + "marketplaceIds": { + "value": [ + "ATVPDKIKX0DER" + ] + } + } + }, + "response": { + "errors": [ + { + "code": "InternalServerError", + "message": "Server encountered an unexpected condition while processing your request." + } + ] + } + } + ] + } + }, + "503": { + "description": "Temporary overloading or maintenance of the server.", + "schema": { + "$ref": "#/definitions/ErrorList" + }, + "headers": { + "x-amzn-RateLimit-Limit": { + "type": "string", + "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." + }, + "x-amzn-RequestId": { + "type": "string", + "description": "Unique request reference identifier." + } + }, + "x-amzn-api-sandbox": { + "static": [ + { + "request": { + "parameters": { + "sellerSKU": { + "value": "SKU_503" + }, + "marketplaceIds": { + "value": [ + "ATVPDKIKX0DER" + ] + } + } + }, + "response": { + "errors": [ + { + "code": "ServiceUnavailable", + "message": "Server is temporarily unavailable." + } + ] + } + } + ] + } + } + } + } + }, + "/fba/smallAndLight/v1/feePreviews": { + "post": { + "tags": [ + "smallAndLight" + ], + "description": "Returns the Small and Light fee estimates for the specified items. You must include a marketplaceId parameter to retrieve the proper fee estimates for items to be sold in that marketplace. The ordering of items in the response will mirror the order of the items in the request. Duplicate ASIN/price combinations are removed.\n\n**Usage Plan:**\n\n| Rate (requests per second) | Burst |\n| ---- | ---- |\n| 1 | 3 |\n\nThe `x-amzn-RateLimit-Limit` response header returns the usage plan rate limits that were applied to the requested operation, when available. The table above indicates the default rate and burst values for this operation. Selling partners whose business demands require higher throughput may see higher rate and burst values than those shown here. For more information, see [Usage Plans and Rate Limits in the Selling Partner API](https://developer-docs.amazon.com/sp-api/docs/usage-plans-and-rate-limits-in-the-sp-api).", + "operationId": "getSmallAndLightFeePreview", + "deprecated": true, + "parameters": [ + { + "in": "body", + "name": "body", + "required": true, + "schema": { + "$ref": "#/definitions/SmallAndLightFeePreviewRequest" + } + } + ], + "responses": { + "200": { + "description": "Success.", + "schema": { + "$ref": "#/definitions/SmallAndLightFeePreviews" + }, + "headers": { + "x-amzn-RateLimit-Limit": { + "type": "string", + "description": "Your rate limit (requests per second) for this operation." + }, + "x-amzn-RequestId": { + "type": "string", + "description": "Unique request reference identifier." + } + }, + "x-amzn-api-sandbox": { + "static": [ + { + "request": { + "parameters": { + "body": { + "value": { + "marketplaceId": "ATVPDKIKX0DER", + "items": [ + { + "asin": "B076ZL9PB5", + "price": { + "currencyCode": "USD", + "amount": 6.5 + } + } + ] + } + } + } + }, + "response": { + "data": [ + { + "asin": "B076ZL9PB5", + "price": { + "amount": 6.5, + "currencyCode": "USD" + }, + "feeBreakdown": [ + { + "feeType": "FBAPerUnitFulfillmentFee", + "feeCharge": { + "amount": 0.75, + "currencyCode": "USD" + } + }, + { + "feeType": "FBAPerOrderFulfillmentFee", + "feeCharge": { + "amount": 1, + "currencyCode": "USD" + } + }, + { + "feeType": "FBAWeightBasedFee", + "feeCharge": { + "amount": 1.1, + "currencyCode": "USD" + } + }, + { + "feeType": "Commission", + "feeCharge": { + "amount": 0.98, + "currencyCode": "USD" + } + } + ], + "totalFees": { + "amount": 3.83, + "currencyCode": "USD" + }, + "errors": [] + } + ] + } + } + ] + } + }, + "400": { + "description": "Request has missing or invalid parameters and cannot be parsed.", + "schema": { + "$ref": "#/definitions/ErrorList" + }, + "headers": { + "x-amzn-RateLimit-Limit": { + "type": "string", + "description": "Your rate limit (requests per second) for this operation." + }, + "x-amzn-RequestId": { + "type": "string", + "description": "Unique request reference identifier." + } + }, + "x-amzn-api-sandbox": { + "static": [ + { + "request": { + "parameters": { + "body": { + "value": { + "marketplaceId": "TEST_CASE_400", + "items": [] + } + } + } + }, + "response": { + "errors": [ + { + "code": "InvalidInput", + "message": "Invalid input." + } + ] + } + } + ] + } + }, + "401": { + "description": "The request's Authorization header is not formatted correctly or does not contain a valid token.", + "schema": { + "$ref": "#/definitions/ErrorList" + }, + "headers": { + "x-amzn-RateLimit-Limit": { + "type": "string", + "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." + }, + "x-amzn-RequestId": { + "type": "string", + "description": "Unique request reference identifier." + } + }, + "x-amzn-api-sandbox": { + "static": [ + { + "request": { + "parameters": { + "body": { + "value": { + "marketplaceId": "TEST_CASE_401", + "items": [] + } + } + } + }, + "response": { + "errors": [ + { + "code": "Unauthorized", + "message": "Access to requested resource is denied." + } + ] + } + } + ] + } + }, + "403": { + "description": "Indicates that access to the resource is forbidden. Possible reasons include Access Denied, Unauthorized, Expired Token, or Invalid Signature.", + "schema": { + "$ref": "#/definitions/ErrorList" + }, + "headers": { + "x-amzn-RequestId": { + "type": "string", + "description": "Unique request reference identifier." + } + }, + "x-amzn-api-sandbox": { + "static": [ + { + "request": { + "parameters": { + "body": { + "value": { + "marketplaceId": "TEST_CASE_403", + "items": [] + } + } + } + }, + "response": { + "errors": [ + { + "code": "Unauthorized", + "message": "Access to requested resource is denied." + } + ] + } + } + ] + } + }, + "404": { + "description": "The resource specified does not exist.", + "schema": { + "$ref": "#/definitions/ErrorList" + }, + "headers": { + "x-amzn-RateLimit-Limit": { + "type": "string", + "description": "Your rate limit (requests per second) for this operation." + }, + "x-amzn-RequestId": { + "type": "string", + "description": "Unique request reference identifier." + } + }, + "x-amzn-api-sandbox": { + "static": [ + { + "request": { + "parameters": { + "body": { + "value": { + "marketplaceId": "TEST_CASE_404", + "items": [] + } + } + } + }, + "response": { + "errors": [ + { + "code": "NotFound", + "message": "The requested resource doesn't exist." + } + ] + } + } + ] + } + }, + "429": { + "description": "The frequency of requests was greater than allowed.", + "schema": { + "$ref": "#/definitions/ErrorList" + }, + "headers": { + "x-amzn-RateLimit-Limit": { + "type": "string", + "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." + }, + "x-amzn-RequestId": { + "type": "string", + "description": "Unique request reference identifier." + } + }, + "x-amzn-api-sandbox": { + "static": [ + { + "request": { + "parameters": { + "body": { + "value": { + "marketplaceId": "TEST_CASE_429", + "items": [] + } + } + } + }, + "response": { + "errors": [ + { + "code": "QuotaExceeded", + "message": "You exceeded your quota for the requested resource." + } + ] + } + } + ] + } + }, + "500": { + "description": "An unexpected condition occurred that prevented the server from fulfilling the request.", + "schema": { + "$ref": "#/definitions/ErrorList" + }, + "headers": { + "x-amzn-RateLimit-Limit": { + "type": "string", + "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." + }, + "x-amzn-RequestId": { + "type": "string", + "description": "Unique request reference identifier." + } + }, + "x-amzn-api-sandbox": { + "static": [ + { + "request": { + "parameters": { + "body": { + "value": { + "marketplaceId": "TEST_CASE_500", + "items": [] + } + } + } + }, + "response": { + "errors": [ + { + "code": "InternalFailure", + "message": "We encountered an internal error. Please try again." + } + ] + } + } + ] + } + }, + "503": { + "description": "Temporary overloading or maintenance of the server.", + "schema": { + "$ref": "#/definitions/ErrorList" + }, + "headers": { + "x-amzn-RateLimit-Limit": { + "type": "string", + "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." + }, + "x-amzn-RequestId": { + "type": "string", + "description": "Unique request reference identifier." + } + }, + "x-amzn-api-sandbox": { + "static": [ + { + "request": { + "parameters": { + "body": { + "value": { + "marketplaceId": "TEST_CASE_503", + "items": [] + } + } + } + }, + "response": { + "errors": [ + { + "code": "ServiceUnavailable", + "message": "Service is temporarily unavailable. Please try again." + } + ] + } + } + ] + } + } + } + } + } + }, + "definitions": { + "MarketplaceId": { + "type": "string", + "description": "A marketplace identifier." + }, + "SellerSKU": { + "type": "string", + "description": "Identifies an item in the given marketplace. SellerSKU is qualified by the seller's SellerId, which is included with every operation that you submit." + }, + "Error": { + "type": "object", + "required": [ + "code", + "message" + ], + "properties": { + "code": { + "type": "string", + "description": "An error code that identifies the type of error that occurred." + }, + "message": { + "type": "string", + "description": "A message that describes the error condition." + }, + "details": { + "type": "string", + "description": "Additional details that can help the caller understand or fix the issue." + } + }, + "description": "Error response returned when the request is unsuccessful." + }, + "ErrorList": { + "type": "object", + "properties": { + "errors": { + "type": "array", + "items": { + "$ref": "#/definitions/Error" + } + } + }, + "description": "A list of error responses returned when a request is unsuccessful." + }, + "SmallAndLightEnrollmentStatus": { + "type": "string", + "description": "The Small and Light enrollment status of the item.", + "enum": [ + "ENROLLED", + "NOT_ENROLLED" + ], + "x-docgen-enum-table-extension": [ + { + "value": "ENROLLED", + "description": "The Small and Light enrollment status is enrolled." + }, + { + "value": "NOT_ENROLLED", + "description": "The Small and Light enrollment status is not enrolled." + } + ] + }, + "SmallAndLightEligibilityStatus": { + "type": "string", + "description": "The Small and Light eligibility status of the item.", + "enum": [ + "ELIGIBLE", + "NOT_ELIGIBLE" + ], + "x-docgen-enum-table-extension": [ + { + "value": "ELIGIBLE", + "description": "The Small and Light eligibility status is eligible." + }, + { + "value": "NOT_ELIGIBLE", + "description": "The Small and Light eligibility status is not eligible." + } + ] + }, + "SmallAndLightEnrollment": { + "type": "object", + "required": [ + "marketplaceId", + "sellerSKU", + "status" + ], + "properties": { + "marketplaceId": { + "$ref": "#/definitions/MarketplaceId" + }, + "sellerSKU": { + "$ref": "#/definitions/SellerSKU" + }, + "status": { + "$ref": "#/definitions/SmallAndLightEnrollmentStatus" + } + }, + "description": "The Small and Light enrollment status of the item indicated by the specified seller SKU." + }, + "SmallAndLightEligibility": { + "type": "object", + "required": [ + "marketplaceId", + "sellerSKU", + "status" + ], + "properties": { + "marketplaceId": { + "$ref": "#/definitions/MarketplaceId" + }, + "sellerSKU": { + "$ref": "#/definitions/SellerSKU" + }, + "status": { + "$ref": "#/definitions/SmallAndLightEligibilityStatus" + } + }, + "description": "The Small and Light eligibility status of the item indicated by the specified seller SKU." + }, + "SmallAndLightFeePreviewRequest": { + "type": "object", + "required": [ + "items", + "marketplaceId" + ], + "properties": { + "marketplaceId": { + "$ref": "#/definitions/MarketplaceId" + }, + "items": { + "type": "array", + "description": "A list of items for which to retrieve fee estimates (limit: 25).", + "items": { + "$ref": "#/definitions/Item" + }, + "maxItems": 25 + } + }, + "description": "Request schema for submitting items for which to retrieve fee estimates." + }, + "SmallAndLightFeePreviews": { + "type": "object", + "properties": { + "data": { + "type": "array", + "description": "A list of fee estimates for the requested items. The order of the fee estimates will follow the same order as the items in the request, with duplicates removed.", + "items": { + "$ref": "#/definitions/FeePreview" + } + } + } + }, + "Item": { + "type": "object", + "required": [ + "asin", + "price" + ], + "properties": { + "asin": { + "type": "string", + "description": "The Amazon Standard Identification Number (ASIN) value used to identify the item." + }, + "price": { + "description": "The price that the seller plans to charge for the item.", + "$ref": "#/definitions/MoneyType" + } + }, + "description": "An item to be sold." + }, + "FeePreview": { + "type": "object", + "properties": { + "asin": { + "type": "string", + "description": "The Amazon Standard Identification Number (ASIN) value used to identify the item." + }, + "price": { + "description": "The price that the seller plans to charge for the item.", + "$ref": "#/definitions/MoneyType" + }, + "feeBreakdown": { + "type": "array", + "description": "A list of the Small and Light fees for the item.", + "items": { + "$ref": "#/definitions/FeeLineItem" + } + }, + "totalFees": { + "description": "The total fees charged if the item participated in the Small and Light program.", + "$ref": "#/definitions/MoneyType" + }, + "errors": { + "type": "array", + "description": "One or more unexpected errors occurred during the getSmallAndLightFeePreview operation.", + "items": { + "$ref": "#/definitions/Error" + } + } + }, + "description": "The fee estimate for a specific item." + }, + "FeeLineItem": { + "type": "object", + "required": [ + "feeCharge", + "feeType" + ], + "properties": { + "feeType": { + "type": "string", + "description": "The type of fee charged to the seller.", + "enum": [ + "FBAWeightBasedFee", + "FBAPerOrderFulfillmentFee", + "FBAPerUnitFulfillmentFee", + "Commission" + ], + "x-docgen-enum-table-extension": [ + { + "value": "FBAWeightBasedFee", + "description": "The FBA weight-based fee (weight handling)." + }, + { + "value": "FBAPerOrderFulfillmentFee", + "description": "The FBA per-order fulfillment fee (order handling)." + }, + { + "value": "FBAPerUnitFulfillmentFee", + "description": "The FBA fulfillment fee (Pick & Pack)." + }, + { + "value": "Commission", + "description": "The commission - referral fee." + } + ] + }, + "feeCharge": { + "description": "Amount charged to the seller for the specific fee type.", + "$ref": "#/definitions/MoneyType" + } + }, + "description": "Fee details for a specific fee." + }, + "MoneyType": { + "type": "object", + "properties": { + "currencyCode": { + "type": "string", + "description": "The currency code in ISO 4217 format." + }, + "amount": { + "type": "number", + "description": "The monetary value." + } + } + } + } +} \ No newline at end of file From e3120f2d05291ec8ac5cbef06f3f45f3c81c917a Mon Sep 17 00:00:00 2001 From: Jack Evoniuk Date: Thu, 16 Nov 2023 16:53:21 -0800 Subject: [PATCH 283/340] Add the Sales and Traffic schema for Data Kiosk --- ...alytics_salesAndTraffic_2023_11_15.graphql | 423 +++++++++++------- 1 file changed, 271 insertions(+), 152 deletions(-) diff --git a/schemas/data-kiosk/analytics_salesAndTraffic_2023_11_15.graphql b/schemas/data-kiosk/analytics_salesAndTraffic_2023_11_15.graphql index bbc24f042..9ecb45e55 100644 --- a/schemas/data-kiosk/analytics_salesAndTraffic_2023_11_15.graphql +++ b/schemas/data-kiosk/analytics_salesAndTraffic_2023_11_15.graphql @@ -1,7 +1,3 @@ -schema { - query: Query -} - """ This directive specifies the retention duration of a query containing a particular field. When a query contains multiple fields with different @@ -9,36 +5,44 @@ retentions, the shortest (minimum) retention is applied to the query. The retention of a query's resulting documents always matches the retention of the query. """ directive @resultRetention( - "An ISO 8601 duration." - duration: String! - ) on FIELD_DEFINITION + """An ISO 8601 duration.""" + duration: String! +) on FIELD_DEFINITION -"Monetary amount with the corresponding currency code." +"""Monetary amount with the corresponding currency code.""" type Amount { - "The amount." + """The amount.""" amount: Float! - "Currency code of the amount in ISO 4217 format." + + """Currency code of the amount in ISO 4217 format.""" currencyCode: String! } -"A root type for Analytics Sales and Traffic queries version 2023_11_15." +""" +A root type for Analytics Sales and Traffic queries version 2023_11_15. +""" type Analytics_SalesAndTraffic_2023_11_15 { - "A query to retrieve sales and traffic data for the seller's account aggregated by ASIN." + """ + A query to retrieve sales and traffic data for the seller's account aggregated by ASIN. + """ salesAndTrafficByAsin( - "Determines how the sales and traffic data should be aggregated." - aggregateBy: AsinGranularity!, + """Determines how the sales and traffic data should be aggregated.""" + aggregateBy: AsinGranularity! + """ The end date of the sales and traffic data to retrieve. If a date granularity is specified and the provided end date occurs mid-week or mid-month, the preceding Saturday for WEEK date granularity or the last day of the previous month for MONTH date granularity will be used instead. """ - endDate: Date!, + endDate: Date! + """ The marketplace identifiers to retrieve sales and traffic data for. If omitted, sales and traffic data for all applicable marketplaces will be retrieved. """ - marketplaceIds: [String], + marketplaceIds: [String] + """ The start date of the sales and traffic data to retrieve. The start date must be no more than two years ago. If a date granularity is specified and @@ -47,23 +51,29 @@ type Analytics_SalesAndTraffic_2023_11_15 { granularity will be used instead. """ startDate: Date! - ): [SalesAndTrafficByAsin] @deprecated(reason : "No longer supported. Use salesAndTrafficByAsin from the analytics_salesAndTraffic_2024_04_24 schema instead.") - "A query to retrieve sales and traffic data for the seller's account aggregated by date." + ): [SalesAndTrafficByAsin] + + """ + A query to retrieve sales and traffic data for the seller's account aggregated by date. + """ salesAndTrafficByDate( - "Determines how the sales and traffic data should be aggregated." - aggregateBy: DateGranularity!, + """Determines how the sales and traffic data should be aggregated.""" + aggregateBy: DateGranularity! + """ The end date of the sales and traffic data to retrieve. If the provided end date occurs mid-week or mid-month, the preceding Saturday for WEEK date granularity or the last day of the previous month for MONTH date granularity will be used instead. """ - endDate: Date!, + endDate: Date! + """ The marketplace identifiers to retrieve sales and traffic data for. If omitted, sales and traffic data for all applicable marketplaces will be retrieved. """ - marketplaceIds: [String], + marketplaceIds: [String] + """ The start date of the sales and traffic data to retrieve. The start date must be no more than two years ago. If the provided start date occurs @@ -71,79 +81,93 @@ type Analytics_SalesAndTraffic_2023_11_15 { first day of the next month for MONTH date granularity will be used instead. """ startDate: Date! - ): [SalesAndTrafficByDate] @deprecated(reason : "No longer supported. Use salesAndTrafficByDate from the analytics_salesAndTraffic_2024_04_24 schema instead.") + ): [SalesAndTrafficByDate] } -"The sales data for the seller's account aggregated by ASIN." +"""The sales data for the seller's account aggregated by ASIN.""" type ByAsinSales { """ The amount of ordered product sales, calculated by multiplying the price of products and the number of units sold for the selected time period. """ - orderedProductSales: Amount! @resultRetention(duration : "P30D") + orderedProductSales: Amount! + """ The amount of ordered product sales to Amazon Business customers, calculated by multiplying the price of products and the number of units sold for the selected time period. Note: This field is only populated when the seller is a B2B seller. """ - orderedProductSalesB2B: Amount @resultRetention(duration : "P30D") - "The number of items that were ordered for the selected time period." - totalOrderItems: Long! @resultRetention(duration : "P30D") + orderedProductSalesB2B: Amount + + """The number of items that were ordered for the selected time period.""" + totalOrderItems: Long! + """ The number of items that were ordered by Amazon Business customers for the selected time period. Note: This field is only populated when the seller is a B2B seller. """ - totalOrderItemsB2B: Long @resultRetention(duration : "P30D") - "The number of units ordered." - unitsOrdered: Long! @resultRetention(duration : "P30D") + totalOrderItemsB2B: Long + + """The number of units ordered.""" + unitsOrdered: Long! + """ The number of units ordered by Amazon Business customers. Note: This field is only populated when the seller is a B2B seller. """ - unitsOrderedB2B: Long @resultRetention(duration : "P30D") + unitsOrderedB2B: Long } -"The traffic data for the seller's account aggregated by ASIN." +"""The traffic data for the seller's account aggregated by ASIN.""" type ByAsinTraffic { - "Browser page views are the number of times a user visited your Amazon.com browser pages for the selected time period." - browserPageViews: Long! @resultRetention(duration : "P30D") + """ + Browser page views are the number of times a user visited your Amazon.com browser pages for the selected time period. + """ + browserPageViews: Long! + """ Browser B2B page views are the number of times an Amazon Business customer visited your Amazon.com browser pages for the selected time period. Note: This field is only populated when the seller is a B2B seller. """ - browserPageViewsB2B: Long @resultRetention(duration : "P30D") + browserPageViewsB2B: Long + """ The percentage of browser page views that a particular SKU/ASIN receives relative to the total number of browser page views for all products. """ - browserPageViewsPercentage: Float! @resultRetention(duration : "P30D") + browserPageViewsPercentage: Float! + """ The percentage of browser views by Amazon Business customers that a particular SKU/ASIN receives relative to the total number of mobile page views by Amazon Business customers for all products. Note: This field is only populated when the seller is a B2B seller. """ - browserPageViewsPercentageB2B: Float @resultRetention(duration : "P30D") + browserPageViewsPercentageB2B: Float + """ The percentage of browser sessions that contain at least one page view for a particular SKU/ASIN relative to the total number of browser sessions for all products. """ - browserSessionPercentage: Float! @resultRetention(duration : "P30D") + browserSessionPercentage: Float! + """ The percentage of browser sessions that contain at least one page view by an Amazon Business customer for a particular SKU/ASIN relative to the total number of browser sessions by Amazon Business customers for all products. Note: This field is only populated when the seller is a B2B seller. """ - browserSessionPercentageB2B: Float @resultRetention(duration : "P30D") + browserSessionPercentageB2B: Float + """ Browser sessions are visits to your Amazon.com browser pages by a user. All browser activity within a 24-hour period is considered a browser session. For example, if a user visits your pages using a browser multiple times within a 24 hour period it is counted as a single browser session. """ - browserSessions: Long! @resultRetention(duration : "P30D") + browserSessions: Long! + """ Browser B2B sessions are visits to your Amazon.com browser pages by an Amazon Business customer. All activity within a 24-hour period is considered a @@ -151,60 +175,70 @@ type ByAsinTraffic { using browser multiple times within a 24 hour period it is counted as a single session. Note: This field is only populated when the seller is a B2B seller. """ - browserSessionsB2B: Long @resultRetention(duration : "P30D") + browserSessionsB2B: Long + """ The percentage of page views where the buy box (the add to shopping cart link) appeared on the page for customers to add your product to their cart. """ - buyBoxPercentage: Float! @resultRetention(duration : "P30D") + buyBoxPercentage: Float! + """ The percentage of page views by Amazon Business customers where the buy box (the add to shopping cart link) appeared on the page for customers to add your product to their cart. Note: This field is only populated when the seller is a B2B seller. """ - buyBoxPercentageB2B: Float @resultRetention(duration : "P30D") + buyBoxPercentageB2B: Float + """ Mobile app page views are the number of times a user visited your Amazon.com mobile app pages for the selected time period. """ - mobileAppPageViews: Long! @resultRetention(duration : "P30D") + mobileAppPageViews: Long! + """ Mobile app B2B page views are the number of times an Amazon Business customer visited your Amazon.com mobile app pages for the selected time period. Note: This field is only populated when the seller is a B2B seller. """ - mobileAppPageViewsB2B: Long @resultRetention(duration : "P30D") + mobileAppPageViewsB2B: Long + """ The percentage of mobile app page views that a particular SKU/ASIN receives relative to the total number of mobile app page views for all products. """ - mobileAppPageViewsPercentage: Float! @resultRetention(duration : "P30D") + mobileAppPageViewsPercentage: Float! + """ The percentage of mobile page views by Amazon Business customers that a particular SKU/ASIN receives relative to the total number of mobile page views by Amazon Business customers for all products. Note: This field is only populated when the seller is a B2B seller. """ - mobileAppPageViewsPercentageB2B: Float @resultRetention(duration : "P30D") + mobileAppPageViewsPercentageB2B: Float + """ The percentage of mobile app sessions that contain at least one page view for a particular SKU/ASIN relative to the total number of mobile app sessions for all products. """ - mobileAppSessionPercentage: Float! @resultRetention(duration : "P30D") + mobileAppSessionPercentage: Float! + """ The percentage of mobile app sessions that contain at least one page view by an Amazon Business customer for a particular SKU/ASIN relative to the total number of mobile app sessions by Amazon Business customers for all products. Note: This field is only populated when the seller is a B2B seller. """ - mobileAppSessionPercentageB2B: Float @resultRetention(duration : "P30D") + mobileAppSessionPercentageB2B: Float + """ Mobile app sessions are visits to your Amazon.com mobile app pages by a user. All mobile app activity within a 24-hour period is considered a mobile app session. For example, if a user visits your pages using a mobile app multiple times within a 24 hour period it is counted as a single mobile app session. """ - mobileAppSessions: Long! @resultRetention(duration : "P30D") + mobileAppSessions: Long! + """ Mobile app B2B sessions are visits to your Amazon.com mobile app pages by an Amazon Business customer. All activity within a 24-hour period is considered a @@ -212,49 +246,57 @@ type ByAsinTraffic { pages using mobile app multiple times within a 24 hour period it is counted as a single session. Note: This field is only populated when the seller is a B2B seller. """ - mobileAppSessionsB2B: Long @resultRetention(duration : "P30D") + mobileAppSessionsB2B: Long + """ Page views are the number of times a user visited your Amazon.com browser or mobile app pages for the selected time period. It is calculated as the sum of browserPageViews and mobileAppPageViews. """ - pageViews: Long! @resultRetention(duration : "P30D") + pageViews: Long! + """ B2B page views are the number of times an Amazon Business customer visited your Amazon.com pages using browser or mobile app for the selected time period. Note: This field is only populated when the seller is a B2B seller. """ - pageViewsB2B: Long @resultRetention(duration : "P30D") + pageViewsB2B: Long + """ The percentage of browser and mobile app page views that a particular SKU/ASIN receives relative to the total number of browser and mobile app page views for all products. """ - pageViewsPercentage: Float! @resultRetention(duration : "P30D") + pageViewsPercentage: Float! + """ The percentage of page views by Amazon Business customers that a particular SKU/ASIN receives relative to the total number of page views by Amazon Business customers for all products. Note: This field is only populated when the seller is a B2B seller. """ - pageViewsPercentageB2B: Float @resultRetention(duration : "P30D") + pageViewsPercentageB2B: Float + """ The percentage of sessions that contain at least one page view for a particular SKU/ASIN relative to the total number of sessions for all products. """ - sessionPercentage: Float! @resultRetention(duration : "P30D") + sessionPercentage: Float! + """ The percentage of sessions that contain at least one page view by an Amazon Business customer for a particular SKU/ASIN relative to the total number of sessions by Amazon Business customers for all products. Note: This field is only populated when the seller is a B2B seller. """ - sessionPercentageB2B: Float @resultRetention(duration : "P30D") + sessionPercentageB2B: Float + """ Sessions are visits to your Amazon.com browser or mobile app pages by a user. All browser and mobile app activity within a 24-hour period is considered a session. It is calculated as the sum of browserSessions and mobileAppSessions. """ - sessions: Long! @resultRetention(duration : "P30D") + sessions: Long! + """ B2B sessions are visits to your Amazon.com pages using browser or mobile app by an Amazon Business customer. All activity within a 24-hour period is @@ -263,138 +305,171 @@ type ByAsinTraffic { counted as a single session. Note: This field is only populated when the seller is a B2B seller. """ - sessionsB2B: Long @resultRetention(duration : "P30D") + sessionsB2B: Long + """ The percentage conversion metric indicating how many units were purchased relative to the number of people who viewed the products, calculated by dividing unitsOrdered by sessions. """ - unitSessionPercentage: Float! @resultRetention(duration : "P30D") + unitSessionPercentage: Float! + """ The percentage conversion metric indicating how many units were purchased by Amazon Business customers relative to the number of Amazon Business customers who viewed the products, calculated by dividing unitsOrderedB2B by sessions. Note: This field is only populated when the seller is a B2B seller. """ - unitSessionPercentageB2B: Float @resultRetention(duration : "P30D") + unitSessionPercentageB2B: Float } -"The sales data for the seller's account aggregated by date." +"""The sales data for the seller's account aggregated by date.""" type ByDateSales { """ The average ordered product sales, calculated by dividing orderedProductSales by totalOrderItems for the selected time period. """ - averageSalesPerOrderItem: Amount! @resultRetention(duration : "P30D") + averageSalesPerOrderItem: Amount! + """ The average ordered product sales to Amazon Business customers, calculated by dividing orderedProductSalesB2B by totalOrderItemsB2B for the selected time period. Note: This field is only populated when the seller is a B2B seller. """ - averageSalesPerOrderItemB2B: Amount @resultRetention(duration : "P30D") + averageSalesPerOrderItemB2B: Amount + """ The average price of the units sold in the selected time period, calculated by dividing the orderedProductSales by unitsOrdered for the selected time period. """ - averageSellingPrice: Amount! @resultRetention(duration : "P30D") + averageSellingPrice: Amount! + """ The average price of the units sold to Amazon Business customers, calculated by dividing the orderedProductSalesB2B by unitsOrderedB2B for the selected time period. Note: This field is only populated when the seller is a B2B seller. """ - averageSellingPriceB2B: Amount @resultRetention(duration : "P30D") - "The average number of units in each order item for the selected time period." - averageUnitsPerOrderItem: Float! @resultRetention(duration : "P30D") + averageSellingPriceB2B: Amount + + """ + The average number of units in each order item for the selected time period. + """ + averageUnitsPerOrderItem: Float! + """ The average number of units in each order item ordered by Amazon Business customers for the selected time period. Note: This field is only populated when the seller is a B2B seller. """ - averageUnitsPerOrderItemB2B: Float @resultRetention(duration : "P30D") - "Monetary amount of filed A-to-z guarantee claims." - claimsAmount: Amount! @resultRetention(duration : "P30D") - "The number of A-to-z guarantee claims granted." - claimsGranted: Long! @resultRetention(duration : "P30D") + averageUnitsPerOrderItemB2B: Float + + """Monetary amount of filed A-to-z guarantee claims.""" + claimsAmount: Amount! + + """The number of A-to-z guarantee claims granted.""" + claimsGranted: Long! + """ The amount of ordered product sales, calculated by multiplying the price of products and the number of units sold for the selected time period. """ - orderedProductSales: Amount! @resultRetention(duration : "P30D") + orderedProductSales: Amount! + """ The amount of ordered product sales to Amazon Business customers, calculated by multiplying the price of products and the number of units sold for the selected time period. """ - orderedProductSalesB2B: Amount @resultRetention(duration : "P30D") - "The number of orders shipped in the selected time period." - ordersShipped: Long! @resultRetention(duration : "P30D") + orderedProductSalesB2B: Amount + + """The number of orders shipped in the selected time period.""" + ordersShipped: Long! + """ The percentage conversion metric indicating how many orders were refunded by the seller, calculated by dividing unitsOrdered by unitsRefunded in the selected time period. """ - refundRate: Float! @resultRetention(duration : "P30D") - "The amount of ordered product sales shipped for the selected time period." - shippedProductSales: Amount! @resultRetention(duration : "P30D") + refundRate: Float! + + """ + The amount of ordered product sales shipped for the selected time period. + """ + shippedProductSales: Amount! + """ The number of items that were ordered for the selected time period. Example: For an order containing 2 copies of book A and 3 copies of book B, the number of orders is 1, the number of order items is 2 (book A and book B), and the number of units is 5 (2 + 3). """ - totalOrderItems: Long! @resultRetention(duration : "P30D") + totalOrderItems: Long! + """ The number of items that were ordered by Amazon Business customers for the selected time period. Example: For an order containing 2 copies of book A and 3 copies of book B, the number of orders is 1, the number of order items is 2 (book A and book B), and the number of units is 5 (2 + 3). """ - totalOrderItemsB2B: Long @resultRetention(duration : "P30D") + totalOrderItemsB2B: Long + """ The number of units ordered for the selected time period. Example: For an order containing 2 copies of book A and 3 copies of book B, the number of orders is 1, the number of order items is 2 (book A and book B), and the number of units is 5 (2 + 3). """ - unitsOrdered: Long! @resultRetention(duration : "P30D") + unitsOrdered: Long! + """ The number of units ordered by Amazon Business customers for the selected time period. Example: For an order containing 2 copies of book A and 3 copies of book B, the number of orders is 1, the number of order items is 2 (book A and book B), and the number of units is 5 (2 + 3). """ - unitsOrderedB2B: Long @resultRetention(duration : "P30D") - "The number of units refunded in the selected time period." - unitsRefunded: Long! @resultRetention(duration : "P30D") - "The number of units shipped in the selected time period." - unitsShipped: Long! @resultRetention(duration : "P30D") + unitsOrderedB2B: Long + + """The number of units refunded in the selected time period.""" + unitsRefunded: Long! + + """The number of units shipped in the selected time period.""" + unitsShipped: Long! } -"The traffic data for the seller's account aggregated by date." +"""The traffic data for the seller's account aggregated by date.""" type ByDateTraffic { """ The average number of offers listed for sale in the selected time period. It is calculated from the total number of offers and the total number of days in the selected time period. """ - averageOfferCount: Long! @resultRetention(duration : "P30D") - "The average number of parent items listed for sale in the selected time period." - averageParentItems: Long! @resultRetention(duration : "P30D") - "Browser page views are the number of times a user visited your Amazon.com browser pages for the selected time period." - browserPageViews: Long! @resultRetention(duration : "P30D") + averageOfferCount: Long! + + """ + The average number of parent items listed for sale in the selected time period. + """ + averageParentItems: Long! + + """ + Browser page views are the number of times a user visited your Amazon.com browser pages for the selected time period. + """ + browserPageViews: Long! + """ Browser B2B page views are the number of times an Amazon Business customer visited your Amazon.com browser pages for the selected time period. Note: This field is only populated when the seller is a B2B seller. """ - browserPageViewsB2B: Long @resultRetention(duration : "P30D") + browserPageViewsB2B: Long + """ Browser sessions are visits to your Amazon.com browser pages by a user. All browser activity within a 24-hour period is considered a browser session. For example, if a user visits your pages using a browser multiple times within a 24 hour period it is counted as a single browser session. """ - browserSessions: Long! @resultRetention(duration : "P30D") + browserSessions: Long! + """ Browser B2B sessions are visits to your Amazon.com browser pages by an Amazon Business customer. All activity within a 24-hour period is considered a @@ -402,38 +477,47 @@ type ByDateTraffic { using browser multiple times within a 24 hour period it is counted as a single session. Note: This field is only populated when the seller is a B2B seller. """ - browserSessionsB2B: Long @resultRetention(duration : "P30D") + browserSessionsB2B: Long + """ The percentage of page views where the buy box (the add to shopping cart link) appeared on the page for customers to add your product to their cart. """ - buyBoxPercentage: Float! @resultRetention(duration : "P30D") + buyBoxPercentage: Float! + """ The percentage of page views by Amazon Business customers where the buy box (the add to shopping cart link) appeared on the page for customers to add your product to their cart. Note: This field is only populated when the seller is a B2B seller. """ - buyBoxPercentageB2B: Float @resultRetention(duration : "P30D") - "The number of times customers left feedback in the selected time period." - feedbackReceived: Long! @resultRetention(duration : "P30D") + buyBoxPercentageB2B: Float + + """ + The number of times customers left feedback in the selected time period. + """ + feedbackReceived: Long! + """ Mobile app page views are the number of times a user visited your Amazon.com mobile app pages for the selected time period. """ - mobileAppPageViews: Long! @resultRetention(duration : "P30D") + mobileAppPageViews: Long! + """ Mobile app B2B page views are the number of times an Amazon Business customer visited your Amazon.com mobile app pages for the selected time period. Note: This field is only populated when the seller is a B2B seller. """ - mobileAppPageViewsB2B: Long @resultRetention(duration : "P30D") + mobileAppPageViewsB2B: Long + """ Mobile app sessions are visits to your Amazon.com mobile app pages by a user. All mobile app activity within a 24-hour period is considered a mobile app session. For example, if a user visits your pages using a mobile app multiple times within a 24 hour period it is counted as a single mobile app session. """ - mobileAppSessions: Long! @resultRetention(duration : "P30D") + mobileAppSessions: Long! + """ Mobile app B2B sessions are visits to your Amazon.com mobile app pages by an Amazon Business customer. All activity within a 24-hour period is considered a @@ -441,44 +525,54 @@ type ByDateTraffic { pages using mobile app multiple times within a 24 hour period it is counted as a single session. Note: This field is only populated when the seller is a B2B seller. """ - mobileAppSessionsB2B: Long @resultRetention(duration : "P30D") - "The number of times customers left negative feedback in the selected time period." - negativeFeedbackReceived: Long! @resultRetention(duration : "P30D") + mobileAppSessionsB2B: Long + + """ + The number of times customers left negative feedback in the selected time period. + """ + negativeFeedbackReceived: Long! + """ The percentage conversion metric indicating how many order items were generated relative to the number of people who viewed the products. """ - orderItemSessionPercentage: Float! @resultRetention(duration : "P30D") + orderItemSessionPercentage: Float! + """ The percentage conversion metric indicating how many order items were generated by Amazon Business customers relative to the number of Amazon Business customers who viewed the products. Note: This field is only populated when the seller is a B2B seller. """ - orderItemSessionPercentageB2B: Float @resultRetention(duration : "P30D") + orderItemSessionPercentageB2B: Float + """ Page views are the number of times a user visited your Amazon.com browser or mobile app pages for the selected time period. It is calculated as the sum of browserPageViews and mobileAppPageViews. """ - pageViews: Long! @resultRetention(duration : "P30D") + pageViews: Long! + """ B2B page views are the number of times an Amazon Business customer visited your Amazon.com pages using browser or mobile app for the selected time period. Note: This field is only populated when the seller is a B2B seller. """ - pageViewsB2B: Long @resultRetention(duration : "P30D") + pageViewsB2B: Long + """ The negative feedback rate is the number of orders that have received negative feedback divided by the number of orders in the selected time period. """ - receivedNegativeFeedbackRate: Float! @resultRetention(duration : "P30D") + receivedNegativeFeedbackRate: Float! + """ Sessions are visits to your Amazon.com browser or mobile app pages by a user. All browser and mobile app activity within a 24-hour period is considered a session. It is calculated as the sum of browserSessions and mobileAppSessions. """ - sessions: Long! @resultRetention(duration : "P30D") + sessions: Long! + """ B2B sessions are visits to your Amazon.com pages using browser or mobile app by an Amazon Business customer. All activity within a 24-hour period is @@ -487,27 +581,31 @@ type ByDateTraffic { counted as a single session. Note: This field is only populated when the seller is a B2B seller. """ - sessionsB2B: Long @resultRetention(duration : "P30D") + sessionsB2B: Long + """ The percentage conversion metric indicating how many units were purchased relative to the number of people who viewed the products. """ - unitSessionPercentage: Float! @resultRetention(duration : "P30D") + unitSessionPercentage: Float! + """ The percentage conversion metric indicating how many units were purchased by Amazon Business customers relative to number of Amazon Business customers who viewed the products. Note: This field is only populated when the seller is a B2B seller. """ - unitSessionPercentageB2B: Float @resultRetention(duration : "P30D") + unitSessionPercentageB2B: Float } -"A root type for queries" +"""A root type for queries""" type Query { - "Analytics Sales and Traffic queries version 2023_11_15." - analytics_salesAndTraffic_2023_11_15: Analytics_SalesAndTraffic_2023_11_15 @deprecated(reason : "No longer supported. Use analytics_salesAndTraffic_2024_04_24 instead.") + """Analytics Sales and Traffic queries version 2023_11_15.""" + analytics_salesAndTraffic_2023_11_15: Analytics_SalesAndTraffic_2023_11_15 } -"The sales and traffic data for the seller's account aggregated by ASIN." +""" +The sales and traffic data for the seller's account aggregated by ASIN. +""" type SalesAndTrafficByAsin { """ The Amazon Standard Identification Number of the child product. Child products @@ -515,66 +613,87 @@ type SalesAndTrafficByAsin { non-sellable parent product. Note: This field is only present when ASIN aggregation is CHILD or SKU. """ - childAsin: String @resultRetention(duration : "P30D") - "The end date of the period of the aggregated data." - endDate: Date! @resultRetention(duration : "P30D") - "The marketplace identifier of the sales and traffic data." - marketplaceId: String! @resultRetention(duration : "P30D") + childAsin: String + + """The end date of the period of the aggregated data.""" + endDate: Date! + + """The marketplace identifier of the sales and traffic data.""" + marketplaceId: String! + """ The Amazon Standard Identification Number of the parent product. A parent product appears in our catalog as a non-buyable, generic identifier for a product that has buyable variations (child products). """ - parentAsin: String! @resultRetention(duration : "P30D") - "The sales data for the parentAsin/childAsin/sku within the specified date range." + parentAsin: String! + + """ + The sales data for the parentAsin/childAsin/sku within the specified date range. + """ sales: ByAsinSales! + """ The Stock Keeping Unit of the product. The SKU is a seller specific product identifier. Note: This field is only present when ASIN aggregation is SKU. """ - sku: String @resultRetention(duration : "P30D") - "The start date of the period of the aggregated data." - startDate: Date! @resultRetention(duration : "P30D") - "The traffic data for the parentAsin/childAsin/sku within the specified date range." + sku: String + + """The start date of the period of the aggregated data.""" + startDate: Date! + + """ + The traffic data for the parentAsin/childAsin/sku within the specified date range. + """ traffic: ByAsinTraffic! } -"The sales and traffic data for the seller's account aggregated by date." +""" +The sales and traffic data for the seller's account aggregated by date. +""" type SalesAndTrafficByDate { - "The end date of the sales and traffic data." - endDate: Date! @resultRetention(duration : "P30D") - "The marketplace identifier of the sales and traffic data." - marketplaceId: String! @resultRetention(duration : "P30D") - "The sales data for the seller's account." + """The end date of the sales and traffic data.""" + endDate: Date! + + """The marketplace identifier of the sales and traffic data.""" + marketplaceId: String! + + """The sales data for the seller's account.""" sales: ByDateSales! - "The start date of the sales and traffic data." - startDate: Date! @resultRetention(duration : "P30D") - "The traffic data for the seller's account." + + """The start date of the sales and traffic data.""" + startDate: Date! + + """The traffic data for the seller's account.""" traffic: ByDateTraffic! } -"The ASIN granularity used in aggregation." +"""The ASIN granularity used in aggregation.""" enum AsinGranularity { - "Sales and traffic data is aggregated by child ASIN." + """Sales and traffic data is aggregated by child ASIN.""" CHILD - "Sales and traffic data is aggregated by parent ASIN." + + """Sales and traffic data is aggregated by parent ASIN.""" PARENT - "Sales and traffic data is aggregated by sku." + + """Sales and traffic data is aggregated by sku.""" SKU } -"The date granularity used in aggregation." +"""The date granularity used in aggregation.""" enum DateGranularity { - "Sales and traffic data is aggregated by day." + """Sales and traffic data is aggregated by day.""" DAY - "Sales and traffic data is aggregated by month." + + """Sales and traffic data is aggregated by month.""" MONTH - "Sales and traffic data is aggregated by week." + + """Sales and traffic data is aggregated by week.""" WEEK } -"An RFC-3339 compliant Full Date Scalar. Example: \"2023-11-15\"" +"""Date""" scalar Date -"A Scalar for the primitive long type." -scalar Long +"""Long""" +scalar Long \ No newline at end of file From 6ffc74eb10db5af8fb104d01bce4226ae54b30a4 Mon Sep 17 00:00:00 2001 From: Jack Evoniuk Date: Mon, 27 Nov 2023 12:27:02 -0800 Subject: [PATCH 284/340] Remove DS Store --- .DS_Store | Bin 8196 -> 0 bytes 1 file changed, 0 insertions(+), 0 deletions(-) delete mode 100644 .DS_Store diff --git a/.DS_Store b/.DS_Store deleted file mode 100644 index 52e8b63df488a9c1c6351c4382e4a169552bc92e..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 8196 zcmeHMU2GIp6u#fIlo>kEDJ)P&$}UtTLV=c_0s^}IL(6Z|ZD}dUc6Vol39~b0XLgHL zwCa;l;$JkzsEJQXR33~PMWYV}MIU@n{J|I>j2dJ7OEfRH)-0$4GXO=OBj-t`ZSOa5Bri)Xpmb!~HKF+TxO$sH|L_zwD+04t1d81j|%}$ve z38Dx@5r`rXMIeem6oLOj1nA7>O`hi57o$-hMIeg6Wf=j!KP2elG#SzfL4&P>x}XFg z%1eNt(LL1xfleZ%$&gM68mN*@Q9U43MOb1$sMC0YPbZoT>4cy{ok6HGgil6Tp&)oV z=_P{c3`s$wK8ipTfvFMT=~Kh<%w+~ME9&>t*-_i_{FataAyrk+sF^9xlxyXiQ-|HL zl%Mg7UPq>|pL6}LYiG;%ne1N697}7lPS^1>mSYwI1dU2|f?#Q zS2%W}(kt65b&9VNRqM-MeNpyGnN_RK*82zc4i2elZElHPf6u6IxsJEjEOT?-8SF|&}*>2k@>o${QbzZLE+IFw&S=`LNA>Taa^RX#I zL&Kh1@H+!zLl)T=v$UdT_L*eVDw$nm+KW{<2<6nAg^QM4y?ph$OqEt? zb+l;tw`xtYENm^-6N>hVe88aR?{W>UX#^wsV*M&v-p}Qo1(SLqR+s75Dq2SF_sCIU zqFG&~Xr9u4gce<>wyJAo%}@sHOxCo8s7>7{Yde&|l8Chs#?&pcGL&=kd3tG2$ZpWv zW$mndkUw~5#`E`#nojwZZqU1BdDuIgDVTf42y$hO9$5|+kK|mX+pv7M5O}>~v99mq zrrHg|G(xBKUcFD&J|Z2>a!M9~oR&{uU2aNl7mLu8Tpr$(7bS>gQ?f;uyJ;RJv>UwqF3Cz-t+ze}{g6_DMMspgllDB~mHT zu3Xfp#s?@J%wv@aT25STCQncK9G|^psT$X2P{IiInq|b+P_hViMRPo^NtC04ZE20G zS`}rW66mgPCKe&H={i-_swo%6*!7LXvXJTMBr`m-9Zm2v6WiJQX1PB%a3$ zcoDDSHN1|~cn4?j9?s%@e1MPfCBDTE_^krTyCx$UzgHr;lqxv3>l`9^8U2%0E?KTh zc-Fw{|L*C(|6j8HM~+1ih$2ASUUgThtAipj-TudG?F3yTbn(XLO$ZvOP#2WrM1yji m=!HKF={`YIxlS^q6M~Y2+Q0rGV7edF(fJ>p{{bQ|kM1wypjK4? From 16571d74464da904effa2d257c8948c1170c5893 Mon Sep 17 00:00:00 2001 From: Gibran Waldron Date: Thu, 7 Dec 2023 08:19:06 -0800 Subject: [PATCH 285/340] Update shipmentStatusUpdates for vendorDirectFulfillmentShippingV1 model. --- .../vendorDirectFulfillmentShippingV1.json | 1336 +++++++++-------- 1 file changed, 740 insertions(+), 596 deletions(-) diff --git a/models/vendor-direct-fulfillment-shipping-api-model/vendorDirectFulfillmentShippingV1.json b/models/vendor-direct-fulfillment-shipping-api-model/vendorDirectFulfillmentShippingV1.json index d21fcea25..f2619ddee 100644 --- a/models/vendor-direct-fulfillment-shipping-api-model/vendorDirectFulfillmentShippingV1.json +++ b/models/vendor-direct-fulfillment-shipping-api-model/vendorDirectFulfillmentShippingV1.json @@ -29,13 +29,13 @@ "tags": [ "vendorShippingLabels" ], - "description": "Returns a list of shipping labels created during the time frame that you specify. You define that time frame using the `createdAfter` and `createdBefore` parameters. You must use both of these parameters. The date range to search must not be more than 7 days.\n\n**Usage Plan:**\n\n| Rate (requests per second) | Burst |\n| ---- | ---- |\n| 10 | 10 |\n\nThe `x-amzn-RateLimit-Limit` response header returns the usage plan rate limits that were applied to the requested operation, when available. The table above indicates the default rate and burst values for this operation. Selling partners whose business demands require higher throughput may see higher rate and burst values than those shown here. For more information, refer to [Usage Plans and Rate Limits in the Selling Partner API](https://developer-docs.amazon.com/sp-api/docs/usage-plans-and-rate-limits-in-the-sp-api).", + "description": "Returns a list of shipping labels created during the time frame that you specify. You define that time frame using the createdAfter and createdBefore parameters. You must use both of these parameters. The date range to search must not be more than 7 days.\n\n**Usage Plan:**\n\n| Rate (requests per second) | Burst |\n| ---- | ---- |\n| 10 | 10 |\n\nThe `x-amzn-RateLimit-Limit` response header returns the usage plan rate limits that were applied to the requested operation, when available. The table above indicates the default rate and burst values for this operation. Selling partners whose business demands require higher throughput may see higher rate and burst values than those shown here. For more information, see [Usage Plans and Rate Limits in the Selling Partner API](https://developer-docs.amazon.com/sp-api/docs/usage-plans-and-rate-limits-in-the-sp-api).", "operationId": "getShippingLabels", "parameters": [ { "name": "shipFromPartyId", "in": "query", - "description": "The vendor `warehouseId` for order fulfillment. If not specified, the result will contain orders for all warehouses.", + "description": "The vendor warehouseId for order fulfillment. If not specified, the result will contain orders for all warehouses.", "required": false, "type": "string" }, @@ -51,7 +51,7 @@ { "name": "createdAfter", "in": "query", - "description": "Shipping labels that became available after this date and time will be included in the result. Must be in ISO 8601 date/time format.", + "description": "Shipping labels that became available after this date and time will be included in the result. Must be in ISO-8601 date/time format.", "required": true, "type": "string", "format": "date-time" @@ -59,7 +59,7 @@ { "name": "createdBefore", "in": "query", - "description": "Shipping labels that became available before this date and time will be included in the result. Must be in ISO 8601 date/time format.", + "description": "Shipping labels that became available before this date and time will be included in the result. Must be in ISO-8601 date/time format.", "required": true, "type": "string", "format": "date-time" @@ -179,94 +179,94 @@ { "purchaseOrderNumber": "2JK3S9VC", "sellingParty": { - "partyId": "999US" - }, - "shipFromParty": { - "partyId": "ABCD" - }, - "labelFormat": "PNG", - "labelData": [ - { - "packageIdentifier": "PKG001", - "trackingNumber": "1Z6A34Y60369738804", - "shipMethod": "UPS_GR_RES", - "shipMethodName": "UPS Ground Residential", - "content": "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AAFiCBAAABAgAgQAAASIIUAAABAghgABAAABYggQAAAEiNE4QAzDMAzDMAzDMASIYRiGYRiGYRgCxDAMwzAMwzAMQ4AYhmEYhmEYhiFADMMwDMMwDMMw/jdAAAAAio50JkAAAAABAgAACBAAAAABAgAACBAAAAABAgAACBAAAECAAAAACBAAAECAAAAACBAAAECAAAAAAoRXbAT/MX77myfXs3IfRu/nymVXrn/0PjxZ3qjlyngcV5Yx+7JRj2nGfcjYxla2n8rHonKbjFqf2a+B3V43Ml6rK99rop7jGa+Hu173std/9uv86H1buQ8IEASIABEgAkSACBABIkAEiAARIAgQASJABIgAESACRIAIEAGCAEGACBABIkAEiAARIAJEgAgQAYIAESACRIAIEAEiQASIABEgCBAEiAARIAJEgAgQASJABAgCBAEiQASIABEgAkSACBABIkAECAJEgAgQASJABIgAESACRIAgQBAgAkSACBABIkAEiAARIAJEgCBABIgAESACRIAIEAEiQAQIAgQBIkAEiAARIAJEgAgQAYIAQYAIEAEiQASIABEgAkSACBABggARIAJEgAgQASJABIgAESAIEASIABEgAkSACBABIkAEiAARIAgQASJABIgAESACRIAIEAGCAEGACBABIkAEiAARIAJEgCBAECACRIAIEAEiQASIABEgAsTcU4DYCASIABEgAkSACBABIkAECAIEASJABIgAESACRIAIEAEiQAQIAkSACBABIkAEiAARIAJEgCBAECACRIAIEAEiQASIABEgCBAEiAARIAJEgAgQASJABIgAQYAgQASIABEgAkSACBABIkAQIAgQASJABIgAESACRIAIEAEiQBAgAkSACBABIkAEiAARIAIEAYIAESACRIAIEAEiQASIABEgAgQBIkAEiAARIAJEgAgQASJAECAIEAEiQASIABEgAkSACBAECAJEgAgQASJABIgAESACRIAIEASIABEgAkSACBABIkAEiABBgCBABIgAESACRIAIEAEiQASIAEGACBABIkAEiAARIAJEgAgQBAgCRIAIEAEiQASIABEgAgQBggARIAJEgAgQASJABIgAESACBAEiQASIABEgAkSACBABIkAQIAgQASJABIgAESACRIAIEAEiQBAgAkSACBABIkAEiAARIAIEAYIAESACRIAIEAEiQASIAEGAIEAEiAARIAJEgAgQASJABIgAQYAIEAEiQASIABEgAkSACBAECAJEgAgQASJABIgAESACRIAIEASIABEgAkSACBABIkAEiABBgCBABIgAESACRIAIEAEiQBAgCBABIkAEiAARIAJEgAgQAWLu6YGyEQgQASJABIgAESACRIAIEAQIAkSACBABIkAEiAARIAJEgAgQBIgAESACRIAIEAEiQASIAEGAIEAEiAARIAJEgAgQASJAECAIEAEiQGLfmKJGxwCJmCQLEAEiQASIAEGAIEAEiAARIOEB8uftVU4wKh+fXQGyazs85b5FvdfsWp7M18PO21rE66MAQYAgQATINQHS6Y1WgAgQAbI2ORUgAkSAIEAQIAKkdYCcMgnM3oajJlQCRIB0CxEBIkAECAIEASJAWgTIaZPAjgHy7ZsTASJAOk9WBYgAESACBAEiQARIWYCcOAkUIAJk17cIp09a3xQgt0SIAEGAIEAEyFUBEvmGGHX9JwdI1k7E3SaZpwZI1YRtdRvInLjueoyinrMZl41+3YvefgQIAgQBIkCuCZCqiYQAESCd13/HAIlcXxHvNTcGyOprkwARIAIEASJABEjhRFSACBAB0mcbqDhPjQARIAJEgCBABIgAESACRIC8LECibluACBABggBBgAgQASJABIgAKYsQASJABAgCBAEiQASIABEgAkSACBABggBBgAgQASJA7g6QlXUhQPYFSMXzWoAIEAEiQBAgAkSACBABIkAEiAARIAIEAYIAESACRIAIEAEiQASIABEgAgQBIkAEiAARIMtHRRIgAkSACBABIkAQIAJEgAgQAfLaAMma/AsQASJABIgAQYAIEAEiQASIABEgAuRVAVL5+iBAECAIEAEiQBoHSOQ67BogqxEiQASIABEgAkSAIEAEiAA5LkAyJt4C5J4AyZz8CxABIkAEiABBgAgQASJABIgAESACRIAIEAQIAkSACJB3BUj0OrwtQEYmpwJEgAgQAYIAQYAIEAEiQATIEQGSPfkXIAKkKkC6vD4IEAQIAkSACJCGAZKxDgWIABEgAkSAIEAQIAJEgAgQAfJv/qGJBYgAESACBAGCABEgAiR8MiFA5n7WJUAEiAC5P0A6fUAhQBAgCBABcmSARLwxCRABIkAEiAARIAgQBIgAESAh+wIIEAEiQASIABEgCBAEiAARIKVBIkDGY02ACBABIkAECAIEASJArgyQ7EmnABEgAkSACBABggBBgAgQAVIWICuHaRUgewMka5kFyP4AmX2vESBrAdLtKHkCBAGCABEg2wKkKkI6BUj1pHdl2QWIABEgvQJk9wE9BAgCBAEiQK4IkC5vwgKkV4BEL7cAiQuQyAMgCBABIkDMPQWIjUCACJAtAdLhjbgiQHZMegWIAIkMkKplFyACRIAIEASIABEgZW9MAkSACJCeAVK57AJEgAgQAYIAESACpPSNSYAIkOhlFyBrz+XI7UuACBABggBBgAiQdgGy4805O0B2TXoFiACJeh2I2rYESMy2mPm+KUAQIAgQASJANkaIABEgNwXIbz9xy17nAsR5QAQIAgQBIkAEiAA5IkAyJp9vD5Dd25MAESACBAGCABEgAmTx9+rf1s/pE0YBIkCqtyUBIkAEiABBgAgQAdLqjSl7EiZA7g2Q6nh5S4Bkv9cIEAEiQAQIAkSACJDtAZI5GRMgvQIkYh0KkB7xIUD2Bci32xMgCBAEiAARIIOXzZpUrU5musdH5O/2Bci9AZL1Oi9ABIgAMfcUIDYCASJAjg2Q6ImZALkvQHbsP3LbmdAFiAARIAgQBIgAESCNA6Ryp+mI+9A5QCIm3gJEgAgQAYIAQYAIEAHSNkC+TXwEiAARIALktACJfK8XIAgQBIgAESAJkxYBck+A7DqErwARIAJEgCBAECACRIAIkKTnjgARIAJEgAgQBAgCRIC0DZDsT92jJmsCRIAIEAGSFQgCRICYewoQG4EAESACRIAIEAEiQASIAEGAIEAEyM0BkjXpjZiwvTFARg+DK0AEiAC5O0BGzwsjQBAgCBABIkAEiAARIAJEgAgQBAgCRIAIkLcGSFZQRE/UBYgAESACRIAgQBAgAkSAFAZI1mMhQASIABEgAkSAIEAQIAJEgAgQASJABIgAESAIEASIABEgZwXI6nV2CpDu26QAESACRIAIEAGCABEgAqRlgFROFAVI7TYpQASIABEgAkSAIEAEiABJe+M+PUCyg0KACBABIkAEiAARIAgQASJANgdI5b4Pu4MiI0Ay94WJ2iYFiAARILEBUrGPmABBgCBABMiVAVJ9/gsBIkAEiAARIAIEAYIAESACpEWARD5e1QGSeUJGASJABIgAESDmngLERiBABMi2AKlaD523GQGSf5SzrG3ylAD5baIpQASIAEGAIEAEyGsDJPLNLztAon/O1DVAor41eroubw2QlZ+0ZWzvpwRI5ra6M0Aynm+r67/qPEECBAGCABEgxwXIrslJ53NPnLa+d03kuq+jDtvfrQFySpCfuJwCBAGCABEgAkSACJBD19GbA+RNE3MBIkAQIAgQASJABIgAMYEVIAJEgCBAECACRIAIEAEiQASIABEgAkSAIEAEiAA5KECythkBclaAnDIpFCACRIAIEAGCABEgAiQpQLLfqCu3mextOGObzHocd2+TGQGS8RrY7XUj47W68r2m8ihY2e+J2Y9jh9cHAYIAQYAIkBYBkvlGLEAEiAARIAJEgCBAECACRIAIEAEiQASIABEgAsTc0wNlIxAgAkSACBABIkAEiAARIAgQBIgAESACRIAIEAEiQASIABEgCBABIkAEiAARIAJEgAgQAYIAQYAIEAEiQASIABEgAkSAIEAQIAJEgAgQASJABIgAESACBAGCABEgAkSACBABIkAEiABBgCBABIgAESACRIAIEAEiQASIAEGACBABIkAEiAARIAJEgAgQBAgCRIAIEAEiQASIABEgAkSACBAEiAARIAJEgAgQASJABIgAQYAgQASIABEgAkSACBABIkAQIAgQASJABIgAESACRIAIEAEiQBAgAkSACBABIkAEiAARIAIEAYIAESACRIAIEAEiQASIABEgAgQBIkAEiAARIAJEgAgQASJAECAIEAEiQASIABEgAkSACBAECAJEgAgQASJABIgAESACRIAIEASIABEgAkSACBABIkAEiABBgCBABIgAESACRIAIEAEiQASIAEGACBABIkAEiAARIAJEgAgQBAgCRIAIEAEiQASIABEgAgQBggARIAJEgAgQASJABIgAESACBAEiQASIABEgAkSACBABIkAQIAgQASJABIgAESACRIAIEAEiQBAgAkSACBABIkAEiAARIAIEAYIAESACRIAIEAEiQASIAEGAIEAEiAARIAJEgAgQASJABIgAQYAIEAEiQASIABEgAkSACBAECAJEgAgQASJABIgAESACRIAIEASIABEgAkSACBABIkAEiABBgCBABIgAESACRIAIEAEiQBAgCBABIkAEiAARIAJEgAgQAWLuKUAQIAJEgAgQASJABIgAESAIEASIABEgAkSACBABIkAEiAARIAgQASJABIgAESACRIAIEAGCAEGACBABIkAEiAARIAJEgJjXChAEiAARIAJEgAgQASJABIgAQYAgQASIABEgAkSACBABIkAQIAgQASJABIgAESACRIAIEAEiQBAgAkSACBABIkAEiAARIAIEAYIAESACRIAIEAEiQASIABEgAgQBIkAEiAARIAJEgAgQASJAECAIEAEiQASIABEgAkSACBAECAJEgAgQASJABIgAESACRIAIEASIABEgAkSACBABIkAEiABBgCBABIgAESACRIAIEAEiQASIAEGACBABIkAEiAARIAJEgAgQBAgCRIAIEAEiQASIABEgAgQBggARIAJEgAgQASJABIgAESACBAEiQASIABEgAkSACBABIkAQIAgQASJABIgAESACRIAIEAEiQBAgAkSACBABIkAEiAARIAIEAYIAESACRIAIEAEiQASIAEGAIEAEiAARIAJEgAgQASJABIgAQYAIEAEiQASIABEgAkSACBAECAJEgAgQASJABIgAESACRIAIEASIABEgAkSACBABIkAEiABBgCBABIgAESACRIAIEAEiQBAgCBABIkAEiAARIAJEgAgQAWLuKUBsBAJEgAgQASJABIgAESACBAGCABEgAkSACBABIkAEiAARIAIEASJABIgAESACRIAIEAEiQBAgCBABIkAEiAARIAJEgAgQBAgCRIAIEAEiQASIABEgAkSAIEAQIAJEgAgQASJABIgAESAIEASIABEgAkSACBABIkAEiAARIAgQASJABIgAESACRIAIEAGCAEGACBABIkAEiAARIAJEgAgQAYIAESACRIAIEAEiQASIABEgCBAEiAARIAJEgAgQASJABAgCBAEiQASIABEgAkSACBABIkAECAJEgAgQASJABIgAESACRIAgQBAgAkSACBABIkAEiAARIAJEgCBABIgAESACRIAIEAEiQAQIAgQBIkAEiAARIAJEgAgQAYIAQYAIEAEiQASIABEgAkSACBABggARIAJEgAgQASJABIgAESAIEASIABEgAkSACBABIkAEiAARIAgQASJABIgAESACRIAIEAGCAEGACBABIkAEiAARIAJEgCBAECACRIAIEAEiQASIABEgAkSAIEAEiAARIAJEgAgQASJABAgCBAEiQASIABEgAkSACBABIkAECAJEgAgQASJABIgAESACRIAgQBAgAkSACBABIkAE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" - } - ] + "partyId": "999US" }, - { - "purchaseOrderNumber": "2JK3S9VD", - "sellingParty": { - "partyId": "999US" - }, - "shipFromParty": { - "partyId": "ABCD" - }, - "labelFormat": "PNG", - "labelData": [ - { - "packageIdentifier": "PKG002", - "trackingNumber": "1Z6A34Y60369738805", - "shipMethod": "UPS_GR_RES", - "shipMethodName": "UPS Ground Residential", - "content": "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AAFiCBAAABAgAgQAAASIIUAAABAghgABAAABYggQAAAEiNE4QAzDMAzDMAzDMASIYRiGYRiGYRgCxDAMwzAMwzAMQ4AYhmEYhmEYhiFADMMwDMMwDMMw/jdAAAAAio50JkAAAAABAgAACBAAAAABAgAACBAAAAABAgAACBAAAECAAAAACBAAAECAAAAACBAAAECAAAAAAoRXbAT/MX77myfXs3IfRu/nymVXrn/0PjxZ3qjlyngcV5Yx+7JRj2nGfcjYxla2n8rHonKbjFqf2a+B3V43Ml6rK99rop7jGa+Hu173std/9uv86H1buQ8IEASIABEgAkSACBABIkAEiAARIAgQASJABIgAESACRIAIEAGCAEGACBABIkAEiAARIAJEgAgQAYIAESACRIAIEAEiQASIABEgCBAEiAARIAJEgAgQASJABAgCBAEiQASIABEgAkSACBABIkAECAJEgAgQASJABIgAESACRIAgQBAgAkSACBABIkAEiAARIAJEgCBABIgAESACRIAIEAEiQAQIAgQBIkAEiAARIAJEgAgQAYIAQYAIEAEiQASIABEgAkSACBABggARIAJEgAgQASJABIgAESAIEASIABEgAkSACBABIkAEiAARIAgQASJABIgAESACRIAIEAGCAEGACBABIkAEiAARIAJEgCBAECACRIAIEAEiQASIABEgAsTcU4DYCASIABEgAkSACBABIkAECAIEASJABIgAESACRIAIEAEiQAQIAkSACBABIkAEiAARIAJEgCBAECACRIAIEAEiQASIABEgCBAEiAARIAJEgAgQASJABIgAQYAgQASIABEgAkSACBABIkAQIAgQASJABIgAESACRIAIEAEiQBAgAkSACBABIkAEiAARIAIEAYIAESACRIAIEAEiQASIABEgAgQBIkAEiAARIAJEgAgQASJAECAIEAEiQASIABEgAkSACBAECAJEgAgQASJABIgAESACRIAIEASIABEgAkSACBABIkAEiABBgCBABIgAESACRIAIEAEiQASIAEGACBABIkAEiAARIAJEgAgQBAgCRIAIEAEiQASIABEgAgQBggARIAJEgAgQASJABIgAESACBAEiQASIABEgAkSACBABIkAQIAgQASJABIgAESACRIAIEAEiQBAgAkSACBABIkAEiAARIAIEAYIAESACRIAIEAEiQASIAEGAIEAEiAARIAJEgAgQASJABIgAQYAIEAEiQASIABEgAkSACBAECAJEgAgQASJABIgAESACRIAIEASIABEgAkSACBABIkAEiABBgCBABIgAESACRIAIEAEiQBAgCBABIkAEiAARIAJEgAgQAWLu6YGyEQgQASJABIgAESACRIAIEAQIAkSACBABIkAEiAARIAJEgAgQBIgAESACRIAIEAEiQASIAEGAIEAEiAARIAJEgAgQASJAECAIEAEiQGLfmKJGxwCJmCQLEAEiQASIAEGAIEAEiAARIOEB8uftVU4wKh+fXQGyazs85b5FvdfsWp7M18PO21rE66MAQYAgQATINQHS6Y1WgAgQAbI2ORUgAkSAIEAQIAKkdYCcMgnM3oajJlQCRIB0CxEBIkAECAIEASJAWgTIaZPAjgHy7ZsTASJAOk9WBYgAESACBAEiQARIWYCcOAkUIAJk17cIp09a3xQgt0SIAEGAIEAEyFUBEvmGGHX9JwdI1k7E3SaZpwZI1YRtdRvInLjueoyinrMZl41+3YvefgQIAgQBIkCuCZCqiYQAESCd13/HAIlcXxHvNTcGyOprkwARIAIEASJABEjhRFSACBAB0mcbqDhPjQARIAJEgCBABIgAESACRIC8LECibluACBABggBBgAgQASJABIgAKYsQASJABAgCBAEiQASIABEgAkSACBABggBBgAgQASJA7g6QlXUhQPYFSMXzWoAIEAEiQBAgAkSACBABIkAEiAARIAIEAYIAESACRIAIEAEiQASIABEgAgQBIkAEiAARIMtHRRIgAkSACBABIkAQIAJEgAgQAfLaAMma/AsQASJABIgAQYAIEAEiQASIABEgAuRVAVL5+iBAECAIEAEiQBoHSOQ67BogqxEiQASIABEgAkSAIEAEiAA5LkAyJt4C5J4AyZz8CxABIkAEiABBgAgQASJABIgAESACRIAIEAQIAkSACJB3BUj0OrwtQEYmpwJEgAgQAYIAQYAIEAEiQATIEQGSPfkXIAKkKkC6vD4IEAQIAkSACJCGAZKxDgWIABEgAkSAIEAQIAJEgAgQAfJv/qGJBYgAESACBAGCABEgAiR8MiFA5n7WJUAEiAC5P0A6fUAhQBAgCBABcmSARLwxCRABIkAEiAARIAgQBIgAESAh+wIIEAEiQASIABEgCBAEiAARIKVBIkDGY02ACBABIkAECAIEASJArgyQ7EmnABEgAkSACBABggBBgAgQAVIWICuHaRUgewMka5kFyP4AmX2vESBrAdLtKHkCBAGCABEg2wKkKkI6BUj1pHdl2QWIABEgvQJk9wE9BAgCBAEiQK4IkC5vwgKkV4BEL7cAiQuQyAMgCBABIkDMPQWIjUCACJAtAdLhjbgiQHZMegWIAIkMkKplFyACRIAIEASIABEgZW9MAkSACJCeAVK57AJEgAgQAYIAESACpPSNSYAIkOhlFyBrz+XI7UuACBABggBBgAiQdgGy4805O0B2TXoFiACJeh2I2rYESMy2mPm+KUAQIAgQASJANkaIABEgNwXIbz9xy17nAsR5QAQIAgQBIkAEiAA5IkAyJp9vD5Dd25MAESACBAGCABEgAmTx9+rf1s/pE0YBIkCqtyUBIkAEiABBgAgQAdLqjSl7EiZA7g2Q6nh5S4Bkv9cIEAEiQAQIAkSACJDtAZI5GRMgvQIkYh0KkB7xIUD2Bci32xMgCBAEiAARIIOXzZpUrU5musdH5O/2Bci9AZL1Oi9ABIgAMfcUIDYCASJAjg2Q6ImZALkvQHbsP3LbmdAFiAARIAgQBIgAESCNA6Ryp+mI+9A5QCIm3gJEgAgQAYIAQYAIEAHSNkC+TXwEiAARIALktACJfK8XIAgQBIgAESAJkxYBck+A7DqErwARIAJEgCBAECACRIAIkKTnjgARIAJEgAgQBAgCRIC0DZDsT92jJmsCRIAIEAGSFQgCRICYewoQG4EAESACRIAIEAEiQASIAEGAIEAEyM0BkjXpjZiwvTFARg+DK0AEiAC5O0BGzwsjQBAgCBABIkAEiAARIAJEgAgQBAgCRIAIkLcGSFZQRE/UBYgAESACRIAgQBAgAkSAFAZI1mMhQASIABEgAkSAIEAQIAJEgAgQASJABIgAESAIEASIABEgZwXI6nV2CpDu26QAESACRIAIEAGCABEgAqRlgFROFAVI7TYpQASIABEgAkSAIEAEiABJe+M+PUCyg0KACBABIkAEiAARIAgQASJANgdI5b4Pu4MiI0Ay94WJ2iYFiAARILEBUrGPmABBgCBABMiVAVJ9/gsBIkAEiAARIAIEAYIAESACpEWARD5e1QGSeUJGASJABIgAESDmngLERiBABMi2AKlaD523GQGSf5SzrG3ylAD5baIpQASIAEGAIEAEyGsDJPLNLztAon/O1DVAor41eroubw2QlZ+0ZWzvpwRI5ra6M0Aynm+r67/qPEECBAGCABEgxwXIrslJ53NPnLa+d03kuq+jDtvfrQFySpCfuJwCBAGCABEgAkSACJBD19GbA+RNE3MBIkAQIAgQASJABIgAMYEVIAJEgCBAECACRIAIEAEiQASIABEgAkSAIEAEiAA5KECythkBclaAnDIpFCACRIAIEAGCABEgAiQpQLLfqCu3mextOGObzHocd2+TGQGS8RrY7XUj47W68r2m8ihY2e+J2Y9jh9cHAYIAQYAIkBYBkvlGLEAEiAARIAJEgCBAECACRIAIEAEiQASIABEgAsTc0wNlIxAgAkSACBABIkAEiAARIAgQBIgAESACRIAIEAEiQASIABEgCBABIkAEiAARIAJEgAgQAYIAQYAIEAEiQASIABEgAkSAIEAQIAJEgAgQASJABIgAESACBAGCABEgAkSACBABIkAEiABBgCBABIgAESACRIAIEAEiQASIAEGACBABIkAEiAARIAJEgAgQBAgCRIAIEAEiQASIABEgAkSACBAEiAARIAJEgAgQASJABIgAQYAgQASIABEgAkSACBABIkAQIAgQASJABIgAESACRIAIEAEiQBAgAkSACBABIkAEiAARIAIEAYIAESACRIAIEAEiQASIABEgAgQBIkAEiAARIAJEgAgQASJAECAIEAEiQASIABEgAkSACBAECAJEgAgQASJABIgAESACRIAIEASIABEgAkSACBABIkAEiABBgCBABIgAESACRIAIEAEiQASIAEGACBABIkAEiAARIAJEgAgQBAgCRIAIEAEiQASIABEgAgQBggARIAJEgAgQASJABIgAESACBAEiQASIABEgAkSACBABIkAQIAgQASJABIgAESACRIAIEAEiQBAgAkSACBABIkAEiAARIAIEAYIAESACRIAIEAEiQASIAEGAIEAEiAARIAJEgAgQASJABIgAQYAIEAEiQASIABEgAkSACBAECAJEgAgQASJABIgAESACRIAIEASIABEgAkSACBABIkAEiABBgCBABIgAESACRIAIEAEiQBAgCBABIkAEiAARIAJEgAgQAWLuKUAQIAJEgAgQASJABIgAESAIEASIABEgAkSACBABIkAEiAARIAgQASJABIgAESACRIAIEAGCAEGACBABIkAEiAARIAJEgJjXChAEiAARIAJEgAgQASJABIgAQYAgQASIABEgAkSACBABIkAQIAgQASJABIgAESACRIAIEAEiQBAgAkSACBABIkAEiAARIAIEAYIAESACRIAIEAEiQASIABEgAgQBIkAEiAARIAJEgAgQASJAECAIEAEiQASIABEgAkSACBAECAJEgAgQASJABIgAESACRIAIEASIABEgAkSACBABIkAEiABBgCBABIgAESACRIAIEAEiQASIAEGACBABIkAEiAARIAJEgAgQBAgCRIAIEAEiQASIABEgAgQBggARIAJEgAgQASJABIgAESACBAEiQASIABEgAkSACBABIkAQIAgQASJABIgAESACRIAIEAEiQBAgAkSACBABIkAEiAARIAIEAYIAESACRIAIEAEiQASIAEGAIEAEiAARIAJEgAgQASJABIgAQYAIEAEiQASIABEgAkSACBAECAJEgAgQASJABIgAESACRIAIEASIABEgAkSACBABIkAEiABBgCBABIgAESACRIAIEAEiQBAgCBABIkAEiAARIAJEgAgQAWLuKUBsBAJEgAgQASJABIgAESACBAGCABEgAkSACBABIkAEiAARIAIEASJABIgAESACRIAIEAEiQBAgCBABIkAEiAARIAJEgAgQBAgCRIAIEAEiQASIABEgAkSAIEAQIAJEgAgQASJABIgAESAIEASIABEgAkSACBABIkAEiAARIAgQASJABIgAESACRIAIEAGCAEGACBABIkAEiAARIAJEgAgQAYIAESACRIAIEAEiQASIABEgCBAEiAARIAJEgAgQASJABAgCBAEiQASIABEgAkSACBABIkAECAJEgAgQASJABIgAESACRIAgQBAgAkSACBABIkAEiAARIAJEgCBABIgAESACRIAIEAEiQAQIAgQBIkAEiAARIAJEgAgQAYIAQYAIEAEiQASIABEgAkSACBABggARIAJEgAgQASJABIgAESAIEASIABEgAkSACBABIkAEiAARIAgQASJABIgAESACRIAIEAGCAEGACBABIkAEiAARIAJEgCBAECACRIAIEAEiQASIABEgAkSAIEAEiAARIAJEgAgQASJABAgCBAEiQASIABEgAkSACBABIkAECAJEgAgQASJABIgAESACRIAgQBAgAkSACBABIkAE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" - } - ] - } - ] - } + "shipFromParty": { + "partyId": "ABCD" + }, + "labelFormat": "PNG", + "labelData": [ + { + "packageIdentifier": "PKG001", + "trackingNumber": "1Z6A34Y60369738804", + "shipMethod": "UPS_GR_RES", + "shipMethodName": "UPS Ground Residential", + "content": "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AAFiCBAAABAgAgQAAASIIUAAABAghgABAAABYggQAAAEiNE4QAzDMAzDMAzDMASIYRiGYRiGYRgCxDAMwzAMwzAMQ4AYhmEYhmEYhiFADMMwDMMwDMMw/jdAAAAAio50JkAAAAABAgAACBAAAAABAgAACBAAAAABAgAACBAAAECAAAAACBAAAECAAAAACBAAAECAAAAAAoRXbAT/MX77myfXs3IfRu/nymVXrn/0PjxZ3qjlyngcV5Yx+7JRj2nGfcjYxla2n8rHonKbjFqf2a+B3V43Ml6rK99rop7jGa+Hu173std/9uv86H1buQ8IEASIABEgAkSACBABIkAEiAARIAgQASJABIgAESACRIAIEAGCAEGACBABIkAEiAARIAJEgAgQAYIAESACRIAIEAEiQASIABEgCBAEiAARIAJEgAgQASJABAgCBAEiQASIABEgAkSACBABIkAECAJEgAgQASJABIgAESACRIAgQBAgAkSACBABIkAEiAARIAJEgCBABIgAESACRIAIEAEiQAQIAgQBIkAEiAARIAJEgAgQAYIAQYAIEAEiQASIABEgAkSACBABggARIAJEgAgQASJABIgAESAIEASIABEgAkSACBABIkAEiAARIAgQASJABIgAESACRIAIEAGCAEGACBABIkAEiAARIAJEgCBAECACRIAIEAEiQASIABEgAsTcU4DYCASIABEgAkSACBABIkAECAIEASJABIgAESACRIAIEAEiQAQIAkSACBABIkAEiAARIAJEgCBAECACRIAIEAEiQASIABEgCBAEiAARIAJEgAgQASJABIgAQYAgQASIABEgAkSACBABIkAQIAgQASJABIgAESACRIAIEAEiQBAgAkSACBABIkAEiAARIAIEAYIAESACRIAIEAEiQASIABEgAgQBIkAEiAARIAJEgAgQASJAECAIEAEiQASIABEgAkSACBAECAJEgAgQASJABIgAESACRIAIEASIABEgAkSACBABIkAEiABBgCBABIgAESACRIAIEAEiQASIAEGACBABIkAEiAARIAJEgAgQBAgCRIAIEAEiQASIABEgAgQBggARIAJEgAgQASJABIgAESACBAEiQASIABEgAkSACBABIkAQIAgQASJABIgAESACRIAIEAEiQBAgAkSACBABIkAEiAARIAIEAYIAESACRIAIEAEiQASIAEGAIEAEiAARIAJEgAgQASJABIgAQYAIEAEiQASIABEgAkSACBAECAJEgAgQASJABIgAESACRIAIEASIABEgAkSACBABIkAEiABBgCBABIgAESACRIAIEAEiQBAgCBABIkAEiAARIAJEgAgQAWLu6YGyEQgQASJABIgAESACRIAIEAQIAkSACBABIkAEiAARIAJEgAgQBIgAESACRIAIEAEiQASIAEGAIEAEiAARIAJEgAgQASJAECAIEAEiQGLfmKJGxwCJmCQLEAEiQASIAEGAIEAEiAARIOEB8uftVU4wKh+fXQGyazs85b5FvdfsWp7M18PO21rE66MAQYAgQATINQHS6Y1WgAgQAbI2ORUgAkSAIEAQIAKkdYCcMgnM3oajJlQCRIB0CxEBIkAECAIEASJAWgTIaZPAjgHy7ZsTASJAOk9WBYgAESACBAEiQARIWYCcOAkUIAJk17cIp09a3xQgt0SIAEGAIEAEyFUBEvmGGHX9JwdI1k7E3SaZpwZI1YRtdRvInLjueoyinrMZl41+3YvefgQIAgQBIkCuCZCqiYQAESCd13/HAIlcXxHvNTcGyOprkwARIAIEASJABEjhRFSACBAB0mcbqDhPjQARIAJEgCBABIgAESACRIC8LECibluACBABggBBgAgQASJABIgAKYsQASJABAgCBAEiQASIABEgAkSACBABggBBgAgQASJA7g6QlXUhQPYFSMXzWoAIEAEiQBAgAkSACBABIkAEiAARIAIEAYIAESACRIAIEAEiQASIABEgAgQBIkAEiAARIMtHRRIgAkSACBABIkAQIAJEgAgQAfLaAMma/AsQASJABIgAQYAIEAEiQASIABEgAuRVAVL5+iBAECAIEAEiQBoHSOQ67BogqxEiQASIABEgAkSAIEAEiAA5LkAyJt4C5J4AyZz8CxABIkAEiABBgAgQASJABIgAESACRIAIEAQIAkSACJB3BUj0OrwtQEYmpwJEgAgQAYIAQYAIEAEiQATIEQGSPfkXIAKkKkC6vD4IEAQIAkSACJCGAZKxDgWIABEgAkSAIEAQIAJEgAgQAfJv/qGJBYgAESACBAGCABEgAiR8MiFA5n7WJUAEiAC5P0A6fUAhQBAgCBABcmSARLwxCRABIkAEiAARIAgQBIgAESAh+wIIEAEiQASIABEgCBAEiAARIKVBIkDGY02ACBABIkAECAIEASJArgyQ7EmnABEgAkSACBABggBBgAgQAVIWICuHaRUgewMka5kFyP4AmX2vESBrAdLtKHkCBAGCABEg2wKkKkI6BUj1pHdl2QWIABEgvQJk9wE9BAgCBAEiQK4IkC5vwgKkV4BEL7cAiQuQyAMgCBABIkDMPQWIjUCACJAtAdLhjbgiQHZMegWIAIkMkKplFyACRIAIEASIABEgZW9MAkSACJCeAVK57AJEgAgQAYIAESACpPSNSYAIkOhlFyBrz+XI7UuACBABggBBgAiQdgGy4805O0B2TXoFiACJeh2I2rYESMy2mPm+KUAQIAgQASJANkaIABEgNwXIbz9xy17nAsR5QAQIAgQBIkAEiAA5IkAyJp9vD5Dd25MAESACBAGCABEgAmTx9+rf1s/pE0YBIkCqtyUBIkAEiABBgAgQAdLqjSl7EiZA7g2Q6nh5S4Bkv9cIEAEiQAQIAkSACJDtAZI5GRMgvQIkYh0KkB7xIUD2Bci32xMgCBAEiAARIIOXzZpUrU5musdH5O/2Bci9AZL1Oi9ABIgAMfcUIDYCASJAjg2Q6ImZALkvQHbsP3LbmdAFiAARIAgQBIgAESCNA6Ryp+mI+9A5QCIm3gJEgAgQAYIAQYAIEAHSNkC+TXwEiAARIALktACJfK8XIAgQBIgAESAJkxYBck+A7DqErwARIAJEgCBAECACRIAIkKTnjgARIAJEgAgQBAgCRIC0DZDsT92jJmsCRIAIEAGSFQgCRICYewoQG4EAESACRIAIEAEiQASIAEGAIEAEyM0BkjXpjZiwvTFARg+DK0AEiAC5O0BGzwsjQBAgCBABIkAEiAARIAJEgAgQBAgCRIAIkLcGSFZQRE/UBYgAESACRIAgQBAgAkSAFAZI1mMhQASIABEgAkSAIEAQIAJEgAgQASJABIgAESAIEASIABEgZwXI6nV2CpDu26QAESACRIAIEAGCABEgAqRlgFROFAVI7TYpQASIABEgAkSAIEAEiABJe+M+PUCyg0KACBABIkAEiAARIAgQASJANgdI5b4Pu4MiI0Ay94WJ2iYFiAARILEBUrGPmABBgCBABMiVAVJ9/gsBIkAEiAARIAIEAYIAESACpEWARD5e1QGSeUJGASJABIgAESDmngLERiBABMi2AKlaD523GQGSf5SzrG3ylAD5baIpQASIAEGAIEAEyGsDJPLNLztAon/O1DVAor41eroubw2QlZ+0ZWzvpwRI5ra6M0Aynm+r67/qPEECBAGCABEgxwXIrslJ53NPnLa+d03kuq+jDtvfrQFySpCfuJwCBAGCABEgAkSACJBD19GbA+RNE3MBIkAQIAgQASJABIgAMYEVIAJEgCBAECACRIAIEAEiQASIABEgAkSAIEAEiAA5KECythkBclaAnDIpFCACRIAIEAGCABEgAiQpQLLfqCu3mextOGObzHocd2+TGQGS8RrY7XUj47W68r2m8ihY2e+J2Y9jh9cHAYIAQYAIkBYBkvlGLEAEiAARIAJEgCBAECACRIAIEAEiQASIABEgAsTc0wNlIxAgAkSACBABIkAEiAARIAgQBIgAESACRIAIEAEiQASIABEgCBABIkAEiAARIAJEgAgQAYIAQYAIEAEiQASIABEgAkSAIEAQIAJEgAgQASJABIgAESACBAGCABEgAkSACBABIkAEiABBgCBABIgAESACRIAIEAEiQASIAEGACBABIkAEiAARIAJEgAgQBAgCRIAIEAEiQASIABEgAkSACBAEiAARIAJEgAgQASJABIgAQYAgQASIABEgAkSACBABIkAQIAgQASJABIgAESACRIAIEAEiQBAgAkSACBABIkAEiAARIAIEAYIAESACRIAIEAEiQASIABEgAgQBIkAEiAARIAJEgAgQASJAECAIEAEiQASIABEgAkSACBAECAJEgAgQASJABIgAESACRIAIEASIABEgAkSACBABIkAEiABBgCBABIgAESACRIAIEAEiQASIAEGACBABIkAEiAARIAJEgAgQBAgCRIAIEAEiQASIABEgAgQBggARIAJEgAgQASJABIgAESACBAEiQASIABEgAkSACBABIkAQIAgQASJABIgAESACRIAIEAEiQBAgAkSACBABIkAEiAARIAIEAYIAESACRIAIEAEiQASIAEGAIEAEiAARIAJEgAgQASJABIgAQYAIEAEiQASIABEgAkSACBAECAJEgAgQASJABIgAESACRIAIEASIABEgAkSACBABIkAEiABBgCBABIgAESACRIAIEAEiQBAgCBABIkAEiAARIAJEgAgQAWLuKUAQIAJEgAgQASJABIgAESAIEASIABEgAkSACBABIkAEiAARIAgQASJABIgAESACRIAIEAGCAEGACBABIkAEiAARIAJEgJjXChAEiAARIAJEgAgQASJABIgAQYAgQASIABEgAkSACBABIkAQIAgQASJABIgAESACRIAIEAEiQBAgAkSACBABIkAEiAARIAIEAYIAESACRIAIEAEiQASIABEgAgQBIkAEiAARIAJEgAgQASJAECAIEAEiQASIABEgAkSACBAECAJEgAgQASJABIgAESACRIAIEASIABEgAkSACBABIkAEiABBgCBABIgAESACRIAIEAEiQASIAEGACBABIkAEiAARIAJEgAgQBAgCRIAIEAEiQASIABEgAgQBggARIAJEgAgQASJABIgAESACBAEiQASIABEgAkSACBABIkAQIAgQASJABIgAESACRIAIEAEiQBAgAkSACBABIkAEiAARIAIEAYIAESACRIAIEAEiQASIAEGAIEAEiAARIAJEgAgQASJABIgAQYAIEAEiQASIABEgAkSACBAECAJEgAgQASJABIgAESACRIAIEASIABEgAkSACBABIkAEiABBgCBABIgAESACRIAIEAEiQBAgCBABIkAEiAARIAJEgAgQAWLuKUBsBAJEgAgQASJABIgAESACBAGCABEgAkSACBABIkAEiAARIAIEASJABIgAESACRIAIEAEiQBAgCBABIkAEiAARIAJEgAgQBAgCRIAIEAEiQASIABEgAkSAIEAQIAJEgAgQASJABIgAESAIEASIABEgAkSACBABIkAEiAARIAgQASJABIgAESACRIAIEAGCAEGACBABIkAEiAARIAJEgAgQAYIAESACRIAIEAEiQASIABEgCBAEiAARIAJEgAgQASJABAgCBAEiQASIABEgAkSACBABIkAECAJEgAgQASJABIgAESACRIAgQBAgAkSACBABIkAEiAARIAJEgCBABIgAESACRIAIEAEiQAQIAgQBIkAEiAARIAJEgAgQAYIAQYAIEAEiQASIABEgAkSACBABggARIAJEgAgQASJABIgAESAIEASIABEgAkSACBABIkAEiAARIAgQASJABIgAESACRIAIEAGCAEGACBABIkAEiAARIAJEgCBAECACRIAIEAEiQASIABEgAkSAIEAEiAARIAJEgAgQASJABAgCBAEiQASIABEgAkSACBABIkAECAJEgAgQASJABIgAESACRIAgQBAgAkSACBABIkAE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" + } + ] + }, + { + "purchaseOrderNumber": "2JK3S9VD", + "sellingParty": { + "partyId": "999US" + }, + "shipFromParty": { + "partyId": "ABCD" + }, + "labelFormat": "PNG", + "labelData": [ + { + "packageIdentifier": "PKG002", + "trackingNumber": "1Z6A34Y60369738805", + "shipMethod": "UPS_GR_RES", + "shipMethodName": "UPS Ground Residential", + "content": "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AAFiCBAAABAgAgQAAASIIUAAABAghgABAAABYggQAAAEiNE4QAzDMAzDMAzDMASIYRiGYRiGYRgCxDAMwzAMwzAMQ4AYhmEYhmEYhiFADMMwDMMwDMMw/jdAAAAAio50JkAAAAABAgAACBAAAAABAgAACBAAAAABAgAACBAAAECAAAAACBAAAECAAAAACBAAAECAAAAAAoRXbAT/MX77myfXs3IfRu/nymVXrn/0PjxZ3qjlyngcV5Yx+7JRj2nGfcjYxla2n8rHonKbjFqf2a+B3V43Ml6rK99rop7jGa+Hu173std/9uv86H1buQ8IEASIABEgAkSACBABIkAEiAARIAgQASJABIgAESACRIAIEAGCAEGACBABIkAEiAARIAJEgAgQAYIAESACRIAIEAEiQASIABEgCBAEiAARIAJEgAgQASJABAgCBAEiQASIABEgAkSACBABIkAECAJEgAgQASJABIgAESACRIAgQBAgAkSACBABIkAEiAARIAJEgCBABIgAESACRIAIEAEiQAQIAgQBIkAEiAARIAJEgAgQAYIAQYAIEAEiQASIABEgAkSACBABggARIAJEgAgQASJABIgAESAIEASIABEgAkSACBABIkAEiAARIAgQASJABIgAESACRIAIEAGCAEGACBABIkAEiAARIAJEgCBAECACRIAIEAEiQASIABEgAsTcU4DYCASIABEgAkSACBABIkAECAIEASJABIgAESACRIAIEAEiQAQIAkSACBABIkAEiAARIAJEgCBAECACRIAIEAEiQASIABEgCBAEiAARIAJEgAgQASJABIgAQYAgQASIABEgAkSACBABIkAQIAgQASJABIgAESACRIAIEAEiQBAgAkSACBABIkAEiAARIAIEAYIAESACRIAIEAEiQASIABEgAgQBIkAEiAARIAJEgAgQASJAECAIEAEiQASIABEgAkSACBAECAJEgAgQASJABIgAESACRIAIEASIABEgAkSACBABIkAEiABBgCBABIgAESACRIAIEAEiQASIAEGACBABIkAEiAARIAJEgAgQBAgCRIAIEAEiQASIABEgAgQBggARIAJEgAgQASJABIgAESACBAEiQASIABEgAkSACBABIkAQIAgQASJABIgAESACRIAIEAEiQBAgAkSACBABIkAEiAARIAIEAYIAESACRIAIEAEiQASIAEGAIEAEiAARIAJEgAgQASJABIgAQYAIEAEiQASIABEgAkSACBAECAJEgAgQASJABIgAESACRIAIEASIABEgAkSACBABIkAEiABBgCBABIgAESACRIAIEAEiQBAgCBABIkAEiAARIAJEgAgQAWLu6YGyEQgQASJABIgAESACRIAIEAQIAkSACBABIkAEiAARIAJEgAgQBIgAESACRIAIEAEiQASIAEGAIEAEiAARIAJEgAgQASJAECAIEAEiQGLfmKJGxwCJmCQLEAEiQASIAEGAIEAEiAARIOEB8uftVU4wKh+fXQGyazs85b5FvdfsWp7M18PO21rE66MAQYAgQATINQHS6Y1WgAgQAbI2ORUgAkSAIEAQIAKkdYCcMgnM3oajJlQCRIB0CxEBIkAECAIEASJAWgTIaZPAjgHy7ZsTASJAOk9WBYgAESACBAEiQARIWYCcOAkUIAJk17cIp09a3xQgt0SIAEGAIEAEyFUBEvmGGHX9JwdI1k7E3SaZpwZI1YRtdRvInLjueoyinrMZl41+3YvefgQIAgQBIkCuCZCqiYQAESCd13/HAIlcXxHvNTcGyOprkwARIAIEASJABEjhRFSACBAB0mcbqDhPjQARIAJEgCBABIgAESACRIC8LECibluACBABggBBgAgQASJABIgAKYsQASJABAgCBAEiQASIABEgAkSACBABggBBgAgQASJA7g6QlXUhQPYFSMXzWoAIEAEiQBAgAkSACBABIkAEiAARIAIEAYIAESACRIAIEAEiQASIABEgAgQBIkAEiAARIMtHRRIgAkSACBABIkAQIAJEgAgQAfLaAMma/AsQASJABIgAQYAIEAEiQASIABEgAuRVAVL5+iBAECAIEAEiQBoHSOQ67BogqxEiQASIABEgAkSAIEAEiAA5LkAyJt4C5J4AyZz8CxABIkAEiABBgAgQASJABIgAESACRIAIEAQIAkSACJB3BUj0OrwtQEYmpwJEgAgQAYIAQYAIEAEiQATIEQGSPfkXIAKkKkC6vD4IEAQIAkSACJCGAZKxDgWIABEgAkSAIEAQIAJEgAgQAfJv/qGJBYgAESACBAGCABEgAiR8MiFA5n7WJUAEiAC5P0A6fUAhQBAgCBABcmSARLwxCRABIkAEiAARIAgQBIgAESAh+wIIEAEiQASIABEgCBAEiAARIKVBIkDGY02ACBABIkAECAIEASJArgyQ7EmnABEgAkSACBABggBBgAgQAVIWICuHaRUgewMka5kFyP4AmX2vESBrAdLtKHkCBAGCABEg2wKkKkI6BUj1pHdl2QWIABEgvQJk9wE9BAgCBAEiQK4IkC5vwgKkV4BEL7cAiQuQyAMgCBABIkDMPQWIjUCACJAtAdLhjbgiQHZMegWIAIkMkKplFyACRIAIEASIABEgZW9MAkSACJCeAVK57AJEgAgQAYIAESACpPSNSYAIkOhlFyBrz+XI7UuACBABggBBgAiQdgGy4805O0B2TXoFiACJeh2I2rYESMy2mPm+KUAQIAgQASJANkaIABEgNwXIbz9xy17nAsR5QAQIAgQBIkAEiAA5IkAyJp9vD5Dd25MAESACBAGCABEgAmTx9+rf1s/pE0YBIkCqtyUBIkAEiABBgAgQAdLqjSl7EiZA7g2Q6nh5S4Bkv9cIEAEiQAQIAkSACJDtAZI5GRMgvQIkYh0KkB7xIUD2Bci32xMgCBAEiAARIIOXzZpUrU5musdH5O/2Bci9AZL1Oi9ABIgAMfcUIDYCASJAjg2Q6ImZALkvQHbsP3LbmdAFiAARIAgQBIgAESCNA6Ryp+mI+9A5QCIm3gJEgAgQAYIAQYAIEAHSNkC+TXwEiAARIALktACJfK8XIAgQBIgAESAJkxYBck+A7DqErwARIAJEgCBAECACRIAIkKTnjgARIAJEgAgQBAgCRIC0DZDsT92jJmsCRIAIEAGSFQgCRICYewoQG4EAESACRIAIEAEiQASIAEGAIEAEyM0BkjXpjZiwvTFARg+DK0AEiAC5O0BGzwsjQBAgCBABIkAEiAARIAJEgAgQBAgCRIAIkLcGSFZQRE/UBYgAESACRIAgQBAgAkSAFAZI1mMhQASIABEgAkSAIEAQIAJEgAgQASJABIgAESAIEASIABEgZwXI6nV2CpDu26QAESACRIAIEAGCABEgAqRlgFROFAVI7TYpQASIABEgAkSAIEAEiABJe+M+PUCyg0KACBABIkAEiAARIAgQASJANgdI5b4Pu4MiI0Ay94WJ2iYFiAARILEBUrGPmABBgCBABMiVAVJ9/gsBIkAEiAARIAIEAYIAESACpEWARD5e1QGSeUJGASJABIgAESDmngLERiBABMi2AKlaD523GQGSf5SzrG3ylAD5baIpQASIAEGAIEAEyGsDJPLNLztAon/O1DVAor41eroubw2QlZ+0ZWzvpwRI5ra6M0Aynm+r67/qPEECBAGCABEgxwXIrslJ53NPnLa+d03kuq+jDtvfrQFySpCfuJwCBAGCABEgAkSACJBD19GbA+RNE3MBIkAQIAgQASJABIgAMYEVIAJEgCBAECACRIAIEAEiQASIABEgAkSAIEAEiAA5KECythkBclaAnDIpFCACRIAIEAGCABEgAiQpQLLfqCu3mextOGObzHocd2+TGQGS8RrY7XUj47W68r2m8ihY2e+J2Y9jh9cHAYIAQYAIkBYBkvlGLEAEiAARIAJEgCBAECACRIAIEAEiQASIABEgAsTc0wNlIxAgAkSACBABIkAEiAARIAgQBIgAESACRIAIEAEiQASIABEgCBABIkAEiAARIAJEgAgQAYIAQYAIEAEiQASIABEgAkSAIEAQIAJEgAgQASJABIgAESACBAGCABEgAkSACBABIkAEiABBgCBABIgAESACRIAIEAEiQASIAEGACBABIkAEiAARIAJEgAgQBAgCRIAIEAEiQASIABEgAkSACBAEiAARIAJEgAgQASJABIgAQYAgQASIABEgAkSACBABIkAQIAgQASJABIgAESACRIAIEAEiQBAgAkSACBABIkAEiAARIAIEAYIAESACRIAIEAEiQASIABEgAgQBIkAEiAARIAJEgAgQASJAECAIEAEiQASIABEgAkSACBAECAJEgAgQASJABIgAESACRIAIEASIABEgAkSACBABIkAEiABBgCBABIgAESACRIAIEAEiQASIAEGACBABIkAEiAARIAJEgAgQBAgCRIAIEAEiQASIABEgAgQBggARIAJEgAgQASJABIgAESACBAEiQASIABEgAkSACBABIkAQIAgQASJABIgAESACRIAIEAEiQBAgAkSACBABIkAEiAARIAIEAYIAESACRIAIEAEiQASIAEGAIEAEiAARIAJEgAgQASJABIgAQYAIEAEiQASIABEgAkSACBAECAJEgAgQASJABIgAESACRIAIEASIABEgAkSACBABIkAEiABBgCBABIgAESACRIAIEAEiQBAgCBABIkAEiAARIAJEgAgQAWLuKUAQIAJEgAgQASJABIgAESAIEASIABEgAkSACBABIkAEiAARIAgQASJABIgAESACRIAIEAGCAEGACBABIkAEiAARIAJEgJjXChAEiAARIAJEgAgQASJABIgAQYAgQASIABEgAkSACBABIkAQIAgQASJABIgAESACRIAIEAEiQBAgAkSACBABIkAEiAARIAIEAYIAESACRIAIEAEiQASIABEgAgQBIkAEiAARIAJEgAgQASJAECAIEAEiQASIABEgAkSACBAECAJEgAgQASJABIgAESACRIAIEASIABEgAkSACBABIkAEiABBgCBABIgAESACRIAIEAEiQASIAEGACBABIkAEiAARIAJEgAgQBAgCRIAIEAEiQASIABEgAgQBggARIAJEgAgQASJABIgAESACBAEiQASIABEgAkSACBABIkAQIAgQASJABIgAESACRIAIEAEiQBAgAkSACBABIkAEiAARIAIEAYIAESACRIAIEAEiQASIAEGAIEAEiAARIAJEgAgQASJABIgAQYAIEAEiQASIABEgAkSACBAECAJEgAgQASJABIgAESACRIAIEASIABEgAkSACBABIkAEiABBgCBABIgAESACRIAIEAEiQBAgCBABIkAEiAARIAJEgAgQAWLuKUBsBAJEgAgQASJABIgAESACBAGCABEgAkSACBABIkAEiAARIAIEASJABIgAESACRIAIEAEiQBAgCBABIkAEiAARIAJEgAgQBAgCRIAIEAEiQASIABEgAkSAIEAQIAJEgAgQASJABIgAESAIEASIABEgAkSACBABIkAEiAARIAgQASJABIgAESACRIAIEAGCAEGACBABIkAEiAARIAJEgAgQAYIAESACRIAIEAEiQASIABEgCBAEiAARIAJEgAgQASJABAgCBAEiQASIABEgAkSACBABIkAECAJEgAgQASJABIgAESACRIAgQBAgAkSACBABIkAEiAARIAJEgCBABIgAESACRIAIEAEiQAQIAgQBIkAEiAARIAJEgAgQAYIAQYAIEAEiQASIABEgAkSACBABggARIAJEgAgQASJABIgAESAIEASIABEgAkSACBABIkAEiAARIAgQASJABIgAESACRIAIEAGCAEGACBABIkAEiAARIAJEgCBAECACRIAIEAEiQASIABEgAkSAIEAEiAARIAJEgAgQASJABAgCBAEiQASIABEgAkSACBABIkAECAJEgAgQASJABIgAESACRIAgQBAgAkSACBABIkAE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" + } + ] + } + ] } + } + }, + { + "request": { + "parameters": {} }, - { - "request": { - "parameters": {} - }, - "response": { - "payload": { - "shippingLabels": [ - { - "purchaseOrderNumber": "mockpurchaseOrderNumber1", - "sellingParty": { - "partyId": "999US" - }, - "shipFromParty": { - "partyId": "ABCD" - }, - "labelFormat": "PNG", - "labelData": [ - { - "packageIdentifier": "PKG001", - "trackingNumber": "1Z6A34Y60369738804", - "shipMethod": "UPS_GR_RES", - "shipMethodName": "UPS Ground Residential", - "content": "iVBORw0KGgoAAAANSUhEUgAAAyAAAAV4CAYAAABYfbnIAABfDUlEQVR42uzd25LjOJJAwf7/n+592UttTaZEABGBAOhuBrOZrtSFFCXhSCL5zz///POvYRiGYRiGYRhG0fjnXwAAgGwCBAAAECAAAIAAAQAAECAAAIAAAQAAyA2Q/zm81rd///Z3I387epu/jdn7EPU3I/f1yf3/6d9n7uun2/vt+maXN3O7WV2m0XU7s709eRxGH6snf/vktqO2ryfLFrG9P13PAMAlAfJ08rF6XU/+bubfRv/76v2Yvf2ZOBudAM/eh9XbydgeRv776OP5dF2PLMNP/z1imUYuH7l9ra7PmWVg7HV7JeBWozviNkZfY6M/ONi1XgAESECAzH7iPTORHp0gzk7YBEh+gDz9lLxzgERF8UxsjD420dc1s12tbn/eBNYn3tkT+E4BknUbAAJk4QpHJ26f/mZkArTyxrA6UXq6XBEBEnFfs8KgKkBWtpvZx2D2ulY+RY5ez9HXnREzI3EtQHI/LIr6mWrmZDvqejOWIeonxAAC5GGAjExcnkzkn34CmzkRG53YZ0wUoz5Nj1rGbgHyZLuZvf87AiR6W1n571nfvERufyZx8RP32X2BqiKkKkBGl2Hm2yMAAdIgQEYm2LMT2cwA+WnZBEh+gEROjiMez9nJxcwnrVlxMLp/RXWAiJDciXtEgETGwq4AyVpW2y0gQILiI2Ji9zRkZl7MI/bTGJmcrwTI06MgZQbI7H3I/qnXzLqeOarSyuMZvePqyuM0cp0r21B0gKysBwSIAAG4PEBmJ3afJnVRE6+VCfvOAFmd2N36DcjsdhPxbUFVgIxOAGfjPyL+MgNk9gMGE7vn21WnSf7bAgTo84FL1jy44uAYVXP4VgGy+mnop5/WVOwcmzk5/3OZBEh8gERuNyPbUWWAfJswZu0v0jFAMibY1E/yO9+36EPI2wZh/+tW5nMxMhSqA2TXkfraBUjU5DZiQjzzN9kBMvN3tx4FK2O76RIgmT9vmj1fxuiBISKOShWx/Zj85YVvh08gd+6EPvvGDuwJj8SJdPrrR8brc9TPa7cHyOoEeOZIO1GT7uzzNMxsJDsCpOowqJHne8g8rGzE47k7QCLPmbG6zJGH4X0aRCZ9+yf4lW/+GdeT9VMKoOY1q8sHIJH73kW8z2WEU2mAzNRZ1VF7Zg7lGzmBrQiQyEm4AOkdIJnLVBEgGet/dZmIn9xv+B1xeIBELYMTEMIdH6Q8eW5H3hcBsnjnR158n37qFHGbq0cXWn0gM54sK0dBWvnE4NPjOXM7o/dn5NPKkW1h9fFcmWhEbKOrz53ZAFk5v0TUY2Vi1zNATvoGJDocRAjcHSDRl+vyAU7rb0AA8Iad8WnhrgDJWAYRAne+nq1cfmeA7Io3AQJA9RtOq4nA6PVk/ywLeFeAVPyqRoAA8Mr46DoRmLmezJ99AQKkS4AccRQsAO55k37LRCAjQJwrBARIdIDs+OZUgADQIj6+Haa280Qg6nj3UQGS/QYPCJCO8SFAALwxT02YBYgAAQFy50+wCgPHix7Am9+URy/z2xtV9VFdqgNkdOIgPkCAnBQgxT/vyrnzTxZs5rwVMytw9XwUEcs+extRX79FnXdhdZ2Nnhsm6lwi3uhh/jVy5EzhlW9qlQEyc26ekfUPnBEgq9fZ9TC8lbcZFiCjL8y//du3/xbxM4Enn+bNFubIRjUTbrP1++nyO9ZZxFnvv50Je/WxBAHyT+gJTjPPKRL9AcrKcvhABATI6uWqXyeqv3HZ9g3IkwBZmXRHTqZnJvozk++Z259dFyshEbHOBAjcFSBPrrfLfV8NkKj7CNwTILOvDR0CZOUgJMcEyKfLPP3vq7+5i5isf7qvqwUZucxZ8bJ6/TNP1ortEAAQIBnXu+N8Q9Hx8ZoAqZ6QRgTI6uQ7+tP8iB2lKgIk4lsRAQIAVE3mZ/YN63KEvMxvgY8IkNmdd6om0yMbS8cAWYmQrHUmQACA3RPrbrdZHADvDZDoo0xFTaZnftP39PZWJucRR+haPeZ/5PWu7twqQACA3QESNV8TIIUBMnrdmffr6Q7WERPqmQCJmGBHT+Jn1plvQAAAXh2JewKk8tuPjInxk3/P/nlSVP12WmdRj7sAAQAQIP/xd5WTydUdqk8NkOj9UbLXmQABABAgZRP9p6FSuUP1k0l8VExkHNJ2Z4DMng8mYod+AQIAIECGJ4eRk8uMyfTIiWSqJuxR912AAADQNkAid8J+cp2rRxR48nffYmLl6E0jy5N1ZuId62x0eWaW3RmHAQBeECAzsQIAAAgQAAAAAQIAAAgQAAAAAQIAAAgQAABAgAAAABwQIKvno3hy7odvt/f0v2Xc96fLFnFfIpdp5vFcPRfK6H3I2uZWb3/2bwEABEjwiQhn/+7TZPe36xm97sizaf82EZ9ZppUziWedBXxk3T+JgNkAenrfItbD6skdAQC4JEBWJ+yzk/Wnk9CV2Bi5jQ4BEr0OZwMk8/ZnwwUAgIMC5Onfr4ZE5OR19d8jAmR0mVYez9n7OXq7s4/J6LdoAgQA4KUBMvpNQ8VkPWJSGREoT+5fRYDM3M+Z2FyJwtFoEiAAAALk42Vmv034Npk+PUCeLtPsfR+djM9M/p/Gy+w3IKP7aggQAIDLAmR0YhgZID9NlE8PkCfLNHPfZyfuK99+RAdI1DoXIABHT3auux4QIEXfgKz+BCsiQEYPq3tygMxc12p8RAZIdMx6IwFOmWyPftg38t729L169BD1ka+lUdfZ7XpAgCRN/n57sYs+mtXoEayiJ7EZ0TYbDd9uM3NCPvKGJEAA1l6XMj84W/k5beRrqW88QICETE5XXjhnJ+urk92nf/M0wHYGSHZkrj6WAgQgJiRW9slc+TntrdHgPQI2BMhKQMye72Nm0rozQKJ+Vvb0DeLkAJkNMgECCJD895fdASI+QICEBEjEi2bGGcUjJ7HRAZQVIBmT99kAiT7rvAAB3hYgo6+TT75hj37dzN4HUYDAwQHy9Df8MzujPT2s6rd9BqK+zYjcke/JOnzyt9Evet+uf/SxyXjRzngsRnaKrNiBEqBjgDz9m10BMvo+ccL1gACBRm+eAMRP8GePHll1/z797bcPyE67HhAgAMDrAuTJz6l3/FRq5Dqjoqf6ekCAAACvDJCZv+kUIKf+DQgQAOD6APk7KASIAAEBAgCkB8ifB3oZ/XcBIkBAgACAAHn8N6NHZRQgAgQECAAIkOlwiPqblYl35HlAos7vtON6QIAAAMcGyMyhZKMCITtAfrtM1Al/s68HBAgAcGx8RJww9enPiFbuW3SAjNzO6Il/s68HBAgAwEsmQ52uBwQIAIAAESAgQAAAxAcIEACAMyZAba4HBAgAAIAAAQAABAgAAIAAAQAABAgAACBAAAAABAgAACBAAAAABAgAACBAAAAAASJAAAAAAQIAAAgQAAAAAQIAAAgQAAAAAQIAAAgQAABAgAAAAAgQAABAgAAAAAgQAABAgAAAAAIEAABAgAAAAAIEAABAgAAAAAIEAAAQIAAAAAIEAAAQIAAAAAIEAAAQIAAAgAABAAAQIAAAgAABAAAQIAAAgAABAAAEiAABAAAECAAAIEAAAAAECAAAIEAAAAAECAAAIEAAAAABAgAAIEAAAAABAgAAIEAAAAABAgAACBAAAAABAgAACBAAAAABAgAACBAAAECAAAAACBAAAECAAAAACBAAAECAAAAAAgQAAOCwAPnvK/5xjP796mW+/d3o3367X6vrJ+r2s+47AAC0CZDZifOpATI7mc8MkKqIAgCArQEyMjleuY7Zy6x8e/Bkkj+7rlZue/Z+iRAAAI4OkNEIOD1AViMkI0BG74sIAQBAgBwUICuT+JUA+Wk9zsaQCAEA4OoAybieEwNk1zqIWicAANAqQGavU4DU/5RqZjlFCAAA7QIk4uhQAqQ2QDL2dwEAgPAA+RQhKz8JijwkrgARIAAAXBQgTwLipgDJmpB3DJC//w4AAFoEyJOQiJ5MdzgPSOa66xIgAADQNkC+hchpAVJ5JnEBAgCAACmKkJMCpGp9CRAAAARIQIScFCAbHpSyEwqKDwAAjguQnTt2C5CaExECAIAAESA/XiYjXIQKAAACRIBMX251nxgAAGgbIKcfBeuEABkJhYjzswAAwPYAmT16VOZlRu5Tp6NfVZ1RPjJsAACgJECeTHxXJswCJOYQu1HXBQAALQIEAABAgAAAAAIEAAAQIAAAAAIEAAAQIAAAAAIEAAAQIAAAgAABAAAQIFUr4tczhs+eRX3mNlfv70/X8/S2VtdBxPKNXi77fsw+Hl0eewAAAXJQiIxOdp/+zezfj0y0M25ndcIc9TjMXP/s/Z7dfjo99gAAAuSACFn998hP2qMm2SPXEzUxn50Uz3xjEnU/Zif0nR97AAAB8pIAiZgYR35y/+TfI4NiNUCiYm90Ha4sa9fHHgBAgFwcIFETzOgJ/5OfaXUIkOjYm5nEryxrx8ceAECAXB4gGdcXuYw/7awePcnNDpAnf7vyLULmZXc89gAAAuQlATIzOc6agP52FK+MoIgIkCff1kQGSHS8dHrsAQAEyOUBsjLRzJyErh4GtmuAzP60bOaxO/WxBwAQIC8JkNHJcfYkdOVITxUB8unyI5P91biKCJhujz0AgAC5OEBmJ7cCZCwqIr7BWFmGkx57AAABcnmAzEyQV88ePnpG7s4B8mR/j5G/nXncVo5q1e2xBwAQIC8KkIydp0f//oR9QHYEyLcRGTG7HnsAAAHykgD56d93TEJHj9a0e2I8csSumaN7VZ00UIAAAObaAqQ8QP7+m8hzQYxExG+X7XQiwp/uW/SJIEcj5fTHHgBAgFwWGDP7XlROQkd+vnRygIx+q1Ox7ex+7AEABEizAImYFM7uc/Dk76riKvr+RGxjs7cbGVQrJxbc/dgDAAiQxgGSOcmfmWBGTaYr94eInhRnhc/o/Ys843rlYw8AIEA2B8jM+SKyfjYT9al59KfzK38XPSF+a4BEPPYAAAKkSYCs7Ffw6UhS2T+dGbmtp38bvV6it6vofU9Wz5ny087k3R57AAABAgAACBAAAAABAgAACBAAAAABAgAACBAAAAABAgAACBAAAECAAAAACBAAAECAAAAACJBfVsT/G7PXsXL7lcv30/I++btP62rmMtnrq+L+zNzuzDrLut8V67NyOaOuf/frAgAIkIvD49PEY3SSszJBqlq+n+7D6KTpyWRz5rJZk7qn66J6u5pdj7sCZHZ9Vi7n08uM3m726wIACJCXxsfTycbMpD3isqOBM/N3qxO4iAng0wle1eMdfTurk++obSZrff79N5XLOfpBQOT9yX5uA4AAuThAZqKiy0+wVu93VYDMLPuTCW3F4x11Gx0CJHt9Pv2pU2WArGy7Va8LACBABMgRARIxkayYiK8GjwCJ/bYm+zETIADA6wMkevJwaoDsmoivBkjG41O93Lsnr9nrs2q9R63XXcsPAAKE/7eCKiaL0b/nz76ejAnl04lq5oQxKkA6xeTO9SlABAgACJDEyZ8AyQ2Q1Z+KVe+E3uGbqNHrfkOARP3cS4AAgAAJnZyceh6QiuvJmlDOBEjURDDym4vIw7BWB8iusBAgACBAXh8fmeceOClAZk8MlxUgERPBqnM0RJ5QL+v+ZU6sR5a5apI+G7kCBAAESGmMvDlARievWQES8e3Fykknd4XI7hNUZl+HAAEAAcKmSZQAGTtre/S3MhWTxI4BErE+u3/TM3IbAgQABEibCBEg+ZfPPi9D5KffVWGbcZ+q1qcAESAAIEBeECBR19XpPCCj+3d0D5Ddk9eq9dkpQDLWtwABAAEiQAIn/6vLXR0gUYFRFW7dA6Q62LoEyMh24kzoACBApiYkXSYaGZO5qoDIPJ/EzPVUHz74pACpXp8dAiTjYBICBAAESMok/cSjYM0G1q4AeTLJjVqPXQJk5+S1en2eGCDRyy1AAECAPJr8nnoekN+Wb/RwqasBEXWOiB0Tx4jHMXryGjnR7xwgO3a4nwlrAQIAAiRskj5zhKKZw5FGHAY1ejmf3qdP1zP69yP3d2b5Zh/j2cch6vGM3iZ2r8+q5Yye/Fe/LgCAAAG44MMFAECAAAAAAgQAAECAAAAAAgQAAECAAAAAAgQAABAgAgQAABAgAACAAAEAABAgAACAAAEAABAgAACAAOmzYr6OU5cF3vgc7v7acsL1f7qt7Nfd7vf/9vsFIEA2h8e3N4eZ68l48426rozl+fv+dLyN3euo+3MgOgKi1knHDwx2Pdcz1kP09VY/L7p+oNTl9fr26wcESPv4mJ1QdQ+QDpNrAXJ3gEReJipAdqzT2deVyNiqmthmrJ/KSOsapwJEgIAAeXF8/Pa30df/2+W6BEjWOqy4jajHpfNj3uUT2cjL7trud76uRK+rrKCLfJwy7nvm/a+KfQEiQECAvDw+ZieJOyajkS/UAkSAVP8MKvObqF3rL3qbyf770clg5vMjO546xKkAESAgQF4cIBmTIwHy/TorbkOA1ARI9ATkxACJnDDvuP5v22OHAFn5sKhTgETfr+xlOv36AQHScoI1elkBIkAEiACJWoZuAZL52pn9DVHVdXV5TxIggAARIFvf7KK/rhYg90xwKpYjMkB2bve7HvvbAyRyuxIgAgQQIAKkYYB8m5ydNOGOvg0BMj+pn43LiHDstN3vmpwLEAEiQAABclGAnDBxFiACpOtz5Onhj0cuL0DiDt3bJUBmJpoCRIAAAuTqAIleJ7MTsMgX7x1nYBYgNY95p0nR0wiIDpBd2323AMk41G+XCbwAESCAAHlFhOyYnGcFyKdlFSACpGOAnLDd7wqQmQg55bkjQASIAAEB8voAqX6zFiAC5JTnyMgEd2aSLEDmA+RbBJ7wfD/1ud8xQLLOM3Li9QMC5LgIyTgjefYLd9VkTIDsecy7BsjMuq4+THTFJ7iZh+Kd3c5O+cBBgNSfiPAN1w8IkNdEiAARIKe/gQqQmm2r4uzRpwXIqa9XJwaIM6EDAqR5iGS9qWSeO+Db8gkQP8GaXZ6Ic1dEfFtQvd1XhETGhO2UCfwt3+CcsF6zt4+Trh8QIFdEyO6dcKMmRwJEgDzZxyAiYk7Z7mdfRyICaWSfj1N/wiRA/tn6vH779QMCpG2MdAyQHV9dCxABEjlhPmW733X/onZUf9PzPeK6d+wvuPu5LUIAAXJohGRPRiMmOW+ckAiQuGXaESAdtvuI5+jqNrP6M62Oz/eu1y9ABAggQNqESLc30x0v2gJk/0RiV4CMLOeT6zhpu9+xfVfv4H7jc0eACEpAgGx/s78pQHa9aAuQdwZI1HMhe/+P7o9N1RnNu0+UTz1KmQARIIAAaTd5iTyKVuQb9mlvnF0CJHuSuLJ9nhggERPBXdt95np9W4DMfpN204RVgAgQECACRIAIEAEyGBC7ruO2AMl6HnR8vq++pgqQ9efF7M//Trt+QIC0e6G/IUCiJpMCRIDMxMOu69i53e/Ypm8KkB2P/60Bkn2UxtOvHxAgVwVI9ZtKxDJkTMYESM1jLkB6bfenTzZ3Phd3BvpbAiQyaE+/fkCAHBsgOz6hESACpPtzR4DUb8u7J2oZ97/yEMpv+QlW9M/5Tv97QIAc90K/69CXuwKk+ic11bcR9Wlb9WN+wyRpdR112e53T3yrdlzPfvy6BEjXo6FlfTNWeU6rLtcPCJC2L/QRb3rRb7DRb8hR17dzotDlcal4zN8SIKuPXeW2tDs+nk5YI5at4izunV7vdsborte57Pvd6foBAXJkgOz4hE+ACBABcmaA7IybzJ9XCpC+ARL5nLn5+gEBAvCKDzpuvU0AECAAjQIEABAgAACAAAEAAAQIAACAAAEAAAQIAACAAAEAAAQIAAAgQAAAAAQIAAAgQAAAAAQIAAAgQAAAAAECAAAgQAAAAAECAAAgQAAAAAECAAAIEAAAAAECAAAIEAAAAAECAAAIEAAAQIAIEAAAQIAAAAACBAAAQIAAAAACBAAAQIAAAAACBAAAECAAAAACBAAAECAAAAACBAAAECAAAIAAAQAAECAAAIAAAQAAECAAAIAAAQAABAgAAIAAAQAABAgAAIAAAQAABAgAACBAAAAABAgAACBAAAAABAgAACBAAAAAAQIAACBAAAAAAQIAACBAAAAAAQIAACBAAAAAAQIAAAgQAAAAAQIAAAgQAAAAAQIAAAgQAABAgAAAAAgQAABAgAAAAAgQAABAgAAAAAIEAABAgAAAAAIEAABAgAAAAAIEAAAQIAAAAAIEAAAQIAAAAAIEAAAQIAAAgAABAAAQIAAAgAABAAAQIAAAgAABAAAEiAABAAAECAAAIEAAAAAECAAAIEAAAAAECAAAIEAAAAABAgAAIEAAAAABAgAAIEAAAAABAgAACBAAAAABAgAACBAAAAABAgAACBAAAECAAAAACBAAAECAAAAACBAAAECAAAAAAgQAAECAAAAAAgQAAECAAAAAAgQAABAgAgQAABAgAACAAAEAABAgAACAAAEAABAgAACAAAEAAAQIAACAAAEAAAQIAACAAAEAAAQIAAAgQAAAAAQIAAAgQAAAAAQIAAAgQAAAAAECAAAgQAAAAAECAAAgQAAAAAECAAAIEAAAAAECAAAIEAAAAAECAAAIEAAAQIAAAAAIEAAAQIAAAAAIEAAAQIAAAAAIEAAAQIAAAAACBAAAQIAAAAACBAAAQIAAAAACBAAAECAAAAACBAAAECAAAAACBAAAECAAAIAAAQAAECAAAIAAAQAAECAAAIAAAQAABAgAAIAAAQAABAgAAIAAAQAAegaIYRiGYRiGYRhG0bASDMMwDMMwDMMQIIZhGIZhGIZhCBDDMAzDMAzDMAwBYhiGYRiGYRjGCQECHH0kif8dAABHHAULECAAAAIEECAAgAABBAgAgAABAQIAIEAAAQIAIEBAgAAACBBAgAAAAgQQIAAAAgQEiAABAATIx0nR7IQp43LV97PTMtx+P29YPgECAAiQxYnR7KQp43LV97PTMtx+P29YPgECAAiQiUnRn5OjT/82e50Z96X69qqX4fb7ecPyCRAAQIAIEAEiQAQIt70JLG+Hb1w3HdfRifc5+j3ftvfu9eIxFCACRIAIEAES/mI9Mjq9we1anlvezE/ZDt1n26THsc96OfF9TIAkPBARkyb7gNhHwj4gAkSA+ISu+/bnPucth23vHevnpHXS5f1LgPzwoHz7t5EVnnG56vv59Dpn72fGv2Xcz5H1svPIUxn3c+RyAkSACJBztrvs9ZZ5n0+IJ9ve/evolHVyw3Px2gDJnEDdcLmsT8UrH6NO3xLdsOwCZN+Ld5frrngz8ia4FmAnRuMt8WTbu3s9Za6X3fdThDQKkE77g1RfLnO/gKrHqNN+Mjcs+5sDZHWCcsqk/NRP7t4YH5XX0+0+V99vn+733vZOWjdd3iu8/goQASJABMgLPyXsGiBPb69b6ImPvRPBHfc5+ttZAXLmtnfiutm5XXd+zxEgAsQk3LILkAs+qd35Glg9MRQfeyeCu34WKEBse8Js/wcBAqRow3vT5ewHYdntA9LjxXnHRGjXm43f3u/5aZ3r/mfqQ523BEjHx1CY9bjOi9/f7zkKVsRRjaLu58x6iLq9kdufXdez6zNivUQtX/WyZz62bz9E5U0B0ins/Pb+zonUjut+w2T6tm1PgPS5rwKk8SfHN3wSX/ETj66X6/QYnbQtCRABUhEfb/j9/akTqROeX2+YSN+47QmzXgFy4c9hzz8T+g37IlQ++bpdrtNjdNq2JED2/lZdgPgE+sQJT9fJqyM7vWvdCZC+HwYIEAEiQATIqwOk4oV5x4S80/4fb3jzEyACxLb3z3Hrpds3fAJEgAgQASJABMiVAbJjPY6ugxu3oa6TTQFyf4C8dd2dGGYC5IAA+TYxsg9I3WTSPiA91pl9QO4MkOjf/O4KkJvfAE88WaAAuWP7O3nbEyC1QSlAkjawv//3t3/77TpG/zb6fj69jtnbzrq9iHVdcbnZ66y+vYj7KUByAmHHpPyEAHlyewKk3+11+ZmKAHnftnfyh0rZtyVADgiQ1U+GT/kG4s3nJPFve7fdNwRI5ovzjgDZ8eby9PZufBMUIALEtidAuq8XAVL8xnfDPhhvPiu7f9u/7QqQewJk1+uwADk/QDI/eb35sbLtCZCTAuTC93QBIkD8mwB5X4Ds+llS59e2G3dGf0uAdDqxmkmYALFe7oskASJABIgAESCJk7vsN6/ur20CpNftZUZIt8dYgAgQAXJ/fJQFyLdJkn1A7ANiHxABsuNToh0B0nn/DwFyR4CMHpyk0+MrQO5ffzteXzq/pr3x24+SAKk+klDEEbKijmYVsV5GLvd02TPW341H1sq4TkfB6vNCPXL5itvtEh+jE16TwJrbyzhEtACx7QmQ/t/4XX50y14/DTn50+jT1ssNy95p4u48IOcHSPYb++k/Lb01QLqfjyH6XDV+imLbEyD2d7oyQE7ZT6HLE2/Herlh2avvS8ZjJEByJmECRIDcNglcjZAnZ70/4bESIALk1AC58SAfAkSACBAB8qYXrSMDpPrNJnP/ABGyZxIYESF2TrbtCZD9h/19a3gIEAEiQATIawMkc7+I6u0u8/YESN9J4G3hIUAEyJsD5I3sA9Lgybdzvdyw7J0m7vYBuTdAIt7cBUj/7abirOJdPmn1DYhtT4D4BuTKAPnzgRj9u+yjYGUfSWtkeauPgtXlxadqW5rdziKuM+pxFyCxbyZvCJDqw7+aCNZPoG/8KdatE7Tbtj0BUvO8FCDFG2P25KrTNwmdvhG4cWK689+qHj8BMvbiXbFfxOhluwbISZ+qZkwMOk4CM/cB6fB4CpC+254A2fccFSDFb5KdfqffaT8EvyGse2wztonsT70ESF6ArLzJd4iP7MO/3jgRjD5vStYn3BkTIAFi2xMgc7eVsS0IEAEiQASIABEgRwbISROGbpPAnZ9mRv/UsPOkR4Ds3fYqbs95QM4OSAEiQASIAHltgMy+oVTtF9E1QG792c5JE8EdE/KTHtfbJ2Hdtz0B0n+7ECCJKz57cmUfkPdMSnf+W9XjJ0D6BcjIT2Ju+5TVRDBu/ey4vt2P6xsmYAJEgIiQJgHy54r/6f9XHAVr9mhI2Ufkml2G2fuy47GOvp8VR8GKOJqVo2CdGSAzk6Q3fPvxhkOkrpxhvPKnVxnLLEDese0JkPPe1wSIT7GPvL3qjdq3T7XrVIAIEAFS981A528/VpdZgLxj26t6PegYIKe+rwmQ5JW/49+q72en9XLKY5txXzIuJ0D2v1hXH+7yp2/Mdv38qnqidPM2VTXB6XguEQFy/7YnQESIABEgAkSACJCmATLyhtZh/w9vjH0nj7snSwLEttc1QKo/PBEgAkSACBABIkCuD5Cq9eGN8awJYNdPhwWIbU+ACJCrA+TbhMo+IPYBsQ+IAIl6s6yYKN3y7cfo+rYdnhMgnSb+tq29296Nk2wBIkCmHoCVf4s6StSnv4u4vd1H3co4ulSndTa7TE8v5yhY50bIybe9I0De9Oa4cwIoQGxbN8dH9WNdcX4er7EXBUjHSVmnbzWq18sN3zx12s6cB0SAnBgfo8tsAnjOJFyA2PYEyNp1CRAB0uoM6tXXmbFebtj3ptN25kzoPQLk9NveFSBveoPcNXkSIALkDeuoy09lo07S6PVVgAgQASJAvCG/PkBOnzicvs2dtn4FiG3vxpiqPESx11YBIkAEiADxhtzyMKan//xqZplNAM+YiDsRoW1PgOwPAwFy4ZM0+zrtA2IfEPuAnBMgt8TPrgB52xvljglgt2/yBIj4OO0x33GCRq+pjQIk4whBEUdtyrjOqKNLRRxh6dNtRB15KuPfZrePjHWWsY1HHI1MgJwdIBXL3mmdmwD2n4wLENueABEgVwXI7d8KVC97xn055ZwrN0zAs9aLN+fxELjltrv/Vv+ynSXLl7HT+WwEyLu2vdOXs+LQu9WxdOkHOn2OynLKfhHVy55xX04563zXCVjF4yBAzngBf2OAvOVNc/fy7Z70mHCLjxOX96RIePnPWQWIABEgAkSACJAzlvttk7+Mddztcdv9U0bb3j3LfsthfV9yMA8BIkAEiAARIJ1ve+Wkh7tPunjaG+qp3ww8uW8nHazhxm1LfOStg66HXxfbxQGyMjGyD4h9QHY/ftXPB/uAnP/mLUDOf1Ptft9PnsALkLO3vRu2dc/FFwXInw/S3/975XJPr3P2iFUZR54a+buI5VtZF5X/Vr2ud19/1OMpQObeFE6OHwGyf6Jz8+SsQ6C/bdJmIlq3zXgevjBAVidJN3xCX718p764uJ93r8e3B0iHNzsBctfk76THQ4AIjx3bzknPxZc+rnvemFcud8o+CtXLd/oLivspQKDLhOHmSRq2Petu73PRYylABIiJvQABExnPIWx7IEAEiABxPwUI1D23wbYHFwXIyiTJPiD2AXE/BQhkPW/AtgcXBkjEEY8qjnT19N8y7lvUUbBO/iakal3PvhHsPuKYAAEABMhhE6NTzoXx5pPR3X5OEucBAQBoeCb0iolt17OBdzqD+psfo07LIEAAAAEiQASIABEgAAACRIAIEAEiQACA1wZIt4mRfUDOi5Cu67p6GQQIACBAJiZHf//vT3838m+z9+XUf5tdvqp4WL1cxpHDZq9z9vFyFCwAgI0B8mSSdPv5Ll6yEZV9a1P9DVL37dNzBAAQIF8mSG864/fb4iN7v5XqfWhO2D49PwAAASJAWkZB9Y7XAkSAAAAIEMERGiQCRIAAALQLkG+TJPuA9AiPTvtyZGxLt26fniMAgAD5YXL09//+9Hff/i3jKFEVR+E6ITpWv0VY3Sayj1g1sgyzR92KWk8CBAAQIA0mRm/8hHt3fJx+nozK+7kjFAQIACBA/v33mB2eT/yNf3QoVIXIKY/DaWerFyAAgAARIOXxccLtCRABAgAgQBoHSFV0VN2+ABEgAAD2Afm35z4gO8Mj877YB8Q+IACAACk7ClbUdcwemSniKFgVk7xO8ZEZIaPrOmNberq9ZByJLeoxFSAAgABJnPjunJRVTPQ6xseO+3b7Ebgyf5oIACBAgie8WZervs7M29i1M3m39fDkOqv3P8k+uhgAgAARICXXX3mej8qdqgWIAAEABIgAaTTh3nXCwax1IkAECAAgQNpEyM5JWcdvP3ae9fy0Q8vaBwQA4OUBknHkqcyjDEVe5+okPis8Op7f4sn2Er3Njfzb7m1JgFz94vw4jldeK55cduW+VX7QEfU3UdcZ9Zqbvc6zlzHj8Y16jmQ873Y9r1fuw+j96XrAHATI9KTpLUe+yo6P3ddTtb2cOqG0bhAgAkSACBABggBp8Mb69h3PV184opd15X7tDrXTJpMCBAEiQASIABEgCBAB0ipAKs7DMXsbAkSAIEAEiAARIAIEBMhhR77qMhHv9i2IABEgAkSACBABIkAECAIkddL01iNfdZqEd/8W5IYJpXWDABEgAkSACBAEyKY32NF/e3qdXY9clP0CvStCVqLlyb89fRwqjmY1u407ChYCRIAIEAEiQPAe1/w8IJ0mZZk7fEf+feQLROZ9zTgvR/X5PGa3F+cBQYAIEAEiQAQIAuRlb9w7r7Pi249dh9h9+rcZZyavPqP57HpzJnQEiAARIAJEgOA9ToAcFSBR8ZGxc7kAESAIEAEiQASIAAEB0ihAsn9+lXHG84y/FyACBAEiQASIABEgCJCr37y7XOfuF+ZdbxCj69M+IALEi7MAESACRIAIEARI2hts5L99+rvIyd7sdWb+/Orpi0H2tyAzf/vT/8/YPqK2idltMPO+ePEXIAJEgAgQASJAECAJnw6ffo6Q7In87m81ZsJp10T6lvPNePEXIAJEgAgQASJAECALT8Dbz5LeadLf/b50O9Fit21JgAgQASJABIgAESAIEAEiQASIAEGACBABIkAECAgQASJABAgCRIAIEAEiQAQIrw2Qb5Mm+4C8L0B2TKTtA4IAESACRIAIEAHC5QEycsSjiKNgzV5u9shFHY4mddpO6KvrM3MbfHq5jPsiQBAgAkSACBABggBJ/IS308ab/c2Mw/Du2yY6nT/EeUAQIAJEgAgQAYIA2fRG2mkDrtg3xYkI92wTnc6g7kzoCBABIkAEiADBe5wAaRkgUX+/OhHI+HsBIkAQIAJEgAgQAYIAESBFk9RdR5TqdOQuASJAECACRIAIEAGCACl9M+06garYTyDzxXn0TS/zzX/0b7O3CfuAIEAEiAARIAJEgPCCAJk9ylDE7c3exux1PD2qUfZPoCJfIKp+rjW6vVRvgxlHaXMULASIABEgAkSAIECS30Cr37BPuS+ZLzTZE6DM2Om6DXY7T40XfwEiQASIABEgAgQB8m+vM1t3PMt21iF2dz5+O7+p6XCdu86u7sVfgAgQASJABIgAQYAIkPAAqVyOip3VBYgAQYAIEAEiQAQIAkSAFC975CF2s+975rcfAkSAIEAEiAARIAIEAZLyBlr9ht31vqxM2iPe0DOuN+K+2AfEPiAIEAEiQASIAEGAhL2J/v2/M67/221E3JeZJ/lvl+t6iN3oT/Cjji61cxscOVpXxbYlQASIABEgAkSACBAESLNPok+5XHY8rI6o+DjlW6nVx6/DRBUBIkAEiAARIAKE1wdIp9/3d7xc9gtJRnjMxMcJ++WMXK7Li68XfwEiQASIABEgAgQBIkDKAiQjQqIeAwEiQBAgAkSACBABAgKk6eUi1lFVeESElQARIAgQASJABIgAQYAcN0m6YR+QrCdzRnTM3E/7gAgQBIgAESACRIBAaYBUHwUr477MHvFo5nIV5/qInhB9Wo5vy159BKnZ2xtZBgGCABEgAkSACBDYFCCdNsrqT79XPjXvGCEz8RG9Xiof25Mm/F78BYgAESACRIAIEARIsw2z+vf/EfsNdIqQlfiIXi8Vj+0p27UAESACRIAIEAEiQBAgAiR0op111vOI8Bi9zwJEgCBABIgAESACBARI8wAZefOqio6VF0UBIkAQIAJEgAgQAQL2AVm4XNW+DpmH0824fvuACBAEiAARIAJEgMCWAPlzA91xHRlHPBq5b7NHgooKhV0nKFxZ9uyjYI3cz4zLCRAEiAARIAJEgOA9rug8INWTq06fbu/8NmRHfGQt+03bmQBBgAgQASJABAgC5NA34A6Xm73O1dvrGh0Vy37ydiZAECACRIAIEAGC9zgBcmSAZIVIxeMnQAQIAkSACBABIkAQIALk0ABZDZIdj58AESAIEAEiQASIAEGAHPEm3PVys9d5+xPXPiACBAEiQASIABEg0CZAso9KtfuoRtFHwYpanxWXe7p8UUccy9jOMraXzOXz4i9ABIgAESACRIAgQBImTZ3OI1F9P6vXZ6fH4ZTHdsc24cVfgAgQASJABIgAQYAEv6E8udyb9/votK/Mmx/bXduEF38BIkAEiAARIAIEASJABIgAESAIEAEiQASIAAEBIkAEiABBgAgQASJABIgA4XUBsjJpsg9I3frs9DjYB0SACBABIkAEiAARIAiQ6SfeT/+/+khJUfdl5DZ++7eM29t9ueyjRM1uL7PremQbjFg+AYIAESACRIAIEARI4qfGnb4tOOW+ZExIu32yX/n4nXyuFi/+AkSACBABIkAECAJk4InSaX+JU+5L5Jt15uVOefxOOWO7ABEgAkSACBABIkAQIAJEgAgQAYIAESACRIAIEO9BCBABIkAECAJEgAgQASJABAivDZBvkyT7gNgHZPfjZx8QBIgAESACRIAIEC4JkOwjF3W+L9VHwXq6DFGXO/HIYSOP7dN/W3lcIh9rL/4CRIAIEAEiQAQIrw+Q28/dMHu56ifr7d9sVN+e84AgQASIABEgAkSA0DBAbj979ezlqp+wt+/bUX17zoSOABEgAkSACBABggARIAJEgHjxFyACRIAIEAEiQBAgAkSACBABggARIAJEgAgQKAqQlYmRfUD6Pw72AbEPCAJEgAgQASJAvAfRLkD+3ECrLvf0OmePzDR7hKWK5ctehtmjg2UcBStqe8w+ClbFNuHFX4AIEAEiQASIAEGAHPbGHnG5U56Abz6HRqdvPDpszwgQASJABIgAESAIkCZv6qOXO+VJ+OaziHfa50OAIEAEiAARIAIE73ECRIAIEAGCABEgAkSACBABggARIAJEgAgQASJABIgAESACBAFy2Rt7xOXsA2IfkF1h4MVfgAgQASJABIgAQYAUvTGv/FvG0bmijnhUNWEdXS+7j4LVddlHtjNHwUKACBABIkAECN7jDguQUz6Jv+F+Vk96bz8/ivOAIEAEiAARIAIEDguQU/ZFuOF+Zlyu+jqrl33X4+7FX4AIEAEiQASIAEGAmNgLEAEiQBAgAkSACBABAgJEgAgQAYIAESACRIAIEAGCAFl48kb8m/tpHxD7gCBABIgAESACRIDwsgCpPgJR5tGIVu/L6Kfxket+9ohVUUf8yl722dub3c5W1oUA8eIsQASIABEgAgQBsuGT6E6fUp9yexmPww3LfsO3NgJEgAgQASJABIgAQYAkvsl2+p3+KbeXOdk5edlv2G9FgAgQASJABIgAESAIEAEiQASIAEGACBABIkAEiPcgBIgAESACBAEiQASIABEgAgQBMjGBsg9I3aTTPiBnTv69+AsQASJABIgAESAIkIU32yf/lnEUrIijGs0uw+6jYM1eZ6d1nbHOZq8z6ghdAsSLswARIAJEgAgQBEjDN+Wu/5axDB6HunV20rczXvwFiAARIAJEgAgQBMiGN+RO/5axDB6HunV22v4pXvwFiAARIAJEgAgQBIiJrwARIAIEASJABIgAESAgQASIx0GAIEAEiAARIAJEgCBAFp68Xf8tYxk8DvYBESACRIAIEAEiQAQIAmTiiZd5PdVHWIo4UtLIv+18HKLWS/XRs3avp4j1KUAEiAARIAJEgAgQBEjzSdIp54q4/ZP9U9bL7snlSc8tBIgAESACRIAIENoHSPVGesrZsm/ft+GU9dJxYilAECACRIAIEAGCABEgAkSACBAEiAARIAJEgAgQBIiJtvUiQLz4CxABIkAEiAARIAiQzZMk+zpYLydNLk96biFABIgAESACRIDQOkAyjlw0e4Sl2fuZvewRR9laWX+zR23Kvi9RRwfLWL8ZRwATIAgQASJABIgAQYAkTow6nUOj06f7uyc5Xe/LKdvLjsfdi78AESACRIAIEAGCAPn3nLOId9q/oeMEp8N9OWV72fW4e/EXIAJEgAgQASJAECACRIAIEAGCABEgAkSACBAQIAJEgAgQBIgAESACRIAIEK4MkG8TI/uA2Afkxu3FPiAIEAEiQASIAIGNAfLnBjr6b5/+rvo6Z64/637O3peny777iFERR5Davb1kHMlLgAgQASJABIgAESAIkE1vwjuvs9O5TE759P6U66zeXpwHBAEiQASIABEgCJBD34CrrrPT2dxP2X/hlOus3l6cCR0BIkAEiAARIHiPEyACRIAIEAAAASJABIgAESAAgADZGCE7r9M+IPYBsQ8IAMDBARJxxKOo68y4LxHrJeooShHXWX3UrYjHOetx2LnsAgQAECDBk6ZOn+6/+VuP6uVr+MQ44oSBAgQAECCDE6au+ze8eb+P6uXrHB879yURIACAABEgAkSACBAAAAEiQASIABEgAIAAmZg02QfEPiDdIqTzsgsQAECADE6cRv8t4zorjqp04nqpXr6OEXLKdQoQAECAAGWhJEAAAAECCBAAAAECAgQAQIAAAgQAECCAAAEAECCAAAEABAhQ+yT+6X8DALQOEMMwDMMwDMMwjKJhJRiGYRiGYRiGIUAMwzAMwzAMwxAghmEYhmEYhmEYAsQwDMMwDMMwDAFiGIZhGIZhGIYhQAzDMAzDMAzDECCGYRiGYRiGYQgQwzAMwzAMwzAMAWIYhmEYhmEYhgAxDMMwDMMwDMMQIIZhGIZhGIZhCBDDMAzDMAzDMASIYRiGYRiGYRiGADEMwzAMwzAM48wAAQCA3UzMBQgAAAgQQ4AAACBADAECAAACxBAgAAAIEEOAAACAABEgAAAgQAwBAgCAADEECAAACBBDgAAAIEAMAQIAAAJEgFD+BLrhyf/2xxEAECBGYoDM3kj09UZvoB2eNLc82Xfexs71UbneOzyfsoM2+oUOAAFiCJBWARIxUTlxglS5/ro9Xh0eRwFSFyBiBECAGAKkbYBET7Ce/m3HJ/jM5Xa8oGSvj8jLCJD9ASJGAASIcfA+IFlv7LPXFTmRXp1Ejl6m05M7a7lnt5vsiWTWZP/k51Plz84y140IARAgxksCJHrjy7w/K5OTyEl4hyf2zY9V9jac+U3BjudT5b4vFetHhAAIEEOAtJqg7AiQvy9/Ynx0m0zu3H4j1q0A2Rd5IgRAgBgCpP2kNnoydGJ8dHusovZn2rWOTwyQiPCrfr0RIQACxBAgR05qTwqQzAnXrsnk7oDpEMFdAmT1W4gdrzciBECAGALkuEmtABEg0dfdOUAi15sAAUCACBABcnGAVJ+AsXuA7Dwh5c0BsvLY7Xq9ESEAAsQQIFcESLfJy2lnX785QLIPapAdIFERIkAAECACRIAEB0inCYwAESDRkSBAABAghgDZNKntHiEn3rfT42PlPt4QIDOPw87XGxECIEAMAXJVgOyeyAiQfgGSfWjnigBZXZcCBAABIkAESNKkdveE5sYA6Xr0q7cFyMr6FCAACBABIkCKAqR6UnNTgHQ9+aAAWV9OAQKAABEgrwuQrDNY757cnLp/Stb6EyDxO4oLEAAEiCFAgnb8nVmObhGSdeK4iOWrjg8BknekqtFlFSAACBAB8soA2THJrZ7o3BogGYEoQHIC5MkO7AIEAAEiQK4LkB1BIEBiDjkbue4ESN65OgQIAALEECBNvonoetu7r9dO6HcFyMgyCxAABIgAeX2AdHhCnRQgEY+9ABEgAgQAASJArg2QU55UJ0VIdYCcFCHZP0vrGiBPl73L81t8AAgQQ4BcHyA7Jj03BUjm7QqQ/AD5n+sRIAAIEAEiQIru345QEiACpDJAniy/AAFAgAiQ9pNbAdIvQroFSJcIWbnuTs+nynPi7HjeiA8AAWIIkNRPXgVI3VnFKy4vQOpjXoAAIECMFgGSMZkWIPVP6LcFSNVkv+PPjKq28ZE3kep1Iz4ABIhxaYBETQzeEiC7n9Q3BMju7aVbGEU+PplvJKeuXwAEiLEpQJ5sLFWT8hMCZPfkp8vk/bbJaNV1VT2fbguQDucCAkCAGIUB8vSEZKcGSOVPhyqe3G8KiNV1Ubl/TeXzqepkfzvPHSM+AASIcXCAZGwwmbdXsazdP3mdWV8r6zbjsaq8rupP1Ls/nyKXZ+cbEAACxDg4QCI3muzbOmk5T3uiVwbI6HWf9rh2fj6dHiAACBDjkgCpmGx2CJAOt9/pCd9hm6i+rk6HUd7xfIpcjqo3IAAEiHFxgDzZoN7y5LnpRcCLYZ/14bEBQIAYAgQAAASIIUAAABAghgABAAABIkAAAECAGAIEAAABYggQAAAQIIYAAQBAgBgCBAAABIgAAQAAAWIIEAAABIghQAAAQIAYAgQAAAFiCBAAABAghgABAECAGAIEAAABYggQAAAQIIYAAQBAgBgCBAAABIghQGj6ojPy362v/3siY91aZkCAGNcFyOoNjV5PxMZb8ST49ndPru/pdYyup5V1m/0YdQ+Qp8u48lzYtX2vXL5iO/h2X0fW6+hjkLFMK+us6nk3er2z63X1eZK5PjJeL3c8xiISAWJcGyAjL3grl1mdJGW8gD8NjIjrj/qkcuTvZ5c9K0Cq3kxnJxDRf1dxPSsTzspPzZ+85syE4o74iLov0es7Y1vIeJ5kro+V1/OM94KVZfItFgLEuDZAov4tepIdMUme+WZh9E024m8yJsmry541Eap6I515LKPXbWV8zARs5TYx+ml41DJUbNOrk/Wd29NKOK0GW9b6WNnGsi9b9d4HAsQQIAEvwllvrqtvlE/fiGd+zpAdPRWTtdn1lfkC2GVyHvkNSsbj3TlAusXHrtfGiMuvLNPKhxBZ62PX45SxTAIEAWIIkM0vwKuXzf6kLvJTxh0TsKoA2flG2ilAMn6+1TlARu7n05/JVG7L3QMkc7L+6bVRgNR8KCRAECDGa46ClfVtw+rEuPpT/aiv1EeDYTUwdr9h7f75Vfb20O2gCtnRUH0fI37OtGvbyY6BLgGSvf2cFCDZ8S9AECCGANkQIFVvmNFvVBEBUvVb450vLB0nkZnxEb19Zq23rOXssE9W1wDpOFnfGSBZz9OVHeCzA2T1+kGAGAJkcQK38kKcOVGs2tHzlAB5OnmYPYTlbQHy5FDNldtm1ja0Gu8zP/uJWrfVARJ137IOUVz9k87M5+rK+1TEB1JZP28GAWIIkKDJ284dOlcmQdEBknV4zOwXmpsCJOPbj9XDkEZPVqoOBzt7mN2Z8+RELWNGgEQH7cwydwqQrO1v5VDcGd/YChAEiCFAEt9Aoj51nL1v2b9frzzU5YkBsvsT1BMCJOJvMp+7Wcu4ckK3qnWbHSCR6zt7n5qsAMvc/k4MkO7faoMAMY77BiTy24+n19fhTSwiQH77t8gThGVMPp9Olne8AO6Mj6hPnStO+pn1c6WsE25GrdvqCXjVz8NWviGpPPhHVpSt/Czt6bdMq/et8gMZECDGq36CFb2xVgVIZlDNTCgz1vWOF5XuAbLzp2AjZ7CPXr+ZP1XqMPnvFCCr21nm9lSx7NXrI2P/kJV1tOvACiBAjNfthF4xiak6ClbmkU9m37R2/typ8++XbwmQqglL9M8wZ0PpDQFScbmK7X/3YaBX9r+puOyn1/LOH96AADFeEyARb4wVR/LJOBHhk7/J+JlLZoB0egHcGR9RAVJx33ee0E+A9AqQHdtL9f3dddmdz0UQIMarzgMSESDRk/Df/j7qt/aRARIdX1nnpDg5QDI+na8MkIjHVYCsfUhweoDs/PbjtADJ3j4ECALEECDJb9CRk8SK8ypETVRndxyPmDxkBkinN9wuAbIS6xHLkL1sOwMk8oOQqNe3ivWdscxZ8dEh7gUICBBDgKS+SY6+2UWetXlXeO2aaEYFyO7zgFTE28phmVdvp/IgDh0DJGuiH3127YrtacffZ6+P7HPo7DhBrABBgBivC5CMN6FvL9JZbzYz35ZETPSzfjIV9Y1J9r4yqy9UlRPfjPNORE6CKg6NnT3ZqTypXdW2vvIaUHXAjN2v+5XrY+X1LuOcKVWHWgYBYhwbICuHvI26zOz+EFHnvpi5X7NHMFldjojHNurFJWLCnDEJGXk8q49I8/T6Mp4fu46wU3WemuztPfvkdpnbU1R8rDxXs9dH5YkII7YPAYIAMXwDApsDhPvfiOg5Oai4HJ4zCBBDgADgAwQAAWIIEAAABIghQAAAQIAYAgQAAAFiCBAAAASIIUAAAECAGAIEAAABYggQAAAQIIYAAQBAgBgCBAAAAWJyLkAAAECAGAIEAAABYggQAAAQIIYAAQBAgBgCBAAABIgAAQAAAWIIEAAABIghQAAAQIAYAgQAAAFiCBAAABAgAgQAAASIIUAAABAghgABAAABYggQAAAEiNE4QAzDMAzDMAzDMASIYRiGYRiGYRgCxDAMwzAMwzAMQ4AYhmEYhmEYhiFADMMwDMMwDMMw/jdAAAAAio50JkAAAAABAgAACBAAAAABAgAACBAAAAABAgAACBAAAECAAAAACBAAAECAAAAACBAAAECAAAAAAoRXbAT/MX77myfXs3IfRu/nymVXrn/0PjxZ3qjlyngcV5Yx+7JRj2nGfcjYxla2n8rHonKbjFqf2a+B3V43Ml6rK99rop7jGa+Hu173std/9uv86H1buQ8IEASIABEgAkSACBABIkAEiAARIAgQASJABIgAESACRIAIEAGCAEGACBABIkAEiAARIAJEgAgQAYIAESACRIAIEAEiQASIABEgCBAEiAARIAJEgAgQASJABAgCBAEiQASIABEgAkSACBABIkAECAJEgAgQASJABIgAESACRIAgQBAgAkSACBABIkAEiAARIAJEgCBABIgAESACRIAIEAEiQAQIAgQBIkAEiAARIAJEgAgQAYIAQYAIEAEiQASIABEgAkSACBABggARIAJEgAgQASJABIgAESAIEASIABEgAkSACBABIkAEiAARIAgQASJABIgAESACRIAIEAGCAEGACBABIkAEiAARIAJEgCBAECACRIAIEAEiQASIABEgAsTcU4DYCASIABEgAkSACBABIkAECAIEASJABIgAESACRIAIEAEiQAQIAkSACBABIkAEiAARIAJEgCBAECACRIAIEAEiQASIABEgCBAEiAARIAJEgAgQASJABIgAQYAgQASIABEgAkSACBABIkAQIAgQASJABIgAESACRIAIEAEiQBAgAkSACBABIkAEiAARIAIEAYIAESACRIAIEAEiQASIABEgAgQBIkAEiAARIAJEgAgQASJAECAIEAEiQASIABEgAkSACBAECAJEgAgQASJABIgAESACRIAIEASIABEgAkSACBABIkAEiABBgCBABIgAESACRIAIEAEiQASIAEGACBABIkAEiAARIAJEgAgQBAgCRIAIEAEiQASIABEgAgQBggARIAJEgAgQASJABIgAESACBAEiQASIABEgAkSACBABIkAQIAgQASJABIgAESACRIAIEAEiQBAgAkSACBABIkAEiAARIAIEAYIAESACRIAIEAEiQASIAEGAIEAEiAARIAJEgAgQASJABIgAQYAIEAEiQASIABEgAkSACBAECAJEgAgQASJABIgAESACRIAIEASIABEgAkSACBABIkAEiABBgCBABIgAESACRIAIEAEiQBAgCBABIkAEiAARIAJEgAgQAWLu6YGyEQgQASJABIgAESACRIAIEAQIAkSACBABIkAEiAARIAJEgAgQBIgAESACRIAIEAEiQASIAEGAIEAEiAARIAJEgAgQASJAECAIEAEiQGLfmKJGxwCJmCQLEAEiQASIAEGAIEAEiAARIOEB8uftVU4wKh+fXQGyazs85b5FvdfsWp7M18PO21rE66MAQYAgQATINQHS6Y1WgAgQAbI2ORUgAkSAIEAQIAKkdYCcMgnM3oajJlQCRIB0CxEBIkAECAIEASJAWgTIaZPAjgHy7ZsTASJAOk9WBYgAESACBAEiQARIWYCcOAkUIAJk17cIp09a3xQgt0SIAEGAIEAEyFUBEvmGGHX9JwdI1k7E3SaZpwZI1YRtdRvInLjueoyinrMZl41+3YvefgQIAgQBIkCuCZCqiYQAESCd13/HAIlcXxHvNTcGyOprkwARIAIEASJABEjhRFSACBAB0mcbqDhPjQARIAJEgCBABIgAESACRIC8LECibluACBABggBBgAgQASJABIgAKYsQASJABAgCBAEiQASIABEgAkSACBABggBBgAgQASJA7g6QlXUhQPYFSMXzWoAIEAEiQBAgAkSACBABIkAEiAARIAIEAYIAESACRIAIEAEiQASIABEgAgQBIkAEiAARIMtHRRIgAkSACBABIkAQIAJEgAgQAfLaAMma/AsQASJABIgAQYAIEAEiQASIABEgAuRVAVL5+iBAECAIEAEiQBoHSOQ67BogqxEiQASIABEgAkSAIEAEiAA5LkAyJt4C5J4AyZz8CxABIkAEiABBgAgQASJABIgAESACRIAIEAQIAkSACJB3BUj0OrwtQEYmpwJEgAgQAYIAQYAIEAEiQATIEQGSPfkXIAKkKkC6vD4IEAQIAkSACJCGAZKxDgWIABEgAkSAIEAQIAJEgAgQAfJv/qGJBYgAESACBAGCABEgAiR8MiFA5n7WJUAEiAC5P0A6fUAhQBAgCBABcmSARLwxCRABIkAEiAARIAgQBIgAESAh+wIIEAEiQASIABEgCBAEiAARIKVBIkDGY02ACBABIkAECAIEASJArgyQ7EmnABEgAkSACBABggBBgAgQAVIWICuHaRUgewMka5kFyP4AmX2vESBrAdLtKHkCBAGCABEg2wKkKkI6BUj1pHdl2QWIABEgvQJk9wE9BAgCBAEiQK4IkC5vwgKkV4BEL7cAiQuQyAMgCBABIkDMPQWIjUCACJAtAdLhjbgiQHZMegWIAIkMkKplFyACRIAIEASIABEgZW9MAkSACJCeAVK57AJEgAgQAYIAESACpPSNSYAIkOhlFyBrz+XI7UuACBABggBBgAiQdgGy4805O0B2TXoFiACJeh2I2rYESMy2mPm+KUAQIAgQASJANkaIABEgNwXIbz9xy17nAsR5QAQIAgQBIkAEiAA5IkAyJp9vD5Dd25MAESACBAGCABEgAmTx9+rf1s/pE0YBIkCqtyUBIkAEiABBgAgQAdLqjSl7EiZA7g2Q6nh5S4Bkv9cIEAEiQAQIAkSACJDtAZI5GRMgvQIkYh0KkB7xIUD2Bci32xMgCBAEiAARIIOXzZpUrU5musdH5O/2Bci9AZL1Oi9ABIgAMfcUIDYCASJAjg2Q6ImZALkvQHbsP3LbmdAFiAARIAgQBIgAESCNA6Ryp+mI+9A5QCIm3gJEgAgQAYIAQYAIEAHSNkC+TXwEiAARIALktACJfK8XIAgQBIgAESAJkxYBck+A7DqErwARIAJEgCBAECACRIAIkKTnjgARIAJEgAgQBAgCRIC0DZDsT92jJmsCRIAIEAGSFQgCRICYewoQG4EAESACRIAIEAEiQASIAEGAIEAEyM0BkjXpjZiwvTFARg+DK0AEiAC5O0BGzwsjQBAgCBABIkAEiAARIAJEgAgQBAgCRIAIkLcGSFZQRE/UBYgAESACRIAgQBAgAkSAFAZI1mMhQASIABEgAkSAIEAQIAJEgAgQASJABIgAESAIEASIABEgZwXI6nV2CpDu26QAESACRIAIEAGCABEgAqRlgFROFAVI7TYpQASIABEgAkSAIEAEiABJe+M+PUCyg0KACBABIkAEiAARIAgQASJANgdI5b4Pu4MiI0Ay94WJ2iYFiAARILEBUrGPmABBgCBABMiVAVJ9/gsBIkAEiAARIAIEAYIAESACpEWARD5e1QGSeUJGASJABIgAESDmngLERiBABMi2AKlaD523GQGSf5SzrG3ylAD5baIpQASIAEGAIEAEyGsDJPLNLztAon/O1DVAor41eroubw2QlZ+0ZWzvpwRI5ra6M0Aynm+r67/qPEECBAGCABEgxwXIrslJ53NPnLa+d03kuq+jDtvfrQFySpCfuJwCBAGCABEgAkSACJBD19GbA+RNE3MBIkAQIAgQASJABIgAMYEVIAJEgCBAECACRIAIEAEiQASIABEgAkSAIEAEiAA5KECythkBclaAnDIpFCACRIAIEAGCABEgAiQpQLLfqCu3mextOGObzHocd2+TGQGS8RrY7XUj47W68r2m8ihY2e+J2Y9jh9cHAYIAQYAIkBYBkvlGLEAEiAARIAJEgCBAECACRIAIEAEiQASIABEgAsTc0wNlIxAgAkSACBABIkAEiAARIAgQBIgAESACRIAIEAEiQASIABEgCBABIkAEiAARIAJEgAgQAYIAQYAIEAEiQASIABEgAkSAIEAQIAJEgAgQASJABIgAESACBAGCABEgAkSACBABIkAEiABBgCBABIgAESACRIAIEAEiQASIAEGACBABIkAEiAARIAJEgAgQBAgCRIAIEAEiQASIABEgAkSACBAEiAARIAJEgAgQASJABIgAQYAgQASIABEgAkSACBABIkAQIAgQASJABIgAESACRIAIEAEiQBAgAkSACBABIkAEiAARIAIEAYIAESACRIAIEAEiQASIABEgAgQBIkAEiAARIAJEgAgQASJAECAIEAEiQASIABEgAkSACBAECAJEgAgQASJABIgAESACRIAIEASIABEgAkSACBABIkAEiABBgCBABIgAESACRIAIEAEiQASIAEGACBABIkAEiAARIAJEgAgQBAgCRIAIEAEiQASIABEgAgQBggARIAJEgAgQASJABIgAESACBAEiQASIABEgAkSACBABIkAQIAgQASJABIgAESACRIAIEAEiQBAgAkSACBABIkAEiAARIAIEAYIAESACRIAIEAEiQASIAEGAIEAEiAARIAJEgAgQASJABIgAQYAIEAEiQASIABEgAkSACBAECAJEgAgQASJABIgAESACRIAIEASIABEgAkSACBABIkAEiABBgCBABIgAESACRIAIEAEiQBAgCBABIkAEiAARIAJEgAgQAWLuKUAQIAJEgAgQASJABIgAESAIEASIABEgAkSACBABIkAEiAARIAgQASJABIgAESACRIAIEAGCAEGACBABIkAEiAARIAJEgJjXChAEiAARIAJEgAgQASJABIgAQYAgQASIABEgAkSACBABIkAQIAgQASJABIgAESACRIAIEAEiQBAgAkSACBABIkAEiAARIAIEAYIAESACRIAIEAEiQASIABEgAgQBIkAEiAARIAJEgAgQASJAECAIEAEiQASIABEgAkSACBAECAJEgAgQASJABIgAESACRIAIEASIABEgAkSACBABIkAEiABBgCBABIgAESACRIAIEAEiQASIAEGACBABIkAEiAARIAJEgAgQBAgCRIAIEAEiQASIABEgAgQBggARIAJEgAgQASJABIgAESACBAEiQASIABEgAkSACBABIkAQIAgQASJABIgAESACRIAIEAEiQBAgAkSACBABIkAEiAARIAIEAYIAESACRIAIEAEiQASIAEGAIEAEiAARIAJEgAgQASJABIgAQYAIEAEiQASIABEgAkSACBAECAJEgAgQASJABIgAESACRIAIEASIABEgAkSACBABIkAEiABBgCBABIgAESACRIAIEAEiQBAgCBABIkAEiAARIAJEgAgQAWLuKUBsBAJEgAgQASJABIgAESACBAGCABEgAkSACBABIkAEiAARIAIEASJABIgAESACRIAIEAEiQBAgCBABIkAEiAARIAJEgAgQBAgCRIAIEAEiQASIABEgAkSAIEAQIAJEgAgQASJABIgAESAIEASIABEgAkSACBABIkAEiAARIAgQASJABIgAESACRIAIEAGCAEGACBABIkAEiAARIAJEgAgQAYIAESACRIAIEAEiQASIABEgCBAEiAARIAJEgAgQASJABAgCBAEiQASIABEgAkSACBABIkAECAJEgAgQASJABIgAESACRIAgQBAgAkSACBABIkAEiAARIAJEgCBABIgAESACRIAIEAEiQAQIAgQBIkAEiAARIAJEgAgQAYIAQYAIEAEiQASIABEgAkSACBABggARIAJEgAgQASJABIgAESAIEASIABEgAkSACBABIkAEiAARIAgQASJABIgAESACRIAIEAGCAEGACBABIkAEiAARIAJEgCBAECACRIAIEAEiQASIABEgAkSAIEAEiAARIAJEgAgQASJABAgCBAEiQASIABEgAkSACBABIkAECAJEgAgQASJABIgAESACRIAgQBAgAkSACBABIkAE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" - } - ] + "response": { + "payload": { + "shippingLabels": [ + { + "purchaseOrderNumber": "mockpurchaseOrderNumber1", + "sellingParty": { + "partyId": "999US" }, - { - "purchaseOrderNumber": "mockpurchaseOrderNumber2", - "sellingParty": { - "partyId": "999US" - }, - "shipFromParty": { - "partyId": "ABCD" - }, - "labelFormat": "PNG", - "labelData": [ - { - "packageIdentifier": "PKG002", - "trackingNumber": "1Z6A34Y60369738805", - "shipMethod": "UPS_GR_RES", - "shipMethodName": "UPS Ground Residential", - "content": "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AAFiCBAAABAgAgQAAASIIUAAABAghgABAAABYggQAAAEiNE4QAzDMAzDMAzDMASIYRiGYRiGYRgCxDAMwzAMwzAMQ4AYhmEYhmEYhiFADMMwDMMwDMMw/jdAAAAAio50JkAAAAABAgAACBAAAAABAgAACBAAAAABAgAACBAAAECAAAAACBAAAECAAAAACBAAAECAAAAAAoRXbAT/MX77myfXs3IfRu/nymVXrn/0PjxZ3qjlyngcV5Yx+7JRj2nGfcjYxla2n8rHonKbjFqf2a+B3V43Ml6rK99rop7jGa+Hu173std/9uv86H1buQ8IEASIABEgAkSACBABIkAEiAARIAgQASJABIgAESACRIAIEAGCAEGACBABIkAEiAARIAJEgAgQAYIAESACRIAIEAEiQASIABEgCBAEiAARIAJEgAgQASJABAgCBAEiQASIABEgAkSACBABIkAECAJEgAgQASJABIgAESACRIAgQBAgAkSACBABIkAEiAARIAJEgCBABIgAESACRIAIEAEiQAQIAgQBIkAEiAARIAJEgAgQAYIAQYAIEAEiQASIABEgAkSACBABggARIAJEgAgQASJABIgAESAIEASIABEgAkSACBABIkAEiAARIAgQASJABIgAESACRIAIEAGCAEGACBABIkAEiAARIAJEgCBAECACRIAIEAEiQASIABEgAsTcU4DYCASIABEgAkSACBABIkAECAIEASJABIgAESACRIAIEAEiQAQIAkSACBABIkAEiAARIAJEgCBAECACRIAIEAEiQASIABEgCBAEiAARIAJEgAgQASJABIgAQYAgQASIABEgAkSACBABIkAQIAgQASJABIgAESACRIAIEAEiQBAgAkSACBABIkAEiAARIAIEAYIAESACRIAIEAEiQASIABEgAgQBIkAEiAARIAJEgAgQASJAECAIEAEiQASIABEgAkSACBAECAJEgAgQASJABIgAESACRIAIEASIABEgAkSACBABIkAEiABBgCBABIgAESACRIAIEAEiQASIAEGACBABIkAEiAARIAJEgAgQBAgCRIAIEAEiQASIABEgAgQBggARIAJEgAgQASJABIgAESACBAEiQASIABEgAkSACBABIkAQIAgQASJABIgAESACRIAIEAEiQBAgAkSACBABIkAEiAARIAIEAYIAESACRIAIEAEiQASIAEGAIEAEiAARIAJEgAgQASJABIgAQYAIEAEiQASIABEgAkSACBAECAJEgAgQASJABIgAESACRIAIEASIABEgAkSACBABIkAEiABBgCBABIgAESACRIAIEAEiQBAgCBABIkAEiAARIAJEgAgQAWLu6YGyEQgQASJABIgAESACRIAIEAQIAkSACBABIkAEiAARIAJEgAgQBIgAESACRIAIEAEiQASIAEGAIEAEiAARIAJEgAgQASJAECAIEAEiQGLfmKJGxwCJmCQLEAEiQASIAEGAIEAEiAARIOEB8uftVU4wKh+fXQGyazs85b5FvdfsWp7M18PO21rE66MAQYAgQATINQHS6Y1WgAgQAbI2ORUgAkSAIEAQIAKkdYCcMgnM3oajJlQCRIB0CxEBIkAECAIEASJAWgTIaZPAjgHy7ZsTASJAOk9WBYgAESACBAEiQARIWYCcOAkUIAJk17cIp09a3xQgt0SIAEGAIEAEyFUBEvmGGHX9JwdI1k7E3SaZpwZI1YRtdRvInLjueoyinrMZl41+3YvefgQIAgQBIkCuCZCqiYQAESCd13/HAIlcXxHvNTcGyOprkwARIAIEASJABEjhRFSACBAB0mcbqDhPjQARIAJEgCBABIgAESACRIC8LECibluACBABggBBgAgQASJABIgAKYsQASJABAgCBAEiQASIABEgAkSACBABggBBgAgQASJA7g6QlXUhQPYFSMXzWoAIEAEiQBAgAkSACBABIkAEiAARIAIEAYIAESACRIAIEAEiQASIABEgAgQBIkAEiAARIMtHRRIgAkSACBABIkAQIAJEgAgQAfLaAMma/AsQASJABIgAQYAIEAEiQASIABEgAuRVAVL5+iBAECAIEAEiQBoHSOQ67BogqxEiQASIABEgAkSAIEAEiAA5LkAyJt4C5J4AyZz8CxABIkAEiABBgAgQASJABIgAESACRIAIEAQIAkSACJB3BUj0OrwtQEYmpwJEgAgQAYIAQYAIEAEiQATIEQGSPfkXIAKkKkC6vD4IEAQIAkSACJCGAZKxDgWIABEgAkSAIEAQIAJEgAgQAfJv/qGJBYgAESACBAGCABEgAiR8MiFA5n7WJUAEiAC5P0A6fUAhQBAgCBABcmSARLwxCRABIkAEiAARIAgQBIgAESAh+wIIEAEiQASIABEgCBAEiAARIKVBIkDGY02ACBABIkAECAIEASJArgyQ7EmnABEgAkSACBABggBBgAgQAVIWICuHaRUgewMka5kFyP4AmX2vESBrAdLtKHkCBAGCABEg2wKkKkI6BUj1pHdl2QWIABEgvQJk9wE9BAgCBAEiQK4IkC5vwgKkV4BEL7cAiQuQyAMgCBABIkDMPQWIjUCACJAtAdLhjbgiQHZMegWIAIkMkKplFyACRIAIEASIABEgZW9MAkSACJCeAVK57AJEgAgQAYIAESACpPSNSYAIkOhlFyBrz+XI7UuACBABggBBgAiQdgGy4805O0B2TXoFiACJeh2I2rYESMy2mPm+KUAQIAgQASJANkaIABEgNwXIbz9xy17nAsR5QAQIAgQBIkAEiAA5IkAyJp9vD5Dd25MAESACBAGCABEgAmTx9+rf1s/pE0YBIkCqtyUBIkAEiABBgAgQAdLqjSl7EiZA7g2Q6nh5S4Bkv9cIEAEiQAQIAkSACJDtAZI5GRMgvQIkYh0KkB7xIUD2Bci32xMgCBAEiAARIIOXzZpUrU5musdH5O/2Bci9AZL1Oi9ABIgAMfcUIDYCASJAjg2Q6ImZALkvQHbsP3LbmdAFiAARIAgQBIgAESCNA6Ryp+mI+9A5QCIm3gJEgAgQAYIAQYAIEAHSNkC+TXwEiAARIALktACJfK8XIAgQBIgAESAJkxYBck+A7DqErwARIAJEgCBAECACRIAIkKTnjgARIAJEgAgQBAgCRIC0DZDsT92jJmsCRIAIEAGSFQgCRICYewoQG4EAESACRIAIEAEiQASIAEGAIEAEyM0BkjXpjZiwvTFARg+DK0AEiAC5O0BGzwsjQBAgCBABIkAEiAARIAJEgAgQBAgCRIAIkLcGSFZQRE/UBYgAESACRIAgQBAgAkSAFAZI1mMhQASIABEgAkSAIEAQIAJEgAgQASJABIgAESAIEASIABEgZwXI6nV2CpDu26QAESACRIAIEAGCABEgAqRlgFROFAVI7TYpQASIABEgAkSAIEAEiABJe+M+PUCyg0KACBABIkAEiAARIAgQASJANgdI5b4Pu4MiI0Ay94WJ2iYFiAARILEBUrGPmABBgCBABMiVAVJ9/gsBIkAEiAARIAIEAYIAESACpEWARD5e1QGSeUJGASJABIgAESDmngLERiBABMi2AKlaD523GQGSf5SzrG3ylAD5baIpQASIAEGAIEAEyGsDJPLNLztAon/O1DVAor41eroubw2QlZ+0ZWzvpwRI5ra6M0Aynm+r67/qPEECBAGCABEgxwXIrslJ53NPnLa+d03kuq+jDtvfrQFySpCfuJwCBAGCABEgAkSACJBD19GbA+RNE3MBIkAQIAgQASJABIgAMYEVIAJEgCBAECACRIAIEAEiQASIABEgAkSAIEAEiAA5KECythkBclaAnDIpFCACRIAIEAGCABEgAiQpQLLfqCu3mextOGObzHocd2+TGQGS8RrY7XUj47W68r2m8ihY2e+J2Y9jh9cHAYIAQYAIkBYBkvlGLEAEiAARIAJEgCBAECACRIAIEAEiQASIABEgAsTc0wNlIxAgAkSACBABIkAEiAARIAgQBIgAESACRIAIEAEiQASIABEgCBABIkAEiAARIAJEgAgQAYIAQYAIEAEiQASIABEgAkSAIEAQIAJEgAgQASJABIgAESACBAGCABEgAkSACBABIkAEiABBgCBABIgAESACRIAIEAEiQASIAEGACBABIkAEiAARIAJEgAgQBAgCRIAIEAEiQASIABEgAkSACBAEiAARIAJEgAgQASJABIgAQYAgQASIABEgAkSACBABIkAQIAgQASJABIgAESACRIAIEAEiQBAgAkSACBABIkAEiAARIAIEAYIAESACRIAIEAEiQASIABEgAgQBIkAEiAARIAJEgAgQASJAECAIEAEiQASIABEgAkSACBAECAJEgAgQASJABIgAESACRIAIEASIABEgAkSACBABIkAEiABBgCBABIgAESACRIAIEAEiQASIAEGACBABIkAEiAARIAJEgAgQBAgCRIAIEAEiQASIABEgAgQBggARIAJEgAgQASJABIgAESACBAEiQASIABEgAkSACBABIkAQIAgQASJABIgAESACRIAIEAEiQBAgAkSACBABIkAEiAARIAIEAYIAESACRIAIEAEiQASIAEGAIEAEiAARIAJEgAgQASJABIgAQYAIEAEiQASIABEgAkSACBAECAJEgAgQASJABIgAESACRIAIEASIABEgAkSACBABIkAEiABBgCBABIgAESACRIAIEAEiQBAgCBABIkAEiAARIAJEgAgQAWLuKUAQIAJEgAgQASJABIgAESAIEASIABEgAkSACBABIkAEiAARIAgQASJABIgAESACRIAIEAGCAEGACBABIkAEiAARIAJEgJjXChAEiAARIAJEgAgQASJABIgAQYAgQASIABEgAkSACBABIkAQIAgQASJABIgAESACRIAIEAEiQBAgAkSACBABIkAEiAARIAIEAYIAESACRIAIEAEiQASIABEgAgQBIkAEiAARIAJEgAgQASJAECAIEAEiQASIABEgAkSACBAECAJEgAgQASJABIgAESACRIAIEASIABEgAkSACBABIkAEiABBgCBABIgAESACRIAIEAEiQASIAEGACBABIkAEiAARIAJEgAgQBAgCRIAIEAEiQASIABEgAgQBggARIAJEgAgQASJABIgAESACBAEiQASIABEgAkSACBABIkAQIAgQASJABIgAESACRIAIEAEiQBAgAkSACBABIkAEiAARIAIEAYIAESACRIAIEAEiQASIAEGAIEAEiAARIAJEgAgQASJABIgAQYAIEAEiQASIABEgAkSACBAECAJEgAgQASJABIgAESACRIAIEASIABEgAkSACBABIkAEiABBgCBABIgAESACRIAIEAEiQBAgCBABIkAEiAARIAJEgAgQAWLuKUBsBAJEgAgQASJABIgAESACBAGCABEgAkSACBABIkAEiAARIAIEASJABIgAESACRIAIEAEiQBAgCBABIkAEiAARIAJEgAgQBAgCRIAIEAEiQASIABEgAkSAIEAQIAJEgAgQASJABIgAESAIEASIABEgAkSACBABIkAEiAARIAgQASJABIgAESACRIAIEAGCAEGACBABIkAEiAARIAJEgAgQAYIAESACRIAIEAEiQASIABEgCBAEiAARIAJEgAgQASJABAgCBAEiQASIABEgAkSACBABIkAECAJEgAgQASJABIgAESACRIAgQBAgAkSACBABIkAEiAARIAJEgCBABIgAESACRIAIEAEiQAQIAgQBIkAEiAARIAJEgAgQAYIAQYAIEAEiQASIABEgAkSACBABggARIAJEgAgQASJABIgAESAIEASIABEgAkSACBABIkAEiAARIAgQASJABIgAESACRIAIEAGCAEGACBABIkAEiAARIAJEgCBAECACRIAIEAEiQASIABEgAkSAIEAEiAARIAJEgAgQASJABAgCBAEiQASIABEgAkSACBABIkAECAJEgAgQASJABIgAESACRIAgQBAgAkSACBABIkAE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" - } - ] - } - ] - } + "shipFromParty": { + "partyId": "ABCD" + }, + "labelFormat": "PNG", + "labelData": [ + { + "packageIdentifier": "PKG001", + "trackingNumber": "1Z6A34Y60369738804", + "shipMethod": "UPS_GR_RES", + "shipMethodName": "UPS Ground Residential", + "content": "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AAFiCBAAABAgAgQAAASIIUAAABAghgABAAABYggQAAAEiNE4QAzDMAzDMAzDMASIYRiGYRiGYRgCxDAMwzAMwzAMQ4AYhmEYhmEYhiFADMMwDMMwDMMw/jdAAAAAio50JkAAAAABAgAACBAAAAABAgAACBAAAAABAgAACBAAAECAAAAACBAAAECAAAAACBAAAECAAAAAAoRXbAT/MX77myfXs3IfRu/nymVXrn/0PjxZ3qjlyngcV5Yx+7JRj2nGfcjYxla2n8rHonKbjFqf2a+B3V43Ml6rK99rop7jGa+Hu173std/9uv86H1buQ8IEASIABEgAkSACBABIkAEiAARIAgQASJABIgAESACRIAIEAGCAEGACBABIkAEiAARIAJEgAgQAYIAESACRIAIEAEiQASIABEgCBAEiAARIAJEgAgQASJABAgCBAEiQASIABEgAkSACBABIkAECAJEgAgQASJABIgAESACRIAgQBAgAkSACBABIkAEiAARIAJEgCBABIgAESACRIAIEAEiQAQIAgQBIkAEiAARIAJEgAgQAYIAQYAIEAEiQASIABEgAkSACBABggARIAJEgAgQASJABIgAESAIEASIABEgAkSACBABIkAEiAARIAgQASJABIgAESACRIAIEAGCAEGACBABIkAEiAARIAJEgCBAECACRIAIEAEiQASIABEgAsTcU4DYCASIABEgAkSACBABIkAECAIEASJABIgAESACRIAIEAEiQAQIAkSACBABIkAEiAARIAJEgCBAECACRIAIEAEiQASIABEgCBAEiAARIAJEgAgQASJABIgAQYAgQASIABEgAkSACBABIkAQIAgQASJABIgAESACRIAIEAEiQBAgAkSACBABIkAEiAARIAIEAYIAESACRIAIEAEiQASIABEgAgQBIkAEiAARIAJEgAgQASJAECAIEAEiQASIABEgAkSACBAECAJEgAgQASJABIgAESACRIAIEASIABEgAkSACBABIkAEiABBgCBABIgAESACRIAIEAEiQASIAEGACBABIkAEiAARIAJEgAgQBAgCRIAIEAEiQASIABEgAgQBggARIAJEgAgQASJABIgAESACBAEiQASIABEgAkSACBABIkAQIAgQASJABIgAESACRIAIEAEiQBAgAkSACBABIkAEiAARIAIEAYIAESACRIAIEAEiQASIAEGAIEAEiAARIAJEgAgQASJABIgAQYAIEAEiQASIABEgAkSACBAECAJEgAgQASJABIgAESACRIAIEASIABEgAkSACBABIkAEiABBgCBABIgAESACRIAIEAEiQBAgCBABIkAEiAARIAJEgAgQAWLu6YGyEQgQASJABIgAESACRIAIEAQIAkSACBABIkAEiAARIAJEgAgQBIgAESACRIAIEAEiQASIAEGAIEAEiAARIAJEgAgQASJAECAIEAEiQGLfmKJGxwCJmCQLEAEiQASIAEGAIEAEiAARIOEB8uftVU4wKh+fXQGyazs85b5FvdfsWp7M18PO21rE66MAQYAgQATINQHS6Y1WgAgQAbI2ORUgAkSAIEAQIAKkdYCcMgnM3oajJlQCRIB0CxEBIkAECAIEASJAWgTIaZPAjgHy7ZsTASJAOk9WBYgAESACBAEiQARIWYCcOAkUIAJk17cIp09a3xQgt0SIAEGAIEAEyFUBEvmGGHX9JwdI1k7E3SaZpwZI1YRtdRvInLjueoyinrMZl41+3YvefgQIAgQBIkCuCZCqiYQAESCd13/HAIlcXxHvNTcGyOprkwARIAIEASJABEjhRFSACBAB0mcbqDhPjQARIAJEgCBABIgAESACRIC8LECibluACBABggBBgAgQASJABIgAKYsQASJABAgCBAEiQASIABEgAkSACBABggBBgAgQASJA7g6QlXUhQPYFSMXzWoAIEAEiQBAgAkSACBABIkAEiAARIAIEAYIAESACRIAIEAEiQASIABEgAgQBIkAEiAARIMtHRRIgAkSACBABIkAQIAJEgAgQAfLaAMma/AsQASJABIgAQYAIEAEiQASIABEgAuRVAVL5+iBAECAIEAEiQBoHSOQ67BogqxEiQASIABEgAkSAIEAEiAA5LkAyJt4C5J4AyZz8CxABIkAEiABBgAgQASJABIgAESACRIAIEAQIAkSACJB3BUj0OrwtQEYmpwJEgAgQAYIAQYAIEAEiQATIEQGSPfkXIAKkKkC6vD4IEAQIAkSACJCGAZKxDgWIABEgAkSAIEAQIAJEgAgQAfJv/qGJBYgAESACBAGCABEgAiR8MiFA5n7WJUAEiAC5P0A6fUAhQBAgCBABcmSARLwxCRABIkAEiAARIAgQBIgAESAh+wIIEAEiQASIABEgCBAEiAARIKVBIkDGY02ACBABIkAECAIEASJArgyQ7EmnABEgAkSACBABggBBgAgQAVIWICuHaRUgewMka5kFyP4AmX2vESBrAdLtKHkCBAGCABEg2wKkKkI6BUj1pHdl2QWIABEgvQJk9wE9BAgCBAEiQK4IkC5vwgKkV4BEL7cAiQuQyAMgCBABIkDMPQWIjUCACJAtAdLhjbgiQHZMegWIAIkMkKplFyACRIAIEASIABEgZW9MAkSACJCeAVK57AJEgAgQAYIAESACpPSNSYAIkOhlFyBrz+XI7UuACBABggBBgAiQdgGy4805O0B2TXoFiACJeh2I2rYESMy2mPm+KUAQIAgQASJANkaIABEgNwXIbz9xy17nAsR5QAQIAgQBIkAEiAA5IkAyJp9vD5Dd25MAESACBAGCABEgAmTx9+rf1s/pE0YBIkCqtyUBIkAEiABBgAgQAdLqjSl7EiZA7g2Q6nh5S4Bkv9cIEAEiQAQIAkSACJDtAZI5GRMgvQIkYh0KkB7xIUD2Bci32xMgCBAEiAARIIOXzZpUrU5musdH5O/2Bci9AZL1Oi9ABIgAMfcUIDYCASJAjg2Q6ImZALkvQHbsP3LbmdAFiAARIAgQBIgAESCNA6Ryp+mI+9A5QCIm3gJEgAgQAYIAQYAIEAHSNkC+TXwEiAARIALktACJfK8XIAgQBIgAESAJkxYBck+A7DqErwARIAJEgCBAECACRIAIkKTnjgARIAJEgAgQBAgCRIC0DZDsT92jJmsCRIAIEAGSFQgCRICYewoQG4EAESACRIAIEAEiQASIAEGAIEAEyM0BkjXpjZiwvTFARg+DK0AEiAC5O0BGzwsjQBAgCBABIkAEiAARIAJEgAgQBAgCRIAIkLcGSFZQRE/UBYgAESACRIAgQBAgAkSAFAZI1mMhQASIABEgAkSAIEAQIAJEgAgQASJABIgAESAIEASIABEgZwXI6nV2CpDu26QAESACRIAIEAGCABEgAqRlgFROFAVI7TYpQASIABEgAkSAIEAEiABJe+M+PUCyg0KACBABIkAEiAARIAgQASJANgdI5b4Pu4MiI0Ay94WJ2iYFiAARILEBUrGPmABBgCBABMiVAVJ9/gsBIkAEiAARIAIEAYIAESACpEWARD5e1QGSeUJGASJABIgAESDmngLERiBABMi2AKlaD523GQGSf5SzrG3ylAD5baIpQASIAEGAIEAEyGsDJPLNLztAon/O1DVAor41eroubw2QlZ+0ZWzvpwRI5ra6M0Aynm+r67/qPEECBAGCABEgxwXIrslJ53NPnLa+d03kuq+jDtvfrQFySpCfuJwCBAGCABEgAkSACJBD19GbA+RNE3MBIkAQIAgQASJABIgAMYEVIAJEgCBAECACRIAIEAEiQASIABEgAkSAIEAEiAA5KECythkBclaAnDIpFCACRIAIEAGCABEgAiQpQLLfqCu3mextOGObzHocd2+TGQGS8RrY7XUj47W68r2m8ihY2e+J2Y9jh9cHAYIAQYAIkBYBkvlGLEAEiAARIAJEgCBAECACRIAIEAEiQASIABEgAsTc0wNlIxAgAkSACBABIkAEiAARIAgQBIgAESACRIAIEAEiQASIABEgCBABIkAEiAARIAJEgAgQAYIAQYAIEAEiQASIABEgAkSAIEAQIAJEgAgQASJABIgAESACBAGCABEgAkSACBABIkAEiABBgCBABIgAESACRIAIEAEiQASIAEGACBABIkAEiAARIAJEgAgQBAgCRIAIEAEiQASIABEgAkSACBAEiAARIAJEgAgQASJABIgAQYAgQASIABEgAkSACBABIkAQIAgQASJABIgAESACRIAIEAEiQBAgAkSACBABIkAEiAARIAIEAYIAESACRIAIEAEiQASIABEgAgQBIkAEiAARIAJEgAgQASJAECAIEAEiQASIABEgAkSACBAECAJEgAgQASJABIgAESACRIAIEASIABEgAkSACBABIkAEiABBgCBABIgAESACRIAIEAEiQASIAEGACBABIkAEiAARIAJEgAgQBAgCRIAIEAEiQASIABEgAgQBggARIAJEgAgQASJABIgAESACBAEiQASIABEgAkSACBABIkAQIAgQASJABIgAESACRIAIEAEiQBAgAkSACBABIkAEiAARIAIEAYIAESACRIAIEAEiQASIAEGAIEAEiAARIAJEgAgQASJABIgAQYAIEAEiQASIABEgAkSACBAECAJEgAgQASJABIgAESACRIAIEASIABEgAkSACBABIkAEiABBgCBABIgAESACRIAIEAEiQBAgCBABIkAEiAARIAJEgAgQAWLuKUAQIAJEgAgQASJABIgAESAIEASIABEgAkSACBABIkAEiAARIAgQASJABIgAESACRIAIEAGCAEGACBABIkAEiAARIAJEgJjXChAEiAARIAJEgAgQASJABIgAQYAgQASIABEgAkSACBABIkAQIAgQASJABIgAESACRIAIEAEiQBAgAkSACBABIkAEiAARIAIEAYIAESACRIAIEAEiQASIABEgAgQBIkAEiAARIAJEgAgQASJAECAIEAEiQASIABEgAkSACBAECAJEgAgQASJABIgAESACRIAIEASIABEgAkSACBABIkAEiABBgCBABIgAESACRIAIEAEiQASIAEGACBABIkAEiAARIAJEgAgQBAgCRIAIEAEiQASIABEgAgQBggARIAJEgAgQASJABIgAESACBAEiQASIABEgAkSACBABIkAQIAgQASJABIgAESACRIAIEAEiQBAgAkSACBABIkAEiAARIAIEAYIAESACRIAIEAEiQASIAEGAIEAEiAARIAJEgAgQASJABIgAQYAIEAEiQASIABEgAkSACBAECAJEgAgQASJABIgAESACRIAIEASIABEgAkSACBABIkAEiABBgCBABIgAESACRIAIEAEiQBAgCBABIkAEiAARIAJEgAgQAWLuKUBsBAJEgAgQASJABIgAESACBAGCABEgAkSACBABIkAEiAARIAIEASJABIgAESACRIAIEAEiQBAgCBABIkAEiAARIAJEgAgQBAgCRIAIEAEiQASIABEgAkSAIEAQIAJEgAgQASJABIgAESAIEASIABEgAkSACBABIkAEiAARIAgQASJABIgAESACRIAIEAGCAEGACBABIkAEiAARIAJEgAgQAYIAESACRIAIEAEiQASIABEgCBAEiAARIAJEgAgQASJABAgCBAEiQASIABEgAkSACBABIkAECAJEgAgQASJABIgAESACRIAgQBAgAkSACBABIkAEiAARIAJEgCBABIgAESACRIAIEAEiQAQIAgQBIkAEiAARIAJEgAgQAYIAQYAIEAEiQASIABEgAkSACBABggARIAJEgAgQASJABIgAESAIEASIABEgAkSACBABIkAEiAARIAgQASJABIgAESACRIAIEAGCAEGACBABIkAEiAARIAJEgCBAECACRIAIEAEiQASIABEgAkSAIEAEiAARIAJEgAgQASJABAgCBAEiQASIABEgAkSACBABIkAECAJEgAgQASJABIgAESACRIAgQBAgAkSACBABIkAE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" + } + ] + }, + { + "purchaseOrderNumber": "mockpurchaseOrderNumber2", + "sellingParty": { + "partyId": "999US" + }, + "shipFromParty": { + "partyId": "ABCD" + }, + "labelFormat": "PNG", + "labelData": [ + { + "packageIdentifier": "PKG002", + "trackingNumber": "1Z6A34Y60369738805", + "shipMethod": "UPS_GR_RES", + "shipMethodName": "UPS Ground Residential", + "content": "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AAFiCBAAABAgAgQAAASIIUAAABAghgABAAABYggQAAAEiNE4QAzDMAzDMAzDMASIYRiGYRiGYRgCxDAMwzAMwzAMQ4AYhmEYhmEYhiFADMMwDMMwDMMw/jdAAAAAio50JkAAAAABAgAACBAAAAABAgAACBAAAAABAgAACBAAAECAAAAACBAAAECAAAAACBAAAECAAAAAAoRXbAT/MX77myfXs3IfRu/nymVXrn/0PjxZ3qjlyngcV5Yx+7JRj2nGfcjYxla2n8rHonKbjFqf2a+B3V43Ml6rK99rop7jGa+Hu173std/9uv86H1buQ8IEASIABEgAkSACBABIkAEiAARIAgQASJABIgAESACRIAIEAGCAEGACBABIkAEiAARIAJEgAgQAYIAESACRIAIEAEiQASIABEgCBAEiAARIAJEgAgQASJABAgCBAEiQASIABEgAkSACBABIkAECAJEgAgQASJABIgAESACRIAgQBAgAkSACBABIkAEiAARIAJEgCBABIgAESACRIAIEAEiQAQIAgQBIkAEiAARIAJEgAgQAYIAQYAIEAEiQASIABEgAkSACBABggARIAJEgAgQASJABIgAESAIEASIABEgAkSACBABIkAEiAARIAgQASJABIgAESACRIAIEAGCAEGACBABIkAEiAARIAJEgCBAECACRIAIEAEiQASIABEgAsTcU4DYCASIABEgAkSACBABIkAECAIEASJABIgAESACRIAIEAEiQAQIAkSACBABIkAEiAARIAJEgCBAECACRIAIEAEiQASIABEgCBAEiAARIAJEgAgQASJABIgAQYAgQASIABEgAkSACBABIkAQIAgQASJABIgAESACRIAIEAEiQBAgAkSACBABIkAEiAARIAIEAYIAESACRIAIEAEiQASIABEgAgQBIkAEiAARIAJEgAgQASJAECAIEAEiQASIABEgAkSACBAECAJEgAgQASJABIgAESACRIAIEASIABEgAkSACBABIkAEiABBgCBABIgAESACRIAIEAEiQASIAEGACBABIkAEiAARIAJEgAgQBAgCRIAIEAEiQASIABEgAgQBggARIAJEgAgQASJABIgAESACBAEiQASIABEgAkSACBABIkAQIAgQASJABIgAESACRIAIEAEiQBAgAkSACBABIkAEiAARIAIEAYIAESACRIAIEAEiQASIAEGAIEAEiAARIAJEgAgQASJABIgAQYAIEAEiQASIABEgAkSACBAECAJEgAgQASJABIgAESACRIAIEASIABEgAkSACBABIkAEiABBgCBABIgAESACRIAIEAEiQBAgCBABIkAEiAARIAJEgAgQAWLu6YGyEQgQASJABIgAESACRIAIEAQIAkSACBABIkAEiAARIAJEgAgQBIgAESACRIAIEAEiQASIAEGAIEAEiAARIAJEgAgQASJAECAIEAEiQGLfmKJGxwCJmCQLEAEiQASIAEGAIEAEiAARIOEB8uftVU4wKh+fXQGyazs85b5FvdfsWp7M18PO21rE66MAQYAgQATINQHS6Y1WgAgQAbI2ORUgAkSAIEAQIAKkdYCcMgnM3oajJlQCRIB0CxEBIkAECAIEASJAWgTIaZPAjgHy7ZsTASJAOk9WBYgAESACBAEiQARIWYCcOAkUIAJk17cIp09a3xQgt0SIAEGAIEAEyFUBEvmGGHX9JwdI1k7E3SaZpwZI1YRtdRvInLjueoyinrMZl41+3YvefgQIAgQBIkCuCZCqiYQAESCd13/HAIlcXxHvNTcGyOprkwARIAIEASJABEjhRFSACBAB0mcbqDhPjQARIAJEgCBABIgAESACRIC8LECibluACBABggBBgAgQASJABIgAKYsQASJABAgCBAEiQASIABEgAkSACBABggBBgAgQASJA7g6QlXUhQPYFSMXzWoAIEAEiQBAgAkSACBABIkAEiAARIAIEAYIAESACRIAIEAEiQASIABEgAgQBIkAEiAARIMtHRRIgAkSACBABIkAQIAJEgAgQAfLaAMma/AsQASJABIgAQYAIEAEiQASIABEgAuRVAVL5+iBAECAIEAEiQBoHSOQ67BogqxEiQASIABEgAkSAIEAEiAA5LkAyJt4C5J4AyZz8CxABIkAEiABBgAgQASJABIgAESACRIAIEAQIAkSACJB3BUj0OrwtQEYmpwJEgAgQAYIAQYAIEAEiQATIEQGSPfkXIAKkKkC6vD4IEAQIAkSACJCGAZKxDgWIABEgAkSAIEAQIAJEgAgQAfJv/qGJBYgAESACBAGCABEgAiR8MiFA5n7WJUAEiAC5P0A6fUAhQBAgCBABcmSARLwxCRABIkAEiAARIAgQBIgAESAh+wIIEAEiQASIABEgCBAEiAARIKVBIkDGY02ACBABIkAECAIEASJArgyQ7EmnABEgAkSACBABggBBgAgQAVIWICuHaRUgewMka5kFyP4AmX2vESBrAdLtKHkCBAGCABEg2wKkKkI6BUj1pHdl2QWIABEgvQJk9wE9BAgCBAEiQK4IkC5vwgKkV4BEL7cAiQuQyAMgCBABIkDMPQWIjUCACJAtAdLhjbgiQHZMegWIAIkMkKplFyACRIAIEASIABEgZW9MAkSACJCeAVK57AJEgAgQAYIAESACpPSNSYAIkOhlFyBrz+XI7UuACBABggBBgAiQdgGy4805O0B2TXoFiACJeh2I2rYESMy2mPm+KUAQIAgQASJANkaIABEgNwXIbz9xy17nAsR5QAQIAgQBIkAEiAA5IkAyJp9vD5Dd25MAESACBAGCABEgAmTx9+rf1s/pE0YBIkCqtyUBIkAEiABBgAgQAdLqjSl7EiZA7g2Q6nh5S4Bkv9cIEAEiQAQIAkSACJDtAZI5GRMgvQIkYh0KkB7xIUD2Bci32xMgCBAEiAARIIOXzZpUrU5musdH5O/2Bci9AZL1Oi9ABIgAMfcUIDYCASJAjg2Q6ImZALkvQHbsP3LbmdAFiAARIAgQBIgAESCNA6Ryp+mI+9A5QCIm3gJEgAgQAYIAQYAIEAHSNkC+TXwEiAARIALktACJfK8XIAgQBIgAESAJkxYBck+A7DqErwARIAJEgCBAECACRIAIkKTnjgARIAJEgAgQBAgCRIC0DZDsT92jJmsCRIAIEAGSFQgCRICYewoQG4EAESACRIAIEAEiQASIAEGAIEAEyM0BkjXpjZiwvTFARg+DK0AEiAC5O0BGzwsjQBAgCBABIkAEiAARIAJEgAgQBAgCRIAIkLcGSFZQRE/UBYgAESACRIAgQBAgAkSAFAZI1mMhQASIABEgAkSAIEAQIAJEgAgQASJABIgAESAIEASIABEgZwXI6nV2CpDu26QAESACRIAIEAGCABEgAqRlgFROFAVI7TYpQASIABEgAkSAIEAEiABJe+M+PUCyg0KACBABIkAEiAARIAgQASJANgdI5b4Pu4MiI0Ay94WJ2iYFiAARILEBUrGPmABBgCBABMiVAVJ9/gsBIkAEiAARIAIEAYIAESACpEWARD5e1QGSeUJGASJABIgAESDmngLERiBABMi2AKlaD523GQGSf5SzrG3ylAD5baIpQASIAEGAIEAEyGsDJPLNLztAon/O1DVAor41eroubw2QlZ+0ZWzvpwRI5ra6M0Aynm+r67/qPEECBAGCABEgxwXIrslJ53NPnLa+d03kuq+jDtvfrQFySpCfuJwCBAGCABEgAkSACJBD19GbA+RNE3MBIkAQIAgQASJABIgAMYEVIAJEgCBAECACRIAIEAEiQASIABEgAkSAIEAEiAA5KECythkBclaAnDIpFCACRIAIEAGCABEgAiQpQLLfqCu3mextOGObzHocd2+TGQGS8RrY7XUj47W68r2m8ihY2e+J2Y9jh9cHAYIAQYAIkBYBkvlGLEAEiAARIAJEgCBAECACRIAIEAEiQASIABEgAsTc0wNlIxAgAkSACBABIkAEiAARIAgQBIgAESACRIAIEAEiQASIABEgCBABIkAEiAARIAJEgAgQAYIAQYAIEAEiQASIABEgAkSAIEAQIAJEgAgQASJABIgAESACBAGCABEgAkSACBABIkAEiABBgCBABIgAESACRIAIEAEiQASIAEGACBABIkAEiAARIAJEgAgQBAgCRIAIEAEiQASIABEgAkSACBAEiAARIAJEgAgQASJABIgAQYAgQASIABEgAkSACBABIkAQIAgQASJABIgAESACRIAIEAEiQBAgAkSACBABIkAEiAARIAIEAYIAESACRIAIEAEiQASIABEgAgQBIkAEiAARIAJEgAgQASJAECAIEAEiQASIABEgAkSACBAECAJEgAgQASJABIgAESACRIAIEASIABEgAkSACBABIkAEiABBgCBABIgAESACRIAIEAEiQASIAEGACBABIkAEiAARIAJEgAgQBAgCRIAIEAEiQASIABEgAgQBggARIAJEgAgQASJABIgAESACBAEiQASIABEgAkSACBABIkAQIAgQASJABIgAESACRIAIEAEiQBAgAkSACBABIkAEiAARIAIEAYIAESACRIAIEAEiQASIAEGAIEAEiAARIAJEgAgQASJABIgAQYAIEAEiQASIABEgAkSACBAECAJEgAgQASJABIgAESACRIAIEASIABEgAkSACBABIkAEiABBgCBABIgAESACRIAIEAEiQBAgCBABIkAEiAARIAJEgAgQAWLuKUAQIAJEgAgQASJABIgAESAIEASIABEgAkSACBABIkAEiAARIAgQASJABIgAESACRIAIEAGCAEGACBABIkAEiAARIAJEgJjXChAEiAARIAJEgAgQASJABIgAQYAgQASIABEgAkSACBABIkAQIAgQASJABIgAESACRIAIEAEiQBAgAkSACBABIkAEiAARIAIEAYIAESACRIAIEAEiQASIABEgAgQBIkAEiAARIAJEgAgQASJAECAIEAEiQASIABEgAkSACBAECAJEgAgQASJABIgAESACRIAIEASIABEgAkSACBABIkAEiABBgCBABIgAESACRIAIEAEiQASIAEGACBABIkAEiAARIAJEgAgQBAgCRIAIEAEiQASIABEgAgQBggARIAJEgAgQASJABIgAESACBAEiQASIABEgAkSACBABIkAQIAgQASJABIgAESACRIAIEAEiQBAgAkSACBABIkAEiAARIAIEAYIAESACRIAIEAEiQASIAEGAIEAEiAARIAJEgAgQASJABIgAQYAIEAEiQASIABEgAkSACBAECAJEgAgQASJABIgAESACRIAIEASIABEgAkSACBABIkAEiABBgCBABIgAESACRIAIEAEiQBAgCBABIkAEiAARIAJEgAgQAWLuKUBsBAJEgAgQASJABIgAESACBAGCABEgAkSACBABIkAEiAARIAIEASJABIgAESACRIAIEAEiQBAgCBABIkAEiAARIAJEgAgQBAgCRIAIEAEiQASIABEgAkSAIEAQIAJEgAgQASJABIgAESAIEASIABEgAkSACBABIkAEiAARIAgQASJABIgAESACRIAIEAGCAEGACBABIkAEiAARIAJEgAgQAYIAESACRIAIEAEiQASIABEgCBAEiAARIAJEgAgQASJABAgCBAEiQASIABEgAkSACBABIkAECAJEgAgQASJABIgAESACRIAgQBAgAkSACBABIkAEiAARIAJEgCBABIgAESACRIAIEAEiQAQIAgQBIkAEiAARIAJEgAgQAYIAQYAIEAEiQASIABEgAkSACBABggARIAJEgAgQASJABIgAESAIEASIABEgAkSACBABIkAEiAARIAgQASJABIgAESACRIAIEAGCAEGACBABIkAEiAARIAJEgCBAECACRIAIEAEiQASIABEgAkSAIEAEiAARIAJEgAgQASJABAgCBAEiQASIABEgAkSACBABIkAECAJEgAgQASJABIgAESACRIAgQBAgAkSACBABIkAE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" + } + ] + } + ] } } + } ] } }, @@ -355,6 +355,10 @@ "$ref": "#/definitions/GetShippingLabelListResponse" }, "headers": { + "x-amzn-RateLimit-Limit": { + "type": "string", + "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." + }, "x-amzn-RequestId": { "type": "string", "description": "Unique request reference identifier." @@ -367,6 +371,10 @@ "$ref": "#/definitions/GetShippingLabelListResponse" }, "headers": { + "x-amzn-RateLimit-Limit": { + "type": "string", + "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." + }, "x-amzn-RequestId": { "type": "string", "description": "Unique request reference identifier." @@ -379,6 +387,10 @@ "$ref": "#/definitions/GetShippingLabelListResponse" }, "headers": { + "x-amzn-RateLimit-Limit": { + "type": "string", + "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." + }, "x-amzn-RequestId": { "type": "string", "description": "Unique request reference identifier." @@ -391,6 +403,10 @@ "$ref": "#/definitions/GetShippingLabelListResponse" }, "headers": { + "x-amzn-RateLimit-Limit": { + "type": "string", + "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." + }, "x-amzn-RequestId": { "type": "string", "description": "Unique request reference identifier." @@ -403,7 +419,7 @@ "tags": [ "vendorShippingLabels" ], - "description": "Creates a shipping label for a purchase order and returns a `transactionId` for reference.\n\n**Usage Plan:**\n\n| Rate (requests per second) | Burst |\n| ---- | ---- |\n| 10 | 10 |\n\nThe `x-amzn-RateLimit-Limit` response header returns the usage plan rate limits that were applied to the requested operation, when available. The table above indicates the default rate and burst values for this operation. Selling partners whose business demands require higher throughput may see higher rate and burst values than those shown here. For more information, refer to [Usage Plans and Rate Limits in the Selling Partner API](https://developer-docs.amazon.com/sp-api/docs/usage-plans-and-rate-limits-in-the-sp-api).", + "description": "Creates a shipping label for a purchase order and returns a transactionId for reference.\n\n**Usage Plan:**\n\n| Rate (requests per second) | Burst |\n| ---- | ---- |\n| 10 | 10 |\n\nThe `x-amzn-RateLimit-Limit` response header returns the usage plan rate limits that were applied to the requested operation, when available. The table above indicates the default rate and burst values for this operation. Selling partners whose business demands require higher throughput may see higher rate and burst values than those shown here. For more information, see [Usage Plans and Rate Limits in the Selling Partner API](https://developer-docs.amazon.com/sp-api/docs/usage-plans-and-rate-limits-in-the-sp-api).", "operationId": "submitShippingLabelRequest", "parameters": [ { @@ -412,8 +428,7 @@ "required": true, "schema": { "$ref": "#/definitions/SubmitShippingLabelsRequest" - }, - "description": "Request body containing one or more shipping labels data." + } } ], "responses": { @@ -454,159 +469,159 @@ "containerIdentifier": "123", "trackingNumber": "XXXX", "dimensions": { - "length": "12", - "width": "12", - "height": "12", - "unitOfMeasure": "IN" - }, - "weight": { - "unitOfMeasure": "KG", - "value": "10" - }, - "packedItems": [ - { - "itemSequenceNumber": 1, - "buyerProductIdentifier": "B07DFVDRAB", - "packedQuantity": { - "amount": 1, - "unitOfMeasure": "Each" - } + "length": "12", + "width": "12", + "height": "12", + "unitOfMeasure": "IN" + }, + "weight": { + "unitOfMeasure": "KG", + "value": "10" + }, + "packedItems": [ + { + "itemSequenceNumber": 1, + "buyerProductIdentifier": "B07DFVDRAB", + "packedQuantity": { + "amount": 1, + "unitOfMeasure": "Each" } - ] - } - ] - } - ] - } + } + ] + } + ] + } + ] } } - }, - "response": { - "payload": { - "transactionId": "20190905010908-8a3b6901-ef20-412f-9270-21c021796605" - } } }, - { - "request": { - "parameters": { - "body": { - "value": { - "shippingLabelRequests": [ - { - "purchaseOrderNumber": "2JK3S9VC", - "sellingParty": { - "partyId": "999US" - }, - "shipFromParty": { - "partyId": "ABCD" - } + "response": { + "payload": { + "transactionId": "20190905010908-8a3b6901-ef20-412f-9270-21c021796605" + } + } + }, + { + "request": { + "parameters": { + "body": { + "value": { + "shippingLabelRequests": [ + { + "purchaseOrderNumber": "2JK3S9VC", + "sellingParty": { + "partyId": "999US" + }, + "shipFromParty": { + "partyId": "ABCD" } - ] - } + } + ] } } - }, - "response": { - "payload": { - "transactionId": "20190905010908-8a3b6901-ef20-412f-9270-21c021796605" - } } }, - { - "request": { - "parameters": { - "body": { - "value": { - "shippingLabelRequests": [ - { - "purchaseOrderNumber": "2JK3S9VC", - "sellingParty": { - "partyId": "999US" - }, - "shipFromParty": { - "partyId": "ABCD" - }, - "containers": [ - { - "containerType": "carton", - "containerIdentifier": "123", - "trackingNumber": "XXXX", - "dimensions": { - "length": "12", - "width": "12", - "height": "12", - "unitOfMeasure": "IN" - }, - "weight": { - "unitOfMeasure": "KG", - "value": "10" + "response": { + "payload": { + "transactionId": "20190905010908-8a3b6901-ef20-412f-9270-21c021796605" + } + } + }, + { + "request": { + "parameters": { + "body": { + "value": { + "shippingLabelRequests": [ + { + "purchaseOrderNumber": "2JK3S9VC", + "sellingParty": { + "partyId": "999US" + }, + "shipFromParty": { + "partyId": "ABCD" + }, + "containers": [ + { + "containerType": "carton", + "containerIdentifier": "123", + "trackingNumber": "XXXX", + "dimensions": { + "length": "12", + "width": "12", + "height": "12", + "unitOfMeasure": "IN" + }, + "weight": { + "unitOfMeasure": "KG", + "value": "10" + }, + "packedItems": [ + { + "itemSequenceNumber": 1, + "buyerProductIdentifier": "B07DFVDRAA", + "packedQuantity": { + "amount": 1, + "unitOfMeasure": "Each" + } }, - "packedItems": [ - { - "itemSequenceNumber": 1, - "buyerProductIdentifier": "B07DFVDRAA", - "packedQuantity": { - "amount": 1, - "unitOfMeasure": "Each" - } - }, - { - "itemSequenceNumber": 2, - "buyerProductIdentifier": "B07DFVDRAB", - "packedQuantity": { - "amount": 1, - "unitOfMeasure": "Each" - } + { + "itemSequenceNumber": 2, + "buyerProductIdentifier": "B07DFVDRAB", + "packedQuantity": { + "amount": 1, + "unitOfMeasure": "Each" } - ] + } + ] + }, + { + "containerType": "carton", + "containerIdentifier": "1234", + "trackingNumber": "XXXX", + "dimensions": { + "length": "12", + "width": "12", + "height": "12", + "unitOfMeasure": "IN" }, - { - "containerType": "carton", - "containerIdentifier": "1234", - "trackingNumber": "XXXX", - "dimensions": { - "length": "12", - "width": "12", - "height": "12", - "unitOfMeasure": "IN" - }, - "weight": { - "unitOfMeasure": "KG", - "value": "10" + "weight": { + "unitOfMeasure": "KG", + "value": "10" + }, + "packedItems": [ + { + "itemSequenceNumber": 3, + "buyerProductIdentifier": "B07DFVDRAC", + "packedQuantity": { + "amount": 1, + "unitOfMeasure": "Each" + } }, - "packedItems": [ - { - "itemSequenceNumber": 3, - "buyerProductIdentifier": "B07DFVDRAC", - "packedQuantity": { - "amount": 1, - "unitOfMeasure": "Each" - } - }, - { - "itemSequenceNumber": 4, - "buyerProductIdentifier": "B07DFVDRAD", - "packedQuantity": { - "amount": 1, - "unitOfMeasure": "Each" - } + { + "itemSequenceNumber": 4, + "buyerProductIdentifier": "B07DFVDRAD", + "packedQuantity": { + "amount": 1, + "unitOfMeasure": "Each" } - ] - } - ] - } - ] - } + } + ] + } + ] + } + ] } } - }, - "response": { - "payload": { - "transactionId": "20190905010908-8a3b6901-ef20-412f-9270-21c021796605" - } + } + }, + "response": { + "payload": { + "transactionId": "20190905010908-8a3b6901-ef20-412f-9270-21c021796605" } } + } ] } }, @@ -687,6 +702,10 @@ "$ref": "#/definitions/SubmitShippingLabelsResponse" }, "headers": { + "x-amzn-RateLimit-Limit": { + "type": "string", + "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." + }, "x-amzn-RequestId": { "type": "string", "description": "Unique request reference identifier." @@ -699,6 +718,10 @@ "$ref": "#/definitions/SubmitShippingLabelsResponse" }, "headers": { + "x-amzn-RateLimit-Limit": { + "type": "string", + "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." + }, "x-amzn-RequestId": { "type": "string", "description": "Unique request reference identifier." @@ -711,6 +734,10 @@ "$ref": "#/definitions/SubmitShippingLabelsResponse" }, "headers": { + "x-amzn-RateLimit-Limit": { + "type": "string", + "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." + }, "x-amzn-RequestId": { "type": "string", "description": "Unique request reference identifier." @@ -723,6 +750,10 @@ "$ref": "#/definitions/SubmitShippingLabelsResponse" }, "headers": { + "x-amzn-RateLimit-Limit": { + "type": "string", + "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." + }, "x-amzn-RequestId": { "type": "string", "description": "Unique request reference identifier." @@ -735,6 +766,10 @@ "$ref": "#/definitions/SubmitShippingLabelsResponse" }, "headers": { + "x-amzn-RateLimit-Limit": { + "type": "string", + "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." + }, "x-amzn-RequestId": { "type": "string", "description": "Unique request reference identifier." @@ -749,13 +784,13 @@ "tags": [ "vendorShippingLabels" ], - "description": "Returns a shipping label for the `purchaseOrderNumber` that you specify.\n\n**Usage Plan:**\n\n| Rate (requests per second) | Burst |\n| ---- | ---- |\n| 10 | 10 |\n\nThe `x-amzn-RateLimit-Limit` response header returns the usage plan rate limits that were applied to the requested operation, when available. The table above indicates the default rate and burst values for this operation. Selling partners whose business demands require higher throughput may see higher rate and burst values than those shown here. For more information, refer to [Usage Plans and Rate Limits in the Selling Partner API](https://developer-docs.amazon.com/sp-api/docs/usage-plans-and-rate-limits-in-the-sp-api).", + "description": "Returns a shipping label for the purchaseOrderNumber that you specify.\n\n**Usage Plan:**\n\n| Rate (requests per second) | Burst |\n| ---- | ---- |\n| 10 | 10 |\n\nThe `x-amzn-RateLimit-Limit` response header returns the usage plan rate limits that were applied to the requested operation, when available. The table above indicates the default rate and burst values for this operation. Selling partners whose business demands require higher throughput may see higher rate and burst values than those shown here. For more information, see [Usage Plans and Rate Limits in the Selling Partner API](https://developer-docs.amazon.com/sp-api/docs/usage-plans-and-rate-limits-in-the-sp-api).", "operationId": "getShippingLabel", "parameters": [ { "name": "purchaseOrderNumber", "in": "path", - "description": "The purchase order number for which you want to return the shipping label. It should be the same `purchaseOrderNumber` as received in the order.", + "description": "The purchase order number for which you want to return the shipping label. It should be the same purchaseOrderNumber as received in the order.", "required": true, "type": "string", "pattern": "^[a-zA-Z0-9]+$" @@ -822,42 +857,42 @@ "labelFormat": "PNG", "labelData": [ { - "packageIdentifier": "PKG001", - "trackingNumber": "1Z6A34Y60369738804", - "shipMethod": "UPS_GR_RES", - "shipMethodName": "UPS Ground Residential", - "content": "Base 64 encoded string goes here " - } - ] - } + "packageIdentifier": "PKG001", + "trackingNumber": "1Z6A34Y60369738804", + "shipMethod": "UPS_GR_RES", + "shipMethodName": "UPS Ground Residential", + "content": "Base 64 encoded string goes here " + } + ] } + } + }, + { + "request": { + "parameters": {} }, - { - "request": { - "parameters": {} - }, - "response": { - "payload": { - "purchaseOrderNumber": "mockpurchaseOrderNumber", - "sellingParty": { - "partyId": "999US" - }, - "shipFromParty": { - "partyId": "ABCD" - }, - "labelFormat": "PNG", - "labelData": [ - { - "packageIdentifier": "PKG001", - "trackingNumber": "1Z6A34Y60369738804", - "shipMethod": "UPS_GR_RES", - "shipMethodName": "UPS Ground Residential", - "content": "Base 64 encoded string goes here" - } - ] - } + "response": { + "payload": { + "purchaseOrderNumber": "mockpurchaseOrderNumber", + "sellingParty": { + "partyId": "999US" + }, + "shipFromParty": { + "partyId": "ABCD" + }, + "labelFormat": "PNG", + "labelData": [ + { + "packageIdentifier": "PKG001", + "trackingNumber": "1Z6A34Y60369738804", + "shipMethod": "UPS_GR_RES", + "shipMethodName": "UPS Ground Residential", + "content": "Base 64 encoded string goes here" + } + ] } } + } ] } }, @@ -900,11 +935,15 @@ } }, "401": { - "description": "The request's authorization header is not formatted correctly or does not contain a valid token.", + "description": "The request's Authorization header is not formatted correctly or does not contain a valid token.", "schema": { "$ref": "#/definitions/GetShippingLabelResponse" }, "headers": { + "x-amzn-RateLimit-Limit": { + "type": "string", + "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." + }, "x-amzn-RequestId": { "type": "string", "description": "Unique request reference identifier." @@ -945,6 +984,10 @@ "$ref": "#/definitions/GetShippingLabelResponse" }, "headers": { + "x-amzn-RateLimit-Limit": { + "type": "string", + "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." + }, "x-amzn-RequestId": { "type": "string", "description": "Unique request reference identifier." @@ -957,6 +1000,10 @@ "$ref": "#/definitions/GetShippingLabelResponse" }, "headers": { + "x-amzn-RateLimit-Limit": { + "type": "string", + "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." + }, "x-amzn-RequestId": { "type": "string", "description": "Unique request reference identifier." @@ -969,6 +1016,10 @@ "$ref": "#/definitions/GetShippingLabelResponse" }, "headers": { + "x-amzn-RateLimit-Limit": { + "type": "string", + "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." + }, "x-amzn-RequestId": { "type": "string", "description": "Unique request reference identifier." @@ -981,6 +1032,10 @@ "$ref": "#/definitions/GetShippingLabelResponse" }, "headers": { + "x-amzn-RateLimit-Limit": { + "type": "string", + "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." + }, "x-amzn-RequestId": { "type": "string", "description": "Unique request reference identifier." @@ -995,7 +1050,7 @@ "tags": [ "vendorShipping" ], - "description": "Submits one or more shipment confirmations for vendor orders.\n\n**Usage Plan:**\n\n| Rate (requests per second) | Burst |\n| ---- | ---- |\n| 10 | 10 |\n\nThe `x-amzn-RateLimit-Limit` response header returns the usage plan rate limits that were applied to the requested operation, when available. The table above indicates the default rate and burst values for this operation. Selling partners whose business demands require higher throughput may see higher rate and burst values than those shown here. For more information, refer to [Usage Plans and Rate Limits in the Selling Partner API](https://developer-docs.amazon.com/sp-api/docs/usage-plans-and-rate-limits-in-the-sp-api).", + "description": "Submits one or more shipment confirmations for vendor orders.\n\n**Usage Plan:**\n\n| Rate (requests per second) | Burst |\n| ---- | ---- |\n| 10 | 10 |\n\nThe `x-amzn-RateLimit-Limit` response header returns the usage plan rate limits that were applied to the requested operation, when available. The table above indicates the default rate and burst values for this operation. Selling partners whose business demands require higher throughput may see higher rate and burst values than those shown here. For more information, see [Usage Plans and Rate Limits in the Selling Partner API](https://developer-docs.amazon.com/sp-api/docs/usage-plans-and-rate-limits-in-the-sp-api).", "operationId": "submitShipmentConfirmations", "parameters": [ { @@ -1004,8 +1059,7 @@ "required": true, "schema": { "$ref": "#/definitions/SubmitShipmentConfirmationsRequest" - }, - "description": "Request body containing the shipment confirmations data." + } } ], "responses": { @@ -1046,182 +1100,182 @@ "shipFromParty": { "partyId": "VENDORWAREHOUSECODE" }, - "items": [ - { - "itemSequenceNumber": 1, - "buyerProductIdentifier": "ASIN001", - "vendorProductIdentifier": "9782700001659", - "shippedQuantity": { - "amount": 100, - "unitOfMeasure": "Each" - } + "items": [ + { + "itemSequenceNumber": 1, + "buyerProductIdentifier": "ASIN001", + "vendorProductIdentifier": "9782700001659", + "shippedQuantity": { + "amount": 100, + "unitOfMeasure": "Each" + } + }, + { + "itemSequenceNumber": 2, + "buyerProductIdentifier": "ASIN002", + "vendorProductIdentifier": "9782700001659", + "shippedQuantity": { + "amount": 100, + "unitOfMeasure": "Each" + } + }, + { + "itemSequenceNumber": 3, + "buyerProductIdentifier": "ASIN003", + "vendorProductIdentifier": "9782700001659", + "shippedQuantity": { + "amount": 100, + "unitOfMeasure": "Each" + } + }, + { + "itemSequenceNumber": 4, + "buyerProductIdentifier": "ASIN004", + "vendorProductIdentifier": "9782700001659", + "shippedQuantity": { + "amount": 100, + "unitOfMeasure": "Each" + } + } + ], + "containers": [ + { + "containerType": "carton", + "containerIdentifier": "123", + "trackingNumber": "TRACK001", + "scacCode": "SCAC001", + "carrier": "ABCD001", + "shipMethod": "UPS", + "dimensions": { + "length": "10", + "width": "10", + "height": "10", + "unitOfMeasure": "IN" }, - { - "itemSequenceNumber": 2, - "buyerProductIdentifier": "ASIN002", - "vendorProductIdentifier": "9782700001659", - "shippedQuantity": { - "amount": 100, - "unitOfMeasure": "Each" - } + "weight": { + "unitOfMeasure": "KG", + "value": "10" }, - { - "itemSequenceNumber": 3, - "buyerProductIdentifier": "ASIN003", - "vendorProductIdentifier": "9782700001659", - "shippedQuantity": { - "amount": 100, - "unitOfMeasure": "Each" + "packedItems": [ + { + "itemSequenceNumber": 1, + "buyerProductIdentifier": "ASIN001", + "packedQuantity": { + "amount": 100, + "unitOfMeasure": "Each" + } } + ] + }, + { + "containerType": "carton", + "containerIdentifier": "234", + "trackingNumber": "TRACK002", + "scacCode": "SCAC001", + "carrier": "ABCD001", + "shipMethod": "UPS", + "dimensions": { + "length": "10", + "width": "10", + "height": "10", + "unitOfMeasure": "IN" }, - { - "itemSequenceNumber": 4, - "buyerProductIdentifier": "ASIN004", - "vendorProductIdentifier": "9782700001659", - "shippedQuantity": { - "amount": 100, - "unitOfMeasure": "Each" - } - } - ], - "containers": [ - { - "containerType": "carton", - "containerIdentifier": "123", - "trackingNumber": "TRACK001", - "scacCode": "SCAC001", - "carrier": "ABCD001", - "shipMethod": "UPS", - "dimensions": { - "length": "10", - "width": "10", - "height": "10", - "unitOfMeasure": "IN" - }, - "weight": { - "unitOfMeasure": "KG", - "value": "10" - }, - "packedItems": [ - { - "itemSequenceNumber": 1, - "buyerProductIdentifier": "ASIN001", - "packedQuantity": { - "amount": 100, - "unitOfMeasure": "Each" - } - } - ] + "weight": { + "unitOfMeasure": "KG", + "value": "10" }, - { - "containerType": "carton", - "containerIdentifier": "234", - "trackingNumber": "TRACK002", - "scacCode": "SCAC001", - "carrier": "ABCD001", - "shipMethod": "UPS", - "dimensions": { - "length": "10", - "width": "10", - "height": "10", - "unitOfMeasure": "IN" - }, - "weight": { - "unitOfMeasure": "KG", - "value": "10" - }, - "packedItems": [ - { - "itemSequenceNumber": 2, - "buyerProductIdentifier": "ASIN002", - "packedQuantity": { - "amount": 100, - "unitOfMeasure": "Each" - } + "packedItems": [ + { + "itemSequenceNumber": 2, + "buyerProductIdentifier": "ASIN002", + "packedQuantity": { + "amount": 100, + "unitOfMeasure": "Each" } - ] + } + ] + }, + { + "containerType": "carton", + "containerIdentifier": "ABCD", + "trackingNumber": "TRACK003", + "scacCode": "SCAC001", + "carrier": "ABCD001", + "shipMethod": "UPS", + "dimensions": { + "length": "10", + "width": "10", + "height": "10", + "unitOfMeasure": "IN" }, - { - "containerType": "carton", - "containerIdentifier": "ABCD", - "trackingNumber": "TRACK003", - "scacCode": "SCAC001", - "carrier": "ABCD001", - "shipMethod": "UPS", - "dimensions": { - "length": "10", - "width": "10", - "height": "10", - "unitOfMeasure": "IN" - }, - "weight": { - "unitOfMeasure": "KG", - "value": "10" - }, - "packedItems": [ - { - "itemSequenceNumber": 3, - "buyerProductIdentifier": "ASIN003", - "packedQuantity": { - "amount": 100, - "unitOfMeasure": "Each" - } + "weight": { + "unitOfMeasure": "KG", + "value": "10" + }, + "packedItems": [ + { + "itemSequenceNumber": 3, + "buyerProductIdentifier": "ASIN003", + "packedQuantity": { + "amount": 100, + "unitOfMeasure": "Each" } - ] + } + ] + }, + { + "containerType": "carton", + "containerIdentifier": "id12", + "trackingNumber": "TRACK004", + "scacCode": "SCAC001", + "carrier": "ABCD001", + "shipMethod": "UPS", + "dimensions": { + "length": "10", + "width": "10", + "height": "10", + "unitOfMeasure": "IN" }, - { - "containerType": "carton", - "containerIdentifier": "id12", - "trackingNumber": "TRACK004", - "scacCode": "SCAC001", - "carrier": "ABCD001", - "shipMethod": "UPS", - "dimensions": { - "length": "10", - "width": "10", - "height": "10", - "unitOfMeasure": "IN" - }, - "weight": { - "unitOfMeasure": "KG", - "value": "10" - }, - "packedItems": [ - { - "itemSequenceNumber": 4, - "buyerProductIdentifier": "ASIN004", - "packedQuantity": { - "amount": 100, - "unitOfMeasure": "Each" - } + "weight": { + "unitOfMeasure": "KG", + "value": "10" + }, + "packedItems": [ + { + "itemSequenceNumber": 4, + "buyerProductIdentifier": "ASIN004", + "packedQuantity": { + "amount": 100, + "unitOfMeasure": "Each" } - ] - } - ] - } - ] - } + } + ] + } + ] + } + ] } } - }, - "response": { - "payload": { - "transactionId": "20190905010908-8a3b6901-ef20-412f-9270-21c021796605" - } } }, - { - "request": { - "parameters": { - "body": {} - } - }, - "response": { - "payload": { - "transactionId": "mock-TransactionId-20190905010908-8a3b6901-ef20-412f-9270-21c021796605" - } + "response": { + "payload": { + "transactionId": "20190905010908-8a3b6901-ef20-412f-9270-21c021796605" + } + } + }, + { + "request": { + "parameters": { + "body": {} + } + }, + "response": { + "payload": { + "transactionId": "mock-TransactionId-20190905010908-8a3b6901-ef20-412f-9270-21c021796605" } } + } ] } }, @@ -1303,6 +1357,10 @@ "$ref": "#/definitions/SubmitShipmentConfirmationsResponse" }, "headers": { + "x-amzn-RateLimit-Limit": { + "type": "string", + "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." + }, "x-amzn-RequestId": { "type": "string", "description": "Unique request reference identifier." @@ -1315,6 +1373,10 @@ "$ref": "#/definitions/SubmitShipmentConfirmationsResponse" }, "headers": { + "x-amzn-RateLimit-Limit": { + "type": "string", + "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." + }, "x-amzn-RequestId": { "type": "string", "description": "Unique request reference identifier." @@ -1327,6 +1389,10 @@ "$ref": "#/definitions/SubmitShipmentConfirmationsResponse" }, "headers": { + "x-amzn-RateLimit-Limit": { + "type": "string", + "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." + }, "x-amzn-RequestId": { "type": "string", "description": "Unique request reference identifier." @@ -1339,6 +1405,10 @@ "$ref": "#/definitions/SubmitShipmentConfirmationsResponse" }, "headers": { + "x-amzn-RateLimit-Limit": { + "type": "string", + "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." + }, "x-amzn-RequestId": { "type": "string", "description": "Unique request reference identifier." @@ -1351,6 +1421,10 @@ "$ref": "#/definitions/SubmitShipmentConfirmationsResponse" }, "headers": { + "x-amzn-RateLimit-Limit": { + "type": "string", + "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." + }, "x-amzn-RequestId": { "type": "string", "description": "Unique request reference identifier." @@ -1365,7 +1439,7 @@ "tags": [ "vendorShipping" ], - "description": "This API call is only to be used by Vendor-Own-Carrier (VOC) vendors. Calling this API will submit a shipment status update for the package that a vendor has shipped. It will provide the Amazon customer visibility on their order, when the package is outside of Amazon Network visibility.\n\n**Usage Plan:**\n\n| Rate (requests per second) | Burst |\n| ---- | ---- |\n| 10 | 10 |\n\nThe `x-amzn-RateLimit-Limit` response header returns the usage plan rate limits that were applied to the requested operation, when available. The table above indicates the default rate and burst values for this operation. Selling partners whose business demands require higher throughput may see higher rate and burst values than those shown here. For more information, refer to [Usage Plans and Rate Limits in the Selling Partner API](https://developer-docs.amazon.com/sp-api/docs/usage-plans-and-rate-limits-in-the-sp-api).", + "description": "This API call is only to be used by Vendor-Own-Carrier (VOC) vendors. Calling this API will submit a shipment status update for the package that a vendor has shipped. It will provide the Amazon customer visibility on their order, when the package is outside of Amazon Network visibility.\n\n**Usage Plan:**\n\n| Rate (requests per second) | Burst |\n| ---- | ---- |\n| 10 | 10 |\n\nThe `x-amzn-RateLimit-Limit` response header returns the usage plan rate limits that were applied to the requested operation, when available. The table above indicates the default rate and burst values for this operation. Selling partners whose business demands require higher throughput may see higher rate and burst values than those shown here. For more information, see [Usage Plans and Rate Limits in the Selling Partner API](https://developer-docs.amazon.com/sp-api/docs/usage-plans-and-rate-limits-in-the-sp-api).", "operationId": "submitShipmentStatusUpdates", "parameters": [ { @@ -1374,8 +1448,7 @@ "required": true, "schema": { "$ref": "#/definitions/SubmitShipmentStatusUpdatesRequest" - }, - "description": "Request body containing the shipment status update data." + } } ], "responses": { @@ -1416,41 +1489,41 @@ "reasonCode": "NS", "statusDateTime": "2020-08-07T19:56:45.632Z", "statusLocationAddress": { - "city": "Berlin", - "postalCode": "10115", - "stateOrRegion": "Berlin", - "countryCode": "DE" - }, - "shipmentSchedule": { - "estimatedDeliveryDateTime": "2020-08-07T19:56:45.632Z", - "apptWindowStartDateTime": "2020-08-07T19:56:45.632Z", - "apptWindowEndDateTime": "2020-08-07T19:56:45.632Z" - } + "city": "Berlin", + "postalCode": "10115", + "stateOrRegion": "Berlin", + "countryCode": "DE" + }, + "shipmentSchedule": { + "estimatedDeliveryDateTime": "2020-08-07T19:56:45.632Z", + "apptWindowStartDateTime": "2020-08-07T19:56:45.632Z", + "apptWindowEndDateTime": "2020-08-07T19:56:45.632Z" } } - ] - } + } + ] } } - }, - "response": { - "payload": { - "transactionId": "20190905010908-8a3b6901-ef20-412f-9270-21c021796605" - } } }, - { - "request": { - "parameters": { - "body": {} - } - }, - "response": { - "payload": { - "transactionId": "mock-TransactionId-20190905010908-8a3b6901-ef20-412f-9270-21c021796605" - } + "response": { + "payload": { + "transactionId": "20190905010908-8a3b6901-ef20-412f-9270-21c021796605" + } + } + }, + { + "request": { + "parameters": { + "body": {} + } + }, + "response": { + "payload": { + "transactionId": "mock-TransactionId-20190905010908-8a3b6901-ef20-412f-9270-21c021796605" } } + } ] } }, @@ -1532,6 +1605,10 @@ "$ref": "#/definitions/SubmitShipmentStatusUpdatesResponse" }, "headers": { + "x-amzn-RateLimit-Limit": { + "type": "string", + "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." + }, "x-amzn-RequestId": { "type": "string", "description": "Unique request reference identifier." @@ -1544,6 +1621,10 @@ "$ref": "#/definitions/SubmitShipmentStatusUpdatesResponse" }, "headers": { + "x-amzn-RateLimit-Limit": { + "type": "string", + "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." + }, "x-amzn-RequestId": { "type": "string", "description": "Unique request reference identifier." @@ -1556,6 +1637,10 @@ "$ref": "#/definitions/SubmitShipmentStatusUpdatesResponse" }, "headers": { + "x-amzn-RateLimit-Limit": { + "type": "string", + "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." + }, "x-amzn-RequestId": { "type": "string", "description": "Unique request reference identifier." @@ -1568,6 +1653,10 @@ "$ref": "#/definitions/SubmitShipmentStatusUpdatesResponse" }, "headers": { + "x-amzn-RateLimit-Limit": { + "type": "string", + "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." + }, "x-amzn-RequestId": { "type": "string", "description": "Unique request reference identifier." @@ -1580,6 +1669,10 @@ "$ref": "#/definitions/SubmitShipmentStatusUpdatesResponse" }, "headers": { + "x-amzn-RateLimit-Limit": { + "type": "string", + "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." + }, "x-amzn-RequestId": { "type": "string", "description": "Unique request reference identifier." @@ -1594,13 +1687,13 @@ "tags": [ "customerInvoices" ], - "description": "Returns a list of customer invoices created during a time frame that you specify. You define the time frame using the `createdAfter` and `createdBefore` parameters. You must use both of these parameters. The date range to search must be no more than 7 days.\n\n**Usage Plan:**\n\n| Rate (requests per second) | Burst |\n| ---- | ---- |\n| 10 | 10 |\n\nThe `x-amzn-RateLimit-Limit` response header returns the usage plan rate limits that were applied to the requested operation, when available. The table above indicates the default rate and burst values for this operation. Selling partners whose business demands require higher throughput may see higher rate and burst values than those shown here. For more information, refer to [Usage Plans and Rate Limits in the Selling Partner API](https://developer-docs.amazon.com/sp-api/docs/usage-plans-and-rate-limits-in-the-sp-api).", + "description": "Returns a list of customer invoices created during a time frame that you specify. You define the time frame using the createdAfter and createdBefore parameters. You must use both of these parameters. The date range to search must be no more than 7 days.\n\n**Usage Plan:**\n\n| Rate (requests per second) | Burst |\n| ---- | ---- |\n| 10 | 10 |\n\nThe `x-amzn-RateLimit-Limit` response header returns the usage plan rate limits that were applied to the requested operation, when available. The table above indicates the default rate and burst values for this operation. Selling partners whose business demands require higher throughput may see higher rate and burst values than those shown here. For more information, see [Usage Plans and Rate Limits in the Selling Partner API](https://developer-docs.amazon.com/sp-api/docs/usage-plans-and-rate-limits-in-the-sp-api).", "operationId": "getCustomerInvoices", "parameters": [ { "name": "shipFromPartyId", "in": "query", - "description": "The vendor `warehouseId` for order fulfillment. If not specified, the result will contain orders for all warehouses.", + "description": "The vendor warehouseId for order fulfillment. If not specified, the result will contain orders for all warehouses.", "required": false, "type": "string" }, @@ -1616,7 +1709,7 @@ { "name": "createdAfter", "in": "query", - "description": "Orders that became available after this date and time will be included in the result. Must be in ISO 8601 date/time format.", + "description": "Orders that became available after this date and time will be included in the result. Must be in ISO-8601 date/time format.", "required": true, "type": "string", "format": "date-time" @@ -1624,7 +1717,7 @@ { "name": "createdBefore", "in": "query", - "description": "Orders that became available before this date and time will be included in the result. Must be in ISO 8601 date/time format.", + "description": "Orders that became available before this date and time will be included in the result. Must be in ISO-8601 date/time format.", "required": true, "type": "string", "format": "date-time" @@ -1709,35 +1802,35 @@ "response": { "payload": { "pagination": { - "nextToken": "MDAwMDAwMDAwMQ==" - }, - "customerInvoices": [ - { - "purchaseOrderNumber": "PO98676856", - "content": "base 64 content goes here" - } - ] - } + "nextToken": "MDAwMDAwMDAwMQ==" + }, + "customerInvoices": [ + { + "purchaseOrderNumber": "PO98676856", + "content": "base 64 content goes here" + } + ] } + } + }, + { + "request": { + "parameters": {} }, - { - "request": { - "parameters": {} - }, - "response": { - "payload": { - "pagination": { - "nextToken": "MDAwMDAwMDAwMQ==" - }, - "customerInvoices": [ - { - "purchaseOrderNumber": "mockpurchaseOrderNumber", - "content": "base 64 content goes here" - } - ] - } + "response": { + "payload": { + "pagination": { + "nextToken": "MDAwMDAwMDAwMQ==" + }, + "customerInvoices": [ + { + "purchaseOrderNumber": "mockpurchaseOrderNumber", + "content": "base 64 content goes here" + } + ] } } + } ] } }, @@ -1848,6 +1941,10 @@ "$ref": "#/definitions/GetCustomerInvoiceResponse" }, "headers": { + "x-amzn-RateLimit-Limit": { + "type": "string", + "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." + }, "x-amzn-RequestId": { "type": "string", "description": "Unique request reference identifier." @@ -1860,6 +1957,10 @@ "$ref": "#/definitions/GetCustomerInvoiceResponse" }, "headers": { + "x-amzn-RateLimit-Limit": { + "type": "string", + "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." + }, "x-amzn-RequestId": { "type": "string", "description": "Unique request reference identifier." @@ -1872,6 +1973,10 @@ "$ref": "#/definitions/GetCustomerInvoiceResponse" }, "headers": { + "x-amzn-RateLimit-Limit": { + "type": "string", + "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." + }, "x-amzn-RequestId": { "type": "string", "description": "Unique request reference identifier." @@ -1884,6 +1989,10 @@ "$ref": "#/definitions/GetCustomerInvoiceResponse" }, "headers": { + "x-amzn-RateLimit-Limit": { + "type": "string", + "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." + }, "x-amzn-RequestId": { "type": "string", "description": "Unique request reference identifier." @@ -1898,7 +2007,7 @@ "tags": [ "customerInvoices" ], - "description": "Returns a customer invoice based on the `purchaseOrderNumber` that you specify.\n\n**Usage Plan:**\n\n| Rate (requests per second) | Burst |\n| ---- | ---- |\n| 10 | 10 |\n\nThe `x-amzn-RateLimit-Limit` response header returns the usage plan rate limits that were applied to the requested operation, when available. The table above indicates the default rate and burst values for this operation. Selling partners whose business demands require higher throughput may see higher rate and burst values than those shown here. For more information, refer to [Usage Plans and Rate Limits in the Selling Partner API](https://developer-docs.amazon.com/sp-api/docs/usage-plans-and-rate-limits-in-the-sp-api).", + "description": "Returns a customer invoice based on the purchaseOrderNumber that you specify.\n\n**Usage Plan:**\n\n| Rate (requests per second) | Burst |\n| ---- | ---- |\n| 10 | 10 |\n\nThe `x-amzn-RateLimit-Limit` response header returns the usage plan rate limits that were applied to the requested operation, when available. The table above indicates the default rate and burst values for this operation. Selling partners whose business demands require higher throughput may see higher rate and burst values than those shown here. For more information, see [Usage Plans and Rate Limits in the Selling Partner API](https://developer-docs.amazon.com/sp-api/docs/usage-plans-and-rate-limits-in-the-sp-api).", "operationId": "getCustomerInvoice", "parameters": [ { @@ -2004,11 +2113,15 @@ } }, "401": { - "description": "The request's authorization header is not formatted correctly or does not contain a valid token.", + "description": "The request's Authorization header is not formatted correctly or does not contain a valid token.", "schema": { "$ref": "#/definitions/GetCustomerInvoiceResponse" }, "headers": { + "x-amzn-RateLimit-Limit": { + "type": "string", + "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." + }, "x-amzn-RequestId": { "type": "string", "description": "Unique request reference identifier." @@ -2049,6 +2162,10 @@ "$ref": "#/definitions/GetCustomerInvoiceResponse" }, "headers": { + "x-amzn-RateLimit-Limit": { + "type": "string", + "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." + }, "x-amzn-RequestId": { "type": "string", "description": "Unique request reference identifier." @@ -2061,6 +2178,10 @@ "$ref": "#/definitions/GetCustomerInvoiceResponse" }, "headers": { + "x-amzn-RateLimit-Limit": { + "type": "string", + "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." + }, "x-amzn-RequestId": { "type": "string", "description": "Unique request reference identifier." @@ -2073,6 +2194,10 @@ "$ref": "#/definitions/GetCustomerInvoiceResponse" }, "headers": { + "x-amzn-RateLimit-Limit": { + "type": "string", + "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." + }, "x-amzn-RequestId": { "type": "string", "description": "Unique request reference identifier." @@ -2085,6 +2210,10 @@ "$ref": "#/definitions/GetCustomerInvoiceResponse" }, "headers": { + "x-amzn-RateLimit-Limit": { + "type": "string", + "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." + }, "x-amzn-RequestId": { "type": "string", "description": "Unique request reference identifier." @@ -2099,13 +2228,13 @@ "tags": [ "vendorShipping" ], - "description": "Returns a list of packing slips for the purchase orders that match the criteria specified. Date range to search must not be more than 7 days.\n\n**Usage Plan:**\n\n| Rate (requests per second) | Burst |\n| ---- | ---- |\n| 10 | 10 |\n\nThe `x-amzn-RateLimit-Limit` response header returns the usage plan rate limits that were applied to the requested operation, when available. The table above indicates the default rate and burst values for this operation. Selling partners whose business demands require higher throughput may see higher rate and burst values than those shown here. For more information, refer to [Usage Plans and Rate Limits in the Selling Partner API](https://developer-docs.amazon.com/sp-api/docs/usage-plans-and-rate-limits-in-the-sp-api).", + "description": "Returns a list of packing slips for the purchase orders that match the criteria specified. Date range to search must not be more than 7 days.\n\n**Usage Plan:**\n\n| Rate (requests per second) | Burst |\n| ---- | ---- |\n| 10 | 10 |\n\nThe `x-amzn-RateLimit-Limit` response header returns the usage plan rate limits that were applied to the requested operation, when available. The table above indicates the default rate and burst values for this operation. Selling partners whose business demands require higher throughput may see higher rate and burst values than those shown here. For more information, see [Usage Plans and Rate Limits in the Selling Partner API](https://developer-docs.amazon.com/sp-api/docs/usage-plans-and-rate-limits-in-the-sp-api).", "operationId": "getPackingSlips", "parameters": [ { "name": "shipFromPartyId", "in": "query", - "description": "The vendor `warehouseId` for order fulfillment. If not specified the result will contain orders for all warehouses.", + "description": "The vendor warehouseId for order fulfillment. If not specified the result will contain orders for all warehouses.", "required": false, "type": "string" }, @@ -2121,7 +2250,7 @@ { "name": "createdAfter", "in": "query", - "description": "Packing slips that became available after this date and time will be included in the result. Must be in ISO 8601 date/time format.", + "description": "Packing slips that became available after this date and time will be included in the result. Must be in ISO-8601 date/time format.", "required": true, "type": "string", "format": "date-time" @@ -2129,7 +2258,7 @@ { "name": "createdBefore", "in": "query", - "description": "Packing slips that became available before this date and time will be included in the result. Must be in ISO 8601 date/time format.", + "description": "Packing slips that became available before this date and time will be included in the result. Must be in ISO-8601 date/time format.", "required": true, "type": "string", "format": "date-time" @@ -2223,47 +2352,47 @@ "response": { "payload": { "pagination": { - "nextToken": "NEBxNEBxNEBxNR==" + "nextToken": "NEBxNEBxNEBxNR==" + }, + "packingSlips": [ + { + "purchaseOrderNumber": "UvgABdBjQ", + "content": "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MSAxMjkyIDk3NF0vSXRhbGljQW5nbGUgMC9Bc2NlbnQgOTc0L0NJRFNldCAyMiAwIFI+PgplbmRvYmoKMTkgMCBvYmo8PC9EVyAwL1N1YnR5cGUvQ0lERm9udFR5cGUyL0NJRFN5c3RlbUluZm88PC9TdXBwbGVtZW50IDAvUmVnaXN0cnkoQWRvYmUpL09yZGVyaW5nKFVDUyk+Pi9UeXBlL0ZvbnQvQmFzZUZvbnQvRUFBQUFBK0FtYXpvbkVtYmVyLVJlZ3VsYXIvRm9udERlc2NyaXB0b3IgMjAgMCBSL1dbMFs1MDAgMjYyIDM5MCA2OTAgNDgxIDc2OSA1OTIgNjAwIDYwNCA1NzAgNjQwIDc3NyAzODMgNTA5IDI0OCAyNzggNTI5IDg5MyAzNzMgMjU1IDQ2MSA1NzQgNTgwIDUyNyAyODUgNTg2IDg0MCA0MzIgNTg2IDU4NiA1ODYgNTg2IDU4NiA1NzUgNjA3IDU5MCA1ODYgNzc3IDU4NiA1ODYgNTEwIDU5MiA1ODggNTgwIDM3MyA2MjEgNjEzIDUyNiAyNDggNzA2IDUyNCA1ODggMjQ4IDYwNCA2NDIgNTg2IDQ3MiA0NzZdXS9DSURUb0dJRE1hcC9JZGVudGl0eT4+CmVuZG9iagoxNyAwIG9iajw8L1N1YnR5cGUvVHlwZTAvVHlwZS9Gb250L0Jhc2VGb250L0VBQUFBQStBbWF6b25FbWJlci1SZWd1bGFyL0VuY29kaW5nL0lkZW50aXR5LUgvVG9Vbmljb2RlIDE4IDAgUi9EZXNjZW5kYW50Rm9udHNbMTkgMCBSXT4+CmVuZG9iagoyMyAwIG9iaiA8PC9Db2xvclNwYWNlWy9JQ0NCYXNlZCA3IDAgUl0vTmFtZS9JbTMvU3VidHlwZS9JbWFnZS9IZWlnaHQgMTYwL0ZpbHRlci9GbGF0ZURlY29kZS9UeXBlL1hPYmplY3QvV2lkdGggMzc2L0xlbmd0aCA1MTA4L0JpdHNQZXJDb21wb25lbnQgOD4+c3RyZWFtCnic7Z2/rhxFGsUnu9JKKzmzLDkgsmQ5cWRZkDhBSEROECIjQIjQgYHwBrCklhaILQE5knmAEd4HMJcXwDyB7xv0np6zc/abquqenp4/1dM+P5VGM9PV1VXVX53+qrqrummMMcYYY4wxxhhjjDHGGGOMMcYYY4wxZl9+f/ny6Vdfv//Bhw5nGj77/Iuffv6lth0ZU+bN9TWs9OIf/3SYQbhz994fV1e1bcqYDSAyDx6+V711OBww3Lx121JjJsVHH39SvV04HDzAq8EVpLZxGdOCq171FuFwpPDv73+sbV/GtDz96uvqzcHhSOH9Dz6sbV/GtHj4d96htn0Z02KdmXeobV/GtFhn5h1q25cxLdaZeYfa9mVMi3Vm3qG2fRnTYp2Zd6htX8a0WGfmHWrblzEt1pl5h9r2ZUyLdWbeobZ9GdNinZl3qG1fxrRYZ+YdatuXMS3WmXmH2vZlTIt1Zt6htn0Z02KdmXeobV/GtFhn5h1q25cxLdaZeYfa9mVMi3Vm3qG2fRnTYp2Zd6htX8a0WGfmHWrblzEt1pl5h9r2ZUyLdWbeobZ9GdNinZl3qG1fxrRMR2eQkxcvfnv9+m/k6vr6+veX//ns8y+q5+p4hf3mX98hHLuMte3LmJaT6cyDh+9CRqAexddfornleUPk6oJwpACFOU0ZT2tNxpQ5mc7QUSF37t6Lm27euh2zhJhofY115hDhlLZkTBcn05meg0Znpudl39iEVjmP/pR1xrxVnExnvv/hf+96vrr6s6vR5ZuK0fClulDsGawz5q3ilOPADx6+WzzcwEYnpbLODA91rMqYTaZwv2lgo+OgTWOd2SXUsSpjNtlHZ+7cvYf2wrtIcDY++/yLm7duX6z9liRlROaf2JqkE7tUjMOQDBdjK6P99PMvMdrWfOomMkNxFxwL+cdWJM5RIN50ZonyBJOCqMh5fCSCAiJBVBTS5F79OvPRx58gArOBfZ9++XVeadYZc0aM1hmJQ+T6+hptRIIQ4+ctCw0Q8XvyRr+leKBITyaRQvEQr1//HUVDGS6WKG/j3MTRJJQ33kqL9Ykd4yaBGoCaJbXRv0uzUlfrjDlTxumMmkk//Tqjf7qgzqi7NOQowzOZZ6wLSE3ipWhTfgjVJxSjX0VJ1Bn4VD27jOthbc2AMSdghM7gCq7dcU3HTzRDtBF8Sdpdv86oOyMlwaU87+CwOxPVgJ0ahS5PRvGZrPpZ7OvFmCgFvCbkX64LvsSyoOfS33jZx0FQCtEtUXcJn0gqborqoSPSLdT/yDP2Qg6tM+ZMGaEz6mWgvRSHI5R4v84M2VRsMlvHgSF6iozcFsdYdipp1KWYEwhC8WGeWAnFCEgwL7L09oAPCB3ITIzZi111JjbhYnNAgopQS2dw9VfkZDB5p9CVsa21JxnpeiKomPIxbqgdyEyM2YtddSbKSLEJT0FntjbzY+vM1qwWU449NUQY7YZZZ8zU2FVn4rjHViGqpTNyDIaPnaJRayCIIQ43jdaZrmkUxSLn48C8g2+dMefOvHVmYAdk6y2nnXQm1kBX9XYVuXiX6vXrv0eP2AyzAmOOy7x1Zsg9muT5HHS1eOco/rmTzkArtlZvT5HpWeWP9Pj5GXO+7DM+U3xIdVI6s7XfFIe1X7z4LRkSkQSN7jd1+SFDiozqRQaiezPCq9nLOIw5EPvcbyq29ynoTHwQpT9mvAGdj7uOHgeWOHQ5IcPnNyFXccKFdcacI/s8P1N8Jj/eU66lM1sfX8kP3ZS6gaN1Jgpd8bbRTvMo95l0eQATMWZv9nweGO0IwsLnbNGik2GNw+qMHqNNnprLA5q2PAp8ycuICGz+UZESzcReOuKuOhOduvxBwTixK6bcNVlyp+Em64yZIBXnN+2qM3oqpgmjtZzinUeObhXjo5FyOjb9Me4Vu4HSTM5EiLvvqjMXm9OykDKOy6Mn0yRjys3q1hKndUPMc+kecbKGnCZjjs1h52ujURyv3xSdhCFF6J/orb16onWNJw+pvTiuMjDlntw2vt9kzpk915+BqujBNrr9xxsHviit4YBdemYW8F0tSZHpXcS+TL58BPZiZ7CYsYG1h0MUU0ZF6d53TLl4O7tZOTnJRE7rjDkvDr6eXhy9OWzK+wStQ9UvSl1rVR3q6EMi4+hxFa/RK1wxVDQtY8TBdUZDN3vOLXI4SKhrXcaQw+pMfBR2Bqv4ziBUNC1jxAid4Q1fLggcl4+LYxFdz404nDjUtS5jyDid2Zpsz+veHE4ZTmBCxmxlhM7cuXuvZ81euDpTeFfLCQJfkcB3GSjElxpMIZzSlozpYrQm8Ka2WpmeLhuRFJ9Jq94kh4euG9AHqdjDhtNYkTH9TKE50DvqfxJmOmHr+xfIRIbBj2w+xgxiCjqDXkackjxltbl567betsBhcAV4d9HJGf1k3WFDJbMyZoMp6Izar3IFtZnOEMfwMGQlvROHGjZlTMpEmgNDMtUIyjPx+1YcpJLrEnVmIrf1T25QxhSYlM5crMaEkwlBfFZnap0p5DPOnKL3pVUm4nt164aTGpMxHUxNZy6yPpS4uvoTnkNdweFLEBIl1FxIzbkY9+7IY4RT2JAx25igzjDExaAS6OHwfbsnyAmfk4H3kueHS9YopiJMx/s6rvUYM4zJ6szFyrHpX0OmWS9gBR047Lgx7x/ly1JFkhvxmqg+bqEY64yZMVPWGQa05YHL9zWrts8nBrWaaL/Pg8QZjbeqsXuPsMSj5PXGTMKlmY4zY50xE2H6OjNCbY5HUWEuworEE3lsxjpjJsW56IzUBl7HEJfjsHAJvp6uGe80TarHZJ0x0+G8dEaheN/nGKAXBg3ZOuDM8Zzq1WKdMdPkTHUmCs73P/y4dVbjTsBfgoid7H6WdcbMnnPXGQUuq4teFTyQXWWHb2nhfPNJjeLuH45kNsbsxGx0Jg9xQW+9lCGZAjkzVclDbfsypmXGOuNwYZ0x08A6M+9Q276MabHOzDvUti9jWqwz8w617cuYFuvMvENt+zKmxToz71Dbvoxpsc7MO9S2L2NarDPzDrXty5gW68y8Q237MqbFOjPvUNu+jGmxzsw71LYvY1qsM/MOte3LmBbrzLxDbfsypsU6M+9Q276MabHOzDvUti9jWqwz8w617cuYFuvMvENt+zKm5Ztvv6veFhyOFHARqW1fxrRM543zDgcPU3jjlTHk6VdTfCGIw57hwcP3aluWMf/nzfU1bLJ6u3A4YLh56/YfV1e1LcuYDSA19mpmE97/4MPTv7LTmIHAOL/5tn2HkV5H4nBeAReL31++rG1HxhhjjDHGGGOMMcYYY4wxxhhjjDHGGGOMMcYYY4wxxhhjjDHGnBN/rRgYeblcvnnz5pjZGQmK8OrVq9q5mDSon+Enuh/XttmJ58+fL1ZcXl7i56M13Jr/RMwbN24cylxH5Pb+/fvIwzvvvIPv+v/XX39lKZ48eVIlY9MHNcMqQl3tmRSuNa5tQ2QMIMoCtQJQPR4/fsyf+IKf2oWRu34i8RMXp9kskYSR4HssFP8BVfLZdFR+ksMTo/Me620gz549w14S9ry2zVtLNHVdd2Dz+pNGAu+XHgvd4H6dgb0hJhSpStcpmjdKF8UT35Er/M+2oLKPaFMHIVY+BbyprTOoGZ67Eb5okvOkts3bTDR19HSoDJ9++mmiM4gWL/39OgO7YmTZKv5BmkgKUibnQWkimqRJ3XlsRWT8iR2xey5Z2Av7ci/szgjYXa4XNiW+CnfhNRff1UdgTOYW6cRk86xyK3KFY6lciond8Z3tCzH7RycS1yvWbdQZHIUJIsNdzT9WF7s8+GSe+ZPOBovAE/R8xeMV6iUl504nnTVA3UZSLDV2pIaw0phz9FUVU7Xdc8p0FOQBezHlWspvjkTey8DZj//Q4GVFNIB+nZHvzYYTVYvQ8JRmBFqX52qRdcHyCPfv30fOdehYonwvWnJ+CDQEZKCn+D1QajgulOw+sPIZOX5HiZIEF+vai2j0LMaBxPE7SqSBKaQWT1Ce/+Tc8Tukg1+oEsmOVJWeP+USJ3XLUxbtJ8+PmQcyBtoAL0bxdO+pM2oCSF/+A0iugHETL538Do3C9+jnEFk+NqklIibS0SZ8SZz2aPn4P4kZfSH6BvzOq3Axq8hePLqaNqvxyYohla+cqLpY7Whr/Imj6LiU4gjPHT5xUJ3HpiSPrEYVjc5MTLaoM4LnArB0yiqSVT0gHVZvojPFU8b6Ufp02+JeZh7EmwLRouSE7KkzSlY3qrQpSbO4CUaLnCSdBQ0fsWnoYl3MarGwXTFjg1UN5FmN5dXR2dfQpiHjEsoPYkofYg5VJ0xKW6N3lzhpasLcGt0hFbNLTKJDmGzigwo8EVAV9nRiVpO6Tf6JTnIeuWeTmQc6rfgiM16sLuLxdI/WGX3P3fIencn7C10tK/+5j84sSvTrTDKYnLgQGt3dWvlFNzJp9cnPJJGIfB55RIu1M5Ono+5MPF/Fgbim1AseojPRbc4jF+vTOjMnoqknTnv8PlBn2N0uigk9ZKlHv84wWbgKj0q3WePFEd+P4c9wTJL0Fz/RmWblbqGwarzNavwEPyHjiWMWKx8FicMXjzYfJ0j8mdiLTJozYYQkTQ7ONJmkx+L064w6hkiqX+3zf3pOWbE+uUlV5+f9zppo6smmniYp64W9wQBk//wZbTVebWMXPo7PFPtNHDOJox8xb4qMCMoMXaYROqP4uljz6IDX34E6g+8cneCOiqPvSZaSyo/DuWplqjFVBcdeIvF0PFrTBN8jDuQmtdfVUyvqTBxQiuMzTeZW5ePAShn7JhVSrM9kL9+BOmvG6Ux0nuMgzKLkeycjP/QW8jSLXpB2STyB/OaFLqPDdSa5u3S5utcWO48y/uE6k+xLLy7pPPZUftLqm6yfggznV3bUZ14bURPiiBa+Kz95slv7TXn9KKvJWFBS2/F6lOwYj5LsJY/Ot5/OGrQseh35AyrRA4dx8md8JAa2pKcg4k/skqSpkUNEUApJmsleevwjPmiR5FwPe8Sml2c1L6ziKxEcTkfRofmYTZ5m7FIpTcXUkyrxKJfhMZKeyteBYolUe8XniLSjaoNl6areqDN6gjeeqZilWFLlWXvxELGYrDp8YlNPbV+un+ohxfpU1w+H85N+xpwdxfFkY4w5INYZY8yxyTu2xhhjjDHGGGOMMcYYY4wx5m2Ds366tnItCz0gF+cvHDVXfJrXcwSMmQGch9jTnDlRIs5DhyhhLz29f3mcVZGtM8bMBs766VnClzMd4trmSds/khpYZ8wx4HQVfqevrnkry9V0SP6p+SnL9TKzcXfGyf/kz3xmEA7B9e4erVZ24sNmSiQuNbxcrzeLT0XT+r345EG1kq3QEZnao9XavHqqjSvrLsOSvMVVC+JiwnEB3nyxX1WLEuRUIK0zHJPlSg6ahIiUGe3ZCuZctcHyLtarYMWFkfWPMqa1jt+siBUV889EtC9iKtvRj9L/caVlY0bA2cRsZRwE0KABr7mcAa1hAcbHJ39qVZZFWBKKs3ppw1zwRPHJYr0AAicIc+tyPc+Xm+Kk4BjtcrWyZVy6gZMBi3OQWQQlqHXata8S19IuQjPKtVZDs566zkUnFmEe+mVYmy5ZAJOJRKWlbvAfdqBizLhKAzUzKVf+j84LM4Z0+LRwUlGa0K254dxXNZCs4cDzGJfXMGYctHNerbSCAdsOTIvSwcZFz4G2Ry2ihsTlu5uwJidlgW0qeWdZfFqeTaNZtyy1R9q8XmGgRhH3ZeaTychc0ObViqh+zElc50HeiDIfoUbFnLNojzaXgZL6LTZf4aQ1uvOhGOZQxZf6MfOJzijBmEKylT+Tpf/yiroMy3dELygmFWPmFwhjRsOrXrOyeUqN1qCOPsnlevlcjS3ExiU9od0iDrWoeCnU+gN872RsWRINJq5dYgPX0g08aNSZKA5MIW5dbC6+pP+Tn6qW5H4Q22D0TLh6VX9uE01IHLwYs1m/GDTfq19n8pIWKyrqjOJw3/g2nMSfQVY9W9PsD7VFzRwNB//Qh9E1ESaH/2mu9C4oEepuUIKwF4cI2CT5Z3JN1NLBWgtuJ52hjlEb6ThpF+Y53pHZR2cSBSgmqB2H6wwzqXZ9PJ3Je2RFneHZ14mOKeP0xdXsPWfT7AMNUubHN5tABKIfroFH9ejpOcThQcoO3zWgns5icy3cZi0U2jFpWVt1huqkRZwWm2tmRk2LwyDNuvPFQg3RmTgqRfJ7McrVcJ1J3KTk5zidSUoaCxUrqsefiYP/ybGQgrzcxpg94PWObVBLTEe70vrV1Aet5BnvzGplfgoLnZY4qkx9oCBwnISLVO+kM2z+f62g1nHpthsrtLAb/qE3hfi8axMbS5fOIBo7j8oAew2Aa9zpKGp9l+EtCXlum82Wm2hsEwT8cv0Gt+E6w9ttKqlWX+dqeBJ5lb2oM0yKy5IDVunl+q2XcZTbOmP2hHYo+6dcJH4y+zjUEBlnjCBr508ap96zplsecQlfNtsR/SZCKVtmyxEXI0dvp0tnKKfUxuTlmEwwWchXYjJQZ/LHZqRXi/X714boTBPW8i2WlGqTVFRRZ5rN9Z8VU1cW/e9+k9kT3hqOa8zmz5PwaRb9XJbW711uriW73Fw4N9m0XL+5TAvJLrOFdospMydSvLiUbvRnkmMlC/bGxONPOgDJpuXmLa08wZ7cMj4dsMW2F0Itwm21WMNdtR1rLFnoWLlSRcV1hpOkijGVYB7fGDNNiqMoy9VbtyjssXdjjDEjKDoS8XWTW70dY4wZx1/d75ExxhhjjDHGGGOMMcYYY4wxxrxV/BdAuo2VCmVuZHN0cmVhbQplbmRvYmoKMjQgMCBvYmogPDwvQ29sb3JTcGFjZVsvSUNDQmFzZWQgOSAwIFJdL05hbWUvSW00L1N1YnR5cGUvSW1hZ2UvSGVpZ2h0IDE2MC9GaWx0ZXIvRmxhdGVEZWNvZGUvVHlwZS9YT2JqZWN0L1dpZHRoIDM3Ni9MZW5ndGggNjU4Ni9CaXRzUGVyQ29tcG9uZW50IDg+PnN0cmVhbQp4nO2dP6jj1prApTLFEl91WXhEXFevWDBcN4FAVNjFg8C6mQtvCYur6ybw3Cz3FsNDbKXigWvDA3PZYsCbrItU8wSjZqpZgQcCad5ovSTNQBi5mCZDCu335/yTLNnS/X+z+kI8ks7/3zn6znfOJ+lmWSuttNJKK6200korrbTSSiuttNJKK620oiV8+sXH1t3I53/65r5b+0Dk16ef3xFzIZ9+9ff7bvMDkKe/tyzXj7Z3VFw061nWR1/fUWkPVn76g2V50d2WuRlb1mff322ZD0y+/8Ryo7svdt2zPioBv1n4/mpz57W5e/n+I2t0VwomL+Nd8Nspq/9xSY0W/qJwpQPa8ZbqFmEt1uJkhiclMSJ95lMEfzdalfz0iTW+Zh2vLLvgQe+7ngc8e7uxPcvLX1gjjs3tVI24z8TJ6Ba4/8EaXbOK15Cx9fv35jnUGwfBtqfbrGWHO90bi9upGXGXZDo3z/2p5d6PkmHxrK/MU1fojW2ZAtnh3rPgzrilmxWoelaHj9d4fIA7S23uf/9oN/FdysayQn22UsMX7mwxHNaR1LJF7pB2NpJs+IqIG2mLeBup9AVZ5wOivBUNVH2p4Gd0XEzG3KPITKWjbfIBRfna+tdcU6Y9vKV6Ptch8n1/lq1HHbiCp3QgqxeNXYo703GlLLjJMxgl7liUv6Lr61wWIH+2vsxVe6OOKN0Mb3F3BUeo9Tuet9CxF8BlJtlMvcUW1bC7zlaumpjXHlaxM+UYUlTGnRlH8vjUNC+QqlR2I8uTQI1kGGMBpx2q0oKyldEirELHr+bes14ZZ75aTnaoNVTrdYctDGwngebaTVVcd51PK3ThqiNOuDmYlyfy6ukGvrU+0gvXnbvZx2kW0gB4kZnRlhHoorVk41lTzttdcURkvcEJGtNPZWNk7Shjl7Pjoc1tzHH3hILvWL4AWkg24mSrrKDfIaiD0aZV2L+x/ukXfTYzyHW2sqqubLEMGuexC9ujyD3SZ57iLvPSDfzlX6y/GNzzZsyGYsIs28Ebumf1omijQ0m3u0L5QPa9KMMh3xltso1LdRiT3sKLGZqhJB2cOdac8ZjuFqzpdJutXbPXkbvPSmxNh1ZWkgzuqogyzHN3aWSNtSFalD9Z/665b2nAuALOLDOHiCmdTJhwPBZ1hytxZWadHndZMS+tlH/5D0PRWAUNPuXZdcMlFPR7RFfHApbHKmotJuQZ6akeD1hzBlyIVDSuttR1kTBcZuZEiWkiBgfXBdBiMlfkuM5zXwl16VYO+M+tbzT3mRyJI3nArHpTMUzdkStHMw33KVt8zBUmEhBP9gNlBr1OHYS15RDX5yyUovnljfVxJfeeqHhP9FwudEq5LAQseauIm5tRC7VkcAdkHhHhO26M6LgDCwYKnfDoA/UugBaTUVFbimVyn4q6TIsGmNHQ/y1w32ZCRXiSu0cDjg+2JncatL7kLmsruozwRlRHi+52T3QE3wiqgb/8/Dvrf/LcFzz7rfF8kTHU8S73Hp1uROtlYA61UEsrXd6Uh6KcFXAoK9673FnBg3oXQEuTUXiOuye6x69aTafWPxjc0ehaK3qK+2rngOIKmy3HfUu0cUGwkR2k7iJP8OcDg/tn1os8d5/vrogmTbqLeqI2JveNgODy4CrlzhHR6IgUTQxeywukSaq5k4Jf85FVlYyLNrmDGqJqj4tmgpQX1kmOO5Bb+WOvl+Me7RzIBmFc1+Q+smQ81XV81DOy8A9xR4t0jFEKU3Oe+0LMWmO+Ryu4b3DHWXPv8SoxMgBGe7gTXxrcfm6Ey8CsnLuudk3u61GxpdXchSq3DO4rfTLLc7eMlHu4u4qsbFlPmNzTHe5QVbJPPHkXlXBHywOmFKVnZkVNfoA7KZaRwlqfu2suFQ5yXxgddYi7b8Zl7puOGNoyuDF3tTLPA1GhZjM6unhT+ee4gzYfrTUvMak24D4CBd9R0+ZOsm0VdzXh1eHOtqG3WOf1eyl3Htqj1cbX3Cmss7kG97G6MVeHuOt7ge3nUu5W3o4cy+XwxgC42cd9BgtIbSaWJ+Np9BrcScmMJKr93F2JW3PnVddMVdvk3qnH3VcBU8FtwWe0PZDjPlVbCkyzjHsBaKR5yKPcMC7hjgslugfzQGWylc7M5C7tmYVXYb/nuRM3bMzqIHdtrijufLf0xHbQWkWQmdXhvlErWZeiyIWHu2u/95SNtqLO3sdd6Pee3noVCyoYar293EmbjRTQYrKpaGqU5z4WynZcZb+XcMcDWhT19nGPVFxP3iS8MqWUuFNG6nctM/PrccdMyEiB+xujiPVhxFfNXQTdQ7imGJVz34j7xRM6Q4zPTG3AbSj2Pu4jcQsrrLlkVDvzhuDfBafddkqcCFXcF3KsYtID3NdqKt7IRCxQn7HoD14mbWpyx7YsosgH3Y1RoIGjDTpiiSkwGPsioQmxx2qsRL+7uGe3GeHG2hZHgjIywAToUcY4He3jPhOjh4EWk7m9Fe7c+AXuuKaI0HPfqXBt5LnzjspU7OvhfVzJndetHV/ujnmmrW2JsYbgeVtgnNXkLvuxs/a0rW8J/bAQd47oA9WmKaIp5c65daIOXtW10+VQ5+3jvtbL8mw3GVsXPR3BV/uRXHA59gL3cQ4d9mkl9+KOmbvD3TQ09d7mQe60x98Zb7KFv8HT1QgNcIF4MfI8Mcp9w8e98eEukE5vn+8IuIbpV6C4xmvIBdJp9wBGQEdAZ7Q24qp/M/NEFBRxqkIyzL8z3eoIKtqYW1GL+1aaxD3cJsdd9Wrua7W5jn3e29Km3izaZttoNuKoqhuNvfzD3P9fSGHdtCFUro9YyTUxtYRBPpYHOM/wpjRxdBd476FvZ5sbKzQEyO8D3c6jVaUke1NtTLfcSXKOhf2yjYrP9b178/r16x/e6Qu4N3wgl5Z7UX58XxVSKu9fPrtkeXU4spaWe1GeX778UD+r95L65eXzJlVouRflw3eXz17XHvMf3r6lf15fXjbC2HLflZcweF++qw7fkbcfsreXl6+bVKHlXiJvUHl896aeunn36hkM9TeXl2+bVKHlXibvn5PGfnEQ/bvX30K8Z2/hHnnWqAot93J5I+bL7179WMX+/ZuX33L3QIxnzdRMy71KcKYU8u2L12/emvTfv33z+rk0ZL5F/fLj5bMGRlDWct8j719pG5HH/nOU73LXvn3DOV6+aVaFlvse+fDDt5d75aWYSz9cvmxYhZb7fnn3qhK9Oes2sTpJCtzjIctuxDjcvXY1mQ9jPkhPbfumMm0kDbhnNH9+V0D+7PnrRlbjrhS4h3a3gvvwxhAFtujCuT25sc5sJM24k7x7+8NrIT++bTaFlsoO96Ai4i1wVwd3LS+sf5z+Z9Wzwncim7/92+/KuSfzIEjwYIn/pmHfDmMz5TJYcoqADxL6NwnTzNBJIhDOl8GcrsyDROIOJ3YQZpDrEoLSecDZx8E8lWWkUDZdhdClKJVDE1G5RJQei4j15IXwc4z8VVQ/1c3IGp/y4/LLuC9tZ+gAoKRrD7v2MrRBDO2T9J2h3QcEfbvfx4AAFJTdh2SY3ulzLBkIIXyQwi8kZO6YpZ3ZQwwJnW7fnsDFU4jgCISJg2VDhhBKpWGpFBrY/a49V6VSAfZF7ba/yPn1vDHgv/2XzKKVP1UvIFRy7zvQTPs0m9hxljr9op6ZQOtjaClxhjgYFSgsMwfoxiITGQhpA8wgIc2SODk9Y9sTGLldoIrJ50Az7Ypuu8DwrgP/d1PKDPNKnFOo2AR7KJWlzjn/NKspOe5Set7UX1S9jHV12RBvr6zEHHeSIBvi6IGBSLgvhkXuNDb7fbZNgB/1VzycAw2cLxmsDOS0dAAQgV6Oe5eKRVUD/TjEswtBEIvFtDwYoEZ0x8HVALoQOmIpS6WMlJl0WEq5Gx0w8qEHrtMFmyha+P6oHHc592EAQmBAEWMTT7k5Oe4xWCIhqHw6WYLqTx2HFe8chuTE0TExUHMncPl5VVwKID84dPrw70TPt+ncsVUCeR9B50IsSCNLDe3+sgmW/dzzfeDBbQCyoie7y7yBWw7h9/rwMZXamZfpmTTo2hMAkU5suxukBe7itoBL4SmqWJg3u7Z9CngSyKB/KqOJwBrcbZ5ARL7S0OyjglcJVOWG8q6UpQaO7UySW+B+q1LGHVRywkxSaH1Rv6toNNKYSzxxQEED9HQnMM99XsZdXDLnbr7XhqXcVRxRarY8tZ3a4B8u99gW+p1MwlOaG42KJxRtHuDkRtTSMMFEMNAvnNAWAGSg5t6tGO/cFWBqUoSQbUQ2iyCtDFWlTjC/JFClkvUaVC49HhF3+jcFJoJdgXvmoCrpymkXTHvup1NMedoVkWSg5o6zbnFeHWZCcyPWU554OZyCYBKhzBP4oY4Aawfrg70hS0VLaM+S7xFxT+1umg6dfgJrebDhuwhxbsCfCJvvApWsAz9dMCwDtEoyh2ydjJCLQMUdDb7Q3uUOyRPIM4EIF1nsiAz6gPfCgR/MHHtrAgVgFok9TNN+N5OlJmDcp6f2b0DPQPNg3kJwF3DQheEFU9hQc09xarughZDdD8HmiLt8AbXLXEaSgYo75uaclnDH5M6c+gqmV2GIxw7MmktUdiJUlpqBlUOVkqXiuSOLfYzctaRhKg8Mu1hbiIkIj2VoLC4Exvol3jGpk6otGbm3QDpbijqWobLUTFZKlho22ep5yNxLJTw9HEeuNh+w7HIfRyUyK2F1P9wPbz6BvX1Pm4wNZJd7+QtR7kPhflga7Qvel9TlviiB9UC5Pwqpy/2WB7zJXU1cO3JR4oQqCG6MNZSK3azc7FpRSIONsILU5u7fGfdqH1ANh1ODpcuB8vbkpIKu7q6qzX3bKcH18LhfQa7B/epSm3vu80q3yZ19b1kq3GckwpcG3LWzDrdfQRfEdME8wP+1E26e5p2DIl9QZglGUU6/WGaYzqkb4sCehCkY7XFAPjzeY44pX+YO9jqqRPgfrlJoGCz3aKcrct/cEXfe3SWvmzTVtS/tVDjrus7Q7qa43cjOPuMg4BNyKS3tLifQvSryDWxYloba6Sece6E9cXgw00ZvOMRosIKF8p2UYqFzj7jjJhh2GTr8OPQCjvo1b4X63Isv+90Wd77v0a8WiOW+8uApZx1622J7AgAciVod4P/UJRPaNgMaJneZb2A7y0w7/aRzL7TtQC5HubB+TJtztCmD/6dDh4KweMGdajfnHdKrc/f8nEQq6m0O+CJ3vpMFMeXBy2+ik/sNt0qcoXkQ6MQh7zEa3FUQ96ly+knnXqh21CT3RJgvodxcAxsmRD9TP5PcQw4VW5RX5V4QV8f17o4769wh78UoD57kzt42aKdwezpZ7sCAG2Z5R4bK1wjCQ+ncM2ZMwV2cxadw6gxVELuwc9xph7nulHt4f2ah4kYH4940d9Fq6UuT3EPBHQ5ENONgh7uzy90ucpfOvXLuycRxkLutuDs23S857hQ3vjHudzLg93OXvrQS7oHGfVXuc6m4stxw1dzpfgtz3O1510lvl3vuwzs85lUn0BzsW5b6MkB1GEvVHFHkzn61PruNlAdPcmdv24WdCNz9LHeguM/J72nqGZUvc1dOP+ncK+WufEk6Fj62c1HgPkHVc3N6ZudTmdfhPq7JndxnqTAklQdPzas0qfVRm2MMMmzUgcEdHXP4XIjOW+XL3JXTTzr3KriH/AQUeRwndqqm3Bx36uW6LtY6++/RjXHfVhWR536BjxfFqfKCSg+eosCWIDnslsL+UQcGd/QMLsVjeiJzmS9zV04/6dzLcR+GKaVbQj/FfXuSoscxFkYTdOEwzz11usu5c4Pcx0b863H363BP+rBUwR/VBOlL06PvFC6wB5tnOOPA5A6Iu/Mcd5mv2BxQTj/h3DPVxCmtm/BoArHwqdh8rIm9zHEHe9Pu3+R4N/+QwxW4626r3uMp2QeOzW3JuLhHmdB6nCin5kGJkEmuvYP5rJTTb+8Cv16sLBOP+9WQWtyNAY9ELfERO/GRRNfCJ1rl42G7Yfohv+pN/CvuvxsPL5UNM6Hf5/W8g9cVod+vuj9TIsbHmsZ14ufEUDPuHXMHVTC5cPBZ7btwQaV952Ki17v7pZ5fW+/ZNN8siFTaPT6rK3JPgrBwUJDgdBhUeVFuXNJgeFrX61KP+zUGvPEZ/V51rNbPVy4LlQC/mkcHnlVrXtUp920z1OA+rP8yxSOQmtzzmwXy3xrca+4y1OBuH3auPiKp+9zSQqWIGnHXn61cV2fecq8UQ027DbjPak4MOe7Cq5Z31ynu5FeD8LDo8SMHnUzx0KX2c3qRSrJowF1j328ImdylV0276+Z2tz+U3APypg0n3YLHjxx08i27By+1uZtmeP11k0603y1ucFdeNe2uc0x3HfnVhvxjevzQQSffsrsbdteR+s+lblSa+g9L1tkiKHJXXrUKdx3th6gf7fGbZJl6y+4uyF1P6nOvzdCQjUrj749YmFfJq1bhrstxL3j85Ft2twztBqTBc9gblegARCXGvs6BrsrtRwqvWoXbKMd9x/Mk3rJ78NKAe+HL/Z5VY16VcuixVlO/S69agXu3FvfbYHQb0oB74VPmjbi79bkrr5rhrqvUMwWPn3zL7jZI3aw0ed8j/0RTE+4Hn+LOcRdeNcU93jOvao+fUPTGy6kPWZpw7+RSNuHuNeCuvGrabdTtJulpOXft8cPI6i27G3hy9Hal0ftNCzNlA+6HH7wx51XpVdPc0c83KeeuPX4EWr5l99vi3uhRGiPy6GDknB1Z8sLdHvdakg8LH8FLNlnT9/nUHzIRfzVrnzTylbT773ulls+OpZmrpOW+XyKV8JCJ0sw12HLfLyOd0t0fc6Mi+i33XWn6vvamcQm1dnNa7gdkfDjLgvh1sm25H5JN0xLclnuJNOZe+fpThdR70bvlfkiq/tBflbgt9zJp/h2UZgO+5rs5LfeD4h7O1BCv5V4qV/juz6JB9nVfRWu5H5YmA37ccs9Jc9qGePXlWuX8luQmuLfSXIoD/9F91+03Ii33+5Ercu94e14iIOnlP6zfcs/Llbh7EaTcLvZsNNKfeV4f9u+13BuI3JPcuhUROvIVvtpf4Wu5HxZtv1e9SrBQMeqO+Jb7YVno1OVYjYVV3df/HhP35CYeWbgCd2NDsvyJbPNBSve3x/3EOr9+JnvfOioXI3X59kujJ8UeHffEsm7iEZ1rcS9/isbkfsjcfHzc59bxTWTzcWPukU5c/vKM8Q5a5YdPCmK+GROH+OWGkD6nHoYxHaQhKtWUTmNUsfiQWBKqTzzEAX+NGS8ldLjUX3ykEMwn5EyTnciZzoafVUvnfAQlJvwX4mL5wtoT6yzjv2EnI4h32aAE9XnLw/JFY+76WY6qRwX0lyD8ell+atbo3LLCLLTwN7as8xO8wwJL/C4ta5BlA/p9ovrrjHI5oxjBERwu8cqJGTIQRXFe+cii4JTinOCHOY/oKMVqnB/D4fkcfo4IPMWfW0YEkQekDkSpNeRpA+JCFjJtlZXYk1PvuuYbOV+ZNYI2BdSweQaU52fYAYgvwR5JjhEd/BzjBCfueOieQXCMjaeGw9HRETIMjRDFHUgd5yNLUlDIk3Ps0fTIOjqHBOfU/ccnyHxwhNXKsErwewR55CIcc89irHoj/r+bcxcKfFNtnPd4xO9b0ebkr2aNEhyMyOQcf5M5tgTbhOyOEU5Ck1Ka0aBFCfBsiVwCwkbIz8W5CEE5wYMzzAkuPcHAM4qsyj3hm2iOZUPAEWI9Sjkd32mQ/EmGl5cYYUDcKUKcUT9QxrXk8yuA74x9f/+SqOf7U7dudp/+mqvREbRnYMF/AOEIh2wAiAfwe8SwwtA6PrbCWOJERc1ag38yS6iTwAjh7jkmRhlGOTEjZzyS4XQ+GMSk6ZBjGkq1RpoPuR/jeE5xZokF9wErQI6V1VY0f7kC9xuWr/I1giEHiKEtwGhA3YCIrUGKYPAQjqEbltROwQyngRLuOgR650iAYe5WkXug+nEguYc73GO83TKcZkmtaO6B4r6z114hn90fcJZPfs5XCFoBzYMWJEQCtMvSGsAYD0XDzs4R/VmgWhijRn9Sxl2HZKwHrss9oOFMM/DZNbl/c5/MUZ4WKhTi6D6GwR5QS7BR1llK1gJBgcE+X1onT+i+R3mCt3lYxl2HCC1zkDsal3u4n1DfBNSF1+Se/fFeqVtf7lQIxiho8jPrhAxFnNugWcdwesJtPrJinASx7WTDU9tLuesQoWVYbfOcaERG21t1T0jqmiaCInexWB2IviPuJ8L0HajJtq7cq6b57Ked+ihdzTc1xqJmkZ5Y4imvs5eMKSMz7rycuwyBkX9C66YztI/mwlqSkRFkKoxTC0PP2LwpcheL1QFq+aW0Z+L0GM8HykaqKz/dI/gS7GStk3rgNuDCJaVuQNMYeGB3YDckgjsyLZ9XdYgsD2dGMI5wEVTgLiODCYlG/ZGoQ447L1ZJZ6l5lWSgV2YN3uL86cu7gbwrZdhp0RTTOA9ENxzxOI9FNzyhQXyUCe4xMMJZ92x3XlUhskDIHdeXx8q+tBR3Xq+epTxRW0dBVuSeisVtCt1zNMd1G16F4OOY5+0jq+Fm5df3wBzkj+8b1bJSqv82XllIXLWDnqodn6Q0x1RdVX+UDzsmlhNHWPfPexj1u4ch//k3DSv58CTU8+igkYoxsvjq07uE/vGXfz1cpwcvN8A9y34N//zPX1xl36Ch9L744ul//Xy4Po9A4sFAKvTzweBxvLPcSiuttNJKK6200korrbTSSiuttNJKK3co/wcLjk64CmVuZHN0cmVhbQplbmRvYmoKMjUgMCBvYmogPDwvQ29sb3JTcGFjZS9EZXZpY2VSR0IvTmFtZS9JbTEvU3VidHlwZS9JbWFnZS9IZWlnaHQgMTk4L0ZpbHRlclsvRmxhdGVEZWNvZGUvRENURGVjb2RlXS9UeXBlL1hPYmplY3QvV2lkdGggNjc2L0xlbmd0aCAzMjY5MC9CaXRzUGVyQ29tcG9uZW50IDg+PnN0cmVhbQp4nMy6ZVBcQdc1OrgT3J3BJbgECBIywACDO0EGdwtOgru7uzuDu7u7S9AQNDgkyM3zvVVvvfe798et+v7cfVadqrNr9Wqp7j57d/Xb6tsPAA4YJAcCwMHBAWT/PYC3VwCBpJ2xl4M9p4mDHY2GGo2tg4XD2wbg0384/0f2H5H/Uw24t14ALipgGL4IAY4OAI8Lh4AL9zYIoAbAARAACP+LAfgvQ0PHgENBRUZEgkf4R9DEAQCQEOHg4ZGQMFBRkBFRAPAIiEjIgH8UNHRcPHwCWm7J38Iqxu4ehERCTv7x+bDmll0yutSmvrnVK2ISeqCgVisDC6+mdhkjk+UKs4xOaFrp0j9dgv+u77/tP17c/6d3HYCJAPevxQi4AHFAzxALGOn/F9B3b2nY3/97frMemKGahP4fZL8B2v3B7o+Pz9/X3fNUs8+vrq6e7P63cjtbV1fPH72UWSBvAGpq6pzFS4fYmT9dvhH+YNX/Kuyb8l9y/wNqXd3i7x8MrzeamAmK/wsibwDf+n8SiRsSxSz/jZ39q1kWsPvl//Cxxdxfbhy9AT7uxLbUtrS02Pw9l5z6f+nQzv7+ner/aoSqv2H00FBXfpdLQ/2BnZ2i5ZKQsHBrOQO+t4sXHaZqk/NhBEjVNGyekXkJXYOZqx6VBpZh5c9OR9hm0IYPZYiByOMJCgoWK7f1eR0iFkkH40mBvIojCXPoRhWSeRwxD9Gx+erDmeG5+vyIcKqTapWJlUHqB4bMU/wDekcOs4rowV3MUPD2cLkaW8qkUH1VnULugRoqLpt6r5KTvFnrAxUHjp681Cf9du1120a7Y6ikk9j+Sf3eqXJOjlHrtRL7pn7SrNXxUovNGObpVaFJPi3PvcJpuimnYjwKn0krQHsTVu7J3HiUgYcNRMErQvvxjtm1++cDw4nvbHfY7qqNNgRV1bcYE8Y/Jj8FeYcKguZ2yb4yQyQrfOgFBgldeiMn4b3LHGHwqgVRy08dXpcnf7758vdo2W+9pF7arBAQyzmcWm8nLJeS1xSe6A7/yDRmA2+7Gdtqe36p3URbKRvFHmQQ2OsKNomy0ybXXXmX6B3Rj5lmg6JH1aKQrQI77y442KSR+4mXefkTR1Hn5qtHZRqbx2bO/nvbtHbI8HoaHWEMi9/aaV7Al2ha0j2BX6PT5C0Pzz5epzn/JoPSQU/Hlu/YWd6Wg3qLoJZgKGnpxHpxptFTDapxEKNBN+OBSAcoKwnX7DOPIjRGOi+574BY0ZulA7MtOX1nLghJU+brMJHli7C2/bHAG8A2lnwDi2h1yzqNYoDeQigpoSzRv2JR4jpJ1ALRvk40nBpSzK0U/1Oqii3JSAFy0XtAkECyECnt39Y1JTC9LtniMePTJI96XkJPGtx/I8oBDGs2AydWuYSNJlLlZ1gheiun0Si4HJAZrT7guwtzAZJVlxOTC+sSqLL6QitZCYXpf45ICjVNxCuQwk6v94+UkqXwDhy6OhUBMuyd3xmPzs5GR7uljx4Yw5sYle+7/M+YycmX24QJkhvlKeZbCg1mXaKWlrW7TH3Zglx6XuMcd/bvpuofpk4e3C43ehxc/+oGzPRMAPfE3wAc52+AW360N8DFiwIKaWe71SW7im0xw5KW3DHhbmjaBOhTuGlruBOLGqmaeiw4/9KNoWtberwpRc6js5jNczT3na5u6366PTNOwLHClwgG7dpQbFX1K6f8Tpii096B2VmM49f550+1QTkEIzHiNAZLrRhmpAqL6GHq2c6iZtRYm/EJ1TwpS7xMQiYm5cgCbRVIgRL2kA8BHs97T1uaQmOq5cjQVR7cpLJNtGD8xtFip9lK5sSN6NGZ6ZhqFQUP3f53kNbmlVC1I5TGMtqtduBesJTJdPVibo3kysUvt1Cn9sBLy2DK6M5cK/Uvd3PMENROIwQDxAZv9EDUuonrIGFc0yya7KMcwKa/8rQaayLEdB4ta1rqgT1V3iAb6BwuHT1lsxggQ+Ot7RI4sLExEH5CQUmZTcwiZhMYsIRSqV22r6RsFUJCa/jzpZEs5Be1dkjgmWlbJvXZNF+ulWmARDkP46+gGOmV5LqEz9aceJGK9KNRk7NPfEaMFVx1BL8vo9EigUomKz2jaWq4TtgbdpxTSueKsVUQu0uFWMXjrfRtXc0SJ2s3ayeI7vCDwAiiOUW8t9dtKF452WApWbqqi7xoILJyP9sP7rNn38pfb4D3hi3XWzclgjnLlEbDpKUQdzUaZmyiQe1Yup9d9vFtmWaxUUUmw+4sOXK97LRiEhBvHvD8p6ARQpkBKHL0ebshFYO13yg9lmK+z7eR7W9qs6LqbmYbChPEg1z5ZcJtMdN7mvuM6WJJOSe1VAEDOmpC4+ZKbnTLorfc98UrErHDeyd8HEHMuorSvCt63bixH9v5TiHRprY5w5Lj+AKT16/6xoP0GoeYEghxtE4e5rqqXoSC7zKyP7SpsQUvpOlEjEuXDBcisQozHZiIO7s3LFDGTteCq1SH5Mmc3AQhP5zTUiiHizlF71EpVIQiITm7shL9BVIvplapE6ag2jjhIFbN1QAfBMn8ZoJT/+EaB0u9ZjbJktnR3zMAfbM0C4F601BoGLdEFXeJv6JRWhNLADjlB7HxgcQf4z5qIzqsARs9Q+k2hgUD2avxqPhy4fhUWkYLdAmFXRs0FYqxtCvoaY7uV7Uy/F78Hh4knePlhOVrgpNCHowCbR+7811aeDVtT62Kxhbnm+EgW02xtWr3FNYopTzOQRZh1EWOv+uZI5hCtR2zLAuq/HLsbwCsJDpAnEgzmZM5wqB8IjToHTO5viryr8Vanl85c32Cehq/QUv7emFlIc4j7Lxf7YZzdJOdRjRMwylKqPby8vwSs/OdGx1UBF1k38UJCmi4M+6x9dJ62XR1f/wosvEzT93t0p3tA+nwPik2uUluIZcnb6HlFr1QdVJxg2gPu6J3GQdPiq07Ke3Qiwh4yUrJQYklDmcMm8XTRKFdOuKQhAb0TkVc6OBKLZQEJoDdwXZxbJFCrKFMt9mfPtaA0TvBdR+skwAa9rSIuziwgVlncFd5TtY1iI6SU1FRSR1M4TtF9xyyJTmXyE01PEHUJ27KNcFjvO5m7xPWOpfOfUIUXk/KvkxrHpwcOJ3E4nwySpDU4gICFXRYVJPAUDAznK9i8KnniF2NzfqdFqh4ATkv6gdNxs+qogV41fecK2iM5DE07KTwwwmOlz89ahNxqXQ+B+WX3hDoyz4Da6srvYerZWetNYsYpfhR0MhcoZM2GnFxIPRfY6p1WVF+ydbojD/gxsESYQ2TqNHw0n2U4UicHYZ3r7E3TSK+viMjFQEPJA7Vf9npHEGgvuPvIglNZGa9e6ch14sJOD/C8qksq8opvttRjMplY7KIjbEeYyfyBt30W+e2s/gZqaaa54i2R7TOHGjcRVL0OdtM40/XI6CCFoKa0Zq63wHj2zMAuuezOh9Q3De9+bWLNaZYiuMrNNEK0xnWlAvkOJwINEW2usV7jmrv4cJgQb2oElwwbSOS946YCKhVNGF0WGf/Xi3e6CtXuvctNuv3TWfkf3TfAJX7K+s7Iys3Bm0VBl9LXczimp9CPueRm/E7Z/20VcLlsQq8zsp3TiXVVB6cHG5pGjW+EUxO4XpC/ElJ1QVz+erf55z6y0e4T6cmOKcd++Tx7usH7K4JTxB+IExTcUqHZf1M6Oe7/bUc1dF3/qDqQdvZLF8KlxRwtpR/ZzLbClpbeLFXb6F01p21vVJcWiKEBKNLNcm17MpAKnCMDelyvH9MaD5SM5fQ5litAs4EB5DnV7nOVxEgt9sUzcyqxqRihCogFKBQF4n593roZG8mYaYO+8D9uf00vkfJxvv8pOnvX451GErewuWT9aaO76jYG+A1kn/lWUPtf/vWNEr6/0ZaRlD3ahCa2PgWPui1QOx/Ps2fbv5r0YFM0lTHkHRvMS7xJ6/gV5XjIM8xN7GpJyKJ7a8JEnv+yfC7oGgrBZgxY0erAA2sEr1hCPpu8HI8fbi0sucNEHsu+FTtazBkkus78+ztdr/hEIHkiu0ysyqv49RxZLSqUI404DEshKOzbRNXZAcr4SGgwEeMb/qQij/WEbkQF86VksI4y+7prmEDtJWqVu6VbZfxFcxFuZqq9KS3vtkvDy9Q/mpaBI1qzkqZz4oXdYMVDcIGOegKMdB/USQ7fWoKYvtDTs8qU662VrZf9Q4bjfvpYCHpvORQ/IOw2ZR/Mqscrq3+D036fkwIG0c0162x5MqtW9mpUZUkZwKDXEDOfPl+gd4YA3gMpSgjOBmfHkPIEMXKa9rjDTDEeaFybtn/1GBD2ELiaSav/gUZbdiBSnuKPZGMsoSjniLekdTZzzLoPJxMtB4baLZ647OHFvPjbkyh6uEXwr45D/NlFrdOmYj2CUolU5s7zOzL659HPkEhJg8F0jeA93e4ZJskgkNMA0dLjfU3wMbTRzHD2KXzGma+y6XpBoOPPBMDpi6mjhcOS5+nwfhxwnZ+S5kwb7Fo8TG+ldJWf0wdkoQJtKCyuvUrXhgU2JQqNNgPyWKzMwzinSZe07fvS/2NrRx0+GzGzHhUr2jEg4jHyG8CkMcLApVLOLVInfmB/FJBFgAGNysN7yJn6XhlkKwj9M7t8enFt3Dt4v5PV0s50z5bMkf53oCwoFn095QqLWxXRztsg77YGHnxuRjTaHqeXe560DwG1SfTeLJPySFMH23lrdgVVQOrkpaiIndIqALt0LWivmJ4ObrTe7XFNFfCfcgqYOAHQ4kfJ9LCGgvJZ3TlIaTmwmnFNCYc7BE8TZKSuMX6sgYZhHxy6e+0ex+X27Qayuj0EiFWjbnhd61NiZZZ9apPBobg51O8MGiZCt7DrEyheZHsIdCTvPDMOLm84kI+kb8ALhb5g1Ble2aBrRi9d0KRk9ZzPYT+DXB9tPMG+KSc+3q5SHPX+UrQLn76z4lA993giVD84Klr+/LL5UmFpLId3LCvwB/B8f1XcKgNxrCsXTZ02G2NLwQ/edcK+u6Uzt5GYpn0EyAjt+jsIurYABs8f0wugnew2eRityQIxxbAwPQSC8waPB4hvGpe6hBLIKKMM52y6JT8rSlgr8Q12SBwDeHnz5obHt5bXCKLzSnnGbQ8VHtCBLHvtXUNwWC7NgX4syjC37O2zgOdOugO3O3Mi0q+qsXeetySXNPl7aP/fZnAs92IJOWeFNiO4WKvZ5JjLYoA2uAiDmHCgDzEfwmMFWXUCWxTRs2/tU6tYUAFkB3P4667Id9VX5jiRai4dfupoZlrOnOPNekJvNT2LGzs5h824clWtWfzre0gUtLFRDidIaDTCIhef9BqYkxDChdO2QbQe/QvDfLPUAK31irZpM/7Qq5z+KyV671cs8lcvqwrOGOAnnSTyducBtda66A/4OW+xvXs5Kal6t69BEqRkZuUqhcyS5IObYgzcm4XhR6X7DxVP9f8vq2LINTHCJhy+BLi2mB97pvRdrnR1RM7cnJvuGFjEOgpilTXKm/lpKAmZDOtGH44qcIv8yt+rEh4kBMr4pm4jjBPWzlAPpBtX+cV6OC00mg3MwlBytm8Xg/2RGF638ZG+5p1oV0q6my/iUEtVzQxvTiVkQly6rYOq3VSszyTu1DuorBnySKbx5iGLN+hOKrueEIHyzFVaEeGRBpywMnHJmBd/h95qkl57g8+Pr7UGXc/s/PWX/5F9aCnbIFAjsG6o/dGhIll8eDlNAT9LWxaqSLYagcenuaoOV4pPG4lfz0bobVHXGtKskpY5jt4tSDDv+vVGYNeVrWkNhYuRX7cnV9CoWyHCRp+bfBOjqRSLPjs1h/TpYKChcaLL0/JCmCgzHIIkw75gIkHhB1sa+TUdSietBV+aGOSdWNu5UwO5AgaEdCnD87QYv5AGvpjPBnQy99MIEJAbKU3i1egI5LJqqCWVbz0wRGxpHVDwVpgkJhp/WNzFAuxt2vsCXKOYv2Es3FWOjZoKrFRqLhaZSiJC84L05fEJOejMF9GwQ9+sexibmI1VZSXX11tct2qvoTAU++1OlYF/nXuAIJ8+ABp2AeFzDhcVjFmBUASTrrxVAxikbKVAKlpOT/6/CiXJJ+VOoCY2VV37lXogTc+/OTMtyxNSiZJk1uH5PDaMWOHYqROfZpYZHZximme387JDZ8w5Z9INJgC9PyIyIYBtfoqJhwU4sZISSHaNmzMOJ5ucEdOKw7HkYRC9umGrw1zcd/BZmcW3fDjEI6tI6Fmj41HzChifmut/fgFub46kdkcpI4Dbs0Kgw/BwuiGgyG9m4UDj4W96QlbsU9T3bFKVf2iTTI9g+sNQIyXWGtDcsg6gsXNWP/ZFft60GqCtLlZnndCNDy74hO1q903o292Utejj5NtbJkiEyIZqqkC7U3CBXy3EKwa1FgGKOHYO2HWxlKCfOESAiMUHxre+04LSq1xZ30GmHa9WahzlfTexLdgCOmMpRtNMtwNTlshbgqZYAoxVJSNFKgwrq9tqEwCvncnLIvhkD3/vIA/3Tii7sJOLNHsZVu8r9qA6Nc6DIyT06TIm3Ibn9c4TOlPxqhIxCSjkPnopfJA+RJ2+ZeRicVdUkjCG8Oqoe9jSPZtqZfyd1cbPMFi1TavouO4AohzUyRhjqppOR4juwyzarFkPxyQiSYPcyGGz4i9oJ82ShLVwVvjDeDzod5jeVHr4cwzNCrVPkYRKnTLxhGswSuwW8RZroQLJl8xb2mItfV4FyTAlWprRTLGbr79QGNvRqXTywnbkt2SuLHrGbvZoll4+vN4nyWRKiR1HdTOWv9L/exsLH/QaqdGsDHwJrZfITJBp55n3G+2WSlWoRt6673PFiSHQKkC46Qd1zmlG3KiIhq5PitOLMWWtAqXpJmE4AnznvxNgibKSyyvy52AwHxBZQYHdUbwAs2LFZubBIwS8eCAgBMe7FasINXjouPmYOMSc5UwgxD/NwDX1EFNEMIg2yqrAXlBPF/EkJE+UWuE6Sdj7BVqP1pCP6qNfjFHDM7nbKpRS1VlEAEr5/hBqww3mc2NFHkUkcCvXfzWdI5rQk2kSVJjXpphtNZenU+UVUYxnMKOpaAeFlJGghit+J8ZXX5fNlXj8qI8hXImGVxAC1g0TKjhuK3jSNxBtLhQLqCbZfqoImyoAjaYAD9KVlZwIB8I+dw6KunpNgAFOmOKuQYJEufU7fe1YeAldan0KiTT3yRn6hRzmWhWCH/QhB0IJcmmNlkgkdPWsIKFEgI1LsSejOe6IQVswA+lqXPdY6sJBPU2oSVo329u2DELpVXcPn5C1vccYbeAjcSlzK8m/OID3g2jtfElPeCpFzHKnP/59gagqujLRLDoHKjSscbN5vo3iCaY1THbCT3SR7jJqeAu9MFhRBCjukS/NXGIFp2tifeZ5y7PkTCCarDie8XTTI1ysH2XPun1E+bhiPq5sKPszLs1BVB+BTWsda3MHK4J489BaFZfXP6vxXL1VqE3AB2jxI/qrOCRrCb/qwpFAtXi2RK+2Etj/juDbzMn9vvvQc0itCcXqmo5Zmu8hBUONtnUkbBItecvCVJNTbwwWE+HKkuV9AiKZpFN/NaioqUmf7F6nl2fM38feYR6CkmV8dNjz8u1ftDG1mvu1huA2reVXVxm5o+YZlfH9i1Zt9PCGKTOOTKI8ma5qhO89LnQJVTUnR2aAxoiSPtcHB0d/a5F4mxR96fm/kIt9LuFm72LuYernbLUAh6aDqT6ovq402zcXRk7wkm/btMzLseg4eNIxmr2kED3Hq+uPrCKZaWURU13Mp/eoC7tlVf6KF7K9Ti+Hcunr68YLFMS5l0olaC5naiv4XxiSLBJawd9tm9qPK9ZpRyLk7j7BbNC1QdHhrcgQ3lLnqLXsnuRi52tRpj118PtJMp5DmLUwoGS+JHWw3DdW6KM1h9DL3c400+MNDEDp3hLpL7HUbJPtuU43kMtszzn1dtU766rypNMR7xwsWPR4Q8OPtktCU8cdIftWu5jzCeVlNbpIsssvwHqwFSb2GHH5hQWMVgSF4s79BM3VuTrpjlsq3lCos2f98qIWX6vfjQuT9Ob6DpjA1TqrVgRz1E1UBpM8QxjunaQcNyoa4kxgxdzuaSLZcxsJfQi4lO0iSY2PpPHTHPfCIeQH78mRTPKgAL7CWcgdtEB6uWIGEcxMZzqTiH8Ak4oKadE3gkttGQttlrR9Yh9OeZ5RsCGEGlFN8hInVDgY8Tvcrjg1jF6m1gSvJRV/9FDKIOY1pHjWIhQyhiNMDwbXeA07QyEu832g/7kPkUSyBQLPUr6ZITG2B0SP5e/1mTMWKy/3cbjaqVOxBPDjowwYLS9zM0UPWUSxYtqGxyjh5vU0Dxqgpc2UY9yfBDtv0vKifUu6r2dNWGzKG97nrLU0YrAHViFU9aTVY3KihEAfb5BS5KhGjLlLT8rEEcPltZZGTVT/aU34POdnxxqrQAdYUodadFA09PNmAUyD7ERc6hKmR74gciMJMi3Gw6PHw8D1BfiN1thUzyukN/hkQop3uUR2cmo+wX4qH+0SDXlBo8xhRjJHzrYY3Cu4gqPfW6P06j3ruvnE8rVf8DJ7FGVYdsW/c2sw+uiWFkLKCILr004ZMd3rcJQguSKH3m0F86OGlARxDtLncbAbtasV43OidpLBEeal55wLERSKoiEfkMufrtmWBuQJYr0fe1BHm+estEppVVLOrjmJzHBj1YBYcJrEIHbOYC5CnNEdBfa0YbU/kCNffSUFkGC7yo/hzve690P45z4rRGF7sqAeBYBkOjJNuuvvScwho6noDyPL5QJhXbK77WCwSHE0IkW73DanJrZ3ZFaRS1G0eC+dOdne2qMlU0GRgfIFc6YHsHvv3iIV/na9lALbXZGEbIUyNbaCiMuhi6wBnaEGvnXK0GLS3ZztGvEIeMgslQvfpsv36b+AhQ24AJBtsI19BFOBIh2yWsbDZV/OCgQoQMd4I4W7QGDbjh1UOQUYt4H0hoU4+uWW1JsbqhxYKF4wE5456iUDDZg8tDSqa9rZuXjeOy0qVp8+vhmxjQy7+nxDpDnEobEuLv7el6i2ghAjk1CSo6fMcVgZIfhFn/qKEx9vKK6eMfoHbDjf1F8m+u68n+J7tOTX6BfANenNv1nwvB/OBoBDY2Navt7MSCygaoC1Bn5CiMAAzVKig/sDhR5v6SCPD3XRGIWbfADkQWmKqvwZDVELVxt1b/zT1rjMjUlFuuIOpj5WsWnSKjF+eyRszlLbS9OH837xWWxH2ZdUTXueXa7TC80i1pFcE8I7ZjzCqNFsG/Ph4wkJAVMKIQFx0BqYuQXi2xMoeZSPx6ff8MwRNi8Hj6X45ETSRwVEAR3+byaFFCESdy9pHNkmZH+2x4x9lPVcZiv0In8l50SuLKYeCcE3DCQLaUkOTmxYz2kS48WC/VNbo2TRRwXqW+zqtjDeQ8g7Ac6GXvYzfXO3FhE+sqNLJ/x7VLbf9heT1TV4s+xnUUDNTrMN7m1u3+1RzWDxtDm7qwHUeDXFZCgjpxEiUOe1n62RTNEUFH3cKWfK0mdBvu5+dG8sstTowapO6wTUNzOMaB+0jHbdqN4+CT3rTQgQeNBzG7Ky9Yed6gj+MbopsxcMWSonlE0qU4xL9GNqE36oyHxV9AdZaIM1VxSV/F5/BpcaYGTnZO0J1iVTcEpmEzFH+ezl7r278yHbvNshZV9umSmFZRvQ1sy3+QgXFGYh6ciIaOmCFd9swXTzMUM+6n00veXMQElP/WVS5F58bIYrwpR1alkTtI2VqKV9kTYmwazl3imBWK+EC8dERPdBOkuRvEWKc1H5fvCQWHNUlcRxrzaXk0CbWYlAqoxK1xMGUnIBw43bwCLq9f1LYSvjXqaT6gDgb1/bSL1rnM+cEoE6M+H/bQ43t80111O9kL+JWqgROxiHsfVySRxcrxpPEoBZnDRS7gvpSMS4FCPO8bOvXW9wuAh7Y8pW+9UMlHA6dVH4Ie1+gvZF4wgFjgkwYbluT4HdXyhsc+zyDzexwkySl5llSINP91GHSMXz+KGdEKRjXoONic+xJocmxgPh3/g7pLdRJOQavnsx/B5Y00PYFUTG+MOnN8gnatx5CNm4fp74povxp5lal0iEJWaw/0JsvvTSSDvg1M8z1osBs2Kz28C70gfcvyEgxyqNUIGbU49j0OO+nDVpD7qLZTTUk0bK8Pr/djiS0WPvY3W7u3+G2znifrJr1MMMlH7Ojy/ndMLZuaP/xZ9PtLsfCwyCxvDiOd2b0kZ5itlkggu/xQ/fYTXNkYvFbLBpay54/vHUGh6g0KRVTLgd5WMisuJm8awiW1yGKpT9EBYfEKYgLX9KMkcfGD+JYzwFJ+B5eqTHsbXPhZkVu3JP+BC9bgOpudghGRo2+0+ybTupEmmSXhQCgq3mZBZho1oCc1tsziNDd+8NE8UN0KD82Ag6SdSE1xBHESa7ZXuB0776KhRdeFOoXwrO1mcaL3IhMFjnGLAMLwfA/oSiQpikHmajnFbCHw/ST+54TDN+mOOC1HJx5bkGGmKgvEMrboOe2xPT+m9wWK65VK2TlOmEX572WVarsWK3r0m3eSQCuCCRN4dcrZT2KeuY3rzxq7josmL+S3CtTOa4z3n21Ub0wQwffkimVOAudFEHaN/eDkJiBwnu9FZGzP9uB6VS6ojc6E/0O+dLDvIPFiX6uuHN0D/tHSH788Xp+fcZ5HUf/lNz8r5vTeHzfYtcWdL/VIKkw7T+C7FXxrj2g3bHt3sZe1s01y2IJcz/5Aeu/oXJOXK+xbBVpFaqfn5YJPCyoLBqano6LEY3R97PxqvF+ilgvGgU8owaBMjgZRpEZHxSJYROjMsjSvkDRBR5TJfXa1yHnVEjt0KXkf7HntahEF35nkOnl1zRqCm/ZVhXCfI34zL6M9cqINPK13MIY/iXKV2Qy8LsMiwMqOgilyZjtlWbhDgNBtdaEtps2nISi7G6IBwjden/+mMWv8U8F6BJr3jKzXFuA6dfCcKkP0osqdDvJkZ78Ch6uyCmTNcmtKZftht3ck7Hdc4uiq4uaFVNgM7rtfCCcV7DFYjH8ugjCi/ZezMTW+n6ZiRGoW6rb2ztsqg0C/WplaIzvgQohEj4rME+TBcx+cNdDIYSn9nC1Tdcl7V93idfcZL2HLWbgazLJCBC1+dAyP5sN7HKjm6uw4WsEgVZkGjTHAAYcGlRKQWWuKpf79962GqXLq9P3+sjDjaejGo9W1peune0Lv+0/Ol66Vfx2NxV82nTV33vkM3j509rZ+rddiT0X1iBlu58+MSLXvQSTCpwuPqAFP82IEZo2Yy+D5NQVOhPJq1+U4Vh6/ExZ7fsEVwprglEQt/IGHL74utIIykBn5Z8Ol6EokxtWPSGPcrC8B7E/YHVzBQSn95eDX0J9lZO5UP7JM8LvLYDi4fT76H+lIpMSVZx7sFDsqlc7tgGL2xXDTXJm23jGmZ1LbLkaSTqexNglnNoHZBqPuYz3m/JL0HbrGfm8GBpzEcQ4oOw18GZwKIZXJzGz14b/NHshThMTETiy5DWXIC38lcJdgDk1ZVQ5qEh4BJFJbkxIjZAE+DvttqxAC+3KoZsSMJtRJQwq/TpoUOkz5w7zcr+9Gjws+hjyYILdj54SNb+WPFN+MbBQ0oUFav95MMbWods2KpffhQLx91Gmbm5FqBLSZAtr65EK0rLzCsjUaeTcJdY8j9wSZasg+XznV8OiLYOULWMKfo95ZQNFpEsm7t3cOruGLX8t1fu52t7eUK/1v15xSdm/M3QNIb4NeKhvVOdnekzxug5g0gOOI9C3WfNN8Su3gDMHi75GxSLArJaB22sZOTJFj7U2S34O0TjkhcjZuari6o0d4+LqALY1R8lcJTM1VSYqvindZ1TizkaZqb3mLf/GBhFdTtUYo8feWTY//7itZbJdz5ef7jvN7GcbRym7eoxotpCeOw4RbCtDNkcX44Opon/48wh7FtnXKI+M8ugiyPjgzjx1OzB+R3LpAb6Ripm9Cf0WO9DLRcVrMpuQQD+n6KCY+J8a7TNawA1wlVp5Mq7cQMnImFygX3aPd9QtyOjeGvrV6Pp3Tu0P5HXc6zbqpKrgDWYxv2EiuedH6SDNBSrGpPgXt4I9+AFkwul1pnm0IhkYe/kV6euZ2+Fk5fsFPKd+5Pt1jTbcr7z3jiStZmXtDMp09ofa1vgHk98lM3mdtK7atNttc/L0LwaHTwfuEfnAhpMgZq0vZVmvaxTjnpwD8yKYwxfSlHYDadrBw287fssn5ZDy2H5Qv0CvWSNIa/HGLHEwqkoh4sCEuBUtFc47KGPg/338SpqVOPupBBYp/1uUaEklZtv/4Kyi6Kbe+CTTmPZJmrw7Qpi7SvdTB1F0lr+L76MCdI3y6vhyiRuId+/EDwaSBTPmI5FLdTeGjzgLNpqZq8fb2oThDry4I58PJYc0ZPgNWaizfP1VzVxZvECfYjDmurswnBU7aMk3HIL0wT2JjCPpSv500lcIohTIam92OFp/NHzpfWh4z6Km7cWD3BGG7e/HwhYBLztrsrNkGCv3aUUEBNFLva4VFZW2ErOprmx17SIj/Bdbe64f2NpZ4PYuuvPXc9y5l/X7SaLYLd7jaazp/en9z//ZaZNevK+G2AWzGqz7PU4GeoCFPgTx/5+LrFqU/oBcrd8fhjvx/SpMOWNcbx2WnJYYrvKpHXy26t/6WxwCyoST8c0QdV5mO3QaiyR4IzZXwYmD4aD6puM2imGqC2CW1joCqqqolqQiH60o+gxEGnTCGC2stEQweT7GpiZg5+DtXXegOcMMWJvwqNiO28Xr4aDp3ea/kL8/76vrjN3fSO3u6j3oGm8xEjniTlsDLgB/OGTbP2xHsrLVLskajxnvn2BbzwyUE2ip0vERI9l87AGdqErHCoWyBeZjH5/gafWfK2HJ2rAzR2ZH2TmppqKznOvzw7vZh2YouSIrWCVC4uz0Fa8mSZTdUSVSEpEcJlxA6P44x2gnJ4/jP5S6+BLdbcGGeRkYaScrZ7LLnr6FhisiuNEvOUkp11jfLE9zHWuFLhvGDLuGpjf9pIGIfUp10eJE44ePXzq8fTnJXHP99FvhHfedtsZ1k7vaR6cm90WlQ8RguPDjHoE3cmCpOpsFoOpWUn63IrXuMvdX7G42rMV1clIhpIAv49SBWWMUFbwik/SJQggv8luqf4BrC6j86Nw6yZLUfuPBEdI68RRB8sTdJUWz1KCHeJjFt2jAAoGg8Mlznkigsxquv4p6YimrKnIoIPeu0WkdvfabkW4lod9exVW/ZxJ12J6oTuWUJhIfUBGkus1/bWpZ4YewkRbBdFBZqP5eNKrF58ROp3dO4uX9W8c6omdk4bzFVM+h4tOI7Sxb2Hr5C5cw5Jsfx3RtxkETXWtS+N7psu99qRkyk7dB8ufTU6Zs2ZlmpHJ7oXLsf+xGN/u3F0S/wjLX3LrE76lUf/+TkaL6vkdQ9nM49ZBR2g5+TtrCGdYYKf5WWf36UYlszBWRFo6JBwTVDKcWD1qpktFL3tkGg+XxXI7UYZbNwOLomdOEggxl014XPDW7FgiPhsnGZ0Ru+bZXS5qXFFgK/Xl4vjHGPglj1DKTT6BfbaDUXWbKvpPTDnUS7zlZi+6AKTNOJR6YUpSalv0FTae7Fkz02h36cgh6BR+EOJXdbjZXJuZWTmL/s/6H+zxG33cd6/WAeaK2mab17ZBtgEj9d9osGfV4iL7yylYUYlQoJ3g5oI8n2MMvWwK6HwmyG9dTQyz3Iaqsrl2UITSLS1H1La0RBZlQ5XDYvhA81EFyoMe37C6U0ukZ4Sc1bQjfNXjI3n4FluV8OLuJ/NG1nIjSFNccKqxwWtUoT/ca0SPmx6lQliwIOO8qhR65Bqb0sPkEym5skGNy3dsxKXoBC8G51twaWJ7WnJdru9sDSQo0OsVK+p26SKZLjipCg8dsfvbjv7yJyddKDqneFsjta67Xja4VTqUW16Po39BM9edWWwAovBwpJ+wBrR0Z3VHSmaiF/5orwzSJbL56OMSdrBSB+QsF2uZT467evAvOAknc3CGCXJIt3rZhixUiql/M7dKWlgiZNPbh9tArvszv8rqzHtSANJ1ivdnrd0zTtGaOowZeL2rljNJ7Kv4OvxPYlAxzAmOiepdDktrAHHqLzt/qZzvSabEBOr1WzPPtKXoPoxs2kSF1Kz5QJ03ikO3u+ywfWTeIyoz59au0hC/XB9cQbZUDtW3VurvTD//Nn2Rbej+uM3mtupfifL2nGpN7OrWLijTIr/EJFTjiT5R6JaxypWWjcZqUgT6pJUDDcMxxOo6rkLtjrQ1mTex9eRimTi6g2TXr2p0vY3Uairshn+qfCeliJ0b/T1O9mkZ9WjgPmm/CC8TnpsPLZeAkkKET15MU6VN6mFswuFYn8f3PnM9QpJhMXyEhrVXm9cQ6VCq1PokEE53dbFZ34MrZxEimaWJF6+r1V+8VyTDKpVxu84TP+yMILz8gGDFTEjKlbCVprIe7e8g7qVfr3xjob2mikhJcglw4yMw/cgkOatHebkFHOiQBNfk0ApB7mLiYkXzxjIvwtdSg4cTqYKhiRzf46T/JwCCOmLjmUVJbafwSseKhZeAhLT7KZPLO1z226EbVNS0b4BvrlLVc+WBeU3S01QJEkfjOvOVjtKyEdyVymhzQnpBEic5VfPJnFN6YFvCgMKOzAG3V6kDjjQtqaibEI+T8bHRdMkVcvw9ClYOz+byfOP09xJf6A6xOKo6iisw9JOHtJTGfbCu5Og4lCneHjqmfn51OGbW9OiMCfa2WHEl6jUUFixT/EvF6kzss14bLxKgBbmljy2c9B/uz0tFVOhceTYGjLmRIST3I5pbEJE7cOEGdTVV5d5CHqB3wCDxJQ28Sl59WFLUUajXBVoRgInhQq7MZxcAswLgV+PaqxFFwNa+43DkWWnmQOleTDQtIrZIl+oD5/FtO68X7LPrTGfPswLPo0ppCJc9SB5XaeTZczZ2nszoPu7GzzuuQy6vxvIupD1o5sws1VkzmxrZL1ZqOaRhPeEfaZajuubn1F29aW/SJk2xtIaHBN9unAYxaxLSWZk4lcVQESfImtjH/qRgIh/0YcSCfRKGx3+/LynrZ0FYaYngSf/85D5JUSnkaLWwV5T2CNLD6GOl92OQO2n/sFRP1dFwO9bfima7Vd41dYRo/PpZmBdyLbzviLPiugASPj0uGY5ZTKy4y9DgwMzfu173TpvPggPPyKB5VqpCODxZDP6DreQHcSoTUIkOHp1yRWfRJsfX8MMxTVHJcZC4AuU57Kg/rMSfedraALkluL+KwzkdOMLWk6YKY6QQDBdQ7Y9kDSL3tZhc4FNc6LLeDNIyM5z15faxzY2NuXf5Tq4nttvX045uDuMXPZUHvfYuIBR8U9w92JIx0LiIPr0sCDB9S3vqFFnUOdEQgHSwTsUWAH3kUqIRhmNP5uT8di57DtbKzu+vflmpUDCuLD++fyvCruxrSAuTAR2KTg/whC4gAdAL1dkqzSu7j1hEK62IGq1t0F/S+XTdvvOwuPz99r986pCT7RfZYccDW73waBW608lkF48/ZW4o1VrHcysvSKFYRPPzuxxDTwof/tnnshOQdHPZJQJQ7kqZSZSWZxnp1hWt80meinlGK+/tdpr9M6Hjmp/ytn01aZLtrPW4psTIwXWba4cdCp0PpoM/K3rpU0SZOlQc2GUFP2M3vt7As4mIcmNTNXHewluVK05/KqQI9qk5Yak4ft6R3btb8LRF0gULop5svwNcAjnbxKwRFASYCvWNUda3AYb+zlXWvJ7cxCZKrO2XfNrqvOtHuiGSGTj2b4SpzzHVj4HMkLycrdW3G/kXzxBJUk3M/OubI24HWgs+7sdGISlML6Md6G9kU383lZa9TaUo0pJ52KQeTQrYrfaB7T7C3fLccWt6WTjrHASw+3TFA8xmmjSRGldJ9qUHmIsNBFpu0/0N57yZNfYrbc2y/n6w+Pj839uclTb/XF49A29mii9ouiLL4iuEKQ2gyok+uTSO0lkPWyaYcYVQx7w+zHZIEpmCgf1zVmbu/Gj0mZ+D+LtjSca7Q1DeyHAqciwaHu7jRxFvkzDncxIzwhFl03hYedJSyk6A+5NwMI1SNpasLXvB8f4OxxfKWP/K8w6KnqAzgAqmNduHcnntoaBOAcExCnvdIoxxE5uFBopxtXhVSVevQ0PXmMpyybNWcsaVd8+Xt6LulGtkWgS/qXByNUPAX6OkuyZnQ+kts/fZsa5Mu4I4d7nO/VdijXW3aqPAbTnV6gzJ3y9yJMRHmSlSH6MdVGJzk4VQCvXKWXXtiVTQePe8hqZa8/hhP14H8f0UeSJrc+Tduz30aRIMpWKUdRj1MCZmkrrDn17SzMhozNaBSpE22myjnvtDVDiK6xiSX8Rhv848VU9W/H4wwD/UC27k7KmIzrNy/VJjdMIL99FHkA6ryxE9et7zDFSZFr369kOOUZlYn5izmU+efro5rozjWnAdffzV/JnTa7NZ596n6AX3443gArXcvUz5Ew+ZtWptujp6Uo7dZyp/S42UNAJt4TcnT0QzxqRnqZ1FRRmoc12BGs59GffV6eQwEZDYVE3hiqbq1L8T6lZjw7ZJnHgpf3Sj2jpoZKgcohFTlFMiZM2fqx1OI+X0FYpbymwGP0Iq5ka09QtSSQlSVC3DQErgQFufDAp346/6I+h/+07/av7+tNOOQpzLCQbYHGNlkISj9xB2Z5cYygNJBs/QaV2Ae3D/CBsbEjmL1/RGj2vHCqJ7voGrkX1nFlQZklWoC2RnasD+vzvkPpqSyNlY7A9Ufh3nawRsvm2BE/TLW7rUKzI6bVeqWCGNC8ZsxImhYKxGX6qTD4Ktzsf724b7+5YB4c5ddlTzv0AzAYiE4j8VadxWyrdCCMmiRY0uZEeXhJCWy8tjz6MX06dCF1g8QkSb0oG4PcNkV3/HuGO4mPXNFFgieZh21SndaUemMh0zO2uZixisNh89kZKTdH5mZYFTEeYIpm3JTTiyycS56fefllMyh1yXo7KK1BGUCsXSkSgyZJP4SHCGHOs6otg4Iyrio05QAX+flJj9S92Mfd0oByUKhohdozYpkHth6B8H8GxKoptxSTUeQMUx4Y+Lr+eqVfa3LNyKhRq35m9JDU/Vl4bKsYesT9WIcqSQmfCkwj+LY4YcYt2lqiraMvO0GSHWUYZIGRuZAxdRP2imepXRV+1B1sIhxAoubMxVgciyD7tPNQM7Mf2+jquZoVwSh6Ql4Gjbw700yXpzfqBPJTjn0w6FDYbM5yGXwNArENECqIBIBgR/YsDAACcVVpUSRvkPlQ7G90+rGob3eVzG70lh8Mernqwdk4hnnnIGqIzaH5vgAbqCcoeyz+P3yKduqjGrh6f4KcPtIkgZMWtli4rxGdV8CyiUI4kCfQ9nQ8k3nbho02N4QQ3HHVJLrAqhukTNBxG0anCSIzm9inSQi6j5/pjRReS2eQR4tblYxKE2EUPp60KGIQ5+Kw1Mq2TqWJEjy5jPNXjoFw1gpcOUP4R+uHkRoOfXrTzUV5NoUwyBoN4qFwfs+aHKDP5i/EKE4HoOmxx9vRE0bhSl9PNadXxlyklii8kcQafypYjtsxiSJKoLd1MxzjvFayd0A9TwPLTQVYoiHCk+7p5sDBJhS/+hGLc76y0PSfmXG0UhBpPshpOOTrjUCfSaiQrhfviG5HhV7AuZLMpcPXnIrsikGpcz305A/V9msK5czyGF0TF0mnmOhMjr8nJyg7mcTnsaNfFaSy0fuCGaxYo4yIP4ziZckg0+uO1wYZYZRgPWShwi1XVjcp2Tb5sa8sNqymG7zyHVwcZjL2vwK+eGr9MY/CxLBpNKPQfxagfbIMYxswSbOeMGTVQFLwByH9rWyW1lIPey5QHFKP8hs5pT1LxU4d8oj+DCQUpJtcLE0UOb+DWyxTGH6lLt/DC6nmbE9K7qour4Z1xBVsKIFLqVmgsH5wjmetCxl/vmAnx9HNc1Aqf1WRUQ8WntMANBMFlkN/R7sMMLbI8k+FoIVTp5KeFXi1ER2l8/FIH4/gBGtwuVgqHx9iDn+PHtjJS+FFesxauHSj3CkE/RVAJqt8/Bci2RhnX/C71leXvlk8FhlEkC7R+LAEZs06F9aVnUjFeJ/RW10+HpY1HlHpaeyTysXQLpsfymL4EjuNHzWUwXmNGJ/Hw/g3KMeFJrBUe2jrcGjzNsAohs7tAHF2A/wFaXY1C29AlVyuytQUnd9GZFgeX3s9UBcaf9e4db1VxVYmV1TUg5mGeJnIxTrUZJURzuQG2GNIp4dLOJSIheD4JGzAE46ByskIs3ToYAwcFyeG24ZPcdCknkfzOebUr6IABXr93KP3IUSggk+UNMATYVSYW6pQfq/ORAPrVByUdkhjLTTA3KAL2I6pXhmTkQkYuugVDbUErBwNNvBhTs8VxUsZoeyC5hskT9ioaYYTrFK1g20mSvuAX2uLW4c0i4sRRingAhlIgvaWzlYc2oXjK9NHC4b1rtoKZmow86tzLfIrslwMIFe9zR44Ih4d2k0zYJXMtn4GFi2jBhTixH9G78b9d27VDl8/dPVrNrxuGTV1LlcgCx8+7f3DCyTxNzEePCIOCJioMP04FmpMtYDH+6BrOJfx81e6MSrPxNCYPhOOjq8PQzLcUNaZyzMowZnev9gmyN4AbtGNdhcVQrmYVxtLYTmTrG2o0fy7EC56yPU7qFCnTPD5wQh1lhlUZlN2B3zuQDkdJdaGE2HyaDlV61BpNXUZufZ02+zOD3Sh6/PUNEOwT/s3IJvbsyDCv69AsfFnuulXm4yiJzf3G++VS1//7Mb6kOmvL5Wet8cxcjjfALLLa/d/aV5hu5fP7m9f2MkK9h4LSQ8WZXCPM0n9/L91KydKdkZH6ysAl/2sGW4dl5I7XZ1pCk5Oad5ooo8mwHm2yy7+/g5RNI/UfHs8dLp7fAGJdGkPMgo/FLJIhgrTiocu/X2rv9R5m+GtptGqf0J4/toSe+9bvdHtWe8IHKnVH5CZMfPzWc5378uGkWu++AmlO7VrHYqblVe0NUPpFo/L7rOuw/kRrD/x+uL3BFP5xDdcwFygxl2EhvbBfgPkU30oQ7bvzCFIJ0ZdpZadgeomwzIy2qd7b6qmxxRr1bOFG/wOMajwmQs/vfk5D/hvXipmLLFKgXltSh7PfK+R+DPATu4/fgm0Qh6Y65zBvcNoViuOWgtPS4jlCWIB/g7j4F90nFxcSsMqSjTF1uLRz5VzXjX6RDJ9hTnRi6gQ4kSt3Jb8BRMX/MA+i9G8lRfe1EPvrhBSZ+OuwZfBhvZ9fs0teHg6wb+hRyeXZALSNrnRtjKbt5rtGswBdEAVBXAnI6iExR17kNsuiZmaZ1IfYezDO96ot7nkB96wXqUCkFNT+0UydRmEfa6wJPfpcnvCIf+ML5qU7oggVIMssR48rv/UfM7WHiswDYNpKN5zv+VgXV2cIY3lHTmp4PUo3DDR5EULYlz0GdDDj8XCEDxV6hDSrM4n3ht25Kziq1tj6gZz28jvU0VIwUXN6ChuPBDEs8oDfNIpUZnHdDQZ6+l5sX50JpjdrLdwEjVwaB+Foho6v7va01Sgw3eswVRMvuCfXiBzLGNJtSml70/+KTdMd5ZhAXaaY0RD4xMd8Nbpjczee3gDitWtnNayHLxBRAUtfEt2HigYs2ZH546JKejNP2w/WD6xjaix9M7Zndf1f4t2lXo/ys9sUUyN+ZniL2HyLquusZWfQZgjJIKDq2d/4/Wfusum18fVpV6Ntyjh6pGX3rnDH5sXq5aa/0iUDiUX5ZSqWVbmGmW9cLQ3Zhm3aOzd4GKlq9XxRSognKy6fRNo2eatNOLjiI0Y0LiurFg8XYz6Da6R5qP9a9ZHRaMmufk71q9k5WnTtXo8+Qz+rCbedncumnDz8XEKJIKqLQvq2oH+EfpqRUCnpOv7sWL2UcxRrXyDVCIG6IPJTYzaMyn3p3hOfdup68d4siUc9e90qrp4g/cSMP6W7vL0lnCJH+kf+3K/doc9n5CTlXncyZYK98ONII4cJOp8BDBv7zOIF8/Mnr8erg4OrP27vb7vw5UVEwAycnDXTNaxg0Obq6mZUQ3KrEKemE4sKnaxchQYLX4Ec8wAIJ9KgO2ebel2oZlF9/BofTCjiWceiYy4CeHk9qTr2clZL85FHg71X2medrCOYSCKnVU26YxhlslclBtRoDyawJ1c0ZwNF+dBdmT6Nu41IPzu2qmVGGuQOUc+SOgNvmos/2fvOaNF+7pcK8cDrp6B7vB1A00T4adYjl7jVNIxGpdsj7YUk/fAhYaium7oN10OiiEVJp0oYmdE4QNVZHovgjpbLArjMFxhGMghrl66mwUeFshjF1n8aU87aVyNn58feknDKG3+0PCCtktNgr9fHq5CHqjyeWSJhJg2bw6mLpOBizCmHR7Gl6r74f5WbgaWifedWNqEFqwYafk8FIIoSWv4IAIQcYZiDjP4FU/vUf36cwbnh1Dpo10InACI7Xc+0AO97rA5t5Mo3wPwPI6Q+SAwiPWqQdrMpsm5/0wXcjqMAYALg1vQGyGBL4SLdJbZ5RIa7/x0m2OXHTDNSrlGOMYKqdxA/GCsHUfhE8CHFMMPpI+GkN0bY9nrsVZzxp56CtpZCtcMwd+BpIlQ9ydkEC+hxsjxB+ekyMNaxped0AkIopRKmS1KjHN0mgMpASveOjFsmiobnAY9na7AKycMWf1hCDmcCLZVLaGFnwzf2Iu9nj0NsyfYbwOHB57VjvVn312EGS87vjpGbvSZguTA2pXOw3zwBkiwglfxArkZUKguE0hXgLK0CxStT8n5MKKNZLGwJ89ddndcc6OKNH4BuUlkGWo2QeCyBbkTD6Pm54reHFATUeCbCWAejFmp4FuLudRArrrTZwMwYkcxxzDAa9Nr/XHtfF7uDi3sDeJSfxGm4b7fk9mfKdOfxMF0SiqmiBwxvMY/hsRzt60wrJwv/FOy7Z4AiKAELo6SrPIhpaMiKArngycwQpJqg3FQSkTy/NFggtKiJU4C7/qp4L6VXvS/Of3pWYzd9tpva867eALTifgK/n3dO/Ot3xLq0+m8MM/7tG3sPBiuX1gNULcIHTL+RtqnrkSe+HzE2hfDDN3v9oD+w2984e5158XjR7l+e0Uf0ie70/pb7LzOspS5j+NPaU7l1+waw8LXw/daxs+WwMOXLfZiP8Ve+kjwdKtz0q8lb3p+GzzRqEcKiAKrKy9Dot5IiRcGk5cr3M9veJXlvvN6f13ttyOScMcGAz5SI6DLYLP3A5MZnwazMq5+btdhewwUmzPAqHOQHT+HEqDqNY3Vd8EZz9aG6z2UWsFKlExVdND4TvV8AbhCjh+auWts7FPTBCrSKcngGjRIQqew/6R1GBUgUQdv81Y2LicKAR6/VZI3oi3n6yVIMo0kU0VB+U7J03c9Wk7iseOUQRwkndFQhBOY9LAAWcy8qAqo0+fq63K3MqGr5/MtIBEAspf7sL2awxPP85Z480xB3yqLxNYKvUA/cHMMDbKApUmTkB+senksVTvs5CxjJaWPjxhd7J/XKsKdj5eRcfz4w9lu3uPjMxfPK3d/aWBTV22LbhsypX7pNkkxrFYrhdKN+aQsK4GQCNUOYCJzcOFxpGYxJ3+4nswtzPpHiNoFQBsGvC8tw5EHCGCZVRLe577YPu81Te7b1VcFw8V5cNbT6GxO/U7hTvgyvkEwSBpwxVbYHLBP64XDUycNJ1IEBXkpFw4wpMlOaGB4qB0917Hp1qoMGVnRc35MaCGSNCm+Ng3q1A7uwLRvaCtH62qg8BTgHRJGTqz+b7sx/vI2uTd/UDVeMuSny0PrIS3Ptb5xqZioZHRdzIk0bcoh7jClfhRsyvH3CKekOkDCbeq+DjsQCRvX6+YeH1AHLJ7ApHHfiBR/hfcJqACapOUC5DegMJUxtRYbTT9nlXuuTc+8JWvylwGxMguKIQTK+zpQjhxYfQ9mG5cx+azVYqc8wdxrtGICHqN96f5xeFLDHVXNKQHAPPN+tu6D9v8p7q6i62q5L8ODu7u7uTnA5SHB3d3cI7u7uTpDgkkDwgx0guEOQA8GDO/T7fqOqxl/VXTc9uvumx5j7Zl/sq71krmc+a3JwMUqpD/XF8hA4oDkJq9IdTXSrrdxbynyZGuthMbdAajBXVAIo6OdCPHfhBMfRkkUL6gpqMZMM3Zlbw8gl4KxkKgGeM0f7kIwDhtO3nee46HaiY/qURptdT0whlu6gOBfz2Wv4WUR0uLM4cRm3+Dzz2KEBqPgL9ayH5gXE+QaS0B/JkwB/2aPp2bEphvHPKy/9dzhocCkBZF/8NdM4KihOU87JTfvnLu/eU6rbRRv+PpN92quhNtV93n+RzzmVnoSTwRD/ANC4Un2yfUg5BRHnnMSSf3mX25YKnr2kWEnkJRxaXiFl2ng/RhcSd72TGPwAtLDpvm69uxq/GPbXLzmpnzoW4/5UeBcKHif8dE/XFP75XVxEI7N0Bqfx6G/13GUtatzL6Ge1sIXA6/U/8svwkm9jEOSC9/+aZ6QQVC6nHMso9IgQHigyGfmF/7OyQLIAwRA/2D/9wqTuVNj7BA535PnvDzZmKfUTFAWmasuS8f34hka6M2hcVpdEC72n8WyTMX+kneXUwvlIj/lvQIcuAn2w+m5OlqgljV7J+1iefTWHzmR7M4WHnCW92rRTUywa7zwK/QXijLJU20INlwJQ4s+iezRgVIDye/K7MJL17y6D3Q33KZ1Us83w9bQT9JssXVVrZXTYGq01WsuhZnsXZ7dEUVotrNSWbKCcKA7KJA1MiLKjm04m/g0amjPdxlpg0M7npq3zkJKVp8CX4IL1x1B3767jdoZUNp0NXd6meku/CEYafSGFsdMA9SRIo2oza66SEDVn+bIwUQpEg7OrqzDAagbYW33HjFOjYQ85t45uk2NcdbJGA3fLhRBNrP6g5K5MlaFvIaAuXCsmwcfFAVASmlqmNSmzxLFUSMcxka0VKmosX0ShpGszAdGn+/ffyXdMD59eNvoag7fXhzPSwV/XCp6wthO/D/0uWhZKvd8xt8aSp81hVFyWMbpuqF1ND0f7pzv1QyB9yVnTDjNnPj+m6QPzSv/MNJYJ+mOhArVilNREyELDM9FVwjG6TXnG2nwU2eQifD1BJcc/tlkmorFaaxqQDlqOAsom7teDDE/WFKe5+dAYRvM2ZWoY2VceHx/vgu5L99qZ/7j7uvAjjJ8i4kZfjFuvD1xUkU3x0rD1LBUIlUvU0iP+wLRT1QLvqYUqVhMXH8ACJRRwq7DWTpbihW39+eOuxsaxvfLi7lg9je+jhVNQIUQs+WnVNqH9a79zjCzTi6Y7hiTZuI4Rl0E7m7qo7ahcQu3JMrXmbDV98N/x/hfxU2GoGSeAEB4r1BwxlDN+CHGIclUSU9ZVrYHy3wOyk75vjhtL+pbe6UFNWLOt8MRvnVO3eFL1wbdar3U9N2dQmR+AExZth1Jt1+34kiwB8S+h3CVvsg6N8CXeRuQNGGkslsHNfDsPu4j1FNpuAc3iMo1JzwMrITuR1BG0BhqZJK//RM4wSWrJ8Klf8MoL28tR/koqy8pr5DuF4fB9/5rrjuhyb9g/ZE3284R1ifjO0+f3Im+dGph85YuXxkIt12iThDoh2LISExv12Kmv5qjIqwf6okzujqRRmIPmj7ryxjb25HOIA4gJLBKyi6H2r7+2MZ6Zg5VYn+4/AJMht6dfOxi2FNSs9TEi+x7M5KRGGQT2X78IEdnJqGEgK5sXcgUDTUp9BSvCvOwxRxaZ3RElcJRd6RSQhISGWK+HSR00MomfvIZPMxkAbkcNn7GWD/8Cb679bXwnOI41soE9qOH6LH4uyVH2P/W0yB66Ulb3uDyk7KMzcYjxmFQgYXaDOvCXb8Wzpp1fQ+YDJ/jJVo0BY9/1HrjNrdactVCzmR7CL86iYBMoLaxbGeqchAOR7dVKmSvRuKpXygYhUR1QBrnrf/YQGIZIUoH7oKZWG5ATCHYxSJ12hoQuy/wxhEBWc3NF32h0sfr2sBYTzqvhrDbiUGj8IDkaZi7PkutW9fOlEqwBfyfEQQ66CbflNGKCNe6qOsz8b6HivHzcsuuEPANUV8/5mXvtKzpnLgRWT6BZ0deUWQ/WFlWyGzTeDRdpDjXEIZqf9W4nxPEFohTgAT+mj1Lpi88jUAYiRCY8s7dwT7IQLO/CWccVySy0qaJW5Azw/lKksIDpMZS/eWAjP98j2NVaqmOlphawI6FNJ9n3rNbnkfkntXzji6tOi0VbgnIWtdZTMqFHFLMWKSW2lAcSYFpwXw56khGa0wIRJnDDi3hApWfUE3jL3uiwKNDDzwr8vd1HVUFlQDeeDJ2ZgF1sPGTOrMnI2BYn2AJrnQtIpG5u3O4s3z1N1yNgDJBN9EGLmmhvKF1dD0dpwcwEMbA5UfC08FfAFpYJZJlt8frou+NxR5Fjbmbsc8Smxw58FxCmlsHGyPZoEhvMBYXkeYxUdeIlXgXJ3nsKZ/3INSNZpcGqhqAnXzAAUkmrJCbkCnfk5WIjVrqZsBjVqjWar5F4iE0snyTHjRpdrKbEfr4tmo3M9SuGO/7k1akMlsHB42sSdZ7MoWa9QxwULKjtrvKEHBBXH4qy0cVRL1S0dJ94+Uafys54NoSMzSAOq9vSqXA1PLUwTY4fUhtUce5U+E3SnzI5xHZXM0pSeVJPxI8fNEoCRU00e9li9yICV33RLReRL88NrVZ60ActqqebCiZbLnriNdJsTDMkLeOtPSWkDZGFRgezmX9lShBsHSuk4xG5eH8Cy5MJbXLD2ZNqduRufiu1X4/QAVMskQ28IlMhDf9NDEttjuYec8+9pcecqTHmNrNw92v4gu1jY+OziOnjn1GnoL+hkYqCcOFek6toIoKkUR8/lL3lAXlING412p4O8/U1hVzbmkdW52q2z4mLjaNXx1qwj/Ltn2UqizvtWUeTD0HTw0SioJahDyKNGvllbPzpenrocq25Nly57Hhr7xo7fjN+L3hdJHlZyXuQRk6w8oax7/hbebxYP71+leeu6YabrRiVfS46ls44Jdy8epUNvUjl5aHQQ51ALBmnzcCkKJ9qT8krxHNVtIgwzkHK3e3Io2OUfrjl4ORhr8iwYtR78t2RiJlccqTGTTJha1uHhGoUfcJgpHkZupz9DzWFD1i1Ux03vZJ1Ue6Me+g6XW5kisq1ZVnieX79OnpSAntRnyafW5euBRJqE4ngzxAxDVDmpKRwi5Q63ysdSANaIy6Sp+kj0Gll7mvWKZeWpZcJhyN4zFBeKyMq0+4pIybwVkDjoBDKQEVSd5y7Pi7+ucO3iyiO9cgo0dtYS5aO44c6dpk09x6gH3DmFsgsMiKjm6s0UfRRTuUUzURKVCHRLXRYvMp+nCpvzjZcl0RHqeVT/XM1pcCwKW8CCwwfOYrg/8wxqEvVHYscnjaJlGAdDVlhBECtyLVvhu5lcUdcWE9rrO5J2hohsSryf22oE9Z9MhkLCjoPekB0kukgZTDmX/rOPd/p89odqa5smWMuL7KNwpjBpkWSOYaTLqBAUXbt28/HTX83Wc7BTTOewslqsvUVkTZtgaYsJ/t90krZqSwdWg1BhiY5WZiW3xPlL/nQlw2ZSfqNtQH2ME0vAelAlpYH6ndrOO/nb617otZDoC/JxA0jLv7D1GaFckPmckYVygaopYNZZPOwkpw/YjvSUI3plCv7kTr5qCZRsIL1RrivFev97oyvHxJ863n22YDLQv+KHKEdaSpus23TLZP5TdEn1gbviJws2lX04Yn/IaeEo1cDgty8U78wfu2U0N1I8KEF+aPwbIxK1wq9Fl/WrJyeX5293nV/AEj8qFxa/iF51YRoW3gbB3ptBpwHBmbZkNUSdq9sZHDQXxPtcCiCI7DWT8YWm1VbmOnuz5wLDTzymfKf7yN7ruEmZqBC2e2FfOhHOMZ9cIQasN0K103ERlPQXCYqVE3MXPQjD/Rz97pvFyGJKNBbdB4eKo5QzTdxa+IRgqr/vZuk+A9rbXpZvnnUtHtYhJd526v5Kqmm91L5AYB0rHDUv8W+jU2fGn6dIPhf32BQeuA8Ql9irMFY93viGAwT/9/io+fPL6/BpucPz6f5auY94+/E6t+CQl2K8fiwYjP2k0qm55Y1Ehlh/ecsuHGergj+SdyZkDCeBr37GJlBxnDkW2trxPIE9nuAc8ocRlFay1HS/nLHFE6UjuKoXxePvAYj92/hQwsk5WgyOhQ/F85s+/hxsPtNDp5bbvkBT41oAiDzlJ2D8S7BPmCTatzpkxOhQW8t+v6+D4R9aiHDYgErz204kBXbLHQorjvu84MUXJDBq0aGGOlRjvW8ZYPiWKlRwyrvnkiAjvvEOPv3c8UuN3Ec7GwikqlptD0181k9n4AoGXlqXPjbh46tTSLCLbScMRL0D4BZuSFJSqIF80Ho3rCzYSDb1dsHoOn2W14UeM+fmAJvHFMIRbkTSzC5dcoCOxsvSrBVYZ+b/uDizDUJZSHWitXZ20knz4NOFlG2uPAajHZpbvAzPyJhp2us7fA+4CWgr/hlp8N2t5fMKhAm5n5MzPzNcTkIin74MYNe6SrSxTJ9i2G2VXGumQFy5atYJy9dlRbNy/UkkmARo7dgrrDMrAwqQ8zpYdRzh2A5Bts+4cRfFZT6V4gzBwBTWMSaeyxVPC16YqfdUo+IMpTiBQPapydHMDnsIoyQr0mby4z4cS2Y/6SGbY1aBngLtjGqlVlELNWLQoBZpA5ZzFrEPJmMav7hnPuzgoOow6qCg7HDKpxSRNGIUoSRLNsPaJF+SJAN6uuXxjVDZggrB/GIJqp8VhzodDZcuE9wEDLalMA7iWjyK1+KTvUsWSWqJ4pmWCompvW1wpA01h1uU9lVWtGleZO8jdjjF2k5ri6KOMjxJ2NR9oFBIC4w5lGCvPlfBZme7m0O/GHQFwIdvyYSf+dLtCiDh2bnQGPb6pTPxrynsVtfbLJ4C0dTPa9r3kqL+etUeePn66foOnLg6BwsE5g0fKndzlyJU0+y7M10wn5lxaICnDKpUF3v0u1Jst3nwNpdv5YjSOkMvEXcFAWQccOJW8yN5q2+hD2tSSxsAvFzcMZZCc+ux3kjFtpa+6eKL6r6uNgFDHDjf9sKCZx2cRogpRdp44e1yHlJJhQSkGLL5CGL3pGm/s5iwYuTkNHwsgdOQKu1mPUSSGW2ZQOGoiVU4H9tvf2Td1JSJkLym/EdPd2tPV387QzqWtaqPOTpx2gZcvMcA+Px4L7KdBCnR+Jo1itUlmfSi7bADiUzwgN0MJ0D1sdig6V3SfP/dJKvHhJEVwmhg53/fglNKCf2WJK8ybRvhOKJznIewVcp2CjBEOOdoUfBhl4coW2whR/glE9XUBxlUr3/l5u8rpQ2ftJx8ZSM9bOf+rWAB8ezDLJmZYuquEd8YSKqs5ngobmLR0jomxBnijM1zEKVIDJjGp7qD12IxWs1Pb/xfXorvixu7FjqmGj3dX3AZ6rTC1DOl472GrvMKta4nWk9ap3yIVaw4M14wTaHN2bJV7ZYB2/BSDRYP8VW0UzA0vAeLlUyaSO8qvzZeKAueGvK/x4GDeFiUl5DTeHsob7KsrvHjSY2SmH4QfyjY8JVq5o3TjlYNCAhsop7pfvGPJiPHWmKky/i9w4023ITzS0LrlAVF0qPHloM9U8BUhIoJct7Nw/f6ctph0GLSUR8fpED2Vq88F2CMA1PKRotIwFRcLf/45PVE9LzB8D3vdy8seBXmcxqHImjA2/j+fSxZplEGLJHOrVUHJWEahYxb92APlJ6NWXrhGph+oA6HQAuGxBKhdaS+l9HG+FjfeglV5pp/2Rd97eKqbsyiG3Mr+MPAJ4Q9nP/CsW6aL8BuRozpf/DE4k/0sun3hATzsV+LYmby2v+a5z7EL/3XvNSEH5nz67SQcp+zllYxAfAwuAU12H9KIoj/VOyaSs8xlucY2nGs0Ym0ZD3f5ttpn3yqzvBFHYNNjRGfB4Y/9T9WqYZ8l8LRK3Ecd+TsxfNKQzl+/51FPyY1n92KzLjLZ2OodbYt1/DdT1mi+7STAhbNKm2+oyDU0eTPxM/8TN1H9f/xq5p+aqLQfhJfhXCgKsvrunENUwlziwIx/8onwNx3avi9o6bVagN16bTUqzLrFZTw1AtE/qNJY/pT78qm69YFSubrx6GicoqBYgIRL7/quORMHcT24lsSTdt5Hdg19QGtpJn9vJbedrQzFtF8pwv8I/+GjFOfUwKIUxDroLihKgPUS90H9uyXFfElqswTjgS2ow6+j58Ef8AWPf9nPX+4dv3ZjL10ASKskHtSlIX5N9vqEorZZs5wi9bgmV3pYsv91TT16Vs28Ru6Smlsh9NZUmHycw2G1Br0pM12+n4bHVUxVBQmzEx7SQ8jDKJqMQ5AC0Pv9oLCMv9G0q7SZ8uBxzvvpC2mLmBh24IxIKPlCE7zFSDlZh5Mfo8Lwm+kHGXS7aO/7sMr1B6il+2wXTUjbPOC+cfAytfLIelm2ukghaqp4Jkj0VuFl4auklJlgknqOMvlYWCS96of8SsU7uvxaRROldcBowA99SQ+4M2bYj9QYhyxHYjNKiETVzIe32X/ozjvXKXOgy/Yl1p1jDQv8t6rzvzuiZ0wv3u+NMKzbj/jJ0SbZ0z7n6+qzURd6QqxRdNx+qpln9xQWOtI4XRjf3oOXX3Ith9zLrYJ5Qu7ym3PYl1oeOUUgs8J4vrlocd/cbpW7mPVNmESjeomZCs6eXKK/CdAOm4bm/nHLrp8SAm0vmizlkg80pOcHp1xjX6ekQs2zvhWkZ7G0cg6md1D3j2KmZETqCHr441Ld0diour69ZbIVm5p08C0WCzinnxeBGXkPa+f6zt5oVlhfhzRQHbuLhvsuPPJssupM3zm7e7Nb/wAEEnaHbJA0yI0Ph8AoNaOAOGPXE4itphO41YYHj2PTzuZ255Hx9dFOOzGjn66Q1X6LF6ohDiHeVDbgsjnM8ejlNhefKosvj1WBdgjuYRtrjBDLKKOlF76ibUFKdRZWVkygm0iE3IDNIl1BgGMXH/6AWM82D+Fg6y5zIcSrLKJEcVvW7a9WsPtwi98GfeANbSbQiBO2MbrHE7kyWXVbwWnZWzqsUYnlJEd3sBDJgvUO2uy+hojUzHOM+clQ8A8kBNbOSKk2U0xUwptyFuP2DkXOp0Vjaw2FiHPfCIsTSYoxVa04jhwa3l4Q9u/ZQ1JHAvMWzauRbcIfI+O/XqUFAkUSREYjrpszt0n2Lgyd8ni1k9pF6ozR5rK5CYhqcTN0lBn9tbGpAsPOBercq0izJEZKfJKnWYFiUNrC4jlcqxMGZV0rPR1nn7U/ek6Xm0CsP0AVjU+brwhCda/QGYnQa8Z96zvDIvhQv7ffe7t43rywP/YGhdC4QFF9roMY0hSFvkcp1SKqbB4RZQWh6fRUszeJVYitoF4Cl8BiUmNUyfK5IpainVf82a1EwSllJB8V/6z1yn77/NdWj2r577uuoptIw9mcpw2JUe76bzE5IPrwoDxQu/ho6btwqVocdID72kHLUcl/vUcSXabRYXrJsiWavNe/4wNBwCeepgH8LbutGRWJSOchd9u7p6+hni29n48hpfrBlydBgaAgzEe8dzPKESwy1MLOFKwEm75wAStzy1wocfzqjFHXqF5JbFx7njB2vjWwWvEC7QNIRmT9WRAAnsYXg8spYpO5KZFLCiI3kXakIuHh/vn/vam8Q+ABTkFx+AgpWT0mGK/3kYxXz9UjJ3NI5vs2GcDs71NfeCyPFNrXXRWyuk+bMb5u/xZB+Ckzh9c9eyZcYIBoXgQqvAtmLEc96NrVUTWwlyCI70DsRzfNQ3HNfM/iofgJJ8qDemM91H7dKSi/iCD8DWf6Zaqh+AF+8l05TqRtu8FlERUQvSmohraihhCU9y4QKLtTY31B65prjZfRd3fWQN1a6bWMH7GGvrdD+2fco5wC/TET0HWkGkvX16d5aKy/Xz3FZYAiqrnm3/QlskgzM7rzAnvCSZZKpkM7S0x5vecjGsEH/abFGb5YuewETrzAER0W+uqoUHdjjsugK8hCaX4gWQItj1xMGvPUVVGkQ2bFnszi5+XERxJAxuowhoyizUoAuqfDystXY3O1PDV4ZcDyhmsTLQRDGJkTrdtYozxWQ/WkDalImwg/mMiovaZgeiVA878yoik934OGd4dsGxPFc3bgO0S/6gDkdXFXvMODT1OO/dFA27e0zVifGotHPWn1MIC87Png2o77tojTGwoxVmxqRFXXtCk+1xU90ZBtKYU0BCiwbVZBiMTCn+oAI2F1opQFYfJkqibJQm0bYJTVMsBSGZUe72emZmT+NukUf1mM5oJfKwakvfIFZlvVxtWCQ1k5QnULDFsFuOZH2la2GGO1l5YpJk6aAwQXgcmK8oJmKQN9LzrlfWIpwBcEgnmQl2c+MiYkaFsiHXMMeFUQbImclQrt8XdZpkk3ts5WQnBRfygjISqTGLTDo/62hRMt//vYeKGvOUfimNZH/4u1m9IOmK9mqJcRM4Bcrx0jk65nnRigm650dKMBuppZOOFlpp07FCzf6bKF6xgacCUT/UYyXTG92U7e7itaZ9oF8GpGXbd313q/clM3I8Z2Ak+iXIoldut8Lu5EgaHZhqzYzftq9sToJRiDtz40/Mf8SDRfi3OY1vjCiVyi0oxOMGsL1Ny3aJjvbz06QgKDDKQ+YSy5pxuJKFZl/R8pbaHSeQ+riI5tpvIT06J7sj6qHbxUJ2QpWVAZsGp5Z9QC13QTNXv3xTSbW9RN+LAqXNTEVr1Emwi7yjkAEPIrAKmWeKTLxWpPL67s/sxqV0C9L6reF1POMXZFS7mHSsxs0XBoNiaWnA/H4HdXvU4mFjd5+ikzXqDjrhae/inVDrj0VNFYtNacdP6mnknYYQ0wH1PHiNkwQNqTOk0xsVzsBRnURMrTaVyhxXapMz7fXHNHv1bryQCLbz7VHC3bjdAq6kvatH9B99UNO809Mkmn+tlNd8qZpLvCaoThCd1Q5mESw8VL/qBWp9lfl9ls+e6Hyg8P4j/D2H8WeOIjF/QchkhPVWZsoPqCmcvU48iywLJ94q6EjgOoNqAinxxlQ+RCsBh9iR8SzzMZOlh905JyhDv+NCyP0DsPssznZ1hix51/uOQvzp8ryZCOPB6/ODaf/05bn+cLriJNo/9PYfnsQJh60ogRVdaB/ejMJYPuiYOIxKdgYAQHVHi6xSdYwGGnTWQyzjkvwhU+gDLeRBGQe1jFyFzwuPXmP4wi2laZQGdVWGOAvAynkfIh7k+5rqJdmnZaH6hXl2ie0q5Hkg9GLCB8Am4e/+mC5ZY6PU8rlbdMU4WmUmHtFQcJK4zPQF81mh4mIjvHR6jdY+IUosgju7VWgGVgKh+BBTZAmAFXPiAwBw65tsmimTuIy+VTLbJiTrDeOdpGt+2YtNaGGW9ETSW2GfAv6+qsG/gt+ZcZc5CYCOCgQsUZKdkYxH2lZu5B/NDwgoIyTuWuB4L2/WsQ+Z39lAfY4t+DJOtjsfZ67r1p/LpTdAzF+vL7RzXxRNDR3cUdR49kZ++aWfoH9lY+Xs8vzbvtgETUsmhCX9U+vYfLFvRWrV+RwK0DPT31JgnBFyVMM63FsO5pkERH5ihaGIGcIyGUx9/QBUPRTEorgnH9rP7sTDHk+LqfwmqoeeJI29buDyhxvTtGq1amKW07cgkm1rF1yd2oTz671RYnQnKOHDcPA2B3cmZayQboXr1ArKUH0AgKsgSwS5P5wbo+7cPePEmPx9GW7PA1VVBiOHBivdaHiNwRttNWpFFh54lWrAzK9xTFLWitOs17gMolC8GeOiLagVioL/ELLEf+8ZYMpBGQl0XL7aawHZhJN/jNBf5b5O0lHKWXreGmiBt6iS+7oK3DYX0c+Sj7P5hWg4JdDAyh1MB8i7GLE/tpf74GHv+kD0H4Aov4WTd5IXwQ3tk/Wfmcn0/Ja0LVa1B8j+DcgKQUwzjmjLxzgy8qSf1QI+VzI7cWNRJQPzzEzcpAxoDy32qOywqbGTpxnYubhvfeSdnKXA65szq4VMJAaplc6uQChCTnqpKCF7DQbEaaLoWNpUdetIOVQb5MEOEBfyQ98QptDFHl1BtooUPxcWW1WJ3d+8S54ij2whYgPahK2sMsYefqY0waJA3HiWDByBTjqSuBVEQjrWK30okHFd3xZMsmQeB7EVqkAqvWA98/AB4QeAZv8JJtPAHiWLv9YuVe6ADVkua7Rxrk8N4I6MU4iyvnJGncwMqVU1ryRWr/iHC3d9e30vqenqP3wIevsh1cUShHWsy3JOEaTPlmdDt7qc3cw3yq9JXCah9QsxA0AlMZqqr/WERiTHmAzJhk1qhcH51ErfcmyB3d2jim6SS7gW/Mn08D7YMPCHT9fC2X3A++QTAaUJLSHCzuLUJSpzdDdnyU/fqZHw7in4YT3CnZovoNay1dYzOnx5yygz6CHMBhTtgvuUSpqsQsaTQx90l5EXd9TPx8iGm1e3dxGkKvDb8u5+22ZP/jP0cSylk81gtmoOznzEjegRWq06/SgGbpGIBQj491bTtMsnHudsfbeNC7coZJjPlYDTNE/WZyEzvYvo/Y4RBBHBt2nOgihJh5FCSf5dtLe3orfibzUvzrc7G+f3PpfGaTFX8J9n14Sxov6OkEumc2crpFInDFFheUmb3L/f9+peZ1TT/7vTTFXRls3Tw8jBptOnfcq4KLvcWaZOH99tiT2lSf3GMMGhL/wT1vEr5wIy17TMjMVsNjclJknIIaNlhIW87uM6xAduyG2Ddo0Z352SILPUmoV1pLSvBJ+U/PgzLta+7u74+llMcYlBMESlU4QWP8lHylfGO5bLE1ad2GJgOrnsK17GkXE0v0ohaSiu9RQtd0WB4RIDRvRv31jGI+z8vIc6GhLWFLs2SfANWWpRO8q84dDZZpYC9eNP5l4rBjEtBmJ6Lx8q7IUEqNlr3x6rnKE0mB+GIqJ7C/v7a0DUXeH/ce2ugrrmq6ROXZ9sL6pTCHtGn8vE+lp2cyLVC6ZMNaeQkaNgt+p+EsrajgmWAvEOzTwhLgZto9h4VlWDRF/WpOh2zpxcnodtGSmMWnLHB2C8DiLwHmyHcFvTYrqrEzFOxvABYKvu+WJ6Jn8h7mqwpc0gyHicsYEuINCY4urjyu/YHlVBPmDr5JabjRQ4kb4isMb7FGUkZn5t3XZmnJDO1drOKSzMqkq/8xOvSTVcTmLcWVUxHu0HGUKqENIrVFfEWVjr8gfg2cJRz1LnxhAuXrKomd1lCF4MWdDEakSIBQ9dBpbKkwSRm5TvhFogtQsJSNmN1MBBXogroJc+eVE8YqyOz30YwV/1Bfe1LMyglGqVDVEjkhkdmQ/5WnWYWitALZeFQQhI7R3mz4RLrBLKk57ZY68IxoxnM0gNH0NlujMUc8O65r86vw+xfe/90n9yt0TZn6Y56fr6+guj5gOQH4h3+vpc77pweffQYec8NtNQO6/CsOysZsxI73AcfsVqg/7EopBpZ7hTqYiTZBUXCOQJx0PSTwoy2LXRwPc1MFRQh3MDtY4lSsoGl5lUqKxFuMzoLKgwTDI4XrCv6B40x1VekK+RG6Zd2wBdpba/m8AczPwpjsFLkCmeFWbeHiOCUSrI74yJuo7hOzaak1/9WVMjX1vvxd15tN9ItdWbWGFG2fMmfRBIYhXHIo2MGpfUSgxPoM9DjTcLRmuEyZGGDNvrk/HRxtFU7EvvV0CDukZQGY3yMx9qxMQ4NvjaA93Ft8iQtWFyPwA1eEmuPZaIU5Ckv0wo9DIwAfy+dU5kT4+VLQx+i6XV11Ya+Csr97agHu4uz3yp5+2TIhSMRTeoBbKWgLAOdbaN7btfggsX5GyPZwIRZa1WC12WNrPKyer1qgzz/GbJtGFNgvMXPUbaSWHbUr/3qbhI2lpzr9Sv1RSgp0RBVzWYEHkFbvquHkZHs4lGEF7qX9g7cBpirIl5YpUePlQ3uSKzVhpBDqXBMVxenLD1Vxy5A8etgl/MAQ7211cV/3ARBsdDzWJz1lmUoLG8z0QTpBaefk5JlGnfucU683YFK6Be97RptbTHTeb/RC6hubIBU3+0Nxis9lBX+H49v3k+f2W7NTy+fFs5t5OCrIRtyUIaI+Nol6c4QdPyREOzSKuPPEC62XBnFUtQOEeGJTKGi3z6buwiIxcQF9mY8KDB1kgiaUo/ldXP1RsZ8e/dYl17obEsppl+gyz7L4d0OHkSElArktAVUxPjj4TwLoTAveOtfFo6enOjnkHLoT+iSXFLhQ8cmKukVIc9og2mFsoxy5eNiLsRmnG3CcIK10SxjRbr3KTPUMjRNCYWgb6EB2nNszukc3T6Ia+cowaqbsqm7zzmNSHN35Knbwuu78J2CidB3UNIHZyR1YgjPKRc6dTOStMyLOvHF/vQk+zNQv7sOc0NcElXB9yZ9ikt2apnHZxSDbMEvF5Pnvz3e1mNFBT+7VHMI5y4jt1l7ve/N+EI3frodt/11n/FCkBZINmwGhXCk7hhGoNK5xMIvTBoe8ucbZl6mnvH2rgrbehSUn8vJbpbKUepCE7hglbqWzvY1PH5UPBr+QZHhtJNpFkCDY6Z0uJgzNmTq7vaWrs6XypqVmLWTJlIXCn8imS3UBYScSjtspxgG25PsVrBqi5CIvX8KNY+rADkHti/OqpGpdkQGY6kARVvf2zQkWyaW/fkYYSXnbOqbHoL8Al+Qt3YF2SfDJ1TqB9/gPrEwv8z2zR634a0qL1LWR2R9iV5pTcKZwaoRsLAxWgZ9SypqthOvcxmPEjsHLlrcNWYe5xDaKEHjVVhlsQToHhIXKaYo3b4+HzxO6Arjjbvygzs9iVd/JvR9UX3IKNR+5xfENX2BFaVKzAPGXZijlqmMDN2rpK2fUKDTlkPSTWP2wNa/98qZMaYjgxAYW2ObB0CwA92gQ5e7RHAq9tfYludvFF/kEIQvbKhRBKEVqdKU0esz6YIaVknLxSjyKGNiHO+Amk084HhQRvEhfMpADSErfkIvAvT7mYwqbpzZAmK8pyo+B4R85gQ+Y9DmgIwXQGDZUEdqwyuw5BSKzaD229WudHUilIsBxKys6I1Zk8absKFihp994mJwzV393yE3LsAmywkV6ty5wnCnwZZmsusU6xoR6QB/P5gZ+77URqx7iXmRMt0TqFWJcshvd+GPCcyLt+QSH24trbwll2k3ZQues/5xZSEw78XEshZH8/8MBqCY1HNA9pM/PyUka6fYKmRXcqsBq2djvNLiFqtJV1i/Ybcw8vOsIT96tbJFZ4hXfSn3eYFRkf3tNQo/Nge9hNqIMYRfGQ0qi29ky9ui6UqXXoAkrgBj9X44Zw02RL8KQySuaprBQOS95Cxs4HDKZqEy5iD3PTANZL9QuZBBGJR/DWYT6MZF8CsF7bum8rZthFgzbA6vNDJaO3JhWUBbUlWCGu8RIRDWnQXbPtWFKb4Nzlxn8D5c/jkHJtV+qE+bhbJe7CvuRv1cVZpLFQSl3qDhMdiDYtMB6Rq3p6NFoYqSEcb05NmXhalyVj8dZqPXW27PqVhzyFyCFGZxI7qklHWPZTe4HhznY6lQDt6kKyBqkrHD2AbWxZLH2qG0Xy3UAWT2/v7dlt5H33AO5u+Via33LLgukFwh4mhYFfb6u+m3m66ralXqHY0bWyxJVgRj8IjgWuaCIa4FbobDL5MrwHV3n6pW1ekSxehsrGyspFq2b17utvVVzA0yC/AzCwbnFubCwjXoJJIzVhm1/NnGmdcSATA1aeofEZhJ7U63ZhxXmU8gQ0saWlUkOZ2wcxg149qUWTW/CH/94ldcVqt0HVGFWluitu9sToMqRX26s9S5IERGslCjaU7wYJ/TZCpEJ8NE/Iwv6+Tek3Hr0NFsDeKkScJk9in9M5HR4otw0EsAZgEojj0fJFeBfoKBT77fDLLJNWZxK9O2hIN5j3/05FCsUN4YaNXmSs75PIedC4HOxtQWkBmqx/Gs+j0FCybs6upd1p+GH3gispsWJbrycjV3VWuE6nrHMQsl6YUb9norexsk+VGTGb86/RksjDuzfQ/YsdGDOZvb0K9RGcImHLnuPWW18XkxcqePYRDn8ith9g1df8s4PpSkPG4ax1cv4iE7Y9Jb5uQ0lUxqK5GhSoYznUQlq7wHfVEiTiXMuJhir7svB/+dy3kJ4ojjTcTzgMlHTJfTwV+Ry1C68a/8puQ+B1zVo8VHwj7NOs3IGxRIDBGizFFtRk0bIRZDfztwJXbSM2HwKqc5j4xECdh3rj+r+NTwVFjk5/GE60gpOsDoPAf5WRtPHp8scYFpx74pVQSboSCMCyTn9YCkSPkCJESvwEfK375MhB6n5W6r9ExUewy0K6+0uCPT7n9fevJdR6Rx103BqJlkA6EmYrxF32a8LDFdMPMN8TUPHfiuL7BUe4qtmMMziWmNMLCKgTSUnhSyjs6pv/aQYb0at0hkgn0s1VHfjGzotiMVqsfvsP/y9Nm9N3K2WXi+1rWX2W6Mcyhak5FrUDB75/3FbLLA7/IUjr6p/yUaLlXUmtU04IywDtXZW2UxVbQZFX9U2mTn1h7vztWFeLFK5/agNNlSFbIF7YHFYla8CmNZEij4RtT7gTtt2YkUaak3t+qfztFrBwsgV9VHqzXBtBVWWbomqYZN+JJcrZ0Bvog/4tLlT9BUOdahkwHiqjzSDwW9QTrKj+JvUW3qLaUl6sGSq2/g4VyZg2cVZ3qcmRW8gGrv68Q9QAvd7WbRyufr+If0PNJf+YjaJre2jdpfJ34AGsNxTCC5gVmP0DeRrdT1yq61MvW18FE8Y/R+uav4gAG+LtK8jQL6Rnl0gwkXrPS0J/cAWl+TwdRljqipJnnFqs1srQCpUP+LZAyRHp0ZBfK1AL8A42mZA5hLbdXWAYzUayeoQ4CsrkRDAXjpeTBT2v6o55T82t0wwjTXShJggntw+ibjrRr8tprShpX3KOypvN4PxTd1k3vZzxRveQdyVvhVQqt/26gjqLyB8eFLqY+du1b1g2nkX+SpBjj8b2+3zDJbSjqFvzG9/1b7wz7TP4uqwLXsjm0L5KTx3EcY6XKOfZI22qEMDVrWjnzJpXR3+iuvrcdiqEsqM2AO8qrnP6DFpAGxMO7TVAYMTPa3DlOZwnJ6PeJ84AajuQ14jJRcg2UUQ2YKasDNQp1zd8cKX5XxYK31SEocOP2/vXnztLpq0m/NXRm1f8OCGm+pgF8MSlGtMcl9230nfux2LIjrTzY1FoiQJvrKvvMetcYib3GXb5tdXqjPORRc6lt2XEXJ7nfz/d1jVEt03NksAL9DQtO3I4FYF1JLmVd/d+SgnvErcnq9paTPYPgVNgBei9m3j0CVjEkok4RsDaF0URWUNsCAxF3QiofElpf8uNVTrVo9pg7WNO9RQNcPB1P26QRq6iysBkGpbXcd07MizGRbAzIkMtmcw2QC4NiwfkqOpj1J5J82wOPqmf4+gChpiTq1Qkbhnz/Ba17TSBiqvcpWHJypT9bHxIzD5dpk4HFfIEHbxScSdO7wKpYbSRXrUwdwfh6OnFJHcjeaFG4//2FQ1zhx7yTk7uPcW6HlCLyfCTwF2WofJGBOZt1gyoVZkPn+DP3IkOLVSFWOvQABVq9TmNAFUsOs1qHxxICi16LPqhOp9EgQyYgCqhFSoOmVnojR5MiOBe7oIwHJoykMtLdeBYYLSFyh2Lg5hmLTuGuA0aiVXWXLYkSajbPhcKGQ5j9enFVEyJd0/WWyFvMj+oF8cXUYyjciULGBPcqEhOTw5SCZlOSOP2QM4PDfFEcVSkdgxVSZm4TsFfo7GIp03gMxoxs9JzZY5MueCL2/xZ6RxPmDXvA3pAJRZ1STFf90k1NbIlaJ6P1TxSKtIr8lc7CYWUQpR2pnSI+Gg9a/40EWhXoSMQzhKkxLTCRRj5g0e/g4DpzAa6KBc1w24o6XeKAZye5RaO5W7zMr7SAkhjj2IPdM3kRFMESq5Jg/tS6xNokwr1NQ0J8fHDLt9rvlY9NS9t8nSKm2x3c4scpV8vjkkezM6sdSjfgrGQStlAFQo0elljB8aWeTxVmqVQ5ncSIzw++3PqFJLpvk0IkwiOs5z8lj7+CXIik87eoXRUUh+Qxs6xYc68byvwA2xHke0S3WUyTcBbTfXEGr3F5uVQtvje4wpgKIEkbNEmqFrr/JCF0seD+uauboPefHwCBzuXW+/uX4E/yR+9Turz/WgT8X2K/K8T1YePq/o3gPvD8tOMTXuPrlxCCu8APAJ3nf89t7hu3QUHBpt6XDoeZGAtXV08hYuJi/Vvr/5tP/p8RFNx/+dihTZOfnCuK0V+R5cRfSYS3/PZTD8/lMvYL7PIZW9FWTIjgnGoB0UItNxq/mwDI7prVusqObClxCkzjqqSzLrfkGLDfNTb35Hz5sHH9YseZuW4MXD1nnkrJ5bFzZ/2GcQDCuK9umUgLnyAnQeWdTx8vd/2jokuRK0dAqFgqSZco9L21njNiIbMdiMNI+y3QLkeksMD9j6EmPPZqTJ0Jsz0SLFaEp7s8JEgNCDv6ZMXHxfeTjVkRypn9HqlcJdGaM4HULGQ70g2VF97R/Ps6Ul1v1J63nqeTO6wvPSgcLwa0rYXPvwaGghio078cjC3YvKRRxvXhuTLKJfVZF2wlUKJdwz9ER+AKkBXVMJHRiQR+ZeiHsFGp3fUIUmZkNfXSdXQIiTDBOmHkuyGaorqyVr+2Z3H50DGSXfXIThppE/MgJBaQLBD3SvLlmy5n1OcBOu1A146vNyaVMYRZxGd5sUnkJiN7mFGOzEE+iYXwQWVYrsxDBFFFYV1sgkZwfg3tc0UHBA5JpjvnTFv0lRf5bW2PtnyJB5+8PqdIV0/Tz+Srr9IlyilcLYSNM7S4A+hzPJHSQOuzLCAKztLt+wY+0g3SPNJCfRPDFV5RXjad5bP5w8RbdOdkBVzCtEDPeDzr9DriA2A8H3d7PJBJypqOULEq1Dr2X6++S/arFf6H1Zf6DJINjfIcflGeJq3VP5sdgmfceKVuMvbIc18pfZon1Qr3kll1mkMpd55W0J4CN27mWwaWZsqbTDskOqtri3eUWyPFaumwCcWHK5xn0Jixqllpq5xR4z2KguVtneXUrTOzSB08RtRhsw08wnF/t/g0B/fc/TigBchsdOZLYmYkmigY0RvcpJlQ6VJSYUq5x7WA5OWFoffR4EBmANHSZX0b6NF7TPSeyOho3K8Tv382bpO2/sHG4x3vKTAyyoyFfUa3H+amOx6q1EH7YXyEXJKztlDZE96NYnDQ0p2KT1LcNQcTuMr9Eiskux8hDsfIhX/rULk0aF8M9LtmhaSoKY1YT3H+ihy3HL7xak7hLMfgrK+1YWSAEg7Dc18T2gY8fGG5LjeKmqa2hV+KM8Jko+1gXC5X02h3WMgnQa1YYKK0wfanh7/HssnkApi/u8kGBpzeqTEB/4Hv+2VKimv9hkSVyGtQsPDryVKlRBbw7kSzXCpOaHKZVcfdPr1SIbeFtAyYhYAIm1oYLsGjKjgX2poAiOaCpeo7oyjP2nUanrgkfYQ/iQWLTHz9pcsrxYtMk5w3RU7B0RwLB/IDRvP3N2XV9vD/jdxgsBEYMI/EZQcVK6DGNFwu9Q1XU9HZuwXF5d5LLnEklgrsNvDROAMtmmGDMY1veAviiNHkLaUApL9Xy359Yw32oGTvMttk3QLOfrIU3rrGvl7hP9FJld6H6SrExWGLGf+GY1hijihJOyq4T0oTDoUUFT5AOEBaeqIfQTb1bofUvagbYf89Wsh3w8Ion4EkQnjM7YgyVzL1SwhTPzw3HNK2CPlq3Q4F5pzgF2cNGFhgpUdc4DEwY/s4U2/koccXzfS+Jk2FeF5udEZEvX3VFY1ZIhEdOl6hajzHyvsYlXks2xGdJeXL2oTGZ96CyPmpFFlSMGcLQBLuzIwjoMKlyyAYJjr9mPBXn0e2TRwARUhYuao4mYdk32rylVk0hr4bBXqMNIrL8WqNDKxwex63KXvIhBZpmq442Vbi6ekR6G50cf27Z21tWn+qsIh0qbhvdNAhA94hKiGHhXMJmMXIa8F5h5DPo8KpSxSOebldKZKSzOgbk6Hf4/7FcLhplkuLXUYA3CZTy0z9aEgRORV+hK4ippO56EAaq+qcFU1H+Jm6gEPJvNY5iY22QplVRNP9CQQhCaKlK8j2yaAcq9DxgI59pxucyt59dZv3uzSjocx9JQIi6BtUgnKdCwqPvvEQIaszCUYmD1BOYZJxPvuWv4zh7N1gUu4s9SC+trfKcviGd0IgSkuQ2ENsd7FecPBEalJgc2WlGGBDXEiAbzKzLo1LlnS/gZ3SGcfeKakIZkRXxab4qpJxxmw8W75dJGBdDz8ju+qsUwkRpGqbaTz7Obplr4od0UCHkqypSFw6LfdcSFRSrSf10YBAO6317DNtGpd0xbfrY6VWfEKwftayPM0XT1EkQ309fczig4uz37W+LfZz/zq6tujvn0HHUg7DBcKKl4I1G8bMMqyKlbiyUR30j9GeN5rcIzHign6l/LJ9Mj/eoRSBhsC/xd38ltuHI+h+IfxEFkn5ZKIyevIzblrZmHKGxPIHhzO9waekqxf+HwOFWdgilcbc403TbXm7jXKbaQS2CoUGJLgyv0UYafdIWoXgYDOmjOzjTsy/v6Dw77ydzG7AZ9U93au3Ci1LnMPHVanWbUvh+x79bbbIRbGgHRCyjD9UyFPXcwTyjhKWqWwsMFCWoUrCOQ4Oy1P88VvcX4FzBGaOO6dLLLrIz8zENuT6+E17Xs9/Bw/Q1Ulhb2mMJLDVkDV/j1/m8zLBB7lnI76EDzJpVf0P/93/p/GvgPhfO9+d0ypGasvUGezuy4NR5jGxyKHaNY+JulApsvCR6vKxpyqKdDUFFVtFbn5IkmelPc6qYmr7QTZShpK9HDF/uwIeYgfdXEKwsLjvD1O0wLxj8FeentxpzhSdYlaJ1H3lx/loUL7zhDpOqlA8ARdKAAcleR5ufhb1Fz2cpq2UNF/VwoBwzf39/auH0kEOpj3SxgibptUNXkv9Q7pxZXqjmlo5hbifQ9bOFjeojAIGgzRSm4eFbai0v9Ld4xoUt/UiFUAkJncr3j+WhxyaOs4Tpf6K5QwK1gjLAvDEIxcydlGxN3iKG37gBjyerFgBSS3ZVwDSFsWWJxvGmrEALuGhRICsw6hzidwsmX6saorBWOoNerliFpxEahudx0+XUSQMXhgsaVKD4IMcqlhKTTcTCMPURAaUQK4kUyhLpjlVzs7c48+U3cvz7bf3+GCT7dmpjauggA8A2cmqCMfczqQOJdfoMPz339MNyWmW8JvZRELw3OPIiMzbVHEgjuy4xJF0RrJeEw2d3vR38+WuSOqWciiBcPD56CX1M9hhw5aNfs0PxQODZ572lIt0cBslhFYaaTsplaYxBTNqWzcCzPOrElkUNlcqzIdKyhMVg3X/bCLHnbuefdRfk9aSb/DTfHgXharV31FJbUvMImt+dVJPF+Gx1cPlfSfvmEP/pD8xjqv2CljBqxE3GJM/RaEtLF7jXRQV1ZHo5rp+OtEr5fJVQpMgMmXQO+SMmxrGSmHG73L1VpZKleIjajEIj2Zjgh4cX4OCTJfOaxxfRAIuz7r274MDkH4k3VF4WuMhAzpdQTLaNgvKfGIHqaJM3FjhvAuqeDnxpok7sCfG0W4N+ujheoqysOnIrK2a6XoiGE/qm6cfgNOCf5qLdf93CgeAveSnncnkI9MPgNHOi83C7N8XUxy6E9XDE31vX68dxVbDBsU/tl/OLUnhUJuRm2FR0CjNH4tiGfHu8T4AO6lr3BsJzRcVIBLkX65AJM5CT54pfJnW1Al//E1O7LaOLJpE28QwWInSfqmXYgtLw9/f1Edo5AIctyfTkD6VswjaMGspfo3mGdvdjCjgYTdUo/M3ZDs4y6+1DZBYPGA6+2pXChQdTroZ8UpaG58jO2RSsy1wfyrmQ0gZ3eOdSmhw7GqR+3nUe30Ib0QS6XFv68elppa9EM/VMEvdk9uuwygpB4sFrxslrUVZSympit3kfOau2yxCiIHpjfe21f9pOvDhzuSt8TnwRcy4z6cmZO65nyB45e75xefu+TKgxNn3OO3Q0DxJqpS4oQJxDF+P3KrCgp4r0UQDg9O48fhX24qItdkjmzmhbcX+kriepFnKP8UdsIHgsCJjYZHs6LdlPM+lqPPXeJ/sFJZ/olequYFqDd5ssk4VbxKTzaMXYZca3B8P8i/7+2SB+v5iur//enlyv9hlNwa/meeB7kjShLa8Jg3PGXhrOTGTl5rl9w19rVEhGkW0fcKK0elIxJV2ABEZJlGPAR02fqV5403qvFauyI1n1CalcPsulk8Kh7akK34ML/NGe/HQ/lhJ2iySXQXF1tLbKoYdyQxJhx9+GA8h/DAesjnKHO014NM/+1ZSf/wsVty0vY7seQWZ26nxQwTVXdzMkArgUNd8147crw4vbvkJldLISlfkkU3t4sMemIEq0/4DTbhrrLvQeI4oujx4DCWe7GWjFQk60uJPkC/5vp6XKcWABZr9GnVqrSGKkQkTsa0CSRSLJuqXLGb66uzb+77XylgNTAlRqW5Jx38CvDMTuTFGm/7KUF2wZZzwhPeeHlzTPTN6OqJXWZNYA23GXqfsM/2NgJUADmwvQl6lnbKSSB9qxTY+De+HDgeG0xfvvSy5Y9C7b8DE7tSEsQD/KSEAcvCE0k5iLtvHM4JTZeC4pn5RBwDrKKd0JK2gBvvUmUlIXdIQV2g0LGAtaRk35isGnSInWJUyv3RFfbWyNycsvL0hnDR0KRq9Wz1YhhLBfAfvZe8rDK0CM6RjoCsmTP5cw3BLaWDz8Q2SWxmg6T4iQutB65shAgCRAACbWSgUWqNZJBXGP0/HDz2qjsaNjj6djpDv/x+42aN/Sjnu+/H2aefyQffTp+mrnf3b10k1/0tWB9WvtvUlQUcN+U/57DWT38OsE7mSudkWjTJQeetL/COdDw+f5Ejdo56KOaCi8znv/2nVK7YDFy6H+eWJDhX8ngcb99Qtoa1Lraeu9GAsNZ85mxT9hjQx2TgbTG8SsM0yuTN9dLQH6t/6qrkz8WZTvar+xl47ZJB0BFvjQB27FLZavhA1A5XkvKcwxYTEIPrUym5LelItndBt2tTdAyRIZJNX2bb6IbQi0TuvWSUfgBrbnQ8AuF58PrwN/IU2iIM33z/hitwyA7A3BD0eOLuGJKQYieXXZE+Q1JhSTIPgeog8qaqhG73cjQz4ABSZRER5TbvFwHExZ58TmwUaFLbj8xmtcDqxbnbUlKK9sGjNMU6xp/3ObdiIhUzMtVW6alBtltG0quEW9mxXIYS5++IV2u+GyPMQ2clVyBZiwzZjvupAgVw8CgDlmpiY6AZ3pB4ZxOQTSILmfKtThPXTRtbRHcCKpAdNQyVDnACdbLnle59KuifGAuK5GldXORUQ1WZlbTo+0AryCKJ6RGaEukKUOt/U7QuRyiT9JwavTh/vHu7eVTdf/t//Qf5/C4yPtf8DUvQX2gplbmRzdHJlYW0KZW5kb2JqCjI2IDAgb2JqIDw8L0NvbG9yU3BhY2VbL0lDQ0Jhc2VkIDcgMCBSXS9OYW1lL0ltMi9TdWJ0eXBlL0ltYWdlL0hlaWdodCA2ODIvRmlsdGVyL0ZsYXRlRGVjb2RlL1R5cGUvWE9iamVjdC9XaWR0aCAzNjYvTGVuZ3RoIDI0MDAvQml0c1BlckNvbXBvbmVudCA4Pj5zdHJlYW0KeJzt2jFOW1kUgOGdIMRCkqwC1mB2gFcQNhAWYPpM7961a9du3Vp0mSPRRBpAnvkVSx6+T7dAfu9Zt/p1zzO/fgEAXIbj8bgDPqXD4RDrsV6v7xeLm6vrWcuHpWVZn3B9+/J1CnB3e/u8Wv3bqmy323l8vmT+KDkC/h/mcPL042mS8tfPnyc+MvdPRubBP7ox4OK8vLzMnDJnjJlZPr5zJprJyH6/P8/GgIszMXn8/vjBDTMEzelFRoCP3d3ebjab967OXHP6EAR8WrvdbmLy5qUZfOZAMnPQmbcEXKIpyZu/yMyHy4fl+fcDXKKZX55Xq9M/B/in984eUxIvSYAT7XY7JQEiJQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQG6D0ryvFqdfz/AJdput2+WZApzv1icfz/AJZqDx5tTzPF4vLm6fnl5Of+WgItzd3s7x5I3Lz39eJp15v0AF2ez2UxJ3rt6OBy+ffk6Y845twRcnAnFeweSV5OauWe/359tS8BluV8sThleXmPycXCAT+j1d5nT34FMRmYIWj4spyrewQLThMfvj3PG+A//dTYZeX325urasqzPvOZcsV6vj8fjn8gUAAAAAAC/+xt439y+CmVuZHN0cmVhbQplbmRvYmoKNSAwIG9iajw8L0NvbG9yU3BhY2U8PC9EZWZhdWx0UkdCIDYgMCBSL0lDQzEzIDggMCBSPj4vUHJvY1NldFsvUERGL0ltYWdlQi9JbWFnZUMvVGV4dF0vRm9udDw8L0YzIDEwIDAgUi9GMjYgMTEgMCBSL0YyNCAxNyAwIFI+Pi9YT2JqZWN0PDwvSW0zIDIzIDAgUi9JbTQgMjQgMCBSL0ltMSAyNSAwIFIvSW0yIDI2IDAgUj4+Pj4KZW5kb2JqCjMgMCBvYmo8PC9Db250ZW50cyA0IDAgUi9CbGVlZEJveFswIDAgNjEyIDc5Ml0vVHlwZS9QYWdlL1Jlc291cmNlcyA1IDAgUi9Dcm9wQm94WzAgMCA2MTIgNzkyXS9QYXJlbnQgMSAwIFIvTWVkaWFCb3hbMCAwIDYxMiA3OTJdL1RyaW1Cb3hbMCAwIDYxMiA3OTJdPj4KZW5kb2JqCjEgMCBvYmo8PC9LaWRzWzMgMCBSXS9UeXBlL1BhZ2VzL0NvdW50IDE+PgplbmRvYmoKMjcgMCBvYmo8PC9UeXBlL0NhdGFsb2cvUGFnZXMgMSAwIFI+PgplbmRvYmoKMjggMCBvYmo8PC9Nb2REYXRlKEQ6MjAxOTAxMzAyMjQxMTBaKS9DcmVhdGlvbkRhdGUoRDoyMDE5MDEzMDIyNDExMFopL1Byb2R1Y2VyKGlUZXh0IDEuNCBcKGJ5IGxvd2FnaWUuY29tXCkpPj4KZW5kb2JqCnhyZWYKMCAyOQowMDAwMDAwMDAwIDY1NTM1IGYgCjAwMDAwNjU1NjkgMDAwMDAgbiAKMDAwMDAwMDAwMCA2NTUzNiBuIAowMDAwMDY1NDEwIDAwMDAwIG4gCjAwMDAwMDAwMTUgMDAwMDAgbiAKMDAwMDA2NTIxNyAwMDAwMCBuIAowMDAwMDA1OTcxIDAwMDAwIG4gCjAwMDAwMDMzMDcgMDAwMDAgbiAKMDAwMDAwNjgzMiAwMDAwMCBuIAowMDAwMDA2MDAzIDAwMDAwIG4gCjAwMDAwMDY4NjQgMDAwMDAgbiAKMDAwMDAxMjAwNSAwMDAwMCBuIAowMDAwMDA2OTU3IDAwMDAwIG4gCjAwMDAwMTE1OTggMDAwMDAgbiAKMDAwMDAxMTM3OSAwMDAwMCBuIAowMDAwMDA3NDgyIDAwMDAwIG4gCjAwMDAwMTEyODYgMDAwMDAgbiAKMDAwMDAxNzU5NCAwMDAwMCBuIAowMDAwMDEyMTQzIDAwMDAwIG4gCjAwMDAwMTcxNjAgMDAwMDAgbiAKMDAwMDAxNjkzOCAwMDAwMCBuIAowMDAwMDEyNjk4IDAwMDAwIG4gCjAwMDAwMTY4NDEgMDAwMDAgbiAKMDAwMDAxNzczNSAwMDAwMCBuIAowMDAwMDIzMDE2IDAwMDAwIG4gCjAwMDAwMjk3NzUgMDAwMDAgbiAKMDAwMDA2MjY0NCAwMDAwMCBuIAowMDAwMDY1NjE5IDAwMDAwIG4gCjAwMDAwNjU2NjQgMDAwMDAgbiAKdHJhaWxlcgo8PC9JbmZvIDI4IDAgUi9JRCBbPGIxMjZlODIwMDdjNzZhNmUxNTFlNzQ0Zjg2MjBmNDJmPjw1YmZlYjU4YTM5MjllZmRiZmQ2ZjU5MWM2MGIwNjc0MD5dL1Jvb3QgMjcgMCBSL1NpemUgMjk+PgpzdGFydHhyZWYKNjU3ODIKJSVFT0YK", + "contentType": "application/pdf" }, - "packingSlips": [ - { - "purchaseOrderNumber": "UvgABdBjQ", - "content": "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MSAxMjkyIDk3NF0vSXRhbGljQW5nbGUgMC9Bc2NlbnQgOTc0L0NJRFNldCAyMiAwIFI+PgplbmRvYmoKMTkgMCBvYmo8PC9EVyAwL1N1YnR5cGUvQ0lERm9udFR5cGUyL0NJRFN5c3RlbUluZm88PC9TdXBwbGVtZW50IDAvUmVnaXN0cnkoQWRvYmUpL09yZGVyaW5nKFVDUyk+Pi9UeXBlL0ZvbnQvQmFzZUZvbnQvRUFBQUFBK0FtYXpvbkVtYmVyLVJlZ3VsYXIvRm9udERlc2NyaXB0b3IgMjAgMCBSL1dbMFs1MDAgMjYyIDM5MCA2OTAgNDgxIDc2OSA1OTIgNjAwIDYwNCA1NzAgNjQwIDc3NyAzODMgNTA5IDI0OCAyNzggNTI5IDg5MyAzNzMgMjU1IDQ2MSA1NzQgNTgwIDUyNyAyODUgNTg2IDg0MCA0MzIgNTg2IDU4NiA1ODYgNTg2IDU4NiA1NzUgNjA3IDU5MCA1ODYgNzc3IDU4NiA1ODYgNTEwIDU5MiA1ODggNTgwIDM3MyA2MjEgNjEzIDUyNiAyNDggNzA2IDUyNCA1ODggMjQ4IDYwNCA2NDIgNTg2IDQ3MiA0NzZdXS9DSURUb0dJRE1hcC9JZGVudGl0eT4+CmVuZG9iagoxNyAwIG9iajw8L1N1YnR5cGUvVHlwZTAvVHlwZS9Gb250L0Jhc2VGb250L0VBQUFBQStBbWF6b25FbWJlci1SZWd1bGFyL0VuY29kaW5nL0lkZW50aXR5LUgvVG9Vbmljb2RlIDE4IDAgUi9EZXNjZW5kYW50Rm9udHNbMTkgMCBSXT4+CmVuZG9iagoyMyAwIG9iaiA8PC9Db2xvclNwYWNlWy9JQ0NCYXNlZCA3IDAgUl0vTmFtZS9JbTMvU3VidHlwZS9JbWFnZS9IZWlnaHQgMTYwL0ZpbHRlci9GbGF0ZURlY29kZS9UeXBlL1hPYmplY3QvV2lkdGggMzc2L0xlbmd0aCA1MTA4L0JpdHNQZXJDb21wb25lbnQgOD4+c3RyZWFtCnic7Z2/rhxFGsUnu9JKKzmzLDkgsmQ5cWRZkDhBSEROECIjQIjQgYHwBrCklhaILQE5knmAEd4HMJcXwDyB7xv0np6zc/abquqenp4/1dM+P5VGM9PV1VXVX53+qrqrummMMcYYY4wxxhhjjDHGGGOMMcYYY4wxZl9+f/ny6Vdfv//Bhw5nGj77/Iuffv6lth0ZU+bN9TWs9OIf/3SYQbhz994fV1e1bcqYDSAyDx6+V711OBww3Lx121JjJsVHH39SvV04HDzAq8EVpLZxGdOCq171FuFwpPDv73+sbV/GtDz96uvqzcHhSOH9Dz6sbV/GtHj4d96htn0Z02KdmXeobV/GtFhn5h1q25cxLdaZeYfa9mVMi3Vm3qG2fRnTYp2Zd6htX8a0WGfmHWrblzEt1pl5h9r2ZUyLdWbeobZ9GdNinZl3qG1fxrRYZ+YdatuXMS3WmXmH2vZlTIt1Zt6htn0Z02KdmXeobV/GtFhn5h1q25cxLdaZeYfa9mVMi3Vm3qG2fRnTYp2Zd6htX8a0WGfmHWrblzEt1pl5h9r2ZUyLdWbeobZ9GdNinZl3qG1fxrRMR2eQkxcvfnv9+m/k6vr6+veX//ns8y+q5+p4hf3mX98hHLuMte3LmJaT6cyDh+9CRqAexddfornleUPk6oJwpACFOU0ZT2tNxpQ5mc7QUSF37t6Lm27euh2zhJhofY115hDhlLZkTBcn05meg0Znpudl39iEVjmP/pR1xrxVnExnvv/hf+96vrr6s6vR5ZuK0fClulDsGawz5q3ilOPADx6+WzzcwEYnpbLODA91rMqYTaZwv2lgo+OgTWOd2SXUsSpjNtlHZ+7cvYf2wrtIcDY++/yLm7duX6z9liRlROaf2JqkE7tUjMOQDBdjK6P99PMvMdrWfOomMkNxFxwL+cdWJM5RIN50ZonyBJOCqMh5fCSCAiJBVBTS5F79OvPRx58gArOBfZ9++XVeadYZc0aM1hmJQ+T6+hptRIIQ4+ctCw0Q8XvyRr+leKBITyaRQvEQr1//HUVDGS6WKG/j3MTRJJQ33kqL9Ykd4yaBGoCaJbXRv0uzUlfrjDlTxumMmkk//Tqjf7qgzqi7NOQowzOZZ6wLSE3ipWhTfgjVJxSjX0VJ1Bn4VD27jOthbc2AMSdghM7gCq7dcU3HTzRDtBF8Sdpdv86oOyMlwaU87+CwOxPVgJ0ahS5PRvGZrPpZ7OvFmCgFvCbkX64LvsSyoOfS33jZx0FQCtEtUXcJn0gqborqoSPSLdT/yDP2Qg6tM+ZMGaEz6mWgvRSHI5R4v84M2VRsMlvHgSF6iozcFsdYdipp1KWYEwhC8WGeWAnFCEgwL7L09oAPCB3ITIzZi111JjbhYnNAgopQS2dw9VfkZDB5p9CVsa21JxnpeiKomPIxbqgdyEyM2YtddSbKSLEJT0FntjbzY+vM1qwWU449NUQY7YZZZ8zU2FVn4rjHViGqpTNyDIaPnaJRayCIIQ43jdaZrmkUxSLn48C8g2+dMefOvHVmYAdk6y2nnXQm1kBX9XYVuXiX6vXrv0eP2AyzAmOOy7x1Zsg9muT5HHS1eOco/rmTzkArtlZvT5HpWeWP9Pj5GXO+7DM+U3xIdVI6s7XfFIe1X7z4LRkSkQSN7jd1+SFDiozqRQaiezPCq9nLOIw5EPvcbyq29ynoTHwQpT9mvAGdj7uOHgeWOHQ5IcPnNyFXccKFdcacI/s8P1N8Jj/eU66lM1sfX8kP3ZS6gaN1Jgpd8bbRTvMo95l0eQATMWZv9nweGO0IwsLnbNGik2GNw+qMHqNNnprLA5q2PAp8ycuICGz+UZESzcReOuKuOhOduvxBwTixK6bcNVlyp+Em64yZIBXnN+2qM3oqpgmjtZzinUeObhXjo5FyOjb9Me4Vu4HSTM5EiLvvqjMXm9OykDKOy6Mn0yRjys3q1hKndUPMc+kecbKGnCZjjs1h52ujURyv3xSdhCFF6J/orb16onWNJw+pvTiuMjDlntw2vt9kzpk915+BqujBNrr9xxsHviit4YBdemYW8F0tSZHpXcS+TL58BPZiZ7CYsYG1h0MUU0ZF6d53TLl4O7tZOTnJRE7rjDkvDr6eXhy9OWzK+wStQ9UvSl1rVR3q6EMi4+hxFa/RK1wxVDQtY8TBdUZDN3vOLXI4SKhrXcaQw+pMfBR2Bqv4ziBUNC1jxAid4Q1fLggcl4+LYxFdz404nDjUtS5jyDid2Zpsz+veHE4ZTmBCxmxlhM7cuXuvZ81euDpTeFfLCQJfkcB3GSjElxpMIZzSlozpYrQm8Ka2WpmeLhuRFJ9Jq94kh4euG9AHqdjDhtNYkTH9TKE50DvqfxJmOmHr+xfIRIbBj2w+xgxiCjqDXkackjxltbl567betsBhcAV4d9HJGf1k3WFDJbMyZoMp6Izar3IFtZnOEMfwMGQlvROHGjZlTMpEmgNDMtUIyjPx+1YcpJLrEnVmIrf1T25QxhSYlM5crMaEkwlBfFZnap0p5DPOnKL3pVUm4nt164aTGpMxHUxNZy6yPpS4uvoTnkNdweFLEBIl1FxIzbkY9+7IY4RT2JAx25igzjDExaAS6OHwfbsnyAmfk4H3kueHS9YopiJMx/s6rvUYM4zJ6szFyrHpX0OmWS9gBR047Lgx7x/ly1JFkhvxmqg+bqEY64yZMVPWGQa05YHL9zWrts8nBrWaaL/Pg8QZjbeqsXuPsMSj5PXGTMKlmY4zY50xE2H6OjNCbY5HUWEuworEE3lsxjpjJsW56IzUBl7HEJfjsHAJvp6uGe80TarHZJ0x0+G8dEaheN/nGKAXBg3ZOuDM8Zzq1WKdMdPkTHUmCs73P/y4dVbjTsBfgoid7H6WdcbMnnPXGQUuq4teFTyQXWWHb2nhfPNJjeLuH45kNsbsxGx0Jg9xQW+9lCGZAjkzVclDbfsypmXGOuNwYZ0x08A6M+9Q276MabHOzDvUti9jWqwz8w617cuYFuvMvENt+zKmxToz71Dbvoxpsc7MO9S2L2NarDPzDrXty5gW68y8Q237MqbFOjPvUNu+jGmxzsw71LYvY1qsM/MOte3LmBbrzLxDbfsypsU6M+9Q276MabHOzDvUti9jWqwz8w617cuYFuvMvENt+zKm5Ztvv6veFhyOFHARqW1fxrRM543zDgcPU3jjlTHk6VdTfCGIw57hwcP3aluWMf/nzfU1bLJ6u3A4YLh56/YfV1e1LcuYDSA19mpmE97/4MPTv7LTmIHAOL/5tn2HkV5H4nBeAReL31++rG1HxhhjjDHGGGOMMcYYY4wxxhhjjDHGGGOMMcYYY4wxxhhjjDHGnBN/rRgYeblcvnnz5pjZGQmK8OrVq9q5mDSon+Enuh/XttmJ58+fL1ZcXl7i56M13Jr/RMwbN24cylxH5Pb+/fvIwzvvvIPv+v/XX39lKZ48eVIlY9MHNcMqQl3tmRSuNa5tQ2QMIMoCtQJQPR4/fsyf+IKf2oWRu34i8RMXp9kskYSR4HssFP8BVfLZdFR+ksMTo/Me620gz549w14S9ry2zVtLNHVdd2Dz+pNGAu+XHgvd4H6dgb0hJhSpStcpmjdKF8UT35Er/M+2oLKPaFMHIVY+BbyprTOoGZ67Eb5okvOkts3bTDR19HSoDJ9++mmiM4gWL/39OgO7YmTZKv5BmkgKUibnQWkimqRJ3XlsRWT8iR2xey5Z2Av7ci/szgjYXa4XNiW+CnfhNRff1UdgTOYW6cRk86xyK3KFY6lciond8Z3tCzH7RycS1yvWbdQZHIUJIsNdzT9WF7s8+GSe+ZPOBovAE/R8xeMV6iUl504nnTVA3UZSLDV2pIaw0phz9FUVU7Xdc8p0FOQBezHlWspvjkTey8DZj//Q4GVFNIB+nZHvzYYTVYvQ8JRmBFqX52qRdcHyCPfv30fOdehYonwvWnJ+CDQEZKCn+D1QajgulOw+sPIZOX5HiZIEF+vai2j0LMaBxPE7SqSBKaQWT1Ce/+Tc8Tukg1+oEsmOVJWeP+USJ3XLUxbtJ8+PmQcyBtoAL0bxdO+pM2oCSF/+A0iugHETL538Do3C9+jnEFk+NqklIibS0SZ8SZz2aPn4P4kZfSH6BvzOq3Axq8hePLqaNqvxyYohla+cqLpY7Whr/Imj6LiU4gjPHT5xUJ3HpiSPrEYVjc5MTLaoM4LnArB0yiqSVT0gHVZvojPFU8b6Ufp02+JeZh7EmwLRouSE7KkzSlY3qrQpSbO4CUaLnCSdBQ0fsWnoYl3MarGwXTFjg1UN5FmN5dXR2dfQpiHjEsoPYkofYg5VJ0xKW6N3lzhpasLcGt0hFbNLTKJDmGzigwo8EVAV9nRiVpO6Tf6JTnIeuWeTmQc6rfgiM16sLuLxdI/WGX3P3fIencn7C10tK/+5j84sSvTrTDKYnLgQGt3dWvlFNzJp9cnPJJGIfB55RIu1M5Ono+5MPF/Fgbim1AseojPRbc4jF+vTOjMnoqknTnv8PlBn2N0uigk9ZKlHv84wWbgKj0q3WePFEd+P4c9wTJL0Fz/RmWblbqGwarzNavwEPyHjiWMWKx8FicMXjzYfJ0j8mdiLTJozYYQkTQ7ONJmkx+L064w6hkiqX+3zf3pOWbE+uUlV5+f9zppo6smmniYp64W9wQBk//wZbTVebWMXPo7PFPtNHDOJox8xb4qMCMoMXaYROqP4uljz6IDX34E6g+8cneCOiqPvSZaSyo/DuWplqjFVBcdeIvF0PFrTBN8jDuQmtdfVUyvqTBxQiuMzTeZW5ePAShn7JhVSrM9kL9+BOmvG6Ux0nuMgzKLkeycjP/QW8jSLXpB2STyB/OaFLqPDdSa5u3S5utcWO48y/uE6k+xLLy7pPPZUftLqm6yfggznV3bUZ14bURPiiBa+Kz95slv7TXn9KKvJWFBS2/F6lOwYj5LsJY/Ot5/OGrQseh35AyrRA4dx8md8JAa2pKcg4k/skqSpkUNEUApJmsleevwjPmiR5FwPe8Sml2c1L6ziKxEcTkfRofmYTZ5m7FIpTcXUkyrxKJfhMZKeyteBYolUe8XniLSjaoNl6areqDN6gjeeqZilWFLlWXvxELGYrDp8YlNPbV+un+ohxfpU1w+H85N+xpwdxfFkY4w5INYZY8yxyTu2xhhjjDHGGGOMMcYYY4wx5m2Ds366tnItCz0gF+cvHDVXfJrXcwSMmQGch9jTnDlRIs5DhyhhLz29f3mcVZGtM8bMBs766VnClzMd4trmSds/khpYZ8wx4HQVfqevrnkry9V0SP6p+SnL9TKzcXfGyf/kz3xmEA7B9e4erVZ24sNmSiQuNbxcrzeLT0XT+r345EG1kq3QEZnao9XavHqqjSvrLsOSvMVVC+JiwnEB3nyxX1WLEuRUIK0zHJPlSg6ahIiUGe3ZCuZctcHyLtarYMWFkfWPMqa1jt+siBUV889EtC9iKtvRj9L/caVlY0bA2cRsZRwE0KABr7mcAa1hAcbHJ39qVZZFWBKKs3ppw1zwRPHJYr0AAicIc+tyPc+Xm+Kk4BjtcrWyZVy6gZMBi3OQWQQlqHXata8S19IuQjPKtVZDs566zkUnFmEe+mVYmy5ZAJOJRKWlbvAfdqBizLhKAzUzKVf+j84LM4Z0+LRwUlGa0K254dxXNZCs4cDzGJfXMGYctHNerbSCAdsOTIvSwcZFz4G2Ry2ihsTlu5uwJidlgW0qeWdZfFqeTaNZtyy1R9q8XmGgRhH3ZeaTychc0ObViqh+zElc50HeiDIfoUbFnLNojzaXgZL6LTZf4aQ1uvOhGOZQxZf6MfOJzijBmEKylT+Tpf/yiroMy3dELygmFWPmFwhjRsOrXrOyeUqN1qCOPsnlevlcjS3ExiU9od0iDrWoeCnU+gN872RsWRINJq5dYgPX0g08aNSZKA5MIW5dbC6+pP+Tn6qW5H4Q22D0TLh6VX9uE01IHLwYs1m/GDTfq19n8pIWKyrqjOJw3/g2nMSfQVY9W9PsD7VFzRwNB//Qh9E1ESaH/2mu9C4oEepuUIKwF4cI2CT5Z3JN1NLBWgtuJ52hjlEb6ThpF+Y53pHZR2cSBSgmqB2H6wwzqXZ9PJ3Je2RFneHZ14mOKeP0xdXsPWfT7AMNUubHN5tABKIfroFH9ejpOcThQcoO3zWgns5icy3cZi0U2jFpWVt1huqkRZwWm2tmRk2LwyDNuvPFQg3RmTgqRfJ7McrVcJ1J3KTk5zidSUoaCxUrqsefiYP/ybGQgrzcxpg94PWObVBLTEe70vrV1Aet5BnvzGplfgoLnZY4qkx9oCBwnISLVO+kM2z+f62g1nHpthsrtLAb/qE3hfi8axMbS5fOIBo7j8oAew2Aa9zpKGp9l+EtCXlum82Wm2hsEwT8cv0Gt+E6w9ttKqlWX+dqeBJ5lb2oM0yKy5IDVunl+q2XcZTbOmP2hHYo+6dcJH4y+zjUEBlnjCBr508ap96zplsecQlfNtsR/SZCKVtmyxEXI0dvp0tnKKfUxuTlmEwwWchXYjJQZ/LHZqRXi/X714boTBPW8i2WlGqTVFRRZ5rN9Z8VU1cW/e9+k9kT3hqOa8zmz5PwaRb9XJbW711uriW73Fw4N9m0XL+5TAvJLrOFdospMydSvLiUbvRnkmMlC/bGxONPOgDJpuXmLa08wZ7cMj4dsMW2F0Itwm21WMNdtR1rLFnoWLlSRcV1hpOkijGVYB7fGDNNiqMoy9VbtyjssXdjjDEjKDoS8XWTW70dY4wZx1/d75ExxhhjjDHGGGOMMcYYY4wxxrxV/BdAuo2VCmVuZHN0cmVhbQplbmRvYmoKMjQgMCBvYmogPDwvQ29sb3JTcGFjZVsvSUNDQmFzZWQgOSAwIFJdL05hbWUvSW00L1N1YnR5cGUvSW1hZ2UvSGVpZ2h0IDE2MC9GaWx0ZXIvRmxhdGVEZWNvZGUvVHlwZS9YT2JqZWN0L1dpZHRoIDM3Ni9MZW5ndGggNjU4Ni9CaXRzUGVyQ29tcG9uZW50IDg+PnN0cmVhbQp4nO2dP6jj1prApTLFEl91WXhEXFevWDBcN4FAVNjFg8C6mQtvCYur6ybw3Cz3FsNDbKXigWvDA3PZYsCbrItU8wSjZqpZgQcCad5ovSTNQBi5mCZDCu335/yTLNnS/X+z+kI8ks7/3zn6znfOJ+lmWSuttNJKK6200korrbTSSiuttNJKK620oiV8+sXH1t3I53/65r5b+0Dk16ef3xFzIZ9+9ff7bvMDkKe/tyzXj7Z3VFw061nWR1/fUWkPVn76g2V50d2WuRlb1mff322ZD0y+/8Ryo7svdt2zPioBv1n4/mpz57W5e/n+I2t0VwomL+Nd8Nspq/9xSY0W/qJwpQPa8ZbqFmEt1uJkhiclMSJ95lMEfzdalfz0iTW+Zh2vLLvgQe+7ngc8e7uxPcvLX1gjjs3tVI24z8TJ6Ba4/8EaXbOK15Cx9fv35jnUGwfBtqfbrGWHO90bi9upGXGXZDo3z/2p5d6PkmHxrK/MU1fojW2ZAtnh3rPgzrilmxWoelaHj9d4fIA7S23uf/9oN/FdysayQn22UsMX7mwxHNaR1LJF7pB2NpJs+IqIG2mLeBup9AVZ5wOivBUNVH2p4Gd0XEzG3KPITKWjbfIBRfna+tdcU6Y9vKV6Ptch8n1/lq1HHbiCp3QgqxeNXYo703GlLLjJMxgl7liUv6Lr61wWIH+2vsxVe6OOKN0Mb3F3BUeo9Tuet9CxF8BlJtlMvcUW1bC7zlaumpjXHlaxM+UYUlTGnRlH8vjUNC+QqlR2I8uTQI1kGGMBpx2q0oKyldEirELHr+bes14ZZ75aTnaoNVTrdYctDGwngebaTVVcd51PK3ThqiNOuDmYlyfy6ukGvrU+0gvXnbvZx2kW0gB4kZnRlhHoorVk41lTzttdcURkvcEJGtNPZWNk7Shjl7Pjoc1tzHH3hILvWL4AWkg24mSrrKDfIaiD0aZV2L+x/ukXfTYzyHW2sqqubLEMGuexC9ujyD3SZ57iLvPSDfzlX6y/GNzzZsyGYsIs28Ebumf1omijQ0m3u0L5QPa9KMMh3xltso1LdRiT3sKLGZqhJB2cOdac8ZjuFqzpdJutXbPXkbvPSmxNh1ZWkgzuqogyzHN3aWSNtSFalD9Z/665b2nAuALOLDOHiCmdTJhwPBZ1hytxZWadHndZMS+tlH/5D0PRWAUNPuXZdcMlFPR7RFfHApbHKmotJuQZ6akeD1hzBlyIVDSuttR1kTBcZuZEiWkiBgfXBdBiMlfkuM5zXwl16VYO+M+tbzT3mRyJI3nArHpTMUzdkStHMw33KVt8zBUmEhBP9gNlBr1OHYS15RDX5yyUovnljfVxJfeeqHhP9FwudEq5LAQseauIm5tRC7VkcAdkHhHhO26M6LgDCwYKnfDoA/UugBaTUVFbimVyn4q6TIsGmNHQ/y1w32ZCRXiSu0cDjg+2JncatL7kLmsruozwRlRHi+52T3QE3wiqgb/8/Dvrf/LcFzz7rfF8kTHU8S73Hp1uROtlYA61UEsrXd6Uh6KcFXAoK9673FnBg3oXQEuTUXiOuye6x69aTafWPxjc0ehaK3qK+2rngOIKmy3HfUu0cUGwkR2k7iJP8OcDg/tn1os8d5/vrogmTbqLeqI2JveNgODy4CrlzhHR6IgUTQxeywukSaq5k4Jf85FVlYyLNrmDGqJqj4tmgpQX1kmOO5Bb+WOvl+Me7RzIBmFc1+Q+smQ81XV81DOy8A9xR4t0jFEKU3Oe+0LMWmO+Ryu4b3DHWXPv8SoxMgBGe7gTXxrcfm6Ey8CsnLuudk3u61GxpdXchSq3DO4rfTLLc7eMlHu4u4qsbFlPmNzTHe5QVbJPPHkXlXBHywOmFKVnZkVNfoA7KZaRwlqfu2suFQ5yXxgddYi7b8Zl7puOGNoyuDF3tTLPA1GhZjM6unhT+ee4gzYfrTUvMak24D4CBd9R0+ZOsm0VdzXh1eHOtqG3WOf1eyl3Htqj1cbX3Cmss7kG97G6MVeHuOt7ge3nUu5W3o4cy+XwxgC42cd9BgtIbSaWJ+Np9BrcScmMJKr93F2JW3PnVddMVdvk3qnH3VcBU8FtwWe0PZDjPlVbCkyzjHsBaKR5yKPcMC7hjgslugfzQGWylc7M5C7tmYVXYb/nuRM3bMzqIHdtrijufLf0xHbQWkWQmdXhvlErWZeiyIWHu2u/95SNtqLO3sdd6Pee3noVCyoYar293EmbjRTQYrKpaGqU5z4WynZcZb+XcMcDWhT19nGPVFxP3iS8MqWUuFNG6nctM/PrccdMyEiB+xujiPVhxFfNXQTdQ7imGJVz34j7xRM6Q4zPTG3AbSj2Pu4jcQsrrLlkVDvzhuDfBafddkqcCFXcF3KsYtID3NdqKt7IRCxQn7HoD14mbWpyx7YsosgH3Y1RoIGjDTpiiSkwGPsioQmxx2qsRL+7uGe3GeHG2hZHgjIywAToUcY4He3jPhOjh4EWk7m9Fe7c+AXuuKaI0HPfqXBt5LnzjspU7OvhfVzJndetHV/ujnmmrW2JsYbgeVtgnNXkLvuxs/a0rW8J/bAQd47oA9WmKaIp5c65daIOXtW10+VQ5+3jvtbL8mw3GVsXPR3BV/uRXHA59gL3cQ4d9mkl9+KOmbvD3TQ09d7mQe60x98Zb7KFv8HT1QgNcIF4MfI8Mcp9w8e98eEukE5vn+8IuIbpV6C4xmvIBdJp9wBGQEdAZ7Q24qp/M/NEFBRxqkIyzL8z3eoIKtqYW1GL+1aaxD3cJsdd9Wrua7W5jn3e29Km3izaZttoNuKoqhuNvfzD3P9fSGHdtCFUro9YyTUxtYRBPpYHOM/wpjRxdBd476FvZ5sbKzQEyO8D3c6jVaUke1NtTLfcSXKOhf2yjYrP9b178/r16x/e6Qu4N3wgl5Z7UX58XxVSKu9fPrtkeXU4spaWe1GeX778UD+r95L65eXzJlVouRflw3eXz17XHvMf3r6lf15fXjbC2HLflZcweF++qw7fkbcfsreXl6+bVKHlXiJvUHl896aeunn36hkM9TeXl2+bVKHlXibvn5PGfnEQ/bvX30K8Z2/hHnnWqAot93J5I+bL7179WMX+/ZuX33L3QIxnzdRMy71KcKYU8u2L12/emvTfv33z+rk0ZL5F/fLj5bMGRlDWct8j719pG5HH/nOU73LXvn3DOV6+aVaFlvse+fDDt5d75aWYSz9cvmxYhZb7fnn3qhK9Oes2sTpJCtzjIctuxDjcvXY1mQ9jPkhPbfumMm0kDbhnNH9+V0D+7PnrRlbjrhS4h3a3gvvwxhAFtujCuT25sc5sJM24k7x7+8NrIT++bTaFlsoO96Ai4i1wVwd3LS+sf5z+Z9Wzwncim7/92+/KuSfzIEjwYIn/pmHfDmMz5TJYcoqADxL6NwnTzNBJIhDOl8GcrsyDROIOJ3YQZpDrEoLSecDZx8E8lWWkUDZdhdClKJVDE1G5RJQei4j15IXwc4z8VVQ/1c3IGp/y4/LLuC9tZ+gAoKRrD7v2MrRBDO2T9J2h3QcEfbvfx4AAFJTdh2SY3ulzLBkIIXyQwi8kZO6YpZ3ZQwwJnW7fnsDFU4jgCISJg2VDhhBKpWGpFBrY/a49V6VSAfZF7ba/yPn1vDHgv/2XzKKVP1UvIFRy7zvQTPs0m9hxljr9op6ZQOtjaClxhjgYFSgsMwfoxiITGQhpA8wgIc2SODk9Y9sTGLldoIrJ50Az7Ypuu8DwrgP/d1PKDPNKnFOo2AR7KJWlzjn/NKspOe5Set7UX1S9jHV12RBvr6zEHHeSIBvi6IGBSLgvhkXuNDb7fbZNgB/1VzycAw2cLxmsDOS0dAAQgV6Oe5eKRVUD/TjEswtBEIvFtDwYoEZ0x8HVALoQOmIpS6WMlJl0WEq5Gx0w8qEHrtMFmyha+P6oHHc592EAQmBAEWMTT7k5Oe4xWCIhqHw6WYLqTx2HFe8chuTE0TExUHMncPl5VVwKID84dPrw70TPt+ncsVUCeR9B50IsSCNLDe3+sgmW/dzzfeDBbQCyoie7y7yBWw7h9/rwMZXamZfpmTTo2hMAkU5suxukBe7itoBL4SmqWJg3u7Z9CngSyKB/KqOJwBrcbZ5ARL7S0OyjglcJVOWG8q6UpQaO7UySW+B+q1LGHVRywkxSaH1Rv6toNNKYSzxxQEED9HQnMM99XsZdXDLnbr7XhqXcVRxRarY8tZ3a4B8u99gW+p1MwlOaG42KJxRtHuDkRtTSMMFEMNAvnNAWAGSg5t6tGO/cFWBqUoSQbUQ2iyCtDFWlTjC/JFClkvUaVC49HhF3+jcFJoJdgXvmoCrpymkXTHvup1NMedoVkWSg5o6zbnFeHWZCcyPWU554OZyCYBKhzBP4oY4Aawfrg70hS0VLaM+S7xFxT+1umg6dfgJrebDhuwhxbsCfCJvvApWsAz9dMCwDtEoyh2ydjJCLQMUdDb7Q3uUOyRPIM4EIF1nsiAz6gPfCgR/MHHtrAgVgFok9TNN+N5OlJmDcp6f2b0DPQPNg3kJwF3DQheEFU9hQc09xarughZDdD8HmiLt8AbXLXEaSgYo75uaclnDH5M6c+gqmV2GIxw7MmktUdiJUlpqBlUOVkqXiuSOLfYzctaRhKg8Mu1hbiIkIj2VoLC4Exvol3jGpk6otGbm3QDpbijqWobLUTFZKlho22ep5yNxLJTw9HEeuNh+w7HIfRyUyK2F1P9wPbz6BvX1Pm4wNZJd7+QtR7kPhflga7Qvel9TlviiB9UC5Pwqpy/2WB7zJXU1cO3JR4oQqCG6MNZSK3azc7FpRSIONsILU5u7fGfdqH1ANh1ODpcuB8vbkpIKu7q6qzX3bKcH18LhfQa7B/epSm3vu80q3yZ19b1kq3GckwpcG3LWzDrdfQRfEdME8wP+1E26e5p2DIl9QZglGUU6/WGaYzqkb4sCehCkY7XFAPjzeY44pX+YO9jqqRPgfrlJoGCz3aKcrct/cEXfe3SWvmzTVtS/tVDjrus7Q7qa43cjOPuMg4BNyKS3tLifQvSryDWxYloba6Sece6E9cXgw00ZvOMRosIKF8p2UYqFzj7jjJhh2GTr8OPQCjvo1b4X63Isv+90Wd77v0a8WiOW+8uApZx1622J7AgAciVod4P/UJRPaNgMaJneZb2A7y0w7/aRzL7TtQC5HubB+TJtztCmD/6dDh4KweMGdajfnHdKrc/f8nEQq6m0O+CJ3vpMFMeXBy2+ik/sNt0qcoXkQ6MQh7zEa3FUQ96ly+knnXqh21CT3RJgvodxcAxsmRD9TP5PcQw4VW5RX5V4QV8f17o4769wh78UoD57kzt42aKdwezpZ7sCAG2Z5R4bK1wjCQ+ncM2ZMwV2cxadw6gxVELuwc9xph7nulHt4f2ah4kYH4940d9Fq6UuT3EPBHQ5ENONgh7uzy90ucpfOvXLuycRxkLutuDs23S857hQ3vjHudzLg93OXvrQS7oHGfVXuc6m4stxw1dzpfgtz3O1510lvl3vuwzs85lUn0BzsW5b6MkB1GEvVHFHkzn61PruNlAdPcmdv24WdCNz9LHeguM/J72nqGZUvc1dOP+ncK+WufEk6Fj62c1HgPkHVc3N6ZudTmdfhPq7JndxnqTAklQdPzas0qfVRm2MMMmzUgcEdHXP4XIjOW+XL3JXTTzr3KriH/AQUeRwndqqm3Bx36uW6LtY6++/RjXHfVhWR536BjxfFqfKCSg+eosCWIDnslsL+UQcGd/QMLsVjeiJzmS9zV04/6dzLcR+GKaVbQj/FfXuSoscxFkYTdOEwzz11usu5c4Pcx0b863H363BP+rBUwR/VBOlL06PvFC6wB5tnOOPA5A6Iu/Mcd5mv2BxQTj/h3DPVxCmtm/BoArHwqdh8rIm9zHEHe9Pu3+R4N/+QwxW4626r3uMp2QeOzW3JuLhHmdB6nCin5kGJkEmuvYP5rJTTb+8Cv16sLBOP+9WQWtyNAY9ELfERO/GRRNfCJ1rl42G7Yfohv+pN/CvuvxsPL5UNM6Hf5/W8g9cVod+vuj9TIsbHmsZ14ufEUDPuHXMHVTC5cPBZ7btwQaV952Ki17v7pZ5fW+/ZNN8siFTaPT6rK3JPgrBwUJDgdBhUeVFuXNJgeFrX61KP+zUGvPEZ/V51rNbPVy4LlQC/mkcHnlVrXtUp920z1OA+rP8yxSOQmtzzmwXy3xrca+4y1OBuH3auPiKp+9zSQqWIGnHXn61cV2fecq8UQ027DbjPak4MOe7Cq5Z31ynu5FeD8LDo8SMHnUzx0KX2c3qRSrJowF1j328ImdylV0276+Z2tz+U3APypg0n3YLHjxx08i27By+1uZtmeP11k0603y1ucFdeNe2uc0x3HfnVhvxjevzQQSffsrsbdteR+s+lblSa+g9L1tkiKHJXXrUKdx3th6gf7fGbZJl6y+4uyF1P6nOvzdCQjUrj749YmFfJq1bhrstxL3j85Ft2twztBqTBc9gblegARCXGvs6BrsrtRwqvWoXbKMd9x/Mk3rJ78NKAe+HL/Z5VY16VcuixVlO/S69agXu3FvfbYHQb0oB74VPmjbi79bkrr5rhrqvUMwWPn3zL7jZI3aw0ed8j/0RTE+4Hn+LOcRdeNcU93jOvao+fUPTGy6kPWZpw7+RSNuHuNeCuvGrabdTtJulpOXft8cPI6i27G3hy9Hal0ftNCzNlA+6HH7wx51XpVdPc0c83KeeuPX4EWr5l99vi3uhRGiPy6GDknB1Z8sLdHvdakg8LH8FLNlnT9/nUHzIRfzVrnzTylbT773ulls+OpZmrpOW+XyKV8JCJ0sw12HLfLyOd0t0fc6Mi+i33XWn6vvamcQm1dnNa7gdkfDjLgvh1sm25H5JN0xLclnuJNOZe+fpThdR70bvlfkiq/tBflbgt9zJp/h2UZgO+5rs5LfeD4h7O1BCv5V4qV/juz6JB9nVfRWu5H5YmA37ccs9Jc9qGePXlWuX8luQmuLfSXIoD/9F91+03Ii33+5Ercu94e14iIOnlP6zfcs/Llbh7EaTcLvZsNNKfeV4f9u+13BuI3JPcuhUROvIVvtpf4Wu5HxZtv1e9SrBQMeqO+Jb7YVno1OVYjYVV3df/HhP35CYeWbgCd2NDsvyJbPNBSve3x/3EOr9+JnvfOioXI3X59kujJ8UeHffEsm7iEZ1rcS9/isbkfsjcfHzc59bxTWTzcWPukU5c/vKM8Q5a5YdPCmK+GROH+OWGkD6nHoYxHaQhKtWUTmNUsfiQWBKqTzzEAX+NGS8ldLjUX3ykEMwn5EyTnciZzoafVUvnfAQlJvwX4mL5wtoT6yzjv2EnI4h32aAE9XnLw/JFY+76WY6qRwX0lyD8ell+atbo3LLCLLTwN7as8xO8wwJL/C4ta5BlA/p9ovrrjHI5oxjBERwu8cqJGTIQRXFe+cii4JTinOCHOY/oKMVqnB/D4fkcfo4IPMWfW0YEkQekDkSpNeRpA+JCFjJtlZXYk1PvuuYbOV+ZNYI2BdSweQaU52fYAYgvwR5JjhEd/BzjBCfueOieQXCMjaeGw9HRETIMjRDFHUgd5yNLUlDIk3Ps0fTIOjqHBOfU/ccnyHxwhNXKsErwewR55CIcc89irHoj/r+bcxcKfFNtnPd4xO9b0ebkr2aNEhyMyOQcf5M5tgTbhOyOEU5Ck1Ka0aBFCfBsiVwCwkbIz8W5CEE5wYMzzAkuPcHAM4qsyj3hm2iOZUPAEWI9Sjkd32mQ/EmGl5cYYUDcKUKcUT9QxrXk8yuA74x9f/+SqOf7U7dudp/+mqvREbRnYMF/AOEIh2wAiAfwe8SwwtA6PrbCWOJERc1ag38yS6iTwAjh7jkmRhlGOTEjZzyS4XQ+GMSk6ZBjGkq1RpoPuR/jeE5xZokF9wErQI6V1VY0f7kC9xuWr/I1giEHiKEtwGhA3YCIrUGKYPAQjqEbltROwQyngRLuOgR650iAYe5WkXug+nEguYc73GO83TKcZkmtaO6B4r6z114hn90fcJZPfs5XCFoBzYMWJEQCtMvSGsAYD0XDzs4R/VmgWhijRn9Sxl2HZKwHrss9oOFMM/DZNbl/c5/MUZ4WKhTi6D6GwR5QS7BR1llK1gJBgcE+X1onT+i+R3mCt3lYxl2HCC1zkDsal3u4n1DfBNSF1+Se/fFeqVtf7lQIxiho8jPrhAxFnNugWcdwesJtPrJinASx7WTDU9tLuesQoWVYbfOcaERG21t1T0jqmiaCInexWB2IviPuJ8L0HajJtq7cq6b57Ked+ihdzTc1xqJmkZ5Y4imvs5eMKSMz7rycuwyBkX9C66YztI/mwlqSkRFkKoxTC0PP2LwpcheL1QFq+aW0Z+L0GM8HykaqKz/dI/gS7GStk3rgNuDCJaVuQNMYeGB3YDckgjsyLZ9XdYgsD2dGMI5wEVTgLiODCYlG/ZGoQ447L1ZJZ6l5lWSgV2YN3uL86cu7gbwrZdhp0RTTOA9ENxzxOI9FNzyhQXyUCe4xMMJZ92x3XlUhskDIHdeXx8q+tBR3Xq+epTxRW0dBVuSeisVtCt1zNMd1G16F4OOY5+0jq+Fm5df3wBzkj+8b1bJSqv82XllIXLWDnqodn6Q0x1RdVX+UDzsmlhNHWPfPexj1u4ch//k3DSv58CTU8+igkYoxsvjq07uE/vGXfz1cpwcvN8A9y34N//zPX1xl36Ch9L744ul//Xy4Po9A4sFAKvTzweBxvLPcSiuttNJKK6200korrbTSSiuttNJKK3co/wcLjk64CmVuZHN0cmVhbQplbmRvYmoKMjUgMCBvYmogPDwvQ29sb3JTcGFjZS9EZXZpY2VSR0IvTmFtZS9JbTEvU3VidHlwZS9JbWFnZS9IZWlnaHQgMTk4L0ZpbHRlclsvRmxhdGVEZWNvZGUvRENURGVjb2RlXS9UeXBlL1hPYmplY3QvV2lkdGggNjc2L0xlbmd0aCAzMjY5MC9CaXRzUGVyQ29tcG9uZW50IDg+PnN0cmVhbQp4nMy6ZVBcQdc1OrgT3J3BJbgECBIywACDO0EGdwtOgru7uzuDu7u7S9AQNDgkyM3zvVVvvfe798et+v7cfVadqrNr9Wqp7j57d/Xb6tsPAA4YJAcCwMHBAWT/PYC3VwCBpJ2xl4M9p4mDHY2GGo2tg4XD2wbg0384/0f2H5H/Uw24t14ALipgGL4IAY4OAI8Lh4AL9zYIoAbAARAACP+LAfgvQ0PHgENBRUZEgkf4R9DEAQCQEOHg4ZGQMFBRkBFRAPAIiEjIgH8UNHRcPHwCWm7J38Iqxu4ehERCTv7x+bDmll0yutSmvrnVK2ISeqCgVisDC6+mdhkjk+UKs4xOaFrp0j9dgv+u77/tP17c/6d3HYCJAPevxQi4AHFAzxALGOn/F9B3b2nY3/97frMemKGahP4fZL8B2v3B7o+Pz9/X3fNUs8+vrq6e7P63cjtbV1fPH72UWSBvAGpq6pzFS4fYmT9dvhH+YNX/Kuyb8l9y/wNqXd3i7x8MrzeamAmK/wsibwDf+n8SiRsSxSz/jZ39q1kWsPvl//Cxxdxfbhy9AT7uxLbUtrS02Pw9l5z6f+nQzv7+ner/aoSqv2H00FBXfpdLQ/2BnZ2i5ZKQsHBrOQO+t4sXHaZqk/NhBEjVNGyekXkJXYOZqx6VBpZh5c9OR9hm0IYPZYiByOMJCgoWK7f1eR0iFkkH40mBvIojCXPoRhWSeRwxD9Gx+erDmeG5+vyIcKqTapWJlUHqB4bMU/wDekcOs4rowV3MUPD2cLkaW8qkUH1VnULugRoqLpt6r5KTvFnrAxUHjp681Cf9du1120a7Y6ikk9j+Sf3eqXJOjlHrtRL7pn7SrNXxUovNGObpVaFJPi3PvcJpuimnYjwKn0krQHsTVu7J3HiUgYcNRMErQvvxjtm1++cDw4nvbHfY7qqNNgRV1bcYE8Y/Jj8FeYcKguZ2yb4yQyQrfOgFBgldeiMn4b3LHGHwqgVRy08dXpcnf7758vdo2W+9pF7arBAQyzmcWm8nLJeS1xSe6A7/yDRmA2+7Gdtqe36p3URbKRvFHmQQ2OsKNomy0ybXXXmX6B3Rj5lmg6JH1aKQrQI77y442KSR+4mXefkTR1Hn5qtHZRqbx2bO/nvbtHbI8HoaHWEMi9/aaV7Al2ha0j2BX6PT5C0Pzz5epzn/JoPSQU/Hlu/YWd6Wg3qLoJZgKGnpxHpxptFTDapxEKNBN+OBSAcoKwnX7DOPIjRGOi+574BY0ZulA7MtOX1nLghJU+brMJHli7C2/bHAG8A2lnwDi2h1yzqNYoDeQigpoSzRv2JR4jpJ1ALRvk40nBpSzK0U/1Oqii3JSAFy0XtAkECyECnt39Y1JTC9LtniMePTJI96XkJPGtx/I8oBDGs2AydWuYSNJlLlZ1gheiun0Si4HJAZrT7guwtzAZJVlxOTC+sSqLL6QitZCYXpf45ICjVNxCuQwk6v94+UkqXwDhy6OhUBMuyd3xmPzs5GR7uljx4Yw5sYle+7/M+YycmX24QJkhvlKeZbCg1mXaKWlrW7TH3Zglx6XuMcd/bvpuofpk4e3C43ehxc/+oGzPRMAPfE3wAc52+AW360N8DFiwIKaWe71SW7im0xw5KW3DHhbmjaBOhTuGlruBOLGqmaeiw4/9KNoWtberwpRc6js5jNczT3na5u6366PTNOwLHClwgG7dpQbFX1K6f8Tpii096B2VmM49f550+1QTkEIzHiNAZLrRhmpAqL6GHq2c6iZtRYm/EJ1TwpS7xMQiYm5cgCbRVIgRL2kA8BHs97T1uaQmOq5cjQVR7cpLJNtGD8xtFip9lK5sSN6NGZ6ZhqFQUP3f53kNbmlVC1I5TGMtqtduBesJTJdPVibo3kysUvt1Cn9sBLy2DK6M5cK/Uvd3PMENROIwQDxAZv9EDUuonrIGFc0yya7KMcwKa/8rQaayLEdB4ta1rqgT1V3iAb6BwuHT1lsxggQ+Ot7RI4sLExEH5CQUmZTcwiZhMYsIRSqV22r6RsFUJCa/jzpZEs5Be1dkjgmWlbJvXZNF+ulWmARDkP46+gGOmV5LqEz9aceJGK9KNRk7NPfEaMFVx1BL8vo9EigUomKz2jaWq4TtgbdpxTSueKsVUQu0uFWMXjrfRtXc0SJ2s3ayeI7vCDwAiiOUW8t9dtKF452WApWbqqi7xoILJyP9sP7rNn38pfb4D3hi3XWzclgjnLlEbDpKUQdzUaZmyiQe1Yup9d9vFtmWaxUUUmw+4sOXK97LRiEhBvHvD8p6ARQpkBKHL0ebshFYO13yg9lmK+z7eR7W9qs6LqbmYbChPEg1z5ZcJtMdN7mvuM6WJJOSe1VAEDOmpC4+ZKbnTLorfc98UrErHDeyd8HEHMuorSvCt63bixH9v5TiHRprY5w5Lj+AKT16/6xoP0GoeYEghxtE4e5rqqXoSC7zKyP7SpsQUvpOlEjEuXDBcisQozHZiIO7s3LFDGTteCq1SH5Mmc3AQhP5zTUiiHizlF71EpVIQiITm7shL9BVIvplapE6ag2jjhIFbN1QAfBMn8ZoJT/+EaB0u9ZjbJktnR3zMAfbM0C4F601BoGLdEFXeJv6JRWhNLADjlB7HxgcQf4z5qIzqsARs9Q+k2hgUD2avxqPhy4fhUWkYLdAmFXRs0FYqxtCvoaY7uV7Uy/F78Hh4knePlhOVrgpNCHowCbR+7811aeDVtT62Kxhbnm+EgW02xtWr3FNYopTzOQRZh1EWOv+uZI5hCtR2zLAuq/HLsbwCsJDpAnEgzmZM5wqB8IjToHTO5viryr8Vanl85c32Cehq/QUv7emFlIc4j7Lxf7YZzdJOdRjRMwylKqPby8vwSs/OdGx1UBF1k38UJCmi4M+6x9dJ62XR1f/wosvEzT93t0p3tA+nwPik2uUluIZcnb6HlFr1QdVJxg2gPu6J3GQdPiq07Ke3Qiwh4yUrJQYklDmcMm8XTRKFdOuKQhAb0TkVc6OBKLZQEJoDdwXZxbJFCrKFMt9mfPtaA0TvBdR+skwAa9rSIuziwgVlncFd5TtY1iI6SU1FRSR1M4TtF9xyyJTmXyE01PEHUJ27KNcFjvO5m7xPWOpfOfUIUXk/KvkxrHpwcOJ3E4nwySpDU4gICFXRYVJPAUDAznK9i8KnniF2NzfqdFqh4ATkv6gdNxs+qogV41fecK2iM5DE07KTwwwmOlz89ahNxqXQ+B+WX3hDoyz4Da6srvYerZWetNYsYpfhR0MhcoZM2GnFxIPRfY6p1WVF+ydbojD/gxsESYQ2TqNHw0n2U4UicHYZ3r7E3TSK+viMjFQEPJA7Vf9npHEGgvuPvIglNZGa9e6ch14sJOD/C8qksq8opvttRjMplY7KIjbEeYyfyBt30W+e2s/gZqaaa54i2R7TOHGjcRVL0OdtM40/XI6CCFoKa0Zq63wHj2zMAuuezOh9Q3De9+bWLNaZYiuMrNNEK0xnWlAvkOJwINEW2usV7jmrv4cJgQb2oElwwbSOS946YCKhVNGF0WGf/Xi3e6CtXuvctNuv3TWfkf3TfAJX7K+s7Iys3Bm0VBl9LXczimp9CPueRm/E7Z/20VcLlsQq8zsp3TiXVVB6cHG5pGjW+EUxO4XpC/ElJ1QVz+erf55z6y0e4T6cmOKcd++Tx7usH7K4JTxB+IExTcUqHZf1M6Oe7/bUc1dF3/qDqQdvZLF8KlxRwtpR/ZzLbClpbeLFXb6F01p21vVJcWiKEBKNLNcm17MpAKnCMDelyvH9MaD5SM5fQ5litAs4EB5DnV7nOVxEgt9sUzcyqxqRihCogFKBQF4n593roZG8mYaYO+8D9uf00vkfJxvv8pOnvX451GErewuWT9aaO76jYG+A1kn/lWUPtf/vWNEr6/0ZaRlD3ahCa2PgWPui1QOx/Ps2fbv5r0YFM0lTHkHRvMS7xJ6/gV5XjIM8xN7GpJyKJ7a8JEnv+yfC7oGgrBZgxY0erAA2sEr1hCPpu8HI8fbi0sucNEHsu+FTtazBkkus78+ztdr/hEIHkiu0ysyqv49RxZLSqUI404DEshKOzbRNXZAcr4SGgwEeMb/qQij/WEbkQF86VksI4y+7prmEDtJWqVu6VbZfxFcxFuZqq9KS3vtkvDy9Q/mpaBI1qzkqZz4oXdYMVDcIGOegKMdB/USQ7fWoKYvtDTs8qU662VrZf9Q4bjfvpYCHpvORQ/IOw2ZR/Mqscrq3+D036fkwIG0c0162x5MqtW9mpUZUkZwKDXEDOfPl+gd4YA3gMpSgjOBmfHkPIEMXKa9rjDTDEeaFybtn/1GBD2ELiaSav/gUZbdiBSnuKPZGMsoSjniLekdTZzzLoPJxMtB4baLZ647OHFvPjbkyh6uEXwr45D/NlFrdOmYj2CUolU5s7zOzL659HPkEhJg8F0jeA93e4ZJskgkNMA0dLjfU3wMbTRzHD2KXzGma+y6XpBoOPPBMDpi6mjhcOS5+nwfhxwnZ+S5kwb7Fo8TG+ldJWf0wdkoQJtKCyuvUrXhgU2JQqNNgPyWKzMwzinSZe07fvS/2NrRx0+GzGzHhUr2jEg4jHyG8CkMcLApVLOLVInfmB/FJBFgAGNysN7yJn6XhlkKwj9M7t8enFt3Dt4v5PV0s50z5bMkf53oCwoFn095QqLWxXRztsg77YGHnxuRjTaHqeXe560DwG1SfTeLJPySFMH23lrdgVVQOrkpaiIndIqALt0LWivmJ4ObrTe7XFNFfCfcgqYOAHQ4kfJ9LCGgvJZ3TlIaTmwmnFNCYc7BE8TZKSuMX6sgYZhHxy6e+0ex+X27Qayuj0EiFWjbnhd61NiZZZ9apPBobg51O8MGiZCt7DrEyheZHsIdCTvPDMOLm84kI+kb8ALhb5g1Ble2aBrRi9d0KRk9ZzPYT+DXB9tPMG+KSc+3q5SHPX+UrQLn76z4lA993giVD84Klr+/LL5UmFpLId3LCvwB/B8f1XcKgNxrCsXTZ02G2NLwQ/edcK+u6Uzt5GYpn0EyAjt+jsIurYABs8f0wugnew2eRityQIxxbAwPQSC8waPB4hvGpe6hBLIKKMM52y6JT8rSlgr8Q12SBwDeHnz5obHt5bXCKLzSnnGbQ8VHtCBLHvtXUNwWC7NgX4syjC37O2zgOdOugO3O3Mi0q+qsXeetySXNPl7aP/fZnAs92IJOWeFNiO4WKvZ5JjLYoA2uAiDmHCgDzEfwmMFWXUCWxTRs2/tU6tYUAFkB3P4667Id9VX5jiRai4dfupoZlrOnOPNekJvNT2LGzs5h824clWtWfzre0gUtLFRDidIaDTCIhef9BqYkxDChdO2QbQe/QvDfLPUAK31irZpM/7Qq5z+KyV671cs8lcvqwrOGOAnnSTyducBtda66A/4OW+xvXs5Kal6t69BEqRkZuUqhcyS5IObYgzcm4XhR6X7DxVP9f8vq2LINTHCJhy+BLi2mB97pvRdrnR1RM7cnJvuGFjEOgpilTXKm/lpKAmZDOtGH44qcIv8yt+rEh4kBMr4pm4jjBPWzlAPpBtX+cV6OC00mg3MwlBytm8Xg/2RGF638ZG+5p1oV0q6my/iUEtVzQxvTiVkQly6rYOq3VSszyTu1DuorBnySKbx5iGLN+hOKrueEIHyzFVaEeGRBpywMnHJmBd/h95qkl57g8+Pr7UGXc/s/PWX/5F9aCnbIFAjsG6o/dGhIll8eDlNAT9LWxaqSLYagcenuaoOV4pPG4lfz0bobVHXGtKskpY5jt4tSDDv+vVGYNeVrWkNhYuRX7cnV9CoWyHCRp+bfBOjqRSLPjs1h/TpYKChcaLL0/JCmCgzHIIkw75gIkHhB1sa+TUdSietBV+aGOSdWNu5UwO5AgaEdCnD87QYv5AGvpjPBnQy99MIEJAbKU3i1egI5LJqqCWVbz0wRGxpHVDwVpgkJhp/WNzFAuxt2vsCXKOYv2Es3FWOjZoKrFRqLhaZSiJC84L05fEJOejMF9GwQ9+sexibmI1VZSXX11tct2qvoTAU++1OlYF/nXuAIJ8+ABp2AeFzDhcVjFmBUASTrrxVAxikbKVAKlpOT/6/CiXJJ+VOoCY2VV37lXogTc+/OTMtyxNSiZJk1uH5PDaMWOHYqROfZpYZHZximme387JDZ8w5Z9INJgC9PyIyIYBtfoqJhwU4sZISSHaNmzMOJ5ucEdOKw7HkYRC9umGrw1zcd/BZmcW3fDjEI6tI6Fmj41HzChifmut/fgFub46kdkcpI4Dbs0Kgw/BwuiGgyG9m4UDj4W96QlbsU9T3bFKVf2iTTI9g+sNQIyXWGtDcsg6gsXNWP/ZFft60GqCtLlZnndCNDy74hO1q903o292Utejj5NtbJkiEyIZqqkC7U3CBXy3EKwa1FgGKOHYO2HWxlKCfOESAiMUHxre+04LSq1xZ30GmHa9WahzlfTexLdgCOmMpRtNMtwNTlshbgqZYAoxVJSNFKgwrq9tqEwCvncnLIvhkD3/vIA/3Tii7sJOLNHsZVu8r9qA6Nc6DIyT06TIm3Ibn9c4TOlPxqhIxCSjkPnopfJA+RJ2+ZeRicVdUkjCG8Oqoe9jSPZtqZfyd1cbPMFi1TavouO4AohzUyRhjqppOR4juwyzarFkPxyQiSYPcyGGz4i9oJ82ShLVwVvjDeDzod5jeVHr4cwzNCrVPkYRKnTLxhGswSuwW8RZroQLJl8xb2mItfV4FyTAlWprRTLGbr79QGNvRqXTywnbkt2SuLHrGbvZoll4+vN4nyWRKiR1HdTOWv9L/exsLH/QaqdGsDHwJrZfITJBp55n3G+2WSlWoRt6673PFiSHQKkC46Qd1zmlG3KiIhq5PitOLMWWtAqXpJmE4AnznvxNgibKSyyvy52AwHxBZQYHdUbwAs2LFZubBIwS8eCAgBMe7FasINXjouPmYOMSc5UwgxD/NwDX1EFNEMIg2yqrAXlBPF/EkJE+UWuE6Sdj7BVqP1pCP6qNfjFHDM7nbKpRS1VlEAEr5/hBqww3mc2NFHkUkcCvXfzWdI5rQk2kSVJjXpphtNZenU+UVUYxnMKOpaAeFlJGghit+J8ZXX5fNlXj8qI8hXImGVxAC1g0TKjhuK3jSNxBtLhQLqCbZfqoImyoAjaYAD9KVlZwIB8I+dw6KunpNgAFOmOKuQYJEufU7fe1YeAldan0KiTT3yRn6hRzmWhWCH/QhB0IJcmmNlkgkdPWsIKFEgI1LsSejOe6IQVswA+lqXPdY6sJBPU2oSVo329u2DELpVXcPn5C1vccYbeAjcSlzK8m/OID3g2jtfElPeCpFzHKnP/59gagqujLRLDoHKjSscbN5vo3iCaY1THbCT3SR7jJqeAu9MFhRBCjukS/NXGIFp2tifeZ5y7PkTCCarDie8XTTI1ysH2XPun1E+bhiPq5sKPszLs1BVB+BTWsda3MHK4J489BaFZfXP6vxXL1VqE3AB2jxI/qrOCRrCb/qwpFAtXi2RK+2Etj/juDbzMn9vvvQc0itCcXqmo5Zmu8hBUONtnUkbBItecvCVJNTbwwWE+HKkuV9AiKZpFN/NaioqUmf7F6nl2fM38feYR6CkmV8dNjz8u1ftDG1mvu1huA2reVXVxm5o+YZlfH9i1Zt9PCGKTOOTKI8ma5qhO89LnQJVTUnR2aAxoiSPtcHB0d/a5F4mxR96fm/kIt9LuFm72LuYernbLUAh6aDqT6ovq402zcXRk7wkm/btMzLseg4eNIxmr2kED3Hq+uPrCKZaWURU13Mp/eoC7tlVf6KF7K9Ti+Hcunr68YLFMS5l0olaC5naiv4XxiSLBJawd9tm9qPK9ZpRyLk7j7BbNC1QdHhrcgQ3lLnqLXsnuRi52tRpj118PtJMp5DmLUwoGS+JHWw3DdW6KM1h9DL3c400+MNDEDp3hLpL7HUbJPtuU43kMtszzn1dtU766rypNMR7xwsWPR4Q8OPtktCU8cdIftWu5jzCeVlNbpIsssvwHqwFSb2GHH5hQWMVgSF4s79BM3VuTrpjlsq3lCos2f98qIWX6vfjQuT9Ob6DpjA1TqrVgRz1E1UBpM8QxjunaQcNyoa4kxgxdzuaSLZcxsJfQi4lO0iSY2PpPHTHPfCIeQH78mRTPKgAL7CWcgdtEB6uWIGEcxMZzqTiH8Ak4oKadE3gkttGQttlrR9Yh9OeZ5RsCGEGlFN8hInVDgY8Tvcrjg1jF6m1gSvJRV/9FDKIOY1pHjWIhQyhiNMDwbXeA07QyEu832g/7kPkUSyBQLPUr6ZITG2B0SP5e/1mTMWKy/3cbjaqVOxBPDjowwYLS9zM0UPWUSxYtqGxyjh5vU0Dxqgpc2UY9yfBDtv0vKifUu6r2dNWGzKG97nrLU0YrAHViFU9aTVY3KihEAfb5BS5KhGjLlLT8rEEcPltZZGTVT/aU34POdnxxqrQAdYUodadFA09PNmAUyD7ERc6hKmR74gciMJMi3Gw6PHw8D1BfiN1thUzyukN/hkQop3uUR2cmo+wX4qH+0SDXlBo8xhRjJHzrYY3Cu4gqPfW6P06j3ruvnE8rVf8DJ7FGVYdsW/c2sw+uiWFkLKCILr004ZMd3rcJQguSKH3m0F86OGlARxDtLncbAbtasV43OidpLBEeal55wLERSKoiEfkMufrtmWBuQJYr0fe1BHm+estEppVVLOrjmJzHBj1YBYcJrEIHbOYC5CnNEdBfa0YbU/kCNffSUFkGC7yo/hzve690P45z4rRGF7sqAeBYBkOjJNuuvvScwho6noDyPL5QJhXbK77WCwSHE0IkW73DanJrZ3ZFaRS1G0eC+dOdne2qMlU0GRgfIFc6YHsHvv3iIV/na9lALbXZGEbIUyNbaCiMuhi6wBnaEGvnXK0GLS3ZztGvEIeMgslQvfpsv36b+AhQ24AJBtsI19BFOBIh2yWsbDZV/OCgQoQMd4I4W7QGDbjh1UOQUYt4H0hoU4+uWW1JsbqhxYKF4wE5456iUDDZg8tDSqa9rZuXjeOy0qVp8+vhmxjQy7+nxDpDnEobEuLv7el6i2ghAjk1CSo6fMcVgZIfhFn/qKEx9vKK6eMfoHbDjf1F8m+u68n+J7tOTX6BfANenNv1nwvB/OBoBDY2Navt7MSCygaoC1Bn5CiMAAzVKig/sDhR5v6SCPD3XRGIWbfADkQWmKqvwZDVELVxt1b/zT1rjMjUlFuuIOpj5WsWnSKjF+eyRszlLbS9OH837xWWxH2ZdUTXueXa7TC80i1pFcE8I7ZjzCqNFsG/Ph4wkJAVMKIQFx0BqYuQXi2xMoeZSPx6ff8MwRNi8Hj6X45ETSRwVEAR3+byaFFCESdy9pHNkmZH+2x4x9lPVcZiv0In8l50SuLKYeCcE3DCQLaUkOTmxYz2kS48WC/VNbo2TRRwXqW+zqtjDeQ8g7Ac6GXvYzfXO3FhE+sqNLJ/x7VLbf9heT1TV4s+xnUUDNTrMN7m1u3+1RzWDxtDm7qwHUeDXFZCgjpxEiUOe1n62RTNEUFH3cKWfK0mdBvu5+dG8sstTowapO6wTUNzOMaB+0jHbdqN4+CT3rTQgQeNBzG7Ky9Yed6gj+MbopsxcMWSonlE0qU4xL9GNqE36oyHxV9AdZaIM1VxSV/F5/BpcaYGTnZO0J1iVTcEpmEzFH+ezl7r278yHbvNshZV9umSmFZRvQ1sy3+QgXFGYh6ciIaOmCFd9swXTzMUM+6n00veXMQElP/WVS5F58bIYrwpR1alkTtI2VqKV9kTYmwazl3imBWK+EC8dERPdBOkuRvEWKc1H5fvCQWHNUlcRxrzaXk0CbWYlAqoxK1xMGUnIBw43bwCLq9f1LYSvjXqaT6gDgb1/bSL1rnM+cEoE6M+H/bQ43t80111O9kL+JWqgROxiHsfVySRxcrxpPEoBZnDRS7gvpSMS4FCPO8bOvXW9wuAh7Y8pW+9UMlHA6dVH4Ie1+gvZF4wgFjgkwYbluT4HdXyhsc+zyDzexwkySl5llSINP91GHSMXz+KGdEKRjXoONic+xJocmxgPh3/g7pLdRJOQavnsx/B5Y00PYFUTG+MOnN8gnatx5CNm4fp74povxp5lal0iEJWaw/0JsvvTSSDvg1M8z1osBs2Kz28C70gfcvyEgxyqNUIGbU49j0OO+nDVpD7qLZTTUk0bK8Pr/djiS0WPvY3W7u3+G2znifrJr1MMMlH7Ojy/ndMLZuaP/xZ9PtLsfCwyCxvDiOd2b0kZ5itlkggu/xQ/fYTXNkYvFbLBpay54/vHUGh6g0KRVTLgd5WMisuJm8awiW1yGKpT9EBYfEKYgLX9KMkcfGD+JYzwFJ+B5eqTHsbXPhZkVu3JP+BC9bgOpudghGRo2+0+ybTupEmmSXhQCgq3mZBZho1oCc1tsziNDd+8NE8UN0KD82Ag6SdSE1xBHESa7ZXuB0776KhRdeFOoXwrO1mcaL3IhMFjnGLAMLwfA/oSiQpikHmajnFbCHw/ST+54TDN+mOOC1HJx5bkGGmKgvEMrboOe2xPT+m9wWK65VK2TlOmEX572WVarsWK3r0m3eSQCuCCRN4dcrZT2KeuY3rzxq7josmL+S3CtTOa4z3n21Ub0wQwffkimVOAudFEHaN/eDkJiBwnu9FZGzP9uB6VS6ojc6E/0O+dLDvIPFiX6uuHN0D/tHSH788Xp+fcZ5HUf/lNz8r5vTeHzfYtcWdL/VIKkw7T+C7FXxrj2g3bHt3sZe1s01y2IJcz/5Aeu/oXJOXK+xbBVpFaqfn5YJPCyoLBqano6LEY3R97PxqvF+ilgvGgU8owaBMjgZRpEZHxSJYROjMsjSvkDRBR5TJfXa1yHnVEjt0KXkf7HntahEF35nkOnl1zRqCm/ZVhXCfI34zL6M9cqINPK13MIY/iXKV2Qy8LsMiwMqOgilyZjtlWbhDgNBtdaEtps2nISi7G6IBwjden/+mMWv8U8F6BJr3jKzXFuA6dfCcKkP0osqdDvJkZ78Ch6uyCmTNcmtKZftht3ck7Hdc4uiq4uaFVNgM7rtfCCcV7DFYjH8ugjCi/ZezMTW+n6ZiRGoW6rb2ztsqg0C/WplaIzvgQohEj4rME+TBcx+cNdDIYSn9nC1Tdcl7V93idfcZL2HLWbgazLJCBC1+dAyP5sN7HKjm6uw4WsEgVZkGjTHAAYcGlRKQWWuKpf79962GqXLq9P3+sjDjaejGo9W1peune0Lv+0/Ol66Vfx2NxV82nTV33vkM3j509rZ+rddiT0X1iBlu58+MSLXvQSTCpwuPqAFP82IEZo2Yy+D5NQVOhPJq1+U4Vh6/ExZ7fsEVwprglEQt/IGHL74utIIykBn5Z8Ol6EokxtWPSGPcrC8B7E/YHVzBQSn95eDX0J9lZO5UP7JM8LvLYDi4fT76H+lIpMSVZx7sFDsqlc7tgGL2xXDTXJm23jGmZ1LbLkaSTqexNglnNoHZBqPuYz3m/JL0HbrGfm8GBpzEcQ4oOw18GZwKIZXJzGz14b/NHshThMTETiy5DWXIC38lcJdgDk1ZVQ5qEh4BJFJbkxIjZAE+DvttqxAC+3KoZsSMJtRJQwq/TpoUOkz5w7zcr+9Gjws+hjyYILdj54SNb+WPFN+MbBQ0oUFav95MMbWods2KpffhQLx91Gmbm5FqBLSZAtr65EK0rLzCsjUaeTcJdY8j9wSZasg+XznV8OiLYOULWMKfo95ZQNFpEsm7t3cOruGLX8t1fu52t7eUK/1v15xSdm/M3QNIb4NeKhvVOdnekzxug5g0gOOI9C3WfNN8Su3gDMHi75GxSLArJaB22sZOTJFj7U2S34O0TjkhcjZuari6o0d4+LqALY1R8lcJTM1VSYqvindZ1TizkaZqb3mLf/GBhFdTtUYo8feWTY//7itZbJdz5ef7jvN7GcbRym7eoxotpCeOw4RbCtDNkcX44Opon/48wh7FtnXKI+M8ugiyPjgzjx1OzB+R3LpAb6Ripm9Cf0WO9DLRcVrMpuQQD+n6KCY+J8a7TNawA1wlVp5Mq7cQMnImFygX3aPd9QtyOjeGvrV6Pp3Tu0P5HXc6zbqpKrgDWYxv2EiuedH6SDNBSrGpPgXt4I9+AFkwul1pnm0IhkYe/kV6euZ2+Fk5fsFPKd+5Pt1jTbcr7z3jiStZmXtDMp09ofa1vgHk98lM3mdtK7atNttc/L0LwaHTwfuEfnAhpMgZq0vZVmvaxTjnpwD8yKYwxfSlHYDadrBw287fssn5ZDy2H5Qv0CvWSNIa/HGLHEwqkoh4sCEuBUtFc47KGPg/338SpqVOPupBBYp/1uUaEklZtv/4Kyi6Kbe+CTTmPZJmrw7Qpi7SvdTB1F0lr+L76MCdI3y6vhyiRuId+/EDwaSBTPmI5FLdTeGjzgLNpqZq8fb2oThDry4I58PJYc0ZPgNWaizfP1VzVxZvECfYjDmurswnBU7aMk3HIL0wT2JjCPpSv500lcIohTIam92OFp/NHzpfWh4z6Km7cWD3BGG7e/HwhYBLztrsrNkGCv3aUUEBNFLva4VFZW2ErOprmx17SIj/Bdbe64f2NpZ4PYuuvPXc9y5l/X7SaLYLd7jaazp/en9z//ZaZNevK+G2AWzGqz7PU4GeoCFPgTx/5+LrFqU/oBcrd8fhjvx/SpMOWNcbx2WnJYYrvKpHXy26t/6WxwCyoST8c0QdV5mO3QaiyR4IzZXwYmD4aD6puM2imGqC2CW1joCqqqolqQiH60o+gxEGnTCGC2stEQweT7GpiZg5+DtXXegOcMMWJvwqNiO28Xr4aDp3ea/kL8/76vrjN3fSO3u6j3oGm8xEjniTlsDLgB/OGTbP2xHsrLVLskajxnvn2BbzwyUE2ip0vERI9l87AGdqErHCoWyBeZjH5/gafWfK2HJ2rAzR2ZH2TmppqKznOvzw7vZh2YouSIrWCVC4uz0Fa8mSZTdUSVSEpEcJlxA6P44x2gnJ4/jP5S6+BLdbcGGeRkYaScrZ7LLnr6FhisiuNEvOUkp11jfLE9zHWuFLhvGDLuGpjf9pIGIfUp10eJE44ePXzq8fTnJXHP99FvhHfedtsZ1k7vaR6cm90WlQ8RguPDjHoE3cmCpOpsFoOpWUn63IrXuMvdX7G42rMV1clIhpIAv49SBWWMUFbwik/SJQggv8luqf4BrC6j86Nw6yZLUfuPBEdI68RRB8sTdJUWz1KCHeJjFt2jAAoGg8Mlznkigsxquv4p6YimrKnIoIPeu0WkdvfabkW4lod9exVW/ZxJ12J6oTuWUJhIfUBGkus1/bWpZ4YewkRbBdFBZqP5eNKrF58ROp3dO4uX9W8c6omdk4bzFVM+h4tOI7Sxb2Hr5C5cw5Jsfx3RtxkETXWtS+N7psu99qRkyk7dB8ufTU6Zs2ZlmpHJ7oXLsf+xGN/u3F0S/wjLX3LrE76lUf/+TkaL6vkdQ9nM49ZBR2g5+TtrCGdYYKf5WWf36UYlszBWRFo6JBwTVDKcWD1qpktFL3tkGg+XxXI7UYZbNwOLomdOEggxl014XPDW7FgiPhsnGZ0Ru+bZXS5qXFFgK/Xl4vjHGPglj1DKTT6BfbaDUXWbKvpPTDnUS7zlZi+6AKTNOJR6YUpSalv0FTae7Fkz02h36cgh6BR+EOJXdbjZXJuZWTmL/s/6H+zxG33cd6/WAeaK2mab17ZBtgEj9d9osGfV4iL7yylYUYlQoJ3g5oI8n2MMvWwK6HwmyG9dTQyz3Iaqsrl2UITSLS1H1La0RBZlQ5XDYvhA81EFyoMe37C6U0ukZ4Sc1bQjfNXjI3n4FluV8OLuJ/NG1nIjSFNccKqxwWtUoT/ca0SPmx6lQliwIOO8qhR65Bqb0sPkEym5skGNy3dsxKXoBC8G51twaWJ7WnJdru9sDSQo0OsVK+p26SKZLjipCg8dsfvbjv7yJyddKDqneFsjta67Xja4VTqUW16Po39BM9edWWwAovBwpJ+wBrR0Z3VHSmaiF/5orwzSJbL56OMSdrBSB+QsF2uZT467evAvOAknc3CGCXJIt3rZhixUiql/M7dKWlgiZNPbh9tArvszv8rqzHtSANJ1ivdnrd0zTtGaOowZeL2rljNJ7Kv4OvxPYlAxzAmOiepdDktrAHHqLzt/qZzvSabEBOr1WzPPtKXoPoxs2kSF1Kz5QJ03ikO3u+ywfWTeIyoz59au0hC/XB9cQbZUDtW3VurvTD//Nn2Rbej+uM3mtupfifL2nGpN7OrWLijTIr/EJFTjiT5R6JaxypWWjcZqUgT6pJUDDcMxxOo6rkLtjrQ1mTex9eRimTi6g2TXr2p0vY3Uairshn+qfCeliJ0b/T1O9mkZ9WjgPmm/CC8TnpsPLZeAkkKET15MU6VN6mFswuFYn8f3PnM9QpJhMXyEhrVXm9cQ6VCq1PokEE53dbFZ34MrZxEimaWJF6+r1V+8VyTDKpVxu84TP+yMILz8gGDFTEjKlbCVprIe7e8g7qVfr3xjob2mikhJcglw4yMw/cgkOatHebkFHOiQBNfk0ApB7mLiYkXzxjIvwtdSg4cTqYKhiRzf46T/JwCCOmLjmUVJbafwSseKhZeAhLT7KZPLO1z226EbVNS0b4BvrlLVc+WBeU3S01QJEkfjOvOVjtKyEdyVymhzQnpBEic5VfPJnFN6YFvCgMKOzAG3V6kDjjQtqaibEI+T8bHRdMkVcvw9ClYOz+byfOP09xJf6A6xOKo6iisw9JOHtJTGfbCu5Og4lCneHjqmfn51OGbW9OiMCfa2WHEl6jUUFixT/EvF6kzss14bLxKgBbmljy2c9B/uz0tFVOhceTYGjLmRIST3I5pbEJE7cOEGdTVV5d5CHqB3wCDxJQ28Sl59WFLUUajXBVoRgInhQq7MZxcAswLgV+PaqxFFwNa+43DkWWnmQOleTDQtIrZIl+oD5/FtO68X7LPrTGfPswLPo0ppCJc9SB5XaeTZczZ2nszoPu7GzzuuQy6vxvIupD1o5sws1VkzmxrZL1ZqOaRhPeEfaZajuubn1F29aW/SJk2xtIaHBN9unAYxaxLSWZk4lcVQESfImtjH/qRgIh/0YcSCfRKGx3+/LynrZ0FYaYngSf/85D5JUSnkaLWwV5T2CNLD6GOl92OQO2n/sFRP1dFwO9bfima7Vd41dYRo/PpZmBdyLbzviLPiugASPj0uGY5ZTKy4y9DgwMzfu173TpvPggPPyKB5VqpCODxZDP6DreQHcSoTUIkOHp1yRWfRJsfX8MMxTVHJcZC4AuU57Kg/rMSfedraALkluL+KwzkdOMLWk6YKY6QQDBdQ7Y9kDSL3tZhc4FNc6LLeDNIyM5z15faxzY2NuXf5Tq4nttvX045uDuMXPZUHvfYuIBR8U9w92JIx0LiIPr0sCDB9S3vqFFnUOdEQgHSwTsUWAH3kUqIRhmNP5uT8di57DtbKzu+vflmpUDCuLD++fyvCruxrSAuTAR2KTg/whC4gAdAL1dkqzSu7j1hEK62IGq1t0F/S+XTdvvOwuPz99r986pCT7RfZYccDW73waBW608lkF48/ZW4o1VrHcysvSKFYRPPzuxxDTwof/tnnshOQdHPZJQJQ7kqZSZSWZxnp1hWt80meinlGK+/tdpr9M6Hjmp/ytn01aZLtrPW4psTIwXWba4cdCp0PpoM/K3rpU0SZOlQc2GUFP2M3vt7As4mIcmNTNXHewluVK05/KqQI9qk5Yak4ft6R3btb8LRF0gULop5svwNcAjnbxKwRFASYCvWNUda3AYb+zlXWvJ7cxCZKrO2XfNrqvOtHuiGSGTj2b4SpzzHVj4HMkLycrdW3G/kXzxBJUk3M/OubI24HWgs+7sdGISlML6Md6G9kU383lZa9TaUo0pJ52KQeTQrYrfaB7T7C3fLccWt6WTjrHASw+3TFA8xmmjSRGldJ9qUHmIsNBFpu0/0N57yZNfYrbc2y/n6w+Pj839uclTb/XF49A29mii9ouiLL4iuEKQ2gyok+uTSO0lkPWyaYcYVQx7w+zHZIEpmCgf1zVmbu/Gj0mZ+D+LtjSca7Q1DeyHAqciwaHu7jRxFvkzDncxIzwhFl03hYedJSyk6A+5NwMI1SNpasLXvB8f4OxxfKWP/K8w6KnqAzgAqmNduHcnntoaBOAcExCnvdIoxxE5uFBopxtXhVSVevQ0PXmMpyybNWcsaVd8+Xt6LulGtkWgS/qXByNUPAX6OkuyZnQ+kts/fZsa5Mu4I4d7nO/VdijXW3aqPAbTnV6gzJ3y9yJMRHmSlSH6MdVGJzk4VQCvXKWXXtiVTQePe8hqZa8/hhP14H8f0UeSJrc+Tduz30aRIMpWKUdRj1MCZmkrrDn17SzMhozNaBSpE22myjnvtDVDiK6xiSX8Rhv848VU9W/H4wwD/UC27k7KmIzrNy/VJjdMIL99FHkA6ryxE9et7zDFSZFr369kOOUZlYn5izmU+efro5rozjWnAdffzV/JnTa7NZ596n6AX3443gArXcvUz5Ew+ZtWptujp6Uo7dZyp/S42UNAJt4TcnT0QzxqRnqZ1FRRmoc12BGs59GffV6eQwEZDYVE3hiqbq1L8T6lZjw7ZJnHgpf3Sj2jpoZKgcohFTlFMiZM2fqx1OI+X0FYpbymwGP0Iq5ka09QtSSQlSVC3DQErgQFufDAp346/6I+h/+07/av7+tNOOQpzLCQbYHGNlkISj9xB2Z5cYygNJBs/QaV2Ae3D/CBsbEjmL1/RGj2vHCqJ7voGrkX1nFlQZklWoC2RnasD+vzvkPpqSyNlY7A9Ufh3nawRsvm2BE/TLW7rUKzI6bVeqWCGNC8ZsxImhYKxGX6qTD4Ktzsf724b7+5YB4c5ddlTzv0AzAYiE4j8VadxWyrdCCMmiRY0uZEeXhJCWy8tjz6MX06dCF1g8QkSb0oG4PcNkV3/HuGO4mPXNFFgieZh21SndaUemMh0zO2uZixisNh89kZKTdH5mZYFTEeYIpm3JTTiyycS56fefllMyh1yXo7KK1BGUCsXSkSgyZJP4SHCGHOs6otg4Iyrio05QAX+flJj9S92Mfd0oByUKhohdozYpkHth6B8H8GxKoptxSTUeQMUx4Y+Lr+eqVfa3LNyKhRq35m9JDU/Vl4bKsYesT9WIcqSQmfCkwj+LY4YcYt2lqiraMvO0GSHWUYZIGRuZAxdRP2imepXRV+1B1sIhxAoubMxVgciyD7tPNQM7Mf2+jquZoVwSh6Ql4Gjbw700yXpzfqBPJTjn0w6FDYbM5yGXwNArENECqIBIBgR/YsDAACcVVpUSRvkPlQ7G90+rGob3eVzG70lh8Mernqwdk4hnnnIGqIzaH5vgAbqCcoeyz+P3yKduqjGrh6f4KcPtIkgZMWtli4rxGdV8CyiUI4kCfQ9nQ8k3nbho02N4QQ3HHVJLrAqhukTNBxG0anCSIzm9inSQi6j5/pjRReS2eQR4tblYxKE2EUPp60KGIQ5+Kw1Mq2TqWJEjy5jPNXjoFw1gpcOUP4R+uHkRoOfXrTzUV5NoUwyBoN4qFwfs+aHKDP5i/EKE4HoOmxx9vRE0bhSl9PNadXxlyklii8kcQafypYjtsxiSJKoLd1MxzjvFayd0A9TwPLTQVYoiHCk+7p5sDBJhS/+hGLc76y0PSfmXG0UhBpPshpOOTrjUCfSaiQrhfviG5HhV7AuZLMpcPXnIrsikGpcz305A/V9msK5czyGF0TF0mnmOhMjr8nJyg7mcTnsaNfFaSy0fuCGaxYo4yIP4ziZckg0+uO1wYZYZRgPWShwi1XVjcp2Tb5sa8sNqymG7zyHVwcZjL2vwK+eGr9MY/CxLBpNKPQfxagfbIMYxswSbOeMGTVQFLwByH9rWyW1lIPey5QHFKP8hs5pT1LxU4d8oj+DCQUpJtcLE0UOb+DWyxTGH6lLt/DC6nmbE9K7qour4Z1xBVsKIFLqVmgsH5wjmetCxl/vmAnx9HNc1Aqf1WRUQ8WntMANBMFlkN/R7sMMLbI8k+FoIVTp5KeFXi1ER2l8/FIH4/gBGtwuVgqHx9iDn+PHtjJS+FFesxauHSj3CkE/RVAJqt8/Bci2RhnX/C71leXvlk8FhlEkC7R+LAEZs06F9aVnUjFeJ/RW10+HpY1HlHpaeyTysXQLpsfymL4EjuNHzWUwXmNGJ/Hw/g3KMeFJrBUe2jrcGjzNsAohs7tAHF2A/wFaXY1C29AlVyuytQUnd9GZFgeX3s9UBcaf9e4db1VxVYmV1TUg5mGeJnIxTrUZJURzuQG2GNIp4dLOJSIheD4JGzAE46ByskIs3ToYAwcFyeG24ZPcdCknkfzOebUr6IABXr93KP3IUSggk+UNMATYVSYW6pQfq/ORAPrVByUdkhjLTTA3KAL2I6pXhmTkQkYuugVDbUErBwNNvBhTs8VxUsZoeyC5hskT9ioaYYTrFK1g20mSvuAX2uLW4c0i4sRRingAhlIgvaWzlYc2oXjK9NHC4b1rtoKZmow86tzLfIrslwMIFe9zR44Ih4d2k0zYJXMtn4GFi2jBhTixH9G78b9d27VDl8/dPVrNrxuGTV1LlcgCx8+7f3DCyTxNzEePCIOCJioMP04FmpMtYDH+6BrOJfx81e6MSrPxNCYPhOOjq8PQzLcUNaZyzMowZnev9gmyN4AbtGNdhcVQrmYVxtLYTmTrG2o0fy7EC56yPU7qFCnTPD5wQh1lhlUZlN2B3zuQDkdJdaGE2HyaDlV61BpNXUZufZ02+zOD3Sh6/PUNEOwT/s3IJvbsyDCv69AsfFnuulXm4yiJzf3G++VS1//7Mb6kOmvL5Wet8cxcjjfALLLa/d/aV5hu5fP7m9f2MkK9h4LSQ8WZXCPM0n9/L91KydKdkZH6ysAl/2sGW4dl5I7XZ1pCk5Oad5ooo8mwHm2yy7+/g5RNI/UfHs8dLp7fAGJdGkPMgo/FLJIhgrTiocu/X2rv9R5m+GtptGqf0J4/toSe+9bvdHtWe8IHKnVH5CZMfPzWc5378uGkWu++AmlO7VrHYqblVe0NUPpFo/L7rOuw/kRrD/x+uL3BFP5xDdcwFygxl2EhvbBfgPkU30oQ7bvzCFIJ0ZdpZadgeomwzIy2qd7b6qmxxRr1bOFG/wOMajwmQs/vfk5D/hvXipmLLFKgXltSh7PfK+R+DPATu4/fgm0Qh6Y65zBvcNoViuOWgtPS4jlCWIB/g7j4F90nFxcSsMqSjTF1uLRz5VzXjX6RDJ9hTnRi6gQ4kSt3Jb8BRMX/MA+i9G8lRfe1EPvrhBSZ+OuwZfBhvZ9fs0teHg6wb+hRyeXZALSNrnRtjKbt5rtGswBdEAVBXAnI6iExR17kNsuiZmaZ1IfYezDO96ot7nkB96wXqUCkFNT+0UydRmEfa6wJPfpcnvCIf+ML5qU7oggVIMssR48rv/UfM7WHiswDYNpKN5zv+VgXV2cIY3lHTmp4PUo3DDR5EULYlz0GdDDj8XCEDxV6hDSrM4n3ht25Kziq1tj6gZz28jvU0VIwUXN6ChuPBDEs8oDfNIpUZnHdDQZ6+l5sX50JpjdrLdwEjVwaB+Foho6v7va01Sgw3eswVRMvuCfXiBzLGNJtSml70/+KTdMd5ZhAXaaY0RD4xMd8Nbpjczee3gDitWtnNayHLxBRAUtfEt2HigYs2ZH546JKejNP2w/WD6xjaix9M7Zndf1f4t2lXo/ys9sUUyN+ZniL2HyLquusZWfQZgjJIKDq2d/4/Wfusum18fVpV6Ntyjh6pGX3rnDH5sXq5aa/0iUDiUX5ZSqWVbmGmW9cLQ3Zhm3aOzd4GKlq9XxRSognKy6fRNo2eatNOLjiI0Y0LiurFg8XYz6Da6R5qP9a9ZHRaMmufk71q9k5WnTtXo8+Qz+rCbedncumnDz8XEKJIKqLQvq2oH+EfpqRUCnpOv7sWL2UcxRrXyDVCIG6IPJTYzaMyn3p3hOfdup68d4siUc9e90qrp4g/cSMP6W7vL0lnCJH+kf+3K/doc9n5CTlXncyZYK98ONII4cJOp8BDBv7zOIF8/Mnr8erg4OrP27vb7vw5UVEwAycnDXTNaxg0Obq6mZUQ3KrEKemE4sKnaxchQYLX4Ec8wAIJ9KgO2ebel2oZlF9/BofTCjiWceiYy4CeHk9qTr2clZL85FHg71X2medrCOYSCKnVU26YxhlslclBtRoDyawJ1c0ZwNF+dBdmT6Nu41IPzu2qmVGGuQOUc+SOgNvmos/2fvOaNF+7pcK8cDrp6B7vB1A00T4adYjl7jVNIxGpdsj7YUk/fAhYaium7oN10OiiEVJp0oYmdE4QNVZHovgjpbLArjMFxhGMghrl66mwUeFshjF1n8aU87aVyNn58feknDKG3+0PCCtktNgr9fHq5CHqjyeWSJhJg2bw6mLpOBizCmHR7Gl6r74f5WbgaWifedWNqEFqwYafk8FIIoSWv4IAIQcYZiDjP4FU/vUf36cwbnh1Dpo10InACI7Xc+0AO97rA5t5Mo3wPwPI6Q+SAwiPWqQdrMpsm5/0wXcjqMAYALg1vQGyGBL4SLdJbZ5RIa7/x0m2OXHTDNSrlGOMYKqdxA/GCsHUfhE8CHFMMPpI+GkN0bY9nrsVZzxp56CtpZCtcMwd+BpIlQ9ydkEC+hxsjxB+ekyMNaxped0AkIopRKmS1KjHN0mgMpASveOjFsmiobnAY9na7AKycMWf1hCDmcCLZVLaGFnwzf2Iu9nj0NsyfYbwOHB57VjvVn312EGS87vjpGbvSZguTA2pXOw3zwBkiwglfxArkZUKguE0hXgLK0CxStT8n5MKKNZLGwJ89ddndcc6OKNH4BuUlkGWo2QeCyBbkTD6Pm54reHFATUeCbCWAejFmp4FuLudRArrrTZwMwYkcxxzDAa9Nr/XHtfF7uDi3sDeJSfxGm4b7fk9mfKdOfxMF0SiqmiBwxvMY/hsRzt60wrJwv/FOy7Z4AiKAELo6SrPIhpaMiKArngycwQpJqg3FQSkTy/NFggtKiJU4C7/qp4L6VXvS/Of3pWYzd9tpva867eALTifgK/n3dO/Ot3xLq0+m8MM/7tG3sPBiuX1gNULcIHTL+RtqnrkSe+HzE2hfDDN3v9oD+w2984e5158XjR7l+e0Uf0ie70/pb7LzOspS5j+NPaU7l1+waw8LXw/daxs+WwMOXLfZiP8Ve+kjwdKtz0q8lb3p+GzzRqEcKiAKrKy9Dot5IiRcGk5cr3M9veJXlvvN6f13ttyOScMcGAz5SI6DLYLP3A5MZnwazMq5+btdhewwUmzPAqHOQHT+HEqDqNY3Vd8EZz9aG6z2UWsFKlExVdND4TvV8AbhCjh+auWts7FPTBCrSKcngGjRIQqew/6R1GBUgUQdv81Y2LicKAR6/VZI3oi3n6yVIMo0kU0VB+U7J03c9Wk7iseOUQRwkndFQhBOY9LAAWcy8qAqo0+fq63K3MqGr5/MtIBEAspf7sL2awxPP85Z480xB3yqLxNYKvUA/cHMMDbKApUmTkB+senksVTvs5CxjJaWPjxhd7J/XKsKdj5eRcfz4w9lu3uPjMxfPK3d/aWBTV22LbhsypX7pNkkxrFYrhdKN+aQsK4GQCNUOYCJzcOFxpGYxJ3+4nswtzPpHiNoFQBsGvC8tw5EHCGCZVRLe577YPu81Te7b1VcFw8V5cNbT6GxO/U7hTvgyvkEwSBpwxVbYHLBP64XDUycNJ1IEBXkpFw4wpMlOaGB4qB0917Hp1qoMGVnRc35MaCGSNCm+Ng3q1A7uwLRvaCtH62qg8BTgHRJGTqz+b7sx/vI2uTd/UDVeMuSny0PrIS3Ptb5xqZioZHRdzIk0bcoh7jClfhRsyvH3CKekOkDCbeq+DjsQCRvX6+YeH1AHLJ7ApHHfiBR/hfcJqACapOUC5DegMJUxtRYbTT9nlXuuTc+8JWvylwGxMguKIQTK+zpQjhxYfQ9mG5cx+azVYqc8wdxrtGICHqN96f5xeFLDHVXNKQHAPPN+tu6D9v8p7q6i62q5L8ODu7u7uTnA5SHB3d3cI7u7uTpDgkkDwgx0guEOQA8GDO/T7fqOqxl/VXTc9uvumx5j7Zl/sq71krmc+a3JwMUqpD/XF8hA4oDkJq9IdTXSrrdxbynyZGuthMbdAajBXVAIo6OdCPHfhBMfRkkUL6gpqMZMM3Zlbw8gl4KxkKgGeM0f7kIwDhtO3nee46HaiY/qURptdT0whlu6gOBfz2Wv4WUR0uLM4cRm3+Dzz2KEBqPgL9ayH5gXE+QaS0B/JkwB/2aPp2bEphvHPKy/9dzhocCkBZF/8NdM4KihOU87JTfvnLu/eU6rbRRv+PpN92quhNtV93n+RzzmVnoSTwRD/ANC4Un2yfUg5BRHnnMSSf3mX25YKnr2kWEnkJRxaXiFl2ng/RhcSd72TGPwAtLDpvm69uxq/GPbXLzmpnzoW4/5UeBcKHif8dE/XFP75XVxEI7N0Bqfx6G/13GUtatzL6Ge1sIXA6/U/8svwkm9jEOSC9/+aZ6QQVC6nHMso9IgQHigyGfmF/7OyQLIAwRA/2D/9wqTuVNj7BA535PnvDzZmKfUTFAWmasuS8f34hka6M2hcVpdEC72n8WyTMX+kneXUwvlIj/lvQIcuAn2w+m5OlqgljV7J+1iefTWHzmR7M4WHnCW92rRTUywa7zwK/QXijLJU20INlwJQ4s+iezRgVIDye/K7MJL17y6D3Q33KZ1Us83w9bQT9JssXVVrZXTYGq01WsuhZnsXZ7dEUVotrNSWbKCcKA7KJA1MiLKjm04m/g0amjPdxlpg0M7npq3zkJKVp8CX4IL1x1B3767jdoZUNp0NXd6meku/CEYafSGFsdMA9SRIo2oza66SEDVn+bIwUQpEg7OrqzDAagbYW33HjFOjYQ85t45uk2NcdbJGA3fLhRBNrP6g5K5MlaFvIaAuXCsmwcfFAVASmlqmNSmzxLFUSMcxka0VKmosX0ShpGszAdGn+/ffyXdMD59eNvoag7fXhzPSwV/XCp6wthO/D/0uWhZKvd8xt8aSp81hVFyWMbpuqF1ND0f7pzv1QyB9yVnTDjNnPj+m6QPzSv/MNJYJ+mOhArVilNREyELDM9FVwjG6TXnG2nwU2eQifD1BJcc/tlkmorFaaxqQDlqOAsom7teDDE/WFKe5+dAYRvM2ZWoY2VceHx/vgu5L99qZ/7j7uvAjjJ8i4kZfjFuvD1xUkU3x0rD1LBUIlUvU0iP+wLRT1QLvqYUqVhMXH8ACJRRwq7DWTpbihW39+eOuxsaxvfLi7lg9je+jhVNQIUQs+WnVNqH9a79zjCzTi6Y7hiTZuI4Rl0E7m7qo7ahcQu3JMrXmbDV98N/x/hfxU2GoGSeAEB4r1BwxlDN+CHGIclUSU9ZVrYHy3wOyk75vjhtL+pbe6UFNWLOt8MRvnVO3eFL1wbdar3U9N2dQmR+AExZth1Jt1+34kiwB8S+h3CVvsg6N8CXeRuQNGGkslsHNfDsPu4j1FNpuAc3iMo1JzwMrITuR1BG0BhqZJK//RM4wSWrJ8Klf8MoL28tR/koqy8pr5DuF4fB9/5rrjuhyb9g/ZE3284R1ifjO0+f3Im+dGph85YuXxkIt12iThDoh2LISExv12Kmv5qjIqwf6okzujqRRmIPmj7ryxjb25HOIA4gJLBKyi6H2r7+2MZ6Zg5VYn+4/AJMht6dfOxi2FNSs9TEi+x7M5KRGGQT2X78IEdnJqGEgK5sXcgUDTUp9BSvCvOwxRxaZ3RElcJRd6RSQhISGWK+HSR00MomfvIZPMxkAbkcNn7GWD/8Cb679bXwnOI41soE9qOH6LH4uyVH2P/W0yB66Ulb3uDyk7KMzcYjxmFQgYXaDOvCXb8Wzpp1fQ+YDJ/jJVo0BY9/1HrjNrdactVCzmR7CL86iYBMoLaxbGeqchAOR7dVKmSvRuKpXygYhUR1QBrnrf/YQGIZIUoH7oKZWG5ATCHYxSJ12hoQuy/wxhEBWc3NF32h0sfr2sBYTzqvhrDbiUGj8IDkaZi7PkutW9fOlEqwBfyfEQQ66CbflNGKCNe6qOsz8b6HivHzcsuuEPANUV8/5mXvtKzpnLgRWT6BZ0deUWQ/WFlWyGzTeDRdpDjXEIZqf9W4nxPEFohTgAT+mj1Lpi88jUAYiRCY8s7dwT7IQLO/CWccVySy0qaJW5Azw/lKksIDpMZS/eWAjP98j2NVaqmOlphawI6FNJ9n3rNbnkfkntXzji6tOi0VbgnIWtdZTMqFHFLMWKSW2lAcSYFpwXw56khGa0wIRJnDDi3hApWfUE3jL3uiwKNDDzwr8vd1HVUFlQDeeDJ2ZgF1sPGTOrMnI2BYn2AJrnQtIpG5u3O4s3z1N1yNgDJBN9EGLmmhvKF1dD0dpwcwEMbA5UfC08FfAFpYJZJlt8frou+NxR5Fjbmbsc8Smxw58FxCmlsHGyPZoEhvMBYXkeYxUdeIlXgXJ3nsKZ/3INSNZpcGqhqAnXzAAUkmrJCbkCnfk5WIjVrqZsBjVqjWar5F4iE0snyTHjRpdrKbEfr4tmo3M9SuGO/7k1akMlsHB42sSdZ7MoWa9QxwULKjtrvKEHBBXH4qy0cVRL1S0dJ94+Uafys54NoSMzSAOq9vSqXA1PLUwTY4fUhtUce5U+E3SnzI5xHZXM0pSeVJPxI8fNEoCRU00e9li9yICV33RLReRL88NrVZ60ActqqebCiZbLnriNdJsTDMkLeOtPSWkDZGFRgezmX9lShBsHSuk4xG5eH8Cy5MJbXLD2ZNqduRufiu1X4/QAVMskQ28IlMhDf9NDEttjuYec8+9pcecqTHmNrNw92v4gu1jY+OziOnjn1GnoL+hkYqCcOFek6toIoKkUR8/lL3lAXlING412p4O8/U1hVzbmkdW52q2z4mLjaNXx1qwj/Ltn2UqizvtWUeTD0HTw0SioJahDyKNGvllbPzpenrocq25Nly57Hhr7xo7fjN+L3hdJHlZyXuQRk6w8oax7/hbebxYP71+leeu6YabrRiVfS46ls44Jdy8epUNvUjl5aHQQ51ALBmnzcCkKJ9qT8krxHNVtIgwzkHK3e3Io2OUfrjl4ORhr8iwYtR78t2RiJlccqTGTTJha1uHhGoUfcJgpHkZupz9DzWFD1i1Ux03vZJ1Ue6Me+g6XW5kisq1ZVnieX79OnpSAntRnyafW5euBRJqE4ngzxAxDVDmpKRwi5Q63ysdSANaIy6Sp+kj0Gll7mvWKZeWpZcJhyN4zFBeKyMq0+4pIybwVkDjoBDKQEVSd5y7Pi7+ucO3iyiO9cgo0dtYS5aO44c6dpk09x6gH3DmFsgsMiKjm6s0UfRRTuUUzURKVCHRLXRYvMp+nCpvzjZcl0RHqeVT/XM1pcCwKW8CCwwfOYrg/8wxqEvVHYscnjaJlGAdDVlhBECtyLVvhu5lcUdcWE9rrO5J2hohsSryf22oE9Z9MhkLCjoPekB0kukgZTDmX/rOPd/p89odqa5smWMuL7KNwpjBpkWSOYaTLqBAUXbt28/HTX83Wc7BTTOewslqsvUVkTZtgaYsJ/t90krZqSwdWg1BhiY5WZiW3xPlL/nQlw2ZSfqNtQH2ME0vAelAlpYH6ndrOO/nb617otZDoC/JxA0jLv7D1GaFckPmckYVygaopYNZZPOwkpw/YjvSUI3plCv7kTr5qCZRsIL1RrivFev97oyvHxJ863n22YDLQv+KHKEdaSpus23TLZP5TdEn1gbviJws2lX04Yn/IaeEo1cDgty8U78wfu2U0N1I8KEF+aPwbIxK1wq9Fl/WrJyeX5293nV/AEj8qFxa/iF51YRoW3gbB3ptBpwHBmbZkNUSdq9sZHDQXxPtcCiCI7DWT8YWm1VbmOnuz5wLDTzymfKf7yN7ruEmZqBC2e2FfOhHOMZ9cIQasN0K103ERlPQXCYqVE3MXPQjD/Rz97pvFyGJKNBbdB4eKo5QzTdxa+IRgqr/vZuk+A9rbXpZvnnUtHtYhJd526v5Kqmm91L5AYB0rHDUv8W+jU2fGn6dIPhf32BQeuA8Ql9irMFY93viGAwT/9/io+fPL6/BpucPz6f5auY94+/E6t+CQl2K8fiwYjP2k0qm55Y1Ehlh/ecsuHGergj+SdyZkDCeBr37GJlBxnDkW2trxPIE9nuAc8ocRlFay1HS/nLHFE6UjuKoXxePvAYj92/hQwsk5WgyOhQ/F85s+/hxsPtNDp5bbvkBT41oAiDzlJ2D8S7BPmCTatzpkxOhQW8t+v6+D4R9aiHDYgErz204kBXbLHQorjvu84MUXJDBq0aGGOlRjvW8ZYPiWKlRwyrvnkiAjvvEOPv3c8UuN3Ec7GwikqlptD0181k9n4AoGXlqXPjbh46tTSLCLbScMRL0D4BZuSFJSqIF80Ho3rCzYSDb1dsHoOn2W14UeM+fmAJvHFMIRbkTSzC5dcoCOxsvSrBVYZ+b/uDizDUJZSHWitXZ20knz4NOFlG2uPAajHZpbvAzPyJhp2us7fA+4CWgr/hlp8N2t5fMKhAm5n5MzPzNcTkIin74MYNe6SrSxTJ9i2G2VXGumQFy5atYJy9dlRbNy/UkkmARo7dgrrDMrAwqQ8zpYdRzh2A5Bts+4cRfFZT6V4gzBwBTWMSaeyxVPC16YqfdUo+IMpTiBQPapydHMDnsIoyQr0mby4z4cS2Y/6SGbY1aBngLtjGqlVlELNWLQoBZpA5ZzFrEPJmMav7hnPuzgoOow6qCg7HDKpxSRNGIUoSRLNsPaJF+SJAN6uuXxjVDZggrB/GIJqp8VhzodDZcuE9wEDLalMA7iWjyK1+KTvUsWSWqJ4pmWCompvW1wpA01h1uU9lVWtGleZO8jdjjF2k5ri6KOMjxJ2NR9oFBIC4w5lGCvPlfBZme7m0O/GHQFwIdvyYSf+dLtCiDh2bnQGPb6pTPxrynsVtfbLJ4C0dTPa9r3kqL+etUeePn66foOnLg6BwsE5g0fKndzlyJU0+y7M10wn5lxaICnDKpUF3v0u1Jst3nwNpdv5YjSOkMvEXcFAWQccOJW8yN5q2+hD2tSSxsAvFzcMZZCc+ux3kjFtpa+6eKL6r6uNgFDHDjf9sKCZx2cRogpRdp44e1yHlJJhQSkGLL5CGL3pGm/s5iwYuTkNHwsgdOQKu1mPUSSGW2ZQOGoiVU4H9tvf2Td1JSJkLym/EdPd2tPV387QzqWtaqPOTpx2gZcvMcA+Px4L7KdBCnR+Jo1itUlmfSi7bADiUzwgN0MJ0D1sdig6V3SfP/dJKvHhJEVwmhg53/fglNKCf2WJK8ybRvhOKJznIewVcp2CjBEOOdoUfBhl4coW2whR/glE9XUBxlUr3/l5u8rpQ2ftJx8ZSM9bOf+rWAB8ezDLJmZYuquEd8YSKqs5ngobmLR0jomxBnijM1zEKVIDJjGp7qD12IxWs1Pb/xfXorvixu7FjqmGj3dX3AZ6rTC1DOl472GrvMKta4nWk9ap3yIVaw4M14wTaHN2bJV7ZYB2/BSDRYP8VW0UzA0vAeLlUyaSO8qvzZeKAueGvK/x4GDeFiUl5DTeHsob7KsrvHjSY2SmH4QfyjY8JVq5o3TjlYNCAhsop7pfvGPJiPHWmKky/i9w4023ITzS0LrlAVF0qPHloM9U8BUhIoJct7Nw/f6ctph0GLSUR8fpED2Vq88F2CMA1PKRotIwFRcLf/45PVE9LzB8D3vdy8seBXmcxqHImjA2/j+fSxZplEGLJHOrVUHJWEahYxb92APlJ6NWXrhGph+oA6HQAuGxBKhdaS+l9HG+FjfeglV5pp/2Rd97eKqbsyiG3Mr+MPAJ4Q9nP/CsW6aL8BuRozpf/DE4k/0sun3hATzsV+LYmby2v+a5z7EL/3XvNSEH5nz67SQcp+zllYxAfAwuAU12H9KIoj/VOyaSs8xlucY2nGs0Ym0ZD3f5ttpn3yqzvBFHYNNjRGfB4Y/9T9WqYZ8l8LRK3Ecd+TsxfNKQzl+/51FPyY1n92KzLjLZ2OodbYt1/DdT1mi+7STAhbNKm2+oyDU0eTPxM/8TN1H9f/xq5p+aqLQfhJfhXCgKsvrunENUwlziwIx/8onwNx3avi9o6bVagN16bTUqzLrFZTw1AtE/qNJY/pT78qm69YFSubrx6GicoqBYgIRL7/quORMHcT24lsSTdt5Hdg19QGtpJn9vJbedrQzFtF8pwv8I/+GjFOfUwKIUxDroLihKgPUS90H9uyXFfElqswTjgS2ow6+j58Ef8AWPf9nPX+4dv3ZjL10ASKskHtSlIX5N9vqEorZZs5wi9bgmV3pYsv91TT16Vs28Ru6Smlsh9NZUmHycw2G1Br0pM12+n4bHVUxVBQmzEx7SQ8jDKJqMQ5AC0Pv9oLCMv9G0q7SZ8uBxzvvpC2mLmBh24IxIKPlCE7zFSDlZh5Mfo8Lwm+kHGXS7aO/7sMr1B6il+2wXTUjbPOC+cfAytfLIelm2ukghaqp4Jkj0VuFl4auklJlgknqOMvlYWCS96of8SsU7uvxaRROldcBowA99SQ+4M2bYj9QYhyxHYjNKiETVzIe32X/ozjvXKXOgy/Yl1p1jDQv8t6rzvzuiZ0wv3u+NMKzbj/jJ0SbZ0z7n6+qzURd6QqxRdNx+qpln9xQWOtI4XRjf3oOXX3Ith9zLrYJ5Qu7ym3PYl1oeOUUgs8J4vrlocd/cbpW7mPVNmESjeomZCs6eXKK/CdAOm4bm/nHLrp8SAm0vmizlkg80pOcHp1xjX6ekQs2zvhWkZ7G0cg6md1D3j2KmZETqCHr441Ld0diour69ZbIVm5p08C0WCzinnxeBGXkPa+f6zt5oVlhfhzRQHbuLhvsuPPJssupM3zm7e7Nb/wAEEnaHbJA0yI0Ph8AoNaOAOGPXE4itphO41YYHj2PTzuZ255Hx9dFOOzGjn66Q1X6LF6ohDiHeVDbgsjnM8ejlNhefKosvj1WBdgjuYRtrjBDLKKOlF76ibUFKdRZWVkygm0iE3IDNIl1BgGMXH/6AWM82D+Fg6y5zIcSrLKJEcVvW7a9WsPtwi98GfeANbSbQiBO2MbrHE7kyWXVbwWnZWzqsUYnlJEd3sBDJgvUO2uy+hojUzHOM+clQ8A8kBNbOSKk2U0xUwptyFuP2DkXOp0Vjaw2FiHPfCIsTSYoxVa04jhwa3l4Q9u/ZQ1JHAvMWzauRbcIfI+O/XqUFAkUSREYjrpszt0n2Lgyd8ni1k9pF6ozR5rK5CYhqcTN0lBn9tbGpAsPOBercq0izJEZKfJKnWYFiUNrC4jlcqxMGZV0rPR1nn7U/ek6Xm0CsP0AVjU+brwhCda/QGYnQa8Z96zvDIvhQv7ffe7t43rywP/YGhdC4QFF9roMY0hSFvkcp1SKqbB4RZQWh6fRUszeJVYitoF4Cl8BiUmNUyfK5IpainVf82a1EwSllJB8V/6z1yn77/NdWj2r577uuoptIw9mcpw2JUe76bzE5IPrwoDxQu/ho6btwqVocdID72kHLUcl/vUcSXabRYXrJsiWavNe/4wNBwCeepgH8LbutGRWJSOchd9u7p6+hni29n48hpfrBlydBgaAgzEe8dzPKESwy1MLOFKwEm75wAStzy1wocfzqjFHXqF5JbFx7njB2vjWwWvEC7QNIRmT9WRAAnsYXg8spYpO5KZFLCiI3kXakIuHh/vn/vam8Q+ABTkFx+AgpWT0mGK/3kYxXz9UjJ3NI5vs2GcDs71NfeCyPFNrXXRWyuk+bMb5u/xZB+Ckzh9c9eyZcYIBoXgQqvAtmLEc96NrVUTWwlyCI70DsRzfNQ3HNfM/iofgJJ8qDemM91H7dKSi/iCD8DWf6Zaqh+AF+8l05TqRtu8FlERUQvSmohraihhCU9y4QKLtTY31B65prjZfRd3fWQN1a6bWMH7GGvrdD+2fco5wC/TET0HWkGkvX16d5aKy/Xz3FZYAiqrnm3/QlskgzM7rzAnvCSZZKpkM7S0x5vecjGsEH/abFGb5YuewETrzAER0W+uqoUHdjjsugK8hCaX4gWQItj1xMGvPUVVGkQ2bFnszi5+XERxJAxuowhoyizUoAuqfDystXY3O1PDV4ZcDyhmsTLQRDGJkTrdtYozxWQ/WkDalImwg/mMiovaZgeiVA878yoik934OGd4dsGxPFc3bgO0S/6gDkdXFXvMODT1OO/dFA27e0zVifGotHPWn1MIC87Png2o77tojTGwoxVmxqRFXXtCk+1xU90ZBtKYU0BCiwbVZBiMTCn+oAI2F1opQFYfJkqibJQm0bYJTVMsBSGZUe72emZmT+NukUf1mM5oJfKwakvfIFZlvVxtWCQ1k5QnULDFsFuOZH2la2GGO1l5YpJk6aAwQXgcmK8oJmKQN9LzrlfWIpwBcEgnmQl2c+MiYkaFsiHXMMeFUQbImclQrt8XdZpkk3ts5WQnBRfygjISqTGLTDo/62hRMt//vYeKGvOUfimNZH/4u1m9IOmK9mqJcRM4Bcrx0jk65nnRigm650dKMBuppZOOFlpp07FCzf6bKF6xgacCUT/UYyXTG92U7e7itaZ9oF8GpGXbd313q/clM3I8Z2Ak+iXIoldut8Lu5EgaHZhqzYzftq9sToJRiDtz40/Mf8SDRfi3OY1vjCiVyi0oxOMGsL1Ny3aJjvbz06QgKDDKQ+YSy5pxuJKFZl/R8pbaHSeQ+riI5tpvIT06J7sj6qHbxUJ2QpWVAZsGp5Z9QC13QTNXv3xTSbW9RN+LAqXNTEVr1Emwi7yjkAEPIrAKmWeKTLxWpPL67s/sxqV0C9L6reF1POMXZFS7mHSsxs0XBoNiaWnA/H4HdXvU4mFjd5+ikzXqDjrhae/inVDrj0VNFYtNacdP6mnknYYQ0wH1PHiNkwQNqTOk0xsVzsBRnURMrTaVyhxXapMz7fXHNHv1bryQCLbz7VHC3bjdAq6kvatH9B99UNO809Mkmn+tlNd8qZpLvCaoThCd1Q5mESw8VL/qBWp9lfl9ls+e6Hyg8P4j/D2H8WeOIjF/QchkhPVWZsoPqCmcvU48iywLJ94q6EjgOoNqAinxxlQ+RCsBh9iR8SzzMZOlh905JyhDv+NCyP0DsPssznZ1hix51/uOQvzp8ryZCOPB6/ODaf/05bn+cLriJNo/9PYfnsQJh60ogRVdaB/ejMJYPuiYOIxKdgYAQHVHi6xSdYwGGnTWQyzjkvwhU+gDLeRBGQe1jFyFzwuPXmP4wi2laZQGdVWGOAvAynkfIh7k+5rqJdmnZaH6hXl2ie0q5Hkg9GLCB8Am4e/+mC5ZY6PU8rlbdMU4WmUmHtFQcJK4zPQF81mh4mIjvHR6jdY+IUosgju7VWgGVgKh+BBTZAmAFXPiAwBw65tsmimTuIy+VTLbJiTrDeOdpGt+2YtNaGGW9ETSW2GfAv6+qsG/gt+ZcZc5CYCOCgQsUZKdkYxH2lZu5B/NDwgoIyTuWuB4L2/WsQ+Z39lAfY4t+DJOtjsfZ67r1p/LpTdAzF+vL7RzXxRNDR3cUdR49kZ++aWfoH9lY+Xs8vzbvtgETUsmhCX9U+vYfLFvRWrV+RwK0DPT31JgnBFyVMM63FsO5pkERH5ihaGIGcIyGUx9/QBUPRTEorgnH9rP7sTDHk+LqfwmqoeeJI29buDyhxvTtGq1amKW07cgkm1rF1yd2oTz671RYnQnKOHDcPA2B3cmZayQboXr1ArKUH0AgKsgSwS5P5wbo+7cPePEmPx9GW7PA1VVBiOHBivdaHiNwRttNWpFFh54lWrAzK9xTFLWitOs17gMolC8GeOiLagVioL/ELLEf+8ZYMpBGQl0XL7aawHZhJN/jNBf5b5O0lHKWXreGmiBt6iS+7oK3DYX0c+Sj7P5hWg4JdDAyh1MB8i7GLE/tpf74GHv+kD0H4Aov4WTd5IXwQ3tk/Wfmcn0/Ja0LVa1B8j+DcgKQUwzjmjLxzgy8qSf1QI+VzI7cWNRJQPzzEzcpAxoDy32qOywqbGTpxnYubhvfeSdnKXA65szq4VMJAaplc6uQChCTnqpKCF7DQbEaaLoWNpUdetIOVQb5MEOEBfyQ98QptDFHl1BtooUPxcWW1WJ3d+8S54ij2whYgPahK2sMsYefqY0waJA3HiWDByBTjqSuBVEQjrWK30okHFd3xZMsmQeB7EVqkAqvWA98/AB4QeAZv8JJtPAHiWLv9YuVe6ADVkua7Rxrk8N4I6MU4iyvnJGncwMqVU1ryRWr/iHC3d9e30vqenqP3wIevsh1cUShHWsy3JOEaTPlmdDt7qc3cw3yq9JXCah9QsxA0AlMZqqr/WERiTHmAzJhk1qhcH51ErfcmyB3d2jim6SS7gW/Mn08D7YMPCHT9fC2X3A++QTAaUJLSHCzuLUJSpzdDdnyU/fqZHw7in4YT3CnZovoNay1dYzOnx5yygz6CHMBhTtgvuUSpqsQsaTQx90l5EXd9TPx8iGm1e3dxGkKvDb8u5+22ZP/jP0cSylk81gtmoOznzEjegRWq06/SgGbpGIBQj491bTtMsnHudsfbeNC7coZJjPlYDTNE/WZyEzvYvo/Y4RBBHBt2nOgihJh5FCSf5dtLe3orfibzUvzrc7G+f3PpfGaTFX8J9n14Sxov6OkEumc2crpFInDFFheUmb3L/f9+peZ1TT/7vTTFXRls3Tw8jBptOnfcq4KLvcWaZOH99tiT2lSf3GMMGhL/wT1vEr5wIy17TMjMVsNjclJknIIaNlhIW87uM6xAduyG2Ddo0Z352SILPUmoV1pLSvBJ+U/PgzLta+7u74+llMcYlBMESlU4QWP8lHylfGO5bLE1ad2GJgOrnsK17GkXE0v0ohaSiu9RQtd0WB4RIDRvRv31jGI+z8vIc6GhLWFLs2SfANWWpRO8q84dDZZpYC9eNP5l4rBjEtBmJ6Lx8q7IUEqNlr3x6rnKE0mB+GIqJ7C/v7a0DUXeH/ce2ugrrmq6ROXZ9sL6pTCHtGn8vE+lp2cyLVC6ZMNaeQkaNgt+p+EsrajgmWAvEOzTwhLgZto9h4VlWDRF/WpOh2zpxcnodtGSmMWnLHB2C8DiLwHmyHcFvTYrqrEzFOxvABYKvu+WJ6Jn8h7mqwpc0gyHicsYEuINCY4urjyu/YHlVBPmDr5JabjRQ4kb4isMb7FGUkZn5t3XZmnJDO1drOKSzMqkq/8xOvSTVcTmLcWVUxHu0HGUKqENIrVFfEWVjr8gfg2cJRz1LnxhAuXrKomd1lCF4MWdDEakSIBQ9dBpbKkwSRm5TvhFogtQsJSNmN1MBBXogroJc+eVE8YqyOz30YwV/1Bfe1LMyglGqVDVEjkhkdmQ/5WnWYWitALZeFQQhI7R3mz4RLrBLKk57ZY68IxoxnM0gNH0NlujMUc8O65r86vw+xfe/90n9yt0TZn6Y56fr6+guj5gOQH4h3+vpc77pweffQYec8NtNQO6/CsOysZsxI73AcfsVqg/7EopBpZ7hTqYiTZBUXCOQJx0PSTwoy2LXRwPc1MFRQh3MDtY4lSsoGl5lUqKxFuMzoLKgwTDI4XrCv6B40x1VekK+RG6Zd2wBdpba/m8AczPwpjsFLkCmeFWbeHiOCUSrI74yJuo7hOzaak1/9WVMjX1vvxd15tN9ItdWbWGFG2fMmfRBIYhXHIo2MGpfUSgxPoM9DjTcLRmuEyZGGDNvrk/HRxtFU7EvvV0CDukZQGY3yMx9qxMQ4NvjaA93Ft8iQtWFyPwA1eEmuPZaIU5Ckv0wo9DIwAfy+dU5kT4+VLQx+i6XV11Ya+Csr97agHu4uz3yp5+2TIhSMRTeoBbKWgLAOdbaN7btfggsX5GyPZwIRZa1WC12WNrPKyer1qgzz/GbJtGFNgvMXPUbaSWHbUr/3qbhI2lpzr9Sv1RSgp0RBVzWYEHkFbvquHkZHs4lGEF7qX9g7cBpirIl5YpUePlQ3uSKzVhpBDqXBMVxenLD1Vxy5A8etgl/MAQ7211cV/3ARBsdDzWJz1lmUoLG8z0QTpBaefk5JlGnfucU683YFK6Be97RptbTHTeb/RC6hubIBU3+0Nxis9lBX+H49v3k+f2W7NTy+fFs5t5OCrIRtyUIaI+Nol6c4QdPyREOzSKuPPEC62XBnFUtQOEeGJTKGi3z6buwiIxcQF9mY8KDB1kgiaUo/ldXP1RsZ8e/dYl17obEsppl+gyz7L4d0OHkSElArktAVUxPjj4TwLoTAveOtfFo6enOjnkHLoT+iSXFLhQ8cmKukVIc9og2mFsoxy5eNiLsRmnG3CcIK10SxjRbr3KTPUMjRNCYWgb6EB2nNszukc3T6Ia+cowaqbsqm7zzmNSHN35Knbwuu78J2CidB3UNIHZyR1YgjPKRc6dTOStMyLOvHF/vQk+zNQv7sOc0NcElXB9yZ9ikt2apnHZxSDbMEvF5Pnvz3e1mNFBT+7VHMI5y4jt1l7ve/N+EI3frodt/11n/FCkBZINmwGhXCk7hhGoNK5xMIvTBoe8ucbZl6mnvH2rgrbehSUn8vJbpbKUepCE7hglbqWzvY1PH5UPBr+QZHhtJNpFkCDY6Z0uJgzNmTq7vaWrs6XypqVmLWTJlIXCn8imS3UBYScSjtspxgG25PsVrBqi5CIvX8KNY+rADkHti/OqpGpdkQGY6kARVvf2zQkWyaW/fkYYSXnbOqbHoL8Al+Qt3YF2SfDJ1TqB9/gPrEwv8z2zR634a0qL1LWR2R9iV5pTcKZwaoRsLAxWgZ9SypqthOvcxmPEjsHLlrcNWYe5xDaKEHjVVhlsQToHhIXKaYo3b4+HzxO6Arjjbvygzs9iVd/JvR9UX3IKNR+5xfENX2BFaVKzAPGXZijlqmMDN2rpK2fUKDTlkPSTWP2wNa/98qZMaYjgxAYW2ObB0CwA92gQ5e7RHAq9tfYludvFF/kEIQvbKhRBKEVqdKU0esz6YIaVknLxSjyKGNiHO+Amk084HhQRvEhfMpADSErfkIvAvT7mYwqbpzZAmK8pyo+B4R85gQ+Y9DmgIwXQGDZUEdqwyuw5BSKzaD229WudHUilIsBxKys6I1Zk8absKFihp994mJwzV393yE3LsAmywkV6ty5wnCnwZZmsusU6xoR6QB/P5gZ+77URqx7iXmRMt0TqFWJcshvd+GPCcyLt+QSH24trbwll2k3ZQues/5xZSEw78XEshZH8/8MBqCY1HNA9pM/PyUka6fYKmRXcqsBq2djvNLiFqtJV1i/Ybcw8vOsIT96tbJFZ4hXfSn3eYFRkf3tNQo/Nge9hNqIMYRfGQ0qi29ky9ui6UqXXoAkrgBj9X44Zw02RL8KQySuaprBQOS95Cxs4HDKZqEy5iD3PTANZL9QuZBBGJR/DWYT6MZF8CsF7bum8rZthFgzbA6vNDJaO3JhWUBbUlWCGu8RIRDWnQXbPtWFKb4Nzlxn8D5c/jkHJtV+qE+bhbJe7CvuRv1cVZpLFQSl3qDhMdiDYtMB6Rq3p6NFoYqSEcb05NmXhalyVj8dZqPXW27PqVhzyFyCFGZxI7qklHWPZTe4HhznY6lQDt6kKyBqkrHD2AbWxZLH2qG0Xy3UAWT2/v7dlt5H33AO5u+Via33LLgukFwh4mhYFfb6u+m3m66ralXqHY0bWyxJVgRj8IjgWuaCIa4FbobDL5MrwHV3n6pW1ekSxehsrGyspFq2b17utvVVzA0yC/AzCwbnFubCwjXoJJIzVhm1/NnGmdcSATA1aeofEZhJ7U63ZhxXmU8gQ0saWlUkOZ2wcxg149qUWTW/CH/94ldcVqt0HVGFWluitu9sToMqRX26s9S5IERGslCjaU7wYJ/TZCpEJ8NE/Iwv6+Tek3Hr0NFsDeKkScJk9in9M5HR4otw0EsAZgEojj0fJFeBfoKBT77fDLLJNWZxK9O2hIN5j3/05FCsUN4YaNXmSs75PIedC4HOxtQWkBmqx/Gs+j0FCybs6upd1p+GH3gispsWJbrycjV3VWuE6nrHMQsl6YUb9norexsk+VGTGb86/RksjDuzfQ/YsdGDOZvb0K9RGcImHLnuPWW18XkxcqePYRDn8ith9g1df8s4PpSkPG4ax1cv4iE7Y9Jb5uQ0lUxqK5GhSoYznUQlq7wHfVEiTiXMuJhir7svB/+dy3kJ4ojjTcTzgMlHTJfTwV+Ry1C68a/8puQ+B1zVo8VHwj7NOs3IGxRIDBGizFFtRk0bIRZDfztwJXbSM2HwKqc5j4xECdh3rj+r+NTwVFjk5/GE60gpOsDoPAf5WRtPHp8scYFpx74pVQSboSCMCyTn9YCkSPkCJESvwEfK375MhB6n5W6r9ExUewy0K6+0uCPT7n9fevJdR6Rx103BqJlkA6EmYrxF32a8LDFdMPMN8TUPHfiuL7BUe4qtmMMziWmNMLCKgTSUnhSyjs6pv/aQYb0at0hkgn0s1VHfjGzotiMVqsfvsP/y9Nm9N3K2WXi+1rWX2W6Mcyhak5FrUDB75/3FbLLA7/IUjr6p/yUaLlXUmtU04IywDtXZW2UxVbQZFX9U2mTn1h7vztWFeLFK5/agNNlSFbIF7YHFYla8CmNZEij4RtT7gTtt2YkUaak3t+qfztFrBwsgV9VHqzXBtBVWWbomqYZN+JJcrZ0Bvog/4tLlT9BUOdahkwHiqjzSDwW9QTrKj+JvUW3qLaUl6sGSq2/g4VyZg2cVZ3qcmRW8gGrv68Q9QAvd7WbRyufr+If0PNJf+YjaJre2jdpfJ34AGsNxTCC5gVmP0DeRrdT1yq61MvW18FE8Y/R+uav4gAG+LtK8jQL6Rnl0gwkXrPS0J/cAWl+TwdRljqipJnnFqs1srQCpUP+LZAyRHp0ZBfK1AL8A42mZA5hLbdXWAYzUayeoQ4CsrkRDAXjpeTBT2v6o55T82t0wwjTXShJggntw+ibjrRr8tprShpX3KOypvN4PxTd1k3vZzxRveQdyVvhVQqt/26gjqLyB8eFLqY+du1b1g2nkX+SpBjj8b2+3zDJbSjqFvzG9/1b7wz7TP4uqwLXsjm0L5KTx3EcY6XKOfZI22qEMDVrWjnzJpXR3+iuvrcdiqEsqM2AO8qrnP6DFpAGxMO7TVAYMTPa3DlOZwnJ6PeJ84AajuQ14jJRcg2UUQ2YKasDNQp1zd8cKX5XxYK31SEocOP2/vXnztLpq0m/NXRm1f8OCGm+pgF8MSlGtMcl9230nfux2LIjrTzY1FoiQJvrKvvMetcYib3GXb5tdXqjPORRc6lt2XEXJ7nfz/d1jVEt03NksAL9DQtO3I4FYF1JLmVd/d+SgnvErcnq9paTPYPgVNgBei9m3j0CVjEkok4RsDaF0URWUNsCAxF3QiofElpf8uNVTrVo9pg7WNO9RQNcPB1P26QRq6iysBkGpbXcd07MizGRbAzIkMtmcw2QC4NiwfkqOpj1J5J82wOPqmf4+gChpiTq1Qkbhnz/Ba17TSBiqvcpWHJypT9bHxIzD5dpk4HFfIEHbxScSdO7wKpYbSRXrUwdwfh6OnFJHcjeaFG4//2FQ1zhx7yTk7uPcW6HlCLyfCTwF2WofJGBOZt1gyoVZkPn+DP3IkOLVSFWOvQABVq9TmNAFUsOs1qHxxICi16LPqhOp9EgQyYgCqhFSoOmVnojR5MiOBe7oIwHJoykMtLdeBYYLSFyh2Lg5hmLTuGuA0aiVXWXLYkSajbPhcKGQ5j9enFVEyJd0/WWyFvMj+oF8cXUYyjciULGBPcqEhOTw5SCZlOSOP2QM4PDfFEcVSkdgxVSZm4TsFfo7GIp03gMxoxs9JzZY5MueCL2/xZ6RxPmDXvA3pAJRZ1STFf90k1NbIlaJ6P1TxSKtIr8lc7CYWUQpR2pnSI+Gg9a/40EWhXoSMQzhKkxLTCRRj5g0e/g4DpzAa6KBc1w24o6XeKAZye5RaO5W7zMr7SAkhjj2IPdM3kRFMESq5Jg/tS6xNokwr1NQ0J8fHDLt9rvlY9NS9t8nSKm2x3c4scpV8vjkkezM6sdSjfgrGQStlAFQo0elljB8aWeTxVmqVQ5ncSIzw++3PqFJLpvk0IkwiOs5z8lj7+CXIik87eoXRUUh+Qxs6xYc68byvwA2xHke0S3WUyTcBbTfXEGr3F5uVQtvje4wpgKIEkbNEmqFrr/JCF0seD+uauboPefHwCBzuXW+/uX4E/yR+9Turz/WgT8X2K/K8T1YePq/o3gPvD8tOMTXuPrlxCCu8APAJ3nf89t7hu3QUHBpt6XDoeZGAtXV08hYuJi/Vvr/5tP/p8RFNx/+dihTZOfnCuK0V+R5cRfSYS3/PZTD8/lMvYL7PIZW9FWTIjgnGoB0UItNxq/mwDI7prVusqObClxCkzjqqSzLrfkGLDfNTb35Hz5sHH9YseZuW4MXD1nnkrJ5bFzZ/2GcQDCuK9umUgLnyAnQeWdTx8vd/2jokuRK0dAqFgqSZco9L21njNiIbMdiMNI+y3QLkeksMD9j6EmPPZqTJ0Jsz0SLFaEp7s8JEgNCDv6ZMXHxfeTjVkRypn9HqlcJdGaM4HULGQ70g2VF97R/Ps6Ul1v1J63nqeTO6wvPSgcLwa0rYXPvwaGghio078cjC3YvKRRxvXhuTLKJfVZF2wlUKJdwz9ER+AKkBXVMJHRiQR+ZeiHsFGp3fUIUmZkNfXSdXQIiTDBOmHkuyGaorqyVr+2Z3H50DGSXfXIThppE/MgJBaQLBD3SvLlmy5n1OcBOu1A146vNyaVMYRZxGd5sUnkJiN7mFGOzEE+iYXwQWVYrsxDBFFFYV1sgkZwfg3tc0UHBA5JpjvnTFv0lRf5bW2PtnyJB5+8PqdIV0/Tz+Srr9IlyilcLYSNM7S4A+hzPJHSQOuzLCAKztLt+wY+0g3SPNJCfRPDFV5RXjad5bP5w8RbdOdkBVzCtEDPeDzr9DriA2A8H3d7PJBJypqOULEq1Dr2X6++S/arFf6H1Zf6DJINjfIcflGeJq3VP5sdgmfceKVuMvbIc18pfZon1Qr3kll1mkMpd55W0J4CN27mWwaWZsqbTDskOqtri3eUWyPFaumwCcWHK5xn0Jixqllpq5xR4z2KguVtneXUrTOzSB08RtRhsw08wnF/t/g0B/fc/TigBchsdOZLYmYkmigY0RvcpJlQ6VJSYUq5x7WA5OWFoffR4EBmANHSZX0b6NF7TPSeyOho3K8Tv382bpO2/sHG4x3vKTAyyoyFfUa3H+amOx6q1EH7YXyEXJKztlDZE96NYnDQ0p2KT1LcNQcTuMr9Eiskux8hDsfIhX/rULk0aF8M9LtmhaSoKY1YT3H+ihy3HL7xak7hLMfgrK+1YWSAEg7Dc18T2gY8fGG5LjeKmqa2hV+KM8Jko+1gXC5X02h3WMgnQa1YYKK0wfanh7/HssnkApi/u8kGBpzeqTEB/4Hv+2VKimv9hkSVyGtQsPDryVKlRBbw7kSzXCpOaHKZVcfdPr1SIbeFtAyYhYAIm1oYLsGjKjgX2poAiOaCpeo7oyjP2nUanrgkfYQ/iQWLTHz9pcsrxYtMk5w3RU7B0RwLB/IDRvP3N2XV9vD/jdxgsBEYMI/EZQcVK6DGNFwu9Q1XU9HZuwXF5d5LLnEklgrsNvDROAMtmmGDMY1veAviiNHkLaUApL9Xy359Yw32oGTvMttk3QLOfrIU3rrGvl7hP9FJld6H6SrExWGLGf+GY1hijihJOyq4T0oTDoUUFT5AOEBaeqIfQTb1bofUvagbYf89Wsh3w8Ion4EkQnjM7YgyVzL1SwhTPzw3HNK2CPlq3Q4F5pzgF2cNGFhgpUdc4DEwY/s4U2/koccXzfS+Jk2FeF5udEZEvX3VFY1ZIhEdOl6hajzHyvsYlXks2xGdJeXL2oTGZ96CyPmpFFlSMGcLQBLuzIwjoMKlyyAYJjr9mPBXn0e2TRwARUhYuao4mYdk32rylVk0hr4bBXqMNIrL8WqNDKxwex63KXvIhBZpmq442Vbi6ekR6G50cf27Z21tWn+qsIh0qbhvdNAhA94hKiGHhXMJmMXIa8F5h5DPo8KpSxSOebldKZKSzOgbk6Hf4/7FcLhplkuLXUYA3CZTy0z9aEgRORV+hK4ippO56EAaq+qcFU1H+Jm6gEPJvNY5iY22QplVRNP9CQQhCaKlK8j2yaAcq9DxgI59pxucyt59dZv3uzSjocx9JQIi6BtUgnKdCwqPvvEQIaszCUYmD1BOYZJxPvuWv4zh7N1gUu4s9SC+trfKcviGd0IgSkuQ2ENsd7FecPBEalJgc2WlGGBDXEiAbzKzLo1LlnS/gZ3SGcfeKakIZkRXxab4qpJxxmw8W75dJGBdDz8ju+qsUwkRpGqbaTz7Obplr4od0UCHkqypSFw6LfdcSFRSrSf10YBAO6317DNtGpd0xbfrY6VWfEKwftayPM0XT1EkQ309fczig4uz37W+LfZz/zq6tujvn0HHUg7DBcKKl4I1G8bMMqyKlbiyUR30j9GeN5rcIzHign6l/LJ9Mj/eoRSBhsC/xd38ltuHI+h+IfxEFkn5ZKIyevIzblrZmHKGxPIHhzO9waekqxf+HwOFWdgilcbc403TbXm7jXKbaQS2CoUGJLgyv0UYafdIWoXgYDOmjOzjTsy/v6Dw77ydzG7AZ9U93au3Ci1LnMPHVanWbUvh+x79bbbIRbGgHRCyjD9UyFPXcwTyjhKWqWwsMFCWoUrCOQ4Oy1P88VvcX4FzBGaOO6dLLLrIz8zENuT6+E17Xs9/Bw/Q1Ulhb2mMJLDVkDV/j1/m8zLBB7lnI76EDzJpVf0P/93/p/GvgPhfO9+d0ypGasvUGezuy4NR5jGxyKHaNY+JulApsvCR6vKxpyqKdDUFFVtFbn5IkmelPc6qYmr7QTZShpK9HDF/uwIeYgfdXEKwsLjvD1O0wLxj8FeentxpzhSdYlaJ1H3lx/loUL7zhDpOqlA8ARdKAAcleR5ufhb1Fz2cpq2UNF/VwoBwzf39/auH0kEOpj3SxgibptUNXkv9Q7pxZXqjmlo5hbifQ9bOFjeojAIGgzRSm4eFbai0v9Ld4xoUt/UiFUAkJncr3j+WhxyaOs4Tpf6K5QwK1gjLAvDEIxcydlGxN3iKG37gBjyerFgBSS3ZVwDSFsWWJxvGmrEALuGhRICsw6hzidwsmX6saorBWOoNerliFpxEahudx0+XUSQMXhgsaVKD4IMcqlhKTTcTCMPURAaUQK4kUyhLpjlVzs7c48+U3cvz7bf3+GCT7dmpjauggA8A2cmqCMfczqQOJdfoMPz339MNyWmW8JvZRELw3OPIiMzbVHEgjuy4xJF0RrJeEw2d3vR38+WuSOqWciiBcPD56CX1M9hhw5aNfs0PxQODZ572lIt0cBslhFYaaTsplaYxBTNqWzcCzPOrElkUNlcqzIdKyhMVg3X/bCLHnbuefdRfk9aSb/DTfHgXharV31FJbUvMImt+dVJPF+Gx1cPlfSfvmEP/pD8xjqv2CljBqxE3GJM/RaEtLF7jXRQV1ZHo5rp+OtEr5fJVQpMgMmXQO+SMmxrGSmHG73L1VpZKleIjajEIj2Zjgh4cX4OCTJfOaxxfRAIuz7r274MDkH4k3VF4WuMhAzpdQTLaNgvKfGIHqaJM3FjhvAuqeDnxpok7sCfG0W4N+ujheoqysOnIrK2a6XoiGE/qm6cfgNOCf5qLdf93CgeAveSnncnkI9MPgNHOi83C7N8XUxy6E9XDE31vX68dxVbDBsU/tl/OLUnhUJuRm2FR0CjNH4tiGfHu8T4AO6lr3BsJzRcVIBLkX65AJM5CT54pfJnW1Al//E1O7LaOLJpE28QwWInSfqmXYgtLw9/f1Edo5AIctyfTkD6VswjaMGspfo3mGdvdjCjgYTdUo/M3ZDs4y6+1DZBYPGA6+2pXChQdTroZ8UpaG58jO2RSsy1wfyrmQ0gZ3eOdSmhw7GqR+3nUe30Ib0QS6XFv68elppa9EM/VMEvdk9uuwygpB4sFrxslrUVZSympit3kfOau2yxCiIHpjfe21f9pOvDhzuSt8TnwRcy4z6cmZO65nyB45e75xefu+TKgxNn3OO3Q0DxJqpS4oQJxDF+P3KrCgp4r0UQDg9O48fhX24qItdkjmzmhbcX+kriepFnKP8UdsIHgsCJjYZHs6LdlPM+lqPPXeJ/sFJZ/olequYFqDd5ssk4VbxKTzaMXYZca3B8P8i/7+2SB+v5iur//enlyv9hlNwa/meeB7kjShLa8Jg3PGXhrOTGTl5rl9w19rVEhGkW0fcKK0elIxJV2ABEZJlGPAR02fqV5403qvFauyI1n1CalcPsulk8Kh7akK34ML/NGe/HQ/lhJ2iySXQXF1tLbKoYdyQxJhx9+GA8h/DAesjnKHO014NM/+1ZSf/wsVty0vY7seQWZ26nxQwTVXdzMkArgUNd8147crw4vbvkJldLISlfkkU3t4sMemIEq0/4DTbhrrLvQeI4oujx4DCWe7GWjFQk60uJPkC/5vp6XKcWABZr9GnVqrSGKkQkTsa0CSRSLJuqXLGb66uzb+77XylgNTAlRqW5Jx38CvDMTuTFGm/7KUF2wZZzwhPeeHlzTPTN6OqJXWZNYA23GXqfsM/2NgJUADmwvQl6lnbKSSB9qxTY+De+HDgeG0xfvvSy5Y9C7b8DE7tSEsQD/KSEAcvCE0k5iLtvHM4JTZeC4pn5RBwDrKKd0JK2gBvvUmUlIXdIQV2g0LGAtaRk35isGnSInWJUyv3RFfbWyNycsvL0hnDR0KRq9Wz1YhhLBfAfvZe8rDK0CM6RjoCsmTP5cw3BLaWDz8Q2SWxmg6T4iQutB65shAgCRAACbWSgUWqNZJBXGP0/HDz2qjsaNjj6djpDv/x+42aN/Sjnu+/H2aefyQffTp+mrnf3b10k1/0tWB9WvtvUlQUcN+U/57DWT38OsE7mSudkWjTJQeetL/COdDw+f5Ejdo56KOaCi8znv/2nVK7YDFy6H+eWJDhX8ngcb99Qtoa1Lraeu9GAsNZ85mxT9hjQx2TgbTG8SsM0yuTN9dLQH6t/6qrkz8WZTvar+xl47ZJB0BFvjQB27FLZavhA1A5XkvKcwxYTEIPrUym5LelItndBt2tTdAyRIZJNX2bb6IbQi0TuvWSUfgBrbnQ8AuF58PrwN/IU2iIM33z/hitwyA7A3BD0eOLuGJKQYieXXZE+Q1JhSTIPgeog8qaqhG73cjQz4ABSZRER5TbvFwHExZ58TmwUaFLbj8xmtcDqxbnbUlKK9sGjNMU6xp/3ObdiIhUzMtVW6alBtltG0quEW9mxXIYS5++IV2u+GyPMQ2clVyBZiwzZjvupAgVw8CgDlmpiY6AZ3pB4ZxOQTSILmfKtThPXTRtbRHcCKpAdNQyVDnACdbLnle59KuifGAuK5GldXORUQ1WZlbTo+0AryCKJ6RGaEukKUOt/U7QuRyiT9JwavTh/vHu7eVTdf/t//Qf5/C4yPtf8DUvQX2gplbmRzdHJlYW0KZW5kb2JqCjI2IDAgb2JqIDw8L0NvbG9yU3BhY2VbL0lDQ0Jhc2VkIDcgMCBSXS9OYW1lL0ltMi9TdWJ0eXBlL0ltYWdlL0hlaWdodCA2ODIvRmlsdGVyL0ZsYXRlRGVjb2RlL1R5cGUvWE9iamVjdC9XaWR0aCAzNjYvTGVuZ3RoIDI0MDAvQml0c1BlckNvbXBvbmVudCA4Pj5zdHJlYW0KeJzt2jFOW1kUgOGdIMRCkqwC1mB2gFcQNhAWYPpM7961a9du3Vp0mSPRRBpAnvkVSx6+T7dAfu9Zt/p1zzO/fgEAXIbj8bgDPqXD4RDrsV6v7xeLm6vrWcuHpWVZn3B9+/J1CnB3e/u8Wv3bqmy323l8vmT+KDkC/h/mcPL042mS8tfPnyc+MvdPRubBP7ox4OK8vLzMnDJnjJlZPr5zJprJyH6/P8/GgIszMXn8/vjBDTMEzelFRoCP3d3ebjab967OXHP6EAR8WrvdbmLy5qUZfOZAMnPQmbcEXKIpyZu/yMyHy4fl+fcDXKKZX55Xq9M/B/in984eUxIvSYAT7XY7JQEiJQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQG6D0ryvFqdfz/AJdput2+WZApzv1icfz/AJZqDx5tTzPF4vLm6fnl5Of+WgItzd3s7x5I3Lz39eJp15v0AF2ez2UxJ3rt6OBy+ffk6Y845twRcnAnFeweSV5OauWe/359tS8BluV8sThleXmPycXCAT+j1d5nT34FMRmYIWj4spyrewQLThMfvj3PG+A//dTYZeX325urasqzPvOZcsV6vj8fjn8gUAAAAAAC/+xt439y+CmVuZHN0cmVhbQplbmRvYmoKNSAwIG9iajw8L0NvbG9yU3BhY2U8PC9EZWZhdWx0UkdCIDYgMCBSL0lDQzEzIDggMCBSPj4vUHJvY1NldFsvUERGL0ltYWdlQi9JbWFnZUMvVGV4dF0vRm9udDw8L0YzIDEwIDAgUi9GMjYgMTEgMCBSL0YyNCAxNyAwIFI+Pi9YT2JqZWN0PDwvSW0zIDIzIDAgUi9JbTQgMjQgMCBSL0ltMSAyNSAwIFIvSW0yIDI2IDAgUj4+Pj4KZW5kb2JqCjMgMCBvYmo8PC9Db250ZW50cyA0IDAgUi9CbGVlZEJveFswIDAgNjEyIDc5Ml0vVHlwZS9QYWdlL1Jlc291cmNlcyA1IDAgUi9Dcm9wQm94WzAgMCA2MTIgNzkyXS9QYXJlbnQgMSAwIFIvTWVkaWFCb3hbMCAwIDYxMiA3OTJdL1RyaW1Cb3hbMCAwIDYxMiA3OTJdPj4KZW5kb2JqCjEgMCBvYmo8PC9LaWRzWzMgMCBSXS9UeXBlL1BhZ2VzL0NvdW50IDE+PgplbmRvYmoKMjcgMCBvYmo8PC9UeXBlL0NhdGFsb2cvUGFnZXMgMSAwIFI+PgplbmRvYmoKMjggMCBvYmo8PC9Nb2REYXRlKEQ6MjAxOTAxMzAyMjQxMTBaKS9DcmVhdGlvbkRhdGUoRDoyMDE5MDEzMDIyNDExMFopL1Byb2R1Y2VyKGlUZXh0IDEuNCBcKGJ5IGxvd2FnaWUuY29tXCkpPj4KZW5kb2JqCnhyZWYKMCAyOQowMDAwMDAwMDAwIDY1NTM1IGYgCjAwMDAwNjU1NjkgMDAwMDAgbiAKMDAwMDAwMDAwMCA2NTUzNiBuIAowMDAwMDY1NDEwIDAwMDAwIG4gCjAwMDAwMDAwMTUgMDAwMDAgbiAKMDAwMDA2NTIxNyAwMDAwMCBuIAowMDAwMDA1OTcxIDAwMDAwIG4gCjAwMDAwMDMzMDcgMDAwMDAgbiAKMDAwMDAwNjgzMiAwMDAwMCBuIAowMDAwMDA2MDAzIDAwMDAwIG4gCjAwMDAwMDY4NjQgMDAwMDAgbiAKMDAwMDAxMjAwNSAwMDAwMCBuIAowMDAwMDA2OTU3IDAwMDAwIG4gCjAwMDAwMTE1OTggMDAwMDAgbiAKMDAwMDAxMTM3OSAwMDAwMCBuIAowMDAwMDA3NDgyIDAwMDAwIG4gCjAwMDAwMTEyODYgMDAwMDAgbiAKMDAwMDAxNzU5NCAwMDAwMCBuIAowMDAwMDEyMTQzIDAwMDAwIG4gCjAwMDAwMTcxNjAgMDAwMDAgbiAKMDAwMDAxNjkzOCAwMDAwMCBuIAowMDAwMDEyNjk4IDAwMDAwIG4gCjAwMDAwMTY4NDEgMDAwMDAgbiAKMDAwMDAxNzczNSAwMDAwMCBuIAowMDAwMDIzMDE2IDAwMDAwIG4gCjAwMDAwMjk3NzUgMDAwMDAgbiAKMDAwMDA2MjY0NCAwMDAwMCBuIAowMDAwMDY1NjE5IDAwMDAwIG4gCjAwMDAwNjU2NjQgMDAwMDAgbiAKdHJhaWxlcgo8PC9JbmZvIDI4IDAgUi9JRCBbPGIxMjZlODIwMDdjNzZhNmUxNTFlNzQ0Zjg2MjBmNDJmPjw1YmZlYjU4YTM5MjllZmRiZmQ2ZjU5MWM2MGIwNjc0MD5dL1Jvb3QgMjcgMCBSL1NpemUgMjk+PgpzdGFydHhyZWYKNjU3ODIKJSVFT0YK", - "contentType": "application/pdf" - }, - { - "purchaseOrderNumber": "VvgCDdBjR", - "content": "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MSAxMjkyIDk3NF0vSXRhbGljQW5nbGUgMC9Bc2NlbnQgOTc0L0NJRFNldCAyMiAwIFI+PgplbmRvYmoKMTkgMCBvYmo8PC9EVyAwL1N1YnR5cGUvQ0lERm9udFR5cGUyL0NJRFN5c3RlbUluZm88PC9TdXBwbGVtZW50IDAvUmVnaXN0cnkoQWRvYmUpL09yZGVyaW5nKFVDUyk+Pi9UeXBlL0ZvbnQvQmFzZUZvbnQvRUFBQUFBK0FtYXpvbkVtYmVyLVJlZ3VsYXIvRm9udERlc2NyaXB0b3IgMjAgMCBSL1dbMFs1MDAgMjYyIDM5MCA2OTAgNDgxIDc2OSA1OTIgNjAwIDYwNCA1NzAgNjQwIDc3NyAzODMgNTA5IDI0OCAyNzggNTI5IDg5MyAzNzMgMjU1IDQ2MSA1NzQgNTgwIDUyNyAyODUgNTg2IDg0MCA0MzIgNTg2IDU4NiA1ODYgNTg2IDU4NiA1NzUgNjA3IDU5MCA1ODYgNzc3IDU4NiA1ODYgNTEwIDU5MiA1ODggNTgwIDM3MyA2MjEgNjEzIDUyNiAyNDggNzA2IDUyNCA1ODggMjQ4IDYwNCA2NDIgNTg2IDQ3MiA0NzZdXS9DSURUb0dJRE1hcC9JZGVudGl0eT4+CmVuZG9iagoxNyAwIG9iajw8L1N1YnR5cGUvVHlwZTAvVHlwZS9Gb250L0Jhc2VGb250L0VBQUFBQStBbWF6b25FbWJlci1SZWd1bGFyL0VuY29kaW5nL0lkZW50aXR5LUgvVG9Vbmljb2RlIDE4IDAgUi9EZXNjZW5kYW50Rm9udHNbMTkgMCBSXT4+CmVuZG9iagoyMyAwIG9iaiA8PC9Db2xvclNwYWNlWy9JQ0NCYXNlZCA3IDAgUl0vTmFtZS9JbTMvU3VidHlwZS9JbWFnZS9IZWlnaHQgMTYwL0ZpbHRlci9GbGF0ZURlY29kZS9UeXBlL1hPYmplY3QvV2lkdGggMzc2L0xlbmd0aCA1MTA4L0JpdHNQZXJDb21wb25lbnQgOD4+c3RyZWFtCnic7Z2/rhxFGsUnu9JKKzmzLDkgsmQ5cWRZkDhBSEROECIjQIjQgYHwBrCklhaILQE5knmAEd4HMJcXwDyB7xv0np6zc/abquqenp4/1dM+P5VGM9PV1VXVX53+qrqrummMMcYYY4wxxhhjjDHG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WrvdbmLy5qUZfOZAMnPQmbcEXKIpyZu/yMyHy4fl+fcDXKKZX55Xq9M/B/in984eUxIvSYAT7XY7JQEiJQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQG6D0ryvFqdfz/AJdput2+WZApzv1icfz/AJZqDx5tTzPF4vLm6fnl5Of+WgItzd3s7x5I3Lz39eJp15v0AF2ez2UxJ3rt6OBy+ffk6Y845twRcnAnFeweSV5OauWe/359tS8BluV8sThleXmPycXCAT+j1d5nT34FMRmYIWj4spyrewQLThMfvj3PG+A//dTYZeX325urasqzPvOZcsV6vj8fjn8gUAAAAAAC/+xt439y+CmVuZHN0cmVhbQplbmRvYmoKNSAwIG9iajw8L0NvbG9yU3BhY2U8PC9EZWZhdWx0UkdCIDYgMCBSL0lDQzEzIDggMCBSPj4vUHJvY1NldFsvUERGL0ltYWdlQi9JbWFnZUMvVGV4dF0vRm9udDw8L0YzIDEwIDAgUi9GMjYgMTEgMCBSL0YyNCAxNyAwIFI+Pi9YT2JqZWN0PDwvSW0zIDIzIDAgUi9JbTQgMjQgMCBSL0ltMSAyNSAwIFIvSW0yIDI2IDAgUj4+Pj4KZW5kb2JqCjMgMCBvYmo8PC9Db250ZW50cyA0IDAgUi9CbGVlZEJveFswIDAgNjEyIDc5Ml0vVHlwZS9QYWdlL1Jlc291cmNlcyA1IDAgUi9Dcm9wQm94WzAgMCA2MTIgNzkyXS9QYXJlbnQgMSAwIFIvTWVkaWFCb3hbMCAwIDYxMiA3OTJdL1RyaW1Cb3hbMCAwIDYxMiA3OTJdPj4KZW5kb2JqCjEgMCBvYmo8PC9LaWRzWzMgMCBSXS9UeXBlL1BhZ2VzL0NvdW50IDE+PgplbmRvYmoKMjcgMCBvYmo8PC9UeXBlL0NhdGFsb2cvUGFnZXMgMSAwIFI+PgplbmRvYmoKMjggMCBvYmo8PC9Nb2REYXRlKEQ6MjAxOTAxMzAyMjQxMTBaKS9DcmVhdGlvbkRhdGUoRDoyMDE5MDEzMDIyNDExMFopL1Byb2R1Y2VyKGlUZXh0IDEuNCBcKGJ5IGxvd2FnaWUuY29tXCkpPj4KZW5kb2JqCnhyZWYKMCAyOQowMDAwMDAwMDAwIDY1NTM1IGYgCjAwMDAwNjU1NjkgMDAwMDAgbiAKMDAwMDAwMDAwMCA2NTUzNiBuIAowMDAwMDY1NDEwIDAwMDAwIG4gCjAwMDAwMDAwMTUgMDAwMDAgbiAKMDAwMDA2NTIxNyAwMDAwMCBuIAowMDAwMDA1OTcxIDAwMDAwIG4gCjAwMDAwMDMzMDcgMDAwMDAgbiAKMDAwMDAwNjgzMiAwMDAwMCBuIAowMDAwMDA2MDAzIDAwMDAwIG4gCjAwMDAwMDY4NjQgMDAwMDAgbiAKMDAwMDAxMjAwNSAwMDAwMCBuIAowMDAwMDA2OTU3IDAwMDAwIG4gCjAwMDAwMTE1OTggMDAwMDAgbiAKMDAwMDAxMTM3OSAwMDAwMCBuIAowMDAwMDA3NDgyIDAwMDAwIG4gCjAwMDAwMTEyODYgMDAwMDAgbiAKMDAwMDAxNzU5NCAwMDAwMCBuIAowMDAwMDEyMTQzIDAwMDAwIG4gCjAwMDAwMTcxNjAgMDAwMDAgbiAKMDAwMDAxNjkzOCAwMDAwMCBuIAowMDAwMDEyNjk4IDAwMDAwIG4gCjAwMDAwMTY4NDEgMDAwMDAgbiAKMDAwMDAxNzczNSAwMDAwMCBuIAowMDAwMDIzMDE2IDAwMDAwIG4gCjAwMDAwMjk3NzUgMDAwMDAgbiAKMDAwMDA2MjY0NCAwMDAwMCBuIAowMDAwMDY1NjE5IDAwMDAwIG4gCjAwMDAwNjU2NjQgMDAwMDAgbiAKdHJhaWxlcgo8PC9JbmZvIDI4IDAgUi9JRCBbPGIxMjZlODIwMDdjNzZhNmUxNTFlNzQ0Zjg2MjBmNDJmPjw1YmZlYjU4YTM5MjllZmRiZmQ2ZjU5MWM2MGIwNjc0MD5dL1Jvb3QgMjcgMCBSL1NpemUgMjk+PgpzdGFydHhyZWYKNjU3ODIKJSVFT0YK", - "contentType": "application/pdf" - } - ] - } + { + "purchaseOrderNumber": "VvgCDdBjR", + "content": "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MSAxMjkyIDk3NF0vSXRhbGljQW5nbGUgMC9Bc2NlbnQgOTc0L0NJRFNldCAyMiAwIFI+PgplbmRvYmoKMTkgMCBvYmo8PC9EVyAwL1N1YnR5cGUvQ0lERm9udFR5cGUyL0NJRFN5c3RlbUluZm88PC9TdXBwbGVtZW50IDAvUmVnaXN0cnkoQWRvYmUpL09yZGVyaW5nKFVDUyk+Pi9UeXBlL0ZvbnQvQmFzZUZvbnQvRUFBQUFBK0FtYXpvbkVtYmVyLVJlZ3VsYXIvRm9udERlc2NyaXB0b3IgMjAgMCBSL1dbMFs1MDAgMjYyIDM5MCA2OTAgNDgxIDc2OSA1OTIgNjAwIDYwNCA1NzAgNjQwIDc3NyAzODMgNTA5IDI0OCAyNzggNTI5IDg5MyAzNzMgMjU1IDQ2MSA1NzQgNTgwIDUyNyAyODUgNTg2IDg0MCA0MzIgNTg2IDU4NiA1ODYgNTg2IDU4NiA1NzUgNjA3IDU5MCA1ODYgNzc3IDU4NiA1ODYgNTEwIDU5MiA1ODggNTgwIDM3MyA2MjEgNjEzIDUyNiAyNDggNzA2IDUyNCA1ODggMjQ4IDYwNCA2NDIgNTg2IDQ3MiA0NzZdXS9DSURUb0dJRE1hcC9JZGVudGl0eT4+CmVuZG9iagoxNyAwIG9iajw8L1N1YnR5cGUvVHlwZTAvVHlwZS9Gb250L0Jhc2VGb250L0VBQUFBQStBbWF6b25FbWJlci1SZWd1bGFyL0VuY29kaW5nL0lkZW50aXR5LUgvVG9Vbmljb2RlIDE4IDAgUi9EZXNjZW5kYW50Rm9udHNbMTkgMCBSXT4+CmVuZG9iagoyMyAwIG9iaiA8PC9Db2xvclNwYWNlWy9JQ0NCYXNlZCA3IDAgUl0vTmFtZS9JbTMvU3VidHlwZS9JbWFnZS9IZWlnaHQgMTYwL0ZpbHRlci9GbGF0ZURlY29kZS9UeXBlL1hPYmplY3QvV2lkdGggMzc2L0xlbmd0aCA1MTA4L0JpdHNQZXJDb21wb25lbnQgOD4+c3RyZWFtCnic7Z2/rhxFGsUnu9JKKzmzLDkgsmQ5cWRZkDhBSEROECIjQIjQgYHwBrCklhaILQE5knmAEd4HMJcXwDyB7xv0np6zc/abquqenp4/1dM+P5VGM9PV1VXVX53+qrqrummMMcYYY4wxxhhjjDHG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WrvdbmLy5qUZfOZAMnPQmbcEXKIpyZu/yMyHy4fl+fcDXKKZX55Xq9M/B/in984eUxIvSYAT7XY7JQEiJQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQG6D0ryvFqdfz/AJdput2+WZApzv1icfz/AJZqDx5tTzPF4vLm6fnl5Of+WgItzd3s7x5I3Lz39eJp15v0AF2ez2UxJ3rt6OBy+ffk6Y845twRcnAnFeweSV5OauWe/359tS8BluV8sThleXmPycXCAT+j1d5nT34FMRmYIWj4spyrewQLThMfvj3PG+A//dTYZeX325urasqzPvOZcsV6vj8fjn8gUAAAAAAC/+xt439y+CmVuZHN0cmVhbQplbmRvYmoKNSAwIG9iajw8L0NvbG9yU3BhY2U8PC9EZWZhdWx0UkdCIDYgMCBSL0lDQzEzIDggMCBSPj4vUHJvY1NldFsvUERGL0ltYWdlQi9JbWFnZUMvVGV4dF0vRm9udDw8L0YzIDEwIDAgUi9GMjYgMTEgMCBSL0YyNCAxNyAwIFI+Pi9YT2JqZWN0PDwvSW0zIDIzIDAgUi9JbTQgMjQgMCBSL0ltMSAyNSAwIFIvSW0yIDI2IDAgUj4+Pj4KZW5kb2JqCjMgMCBvYmo8PC9Db250ZW50cyA0IDAgUi9CbGVlZEJveFswIDAgNjEyIDc5Ml0vVHlwZS9QYWdlL1Jlc291cmNlcyA1IDAgUi9Dcm9wQm94WzAgMCA2MTIgNzkyXS9QYXJlbnQgMSAwIFIvTWVkaWFCb3hbMCAwIDYxMiA3OTJdL1RyaW1Cb3hbMCAwIDYxMiA3OTJdPj4KZW5kb2JqCjEgMCBvYmo8PC9LaWRzWzMgMCBSXS9UeXBlL1BhZ2VzL0NvdW50IDE+PgplbmRvYmoKMjcgMCBvYmo8PC9UeXBlL0NhdGFsb2cvUGFnZXMgMSAwIFI+PgplbmRvYmoKMjggMCBvYmo8PC9Nb2REYXRlKEQ6MjAxOTAxMzAyMjQxMTBaKS9DcmVhdGlvbkRhdGUoRDoyMDE5MDEzMDIyNDExMFopL1Byb2R1Y2VyKGlUZXh0IDEuNCBcKGJ5IGxvd2FnaWUuY29tXCkpPj4KZW5kb2JqCnhyZWYKMCAyOQowMDAwMDAwMDAwIDY1NTM1IGYgCjAwMDAwNjU1NjkgMDAwMDAgbiAKMDAwMDAwMDAwMCA2NTUzNiBuIAowMDAwMDY1NDEwIDAwMDAwIG4gCjAwMDAwMDAwMTUgMDAwMDAgbiAKMDAwMDA2NTIxNyAwMDAwMCBuIAowMDAwMDA1OTcxIDAwMDAwIG4gCjAwMDAwMDMzMDcgMDAwMDAgbiAKMDAwMDAwNjgzMiAwMDAwMCBuIAowMDAwMDA2MDAzIDAwMDAwIG4gCjAwMDAwMDY4NjQgMDAwMDAgbiAKMDAwMDAxMjAwNSAwMDAwMCBuIAowMDAwMDA2OTU3IDAwMDAwIG4gCjAwMDAwMTE1OTggMDAwMDAgbiAKMDAwMDAxMTM3OSAwMDAwMCBuIAowMDAwMDA3NDgyIDAwMDAwIG4gCjAwMDAwMTEyODYgMDAwMDAgbiAKMDAwMDAxNzU5NCAwMDAwMCBuIAowMDAwMDEyMTQzIDAwMDAwIG4gCjAwMDAwMTcxNjAgMDAwMDAgbiAKMDAwMDAxNjkzOCAwMDAwMCBuIAowMDAwMDEyNjk4IDAwMDAwIG4gCjAwMDAwMTY4NDEgMDAwMDAgbiAKMDAwMDAxNzczNSAwMDAwMCBuIAowMDAwMDIzMDE2IDAwMDAwIG4gCjAwMDAwMjk3NzUgMDAwMDAgbiAKMDAwMDA2MjY0NCAwMDAwMCBuIAowMDAwMDY1NjE5IDAwMDAwIG4gCjAwMDAwNjU2NjQgMDAwMDAgbiAKdHJhaWxlcgo8PC9JbmZvIDI4IDAgUi9JRCBbPGIxMjZlODIwMDdjNzZhNmUxNTFlNzQ0Zjg2MjBmNDJmPjw1YmZlYjU4YTM5MjllZmRiZmQ2ZjU5MWM2MGIwNjc0MD5dL1Jvb3QgMjcgMCBSL1NpemUgMjk+PgpzdGFydHhyZWYKNjU3ODIKJSVFT0YK", + "contentType": "application/pdf" + } + ] } + } + }, + { + "request": { + "parameters": {} }, - { - "request": { - "parameters": {} - }, - "response": { - "payload": { - "pagination": { - "nextToken": "NEBxNEBxNEBxNR==" + "response": { + "payload": { + "pagination": { + "nextToken": "NEBxNEBxNEBxNR==" + }, + "packingSlips": [ + { + "purchaseOrderNumber": "mockpurchaseOrderNumber1", + "content": "Base 64 encoded string goes here", + "contentType": "application/pdf" }, - "packingSlips": [ - { - "purchaseOrderNumber": "mockpurchaseOrderNumber1", - "content": "Base 64 encoded string goes here", - "contentType": "application/pdf" - }, - { - "purchaseOrderNumber": "mockpurchaseOrderNumber2", - "content": "Base 64 encoded string goes here", - "contentType": "application/pdf" - } - ] - } + { + "purchaseOrderNumber": "mockpurchaseOrderNumber2", + "content": "Base 64 encoded string goes here", + "contentType": "application/pdf" + } + ] } } + } ] } }, @@ -2324,6 +2453,10 @@ "$ref": "#/definitions/GetPackingSlipListResponse" }, "headers": { + "x-amzn-RateLimit-Limit": { + "type": "string", + "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." + }, "x-amzn-RequestId": { "type": "string", "description": "Unique request reference identifier." @@ -2364,6 +2497,10 @@ "$ref": "#/definitions/GetPackingSlipListResponse" }, "headers": { + "x-amzn-RateLimit-Limit": { + "type": "string", + "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." + }, "x-amzn-RequestId": { "type": "string", "description": "Unique request reference identifier." @@ -2376,6 +2513,10 @@ "$ref": "#/definitions/GetPackingSlipListResponse" }, "headers": { + "x-amzn-RateLimit-Limit": { + "type": "string", + "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." + }, "x-amzn-RequestId": { "type": "string", "description": "Unique request reference identifier." @@ -2388,6 +2529,10 @@ "$ref": "#/definitions/GetPackingSlipListResponse" }, "headers": { + "x-amzn-RateLimit-Limit": { + "type": "string", + "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." + }, "x-amzn-RequestId": { "type": "string", "description": "Unique request reference identifier." @@ -2400,6 +2545,10 @@ "$ref": "#/definitions/GetPackingSlipListResponse" }, "headers": { + "x-amzn-RateLimit-Limit": { + "type": "string", + "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." + }, "x-amzn-RequestId": { "type": "string", "description": "Unique request reference identifier." @@ -2414,13 +2563,13 @@ "tags": [ "vendorShipping" ], - "description": "Returns a packing slip based on the `purchaseOrderNumber` that you specify.\n\n**Usage Plan:**\n\n| Rate (requests per second) | Burst |\n| ---- | ---- |\n| 10 | 10 |\n\nThe `x-amzn-RateLimit-Limit` response header returns the usage plan rate limits that were applied to the requested operation, when available. The table above indicates the default rate and burst values for this operation. Selling partners whose business demands require higher throughput may see higher rate and burst values than those shown here. For more information, refer to [Usage Plans and Rate Limits in the Selling Partner API](https://developer-docs.amazon.com/sp-api/docs/usage-plans-and-rate-limits-in-the-sp-api).", + "description": "Returns a packing slip based on the purchaseOrderNumber that you specify.\n\n**Usage Plan:**\n\n| Rate (requests per second) | Burst |\n| ---- | ---- |\n| 10 | 10 |\n\nThe `x-amzn-RateLimit-Limit` response header returns the usage plan rate limits that were applied to the requested operation, when available. The table above indicates the default rate and burst values for this operation. Selling partners whose business demands require higher throughput may see higher rate and burst values than those shown here. For more information, see [Usage Plans and Rate Limits in the Selling Partner API](https://developer-docs.amazon.com/sp-api/docs/usage-plans-and-rate-limits-in-the-sp-api).", "operationId": "getPackingSlip", "parameters": [ { "name": "purchaseOrderNumber", "in": "path", - "description": "The `purchaseOrderNumber` for the packing slip you want.", + "description": "The purchaseOrderNumber for the packing slip you want.", "required": true, "type": "string", "pattern": "^[a-zA-Z0-9]+$" @@ -2523,11 +2672,15 @@ } }, "401": { - "description": "The request's authorization header is not formatted correctly or does not contain a valid token.", + "description": "The request's Authorization header is not formatted correctly or does not contain a valid token.", "schema": { "$ref": "#/definitions/GetPackingSlipResponse" }, "headers": { + "x-amzn-RateLimit-Limit": { + "type": "string", + "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." + }, "x-amzn-RequestId": { "type": "string", "description": "Unique request reference identifier." @@ -2568,6 +2721,10 @@ "$ref": "#/definitions/GetPackingSlipResponse" }, "headers": { + "x-amzn-RateLimit-Limit": { + "type": "string", + "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." + }, "x-amzn-RequestId": { "type": "string", "description": "Unique request reference identifier." @@ -2580,6 +2737,10 @@ "$ref": "#/definitions/GetPackingSlipResponse" }, "headers": { + "x-amzn-RateLimit-Limit": { + "type": "string", + "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." + }, "x-amzn-RequestId": { "type": "string", "description": "Unique request reference identifier." @@ -2592,6 +2753,10 @@ "$ref": "#/definitions/GetPackingSlipResponse" }, "headers": { + "x-amzn-RateLimit-Limit": { + "type": "string", + "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." + }, "x-amzn-RequestId": { "type": "string", "description": "Unique request reference identifier." @@ -2604,6 +2769,10 @@ "$ref": "#/definitions/GetPackingSlipResponse" }, "headers": { + "x-amzn-RateLimit-Limit": { + "type": "string", + "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." + }, "x-amzn-RequestId": { "type": "string", "description": "Unique request reference identifier." @@ -2651,15 +2820,13 @@ "type": "object", "properties": { "pagination": { - "$ref": "#/definitions/Pagination", - "description": "The pagination elements required to retrieve the remaining data." + "$ref": "#/definitions/Pagination" }, "packingSlips": { "type": "array", "items": { "$ref": "#/definitions/PackingSlip" - }, - "description": "An array of packing slip objects." + } } }, "description": "A list of packing slips." @@ -2673,8 +2840,7 @@ "errors": { "$ref": "#/definitions/ErrorList" } - }, - "description": "Response payload with the list of packing slips." + } }, "GetPackingSlipResponse": { "type": "object", @@ -2685,8 +2851,7 @@ "errors": { "$ref": "#/definitions/ErrorList" } - }, - "description": "Response payload with packing slip." + } }, "SubmitShippingLabelsRequest": { "type": "object", @@ -2695,11 +2860,9 @@ "type": "array", "items": { "$ref": "#/definitions/ShippingLabelRequest" - }, - "description": "An array of shipping label requests to be processed." + } } - }, - "description": "The request schema for the `submitShippingLabelRequest` operation." + } }, "ShippingLabelRequest": { "type": "object", @@ -2729,8 +2892,7 @@ "$ref": "#/definitions/Container" } } - }, - "description": "Represents the request payload for creating a shipping label, containing the purchase order number, selling party, ship from party, and a list of containers or packages in the shipment." + } }, "Item": { "type": "object", @@ -2745,7 +2907,7 @@ }, "buyerProductIdentifier": { "type": "string", - "description": "Buyer's Standard Identification Number (ASIN) of an item. Either `buyerProductIdentifier` or `vendorProductIdentifier` is required." + "description": "Buyer's Standard Identification Number (ASIN) of an item. Either buyerProductIdentifier or vendorProductIdentifier is required." }, "vendorProductIdentifier": { "type": "string", @@ -2771,7 +2933,7 @@ }, "buyerProductIdentifier": { "type": "string", - "description": "Buyer's Standard Identification Number (ASIN) of an item. Either `buyerProductIdentifier` or `vendorProductIdentifier` is required." + "description": "Buyer's Standard Identification Number (ASIN) of an item. Either buyerProductIdentifier or vendorProductIdentifier is required." }, "vendorProductIdentifier": { "type": "string", @@ -2781,11 +2943,9 @@ "description": "Total item quantity packed in the container.", "$ref": "#/definitions/ItemQuantity" } - }, - "description": "Represents an item that has been packed into a container for shipping." + } }, "PartyIdentification": { - "description": "Name, address and tax details of a party.", "type": "object", "required": [ "partyId" @@ -2866,20 +3026,20 @@ "properties": { "trackingNumber": { "type": "string", - "description": "This is required to be provided for every package and should match with the `trackingNumber` sent for the shipment confirmation." + "description": "This is required to be provided for every package and should match with the trackingNumber sent for the shipment confirmation." }, "statusCode": { "type": "string", - "description": "Indicates the shipment status code for the package that provides transportation information for Amazon tracking systems and ultimately for the final customer. For more information, refer to the [Additional Fields Explanation](https://developer-docs.amazon.com/sp-api/docs/vendor-direct-fulfillment-shipping-api-use-case-guide#additional-fields-explanation)." + "description": "Indicates the shipment status code of the package that provides transportation information for Amazon tracking systems and ultimately for the final customer. For more information, refer to the [Additional Fields Explanation](https://developer-docs.amazon.com/sp-api/docs/vendor-direct-fulfillment-shipping-api-use-case-guide#additional-fields-explanation)." }, "reasonCode": { "type": "string", - "description": "Provides a reason code for the status for the package that will provide additional information about the transportation status. For more information, refer to the [Additional Fields Explanation](https://developer-docs.amazon.com/sp-api/docs/vendor-direct-fulfillment-shipping-api-use-case-guide#additional-fields-explanation)." + "description": "Provides a reason code for the status of the package that will provide additional information about the transportation status. For more information, refer to the [Additional Fields Explanation](https://developer-docs.amazon.com/sp-api/docs/vendor-direct-fulfillment-shipping-api-use-case-guide#additional-fields-explanation)." }, "statusDateTime": { "type": "string", "format": "date-time", - "description": "The date and time when the shipment status was updated. This field is expected to be in ISO 8601 date/time format, with UTC time zone or UTC offset. For example, `2020-07-16T23:00:00Z` or `2020-07-16T23:00:00+01:00`." + "description": "The date and time when the shipment status was updated. This field is expected to be in ISO-8601 date/time format, with UTC time zone or UTC offset. For example, 2020-07-16T23:00:00Z or 2020-07-16T23:00:00+01:00." }, "statusLocationAddress": { "$ref": "#/definitions/Address" @@ -2890,20 +3050,19 @@ "estimatedDeliveryDateTime": { "type": "string", "format": "date-time", - "description": "Date on which the shipment is expected to reach the customer delivery location. This field is expected to be in ISO 8601 date/time format, with UTC time zone or UTC offset. For example, `2020-07-16T23:00:00Z` or `2020-07-16T23:00:00+01:00`." + "description": "Date on which the shipment is expected to reach the customer delivery location. This field is expected to be in ISO-8601 date/time format, with UTC time zone or UTC offset. For example, 2020-07-16T23:00:00Z or 2020-07-16T23:00:00+01:00." }, "apptWindowStartDateTime": { "type": "string", "format": "date-time", - "description": "This field indicates the date and time at the start of the appointment window scheduled to deliver the shipment. This field is expected to be in ISO 8601 date/time format, with UTC time zone or UTC offset. For example, `2020-07-16T23:00:00Z` or `2020-07-16T23:00:00+01:00`." + "description": "This field indicates the date and time at the start of the appointment window scheduled to deliver the shipment. This field is expected to be in ISO-8601 date/time format, with UTC time zone or UTC offset. For example, 2020-07-16T23:00:00Z or 2020-07-16T23:00:00+01:00." }, "apptWindowEndDateTime": { "type": "string", "format": "date-time", - "description": "This field indicates the date and time at the end of the appointment window scheduled to deliver the shipment. This field is expected to be in ISO 8601 date/time format, with UTC time zone or UTC offset. For example, `2020-07-16T23:00:00Z` or `2020-07-16T23:00:00+01:00`." + "description": "This field indicates the date and time at the end of the appointment window scheduled to deliver the shipment. This field is expected to be in ISO-8601 date/time format, with UTC time zone or UTC offset. For example, 2020-07-16T23:00:00Z or 2020-07-16T23:00:00+01:00." } - }, - "description": "Details for the scheduled delivery timeline for a shipment, including the estimated delivery date and time, as well as the start and end times of the appointment window for delivery." + } } }, "description": "Details for the shipment status update given by the vendor for the specific package." @@ -3102,27 +3261,27 @@ "type": "object", "properties": { "payload": { - "description": "The response payload for the `submitShipmentConfirmations` operation.", + "description": "The response payload for the submitShipmentConfirmations operation.", "$ref": "#/definitions/TransactionReference" }, "errors": { "$ref": "#/definitions/ErrorList" } }, - "description": "The response schema for the `submitShipmentConfirmations` operation." + "description": "The response schema for the submitShipmentConfirmations operation." }, "SubmitShipmentStatusUpdatesResponse": { "type": "object", "properties": { "payload": { - "description": "The response payload for the `submitShipmentStatusUpdates` operation.", + "description": "The response payload for the submitShipmentStatusUpdates operation.", "$ref": "#/definitions/TransactionReference" }, "errors": { "$ref": "#/definitions/ErrorList" } }, - "description": "The response schema for the `submitShipmentStatusUpdates` operation." + "description": "The response schema for the submitShipmentStatusUpdates operation." }, "GetShippingLabelListResponse": { "type": "object", @@ -3135,20 +3294,20 @@ "$ref": "#/definitions/ErrorList" } }, - "description": "The response schema for the `getShippingLabels` operation." + "description": "The response schema for the getShippingLabels operation." }, "GetShippingLabelResponse": { "type": "object", "properties": { "payload": { - "description": "The payload for the `getShippingLabel` operation.", + "description": "The payload for the getShippingLabel operation.", "$ref": "#/definitions/ShippingLabel" }, "errors": { "$ref": "#/definitions/ErrorList" } }, - "description": "The response schema for the `getShippingLabel` operation." + "description": "The response schema for the getShippingLabel operation." }, "ShippingLabelList": { "type": "object", @@ -3160,11 +3319,9 @@ "type": "array", "items": { "$ref": "#/definitions/ShippingLabel" - }, - "description": "An array containing the details of the generated shipping labels." + } } - }, - "description": "Response payload with the list of shipping labels" + } }, "LabelData": { "type": "object", @@ -3182,7 +3339,7 @@ }, "shipMethod": { "type": "string", - "description": "Ship method to be used for shipping the order. Amazon defines ship method codes indicating shipping carrier and shipment service level. Ship method codes are case and format sensitive. The same ship method code should returned on the shipment confirmation. Note that the ship method codes are vendor specific and will be provided to each vendor during the implementation." + "description": "Ship method to be used for shipping the order. Amazon defines Ship Method Codes indicating shipping carrier and shipment service level. Ship Method Codes are case and format sensitive. The same ship method code should returned on the shipment confirmation. Note that the Ship Method Codes are vendor specific and will be provided to each vendor during the implementation." }, "shipMethodName": { "type": "string", @@ -3243,21 +3400,20 @@ "$ref": "#/definitions/LabelData" } } - }, - "description": "Shipping label information for an order, including the purchase order number, selling party, ship from party, label format, and package details." + } }, "SubmitShippingLabelsResponse": { "type": "object", "properties": { "payload": { - "description": "The response payload for the `submitShippingLabelRequest` operation.", + "description": "The response payload for the submitShippingLabelRequest operation.", "$ref": "#/definitions/TransactionReference" }, "errors": { "$ref": "#/definitions/ErrorList" } }, - "description": "The response schema for the `submitShippingLabelRequest` operation." + "description": "The response schema for the submitShippingLabelRequest operation." }, "SubmitShipmentConfirmationsRequest": { "type": "object", @@ -3266,11 +3422,9 @@ "type": "array", "items": { "$ref": "#/definitions/ShipmentConfirmation" - }, - "description": "Array of `ShipmentConfirmation` objects, each representing confirmation details for a specific shipment." + } } - }, - "description": "The request schema for the `submitShipmentConfirmations` operation." + } }, "ShipmentConfirmation": { "type": "object", @@ -3313,8 +3467,7 @@ "$ref": "#/definitions/Container" } } - }, - "description": "Represents the confirmation details of a shipment, including the purchase order number and other shipment details." + } }, "SubmitShipmentStatusUpdatesRequest": { "type": "object", @@ -3324,11 +3477,9 @@ "items": { "$ref": "#/definitions/ShipmentStatusUpdate" }, - "minItems": 1, - "description": "Contains a list of one or more `ShipmentStatusUpdate` objects, each representing an update to the status of a specific shipment." + "minItems": 1 } - }, - "description": "Represents the request payload for submitting updates to the status of shipments, containing an array of one or more `ShipmentStatusUpdate` objects." + } }, "ShipmentStatusUpdate": { "type": "object", @@ -3356,8 +3507,7 @@ "description": "Provide the details about the status of the shipment at that particular point of time.", "$ref": "#/definitions/StatusUpdateDetails" } - }, - "description": "Represents an update to the status of a shipment." + } }, "GetCustomerInvoicesResponse": { "type": "object", @@ -3370,20 +3520,20 @@ "$ref": "#/definitions/ErrorList" } }, - "description": "The response schema for the `getCustomerInvoices` operation." + "description": "The response schema for the getCustomerInvoices operation." }, "GetCustomerInvoiceResponse": { "type": "object", "properties": { "payload": { - "description": "The payload for the `getCustomerInvoice` operation.", + "description": "The payload for the getCustomerInvoice operation.", "$ref": "#/definitions/CustomerInvoice" }, "errors": { "$ref": "#/definitions/ErrorList" } }, - "description": "The response schema for the `getCustomerInvoice` operation." + "description": "The response schema for the getCustomerInvoice operation." }, "CustomerInvoiceList": { "type": "object", @@ -3393,23 +3543,20 @@ }, "customerInvoices": { "type": "array", - "description": "Represents a customer invoice within the `CustomerInvoiceList`.", "items": { "$ref": "#/definitions/CustomerInvoice" } } - }, - "description": "Represents a list of customer invoices, potentially paginated." + } }, "Pagination": { "type": "object", "properties": { "nextToken": { "type": "string", - "description": "A generated string used to pass information to your next request. If `NextToken` is returned, pass the value of `NextToken` to the next request. If `NextToken` is not returned, there are no more order items to return." + "description": "A generated string used to pass information to your next request. If NextToken is returned, pass the value of NextToken to the next request. If NextToken is not returned, there are no more order items to return." } - }, - "description": "The pagination elements required to retrieve the remaining data." + } }, "CustomerInvoice": { "type": "object", @@ -3425,10 +3572,9 @@ }, "content": { "type": "string", - "description": "The `Base64encoded` customer invoice." + "description": "The Base64encoded customer invoice." } - }, - "description": "Represents a customer invoice associated with a purchase order." + } }, "TransactionReference": { "type": "object", @@ -3437,8 +3583,7 @@ "type": "string", "description": "GUID to identify this transaction. This value can be used with the Transaction Status API to return the status of this transaction." } - }, - "description": "Response containing the transaction ID." + } }, "ErrorList": { "type": "array", @@ -3541,8 +3686,7 @@ "$ref": "#/definitions/PackedItem" } } - }, - "description": "A container used for shipping and packing items." + } } } } \ No newline at end of file From 479ae28d94a286cbb02c726cd4b5230695e53f78 Mon Sep 17 00:00:00 2001 From: Gibran Waldron Date: Wed, 13 Dec 2023 08:25:45 -0800 Subject: [PATCH 286/340] Notifications API enforcement actions update. --- .../notifications-api-model/notifications.json | 16 ++++++++-------- 1 file changed, 8 insertions(+), 8 deletions(-) diff --git a/models/notifications-api-model/notifications.json b/models/notifications-api-model/notifications.json index d27d24684..91dc810a8 100644 --- a/models/notifications-api-model/notifications.json +++ b/models/notifications-api-model/notifications.json @@ -432,7 +432,7 @@ "tags": [ "notifications" ], - "description": "Returns information about a subscription for the specified notification type. The `getSubscriptionById` operation is grantless. For more information, refer to [Grantless operations](https://developer-docs.amazon.com/sp-api/docs/grantless-operations).\n\n**Usage Plan:**\n\n| Rate (requests per second) | Burst |\n| ---- | ---- |\n| 1 | 5 |\n\nThe `x-amzn-RateLimit-Limit` response header returns the usage plan rate limits that were applied to the requested operation, when available. The table above indicates the default rate and burst values for this operation. Selling partners whose business demands require higher throughput may observe higher rate and burst values than those shown here. For more information, refer to [Usage Plans and Rate Limits in the Selling Partner API](https://developer-docs.amazon.com/sp-api/docs/usage-plans-and-rate-limits-in-the-sp-api).", + "description": "Returns information about a subscription for the specified notification type. The `getSubscriptionById` operation is grantless. For more information, refer to [Grantless operations](https://developer-docs.amazon.com/sp-api/docs/grantless-operations) in the Selling Partner API Developer Guide.\n\n**Usage Plan:**\n\n| Rate (requests per second) | Burst |\n| ---- | ---- |\n| 1 | 5 |\n\nThe `x-amzn-RateLimit-Limit` response header returns the usage plan rate limits that were applied to the requested operation, when available. The table above indicates the default rate and burst values for this operation. Selling partners whose business demands require higher throughput may observe higher rate and burst values than those shown here. For more information, refer to [Usage Plans and Rate Limits in the Selling Partner API](https://developer-docs.amazon.com/sp-api/docs/usage-plans-and-rate-limits-in-the-sp-api).", "operationId": "getSubscriptionById", "parameters": [ { @@ -634,7 +634,7 @@ "tags": [ "notifications" ], - "description": "Deletes the subscription indicated by the subscription identifier and notification type that you specify. The subscription identifier can be for any subscription associated with your application. After you successfully call this operation, notifications will stop being sent for the associated subscription. The `deleteSubscriptionById` operation is grantless. For more information, refer to [Grantless operations](https://developer-docs.amazon.com/sp-api/docs/grantless-operations).\n\n**Usage Plan:**\n\n| Rate (requests per second) | Burst |\n| ---- | ---- |\n| 1 | 5 |\n\nThe `x-amzn-RateLimit-Limit` response header returns the usage plan rate limits that were applied to the requested operation, when available. The table above indicates the default rate and burst values for this operation. Selling partners whose business demands require higher throughput may observe higher rate and burst values than those shown here. For more information, refer to [Usage Plans and Rate Limits in the Selling Partner API](https://developer-docs.amazon.com/sp-api/docs/usage-plans-and-rate-limits-in-the-sp-api).", + "description": "Deletes the subscription indicated by the subscription identifier and notification type that you specify. The subscription identifier can be for any subscription associated with your application. After you successfully call this operation, notifications will stop being sent for the associated subscription. The `deleteSubscriptionById` operation is grantless. For more information, refer to [Grantless operations](https://developer-docs.amazon.com/sp-api/docs/grantless-operations) in the Selling Partner API Developer Guide.\n\n**Usage Plan:**\n\n| Rate (requests per second) | Burst |\n| ---- | ---- |\n| 1 | 5 |\n\nThe `x-amzn-RateLimit-Limit` response header returns the usage plan rate limits that were applied to the requested operation, when available. The table above indicates the default rate and burst values for this operation. Selling partners whose business demands require higher throughput may observe higher rate and burst values than those shown here. For more information, refer to [Usage Plans and Rate Limits in the Selling Partner API](https://developer-docs.amazon.com/sp-api/docs/usage-plans-and-rate-limits-in-the-sp-api).", "operationId": "deleteSubscriptionById", "parameters": [ { @@ -826,7 +826,7 @@ "tags": [ "notifications" ], - "description": "Returns information about all destinations. The `getDestinations` operation is grantless. For more information, refer to [Grantless operations](https://developer-docs.amazon.com/sp-api/docs/grantless-operations).\n\n**Usage Plan:**\n\n| Rate (requests per second) | Burst |\n| ---- | ---- |\n| 1 | 5 |\n\nThe `x-amzn-RateLimit-Limit` response header returns the usage plan rate limits that were applied to the requested operation, when available. The table above indicates the default rate and burst values for this operation. Selling partners whose business demands require higher throughput may observe higher rate and burst values than those shown here. For more information, refer to [Usage Plans and Rate Limits in the Selling Partner API](https://developer-docs.amazon.com/sp-api/docs/usage-plans-and-rate-limits-in-the-sp-api).", + "description": "Returns information about all destinations. The `getDestinations` operation is grantless. For more information, refer to [Grantless operations](https://developer-docs.amazon.com/sp-api/docs/grantless-operations) in the Selling Partner API Developer Guide.\n\n**Usage Plan:**\n\n| Rate (requests per second) | Burst |\n| ---- | ---- |\n| 1 | 5 |\n\nThe `x-amzn-RateLimit-Limit` response header returns the usage plan rate limits that were applied to the requested operation, when available. The table above indicates the default rate and burst values for this operation. Selling partners whose business demands require higher throughput may observe higher rate and burst values than those shown here. For more information, refer to [Usage Plans and Rate Limits in the Selling Partner API](https://developer-docs.amazon.com/sp-api/docs/usage-plans-and-rate-limits-in-the-sp-api).", "operationId": "getDestinations", "parameters": [], "responses": { @@ -1029,7 +1029,7 @@ "tags": [ "notifications" ], - "description": "Creates a destination resource to receive notifications. The `createDestination` operation is grantless. For more information, refer to [Grantless operations](https://developer-docs.amazon.com/sp-api/docs/grantless-operations).\n\n**Usage Plan:**\n\n| Rate (requests per second) | Burst |\n| ---- | ---- |\n| 1 | 5 |\n\nThe `x-amzn-RateLimit-Limit` response header returns the usage plan rate limits that were applied to the requested operation, when available. The table above indicates the default rate and burst values for this operation. Selling partners whose business demands require higher throughput may observe higher rate and burst values than those shown here. For more information, refer to [Usage Plans and Rate Limits in the Selling Partner API](https://developer-docs.amazon.com/sp-api/docs/usage-plans-and-rate-limits-in-the-sp-api).", + "description": "Creates a destination resource to receive notifications. The `createDestination` operation is grantless. For more information, refer to [Grantless operations](https://developer-docs.amazon.com/sp-api/docs/grantless-operations) in the Selling Partner API Developer Guide.\n\n**Usage Plan:**\n\n| Rate (requests per second) | Burst |\n| ---- | ---- |\n| 1 | 5 |\n\nThe `x-amzn-RateLimit-Limit` response header returns the usage plan rate limits that were applied to the requested operation, when available. The table above indicates the default rate and burst values for this operation. Selling partners whose business demands require higher throughput may observe higher rate and burst values than those shown here. For more information, refer to [Usage Plans and Rate Limits in the Selling Partner API](https://developer-docs.amazon.com/sp-api/docs/usage-plans-and-rate-limits-in-the-sp-api).", "operationId": "createDestination", "parameters": [ { @@ -1239,7 +1239,7 @@ "tags": [ "notifications" ], - "description": "Returns information about the destination that you specify. The `getDestination` operation is grantless. For more information, refer to [Grantless operations](https://developer-docs.amazon.com/sp-api/docs/grantless-operations).\n\n**Usage Plan:**\n\n| Rate (requests per second) | Burst |\n| ---- | ---- |\n| 1 | 5 |\n\nThe `x-amzn-RateLimit-Limit` response header returns the usage plan rate limits that were applied to the requested operation, when available. The table above indicates the default rate and burst values for this operation. Selling partners whose business demands require higher throughput may observe higher rate and burst values than those shown here. For more information, refer to [Usage Plans and Rate Limits in the Selling Partner API](https://developer-docs.amazon.com/sp-api/docs/usage-plans-and-rate-limits-in-the-sp-api).", + "description": "Returns information about the destination that you specify. The `getDestination` operation is grantless. For more information, refer to [Grantless operations](https://developer-docs.amazon.com/sp-api/docs/grantless-operations) in the Selling Partner API Developer Guide.\n\n**Usage Plan:**\n\n| Rate (requests per second) | Burst |\n| ---- | ---- |\n| 1 | 5 |\n\nThe `x-amzn-RateLimit-Limit` response header returns the usage plan rate limits that were applied to the requested operation, when available. The table above indicates the default rate and burst values for this operation. Selling partners whose business demands require higher throughput may observe higher rate and burst values than those shown here. For more information, refer to [Usage Plans and Rate Limits in the Selling Partner API](https://developer-docs.amazon.com/sp-api/docs/usage-plans-and-rate-limits-in-the-sp-api).", "operationId": "getDestination", "parameters": [ { @@ -1446,7 +1446,7 @@ "tags": [ "notifications" ], - "description": "Deletes the destination that you specify. The `deleteDestination` operation is grantless. For more information, refer to [Grantless operations](https://developer-docs.amazon.com/sp-api/docs/grantless-operations).\n\n**Usage Plan:**\n\n| Rate (requests per second) | Burst |\n| ---- | ---- |\n| 1 | 5 |\n\nThe `x-amzn-RateLimit-Limit` response header returns the usage plan rate limits that were applied to the requested operation, when available. The table above indicates the default rate and burst values for this operation. Selling partners whose business demands require higher throughput may observe higher rate and burst values than those shown here. For more information, refer to [Usage Plans and Rate Limits in the Selling Partner API](https://developer-docs.amazon.com/sp-api/docs/usage-plans-and-rate-limits-in-the-sp-api).", + "description": "Deletes the destination that you specify. The `deleteDestination` operation is grantless. For more information, refer to [Grantless operations](https://developer-docs.amazon.com/sp-api/docs/grantless-operations) in the Selling Partner API Developer Guide.\n\n**Usage Plan:**\n\n| Rate (requests per second) | Burst |\n| ---- | ---- |\n| 1 | 5 |\n\nThe `x-amzn-RateLimit-Limit` response header returns the usage plan rate limits that were applied to the requested operation, when available. The table above indicates the default rate and burst values for this operation. Selling partners whose business demands require higher throughput may observe higher rate and burst values than those shown here. For more information, refer to [Usage Plans and Rate Limits in the Selling Partner API](https://developer-docs.amazon.com/sp-api/docs/usage-plans-and-rate-limits-in-the-sp-api).", "operationId": "deleteDestination", "parameters": [ { @@ -1664,7 +1664,7 @@ "ANY_OFFER_CHANGED", "ORDER_CHANGE" ], - "description": "An `eventFilterType` value that is supported by the specific `notificationType`. This is used by the subscription service to determine the type of event filter. Refer to [Notification Type Values](https://developer-docs.amazon.com/sp-api/docs/notification-type-values) to determine if an `eventFilterType` is supported." + "description": "An `eventFilterType` value that is supported by the specific `notificationType`. This is used by the subscription service to determine the type of event filter. Refer to the section of the [Notifications Use Case Guide](https://developer-docs.amazon.com/sp-api/docs/notifications-api-v1-use-case-guide) that describes the specific `notificationType` to determine if an `eventFilterType` is supported." } }, "required": [ @@ -2079,7 +2079,7 @@ "NotificationType": { "name": "notificationType", "in": "path", - "description": "The type of notification.\n\n For more information about notification types, refer to [Notification Type Values](https://developer-docs.amazon.com/sp-api/docs/notification-type-values).", + "description": "The type of notification.\n\n For more information about notification types, refer to [the Notifications API Use Case Guide](https://developer-docs.amazon.com/sp-api/docs/notifications-api-v1-use-case-guide).", "required": true, "type": "string" } From d27b6e2c7e1c46cdd2118c8f891d1a733576123a Mon Sep 17 00:00:00 2001 From: Alex Rupprecht Date: Wed, 13 Dec 2023 14:12:25 -0500 Subject: [PATCH 287/340] December release description updates --- .../vendorDirectFulfillmentOrdersV1.json | 1738 ++++------------- 1 file changed, 366 insertions(+), 1372 deletions(-) diff --git a/models/vendor-direct-fulfillment-orders-api-model/vendorDirectFulfillmentOrdersV1.json b/models/vendor-direct-fulfillment-orders-api-model/vendorDirectFulfillmentOrdersV1.json index 978715266..8991a6ae3 100644 --- a/models/vendor-direct-fulfillment-orders-api-model/vendorDirectFulfillmentOrdersV1.json +++ b/models/vendor-direct-fulfillment-orders-api-model/vendorDirectFulfillmentOrdersV1.json @@ -2,7 +2,7 @@ "swagger": "2.0", "info": { "description": "The Selling Partner API for Direct Fulfillment Orders provides programmatic access to a direct fulfillment vendor's order data.", - "version": "v1", + "version": "2021-12-28", "title": "Selling Partner API for Direct Fulfillment Orders", "contact": { "name": "Selling Partner API Developer Support", @@ -24,12 +24,12 @@ "application/json" ], "paths": { - "/vendor/directFulfillment/orders/v1/purchaseOrders": { + "/vendor/directFulfillment/orders/2021-12-28/purchaseOrders": { "get": { "tags": [ "vendorOrders" ], - "description": "Returns a list of purchase orders created during the time frame that you specify. You define the time frame using the createdAfter and createdBefore parameters. You must use both parameters. You can choose to get only the purchase order numbers by setting the includeDetails parameter to false. In that case, the operation returns a list of purchase order numbers. You can then call the getOrder operation to return the details of a specific order.\n\n**Usage Plan:**\n\n| Rate (requests per second) | Burst |\n| ---- | ---- |\n| 10 | 10 |\n\nThe `x-amzn-RateLimit-Limit` response header returns the usage plan rate limits that were applied to the requested operation, when available. The table above indicates the default rate and burst values for this operation. Selling partners whose business demands require higher throughput may see higher rate and burst values than those shown here. For more information, see [Usage Plans and Rate Limits in the Selling Partner API](https://developer-docs.amazon.com/sp-api/docs/usage-plans-and-rate-limits-in-the-sp-api).", + "description": "Returns a list of purchase orders created during the time frame that you specify. You define the time frame using the createdAfter and createdBefore parameters. You must use both parameters. You can choose to get only the purchase order numbers by setting the includeDetails parameter to false. In that case, the operation returns a list of purchase order numbers. You can then call the getOrder operation to return the details of a specific order.\n\n**Usage Plan:**\n\n| Rate (requests per second) | Burst |\n| ---- | ---- |\n| 10 | 10 |\n\nThe `x-amzn-RateLimit-Limit` response header returns the usage plan rate limits that were applied to the requested operation, when available. The table above indicates the default rate and burst values for this operation. Selling partners whose business demands require higher throughput may see higher rate and burst values then those shown here. For more information, see [Usage Plans and Rate Limits in the Selling Partner API](doc:usage-plans-and-rate-limits-in-the-sp-api).", "operationId": "getOrders", "parameters": [ { @@ -138,966 +138,14 @@ "200": { "description": "Success.", "schema": { - "$ref": "#/definitions/GetOrdersResponse" + "$ref": "#/definitions/OrderList" }, "examples": { - "payload": { - "pagination": { - "nextToken": "MDAwMDAwMDAwMQ==" - }, - "orders": [ - { - "purchaseOrderNumber": "2JK3S9VC", - "orderDetails": { - "customerOrderNumber": "123-ABC", - "orderDate": "2020-02-20T13:51:00Z", - "orderStatus": "NEW", - "shipmentDetails": { - "isPriorityShipment": false, - "isScheduledDeliveryShipment": false, - "isPslipRequired": true, - "isGift": false, - "shipMethod": "UPS_2ND", - "shipmentDates": { - "requiredShipDate": "2020-02-21T00:00:00Z", - "promisedDeliveryDate": "2020-02-24T00:00:00Z" - }, - "messageToCustomer": "This shipment completes your order. You can always check the status of your orders from the \"Your Account\" link at the top of each page of our site.Thank you for shopping at Amazon.com" - }, - "taxTotal": { - "taxLineItem": [ - { - "taxRate": "0.1", - "taxAmount": { - "currencyCode": "USD", - "amount": "190" - }, - "type": "TOTAL" - } - ] - }, - "sellingParty": { - "partyId": "999US" - }, - "shipFromParty": { - "partyId": "ABCD" - }, - "shipToParty": { - "name": "ABCD", - "attention": "ABCD", - "addressLine1": "123 XYZ Street", - "addressLine2": "Apt 5", - "city": "San Jose", - "stateOrRegion": "CA", - "postalCode": "94086", - "countryCode": "USA" - }, - "billToParty": { - "partyId": "ABCD" - }, - "items": [ - { - "itemSequenceNumber": "00001", - "buyerProductIdentifier": "B07DFVDRAB", - "vendorProductIdentifier": "8806098286500", - "title": "LG 8 kg Inverter Wi-Fi Fully-Automatic Front Loading Washing Machine (FHT1408SWS, STS-VCM, Inbuilt Heater)", - "orderedQuantity": { - "amount": 1, - "unitOfMeasure": "EACH" - }, - "netPrice": { - "currencyCode": "USD", - "amount": "500" - }, - "taxDetails": { - "taxLineItem": [ - { - "taxRate": "0.1", - "taxAmount": { - "currencyCode": "USD", - "amount": "50" - }, - "type": "TOTAL" - } - ] - } - }, - { - "itemSequenceNumber": "00002", - "buyerProductIdentifier": "B07DFYF5AB", - "vendorProductIdentifier": "8806098286123", - "title": "LG 6.5 kg Inverter Fully-Automatic Front Loading Washing Machine (FHT1065SNW, Blue and White, Inbuilt Heater)", - "orderedQuantity": { - "amount": 2, - "unitOfMeasure": "EACH" - }, - "netPrice": { - "currencyCode": "USD", - "amount": "700" - }, - "taxDetails": { - "taxLineItem": [ - { - "taxRate": "0.1", - "taxAmount": { - "currencyCode": "USD", - "amount": "140" - }, - "type": "TOTAL" - } - ] - } - } - ] - } - } - ] - } - }, - "headers": { - "x-amzn-RateLimit-Limit": { - "type": "string", - "description": "Your rate limit (requests per second) for this operation." + "pagination": { + "nextToken": "MDAwMDAwMDAwMQ==" }, - "x-amzn-RequestId": { - "type": "string", - "description": "Unique request reference identifier." - } - }, - "x-amzn-api-sandbox": { - "static": [ + "orders": [ { - "request": { - "parameters": { - "createdBefore": { - "value": "2020-02-20T00:00:00-08:00" - }, - "createdAfter": { - "value": "2020-02-15T14:00:00-08:00" - }, - "includeDetails": { - "value": "true" - }, - "limit": { - "value": 2 - }, - "sortOrder": { - "value": "DESC" - } - } - }, - "response": { - "payload": { - "pagination": { - "nextToken": "MDAwMDAwMDAwMQ==" - }, - "orders": [ - { - "purchaseOrderNumber": "2JK3S9VC", - "orderDetails": { - "customerOrderNumber": "123-ABC", - "orderDate": "2020-02-20T13:51:00Z", - "orderStatus": "NEW", - "shipmentDetails": { - "isPriorityShipment": false, - "isScheduledDeliveryShipment": false, - "isPslipRequired": true, - "isGift": false, - "shipMethod": "UPS_2ND", - "shipmentDates": { - "requiredShipDate": "2020-02-21T00:00:00Z", - "promisedDeliveryDate": "2020-02-24T00:00:00Z" - }, - "messageToCustomer": "This shipment completes your order. You can always check the status of your orders from the \"Your Account\" link at the top of each page of our site.Thank you for shopping at Amazon.com" - }, - "taxTotal": { - "taxLineItem": [ - { - "taxRate": "0.1", - "taxAmount": { - "currencyCode": "USD", - "amount": "190" - }, - "type": "TOTAL" - } - ] - }, - "sellingParty": { - "partyId": "999US" - }, - "shipFromParty": { - "partyId": "ABCD" - }, - "shipToParty": { - "name": "ABCD", - "attention": "ABCD", - "addressLine1": "123 XYZ Street", - "addressLine2": "Apt 5", - "city": "San Jose", - "stateOrRegion": "CA", - "postalCode": "94086", - "countryCode": "USA" - }, - "billToParty": { - "partyId": "ABCD" - }, - "items": [ - { - "itemSequenceNumber": "00001", - "buyerProductIdentifier": "B07DFVDRAB", - "vendorProductIdentifier": "8806098286500", - "title": "LG 8 kg Inverter Wi-Fi Fully-Automatic Front Loading Washing Machine (FHT1408SWS, STS-VCM, Inbuilt Heater)", - "orderedQuantity": { - "amount": 1, - "unitOfMeasure": "EACH" - }, - "netPrice": { - "currencyCode": "USD", - "amount": "500" - }, - "taxDetails": { - "taxLineItem": [ - { - "taxRate": "0.1", - "taxAmount": { - "currencyCode": "USD", - "amount": "50" - }, - "type": "TOTAL" - } - ] - } - }, - { - "itemSequenceNumber": "00002", - "buyerProductIdentifier": "B07DFYF5AB", - "vendorProductIdentifier": "8806098286123", - "title": "LG 6.5 kg Inverter Fully-Automatic Front Loading Washing Machine (FHT1065SNW, Blue and White, Inbuilt Heater)", - "orderedQuantity": { - "amount": 2, - "unitOfMeasure": "EACH" - }, - "netPrice": { - "currencyCode": "USD", - "amount": "700" - }, - "taxDetails": { - "taxLineItem": [ - { - "taxRate": "0.1", - "taxAmount": { - "currencyCode": "USD", - "amount": "140" - }, - "type": "TOTAL" - } - ] - } - } - ] - } - }, - { - "purchaseOrderNumber": "3TRD2IAB", - "orderDetails": { - "customerOrderNumber": "456-ABC", - "orderDate": "2020-02-18T11:47:00Z", - "orderStatus": "NEW", - "shipmentDetails": { - "isPriorityShipment": false, - "isScheduledDeliveryShipment": false, - "isPslipRequired": true, - "isGift": false, - "shipMethod": "UPS_2ND", - "shipmentDates": { - "requiredShipDate": "2020-02-20T00:00:00Z", - "promisedDeliveryDate": "2020-02-22T00:00:00Z" - }, - "messageToCustomer": "This shipment completes your order. You can always check the status of your orders from the \"Your Account\" link at the top of each page of our site.Thank you for shopping at Amazon.com" - }, - "taxTotal": { - "taxLineItem": [ - { - "taxRate": "0.1", - "taxAmount": { - "currencyCode": "USD", - "amount": "2" - }, - "type": "TOTAL" - } - ] - }, - "sellingParty": { - "partyId": "999US" - }, - "shipFromParty": { - "partyId": "ABCD" - }, - "shipToParty": { - "name": "XYZ", - "attention": "XYZ", - "addressLine1": "456 ABC Street", - "city": "Seattle", - "stateOrRegion": "WA", - "postalCode": "98007", - "countryCode": "USA" - }, - "billToParty": { - "partyId": "ABCD" - }, - "items": [ - { - "itemSequenceNumber": "00001", - "buyerProductIdentifier": "B01LNRIIAB", - "vendorProductIdentifier": "8806098286501", - "title": "Baby Dove Baby Wipes Rich Moisture (50 Pieces)", - "orderedQuantity": { - "amount": 1, - "unitOfMeasure": "EACH" - }, - "netPrice": { - "currencyCode": "USD", - "amount": "20" - }, - "taxDetails": { - "taxLineItem": [ - { - "taxRate": "0.1", - "taxAmount": { - "currencyCode": "USD", - "amount": "2" - }, - "type": "TOTAL" - } - ] - } - } - ] - } - } - ] - } - } - }, - { - "request": { - "parameters": { - "createdBefore": { - "value": "2020-02-20T00:00:00-08:00" - }, - "createdAfter": { - "value": "2020-02-15T14:00:00-08:00" - }, - "includeDetails": { - "value": "true" - }, - "limit": { - "value": 2 - }, - "sortOrder": { - "value": "DESC" - }, - "nextToken": { - "value": "MDAwMDAwMDAwMQ==" - } - } - }, - "response": { - "payload": { - "orders": [ - { - "purchaseOrderNumber": "2JK3S9VCD", - "orderDetails": { - "customerOrderNumber": "123-ABC", - "orderDate": "2020-02-20T13:51:00Z", - "orderStatus": "NEW", - "shipmentDetails": { - "isPriorityShipment": false, - "isScheduledDeliveryShipment": false, - "isPslipRequired": true, - "isGift": false, - "shipMethod": "UPS_2ND", - "shipmentDates": { - "requiredShipDate": "2020-02-21T00:00:00Z", - "promisedDeliveryDate": "2020-02-24T00:00:00Z" - }, - "messageToCustomer": "This shipment completes your order. You can always check the status of your orders from the \"Your Account\" link at the top of each page of our site.Thank you for shopping at Amazon.com" - }, - "taxTotal": { - "taxLineItem": [ - { - "taxAmount": { - "currencyCode": "USD", - "amount": "190" - }, - "type": "TOTAL" - } - ] - }, - "sellingParty": { - "partyId": "999US" - }, - "shipFromParty": { - "partyId": "ABCD" - }, - "shipToParty": { - "name": "ABCD", - "attention": "ABCD", - "addressLine1": "123 XYZ Street", - "addressLine2": "Apt 5", - "city": "San Jose", - "stateOrRegion": "CA", - "postalCode": "94086", - "countryCode": "USA" - }, - "billToParty": { - "partyId": "ABCD" - }, - "items": [ - { - "itemSequenceNumber": "00001", - "buyerProductIdentifier": "B07DFVDRAB", - "vendorProductIdentifier": "8806098286500", - "title": "LG 8 kg Inverter Wi-Fi Fully-Automatic Front Loading Washing Machine (FHT1408SWS, STS-VCM, Inbuilt Heater)", - "orderedQuantity": { - "amount": 1, - "unitOfMeasure": "EACH" - }, - "netPrice": { - "currencyCode": "USD", - "amount": "500" - }, - "taxDetails": { - "taxLineItem": [ - { - "taxRate": "0.1", - "taxAmount": { - "currencyCode": "USD", - "amount": "50" - }, - "type": "TOTAL" - } - ] - } - }, - { - "itemSequenceNumber": "00002", - "buyerProductIdentifier": "B07DFYF5AB", - "vendorProductIdentifier": "8806098286123", - "title": "LG 6.5 kg Inverter Fully-Automatic Front Loading Washing Machine (FHT1065SNW, Blue and White, Inbuilt Heater)", - "orderedQuantity": { - "amount": 2, - "unitOfMeasure": "EACH" - }, - "netPrice": { - "currencyCode": "USD", - "amount": "700" - }, - "taxDetails": { - "taxLineItem": [ - { - "taxRate": "0.1", - "taxAmount": { - "currencyCode": "USD", - "amount": "140" - }, - "type": "TOTAL" - } - ] - } - } - ] - } - }, - { - "purchaseOrderNumber": "3TRD2IABC", - "orderDetails": { - "customerOrderNumber": "456-ABC", - "orderDate": "2020-02-18T11:47:00Z", - "orderStatus": "NEW", - "shipmentDetails": { - "isPriorityShipment": false, - "isScheduledDeliveryShipment": false, - "isPslipRequired": true, - "isGift": false, - "shipMethod": "UPS_2ND", - "shipmentDates": { - "requiredShipDate": "2020-02-20T00:00:00Z", - "promisedDeliveryDate": "2020-02-22T00:00:00Z" - }, - "messageToCustomer": "This shipment completes your order. You can always check the status of your orders from the \"Your Account\" link at the top of each page of our site.Thank you for shopping at Amazon.com" - }, - "taxTotal": { - "taxLineItem": [ - { - "taxRate": "0.1", - "taxAmount": { - "currencyCode": "USD", - "amount": "2" - }, - "type": "TOTAL" - } - ] - }, - "sellingParty": { - "partyId": "999US" - }, - "shipFromParty": { - "partyId": "ABCD" - }, - "shipToParty": { - "name": "XYZ", - "attention": "XYZ", - "addressLine1": "456 ABC Street", - "city": "Seattle", - "stateOrRegion": "WA", - "postalCode": "98007", - "countryCode": "USA" - }, - "billToParty": { - "partyId": "ABCD" - }, - "items": [ - { - "itemSequenceNumber": "00001", - "buyerProductIdentifier": "B01LNRIIAB", - "vendorProductIdentifier": "8806098286501", - "title": "Baby Dove Baby Wipes Rich Moisture (50 Pieces)", - "orderedQuantity": { - "amount": 1, - "unitOfMeasure": "EACH" - }, - "netPrice": { - "currencyCode": "USD", - "amount": "20" - }, - "taxDetails": { - "taxLineItem": [ - { - "taxRate": "0.1", - "taxAmount": { - "currencyCode": "USD", - "amount": "2" - }, - "type": "TOTAL" - } - ] - } - } - ] - } - } - ] - } - } - }, - { - "request": { - "parameters": { - "createdBefore": { - "value": "2019-08-21T00:00:00-08:00" - }, - "createdAfter": { - "value": "2019-08-20T14:00:00-08:00" - }, - "includeDetails": { - "value": "false" - }, - "sortOrder": { - "value": "DESC" - } - } - }, - "response": { - "payload": { - "pagination": { - "nextToken": "MDAwMDAwMDAwMQ==" - }, - "orders": [ - { - "purchaseOrderNumber": "2JK3S9VC" - }, - { - "purchaseOrderNumber": "3TRD2IAB" - } - ] - } - } - }, - { - "request": { - "parameters": { - "createdBefore": { - "value": "2019-08-21T00:00:00-08:00" - }, - "createdAfter": { - "value": "2019-08-20T14:00:00-08:00" - }, - "includeDetails": { - "value": "false" - }, - "sortOrder": { - "value": "DESC" - }, - "nextToken": { - "value": "MDAwMDAwMDAwMQ==" - } - } - }, - "response": { - "payload": { - "orders": [ - { - "purchaseOrderNumber": "2JK3S9VCD" - }, - { - "purchaseOrderNumber": "3TRD2IABC" - } - ] - } - } - }, - { - "request": { - "parameters": {} - }, - "response": { - "payload": { - "orders": [ - { - "purchaseOrderNumber": "2JK3S9VCD", - "orderDetails": { - "customerOrderNumber": "123-ABC", - "orderDate": "2020-02-20T13:51:00Z", - "orderStatus": "NEW", - "shipmentDetails": { - "isPriorityShipment": false, - "isScheduledDeliveryShipment": false, - "isPslipRequired": true, - "isGift": false, - "shipMethod": "UPS_2ND", - "shipmentDates": { - "requiredShipDate": "2020-02-21T00:00:00Z", - "promisedDeliveryDate": "2020-02-24T00:00:00Z" - }, - "messageToCustomer": "This shipment completes your order. You can always check the status of your orders from the \"Your Account\" link at the top of each page of our site. Thank you for shopping at Amazon.com." - }, - "taxTotal": { - "taxLineItem": [ - { - "taxAmount": { - "currencyCode": "USD", - "amount": "190" - }, - "type": "TOTAL" - } - ] - }, - "sellingParty": { - "partyId": "999US" - }, - "shipFromParty": { - "partyId": "ABCD" - }, - "shipToParty": { - "name": "ABCD", - "attention": "ABCD", - "addressLine1": "123 XYZ Street", - "addressLine2": "Apt 5", - "city": "San Jose", - "stateOrRegion": "CA", - "postalCode": "94086", - "countryCode": "USA" - }, - "billToParty": { - "partyId": "ABCD" - }, - "items": [ - { - "itemSequenceNumber": "00001", - "buyerProductIdentifier": "B07DFVDRAB", - "vendorProductIdentifier": "8806098286500", - "title": "LG 8 kg Inverter Wi-Fi Fully-Automatic Front Loading Washing Machine (FHT1408SWS, STS-VCM, Inbuilt Heater)", - "orderedQuantity": { - "amount": 1, - "unitOfMeasure": "EACH" - }, - "netPrice": { - "currencyCode": "USD", - "amount": "500" - }, - "taxDetails": { - "taxLineItem": [ - { - "taxRate": "0.1", - "taxAmount": { - "currencyCode": "USD", - "amount": "50" - }, - "type": "TOTAL" - } - ] - } - }, - { - "itemSequenceNumber": "00002", - "buyerProductIdentifier": "B07DFYF5AB", - "vendorProductIdentifier": "8806098286123", - "title": "LG 6.5 kg Inverter Fully-Automatic Front Loading Washing Machine (FHT1065SNW, Blue and White, Inbuilt Heater)", - "orderedQuantity": { - "amount": 2, - "unitOfMeasure": "EACH" - }, - "netPrice": { - "currencyCode": "USD", - "amount": "700" - }, - "taxDetails": { - "taxLineItem": [ - { - "taxRate": "0.1", - "taxAmount": { - "currencyCode": "USD", - "amount": "140" - }, - "type": "TOTAL" - } - ] - } - } - ] - } - }, - { - "purchaseOrderNumber": "3TRD2IABC", - "orderDetails": { - "customerOrderNumber": "456-ABC", - "orderDate": "2020-02-18T11:47:00Z", - "orderStatus": "NEW", - "shipmentDetails": { - "isPriorityShipment": false, - "isScheduledDeliveryShipment": false, - "isPslipRequired": true, - "isGift": false, - "shipMethod": "UPS_2ND", - "shipmentDates": { - "requiredShipDate": "2020-02-20T00:00:00Z", - "promisedDeliveryDate": "2020-02-22T00:00:00Z" - }, - "messageToCustomer": "This shipment completes your order. You can always check the status of your orders from the \"Your Account\" link at the top of each page of our site. Thank you for shopping at Amazon.com." - }, - "taxTotal": { - "taxLineItem": [ - { - "taxRate": "0.1", - "taxAmount": { - "currencyCode": "USD", - "amount": "2" - }, - "type": "TOTAL" - } - ] - }, - "sellingParty": { - "partyId": "999US" - }, - "shipFromParty": { - "partyId": "ABCD" - }, - "shipToParty": { - "name": "XYZ", - "attention": "XYZ", - "addressLine1": "456 ABC Street", - "city": "Seattle", - "stateOrRegion": "WA", - "postalCode": "98007", - "countryCode": "USA" - }, - "billToParty": { - "partyId": "ABCD" - }, - "items": [ - { - "itemSequenceNumber": "00001", - "buyerProductIdentifier": "B01LNRIIAB", - "vendorProductIdentifier": "8806098286501", - "title": "Baby Dove Baby Wipes Rich Moisture (50 Pieces)", - "orderedQuantity": { - "amount": 1, - "unitOfMeasure": "EACH" - }, - "netPrice": { - "currencyCode": "USD", - "amount": "20" - }, - "taxDetails": { - "taxLineItem": [ - { - "taxRate": "0.1", - "taxAmount": { - "currencyCode": "USD", - "amount": "2" - }, - "type": "TOTAL" - } - ] - } - } - ] - } - } - ] - } - } - } - ] - } - }, - "400": { - "description": "Request has missing or invalid parameters and cannot be parsed.", - "schema": { - "$ref": "#/definitions/GetOrdersResponse" - }, - "headers": { - "x-amzn-RateLimit-Limit": { - "type": "string", - "description": "Your rate limit (requests per second) for this operation." - }, - "x-amzn-RequestId": { - "type": "string", - "description": "Unique request reference identifier." - } - }, - "x-amzn-api-sandbox": { - "static": [ - { - "request": { - "parameters": { - "createdBefore": { - "value": "2021-01-2100:00:00" - }, - "createdAfter": { - "value": "2021-02-20T14:00:00" - } - } - }, - "response": { - "errors": [ - { - "code": "InvalidRequest", - "message": "The request is invalid.", - "details": "" - } - ] - } - } - ] - } - }, - "403": { - "description": "Indicates that access to the resource is forbidden. Possible reasons include Access Denied, Unauthorized, Expired Token, or Invalid Signature.", - "schema": { - "$ref": "#/definitions/GetOrdersResponse" - }, - "headers": { - "x-amzn-RequestId": { - "type": "string", - "description": "Unique request reference identifier." - } - } - }, - "404": { - "description": "The resource specified does not exist.", - "schema": { - "$ref": "#/definitions/GetOrdersResponse" - }, - "headers": { - "x-amzn-RateLimit-Limit": { - "type": "string", - "description": "Your rate limit (requests per second) for this operation." - }, - "x-amzn-RequestId": { - "type": "string", - "description": "Unique request reference identifier." - } - } - }, - "415": { - "description": "The request payload is in an unsupported format.", - "schema": { - "$ref": "#/definitions/GetOrdersResponse" - }, - "headers": { - "x-amzn-RequestId": { - "type": "string", - "description": "Unique request reference identifier." - } - } - }, - "429": { - "description": "The frequency of requests was greater than allowed.", - "schema": { - "$ref": "#/definitions/GetOrdersResponse" - }, - "headers": { - "x-amzn-RequestId": { - "type": "string", - "description": "Unique request reference identifier." - } - } - }, - "500": { - "description": "An unexpected condition occurred that prevented the server from fulfilling the request.", - "schema": { - "$ref": "#/definitions/GetOrdersResponse" - }, - "headers": { - "x-amzn-RequestId": { - "type": "string", - "description": "Unique request reference identifier." - } - } - }, - "503": { - "description": "Temporary overloading or maintenance of the server.", - "schema": { - "$ref": "#/definitions/GetOrdersResponse" - }, - "headers": { - "x-amzn-RequestId": { - "type": "string", - "description": "Unique request reference identifier." - } - } - } - } - } - }, - "/vendor/directFulfillment/orders/v1/purchaseOrders/{purchaseOrderNumber}": { - "get": { - "tags": [ - "vendorOrders" - ], - "description": "Returns purchase order information for the purchaseOrderNumber that you specify.\n\n**Usage Plan:**\n\n| Rate (requests per second) | Burst |\n| ---- | ---- |\n| 10 | 10 |\n\nThe `x-amzn-RateLimit-Limit` response header returns the usage plan rate limits that were applied to the requested operation, when available. The table above indicates the default rate and burst values for this operation. Selling partners whose business demands require higher throughput may see higher rate and burst values than those shown here. For more information, see [Usage Plans and Rate Limits in the Selling Partner API](https://developer-docs.amazon.com/sp-api/docs/usage-plans-and-rate-limits-in-the-sp-api).", - "operationId": "getOrder", - "parameters": [ - { - "name": "purchaseOrderNumber", - "in": "path", - "description": "The order identifier for the purchase order that you want. Formatting Notes: alpha-numeric code.", - "required": true, - "type": "string" - } - ], - "responses": { - "200": { - "description": "Success.", - "schema": { - "$ref": "#/definitions/GetOrderResponse" - }, - "examples": { - "application/json": { - "payload": { "purchaseOrderNumber": "2JK3S9VC", "orderDetails": { "customerOrderNumber": "123-ABC", @@ -1118,6 +166,7 @@ "taxTotal": { "taxLineItem": [ { + "taxRate": "0.1", "taxAmount": { "currencyCode": "USD", "amount": "190" @@ -1170,6 +219,9 @@ "type": "TOTAL" } ] + }, + "buyerCustomizedInfo": { + "customizedUrl": "aHR0cHM6Ly8xcC1kZi1wdWJsaWMtZGF0YS5zMy5hbWF6b25hd3MuY29tLzExMS0xMjYwNzQ1LTYyOTE0MTZfNTgzNjIxNTQwMTM1NjEuemlw" } }, { @@ -1201,7 +253,51 @@ ] } } + ] + }, + "headers": { + "x-amzn-RateLimit-Limit": { + "type": "string", + "description": "Your rate limit (requests per second) for this operation." + }, + "x-amzn-RequestId": { + "type": "string", + "description": "Unique request reference identifier." + } + } + }, + "400": { + "description": "Request has missing or invalid parameters and cannot be parsed.", + "schema": { + "$ref": "#/definitions/ErrorList" + }, + "headers": { + "x-amzn-RateLimit-Limit": { + "type": "string", + "description": "Your rate limit (requests per second) for this operation." + }, + "x-amzn-RequestId": { + "type": "string", + "description": "Unique request reference identifier." } + } + }, + "403": { + "description": "Indicates that access to the resource is forbidden. Possible reasons include Access Denied, Unauthorized, Expired Token, or Invalid Signature.", + "schema": { + "$ref": "#/definitions/ErrorList" + }, + "headers": { + "x-amzn-RequestId": { + "type": "string", + "description": "Unique request reference identifier." + } + } + }, + "404": { + "description": "The resource specified does not exist.", + "schema": { + "$ref": "#/definitions/ErrorList" }, "headers": { "x-amzn-RateLimit-Limit": { @@ -1212,243 +308,224 @@ "type": "string", "description": "Unique request reference identifier." } + } + }, + "415": { + "description": "The request payload is in an unsupported format.", + "schema": { + "$ref": "#/definitions/ErrorList" + }, + "headers": { + "x-amzn-RateLimit-Limit": { + "type": "string", + "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." + }, + "x-amzn-RequestId": { + "type": "string", + "description": "Unique request reference identifier." + } + } + }, + "429": { + "description": "The frequency of requests was greater than allowed.", + "schema": { + "$ref": "#/definitions/ErrorList" + }, + "headers": { + "x-amzn-RateLimit-Limit": { + "type": "string", + "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." + }, + "x-amzn-RequestId": { + "type": "string", + "description": "Unique request reference identifier." + } + } + }, + "500": { + "description": "An unexpected condition occurred that prevented the server from fulfilling the request.", + "schema": { + "$ref": "#/definitions/ErrorList" + }, + "headers": { + "x-amzn-RateLimit-Limit": { + "type": "string", + "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." + }, + "x-amzn-RequestId": { + "type": "string", + "description": "Unique request reference identifier." + } + } + }, + "503": { + "description": "Temporary overloading or maintenance of the server.", + "schema": { + "$ref": "#/definitions/ErrorList" + }, + "headers": { + "x-amzn-RateLimit-Limit": { + "type": "string", + "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." + }, + "x-amzn-RequestId": { + "type": "string", + "description": "Unique request reference identifier." + } + } + } + }, + "x-amzn-api-sandbox": { + "dynamic": {} + } + } + }, + "/vendor/directFulfillment/orders/2021-12-28/purchaseOrders/{purchaseOrderNumber}": { + "get": { + "tags": [ + "vendorOrders" + ], + "description": "Returns purchase order information for the purchaseOrderNumber that you specify.\n\n**Usage Plan:**\n\n| Rate (requests per second) | Burst |\n| ---- | ---- |\n| 10 | 10 |\n\nThe `x-amzn-RateLimit-Limit` response header returns the usage plan rate limits that were applied to the requested operation, when available. The table above indicates the default rate and burst values for this operation. Selling partners whose business demands require higher throughput may see higher rate and burst values then those shown here. For more information, see [Usage Plans and Rate Limits in the Selling Partner API](doc:usage-plans-and-rate-limits-in-the-sp-api).", + "operationId": "getOrder", + "parameters": [ + { + "name": "purchaseOrderNumber", + "in": "path", + "description": "The order identifier for the purchase order that you want. Formatting Notes: alpha-numeric code.", + "required": true, + "type": "string" + } + ], + "responses": { + "200": { + "description": "Success.", + "schema": { + "$ref": "#/definitions/Order" }, - "x-amzn-api-sandbox": { - "static": [ - { - "request": { - "parameters": { - "purchaseOrderNumber": { - "value": "2JK3S9VC" - } - } + "examples": { + "application/json": { + "purchaseOrderNumber": "2JK3S9VC", + "orderDetails": { + "customerOrderNumber": "123-ABC", + "orderDate": "2020-02-20T13:51:00Z", + "orderStatus": "NEW", + "shipmentDetails": { + "isPriorityShipment": false, + "isScheduledDeliveryShipment": false, + "isPslipRequired": true, + "isGift": false, + "shipMethod": "UPS_2ND", + "shipmentDates": { + "requiredShipDate": "2020-02-21T00:00:00Z", + "promisedDeliveryDate": "2020-02-24T00:00:00Z" + }, + "messageToCustomer": "This shipment completes your order. You can always check the status of your orders from the \"Your Account\" link at the top of each page of our site.Thank you for shopping at Amazon.com" }, - "response": { - "payload": { - "purchaseOrderNumber": "2JK3S9VC", - "orderDetails": { - "customerOrderNumber": "123-ABC", - "orderDate": "2020-02-20T13:51:00Z", - "orderStatus": "NEW", - "shipmentDetails": { - "isPriorityShipment": false, - "isScheduledDeliveryShipment": false, - "isPslipRequired": true, - "isGift": false, - "shipMethod": "UPS_2ND", - "shipmentDates": { - "requiredShipDate": "2020-02-21T00:00:00Z", - "promisedDeliveryDate": "2020-02-24T00:00:00Z" - }, - "messageToCustomer": "This shipment completes your order. You can always check the status of your orders from the \"Your Account\" link at the top of each page of our site.Thank you for shopping at Amazon.com" - }, - "taxTotal": { - "taxLineItem": [ - { - "taxRate": "0.1", - "taxAmount": { - "currencyCode": "USD", - "amount": "190" - }, - "type": "TOTAL" - } - ] - }, - "sellingParty": { - "partyId": "999US" - }, - "shipFromParty": { - "partyId": "ABCD" - }, - "shipToParty": { - "name": "ABCD", - "attention": "ABCD", - "addressLine1": "123 XYZ Street", - "addressLine2": "Apt 5", - "city": "San Jose", - "stateOrRegion": "CA", - "postalCode": "94086", - "countryCode": "USA" - }, - "billToParty": { - "partyId": "ABCD" + "taxTotal": { + "taxLineItem": [ + { + "taxAmount": { + "currencyCode": "USD", + "amount": "190" }, - "items": [ - { - "itemSequenceNumber": "00001", - "buyerProductIdentifier": "B07DFVDRAB", - "vendorProductIdentifier": "8806098286500", - "title": "LG 8 kg Inverter Wi-Fi Fully-Automatic Front Loading Washing Machine (FHT1408SWS, STS-VCM, Inbuilt Heater)", - "orderedQuantity": { - "amount": 1, - "unitOfMeasure": "EACH" - }, - "netPrice": { - "currencyCode": "USD", - "amount": "500" - }, - "taxDetails": { - "taxLineItem": [ - { - "taxRate": "0.1", - "taxAmount": { - "currencyCode": "USD", - "amount": "50" - }, - "type": "TOTAL" - } - ] - } - }, + "type": "TOTAL" + } + ] + }, + "sellingParty": { + "partyId": "999US" + }, + "shipFromParty": { + "partyId": "ABCD" + }, + "shipToParty": { + "name": "ABCD", + "attention": "ABCD", + "addressLine1": "123 XYZ Street", + "addressLine2": "Apt 5", + "city": "San Jose", + "stateOrRegion": "CA", + "postalCode": "94086", + "countryCode": "USA" + }, + "billToParty": { + "partyId": "ABCD" + }, + "items": [ + { + "itemSequenceNumber": "00001", + "buyerProductIdentifier": "B07DFVDRAB", + "vendorProductIdentifier": "8806098286500", + "title": "LG 8 kg Inverter Wi-Fi Fully-Automatic Front Loading Washing Machine (FHT1408SWS, STS-VCM, Inbuilt Heater)", + "orderedQuantity": { + "amount": 1, + "unitOfMeasure": "EACH" + }, + "netPrice": { + "currencyCode": "USD", + "amount": "500" + }, + "taxDetails": { + "taxLineItem": [ { - "itemSequenceNumber": "00002", - "buyerProductIdentifier": "B07DFYF5AB", - "vendorProductIdentifier": "8806098286123", - "title": "LG 6.5 kg Inverter Fully-Automatic Front Loading Washing Machine (FHT1065SNW, Blue and White, Inbuilt Heater)", - "orderedQuantity": { - "amount": 2, - "unitOfMeasure": "EACH" - }, - "netPrice": { + "taxRate": "0.1", + "taxAmount": { "currencyCode": "USD", - "amount": "700" + "amount": "50" }, - "taxDetails": { - "taxLineItem": [ - { - "taxRate": "0.1", - "taxAmount": { - "currencyCode": "USD", - "amount": "140" - }, - "type": "TOTAL" - } - ] - } + "type": "TOTAL" } ] + }, + "buyerCustomizedInfo": { + "customizedUrl": "aHR0cHM6Ly8xcC1kZi1wdWJsaWMtZGF0YS5zMy5hbWF6b25hd3MuY29tLzExMS0xMjYwNzQ1LTYyOTE0MTZfNTgzNjIxNTQwMTM1NjEuemlw" } - } - } - }, - { - "request": { - "parameters": {} - }, - "response": { - "payload": { - "purchaseOrderNumber": "2JK3S9VCD", - "orderDetails": { - "customerOrderNumber": "123-ABC", - "orderDate": "2020-02-20T13:51:00Z", - "orderStatus": "NEW", - "shipmentDetails": { - "isPriorityShipment": false, - "isScheduledDeliveryShipment": false, - "isPslipRequired": true, - "isGift": false, - "shipMethod": "UPS_2ND", - "shipmentDates": { - "requiredShipDate": "2020-02-21T00:00:00Z", - "promisedDeliveryDate": "2020-02-24T00:00:00Z" - }, - "messageToCustomer": "This shipment completes your order. You can always check the status of your orders from the \"Your Account\" link at the top of each page of our site. Thank you for shopping at Amazon.com." - }, - "taxTotal": { - "taxLineItem": [ - { - "taxAmount": { - "currencyCode": "USD", - "amount": "190" - }, - "type": "TOTAL" - } - ] - }, - "sellingParty": { - "partyId": "999US" - }, - "shipFromParty": { - "partyId": "ABCD" - }, - "shipToParty": { - "name": "ABCD", - "attention": "ABCD", - "addressLine1": "123 XYZ Street", - "addressLine2": "Apt 5", - "city": "San Jose", - "stateOrRegion": "CA", - "postalCode": "94086", - "countryCode": "USA" - }, - "billToParty": { - "partyId": "ABCD" - }, - "items": [ - { - "itemSequenceNumber": "00001", - "buyerProductIdentifier": "B07DFVDRAB", - "vendorProductIdentifier": "8806098286500", - "title": "LG 8 kg Inverter Wi-Fi Fully-Automatic Front Loading Washing Machine (FHT1408SWS, STS-VCM, Inbuilt Heater)", - "orderedQuantity": { - "amount": 1, - "unitOfMeasure": "EACH" - }, - "netPrice": { - "currencyCode": "USD", - "amount": "500" - }, - "taxDetails": { - "taxLineItem": [ - { - "taxRate": "0.1", - "taxAmount": { - "currencyCode": "USD", - "amount": "50" - }, - "type": "TOTAL" - } - ] - } - }, + }, + { + "itemSequenceNumber": "00002", + "buyerProductIdentifier": "B07DFYF5AB", + "vendorProductIdentifier": "8806098286123", + "title": "LG 6.5 kg Inverter Fully-Automatic Front Loading Washing Machine (FHT1065SNW, Blue and White, Inbuilt Heater)", + "orderedQuantity": { + "amount": 2, + "unitOfMeasure": "EACH" + }, + "netPrice": { + "currencyCode": "USD", + "amount": "700" + }, + "taxDetails": { + "taxLineItem": [ { - "itemSequenceNumber": "00002", - "buyerProductIdentifier": "B07DFYF5AB", - "vendorProductIdentifier": "8806098286123", - "title": "LG 6.5 kg Inverter Fully-Automatic Front Loading Washing Machine (FHT1065SNW, Blue and White, Inbuilt Heater)", - "orderedQuantity": { - "amount": 2, - "unitOfMeasure": "EACH" - }, - "netPrice": { + "taxRate": "0.1", + "taxAmount": { "currencyCode": "USD", - "amount": "700" + "amount": "140" }, - "taxDetails": { - "taxLineItem": [ - { - "taxRate": "0.1", - "taxAmount": { - "currencyCode": "USD", - "amount": "140" - }, - "type": "TOTAL" - } - ] - } + "type": "TOTAL" } ] } } - } + ] } - ] + } + }, + "headers": { + "x-amzn-RateLimit-Limit": { + "type": "string", + "description": "Your rate limit (requests per second) for this operation." + }, + "x-amzn-RequestId": { + "type": "string", + "description": "Unique request reference identifier." + } } }, "400": { "description": "Request has missing or invalid parameters and cannot be parsed.", "schema": { - "$ref": "#/definitions/GetOrderResponse" + "$ref": "#/definitions/ErrorList" }, "headers": { "x-amzn-RateLimit-Limit": { @@ -1459,36 +536,18 @@ "type": "string", "description": "Unique request reference identifier." } - }, - "x-amzn-api-sandbox": { - "static": [ - { - "request": { - "parameters": { - "purchaseOrderNumber": { - "value": "null" - } - } - }, - "response": { - "errors": [ - { - "code": "InvalidRequest", - "message": "Request is missing or has invalid parameters", - "details": "purchaseOrderNumber cannot be null" - } - ] - } - } - ] } }, "401": { "description": "The request's Authorization header is not formatted correctly or does not contain a valid token.", "schema": { - "$ref": "#/definitions/GetOrderResponse" + "$ref": "#/definitions/ErrorList" }, "headers": { + "x-amzn-RateLimit-Limit": { + "type": "string", + "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." + }, "x-amzn-RequestId": { "type": "string", "description": "Unique request reference identifier." @@ -1498,7 +557,7 @@ "403": { "description": "Indicates that access to the resource is forbidden. Possible reasons include Access Denied, Unauthorized, Expired Token, or Invalid Signature.", "schema": { - "$ref": "#/definitions/GetOrderResponse" + "$ref": "#/definitions/ErrorList" }, "headers": { "x-amzn-RequestId": { @@ -1510,7 +569,7 @@ "404": { "description": "The resource specified does not exist.", "schema": { - "$ref": "#/definitions/GetOrderResponse" + "$ref": "#/definitions/ErrorList" }, "headers": { "x-amzn-RateLimit-Limit": { @@ -1526,9 +585,13 @@ "415": { "description": "The request payload is in an unsupported format.", "schema": { - "$ref": "#/definitions/GetOrderResponse" + "$ref": "#/definitions/ErrorList" }, "headers": { + "x-amzn-RateLimit-Limit": { + "type": "string", + "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." + }, "x-amzn-RequestId": { "type": "string", "description": "Unique request reference identifier." @@ -1538,9 +601,13 @@ "429": { "description": "The frequency of requests was greater than allowed.", "schema": { - "$ref": "#/definitions/GetOrderResponse" + "$ref": "#/definitions/ErrorList" }, "headers": { + "x-amzn-RateLimit-Limit": { + "type": "string", + "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." + }, "x-amzn-RequestId": { "type": "string", "description": "Unique request reference identifier." @@ -1550,9 +617,13 @@ "500": { "description": "An unexpected condition occurred that prevented the server from fulfilling the request.", "schema": { - "$ref": "#/definitions/GetOrderResponse" + "$ref": "#/definitions/ErrorList" }, "headers": { + "x-amzn-RateLimit-Limit": { + "type": "string", + "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." + }, "x-amzn-RequestId": { "type": "string", "description": "Unique request reference identifier." @@ -1562,24 +633,31 @@ "503": { "description": "Temporary overloading or maintenance of the server.", "schema": { - "$ref": "#/definitions/GetOrderResponse" + "$ref": "#/definitions/ErrorList" }, "headers": { + "x-amzn-RateLimit-Limit": { + "type": "string", + "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." + }, "x-amzn-RequestId": { "type": "string", "description": "Unique request reference identifier." } } } + }, + "x-amzn-api-sandbox": { + "dynamic": {} } } }, - "/vendor/directFulfillment/orders/v1/acknowledgements": { + "/vendor/directFulfillment/orders/2021-12-28/acknowledgements": { "post": { "tags": [ "vendorOrders" ], - "description": "Submits acknowledgements for one or more purchase orders.\n\n**Usage Plan:**\n\n| Rate (requests per second) | Burst |\n| ---- | ---- |\n| 10 | 10 |\n\nThe `x-amzn-RateLimit-Limit` response header returns the usage plan rate limits that were applied to the requested operation, when available. The table above indicates the default rate and burst values for this operation. Selling partners whose business demands require higher throughput may see higher rate and burst values than those shown here. For more information, see [Usage Plans and Rate Limits in the Selling Partner API](https://developer-docs.amazon.com/sp-api/docs/usage-plans-and-rate-limits-in-the-sp-api).", + "description": "Submits acknowledgements for one or more purchase orders.\n\n**Usage Plan:**\n\n| Rate (requests per second) | Burst |\n| ---- | ---- |\n| 10 | 10 |\n\nThe `x-amzn-RateLimit-Limit` response header returns the usage plan rate limits that were applied to the requested operation, when available. The table above indicates the default rate and burst values for this operation. Selling partners whose business demands require higher throughput may see higher rate and burst values then those shown here. For more information, see [Usage Plans and Rate Limits in the Selling Partner API](doc:usage-plans-and-rate-limits-in-the-sp-api).", "operationId": "submitAcknowledgement", "parameters": [ { @@ -1588,15 +666,14 @@ "required": true, "schema": { "$ref": "#/definitions/SubmitAcknowledgementRequest" - }, - "description": "The request body that contains the order acknowledgement." + } } ], "responses": { "202": { "description": "Success.", "schema": { - "$ref": "#/definitions/SubmitAcknowledgementResponse" + "$ref": "#/definitions/TransactionId" }, "headers": { "x-amzn-RateLimit-Limit": { @@ -1607,71 +684,12 @@ "type": "string", "description": "Unique request reference identifier." } - }, - "x-amzn-api-sandbox": { - "static": [ - { - "request": { - "parameters": { - "body": { - "value": { - "orderAcknowledgements": [ - { - "purchaseOrderNumber": "2JK3S9VC", - "vendorOrderNumber": "ABC", - "acknowledgementDate": "2020-02-20T19:17:34.304Z", - "acknowledgementStatus": { - "code": "00", - "description": "Shipping 100 percent of ordered product" - }, - "sellingParty": { - "partyId": "999US" - }, - "shipFromParty": { - "partyId": "ABCD" - }, - "itemAcknowledgements": [ - { - "itemSequenceNumber": "00001", - "buyerProductIdentifier": "B07DFVDRAB", - "vendorProductIdentifier": "8806098286500", - "acknowledgedQuantity": { - "amount": 1, - "unitOfMeasure": "Each" - } - } - ] - } - ] - } - } - } - }, - "response": { - "payload": { - "transactionId": "20190827182357-8725bde9-c61c-49f9-86ac-46efd82d4da5" - } - } - }, - { - "request": { - "parameters": { - "body": {} - } - }, - "response": { - "payload": { - "transactionId": "mock-TransactionId-20190827182357-8725bde9-c61c-49f9-86ac-46efd82d4da5" - } - } - } - ] } }, "400": { "description": "Request has missing or invalid parameters and cannot be parsed.", "schema": { - "$ref": "#/definitions/SubmitAcknowledgementResponse" + "$ref": "#/definitions/ErrorList" }, "headers": { "x-amzn-RateLimit-Limit": { @@ -1682,41 +700,12 @@ "type": "string", "description": "Unique request reference identifier." } - }, - "x-amzn-api-sandbox": { - "static": [ - { - "request": { - "parameters": { - "body": { - "value": { - "orderAcknowledgements": [ - { - "purchaseOrderNumber": "TestOrder400", - "sellingParty": {} - } - ] - } - } - } - }, - "response": { - "errors": [ - { - "code": "InvalidInput", - "message": "The content of element 'sellingParty' is not complete. One of '{partyId, address, taxInfo}' is expected.", - "details": "" - } - ] - } - } - ] } }, "403": { "description": "Indicates that access to the resource is forbidden. Possible reasons include Access Denied, Unauthorized, Expired Token, or Invalid Signature.", "schema": { - "$ref": "#/definitions/SubmitAcknowledgementResponse" + "$ref": "#/definitions/ErrorList" }, "headers": { "x-amzn-RequestId": { @@ -1728,7 +717,7 @@ "404": { "description": "The resource specified does not exist.", "schema": { - "$ref": "#/definitions/SubmitAcknowledgementResponse" + "$ref": "#/definitions/ErrorList" }, "headers": { "x-amzn-RateLimit-Limit": { @@ -1744,9 +733,13 @@ "413": { "description": "The request size exceeded the maximum accepted size.", "schema": { - "$ref": "#/definitions/SubmitAcknowledgementResponse" + "$ref": "#/definitions/ErrorList" }, "headers": { + "x-amzn-RateLimit-Limit": { + "type": "string", + "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." + }, "x-amzn-RequestId": { "type": "string", "description": "Unique request reference identifier." @@ -1756,9 +749,13 @@ "415": { "description": "The request payload is in an unsupported format.", "schema": { - "$ref": "#/definitions/SubmitAcknowledgementResponse" + "$ref": "#/definitions/ErrorList" }, "headers": { + "x-amzn-RateLimit-Limit": { + "type": "string", + "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." + }, "x-amzn-RequestId": { "type": "string", "description": "Unique request reference identifier." @@ -1768,9 +765,13 @@ "429": { "description": "The frequency of requests was greater than allowed.", "schema": { - "$ref": "#/definitions/SubmitAcknowledgementResponse" + "$ref": "#/definitions/ErrorList" }, "headers": { + "x-amzn-RateLimit-Limit": { + "type": "string", + "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." + }, "x-amzn-RequestId": { "type": "string", "description": "Unique request reference identifier." @@ -1780,9 +781,13 @@ "500": { "description": "An unexpected condition occurred that prevented the server from fulfilling the request.", "schema": { - "$ref": "#/definitions/SubmitAcknowledgementResponse" + "$ref": "#/definitions/ErrorList" }, "headers": { + "x-amzn-RateLimit-Limit": { + "type": "string", + "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." + }, "x-amzn-RequestId": { "type": "string", "description": "Unique request reference identifier." @@ -1792,62 +797,40 @@ "503": { "description": "Temporary overloading or maintenance of the server.", "schema": { - "$ref": "#/definitions/SubmitAcknowledgementResponse" + "$ref": "#/definitions/ErrorList" }, "headers": { + "x-amzn-RateLimit-Limit": { + "type": "string", + "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." + }, "x-amzn-RequestId": { "type": "string", "description": "Unique request reference identifier." } } } + }, + "x-amzn-api-sandbox": { + "dynamic": {} } } } }, "definitions": { - "GetOrdersResponse": { - "type": "object", - "properties": { - "payload": { - "description": "A list of purchase orders.", - "$ref": "#/definitions/OrderList" - }, - "errors": { - "$ref": "#/definitions/ErrorList" - } - }, - "description": "The response schema for the getOrders operation." - }, - "GetOrderResponse": { - "type": "object", - "properties": { - "payload": { - "description": "The payload for the getOrder operation.", - "$ref": "#/definitions/Order" - }, - "errors": { - "$ref": "#/definitions/ErrorList" - } - }, - "description": "The response schema for the getOrder operation." - }, "OrderList": { "type": "object", "properties": { "pagination": { - "$ref": "#/definitions/Pagination", - "description": "The pagination elements required to retrieve the remaining data." + "$ref": "#/definitions/Pagination" }, "orders": { "type": "array", "items": { "$ref": "#/definitions/Order" - }, - "description": "Represents a purchase order within the `OrderList`." + } } - }, - "description": "A purchase orders list returned as a response." + } }, "Pagination": { "type": "object", @@ -1856,11 +839,9 @@ "type": "string", "description": "A generated string used to pass information to your next request. If NextToken is returned, pass the value of NextToken to the next request. If NextToken is not returned, there are no more order items to return." } - }, - "description": "The pagination elements required to retrieve the remaining data." + } }, "Order": { - "description": "Represents a purchase order.", "type": "object", "required": [ "purchaseOrderNumber" @@ -1896,7 +877,7 @@ "orderDate": { "type": "string", "format": "date-time", - "description": "The date the order was placed. This field is expected to be in ISO-8601 date/time format, for example:2018-07-16T23:00:00Z/ 2018-07-16T23:00:00-05:00 /2018-07-16T23:00:00-08:00. If no time zone is specified, UTC should be assumed." + "description": "The date the order was placed. This field is expected to be in ISO-8601 date/time format, for example:2018-07-16T23:00:00Z/ 2018-07-16T23:00:00-05:00 /2018-07-16T23:00:00-08:00. If no time zone is specified, UTC should be assumed." }, "orderStatus": { "type": "string", @@ -1930,14 +911,7 @@ "$ref": "#/definitions/ShipmentDetails" }, "taxTotal": { - "type": "object", - "description": "The total tax object within the shipment that relates to the order.", - "properties": { - "taxLineItem": { - "description": "Tax details.", - "$ref": "#/definitions/TaxLineItem" - } - } + "$ref": "#/definitions/TaxItemDetails" }, "sellingParty": { "description": "PartyID of vendor code.", @@ -1966,7 +940,6 @@ "description": "Details of an order." }, "PartyIdentification": { - "description": "Name, address, and tax details of a party.", "type": "object", "required": [ "partyId" @@ -2036,7 +1009,7 @@ "properties": { "name": { "type": "string", - "description": "The name of the person, business, or institution at that address. For Amazon label only vendors, this field will have the value `xxxxx` within the object `shipToParty`." + "description": "The name of the person, business or institution at that address. For Amazon label only vendors, this field will have the value `xxxxx` within the object `shipToParty`." }, "attention": { "type": "string", @@ -2056,15 +1029,15 @@ }, "city": { "type": "string", - "description": "The city where the person, business, or institution is located. For Amazon label only vendors, this field will have the value `xxxxx` within the object `shipToParty`." + "description": "The city where the person, business or institution is located. For Amazon label only vendors, this field will have the value `xxxxx` within the object `shipToParty`." }, "county": { "type": "string", - "description": "The county where the person, business, or institution is located. For Amazon label only vendors, this field will have the value `xxxxx` within the object `shipToParty`." + "description": "The county where person, business or institution is located. For Amazon label only vendors, this field will have the value `xxxxx` within the object `shipToParty`." }, "district": { "type": "string", - "description": "The district where the person, business, or institution is located. For Amazon label only vendors, this field will have the value `xxxxx` within the object `shipToParty`." + "description": "The district where person, business or institution is located. For Amazon label only vendors, this field will have the value `xxxxx` within the object `shipToParty`." }, "stateOrRegion": { "type": "string", @@ -2080,7 +1053,7 @@ }, "phone": { "type": "string", - "description": "The phone number of the person, business, or institution located at that address. For Amazon label only vendors, this field will have the value `xxxxx` within the object `shipToParty`." + "description": "The phone number of the person, business or institution located at that address. For Amazon label only vendors, this field will have the value `xxxxx` within the object `shipToParty`." } }, "description": "Address of the party." @@ -2126,21 +1099,18 @@ "$ref": "#/definitions/Money" }, "taxDetails": { - "type": "object", "description": "Total tax details for the line item.", - "properties": { - "taxLineItem": { - "description": "Tax details.", - "$ref": "#/definitions/TaxLineItem" - } - } + "$ref": "#/definitions/TaxItemDetails" }, "totalPrice": { "description": "The price to Amazon each (cost).", "$ref": "#/definitions/Money" + }, + "buyerCustomizedInfo": { + "description": "The buyer information for products the vendor has configured as customizable, specifying the types of customizations or configurations along with types and ranges for their product. This provides the ability for buyers to customize multiple aspects of the products according to what the vendor allows.", + "$ref": "#/definitions/buyerCustomizedInfoDetail" } - }, - "description": "An order item." + } }, "Money": { "type": "object", @@ -2155,6 +1125,15 @@ }, "description": "An amount of money, including units in the form of currency." }, + "buyerCustomizedInfoDetail": { + "type": "object", + "properties": { + "customizedUrl": { + "type": "string", + "description": "A [Base 64](https://datatracker.ietf.org/doc/html/rfc4648#section-4) encoded URL using the UTF-8 character set. The URL provides the location of the zip file that specifies the types of customizations or configurations allowed by the vendor, along with types and ranges for the attributes of their products." + } + } + }, "Decimal": { "type": "string", "description": "A decimal number with no loss of precision. Useful when precision loss is unacceptable, as with currencies. Follows RFC7159 for number representation." @@ -2179,14 +1158,21 @@ "type": "string", "description": "GUID assigned by Amazon to identify this transaction. This value can be used with the Transaction Status API to return the status of this transaction." } - }, - "description": "Response that contains the transaction ID." + } }, "ErrorList": { - "type": "array", + "type": "object", "description": "A list of error responses returned when a request is unsuccessful.", - "items": { - "$ref": "#/definitions/Error" + "required": [ + "errors" + ], + "properties": { + "errors": { + "type": "array", + "items": { + "$ref": "#/definitions/Error" + } + } } }, "SubmitAcknowledgementRequest": { @@ -2272,8 +1258,7 @@ "description": "Details of quantity acknowledged with the above acknowledgement code.", "$ref": "#/definitions/ItemQuantity" } - }, - "description": "Individual item details within the acknowledged order." + } }, "ItemQuantity": { "type": "object", @@ -2363,8 +1348,7 @@ } ] } - }, - "description": "The order's tax details." + } }, "AcknowledgementStatus": { "type": "object", @@ -2494,6 +1478,16 @@ } }, "description": "Gift details for the item." + }, + "TaxItemDetails": { + "type": "object", + "description": "Total tax details for the line item.", + "properties": { + "taxLineItem": { + "description": "Tax details.", + "$ref": "#/definitions/TaxLineItem" + } + } } } } \ No newline at end of file From 8f879920e5c58ee97f652381ef575f97f851a634 Mon Sep 17 00:00:00 2001 From: Alex Rupprecht Date: Wed, 13 Dec 2023 15:47:07 -0500 Subject: [PATCH 288/340] December release --- .../vendorDirectFulfillmentOrdersV1.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/models/vendor-direct-fulfillment-orders-api-model/vendorDirectFulfillmentOrdersV1.json b/models/vendor-direct-fulfillment-orders-api-model/vendorDirectFulfillmentOrdersV1.json index 8991a6ae3..8acec601e 100644 --- a/models/vendor-direct-fulfillment-orders-api-model/vendorDirectFulfillmentOrdersV1.json +++ b/models/vendor-direct-fulfillment-orders-api-model/vendorDirectFulfillmentOrdersV1.json @@ -1019,7 +1019,7 @@ "type": "string", "description": "First line of the address. For Amazon label only vendors, this field will have the value `xxxxx` within the object `shipToParty`." }, - "addressLine2": { + "addressLine2": { "type": "string", "description": "Additional address information, if required. For Amazon label only vendors, this field will have the value `xxxxx` within the object `shipToParty`." }, From 6d7af97d6e603b4c6d391907329a7c43d861d206 Mon Sep 17 00:00:00 2001 From: Alex Rupprecht <44652230+alex-rupprecht@users.noreply.github.com> Date: Wed, 13 Dec 2023 15:50:23 -0500 Subject: [PATCH 289/340] Update vendorDirectFulfillmentOrdersV1.json --- .../vendorDirectFulfillmentOrdersV1.json | 1434 +++-------------- 1 file changed, 184 insertions(+), 1250 deletions(-) diff --git a/models/vendor-direct-fulfillment-orders-api-model/vendorDirectFulfillmentOrdersV1.json b/models/vendor-direct-fulfillment-orders-api-model/vendorDirectFulfillmentOrdersV1.json index 8acec601e..a355fbb47 100644 --- a/models/vendor-direct-fulfillment-orders-api-model/vendorDirectFulfillmentOrdersV1.json +++ b/models/vendor-direct-fulfillment-orders-api-model/vendorDirectFulfillmentOrdersV1.json @@ -1,9 +1,9 @@ { "swagger": "2.0", "info": { - "description": "The Selling Partner API for Direct Fulfillment Orders provides programmatic access to a direct fulfillment vendor's order data.", - "version": "2021-12-28", - "title": "Selling Partner API for Direct Fulfillment Orders", + "description": "The Selling Partner API for Direct Fulfillment Inventory Updates provides programmatic access to a direct fulfillment vendor's inventory updates.", + "version": "v1", + "title": "Selling Partner API for Direct Fulfillment Inventory Updates", "contact": { "name": "Selling Partner API Developer Support", "url": "https://sellercentral.amazon.com/gp/mws/contactus.html" @@ -24,236 +24,35 @@ "application/json" ], "paths": { - "/vendor/directFulfillment/orders/2021-12-28/purchaseOrders": { - "get": { + "/vendor/directFulfillment/inventory/v1/warehouses/{warehouseId}/items": { + "post": { "tags": [ - "vendorOrders" + "updateInventory" ], - "description": "Returns a list of purchase orders created during the time frame that you specify. You define the time frame using the createdAfter and createdBefore parameters. You must use both parameters. You can choose to get only the purchase order numbers by setting the includeDetails parameter to false. In that case, the operation returns a list of purchase order numbers. You can then call the getOrder operation to return the details of a specific order.\n\n**Usage Plan:**\n\n| Rate (requests per second) | Burst |\n| ---- | ---- |\n| 10 | 10 |\n\nThe `x-amzn-RateLimit-Limit` response header returns the usage plan rate limits that were applied to the requested operation, when available. The table above indicates the default rate and burst values for this operation. Selling partners whose business demands require higher throughput may see higher rate and burst values then those shown here. For more information, see [Usage Plans and Rate Limits in the Selling Partner API](doc:usage-plans-and-rate-limits-in-the-sp-api).", - "operationId": "getOrders", + "description": "Submits inventory updates for the specified warehouse for either a partial or full feed of inventory items.\n\n**Usage Plan:**\n\n| Rate (requests per second) | Burst |\n| ---- | ---- |\n| 10 | 10 |\n\nThe `x-amzn-RateLimit-Limit` response header returns the usage plan rate limits that were applied to the requested operation, when available. The table above indicates the default rate and burst values for this operation. Selling partners whose business demands require higher throughput may see higher rate and burst values than those shown here. For more information, see [Usage Plans and Rate Limits in the Selling Partner API](https://developer-docs.amazon.com/sp-api/docs/usage-plans-and-rate-limits-in-the-sp-api).", + "operationId": "submitInventoryUpdate", "parameters": [ { - "name": "shipFromPartyId", - "in": "query", - "description": "The vendor warehouse identifier for the fulfillment warehouse. If not specified, the result will contain orders for all warehouses.", - "required": false, - "type": "string" - }, - { - "name": "status", - "in": "query", - "description": "Returns only the purchase orders that match the specified status. If not specified, the result will contain orders that match any status.", - "required": false, - "type": "string", - "enum": [ - "NEW", - "SHIPPED", - "ACCEPTED", - "CANCELLED" - ], - "x-docgen-enum-table-extension": [ - { - "value": "NEW", - "description": "Status for newly created purchase orders." - }, - { - "value": "SHIPPED", - "description": "Status for purchase orders that are already shipped." - }, - { - "value": "ACCEPTED", - "description": "Status for purchase orders accepted by vendors." - }, - { - "value": "CANCELLED", - "description": "Status for cancelled purchase orders." - } - ] - }, - { - "name": "limit", - "in": "query", - "description": "The limit to the number of purchase orders returned.", - "required": false, - "type": "integer", - "maximum": 100, - "minimum": 1, - "format": "int64" - }, - { - "name": "createdAfter", - "in": "query", - "description": "Purchase orders that became available after this date and time will be included in the result. Must be in ISO-8601 date/time format.", + "in": "body", + "name": "body", "required": true, - "type": "string", - "format": "date-time" + "schema": { + "$ref": "#/definitions/SubmitInventoryUpdateRequest" + } }, { - "name": "createdBefore", - "in": "query", - "description": "Purchase orders that became available before this date and time will be included in the result. Must be in ISO-8601 date/time format.", + "name": "warehouseId", + "in": "path", + "description": "Identifier for the warehouse for which to update inventory.", "required": true, - "type": "string", - "format": "date-time" - }, - { - "name": "sortOrder", - "in": "query", - "description": "Sort the list in ascending or descending order by order creation date.", - "required": false, - "type": "string", - "enum": [ - "ASC", - "DESC" - ], - "x-docgen-enum-table-extension": [ - { - "value": "ASC", - "description": "Sort in ascending order by order creation date." - }, - { - "value": "DESC", - "description": "Sort in descending order by order creation date." - } - ] - }, - { - "name": "nextToken", - "in": "query", - "description": "Used for pagination when there are more orders than the specified result size limit. The token value is returned in the previous API call.", - "required": false, "type": "string" - }, - { - "name": "includeDetails", - "in": "query", - "description": "When true, returns the complete purchase order details. Otherwise, only purchase order numbers are returned.", - "required": false, - "type": "string", - "default": "true", - "format": "boolean" } ], "responses": { - "200": { + "202": { "description": "Success.", "schema": { - "$ref": "#/definitions/OrderList" - }, - "examples": { - "pagination": { - "nextToken": "MDAwMDAwMDAwMQ==" - }, - "orders": [ - { - "purchaseOrderNumber": "2JK3S9VC", - "orderDetails": { - "customerOrderNumber": "123-ABC", - "orderDate": "2020-02-20T13:51:00Z", - "orderStatus": "NEW", - "shipmentDetails": { - "isPriorityShipment": false, - "isScheduledDeliveryShipment": false, - "isPslipRequired": true, - "isGift": false, - "shipMethod": "UPS_2ND", - "shipmentDates": { - "requiredShipDate": "2020-02-21T00:00:00Z", - "promisedDeliveryDate": "2020-02-24T00:00:00Z" - }, - "messageToCustomer": "This shipment completes your order. You can always check the status of your orders from the \"Your Account\" link at the top of each page of our site.Thank you for shopping at Amazon.com" - }, - "taxTotal": { - "taxLineItem": [ - { - "taxRate": "0.1", - "taxAmount": { - "currencyCode": "USD", - "amount": "190" - }, - "type": "TOTAL" - } - ] - }, - "sellingParty": { - "partyId": "999US" - }, - "shipFromParty": { - "partyId": "ABCD" - }, - "shipToParty": { - "name": "ABCD", - "attention": "ABCD", - "addressLine1": "123 XYZ Street", - "addressLine2": "Apt 5", - "city": "San Jose", - "stateOrRegion": "CA", - "postalCode": "94086", - "countryCode": "USA" - }, - "billToParty": { - "partyId": "ABCD" - }, - "items": [ - { - "itemSequenceNumber": "00001", - "buyerProductIdentifier": "B07DFVDRAB", - "vendorProductIdentifier": "8806098286500", - "title": "LG 8 kg Inverter Wi-Fi Fully-Automatic Front Loading Washing Machine (FHT1408SWS, STS-VCM, Inbuilt Heater)", - "orderedQuantity": { - "amount": 1, - "unitOfMeasure": "EACH" - }, - "netPrice": { - "currencyCode": "USD", - "amount": "500" - }, - "taxDetails": { - "taxLineItem": [ - { - "taxRate": "0.1", - "taxAmount": { - "currencyCode": "USD", - "amount": "50" - }, - "type": "TOTAL" - } - ] - }, - "buyerCustomizedInfo": { - "customizedUrl": "aHR0cHM6Ly8xcC1kZi1wdWJsaWMtZGF0YS5zMy5hbWF6b25hd3MuY29tLzExMS0xMjYwNzQ1LTYyOTE0MTZfNTgzNjIxNTQwMTM1NjEuemlw" - } - }, - { - "itemSequenceNumber": "00002", - "buyerProductIdentifier": "B07DFYF5AB", - "vendorProductIdentifier": "8806098286123", - "title": "LG 6.5 kg Inverter Fully-Automatic Front Loading Washing Machine (FHT1065SNW, Blue and White, Inbuilt Heater)", - "orderedQuantity": { - "amount": 2, - "unitOfMeasure": "EACH" - }, - "netPrice": { - "currencyCode": "USD", - "amount": "700" - }, - "taxDetails": { - "taxLineItem": [ - { - "taxRate": "0.1", - "taxAmount": { - "currencyCode": "USD", - "amount": "140" - }, - "type": "TOTAL" - } - ] - } - } - ] - } - } - ] + "$ref": "#/definitions/SubmitInventoryUpdateResponse" }, "headers": { "x-amzn-RateLimit-Limit": { @@ -264,40 +63,78 @@ "type": "string", "description": "Unique request reference identifier." } + }, + "x-amzn-api-sandbox": { + "static": [ + { + "request": { + "parameters": { + "body": { + "value": { + "inventory": { + "sellingParty": { + "partyId": "VENDORID" + }, + "isFullUpdate": false, + "items": [ + { + "buyerProductIdentifier": "ABCD4562", + "vendorProductIdentifier": "7Q89K11", + "availableQuantity": { + "amount": 10, + "unitOfMeasure": "Each" + }, + "isObsolete": false + }, + { + "buyerProductIdentifier": "ABCD4563", + "vendorProductIdentifier": "7Q89K12", + "availableQuantity": { + "amount": 15, + "unitOfMeasure": "Each" + }, + "isObsolete": false + }, + { + "buyerProductIdentifier": "ABCD4564", + "vendorProductIdentifier": "7Q89K13", + "availableQuantity": { + "amount": 20, + "unitOfMeasure": "Each" + }, + "isObsolete": false + } + ] + } + } + } + } + }, + "response": { + "payload": { + "transactionId": "20190905010908-8a3b6901-ef20-412f-9270-21c021796605" + } + } + }, + { + "request": { + "parameters": { + "body": {} + } + }, + "response": { + "payload": { + "transactionId": "mock-TransactionId-20190905010908-8a3b6901-ef20-412f-9270-21c021796605" + } + } + } + ] } }, "400": { "description": "Request has missing or invalid parameters and cannot be parsed.", "schema": { - "$ref": "#/definitions/ErrorList" - }, - "headers": { - "x-amzn-RateLimit-Limit": { - "type": "string", - "description": "Your rate limit (requests per second) for this operation." - }, - "x-amzn-RequestId": { - "type": "string", - "description": "Unique request reference identifier." - } - } - }, - "403": { - "description": "Indicates that access to the resource is forbidden. Possible reasons include Access Denied, Unauthorized, Expired Token, or Invalid Signature.", - "schema": { - "$ref": "#/definitions/ErrorList" - }, - "headers": { - "x-amzn-RequestId": { - "type": "string", - "description": "Unique request reference identifier." - } - } - }, - "404": { - "description": "The resource specified does not exist.", - "schema": { - "$ref": "#/definitions/ErrorList" + "$ref": "#/definitions/SubmitInventoryUpdateResponse" }, "headers": { "x-amzn-RateLimit-Limit": { @@ -308,245 +145,51 @@ "type": "string", "description": "Unique request reference identifier." } - } - }, - "415": { - "description": "The request payload is in an unsupported format.", - "schema": { - "$ref": "#/definitions/ErrorList" - }, - "headers": { - "x-amzn-RateLimit-Limit": { - "type": "string", - "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." - }, - "x-amzn-RequestId": { - "type": "string", - "description": "Unique request reference identifier." - } - } - }, - "429": { - "description": "The frequency of requests was greater than allowed.", - "schema": { - "$ref": "#/definitions/ErrorList" - }, - "headers": { - "x-amzn-RateLimit-Limit": { - "type": "string", - "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." - }, - "x-amzn-RequestId": { - "type": "string", - "description": "Unique request reference identifier." - } - } - }, - "500": { - "description": "An unexpected condition occurred that prevented the server from fulfilling the request.", - "schema": { - "$ref": "#/definitions/ErrorList" - }, - "headers": { - "x-amzn-RateLimit-Limit": { - "type": "string", - "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." - }, - "x-amzn-RequestId": { - "type": "string", - "description": "Unique request reference identifier." - } - } - }, - "503": { - "description": "Temporary overloading or maintenance of the server.", - "schema": { - "$ref": "#/definitions/ErrorList" - }, - "headers": { - "x-amzn-RateLimit-Limit": { - "type": "string", - "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." - }, - "x-amzn-RequestId": { - "type": "string", - "description": "Unique request reference identifier." - } - } - } - }, - "x-amzn-api-sandbox": { - "dynamic": {} - } - } - }, - "/vendor/directFulfillment/orders/2021-12-28/purchaseOrders/{purchaseOrderNumber}": { - "get": { - "tags": [ - "vendorOrders" - ], - "description": "Returns purchase order information for the purchaseOrderNumber that you specify.\n\n**Usage Plan:**\n\n| Rate (requests per second) | Burst |\n| ---- | ---- |\n| 10 | 10 |\n\nThe `x-amzn-RateLimit-Limit` response header returns the usage plan rate limits that were applied to the requested operation, when available. The table above indicates the default rate and burst values for this operation. Selling partners whose business demands require higher throughput may see higher rate and burst values then those shown here. For more information, see [Usage Plans and Rate Limits in the Selling Partner API](doc:usage-plans-and-rate-limits-in-the-sp-api).", - "operationId": "getOrder", - "parameters": [ - { - "name": "purchaseOrderNumber", - "in": "path", - "description": "The order identifier for the purchase order that you want. Formatting Notes: alpha-numeric code.", - "required": true, - "type": "string" - } - ], - "responses": { - "200": { - "description": "Success.", - "schema": { - "$ref": "#/definitions/Order" }, - "examples": { - "application/json": { - "purchaseOrderNumber": "2JK3S9VC", - "orderDetails": { - "customerOrderNumber": "123-ABC", - "orderDate": "2020-02-20T13:51:00Z", - "orderStatus": "NEW", - "shipmentDetails": { - "isPriorityShipment": false, - "isScheduledDeliveryShipment": false, - "isPslipRequired": true, - "isGift": false, - "shipMethod": "UPS_2ND", - "shipmentDates": { - "requiredShipDate": "2020-02-21T00:00:00Z", - "promisedDeliveryDate": "2020-02-24T00:00:00Z" - }, - "messageToCustomer": "This shipment completes your order. You can always check the status of your orders from the \"Your Account\" link at the top of each page of our site.Thank you for shopping at Amazon.com" + "x-amzn-api-sandbox": { + "static": [ + { + "request": { + "parameters": { + "warehouseId": { + "value": "DUMMYCODE" + } + } }, - "taxTotal": { - "taxLineItem": [ + "response": { + "errors": [ { - "taxAmount": { - "currencyCode": "USD", - "amount": "190" - }, - "type": "TOTAL" + "code": "InvalidInput", + "message": "Invalid transmission ID.", + "details": "" } ] - }, - "sellingParty": { - "partyId": "999US" - }, - "shipFromParty": { - "partyId": "ABCD" - }, - "shipToParty": { - "name": "ABCD", - "attention": "ABCD", - "addressLine1": "123 XYZ Street", - "addressLine2": "Apt 5", - "city": "San Jose", - "stateOrRegion": "CA", - "postalCode": "94086", - "countryCode": "USA" - }, - "billToParty": { - "partyId": "ABCD" - }, - "items": [ - { - "itemSequenceNumber": "00001", - "buyerProductIdentifier": "B07DFVDRAB", - "vendorProductIdentifier": "8806098286500", - "title": "LG 8 kg Inverter Wi-Fi Fully-Automatic Front Loading Washing Machine (FHT1408SWS, STS-VCM, Inbuilt Heater)", - "orderedQuantity": { - "amount": 1, - "unitOfMeasure": "EACH" - }, - "netPrice": { - "currencyCode": "USD", - "amount": "500" - }, - "taxDetails": { - "taxLineItem": [ - { - "taxRate": "0.1", - "taxAmount": { - "currencyCode": "USD", - "amount": "50" - }, - "type": "TOTAL" - } - ] - }, - "buyerCustomizedInfo": { - "customizedUrl": "aHR0cHM6Ly8xcC1kZi1wdWJsaWMtZGF0YS5zMy5hbWF6b25hd3MuY29tLzExMS0xMjYwNzQ1LTYyOTE0MTZfNTgzNjIxNTQwMTM1NjEuemlw" - } - }, - { - "itemSequenceNumber": "00002", - "buyerProductIdentifier": "B07DFYF5AB", - "vendorProductIdentifier": "8806098286123", - "title": "LG 6.5 kg Inverter Fully-Automatic Front Loading Washing Machine (FHT1065SNW, Blue and White, Inbuilt Heater)", - "orderedQuantity": { - "amount": 2, - "unitOfMeasure": "EACH" - }, - "netPrice": { - "currencyCode": "USD", - "amount": "700" - }, - "taxDetails": { - "taxLineItem": [ - { - "taxRate": "0.1", - "taxAmount": { - "currencyCode": "USD", - "amount": "140" - }, - "type": "TOTAL" - } - ] - } - } - ] + } } - } - }, - "headers": { - "x-amzn-RateLimit-Limit": { - "type": "string", - "description": "Your rate limit (requests per second) for this operation." - }, - "x-amzn-RequestId": { - "type": "string", - "description": "Unique request reference identifier." - } + ] } }, - "400": { - "description": "Request has missing or invalid parameters and cannot be parsed.", + "403": { + "description": "Indicates that access to the resource is forbidden. Possible reasons include Access Denied, Unauthorized, Expired Token, or Invalid Signature.", "schema": { - "$ref": "#/definitions/ErrorList" + "$ref": "#/definitions/SubmitInventoryUpdateResponse" }, "headers": { - "x-amzn-RateLimit-Limit": { - "type": "string", - "description": "Your rate limit (requests per second) for this operation." - }, "x-amzn-RequestId": { "type": "string", "description": "Unique request reference identifier." } } }, - "401": { - "description": "The request's Authorization header is not formatted correctly or does not contain a valid token.", + "404": { + "description": "The resource specified does not exist.", "schema": { - "$ref": "#/definitions/ErrorList" + "$ref": "#/definitions/SubmitInventoryUpdateResponse" }, "headers": { "x-amzn-RateLimit-Limit": { "type": "string", - "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." + "description": "Your rate limit (requests per second) for this operation." }, "x-amzn-RequestId": { "type": "string", @@ -554,27 +197,15 @@ } } }, - "403": { - "description": "Indicates that access to the resource is forbidden. Possible reasons include Access Denied, Unauthorized, Expired Token, or Invalid Signature.", - "schema": { - "$ref": "#/definitions/ErrorList" - }, - "headers": { - "x-amzn-RequestId": { - "type": "string", - "description": "Unique request reference identifier." - } - } - }, - "404": { - "description": "The resource specified does not exist.", + "413": { + "description": "The request size exceeded the maximum accepted size.", "schema": { - "$ref": "#/definitions/ErrorList" + "$ref": "#/definitions/SubmitInventoryUpdateResponse" }, "headers": { "x-amzn-RateLimit-Limit": { "type": "string", - "description": "Your rate limit (requests per second) for this operation." + "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." }, "x-amzn-RequestId": { "type": "string", @@ -585,7 +216,7 @@ "415": { "description": "The request payload is in an unsupported format.", "schema": { - "$ref": "#/definitions/ErrorList" + "$ref": "#/definitions/SubmitInventoryUpdateResponse" }, "headers": { "x-amzn-RateLimit-Limit": { @@ -601,7 +232,7 @@ "429": { "description": "The frequency of requests was greater than allowed.", "schema": { - "$ref": "#/definitions/ErrorList" + "$ref": "#/definitions/SubmitInventoryUpdateResponse" }, "headers": { "x-amzn-RateLimit-Limit": { @@ -617,7 +248,7 @@ "500": { "description": "An unexpected condition occurred that prevented the server from fulfilling the request.", "schema": { - "$ref": "#/definitions/ErrorList" + "$ref": "#/definitions/SubmitInventoryUpdateResponse" }, "headers": { "x-amzn-RateLimit-Limit": { @@ -633,7 +264,7 @@ "503": { "description": "Temporary overloading or maintenance of the server.", "schema": { - "$ref": "#/definitions/ErrorList" + "$ref": "#/definitions/SubmitInventoryUpdateResponse" }, "headers": { "x-amzn-RateLimit-Limit": { @@ -646,298 +277,71 @@ } } } + } + }, + "parameters": [] + } + }, + "definitions": { + "SubmitInventoryUpdateRequest": { + "type": "object", + "properties": { + "inventory": { + "description": "Inventory details required to update some or all items for the requested warehouse.", + "$ref": "#/definitions/InventoryUpdate" + } + }, + "description": "The request body for the submitInventoryUpdate operation." + }, + "InventoryUpdate": { + "type": "object", + "required": [ + "isFullUpdate", + "items", + "sellingParty" + ], + "properties": { + "sellingParty": { + "description": "ID of the selling party or vendor.", + "$ref": "#/definitions/PartyIdentification" + }, + "isFullUpdate": { + "type": "boolean", + "description": "When true, this request contains a full feed. Otherwise, this request contains a partial feed. When sending a full feed, you must send information about all items in the warehouse. Any items not in the full feed are updated as not available. When sending a partial feed, only include the items that need an update to inventory. The status of other items will remain unchanged." }, - "x-amzn-api-sandbox": { - "dynamic": {} + "items": { + "type": "array", + "description": "A list of inventory items with updated details, including quantity available.", + "items": { + "$ref": "#/definitions/ItemDetails" + } } } }, - "/vendor/directFulfillment/orders/2021-12-28/acknowledgements": { - "post": { - "tags": [ - "vendorOrders" - ], - "description": "Submits acknowledgements for one or more purchase orders.\n\n**Usage Plan:**\n\n| Rate (requests per second) | Burst |\n| ---- | ---- |\n| 10 | 10 |\n\nThe `x-amzn-RateLimit-Limit` response header returns the usage plan rate limits that were applied to the requested operation, when available. The table above indicates the default rate and burst values for this operation. Selling partners whose business demands require higher throughput may see higher rate and burst values then those shown here. For more information, see [Usage Plans and Rate Limits in the Selling Partner API](doc:usage-plans-and-rate-limits-in-the-sp-api).", - "operationId": "submitAcknowledgement", - "parameters": [ - { - "in": "body", - "name": "body", - "required": true, - "schema": { - "$ref": "#/definitions/SubmitAcknowledgementRequest" - } - } - ], - "responses": { - "202": { - "description": "Success.", - "schema": { - "$ref": "#/definitions/TransactionId" - }, - "headers": { - "x-amzn-RateLimit-Limit": { - "type": "string", - "description": "Your rate limit (requests per second) for this operation." - }, - "x-amzn-RequestId": { - "type": "string", - "description": "Unique request reference identifier." - } - } - }, - "400": { - "description": "Request has missing or invalid parameters and cannot be parsed.", - "schema": { - "$ref": "#/definitions/ErrorList" - }, - "headers": { - "x-amzn-RateLimit-Limit": { - "type": "string", - "description": "Your rate limit (requests per second) for this operation." - }, - "x-amzn-RequestId": { - "type": "string", - "description": "Unique request reference identifier." - } - } - }, - "403": { - "description": "Indicates that access to the resource is forbidden. Possible reasons include Access Denied, Unauthorized, Expired Token, or Invalid Signature.", - "schema": { - "$ref": "#/definitions/ErrorList" - }, - "headers": { - "x-amzn-RequestId": { - "type": "string", - "description": "Unique request reference identifier." - } - } - }, - "404": { - "description": "The resource specified does not exist.", - "schema": { - "$ref": "#/definitions/ErrorList" - }, - "headers": { - "x-amzn-RateLimit-Limit": { - "type": "string", - "description": "Your rate limit (requests per second) for this operation." - }, - "x-amzn-RequestId": { - "type": "string", - "description": "Unique request reference identifier." - } - } - }, - "413": { - "description": "The request size exceeded the maximum accepted size.", - "schema": { - "$ref": "#/definitions/ErrorList" - }, - "headers": { - "x-amzn-RateLimit-Limit": { - "type": "string", - "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." - }, - "x-amzn-RequestId": { - "type": "string", - "description": "Unique request reference identifier." - } - } - }, - "415": { - "description": "The request payload is in an unsupported format.", - "schema": { - "$ref": "#/definitions/ErrorList" - }, - "headers": { - "x-amzn-RateLimit-Limit": { - "type": "string", - "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." - }, - "x-amzn-RequestId": { - "type": "string", - "description": "Unique request reference identifier." - } - } - }, - "429": { - "description": "The frequency of requests was greater than allowed.", - "schema": { - "$ref": "#/definitions/ErrorList" - }, - "headers": { - "x-amzn-RateLimit-Limit": { - "type": "string", - "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." - }, - "x-amzn-RequestId": { - "type": "string", - "description": "Unique request reference identifier." - } - } - }, - "500": { - "description": "An unexpected condition occurred that prevented the server from fulfilling the request.", - "schema": { - "$ref": "#/definitions/ErrorList" - }, - "headers": { - "x-amzn-RateLimit-Limit": { - "type": "string", - "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." - }, - "x-amzn-RequestId": { - "type": "string", - "description": "Unique request reference identifier." - } - } - }, - "503": { - "description": "Temporary overloading or maintenance of the server.", - "schema": { - "$ref": "#/definitions/ErrorList" - }, - "headers": { - "x-amzn-RateLimit-Limit": { - "type": "string", - "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." - }, - "x-amzn-RequestId": { - "type": "string", - "description": "Unique request reference identifier." - } - } - } - }, - "x-amzn-api-sandbox": { - "dynamic": {} - } - } - } - }, - "definitions": { - "OrderList": { - "type": "object", - "properties": { - "pagination": { - "$ref": "#/definitions/Pagination" - }, - "orders": { - "type": "array", - "items": { - "$ref": "#/definitions/Order" - } - } - } - }, - "Pagination": { - "type": "object", - "properties": { - "nextToken": { - "type": "string", - "description": "A generated string used to pass information to your next request. If NextToken is returned, pass the value of NextToken to the next request. If NextToken is not returned, there are no more order items to return." - } - } - }, - "Order": { - "type": "object", - "required": [ - "purchaseOrderNumber" - ], - "properties": { - "purchaseOrderNumber": { - "type": "string", - "description": "The purchase order number for this order. Formatting Notes: alpha-numeric code." - }, - "orderDetails": { - "description": "Purchase order details.", - "$ref": "#/definitions/OrderDetails" - } - } - }, - "OrderDetails": { + "ItemDetails": { "type": "object", "required": [ - "billToParty", - "customerOrderNumber", - "items", - "orderDate", - "sellingParty", - "shipFromParty", - "shipToParty", - "shipmentDetails" + "availableQuantity" ], "properties": { - "customerOrderNumber": { - "type": "string", - "description": "The customer order number." - }, - "orderDate": { + "buyerProductIdentifier": { "type": "string", - "format": "date-time", - "description": "The date the order was placed. This field is expected to be in ISO-8601 date/time format, for example:2018-07-16T23:00:00Z/ 2018-07-16T23:00:00-05:00 /2018-07-16T23:00:00-08:00. If no time zone is specified, UTC should be assumed." + "description": "The buyer selected product identification of the item. Either buyerProductIdentifier or vendorProductIdentifier should be submitted." }, - "orderStatus": { + "vendorProductIdentifier": { "type": "string", - "description": "Current status of the order.", - "enum": [ - "NEW", - "SHIPPED", - "ACCEPTED", - "CANCELLED" - ], - "x-docgen-enum-table-extension": [ - { - "value": "NEW", - "description": "Status for newly created orders." - }, - { - "value": "SHIPPED", - "description": "Status for orders that are already shipped." - }, - { - "value": "ACCEPTED", - "description": "Status for orders accepted by vendors." - }, - { - "value": "CANCELLED", - "description": "Status for cancelled orders." - } - ] - }, - "shipmentDetails": { - "$ref": "#/definitions/ShipmentDetails" + "description": "The vendor selected product identification of the item. Either buyerProductIdentifier or vendorProductIdentifier should be submitted." }, - "taxTotal": { - "$ref": "#/definitions/TaxItemDetails" - }, - "sellingParty": { - "description": "PartyID of vendor code.", - "$ref": "#/definitions/PartyIdentification" - }, - "shipFromParty": { - "description": "PartyID of vendor's warehouse.", - "$ref": "#/definitions/PartyIdentification" - }, - "shipToParty": { - "description": "Name/Address and tax details of the ship to party.", - "$ref": "#/definitions/Address" - }, - "billToParty": { - "description": "Name/Address and tax details of the bill to party.", - "$ref": "#/definitions/PartyIdentification" + "availableQuantity": { + "description": "Total item quantity available in the warehouse.", + "$ref": "#/definitions/ItemQuantity" }, - "items": { - "type": "array", - "description": "A list of items in this purchase order.", - "items": { - "$ref": "#/definitions/OrderItem" - } + "isObsolete": { + "type": "boolean", + "description": "When true, the item is permanently unavailable." } }, - "description": "Details of an order." + "description": "Updated inventory details for an item." }, "PartyIdentification": { "type": "object", @@ -947,423 +351,56 @@ "properties": { "partyId": { "type": "string", - "description": "Assigned identification for the party. For example, warehouse code or vendor code. Please refer to specific party for more details." - }, - "address": { - "description": "Address details of the party.", - "$ref": "#/definitions/Address" - }, - "taxInfo": { - "description": "Tax registration details of the entity.", - "$ref": "#/definitions/TaxRegistrationDetails" + "description": "Assigned identification for the party." } } }, - "TaxRegistrationDetails": { - "type": "object", - "required": [ - "taxRegistrationNumber" - ], - "properties": { - "taxRegistrationType": { - "type": "string", - "description": "Tax registration type for the entity.", - "enum": [ - "VAT", - "GST" - ], - "x-docgen-enum-table-extension": [ - { - "value": "VAT", - "description": "Value-added tax." - }, - { - "value": "GST", - "description": "Goods and Services tax." - } - ] - }, - "taxRegistrationNumber": { - "type": "string", - "description": "Tax registration number for the party. For example, VAT ID." - }, - "taxRegistrationAddress": { - "description": "Address associated with the tax registration number.", - "$ref": "#/definitions/Address" - }, - "taxRegistrationMessages": { - "type": "string", - "description": "Tax registration message that can be used for additional tax related details." - } - }, - "description": "Tax registration details of the entity." - }, - "Address": { - "type": "object", - "required": [ - "addressLine1", - "countryCode", - "name", - "stateOrRegion" - ], - "properties": { - "name": { - "type": "string", - "description": "The name of the person, business or institution at that address. For Amazon label only vendors, this field will have the value `xxxxx` within the object `shipToParty`." - }, - "attention": { - "type": "string", - "description": "The attention name of the person at that address. For Amazon label only vendors, this field will have the value `xxxxx` within the object `shipToParty`." - }, - "addressLine1": { - "type": "string", - "description": "First line of the address. For Amazon label only vendors, this field will have the value `xxxxx` within the object `shipToParty`." - }, - "addressLine2": { - "type": "string", - "description": "Additional address information, if required. For Amazon label only vendors, this field will have the value `xxxxx` within the object `shipToParty`." - }, - "addressLine3": { - "type": "string", - "description": "Additional address information, if required. For Amazon label only vendors, this field will have the value `xxxxx` within the object `shipToParty`." - }, - "city": { - "type": "string", - "description": "The city where the person, business or institution is located. For Amazon label only vendors, this field will have the value `xxxxx` within the object `shipToParty`." - }, - "county": { - "type": "string", - "description": "The county where person, business or institution is located. For Amazon label only vendors, this field will have the value `xxxxx` within the object `shipToParty`." - }, - "district": { - "type": "string", - "description": "The district where person, business or institution is located. For Amazon label only vendors, this field will have the value `xxxxx` within the object `shipToParty`." - }, - "stateOrRegion": { - "type": "string", - "description": "The state or region where person, business or institution is located." - }, - "postalCode": { - "type": "string", - "description": "The postal code of that address. It conatins a series of letters or digits or both, sometimes including spaces or punctuation." - }, - "countryCode": { - "type": "string", - "description": "The two digit country code. In ISO 3166-1 alpha-2 format." - }, - "phone": { - "type": "string", - "description": "The phone number of the person, business or institution located at that address. For Amazon label only vendors, this field will have the value `xxxxx` within the object `shipToParty`." - } - }, - "description": "Address of the party." - }, - "OrderItem": { + "ItemQuantity": { "type": "object", "required": [ - "itemSequenceNumber", - "netPrice", - "orderedQuantity" + "unitOfMeasure" ], "properties": { - "itemSequenceNumber": { - "type": "string", - "description": "Numbering of the item on the purchase order. The first item will be 1, the second 2, and so on." - }, - "buyerProductIdentifier": { - "type": "string", - "description": "Buyer's standard identification number (ASIN) of an item." - }, - "vendorProductIdentifier": { - "type": "string", - "description": "The vendor selected product identification of the item." - }, - "title": { - "type": "string", - "description": "Title for the item." - }, - "orderedQuantity": { - "description": "Item quantity ordered.", - "$ref": "#/definitions/ItemQuantity" - }, - "scheduledDeliveryShipment": { - "description": "Details for the scheduled delivery shipment.", - "$ref": "#/definitions/ScheduledDeliveryShipment" - }, - "giftDetails": { - "description": "Gift message and wrapId details.", - "$ref": "#/definitions/GiftDetails" - }, - "netPrice": { - "description": "Net price (before tax) to vendor with currency details.", - "$ref": "#/definitions/Money" - }, - "taxDetails": { - "description": "Total tax details for the line item.", - "$ref": "#/definitions/TaxItemDetails" - }, - "totalPrice": { - "description": "The price to Amazon each (cost).", - "$ref": "#/definitions/Money" + "amount": { + "type": "integer", + "description": "Quantity of units available for a specific item." }, - "buyerCustomizedInfo": { - "description": "The buyer information for products the vendor has configured as customizable, specifying the types of customizations or configurations along with types and ranges for their product. This provides the ability for buyers to customize multiple aspects of the products according to what the vendor allows.", - "$ref": "#/definitions/buyerCustomizedInfoDetail" - } - } - }, - "Money": { - "type": "object", - "properties": { - "currencyCode": { + "unitOfMeasure": { "type": "string", - "description": "Three digit currency code in ISO 4217 format. String of length 3." - }, - "amount": { - "$ref": "#/definitions/Decimal" + "description": "Unit of measure for the available quantity." } }, - "description": "An amount of money, including units in the form of currency." - }, - "buyerCustomizedInfoDetail": { - "type": "object", - "properties": { - "customizedUrl": { - "type": "string", - "description": "A [Base 64](https://datatracker.ietf.org/doc/html/rfc4648#section-4) encoded URL using the UTF-8 character set. The URL provides the location of the zip file that specifies the types of customizations or configurations allowed by the vendor, along with types and ranges for the attributes of their products." - } - } - }, - "Decimal": { - "type": "string", - "description": "A decimal number with no loss of precision. Useful when precision loss is unacceptable, as with currencies. Follows RFC7159 for number representation." + "description": "Details of item quantity." }, - "SubmitAcknowledgementResponse": { + "SubmitInventoryUpdateResponse": { "type": "object", "properties": { "payload": { - "description": "The payload for the submitAcknowledgement operation.", - "$ref": "#/definitions/TransactionId" + "description": "The response payload for the submitInventoryUpdate operation.", + "$ref": "#/definitions/TransactionReference" }, "errors": { "$ref": "#/definitions/ErrorList" } }, - "description": "The response schema for the submitAcknowledgement operation." + "description": "The response schema for the submitInventoryUpdate operation." }, - "TransactionId": { + "TransactionReference": { "type": "object", "properties": { "transactionId": { "type": "string", - "description": "GUID assigned by Amazon to identify this transaction. This value can be used with the Transaction Status API to return the status of this transaction." + "description": "GUID to identify this transaction. This value can be used with the Transaction Status API to return the status of this transaction." } } }, "ErrorList": { - "type": "object", - "description": "A list of error responses returned when a request is unsuccessful.", - "required": [ - "errors" - ], - "properties": { - "errors": { - "type": "array", - "items": { - "$ref": "#/definitions/Error" - } - } - } - }, - "SubmitAcknowledgementRequest": { - "type": "object", - "properties": { - "orderAcknowledgements": { - "type": "array", - "description": "A list of one or more purchase orders.", - "items": { - "$ref": "#/definitions/OrderAcknowledgementItem" - } - } - }, - "description": "The request schema for the submitAcknowledgement operation." - }, - "OrderAcknowledgementItem": { - "type": "object", - "required": [ - "acknowledgementDate", - "acknowledgementStatus", - "itemAcknowledgements", - "purchaseOrderNumber", - "sellingParty", - "shipFromParty", - "vendorOrderNumber" - ], - "properties": { - "purchaseOrderNumber": { - "type": "string", - "description": "The purchase order number for this order. Formatting Notes: alpha-numeric code." - }, - "vendorOrderNumber": { - "type": "string", - "description": "The vendor's order number for this order." - }, - "acknowledgementDate": { - "type": "string", - "format": "date-time", - "description": "The date and time when the order is acknowledged, in ISO-8601 date/time format. For example: 2018-07-16T23:00:00Z / 2018-07-16T23:00:00-05:00 / 2018-07-16T23:00:00-08:00." - }, - "acknowledgementStatus": { - "description": "Status of acknowledgement.", - "$ref": "#/definitions/AcknowledgementStatus" - }, - "sellingParty": { - "description": "PartyID as vendor code.", - "$ref": "#/definitions/PartyIdentification" - }, - "shipFromParty": { - "description": "PartyID as the vendor's warehouseId.", - "$ref": "#/definitions/PartyIdentification" - }, - "itemAcknowledgements": { - "type": "array", - "description": "Item details including acknowledged quantity.", - "items": { - "$ref": "#/definitions/OrderItemAcknowledgement" - } - } - }, - "description": "Details of an individual order being acknowledged." - }, - "OrderItemAcknowledgement": { - "type": "object", - "required": [ - "acknowledgedQuantity", - "itemSequenceNumber" - ], - "properties": { - "itemSequenceNumber": { - "type": "string", - "description": "Line item sequence number for the item." - }, - "buyerProductIdentifier": { - "type": "string", - "description": "Buyer's standard identification number (ASIN) of an item." - }, - "vendorProductIdentifier": { - "type": "string", - "description": "The vendor selected product identification of the item. Should be the same as was provided in the purchase order." - }, - "acknowledgedQuantity": { - "description": "Details of quantity acknowledged with the above acknowledgement code.", - "$ref": "#/definitions/ItemQuantity" - } - } - }, - "ItemQuantity": { - "type": "object", - "properties": { - "amount": { - "type": "integer", - "description": "Acknowledged quantity. This value should not be zero." - }, - "unitOfMeasure": { - "type": "string", - "description": "Unit of measure for the acknowledged quantity.", - "enum": [ - "Each" - ], - "x-docgen-enum-table-extension": [ - { - "value": "Each", - "description": "Unit of measure to represent individual piece." - } - ] - } - }, - "description": "Details of quantity ordered." - }, - "TaxLineItem": { "type": "array", - "description": "A list of tax line items.", + "description": "A list of error responses returned when a request is unsuccessful.", "items": { - "$ref": "#/definitions/TaxDetails" - } - }, - "TaxDetails": { - "type": "object", - "required": [ - "taxAmount" - ], - "properties": { - "taxRate": { - "$ref": "#/definitions/Decimal" - }, - "taxAmount": { - "$ref": "#/definitions/Money" - }, - "taxableAmount": { - "$ref": "#/definitions/Money" - }, - "type": { - "type": "string", - "description": "Tax type.", - "enum": [ - "CONSUMPTION", - "GST", - "MwSt.", - "PST", - "TOTAL", - "TVA", - "VAT" - ], - "x-docgen-enum-table-extension": [ - { - "value": "CONSUMPTION", - "description": "Tax levied on consumption spending on goods and services." - }, - { - "value": "GST", - "description": "Tax levied on most goods and services sold for domestic consumption." - }, - { - "value": "MwSt.", - "description": "Mehrwertsteuer, MwSt, is German for value-added tax." - }, - { - "value": "PST", - "description": "A provincial sales tax (PST) is imposed on consumers of goods and particular services in many Canadian provinces." - }, - { - "value": "TOTAL", - "description": "Combined total of all the applicable taxes." - }, - { - "value": "TVA", - "description": "Taxe sur la Valeur Ajoutée (TVA) is French for value-added tax." - }, - { - "value": "VAT", - "description": "Value-added tax." - } - ] - } + "$ref": "#/definitions/Error" } }, - "AcknowledgementStatus": { - "type": "object", - "properties": { - "code": { - "type": "string", - "description": "Acknowledgement code is a unique two digit value which indicates the status of the acknowledgement. For a list of acknowledgement codes that Amazon supports, see the Vendor Direct Fulfillment APIs Use Case Guide." - }, - "description": { - "type": "string", - "description": "Reason for the acknowledgement code." - } - }, - "description": "Status of acknowledgement." - }, "Error": { "type": "object", "required": [ @@ -1385,109 +422,6 @@ } }, "description": "Error response returned when the request is unsuccessful." - }, - "ShipmentDetails": { - "type": "object", - "required": [ - "isPriorityShipment", - "isPslipRequired", - "messageToCustomer", - "shipMethod", - "shipmentDates" - ], - "properties": { - "isPriorityShipment": { - "type": "boolean", - "description": "When true, this is a priority shipment." - }, - "isScheduledDeliveryShipment": { - "type": "boolean", - "description": "When true, this order is part of a scheduled delivery program." - }, - "isPslipRequired": { - "type": "boolean", - "description": "When true, a packing slip is required to be sent to the customer." - }, - "isGift": { - "type": "boolean", - "description": "When true, the order contain a gift. Include the gift message and gift wrap information." - }, - "shipMethod": { - "type": "string", - "description": "Ship method to be used for shipping the order. Amazon defines ship method codes indicating the shipping carrier and shipment service level. To see the full list of ship methods in use, including both the code and the friendly name, search the 'Help' section on Vendor Central for 'ship methods'." - }, - "shipmentDates": { - "$ref": "#/definitions/ShipmentDates" - }, - "messageToCustomer": { - "type": "string", - "description": "Message to customer for order status." - } - }, - "description": "Shipment details required for the shipment." - }, - "ShipmentDates": { - "type": "object", - "required": [ - "requiredShipDate" - ], - "properties": { - "requiredShipDate": { - "type": "string", - "format": "date-time", - "description": "Time by which the vendor is required to ship the order." - }, - "promisedDeliveryDate": { - "type": "string", - "format": "date-time", - "description": "Delivery date promised to the Amazon customer." - } - }, - "description": "Shipment dates." - }, - "ScheduledDeliveryShipment": { - "type": "object", - "properties": { - "scheduledDeliveryServiceType": { - "type": "string", - "description": "Scheduled delivery service type." - }, - "earliestNominatedDeliveryDate": { - "type": "string", - "format": "date-time", - "description": "Earliest nominated delivery date for the scheduled delivery." - }, - "latestNominatedDeliveryDate": { - "type": "string", - "format": "date-time", - "description": "Latest nominated delivery date for the scheduled delivery." - } - }, - "description": "Dates for the scheduled delivery shipments." - }, - "GiftDetails": { - "type": "object", - "properties": { - "giftMessage": { - "type": "string", - "description": "Gift message to be printed in shipment." - }, - "giftWrapId": { - "type": "string", - "description": "Gift wrap identifier for the gift wrapping, if any." - } - }, - "description": "Gift details for the item." - }, - "TaxItemDetails": { - "type": "object", - "description": "Total tax details for the line item.", - "properties": { - "taxLineItem": { - "description": "Tax details.", - "$ref": "#/definitions/TaxLineItem" - } - } } } -} \ No newline at end of file +} From 7f6aa907c4679c2b0863bff5db24f1f854077b83 Mon Sep 17 00:00:00 2001 From: Jack Evoniuk Date: Wed, 13 Dec 2023 13:36:25 -0800 Subject: [PATCH 290/340] Update Listings Items 2021 model --- .../listingsItems_2021-08-01.json | 311 +----------------- 1 file changed, 7 insertions(+), 304 deletions(-) diff --git a/models/listings-items-api-model/listingsItems_2021-08-01.json b/models/listings-items-api-model/listingsItems_2021-08-01.json index 917f6dc08..c1de701fd 100644 --- a/models/listings-items-api-model/listingsItems_2021-08-01.json +++ b/models/listings-items-api-model/listingsItems_2021-08-01.json @@ -230,7 +230,7 @@ "tags": [ "listings" ], - "description": "Returns details about a listings item for a selling partner.\n\n**Note:** The parameters associated with this operation may contain special characters that must be encoded to successfully call the API. To avoid errors with SKUs when encoding URLs, refer to [URL Encoding](https://developer-docs.amazon.com/sp-api/docs/url-encoding).\n\n**Usage Plan:**\n\n| Rate (requests per second) | Burst |\n| ---- | ---- |\n| 5 | 10 |\n\nThe `x-amzn-RateLimit-Limit` response header returns the usage plan rate limits that were applied to the requested operation, when available. The table above indicates the default rate and burst values for this operation. Selling partners whose business demands require higher throughput may see higher rate and burst values than those shown here. For more information, see [Usage Plans and Rate Limits in the Selling Partner API](https://developer-docs.amazon.com/sp-api/docs/usage-plans-and-rate-limits-in-the-sp-api).", + "description": "Returns details about a listings item for a selling partner.\n\n**Note:** This operation has a throttling rate of one request per second when `mode` is `VALIDATION_PREVIEW`.\n\n**Note:** The parameters associated with this operation may contain special characters that must be encoded to successfully call the API. To avoid errors with SKUs when encoding URLs, refer to [URL Encoding](https://developer-docs.amazon.com/sp-api/docs/url-encoding).\n\n**Usage Plan:**\n\n| Rate (requests per second) | Burst |\n| ---- | ---- |\n| 5 | 10 |\n\nThe `x-amzn-RateLimit-Limit` response header returns the usage plan rate limits that were applied to the requested operation, when available. The table above indicates the default rate and burst values for this operation. Selling partners whose business demands require higher throughput may see higher rate and burst values than those shown here. For more information, see [Usage Plans and Rate Limits in the Selling Partner API](https://developer-docs.amazon.com/sp-api/docs/usage-plans-and-rate-limits-in-the-sp-api).", "operationId": "getListingsItem", "consumes": [ "application/json" @@ -318,7 +318,7 @@ }, "collectionFormat": "csv", "x-example": "summaries", - "default": ["summaries"] + "default": "summaries" } ], "responses": { @@ -708,7 +708,7 @@ "tags": [ "listings" ], - "description": "Partially update (patch) a listings item for a selling partner. Only top-level listings item attributes can be patched. Patching nested attributes is not supported.\n\n**Note:** This operation has a throttling rate of one request per second when `mode` is `VALIDATION_PREVIEW`.\n\n**Note:** The parameters associated with this operation may contain special characters that must be encoded to successfully call the API. To avoid errors with SKUs when encoding URLs, refer to [URL Encoding](https://developer-docs.amazon.com/sp-api/docs/url-encoding).\n\n**Usage Plan:**\n\n| Rate (requests per second) | Burst |\n| ---- | ---- |\n| 5 | 10 |\n\nThe `x-amzn-RateLimit-Limit` response header returns the usage plan rate limits that were applied to the requested operation, when available. The table above indicates the default rate and burst values for this operation. Selling partners whose business demands require higher throughput may see higher rate and burst values than those shown here. For more information, see [Usage Plans and Rate Limits in the Selling Partner API](https://developer-docs.amazon.com/sp-api/docs/usage-plans-and-rate-limits-in-the-sp-api).", + "description": "Partially update (patch) a listings item for a selling partner. Only top-level listings item attributes can be patched. Patching nested attributes is not supported.\n\n**Note:** The parameters associated with this operation may contain special characters that must be encoded to successfully call the API. To avoid errors with SKUs when encoding URLs, refer to [URL Encoding](https://developer-docs.amazon.com/sp-api/docs/url-encoding).\n\n**Usage Plan:**\n\n| Rate (requests per second) | Burst |\n| ---- | ---- |\n| 5 | 10 |\n\nThe `x-amzn-RateLimit-Limit` response header returns the usage plan rate limits that were applied to the requested operation, when available. The table above indicates the default rate and burst values for this operation. Selling partners whose business demands require higher throughput may see higher rate and burst values than those shown here. For more information, see [Usage Plans and Rate Limits in the Selling Partner API](https://developer-docs.amazon.com/sp-api/docs/usage-plans-and-rate-limits-in-the-sp-api).", "operationId": "patchListingsItem", "consumes": [ "application/json" @@ -743,50 +743,6 @@ "collectionFormat": "csv", "x-example": "ATVPDKIKX0DER" }, - { - "name": "includedData", - "description": "A comma-delimited list of data sets to include in the response. Default: `issues`.", - "in": "query", - "required": false, - "type": "array", - "items": { - "enum": [ - "identifiers", - "issues" - ], - "x-docgen-enum-table-extension": [ - { - "value": "identifiers", - "description": "Identifiers associated with the item in the Amazon catalog, such as Amazon Standard Identification Number (ASIN). Can only be requested when `mode` is `VALIDATION_PREVIEW`." - }, - { - "value": "issues", - "description": "The issues associated with the listing item." - } - ], - "type": "string" - }, - "collectionFormat": "csv", - "x-example": "issues", - "default": ["issues"] - }, - { - "name": "mode", - "description": "The mode of operation for the request.", - "in": "query", - "enum": [ - "VALIDATION_PREVIEW" - ], - "x-docgen-enum-table-extension": [ - { - "value": "VALIDATION_PREVIEW", - "description": "Indicates the submitted data should be validated without persisting to the selling partner's catalog." - } - ], - "required": false, - "type": "string", - "x-example": "VALIDATION_PREVIEW" - }, { "name": "issueLocale", "description": "A locale for localization of issues. When not provided, the default language code of the first marketplace is used. Examples: `en_US`, `fr_CA`, `fr_FR`. Localized messages default to `en_US` when a localization is not available in the specified locale.", @@ -844,91 +800,6 @@ "submissionId": "f1dc2914-75dd-11ea-bc55-0242ac130003", "issues": [] } - }, - { - "request": { - "parameters": { - "sku": { - "value": "VALIDATION_VALID" - }, - "marketplaceIds": { - "value": [ - "ATVPDKIKX0DER" - ] - }, - "includedData": { - "value": [ - "identifiers", - "issues" - ] - }, - "mode": { - "value": "VALIDATION_PREVIEW" - } - } - }, - "response": { - "sku": "VALIDATION_VALID", - "status": "VALID", - "submissionId": "1edc94ea-a3d7-210b-42bc-0ec72c1384762", - "identifiers": [ - { - "marketplaceId": "ATVPDKIKX0DER", - "asin": "B07N4M94X4" - } - ], - "issues": [] - } - }, - { - "request": { - "parameters": { - "sku": { - "value": "VALIDATION_INVALID" - }, - "marketplaceIds": { - "value": [ - "ATVPDKIKX0DER" - ] - }, - "includedData": { - "value": [ - "identifiers", - "issues" - ] - }, - "mode": { - "value": "VALIDATION_PREVIEW" - } - } - }, - "response": { - "sku": "VALIDATION_INVALID", - "status": "INVALID", - "submissionId": "a1c562c2-1695-11ee-be56-0242ac120002", - "identifiers": [], - "issues": [ - { - "code":"90000900", - "message":"The attributes are invalid.", - "severity":"ERROR", - "attributeNames": [ - "fake_attribute" - ], - "categories": ["INVALID_ATTRIBUTE"], - "enforcements": { - "actions": [ - { - "action": "ATTRIBUTE_SUPPRESSED" - } - ], - "exemption": { - "status": "NOT_EXEMPT" - } - } - } - ] - } } ] } @@ -1049,7 +920,7 @@ "tags": [ "listings" ], - "description": "Creates or fully updates an existing listings item for a selling partner.\n\n**Note:** This operation has a throttling rate of one request per second when `mode` is `VALIDATION_PREVIEW`.\n\n**Note:** The parameters associated with this operation may contain special characters that must be encoded to successfully call the API. To avoid errors with SKUs when encoding URLs, refer to [URL Encoding](https://developer-docs.amazon.com/sp-api/docs/url-encoding).\n\n**Usage Plan:**\n\n| Rate (requests per second) | Burst |\n| ---- | ---- |\n| 5 | 10 |\n\nThe `x-amzn-RateLimit-Limit` response header returns the usage plan rate limits that were applied to the requested operation, when available. The table above indicates the default rate and burst values for this operation. Selling partners whose business demands require higher throughput may see higher rate and burst values than those shown here. For more information, see [Usage Plans and Rate Limits in the Selling Partner API](https://developer-docs.amazon.com/sp-api/docs/usage-plans-and-rate-limits-in-the-sp-api).", + "description": "Creates or fully updates an existing listings item for a selling partner.\n\n**Note:** The parameters associated with this operation may contain special characters that must be encoded to successfully call the API. To avoid errors with SKUs when encoding URLs, refer to [URL Encoding](https://developer-docs.amazon.com/sp-api/docs/url-encoding).\n\n**Usage Plan:**\n\n| Rate (requests per second) | Burst |\n| ---- | ---- |\n| 5 | 10 |\n\nThe `x-amzn-RateLimit-Limit` response header returns the usage plan rate limits that were applied to the requested operation, when available. The table above indicates the default rate and burst values for this operation. Selling partners whose business demands require higher throughput may see higher rate and burst values than those shown here. For more information, see [Usage Plans and Rate Limits in the Selling Partner API](https://developer-docs.amazon.com/sp-api/docs/usage-plans-and-rate-limits-in-the-sp-api).", "operationId": "putListingsItem", "consumes": [ "application/json" @@ -1084,50 +955,6 @@ "collectionFormat": "csv", "x-example": "ATVPDKIKX0DER" }, - { - "name": "includedData", - "description": "A comma-delimited list of data sets to include in the response. Default: `issues`.", - "in": "query", - "required": false, - "type": "array", - "items": { - "enum": [ - "identifiers", - "issues" - ], - "x-docgen-enum-table-extension": [ - { - "value": "identifiers", - "description": "Identifiers associated with the item in the Amazon catalog, such as Amazon Standard Identification Number (ASIN). Can only be requested when `mode` is `VALIDATION_PREVIEW`." - }, - { - "value": "issues", - "description": "The issues associated with the listing item." - } - ], - "type": "string" - }, - "collectionFormat": "csv", - "x-example": "issues", - "default": ["issues"] - }, - { - "name": "mode", - "description": "The mode of operation for the request.", - "in": "query", - "enum": [ - "VALIDATION_PREVIEW" - ], - "x-docgen-enum-table-extension": [ - { - "value": "VALIDATION_PREVIEW", - "description": "Indicates the submitted data should be validated without persisting to the selling partner's catalog." - } - ], - "required": false, - "type": "string", - "x-example": "VALIDATION_PREVIEW" - }, { "name": "issueLocale", "description": "A locale for localization of issues. When not provided, the default language code of the first marketplace is used. Examples: `en_US`, `fr_CA`, `fr_FR`. Localized messages default to `en_US` when a localization is not available in the specified locale.", @@ -1185,100 +1012,6 @@ "submissionId": "f1dc2914-75dd-11ea-bc55-0242ac130003", "issues": [] } - }, - { - "request": { - "parameters": { - "sku": { - "value": "VALIDATION_VALID" - }, - "marketplaceIds": { - "value": [ - "ATVPDKIKX0DER" - ] - }, - "includedData": { - "value": [ - "identifiers", - "issues" - ] - }, - "mode": { - "value": "VALIDATION_PREVIEW" - } - } - }, - "response": { - "sku": "VALIDATION_VALID", - "status": "VALID", - "submissionId": "1edc94ea-a3d7-210b-42bc-0ec72c1384762", - "identifiers": [ - { - "marketplaceId": "ATVPDKIKX0DER", - "asin": "B07N4M94X4" - } - ], - "issues": [] - } - }, - { - "request": { - "parameters": { - "sku": { - "value": "VALIDATION_INVALID" - }, - "marketplaceIds": { - "value": [ - "ATVPDKIKX0DER" - ] - }, - "includedData": { - "value": [ - "identifiers", - "issues" - ] - }, - "mode": { - "value": "VALIDATION_PREVIEW" - } - } - }, - "response": { - "sku": "VALIDATION_INVALID", - "status": "INVALID", - "submissionId": "a1c562c2-1695-11ee-be56-0242ac120002", - "identifiers": [], - "issues": [ - { - "code":"90220", - "message":"'condition_type' is required but not supplied.", - "severity":"ERROR", - "attributeNames": [ - "condition_type" - ], - "categories": ["MISSING_ATTRIBUTE"], - "enforcements": { - "actions": [ - { - "action": "LISTING_SUPPRESSED" - } - ], - "exemption": { - "status": "NOT_EXEMPT" - } - } - }, - { - "code":"90000900", - "message":"The attributes are invalid.", - "severity":"ERROR", - "attributeNames": [ - "fake_attribute" - ], - "categories": [] - } - ] - } } ] } @@ -1701,7 +1434,7 @@ } }, "categories": { - "description": "List of issue categories. \n\nPossible vales: \n\n* `INVALID_ATTRIBUTE` - Indicating an invalid attribute in the listing. \n\n* `MISSING_ATTRIBUTE` - Highlighting a missing attribute in the listing. \n\n* `INVALID_IMAGE` - Signifying an invalid image in the listing. \n\n* `MISSING_IMAGE` - Noting the absence of an image in the listing. \n\n* `INVALID_PRICE` - Pertaining to issues with the listing's price-related attributes. \n\n* `MISSING_PRICE` - Pointing out the absence of a price attribute in the listing. \n\n* `DUPLICATE` - Identifying listings with potential duplicate problems, such as this ASIN potentially being a duplicate of another ASIN. \n\n* `QUALIFICATION_REQUIRED` - Indicating that the listing requires qualification-related approval.", + "description": "List of issue categories. \n\nPossible vales: \n\n* `INVALID_ATTRIBUTE` - Indicating an invalid attribute in the listing. \n\n* `MISSING_ATTRIBUTE` - Highlighting a missing attribute in the listing. \n\n* `INVALID_IMAGE` - Signifying an invalid image in the listing. \n\n* `MISSING_IMAGE` - Noting the absence of an image in the listing. \n\n* `INVALID_PRICE` - Pertaining to issues with the listing`s price-related attributes. \n\n* `MISSING_PRICE` - Pointing out the absence of a price attribute in the listing. \n\n* `DUPLICATE` - Identifying listings with potential duplicate problems, such as this ASIN potentially being a duplicate of another ASIN. \n\n* `QUALIFICATION_REQUIRED` - Indicating that the listing requires qualification-related approval.", "type": "array", "items": { "type": "string" @@ -1747,7 +1480,7 @@ "type": "object", "properties": { "action":{ - "description": "The enforcement action name. \n\nPossible values: \n\n* `LISTING_SUPPRESSED` - This enforcement takes down the current listing item's buyability. \n\n* `ATTRIBUTE_SUPPRESSED` - An attribute's value on the listing item is invalid, which causes it to be rejected by Amazon. \n\n* `CATALOG_ITEM_REMOVED` - This catalog item is inactive on Amazon, and all offers against it in the applicable marketplace are non-buyable. \n\n* `SEARCH_SUPPRESSED` - This value indicates that the catalog item is hidden from search results.", + "description": "The enforcement action name. \n\nPossible values: \n\n* `LISTING_SUPPRESSED` - This enforcement takes down the current listing item`s buyability. \n\n* `ATTRIBUTE_SUPPRESSED` - An attribute`s value on the listing item is invalid, which causes it to be rejected by Amazon. \n\n* `CATALOG_ITEM_REMOVED` - This catalog item is inactive on Amazon, and all offers against it in the applicable marketplace are non-buyable. \n\n* `SEARCH_SUPPRESSED` - This value indicates that the catalog item is hidden from search results.", "type": "string", "example": "LISTING_SUPPRESSED" } @@ -2026,8 +1759,7 @@ "description": "The status of the listings item submission.", "enum": [ "ACCEPTED", - "INVALID", - "VALID" + "INVALID" ], "x-docgen-enum-table-extension": [ { @@ -2037,10 +1769,6 @@ { "value": "INVALID", "description": "The listings submission was not valid and was not accepted for processing." - }, - { - "value": "VALID", - "description": "The listings submission was valid. Only returned when the `mode` is `VALIDATION_PREVIEW`." } ], "type": "string" @@ -2055,10 +1783,6 @@ "items": { "$ref": "#/definitions/Issue" } - }, - "identifiers": { - "description": "Identity attributes associated with the item in the Amazon catalog, such as the ASIN.", - "$ref": "#/definitions/ItemIdentifiers" } }, "required": [ @@ -2067,27 +1791,6 @@ "submissionId" ], "type": "object" - }, - "ItemIdentifiers": { - "description": "Identity attributes associated with the item in the Amazon catalog, such as the ASIN.", - "items": { - "$ref": "#/definitions/ItemIdentifiersByMarketplace" - }, - "type": "array" - }, - "ItemIdentifiersByMarketplace": { - "description": "Identity attributes associated with the item in the Amazon catalog for the indicated Amazon marketplace.", - "properties": { - "marketplaceId": { - "description": "A marketplace identifier. Identifies the Amazon marketplace for the listings item.", - "type": "string" - }, - "asin": { - "description": "Amazon Standard Identification Number (ASIN) of the listings item.", - "type": "string" - } - }, - "type": "object" } } } \ No newline at end of file From 5683a41cb31fc2a618991afeb09e43a2b891d4bc Mon Sep 17 00:00:00 2001 From: Jack Evoniuk Date: Tue, 2 Jan 2024 14:47:36 -0800 Subject: [PATCH 291/340] Update Listings Items model --- models/listings-items-api-model/listingsItems_2021-08-01.json | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/models/listings-items-api-model/listingsItems_2021-08-01.json b/models/listings-items-api-model/listingsItems_2021-08-01.json index c1de701fd..44cbcbfe2 100644 --- a/models/listings-items-api-model/listingsItems_2021-08-01.json +++ b/models/listings-items-api-model/listingsItems_2021-08-01.json @@ -1434,7 +1434,7 @@ } }, "categories": { - "description": "List of issue categories. \n\nPossible vales: \n\n* `INVALID_ATTRIBUTE` - Indicating an invalid attribute in the listing. \n\n* `MISSING_ATTRIBUTE` - Highlighting a missing attribute in the listing. \n\n* `INVALID_IMAGE` - Signifying an invalid image in the listing. \n\n* `MISSING_IMAGE` - Noting the absence of an image in the listing. \n\n* `INVALID_PRICE` - Pertaining to issues with the listing`s price-related attributes. \n\n* `MISSING_PRICE` - Pointing out the absence of a price attribute in the listing. \n\n* `DUPLICATE` - Identifying listings with potential duplicate problems, such as this ASIN potentially being a duplicate of another ASIN. \n\n* `QUALIFICATION_REQUIRED` - Indicating that the listing requires qualification-related approval.", + "description": "List of issue categories. \n\nPossible vales: \n\n* `INVALID_ATTRIBUTE` - Indicating an invalid attribute in the listing. \n\n* `MISSING_ATTRIBUTE` - Highlighting a missing attribute in the listing. \n\n* `INVALID_IMAGE` - Signifying an invalid image in the listing. \n\n* `MISSING_IMAGE` - Noting the absence of an image in the listing. \n\n* `INVALID_PRICE` - Pertaining to issues with the listing's price-related attributes. \n\n* `MISSING_PRICE` - Pointing out the absence of a price attribute in the listing. \n\n* `DUPLICATE` - Identifying listings with potential duplicate problems, such as this ASIN potentially being a duplicate of another ASIN. \n\n* `QUALIFICATION_REQUIRED` - Indicating that the listing requires qualification-related approval.", "type": "array", "items": { "type": "string" @@ -1480,7 +1480,7 @@ "type": "object", "properties": { "action":{ - "description": "The enforcement action name. \n\nPossible values: \n\n* `LISTING_SUPPRESSED` - This enforcement takes down the current listing item`s buyability. \n\n* `ATTRIBUTE_SUPPRESSED` - An attribute`s value on the listing item is invalid, which causes it to be rejected by Amazon. \n\n* `CATALOG_ITEM_REMOVED` - This catalog item is inactive on Amazon, and all offers against it in the applicable marketplace are non-buyable. \n\n* `SEARCH_SUPPRESSED` - This value indicates that the catalog item is hidden from search results.", + "description": "The enforcement action name. \n\nPossible values: \n\n* `LISTING_SUPPRESSED` - This enforcement takes down the current listing item's buyability. \n\n* `ATTRIBUTE_SUPPRESSED` - An attribute's value on the listing item is invalid, which causes it to be rejected by Amazon. \n\n* `CATALOG_ITEM_REMOVED` - This catalog item is inactive on Amazon, and all offers against it in the applicable marketplace are non-buyable. \n\n* `SEARCH_SUPPRESSED` - This value indicates that the catalog item is hidden from search results.", "type": "string", "example": "LISTING_SUPPRESSED" } From a0c201998a443e592fed17128208de5c47c5b6de Mon Sep 17 00:00:00 2001 From: Alex Rupprecht <44652230+alex-rupprecht@users.noreply.github.com> Date: Fri, 12 Jan 2024 13:25:41 -0500 Subject: [PATCH 292/340] Update listingsItems_2021-08-01.json Removing extra note on throttling rate --- models/listings-items-api-model/listingsItems_2021-08-01.json | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/models/listings-items-api-model/listingsItems_2021-08-01.json b/models/listings-items-api-model/listingsItems_2021-08-01.json index 44cbcbfe2..d1c386079 100644 --- a/models/listings-items-api-model/listingsItems_2021-08-01.json +++ b/models/listings-items-api-model/listingsItems_2021-08-01.json @@ -230,7 +230,7 @@ "tags": [ "listings" ], - "description": "Returns details about a listings item for a selling partner.\n\n**Note:** This operation has a throttling rate of one request per second when `mode` is `VALIDATION_PREVIEW`.\n\n**Note:** The parameters associated with this operation may contain special characters that must be encoded to successfully call the API. To avoid errors with SKUs when encoding URLs, refer to [URL Encoding](https://developer-docs.amazon.com/sp-api/docs/url-encoding).\n\n**Usage Plan:**\n\n| Rate (requests per second) | Burst |\n| ---- | ---- |\n| 5 | 10 |\n\nThe `x-amzn-RateLimit-Limit` response header returns the usage plan rate limits that were applied to the requested operation, when available. The table above indicates the default rate and burst values for this operation. Selling partners whose business demands require higher throughput may see higher rate and burst values than those shown here. For more information, see [Usage Plans and Rate Limits in the Selling Partner API](https://developer-docs.amazon.com/sp-api/docs/usage-plans-and-rate-limits-in-the-sp-api).", + "description": "Returns details about a listings item for a selling partner.\n\n**Note:** The parameters associated with this operation may contain special characters that must be encoded to successfully call the API. To avoid errors with SKUs when encoding URLs, refer to [URL Encoding](https://developer-docs.amazon.com/sp-api/docs/url-encoding).\n\n**Usage Plan:**\n\n| Rate (requests per second) | Burst |\n| ---- | ---- |\n| 5 | 10 |\n\nThe `x-amzn-RateLimit-Limit` response header returns the usage plan rate limits that were applied to the requested operation, when available. The table above indicates the default rate and burst values for this operation. Selling partners whose business demands require higher throughput may see higher rate and burst values than those shown here. For more information, see [Usage Plans and Rate Limits in the Selling Partner API](https://developer-docs.amazon.com/sp-api/docs/usage-plans-and-rate-limits-in-the-sp-api).", "operationId": "getListingsItem", "consumes": [ "application/json" @@ -1793,4 +1793,4 @@ "type": "object" } } -} \ No newline at end of file +} From 4cc325d7e2a4c0e70f743a68b1d074131cc63b62 Mon Sep 17 00:00:00 2001 From: Jack Evoniuk Date: Mon, 29 Jan 2024 10:20:46 -0800 Subject: [PATCH 293/340] Update Orders v0 model Clarify availability of ElectronicInvoiceStatus --- models/orders-api-model/ordersV0.json | 356 ++++++++++++++------------ 1 file changed, 190 insertions(+), 166 deletions(-) diff --git a/models/orders-api-model/ordersV0.json b/models/orders-api-model/ordersV0.json index ee15b5934..2526011f7 100644 --- a/models/orders-api-model/ordersV0.json +++ b/models/orders-api-model/ordersV0.json @@ -1,7 +1,7 @@ { "swagger": "2.0", "info": { - "description": "The Selling Partner API for Orders helps you programmatically retrieve order information. These APIs let you develop fast, flexible, custom applications in areas like order synchronization, order research, and demand-based decision support tools. The Orders API supports orders that are two years old or less. Orders more than two years old will not show in the API response.\n\n**Note:** The Orders API supports orders from 2016 and after for the JP, AU, and SG marketplaces.", + "description": "The Selling Partner API for Orders helps you programmatically retrieve order information. These APIs let you develop fast, flexible, custom applications in areas like order synchronization, order research, and demand-based decision support tools. The Orders API supports orders that are two years old or less. Orders more than two years old will not show in the API response.\n\n_Note:_ The Orders API supports orders from 2016 and after for the JP, AU, and SG marketplaces.", "version": "v0", "title": "Selling Partner API for Orders", "contact": { @@ -29,34 +29,34 @@ "tags": [ "ordersV0" ], - "description": "Returns orders created or updated during the time frame indicated by the specified parameters. You can also apply a range of filtering criteria to narrow the list of orders returned. If NextToken is present, that will be used to retrieve the orders instead of other criteria.\n\n**Usage Plan:**\n\n| Rate (requests per second) | Burst |\n| ---- | ---- |\n| 0.0167 | 20 |\n\nThe `x-amzn-RateLimit-Limit` response header returns the usage plan rate limits that were applied to the requested operation, when available. The table above indicates the default rate and burst values for this operation. Selling partners whose business demands require higher throughput may see higher rate and burst values then those shown here. For more information, refer to [Usage Plans and Rate Limits in the Selling Partner API](https://developer-docs.amazon.com/sp-api/docs/usage-plans-and-rate-limits-in-the-sp-api).", + "description": "Returns orders created or updated during the time frame indicated by the specified parameters. You can also apply a range of filtering criteria to narrow the list of orders returned. If NextToken is present, that will be used to retrieve the orders instead of other criteria.\n\n**Usage Plan:**\n\n| Rate (requests per second) | Burst |\n| ---- | ---- |\n| 0.0167 | 20 |\n\nThe `x-amzn-RateLimit-Limit` response header returns the usage plan rate limits that were applied to the requested operation, when available. The table above indicates the default rate and burst values for this operation. Selling partners whose business demands require higher throughput may see higher rate and burst values then those shown here. For more information, see [Usage Plans and Rate Limits in the Selling Partner API](doc:usage-plans-and-rate-limits-in-the-sp-api).", "operationId": "getOrders", "parameters": [ { "name": "CreatedAfter", "in": "query", - "description": "A date used for selecting orders created after (or at) a specified time. Only orders placed after the specified time are returned. The date must be in ISO 8601 format.\n\n**Note**: Either the `CreatedAfter` parameter or the `LastUpdatedAfter` parameter is required. You could specify `CreatedBefore` but not provide `LastUpdatedAfter` or `LastUpdatedBefore` when `CreatedAfter` is specified.", + "description": "A date used for selecting orders created after (or at) a specified time. Only orders placed after the specified time are returned. Either the CreatedAfter parameter or the LastUpdatedAfter parameter is required. Both cannot be empty. The date must be in ISO 8601 format.", "required": false, "type": "string" }, { "name": "CreatedBefore", "in": "query", - "description": "A date used for selecting orders created before (or at) a specified time. Only orders placed before the specified time are returned. The date must be in ISO 8601 format.\n\n**Note**: `CreatedBefore` is optional when `CreatedAfter` is specified. But if specified, `CreatedBefore` should be equal to or after the `CreatedAfter` date and at least 2 minutes before the current time.", + "description": "A date used for selecting orders created before (or at) a specified time. Only orders placed before the specified time are returned. The date must be in ISO 8601 format.", "required": false, "type": "string" }, { "name": "LastUpdatedAfter", "in": "query", - "description": "A date used for selecting orders that were last updated before (or at) a specified time. An update is defined as any change in order status, including the creation of a new order. Includes updates made by Amazon and by the seller. The date must be in ISO 8601 format.\n\n**Note**: `LastUpdatedBefore` is optional when `LastUpdatedAfter` is specified. But if specified, `LastUpdatedBefore` should be equal to or after the `LastUpdatedAfter` date and at least 2 minutes before current time.", + "description": "A date used for selecting orders that were last updated after (or at) a specified time. An update is defined as any change in order status, including the creation of a new order. Includes updates made by Amazon and by the seller. The date must be in ISO 8601 format.", "required": false, "type": "string" }, { "name": "LastUpdatedBefore", "in": "query", - "description": "A date used for selecting orders that were last updated before (or at) a specified time. An update is defined as any change in order status, including the creation of a new order. Includes updates made by Amazon and by the seller. The date must be in ISO 8601 format.\n\n**Note**: LastUpdatedBefore is optional when LastUpdatedAfter is set. But if specified, LastUpdatedBefore should be equal to or after the LastUpdatedAfter date and at least 2 minutes before current time.", + "description": "A date used for selecting orders that were last updated before (or at) a specified time. An update is defined as any change in order status, including the creation of a new order. Includes updates made by Amazon and by the seller. The date must be in ISO 8601 format.", "required": false, "type": "string" }, @@ -73,7 +73,7 @@ { "name": "MarketplaceIds", "in": "query", - "description": "A list of `MarketplaceId` values. Used to select orders that were placed in the specified marketplaces.\n\nRefer to [Marketplace IDs](https://developer-docs.amazon.com/sp-api/docs/marketplace-ids) for a complete list of `MarketplaceId` values.", + "description": "A list of MarketplaceId values. Used to select orders that were placed in the specified marketplaces.\n\nRefer to [Marketplace IDs](https://developer-docs.amazon.com/sp-api/docs/marketplace-ids) for a complete list of marketplaceId values.", "required": true, "type": "array", "items": { @@ -84,7 +84,7 @@ { "name": "FulfillmentChannels", "in": "query", - "description": "A list that indicates how an order was fulfilled. Filters the results by fulfillment channel. \n\n**Possible values**: `AFN` (Fulfillment by Amazon); `MFN` (Fulfilled by the seller).", + "description": "A list that indicates how an order was fulfilled. Filters the results by fulfillment channel. Possible values: AFN (Fulfillment by Amazon); MFN (Fulfilled by the seller).", "required": false, "type": "array", "items": { @@ -94,7 +94,7 @@ { "name": "PaymentMethods", "in": "query", - "description": "A list of payment method values. Used to select orders paid using the specified payment methods.\n\n**Possible values**: `COD` (Cash on delivery); `CVS` (Convenience store payment); `Other` (Any payment method other than `COD` or `CVS`).", + "description": "A list of payment method values. Used to select orders paid using the specified payment methods. Possible values: COD (Cash on delivery); CVS (Convenience store payment); Other (Any payment method other than COD or CVS).", "required": false, "type": "array", "items": { @@ -563,6 +563,10 @@ "$ref": "#/definitions/GetOrdersResponse" }, "headers": { + "x-amzn-RateLimit-Limit": { + "type": "string", + "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." + }, "x-amzn-RequestId": { "type": "string", "description": "Unique request reference identifier." @@ -575,6 +579,10 @@ "$ref": "#/definitions/GetOrdersResponse" }, "headers": { + "x-amzn-RateLimit-Limit": { + "type": "string", + "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." + }, "x-amzn-RequestId": { "type": "string", "description": "Unique request reference identifier." @@ -587,6 +595,10 @@ "$ref": "#/definitions/GetOrdersResponse" }, "headers": { + "x-amzn-RateLimit-Limit": { + "type": "string", + "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." + }, "x-amzn-RequestId": { "type": "string", "description": "Unique request reference identifier." @@ -601,7 +613,7 @@ "tags": [ "ordersV0" ], - "description": "Returns the order that you specify.\n\n**Usage Plan:**\n\n| Rate (requests per second) | Burst |\n| ---- | ---- |\n| 0.5 | 30 |\n\nThe `x-amzn-RateLimit-Limit` response header returns the usage plan rate limits that were applied to the requested operation, when available. The table above indicates the default rate and burst values for this operation. Selling partners whose business demands require higher throughput may see higher rate and burst values then those shown here. For more information, refer to [Usage Plans and Rate Limits in the Selling Partner API](https://developer-docs.amazon.com/sp-api/docs/usage-plans-and-rate-limits-in-the-sp-api).", + "description": "Returns the order that you specify.\n\n**Usage Plan:**\n\n| Rate (requests per second) | Burst |\n| ---- | ---- |\n| 0.0167 | 20 |\n\nThe `x-amzn-RateLimit-Limit` response header returns the usage plan rate limits that were applied to the requested operation, when available. The table above indicates the default rate and burst values for this operation. Selling partners whose business demands require higher throughput may see higher rate and burst values then those shown here. For more information, see [Usage Plans and Rate Limits in the Selling Partner API](doc:usage-plans-and-rate-limits-in-the-sp-api).", "operationId": "getOrder", "parameters": [ { @@ -895,6 +907,10 @@ "$ref": "#/definitions/GetOrderResponse" }, "headers": { + "x-amzn-RateLimit-Limit": { + "type": "string", + "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." + }, "x-amzn-RequestId": { "type": "string", "description": "Unique request reference identifier." @@ -907,6 +923,10 @@ "$ref": "#/definitions/GetOrderResponse" }, "headers": { + "x-amzn-RateLimit-Limit": { + "type": "string", + "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." + }, "x-amzn-RequestId": { "type": "string", "description": "Unique request reference identifier." @@ -919,6 +939,10 @@ "$ref": "#/definitions/GetOrderResponse" }, "headers": { + "x-amzn-RateLimit-Limit": { + "type": "string", + "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." + }, "x-amzn-RequestId": { "type": "string", "description": "Unique request reference identifier." @@ -933,13 +957,13 @@ "tags": [ "ordersV0" ], - "description": "Returns buyer information for the order that you specify.\n\n**Usage Plan:**\n\n| Rate (requests per second) | Burst |\n| ---- | ---- |\n| 0.5 | 30 |\n\nThe `x-amzn-RateLimit-Limit` response header returns the usage plan rate limits that were applied to the requested operation, when available. The table above indicates the default rate and burst values for this operation. Selling partners whose business demands require higher throughput may see higher rate and burst values then those shown here. For more information, refer to [Usage Plans and Rate Limits in the Selling Partner API](https://developer-docs.amazon.com/sp-api/docs/usage-plans-and-rate-limits-in-the-sp-api).", + "description": "Returns buyer information for the order that you specify.\n\n**Usage Plan:**\n\n| Rate (requests per second) | Burst |\n| ---- | ---- |\n| 0.0167 | 20 |\n\nThe `x-amzn-RateLimit-Limit` response header returns the usage plan rate limits that were applied to the requested operation, when available. The table above indicates the default rate and burst values for this operation. Selling partners whose business demands require higher throughput may see higher rate and burst values then those shown here. For more information, see [Usage Plans and Rate Limits in the Selling Partner API](doc:usage-plans-and-rate-limits-in-the-sp-api).", "operationId": "getOrderBuyerInfo", "parameters": [ { "name": "orderId", "in": "path", - "description": "An `orderId` is an Amazon-defined order identifier, in 3-7-7 format.", + "description": "An orderId is an Amazon-defined order identifier, in 3-7-7 format.", "required": true, "type": "string" } @@ -1065,6 +1089,10 @@ "$ref": "#/definitions/GetOrderBuyerInfoResponse" }, "headers": { + "x-amzn-RateLimit-Limit": { + "type": "string", + "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." + }, "x-amzn-RequestId": { "type": "string", "description": "Unique request reference identifier." @@ -1077,6 +1105,10 @@ "$ref": "#/definitions/GetOrderBuyerInfoResponse" }, "headers": { + "x-amzn-RateLimit-Limit": { + "type": "string", + "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." + }, "x-amzn-RequestId": { "type": "string", "description": "Unique request reference identifier." @@ -1089,6 +1121,10 @@ "$ref": "#/definitions/GetOrderBuyerInfoResponse" }, "headers": { + "x-amzn-RateLimit-Limit": { + "type": "string", + "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." + }, "x-amzn-RequestId": { "type": "string", "description": "Unique request reference identifier." @@ -1103,13 +1139,13 @@ "tags": [ "ordersV0" ], - "description": "Returns the shipping address for the order that you specify.\n\n**Usage Plan:**\n\n| Rate (requests per second) | Burst |\n| ---- | ---- |\n| 0.5 | 30 |\n\nThe `x-amzn-RateLimit-Limit` response header returns the usage plan rate limits that were applied to the requested operation, when available. The table above indicates the default rate and burst values for this operation. Selling partners whose business demands require higher throughput may see higher rate and burst values then those shown here. For more information, refer to [Usage Plans and Rate Limits in the Selling Partner API](https://developer-docs.amazon.com/sp-api/docs/usage-plans-and-rate-limits-in-the-sp-api).", + "description": "Returns the shipping address for the order that you specify.\n\n**Usage Plan:**\n\n| Rate (requests per second) | Burst |\n| ---- | ---- |\n| 0.0167 | 20 |\n\nThe `x-amzn-RateLimit-Limit` response header returns the usage plan rate limits that were applied to the requested operation, when available. The table above indicates the default rate and burst values for this operation. Selling partners whose business demands require higher throughput may see higher rate and burst values then those shown here. For more information, see [Usage Plans and Rate Limits in the Selling Partner API](doc:usage-plans-and-rate-limits-in-the-sp-api).", "operationId": "getOrderAddress", "parameters": [ { "name": "orderId", "in": "path", - "description": "An `orderId` is an Amazon-defined order identifier, in 3-7-7 format.", + "description": "An orderId is an Amazon-defined order identifier, in 3-7-7 format.", "required": true, "type": "string" } @@ -1245,6 +1281,10 @@ "$ref": "#/definitions/GetOrderAddressResponse" }, "headers": { + "x-amzn-RateLimit-Limit": { + "type": "string", + "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." + }, "x-amzn-RequestId": { "type": "string", "description": "Unique request reference identifier." @@ -1257,6 +1297,10 @@ "$ref": "#/definitions/GetOrderAddressResponse" }, "headers": { + "x-amzn-RateLimit-Limit": { + "type": "string", + "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." + }, "x-amzn-RequestId": { "type": "string", "description": "Unique request reference identifier." @@ -1269,6 +1313,10 @@ "$ref": "#/definitions/GetOrderAddressResponse" }, "headers": { + "x-amzn-RateLimit-Limit": { + "type": "string", + "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." + }, "x-amzn-RequestId": { "type": "string", "description": "Unique request reference identifier." @@ -1283,7 +1331,7 @@ "tags": [ "ordersV0" ], - "description": "Returns detailed order item information for the order that you specify. If `NextToken` is provided, it's used to retrieve the next page of order items.\n\n**Note**: When an order is in the Pending state (the order has been placed but payment has not been authorized), the `getOrderItems` operation does not return information about pricing, taxes, shipping charges, gift status or promotions for the order items in the order. After an order leaves the Pending state (this occurs when payment has been authorized) and enters the `Unshipped`, `Partially Shipped`, or `Shipped` state, the `getOrderItems` operation returns information about pricing, taxes, shipping charges, gift status and promotions for the order items in the order.\n\n**Usage Plan:**\n\n| Rate (requests per second) | Burst |\n| ---- | ---- |\n| 0.5 | 30 |\n\nThe `x-amzn-RateLimit-Limit` response header returns the usage plan rate limits that were applied to the requested operation, when available. The table above indicates the default rate and burst values for this operation. Selling partners whose business demands require higher throughput may see higher rate and burst values then those shown here. For more information, refer to [Usage Plans and Rate Limits in the Selling Partner API](https://developer-docs.amazon.com/sp-api/docs/usage-plans-and-rate-limits-in-the-sp-api).", + "description": "Returns detailed order item information for the order that you specify. If NextToken is provided, it's used to retrieve the next page of order items.\n\n__Note__: When an order is in the Pending state (the order has been placed but payment has not been authorized), the getOrderItems operation does not return information about pricing, taxes, shipping charges, gift status or promotions for the order items in the order. After an order leaves the Pending state (this occurs when payment has been authorized) and enters the Unshipped, Partially Shipped, or Shipped state, the getOrderItems operation returns information about pricing, taxes, shipping charges, gift status and promotions for the order items in the order.\n\n**Usage Plan:**\n\n| Rate (requests per second) | Burst |\n| ---- | ---- |\n| 0.5 | 30 |\n\nThe `x-amzn-RateLimit-Limit` response header returns the usage plan rate limits that were applied to the requested operation, when available. The table above indicates the default rate and burst values for this operation. Selling partners whose business demands require higher throughput may see higher rate and burst values then those shown here. For more information, see [Usage Plans and Rate Limits in the Selling Partner API](doc:usage-plans-and-rate-limits-in-the-sp-api).", "operationId": "getOrderItems", "parameters": [ { @@ -1358,7 +1406,7 @@ "GiftWrapLevel": "Classic" }, "BuyerRequestedCancel": { - "IsBuyerRequestedCancel": "true", + "IsBuyerRequestedCancel": true, "BuyerCancelReason": "Found cheaper somewhere else." }, "SerialNumbers": ["854"] @@ -1392,7 +1440,7 @@ "GiftWrapLevel": "Classic" }, "BuyerRequestedCancel": { - "IsBuyerRequestedCancel": "true", + "IsBuyerRequestedCancel": true, "BuyerCancelReason": "Found cheaper somewhere else." } } @@ -1432,7 +1480,7 @@ "QuantityOrdered": 1, "QuantityShipped": 0, "ProductInfo": { - "NumberOfItems": "1" + "NumberOfItems": 1 }, "ItemPrice": { "CurrencyCode": "USD", @@ -1446,7 +1494,7 @@ "CurrencyCode": "USD", "Amount": "0.00" }, - "IsGift": "false", + "IsGift": false, "ConditionId": "New", "ConditionSubtypeId": "New", "IsTransparency": false, @@ -1455,7 +1503,7 @@ "DeemedResellerCategory": "IOSS", "StoreChainStoreId": "ISPU_StoreId", "BuyerRequestedCancel": { - "IsBuyerRequestedCancel": "true", + "IsBuyerRequestedCancel": true, "BuyerCancelReason": "Found cheaper somewhere else." } } @@ -1537,6 +1585,10 @@ "$ref": "#/definitions/GetOrderItemsResponse" }, "headers": { + "x-amzn-RateLimit-Limit": { + "type": "string", + "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." + }, "x-amzn-RequestId": { "type": "string", "description": "Unique request reference identifier." @@ -1549,6 +1601,10 @@ "$ref": "#/definitions/GetOrderItemsResponse" }, "headers": { + "x-amzn-RateLimit-Limit": { + "type": "string", + "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." + }, "x-amzn-RequestId": { "type": "string", "description": "Unique request reference identifier." @@ -1561,6 +1617,10 @@ "$ref": "#/definitions/GetOrderItemsResponse" }, "headers": { + "x-amzn-RateLimit-Limit": { + "type": "string", + "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." + }, "x-amzn-RequestId": { "type": "string", "description": "Unique request reference identifier." @@ -1575,7 +1635,7 @@ "tags": [ "ordersV0" ], - "description": "Returns buyer information for the order items in the order that you specify.\n\n**Usage Plan:**\n\n| Rate (requests per second) | Burst |\n| ---- | ---- |\n| 0.5 | 30 |\n\nThe `x-amzn-RateLimit-Limit` response header returns the usage plan rate limits that were applied to the requested operation, when available. The table above indicates the default rate and burst values for this operation. Selling partners whose business demands require higher throughput may see higher rate and burst values then those shown here. For more information, refer to [Usage Plans and Rate Limits in the Selling Partner API](https://developer-docs.amazon.com/sp-api/docs/usage-plans-and-rate-limits-in-the-sp-api).", + "description": "Returns buyer information for the order items in the order that you specify.\n\n**Usage Plan:**\n\n| Rate (requests per second) | Burst |\n| ---- | ---- |\n| 0.5 | 30 |\n\nThe `x-amzn-RateLimit-Limit` response header returns the usage plan rate limits that were applied to the requested operation, when available. The table above indicates the default rate and burst values for this operation. Selling partners whose business demands require higher throughput may see higher rate and burst values then those shown here. For more information, see [Usage Plans and Rate Limits in the Selling Partner API](doc:usage-plans-and-rate-limits-in-the-sp-api).", "operationId": "getOrderItemsBuyerInfo", "parameters": [ { @@ -1728,6 +1788,10 @@ "$ref": "#/definitions/GetOrderItemsBuyerInfoResponse" }, "headers": { + "x-amzn-RateLimit-Limit": { + "type": "string", + "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." + }, "x-amzn-RequestId": { "type": "string", "description": "Unique request reference identifier." @@ -1740,6 +1804,10 @@ "$ref": "#/definitions/GetOrderItemsBuyerInfoResponse" }, "headers": { + "x-amzn-RateLimit-Limit": { + "type": "string", + "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." + }, "x-amzn-RequestId": { "type": "string", "description": "Unique request reference identifier." @@ -1752,6 +1820,10 @@ "$ref": "#/definitions/GetOrderItemsBuyerInfoResponse" }, "headers": { + "x-amzn-RateLimit-Limit": { + "type": "string", + "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." + }, "x-amzn-RequestId": { "type": "string", "description": "Unique request reference identifier." @@ -1766,7 +1838,7 @@ "tags": [ "shipment" ], - "description": "Update the shipment status for an order that you specify.\n\n**Usage Plan:**\n\n| Rate (requests per second) | Burst |\n| ---- | ---- |\n| 5 | 15 |\n\nThe `x-amzn-RateLimit-Limit` response header returns the usage plan rate limits that were applied to the requested operation, when available. The table above indicates the default rate and burst values for this operation. Selling partners whose business demands require higher throughput may see higher rate and burst values then those shown here. For more information, refer to [Usage Plans and Rate Limits in the Selling Partner API](https://developer-docs.amazon.com/sp-api/docs/usage-plans-and-rate-limits-in-the-sp-api).", + "description": "Update the shipment status for an order that you specify.\n\n**Usage Plan:**\n\n| Rate (requests per second) | Burst |\n| ---- | ---- |\n| 5 | 15 |\n\nThe `x-amzn-RateLimit-Limit` response header returns the usage plan rate limits that were applied to the requested operation, when available. The table above indicates the default rate and burst values for this operation. Selling partners whose business demands require higher throughput may see higher rate and burst values then those shown here. For more information, see [Usage Plans and Rate Limits in the Selling Partner API](doc:usage-plans-and-rate-limits-in-the-sp-api).", "operationId": "updateShipmentStatus", "parameters": [ { @@ -1779,7 +1851,7 @@ { "name": "payload", "in": "body", - "description": "The request body for the `updateShipmentStatus` operation.", + "description": "The request body for the updateShipmentStatus operation.", "required": true, "schema": { "$ref": "#/definitions/UpdateShipmentStatusRequest" @@ -1947,13 +2019,13 @@ "tags": [ "ordersV0" ], - "description": "Returns regulated information for the order that you specify.\n\n**Usage Plan:**\n\n| Rate (requests per second) | Burst |\n| ---- | ---- |\n| 0.5 | 30 |\n\nThe `x-amzn-RateLimit-Limit` response header returns the usage plan rate limits that were applied to the requested operation, when available. The table above indicates the default rate and burst values for this operation. Selling partners whose business demands require higher throughput may see higher rate and burst values then those shown here. For more information, refer to [Usage Plans and Rate Limits in the Selling Partner API](https://developer-docs.amazon.com/sp-api/docs/usage-plans-and-rate-limits-in-the-sp-api).", + "description": "Returns regulated information for the order that you specify.\n\n**Usage Plan:**\n\n| Rate (requests per second) | Burst |\n| ---- | ---- |\n| 0.5 | 30 |\n\nThe `x-amzn-RateLimit-Limit` response header returns the usage plan rate limits that were applied to the requested operation, when available. The table above indicates the default rate and burst values for this operation. Selling partners whose business demands require higher throughput may see higher rate and burst values then those shown here. For more information, see [Usage Plans and Rate Limits in the Selling Partner API](doc:usage-plans-and-rate-limits-in-the-sp-api).", "operationId": "getOrderRegulatedInfo", "parameters": [ { "name": "orderId", "in": "path", - "description": "An Amazon-defined order identifier, in 3-7-7 format.", + "description": "An orderId is an Amazon-defined order identifier, in 3-7-7 format.", "required": true, "type": "string" } @@ -2239,20 +2311,20 @@ "tags": [ "ordersV0" ], - "description": "Updates (approves or rejects) the verification status of an order containing regulated products.\n\n**Usage Plan:**\n\n| Rate (requests per second) | Burst |\n| ---- | ---- |\n| 0.5 | 30 |\n\nThe `x-amzn-RateLimit-Limit` response header returns the usage plan rate limits that were applied to the requested operation, when available. The table above indicates the default rate and burst values for this operation. Selling partners whose business demands require higher throughput may see higher rate and burst values then those shown here. For more information, refer to [Usage Plans and Rate Limits in the Selling Partner API](https://developer-docs.amazon.com/sp-api/docs/usage-plans-and-rate-limits-in-the-sp-api).", + "description": "Updates (approves or rejects) the verification status of an order containing regulated products.\n\n**Usage Plan:**\n\n| Rate (requests per second) | Burst |\n| ---- | ---- |\n| 0.5 | 30 |\n\nThe `x-amzn-RateLimit-Limit` response header returns the usage plan rate limits that were applied to the requested operation, when available. The table above indicates the default rate and burst values for this operation. Selling partners whose business demands require higher throughput may see higher rate and burst values then those shown here. For more information, see [Usage Plans and Rate Limits in the Selling Partner API](doc:usage-plans-and-rate-limits-in-the-sp-api).", "operationId": "updateVerificationStatus", "parameters": [ { "name": "orderId", "in": "path", - "description": "An Amazon-defined order identifier, in 3-7-7 format.", + "description": "An orderId is an Amazon-defined order identifier, in 3-7-7 format.", "required": true, "type": "string" }, { "name": "payload", "in": "body", - "description": "The request body for the `updateVerificationStatus` operation.", + "description": "The request body for the updateVerificationStatus operation.", "required": true, "schema": { "$ref": "#/definitions/UpdateVerificationStatusRequest" @@ -2465,7 +2537,7 @@ "tags": [ "ordersV0" ], - "description": "Updates the shipment confirmation status for a specified order.\n\n**Usage Plan:**\n\n| Rate (requests per second) | Burst |\n| ---- | ---- |\n| 2 | 10 |\n\nThe `x-amzn-RateLimit-Limit` response header returns the usage plan rate limits that were applied to the requested operation, when available. The table above indicates the default rate and burst values for this operation. Selling partners whose business demands require higher throughput may see higher rate and burst values then those shown here. For more information, refer to [Usage Plans and Rate Limits in the Selling Partner API](https://developer-docs.amazon.com/sp-api/docs/usage-plans-and-rate-limits-in-the-sp-api).", + "description": "Updates the shipment confirmation status for a specified order.\n\n**Usage Plan:**\n\n| Rate (requests per second) | Burst |\n| ---- | ---- |\n| 2 | 10 |\n\nThe `x-amzn-RateLimit-Limit` response header returns the usage plan rate limits that were applied to the requested operation, when available. The table above indicates the default rate and burst values for this operation. Selling partners whose business demands require higher throughput may see higher rate and burst values then those shown here. For more information, see [Usage Plans and Rate Limits in the Selling Partner API](doc:usage-plans-and-rate-limits-in-the-sp-api).", "operationId": "confirmShipment", "parameters": [ { @@ -2478,7 +2550,7 @@ { "name": "payload", "in": "body", - "description": "The request body of the `confirmShipment` operation.", + "description": "Request body of confirmShipment.", "required": true, "schema": { "$ref": "#/definitions/ConfirmShipmentRequest" @@ -2603,6 +2675,10 @@ "$ref": "#/definitions/ConfirmShipmentErrorResponse" }, "headers": { + "x-amzn-RateLimit-Limit": { + "type": "string", + "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." + }, "x-amzn-RequestId": { "type": "string", "description": "Unique request reference identifier." @@ -2643,6 +2719,10 @@ "$ref": "#/definitions/ConfirmShipmentErrorResponse" }, "headers": { + "x-amzn-RateLimit-Limit": { + "type": "string", + "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." + }, "x-amzn-RequestId": { "type": "string", "description": "Unique request reference identifier." @@ -2655,6 +2735,10 @@ "$ref": "#/definitions/ConfirmShipmentErrorResponse" }, "headers": { + "x-amzn-RateLimit-Limit": { + "type": "string", + "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." + }, "x-amzn-RequestId": { "type": "string", "description": "Unique request reference identifier." @@ -2667,6 +2751,10 @@ "$ref": "#/definitions/ConfirmShipmentErrorResponse" }, "headers": { + "x-amzn-RateLimit-Limit": { + "type": "string", + "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." + }, "x-amzn-RequestId": { "type": "string", "description": "Unique request reference identifier." @@ -2679,7 +2767,7 @@ }, "definitions": { "UpdateShipmentStatusRequest": { - "description": "The request body for the `updateShipmentStatus` operation.", + "description": "The request body for the updateShipmentStatus operation.", "type": "object", "properties": { "marketplaceId": { @@ -2698,11 +2786,11 @@ ] }, "UpdateVerificationStatusRequest": { - "description": "The request body for the `updateVerificationStatus` operation.", + "description": "The request body for the updateVerificationStatus operation.", "type": "object", "properties": { "regulatedOrderVerificationStatus": { - "description": "The updated values of the `VerificationStatus` field.", + "description": "The updated values of the VerificationStatus field.", "$ref": "#/definitions/UpdateVerificationStatusRequestBody" } }, @@ -2711,7 +2799,7 @@ ] }, "UpdateVerificationStatusRequestBody": { - "description": "The updated values of the `VerificationStatus` field.", + "description": "The updated values of the VerificationStatus field.", "type": "object", "properties": { "status": { @@ -2780,119 +2868,119 @@ "type": "object", "properties": { "errors": { - "description": "One or more unexpected errors occurred during the `UpdateShipmentStatus` operation.", + "description": "One or more unexpected errors occurred during the UpdateShipmentStatus operation.", "$ref": "#/definitions/ErrorList" } }, - "description": "The error response schema for the `UpdateShipmentStatus` operation." + "description": "The error response schema for the UpdateShipmentStatus operation." }, "UpdateVerificationStatusErrorResponse": { "type": "object", "properties": { "errors": { - "description": "One or more unexpected errors occurred during the `UpdateVerificationStatus` operation.", + "description": "One or more unexpected errors occurred during the UpdateVerificationStatus operation.", "$ref": "#/definitions/ErrorList" } }, - "description": "The error response schema for the `UpdateVerificationStatus` operation." + "description": "The error response schema for the UpdateVerificationStatus operation." }, "GetOrdersResponse": { "type": "object", "properties": { "payload": { - "description": "The payload for the `getOrders` operation.", + "description": "The payload for the getOrders operation.", "$ref": "#/definitions/OrdersList" }, "errors": { - "description": "One or more unexpected errors occurred during the `getOrders` operation.", + "description": "One or more unexpected errors occurred during the getOrders operation.", "$ref": "#/definitions/ErrorList" } }, - "description": "The response schema for the `getOrders` operation." + "description": "The response schema for the getOrders operation." }, "GetOrderResponse": { "type": "object", "properties": { "payload": { - "description": "The payload for the `getOrder` operation.", + "description": "The payload for the getOrder operation.", "$ref": "#/definitions/Order" }, "errors": { - "description": "One or more unexpected errors occurred during the `getOrder` operation.", + "description": "One or more unexpected errors occurred during the getOrder operation.", "$ref": "#/definitions/ErrorList" } }, - "description": "The response schema for the `getOrder` operation." + "description": "The response schema for the getOrder operation." }, "GetOrderBuyerInfoResponse": { "type": "object", "properties": { "payload": { - "description": "The payload for the `getOrderBuyerInfo` operation.", + "description": "The payload for the getOrderBuyerInfo operation.", "$ref": "#/definitions/OrderBuyerInfo" }, "errors": { - "description": "One or more unexpected errors occurred during the `getOrderBuyerInfo` operation.", + "description": "One or more unexpected errors occurred during the getOrderBuyerInfo operation.", "$ref": "#/definitions/ErrorList" } }, - "description": "The response schema for the `getOrderBuyerInfo` operation." + "description": "The response schema for the getOrderBuyerInfo operation." }, "GetOrderRegulatedInfoResponse": { "type": "object", "properties": { "payload": { - "description": "The payload for the `getOrderRegulatedInfo` operation.", + "description": "The payload for the getOrderRegulatedInfo operation.", "$ref": "#/definitions/OrderRegulatedInfo" }, "errors": { - "description": "One or more unexpected errors occurred during the `getOrderRegulatedInfo` operation.", + "description": "One or more unexpected errors occurred during the getOrderRegulatedInfo operation.", "$ref": "#/definitions/ErrorList" } }, - "description": "The response schema for the `getOrderRegulatedInfo` operation." + "description": "The response schema for the getOrderRegulatedInfo operation." }, "GetOrderAddressResponse": { "type": "object", "properties": { "payload": { - "description": "The payload for the `getOrderAddress` operations.", + "description": "The payload for the getOrderAddress operations.", "$ref": "#/definitions/OrderAddress" }, "errors": { - "description": "One or more unexpected errors occurred during the `getOrderAddress` operation.", + "description": "One or more unexpected errors occurred during the getOrderAddress operation.", "$ref": "#/definitions/ErrorList" } }, - "description": "The response schema for the `getOrderAddress` operation." + "description": "The response schema for the getOrderAddress operation." }, "GetOrderItemsResponse": { "type": "object", "properties": { "payload": { - "description": "The payload for the `getOrderItems` operation.", + "description": "The payload for the getOrderItems operation.", "$ref": "#/definitions/OrderItemsList" }, "errors": { - "description": "One or more unexpected errors occurred during the `getOrderItems` operation.", + "description": "One or more unexpected errors occurred during the getOrderItems operation.", "$ref": "#/definitions/ErrorList" } }, - "description": "The response schema for the `getOrderItems` operation." + "description": "The response schema for the getOrderItems operation." }, "GetOrderItemsBuyerInfoResponse": { "type": "object", "properties": { "payload": { - "description": "The payload for the `getOrderItemsBuyerInfo` operation.", + "description": "The payload for the getOrderItemsBuyerInfo operation.", "$ref": "#/definitions/OrderItemsBuyerInfoList" }, "errors": { - "description": "One or more unexpected errors occurred during the `getOrderItemsBuyerInfo` operation.", + "description": "One or more unexpected errors occurred during the getOrderItemsBuyerInfo operation.", "$ref": "#/definitions/ErrorList" } }, - "description": "The response schema for the `getOrderItemsBuyerInfo` operation." + "description": "The response schema for the getOrderItemsBuyerInfo operation." }, "OrdersList": { "type": "object", @@ -2948,7 +3036,7 @@ }, "LastUpdateDate": { "type": "string", - "description": "The date when the order was last updated.\n\n**Note**: `LastUpdateDate` is returned with an incorrect date for orders that were last updated before 2009-04-01." + "description": "The date when the order was last updated.\n\n__Note__: LastUpdateDate is returned with an incorrect date for orders that were last updated before 2009-04-01." }, "OrderStatus": { "type": "string", @@ -3041,12 +3129,12 @@ "description": "The number of items unshipped." }, "PaymentExecutionDetail": { - "description": "Information about sub-payment methods for a Cash On Delivery (COD) order.\n\n**Note**: For a COD order that is paid for using one sub-payment method, one `PaymentExecutionDetailItem` object is returned, with `PaymentExecutionDetailItem`/`PaymentMethod` = COD. For a COD order that is paid for using multiple sub-payment methods, two or more `PaymentExecutionDetailItem` objects are returned.", + "description": "Information about sub-payment methods for a Cash On Delivery (COD) order.\n\n__Note__: For a COD order that is paid for using one sub-payment method, one PaymentExecutionDetailItem object is returned, with PaymentExecutionDetailItem/PaymentMethod = COD. For a COD order that is paid for using multiple sub-payment methods, two or more PaymentExecutionDetailItem objects are returned.", "$ref": "#/definitions/PaymentExecutionDetailItemList" }, "PaymentMethod": { "type": "string", - "description": "The payment method for the order. This property is limited to Cash On Delivery (COD) and Convenience Store (CVS) payment methods. Unless you need the specific COD payment information provided by the `PaymentExecutionDetailItem` object, we recommend using the `PaymentMethodDetails` property to get payment method information.", + "description": "The payment method for the order. This property is limited to Cash On Delivery (COD) and Convenience Store (CVS) payment methods. Unless you need the specific COD payment information provided by the PaymentExecutionDetailItem object, we recommend using the PaymentMethodDetails property to get payment method information.", "enum": [ "COD", "CVS", @@ -3077,7 +3165,7 @@ }, "ShipmentServiceLevelCategory": { "type": "string", - "description": "The shipment service level category of the order.\n\n**Possible values**: `Expedited`, `FreeEconomy`, `NextDay`, `Priority`, `SameDay`, `SecondDay`, `Scheduled`, `Standard`." + "description": "The shipment service level category of the order.\n\nPossible values: Expedited, FreeEconomy, NextDay, Priority, SameDay, SecondDay, Scheduled, Standard." }, "EasyShipShipmentStatus": { "description": "The status of the Amazon Easy Ship order. This property is included only for Amazon Easy Ship orders.", @@ -3122,11 +3210,11 @@ }, "EarliestShipDate": { "type": "string", - "description": "The start of the time period within which you have committed to ship the order. In ISO 8601 date time format. Returned only for seller-fulfilled orders.\n\n**Note**: `EarliestShipDate` might not be returned for orders placed before February 1, 2013." + "description": "The start of the time period within which you have committed to ship the order. In ISO 8601 date time format. Returned only for seller-fulfilled orders.\n\n__Note__: EarliestShipDate might not be returned for orders placed before February 1, 2013." }, "LatestShipDate": { "type": "string", - "description": "The end of the time period within which you have committed to ship the order. In ISO 8601 date time format. Returned only for seller-fulfilled orders.\n\n**Note**: `LatestShipDate` might not be returned for orders placed before February 1, 2013." + "description": "The end of the time period within which you have committed to ship the order. In ISO 8601 date time format. Returned only for seller-fulfilled orders.\n\n__Note__: LatestShipDate might not be returned for orders placed before February 1, 2013." }, "EarliestDeliveryDate": { "type": "string", @@ -3134,7 +3222,7 @@ }, "LatestDeliveryDate": { "type": "string", - "description": "The end of the time period within which you have committed to fulfill the order. In ISO 8601 date time format. Returned only for seller-fulfilled orders that do not have a `PendingAvailability`, Pending, or Canceled status." + "description": "The end of the time period within which you have committed to fulfill the order. In ISO 8601 date time format. Returned only for seller-fulfilled orders that do not have a PendingAvailability, Pending, or Canceled status." }, "IsBusinessOrder": { "type": "boolean", @@ -3154,7 +3242,7 @@ }, "ReplacedOrderId": { "type": "string", - "description": "The order ID value for the order that is being replaced. Returned only if `IsReplacementOrder` = true." + "description": "The order ID value for the order that is being replaced. Returned only if IsReplacementOrder = true." }, "IsReplacementOrder": { "type": "boolean", @@ -3166,7 +3254,7 @@ }, "IsEstimatedShipDateSet": { "type": "boolean", - "description": "When true, the estimated ship date is specified for the order. Returned only for Sourcing on Demand orders." + "description": "When true, the estimated ship date is set for the order. Returned only for Sourcing on Demand orders." }, "IsSoldByAB": { "type": "boolean", @@ -3193,13 +3281,13 @@ }, { "value": "BUSINESS", - "description": "Buyer should be issued a business invoice. Tax information is available in `BuyerTaxInformation` structure." + "description": "Buyer should be issued a business invoice. Tax information is available in BuyerTaxInformation structure." } ], - "description": "The buyer's invoicing preference. Sellers can use this data to issue electronic invoices for orders in Turkey.\n\n**Note**: This attribute is only available in the Turkey marketplace." + "description": "The buyer's invoicing preference. Available only in the TR marketplace." }, "BuyerTaxInformation": { - "description": "Contains the business invoice tax information. Sellers can use this data to issue electronic invoices for business orders in Turkey.\n\n**Note**:\n1. This attribute is only available in the Turkey marketplace for the orders that `BuyerInvoicePreference` is BUSINESS.\n2. The `BuyerTaxInformation` is a restricted data. Use a Restricted Data Token (RDT) and restricted Selling Partner API roles to access this restricted data.", + "description": "Contains the business invoice tax information.", "$ref": "#/definitions/BuyerTaxInformation" }, "FulfillmentInstruction": { @@ -3215,19 +3303,17 @@ "description": "When true, this order is marked to be delivered to an Access Point. The access location is chosen by the customer. Access Points include Amazon Hub Lockers, Amazon Hub Counters, and pickup points operated by carriers." }, "MarketplaceTaxInfo": { - "description": "Tax information about the marketplace where the sale took place. Sellers can use this data to issue electronic invoices for orders in Brazil.\n\n**Note**: This attribute is only available in the Brazil marketplace for the orders with `Pending` or `Unshipped` status.", + "description": "Tax information about the marketplace.", "$ref": "#/definitions/MarketplaceTaxInfo" }, "SellerDisplayName": { "type": "string", - "description": "The seller’s friendly name registered in the marketplace where the sale took place. Sellers can use this data to issue electronic invoices for orders in Brazil.\n\n**Note**: This attribute is only available in the Brazil marketplace for the orders with `Pending` or `Unshipped` status." + "description": "The seller’s friendly name registered in the marketplace." }, "ShippingAddress": { - "description": "The shipping address for the order.\n\n**Note**:\n1. `ShippingAddress` is only available for orders with the following status values: `Unshipped`, `PartiallyShipped`, `Shipped` and `InvoiceUnconfirmed`.\n2. The `ShippingAddress` contains restricted data. Use a Restricted Data Token (RDT) and restricted Selling Partner API roles to access the restricted data in `ShippingAddress`, for example, `Name`, `AddressLine1`, `AddressLine2`, `AddressLine3`, `Phone`, `AddressType` and `ExtendedFields`.", "$ref": "#/definitions/Address" }, "BuyerInfo": { - "description": "Buyer information.\n\n**Note**: The `BuyerInfo` contains restricted data. Use a Restricted Data Token (RDT) and restricted Selling Partner API roles to access the restricted data in `BuyerInfo`, for example, `BuyerName`, `BuyerTaxInfo`, `PurchaseOrderNumber`.", "$ref": "#/definitions/BuyerInfo" }, "AutomatedShippingSettings": { @@ -3265,10 +3351,10 @@ }, "BuyerCounty": { "type": "string", - "description": "The county of the buyer.\n\n**Note**: This attribute is only available in the Brazil marketplace." + "description": "The county of the buyer." }, "BuyerTaxInfo": { - "description": "Tax information about the buyer. Sellers can use this data to issue electronic invoices for business orders.\n\n**Note**: This attribute is only available for business orders in the Brazil, Mexico and India marketplaces.", + "description": "Tax information about the buyer.", "$ref": "#/definitions/BuyerTaxInfo" }, "PurchaseOrderNumber": { @@ -3375,7 +3461,7 @@ "x-docgen-enum-table-extension": [ { "value": "Pending", - "description": "The order is pending approval. Note that the approval might be needed from someone other than the merchant as determined by the `RequiresMerchantAction` property." + "description": "The order is pending approval. Note that the approval might be needed from someone other than the merchant as determined by the RequiresMerchantAction property." }, { "value": "Approved", @@ -3449,7 +3535,7 @@ }, "FieldValue": { "type": "string", - "description": "The content of the field as collected in regulatory form. Note that `FileAttachment` type fields will contain a URL to download the attachment here." + "description": "The content of the field as collected in regulatory form. Note that FileAttachment type fields will contain a URL to download the attachment here." } } }, @@ -3465,10 +3551,9 @@ }, "BuyerCompanyName": { "type": "string", - "description": "The company name of the contact buyer. For Invoice By Amazon (IBA) orders, the buyer company should be Amazon entities." + "description": "Company Name of the Buyer." }, "ShippingAddress": { - "description": "The shipping address for the order.\n\n**Note**: `ShippingAddress` is only available for orders with the following status values: `Unshipped`, `PartiallyShipped`, `Shipped` and `InvoiceUnconfirmed`.", "$ref": "#/definitions/Address" }, "DeliveryPreferences": { @@ -3487,10 +3572,6 @@ "type": "string", "description": "The name." }, - "CompanyName": { - "type": "string", - "description": "The company name of the recipient.\n\n**Note**: This attribute is only available for shipping address." - }, "AddressLine1": { "type": "string", "description": "The street address." @@ -3505,7 +3586,7 @@ }, "City": { "type": "string", - "description": "The city." + "description": "The city " }, "County": { "type": "string", @@ -3533,11 +3614,7 @@ }, "Phone": { "type": "string", - "description": "The phone number of the buyer.\n\n**Note**: \n1. This attribute is only available for shipping address.\n2. The buyer `Phone` number is suppressed in some cases, including but not limited to \na. `Phone` is suppressed for all Fulfillment by Amazon (FBA) orders.\nb. `Phone` is suppressed for the shipped MFN(Fulfilled by the seller) order when current date is past Latest Delivery Date." - }, - "ExtendedFields": { - "description": "The container for address extended fields. For example, street name or street number.\n\nNote: Only available for Brazil shipping addresses.", - "$ref": "#/definitions/AddressExtendedFields" + "description": "The phone number. Not returned for Fulfillment by Amazon (FBA) orders." }, "AddressType": { "type": "string", @@ -3560,28 +3637,6 @@ }, "description": "The shipping address for the order." }, - "AddressExtendedFields": { - "type": "object", - "properties": { - "StreetName": { - "type": "string", - "description": "The street name." - }, - "StreetNumber": { - "type": "string", - "description": "The house number/building number/property number in the street." - }, - "Complement": { - "type": "string", - "description": "The floor number/unit number in the building/private house number." - }, - "Neighborhood": { - "type": "string", - "description": "The neighborhood. It's smaller than a region and an integral part of an address. It is used in some countries like Brazil." - } - }, - "description": "The container of extended address fields. For example, street name, street number. Only available with Brazil shipping addresses as of now." - }, "DeliveryPreferences": { "type": "object", "properties": { @@ -3795,7 +3850,7 @@ }, "PaymentMethod": { "type": "string", - "description": "A sub-payment method for a COD order.\n\n**Possible values**:\n* `COD`: Cash On Delivery.\n* `GC`: Gift Card.\n* `PointsAccount`: Amazon Points.\n* `Invoice`: Invoice." + "description": "A sub-payment method for a COD order.\n\nPossible values:\n* `COD`: Cash On Delivery.\n* `GC`: Gift Card.\n* `PointsAccount`: Amazon Points.\n* `Invoice`: Invoice." } }, "description": "Information about a sub-payment method used to pay for a COD order." @@ -3924,7 +3979,7 @@ "$ref": "#/definitions/PointsGrantedDetail" }, "ItemPrice": { - "description": "The selling price of the order item. An order item is an item and a quantity. This means that the value of `ItemPrice` is equal to the selling price of the item multiplied by the quantity ordered. Note that `ItemPrice` excludes `ShippingPrice` and `GiftWrapPrice`.", + "description": "The selling price of the order item. Note that an order item is an item and a quantity. This means that the value of ItemPrice is equal to the selling price of the item multiplied by the quantity ordered. Note that ItemPrice excludes ShippingPrice and GiftWrapPrice.", "$ref": "#/definitions/Money" }, "ShippingPrice": { @@ -3967,8 +4022,8 @@ "$ref": "#/definitions/Money" }, "IsGift": { - "type": "string", - "description": "Indicates whether the item is a gift.\n\n**Possible values**: `true`, `false`." + "type": "boolean", + "description": "When true, the item is a gift." }, "ConditionNote": { "type": "string", @@ -3976,11 +4031,11 @@ }, "ConditionId": { "type": "string", - "description": "The condition of the item.\n\n**Possible values**: `New`, `Used`, `Collectible`, `Refurbished`, `Preorder`, `Club`." + "description": "The condition of the item.\n\nPossible values: New, Used, Collectible, Refurbished, Preorder, Club." }, "ConditionSubtypeId": { "type": "string", - "description": "The subcondition of the item.\n\n**Possible values**: `New`, `Mint`, `Very Good`, `Good`, `Acceptable`, `Poor`, `Club`, `OEM`, `Warranty`, `Refurbished Warranty`, `Refurbished`, `Open Box`, `Any`, `Other`." + "description": "The subcondition of the item.\n\nPossible values: New, Mint, Very Good, Good, Acceptable, Poor, Club, OEM, Warranty, Refurbished Warranty, Refurbished, Open Box, Any, Other." }, "ScheduledDeliveryStartDate": { "type": "string", @@ -3992,7 +4047,7 @@ }, "PriceDesignation": { "type": "string", - "description": "Indicates that the selling price is a special price that is available only for Amazon Business orders. For more information about the Amazon Business Seller Program, refer to [Amazon Business](https://business.amazon.com). \n\n**Possible values**: `BusinessPrice` - A special price that is available only for Amazon Business orders." + "description": "Indicates that the selling price is a special price that is available only for Amazon Business orders. For more information about the Amazon Business Seller Program, see the [Amazon Business website](https://www.amazon.com/b2b/info/amazon-business). \n\nPossible values: BusinessPrice - A special price that is available only for Amazon Business orders." }, "TaxCollection": { "description": "Information about withheld taxes.", @@ -4033,7 +4088,6 @@ ] }, "BuyerInfo": { - "description": "A single item's buyer information.\n\n**Note**: The `BuyerInfo` contains restricted data. Use a Restricted Data Token (RDT) and restricted Selling Partner API roles to access the restricted data in `BuyerInfo`, for example, `BuyerCustomizedInfo` and `GiftMessageText`.", "$ref": "#/definitions/ItemBuyerInfo" }, "BuyerRequestedCancel": { @@ -4054,17 +4108,12 @@ "Measurement": { "description": "Measurement information for the order item.", "$ref": "#/definitions/Measurement" - }, - "ShippingConstraints" : { - "description" : "Shipping constraints applicable to this order.", - "$ref" : "#/definitions/ShippingConstraints" } }, "description": "A single order item." }, "SubstitutionPreferences": { "type": "object", - "description": "Substitution preferences for an order item.", "required": [ "SubstitutionType" ], @@ -4107,7 +4156,6 @@ }, "SubstitutionOption": { "type": "object", - "description": "Substitution options for an order item.", "properties": { "ASIN": { "type": "string", @@ -4133,7 +4181,6 @@ }, "Measurement": { "type": "object", - "description": "Measurement information for an order item.", "required": [ "Unit", "Value" @@ -4342,7 +4389,7 @@ "description": "An Amazon-defined order item identifier." }, "BuyerCustomizedInfo": { - "description": "Buyer information for custom orders from the Amazon Custom program.\n\n**Note**: This attribute is only available for MFN (Fulfilled by the seller) orders.", + "description": "Buyer information for custom orders from the Amazon Custom program.", "$ref": "#/definitions/BuyerCustomizedInfoDetail" }, "GiftWrapPrice": { @@ -4355,7 +4402,7 @@ }, "GiftMessageText": { "type": "string", - "description": "A gift message provided by the buyer.\n\n**Note**: This attribute is only available for MFN (Fulfilled by the seller) orders." + "description": "A gift message provided by the buyer." }, "GiftWrapLevel": { "type": "string", @@ -4382,7 +4429,7 @@ "type": "object", "properties": { "NumberOfItems": { - "type": "string", + "type": "integer", "description": "The total number of items that are included in the ASIN." } }, @@ -4430,7 +4477,7 @@ "x-docgen-enum-table-extension": [ { "value": "Amazon Services, Inc.", - "description": "The `MarketplaceFacilitator` entity for the US marketplace." + "description": "Amazon Services, Inc." } ] } @@ -4463,35 +4510,12 @@ "type": "object", "properties": { "FulfillmentSupplySourceId": { - "description": "Denotes the recommended `sourceId` where the order should be fulfilled from.", + "description": "Denotes the recommended sourceId where the order should be fulfilled from.", "type": "string" } }, "description": "Contains the instructions about the fulfillment like where should it be fulfilled from." }, - "ShippingConstraints": { - "type": "object", - "description": "Delivery constraints applicable to this order.", - "properties": { - "PalletDelivery": { - "description": "Indicates if the line item needs to be delivered by pallet", - "$ref": "#/definitions/ConstraintType" - } - } - }, - "ConstraintType": { - "type": "string", - "description": "Details the importance of the constraint present on the item", - "enum": [ - "MANDATORY" - ], - "x-docgen-enum-table-extension": [ - { - "value": "MANDATORY", - "description": "Item must follow the constraint to ensure order is met with buyer's delivery requirements." - } - ] - }, "BuyerInfo": { "type": "object", "properties": { @@ -4505,10 +4529,10 @@ }, "BuyerCounty": { "type": "string", - "description": "The county of the buyer.\n\n**Note**: This attribute is only available in the Brazil marketplace." + "description": "The county of the buyer." }, "BuyerTaxInfo": { - "description": "Tax information about the buyer. Sellers can use this data to issue electronic invoices for business orders.\n\n**Note**: This attribute is only available for business orders in the Brazil, Mexico and India marketplaces.", + "description": "Tax information about the buyer.", "$ref": "#/definitions/BuyerTaxInfo" }, "PurchaseOrderNumber": { @@ -4522,7 +4546,7 @@ "type": "object", "properties": { "BuyerCustomizedInfo": { - "description": "Buyer information for custom orders from the Amazon Custom program.\n\n**Note**: This attribute is only available for MFN (Fulfilled by the seller) orders.", + "description": "Buyer information for custom orders from the Amazon Custom program.", "$ref": "#/definitions/BuyerCustomizedInfoDetail" }, "GiftWrapPrice": { @@ -4535,7 +4559,7 @@ }, "GiftMessageText": { "type": "string", - "description": "A gift message provided by the buyer.\n\n**Note**: This attribute is only available for MFN (Fulfilled by the seller) orders." + "description": "A gift message provided by the buyer." }, "GiftWrapLevel": { "type": "string", @@ -4566,8 +4590,8 @@ "type": "object", "properties": { "IsBuyerRequestedCancel": { - "type": "string", - "description": "Indicate whether the buyer has requested cancellation.\n\n**Possible Values**: `true`, `false`." + "type": "boolean", + "description": "When true, the buyer has requested cancellation." }, "BuyerCancelReason": { "type": "string", @@ -4665,7 +4689,7 @@ ] }, "ElectronicInvoiceStatus": { - "description": "The status of the electronic invoice. Only available for Easy Ship orders and orders in the BR marketplace.", + "description": "The status of the electronic invoice. Only available for Easy Ship orders and orders in the BR marketplace.", "type": "string", "enum": [ "NotRequired", @@ -4720,10 +4744,10 @@ }, "ConfirmShipmentErrorResponse": { "type": "object", - "description": "The error response schema for the `confirmShipment` operation.", + "description": "The error response schema for an shipment confirmation.", "properties": { "errors": { - "description": "One or more unexpected errors occurred during the `confirmShipment` operation.", + "description": "One or more unexpected errors occurred during the confirmShipment operation.", "$ref": "#/definitions/ErrorList" } } @@ -4744,7 +4768,7 @@ }, "carrierCode": { "type": "string", - "description": "Identifies the carrier that will deliver the package. This field is required for all marketplaces. For the acceptable `CarrierCode` value, refer to the list of CarrierCode." + "description": "Identifies the carrier that will deliver the package. This field is required for all marketplaces, see [reference](https://developer-docs.amazon.com/sp-api/changelog/carriercode-value-required-in-shipment-confirmations-for-br-mx-ca-sg-au-in-jp-marketplaces)." }, "carrierName": { "type": "string", From 3708c76adbd4237830448dfd4aad0bb8e10c6cc8 Mon Sep 17 00:00:00 2001 From: Alex Rupprecht Date: Wed, 31 Jan 2024 10:57:10 -0500 Subject: [PATCH 294/340] Updating with brazil extendedaddresses and iso 8601 links --- models/orders-api-model/ordersV0.json | 25 +++++++++++++++++++++++++ 1 file changed, 25 insertions(+) diff --git a/models/orders-api-model/ordersV0.json b/models/orders-api-model/ordersV0.json index 2526011f7..a780dc5c4 100644 --- a/models/orders-api-model/ordersV0.json +++ b/models/orders-api-model/ordersV0.json @@ -3616,6 +3616,9 @@ "type": "string", "description": "The phone number. Not returned for Fulfillment by Amazon (FBA) orders." }, + "ExtendedFields": { + "$ref": "#/definitions/AddressExtendedFields" + }, "AddressType": { "type": "string", "description": "The address type of the shipping address.", @@ -3637,6 +3640,28 @@ }, "description": "The shipping address for the order." }, + "AddressExtendedFields": { + "type": "object", + "properties": { + "StreetName": { + "type": "string", + "description": "The street name." + }, + "StreetNumber": { + "type": "string", + "description": "The house number/building number/property number in the street." + }, + "Complement": { + "type": "string", + "description": "The floor number/unit number in the building/private house number." + }, + "Neighborhood": { + "type": "string", + "description": "The neighborhood. It's smaller than a region and an integral part of an address. It is used in some countries like Brazil." + } + }, + "description": "The container for address extended fields. For example, street name or street number. Only available for Brazil shipping addresses as of now." + }, "DeliveryPreferences": { "type": "object", "properties": { From f3a0b140e0b057a7a74d1c40fb7073e2005e12a7 Mon Sep 17 00:00:00 2001 From: Gibran Waldron Date: Wed, 31 Jan 2024 09:24:54 -0800 Subject: [PATCH 295/340] Updated respective links to point to new notifications type values page. --- .../notifications-api-model/notifications.json | 16 ++++++++-------- 1 file changed, 8 insertions(+), 8 deletions(-) diff --git a/models/notifications-api-model/notifications.json b/models/notifications-api-model/notifications.json index 91dc810a8..d27d24684 100644 --- a/models/notifications-api-model/notifications.json +++ b/models/notifications-api-model/notifications.json @@ -432,7 +432,7 @@ "tags": [ "notifications" ], - "description": "Returns information about a subscription for the specified notification type. The `getSubscriptionById` operation is grantless. For more information, refer to [Grantless operations](https://developer-docs.amazon.com/sp-api/docs/grantless-operations) in the Selling Partner API Developer Guide.\n\n**Usage Plan:**\n\n| Rate (requests per second) | Burst |\n| ---- | ---- |\n| 1 | 5 |\n\nThe `x-amzn-RateLimit-Limit` response header returns the usage plan rate limits that were applied to the requested operation, when available. The table above indicates the default rate and burst values for this operation. Selling partners whose business demands require higher throughput may observe higher rate and burst values than those shown here. For more information, refer to [Usage Plans and Rate Limits in the Selling Partner API](https://developer-docs.amazon.com/sp-api/docs/usage-plans-and-rate-limits-in-the-sp-api).", + "description": "Returns information about a subscription for the specified notification type. The `getSubscriptionById` operation is grantless. For more information, refer to [Grantless operations](https://developer-docs.amazon.com/sp-api/docs/grantless-operations).\n\n**Usage Plan:**\n\n| Rate (requests per second) | Burst |\n| ---- | ---- |\n| 1 | 5 |\n\nThe `x-amzn-RateLimit-Limit` response header returns the usage plan rate limits that were applied to the requested operation, when available. The table above indicates the default rate and burst values for this operation. Selling partners whose business demands require higher throughput may observe higher rate and burst values than those shown here. For more information, refer to [Usage Plans and Rate Limits in the Selling Partner API](https://developer-docs.amazon.com/sp-api/docs/usage-plans-and-rate-limits-in-the-sp-api).", "operationId": "getSubscriptionById", "parameters": [ { @@ -634,7 +634,7 @@ "tags": [ "notifications" ], - "description": "Deletes the subscription indicated by the subscription identifier and notification type that you specify. The subscription identifier can be for any subscription associated with your application. After you successfully call this operation, notifications will stop being sent for the associated subscription. The `deleteSubscriptionById` operation is grantless. For more information, refer to [Grantless operations](https://developer-docs.amazon.com/sp-api/docs/grantless-operations) in the Selling Partner API Developer Guide.\n\n**Usage Plan:**\n\n| Rate (requests per second) | Burst |\n| ---- | ---- |\n| 1 | 5 |\n\nThe `x-amzn-RateLimit-Limit` response header returns the usage plan rate limits that were applied to the requested operation, when available. The table above indicates the default rate and burst values for this operation. Selling partners whose business demands require higher throughput may observe higher rate and burst values than those shown here. For more information, refer to [Usage Plans and Rate Limits in the Selling Partner API](https://developer-docs.amazon.com/sp-api/docs/usage-plans-and-rate-limits-in-the-sp-api).", + "description": "Deletes the subscription indicated by the subscription identifier and notification type that you specify. The subscription identifier can be for any subscription associated with your application. After you successfully call this operation, notifications will stop being sent for the associated subscription. The `deleteSubscriptionById` operation is grantless. For more information, refer to [Grantless operations](https://developer-docs.amazon.com/sp-api/docs/grantless-operations).\n\n**Usage Plan:**\n\n| Rate (requests per second) | Burst |\n| ---- | ---- |\n| 1 | 5 |\n\nThe `x-amzn-RateLimit-Limit` response header returns the usage plan rate limits that were applied to the requested operation, when available. The table above indicates the default rate and burst values for this operation. Selling partners whose business demands require higher throughput may observe higher rate and burst values than those shown here. For more information, refer to [Usage Plans and Rate Limits in the Selling Partner API](https://developer-docs.amazon.com/sp-api/docs/usage-plans-and-rate-limits-in-the-sp-api).", "operationId": "deleteSubscriptionById", "parameters": [ { @@ -826,7 +826,7 @@ "tags": [ "notifications" ], - "description": "Returns information about all destinations. The `getDestinations` operation is grantless. For more information, refer to [Grantless operations](https://developer-docs.amazon.com/sp-api/docs/grantless-operations) in the Selling Partner API Developer Guide.\n\n**Usage Plan:**\n\n| Rate (requests per second) | Burst |\n| ---- | ---- |\n| 1 | 5 |\n\nThe `x-amzn-RateLimit-Limit` response header returns the usage plan rate limits that were applied to the requested operation, when available. The table above indicates the default rate and burst values for this operation. Selling partners whose business demands require higher throughput may observe higher rate and burst values than those shown here. For more information, refer to [Usage Plans and Rate Limits in the Selling Partner API](https://developer-docs.amazon.com/sp-api/docs/usage-plans-and-rate-limits-in-the-sp-api).", + "description": "Returns information about all destinations. The `getDestinations` operation is grantless. For more information, refer to [Grantless operations](https://developer-docs.amazon.com/sp-api/docs/grantless-operations).\n\n**Usage Plan:**\n\n| Rate (requests per second) | Burst |\n| ---- | ---- |\n| 1 | 5 |\n\nThe `x-amzn-RateLimit-Limit` response header returns the usage plan rate limits that were applied to the requested operation, when available. The table above indicates the default rate and burst values for this operation. Selling partners whose business demands require higher throughput may observe higher rate and burst values than those shown here. For more information, refer to [Usage Plans and Rate Limits in the Selling Partner API](https://developer-docs.amazon.com/sp-api/docs/usage-plans-and-rate-limits-in-the-sp-api).", "operationId": "getDestinations", "parameters": [], "responses": { @@ -1029,7 +1029,7 @@ "tags": [ "notifications" ], - "description": "Creates a destination resource to receive notifications. The `createDestination` operation is grantless. For more information, refer to [Grantless operations](https://developer-docs.amazon.com/sp-api/docs/grantless-operations) in the Selling Partner API Developer Guide.\n\n**Usage Plan:**\n\n| Rate (requests per second) | Burst |\n| ---- | ---- |\n| 1 | 5 |\n\nThe `x-amzn-RateLimit-Limit` response header returns the usage plan rate limits that were applied to the requested operation, when available. The table above indicates the default rate and burst values for this operation. Selling partners whose business demands require higher throughput may observe higher rate and burst values than those shown here. For more information, refer to [Usage Plans and Rate Limits in the Selling Partner API](https://developer-docs.amazon.com/sp-api/docs/usage-plans-and-rate-limits-in-the-sp-api).", + "description": "Creates a destination resource to receive notifications. The `createDestination` operation is grantless. For more information, refer to [Grantless operations](https://developer-docs.amazon.com/sp-api/docs/grantless-operations).\n\n**Usage Plan:**\n\n| Rate (requests per second) | Burst |\n| ---- | ---- |\n| 1 | 5 |\n\nThe `x-amzn-RateLimit-Limit` response header returns the usage plan rate limits that were applied to the requested operation, when available. The table above indicates the default rate and burst values for this operation. Selling partners whose business demands require higher throughput may observe higher rate and burst values than those shown here. For more information, refer to [Usage Plans and Rate Limits in the Selling Partner API](https://developer-docs.amazon.com/sp-api/docs/usage-plans-and-rate-limits-in-the-sp-api).", "operationId": "createDestination", "parameters": [ { @@ -1239,7 +1239,7 @@ "tags": [ "notifications" ], - "description": "Returns information about the destination that you specify. The `getDestination` operation is grantless. For more information, refer to [Grantless operations](https://developer-docs.amazon.com/sp-api/docs/grantless-operations) in the Selling Partner API Developer Guide.\n\n**Usage Plan:**\n\n| Rate (requests per second) | Burst |\n| ---- | ---- |\n| 1 | 5 |\n\nThe `x-amzn-RateLimit-Limit` response header returns the usage plan rate limits that were applied to the requested operation, when available. The table above indicates the default rate and burst values for this operation. Selling partners whose business demands require higher throughput may observe higher rate and burst values than those shown here. For more information, refer to [Usage Plans and Rate Limits in the Selling Partner API](https://developer-docs.amazon.com/sp-api/docs/usage-plans-and-rate-limits-in-the-sp-api).", + "description": "Returns information about the destination that you specify. The `getDestination` operation is grantless. For more information, refer to [Grantless operations](https://developer-docs.amazon.com/sp-api/docs/grantless-operations).\n\n**Usage Plan:**\n\n| Rate (requests per second) | Burst |\n| ---- | ---- |\n| 1 | 5 |\n\nThe `x-amzn-RateLimit-Limit` response header returns the usage plan rate limits that were applied to the requested operation, when available. The table above indicates the default rate and burst values for this operation. Selling partners whose business demands require higher throughput may observe higher rate and burst values than those shown here. For more information, refer to [Usage Plans and Rate Limits in the Selling Partner API](https://developer-docs.amazon.com/sp-api/docs/usage-plans-and-rate-limits-in-the-sp-api).", "operationId": "getDestination", "parameters": [ { @@ -1446,7 +1446,7 @@ "tags": [ "notifications" ], - "description": "Deletes the destination that you specify. The `deleteDestination` operation is grantless. For more information, refer to [Grantless operations](https://developer-docs.amazon.com/sp-api/docs/grantless-operations) in the Selling Partner API Developer Guide.\n\n**Usage Plan:**\n\n| Rate (requests per second) | Burst |\n| ---- | ---- |\n| 1 | 5 |\n\nThe `x-amzn-RateLimit-Limit` response header returns the usage plan rate limits that were applied to the requested operation, when available. The table above indicates the default rate and burst values for this operation. Selling partners whose business demands require higher throughput may observe higher rate and burst values than those shown here. For more information, refer to [Usage Plans and Rate Limits in the Selling Partner API](https://developer-docs.amazon.com/sp-api/docs/usage-plans-and-rate-limits-in-the-sp-api).", + "description": "Deletes the destination that you specify. The `deleteDestination` operation is grantless. For more information, refer to [Grantless operations](https://developer-docs.amazon.com/sp-api/docs/grantless-operations).\n\n**Usage Plan:**\n\n| Rate (requests per second) | Burst |\n| ---- | ---- |\n| 1 | 5 |\n\nThe `x-amzn-RateLimit-Limit` response header returns the usage plan rate limits that were applied to the requested operation, when available. The table above indicates the default rate and burst values for this operation. Selling partners whose business demands require higher throughput may observe higher rate and burst values than those shown here. For more information, refer to [Usage Plans and Rate Limits in the Selling Partner API](https://developer-docs.amazon.com/sp-api/docs/usage-plans-and-rate-limits-in-the-sp-api).", "operationId": "deleteDestination", "parameters": [ { @@ -1664,7 +1664,7 @@ "ANY_OFFER_CHANGED", "ORDER_CHANGE" ], - "description": "An `eventFilterType` value that is supported by the specific `notificationType`. This is used by the subscription service to determine the type of event filter. Refer to the section of the [Notifications Use Case Guide](https://developer-docs.amazon.com/sp-api/docs/notifications-api-v1-use-case-guide) that describes the specific `notificationType` to determine if an `eventFilterType` is supported." + "description": "An `eventFilterType` value that is supported by the specific `notificationType`. This is used by the subscription service to determine the type of event filter. Refer to [Notification Type Values](https://developer-docs.amazon.com/sp-api/docs/notification-type-values) to determine if an `eventFilterType` is supported." } }, "required": [ @@ -2079,7 +2079,7 @@ "NotificationType": { "name": "notificationType", "in": "path", - "description": "The type of notification.\n\n For more information about notification types, refer to [the Notifications API Use Case Guide](https://developer-docs.amazon.com/sp-api/docs/notifications-api-v1-use-case-guide).", + "description": "The type of notification.\n\n For more information about notification types, refer to [Notification Type Values](https://developer-docs.amazon.com/sp-api/docs/notification-type-values).", "required": true, "type": "string" } From 725def1d4dec73ab3cb988679320492e8d35242c Mon Sep 17 00:00:00 2001 From: Jack Evoniuk Date: Wed, 31 Jan 2024 09:52:07 -0800 Subject: [PATCH 296/340] Update Listings Items 2021 model --- .../listingsItems_2021-08-01.json | 307 +++++++++++++++++- 1 file changed, 302 insertions(+), 5 deletions(-) diff --git a/models/listings-items-api-model/listingsItems_2021-08-01.json b/models/listings-items-api-model/listingsItems_2021-08-01.json index d1c386079..917f6dc08 100644 --- a/models/listings-items-api-model/listingsItems_2021-08-01.json +++ b/models/listings-items-api-model/listingsItems_2021-08-01.json @@ -318,7 +318,7 @@ }, "collectionFormat": "csv", "x-example": "summaries", - "default": "summaries" + "default": ["summaries"] } ], "responses": { @@ -708,7 +708,7 @@ "tags": [ "listings" ], - "description": "Partially update (patch) a listings item for a selling partner. Only top-level listings item attributes can be patched. Patching nested attributes is not supported.\n\n**Note:** The parameters associated with this operation may contain special characters that must be encoded to successfully call the API. To avoid errors with SKUs when encoding URLs, refer to [URL Encoding](https://developer-docs.amazon.com/sp-api/docs/url-encoding).\n\n**Usage Plan:**\n\n| Rate (requests per second) | Burst |\n| ---- | ---- |\n| 5 | 10 |\n\nThe `x-amzn-RateLimit-Limit` response header returns the usage plan rate limits that were applied to the requested operation, when available. The table above indicates the default rate and burst values for this operation. Selling partners whose business demands require higher throughput may see higher rate and burst values than those shown here. For more information, see [Usage Plans and Rate Limits in the Selling Partner API](https://developer-docs.amazon.com/sp-api/docs/usage-plans-and-rate-limits-in-the-sp-api).", + "description": "Partially update (patch) a listings item for a selling partner. Only top-level listings item attributes can be patched. Patching nested attributes is not supported.\n\n**Note:** This operation has a throttling rate of one request per second when `mode` is `VALIDATION_PREVIEW`.\n\n**Note:** The parameters associated with this operation may contain special characters that must be encoded to successfully call the API. To avoid errors with SKUs when encoding URLs, refer to [URL Encoding](https://developer-docs.amazon.com/sp-api/docs/url-encoding).\n\n**Usage Plan:**\n\n| Rate (requests per second) | Burst |\n| ---- | ---- |\n| 5 | 10 |\n\nThe `x-amzn-RateLimit-Limit` response header returns the usage plan rate limits that were applied to the requested operation, when available. The table above indicates the default rate and burst values for this operation. Selling partners whose business demands require higher throughput may see higher rate and burst values than those shown here. For more information, see [Usage Plans and Rate Limits in the Selling Partner API](https://developer-docs.amazon.com/sp-api/docs/usage-plans-and-rate-limits-in-the-sp-api).", "operationId": "patchListingsItem", "consumes": [ "application/json" @@ -743,6 +743,50 @@ "collectionFormat": "csv", "x-example": "ATVPDKIKX0DER" }, + { + "name": "includedData", + "description": "A comma-delimited list of data sets to include in the response. Default: `issues`.", + "in": "query", + "required": false, + "type": "array", + "items": { + "enum": [ + "identifiers", + "issues" + ], + "x-docgen-enum-table-extension": [ + { + "value": "identifiers", + "description": "Identifiers associated with the item in the Amazon catalog, such as Amazon Standard Identification Number (ASIN). Can only be requested when `mode` is `VALIDATION_PREVIEW`." + }, + { + "value": "issues", + "description": "The issues associated with the listing item." + } + ], + "type": "string" + }, + "collectionFormat": "csv", + "x-example": "issues", + "default": ["issues"] + }, + { + "name": "mode", + "description": "The mode of operation for the request.", + "in": "query", + "enum": [ + "VALIDATION_PREVIEW" + ], + "x-docgen-enum-table-extension": [ + { + "value": "VALIDATION_PREVIEW", + "description": "Indicates the submitted data should be validated without persisting to the selling partner's catalog." + } + ], + "required": false, + "type": "string", + "x-example": "VALIDATION_PREVIEW" + }, { "name": "issueLocale", "description": "A locale for localization of issues. When not provided, the default language code of the first marketplace is used. Examples: `en_US`, `fr_CA`, `fr_FR`. Localized messages default to `en_US` when a localization is not available in the specified locale.", @@ -800,6 +844,91 @@ "submissionId": "f1dc2914-75dd-11ea-bc55-0242ac130003", "issues": [] } + }, + { + "request": { + "parameters": { + "sku": { + "value": "VALIDATION_VALID" + }, + "marketplaceIds": { + "value": [ + "ATVPDKIKX0DER" + ] + }, + "includedData": { + "value": [ + "identifiers", + "issues" + ] + }, + "mode": { + "value": "VALIDATION_PREVIEW" + } + } + }, + "response": { + "sku": "VALIDATION_VALID", + "status": "VALID", + "submissionId": "1edc94ea-a3d7-210b-42bc-0ec72c1384762", + "identifiers": [ + { + "marketplaceId": "ATVPDKIKX0DER", + "asin": "B07N4M94X4" + } + ], + "issues": [] + } + }, + { + "request": { + "parameters": { + "sku": { + "value": "VALIDATION_INVALID" + }, + "marketplaceIds": { + "value": [ + "ATVPDKIKX0DER" + ] + }, + "includedData": { + "value": [ + "identifiers", + "issues" + ] + }, + "mode": { + "value": "VALIDATION_PREVIEW" + } + } + }, + "response": { + "sku": "VALIDATION_INVALID", + "status": "INVALID", + "submissionId": "a1c562c2-1695-11ee-be56-0242ac120002", + "identifiers": [], + "issues": [ + { + "code":"90000900", + "message":"The attributes are invalid.", + "severity":"ERROR", + "attributeNames": [ + "fake_attribute" + ], + "categories": ["INVALID_ATTRIBUTE"], + "enforcements": { + "actions": [ + { + "action": "ATTRIBUTE_SUPPRESSED" + } + ], + "exemption": { + "status": "NOT_EXEMPT" + } + } + } + ] + } } ] } @@ -920,7 +1049,7 @@ "tags": [ "listings" ], - "description": "Creates or fully updates an existing listings item for a selling partner.\n\n**Note:** The parameters associated with this operation may contain special characters that must be encoded to successfully call the API. To avoid errors with SKUs when encoding URLs, refer to [URL Encoding](https://developer-docs.amazon.com/sp-api/docs/url-encoding).\n\n**Usage Plan:**\n\n| Rate (requests per second) | Burst |\n| ---- | ---- |\n| 5 | 10 |\n\nThe `x-amzn-RateLimit-Limit` response header returns the usage plan rate limits that were applied to the requested operation, when available. The table above indicates the default rate and burst values for this operation. Selling partners whose business demands require higher throughput may see higher rate and burst values than those shown here. For more information, see [Usage Plans and Rate Limits in the Selling Partner API](https://developer-docs.amazon.com/sp-api/docs/usage-plans-and-rate-limits-in-the-sp-api).", + "description": "Creates or fully updates an existing listings item for a selling partner.\n\n**Note:** This operation has a throttling rate of one request per second when `mode` is `VALIDATION_PREVIEW`.\n\n**Note:** The parameters associated with this operation may contain special characters that must be encoded to successfully call the API. To avoid errors with SKUs when encoding URLs, refer to [URL Encoding](https://developer-docs.amazon.com/sp-api/docs/url-encoding).\n\n**Usage Plan:**\n\n| Rate (requests per second) | Burst |\n| ---- | ---- |\n| 5 | 10 |\n\nThe `x-amzn-RateLimit-Limit` response header returns the usage plan rate limits that were applied to the requested operation, when available. The table above indicates the default rate and burst values for this operation. Selling partners whose business demands require higher throughput may see higher rate and burst values than those shown here. For more information, see [Usage Plans and Rate Limits in the Selling Partner API](https://developer-docs.amazon.com/sp-api/docs/usage-plans-and-rate-limits-in-the-sp-api).", "operationId": "putListingsItem", "consumes": [ "application/json" @@ -955,6 +1084,50 @@ "collectionFormat": "csv", "x-example": "ATVPDKIKX0DER" }, + { + "name": "includedData", + "description": "A comma-delimited list of data sets to include in the response. Default: `issues`.", + "in": "query", + "required": false, + "type": "array", + "items": { + "enum": [ + "identifiers", + "issues" + ], + "x-docgen-enum-table-extension": [ + { + "value": "identifiers", + "description": "Identifiers associated with the item in the Amazon catalog, such as Amazon Standard Identification Number (ASIN). Can only be requested when `mode` is `VALIDATION_PREVIEW`." + }, + { + "value": "issues", + "description": "The issues associated with the listing item." + } + ], + "type": "string" + }, + "collectionFormat": "csv", + "x-example": "issues", + "default": ["issues"] + }, + { + "name": "mode", + "description": "The mode of operation for the request.", + "in": "query", + "enum": [ + "VALIDATION_PREVIEW" + ], + "x-docgen-enum-table-extension": [ + { + "value": "VALIDATION_PREVIEW", + "description": "Indicates the submitted data should be validated without persisting to the selling partner's catalog." + } + ], + "required": false, + "type": "string", + "x-example": "VALIDATION_PREVIEW" + }, { "name": "issueLocale", "description": "A locale for localization of issues. When not provided, the default language code of the first marketplace is used. Examples: `en_US`, `fr_CA`, `fr_FR`. Localized messages default to `en_US` when a localization is not available in the specified locale.", @@ -1012,6 +1185,100 @@ "submissionId": "f1dc2914-75dd-11ea-bc55-0242ac130003", "issues": [] } + }, + { + "request": { + "parameters": { + "sku": { + "value": "VALIDATION_VALID" + }, + "marketplaceIds": { + "value": [ + "ATVPDKIKX0DER" + ] + }, + "includedData": { + "value": [ + "identifiers", + "issues" + ] + }, + "mode": { + "value": "VALIDATION_PREVIEW" + } + } + }, + "response": { + "sku": "VALIDATION_VALID", + "status": "VALID", + "submissionId": "1edc94ea-a3d7-210b-42bc-0ec72c1384762", + "identifiers": [ + { + "marketplaceId": "ATVPDKIKX0DER", + "asin": "B07N4M94X4" + } + ], + "issues": [] + } + }, + { + "request": { + "parameters": { + "sku": { + "value": "VALIDATION_INVALID" + }, + "marketplaceIds": { + "value": [ + "ATVPDKIKX0DER" + ] + }, + "includedData": { + "value": [ + "identifiers", + "issues" + ] + }, + "mode": { + "value": "VALIDATION_PREVIEW" + } + } + }, + "response": { + "sku": "VALIDATION_INVALID", + "status": "INVALID", + "submissionId": "a1c562c2-1695-11ee-be56-0242ac120002", + "identifiers": [], + "issues": [ + { + "code":"90220", + "message":"'condition_type' is required but not supplied.", + "severity":"ERROR", + "attributeNames": [ + "condition_type" + ], + "categories": ["MISSING_ATTRIBUTE"], + "enforcements": { + "actions": [ + { + "action": "LISTING_SUPPRESSED" + } + ], + "exemption": { + "status": "NOT_EXEMPT" + } + } + }, + { + "code":"90000900", + "message":"The attributes are invalid.", + "severity":"ERROR", + "attributeNames": [ + "fake_attribute" + ], + "categories": [] + } + ] + } } ] } @@ -1759,7 +2026,8 @@ "description": "The status of the listings item submission.", "enum": [ "ACCEPTED", - "INVALID" + "INVALID", + "VALID" ], "x-docgen-enum-table-extension": [ { @@ -1769,6 +2037,10 @@ { "value": "INVALID", "description": "The listings submission was not valid and was not accepted for processing." + }, + { + "value": "VALID", + "description": "The listings submission was valid. Only returned when the `mode` is `VALIDATION_PREVIEW`." } ], "type": "string" @@ -1783,6 +2055,10 @@ "items": { "$ref": "#/definitions/Issue" } + }, + "identifiers": { + "description": "Identity attributes associated with the item in the Amazon catalog, such as the ASIN.", + "$ref": "#/definitions/ItemIdentifiers" } }, "required": [ @@ -1791,6 +2067,27 @@ "submissionId" ], "type": "object" + }, + "ItemIdentifiers": { + "description": "Identity attributes associated with the item in the Amazon catalog, such as the ASIN.", + "items": { + "$ref": "#/definitions/ItemIdentifiersByMarketplace" + }, + "type": "array" + }, + "ItemIdentifiersByMarketplace": { + "description": "Identity attributes associated with the item in the Amazon catalog for the indicated Amazon marketplace.", + "properties": { + "marketplaceId": { + "description": "A marketplace identifier. Identifies the Amazon marketplace for the listings item.", + "type": "string" + }, + "asin": { + "description": "Amazon Standard Identification Number (ASIN) of the listings item.", + "type": "string" + } + }, + "type": "object" } } -} +} \ No newline at end of file From aaaa98356647772eca3af5d96b476c0c999db7a2 Mon Sep 17 00:00:00 2001 From: Alex Rupprecht Date: Wed, 31 Jan 2024 13:55:28 -0500 Subject: [PATCH 297/340] Update ShipsInPackage for release --- .../fulfillmentInboundV0.json | 608 ++++++++++++++++-- 1 file changed, 544 insertions(+), 64 deletions(-) diff --git a/models/fulfillment-inbound-api-model/fulfillmentInboundV0.json b/models/fulfillment-inbound-api-model/fulfillmentInboundV0.json index a7af1bade..df45bb5f2 100644 --- a/models/fulfillment-inbound-api-model/fulfillmentInboundV0.json +++ b/models/fulfillment-inbound-api-model/fulfillmentInboundV0.json @@ -24,6 +24,254 @@ "application/json" ], "paths": { + "/fba/inbound/v0/itemsGuidance": { + "get": { + "tags": [ + "fbaInbound" + ], + "description": "Returns information that lets a seller know if Amazon recommends sending an item to a given marketplace. In some cases, Amazon provides guidance for why a given SellerSKU or ASIN is not recommended for shipment to Amazon's fulfillment network. Sellers may still ship items that are not recommended, at their discretion.\n\n**Usage Plan:**\n\n| Rate (requests per second) | Burst |\n| ---- | ---- |\n| 2 | 30 |\n\nThe `x-amzn-RateLimit-Limit` response header returns the usage plan rate limits that were applied to the requested operation, when available. The table above indicates the default rate and burst values for this operation. Selling partners whose business demands require higher throughput may see higher rate and burst values than those shown here. For more information, see [Usage Plans and Rate Limits in the Selling Partner API](https://developer-docs.amazon.com/sp-api/docs/usage-plans-and-rate-limits-in-the-sp-api).", + "operationId": "getInboundGuidance", + "deprecated": true, + "parameters": [ + { + "name": "MarketplaceId", + "in": "query", + "description": "A marketplace identifier. Specifies the marketplace where the product would be stored.", + "required": true, + "type": "string" + }, + { + "name": "SellerSKUList", + "in": "query", + "description": "A list of SellerSKU values. Used to identify items for which you want inbound guidance for shipment to Amazon's fulfillment network. Note: SellerSKU is qualified by the SellerId, which is included with every Selling Partner API operation that you submit. If you specify a SellerSKU that identifies a variation parent ASIN, this operation returns an error. A variation parent ASIN represents a generic product that cannot be sold. Variation child ASINs represent products that have specific characteristics (such as size and color) and can be sold. ", + "required": false, + "type": "array", + "items": { + "type": "string" + }, + "maxItems": 50 + }, + { + "name": "ASINList", + "in": "query", + "description": "A list of ASIN values. Used to identify items for which you want inbound guidance for shipment to Amazon's fulfillment network. Note: If you specify a ASIN that identifies a variation parent ASIN, this operation returns an error. A variation parent ASIN represents a generic product that cannot be sold. Variation child ASINs represent products that have specific characteristics (such as size and color) and can be sold.", + "required": false, + "type": "array", + "items": { + "type": "string" + }, + "maxItems": 50 + } + ], + "responses": { + "200": { + "description": "Success.", + "schema": { + "$ref": "#/definitions/GetInboundGuidanceResponse" + }, + "headers": { + "x-amzn-RateLimit-Limit": { + "type": "string", + "description": "Your rate limit (requests per second) for this operation." + }, + "x-amzn-RequestId": { + "type": "string", + "description": "Unique request reference identifier." + } + }, + "x-amzn-api-sandbox": { + "static": [ + { + "request": { + "parameters": { + "MarketplaceId": { + "value": "MarketplaceId" + }, + "SellerSKUList": { + "value": [ + "sku1", + "sku2" + ] + } + } + }, + "response": { + "payload": { + "SKUInboundGuidanceList": [ + { + "SellerSKU": "SellerSKU", + "ASIN": "ASIN", + "InboundGuidance": "InboundNotRecommended", + "GuidanceReasonList": [ + "SlowMovingASIN" + ] + } + ], + "InvalidSKUList": [ + { + "SellerSKU": "SellerSKU", + "ErrorReason": "DoesNotExist" + } + ], + "ASINInboundGuidanceList": [ + { + "ASIN": "ASIN", + "InboundGuidance": "InboundNotRecommended", + "GuidanceReasonList": [ + "SlowMovingASIN" + ] + } + ], + "InvalidASINList": [ + { + "ASIN": "ASIN", + "ErrorReason": "DoesNotExist" + } + ] + } + } + } + ] + } + }, + "400": { + "description": "Request has missing or invalid parameters and cannot be parsed.", + "schema": { + "$ref": "#/definitions/GetInboundGuidanceResponse" + }, + "headers": { + "x-amzn-RateLimit-Limit": { + "type": "string", + "description": "Your rate limit (requests per second) for this operation." + }, + "x-amzn-RequestId": { + "type": "string", + "description": "Unique request reference identifier." + } + }, + "x-amzn-api-sandbox": { + "static": [ + { + "request": { + "parameters": { + "MarketplaceId": { + "value": "BADVALUE" + }, + "SellerSKUList": { + "value": [ + "sku1", + "sku2" + ] + } + } + }, + "response": { + "errors": [ + { + "code": "Invalid Input", + "message": "MarketplaceId is incorrect" + } + ] + } + } + ] + } + }, + "401": { + "description": "The request's Authorization header is not formatted correctly or does not contain a valid token.", + "schema": { + "$ref": "#/definitions/GetInboundGuidanceResponse" + }, + "headers": { + "x-amzn-RateLimit-Limit": { + "type": "string", + "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." + }, + "x-amzn-RequestId": { + "type": "string", + "description": "Unique request reference identifier." + } + } + }, + "403": { + "description": "Indicates that access to the resource is forbidden. Possible reasons include Access Denied, Unauthorized, Expired Token, or Invalid Signature.", + "schema": { + "$ref": "#/definitions/GetInboundGuidanceResponse" + }, + "headers": { + "x-amzn-RequestId": { + "type": "string", + "description": "Unique request reference identifier." + } + } + }, + "404": { + "description": "The specified resource does not exist.", + "schema": { + "$ref": "#/definitions/GetInboundGuidanceResponse" + }, + "headers": { + "x-amzn-RateLimit-Limit": { + "type": "string", + "description": "Your rate limit (requests per second) for this operation." + }, + "x-amzn-RequestId": { + "type": "string", + "description": "Unique request reference identifier." + } + } + }, + "429": { + "description": "The frequency of requests was greater than allowed.", + "schema": { + "$ref": "#/definitions/GetInboundGuidanceResponse" + }, + "headers": { + "x-amzn-RateLimit-Limit": { + "type": "string", + "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." + }, + "x-amzn-RequestId": { + "type": "string", + "description": "Unique request reference identifier." + } + } + }, + "500": { + "description": "An unexpected condition occurred that prevented the server from fulfilling the request.", + "schema": { + "$ref": "#/definitions/GetInboundGuidanceResponse" + }, + "headers": { + "x-amzn-RateLimit-Limit": { + "type": "string", + "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." + }, + "x-amzn-RequestId": { + "type": "string", + "description": "Unique request reference identifier." + } + } + }, + "503": { + "description": "Temporary overloading or maintenance of the server.", + "schema": { + "$ref": "#/definitions/GetInboundGuidanceResponse" + }, + "headers": { + "x-amzn-RateLimit-Limit": { + "type": "string", + "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." + }, + "x-amzn-RequestId": { + "type": "string", + "description": "Unique request reference identifier." + } + } + } + } + } + }, "/fba/inbound/v0/plans": { "post": { "tags": [ @@ -31,7 +279,6 @@ ], "description": "Returns one or more inbound shipment plans, which provide the information you need to create one or more inbound shipments for a set of items that you specify. Multiple inbound shipment plans might be required so that items can be optimally placed in Amazon's fulfillment network—for example, positioning inventory closer to the customer. Alternatively, two inbound shipment plans might be created with the same Amazon fulfillment center destination if the two shipment plans require different processing—for example, items that require labels must be shipped separately from stickerless, commingled inventory.\n\n**Usage Plan:**\n\n| Rate (requests per second) | Burst |\n| ---- | ---- |\n| 2 | 30 |\n\nThe `x-amzn-RateLimit-Limit` response header returns the usage plan rate limits that were applied to the requested operation, when available. The table above indicates the default rate and burst values for this operation. Selling partners whose business demands require higher throughput may see higher rate and burst values than those shown here. For more information, see [Usage Plans and Rate Limits in the Selling Partner API](https://developer-docs.amazon.com/sp-api/docs/usage-plans-and-rate-limits-in-the-sp-api).", "operationId": "createInboundShipmentPlan", - "deprecated": true, "parameters": [ { "in": "body", @@ -39,8 +286,7 @@ "required": true, "schema": { "$ref": "#/definitions/CreateInboundShipmentPlanRequest" - }, - "description": "The request schema for the CreateInboundShipmentPlanRequest operation." + } } ], "responses": { @@ -219,6 +465,10 @@ "$ref": "#/definitions/CreateInboundShipmentPlanResponse" }, "headers": { + "x-amzn-RateLimit-Limit": { + "type": "string", + "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." + }, "x-amzn-RequestId": { "type": "string", "description": "Unique request reference identifier." @@ -259,6 +509,10 @@ "$ref": "#/definitions/CreateInboundShipmentPlanResponse" }, "headers": { + "x-amzn-RateLimit-Limit": { + "type": "string", + "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." + }, "x-amzn-RequestId": { "type": "string", "description": "Unique request reference identifier." @@ -271,6 +525,10 @@ "$ref": "#/definitions/CreateInboundShipmentPlanResponse" }, "headers": { + "x-amzn-RateLimit-Limit": { + "type": "string", + "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." + }, "x-amzn-RequestId": { "type": "string", "description": "Unique request reference identifier." @@ -283,6 +541,10 @@ "$ref": "#/definitions/CreateInboundShipmentPlanResponse" }, "headers": { + "x-amzn-RateLimit-Limit": { + "type": "string", + "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." + }, "x-amzn-RequestId": { "type": "string", "description": "Unique request reference identifier." @@ -299,7 +561,6 @@ ], "description": "Returns a new inbound shipment based on the specified shipmentId that was returned by the createInboundShipmentPlan operation.\n\n**Usage Plan:**\n\n| Rate (requests per second) | Burst |\n| ---- | ---- |\n| 2 | 30 |\n\nThe `x-amzn-RateLimit-Limit` response header returns the usage plan rate limits that were applied to the requested operation, when available. The table above indicates the default rate and burst values for this operation. Selling partners whose business demands require higher throughput may see higher rate and burst values than those shown here. For more information, see [Usage Plans and Rate Limits in the Selling Partner API](https://developer-docs.amazon.com/sp-api/docs/usage-plans-and-rate-limits-in-the-sp-api).", "operationId": "createInboundShipment", - "deprecated": true, "parameters": [ { "in": "body", @@ -307,8 +568,7 @@ "required": true, "schema": { "$ref": "#/definitions/InboundShipmentRequest" - }, - "description": "The request schema for the InboundShipmentRequest operation." + } }, { "name": "shipmentId", @@ -461,6 +721,10 @@ "$ref": "#/definitions/InboundShipmentResponse" }, "headers": { + "x-amzn-RateLimit-Limit": { + "type": "string", + "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." + }, "x-amzn-RequestId": { "type": "string", "description": "Unique request reference identifier." @@ -501,6 +765,10 @@ "$ref": "#/definitions/InboundShipmentResponse" }, "headers": { + "x-amzn-RateLimit-Limit": { + "type": "string", + "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." + }, "x-amzn-RequestId": { "type": "string", "description": "Unique request reference identifier." @@ -513,6 +781,10 @@ "$ref": "#/definitions/InboundShipmentResponse" }, "headers": { + "x-amzn-RateLimit-Limit": { + "type": "string", + "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." + }, "x-amzn-RequestId": { "type": "string", "description": "Unique request reference identifier." @@ -525,6 +797,10 @@ "$ref": "#/definitions/InboundShipmentResponse" }, "headers": { + "x-amzn-RateLimit-Limit": { + "type": "string", + "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." + }, "x-amzn-RequestId": { "type": "string", "description": "Unique request reference identifier." @@ -539,7 +815,6 @@ ], "description": "Updates or removes items from the inbound shipment identified by the specified shipment identifier. Adding new items is not supported.\n\n**Usage Plan:**\n\n| Rate (requests per second) | Burst |\n| ---- | ---- |\n| 2 | 30 |\n\nThe `x-amzn-RateLimit-Limit` response header returns the usage plan rate limits that were applied to the requested operation, when available. The table above indicates the default rate and burst values for this operation. Selling partners whose business demands require higher throughput may see higher rate and burst values than those shown here. For more information, see [Usage Plans and Rate Limits in the Selling Partner API](https://developer-docs.amazon.com/sp-api/docs/usage-plans-and-rate-limits-in-the-sp-api).", "operationId": "updateInboundShipment", - "deprecated": true, "parameters": [ { "in": "body", @@ -547,8 +822,7 @@ "required": true, "schema": { "$ref": "#/definitions/InboundShipmentRequest" - }, - "description": "The request schema for the InboundShipmentRequest operation." + } }, { "name": "shipmentId", @@ -684,6 +958,10 @@ "$ref": "#/definitions/InboundShipmentResponse" }, "headers": { + "x-amzn-RateLimit-Limit": { + "type": "string", + "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." + }, "x-amzn-RequestId": { "type": "string", "description": "Unique request reference identifier." @@ -724,6 +1002,10 @@ "$ref": "#/definitions/InboundShipmentResponse" }, "headers": { + "x-amzn-RateLimit-Limit": { + "type": "string", + "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." + }, "x-amzn-RequestId": { "type": "string", "description": "Unique request reference identifier." @@ -736,6 +1018,10 @@ "$ref": "#/definitions/InboundShipmentResponse" }, "headers": { + "x-amzn-RateLimit-Limit": { + "type": "string", + "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." + }, "x-amzn-RequestId": { "type": "string", "description": "Unique request reference identifier." @@ -748,6 +1034,10 @@ "$ref": "#/definitions/InboundShipmentResponse" }, "headers": { + "x-amzn-RateLimit-Limit": { + "type": "string", + "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." + }, "x-amzn-RequestId": { "type": "string", "description": "Unique request reference identifier." @@ -764,7 +1054,6 @@ ], "description": "Returns pre-order information, including dates, that a seller needs before confirming a shipment for pre-order. \n\n**Usage Plan:**\n\n| Rate (requests per second) | Burst |\n| ---- | ---- |\n| 2 | 30 |\n\nThe `x-amzn-RateLimit-Limit` response header returns the usage plan rate limits that were applied to the requested operation, when available. The table above indicates the default rate and burst values for this operation. Selling partners whose business demands require higher throughput may see higher rate and burst values than those shown here. For more information, see [Usage Plans and Rate Limits in the Selling Partner API](https://developer-docs.amazon.com/sp-api/docs/usage-plans-and-rate-limits-in-the-sp-api).", "operationId": "getPreorderInfo", - "deprecated": true, "parameters": [ { "name": "shipmentId", @@ -868,6 +1157,10 @@ "$ref": "#/definitions/GetPreorderInfoResponse" }, "headers": { + "x-amzn-RateLimit-Limit": { + "type": "string", + "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." + }, "x-amzn-RequestId": { "type": "string", "description": "Unique request reference identifier." @@ -908,6 +1201,10 @@ "$ref": "#/definitions/GetPreorderInfoResponse" }, "headers": { + "x-amzn-RateLimit-Limit": { + "type": "string", + "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." + }, "x-amzn-RequestId": { "type": "string", "description": "Unique request reference identifier." @@ -920,6 +1217,10 @@ "$ref": "#/definitions/GetPreorderInfoResponse" }, "headers": { + "x-amzn-RateLimit-Limit": { + "type": "string", + "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." + }, "x-amzn-RequestId": { "type": "string", "description": "Unique request reference identifier." @@ -932,6 +1233,10 @@ "$ref": "#/definitions/GetPreorderInfoResponse" }, "headers": { + "x-amzn-RateLimit-Limit": { + "type": "string", + "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." + }, "x-amzn-RequestId": { "type": "string", "description": "Unique request reference identifier." @@ -948,7 +1253,6 @@ ], "description": "Returns information needed to confirm a shipment for pre-order. Call this operation after calling the getPreorderInfo operation to get the NeedByDate value and other pre-order information about the shipment.\n\n**Usage Plan:**\n\n| Rate (requests per second) | Burst |\n| ---- | ---- |\n| 2 | 30 |\n\nThe `x-amzn-RateLimit-Limit` response header returns the usage plan rate limits that were applied to the requested operation, when available. The table above indicates the default rate and burst values for this operation. Selling partners whose business demands require higher throughput may see higher rate and burst values than those shown here. For more information, see [Usage Plans and Rate Limits in the Selling Partner API](https://developer-docs.amazon.com/sp-api/docs/usage-plans-and-rate-limits-in-the-sp-api).", "operationId": "confirmPreorder", - "deprecated": true, "parameters": [ { "name": "shipmentId", @@ -1064,6 +1368,10 @@ "$ref": "#/definitions/ConfirmPreorderResponse" }, "headers": { + "x-amzn-RateLimit-Limit": { + "type": "string", + "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." + }, "x-amzn-RequestId": { "type": "string", "description": "Unique request reference identifier." @@ -1104,6 +1412,10 @@ "$ref": "#/definitions/ConfirmPreorderResponse" }, "headers": { + "x-amzn-RateLimit-Limit": { + "type": "string", + "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." + }, "x-amzn-RequestId": { "type": "string", "description": "Unique request reference identifier." @@ -1116,6 +1428,10 @@ "$ref": "#/definitions/ConfirmPreorderResponse" }, "headers": { + "x-amzn-RateLimit-Limit": { + "type": "string", + "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." + }, "x-amzn-RequestId": { "type": "string", "description": "Unique request reference identifier." @@ -1128,6 +1444,10 @@ "$ref": "#/definitions/ConfirmPreorderResponse" }, "headers": { + "x-amzn-RateLimit-Limit": { + "type": "string", + "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." + }, "x-amzn-RequestId": { "type": "string", "description": "Unique request reference identifier." @@ -1305,6 +1625,10 @@ "$ref": "#/definitions/GetPrepInstructionsResponse" }, "headers": { + "x-amzn-RateLimit-Limit": { + "type": "string", + "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." + }, "x-amzn-RequestId": { "type": "string", "description": "Unique request reference identifier." @@ -1345,6 +1669,10 @@ "$ref": "#/definitions/GetPrepInstructionsResponse" }, "headers": { + "x-amzn-RateLimit-Limit": { + "type": "string", + "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." + }, "x-amzn-RequestId": { "type": "string", "description": "Unique request reference identifier." @@ -1357,6 +1685,10 @@ "$ref": "#/definitions/GetPrepInstructionsResponse" }, "headers": { + "x-amzn-RateLimit-Limit": { + "type": "string", + "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." + }, "x-amzn-RequestId": { "type": "string", "description": "Unique request reference identifier." @@ -1369,6 +1701,10 @@ "$ref": "#/definitions/GetPrepInstructionsResponse" }, "headers": { + "x-amzn-RateLimit-Limit": { + "type": "string", + "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." + }, "x-amzn-RequestId": { "type": "string", "description": "Unique request reference identifier." @@ -1385,7 +1721,6 @@ ], "description": "Returns current transportation information about an inbound shipment.\n\n**Usage Plan:**\n\n| Rate (requests per second) | Burst |\n| ---- | ---- |\n| 2 | 30 |\n\nThe `x-amzn-RateLimit-Limit` response header returns the usage plan rate limits that were applied to the requested operation, when available. The table above indicates the default rate and burst values for this operation. Selling partners whose business demands require higher throughput may see higher rate and burst values than those shown here. For more information, see [Usage Plans and Rate Limits in the Selling Partner API](https://developer-docs.amazon.com/sp-api/docs/usage-plans-and-rate-limits-in-the-sp-api).", "operationId": "getTransportDetails", - "deprecated": true, "parameters": [ { "name": "shipmentId", @@ -1503,6 +1838,10 @@ "$ref": "#/definitions/GetTransportDetailsResponse" }, "headers": { + "x-amzn-RateLimit-Limit": { + "type": "string", + "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." + }, "x-amzn-RequestId": { "type": "string", "description": "Unique request reference identifier." @@ -1543,6 +1882,10 @@ "$ref": "#/definitions/GetTransportDetailsResponse" }, "headers": { + "x-amzn-RateLimit-Limit": { + "type": "string", + "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." + }, "x-amzn-RequestId": { "type": "string", "description": "Unique request reference identifier." @@ -1555,6 +1898,10 @@ "$ref": "#/definitions/GetTransportDetailsResponse" }, "headers": { + "x-amzn-RateLimit-Limit": { + "type": "string", + "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." + }, "x-amzn-RequestId": { "type": "string", "description": "Unique request reference identifier." @@ -1567,6 +1914,10 @@ "$ref": "#/definitions/GetTransportDetailsResponse" }, "headers": { + "x-amzn-RateLimit-Limit": { + "type": "string", + "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." + }, "x-amzn-RequestId": { "type": "string", "description": "Unique request reference identifier." @@ -1581,7 +1932,6 @@ ], "description": "Sends transportation information to Amazon about an inbound shipment.\n\n**Usage Plan:**\n\n| Rate (requests per second) | Burst |\n| ---- | ---- |\n| 2 | 30 |\n\nThe `x-amzn-RateLimit-Limit` response header returns the usage plan rate limits that were applied to the requested operation, when available. The table above indicates the default rate and burst values for this operation. Selling partners whose business demands require higher throughput may see higher rate and burst values than those shown here. For more information, see [Usage Plans and Rate Limits in the Selling Partner API](https://developer-docs.amazon.com/sp-api/docs/usage-plans-and-rate-limits-in-the-sp-api).", "operationId": "putTransportDetails", - "deprecated": true, "parameters": [ { "name": "shipmentId", @@ -1596,8 +1946,7 @@ "required": true, "schema": { "$ref": "#/definitions/PutTransportDetailsRequest" - }, - "description": "The request schema for the PutTransportDetailsRequest operation." + } } ], "responses": { @@ -1822,6 +2171,10 @@ "$ref": "#/definitions/PutTransportDetailsResponse" }, "headers": { + "x-amzn-RateLimit-Limit": { + "type": "string", + "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." + }, "x-amzn-RequestId": { "type": "string", "description": "Unique request reference identifier." @@ -1862,6 +2215,10 @@ "$ref": "#/definitions/PutTransportDetailsResponse" }, "headers": { + "x-amzn-RateLimit-Limit": { + "type": "string", + "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." + }, "x-amzn-RequestId": { "type": "string", "description": "Unique request reference identifier." @@ -1874,6 +2231,10 @@ "$ref": "#/definitions/PutTransportDetailsResponse" }, "headers": { + "x-amzn-RateLimit-Limit": { + "type": "string", + "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." + }, "x-amzn-RequestId": { "type": "string", "description": "Unique request reference identifier." @@ -1886,6 +2247,10 @@ "$ref": "#/definitions/PutTransportDetailsResponse" }, "headers": { + "x-amzn-RateLimit-Limit": { + "type": "string", + "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." + }, "x-amzn-RequestId": { "type": "string", "description": "Unique request reference identifier." @@ -1902,7 +2267,6 @@ ], "description": "Cancels a previously-confirmed request to ship an inbound shipment using an Amazon-partnered carrier.\n\nTo be successful, you must call this operation before the VoidDeadline date that is returned by the getTransportDetails operation.\n\nImportant: The VoidDeadline date is 24 hours after you confirm a Small Parcel shipment transportation request or one hour after you confirm a Less Than Truckload/Full Truckload (LTL/FTL) shipment transportation request. After the void deadline passes, your account will be charged for the shipping cost.\n\n**Usage Plan:**\n\n| Rate (requests per second) | Burst |\n| ---- | ---- |\n| 2 | 30 |\n\nThe `x-amzn-RateLimit-Limit` response header returns the usage plan rate limits that were applied to the requested operation, when available. The table above indicates the default rate and burst values for this operation. Selling partners whose business demands require higher throughput may see higher rate and burst values than those shown here. For more information, see [Usage Plans and Rate Limits in the Selling Partner API](https://developer-docs.amazon.com/sp-api/docs/usage-plans-and-rate-limits-in-the-sp-api).", "operationId": "voidTransport", - "deprecated": true, "parameters": [ { "name": "shipmentId", @@ -1992,6 +2356,10 @@ "$ref": "#/definitions/VoidTransportResponse" }, "headers": { + "x-amzn-RateLimit-Limit": { + "type": "string", + "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." + }, "x-amzn-RequestId": { "type": "string", "description": "Unique request reference identifier." @@ -2032,6 +2400,10 @@ "$ref": "#/definitions/VoidTransportResponse" }, "headers": { + "x-amzn-RateLimit-Limit": { + "type": "string", + "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." + }, "x-amzn-RequestId": { "type": "string", "description": "Unique request reference identifier." @@ -2044,6 +2416,10 @@ "$ref": "#/definitions/VoidTransportResponse" }, "headers": { + "x-amzn-RateLimit-Limit": { + "type": "string", + "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." + }, "x-amzn-RequestId": { "type": "string", "description": "Unique request reference identifier." @@ -2056,6 +2432,10 @@ "$ref": "#/definitions/VoidTransportResponse" }, "headers": { + "x-amzn-RateLimit-Limit": { + "type": "string", + "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." + }, "x-amzn-RequestId": { "type": "string", "description": "Unique request reference identifier." @@ -2072,7 +2452,6 @@ ], "description": "Initiates the process of estimating the shipping cost for an inbound shipment by an Amazon-partnered carrier.\n\nPrior to calling the estimateTransport operation, you must call the putTransportDetails operation to provide Amazon with the transportation information for the inbound shipment.\n\n**Usage Plan:**\n\n| Rate (requests per second) | Burst |\n| ---- | ---- |\n| 2 | 30 |\n\nThe `x-amzn-RateLimit-Limit` response header returns the usage plan rate limits that were applied to the requested operation, when available. The table above indicates the default rate and burst values for this operation. Selling partners whose business demands require higher throughput may see higher rate and burst values than those shown here. For more information, see [Usage Plans and Rate Limits in the Selling Partner API](https://developer-docs.amazon.com/sp-api/docs/usage-plans-and-rate-limits-in-the-sp-api).", "operationId": "estimateTransport", - "deprecated": true, "parameters": [ { "name": "shipmentId", @@ -2162,6 +2541,10 @@ "$ref": "#/definitions/EstimateTransportResponse" }, "headers": { + "x-amzn-RateLimit-Limit": { + "type": "string", + "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." + }, "x-amzn-RequestId": { "type": "string", "description": "Unique request reference identifier." @@ -2202,6 +2585,10 @@ "$ref": "#/definitions/EstimateTransportResponse" }, "headers": { + "x-amzn-RateLimit-Limit": { + "type": "string", + "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." + }, "x-amzn-RequestId": { "type": "string", "description": "Unique request reference identifier." @@ -2214,6 +2601,10 @@ "$ref": "#/definitions/EstimateTransportResponse" }, "headers": { + "x-amzn-RateLimit-Limit": { + "type": "string", + "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." + }, "x-amzn-RequestId": { "type": "string", "description": "Unique request reference identifier." @@ -2226,6 +2617,10 @@ "$ref": "#/definitions/EstimateTransportResponse" }, "headers": { + "x-amzn-RateLimit-Limit": { + "type": "string", + "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." + }, "x-amzn-RequestId": { "type": "string", "description": "Unique request reference identifier." @@ -2242,7 +2637,6 @@ ], "description": "Confirms that the seller accepts the Amazon-partnered shipping estimate, agrees to allow Amazon to charge their account for the shipping cost, and requests that the Amazon-partnered carrier ship the inbound shipment.\n\nPrior to calling the confirmTransport operation, you should call the getTransportDetails operation to get the Amazon-partnered shipping estimate.\n\nImportant: After confirming the transportation request, if the seller decides that they do not want the Amazon-partnered carrier to ship the inbound shipment, you can call the voidTransport operation to cancel the transportation request. Note that for a Small Parcel shipment, the seller has 24 hours after confirming a transportation request to void the transportation request. For a Less Than Truckload/Full Truckload (LTL/FTL) shipment, the seller has one hour after confirming a transportation request to void it. After the grace period has expired the seller's account will be charged for the shipping cost.\n\n**Usage Plan:**\n\n| Rate (requests per second) | Burst |\n| ---- | ---- |\n| 2 | 30 |\n\nThe `x-amzn-RateLimit-Limit` response header returns the usage plan rate limits that were applied to the requested operation, when available. The table above indicates the default rate and burst values for this operation. Selling partners whose business demands require higher throughput may see higher rate and burst values than those shown here. For more information, see [Usage Plans and Rate Limits in the Selling Partner API](https://developer-docs.amazon.com/sp-api/docs/usage-plans-and-rate-limits-in-the-sp-api).", "operationId": "confirmTransport", - "deprecated": true, "parameters": [ { "name": "shipmentId", @@ -2332,6 +2726,10 @@ "$ref": "#/definitions/ConfirmTransportResponse" }, "headers": { + "x-amzn-RateLimit-Limit": { + "type": "string", + "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." + }, "x-amzn-RequestId": { "type": "string", "description": "Unique request reference identifier." @@ -2372,6 +2770,10 @@ "$ref": "#/definitions/ConfirmTransportResponse" }, "headers": { + "x-amzn-RateLimit-Limit": { + "type": "string", + "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." + }, "x-amzn-RequestId": { "type": "string", "description": "Unique request reference identifier." @@ -2384,6 +2786,10 @@ "$ref": "#/definitions/ConfirmTransportResponse" }, "headers": { + "x-amzn-RateLimit-Limit": { + "type": "string", + "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." + }, "x-amzn-RequestId": { "type": "string", "description": "Unique request reference identifier." @@ -2396,6 +2802,10 @@ "$ref": "#/definitions/ConfirmTransportResponse" }, "headers": { + "x-amzn-RateLimit-Limit": { + "type": "string", + "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." + }, "x-amzn-RequestId": { "type": "string", "description": "Unique request reference identifier." @@ -2532,7 +2942,8 @@ "type": "array", "items": { "type": "string" - } + }, + "maxItems": 999 }, { "name": "NumberOfPallets", @@ -2646,6 +3057,10 @@ "$ref": "#/definitions/GetLabelsResponse" }, "headers": { + "x-amzn-RateLimit-Limit": { + "type": "string", + "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." + }, "x-amzn-RequestId": { "type": "string", "description": "Unique request reference identifier." @@ -2686,6 +3101,10 @@ "$ref": "#/definitions/GetLabelsResponse" }, "headers": { + "x-amzn-RateLimit-Limit": { + "type": "string", + "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." + }, "x-amzn-RequestId": { "type": "string", "description": "Unique request reference identifier." @@ -2698,6 +3117,10 @@ "$ref": "#/definitions/GetLabelsResponse" }, "headers": { + "x-amzn-RateLimit-Limit": { + "type": "string", + "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." + }, "x-amzn-RequestId": { "type": "string", "description": "Unique request reference identifier." @@ -2710,6 +3133,10 @@ "$ref": "#/definitions/GetLabelsResponse" }, "headers": { + "x-amzn-RateLimit-Limit": { + "type": "string", + "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." + }, "x-amzn-RequestId": { "type": "string", "description": "Unique request reference identifier." @@ -2813,6 +3240,10 @@ "$ref": "#/definitions/GetBillOfLadingResponse" }, "headers": { + "x-amzn-RateLimit-Limit": { + "type": "string", + "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." + }, "x-amzn-RequestId": { "type": "string", "description": "Unique request reference identifier." @@ -2853,6 +3284,10 @@ "$ref": "#/definitions/GetBillOfLadingResponse" }, "headers": { + "x-amzn-RateLimit-Limit": { + "type": "string", + "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." + }, "x-amzn-RequestId": { "type": "string", "description": "Unique request reference identifier." @@ -2865,6 +3300,10 @@ "$ref": "#/definitions/GetBillOfLadingResponse" }, "headers": { + "x-amzn-RateLimit-Limit": { + "type": "string", + "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." + }, "x-amzn-RequestId": { "type": "string", "description": "Unique request reference identifier." @@ -2877,6 +3316,10 @@ "$ref": "#/definitions/GetBillOfLadingResponse" }, "headers": { + "x-amzn-RateLimit-Limit": { + "type": "string", + "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." + }, "x-amzn-RequestId": { "type": "string", "description": "Unique request reference identifier." @@ -2893,7 +3336,6 @@ ], "description": "Returns a list of inbound shipments based on criteria that you specify.\n\n**Usage Plan:**\n\n| Rate (requests per second) | Burst |\n| ---- | ---- |\n| 2 | 30 |\n\nThe `x-amzn-RateLimit-Limit` response header returns the usage plan rate limits that were applied to the requested operation, when available. The table above indicates the default rate and burst values for this operation. Selling partners whose business demands require higher throughput may see higher rate and burst values than those shown here. For more information, see [Usage Plans and Rate Limits in the Selling Partner API](https://developer-docs.amazon.com/sp-api/docs/usage-plans-and-rate-limits-in-the-sp-api).", "operationId": "getShipments", - "deprecated": true, "parameters": [ { "name": "ShipmentStatusList", @@ -2972,8 +3414,7 @@ "type": "array", "items": { "type": "string" - }, - "maxItems": 999 + } }, { "name": "LastUpdatedAfter", @@ -3134,6 +3575,10 @@ "$ref": "#/definitions/GetShipmentsResponse" }, "headers": { + "x-amzn-RateLimit-Limit": { + "type": "string", + "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." + }, "x-amzn-RequestId": { "type": "string", "description": "Unique request reference identifier." @@ -3174,6 +3619,10 @@ "$ref": "#/definitions/GetShipmentsResponse" }, "headers": { + "x-amzn-RateLimit-Limit": { + "type": "string", + "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." + }, "x-amzn-RequestId": { "type": "string", "description": "Unique request reference identifier." @@ -3186,6 +3635,10 @@ "$ref": "#/definitions/GetShipmentsResponse" }, "headers": { + "x-amzn-RateLimit-Limit": { + "type": "string", + "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." + }, "x-amzn-RequestId": { "type": "string", "description": "Unique request reference identifier." @@ -3198,6 +3651,10 @@ "$ref": "#/definitions/GetShipmentsResponse" }, "headers": { + "x-amzn-RateLimit-Limit": { + "type": "string", + "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." + }, "x-amzn-RequestId": { "type": "string", "description": "Unique request reference identifier." @@ -3214,7 +3671,6 @@ ], "description": "Returns a list of items in a specified inbound shipment.\n\n**Usage Plan:**\n\n| Rate (requests per second) | Burst |\n| ---- | ---- |\n| 2 | 30 |\n\nThe `x-amzn-RateLimit-Limit` response header returns the usage plan rate limits that were applied to the requested operation, when available. The table above indicates the default rate and burst values for this operation. Selling partners whose business demands require higher throughput may see higher rate and burst values than those shown here. For more information, see [Usage Plans and Rate Limits in the Selling Partner API](https://developer-docs.amazon.com/sp-api/docs/usage-plans-and-rate-limits-in-the-sp-api).", "operationId": "getShipmentItemsByShipmentId", - "deprecated": true, "parameters": [ { "name": "shipmentId", @@ -3336,6 +3792,10 @@ "$ref": "#/definitions/GetShipmentItemsResponse" }, "headers": { + "x-amzn-RateLimit-Limit": { + "type": "string", + "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." + }, "x-amzn-RequestId": { "type": "string", "description": "Unique request reference identifier." @@ -3376,6 +3836,10 @@ "$ref": "#/definitions/GetShipmentItemsResponse" }, "headers": { + "x-amzn-RateLimit-Limit": { + "type": "string", + "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." + }, "x-amzn-RequestId": { "type": "string", "description": "Unique request reference identifier." @@ -3388,6 +3852,10 @@ "$ref": "#/definitions/GetShipmentItemsResponse" }, "headers": { + "x-amzn-RateLimit-Limit": { + "type": "string", + "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." + }, "x-amzn-RequestId": { "type": "string", "description": "Unique request reference identifier." @@ -3400,6 +3868,10 @@ "$ref": "#/definitions/GetShipmentItemsResponse" }, "headers": { + "x-amzn-RateLimit-Limit": { + "type": "string", + "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." + }, "x-amzn-RequestId": { "type": "string", "description": "Unique request reference identifier." @@ -3416,7 +3888,6 @@ ], "description": "Returns a list of items in a specified inbound shipment, or a list of items that were updated within a specified time frame.\n\n**Usage Plan:**\n\n| Rate (requests per second) | Burst |\n| ---- | ---- |\n| 2 | 30 |\n\nThe `x-amzn-RateLimit-Limit` response header returns the usage plan rate limits that were applied to the requested operation, when available. The table above indicates the default rate and burst values for this operation. Selling partners whose business demands require higher throughput may see higher rate and burst values than those shown here. For more information, see [Usage Plans and Rate Limits in the Selling Partner API](https://developer-docs.amazon.com/sp-api/docs/usage-plans-and-rate-limits-in-the-sp-api).", "operationId": "getShipmentItems", - "deprecated": true, "parameters": [ { "name": "LastUpdatedAfter", @@ -3621,6 +4092,10 @@ "$ref": "#/definitions/GetShipmentItemsResponse" }, "headers": { + "x-amzn-RateLimit-Limit": { + "type": "string", + "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." + }, "x-amzn-RequestId": { "type": "string", "description": "Unique request reference identifier." @@ -3661,6 +4136,10 @@ "$ref": "#/definitions/GetShipmentItemsResponse" }, "headers": { + "x-amzn-RateLimit-Limit": { + "type": "string", + "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." + }, "x-amzn-RequestId": { "type": "string", "description": "Unique request reference identifier." @@ -3673,6 +4152,10 @@ "$ref": "#/definitions/GetShipmentItemsResponse" }, "headers": { + "x-amzn-RateLimit-Limit": { + "type": "string", + "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." + }, "x-amzn-RequestId": { "type": "string", "description": "Unique request reference identifier." @@ -3685,6 +4168,10 @@ "$ref": "#/definitions/GetShipmentItemsResponse" }, "headers": { + "x-amzn-RateLimit-Limit": { + "type": "string", + "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." + }, "x-amzn-RequestId": { "type": "string", "description": "Unique request reference identifier." @@ -3781,7 +4268,6 @@ }, "Address": { "type": "object", - "description": "Specific details to identify a place.", "required": [ "AddressLine1", "City", @@ -3893,8 +4379,7 @@ }, "BigDecimalType": { "type": "number", - "format": "double", - "description": "Number format that supports decimal." + "format": "double" }, "BoxContentsFeeDetails": { "type": "object", @@ -4051,8 +4536,7 @@ "description": "Date that determines which pre-order items in the shipment are eligible for pre-order. The pre-order Buy Box will appear for any pre-order item in the shipment with a release date on or after this date. In YYYY-MM-DD format.", "$ref": "#/definitions/DateStringType" } - }, - "description": "Result for confirm preorder operation" + } }, "ConfirmPreorderResponse": { "type": "object", @@ -4073,8 +4557,7 @@ "TransportResult": { "$ref": "#/definitions/TransportResult" } - }, - "description": "Common container for transport result" + } }, "ConfirmTransportResponse": { "type": "object", @@ -4156,8 +4639,7 @@ "InboundShipmentPlans": { "$ref": "#/definitions/InboundShipmentPlanList" } - }, - "description": "Result for the create inbound shipment operation" + } }, "CreateInboundShipmentPlanResponse": { "type": "object", @@ -4203,8 +4685,7 @@ "type": "string", "description": "The shipment identifier submitted in the request." } - }, - "description": "Result of an inbound shipment operation" + } }, "InboundShipmentResponse": { "type": "object", @@ -4239,8 +4720,7 @@ }, "DateStringType": { "type": "string", - "format": "date", - "description": "Type containing date in string format" + "format": "date" }, "Dimensions": { "type": "object", @@ -4329,8 +4809,20 @@ "InvalidASINList": { "$ref": "#/definitions/InvalidASINList" } + } + }, + "GetInboundGuidanceResponse": { + "type": "object", + "properties": { + "payload": { + "description": "The payload for the getInboundGuidance operation.", + "$ref": "#/definitions/GetInboundGuidanceResult" + }, + "errors": { + "$ref": "#/definitions/ErrorList" + } }, - "description": "Result for the get inbound guidance operation" + "description": "The response schema for the getInboundGuidance operation." }, "LabelDownloadURL": { "type": "object", @@ -4339,8 +4831,7 @@ "type": "string", "description": "URL to download the label for the package. Note: The URL will only be valid for 15 seconds" } - }, - "description": "Download URL for a label" + } }, "BillOfLadingDownloadURL": { "type": "object", @@ -4349,8 +4840,7 @@ "type": "string", "description": "URL to download the bill of lading for the package. Note: The URL will only be valid for 15 seconds" } - }, - "description": "Download URL for the bill of lading." + } }, "GetLabelsResponse": { "type": "object", @@ -4384,8 +4874,7 @@ "description": "Date in YYYY-MM-DD format that determines which pre-order items in the shipment are eligible for pre-order. If this shipment is confirmed for pre-order with a subsequent call to the confirmPreorder operation, the pre-order Buy Box will appear for any pre-order items in the shipment with a release date on or after this date. Call the getShipmentItems operation to get the release dates for the pre-order items in this shipment.", "$ref": "#/definitions/DateStringType" } - }, - "description": "Result for the get preorder info operation" + } }, "GetPreorderInfoResponse": { "type": "object", @@ -4416,8 +4905,7 @@ "InvalidASINList": { "$ref": "#/definitions/InvalidASINList" } - }, - "description": "Result for the get prep instructions operation" + } }, "GetPrepInstructionsResponse": { "type": "object", @@ -4438,8 +4926,7 @@ "TransportContent": { "$ref": "#/definitions/TransportContent" } - }, - "description": "Result for the get transport details operation" + } }, "GetTransportDetailsResponse": { "type": "object", @@ -4750,8 +5237,7 @@ "type": "array", "items": { "$ref": "#/definitions/InboundShipmentPlanRequestItem" - }, - "description": "List of inbound shipment plan requests" + } }, "IntendedBoxContentsSource": { "type": "string", @@ -4787,8 +5273,7 @@ "description": "The reason that the ASIN is invalid.", "$ref": "#/definitions/ErrorReason" } - }, - "description": "Contains details about an invalid ASIN" + } }, "InvalidASINList": { "type": "array", @@ -4808,8 +5293,7 @@ "description": "The reason why the seller SKU is invalid.", "$ref": "#/definitions/ErrorReason" } - }, - "description": "Contains detail about an invalid SKU" + } }, "InvalidSKUList": { "type": "array", @@ -4875,8 +5359,7 @@ "type": "string", "description": "When present and not empty, pass this string token in the next request to return the next response page." } - }, - "description": "Result for the get shipment items operation" + } }, "GetShipmentItemsResponse": { "type": "object", @@ -4902,8 +5385,7 @@ "type": "string", "description": "When present and not empty, pass this string token in the next request to return the next response page." } - }, - "description": "Result for the get shipments operation" + } }, "GetShipmentsResponse": { "type": "object", @@ -5136,7 +5618,7 @@ "$ref": "#/definitions/SellerFreightClass" }, "FreightReadyDate": { - "description": "The date on which the shipment is ready for carrier pickup. Must be in YYYY-MM-DD format.", + "description": "The date that the shipment will be ready to be picked up by the carrier.", "$ref": "#/definitions/DateStringType" }, "PalletList": { @@ -5181,7 +5663,7 @@ "$ref": "#/definitions/SellerFreightClass" }, "FreightReadyDate": { - "description": "The date on which the shipment is ready for carrier pickup. Must be in YYYY-MM-DD format.", + "description": "The date that the shipment will be ready to be picked up by the carrier. Must be in YYYY-MM-DD format.", "$ref": "#/definitions/DateStringType" }, "PalletList": { @@ -5763,8 +6245,7 @@ }, "TimeStampStringType": { "type": "string", - "format": "date-time", - "description": "Timestamp in ISO 8601 format." + "format": "date-time" }, "TrackingId": { "type": "string", @@ -5974,8 +6455,7 @@ }, "UnsignedIntType": { "type": "integer", - "format": "int64", - "description": "Contains an unsigned integer" + "format": "int64" }, "VoidTransportResponse": { "type": "object", From 16755b937e255615c09946f53c8b29e8e44023da Mon Sep 17 00:00:00 2001 From: Alex Rupprecht Date: Mon, 19 Feb 2024 10:38:07 -0500 Subject: [PATCH 298/340] Fixing github issue with wrong file information --- .../vendorDirectFulfillmentOrdersV1.json | 2619 ++++++++++++++++- 1 file changed, 2490 insertions(+), 129 deletions(-) diff --git a/models/vendor-direct-fulfillment-orders-api-model/vendorDirectFulfillmentOrdersV1.json b/models/vendor-direct-fulfillment-orders-api-model/vendorDirectFulfillmentOrdersV1.json index a355fbb47..49e96b1bb 100644 --- a/models/vendor-direct-fulfillment-orders-api-model/vendorDirectFulfillmentOrdersV1.json +++ b/models/vendor-direct-fulfillment-orders-api-model/vendorDirectFulfillmentOrdersV1.json @@ -1,9 +1,9 @@ { "swagger": "2.0", "info": { - "description": "The Selling Partner API for Direct Fulfillment Inventory Updates provides programmatic access to a direct fulfillment vendor's inventory updates.", + "description": "The Selling Partner API for Direct Fulfillment Orders provides programmatic access to a direct fulfillment vendor's order data.", "version": "v1", - "title": "Selling Partner API for Direct Fulfillment Inventory Updates", + "title": "Selling Partner API for Direct Fulfillment Orders", "contact": { "name": "Selling Partner API Developer Support", "url": "https://sellercentral.amazon.com/gp/mws/contactus.html" @@ -24,35 +24,235 @@ "application/json" ], "paths": { - "/vendor/directFulfillment/inventory/v1/warehouses/{warehouseId}/items": { - "post": { + "/vendor/directFulfillment/orders/v1/purchaseOrders": { + "get": { "tags": [ - "updateInventory" + "vendorOrders" ], - "description": "Submits inventory updates for the specified warehouse for either a partial or full feed of inventory items.\n\n**Usage Plan:**\n\n| Rate (requests per second) | Burst |\n| ---- | ---- |\n| 10 | 10 |\n\nThe `x-amzn-RateLimit-Limit` response header returns the usage plan rate limits that were applied to the requested operation, when available. The table above indicates the default rate and burst values for this operation. Selling partners whose business demands require higher throughput may see higher rate and burst values than those shown here. For more information, see [Usage Plans and Rate Limits in the Selling Partner API](https://developer-docs.amazon.com/sp-api/docs/usage-plans-and-rate-limits-in-the-sp-api).", - "operationId": "submitInventoryUpdate", + "description": "Returns a list of purchase orders created during the time frame that you specify. You define the time frame using the createdAfter and createdBefore parameters. You must use both parameters. You can choose to get only the purchase order numbers by setting the includeDetails parameter to false. In that case, the operation returns a list of purchase order numbers. You can then call the getOrder operation to return the details of a specific order.\n\n**Usage Plan:**\n\n| Rate (requests per second) | Burst |\n| ---- | ---- |\n| 10 | 10 |\n\nThe `x-amzn-RateLimit-Limit` response header returns the usage plan rate limits that were applied to the requested operation, when available. The table above indicates the default rate and burst values for this operation. Selling partners whose business demands require higher throughput may see higher rate and burst values than those shown here. For more information, see [Usage Plans and Rate Limits in the Selling Partner API](https://developer-docs.amazon.com/sp-api/docs/usage-plans-and-rate-limits-in-the-sp-api).", + "operationId": "getOrders", "parameters": [ { - "in": "body", - "name": "body", + "name": "shipFromPartyId", + "in": "query", + "description": "The vendor warehouse identifier for the fulfillment warehouse. If not specified, the result will contain orders for all warehouses.", + "required": false, + "type": "string" + }, + { + "name": "status", + "in": "query", + "description": "Returns only the purchase orders that match the specified status. If not specified, the result will contain orders that match any status.", + "required": false, + "type": "string", + "enum": [ + "NEW", + "SHIPPED", + "ACCEPTED", + "CANCELLED" + ], + "x-docgen-enum-table-extension": [ + { + "value": "NEW", + "description": "Status for newly created purchase orders." + }, + { + "value": "SHIPPED", + "description": "Status for purchase orders that are already shipped." + }, + { + "value": "ACCEPTED", + "description": "Status for purchase orders accepted by vendors." + }, + { + "value": "CANCELLED", + "description": "Status for cancelled purchase orders." + } + ] + }, + { + "name": "limit", + "in": "query", + "description": "The limit to the number of purchase orders returned.", + "required": false, + "type": "integer", + "maximum": 100, + "minimum": 1, + "format": "int64" + }, + { + "name": "createdAfter", + "in": "query", + "description": "Purchase orders that became available after this date and time will be included in the result. Must be in ISO-8601 date/time format.", "required": true, - "schema": { - "$ref": "#/definitions/SubmitInventoryUpdateRequest" - } + "type": "string", + "format": "date-time" }, { - "name": "warehouseId", - "in": "path", - "description": "Identifier for the warehouse for which to update inventory.", + "name": "createdBefore", + "in": "query", + "description": "Purchase orders that became available before this date and time will be included in the result. Must be in ISO-8601 date/time format.", "required": true, + "type": "string", + "format": "date-time" + }, + { + "name": "sortOrder", + "in": "query", + "description": "Sort the list in ascending or descending order by order creation date.", + "required": false, + "type": "string", + "enum": [ + "ASC", + "DESC" + ], + "x-docgen-enum-table-extension": [ + { + "value": "ASC", + "description": "Sort in ascending order by order creation date." + }, + { + "value": "DESC", + "description": "Sort in descending order by order creation date." + } + ] + }, + { + "name": "nextToken", + "in": "query", + "description": "Used for pagination when there are more orders than the specified result size limit. The token value is returned in the previous API call.", + "required": false, "type": "string" + }, + { + "name": "includeDetails", + "in": "query", + "description": "When true, returns the complete purchase order details. Otherwise, only purchase order numbers are returned.", + "required": false, + "type": "string", + "default": "true", + "format": "boolean" } ], "responses": { - "202": { + "200": { "description": "Success.", "schema": { - "$ref": "#/definitions/SubmitInventoryUpdateResponse" + "$ref": "#/definitions/GetOrdersResponse" + }, + "examples": { + "payload": { + "pagination": { + "nextToken": "MDAwMDAwMDAwMQ==" + }, + "orders": [ + { + "purchaseOrderNumber": "2JK3S9VC", + "orderDetails": { + "customerOrderNumber": "123-ABC", + "orderDate": "2020-02-20T13:51:00Z", + "orderStatus": "NEW", + "shipmentDetails": { + "isPriorityShipment": false, + "isScheduledDeliveryShipment": false, + "isPslipRequired": true, + "isGift": false, + "shipMethod": "UPS_2ND", + "shipmentDates": { + "requiredShipDate": "2020-02-21T00:00:00Z", + "promisedDeliveryDate": "2020-02-24T00:00:00Z" + }, + "messageToCustomer": "This shipment completes your order. You can always check the status of your orders from the \"Your Account\" link at the top of each page of our site.Thank you for shopping at Amazon.com" + }, + "taxTotal": { + "taxLineItem": [ + { + "taxRate": "0.1", + "taxAmount": { + "currencyCode": "USD", + "amount": "190" + }, + "type": "TOTAL" + } + ] + }, + "sellingParty": { + "partyId": "999US" + }, + "shipFromParty": { + "partyId": "ABCD" + }, + "shipToParty": { + "name": "ABCD", + "attention": "ABCD", + "addressLine1": "123 XYZ Street", + "addressLine2": "Apt 5", + "city": "San Jose", + "stateOrRegion": "CA", + "postalCode": "94086", + "countryCode": "USA" + }, + "billToParty": { + "partyId": "ABCD" + }, + "items": [ + { + "itemSequenceNumber": "00001", + "buyerProductIdentifier": "B07DFVDRAB", + "vendorProductIdentifier": "8806098286500", + "title": "LG 8 kg Inverter Wi-Fi Fully-Automatic Front Loading Washing Machine (FHT1408SWS, STS-VCM, Inbuilt Heater)", + "orderedQuantity": { + "amount": 1, + "unitOfMeasure": "EACH" + }, + "netPrice": { + "currencyCode": "USD", + "amount": "500" + }, + "taxDetails": { + "taxLineItem": [ + { + "taxRate": "0.1", + "taxAmount": { + "currencyCode": "USD", + "amount": "50" + }, + "type": "TOTAL" + } + ] + } + }, + { + "itemSequenceNumber": "00002", + "buyerProductIdentifier": "B07DFYF5AB", + "vendorProductIdentifier": "8806098286123", + "title": "LG 6.5 kg Inverter Fully-Automatic Front Loading Washing Machine (FHT1065SNW, Blue and White, Inbuilt Heater)", + "orderedQuantity": { + "amount": 2, + "unitOfMeasure": "EACH" + }, + "netPrice": { + "currencyCode": "USD", + "amount": "700" + }, + "taxDetails": { + "taxLineItem": [ + { + "taxRate": "0.1", + "taxAmount": { + "currencyCode": "USD", + "amount": "140" + }, + "type": "TOTAL" + } + ] + } + } + ] + } + } + ] + } }, "headers": { "x-amzn-RateLimit-Limit": { @@ -69,62 +269,929 @@ { "request": { "parameters": { - "body": { - "value": { - "inventory": { + "createdBefore": { + "value": "2020-02-20T00:00:00-08:00" + }, + "createdAfter": { + "value": "2020-02-15T14:00:00-08:00" + }, + "includeDetails": { + "value": "true" + }, + "limit": { + "value": 2 + }, + "sortOrder": { + "value": "DESC" + } + } + }, + "response": { + "payload": { + "pagination": { + "nextToken": "MDAwMDAwMDAwMQ==" + }, + "orders": [ + { + "purchaseOrderNumber": "2JK3S9VC", + "orderDetails": { + "customerOrderNumber": "123-ABC", + "orderDate": "2020-02-20T13:51:00Z", + "orderStatus": "NEW", + "shipmentDetails": { + "isPriorityShipment": false, + "isScheduledDeliveryShipment": false, + "isPslipRequired": true, + "isGift": false, + "shipMethod": "UPS_2ND", + "shipmentDates": { + "requiredShipDate": "2020-02-21T00:00:00Z", + "promisedDeliveryDate": "2020-02-24T00:00:00Z" + }, + "messageToCustomer": "This shipment completes your order. You can always check the status of your orders from the \"Your Account\" link at the top of each page of our site.Thank you for shopping at Amazon.com" + }, + "taxTotal": { + "taxLineItem": [ + { + "taxRate": "0.1", + "taxAmount": { + "currencyCode": "USD", + "amount": "190" + }, + "type": "TOTAL" + } + ] + }, "sellingParty": { - "partyId": "VENDORID" + "partyId": "999US" + }, + "shipFromParty": { + "partyId": "ABCD" + }, + "shipToParty": { + "name": "ABCD", + "attention": "ABCD", + "addressLine1": "123 XYZ Street", + "addressLine2": "Apt 5", + "city": "San Jose", + "stateOrRegion": "CA", + "postalCode": "94086", + "countryCode": "USA" + }, + "billToParty": { + "partyId": "ABCD" }, - "isFullUpdate": false, "items": [ { - "buyerProductIdentifier": "ABCD4562", - "vendorProductIdentifier": "7Q89K11", - "availableQuantity": { - "amount": 10, - "unitOfMeasure": "Each" + "itemSequenceNumber": "00001", + "buyerProductIdentifier": "B07DFVDRAB", + "vendorProductIdentifier": "8806098286500", + "title": "LG 8 kg Inverter Wi-Fi Fully-Automatic Front Loading Washing Machine (FHT1408SWS, STS-VCM, Inbuilt Heater)", + "orderedQuantity": { + "amount": 1, + "unitOfMeasure": "EACH" + }, + "netPrice": { + "currencyCode": "USD", + "amount": "500" }, - "isObsolete": false + "taxDetails": { + "taxLineItem": [ + { + "taxRate": "0.1", + "taxAmount": { + "currencyCode": "USD", + "amount": "50" + }, + "type": "TOTAL" + } + ] + } }, { - "buyerProductIdentifier": "ABCD4563", - "vendorProductIdentifier": "7Q89K12", - "availableQuantity": { - "amount": 15, - "unitOfMeasure": "Each" + "itemSequenceNumber": "00002", + "buyerProductIdentifier": "B07DFYF5AB", + "vendorProductIdentifier": "8806098286123", + "title": "LG 6.5 kg Inverter Fully-Automatic Front Loading Washing Machine (FHT1065SNW, Blue and White, Inbuilt Heater)", + "orderedQuantity": { + "amount": 2, + "unitOfMeasure": "EACH" }, - "isObsolete": false + "netPrice": { + "currencyCode": "USD", + "amount": "700" + }, + "taxDetails": { + "taxLineItem": [ + { + "taxRate": "0.1", + "taxAmount": { + "currencyCode": "USD", + "amount": "140" + }, + "type": "TOTAL" + } + ] + } + } + ] + } + }, + { + "purchaseOrderNumber": "3TRD2IAB", + "orderDetails": { + "customerOrderNumber": "456-ABC", + "orderDate": "2020-02-18T11:47:00Z", + "orderStatus": "NEW", + "shipmentDetails": { + "isPriorityShipment": false, + "isScheduledDeliveryShipment": false, + "isPslipRequired": true, + "isGift": false, + "shipMethod": "UPS_2ND", + "shipmentDates": { + "requiredShipDate": "2020-02-20T00:00:00Z", + "promisedDeliveryDate": "2020-02-22T00:00:00Z" }, + "messageToCustomer": "This shipment completes your order. You can always check the status of your orders from the \"Your Account\" link at the top of each page of our site.Thank you for shopping at Amazon.com" + }, + "taxTotal": { + "taxLineItem": [ + { + "taxRate": "0.1", + "taxAmount": { + "currencyCode": "USD", + "amount": "2" + }, + "type": "TOTAL" + } + ] + }, + "sellingParty": { + "partyId": "999US" + }, + "shipFromParty": { + "partyId": "ABCD" + }, + "shipToParty": { + "name": "XYZ", + "attention": "XYZ", + "addressLine1": "456 ABC Street", + "city": "Seattle", + "stateOrRegion": "WA", + "postalCode": "98007", + "countryCode": "USA" + }, + "billToParty": { + "partyId": "ABCD" + }, + "items": [ { - "buyerProductIdentifier": "ABCD4564", - "vendorProductIdentifier": "7Q89K13", - "availableQuantity": { - "amount": 20, - "unitOfMeasure": "Each" + "itemSequenceNumber": "00001", + "buyerProductIdentifier": "B01LNRIIAB", + "vendorProductIdentifier": "8806098286501", + "title": "Baby Dove Baby Wipes Rich Moisture (50 Pieces)", + "orderedQuantity": { + "amount": 1, + "unitOfMeasure": "EACH" }, - "isObsolete": false + "netPrice": { + "currencyCode": "USD", + "amount": "20" + }, + "taxDetails": { + "taxLineItem": [ + { + "taxRate": "0.1", + "taxAmount": { + "currencyCode": "USD", + "amount": "2" + }, + "type": "TOTAL" + } + ] + } } ] } } + ] + } + } + }, + { + "request": { + "parameters": { + "createdBefore": { + "value": "2020-02-20T00:00:00-08:00" + }, + "createdAfter": { + "value": "2020-02-15T14:00:00-08:00" + }, + "includeDetails": { + "value": "true" + }, + "limit": { + "value": 2 + }, + "sortOrder": { + "value": "DESC" + }, + "nextToken": { + "value": "MDAwMDAwMDAwMQ==" } } }, "response": { "payload": { - "transactionId": "20190905010908-8a3b6901-ef20-412f-9270-21c021796605" + "orders": [ + { + "purchaseOrderNumber": "2JK3S9VCD", + "orderDetails": { + "customerOrderNumber": "123-ABC", + "orderDate": "2020-02-20T13:51:00Z", + "orderStatus": "NEW", + "shipmentDetails": { + "isPriorityShipment": false, + "isScheduledDeliveryShipment": false, + "isPslipRequired": true, + "isGift": false, + "shipMethod": "UPS_2ND", + "shipmentDates": { + "requiredShipDate": "2020-02-21T00:00:00Z", + "promisedDeliveryDate": "2020-02-24T00:00:00Z" + }, + "messageToCustomer": "This shipment completes your order. You can always check the status of your orders from the \"Your Account\" link at the top of each page of our site.Thank you for shopping at Amazon.com" + }, + "taxTotal": { + "taxLineItem": [ + { + "taxAmount": { + "currencyCode": "USD", + "amount": "190" + }, + "type": "TOTAL" + } + ] + }, + "sellingParty": { + "partyId": "999US" + }, + "shipFromParty": { + "partyId": "ABCD" + }, + "shipToParty": { + "name": "ABCD", + "attention": "ABCD", + "addressLine1": "123 XYZ Street", + "addressLine2": "Apt 5", + "city": "San Jose", + "stateOrRegion": "CA", + "postalCode": "94086", + "countryCode": "USA" + }, + "billToParty": { + "partyId": "ABCD" + }, + "items": [ + { + "itemSequenceNumber": "00001", + "buyerProductIdentifier": "B07DFVDRAB", + "vendorProductIdentifier": "8806098286500", + "title": "LG 8 kg Inverter Wi-Fi Fully-Automatic Front Loading Washing Machine (FHT1408SWS, STS-VCM, Inbuilt Heater)", + "orderedQuantity": { + "amount": 1, + "unitOfMeasure": "EACH" + }, + "netPrice": { + "currencyCode": "USD", + "amount": "500" + }, + "taxDetails": { + "taxLineItem": [ + { + "taxRate": "0.1", + "taxAmount": { + "currencyCode": "USD", + "amount": "50" + }, + "type": "TOTAL" + } + ] + } + }, + { + "itemSequenceNumber": "00002", + "buyerProductIdentifier": "B07DFYF5AB", + "vendorProductIdentifier": "8806098286123", + "title": "LG 6.5 kg Inverter Fully-Automatic Front Loading Washing Machine (FHT1065SNW, Blue and White, Inbuilt Heater)", + "orderedQuantity": { + "amount": 2, + "unitOfMeasure": "EACH" + }, + "netPrice": { + "currencyCode": "USD", + "amount": "700" + }, + "taxDetails": { + "taxLineItem": [ + { + "taxRate": "0.1", + "taxAmount": { + "currencyCode": "USD", + "amount": "140" + }, + "type": "TOTAL" + } + ] + } + } + ] + } + }, + { + "purchaseOrderNumber": "3TRD2IABC", + "orderDetails": { + "customerOrderNumber": "456-ABC", + "orderDate": "2020-02-18T11:47:00Z", + "orderStatus": "NEW", + "shipmentDetails": { + "isPriorityShipment": false, + "isScheduledDeliveryShipment": false, + "isPslipRequired": true, + "isGift": false, + "shipMethod": "UPS_2ND", + "shipmentDates": { + "requiredShipDate": "2020-02-20T00:00:00Z", + "promisedDeliveryDate": "2020-02-22T00:00:00Z" + }, + "messageToCustomer": "This shipment completes your order. You can always check the status of your orders from the \"Your Account\" link at the top of each page of our site.Thank you for shopping at Amazon.com" + }, + "taxTotal": { + "taxLineItem": [ + { + "taxRate": "0.1", + "taxAmount": { + "currencyCode": "USD", + "amount": "2" + }, + "type": "TOTAL" + } + ] + }, + "sellingParty": { + "partyId": "999US" + }, + "shipFromParty": { + "partyId": "ABCD" + }, + "shipToParty": { + "name": "XYZ", + "attention": "XYZ", + "addressLine1": "456 ABC Street", + "city": "Seattle", + "stateOrRegion": "WA", + "postalCode": "98007", + "countryCode": "USA" + }, + "billToParty": { + "partyId": "ABCD" + }, + "items": [ + { + "itemSequenceNumber": "00001", + "buyerProductIdentifier": "B01LNRIIAB", + "vendorProductIdentifier": "8806098286501", + "title": "Baby Dove Baby Wipes Rich Moisture (50 Pieces)", + "orderedQuantity": { + "amount": 1, + "unitOfMeasure": "EACH" + }, + "netPrice": { + "currencyCode": "USD", + "amount": "20" + }, + "taxDetails": { + "taxLineItem": [ + { + "taxRate": "0.1", + "taxAmount": { + "currencyCode": "USD", + "amount": "2" + }, + "type": "TOTAL" + } + ] + } + } + ] + } + } + ] } } }, { "request": { "parameters": { - "body": {} + "createdBefore": { + "value": "2020-02-20T00:00:00-08:00" + }, + "createdAfter": { + "value": "2020-02-15T14:00:00-08:00" + }, + "includeDetails": { + "value": "true" + }, + "limit": { + "value": 2 + }, + "sortOrder": { + "value": "DESC" + }, + "nextToken": { + "value": "MDAwMDAwMDAwMQ==" + } + } + }, + "response": { + "payload": { + "orders": [ + { + "purchaseOrderNumber": "2JK3S9VCD", + "orderDetails": { + "customerOrderNumber": "123-ABC", + "orderDate": "2020-02-20T13:51:00Z", + "orderStatus": "NEW", + "shipmentDetails": { + "isPriorityShipment": false, + "isScheduledDeliveryShipment": false, + "isPslipRequired": true, + "isGift": false, + "shipMethod": "UPS_2ND", + "shipmentDates": { + "requiredShipDate": "2020-02-21T00:00:00Z", + "promisedDeliveryDate": "2020-02-24T00:00:00Z" + }, + "messageToCustomer": "This shipment completes your order. You can always check the status of your orders from the \"Your Account\" link at the top of each page of our site.Thank you for shopping at Amazon.com" + }, + "taxTotal": { + "taxLineItem": [ + { + "taxAmount": { + "currencyCode": "USD", + "amount": "190" + }, + "type": "TOTAL" + } + ] + }, + "sellingParty": { + "partyId": "999US" + }, + "shipFromParty": { + "partyId": "ABCD" + }, + "shipToParty": { + "name": "ABCD", + "attention": "ABCD", + "addressLine1": "123 XYZ Street", + "addressLine2": "Apt 5", + "city": "San Jose", + "stateOrRegion": "CA", + "postalCode": "94086", + "countryCode": "USA" + }, + "billToParty": { + "partyId": "ABCD" + }, + "items": [ + { + "itemSequenceNumber": "00001", + "buyerProductIdentifier": "B07DFVDRAB", + "vendorProductIdentifier": "8806098286500", + "title": "LG 8 kg Inverter Wi-Fi Fully-Automatic Front Loading Washing Machine (FHT1408SWS, STS-VCM, Inbuilt Heater)", + "orderedQuantity": { + "amount": 1, + "unitOfMeasure": "EACH" + }, + "netPrice": { + "currencyCode": "USD", + "amount": "500" + }, + "taxDetails": { + "taxLineItem": [ + { + "taxRate": "0.1", + "taxAmount": { + "currencyCode": "USD", + "amount": "50" + }, + "type": "TOTAL" + } + ] + } + }, + { + "itemSequenceNumber": "00002", + "buyerProductIdentifier": "B07DFYF5AB", + "vendorProductIdentifier": "8806098286123", + "title": "LG 6.5 kg Inverter Fully-Automatic Front Loading Washing Machine (FHT1065SNW, Blue and White, Inbuilt Heater)", + "orderedQuantity": { + "amount": 2, + "unitOfMeasure": "EACH" + }, + "netPrice": { + "currencyCode": "USD", + "amount": "700" + }, + "taxDetails": { + "taxLineItem": [ + { + "taxRate": "0.1", + "taxAmount": { + "currencyCode": "USD", + "amount": "140" + }, + "type": "TOTAL" + } + ] + } + } + ] + } + }, + { + "purchaseOrderNumber": "3TRD2IABC", + "orderDetails": { + "customerOrderNumber": "456-ABC", + "orderDate": "2020-02-18T11:47:00Z", + "orderStatus": "NEW", + "shipmentDetails": { + "isPriorityShipment": false, + "isScheduledDeliveryShipment": false, + "isPslipRequired": true, + "isGift": false, + "shipMethod": "UPS_2ND", + "shipmentDates": { + "requiredShipDate": "2020-02-20T00:00:00Z", + "promisedDeliveryDate": "2020-02-22T00:00:00Z" + }, + "messageToCustomer": "This shipment completes your order. You can always check the status of your orders from the \"Your Account\" link at the top of each page of our site.Thank you for shopping at Amazon.com" + }, + "taxTotal": { + "taxLineItem": [ + { + "taxRate": "0.1", + "taxAmount": { + "currencyCode": "USD", + "amount": "2" + }, + "type": "TOTAL" + } + ] + }, + "sellingParty": { + "partyId": "999US" + }, + "shipFromParty": { + "partyId": "ABCD" + }, + "shipToParty": { + "name": "XYZ", + "attention": "XYZ", + "addressLine1": "456 ABC Street", + "city": "Seattle", + "stateOrRegion": "WA", + "postalCode": "98007", + "countryCode": "USA" + }, + "billToParty": { + "partyId": "ABCD" + }, + "items": [ + { + "itemSequenceNumber": "00001", + "buyerProductIdentifier": "B01LNRIIAB", + "vendorProductIdentifier": "8806098286501", + "title": "Baby Dove Baby Wipes Rich Moisture (50 Pieces)", + "orderedQuantity": { + "amount": 1, + "unitOfMeasure": "EACH" + }, + "netPrice": { + "currencyCode": "USD", + "amount": "20" + }, + "taxDetails": { + "taxLineItem": [ + { + "taxRate": "0.1", + "taxAmount": { + "currencyCode": "USD", + "amount": "2" + }, + "type": "TOTAL" + } + ] + } + } + ] + } + } + ] + } + } + }, + { + "request": { + "parameters": { + "createdBefore": { + "value": "2019-08-21T00:00:00-08:00" + }, + "createdAfter": { + "value": "2019-08-20T14:00:00-08:00" + }, + "includeDetails": { + "value": "false" + }, + "sortOrder": { + "value": "DESC" + } } }, "response": { "payload": { - "transactionId": "mock-TransactionId-20190905010908-8a3b6901-ef20-412f-9270-21c021796605" + "pagination": { + "nextToken": "MDAwMDAwMDAwMQ==" + }, + "orders": [ + { + "purchaseOrderNumber": "2JK3S9VC" + }, + { + "purchaseOrderNumber": "3TRD2IAB" + } + ] + } + } + }, + { + "request": { + "parameters": { + "createdBefore": { + "value": "2019-08-21T00:00:00-08:00" + }, + "createdAfter": { + "value": "2019-08-20T14:00:00-08:00" + }, + "includeDetails": { + "value": "false" + }, + "sortOrder": { + "value": "DESC" + } + } + }, + "response": { + "payload": { + "pagination": { + "nextToken": "MDAwMDAwMDAwMQ==" + }, + "orders": [ + { + "purchaseOrderNumber": "2JK3S9VC" + }, + { + "purchaseOrderNumber": "3TRD2IAB" + } + ] + } + } + }, + { + "request": { + "parameters": { + "createdBefore": { + "value": "2019-08-21T00:00:00-08:00" + }, + "createdAfter": { + "value": "2019-08-20T14:00:00-08:00" + }, + "includeDetails": { + "value": "false" + }, + "sortOrder": { + "value": "DESC" + }, + "nextToken": { + "value": "MDAwMDAwMDAwMQ==" + } + } + }, + "response": { + "payload": { + "orders": [ + { + "purchaseOrderNumber": "2JK3S9VCD" + }, + { + "purchaseOrderNumber": "3TRD2IABC" + } + ] + } + } + }, + { + "request": { + "parameters": {} + }, + "response": { + "payload": { + "orders": [ + { + "purchaseOrderNumber": "2JK3S9VCD", + "orderDetails": { + "customerOrderNumber": "123-ABC", + "orderDate": "2020-02-20T13:51:00Z", + "orderStatus": "NEW", + "shipmentDetails": { + "isPriorityShipment": false, + "isScheduledDeliveryShipment": false, + "isPslipRequired": true, + "isGift": false, + "shipMethod": "UPS_2ND", + "shipmentDates": { + "requiredShipDate": "2020-02-21T00:00:00Z", + "promisedDeliveryDate": "2020-02-24T00:00:00Z" + }, + "messageToCustomer": "This shipment completes your order. You can always check the status of your orders from the \"Your Account\" link at the top of each page of our site. Thank you for shopping at Amazon.com." + }, + "taxTotal": { + "taxLineItem": [ + { + "taxAmount": { + "currencyCode": "USD", + "amount": "190" + }, + "type": "TOTAL" + } + ] + }, + "sellingParty": { + "partyId": "999US" + }, + "shipFromParty": { + "partyId": "ABCD" + }, + "shipToParty": { + "name": "ABCD", + "attention": "ABCD", + "addressLine1": "123 XYZ Street", + "addressLine2": "Apt 5", + "city": "San Jose", + "stateOrRegion": "CA", + "postalCode": "94086", + "countryCode": "USA" + }, + "billToParty": { + "partyId": "ABCD" + }, + "items": [ + { + "itemSequenceNumber": "00001", + "buyerProductIdentifier": "B07DFVDRAB", + "vendorProductIdentifier": "8806098286500", + "title": "LG 8 kg Inverter Wi-Fi Fully-Automatic Front Loading Washing Machine (FHT1408SWS, STS-VCM, Inbuilt Heater)", + "orderedQuantity": { + "amount": 1, + "unitOfMeasure": "EACH" + }, + "netPrice": { + "currencyCode": "USD", + "amount": "500" + }, + "taxDetails": { + "taxLineItem": [ + { + "taxRate": "0.1", + "taxAmount": { + "currencyCode": "USD", + "amount": "50" + }, + "type": "TOTAL" + } + ] + } + }, + { + "itemSequenceNumber": "00002", + "buyerProductIdentifier": "B07DFYF5AB", + "vendorProductIdentifier": "8806098286123", + "title": "LG 6.5 kg Inverter Fully-Automatic Front Loading Washing Machine (FHT1065SNW, Blue and White, Inbuilt Heater)", + "orderedQuantity": { + "amount": 2, + "unitOfMeasure": "EACH" + }, + "netPrice": { + "currencyCode": "USD", + "amount": "700" + }, + "taxDetails": { + "taxLineItem": [ + { + "taxRate": "0.1", + "taxAmount": { + "currencyCode": "USD", + "amount": "140" + }, + "type": "TOTAL" + } + ] + } + } + ] + } + }, + { + "purchaseOrderNumber": "3TRD2IABC", + "orderDetails": { + "customerOrderNumber": "456-ABC", + "orderDate": "2020-02-18T11:47:00Z", + "orderStatus": "NEW", + "shipmentDetails": { + "isPriorityShipment": false, + "isScheduledDeliveryShipment": false, + "isPslipRequired": true, + "isGift": false, + "shipMethod": "UPS_2ND", + "shipmentDates": { + "requiredShipDate": "2020-02-20T00:00:00Z", + "promisedDeliveryDate": "2020-02-22T00:00:00Z" + }, + "messageToCustomer": "This shipment completes your order. You can always check the status of your orders from the \"Your Account\" link at the top of each page of our site. Thank you for shopping at Amazon.com." + }, + "taxTotal": { + "taxLineItem": [ + { + "taxRate": "0.1", + "taxAmount": { + "currencyCode": "USD", + "amount": "2" + }, + "type": "TOTAL" + } + ] + }, + "sellingParty": { + "partyId": "999US" + }, + "shipFromParty": { + "partyId": "ABCD" + }, + "shipToParty": { + "name": "XYZ", + "attention": "XYZ", + "addressLine1": "456 ABC Street", + "city": "Seattle", + "stateOrRegion": "WA", + "postalCode": "98007", + "countryCode": "USA" + }, + "billToParty": { + "partyId": "ABCD" + }, + "items": [ + { + "itemSequenceNumber": "00001", + "buyerProductIdentifier": "B01LNRIIAB", + "vendorProductIdentifier": "8806098286501", + "title": "Baby Dove Baby Wipes Rich Moisture (50 Pieces)", + "orderedQuantity": { + "amount": 1, + "unitOfMeasure": "EACH" + }, + "netPrice": { + "currencyCode": "USD", + "amount": "20" + }, + "taxDetails": { + "taxLineItem": [ + { + "taxRate": "0.1", + "taxAmount": { + "currencyCode": "USD", + "amount": "2" + }, + "type": "TOTAL" + } + ] + } + } + ] + } + } + ] } } } @@ -134,7 +1201,7 @@ "400": { "description": "Request has missing or invalid parameters and cannot be parsed.", "schema": { - "$ref": "#/definitions/SubmitInventoryUpdateResponse" + "$ref": "#/definitions/GetOrdersResponse" }, "headers": { "x-amzn-RateLimit-Limit": { @@ -151,16 +1218,19 @@ { "request": { "parameters": { - "warehouseId": { - "value": "DUMMYCODE" + "createdBefore": { + "value": "2021-01-2100:00:00" + }, + "createdAfter": { + "value": "2021-02-20T14:00:00" } } }, "response": { "errors": [ { - "code": "InvalidInput", - "message": "Invalid transmission ID.", + "code": "InvalidRequest", + "message": "The request is invalid.", "details": "" } ] @@ -172,7 +1242,7 @@ "403": { "description": "Indicates that access to the resource is forbidden. Possible reasons include Access Denied, Unauthorized, Expired Token, or Invalid Signature.", "schema": { - "$ref": "#/definitions/SubmitInventoryUpdateResponse" + "$ref": "#/definitions/GetOrdersResponse" }, "headers": { "x-amzn-RequestId": { @@ -184,7 +1254,7 @@ "404": { "description": "The resource specified does not exist.", "schema": { - "$ref": "#/definitions/SubmitInventoryUpdateResponse" + "$ref": "#/definitions/GetOrdersResponse" }, "headers": { "x-amzn-RateLimit-Limit": { @@ -197,26 +1267,10 @@ } } }, - "413": { - "description": "The request size exceeded the maximum accepted size.", - "schema": { - "$ref": "#/definitions/SubmitInventoryUpdateResponse" - }, - "headers": { - "x-amzn-RateLimit-Limit": { - "type": "string", - "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." - }, - "x-amzn-RequestId": { - "type": "string", - "description": "Unique request reference identifier." - } - } - }, "415": { "description": "The request payload is in an unsupported format.", "schema": { - "$ref": "#/definitions/SubmitInventoryUpdateResponse" + "$ref": "#/definitions/GetOrdersResponse" }, "headers": { "x-amzn-RateLimit-Limit": { @@ -232,7 +1286,7 @@ "429": { "description": "The frequency of requests was greater than allowed.", "schema": { - "$ref": "#/definitions/SubmitInventoryUpdateResponse" + "$ref": "#/definitions/GetOrdersResponse" }, "headers": { "x-amzn-RateLimit-Limit": { @@ -248,7 +1302,7 @@ "500": { "description": "An unexpected condition occurred that prevented the server from fulfilling the request.", "schema": { - "$ref": "#/definitions/SubmitInventoryUpdateResponse" + "$ref": "#/definitions/GetOrdersResponse" }, "headers": { "x-amzn-RateLimit-Limit": { @@ -264,7 +1318,7 @@ "503": { "description": "Temporary overloading or maintenance of the server.", "schema": { - "$ref": "#/definitions/SubmitInventoryUpdateResponse" + "$ref": "#/definitions/GetOrdersResponse" }, "headers": { "x-amzn-RateLimit-Limit": { @@ -278,119 +1332,1144 @@ } } } - }, - "parameters": [] - } - }, - "definitions": { - "SubmitInventoryUpdateRequest": { - "type": "object", - "properties": { - "inventory": { - "description": "Inventory details required to update some or all items for the requested warehouse.", - "$ref": "#/definitions/InventoryUpdate" - } - }, - "description": "The request body for the submitInventoryUpdate operation." + } }, - "InventoryUpdate": { - "type": "object", - "required": [ - "isFullUpdate", - "items", - "sellingParty" + "/vendor/directFulfillment/orders/v1/purchaseOrders/{purchaseOrderNumber}": { + "get": { + "tags": [ + "vendorOrders" + ], + "description": "Returns purchase order information for the purchaseOrderNumber that you specify.\n\n**Usage Plan:**\n\n| Rate (requests per second) | Burst |\n| ---- | ---- |\n| 10 | 10 |\n\nThe `x-amzn-RateLimit-Limit` response header returns the usage plan rate limits that were applied to the requested operation, when available. The table above indicates the default rate and burst values for this operation. Selling partners whose business demands require higher throughput may see higher rate and burst values than those shown here. For more information, see [Usage Plans and Rate Limits in the Selling Partner API](https://developer-docs.amazon.com/sp-api/docs/usage-plans-and-rate-limits-in-the-sp-api).", + "operationId": "getOrder", + "parameters": [ + { + "name": "purchaseOrderNumber", + "in": "path", + "description": "The order identifier for the purchase order that you want. Formatting Notes: alpha-numeric code.", + "required": true, + "type": "string" + } + ], + "responses": { + "200": { + "description": "Success.", + "schema": { + "$ref": "#/definitions/GetOrderResponse" + }, + "examples": { + "application/json": { + "payload": { + "purchaseOrderNumber": "2JK3S9VC", + "orderDetails": { + "customerOrderNumber": "123-ABC", + "orderDate": "2020-02-20T13:51:00Z", + "orderStatus": "NEW", + "shipmentDetails": { + "isPriorityShipment": false, + "isScheduledDeliveryShipment": false, + "isPslipRequired": true, + "isGift": false, + "shipMethod": "UPS_2ND", + "shipmentDates": { + "requiredShipDate": "2020-02-21T00:00:00Z", + "promisedDeliveryDate": "2020-02-24T00:00:00Z" + }, + "messageToCustomer": "This shipment completes your order. You can always check the status of your orders from the \"Your Account\" link at the top of each page of our site.Thank you for shopping at Amazon.com" + }, + "taxTotal": { + "taxLineItem": [ + { + "taxAmount": { + "currencyCode": "USD", + "amount": "190" + }, + "type": "TOTAL" + } + ] + }, + "sellingParty": { + "partyId": "999US" + }, + "shipFromParty": { + "partyId": "ABCD" + }, + "shipToParty": { + "name": "ABCD", + "attention": "ABCD", + "addressLine1": "123 XYZ Street", + "addressLine2": "Apt 5", + "city": "San Jose", + "stateOrRegion": "CA", + "postalCode": "94086", + "countryCode": "USA" + }, + "billToParty": { + "partyId": "ABCD" + }, + "items": [ + { + "itemSequenceNumber": "00001", + "buyerProductIdentifier": "B07DFVDRAB", + "vendorProductIdentifier": "8806098286500", + "title": "LG 8 kg Inverter Wi-Fi Fully-Automatic Front Loading Washing Machine (FHT1408SWS, STS-VCM, Inbuilt Heater)", + "orderedQuantity": { + "amount": 1, + "unitOfMeasure": "EACH" + }, + "netPrice": { + "currencyCode": "USD", + "amount": "500" + }, + "taxDetails": { + "taxLineItem": [ + { + "taxRate": "0.1", + "taxAmount": { + "currencyCode": "USD", + "amount": "50" + }, + "type": "TOTAL" + } + ] + } + }, + { + "itemSequenceNumber": "00002", + "buyerProductIdentifier": "B07DFYF5AB", + "vendorProductIdentifier": "8806098286123", + "title": "LG 6.5 kg Inverter Fully-Automatic Front Loading Washing Machine (FHT1065SNW, Blue and White, Inbuilt Heater)", + "orderedQuantity": { + "amount": 2, + "unitOfMeasure": "EACH" + }, + "netPrice": { + "currencyCode": "USD", + "amount": "700" + }, + "taxDetails": { + "taxLineItem": [ + { + "taxRate": "0.1", + "taxAmount": { + "currencyCode": "USD", + "amount": "140" + }, + "type": "TOTAL" + } + ] + } + } + ] + } + } + } + }, + "headers": { + "x-amzn-RateLimit-Limit": { + "type": "string", + "description": "Your rate limit (requests per second) for this operation." + }, + "x-amzn-RequestId": { + "type": "string", + "description": "Unique request reference identifier." + } + }, + "x-amzn-api-sandbox": { + "static": [ + { + "request": { + "parameters": { + "purchaseOrderNumber": { + "value": "2JK3S9VC" + } + } + }, + "response": { + "payload": { + "purchaseOrderNumber": "2JK3S9VC", + "orderDetails": { + "customerOrderNumber": "123-ABC", + "orderDate": "2020-02-20T13:51:00Z", + "orderStatus": "NEW", + "shipmentDetails": { + "isPriorityShipment": false, + "isScheduledDeliveryShipment": false, + "isPslipRequired": true, + "isGift": false, + "shipMethod": "UPS_2ND", + "shipmentDates": { + "requiredShipDate": "2020-02-21T00:00:00Z", + "promisedDeliveryDate": "2020-02-24T00:00:00Z" + }, + "messageToCustomer": "This shipment completes your order. You can always check the status of your orders from the \"Your Account\" link at the top of each page of our site.Thank you for shopping at Amazon.com" + }, + "taxTotal": { + "taxLineItem": [ + { + "taxRate": "0.1", + "taxAmount": { + "currencyCode": "USD", + "amount": "190" + }, + "type": "TOTAL" + } + ] + }, + "sellingParty": { + "partyId": "999US" + }, + "shipFromParty": { + "partyId": "ABCD" + }, + "shipToParty": { + "name": "ABCD", + "attention": "ABCD", + "addressLine1": "123 XYZ Street", + "addressLine2": "Apt 5", + "city": "San Jose", + "stateOrRegion": "CA", + "postalCode": "94086", + "countryCode": "USA" + }, + "billToParty": { + "partyId": "ABCD" + }, + "items": [ + { + "itemSequenceNumber": "00001", + "buyerProductIdentifier": "B07DFVDRAB", + "vendorProductIdentifier": "8806098286500", + "title": "LG 8 kg Inverter Wi-Fi Fully-Automatic Front Loading Washing Machine (FHT1408SWS, STS-VCM, Inbuilt Heater)", + "orderedQuantity": { + "amount": 1, + "unitOfMeasure": "EACH" + }, + "netPrice": { + "currencyCode": "USD", + "amount": "500" + }, + "taxDetails": { + "taxLineItem": [ + { + "taxRate": "0.1", + "taxAmount": { + "currencyCode": "USD", + "amount": "50" + }, + "type": "TOTAL" + } + ] + } + }, + { + "itemSequenceNumber": "00002", + "buyerProductIdentifier": "B07DFYF5AB", + "vendorProductIdentifier": "8806098286123", + "title": "LG 6.5 kg Inverter Fully-Automatic Front Loading Washing Machine (FHT1065SNW, Blue and White, Inbuilt Heater)", + "orderedQuantity": { + "amount": 2, + "unitOfMeasure": "EACH" + }, + "netPrice": { + "currencyCode": "USD", + "amount": "700" + }, + "taxDetails": { + "taxLineItem": [ + { + "taxRate": "0.1", + "taxAmount": { + "currencyCode": "USD", + "amount": "140" + }, + "type": "TOTAL" + } + ] + } + } + ] + } + } + } + }, + { + "request": { + "parameters": {} + }, + "response": { + "payload": { + "purchaseOrderNumber": "2JK3S9VCD", + "orderDetails": { + "customerOrderNumber": "123-ABC", + "orderDate": "2020-02-20T13:51:00Z", + "orderStatus": "NEW", + "shipmentDetails": { + "isPriorityShipment": false, + "isScheduledDeliveryShipment": false, + "isPslipRequired": true, + "isGift": false, + "shipMethod": "UPS_2ND", + "shipmentDates": { + "requiredShipDate": "2020-02-21T00:00:00Z", + "promisedDeliveryDate": "2020-02-24T00:00:00Z" + }, + "messageToCustomer": "This shipment completes your order. You can always check the status of your orders from the \"Your Account\" link at the top of each page of our site. Thank you for shopping at Amazon.com." + }, + "taxTotal": { + "taxLineItem": [ + { + "taxAmount": { + "currencyCode": "USD", + "amount": "190" + }, + "type": "TOTAL" + } + ] + }, + "sellingParty": { + "partyId": "999US" + }, + "shipFromParty": { + "partyId": "ABCD" + }, + "shipToParty": { + "name": "ABCD", + "attention": "ABCD", + "addressLine1": "123 XYZ Street", + "addressLine2": "Apt 5", + "city": "San Jose", + "stateOrRegion": "CA", + "postalCode": "94086", + "countryCode": "USA" + }, + "billToParty": { + "partyId": "ABCD" + }, + "items": [ + { + "itemSequenceNumber": "00001", + "buyerProductIdentifier": "B07DFVDRAB", + "vendorProductIdentifier": "8806098286500", + "title": "LG 8 kg Inverter Wi-Fi Fully-Automatic Front Loading Washing Machine (FHT1408SWS, STS-VCM, Inbuilt Heater)", + "orderedQuantity": { + "amount": 1, + "unitOfMeasure": "EACH" + }, + "netPrice": { + "currencyCode": "USD", + "amount": "500" + }, + "taxDetails": { + "taxLineItem": [ + { + "taxRate": "0.1", + "taxAmount": { + "currencyCode": "USD", + "amount": "50" + }, + "type": "TOTAL" + } + ] + } + }, + { + "itemSequenceNumber": "00002", + "buyerProductIdentifier": "B07DFYF5AB", + "vendorProductIdentifier": "8806098286123", + "title": "LG 6.5 kg Inverter Fully-Automatic Front Loading Washing Machine (FHT1065SNW, Blue and White, Inbuilt Heater)", + "orderedQuantity": { + "amount": 2, + "unitOfMeasure": "EACH" + }, + "netPrice": { + "currencyCode": "USD", + "amount": "700" + }, + "taxDetails": { + "taxLineItem": [ + { + "taxRate": "0.1", + "taxAmount": { + "currencyCode": "USD", + "amount": "140" + }, + "type": "TOTAL" + } + ] + } + } + ] + } + } + } + } + ] + } + }, + "400": { + "description": "Request has missing or invalid parameters and cannot be parsed.", + "schema": { + "$ref": "#/definitions/GetOrderResponse" + }, + "headers": { + "x-amzn-RateLimit-Limit": { + "type": "string", + "description": "Your rate limit (requests per second) for this operation." + }, + "x-amzn-RequestId": { + "type": "string", + "description": "Unique request reference identifier." + } + }, + "x-amzn-api-sandbox": { + "static": [ + { + "request": { + "parameters": { + "purchaseOrderNumber": { + "value": "null" + } + } + }, + "response": { + "errors": [ + { + "code": "InvalidRequest", + "message": "Request is missing or has invalid parameters", + "details": "purchaseOrderNumber cannot be null" + } + ] + } + } + ] + } + }, + "401": { + "description": "The request's Authorization header is not formatted correctly or does not contain a valid token.", + "schema": { + "$ref": "#/definitions/GetOrderResponse" + }, + "headers": { + "x-amzn-RateLimit-Limit": { + "type": "string", + "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." + }, + "x-amzn-RequestId": { + "type": "string", + "description": "Unique request reference identifier." + } + } + }, + "403": { + "description": "Indicates that access to the resource is forbidden. Possible reasons include Access Denied, Unauthorized, Expired Token, or Invalid Signature.", + "schema": { + "$ref": "#/definitions/GetOrderResponse" + }, + "headers": { + "x-amzn-RequestId": { + "type": "string", + "description": "Unique request reference identifier." + } + } + }, + "404": { + "description": "The resource specified does not exist.", + "schema": { + "$ref": "#/definitions/GetOrderResponse" + }, + "headers": { + "x-amzn-RateLimit-Limit": { + "type": "string", + "description": "Your rate limit (requests per second) for this operation." + }, + "x-amzn-RequestId": { + "type": "string", + "description": "Unique request reference identifier." + } + } + }, + "415": { + "description": "The request payload is in an unsupported format.", + "schema": { + "$ref": "#/definitions/GetOrderResponse" + }, + "headers": { + "x-amzn-RateLimit-Limit": { + "type": "string", + "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." + }, + "x-amzn-RequestId": { + "type": "string", + "description": "Unique request reference identifier." + } + } + }, + "429": { + "description": "The frequency of requests was greater than allowed.", + "schema": { + "$ref": "#/definitions/GetOrderResponse" + }, + "headers": { + "x-amzn-RateLimit-Limit": { + "type": "string", + "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." + }, + "x-amzn-RequestId": { + "type": "string", + "description": "Unique request reference identifier." + } + } + }, + "500": { + "description": "An unexpected condition occurred that prevented the server from fulfilling the request.", + "schema": { + "$ref": "#/definitions/GetOrderResponse" + }, + "headers": { + "x-amzn-RateLimit-Limit": { + "type": "string", + "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." + }, + "x-amzn-RequestId": { + "type": "string", + "description": "Unique request reference identifier." + } + } + }, + "503": { + "description": "Temporary overloading or maintenance of the server.", + "schema": { + "$ref": "#/definitions/GetOrderResponse" + }, + "headers": { + "x-amzn-RateLimit-Limit": { + "type": "string", + "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." + }, + "x-amzn-RequestId": { + "type": "string", + "description": "Unique request reference identifier." + } + } + } + } + } + }, + "/vendor/directFulfillment/orders/v1/acknowledgements": { + "post": { + "tags": [ + "vendorOrders" + ], + "description": "Submits acknowledgements for one or more purchase orders.\n\n**Usage Plan:**\n\n| Rate (requests per second) | Burst |\n| ---- | ---- |\n| 10 | 10 |\n\nThe `x-amzn-RateLimit-Limit` response header returns the usage plan rate limits that were applied to the requested operation, when available. The table above indicates the default rate and burst values for this operation. Selling partners whose business demands require higher throughput may see higher rate and burst values than those shown here. For more information, see [Usage Plans and Rate Limits in the Selling Partner API](https://developer-docs.amazon.com/sp-api/docs/usage-plans-and-rate-limits-in-the-sp-api).", + "operationId": "submitAcknowledgement", + "parameters": [ + { + "in": "body", + "name": "body", + "required": true, + "schema": { + "$ref": "#/definitions/SubmitAcknowledgementRequest" + } + } + ], + "responses": { + "202": { + "description": "Success.", + "schema": { + "$ref": "#/definitions/SubmitAcknowledgementResponse" + }, + "headers": { + "x-amzn-RateLimit-Limit": { + "type": "string", + "description": "Your rate limit (requests per second) for this operation." + }, + "x-amzn-RequestId": { + "type": "string", + "description": "Unique request reference identifier." + } + }, + "x-amzn-api-sandbox": { + "static": [ + { + "request": { + "parameters": { + "body": { + "value": { + "orderAcknowledgements": [ + { + "purchaseOrderNumber": "2JK3S9VC", + "vendorOrderNumber": "ABC", + "acknowledgementDate": "2020-02-20T19:17:34.304Z", + "acknowledgementStatus": { + "code": "00", + "description": "Shipping 100 percent of ordered product" + }, + "sellingParty": { + "partyId": "999US" + }, + "shipFromParty": { + "partyId": "ABCD" + }, + "itemAcknowledgements": [ + { + "itemSequenceNumber": "00001", + "buyerProductIdentifier": "B07DFVDRAB", + "vendorProductIdentifier": "8806098286500", + "acknowledgedQuantity": { + "amount": 1, + "unitOfMeasure": "Each" + } + } + ] + } + ] + } + } + } + }, + "response": { + "payload": { + "transactionId": "20190827182357-8725bde9-c61c-49f9-86ac-46efd82d4da5" + } + } + }, + { + "request": { + "parameters": { + "body": {} + } + }, + "response": { + "payload": { + "transactionId": "mock-TransactionId-20190827182357-8725bde9-c61c-49f9-86ac-46efd82d4da5" + } + } + } + ] + } + }, + "400": { + "description": "Request has missing or invalid parameters and cannot be parsed.", + "schema": { + "$ref": "#/definitions/SubmitAcknowledgementResponse" + }, + "headers": { + "x-amzn-RateLimit-Limit": { + "type": "string", + "description": "Your rate limit (requests per second) for this operation." + }, + "x-amzn-RequestId": { + "type": "string", + "description": "Unique request reference identifier." + } + }, + "x-amzn-api-sandbox": { + "static": [ + { + "request": { + "parameters": { + "body": { + "value": { + "orderAcknowledgements": [ + { + "purchaseOrderNumber": "TestOrder400", + "sellingParty": {} + } + ] + } + } + } + }, + "response": { + "errors": [ + { + "code": "InvalidInput", + "message": "The content of element 'sellingParty' is not complete. One of '{partyId, address, taxInfo}' is expected.", + "details": "" + } + ] + } + } + ] + } + }, + "403": { + "description": "Indicates that access to the resource is forbidden. Possible reasons include Access Denied, Unauthorized, Expired Token, or Invalid Signature.", + "schema": { + "$ref": "#/definitions/SubmitAcknowledgementResponse" + }, + "headers": { + "x-amzn-RequestId": { + "type": "string", + "description": "Unique request reference identifier." + } + } + }, + "404": { + "description": "The resource specified does not exist.", + "schema": { + "$ref": "#/definitions/SubmitAcknowledgementResponse" + }, + "headers": { + "x-amzn-RateLimit-Limit": { + "type": "string", + "description": "Your rate limit (requests per second) for this operation." + }, + "x-amzn-RequestId": { + "type": "string", + "description": "Unique request reference identifier." + } + } + }, + "413": { + "description": "The request size exceeded the maximum accepted size.", + "schema": { + "$ref": "#/definitions/SubmitAcknowledgementResponse" + }, + "headers": { + "x-amzn-RateLimit-Limit": { + "type": "string", + "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." + }, + "x-amzn-RequestId": { + "type": "string", + "description": "Unique request reference identifier." + } + } + }, + "415": { + "description": "The request payload is in an unsupported format.", + "schema": { + "$ref": "#/definitions/SubmitAcknowledgementResponse" + }, + "headers": { + "x-amzn-RateLimit-Limit": { + "type": "string", + "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." + }, + "x-amzn-RequestId": { + "type": "string", + "description": "Unique request reference identifier." + } + } + }, + "429": { + "description": "The frequency of requests was greater than allowed.", + "schema": { + "$ref": "#/definitions/SubmitAcknowledgementResponse" + }, + "headers": { + "x-amzn-RateLimit-Limit": { + "type": "string", + "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." + }, + "x-amzn-RequestId": { + "type": "string", + "description": "Unique request reference identifier." + } + } + }, + "500": { + "description": "An unexpected condition occurred that prevented the server from fulfilling the request.", + "schema": { + "$ref": "#/definitions/SubmitAcknowledgementResponse" + }, + "headers": { + "x-amzn-RateLimit-Limit": { + "type": "string", + "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." + }, + "x-amzn-RequestId": { + "type": "string", + "description": "Unique request reference identifier." + } + } + }, + "503": { + "description": "Temporary overloading or maintenance of the server.", + "schema": { + "$ref": "#/definitions/SubmitAcknowledgementResponse" + }, + "headers": { + "x-amzn-RateLimit-Limit": { + "type": "string", + "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." + }, + "x-amzn-RequestId": { + "type": "string", + "description": "Unique request reference identifier." + } + } + } + } + } + } + }, + "definitions": { + "GetOrdersResponse": { + "type": "object", + "properties": { + "payload": { + "description": "A list of purchase orders.", + "$ref": "#/definitions/OrderList" + }, + "errors": { + "$ref": "#/definitions/ErrorList" + } + }, + "description": "The response schema for the getOrders operation." + }, + "GetOrderResponse": { + "type": "object", + "properties": { + "payload": { + "description": "The payload for the getOrder operation.", + "$ref": "#/definitions/Order" + }, + "errors": { + "$ref": "#/definitions/ErrorList" + } + }, + "description": "The response schema for the getOrder operation." + }, + "OrderList": { + "type": "object", + "properties": { + "pagination": { + "$ref": "#/definitions/Pagination" + }, + "orders": { + "type": "array", + "items": { + "$ref": "#/definitions/Order" + } + } + } + }, + "Pagination": { + "type": "object", + "properties": { + "nextToken": { + "type": "string", + "description": "A generated string used to pass information to your next request. If NextToken is returned, pass the value of NextToken to the next request. If NextToken is not returned, there are no more order items to return." + } + } + }, + "Order": { + "type": "object", + "required": [ + "purchaseOrderNumber" + ], + "properties": { + "purchaseOrderNumber": { + "type": "string", + "description": "The purchase order number for this order. Formatting Notes: alpha-numeric code." + }, + "orderDetails": { + "description": "Purchase order details.", + "$ref": "#/definitions/OrderDetails" + } + } + }, + "OrderDetails": { + "type": "object", + "required": [ + "billToParty", + "customerOrderNumber", + "items", + "orderDate", + "sellingParty", + "shipFromParty", + "shipToParty", + "shipmentDetails" ], "properties": { + "customerOrderNumber": { + "type": "string", + "description": "The customer order number." + }, + "orderDate": { + "type": "string", + "format": "date-time", + "description": "The date the order was placed. This field is expected to be in ISO-8601 date/time format, for example:2018-07-16T23:00:00Z/ 2018-07-16T23:00:00-05:00 /2018-07-16T23:00:00-08:00. If no time zone is specified, UTC should be assumed." + }, + "orderStatus": { + "type": "string", + "description": "Current status of the order.", + "enum": [ + "NEW", + "SHIPPED", + "ACCEPTED", + "CANCELLED" + ], + "x-docgen-enum-table-extension": [ + { + "value": "NEW", + "description": "Status for newly created orders." + }, + { + "value": "SHIPPED", + "description": "Status for orders that are already shipped." + }, + { + "value": "ACCEPTED", + "description": "Status for orders accepted by vendors." + }, + { + "value": "CANCELLED", + "description": "Status for cancelled orders." + } + ] + }, + "shipmentDetails": { + "$ref": "#/definitions/ShipmentDetails" + }, + "taxTotal": { + "type": "object", + "properties": { + "taxLineItem": { + "description": "Tax details.", + "$ref": "#/definitions/TaxLineItem" + } + } + }, "sellingParty": { - "description": "ID of the selling party or vendor.", + "description": "PartyID of vendor code.", "$ref": "#/definitions/PartyIdentification" }, - "isFullUpdate": { - "type": "boolean", - "description": "When true, this request contains a full feed. Otherwise, this request contains a partial feed. When sending a full feed, you must send information about all items in the warehouse. Any items not in the full feed are updated as not available. When sending a partial feed, only include the items that need an update to inventory. The status of other items will remain unchanged." + "shipFromParty": { + "description": "PartyID of vendor's warehouse.", + "$ref": "#/definitions/PartyIdentification" + }, + "shipToParty": { + "description": "Name/Address and tax details of the ship to party.", + "$ref": "#/definitions/Address" + }, + "billToParty": { + "description": "Name/Address and tax details of the bill to party.", + "$ref": "#/definitions/PartyIdentification" }, "items": { "type": "array", - "description": "A list of inventory items with updated details, including quantity available.", + "description": "A list of items in this purchase order.", "items": { - "$ref": "#/definitions/ItemDetails" + "$ref": "#/definitions/OrderItem" } } + }, + "description": "Details of an order." + }, + "PartyIdentification": { + "type": "object", + "required": [ + "partyId" + ], + "properties": { + "partyId": { + "type": "string", + "description": "Assigned identification for the party. For example, warehouse code or vendor code. Please refer to specific party for more details." + }, + "address": { + "description": "Address details of the party.", + "$ref": "#/definitions/Address" + }, + "taxInfo": { + "description": "Tax registration details of the entity.", + "$ref": "#/definitions/TaxRegistrationDetails" + } } }, - "ItemDetails": { + "TaxRegistrationDetails": { "type": "object", "required": [ - "availableQuantity" + "taxRegistrationNumber" ], "properties": { - "buyerProductIdentifier": { + "taxRegistrationType": { "type": "string", - "description": "The buyer selected product identification of the item. Either buyerProductIdentifier or vendorProductIdentifier should be submitted." + "description": "Tax registration type for the entity.", + "enum": [ + "VAT", + "GST" + ], + "x-docgen-enum-table-extension": [ + { + "value": "VAT", + "description": "Value-added tax." + }, + { + "value": "GST", + "description": "Goods and Services tax." + } + ] }, - "vendorProductIdentifier": { + "taxRegistrationNumber": { "type": "string", - "description": "The vendor selected product identification of the item. Either buyerProductIdentifier or vendorProductIdentifier should be submitted." + "description": "Tax registration number for the party. For example, VAT ID." }, - "availableQuantity": { - "description": "Total item quantity available in the warehouse.", - "$ref": "#/definitions/ItemQuantity" + "taxRegistrationAddress": { + "description": "Address associated with the tax registration number.", + "$ref": "#/definitions/Address" }, - "isObsolete": { - "type": "boolean", - "description": "When true, the item is permanently unavailable." + "taxRegistrationMessages": { + "type": "string", + "description": "Tax registration message that can be used for additional tax related details." } }, - "description": "Updated inventory details for an item." + "description": "Tax registration details of the entity." }, - "PartyIdentification": { + "Address": { "type": "object", "required": [ - "partyId" + "addressLine1", + "countryCode", + "name", + "stateOrRegion" ], "properties": { - "partyId": { + "name": { + "type": "string", + "description": "The name of the person, business or institution at that address. For Amazon label only vendors, this field will have the value `xxxxx` within the object `shipToParty`." + }, + "attention": { + "type": "string", + "description": "The attention name of the person at that address. For Amazon label only vendors, this field will have the value `xxxxx` within the object `shipToParty`." + }, + "addressLine1": { + "type": "string", + "description": "First line of the address. For Amazon label only vendors, this field will have the value `xxxxx` within the object `shipToParty`." + }, + "addressLine2": { + "type": "string", + "description": "Additional address information, if required. For Amazon label only vendors, this field will have the value `xxxxx` within the object `shipToParty`." + }, + "addressLine3": { + "type": "string", + "description": "Additional address information, if required. For Amazon label only vendors, this field will have the value `xxxxx` within the object `shipToParty`." + }, + "city": { + "type": "string", + "description": "The city where the person, business or institution is located. For Amazon label only vendors, this field will have the value `xxxxx` within the object `shipToParty`." + }, + "county": { + "type": "string", + "description": "The county where person, business or institution is located. For Amazon label only vendors, this field will have the value `xxxxx` within the object `shipToParty`." + }, + "district": { + "type": "string", + "description": "The district where person, business or institution is located. For Amazon label only vendors, this field will have the value `xxxxx` within the object `shipToParty`." + }, + "stateOrRegion": { + "type": "string", + "description": "The state or region where person, business or institution is located." + }, + "postalCode": { + "type": "string", + "description": "The postal code of that address. It conatins a series of letters or digits or both, sometimes including spaces or punctuation." + }, + "countryCode": { + "type": "string", + "description": "The two digit country code. In ISO 3166-1 alpha-2 format." + }, + "phone": { "type": "string", - "description": "Assigned identification for the party." + "description": "The phone number of the person, business or institution located at that address. For Amazon label only vendors, this field will have the value `xxxxx` within the object `shipToParty`." } - } + }, + "description": "Address of the party." }, - "ItemQuantity": { + "OrderItem": { "type": "object", "required": [ - "unitOfMeasure" + "itemSequenceNumber", + "netPrice", + "orderedQuantity" ], "properties": { - "amount": { - "type": "integer", - "description": "Quantity of units available for a specific item." + "itemSequenceNumber": { + "type": "string", + "description": "Numbering of the item on the purchase order. The first item will be 1, the second 2, and so on." }, - "unitOfMeasure": { + "buyerProductIdentifier": { + "type": "string", + "description": "Buyer's standard identification number (ASIN) of an item." + }, + "vendorProductIdentifier": { + "type": "string", + "description": "The vendor selected product identification of the item." + }, + "title": { + "type": "string", + "description": "Title for the item." + }, + "orderedQuantity": { + "description": "Item quantity ordered.", + "$ref": "#/definitions/ItemQuantity" + }, + "scheduledDeliveryShipment": { + "description": "Details for the scheduled delivery shipment.", + "$ref": "#/definitions/ScheduledDeliveryShipment" + }, + "giftDetails": { + "description": "Gift message and wrapId details.", + "$ref": "#/definitions/GiftDetails" + }, + "netPrice": { + "description": "Net price (before tax) to vendor with currency details.", + "$ref": "#/definitions/Money" + }, + "taxDetails": { + "type": "object", + "description": "Total tax details for the line item.", + "properties": { + "taxLineItem": { + "description": "Tax details.", + "$ref": "#/definitions/TaxLineItem" + } + } + }, + "totalPrice": { + "description": "The price to Amazon each (cost).", + "$ref": "#/definitions/Money" + } + } + }, + "Money": { + "type": "object", + "properties": { + "currencyCode": { "type": "string", - "description": "Unit of measure for the available quantity." + "description": "Three digit currency code in ISO 4217 format. String of length 3." + }, + "amount": { + "$ref": "#/definitions/Decimal" } }, - "description": "Details of item quantity." + "description": "An amount of money, including units in the form of currency." + }, + "Decimal": { + "type": "string", + "description": "A decimal number with no loss of precision. Useful when precision loss is unacceptable, as with currencies. Follows RFC7159 for number representation." }, - "SubmitInventoryUpdateResponse": { + "SubmitAcknowledgementResponse": { "type": "object", "properties": { "payload": { - "description": "The response payload for the submitInventoryUpdate operation.", - "$ref": "#/definitions/TransactionReference" + "description": "The payload for the submitAcknowledgement operation.", + "$ref": "#/definitions/TransactionId" }, "errors": { "$ref": "#/definitions/ErrorList" } }, - "description": "The response schema for the submitInventoryUpdate operation." + "description": "The response schema for the submitAcknowledgement operation." }, - "TransactionReference": { + "TransactionId": { "type": "object", "properties": { "transactionId": { "type": "string", - "description": "GUID to identify this transaction. This value can be used with the Transaction Status API to return the status of this transaction." + "description": "GUID assigned by Amazon to identify this transaction. This value can be used with the Transaction Status API to return the status of this transaction." } } }, @@ -401,6 +2480,195 @@ "$ref": "#/definitions/Error" } }, + "SubmitAcknowledgementRequest": { + "type": "object", + "properties": { + "orderAcknowledgements": { + "type": "array", + "description": "A list of one or more purchase orders.", + "items": { + "$ref": "#/definitions/OrderAcknowledgementItem" + } + } + }, + "description": "The request schema for the submitAcknowledgement operation." + }, + "OrderAcknowledgementItem": { + "type": "object", + "required": [ + "acknowledgementDate", + "acknowledgementStatus", + "itemAcknowledgements", + "purchaseOrderNumber", + "sellingParty", + "shipFromParty", + "vendorOrderNumber" + ], + "properties": { + "purchaseOrderNumber": { + "type": "string", + "description": "The purchase order number for this order. Formatting Notes: alpha-numeric code." + }, + "vendorOrderNumber": { + "type": "string", + "description": "The vendor's order number for this order." + }, + "acknowledgementDate": { + "type": "string", + "format": "date-time", + "description": "The date and time when the order is acknowledged, in ISO-8601 date/time format. For example: 2018-07-16T23:00:00Z / 2018-07-16T23:00:00-05:00 / 2018-07-16T23:00:00-08:00." + }, + "acknowledgementStatus": { + "description": "Status of acknowledgement.", + "$ref": "#/definitions/AcknowledgementStatus" + }, + "sellingParty": { + "description": "PartyID as vendor code.", + "$ref": "#/definitions/PartyIdentification" + }, + "shipFromParty": { + "description": "PartyID as the vendor's warehouseId.", + "$ref": "#/definitions/PartyIdentification" + }, + "itemAcknowledgements": { + "type": "array", + "description": "Item details including acknowledged quantity.", + "items": { + "$ref": "#/definitions/OrderItemAcknowledgement" + } + } + }, + "description": "Details of an individual order being acknowledged." + }, + "OrderItemAcknowledgement": { + "type": "object", + "required": [ + "acknowledgedQuantity", + "itemSequenceNumber" + ], + "properties": { + "itemSequenceNumber": { + "type": "string", + "description": "Line item sequence number for the item." + }, + "buyerProductIdentifier": { + "type": "string", + "description": "Buyer's standard identification number (ASIN) of an item." + }, + "vendorProductIdentifier": { + "type": "string", + "description": "The vendor selected product identification of the item. Should be the same as was provided in the purchase order." + }, + "acknowledgedQuantity": { + "description": "Details of quantity acknowledged with the above acknowledgement code.", + "$ref": "#/definitions/ItemQuantity" + } + } + }, + "ItemQuantity": { + "type": "object", + "properties": { + "amount": { + "type": "integer", + "description": "Acknowledged quantity. This value should not be zero." + }, + "unitOfMeasure": { + "type": "string", + "description": "Unit of measure for the acknowledged quantity.", + "enum": [ + "Each" + ], + "x-docgen-enum-table-extension": [ + { + "value": "Each", + "description": "Unit of measure to represent individual piece." + } + ] + } + }, + "description": "Details of quantity ordered." + }, + "TaxLineItem": { + "type": "array", + "description": "A list of tax line items.", + "items": { + "$ref": "#/definitions/TaxDetails" + } + }, + "TaxDetails": { + "type": "object", + "required": [ + "taxAmount" + ], + "properties": { + "taxRate": { + "$ref": "#/definitions/Decimal" + }, + "taxAmount": { + "$ref": "#/definitions/Money" + }, + "taxableAmount": { + "$ref": "#/definitions/Money" + }, + "type": { + "type": "string", + "description": "Tax type.", + "enum": [ + "CONSUMPTION", + "GST", + "MwSt.", + "PST", + "TOTAL", + "TVA", + "VAT" + ], + "x-docgen-enum-table-extension": [ + { + "value": "CONSUMPTION", + "description": "Tax levied on consumption spending on goods and services." + }, + { + "value": "GST", + "description": "Tax levied on most goods and services sold for domestic consumption." + }, + { + "value": "MwSt.", + "description": "Mehrwertsteuer, MwSt, is German for value-added tax." + }, + { + "value": "PST", + "description": "A provincial sales tax (PST) is imposed on consumers of goods and particular services in many Canadian provinces." + }, + { + "value": "TOTAL", + "description": "Combined total of all the applicable taxes." + }, + { + "value": "TVA", + "description": "Taxe sur la Valeur Ajoutée (TVA) is French for value-added tax." + }, + { + "value": "VAT", + "description": "Value-added tax." + } + ] + } + } + }, + "AcknowledgementStatus": { + "type": "object", + "properties": { + "code": { + "type": "string", + "description": "Acknowledgement code is a unique two digit value which indicates the status of the acknowledgement. For a list of acknowledgement codes that Amazon supports, see the Vendor Direct Fulfillment APIs Use Case Guide." + }, + "description": { + "type": "string", + "description": "Reason for the acknowledgement code." + } + }, + "description": "Status of acknowledgement." + }, "Error": { "type": "object", "required": [ @@ -422,6 +2690,99 @@ } }, "description": "Error response returned when the request is unsuccessful." + }, + "ShipmentDetails": { + "type": "object", + "required": [ + "isPriorityShipment", + "isPslipRequired", + "messageToCustomer", + "shipMethod", + "shipmentDates" + ], + "properties": { + "isPriorityShipment": { + "type": "boolean", + "description": "When true, this is a priority shipment." + }, + "isScheduledDeliveryShipment": { + "type": "boolean", + "description": "When true, this order is part of a scheduled delivery program." + }, + "isPslipRequired": { + "type": "boolean", + "description": "When true, a packing slip is required to be sent to the customer." + }, + "isGift": { + "type": "boolean", + "description": "When true, the order contain a gift. Include the gift message and gift wrap information." + }, + "shipMethod": { + "type": "string", + "description": "Ship method to be used for shipping the order. Amazon defines ship method codes indicating the shipping carrier and shipment service level. To see the full list of ship methods in use, including both the code and the friendly name, search the 'Help' section on Vendor Central for 'ship methods'." + }, + "shipmentDates": { + "$ref": "#/definitions/ShipmentDates" + }, + "messageToCustomer": { + "type": "string", + "description": "Message to customer for order status." + } + }, + "description": "Shipment details required for the shipment." + }, + "ShipmentDates": { + "type": "object", + "required": [ + "requiredShipDate" + ], + "properties": { + "requiredShipDate": { + "type": "string", + "format": "date-time", + "description": "Time by which the vendor is required to ship the order." + }, + "promisedDeliveryDate": { + "type": "string", + "format": "date-time", + "description": "Delivery date promised to the Amazon customer." + } + }, + "description": "Shipment dates." + }, + "ScheduledDeliveryShipment": { + "type": "object", + "properties": { + "scheduledDeliveryServiceType": { + "type": "string", + "description": "Scheduled delivery service type." + }, + "earliestNominatedDeliveryDate": { + "type": "string", + "format": "date-time", + "description": "Earliest nominated delivery date for the scheduled delivery." + }, + "latestNominatedDeliveryDate": { + "type": "string", + "format": "date-time", + "description": "Latest nominated delivery date for the scheduled delivery." + } + }, + "description": "Dates for the scheduled delivery shipments." + }, + "GiftDetails": { + "type": "object", + "properties": { + "giftMessage": { + "type": "string", + "description": "Gift message to be printed in shipment." + }, + "giftWrapId": { + "type": "string", + "description": "Gift wrap identifier for the gift wrapping, if any." + } + }, + "description": "Gift details for the item." } } -} +} \ No newline at end of file From b1b8468f773ff2c9e0c3ff367da2e76394551d77 Mon Sep 17 00:00:00 2001 From: Jack Evoniuk Date: Tue, 5 Mar 2024 14:54:08 -0800 Subject: [PATCH 299/340] Update analytics_salesAndTraffic_2023_11_15 --- ...alytics_salesAndTraffic_2023_11_15.graphql | 413 +++++++----------- 1 file changed, 147 insertions(+), 266 deletions(-) diff --git a/schemas/data-kiosk/analytics_salesAndTraffic_2023_11_15.graphql b/schemas/data-kiosk/analytics_salesAndTraffic_2023_11_15.graphql index 9ecb45e55..4347e7a4b 100644 --- a/schemas/data-kiosk/analytics_salesAndTraffic_2023_11_15.graphql +++ b/schemas/data-kiosk/analytics_salesAndTraffic_2023_11_15.graphql @@ -1,3 +1,7 @@ +schema { + query: Query +} + """ This directive specifies the retention duration of a query containing a particular field. When a query contains multiple fields with different @@ -5,44 +9,36 @@ retentions, the shortest (minimum) retention is applied to the query. The retention of a query's resulting documents always matches the retention of the query. """ directive @resultRetention( - """An ISO 8601 duration.""" + "An ISO 8601 duration." duration: String! ) on FIELD_DEFINITION -"""Monetary amount with the corresponding currency code.""" +"Monetary amount with the corresponding currency code." type Amount { - """The amount.""" + "The amount." amount: Float! - - """Currency code of the amount in ISO 4217 format.""" + "Currency code of the amount in ISO 4217 format." currencyCode: String! } -""" -A root type for Analytics Sales and Traffic queries version 2023_11_15. -""" +"A root type for Analytics Sales and Traffic queries version 2023_11_15." type Analytics_SalesAndTraffic_2023_11_15 { - """ - A query to retrieve sales and traffic data for the seller's account aggregated by ASIN. - """ + "A query to retrieve sales and traffic data for the seller's account aggregated by ASIN." salesAndTrafficByAsin( - """Determines how the sales and traffic data should be aggregated.""" - aggregateBy: AsinGranularity! - + "Determines how the sales and traffic data should be aggregated." + aggregateBy: AsinGranularity!, """ The end date of the sales and traffic data to retrieve. If a date granularity is specified and the provided end date occurs mid-week or mid-month, the preceding Saturday for WEEK date granularity or the last day of the previous month for MONTH date granularity will be used instead. """ - endDate: Date! - + endDate: Date!, """ The marketplace identifiers to retrieve sales and traffic data for. If omitted, sales and traffic data for all applicable marketplaces will be retrieved. """ - marketplaceIds: [String] - + marketplaceIds: [String], """ The start date of the sales and traffic data to retrieve. The start date must be no more than two years ago. If a date granularity is specified and @@ -52,28 +48,22 @@ type Analytics_SalesAndTraffic_2023_11_15 { """ startDate: Date! ): [SalesAndTrafficByAsin] - - """ - A query to retrieve sales and traffic data for the seller's account aggregated by date. - """ + "A query to retrieve sales and traffic data for the seller's account aggregated by date." salesAndTrafficByDate( - """Determines how the sales and traffic data should be aggregated.""" - aggregateBy: DateGranularity! - + "Determines how the sales and traffic data should be aggregated." + aggregateBy: DateGranularity!, """ The end date of the sales and traffic data to retrieve. If the provided end date occurs mid-week or mid-month, the preceding Saturday for WEEK date granularity or the last day of the previous month for MONTH date granularity will be used instead. """ - endDate: Date! - + endDate: Date!, """ The marketplace identifiers to retrieve sales and traffic data for. If omitted, sales and traffic data for all applicable marketplaces will be retrieved. """ - marketplaceIds: [String] - + marketplaceIds: [String], """ The start date of the sales and traffic data to retrieve. The start date must be no more than two years ago. If the provided start date occurs @@ -84,90 +74,76 @@ type Analytics_SalesAndTraffic_2023_11_15 { ): [SalesAndTrafficByDate] } -"""The sales data for the seller's account aggregated by ASIN.""" +"The sales data for the seller's account aggregated by ASIN." type ByAsinSales { """ The amount of ordered product sales, calculated by multiplying the price of products and the number of units sold for the selected time period. """ - orderedProductSales: Amount! - + orderedProductSales: Amount! @resultRetention(duration : "P30D") """ The amount of ordered product sales to Amazon Business customers, calculated by multiplying the price of products and the number of units sold for the selected time period. Note: This field is only populated when the seller is a B2B seller. """ - orderedProductSalesB2B: Amount - - """The number of items that were ordered for the selected time period.""" - totalOrderItems: Long! - + orderedProductSalesB2B: Amount @resultRetention(duration : "P30D") + "The number of items that were ordered for the selected time period." + totalOrderItems: Long! @resultRetention(duration : "P30D") """ The number of items that were ordered by Amazon Business customers for the selected time period. Note: This field is only populated when the seller is a B2B seller. """ - totalOrderItemsB2B: Long - - """The number of units ordered.""" - unitsOrdered: Long! - + totalOrderItemsB2B: Long @resultRetention(duration : "P30D") + "The number of units ordered." + unitsOrdered: Long! @resultRetention(duration : "P30D") """ The number of units ordered by Amazon Business customers. Note: This field is only populated when the seller is a B2B seller. """ - unitsOrderedB2B: Long + unitsOrderedB2B: Long @resultRetention(duration : "P30D") } -"""The traffic data for the seller's account aggregated by ASIN.""" +"The traffic data for the seller's account aggregated by ASIN." type ByAsinTraffic { - """ - Browser page views are the number of times a user visited your Amazon.com browser pages for the selected time period. - """ - browserPageViews: Long! - + "Browser page views are the number of times a user visited your Amazon.com browser pages for the selected time period." + browserPageViews: Long! @resultRetention(duration : "P30D") """ Browser B2B page views are the number of times an Amazon Business customer visited your Amazon.com browser pages for the selected time period. Note: This field is only populated when the seller is a B2B seller. """ - browserPageViewsB2B: Long - + browserPageViewsB2B: Long @resultRetention(duration : "P30D") """ The percentage of browser page views that a particular SKU/ASIN receives relative to the total number of browser page views for all products. """ - browserPageViewsPercentage: Float! - + browserPageViewsPercentage: Float! @resultRetention(duration : "P30D") """ The percentage of browser views by Amazon Business customers that a particular SKU/ASIN receives relative to the total number of mobile page views by Amazon Business customers for all products. Note: This field is only populated when the seller is a B2B seller. """ - browserPageViewsPercentageB2B: Float - + browserPageViewsPercentageB2B: Float @resultRetention(duration : "P30D") """ The percentage of browser sessions that contain at least one page view for a particular SKU/ASIN relative to the total number of browser sessions for all products. """ - browserSessionPercentage: Float! - + browserSessionPercentage: Float! @resultRetention(duration : "P30D") """ The percentage of browser sessions that contain at least one page view by an Amazon Business customer for a particular SKU/ASIN relative to the total number of browser sessions by Amazon Business customers for all products. Note: This field is only populated when the seller is a B2B seller. """ - browserSessionPercentageB2B: Float - + browserSessionPercentageB2B: Float @resultRetention(duration : "P30D") """ Browser sessions are visits to your Amazon.com browser pages by a user. All browser activity within a 24-hour period is considered a browser session. For example, if a user visits your pages using a browser multiple times within a 24 hour period it is counted as a single browser session. """ - browserSessions: Long! - + browserSessions: Long! @resultRetention(duration : "P30D") """ Browser B2B sessions are visits to your Amazon.com browser pages by an Amazon Business customer. All activity within a 24-hour period is considered a @@ -175,70 +151,60 @@ type ByAsinTraffic { using browser multiple times within a 24 hour period it is counted as a single session. Note: This field is only populated when the seller is a B2B seller. """ - browserSessionsB2B: Long - + browserSessionsB2B: Long @resultRetention(duration : "P30D") """ The percentage of page views where the buy box (the add to shopping cart link) appeared on the page for customers to add your product to their cart. """ - buyBoxPercentage: Float! - + buyBoxPercentage: Float! @resultRetention(duration : "P30D") """ The percentage of page views by Amazon Business customers where the buy box (the add to shopping cart link) appeared on the page for customers to add your product to their cart. Note: This field is only populated when the seller is a B2B seller. """ - buyBoxPercentageB2B: Float - + buyBoxPercentageB2B: Float @resultRetention(duration : "P30D") """ Mobile app page views are the number of times a user visited your Amazon.com mobile app pages for the selected time period. """ - mobileAppPageViews: Long! - + mobileAppPageViews: Long! @resultRetention(duration : "P30D") """ Mobile app B2B page views are the number of times an Amazon Business customer visited your Amazon.com mobile app pages for the selected time period. Note: This field is only populated when the seller is a B2B seller. """ - mobileAppPageViewsB2B: Long - + mobileAppPageViewsB2B: Long @resultRetention(duration : "P30D") """ The percentage of mobile app page views that a particular SKU/ASIN receives relative to the total number of mobile app page views for all products. """ - mobileAppPageViewsPercentage: Float! - + mobileAppPageViewsPercentage: Float! @resultRetention(duration : "P30D") """ The percentage of mobile page views by Amazon Business customers that a particular SKU/ASIN receives relative to the total number of mobile page views by Amazon Business customers for all products. Note: This field is only populated when the seller is a B2B seller. """ - mobileAppPageViewsPercentageB2B: Float - + mobileAppPageViewsPercentageB2B: Float @resultRetention(duration : "P30D") """ The percentage of mobile app sessions that contain at least one page view for a particular SKU/ASIN relative to the total number of mobile app sessions for all products. """ - mobileAppSessionPercentage: Float! - + mobileAppSessionPercentage: Float! @resultRetention(duration : "P30D") """ The percentage of mobile app sessions that contain at least one page view by an Amazon Business customer for a particular SKU/ASIN relative to the total number of mobile app sessions by Amazon Business customers for all products. Note: This field is only populated when the seller is a B2B seller. """ - mobileAppSessionPercentageB2B: Float - + mobileAppSessionPercentageB2B: Float @resultRetention(duration : "P30D") """ Mobile app sessions are visits to your Amazon.com mobile app pages by a user. All mobile app activity within a 24-hour period is considered a mobile app session. For example, if a user visits your pages using a mobile app multiple times within a 24 hour period it is counted as a single mobile app session. """ - mobileAppSessions: Long! - + mobileAppSessions: Long! @resultRetention(duration : "P30D") """ Mobile app B2B sessions are visits to your Amazon.com mobile app pages by an Amazon Business customer. All activity within a 24-hour period is considered a @@ -246,57 +212,49 @@ type ByAsinTraffic { pages using mobile app multiple times within a 24 hour period it is counted as a single session. Note: This field is only populated when the seller is a B2B seller. """ - mobileAppSessionsB2B: Long - + mobileAppSessionsB2B: Long @resultRetention(duration : "P30D") """ Page views are the number of times a user visited your Amazon.com browser or mobile app pages for the selected time period. It is calculated as the sum of browserPageViews and mobileAppPageViews. """ - pageViews: Long! - + pageViews: Long! @resultRetention(duration : "P30D") """ B2B page views are the number of times an Amazon Business customer visited your Amazon.com pages using browser or mobile app for the selected time period. Note: This field is only populated when the seller is a B2B seller. """ - pageViewsB2B: Long - + pageViewsB2B: Long @resultRetention(duration : "P30D") """ The percentage of browser and mobile app page views that a particular SKU/ASIN receives relative to the total number of browser and mobile app page views for all products. """ - pageViewsPercentage: Float! - + pageViewsPercentage: Float! @resultRetention(duration : "P30D") """ The percentage of page views by Amazon Business customers that a particular SKU/ASIN receives relative to the total number of page views by Amazon Business customers for all products. Note: This field is only populated when the seller is a B2B seller. """ - pageViewsPercentageB2B: Float - + pageViewsPercentageB2B: Float @resultRetention(duration : "P30D") """ The percentage of sessions that contain at least one page view for a particular SKU/ASIN relative to the total number of sessions for all products. """ - sessionPercentage: Float! - + sessionPercentage: Float! @resultRetention(duration : "P30D") """ The percentage of sessions that contain at least one page view by an Amazon Business customer for a particular SKU/ASIN relative to the total number of sessions by Amazon Business customers for all products. Note: This field is only populated when the seller is a B2B seller. """ - sessionPercentageB2B: Float - + sessionPercentageB2B: Float @resultRetention(duration : "P30D") """ Sessions are visits to your Amazon.com browser or mobile app pages by a user. All browser and mobile app activity within a 24-hour period is considered a session. It is calculated as the sum of browserSessions and mobileAppSessions. """ - sessions: Long! - + sessions: Long! @resultRetention(duration : "P30D") """ B2B sessions are visits to your Amazon.com pages using browser or mobile app by an Amazon Business customer. All activity within a 24-hour period is @@ -305,171 +263,138 @@ type ByAsinTraffic { counted as a single session. Note: This field is only populated when the seller is a B2B seller. """ - sessionsB2B: Long - + sessionsB2B: Long @resultRetention(duration : "P30D") """ The percentage conversion metric indicating how many units were purchased relative to the number of people who viewed the products, calculated by dividing unitsOrdered by sessions. """ - unitSessionPercentage: Float! - + unitSessionPercentage: Float! @resultRetention(duration : "P30D") """ The percentage conversion metric indicating how many units were purchased by Amazon Business customers relative to the number of Amazon Business customers who viewed the products, calculated by dividing unitsOrderedB2B by sessions. Note: This field is only populated when the seller is a B2B seller. """ - unitSessionPercentageB2B: Float + unitSessionPercentageB2B: Float @resultRetention(duration : "P30D") } -"""The sales data for the seller's account aggregated by date.""" +"The sales data for the seller's account aggregated by date." type ByDateSales { """ The average ordered product sales, calculated by dividing orderedProductSales by totalOrderItems for the selected time period. """ - averageSalesPerOrderItem: Amount! - + averageSalesPerOrderItem: Amount! @resultRetention(duration : "P30D") """ The average ordered product sales to Amazon Business customers, calculated by dividing orderedProductSalesB2B by totalOrderItemsB2B for the selected time period. Note: This field is only populated when the seller is a B2B seller. """ - averageSalesPerOrderItemB2B: Amount - + averageSalesPerOrderItemB2B: Amount @resultRetention(duration : "P30D") """ The average price of the units sold in the selected time period, calculated by dividing the orderedProductSales by unitsOrdered for the selected time period. """ - averageSellingPrice: Amount! - + averageSellingPrice: Amount! @resultRetention(duration : "P30D") """ The average price of the units sold to Amazon Business customers, calculated by dividing the orderedProductSalesB2B by unitsOrderedB2B for the selected time period. Note: This field is only populated when the seller is a B2B seller. """ - averageSellingPriceB2B: Amount - - """ - The average number of units in each order item for the selected time period. - """ - averageUnitsPerOrderItem: Float! - + averageSellingPriceB2B: Amount @resultRetention(duration : "P30D") + "The average number of units in each order item for the selected time period." + averageUnitsPerOrderItem: Float! @resultRetention(duration : "P30D") """ The average number of units in each order item ordered by Amazon Business customers for the selected time period. Note: This field is only populated when the seller is a B2B seller. """ - averageUnitsPerOrderItemB2B: Float - - """Monetary amount of filed A-to-z guarantee claims.""" - claimsAmount: Amount! - - """The number of A-to-z guarantee claims granted.""" - claimsGranted: Long! - + averageUnitsPerOrderItemB2B: Float @resultRetention(duration : "P30D") + "Monetary amount of filed A-to-z guarantee claims." + claimsAmount: Amount! @resultRetention(duration : "P30D") + "The number of A-to-z guarantee claims granted." + claimsGranted: Long! @resultRetention(duration : "P30D") """ The amount of ordered product sales, calculated by multiplying the price of products and the number of units sold for the selected time period. """ - orderedProductSales: Amount! - + orderedProductSales: Amount! @resultRetention(duration : "P30D") """ The amount of ordered product sales to Amazon Business customers, calculated by multiplying the price of products and the number of units sold for the selected time period. """ - orderedProductSalesB2B: Amount - - """The number of orders shipped in the selected time period.""" - ordersShipped: Long! - + orderedProductSalesB2B: Amount @resultRetention(duration : "P30D") + "The number of orders shipped in the selected time period." + ordersShipped: Long! @resultRetention(duration : "P30D") """ The percentage conversion metric indicating how many orders were refunded by the seller, calculated by dividing unitsOrdered by unitsRefunded in the selected time period. """ - refundRate: Float! - - """ - The amount of ordered product sales shipped for the selected time period. - """ - shippedProductSales: Amount! - + refundRate: Float! @resultRetention(duration : "P30D") + "The amount of ordered product sales shipped for the selected time period." + shippedProductSales: Amount! @resultRetention(duration : "P30D") """ The number of items that were ordered for the selected time period. Example: For an order containing 2 copies of book A and 3 copies of book B, the number of orders is 1, the number of order items is 2 (book A and book B), and the number of units is 5 (2 + 3). """ - totalOrderItems: Long! - + totalOrderItems: Long! @resultRetention(duration : "P30D") """ The number of items that were ordered by Amazon Business customers for the selected time period. Example: For an order containing 2 copies of book A and 3 copies of book B, the number of orders is 1, the number of order items is 2 (book A and book B), and the number of units is 5 (2 + 3). """ - totalOrderItemsB2B: Long - + totalOrderItemsB2B: Long @resultRetention(duration : "P30D") """ The number of units ordered for the selected time period. Example: For an order containing 2 copies of book A and 3 copies of book B, the number of orders is 1, the number of order items is 2 (book A and book B), and the number of units is 5 (2 + 3). """ - unitsOrdered: Long! - + unitsOrdered: Long! @resultRetention(duration : "P30D") """ The number of units ordered by Amazon Business customers for the selected time period. Example: For an order containing 2 copies of book A and 3 copies of book B, the number of orders is 1, the number of order items is 2 (book A and book B), and the number of units is 5 (2 + 3). """ - unitsOrderedB2B: Long - - """The number of units refunded in the selected time period.""" - unitsRefunded: Long! - - """The number of units shipped in the selected time period.""" - unitsShipped: Long! + unitsOrderedB2B: Long @resultRetention(duration : "P30D") + "The number of units refunded in the selected time period." + unitsRefunded: Long! @resultRetention(duration : "P30D") + "The number of units shipped in the selected time period." + unitsShipped: Long! @resultRetention(duration : "P30D") } -"""The traffic data for the seller's account aggregated by date.""" +"The traffic data for the seller's account aggregated by date." type ByDateTraffic { """ The average number of offers listed for sale in the selected time period. It is calculated from the total number of offers and the total number of days in the selected time period. """ - averageOfferCount: Long! - - """ - The average number of parent items listed for sale in the selected time period. - """ - averageParentItems: Long! - - """ - Browser page views are the number of times a user visited your Amazon.com browser pages for the selected time period. - """ - browserPageViews: Long! - + averageOfferCount: Long! @resultRetention(duration : "P30D") + "The average number of parent items listed for sale in the selected time period." + averageParentItems: Long! @resultRetention(duration : "P30D") + "Browser page views are the number of times a user visited your Amazon.com browser pages for the selected time period." + browserPageViews: Long! @resultRetention(duration : "P30D") """ Browser B2B page views are the number of times an Amazon Business customer visited your Amazon.com browser pages for the selected time period. Note: This field is only populated when the seller is a B2B seller. """ - browserPageViewsB2B: Long - + browserPageViewsB2B: Long @resultRetention(duration : "P30D") """ Browser sessions are visits to your Amazon.com browser pages by a user. All browser activity within a 24-hour period is considered a browser session. For example, if a user visits your pages using a browser multiple times within a 24 hour period it is counted as a single browser session. """ - browserSessions: Long! - + browserSessions: Long! @resultRetention(duration : "P30D") """ Browser B2B sessions are visits to your Amazon.com browser pages by an Amazon Business customer. All activity within a 24-hour period is considered a @@ -477,47 +402,38 @@ type ByDateTraffic { using browser multiple times within a 24 hour period it is counted as a single session. Note: This field is only populated when the seller is a B2B seller. """ - browserSessionsB2B: Long - + browserSessionsB2B: Long @resultRetention(duration : "P30D") """ The percentage of page views where the buy box (the add to shopping cart link) appeared on the page for customers to add your product to their cart. """ - buyBoxPercentage: Float! - + buyBoxPercentage: Float! @resultRetention(duration : "P30D") """ The percentage of page views by Amazon Business customers where the buy box (the add to shopping cart link) appeared on the page for customers to add your product to their cart. Note: This field is only populated when the seller is a B2B seller. """ - buyBoxPercentageB2B: Float - - """ - The number of times customers left feedback in the selected time period. - """ - feedbackReceived: Long! - + buyBoxPercentageB2B: Float @resultRetention(duration : "P30D") + "The number of times customers left feedback in the selected time period." + feedbackReceived: Long! @resultRetention(duration : "P30D") """ Mobile app page views are the number of times a user visited your Amazon.com mobile app pages for the selected time period. """ - mobileAppPageViews: Long! - + mobileAppPageViews: Long! @resultRetention(duration : "P30D") """ Mobile app B2B page views are the number of times an Amazon Business customer visited your Amazon.com mobile app pages for the selected time period. Note: This field is only populated when the seller is a B2B seller. """ - mobileAppPageViewsB2B: Long - + mobileAppPageViewsB2B: Long @resultRetention(duration : "P30D") """ Mobile app sessions are visits to your Amazon.com mobile app pages by a user. All mobile app activity within a 24-hour period is considered a mobile app session. For example, if a user visits your pages using a mobile app multiple times within a 24 hour period it is counted as a single mobile app session. """ - mobileAppSessions: Long! - + mobileAppSessions: Long! @resultRetention(duration : "P30D") """ Mobile app B2B sessions are visits to your Amazon.com mobile app pages by an Amazon Business customer. All activity within a 24-hour period is considered a @@ -525,54 +441,44 @@ type ByDateTraffic { pages using mobile app multiple times within a 24 hour period it is counted as a single session. Note: This field is only populated when the seller is a B2B seller. """ - mobileAppSessionsB2B: Long - - """ - The number of times customers left negative feedback in the selected time period. - """ - negativeFeedbackReceived: Long! - + mobileAppSessionsB2B: Long @resultRetention(duration : "P30D") + "The number of times customers left negative feedback in the selected time period." + negativeFeedbackReceived: Long! @resultRetention(duration : "P30D") """ The percentage conversion metric indicating how many order items were generated relative to the number of people who viewed the products. """ - orderItemSessionPercentage: Float! - + orderItemSessionPercentage: Float! @resultRetention(duration : "P30D") """ The percentage conversion metric indicating how many order items were generated by Amazon Business customers relative to the number of Amazon Business customers who viewed the products. Note: This field is only populated when the seller is a B2B seller. """ - orderItemSessionPercentageB2B: Float - + orderItemSessionPercentageB2B: Float @resultRetention(duration : "P30D") """ Page views are the number of times a user visited your Amazon.com browser or mobile app pages for the selected time period. It is calculated as the sum of browserPageViews and mobileAppPageViews. """ - pageViews: Long! - + pageViews: Long! @resultRetention(duration : "P30D") """ B2B page views are the number of times an Amazon Business customer visited your Amazon.com pages using browser or mobile app for the selected time period. Note: This field is only populated when the seller is a B2B seller. """ - pageViewsB2B: Long - + pageViewsB2B: Long @resultRetention(duration : "P30D") """ The negative feedback rate is the number of orders that have received negative feedback divided by the number of orders in the selected time period. """ - receivedNegativeFeedbackRate: Float! - + receivedNegativeFeedbackRate: Float! @resultRetention(duration : "P30D") """ Sessions are visits to your Amazon.com browser or mobile app pages by a user. All browser and mobile app activity within a 24-hour period is considered a session. It is calculated as the sum of browserSessions and mobileAppSessions. """ - sessions: Long! - + sessions: Long! @resultRetention(duration : "P30D") """ B2B sessions are visits to your Amazon.com pages using browser or mobile app by an Amazon Business customer. All activity within a 24-hour period is @@ -581,31 +487,27 @@ type ByDateTraffic { counted as a single session. Note: This field is only populated when the seller is a B2B seller. """ - sessionsB2B: Long - + sessionsB2B: Long @resultRetention(duration : "P30D") """ The percentage conversion metric indicating how many units were purchased relative to the number of people who viewed the products. """ - unitSessionPercentage: Float! - + unitSessionPercentage: Float! @resultRetention(duration : "P30D") """ The percentage conversion metric indicating how many units were purchased by Amazon Business customers relative to number of Amazon Business customers who viewed the products. Note: This field is only populated when the seller is a B2B seller. """ - unitSessionPercentageB2B: Float + unitSessionPercentageB2B: Float @resultRetention(duration : "P30D") } -"""A root type for queries""" +"A root type for queries" type Query { - """Analytics Sales and Traffic queries version 2023_11_15.""" + "Analytics Sales and Traffic queries version 2023_11_15." analytics_salesAndTraffic_2023_11_15: Analytics_SalesAndTraffic_2023_11_15 } -""" -The sales and traffic data for the seller's account aggregated by ASIN. -""" +"The sales and traffic data for the seller's account aggregated by ASIN." type SalesAndTrafficByAsin { """ The Amazon Standard Identification Number of the child product. Child products @@ -613,87 +515,66 @@ type SalesAndTrafficByAsin { non-sellable parent product. Note: This field is only present when ASIN aggregation is CHILD or SKU. """ - childAsin: String - - """The end date of the period of the aggregated data.""" - endDate: Date! - - """The marketplace identifier of the sales and traffic data.""" - marketplaceId: String! - + childAsin: String @resultRetention(duration : "P30D") + "The end date of the period of the aggregated data." + endDate: Date! @resultRetention(duration : "P30D") + "The marketplace identifier of the sales and traffic data." + marketplaceId: String! @resultRetention(duration : "P30D") """ The Amazon Standard Identification Number of the parent product. A parent product appears in our catalog as a non-buyable, generic identifier for a product that has buyable variations (child products). """ - parentAsin: String! - - """ - The sales data for the parentAsin/childAsin/sku within the specified date range. - """ + parentAsin: String! @resultRetention(duration : "P30D") + "The sales data for the parentAsin/childAsin/sku within the specified date range." sales: ByAsinSales! - """ The Stock Keeping Unit of the product. The SKU is a seller specific product identifier. Note: This field is only present when ASIN aggregation is SKU. """ - sku: String - - """The start date of the period of the aggregated data.""" - startDate: Date! - - """ - The traffic data for the parentAsin/childAsin/sku within the specified date range. - """ + sku: String @resultRetention(duration : "P30D") + "The start date of the period of the aggregated data." + startDate: Date! @resultRetention(duration : "P30D") + "The traffic data for the parentAsin/childAsin/sku within the specified date range." traffic: ByAsinTraffic! } -""" -The sales and traffic data for the seller's account aggregated by date. -""" +"The sales and traffic data for the seller's account aggregated by date." type SalesAndTrafficByDate { - """The end date of the sales and traffic data.""" - endDate: Date! - - """The marketplace identifier of the sales and traffic data.""" - marketplaceId: String! - - """The sales data for the seller's account.""" + "The end date of the sales and traffic data." + endDate: Date! @resultRetention(duration : "P30D") + "The marketplace identifier of the sales and traffic data." + marketplaceId: String! @resultRetention(duration : "P30D") + "The sales data for the seller's account." sales: ByDateSales! - - """The start date of the sales and traffic data.""" - startDate: Date! - - """The traffic data for the seller's account.""" + "The start date of the sales and traffic data." + startDate: Date! @resultRetention(duration : "P30D") + "The traffic data for the seller's account." traffic: ByDateTraffic! } -"""The ASIN granularity used in aggregation.""" +"The ASIN granularity used in aggregation." enum AsinGranularity { - """Sales and traffic data is aggregated by child ASIN.""" + "Sales and traffic data is aggregated by child ASIN." CHILD - - """Sales and traffic data is aggregated by parent ASIN.""" + "Sales and traffic data is aggregated by parent ASIN." PARENT - - """Sales and traffic data is aggregated by sku.""" + "Sales and traffic data is aggregated by sku." SKU } -"""The date granularity used in aggregation.""" +"The date granularity used in aggregation." enum DateGranularity { - """Sales and traffic data is aggregated by day.""" + "Sales and traffic data is aggregated by day." DAY - - """Sales and traffic data is aggregated by month.""" + "Sales and traffic data is aggregated by month." MONTH - - """Sales and traffic data is aggregated by week.""" + "Sales and traffic data is aggregated by week." WEEK } -"""Date""" +"Date" scalar Date -"""Long""" -scalar Long \ No newline at end of file +"Long" +scalar Long From 43b7f030aa40bbcf723cbab1980b1a8bcf94b394 Mon Sep 17 00:00:00 2001 From: Jack Evoniuk Date: Wed, 20 Mar 2024 10:30:37 -0700 Subject: [PATCH 300/340] Update the Fulfillment Outbound model --- .../fulfillmentOutbound_2020-07-01.json | 770 ++++++------------ 1 file changed, 228 insertions(+), 542 deletions(-) diff --git a/models/fulfillment-outbound-api-model/fulfillmentOutbound_2020-07-01.json b/models/fulfillment-outbound-api-model/fulfillmentOutbound_2020-07-01.json index 13ea8b4a2..555969314 100644 --- a/models/fulfillment-outbound-api-model/fulfillmentOutbound_2020-07-01.json +++ b/models/fulfillment-outbound-api-model/fulfillmentOutbound_2020-07-01.json @@ -41,8 +41,7 @@ "required": true, "schema": { "$ref": "#/definitions/GetFulfillmentPreviewRequest" - }, - "description": "GetFulfillmentPreviewRequest parameter" + } } ], "responses": { @@ -139,6 +138,10 @@ "$ref": "#/definitions/GetFulfillmentPreviewResponse" }, "headers": { + "x-amzn-RateLimit-Limit": { + "type": "string", + "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." + }, "x-amzn-RequestId": { "type": "string", "description": "Unique request reference identifier." @@ -178,88 +181,10 @@ "schema": { "$ref": "#/definitions/GetFulfillmentPreviewResponse" }, - "headers": { - "x-amzn-RequestId": { - "type": "string", - "description": "Unique request reference identifier." - } - } - }, - "500": { - "description": "An unexpected condition occurred that prevented the server from fulfilling the request.", - "schema": { - "$ref": "#/definitions/GetFulfillmentPreviewResponse" - }, - "headers": { - "x-amzn-RequestId": { - "type": "string", - "description": "Unique request reference identifier." - } - } - }, - "503": { - "description": "Temporary overloading or maintenance of the server.", - "schema": { - "$ref": "#/definitions/GetFulfillmentPreviewResponse" - }, - "headers": { - "x-amzn-RequestId": { - "type": "string", - "description": "Unique request reference identifier." - } - } - } - } - } - }, - "/fba/outbound/2020-07-01/deliveryOffers": { - "x-amzn-api-sandbox": { - "dynamic": {} - }, - "post": { - "tags": [ - "fbaOutbound" - ], - "description": "Returns delivery options that include an estimated delivery date and offer expiration, based on criteria that you specify.\n\n**Usage Plan:**\n\n| Rate (requests per second) | Burst |\n| ---- | ---- |\n| 5 | 30 |\n\nThe `x-amzn-RateLimit-Limit` response header returns the usage plan rate limits that were applied to the requested operation, when available. The table above indicates the default rate and burst values for this operation. Selling partners whose business demands require higher throughput may see higher rate and burst values than those shown here. For more information, see [Usage Plans and Rate Limits in the Selling Partner API](https://developer-docs.amazon.com/sp-api/docs/usage-plans-and-rate-limits-in-the-sp-api).", - "operationId": "deliveryOffers", - "parameters": [ - { - "in": "body", - "name": "body", - "required": true, - "schema": { - "$ref": "#/definitions/GetDeliveryOffersRequest" - }, - "description": "GetDeliveryOffersRequest parameter" - } - ], - "responses": { - "200": { - "description": "Success.", - "schema": { - "$ref": "#/definitions/GetDeliveryOffersResponse" - }, - "examples": { - "payload": { - "deliveryOffers": [{ - "expiresAt": "2023-10-11T18:00:00Z", - "dateRange": { - "earliest": "2023-10-13T10:00:00Z", - "latest": "2023-10-14T16:00:00Z" - }, - "policy": { - "messaging": { - "text": "Get it as soon as Wed, Aug 23", - "locale": "en_US" - } - } - }] - } - }, "headers": { "x-amzn-RateLimit-Limit": { "type": "string", - "description": "Your rate limit (requests per second) for this operation." + "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." }, "x-amzn-RequestId": { "type": "string", @@ -267,15 +192,15 @@ } } }, - "400": { - "description": "Request has missing or invalid parameters and cannot be parsed.", + "500": { + "description": "An unexpected condition occurred that prevented the server from fulfilling the request.", "schema": { - "$ref": "#/definitions/GetDeliveryOffersResponse" + "$ref": "#/definitions/GetFulfillmentPreviewResponse" }, "headers": { "x-amzn-RateLimit-Limit": { "type": "string", - "description": "Your rate limit (requests per second) for this operation." + "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." }, "x-amzn-RequestId": { "type": "string", @@ -283,81 +208,21 @@ } } }, - "401": { - "description": "The request's Authorization header is not formatted correctly or does not contain a valid token.", - "schema": { - "$ref": "#/definitions/GetDeliveryOffersResponse" - }, - "headers": { - "x-amzn-RequestId": { - "type": "string", - "description": "Unique request reference identifier." - } - } - }, - "403": { - "description": "Indicates that access to the resource is forbidden. Possible reasons include Access Denied, Unauthorized, Expired Token, or Invalid Signature.", - "schema": { - "$ref": "#/definitions/GetDeliveryOffersResponse" - }, - "headers": { - "x-amzn-RequestId": { - "type": "string", - "description": "Unique request reference identifier." - } - } - }, - "404": { - "description": "The specified resource does not exist.", + "503": { + "description": "Temporary overloading or maintenance of the server.", "schema": { - "$ref": "#/definitions/GetDeliveryOffersResponse" + "$ref": "#/definitions/GetFulfillmentPreviewResponse" }, "headers": { "x-amzn-RateLimit-Limit": { "type": "string", - "description": "Your rate limit (requests per second) for this operation." + "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." }, "x-amzn-RequestId": { "type": "string", "description": "Unique request reference identifier." } } - }, - "429": { - "description": "The frequency of requests was greater than allowed.", - "schema": { - "$ref": "#/definitions/GetDeliveryOffersResponse" - }, - "headers": { - "x-amzn-RequestId": { - "type": "string", - "description": "Unique request reference identifier." - } - } - }, - "500": { - "description": "An unexpected condition occurred that prevented the server from fulfilling the request.", - "schema": { - "$ref": "#/definitions/GetDeliveryOffersResponse" - }, - "headers": { - "x-amzn-RequestId": { - "type": "string", - "description": "Unique request reference identifier." - } - } - }, - "503": { - "description": "Temporary overloading or maintenance of the server.", - "schema": { - "$ref": "#/definitions/GetDeliveryOffersResponse" - }, - "headers": { - "x-amzn-RequestId": { - "type": "string", - "description": "Unique request reference identifier." - } - } } } } @@ -487,6 +352,10 @@ "$ref": "#/definitions/ListAllFulfillmentOrdersResponse" }, "headers": { + "x-amzn-RateLimit-Limit": { + "type": "string", + "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." + }, "x-amzn-RequestId": { "type": "string", "description": "Unique request reference identifier." @@ -527,6 +396,10 @@ "$ref": "#/definitions/ListAllFulfillmentOrdersResponse" }, "headers": { + "x-amzn-RateLimit-Limit": { + "type": "string", + "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." + }, "x-amzn-RequestId": { "type": "string", "description": "Unique request reference identifier." @@ -539,6 +412,10 @@ "$ref": "#/definitions/ListAllFulfillmentOrdersResponse" }, "headers": { + "x-amzn-RateLimit-Limit": { + "type": "string", + "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." + }, "x-amzn-RequestId": { "type": "string", "description": "Unique request reference identifier." @@ -551,6 +428,10 @@ "$ref": "#/definitions/ListAllFulfillmentOrdersResponse" }, "headers": { + "x-amzn-RateLimit-Limit": { + "type": "string", + "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." + }, "x-amzn-RequestId": { "type": "string", "description": "Unique request reference identifier." @@ -572,8 +453,7 @@ "required": true, "schema": { "$ref": "#/definitions/CreateFulfillmentOrderRequest" - }, - "description": "CreateFulfillmentOrderRequest parameter" + } } ], "responses": { @@ -615,6 +495,10 @@ "$ref": "#/definitions/CreateFulfillmentOrderResponse" }, "headers": { + "x-amzn-RateLimit-Limit": { + "type": "string", + "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." + }, "x-amzn-RequestId": { "type": "string", "description": "Unique request reference identifier." @@ -655,6 +539,10 @@ "$ref": "#/definitions/CreateFulfillmentOrderResponse" }, "headers": { + "x-amzn-RateLimit-Limit": { + "type": "string", + "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." + }, "x-amzn-RequestId": { "type": "string", "description": "Unique request reference identifier." @@ -667,6 +555,10 @@ "$ref": "#/definitions/CreateFulfillmentOrderResponse" }, "headers": { + "x-amzn-RateLimit-Limit": { + "type": "string", + "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." + }, "x-amzn-RequestId": { "type": "string", "description": "Unique request reference identifier." @@ -679,6 +571,10 @@ "$ref": "#/definitions/CreateFulfillmentOrderResponse" }, "headers": { + "x-amzn-RateLimit-Limit": { + "type": "string", + "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." + }, "x-amzn-RequestId": { "type": "string", "description": "Unique request reference identifier." @@ -790,6 +686,10 @@ "$ref": "#/definitions/GetPackageTrackingDetailsResponse" }, "headers": { + "x-amzn-RateLimit-Limit": { + "type": "string", + "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." + }, "x-amzn-RequestId": { "type": "string", "description": "Unique request reference identifier." @@ -830,6 +730,10 @@ "$ref": "#/definitions/GetPackageTrackingDetailsResponse" }, "headers": { + "x-amzn-RateLimit-Limit": { + "type": "string", + "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." + }, "x-amzn-RequestId": { "type": "string", "description": "Unique request reference identifier." @@ -842,6 +746,10 @@ "$ref": "#/definitions/GetPackageTrackingDetailsResponse" }, "headers": { + "x-amzn-RateLimit-Limit": { + "type": "string", + "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." + }, "x-amzn-RequestId": { "type": "string", "description": "Unique request reference identifier." @@ -854,6 +762,10 @@ "$ref": "#/definitions/GetPackageTrackingDetailsResponse" }, "headers": { + "x-amzn-RateLimit-Limit": { + "type": "string", + "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." + }, "x-amzn-RequestId": { "type": "string", "description": "Unique request reference identifier." @@ -996,6 +908,10 @@ "$ref": "#/definitions/ListReturnReasonCodesResponse" }, "headers": { + "x-amzn-RateLimit-Limit": { + "type": "string", + "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." + }, "x-amzn-RequestId": { "type": "string", "description": "Unique request reference identifier." @@ -1036,6 +952,10 @@ "$ref": "#/definitions/ListReturnReasonCodesResponse" }, "headers": { + "x-amzn-RateLimit-Limit": { + "type": "string", + "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." + }, "x-amzn-RequestId": { "type": "string", "description": "Unique request reference identifier." @@ -1048,6 +968,10 @@ "$ref": "#/definitions/ListReturnReasonCodesResponse" }, "headers": { + "x-amzn-RateLimit-Limit": { + "type": "string", + "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." + }, "x-amzn-RequestId": { "type": "string", "description": "Unique request reference identifier." @@ -1060,6 +984,10 @@ "$ref": "#/definitions/ListReturnReasonCodesResponse" }, "headers": { + "x-amzn-RateLimit-Limit": { + "type": "string", + "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." + }, "x-amzn-RequestId": { "type": "string", "description": "Unique request reference identifier." @@ -1086,8 +1014,7 @@ "required": true, "schema": { "$ref": "#/definitions/CreateFulfillmentReturnRequest" - }, - "description": "CreateFulfillmentReturnRequest parameter" + } }, { "name": "sellerFulfillmentOrderId", @@ -1170,6 +1097,10 @@ "$ref": "#/definitions/CreateFulfillmentReturnResponse" }, "headers": { + "x-amzn-RateLimit-Limit": { + "type": "string", + "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." + }, "x-amzn-RequestId": { "type": "string", "description": "Unique request reference identifier." @@ -1182,6 +1113,10 @@ "$ref": "#/definitions/CreateFulfillmentReturnResponse" }, "headers": { + "x-amzn-RateLimit-Limit": { + "type": "string", + "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." + }, "x-amzn-RequestId": { "type": "string", "description": "Unique request reference identifier." @@ -1210,6 +1145,10 @@ "$ref": "#/definitions/CreateFulfillmentReturnResponse" }, "headers": { + "x-amzn-RateLimit-Limit": { + "type": "string", + "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." + }, "x-amzn-RequestId": { "type": "string", "description": "Unique request reference identifier." @@ -1222,6 +1161,10 @@ "$ref": "#/definitions/CreateFulfillmentReturnResponse" }, "headers": { + "x-amzn-RateLimit-Limit": { + "type": "string", + "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." + }, "x-amzn-RequestId": { "type": "string", "description": "Unique request reference identifier." @@ -1234,6 +1177,10 @@ "$ref": "#/definitions/CreateFulfillmentReturnResponse" }, "headers": { + "x-amzn-RateLimit-Limit": { + "type": "string", + "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." + }, "x-amzn-RequestId": { "type": "string", "description": "Unique request reference identifier." @@ -1350,8 +1297,7 @@ "sellerFulfillmentOrderItemId": "OrderItemID1", "quantity": 3, "packageNumber": 0, - "serialNumber": "", - "manufacturerLotCodes": ["LOT0822-1234", "LOT1030-5678"] + "serialNumber": "" } ] } @@ -1393,6 +1339,10 @@ "$ref": "#/definitions/GetFulfillmentOrderResponse" }, "headers": { + "x-amzn-RateLimit-Limit": { + "type": "string", + "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." + }, "x-amzn-RequestId": { "type": "string", "description": "Unique request reference identifier." @@ -1433,6 +1383,10 @@ "$ref": "#/definitions/GetFulfillmentOrderResponse" }, "headers": { + "x-amzn-RateLimit-Limit": { + "type": "string", + "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." + }, "x-amzn-RequestId": { "type": "string", "description": "Unique request reference identifier." @@ -1445,6 +1399,10 @@ "$ref": "#/definitions/GetFulfillmentOrderResponse" }, "headers": { + "x-amzn-RateLimit-Limit": { + "type": "string", + "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." + }, "x-amzn-RequestId": { "type": "string", "description": "Unique request reference identifier." @@ -1457,6 +1415,10 @@ "$ref": "#/definitions/GetFulfillmentOrderResponse" }, "headers": { + "x-amzn-RateLimit-Limit": { + "type": "string", + "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." + }, "x-amzn-RequestId": { "type": "string", "description": "Unique request reference identifier." @@ -1478,8 +1440,7 @@ "required": true, "schema": { "$ref": "#/definitions/UpdateFulfillmentOrderRequest" - }, - "description": "UpdateFulfillmentOrderRequest parameter" + } }, { "name": "sellerFulfillmentOrderId", @@ -1529,6 +1490,10 @@ "$ref": "#/definitions/UpdateFulfillmentOrderResponse" }, "headers": { + "x-amzn-RateLimit-Limit": { + "type": "string", + "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." + }, "x-amzn-RequestId": { "type": "string", "description": "Unique request reference identifier." @@ -1569,6 +1534,10 @@ "$ref": "#/definitions/UpdateFulfillmentOrderResponse" }, "headers": { + "x-amzn-RateLimit-Limit": { + "type": "string", + "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." + }, "x-amzn-RequestId": { "type": "string", "description": "Unique request reference identifier." @@ -1581,6 +1550,10 @@ "$ref": "#/definitions/UpdateFulfillmentOrderResponse" }, "headers": { + "x-amzn-RateLimit-Limit": { + "type": "string", + "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." + }, "x-amzn-RequestId": { "type": "string", "description": "Unique request reference identifier." @@ -1593,6 +1566,10 @@ "$ref": "#/definitions/UpdateFulfillmentOrderResponse" }, "headers": { + "x-amzn-RateLimit-Limit": { + "type": "string", + "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." + }, "x-amzn-RequestId": { "type": "string", "description": "Unique request reference identifier." @@ -1661,6 +1638,10 @@ "$ref": "#/definitions/CancelFulfillmentOrderResponse" }, "headers": { + "x-amzn-RateLimit-Limit": { + "type": "string", + "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." + }, "x-amzn-RequestId": { "type": "string", "description": "Unique request reference identifier." @@ -1701,6 +1682,10 @@ "$ref": "#/definitions/CancelFulfillmentOrderResponse" }, "headers": { + "x-amzn-RateLimit-Limit": { + "type": "string", + "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." + }, "x-amzn-RequestId": { "type": "string", "description": "Unique request reference identifier." @@ -1713,6 +1698,10 @@ "$ref": "#/definitions/CancelFulfillmentOrderResponse" }, "headers": { + "x-amzn-RateLimit-Limit": { + "type": "string", + "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." + }, "x-amzn-RequestId": { "type": "string", "description": "Unique request reference identifier." @@ -1725,6 +1714,10 @@ "$ref": "#/definitions/CancelFulfillmentOrderResponse" }, "headers": { + "x-amzn-RateLimit-Limit": { + "type": "string", + "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." + }, "x-amzn-RequestId": { "type": "string", "description": "Unique request reference identifier." @@ -1760,8 +1753,7 @@ "required": true, "schema": { "$ref": "#/definitions/SubmitFulfillmentOrderStatusUpdateRequest" - }, - "description": "The identifier assigned to the item by the seller when the fulfillment order was created." + } } ], "responses": { @@ -1771,6 +1763,10 @@ "$ref": "#/definitions/SubmitFulfillmentOrderStatusUpdateResponse" }, "headers": { + "x-amzn-RateLimit-Limit": { + "type": "string", + "description": "Your rate limit (requests per second) for this operation." + }, "x-amzn-RequestId": { "type": "string", "description": "Unique request reference identifier." @@ -1783,6 +1779,10 @@ "$ref": "#/definitions/SubmitFulfillmentOrderStatusUpdateResponse" }, "headers": { + "x-amzn-RateLimit-Limit": { + "type": "string", + "description": "Your rate limit (requests per second) for this operation." + }, "x-amzn-RequestId": { "type": "string", "description": "Unique request reference identifier." @@ -1795,6 +1795,10 @@ "$ref": "#/definitions/SubmitFulfillmentOrderStatusUpdateResponse" }, "headers": { + "x-amzn-RateLimit-Limit": { + "type": "string", + "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." + }, "x-amzn-RequestId": { "type": "string", "description": "Unique request reference identifier." @@ -1819,6 +1823,10 @@ "$ref": "#/definitions/SubmitFulfillmentOrderStatusUpdateResponse" }, "headers": { + "x-amzn-RateLimit-Limit": { + "type": "string", + "description": "Your rate limit (requests per second) for this operation." + }, "x-amzn-RequestId": { "type": "string", "description": "Unique request reference identifier." @@ -1831,6 +1839,10 @@ "$ref": "#/definitions/SubmitFulfillmentOrderStatusUpdateResponse" }, "headers": { + "x-amzn-RateLimit-Limit": { + "type": "string", + "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." + }, "x-amzn-RequestId": { "type": "string", "description": "Unique request reference identifier." @@ -1843,6 +1855,10 @@ "$ref": "#/definitions/SubmitFulfillmentOrderStatusUpdateResponse" }, "headers": { + "x-amzn-RateLimit-Limit": { + "type": "string", + "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." + }, "x-amzn-RequestId": { "type": "string", "description": "Unique request reference identifier." @@ -1855,6 +1871,10 @@ "$ref": "#/definitions/SubmitFulfillmentOrderStatusUpdateResponse" }, "headers": { + "x-amzn-RateLimit-Limit": { + "type": "string", + "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." + }, "x-amzn-RequestId": { "type": "string", "description": "Unique request reference identifier." @@ -1939,6 +1959,10 @@ "$ref": "#/definitions/GetFeaturesResponse" }, "headers": { + "x-amzn-RateLimit-Limit": { + "type": "string", + "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." + }, "x-amzn-RequestId": { "type": "string", "description": "Unique request reference identifier." @@ -1979,6 +2003,10 @@ "$ref": "#/definitions/GetFeaturesResponse" }, "headers": { + "x-amzn-RateLimit-Limit": { + "type": "string", + "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." + }, "x-amzn-RequestId": { "type": "string", "description": "Unique request reference identifier." @@ -1991,6 +2019,10 @@ "$ref": "#/definitions/GetFeaturesResponse" }, "headers": { + "x-amzn-RateLimit-Limit": { + "type": "string", + "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." + }, "x-amzn-RequestId": { "type": "string", "description": "Unique request reference identifier." @@ -2003,6 +2035,10 @@ "$ref": "#/definitions/GetFeaturesResponse" }, "headers": { + "x-amzn-RateLimit-Limit": { + "type": "string", + "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." + }, "x-amzn-RequestId": { "type": "string", "description": "Unique request reference identifier." @@ -2115,6 +2151,10 @@ "$ref": "#/definitions/GetFeatureInventoryResponse" }, "headers": { + "x-amzn-RateLimit-Limit": { + "type": "string", + "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." + }, "x-amzn-RequestId": { "type": "string", "description": "Unique request reference identifier." @@ -2155,6 +2195,10 @@ "$ref": "#/definitions/GetFeatureInventoryResponse" }, "headers": { + "x-amzn-RateLimit-Limit": { + "type": "string", + "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." + }, "x-amzn-RequestId": { "type": "string", "description": "Unique request reference identifier." @@ -2167,6 +2211,10 @@ "$ref": "#/definitions/GetFeatureInventoryResponse" }, "headers": { + "x-amzn-RateLimit-Limit": { + "type": "string", + "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." + }, "x-amzn-RequestId": { "type": "string", "description": "Unique request reference identifier." @@ -2179,6 +2227,10 @@ "$ref": "#/definitions/GetFeatureInventoryResponse" }, "headers": { + "x-amzn-RateLimit-Limit": { + "type": "string", + "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." + }, "x-amzn-RequestId": { "type": "string", "description": "Unique request reference identifier." @@ -2274,6 +2326,10 @@ "$ref": "#/definitions/GetFeatureSkuResponse" }, "headers": { + "x-amzn-RateLimit-Limit": { + "type": "string", + "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." + }, "x-amzn-RequestId": { "type": "string", "description": "Unique request reference identifier." @@ -2314,6 +2370,10 @@ "$ref": "#/definitions/GetFeatureSkuResponse" }, "headers": { + "x-amzn-RateLimit-Limit": { + "type": "string", + "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." + }, "x-amzn-RequestId": { "type": "string", "description": "Unique request reference identifier." @@ -2326,6 +2386,10 @@ "$ref": "#/definitions/GetFeatureSkuResponse" }, "headers": { + "x-amzn-RateLimit-Limit": { + "type": "string", + "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." + }, "x-amzn-RequestId": { "type": "string", "description": "Unique request reference identifier." @@ -2338,6 +2402,10 @@ "$ref": "#/definitions/GetFeatureSkuResponse" }, "headers": { + "x-amzn-RateLimit-Limit": { + "type": "string", + "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." + }, "x-amzn-RequestId": { "type": "string", "description": "Unique request reference identifier." @@ -2639,10 +2707,6 @@ "description": "The destination address for the fulfillment order.", "$ref": "#/definitions/Address" }, - "deliveryPreferences": { - "description": "The delivery preferences applied to the destination address. These preferences will be applied when possible and are best effort.\nThis feature is currently supported only in the JP marketplace and not applicable for other marketplaces.", - "$ref": "#/definitions/DeliveryPreferences" - }, "fulfillmentAction": { "$ref": "#/definitions/FulfillmentAction" }, @@ -2690,7 +2754,6 @@ "description": "The `createFulfillmentReturn` operation creates a fulfillment return for items that were fulfilled using the `createFulfillmentOrder` operation. For calls to `createFulfillmentReturn`, you must include `ReturnReasonCode` values returned by a previous call to the `listReturnReasonCodes` operation." }, "CreateFulfillmentReturnResult": { - "description": "The result for the createFulfillmentReturn operation.", "type": "object", "properties": { "returnItems": { @@ -2805,65 +2868,6 @@ "$ref": "#/definitions/DeliveryWindow" } }, - "DeliveryPreferences": { - "type": "object", - "properties": { - "deliveryInstructions": { - "type": "string", - "description": "Additional delivery instructions. For example, this could be instructions on how to enter a building, nearby landmark or navigation instructions, 'Beware of dogs', etc.", - "maxLength": 250 - }, - "dropOffLocation": { - "description": "The preferred location to leave packages at the destination address.", - "$ref": "#/definitions/DropOffLocation" - } - }, - "description": "The delivery preferences applied to the destination address. These preferences will be applied when possible and are best effort.\nThis feature is currently supported only in the JP marketplace and not applicable for other marketplaces." - }, - "DropOffLocation": { - "type": "object", - "required": ["type"], - "properties": { - "type": { - "type": "string", - "description": "Specifies the preferred location to leave the package at the destination address.", - "enum": ["FRONT_DOOR", "DELIVERY_BOX", "GAS_METER_BOX", "BICYCLE_BASKET", "GARAGE", "RECEPTIONIST", "FALLBACK_NEIGHBOR_DELIVERY", "DO_NOT_LEAVE_UNATTENDED"], - "x-docgen-enum-table-extension": [{ - "value": "FRONT_DOOR", - "description": "Indicates delivery preferred to front door." - }, { - "value": "DELIVERY_BOX", - "description": "Indicates delivery preferred to a delivery box." - }, { - "value": "GAS_METER_BOX", - "description": "Indicates delivery preferred to a gas meter box." - }, { - "value": "BICYCLE_BASKET", - "description": "Indicates delivery preferred to a bicycle basket." - }, { - "value": "GARAGE", - "description": "Indicates delivery preferred to a garage." - }, { - "value": "RECEPTIONIST", - "description": "Indicates delivery preferred with a receptionist." - }, { - "value": "FALLBACK_NEIGHBOR_DELIVERY", - "description": "Indicates delivery preferred with a designated neighbor if the recipient is not available at the destination address." - }, { - "value": "DO_NOT_LEAVE_UNATTENDED", - "description": "Indicates delivery preferred as attended." - }] - }, - "attributes": { - "type": "object", - "additionalProperties": { - "type": "string" - }, - "description": "Additional information about the drop-off location that can vary depending on the type of drop-off location specified in the `type` field.\nIf the `type` is set to `FALLBACK_NEIGHBOR_DELIVERY`, the `attributes` object should include the exact keys `neighborName` and `houseNumber` to provide the name and house number of the designated neighbor." - } - }, - "description": "The preferred location to leave packages at the destination address." - }, "Fee": { "type": "object", "required": [ @@ -3355,10 +3359,6 @@ "serialNumber": { "type": "string", "description": "The serial number of the shipped item." - }, - "manufacturerLotCodes": { - "description": "The manufacturer lot codes of the shipped items.", - "$ref": "#/definitions/StringList" } }, "description": "Item information for a shipment in a fulfillment order." @@ -3400,10 +3400,6 @@ "estimatedArrivalDate": { "description": "The estimated arrival date and time of the package. Must be in ISO 8601 format.", "$ref": "#/definitions/Timestamp" - }, - "lockerDetails": { - "description": "The locker details, if provided can be used to access locker delivery box.", - "$ref": "#/definitions/LockerDetails" } }, "description": "Package information for a shipment in a fulfillment order." @@ -3416,7 +3412,6 @@ } }, "GetFulfillmentOrderResult": { - "description": "The request for the getFulfillmentOrder operation.", "type": "object", "required": [ "fulfillmentOrder", @@ -3558,295 +3553,6 @@ }, "description": "The response schema for the `getFulfillmentPreview` operation." }, - "GetDeliveryOffersRequest": { - "type": "object", - "required": [ - "product", - "terms" - ], - "properties": { - "product": { - "$ref": "#/definitions/GetDeliveryOffersProduct", - "description": "The product details for the delivery offer." - }, - "terms": { - "$ref": "#/definitions/GetDeliveryOffersTerms", - "description": "The terms for the delivery offer." - } - }, - "description": "The request body schema for the getDeliveryOffers operation." - }, - "GetDeliveryOffersResponse": { - "type": "object", - "properties": { - "payload": { - "$ref": "#/definitions/GetDeliveryOffersResult", - "description": "The response payload for the getDeliveryOffers operation." - }, - "errors": { - "$ref": "#/definitions/ErrorList", - "description": "One or more unexpected errors occurred during the getDeliveryOffers operation." - } - }, - "description": "The response schema for the getDeliveryOffers operation." - }, - "GetDeliveryOffersResult": { - "type": "object", - "properties": { - "deliveryOffers": { - "$ref": "#/definitions/DeliveryOffersList", - "description": "An array of delivery offers." - } - }, - "description": "A list of delivery offers, including offer expiration, earliest and latest date and time range, and the delivery offer policy." - }, - "DeliveryOffersList": { - "type": "array", - "description": "An array of delivery offer information.", - "items": { - "$ref": "#/definitions/DeliveryOffer" - } - }, - "DeliveryOffer": { - "type": "object", - "properties": { - "expiresAt": { - "$ref": "#/definitions/Timestamp", - "description": "The timestamp at which a delivery offer expires." - }, - "dateRange": { - "$ref": "#/definitions/DateRange", - "description": "The range between which delivery is expected." - }, - "policy": { - "$ref": "#/definitions/DeliveryPolicy", - "description": "The policy for a delivery offer, including localized messaging." - } - }, - "description": "An available offer for delivery of a product." - }, - "GetDeliveryOffersProduct": { - "type": "object", - "required": [ - "productIdentifier" - ], - "properties": { - "productIdentifier": { - "$ref": "#/definitions/ProductIdentifier", - "description": "Product identifier input that locates a product for MCF." - }, - "amount": { - "$ref": "#/definitions/Amount", - "description": "The amount of the requested product." - } - }, - "description": "The product details for the delivery offer." - }, - "Amount": { - "type": "object", - "required": [ - "unitOfMeasure", - "value" - ], - "properties": { - "unitOfMeasure": { - "type": "string", - "description": "The unit of measure for the amount.", - "enum": [ - "Eaches" - ], - "x-docgen-enum-table-extension": [ - { - "value": "Eaches", - "description": "Specifies an integer count of units." - } - ] - }, - "value": { - "$ref": "#/definitions/Decimal", - "description": "The amount of a product in the associated unit of measure." - } - }, - "description": "A quantity based on unit of measure." - }, - "GetDeliveryOffersTerms": { - "type": "object", - "required": [ - "origin", - "destination" - ], - "properties": { - "origin": { - "$ref": "#/definitions/Origin", - "description": "The origin for the delivery offer." - }, - "destination": { - "$ref": "#/definitions/Destination", - "description": "The destination for the delivery offer." - } - }, - "description": "The delivery terms for the delivery offer." - }, - "IpAddress": { - "type": "string", - "format": "ip", - "description": "An IP Address." - }, - "Destination": { - "type": "object", - "properties": { - "deliveryAddress": { - "$ref": "#/definitions/VariablePrecisionAddress" - }, - "ipAddress": { - "$ref": "#/definitions/IpAddress", - "description": "The IP address of the customer." - } - }, - "description": "The destination for the delivery offer." - }, - "ProductIdentifier": { - "type": "object", - "required": [ - "merchantSku" - ], - "properties": { - "merchantSku": { - "type": "string", - "description": "The merchant SKU for the product.", - "maxLength": 50 - } - }, - "description": "Product identifier input that locates a product for MCF." - }, - "Origin": { - "type": "object", - "required": [ - "countryCode" - ], - "description": "The origin for the delivery offer.", - "properties": { - "countryCode": { - "type": "string", - "description": "The two digit country code the items should ship from. In ISO 3166-1 alpha-2 format.", - "minLength": 2, - "maxLength": 2 - } - } - }, - "VariablePrecisionAddress": { - "type": "object", - "required": [ - "countryCode", - "postalCode" - ], - "properties": { - "addressLine1": { - "type": "string", - "description": "The first line of the address." - }, - "addressLine2": { - "type": "string", - "description": "Additional address information, if required." - }, - "addressLine3": { - "type": "string", - "description": "Additional address information, if required." - }, - "city": { - "type": "string", - "description": "The city where the person, business, or institution is located. This property should not be used in Japan." - }, - "districtOrCounty": { - "type": "string", - "description": "The district or county where the person, business, or institution is located." - }, - "stateOrRegion": { - "type": "string", - "description": "The state or region where the person, business or institution is located." - }, - "postalCode": { - "type": "string", - "description": "The postal code of the address." - }, - "countryCode": { - "type": "string", - "description": "The two digit country code. In ISO 3166-1 alpha-2 format.", - "minLength": 2, - "maxLength": 2 - } - }, - "description": "A physical address with varying degrees of precision. A more precise address can provide more accurate results than country code and postal code alone." - }, - "DeliveryQuantity": { - "type": "object", - "required": [ - "unitOfMeasure", - "amount" - ], - "properties": { - "unitOfMeasure": { - "type": "string", - "description": "The unit of measure for the amount.", - "enum": [ - "Each" - ], - "x-docgen-enum-table-extension": [ - { - "value": "Each", - "description": "Specifies an integer count of units." - } - ] - }, - "amount": { - "$ref": "#/definitions/Decimal", - "description": "The amount of a product in the associated unit of measure." - } - }, - "description": "A quantity based on unit of measure." - }, - "DateRange": { - "type": "object", - "required": [ - "earliest", - "latest" - ], - "properties": { - "earliest": { - "$ref": "#/definitions/Timestamp", - "description": "The earliest point in a date range." - }, - "latest": { - "$ref": "#/definitions/Timestamp", - "description": "The latest point in a date range." - } - }, - "description": "The time range within which something (for example, a delivery) will occur." - }, - "DeliveryPolicy": { - "type": "object", - "properties": { - "message": { - "$ref": "#/definitions/DeliveryMessage", - "description": "Localized messaging for a delivery offering." - } - }, - "description": "The policy for a delivery offering." - }, - "DeliveryMessage": { - "type": "object", - "properties": { - "text": { - "type": "string", - "description": "The message content for a delivery offering." - }, - "locale": { - "type": "string", - "description": "The locale for the message (for example, en_US)." - } - }, - "description": "Localized messaging for a delivery offering." - }, "InvalidItemReasonCode": { "type": "string", "description": "A code for why the item is invalid for return.", @@ -3922,7 +3628,6 @@ } }, "ListAllFulfillmentOrdersResult": { - "description": "The request for the listAllFulfillmentOrders operation.", "type": "object", "properties": { "nextToken": { @@ -3953,7 +3658,6 @@ "description": "The response schema for the `listAllFulfillmentOrders` operation." }, "ListReturnReasonCodesResult": { - "description": "The request for the listReturnReasonCodes operation.", "type": "object", "properties": { "reasonCodeDetails": { @@ -3975,20 +3679,6 @@ }, "description": "The response schema for the `listReturnReasonCodes` operation." }, - "LockerDetails": { - "type": "object", - "properties": { - "lockerNumber": { - "type": "string", - "description": "Indicates the locker number" - }, - "lockerAccessCode": { - "type": "string", - "description": "Indicates the locker access code" - } - }, - "description": "The locker details, if provided can be used to access locker delivery box." - }, "NotificationEmailList": { "type": "array", "description": "A list of email addresses that the seller provides that are used by Amazon to send ship-complete notifications to recipients on behalf of the seller.", @@ -4234,7 +3924,6 @@ ] }, "PackageTrackingDetails": { - "description": "Tracking details of package", "type": "object", "required": [ "packageNumber" @@ -4525,21 +4214,18 @@ "description": "Delivery information for a scheduled delivery. This is only available in the JP marketplace." }, "ShippingSpeedCategoryList": { - "description": "ShippingSpeedCategory List", "type": "array", "items": { "$ref": "#/definitions/ShippingSpeedCategory" } }, "StringList": { - "description": "String list", "type": "array", "items": { "type": "string" } }, "Timestamp": { - "description": "Date timestamp", "type": "string", "format": "date-time" }, @@ -5249,4 +4935,4 @@ "description": "The response schema for the `SubmitFulfillmentOrderStatusUpdate` operation." } } -} \ No newline at end of file +} From 4ef925d5ac4efc4fa2af5edc46e089b90c6ad960 Mon Sep 17 00:00:00 2001 From: Jack Evoniuk Date: Wed, 27 Mar 2024 11:23:34 -0700 Subject: [PATCH 301/340] Update Fulfillment Inbound v0 model Remove the getInboundGuidance operation. --- .../fulfillmentInboundV0.json | 604 ++---------------- 1 file changed, 62 insertions(+), 542 deletions(-) diff --git a/models/fulfillment-inbound-api-model/fulfillmentInboundV0.json b/models/fulfillment-inbound-api-model/fulfillmentInboundV0.json index df45bb5f2..64b5a6a77 100644 --- a/models/fulfillment-inbound-api-model/fulfillmentInboundV0.json +++ b/models/fulfillment-inbound-api-model/fulfillmentInboundV0.json @@ -24,254 +24,6 @@ "application/json" ], "paths": { - "/fba/inbound/v0/itemsGuidance": { - "get": { - "tags": [ - "fbaInbound" - ], - "description": "Returns information that lets a seller know if Amazon recommends sending an item to a given marketplace. In some cases, Amazon provides guidance for why a given SellerSKU or ASIN is not recommended for shipment to Amazon's fulfillment network. Sellers may still ship items that are not recommended, at their discretion.\n\n**Usage Plan:**\n\n| Rate (requests per second) | Burst |\n| ---- | ---- |\n| 2 | 30 |\n\nThe `x-amzn-RateLimit-Limit` response header returns the usage plan rate limits that were applied to the requested operation, when available. The table above indicates the default rate and burst values for this operation. Selling partners whose business demands require higher throughput may see higher rate and burst values than those shown here. For more information, see [Usage Plans and Rate Limits in the Selling Partner API](https://developer-docs.amazon.com/sp-api/docs/usage-plans-and-rate-limits-in-the-sp-api).", - "operationId": "getInboundGuidance", - "deprecated": true, - "parameters": [ - { - "name": "MarketplaceId", - "in": "query", - "description": "A marketplace identifier. Specifies the marketplace where the product would be stored.", - "required": true, - "type": "string" - }, - { - "name": "SellerSKUList", - "in": "query", - "description": "A list of SellerSKU values. Used to identify items for which you want inbound guidance for shipment to Amazon's fulfillment network. Note: SellerSKU is qualified by the SellerId, which is included with every Selling Partner API operation that you submit. If you specify a SellerSKU that identifies a variation parent ASIN, this operation returns an error. A variation parent ASIN represents a generic product that cannot be sold. Variation child ASINs represent products that have specific characteristics (such as size and color) and can be sold. ", - "required": false, - "type": "array", - "items": { - "type": "string" - }, - "maxItems": 50 - }, - { - "name": "ASINList", - "in": "query", - "description": "A list of ASIN values. Used to identify items for which you want inbound guidance for shipment to Amazon's fulfillment network. Note: If you specify a ASIN that identifies a variation parent ASIN, this operation returns an error. A variation parent ASIN represents a generic product that cannot be sold. Variation child ASINs represent products that have specific characteristics (such as size and color) and can be sold.", - "required": false, - "type": "array", - "items": { - "type": "string" - }, - "maxItems": 50 - } - ], - "responses": { - "200": { - "description": "Success.", - "schema": { - "$ref": "#/definitions/GetInboundGuidanceResponse" - }, - "headers": { - "x-amzn-RateLimit-Limit": { - "type": "string", - "description": "Your rate limit (requests per second) for this operation." - }, - "x-amzn-RequestId": { - "type": "string", - "description": "Unique request reference identifier." - } - }, - "x-amzn-api-sandbox": { - "static": [ - { - "request": { - "parameters": { - "MarketplaceId": { - "value": "MarketplaceId" - }, - "SellerSKUList": { - "value": [ - "sku1", - "sku2" - ] - } - } - }, - "response": { - "payload": { - "SKUInboundGuidanceList": [ - { - "SellerSKU": "SellerSKU", - "ASIN": "ASIN", - "InboundGuidance": "InboundNotRecommended", - "GuidanceReasonList": [ - "SlowMovingASIN" - ] - } - ], - "InvalidSKUList": [ - { - "SellerSKU": "SellerSKU", - "ErrorReason": "DoesNotExist" - } - ], - "ASINInboundGuidanceList": [ - { - "ASIN": "ASIN", - "InboundGuidance": "InboundNotRecommended", - "GuidanceReasonList": [ - "SlowMovingASIN" - ] - } - ], - "InvalidASINList": [ - { - "ASIN": "ASIN", - "ErrorReason": "DoesNotExist" - } - ] - } - } - } - ] - } - }, - "400": { - "description": "Request has missing or invalid parameters and cannot be parsed.", - "schema": { - "$ref": "#/definitions/GetInboundGuidanceResponse" - }, - "headers": { - "x-amzn-RateLimit-Limit": { - "type": "string", - "description": "Your rate limit (requests per second) for this operation." - }, - "x-amzn-RequestId": { - "type": "string", - "description": "Unique request reference identifier." - } - }, - "x-amzn-api-sandbox": { - "static": [ - { - "request": { - "parameters": { - "MarketplaceId": { - "value": "BADVALUE" - }, - "SellerSKUList": { - "value": [ - "sku1", - "sku2" - ] - } - } - }, - "response": { - "errors": [ - { - "code": "Invalid Input", - "message": "MarketplaceId is incorrect" - } - ] - } - } - ] - } - }, - "401": { - "description": "The request's Authorization header is not formatted correctly or does not contain a valid token.", - "schema": { - "$ref": "#/definitions/GetInboundGuidanceResponse" - }, - "headers": { - "x-amzn-RateLimit-Limit": { - "type": "string", - "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." - }, - "x-amzn-RequestId": { - "type": "string", - "description": "Unique request reference identifier." - } - } - }, - "403": { - "description": "Indicates that access to the resource is forbidden. Possible reasons include Access Denied, Unauthorized, Expired Token, or Invalid Signature.", - "schema": { - "$ref": "#/definitions/GetInboundGuidanceResponse" - }, - "headers": { - "x-amzn-RequestId": { - "type": "string", - "description": "Unique request reference identifier." - } - } - }, - "404": { - "description": "The specified resource does not exist.", - "schema": { - "$ref": "#/definitions/GetInboundGuidanceResponse" - }, - "headers": { - "x-amzn-RateLimit-Limit": { - "type": "string", - "description": "Your rate limit (requests per second) for this operation." - }, - "x-amzn-RequestId": { - "type": "string", - "description": "Unique request reference identifier." - } - } - }, - "429": { - "description": "The frequency of requests was greater than allowed.", - "schema": { - "$ref": "#/definitions/GetInboundGuidanceResponse" - }, - "headers": { - "x-amzn-RateLimit-Limit": { - "type": "string", - "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." - }, - "x-amzn-RequestId": { - "type": "string", - "description": "Unique request reference identifier." - } - } - }, - "500": { - "description": "An unexpected condition occurred that prevented the server from fulfilling the request.", - "schema": { - "$ref": "#/definitions/GetInboundGuidanceResponse" - }, - "headers": { - "x-amzn-RateLimit-Limit": { - "type": "string", - "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." - }, - "x-amzn-RequestId": { - "type": "string", - "description": "Unique request reference identifier." - } - } - }, - "503": { - "description": "Temporary overloading or maintenance of the server.", - "schema": { - "$ref": "#/definitions/GetInboundGuidanceResponse" - }, - "headers": { - "x-amzn-RateLimit-Limit": { - "type": "string", - "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." - }, - "x-amzn-RequestId": { - "type": "string", - "description": "Unique request reference identifier." - } - } - } - } - } - }, "/fba/inbound/v0/plans": { "post": { "tags": [ @@ -279,6 +31,7 @@ ], "description": "Returns one or more inbound shipment plans, which provide the information you need to create one or more inbound shipments for a set of items that you specify. Multiple inbound shipment plans might be required so that items can be optimally placed in Amazon's fulfillment network—for example, positioning inventory closer to the customer. Alternatively, two inbound shipment plans might be created with the same Amazon fulfillment center destination if the two shipment plans require different processing—for example, items that require labels must be shipped separately from stickerless, commingled inventory.\n\n**Usage Plan:**\n\n| Rate (requests per second) | Burst |\n| ---- | ---- |\n| 2 | 30 |\n\nThe `x-amzn-RateLimit-Limit` response header returns the usage plan rate limits that were applied to the requested operation, when available. The table above indicates the default rate and burst values for this operation. Selling partners whose business demands require higher throughput may see higher rate and burst values than those shown here. For more information, see [Usage Plans and Rate Limits in the Selling Partner API](https://developer-docs.amazon.com/sp-api/docs/usage-plans-and-rate-limits-in-the-sp-api).", "operationId": "createInboundShipmentPlan", + "deprecated": true, "parameters": [ { "in": "body", @@ -286,7 +39,8 @@ "required": true, "schema": { "$ref": "#/definitions/CreateInboundShipmentPlanRequest" - } + }, + "description": "The request schema for the CreateInboundShipmentPlanRequest operation." } ], "responses": { @@ -465,10 +219,6 @@ "$ref": "#/definitions/CreateInboundShipmentPlanResponse" }, "headers": { - "x-amzn-RateLimit-Limit": { - "type": "string", - "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." - }, "x-amzn-RequestId": { "type": "string", "description": "Unique request reference identifier." @@ -509,10 +259,6 @@ "$ref": "#/definitions/CreateInboundShipmentPlanResponse" }, "headers": { - "x-amzn-RateLimit-Limit": { - "type": "string", - "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." - }, "x-amzn-RequestId": { "type": "string", "description": "Unique request reference identifier." @@ -525,10 +271,6 @@ "$ref": "#/definitions/CreateInboundShipmentPlanResponse" }, "headers": { - "x-amzn-RateLimit-Limit": { - "type": "string", - "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." - }, "x-amzn-RequestId": { "type": "string", "description": "Unique request reference identifier." @@ -541,10 +283,6 @@ "$ref": "#/definitions/CreateInboundShipmentPlanResponse" }, "headers": { - "x-amzn-RateLimit-Limit": { - "type": "string", - "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." - }, "x-amzn-RequestId": { "type": "string", "description": "Unique request reference identifier." @@ -561,6 +299,7 @@ ], "description": "Returns a new inbound shipment based on the specified shipmentId that was returned by the createInboundShipmentPlan operation.\n\n**Usage Plan:**\n\n| Rate (requests per second) | Burst |\n| ---- | ---- |\n| 2 | 30 |\n\nThe `x-amzn-RateLimit-Limit` response header returns the usage plan rate limits that were applied to the requested operation, when available. The table above indicates the default rate and burst values for this operation. Selling partners whose business demands require higher throughput may see higher rate and burst values than those shown here. For more information, see [Usage Plans and Rate Limits in the Selling Partner API](https://developer-docs.amazon.com/sp-api/docs/usage-plans-and-rate-limits-in-the-sp-api).", "operationId": "createInboundShipment", + "deprecated": true, "parameters": [ { "in": "body", @@ -568,7 +307,8 @@ "required": true, "schema": { "$ref": "#/definitions/InboundShipmentRequest" - } + }, + "description": "The request schema for the InboundShipmentRequest operation." }, { "name": "shipmentId", @@ -721,10 +461,6 @@ "$ref": "#/definitions/InboundShipmentResponse" }, "headers": { - "x-amzn-RateLimit-Limit": { - "type": "string", - "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." - }, "x-amzn-RequestId": { "type": "string", "description": "Unique request reference identifier." @@ -765,10 +501,6 @@ "$ref": "#/definitions/InboundShipmentResponse" }, "headers": { - "x-amzn-RateLimit-Limit": { - "type": "string", - "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." - }, "x-amzn-RequestId": { "type": "string", "description": "Unique request reference identifier." @@ -781,10 +513,6 @@ "$ref": "#/definitions/InboundShipmentResponse" }, "headers": { - "x-amzn-RateLimit-Limit": { - "type": "string", - "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." - }, "x-amzn-RequestId": { "type": "string", "description": "Unique request reference identifier." @@ -797,10 +525,6 @@ "$ref": "#/definitions/InboundShipmentResponse" }, "headers": { - "x-amzn-RateLimit-Limit": { - "type": "string", - "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." - }, "x-amzn-RequestId": { "type": "string", "description": "Unique request reference identifier." @@ -815,6 +539,7 @@ ], "description": "Updates or removes items from the inbound shipment identified by the specified shipment identifier. Adding new items is not supported.\n\n**Usage Plan:**\n\n| Rate (requests per second) | Burst |\n| ---- | ---- |\n| 2 | 30 |\n\nThe `x-amzn-RateLimit-Limit` response header returns the usage plan rate limits that were applied to the requested operation, when available. The table above indicates the default rate and burst values for this operation. Selling partners whose business demands require higher throughput may see higher rate and burst values than those shown here. For more information, see [Usage Plans and Rate Limits in the Selling Partner API](https://developer-docs.amazon.com/sp-api/docs/usage-plans-and-rate-limits-in-the-sp-api).", "operationId": "updateInboundShipment", + "deprecated": true, "parameters": [ { "in": "body", @@ -822,7 +547,8 @@ "required": true, "schema": { "$ref": "#/definitions/InboundShipmentRequest" - } + }, + "description": "The request schema for the InboundShipmentRequest operation." }, { "name": "shipmentId", @@ -958,10 +684,6 @@ "$ref": "#/definitions/InboundShipmentResponse" }, "headers": { - "x-amzn-RateLimit-Limit": { - "type": "string", - "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." - }, "x-amzn-RequestId": { "type": "string", "description": "Unique request reference identifier." @@ -1002,10 +724,6 @@ "$ref": "#/definitions/InboundShipmentResponse" }, "headers": { - "x-amzn-RateLimit-Limit": { - "type": "string", - "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." - }, "x-amzn-RequestId": { "type": "string", "description": "Unique request reference identifier." @@ -1018,10 +736,6 @@ "$ref": "#/definitions/InboundShipmentResponse" }, "headers": { - "x-amzn-RateLimit-Limit": { - "type": "string", - "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." - }, "x-amzn-RequestId": { "type": "string", "description": "Unique request reference identifier." @@ -1034,10 +748,6 @@ "$ref": "#/definitions/InboundShipmentResponse" }, "headers": { - "x-amzn-RateLimit-Limit": { - "type": "string", - "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." - }, "x-amzn-RequestId": { "type": "string", "description": "Unique request reference identifier." @@ -1054,6 +764,7 @@ ], "description": "Returns pre-order information, including dates, that a seller needs before confirming a shipment for pre-order. \n\n**Usage Plan:**\n\n| Rate (requests per second) | Burst |\n| ---- | ---- |\n| 2 | 30 |\n\nThe `x-amzn-RateLimit-Limit` response header returns the usage plan rate limits that were applied to the requested operation, when available. The table above indicates the default rate and burst values for this operation. Selling partners whose business demands require higher throughput may see higher rate and burst values than those shown here. For more information, see [Usage Plans and Rate Limits in the Selling Partner API](https://developer-docs.amazon.com/sp-api/docs/usage-plans-and-rate-limits-in-the-sp-api).", "operationId": "getPreorderInfo", + "deprecated": true, "parameters": [ { "name": "shipmentId", @@ -1157,10 +868,6 @@ "$ref": "#/definitions/GetPreorderInfoResponse" }, "headers": { - "x-amzn-RateLimit-Limit": { - "type": "string", - "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." - }, "x-amzn-RequestId": { "type": "string", "description": "Unique request reference identifier." @@ -1201,10 +908,6 @@ "$ref": "#/definitions/GetPreorderInfoResponse" }, "headers": { - "x-amzn-RateLimit-Limit": { - "type": "string", - "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." - }, "x-amzn-RequestId": { "type": "string", "description": "Unique request reference identifier." @@ -1217,10 +920,6 @@ "$ref": "#/definitions/GetPreorderInfoResponse" }, "headers": { - "x-amzn-RateLimit-Limit": { - "type": "string", - "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." - }, "x-amzn-RequestId": { "type": "string", "description": "Unique request reference identifier." @@ -1233,10 +932,6 @@ "$ref": "#/definitions/GetPreorderInfoResponse" }, "headers": { - "x-amzn-RateLimit-Limit": { - "type": "string", - "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." - }, "x-amzn-RequestId": { "type": "string", "description": "Unique request reference identifier." @@ -1253,6 +948,7 @@ ], "description": "Returns information needed to confirm a shipment for pre-order. Call this operation after calling the getPreorderInfo operation to get the NeedByDate value and other pre-order information about the shipment.\n\n**Usage Plan:**\n\n| Rate (requests per second) | Burst |\n| ---- | ---- |\n| 2 | 30 |\n\nThe `x-amzn-RateLimit-Limit` response header returns the usage plan rate limits that were applied to the requested operation, when available. The table above indicates the default rate and burst values for this operation. Selling partners whose business demands require higher throughput may see higher rate and burst values than those shown here. For more information, see [Usage Plans and Rate Limits in the Selling Partner API](https://developer-docs.amazon.com/sp-api/docs/usage-plans-and-rate-limits-in-the-sp-api).", "operationId": "confirmPreorder", + "deprecated": true, "parameters": [ { "name": "shipmentId", @@ -1368,10 +1064,6 @@ "$ref": "#/definitions/ConfirmPreorderResponse" }, "headers": { - "x-amzn-RateLimit-Limit": { - "type": "string", - "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." - }, "x-amzn-RequestId": { "type": "string", "description": "Unique request reference identifier." @@ -1412,10 +1104,6 @@ "$ref": "#/definitions/ConfirmPreorderResponse" }, "headers": { - "x-amzn-RateLimit-Limit": { - "type": "string", - "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." - }, "x-amzn-RequestId": { "type": "string", "description": "Unique request reference identifier." @@ -1428,10 +1116,6 @@ "$ref": "#/definitions/ConfirmPreorderResponse" }, "headers": { - "x-amzn-RateLimit-Limit": { - "type": "string", - "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." - }, "x-amzn-RequestId": { "type": "string", "description": "Unique request reference identifier." @@ -1444,10 +1128,6 @@ "$ref": "#/definitions/ConfirmPreorderResponse" }, "headers": { - "x-amzn-RateLimit-Limit": { - "type": "string", - "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." - }, "x-amzn-RequestId": { "type": "string", "description": "Unique request reference identifier." @@ -1625,10 +1305,6 @@ "$ref": "#/definitions/GetPrepInstructionsResponse" }, "headers": { - "x-amzn-RateLimit-Limit": { - "type": "string", - "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." - }, "x-amzn-RequestId": { "type": "string", "description": "Unique request reference identifier." @@ -1669,10 +1345,6 @@ "$ref": "#/definitions/GetPrepInstructionsResponse" }, "headers": { - "x-amzn-RateLimit-Limit": { - "type": "string", - "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." - }, "x-amzn-RequestId": { "type": "string", "description": "Unique request reference identifier." @@ -1685,10 +1357,6 @@ "$ref": "#/definitions/GetPrepInstructionsResponse" }, "headers": { - "x-amzn-RateLimit-Limit": { - "type": "string", - "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." - }, "x-amzn-RequestId": { "type": "string", "description": "Unique request reference identifier." @@ -1701,10 +1369,6 @@ "$ref": "#/definitions/GetPrepInstructionsResponse" }, "headers": { - "x-amzn-RateLimit-Limit": { - "type": "string", - "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." - }, "x-amzn-RequestId": { "type": "string", "description": "Unique request reference identifier." @@ -1721,6 +1385,7 @@ ], "description": "Returns current transportation information about an inbound shipment.\n\n**Usage Plan:**\n\n| Rate (requests per second) | Burst |\n| ---- | ---- |\n| 2 | 30 |\n\nThe `x-amzn-RateLimit-Limit` response header returns the usage plan rate limits that were applied to the requested operation, when available. The table above indicates the default rate and burst values for this operation. Selling partners whose business demands require higher throughput may see higher rate and burst values than those shown here. For more information, see [Usage Plans and Rate Limits in the Selling Partner API](https://developer-docs.amazon.com/sp-api/docs/usage-plans-and-rate-limits-in-the-sp-api).", "operationId": "getTransportDetails", + "deprecated": true, "parameters": [ { "name": "shipmentId", @@ -1838,10 +1503,6 @@ "$ref": "#/definitions/GetTransportDetailsResponse" }, "headers": { - "x-amzn-RateLimit-Limit": { - "type": "string", - "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." - }, "x-amzn-RequestId": { "type": "string", "description": "Unique request reference identifier." @@ -1882,10 +1543,6 @@ "$ref": "#/definitions/GetTransportDetailsResponse" }, "headers": { - "x-amzn-RateLimit-Limit": { - "type": "string", - "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." - }, "x-amzn-RequestId": { "type": "string", "description": "Unique request reference identifier." @@ -1898,10 +1555,6 @@ "$ref": "#/definitions/GetTransportDetailsResponse" }, "headers": { - "x-amzn-RateLimit-Limit": { - "type": "string", - "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." - }, "x-amzn-RequestId": { "type": "string", "description": "Unique request reference identifier." @@ -1914,10 +1567,6 @@ "$ref": "#/definitions/GetTransportDetailsResponse" }, "headers": { - "x-amzn-RateLimit-Limit": { - "type": "string", - "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." - }, "x-amzn-RequestId": { "type": "string", "description": "Unique request reference identifier." @@ -1932,6 +1581,7 @@ ], "description": "Sends transportation information to Amazon about an inbound shipment.\n\n**Usage Plan:**\n\n| Rate (requests per second) | Burst |\n| ---- | ---- |\n| 2 | 30 |\n\nThe `x-amzn-RateLimit-Limit` response header returns the usage plan rate limits that were applied to the requested operation, when available. The table above indicates the default rate and burst values for this operation. Selling partners whose business demands require higher throughput may see higher rate and burst values than those shown here. For more information, see [Usage Plans and Rate Limits in the Selling Partner API](https://developer-docs.amazon.com/sp-api/docs/usage-plans-and-rate-limits-in-the-sp-api).", "operationId": "putTransportDetails", + "deprecated": true, "parameters": [ { "name": "shipmentId", @@ -1946,7 +1596,8 @@ "required": true, "schema": { "$ref": "#/definitions/PutTransportDetailsRequest" - } + }, + "description": "The request schema for the PutTransportDetailsRequest operation." } ], "responses": { @@ -2171,10 +1822,6 @@ "$ref": "#/definitions/PutTransportDetailsResponse" }, "headers": { - "x-amzn-RateLimit-Limit": { - "type": "string", - "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." - }, "x-amzn-RequestId": { "type": "string", "description": "Unique request reference identifier." @@ -2215,10 +1862,6 @@ "$ref": "#/definitions/PutTransportDetailsResponse" }, "headers": { - "x-amzn-RateLimit-Limit": { - "type": "string", - "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." - }, "x-amzn-RequestId": { "type": "string", "description": "Unique request reference identifier." @@ -2231,10 +1874,6 @@ "$ref": "#/definitions/PutTransportDetailsResponse" }, "headers": { - "x-amzn-RateLimit-Limit": { - "type": "string", - "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." - }, "x-amzn-RequestId": { "type": "string", "description": "Unique request reference identifier." @@ -2247,10 +1886,6 @@ "$ref": "#/definitions/PutTransportDetailsResponse" }, "headers": { - "x-amzn-RateLimit-Limit": { - "type": "string", - "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." - }, "x-amzn-RequestId": { "type": "string", "description": "Unique request reference identifier." @@ -2267,6 +1902,7 @@ ], "description": "Cancels a previously-confirmed request to ship an inbound shipment using an Amazon-partnered carrier.\n\nTo be successful, you must call this operation before the VoidDeadline date that is returned by the getTransportDetails operation.\n\nImportant: The VoidDeadline date is 24 hours after you confirm a Small Parcel shipment transportation request or one hour after you confirm a Less Than Truckload/Full Truckload (LTL/FTL) shipment transportation request. After the void deadline passes, your account will be charged for the shipping cost.\n\n**Usage Plan:**\n\n| Rate (requests per second) | Burst |\n| ---- | ---- |\n| 2 | 30 |\n\nThe `x-amzn-RateLimit-Limit` response header returns the usage plan rate limits that were applied to the requested operation, when available. The table above indicates the default rate and burst values for this operation. Selling partners whose business demands require higher throughput may see higher rate and burst values than those shown here. For more information, see [Usage Plans and Rate Limits in the Selling Partner API](https://developer-docs.amazon.com/sp-api/docs/usage-plans-and-rate-limits-in-the-sp-api).", "operationId": "voidTransport", + "deprecated": true, "parameters": [ { "name": "shipmentId", @@ -2356,10 +1992,6 @@ "$ref": "#/definitions/VoidTransportResponse" }, "headers": { - "x-amzn-RateLimit-Limit": { - "type": "string", - "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." - }, "x-amzn-RequestId": { "type": "string", "description": "Unique request reference identifier." @@ -2400,10 +2032,6 @@ "$ref": "#/definitions/VoidTransportResponse" }, "headers": { - "x-amzn-RateLimit-Limit": { - "type": "string", - "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." - }, "x-amzn-RequestId": { "type": "string", "description": "Unique request reference identifier." @@ -2416,10 +2044,6 @@ "$ref": "#/definitions/VoidTransportResponse" }, "headers": { - "x-amzn-RateLimit-Limit": { - "type": "string", - "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." - }, "x-amzn-RequestId": { "type": "string", "description": "Unique request reference identifier." @@ -2432,10 +2056,6 @@ "$ref": "#/definitions/VoidTransportResponse" }, "headers": { - "x-amzn-RateLimit-Limit": { - "type": "string", - "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." - }, "x-amzn-RequestId": { "type": "string", "description": "Unique request reference identifier." @@ -2452,6 +2072,7 @@ ], "description": "Initiates the process of estimating the shipping cost for an inbound shipment by an Amazon-partnered carrier.\n\nPrior to calling the estimateTransport operation, you must call the putTransportDetails operation to provide Amazon with the transportation information for the inbound shipment.\n\n**Usage Plan:**\n\n| Rate (requests per second) | Burst |\n| ---- | ---- |\n| 2 | 30 |\n\nThe `x-amzn-RateLimit-Limit` response header returns the usage plan rate limits that were applied to the requested operation, when available. The table above indicates the default rate and burst values for this operation. Selling partners whose business demands require higher throughput may see higher rate and burst values than those shown here. For more information, see [Usage Plans and Rate Limits in the Selling Partner API](https://developer-docs.amazon.com/sp-api/docs/usage-plans-and-rate-limits-in-the-sp-api).", "operationId": "estimateTransport", + "deprecated": true, "parameters": [ { "name": "shipmentId", @@ -2541,10 +2162,6 @@ "$ref": "#/definitions/EstimateTransportResponse" }, "headers": { - "x-amzn-RateLimit-Limit": { - "type": "string", - "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." - }, "x-amzn-RequestId": { "type": "string", "description": "Unique request reference identifier." @@ -2585,10 +2202,6 @@ "$ref": "#/definitions/EstimateTransportResponse" }, "headers": { - "x-amzn-RateLimit-Limit": { - "type": "string", - "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." - }, "x-amzn-RequestId": { "type": "string", "description": "Unique request reference identifier." @@ -2601,10 +2214,6 @@ "$ref": "#/definitions/EstimateTransportResponse" }, "headers": { - "x-amzn-RateLimit-Limit": { - "type": "string", - "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." - }, "x-amzn-RequestId": { "type": "string", "description": "Unique request reference identifier." @@ -2617,10 +2226,6 @@ "$ref": "#/definitions/EstimateTransportResponse" }, "headers": { - "x-amzn-RateLimit-Limit": { - "type": "string", - "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." - }, "x-amzn-RequestId": { "type": "string", "description": "Unique request reference identifier." @@ -2637,6 +2242,7 @@ ], "description": "Confirms that the seller accepts the Amazon-partnered shipping estimate, agrees to allow Amazon to charge their account for the shipping cost, and requests that the Amazon-partnered carrier ship the inbound shipment.\n\nPrior to calling the confirmTransport operation, you should call the getTransportDetails operation to get the Amazon-partnered shipping estimate.\n\nImportant: After confirming the transportation request, if the seller decides that they do not want the Amazon-partnered carrier to ship the inbound shipment, you can call the voidTransport operation to cancel the transportation request. Note that for a Small Parcel shipment, the seller has 24 hours after confirming a transportation request to void the transportation request. For a Less Than Truckload/Full Truckload (LTL/FTL) shipment, the seller has one hour after confirming a transportation request to void it. After the grace period has expired the seller's account will be charged for the shipping cost.\n\n**Usage Plan:**\n\n| Rate (requests per second) | Burst |\n| ---- | ---- |\n| 2 | 30 |\n\nThe `x-amzn-RateLimit-Limit` response header returns the usage plan rate limits that were applied to the requested operation, when available. The table above indicates the default rate and burst values for this operation. Selling partners whose business demands require higher throughput may see higher rate and burst values than those shown here. For more information, see [Usage Plans and Rate Limits in the Selling Partner API](https://developer-docs.amazon.com/sp-api/docs/usage-plans-and-rate-limits-in-the-sp-api).", "operationId": "confirmTransport", + "deprecated": true, "parameters": [ { "name": "shipmentId", @@ -2726,10 +2332,6 @@ "$ref": "#/definitions/ConfirmTransportResponse" }, "headers": { - "x-amzn-RateLimit-Limit": { - "type": "string", - "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." - }, "x-amzn-RequestId": { "type": "string", "description": "Unique request reference identifier." @@ -2770,10 +2372,6 @@ "$ref": "#/definitions/ConfirmTransportResponse" }, "headers": { - "x-amzn-RateLimit-Limit": { - "type": "string", - "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." - }, "x-amzn-RequestId": { "type": "string", "description": "Unique request reference identifier." @@ -2786,10 +2384,6 @@ "$ref": "#/definitions/ConfirmTransportResponse" }, "headers": { - "x-amzn-RateLimit-Limit": { - "type": "string", - "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." - }, "x-amzn-RequestId": { "type": "string", "description": "Unique request reference identifier." @@ -2802,10 +2396,6 @@ "$ref": "#/definitions/ConfirmTransportResponse" }, "headers": { - "x-amzn-RateLimit-Limit": { - "type": "string", - "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." - }, "x-amzn-RequestId": { "type": "string", "description": "Unique request reference identifier." @@ -2942,8 +2532,7 @@ "type": "array", "items": { "type": "string" - }, - "maxItems": 999 + } }, { "name": "NumberOfPallets", @@ -3057,10 +2646,6 @@ "$ref": "#/definitions/GetLabelsResponse" }, "headers": { - "x-amzn-RateLimit-Limit": { - "type": "string", - "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." - }, "x-amzn-RequestId": { "type": "string", "description": "Unique request reference identifier." @@ -3101,10 +2686,6 @@ "$ref": "#/definitions/GetLabelsResponse" }, "headers": { - "x-amzn-RateLimit-Limit": { - "type": "string", - "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." - }, "x-amzn-RequestId": { "type": "string", "description": "Unique request reference identifier." @@ -3117,10 +2698,6 @@ "$ref": "#/definitions/GetLabelsResponse" }, "headers": { - "x-amzn-RateLimit-Limit": { - "type": "string", - "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." - }, "x-amzn-RequestId": { "type": "string", "description": "Unique request reference identifier." @@ -3133,10 +2710,6 @@ "$ref": "#/definitions/GetLabelsResponse" }, "headers": { - "x-amzn-RateLimit-Limit": { - "type": "string", - "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." - }, "x-amzn-RequestId": { "type": "string", "description": "Unique request reference identifier." @@ -3240,10 +2813,6 @@ "$ref": "#/definitions/GetBillOfLadingResponse" }, "headers": { - "x-amzn-RateLimit-Limit": { - "type": "string", - "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." - }, "x-amzn-RequestId": { "type": "string", "description": "Unique request reference identifier." @@ -3284,10 +2853,6 @@ "$ref": "#/definitions/GetBillOfLadingResponse" }, "headers": { - "x-amzn-RateLimit-Limit": { - "type": "string", - "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." - }, "x-amzn-RequestId": { "type": "string", "description": "Unique request reference identifier." @@ -3300,10 +2865,6 @@ "$ref": "#/definitions/GetBillOfLadingResponse" }, "headers": { - "x-amzn-RateLimit-Limit": { - "type": "string", - "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." - }, "x-amzn-RequestId": { "type": "string", "description": "Unique request reference identifier." @@ -3316,10 +2877,6 @@ "$ref": "#/definitions/GetBillOfLadingResponse" }, "headers": { - "x-amzn-RateLimit-Limit": { - "type": "string", - "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." - }, "x-amzn-RequestId": { "type": "string", "description": "Unique request reference identifier." @@ -3336,6 +2893,7 @@ ], "description": "Returns a list of inbound shipments based on criteria that you specify.\n\n**Usage Plan:**\n\n| Rate (requests per second) | Burst |\n| ---- | ---- |\n| 2 | 30 |\n\nThe `x-amzn-RateLimit-Limit` response header returns the usage plan rate limits that were applied to the requested operation, when available. The table above indicates the default rate and burst values for this operation. Selling partners whose business demands require higher throughput may see higher rate and burst values than those shown here. For more information, see [Usage Plans and Rate Limits in the Selling Partner API](https://developer-docs.amazon.com/sp-api/docs/usage-plans-and-rate-limits-in-the-sp-api).", "operationId": "getShipments", + "deprecated": true, "parameters": [ { "name": "ShipmentStatusList", @@ -3414,7 +2972,8 @@ "type": "array", "items": { "type": "string" - } + }, + "maxItems": 999 }, { "name": "LastUpdatedAfter", @@ -3575,10 +3134,6 @@ "$ref": "#/definitions/GetShipmentsResponse" }, "headers": { - "x-amzn-RateLimit-Limit": { - "type": "string", - "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." - }, "x-amzn-RequestId": { "type": "string", "description": "Unique request reference identifier." @@ -3619,10 +3174,6 @@ "$ref": "#/definitions/GetShipmentsResponse" }, "headers": { - "x-amzn-RateLimit-Limit": { - "type": "string", - "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." - }, "x-amzn-RequestId": { "type": "string", "description": "Unique request reference identifier." @@ -3635,10 +3186,6 @@ "$ref": "#/definitions/GetShipmentsResponse" }, "headers": { - "x-amzn-RateLimit-Limit": { - "type": "string", - "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." - }, "x-amzn-RequestId": { "type": "string", "description": "Unique request reference identifier." @@ -3651,10 +3198,6 @@ "$ref": "#/definitions/GetShipmentsResponse" }, "headers": { - "x-amzn-RateLimit-Limit": { - "type": "string", - "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." - }, "x-amzn-RequestId": { "type": "string", "description": "Unique request reference identifier." @@ -3671,6 +3214,7 @@ ], "description": "Returns a list of items in a specified inbound shipment.\n\n**Usage Plan:**\n\n| Rate (requests per second) | Burst |\n| ---- | ---- |\n| 2 | 30 |\n\nThe `x-amzn-RateLimit-Limit` response header returns the usage plan rate limits that were applied to the requested operation, when available. The table above indicates the default rate and burst values for this operation. Selling partners whose business demands require higher throughput may see higher rate and burst values than those shown here. For more information, see [Usage Plans and Rate Limits in the Selling Partner API](https://developer-docs.amazon.com/sp-api/docs/usage-plans-and-rate-limits-in-the-sp-api).", "operationId": "getShipmentItemsByShipmentId", + "deprecated": true, "parameters": [ { "name": "shipmentId", @@ -3792,10 +3336,6 @@ "$ref": "#/definitions/GetShipmentItemsResponse" }, "headers": { - "x-amzn-RateLimit-Limit": { - "type": "string", - "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." - }, "x-amzn-RequestId": { "type": "string", "description": "Unique request reference identifier." @@ -3836,10 +3376,6 @@ "$ref": "#/definitions/GetShipmentItemsResponse" }, "headers": { - "x-amzn-RateLimit-Limit": { - "type": "string", - "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." - }, "x-amzn-RequestId": { "type": "string", "description": "Unique request reference identifier." @@ -3852,10 +3388,6 @@ "$ref": "#/definitions/GetShipmentItemsResponse" }, "headers": { - "x-amzn-RateLimit-Limit": { - "type": "string", - "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." - }, "x-amzn-RequestId": { "type": "string", "description": "Unique request reference identifier." @@ -3868,10 +3400,6 @@ "$ref": "#/definitions/GetShipmentItemsResponse" }, "headers": { - "x-amzn-RateLimit-Limit": { - "type": "string", - "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." - }, "x-amzn-RequestId": { "type": "string", "description": "Unique request reference identifier." @@ -3888,6 +3416,7 @@ ], "description": "Returns a list of items in a specified inbound shipment, or a list of items that were updated within a specified time frame.\n\n**Usage Plan:**\n\n| Rate (requests per second) | Burst |\n| ---- | ---- |\n| 2 | 30 |\n\nThe `x-amzn-RateLimit-Limit` response header returns the usage plan rate limits that were applied to the requested operation, when available. The table above indicates the default rate and burst values for this operation. Selling partners whose business demands require higher throughput may see higher rate and burst values than those shown here. For more information, see [Usage Plans and Rate Limits in the Selling Partner API](https://developer-docs.amazon.com/sp-api/docs/usage-plans-and-rate-limits-in-the-sp-api).", "operationId": "getShipmentItems", + "deprecated": true, "parameters": [ { "name": "LastUpdatedAfter", @@ -4092,10 +3621,6 @@ "$ref": "#/definitions/GetShipmentItemsResponse" }, "headers": { - "x-amzn-RateLimit-Limit": { - "type": "string", - "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." - }, "x-amzn-RequestId": { "type": "string", "description": "Unique request reference identifier." @@ -4136,10 +3661,6 @@ "$ref": "#/definitions/GetShipmentItemsResponse" }, "headers": { - "x-amzn-RateLimit-Limit": { - "type": "string", - "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." - }, "x-amzn-RequestId": { "type": "string", "description": "Unique request reference identifier." @@ -4152,10 +3673,6 @@ "$ref": "#/definitions/GetShipmentItemsResponse" }, "headers": { - "x-amzn-RateLimit-Limit": { - "type": "string", - "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." - }, "x-amzn-RequestId": { "type": "string", "description": "Unique request reference identifier." @@ -4168,10 +3685,6 @@ "$ref": "#/definitions/GetShipmentItemsResponse" }, "headers": { - "x-amzn-RateLimit-Limit": { - "type": "string", - "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." - }, "x-amzn-RequestId": { "type": "string", "description": "Unique request reference identifier." @@ -4268,6 +3781,7 @@ }, "Address": { "type": "object", + "description": "Specific details to identify a place.", "required": [ "AddressLine1", "City", @@ -4379,7 +3893,8 @@ }, "BigDecimalType": { "type": "number", - "format": "double" + "format": "double", + "description": "Number format that supports decimal." }, "BoxContentsFeeDetails": { "type": "object", @@ -4536,7 +4051,8 @@ "description": "Date that determines which pre-order items in the shipment are eligible for pre-order. The pre-order Buy Box will appear for any pre-order item in the shipment with a release date on or after this date. In YYYY-MM-DD format.", "$ref": "#/definitions/DateStringType" } - } + }, + "description": "Result for confirm preorder operation" }, "ConfirmPreorderResponse": { "type": "object", @@ -4557,7 +4073,8 @@ "TransportResult": { "$ref": "#/definitions/TransportResult" } - } + }, + "description": "Common container for transport result" }, "ConfirmTransportResponse": { "type": "object", @@ -4639,7 +4156,8 @@ "InboundShipmentPlans": { "$ref": "#/definitions/InboundShipmentPlanList" } - } + }, + "description": "Result for the create inbound shipment operation" }, "CreateInboundShipmentPlanResponse": { "type": "object", @@ -4685,7 +4203,8 @@ "type": "string", "description": "The shipment identifier submitted in the request." } - } + }, + "description": "Result of an inbound shipment operation" }, "InboundShipmentResponse": { "type": "object", @@ -4720,7 +4239,8 @@ }, "DateStringType": { "type": "string", - "format": "date" + "format": "date", + "description": "Type containing date in string format" }, "Dimensions": { "type": "object", @@ -4809,20 +4329,8 @@ "InvalidASINList": { "$ref": "#/definitions/InvalidASINList" } - } - }, - "GetInboundGuidanceResponse": { - "type": "object", - "properties": { - "payload": { - "description": "The payload for the getInboundGuidance operation.", - "$ref": "#/definitions/GetInboundGuidanceResult" - }, - "errors": { - "$ref": "#/definitions/ErrorList" - } }, - "description": "The response schema for the getInboundGuidance operation." + "description": "Result for the get inbound guidance operation" }, "LabelDownloadURL": { "type": "object", @@ -4831,7 +4339,8 @@ "type": "string", "description": "URL to download the label for the package. Note: The URL will only be valid for 15 seconds" } - } + }, + "description": "Download URL for a label" }, "BillOfLadingDownloadURL": { "type": "object", @@ -4840,7 +4349,8 @@ "type": "string", "description": "URL to download the bill of lading for the package. Note: The URL will only be valid for 15 seconds" } - } + }, + "description": "Download URL for the bill of lading." }, "GetLabelsResponse": { "type": "object", @@ -4874,7 +4384,8 @@ "description": "Date in YYYY-MM-DD format that determines which pre-order items in the shipment are eligible for pre-order. If this shipment is confirmed for pre-order with a subsequent call to the confirmPreorder operation, the pre-order Buy Box will appear for any pre-order items in the shipment with a release date on or after this date. Call the getShipmentItems operation to get the release dates for the pre-order items in this shipment.", "$ref": "#/definitions/DateStringType" } - } + }, + "description": "Result for the get preorder info operation" }, "GetPreorderInfoResponse": { "type": "object", @@ -4905,7 +4416,8 @@ "InvalidASINList": { "$ref": "#/definitions/InvalidASINList" } - } + }, + "description": "Result for the get prep instructions operation" }, "GetPrepInstructionsResponse": { "type": "object", @@ -4926,7 +4438,8 @@ "TransportContent": { "$ref": "#/definitions/TransportContent" } - } + }, + "description": "Result for the get transport details operation" }, "GetTransportDetailsResponse": { "type": "object", @@ -5237,7 +4750,8 @@ "type": "array", "items": { "$ref": "#/definitions/InboundShipmentPlanRequestItem" - } + }, + "description": "List of inbound shipment plan requests" }, "IntendedBoxContentsSource": { "type": "string", @@ -5273,7 +4787,8 @@ "description": "The reason that the ASIN is invalid.", "$ref": "#/definitions/ErrorReason" } - } + }, + "description": "Contains details about an invalid ASIN" }, "InvalidASINList": { "type": "array", @@ -5293,7 +4808,8 @@ "description": "The reason why the seller SKU is invalid.", "$ref": "#/definitions/ErrorReason" } - } + }, + "description": "Contains detail about an invalid SKU" }, "InvalidSKUList": { "type": "array", @@ -5359,7 +4875,8 @@ "type": "string", "description": "When present and not empty, pass this string token in the next request to return the next response page." } - } + }, + "description": "Result for the get shipment items operation" }, "GetShipmentItemsResponse": { "type": "object", @@ -5385,7 +4902,8 @@ "type": "string", "description": "When present and not empty, pass this string token in the next request to return the next response page." } - } + }, + "description": "Result for the get shipments operation" }, "GetShipmentsResponse": { "type": "object", @@ -6245,7 +5763,8 @@ }, "TimeStampStringType": { "type": "string", - "format": "date-time" + "format": "date-time", + "description": "Timestamp in ISO 8601 format." }, "TrackingId": { "type": "string", @@ -6455,7 +5974,8 @@ }, "UnsignedIntType": { "type": "integer", - "format": "int64" + "format": "int64", + "description": "Contains an unsigned integer" }, "VoidTransportResponse": { "type": "object", From c4313fd37431cac1018c7a3e577ae79b15968d1a Mon Sep 17 00:00:00 2001 From: Jack Evoniuk Date: Wed, 27 Mar 2024 11:27:50 -0700 Subject: [PATCH 302/340] Update Merchant Fulfillment model --- .../merchantFulfillmentV0.json | 183 ++++++++---------- 1 file changed, 85 insertions(+), 98 deletions(-) diff --git a/models/merchant-fulfillment-api-model/merchantFulfillmentV0.json b/models/merchant-fulfillment-api-model/merchantFulfillmentV0.json index 15687bc6f..64e4dad87 100644 --- a/models/merchant-fulfillment-api-model/merchantFulfillmentV0.json +++ b/models/merchant-fulfillment-api-model/merchantFulfillmentV0.json @@ -35,7 +35,6 @@ { "in": "body", "name": "body", - "description": "Request schema for GetEligibleShipmentServices operation.", "required": true, "schema": { "$ref": "#/definitions/GetEligibleShipmentServicesRequest" @@ -142,13 +141,7 @@ { "LabelFormat": "PNG" } - ], - "Benefits": { - "IncludedBenefits": [ - "CLAIMS_PROTECTED" - ], - "ExcludedBenefits": [] - } + ] }, { "ShippingServiceName": "UPS Next Day Air Saver\u00AE", @@ -186,18 +179,7 @@ { "LabelFormat": "PNG" } - ], - "Benefits": { - "IncludedBenefits": [], - "ExcludedBenefits": [ - { - "Benefit": "CLAIMS_PROTECTED", - "ReasonCodes": [ - "LATE_DELIVERY_RISK" - ] - } - ] - } + ] } ], "TemporarilyUnavailableCarrierList": [ @@ -301,6 +283,10 @@ "$ref": "#/definitions/GetEligibleShipmentServicesResponse" }, "headers": { + "x-amzn-RateLimit-Limit": { + "type": "string", + "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." + }, "x-amzn-RequestId": { "type": "string", "description": "Unique request reference identifier." @@ -341,6 +327,10 @@ "$ref": "#/definitions/GetEligibleShipmentServicesResponse" }, "headers": { + "x-amzn-RateLimit-Limit": { + "type": "string", + "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." + }, "x-amzn-RequestId": { "type": "string", "description": "Unique request reference identifier." @@ -353,6 +343,10 @@ "$ref": "#/definitions/GetEligibleShipmentServicesResponse" }, "headers": { + "x-amzn-RateLimit-Limit": { + "type": "string", + "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." + }, "x-amzn-RequestId": { "type": "string", "description": "Unique request reference identifier." @@ -365,6 +359,10 @@ "$ref": "#/definitions/GetEligibleShipmentServicesResponse" }, "headers": { + "x-amzn-RateLimit-Limit": { + "type": "string", + "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." + }, "x-amzn-RequestId": { "type": "string", "description": "Unique request reference identifier." @@ -480,18 +478,7 @@ "Amount": 0.0 } }, - "RequiresAdditionalSellerInputs": false, - "Benefits": { - "IncludedBenefits": [], - "ExcludedBenefits": [ - { - "Benefit": "CLAIMS_PROTECTED", - "ReasonCodes": [ - "LATE_DELIVERY_RISK" - ] - } - ] - } + "RequiresAdditionalSellerInputs": false }, "Label": { "Dimensions": { @@ -559,6 +546,10 @@ "$ref": "#/definitions/GetShipmentResponse" }, "headers": { + "x-amzn-RateLimit-Limit": { + "type": "string", + "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." + }, "x-amzn-RequestId": { "type": "string", "description": "Unique request reference identifier." @@ -599,6 +590,10 @@ "$ref": "#/definitions/GetShipmentResponse" }, "headers": { + "x-amzn-RateLimit-Limit": { + "type": "string", + "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." + }, "x-amzn-RequestId": { "type": "string", "description": "Unique request reference identifier." @@ -611,6 +606,10 @@ "$ref": "#/definitions/GetShipmentResponse" }, "headers": { + "x-amzn-RateLimit-Limit": { + "type": "string", + "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." + }, "x-amzn-RequestId": { "type": "string", "description": "Unique request reference identifier." @@ -623,6 +622,10 @@ "$ref": "#/definitions/GetShipmentResponse" }, "headers": { + "x-amzn-RateLimit-Limit": { + "type": "string", + "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." + }, "x-amzn-RequestId": { "type": "string", "description": "Unique request reference identifier." @@ -800,6 +803,10 @@ "$ref": "#/definitions/CancelShipmentResponse" }, "headers": { + "x-amzn-RateLimit-Limit": { + "type": "string", + "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." + }, "x-amzn-RequestId": { "type": "string", "description": "Unique request reference identifier." @@ -840,6 +847,10 @@ "$ref": "#/definitions/CancelShipmentResponse" }, "headers": { + "x-amzn-RateLimit-Limit": { + "type": "string", + "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." + }, "x-amzn-RequestId": { "type": "string", "description": "Unique request reference identifier." @@ -852,6 +863,10 @@ "$ref": "#/definitions/CancelShipmentResponse" }, "headers": { + "x-amzn-RateLimit-Limit": { + "type": "string", + "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." + }, "x-amzn-RequestId": { "type": "string", "description": "Unique request reference identifier." @@ -864,6 +879,10 @@ "$ref": "#/definitions/CancelShipmentResponse" }, "headers": { + "x-amzn-RateLimit-Limit": { + "type": "string", + "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." + }, "x-amzn-RequestId": { "type": "string", "description": "Unique request reference identifier." @@ -884,7 +903,6 @@ { "in": "body", "name": "body", - "description": "Request schema for CreateShipment operation.", "required": true, "schema": { "$ref": "#/definitions/CreateShipmentRequest" @@ -1018,13 +1036,7 @@ "Amount": 0 } }, - "RequiresAdditionalSellerInputs": false, - "Benefits": { - "IncludedBenefits": [ - "CLAIMS_PROTECTED" - ], - "ExcludedBenefits": [] - } + "RequiresAdditionalSellerInputs": false }, "Label": { "Dimensions": { @@ -1129,6 +1141,10 @@ "$ref": "#/definitions/CreateShipmentResponse" }, "headers": { + "x-amzn-RateLimit-Limit": { + "type": "string", + "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." + }, "x-amzn-RequestId": { "type": "string", "description": "Unique request reference identifier." @@ -1169,6 +1185,10 @@ "$ref": "#/definitions/CreateShipmentResponse" }, "headers": { + "x-amzn-RateLimit-Limit": { + "type": "string", + "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." + }, "x-amzn-RequestId": { "type": "string", "description": "Unique request reference identifier." @@ -1181,6 +1201,10 @@ "$ref": "#/definitions/CreateShipmentResponse" }, "headers": { + "x-amzn-RateLimit-Limit": { + "type": "string", + "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." + }, "x-amzn-RequestId": { "type": "string", "description": "Unique request reference identifier." @@ -1193,6 +1217,10 @@ "$ref": "#/definitions/CreateShipmentResponse" }, "headers": { + "x-amzn-RateLimit-Limit": { + "type": "string", + "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." + }, "x-amzn-RequestId": { "type": "string", "description": "Unique request reference identifier." @@ -1213,7 +1241,6 @@ { "in": "body", "name": "body", - "description": "Request schema for GetAdditionalSellerInputs operation.", "required": true, "schema": { "$ref": "#/definitions/GetAdditionalSellerInputsRequest" @@ -1335,6 +1362,10 @@ "$ref": "#/definitions/GetAdditionalSellerInputsResponse" }, "headers": { + "x-amzn-RateLimit-Limit": { + "type": "string", + "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." + }, "x-amzn-RequestId": { "type": "string", "description": "Unique request reference identifier." @@ -1375,6 +1406,10 @@ "$ref": "#/definitions/GetAdditionalSellerInputsResponse" }, "headers": { + "x-amzn-RateLimit-Limit": { + "type": "string", + "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." + }, "x-amzn-RequestId": { "type": "string", "description": "Unique request reference identifier." @@ -1387,6 +1422,10 @@ "$ref": "#/definitions/GetAdditionalSellerInputsResponse" }, "headers": { + "x-amzn-RateLimit-Limit": { + "type": "string", + "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." + }, "x-amzn-RequestId": { "type": "string", "description": "Unique request reference identifier." @@ -1399,6 +1438,10 @@ "$ref": "#/definitions/GetAdditionalSellerInputsResponse" }, "headers": { + "x-amzn-RateLimit-Limit": { + "type": "string", + "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." + }, "x-amzn-RequestId": { "type": "string", "description": "Unique request reference identifier." @@ -1526,11 +1569,7 @@ "description": "The available shipping service options." }, "AvailableFormatOptionsForLabel": { - "type": "array", - "description": "The available label formats.", - "items": { - "$ref": "#/definitions/LabelFormatOption" - } + "$ref": "#/definitions/AvailableFormatOptionsForLabelList" }, "AvailableFormatOptionsForLabelList": { "type": "array", @@ -1773,52 +1812,6 @@ "type": "string", "description": "An Amazon-defined order identifier, in 3-7-7 format." }, - "Benefits": { - "type": "object", - "description": "Benefits that are included and excluded for each shipping offer. Benefits represents services provided by Amazon (eg. CLAIMS_PROTECTED, etc.) when sellers purchase shipping through Amazon. Benefit details will be made available for any shipment placed on or after January 1st 2024 00:00 UTC", - "properties": { - "IncludedBenefits": { - "$ref": "#/definitions/IncludedBenefits" - }, - "ExcludedBenefits": { - "$ref": "#/definitions/ExcludedBenefits" - } - } - }, - "IncludedBenefits": { - "type": "array", - "description": "A list of included benefits.", - "items": { - "type": "string" - } - }, - "ExcludedBenefits": { - "type": "array", - "description": "A list of excluded benefit. Refer to the ExcludeBenefit object for further documentation.", - "items": { - "$ref": "#/definitions/ExcludedBenefit" - } - }, - "ExcludedBenefit": { - "type": "object", - "description": "Object representing an excluded benefit that is excluded for a shipping offer or rate.", - "properties": { - "Benefit": { - "description": "Benefit that is being excluded from a shipment.", - "type": "string" - }, - "ReasonCodes": { - "$ref": "#/definitions/ExcludedBenefitReasonCodes" - } - } - }, - "ExcludedBenefitReasonCodes": { - "type": "array", - "description": "List of reasons (eg. LATE_DELIVERY_RISK, etc.) indicating why a benefit is excluded for a shipping offer.", - "items": { - "type": "string" - } - }, "CancelShipmentResponse": { "type": "object", "properties": { @@ -1890,7 +1883,6 @@ }, "ItemLevelFields": { "type": "object", - "description": "A list of item level fields.", "required": [ "AdditionalInputs", "Asin" @@ -2325,7 +2317,6 @@ }, "PackageDimension": { "type": "number", - "description": "Number representing the given package dimension.", "format": "double" }, "PackageDimensions": { @@ -2905,9 +2896,6 @@ "RequiresAdditionalSellerInputs": { "type": "boolean", "description": "When true, additional seller inputs are required." - }, - "Benefits": { - "$ref": "#/definitions/Benefits" } }, "description": "A shipping service offer made by a carrier." @@ -3074,7 +3062,6 @@ }, "Timestamp": { "type": "string", - "description": "Date-time formatted timestamp.", "format": "date-time" }, "TrackingId": { From eda79c6dcb8544cd42db86dbad3dc73ad5b66dab Mon Sep 17 00:00:00 2001 From: Gibran Waldron Date: Fri, 29 Mar 2024 15:02:38 -0700 Subject: [PATCH 303/340] Add redirect for FBA small and light API. --- .../fbaSmallandLight.json | 2271 ----------------- 1 file changed, 2271 deletions(-) delete mode 100644 models/fba-small-and-light-api-model/fbaSmallandLight.json diff --git a/models/fba-small-and-light-api-model/fbaSmallandLight.json b/models/fba-small-and-light-api-model/fbaSmallandLight.json deleted file mode 100644 index b5e5aac98..000000000 --- a/models/fba-small-and-light-api-model/fbaSmallandLight.json +++ /dev/null @@ -1,2271 +0,0 @@ -{ - "swagger": "2.0", - "info": { - "description": "The Selling Partner API for FBA Small and Light lets you help sellers manage their listings in the Small and Light program. The program reduces the cost of fulfilling orders for small and lightweight FBA inventory. You can enroll or remove items from the program and check item eligibility and enrollment status. You can also preview the estimated program fees charged to a seller for items sold while enrolled in the program. \n\n**Note:** The FBA Small and Light program sunset in the US and EU regions on **September 26, 2023**. The program will be deprecated in the JP region on **March 31, 2024** and sunset on **April 1, 2024**. APIs announcing deprecation will no longer be supported after their deprecation date. Calls to deprecated APIs will fail beginning on their sunset date. For more information, refer to [FBA Small and Light program deprecation](https://developer-docs.amazon.com/sp-api/changelog/fba-small-and-light-program-deprecation).", - "version": "v1", - "title": "Selling Partner API for FBA Small And Light", - "contact": { - "name": "Selling Partner API Developer Support", - "url": "https://sellercentral.amazon.com/gp/mws/contactus.html" - }, - "license": { - "name": "Apache License 2.0", - "url": "http://www.apache.org/licenses/LICENSE-2.0" - } - }, - "host": "sellingpartnerapi-na.amazon.com", - "schemes": [ - "https" - ], - "consumes": [ - "application/json" - ], - "produces": [ - "application/json" - ], - "paths": { - "/fba/smallAndLight/v1/enrollments/{sellerSKU}": { - "get": { - "tags": [ - "smallAndLight" - ], - "description": "Returns the Small and Light enrollment status for the item indicated by the specified seller SKU in the specified marketplace.\n\n**Usage Plan:**\n\n| Rate (requests per second) | Burst |\n| ---- | ---- |\n| 2 | 10 |\n\nThe `x-amzn-RateLimit-Limit` response header returns the usage plan rate limits that were applied to the requested operation, when available. The table above indicates the default rate and burst values for this operation. Selling partners whose business demands require higher throughput may see higher rate and burst values than those shown here. For more information, see [Usage Plans and Rate Limits in the Selling Partner API](https://developer-docs.amazon.com/sp-api/docs/usage-plans-and-rate-limits-in-the-sp-api).", - "operationId": "getSmallAndLightEnrollmentBySellerSKU", - "deprecated": true, - "parameters": [ - { - "name": "sellerSKU", - "in": "path", - "description": "The seller SKU that identifies the item.", - "required": true, - "type": "string" - }, - { - "name": "marketplaceIds", - "in": "query", - "description": "The marketplace for which the enrollment status is retrieved. Note: Accepts a single marketplace only.", - "required": true, - "type": "array", - "items": { - "type": "string" - }, - "maxItems": 1 - } - ], - "responses": { - "200": { - "description": "Success.", - "schema": { - "$ref": "#/definitions/SmallAndLightEnrollment" - }, - "headers": { - "x-amzn-RateLimit-Limit": { - "type": "string", - "description": "Your rate limit (requests per second) for this operation." - }, - "x-amzn-RequestId": { - "type": "string", - "description": "Unique request reference identifier." - } - }, - "x-amzn-api-sandbox": { - "static": [ - { - "request": { - "parameters": { - "sellerSKU": { - "value": "SKU_ENROLLED_IN_SMALL_AND_LIGHT" - }, - "marketplaceIds": { - "value": [ - "ATVPDKIKX0DER" - ] - } - } - }, - "response": { - "marketplaceId": "ATVPDKIKX0DER", - "sellerSKU": "SKU_ENROLLED_IN_SMALL_AND_LIGHT", - "status": "ENROLLED" - } - } - ] - } - }, - "400": { - "description": "Request has missing or invalid parameters and cannot be parsed.", - "schema": { - "$ref": "#/definitions/ErrorList" - }, - "headers": { - "x-amzn-RateLimit-Limit": { - "type": "string", - "description": "Your rate limit (requests per second) for this operation." - }, - "x-amzn-RequestId": { - "type": "string", - "description": "Unique request reference identifier." - } - }, - "x-amzn-api-sandbox": { - "static": [ - { - "request": { - "parameters": { - "sellerSKU": { - "value": "SKU_400" - }, - "marketplaceIds": { - "value": [ - "ATVPDKIKX0DER" - ] - } - } - }, - "response": { - "errors": [ - { - "code": "InvalidInput", - "message": "Invalid input." - } - ] - } - } - ] - } - }, - "403": { - "description": "Indicates that access to the resource is forbidden. Possible reasons include Access Denied, Unauthorized, Expired Token, or Invalid Signature.", - "schema": { - "$ref": "#/definitions/ErrorList" - }, - "headers": { - "x-amzn-RequestId": { - "type": "string", - "description": "Unique request reference identifier." - } - }, - "x-amzn-api-sandbox": { - "static": [ - { - "request": { - "parameters": { - "sellerSKU": { - "value": "SKU_403" - }, - "marketplaceIds": { - "value": [ - "ATVPDKIKX0DER" - ] - } - } - }, - "response": { - "errors": [ - { - "code": "Unauthorized", - "message": "Access to requested resource is denied." - } - ] - } - } - ] - } - }, - "404": { - "description": "The resource specified does not exist.", - "schema": { - "$ref": "#/definitions/ErrorList" - }, - "headers": { - "x-amzn-RateLimit-Limit": { - "type": "string", - "description": "Your rate limit (requests per second) for this operation." - }, - "x-amzn-RequestId": { - "type": "string", - "description": "Unique request reference identifier." - } - }, - "x-amzn-api-sandbox": { - "static": [ - { - "request": { - "parameters": { - "sellerSKU": { - "value": "SKU_404" - }, - "marketplaceIds": { - "value": [ - "ATVPDKIKX0DER" - ] - } - } - }, - "response": { - "errors": [ - { - "code": "NotFound", - "message": "Requested resource is not found" - } - ] - } - } - ] - } - }, - "413": { - "description": "The request size exceeded the maximum accepted size.", - "schema": { - "$ref": "#/definitions/ErrorList" - }, - "headers": { - "x-amzn-RateLimit-Limit": { - "type": "string", - "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." - }, - "x-amzn-RequestId": { - "type": "string", - "description": "Unique request reference identifier." - } - }, - "x-amzn-api-sandbox": { - "static": [ - { - "request": { - "parameters": { - "sellerSKU": { - "value": "SKU_413" - }, - "marketplaceIds": { - "value": [ - "ATVPDKIKX0DER" - ] - } - } - }, - "response": { - "errors": [ - { - "code": "PayloadTooLarge", - "message": "Payload of the request is too large." - } - ] - } - } - ] - } - }, - "415": { - "description": "The request payload is in an unsupported format.", - "schema": { - "$ref": "#/definitions/ErrorList" - }, - "headers": { - "x-amzn-RateLimit-Limit": { - "type": "string", - "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." - }, - "x-amzn-RequestId": { - "type": "string", - "description": "Unique request reference identifier." - } - }, - "x-amzn-api-sandbox": { - "static": [ - { - "request": { - "parameters": { - "sellerSKU": { - "value": "SKU_415" - }, - "marketplaceIds": { - "value": [ - "ATVPDKIKX0DER" - ] - } - } - }, - "response": { - "errors": [ - { - "code": "UnsupportedType", - "message": "The entity of the request is of unsupported type." - } - ] - } - } - ] - } - }, - "429": { - "description": "The frequency of requests was greater than allowed.", - "schema": { - "$ref": "#/definitions/ErrorList" - }, - "headers": { - "x-amzn-RateLimit-Limit": { - "type": "string", - "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." - }, - "x-amzn-RequestId": { - "type": "string", - "description": "Unique request reference identifier." - } - }, - "x-amzn-api-sandbox": { - "static": [ - { - "request": { - "parameters": { - "sellerSKU": { - "value": "SKU_429" - }, - "marketplaceIds": { - "value": [ - "ATVPDKIKX0DER" - ] - } - } - }, - "response": { - "errors": [ - { - "code": "TooManyRequests", - "message": "Total number of requests exceed your allowed limits." - } - ] - } - } - ] - } - }, - "500": { - "description": "An unexpected condition occurred that prevented the server from fulfilling the request.", - "schema": { - "$ref": "#/definitions/ErrorList" - }, - "headers": { - "x-amzn-RateLimit-Limit": { - "type": "string", - "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." - }, - "x-amzn-RequestId": { - "type": "string", - "description": "Unique request reference identifier." - } - }, - "x-amzn-api-sandbox": { - "static": [ - { - "request": { - "parameters": { - "sellerSKU": { - "value": "SKU_500" - }, - "marketplaceIds": { - "value": [ - "ATVPDKIKX0DER" - ] - } - } - }, - "response": { - "errors": [ - { - "code": "InternalServerError", - "message": "Server encountered an unexpected condition while processing your request." - } - ] - } - } - ] - } - }, - "503": { - "description": "Temporary overloading or maintenance of the server.", - "schema": { - "$ref": "#/definitions/ErrorList" - }, - "headers": { - "x-amzn-RateLimit-Limit": { - "type": "string", - "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." - }, - "x-amzn-RequestId": { - "type": "string", - "description": "Unique request reference identifier." - } - }, - "x-amzn-api-sandbox": { - "static": [ - { - "request": { - "parameters": { - "sellerSKU": { - "value": "SKU_503" - }, - "marketplaceIds": { - "value": [ - "ATVPDKIKX0DER" - ] - } - } - }, - "response": { - "errors": [ - { - "code": "ServiceUnavailable", - "message": "Server is temporarily unavailable." - } - ] - } - } - ] - } - } - } - }, - "put": { - "tags": [ - "smallAndLight" - ], - "description": "Enrolls the item indicated by the specified seller SKU in the Small and Light program in the specified marketplace. If the item is not eligible, the ineligibility reasons are returned.\n\n**Usage Plan:**\n\n| Rate (requests per second) | Burst |\n| ---- | ---- |\n| 2 | 5 |\n\nThe `x-amzn-RateLimit-Limit` response header returns the usage plan rate limits that were applied to the requested operation, when available. The table above indicates the default rate and burst values for this operation. Selling partners whose business demands require higher throughput may see higher rate and burst values than those shown here. For more information, see [Usage Plans and Rate Limits in the Selling Partner API](https://developer-docs.amazon.com/sp-api/docs/usage-plans-and-rate-limits-in-the-sp-api).", - "operationId": "putSmallAndLightEnrollmentBySellerSKU", - "deprecated": true, - "parameters": [ - { - "name": "sellerSKU", - "in": "path", - "description": "The seller SKU that identifies the item.", - "required": true, - "type": "string" - }, - { - "name": "marketplaceIds", - "in": "query", - "description": "The marketplace in which to enroll the item. Note: Accepts a single marketplace only.", - "required": true, - "type": "array", - "items": { - "type": "string" - }, - "maxItems": 1 - } - ], - "responses": { - "200": { - "description": "Success.", - "schema": { - "$ref": "#/definitions/SmallAndLightEnrollment" - }, - "headers": { - "x-amzn-RateLimit-Limit": { - "type": "string", - "description": "Your rate limit (requests per second) for this operation." - }, - "x-amzn-RequestId": { - "type": "string", - "description": "Unique request reference identifier." - } - }, - "x-amzn-api-sandbox": { - "static": [ - { - "request": { - "parameters": { - "sellerSKU": { - "value": "SKU_ELIGIBLE_FOR_SMALL_AND_LIGHT" - }, - "marketplaceIds": { - "value": [ - "ATVPDKIKX0DER" - ] - } - } - }, - "response": { - "marketplaceId": "ATVPDKIKX0DER", - "sellerSKU": "SKU_ELIGIBLE_FOR_SMALL_AND_LIGHT", - "status": "ENROLLED" - } - } - ] - } - }, - "400": { - "description": "Request has missing or invalid parameters and cannot be parsed.", - "schema": { - "$ref": "#/definitions/ErrorList" - }, - "headers": { - "x-amzn-RateLimit-Limit": { - "type": "string", - "description": "Your rate limit (requests per second) for this operation." - }, - "x-amzn-RequestId": { - "type": "string", - "description": "Unique request reference identifier." - } - }, - "x-amzn-api-sandbox": { - "static": [ - { - "request": { - "parameters": { - "sellerSKU": { - "value": "SKU_400" - }, - "marketplaceIds": { - "value": [ - "ATVPDKIKX0DER" - ] - } - } - }, - "response": { - "errors": [ - { - "code": "InvalidInput", - "message": "Invalid input." - } - ] - } - } - ] - } - }, - "403": { - "description": "Indicates that access to the resource is forbidden. Possible reasons include Access Denied, Unauthorized, Expired Token, or Invalid Signature.", - "schema": { - "$ref": "#/definitions/ErrorList" - }, - "headers": { - "x-amzn-RequestId": { - "type": "string", - "description": "Unique request reference identifier." - } - }, - "x-amzn-api-sandbox": { - "static": [ - { - "request": { - "parameters": { - "sellerSKU": { - "value": "SKU_403" - }, - "marketplaceIds": { - "value": [ - "ATVPDKIKX0DER" - ] - } - } - }, - "response": { - "errors": [ - { - "code": "Unauthorized", - "message": "Access to requested resource is denied." - } - ] - } - } - ] - } - }, - "404": { - "description": "The resource specified does not exist.", - "schema": { - "$ref": "#/definitions/ErrorList" - }, - "headers": { - "x-amzn-RateLimit-Limit": { - "type": "string", - "description": "Your rate limit (requests per second) for this operation." - }, - "x-amzn-RequestId": { - "type": "string", - "description": "Unique request reference identifier." - } - }, - "x-amzn-api-sandbox": { - "static": [ - { - "request": { - "parameters": { - "sellerSKU": { - "value": "SKU_404" - }, - "marketplaceIds": { - "value": [ - "ATVPDKIKX0DER" - ] - } - } - }, - "response": { - "errors": [ - { - "code": "NotFound", - "message": "Requested resource is not found" - } - ] - } - } - ] - } - }, - "413": { - "description": "The request size exceeded the maximum accepted size.", - "schema": { - "$ref": "#/definitions/ErrorList" - }, - "headers": { - "x-amzn-RateLimit-Limit": { - "type": "string", - "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." - }, - "x-amzn-RequestId": { - "type": "string", - "description": "Unique request reference identifier." - } - }, - "x-amzn-api-sandbox": { - "static": [ - { - "request": { - "parameters": { - "sellerSKU": { - "value": "SKU_413" - }, - "marketplaceIds": { - "value": [ - "ATVPDKIKX0DER" - ] - } - } - }, - "response": { - "errors": [ - { - "code": "PayloadTooLarge", - "message": "Payload of the request is too large." - } - ] - } - } - ] - } - }, - "415": { - "description": "The request payload is in an unsupported format.", - "schema": { - "$ref": "#/definitions/ErrorList" - }, - "headers": { - "x-amzn-RateLimit-Limit": { - "type": "string", - "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." - }, - "x-amzn-RequestId": { - "type": "string", - "description": "Unique request reference identifier." - } - }, - "x-amzn-api-sandbox": { - "static": [ - { - "request": { - "parameters": { - "sellerSKU": { - "value": "SKU_415" - }, - "marketplaceIds": { - "value": [ - "ATVPDKIKX0DER" - ] - } - } - }, - "response": { - "errors": [ - { - "code": "UnsupportedType", - "message": "The entity of the request is of unsupported type." - } - ] - } - } - ] - } - }, - "429": { - "description": "The frequency of requests was greater than allowed.", - "schema": { - "$ref": "#/definitions/ErrorList" - }, - "headers": { - "x-amzn-RateLimit-Limit": { - "type": "string", - "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." - }, - "x-amzn-RequestId": { - "type": "string", - "description": "Unique request reference identifier." - } - }, - "x-amzn-api-sandbox": { - "static": [ - { - "request": { - "parameters": { - "sellerSKU": { - "value": "SKU_429" - }, - "marketplaceIds": { - "value": [ - "ATVPDKIKX0DER" - ] - } - } - }, - "response": { - "errors": [ - { - "code": "TooManyRequests", - "message": "Total number of requests exceed your allowed limits." - } - ] - } - } - ] - } - }, - "500": { - "description": "An unexpected condition occurred that prevented the server from fulfilling the request.", - "schema": { - "$ref": "#/definitions/ErrorList" - }, - "headers": { - "x-amzn-RateLimit-Limit": { - "type": "string", - "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." - }, - "x-amzn-RequestId": { - "type": "string", - "description": "Unique request reference identifier." - } - }, - "x-amzn-api-sandbox": { - "static": [ - { - "request": { - "parameters": { - "sellerSKU": { - "value": "SKU_500" - }, - "marketplaceIds": { - "value": [ - "ATVPDKIKX0DER" - ] - } - } - }, - "response": { - "errors": [ - { - "code": "InternalServerError", - "message": "Server encountered an unexpected condition while processing your request." - } - ] - } - } - ] - } - }, - "503": { - "description": "Temporary overloading or maintenance of the server.", - "schema": { - "$ref": "#/definitions/ErrorList" - }, - "headers": { - "x-amzn-RateLimit-Limit": { - "type": "string", - "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." - }, - "x-amzn-RequestId": { - "type": "string", - "description": "Unique request reference identifier." - } - }, - "x-amzn-api-sandbox": { - "static": [ - { - "request": { - "parameters": { - "sellerSKU": { - "value": "SKU_503" - }, - "marketplaceIds": { - "value": [ - "ATVPDKIKX0DER" - ] - } - } - }, - "response": { - "errors": [ - { - "code": "ServiceUnavailable", - "message": "Server is temporarily unavailable." - } - ] - } - } - ] - } - } - } - }, - "delete": { - "tags": [ - "smallAndLight" - ], - "description": "Removes the item indicated by the specified seller SKU from the Small and Light program in the specified marketplace. If the item is not eligible for disenrollment, the ineligibility reasons are returned.\n\n**Usage Plan:**\n\n| Rate (requests per second) | Burst |\n| ---- | ---- |\n| 2 | 5 |\n\nThe `x-amzn-RateLimit-Limit` response header returns the usage plan rate limits that were applied to the requested operation, when available. The table above indicates the default rate and burst values for this operation. Selling partners whose business demands require higher throughput may see higher rate and burst values than those shown here. For more information, see [Usage Plans and Rate Limits in the Selling Partner API](https://developer-docs.amazon.com/sp-api/docs/usage-plans-and-rate-limits-in-the-sp-api).", - "operationId": "deleteSmallAndLightEnrollmentBySellerSKU", - "deprecated": true, - "parameters": [ - { - "name": "sellerSKU", - "in": "path", - "description": "The seller SKU that identifies the item.", - "required": true, - "type": "string" - }, - { - "name": "marketplaceIds", - "in": "query", - "description": "The marketplace in which to remove the item from the Small and Light program. Note: Accepts a single marketplace only.", - "required": true, - "type": "array", - "items": { - "type": "string" - }, - "maxItems": 1 - } - ], - "responses": { - "204": { - "description": "Success.", - "headers": { - "x-amzn-RateLimit-Limit": { - "type": "string", - "description": "Your rate limit (requests per second) for this operation." - }, - "x-amzn-RequestId": { - "type": "string", - "description": "Unique request reference identifier." - } - }, - "x-amzn-api-sandbox": { - "static": [ - { - "request": { - "parameters": { - "sellerSKU": { - "value": "SKU_ENROLLED_FOR_SMALL_AND_LIGHT" - }, - "marketplaceIds": { - "value": [ - "ATVPDKIKX0DER" - ] - } - } - }, - "response": {} - } - ] - } - }, - "400": { - "description": "Request has missing or invalid parameters and cannot be parsed.", - "schema": { - "$ref": "#/definitions/ErrorList" - }, - "headers": { - "x-amzn-RateLimit-Limit": { - "type": "string", - "description": "Your rate limit (requests per second) for this operation." - }, - "x-amzn-RequestId": { - "type": "string", - "description": "Unique request reference identifier." - } - }, - "x-amzn-api-sandbox": { - "static": [ - { - "request": { - "parameters": { - "sellerSKU": { - "value": "SKU_400" - }, - "marketplaceIds": { - "value": [ - "ATVPDKIKX0DER" - ] - } - } - }, - "response": { - "errors": [ - { - "code": "InvalidInput", - "message": "Invalid input." - } - ] - } - } - ] - } - }, - "403": { - "description": "Indicates that access to the resource is forbidden. Possible reasons include Access Denied, Unauthorized, Expired Token, or Invalid Signature.", - "schema": { - "$ref": "#/definitions/ErrorList" - }, - "headers": { - "x-amzn-RequestId": { - "type": "string", - "description": "Unique request reference identifier." - } - }, - "x-amzn-api-sandbox": { - "static": [ - { - "request": { - "parameters": { - "sellerSKU": { - "value": "SKU_403" - }, - "marketplaceIds": { - "value": [ - "ATVPDKIKX0DER" - ] - } - } - }, - "response": { - "errors": [ - { - "code": "Unauthorized", - "message": "Access to requested resource is denied." - } - ] - } - } - ] - } - }, - "404": { - "description": "The resource specified does not exist.", - "schema": { - "$ref": "#/definitions/ErrorList" - }, - "headers": { - "x-amzn-RateLimit-Limit": { - "type": "string", - "description": "Your rate limit (requests per second) for this operation." - }, - "x-amzn-RequestId": { - "type": "string", - "description": "Unique request reference identifier." - } - }, - "x-amzn-api-sandbox": { - "static": [ - { - "request": { - "parameters": { - "sellerSKU": { - "value": "SKU_404" - }, - "marketplaceIds": { - "value": [ - "ATVPDKIKX0DER" - ] - } - } - }, - "response": { - "errors": [ - { - "code": "NotFound", - "message": "Requested resource is not found" - } - ] - } - } - ] - } - }, - "413": { - "description": "The request size exceeded the maximum accepted size.", - "schema": { - "$ref": "#/definitions/ErrorList" - }, - "headers": { - "x-amzn-RateLimit-Limit": { - "type": "string", - "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." - }, - "x-amzn-RequestId": { - "type": "string", - "description": "Unique request reference identifier." - } - }, - "x-amzn-api-sandbox": { - "static": [ - { - "request": { - "parameters": { - "sellerSKU": { - "value": "SKU_413" - }, - "marketplaceIds": { - "value": [ - "ATVPDKIKX0DER" - ] - } - } - }, - "response": { - "errors": [ - { - "code": "PayloadTooLarge", - "message": "Payload of the request is too large." - } - ] - } - } - ] - } - }, - "415": { - "description": "The request payload is in an unsupported format.", - "schema": { - "$ref": "#/definitions/ErrorList" - }, - "headers": { - "x-amzn-RateLimit-Limit": { - "type": "string", - "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." - }, - "x-amzn-RequestId": { - "type": "string", - "description": "Unique request reference identifier." - } - }, - "x-amzn-api-sandbox": { - "static": [ - { - "request": { - "parameters": { - "sellerSKU": { - "value": "SKU_415" - }, - "marketplaceIds": { - "value": [ - "ATVPDKIKX0DER" - ] - } - } - }, - "response": { - "errors": [ - { - "code": "UnsupportedType", - "message": "The entity of the request is of unsupported type." - } - ] - } - } - ] - } - }, - "429": { - "description": "The frequency of requests was greater than allowed.", - "schema": { - "$ref": "#/definitions/ErrorList" - }, - "headers": { - "x-amzn-RateLimit-Limit": { - "type": "string", - "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." - }, - "x-amzn-RequestId": { - "type": "string", - "description": "Unique request reference identifier." - } - }, - "x-amzn-api-sandbox": { - "static": [ - { - "request": { - "parameters": { - "sellerSKU": { - "value": "SKU_429" - }, - "marketplaceIds": { - "value": [ - "ATVPDKIKX0DER" - ] - } - } - }, - "response": { - "errors": [ - { - "code": "TooManyRequests", - "message": "Total number of requests exceed your allowed limits." - } - ] - } - } - ] - } - }, - "500": { - "description": "An unexpected condition occurred that prevented the server from fulfilling the request.", - "schema": { - "$ref": "#/definitions/ErrorList" - }, - "headers": { - "x-amzn-RateLimit-Limit": { - "type": "string", - "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." - }, - "x-amzn-RequestId": { - "type": "string", - "description": "Unique request reference identifier." - } - }, - "x-amzn-api-sandbox": { - "static": [ - { - "request": { - "parameters": { - "sellerSKU": { - "value": "SKU_500" - }, - "marketplaceIds": { - "value": [ - "ATVPDKIKX0DER" - ] - } - } - }, - "response": { - "errors": [ - { - "code": "InternalServerError", - "message": "Server encountered an unexpected condition while processing your request." - } - ] - } - } - ] - } - }, - "503": { - "description": "Temporary overloading or maintenance of the server.", - "schema": { - "$ref": "#/definitions/ErrorList" - }, - "headers": { - "x-amzn-RateLimit-Limit": { - "type": "string", - "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." - }, - "x-amzn-RequestId": { - "type": "string", - "description": "Unique request reference identifier." - } - }, - "x-amzn-api-sandbox": { - "static": [ - { - "request": { - "parameters": { - "sellerSKU": { - "value": "SKU_503" - }, - "marketplaceIds": { - "value": [ - "ATVPDKIKX0DER" - ] - } - } - }, - "response": { - "errors": [ - { - "code": "ServiceUnavailable", - "message": "Server is temporarily unavailable." - } - ] - } - } - ] - } - } - } - } - }, - "/fba/smallAndLight/v1/eligibilities/{sellerSKU}": { - "get": { - "tags": [ - "smallAndLight" - ], - "description": "Returns the Small and Light program eligibility status of the item indicated by the specified seller SKU in the specified marketplace. If the item is not eligible, the ineligibility reasons are returned. **Note:** The parameters associated with this operation may contain special characters that must be encoded to successfully call the API. To avoid errors with SKUs when encoding URLs, refer to [URL Encoding](https://developer-docs.amazon.com/sp-api/docs/url-encoding).\n\n**Usage Plan:**\n\n| Rate (requests per second) | Burst |\n| ---- | ---- |\n| 2 | 10 |\n\nThe `x-amzn-RateLimit-Limit` response header returns the usage plan rate limits that were applied to the requested operation, when available. The table above indicates the default rate and burst values for this operation. Selling partners whose business demands require higher throughput may see higher rate and burst values than those shown here. For more information, see [Usage Plans and Rate Limits in the Selling Partner API](https://developer-docs.amazon.com/sp-api/docs/usage-plans-and-rate-limits-in-the-sp-api).", - "operationId": "getSmallAndLightEligibilityBySellerSKU", - "deprecated": true, - "parameters": [ - { - "name": "sellerSKU", - "in": "path", - "description": "The seller SKU that identifies the item.", - "required": true, - "type": "string" - }, - { - "name": "marketplaceIds", - "in": "query", - "description": "The marketplace for which the eligibility status is retrieved. NOTE: Accepts a single marketplace only.", - "required": true, - "type": "array", - "items": { - "type": "string" - }, - "maxItems": 1 - } - ], - "responses": { - "200": { - "description": "Success.", - "schema": { - "$ref": "#/definitions/SmallAndLightEligibility" - }, - "headers": { - "x-amzn-RateLimit-Limit": { - "type": "string", - "description": "Your rate limit (requests per second) for this operation." - }, - "x-amzn-RequestId": { - "type": "string", - "description": "Unique request reference identifier." - } - }, - "x-amzn-api-sandbox": { - "static": [ - { - "request": { - "parameters": { - "sellerSKU": { - "value": "SKU_ELIGIBLE_FOR_SMALL_AND_LIGHT" - }, - "marketplaceIds": { - "value": [ - "ATVPDKIKX0DER" - ] - } - } - }, - "response": { - "marketplaceId": "ATVPDKIKX0DER", - "sellerSKU": "SKU_ELIGIBLE_FOR_SMALL_AND_LIGHT", - "status": "ELIGIBLE" - } - } - ] - } - }, - "400": { - "description": "Request has missing or invalid parameters and cannot be parsed.", - "schema": { - "$ref": "#/definitions/ErrorList" - }, - "headers": { - "x-amzn-RateLimit-Limit": { - "type": "string", - "description": "Your rate limit (requests per second) for this operation." - }, - "x-amzn-RequestId": { - "type": "string", - "description": "Unique request reference identifier." - } - }, - "x-amzn-api-sandbox": { - "static": [ - { - "request": { - "parameters": { - "sellerSKU": { - "value": "SKU_400" - }, - "marketplaceIds": { - "value": [ - "ATVPDKIKX0DER" - ] - } - } - }, - "response": { - "errors": [ - { - "code": "InvalidInput", - "message": "Invalid input." - } - ] - } - } - ] - } - }, - "403": { - "description": "Indicates that access to the resource is forbidden. Possible reasons include Access Denied, Unauthorized, Expired Token, or Invalid Signature.", - "schema": { - "$ref": "#/definitions/ErrorList" - }, - "headers": { - "x-amzn-RequestId": { - "type": "string", - "description": "Unique request reference identifier." - } - }, - "x-amzn-api-sandbox": { - "static": [ - { - "request": { - "parameters": { - "sellerSKU": { - "value": "SKU_403" - }, - "marketplaceIds": { - "value": [ - "ATVPDKIKX0DER" - ] - } - } - }, - "response": { - "errors": [ - { - "code": "Unauthorized", - "message": "Access to requested resource is denied." - } - ] - } - } - ] - } - }, - "404": { - "description": "The resource specified does not exist.", - "schema": { - "$ref": "#/definitions/ErrorList" - }, - "headers": { - "x-amzn-RateLimit-Limit": { - "type": "string", - "description": "Your rate limit (requests per second) for this operation." - }, - "x-amzn-RequestId": { - "type": "string", - "description": "Unique request reference identifier." - } - }, - "x-amzn-api-sandbox": { - "static": [ - { - "request": { - "parameters": { - "sellerSKU": { - "value": "SKU_404" - }, - "marketplaceIds": { - "value": [ - "ATVPDKIKX0DER" - ] - } - } - }, - "response": { - "errors": [ - { - "code": "NotFound", - "message": "Requested resource is not found" - } - ] - } - } - ] - } - }, - "413": { - "description": "The request size exceeded the maximum accepted size.", - "schema": { - "$ref": "#/definitions/ErrorList" - }, - "headers": { - "x-amzn-RateLimit-Limit": { - "type": "string", - "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." - }, - "x-amzn-RequestId": { - "type": "string", - "description": "Unique request reference identifier." - } - }, - "x-amzn-api-sandbox": { - "static": [ - { - "request": { - "parameters": { - "sellerSKU": { - "value": "SKU_413" - }, - "marketplaceIds": { - "value": [ - "ATVPDKIKX0DER" - ] - } - } - }, - "response": { - "errors": [ - { - "code": "PayloadTooLarge", - "message": "Payload of the request is too large." - } - ] - } - } - ] - } - }, - "415": { - "description": "The request payload is in an unsupported format.", - "schema": { - "$ref": "#/definitions/ErrorList" - }, - "headers": { - "x-amzn-RateLimit-Limit": { - "type": "string", - "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." - }, - "x-amzn-RequestId": { - "type": "string", - "description": "Unique request reference identifier." - } - }, - "x-amzn-api-sandbox": { - "static": [ - { - "request": { - "parameters": { - "sellerSKU": { - "value": "SKU_415" - }, - "marketplaceIds": { - "value": [ - "ATVPDKIKX0DER" - ] - } - } - }, - "response": { - "errors": [ - { - "code": "UnsupportedType", - "message": "The entity of the request is of unsupported type." - } - ] - } - } - ] - } - }, - "429": { - "description": "The frequency of requests was greater than allowed.", - "schema": { - "$ref": "#/definitions/ErrorList" - }, - "headers": { - "x-amzn-RateLimit-Limit": { - "type": "string", - "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." - }, - "x-amzn-RequestId": { - "type": "string", - "description": "Unique request reference identifier." - } - }, - "x-amzn-api-sandbox": { - "static": [ - { - "request": { - "parameters": { - "sellerSKU": { - "value": "SKU_429" - }, - "marketplaceIds": { - "value": [ - "ATVPDKIKX0DER" - ] - } - } - }, - "response": { - "errors": [ - { - "code": "TooManyRequests", - "message": "Total number of requests exceed your allowed limits." - } - ] - } - } - ] - } - }, - "500": { - "description": "An unexpected condition occurred that prevented the server from fulfilling the request.", - "schema": { - "$ref": "#/definitions/ErrorList" - }, - "headers": { - "x-amzn-RateLimit-Limit": { - "type": "string", - "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." - }, - "x-amzn-RequestId": { - "type": "string", - "description": "Unique request reference identifier." - } - }, - "x-amzn-api-sandbox": { - "static": [ - { - "request": { - "parameters": { - "sellerSKU": { - "value": "SKU_500" - }, - "marketplaceIds": { - "value": [ - "ATVPDKIKX0DER" - ] - } - } - }, - "response": { - "errors": [ - { - "code": "InternalServerError", - "message": "Server encountered an unexpected condition while processing your request." - } - ] - } - } - ] - } - }, - "503": { - "description": "Temporary overloading or maintenance of the server.", - "schema": { - "$ref": "#/definitions/ErrorList" - }, - "headers": { - "x-amzn-RateLimit-Limit": { - "type": "string", - "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." - }, - "x-amzn-RequestId": { - "type": "string", - "description": "Unique request reference identifier." - } - }, - "x-amzn-api-sandbox": { - "static": [ - { - "request": { - "parameters": { - "sellerSKU": { - "value": "SKU_503" - }, - "marketplaceIds": { - "value": [ - "ATVPDKIKX0DER" - ] - } - } - }, - "response": { - "errors": [ - { - "code": "ServiceUnavailable", - "message": "Server is temporarily unavailable." - } - ] - } - } - ] - } - } - } - } - }, - "/fba/smallAndLight/v1/feePreviews": { - "post": { - "tags": [ - "smallAndLight" - ], - "description": "Returns the Small and Light fee estimates for the specified items. You must include a marketplaceId parameter to retrieve the proper fee estimates for items to be sold in that marketplace. The ordering of items in the response will mirror the order of the items in the request. Duplicate ASIN/price combinations are removed.\n\n**Usage Plan:**\n\n| Rate (requests per second) | Burst |\n| ---- | ---- |\n| 1 | 3 |\n\nThe `x-amzn-RateLimit-Limit` response header returns the usage plan rate limits that were applied to the requested operation, when available. The table above indicates the default rate and burst values for this operation. Selling partners whose business demands require higher throughput may see higher rate and burst values than those shown here. For more information, see [Usage Plans and Rate Limits in the Selling Partner API](https://developer-docs.amazon.com/sp-api/docs/usage-plans-and-rate-limits-in-the-sp-api).", - "operationId": "getSmallAndLightFeePreview", - "deprecated": true, - "parameters": [ - { - "in": "body", - "name": "body", - "required": true, - "schema": { - "$ref": "#/definitions/SmallAndLightFeePreviewRequest" - } - } - ], - "responses": { - "200": { - "description": "Success.", - "schema": { - "$ref": "#/definitions/SmallAndLightFeePreviews" - }, - "headers": { - "x-amzn-RateLimit-Limit": { - "type": "string", - "description": "Your rate limit (requests per second) for this operation." - }, - "x-amzn-RequestId": { - "type": "string", - "description": "Unique request reference identifier." - } - }, - "x-amzn-api-sandbox": { - "static": [ - { - "request": { - "parameters": { - "body": { - "value": { - "marketplaceId": "ATVPDKIKX0DER", - "items": [ - { - "asin": "B076ZL9PB5", - "price": { - "currencyCode": "USD", - "amount": 6.5 - } - } - ] - } - } - } - }, - "response": { - "data": [ - { - "asin": "B076ZL9PB5", - "price": { - "amount": 6.5, - "currencyCode": "USD" - }, - "feeBreakdown": [ - { - "feeType": "FBAPerUnitFulfillmentFee", - "feeCharge": { - "amount": 0.75, - "currencyCode": "USD" - } - }, - { - "feeType": "FBAPerOrderFulfillmentFee", - "feeCharge": { - "amount": 1, - "currencyCode": "USD" - } - }, - { - "feeType": "FBAWeightBasedFee", - "feeCharge": { - "amount": 1.1, - "currencyCode": "USD" - } - }, - { - "feeType": "Commission", - "feeCharge": { - "amount": 0.98, - "currencyCode": "USD" - } - } - ], - "totalFees": { - "amount": 3.83, - "currencyCode": "USD" - }, - "errors": [] - } - ] - } - } - ] - } - }, - "400": { - "description": "Request has missing or invalid parameters and cannot be parsed.", - "schema": { - "$ref": "#/definitions/ErrorList" - }, - "headers": { - "x-amzn-RateLimit-Limit": { - "type": "string", - "description": "Your rate limit (requests per second) for this operation." - }, - "x-amzn-RequestId": { - "type": "string", - "description": "Unique request reference identifier." - } - }, - "x-amzn-api-sandbox": { - "static": [ - { - "request": { - "parameters": { - "body": { - "value": { - "marketplaceId": "TEST_CASE_400", - "items": [] - } - } - } - }, - "response": { - "errors": [ - { - "code": "InvalidInput", - "message": "Invalid input." - } - ] - } - } - ] - } - }, - "401": { - "description": "The request's Authorization header is not formatted correctly or does not contain a valid token.", - "schema": { - "$ref": "#/definitions/ErrorList" - }, - "headers": { - "x-amzn-RateLimit-Limit": { - "type": "string", - "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." - }, - "x-amzn-RequestId": { - "type": "string", - "description": "Unique request reference identifier." - } - }, - "x-amzn-api-sandbox": { - "static": [ - { - "request": { - "parameters": { - "body": { - "value": { - "marketplaceId": "TEST_CASE_401", - "items": [] - } - } - } - }, - "response": { - "errors": [ - { - "code": "Unauthorized", - "message": "Access to requested resource is denied." - } - ] - } - } - ] - } - }, - "403": { - "description": "Indicates that access to the resource is forbidden. Possible reasons include Access Denied, Unauthorized, Expired Token, or Invalid Signature.", - "schema": { - "$ref": "#/definitions/ErrorList" - }, - "headers": { - "x-amzn-RequestId": { - "type": "string", - "description": "Unique request reference identifier." - } - }, - "x-amzn-api-sandbox": { - "static": [ - { - "request": { - "parameters": { - "body": { - "value": { - "marketplaceId": "TEST_CASE_403", - "items": [] - } - } - } - }, - "response": { - "errors": [ - { - "code": "Unauthorized", - "message": "Access to requested resource is denied." - } - ] - } - } - ] - } - }, - "404": { - "description": "The resource specified does not exist.", - "schema": { - "$ref": "#/definitions/ErrorList" - }, - "headers": { - "x-amzn-RateLimit-Limit": { - "type": "string", - "description": "Your rate limit (requests per second) for this operation." - }, - "x-amzn-RequestId": { - "type": "string", - "description": "Unique request reference identifier." - } - }, - "x-amzn-api-sandbox": { - "static": [ - { - "request": { - "parameters": { - "body": { - "value": { - "marketplaceId": "TEST_CASE_404", - "items": [] - } - } - } - }, - "response": { - "errors": [ - { - "code": "NotFound", - "message": "The requested resource doesn't exist." - } - ] - } - } - ] - } - }, - "429": { - "description": "The frequency of requests was greater than allowed.", - "schema": { - "$ref": "#/definitions/ErrorList" - }, - "headers": { - "x-amzn-RateLimit-Limit": { - "type": "string", - "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." - }, - "x-amzn-RequestId": { - "type": "string", - "description": "Unique request reference identifier." - } - }, - "x-amzn-api-sandbox": { - "static": [ - { - "request": { - "parameters": { - "body": { - "value": { - "marketplaceId": "TEST_CASE_429", - "items": [] - } - } - } - }, - "response": { - "errors": [ - { - "code": "QuotaExceeded", - "message": "You exceeded your quota for the requested resource." - } - ] - } - } - ] - } - }, - "500": { - "description": "An unexpected condition occurred that prevented the server from fulfilling the request.", - "schema": { - "$ref": "#/definitions/ErrorList" - }, - "headers": { - "x-amzn-RateLimit-Limit": { - "type": "string", - "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." - }, - "x-amzn-RequestId": { - "type": "string", - "description": "Unique request reference identifier." - } - }, - "x-amzn-api-sandbox": { - "static": [ - { - "request": { - "parameters": { - "body": { - "value": { - "marketplaceId": "TEST_CASE_500", - "items": [] - } - } - } - }, - "response": { - "errors": [ - { - "code": "InternalFailure", - "message": "We encountered an internal error. Please try again." - } - ] - } - } - ] - } - }, - "503": { - "description": "Temporary overloading or maintenance of the server.", - "schema": { - "$ref": "#/definitions/ErrorList" - }, - "headers": { - "x-amzn-RateLimit-Limit": { - "type": "string", - "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." - }, - "x-amzn-RequestId": { - "type": "string", - "description": "Unique request reference identifier." - } - }, - "x-amzn-api-sandbox": { - "static": [ - { - "request": { - "parameters": { - "body": { - "value": { - "marketplaceId": "TEST_CASE_503", - "items": [] - } - } - } - }, - "response": { - "errors": [ - { - "code": "ServiceUnavailable", - "message": "Service is temporarily unavailable. Please try again." - } - ] - } - } - ] - } - } - } - } - } - }, - "definitions": { - "MarketplaceId": { - "type": "string", - "description": "A marketplace identifier." - }, - "SellerSKU": { - "type": "string", - "description": "Identifies an item in the given marketplace. SellerSKU is qualified by the seller's SellerId, which is included with every operation that you submit." - }, - "Error": { - "type": "object", - "required": [ - "code", - "message" - ], - "properties": { - "code": { - "type": "string", - "description": "An error code that identifies the type of error that occurred." - }, - "message": { - "type": "string", - "description": "A message that describes the error condition." - }, - "details": { - "type": "string", - "description": "Additional details that can help the caller understand or fix the issue." - } - }, - "description": "Error response returned when the request is unsuccessful." - }, - "ErrorList": { - "type": "object", - "properties": { - "errors": { - "type": "array", - "items": { - "$ref": "#/definitions/Error" - } - } - }, - "description": "A list of error responses returned when a request is unsuccessful." - }, - "SmallAndLightEnrollmentStatus": { - "type": "string", - "description": "The Small and Light enrollment status of the item.", - "enum": [ - "ENROLLED", - "NOT_ENROLLED" - ], - "x-docgen-enum-table-extension": [ - { - "value": "ENROLLED", - "description": "The Small and Light enrollment status is enrolled." - }, - { - "value": "NOT_ENROLLED", - "description": "The Small and Light enrollment status is not enrolled." - } - ] - }, - "SmallAndLightEligibilityStatus": { - "type": "string", - "description": "The Small and Light eligibility status of the item.", - "enum": [ - "ELIGIBLE", - "NOT_ELIGIBLE" - ], - "x-docgen-enum-table-extension": [ - { - "value": "ELIGIBLE", - "description": "The Small and Light eligibility status is eligible." - }, - { - "value": "NOT_ELIGIBLE", - "description": "The Small and Light eligibility status is not eligible." - } - ] - }, - "SmallAndLightEnrollment": { - "type": "object", - "required": [ - "marketplaceId", - "sellerSKU", - "status" - ], - "properties": { - "marketplaceId": { - "$ref": "#/definitions/MarketplaceId" - }, - "sellerSKU": { - "$ref": "#/definitions/SellerSKU" - }, - "status": { - "$ref": "#/definitions/SmallAndLightEnrollmentStatus" - } - }, - "description": "The Small and Light enrollment status of the item indicated by the specified seller SKU." - }, - "SmallAndLightEligibility": { - "type": "object", - "required": [ - "marketplaceId", - "sellerSKU", - "status" - ], - "properties": { - "marketplaceId": { - "$ref": "#/definitions/MarketplaceId" - }, - "sellerSKU": { - "$ref": "#/definitions/SellerSKU" - }, - "status": { - "$ref": "#/definitions/SmallAndLightEligibilityStatus" - } - }, - "description": "The Small and Light eligibility status of the item indicated by the specified seller SKU." - }, - "SmallAndLightFeePreviewRequest": { - "type": "object", - "required": [ - "items", - "marketplaceId" - ], - "properties": { - "marketplaceId": { - "$ref": "#/definitions/MarketplaceId" - }, - "items": { - "type": "array", - "description": "A list of items for which to retrieve fee estimates (limit: 25).", - "items": { - "$ref": "#/definitions/Item" - }, - "maxItems": 25 - } - }, - "description": "Request schema for submitting items for which to retrieve fee estimates." - }, - "SmallAndLightFeePreviews": { - "type": "object", - "properties": { - "data": { - "type": "array", - "description": "A list of fee estimates for the requested items. The order of the fee estimates will follow the same order as the items in the request, with duplicates removed.", - "items": { - "$ref": "#/definitions/FeePreview" - } - } - } - }, - "Item": { - "type": "object", - "required": [ - "asin", - "price" - ], - "properties": { - "asin": { - "type": "string", - "description": "The Amazon Standard Identification Number (ASIN) value used to identify the item." - }, - "price": { - "description": "The price that the seller plans to charge for the item.", - "$ref": "#/definitions/MoneyType" - } - }, - "description": "An item to be sold." - }, - "FeePreview": { - "type": "object", - "properties": { - "asin": { - "type": "string", - "description": "The Amazon Standard Identification Number (ASIN) value used to identify the item." - }, - "price": { - "description": "The price that the seller plans to charge for the item.", - "$ref": "#/definitions/MoneyType" - }, - "feeBreakdown": { - "type": "array", - "description": "A list of the Small and Light fees for the item.", - "items": { - "$ref": "#/definitions/FeeLineItem" - } - }, - "totalFees": { - "description": "The total fees charged if the item participated in the Small and Light program.", - "$ref": "#/definitions/MoneyType" - }, - "errors": { - "type": "array", - "description": "One or more unexpected errors occurred during the getSmallAndLightFeePreview operation.", - "items": { - "$ref": "#/definitions/Error" - } - } - }, - "description": "The fee estimate for a specific item." - }, - "FeeLineItem": { - "type": "object", - "required": [ - "feeCharge", - "feeType" - ], - "properties": { - "feeType": { - "type": "string", - "description": "The type of fee charged to the seller.", - "enum": [ - "FBAWeightBasedFee", - "FBAPerOrderFulfillmentFee", - "FBAPerUnitFulfillmentFee", - "Commission" - ], - "x-docgen-enum-table-extension": [ - { - "value": "FBAWeightBasedFee", - "description": "The FBA weight-based fee (weight handling)." - }, - { - "value": "FBAPerOrderFulfillmentFee", - "description": "The FBA per-order fulfillment fee (order handling)." - }, - { - "value": "FBAPerUnitFulfillmentFee", - "description": "The FBA fulfillment fee (Pick & Pack)." - }, - { - "value": "Commission", - "description": "The commission - referral fee." - } - ] - }, - "feeCharge": { - "description": "Amount charged to the seller for the specific fee type.", - "$ref": "#/definitions/MoneyType" - } - }, - "description": "Fee details for a specific fee." - }, - "MoneyType": { - "type": "object", - "properties": { - "currencyCode": { - "type": "string", - "description": "The currency code in ISO 4217 format." - }, - "amount": { - "type": "number", - "description": "The monetary value." - } - } - } - } -} \ No newline at end of file From 5b8bb07c9eb8bdfc141676b18615ca5e3837d543 Mon Sep 17 00:00:00 2001 From: Jack Evoniuk Date: Mon, 1 Apr 2024 12:08:37 -0700 Subject: [PATCH 304/340] Add Fulfillment Inbound v2024 model --- .../fulfillmentInboundv2024-03-20.json | 9875 +++++++++++++++++ 1 file changed, 9875 insertions(+) create mode 100644 models/fulfillment-inbound-api-model/fulfillmentInboundv2024-03-20.json diff --git a/models/fulfillment-inbound-api-model/fulfillmentInboundv2024-03-20.json b/models/fulfillment-inbound-api-model/fulfillmentInboundv2024-03-20.json new file mode 100644 index 000000000..e06624036 --- /dev/null +++ b/models/fulfillment-inbound-api-model/fulfillmentInboundv2024-03-20.json @@ -0,0 +1,9875 @@ +{ + "swagger": "2.0", + "info": { + "contact": { + "name": "Selling Partner API Developer Support", + "url": "https://sellercentral.amazon.com/gp/mws/contactus.html" + }, + "description": "The Selling Partner API for Fulfillment By Amazon (FBA) Inbound. The FBA Inbound API enables building inbound workflows to create, manage, and send shipments into Amazon's fulfillment network. The API has interoperability with the Send-to-Amazon user interface.", + "license": { + "name": "Apache License 2.0", + "url": "http://www.apache.org/licenses/LICENSE-2.0" + }, + "title": "The Selling Partner API for FBA inbound operations.", + "version": "2024-03-20" + }, + "host": "sellingpartnerapi-na.amazon.com", + "schemes": [ + "https" + ], + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "paths": { + "/inbound/fba/2024-03-20/inboundPlans": { + "get": { + "produces": [ + "application/json" + ], + "parameters": [ + { + "description": "The number of inbound plans to return in the response matching the given query.", + "in": "query", + "maximum": 30, + "minimum": 1, + "name": "pageSize", + "type": "integer", + "default": 10 + }, + { + "description": "A token to fetch a certain page when there are multiple pages worth of results. The value of this token is fetched from the `pagination` returned in the API response. In the absence of the token value from the query parameter the API returns the first page of the result.", + "in": "query", + "maxLength": 1024, + "minLength": 0, + "name": "paginationToken", + "type": "string" + }, + { + "description": "The status of an inbound plan.", + "enum": [ + "ACTIVE", + "VOIDED", + "SHIPPED" + ], + "in": "query", + "name": "status", + "type": "string", + "x-docgen-enum-table-extension": [ + { + "value": "ACTIVE", + "description": "An inbound plan that is being worked on." + }, + { + "value": "VOIDED", + "description": "An inbound plan with all shipment cancelled and can no longer be modified." + }, + { + "value": "SHIPPED", + "description": "A completed inbound plan. Only minor modifications can be made at this time." + } + ] + }, + { + "description": "Sort by field.", + "enum": [ + "LAST_UPDATED_TIME", + "CREATION_TIME" + ], + "in": "query", + "name": "sortBy", + "type": "string", + "x-docgen-enum-table-extension": [ + { + "value": "LAST_UPDATED_TIME", + "description": "Last updated time of the inbound plan." + }, + { + "value": "CREATION_TIME", + "description": "Inbound plan creation time." + } + ] + }, + { + "description": "The sort order.", + "enum": [ + "ASC", + "DESC" + ], + "in": "query", + "name": "sortOrder", + "type": "string", + "x-docgen-enum-table-extension": [ + { + "value": "ASC", + "description": "Ascending order." + }, + { + "value": "DESC", + "description": "Descending order." + } + ] + } + ], + "responses": { + "200": { + "description": "ListInboundPlans 200 response", + "schema": { + "$ref": "#/definitions/ListInboundPlansResponse" + }, + "x-amzn-api-sandbox": { + "static": [ + { + "request": { + "parameters": { + "status": { + "value": "ACTIVE" + }, + "sortBy": { + "value": "LAST_UPDATED_TIME" + }, + "sortOrder": { + "value": "ASC" + }, + "pageSize": { + "value": 2 + }, + "paginationToken": { + "value": "paginationToken" + } + } + }, + "response": { + "inboundPlans": [ + { + "inboundPlanId": "wf1234abcd-1234-abcd-5678-1234abcd5678", + "name": "FBA (03/08/2023, 01:15 PM)", + "createdAt": "2023-03-08T13:15:30Z", + "lastUpdatedAt": "2023-03-08T13:15:30Z", + "status": "ACTIVE", + "marketplaceIds": [ + "A2EUQ1WTGCTBG2" + ], + "sourceAddress": { + "name": "name", + "addressLine1": "123 example street", + "addressLine2": "Floor 19", + "city": "Toronto", + "stateOrProvinceCode": "ON", + "countryCode": "CA", + "postalCode": "M1M1M1", + "companyName": "Acme" + }, + "contactInformation": { + "email": "email@email.com", + "phoneNumber": "1234567890" + } + }, + { + "inboundPlanId": "wf2234abcd-1234-abcd-5678-1234abcd5678", + "name": "FBA (03/08/2023, 01:15 PM)", + "createdAt": "2023-03-08T13:15:30Z", + "lastUpdatedAt": "2023-03-08T13:15:30Z", + "status": "ACTIVE", + "marketplaceIds": [ + "A2EUQ1WTGCTBG2" + ], + "sourceAddress": { + "name": "name", + "addressLine1": "123 example street", + "addressLine2": "Floor 19", + "city": "Toronto", + "stateOrProvinceCode": "ON", + "countryCode": "CA", + "postalCode": "M1M1M1", + "companyName": "Acme" + }, + "contactInformation": { + "email": "email@email.com", + "phoneNumber": "1234567890" + } + } + ], + "pagination": { + "nextToken": "nextPaginationToken" + } + } + } + ] + }, + "headers": { + "x-amzn-RequestId": { + "description": "Unique request reference identifier.", + "type": "string" + }, + "x-amzn-RateLimit-Limit": { + "description": "Your rate limit (requests per second) for this operation.", + "type": "string" + } + } + }, + "400": { + "description": "Request has missing or invalid parameters and cannot be parsed.", + "schema": { + "$ref": "#/definitions/ErrorList" + }, + "x-amzn-api-sandbox": { + "static": [ + { + "request": { + "parameters": { + "status": { + "value": "badStatus" + }, + "sortBy": { + "value": "LAST_UPDATED_TIME" + }, + "sortOrder": { + "value": "ASC" + }, + "pageSize": { + "value": 5 + } + } + }, + "response": { + "errors": [ + { + "code": "BadRequest", + "message": "The status is invalid." + } + ] + } + } + ] + }, + "headers": { + "x-amzn-RequestId": { + "description": "Unique request reference identifier.", + "type": "string" + }, + "x-amzn-RateLimit-Limit": { + "description": "Your rate limit (requests per second) for this operation.", + "type": "string" + } + } + }, + "500": { + "description": "An unexpected condition occurred that prevented the server from fulfilling the request.", + "schema": { + "$ref": "#/definitions/ErrorList" + }, + "headers": { + "x-amzn-RequestId": { + "description": "Unique request reference identifier.", + "type": "string" + } + } + }, + "403": { + "description": "Indicates that access to the resource is forbidden. Possible reasons include Access Denied, Unauthorized, Expired Token, or Invalid Signature.", + "schema": { + "$ref": "#/definitions/ErrorList" + }, + "headers": { + "x-amzn-RequestId": { + "description": "Unique request reference identifier.", + "type": "string" + } + } + }, + "404": { + "description": "The resource specified does not exist.", + "schema": { + "$ref": "#/definitions/ErrorList" + }, + "headers": { + "x-amzn-RequestId": { + "description": "Unique request reference identifier.", + "type": "string" + }, + "x-amzn-RateLimit-Limit": { + "description": "Your rate limit (requests per second) for this operation.", + "type": "string" + } + } + }, + "413": { + "description": "The request size exceeded the maximum accepted size.", + "schema": { + "$ref": "#/definitions/ErrorList" + }, + "headers": { + "x-amzn-RequestId": { + "description": "Unique request reference identifier.", + "type": "string" + } + } + }, + "415": { + "description": "The request payload is in an unsupported format.", + "schema": { + "$ref": "#/definitions/ErrorList" + }, + "headers": { + "x-amzn-RequestId": { + "description": "Unique request reference identifier.", + "type": "string" + } + } + }, + "429": { + "description": "The frequency of requests was greater than allowed.", + "schema": { + "$ref": "#/definitions/ErrorList" + }, + "headers": { + "x-amzn-RequestId": { + "description": "Unique request reference identifier.", + "type": "string" + } + } + }, + "503": { + "description": "Temporary overloading or maintenance of the server.", + "schema": { + "$ref": "#/definitions/ErrorList" + }, + "headers": { + "x-amzn-RequestId": { + "description": "Unique request reference identifier.", + "type": "string" + } + } + } + }, + "tags": [ + "fbaInbound" + ], + "description": "Provides a list of inbound plans with minimal information.\n\n**Usage Plan:**\n\n| Rate (requests per second) | Burst |\n| ---- | ---- |\n| 1 | 1 |\n\nThe `x-amzn-RateLimit-Limit` response header returns the usage plan rate limits that were applied to the requested operation, when available. The table above indicates the default rate and burst values for this operation. Selling partners whose business demands require higher throughput may see higher rate and burst values than those shown here. For more information, refer to [Usage Plans and Rate Limits in the Selling Partner API](https://developer-docs.amazon.com/sp-api/docs/usage-plans-and-rate-limits-in-the-sp-api).", + "operationId": "listInboundPlans" + }, + "post": { + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "parameters": [ + { + "in": "body", + "name": "body", + "required": true, + "schema": { + "$ref": "#/definitions/CreateInboundPlanRequest" + }, + "description": "The body of the request to `createInboundPlan`." + } + ], + "responses": { + "202": { + "description": "CreateInboundPlan 202 response", + "schema": { + "$ref": "#/definitions/CreateInboundPlanResponse" + }, + "x-amzn-api-sandbox": { + "static": [ + { + "request": { + "parameters": { + "body": { + "value": { + "name": "FBA (03/20/2024, 12:01 PM)", + "contactInformation": { + "email": "email@email.com", + "phoneNumber": "+14161234567" + }, + "sourceAddress": { + "name": "name", + "addressLine1": "123 example street", + "city": "Toronto", + "stateOrProvinceCode": "ON", + "countryCode": "CA", + "postalCode": "M1M1M1" + }, + "destinationMarketplaces": [ + "A2EUQ1WTGCTBG2" + ], + "items": [ + { + "msku": "msku", + "prepOwner": "AMAZON", + "labelOwner": "AMAZON", + "quantity": 2, + "expiration": "2024-01-01", + "manufacturingLotCode": "lotCode" + } + ] + } + } + } + }, + "response": { + "inboundPlanId": "wf1234abcd-1234-abcd-5678-1234abcd5678", + "operationId": "1234abcd-1234-abcd-5678-1234abcd5678" + } + } + ] + }, + "headers": { + "x-amzn-RequestId": { + "description": "Unique request reference identifier.", + "type": "string" + }, + "x-amzn-RateLimit-Limit": { + "description": "Your rate limit (requests per second) for this operation.", + "type": "string" + } + } + }, + "400": { + "description": "Request has missing or invalid parameters and cannot be parsed.", + "schema": { + "$ref": "#/definitions/ErrorList" + }, + "x-amzn-api-sandbox": { + "static": [ + { + "request": { + "parameters": { + "body": { + "value": { + "name": "FBA (03/20/2024, 12:01 PM)", + "contactInformation": { + "email": "email@email.com", + "phoneNumber": "+14161234567" + }, + "sourceAddress": { + "name": "name", + "addressLine1": "123 example street", + "city": "Toronto", + "countryCode": "CA", + "stateOrProvinceCode": "ON", + "postalCode": "M1M1M1" + }, + "destinationMarketplaces": [ + "badMarketplace" + ], + "items": [ + { + "msku": "msku", + "prepOwner": "AMAZON", + "labelOwner": "AMAZON", + "quantity": 2, + "expiration": "2024-01-01", + "manufacturingLotCode": "lotCode" + } + ] + } + } + } + }, + "response": { + "errors": [ + { + "code": "BadRequest", + "message": "Invalid destinationMarketplace provided." + } + ] + } + } + ] + }, + "headers": { + "x-amzn-RequestId": { + "description": "Unique request reference identifier.", + "type": "string" + }, + "x-amzn-RateLimit-Limit": { + "description": "Your rate limit (requests per second) for this operation.", + "type": "string" + } + } + }, + "500": { + "description": "An unexpected condition occurred that prevented the server from fulfilling the request.", + "schema": { + "$ref": "#/definitions/ErrorList" + }, + "headers": { + "x-amzn-RequestId": { + "description": "Unique request reference identifier.", + "type": "string" + } + } + }, + "403": { + "description": "Indicates that access to the resource is forbidden. Possible reasons include Access Denied, Unauthorized, Expired Token, or Invalid Signature.", + "schema": { + "$ref": "#/definitions/ErrorList" + }, + "headers": { + "x-amzn-RequestId": { + "description": "Unique request reference identifier.", + "type": "string" + } + } + }, + "404": { + "description": "The resource specified does not exist.", + "schema": { + "$ref": "#/definitions/ErrorList" + }, + "headers": { + "x-amzn-RequestId": { + "description": "Unique request reference identifier.", + "type": "string" + }, + "x-amzn-RateLimit-Limit": { + "description": "Your rate limit (requests per second) for this operation.", + "type": "string" + } + } + }, + "413": { + "description": "The request size exceeded the maximum accepted size.", + "schema": { + "$ref": "#/definitions/ErrorList" + }, + "headers": { + "x-amzn-RequestId": { + "description": "Unique request reference identifier.", + "type": "string" + } + } + }, + "415": { + "description": "The request payload is in an unsupported format.", + "schema": { + "$ref": "#/definitions/ErrorList" + }, + "headers": { + "x-amzn-RequestId": { + "description": "Unique request reference identifier.", + "type": "string" + } + } + }, + "429": { + "description": "The frequency of requests was greater than allowed.", + "schema": { + "$ref": "#/definitions/ErrorList" + }, + "headers": { + "x-amzn-RequestId": { + "description": "Unique request reference identifier.", + "type": "string" + } + } + }, + "503": { + "description": "Temporary overloading or maintenance of the server.", + "schema": { + "$ref": "#/definitions/ErrorList" + }, + "headers": { + "x-amzn-RequestId": { + "description": "Unique request reference identifier.", + "type": "string" + } + } + } + }, + "tags": [ + "fbaInbound" + ], + "description": "Creates an inbound plan. An inbound plan contains all the necessary information to send shipments into Amazon's fufillment network.\n\n**Usage Plan:**\n\n| Rate (requests per second) | Burst |\n| ---- | ---- |\n| 0.05 | 1 |\n\nThe `x-amzn-RateLimit-Limit` response header returns the usage plan rate limits that were applied to the requested operation, when available. The table above indicates the default rate and burst values for this operation. Selling partners whose business demands require higher throughput may see higher rate and burst values than those shown here. For more information, refer to [Usage Plans and Rate Limits in the Selling Partner API](https://developer-docs.amazon.com/sp-api/docs/usage-plans-and-rate-limits-in-the-sp-api).", + "operationId": "createInboundPlan" + } + }, + "/inbound/fba/2024-03-20/inboundPlans/{inboundPlanId}": { + "get": { + "produces": [ + "application/json" + ], + "parameters": [ + { + "description": "Identifier to an inbound plan.", + "in": "path", + "maxLength": 38, + "minLength": 38, + "name": "inboundPlanId", + "pattern": "^[a-zA-Z0-9-]*$", + "required": true, + "type": "string" + } + ], + "responses": { + "200": { + "description": "GetInboundPlan 200 response", + "schema": { + "$ref": "#/definitions/InboundPlan" + }, + "x-amzn-api-sandbox": { + "static": [ + { + "request": { + "parameters": { + "inboundPlanId": { + "value": "wf1234abcd-1234-abcd-5678-1234abcd5678" + } + } + }, + "response": { + "inboundPlanId": "wf1234abcd-1234-abcd-5678-1234abcd5678", + "name": "FBA (03/20/2024, 12:01 PM)", + "createdAt": "2024-03-20T12:01:00Z", + "lastUpdatedAt": "2024-03-28T13:15:30Z", + "status": "ACTIVE", + "marketplaceIds": [ + "A2EUQ1WTGCTBG2" + ], + "packingOptions": [], + "placementOptions": [], + "shipments": [], + "sourceAddress": { + "name": "name", + "addressLine1": "123 example street", + "addressLine2": "Floor 19", + "city": "Toronto", + "stateOrProvinceCode": "ON", + "countryCode": "CA", + "postalCode": "M1M1M1", + "companyName": "Acme" + }, + "contactInformation": { + "email": "email@email.com", + "phoneNumber": "1234567890" + } + } + } + ] + }, + "headers": { + "x-amzn-RequestId": { + "description": "Unique request reference identifier.", + "type": "string" + }, + "x-amzn-RateLimit-Limit": { + "description": "Your rate limit (requests per second) for this operation.", + "type": "string" + } + } + }, + "400": { + "description": "Request has missing or invalid parameters and cannot be parsed.", + "schema": { + "$ref": "#/definitions/ErrorList" + }, + "x-amzn-api-sandbox": { + "static": [ + { + "request": { + "parameters": { + "inboundPlanId": { + "value": "wfbad4abcd-1234-abcd-5678-1234abcd5678" + } + } + }, + "response": { + "errors": [ + { + "code": "BadRequest", + "message": "The inboundPlanId is malformed." + } + ] + } + } + ] + }, + "headers": { + "x-amzn-RequestId": { + "description": "Unique request reference identifier.", + "type": "string" + }, + "x-amzn-RateLimit-Limit": { + "description": "Your rate limit (requests per second) for this operation.", + "type": "string" + } + } + }, + "500": { + "description": "An unexpected condition occurred that prevented the server from fulfilling the request.", + "schema": { + "$ref": "#/definitions/ErrorList" + }, + "headers": { + "x-amzn-RequestId": { + "description": "Unique request reference identifier.", + "type": "string" + } + } + }, + "403": { + "description": "Indicates that access to the resource is forbidden. Possible reasons include Access Denied, Unauthorized, Expired Token, or Invalid Signature.", + "schema": { + "$ref": "#/definitions/ErrorList" + }, + "headers": { + "x-amzn-RequestId": { + "description": "Unique request reference identifier.", + "type": "string" + } + } + }, + "404": { + "description": "The resource specified does not exist.", + "schema": { + "$ref": "#/definitions/ErrorList" + }, + "headers": { + "x-amzn-RequestId": { + "description": "Unique request reference identifier.", + "type": "string" + }, + "x-amzn-RateLimit-Limit": { + "description": "Your rate limit (requests per second) for this operation.", + "type": "string" + } + } + }, + "413": { + "description": "The request size exceeded the maximum accepted size.", + "schema": { + "$ref": "#/definitions/ErrorList" + }, + "headers": { + "x-amzn-RequestId": { + "description": "Unique request reference identifier.", + "type": "string" + } + } + }, + "415": { + "description": "The request payload is in an unsupported format.", + "schema": { + "$ref": "#/definitions/ErrorList" + }, + "headers": { + "x-amzn-RequestId": { + "description": "Unique request reference identifier.", + "type": "string" + } + } + }, + "429": { + "description": "The frequency of requests was greater than allowed.", + "schema": { + "$ref": "#/definitions/ErrorList" + }, + "headers": { + "x-amzn-RequestId": { + "description": "Unique request reference identifier.", + "type": "string" + } + } + }, + "503": { + "description": "Temporary overloading or maintenance of the server.", + "schema": { + "$ref": "#/definitions/ErrorList" + }, + "headers": { + "x-amzn-RequestId": { + "description": "Unique request reference identifier.", + "type": "string" + } + } + } + }, + "tags": [ + "fbaInbound" + ], + "description": "Fetches the top level information about an inbound plan.\n\n**Usage Plan:**\n\n| Rate (requests per second) | Burst |\n| ---- | ---- |\n| 1 | 1 |\n\nThe `x-amzn-RateLimit-Limit` response header returns the usage plan rate limits that were applied to the requested operation, when available. The table above indicates the default rate and burst values for this operation. Selling partners whose business demands require higher throughput may see higher rate and burst values than those shown here. For more information, refer to [Usage Plans and Rate Limits in the Selling Partner API](https://developer-docs.amazon.com/sp-api/docs/usage-plans-and-rate-limits-in-the-sp-api).", + "operationId": "getInboundPlan" + } + }, + "/inbound/fba/2024-03-20/inboundPlans/{inboundPlanId}/boxes": { + "get": { + "produces": [ + "application/json" + ], + "parameters": [ + { + "description": "Identifier to an inbound plan.", + "in": "path", + "maxLength": 38, + "minLength": 38, + "name": "inboundPlanId", + "pattern": "^[a-zA-Z0-9-]*$", + "required": true, + "type": "string" + }, + { + "description": "The number of boxes to return in the response matching the given query.", + "in": "query", + "maximum": 1000, + "minimum": 1, + "name": "pageSize", + "type": "integer", + "default": 10 + }, + { + "description": "A token to fetch a certain page when there are multiple pages worth of results. The value of this token is fetched from the `pagination` returned in the API response. In the absence of the token value from the query parameter the API returns the first page of the result.", + "in": "query", + "maxLength": 1024, + "minLength": 0, + "name": "paginationToken", + "type": "string" + } + ], + "responses": { + "200": { + "description": "ListInboundPlanBoxes 200 response", + "schema": { + "$ref": "#/definitions/ListInboundPlanBoxesResponse" + }, + "x-amzn-api-sandbox": { + "static": [ + { + "request": { + "parameters": { + "inboundPlanId": { + "value": "wf1234abcd-1234-abcd-5678-1234abcd5678" + }, + "pageSize": { + "value": 2 + }, + "paginationToken": { + "value": "paginationToken" + } + } + }, + "response": { + "boxes": [ + { + "packageId": "pk1234abcd-1234-abcd-5678-1234abcd5678", + "weight": { + "unit": "KG", + "value": 5.5 + }, + "dimensions": { + "unitOfMeasurement": "CM", + "length": 3.0, + "width": 4.0, + "height": 5.0 + }, + "quantity": 2, + "boxId": "boxId", + "templateName": "templateName", + "items": [ + { + "quantity": 5, + "expiration": "2024-01-01", + "manufacturingLotCode": "manufacturingLotCode", + "prepInstructions": [ + { + "prepType": "ITEM_POLYBAGGING", + "prepOwner": "AMAZON", + "fee": { + "code": "USD", + "amount": 10.0 + } + } + ], + "msku": "msku", + "asin": "asin", + "fnsku": "fnsku", + "labelOwner": "AMAZON" + } + ], + "destinationRegion": { + "countryCode": "US", + "state": "CA", + "warehouseId": "ABC1" + } + } + ], + "pagination": { + "nextToken": "nextPaginationToken" + } + } + } + ] + }, + "headers": { + "x-amzn-RequestId": { + "description": "Unique request reference identifier.", + "type": "string" + }, + "x-amzn-RateLimit-Limit": { + "description": "Your rate limit (requests per second) for this operation.", + "type": "string" + } + } + }, + "400": { + "description": "Request has missing or invalid parameters and cannot be parsed.", + "schema": { + "$ref": "#/definitions/ErrorList" + }, + "x-amzn-api-sandbox": { + "static": [ + { + "request": { + "parameters": { + "inboundPlanId": { + "value": "bad234abcd-1234-abcd-5678-1234abcd5678" + }, + "pageSize": { + "value": 2 + }, + "paginationToken": { + "value": "paginationToken" + } + } + }, + "response": { + "errors": [ + { + "code": "BadRequest", + "message": "The requested inboundPlanId does not exist." + } + ] + } + } + ] + }, + "headers": { + "x-amzn-RequestId": { + "description": "Unique request reference identifier.", + "type": "string" + }, + "x-amzn-RateLimit-Limit": { + "description": "Your rate limit (requests per second) for this operation.", + "type": "string" + } + } + }, + "500": { + "description": "An unexpected condition occurred that prevented the server from fulfilling the request.", + "schema": { + "$ref": "#/definitions/ErrorList" + }, + "headers": { + "x-amzn-RequestId": { + "description": "Unique request reference identifier.", + "type": "string" + } + } + }, + "403": { + "description": "Indicates that access to the resource is forbidden. Possible reasons include Access Denied, Unauthorized, Expired Token, or Invalid Signature.", + "schema": { + "$ref": "#/definitions/ErrorList" + }, + "headers": { + "x-amzn-RequestId": { + "description": "Unique request reference identifier.", + "type": "string" + } + } + }, + "404": { + "description": "The resource specified does not exist.", + "schema": { + "$ref": "#/definitions/ErrorList" + }, + "headers": { + "x-amzn-RequestId": { + "description": "Unique request reference identifier.", + "type": "string" + }, + "x-amzn-RateLimit-Limit": { + "description": "Your rate limit (requests per second) for this operation.", + "type": "string" + } + } + }, + "413": { + "description": "The request size exceeded the maximum accepted size.", + "schema": { + "$ref": "#/definitions/ErrorList" + }, + "headers": { + "x-amzn-RequestId": { + "description": "Unique request reference identifier.", + "type": "string" + } + } + }, + "415": { + "description": "The request payload is in an unsupported format.", + "schema": { + "$ref": "#/definitions/ErrorList" + }, + "headers": { + "x-amzn-RequestId": { + "description": "Unique request reference identifier.", + "type": "string" + } + } + }, + "429": { + "description": "The frequency of requests was greater than allowed.", + "schema": { + "$ref": "#/definitions/ErrorList" + }, + "headers": { + "x-amzn-RequestId": { + "description": "Unique request reference identifier.", + "type": "string" + } + } + }, + "503": { + "description": "Temporary overloading or maintenance of the server.", + "schema": { + "$ref": "#/definitions/ErrorList" + }, + "headers": { + "x-amzn-RequestId": { + "description": "Unique request reference identifier.", + "type": "string" + } + } + } + }, + "tags": [ + "fbaInbound" + ], + "description": "Provides a paginated list of box packages in an inbound plan.\n\n**Usage Plan:**\n\n| Rate (requests per second) | Burst |\n| ---- | ---- |\n| 1 | 1 |\n\nThe `x-amzn-RateLimit-Limit` response header returns the usage plan rate limits that were applied to the requested operation, when available. The table above indicates the default rate and burst values for this operation. Selling partners whose business demands require higher throughput may see higher rate and burst values than those shown here. For more information, refer to [Usage Plans and Rate Limits in the Selling Partner API](https://developer-docs.amazon.com/sp-api/docs/usage-plans-and-rate-limits-in-the-sp-api).", + "operationId": "listInboundPlanBoxes" + } + }, + "/inbound/fba/2024-03-20/inboundPlans/{inboundPlanId}/cancellation": { + "put": { + "produces": [ + "application/json" + ], + "parameters": [ + { + "description": "Identifier to an inbound plan.", + "in": "path", + "maxLength": 38, + "minLength": 38, + "name": "inboundPlanId", + "pattern": "^[a-zA-Z0-9-]*$", + "required": true, + "type": "string" + } + ], + "responses": { + "202": { + "description": "CancelInboundPlan 202 response", + "schema": { + "$ref": "#/definitions/CancelInboundPlanResponse" + }, + "x-amzn-api-sandbox": { + "static": [ + { + "request": { + "parameters": { + "inboundPlanId": { + "value": "wf1234abcd-1234-abcd-5678-1234abcd5678" + } + } + }, + "response": { + "operationId": "1234abcd-1234-abcd-5678-1234abcd5678" + } + } + ] + }, + "headers": { + "x-amzn-RequestId": { + "description": "Unique request reference identifier.", + "type": "string" + }, + "x-amzn-RateLimit-Limit": { + "description": "Your rate limit (requests per second) for this operation.", + "type": "string" + } + } + }, + "400": { + "description": "Request has missing or invalid parameters and cannot be parsed.", + "schema": { + "$ref": "#/definitions/ErrorList" + }, + "x-amzn-api-sandbox": { + "static": [ + { + "request": { + "parameters": { + "inboundPlanId": { + "value": "wfbad4abcd-1234-abcd-5678-1234abcd5678" + } + } + }, + "response": { + "errors": [ + { + "code": "BadRequest", + "message": "The inbound plan is already cancelled." + } + ] + } + } + ] + }, + "headers": { + "x-amzn-RequestId": { + "description": "Unique request reference identifier.", + "type": "string" + }, + "x-amzn-RateLimit-Limit": { + "description": "Your rate limit (requests per second) for this operation.", + "type": "string" + } + } + }, + "500": { + "description": "An unexpected condition occurred that prevented the server from fulfilling the request.", + "schema": { + "$ref": "#/definitions/ErrorList" + }, + "headers": { + "x-amzn-RequestId": { + "description": "Unique request reference identifier.", + "type": "string" + } + } + }, + "403": { + "description": "Indicates that access to the resource is forbidden. Possible reasons include Access Denied, Unauthorized, Expired Token, or Invalid Signature.", + "schema": { + "$ref": "#/definitions/ErrorList" + }, + "headers": { + "x-amzn-RequestId": { + "description": "Unique request reference identifier.", + "type": "string" + } + } + }, + "404": { + "description": "The resource specified does not exist.", + "schema": { + "$ref": "#/definitions/ErrorList" + }, + "headers": { + "x-amzn-RequestId": { + "description": "Unique request reference identifier.", + "type": "string" + }, + "x-amzn-RateLimit-Limit": { + "description": "Your rate limit (requests per second) for this operation.", + "type": "string" + } + } + }, + "413": { + "description": "The request size exceeded the maximum accepted size.", + "schema": { + "$ref": "#/definitions/ErrorList" + }, + "headers": { + "x-amzn-RequestId": { + "description": "Unique request reference identifier.", + "type": "string" + } + } + }, + "415": { + "description": "The request payload is in an unsupported format.", + "schema": { + "$ref": "#/definitions/ErrorList" + }, + "headers": { + "x-amzn-RequestId": { + "description": "Unique request reference identifier.", + "type": "string" + } + } + }, + "429": { + "description": "The frequency of requests was greater than allowed.", + "schema": { + "$ref": "#/definitions/ErrorList" + }, + "headers": { + "x-amzn-RequestId": { + "description": "Unique request reference identifier.", + "type": "string" + } + } + }, + "503": { + "description": "Temporary overloading or maintenance of the server.", + "schema": { + "$ref": "#/definitions/ErrorList" + }, + "headers": { + "x-amzn-RequestId": { + "description": "Unique request reference identifier.", + "type": "string" + } + } + } + }, + "tags": [ + "fbaInbound" + ], + "description": "Cancels an Inbound Plan. Charges may apply if the cancellation is performed outside of a void window. The window\n for Amazon Partnered Carriers is 24 hours for Small Parcel Delivery (SPD) and one hour for Less-Than-Truckload (LTL) carrier shipments.\n\n**Usage Plan:**\n\n| Rate (requests per second) | Burst |\n| ---- | ---- |\n| 0.05 | 1 |\n\nThe `x-amzn-RateLimit-Limit` response header returns the usage plan rate limits that were applied to the requested operation, when available. The table above indicates the default rate and burst values for this operation. Selling partners whose business demands require higher throughput may see higher rate and burst values than those shown here. For more information, refer to [Usage Plans and Rate Limits in the Selling Partner API](https://developer-docs.amazon.com/sp-api/docs/usage-plans-and-rate-limits-in-the-sp-api).", + "operationId": "cancelInboundPlan" + } + }, + "/inbound/fba/2024-03-20/inboundPlans/{inboundPlanId}/items": { + "get": { + "produces": [ + "application/json" + ], + "parameters": [ + { + "description": "Identifier to an inbound plan.", + "in": "path", + "maxLength": 38, + "minLength": 38, + "name": "inboundPlanId", + "pattern": "^[a-zA-Z0-9-]*$", + "required": true, + "type": "string" + }, + { + "description": "The number of items to return in the response matching the given query.", + "in": "query", + "maximum": 1000, + "minimum": 1, + "name": "pageSize", + "type": "integer", + "default": 10 + }, + { + "description": "A token to fetch a certain page when there are multiple pages worth of results. The value of this token is fetched from the `pagination` returned in the API response. In the absence of the token value from the query parameter the API returns the first page of the result.", + "in": "query", + "maxLength": 1024, + "minLength": 0, + "name": "paginationToken", + "type": "string" + } + ], + "responses": { + "200": { + "description": "ListInboundPlanItems 200 response", + "schema": { + "$ref": "#/definitions/ListInboundPlanItemsResponse" + }, + "x-amzn-api-sandbox": { + "static": [ + { + "request": { + "parameters": { + "inboundPlanId": { + "value": "wf1234abcd-1234-abcd-5678-1234abcd5678" + }, + "pageSize": { + "value": 2 + }, + "paginationToken": { + "value": "paginationToken" + } + } + }, + "response": { + "items": [ + { + "quantity": 5, + "expiration": "2024-01-01", + "manufacturingLotCode": "manufacturingLotCode", + "prepInstructions": [ + { + "prepType": "ITEM_POLYBAGGING", + "prepOwner": "AMAZON", + "fee": { + "code": "USD", + "amount": 10.0 + } + } + ], + "msku": "msku", + "asin": "asin", + "fnsku": "fnsku", + "labelOwner": "AMAZON" + } + ], + "pagination": { + "nextToken": "nextPaginationToken" + } + } + } + ] + }, + "headers": { + "x-amzn-RequestId": { + "description": "Unique request reference identifier.", + "type": "string" + }, + "x-amzn-RateLimit-Limit": { + "description": "Your rate limit (requests per second) for this operation.", + "type": "string" + } + } + }, + "400": { + "description": "Request has missing or invalid parameters and cannot be parsed.", + "schema": { + "$ref": "#/definitions/ErrorList" + }, + "x-amzn-api-sandbox": { + "static": [ + { + "request": { + "parameters": { + "inboundPlanId": { + "value": "wfbad4abcd-1234-abcd-5678-1234abcd5678" + }, + "pageSize": { + "value": 1 + }, + "paginationToken": { + "value": "" + } + } + }, + "response": { + "errors": [ + { + "code": "BadRequest", + "message": "The requested inbound plan does not exist." + } + ] + } + } + ] + }, + "headers": { + "x-amzn-RequestId": { + "description": "Unique request reference identifier.", + "type": "string" + }, + "x-amzn-RateLimit-Limit": { + "description": "Your rate limit (requests per second) for this operation.", + "type": "string" + } + } + }, + "500": { + "description": "An unexpected condition occurred that prevented the server from fulfilling the request.", + "schema": { + "$ref": "#/definitions/ErrorList" + }, + "headers": { + "x-amzn-RequestId": { + "description": "Unique request reference identifier.", + "type": "string" + } + } + }, + "403": { + "description": "Indicates that access to the resource is forbidden. Possible reasons include Access Denied, Unauthorized, Expired Token, or Invalid Signature.", + "schema": { + "$ref": "#/definitions/ErrorList" + }, + "headers": { + "x-amzn-RequestId": { + "description": "Unique request reference identifier.", + "type": "string" + } + } + }, + "404": { + "description": "The resource specified does not exist.", + "schema": { + "$ref": "#/definitions/ErrorList" + }, + "headers": { + "x-amzn-RequestId": { + "description": "Unique request reference identifier.", + "type": "string" + }, + "x-amzn-RateLimit-Limit": { + "description": "Your rate limit (requests per second) for this operation.", + "type": "string" + } + } + }, + "413": { + "description": "The request size exceeded the maximum accepted size.", + "schema": { + "$ref": "#/definitions/ErrorList" + }, + "headers": { + "x-amzn-RequestId": { + "description": "Unique request reference identifier.", + "type": "string" + } + } + }, + "415": { + "description": "The request payload is in an unsupported format.", + "schema": { + "$ref": "#/definitions/ErrorList" + }, + "headers": { + "x-amzn-RequestId": { + "description": "Unique request reference identifier.", + "type": "string" + } + } + }, + "429": { + "description": "The frequency of requests was greater than allowed.", + "schema": { + "$ref": "#/definitions/ErrorList" + }, + "headers": { + "x-amzn-RequestId": { + "description": "Unique request reference identifier.", + "type": "string" + } + } + }, + "503": { + "description": "Temporary overloading or maintenance of the server.", + "schema": { + "$ref": "#/definitions/ErrorList" + }, + "headers": { + "x-amzn-RequestId": { + "description": "Unique request reference identifier.", + "type": "string" + } + } + } + }, + "tags": [ + "fbaInbound" + ], + "description": "Provides a paginated list of item packages in an inbound plan.\n\n**Usage Plan:**\n\n| Rate (requests per second) | Burst |\n| ---- | ---- |\n| 1 | 1 |\n\nThe `x-amzn-RateLimit-Limit` response header returns the usage plan rate limits that were applied to the requested operation, when available. The table above indicates the default rate and burst values for this operation. Selling partners whose business demands require higher throughput may see higher rate and burst values than those shown here. For more information, refer to [Usage Plans and Rate Limits in the Selling Partner API](https://developer-docs.amazon.com/sp-api/docs/usage-plans-and-rate-limits-in-the-sp-api).", + "operationId": "listInboundPlanItems" + } + }, + "/inbound/fba/2024-03-20/inboundPlans/{inboundPlanId}/packingInformation": { + "post": { + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "parameters": [ + { + "description": "Identifier to an inbound plan.", + "in": "path", + "maxLength": 38, + "minLength": 38, + "name": "inboundPlanId", + "pattern": "^[a-zA-Z0-9-]*$", + "required": true, + "type": "string" + }, + { + "in": "body", + "name": "body", + "required": true, + "schema": { + "$ref": "#/definitions/SetPackingInformationRequest" + }, + "description": "The body of the request to `setPackingInformation`." + } + ], + "responses": { + "202": { + "description": "SetPackingInformation 202 response", + "schema": { + "$ref": "#/definitions/SetPackingInformationResponse" + }, + "x-amzn-api-sandbox": { + "static": [ + { + "request": { + "parameters": { + "inboundPlanId": { + "value": "wf1234abcd-1234-abcd-5678-1234abcd5678" + }, + "body": { + "value": { + "packageGroupings": [ + { + "shipmentId": "sh1234abcd-1234-abcd-5678-1234abcd5678", + "packingGroupId": "pg1234abcd-1234-abcd-5678-1234abcd5678", + "boxes": [ + { + "boxId": "boxId", + "templateName": "templateName", + "contents": [ + { + "msku": "msku", + "quantityInBox": 5, + "expiration": "2024-01-01", + "prepOwner": "AMAZON", + "labelOwner": "AMAZON", + "manufacturingLotCode": "manufacturingLotCode" + } + ], + "contentInformationSource": "BOX_CONTENT_PROVIDED", + "weight": { + "unit": "KG", + "value": 5.5 + }, + "dimensions": { + "unitOfMeasurement": "CM", + "length": 3.0, + "width": 4.0, + "height": 5.0 + }, + "quantity": 2 + } + ] + } + ] + } + } + } + }, + "response": { + "operationId": "1234abcd-1234-abcd-5678-1234abcd5678" + } + } + ] + }, + "headers": { + "x-amzn-RequestId": { + "description": "Unique request reference identifier.", + "type": "string" + }, + "x-amzn-RateLimit-Limit": { + "description": "Your rate limit (requests per second) for this operation.", + "type": "string" + } + } + }, + "400": { + "description": "Request has missing or invalid parameters and cannot be parsed.", + "schema": { + "$ref": "#/definitions/ErrorList" + }, + "x-amzn-api-sandbox": { + "static": [ + { + "request": { + "parameters": { + "inboundPlanId": { + "value": "bad234abcd-1234-abcd-5678-1234abcd5678" + }, + "body": { + "value": { + "packageGroupings": [ + { + "shipmentId": "sh1234abcd-1234-abcd-5678-1234abcd5678", + "packingGroupId": "bad234abcd-1234-abcd-5678-1234abcd5678", + "boxes": [ + { + "boxId": "boxId", + "templateName": "templateName", + "contents": [ + { + "msku": "msku", + "quantityInBox": 5, + "expiration": "2024-01-01", + "prepOwner": "AMAZON", + "labelOwner": "AMAZON", + "manufacturingLotCode": "manufacturingLotCode" + } + ], + "contentInformationSource": "BOX_CONTENT_PROVIDED", + "weight": { + "unit": "KG", + "value": 5.5 + }, + "dimensions": { + "unitOfMeasurement": "CM", + "length": 3.0, + "width": 4.0, + "height": 5.0 + }, + "quantity": 2 + } + ] + } + ] + } + } + } + }, + "response": { + "errors": [ + { + "code": "BadRequest", + "message": "The requested packingGroupId does not exist for the specified inbound plan." + } + ] + } + } + ] + }, + "headers": { + "x-amzn-RequestId": { + "description": "Unique request reference identifier.", + "type": "string" + }, + "x-amzn-RateLimit-Limit": { + "description": "Your rate limit (requests per second) for this operation.", + "type": "string" + } + } + }, + "500": { + "description": "An unexpected condition occurred that prevented the server from fulfilling the request.", + "schema": { + "$ref": "#/definitions/ErrorList" + }, + "headers": { + "x-amzn-RequestId": { + "description": "Unique request reference identifier.", + "type": "string" + } + } + }, + "403": { + "description": "Indicates that access to the resource is forbidden. Possible reasons include Access Denied, Unauthorized, Expired Token, or Invalid Signature.", + "schema": { + "$ref": "#/definitions/ErrorList" + }, + "headers": { + "x-amzn-RequestId": { + "description": "Unique request reference identifier.", + "type": "string" + } + } + }, + "404": { + "description": "The resource specified does not exist.", + "schema": { + "$ref": "#/definitions/ErrorList" + }, + "headers": { + "x-amzn-RequestId": { + "description": "Unique request reference identifier.", + "type": "string" + }, + "x-amzn-RateLimit-Limit": { + "description": "Your rate limit (requests per second) for this operation.", + "type": "string" + } + } + }, + "413": { + "description": "The request size exceeded the maximum accepted size.", + "schema": { + "$ref": "#/definitions/ErrorList" + }, + "headers": { + "x-amzn-RequestId": { + "description": "Unique request reference identifier.", + "type": "string" + } + } + }, + "415": { + "description": "The request payload is in an unsupported format.", + "schema": { + "$ref": "#/definitions/ErrorList" + }, + "headers": { + "x-amzn-RequestId": { + "description": "Unique request reference identifier.", + "type": "string" + } + } + }, + "429": { + "description": "The frequency of requests was greater than allowed.", + "schema": { + "$ref": "#/definitions/ErrorList" + }, + "headers": { + "x-amzn-RequestId": { + "description": "Unique request reference identifier.", + "type": "string" + } + } + }, + "503": { + "description": "Temporary overloading or maintenance of the server.", + "schema": { + "$ref": "#/definitions/ErrorList" + }, + "headers": { + "x-amzn-RequestId": { + "description": "Unique request reference identifier.", + "type": "string" + } + } + } + }, + "tags": [ + "fbaInbound" + ], + "description": "Sets packing information for an inbound plan. This should be called after an inbound plan is created to populate\n the box level information required for planning and transportation estimates.\n\n**Usage Plan:**\n\n| Rate (requests per second) | Burst |\n| ---- | ---- |\n| 0.05 | 1 |\n\nThe `x-amzn-RateLimit-Limit` response header returns the usage plan rate limits that were applied to the requested operation, when available. The table above indicates the default rate and burst values for this operation. Selling partners whose business demands require higher throughput may see higher rate and burst values than those shown here. For more information, refer to [Usage Plans and Rate Limits in the Selling Partner API](https://developer-docs.amazon.com/sp-api/docs/usage-plans-and-rate-limits-in-the-sp-api).", + "operationId": "setPackingInformation" + } + }, + "/inbound/fba/2024-03-20/inboundPlans/{inboundPlanId}/packingOptions": { + "get": { + "produces": [ + "application/json" + ], + "parameters": [ + { + "description": "Identifier to an inbound plan.", + "in": "path", + "maxLength": 38, + "minLength": 38, + "name": "inboundPlanId", + "pattern": "^[a-zA-Z0-9-]*$", + "required": true, + "type": "string" + }, + { + "description": "The number of packing options to return in the response matching the given query.", + "in": "query", + "maximum": 20, + "minimum": 1, + "name": "pageSize", + "type": "integer", + "default": 10 + }, + { + "description": "A token to fetch a certain page when there are multiple pages worth of results. The value of this token is fetched from the `pagination` returned in the API response. In the absence of the token value from the query parameter the API returns the first page of the result.", + "in": "query", + "maxLength": 1024, + "minLength": 0, + "name": "paginationToken", + "type": "string" + } + ], + "responses": { + "200": { + "description": "ListPackingOptions 200 response", + "schema": { + "$ref": "#/definitions/ListPackingOptionsResponse" + }, + "x-amzn-api-sandbox": { + "static": [ + { + "request": { + "parameters": { + "inboundPlanId": { + "value": "wf1234abcd-1234-abcd-5678-1234abcd5678" + }, + "pageSize": { + "value": 2 + }, + "paginationToken": { + "value": "paginationToken" + } + } + }, + "response": { + "packingOptions": [ + { + "inboundPlanId": "wf1234abcd-1234-abcd-5678-1234abcd5678", + "packingOptionId": "po1234abcd-1234-abcd-5678-1234abcd5678", + "packingGroups": [ + "pg1234abcd-1234-abcd-5678-1234abcd5678" + ], + "fees": [ + { + "value": { + "code": "USD", + "amount": 1.0 + }, + "type": "FEE", + "target": "Placement Services", + "description": "description" + } + ], + "discounts": [ + { + "value": { + "code": "USD", + "amount": 1.0 + }, + "type": "DISCOUNT", + "target": "Placement Services", + "description": "description" + } + ], + "expiration": "2024-01-01T00:00:00.000Z", + "status": "OFFERED", + "supportedShippingConfigurations": [ + { + "shippingSolution": "AMAZON_PARTNERED_CARRIER", + "shippingMode": "GROUND_SMALL_PARCEL" + } + ] + } + ], + "pagination": { + "nextToken": "nextPaginationToken" + } + } + } + ] + }, + "headers": { + "x-amzn-RequestId": { + "description": "Unique request reference identifier.", + "type": "string" + }, + "x-amzn-RateLimit-Limit": { + "description": "Your rate limit (requests per second) for this operation.", + "type": "string" + } + } + }, + "400": { + "description": "Request has missing or invalid parameters and cannot be parsed.", + "schema": { + "$ref": "#/definitions/ErrorList" + }, + "x-amzn-api-sandbox": { + "static": [ + { + "request": { + "parameters": { + "inboundPlanId": { + "value": "bad234abcd-1234-abcd-5678-1234abcd5678" + }, + "pageSize": { + "value": 2 + }, + "paginationToken": { + "value": "paginationToken" + } + } + }, + "response": { + "errors": [ + { + "code": "BadRequest", + "message": "The requested inbound plan does not exist." + } + ] + } + } + ] + }, + "headers": { + "x-amzn-RequestId": { + "description": "Unique request reference identifier.", + "type": "string" + }, + "x-amzn-RateLimit-Limit": { + "description": "Your rate limit (requests per second) for this operation.", + "type": "string" + } + } + }, + "500": { + "description": "An unexpected condition occurred that prevented the server from fulfilling the request.", + "schema": { + "$ref": "#/definitions/ErrorList" + }, + "headers": { + "x-amzn-RequestId": { + "description": "Unique request reference identifier.", + "type": "string" + } + } + }, + "403": { + "description": "Indicates that access to the resource is forbidden. Possible reasons include Access Denied, Unauthorized, Expired Token, or Invalid Signature.", + "schema": { + "$ref": "#/definitions/ErrorList" + }, + "headers": { + "x-amzn-RequestId": { + "description": "Unique request reference identifier.", + "type": "string" + } + } + }, + "404": { + "description": "The resource specified does not exist.", + "schema": { + "$ref": "#/definitions/ErrorList" + }, + "headers": { + "x-amzn-RequestId": { + "description": "Unique request reference identifier.", + "type": "string" + }, + "x-amzn-RateLimit-Limit": { + "description": "Your rate limit (requests per second) for this operation.", + "type": "string" + } + } + }, + "413": { + "description": "The request size exceeded the maximum accepted size.", + "schema": { + "$ref": "#/definitions/ErrorList" + }, + "headers": { + "x-amzn-RequestId": { + "description": "Unique request reference identifier.", + "type": "string" + } + } + }, + "415": { + "description": "The request payload is in an unsupported format.", + "schema": { + "$ref": "#/definitions/ErrorList" + }, + "headers": { + "x-amzn-RequestId": { + "description": "Unique request reference identifier.", + "type": "string" + } + } + }, + "429": { + "description": "The frequency of requests was greater than allowed.", + "schema": { + "$ref": "#/definitions/ErrorList" + }, + "headers": { + "x-amzn-RequestId": { + "description": "Unique request reference identifier.", + "type": "string" + } + } + }, + "503": { + "description": "Temporary overloading or maintenance of the server.", + "schema": { + "$ref": "#/definitions/ErrorList" + }, + "headers": { + "x-amzn-RequestId": { + "description": "Unique request reference identifier.", + "type": "string" + } + } + } + }, + "tags": [ + "fbaInbound" + ], + "description": "Retrieves a list of all packing options for an inbound plan. Packing options must first be generated by the corresponding endpoint before becoming available.\n\n**Usage Plan:**\n\n| Rate (requests per second) | Burst |\n| ---- | ---- |\n| 1 | 1 |\n\nThe `x-amzn-RateLimit-Limit` response header returns the usage plan rate limits that were applied to the requested operation, when available. The table above indicates the default rate and burst values for this operation. Selling partners whose business demands require higher throughput may see higher rate and burst values than those shown here. For more information, refer to [Usage Plans and Rate Limits in the Selling Partner API](https://developer-docs.amazon.com/sp-api/docs/usage-plans-and-rate-limits-in-the-sp-api).", + "operationId": "listPackingOptions" + }, + "post": { + "produces": [ + "application/json" + ], + "parameters": [ + { + "description": "Identifier to an inbound plan.", + "in": "path", + "maxLength": 38, + "minLength": 38, + "name": "inboundPlanId", + "pattern": "^[a-zA-Z0-9-]*$", + "required": true, + "type": "string" + } + ], + "responses": { + "202": { + "description": "GeneratePackingOptions 202 response", + "schema": { + "$ref": "#/definitions/GeneratePackingOptionsResponse" + }, + "x-amzn-api-sandbox": { + "static": [ + { + "request": { + "parameters": { + "inboundPlanId": { + "value": "wf1234abcd-1234-abcd-5678-1234abcd5678" + } + } + }, + "response": { + "operationId": "1234abcd-1234-abcd-5678-1234abcd5678" + } + } + ] + }, + "headers": { + "x-amzn-RequestId": { + "description": "Unique request reference identifier.", + "type": "string" + }, + "x-amzn-RateLimit-Limit": { + "description": "Your rate limit (requests per second) for this operation.", + "type": "string" + } + } + }, + "400": { + "description": "Request has missing or invalid parameters and cannot be parsed.", + "schema": { + "$ref": "#/definitions/ErrorList" + }, + "x-amzn-api-sandbox": { + "static": [ + { + "request": { + "parameters": { + "inboundPlanId": { + "value": "wfbad4abcd-1234-abcd-5678-1234abcd5678" + } + } + }, + "response": { + "errors": [ + { + "code": "BadRequest", + "message": "The inbound plan is not in a valid state to generate packing options." + } + ] + } + } + ] + }, + "headers": { + "x-amzn-RequestId": { + "description": "Unique request reference identifier.", + "type": "string" + }, + "x-amzn-RateLimit-Limit": { + "description": "Your rate limit (requests per second) for this operation.", + "type": "string" + } + } + }, + "500": { + "description": "An unexpected condition occurred that prevented the server from fulfilling the request.", + "schema": { + "$ref": "#/definitions/ErrorList" + }, + "headers": { + "x-amzn-RequestId": { + "description": "Unique request reference identifier.", + "type": "string" + } + } + }, + "403": { + "description": "Indicates that access to the resource is forbidden. Possible reasons include Access Denied, Unauthorized, Expired Token, or Invalid Signature.", + "schema": { + "$ref": "#/definitions/ErrorList" + }, + "headers": { + "x-amzn-RequestId": { + "description": "Unique request reference identifier.", + "type": "string" + } + } + }, + "404": { + "description": "The resource specified does not exist.", + "schema": { + "$ref": "#/definitions/ErrorList" + }, + "headers": { + "x-amzn-RequestId": { + "description": "Unique request reference identifier.", + "type": "string" + }, + "x-amzn-RateLimit-Limit": { + "description": "Your rate limit (requests per second) for this operation.", + "type": "string" + } + } + }, + "413": { + "description": "The request size exceeded the maximum accepted size.", + "schema": { + "$ref": "#/definitions/ErrorList" + }, + "headers": { + "x-amzn-RequestId": { + "description": "Unique request reference identifier.", + "type": "string" + } + } + }, + "415": { + "description": "The request payload is in an unsupported format.", + "schema": { + "$ref": "#/definitions/ErrorList" + }, + "headers": { + "x-amzn-RequestId": { + "description": "Unique request reference identifier.", + "type": "string" + } + } + }, + "429": { + "description": "The frequency of requests was greater than allowed.", + "schema": { + "$ref": "#/definitions/ErrorList" + }, + "headers": { + "x-amzn-RequestId": { + "description": "Unique request reference identifier.", + "type": "string" + } + } + }, + "503": { + "description": "Temporary overloading or maintenance of the server.", + "schema": { + "$ref": "#/definitions/ErrorList" + }, + "headers": { + "x-amzn-RequestId": { + "description": "Unique request reference identifier.", + "type": "string" + } + } + } + }, + "tags": [ + "fbaInbound" + ], + "description": "Generates available packing options for the inbound plan.\n\n**Usage Plan:**\n\n| Rate (requests per second) | Burst |\n| ---- | ---- |\n| 0.05 | 1 |\n\nThe `x-amzn-RateLimit-Limit` response header returns the usage plan rate limits that were applied to the requested operation, when available. The table above indicates the default rate and burst values for this operation. Selling partners whose business demands require higher throughput may see higher rate and burst values than those shown here. For more information, refer to [Usage Plans and Rate Limits in the Selling Partner API](https://developer-docs.amazon.com/sp-api/docs/usage-plans-and-rate-limits-in-the-sp-api).", + "operationId": "generatePackingOptions" + } + }, + "/inbound/fba/2024-03-20/inboundPlans/{inboundPlanId}/packingOptions/{packingOptionId}/confirmation": { + "post": { + "produces": [ + "application/json" + ], + "parameters": [ + { + "description": "Identifier to an inbound plan.", + "in": "path", + "maxLength": 38, + "minLength": 38, + "name": "inboundPlanId", + "pattern": "^[a-zA-Z0-9-]*$", + "required": true, + "type": "string" + }, + { + "description": "Identifier to a packing option.", + "in": "path", + "maxLength": 38, + "minLength": 38, + "name": "packingOptionId", + "pattern": "^[a-zA-Z0-9-]*$", + "required": true, + "type": "string" + } + ], + "responses": { + "202": { + "description": "ConfirmPackingOption 202 response", + "schema": { + "$ref": "#/definitions/ConfirmPackingOptionResponse" + }, + "x-amzn-api-sandbox": { + "static": [ + { + "request": { + "parameters": { + "inboundPlanId": { + "value": "wf1234abcd-1234-abcd-5678-1234abcd5678" + }, + "packingOptionId": { + "value": "po1234abcd-1234-abcd-5678-1234abcd5678" + } + } + }, + "response": { + "operationId": "1234abcd-1234-abcd-5678-1234abcd5678" + } + } + ] + }, + "headers": { + "x-amzn-RequestId": { + "description": "Unique request reference identifier.", + "type": "string" + }, + "x-amzn-RateLimit-Limit": { + "description": "Your rate limit (requests per second) for this operation.", + "type": "string" + } + } + }, + "400": { + "description": "Request has missing or invalid parameters and cannot be parsed.", + "schema": { + "$ref": "#/definitions/ErrorList" + }, + "x-amzn-api-sandbox": { + "static": [ + { + "request": { + "parameters": { + "inboundPlanId": { + "value": "wf1234abcd-1234-abcd-5678-1234abcd5678" + }, + "packingOptionId": { + "value": "bad234abcd-1234-abcd-5678-1234abcd5678" + } + } + }, + "response": { + "errors": [ + { + "code": "BadRequest", + "message": "The requested packingOptionId does not exist for the given inbound plan." + } + ] + } + } + ] + }, + "headers": { + "x-amzn-RequestId": { + "description": "Unique request reference identifier.", + "type": "string" + }, + "x-amzn-RateLimit-Limit": { + "description": "Your rate limit (requests per second) for this operation.", + "type": "string" + } + } + }, + "500": { + "description": "An unexpected condition occurred that prevented the server from fulfilling the request.", + "schema": { + "$ref": "#/definitions/ErrorList" + }, + "headers": { + "x-amzn-RequestId": { + "description": "Unique request reference identifier.", + "type": "string" + } + } + }, + "403": { + "description": "Indicates that access to the resource is forbidden. Possible reasons include Access Denied, Unauthorized, Expired Token, or Invalid Signature.", + "schema": { + "$ref": "#/definitions/ErrorList" + }, + "headers": { + "x-amzn-RequestId": { + "description": "Unique request reference identifier.", + "type": "string" + } + } + }, + "404": { + "description": "The resource specified does not exist.", + "schema": { + "$ref": "#/definitions/ErrorList" + }, + "headers": { + "x-amzn-RequestId": { + "description": "Unique request reference identifier.", + "type": "string" + }, + "x-amzn-RateLimit-Limit": { + "description": "Your rate limit (requests per second) for this operation.", + "type": "string" + } + } + }, + "413": { + "description": "The request size exceeded the maximum accepted size.", + "schema": { + "$ref": "#/definitions/ErrorList" + }, + "headers": { + "x-amzn-RequestId": { + "description": "Unique request reference identifier.", + "type": "string" + } + } + }, + "415": { + "description": "The request payload is in an unsupported format.", + "schema": { + "$ref": "#/definitions/ErrorList" + }, + "headers": { + "x-amzn-RequestId": { + "description": "Unique request reference identifier.", + "type": "string" + } + } + }, + "429": { + "description": "The frequency of requests was greater than allowed.", + "schema": { + "$ref": "#/definitions/ErrorList" + }, + "headers": { + "x-amzn-RequestId": { + "description": "Unique request reference identifier.", + "type": "string" + } + } + }, + "503": { + "description": "Temporary overloading or maintenance of the server.", + "schema": { + "$ref": "#/definitions/ErrorList" + }, + "headers": { + "x-amzn-RequestId": { + "description": "Unique request reference identifier.", + "type": "string" + } + } + } + }, + "tags": [ + "fbaInbound" + ], + "description": "Confirms the packing option for an inbound plan.\n\n**Usage Plan:**\n\n| Rate (requests per second) | Burst |\n| ---- | ---- |\n| 0.05 | 1 |\n\nThe `x-amzn-RateLimit-Limit` response header returns the usage plan rate limits that were applied to the requested operation, when available. The table above indicates the default rate and burst values for this operation. Selling partners whose business demands require higher throughput may see higher rate and burst values than those shown here. For more information, refer to [Usage Plans and Rate Limits in the Selling Partner API](https://developer-docs.amazon.com/sp-api/docs/usage-plans-and-rate-limits-in-the-sp-api).", + "operationId": "confirmPackingOption" + } + }, + "/inbound/fba/2024-03-20/inboundPlans/{inboundPlanId}/packingOptions/{packingOptionId}/packingGroups/{packingGroupId}/items": { + "get": { + "produces": [ + "application/json" + ], + "parameters": [ + { + "description": "Identifier to an inbound plan.", + "in": "path", + "maxLength": 38, + "minLength": 38, + "name": "inboundPlanId", + "pattern": "^[a-zA-Z0-9-]*$", + "required": true, + "type": "string" + }, + { + "description": "Identifier to a packing option.", + "in": "path", + "maxLength": 38, + "minLength": 38, + "name": "packingOptionId", + "pattern": "^[a-zA-Z0-9-]*$", + "required": true, + "type": "string" + }, + { + "description": "Identifier to a packing group.", + "in": "path", + "maxLength": 38, + "minLength": 38, + "name": "packingGroupId", + "pattern": "^[a-zA-Z0-9-]*$", + "required": true, + "type": "string" + }, + { + "description": "The number of packing group items to return in the response matching the given query.", + "in": "query", + "maximum": 100, + "minimum": 1, + "name": "pageSize", + "type": "integer", + "default": 10 + }, + { + "description": "A token to fetch a certain page when there are multiple pages worth of results. The value of this token is fetched from the `pagination` returned in the API response. In the absence of the token value from the query parameter the API returns the first page of the result.", + "in": "query", + "maxLength": 1024, + "minLength": 0, + "name": "paginationToken", + "type": "string" + } + ], + "responses": { + "200": { + "description": "ListPackingGroupItems 200 response", + "schema": { + "$ref": "#/definitions/ListPackingGroupItemsResponse" + }, + "x-amzn-api-sandbox": { + "static": [ + { + "request": { + "parameters": { + "inboundPlanId": { + "value": "wf1234abcd-1234-abcd-5678-1234abcd5678" + }, + "packingOptionId": { + "value": "po1234abcd-1234-abcd-5678-1234abcd5678" + }, + "packingGroupId": { + "value": "pg1234abcd-1234-abcd-5678-1234abcd5678" + }, + "pageSize": { + "value": 2 + }, + "paginationToken": { + "value": "paginationToken" + } + } + }, + "response": { + "items": [ + { + "quantity": 5, + "prepInstructions": [ + { + "prepType": "ITEM_POLYBAGGING", + "prepOwner": "AMAZON", + "fee": { + "code": "USD", + "amount": 10.0 + } + } + ], + "msku": "msku", + "asin": "asin", + "fnsku": "fnsku", + "labelOwner": "AMAZON" + } + ], + "pagination": { + "nextToken": "nextPaginationToken" + } + } + } + ] + }, + "headers": { + "x-amzn-RequestId": { + "description": "Unique request reference identifier.", + "type": "string" + }, + "x-amzn-RateLimit-Limit": { + "description": "Your rate limit (requests per second) for this operation.", + "type": "string" + } + } + }, + "400": { + "description": "Request has missing or invalid parameters and cannot be parsed.", + "schema": { + "$ref": "#/definitions/ErrorList" + }, + "x-amzn-api-sandbox": { + "static": [ + { + "request": { + "parameters": { + "inboundPlanId": { + "value": "wf1234abcd-1234-abcd-5678-1234abcd5678" + }, + "packingOptionId": { + "value": "bad234abcd-1234-abcd-5678-1234abcd5678" + }, + "packingGroupId": { + "value": "pg1234abcd-1234-abcd-5678-1234abcd5678" + }, + "pageSize": { + "value": 2 + }, + "paginationToken": { + "value": "paginationToken" + } + } + }, + "response": { + "errors": [ + { + "code": "BadRequest", + "message": "The requested packingOptionId does not exist for the specified inbound plan." + } + ] + } + } + ] + }, + "headers": { + "x-amzn-RequestId": { + "description": "Unique request reference identifier.", + "type": "string" + }, + "x-amzn-RateLimit-Limit": { + "description": "Your rate limit (requests per second) for this operation.", + "type": "string" + } + } + }, + "500": { + "description": "An unexpected condition occurred that prevented the server from fulfilling the request.", + "schema": { + "$ref": "#/definitions/ErrorList" + }, + "headers": { + "x-amzn-RequestId": { + "description": "Unique request reference identifier.", + "type": "string" + } + } + }, + "403": { + "description": "Indicates that access to the resource is forbidden. Possible reasons include Access Denied, Unauthorized, Expired Token, or Invalid Signature.", + "schema": { + "$ref": "#/definitions/ErrorList" + }, + "headers": { + "x-amzn-RequestId": { + "description": "Unique request reference identifier.", + "type": "string" + } + } + }, + "404": { + "description": "The resource specified does not exist.", + "schema": { + "$ref": "#/definitions/ErrorList" + }, + "headers": { + "x-amzn-RequestId": { + "description": "Unique request reference identifier.", + "type": "string" + }, + "x-amzn-RateLimit-Limit": { + "description": "Your rate limit (requests per second) for this operation.", + "type": "string" + } + } + }, + "413": { + "description": "The request size exceeded the maximum accepted size.", + "schema": { + "$ref": "#/definitions/ErrorList" + }, + "headers": { + "x-amzn-RequestId": { + "description": "Unique request reference identifier.", + "type": "string" + } + } + }, + "415": { + "description": "The request payload is in an unsupported format.", + "schema": { + "$ref": "#/definitions/ErrorList" + }, + "headers": { + "x-amzn-RequestId": { + "description": "Unique request reference identifier.", + "type": "string" + } + } + }, + "429": { + "description": "The frequency of requests was greater than allowed.", + "schema": { + "$ref": "#/definitions/ErrorList" + }, + "headers": { + "x-amzn-RequestId": { + "description": "Unique request reference identifier.", + "type": "string" + } + } + }, + "503": { + "description": "Temporary overloading or maintenance of the server.", + "schema": { + "$ref": "#/definitions/ErrorList" + }, + "headers": { + "x-amzn-RequestId": { + "description": "Unique request reference identifier.", + "type": "string" + } + } + } + }, + "tags": [ + "fbaInbound" + ], + "description": "Retrieves a list of all items in a packing options's packing group. Packing options must first be generated by the corresponding endpoint before packing group items can be listed.\n\n**Usage Plan:**\n\n| Rate (requests per second) | Burst |\n| ---- | ---- |\n| 1 | 1 |\n\nThe `x-amzn-RateLimit-Limit` response header returns the usage plan rate limits that were applied to the requested operation, when available. The table above indicates the default rate and burst values for this operation. Selling partners whose business demands require higher throughput may see higher rate and burst values than those shown here. For more information, refer to [Usage Plans and Rate Limits in the Selling Partner API](https://developer-docs.amazon.com/sp-api/docs/usage-plans-and-rate-limits-in-the-sp-api).", + "operationId": "listPackingGroupItems" + } + }, + "/inbound/fba/2024-03-20/inboundPlans/{inboundPlanId}/pallets": { + "get": { + "produces": [ + "application/json" + ], + "parameters": [ + { + "description": "Identifier to an inbound plan.", + "in": "path", + "maxLength": 38, + "minLength": 38, + "name": "inboundPlanId", + "pattern": "^[a-zA-Z0-9-]*$", + "required": true, + "type": "string" + }, + { + "description": "The number of pallets to return in the response matching the given query.", + "in": "query", + "maximum": 1000, + "minimum": 1, + "name": "pageSize", + "type": "integer", + "default": 10 + }, + { + "description": "A token to fetch a certain page when there are multiple pages worth of results. The value of this token is fetched from the `pagination` returned in the API response. In the absence of the token value from the query parameter the API returns the first page of the result.", + "in": "query", + "maxLength": 1024, + "minLength": 0, + "name": "paginationToken", + "type": "string" + } + ], + "responses": { + "200": { + "description": "ListInboundPlanPallets 200 response", + "schema": { + "$ref": "#/definitions/ListInboundPlanPalletsResponse" + }, + "x-amzn-api-sandbox": { + "static": [ + { + "request": { + "parameters": { + "inboundPlanId": { + "value": "wf1234abcd-1234-abcd-5678-1234abcd5678" + }, + "pageSize": { + "value": 2 + }, + "paginationToken": { + "value": "paginationToken" + } + } + }, + "response": { + "pallets": [ + { + "stackability": "STACKABLE", + "packageId": "pk1234abcd-1234-abcd-5678-1234abcd5678", + "weight": { + "unit": "KG", + "value": 5.5 + }, + "dimensions": { + "unitOfMeasurement": "CM", + "length": 3.0, + "width": 4.0, + "height": 5.0 + }, + "quantity": 2 + } + ], + "pagination": { + "nextToken": "nextPaginationToken" + } + } + } + ] + }, + "headers": { + "x-amzn-RequestId": { + "description": "Unique request reference identifier.", + "type": "string" + }, + "x-amzn-RateLimit-Limit": { + "description": "Your rate limit (requests per second) for this operation.", + "type": "string" + } + } + }, + "400": { + "description": "Request has missing or invalid parameters and cannot be parsed.", + "schema": { + "$ref": "#/definitions/ErrorList" + }, + "x-amzn-api-sandbox": { + "static": [ + { + "request": { + "parameters": { + "inboundPlanId": { + "value": "bad234abcd-1234-abcd-5678-1234abcd5678" + }, + "pageSize": { + "value": 2 + }, + "paginationToken": { + "value": "paginationToken" + } + } + }, + "response": { + "errors": [ + { + "code": "BadRequest", + "message": "The requested inbound plan does not exist." + } + ] + } + } + ] + }, + "headers": { + "x-amzn-RequestId": { + "description": "Unique request reference identifier.", + "type": "string" + }, + "x-amzn-RateLimit-Limit": { + "description": "Your rate limit (requests per second) for this operation.", + "type": "string" + } + } + }, + "500": { + "description": "An unexpected condition occurred that prevented the server from fulfilling the request.", + "schema": { + "$ref": "#/definitions/ErrorList" + }, + "headers": { + "x-amzn-RequestId": { + "description": "Unique request reference identifier.", + "type": "string" + } + } + }, + "403": { + "description": "Indicates that access to the resource is forbidden. Possible reasons include Access Denied, Unauthorized, Expired Token, or Invalid Signature.", + "schema": { + "$ref": "#/definitions/ErrorList" + }, + "headers": { + "x-amzn-RequestId": { + "description": "Unique request reference identifier.", + "type": "string" + } + } + }, + "404": { + "description": "The resource specified does not exist.", + "schema": { + "$ref": "#/definitions/ErrorList" + }, + "headers": { + "x-amzn-RequestId": { + "description": "Unique request reference identifier.", + "type": "string" + }, + "x-amzn-RateLimit-Limit": { + "description": "Your rate limit (requests per second) for this operation.", + "type": "string" + } + } + }, + "413": { + "description": "The request size exceeded the maximum accepted size.", + "schema": { + "$ref": "#/definitions/ErrorList" + }, + "headers": { + "x-amzn-RequestId": { + "description": "Unique request reference identifier.", + "type": "string" + } + } + }, + "415": { + "description": "The request payload is in an unsupported format.", + "schema": { + "$ref": "#/definitions/ErrorList" + }, + "headers": { + "x-amzn-RequestId": { + "description": "Unique request reference identifier.", + "type": "string" + } + } + }, + "429": { + "description": "The frequency of requests was greater than allowed.", + "schema": { + "$ref": "#/definitions/ErrorList" + }, + "headers": { + "x-amzn-RequestId": { + "description": "Unique request reference identifier.", + "type": "string" + } + } + }, + "503": { + "description": "Temporary overloading or maintenance of the server.", + "schema": { + "$ref": "#/definitions/ErrorList" + }, + "headers": { + "x-amzn-RequestId": { + "description": "Unique request reference identifier.", + "type": "string" + } + } + } + }, + "tags": [ + "fbaInbound" + ], + "description": "Provides a paginated list of pallet packages in an inbound plan. An inbound plan will have pallets when the related details are provided after generating Less-Than-Truckload (LTL) carrier shipments.\n\n**Usage Plan:**\n\n| Rate (requests per second) | Burst |\n| ---- | ---- |\n| 1 | 1 |\n\nThe `x-amzn-RateLimit-Limit` response header returns the usage plan rate limits that were applied to the requested operation, when available. The table above indicates the default rate and burst values for this operation. Selling partners whose business demands require higher throughput may see higher rate and burst values than those shown here. For more information, refer to [Usage Plans and Rate Limits in the Selling Partner API](https://developer-docs.amazon.com/sp-api/docs/usage-plans-and-rate-limits-in-the-sp-api).", + "operationId": "listInboundPlanPallets" + } + }, + "/inbound/fba/2024-03-20/inboundPlans/{inboundPlanId}/placementOptions": { + "get": { + "produces": [ + "application/json" + ], + "parameters": [ + { + "description": "Identifier to an inbound plan.", + "in": "path", + "maxLength": 38, + "minLength": 38, + "name": "inboundPlanId", + "pattern": "^[a-zA-Z0-9-]*$", + "required": true, + "type": "string" + }, + { + "description": "The number of placement options to return in the response matching the given query.", + "in": "query", + "maximum": 20, + "minimum": 1, + "name": "pageSize", + "type": "integer", + "default": 10 + }, + { + "description": "A token to fetch a certain page when there are multiple pages worth of results. The value of this token is fetched from the `pagination` returned in the API response. In the absence of the token value from the query parameter the API returns the first page of the result.", + "in": "query", + "maxLength": 1024, + "minLength": 0, + "name": "paginationToken", + "type": "string" + } + ], + "responses": { + "200": { + "description": "ListPlacementOptions 200 response", + "schema": { + "$ref": "#/definitions/ListPlacementOptionsResponse" + }, + "x-amzn-api-sandbox": { + "static": [ + { + "request": { + "parameters": { + "inboundPlanId": { + "value": "wf1234abcd-1234-abcd-5678-1234abcd5678" + }, + "pageSize": { + "value": 2 + }, + "paginationToken": { + "value": "paginationToken" + } + } + }, + "response": { + "placementOptions": [ + { + "placementOptionId": "pl1234abcd-1234-abcd-5678-1234abcd5678", + "status": "OFFERED", + "fees": [ + { + "value": { + "code": "USD", + "amount": 1.0 + }, + "type": "FEE", + "target": "Placement Services", + "description": "description" + } + ], + "discounts": [ + { + "value": { + "code": "USD", + "amount": 1.0 + }, + "type": "DISCOUNT", + "target": "Placement Services", + "description": "description" + } + ], + "expiration": "2024-01-01T00:00:00.000Z", + "shipmentIds": [ + "sh1234abcd-1234-abcd-5678-1234abcd5678" + ] + } + ], + "pagination": { + "nextToken": "nextPaginationToken" + } + } + } + ] + }, + "headers": { + "x-amzn-RequestId": { + "description": "Unique request reference identifier.", + "type": "string" + }, + "x-amzn-RateLimit-Limit": { + "description": "Your rate limit (requests per second) for this operation.", + "type": "string" + } + } + }, + "400": { + "description": "Request has missing or invalid parameters and cannot be parsed.", + "schema": { + "$ref": "#/definitions/ErrorList" + }, + "x-amzn-api-sandbox": { + "static": [ + { + "request": { + "parameters": { + "inboundPlanId": { + "value": "bad234abcd-1234-abcd-5678-1234abcd5678" + }, + "pageSize": { + "value": 2 + }, + "paginationToken": { + "value": "paginationToken" + } + } + }, + "response": { + "errors": [ + { + "code": "BadRequest", + "message": "The requested inbound plan does not exist." + } + ] + } + } + ] + }, + "headers": { + "x-amzn-RequestId": { + "description": "Unique request reference identifier.", + "type": "string" + }, + "x-amzn-RateLimit-Limit": { + "description": "Your rate limit (requests per second) for this operation.", + "type": "string" + } + } + }, + "500": { + "description": "An unexpected condition occurred that prevented the server from fulfilling the request.", + "schema": { + "$ref": "#/definitions/ErrorList" + }, + "headers": { + "x-amzn-RequestId": { + "description": "Unique request reference identifier.", + "type": "string" + } + } + }, + "403": { + "description": "Indicates that access to the resource is forbidden. Possible reasons include Access Denied, Unauthorized, Expired Token, or Invalid Signature.", + "schema": { + "$ref": "#/definitions/ErrorList" + }, + "headers": { + "x-amzn-RequestId": { + "description": "Unique request reference identifier.", + "type": "string" + } + } + }, + "404": { + "description": "The resource specified does not exist.", + "schema": { + "$ref": "#/definitions/ErrorList" + }, + "headers": { + "x-amzn-RequestId": { + "description": "Unique request reference identifier.", + "type": "string" + }, + "x-amzn-RateLimit-Limit": { + "description": "Your rate limit (requests per second) for this operation.", + "type": "string" + } + } + }, + "413": { + "description": "The request size exceeded the maximum accepted size.", + "schema": { + "$ref": "#/definitions/ErrorList" + }, + "headers": { + "x-amzn-RequestId": { + "description": "Unique request reference identifier.", + "type": "string" + } + } + }, + "415": { + "description": "The request payload is in an unsupported format.", + "schema": { + "$ref": "#/definitions/ErrorList" + }, + "headers": { + "x-amzn-RequestId": { + "description": "Unique request reference identifier.", + "type": "string" + } + } + }, + "429": { + "description": "The frequency of requests was greater than allowed.", + "schema": { + "$ref": "#/definitions/ErrorList" + }, + "headers": { + "x-amzn-RequestId": { + "description": "Unique request reference identifier.", + "type": "string" + } + } + }, + "503": { + "description": "Temporary overloading or maintenance of the server.", + "schema": { + "$ref": "#/definitions/ErrorList" + }, + "headers": { + "x-amzn-RequestId": { + "description": "Unique request reference identifier.", + "type": "string" + } + } + } + }, + "tags": [ + "fbaInbound" + ], + "description": "Provides a list of all placement options for an inbound plan. Placement options must first be generated by the corresponding endpoint before becoming available.\n\n**Usage Plan:**\n\n| Rate (requests per second) | Burst |\n| ---- | ---- |\n| 1 | 1 |\n\nThe `x-amzn-RateLimit-Limit` response header returns the usage plan rate limits that were applied to the requested operation, when available. The table above indicates the default rate and burst values for this operation. Selling partners whose business demands require higher throughput may see higher rate and burst values than those shown here. For more information, refer to [Usage Plans and Rate Limits in the Selling Partner API](https://developer-docs.amazon.com/sp-api/docs/usage-plans-and-rate-limits-in-the-sp-api).", + "operationId": "listPlacementOptions" + }, + "post": { + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "parameters": [ + { + "description": "Identifier to an inbound plan.", + "in": "path", + "maxLength": 38, + "minLength": 38, + "name": "inboundPlanId", + "pattern": "^[a-zA-Z0-9-]*$", + "required": true, + "type": "string" + }, + { + "in": "body", + "name": "body", + "required": true, + "schema": { + "$ref": "#/definitions/GeneratePlacementOptionsRequest" + }, + "description": "The body of the request to `generatePlacementOptions`." + } + ], + "responses": { + "202": { + "description": "GeneratePlacementOptions 202 response", + "schema": { + "$ref": "#/definitions/GeneratePlacementOptionsResponse" + }, + "x-amzn-api-sandbox": { + "static": [ + { + "request": { + "parameters": { + "inboundPlanId": { + "value": "wf1234abcd-1234-abcd-5678-1234abcd5678" + }, + "body": { + "value": { + "customPlacement": [ + { + "warehouseId": "warehouseId", + "items": [ + { + "msku": "msku", + "prepOwner": "AMAZON", + "labelOwner": "AMAZON", + "quantity": 2, + "expiration": "2024-01-01", + "manufacturingLotCode": "lotCode" + } + ] + } + ] + } + } + } + }, + "response": { + "operationId": "1234abcd-1234-abcd-5678-1234abcd5678" + } + } + ] + }, + "headers": { + "x-amzn-RequestId": { + "description": "Unique request reference identifier.", + "type": "string" + }, + "x-amzn-RateLimit-Limit": { + "description": "Your rate limit (requests per second) for this operation.", + "type": "string" + } + } + }, + "400": { + "description": "Request has missing or invalid parameters and cannot be parsed.", + "schema": { + "$ref": "#/definitions/ErrorList" + }, + "x-amzn-api-sandbox": { + "static": [ + { + "request": { + "parameters": { + "inboundPlanId": { + "value": "wf1234abcd-1234-abcd-5678-1234abcd5678" + }, + "body": { + "value": { + "customPlacement": [ + { + "warehouseId": "badWarehouseId", + "items": [ + { + "msku": "msku", + "prepOwner": "AMAZON", + "labelOwner": "AMAZON", + "quantity": 2, + "expiration": "2024-01-01", + "manufacturingLotCode": "lotCode" + } + ] + } + ] + } + } + } + }, + "response": { + "errors": [ + { + "code": "BadRequest", + "message": "The inbound plan is not in a valid state to generate placement options." + } + ] + } + } + ] + }, + "headers": { + "x-amzn-RequestId": { + "description": "Unique request reference identifier.", + "type": "string" + }, + "x-amzn-RateLimit-Limit": { + "description": "Your rate limit (requests per second) for this operation.", + "type": "string" + } + } + }, + "500": { + "description": "An unexpected condition occurred that prevented the server from fulfilling the request.", + "schema": { + "$ref": "#/definitions/ErrorList" + }, + "headers": { + "x-amzn-RequestId": { + "description": "Unique request reference identifier.", + "type": "string" + } + } + }, + "403": { + "description": "Indicates that access to the resource is forbidden. Possible reasons include Access Denied, Unauthorized, Expired Token, or Invalid Signature.", + "schema": { + "$ref": "#/definitions/ErrorList" + }, + "headers": { + "x-amzn-RequestId": { + "description": "Unique request reference identifier.", + "type": "string" + } + } + }, + "404": { + "description": "The resource specified does not exist.", + "schema": { + "$ref": "#/definitions/ErrorList" + }, + "headers": { + "x-amzn-RequestId": { + "description": "Unique request reference identifier.", + "type": "string" + }, + "x-amzn-RateLimit-Limit": { + "description": "Your rate limit (requests per second) for this operation.", + "type": "string" + } + } + }, + "413": { + "description": "The request size exceeded the maximum accepted size.", + "schema": { + "$ref": "#/definitions/ErrorList" + }, + "headers": { + "x-amzn-RequestId": { + "description": "Unique request reference identifier.", + "type": "string" + } + } + }, + "415": { + "description": "The request payload is in an unsupported format.", + "schema": { + "$ref": "#/definitions/ErrorList" + }, + "headers": { + "x-amzn-RequestId": { + "description": "Unique request reference identifier.", + "type": "string" + } + } + }, + "429": { + "description": "The frequency of requests was greater than allowed.", + "schema": { + "$ref": "#/definitions/ErrorList" + }, + "headers": { + "x-amzn-RequestId": { + "description": "Unique request reference identifier.", + "type": "string" + } + } + }, + "503": { + "description": "Temporary overloading or maintenance of the server.", + "schema": { + "$ref": "#/definitions/ErrorList" + }, + "headers": { + "x-amzn-RequestId": { + "description": "Unique request reference identifier.", + "type": "string" + } + } + } + }, + "tags": [ + "fbaInbound" + ], + "description": "Generates placement options for the inbound plan.\n\n**Usage Plan:**\n\n| Rate (requests per second) | Burst |\n| ---- | ---- |\n| 0.05 | 1 |\n\nThe `x-amzn-RateLimit-Limit` response header returns the usage plan rate limits that were applied to the requested operation, when available. The table above indicates the default rate and burst values for this operation. Selling partners whose business demands require higher throughput may see higher rate and burst values than those shown here. For more information, refer to [Usage Plans and Rate Limits in the Selling Partner API](https://developer-docs.amazon.com/sp-api/docs/usage-plans-and-rate-limits-in-the-sp-api).", + "operationId": "generatePlacementOptions" + } + }, + "/inbound/fba/2024-03-20/inboundPlans/{inboundPlanId}/placementOptions/{placementOptionId}/confirmation": { + "post": { + "produces": [ + "application/json" + ], + "parameters": [ + { + "description": "Identifier to an inbound plan.", + "in": "path", + "maxLength": 38, + "minLength": 38, + "name": "inboundPlanId", + "pattern": "^[a-zA-Z0-9-]*$", + "required": true, + "type": "string" + }, + { + "description": "Identifier to a placement option. A placement option represents the shipment splits and destinations of SKUs.", + "in": "path", + "maxLength": 38, + "minLength": 38, + "name": "placementOptionId", + "pattern": "^[a-zA-Z0-9-]*$", + "required": true, + "type": "string" + } + ], + "responses": { + "202": { + "description": "ConfirmPlacementOption 202 response", + "schema": { + "$ref": "#/definitions/ConfirmPlacementOptionResponse" + }, + "x-amzn-api-sandbox": { + "static": [ + { + "request": { + "parameters": { + "inboundPlanId": { + "value": "wf1234abcd-1234-abcd-5678-1234abcd5678" + }, + "placementOptionId": { + "value": "pl1234abcd-1234-abcd-5678-1234abcd5678" + } + } + }, + "response": { + "operationId": "1234abcd-1234-abcd-5678-1234abcd5678" + } + } + ] + }, + "headers": { + "x-amzn-RequestId": { + "description": "Unique request reference identifier.", + "type": "string" + }, + "x-amzn-RateLimit-Limit": { + "description": "Your rate limit (requests per second) for this operation.", + "type": "string" + } + } + }, + "400": { + "description": "Request has missing or invalid parameters and cannot be parsed.", + "schema": { + "$ref": "#/definitions/ErrorList" + }, + "x-amzn-api-sandbox": { + "static": [ + { + "request": { + "parameters": { + "inboundPlanId": { + "value": "wf1234abcd-1234-abcd-5678-1234abcd5678" + }, + "placementOptionId": { + "value": "bad234abcd-1234-abcd-5678-1234abcd5678" + } + } + }, + "response": { + "errors": [ + { + "code": "BadRequest", + "message": "The requested placementOptionId does not exist for the given inbound plan." + } + ] + } + } + ] + }, + "headers": { + "x-amzn-RequestId": { + "description": "Unique request reference identifier.", + "type": "string" + }, + "x-amzn-RateLimit-Limit": { + "description": "Your rate limit (requests per second) for this operation.", + "type": "string" + } + } + }, + "500": { + "description": "An unexpected condition occurred that prevented the server from fulfilling the request.", + "schema": { + "$ref": "#/definitions/ErrorList" + }, + "headers": { + "x-amzn-RequestId": { + "description": "Unique request reference identifier.", + "type": "string" + } + } + }, + "403": { + "description": "Indicates that access to the resource is forbidden. Possible reasons include Access Denied, Unauthorized, Expired Token, or Invalid Signature.", + "schema": { + "$ref": "#/definitions/ErrorList" + }, + "headers": { + "x-amzn-RequestId": { + "description": "Unique request reference identifier.", + "type": "string" + } + } + }, + "404": { + "description": "The resource specified does not exist.", + "schema": { + "$ref": "#/definitions/ErrorList" + }, + "headers": { + "x-amzn-RequestId": { + "description": "Unique request reference identifier.", + "type": "string" + }, + "x-amzn-RateLimit-Limit": { + "description": "Your rate limit (requests per second) for this operation.", + "type": "string" + } + } + }, + "413": { + "description": "The request size exceeded the maximum accepted size.", + "schema": { + "$ref": "#/definitions/ErrorList" + }, + "headers": { + "x-amzn-RequestId": { + "description": "Unique request reference identifier.", + "type": "string" + } + } + }, + "415": { + "description": "The request payload is in an unsupported format.", + "schema": { + "$ref": "#/definitions/ErrorList" + }, + "headers": { + "x-amzn-RequestId": { + "description": "Unique request reference identifier.", + "type": "string" + } + } + }, + "429": { + "description": "The frequency of requests was greater than allowed.", + "schema": { + "$ref": "#/definitions/ErrorList" + }, + "headers": { + "x-amzn-RequestId": { + "description": "Unique request reference identifier.", + "type": "string" + } + } + }, + "503": { + "description": "Temporary overloading or maintenance of the server.", + "schema": { + "$ref": "#/definitions/ErrorList" + }, + "headers": { + "x-amzn-RequestId": { + "description": "Unique request reference identifier.", + "type": "string" + } + } + } + }, + "tags": [ + "fbaInbound" + ], + "description": "Confirms the placement option for an inbound plan. Once confirmed, it cannot be changed for the Inbound Plan.\n\n**Usage Plan:**\n\n| Rate (requests per second) | Burst |\n| ---- | ---- |\n| 0.05 | 1 |\n\nThe `x-amzn-RateLimit-Limit` response header returns the usage plan rate limits that were applied to the requested operation, when available. The table above indicates the default rate and burst values for this operation. Selling partners whose business demands require higher throughput may see higher rate and burst values than those shown here. For more information, refer to [Usage Plans and Rate Limits in the Selling Partner API](https://developer-docs.amazon.com/sp-api/docs/usage-plans-and-rate-limits-in-the-sp-api).", + "operationId": "confirmPlacementOption" + } + }, + "/inbound/fba/2024-03-20/inboundPlans/{inboundPlanId}/shipments/{shipmentId}": { + "get": { + "produces": [ + "application/json" + ], + "parameters": [ + { + "description": "Identifier to an inbound plan.", + "in": "path", + "maxLength": 38, + "minLength": 38, + "name": "inboundPlanId", + "pattern": "^[a-zA-Z0-9-]*$", + "required": true, + "type": "string" + }, + { + "description": "Identifier to a shipment. A shipment contains the boxes and units being inbounded.", + "in": "path", + "maxLength": 38, + "minLength": 38, + "name": "shipmentId", + "pattern": "^[a-zA-Z0-9-]*$", + "required": true, + "type": "string" + } + ], + "responses": { + "200": { + "description": "GetShipment 200 response", + "schema": { + "$ref": "#/definitions/Shipment" + }, + "x-amzn-api-sandbox": { + "static": [ + { + "request": { + "parameters": { + "inboundPlanId": { + "value": "wf1234abcd-1234-abcd-5678-1234abcd5678" + }, + "shipmentId": { + "value": "sh1234abcd-1234-abcd-5678-1234abcd5678" + } + } + }, + "response": { + "inboundPlanId": "wf1234abcd-1234-abcd-5678-1234abcd5678", + "placementOptionId": "pl1234abcd-1234-abcd-5678-1234abcd5678", + "shipmentId": "sh1234abcd-1234-abcd-5678-1234abcd5678", + "shipmentConfirmationId": "FBA1234ABCD", + "amazonReferenceId": "amazonReferenceId", + "selectedTransportationOptionId": "to1234abcd-1234-abcd-5678-1234abcd5678", + "name": "FBA (10/02/2023 20:07)-ABC1", + "source": { + "sourceType": "SELLER_FACILITY", + "address": { + "name": "name", + "addressLine1": "123 example street", + "city": "Toronto", + "countryCode": "CA", + "stateOrProvinceCode": "ON", + "postalCode": "M1M1M1" + } + }, + "destination": { + "destinationType": "AMAZON_WAREHOUSE", + "address": { + "name": "name", + "addressLine1": "124 example street", + "city": "Toronto", + "countryCode": "CA", + "stateOrProvinceCode": "ON", + "postalCode": "M1M1M1" + }, + "warehouseId": "YYZ5" + }, + "dates": { + "deliveryWindow": { + "start": "2024-01-01T00:00Z", + "end": "2024-01-08T00:00Z", + "editableUntil": "2024-01-07T00:00Z" + } + }, + "status": "WORKING", + "trackingDetails": { + "spdTrackingDetail": { + "spdTrackingItems": [ + { + "boxId": "boxId", + "trackingId": "trackingId", + "trackingNumberValidationStatus": "VALIDATED" + } + ] + }, + "ltlTrackingDetail": { + "freightBillNumber": [ + "freightBillNumber1" + ], + "billOfLadingNumber": "billOfLadingNumber" + } + }, + "palletInformation": { + "pallets": [ + { + "stackability": "STACKABLE", + "weight": { + "unit": "KG", + "value": 5.5 + }, + "dimensions": { + "unitOfMeasurement": "CM", + "length": 3.0, + "width": 4.0, + "height": 5.0 + }, + "quantity": 2 + } + ], + "freightClass": "FC_50", + "declaredValue": { + "code": "USD", + "amount": 500.0 + } + }, + "contactInformation": { + "name": "name", + "phoneNumber": "1234567890", + "email": "email@email.com" + }, + "selfShipAppointmentDetails": [ + { + "appointmentId": 1, + "appointmentSlotTime": { + "startTime": "2024-01-01T00:00:00.000Z", + "endTime": "2024-01-01T00:00:00.000Z" + }, + "appointmentStatus": "appointmentStatus" + } + ] + } + } + ] + }, + "headers": { + "x-amzn-RequestId": { + "description": "Unique request reference identifier.", + "type": "string" + }, + "x-amzn-RateLimit-Limit": { + "description": "Your rate limit (requests per second) for this operation.", + "type": "string" + } + } + }, + "400": { + "description": "Request has missing or invalid parameters and cannot be parsed.", + "schema": { + "$ref": "#/definitions/ErrorList" + }, + "x-amzn-api-sandbox": { + "static": [ + { + "request": { + "parameters": { + "inboundPlanId": { + "value": "wf1234abcd-1234-abcd-5678-1234abcd5678" + }, + "shipmentId": { + "value": "bad234abcd-1234-abcd-5678-1234abcd5678" + } + } + }, + "response": { + "errors": [ + { + "code": "BadRequest", + "message": "The requested shipment does not exist for the provided inbound plan." + } + ] + } + } + ] + }, + "headers": { + "x-amzn-RequestId": { + "description": "Unique request reference identifier.", + "type": "string" + }, + "x-amzn-RateLimit-Limit": { + "description": "Your rate limit (requests per second) for this operation.", + "type": "string" + } + } + }, + "500": { + "description": "An unexpected condition occurred that prevented the server from fulfilling the request.", + "schema": { + "$ref": "#/definitions/ErrorList" + }, + "headers": { + "x-amzn-RequestId": { + "description": "Unique request reference identifier.", + "type": "string" + } + } + }, + "403": { + "description": "Indicates that access to the resource is forbidden. Possible reasons include Access Denied, Unauthorized, Expired Token, or Invalid Signature.", + "schema": { + "$ref": "#/definitions/ErrorList" + }, + "headers": { + "x-amzn-RequestId": { + "description": "Unique request reference identifier.", + "type": "string" + } + } + }, + "404": { + "description": "The resource specified does not exist.", + "schema": { + "$ref": "#/definitions/ErrorList" + }, + "headers": { + "x-amzn-RequestId": { + "description": "Unique request reference identifier.", + "type": "string" + }, + "x-amzn-RateLimit-Limit": { + "description": "Your rate limit (requests per second) for this operation.", + "type": "string" + } + } + }, + "413": { + "description": "The request size exceeded the maximum accepted size.", + "schema": { + "$ref": "#/definitions/ErrorList" + }, + "headers": { + "x-amzn-RequestId": { + "description": "Unique request reference identifier.", + "type": "string" + } + } + }, + "415": { + "description": "The request payload is in an unsupported format.", + "schema": { + "$ref": "#/definitions/ErrorList" + }, + "headers": { + "x-amzn-RequestId": { + "description": "Unique request reference identifier.", + "type": "string" + } + } + }, + "429": { + "description": "The frequency of requests was greater than allowed.", + "schema": { + "$ref": "#/definitions/ErrorList" + }, + "headers": { + "x-amzn-RequestId": { + "description": "Unique request reference identifier.", + "type": "string" + } + } + }, + "503": { + "description": "Temporary overloading or maintenance of the server.", + "schema": { + "$ref": "#/definitions/ErrorList" + }, + "headers": { + "x-amzn-RequestId": { + "description": "Unique request reference identifier.", + "type": "string" + } + } + } + }, + "tags": [ + "fbaInbound" + ], + "description": "Provides the full details for a specific shipment within an inbound plan. The `transportationOptionId` inside `acceptedTransportationSelection` can be used to retrieve the transportation details for the shipment.\n\n**Usage Plan:**\n\n| Rate (requests per second) | Burst |\n| ---- | ---- |\n| 1 | 1 |\n\nThe `x-amzn-RateLimit-Limit` response header returns the usage plan rate limits that were applied to the requested operation, when available. The table above indicates the default rate and burst values for this operation. Selling partners whose business demands require higher throughput may see higher rate and burst values than those shown here. For more information, refer to [Usage Plans and Rate Limits in the Selling Partner API](https://developer-docs.amazon.com/sp-api/docs/usage-plans-and-rate-limits-in-the-sp-api).", + "operationId": "getShipment" + } + }, + "/inbound/fba/2024-03-20/inboundPlans/{inboundPlanId}/shipments/{shipmentId}/deliveryChallanDocument": { + "get": { + "produces": [ + "application/json" + ], + "parameters": [ + { + "description": "Identifier to an inbound plan.", + "in": "path", + "maxLength": 38, + "minLength": 38, + "name": "inboundPlanId", + "pattern": "^[a-zA-Z0-9-]*$", + "required": true, + "type": "string" + }, + { + "description": "Identifier to a shipment. A shipment contains the boxes and units being inbounded.", + "in": "path", + "maxLength": 38, + "minLength": 38, + "name": "shipmentId", + "pattern": "^[a-zA-Z0-9-]*$", + "required": true, + "type": "string" + } + ], + "responses": { + "200": { + "description": "GetDeliveryChallanDocument 200 response", + "schema": { + "$ref": "#/definitions/GetDeliveryChallanDocumentResponse" + }, + "x-amzn-api-sandbox": { + "static": [ + { + "request": { + "parameters": { + "inboundPlanId": { + "value": "wf1234abcd-1234-abcd-5678-1234abcd5678" + }, + "shipmentId": { + "value": "sh1234abcd-1234-abcd-5678-1234abcd5678" + } + } + }, + "response": { + "documentDownload": { + "uri": "https://s3.amazonaws.com/bucket", + "downloadType": "URL", + "expiration": "2024-01-01T00:00:00.000Z" + } + } + } + ] + }, + "headers": { + "x-amzn-RequestId": { + "description": "Unique request reference identifier.", + "type": "string" + }, + "x-amzn-RateLimit-Limit": { + "description": "Your rate limit (requests per second) for this operation.", + "type": "string" + } + } + }, + "400": { + "description": "Request has missing or invalid parameters and cannot be parsed.", + "schema": { + "$ref": "#/definitions/ErrorList" + }, + "x-amzn-api-sandbox": { + "static": [ + { + "request": { + "parameters": { + "inboundPlanId": { + "value": "wf1234abcd-1234-abcd-5678-1234abcd5678" + }, + "shipmentId": { + "value": "bad234abcd-1234-abcd-5678-1234abcd5678" + } + } + }, + "response": { + "errors": [ + { + "code": "BadRequest", + "message": "The requested shipmentId does not exist for the specified inbound plan." + } + ] + } + } + ] + }, + "headers": { + "x-amzn-RequestId": { + "description": "Unique request reference identifier.", + "type": "string" + }, + "x-amzn-RateLimit-Limit": { + "description": "Your rate limit (requests per second) for this operation.", + "type": "string" + } + } + }, + "500": { + "description": "An unexpected condition occurred that prevented the server from fulfilling the request.", + "schema": { + "$ref": "#/definitions/ErrorList" + }, + "headers": { + "x-amzn-RequestId": { + "description": "Unique request reference identifier.", + "type": "string" + } + } + }, + "403": { + "description": "Indicates that access to the resource is forbidden. Possible reasons include Access Denied, Unauthorized, Expired Token, or Invalid Signature.", + "schema": { + "$ref": "#/definitions/ErrorList" + }, + "headers": { + "x-amzn-RequestId": { + "description": "Unique request reference identifier.", + "type": "string" + } + } + }, + "404": { + "description": "The resource specified does not exist.", + "schema": { + "$ref": "#/definitions/ErrorList" + }, + "headers": { + "x-amzn-RequestId": { + "description": "Unique request reference identifier.", + "type": "string" + }, + "x-amzn-RateLimit-Limit": { + "description": "Your rate limit (requests per second) for this operation.", + "type": "string" + } + } + }, + "413": { + "description": "The request size exceeded the maximum accepted size.", + "schema": { + "$ref": "#/definitions/ErrorList" + }, + "headers": { + "x-amzn-RequestId": { + "description": "Unique request reference identifier.", + "type": "string" + } + } + }, + "415": { + "description": "The request payload is in an unsupported format.", + "schema": { + "$ref": "#/definitions/ErrorList" + }, + "headers": { + "x-amzn-RequestId": { + "description": "Unique request reference identifier.", + "type": "string" + } + } + }, + "429": { + "description": "The frequency of requests was greater than allowed.", + "schema": { + "$ref": "#/definitions/ErrorList" + }, + "headers": { + "x-amzn-RequestId": { + "description": "Unique request reference identifier.", + "type": "string" + } + } + }, + "503": { + "description": "Temporary overloading or maintenance of the server.", + "schema": { + "$ref": "#/definitions/ErrorList" + }, + "headers": { + "x-amzn-RequestId": { + "description": "Unique request reference identifier.", + "type": "string" + } + } + } + }, + "tags": [ + "fbaInbound" + ], + "description": "Provide delivery challan document for PCP transportation in IN marketplace.\n\n**Usage Plan:**\n\n| Rate (requests per second) | Burst |\n| ---- | ---- |\n| 1 | 1 |\n\nThe `x-amzn-RateLimit-Limit` response header returns the usage plan rate limits that were applied to the requested operation, when available. The table above indicates the default rate and burst values for this operation. Selling partners whose business demands require higher throughput may see higher rate and burst values than those shown here. For more information, refer to [Usage Plans and Rate Limits in the Selling Partner API](https://developer-docs.amazon.com/sp-api/docs/usage-plans-and-rate-limits-in-the-sp-api).", + "operationId": "getDeliveryChallanDocument" + } + }, + "/inbound/fba/2024-03-20/inboundPlans/{inboundPlanId}/shipments/{shipmentId}/deliveryWindow": { + "post": { + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "parameters": [ + { + "description": "Identifier to an inbound plan.", + "in": "path", + "maxLength": 38, + "minLength": 38, + "name": "inboundPlanId", + "pattern": "^[a-zA-Z0-9-]*$", + "required": true, + "type": "string" + }, + { + "description": "Identifier to a shipment. A shipment contains the boxes and units being inbounded.", + "in": "path", + "maxLength": 38, + "minLength": 38, + "name": "shipmentId", + "pattern": "^[a-zA-Z0-9-]*$", + "required": true, + "type": "string" + }, + { + "in": "body", + "name": "body", + "required": true, + "schema": { + "$ref": "#/definitions/UpdateShipmentDeliveryWindowRequest" + }, + "description": "The body of the request to `updateShipmentDeliveryWindow`." + } + ], + "responses": { + "202": { + "description": "UpdateShipmentDeliveryWindow 202 response", + "schema": { + "$ref": "#/definitions/UpdateShipmentDeliveryWindowResponse" + }, + "x-amzn-api-sandbox": { + "static": [ + { + "request": { + "parameters": { + "inboundPlanId": { + "value": "wf1234abcd-1234-abcd-5678-1234abcd5678" + }, + "shipmentId": { + "value": "sh1234abcd-1234-abcd-5678-1234abcd5678" + }, + "body": { + "value": { + "deliveryWindow": { + "start": "2024-01-01T00:00Z" + } + } + } + } + }, + "response": { + "operationId": "1234abcd-1234-abcd-5678-1234abcd5678" + } + } + ] + }, + "headers": { + "x-amzn-RequestId": { + "description": "Unique request reference identifier.", + "type": "string" + }, + "x-amzn-RateLimit-Limit": { + "description": "Your rate limit (requests per second) for this operation.", + "type": "string" + } + } + }, + "400": { + "description": "Request has missing or invalid parameters and cannot be parsed.", + "schema": { + "$ref": "#/definitions/ErrorList" + }, + "x-amzn-api-sandbox": { + "static": [ + { + "request": { + "parameters": { + "inboundPlanId": { + "value": "wf1234abcd-1234-abcd-5678-1234abcd5678" + }, + "shipmentId": { + "value": "bad234abcd-1234-abcd-5678-1234abcd5678" + }, + "body": { + "value": { + "deliveryWindow": { + "start": "2024-01-01T00:00Z" + } + } + } + } + }, + "response": { + "errors": [ + { + "code": "BadRequest", + "message": "The requested shipmentId does not exist for the specified inbound plan." + } + ] + } + } + ] + }, + "headers": { + "x-amzn-RequestId": { + "description": "Unique request reference identifier.", + "type": "string" + }, + "x-amzn-RateLimit-Limit": { + "description": "Your rate limit (requests per second) for this operation.", + "type": "string" + } + } + }, + "500": { + "description": "An unexpected condition occurred that prevented the server from fulfilling the request.", + "schema": { + "$ref": "#/definitions/ErrorList" + }, + "headers": { + "x-amzn-RequestId": { + "description": "Unique request reference identifier.", + "type": "string" + } + } + }, + "403": { + "description": "Indicates that access to the resource is forbidden. Possible reasons include Access Denied, Unauthorized, Expired Token, or Invalid Signature.", + "schema": { + "$ref": "#/definitions/ErrorList" + }, + "headers": { + "x-amzn-RequestId": { + "description": "Unique request reference identifier.", + "type": "string" + } + } + }, + "404": { + "description": "The resource specified does not exist.", + "schema": { + "$ref": "#/definitions/ErrorList" + }, + "headers": { + "x-amzn-RequestId": { + "description": "Unique request reference identifier.", + "type": "string" + }, + "x-amzn-RateLimit-Limit": { + "description": "Your rate limit (requests per second) for this operation.", + "type": "string" + } + } + }, + "413": { + "description": "The request size exceeded the maximum accepted size.", + "schema": { + "$ref": "#/definitions/ErrorList" + }, + "headers": { + "x-amzn-RequestId": { + "description": "Unique request reference identifier.", + "type": "string" + } + } + }, + "415": { + "description": "The request payload is in an unsupported format.", + "schema": { + "$ref": "#/definitions/ErrorList" + }, + "headers": { + "x-amzn-RequestId": { + "description": "Unique request reference identifier.", + "type": "string" + } + } + }, + "429": { + "description": "The frequency of requests was greater than allowed.", + "schema": { + "$ref": "#/definitions/ErrorList" + }, + "headers": { + "x-amzn-RequestId": { + "description": "Unique request reference identifier.", + "type": "string" + } + } + }, + "503": { + "description": "Temporary overloading or maintenance of the server.", + "schema": { + "$ref": "#/definitions/ErrorList" + }, + "headers": { + "x-amzn-RequestId": { + "description": "Unique request reference identifier.", + "type": "string" + } + } + } + }, + "tags": [ + "fbaInbound" + ], + "description": "Update the time window that a shipment will be delivered to the warehouse. The window is used to provide the expected time that a non-Amazon partnered carrier will arrive at the warehouse.\n\n**Usage Plan:**\n\n| Rate (requests per second) | Burst |\n| ---- | ---- |\n| 1 | 1 |\n\nThe `x-amzn-RateLimit-Limit` response header returns the usage plan rate limits that were applied to the requested operation, when available. The table above indicates the default rate and burst values for this operation. Selling partners whose business demands require higher throughput may see higher rate and burst values than those shown here. For more information, refer to [Usage Plans and Rate Limits in the Selling Partner API](https://developer-docs.amazon.com/sp-api/docs/usage-plans-and-rate-limits-in-the-sp-api).", + "operationId": "updateShipmentDeliveryWindow" + } + }, + "/inbound/fba/2024-03-20/inboundPlans/{inboundPlanId}/shipments/{shipmentId}/selfShipAppointmentSlots": { + "get": { + "produces": [ + "application/json" + ], + "parameters": [ + { + "description": "Identifier to an inbound plan.", + "in": "path", + "maxLength": 38, + "minLength": 38, + "name": "inboundPlanId", + "pattern": "^[a-zA-Z0-9-]*$", + "required": true, + "type": "string" + }, + { + "description": "Identifier to a shipment. A shipment contains the boxes and units being inbounded.", + "in": "path", + "maxLength": 38, + "minLength": 38, + "name": "shipmentId", + "pattern": "^[a-zA-Z0-9-]*$", + "required": true, + "type": "string" + }, + { + "description": "The number of self ship appointment slots to return in the response matching the given query.", + "in": "query", + "maximum": 100, + "minimum": 1, + "name": "pageSize", + "type": "integer", + "default": 10 + }, + { + "description": "A token to fetch a certain page when there are multiple pages worth of results. The value of this token is fetched from the `pagination` returned in the API response. In the absence of the token value from the query parameter the API returns the first page of the result.", + "in": "query", + "maxLength": 1024, + "minLength": 0, + "name": "paginationToken", + "type": "string" + } + ], + "responses": { + "200": { + "description": "GetSelfShipAppointmentSlots 200 response", + "schema": { + "$ref": "#/definitions/GetSelfShipAppointmentSlotsResponse" + }, + "x-amzn-api-sandbox": { + "static": [ + { + "request": { + "parameters": { + "inboundPlanId": { + "value": "wf1234abcd-1234-abcd-5678-1234abcd5678" + }, + "shipmentId": { + "value": "sh1234abcd-1234-abcd-5678-1234abcd5678" + }, + "pageSize": { + "value": 2 + }, + "paginationToken": { + "value": "paginationToken" + } + } + }, + "response": { + "selfShipAppointmentSlotsAvailability": { + "expiresAt": "2024-01-02T00:00:00.000Z", + "slots": [ + { + "slotId": "aa1234abcd-1234-abcd-5678-1234abcd5678", + "slotTime": { + "startTime": "2024-01-01T00:00:00.000Z", + "endTime": "2024-01-02T00:00:00.000Z" + } + } + ] + }, + "pagination": { + "nextToken": "nextPaginationToken" + } + } + } + ] + }, + "headers": { + "x-amzn-RequestId": { + "description": "Unique request reference identifier.", + "type": "string" + }, + "x-amzn-RateLimit-Limit": { + "description": "Your rate limit (requests per second) for this operation.", + "type": "string" + } + } + }, + "400": { + "description": "Request has missing or invalid parameters and cannot be parsed.", + "schema": { + "$ref": "#/definitions/ErrorList" + }, + "x-amzn-api-sandbox": { + "static": [ + { + "request": { + "parameters": { + "inboundPlanId": { + "value": "wf1234abcd-1234-abcd-5678-1234abcd5678" + }, + "shipmentId": { + "value": "bad234abcd-1234-abcd-5678-1234abcd5678" + } + } + }, + "response": { + "errors": [ + { + "code": "BadRequest", + "message": "The requested shipmentId does not exist for the given inbound plan." + } + ] + } + } + ] + }, + "headers": { + "x-amzn-RequestId": { + "description": "Unique request reference identifier.", + "type": "string" + }, + "x-amzn-RateLimit-Limit": { + "description": "Your rate limit (requests per second) for this operation.", + "type": "string" + } + } + }, + "500": { + "description": "An unexpected condition occurred that prevented the server from fulfilling the request.", + "schema": { + "$ref": "#/definitions/ErrorList" + }, + "headers": { + "x-amzn-RequestId": { + "description": "Unique request reference identifier.", + "type": "string" + } + } + }, + "403": { + "description": "Indicates that access to the resource is forbidden. Possible reasons include Access Denied, Unauthorized, Expired Token, or Invalid Signature.", + "schema": { + "$ref": "#/definitions/ErrorList" + }, + "headers": { + "x-amzn-RequestId": { + "description": "Unique request reference identifier.", + "type": "string" + } + } + }, + "404": { + "description": "The resource specified does not exist.", + "schema": { + "$ref": "#/definitions/ErrorList" + }, + "headers": { + "x-amzn-RequestId": { + "description": "Unique request reference identifier.", + "type": "string" + }, + "x-amzn-RateLimit-Limit": { + "description": "Your rate limit (requests per second) for this operation.", + "type": "string" + } + } + }, + "413": { + "description": "The request size exceeded the maximum accepted size.", + "schema": { + "$ref": "#/definitions/ErrorList" + }, + "headers": { + "x-amzn-RequestId": { + "description": "Unique request reference identifier.", + "type": "string" + } + } + }, + "415": { + "description": "The request payload is in an unsupported format.", + "schema": { + "$ref": "#/definitions/ErrorList" + }, + "headers": { + "x-amzn-RequestId": { + "description": "Unique request reference identifier.", + "type": "string" + } + } + }, + "429": { + "description": "The frequency of requests was greater than allowed.", + "schema": { + "$ref": "#/definitions/ErrorList" + }, + "headers": { + "x-amzn-RequestId": { + "description": "Unique request reference identifier.", + "type": "string" + } + } + }, + "503": { + "description": "Temporary overloading or maintenance of the server.", + "schema": { + "$ref": "#/definitions/ErrorList" + }, + "headers": { + "x-amzn-RequestId": { + "description": "Unique request reference identifier.", + "type": "string" + } + } + } + }, + "tags": [ + "fbaInbound" + ], + "description": "Retrieves a list of available self-ship appointment slots used to drop off a shipment at a warehouse.\n\n**Usage Plan:**\n\n| Rate (requests per second) | Burst |\n| ---- | ---- |\n| 1 | 1 |\n\nThe `x-amzn-RateLimit-Limit` response header returns the usage plan rate limits that were applied to the requested operation, when available. The table above indicates the default rate and burst values for this operation. Selling partners whose business demands require higher throughput may see higher rate and burst values than those shown here. For more information, refer to [Usage Plans and Rate Limits in the Selling Partner API](https://developer-docs.amazon.com/sp-api/docs/usage-plans-and-rate-limits-in-the-sp-api).", + "operationId": "getSelfShipAppointmentSlots" + }, + "post": { + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "parameters": [ + { + "description": "Identifier to an inbound plan.", + "in": "path", + "maxLength": 38, + "minLength": 38, + "name": "inboundPlanId", + "pattern": "^[a-zA-Z0-9-]*$", + "required": true, + "type": "string" + }, + { + "description": "Identifier to a shipment. A shipment contains the boxes and units being inbounded.", + "in": "path", + "maxLength": 38, + "minLength": 38, + "name": "shipmentId", + "pattern": "^[a-zA-Z0-9-]*$", + "required": true, + "type": "string" + }, + { + "in": "body", + "name": "body", + "required": true, + "schema": { + "$ref": "#/definitions/GenerateSelfShipAppointmentSlotsRequest" + }, + "description": "The body of the request `generateSelfShipAppointmentSlots`." + } + ], + "responses": { + "201": { + "description": "GenerateSelfShipAppointmentSlots 201 response", + "schema": { + "$ref": "#/definitions/GenerateSelfShipAppointmentSlotsResponse" + }, + "x-amzn-api-sandbox": { + "static": [ + { + "request": { + "parameters": { + "inboundPlanId": { + "value": "wf1234abcd-1234-abcd-5678-1234abcd5678" + }, + "shipmentId": { + "value": "sh1234abcd-1234-abcd-5678-1234abcd5678" + }, + "body": { + "value": { + "desiredEndDate": "2024-01-15T00:00:00.000Z", + "desiredStartDate": "2024-01-16T00:00:00.000Z" + } + } + } + }, + "response": { + "operationId": "1234abcd-1234-abcd-5678-1234abcd5678" + } + } + ] + }, + "headers": { + "x-amzn-RequestId": { + "description": "Unique request reference identifier.", + "type": "string" + }, + "x-amzn-RateLimit-Limit": { + "description": "Your rate limit (requests per second) for this operation.", + "type": "string" + } + } + }, + "400": { + "description": "Request has missing or invalid parameters and cannot be parsed.", + "schema": { + "$ref": "#/definitions/ErrorList" + }, + "x-amzn-api-sandbox": { + "static": [ + { + "request": { + "parameters": { + "inboundPlanId": { + "value": "wf1234abcd-1234-abcd-5678-1234abcd5678" + }, + "shipmentId": { + "value": "bad234abcd-1234-abcd-5678-1234abcd5678" + }, + "body": { + "value": { + "desiredEndDate": "2024-01-15T00:00:00.000Z", + "desiredStartDate": "2024-01-16T00:00:00.000Z" + } + } + } + }, + "response": { + "errors": [ + { + "code": "BadRequest", + "message": "The requested shipmentId does not exist in the inbound plan." + } + ] + } + } + ] + }, + "headers": { + "x-amzn-RequestId": { + "description": "Unique request reference identifier.", + "type": "string" + }, + "x-amzn-RateLimit-Limit": { + "description": "Your rate limit (requests per second) for this operation.", + "type": "string" + } + } + }, + "500": { + "description": "An unexpected condition occurred that prevented the server from fulfilling the request.", + "schema": { + "$ref": "#/definitions/ErrorList" + }, + "headers": { + "x-amzn-RequestId": { + "description": "Unique request reference identifier.", + "type": "string" + } + } + }, + "403": { + "description": "Indicates that access to the resource is forbidden. Possible reasons include Access Denied, Unauthorized, Expired Token, or Invalid Signature.", + "schema": { + "$ref": "#/definitions/ErrorList" + }, + "headers": { + "x-amzn-RequestId": { + "description": "Unique request reference identifier.", + "type": "string" + } + } + }, + "404": { + "description": "The resource specified does not exist.", + "schema": { + "$ref": "#/definitions/ErrorList" + }, + "headers": { + "x-amzn-RequestId": { + "description": "Unique request reference identifier.", + "type": "string" + }, + "x-amzn-RateLimit-Limit": { + "description": "Your rate limit (requests per second) for this operation.", + "type": "string" + } + } + }, + "413": { + "description": "The request size exceeded the maximum accepted size.", + "schema": { + "$ref": "#/definitions/ErrorList" + }, + "headers": { + "x-amzn-RequestId": { + "description": "Unique request reference identifier.", + "type": "string" + } + } + }, + "415": { + "description": "The request payload is in an unsupported format.", + "schema": { + "$ref": "#/definitions/ErrorList" + }, + "headers": { + "x-amzn-RequestId": { + "description": "Unique request reference identifier.", + "type": "string" + } + } + }, + "429": { + "description": "The frequency of requests was greater than allowed.", + "schema": { + "$ref": "#/definitions/ErrorList" + }, + "headers": { + "x-amzn-RequestId": { + "description": "Unique request reference identifier.", + "type": "string" + } + } + }, + "503": { + "description": "Temporary overloading or maintenance of the server.", + "schema": { + "$ref": "#/definitions/ErrorList" + }, + "headers": { + "x-amzn-RequestId": { + "description": "Unique request reference identifier.", + "type": "string" + } + } + } + }, + "tags": [ + "fbaInbound" + ], + "description": "Initiates the process of generating the appointment slots list.\n\n**Usage Plan:**\n\n| Rate (requests per second) | Burst |\n| ---- | ---- |\n| 1 | 1 |\n\nThe `x-amzn-RateLimit-Limit` response header returns the usage plan rate limits that were applied to the requested operation, when available. The table above indicates the default rate and burst values for this operation. Selling partners whose business demands require higher throughput may see higher rate and burst values than those shown here. For more information, refer to [Usage Plans and Rate Limits in the Selling Partner API](https://developer-docs.amazon.com/sp-api/docs/usage-plans-and-rate-limits-in-the-sp-api).", + "operationId": "generateSelfShipAppointmentSlots" + } + }, + "/inbound/fba/2024-03-20/inboundPlans/{inboundPlanId}/shipments/{shipmentId}/selfShipAppointmentSlots/{slotId}/cancellation": { + "put": { + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "parameters": [ + { + "description": "Identifier to an inbound plan.", + "in": "path", + "maxLength": 38, + "minLength": 38, + "name": "inboundPlanId", + "pattern": "^[a-zA-Z0-9-]*$", + "required": true, + "type": "string" + }, + { + "description": "Identifier to a shipment. A shipment contains the boxes and units being inbounded.", + "in": "path", + "maxLength": 38, + "minLength": 38, + "name": "shipmentId", + "pattern": "^[a-zA-Z0-9-]*$", + "required": true, + "type": "string" + }, + { + "description": "Identifier to a self-ship appointment slot.", + "in": "path", + "maxLength": 38, + "minLength": 38, + "name": "slotId", + "pattern": "^[a-zA-Z0-9-]*$", + "required": true, + "type": "string" + }, + { + "in": "body", + "name": "body", + "required": true, + "schema": { + "$ref": "#/definitions/CancelSelfShipAppointmentRequest" + }, + "description": "The body of the request to `cancelSelfShipAppointment`." + } + ], + "responses": { + "202": { + "description": "CancelSelfShipAppointment 202 response", + "schema": { + "$ref": "#/definitions/CancelSelfShipAppointmentResponse" + }, + "x-amzn-api-sandbox": { + "static": [ + { + "request": { + "parameters": { + "inboundPlanId": { + "value": "wf1234abcd-1234-abcd-5678-1234abcd5678" + }, + "shipmentId": { + "value": "sh1234abcd-1234-abcd-5678-1234abcd5678" + }, + "slotId": { + "value": "aa1234abcd-1234-abcd-5678-1234abcd5678" + }, + "body": { + "value": { + "reasonComment": "OTHER" + } + } + } + }, + "response": { + "operationId": "1234abcd-1234-abcd-5678-1234abcd5678" + } + } + ] + }, + "headers": { + "x-amzn-RequestId": { + "description": "Unique request reference identifier.", + "type": "string" + }, + "x-amzn-RateLimit-Limit": { + "description": "Your rate limit (requests per second) for this operation.", + "type": "string" + } + } + }, + "400": { + "description": "Request has missing or invalid parameters and cannot be parsed.", + "schema": { + "$ref": "#/definitions/ErrorList" + }, + "x-amzn-api-sandbox": { + "static": [ + { + "request": { + "parameters": { + "inboundPlanId": { + "value": "wf1234abcd-1234-abcd-5678-1234abcd5678" + }, + "shipmentId": { + "value": "bad234abcd-1234-abcd-5678-1234abcd5678" + }, + "slotId": { + "value": "aa1234abcd-1234-abcd-5678-1234abcd5678" + }, + "body": { + "value": { + "reasonComment": "OTHER" + } + } + } + }, + "response": { + "errors": [ + { + "code": "BadRequest", + "message": "The requested shipmentId does not exist for the specified inbound plan." + } + ] + } + } + ] + }, + "headers": { + "x-amzn-RequestId": { + "description": "Unique request reference identifier.", + "type": "string" + }, + "x-amzn-RateLimit-Limit": { + "description": "Your rate limit (requests per second) for this operation.", + "type": "string" + } + } + }, + "500": { + "description": "An unexpected condition occurred that prevented the server from fulfilling the request.", + "schema": { + "$ref": "#/definitions/ErrorList" + }, + "headers": { + "x-amzn-RequestId": { + "description": "Unique request reference identifier.", + "type": "string" + } + } + }, + "403": { + "description": "Indicates that access to the resource is forbidden. Possible reasons include Access Denied, Unauthorized, Expired Token, or Invalid Signature.", + "schema": { + "$ref": "#/definitions/ErrorList" + }, + "headers": { + "x-amzn-RequestId": { + "description": "Unique request reference identifier.", + "type": "string" + } + } + }, + "404": { + "description": "The resource specified does not exist.", + "schema": { + "$ref": "#/definitions/ErrorList" + }, + "headers": { + "x-amzn-RequestId": { + "description": "Unique request reference identifier.", + "type": "string" + }, + "x-amzn-RateLimit-Limit": { + "description": "Your rate limit (requests per second) for this operation.", + "type": "string" + } + } + }, + "413": { + "description": "The request size exceeded the maximum accepted size.", + "schema": { + "$ref": "#/definitions/ErrorList" + }, + "headers": { + "x-amzn-RequestId": { + "description": "Unique request reference identifier.", + "type": "string" + } + } + }, + "415": { + "description": "The request payload is in an unsupported format.", + "schema": { + "$ref": "#/definitions/ErrorList" + }, + "headers": { + "x-amzn-RequestId": { + "description": "Unique request reference identifier.", + "type": "string" + } + } + }, + "429": { + "description": "The frequency of requests was greater than allowed.", + "schema": { + "$ref": "#/definitions/ErrorList" + }, + "headers": { + "x-amzn-RequestId": { + "description": "Unique request reference identifier.", + "type": "string" + } + } + }, + "503": { + "description": "Temporary overloading or maintenance of the server.", + "schema": { + "$ref": "#/definitions/ErrorList" + }, + "headers": { + "x-amzn-RequestId": { + "description": "Unique request reference identifier.", + "type": "string" + } + } + } + }, + "tags": [ + "fbaInbound" + ], + "description": "Cancels a self-ship appointment slot against a shipment.\n\n**Usage Plan:**\n\n| Rate (requests per second) | Burst |\n| ---- | ---- |\n| 1 | 1 |\n\nThe `x-amzn-RateLimit-Limit` response header returns the usage plan rate limits that were applied to the requested operation, when available. The table above indicates the default rate and burst values for this operation. Selling partners whose business demands require higher throughput may see higher rate and burst values than those shown here. For more information, refer to [Usage Plans and Rate Limits in the Selling Partner API](https://developer-docs.amazon.com/sp-api/docs/usage-plans-and-rate-limits-in-the-sp-api).", + "operationId": "cancelSelfShipAppointment" + } + }, + "/inbound/fba/2024-03-20/inboundPlans/{inboundPlanId}/shipments/{shipmentId}/selfShipAppointmentSlots/{slotId}/schedule": { + "post": { + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "parameters": [ + { + "description": "Identifier to an inbound plan.", + "in": "path", + "maxLength": 38, + "minLength": 38, + "name": "inboundPlanId", + "pattern": "^[a-zA-Z0-9-]*$", + "required": true, + "type": "string" + }, + { + "description": "Identifier to a shipment. A shipment contains the boxes and units being inbounded.", + "in": "path", + "maxLength": 38, + "minLength": 38, + "name": "shipmentId", + "pattern": "^[a-zA-Z0-9-]*$", + "required": true, + "type": "string" + }, + { + "description": "Identifier to a self-ship appointment slot.", + "in": "path", + "maxLength": 38, + "minLength": 38, + "name": "slotId", + "pattern": "^[a-zA-Z0-9-]*$", + "required": true, + "type": "string" + }, + { + "in": "body", + "name": "body", + "required": true, + "schema": { + "$ref": "#/definitions/ScheduleSelfShipAppointmentRequest" + }, + "description": "The body of the request to `scheduleSelfShipAppointment`." + } + ], + "responses": { + "200": { + "description": "ScheduleSelfShipAppointment 200 response", + "schema": { + "$ref": "#/definitions/ScheduleSelfShipAppointmentResponse" + }, + "x-amzn-api-sandbox": { + "static": [ + { + "request": { + "parameters": { + "inboundPlanId": { + "value": "wf1234abcd-1234-abcd-5678-1234abcd5678" + }, + "shipmentId": { + "value": "sh1234abcd-1234-abcd-5678-1234abcd5678" + }, + "slotId": { + "value": "aa1234abcd-1234-abcd-5678-1234abcd5678" + }, + "body": { + "value": { + "reasonComment": "OTHER" + } + } + } + }, + "response": { + "selfShipAppointmentDetails": { + "appointmentId": 1000, + "appointmentSlotTime": { + "startTime": "2023-03-08T13:15:30Z", + "endTime": "2023-03-09T13:15:30Z" + }, + "appointmentStatus": "ARRIVAL_SCHEDULED" + } + } + } + ] + }, + "headers": { + "x-amzn-RequestId": { + "description": "Unique request reference identifier.", + "type": "string" + }, + "x-amzn-RateLimit-Limit": { + "description": "Your rate limit (requests per second) for this operation.", + "type": "string" + } + } + }, + "400": { + "description": "Request has missing or invalid parameters and cannot be parsed.", + "schema": { + "$ref": "#/definitions/ErrorList" + }, + "x-amzn-api-sandbox": { + "static": [ + { + "request": { + "parameters": { + "inboundPlanId": { + "value": "wf1234abcd-1234-abcd-5678-1234abcd5678" + }, + "shipmentId": { + "value": "bad234abcd-1234-abcd-5678-1234abcd5678" + }, + "slotId": { + "value": "aa1234abcd-1234-abcd-5678-1234abcd5678" + }, + "body": { + "value": { + "reasonComment": "OTHER" + } + } + } + }, + "response": { + "errors": [ + { + "code": "BadRequest", + "message": "The requested shipmentId does not exist for the specified inbound plan." + } + ] + } + } + ] + }, + "headers": { + "x-amzn-RequestId": { + "description": "Unique request reference identifier.", + "type": "string" + }, + "x-amzn-RateLimit-Limit": { + "description": "Your rate limit (requests per second) for this operation.", + "type": "string" + } + } + }, + "500": { + "description": "An unexpected condition occurred that prevented the server from fulfilling the request.", + "schema": { + "$ref": "#/definitions/ErrorList" + }, + "headers": { + "x-amzn-RequestId": { + "description": "Unique request reference identifier.", + "type": "string" + } + } + }, + "403": { + "description": "Indicates that access to the resource is forbidden. Possible reasons include Access Denied, Unauthorized, Expired Token, or Invalid Signature.", + "schema": { + "$ref": "#/definitions/ErrorList" + }, + "headers": { + "x-amzn-RequestId": { + "description": "Unique request reference identifier.", + "type": "string" + } + } + }, + "404": { + "description": "The resource specified does not exist.", + "schema": { + "$ref": "#/definitions/ErrorList" + }, + "headers": { + "x-amzn-RequestId": { + "description": "Unique request reference identifier.", + "type": "string" + }, + "x-amzn-RateLimit-Limit": { + "description": "Your rate limit (requests per second) for this operation.", + "type": "string" + } + } + }, + "413": { + "description": "The request size exceeded the maximum accepted size.", + "schema": { + "$ref": "#/definitions/ErrorList" + }, + "headers": { + "x-amzn-RequestId": { + "description": "Unique request reference identifier.", + "type": "string" + } + } + }, + "415": { + "description": "The request payload is in an unsupported format.", + "schema": { + "$ref": "#/definitions/ErrorList" + }, + "headers": { + "x-amzn-RequestId": { + "description": "Unique request reference identifier.", + "type": "string" + } + } + }, + "429": { + "description": "The frequency of requests was greater than allowed.", + "schema": { + "$ref": "#/definitions/ErrorList" + }, + "headers": { + "x-amzn-RequestId": { + "description": "Unique request reference identifier.", + "type": "string" + } + } + }, + "503": { + "description": "Temporary overloading or maintenance of the server.", + "schema": { + "$ref": "#/definitions/ErrorList" + }, + "headers": { + "x-amzn-RequestId": { + "description": "Unique request reference identifier.", + "type": "string" + } + } + } + }, + "tags": [ + "fbaInbound" + ], + "description": "Confirms or reschedules a self-ship appointment slot against a shipment.\n\n**Usage Plan:**\n\n| Rate (requests per second) | Burst |\n| ---- | ---- |\n| 1 | 1 |\n\nThe `x-amzn-RateLimit-Limit` response header returns the usage plan rate limits that were applied to the requested operation, when available. The table above indicates the default rate and burst values for this operation. Selling partners whose business demands require higher throughput may see higher rate and burst values than those shown here. For more information, refer to [Usage Plans and Rate Limits in the Selling Partner API](https://developer-docs.amazon.com/sp-api/docs/usage-plans-and-rate-limits-in-the-sp-api).", + "operationId": "scheduleSelfShipAppointment" + } + }, + "/inbound/fba/2024-03-20/inboundPlans/{inboundPlanId}/shipments/{shipmentId}/trackingDetails": { + "put": { + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "parameters": [ + { + "description": "Identifier to an inbound plan.", + "in": "path", + "maxLength": 38, + "minLength": 38, + "name": "inboundPlanId", + "pattern": "^[a-zA-Z0-9-]*$", + "required": true, + "type": "string" + }, + { + "description": "Identifier to a shipment. A shipment contains the boxes and units being inbounded.", + "in": "path", + "maxLength": 38, + "minLength": 38, + "name": "shipmentId", + "pattern": "^[a-zA-Z0-9-]*$", + "required": true, + "type": "string" + }, + { + "in": "body", + "name": "body", + "required": true, + "schema": { + "$ref": "#/definitions/UpdateShipmentTrackingDetailsRequest" + }, + "description": "The body of the request to `updateShipmentTrackingDetails`." + } + ], + "responses": { + "202": { + "description": "UpdateShipmentTrackingDetails 202 response", + "schema": { + "$ref": "#/definitions/UpdateShipmentTrackingDetailsResponse" + }, + "x-amzn-api-sandbox": { + "static": [ + { + "request": { + "parameters": { + "inboundPlanId": { + "value": "wf1234abcd-1234-abcd-5678-1234abcd5678" + }, + "shipmentId": { + "value": "sh1234abcd-1234-abcd-5678-1234abcd5678" + }, + "body": { + "value": { + "trackingDetails": { + "ltlTrackingDetail": { + "freightBillNumber": [ + "freightBillNumber1" + ], + "billOfLadingNumber": "billOfLadingNumber" + }, + "spdTrackingDetail": { + "spdTrackingItems": [ + { + "boxId": "boxId", + "trackingId": "trackingId" + } + ] + } + } + } + } + } + }, + "response": { + "operationId": "1234abcd-1234-abcd-5678-1234abcd5678" + } + } + ] + }, + "headers": { + "x-amzn-RequestId": { + "description": "Unique request reference identifier.", + "type": "string" + }, + "x-amzn-RateLimit-Limit": { + "description": "Your rate limit (requests per second) for this operation.", + "type": "string" + } + } + }, + "400": { + "description": "Request has missing or invalid parameters and cannot be parsed.", + "schema": { + "$ref": "#/definitions/ErrorList" + }, + "x-amzn-api-sandbox": { + "static": [ + { + "request": { + "parameters": { + "inboundPlanId": { + "value": "wf1234abcd-1234-abcd-5678-1234abcd5678" + }, + "shipmentId": { + "value": "bad234abcd-1234-abcd-5678-1234abcd5678" + }, + "body": { + "value": { + "trackingDetails": { + "ltlTrackingDetail": { + "freightBillNumber": [ + "freightBillNumber1" + ], + "billOfLadingNumber": "billOfLadingNumber" + }, + "spdTrackingDetail": { + "spdTrackingItems": [ + { + "boxId": "boxId", + "trackingId": "trackingId" + } + ] + } + } + } + } + } + }, + "response": { + "errors": [ + { + "code": "BadRequest", + "message": "The requested shipmentId does not exist for the specified inbound plan." + } + ] + } + } + ] + }, + "headers": { + "x-amzn-RequestId": { + "description": "Unique request reference identifier.", + "type": "string" + }, + "x-amzn-RateLimit-Limit": { + "description": "Your rate limit (requests per second) for this operation.", + "type": "string" + } + } + }, + "500": { + "description": "An unexpected condition occurred that prevented the server from fulfilling the request.", + "schema": { + "$ref": "#/definitions/ErrorList" + }, + "headers": { + "x-amzn-RequestId": { + "description": "Unique request reference identifier.", + "type": "string" + } + } + }, + "403": { + "description": "Indicates that access to the resource is forbidden. Possible reasons include Access Denied, Unauthorized, Expired Token, or Invalid Signature.", + "schema": { + "$ref": "#/definitions/ErrorList" + }, + "headers": { + "x-amzn-RequestId": { + "description": "Unique request reference identifier.", + "type": "string" + } + } + }, + "404": { + "description": "The resource specified does not exist.", + "schema": { + "$ref": "#/definitions/ErrorList" + }, + "headers": { + "x-amzn-RequestId": { + "description": "Unique request reference identifier.", + "type": "string" + }, + "x-amzn-RateLimit-Limit": { + "description": "Your rate limit (requests per second) for this operation.", + "type": "string" + } + } + }, + "413": { + "description": "The request size exceeded the maximum accepted size.", + "schema": { + "$ref": "#/definitions/ErrorList" + }, + "headers": { + "x-amzn-RequestId": { + "description": "Unique request reference identifier.", + "type": "string" + } + } + }, + "415": { + "description": "The request payload is in an unsupported format.", + "schema": { + "$ref": "#/definitions/ErrorList" + }, + "headers": { + "x-amzn-RequestId": { + "description": "Unique request reference identifier.", + "type": "string" + } + } + }, + "429": { + "description": "The frequency of requests was greater than allowed.", + "schema": { + "$ref": "#/definitions/ErrorList" + }, + "headers": { + "x-amzn-RequestId": { + "description": "Unique request reference identifier.", + "type": "string" + } + } + }, + "503": { + "description": "Temporary overloading or maintenance of the server.", + "schema": { + "$ref": "#/definitions/ErrorList" + }, + "headers": { + "x-amzn-RequestId": { + "description": "Unique request reference identifier.", + "type": "string" + } + } + } + }, + "tags": [ + "fbaInbound" + ], + "description": "Updates a shipment's tracking details.\n\n**Usage Plan:**\n\n| Rate (requests per second) | Burst |\n| ---- | ---- |\n| 1 | 1 |\n\nThe `x-amzn-RateLimit-Limit` response header returns the usage plan rate limits that were applied to the requested operation, when available. The table above indicates the default rate and burst values for this operation. Selling partners whose business demands require higher throughput may see higher rate and burst values than those shown here. For more information, refer to [Usage Plans and Rate Limits in the Selling Partner API](https://developer-docs.amazon.com/sp-api/docs/usage-plans-and-rate-limits-in-the-sp-api).", + "operationId": "updateShipmentTrackingDetails" + } + }, + "/inbound/fba/2024-03-20/inboundPlans/{inboundPlanId}/transportationOptions": { + "get": { + "produces": [ + "application/json" + ], + "parameters": [ + { + "description": "Identifier to an inbound plan.", + "in": "path", + "maxLength": 38, + "minLength": 38, + "name": "inboundPlanId", + "pattern": "^[a-zA-Z0-9-]*$", + "required": true, + "type": "string" + }, + { + "description": "The number of transportation options to return in the response matching the given query.", + "in": "query", + "maximum": 20, + "minimum": 1, + "name": "pageSize", + "type": "integer", + "default": 10 + }, + { + "description": "A token to fetch a certain page when there are multiple pages worth of results. The value of this token is fetched from the `pagination` returned in the API response. In the absence of the token value from the query parameter the API returns the first page of the result.", + "in": "query", + "maxLength": 1024, + "minLength": 0, + "name": "paginationToken", + "type": "string" + }, + { + "description": "The placement option to get transportation options for. Either placementOptionId or shipmentId must be specified.", + "in": "query", + "maxLength": 38, + "minLength": 38, + "name": "placementOptionId", + "pattern": "^[a-zA-Z0-9-]*$", + "type": "string" + }, + { + "description": "The shipment to get transportation options for. Either placementOptionId or shipmentId must be specified.", + "in": "query", + "maxLength": 38, + "minLength": 38, + "name": "shipmentId", + "pattern": "^[a-zA-Z0-9-]*$", + "type": "string" + } + ], + "responses": { + "200": { + "description": "ListTransportationOptions 200 response", + "schema": { + "$ref": "#/definitions/ListTransportationOptionsResponse" + }, + "x-amzn-api-sandbox": { + "static": [ + { + "request": { + "parameters": { + "inboundPlanId": { + "value": "wf1234abcd-1234-abcd-5678-1234abcd5678" + }, + "placementOptionId": { + "value": "pl1234abcd-1234-abcd-5678-1234abcd5678" + }, + "shipmentId": { + "value": "sh1234abcd-1234-abcd-5678-1234abcd5678" + }, + "pageSize": { + "value": 2 + }, + "paginationToken": { + "value": "paginationToken" + } + } + }, + "response": { + "transportationOptions": [ + { + "inboundPlanId": "wf1234abcd-1234-abcd-5678-1234abcd5678", + "placementOptionId": "pl1234abcd-1234-abcd-5678-1234abcd5678", + "shipmentId": "sh1234abcd-1234-abcd-5678-1234abcd5678", + "transportationOptionId": "to1234abcd-1234-abcd-5678-1234abcd5678", + "shippingSolution": "AMAZON_PARTNERED_CARRIER", + "carrier": { + "name": "name", + "alphaCode": "USPS" + }, + "shippingMode": "GROUND_SMALL_PARCEL", + "quote": { + "cost": { + "code": "USD", + "amount": 500.0 + }, + "voidableUntil": "2024-01-01T00:00:00.000Z", + "expiration": "2024-01-01T00:00:00.000Z" + }, + "appointmentSlot": { + "slotId": "aa1234abcd-1234-abcd-5678-1234abcd5678", + "slotTime": { + "startTime": "2024-01-01T00:00Z", + "endTime": "2024-01-01T00:00Z" + } + } + } + ], + "pagination": { + "nextToken": "nextPaginationToken" + } + } + } + ] + }, + "headers": { + "x-amzn-RequestId": { + "description": "Unique request reference identifier.", + "type": "string" + }, + "x-amzn-RateLimit-Limit": { + "description": "Your rate limit (requests per second) for this operation.", + "type": "string" + } + } + }, + "400": { + "description": "Request has missing or invalid parameters and cannot be parsed.", + "schema": { + "$ref": "#/definitions/ErrorList" + }, + "x-amzn-api-sandbox": { + "static": [ + { + "request": { + "parameters": { + "inboundPlanId": { + "value": "wf1234abcd-1234-abcd-5678-1234abcd5678" + }, + "placementOptionId": { + "value": "pl1234abcd-1234-abcd-5678-1234abcd5678" + }, + "shipmentId": { + "value": "bad234abcd-1234-abcd-5678-1234abcd5678" + }, + "pageSize": { + "value": 2 + }, + "paginationToken": { + "value": "paginationToken" + } + } + }, + "response": { + "errors": [ + { + "code": "BadRequest", + "message": "The requested shipmentId does not exist for the specified inbound plan." + } + ] + } + } + ] + }, + "headers": { + "x-amzn-RequestId": { + "description": "Unique request reference identifier.", + "type": "string" + }, + "x-amzn-RateLimit-Limit": { + "description": "Your rate limit (requests per second) for this operation.", + "type": "string" + } + } + }, + "500": { + "description": "An unexpected condition occurred that prevented the server from fulfilling the request.", + "schema": { + "$ref": "#/definitions/ErrorList" + }, + "headers": { + "x-amzn-RequestId": { + "description": "Unique request reference identifier.", + "type": "string" + } + } + }, + "403": { + "description": "Indicates that access to the resource is forbidden. Possible reasons include Access Denied, Unauthorized, Expired Token, or Invalid Signature.", + "schema": { + "$ref": "#/definitions/ErrorList" + }, + "headers": { + "x-amzn-RequestId": { + "description": "Unique request reference identifier.", + "type": "string" + } + } + }, + "404": { + "description": "The resource specified does not exist.", + "schema": { + "$ref": "#/definitions/ErrorList" + }, + "headers": { + "x-amzn-RequestId": { + "description": "Unique request reference identifier.", + "type": "string" + }, + "x-amzn-RateLimit-Limit": { + "description": "Your rate limit (requests per second) for this operation.", + "type": "string" + } + } + }, + "413": { + "description": "The request size exceeded the maximum accepted size.", + "schema": { + "$ref": "#/definitions/ErrorList" + }, + "headers": { + "x-amzn-RequestId": { + "description": "Unique request reference identifier.", + "type": "string" + } + } + }, + "415": { + "description": "The request payload is in an unsupported format.", + "schema": { + "$ref": "#/definitions/ErrorList" + }, + "headers": { + "x-amzn-RequestId": { + "description": "Unique request reference identifier.", + "type": "string" + } + } + }, + "429": { + "description": "The frequency of requests was greater than allowed.", + "schema": { + "$ref": "#/definitions/ErrorList" + }, + "headers": { + "x-amzn-RequestId": { + "description": "Unique request reference identifier.", + "type": "string" + } + } + }, + "503": { + "description": "Temporary overloading or maintenance of the server.", + "schema": { + "$ref": "#/definitions/ErrorList" + }, + "headers": { + "x-amzn-RequestId": { + "description": "Unique request reference identifier.", + "type": "string" + } + } + } + }, + "tags": [ + "fbaInbound" + ], + "description": "Retrieves all transportation options for a shipment. Transportation options must first be generated by the corresponding endpoint before becoming available.\n\n**Usage Plan:**\n\n| Rate (requests per second) | Burst |\n| ---- | ---- |\n| 1 | 1 |\n\nThe `x-amzn-RateLimit-Limit` response header returns the usage plan rate limits that were applied to the requested operation, when available. The table above indicates the default rate and burst values for this operation. Selling partners whose business demands require higher throughput may see higher rate and burst values than those shown here. For more information, refer to [Usage Plans and Rate Limits in the Selling Partner API](https://developer-docs.amazon.com/sp-api/docs/usage-plans-and-rate-limits-in-the-sp-api).", + "operationId": "listTransportationOptions" + }, + "post": { + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "parameters": [ + { + "description": "Identifier to an inbound plan.", + "in": "path", + "maxLength": 38, + "minLength": 38, + "name": "inboundPlanId", + "pattern": "^[a-zA-Z0-9-]*$", + "required": true, + "type": "string" + }, + { + "in": "body", + "name": "body", + "required": true, + "schema": { + "$ref": "#/definitions/GenerateTransportationOptionsRequest" + }, + "description": "The body of the request to `generateTransportationOptions`." + } + ], + "responses": { + "202": { + "description": "GenerateTransportationOptions 202 response", + "schema": { + "$ref": "#/definitions/GenerateTransportationOptionsResponse" + }, + "x-amzn-api-sandbox": { + "static": [ + { + "request": { + "parameters": { + "inboundPlanId": { + "value": "wf1234abcd-1234-abcd-5678-1234abcd5678" + }, + "body": { + "value": { + "placementOptionId": "pl1234abcd-1234-abcd-5678-1234abcd5678", + "shipmentTransportationConfigurations": [ + { + "shipmentId": "sh1234abcd-1234-abcd-5678-1234abcd5678", + "readyToShipWindow": { + "start": "2024-01-01T00:00Z" + }, + "contactInformation": { + "name": "name", + "phoneNumber": "1234567890", + "email": "email@email.com" + }, + "palletInformation": { + "pallets": [ + { + "stackability": "STACKABLE", + "weight": { + "unit": "KG", + "value": 5.5 + }, + "dimensions": { + "unitOfMeasurement": "CM", + "length": 3.0, + "width": 4.0, + "height": 5.0 + }, + "quantity": 2 + } + ], + "freightClass": "FC_50", + "declaredValue": { + "code": "USD", + "amount": 500.0 + } + } + } + ] + } + } + } + }, + "response": { + "operationId": "1234abcd-1234-abcd-5678-1234abcd5678" + } + } + ] + }, + "headers": { + "x-amzn-RequestId": { + "description": "Unique request reference identifier.", + "type": "string" + }, + "x-amzn-RateLimit-Limit": { + "description": "Your rate limit (requests per second) for this operation.", + "type": "string" + } + } + }, + "400": { + "description": "Request has missing or invalid parameters and cannot be parsed.", + "schema": { + "$ref": "#/definitions/ErrorList" + }, + "x-amzn-api-sandbox": { + "static": [ + { + "request": { + "parameters": { + "inboundPlanId": { + "value": "wf1234abcd-1234-abcd-5678-1234abcd5678" + }, + "body": { + "value": { + "placementOptionId": "pl1234abcd-1234-abcd-5678-1234abcd5678", + "shipmentTransportationConfigurations": [ + { + "shipmentId": "bad234abcd-1234-abcd-5678-1234abcd5678", + "readyToShipWindow": { + "start": "2024-01-01T00:00Z" + }, + "contactInformation": { + "name": "name", + "phoneNumber": "1234567890", + "email": "email@email.com" + }, + "palletInformation": { + "pallets": [ + { + "stackability": "STACKABLE", + "weight": { + "unit": "KG", + "value": 5.5 + }, + "dimensions": { + "unitOfMeasurement": "CM", + "length": 3.0, + "width": 4.0, + "height": 5.0 + }, + "quantity": 2 + } + ], + "freightClass": "FC_50", + "declaredValue": { + "code": "USD", + "amount": 500.0 + } + } + } + ] + } + } + } + }, + "response": { + "errors": [ + { + "code": "BadRequest", + "message": "The requested shipmentId does not exist under the provided placement option." + } + ] + } + } + ] + }, + "headers": { + "x-amzn-RequestId": { + "description": "Unique request reference identifier.", + "type": "string" + }, + "x-amzn-RateLimit-Limit": { + "description": "Your rate limit (requests per second) for this operation.", + "type": "string" + } + } + }, + "500": { + "description": "An unexpected condition occurred that prevented the server from fulfilling the request.", + "schema": { + "$ref": "#/definitions/ErrorList" + }, + "headers": { + "x-amzn-RequestId": { + "description": "Unique request reference identifier.", + "type": "string" + } + } + }, + "403": { + "description": "Indicates that access to the resource is forbidden. Possible reasons include Access Denied, Unauthorized, Expired Token, or Invalid Signature.", + "schema": { + "$ref": "#/definitions/ErrorList" + }, + "headers": { + "x-amzn-RequestId": { + "description": "Unique request reference identifier.", + "type": "string" + } + } + }, + "404": { + "description": "The resource specified does not exist.", + "schema": { + "$ref": "#/definitions/ErrorList" + }, + "headers": { + "x-amzn-RequestId": { + "description": "Unique request reference identifier.", + "type": "string" + }, + "x-amzn-RateLimit-Limit": { + "description": "Your rate limit (requests per second) for this operation.", + "type": "string" + } + } + }, + "413": { + "description": "The request size exceeded the maximum accepted size.", + "schema": { + "$ref": "#/definitions/ErrorList" + }, + "headers": { + "x-amzn-RequestId": { + "description": "Unique request reference identifier.", + "type": "string" + } + } + }, + "415": { + "description": "The request payload is in an unsupported format.", + "schema": { + "$ref": "#/definitions/ErrorList" + }, + "headers": { + "x-amzn-RequestId": { + "description": "Unique request reference identifier.", + "type": "string" + } + } + }, + "429": { + "description": "The frequency of requests was greater than allowed.", + "schema": { + "$ref": "#/definitions/ErrorList" + }, + "headers": { + "x-amzn-RequestId": { + "description": "Unique request reference identifier.", + "type": "string" + } + } + }, + "503": { + "description": "Temporary overloading or maintenance of the server.", + "schema": { + "$ref": "#/definitions/ErrorList" + }, + "headers": { + "x-amzn-RequestId": { + "description": "Unique request reference identifier.", + "type": "string" + } + } + } + }, + "tags": [ + "fbaInbound" + ], + "description": "Generates available transportation options for a given placement option.\n\n**Usage Plan:**\n\n| Rate (requests per second) | Burst |\n| ---- | ---- |\n| 0.05 | 1 |\n\nThe `x-amzn-RateLimit-Limit` response header returns the usage plan rate limits that were applied to the requested operation, when available. The table above indicates the default rate and burst values for this operation. Selling partners whose business demands require higher throughput may see higher rate and burst values than those shown here. For more information, refer to [Usage Plans and Rate Limits in the Selling Partner API](https://developer-docs.amazon.com/sp-api/docs/usage-plans-and-rate-limits-in-the-sp-api).", + "operationId": "generateTransportationOptions" + } + }, + "/inbound/fba/2024-03-20/inboundPlans/{inboundPlanId}/transportationOptions/confirmation": { + "post": { + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "parameters": [ + { + "description": "Identifier to an inbound plan.", + "in": "path", + "maxLength": 38, + "minLength": 38, + "name": "inboundPlanId", + "pattern": "^[a-zA-Z0-9-]*$", + "required": true, + "type": "string" + }, + { + "in": "body", + "name": "body", + "required": true, + "schema": { + "$ref": "#/definitions/ConfirmTransportationOptionsRequest" + }, + "description": "The body of the request to `confirmTransportationOptions`." + } + ], + "responses": { + "202": { + "description": "ConfirmTransportationOptions 202 response", + "schema": { + "$ref": "#/definitions/ConfirmTransportationOptionsResponse" + }, + "x-amzn-api-sandbox": { + "static": [ + { + "request": { + "parameters": { + "inboundPlanId": { + "value": "wf1234abcd-1234-abcd-5678-1234abcd5678" + }, + "body": { + "value": { + "transportationSelections": [ + { + "shipmentId": "sh1234abcd-1234-abcd-5678-1234abcd5678", + "transportationOptionId": "to1234abcd-1234-abcd-5678-1234abcd5678", + "contactInformation": { + "name": "name", + "phoneNumber": "1234567890", + "email": "email@email.com" + }, + "deliveryWindow": { + "start": "2024-01-01T00:00Z" + } + } + ] + } + } + } + }, + "response": { + "operationId": "1234abcd-1234-abcd-5678-1234abcd5678" + } + } + ] + }, + "headers": { + "x-amzn-RequestId": { + "description": "Unique request reference identifier.", + "type": "string" + }, + "x-amzn-RateLimit-Limit": { + "description": "Your rate limit (requests per second) for this operation.", + "type": "string" + } + } + }, + "400": { + "description": "Request has missing or invalid parameters and cannot be parsed.", + "schema": { + "$ref": "#/definitions/ErrorList" + }, + "x-amzn-api-sandbox": { + "static": [ + { + "request": { + "parameters": { + "inboundPlanId": { + "value": "wfbad4abcd-1234-abcd-5678-1234abcd5678" + }, + "body": { + "value": { + "transportationSelections": [ + { + "shipmentId": "sh1234abcd-1234-abcd-5678-1234abcd5678", + "transportationOptionId": "bad234abcd-1234-abcd-5678-1234abcd5678", + "contactInformation": { + "name": "name", + "phoneNumber": "1234567890", + "email": "email@email.com" + }, + "deliveryWindow": { + "start": "2024-01-01T00:00Z" + } + } + ] + } + } + } + }, + "response": { + "errors": [ + { + "code": "BadRequest", + "message": "The requested transportationOptionId does not exist under the associated shipment." + } + ] + } + } + ] + }, + "headers": { + "x-amzn-RequestId": { + "description": "Unique request reference identifier.", + "type": "string" + }, + "x-amzn-RateLimit-Limit": { + "description": "Your rate limit (requests per second) for this operation.", + "type": "string" + } + } + }, + "500": { + "description": "An unexpected condition occurred that prevented the server from fulfilling the request.", + "schema": { + "$ref": "#/definitions/ErrorList" + }, + "headers": { + "x-amzn-RequestId": { + "description": "Unique request reference identifier.", + "type": "string" + } + } + }, + "403": { + "description": "Indicates that access to the resource is forbidden. Possible reasons include Access Denied, Unauthorized, Expired Token, or Invalid Signature.", + "schema": { + "$ref": "#/definitions/ErrorList" + }, + "headers": { + "x-amzn-RequestId": { + "description": "Unique request reference identifier.", + "type": "string" + } + } + }, + "404": { + "description": "The resource specified does not exist.", + "schema": { + "$ref": "#/definitions/ErrorList" + }, + "headers": { + "x-amzn-RequestId": { + "description": "Unique request reference identifier.", + "type": "string" + }, + "x-amzn-RateLimit-Limit": { + "description": "Your rate limit (requests per second) for this operation.", + "type": "string" + } + } + }, + "413": { + "description": "The request size exceeded the maximum accepted size.", + "schema": { + "$ref": "#/definitions/ErrorList" + }, + "headers": { + "x-amzn-RequestId": { + "description": "Unique request reference identifier.", + "type": "string" + } + } + }, + "415": { + "description": "The request payload is in an unsupported format.", + "schema": { + "$ref": "#/definitions/ErrorList" + }, + "headers": { + "x-amzn-RequestId": { + "description": "Unique request reference identifier.", + "type": "string" + } + } + }, + "429": { + "description": "The frequency of requests was greater than allowed.", + "schema": { + "$ref": "#/definitions/ErrorList" + }, + "headers": { + "x-amzn-RequestId": { + "description": "Unique request reference identifier.", + "type": "string" + } + } + }, + "503": { + "description": "Temporary overloading or maintenance of the server.", + "schema": { + "$ref": "#/definitions/ErrorList" + }, + "headers": { + "x-amzn-RequestId": { + "description": "Unique request reference identifier.", + "type": "string" + } + } + } + }, + "tags": [ + "fbaInbound" + ], + "description": "Confirms all the transportation options for an inbound plan. A placement option must be confirmed prior to use of this API. Once confirmed, new transportation options can not be generated or confirmed for the Inbound Plan.\n\n**Usage Plan:**\n\n| Rate (requests per second) | Burst |\n| ---- | ---- |\n| 0.05 | 1 |\n\nThe `x-amzn-RateLimit-Limit` response header returns the usage plan rate limits that were applied to the requested operation, when available. The table above indicates the default rate and burst values for this operation. Selling partners whose business demands require higher throughput may see higher rate and burst values than those shown here. For more information, refer to [Usage Plans and Rate Limits in the Selling Partner API](https://developer-docs.amazon.com/sp-api/docs/usage-plans-and-rate-limits-in-the-sp-api).", + "operationId": "confirmTransportationOptions" + } + }, + "/inbound/fba/2024-03-20/items/compliance": { + "get": { + "produces": [ + "application/json" + ], + "parameters": [ + { + "collectionFormat": "multi", + "description": "List of merchant SKUs, a merchant-supplied identifier for a specific SKU.", + "in": "query", + "items": { + "maxLength": 40, + "minLength": 1, + "type": "string" + }, + "maxItems": 100, + "minItems": 1, + "name": "mskus", + "required": true, + "type": "array" + }, + { + "description": "The Marketplace ID. Refer to [Marketplace IDs](https://developer-docs.amazon.com/sp-api/docs/marketplace-ids) for a list of possible values.", + "in": "query", + "maxLength": 256, + "minLength": 1, + "name": "marketplaceId", + "required": true, + "type": "string" + } + ], + "responses": { + "200": { + "description": "ListItemComplianceDetails 200 response", + "schema": { + "$ref": "#/definitions/ListItemComplianceDetailsResponse" + }, + "x-amzn-api-sandbox": { + "static": [ + { + "request": { + "parameters": { + "mskus": { + "value": [ + "msku1", + "msku2" + ] + }, + "marketplaceId": { + "value": "ATVPDKIKX0DER" + } + } + }, + "response": { + "complianceDetails": [ + { + "msku": "msku1", + "fnsku": "fnsku1", + "asin": "asin1", + "taxDetails": { + "hsnCode": "720299", + "declaredValue": { + "code": "USD", + "amount": 50.0 + }, + "taxRates": [ + { + "taxType": "TOTAL_TAX", + "gstRate": 1.0, + "cessRate": 1.0 + } + ] + } + }, + { + "msku": "msku2", + "fnsku": "fnsku2", + "asin": "asin2", + "taxDetails": { + "hsnCode": "720299", + "declaredValue": { + "code": "USD", + "amount": 50.0 + }, + "taxRates": [ + { + "taxType": "TOTAL_TAX", + "gstRate": 1.0, + "cessRate": 1.0 + } + ] + } + } + ] + } + } + ] + }, + "headers": { + "x-amzn-RequestId": { + "description": "Unique request reference identifier.", + "type": "string" + }, + "x-amzn-RateLimit-Limit": { + "description": "Your rate limit (requests per second) for this operation.", + "type": "string" + } + } + }, + "400": { + "description": "Request has missing or invalid parameters and cannot be parsed.", + "schema": { + "$ref": "#/definitions/ErrorList" + }, + "x-amzn-api-sandbox": { + "static": [ + { + "request": { + "parameters": { + "mskus": { + "value": [ + "badmsku" + ] + }, + "marketplaceId": { + "value": "ATVPDKIKX0DER" + } + } + }, + "response": { + "errors": [ + { + "code": "BadRequest", + "message": "The requested MSKU is not valid for the specified marketplace." + } + ] + } + } + ] + }, + "headers": { + "x-amzn-RequestId": { + "description": "Unique request reference identifier.", + "type": "string" + }, + "x-amzn-RateLimit-Limit": { + "description": "Your rate limit (requests per second) for this operation.", + "type": "string" + } + } + }, + "500": { + "description": "An unexpected condition occurred that prevented the server from fulfilling the request.", + "schema": { + "$ref": "#/definitions/ErrorList" + }, + "headers": { + "x-amzn-RequestId": { + "description": "Unique request reference identifier.", + "type": "string" + } + } + }, + "403": { + "description": "Indicates that access to the resource is forbidden. Possible reasons include Access Denied, Unauthorized, Expired Token, or Invalid Signature.", + "schema": { + "$ref": "#/definitions/ErrorList" + }, + "headers": { + "x-amzn-RequestId": { + "description": "Unique request reference identifier.", + "type": "string" + } + } + }, + "404": { + "description": "The resource specified does not exist.", + "schema": { + "$ref": "#/definitions/ErrorList" + }, + "headers": { + "x-amzn-RequestId": { + "description": "Unique request reference identifier.", + "type": "string" + }, + "x-amzn-RateLimit-Limit": { + "description": "Your rate limit (requests per second) for this operation.", + "type": "string" + } + } + }, + "413": { + "description": "The request size exceeded the maximum accepted size.", + "schema": { + "$ref": "#/definitions/ErrorList" + }, + "headers": { + "x-amzn-RequestId": { + "description": "Unique request reference identifier.", + "type": "string" + } + } + }, + "415": { + "description": "The request payload is in an unsupported format.", + "schema": { + "$ref": "#/definitions/ErrorList" + }, + "headers": { + "x-amzn-RequestId": { + "description": "Unique request reference identifier.", + "type": "string" + } + } + }, + "429": { + "description": "The frequency of requests was greater than allowed.", + "schema": { + "$ref": "#/definitions/ErrorList" + }, + "headers": { + "x-amzn-RequestId": { + "description": "Unique request reference identifier.", + "type": "string" + } + } + }, + "503": { + "description": "Temporary overloading or maintenance of the server.", + "schema": { + "$ref": "#/definitions/ErrorList" + }, + "headers": { + "x-amzn-RequestId": { + "description": "Unique request reference identifier.", + "type": "string" + } + } + } + }, + "tags": [ + "fbaInbound" + ], + "description": "List the inbound compliance details for MSKUs in a given marketplace.\n\n**Usage Plan:**\n\n| Rate (requests per second) | Burst |\n| ---- | ---- |\n| 1 | 1 |\n\nThe `x-amzn-RateLimit-Limit` response header returns the usage plan rate limits that were applied to the requested operation, when available. The table above indicates the default rate and burst values for this operation. Selling partners whose business demands require higher throughput may see higher rate and burst values than those shown here. For more information, refer to [Usage Plans and Rate Limits in the Selling Partner API](https://developer-docs.amazon.com/sp-api/docs/usage-plans-and-rate-limits-in-the-sp-api).", + "operationId": "listItemComplianceDetails" + }, + "put": { + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "parameters": [ + { + "description": "The Marketplace ID. Refer to [Marketplace IDs](https://developer-docs.amazon.com/sp-api/docs/marketplace-ids) for a list of possible values.", + "in": "query", + "maxLength": 256, + "minLength": 1, + "name": "marketplaceId", + "required": true, + "type": "string" + }, + { + "in": "body", + "name": "body", + "required": true, + "schema": { + "$ref": "#/definitions/UpdateItemComplianceDetailsRequest" + }, + "description": "The body of the request to `updateItemComplianceDetails`." + } + ], + "responses": { + "202": { + "description": "UpdateItemComplianceDetails 202 response", + "schema": { + "$ref": "#/definitions/UpdateItemComplianceDetailsResponse" + }, + "x-amzn-api-sandbox": { + "static": [ + { + "request": { + "parameters": { + "marketplaceId": { + "value": "ATVPDKIKX0DER" + }, + "body": { + "value": { + "msku": "msku", + "taxDetails": { + "hsnCode": "720299", + "declaredValue": { + "code": "USD", + "amount": 50.0 + }, + "taxRates": [ + { + "taxType": "TOTAL_TAX", + "gstRate": 1.0, + "cessRate": 1.0 + } + ] + } + } + } + } + }, + "response": { + "operationId": "1234abcd-1234-abcd-5678-1234abcd5678" + } + } + ] + }, + "headers": { + "x-amzn-RequestId": { + "description": "Unique request reference identifier.", + "type": "string" + }, + "x-amzn-RateLimit-Limit": { + "description": "Your rate limit (requests per second) for this operation.", + "type": "string" + } + } + }, + "400": { + "description": "Request has missing or invalid parameters and cannot be parsed.", + "schema": { + "$ref": "#/definitions/ErrorList" + }, + "x-amzn-api-sandbox": { + "static": [ + { + "request": { + "parameters": { + "marketplaceId": { + "value": "ATVPDKIKX0DER" + }, + "body": { + "value": { + "msku": "badmsku", + "taxDetails": { + "hsnCode": "720299", + "declaredValue": { + "code": "USD", + "amount": 50.0 + }, + "taxRates": [ + { + "taxType": "TOTAL_TAX", + "gstRate": 1.0, + "cessRate": 1.0 + } + ] + } + } + } + } + }, + "response": { + "errors": [ + { + "code": "BadRequest", + "message": "The requested msku does not exist for the specified marketplace." + } + ] + } + } + ] + }, + "headers": { + "x-amzn-RequestId": { + "description": "Unique request reference identifier.", + "type": "string" + }, + "x-amzn-RateLimit-Limit": { + "description": "Your rate limit (requests per second) for this operation.", + "type": "string" + } + } + }, + "500": { + "description": "An unexpected condition occurred that prevented the server from fulfilling the request.", + "schema": { + "$ref": "#/definitions/ErrorList" + }, + "headers": { + "x-amzn-RequestId": { + "description": "Unique request reference identifier.", + "type": "string" + } + } + }, + "403": { + "description": "Indicates that access to the resource is forbidden. Possible reasons include Access Denied, Unauthorized, Expired Token, or Invalid Signature.", + "schema": { + "$ref": "#/definitions/ErrorList" + }, + "headers": { + "x-amzn-RequestId": { + "description": "Unique request reference identifier.", + "type": "string" + } + } + }, + "404": { + "description": "The resource specified does not exist.", + "schema": { + "$ref": "#/definitions/ErrorList" + }, + "headers": { + "x-amzn-RequestId": { + "description": "Unique request reference identifier.", + "type": "string" + }, + "x-amzn-RateLimit-Limit": { + "description": "Your rate limit (requests per second) for this operation.", + "type": "string" + } + } + }, + "413": { + "description": "The request size exceeded the maximum accepted size.", + "schema": { + "$ref": "#/definitions/ErrorList" + }, + "headers": { + "x-amzn-RequestId": { + "description": "Unique request reference identifier.", + "type": "string" + } + } + }, + "415": { + "description": "The request payload is in an unsupported format.", + "schema": { + "$ref": "#/definitions/ErrorList" + }, + "headers": { + "x-amzn-RequestId": { + "description": "Unique request reference identifier.", + "type": "string" + } + } + }, + "429": { + "description": "The frequency of requests was greater than allowed.", + "schema": { + "$ref": "#/definitions/ErrorList" + }, + "headers": { + "x-amzn-RequestId": { + "description": "Unique request reference identifier.", + "type": "string" + } + } + }, + "503": { + "description": "Temporary overloading or maintenance of the server.", + "schema": { + "$ref": "#/definitions/ErrorList" + }, + "headers": { + "x-amzn-RequestId": { + "description": "Unique request reference identifier.", + "type": "string" + } + } + } + }, + "tags": [ + "fbaInbound" + ], + "description": "Update compliance details for list of MSKUs. The details provided here are only used for the IN marketplace compliance validation.\n\n**Usage Plan:**\n\n| Rate (requests per second) | Burst |\n| ---- | ---- |\n| 1 | 1 |\n\nThe `x-amzn-RateLimit-Limit` response header returns the usage plan rate limits that were applied to the requested operation, when available. The table above indicates the default rate and burst values for this operation. Selling partners whose business demands require higher throughput may see higher rate and burst values than those shown here. For more information, refer to [Usage Plans and Rate Limits in the Selling Partner API](https://developer-docs.amazon.com/sp-api/docs/usage-plans-and-rate-limits-in-the-sp-api).", + "operationId": "updateItemComplianceDetails" + } + }, + "/inbound/fba/2024-03-20/operations/{operationId}": { + "get": { + "produces": [ + "application/json" + ], + "parameters": [ + { + "description": "Identifier to an asynchronous operation.", + "in": "path", + "maxLength": 38, + "minLength": 36, + "name": "operationId", + "pattern": "^[a-zA-Z0-9-]*$", + "required": true, + "type": "string" + } + ], + "responses": { + "200": { + "description": "GetInboundOperationStatus 200 response", + "schema": { + "$ref": "#/definitions/InboundOperationStatus" + }, + "x-amzn-api-sandbox": { + "static": [ + { + "request": { + "parameters": { + "operationId": { + "value": "1234abcd-1234-abcd-5678-1234abcd5678" + } + } + }, + "response": { + "operationId": "a440f2ff-cb08-416a-99e1-67a04eee88f6", + "operation": "operationName", + "operationStatus": "SUCCESS", + "operationProblems": [ + { + "code": "DimensionMismatch", + "message": "The dimension does not match what is expected.", + "details": "", + "severity": "WARNING" + } + ] + } + } + ] + }, + "headers": { + "x-amzn-RequestId": { + "description": "Unique request reference identifier.", + "type": "string" + }, + "x-amzn-RateLimit-Limit": { + "description": "Your rate limit (requests per second) for this operation.", + "type": "string" + } + } + }, + "400": { + "description": "Request has missing or invalid parameters and cannot be parsed.", + "schema": { + "$ref": "#/definitions/ErrorList" + }, + "x-amzn-api-sandbox": { + "static": [ + { + "request": { + "parameters": { + "operationId": { + "value": "bad4abcd-1234-abcd-5678-1234abcd5678" + } + } + }, + "response": { + "errors": [ + { + "code": "BadRequest", + "message": "The operationId is malformed." + } + ] + } + } + ] + }, + "headers": { + "x-amzn-RequestId": { + "description": "Unique request reference identifier.", + "type": "string" + }, + "x-amzn-RateLimit-Limit": { + "description": "Your rate limit (requests per second) for this operation.", + "type": "string" + } + } + }, + "500": { + "description": "An unexpected condition occurred that prevented the server from fulfilling the request.", + "schema": { + "$ref": "#/definitions/ErrorList" + }, + "headers": { + "x-amzn-RequestId": { + "description": "Unique request reference identifier.", + "type": "string" + } + } + }, + "403": { + "description": "Indicates that access to the resource is forbidden. Possible reasons include Access Denied, Unauthorized, Expired Token, or Invalid Signature.", + "schema": { + "$ref": "#/definitions/ErrorList" + }, + "headers": { + "x-amzn-RequestId": { + "description": "Unique request reference identifier.", + "type": "string" + } + } + }, + "404": { + "description": "The resource specified does not exist.", + "schema": { + "$ref": "#/definitions/ErrorList" + }, + "headers": { + "x-amzn-RequestId": { + "description": "Unique request reference identifier.", + "type": "string" + }, + "x-amzn-RateLimit-Limit": { + "description": "Your rate limit (requests per second) for this operation.", + "type": "string" + } + } + }, + "413": { + "description": "The request size exceeded the maximum accepted size.", + "schema": { + "$ref": "#/definitions/ErrorList" + }, + "headers": { + "x-amzn-RequestId": { + "description": "Unique request reference identifier.", + "type": "string" + } + } + }, + "415": { + "description": "The request payload is in an unsupported format.", + "schema": { + "$ref": "#/definitions/ErrorList" + }, + "headers": { + "x-amzn-RequestId": { + "description": "Unique request reference identifier.", + "type": "string" + } + } + }, + "429": { + "description": "The frequency of requests was greater than allowed.", + "schema": { + "$ref": "#/definitions/ErrorList" + }, + "headers": { + "x-amzn-RequestId": { + "description": "Unique request reference identifier.", + "type": "string" + } + } + }, + "503": { + "description": "Temporary overloading or maintenance of the server.", + "schema": { + "$ref": "#/definitions/ErrorList" + }, + "headers": { + "x-amzn-RequestId": { + "description": "Unique request reference identifier.", + "type": "string" + } + } + } + }, + "tags": [ + "fbaInbound" + ], + "description": "Gets the status of the processing of an asynchronous API call.\n\n**Usage Plan:**\n\n| Rate (requests per second) | Burst |\n| ---- | ---- |\n| 1 | 1 |\n\nThe `x-amzn-RateLimit-Limit` response header returns the usage plan rate limits that were applied to the requested operation, when available. The table above indicates the default rate and burst values for this operation. Selling partners whose business demands require higher throughput may see higher rate and burst values than those shown here. For more information, refer to [Usage Plans and Rate Limits in the Selling Partner API](https://developer-docs.amazon.com/sp-api/docs/usage-plans-and-rate-limits-in-the-sp-api).", + "operationId": "getInboundOperationStatus" + } + } + }, + "definitions": { + "Address": { + "description": "Specific details to identify a place.", + "properties": { + "addressLine1": { + "description": "Street address information.", + "maxLength": 180, + "minLength": 1, + "type": "string" + }, + "addressLine2": { + "description": "Additional street address information.", + "maxLength": 60, + "minLength": 1, + "type": "string" + }, + "city": { + "description": "The city.", + "maxLength": 30, + "minLength": 1, + "type": "string" + }, + "companyName": { + "description": "The name of the business.", + "maxLength": 50, + "minLength": 1, + "type": "string" + }, + "countryCode": { + "description": "The country code in two-character ISO 3166-1 alpha-2 format.", + "maxLength": 2, + "minLength": 2, + "pattern": "^[A-Z]{2}$", + "type": "string" + }, + "name": { + "description": "The name of the individual or business.", + "maxLength": 50, + "minLength": 1, + "type": "string" + }, + "postalCode": { + "description": "The postal code.", + "maxLength": 32, + "minLength": 1, + "type": "string" + }, + "stateOrProvinceCode": { + "description": "The state or province code.", + "maxLength": 64, + "minLength": 1, + "type": "string" + } + }, + "required": [ + "addressLine1", + "city", + "countryCode", + "name", + "postalCode" + ], + "type": "object", + "example": { + "addressLine1": "123 example street", + "addressLine2": "Floor 19", + "city": "Toronto", + "companyName": "Acme", + "countryCode": "CA", + "name": "name", + "postalCode": "M1M1M1", + "stateOrProvinceCode": "ON" + } + }, + "AppointmentSlot": { + "description": "The fulfillment center appointment slot for the transportation option.", + "properties": { + "slotId": { + "description": "An identifier to a self-ship appointment slot.", + "maxLength": 38, + "minLength": 38, + "pattern": "^[a-zA-Z0-9-]*$", + "type": "string" + }, + "slotTime": { + "$ref": "#/definitions/AppointmentSlotTime" + } + }, + "required": [ + "slotId", + "slotTime" + ], + "type": "object" + }, + "AppointmentSlotTime": { + "description": "An appointment slot time with a start and end.", + "properties": { + "endTime": { + "description": "The end timestamp of the appointment in UTC.", + "format": "date-time", + "type": "string" + }, + "startTime": { + "description": "The start timestamp of the appointment in UTC.", + "format": "date-time", + "type": "string" + } + }, + "required": [ + "endTime", + "startTime" + ], + "type": "object" + }, + "Box": { + "description": "Contains information about a box that is used in the inbound plan. The box may contain an item and metadata about the box itself.", + "properties": { + "boxId": { + "description": "The ID provided by Amazon that identifies a given box. This ID is comprised of the external shipment ID (which\n is generated after transportation has been confirmed) and the index of the box.", + "maxLength": 1024, + "minLength": 1, + "type": "string" + }, + "destinationRegion": { + "$ref": "#/definitions/Region" + }, + "dimensions": { + "$ref": "#/definitions/Dimensions" + }, + "items": { + "description": "Items contained within the box.", + "items": { + "$ref": "#/definitions/Item" + }, + "type": "array" + }, + "packageId": { + "description": "Primary key to uniquely identify a Package (Box or Pallet).", + "maxLength": 38, + "minLength": 38, + "pattern": "^[a-zA-Z0-9-]*$", + "type": "string" + }, + "quantity": { + "description": "The number of containers where all other properties like weight or dimensions are identical.", + "maximum": 10000, + "minimum": 1, + "type": "integer" + }, + "templateName": { + "description": "Template name of the box.", + "maxLength": 1024, + "minLength": 1, + "type": "string" + }, + "weight": { + "$ref": "#/definitions/Weight" + } + }, + "required": [ + "packageId" + ], + "type": "object" + }, + "BoxContent": { + "description": "Specifies contents in a box. Each `BoxContent` minimally contains a mapping of an MSKU to the prep owner, label owner and its quantity in the box. It also contains the MSKU expiration date and manufacturing lot code if applicable.", + "properties": { + "expiration": { + "description": "The date in ISO 8601 format for when the MSKU expires.", + "pattern": "^([0-9]{4})-(0[1-9]|1[0-2])-(0[1-9]|[1-2][0-9]|3[0-1])$", + "type": "string" + }, + "labelOwner": { + "$ref": "#/definitions/LabelOwner" + }, + "manufacturingLotCode": { + "description": "The manufacturing lot code.", + "maxLength": 256, + "minLength": 1, + "type": "string" + }, + "msku": { + "description": "The merchant SKU, a merchant-supplied identifier for a specific SKU.", + "maxLength": 40, + "minLength": 1, + "type": "string" + }, + "prepOwner": { + "$ref": "#/definitions/PrepOwner" + }, + "quantityInBox": { + "description": "The number of units of the given MSKU in the box.", + "maximum": 10000, + "minimum": 1, + "type": "integer" + } + }, + "required": [ + "labelOwner", + "msku", + "prepOwner", + "quantityInBox" + ], + "type": "object", + "example": { + "expiration": "2024-01-01", + "labelOwner": "AMAZON", + "manufacturingLotCode": "manufacturingLotCode", + "msku": "Sunglasses", + "prepOwner": "AMAZON", + "quantityInBox": 10 + } + }, + "BoxContentInformationSource": { + "description": "Indication of how box content is meant to be provided.", + "enum": [ + "BOX_CONTENT_PROVIDED", + "MANUAL_PROCESS", + "BARCODE_2D" + ], + "type": "string", + "x-docgen-enum-table-extension": [ + { + "value": "BOX_CONTENT_PROVIDED", + "description": "Box contents have been provided by the seller." + }, + { + "value": "MANUAL_PROCESS", + "description": "Box contents will be manually processed during receive. This service incurs charges." + }, + { + "value": "BARCODE_2D", + "description": "Box contents information is provided by a barcode on the shipment. For more information, see Using 2D barcodes for box content information on Seller Central." + } + ] + }, + "BoxInput": { + "description": "Input information for a given box.", + "properties": { + "boxId": { + "description": "The ID of the box to update that was provided by Amazon. This ID is comprised of the external shipment ID\n (which is generated after transportation has been confirmed) and the index of the box.", + "maxLength": 1024, + "minLength": 1, + "type": "string" + }, + "contentInformationSource": { + "$ref": "#/definitions/BoxContentInformationSource" + }, + "contents": { + "description": "The Contents of the box containing a list of MSKUs and their quantity. If `boxAttribute` is `BARCODE_2D` or `MANUAL_PROCESS`, user should provide ALL of the items that could be in the box, without specifying item quantities.", + "items": { + "$ref": "#/definitions/BoxContent" + }, + "type": "array" + }, + "dimensions": { + "$ref": "#/definitions/Dimensions" + }, + "quantity": { + "description": "The number of containers where all other properties like weight or dimensions are identical.", + "maximum": 10000, + "minimum": 1, + "type": "integer" + }, + "templateName": { + "description": "The seller-provided name for a 'type' of box (or a group of boxes with the same contents), which will be used to identify all created boxes of that type. When providing bulk box information, this value must be unique from the other box types. When providing individual boxes with existing IDs, this value can be shared between many boxes that have the same contents.", + "maxLength": 1024, + "minLength": 1, + "type": "string" + }, + "weight": { + "$ref": "#/definitions/Weight" + } + }, + "required": [ + "contentInformationSource", + "dimensions", + "quantity", + "templateName", + "weight" + ], + "type": "object", + "example": { + "boxId": "FBA10ABC0YY100001", + "contentInformationSource": "BOX_CONTENT_PROVIDED", + "contents": [ + { + "expiration": "2024-01-01", + "labelOwner": "AMAZON", + "manufacturingLotCode": "manufacturingLotCode", + "msku": "Sunglasses", + "prepOwner": "AMAZON", + "quantityInBox": 10 + } + ], + "dimensions": { + "height": 5, + "length": 3, + "unitOfMeasurement": "CM", + "width": 4 + }, + "quantity": 2, + "templateName": "templateName", + "weight": { + "unit": "KG", + "value": 5.5 + } + } + }, + "CancelInboundPlanResponse": { + "description": "The `cancelInboundPlan` response.", + "properties": { + "operationId": { + "description": "UUID for the given operation.", + "maxLength": 38, + "minLength": 36, + "pattern": "^[a-zA-Z0-9-]*$", + "type": "string" + } + }, + "required": [ + "operationId" + ], + "type": "object" + }, + "CancelSelfShipAppointmentRequest": { + "description": "The `cancelSelfShipAppointment` request.", + "properties": { + "reasonComment": { + "$ref": "#/definitions/ReasonComment" + } + }, + "type": "object", + "example": { + "reasonComment": "OTHER" + } + }, + "CancelSelfShipAppointmentResponse": { + "description": "The `cancelSelfShipAppointment` response.", + "properties": { + "operationId": { + "description": "UUID for the given operation.", + "maxLength": 38, + "minLength": 36, + "pattern": "^[a-zA-Z0-9-]*$", + "type": "string" + } + }, + "required": [ + "operationId" + ], + "type": "object" + }, + "Carrier": { + "description": "The carrier for the inbound shipment.", + "properties": { + "alphaCode": { + "description": "The carrier code. For example, USPS or DHLEX.", + "maxLength": 1024, + "minLength": 1, + "type": "string" + }, + "name": { + "description": "The name of the carrier.", + "maxLength": 1024, + "minLength": 1, + "type": "string" + } + }, + "type": "object" + }, + "ComplianceDetail": { + "description": "Contains item identifiers and related tax information.", + "properties": { + "asin": { + "description": "The Amazon Standard Identification Number, which identifies the detail page identifier.", + "maxLength": 10, + "minLength": 1, + "type": "string" + }, + "fnsku": { + "description": "The Fulfillment Network SKU, which identifies a real fulfillable item with catalog data and condition.", + "maxLength": 10, + "minLength": 1, + "type": "string" + }, + "msku": { + "description": "The merchant SKU, a merchant-supplied identifier for a specific SKU.", + "maxLength": 40, + "minLength": 1, + "type": "string" + }, + "taxDetails": { + "$ref": "#/definitions/TaxDetails" + } + }, + "type": "object" + }, + "ConfirmPackingOptionResponse": { + "description": "The `confirmPackingOption` response.", + "properties": { + "operationId": { + "description": "UUID for the given operation.", + "maxLength": 38, + "minLength": 36, + "pattern": "^[a-zA-Z0-9-]*$", + "type": "string" + } + }, + "required": [ + "operationId" + ], + "type": "object" + }, + "ConfirmPlacementOptionResponse": { + "description": "The `confirmPlacementOption` response.", + "properties": { + "operationId": { + "description": "UUID for the given operation.", + "maxLength": 38, + "minLength": 36, + "pattern": "^[a-zA-Z0-9-]*$", + "type": "string" + } + }, + "required": [ + "operationId" + ], + "type": "object" + }, + "ConfirmTransportationOptionsRequest": { + "description": "The `confirmTransportationOptions` request.", + "properties": { + "transportationSelections": { + "description": "Information needed to confirm one of the available transportation options.", + "items": { + "$ref": "#/definitions/TransportationSelection" + }, + "minItems": 1, + "type": "array" + } + }, + "required": [ + "transportationSelections" + ], + "type": "object", + "example": { + "transportationSelections": [ + { + "contactInformation": { + "email": "email@email.com", + "name": "John Smithy", + "phoneNumber": "1234567890" + }, + "deliveryWindow": { + "start": "2024-01-01T00:00Z" + }, + "shipmentId": "sh1234abcd-1234-abcd-5678-1234abcd5678", + "transportationOptionId": "to1234abcd-1234-abcd-5678-1234abcd5678" + } + ] + } + }, + "ConfirmTransportationOptionsResponse": { + "description": "The `confirmTransportationOptions` response.", + "properties": { + "operationId": { + "description": "UUID for the given operation.", + "maxLength": 38, + "minLength": 36, + "pattern": "^[a-zA-Z0-9-]*$", + "type": "string" + } + }, + "required": [ + "operationId" + ], + "type": "object" + }, + "ContactInformation": { + "description": "The seller's contact information.", + "properties": { + "email": { + "description": "Email address.", + "maxLength": 1024, + "minLength": 1, + "type": "string" + }, + "name": { + "description": "The name belonging to the contact. This field is required when contact information is being provided for\n Less-Than-Truckload (LTL) carrier shipments.", + "maxLength": 1024, + "minLength": 1, + "type": "string" + }, + "phoneNumber": { + "description": "The phone number of the seller.", + "maxLength": 20, + "minLength": 1, + "type": "string" + } + }, + "required": [ + "phoneNumber" + ], + "type": "object", + "example": { + "email": "email@email.com", + "phoneNumber": "1234567890" + } + }, + "CreateInboundPlanRequest": { + "description": "The `createInboundPlan` request.", + "properties": { + "contactInformation": { + "$ref": "#/definitions/ContactInformation" + }, + "destinationMarketplaces": { + "description": "Marketplaces where the items need to be shipped to. Currently only one marketplace can be selected in this request.", + "items": { + "description": "The Marketplace ID. Refer to [Marketplace IDs](https://developer-docs.amazon.com/sp-api/docs/marketplace-ids) for a list of possible values.", + "maxLength": 256, + "minLength": 1, + "type": "string" + }, + "maxItems": 1, + "minItems": 1, + "type": "array" + }, + "items": { + "description": "Items included in this plan.", + "items": { + "$ref": "#/definitions/ItemInput" + }, + "maxItems": 2000, + "minItems": 1, + "type": "array" + }, + "name": { + "description": "Name for the Inbound Plan. If one isn't provided, a default name will be provided.", + "maxLength": 40, + "minLength": 1, + "type": "string" + }, + "sourceAddress": { + "$ref": "#/definitions/Address" + } + }, + "required": [ + "contactInformation", + "destinationMarketplaces", + "items", + "sourceAddress" + ], + "type": "object", + "example": { + "contactInformation": { + "email": "email@email.com", + "phoneNumber": "1234567890" + }, + "destinationMarketplaces": [ + "ATVPDKIKX0DER" + ], + "items": [ + { + "expiration": "2024-01-01", + "labelOwner": "AMAZON", + "manufacturingLotCode": "manufacturingLotCode", + "msku": "Sunglasses", + "prepOwner": "AMAZON", + "quantity": 10 + } + ], + "name": "My inbound plan", + "sourceAddress": { + "addressLine1": "123 example street", + "addressLine2": "Floor 19", + "city": "Toronto", + "companyName": "Acme", + "countryCode": "CA", + "name": "name", + "postalCode": "M1M1M1", + "stateOrProvinceCode": "ON" + } + } + }, + "CreateInboundPlanResponse": { + "description": "The `createInboundPlan` response.", + "properties": { + "inboundPlanId": { + "description": "Identifier to an inbound plan.", + "maxLength": 38, + "minLength": 38, + "pattern": "^[a-zA-Z0-9-]*$", + "type": "string" + }, + "operationId": { + "description": "UUID for the given operation.", + "maxLength": 38, + "minLength": 36, + "pattern": "^[a-zA-Z0-9-]*$", + "type": "string" + } + }, + "required": [ + "inboundPlanId", + "operationId" + ], + "type": "object" + }, + "Currency": { + "description": "Currency definition.", + "properties": { + "amount": { + "description": "Decimal value of the currency.", + "type": "number" + }, + "code": { + "description": "ISO 4217 standard of a currency code.", + "maxLength": 3, + "minLength": 3, + "type": "string" + } + }, + "required": [ + "amount", + "code" + ], + "type": "object" + }, + "CustomPlacementInput": { + "description": "Provide units going to the warehouse.", + "properties": { + "items": { + "description": "Items included while creating Inbound Plan.", + "items": { + "$ref": "#/definitions/ItemInput" + }, + "maxItems": 2000, + "minItems": 1, + "type": "array" + }, + "warehouseId": { + "description": "Warehouse Id.", + "maxLength": 1024, + "minLength": 1, + "type": "string" + } + }, + "required": [ + "items", + "warehouseId" + ], + "type": "object", + "example": { + "items": [ + { + "expiration": "2024-01-01", + "labelOwner": "AMAZON", + "manufacturingLotCode": "manufacturingLotCode", + "msku": "Sunglasses", + "prepOwner": "AMAZON", + "quantity": 10 + } + ], + "warehouseId": "YYZ14" + } + }, + "Dates": { + "description": "Specifies the dates that the seller expects their shipment will be shipped and delivered.", + "properties": { + "deliveryWindow": { + "$ref": "#/definitions/Window" + }, + "readyToShipWindow": { + "$ref": "#/definitions/Window" + } + }, + "type": "object", + "example": { + "readyToShipWindow": { + "end": "2024-01-06T14:48:00.000Z", + "start": "2024-01-05T14:48:00.000Z" + } + } + }, + "Dimensions": { + "description": "Measurement of a package dimensions.", + "properties": { + "height": { + "description": "Height.", + "format": "double", + "maximum": 100000, + "minimum": 0, + "type": "number" + }, + "length": { + "description": "Length.", + "format": "double", + "maximum": 100000, + "minimum": 0, + "type": "number" + }, + "unitOfMeasurement": { + "$ref": "#/definitions/UnitOfMeasurement" + }, + "width": { + "description": "Width.", + "format": "double", + "maximum": 100000, + "minimum": 0, + "type": "number" + } + }, + "required": [ + "height", + "length", + "unitOfMeasurement", + "width" + ], + "type": "object" + }, + "DocumentDownload": { + "description": "Resource to download the requested document.", + "properties": { + "downloadType": { + "description": "The type of download. Can be `URL` or `PDF_BASE64`.", + "type": "string" + }, + "expiration": { + "description": "The timestamp of expiration of the URI. This is in ISO 8601 datetime format with pattern `yyyy-MM-ddTHH:mm:ss.sssZ`.", + "format": "date-time", + "type": "string" + }, + "uri": { + "description": "Uniform resource identifier to identify where the document is located.", + "type": "string" + } + }, + "required": [ + "downloadType", + "uri" + ], + "type": "object" + }, + "Error": { + "description": "Error object containing information about what went wrong.", + "properties": { + "code": { + "description": "An error code that identifies the type of error that occurred.", + "maxLength": 256, + "minLength": 1, + "type": "string" + }, + "details": { + "description": "Additional details that can help the caller understand or fix the issue.", + "maxLength": 8192, + "minLength": 0, + "type": "string" + }, + "message": { + "description": "A message that describes the error condition.", + "maxLength": 2048, + "minLength": 1, + "type": "string" + } + }, + "required": [ + "code", + "message" + ], + "type": "object", + "example": { + "code": "FBA_ERROR_001", + "details": "The shipment is in a status that does not allow it to be edited.", + "message": "Invalid Request" + } + }, + "ErrorList": { + "description": "A list of error responses returned when a request is unsuccessful.", + "properties": { + "errors": { + "description": "List of errors.", + "items": { + "$ref": "#/definitions/Error" + }, + "type": "array" + } + }, + "required": [ + "errors" + ], + "type": "object" + }, + "GeneratePackingOptionsResponse": { + "description": "The `generatePackingOptions` response.", + "properties": { + "operationId": { + "description": "UUID for the given operation.", + "maxLength": 38, + "minLength": 36, + "pattern": "^[a-zA-Z0-9-]*$", + "type": "string" + } + }, + "required": [ + "operationId" + ], + "type": "object" + }, + "GeneratePlacementOptionsRequest": { + "description": "The `generatePlacementOptions` request.", + "properties": { + "customPlacement": { + "description": "Custom placements options to be added to the plan.", + "items": { + "$ref": "#/definitions/CustomPlacementInput" + }, + "type": "array" + } + }, + "type": "object", + "example": { + "customPlacement": [ + { + "items": [ + { + "expiration": "2024-01-01", + "labelOwner": "AMAZON", + "manufacturingLotCode": "manufacturingLotCode", + "msku": "Sunglasses", + "prepOwner": "AMAZON", + "quantity": 10 + } + ], + "warehouseId": "YYZ14" + } + ] + } + }, + "GeneratePlacementOptionsResponse": { + "description": "The `generatePlacementOptions` response.", + "properties": { + "operationId": { + "description": "UUID for the given operation.", + "maxLength": 38, + "minLength": 36, + "pattern": "^[a-zA-Z0-9-]*$", + "type": "string" + } + }, + "required": [ + "operationId" + ], + "type": "object" + }, + "GenerateSelfShipAppointmentSlotsRequest": { + "description": "The `generateSelfShipAppointmentSlots` request.", + "properties": { + "desiredEndDate": { + "description": "The ISO 8601 datetime with pattern `yyyy-MM-ddTHH:mm:ss.sssZ`.", + "format": "date-time", + "type": "string" + }, + "desiredStartDate": { + "description": "The ISO 8601 datetime with pattern `yyyy-MM-ddTHH:mm:ss.sssZ`.", + "format": "date-time", + "type": "string" + } + }, + "type": "object", + "example": { + "desiredEndDate": "2024-01-06T14:48:00.000Z", + "desiredStartDate": "2024-01-05T14:48:00.000Z" + } + }, + "GenerateSelfShipAppointmentSlotsResponse": { + "description": "The `generateSelfShipAppointmentSlots` response.", + "properties": { + "operationId": { + "description": "UUID for the given operation.", + "maxLength": 38, + "minLength": 36, + "pattern": "^[a-zA-Z0-9-]*$", + "type": "string" + } + }, + "required": [ + "operationId" + ], + "type": "object" + }, + "GenerateTransportationOptionsRequest": { + "description": "The `generateTransportationOptions` request.", + "properties": { + "placementOptionId": { + "description": "The placement option to generate transportation options for.", + "maxLength": 38, + "minLength": 38, + "pattern": "^[a-zA-Z0-9-]*$", + "type": "string" + }, + "shipmentTransportationConfigurations": { + "description": "List of shipment transportation configurations.", + "items": { + "$ref": "#/definitions/ShipmentTransportationConfiguration" + }, + "type": "array" + } + }, + "required": [ + "placementOptionId", + "shipmentTransportationConfigurations" + ], + "type": "object", + "example": { + "placementOptionId": "pl1234abcd-1234-abcd-5678-1234abcd5678", + "shipmentTransportationConfigurations": [ + { + "contactInformation": { + "email": "email@email.com", + "name": "John Smithy", + "phoneNumber": "1234567890" + }, + "palletInformation": { + "declaredValue": { + "amount": 500, + "code": "USD" + }, + "freightClass": "FC_50", + "pallets": [ + { + "dimensions": { + "height": 5, + "length": 3, + "unitOfMeasurement": "CM", + "width": 4 + }, + "quantity": 2, + "stackability": "STACKABLE", + "weight": { + "unit": "KG", + "value": 5.5 + } + } + ] + }, + "readyToShipWindow": { + "start": "2024-01-01T00:00Z" + }, + "shipmentId": "sh1234abcd-1234-abcd-5678-1234abcd5678" + } + ] + } + }, + "GenerateTransportationOptionsResponse": { + "description": "The `generateTransportationOptions` response.", + "properties": { + "operationId": { + "description": "UUID for the given operation.", + "maxLength": 38, + "minLength": 36, + "pattern": "^[a-zA-Z0-9-]*$", + "type": "string" + } + }, + "required": [ + "operationId" + ], + "type": "object" + }, + "GetDeliveryChallanDocumentResponse": { + "description": "The `getDeliveryChallanDocumentResponse` response.", + "properties": { + "documentDownload": { + "$ref": "#/definitions/DocumentDownload" + } + }, + "required": [ + "documentDownload" + ], + "type": "object" + }, + "GetSelfShipAppointmentSlotsResponse": { + "description": "The `getSelfShipAppointmentSlots` response.", + "properties": { + "pagination": { + "$ref": "#/definitions/Pagination" + }, + "selfShipAppointmentSlotsAvailability": { + "$ref": "#/definitions/SelfShipAppointmentSlotsAvailability" + } + }, + "required": [ + "selfShipAppointmentSlotsAvailability" + ], + "type": "object" + }, + "InboundOperationStatus": { + "description": "The `getInboundOperationStatus` response.", + "properties": { + "operation": { + "description": "The name of the operation that was executed in the asynchronous API call.", + "maxLength": 1024, + "minLength": 1, + "type": "string" + }, + "operationId": { + "description": "The operation Id returned by the asynchronous API call.", + "maxLength": 38, + "minLength": 36, + "pattern": "^[a-zA-Z0-9-]*$", + "type": "string" + }, + "operationProblems": { + "description": "The problems in the processing of the asynchronous operation.", + "items": { + "$ref": "#/definitions/OperationProblem" + }, + "type": "array" + }, + "operationStatus": { + "$ref": "#/definitions/OperationStatus" + } + }, + "required": [ + "operation", + "operationId", + "operationProblems", + "operationStatus" + ], + "type": "object" + }, + "InboundPlan": { + "description": "Inbound plan containing details of the inbound workflow.", + "properties": { + "contactInformation": { + "$ref": "#/definitions/ContactInformation" + }, + "createdAt": { + "description": "The ISO 8601 datetime with pattern `yyyy-MM-ddTHH:mm:ss.sssZ`.", + "format": "date-time", + "type": "string" + }, + "inboundPlanId": { + "description": "Identifier to an inbound plan.", + "maxLength": 38, + "minLength": 38, + "pattern": "^[a-zA-Z0-9-]*$", + "type": "string" + }, + "lastUpdatedAt": { + "description": "The ISO 8601 datetime with pattern `yyyy-MM-ddTHH:mm:ss.sssZ`.", + "format": "date-time", + "type": "string" + }, + "marketplaceIds": { + "description": "Marketplace IDs.", + "items": { + "description": "The Marketplace ID. Refer to [Marketplace IDs](https://developer-docs.amazon.com/sp-api/docs/marketplace-ids) for a list of possible values.", + "maxLength": 256, + "minLength": 1, + "type": "string" + }, + "type": "array" + }, + "name": { + "description": "The human-readable name of the inbound plan.", + "type": "string" + }, + "packingOptions": { + "description": "Packing options for the inbound plan. This property will be populated when it has been generated via the corresponding endpoint. If there is a chosen placement option, only packing options for that placement option will be returned. If there are confirmed shipments, only packing options for those shipments will be returned. Query the packing option for more details.", + "items": { + "$ref": "#/definitions/PackingOptionSummary" + }, + "type": "array" + }, + "placementOptions": { + "description": "Placement options for the inbound plan. This property will be populated when it has been generated via the corresponding endpoint. If there is a chosen placement option, that will be the only returned option. Query the placement option for more details.", + "items": { + "$ref": "#/definitions/PlacementOptionSummary" + }, + "type": "array" + }, + "shipments": { + "description": "Shipment IDs for the inbound plan. This property will be populated when it has been generated via the corresponding endpoint. If there is a chosen placement option, only shipments for that option will be returned. If there are confirmed shipments, only those shipments will be returned. Query the shipment for more details.", + "items": { + "$ref": "#/definitions/ShipmentSummary" + }, + "type": "array" + }, + "sourceAddress": { + "$ref": "#/definitions/Address" + }, + "status": { + "description": "Current status of the inbound plan. Can be `ACTIVE`, `VOIDED`, or `SHIPPED`.", + "maxLength": 1024, + "minLength": 1, + "type": "string" + } + }, + "required": [ + "contactInformation", + "createdAt", + "inboundPlanId", + "lastUpdatedAt", + "marketplaceIds", + "name", + "sourceAddress", + "status" + ], + "type": "object", + "example": { + "contactInformation": { + "email": "email@email.com", + "phoneNumber": "1234567890" + }, + "createdAt": "2024-03-20T12:01:00Z", + "inboundPlanId": "wf1234abcd-1234-abcd-5678-1234abcd5678", + "lastUpdatedAt": "2024-03-28T13:15:30Z", + "marketplaceIds": [ + "A2EUQ1WTGCTBG2" + ], + "name": "FBA (03/20/2024, 12:01 PM)", + "packingOptions": [], + "placementOptions": [], + "shipments": [], + "sourceAddress": { + "addressLine1": "123 example street", + "addressLine2": "Floor 19", + "city": "Toronto", + "companyName": "Acme", + "countryCode": "CA", + "name": "name", + "postalCode": "M1M1M1", + "stateOrProvinceCode": "ON" + }, + "status": "ACTIVE" + } + }, + "InboundPlanSummary": { + "description": "A light-weight inbound plan.", + "properties": { + "contactInformation": { + "$ref": "#/definitions/ContactInformation" + }, + "createdAt": { + "description": "The ISO 8601 datetime with pattern `yyyy-MM-ddTHH:mm:ss.sssZ`.", + "format": "date-time", + "type": "string" + }, + "inboundPlanId": { + "description": "Identifier to an inbound plan.", + "maxLength": 38, + "minLength": 38, + "pattern": "^[a-zA-Z0-9-]*$", + "type": "string" + }, + "lastUpdatedAt": { + "description": "ISO 8601 datetime with pattern `yyyy-MM-ddTHH:mm:ss.sssZ`.", + "format": "date-time", + "type": "string" + }, + "marketplaceIds": { + "description": "Marketplace IDs.", + "items": { + "description": "The Marketplace ID. Refer to [Marketplace IDs](https://developer-docs.amazon.com/sp-api/docs/marketplace-ids) for a list of possible values.", + "maxLength": 256, + "minLength": 1, + "type": "string" + }, + "type": "array" + }, + "name": { + "description": "Human-readable name of the inbound plan.", + "type": "string" + }, + "sourceAddress": { + "$ref": "#/definitions/Address" + }, + "status": { + "description": "Current status of the inbound plan. Can be 'ACTIVE', 'VOIDED', or 'SHIPPED'.", + "maxLength": 1024, + "minLength": 1, + "type": "string" + } + }, + "required": [ + "contactInformation", + "createdAt", + "inboundPlanId", + "lastUpdatedAt", + "marketplaceIds", + "name", + "sourceAddress", + "status" + ], + "type": "object", + "example": { + "contactInformation": { + "email": "email@email.com", + "phoneNumber": "1234567890" + }, + "createdAt": "2023-03-08T13:15:30Z", + "inboundPlanId": "wf1234abcd-1234-abcd-5678-1234abcd5678", + "lastUpdatedAt": "2023-03-08T13:15:30Z", + "marketplaceIds": [ + "A2EUQ1WTGCTBG2" + ], + "name": "FBA (03/08/2023, 01:15 PM)", + "sourceAddress": { + "addressLine1": "123 example street", + "addressLine2": "Floor 19", + "city": "Toronto", + "companyName": "Acme", + "countryCode": "CA", + "name": "name", + "postalCode": "M1M1M1", + "stateOrProvinceCode": "ON" + }, + "status": "ACTIVE" + } + }, + "Incentive": { + "description": "Contains details about cost related modifications to the placement cost.", + "properties": { + "description": { + "description": "Description of the incentive.", + "maxLength": 1024, + "minLength": 1, + "type": "string" + }, + "target": { + "description": "Target of the incentive. Can be 'Placement Services' or 'Fulfillment Fee Discount'.", + "maxLength": 1024, + "minLength": 1, + "type": "string" + }, + "type": { + "description": "Type of incentive. Can be `FEE` or `DISCOUNT`.", + "maxLength": 1024, + "minLength": 1, + "type": "string" + }, + "value": { + "$ref": "#/definitions/Currency" + } + }, + "required": [ + "description", + "target", + "type", + "value" + ], + "type": "object" + }, + "Item": { + "description": "Information associated with a single SKU in the seller's catalog.", + "properties": { + "asin": { + "description": "The Amazon Standard Identification Number (ASIN) of the item.", + "maxLength": 10, + "minLength": 1, + "type": "string" + }, + "expiration": { + "description": "The expiration date of the MSKU in ISO 8601 format. The same MSKU with different expiration dates cannot go into the same box.", + "pattern": "^([0-9]{4})-(0[1-9]|1[0-2])-(0[1-9]|[1-2][0-9]|3[0-1])$", + "type": "string" + }, + "fnsku": { + "description": "A unique identifier assigned by Amazon to products stored in and fulfilled from an Amazon fulfillment center.", + "maxLength": 10, + "minLength": 1, + "type": "string" + }, + "labelOwner": { + "description": "Specifies who will label the items. Options include `AMAZON` and `SELLER`.", + "maxLength": 1024, + "minLength": 1, + "type": "string" + }, + "manufacturingLotCode": { + "description": "The manufacturing lot code.", + "maxLength": 256, + "minLength": 1, + "type": "string" + }, + "msku": { + "description": "The merchant defined SKU ID.", + "maxLength": 40, + "minLength": 1, + "type": "string" + }, + "prepInstructions": { + "description": "Special preparations that are required for an item.", + "items": { + "$ref": "#/definitions/PrepInstruction" + }, + "type": "array" + }, + "quantity": { + "description": "The number of the specified MSKU.", + "maximum": 10000, + "minimum": 1, + "type": "integer" + } + }, + "required": [ + "asin", + "fnsku", + "labelOwner", + "msku", + "prepInstructions", + "quantity" + ], + "type": "object" + }, + "ItemInput": { + "description": "Defines an item's input parameters.", + "properties": { + "expiration": { + "description": "The expiration date of the MSKU in ISO 8601 format. The same MSKU with different expiration dates cannot go into the same box.", + "pattern": "^([0-9]{4})-(0[1-9]|1[0-2])-(0[1-9]|[1-2][0-9]|3[0-1])$", + "type": "string" + }, + "labelOwner": { + "$ref": "#/definitions/LabelOwner" + }, + "manufacturingLotCode": { + "description": "The manufacturing lot code.", + "maxLength": 256, + "minLength": 1, + "type": "string" + }, + "msku": { + "description": "The merchant SKU.", + "maxLength": 40, + "minLength": 1, + "type": "string" + }, + "prepOwner": { + "$ref": "#/definitions/PrepOwner" + }, + "quantity": { + "description": "The number of units of the specified MSKU that will be shipped.", + "maximum": 10000, + "minimum": 1, + "type": "integer" + } + }, + "required": [ + "labelOwner", + "msku", + "prepOwner", + "quantity" + ], + "type": "object", + "example": { + "expiration": "2024-01-01", + "labelOwner": "AMAZON", + "manufacturingLotCode": "manufacturingLotCode", + "msku": "Sunglasses", + "prepOwner": "AMAZON", + "quantity": 10 + } + }, + "LabelOwner": { + "description": "Specifies who will label the items. Options include `AMAZON` and `SELLER`.", + "enum": [ + "AMAZON", + "SELLER" + ], + "type": "string", + "x-docgen-enum-table-extension": [ + { + "value": "AMAZON", + "description": "-" + }, + { + "value": "SELLER", + "description": "-" + } + ] + }, + "ListInboundPlanBoxesResponse": { + "description": "`listInboundPlanBoxes` response.", + "properties": { + "boxes": { + "description": "A list of boxes in an inbound plan.", + "items": { + "$ref": "#/definitions/Box" + }, + "type": "array" + }, + "pagination": { + "$ref": "#/definitions/Pagination" + } + }, + "required": [ + "boxes" + ], + "type": "object" + }, + "ListInboundPlanItemsResponse": { + "description": "`listInboundPlanItems` response.", + "properties": { + "items": { + "description": "The items in an inbound plan.", + "items": { + "$ref": "#/definitions/Item" + }, + "type": "array" + }, + "pagination": { + "$ref": "#/definitions/Pagination" + } + }, + "required": [ + "items" + ], + "type": "object" + }, + "ListInboundPlanPalletsResponse": { + "description": "`listInboundPlanPallets` response.", + "properties": { + "pagination": { + "$ref": "#/definitions/Pagination" + }, + "pallets": { + "description": "The pallets in an inbound plan.", + "items": { + "$ref": "#/definitions/Pallet" + }, + "type": "array" + } + }, + "required": [ + "pallets" + ], + "type": "object" + }, + "ListInboundPlansResponse": { + "description": "`listInboundPlans` response.", + "properties": { + "inboundPlans": { + "description": "A list of inbound plans with minimal information.", + "items": { + "$ref": "#/definitions/InboundPlanSummary" + }, + "type": "array" + }, + "pagination": { + "$ref": "#/definitions/Pagination" + } + }, + "type": "object" + }, + "ListItemComplianceDetailsResponse": { + "description": "`listItemComplianceDetails` response.", + "properties": { + "complianceDetails": { + "description": "List of compliance details.", + "items": { + "$ref": "#/definitions/ComplianceDetail" + }, + "type": "array" + } + }, + "type": "object" + }, + "ListPackingGroupItemsResponse": { + "description": "`listPackingGroupItems` response.", + "properties": { + "items": { + "description": "Provides the information about the list of items in the inbound plan.", + "items": { + "$ref": "#/definitions/Item" + }, + "type": "array" + }, + "pagination": { + "$ref": "#/definitions/Pagination" + } + }, + "required": [ + "items" + ], + "type": "object" + }, + "ListPackingOptionsResponse": { + "description": "`listPackingOptions` response.", + "properties": { + "packingOptions": { + "description": "List of packing options.", + "items": { + "$ref": "#/definitions/PackingOption" + }, + "type": "array" + }, + "pagination": { + "$ref": "#/definitions/Pagination" + } + }, + "required": [ + "packingOptions" + ], + "type": "object" + }, + "ListPlacementOptionsResponse": { + "description": "`listPlacementOptions` response.", + "properties": { + "pagination": { + "$ref": "#/definitions/Pagination" + }, + "placementOptions": { + "description": "Placement options generated for the inbound plan.", + "items": { + "$ref": "#/definitions/PlacementOption" + }, + "type": "array" + } + }, + "required": [ + "placementOptions" + ], + "type": "object" + }, + "ListTransportationOptionsResponse": { + "description": "`listTransportationOptions` response.", + "properties": { + "pagination": { + "$ref": "#/definitions/Pagination" + }, + "transportationOptions": { + "description": "Transportation options generated for the placement option.", + "items": { + "$ref": "#/definitions/TransportationOption" + }, + "type": "array" + } + }, + "required": [ + "transportationOptions" + ], + "type": "object" + }, + "LtlTrackingDetail": { + "description": "Contains information related to Less-Than-Truckload (LTL) shipment tracking.", + "properties": { + "billOfLadingNumber": { + "description": "The number of the carrier shipment acknowledgement document.", + "maxLength": 1024, + "minLength": 1, + "type": "string" + }, + "freightBillNumber": { + "description": "The number associated with the freight bill.", + "items": { + "maxLength": 1024, + "minLength": 1, + "pattern": "^[a-zA-Z0-9-._\\s]*$", + "type": "string" + }, + "type": "array" + } + }, + "type": "object" + }, + "LtlTrackingDetailInput": { + "description": "Contains input information to update Less-Than-Truckload (LTL) tracking information.", + "properties": { + "billOfLadingNumber": { + "description": "The number of the carrier shipment acknowledgement document.", + "maxLength": 1024, + "minLength": 1, + "type": "string" + }, + "freightBillNumber": { + "description": "Number associated with the freight bill.", + "items": { + "maxLength": 1024, + "minLength": 1, + "pattern": "^[a-zA-Z0-9-._\\s]*$", + "type": "string" + }, + "maxItems": 1, + "minItems": 1, + "type": "array" + } + }, + "required": [ + "freightBillNumber" + ], + "type": "object", + "example": { + "billOfLadingNumber": "billOfLadingNumber", + "freightBillNumber": [ + "freightBillNumber1" + ] + } + }, + "OperationProblem": { + "description": "A problem with additional properties persisted to an operation.", + "properties": { + "code": { + "description": "An error code that identifies the type of error that occurred.", + "maxLength": 256, + "minLength": 1, + "type": "string" + }, + "details": { + "description": "Additional details that can help the caller understand or fix the issue.", + "maxLength": 8192, + "minLength": 0, + "type": "string" + }, + "message": { + "description": "A message that describes the error condition.", + "maxLength": 2048, + "minLength": 1, + "type": "string" + }, + "severity": { + "description": "The severity of the problem. Can be 'WARNING', or 'ERROR'.", + "maxLength": 1024, + "minLength": 1, + "type": "string" + } + }, + "required": [ + "code", + "message", + "severity" + ], + "type": "object" + }, + "OperationStatus": { + "description": "The status of an operation.", + "enum": [ + "SUCCESS", + "FAILED", + "IN_PROGRESS" + ], + "type": "string", + "x-docgen-enum-table-extension": [ + { + "value": "SUCCESS", + "description": "Indicates a request has successfully finished processing." + }, + { + "value": "FAILED", + "description": "Indicates a request has finished processing but is in a failed state." + }, + { + "value": "IN_PROGRESS", + "description": "Indicates a request is still processing." + } + ] + }, + "PackageGroupingInput": { + "description": "Packing information for the inbound plan.", + "properties": { + "boxes": { + "description": "Box level information being provided.", + "items": { + "$ref": "#/definitions/BoxInput" + }, + "maxItems": 5000, + "minItems": 1, + "type": "array" + }, + "packingGroupId": { + "description": "The ID of the `packingGroup` that packages are grouped according to. The `PackingGroupId` can only be provided before placement confirmation, and it must belong to the confirmed `PackingOption`. One of `ShipmentId` or `PackingGroupId` must be provided with every request.", + "maxLength": 38, + "minLength": 38, + "pattern": "^[a-zA-Z0-9-]*$", + "type": "string" + }, + "shipmentId": { + "description": "The ID of the shipment that packages are grouped according to. The `ShipmentId` can only be provided after placement confirmation, and the shipment must belong to the confirmed placement option. One of `ShipmentId` or `PackingGroupId` must be provided with every request.", + "maxLength": 38, + "minLength": 38, + "pattern": "^[a-zA-Z0-9-]*$", + "type": "string" + } + }, + "required": [ + "boxes" + ], + "type": "object", + "example": { + "boxes": [ + { + "boxId": "boxId", + "contentInformationSource": "BOX_CONTENT_PROVIDED", + "contents": [ + { + "expiration": "2024-01-01", + "labelOwner": "AMAZON", + "manufacturingLotCode": "manufacturingLotCode", + "msku": "Sunglasses", + "prepOwner": "AMAZON", + "quantityInBox": 10 + } + ], + "dimensions": { + "height": 5, + "length": 3, + "unitOfMeasurement": "CM", + "width": 4 + }, + "quantity": 2, + "templateName": "templateName", + "weight": { + "unit": "KG", + "value": 5.5 + } + } + ], + "packingGroupId": "pg1234abcd-1234-abcd-5678-1234abcd5678", + "shipmentId": "sh1234abcd-1234-abcd-5678-1234abcd5678" + } + }, + "PackingOption": { + "description": "A packing option contains a set of pack groups plus additional information about the packing option, such as any discounts or fees if it's selected.", + "properties": { + "discounts": { + "description": "Discount for the offered option.", + "items": { + "$ref": "#/definitions/Incentive" + }, + "type": "array" + }, + "expiration": { + "description": "The timestamp at which this packing option becomes no longer valid. This is in ISO 8601 datetime format with pattern `yyyy-MM-ddTHH:mm:ss.sssZ`.", + "format": "date-time", + "type": "string" + }, + "fees": { + "description": "Fee for the offered option.", + "items": { + "$ref": "#/definitions/Incentive" + }, + "type": "array" + }, + "inboundPlanId": { + "description": "Identifier to an inbound plan.", + "maxLength": 38, + "minLength": 38, + "pattern": "^[a-zA-Z0-9-]*$", + "type": "string" + }, + "packingGroups": { + "description": "Packing group IDs.", + "items": { + "description": "Identifier to a packing group.", + "maxLength": 38, + "minLength": 38, + "pattern": "^[a-zA-Z0-9-]*$", + "type": "string" + }, + "type": "array" + }, + "packingOptionId": { + "description": "Identifier to a packing option.", + "maxLength": 38, + "minLength": 38, + "pattern": "^[a-zA-Z0-9-]*$", + "type": "string" + }, + "status": { + "description": "The status of the packing option. Can be `OFFERED`, `ACCEPTED`, or `EXPIRED`.", + "maxLength": 1024, + "minLength": 1, + "type": "string" + }, + "supportedShippingConfigurations": { + "description": "List of supported shipping modes.", + "items": { + "$ref": "#/definitions/ShippingConfiguration" + }, + "type": "array" + } + }, + "required": [ + "discounts", + "fees", + "inboundPlanId", + "packingGroups", + "packingOptionId", + "status", + "supportedShippingConfigurations" + ], + "type": "object" + }, + "PackingOptionSummary": { + "description": "Summary information about a packing option.", + "properties": { + "packingOptionId": { + "description": "Identifier to a packing option.", + "maxLength": 38, + "minLength": 38, + "pattern": "^[a-zA-Z0-9-]*$", + "type": "string" + }, + "status": { + "description": "The status of a packing option. Can be 'OFFERED', 'ACCEPTED', or 'EXPIRED'.", + "maxLength": 1024, + "minLength": 1, + "type": "string" + } + }, + "required": [ + "packingOptionId", + "status" + ], + "type": "object", + "example": { + "packingOptionId": "po1234abcd-1234-abcd-5678-1234abcd5678", + "status": "OFFERED" + } + }, + "Pagination": { + "description": "Contains tokens to fetch from a certain page.", + "properties": { + "nextToken": { + "description": "When present, pass this string token in the next request to return the next response page.", + "maxLength": 1024, + "minLength": 1, + "type": "string" + } + }, + "type": "object" + }, + "Pallet": { + "description": "Contains information about a pallet that is used in the inbound plan. The pallet is a container that holds multiple items or boxes.", + "properties": { + "dimensions": { + "$ref": "#/definitions/Dimensions" + }, + "packageId": { + "description": "Primary key to uniquely identify a Package (Box or Pallet).", + "maxLength": 38, + "minLength": 38, + "pattern": "^[a-zA-Z0-9-]*$", + "type": "string" + }, + "quantity": { + "description": "The number of containers where all other properties like weight or dimensions are identical.", + "maximum": 10000, + "minimum": 1, + "type": "integer" + }, + "stackability": { + "$ref": "#/definitions/Stackability" + }, + "weight": { + "$ref": "#/definitions/Weight" + } + }, + "required": [ + "packageId" + ], + "type": "object" + }, + "PalletInformation": { + "description": "Pallet information, including weight, dimensions, quantity, stackability, freight class, and declared value.", + "properties": { + "declaredValue": { + "$ref": "#/definitions/Currency" + }, + "freightClass": { + "description": "Freight class. Can be `NONE`, `FC_50`, `FC_55`, `FC_60`, `FC_65`, `FC_70`, `FC_77_5`, `FC_85`, `FC_92_5`, `FC_100`, `FC_110`, `FC_125`, `FC_150`, `FC_175`, `FC_200`, `FC_250`, `FC_300`, `FC_400`, or `FC_500`.", + "maxLength": 1024, + "minLength": 1, + "type": "string" + }, + "pallets": { + "description": "Set pallet configuration for Less-Than-Truckload (LTL).", + "items": { + "$ref": "#/definitions/PalletInput" + }, + "type": "array" + } + }, + "required": [ + "pallets" + ], + "type": "object" + }, + "PalletInput": { + "description": "Set pallet configuration for Less-Than-Truckload (LTL).", + "properties": { + "dimensions": { + "$ref": "#/definitions/Dimensions" + }, + "quantity": { + "description": "The number of containers where all other properties like weight or dimensions are identical.", + "maximum": 10000, + "minimum": 1, + "type": "integer" + }, + "stackability": { + "$ref": "#/definitions/Stackability" + }, + "weight": { + "$ref": "#/definitions/Weight" + } + }, + "required": [ + "quantity" + ], + "type": "object" + }, + "PlacementOption": { + "description": "Contains information pertaining to the placement of the contents of an inbound plan and the related costs.", + "properties": { + "discounts": { + "description": "Discount for the offered option.", + "items": { + "$ref": "#/definitions/Incentive" + }, + "type": "array" + }, + "expiration": { + "description": "The expiration date of the placement option. This is in ISO 8601 datetime format with pattern `yyyy-MM-ddTHH:mm:ss.sssZ`.", + "format": "date-time", + "type": "string" + }, + "fees": { + "description": "Fee for the offered option.", + "items": { + "$ref": "#/definitions/Incentive" + }, + "type": "array" + }, + "placementOptionId": { + "description": "Identifier to a placement option. A placement option represents the shipment splits and destinations of SKUs.", + "maxLength": 38, + "minLength": 38, + "pattern": "^[a-zA-Z0-9-]*$", + "type": "string" + }, + "shipmentIds": { + "description": "Shipment ids.", + "items": { + "description": "Identifier to a shipment. A shipment contains the boxes and units being inbounded.", + "maxLength": 38, + "minLength": 38, + "pattern": "^[a-zA-Z0-9-]*$", + "type": "string" + }, + "type": "array" + }, + "status": { + "description": "The status of a placement option. Can be `OFFERED`, `ACCEPTED`, or `EXPIRED`.", + "maxLength": 1024, + "minLength": 1, + "type": "string" + } + }, + "required": [ + "discounts", + "fees", + "placementOptionId", + "shipmentIds", + "status" + ], + "type": "object" + }, + "PlacementOptionSummary": { + "description": "Summary information about a placement option.", + "properties": { + "placementOptionId": { + "description": "Identifier to a placement option. A placement option represents the shipment splits and destinations of SKUs.", + "maxLength": 38, + "minLength": 38, + "pattern": "^[a-zA-Z0-9-]*$", + "type": "string" + }, + "status": { + "description": "The status of a placement option. Can be `OFFERED` or `ACCEPTED`.", + "maxLength": 1024, + "minLength": 1, + "type": "string" + } + }, + "required": [ + "placementOptionId", + "status" + ], + "type": "object", + "example": { + "placementOptionId": "pl1234abcd-1234-abcd-5678-1234abcd5678", + "status": "ACCEPTED" + } + }, + "PrepInstruction": { + "description": "Information pertaining to the preparation of inbound goods.", + "properties": { + "fee": { + "$ref": "#/definitions/Currency" + }, + "prepOwner": { + "description": "In some situations, special preparations are required for items and this field reflects the owner of the\n preparations. Options include `AMAZON` or `SELLER`.", + "maxLength": 1024, + "minLength": 1, + "type": "string" + }, + "prepType": { + "description": "Type of preparation that should be done. Can be `ITEM_LABELING`, `ITEM_BUBBLEWRAP`, `ITEM_POLYBAGGING`, `ITEM_TAPING`, `ITEM_BLACK_SHRINKWRAP`, `ITEM_HANG_GARMENT`, `ITEM_BOXING`, `ITEM_SETCREAT`, `ITEM_RMOVHANG`, `ITEM_SUFFOSTK`, `ITEM_CAP_SEALING`, `ITEM_DEBUNDLE`, `ITEM_SETSTK`, `ITEM_SIOC`, `ITEM_NO_PREP`, `ADULT`, `BABY`, `TEXTILE`, `HANGER`, `FRAGILE`, `LIQUID`, `SHARP`, `SMALL`, `PERFORATED`, `GRANULAR`, `SET`, `FC_PROVIDED`, `UNKNOWN`, or `NONE`.", + "maxLength": 1024, + "minLength": 1, + "type": "string" + } + }, + "type": "object" + }, + "PrepOwner": { + "description": "In some situations, special preparations are required for items and this field reflects the owner of the preparations. Options include `AMAZON` or `SELLER`.", + "enum": [ + "AMAZON", + "SELLER" + ], + "type": "string", + "x-docgen-enum-table-extension": [ + { + "value": "AMAZON", + "description": "-" + }, + { + "value": "SELLER", + "description": "-" + } + ] + }, + "Quote": { + "description": "The estimated shipping cost associated with the transportation option.", + "properties": { + "cost": { + "$ref": "#/definitions/Currency" + }, + "expiration": { + "description": "The timestamp at which this transportation option quote becomes no longer valid. This is in ISO 8601 datetime format with pattern `yyyy-MM-ddTHH:mm:ss.sssZ`.", + "format": "date-time", + "type": "string" + }, + "voidableUntil": { + "description": "Voidable until timestamp.", + "format": "date-time", + "type": "string" + } + }, + "required": [ + "cost" + ], + "type": "object" + }, + "ReasonComment": { + "description": "Reason for cancelling or rescheduling a self-ship appointment.", + "enum": [ + "APPOINTMENT_REQUESTED_BY_MISTAKE", + "VEHICLE_DELAY", + "SLOT_NOT_SUITABLE", + "OUTSIDE_CARRIER_BUSINESS_HOURS", + "UNFAVOURABLE_EXTERNAL_CONDITIONS", + "PROCUREMENT_DELAY", + "SHIPPING_PLAN_CHANGED", + "INCREASED_QUANTITY", + "OTHER" + ], + "type": "string", + "x-docgen-enum-table-extension": [ + { + "value": "APPOINTMENT_REQUESTED_BY_MISTAKE", + "description": "-" + }, + { + "value": "VEHICLE_DELAY", + "description": "-" + }, + { + "value": "SLOT_NOT_SUITABLE", + "description": "-" + }, + { + "value": "OUTSIDE_CARRIER_BUSINESS_HOURS", + "description": "-" + }, + { + "value": "UNFAVOURABLE_EXTERNAL_CONDITIONS", + "description": "-" + }, + { + "value": "PROCUREMENT_DELAY", + "description": "-" + }, + { + "value": "SHIPPING_PLAN_CHANGED", + "description": "-" + }, + { + "value": "INCREASED_QUANTITY", + "description": "-" + }, + { + "value": "OTHER", + "description": "-" + } + ] + }, + "Region": { + "description": "Representation of a location used within the inbounding experience.", + "properties": { + "countryCode": { + "description": "ISO 3166 standard alpha-2 country code.", + "maxLength": 1024, + "minLength": 1, + "type": "string" + }, + "state": { + "description": "State.", + "maxLength": 1024, + "minLength": 1, + "type": "string" + }, + "warehouseId": { + "description": "An identifier for a warehouse, such as a FC, IXD, upstream storage.", + "maxLength": 1024, + "minLength": 1, + "type": "string" + } + }, + "type": "object" + }, + "ScheduleSelfShipAppointmentRequest": { + "description": "`scheduleSelfShipAppointment` request.", + "properties": { + "reasonComment": { + "$ref": "#/definitions/ReasonComment" + } + }, + "type": "object", + "example": { + "reasonComment": "OTHER" + } + }, + "ScheduleSelfShipAppointmentResponse": { + "description": "`scheduleSelfShipAppointment` response.", + "properties": { + "selfShipAppointmentDetails": { + "$ref": "#/definitions/SelfShipAppointmentDetails" + } + }, + "required": [ + "selfShipAppointmentDetails" + ], + "type": "object", + "example": { + "selfShipAppointmentDetails": { + "appointmentId": 1000, + "appointmentSlotTime": { + "endTime": "2023-03-09T13:15:30Z", + "startTime": "2023-03-08T13:15:30Z" + }, + "appointmentStatus": "ARRIVAL_SCHEDULED" + } + } + }, + "SelfShipAppointmentDetails": { + "description": "Appointment details for carrier pickup or fulfillment center appointments.", + "properties": { + "appointmentId": { + "description": "Identifier for appointment.", + "type": "number" + }, + "appointmentSlotTime": { + "$ref": "#/definitions/AppointmentSlotTime" + }, + "appointmentStatus": { + "description": "Status of the appointment.", + "maxLength": 1024, + "minLength": 1, + "type": "string" + } + }, + "type": "object" + }, + "SelfShipAppointmentSlotsAvailability": { + "description": "The self ship appointment time slots availability and an expiration date for which the slots can be scheduled.", + "properties": { + "expiresAt": { + "description": "ISO 8601 datetime with pattern `yyyy-MM-ddTHH:mm:ss.sssZ`.", + "format": "date-time", + "type": "string" + }, + "slots": { + "description": "List of appointment slots.", + "items": { + "$ref": "#/definitions/AppointmentSlot" + }, + "type": "array" + } + }, + "type": "object" + }, + "SetPackingInformationRequest": { + "description": "`setPackingInformation` request.", + "properties": { + "packageGroupings": { + "description": "List of packing information for the inbound plan.", + "items": { + "$ref": "#/definitions/PackageGroupingInput" + }, + "type": "array" + } + }, + "type": "object", + "example": { + "packageGroupings": [ + { + "boxes": [ + { + "boxId": "boxId", + "contentInformationSource": "BOX_CONTENT_PROVIDED", + "contents": [ + { + "expiration": "2024-01-01", + "labelOwner": "AMAZON", + "manufacturingLotCode": "manufacturingLotCode", + "msku": "Sunglasses", + "prepOwner": "AMAZON", + "quantityInBox": 10 + } + ], + "dimensions": { + "height": 5, + "length": 3, + "unitOfMeasurement": "CM", + "width": 4 + }, + "quantity": 2, + "templateName": "templateName", + "weight": { + "unit": "KG", + "value": 5.5 + } + } + ], + "packingGroupId": "pg1234abcd-1234-abcd-5678-1234abcd5678", + "shipmentId": "sh1234abcd-1234-abcd-5678-1234abcd5678" + } + ] + } + }, + "SetPackingInformationResponse": { + "description": "`setPackingInformation` response.", + "properties": { + "operationId": { + "description": "UUID for the given operation.", + "maxLength": 38, + "minLength": 36, + "pattern": "^[a-zA-Z0-9-]*$", + "type": "string" + } + }, + "required": [ + "operationId" + ], + "type": "object" + }, + "Shipment": { + "description": "Contains information pertaining to a shipment in an inbound plan.", + "properties": { + "amazonReferenceId": { + "description": "A unique identifier created by Amazon that identifies this Amazon-partnered, Less Than Truckload/Full Truckload (LTL/FTL) shipment.", + "maxLength": 1024, + "minLength": 1, + "type": "string" + }, + "contactInformation": { + "$ref": "#/definitions/ContactInformation" + }, + "dates": { + "$ref": "#/definitions/Dates" + }, + "destination": { + "$ref": "#/definitions/ShipmentDestination" + }, + "inboundPlanId": { + "description": "Identifier to an inbound plan.", + "maxLength": 38, + "minLength": 38, + "pattern": "^[a-zA-Z0-9-]*$", + "type": "string" + }, + "name": { + "description": "The name of the shipment.", + "type": "string" + }, + "palletInformation": { + "$ref": "#/definitions/PalletInformation" + }, + "placementOptionId": { + "description": "Identifier to a placement option. A placement option represents the shipment splits and destinations of SKUs.", + "maxLength": 38, + "minLength": 38, + "pattern": "^[a-zA-Z0-9-]*$", + "type": "string" + }, + "selectedTransportationOptionId": { + "description": "Identifier to a transportation option. A transportation option represent one option for how to send a shipment.", + "maxLength": 38, + "minLength": 38, + "pattern": "^[a-zA-Z0-9-]*$", + "type": "string" + }, + "selfShipAppointmentDetails": { + "description": "List of self ship appointment details.", + "items": { + "$ref": "#/definitions/SelfShipAppointmentDetails" + }, + "type": "array" + }, + "shipmentConfirmationId": { + "description": "The confirmed shipment ID which shows up on labels (for example, FBA1234ABCD).", + "maxLength": 1024, + "minLength": 1, + "type": "string" + }, + "shipmentId": { + "description": "Identifier to a shipment. A shipment contains the boxes and units being inbounded.", + "maxLength": 38, + "minLength": 38, + "pattern": "^[a-zA-Z0-9-]*$", + "type": "string" + }, + "source": { + "$ref": "#/definitions/ShipmentSource" + }, + "status": { + "description": "The status of a shipment. The state of the shipment will typically start in `WORKING` and transition to `READY_TO_SHIP` once required actions are complete prior to being picked up or shipped out. Can be `ABANDONED`, `CANCELLED`, `CHECKED_IN`, `CLOSED`, `DELETED`, `DELIVERED`, `IN_TRANSIT`, `MIXED`, `READY_TO_SHIP`, `RECEIVING`, `SHIPPED`, or `WORKING`.", + "maxLength": 1024, + "minLength": 1, + "type": "string" + }, + "trackingDetails": { + "$ref": "#/definitions/TrackingDetails" + } + }, + "required": [ + "destination", + "inboundPlanId", + "placementOptionId", + "shipmentId", + "source" + ], + "type": "object" + }, + "ShipmentDestination": { + "description": "The Amazon fulfillment center address and warehouse ID.", + "properties": { + "address": { + "$ref": "#/definitions/Address", + "description": "The address the shipment should be sent to. Empty if the destination type is `AMAZON_OPTIMIZED`." + }, + "destinationType": { + "description": "The type of destination for this shipment. Can be `AMAZON_OPTIMIZED`, or `AMAZON_WAREHOUSE`.", + "maxLength": 1024, + "minLength": 1, + "type": "string" + }, + "warehouseId": { + "description": "The warehouse that the shipment should be sent to. Empty if the destination type is `AMAZON_OPTIMIZED`.", + "maxLength": 1024, + "minLength": 1, + "type": "string" + } + }, + "required": [ + "destinationType" + ], + "type": "object" + }, + "ShipmentSource": { + "description": "Specifies the 'ship from' address for the shipment.", + "properties": { + "address": { + "$ref": "#/definitions/Address" + }, + "sourceType": { + "description": "The type of source for this shipment. Can be `SELLER_FACILITY`.", + "maxLength": 1024, + "minLength": 1, + "type": "string" + } + }, + "required": [ + "sourceType" + ], + "type": "object" + }, + "ShipmentSummary": { + "description": "Summary information about a shipment.", + "properties": { + "shipmentId": { + "description": "Identifier to a shipment. A shipment contains the boxes and units being inbounded.", + "maxLength": 38, + "minLength": 38, + "pattern": "^[a-zA-Z0-9-]*$", + "type": "string" + }, + "status": { + "description": "The status of a shipment. The state of the shipment will typically start in `WORKING` and transition to `READY_TO_SHIP` once required actions are complete prior to being picked up or shipped out. Can be `ABANDONED`, `CANCELLED`, `CHECKED_IN`, `CLOSED`, `DELETED`, `DELIVERED`, `IN_TRANSIT`, `MIXED`, `READY_TO_SHIP`, `RECEIVING`, `SHIPPED`, or `WORKING`.", + "maxLength": 1024, + "minLength": 1, + "type": "string" + } + }, + "required": [ + "shipmentId", + "status" + ], + "type": "object", + "example": { + "shipmentId": "sh1234abcd-1234-abcd-5678-1234abcd5678", + "status": "SHIPPED" + } + }, + "ShipmentTransportationConfiguration": { + "description": "Details needed to generate the transportation options.", + "properties": { + "contactInformation": { + "$ref": "#/definitions/ContactInformation" + }, + "palletInformation": { + "$ref": "#/definitions/PalletInformation" + }, + "readyToShipWindow": { + "$ref": "#/definitions/WindowInput", + "description": "The range of dates within which the seller intends to ship their items. This is the pick-up date or \u201cready to ship\u201d date, not an estimated delivery date.\n" + }, + "shipmentId": { + "description": "Identifier to a shipment. A shipment contains the boxes and units being inbounded.", + "maxLength": 38, + "minLength": 38, + "pattern": "^[a-zA-Z0-9-]*$", + "type": "string" + } + }, + "required": [ + "readyToShipWindow", + "shipmentId" + ], + "type": "object" + }, + "ShippingConfiguration": { + "description": "The shipping configurations supported for the packing option. Available modes are ground small parcel, freight less-than-truckload (LTL), freight full-truckload (FTL) palletized, freight FTL non-palletized, ocean less-than-container-load (LCL), ocean full-container load (FCL), air small parcel, and air small parcel express.", + "properties": { + "shippingMode": { + "description": "Mode of shipment transportation that this option will provide. Can be `GROUND_SMALL_PARCEL`, `FREIGHT_LTL`, `FREIGHT_FTL_PALLET`, `FREIGHT_FTL_NONPALLET`, `OCEAN_LCL`, `OCEAN_FCL`, `AIR_SMALL_PARCEL`, or `AIR_SMALL_PARCEL_EXPRESS`.", + "maxLength": 1024, + "minLength": 1, + "type": "string" + }, + "shippingSolution": { + "description": "Shipping program for the option. Can be `AMAZON_PARTNERED_CARRIER` or `USE_YOUR_OWN_CARRIER`.", + "maxLength": 1024, + "minLength": 1, + "type": "string" + } + }, + "type": "object" + }, + "SpdTrackingDetail": { + "description": "Contains information related to Small Parcel Delivery (SPD) shipment tracking.", + "properties": { + "spdTrackingItems": { + "description": "List of Small Parcel Delivery (SPD) tracking items.", + "items": { + "$ref": "#/definitions/SpdTrackingItem" + }, + "type": "array" + } + }, + "type": "object" + }, + "SpdTrackingDetailInput": { + "description": "Contains input information to update Small Parcel Delivery (SPD) tracking information.", + "properties": { + "spdTrackingItems": { + "description": "List of Small Parcel Delivery (SPD) tracking items input.", + "items": { + "$ref": "#/definitions/SpdTrackingItemInput" + }, + "type": "array" + } + }, + "required": [ + "spdTrackingItems" + ], + "type": "object", + "example": { + "spdTrackingItems": [ + { + "boxId": "FBA10ABC0YY100001", + "trackingId": "FBA10002000" + } + ] + } + }, + "SpdTrackingItem": { + "description": "Contains information used to track and identify a Small Parcel Delivery (SPD) item.", + "properties": { + "boxId": { + "description": "The ID provided by Amazon that identifies a given box. This ID is comprised of the external shipment ID (which\n is generated after transportation has been confirmed) and the index of the box.", + "maxLength": 1024, + "minLength": 1, + "type": "string" + }, + "trackingId": { + "description": "The tracking ID associated with each box in a non-Amazon partnered Small Parcel Delivery (SPD) shipment.", + "maxLength": 1024, + "minLength": 1, + "type": "string" + }, + "trackingNumberValidationStatus": { + "description": "Whether or not Amazon has validated the tracking number. If more than 24 hours have passed and the status is\n not yet 'VALIDATED', please verify the number and update if necessary. Can be `VALIDATED` or `NOT_VALIDATED`.", + "maxLength": 1024, + "minLength": 1, + "type": "string" + } + }, + "type": "object" + }, + "SpdTrackingItemInput": { + "description": "Small Parcel Delivery (SPD) tracking items input information.", + "properties": { + "boxId": { + "description": "The ID provided by Amazon that identifies a given box. This ID is comprised of the external shipment ID (which\n is generated after transportation has been confirmed) and the index of the box.", + "maxLength": 1024, + "minLength": 1, + "type": "string" + }, + "trackingId": { + "description": "The tracking Id associated with each box in a non-Amazon partnered Small Parcel Delivery (SPD) shipment. The seller must provide this information. ", + "maxLength": 1024, + "minLength": 1, + "type": "string" + } + }, + "required": [ + "boxId", + "trackingId" + ], + "type": "object", + "example": { + "boxId": "FBA10ABC0YY100001", + "trackingId": "FBA10002000" + } + }, + "Stackability": { + "description": "Indicates whether pallets will be stacked when carrier arrives for pick-up.", + "enum": [ + "STACKABLE", + "NON_STACKABLE" + ], + "type": "string", + "x-docgen-enum-table-extension": [ + { + "value": "STACKABLE", + "description": "A pallet that can be stacked on top of another pallet." + }, + { + "value": "NON_STACKABLE", + "description": "A pallet that cannot be stacked on top of another pallet." + } + ] + }, + "TaxDetails": { + "description": "Information used to determine the tax compliance.", + "properties": { + "declaredValue": { + "$ref": "#/definitions/Currency" + }, + "hsnCode": { + "description": "Harmonized System of Nomenclature code.", + "maxLength": 1024, + "minLength": 1, + "type": "string" + }, + "taxRates": { + "description": "List of tax rates.", + "items": { + "$ref": "#/definitions/TaxRate" + }, + "type": "array" + } + }, + "type": "object" + }, + "TaxRate": { + "description": "Contains the type and rate of tax.", + "properties": { + "cessRate": { + "description": "Rate of cess tax.", + "format": "double", + "type": "number" + }, + "gstRate": { + "description": "Rate of gst tax.", + "format": "double", + "type": "number" + }, + "taxType": { + "description": "Type of tax. Can be `CGST`, `SGST`, `IGST`, or `TOTAL_TAX`.", + "maxLength": 1024, + "minLength": 1, + "type": "string" + } + }, + "type": "object" + }, + "TrackingDetails": { + "description": "Tracking information for Less-Than-Truckload (LTL) and Small Parcel Delivery (SPD) shipments.", + "properties": { + "ltlTrackingDetail": { + "$ref": "#/definitions/LtlTrackingDetail" + }, + "spdTrackingDetail": { + "$ref": "#/definitions/SpdTrackingDetail" + } + }, + "type": "object" + }, + "TrackingDetailsInput": { + "description": "Tracking information input for Less-Than-Truckload (LTL) and Small Parcel Delivery (SPD) shipments.", + "properties": { + "ltlTrackingDetail": { + "$ref": "#/definitions/LtlTrackingDetailInput" + }, + "spdTrackingDetail": { + "$ref": "#/definitions/SpdTrackingDetailInput" + } + }, + "type": "object", + "example": { + "ltlTrackingDetail": { + "billOfLadingNumber": "billOfLadingNumber", + "freightBillNumber": [ + "freightBillNumber1" + ] + } + } + }, + "TransportationOption": { + "description": "Contains information pertaining to a transportation option and the related carrier.", + "properties": { + "appointmentSlot": { + "$ref": "#/definitions/AppointmentSlot" + }, + "carrier": { + "$ref": "#/definitions/Carrier" + }, + "inboundPlanId": { + "description": "Identifier to an inbound plan.", + "maxLength": 38, + "minLength": 38, + "pattern": "^[a-zA-Z0-9-]*$", + "type": "string" + }, + "placementOptionId": { + "description": "The identifier of a placement option. A placement option represents the shipment splits and destinations of SKUs.", + "maxLength": 38, + "minLength": 38, + "pattern": "^[a-zA-Z0-9-]*$", + "type": "string" + }, + "quote": { + "$ref": "#/definitions/Quote" + }, + "shipmentId": { + "description": "Identifier to a shipment. A shipment contains the boxes and units being inbounded.", + "maxLength": 38, + "minLength": 38, + "pattern": "^[a-zA-Z0-9-]*$", + "type": "string" + }, + "shippingMode": { + "description": "The shipping mode associated with the transportation option. Available modes are ground small parcel, freight less-than-truckload (LTL), freight full-truckload (FTL) palletized, freight FTL non-palletized, ocean less-than-container-load (LCL), ocean full-container load (FCL), air small parcel, and air small parcel express.", + "maxLength": 1024, + "minLength": 1, + "type": "string" + }, + "shippingSolution": { + "description": "The shipping solution associated with the transportation option. Available solutions are Amazon-partnered carrier or 'use your own carrier'.", + "maxLength": 1024, + "minLength": 1, + "type": "string" + }, + "transportationOptionId": { + "description": "Identifier to a transportation option. A transportation option represent one option for how to send a shipment.", + "maxLength": 38, + "minLength": 38, + "pattern": "^[a-zA-Z0-9-]*$", + "type": "string" + } + }, + "required": [ + "carrier", + "inboundPlanId", + "placementOptionId", + "shipmentId", + "shippingMode", + "shippingSolution", + "transportationOptionId" + ], + "type": "object" + }, + "TransportationSelection": { + "description": "The transportation option selected to confirm.", + "properties": { + "contactInformation": { + "$ref": "#/definitions/ContactInformation" + }, + "deliveryWindow": { + "$ref": "#/definitions/WindowInput", + "description": "The range of dates within which the seller expects that their shipment will be delivered to Amazon.\n" + }, + "shipmentId": { + "description": "Shipment ID that the transportation Option is for.", + "maxLength": 38, + "minLength": 38, + "pattern": "^[a-zA-Z0-9-]*$", + "type": "string" + }, + "transportationOptionId": { + "description": "Transportation option being selected for the provided shipment.", + "maxLength": 38, + "minLength": 38, + "pattern": "^[a-zA-Z0-9-]*$", + "type": "string" + } + }, + "required": [ + "shipmentId", + "transportationOptionId" + ], + "type": "object" + }, + "UnitOfMeasurement": { + "description": "Unit of linear measure.", + "enum": [ + "IN", + "CM" + ], + "type": "string", + "x-docgen-enum-table-extension": [ + { + "value": "IN", + "description": "Inches." + }, + { + "value": "CM", + "description": "Centimeters." + } + ] + }, + "UnitOfWeight": { + "description": "Unit of the weight being measured.", + "enum": [ + "LB", + "KG" + ], + "type": "string", + "x-docgen-enum-table-extension": [ + { + "value": "LB", + "description": "Pounds." + }, + { + "value": "KG", + "description": "Kilograms." + } + ] + }, + "UpdateItemComplianceDetailsRequest": { + "description": "The `updateItemComplianceDetails` request.", + "properties": { + "msku": { + "description": "The merchant SKU, a merchant-supplied identifier for a specific SKU.", + "maxLength": 40, + "minLength": 1, + "type": "string" + }, + "taxDetails": { + "$ref": "#/definitions/TaxDetails" + } + }, + "required": [ + "msku", + "taxDetails" + ], + "type": "object", + "example": { + "msku": "Sunglasses", + "taxDetails": { + "declaredValue": { + "amount": 5.5, + "code": "CAD" + }, + "hsnCode": "hsnCode" + } + } + }, + "UpdateItemComplianceDetailsResponse": { + "description": "The `updateItemComplianceDetails` response.", + "properties": { + "operationId": { + "description": "UUID for the given operation.", + "maxLength": 38, + "minLength": 36, + "pattern": "^[a-zA-Z0-9-]*$", + "type": "string" + } + }, + "required": [ + "operationId" + ], + "type": "object" + }, + "UpdateShipmentDeliveryWindowRequest": { + "description": "The `updateShipmentDeliveryWindow` request.", + "properties": { + "deliveryWindow": { + "$ref": "#/definitions/WindowInput", + "description": "The range of dates within which the seller expects that their shipment will be delivered to Amazon.\n" + } + }, + "required": [ + "deliveryWindow" + ], + "type": "object", + "example": { + "deliveryWindow": { + "start": "2024-01-01T00:00Z" + } + } + }, + "UpdateShipmentDeliveryWindowResponse": { + "description": "The `updateShipmentDeliveryWindow` response.", + "properties": { + "operationId": { + "description": "UUID for the given operation.", + "maxLength": 38, + "minLength": 36, + "pattern": "^[a-zA-Z0-9-]*$", + "type": "string" + } + }, + "required": [ + "operationId" + ], + "type": "object" + }, + "UpdateShipmentTrackingDetailsRequest": { + "description": "The `updateShipmentTrackingDetails` request.", + "properties": { + "trackingDetails": { + "$ref": "#/definitions/TrackingDetailsInput" + } + }, + "required": [ + "trackingDetails" + ], + "type": "object", + "example": { + "trackingDetails": { + "spdTrackingDetail": { + "spdTrackingItems": [ + { + "boxId": "FBA10ABC0YY100001", + "trackingId": "FBA10002000" + } + ] + } + } + } + }, + "UpdateShipmentTrackingDetailsResponse": { + "description": "The `updateShipmentTrackingDetails` response.", + "properties": { + "operationId": { + "description": "UUID for the given operation.", + "maxLength": 38, + "minLength": 36, + "pattern": "^[a-zA-Z0-9-]*$", + "type": "string" + } + }, + "required": [ + "operationId" + ], + "type": "object" + }, + "Weight": { + "description": "The weight of a package.", + "properties": { + "unit": { + "$ref": "#/definitions/UnitOfWeight" + }, + "value": { + "description": "Value of a weight.", + "format": "double", + "maximum": 100000, + "minimum": 0, + "type": "number" + } + }, + "required": [ + "unit", + "value" + ], + "type": "object" + }, + "Window": { + "description": "Contains a start and end DateTime representing a time range.", + "properties": { + "editableUntil": { + "description": "The timestamp at which this Window can no longer be edited.", + "format": "date-time", + "type": "string" + }, + "end": { + "description": "The end timestamp of the window.", + "format": "date-time", + "type": "string" + }, + "start": { + "description": "The start timestamp of the window.", + "format": "date-time", + "type": "string" + } + }, + "required": [ + "end", + "start" + ], + "type": "object" + }, + "WindowInput": { + "description": "Contains only a starting DateTime.", + "properties": { + "start": { + "description": "The start date of the window. The time component must be zero.", + "format": "date-time", + "type": "string" + } + }, + "required": [ + "start" + ], + "type": "object" + } + }, + "x-components": {} +} \ No newline at end of file From 7496eae79cdf1d10815fdded6dda92c0309cac71 Mon Sep 17 00:00:00 2001 From: andiec Date: Wed, 24 Apr 2024 13:26:32 -0400 Subject: [PATCH 305/340] orders v0 update release --- models/.DS_Store | Bin 10244 -> 10244 bytes models/orders-api-model/ordersV0.json | 747 +++++++++++++++++++------- 2 files changed, 559 insertions(+), 188 deletions(-) diff --git a/models/.DS_Store b/models/.DS_Store index cd5aa68a204c15ed0367f3a875676bad62ead55f..6ed8c19aebd8bb7e261e0f97a5a6b28ed80e435c 100644 GIT binary patch literal 10244 zcmeHMTWl0n7(V~Dz?tFFX(>2`F057*YYV${ZHq;+y#WQW%9geibe-K9+L76rWoLE^ zHfRm{qCiZ%MH7kf^5BCcUSlv`9yCE8d@zj>qsGMOizMQM5j9@^GiSDeEw@t98fP|h z{&V}!ob%21pY#8-gb--UsS!d#gb<21lhPba&T_GKc2BqhUQGo`Kz%}Nk|qi<@K-;f zw_o8S;3ME8;3ME8;3F^{5Wq8=U34~=e(EFOBj6)2jsV*qLU=P7^W-R(?$&{c8v>v# z#cKD$JjMa8PRNrnPmXfws^XYDdH_!qybuGpI<|*cca$+tj&jM>32=1+-jl(LP{4gU z>V@3y1Y%tJsgHn>eaLNfP7s`ZMBpg_uOeI)mtBkPHzA^9spesUD+z3)?he zB!}%x(y)>^%3H~dq1#S4{3!%VN@vWRMQ733^!E6WH5_*oCug@Q+3l>jZC1`yZC5wW8>m2qgtT~Mq(0Idjn;*tk%oPB zp^->9+Ef>64oCOx6X=4Pl`UHmyNtAH9pvi_>t)TaNdLy$PuzkDE?+#?dX)?$xq3%7j#ACRrMhEhIOwY)@-UZ*=$oXBQNWtytnB3H{- zQM#Sgw`Vm>d9}DqzE+SF+GFE<`4F{Yogmpl&o11Cx#~(WLM2t$YA8v~;8jtvkxH9{ zzC6c~SFRRYXgSmg{V6M*#(CSkdaWFz(lL4md-lzW?Q~}}voNc*atEaY_K=d*x`*)` zC}?b;)O|Nt&r~{9-LbOn!Z%jS@-{Y9tEy_Mw{E#xzKu$sppK-Qc^yw4e7XDpqBXHv z{svs|gqm2`dm)rmkrn7^ZXi3*pfY4XIY6E!hsjIi4e}0opL|S?lh4VQu`e6XJg93NKE=Yq3dAJuw zVL#jt2jOve0-l7Y;6-=^UWM1-T{s3G!bk80d<#FoN%#?dh2P+J_#;prs0b_$gaTLc zIR^@dS>HIR+)RKiak4h!o#BDqXS12$y7gk$w6K}ubC{KsSInLSPX7O#%p_uZLnaQ(k#YpI>vf04T(W%2HFHKUcC&9 zGtnM+@w(bzPzsK~X9}BNJTRhFUCwS7>S$MX40cjkm4235$eTIxn}j;YiGQ z=;UeqGC4}#Bge=X()c^_JvmAK1Pb$@5=navEQjl%4(gG(&2S^Mxa3`r)ZGZ1pa*)9 zzT1$%DbQdLhCqibIFNHme4k6=2jCDq43EI0@E9D1XW&_Q4xWb>;0Pmh5m`5$Nmh7! zvSckf6RReiiR_Hj@qFaI#ra*+i8=k!`xEHLSn8-tNJo@ANR*gNSl z(pE=@7b?-Ot4^fK@A;thQs$Dj)W2n%%+S==RK%#$;PJE5AAu4+#Sr`c-+Au;|EK># z{2BTP_y}Aw0#Mo!?`T8yLP$|O68qL3!uw9V*~R*ea_OpI!n&|}_j5cJ*ys4=UR@!| iV(l@nZj?(`9qV0nl>BS{W&bn4kN^GnU;BT@|9=4z5m5>N delta 114 zcmZn(XbG6$&nU1lU^hRbz+^!|yUFW?xF@Uc_`IM9`>&Ax1tee>tez8oxCoKsy_W0%_(#lK#;u|G0 diff --git a/models/orders-api-model/ordersV0.json b/models/orders-api-model/ordersV0.json index a780dc5c4..eec2f95e9 100644 --- a/models/orders-api-model/ordersV0.json +++ b/models/orders-api-model/ordersV0.json @@ -1,7 +1,7 @@ { "swagger": "2.0", "info": { - "description": "The Selling Partner API for Orders helps you programmatically retrieve order information. These APIs let you develop fast, flexible, custom applications in areas like order synchronization, order research, and demand-based decision support tools. The Orders API supports orders that are two years old or less. Orders more than two years old will not show in the API response.\n\n_Note:_ The Orders API supports orders from 2016 and after for the JP, AU, and SG marketplaces.", + "description": "The Selling Partner API for Orders helps you programmatically retrieve order information. These APIs let you develop fast, flexible, custom applications in areas like order synchronization, order research, and demand-based decision support tools. The Orders API supports orders that are two years old or less. Orders more than two years old will not show in the API response.\n\n**Note:** The Orders API supports orders from 2016 and after for the JP, AU, and SG marketplaces.", "version": "v0", "title": "Selling Partner API for Orders", "contact": { @@ -29,34 +29,34 @@ "tags": [ "ordersV0" ], - "description": "Returns orders created or updated during the time frame indicated by the specified parameters. You can also apply a range of filtering criteria to narrow the list of orders returned. If NextToken is present, that will be used to retrieve the orders instead of other criteria.\n\n**Usage Plan:**\n\n| Rate (requests per second) | Burst |\n| ---- | ---- |\n| 0.0167 | 20 |\n\nThe `x-amzn-RateLimit-Limit` response header returns the usage plan rate limits that were applied to the requested operation, when available. The table above indicates the default rate and burst values for this operation. Selling partners whose business demands require higher throughput may see higher rate and burst values then those shown here. For more information, see [Usage Plans and Rate Limits in the Selling Partner API](doc:usage-plans-and-rate-limits-in-the-sp-api).", + "description": "Returns orders created or updated during the time frame indicated by the specified parameters. You can also apply a range of filtering criteria to narrow the list of orders returned. If NextToken is present, that will be used to retrieve the orders instead of other criteria.\n\n**Usage Plan:**\n\n| Rate (requests per second) | Burst |\n| ---- | ---- |\n| 0.0167 | 20 |\n\nThe `x-amzn-RateLimit-Limit` response header returns the usage plan rate limits that were applied to the requested operation, when available. The table above indicates the default rate and burst values for this operation. Selling partners whose business demands require higher throughput may see higher rate and burst values then those shown here. For more information, refer to [Usage Plans and Rate Limits in the Selling Partner API](https://developer-docs.amazon.com/sp-api/docs/usage-plans-and-rate-limits-in-the-sp-api).", "operationId": "getOrders", "parameters": [ { "name": "CreatedAfter", "in": "query", - "description": "A date used for selecting orders created after (or at) a specified time. Only orders placed after the specified time are returned. Either the CreatedAfter parameter or the LastUpdatedAfter parameter is required. Both cannot be empty. The date must be in ISO 8601 format.", + "description": "A date used for selecting orders created after (or at) a specified time. Only orders placed after the specified time are returned. The date must be in ISO 8601 format.\n\n**Note**: Either the `CreatedAfter` parameter or the `LastUpdatedAfter` parameter is required. You could specify `CreatedBefore` but not provide `LastUpdatedAfter` or `LastUpdatedBefore` when `CreatedAfter` is specified.", "required": false, "type": "string" }, { "name": "CreatedBefore", "in": "query", - "description": "A date used for selecting orders created before (or at) a specified time. Only orders placed before the specified time are returned. The date must be in ISO 8601 format.", + "description": "A date used for selecting orders created before (or at) a specified time. Only orders placed before the specified time are returned. The date must be in ISO 8601 format.\n\n**Note**: `CreatedBefore` is optional when `CreatedAfter` is specified. But if specified, `CreatedBefore` should be equal to or after the `CreatedAfter` date and at least 2 minutes before the current time.", "required": false, "type": "string" }, { "name": "LastUpdatedAfter", "in": "query", - "description": "A date used for selecting orders that were last updated after (or at) a specified time. An update is defined as any change in order status, including the creation of a new order. Includes updates made by Amazon and by the seller. The date must be in ISO 8601 format.", + "description": "A date used for selecting orders that were last updated before (or at) a specified time. An update is defined as any change in order status, including the creation of a new order. Includes updates made by Amazon and by the seller. The date must be in ISO 8601 format.\n\n**Note**: `LastUpdatedBefore` is optional when `LastUpdatedAfter` is specified. But if specified, `LastUpdatedBefore` should be equal to or after the `LastUpdatedAfter` date and at least 2 minutes before current time.", "required": false, "type": "string" }, { "name": "LastUpdatedBefore", "in": "query", - "description": "A date used for selecting orders that were last updated before (or at) a specified time. An update is defined as any change in order status, including the creation of a new order. Includes updates made by Amazon and by the seller. The date must be in ISO 8601 format.", + "description": "A date used for selecting orders that were last updated before (or at) a specified time. An update is defined as any change in order status, including the creation of a new order. Includes updates made by Amazon and by the seller. The date must be in ISO 8601 format.\n\n**Note**: LastUpdatedBefore is optional when LastUpdatedAfter is set. But if specified, LastUpdatedBefore should be equal to or after the LastUpdatedAfter date and at least 2 minutes before current time.", "required": false, "type": "string" }, @@ -73,7 +73,7 @@ { "name": "MarketplaceIds", "in": "query", - "description": "A list of MarketplaceId values. Used to select orders that were placed in the specified marketplaces.\n\nRefer to [Marketplace IDs](https://developer-docs.amazon.com/sp-api/docs/marketplace-ids) for a complete list of marketplaceId values.", + "description": "A list of `MarketplaceId` values. Used to select orders that were placed in the specified marketplaces.\n\nRefer to [Marketplace IDs](https://developer-docs.amazon.com/sp-api/docs/marketplace-ids) for a complete list of `MarketplaceId` values.", "required": true, "type": "array", "items": { @@ -84,7 +84,7 @@ { "name": "FulfillmentChannels", "in": "query", - "description": "A list that indicates how an order was fulfilled. Filters the results by fulfillment channel. Possible values: AFN (Fulfillment by Amazon); MFN (Fulfilled by the seller).", + "description": "A list that indicates how an order was fulfilled. Filters the results by fulfillment channel. \n\n**Possible values**: `AFN` (Fulfillment by Amazon); `MFN` (Fulfilled by the seller).", "required": false, "type": "array", "items": { @@ -94,7 +94,7 @@ { "name": "PaymentMethods", "in": "query", - "description": "A list of payment method values. Used to select orders paid using the specified payment methods. Possible values: COD (Cash on delivery); CVS (Convenience store payment); Other (Any payment method other than COD or CVS).", + "description": "A list of payment method values. Used to select orders paid using the specified payment methods.\n\n**Possible values**: `COD` (Cash on delivery); `CVS` (Convenience store payment); `Other` (Any payment method other than `COD` or `CVS`).", "required": false, "type": "array", "items": { @@ -563,10 +563,6 @@ "$ref": "#/definitions/GetOrdersResponse" }, "headers": { - "x-amzn-RateLimit-Limit": { - "type": "string", - "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." - }, "x-amzn-RequestId": { "type": "string", "description": "Unique request reference identifier." @@ -579,10 +575,6 @@ "$ref": "#/definitions/GetOrdersResponse" }, "headers": { - "x-amzn-RateLimit-Limit": { - "type": "string", - "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." - }, "x-amzn-RequestId": { "type": "string", "description": "Unique request reference identifier." @@ -595,10 +587,6 @@ "$ref": "#/definitions/GetOrdersResponse" }, "headers": { - "x-amzn-RateLimit-Limit": { - "type": "string", - "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." - }, "x-amzn-RequestId": { "type": "string", "description": "Unique request reference identifier." @@ -613,7 +601,7 @@ "tags": [ "ordersV0" ], - "description": "Returns the order that you specify.\n\n**Usage Plan:**\n\n| Rate (requests per second) | Burst |\n| ---- | ---- |\n| 0.0167 | 20 |\n\nThe `x-amzn-RateLimit-Limit` response header returns the usage plan rate limits that were applied to the requested operation, when available. The table above indicates the default rate and burst values for this operation. Selling partners whose business demands require higher throughput may see higher rate and burst values then those shown here. For more information, see [Usage Plans and Rate Limits in the Selling Partner API](doc:usage-plans-and-rate-limits-in-the-sp-api).", + "description": "Returns the order that you specify.\n\n**Usage Plan:**\n\n| Rate (requests per second) | Burst |\n| ---- | ---- |\n| 0.5 | 30 |\n\nThe `x-amzn-RateLimit-Limit` response header returns the usage plan rate limits that were applied to the requested operation, when available. The table above indicates the default rate and burst values for this operation. Selling partners whose business demands require higher throughput may see higher rate and burst values then those shown here. For more information, refer to [Usage Plans and Rate Limits in the Selling Partner API](https://developer-docs.amazon.com/sp-api/docs/usage-plans-and-rate-limits-in-the-sp-api).", "operationId": "getOrder", "parameters": [ { @@ -907,10 +895,6 @@ "$ref": "#/definitions/GetOrderResponse" }, "headers": { - "x-amzn-RateLimit-Limit": { - "type": "string", - "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." - }, "x-amzn-RequestId": { "type": "string", "description": "Unique request reference identifier." @@ -923,10 +907,6 @@ "$ref": "#/definitions/GetOrderResponse" }, "headers": { - "x-amzn-RateLimit-Limit": { - "type": "string", - "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." - }, "x-amzn-RequestId": { "type": "string", "description": "Unique request reference identifier." @@ -939,10 +919,6 @@ "$ref": "#/definitions/GetOrderResponse" }, "headers": { - "x-amzn-RateLimit-Limit": { - "type": "string", - "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." - }, "x-amzn-RequestId": { "type": "string", "description": "Unique request reference identifier." @@ -957,13 +933,13 @@ "tags": [ "ordersV0" ], - "description": "Returns buyer information for the order that you specify.\n\n**Usage Plan:**\n\n| Rate (requests per second) | Burst |\n| ---- | ---- |\n| 0.0167 | 20 |\n\nThe `x-amzn-RateLimit-Limit` response header returns the usage plan rate limits that were applied to the requested operation, when available. The table above indicates the default rate and burst values for this operation. Selling partners whose business demands require higher throughput may see higher rate and burst values then those shown here. For more information, see [Usage Plans and Rate Limits in the Selling Partner API](doc:usage-plans-and-rate-limits-in-the-sp-api).", + "description": "Returns buyer information for the order that you specify.\n\n**Usage Plan:**\n\n| Rate (requests per second) | Burst |\n| ---- | ---- |\n| 0.5 | 30 |\n\nThe `x-amzn-RateLimit-Limit` response header returns the usage plan rate limits that were applied to the requested operation, when available. The table above indicates the default rate and burst values for this operation. Selling partners whose business demands require higher throughput may see higher rate and burst values then those shown here. For more information, refer to [Usage Plans and Rate Limits in the Selling Partner API](https://developer-docs.amazon.com/sp-api/docs/usage-plans-and-rate-limits-in-the-sp-api).", "operationId": "getOrderBuyerInfo", "parameters": [ { "name": "orderId", "in": "path", - "description": "An orderId is an Amazon-defined order identifier, in 3-7-7 format.", + "description": "An `orderId` is an Amazon-defined order identifier, in 3-7-7 format.", "required": true, "type": "string" } @@ -1089,10 +1065,6 @@ "$ref": "#/definitions/GetOrderBuyerInfoResponse" }, "headers": { - "x-amzn-RateLimit-Limit": { - "type": "string", - "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." - }, "x-amzn-RequestId": { "type": "string", "description": "Unique request reference identifier." @@ -1105,10 +1077,6 @@ "$ref": "#/definitions/GetOrderBuyerInfoResponse" }, "headers": { - "x-amzn-RateLimit-Limit": { - "type": "string", - "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." - }, "x-amzn-RequestId": { "type": "string", "description": "Unique request reference identifier." @@ -1121,10 +1089,6 @@ "$ref": "#/definitions/GetOrderBuyerInfoResponse" }, "headers": { - "x-amzn-RateLimit-Limit": { - "type": "string", - "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." - }, "x-amzn-RequestId": { "type": "string", "description": "Unique request reference identifier." @@ -1139,13 +1103,13 @@ "tags": [ "ordersV0" ], - "description": "Returns the shipping address for the order that you specify.\n\n**Usage Plan:**\n\n| Rate (requests per second) | Burst |\n| ---- | ---- |\n| 0.0167 | 20 |\n\nThe `x-amzn-RateLimit-Limit` response header returns the usage plan rate limits that were applied to the requested operation, when available. The table above indicates the default rate and burst values for this operation. Selling partners whose business demands require higher throughput may see higher rate and burst values then those shown here. For more information, see [Usage Plans and Rate Limits in the Selling Partner API](doc:usage-plans-and-rate-limits-in-the-sp-api).", + "description": "Returns the shipping address for the order that you specify.\n\n**Usage Plan:**\n\n| Rate (requests per second) | Burst |\n| ---- | ---- |\n| 0.5 | 30 |\n\nThe `x-amzn-RateLimit-Limit` response header returns the usage plan rate limits that were applied to the requested operation, when available. The table above indicates the default rate and burst values for this operation. Selling partners whose business demands require higher throughput may see higher rate and burst values then those shown here. For more information, refer to [Usage Plans and Rate Limits in the Selling Partner API](https://developer-docs.amazon.com/sp-api/docs/usage-plans-and-rate-limits-in-the-sp-api).", "operationId": "getOrderAddress", "parameters": [ { "name": "orderId", "in": "path", - "description": "An orderId is an Amazon-defined order identifier, in 3-7-7 format.", + "description": "An `orderId` is an Amazon-defined order identifier, in 3-7-7 format.", "required": true, "type": "string" } @@ -1281,10 +1245,6 @@ "$ref": "#/definitions/GetOrderAddressResponse" }, "headers": { - "x-amzn-RateLimit-Limit": { - "type": "string", - "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." - }, "x-amzn-RequestId": { "type": "string", "description": "Unique request reference identifier." @@ -1297,10 +1257,6 @@ "$ref": "#/definitions/GetOrderAddressResponse" }, "headers": { - "x-amzn-RateLimit-Limit": { - "type": "string", - "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." - }, "x-amzn-RequestId": { "type": "string", "description": "Unique request reference identifier." @@ -1312,15 +1268,227 @@ "schema": { "$ref": "#/definitions/GetOrderAddressResponse" }, + "headers": { + "x-amzn-RequestId": { + "type": "string", + "description": "Unique request reference identifier." + } + } + } + } + } + }, + "/orders/v0/orders/{orderId}/fulfillmentInstructions": { + "get": { + "tags": [ + "ordersV0" + ], + "description": "Returns the fulfillment instructions for the order that you specify.\n\n**Usage Plan:**\n\n| Rate (requests per second) | Burst |\n| ---- | ---- |\n| 0.5 | 20 |\n\nThe `x-amzn-RateLimit-Limit` response header returns the usage plan rate limits that were applied to the requested operation, when available. The table above indicates the default rate and burst values for this operation. Selling partners whose business demands require higher throughput may see higher rate and burst values then those shown here. For more information, refer to [Usage Plans and Rate Limits in the Selling Partner API](https://developer-docs.amazon.com/sp-api/docs/usage-plans-and-rate-limits-in-the-sp-api).", + "operationId": "getOrderFulfillmentInstructions", + "parameters": [ + { + "name": "orderId", + "in": "path", + "description": "An Amazon-defined order identifier, in 3-7-7 format.", + "required": true, + "type": "string" + } + ], + "responses": { + "200": { + "description": "Success.", + "schema": { + "$ref": "#/definitions/GetOrderFulfillmentInstructionsResponse" + }, + "examples": { + "application/json":{ + "payload": { + "AmazonOrderId": "902-3159896-1390916", + "FulfillmentPlans": [ + { + "CreationDate": "2023-10-25T12:00:00Z", + "FulfillmentPlanId" : "1", + "FulfillmentType" : "SHIP", + "FulfillmentPlanStatus": "ACTIVE", + "LastStatusUpdateDate" : "2023-10-25T12:00:00Z", + "FulfillmentPlanItems": [ + { + "OrderItemId": "6217867064725", + "Measurement" : { + "Unit" : "COUNT", + "Value" : 20 + } + } + ], + "ShippingInstructions": { + "CarrierCode": "UPS", + "ShippingMethod": "Ground", + "ShippingConstraints" : { + "PalletDelivery" : "MANDATORY" + } + }, + "FulfillmentLocation": { + "SupplySourceId": "bb3e1352-a3b4-4b99-aeb7-b1a923837ef2" + } + } + ] + } + } + }, "headers": { "x-amzn-RateLimit-Limit": { "type": "string", - "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." + "description": "Your rate limit (requests per second) for this operation." }, "x-amzn-RequestId": { "type": "string", "description": "Unique request reference identifier." } + }, + "x-amzn-api-sandbox": { + "static": [ + { + "request": { + "parameters": { + "orderId": { + "value": "TEST_CASE_200" + } + } + }, + "response": { + "payload": { + "AmazonOrderId": "TEST_CASE_200", + "FulfillmentPlans": [{ + "CreationDate": "2023-10-25T12:00:00Z", + "FulfillmentPlanId" : "1", + "FulfillmentType" : "SHIP", + "FulfillmentPlanStatus": "ACTIVE", + "LastStatusUpdateDate" : "2023-10-25T12:00:00Z", + "FulfillmentPlanItems": [ + { + "OrderItemId": "6217867064725", + "Measurement" : { + "Unit" : "COUNT", + "Value" : 20 + } + } + ], + "ShippingInstructions": { + "CarrierCode": "UPS", + "ShippingMethod": "Ground", + "ShippingConstraints" : { + "PalletDelivery" : "MANDATORY" + } + }, + "FulfillmentLocation": { + "SupplySourceId": "bb3e1352-a3b4-4b99-aeb7-b1a923837ef2" + } + }] + } + } + } + ] + } + }, + "400": { + "description": "Request has missing or invalid parameters and cannot be parsed.", + "schema": { + "$ref": "#/definitions/GetOrderFulfillmentInstructionsResponse" + }, + "headers": { + "x-amzn-RateLimit-Limit": { + "type": "string", + "description": "Your rate limit (requests per second) for this operation." + }, + "x-amzn-RequestId": { + "type": "string", + "description": "Unique request reference identifier." + } + }, + "x-amzn-api-sandbox": { + "static": [ + { + "request": { + "parameters": { + "orderId": { + "value": "TEST_CASE_400" + } + } + }, + "response": { + "errors": [ + { + "code": "InvalidInput", + "message": "Invalid Input" + } + ] + } + } + ] + } + }, + "403": { + "description": "Indicates access to the resource is forbidden. Possible reasons include Access Denied, Unauthorized, Expired Token, or Invalid Signature.", + "schema": { + "$ref": "#/definitions/GetOrderFulfillmentInstructionsResponse" + }, + "headers": { + "x-amzn-RequestId": { + "type": "string", + "description": "Unique request reference identifier." + } + } + }, + "404": { + "description": "The resource specified does not exist.", + "schema": { + "$ref": "#/definitions/GetOrderFulfillmentInstructionsResponse" + }, + "headers": { + "x-amzn-RateLimit-Limit": { + "type": "string", + "description": "Your rate limit (requests per second) for this operation." + }, + "x-amzn-RequestId": { + "type": "string", + "description": "Unique request reference identifier." + } + } + }, + "429": { + "description": "The frequency of requests was greater than allowed.", + "schema": { + "$ref": "#/definitions/GetOrderFulfillmentInstructionsResponse" + }, + "headers": { + "x-amzn-RequestId": { + "type": "string", + "description": "Unique request reference identifier." + } + } + }, + "500": { + "description": "An unexpected condition occurred that prevented the server from fulfilling the request.", + "schema": { + "$ref": "#/definitions/GetOrderFulfillmentInstructionsResponse" + }, + "headers": { + "x-amzn-RequestId": { + "type": "string", + "description": "Unique request reference identifier." + } + } + }, + "503": { + "description": "Temporary overloading or maintenance of the server.", + "schema": { + "$ref": "#/definitions/GetOrderFulfillmentInstructionsResponse" + }, + "headers": { + "x-amzn-RequestId": { + "type": "string", + "description": "Unique request reference identifier." + } } } } @@ -1331,7 +1499,7 @@ "tags": [ "ordersV0" ], - "description": "Returns detailed order item information for the order that you specify. If NextToken is provided, it's used to retrieve the next page of order items.\n\n__Note__: When an order is in the Pending state (the order has been placed but payment has not been authorized), the getOrderItems operation does not return information about pricing, taxes, shipping charges, gift status or promotions for the order items in the order. After an order leaves the Pending state (this occurs when payment has been authorized) and enters the Unshipped, Partially Shipped, or Shipped state, the getOrderItems operation returns information about pricing, taxes, shipping charges, gift status and promotions for the order items in the order.\n\n**Usage Plan:**\n\n| Rate (requests per second) | Burst |\n| ---- | ---- |\n| 0.5 | 30 |\n\nThe `x-amzn-RateLimit-Limit` response header returns the usage plan rate limits that were applied to the requested operation, when available. The table above indicates the default rate and burst values for this operation. Selling partners whose business demands require higher throughput may see higher rate and burst values then those shown here. For more information, see [Usage Plans and Rate Limits in the Selling Partner API](doc:usage-plans-and-rate-limits-in-the-sp-api).", + "description": "Returns detailed order item information for the order that you specify. If `NextToken` is provided, it's used to retrieve the next page of order items.\n\n**Note**: When an order is in the Pending state (the order has been placed but payment has not been authorized), the `getOrderItems` operation does not return information about pricing, taxes, shipping charges, gift status or promotions for the order items in the order. After an order leaves the Pending state (this occurs when payment has been authorized) and enters the `Unshipped`, `Partially Shipped`, or `Shipped` state, the `getOrderItems` operation returns information about pricing, taxes, shipping charges, gift status and promotions for the order items in the order.\n\n**Usage Plan:**\n\n| Rate (requests per second) | Burst |\n| ---- | ---- |\n| 0.5 | 30 |\n\nThe `x-amzn-RateLimit-Limit` response header returns the usage plan rate limits that were applied to the requested operation, when available. The table above indicates the default rate and burst values for this operation. Selling partners whose business demands require higher throughput may see higher rate and burst values then those shown here. For more information, refer to [Usage Plans and Rate Limits in the Selling Partner API](https://developer-docs.amazon.com/sp-api/docs/usage-plans-and-rate-limits-in-the-sp-api).", "operationId": "getOrderItems", "parameters": [ { @@ -1406,7 +1574,7 @@ "GiftWrapLevel": "Classic" }, "BuyerRequestedCancel": { - "IsBuyerRequestedCancel": true, + "IsBuyerRequestedCancel": "true", "BuyerCancelReason": "Found cheaper somewhere else." }, "SerialNumbers": ["854"] @@ -1440,7 +1608,7 @@ "GiftWrapLevel": "Classic" }, "BuyerRequestedCancel": { - "IsBuyerRequestedCancel": true, + "IsBuyerRequestedCancel": "true", "BuyerCancelReason": "Found cheaper somewhere else." } } @@ -1480,7 +1648,7 @@ "QuantityOrdered": 1, "QuantityShipped": 0, "ProductInfo": { - "NumberOfItems": 1 + "NumberOfItems": "1" }, "ItemPrice": { "CurrencyCode": "USD", @@ -1494,7 +1662,7 @@ "CurrencyCode": "USD", "Amount": "0.00" }, - "IsGift": false, + "IsGift": "false", "ConditionId": "New", "ConditionSubtypeId": "New", "IsTransparency": false, @@ -1503,7 +1671,7 @@ "DeemedResellerCategory": "IOSS", "StoreChainStoreId": "ISPU_StoreId", "BuyerRequestedCancel": { - "IsBuyerRequestedCancel": true, + "IsBuyerRequestedCancel": "true", "BuyerCancelReason": "Found cheaper somewhere else." } } @@ -1585,10 +1753,6 @@ "$ref": "#/definitions/GetOrderItemsResponse" }, "headers": { - "x-amzn-RateLimit-Limit": { - "type": "string", - "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." - }, "x-amzn-RequestId": { "type": "string", "description": "Unique request reference identifier." @@ -1601,10 +1765,6 @@ "$ref": "#/definitions/GetOrderItemsResponse" }, "headers": { - "x-amzn-RateLimit-Limit": { - "type": "string", - "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." - }, "x-amzn-RequestId": { "type": "string", "description": "Unique request reference identifier." @@ -1617,10 +1777,6 @@ "$ref": "#/definitions/GetOrderItemsResponse" }, "headers": { - "x-amzn-RateLimit-Limit": { - "type": "string", - "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." - }, "x-amzn-RequestId": { "type": "string", "description": "Unique request reference identifier." @@ -1635,7 +1791,7 @@ "tags": [ "ordersV0" ], - "description": "Returns buyer information for the order items in the order that you specify.\n\n**Usage Plan:**\n\n| Rate (requests per second) | Burst |\n| ---- | ---- |\n| 0.5 | 30 |\n\nThe `x-amzn-RateLimit-Limit` response header returns the usage plan rate limits that were applied to the requested operation, when available. The table above indicates the default rate and burst values for this operation. Selling partners whose business demands require higher throughput may see higher rate and burst values then those shown here. For more information, see [Usage Plans and Rate Limits in the Selling Partner API](doc:usage-plans-and-rate-limits-in-the-sp-api).", + "description": "Returns buyer information for the order items in the order that you specify.\n\n**Usage Plan:**\n\n| Rate (requests per second) | Burst |\n| ---- | ---- |\n| 0.5 | 30 |\n\nThe `x-amzn-RateLimit-Limit` response header returns the usage plan rate limits that were applied to the requested operation, when available. The table above indicates the default rate and burst values for this operation. Selling partners whose business demands require higher throughput may see higher rate and burst values then those shown here. For more information, refer to [Usage Plans and Rate Limits in the Selling Partner API](https://developer-docs.amazon.com/sp-api/docs/usage-plans-and-rate-limits-in-the-sp-api).", "operationId": "getOrderItemsBuyerInfo", "parameters": [ { @@ -1788,10 +1944,6 @@ "$ref": "#/definitions/GetOrderItemsBuyerInfoResponse" }, "headers": { - "x-amzn-RateLimit-Limit": { - "type": "string", - "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." - }, "x-amzn-RequestId": { "type": "string", "description": "Unique request reference identifier." @@ -1804,10 +1956,6 @@ "$ref": "#/definitions/GetOrderItemsBuyerInfoResponse" }, "headers": { - "x-amzn-RateLimit-Limit": { - "type": "string", - "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." - }, "x-amzn-RequestId": { "type": "string", "description": "Unique request reference identifier." @@ -1820,10 +1968,6 @@ "$ref": "#/definitions/GetOrderItemsBuyerInfoResponse" }, "headers": { - "x-amzn-RateLimit-Limit": { - "type": "string", - "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." - }, "x-amzn-RequestId": { "type": "string", "description": "Unique request reference identifier." @@ -1838,7 +1982,7 @@ "tags": [ "shipment" ], - "description": "Update the shipment status for an order that you specify.\n\n**Usage Plan:**\n\n| Rate (requests per second) | Burst |\n| ---- | ---- |\n| 5 | 15 |\n\nThe `x-amzn-RateLimit-Limit` response header returns the usage plan rate limits that were applied to the requested operation, when available. The table above indicates the default rate and burst values for this operation. Selling partners whose business demands require higher throughput may see higher rate and burst values then those shown here. For more information, see [Usage Plans and Rate Limits in the Selling Partner API](doc:usage-plans-and-rate-limits-in-the-sp-api).", + "description": "Update the shipment status for an order that you specify.\n\n**Usage Plan:**\n\n| Rate (requests per second) | Burst |\n| ---- | ---- |\n| 5 | 15 |\n\nThe `x-amzn-RateLimit-Limit` response header returns the usage plan rate limits that were applied to the requested operation, when available. The table above indicates the default rate and burst values for this operation. Selling partners whose business demands require higher throughput may see higher rate and burst values then those shown here. For more information, refer to [Usage Plans and Rate Limits in the Selling Partner API](https://developer-docs.amazon.com/sp-api/docs/usage-plans-and-rate-limits-in-the-sp-api).", "operationId": "updateShipmentStatus", "parameters": [ { @@ -1851,7 +1995,7 @@ { "name": "payload", "in": "body", - "description": "The request body for the updateShipmentStatus operation.", + "description": "The request body for the `updateShipmentStatus` operation.", "required": true, "schema": { "$ref": "#/definitions/UpdateShipmentStatusRequest" @@ -2019,13 +2163,13 @@ "tags": [ "ordersV0" ], - "description": "Returns regulated information for the order that you specify.\n\n**Usage Plan:**\n\n| Rate (requests per second) | Burst |\n| ---- | ---- |\n| 0.5 | 30 |\n\nThe `x-amzn-RateLimit-Limit` response header returns the usage plan rate limits that were applied to the requested operation, when available. The table above indicates the default rate and burst values for this operation. Selling partners whose business demands require higher throughput may see higher rate and burst values then those shown here. For more information, see [Usage Plans and Rate Limits in the Selling Partner API](doc:usage-plans-and-rate-limits-in-the-sp-api).", + "description": "Returns regulated information for the order that you specify.\n\n**Usage Plan:**\n\n| Rate (requests per second) | Burst |\n| ---- | ---- |\n| 0.5 | 30 |\n\nThe `x-amzn-RateLimit-Limit` response header returns the usage plan rate limits that were applied to the requested operation, when available. The table above indicates the default rate and burst values for this operation. Selling partners whose business demands require higher throughput may see higher rate and burst values then those shown here. For more information, refer to [Usage Plans and Rate Limits in the Selling Partner API](https://developer-docs.amazon.com/sp-api/docs/usage-plans-and-rate-limits-in-the-sp-api).", "operationId": "getOrderRegulatedInfo", "parameters": [ { "name": "orderId", "in": "path", - "description": "An orderId is an Amazon-defined order identifier, in 3-7-7 format.", + "description": "An Amazon-defined order identifier, in 3-7-7 format.", "required": true, "type": "string" } @@ -2311,20 +2455,20 @@ "tags": [ "ordersV0" ], - "description": "Updates (approves or rejects) the verification status of an order containing regulated products.\n\n**Usage Plan:**\n\n| Rate (requests per second) | Burst |\n| ---- | ---- |\n| 0.5 | 30 |\n\nThe `x-amzn-RateLimit-Limit` response header returns the usage plan rate limits that were applied to the requested operation, when available. The table above indicates the default rate and burst values for this operation. Selling partners whose business demands require higher throughput may see higher rate and burst values then those shown here. For more information, see [Usage Plans and Rate Limits in the Selling Partner API](doc:usage-plans-and-rate-limits-in-the-sp-api).", + "description": "Updates (approves or rejects) the verification status of an order containing regulated products.\n\n**Usage Plan:**\n\n| Rate (requests per second) | Burst |\n| ---- | ---- |\n| 0.5 | 30 |\n\nThe `x-amzn-RateLimit-Limit` response header returns the usage plan rate limits that were applied to the requested operation, when available. The table above indicates the default rate and burst values for this operation. Selling partners whose business demands require higher throughput may see higher rate and burst values then those shown here. For more information, refer to [Usage Plans and Rate Limits in the Selling Partner API](https://developer-docs.amazon.com/sp-api/docs/usage-plans-and-rate-limits-in-the-sp-api).", "operationId": "updateVerificationStatus", "parameters": [ { "name": "orderId", "in": "path", - "description": "An orderId is an Amazon-defined order identifier, in 3-7-7 format.", + "description": "An Amazon-defined order identifier, in 3-7-7 format.", "required": true, "type": "string" }, { "name": "payload", "in": "body", - "description": "The request body for the updateVerificationStatus operation.", + "description": "The request body for the `updateVerificationStatus` operation.", "required": true, "schema": { "$ref": "#/definitions/UpdateVerificationStatusRequest" @@ -2537,7 +2681,7 @@ "tags": [ "ordersV0" ], - "description": "Updates the shipment confirmation status for a specified order.\n\n**Usage Plan:**\n\n| Rate (requests per second) | Burst |\n| ---- | ---- |\n| 2 | 10 |\n\nThe `x-amzn-RateLimit-Limit` response header returns the usage plan rate limits that were applied to the requested operation, when available. The table above indicates the default rate and burst values for this operation. Selling partners whose business demands require higher throughput may see higher rate and burst values then those shown here. For more information, see [Usage Plans and Rate Limits in the Selling Partner API](doc:usage-plans-and-rate-limits-in-the-sp-api).", + "description": "Updates the shipment confirmation status for a specified order.\n\n**Usage Plan:**\n\n| Rate (requests per second) | Burst |\n| ---- | ---- |\n| 2 | 10 |\n\nThe `x-amzn-RateLimit-Limit` response header returns the usage plan rate limits that were applied to the requested operation, when available. The table above indicates the default rate and burst values for this operation. Selling partners whose business demands require higher throughput may see higher rate and burst values then those shown here. For more information, refer to [Usage Plans and Rate Limits in the Selling Partner API](https://developer-docs.amazon.com/sp-api/docs/usage-plans-and-rate-limits-in-the-sp-api).", "operationId": "confirmShipment", "parameters": [ { @@ -2550,7 +2694,7 @@ { "name": "payload", "in": "body", - "description": "Request body of confirmShipment.", + "description": "The request body of the `confirmShipment` operation.", "required": true, "schema": { "$ref": "#/definitions/ConfirmShipmentRequest" @@ -2675,10 +2819,6 @@ "$ref": "#/definitions/ConfirmShipmentErrorResponse" }, "headers": { - "x-amzn-RateLimit-Limit": { - "type": "string", - "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." - }, "x-amzn-RequestId": { "type": "string", "description": "Unique request reference identifier." @@ -2719,10 +2859,6 @@ "$ref": "#/definitions/ConfirmShipmentErrorResponse" }, "headers": { - "x-amzn-RateLimit-Limit": { - "type": "string", - "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." - }, "x-amzn-RequestId": { "type": "string", "description": "Unique request reference identifier." @@ -2735,10 +2871,6 @@ "$ref": "#/definitions/ConfirmShipmentErrorResponse" }, "headers": { - "x-amzn-RateLimit-Limit": { - "type": "string", - "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." - }, "x-amzn-RequestId": { "type": "string", "description": "Unique request reference identifier." @@ -2751,10 +2883,6 @@ "$ref": "#/definitions/ConfirmShipmentErrorResponse" }, "headers": { - "x-amzn-RateLimit-Limit": { - "type": "string", - "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." - }, "x-amzn-RequestId": { "type": "string", "description": "Unique request reference identifier." @@ -2767,7 +2895,7 @@ }, "definitions": { "UpdateShipmentStatusRequest": { - "description": "The request body for the updateShipmentStatus operation.", + "description": "The request body for the `updateShipmentStatus` operation.", "type": "object", "properties": { "marketplaceId": { @@ -2786,11 +2914,11 @@ ] }, "UpdateVerificationStatusRequest": { - "description": "The request body for the updateVerificationStatus operation.", + "description": "The request body for the `updateVerificationStatus` operation.", "type": "object", "properties": { "regulatedOrderVerificationStatus": { - "description": "The updated values of the VerificationStatus field.", + "description": "The updated values of the `VerificationStatus` field.", "$ref": "#/definitions/UpdateVerificationStatusRequestBody" } }, @@ -2799,7 +2927,7 @@ ] }, "UpdateVerificationStatusRequestBody": { - "description": "The updated values of the VerificationStatus field.", + "description": "The updated values of the `VerificationStatus` field.", "type": "object", "properties": { "status": { @@ -2868,119 +2996,133 @@ "type": "object", "properties": { "errors": { - "description": "One or more unexpected errors occurred during the UpdateShipmentStatus operation.", + "description": "One or more unexpected errors occurred during the `UpdateShipmentStatus` operation.", "$ref": "#/definitions/ErrorList" } }, - "description": "The error response schema for the UpdateShipmentStatus operation." + "description": "The error response schema for the `UpdateShipmentStatus` operation." }, "UpdateVerificationStatusErrorResponse": { "type": "object", "properties": { "errors": { - "description": "One or more unexpected errors occurred during the UpdateVerificationStatus operation.", + "description": "One or more unexpected errors occurred during the `UpdateVerificationStatus` operation.", "$ref": "#/definitions/ErrorList" } }, - "description": "The error response schema for the UpdateVerificationStatus operation." + "description": "The error response schema for the `UpdateVerificationStatus` operation." }, "GetOrdersResponse": { "type": "object", "properties": { "payload": { - "description": "The payload for the getOrders operation.", + "description": "The payload for the `getOrders` operation.", "$ref": "#/definitions/OrdersList" }, "errors": { - "description": "One or more unexpected errors occurred during the getOrders operation.", + "description": "One or more unexpected errors occurred during the `getOrders` operation.", "$ref": "#/definitions/ErrorList" } }, - "description": "The response schema for the getOrders operation." + "description": "The response schema for the `getOrders` operation." }, "GetOrderResponse": { "type": "object", "properties": { "payload": { - "description": "The payload for the getOrder operation.", + "description": "The payload for the `getOrder` operation.", "$ref": "#/definitions/Order" }, "errors": { - "description": "One or more unexpected errors occurred during the getOrder operation.", + "description": "One or more unexpected errors occurred during the `getOrder` operation.", "$ref": "#/definitions/ErrorList" } }, - "description": "The response schema for the getOrder operation." + "description": "The response schema for the `getOrder` operation." }, "GetOrderBuyerInfoResponse": { "type": "object", "properties": { "payload": { - "description": "The payload for the getOrderBuyerInfo operation.", + "description": "The payload for the `getOrderBuyerInfo` operation.", "$ref": "#/definitions/OrderBuyerInfo" }, "errors": { - "description": "One or more unexpected errors occurred during the getOrderBuyerInfo operation.", + "description": "One or more unexpected errors occurred during the `getOrderBuyerInfo` operation.", "$ref": "#/definitions/ErrorList" } }, - "description": "The response schema for the getOrderBuyerInfo operation." + "description": "The response schema for the `getOrderBuyerInfo` operation." }, "GetOrderRegulatedInfoResponse": { "type": "object", "properties": { "payload": { - "description": "The payload for the getOrderRegulatedInfo operation.", + "description": "The payload for the `getOrderRegulatedInfo` operation.", "$ref": "#/definitions/OrderRegulatedInfo" }, "errors": { - "description": "One or more unexpected errors occurred during the getOrderRegulatedInfo operation.", + "description": "One or more unexpected errors occurred during the `getOrderRegulatedInfo` operation.", "$ref": "#/definitions/ErrorList" } }, - "description": "The response schema for the getOrderRegulatedInfo operation." + "description": "The response schema for the `getOrderRegulatedInfo` operation." }, "GetOrderAddressResponse": { "type": "object", "properties": { "payload": { - "description": "The payload for the getOrderAddress operations.", + "description": "The payload for the `getOrderAddress` operations.", "$ref": "#/definitions/OrderAddress" }, "errors": { - "description": "One or more unexpected errors occurred during the getOrderAddress operation.", + "description": "One or more unexpected errors occurred during the `getOrderAddress` operation.", "$ref": "#/definitions/ErrorList" } }, - "description": "The response schema for the getOrderAddress operation." + "description": "The response schema for the `getOrderAddress` operation." }, "GetOrderItemsResponse": { "type": "object", "properties": { "payload": { - "description": "The payload for the getOrderItems operation.", + "description": "The payload for the `getOrderItems` operation.", "$ref": "#/definitions/OrderItemsList" }, "errors": { - "description": "One or more unexpected errors occurred during the getOrderItems operation.", + "description": "One or more unexpected errors occurred during the `getOrderItems` operation.", "$ref": "#/definitions/ErrorList" } }, - "description": "The response schema for the getOrderItems operation." + "description": "The response schema for the `getOrderItems` operation." }, "GetOrderItemsBuyerInfoResponse": { "type": "object", "properties": { "payload": { - "description": "The payload for the getOrderItemsBuyerInfo operation.", + "description": "The payload for the `getOrderItemsBuyerInfo` operation.", "$ref": "#/definitions/OrderItemsBuyerInfoList" }, "errors": { - "description": "One or more unexpected errors occurred during the getOrderItemsBuyerInfo operation.", + "description": "One or more unexpected errors occurred during the `getOrderItemsBuyerInfo` operation.", + "$ref": "#/definitions/ErrorList" + } + }, + "description": "The response schema for the `getOrderItemsBuyerInfo` operation." + }, + "GetOrderFulfillmentInstructionsResponse": { + "type": "object", + "properties": { + "payload" : { + "description": "The payload for the `getOrderFulfillmentInstructions` operation.", + "$ref": "#/definitions/FulfillmentInstructions" + }, + "errors": { + "description": "One or more unexpected errors occurred during the `getOrderFulfillmentInstructions` operation.", "$ref": "#/definitions/ErrorList" } }, - "description": "The response schema for the getOrderItemsBuyerInfo operation." + "description": "The response schema for the `getOrderFulfillmentInstructions` operation." }, "OrdersList": { "type": "object", @@ -3036,7 +3178,7 @@ }, "LastUpdateDate": { "type": "string", - "description": "The date when the order was last updated.\n\n__Note__: LastUpdateDate is returned with an incorrect date for orders that were last updated before 2009-04-01." + "description": "The date when the order was last updated.\n\n**Note**: `LastUpdateDate` is returned with an incorrect date for orders that were last updated before 2009-04-01." }, "OrderStatus": { "type": "string", @@ -3129,12 +3271,12 @@ "description": "The number of items unshipped." }, "PaymentExecutionDetail": { - "description": "Information about sub-payment methods for a Cash On Delivery (COD) order.\n\n__Note__: For a COD order that is paid for using one sub-payment method, one PaymentExecutionDetailItem object is returned, with PaymentExecutionDetailItem/PaymentMethod = COD. For a COD order that is paid for using multiple sub-payment methods, two or more PaymentExecutionDetailItem objects are returned.", + "description": "Information about sub-payment methods for a Cash On Delivery (COD) order.\n\n**Note**: For a COD order that is paid for using one sub-payment method, one `PaymentExecutionDetailItem` object is returned, with `PaymentExecutionDetailItem`/`PaymentMethod` = COD. For a COD order that is paid for using multiple sub-payment methods, two or more `PaymentExecutionDetailItem` objects are returned.", "$ref": "#/definitions/PaymentExecutionDetailItemList" }, "PaymentMethod": { "type": "string", - "description": "The payment method for the order. This property is limited to Cash On Delivery (COD) and Convenience Store (CVS) payment methods. Unless you need the specific COD payment information provided by the PaymentExecutionDetailItem object, we recommend using the PaymentMethodDetails property to get payment method information.", + "description": "The payment method for the order. This property is limited to Cash On Delivery (COD) and Convenience Store (CVS) payment methods. Unless you need the specific COD payment information provided by the `PaymentExecutionDetailItem` object, we recommend using the `PaymentMethodDetails` property to get payment method information.", "enum": [ "COD", "CVS", @@ -3165,7 +3307,7 @@ }, "ShipmentServiceLevelCategory": { "type": "string", - "description": "The shipment service level category of the order.\n\nPossible values: Expedited, FreeEconomy, NextDay, Priority, SameDay, SecondDay, Scheduled, Standard." + "description": "The shipment service level category of the order.\n\n**Possible values**: `Expedited`, `FreeEconomy`, `NextDay`, `Priority`, `SameDay`, `SecondDay`, `Scheduled`, `Standard`." }, "EasyShipShipmentStatus": { "description": "The status of the Amazon Easy Ship order. This property is included only for Amazon Easy Ship orders.", @@ -3210,11 +3352,11 @@ }, "EarliestShipDate": { "type": "string", - "description": "The start of the time period within which you have committed to ship the order. In ISO 8601 date time format. Returned only for seller-fulfilled orders.\n\n__Note__: EarliestShipDate might not be returned for orders placed before February 1, 2013." + "description": "The start of the time period within which you have committed to ship the order. In ISO 8601 date time format. Returned only for seller-fulfilled orders.\n\n**Note**: `EarliestShipDate` might not be returned for orders placed before February 1, 2013." }, "LatestShipDate": { "type": "string", - "description": "The end of the time period within which you have committed to ship the order. In ISO 8601 date time format. Returned only for seller-fulfilled orders.\n\n__Note__: LatestShipDate might not be returned for orders placed before February 1, 2013." + "description": "The end of the time period within which you have committed to ship the order. In ISO 8601 date time format. Returned only for seller-fulfilled orders.\n\n**Note**: `LatestShipDate` might not be returned for orders placed before February 1, 2013." }, "EarliestDeliveryDate": { "type": "string", @@ -3222,7 +3364,7 @@ }, "LatestDeliveryDate": { "type": "string", - "description": "The end of the time period within which you have committed to fulfill the order. In ISO 8601 date time format. Returned only for seller-fulfilled orders that do not have a PendingAvailability, Pending, or Canceled status." + "description": "The end of the time period within which you have committed to fulfill the order. In ISO 8601 date time format. Returned only for seller-fulfilled orders that do not have a `PendingAvailability`, Pending, or Canceled status." }, "IsBusinessOrder": { "type": "boolean", @@ -3242,7 +3384,7 @@ }, "ReplacedOrderId": { "type": "string", - "description": "The order ID value for the order that is being replaced. Returned only if IsReplacementOrder = true." + "description": "The order ID value for the order that is being replaced. Returned only if `IsReplacementOrder` = true." }, "IsReplacementOrder": { "type": "boolean", @@ -3254,7 +3396,7 @@ }, "IsEstimatedShipDateSet": { "type": "boolean", - "description": "When true, the estimated ship date is set for the order. Returned only for Sourcing on Demand orders." + "description": "When true, the estimated ship date is specified for the order. Returned only for Sourcing on Demand orders." }, "IsSoldByAB": { "type": "boolean", @@ -3281,13 +3423,13 @@ }, { "value": "BUSINESS", - "description": "Buyer should be issued a business invoice. Tax information is available in BuyerTaxInformation structure." + "description": "Buyer should be issued a business invoice. Tax information is available in `BuyerTaxInformation` structure." } ], - "description": "The buyer's invoicing preference. Available only in the TR marketplace." + "description": "The buyer's invoicing preference. Sellers can use this data to issue electronic invoices for orders in Turkey.\n\n**Note**: This attribute is only available in the Turkey marketplace." }, "BuyerTaxInformation": { - "description": "Contains the business invoice tax information.", + "description": "Contains the business invoice tax information. Sellers can use this data to issue electronic invoices for business orders in Turkey.\n\n**Note**:\n1. This attribute is only available in the Turkey marketplace for the orders that `BuyerInvoicePreference` is BUSINESS.\n2. The `BuyerTaxInformation` is a restricted data. Use a Restricted Data Token (RDT) and restricted Selling Partner API roles to access this restricted data.", "$ref": "#/definitions/BuyerTaxInformation" }, "FulfillmentInstruction": { @@ -3303,17 +3445,19 @@ "description": "When true, this order is marked to be delivered to an Access Point. The access location is chosen by the customer. Access Points include Amazon Hub Lockers, Amazon Hub Counters, and pickup points operated by carriers." }, "MarketplaceTaxInfo": { - "description": "Tax information about the marketplace.", + "description": "Tax information about the marketplace where the sale took place. Sellers can use this data to issue electronic invoices for orders in Brazil.\n\n**Note**: This attribute is only available in the Brazil marketplace for the orders with `Pending` or `Unshipped` status.", "$ref": "#/definitions/MarketplaceTaxInfo" }, "SellerDisplayName": { "type": "string", - "description": "The seller’s friendly name registered in the marketplace." + "description": "The seller’s friendly name registered in the marketplace where the sale took place. Sellers can use this data to issue electronic invoices for orders in Brazil.\n\n**Note**: This attribute is only available in the Brazil marketplace for the orders with `Pending` or `Unshipped` status." }, "ShippingAddress": { + "description": "The shipping address for the order.\n\n**Note**:\n1. `ShippingAddress` is only available for orders with the following status values: `Unshipped`, `PartiallyShipped`, `Shipped` and `InvoiceUnconfirmed`.\n2. The `ShippingAddress` contains restricted data. Use a Restricted Data Token (RDT) and restricted Selling Partner API roles to access the restricted data in `ShippingAddress`, for example, `Name`, `AddressLine1`, `AddressLine2`, `AddressLine3`, `Phone`, `AddressType` and `ExtendedFields`.", "$ref": "#/definitions/Address" }, "BuyerInfo": { + "description": "Buyer information.\n\n**Note**: The `BuyerInfo` contains restricted data. Use a Restricted Data Token (RDT) and restricted Selling Partner API roles to access the restricted data in `BuyerInfo`, for example, `BuyerName`, `BuyerTaxInfo`, `PurchaseOrderNumber`.", "$ref": "#/definitions/BuyerInfo" }, "AutomatedShippingSettings": { @@ -3351,10 +3495,10 @@ }, "BuyerCounty": { "type": "string", - "description": "The county of the buyer." + "description": "The county of the buyer.\n\n**Note**: This attribute is only available in the Brazil marketplace." }, "BuyerTaxInfo": { - "description": "Tax information about the buyer.", + "description": "Tax information about the buyer. Sellers can use this data to issue electronic invoices for business orders.\n\n**Note**: This attribute is only available for business orders in the Brazil, Mexico and India marketplaces.", "$ref": "#/definitions/BuyerTaxInfo" }, "PurchaseOrderNumber": { @@ -3461,7 +3605,7 @@ "x-docgen-enum-table-extension": [ { "value": "Pending", - "description": "The order is pending approval. Note that the approval might be needed from someone other than the merchant as determined by the RequiresMerchantAction property." + "description": "The order is pending approval. Note that the approval might be needed from someone other than the merchant as determined by the `RequiresMerchantAction` property." }, { "value": "Approved", @@ -3535,7 +3679,7 @@ }, "FieldValue": { "type": "string", - "description": "The content of the field as collected in regulatory form. Note that FileAttachment type fields will contain a URL to download the attachment here." + "description": "The content of the field as collected in regulatory form. Note that `FileAttachment` type fields will contain a URL to download the attachment here." } } }, @@ -3551,9 +3695,10 @@ }, "BuyerCompanyName": { "type": "string", - "description": "Company Name of the Buyer." + "description": "The company name of the contact buyer. For Invoice By Amazon (IBA) orders, the buyer company should be Amazon entities." }, "ShippingAddress": { + "description": "The shipping address for the order.\n\n**Note**: `ShippingAddress` is only available for orders with the following status values: `Unshipped`, `PartiallyShipped`, `Shipped` and `InvoiceUnconfirmed`.", "$ref": "#/definitions/Address" }, "DeliveryPreferences": { @@ -3572,6 +3717,10 @@ "type": "string", "description": "The name." }, + "CompanyName": { + "type": "string", + "description": "The company name of the recipient.\n\n**Note**: This attribute is only available for shipping address." + }, "AddressLine1": { "type": "string", "description": "The street address." @@ -3586,7 +3735,7 @@ }, "City": { "type": "string", - "description": "The city " + "description": "The city." }, "County": { "type": "string", @@ -3614,9 +3763,10 @@ }, "Phone": { "type": "string", - "description": "The phone number. Not returned for Fulfillment by Amazon (FBA) orders." + "description": "The phone number of the buyer.\n\n**Note**: \n1. This attribute is only available for shipping address.\n2. The buyer `Phone` number is suppressed in some cases, including but not limited to \na. `Phone` is suppressed for all Fulfillment by Amazon (FBA) orders.\nb. `Phone` is suppressed for the shipped MFN(Fulfilled by the seller) order when current date is past Latest Delivery Date." }, "ExtendedFields": { + "description": "The container for address extended fields. For example, street name or street number.\n\nNote: Only available for Brazil shipping addresses.", "$ref": "#/definitions/AddressExtendedFields" }, "AddressType": { @@ -3660,7 +3810,7 @@ "description": "The neighborhood. It's smaller than a region and an integral part of an address. It is used in some countries like Brazil." } }, - "description": "The container for address extended fields. For example, street name or street number. Only available for Brazil shipping addresses as of now." + "description": "The container of extended address fields. For example, street name, street number. Only available with Brazil shipping addresses as of now." }, "DeliveryPreferences": { "type": "object", @@ -3875,7 +4025,7 @@ }, "PaymentMethod": { "type": "string", - "description": "A sub-payment method for a COD order.\n\nPossible values:\n* `COD`: Cash On Delivery.\n* `GC`: Gift Card.\n* `PointsAccount`: Amazon Points.\n* `Invoice`: Invoice." + "description": "A sub-payment method for a COD order.\n\n**Possible values**:\n* `COD`: Cash On Delivery.\n* `GC`: Gift Card.\n* `PointsAccount`: Amazon Points.\n* `Invoice`: Invoice." } }, "description": "Information about a sub-payment method used to pay for a COD order." @@ -4004,7 +4154,7 @@ "$ref": "#/definitions/PointsGrantedDetail" }, "ItemPrice": { - "description": "The selling price of the order item. Note that an order item is an item and a quantity. This means that the value of ItemPrice is equal to the selling price of the item multiplied by the quantity ordered. Note that ItemPrice excludes ShippingPrice and GiftWrapPrice.", + "description": "The selling price of the order item. An order item is an item and a quantity. This means that the value of `ItemPrice` is equal to the selling price of the item multiplied by the quantity ordered. Note that `ItemPrice` excludes `ShippingPrice` and `GiftWrapPrice`.", "$ref": "#/definitions/Money" }, "ShippingPrice": { @@ -4047,8 +4197,8 @@ "$ref": "#/definitions/Money" }, "IsGift": { - "type": "boolean", - "description": "When true, the item is a gift." + "type": "string", + "description": "Indicates whether the item is a gift.\n\n**Possible values**: `true`, `false`." }, "ConditionNote": { "type": "string", @@ -4056,11 +4206,11 @@ }, "ConditionId": { "type": "string", - "description": "The condition of the item.\n\nPossible values: New, Used, Collectible, Refurbished, Preorder, Club." + "description": "The condition of the item.\n\n**Possible values**: `New`, `Used`, `Collectible`, `Refurbished`, `Preorder`, `Club`." }, "ConditionSubtypeId": { "type": "string", - "description": "The subcondition of the item.\n\nPossible values: New, Mint, Very Good, Good, Acceptable, Poor, Club, OEM, Warranty, Refurbished Warranty, Refurbished, Open Box, Any, Other." + "description": "The subcondition of the item.\n\n**Possible values**: `New`, `Mint`, `Very Good`, `Good`, `Acceptable`, `Poor`, `Club`, `OEM`, `Warranty`, `Refurbished Warranty`, `Refurbished`, `Open Box`, `Any`, `Other`." }, "ScheduledDeliveryStartDate": { "type": "string", @@ -4072,7 +4222,7 @@ }, "PriceDesignation": { "type": "string", - "description": "Indicates that the selling price is a special price that is available only for Amazon Business orders. For more information about the Amazon Business Seller Program, see the [Amazon Business website](https://www.amazon.com/b2b/info/amazon-business). \n\nPossible values: BusinessPrice - A special price that is available only for Amazon Business orders." + "description": "Indicates that the selling price is a special price that is available only for Amazon Business orders. For more information about the Amazon Business Seller Program, refer to [Amazon Business](https://business.amazon.com). \n\n**Possible values**: `BusinessPrice` - A special price that is available only for Amazon Business orders." }, "TaxCollection": { "description": "Information about withheld taxes.", @@ -4113,6 +4263,7 @@ ] }, "BuyerInfo": { + "description": "A single item's buyer information.\n\n**Note**: The `BuyerInfo` contains restricted data. Use a Restricted Data Token (RDT) and restricted Selling Partner API roles to access the restricted data in `BuyerInfo`, for example, `BuyerCustomizedInfo` and `GiftMessageText`.", "$ref": "#/definitions/ItemBuyerInfo" }, "BuyerRequestedCancel": { @@ -4133,12 +4284,17 @@ "Measurement": { "description": "Measurement information for the order item.", "$ref": "#/definitions/Measurement" + }, + "ShippingConstraints" : { + "description" : "Shipping constraints applicable to this order.", + "$ref" : "#/definitions/ShippingConstraints" } }, "description": "A single order item." }, "SubstitutionPreferences": { "type": "object", + "description": "Substitution preferences for an order item.", "required": [ "SubstitutionType" ], @@ -4181,6 +4337,7 @@ }, "SubstitutionOption": { "type": "object", + "description": "Substitution options for an order item.", "properties": { "ASIN": { "type": "string", @@ -4206,6 +4363,7 @@ }, "Measurement": { "type": "object", + "description": "Measurement information for an order item.", "required": [ "Unit", "Value" @@ -4414,7 +4572,7 @@ "description": "An Amazon-defined order item identifier." }, "BuyerCustomizedInfo": { - "description": "Buyer information for custom orders from the Amazon Custom program.", + "description": "Buyer information for custom orders from the Amazon Custom program.\n\n**Note**: This attribute is only available for MFN (Fulfilled by the seller) orders.", "$ref": "#/definitions/BuyerCustomizedInfoDetail" }, "GiftWrapPrice": { @@ -4427,7 +4585,7 @@ }, "GiftMessageText": { "type": "string", - "description": "A gift message provided by the buyer." + "description": "A gift message provided by the buyer.\n\n**Note**: This attribute is only available for MFN (Fulfilled by the seller) orders." }, "GiftWrapLevel": { "type": "string", @@ -4454,7 +4612,7 @@ "type": "object", "properties": { "NumberOfItems": { - "type": "integer", + "type": "string", "description": "The total number of items that are included in the ASIN." } }, @@ -4502,7 +4660,7 @@ "x-docgen-enum-table-extension": [ { "value": "Amazon Services, Inc.", - "description": "Amazon Services, Inc." + "description": "The `MarketplaceFacilitator` entity for the US marketplace." } ] } @@ -4535,12 +4693,225 @@ "type": "object", "properties": { "FulfillmentSupplySourceId": { - "description": "Denotes the recommended sourceId where the order should be fulfilled from.", + "description": "Denotes the recommended `sourceId` where the order should be fulfilled from.", "type": "string" } }, "description": "Contains the instructions about the fulfillment like where should it be fulfilled from." }, + "FulfillmentInstructions": { + "type": "object", + "description": "Contains all fulfillment plans for the order", + "required": [ + "AmazonOrderId" + ], + "properties": { + "FulfillmentPlans": { + "type": "array", + "description": "List of all fulfillment plans for the given order id", + "items": { + "$ref": "#/definitions/FulfillmentPlan" + } + }, + "AmazonOrderId": { + "type": "string", + "description": "An Amazon-defined order identifier, in 3-7-7 format." + } + } + }, + "FulfillmentPlan": { + "type": "object", + "description": "A collection of order items that are to be fulfilled from the same location with the same shipping, pickup, and service instructions", + "required": [ + "FulfillmentPlanId", + "CreationDate", + "FulfillmentType", + "FulfillmentPlanStatus", + "LastStatusUpdateDate", + "FulfillmentPlanItems" + ], + "properties": { + "FulfillmentPlanId": { + "type": "string", + "description": "Unique identifier of a fulfillment plan" + }, + "CreationDate": { + "type": "string", + "description": "Time when the fulfillment plan was created in ISO 8601 format" + }, + "FulfillmentType": { + "type": "string", + "description": "Type of fulfillment", + "enum": [ + "INSTORE_PICKUP", + "SERVICE", + "SHIP" + ], + "x-docgen-enum-table-extension": [ + { + "value": "INSTORE_PICKUP", + "description": "Buyer picks up items in plan from store" + }, + { + "value": "SERVICE", + "description": "Services that are performed for the buyer, such as assembly" + }, + { + "value": "SHIP", + "description": "Shipped by seller through detailed ship method" + } + ] + }, + "FulfillmentPlanStatus": { + "type": "string", + "description": "Status of the fulfillment plan", + "enum": [ + "ACTIVE", + "ABORTED", + "COMPLETED", + "PARTIALLY_FULFILLED" + ], + "x-docgen-enum-table-extension": [ + { + "value": "ACTIVE", + "description": "The plan is ready to be fulfilled" + }, + { + "value": "ABORTED", + "description": "Plan was canceled, either through order canceling or replanning of shipment." + }, + { + "value": "COMPLETED", + "description": "Plan has been fulfilled and completed" + }, + { + "value": "PARTIALLY_FULFILLED", + "description": "Plan has been partially fulfilled" + } + ] + }, + "LastStatusUpdateDate": { + "type": "string", + "description": "Time when the fulfillment plan's status was last updated in ISO 8601 Format" + }, + "FulfillmentLocation": { + "description": "Represents a location from which the plan is to be fulfilled", + "$ref": "#/definitions/FulfillmentLocation" + }, + "ShippingInstructions": { + "description": "Represents shipping related information of a delivery", + "$ref": "#/definitions/ShippingInstructions" + }, + "FulfillmentPlanItems": { + "description": "Represents the details of order items that are included in the fulfillment plan", + "type": "array", + "items": { + "$ref": "#/definitions/FulfillmentPlanItem" + } + } + } + }, + "FulfillmentLocation": { + "type": "object", + "description": "Represents a location from which the plan is to be fulfilled", + "properties": { + "SupplySourceId": { + "type": "string", + "description": "The fulfillment location identifier" + } + } + }, + "ShippingInstructions": { + "type": "object", + "description": "Represents shipping related information of a delivery", + "properties": { + "CarrierCode": { + "description": "Carrier Name that will deliver the package.", + "type": "string" + }, + "ShippingMethod": { + "description": "Ship method to be used for shipping the order", + "type": "string" + }, + "ShippingConstraints": { + "description": "Models constraints around shipping", + "$ref": "#/definitions/FulfillmentPlanShippingConstraints" + } + } + }, + "ShippingConstraints": { + "type": "object", + "description": "Delivery constraints applicable to this order.", + "properties": { + "PalletDelivery": { + "description": "Indicates if the line item needs to be delivered by pallet", + "$ref": "#/definitions/ConstraintType" + } + } + }, + "ConstraintType": { + "type": "string", + "description": "Details the importance of the constraint present on the item", + "enum": [ + "MANDATORY" + ], + "x-docgen-enum-table-extension": [ + { + "value": "MANDATORY", + "description": "Item must follow the constraint to ensure order is met with buyer's delivery requirements." + } + ] + }, + "FulfillmentPlanShippingConstraints": { + "type": "object", + "description" :"Delivery constraints applicable to this order.", + "properties" : { + "PalletDelivery": { + "description": "Indicates if the line item needs to be delivered by pallet", + "$ref": "#/definitions/FulfillmentPlanConstraintType" + }, + "SignatureConfirmation": { + "description": "Indicates if the line item needs to be shipped with delivery confirmation services", + "$ref": "#/definitions/FulfillmentPlanConstraintType" + } + } + }, + "FulfillmentPlanConstraintType": { + "type": "string", + "description" :"Details the importance of the constraint present on the item", + "enum": [ + "MANDATORY", + "RECOMMENDED" + ], + "x-docgen-enum-table-extension": [ + { + "value": "MANDATORY", + "description": "Item must follow the constraint to ensure order is met with buyer's delivery requirements." + }, + { + "value": "RECOMMENDED", + "description": "Item is recommended to follow the constraint to ensure order is met with buyer's delivery requirements." + } + ] + }, + "FulfillmentPlanItem": { + "type": "object", + "description": "The order items associated with this fulfillment plan", + "required": [ + "OrderItemId", + "Measurement" + ], + "properties": { + "OrderItemId": { + "type": "string", + "description": "An Amazon-defined associated order item's order item identifier." + }, + "Measurement": { + "description": "Measurement information for the order item.", + "$ref": "#/definitions/Measurement" + } + } + }, "BuyerInfo": { "type": "object", "properties": { @@ -4554,10 +4925,10 @@ }, "BuyerCounty": { "type": "string", - "description": "The county of the buyer." + "description": "The county of the buyer.\n\n**Note**: This attribute is only available in the Brazil marketplace." }, "BuyerTaxInfo": { - "description": "Tax information about the buyer.", + "description": "Tax information about the buyer. Sellers can use this data to issue electronic invoices for business orders.\n\n**Note**: This attribute is only available for business orders in the Brazil, Mexico and India marketplaces.", "$ref": "#/definitions/BuyerTaxInfo" }, "PurchaseOrderNumber": { @@ -4571,7 +4942,7 @@ "type": "object", "properties": { "BuyerCustomizedInfo": { - "description": "Buyer information for custom orders from the Amazon Custom program.", + "description": "Buyer information for custom orders from the Amazon Custom program.\n\n**Note**: This attribute is only available for MFN (Fulfilled by the seller) orders.", "$ref": "#/definitions/BuyerCustomizedInfoDetail" }, "GiftWrapPrice": { @@ -4584,7 +4955,7 @@ }, "GiftMessageText": { "type": "string", - "description": "A gift message provided by the buyer." + "description": "A gift message provided by the buyer.\n\n**Note**: This attribute is only available for MFN (Fulfilled by the seller) orders." }, "GiftWrapLevel": { "type": "string", @@ -4615,8 +4986,8 @@ "type": "object", "properties": { "IsBuyerRequestedCancel": { - "type": "boolean", - "description": "When true, the buyer has requested cancellation." + "type": "string", + "description": "Indicate whether the buyer has requested cancellation.\n\n**Possible Values**: `true`, `false`." }, "BuyerCancelReason": { "type": "string", @@ -4714,7 +5085,7 @@ ] }, "ElectronicInvoiceStatus": { - "description": "The status of the electronic invoice. Only available for Easy Ship orders and orders in the BR marketplace.", + "description": "The status of the electronic invoice. Only available for Easy Ship orders and orders in the BR marketplace.", "type": "string", "enum": [ "NotRequired", @@ -4769,10 +5140,10 @@ }, "ConfirmShipmentErrorResponse": { "type": "object", - "description": "The error response schema for an shipment confirmation.", + "description": "The error response schema for the `confirmShipment` operation.", "properties": { "errors": { - "description": "One or more unexpected errors occurred during the confirmShipment operation.", + "description": "One or more unexpected errors occurred during the `confirmShipment` operation.", "$ref": "#/definitions/ErrorList" } } @@ -4793,7 +5164,7 @@ }, "carrierCode": { "type": "string", - "description": "Identifies the carrier that will deliver the package. This field is required for all marketplaces, see [reference](https://developer-docs.amazon.com/sp-api/changelog/carriercode-value-required-in-shipment-confirmations-for-br-mx-ca-sg-au-in-jp-marketplaces)." + "description": "Identifies the carrier that will deliver the package. This field is required for all marketplaces. For the acceptable `CarrierCode` value, refer to the list of CarrierCode." }, "carrierName": { "type": "string", From 324d5006e4ebc4dfdaa0e1d112f1a605fb20a594 Mon Sep 17 00:00:00 2001 From: Jack Evoniuk Date: Wed, 24 Apr 2024 11:33:59 -0700 Subject: [PATCH 306/340] Update Feeds model --- models/.DS_Store | Bin 10244 -> 0 bytes 1 file changed, 0 insertions(+), 0 deletions(-) delete mode 100644 models/.DS_Store diff --git a/models/.DS_Store b/models/.DS_Store deleted file mode 100644 index 6ed8c19aebd8bb7e261e0f97a5a6b28ed80e435c..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 10244 zcmeHMTWl0n7(V~Dz?tFFX(>2`F057*YYV${ZHq;+y#WQW%9geibe-K9+L76rWoLE^ zHfRm{qCiZ%MH7kf^5BCcUSlv`9yCE8d@zj>qsGMOizMQM5j9@^GiSDeEw@t98fP|h z{&V}!ob%21pY#8-gb--UsS!d#gb<21lhPba&T_GKc2BqhUQGo`Kz%}Nk|qi<@K-;f zw_o8S;3ME8;3ME8;3F^{5Wq8=U34~=e(EFOBj6)2jsV*qLU=P7^W-R(?$&{c8v>v# z#cKD$JjMa8PRNrnPmXfws^XYDdH_!qybuGpI<|*cca$+tj&jM>32=1+-jl(LP{4gU z>V@3y1Y%tJsgHn>eaLNfP7s`ZMBpg_uOeI)mtBkPHzA^9spesUD+z3)?he zB!}%x(y)>^%3H~dq1#S4{3!%VN@vWRMQ733^!E6WH5_*oCug@Q+3l>jZC1`yZC5wW8>m2qgtT~Mq(0Idjn;*tk%oPB zp^->9+Ef>64oCOx6X=4Pl`UHmyNtAH9pvi_>t)TaNdLy$PuzkDE?+#?dX)?$xq3%7j#ACRrMhEhIOwY)@-UZ*=$oXBQNWtytnB3H{- zQM#Sgw`Vm>d9}DqzE+SF+GFE<`4F{Yogmpl&o11Cx#~(WLM2t$YA8v~;8jtvkxH9{ zzC6c~SFRRYXgSmg{V6M*#(CSkdaWFz(lL4md-lzW?Q~}}voNc*atEaY_K=d*x`*)` zC}?b;)O|Nt&r~{9-LbOn!Z%jS@-{Y9tEy_Mw{E#xzKu$sppK-Qc^yw4e7XDpqBXHv z{svs|gqm2`dm)rmkrn7^ZXi3*pfY4XIY6E!hsjIi4e}0opL|S?lh4VQu`e6XJg93NKE=Yq3dAJuw zVL#jt2jOve0-l7Y;6-=^UWM1-T{s3G!bk80d<#FoN%#?dh2P+J_#;prs0b_$gaTLc zIR^@dS>HIR+)RKiak4h!o#BDqXS12$y7gk$w6K}ubC{KsSInLSPX7O#%p_uZLnaQ(k#YpI>vf04T(W%2HFHKUcC&9 zGtnM+@w(bzPzsK~X9}BNJTRhFUCwS7>S$MX40cjkm4235$eTIxn}j;YiGQ z=;UeqGC4}#Bge=X()c^_JvmAK1Pb$@5=navEQjl%4(gG(&2S^Mxa3`r)ZGZ1pa*)9 zzT1$%DbQdLhCqibIFNHme4k6=2jCDq43EI0@E9D1XW&_Q4xWb>;0Pmh5m`5$Nmh7! zvSckf6RReiiR_Hj@qFaI#ra*+i8=k!`xEHLSn8-tNJo@ANR*gNSl z(pE=@7b?-Ot4^fK@A;thQs$Dj)W2n%%+S==RK%#$;PJE5AAu4+#Sr`c-+Au;|EK># z{2BTP_y}Aw0#Mo!?`T8yLP$|O68qL3!uw9V*~R*ea_OpI!n&|}_j5cJ*ys4=UR@!| iV(l@nZj?(`9qV0nl>BS{W&bn4kN^GnU;BT@|9=4z5m5>N From f1fe8583ac6e078ef5b9f5421fe364017cdc119d Mon Sep 17 00:00:00 2001 From: Gibran Waldron Date: Wed, 1 May 2024 09:33:38 -0700 Subject: [PATCH 307/340] Update OrdersV0 model. --- models/orders-api-model/ordersV0.json | 420 -------------------------- 1 file changed, 420 deletions(-) diff --git a/models/orders-api-model/ordersV0.json b/models/orders-api-model/ordersV0.json index eec2f95e9..ee15b5934 100644 --- a/models/orders-api-model/ordersV0.json +++ b/models/orders-api-model/ordersV0.json @@ -1278,222 +1278,6 @@ } } }, - "/orders/v0/orders/{orderId}/fulfillmentInstructions": { - "get": { - "tags": [ - "ordersV0" - ], - "description": "Returns the fulfillment instructions for the order that you specify.\n\n**Usage Plan:**\n\n| Rate (requests per second) | Burst |\n| ---- | ---- |\n| 0.5 | 20 |\n\nThe `x-amzn-RateLimit-Limit` response header returns the usage plan rate limits that were applied to the requested operation, when available. The table above indicates the default rate and burst values for this operation. Selling partners whose business demands require higher throughput may see higher rate and burst values then those shown here. For more information, refer to [Usage Plans and Rate Limits in the Selling Partner API](https://developer-docs.amazon.com/sp-api/docs/usage-plans-and-rate-limits-in-the-sp-api).", - "operationId": "getOrderFulfillmentInstructions", - "parameters": [ - { - "name": "orderId", - "in": "path", - "description": "An Amazon-defined order identifier, in 3-7-7 format.", - "required": true, - "type": "string" - } - ], - "responses": { - "200": { - "description": "Success.", - "schema": { - "$ref": "#/definitions/GetOrderFulfillmentInstructionsResponse" - }, - "examples": { - "application/json":{ - "payload": { - "AmazonOrderId": "902-3159896-1390916", - "FulfillmentPlans": [ - { - "CreationDate": "2023-10-25T12:00:00Z", - "FulfillmentPlanId" : "1", - "FulfillmentType" : "SHIP", - "FulfillmentPlanStatus": "ACTIVE", - "LastStatusUpdateDate" : "2023-10-25T12:00:00Z", - "FulfillmentPlanItems": [ - { - "OrderItemId": "6217867064725", - "Measurement" : { - "Unit" : "COUNT", - "Value" : 20 - } - } - ], - "ShippingInstructions": { - "CarrierCode": "UPS", - "ShippingMethod": "Ground", - "ShippingConstraints" : { - "PalletDelivery" : "MANDATORY" - } - }, - "FulfillmentLocation": { - "SupplySourceId": "bb3e1352-a3b4-4b99-aeb7-b1a923837ef2" - } - } - ] - } - } - }, - "headers": { - "x-amzn-RateLimit-Limit": { - "type": "string", - "description": "Your rate limit (requests per second) for this operation." - }, - "x-amzn-RequestId": { - "type": "string", - "description": "Unique request reference identifier." - } - }, - "x-amzn-api-sandbox": { - "static": [ - { - "request": { - "parameters": { - "orderId": { - "value": "TEST_CASE_200" - } - } - }, - "response": { - "payload": { - "AmazonOrderId": "TEST_CASE_200", - "FulfillmentPlans": [{ - "CreationDate": "2023-10-25T12:00:00Z", - "FulfillmentPlanId" : "1", - "FulfillmentType" : "SHIP", - "FulfillmentPlanStatus": "ACTIVE", - "LastStatusUpdateDate" : "2023-10-25T12:00:00Z", - "FulfillmentPlanItems": [ - { - "OrderItemId": "6217867064725", - "Measurement" : { - "Unit" : "COUNT", - "Value" : 20 - } - } - ], - "ShippingInstructions": { - "CarrierCode": "UPS", - "ShippingMethod": "Ground", - "ShippingConstraints" : { - "PalletDelivery" : "MANDATORY" - } - }, - "FulfillmentLocation": { - "SupplySourceId": "bb3e1352-a3b4-4b99-aeb7-b1a923837ef2" - } - }] - } - } - } - ] - } - }, - "400": { - "description": "Request has missing or invalid parameters and cannot be parsed.", - "schema": { - "$ref": "#/definitions/GetOrderFulfillmentInstructionsResponse" - }, - "headers": { - "x-amzn-RateLimit-Limit": { - "type": "string", - "description": "Your rate limit (requests per second) for this operation." - }, - "x-amzn-RequestId": { - "type": "string", - "description": "Unique request reference identifier." - } - }, - "x-amzn-api-sandbox": { - "static": [ - { - "request": { - "parameters": { - "orderId": { - "value": "TEST_CASE_400" - } - } - }, - "response": { - "errors": [ - { - "code": "InvalidInput", - "message": "Invalid Input" - } - ] - } - } - ] - } - }, - "403": { - "description": "Indicates access to the resource is forbidden. Possible reasons include Access Denied, Unauthorized, Expired Token, or Invalid Signature.", - "schema": { - "$ref": "#/definitions/GetOrderFulfillmentInstructionsResponse" - }, - "headers": { - "x-amzn-RequestId": { - "type": "string", - "description": "Unique request reference identifier." - } - } - }, - "404": { - "description": "The resource specified does not exist.", - "schema": { - "$ref": "#/definitions/GetOrderFulfillmentInstructionsResponse" - }, - "headers": { - "x-amzn-RateLimit-Limit": { - "type": "string", - "description": "Your rate limit (requests per second) for this operation." - }, - "x-amzn-RequestId": { - "type": "string", - "description": "Unique request reference identifier." - } - } - }, - "429": { - "description": "The frequency of requests was greater than allowed.", - "schema": { - "$ref": "#/definitions/GetOrderFulfillmentInstructionsResponse" - }, - "headers": { - "x-amzn-RequestId": { - "type": "string", - "description": "Unique request reference identifier." - } - } - }, - "500": { - "description": "An unexpected condition occurred that prevented the server from fulfilling the request.", - "schema": { - "$ref": "#/definitions/GetOrderFulfillmentInstructionsResponse" - }, - "headers": { - "x-amzn-RequestId": { - "type": "string", - "description": "Unique request reference identifier." - } - } - }, - "503": { - "description": "Temporary overloading or maintenance of the server.", - "schema": { - "$ref": "#/definitions/GetOrderFulfillmentInstructionsResponse" - }, - "headers": { - "x-amzn-RequestId": { - "type": "string", - "description": "Unique request reference identifier." - } - } - } - } - } - }, "/orders/v0/orders/{orderId}/orderItems": { "get": { "tags": [ @@ -3110,20 +2894,6 @@ }, "description": "The response schema for the `getOrderItemsBuyerInfo` operation." }, - "GetOrderFulfillmentInstructionsResponse": { - "type": "object", - "properties": { - "payload" : { - "description": "The payload for the `getOrderFulfillmentInstructions` operation.", - "$ref": "#/definitions/FulfillmentInstructions" - }, - "errors": { - "description": "One or more unexpected errors occurred during the `getOrderFulfillmentInstructions` operation.", - "$ref": "#/definitions/ErrorList" - } - }, - "description": "The response schema for the `getOrderFulfillmentInstructions` operation." - }, "OrdersList": { "type": "object", "required": [ @@ -4699,146 +4469,6 @@ }, "description": "Contains the instructions about the fulfillment like where should it be fulfilled from." }, - "FulfillmentInstructions": { - "type": "object", - "description": "Contains all fulfillment plans for the order", - "required": [ - "AmazonOrderId" - ], - "properties": { - "FulfillmentPlans": { - "type": "array", - "description": "List of all fulfillment plans for the given order id", - "items": { - "$ref": "#/definitions/FulfillmentPlan" - } - }, - "AmazonOrderId": { - "type": "string", - "description": "An Amazon-defined order identifier, in 3-7-7 format." - } - } - }, - "FulfillmentPlan": { - "type": "object", - "description": "A collection of order items that are to be fulfilled from the same location with the same shipping, pickup, and service instructions", - "required": [ - "FulfillmentPlanId", - "CreationDate", - "FulfillmentType", - "FulfillmentPlanStatus", - "LastStatusUpdateDate", - "FulfillmentPlanItems" - ], - "properties": { - "FulfillmentPlanId": { - "type": "string", - "description": "Unique identifier of a fulfillment plan" - }, - "CreationDate": { - "type": "string", - "description": "Time when the fulfillment plan was created in ISO 8601 format" - }, - "FulfillmentType": { - "type": "string", - "description": "Type of fulfillment", - "enum": [ - "INSTORE_PICKUP", - "SERVICE", - "SHIP" - ], - "x-docgen-enum-table-extension": [ - { - "value": "INSTORE_PICKUP", - "description": "Buyer picks up items in plan from store" - }, - { - "value": "SERVICE", - "description": "Services that are performed for the buyer, such as assembly" - }, - { - "value": "SHIP", - "description": "Shipped by seller through detailed ship method" - } - ] - }, - "FulfillmentPlanStatus": { - "type": "string", - "description": "Status of the fulfillment plan", - "enum": [ - "ACTIVE", - "ABORTED", - "COMPLETED", - "PARTIALLY_FULFILLED" - ], - "x-docgen-enum-table-extension": [ - { - "value": "ACTIVE", - "description": "The plan is ready to be fulfilled" - }, - { - "value": "ABORTED", - "description": "Plan was canceled, either through order canceling or replanning of shipment." - }, - { - "value": "COMPLETED", - "description": "Plan has been fulfilled and completed" - }, - { - "value": "PARTIALLY_FULFILLED", - "description": "Plan has been partially fulfilled" - } - ] - }, - "LastStatusUpdateDate": { - "type": "string", - "description": "Time when the fulfillment plan's status was last updated in ISO 8601 Format" - }, - "FulfillmentLocation": { - "description": "Represents a location from which the plan is to be fulfilled", - "$ref": "#/definitions/FulfillmentLocation" - }, - "ShippingInstructions": { - "description": "Represents shipping related information of a delivery", - "$ref": "#/definitions/ShippingInstructions" - }, - "FulfillmentPlanItems": { - "description": "Represents the details of order items that are included in the fulfillment plan", - "type": "array", - "items": { - "$ref": "#/definitions/FulfillmentPlanItem" - } - } - } - }, - "FulfillmentLocation": { - "type": "object", - "description": "Represents a location from which the plan is to be fulfilled", - "properties": { - "SupplySourceId": { - "type": "string", - "description": "The fulfillment location identifier" - } - } - }, - "ShippingInstructions": { - "type": "object", - "description": "Represents shipping related information of a delivery", - "properties": { - "CarrierCode": { - "description": "Carrier Name that will deliver the package.", - "type": "string" - }, - "ShippingMethod": { - "description": "Ship method to be used for shipping the order", - "type": "string" - }, - "ShippingConstraints": { - "description": "Models constraints around shipping", - "$ref": "#/definitions/FulfillmentPlanShippingConstraints" - } - } - }, "ShippingConstraints": { "type": "object", "description": "Delivery constraints applicable to this order.", @@ -4862,56 +4492,6 @@ } ] }, - "FulfillmentPlanShippingConstraints": { - "type": "object", - "description" :"Delivery constraints applicable to this order.", - "properties" : { - "PalletDelivery": { - "description": "Indicates if the line item needs to be delivered by pallet", - "$ref": "#/definitions/FulfillmentPlanConstraintType" - }, - "SignatureConfirmation": { - "description": "Indicates if the line item needs to be shipped with delivery confirmation services", - "$ref": "#/definitions/FulfillmentPlanConstraintType" - } - } - }, - "FulfillmentPlanConstraintType": { - "type": "string", - "description" :"Details the importance of the constraint present on the item", - "enum": [ - "MANDATORY", - "RECOMMENDED" - ], - "x-docgen-enum-table-extension": [ - { - "value": "MANDATORY", - "description": "Item must follow the constraint to ensure order is met with buyer's delivery requirements." - }, - { - "value": "RECOMMENDED", - "description": "Item is recommended to follow the constraint to ensure order is met with buyer's delivery requirements." - } - ] - }, - "FulfillmentPlanItem": { - "type": "object", - "description": "The order items associated with this fulfillment plan", - "required": [ - "OrderItemId", - "Measurement" - ], - "properties": { - "OrderItemId": { - "type": "string", - "description": "An Amazon-defined associated order item's order item identifier." - }, - "Measurement": { - "description": "Measurement information for the order item.", - "$ref": "#/definitions/Measurement" - } - } - }, "BuyerInfo": { "type": "object", "properties": { From 4d128937851944d786ff58263cd5b0165d6407e2 Mon Sep 17 00:00:00 2001 From: Gibran Waldron Date: Thu, 9 May 2024 11:28:47 -0700 Subject: [PATCH 308/340] Add Economics DK schema, and update sales and trafic schemas. --- ...alytics_salesAndTraffic_2023_11_15.graphql | 22 +++++++++---------- 1 file changed, 11 insertions(+), 11 deletions(-) diff --git a/schemas/data-kiosk/analytics_salesAndTraffic_2023_11_15.graphql b/schemas/data-kiosk/analytics_salesAndTraffic_2023_11_15.graphql index 4347e7a4b..6afb98538 100644 --- a/schemas/data-kiosk/analytics_salesAndTraffic_2023_11_15.graphql +++ b/schemas/data-kiosk/analytics_salesAndTraffic_2023_11_15.graphql @@ -9,9 +9,9 @@ retentions, the shortest (minimum) retention is applied to the query. The retention of a query's resulting documents always matches the retention of the query. """ directive @resultRetention( - "An ISO 8601 duration." - duration: String! -) on FIELD_DEFINITION + "An ISO 8601 duration." + duration: String! + ) on FIELD_DEFINITION "Monetary amount with the corresponding currency code." type Amount { @@ -26,19 +26,19 @@ type Analytics_SalesAndTraffic_2023_11_15 { "A query to retrieve sales and traffic data for the seller's account aggregated by ASIN." salesAndTrafficByAsin( "Determines how the sales and traffic data should be aggregated." - aggregateBy: AsinGranularity!, + aggregateBy: AsinGranularity!, """ The end date of the sales and traffic data to retrieve. If a date granularity is specified and the provided end date occurs mid-week or mid-month, the preceding Saturday for WEEK date granularity or the last day of the previous month for MONTH date granularity will be used instead. """ - endDate: Date!, + endDate: Date!, """ The marketplace identifiers to retrieve sales and traffic data for. If omitted, sales and traffic data for all applicable marketplaces will be retrieved. """ - marketplaceIds: [String], + marketplaceIds: [String], """ The start date of the sales and traffic data to retrieve. The start date must be no more than two years ago. If a date granularity is specified and @@ -51,19 +51,19 @@ type Analytics_SalesAndTraffic_2023_11_15 { "A query to retrieve sales and traffic data for the seller's account aggregated by date." salesAndTrafficByDate( "Determines how the sales and traffic data should be aggregated." - aggregateBy: DateGranularity!, + aggregateBy: DateGranularity!, """ The end date of the sales and traffic data to retrieve. If the provided end date occurs mid-week or mid-month, the preceding Saturday for WEEK date granularity or the last day of the previous month for MONTH date granularity will be used instead. """ - endDate: Date!, + endDate: Date!, """ The marketplace identifiers to retrieve sales and traffic data for. If omitted, sales and traffic data for all applicable marketplaces will be retrieved. """ - marketplaceIds: [String], + marketplaceIds: [String], """ The start date of the sales and traffic data to retrieve. The start date must be no more than two years ago. If the provided start date occurs @@ -573,8 +573,8 @@ enum DateGranularity { WEEK } -"Date" +"An RFC-3339 compliant Full Date Scalar. Example: \"2023-11-15\"" scalar Date -"Long" +"A Scalar for the primitive long type." scalar Long From 2c46132c6dcdb1d36882b8019d3a9142e638eb4d Mon Sep 17 00:00:00 2001 From: Gibran Waldron Date: Wed, 22 May 2024 10:07:24 -0700 Subject: [PATCH 309/340] Update Product Pricing API v2022-05-01 getCompetitiveSummary. --- models/product-pricing-api-model/productPricing_2022-05-01.json | 1 - 1 file changed, 1 deletion(-) diff --git a/models/product-pricing-api-model/productPricing_2022-05-01.json b/models/product-pricing-api-model/productPricing_2022-05-01.json index a0e6f466d..2943186c6 100644 --- a/models/product-pricing-api-model/productPricing_2022-05-01.json +++ b/models/product-pricing-api-model/productPricing_2022-05-01.json @@ -1436,7 +1436,6 @@ ], "properties": { "name": { - "type": "string", "description": "The name of the reference price like `CompetitivePriceThreshold`." }, "price": { From 710174ab6fb0a3f79c6c4bf93d281e521671afd5 Mon Sep 17 00:00:00 2001 From: lisa-delaney Date: Wed, 22 May 2024 10:49:37 -0700 Subject: [PATCH 310/340] Update Catalog Items API v2022 --- models/catalog-items-api-model/catalogItems_2022-04-01.json | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/models/catalog-items-api-model/catalogItems_2022-04-01.json b/models/catalog-items-api-model/catalogItems_2022-04-01.json index a73e07d33..1047cb99e 100644 --- a/models/catalog-items-api-model/catalogItems_2022-04-01.json +++ b/models/catalog-items-api-model/catalogItems_2022-04-01.json @@ -29,7 +29,7 @@ "tags": [ "catalog" ], - "description": "Search for and return a list of Amazon catalog items and associated information either by identifier or by keywords.\n\n**Usage Plans:**\n\n| Rate (requests per second) | Burst |\n| ---- | ---- |\n| 2 | 2 |\n\nThe `x-amzn-RateLimit-Limit` response header returns the usage plan rate limits that were applied to the requested operation, when available. The table above indicates the default rate and burst values for this operation. Selling partners whose business demands require higher throughput may observe higher rate and burst values than those shown here. For more information, refer to the [Usage Plans and Rate Limits in the Selling Partner API](doc:usage-plans-and-rate-limits-in-the-sp-api).", + "description": "Search for and return a list of Amazon catalog items and associated information either by identifier or by keywords.\n\n**Usage Plans:**\n\n| Rate (requests per second) | Burst |\n| ---- | ---- |\n| 5 | 5 |\n\nThe `x-amzn-RateLimit-Limit` response header returns the usage plan rate limits that were applied to the requested operation, when available. The table above indicates the default rate and burst values for this operation. Selling partners whose business demands require higher throughput may observe higher rate and burst values than those shown here. For more information, refer to the [Usage Plans and Rate Limits in the Selling Partner API](doc:usage-plans-and-rate-limits-in-the-sp-api).", "operationId": "searchCatalogItems", "consumes": [ "application/json" @@ -1668,7 +1668,7 @@ "tags": [ "catalog" ], - "description": "Retrieves details for an item in the Amazon catalog.\n\n**Usage Plan:**\n\n| Rate (requests per second) | Burst |\n| ---- | ---- |\n| 2 | 2 |\n\nThe `x-amzn-RateLimit-Limit` response header returns the usage plan rate limits that were applied to the requested operation, when available. The table above indicates the default rate and burst values for this operation. Selling partners whose business demands require higher throughput may observe higher rate and burst values than those shown here. For more information, refer to the [Usage Plans and Rate Limits in the Selling Partner API](doc:usage-plans-and-rate-limits-in-the-sp-api).", + "description": "Retrieves details for an item in the Amazon catalog.\n\n**Usage Plan:**\n\n| Rate (requests per second) | Burst |\n| ---- | ---- |\n| 5 | 5 |\n\nThe `x-amzn-RateLimit-Limit` response header returns the usage plan rate limits that were applied to the requested operation, when available. The table above indicates the default rate and burst values for this operation. Selling partners whose business demands require higher throughput may observe higher rate and burst values than those shown here. For more information, refer to the [Usage Plans and Rate Limits in the Selling Partner API](doc:usage-plans-and-rate-limits-in-the-sp-api).", "operationId": "getCatalogItem", "consumes": [ "application/json" From 92f82c31415e5aa05db2c6dd831dc2b826c91374 Mon Sep 17 00:00:00 2001 From: Gibran Waldron Date: Wed, 22 May 2024 15:03:10 -0700 Subject: [PATCH 311/340] Update Product Pricing API v2022-05-01 getCompetitiveSummary. --- models/product-pricing-api-model/productPricing_2022-05-01.json | 1 + 1 file changed, 1 insertion(+) diff --git a/models/product-pricing-api-model/productPricing_2022-05-01.json b/models/product-pricing-api-model/productPricing_2022-05-01.json index 2943186c6..a0e6f466d 100644 --- a/models/product-pricing-api-model/productPricing_2022-05-01.json +++ b/models/product-pricing-api-model/productPricing_2022-05-01.json @@ -1436,6 +1436,7 @@ ], "properties": { "name": { + "type": "string", "description": "The name of the reference price like `CompetitivePriceThreshold`." }, "price": { From 54b3fbe7ce03f9fb305e6ce14d8e2afdabc4b1d3 Mon Sep 17 00:00:00 2001 From: Shreeharsh <162564990+shreeharsh-a@users.noreply.github.com> Date: Wed, 29 May 2024 13:22:51 +0530 Subject: [PATCH 312/340] Update README.md --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index 0d6c3d98c..5c3396158 100644 --- a/README.md +++ b/README.md @@ -7,7 +7,7 @@ The [clients directory](https://github.com/amzn/selling-partner-api-models/tree/ The [schemas directory](https://github.com/amzn/selling-partner-api-models/tree/main/schemas) contains all of the currently available Selling Partner Api schemas. -**Note:** For any issues related to SP API like bugs or troubleshooting, please reach out to [Developer Support](https://developer.amazonservices.com/support) so that the right team can help / channel your inputs (in case of bugs / feature requests) to the development team. +**Note:** For any issues related to SP API like bugs or troubleshooting, please reach out to Developer Support so that the right team can help / channel your inputs (in case of bugs / feature requests) to the development team. ## Security From c34f349da75182719039dce280d7706a8b36f158 Mon Sep 17 00:00:00 2001 From: Shreeharsh <162564990+shreeharsh-a@users.noreply.github.com> Date: Wed, 29 May 2024 18:53:27 +0530 Subject: [PATCH 313/340] Update README.md --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index 5c3396158..0d6c3d98c 100644 --- a/README.md +++ b/README.md @@ -7,7 +7,7 @@ The [clients directory](https://github.com/amzn/selling-partner-api-models/tree/ The [schemas directory](https://github.com/amzn/selling-partner-api-models/tree/main/schemas) contains all of the currently available Selling Partner Api schemas. -**Note:** For any issues related to SP API like bugs or troubleshooting, please reach out to Developer Support so that the right team can help / channel your inputs (in case of bugs / feature requests) to the development team. +**Note:** For any issues related to SP API like bugs or troubleshooting, please reach out to [Developer Support](https://developer.amazonservices.com/support) so that the right team can help / channel your inputs (in case of bugs / feature requests) to the development team. ## Security From b06387412a4d53964e6746bc05e16a3ca348dde0 Mon Sep 17 00:00:00 2001 From: Jack Evoniuk Date: Tue, 4 Jun 2024 09:54:22 -0700 Subject: [PATCH 314/340] Update the Fulfillment Inbound v2024-03-20 model --- .../fulfillmentInboundv2024-03-20.json | 9875 ----------------- 1 file changed, 9875 deletions(-) delete mode 100644 models/fulfillment-inbound-api-model/fulfillmentInboundv2024-03-20.json diff --git a/models/fulfillment-inbound-api-model/fulfillmentInboundv2024-03-20.json b/models/fulfillment-inbound-api-model/fulfillmentInboundv2024-03-20.json deleted file mode 100644 index e06624036..000000000 --- a/models/fulfillment-inbound-api-model/fulfillmentInboundv2024-03-20.json +++ /dev/null @@ -1,9875 +0,0 @@ -{ - "swagger": "2.0", - "info": { - "contact": { - "name": "Selling Partner API Developer Support", - "url": "https://sellercentral.amazon.com/gp/mws/contactus.html" - }, - "description": "The Selling Partner API for Fulfillment By Amazon (FBA) Inbound. The FBA Inbound API enables building inbound workflows to create, manage, and send shipments into Amazon's fulfillment network. The API has interoperability with the Send-to-Amazon user interface.", - "license": { - "name": "Apache License 2.0", - "url": "http://www.apache.org/licenses/LICENSE-2.0" - }, - "title": "The Selling Partner API for FBA inbound operations.", - "version": "2024-03-20" - }, - "host": "sellingpartnerapi-na.amazon.com", - "schemes": [ - "https" - ], - "consumes": [ - "application/json" - ], - "produces": [ - "application/json" - ], - "paths": { - "/inbound/fba/2024-03-20/inboundPlans": { - "get": { - "produces": [ - "application/json" - ], - "parameters": [ - { - "description": "The number of inbound plans to return in the response matching the given query.", - "in": "query", - "maximum": 30, - "minimum": 1, - "name": "pageSize", - "type": "integer", - "default": 10 - }, - { - "description": "A token to fetch a certain page when there are multiple pages worth of results. The value of this token is fetched from the `pagination` returned in the API response. In the absence of the token value from the query parameter the API returns the first page of the result.", - "in": "query", - "maxLength": 1024, - "minLength": 0, - "name": "paginationToken", - "type": "string" - }, - { - "description": "The status of an inbound plan.", - "enum": [ - "ACTIVE", - "VOIDED", - "SHIPPED" - ], - "in": "query", - "name": "status", - "type": "string", - "x-docgen-enum-table-extension": [ - { - "value": "ACTIVE", - "description": "An inbound plan that is being worked on." - }, - { - "value": "VOIDED", - "description": "An inbound plan with all shipment cancelled and can no longer be modified." - }, - { - "value": "SHIPPED", - "description": "A completed inbound plan. Only minor modifications can be made at this time." - } - ] - }, - { - "description": "Sort by field.", - "enum": [ - "LAST_UPDATED_TIME", - "CREATION_TIME" - ], - "in": "query", - "name": "sortBy", - "type": "string", - "x-docgen-enum-table-extension": [ - { - "value": "LAST_UPDATED_TIME", - "description": "Last updated time of the inbound plan." - }, - { - "value": "CREATION_TIME", - "description": "Inbound plan creation time." - } - ] - }, - { - "description": "The sort order.", - "enum": [ - "ASC", - "DESC" - ], - "in": "query", - "name": "sortOrder", - "type": "string", - "x-docgen-enum-table-extension": [ - { - "value": "ASC", - "description": "Ascending order." - }, - { - "value": "DESC", - "description": "Descending order." - } - ] - } - ], - "responses": { - "200": { - "description": "ListInboundPlans 200 response", - "schema": { - "$ref": "#/definitions/ListInboundPlansResponse" - }, - "x-amzn-api-sandbox": { - "static": [ - { - "request": { - "parameters": { - "status": { - "value": "ACTIVE" - }, - "sortBy": { - "value": "LAST_UPDATED_TIME" - }, - "sortOrder": { - "value": "ASC" - }, - "pageSize": { - "value": 2 - }, - "paginationToken": { - "value": "paginationToken" - } - } - }, - "response": { - "inboundPlans": [ - { - "inboundPlanId": "wf1234abcd-1234-abcd-5678-1234abcd5678", - "name": "FBA (03/08/2023, 01:15 PM)", - "createdAt": "2023-03-08T13:15:30Z", - "lastUpdatedAt": "2023-03-08T13:15:30Z", - "status": "ACTIVE", - "marketplaceIds": [ - "A2EUQ1WTGCTBG2" - ], - "sourceAddress": { - "name": "name", - "addressLine1": "123 example street", - "addressLine2": "Floor 19", - "city": "Toronto", - "stateOrProvinceCode": "ON", - "countryCode": "CA", - "postalCode": "M1M1M1", - "companyName": "Acme" - }, - "contactInformation": { - "email": "email@email.com", - "phoneNumber": "1234567890" - } - }, - { - "inboundPlanId": "wf2234abcd-1234-abcd-5678-1234abcd5678", - "name": "FBA (03/08/2023, 01:15 PM)", - "createdAt": "2023-03-08T13:15:30Z", - "lastUpdatedAt": "2023-03-08T13:15:30Z", - "status": "ACTIVE", - "marketplaceIds": [ - "A2EUQ1WTGCTBG2" - ], - "sourceAddress": { - "name": "name", - "addressLine1": "123 example street", - "addressLine2": "Floor 19", - "city": "Toronto", - "stateOrProvinceCode": "ON", - "countryCode": "CA", - "postalCode": "M1M1M1", - "companyName": "Acme" - }, - "contactInformation": { - "email": "email@email.com", - "phoneNumber": "1234567890" - } - } - ], - "pagination": { - "nextToken": "nextPaginationToken" - } - } - } - ] - }, - "headers": { - "x-amzn-RequestId": { - "description": "Unique request reference identifier.", - "type": "string" - }, - "x-amzn-RateLimit-Limit": { - "description": "Your rate limit (requests per second) for this operation.", - "type": "string" - } - } - }, - "400": { - "description": "Request has missing or invalid parameters and cannot be parsed.", - "schema": { - "$ref": "#/definitions/ErrorList" - }, - "x-amzn-api-sandbox": { - "static": [ - { - "request": { - "parameters": { - "status": { - "value": "badStatus" - }, - "sortBy": { - "value": "LAST_UPDATED_TIME" - }, - "sortOrder": { - "value": "ASC" - }, - "pageSize": { - "value": 5 - } - } - }, - "response": { - "errors": [ - { - "code": "BadRequest", - "message": "The status is invalid." - } - ] - } - } - ] - }, - "headers": { - "x-amzn-RequestId": { - "description": "Unique request reference identifier.", - "type": "string" - }, - "x-amzn-RateLimit-Limit": { - "description": "Your rate limit (requests per second) for this operation.", - "type": "string" - } - } - }, - "500": { - "description": "An unexpected condition occurred that prevented the server from fulfilling the request.", - "schema": { - "$ref": "#/definitions/ErrorList" - }, - "headers": { - "x-amzn-RequestId": { - "description": "Unique request reference identifier.", - "type": "string" - } - } - }, - "403": { - "description": "Indicates that access to the resource is forbidden. Possible reasons include Access Denied, Unauthorized, Expired Token, or Invalid Signature.", - "schema": { - "$ref": "#/definitions/ErrorList" - }, - "headers": { - "x-amzn-RequestId": { - "description": "Unique request reference identifier.", - "type": "string" - } - } - }, - "404": { - "description": "The resource specified does not exist.", - "schema": { - "$ref": "#/definitions/ErrorList" - }, - "headers": { - "x-amzn-RequestId": { - "description": "Unique request reference identifier.", - "type": "string" - }, - "x-amzn-RateLimit-Limit": { - "description": "Your rate limit (requests per second) for this operation.", - "type": "string" - } - } - }, - "413": { - "description": "The request size exceeded the maximum accepted size.", - "schema": { - "$ref": "#/definitions/ErrorList" - }, - "headers": { - "x-amzn-RequestId": { - "description": "Unique request reference identifier.", - "type": "string" - } - } - }, - "415": { - "description": "The request payload is in an unsupported format.", - "schema": { - "$ref": "#/definitions/ErrorList" - }, - "headers": { - "x-amzn-RequestId": { - "description": "Unique request reference identifier.", - "type": "string" - } - } - }, - "429": { - "description": "The frequency of requests was greater than allowed.", - "schema": { - "$ref": "#/definitions/ErrorList" - }, - "headers": { - "x-amzn-RequestId": { - "description": "Unique request reference identifier.", - "type": "string" - } - } - }, - "503": { - "description": "Temporary overloading or maintenance of the server.", - "schema": { - "$ref": "#/definitions/ErrorList" - }, - "headers": { - "x-amzn-RequestId": { - "description": "Unique request reference identifier.", - "type": "string" - } - } - } - }, - "tags": [ - "fbaInbound" - ], - "description": "Provides a list of inbound plans with minimal information.\n\n**Usage Plan:**\n\n| Rate (requests per second) | Burst |\n| ---- | ---- |\n| 1 | 1 |\n\nThe `x-amzn-RateLimit-Limit` response header returns the usage plan rate limits that were applied to the requested operation, when available. The table above indicates the default rate and burst values for this operation. Selling partners whose business demands require higher throughput may see higher rate and burst values than those shown here. For more information, refer to [Usage Plans and Rate Limits in the Selling Partner API](https://developer-docs.amazon.com/sp-api/docs/usage-plans-and-rate-limits-in-the-sp-api).", - "operationId": "listInboundPlans" - }, - "post": { - "consumes": [ - "application/json" - ], - "produces": [ - "application/json" - ], - "parameters": [ - { - "in": "body", - "name": "body", - "required": true, - "schema": { - "$ref": "#/definitions/CreateInboundPlanRequest" - }, - "description": "The body of the request to `createInboundPlan`." - } - ], - "responses": { - "202": { - "description": "CreateInboundPlan 202 response", - "schema": { - "$ref": "#/definitions/CreateInboundPlanResponse" - }, - "x-amzn-api-sandbox": { - "static": [ - { - "request": { - "parameters": { - "body": { - "value": { - "name": "FBA (03/20/2024, 12:01 PM)", - "contactInformation": { - "email": "email@email.com", - "phoneNumber": "+14161234567" - }, - "sourceAddress": { - "name": "name", - "addressLine1": "123 example street", - "city": "Toronto", - "stateOrProvinceCode": "ON", - "countryCode": "CA", - "postalCode": "M1M1M1" - }, - "destinationMarketplaces": [ - "A2EUQ1WTGCTBG2" - ], - "items": [ - { - "msku": "msku", - "prepOwner": "AMAZON", - "labelOwner": "AMAZON", - "quantity": 2, - "expiration": "2024-01-01", - "manufacturingLotCode": "lotCode" - } - ] - } - } - } - }, - "response": { - "inboundPlanId": "wf1234abcd-1234-abcd-5678-1234abcd5678", - "operationId": "1234abcd-1234-abcd-5678-1234abcd5678" - } - } - ] - }, - "headers": { - "x-amzn-RequestId": { - "description": "Unique request reference identifier.", - "type": "string" - }, - "x-amzn-RateLimit-Limit": { - "description": "Your rate limit (requests per second) for this operation.", - "type": "string" - } - } - }, - "400": { - "description": "Request has missing or invalid parameters and cannot be parsed.", - "schema": { - "$ref": "#/definitions/ErrorList" - }, - "x-amzn-api-sandbox": { - "static": [ - { - "request": { - "parameters": { - "body": { - "value": { - "name": "FBA (03/20/2024, 12:01 PM)", - "contactInformation": { - "email": "email@email.com", - "phoneNumber": "+14161234567" - }, - "sourceAddress": { - "name": "name", - "addressLine1": "123 example street", - "city": "Toronto", - "countryCode": "CA", - "stateOrProvinceCode": "ON", - "postalCode": "M1M1M1" - }, - "destinationMarketplaces": [ - "badMarketplace" - ], - "items": [ - { - "msku": "msku", - "prepOwner": "AMAZON", - "labelOwner": "AMAZON", - "quantity": 2, - "expiration": "2024-01-01", - "manufacturingLotCode": "lotCode" - } - ] - } - } - } - }, - "response": { - "errors": [ - { - "code": "BadRequest", - "message": "Invalid destinationMarketplace provided." - } - ] - } - } - ] - }, - "headers": { - "x-amzn-RequestId": { - "description": "Unique request reference identifier.", - "type": "string" - }, - "x-amzn-RateLimit-Limit": { - "description": "Your rate limit (requests per second) for this operation.", - "type": "string" - } - } - }, - "500": { - "description": "An unexpected condition occurred that prevented the server from fulfilling the request.", - "schema": { - "$ref": "#/definitions/ErrorList" - }, - "headers": { - "x-amzn-RequestId": { - "description": "Unique request reference identifier.", - "type": "string" - } - } - }, - "403": { - "description": "Indicates that access to the resource is forbidden. Possible reasons include Access Denied, Unauthorized, Expired Token, or Invalid Signature.", - "schema": { - "$ref": "#/definitions/ErrorList" - }, - "headers": { - "x-amzn-RequestId": { - "description": "Unique request reference identifier.", - "type": "string" - } - } - }, - "404": { - "description": "The resource specified does not exist.", - "schema": { - "$ref": "#/definitions/ErrorList" - }, - "headers": { - "x-amzn-RequestId": { - "description": "Unique request reference identifier.", - "type": "string" - }, - "x-amzn-RateLimit-Limit": { - "description": "Your rate limit (requests per second) for this operation.", - "type": "string" - } - } - }, - "413": { - "description": "The request size exceeded the maximum accepted size.", - "schema": { - "$ref": "#/definitions/ErrorList" - }, - "headers": { - "x-amzn-RequestId": { - "description": "Unique request reference identifier.", - "type": "string" - } - } - }, - "415": { - "description": "The request payload is in an unsupported format.", - "schema": { - "$ref": "#/definitions/ErrorList" - }, - "headers": { - "x-amzn-RequestId": { - "description": "Unique request reference identifier.", - "type": "string" - } - } - }, - "429": { - "description": "The frequency of requests was greater than allowed.", - "schema": { - "$ref": "#/definitions/ErrorList" - }, - "headers": { - "x-amzn-RequestId": { - "description": "Unique request reference identifier.", - "type": "string" - } - } - }, - "503": { - "description": "Temporary overloading or maintenance of the server.", - "schema": { - "$ref": "#/definitions/ErrorList" - }, - "headers": { - "x-amzn-RequestId": { - "description": "Unique request reference identifier.", - "type": "string" - } - } - } - }, - "tags": [ - "fbaInbound" - ], - "description": "Creates an inbound plan. An inbound plan contains all the necessary information to send shipments into Amazon's fufillment network.\n\n**Usage Plan:**\n\n| Rate (requests per second) | Burst |\n| ---- | ---- |\n| 0.05 | 1 |\n\nThe `x-amzn-RateLimit-Limit` response header returns the usage plan rate limits that were applied to the requested operation, when available. The table above indicates the default rate and burst values for this operation. Selling partners whose business demands require higher throughput may see higher rate and burst values than those shown here. For more information, refer to [Usage Plans and Rate Limits in the Selling Partner API](https://developer-docs.amazon.com/sp-api/docs/usage-plans-and-rate-limits-in-the-sp-api).", - "operationId": "createInboundPlan" - } - }, - "/inbound/fba/2024-03-20/inboundPlans/{inboundPlanId}": { - "get": { - "produces": [ - "application/json" - ], - "parameters": [ - { - "description": "Identifier to an inbound plan.", - "in": "path", - "maxLength": 38, - "minLength": 38, - "name": "inboundPlanId", - "pattern": "^[a-zA-Z0-9-]*$", - "required": true, - "type": "string" - } - ], - "responses": { - "200": { - "description": "GetInboundPlan 200 response", - "schema": { - "$ref": "#/definitions/InboundPlan" - }, - "x-amzn-api-sandbox": { - "static": [ - { - "request": { - "parameters": { - "inboundPlanId": { - "value": "wf1234abcd-1234-abcd-5678-1234abcd5678" - } - } - }, - "response": { - "inboundPlanId": "wf1234abcd-1234-abcd-5678-1234abcd5678", - "name": "FBA (03/20/2024, 12:01 PM)", - "createdAt": "2024-03-20T12:01:00Z", - "lastUpdatedAt": "2024-03-28T13:15:30Z", - "status": "ACTIVE", - "marketplaceIds": [ - "A2EUQ1WTGCTBG2" - ], - "packingOptions": [], - "placementOptions": [], - "shipments": [], - "sourceAddress": { - "name": "name", - "addressLine1": "123 example street", - "addressLine2": "Floor 19", - "city": "Toronto", - "stateOrProvinceCode": "ON", - "countryCode": "CA", - "postalCode": "M1M1M1", - "companyName": "Acme" - }, - "contactInformation": { - "email": "email@email.com", - "phoneNumber": "1234567890" - } - } - } - ] - }, - "headers": { - "x-amzn-RequestId": { - "description": "Unique request reference identifier.", - "type": "string" - }, - "x-amzn-RateLimit-Limit": { - "description": "Your rate limit (requests per second) for this operation.", - "type": "string" - } - } - }, - "400": { - "description": "Request has missing or invalid parameters and cannot be parsed.", - "schema": { - "$ref": "#/definitions/ErrorList" - }, - "x-amzn-api-sandbox": { - "static": [ - { - "request": { - "parameters": { - "inboundPlanId": { - "value": "wfbad4abcd-1234-abcd-5678-1234abcd5678" - } - } - }, - "response": { - "errors": [ - { - "code": "BadRequest", - "message": "The inboundPlanId is malformed." - } - ] - } - } - ] - }, - "headers": { - "x-amzn-RequestId": { - "description": "Unique request reference identifier.", - "type": "string" - }, - "x-amzn-RateLimit-Limit": { - "description": "Your rate limit (requests per second) for this operation.", - "type": "string" - } - } - }, - "500": { - "description": "An unexpected condition occurred that prevented the server from fulfilling the request.", - "schema": { - "$ref": "#/definitions/ErrorList" - }, - "headers": { - "x-amzn-RequestId": { - "description": "Unique request reference identifier.", - "type": "string" - } - } - }, - "403": { - "description": "Indicates that access to the resource is forbidden. Possible reasons include Access Denied, Unauthorized, Expired Token, or Invalid Signature.", - "schema": { - "$ref": "#/definitions/ErrorList" - }, - "headers": { - "x-amzn-RequestId": { - "description": "Unique request reference identifier.", - "type": "string" - } - } - }, - "404": { - "description": "The resource specified does not exist.", - "schema": { - "$ref": "#/definitions/ErrorList" - }, - "headers": { - "x-amzn-RequestId": { - "description": "Unique request reference identifier.", - "type": "string" - }, - "x-amzn-RateLimit-Limit": { - "description": "Your rate limit (requests per second) for this operation.", - "type": "string" - } - } - }, - "413": { - "description": "The request size exceeded the maximum accepted size.", - "schema": { - "$ref": "#/definitions/ErrorList" - }, - "headers": { - "x-amzn-RequestId": { - "description": "Unique request reference identifier.", - "type": "string" - } - } - }, - "415": { - "description": "The request payload is in an unsupported format.", - "schema": { - "$ref": "#/definitions/ErrorList" - }, - "headers": { - "x-amzn-RequestId": { - "description": "Unique request reference identifier.", - "type": "string" - } - } - }, - "429": { - "description": "The frequency of requests was greater than allowed.", - "schema": { - "$ref": "#/definitions/ErrorList" - }, - "headers": { - "x-amzn-RequestId": { - "description": "Unique request reference identifier.", - "type": "string" - } - } - }, - "503": { - "description": "Temporary overloading or maintenance of the server.", - "schema": { - "$ref": "#/definitions/ErrorList" - }, - "headers": { - "x-amzn-RequestId": { - "description": "Unique request reference identifier.", - "type": "string" - } - } - } - }, - "tags": [ - "fbaInbound" - ], - "description": "Fetches the top level information about an inbound plan.\n\n**Usage Plan:**\n\n| Rate (requests per second) | Burst |\n| ---- | ---- |\n| 1 | 1 |\n\nThe `x-amzn-RateLimit-Limit` response header returns the usage plan rate limits that were applied to the requested operation, when available. The table above indicates the default rate and burst values for this operation. Selling partners whose business demands require higher throughput may see higher rate and burst values than those shown here. For more information, refer to [Usage Plans and Rate Limits in the Selling Partner API](https://developer-docs.amazon.com/sp-api/docs/usage-plans-and-rate-limits-in-the-sp-api).", - "operationId": "getInboundPlan" - } - }, - "/inbound/fba/2024-03-20/inboundPlans/{inboundPlanId}/boxes": { - "get": { - "produces": [ - "application/json" - ], - "parameters": [ - { - "description": "Identifier to an inbound plan.", - "in": "path", - "maxLength": 38, - "minLength": 38, - "name": "inboundPlanId", - "pattern": "^[a-zA-Z0-9-]*$", - "required": true, - "type": "string" - }, - { - "description": "The number of boxes to return in the response matching the given query.", - "in": "query", - "maximum": 1000, - "minimum": 1, - "name": "pageSize", - "type": "integer", - "default": 10 - }, - { - "description": "A token to fetch a certain page when there are multiple pages worth of results. The value of this token is fetched from the `pagination` returned in the API response. In the absence of the token value from the query parameter the API returns the first page of the result.", - "in": "query", - "maxLength": 1024, - "minLength": 0, - "name": "paginationToken", - "type": "string" - } - ], - "responses": { - "200": { - "description": "ListInboundPlanBoxes 200 response", - "schema": { - "$ref": "#/definitions/ListInboundPlanBoxesResponse" - }, - "x-amzn-api-sandbox": { - "static": [ - { - "request": { - "parameters": { - "inboundPlanId": { - "value": "wf1234abcd-1234-abcd-5678-1234abcd5678" - }, - "pageSize": { - "value": 2 - }, - "paginationToken": { - "value": "paginationToken" - } - } - }, - "response": { - "boxes": [ - { - "packageId": "pk1234abcd-1234-abcd-5678-1234abcd5678", - "weight": { - "unit": "KG", - "value": 5.5 - }, - "dimensions": { - "unitOfMeasurement": "CM", - "length": 3.0, - "width": 4.0, - "height": 5.0 - }, - "quantity": 2, - "boxId": "boxId", - "templateName": "templateName", - "items": [ - { - "quantity": 5, - "expiration": "2024-01-01", - "manufacturingLotCode": "manufacturingLotCode", - "prepInstructions": [ - { - "prepType": "ITEM_POLYBAGGING", - "prepOwner": "AMAZON", - "fee": { - "code": "USD", - "amount": 10.0 - } - } - ], - "msku": "msku", - "asin": "asin", - "fnsku": "fnsku", - "labelOwner": "AMAZON" - } - ], - "destinationRegion": { - "countryCode": "US", - "state": "CA", - "warehouseId": "ABC1" - } - } - ], - "pagination": { - "nextToken": "nextPaginationToken" - } - } - } - ] - }, - "headers": { - "x-amzn-RequestId": { - "description": "Unique request reference identifier.", - "type": "string" - }, - "x-amzn-RateLimit-Limit": { - "description": "Your rate limit (requests per second) for this operation.", - "type": "string" - } - } - }, - "400": { - "description": "Request has missing or invalid parameters and cannot be parsed.", - "schema": { - "$ref": "#/definitions/ErrorList" - }, - "x-amzn-api-sandbox": { - "static": [ - { - "request": { - "parameters": { - "inboundPlanId": { - "value": "bad234abcd-1234-abcd-5678-1234abcd5678" - }, - "pageSize": { - "value": 2 - }, - "paginationToken": { - "value": "paginationToken" - } - } - }, - "response": { - "errors": [ - { - "code": "BadRequest", - "message": "The requested inboundPlanId does not exist." - } - ] - } - } - ] - }, - "headers": { - "x-amzn-RequestId": { - "description": "Unique request reference identifier.", - "type": "string" - }, - "x-amzn-RateLimit-Limit": { - "description": "Your rate limit (requests per second) for this operation.", - "type": "string" - } - } - }, - "500": { - "description": "An unexpected condition occurred that prevented the server from fulfilling the request.", - "schema": { - "$ref": "#/definitions/ErrorList" - }, - "headers": { - "x-amzn-RequestId": { - "description": "Unique request reference identifier.", - "type": "string" - } - } - }, - "403": { - "description": "Indicates that access to the resource is forbidden. Possible reasons include Access Denied, Unauthorized, Expired Token, or Invalid Signature.", - "schema": { - "$ref": "#/definitions/ErrorList" - }, - "headers": { - "x-amzn-RequestId": { - "description": "Unique request reference identifier.", - "type": "string" - } - } - }, - "404": { - "description": "The resource specified does not exist.", - "schema": { - "$ref": "#/definitions/ErrorList" - }, - "headers": { - "x-amzn-RequestId": { - "description": "Unique request reference identifier.", - "type": "string" - }, - "x-amzn-RateLimit-Limit": { - "description": "Your rate limit (requests per second) for this operation.", - "type": "string" - } - } - }, - "413": { - "description": "The request size exceeded the maximum accepted size.", - "schema": { - "$ref": "#/definitions/ErrorList" - }, - "headers": { - "x-amzn-RequestId": { - "description": "Unique request reference identifier.", - "type": "string" - } - } - }, - "415": { - "description": "The request payload is in an unsupported format.", - "schema": { - "$ref": "#/definitions/ErrorList" - }, - "headers": { - "x-amzn-RequestId": { - "description": "Unique request reference identifier.", - "type": "string" - } - } - }, - "429": { - "description": "The frequency of requests was greater than allowed.", - "schema": { - "$ref": "#/definitions/ErrorList" - }, - "headers": { - "x-amzn-RequestId": { - "description": "Unique request reference identifier.", - "type": "string" - } - } - }, - "503": { - "description": "Temporary overloading or maintenance of the server.", - "schema": { - "$ref": "#/definitions/ErrorList" - }, - "headers": { - "x-amzn-RequestId": { - "description": "Unique request reference identifier.", - "type": "string" - } - } - } - }, - "tags": [ - "fbaInbound" - ], - "description": "Provides a paginated list of box packages in an inbound plan.\n\n**Usage Plan:**\n\n| Rate (requests per second) | Burst |\n| ---- | ---- |\n| 1 | 1 |\n\nThe `x-amzn-RateLimit-Limit` response header returns the usage plan rate limits that were applied to the requested operation, when available. The table above indicates the default rate and burst values for this operation. Selling partners whose business demands require higher throughput may see higher rate and burst values than those shown here. For more information, refer to [Usage Plans and Rate Limits in the Selling Partner API](https://developer-docs.amazon.com/sp-api/docs/usage-plans-and-rate-limits-in-the-sp-api).", - "operationId": "listInboundPlanBoxes" - } - }, - "/inbound/fba/2024-03-20/inboundPlans/{inboundPlanId}/cancellation": { - "put": { - "produces": [ - "application/json" - ], - "parameters": [ - { - "description": "Identifier to an inbound plan.", - "in": "path", - "maxLength": 38, - "minLength": 38, - "name": "inboundPlanId", - "pattern": "^[a-zA-Z0-9-]*$", - "required": true, - "type": "string" - } - ], - "responses": { - "202": { - "description": "CancelInboundPlan 202 response", - "schema": { - "$ref": "#/definitions/CancelInboundPlanResponse" - }, - "x-amzn-api-sandbox": { - "static": [ - { - "request": { - "parameters": { - "inboundPlanId": { - "value": "wf1234abcd-1234-abcd-5678-1234abcd5678" - } - } - }, - "response": { - "operationId": "1234abcd-1234-abcd-5678-1234abcd5678" - } - } - ] - }, - "headers": { - "x-amzn-RequestId": { - "description": "Unique request reference identifier.", - "type": "string" - }, - "x-amzn-RateLimit-Limit": { - "description": "Your rate limit (requests per second) for this operation.", - "type": "string" - } - } - }, - "400": { - "description": "Request has missing or invalid parameters and cannot be parsed.", - "schema": { - "$ref": "#/definitions/ErrorList" - }, - "x-amzn-api-sandbox": { - "static": [ - { - "request": { - "parameters": { - "inboundPlanId": { - "value": "wfbad4abcd-1234-abcd-5678-1234abcd5678" - } - } - }, - "response": { - "errors": [ - { - "code": "BadRequest", - "message": "The inbound plan is already cancelled." - } - ] - } - } - ] - }, - "headers": { - "x-amzn-RequestId": { - "description": "Unique request reference identifier.", - "type": "string" - }, - "x-amzn-RateLimit-Limit": { - "description": "Your rate limit (requests per second) for this operation.", - "type": "string" - } - } - }, - "500": { - "description": "An unexpected condition occurred that prevented the server from fulfilling the request.", - "schema": { - "$ref": "#/definitions/ErrorList" - }, - "headers": { - "x-amzn-RequestId": { - "description": "Unique request reference identifier.", - "type": "string" - } - } - }, - "403": { - "description": "Indicates that access to the resource is forbidden. Possible reasons include Access Denied, Unauthorized, Expired Token, or Invalid Signature.", - "schema": { - "$ref": "#/definitions/ErrorList" - }, - "headers": { - "x-amzn-RequestId": { - "description": "Unique request reference identifier.", - "type": "string" - } - } - }, - "404": { - "description": "The resource specified does not exist.", - "schema": { - "$ref": "#/definitions/ErrorList" - }, - "headers": { - "x-amzn-RequestId": { - "description": "Unique request reference identifier.", - "type": "string" - }, - "x-amzn-RateLimit-Limit": { - "description": "Your rate limit (requests per second) for this operation.", - "type": "string" - } - } - }, - "413": { - "description": "The request size exceeded the maximum accepted size.", - "schema": { - "$ref": "#/definitions/ErrorList" - }, - "headers": { - "x-amzn-RequestId": { - "description": "Unique request reference identifier.", - "type": "string" - } - } - }, - "415": { - "description": "The request payload is in an unsupported format.", - "schema": { - "$ref": "#/definitions/ErrorList" - }, - "headers": { - "x-amzn-RequestId": { - "description": "Unique request reference identifier.", - "type": "string" - } - } - }, - "429": { - "description": "The frequency of requests was greater than allowed.", - "schema": { - "$ref": "#/definitions/ErrorList" - }, - "headers": { - "x-amzn-RequestId": { - "description": "Unique request reference identifier.", - "type": "string" - } - } - }, - "503": { - "description": "Temporary overloading or maintenance of the server.", - "schema": { - "$ref": "#/definitions/ErrorList" - }, - "headers": { - "x-amzn-RequestId": { - "description": "Unique request reference identifier.", - "type": "string" - } - } - } - }, - "tags": [ - "fbaInbound" - ], - "description": "Cancels an Inbound Plan. Charges may apply if the cancellation is performed outside of a void window. The window\n for Amazon Partnered Carriers is 24 hours for Small Parcel Delivery (SPD) and one hour for Less-Than-Truckload (LTL) carrier shipments.\n\n**Usage Plan:**\n\n| Rate (requests per second) | Burst |\n| ---- | ---- |\n| 0.05 | 1 |\n\nThe `x-amzn-RateLimit-Limit` response header returns the usage plan rate limits that were applied to the requested operation, when available. The table above indicates the default rate and burst values for this operation. Selling partners whose business demands require higher throughput may see higher rate and burst values than those shown here. For more information, refer to [Usage Plans and Rate Limits in the Selling Partner API](https://developer-docs.amazon.com/sp-api/docs/usage-plans-and-rate-limits-in-the-sp-api).", - "operationId": "cancelInboundPlan" - } - }, - "/inbound/fba/2024-03-20/inboundPlans/{inboundPlanId}/items": { - "get": { - "produces": [ - "application/json" - ], - "parameters": [ - { - "description": "Identifier to an inbound plan.", - "in": "path", - "maxLength": 38, - "minLength": 38, - "name": "inboundPlanId", - "pattern": "^[a-zA-Z0-9-]*$", - "required": true, - "type": "string" - }, - { - "description": "The number of items to return in the response matching the given query.", - "in": "query", - "maximum": 1000, - "minimum": 1, - "name": "pageSize", - "type": "integer", - "default": 10 - }, - { - "description": "A token to fetch a certain page when there are multiple pages worth of results. The value of this token is fetched from the `pagination` returned in the API response. In the absence of the token value from the query parameter the API returns the first page of the result.", - "in": "query", - "maxLength": 1024, - "minLength": 0, - "name": "paginationToken", - "type": "string" - } - ], - "responses": { - "200": { - "description": "ListInboundPlanItems 200 response", - "schema": { - "$ref": "#/definitions/ListInboundPlanItemsResponse" - }, - "x-amzn-api-sandbox": { - "static": [ - { - "request": { - "parameters": { - "inboundPlanId": { - "value": "wf1234abcd-1234-abcd-5678-1234abcd5678" - }, - "pageSize": { - "value": 2 - }, - "paginationToken": { - "value": "paginationToken" - } - } - }, - "response": { - "items": [ - { - "quantity": 5, - "expiration": "2024-01-01", - "manufacturingLotCode": "manufacturingLotCode", - "prepInstructions": [ - { - "prepType": "ITEM_POLYBAGGING", - "prepOwner": "AMAZON", - "fee": { - "code": "USD", - "amount": 10.0 - } - } - ], - "msku": "msku", - "asin": "asin", - "fnsku": "fnsku", - "labelOwner": "AMAZON" - } - ], - "pagination": { - "nextToken": "nextPaginationToken" - } - } - } - ] - }, - "headers": { - "x-amzn-RequestId": { - "description": "Unique request reference identifier.", - "type": "string" - }, - "x-amzn-RateLimit-Limit": { - "description": "Your rate limit (requests per second) for this operation.", - "type": "string" - } - } - }, - "400": { - "description": "Request has missing or invalid parameters and cannot be parsed.", - "schema": { - "$ref": "#/definitions/ErrorList" - }, - "x-amzn-api-sandbox": { - "static": [ - { - "request": { - "parameters": { - "inboundPlanId": { - "value": "wfbad4abcd-1234-abcd-5678-1234abcd5678" - }, - "pageSize": { - "value": 1 - }, - "paginationToken": { - "value": "" - } - } - }, - "response": { - "errors": [ - { - "code": "BadRequest", - "message": "The requested inbound plan does not exist." - } - ] - } - } - ] - }, - "headers": { - "x-amzn-RequestId": { - "description": "Unique request reference identifier.", - "type": "string" - }, - "x-amzn-RateLimit-Limit": { - "description": "Your rate limit (requests per second) for this operation.", - "type": "string" - } - } - }, - "500": { - "description": "An unexpected condition occurred that prevented the server from fulfilling the request.", - "schema": { - "$ref": "#/definitions/ErrorList" - }, - "headers": { - "x-amzn-RequestId": { - "description": "Unique request reference identifier.", - "type": "string" - } - } - }, - "403": { - "description": "Indicates that access to the resource is forbidden. Possible reasons include Access Denied, Unauthorized, Expired Token, or Invalid Signature.", - "schema": { - "$ref": "#/definitions/ErrorList" - }, - "headers": { - "x-amzn-RequestId": { - "description": "Unique request reference identifier.", - "type": "string" - } - } - }, - "404": { - "description": "The resource specified does not exist.", - "schema": { - "$ref": "#/definitions/ErrorList" - }, - "headers": { - "x-amzn-RequestId": { - "description": "Unique request reference identifier.", - "type": "string" - }, - "x-amzn-RateLimit-Limit": { - "description": "Your rate limit (requests per second) for this operation.", - "type": "string" - } - } - }, - "413": { - "description": "The request size exceeded the maximum accepted size.", - "schema": { - "$ref": "#/definitions/ErrorList" - }, - "headers": { - "x-amzn-RequestId": { - "description": "Unique request reference identifier.", - "type": "string" - } - } - }, - "415": { - "description": "The request payload is in an unsupported format.", - "schema": { - "$ref": "#/definitions/ErrorList" - }, - "headers": { - "x-amzn-RequestId": { - "description": "Unique request reference identifier.", - "type": "string" - } - } - }, - "429": { - "description": "The frequency of requests was greater than allowed.", - "schema": { - "$ref": "#/definitions/ErrorList" - }, - "headers": { - "x-amzn-RequestId": { - "description": "Unique request reference identifier.", - "type": "string" - } - } - }, - "503": { - "description": "Temporary overloading or maintenance of the server.", - "schema": { - "$ref": "#/definitions/ErrorList" - }, - "headers": { - "x-amzn-RequestId": { - "description": "Unique request reference identifier.", - "type": "string" - } - } - } - }, - "tags": [ - "fbaInbound" - ], - "description": "Provides a paginated list of item packages in an inbound plan.\n\n**Usage Plan:**\n\n| Rate (requests per second) | Burst |\n| ---- | ---- |\n| 1 | 1 |\n\nThe `x-amzn-RateLimit-Limit` response header returns the usage plan rate limits that were applied to the requested operation, when available. The table above indicates the default rate and burst values for this operation. Selling partners whose business demands require higher throughput may see higher rate and burst values than those shown here. For more information, refer to [Usage Plans and Rate Limits in the Selling Partner API](https://developer-docs.amazon.com/sp-api/docs/usage-plans-and-rate-limits-in-the-sp-api).", - "operationId": "listInboundPlanItems" - } - }, - "/inbound/fba/2024-03-20/inboundPlans/{inboundPlanId}/packingInformation": { - "post": { - "consumes": [ - "application/json" - ], - "produces": [ - "application/json" - ], - "parameters": [ - { - "description": "Identifier to an inbound plan.", - "in": "path", - "maxLength": 38, - "minLength": 38, - "name": "inboundPlanId", - "pattern": "^[a-zA-Z0-9-]*$", - "required": true, - "type": "string" - }, - { - "in": "body", - "name": "body", - "required": true, - "schema": { - "$ref": "#/definitions/SetPackingInformationRequest" - }, - "description": "The body of the request to `setPackingInformation`." - } - ], - "responses": { - "202": { - "description": "SetPackingInformation 202 response", - "schema": { - "$ref": "#/definitions/SetPackingInformationResponse" - }, - "x-amzn-api-sandbox": { - "static": [ - { - "request": { - "parameters": { - "inboundPlanId": { - "value": "wf1234abcd-1234-abcd-5678-1234abcd5678" - }, - "body": { - "value": { - "packageGroupings": [ - { - "shipmentId": "sh1234abcd-1234-abcd-5678-1234abcd5678", - "packingGroupId": "pg1234abcd-1234-abcd-5678-1234abcd5678", - "boxes": [ - { - "boxId": "boxId", - "templateName": "templateName", - "contents": [ - { - "msku": "msku", - "quantityInBox": 5, - "expiration": "2024-01-01", - "prepOwner": "AMAZON", - "labelOwner": "AMAZON", - "manufacturingLotCode": "manufacturingLotCode" - } - ], - "contentInformationSource": "BOX_CONTENT_PROVIDED", - "weight": { - "unit": "KG", - "value": 5.5 - }, - "dimensions": { - "unitOfMeasurement": "CM", - "length": 3.0, - "width": 4.0, - "height": 5.0 - }, - "quantity": 2 - } - ] - } - ] - } - } - } - }, - "response": { - "operationId": "1234abcd-1234-abcd-5678-1234abcd5678" - } - } - ] - }, - "headers": { - "x-amzn-RequestId": { - "description": "Unique request reference identifier.", - "type": "string" - }, - "x-amzn-RateLimit-Limit": { - "description": "Your rate limit (requests per second) for this operation.", - "type": "string" - } - } - }, - "400": { - "description": "Request has missing or invalid parameters and cannot be parsed.", - "schema": { - "$ref": "#/definitions/ErrorList" - }, - "x-amzn-api-sandbox": { - "static": [ - { - "request": { - "parameters": { - "inboundPlanId": { - "value": "bad234abcd-1234-abcd-5678-1234abcd5678" - }, - "body": { - "value": { - "packageGroupings": [ - { - "shipmentId": "sh1234abcd-1234-abcd-5678-1234abcd5678", - "packingGroupId": "bad234abcd-1234-abcd-5678-1234abcd5678", - "boxes": [ - { - "boxId": "boxId", - "templateName": "templateName", - "contents": [ - { - "msku": "msku", - "quantityInBox": 5, - "expiration": "2024-01-01", - "prepOwner": "AMAZON", - "labelOwner": "AMAZON", - "manufacturingLotCode": "manufacturingLotCode" - } - ], - "contentInformationSource": "BOX_CONTENT_PROVIDED", - "weight": { - "unit": "KG", - "value": 5.5 - }, - "dimensions": { - "unitOfMeasurement": "CM", - "length": 3.0, - "width": 4.0, - "height": 5.0 - }, - "quantity": 2 - } - ] - } - ] - } - } - } - }, - "response": { - "errors": [ - { - "code": "BadRequest", - "message": "The requested packingGroupId does not exist for the specified inbound plan." - } - ] - } - } - ] - }, - "headers": { - "x-amzn-RequestId": { - "description": "Unique request reference identifier.", - "type": "string" - }, - "x-amzn-RateLimit-Limit": { - "description": "Your rate limit (requests per second) for this operation.", - "type": "string" - } - } - }, - "500": { - "description": "An unexpected condition occurred that prevented the server from fulfilling the request.", - "schema": { - "$ref": "#/definitions/ErrorList" - }, - "headers": { - "x-amzn-RequestId": { - "description": "Unique request reference identifier.", - "type": "string" - } - } - }, - "403": { - "description": "Indicates that access to the resource is forbidden. Possible reasons include Access Denied, Unauthorized, Expired Token, or Invalid Signature.", - "schema": { - "$ref": "#/definitions/ErrorList" - }, - "headers": { - "x-amzn-RequestId": { - "description": "Unique request reference identifier.", - "type": "string" - } - } - }, - "404": { - "description": "The resource specified does not exist.", - "schema": { - "$ref": "#/definitions/ErrorList" - }, - "headers": { - "x-amzn-RequestId": { - "description": "Unique request reference identifier.", - "type": "string" - }, - "x-amzn-RateLimit-Limit": { - "description": "Your rate limit (requests per second) for this operation.", - "type": "string" - } - } - }, - "413": { - "description": "The request size exceeded the maximum accepted size.", - "schema": { - "$ref": "#/definitions/ErrorList" - }, - "headers": { - "x-amzn-RequestId": { - "description": "Unique request reference identifier.", - "type": "string" - } - } - }, - "415": { - "description": "The request payload is in an unsupported format.", - "schema": { - "$ref": "#/definitions/ErrorList" - }, - "headers": { - "x-amzn-RequestId": { - "description": "Unique request reference identifier.", - "type": "string" - } - } - }, - "429": { - "description": "The frequency of requests was greater than allowed.", - "schema": { - "$ref": "#/definitions/ErrorList" - }, - "headers": { - "x-amzn-RequestId": { - "description": "Unique request reference identifier.", - "type": "string" - } - } - }, - "503": { - "description": "Temporary overloading or maintenance of the server.", - "schema": { - "$ref": "#/definitions/ErrorList" - }, - "headers": { - "x-amzn-RequestId": { - "description": "Unique request reference identifier.", - "type": "string" - } - } - } - }, - "tags": [ - "fbaInbound" - ], - "description": "Sets packing information for an inbound plan. This should be called after an inbound plan is created to populate\n the box level information required for planning and transportation estimates.\n\n**Usage Plan:**\n\n| Rate (requests per second) | Burst |\n| ---- | ---- |\n| 0.05 | 1 |\n\nThe `x-amzn-RateLimit-Limit` response header returns the usage plan rate limits that were applied to the requested operation, when available. The table above indicates the default rate and burst values for this operation. Selling partners whose business demands require higher throughput may see higher rate and burst values than those shown here. For more information, refer to [Usage Plans and Rate Limits in the Selling Partner API](https://developer-docs.amazon.com/sp-api/docs/usage-plans-and-rate-limits-in-the-sp-api).", - "operationId": "setPackingInformation" - } - }, - "/inbound/fba/2024-03-20/inboundPlans/{inboundPlanId}/packingOptions": { - "get": { - "produces": [ - "application/json" - ], - "parameters": [ - { - "description": "Identifier to an inbound plan.", - "in": "path", - "maxLength": 38, - "minLength": 38, - "name": "inboundPlanId", - "pattern": "^[a-zA-Z0-9-]*$", - "required": true, - "type": "string" - }, - { - "description": "The number of packing options to return in the response matching the given query.", - "in": "query", - "maximum": 20, - "minimum": 1, - "name": "pageSize", - "type": "integer", - "default": 10 - }, - { - "description": "A token to fetch a certain page when there are multiple pages worth of results. The value of this token is fetched from the `pagination` returned in the API response. In the absence of the token value from the query parameter the API returns the first page of the result.", - "in": "query", - "maxLength": 1024, - "minLength": 0, - "name": "paginationToken", - "type": "string" - } - ], - "responses": { - "200": { - "description": "ListPackingOptions 200 response", - "schema": { - "$ref": "#/definitions/ListPackingOptionsResponse" - }, - "x-amzn-api-sandbox": { - "static": [ - { - "request": { - "parameters": { - "inboundPlanId": { - "value": "wf1234abcd-1234-abcd-5678-1234abcd5678" - }, - "pageSize": { - "value": 2 - }, - "paginationToken": { - "value": "paginationToken" - } - } - }, - "response": { - "packingOptions": [ - { - "inboundPlanId": "wf1234abcd-1234-abcd-5678-1234abcd5678", - "packingOptionId": "po1234abcd-1234-abcd-5678-1234abcd5678", - "packingGroups": [ - "pg1234abcd-1234-abcd-5678-1234abcd5678" - ], - "fees": [ - { - "value": { - "code": "USD", - "amount": 1.0 - }, - "type": "FEE", - "target": "Placement Services", - "description": "description" - } - ], - "discounts": [ - { - "value": { - "code": "USD", - "amount": 1.0 - }, - "type": "DISCOUNT", - "target": "Placement Services", - "description": "description" - } - ], - "expiration": "2024-01-01T00:00:00.000Z", - "status": "OFFERED", - "supportedShippingConfigurations": [ - { - "shippingSolution": "AMAZON_PARTNERED_CARRIER", - "shippingMode": "GROUND_SMALL_PARCEL" - } - ] - } - ], - "pagination": { - "nextToken": "nextPaginationToken" - } - } - } - ] - }, - "headers": { - "x-amzn-RequestId": { - "description": "Unique request reference identifier.", - "type": "string" - }, - "x-amzn-RateLimit-Limit": { - "description": "Your rate limit (requests per second) for this operation.", - "type": "string" - } - } - }, - "400": { - "description": "Request has missing or invalid parameters and cannot be parsed.", - "schema": { - "$ref": "#/definitions/ErrorList" - }, - "x-amzn-api-sandbox": { - "static": [ - { - "request": { - "parameters": { - "inboundPlanId": { - "value": "bad234abcd-1234-abcd-5678-1234abcd5678" - }, - "pageSize": { - "value": 2 - }, - "paginationToken": { - "value": "paginationToken" - } - } - }, - "response": { - "errors": [ - { - "code": "BadRequest", - "message": "The requested inbound plan does not exist." - } - ] - } - } - ] - }, - "headers": { - "x-amzn-RequestId": { - "description": "Unique request reference identifier.", - "type": "string" - }, - "x-amzn-RateLimit-Limit": { - "description": "Your rate limit (requests per second) for this operation.", - "type": "string" - } - } - }, - "500": { - "description": "An unexpected condition occurred that prevented the server from fulfilling the request.", - "schema": { - "$ref": "#/definitions/ErrorList" - }, - "headers": { - "x-amzn-RequestId": { - "description": "Unique request reference identifier.", - "type": "string" - } - } - }, - "403": { - "description": "Indicates that access to the resource is forbidden. Possible reasons include Access Denied, Unauthorized, Expired Token, or Invalid Signature.", - "schema": { - "$ref": "#/definitions/ErrorList" - }, - "headers": { - "x-amzn-RequestId": { - "description": "Unique request reference identifier.", - "type": "string" - } - } - }, - "404": { - "description": "The resource specified does not exist.", - "schema": { - "$ref": "#/definitions/ErrorList" - }, - "headers": { - "x-amzn-RequestId": { - "description": "Unique request reference identifier.", - "type": "string" - }, - "x-amzn-RateLimit-Limit": { - "description": "Your rate limit (requests per second) for this operation.", - "type": "string" - } - } - }, - "413": { - "description": "The request size exceeded the maximum accepted size.", - "schema": { - "$ref": "#/definitions/ErrorList" - }, - "headers": { - "x-amzn-RequestId": { - "description": "Unique request reference identifier.", - "type": "string" - } - } - }, - "415": { - "description": "The request payload is in an unsupported format.", - "schema": { - "$ref": "#/definitions/ErrorList" - }, - "headers": { - "x-amzn-RequestId": { - "description": "Unique request reference identifier.", - "type": "string" - } - } - }, - "429": { - "description": "The frequency of requests was greater than allowed.", - "schema": { - "$ref": "#/definitions/ErrorList" - }, - "headers": { - "x-amzn-RequestId": { - "description": "Unique request reference identifier.", - "type": "string" - } - } - }, - "503": { - "description": "Temporary overloading or maintenance of the server.", - "schema": { - "$ref": "#/definitions/ErrorList" - }, - "headers": { - "x-amzn-RequestId": { - "description": "Unique request reference identifier.", - "type": "string" - } - } - } - }, - "tags": [ - "fbaInbound" - ], - "description": "Retrieves a list of all packing options for an inbound plan. Packing options must first be generated by the corresponding endpoint before becoming available.\n\n**Usage Plan:**\n\n| Rate (requests per second) | Burst |\n| ---- | ---- |\n| 1 | 1 |\n\nThe `x-amzn-RateLimit-Limit` response header returns the usage plan rate limits that were applied to the requested operation, when available. The table above indicates the default rate and burst values for this operation. Selling partners whose business demands require higher throughput may see higher rate and burst values than those shown here. For more information, refer to [Usage Plans and Rate Limits in the Selling Partner API](https://developer-docs.amazon.com/sp-api/docs/usage-plans-and-rate-limits-in-the-sp-api).", - "operationId": "listPackingOptions" - }, - "post": { - "produces": [ - "application/json" - ], - "parameters": [ - { - "description": "Identifier to an inbound plan.", - "in": "path", - "maxLength": 38, - "minLength": 38, - "name": "inboundPlanId", - "pattern": "^[a-zA-Z0-9-]*$", - "required": true, - "type": "string" - } - ], - "responses": { - "202": { - "description": "GeneratePackingOptions 202 response", - "schema": { - "$ref": "#/definitions/GeneratePackingOptionsResponse" - }, - "x-amzn-api-sandbox": { - "static": [ - { - "request": { - "parameters": { - "inboundPlanId": { - "value": "wf1234abcd-1234-abcd-5678-1234abcd5678" - } - } - }, - "response": { - "operationId": "1234abcd-1234-abcd-5678-1234abcd5678" - } - } - ] - }, - "headers": { - "x-amzn-RequestId": { - "description": "Unique request reference identifier.", - "type": "string" - }, - "x-amzn-RateLimit-Limit": { - "description": "Your rate limit (requests per second) for this operation.", - "type": "string" - } - } - }, - "400": { - "description": "Request has missing or invalid parameters and cannot be parsed.", - "schema": { - "$ref": "#/definitions/ErrorList" - }, - "x-amzn-api-sandbox": { - "static": [ - { - "request": { - "parameters": { - "inboundPlanId": { - "value": "wfbad4abcd-1234-abcd-5678-1234abcd5678" - } - } - }, - "response": { - "errors": [ - { - "code": "BadRequest", - "message": "The inbound plan is not in a valid state to generate packing options." - } - ] - } - } - ] - }, - "headers": { - "x-amzn-RequestId": { - "description": "Unique request reference identifier.", - "type": "string" - }, - "x-amzn-RateLimit-Limit": { - "description": "Your rate limit (requests per second) for this operation.", - "type": "string" - } - } - }, - "500": { - "description": "An unexpected condition occurred that prevented the server from fulfilling the request.", - "schema": { - "$ref": "#/definitions/ErrorList" - }, - "headers": { - "x-amzn-RequestId": { - "description": "Unique request reference identifier.", - "type": "string" - } - } - }, - "403": { - "description": "Indicates that access to the resource is forbidden. Possible reasons include Access Denied, Unauthorized, Expired Token, or Invalid Signature.", - "schema": { - "$ref": "#/definitions/ErrorList" - }, - "headers": { - "x-amzn-RequestId": { - "description": "Unique request reference identifier.", - "type": "string" - } - } - }, - "404": { - "description": "The resource specified does not exist.", - "schema": { - "$ref": "#/definitions/ErrorList" - }, - "headers": { - "x-amzn-RequestId": { - "description": "Unique request reference identifier.", - "type": "string" - }, - "x-amzn-RateLimit-Limit": { - "description": "Your rate limit (requests per second) for this operation.", - "type": "string" - } - } - }, - "413": { - "description": "The request size exceeded the maximum accepted size.", - "schema": { - "$ref": "#/definitions/ErrorList" - }, - "headers": { - "x-amzn-RequestId": { - "description": "Unique request reference identifier.", - "type": "string" - } - } - }, - "415": { - "description": "The request payload is in an unsupported format.", - "schema": { - "$ref": "#/definitions/ErrorList" - }, - "headers": { - "x-amzn-RequestId": { - "description": "Unique request reference identifier.", - "type": "string" - } - } - }, - "429": { - "description": "The frequency of requests was greater than allowed.", - "schema": { - "$ref": "#/definitions/ErrorList" - }, - "headers": { - "x-amzn-RequestId": { - "description": "Unique request reference identifier.", - "type": "string" - } - } - }, - "503": { - "description": "Temporary overloading or maintenance of the server.", - "schema": { - "$ref": "#/definitions/ErrorList" - }, - "headers": { - "x-amzn-RequestId": { - "description": "Unique request reference identifier.", - "type": "string" - } - } - } - }, - "tags": [ - "fbaInbound" - ], - "description": "Generates available packing options for the inbound plan.\n\n**Usage Plan:**\n\n| Rate (requests per second) | Burst |\n| ---- | ---- |\n| 0.05 | 1 |\n\nThe `x-amzn-RateLimit-Limit` response header returns the usage plan rate limits that were applied to the requested operation, when available. The table above indicates the default rate and burst values for this operation. Selling partners whose business demands require higher throughput may see higher rate and burst values than those shown here. For more information, refer to [Usage Plans and Rate Limits in the Selling Partner API](https://developer-docs.amazon.com/sp-api/docs/usage-plans-and-rate-limits-in-the-sp-api).", - "operationId": "generatePackingOptions" - } - }, - "/inbound/fba/2024-03-20/inboundPlans/{inboundPlanId}/packingOptions/{packingOptionId}/confirmation": { - "post": { - "produces": [ - "application/json" - ], - "parameters": [ - { - "description": "Identifier to an inbound plan.", - "in": "path", - "maxLength": 38, - "minLength": 38, - "name": "inboundPlanId", - "pattern": "^[a-zA-Z0-9-]*$", - "required": true, - "type": "string" - }, - { - "description": "Identifier to a packing option.", - "in": "path", - "maxLength": 38, - "minLength": 38, - "name": "packingOptionId", - "pattern": "^[a-zA-Z0-9-]*$", - "required": true, - "type": "string" - } - ], - "responses": { - "202": { - "description": "ConfirmPackingOption 202 response", - "schema": { - "$ref": "#/definitions/ConfirmPackingOptionResponse" - }, - "x-amzn-api-sandbox": { - "static": [ - { - "request": { - "parameters": { - "inboundPlanId": { - "value": "wf1234abcd-1234-abcd-5678-1234abcd5678" - }, - "packingOptionId": { - "value": "po1234abcd-1234-abcd-5678-1234abcd5678" - } - } - }, - "response": { - "operationId": "1234abcd-1234-abcd-5678-1234abcd5678" - } - } - ] - }, - "headers": { - "x-amzn-RequestId": { - "description": "Unique request reference identifier.", - "type": "string" - }, - "x-amzn-RateLimit-Limit": { - "description": "Your rate limit (requests per second) for this operation.", - "type": "string" - } - } - }, - "400": { - "description": "Request has missing or invalid parameters and cannot be parsed.", - "schema": { - "$ref": "#/definitions/ErrorList" - }, - "x-amzn-api-sandbox": { - "static": [ - { - "request": { - "parameters": { - "inboundPlanId": { - "value": "wf1234abcd-1234-abcd-5678-1234abcd5678" - }, - "packingOptionId": { - "value": "bad234abcd-1234-abcd-5678-1234abcd5678" - } - } - }, - "response": { - "errors": [ - { - "code": "BadRequest", - "message": "The requested packingOptionId does not exist for the given inbound plan." - } - ] - } - } - ] - }, - "headers": { - "x-amzn-RequestId": { - "description": "Unique request reference identifier.", - "type": "string" - }, - "x-amzn-RateLimit-Limit": { - "description": "Your rate limit (requests per second) for this operation.", - "type": "string" - } - } - }, - "500": { - "description": "An unexpected condition occurred that prevented the server from fulfilling the request.", - "schema": { - "$ref": "#/definitions/ErrorList" - }, - "headers": { - "x-amzn-RequestId": { - "description": "Unique request reference identifier.", - "type": "string" - } - } - }, - "403": { - "description": "Indicates that access to the resource is forbidden. Possible reasons include Access Denied, Unauthorized, Expired Token, or Invalid Signature.", - "schema": { - "$ref": "#/definitions/ErrorList" - }, - "headers": { - "x-amzn-RequestId": { - "description": "Unique request reference identifier.", - "type": "string" - } - } - }, - "404": { - "description": "The resource specified does not exist.", - "schema": { - "$ref": "#/definitions/ErrorList" - }, - "headers": { - "x-amzn-RequestId": { - "description": "Unique request reference identifier.", - "type": "string" - }, - "x-amzn-RateLimit-Limit": { - "description": "Your rate limit (requests per second) for this operation.", - "type": "string" - } - } - }, - "413": { - "description": "The request size exceeded the maximum accepted size.", - "schema": { - "$ref": "#/definitions/ErrorList" - }, - "headers": { - "x-amzn-RequestId": { - "description": "Unique request reference identifier.", - "type": "string" - } - } - }, - "415": { - "description": "The request payload is in an unsupported format.", - "schema": { - "$ref": "#/definitions/ErrorList" - }, - "headers": { - "x-amzn-RequestId": { - "description": "Unique request reference identifier.", - "type": "string" - } - } - }, - "429": { - "description": "The frequency of requests was greater than allowed.", - "schema": { - "$ref": "#/definitions/ErrorList" - }, - "headers": { - "x-amzn-RequestId": { - "description": "Unique request reference identifier.", - "type": "string" - } - } - }, - "503": { - "description": "Temporary overloading or maintenance of the server.", - "schema": { - "$ref": "#/definitions/ErrorList" - }, - "headers": { - "x-amzn-RequestId": { - "description": "Unique request reference identifier.", - "type": "string" - } - } - } - }, - "tags": [ - "fbaInbound" - ], - "description": "Confirms the packing option for an inbound plan.\n\n**Usage Plan:**\n\n| Rate (requests per second) | Burst |\n| ---- | ---- |\n| 0.05 | 1 |\n\nThe `x-amzn-RateLimit-Limit` response header returns the usage plan rate limits that were applied to the requested operation, when available. The table above indicates the default rate and burst values for this operation. Selling partners whose business demands require higher throughput may see higher rate and burst values than those shown here. For more information, refer to [Usage Plans and Rate Limits in the Selling Partner API](https://developer-docs.amazon.com/sp-api/docs/usage-plans-and-rate-limits-in-the-sp-api).", - "operationId": "confirmPackingOption" - } - }, - "/inbound/fba/2024-03-20/inboundPlans/{inboundPlanId}/packingOptions/{packingOptionId}/packingGroups/{packingGroupId}/items": { - "get": { - "produces": [ - "application/json" - ], - "parameters": [ - { - "description": "Identifier to an inbound plan.", - "in": "path", - "maxLength": 38, - "minLength": 38, - "name": "inboundPlanId", - "pattern": "^[a-zA-Z0-9-]*$", - "required": true, - "type": "string" - }, - { - "description": "Identifier to a packing option.", - "in": "path", - "maxLength": 38, - "minLength": 38, - "name": "packingOptionId", - "pattern": "^[a-zA-Z0-9-]*$", - "required": true, - "type": "string" - }, - { - "description": "Identifier to a packing group.", - "in": "path", - "maxLength": 38, - "minLength": 38, - "name": "packingGroupId", - "pattern": "^[a-zA-Z0-9-]*$", - "required": true, - "type": "string" - }, - { - "description": "The number of packing group items to return in the response matching the given query.", - "in": "query", - "maximum": 100, - "minimum": 1, - "name": "pageSize", - "type": "integer", - "default": 10 - }, - { - "description": "A token to fetch a certain page when there are multiple pages worth of results. The value of this token is fetched from the `pagination` returned in the API response. In the absence of the token value from the query parameter the API returns the first page of the result.", - "in": "query", - "maxLength": 1024, - "minLength": 0, - "name": "paginationToken", - "type": "string" - } - ], - "responses": { - "200": { - "description": "ListPackingGroupItems 200 response", - "schema": { - "$ref": "#/definitions/ListPackingGroupItemsResponse" - }, - "x-amzn-api-sandbox": { - "static": [ - { - "request": { - "parameters": { - "inboundPlanId": { - "value": "wf1234abcd-1234-abcd-5678-1234abcd5678" - }, - "packingOptionId": { - "value": "po1234abcd-1234-abcd-5678-1234abcd5678" - }, - "packingGroupId": { - "value": "pg1234abcd-1234-abcd-5678-1234abcd5678" - }, - "pageSize": { - "value": 2 - }, - "paginationToken": { - "value": "paginationToken" - } - } - }, - "response": { - "items": [ - { - "quantity": 5, - "prepInstructions": [ - { - "prepType": "ITEM_POLYBAGGING", - "prepOwner": "AMAZON", - "fee": { - "code": "USD", - "amount": 10.0 - } - } - ], - "msku": "msku", - "asin": "asin", - "fnsku": "fnsku", - "labelOwner": "AMAZON" - } - ], - "pagination": { - "nextToken": "nextPaginationToken" - } - } - } - ] - }, - "headers": { - "x-amzn-RequestId": { - "description": "Unique request reference identifier.", - "type": "string" - }, - "x-amzn-RateLimit-Limit": { - "description": "Your rate limit (requests per second) for this operation.", - "type": "string" - } - } - }, - "400": { - "description": "Request has missing or invalid parameters and cannot be parsed.", - "schema": { - "$ref": "#/definitions/ErrorList" - }, - "x-amzn-api-sandbox": { - "static": [ - { - "request": { - "parameters": { - "inboundPlanId": { - "value": "wf1234abcd-1234-abcd-5678-1234abcd5678" - }, - "packingOptionId": { - "value": "bad234abcd-1234-abcd-5678-1234abcd5678" - }, - "packingGroupId": { - "value": "pg1234abcd-1234-abcd-5678-1234abcd5678" - }, - "pageSize": { - "value": 2 - }, - "paginationToken": { - "value": "paginationToken" - } - } - }, - "response": { - "errors": [ - { - "code": "BadRequest", - "message": "The requested packingOptionId does not exist for the specified inbound plan." - } - ] - } - } - ] - }, - "headers": { - "x-amzn-RequestId": { - "description": "Unique request reference identifier.", - "type": "string" - }, - "x-amzn-RateLimit-Limit": { - "description": "Your rate limit (requests per second) for this operation.", - "type": "string" - } - } - }, - "500": { - "description": "An unexpected condition occurred that prevented the server from fulfilling the request.", - "schema": { - "$ref": "#/definitions/ErrorList" - }, - "headers": { - "x-amzn-RequestId": { - "description": "Unique request reference identifier.", - "type": "string" - } - } - }, - "403": { - "description": "Indicates that access to the resource is forbidden. Possible reasons include Access Denied, Unauthorized, Expired Token, or Invalid Signature.", - "schema": { - "$ref": "#/definitions/ErrorList" - }, - "headers": { - "x-amzn-RequestId": { - "description": "Unique request reference identifier.", - "type": "string" - } - } - }, - "404": { - "description": "The resource specified does not exist.", - "schema": { - "$ref": "#/definitions/ErrorList" - }, - "headers": { - "x-amzn-RequestId": { - "description": "Unique request reference identifier.", - "type": "string" - }, - "x-amzn-RateLimit-Limit": { - "description": "Your rate limit (requests per second) for this operation.", - "type": "string" - } - } - }, - "413": { - "description": "The request size exceeded the maximum accepted size.", - "schema": { - "$ref": "#/definitions/ErrorList" - }, - "headers": { - "x-amzn-RequestId": { - "description": "Unique request reference identifier.", - "type": "string" - } - } - }, - "415": { - "description": "The request payload is in an unsupported format.", - "schema": { - "$ref": "#/definitions/ErrorList" - }, - "headers": { - "x-amzn-RequestId": { - "description": "Unique request reference identifier.", - "type": "string" - } - } - }, - "429": { - "description": "The frequency of requests was greater than allowed.", - "schema": { - "$ref": "#/definitions/ErrorList" - }, - "headers": { - "x-amzn-RequestId": { - "description": "Unique request reference identifier.", - "type": "string" - } - } - }, - "503": { - "description": "Temporary overloading or maintenance of the server.", - "schema": { - "$ref": "#/definitions/ErrorList" - }, - "headers": { - "x-amzn-RequestId": { - "description": "Unique request reference identifier.", - "type": "string" - } - } - } - }, - "tags": [ - "fbaInbound" - ], - "description": "Retrieves a list of all items in a packing options's packing group. Packing options must first be generated by the corresponding endpoint before packing group items can be listed.\n\n**Usage Plan:**\n\n| Rate (requests per second) | Burst |\n| ---- | ---- |\n| 1 | 1 |\n\nThe `x-amzn-RateLimit-Limit` response header returns the usage plan rate limits that were applied to the requested operation, when available. The table above indicates the default rate and burst values for this operation. Selling partners whose business demands require higher throughput may see higher rate and burst values than those shown here. For more information, refer to [Usage Plans and Rate Limits in the Selling Partner API](https://developer-docs.amazon.com/sp-api/docs/usage-plans-and-rate-limits-in-the-sp-api).", - "operationId": "listPackingGroupItems" - } - }, - "/inbound/fba/2024-03-20/inboundPlans/{inboundPlanId}/pallets": { - "get": { - "produces": [ - "application/json" - ], - "parameters": [ - { - "description": "Identifier to an inbound plan.", - "in": "path", - "maxLength": 38, - "minLength": 38, - "name": "inboundPlanId", - "pattern": "^[a-zA-Z0-9-]*$", - "required": true, - "type": "string" - }, - { - "description": "The number of pallets to return in the response matching the given query.", - "in": "query", - "maximum": 1000, - "minimum": 1, - "name": "pageSize", - "type": "integer", - "default": 10 - }, - { - "description": "A token to fetch a certain page when there are multiple pages worth of results. The value of this token is fetched from the `pagination` returned in the API response. In the absence of the token value from the query parameter the API returns the first page of the result.", - "in": "query", - "maxLength": 1024, - "minLength": 0, - "name": "paginationToken", - "type": "string" - } - ], - "responses": { - "200": { - "description": "ListInboundPlanPallets 200 response", - "schema": { - "$ref": "#/definitions/ListInboundPlanPalletsResponse" - }, - "x-amzn-api-sandbox": { - "static": [ - { - "request": { - "parameters": { - "inboundPlanId": { - "value": "wf1234abcd-1234-abcd-5678-1234abcd5678" - }, - "pageSize": { - "value": 2 - }, - "paginationToken": { - "value": "paginationToken" - } - } - }, - "response": { - "pallets": [ - { - "stackability": "STACKABLE", - "packageId": "pk1234abcd-1234-abcd-5678-1234abcd5678", - "weight": { - "unit": "KG", - "value": 5.5 - }, - "dimensions": { - "unitOfMeasurement": "CM", - "length": 3.0, - "width": 4.0, - "height": 5.0 - }, - "quantity": 2 - } - ], - "pagination": { - "nextToken": "nextPaginationToken" - } - } - } - ] - }, - "headers": { - "x-amzn-RequestId": { - "description": "Unique request reference identifier.", - "type": "string" - }, - "x-amzn-RateLimit-Limit": { - "description": "Your rate limit (requests per second) for this operation.", - "type": "string" - } - } - }, - "400": { - "description": "Request has missing or invalid parameters and cannot be parsed.", - "schema": { - "$ref": "#/definitions/ErrorList" - }, - "x-amzn-api-sandbox": { - "static": [ - { - "request": { - "parameters": { - "inboundPlanId": { - "value": "bad234abcd-1234-abcd-5678-1234abcd5678" - }, - "pageSize": { - "value": 2 - }, - "paginationToken": { - "value": "paginationToken" - } - } - }, - "response": { - "errors": [ - { - "code": "BadRequest", - "message": "The requested inbound plan does not exist." - } - ] - } - } - ] - }, - "headers": { - "x-amzn-RequestId": { - "description": "Unique request reference identifier.", - "type": "string" - }, - "x-amzn-RateLimit-Limit": { - "description": "Your rate limit (requests per second) for this operation.", - "type": "string" - } - } - }, - "500": { - "description": "An unexpected condition occurred that prevented the server from fulfilling the request.", - "schema": { - "$ref": "#/definitions/ErrorList" - }, - "headers": { - "x-amzn-RequestId": { - "description": "Unique request reference identifier.", - "type": "string" - } - } - }, - "403": { - "description": "Indicates that access to the resource is forbidden. Possible reasons include Access Denied, Unauthorized, Expired Token, or Invalid Signature.", - "schema": { - "$ref": "#/definitions/ErrorList" - }, - "headers": { - "x-amzn-RequestId": { - "description": "Unique request reference identifier.", - "type": "string" - } - } - }, - "404": { - "description": "The resource specified does not exist.", - "schema": { - "$ref": "#/definitions/ErrorList" - }, - "headers": { - "x-amzn-RequestId": { - "description": "Unique request reference identifier.", - "type": "string" - }, - "x-amzn-RateLimit-Limit": { - "description": "Your rate limit (requests per second) for this operation.", - "type": "string" - } - } - }, - "413": { - "description": "The request size exceeded the maximum accepted size.", - "schema": { - "$ref": "#/definitions/ErrorList" - }, - "headers": { - "x-amzn-RequestId": { - "description": "Unique request reference identifier.", - "type": "string" - } - } - }, - "415": { - "description": "The request payload is in an unsupported format.", - "schema": { - "$ref": "#/definitions/ErrorList" - }, - "headers": { - "x-amzn-RequestId": { - "description": "Unique request reference identifier.", - "type": "string" - } - } - }, - "429": { - "description": "The frequency of requests was greater than allowed.", - "schema": { - "$ref": "#/definitions/ErrorList" - }, - "headers": { - "x-amzn-RequestId": { - "description": "Unique request reference identifier.", - "type": "string" - } - } - }, - "503": { - "description": "Temporary overloading or maintenance of the server.", - "schema": { - "$ref": "#/definitions/ErrorList" - }, - "headers": { - "x-amzn-RequestId": { - "description": "Unique request reference identifier.", - "type": "string" - } - } - } - }, - "tags": [ - "fbaInbound" - ], - "description": "Provides a paginated list of pallet packages in an inbound plan. An inbound plan will have pallets when the related details are provided after generating Less-Than-Truckload (LTL) carrier shipments.\n\n**Usage Plan:**\n\n| Rate (requests per second) | Burst |\n| ---- | ---- |\n| 1 | 1 |\n\nThe `x-amzn-RateLimit-Limit` response header returns the usage plan rate limits that were applied to the requested operation, when available. The table above indicates the default rate and burst values for this operation. Selling partners whose business demands require higher throughput may see higher rate and burst values than those shown here. For more information, refer to [Usage Plans and Rate Limits in the Selling Partner API](https://developer-docs.amazon.com/sp-api/docs/usage-plans-and-rate-limits-in-the-sp-api).", - "operationId": "listInboundPlanPallets" - } - }, - "/inbound/fba/2024-03-20/inboundPlans/{inboundPlanId}/placementOptions": { - "get": { - "produces": [ - "application/json" - ], - "parameters": [ - { - "description": "Identifier to an inbound plan.", - "in": "path", - "maxLength": 38, - "minLength": 38, - "name": "inboundPlanId", - "pattern": "^[a-zA-Z0-9-]*$", - "required": true, - "type": "string" - }, - { - "description": "The number of placement options to return in the response matching the given query.", - "in": "query", - "maximum": 20, - "minimum": 1, - "name": "pageSize", - "type": "integer", - "default": 10 - }, - { - "description": "A token to fetch a certain page when there are multiple pages worth of results. The value of this token is fetched from the `pagination` returned in the API response. In the absence of the token value from the query parameter the API returns the first page of the result.", - "in": "query", - "maxLength": 1024, - "minLength": 0, - "name": "paginationToken", - "type": "string" - } - ], - "responses": { - "200": { - "description": "ListPlacementOptions 200 response", - "schema": { - "$ref": "#/definitions/ListPlacementOptionsResponse" - }, - "x-amzn-api-sandbox": { - "static": [ - { - "request": { - "parameters": { - "inboundPlanId": { - "value": "wf1234abcd-1234-abcd-5678-1234abcd5678" - }, - "pageSize": { - "value": 2 - }, - "paginationToken": { - "value": "paginationToken" - } - } - }, - "response": { - "placementOptions": [ - { - "placementOptionId": "pl1234abcd-1234-abcd-5678-1234abcd5678", - "status": "OFFERED", - "fees": [ - { - "value": { - "code": "USD", - "amount": 1.0 - }, - "type": "FEE", - "target": "Placement Services", - "description": "description" - } - ], - "discounts": [ - { - "value": { - "code": "USD", - "amount": 1.0 - }, - "type": "DISCOUNT", - "target": "Placement Services", - "description": "description" - } - ], - "expiration": "2024-01-01T00:00:00.000Z", - "shipmentIds": [ - "sh1234abcd-1234-abcd-5678-1234abcd5678" - ] - } - ], - "pagination": { - "nextToken": "nextPaginationToken" - } - } - } - ] - }, - "headers": { - "x-amzn-RequestId": { - "description": "Unique request reference identifier.", - "type": "string" - }, - "x-amzn-RateLimit-Limit": { - "description": "Your rate limit (requests per second) for this operation.", - "type": "string" - } - } - }, - "400": { - "description": "Request has missing or invalid parameters and cannot be parsed.", - "schema": { - "$ref": "#/definitions/ErrorList" - }, - "x-amzn-api-sandbox": { - "static": [ - { - "request": { - "parameters": { - "inboundPlanId": { - "value": "bad234abcd-1234-abcd-5678-1234abcd5678" - }, - "pageSize": { - "value": 2 - }, - "paginationToken": { - "value": "paginationToken" - } - } - }, - "response": { - "errors": [ - { - "code": "BadRequest", - "message": "The requested inbound plan does not exist." - } - ] - } - } - ] - }, - "headers": { - "x-amzn-RequestId": { - "description": "Unique request reference identifier.", - "type": "string" - }, - "x-amzn-RateLimit-Limit": { - "description": "Your rate limit (requests per second) for this operation.", - "type": "string" - } - } - }, - "500": { - "description": "An unexpected condition occurred that prevented the server from fulfilling the request.", - "schema": { - "$ref": "#/definitions/ErrorList" - }, - "headers": { - "x-amzn-RequestId": { - "description": "Unique request reference identifier.", - "type": "string" - } - } - }, - "403": { - "description": "Indicates that access to the resource is forbidden. Possible reasons include Access Denied, Unauthorized, Expired Token, or Invalid Signature.", - "schema": { - "$ref": "#/definitions/ErrorList" - }, - "headers": { - "x-amzn-RequestId": { - "description": "Unique request reference identifier.", - "type": "string" - } - } - }, - "404": { - "description": "The resource specified does not exist.", - "schema": { - "$ref": "#/definitions/ErrorList" - }, - "headers": { - "x-amzn-RequestId": { - "description": "Unique request reference identifier.", - "type": "string" - }, - "x-amzn-RateLimit-Limit": { - "description": "Your rate limit (requests per second) for this operation.", - "type": "string" - } - } - }, - "413": { - "description": "The request size exceeded the maximum accepted size.", - "schema": { - "$ref": "#/definitions/ErrorList" - }, - "headers": { - "x-amzn-RequestId": { - "description": "Unique request reference identifier.", - "type": "string" - } - } - }, - "415": { - "description": "The request payload is in an unsupported format.", - "schema": { - "$ref": "#/definitions/ErrorList" - }, - "headers": { - "x-amzn-RequestId": { - "description": "Unique request reference identifier.", - "type": "string" - } - } - }, - "429": { - "description": "The frequency of requests was greater than allowed.", - "schema": { - "$ref": "#/definitions/ErrorList" - }, - "headers": { - "x-amzn-RequestId": { - "description": "Unique request reference identifier.", - "type": "string" - } - } - }, - "503": { - "description": "Temporary overloading or maintenance of the server.", - "schema": { - "$ref": "#/definitions/ErrorList" - }, - "headers": { - "x-amzn-RequestId": { - "description": "Unique request reference identifier.", - "type": "string" - } - } - } - }, - "tags": [ - "fbaInbound" - ], - "description": "Provides a list of all placement options for an inbound plan. Placement options must first be generated by the corresponding endpoint before becoming available.\n\n**Usage Plan:**\n\n| Rate (requests per second) | Burst |\n| ---- | ---- |\n| 1 | 1 |\n\nThe `x-amzn-RateLimit-Limit` response header returns the usage plan rate limits that were applied to the requested operation, when available. The table above indicates the default rate and burst values for this operation. Selling partners whose business demands require higher throughput may see higher rate and burst values than those shown here. For more information, refer to [Usage Plans and Rate Limits in the Selling Partner API](https://developer-docs.amazon.com/sp-api/docs/usage-plans-and-rate-limits-in-the-sp-api).", - "operationId": "listPlacementOptions" - }, - "post": { - "consumes": [ - "application/json" - ], - "produces": [ - "application/json" - ], - "parameters": [ - { - "description": "Identifier to an inbound plan.", - "in": "path", - "maxLength": 38, - "minLength": 38, - "name": "inboundPlanId", - "pattern": "^[a-zA-Z0-9-]*$", - "required": true, - "type": "string" - }, - { - "in": "body", - "name": "body", - "required": true, - "schema": { - "$ref": "#/definitions/GeneratePlacementOptionsRequest" - }, - "description": "The body of the request to `generatePlacementOptions`." - } - ], - "responses": { - "202": { - "description": "GeneratePlacementOptions 202 response", - "schema": { - "$ref": "#/definitions/GeneratePlacementOptionsResponse" - }, - "x-amzn-api-sandbox": { - "static": [ - { - "request": { - "parameters": { - "inboundPlanId": { - "value": "wf1234abcd-1234-abcd-5678-1234abcd5678" - }, - "body": { - "value": { - "customPlacement": [ - { - "warehouseId": "warehouseId", - "items": [ - { - "msku": "msku", - "prepOwner": "AMAZON", - "labelOwner": "AMAZON", - "quantity": 2, - "expiration": "2024-01-01", - "manufacturingLotCode": "lotCode" - } - ] - } - ] - } - } - } - }, - "response": { - "operationId": "1234abcd-1234-abcd-5678-1234abcd5678" - } - } - ] - }, - "headers": { - "x-amzn-RequestId": { - "description": "Unique request reference identifier.", - "type": "string" - }, - "x-amzn-RateLimit-Limit": { - "description": "Your rate limit (requests per second) for this operation.", - "type": "string" - } - } - }, - "400": { - "description": "Request has missing or invalid parameters and cannot be parsed.", - "schema": { - "$ref": "#/definitions/ErrorList" - }, - "x-amzn-api-sandbox": { - "static": [ - { - "request": { - "parameters": { - "inboundPlanId": { - "value": "wf1234abcd-1234-abcd-5678-1234abcd5678" - }, - "body": { - "value": { - "customPlacement": [ - { - "warehouseId": "badWarehouseId", - "items": [ - { - "msku": "msku", - "prepOwner": "AMAZON", - "labelOwner": "AMAZON", - "quantity": 2, - "expiration": "2024-01-01", - "manufacturingLotCode": "lotCode" - } - ] - } - ] - } - } - } - }, - "response": { - "errors": [ - { - "code": "BadRequest", - "message": "The inbound plan is not in a valid state to generate placement options." - } - ] - } - } - ] - }, - "headers": { - "x-amzn-RequestId": { - "description": "Unique request reference identifier.", - "type": "string" - }, - "x-amzn-RateLimit-Limit": { - "description": "Your rate limit (requests per second) for this operation.", - "type": "string" - } - } - }, - "500": { - "description": "An unexpected condition occurred that prevented the server from fulfilling the request.", - "schema": { - "$ref": "#/definitions/ErrorList" - }, - "headers": { - "x-amzn-RequestId": { - "description": "Unique request reference identifier.", - "type": "string" - } - } - }, - "403": { - "description": "Indicates that access to the resource is forbidden. Possible reasons include Access Denied, Unauthorized, Expired Token, or Invalid Signature.", - "schema": { - "$ref": "#/definitions/ErrorList" - }, - "headers": { - "x-amzn-RequestId": { - "description": "Unique request reference identifier.", - "type": "string" - } - } - }, - "404": { - "description": "The resource specified does not exist.", - "schema": { - "$ref": "#/definitions/ErrorList" - }, - "headers": { - "x-amzn-RequestId": { - "description": "Unique request reference identifier.", - "type": "string" - }, - "x-amzn-RateLimit-Limit": { - "description": "Your rate limit (requests per second) for this operation.", - "type": "string" - } - } - }, - "413": { - "description": "The request size exceeded the maximum accepted size.", - "schema": { - "$ref": "#/definitions/ErrorList" - }, - "headers": { - "x-amzn-RequestId": { - "description": "Unique request reference identifier.", - "type": "string" - } - } - }, - "415": { - "description": "The request payload is in an unsupported format.", - "schema": { - "$ref": "#/definitions/ErrorList" - }, - "headers": { - "x-amzn-RequestId": { - "description": "Unique request reference identifier.", - "type": "string" - } - } - }, - "429": { - "description": "The frequency of requests was greater than allowed.", - "schema": { - "$ref": "#/definitions/ErrorList" - }, - "headers": { - "x-amzn-RequestId": { - "description": "Unique request reference identifier.", - "type": "string" - } - } - }, - "503": { - "description": "Temporary overloading or maintenance of the server.", - "schema": { - "$ref": "#/definitions/ErrorList" - }, - "headers": { - "x-amzn-RequestId": { - "description": "Unique request reference identifier.", - "type": "string" - } - } - } - }, - "tags": [ - "fbaInbound" - ], - "description": "Generates placement options for the inbound plan.\n\n**Usage Plan:**\n\n| Rate (requests per second) | Burst |\n| ---- | ---- |\n| 0.05 | 1 |\n\nThe `x-amzn-RateLimit-Limit` response header returns the usage plan rate limits that were applied to the requested operation, when available. The table above indicates the default rate and burst values for this operation. Selling partners whose business demands require higher throughput may see higher rate and burst values than those shown here. For more information, refer to [Usage Plans and Rate Limits in the Selling Partner API](https://developer-docs.amazon.com/sp-api/docs/usage-plans-and-rate-limits-in-the-sp-api).", - "operationId": "generatePlacementOptions" - } - }, - "/inbound/fba/2024-03-20/inboundPlans/{inboundPlanId}/placementOptions/{placementOptionId}/confirmation": { - "post": { - "produces": [ - "application/json" - ], - "parameters": [ - { - "description": "Identifier to an inbound plan.", - "in": "path", - "maxLength": 38, - "minLength": 38, - "name": "inboundPlanId", - "pattern": "^[a-zA-Z0-9-]*$", - "required": true, - "type": "string" - }, - { - "description": "Identifier to a placement option. A placement option represents the shipment splits and destinations of SKUs.", - "in": "path", - "maxLength": 38, - "minLength": 38, - "name": "placementOptionId", - "pattern": "^[a-zA-Z0-9-]*$", - "required": true, - "type": "string" - } - ], - "responses": { - "202": { - "description": "ConfirmPlacementOption 202 response", - "schema": { - "$ref": "#/definitions/ConfirmPlacementOptionResponse" - }, - "x-amzn-api-sandbox": { - "static": [ - { - "request": { - "parameters": { - "inboundPlanId": { - "value": "wf1234abcd-1234-abcd-5678-1234abcd5678" - }, - "placementOptionId": { - "value": "pl1234abcd-1234-abcd-5678-1234abcd5678" - } - } - }, - "response": { - "operationId": "1234abcd-1234-abcd-5678-1234abcd5678" - } - } - ] - }, - "headers": { - "x-amzn-RequestId": { - "description": "Unique request reference identifier.", - "type": "string" - }, - "x-amzn-RateLimit-Limit": { - "description": "Your rate limit (requests per second) for this operation.", - "type": "string" - } - } - }, - "400": { - "description": "Request has missing or invalid parameters and cannot be parsed.", - "schema": { - "$ref": "#/definitions/ErrorList" - }, - "x-amzn-api-sandbox": { - "static": [ - { - "request": { - "parameters": { - "inboundPlanId": { - "value": "wf1234abcd-1234-abcd-5678-1234abcd5678" - }, - "placementOptionId": { - "value": "bad234abcd-1234-abcd-5678-1234abcd5678" - } - } - }, - "response": { - "errors": [ - { - "code": "BadRequest", - "message": "The requested placementOptionId does not exist for the given inbound plan." - } - ] - } - } - ] - }, - "headers": { - "x-amzn-RequestId": { - "description": "Unique request reference identifier.", - "type": "string" - }, - "x-amzn-RateLimit-Limit": { - "description": "Your rate limit (requests per second) for this operation.", - "type": "string" - } - } - }, - "500": { - "description": "An unexpected condition occurred that prevented the server from fulfilling the request.", - "schema": { - "$ref": "#/definitions/ErrorList" - }, - "headers": { - "x-amzn-RequestId": { - "description": "Unique request reference identifier.", - "type": "string" - } - } - }, - "403": { - "description": "Indicates that access to the resource is forbidden. Possible reasons include Access Denied, Unauthorized, Expired Token, or Invalid Signature.", - "schema": { - "$ref": "#/definitions/ErrorList" - }, - "headers": { - "x-amzn-RequestId": { - "description": "Unique request reference identifier.", - "type": "string" - } - } - }, - "404": { - "description": "The resource specified does not exist.", - "schema": { - "$ref": "#/definitions/ErrorList" - }, - "headers": { - "x-amzn-RequestId": { - "description": "Unique request reference identifier.", - "type": "string" - }, - "x-amzn-RateLimit-Limit": { - "description": "Your rate limit (requests per second) for this operation.", - "type": "string" - } - } - }, - "413": { - "description": "The request size exceeded the maximum accepted size.", - "schema": { - "$ref": "#/definitions/ErrorList" - }, - "headers": { - "x-amzn-RequestId": { - "description": "Unique request reference identifier.", - "type": "string" - } - } - }, - "415": { - "description": "The request payload is in an unsupported format.", - "schema": { - "$ref": "#/definitions/ErrorList" - }, - "headers": { - "x-amzn-RequestId": { - "description": "Unique request reference identifier.", - "type": "string" - } - } - }, - "429": { - "description": "The frequency of requests was greater than allowed.", - "schema": { - "$ref": "#/definitions/ErrorList" - }, - "headers": { - "x-amzn-RequestId": { - "description": "Unique request reference identifier.", - "type": "string" - } - } - }, - "503": { - "description": "Temporary overloading or maintenance of the server.", - "schema": { - "$ref": "#/definitions/ErrorList" - }, - "headers": { - "x-amzn-RequestId": { - "description": "Unique request reference identifier.", - "type": "string" - } - } - } - }, - "tags": [ - "fbaInbound" - ], - "description": "Confirms the placement option for an inbound plan. Once confirmed, it cannot be changed for the Inbound Plan.\n\n**Usage Plan:**\n\n| Rate (requests per second) | Burst |\n| ---- | ---- |\n| 0.05 | 1 |\n\nThe `x-amzn-RateLimit-Limit` response header returns the usage plan rate limits that were applied to the requested operation, when available. The table above indicates the default rate and burst values for this operation. Selling partners whose business demands require higher throughput may see higher rate and burst values than those shown here. For more information, refer to [Usage Plans and Rate Limits in the Selling Partner API](https://developer-docs.amazon.com/sp-api/docs/usage-plans-and-rate-limits-in-the-sp-api).", - "operationId": "confirmPlacementOption" - } - }, - "/inbound/fba/2024-03-20/inboundPlans/{inboundPlanId}/shipments/{shipmentId}": { - "get": { - "produces": [ - "application/json" - ], - "parameters": [ - { - "description": "Identifier to an inbound plan.", - "in": "path", - "maxLength": 38, - "minLength": 38, - "name": "inboundPlanId", - "pattern": "^[a-zA-Z0-9-]*$", - "required": true, - "type": "string" - }, - { - "description": "Identifier to a shipment. A shipment contains the boxes and units being inbounded.", - "in": "path", - "maxLength": 38, - "minLength": 38, - "name": "shipmentId", - "pattern": "^[a-zA-Z0-9-]*$", - "required": true, - "type": "string" - } - ], - "responses": { - "200": { - "description": "GetShipment 200 response", - "schema": { - "$ref": "#/definitions/Shipment" - }, - "x-amzn-api-sandbox": { - "static": [ - { - "request": { - "parameters": { - "inboundPlanId": { - "value": "wf1234abcd-1234-abcd-5678-1234abcd5678" - }, - "shipmentId": { - "value": "sh1234abcd-1234-abcd-5678-1234abcd5678" - } - } - }, - "response": { - "inboundPlanId": "wf1234abcd-1234-abcd-5678-1234abcd5678", - "placementOptionId": "pl1234abcd-1234-abcd-5678-1234abcd5678", - "shipmentId": "sh1234abcd-1234-abcd-5678-1234abcd5678", - "shipmentConfirmationId": "FBA1234ABCD", - "amazonReferenceId": "amazonReferenceId", - "selectedTransportationOptionId": "to1234abcd-1234-abcd-5678-1234abcd5678", - "name": "FBA (10/02/2023 20:07)-ABC1", - "source": { - "sourceType": "SELLER_FACILITY", - "address": { - "name": "name", - "addressLine1": "123 example street", - "city": "Toronto", - "countryCode": "CA", - "stateOrProvinceCode": "ON", - "postalCode": "M1M1M1" - } - }, - "destination": { - "destinationType": "AMAZON_WAREHOUSE", - "address": { - "name": "name", - "addressLine1": "124 example street", - "city": "Toronto", - "countryCode": "CA", - "stateOrProvinceCode": "ON", - "postalCode": "M1M1M1" - }, - "warehouseId": "YYZ5" - }, - "dates": { - "deliveryWindow": { - "start": "2024-01-01T00:00Z", - "end": "2024-01-08T00:00Z", - "editableUntil": "2024-01-07T00:00Z" - } - }, - "status": "WORKING", - "trackingDetails": { - "spdTrackingDetail": { - "spdTrackingItems": [ - { - "boxId": "boxId", - "trackingId": "trackingId", - "trackingNumberValidationStatus": "VALIDATED" - } - ] - }, - "ltlTrackingDetail": { - "freightBillNumber": [ - "freightBillNumber1" - ], - "billOfLadingNumber": "billOfLadingNumber" - } - }, - "palletInformation": { - "pallets": [ - { - "stackability": "STACKABLE", - "weight": { - "unit": "KG", - "value": 5.5 - }, - "dimensions": { - "unitOfMeasurement": "CM", - "length": 3.0, - "width": 4.0, - "height": 5.0 - }, - "quantity": 2 - } - ], - "freightClass": "FC_50", - "declaredValue": { - "code": "USD", - "amount": 500.0 - } - }, - "contactInformation": { - "name": "name", - "phoneNumber": "1234567890", - "email": "email@email.com" - }, - "selfShipAppointmentDetails": [ - { - "appointmentId": 1, - "appointmentSlotTime": { - "startTime": "2024-01-01T00:00:00.000Z", - "endTime": "2024-01-01T00:00:00.000Z" - }, - "appointmentStatus": "appointmentStatus" - } - ] - } - } - ] - }, - "headers": { - "x-amzn-RequestId": { - "description": "Unique request reference identifier.", - "type": "string" - }, - "x-amzn-RateLimit-Limit": { - "description": "Your rate limit (requests per second) for this operation.", - "type": "string" - } - } - }, - "400": { - "description": "Request has missing or invalid parameters and cannot be parsed.", - "schema": { - "$ref": "#/definitions/ErrorList" - }, - "x-amzn-api-sandbox": { - "static": [ - { - "request": { - "parameters": { - "inboundPlanId": { - "value": "wf1234abcd-1234-abcd-5678-1234abcd5678" - }, - "shipmentId": { - "value": "bad234abcd-1234-abcd-5678-1234abcd5678" - } - } - }, - "response": { - "errors": [ - { - "code": "BadRequest", - "message": "The requested shipment does not exist for the provided inbound plan." - } - ] - } - } - ] - }, - "headers": { - "x-amzn-RequestId": { - "description": "Unique request reference identifier.", - "type": "string" - }, - "x-amzn-RateLimit-Limit": { - "description": "Your rate limit (requests per second) for this operation.", - "type": "string" - } - } - }, - "500": { - "description": "An unexpected condition occurred that prevented the server from fulfilling the request.", - "schema": { - "$ref": "#/definitions/ErrorList" - }, - "headers": { - "x-amzn-RequestId": { - "description": "Unique request reference identifier.", - "type": "string" - } - } - }, - "403": { - "description": "Indicates that access to the resource is forbidden. Possible reasons include Access Denied, Unauthorized, Expired Token, or Invalid Signature.", - "schema": { - "$ref": "#/definitions/ErrorList" - }, - "headers": { - "x-amzn-RequestId": { - "description": "Unique request reference identifier.", - "type": "string" - } - } - }, - "404": { - "description": "The resource specified does not exist.", - "schema": { - "$ref": "#/definitions/ErrorList" - }, - "headers": { - "x-amzn-RequestId": { - "description": "Unique request reference identifier.", - "type": "string" - }, - "x-amzn-RateLimit-Limit": { - "description": "Your rate limit (requests per second) for this operation.", - "type": "string" - } - } - }, - "413": { - "description": "The request size exceeded the maximum accepted size.", - "schema": { - "$ref": "#/definitions/ErrorList" - }, - "headers": { - "x-amzn-RequestId": { - "description": "Unique request reference identifier.", - "type": "string" - } - } - }, - "415": { - "description": "The request payload is in an unsupported format.", - "schema": { - "$ref": "#/definitions/ErrorList" - }, - "headers": { - "x-amzn-RequestId": { - "description": "Unique request reference identifier.", - "type": "string" - } - } - }, - "429": { - "description": "The frequency of requests was greater than allowed.", - "schema": { - "$ref": "#/definitions/ErrorList" - }, - "headers": { - "x-amzn-RequestId": { - "description": "Unique request reference identifier.", - "type": "string" - } - } - }, - "503": { - "description": "Temporary overloading or maintenance of the server.", - "schema": { - "$ref": "#/definitions/ErrorList" - }, - "headers": { - "x-amzn-RequestId": { - "description": "Unique request reference identifier.", - "type": "string" - } - } - } - }, - "tags": [ - "fbaInbound" - ], - "description": "Provides the full details for a specific shipment within an inbound plan. The `transportationOptionId` inside `acceptedTransportationSelection` can be used to retrieve the transportation details for the shipment.\n\n**Usage Plan:**\n\n| Rate (requests per second) | Burst |\n| ---- | ---- |\n| 1 | 1 |\n\nThe `x-amzn-RateLimit-Limit` response header returns the usage plan rate limits that were applied to the requested operation, when available. The table above indicates the default rate and burst values for this operation. Selling partners whose business demands require higher throughput may see higher rate and burst values than those shown here. For more information, refer to [Usage Plans and Rate Limits in the Selling Partner API](https://developer-docs.amazon.com/sp-api/docs/usage-plans-and-rate-limits-in-the-sp-api).", - "operationId": "getShipment" - } - }, - "/inbound/fba/2024-03-20/inboundPlans/{inboundPlanId}/shipments/{shipmentId}/deliveryChallanDocument": { - "get": { - "produces": [ - "application/json" - ], - "parameters": [ - { - "description": "Identifier to an inbound plan.", - "in": "path", - "maxLength": 38, - "minLength": 38, - "name": "inboundPlanId", - "pattern": "^[a-zA-Z0-9-]*$", - "required": true, - "type": "string" - }, - { - "description": "Identifier to a shipment. A shipment contains the boxes and units being inbounded.", - "in": "path", - "maxLength": 38, - "minLength": 38, - "name": "shipmentId", - "pattern": "^[a-zA-Z0-9-]*$", - "required": true, - "type": "string" - } - ], - "responses": { - "200": { - "description": "GetDeliveryChallanDocument 200 response", - "schema": { - "$ref": "#/definitions/GetDeliveryChallanDocumentResponse" - }, - "x-amzn-api-sandbox": { - "static": [ - { - "request": { - "parameters": { - "inboundPlanId": { - "value": "wf1234abcd-1234-abcd-5678-1234abcd5678" - }, - "shipmentId": { - "value": "sh1234abcd-1234-abcd-5678-1234abcd5678" - } - } - }, - "response": { - "documentDownload": { - "uri": "https://s3.amazonaws.com/bucket", - "downloadType": "URL", - "expiration": "2024-01-01T00:00:00.000Z" - } - } - } - ] - }, - "headers": { - "x-amzn-RequestId": { - "description": "Unique request reference identifier.", - "type": "string" - }, - "x-amzn-RateLimit-Limit": { - "description": "Your rate limit (requests per second) for this operation.", - "type": "string" - } - } - }, - "400": { - "description": "Request has missing or invalid parameters and cannot be parsed.", - "schema": { - "$ref": "#/definitions/ErrorList" - }, - "x-amzn-api-sandbox": { - "static": [ - { - "request": { - "parameters": { - "inboundPlanId": { - "value": "wf1234abcd-1234-abcd-5678-1234abcd5678" - }, - "shipmentId": { - "value": "bad234abcd-1234-abcd-5678-1234abcd5678" - } - } - }, - "response": { - "errors": [ - { - "code": "BadRequest", - "message": "The requested shipmentId does not exist for the specified inbound plan." - } - ] - } - } - ] - }, - "headers": { - "x-amzn-RequestId": { - "description": "Unique request reference identifier.", - "type": "string" - }, - "x-amzn-RateLimit-Limit": { - "description": "Your rate limit (requests per second) for this operation.", - "type": "string" - } - } - }, - "500": { - "description": "An unexpected condition occurred that prevented the server from fulfilling the request.", - "schema": { - "$ref": "#/definitions/ErrorList" - }, - "headers": { - "x-amzn-RequestId": { - "description": "Unique request reference identifier.", - "type": "string" - } - } - }, - "403": { - "description": "Indicates that access to the resource is forbidden. Possible reasons include Access Denied, Unauthorized, Expired Token, or Invalid Signature.", - "schema": { - "$ref": "#/definitions/ErrorList" - }, - "headers": { - "x-amzn-RequestId": { - "description": "Unique request reference identifier.", - "type": "string" - } - } - }, - "404": { - "description": "The resource specified does not exist.", - "schema": { - "$ref": "#/definitions/ErrorList" - }, - "headers": { - "x-amzn-RequestId": { - "description": "Unique request reference identifier.", - "type": "string" - }, - "x-amzn-RateLimit-Limit": { - "description": "Your rate limit (requests per second) for this operation.", - "type": "string" - } - } - }, - "413": { - "description": "The request size exceeded the maximum accepted size.", - "schema": { - "$ref": "#/definitions/ErrorList" - }, - "headers": { - "x-amzn-RequestId": { - "description": "Unique request reference identifier.", - "type": "string" - } - } - }, - "415": { - "description": "The request payload is in an unsupported format.", - "schema": { - "$ref": "#/definitions/ErrorList" - }, - "headers": { - "x-amzn-RequestId": { - "description": "Unique request reference identifier.", - "type": "string" - } - } - }, - "429": { - "description": "The frequency of requests was greater than allowed.", - "schema": { - "$ref": "#/definitions/ErrorList" - }, - "headers": { - "x-amzn-RequestId": { - "description": "Unique request reference identifier.", - "type": "string" - } - } - }, - "503": { - "description": "Temporary overloading or maintenance of the server.", - "schema": { - "$ref": "#/definitions/ErrorList" - }, - "headers": { - "x-amzn-RequestId": { - "description": "Unique request reference identifier.", - "type": "string" - } - } - } - }, - "tags": [ - "fbaInbound" - ], - "description": "Provide delivery challan document for PCP transportation in IN marketplace.\n\n**Usage Plan:**\n\n| Rate (requests per second) | Burst |\n| ---- | ---- |\n| 1 | 1 |\n\nThe `x-amzn-RateLimit-Limit` response header returns the usage plan rate limits that were applied to the requested operation, when available. The table above indicates the default rate and burst values for this operation. Selling partners whose business demands require higher throughput may see higher rate and burst values than those shown here. For more information, refer to [Usage Plans and Rate Limits in the Selling Partner API](https://developer-docs.amazon.com/sp-api/docs/usage-plans-and-rate-limits-in-the-sp-api).", - "operationId": "getDeliveryChallanDocument" - } - }, - "/inbound/fba/2024-03-20/inboundPlans/{inboundPlanId}/shipments/{shipmentId}/deliveryWindow": { - "post": { - "consumes": [ - "application/json" - ], - "produces": [ - "application/json" - ], - "parameters": [ - { - "description": "Identifier to an inbound plan.", - "in": "path", - "maxLength": 38, - "minLength": 38, - "name": "inboundPlanId", - "pattern": "^[a-zA-Z0-9-]*$", - "required": true, - "type": "string" - }, - { - "description": "Identifier to a shipment. A shipment contains the boxes and units being inbounded.", - "in": "path", - "maxLength": 38, - "minLength": 38, - "name": "shipmentId", - "pattern": "^[a-zA-Z0-9-]*$", - "required": true, - "type": "string" - }, - { - "in": "body", - "name": "body", - "required": true, - "schema": { - "$ref": "#/definitions/UpdateShipmentDeliveryWindowRequest" - }, - "description": "The body of the request to `updateShipmentDeliveryWindow`." - } - ], - "responses": { - "202": { - "description": "UpdateShipmentDeliveryWindow 202 response", - "schema": { - "$ref": "#/definitions/UpdateShipmentDeliveryWindowResponse" - }, - "x-amzn-api-sandbox": { - "static": [ - { - "request": { - "parameters": { - "inboundPlanId": { - "value": "wf1234abcd-1234-abcd-5678-1234abcd5678" - }, - "shipmentId": { - "value": "sh1234abcd-1234-abcd-5678-1234abcd5678" - }, - "body": { - "value": { - "deliveryWindow": { - "start": "2024-01-01T00:00Z" - } - } - } - } - }, - "response": { - "operationId": "1234abcd-1234-abcd-5678-1234abcd5678" - } - } - ] - }, - "headers": { - "x-amzn-RequestId": { - "description": "Unique request reference identifier.", - "type": "string" - }, - "x-amzn-RateLimit-Limit": { - "description": "Your rate limit (requests per second) for this operation.", - "type": "string" - } - } - }, - "400": { - "description": "Request has missing or invalid parameters and cannot be parsed.", - "schema": { - "$ref": "#/definitions/ErrorList" - }, - "x-amzn-api-sandbox": { - "static": [ - { - "request": { - "parameters": { - "inboundPlanId": { - "value": "wf1234abcd-1234-abcd-5678-1234abcd5678" - }, - "shipmentId": { - "value": "bad234abcd-1234-abcd-5678-1234abcd5678" - }, - "body": { - "value": { - "deliveryWindow": { - "start": "2024-01-01T00:00Z" - } - } - } - } - }, - "response": { - "errors": [ - { - "code": "BadRequest", - "message": "The requested shipmentId does not exist for the specified inbound plan." - } - ] - } - } - ] - }, - "headers": { - "x-amzn-RequestId": { - "description": "Unique request reference identifier.", - "type": "string" - }, - "x-amzn-RateLimit-Limit": { - "description": "Your rate limit (requests per second) for this operation.", - "type": "string" - } - } - }, - "500": { - "description": "An unexpected condition occurred that prevented the server from fulfilling the request.", - "schema": { - "$ref": "#/definitions/ErrorList" - }, - "headers": { - "x-amzn-RequestId": { - "description": "Unique request reference identifier.", - "type": "string" - } - } - }, - "403": { - "description": "Indicates that access to the resource is forbidden. Possible reasons include Access Denied, Unauthorized, Expired Token, or Invalid Signature.", - "schema": { - "$ref": "#/definitions/ErrorList" - }, - "headers": { - "x-amzn-RequestId": { - "description": "Unique request reference identifier.", - "type": "string" - } - } - }, - "404": { - "description": "The resource specified does not exist.", - "schema": { - "$ref": "#/definitions/ErrorList" - }, - "headers": { - "x-amzn-RequestId": { - "description": "Unique request reference identifier.", - "type": "string" - }, - "x-amzn-RateLimit-Limit": { - "description": "Your rate limit (requests per second) for this operation.", - "type": "string" - } - } - }, - "413": { - "description": "The request size exceeded the maximum accepted size.", - "schema": { - "$ref": "#/definitions/ErrorList" - }, - "headers": { - "x-amzn-RequestId": { - "description": "Unique request reference identifier.", - "type": "string" - } - } - }, - "415": { - "description": "The request payload is in an unsupported format.", - "schema": { - "$ref": "#/definitions/ErrorList" - }, - "headers": { - "x-amzn-RequestId": { - "description": "Unique request reference identifier.", - "type": "string" - } - } - }, - "429": { - "description": "The frequency of requests was greater than allowed.", - "schema": { - "$ref": "#/definitions/ErrorList" - }, - "headers": { - "x-amzn-RequestId": { - "description": "Unique request reference identifier.", - "type": "string" - } - } - }, - "503": { - "description": "Temporary overloading or maintenance of the server.", - "schema": { - "$ref": "#/definitions/ErrorList" - }, - "headers": { - "x-amzn-RequestId": { - "description": "Unique request reference identifier.", - "type": "string" - } - } - } - }, - "tags": [ - "fbaInbound" - ], - "description": "Update the time window that a shipment will be delivered to the warehouse. The window is used to provide the expected time that a non-Amazon partnered carrier will arrive at the warehouse.\n\n**Usage Plan:**\n\n| Rate (requests per second) | Burst |\n| ---- | ---- |\n| 1 | 1 |\n\nThe `x-amzn-RateLimit-Limit` response header returns the usage plan rate limits that were applied to the requested operation, when available. The table above indicates the default rate and burst values for this operation. Selling partners whose business demands require higher throughput may see higher rate and burst values than those shown here. For more information, refer to [Usage Plans and Rate Limits in the Selling Partner API](https://developer-docs.amazon.com/sp-api/docs/usage-plans-and-rate-limits-in-the-sp-api).", - "operationId": "updateShipmentDeliveryWindow" - } - }, - "/inbound/fba/2024-03-20/inboundPlans/{inboundPlanId}/shipments/{shipmentId}/selfShipAppointmentSlots": { - "get": { - "produces": [ - "application/json" - ], - "parameters": [ - { - "description": "Identifier to an inbound plan.", - "in": "path", - "maxLength": 38, - "minLength": 38, - "name": "inboundPlanId", - "pattern": "^[a-zA-Z0-9-]*$", - "required": true, - "type": "string" - }, - { - "description": "Identifier to a shipment. A shipment contains the boxes and units being inbounded.", - "in": "path", - "maxLength": 38, - "minLength": 38, - "name": "shipmentId", - "pattern": "^[a-zA-Z0-9-]*$", - "required": true, - "type": "string" - }, - { - "description": "The number of self ship appointment slots to return in the response matching the given query.", - "in": "query", - "maximum": 100, - "minimum": 1, - "name": "pageSize", - "type": "integer", - "default": 10 - }, - { - "description": "A token to fetch a certain page when there are multiple pages worth of results. The value of this token is fetched from the `pagination` returned in the API response. In the absence of the token value from the query parameter the API returns the first page of the result.", - "in": "query", - "maxLength": 1024, - "minLength": 0, - "name": "paginationToken", - "type": "string" - } - ], - "responses": { - "200": { - "description": "GetSelfShipAppointmentSlots 200 response", - "schema": { - "$ref": "#/definitions/GetSelfShipAppointmentSlotsResponse" - }, - "x-amzn-api-sandbox": { - "static": [ - { - "request": { - "parameters": { - "inboundPlanId": { - "value": "wf1234abcd-1234-abcd-5678-1234abcd5678" - }, - "shipmentId": { - "value": "sh1234abcd-1234-abcd-5678-1234abcd5678" - }, - "pageSize": { - "value": 2 - }, - "paginationToken": { - "value": "paginationToken" - } - } - }, - "response": { - "selfShipAppointmentSlotsAvailability": { - "expiresAt": "2024-01-02T00:00:00.000Z", - "slots": [ - { - "slotId": "aa1234abcd-1234-abcd-5678-1234abcd5678", - "slotTime": { - "startTime": "2024-01-01T00:00:00.000Z", - "endTime": "2024-01-02T00:00:00.000Z" - } - } - ] - }, - "pagination": { - "nextToken": "nextPaginationToken" - } - } - } - ] - }, - "headers": { - "x-amzn-RequestId": { - "description": "Unique request reference identifier.", - "type": "string" - }, - "x-amzn-RateLimit-Limit": { - "description": "Your rate limit (requests per second) for this operation.", - "type": "string" - } - } - }, - "400": { - "description": "Request has missing or invalid parameters and cannot be parsed.", - "schema": { - "$ref": "#/definitions/ErrorList" - }, - "x-amzn-api-sandbox": { - "static": [ - { - "request": { - "parameters": { - "inboundPlanId": { - "value": "wf1234abcd-1234-abcd-5678-1234abcd5678" - }, - "shipmentId": { - "value": "bad234abcd-1234-abcd-5678-1234abcd5678" - } - } - }, - "response": { - "errors": [ - { - "code": "BadRequest", - "message": "The requested shipmentId does not exist for the given inbound plan." - } - ] - } - } - ] - }, - "headers": { - "x-amzn-RequestId": { - "description": "Unique request reference identifier.", - "type": "string" - }, - "x-amzn-RateLimit-Limit": { - "description": "Your rate limit (requests per second) for this operation.", - "type": "string" - } - } - }, - "500": { - "description": "An unexpected condition occurred that prevented the server from fulfilling the request.", - "schema": { - "$ref": "#/definitions/ErrorList" - }, - "headers": { - "x-amzn-RequestId": { - "description": "Unique request reference identifier.", - "type": "string" - } - } - }, - "403": { - "description": "Indicates that access to the resource is forbidden. Possible reasons include Access Denied, Unauthorized, Expired Token, or Invalid Signature.", - "schema": { - "$ref": "#/definitions/ErrorList" - }, - "headers": { - "x-amzn-RequestId": { - "description": "Unique request reference identifier.", - "type": "string" - } - } - }, - "404": { - "description": "The resource specified does not exist.", - "schema": { - "$ref": "#/definitions/ErrorList" - }, - "headers": { - "x-amzn-RequestId": { - "description": "Unique request reference identifier.", - "type": "string" - }, - "x-amzn-RateLimit-Limit": { - "description": "Your rate limit (requests per second) for this operation.", - "type": "string" - } - } - }, - "413": { - "description": "The request size exceeded the maximum accepted size.", - "schema": { - "$ref": "#/definitions/ErrorList" - }, - "headers": { - "x-amzn-RequestId": { - "description": "Unique request reference identifier.", - "type": "string" - } - } - }, - "415": { - "description": "The request payload is in an unsupported format.", - "schema": { - "$ref": "#/definitions/ErrorList" - }, - "headers": { - "x-amzn-RequestId": { - "description": "Unique request reference identifier.", - "type": "string" - } - } - }, - "429": { - "description": "The frequency of requests was greater than allowed.", - "schema": { - "$ref": "#/definitions/ErrorList" - }, - "headers": { - "x-amzn-RequestId": { - "description": "Unique request reference identifier.", - "type": "string" - } - } - }, - "503": { - "description": "Temporary overloading or maintenance of the server.", - "schema": { - "$ref": "#/definitions/ErrorList" - }, - "headers": { - "x-amzn-RequestId": { - "description": "Unique request reference identifier.", - "type": "string" - } - } - } - }, - "tags": [ - "fbaInbound" - ], - "description": "Retrieves a list of available self-ship appointment slots used to drop off a shipment at a warehouse.\n\n**Usage Plan:**\n\n| Rate (requests per second) | Burst |\n| ---- | ---- |\n| 1 | 1 |\n\nThe `x-amzn-RateLimit-Limit` response header returns the usage plan rate limits that were applied to the requested operation, when available. The table above indicates the default rate and burst values for this operation. Selling partners whose business demands require higher throughput may see higher rate and burst values than those shown here. For more information, refer to [Usage Plans and Rate Limits in the Selling Partner API](https://developer-docs.amazon.com/sp-api/docs/usage-plans-and-rate-limits-in-the-sp-api).", - "operationId": "getSelfShipAppointmentSlots" - }, - "post": { - "consumes": [ - "application/json" - ], - "produces": [ - "application/json" - ], - "parameters": [ - { - "description": "Identifier to an inbound plan.", - "in": "path", - "maxLength": 38, - "minLength": 38, - "name": "inboundPlanId", - "pattern": "^[a-zA-Z0-9-]*$", - "required": true, - "type": "string" - }, - { - "description": "Identifier to a shipment. A shipment contains the boxes and units being inbounded.", - "in": "path", - "maxLength": 38, - "minLength": 38, - "name": "shipmentId", - "pattern": "^[a-zA-Z0-9-]*$", - "required": true, - "type": "string" - }, - { - "in": "body", - "name": "body", - "required": true, - "schema": { - "$ref": "#/definitions/GenerateSelfShipAppointmentSlotsRequest" - }, - "description": "The body of the request `generateSelfShipAppointmentSlots`." - } - ], - "responses": { - "201": { - "description": "GenerateSelfShipAppointmentSlots 201 response", - "schema": { - "$ref": "#/definitions/GenerateSelfShipAppointmentSlotsResponse" - }, - "x-amzn-api-sandbox": { - "static": [ - { - "request": { - "parameters": { - "inboundPlanId": { - "value": "wf1234abcd-1234-abcd-5678-1234abcd5678" - }, - "shipmentId": { - "value": "sh1234abcd-1234-abcd-5678-1234abcd5678" - }, - "body": { - "value": { - "desiredEndDate": "2024-01-15T00:00:00.000Z", - "desiredStartDate": "2024-01-16T00:00:00.000Z" - } - } - } - }, - "response": { - "operationId": "1234abcd-1234-abcd-5678-1234abcd5678" - } - } - ] - }, - "headers": { - "x-amzn-RequestId": { - "description": "Unique request reference identifier.", - "type": "string" - }, - "x-amzn-RateLimit-Limit": { - "description": "Your rate limit (requests per second) for this operation.", - "type": "string" - } - } - }, - "400": { - "description": "Request has missing or invalid parameters and cannot be parsed.", - "schema": { - "$ref": "#/definitions/ErrorList" - }, - "x-amzn-api-sandbox": { - "static": [ - { - "request": { - "parameters": { - "inboundPlanId": { - "value": "wf1234abcd-1234-abcd-5678-1234abcd5678" - }, - "shipmentId": { - "value": "bad234abcd-1234-abcd-5678-1234abcd5678" - }, - "body": { - "value": { - "desiredEndDate": "2024-01-15T00:00:00.000Z", - "desiredStartDate": "2024-01-16T00:00:00.000Z" - } - } - } - }, - "response": { - "errors": [ - { - "code": "BadRequest", - "message": "The requested shipmentId does not exist in the inbound plan." - } - ] - } - } - ] - }, - "headers": { - "x-amzn-RequestId": { - "description": "Unique request reference identifier.", - "type": "string" - }, - "x-amzn-RateLimit-Limit": { - "description": "Your rate limit (requests per second) for this operation.", - "type": "string" - } - } - }, - "500": { - "description": "An unexpected condition occurred that prevented the server from fulfilling the request.", - "schema": { - "$ref": "#/definitions/ErrorList" - }, - "headers": { - "x-amzn-RequestId": { - "description": "Unique request reference identifier.", - "type": "string" - } - } - }, - "403": { - "description": "Indicates that access to the resource is forbidden. Possible reasons include Access Denied, Unauthorized, Expired Token, or Invalid Signature.", - "schema": { - "$ref": "#/definitions/ErrorList" - }, - "headers": { - "x-amzn-RequestId": { - "description": "Unique request reference identifier.", - "type": "string" - } - } - }, - "404": { - "description": "The resource specified does not exist.", - "schema": { - "$ref": "#/definitions/ErrorList" - }, - "headers": { - "x-amzn-RequestId": { - "description": "Unique request reference identifier.", - "type": "string" - }, - "x-amzn-RateLimit-Limit": { - "description": "Your rate limit (requests per second) for this operation.", - "type": "string" - } - } - }, - "413": { - "description": "The request size exceeded the maximum accepted size.", - "schema": { - "$ref": "#/definitions/ErrorList" - }, - "headers": { - "x-amzn-RequestId": { - "description": "Unique request reference identifier.", - "type": "string" - } - } - }, - "415": { - "description": "The request payload is in an unsupported format.", - "schema": { - "$ref": "#/definitions/ErrorList" - }, - "headers": { - "x-amzn-RequestId": { - "description": "Unique request reference identifier.", - "type": "string" - } - } - }, - "429": { - "description": "The frequency of requests was greater than allowed.", - "schema": { - "$ref": "#/definitions/ErrorList" - }, - "headers": { - "x-amzn-RequestId": { - "description": "Unique request reference identifier.", - "type": "string" - } - } - }, - "503": { - "description": "Temporary overloading or maintenance of the server.", - "schema": { - "$ref": "#/definitions/ErrorList" - }, - "headers": { - "x-amzn-RequestId": { - "description": "Unique request reference identifier.", - "type": "string" - } - } - } - }, - "tags": [ - "fbaInbound" - ], - "description": "Initiates the process of generating the appointment slots list.\n\n**Usage Plan:**\n\n| Rate (requests per second) | Burst |\n| ---- | ---- |\n| 1 | 1 |\n\nThe `x-amzn-RateLimit-Limit` response header returns the usage plan rate limits that were applied to the requested operation, when available. The table above indicates the default rate and burst values for this operation. Selling partners whose business demands require higher throughput may see higher rate and burst values than those shown here. For more information, refer to [Usage Plans and Rate Limits in the Selling Partner API](https://developer-docs.amazon.com/sp-api/docs/usage-plans-and-rate-limits-in-the-sp-api).", - "operationId": "generateSelfShipAppointmentSlots" - } - }, - "/inbound/fba/2024-03-20/inboundPlans/{inboundPlanId}/shipments/{shipmentId}/selfShipAppointmentSlots/{slotId}/cancellation": { - "put": { - "consumes": [ - "application/json" - ], - "produces": [ - "application/json" - ], - "parameters": [ - { - "description": "Identifier to an inbound plan.", - "in": "path", - "maxLength": 38, - "minLength": 38, - "name": "inboundPlanId", - "pattern": "^[a-zA-Z0-9-]*$", - "required": true, - "type": "string" - }, - { - "description": "Identifier to a shipment. A shipment contains the boxes and units being inbounded.", - "in": "path", - "maxLength": 38, - "minLength": 38, - "name": "shipmentId", - "pattern": "^[a-zA-Z0-9-]*$", - "required": true, - "type": "string" - }, - { - "description": "Identifier to a self-ship appointment slot.", - "in": "path", - "maxLength": 38, - "minLength": 38, - "name": "slotId", - "pattern": "^[a-zA-Z0-9-]*$", - "required": true, - "type": "string" - }, - { - "in": "body", - "name": "body", - "required": true, - "schema": { - "$ref": "#/definitions/CancelSelfShipAppointmentRequest" - }, - "description": "The body of the request to `cancelSelfShipAppointment`." - } - ], - "responses": { - "202": { - "description": "CancelSelfShipAppointment 202 response", - "schema": { - "$ref": "#/definitions/CancelSelfShipAppointmentResponse" - }, - "x-amzn-api-sandbox": { - "static": [ - { - "request": { - "parameters": { - "inboundPlanId": { - "value": "wf1234abcd-1234-abcd-5678-1234abcd5678" - }, - "shipmentId": { - "value": "sh1234abcd-1234-abcd-5678-1234abcd5678" - }, - "slotId": { - "value": "aa1234abcd-1234-abcd-5678-1234abcd5678" - }, - "body": { - "value": { - "reasonComment": "OTHER" - } - } - } - }, - "response": { - "operationId": "1234abcd-1234-abcd-5678-1234abcd5678" - } - } - ] - }, - "headers": { - "x-amzn-RequestId": { - "description": "Unique request reference identifier.", - "type": "string" - }, - "x-amzn-RateLimit-Limit": { - "description": "Your rate limit (requests per second) for this operation.", - "type": "string" - } - } - }, - "400": { - "description": "Request has missing or invalid parameters and cannot be parsed.", - "schema": { - "$ref": "#/definitions/ErrorList" - }, - "x-amzn-api-sandbox": { - "static": [ - { - "request": { - "parameters": { - "inboundPlanId": { - "value": "wf1234abcd-1234-abcd-5678-1234abcd5678" - }, - "shipmentId": { - "value": "bad234abcd-1234-abcd-5678-1234abcd5678" - }, - "slotId": { - "value": "aa1234abcd-1234-abcd-5678-1234abcd5678" - }, - "body": { - "value": { - "reasonComment": "OTHER" - } - } - } - }, - "response": { - "errors": [ - { - "code": "BadRequest", - "message": "The requested shipmentId does not exist for the specified inbound plan." - } - ] - } - } - ] - }, - "headers": { - "x-amzn-RequestId": { - "description": "Unique request reference identifier.", - "type": "string" - }, - "x-amzn-RateLimit-Limit": { - "description": "Your rate limit (requests per second) for this operation.", - "type": "string" - } - } - }, - "500": { - "description": "An unexpected condition occurred that prevented the server from fulfilling the request.", - "schema": { - "$ref": "#/definitions/ErrorList" - }, - "headers": { - "x-amzn-RequestId": { - "description": "Unique request reference identifier.", - "type": "string" - } - } - }, - "403": { - "description": "Indicates that access to the resource is forbidden. Possible reasons include Access Denied, Unauthorized, Expired Token, or Invalid Signature.", - "schema": { - "$ref": "#/definitions/ErrorList" - }, - "headers": { - "x-amzn-RequestId": { - "description": "Unique request reference identifier.", - "type": "string" - } - } - }, - "404": { - "description": "The resource specified does not exist.", - "schema": { - "$ref": "#/definitions/ErrorList" - }, - "headers": { - "x-amzn-RequestId": { - "description": "Unique request reference identifier.", - "type": "string" - }, - "x-amzn-RateLimit-Limit": { - "description": "Your rate limit (requests per second) for this operation.", - "type": "string" - } - } - }, - "413": { - "description": "The request size exceeded the maximum accepted size.", - "schema": { - "$ref": "#/definitions/ErrorList" - }, - "headers": { - "x-amzn-RequestId": { - "description": "Unique request reference identifier.", - "type": "string" - } - } - }, - "415": { - "description": "The request payload is in an unsupported format.", - "schema": { - "$ref": "#/definitions/ErrorList" - }, - "headers": { - "x-amzn-RequestId": { - "description": "Unique request reference identifier.", - "type": "string" - } - } - }, - "429": { - "description": "The frequency of requests was greater than allowed.", - "schema": { - "$ref": "#/definitions/ErrorList" - }, - "headers": { - "x-amzn-RequestId": { - "description": "Unique request reference identifier.", - "type": "string" - } - } - }, - "503": { - "description": "Temporary overloading or maintenance of the server.", - "schema": { - "$ref": "#/definitions/ErrorList" - }, - "headers": { - "x-amzn-RequestId": { - "description": "Unique request reference identifier.", - "type": "string" - } - } - } - }, - "tags": [ - "fbaInbound" - ], - "description": "Cancels a self-ship appointment slot against a shipment.\n\n**Usage Plan:**\n\n| Rate (requests per second) | Burst |\n| ---- | ---- |\n| 1 | 1 |\n\nThe `x-amzn-RateLimit-Limit` response header returns the usage plan rate limits that were applied to the requested operation, when available. The table above indicates the default rate and burst values for this operation. Selling partners whose business demands require higher throughput may see higher rate and burst values than those shown here. For more information, refer to [Usage Plans and Rate Limits in the Selling Partner API](https://developer-docs.amazon.com/sp-api/docs/usage-plans-and-rate-limits-in-the-sp-api).", - "operationId": "cancelSelfShipAppointment" - } - }, - "/inbound/fba/2024-03-20/inboundPlans/{inboundPlanId}/shipments/{shipmentId}/selfShipAppointmentSlots/{slotId}/schedule": { - "post": { - "consumes": [ - "application/json" - ], - "produces": [ - "application/json" - ], - "parameters": [ - { - "description": "Identifier to an inbound plan.", - "in": "path", - "maxLength": 38, - "minLength": 38, - "name": "inboundPlanId", - "pattern": "^[a-zA-Z0-9-]*$", - "required": true, - "type": "string" - }, - { - "description": "Identifier to a shipment. A shipment contains the boxes and units being inbounded.", - "in": "path", - "maxLength": 38, - "minLength": 38, - "name": "shipmentId", - "pattern": "^[a-zA-Z0-9-]*$", - "required": true, - "type": "string" - }, - { - "description": "Identifier to a self-ship appointment slot.", - "in": "path", - "maxLength": 38, - "minLength": 38, - "name": "slotId", - "pattern": "^[a-zA-Z0-9-]*$", - "required": true, - "type": "string" - }, - { - "in": "body", - "name": "body", - "required": true, - "schema": { - "$ref": "#/definitions/ScheduleSelfShipAppointmentRequest" - }, - "description": "The body of the request to `scheduleSelfShipAppointment`." - } - ], - "responses": { - "200": { - "description": "ScheduleSelfShipAppointment 200 response", - "schema": { - "$ref": "#/definitions/ScheduleSelfShipAppointmentResponse" - }, - "x-amzn-api-sandbox": { - "static": [ - { - "request": { - "parameters": { - "inboundPlanId": { - "value": "wf1234abcd-1234-abcd-5678-1234abcd5678" - }, - "shipmentId": { - "value": "sh1234abcd-1234-abcd-5678-1234abcd5678" - }, - "slotId": { - "value": "aa1234abcd-1234-abcd-5678-1234abcd5678" - }, - "body": { - "value": { - "reasonComment": "OTHER" - } - } - } - }, - "response": { - "selfShipAppointmentDetails": { - "appointmentId": 1000, - "appointmentSlotTime": { - "startTime": "2023-03-08T13:15:30Z", - "endTime": "2023-03-09T13:15:30Z" - }, - "appointmentStatus": "ARRIVAL_SCHEDULED" - } - } - } - ] - }, - "headers": { - "x-amzn-RequestId": { - "description": "Unique request reference identifier.", - "type": "string" - }, - "x-amzn-RateLimit-Limit": { - "description": "Your rate limit (requests per second) for this operation.", - "type": "string" - } - } - }, - "400": { - "description": "Request has missing or invalid parameters and cannot be parsed.", - "schema": { - "$ref": "#/definitions/ErrorList" - }, - "x-amzn-api-sandbox": { - "static": [ - { - "request": { - "parameters": { - "inboundPlanId": { - "value": "wf1234abcd-1234-abcd-5678-1234abcd5678" - }, - "shipmentId": { - "value": "bad234abcd-1234-abcd-5678-1234abcd5678" - }, - "slotId": { - "value": "aa1234abcd-1234-abcd-5678-1234abcd5678" - }, - "body": { - "value": { - "reasonComment": "OTHER" - } - } - } - }, - "response": { - "errors": [ - { - "code": "BadRequest", - "message": "The requested shipmentId does not exist for the specified inbound plan." - } - ] - } - } - ] - }, - "headers": { - "x-amzn-RequestId": { - "description": "Unique request reference identifier.", - "type": "string" - }, - "x-amzn-RateLimit-Limit": { - "description": "Your rate limit (requests per second) for this operation.", - "type": "string" - } - } - }, - "500": { - "description": "An unexpected condition occurred that prevented the server from fulfilling the request.", - "schema": { - "$ref": "#/definitions/ErrorList" - }, - "headers": { - "x-amzn-RequestId": { - "description": "Unique request reference identifier.", - "type": "string" - } - } - }, - "403": { - "description": "Indicates that access to the resource is forbidden. Possible reasons include Access Denied, Unauthorized, Expired Token, or Invalid Signature.", - "schema": { - "$ref": "#/definitions/ErrorList" - }, - "headers": { - "x-amzn-RequestId": { - "description": "Unique request reference identifier.", - "type": "string" - } - } - }, - "404": { - "description": "The resource specified does not exist.", - "schema": { - "$ref": "#/definitions/ErrorList" - }, - "headers": { - "x-amzn-RequestId": { - "description": "Unique request reference identifier.", - "type": "string" - }, - "x-amzn-RateLimit-Limit": { - "description": "Your rate limit (requests per second) for this operation.", - "type": "string" - } - } - }, - "413": { - "description": "The request size exceeded the maximum accepted size.", - "schema": { - "$ref": "#/definitions/ErrorList" - }, - "headers": { - "x-amzn-RequestId": { - "description": "Unique request reference identifier.", - "type": "string" - } - } - }, - "415": { - "description": "The request payload is in an unsupported format.", - "schema": { - "$ref": "#/definitions/ErrorList" - }, - "headers": { - "x-amzn-RequestId": { - "description": "Unique request reference identifier.", - "type": "string" - } - } - }, - "429": { - "description": "The frequency of requests was greater than allowed.", - "schema": { - "$ref": "#/definitions/ErrorList" - }, - "headers": { - "x-amzn-RequestId": { - "description": "Unique request reference identifier.", - "type": "string" - } - } - }, - "503": { - "description": "Temporary overloading or maintenance of the server.", - "schema": { - "$ref": "#/definitions/ErrorList" - }, - "headers": { - "x-amzn-RequestId": { - "description": "Unique request reference identifier.", - "type": "string" - } - } - } - }, - "tags": [ - "fbaInbound" - ], - "description": "Confirms or reschedules a self-ship appointment slot against a shipment.\n\n**Usage Plan:**\n\n| Rate (requests per second) | Burst |\n| ---- | ---- |\n| 1 | 1 |\n\nThe `x-amzn-RateLimit-Limit` response header returns the usage plan rate limits that were applied to the requested operation, when available. The table above indicates the default rate and burst values for this operation. Selling partners whose business demands require higher throughput may see higher rate and burst values than those shown here. For more information, refer to [Usage Plans and Rate Limits in the Selling Partner API](https://developer-docs.amazon.com/sp-api/docs/usage-plans-and-rate-limits-in-the-sp-api).", - "operationId": "scheduleSelfShipAppointment" - } - }, - "/inbound/fba/2024-03-20/inboundPlans/{inboundPlanId}/shipments/{shipmentId}/trackingDetails": { - "put": { - "consumes": [ - "application/json" - ], - "produces": [ - "application/json" - ], - "parameters": [ - { - "description": "Identifier to an inbound plan.", - "in": "path", - "maxLength": 38, - "minLength": 38, - "name": "inboundPlanId", - "pattern": "^[a-zA-Z0-9-]*$", - "required": true, - "type": "string" - }, - { - "description": "Identifier to a shipment. A shipment contains the boxes and units being inbounded.", - "in": "path", - "maxLength": 38, - "minLength": 38, - "name": "shipmentId", - "pattern": "^[a-zA-Z0-9-]*$", - "required": true, - "type": "string" - }, - { - "in": "body", - "name": "body", - "required": true, - "schema": { - "$ref": "#/definitions/UpdateShipmentTrackingDetailsRequest" - }, - "description": "The body of the request to `updateShipmentTrackingDetails`." - } - ], - "responses": { - "202": { - "description": "UpdateShipmentTrackingDetails 202 response", - "schema": { - "$ref": "#/definitions/UpdateShipmentTrackingDetailsResponse" - }, - "x-amzn-api-sandbox": { - "static": [ - { - "request": { - "parameters": { - "inboundPlanId": { - "value": "wf1234abcd-1234-abcd-5678-1234abcd5678" - }, - "shipmentId": { - "value": "sh1234abcd-1234-abcd-5678-1234abcd5678" - }, - "body": { - "value": { - "trackingDetails": { - "ltlTrackingDetail": { - "freightBillNumber": [ - "freightBillNumber1" - ], - "billOfLadingNumber": "billOfLadingNumber" - }, - "spdTrackingDetail": { - "spdTrackingItems": [ - { - "boxId": "boxId", - "trackingId": "trackingId" - } - ] - } - } - } - } - } - }, - "response": { - "operationId": "1234abcd-1234-abcd-5678-1234abcd5678" - } - } - ] - }, - "headers": { - "x-amzn-RequestId": { - "description": "Unique request reference identifier.", - "type": "string" - }, - "x-amzn-RateLimit-Limit": { - "description": "Your rate limit (requests per second) for this operation.", - "type": "string" - } - } - }, - "400": { - "description": "Request has missing or invalid parameters and cannot be parsed.", - "schema": { - "$ref": "#/definitions/ErrorList" - }, - "x-amzn-api-sandbox": { - "static": [ - { - "request": { - "parameters": { - "inboundPlanId": { - "value": "wf1234abcd-1234-abcd-5678-1234abcd5678" - }, - "shipmentId": { - "value": "bad234abcd-1234-abcd-5678-1234abcd5678" - }, - "body": { - "value": { - "trackingDetails": { - "ltlTrackingDetail": { - "freightBillNumber": [ - "freightBillNumber1" - ], - "billOfLadingNumber": "billOfLadingNumber" - }, - "spdTrackingDetail": { - "spdTrackingItems": [ - { - "boxId": "boxId", - "trackingId": "trackingId" - } - ] - } - } - } - } - } - }, - "response": { - "errors": [ - { - "code": "BadRequest", - "message": "The requested shipmentId does not exist for the specified inbound plan." - } - ] - } - } - ] - }, - "headers": { - "x-amzn-RequestId": { - "description": "Unique request reference identifier.", - "type": "string" - }, - "x-amzn-RateLimit-Limit": { - "description": "Your rate limit (requests per second) for this operation.", - "type": "string" - } - } - }, - "500": { - "description": "An unexpected condition occurred that prevented the server from fulfilling the request.", - "schema": { - "$ref": "#/definitions/ErrorList" - }, - "headers": { - "x-amzn-RequestId": { - "description": "Unique request reference identifier.", - "type": "string" - } - } - }, - "403": { - "description": "Indicates that access to the resource is forbidden. Possible reasons include Access Denied, Unauthorized, Expired Token, or Invalid Signature.", - "schema": { - "$ref": "#/definitions/ErrorList" - }, - "headers": { - "x-amzn-RequestId": { - "description": "Unique request reference identifier.", - "type": "string" - } - } - }, - "404": { - "description": "The resource specified does not exist.", - "schema": { - "$ref": "#/definitions/ErrorList" - }, - "headers": { - "x-amzn-RequestId": { - "description": "Unique request reference identifier.", - "type": "string" - }, - "x-amzn-RateLimit-Limit": { - "description": "Your rate limit (requests per second) for this operation.", - "type": "string" - } - } - }, - "413": { - "description": "The request size exceeded the maximum accepted size.", - "schema": { - "$ref": "#/definitions/ErrorList" - }, - "headers": { - "x-amzn-RequestId": { - "description": "Unique request reference identifier.", - "type": "string" - } - } - }, - "415": { - "description": "The request payload is in an unsupported format.", - "schema": { - "$ref": "#/definitions/ErrorList" - }, - "headers": { - "x-amzn-RequestId": { - "description": "Unique request reference identifier.", - "type": "string" - } - } - }, - "429": { - "description": "The frequency of requests was greater than allowed.", - "schema": { - "$ref": "#/definitions/ErrorList" - }, - "headers": { - "x-amzn-RequestId": { - "description": "Unique request reference identifier.", - "type": "string" - } - } - }, - "503": { - "description": "Temporary overloading or maintenance of the server.", - "schema": { - "$ref": "#/definitions/ErrorList" - }, - "headers": { - "x-amzn-RequestId": { - "description": "Unique request reference identifier.", - "type": "string" - } - } - } - }, - "tags": [ - "fbaInbound" - ], - "description": "Updates a shipment's tracking details.\n\n**Usage Plan:**\n\n| Rate (requests per second) | Burst |\n| ---- | ---- |\n| 1 | 1 |\n\nThe `x-amzn-RateLimit-Limit` response header returns the usage plan rate limits that were applied to the requested operation, when available. The table above indicates the default rate and burst values for this operation. Selling partners whose business demands require higher throughput may see higher rate and burst values than those shown here. For more information, refer to [Usage Plans and Rate Limits in the Selling Partner API](https://developer-docs.amazon.com/sp-api/docs/usage-plans-and-rate-limits-in-the-sp-api).", - "operationId": "updateShipmentTrackingDetails" - } - }, - "/inbound/fba/2024-03-20/inboundPlans/{inboundPlanId}/transportationOptions": { - "get": { - "produces": [ - "application/json" - ], - "parameters": [ - { - "description": "Identifier to an inbound plan.", - "in": "path", - "maxLength": 38, - "minLength": 38, - "name": "inboundPlanId", - "pattern": "^[a-zA-Z0-9-]*$", - "required": true, - "type": "string" - }, - { - "description": "The number of transportation options to return in the response matching the given query.", - "in": "query", - "maximum": 20, - "minimum": 1, - "name": "pageSize", - "type": "integer", - "default": 10 - }, - { - "description": "A token to fetch a certain page when there are multiple pages worth of results. The value of this token is fetched from the `pagination` returned in the API response. In the absence of the token value from the query parameter the API returns the first page of the result.", - "in": "query", - "maxLength": 1024, - "minLength": 0, - "name": "paginationToken", - "type": "string" - }, - { - "description": "The placement option to get transportation options for. Either placementOptionId or shipmentId must be specified.", - "in": "query", - "maxLength": 38, - "minLength": 38, - "name": "placementOptionId", - "pattern": "^[a-zA-Z0-9-]*$", - "type": "string" - }, - { - "description": "The shipment to get transportation options for. Either placementOptionId or shipmentId must be specified.", - "in": "query", - "maxLength": 38, - "minLength": 38, - "name": "shipmentId", - "pattern": "^[a-zA-Z0-9-]*$", - "type": "string" - } - ], - "responses": { - "200": { - "description": "ListTransportationOptions 200 response", - "schema": { - "$ref": "#/definitions/ListTransportationOptionsResponse" - }, - "x-amzn-api-sandbox": { - "static": [ - { - "request": { - "parameters": { - "inboundPlanId": { - "value": "wf1234abcd-1234-abcd-5678-1234abcd5678" - }, - "placementOptionId": { - "value": "pl1234abcd-1234-abcd-5678-1234abcd5678" - }, - "shipmentId": { - "value": "sh1234abcd-1234-abcd-5678-1234abcd5678" - }, - "pageSize": { - "value": 2 - }, - "paginationToken": { - "value": "paginationToken" - } - } - }, - "response": { - "transportationOptions": [ - { - "inboundPlanId": "wf1234abcd-1234-abcd-5678-1234abcd5678", - "placementOptionId": "pl1234abcd-1234-abcd-5678-1234abcd5678", - "shipmentId": "sh1234abcd-1234-abcd-5678-1234abcd5678", - "transportationOptionId": "to1234abcd-1234-abcd-5678-1234abcd5678", - "shippingSolution": "AMAZON_PARTNERED_CARRIER", - "carrier": { - "name": "name", - "alphaCode": "USPS" - }, - "shippingMode": "GROUND_SMALL_PARCEL", - "quote": { - "cost": { - "code": "USD", - "amount": 500.0 - }, - "voidableUntil": "2024-01-01T00:00:00.000Z", - "expiration": "2024-01-01T00:00:00.000Z" - }, - "appointmentSlot": { - "slotId": "aa1234abcd-1234-abcd-5678-1234abcd5678", - "slotTime": { - "startTime": "2024-01-01T00:00Z", - "endTime": "2024-01-01T00:00Z" - } - } - } - ], - "pagination": { - "nextToken": "nextPaginationToken" - } - } - } - ] - }, - "headers": { - "x-amzn-RequestId": { - "description": "Unique request reference identifier.", - "type": "string" - }, - "x-amzn-RateLimit-Limit": { - "description": "Your rate limit (requests per second) for this operation.", - "type": "string" - } - } - }, - "400": { - "description": "Request has missing or invalid parameters and cannot be parsed.", - "schema": { - "$ref": "#/definitions/ErrorList" - }, - "x-amzn-api-sandbox": { - "static": [ - { - "request": { - "parameters": { - "inboundPlanId": { - "value": "wf1234abcd-1234-abcd-5678-1234abcd5678" - }, - "placementOptionId": { - "value": "pl1234abcd-1234-abcd-5678-1234abcd5678" - }, - "shipmentId": { - "value": "bad234abcd-1234-abcd-5678-1234abcd5678" - }, - "pageSize": { - "value": 2 - }, - "paginationToken": { - "value": "paginationToken" - } - } - }, - "response": { - "errors": [ - { - "code": "BadRequest", - "message": "The requested shipmentId does not exist for the specified inbound plan." - } - ] - } - } - ] - }, - "headers": { - "x-amzn-RequestId": { - "description": "Unique request reference identifier.", - "type": "string" - }, - "x-amzn-RateLimit-Limit": { - "description": "Your rate limit (requests per second) for this operation.", - "type": "string" - } - } - }, - "500": { - "description": "An unexpected condition occurred that prevented the server from fulfilling the request.", - "schema": { - "$ref": "#/definitions/ErrorList" - }, - "headers": { - "x-amzn-RequestId": { - "description": "Unique request reference identifier.", - "type": "string" - } - } - }, - "403": { - "description": "Indicates that access to the resource is forbidden. Possible reasons include Access Denied, Unauthorized, Expired Token, or Invalid Signature.", - "schema": { - "$ref": "#/definitions/ErrorList" - }, - "headers": { - "x-amzn-RequestId": { - "description": "Unique request reference identifier.", - "type": "string" - } - } - }, - "404": { - "description": "The resource specified does not exist.", - "schema": { - "$ref": "#/definitions/ErrorList" - }, - "headers": { - "x-amzn-RequestId": { - "description": "Unique request reference identifier.", - "type": "string" - }, - "x-amzn-RateLimit-Limit": { - "description": "Your rate limit (requests per second) for this operation.", - "type": "string" - } - } - }, - "413": { - "description": "The request size exceeded the maximum accepted size.", - "schema": { - "$ref": "#/definitions/ErrorList" - }, - "headers": { - "x-amzn-RequestId": { - "description": "Unique request reference identifier.", - "type": "string" - } - } - }, - "415": { - "description": "The request payload is in an unsupported format.", - "schema": { - "$ref": "#/definitions/ErrorList" - }, - "headers": { - "x-amzn-RequestId": { - "description": "Unique request reference identifier.", - "type": "string" - } - } - }, - "429": { - "description": "The frequency of requests was greater than allowed.", - "schema": { - "$ref": "#/definitions/ErrorList" - }, - "headers": { - "x-amzn-RequestId": { - "description": "Unique request reference identifier.", - "type": "string" - } - } - }, - "503": { - "description": "Temporary overloading or maintenance of the server.", - "schema": { - "$ref": "#/definitions/ErrorList" - }, - "headers": { - "x-amzn-RequestId": { - "description": "Unique request reference identifier.", - "type": "string" - } - } - } - }, - "tags": [ - "fbaInbound" - ], - "description": "Retrieves all transportation options for a shipment. Transportation options must first be generated by the corresponding endpoint before becoming available.\n\n**Usage Plan:**\n\n| Rate (requests per second) | Burst |\n| ---- | ---- |\n| 1 | 1 |\n\nThe `x-amzn-RateLimit-Limit` response header returns the usage plan rate limits that were applied to the requested operation, when available. The table above indicates the default rate and burst values for this operation. Selling partners whose business demands require higher throughput may see higher rate and burst values than those shown here. For more information, refer to [Usage Plans and Rate Limits in the Selling Partner API](https://developer-docs.amazon.com/sp-api/docs/usage-plans-and-rate-limits-in-the-sp-api).", - "operationId": "listTransportationOptions" - }, - "post": { - "consumes": [ - "application/json" - ], - "produces": [ - "application/json" - ], - "parameters": [ - { - "description": "Identifier to an inbound plan.", - "in": "path", - "maxLength": 38, - "minLength": 38, - "name": "inboundPlanId", - "pattern": "^[a-zA-Z0-9-]*$", - "required": true, - "type": "string" - }, - { - "in": "body", - "name": "body", - "required": true, - "schema": { - "$ref": "#/definitions/GenerateTransportationOptionsRequest" - }, - "description": "The body of the request to `generateTransportationOptions`." - } - ], - "responses": { - "202": { - "description": "GenerateTransportationOptions 202 response", - "schema": { - "$ref": "#/definitions/GenerateTransportationOptionsResponse" - }, - "x-amzn-api-sandbox": { - "static": [ - { - "request": { - "parameters": { - "inboundPlanId": { - "value": "wf1234abcd-1234-abcd-5678-1234abcd5678" - }, - "body": { - "value": { - "placementOptionId": "pl1234abcd-1234-abcd-5678-1234abcd5678", - "shipmentTransportationConfigurations": [ - { - "shipmentId": "sh1234abcd-1234-abcd-5678-1234abcd5678", - "readyToShipWindow": { - "start": "2024-01-01T00:00Z" - }, - "contactInformation": { - "name": "name", - "phoneNumber": "1234567890", - "email": "email@email.com" - }, - "palletInformation": { - "pallets": [ - { - "stackability": "STACKABLE", - "weight": { - "unit": "KG", - "value": 5.5 - }, - "dimensions": { - "unitOfMeasurement": "CM", - "length": 3.0, - "width": 4.0, - "height": 5.0 - }, - "quantity": 2 - } - ], - "freightClass": "FC_50", - "declaredValue": { - "code": "USD", - "amount": 500.0 - } - } - } - ] - } - } - } - }, - "response": { - "operationId": "1234abcd-1234-abcd-5678-1234abcd5678" - } - } - ] - }, - "headers": { - "x-amzn-RequestId": { - "description": "Unique request reference identifier.", - "type": "string" - }, - "x-amzn-RateLimit-Limit": { - "description": "Your rate limit (requests per second) for this operation.", - "type": "string" - } - } - }, - "400": { - "description": "Request has missing or invalid parameters and cannot be parsed.", - "schema": { - "$ref": "#/definitions/ErrorList" - }, - "x-amzn-api-sandbox": { - "static": [ - { - "request": { - "parameters": { - "inboundPlanId": { - "value": "wf1234abcd-1234-abcd-5678-1234abcd5678" - }, - "body": { - "value": { - "placementOptionId": "pl1234abcd-1234-abcd-5678-1234abcd5678", - "shipmentTransportationConfigurations": [ - { - "shipmentId": "bad234abcd-1234-abcd-5678-1234abcd5678", - "readyToShipWindow": { - "start": "2024-01-01T00:00Z" - }, - "contactInformation": { - "name": "name", - "phoneNumber": "1234567890", - "email": "email@email.com" - }, - "palletInformation": { - "pallets": [ - { - "stackability": "STACKABLE", - "weight": { - "unit": "KG", - "value": 5.5 - }, - "dimensions": { - "unitOfMeasurement": "CM", - "length": 3.0, - "width": 4.0, - "height": 5.0 - }, - "quantity": 2 - } - ], - "freightClass": "FC_50", - "declaredValue": { - "code": "USD", - "amount": 500.0 - } - } - } - ] - } - } - } - }, - "response": { - "errors": [ - { - "code": "BadRequest", - "message": "The requested shipmentId does not exist under the provided placement option." - } - ] - } - } - ] - }, - "headers": { - "x-amzn-RequestId": { - "description": "Unique request reference identifier.", - "type": "string" - }, - "x-amzn-RateLimit-Limit": { - "description": "Your rate limit (requests per second) for this operation.", - "type": "string" - } - } - }, - "500": { - "description": "An unexpected condition occurred that prevented the server from fulfilling the request.", - "schema": { - "$ref": "#/definitions/ErrorList" - }, - "headers": { - "x-amzn-RequestId": { - "description": "Unique request reference identifier.", - "type": "string" - } - } - }, - "403": { - "description": "Indicates that access to the resource is forbidden. Possible reasons include Access Denied, Unauthorized, Expired Token, or Invalid Signature.", - "schema": { - "$ref": "#/definitions/ErrorList" - }, - "headers": { - "x-amzn-RequestId": { - "description": "Unique request reference identifier.", - "type": "string" - } - } - }, - "404": { - "description": "The resource specified does not exist.", - "schema": { - "$ref": "#/definitions/ErrorList" - }, - "headers": { - "x-amzn-RequestId": { - "description": "Unique request reference identifier.", - "type": "string" - }, - "x-amzn-RateLimit-Limit": { - "description": "Your rate limit (requests per second) for this operation.", - "type": "string" - } - } - }, - "413": { - "description": "The request size exceeded the maximum accepted size.", - "schema": { - "$ref": "#/definitions/ErrorList" - }, - "headers": { - "x-amzn-RequestId": { - "description": "Unique request reference identifier.", - "type": "string" - } - } - }, - "415": { - "description": "The request payload is in an unsupported format.", - "schema": { - "$ref": "#/definitions/ErrorList" - }, - "headers": { - "x-amzn-RequestId": { - "description": "Unique request reference identifier.", - "type": "string" - } - } - }, - "429": { - "description": "The frequency of requests was greater than allowed.", - "schema": { - "$ref": "#/definitions/ErrorList" - }, - "headers": { - "x-amzn-RequestId": { - "description": "Unique request reference identifier.", - "type": "string" - } - } - }, - "503": { - "description": "Temporary overloading or maintenance of the server.", - "schema": { - "$ref": "#/definitions/ErrorList" - }, - "headers": { - "x-amzn-RequestId": { - "description": "Unique request reference identifier.", - "type": "string" - } - } - } - }, - "tags": [ - "fbaInbound" - ], - "description": "Generates available transportation options for a given placement option.\n\n**Usage Plan:**\n\n| Rate (requests per second) | Burst |\n| ---- | ---- |\n| 0.05 | 1 |\n\nThe `x-amzn-RateLimit-Limit` response header returns the usage plan rate limits that were applied to the requested operation, when available. The table above indicates the default rate and burst values for this operation. Selling partners whose business demands require higher throughput may see higher rate and burst values than those shown here. For more information, refer to [Usage Plans and Rate Limits in the Selling Partner API](https://developer-docs.amazon.com/sp-api/docs/usage-plans-and-rate-limits-in-the-sp-api).", - "operationId": "generateTransportationOptions" - } - }, - "/inbound/fba/2024-03-20/inboundPlans/{inboundPlanId}/transportationOptions/confirmation": { - "post": { - "consumes": [ - "application/json" - ], - "produces": [ - "application/json" - ], - "parameters": [ - { - "description": "Identifier to an inbound plan.", - "in": "path", - "maxLength": 38, - "minLength": 38, - "name": "inboundPlanId", - "pattern": "^[a-zA-Z0-9-]*$", - "required": true, - "type": "string" - }, - { - "in": "body", - "name": "body", - "required": true, - "schema": { - "$ref": "#/definitions/ConfirmTransportationOptionsRequest" - }, - "description": "The body of the request to `confirmTransportationOptions`." - } - ], - "responses": { - "202": { - "description": "ConfirmTransportationOptions 202 response", - "schema": { - "$ref": "#/definitions/ConfirmTransportationOptionsResponse" - }, - "x-amzn-api-sandbox": { - "static": [ - { - "request": { - "parameters": { - "inboundPlanId": { - "value": "wf1234abcd-1234-abcd-5678-1234abcd5678" - }, - "body": { - "value": { - "transportationSelections": [ - { - "shipmentId": "sh1234abcd-1234-abcd-5678-1234abcd5678", - "transportationOptionId": "to1234abcd-1234-abcd-5678-1234abcd5678", - "contactInformation": { - "name": "name", - "phoneNumber": "1234567890", - "email": "email@email.com" - }, - "deliveryWindow": { - "start": "2024-01-01T00:00Z" - } - } - ] - } - } - } - }, - "response": { - "operationId": "1234abcd-1234-abcd-5678-1234abcd5678" - } - } - ] - }, - "headers": { - "x-amzn-RequestId": { - "description": "Unique request reference identifier.", - "type": "string" - }, - "x-amzn-RateLimit-Limit": { - "description": "Your rate limit (requests per second) for this operation.", - "type": "string" - } - } - }, - "400": { - "description": "Request has missing or invalid parameters and cannot be parsed.", - "schema": { - "$ref": "#/definitions/ErrorList" - }, - "x-amzn-api-sandbox": { - "static": [ - { - "request": { - "parameters": { - "inboundPlanId": { - "value": "wfbad4abcd-1234-abcd-5678-1234abcd5678" - }, - "body": { - "value": { - "transportationSelections": [ - { - "shipmentId": "sh1234abcd-1234-abcd-5678-1234abcd5678", - "transportationOptionId": "bad234abcd-1234-abcd-5678-1234abcd5678", - "contactInformation": { - "name": "name", - "phoneNumber": "1234567890", - "email": "email@email.com" - }, - "deliveryWindow": { - "start": "2024-01-01T00:00Z" - } - } - ] - } - } - } - }, - "response": { - "errors": [ - { - "code": "BadRequest", - "message": "The requested transportationOptionId does not exist under the associated shipment." - } - ] - } - } - ] - }, - "headers": { - "x-amzn-RequestId": { - "description": "Unique request reference identifier.", - "type": "string" - }, - "x-amzn-RateLimit-Limit": { - "description": "Your rate limit (requests per second) for this operation.", - "type": "string" - } - } - }, - "500": { - "description": "An unexpected condition occurred that prevented the server from fulfilling the request.", - "schema": { - "$ref": "#/definitions/ErrorList" - }, - "headers": { - "x-amzn-RequestId": { - "description": "Unique request reference identifier.", - "type": "string" - } - } - }, - "403": { - "description": "Indicates that access to the resource is forbidden. Possible reasons include Access Denied, Unauthorized, Expired Token, or Invalid Signature.", - "schema": { - "$ref": "#/definitions/ErrorList" - }, - "headers": { - "x-amzn-RequestId": { - "description": "Unique request reference identifier.", - "type": "string" - } - } - }, - "404": { - "description": "The resource specified does not exist.", - "schema": { - "$ref": "#/definitions/ErrorList" - }, - "headers": { - "x-amzn-RequestId": { - "description": "Unique request reference identifier.", - "type": "string" - }, - "x-amzn-RateLimit-Limit": { - "description": "Your rate limit (requests per second) for this operation.", - "type": "string" - } - } - }, - "413": { - "description": "The request size exceeded the maximum accepted size.", - "schema": { - "$ref": "#/definitions/ErrorList" - }, - "headers": { - "x-amzn-RequestId": { - "description": "Unique request reference identifier.", - "type": "string" - } - } - }, - "415": { - "description": "The request payload is in an unsupported format.", - "schema": { - "$ref": "#/definitions/ErrorList" - }, - "headers": { - "x-amzn-RequestId": { - "description": "Unique request reference identifier.", - "type": "string" - } - } - }, - "429": { - "description": "The frequency of requests was greater than allowed.", - "schema": { - "$ref": "#/definitions/ErrorList" - }, - "headers": { - "x-amzn-RequestId": { - "description": "Unique request reference identifier.", - "type": "string" - } - } - }, - "503": { - "description": "Temporary overloading or maintenance of the server.", - "schema": { - "$ref": "#/definitions/ErrorList" - }, - "headers": { - "x-amzn-RequestId": { - "description": "Unique request reference identifier.", - "type": "string" - } - } - } - }, - "tags": [ - "fbaInbound" - ], - "description": "Confirms all the transportation options for an inbound plan. A placement option must be confirmed prior to use of this API. Once confirmed, new transportation options can not be generated or confirmed for the Inbound Plan.\n\n**Usage Plan:**\n\n| Rate (requests per second) | Burst |\n| ---- | ---- |\n| 0.05 | 1 |\n\nThe `x-amzn-RateLimit-Limit` response header returns the usage plan rate limits that were applied to the requested operation, when available. The table above indicates the default rate and burst values for this operation. Selling partners whose business demands require higher throughput may see higher rate and burst values than those shown here. For more information, refer to [Usage Plans and Rate Limits in the Selling Partner API](https://developer-docs.amazon.com/sp-api/docs/usage-plans-and-rate-limits-in-the-sp-api).", - "operationId": "confirmTransportationOptions" - } - }, - "/inbound/fba/2024-03-20/items/compliance": { - "get": { - "produces": [ - "application/json" - ], - "parameters": [ - { - "collectionFormat": "multi", - "description": "List of merchant SKUs, a merchant-supplied identifier for a specific SKU.", - "in": "query", - "items": { - "maxLength": 40, - "minLength": 1, - "type": "string" - }, - "maxItems": 100, - "minItems": 1, - "name": "mskus", - "required": true, - "type": "array" - }, - { - "description": "The Marketplace ID. Refer to [Marketplace IDs](https://developer-docs.amazon.com/sp-api/docs/marketplace-ids) for a list of possible values.", - "in": "query", - "maxLength": 256, - "minLength": 1, - "name": "marketplaceId", - "required": true, - "type": "string" - } - ], - "responses": { - "200": { - "description": "ListItemComplianceDetails 200 response", - "schema": { - "$ref": "#/definitions/ListItemComplianceDetailsResponse" - }, - "x-amzn-api-sandbox": { - "static": [ - { - "request": { - "parameters": { - "mskus": { - "value": [ - "msku1", - "msku2" - ] - }, - "marketplaceId": { - "value": "ATVPDKIKX0DER" - } - } - }, - "response": { - "complianceDetails": [ - { - "msku": "msku1", - "fnsku": "fnsku1", - "asin": "asin1", - "taxDetails": { - "hsnCode": "720299", - "declaredValue": { - "code": "USD", - "amount": 50.0 - }, - "taxRates": [ - { - "taxType": "TOTAL_TAX", - "gstRate": 1.0, - "cessRate": 1.0 - } - ] - } - }, - { - "msku": "msku2", - "fnsku": "fnsku2", - "asin": "asin2", - "taxDetails": { - "hsnCode": "720299", - "declaredValue": { - "code": "USD", - "amount": 50.0 - }, - "taxRates": [ - { - "taxType": "TOTAL_TAX", - "gstRate": 1.0, - "cessRate": 1.0 - } - ] - } - } - ] - } - } - ] - }, - "headers": { - "x-amzn-RequestId": { - "description": "Unique request reference identifier.", - "type": "string" - }, - "x-amzn-RateLimit-Limit": { - "description": "Your rate limit (requests per second) for this operation.", - "type": "string" - } - } - }, - "400": { - "description": "Request has missing or invalid parameters and cannot be parsed.", - "schema": { - "$ref": "#/definitions/ErrorList" - }, - "x-amzn-api-sandbox": { - "static": [ - { - "request": { - "parameters": { - "mskus": { - "value": [ - "badmsku" - ] - }, - "marketplaceId": { - "value": "ATVPDKIKX0DER" - } - } - }, - "response": { - "errors": [ - { - "code": "BadRequest", - "message": "The requested MSKU is not valid for the specified marketplace." - } - ] - } - } - ] - }, - "headers": { - "x-amzn-RequestId": { - "description": "Unique request reference identifier.", - "type": "string" - }, - "x-amzn-RateLimit-Limit": { - "description": "Your rate limit (requests per second) for this operation.", - "type": "string" - } - } - }, - "500": { - "description": "An unexpected condition occurred that prevented the server from fulfilling the request.", - "schema": { - "$ref": "#/definitions/ErrorList" - }, - "headers": { - "x-amzn-RequestId": { - "description": "Unique request reference identifier.", - "type": "string" - } - } - }, - "403": { - "description": "Indicates that access to the resource is forbidden. Possible reasons include Access Denied, Unauthorized, Expired Token, or Invalid Signature.", - "schema": { - "$ref": "#/definitions/ErrorList" - }, - "headers": { - "x-amzn-RequestId": { - "description": "Unique request reference identifier.", - "type": "string" - } - } - }, - "404": { - "description": "The resource specified does not exist.", - "schema": { - "$ref": "#/definitions/ErrorList" - }, - "headers": { - "x-amzn-RequestId": { - "description": "Unique request reference identifier.", - "type": "string" - }, - "x-amzn-RateLimit-Limit": { - "description": "Your rate limit (requests per second) for this operation.", - "type": "string" - } - } - }, - "413": { - "description": "The request size exceeded the maximum accepted size.", - "schema": { - "$ref": "#/definitions/ErrorList" - }, - "headers": { - "x-amzn-RequestId": { - "description": "Unique request reference identifier.", - "type": "string" - } - } - }, - "415": { - "description": "The request payload is in an unsupported format.", - "schema": { - "$ref": "#/definitions/ErrorList" - }, - "headers": { - "x-amzn-RequestId": { - "description": "Unique request reference identifier.", - "type": "string" - } - } - }, - "429": { - "description": "The frequency of requests was greater than allowed.", - "schema": { - "$ref": "#/definitions/ErrorList" - }, - "headers": { - "x-amzn-RequestId": { - "description": "Unique request reference identifier.", - "type": "string" - } - } - }, - "503": { - "description": "Temporary overloading or maintenance of the server.", - "schema": { - "$ref": "#/definitions/ErrorList" - }, - "headers": { - "x-amzn-RequestId": { - "description": "Unique request reference identifier.", - "type": "string" - } - } - } - }, - "tags": [ - "fbaInbound" - ], - "description": "List the inbound compliance details for MSKUs in a given marketplace.\n\n**Usage Plan:**\n\n| Rate (requests per second) | Burst |\n| ---- | ---- |\n| 1 | 1 |\n\nThe `x-amzn-RateLimit-Limit` response header returns the usage plan rate limits that were applied to the requested operation, when available. The table above indicates the default rate and burst values for this operation. Selling partners whose business demands require higher throughput may see higher rate and burst values than those shown here. For more information, refer to [Usage Plans and Rate Limits in the Selling Partner API](https://developer-docs.amazon.com/sp-api/docs/usage-plans-and-rate-limits-in-the-sp-api).", - "operationId": "listItemComplianceDetails" - }, - "put": { - "consumes": [ - "application/json" - ], - "produces": [ - "application/json" - ], - "parameters": [ - { - "description": "The Marketplace ID. Refer to [Marketplace IDs](https://developer-docs.amazon.com/sp-api/docs/marketplace-ids) for a list of possible values.", - "in": "query", - "maxLength": 256, - "minLength": 1, - "name": "marketplaceId", - "required": true, - "type": "string" - }, - { - "in": "body", - "name": "body", - "required": true, - "schema": { - "$ref": "#/definitions/UpdateItemComplianceDetailsRequest" - }, - "description": "The body of the request to `updateItemComplianceDetails`." - } - ], - "responses": { - "202": { - "description": "UpdateItemComplianceDetails 202 response", - "schema": { - "$ref": "#/definitions/UpdateItemComplianceDetailsResponse" - }, - "x-amzn-api-sandbox": { - "static": [ - { - "request": { - "parameters": { - "marketplaceId": { - "value": "ATVPDKIKX0DER" - }, - "body": { - "value": { - "msku": "msku", - "taxDetails": { - "hsnCode": "720299", - "declaredValue": { - "code": "USD", - "amount": 50.0 - }, - "taxRates": [ - { - "taxType": "TOTAL_TAX", - "gstRate": 1.0, - "cessRate": 1.0 - } - ] - } - } - } - } - }, - "response": { - "operationId": "1234abcd-1234-abcd-5678-1234abcd5678" - } - } - ] - }, - "headers": { - "x-amzn-RequestId": { - "description": "Unique request reference identifier.", - "type": "string" - }, - "x-amzn-RateLimit-Limit": { - "description": "Your rate limit (requests per second) for this operation.", - "type": "string" - } - } - }, - "400": { - "description": "Request has missing or invalid parameters and cannot be parsed.", - "schema": { - "$ref": "#/definitions/ErrorList" - }, - "x-amzn-api-sandbox": { - "static": [ - { - "request": { - "parameters": { - "marketplaceId": { - "value": "ATVPDKIKX0DER" - }, - "body": { - "value": { - "msku": "badmsku", - "taxDetails": { - "hsnCode": "720299", - "declaredValue": { - "code": "USD", - "amount": 50.0 - }, - "taxRates": [ - { - "taxType": "TOTAL_TAX", - "gstRate": 1.0, - "cessRate": 1.0 - } - ] - } - } - } - } - }, - "response": { - "errors": [ - { - "code": "BadRequest", - "message": "The requested msku does not exist for the specified marketplace." - } - ] - } - } - ] - }, - "headers": { - "x-amzn-RequestId": { - "description": "Unique request reference identifier.", - "type": "string" - }, - "x-amzn-RateLimit-Limit": { - "description": "Your rate limit (requests per second) for this operation.", - "type": "string" - } - } - }, - "500": { - "description": "An unexpected condition occurred that prevented the server from fulfilling the request.", - "schema": { - "$ref": "#/definitions/ErrorList" - }, - "headers": { - "x-amzn-RequestId": { - "description": "Unique request reference identifier.", - "type": "string" - } - } - }, - "403": { - "description": "Indicates that access to the resource is forbidden. Possible reasons include Access Denied, Unauthorized, Expired Token, or Invalid Signature.", - "schema": { - "$ref": "#/definitions/ErrorList" - }, - "headers": { - "x-amzn-RequestId": { - "description": "Unique request reference identifier.", - "type": "string" - } - } - }, - "404": { - "description": "The resource specified does not exist.", - "schema": { - "$ref": "#/definitions/ErrorList" - }, - "headers": { - "x-amzn-RequestId": { - "description": "Unique request reference identifier.", - "type": "string" - }, - "x-amzn-RateLimit-Limit": { - "description": "Your rate limit (requests per second) for this operation.", - "type": "string" - } - } - }, - "413": { - "description": "The request size exceeded the maximum accepted size.", - "schema": { - "$ref": "#/definitions/ErrorList" - }, - "headers": { - "x-amzn-RequestId": { - "description": "Unique request reference identifier.", - "type": "string" - } - } - }, - "415": { - "description": "The request payload is in an unsupported format.", - "schema": { - "$ref": "#/definitions/ErrorList" - }, - "headers": { - "x-amzn-RequestId": { - "description": "Unique request reference identifier.", - "type": "string" - } - } - }, - "429": { - "description": "The frequency of requests was greater than allowed.", - "schema": { - "$ref": "#/definitions/ErrorList" - }, - "headers": { - "x-amzn-RequestId": { - "description": "Unique request reference identifier.", - "type": "string" - } - } - }, - "503": { - "description": "Temporary overloading or maintenance of the server.", - "schema": { - "$ref": "#/definitions/ErrorList" - }, - "headers": { - "x-amzn-RequestId": { - "description": "Unique request reference identifier.", - "type": "string" - } - } - } - }, - "tags": [ - "fbaInbound" - ], - "description": "Update compliance details for list of MSKUs. The details provided here are only used for the IN marketplace compliance validation.\n\n**Usage Plan:**\n\n| Rate (requests per second) | Burst |\n| ---- | ---- |\n| 1 | 1 |\n\nThe `x-amzn-RateLimit-Limit` response header returns the usage plan rate limits that were applied to the requested operation, when available. The table above indicates the default rate and burst values for this operation. Selling partners whose business demands require higher throughput may see higher rate and burst values than those shown here. For more information, refer to [Usage Plans and Rate Limits in the Selling Partner API](https://developer-docs.amazon.com/sp-api/docs/usage-plans-and-rate-limits-in-the-sp-api).", - "operationId": "updateItemComplianceDetails" - } - }, - "/inbound/fba/2024-03-20/operations/{operationId}": { - "get": { - "produces": [ - "application/json" - ], - "parameters": [ - { - "description": "Identifier to an asynchronous operation.", - "in": "path", - "maxLength": 38, - "minLength": 36, - "name": "operationId", - "pattern": "^[a-zA-Z0-9-]*$", - "required": true, - "type": "string" - } - ], - "responses": { - "200": { - "description": "GetInboundOperationStatus 200 response", - "schema": { - "$ref": "#/definitions/InboundOperationStatus" - }, - "x-amzn-api-sandbox": { - "static": [ - { - "request": { - "parameters": { - "operationId": { - "value": "1234abcd-1234-abcd-5678-1234abcd5678" - } - } - }, - "response": { - "operationId": "a440f2ff-cb08-416a-99e1-67a04eee88f6", - "operation": "operationName", - "operationStatus": "SUCCESS", - "operationProblems": [ - { - "code": "DimensionMismatch", - "message": "The dimension does not match what is expected.", - "details": "", - "severity": "WARNING" - } - ] - } - } - ] - }, - "headers": { - "x-amzn-RequestId": { - "description": "Unique request reference identifier.", - "type": "string" - }, - "x-amzn-RateLimit-Limit": { - "description": "Your rate limit (requests per second) for this operation.", - "type": "string" - } - } - }, - "400": { - "description": "Request has missing or invalid parameters and cannot be parsed.", - "schema": { - "$ref": "#/definitions/ErrorList" - }, - "x-amzn-api-sandbox": { - "static": [ - { - "request": { - "parameters": { - "operationId": { - "value": "bad4abcd-1234-abcd-5678-1234abcd5678" - } - } - }, - "response": { - "errors": [ - { - "code": "BadRequest", - "message": "The operationId is malformed." - } - ] - } - } - ] - }, - "headers": { - "x-amzn-RequestId": { - "description": "Unique request reference identifier.", - "type": "string" - }, - "x-amzn-RateLimit-Limit": { - "description": "Your rate limit (requests per second) for this operation.", - "type": "string" - } - } - }, - "500": { - "description": "An unexpected condition occurred that prevented the server from fulfilling the request.", - "schema": { - "$ref": "#/definitions/ErrorList" - }, - "headers": { - "x-amzn-RequestId": { - "description": "Unique request reference identifier.", - "type": "string" - } - } - }, - "403": { - "description": "Indicates that access to the resource is forbidden. Possible reasons include Access Denied, Unauthorized, Expired Token, or Invalid Signature.", - "schema": { - "$ref": "#/definitions/ErrorList" - }, - "headers": { - "x-amzn-RequestId": { - "description": "Unique request reference identifier.", - "type": "string" - } - } - }, - "404": { - "description": "The resource specified does not exist.", - "schema": { - "$ref": "#/definitions/ErrorList" - }, - "headers": { - "x-amzn-RequestId": { - "description": "Unique request reference identifier.", - "type": "string" - }, - "x-amzn-RateLimit-Limit": { - "description": "Your rate limit (requests per second) for this operation.", - "type": "string" - } - } - }, - "413": { - "description": "The request size exceeded the maximum accepted size.", - "schema": { - "$ref": "#/definitions/ErrorList" - }, - "headers": { - "x-amzn-RequestId": { - "description": "Unique request reference identifier.", - "type": "string" - } - } - }, - "415": { - "description": "The request payload is in an unsupported format.", - "schema": { - "$ref": "#/definitions/ErrorList" - }, - "headers": { - "x-amzn-RequestId": { - "description": "Unique request reference identifier.", - "type": "string" - } - } - }, - "429": { - "description": "The frequency of requests was greater than allowed.", - "schema": { - "$ref": "#/definitions/ErrorList" - }, - "headers": { - "x-amzn-RequestId": { - "description": "Unique request reference identifier.", - "type": "string" - } - } - }, - "503": { - "description": "Temporary overloading or maintenance of the server.", - "schema": { - "$ref": "#/definitions/ErrorList" - }, - "headers": { - "x-amzn-RequestId": { - "description": "Unique request reference identifier.", - "type": "string" - } - } - } - }, - "tags": [ - "fbaInbound" - ], - "description": "Gets the status of the processing of an asynchronous API call.\n\n**Usage Plan:**\n\n| Rate (requests per second) | Burst |\n| ---- | ---- |\n| 1 | 1 |\n\nThe `x-amzn-RateLimit-Limit` response header returns the usage plan rate limits that were applied to the requested operation, when available. The table above indicates the default rate and burst values for this operation. Selling partners whose business demands require higher throughput may see higher rate and burst values than those shown here. For more information, refer to [Usage Plans and Rate Limits in the Selling Partner API](https://developer-docs.amazon.com/sp-api/docs/usage-plans-and-rate-limits-in-the-sp-api).", - "operationId": "getInboundOperationStatus" - } - } - }, - "definitions": { - "Address": { - "description": "Specific details to identify a place.", - "properties": { - "addressLine1": { - "description": "Street address information.", - "maxLength": 180, - "minLength": 1, - "type": "string" - }, - "addressLine2": { - "description": "Additional street address information.", - "maxLength": 60, - "minLength": 1, - "type": "string" - }, - "city": { - "description": "The city.", - "maxLength": 30, - "minLength": 1, - "type": "string" - }, - "companyName": { - "description": "The name of the business.", - "maxLength": 50, - "minLength": 1, - "type": "string" - }, - "countryCode": { - "description": "The country code in two-character ISO 3166-1 alpha-2 format.", - "maxLength": 2, - "minLength": 2, - "pattern": "^[A-Z]{2}$", - "type": "string" - }, - "name": { - "description": "The name of the individual or business.", - "maxLength": 50, - "minLength": 1, - "type": "string" - }, - "postalCode": { - "description": "The postal code.", - "maxLength": 32, - "minLength": 1, - "type": "string" - }, - "stateOrProvinceCode": { - "description": "The state or province code.", - "maxLength": 64, - "minLength": 1, - "type": "string" - } - }, - "required": [ - "addressLine1", - "city", - "countryCode", - "name", - "postalCode" - ], - "type": "object", - "example": { - "addressLine1": "123 example street", - "addressLine2": "Floor 19", - "city": "Toronto", - "companyName": "Acme", - "countryCode": "CA", - "name": "name", - "postalCode": "M1M1M1", - "stateOrProvinceCode": "ON" - } - }, - "AppointmentSlot": { - "description": "The fulfillment center appointment slot for the transportation option.", - "properties": { - "slotId": { - "description": "An identifier to a self-ship appointment slot.", - "maxLength": 38, - "minLength": 38, - "pattern": "^[a-zA-Z0-9-]*$", - "type": "string" - }, - "slotTime": { - "$ref": "#/definitions/AppointmentSlotTime" - } - }, - "required": [ - "slotId", - "slotTime" - ], - "type": "object" - }, - "AppointmentSlotTime": { - "description": "An appointment slot time with a start and end.", - "properties": { - "endTime": { - "description": "The end timestamp of the appointment in UTC.", - "format": "date-time", - "type": "string" - }, - "startTime": { - "description": "The start timestamp of the appointment in UTC.", - "format": "date-time", - "type": "string" - } - }, - "required": [ - "endTime", - "startTime" - ], - "type": "object" - }, - "Box": { - "description": "Contains information about a box that is used in the inbound plan. The box may contain an item and metadata about the box itself.", - "properties": { - "boxId": { - "description": "The ID provided by Amazon that identifies a given box. This ID is comprised of the external shipment ID (which\n is generated after transportation has been confirmed) and the index of the box.", - "maxLength": 1024, - "minLength": 1, - "type": "string" - }, - "destinationRegion": { - "$ref": "#/definitions/Region" - }, - "dimensions": { - "$ref": "#/definitions/Dimensions" - }, - "items": { - "description": "Items contained within the box.", - "items": { - "$ref": "#/definitions/Item" - }, - "type": "array" - }, - "packageId": { - "description": "Primary key to uniquely identify a Package (Box or Pallet).", - "maxLength": 38, - "minLength": 38, - "pattern": "^[a-zA-Z0-9-]*$", - "type": "string" - }, - "quantity": { - "description": "The number of containers where all other properties like weight or dimensions are identical.", - "maximum": 10000, - "minimum": 1, - "type": "integer" - }, - "templateName": { - "description": "Template name of the box.", - "maxLength": 1024, - "minLength": 1, - "type": "string" - }, - "weight": { - "$ref": "#/definitions/Weight" - } - }, - "required": [ - "packageId" - ], - "type": "object" - }, - "BoxContent": { - "description": "Specifies contents in a box. Each `BoxContent` minimally contains a mapping of an MSKU to the prep owner, label owner and its quantity in the box. It also contains the MSKU expiration date and manufacturing lot code if applicable.", - "properties": { - "expiration": { - "description": "The date in ISO 8601 format for when the MSKU expires.", - "pattern": "^([0-9]{4})-(0[1-9]|1[0-2])-(0[1-9]|[1-2][0-9]|3[0-1])$", - "type": "string" - }, - "labelOwner": { - "$ref": "#/definitions/LabelOwner" - }, - "manufacturingLotCode": { - "description": "The manufacturing lot code.", - "maxLength": 256, - "minLength": 1, - "type": "string" - }, - "msku": { - "description": "The merchant SKU, a merchant-supplied identifier for a specific SKU.", - "maxLength": 40, - "minLength": 1, - "type": "string" - }, - "prepOwner": { - "$ref": "#/definitions/PrepOwner" - }, - "quantityInBox": { - "description": "The number of units of the given MSKU in the box.", - "maximum": 10000, - "minimum": 1, - "type": "integer" - } - }, - "required": [ - "labelOwner", - "msku", - "prepOwner", - "quantityInBox" - ], - "type": "object", - "example": { - "expiration": "2024-01-01", - "labelOwner": "AMAZON", - "manufacturingLotCode": "manufacturingLotCode", - "msku": "Sunglasses", - "prepOwner": "AMAZON", - "quantityInBox": 10 - } - }, - "BoxContentInformationSource": { - "description": "Indication of how box content is meant to be provided.", - "enum": [ - "BOX_CONTENT_PROVIDED", - "MANUAL_PROCESS", - "BARCODE_2D" - ], - "type": "string", - "x-docgen-enum-table-extension": [ - { - "value": "BOX_CONTENT_PROVIDED", - "description": "Box contents have been provided by the seller." - }, - { - "value": "MANUAL_PROCESS", - "description": "Box contents will be manually processed during receive. This service incurs charges." - }, - { - "value": "BARCODE_2D", - "description": "Box contents information is provided by a barcode on the shipment. For more information, see Using 2D barcodes for box content information on Seller Central." - } - ] - }, - "BoxInput": { - "description": "Input information for a given box.", - "properties": { - "boxId": { - "description": "The ID of the box to update that was provided by Amazon. This ID is comprised of the external shipment ID\n (which is generated after transportation has been confirmed) and the index of the box.", - "maxLength": 1024, - "minLength": 1, - "type": "string" - }, - "contentInformationSource": { - "$ref": "#/definitions/BoxContentInformationSource" - }, - "contents": { - "description": "The Contents of the box containing a list of MSKUs and their quantity. If `boxAttribute` is `BARCODE_2D` or `MANUAL_PROCESS`, user should provide ALL of the items that could be in the box, without specifying item quantities.", - "items": { - "$ref": "#/definitions/BoxContent" - }, - "type": "array" - }, - "dimensions": { - "$ref": "#/definitions/Dimensions" - }, - "quantity": { - "description": "The number of containers where all other properties like weight or dimensions are identical.", - "maximum": 10000, - "minimum": 1, - "type": "integer" - }, - "templateName": { - "description": "The seller-provided name for a 'type' of box (or a group of boxes with the same contents), which will be used to identify all created boxes of that type. When providing bulk box information, this value must be unique from the other box types. When providing individual boxes with existing IDs, this value can be shared between many boxes that have the same contents.", - "maxLength": 1024, - "minLength": 1, - "type": "string" - }, - "weight": { - "$ref": "#/definitions/Weight" - } - }, - "required": [ - "contentInformationSource", - "dimensions", - "quantity", - "templateName", - "weight" - ], - "type": "object", - "example": { - "boxId": "FBA10ABC0YY100001", - "contentInformationSource": "BOX_CONTENT_PROVIDED", - "contents": [ - { - "expiration": "2024-01-01", - "labelOwner": "AMAZON", - "manufacturingLotCode": "manufacturingLotCode", - "msku": "Sunglasses", - "prepOwner": "AMAZON", - "quantityInBox": 10 - } - ], - "dimensions": { - "height": 5, - "length": 3, - "unitOfMeasurement": "CM", - "width": 4 - }, - "quantity": 2, - "templateName": "templateName", - "weight": { - "unit": "KG", - "value": 5.5 - } - } - }, - "CancelInboundPlanResponse": { - "description": "The `cancelInboundPlan` response.", - "properties": { - "operationId": { - "description": "UUID for the given operation.", - "maxLength": 38, - "minLength": 36, - "pattern": "^[a-zA-Z0-9-]*$", - "type": "string" - } - }, - "required": [ - "operationId" - ], - "type": "object" - }, - "CancelSelfShipAppointmentRequest": { - "description": "The `cancelSelfShipAppointment` request.", - "properties": { - "reasonComment": { - "$ref": "#/definitions/ReasonComment" - } - }, - "type": "object", - "example": { - "reasonComment": "OTHER" - } - }, - "CancelSelfShipAppointmentResponse": { - "description": "The `cancelSelfShipAppointment` response.", - "properties": { - "operationId": { - "description": "UUID for the given operation.", - "maxLength": 38, - "minLength": 36, - "pattern": "^[a-zA-Z0-9-]*$", - "type": "string" - } - }, - "required": [ - "operationId" - ], - "type": "object" - }, - "Carrier": { - "description": "The carrier for the inbound shipment.", - "properties": { - "alphaCode": { - "description": "The carrier code. For example, USPS or DHLEX.", - "maxLength": 1024, - "minLength": 1, - "type": "string" - }, - "name": { - "description": "The name of the carrier.", - "maxLength": 1024, - "minLength": 1, - "type": "string" - } - }, - "type": "object" - }, - "ComplianceDetail": { - "description": "Contains item identifiers and related tax information.", - "properties": { - "asin": { - "description": "The Amazon Standard Identification Number, which identifies the detail page identifier.", - "maxLength": 10, - "minLength": 1, - "type": "string" - }, - "fnsku": { - "description": "The Fulfillment Network SKU, which identifies a real fulfillable item with catalog data and condition.", - "maxLength": 10, - "minLength": 1, - "type": "string" - }, - "msku": { - "description": "The merchant SKU, a merchant-supplied identifier for a specific SKU.", - "maxLength": 40, - "minLength": 1, - "type": "string" - }, - "taxDetails": { - "$ref": "#/definitions/TaxDetails" - } - }, - "type": "object" - }, - "ConfirmPackingOptionResponse": { - "description": "The `confirmPackingOption` response.", - "properties": { - "operationId": { - "description": "UUID for the given operation.", - "maxLength": 38, - "minLength": 36, - "pattern": "^[a-zA-Z0-9-]*$", - "type": "string" - } - }, - "required": [ - "operationId" - ], - "type": "object" - }, - "ConfirmPlacementOptionResponse": { - "description": "The `confirmPlacementOption` response.", - "properties": { - "operationId": { - "description": "UUID for the given operation.", - "maxLength": 38, - "minLength": 36, - "pattern": "^[a-zA-Z0-9-]*$", - "type": "string" - } - }, - "required": [ - "operationId" - ], - "type": "object" - }, - "ConfirmTransportationOptionsRequest": { - "description": "The `confirmTransportationOptions` request.", - "properties": { - "transportationSelections": { - "description": "Information needed to confirm one of the available transportation options.", - "items": { - "$ref": "#/definitions/TransportationSelection" - }, - "minItems": 1, - "type": "array" - } - }, - "required": [ - "transportationSelections" - ], - "type": "object", - "example": { - "transportationSelections": [ - { - "contactInformation": { - "email": "email@email.com", - "name": "John Smithy", - "phoneNumber": "1234567890" - }, - "deliveryWindow": { - "start": "2024-01-01T00:00Z" - }, - "shipmentId": "sh1234abcd-1234-abcd-5678-1234abcd5678", - "transportationOptionId": "to1234abcd-1234-abcd-5678-1234abcd5678" - } - ] - } - }, - "ConfirmTransportationOptionsResponse": { - "description": "The `confirmTransportationOptions` response.", - "properties": { - "operationId": { - "description": "UUID for the given operation.", - "maxLength": 38, - "minLength": 36, - "pattern": "^[a-zA-Z0-9-]*$", - "type": "string" - } - }, - "required": [ - "operationId" - ], - "type": "object" - }, - "ContactInformation": { - "description": "The seller's contact information.", - "properties": { - "email": { - "description": "Email address.", - "maxLength": 1024, - "minLength": 1, - "type": "string" - }, - "name": { - "description": "The name belonging to the contact. This field is required when contact information is being provided for\n Less-Than-Truckload (LTL) carrier shipments.", - "maxLength": 1024, - "minLength": 1, - "type": "string" - }, - "phoneNumber": { - "description": "The phone number of the seller.", - "maxLength": 20, - "minLength": 1, - "type": "string" - } - }, - "required": [ - "phoneNumber" - ], - "type": "object", - "example": { - "email": "email@email.com", - "phoneNumber": "1234567890" - } - }, - "CreateInboundPlanRequest": { - "description": "The `createInboundPlan` request.", - "properties": { - "contactInformation": { - "$ref": "#/definitions/ContactInformation" - }, - "destinationMarketplaces": { - "description": "Marketplaces where the items need to be shipped to. Currently only one marketplace can be selected in this request.", - "items": { - "description": "The Marketplace ID. Refer to [Marketplace IDs](https://developer-docs.amazon.com/sp-api/docs/marketplace-ids) for a list of possible values.", - "maxLength": 256, - "minLength": 1, - "type": "string" - }, - "maxItems": 1, - "minItems": 1, - "type": "array" - }, - "items": { - "description": "Items included in this plan.", - "items": { - "$ref": "#/definitions/ItemInput" - }, - "maxItems": 2000, - "minItems": 1, - "type": "array" - }, - "name": { - "description": "Name for the Inbound Plan. If one isn't provided, a default name will be provided.", - "maxLength": 40, - "minLength": 1, - "type": "string" - }, - "sourceAddress": { - "$ref": "#/definitions/Address" - } - }, - "required": [ - "contactInformation", - "destinationMarketplaces", - "items", - "sourceAddress" - ], - "type": "object", - "example": { - "contactInformation": { - "email": "email@email.com", - "phoneNumber": "1234567890" - }, - "destinationMarketplaces": [ - "ATVPDKIKX0DER" - ], - "items": [ - { - "expiration": "2024-01-01", - "labelOwner": "AMAZON", - "manufacturingLotCode": "manufacturingLotCode", - "msku": "Sunglasses", - "prepOwner": "AMAZON", - "quantity": 10 - } - ], - "name": "My inbound plan", - "sourceAddress": { - "addressLine1": "123 example street", - "addressLine2": "Floor 19", - "city": "Toronto", - "companyName": "Acme", - "countryCode": "CA", - "name": "name", - "postalCode": "M1M1M1", - "stateOrProvinceCode": "ON" - } - } - }, - "CreateInboundPlanResponse": { - "description": "The `createInboundPlan` response.", - "properties": { - "inboundPlanId": { - "description": "Identifier to an inbound plan.", - "maxLength": 38, - "minLength": 38, - "pattern": "^[a-zA-Z0-9-]*$", - "type": "string" - }, - "operationId": { - "description": "UUID for the given operation.", - "maxLength": 38, - "minLength": 36, - "pattern": "^[a-zA-Z0-9-]*$", - "type": "string" - } - }, - "required": [ - "inboundPlanId", - "operationId" - ], - "type": "object" - }, - "Currency": { - "description": "Currency definition.", - "properties": { - "amount": { - "description": "Decimal value of the currency.", - "type": "number" - }, - "code": { - "description": "ISO 4217 standard of a currency code.", - "maxLength": 3, - "minLength": 3, - "type": "string" - } - }, - "required": [ - "amount", - "code" - ], - "type": "object" - }, - "CustomPlacementInput": { - "description": "Provide units going to the warehouse.", - "properties": { - "items": { - "description": "Items included while creating Inbound Plan.", - "items": { - "$ref": "#/definitions/ItemInput" - }, - "maxItems": 2000, - "minItems": 1, - "type": "array" - }, - "warehouseId": { - "description": "Warehouse Id.", - "maxLength": 1024, - "minLength": 1, - "type": "string" - } - }, - "required": [ - "items", - "warehouseId" - ], - "type": "object", - "example": { - "items": [ - { - "expiration": "2024-01-01", - "labelOwner": "AMAZON", - "manufacturingLotCode": "manufacturingLotCode", - "msku": "Sunglasses", - "prepOwner": "AMAZON", - "quantity": 10 - } - ], - "warehouseId": "YYZ14" - } - }, - "Dates": { - "description": "Specifies the dates that the seller expects their shipment will be shipped and delivered.", - "properties": { - "deliveryWindow": { - "$ref": "#/definitions/Window" - }, - "readyToShipWindow": { - "$ref": "#/definitions/Window" - } - }, - "type": "object", - "example": { - "readyToShipWindow": { - "end": "2024-01-06T14:48:00.000Z", - "start": "2024-01-05T14:48:00.000Z" - } - } - }, - "Dimensions": { - "description": "Measurement of a package dimensions.", - "properties": { - "height": { - "description": "Height.", - "format": "double", - "maximum": 100000, - "minimum": 0, - "type": "number" - }, - "length": { - "description": "Length.", - "format": "double", - "maximum": 100000, - "minimum": 0, - "type": "number" - }, - "unitOfMeasurement": { - "$ref": "#/definitions/UnitOfMeasurement" - }, - "width": { - "description": "Width.", - "format": "double", - "maximum": 100000, - "minimum": 0, - "type": "number" - } - }, - "required": [ - "height", - "length", - "unitOfMeasurement", - "width" - ], - "type": "object" - }, - "DocumentDownload": { - "description": "Resource to download the requested document.", - "properties": { - "downloadType": { - "description": "The type of download. Can be `URL` or `PDF_BASE64`.", - "type": "string" - }, - "expiration": { - "description": "The timestamp of expiration of the URI. This is in ISO 8601 datetime format with pattern `yyyy-MM-ddTHH:mm:ss.sssZ`.", - "format": "date-time", - "type": "string" - }, - "uri": { - "description": "Uniform resource identifier to identify where the document is located.", - "type": "string" - } - }, - "required": [ - "downloadType", - "uri" - ], - "type": "object" - }, - "Error": { - "description": "Error object containing information about what went wrong.", - "properties": { - "code": { - "description": "An error code that identifies the type of error that occurred.", - "maxLength": 256, - "minLength": 1, - "type": "string" - }, - "details": { - "description": "Additional details that can help the caller understand or fix the issue.", - "maxLength": 8192, - "minLength": 0, - "type": "string" - }, - "message": { - "description": "A message that describes the error condition.", - "maxLength": 2048, - "minLength": 1, - "type": "string" - } - }, - "required": [ - "code", - "message" - ], - "type": "object", - "example": { - "code": "FBA_ERROR_001", - "details": "The shipment is in a status that does not allow it to be edited.", - "message": "Invalid Request" - } - }, - "ErrorList": { - "description": "A list of error responses returned when a request is unsuccessful.", - "properties": { - "errors": { - "description": "List of errors.", - "items": { - "$ref": "#/definitions/Error" - }, - "type": "array" - } - }, - "required": [ - "errors" - ], - "type": "object" - }, - "GeneratePackingOptionsResponse": { - "description": "The `generatePackingOptions` response.", - "properties": { - "operationId": { - "description": "UUID for the given operation.", - "maxLength": 38, - "minLength": 36, - "pattern": "^[a-zA-Z0-9-]*$", - "type": "string" - } - }, - "required": [ - "operationId" - ], - "type": "object" - }, - "GeneratePlacementOptionsRequest": { - "description": "The `generatePlacementOptions` request.", - "properties": { - "customPlacement": { - "description": "Custom placements options to be added to the plan.", - "items": { - "$ref": "#/definitions/CustomPlacementInput" - }, - "type": "array" - } - }, - "type": "object", - "example": { - "customPlacement": [ - { - "items": [ - { - "expiration": "2024-01-01", - "labelOwner": "AMAZON", - "manufacturingLotCode": "manufacturingLotCode", - "msku": "Sunglasses", - "prepOwner": "AMAZON", - "quantity": 10 - } - ], - "warehouseId": "YYZ14" - } - ] - } - }, - "GeneratePlacementOptionsResponse": { - "description": "The `generatePlacementOptions` response.", - "properties": { - "operationId": { - "description": "UUID for the given operation.", - "maxLength": 38, - "minLength": 36, - "pattern": "^[a-zA-Z0-9-]*$", - "type": "string" - } - }, - "required": [ - "operationId" - ], - "type": "object" - }, - "GenerateSelfShipAppointmentSlotsRequest": { - "description": "The `generateSelfShipAppointmentSlots` request.", - "properties": { - "desiredEndDate": { - "description": "The ISO 8601 datetime with pattern `yyyy-MM-ddTHH:mm:ss.sssZ`.", - "format": "date-time", - "type": "string" - }, - "desiredStartDate": { - "description": "The ISO 8601 datetime with pattern `yyyy-MM-ddTHH:mm:ss.sssZ`.", - "format": "date-time", - "type": "string" - } - }, - "type": "object", - "example": { - "desiredEndDate": "2024-01-06T14:48:00.000Z", - "desiredStartDate": "2024-01-05T14:48:00.000Z" - } - }, - "GenerateSelfShipAppointmentSlotsResponse": { - "description": "The `generateSelfShipAppointmentSlots` response.", - "properties": { - "operationId": { - "description": "UUID for the given operation.", - "maxLength": 38, - "minLength": 36, - "pattern": "^[a-zA-Z0-9-]*$", - "type": "string" - } - }, - "required": [ - "operationId" - ], - "type": "object" - }, - "GenerateTransportationOptionsRequest": { - "description": "The `generateTransportationOptions` request.", - "properties": { - "placementOptionId": { - "description": "The placement option to generate transportation options for.", - "maxLength": 38, - "minLength": 38, - "pattern": "^[a-zA-Z0-9-]*$", - "type": "string" - }, - "shipmentTransportationConfigurations": { - "description": "List of shipment transportation configurations.", - "items": { - "$ref": "#/definitions/ShipmentTransportationConfiguration" - }, - "type": "array" - } - }, - "required": [ - "placementOptionId", - "shipmentTransportationConfigurations" - ], - "type": "object", - "example": { - "placementOptionId": "pl1234abcd-1234-abcd-5678-1234abcd5678", - "shipmentTransportationConfigurations": [ - { - "contactInformation": { - "email": "email@email.com", - "name": "John Smithy", - "phoneNumber": "1234567890" - }, - "palletInformation": { - "declaredValue": { - "amount": 500, - "code": "USD" - }, - "freightClass": "FC_50", - "pallets": [ - { - "dimensions": { - "height": 5, - "length": 3, - "unitOfMeasurement": "CM", - "width": 4 - }, - "quantity": 2, - "stackability": "STACKABLE", - "weight": { - "unit": "KG", - "value": 5.5 - } - } - ] - }, - "readyToShipWindow": { - "start": "2024-01-01T00:00Z" - }, - "shipmentId": "sh1234abcd-1234-abcd-5678-1234abcd5678" - } - ] - } - }, - "GenerateTransportationOptionsResponse": { - "description": "The `generateTransportationOptions` response.", - "properties": { - "operationId": { - "description": "UUID for the given operation.", - "maxLength": 38, - "minLength": 36, - "pattern": "^[a-zA-Z0-9-]*$", - "type": "string" - } - }, - "required": [ - "operationId" - ], - "type": "object" - }, - "GetDeliveryChallanDocumentResponse": { - "description": "The `getDeliveryChallanDocumentResponse` response.", - "properties": { - "documentDownload": { - "$ref": "#/definitions/DocumentDownload" - } - }, - "required": [ - "documentDownload" - ], - "type": "object" - }, - "GetSelfShipAppointmentSlotsResponse": { - "description": "The `getSelfShipAppointmentSlots` response.", - "properties": { - "pagination": { - "$ref": "#/definitions/Pagination" - }, - "selfShipAppointmentSlotsAvailability": { - "$ref": "#/definitions/SelfShipAppointmentSlotsAvailability" - } - }, - "required": [ - "selfShipAppointmentSlotsAvailability" - ], - "type": "object" - }, - "InboundOperationStatus": { - "description": "The `getInboundOperationStatus` response.", - "properties": { - "operation": { - "description": "The name of the operation that was executed in the asynchronous API call.", - "maxLength": 1024, - "minLength": 1, - "type": "string" - }, - "operationId": { - "description": "The operation Id returned by the asynchronous API call.", - "maxLength": 38, - "minLength": 36, - "pattern": "^[a-zA-Z0-9-]*$", - "type": "string" - }, - "operationProblems": { - "description": "The problems in the processing of the asynchronous operation.", - "items": { - "$ref": "#/definitions/OperationProblem" - }, - "type": "array" - }, - "operationStatus": { - "$ref": "#/definitions/OperationStatus" - } - }, - "required": [ - "operation", - "operationId", - "operationProblems", - "operationStatus" - ], - "type": "object" - }, - "InboundPlan": { - "description": "Inbound plan containing details of the inbound workflow.", - "properties": { - "contactInformation": { - "$ref": "#/definitions/ContactInformation" - }, - "createdAt": { - "description": "The ISO 8601 datetime with pattern `yyyy-MM-ddTHH:mm:ss.sssZ`.", - "format": "date-time", - "type": "string" - }, - "inboundPlanId": { - "description": "Identifier to an inbound plan.", - "maxLength": 38, - "minLength": 38, - "pattern": "^[a-zA-Z0-9-]*$", - "type": "string" - }, - "lastUpdatedAt": { - "description": "The ISO 8601 datetime with pattern `yyyy-MM-ddTHH:mm:ss.sssZ`.", - "format": "date-time", - "type": "string" - }, - "marketplaceIds": { - "description": "Marketplace IDs.", - "items": { - "description": "The Marketplace ID. Refer to [Marketplace IDs](https://developer-docs.amazon.com/sp-api/docs/marketplace-ids) for a list of possible values.", - "maxLength": 256, - "minLength": 1, - "type": "string" - }, - "type": "array" - }, - "name": { - "description": "The human-readable name of the inbound plan.", - "type": "string" - }, - "packingOptions": { - "description": "Packing options for the inbound plan. This property will be populated when it has been generated via the corresponding endpoint. If there is a chosen placement option, only packing options for that placement option will be returned. If there are confirmed shipments, only packing options for those shipments will be returned. Query the packing option for more details.", - "items": { - "$ref": "#/definitions/PackingOptionSummary" - }, - "type": "array" - }, - "placementOptions": { - "description": "Placement options for the inbound plan. This property will be populated when it has been generated via the corresponding endpoint. If there is a chosen placement option, that will be the only returned option. Query the placement option for more details.", - "items": { - "$ref": "#/definitions/PlacementOptionSummary" - }, - "type": "array" - }, - "shipments": { - "description": "Shipment IDs for the inbound plan. This property will be populated when it has been generated via the corresponding endpoint. If there is a chosen placement option, only shipments for that option will be returned. If there are confirmed shipments, only those shipments will be returned. Query the shipment for more details.", - "items": { - "$ref": "#/definitions/ShipmentSummary" - }, - "type": "array" - }, - "sourceAddress": { - "$ref": "#/definitions/Address" - }, - "status": { - "description": "Current status of the inbound plan. Can be `ACTIVE`, `VOIDED`, or `SHIPPED`.", - "maxLength": 1024, - "minLength": 1, - "type": "string" - } - }, - "required": [ - "contactInformation", - "createdAt", - "inboundPlanId", - "lastUpdatedAt", - "marketplaceIds", - "name", - "sourceAddress", - "status" - ], - "type": "object", - "example": { - "contactInformation": { - "email": "email@email.com", - "phoneNumber": "1234567890" - }, - "createdAt": "2024-03-20T12:01:00Z", - "inboundPlanId": "wf1234abcd-1234-abcd-5678-1234abcd5678", - "lastUpdatedAt": "2024-03-28T13:15:30Z", - "marketplaceIds": [ - "A2EUQ1WTGCTBG2" - ], - "name": "FBA (03/20/2024, 12:01 PM)", - "packingOptions": [], - "placementOptions": [], - "shipments": [], - "sourceAddress": { - "addressLine1": "123 example street", - "addressLine2": "Floor 19", - "city": "Toronto", - "companyName": "Acme", - "countryCode": "CA", - "name": "name", - "postalCode": "M1M1M1", - "stateOrProvinceCode": "ON" - }, - "status": "ACTIVE" - } - }, - "InboundPlanSummary": { - "description": "A light-weight inbound plan.", - "properties": { - "contactInformation": { - "$ref": "#/definitions/ContactInformation" - }, - "createdAt": { - "description": "The ISO 8601 datetime with pattern `yyyy-MM-ddTHH:mm:ss.sssZ`.", - "format": "date-time", - "type": "string" - }, - "inboundPlanId": { - "description": "Identifier to an inbound plan.", - "maxLength": 38, - "minLength": 38, - "pattern": "^[a-zA-Z0-9-]*$", - "type": "string" - }, - "lastUpdatedAt": { - "description": "ISO 8601 datetime with pattern `yyyy-MM-ddTHH:mm:ss.sssZ`.", - "format": "date-time", - "type": "string" - }, - "marketplaceIds": { - "description": "Marketplace IDs.", - "items": { - "description": "The Marketplace ID. Refer to [Marketplace IDs](https://developer-docs.amazon.com/sp-api/docs/marketplace-ids) for a list of possible values.", - "maxLength": 256, - "minLength": 1, - "type": "string" - }, - "type": "array" - }, - "name": { - "description": "Human-readable name of the inbound plan.", - "type": "string" - }, - "sourceAddress": { - "$ref": "#/definitions/Address" - }, - "status": { - "description": "Current status of the inbound plan. Can be 'ACTIVE', 'VOIDED', or 'SHIPPED'.", - "maxLength": 1024, - "minLength": 1, - "type": "string" - } - }, - "required": [ - "contactInformation", - "createdAt", - "inboundPlanId", - "lastUpdatedAt", - "marketplaceIds", - "name", - "sourceAddress", - "status" - ], - "type": "object", - "example": { - "contactInformation": { - "email": "email@email.com", - "phoneNumber": "1234567890" - }, - "createdAt": "2023-03-08T13:15:30Z", - "inboundPlanId": "wf1234abcd-1234-abcd-5678-1234abcd5678", - "lastUpdatedAt": "2023-03-08T13:15:30Z", - "marketplaceIds": [ - "A2EUQ1WTGCTBG2" - ], - "name": "FBA (03/08/2023, 01:15 PM)", - "sourceAddress": { - "addressLine1": "123 example street", - "addressLine2": "Floor 19", - "city": "Toronto", - "companyName": "Acme", - "countryCode": "CA", - "name": "name", - "postalCode": "M1M1M1", - "stateOrProvinceCode": "ON" - }, - "status": "ACTIVE" - } - }, - "Incentive": { - "description": "Contains details about cost related modifications to the placement cost.", - "properties": { - "description": { - "description": "Description of the incentive.", - "maxLength": 1024, - "minLength": 1, - "type": "string" - }, - "target": { - "description": "Target of the incentive. Can be 'Placement Services' or 'Fulfillment Fee Discount'.", - "maxLength": 1024, - "minLength": 1, - "type": "string" - }, - "type": { - "description": "Type of incentive. Can be `FEE` or `DISCOUNT`.", - "maxLength": 1024, - "minLength": 1, - "type": "string" - }, - "value": { - "$ref": "#/definitions/Currency" - } - }, - "required": [ - "description", - "target", - "type", - "value" - ], - "type": "object" - }, - "Item": { - "description": "Information associated with a single SKU in the seller's catalog.", - "properties": { - "asin": { - "description": "The Amazon Standard Identification Number (ASIN) of the item.", - "maxLength": 10, - "minLength": 1, - "type": "string" - }, - "expiration": { - "description": "The expiration date of the MSKU in ISO 8601 format. The same MSKU with different expiration dates cannot go into the same box.", - "pattern": "^([0-9]{4})-(0[1-9]|1[0-2])-(0[1-9]|[1-2][0-9]|3[0-1])$", - "type": "string" - }, - "fnsku": { - "description": "A unique identifier assigned by Amazon to products stored in and fulfilled from an Amazon fulfillment center.", - "maxLength": 10, - "minLength": 1, - "type": "string" - }, - "labelOwner": { - "description": "Specifies who will label the items. Options include `AMAZON` and `SELLER`.", - "maxLength": 1024, - "minLength": 1, - "type": "string" - }, - "manufacturingLotCode": { - "description": "The manufacturing lot code.", - "maxLength": 256, - "minLength": 1, - "type": "string" - }, - "msku": { - "description": "The merchant defined SKU ID.", - "maxLength": 40, - "minLength": 1, - "type": "string" - }, - "prepInstructions": { - "description": "Special preparations that are required for an item.", - "items": { - "$ref": "#/definitions/PrepInstruction" - }, - "type": "array" - }, - "quantity": { - "description": "The number of the specified MSKU.", - "maximum": 10000, - "minimum": 1, - "type": "integer" - } - }, - "required": [ - "asin", - "fnsku", - "labelOwner", - "msku", - "prepInstructions", - "quantity" - ], - "type": "object" - }, - "ItemInput": { - "description": "Defines an item's input parameters.", - "properties": { - "expiration": { - "description": "The expiration date of the MSKU in ISO 8601 format. The same MSKU with different expiration dates cannot go into the same box.", - "pattern": "^([0-9]{4})-(0[1-9]|1[0-2])-(0[1-9]|[1-2][0-9]|3[0-1])$", - "type": "string" - }, - "labelOwner": { - "$ref": "#/definitions/LabelOwner" - }, - "manufacturingLotCode": { - "description": "The manufacturing lot code.", - "maxLength": 256, - "minLength": 1, - "type": "string" - }, - "msku": { - "description": "The merchant SKU.", - "maxLength": 40, - "minLength": 1, - "type": "string" - }, - "prepOwner": { - "$ref": "#/definitions/PrepOwner" - }, - "quantity": { - "description": "The number of units of the specified MSKU that will be shipped.", - "maximum": 10000, - "minimum": 1, - "type": "integer" - } - }, - "required": [ - "labelOwner", - "msku", - "prepOwner", - "quantity" - ], - "type": "object", - "example": { - "expiration": "2024-01-01", - "labelOwner": "AMAZON", - "manufacturingLotCode": "manufacturingLotCode", - "msku": "Sunglasses", - "prepOwner": "AMAZON", - "quantity": 10 - } - }, - "LabelOwner": { - "description": "Specifies who will label the items. Options include `AMAZON` and `SELLER`.", - "enum": [ - "AMAZON", - "SELLER" - ], - "type": "string", - "x-docgen-enum-table-extension": [ - { - "value": "AMAZON", - "description": "-" - }, - { - "value": "SELLER", - "description": "-" - } - ] - }, - "ListInboundPlanBoxesResponse": { - "description": "`listInboundPlanBoxes` response.", - "properties": { - "boxes": { - "description": "A list of boxes in an inbound plan.", - "items": { - "$ref": "#/definitions/Box" - }, - "type": "array" - }, - "pagination": { - "$ref": "#/definitions/Pagination" - } - }, - "required": [ - "boxes" - ], - "type": "object" - }, - "ListInboundPlanItemsResponse": { - "description": "`listInboundPlanItems` response.", - "properties": { - "items": { - "description": "The items in an inbound plan.", - "items": { - "$ref": "#/definitions/Item" - }, - "type": "array" - }, - "pagination": { - "$ref": "#/definitions/Pagination" - } - }, - "required": [ - "items" - ], - "type": "object" - }, - "ListInboundPlanPalletsResponse": { - "description": "`listInboundPlanPallets` response.", - "properties": { - "pagination": { - "$ref": "#/definitions/Pagination" - }, - "pallets": { - "description": "The pallets in an inbound plan.", - "items": { - "$ref": "#/definitions/Pallet" - }, - "type": "array" - } - }, - "required": [ - "pallets" - ], - "type": "object" - }, - "ListInboundPlansResponse": { - "description": "`listInboundPlans` response.", - "properties": { - "inboundPlans": { - "description": "A list of inbound plans with minimal information.", - "items": { - "$ref": "#/definitions/InboundPlanSummary" - }, - "type": "array" - }, - "pagination": { - "$ref": "#/definitions/Pagination" - } - }, - "type": "object" - }, - "ListItemComplianceDetailsResponse": { - "description": "`listItemComplianceDetails` response.", - "properties": { - "complianceDetails": { - "description": "List of compliance details.", - "items": { - "$ref": "#/definitions/ComplianceDetail" - }, - "type": "array" - } - }, - "type": "object" - }, - "ListPackingGroupItemsResponse": { - "description": "`listPackingGroupItems` response.", - "properties": { - "items": { - "description": "Provides the information about the list of items in the inbound plan.", - "items": { - "$ref": "#/definitions/Item" - }, - "type": "array" - }, - "pagination": { - "$ref": "#/definitions/Pagination" - } - }, - "required": [ - "items" - ], - "type": "object" - }, - "ListPackingOptionsResponse": { - "description": "`listPackingOptions` response.", - "properties": { - "packingOptions": { - "description": "List of packing options.", - "items": { - "$ref": "#/definitions/PackingOption" - }, - "type": "array" - }, - "pagination": { - "$ref": "#/definitions/Pagination" - } - }, - "required": [ - "packingOptions" - ], - "type": "object" - }, - "ListPlacementOptionsResponse": { - "description": "`listPlacementOptions` response.", - "properties": { - "pagination": { - "$ref": "#/definitions/Pagination" - }, - "placementOptions": { - "description": "Placement options generated for the inbound plan.", - "items": { - "$ref": "#/definitions/PlacementOption" - }, - "type": "array" - } - }, - "required": [ - "placementOptions" - ], - "type": "object" - }, - "ListTransportationOptionsResponse": { - "description": "`listTransportationOptions` response.", - "properties": { - "pagination": { - "$ref": "#/definitions/Pagination" - }, - "transportationOptions": { - "description": "Transportation options generated for the placement option.", - "items": { - "$ref": "#/definitions/TransportationOption" - }, - "type": "array" - } - }, - "required": [ - "transportationOptions" - ], - "type": "object" - }, - "LtlTrackingDetail": { - "description": "Contains information related to Less-Than-Truckload (LTL) shipment tracking.", - "properties": { - "billOfLadingNumber": { - "description": "The number of the carrier shipment acknowledgement document.", - "maxLength": 1024, - "minLength": 1, - "type": "string" - }, - "freightBillNumber": { - "description": "The number associated with the freight bill.", - "items": { - "maxLength": 1024, - "minLength": 1, - "pattern": "^[a-zA-Z0-9-._\\s]*$", - "type": "string" - }, - "type": "array" - } - }, - "type": "object" - }, - "LtlTrackingDetailInput": { - "description": "Contains input information to update Less-Than-Truckload (LTL) tracking information.", - "properties": { - "billOfLadingNumber": { - "description": "The number of the carrier shipment acknowledgement document.", - "maxLength": 1024, - "minLength": 1, - "type": "string" - }, - "freightBillNumber": { - "description": "Number associated with the freight bill.", - "items": { - "maxLength": 1024, - "minLength": 1, - "pattern": "^[a-zA-Z0-9-._\\s]*$", - "type": "string" - }, - "maxItems": 1, - "minItems": 1, - "type": "array" - } - }, - "required": [ - "freightBillNumber" - ], - "type": "object", - "example": { - "billOfLadingNumber": "billOfLadingNumber", - "freightBillNumber": [ - "freightBillNumber1" - ] - } - }, - "OperationProblem": { - "description": "A problem with additional properties persisted to an operation.", - "properties": { - "code": { - "description": "An error code that identifies the type of error that occurred.", - "maxLength": 256, - "minLength": 1, - "type": "string" - }, - "details": { - "description": "Additional details that can help the caller understand or fix the issue.", - "maxLength": 8192, - "minLength": 0, - "type": "string" - }, - "message": { - "description": "A message that describes the error condition.", - "maxLength": 2048, - "minLength": 1, - "type": "string" - }, - "severity": { - "description": "The severity of the problem. Can be 'WARNING', or 'ERROR'.", - "maxLength": 1024, - "minLength": 1, - "type": "string" - } - }, - "required": [ - "code", - "message", - "severity" - ], - "type": "object" - }, - "OperationStatus": { - "description": "The status of an operation.", - "enum": [ - "SUCCESS", - "FAILED", - "IN_PROGRESS" - ], - "type": "string", - "x-docgen-enum-table-extension": [ - { - "value": "SUCCESS", - "description": "Indicates a request has successfully finished processing." - }, - { - "value": "FAILED", - "description": "Indicates a request has finished processing but is in a failed state." - }, - { - "value": "IN_PROGRESS", - "description": "Indicates a request is still processing." - } - ] - }, - "PackageGroupingInput": { - "description": "Packing information for the inbound plan.", - "properties": { - "boxes": { - "description": "Box level information being provided.", - "items": { - "$ref": "#/definitions/BoxInput" - }, - "maxItems": 5000, - "minItems": 1, - "type": "array" - }, - "packingGroupId": { - "description": "The ID of the `packingGroup` that packages are grouped according to. The `PackingGroupId` can only be provided before placement confirmation, and it must belong to the confirmed `PackingOption`. One of `ShipmentId` or `PackingGroupId` must be provided with every request.", - "maxLength": 38, - "minLength": 38, - "pattern": "^[a-zA-Z0-9-]*$", - "type": "string" - }, - "shipmentId": { - "description": "The ID of the shipment that packages are grouped according to. The `ShipmentId` can only be provided after placement confirmation, and the shipment must belong to the confirmed placement option. One of `ShipmentId` or `PackingGroupId` must be provided with every request.", - "maxLength": 38, - "minLength": 38, - "pattern": "^[a-zA-Z0-9-]*$", - "type": "string" - } - }, - "required": [ - "boxes" - ], - "type": "object", - "example": { - "boxes": [ - { - "boxId": "boxId", - "contentInformationSource": "BOX_CONTENT_PROVIDED", - "contents": [ - { - "expiration": "2024-01-01", - "labelOwner": "AMAZON", - "manufacturingLotCode": "manufacturingLotCode", - "msku": "Sunglasses", - "prepOwner": "AMAZON", - "quantityInBox": 10 - } - ], - "dimensions": { - "height": 5, - "length": 3, - "unitOfMeasurement": "CM", - "width": 4 - }, - "quantity": 2, - "templateName": "templateName", - "weight": { - "unit": "KG", - "value": 5.5 - } - } - ], - "packingGroupId": "pg1234abcd-1234-abcd-5678-1234abcd5678", - "shipmentId": "sh1234abcd-1234-abcd-5678-1234abcd5678" - } - }, - "PackingOption": { - "description": "A packing option contains a set of pack groups plus additional information about the packing option, such as any discounts or fees if it's selected.", - "properties": { - "discounts": { - "description": "Discount for the offered option.", - "items": { - "$ref": "#/definitions/Incentive" - }, - "type": "array" - }, - "expiration": { - "description": "The timestamp at which this packing option becomes no longer valid. This is in ISO 8601 datetime format with pattern `yyyy-MM-ddTHH:mm:ss.sssZ`.", - "format": "date-time", - "type": "string" - }, - "fees": { - "description": "Fee for the offered option.", - "items": { - "$ref": "#/definitions/Incentive" - }, - "type": "array" - }, - "inboundPlanId": { - "description": "Identifier to an inbound plan.", - "maxLength": 38, - "minLength": 38, - "pattern": "^[a-zA-Z0-9-]*$", - "type": "string" - }, - "packingGroups": { - "description": "Packing group IDs.", - "items": { - "description": "Identifier to a packing group.", - "maxLength": 38, - "minLength": 38, - "pattern": "^[a-zA-Z0-9-]*$", - "type": "string" - }, - "type": "array" - }, - "packingOptionId": { - "description": "Identifier to a packing option.", - "maxLength": 38, - "minLength": 38, - "pattern": "^[a-zA-Z0-9-]*$", - "type": "string" - }, - "status": { - "description": "The status of the packing option. Can be `OFFERED`, `ACCEPTED`, or `EXPIRED`.", - "maxLength": 1024, - "minLength": 1, - "type": "string" - }, - "supportedShippingConfigurations": { - "description": "List of supported shipping modes.", - "items": { - "$ref": "#/definitions/ShippingConfiguration" - }, - "type": "array" - } - }, - "required": [ - "discounts", - "fees", - "inboundPlanId", - "packingGroups", - "packingOptionId", - "status", - "supportedShippingConfigurations" - ], - "type": "object" - }, - "PackingOptionSummary": { - "description": "Summary information about a packing option.", - "properties": { - "packingOptionId": { - "description": "Identifier to a packing option.", - "maxLength": 38, - "minLength": 38, - "pattern": "^[a-zA-Z0-9-]*$", - "type": "string" - }, - "status": { - "description": "The status of a packing option. Can be 'OFFERED', 'ACCEPTED', or 'EXPIRED'.", - "maxLength": 1024, - "minLength": 1, - "type": "string" - } - }, - "required": [ - "packingOptionId", - "status" - ], - "type": "object", - "example": { - "packingOptionId": "po1234abcd-1234-abcd-5678-1234abcd5678", - "status": "OFFERED" - } - }, - "Pagination": { - "description": "Contains tokens to fetch from a certain page.", - "properties": { - "nextToken": { - "description": "When present, pass this string token in the next request to return the next response page.", - "maxLength": 1024, - "minLength": 1, - "type": "string" - } - }, - "type": "object" - }, - "Pallet": { - "description": "Contains information about a pallet that is used in the inbound plan. The pallet is a container that holds multiple items or boxes.", - "properties": { - "dimensions": { - "$ref": "#/definitions/Dimensions" - }, - "packageId": { - "description": "Primary key to uniquely identify a Package (Box or Pallet).", - "maxLength": 38, - "minLength": 38, - "pattern": "^[a-zA-Z0-9-]*$", - "type": "string" - }, - "quantity": { - "description": "The number of containers where all other properties like weight or dimensions are identical.", - "maximum": 10000, - "minimum": 1, - "type": "integer" - }, - "stackability": { - "$ref": "#/definitions/Stackability" - }, - "weight": { - "$ref": "#/definitions/Weight" - } - }, - "required": [ - "packageId" - ], - "type": "object" - }, - "PalletInformation": { - "description": "Pallet information, including weight, dimensions, quantity, stackability, freight class, and declared value.", - "properties": { - "declaredValue": { - "$ref": "#/definitions/Currency" - }, - "freightClass": { - "description": "Freight class. Can be `NONE`, `FC_50`, `FC_55`, `FC_60`, `FC_65`, `FC_70`, `FC_77_5`, `FC_85`, `FC_92_5`, `FC_100`, `FC_110`, `FC_125`, `FC_150`, `FC_175`, `FC_200`, `FC_250`, `FC_300`, `FC_400`, or `FC_500`.", - "maxLength": 1024, - "minLength": 1, - "type": "string" - }, - "pallets": { - "description": "Set pallet configuration for Less-Than-Truckload (LTL).", - "items": { - "$ref": "#/definitions/PalletInput" - }, - "type": "array" - } - }, - "required": [ - "pallets" - ], - "type": "object" - }, - "PalletInput": { - "description": "Set pallet configuration for Less-Than-Truckload (LTL).", - "properties": { - "dimensions": { - "$ref": "#/definitions/Dimensions" - }, - "quantity": { - "description": "The number of containers where all other properties like weight or dimensions are identical.", - "maximum": 10000, - "minimum": 1, - "type": "integer" - }, - "stackability": { - "$ref": "#/definitions/Stackability" - }, - "weight": { - "$ref": "#/definitions/Weight" - } - }, - "required": [ - "quantity" - ], - "type": "object" - }, - "PlacementOption": { - "description": "Contains information pertaining to the placement of the contents of an inbound plan and the related costs.", - "properties": { - "discounts": { - "description": "Discount for the offered option.", - "items": { - "$ref": "#/definitions/Incentive" - }, - "type": "array" - }, - "expiration": { - "description": "The expiration date of the placement option. This is in ISO 8601 datetime format with pattern `yyyy-MM-ddTHH:mm:ss.sssZ`.", - "format": "date-time", - "type": "string" - }, - "fees": { - "description": "Fee for the offered option.", - "items": { - "$ref": "#/definitions/Incentive" - }, - "type": "array" - }, - "placementOptionId": { - "description": "Identifier to a placement option. A placement option represents the shipment splits and destinations of SKUs.", - "maxLength": 38, - "minLength": 38, - "pattern": "^[a-zA-Z0-9-]*$", - "type": "string" - }, - "shipmentIds": { - "description": "Shipment ids.", - "items": { - "description": "Identifier to a shipment. A shipment contains the boxes and units being inbounded.", - "maxLength": 38, - "minLength": 38, - "pattern": "^[a-zA-Z0-9-]*$", - "type": "string" - }, - "type": "array" - }, - "status": { - "description": "The status of a placement option. Can be `OFFERED`, `ACCEPTED`, or `EXPIRED`.", - "maxLength": 1024, - "minLength": 1, - "type": "string" - } - }, - "required": [ - "discounts", - "fees", - "placementOptionId", - "shipmentIds", - "status" - ], - "type": "object" - }, - "PlacementOptionSummary": { - "description": "Summary information about a placement option.", - "properties": { - "placementOptionId": { - "description": "Identifier to a placement option. A placement option represents the shipment splits and destinations of SKUs.", - "maxLength": 38, - "minLength": 38, - "pattern": "^[a-zA-Z0-9-]*$", - "type": "string" - }, - "status": { - "description": "The status of a placement option. Can be `OFFERED` or `ACCEPTED`.", - "maxLength": 1024, - "minLength": 1, - "type": "string" - } - }, - "required": [ - "placementOptionId", - "status" - ], - "type": "object", - "example": { - "placementOptionId": "pl1234abcd-1234-abcd-5678-1234abcd5678", - "status": "ACCEPTED" - } - }, - "PrepInstruction": { - "description": "Information pertaining to the preparation of inbound goods.", - "properties": { - "fee": { - "$ref": "#/definitions/Currency" - }, - "prepOwner": { - "description": "In some situations, special preparations are required for items and this field reflects the owner of the\n preparations. Options include `AMAZON` or `SELLER`.", - "maxLength": 1024, - "minLength": 1, - "type": "string" - }, - "prepType": { - "description": "Type of preparation that should be done. Can be `ITEM_LABELING`, `ITEM_BUBBLEWRAP`, `ITEM_POLYBAGGING`, `ITEM_TAPING`, `ITEM_BLACK_SHRINKWRAP`, `ITEM_HANG_GARMENT`, `ITEM_BOXING`, `ITEM_SETCREAT`, `ITEM_RMOVHANG`, `ITEM_SUFFOSTK`, `ITEM_CAP_SEALING`, `ITEM_DEBUNDLE`, `ITEM_SETSTK`, `ITEM_SIOC`, `ITEM_NO_PREP`, `ADULT`, `BABY`, `TEXTILE`, `HANGER`, `FRAGILE`, `LIQUID`, `SHARP`, `SMALL`, `PERFORATED`, `GRANULAR`, `SET`, `FC_PROVIDED`, `UNKNOWN`, or `NONE`.", - "maxLength": 1024, - "minLength": 1, - "type": "string" - } - }, - "type": "object" - }, - "PrepOwner": { - "description": "In some situations, special preparations are required for items and this field reflects the owner of the preparations. Options include `AMAZON` or `SELLER`.", - "enum": [ - "AMAZON", - "SELLER" - ], - "type": "string", - "x-docgen-enum-table-extension": [ - { - "value": "AMAZON", - "description": "-" - }, - { - "value": "SELLER", - "description": "-" - } - ] - }, - "Quote": { - "description": "The estimated shipping cost associated with the transportation option.", - "properties": { - "cost": { - "$ref": "#/definitions/Currency" - }, - "expiration": { - "description": "The timestamp at which this transportation option quote becomes no longer valid. This is in ISO 8601 datetime format with pattern `yyyy-MM-ddTHH:mm:ss.sssZ`.", - "format": "date-time", - "type": "string" - }, - "voidableUntil": { - "description": "Voidable until timestamp.", - "format": "date-time", - "type": "string" - } - }, - "required": [ - "cost" - ], - "type": "object" - }, - "ReasonComment": { - "description": "Reason for cancelling or rescheduling a self-ship appointment.", - "enum": [ - "APPOINTMENT_REQUESTED_BY_MISTAKE", - "VEHICLE_DELAY", - "SLOT_NOT_SUITABLE", - "OUTSIDE_CARRIER_BUSINESS_HOURS", - "UNFAVOURABLE_EXTERNAL_CONDITIONS", - "PROCUREMENT_DELAY", - "SHIPPING_PLAN_CHANGED", - "INCREASED_QUANTITY", - "OTHER" - ], - "type": "string", - "x-docgen-enum-table-extension": [ - { - "value": "APPOINTMENT_REQUESTED_BY_MISTAKE", - "description": "-" - }, - { - "value": "VEHICLE_DELAY", - "description": "-" - }, - { - "value": "SLOT_NOT_SUITABLE", - "description": "-" - }, - { - "value": "OUTSIDE_CARRIER_BUSINESS_HOURS", - "description": "-" - }, - { - "value": "UNFAVOURABLE_EXTERNAL_CONDITIONS", - "description": "-" - }, - { - "value": "PROCUREMENT_DELAY", - "description": "-" - }, - { - "value": "SHIPPING_PLAN_CHANGED", - "description": "-" - }, - { - "value": "INCREASED_QUANTITY", - "description": "-" - }, - { - "value": "OTHER", - "description": "-" - } - ] - }, - "Region": { - "description": "Representation of a location used within the inbounding experience.", - "properties": { - "countryCode": { - "description": "ISO 3166 standard alpha-2 country code.", - "maxLength": 1024, - "minLength": 1, - "type": "string" - }, - "state": { - "description": "State.", - "maxLength": 1024, - "minLength": 1, - "type": "string" - }, - "warehouseId": { - "description": "An identifier for a warehouse, such as a FC, IXD, upstream storage.", - "maxLength": 1024, - "minLength": 1, - "type": "string" - } - }, - "type": "object" - }, - "ScheduleSelfShipAppointmentRequest": { - "description": "`scheduleSelfShipAppointment` request.", - "properties": { - "reasonComment": { - "$ref": "#/definitions/ReasonComment" - } - }, - "type": "object", - "example": { - "reasonComment": "OTHER" - } - }, - "ScheduleSelfShipAppointmentResponse": { - "description": "`scheduleSelfShipAppointment` response.", - "properties": { - "selfShipAppointmentDetails": { - "$ref": "#/definitions/SelfShipAppointmentDetails" - } - }, - "required": [ - "selfShipAppointmentDetails" - ], - "type": "object", - "example": { - "selfShipAppointmentDetails": { - "appointmentId": 1000, - "appointmentSlotTime": { - "endTime": "2023-03-09T13:15:30Z", - "startTime": "2023-03-08T13:15:30Z" - }, - "appointmentStatus": "ARRIVAL_SCHEDULED" - } - } - }, - "SelfShipAppointmentDetails": { - "description": "Appointment details for carrier pickup or fulfillment center appointments.", - "properties": { - "appointmentId": { - "description": "Identifier for appointment.", - "type": "number" - }, - "appointmentSlotTime": { - "$ref": "#/definitions/AppointmentSlotTime" - }, - "appointmentStatus": { - "description": "Status of the appointment.", - "maxLength": 1024, - "minLength": 1, - "type": "string" - } - }, - "type": "object" - }, - "SelfShipAppointmentSlotsAvailability": { - "description": "The self ship appointment time slots availability and an expiration date for which the slots can be scheduled.", - "properties": { - "expiresAt": { - "description": "ISO 8601 datetime with pattern `yyyy-MM-ddTHH:mm:ss.sssZ`.", - "format": "date-time", - "type": "string" - }, - "slots": { - "description": "List of appointment slots.", - "items": { - "$ref": "#/definitions/AppointmentSlot" - }, - "type": "array" - } - }, - "type": "object" - }, - "SetPackingInformationRequest": { - "description": "`setPackingInformation` request.", - "properties": { - "packageGroupings": { - "description": "List of packing information for the inbound plan.", - "items": { - "$ref": "#/definitions/PackageGroupingInput" - }, - "type": "array" - } - }, - "type": "object", - "example": { - "packageGroupings": [ - { - "boxes": [ - { - "boxId": "boxId", - "contentInformationSource": "BOX_CONTENT_PROVIDED", - "contents": [ - { - "expiration": "2024-01-01", - "labelOwner": "AMAZON", - "manufacturingLotCode": "manufacturingLotCode", - "msku": "Sunglasses", - "prepOwner": "AMAZON", - "quantityInBox": 10 - } - ], - "dimensions": { - "height": 5, - "length": 3, - "unitOfMeasurement": "CM", - "width": 4 - }, - "quantity": 2, - "templateName": "templateName", - "weight": { - "unit": "KG", - "value": 5.5 - } - } - ], - "packingGroupId": "pg1234abcd-1234-abcd-5678-1234abcd5678", - "shipmentId": "sh1234abcd-1234-abcd-5678-1234abcd5678" - } - ] - } - }, - "SetPackingInformationResponse": { - "description": "`setPackingInformation` response.", - "properties": { - "operationId": { - "description": "UUID for the given operation.", - "maxLength": 38, - "minLength": 36, - "pattern": "^[a-zA-Z0-9-]*$", - "type": "string" - } - }, - "required": [ - "operationId" - ], - "type": "object" - }, - "Shipment": { - "description": "Contains information pertaining to a shipment in an inbound plan.", - "properties": { - "amazonReferenceId": { - "description": "A unique identifier created by Amazon that identifies this Amazon-partnered, Less Than Truckload/Full Truckload (LTL/FTL) shipment.", - "maxLength": 1024, - "minLength": 1, - "type": "string" - }, - "contactInformation": { - "$ref": "#/definitions/ContactInformation" - }, - "dates": { - "$ref": "#/definitions/Dates" - }, - "destination": { - "$ref": "#/definitions/ShipmentDestination" - }, - "inboundPlanId": { - "description": "Identifier to an inbound plan.", - "maxLength": 38, - "minLength": 38, - "pattern": "^[a-zA-Z0-9-]*$", - "type": "string" - }, - "name": { - "description": "The name of the shipment.", - "type": "string" - }, - "palletInformation": { - "$ref": "#/definitions/PalletInformation" - }, - "placementOptionId": { - "description": "Identifier to a placement option. A placement option represents the shipment splits and destinations of SKUs.", - "maxLength": 38, - "minLength": 38, - "pattern": "^[a-zA-Z0-9-]*$", - "type": "string" - }, - "selectedTransportationOptionId": { - "description": "Identifier to a transportation option. A transportation option represent one option for how to send a shipment.", - "maxLength": 38, - "minLength": 38, - "pattern": "^[a-zA-Z0-9-]*$", - "type": "string" - }, - "selfShipAppointmentDetails": { - "description": "List of self ship appointment details.", - "items": { - "$ref": "#/definitions/SelfShipAppointmentDetails" - }, - "type": "array" - }, - "shipmentConfirmationId": { - "description": "The confirmed shipment ID which shows up on labels (for example, FBA1234ABCD).", - "maxLength": 1024, - "minLength": 1, - "type": "string" - }, - "shipmentId": { - "description": "Identifier to a shipment. A shipment contains the boxes and units being inbounded.", - "maxLength": 38, - "minLength": 38, - "pattern": "^[a-zA-Z0-9-]*$", - "type": "string" - }, - "source": { - "$ref": "#/definitions/ShipmentSource" - }, - "status": { - "description": "The status of a shipment. The state of the shipment will typically start in `WORKING` and transition to `READY_TO_SHIP` once required actions are complete prior to being picked up or shipped out. Can be `ABANDONED`, `CANCELLED`, `CHECKED_IN`, `CLOSED`, `DELETED`, `DELIVERED`, `IN_TRANSIT`, `MIXED`, `READY_TO_SHIP`, `RECEIVING`, `SHIPPED`, or `WORKING`.", - "maxLength": 1024, - "minLength": 1, - "type": "string" - }, - "trackingDetails": { - "$ref": "#/definitions/TrackingDetails" - } - }, - "required": [ - "destination", - "inboundPlanId", - "placementOptionId", - "shipmentId", - "source" - ], - "type": "object" - }, - "ShipmentDestination": { - "description": "The Amazon fulfillment center address and warehouse ID.", - "properties": { - "address": { - "$ref": "#/definitions/Address", - "description": "The address the shipment should be sent to. Empty if the destination type is `AMAZON_OPTIMIZED`." - }, - "destinationType": { - "description": "The type of destination for this shipment. Can be `AMAZON_OPTIMIZED`, or `AMAZON_WAREHOUSE`.", - "maxLength": 1024, - "minLength": 1, - "type": "string" - }, - "warehouseId": { - "description": "The warehouse that the shipment should be sent to. Empty if the destination type is `AMAZON_OPTIMIZED`.", - "maxLength": 1024, - "minLength": 1, - "type": "string" - } - }, - "required": [ - "destinationType" - ], - "type": "object" - }, - "ShipmentSource": { - "description": "Specifies the 'ship from' address for the shipment.", - "properties": { - "address": { - "$ref": "#/definitions/Address" - }, - "sourceType": { - "description": "The type of source for this shipment. Can be `SELLER_FACILITY`.", - "maxLength": 1024, - "minLength": 1, - "type": "string" - } - }, - "required": [ - "sourceType" - ], - "type": "object" - }, - "ShipmentSummary": { - "description": "Summary information about a shipment.", - "properties": { - "shipmentId": { - "description": "Identifier to a shipment. A shipment contains the boxes and units being inbounded.", - "maxLength": 38, - "minLength": 38, - "pattern": "^[a-zA-Z0-9-]*$", - "type": "string" - }, - "status": { - "description": "The status of a shipment. The state of the shipment will typically start in `WORKING` and transition to `READY_TO_SHIP` once required actions are complete prior to being picked up or shipped out. Can be `ABANDONED`, `CANCELLED`, `CHECKED_IN`, `CLOSED`, `DELETED`, `DELIVERED`, `IN_TRANSIT`, `MIXED`, `READY_TO_SHIP`, `RECEIVING`, `SHIPPED`, or `WORKING`.", - "maxLength": 1024, - "minLength": 1, - "type": "string" - } - }, - "required": [ - "shipmentId", - "status" - ], - "type": "object", - "example": { - "shipmentId": "sh1234abcd-1234-abcd-5678-1234abcd5678", - "status": "SHIPPED" - } - }, - "ShipmentTransportationConfiguration": { - "description": "Details needed to generate the transportation options.", - "properties": { - "contactInformation": { - "$ref": "#/definitions/ContactInformation" - }, - "palletInformation": { - "$ref": "#/definitions/PalletInformation" - }, - "readyToShipWindow": { - "$ref": "#/definitions/WindowInput", - "description": "The range of dates within which the seller intends to ship their items. This is the pick-up date or \u201cready to ship\u201d date, not an estimated delivery date.\n" - }, - "shipmentId": { - "description": "Identifier to a shipment. A shipment contains the boxes and units being inbounded.", - "maxLength": 38, - "minLength": 38, - "pattern": "^[a-zA-Z0-9-]*$", - "type": "string" - } - }, - "required": [ - "readyToShipWindow", - "shipmentId" - ], - "type": "object" - }, - "ShippingConfiguration": { - "description": "The shipping configurations supported for the packing option. Available modes are ground small parcel, freight less-than-truckload (LTL), freight full-truckload (FTL) palletized, freight FTL non-palletized, ocean less-than-container-load (LCL), ocean full-container load (FCL), air small parcel, and air small parcel express.", - "properties": { - "shippingMode": { - "description": "Mode of shipment transportation that this option will provide. Can be `GROUND_SMALL_PARCEL`, `FREIGHT_LTL`, `FREIGHT_FTL_PALLET`, `FREIGHT_FTL_NONPALLET`, `OCEAN_LCL`, `OCEAN_FCL`, `AIR_SMALL_PARCEL`, or `AIR_SMALL_PARCEL_EXPRESS`.", - "maxLength": 1024, - "minLength": 1, - "type": "string" - }, - "shippingSolution": { - "description": "Shipping program for the option. Can be `AMAZON_PARTNERED_CARRIER` or `USE_YOUR_OWN_CARRIER`.", - "maxLength": 1024, - "minLength": 1, - "type": "string" - } - }, - "type": "object" - }, - "SpdTrackingDetail": { - "description": "Contains information related to Small Parcel Delivery (SPD) shipment tracking.", - "properties": { - "spdTrackingItems": { - "description": "List of Small Parcel Delivery (SPD) tracking items.", - "items": { - "$ref": "#/definitions/SpdTrackingItem" - }, - "type": "array" - } - }, - "type": "object" - }, - "SpdTrackingDetailInput": { - "description": "Contains input information to update Small Parcel Delivery (SPD) tracking information.", - "properties": { - "spdTrackingItems": { - "description": "List of Small Parcel Delivery (SPD) tracking items input.", - "items": { - "$ref": "#/definitions/SpdTrackingItemInput" - }, - "type": "array" - } - }, - "required": [ - "spdTrackingItems" - ], - "type": "object", - "example": { - "spdTrackingItems": [ - { - "boxId": "FBA10ABC0YY100001", - "trackingId": "FBA10002000" - } - ] - } - }, - "SpdTrackingItem": { - "description": "Contains information used to track and identify a Small Parcel Delivery (SPD) item.", - "properties": { - "boxId": { - "description": "The ID provided by Amazon that identifies a given box. This ID is comprised of the external shipment ID (which\n is generated after transportation has been confirmed) and the index of the box.", - "maxLength": 1024, - "minLength": 1, - "type": "string" - }, - "trackingId": { - "description": "The tracking ID associated with each box in a non-Amazon partnered Small Parcel Delivery (SPD) shipment.", - "maxLength": 1024, - "minLength": 1, - "type": "string" - }, - "trackingNumberValidationStatus": { - "description": "Whether or not Amazon has validated the tracking number. If more than 24 hours have passed and the status is\n not yet 'VALIDATED', please verify the number and update if necessary. Can be `VALIDATED` or `NOT_VALIDATED`.", - "maxLength": 1024, - "minLength": 1, - "type": "string" - } - }, - "type": "object" - }, - "SpdTrackingItemInput": { - "description": "Small Parcel Delivery (SPD) tracking items input information.", - "properties": { - "boxId": { - "description": "The ID provided by Amazon that identifies a given box. This ID is comprised of the external shipment ID (which\n is generated after transportation has been confirmed) and the index of the box.", - "maxLength": 1024, - "minLength": 1, - "type": "string" - }, - "trackingId": { - "description": "The tracking Id associated with each box in a non-Amazon partnered Small Parcel Delivery (SPD) shipment. The seller must provide this information. ", - "maxLength": 1024, - "minLength": 1, - "type": "string" - } - }, - "required": [ - "boxId", - "trackingId" - ], - "type": "object", - "example": { - "boxId": "FBA10ABC0YY100001", - "trackingId": "FBA10002000" - } - }, - "Stackability": { - "description": "Indicates whether pallets will be stacked when carrier arrives for pick-up.", - "enum": [ - "STACKABLE", - "NON_STACKABLE" - ], - "type": "string", - "x-docgen-enum-table-extension": [ - { - "value": "STACKABLE", - "description": "A pallet that can be stacked on top of another pallet." - }, - { - "value": "NON_STACKABLE", - "description": "A pallet that cannot be stacked on top of another pallet." - } - ] - }, - "TaxDetails": { - "description": "Information used to determine the tax compliance.", - "properties": { - "declaredValue": { - "$ref": "#/definitions/Currency" - }, - "hsnCode": { - "description": "Harmonized System of Nomenclature code.", - "maxLength": 1024, - "minLength": 1, - "type": "string" - }, - "taxRates": { - "description": "List of tax rates.", - "items": { - "$ref": "#/definitions/TaxRate" - }, - "type": "array" - } - }, - "type": "object" - }, - "TaxRate": { - "description": "Contains the type and rate of tax.", - "properties": { - "cessRate": { - "description": "Rate of cess tax.", - "format": "double", - "type": "number" - }, - "gstRate": { - "description": "Rate of gst tax.", - "format": "double", - "type": "number" - }, - "taxType": { - "description": "Type of tax. Can be `CGST`, `SGST`, `IGST`, or `TOTAL_TAX`.", - "maxLength": 1024, - "minLength": 1, - "type": "string" - } - }, - "type": "object" - }, - "TrackingDetails": { - "description": "Tracking information for Less-Than-Truckload (LTL) and Small Parcel Delivery (SPD) shipments.", - "properties": { - "ltlTrackingDetail": { - "$ref": "#/definitions/LtlTrackingDetail" - }, - "spdTrackingDetail": { - "$ref": "#/definitions/SpdTrackingDetail" - } - }, - "type": "object" - }, - "TrackingDetailsInput": { - "description": "Tracking information input for Less-Than-Truckload (LTL) and Small Parcel Delivery (SPD) shipments.", - "properties": { - "ltlTrackingDetail": { - "$ref": "#/definitions/LtlTrackingDetailInput" - }, - "spdTrackingDetail": { - "$ref": "#/definitions/SpdTrackingDetailInput" - } - }, - "type": "object", - "example": { - "ltlTrackingDetail": { - "billOfLadingNumber": "billOfLadingNumber", - "freightBillNumber": [ - "freightBillNumber1" - ] - } - } - }, - "TransportationOption": { - "description": "Contains information pertaining to a transportation option and the related carrier.", - "properties": { - "appointmentSlot": { - "$ref": "#/definitions/AppointmentSlot" - }, - "carrier": { - "$ref": "#/definitions/Carrier" - }, - "inboundPlanId": { - "description": "Identifier to an inbound plan.", - "maxLength": 38, - "minLength": 38, - "pattern": "^[a-zA-Z0-9-]*$", - "type": "string" - }, - "placementOptionId": { - "description": "The identifier of a placement option. A placement option represents the shipment splits and destinations of SKUs.", - "maxLength": 38, - "minLength": 38, - "pattern": "^[a-zA-Z0-9-]*$", - "type": "string" - }, - "quote": { - "$ref": "#/definitions/Quote" - }, - "shipmentId": { - "description": "Identifier to a shipment. A shipment contains the boxes and units being inbounded.", - "maxLength": 38, - "minLength": 38, - "pattern": "^[a-zA-Z0-9-]*$", - "type": "string" - }, - "shippingMode": { - "description": "The shipping mode associated with the transportation option. Available modes are ground small parcel, freight less-than-truckload (LTL), freight full-truckload (FTL) palletized, freight FTL non-palletized, ocean less-than-container-load (LCL), ocean full-container load (FCL), air small parcel, and air small parcel express.", - "maxLength": 1024, - "minLength": 1, - "type": "string" - }, - "shippingSolution": { - "description": "The shipping solution associated with the transportation option. Available solutions are Amazon-partnered carrier or 'use your own carrier'.", - "maxLength": 1024, - "minLength": 1, - "type": "string" - }, - "transportationOptionId": { - "description": "Identifier to a transportation option. A transportation option represent one option for how to send a shipment.", - "maxLength": 38, - "minLength": 38, - "pattern": "^[a-zA-Z0-9-]*$", - "type": "string" - } - }, - "required": [ - "carrier", - "inboundPlanId", - "placementOptionId", - "shipmentId", - "shippingMode", - "shippingSolution", - "transportationOptionId" - ], - "type": "object" - }, - "TransportationSelection": { - "description": "The transportation option selected to confirm.", - "properties": { - "contactInformation": { - "$ref": "#/definitions/ContactInformation" - }, - "deliveryWindow": { - "$ref": "#/definitions/WindowInput", - "description": "The range of dates within which the seller expects that their shipment will be delivered to Amazon.\n" - }, - "shipmentId": { - "description": "Shipment ID that the transportation Option is for.", - "maxLength": 38, - "minLength": 38, - "pattern": "^[a-zA-Z0-9-]*$", - "type": "string" - }, - "transportationOptionId": { - "description": "Transportation option being selected for the provided shipment.", - "maxLength": 38, - "minLength": 38, - "pattern": "^[a-zA-Z0-9-]*$", - "type": "string" - } - }, - "required": [ - "shipmentId", - "transportationOptionId" - ], - "type": "object" - }, - "UnitOfMeasurement": { - "description": "Unit of linear measure.", - "enum": [ - "IN", - "CM" - ], - "type": "string", - "x-docgen-enum-table-extension": [ - { - "value": "IN", - "description": "Inches." - }, - { - "value": "CM", - "description": "Centimeters." - } - ] - }, - "UnitOfWeight": { - "description": "Unit of the weight being measured.", - "enum": [ - "LB", - "KG" - ], - "type": "string", - "x-docgen-enum-table-extension": [ - { - "value": "LB", - "description": "Pounds." - }, - { - "value": "KG", - "description": "Kilograms." - } - ] - }, - "UpdateItemComplianceDetailsRequest": { - "description": "The `updateItemComplianceDetails` request.", - "properties": { - "msku": { - "description": "The merchant SKU, a merchant-supplied identifier for a specific SKU.", - "maxLength": 40, - "minLength": 1, - "type": "string" - }, - "taxDetails": { - "$ref": "#/definitions/TaxDetails" - } - }, - "required": [ - "msku", - "taxDetails" - ], - "type": "object", - "example": { - "msku": "Sunglasses", - "taxDetails": { - "declaredValue": { - "amount": 5.5, - "code": "CAD" - }, - "hsnCode": "hsnCode" - } - } - }, - "UpdateItemComplianceDetailsResponse": { - "description": "The `updateItemComplianceDetails` response.", - "properties": { - "operationId": { - "description": "UUID for the given operation.", - "maxLength": 38, - "minLength": 36, - "pattern": "^[a-zA-Z0-9-]*$", - "type": "string" - } - }, - "required": [ - "operationId" - ], - "type": "object" - }, - "UpdateShipmentDeliveryWindowRequest": { - "description": "The `updateShipmentDeliveryWindow` request.", - "properties": { - "deliveryWindow": { - "$ref": "#/definitions/WindowInput", - "description": "The range of dates within which the seller expects that their shipment will be delivered to Amazon.\n" - } - }, - "required": [ - "deliveryWindow" - ], - "type": "object", - "example": { - "deliveryWindow": { - "start": "2024-01-01T00:00Z" - } - } - }, - "UpdateShipmentDeliveryWindowResponse": { - "description": "The `updateShipmentDeliveryWindow` response.", - "properties": { - "operationId": { - "description": "UUID for the given operation.", - "maxLength": 38, - "minLength": 36, - "pattern": "^[a-zA-Z0-9-]*$", - "type": "string" - } - }, - "required": [ - "operationId" - ], - "type": "object" - }, - "UpdateShipmentTrackingDetailsRequest": { - "description": "The `updateShipmentTrackingDetails` request.", - "properties": { - "trackingDetails": { - "$ref": "#/definitions/TrackingDetailsInput" - } - }, - "required": [ - "trackingDetails" - ], - "type": "object", - "example": { - "trackingDetails": { - "spdTrackingDetail": { - "spdTrackingItems": [ - { - "boxId": "FBA10ABC0YY100001", - "trackingId": "FBA10002000" - } - ] - } - } - } - }, - "UpdateShipmentTrackingDetailsResponse": { - "description": "The `updateShipmentTrackingDetails` response.", - "properties": { - "operationId": { - "description": "UUID for the given operation.", - "maxLength": 38, - "minLength": 36, - "pattern": "^[a-zA-Z0-9-]*$", - "type": "string" - } - }, - "required": [ - "operationId" - ], - "type": "object" - }, - "Weight": { - "description": "The weight of a package.", - "properties": { - "unit": { - "$ref": "#/definitions/UnitOfWeight" - }, - "value": { - "description": "Value of a weight.", - "format": "double", - "maximum": 100000, - "minimum": 0, - "type": "number" - } - }, - "required": [ - "unit", - "value" - ], - "type": "object" - }, - "Window": { - "description": "Contains a start and end DateTime representing a time range.", - "properties": { - "editableUntil": { - "description": "The timestamp at which this Window can no longer be edited.", - "format": "date-time", - "type": "string" - }, - "end": { - "description": "The end timestamp of the window.", - "format": "date-time", - "type": "string" - }, - "start": { - "description": "The start timestamp of the window.", - "format": "date-time", - "type": "string" - } - }, - "required": [ - "end", - "start" - ], - "type": "object" - }, - "WindowInput": { - "description": "Contains only a starting DateTime.", - "properties": { - "start": { - "description": "The start date of the window. The time component must be zero.", - "format": "date-time", - "type": "string" - } - }, - "required": [ - "start" - ], - "type": "object" - } - }, - "x-components": {} -} \ No newline at end of file From df22f1a77a9f3de5624b28b7f91885bdef17069b Mon Sep 17 00:00:00 2001 From: lisa-delaney Date: Wed, 19 Jun 2024 14:59:00 -0700 Subject: [PATCH 315/340] Update FBA Inventory and Fulfillment Outbound models --- .DS_Store | Bin 0 -> 8196 bytes models/.DS_Store | Bin 0 -> 6148 bytes .../fulfillmentOutbound_2020-07-01.json | 776 +++++++++++++----- 3 files changed, 549 insertions(+), 227 deletions(-) create mode 100644 .DS_Store create mode 100644 models/.DS_Store diff --git a/.DS_Store b/.DS_Store new file mode 100644 index 0000000000000000000000000000000000000000..20dd4b7e5ad4e98fa9264c11d1da949b6ecd02dd GIT binary patch literal 8196 zcmeHMU2GIp6u#fIlo>m~v{ER@vMUQnptZaF6r_mTAATyWAluSyDc0Scp&gl>sXMc~ z{G?i9G@2OkKkCw^ zd(WLYXTCFc&n#mMZ3Q*XSUqD*q{Bs}n!0N=cicU$YJ#t+Bm~(rW-vQbvPUz9mAPtm zpa>!mL?DPj5P={9K?H7u2+*GGHt{<9J|7MGAOb-I{+AJO-wzQwTuk^l&e3~yQ0J8Z zgl-AoH9Ds{z_W??nDB9&qi0HM^6CM;Df|)x+?>WE?sUS0kK-J??sk|S0r z>7<>4-ImVpcBLN6GBV}!bY_>Xm4=kr?Uw1JbyLfG2D+-zl)*mTRIO5*RWMcCvrX~= zQ4*ygWx=6Cjq&*Ecta!}TiZO=5IGc&t!i$FtX|bTHYSO6(WaK2L;H-JX+6VTf&V&S zGp4w9WU60=U2NyyB`T6-zs{EZl5VM%XN3Av{R8q~O3zwmQa`8-DYI;Hu9L(ad96rJ z^<^!ikTdNer6!v;vIQgUXsw3fPA1(fJDax*V~1tyj&7O#DM#Dyloy&blp3(DywmP2 zHl!#8TidD8T6$6IpcQGUTK8((N8M%YU0U8Ij3#2-Md|p=x#7jj8dt8}kl57OegDKP zrKVPv>*n+obz9FET7TNkYNo22!@VV4bw&m#!lt9|)wR4N)u5rrOy{(T+WL9(Z(9%w z@i|v)%B!Rb8U5jc?i^5}qR6iiS`?K;<-I|bZnE1_-4#`DBotb7hbZoL_3e3$dajm3 zD;mfk-D6XL{M(GhB}uV+_7M%Zsl29HloYksNM|&|SFLX$)waGO_uN<3-6Kk=td+}= zGd9b7mv5a$I5%r zxNlJ?)bB3Us;ZhwPS3BOR~t%(dPU`HvQc!is1xn!S#b7?(M0l;_e`RR<^0)1IWXqM zSejiHeRMau5L?RD(WchJ_EORvW>2%D>|J((on)uk8Fr4HXFs!x>=*VcyMzkJsKo*- zMkAUKLmcbTf(_V+ZRkNSb|Hg(Fpz@<2V-~ykK!<%z!5x)=kNkv!E1OO$M7bO<9&R9 z5Ai8J#}_z_FL4e(;yixB1^k9f_+6+G<_n93CBjmnNr(w6g;m04VT-Us=od1=urR_s z5X$McXR>F)0g@-ZMkw9<&w#@5Yo}Xy%ht|&<*pk(-M*RWCfKdB>*majELq;PdfnZv zmubjZTPEtC6TsvAq)hQR@9| zX~V^(^0Kf}MJdC@72(FPB2cDsF&17aD;1Q7l4rXn+$bv$xp0@5hWbJK|F@XiRn+`DLjuC@e*FfQM^igKZZAm?Qh|2yn~N$0w-|_pLo2Vz_<7w zKTKhA_hcsH!c-;~lX=sy%wf`(*+1Fjrj;uAo!7hd|EBAI|G#Pd3vN7!KoEhyjsPk< zk{xX{?|Sbyx7Lo(@gN;;bLWk7^h~Jp%5g%k94EZ|hasIuXsTJX8K#M-)r>WTmBYbk zwQ75JA3u5aa`HK!7V4`ZEpRYtyKVJCPEh#GjeiN}MXritc=D`|=!j|{I|7~@-xP2P zVC(@@4UM%Hfc9&M-!~5NAw%?sepmYaJwvfS7+pn?DZ#F#c#6(H;_wqwy_(B5L%@cH zx4W6;+$xTMBk&Iq;PXKuu?AKfqx$GTrk?;%{*BOvGQTC*M_LW6Hb&6{6UG&4T!npN z2;+`+X~zXt8>7aZgnfJnyRxt^6roqg{8A4m5g2v3Bj5;JCa`U)9lrlxT>t*R?Br^W zfFtl<5fH7z@NkSR*}HXZb9~oIqz_1JJgzaSU69%9SQq#zzK^60eUb~%z-nU@Eim^Z MpfR}25!fh!b428+3;+NC literal 0 HcmV?d00001 diff --git a/models/fulfillment-outbound-api-model/fulfillmentOutbound_2020-07-01.json b/models/fulfillment-outbound-api-model/fulfillmentOutbound_2020-07-01.json index 555969314..6eb14282a 100644 --- a/models/fulfillment-outbound-api-model/fulfillmentOutbound_2020-07-01.json +++ b/models/fulfillment-outbound-api-model/fulfillmentOutbound_2020-07-01.json @@ -41,7 +41,8 @@ "required": true, "schema": { "$ref": "#/definitions/GetFulfillmentPreviewRequest" - } + }, + "description": "GetFulfillmentPreviewRequest parameter" } ], "responses": { @@ -138,10 +139,6 @@ "$ref": "#/definitions/GetFulfillmentPreviewResponse" }, "headers": { - "x-amzn-RateLimit-Limit": { - "type": "string", - "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." - }, "x-amzn-RequestId": { "type": "string", "description": "Unique request reference identifier." @@ -182,10 +179,6 @@ "$ref": "#/definitions/GetFulfillmentPreviewResponse" }, "headers": { - "x-amzn-RateLimit-Limit": { - "type": "string", - "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." - }, "x-amzn-RequestId": { "type": "string", "description": "Unique request reference identifier." @@ -198,10 +191,6 @@ "$ref": "#/definitions/GetFulfillmentPreviewResponse" }, "headers": { - "x-amzn-RateLimit-Limit": { - "type": "string", - "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." - }, "x-amzn-RequestId": { "type": "string", "description": "Unique request reference identifier." @@ -213,16 +202,162 @@ "schema": { "$ref": "#/definitions/GetFulfillmentPreviewResponse" }, + "headers": { + "x-amzn-RequestId": { + "type": "string", + "description": "Unique request reference identifier." + } + } + } + } + } + }, + "/fba/outbound/2020-07-01/deliveryOffers": { + "x-amzn-api-sandbox": { + "dynamic": {} + }, + "post": { + "tags": [ + "fbaOutbound" + ], + "description": "Returns delivery options that include an estimated delivery date and offer expiration, based on criteria that you specify.\n\n**Usage Plan:**\n\n| Rate (requests per second) | Burst |\n| ---- | ---- |\n| 5 | 30 |\n\nThe `x-amzn-RateLimit-Limit` response header returns the usage plan rate limits that were applied to the requested operation, when available. The table above indicates the default rate and burst values for this operation. Selling partners whose business demands require higher throughput may see higher rate and burst values than those shown here. For more information, see [Usage Plans and Rate Limits in the Selling Partner API](https://developer-docs.amazon.com/sp-api/docs/usage-plans-and-rate-limits-in-the-sp-api).", + "operationId": "deliveryOffers", + "parameters": [ + { + "in": "body", + "name": "body", + "required": true, + "schema": { + "$ref": "#/definitions/GetDeliveryOffersRequest" + }, + "description": "GetDeliveryOffersRequest parameter" + } + ], + "responses": { + "200": { + "description": "Success.", + "schema": { + "$ref": "#/definitions/GetDeliveryOffersResponse" + }, + "examples": { + "payload": { + "deliveryOffers": [{ + "expiresAt": "2023-10-11T18:00:00Z", + "dateRange": { + "earliest": "2023-10-13T10:00:00Z", + "latest": "2023-10-14T16:00:00Z" + }, + "policy": { + "messaging": { + "text": "Get it as soon as Wed, Aug 23", + "locale": "en_US" + } + } + }] + } + }, "headers": { "x-amzn-RateLimit-Limit": { "type": "string", - "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." + "description": "Your rate limit (requests per second) for this operation." }, "x-amzn-RequestId": { "type": "string", "description": "Unique request reference identifier." } } + }, + "400": { + "description": "Request has missing or invalid parameters and cannot be parsed.", + "schema": { + "$ref": "#/definitions/GetDeliveryOffersResponse" + }, + "headers": { + "x-amzn-RateLimit-Limit": { + "type": "string", + "description": "Your rate limit (requests per second) for this operation." + }, + "x-amzn-RequestId": { + "type": "string", + "description": "Unique request reference identifier." + } + } + }, + "401": { + "description": "The request's Authorization header is not formatted correctly or does not contain a valid token.", + "schema": { + "$ref": "#/definitions/GetDeliveryOffersResponse" + }, + "headers": { + "x-amzn-RequestId": { + "type": "string", + "description": "Unique request reference identifier." + } + } + }, + "403": { + "description": "Indicates that access to the resource is forbidden. Possible reasons include Access Denied, Unauthorized, Expired Token, or Invalid Signature.", + "schema": { + "$ref": "#/definitions/GetDeliveryOffersResponse" + }, + "headers": { + "x-amzn-RequestId": { + "type": "string", + "description": "Unique request reference identifier." + } + } + }, + "404": { + "description": "The specified resource does not exist.", + "schema": { + "$ref": "#/definitions/GetDeliveryOffersResponse" + }, + "headers": { + "x-amzn-RateLimit-Limit": { + "type": "string", + "description": "Your rate limit (requests per second) for this operation." + }, + "x-amzn-RequestId": { + "type": "string", + "description": "Unique request reference identifier." + } + } + }, + "429": { + "description": "The frequency of requests was greater than allowed.", + "schema": { + "$ref": "#/definitions/GetDeliveryOffersResponse" + }, + "headers": { + "x-amzn-RequestId": { + "type": "string", + "description": "Unique request reference identifier." + } + } + }, + "500": { + "description": "An unexpected condition occurred that prevented the server from fulfilling the request.", + "schema": { + "$ref": "#/definitions/GetDeliveryOffersResponse" + }, + "headers": { + "x-amzn-RequestId": { + "type": "string", + "description": "Unique request reference identifier." + } + } + }, + "503": { + "description": "Temporary overloading or maintenance of the server.", + "schema": { + "$ref": "#/definitions/GetDeliveryOffersResponse" + }, + "headers": { + "x-amzn-RequestId": { + "type": "string", + "description": "Unique request reference identifier." + } + } } } } @@ -352,10 +487,6 @@ "$ref": "#/definitions/ListAllFulfillmentOrdersResponse" }, "headers": { - "x-amzn-RateLimit-Limit": { - "type": "string", - "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." - }, "x-amzn-RequestId": { "type": "string", "description": "Unique request reference identifier." @@ -396,10 +527,6 @@ "$ref": "#/definitions/ListAllFulfillmentOrdersResponse" }, "headers": { - "x-amzn-RateLimit-Limit": { - "type": "string", - "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." - }, "x-amzn-RequestId": { "type": "string", "description": "Unique request reference identifier." @@ -412,10 +539,6 @@ "$ref": "#/definitions/ListAllFulfillmentOrdersResponse" }, "headers": { - "x-amzn-RateLimit-Limit": { - "type": "string", - "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." - }, "x-amzn-RequestId": { "type": "string", "description": "Unique request reference identifier." @@ -428,10 +551,6 @@ "$ref": "#/definitions/ListAllFulfillmentOrdersResponse" }, "headers": { - "x-amzn-RateLimit-Limit": { - "type": "string", - "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." - }, "x-amzn-RequestId": { "type": "string", "description": "Unique request reference identifier." @@ -453,7 +572,8 @@ "required": true, "schema": { "$ref": "#/definitions/CreateFulfillmentOrderRequest" - } + }, + "description": "CreateFulfillmentOrderRequest parameter" } ], "responses": { @@ -495,10 +615,6 @@ "$ref": "#/definitions/CreateFulfillmentOrderResponse" }, "headers": { - "x-amzn-RateLimit-Limit": { - "type": "string", - "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." - }, "x-amzn-RequestId": { "type": "string", "description": "Unique request reference identifier." @@ -539,10 +655,6 @@ "$ref": "#/definitions/CreateFulfillmentOrderResponse" }, "headers": { - "x-amzn-RateLimit-Limit": { - "type": "string", - "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." - }, "x-amzn-RequestId": { "type": "string", "description": "Unique request reference identifier." @@ -555,10 +667,6 @@ "$ref": "#/definitions/CreateFulfillmentOrderResponse" }, "headers": { - "x-amzn-RateLimit-Limit": { - "type": "string", - "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." - }, "x-amzn-RequestId": { "type": "string", "description": "Unique request reference identifier." @@ -571,10 +679,6 @@ "$ref": "#/definitions/CreateFulfillmentOrderResponse" }, "headers": { - "x-amzn-RateLimit-Limit": { - "type": "string", - "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." - }, "x-amzn-RequestId": { "type": "string", "description": "Unique request reference identifier." @@ -686,10 +790,6 @@ "$ref": "#/definitions/GetPackageTrackingDetailsResponse" }, "headers": { - "x-amzn-RateLimit-Limit": { - "type": "string", - "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." - }, "x-amzn-RequestId": { "type": "string", "description": "Unique request reference identifier." @@ -730,10 +830,6 @@ "$ref": "#/definitions/GetPackageTrackingDetailsResponse" }, "headers": { - "x-amzn-RateLimit-Limit": { - "type": "string", - "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." - }, "x-amzn-RequestId": { "type": "string", "description": "Unique request reference identifier." @@ -746,10 +842,6 @@ "$ref": "#/definitions/GetPackageTrackingDetailsResponse" }, "headers": { - "x-amzn-RateLimit-Limit": { - "type": "string", - "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." - }, "x-amzn-RequestId": { "type": "string", "description": "Unique request reference identifier." @@ -762,10 +854,6 @@ "$ref": "#/definitions/GetPackageTrackingDetailsResponse" }, "headers": { - "x-amzn-RateLimit-Limit": { - "type": "string", - "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." - }, "x-amzn-RequestId": { "type": "string", "description": "Unique request reference identifier." @@ -908,10 +996,6 @@ "$ref": "#/definitions/ListReturnReasonCodesResponse" }, "headers": { - "x-amzn-RateLimit-Limit": { - "type": "string", - "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." - }, "x-amzn-RequestId": { "type": "string", "description": "Unique request reference identifier." @@ -952,10 +1036,6 @@ "$ref": "#/definitions/ListReturnReasonCodesResponse" }, "headers": { - "x-amzn-RateLimit-Limit": { - "type": "string", - "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." - }, "x-amzn-RequestId": { "type": "string", "description": "Unique request reference identifier." @@ -968,10 +1048,6 @@ "$ref": "#/definitions/ListReturnReasonCodesResponse" }, "headers": { - "x-amzn-RateLimit-Limit": { - "type": "string", - "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." - }, "x-amzn-RequestId": { "type": "string", "description": "Unique request reference identifier." @@ -984,10 +1060,6 @@ "$ref": "#/definitions/ListReturnReasonCodesResponse" }, "headers": { - "x-amzn-RateLimit-Limit": { - "type": "string", - "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." - }, "x-amzn-RequestId": { "type": "string", "description": "Unique request reference identifier." @@ -1014,7 +1086,8 @@ "required": true, "schema": { "$ref": "#/definitions/CreateFulfillmentReturnRequest" - } + }, + "description": "CreateFulfillmentReturnRequest parameter" }, { "name": "sellerFulfillmentOrderId", @@ -1097,10 +1170,6 @@ "$ref": "#/definitions/CreateFulfillmentReturnResponse" }, "headers": { - "x-amzn-RateLimit-Limit": { - "type": "string", - "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." - }, "x-amzn-RequestId": { "type": "string", "description": "Unique request reference identifier." @@ -1113,10 +1182,6 @@ "$ref": "#/definitions/CreateFulfillmentReturnResponse" }, "headers": { - "x-amzn-RateLimit-Limit": { - "type": "string", - "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." - }, "x-amzn-RequestId": { "type": "string", "description": "Unique request reference identifier." @@ -1145,10 +1210,6 @@ "$ref": "#/definitions/CreateFulfillmentReturnResponse" }, "headers": { - "x-amzn-RateLimit-Limit": { - "type": "string", - "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." - }, "x-amzn-RequestId": { "type": "string", "description": "Unique request reference identifier." @@ -1161,10 +1222,6 @@ "$ref": "#/definitions/CreateFulfillmentReturnResponse" }, "headers": { - "x-amzn-RateLimit-Limit": { - "type": "string", - "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." - }, "x-amzn-RequestId": { "type": "string", "description": "Unique request reference identifier." @@ -1177,10 +1234,6 @@ "$ref": "#/definitions/CreateFulfillmentReturnResponse" }, "headers": { - "x-amzn-RateLimit-Limit": { - "type": "string", - "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." - }, "x-amzn-RequestId": { "type": "string", "description": "Unique request reference identifier." @@ -1297,7 +1350,8 @@ "sellerFulfillmentOrderItemId": "OrderItemID1", "quantity": 3, "packageNumber": 0, - "serialNumber": "" + "serialNumber": "", + "manufacturerLotCodes": ["LOT0822-1234", "LOT1030-5678"] } ] } @@ -1339,10 +1393,6 @@ "$ref": "#/definitions/GetFulfillmentOrderResponse" }, "headers": { - "x-amzn-RateLimit-Limit": { - "type": "string", - "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." - }, "x-amzn-RequestId": { "type": "string", "description": "Unique request reference identifier." @@ -1383,10 +1433,6 @@ "$ref": "#/definitions/GetFulfillmentOrderResponse" }, "headers": { - "x-amzn-RateLimit-Limit": { - "type": "string", - "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." - }, "x-amzn-RequestId": { "type": "string", "description": "Unique request reference identifier." @@ -1399,10 +1445,6 @@ "$ref": "#/definitions/GetFulfillmentOrderResponse" }, "headers": { - "x-amzn-RateLimit-Limit": { - "type": "string", - "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." - }, "x-amzn-RequestId": { "type": "string", "description": "Unique request reference identifier." @@ -1415,10 +1457,6 @@ "$ref": "#/definitions/GetFulfillmentOrderResponse" }, "headers": { - "x-amzn-RateLimit-Limit": { - "type": "string", - "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." - }, "x-amzn-RequestId": { "type": "string", "description": "Unique request reference identifier." @@ -1440,7 +1478,8 @@ "required": true, "schema": { "$ref": "#/definitions/UpdateFulfillmentOrderRequest" - } + }, + "description": "UpdateFulfillmentOrderRequest parameter" }, { "name": "sellerFulfillmentOrderId", @@ -1490,10 +1529,6 @@ "$ref": "#/definitions/UpdateFulfillmentOrderResponse" }, "headers": { - "x-amzn-RateLimit-Limit": { - "type": "string", - "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." - }, "x-amzn-RequestId": { "type": "string", "description": "Unique request reference identifier." @@ -1534,10 +1569,6 @@ "$ref": "#/definitions/UpdateFulfillmentOrderResponse" }, "headers": { - "x-amzn-RateLimit-Limit": { - "type": "string", - "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." - }, "x-amzn-RequestId": { "type": "string", "description": "Unique request reference identifier." @@ -1550,10 +1581,6 @@ "$ref": "#/definitions/UpdateFulfillmentOrderResponse" }, "headers": { - "x-amzn-RateLimit-Limit": { - "type": "string", - "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." - }, "x-amzn-RequestId": { "type": "string", "description": "Unique request reference identifier." @@ -1566,10 +1593,6 @@ "$ref": "#/definitions/UpdateFulfillmentOrderResponse" }, "headers": { - "x-amzn-RateLimit-Limit": { - "type": "string", - "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." - }, "x-amzn-RequestId": { "type": "string", "description": "Unique request reference identifier." @@ -1638,10 +1661,6 @@ "$ref": "#/definitions/CancelFulfillmentOrderResponse" }, "headers": { - "x-amzn-RateLimit-Limit": { - "type": "string", - "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." - }, "x-amzn-RequestId": { "type": "string", "description": "Unique request reference identifier." @@ -1682,10 +1701,6 @@ "$ref": "#/definitions/CancelFulfillmentOrderResponse" }, "headers": { - "x-amzn-RateLimit-Limit": { - "type": "string", - "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." - }, "x-amzn-RequestId": { "type": "string", "description": "Unique request reference identifier." @@ -1698,10 +1713,6 @@ "$ref": "#/definitions/CancelFulfillmentOrderResponse" }, "headers": { - "x-amzn-RateLimit-Limit": { - "type": "string", - "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." - }, "x-amzn-RequestId": { "type": "string", "description": "Unique request reference identifier." @@ -1714,10 +1725,6 @@ "$ref": "#/definitions/CancelFulfillmentOrderResponse" }, "headers": { - "x-amzn-RateLimit-Limit": { - "type": "string", - "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." - }, "x-amzn-RequestId": { "type": "string", "description": "Unique request reference identifier." @@ -1753,7 +1760,8 @@ "required": true, "schema": { "$ref": "#/definitions/SubmitFulfillmentOrderStatusUpdateRequest" - } + }, + "description": "The identifier assigned to the item by the seller when the fulfillment order was created." } ], "responses": { @@ -1763,10 +1771,6 @@ "$ref": "#/definitions/SubmitFulfillmentOrderStatusUpdateResponse" }, "headers": { - "x-amzn-RateLimit-Limit": { - "type": "string", - "description": "Your rate limit (requests per second) for this operation." - }, "x-amzn-RequestId": { "type": "string", "description": "Unique request reference identifier." @@ -1779,10 +1783,6 @@ "$ref": "#/definitions/SubmitFulfillmentOrderStatusUpdateResponse" }, "headers": { - "x-amzn-RateLimit-Limit": { - "type": "string", - "description": "Your rate limit (requests per second) for this operation." - }, "x-amzn-RequestId": { "type": "string", "description": "Unique request reference identifier." @@ -1795,10 +1795,6 @@ "$ref": "#/definitions/SubmitFulfillmentOrderStatusUpdateResponse" }, "headers": { - "x-amzn-RateLimit-Limit": { - "type": "string", - "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." - }, "x-amzn-RequestId": { "type": "string", "description": "Unique request reference identifier." @@ -1823,10 +1819,6 @@ "$ref": "#/definitions/SubmitFulfillmentOrderStatusUpdateResponse" }, "headers": { - "x-amzn-RateLimit-Limit": { - "type": "string", - "description": "Your rate limit (requests per second) for this operation." - }, "x-amzn-RequestId": { "type": "string", "description": "Unique request reference identifier." @@ -1839,10 +1831,6 @@ "$ref": "#/definitions/SubmitFulfillmentOrderStatusUpdateResponse" }, "headers": { - "x-amzn-RateLimit-Limit": { - "type": "string", - "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." - }, "x-amzn-RequestId": { "type": "string", "description": "Unique request reference identifier." @@ -1855,10 +1843,6 @@ "$ref": "#/definitions/SubmitFulfillmentOrderStatusUpdateResponse" }, "headers": { - "x-amzn-RateLimit-Limit": { - "type": "string", - "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." - }, "x-amzn-RequestId": { "type": "string", "description": "Unique request reference identifier." @@ -1871,10 +1855,6 @@ "$ref": "#/definitions/SubmitFulfillmentOrderStatusUpdateResponse" }, "headers": { - "x-amzn-RateLimit-Limit": { - "type": "string", - "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." - }, "x-amzn-RequestId": { "type": "string", "description": "Unique request reference identifier." @@ -1959,10 +1939,6 @@ "$ref": "#/definitions/GetFeaturesResponse" }, "headers": { - "x-amzn-RateLimit-Limit": { - "type": "string", - "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." - }, "x-amzn-RequestId": { "type": "string", "description": "Unique request reference identifier." @@ -2003,10 +1979,6 @@ "$ref": "#/definitions/GetFeaturesResponse" }, "headers": { - "x-amzn-RateLimit-Limit": { - "type": "string", - "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." - }, "x-amzn-RequestId": { "type": "string", "description": "Unique request reference identifier." @@ -2019,10 +1991,6 @@ "$ref": "#/definitions/GetFeaturesResponse" }, "headers": { - "x-amzn-RateLimit-Limit": { - "type": "string", - "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." - }, "x-amzn-RequestId": { "type": "string", "description": "Unique request reference identifier." @@ -2035,10 +2003,6 @@ "$ref": "#/definitions/GetFeaturesResponse" }, "headers": { - "x-amzn-RateLimit-Limit": { - "type": "string", - "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." - }, "x-amzn-RequestId": { "type": "string", "description": "Unique request reference identifier." @@ -2079,6 +2043,14 @@ "description": "A string token returned in the response to your previous request that is used to return the next response page. A value of null will return the first page.", "required": false, "type": "string" + }, + { + "name": "queryStartDate", + "in": "query", + "description": "A date that you can use to select inventory that has been updated since a specified date. An update is defined as any change in feature-enabled inventory availability. The date must be in the format yyyy-MM-ddTHH:mm:ss.sssZ", + "required": false, + "type": "string", + "format": "date-time" } ], "responses": { @@ -2151,10 +2123,6 @@ "$ref": "#/definitions/GetFeatureInventoryResponse" }, "headers": { - "x-amzn-RateLimit-Limit": { - "type": "string", - "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." - }, "x-amzn-RequestId": { "type": "string", "description": "Unique request reference identifier." @@ -2195,10 +2163,6 @@ "$ref": "#/definitions/GetFeatureInventoryResponse" }, "headers": { - "x-amzn-RateLimit-Limit": { - "type": "string", - "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." - }, "x-amzn-RequestId": { "type": "string", "description": "Unique request reference identifier." @@ -2211,10 +2175,6 @@ "$ref": "#/definitions/GetFeatureInventoryResponse" }, "headers": { - "x-amzn-RateLimit-Limit": { - "type": "string", - "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." - }, "x-amzn-RequestId": { "type": "string", "description": "Unique request reference identifier." @@ -2227,10 +2187,6 @@ "$ref": "#/definitions/GetFeatureInventoryResponse" }, "headers": { - "x-amzn-RateLimit-Limit": { - "type": "string", - "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." - }, "x-amzn-RequestId": { "type": "string", "description": "Unique request reference identifier." @@ -2326,10 +2282,6 @@ "$ref": "#/definitions/GetFeatureSkuResponse" }, "headers": { - "x-amzn-RateLimit-Limit": { - "type": "string", - "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." - }, "x-amzn-RequestId": { "type": "string", "description": "Unique request reference identifier." @@ -2370,10 +2322,6 @@ "$ref": "#/definitions/GetFeatureSkuResponse" }, "headers": { - "x-amzn-RateLimit-Limit": { - "type": "string", - "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." - }, "x-amzn-RequestId": { "type": "string", "description": "Unique request reference identifier." @@ -2386,10 +2334,6 @@ "$ref": "#/definitions/GetFeatureSkuResponse" }, "headers": { - "x-amzn-RateLimit-Limit": { - "type": "string", - "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." - }, "x-amzn-RequestId": { "type": "string", "description": "Unique request reference identifier." @@ -2402,10 +2346,6 @@ "$ref": "#/definitions/GetFeatureSkuResponse" }, "headers": { - "x-amzn-RateLimit-Limit": { - "type": "string", - "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." - }, "x-amzn-RequestId": { "type": "string", "description": "Unique request reference identifier." @@ -2707,6 +2647,10 @@ "description": "The destination address for the fulfillment order.", "$ref": "#/definitions/Address" }, + "deliveryPreferences": { + "description": "The delivery preferences applied to the destination address. These preferences will be applied when possible and are best effort.\nThis feature is currently supported only in the JP marketplace and not applicable for other marketplaces.", + "$ref": "#/definitions/DeliveryPreferences" + }, "fulfillmentAction": { "$ref": "#/definitions/FulfillmentAction" }, @@ -2754,6 +2698,7 @@ "description": "The `createFulfillmentReturn` operation creates a fulfillment return for items that were fulfilled using the `createFulfillmentOrder` operation. For calls to `createFulfillmentReturn`, you must include `ReturnReasonCode` values returned by a previous call to the `listReturnReasonCodes` operation." }, "CreateFulfillmentReturnResult": { + "description": "The result for the createFulfillmentReturn operation.", "type": "object", "properties": { "returnItems": { @@ -2868,6 +2813,65 @@ "$ref": "#/definitions/DeliveryWindow" } }, + "DeliveryPreferences": { + "type": "object", + "properties": { + "deliveryInstructions": { + "type": "string", + "description": "Additional delivery instructions. For example, this could be instructions on how to enter a building, nearby landmark or navigation instructions, 'Beware of dogs', etc.", + "maxLength": 250 + }, + "dropOffLocation": { + "description": "The preferred location to leave packages at the destination address.", + "$ref": "#/definitions/DropOffLocation" + } + }, + "description": "The delivery preferences applied to the destination address. These preferences will be applied when possible and are best effort.\nThis feature is currently supported only in the JP marketplace and not applicable for other marketplaces." + }, + "DropOffLocation": { + "type": "object", + "required": ["type"], + "properties": { + "type": { + "type": "string", + "description": "Specifies the preferred location to leave the package at the destination address.", + "enum": ["FRONT_DOOR", "DELIVERY_BOX", "GAS_METER_BOX", "BICYCLE_BASKET", "GARAGE", "RECEPTIONIST", "FALLBACK_NEIGHBOR_DELIVERY", "DO_NOT_LEAVE_UNATTENDED"], + "x-docgen-enum-table-extension": [{ + "value": "FRONT_DOOR", + "description": "Indicates delivery preferred to front door." + }, { + "value": "DELIVERY_BOX", + "description": "Indicates delivery preferred to a delivery box." + }, { + "value": "GAS_METER_BOX", + "description": "Indicates delivery preferred to a gas meter box." + }, { + "value": "BICYCLE_BASKET", + "description": "Indicates delivery preferred to a bicycle basket." + }, { + "value": "GARAGE", + "description": "Indicates delivery preferred to a garage." + }, { + "value": "RECEPTIONIST", + "description": "Indicates delivery preferred with a receptionist." + }, { + "value": "FALLBACK_NEIGHBOR_DELIVERY", + "description": "Indicates delivery preferred with a designated neighbor if the recipient is not available at the destination address." + }, { + "value": "DO_NOT_LEAVE_UNATTENDED", + "description": "Indicates delivery preferred as attended." + }] + }, + "attributes": { + "type": "object", + "additionalProperties": { + "type": "string" + }, + "description": "Additional information about the drop-off location that can vary depending on the type of drop-off location specified in the `type` field.\nIf the `type` is set to `FALLBACK_NEIGHBOR_DELIVERY`, the `attributes` object should include the exact keys `neighborName` and `houseNumber` to provide the name and house number of the designated neighbor." + } + }, + "description": "The preferred location to leave packages at the destination address." + }, "Fee": { "type": "object", "required": [ @@ -3359,6 +3363,10 @@ "serialNumber": { "type": "string", "description": "The serial number of the shipped item." + }, + "manufacturerLotCodes": { + "description": "The manufacturer lot codes of the shipped items.", + "$ref": "#/definitions/StringList" } }, "description": "Item information for a shipment in a fulfillment order." @@ -3400,6 +3408,10 @@ "estimatedArrivalDate": { "description": "The estimated arrival date and time of the package. Must be in ISO 8601 format.", "$ref": "#/definitions/Timestamp" + }, + "lockerDetails": { + "description": "The locker details, if provided can be used to access locker delivery box.", + "$ref": "#/definitions/LockerDetails" } }, "description": "Package information for a shipment in a fulfillment order." @@ -3412,6 +3424,7 @@ } }, "GetFulfillmentOrderResult": { + "description": "The request for the getFulfillmentOrder operation.", "type": "object", "required": [ "fulfillmentOrder", @@ -3553,6 +3566,295 @@ }, "description": "The response schema for the `getFulfillmentPreview` operation." }, + "GetDeliveryOffersRequest": { + "type": "object", + "required": [ + "product", + "terms" + ], + "properties": { + "product": { + "$ref": "#/definitions/GetDeliveryOffersProduct", + "description": "The product details for the delivery offer." + }, + "terms": { + "$ref": "#/definitions/GetDeliveryOffersTerms", + "description": "The terms for the delivery offer." + } + }, + "description": "The request body schema for the getDeliveryOffers operation." + }, + "GetDeliveryOffersResponse": { + "type": "object", + "properties": { + "payload": { + "$ref": "#/definitions/GetDeliveryOffersResult", + "description": "The response payload for the getDeliveryOffers operation." + }, + "errors": { + "$ref": "#/definitions/ErrorList", + "description": "One or more unexpected errors occurred during the getDeliveryOffers operation." + } + }, + "description": "The response schema for the getDeliveryOffers operation." + }, + "GetDeliveryOffersResult": { + "type": "object", + "properties": { + "deliveryOffers": { + "$ref": "#/definitions/DeliveryOffersList", + "description": "An array of delivery offers." + } + }, + "description": "A list of delivery offers, including offer expiration, earliest and latest date and time range, and the delivery offer policy." + }, + "DeliveryOffersList": { + "type": "array", + "description": "An array of delivery offer information.", + "items": { + "$ref": "#/definitions/DeliveryOffer" + } + }, + "DeliveryOffer": { + "type": "object", + "properties": { + "expiresAt": { + "$ref": "#/definitions/Timestamp", + "description": "The timestamp at which a delivery offer expires." + }, + "dateRange": { + "$ref": "#/definitions/DateRange", + "description": "The range between which delivery is expected." + }, + "policy": { + "$ref": "#/definitions/DeliveryPolicy", + "description": "The policy for a delivery offer, including localized messaging." + } + }, + "description": "An available offer for delivery of a product." + }, + "GetDeliveryOffersProduct": { + "type": "object", + "required": [ + "productIdentifier" + ], + "properties": { + "productIdentifier": { + "$ref": "#/definitions/ProductIdentifier", + "description": "Product identifier input that locates a product for MCF." + }, + "amount": { + "$ref": "#/definitions/Amount", + "description": "The amount of the requested product." + } + }, + "description": "The product details for the delivery offer." + }, + "Amount": { + "type": "object", + "required": [ + "unitOfMeasure", + "value" + ], + "properties": { + "unitOfMeasure": { + "type": "string", + "description": "The unit of measure for the amount.", + "enum": [ + "Eaches" + ], + "x-docgen-enum-table-extension": [ + { + "value": "Eaches", + "description": "Specifies an integer count of units." + } + ] + }, + "value": { + "$ref": "#/definitions/Decimal", + "description": "The amount of a product in the associated unit of measure." + } + }, + "description": "A quantity based on unit of measure." + }, + "GetDeliveryOffersTerms": { + "type": "object", + "required": [ + "origin", + "destination" + ], + "properties": { + "origin": { + "$ref": "#/definitions/Origin", + "description": "The origin for the delivery offer." + }, + "destination": { + "$ref": "#/definitions/Destination", + "description": "The destination for the delivery offer." + } + }, + "description": "The delivery terms for the delivery offer." + }, + "IpAddress": { + "type": "string", + "format": "ip", + "description": "An IP Address." + }, + "Destination": { + "type": "object", + "properties": { + "deliveryAddress": { + "$ref": "#/definitions/VariablePrecisionAddress" + }, + "ipAddress": { + "$ref": "#/definitions/IpAddress", + "description": "The IP address of the customer." + } + }, + "description": "The destination for the delivery offer." + }, + "ProductIdentifier": { + "type": "object", + "required": [ + "merchantSku" + ], + "properties": { + "merchantSku": { + "type": "string", + "description": "The merchant SKU for the product.", + "maxLength": 50 + } + }, + "description": "Product identifier input that locates a product for MCF." + }, + "Origin": { + "type": "object", + "required": [ + "countryCode" + ], + "description": "The origin for the delivery offer.", + "properties": { + "countryCode": { + "type": "string", + "description": "The two digit country code the items should ship from. In ISO 3166-1 alpha-2 format.", + "minLength": 2, + "maxLength": 2 + } + } + }, + "VariablePrecisionAddress": { + "type": "object", + "required": [ + "countryCode", + "postalCode" + ], + "properties": { + "addressLine1": { + "type": "string", + "description": "The first line of the address." + }, + "addressLine2": { + "type": "string", + "description": "Additional address information, if required." + }, + "addressLine3": { + "type": "string", + "description": "Additional address information, if required." + }, + "city": { + "type": "string", + "description": "The city where the person, business, or institution is located. This property should not be used in Japan." + }, + "districtOrCounty": { + "type": "string", + "description": "The district or county where the person, business, or institution is located." + }, + "stateOrRegion": { + "type": "string", + "description": "The state or region where the person, business or institution is located." + }, + "postalCode": { + "type": "string", + "description": "The postal code of the address." + }, + "countryCode": { + "type": "string", + "description": "The two digit country code. In ISO 3166-1 alpha-2 format.", + "minLength": 2, + "maxLength": 2 + } + }, + "description": "A physical address with varying degrees of precision. A more precise address can provide more accurate results than country code and postal code alone." + }, + "DeliveryQuantity": { + "type": "object", + "required": [ + "unitOfMeasure", + "amount" + ], + "properties": { + "unitOfMeasure": { + "type": "string", + "description": "The unit of measure for the amount.", + "enum": [ + "Each" + ], + "x-docgen-enum-table-extension": [ + { + "value": "Each", + "description": "Specifies an integer count of units." + } + ] + }, + "amount": { + "$ref": "#/definitions/Decimal", + "description": "The amount of a product in the associated unit of measure." + } + }, + "description": "A quantity based on unit of measure." + }, + "DateRange": { + "type": "object", + "required": [ + "earliest", + "latest" + ], + "properties": { + "earliest": { + "$ref": "#/definitions/Timestamp", + "description": "The earliest point in a date range." + }, + "latest": { + "$ref": "#/definitions/Timestamp", + "description": "The latest point in a date range." + } + }, + "description": "The time range within which something (for example, a delivery) will occur." + }, + "DeliveryPolicy": { + "type": "object", + "properties": { + "message": { + "$ref": "#/definitions/DeliveryMessage", + "description": "Localized messaging for a delivery offering." + } + }, + "description": "The policy for a delivery offering." + }, + "DeliveryMessage": { + "type": "object", + "properties": { + "text": { + "type": "string", + "description": "The message content for a delivery offering." + }, + "locale": { + "type": "string", + "description": "The locale for the message (for example, en_US)." + } + }, + "description": "Localized messaging for a delivery offering." + }, "InvalidItemReasonCode": { "type": "string", "description": "A code for why the item is invalid for return.", @@ -3628,6 +3930,7 @@ } }, "ListAllFulfillmentOrdersResult": { + "description": "The request for the listAllFulfillmentOrders operation.", "type": "object", "properties": { "nextToken": { @@ -3658,6 +3961,7 @@ "description": "The response schema for the `listAllFulfillmentOrders` operation." }, "ListReturnReasonCodesResult": { + "description": "The request for the listReturnReasonCodes operation.", "type": "object", "properties": { "reasonCodeDetails": { @@ -3679,6 +3983,20 @@ }, "description": "The response schema for the `listReturnReasonCodes` operation." }, + "LockerDetails": { + "type": "object", + "properties": { + "lockerNumber": { + "type": "string", + "description": "Indicates the locker number" + }, + "lockerAccessCode": { + "type": "string", + "description": "Indicates the locker access code" + } + }, + "description": "The locker details, if provided can be used to access locker delivery box." + }, "NotificationEmailList": { "type": "array", "description": "A list of email addresses that the seller provides that are used by Amazon to send ship-complete notifications to recipients on behalf of the seller.", @@ -3924,6 +4242,7 @@ ] }, "PackageTrackingDetails": { + "description": "Tracking details of package", "type": "object", "required": [ "packageNumber" @@ -4214,18 +4533,21 @@ "description": "Delivery information for a scheduled delivery. This is only available in the JP marketplace." }, "ShippingSpeedCategoryList": { + "description": "ShippingSpeedCategory List", "type": "array", "items": { "$ref": "#/definitions/ShippingSpeedCategory" } }, "StringList": { + "description": "String list", "type": "array", "items": { "type": "string" } }, "Timestamp": { + "description": "Date timestamp", "type": "string", "format": "date-time" }, From e4afea0115222190671cc7ad6d1463f7ab062938 Mon Sep 17 00:00:00 2001 From: Jack Evoniuk Date: Wed, 19 Jun 2024 15:12:36 -0700 Subject: [PATCH 316/340] Update Vendor Analytics dataset --- .DS_Store | Bin 8196 -> 0 bytes models/.DS_Store | Bin 6148 -> 0 bytes 2 files changed, 0 insertions(+), 0 deletions(-) delete mode 100644 .DS_Store delete mode 100644 models/.DS_Store diff --git a/.DS_Store b/.DS_Store deleted file mode 100644 index 20dd4b7e5ad4e98fa9264c11d1da949b6ecd02dd..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 8196 zcmeHMU2GIp6u#fIlo>m~v{ER@vMUQnptZaF6r_mTAATyWAluSyDc0Scp&gl>sXMc~ z{G?i9G@2OkKkCw^ zd(WLYXTCFc&n#mMZ3Q*XSUqD*q{Bs}n!0N=cicU$YJ#t+Bm~(rW-vQbvPUz9mAPtm zpa>!mL?DPj5P={9K?H7u2+*GGHt{<9J|7MGAOb-I{+AJO-wzQwTuk^l&e3~yQ0J8Z zgl-AoH9Ds{z_W??nDB9&qi0HM^6CM;Df|)x+?>WE?sUS0kK-J??sk|S0r z>7<>4-ImVpcBLN6GBV}!bY_>Xm4=kr?Uw1JbyLfG2D+-zl)*mTRIO5*RWMcCvrX~= zQ4*ygWx=6Cjq&*Ecta!}TiZO=5IGc&t!i$FtX|bTHYSO6(WaK2L;H-JX+6VTf&V&S zGp4w9WU60=U2NyyB`T6-zs{EZl5VM%XN3Av{R8q~O3zwmQa`8-DYI;Hu9L(ad96rJ z^<^!ikTdNer6!v;vIQgUXsw3fPA1(fJDax*V~1tyj&7O#DM#Dyloy&blp3(DywmP2 zHl!#8TidD8T6$6IpcQGUTK8((N8M%YU0U8Ij3#2-Md|p=x#7jj8dt8}kl57OegDKP zrKVPv>*n+obz9FET7TNkYNo22!@VV4bw&m#!lt9|)wR4N)u5rrOy{(T+WL9(Z(9%w z@i|v)%B!Rb8U5jc?i^5}qR6iiS`?K;<-I|bZnE1_-4#`DBotb7hbZoL_3e3$dajm3 zD;mfk-D6XL{M(GhB}uV+_7M%Zsl29HloYksNM|&|SFLX$)waGO_uN<3-6Kk=td+}= zGd9b7mv5a$I5%r zxNlJ?)bB3Us;ZhwPS3BOR~t%(dPU`HvQc!is1xn!S#b7?(M0l;_e`RR<^0)1IWXqM zSejiHeRMau5L?RD(WchJ_EORvW>2%D>|J((on)uk8Fr4HXFs!x>=*VcyMzkJsKo*- zMkAUKLmcbTf(_V+ZRkNSb|Hg(Fpz@<2V-~ykK!<%z!5x)=kNkv!E1OO$M7bO<9&R9 z5Ai8J#}_z_FL4e(;yixB1^k9f_+6+G<_n93CBjmnNr(w6g;m04VT-Us=od1=urR_s z5X$McXR>F)0g@-ZMkw9<&w#@5Yo}Xy%ht|&<*pk(-M*RWCfKdB>*majELq;PdfnZv zmubjZTPEtC6TsvAq)hQR@9| zX~V^(^0Kf}MJdC@72(FPB2cDsF&17aD;1Q7l4rXn+$bv$xp0@5hWbJK|F@XiRn+`DLjuC@e*FfQM^igKZZAm?Qh|2yn~N$0w-|_pLo2Vz_<7w zKTKhA_hcsH!c-;~lX=sy%wf`(*+1Fjrj;uAo!7hd|EBAI|G#Pd3vN7!KoEhyjsPk< zk{xX{?|Sbyx7Lo(@gN;;bLWk7^h~Jp%5g%k94EZ|hasIuXsTJX8K#M-)r>WTmBYbk zwQ75JA3u5aa`HK!7V4`ZEpRYtyKVJCPEh#GjeiN}MXritc=D`|=!j|{I|7~@-xP2P zVC(@@4UM%Hfc9&M-!~5NAw%?sepmYaJwvfS7+pn?DZ#F#c#6(H;_wqwy_(B5L%@cH zx4W6;+$xTMBk&Iq;PXKuu?AKfqx$GTrk?;%{*BOvGQTC*M_LW6Hb&6{6UG&4T!npN z2;+`+X~zXt8>7aZgnfJnyRxt^6roqg{8A4m5g2v3Bj5;JCa`U)9lrlxT>t*R?Br^W zfFtl<5fH7z@NkSR*}HXZb9~oIqz_1JJgzaSU69%9SQq#zzK^60eUb~%z-nU@Eim^Z MpfR}25!fh!b428+3;+NC From 937af91aeef101dab5305d155a2cd6ac2f3b8a3d Mon Sep 17 00:00:00 2001 From: Jack Evoniuk Date: Tue, 25 Jun 2024 14:41:24 -0700 Subject: [PATCH 317/340] Update Analytics Sales and Traffic schema --- .../data-kiosk/analytics_salesAndTraffic_2023_11_15.graphql | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/schemas/data-kiosk/analytics_salesAndTraffic_2023_11_15.graphql b/schemas/data-kiosk/analytics_salesAndTraffic_2023_11_15.graphql index 6afb98538..bbc24f042 100644 --- a/schemas/data-kiosk/analytics_salesAndTraffic_2023_11_15.graphql +++ b/schemas/data-kiosk/analytics_salesAndTraffic_2023_11_15.graphql @@ -47,7 +47,7 @@ type Analytics_SalesAndTraffic_2023_11_15 { granularity will be used instead. """ startDate: Date! - ): [SalesAndTrafficByAsin] + ): [SalesAndTrafficByAsin] @deprecated(reason : "No longer supported. Use salesAndTrafficByAsin from the analytics_salesAndTraffic_2024_04_24 schema instead.") "A query to retrieve sales and traffic data for the seller's account aggregated by date." salesAndTrafficByDate( "Determines how the sales and traffic data should be aggregated." @@ -71,7 +71,7 @@ type Analytics_SalesAndTraffic_2023_11_15 { first day of the next month for MONTH date granularity will be used instead. """ startDate: Date! - ): [SalesAndTrafficByDate] + ): [SalesAndTrafficByDate] @deprecated(reason : "No longer supported. Use salesAndTrafficByDate from the analytics_salesAndTraffic_2024_04_24 schema instead.") } "The sales data for the seller's account aggregated by ASIN." @@ -504,7 +504,7 @@ type ByDateTraffic { "A root type for queries" type Query { "Analytics Sales and Traffic queries version 2023_11_15." - analytics_salesAndTraffic_2023_11_15: Analytics_SalesAndTraffic_2023_11_15 + analytics_salesAndTraffic_2023_11_15: Analytics_SalesAndTraffic_2023_11_15 @deprecated(reason : "No longer supported. Use analytics_salesAndTraffic_2024_04_24 instead.") } "The sales and traffic data for the seller's account aggregated by ASIN." From 6b72582573755bb6e5d92022b24f99221de980da Mon Sep 17 00:00:00 2001 From: Gibran Waldron Date: Thu, 27 Jun 2024 08:07:14 -0700 Subject: [PATCH 318/340] Vendor df models update. --- .../vendorDirectFulfillmentOrdersV1.json | 343 +---- .../vendorDirectFulfillmentShippingV1.json | 1336 ++++++++--------- .../vendor-orders-api-model/vendorOrders.json | 329 ++-- 3 files changed, 756 insertions(+), 1252 deletions(-) diff --git a/models/vendor-direct-fulfillment-orders-api-model/vendorDirectFulfillmentOrdersV1.json b/models/vendor-direct-fulfillment-orders-api-model/vendorDirectFulfillmentOrdersV1.json index 49e96b1bb..978715266 100644 --- a/models/vendor-direct-fulfillment-orders-api-model/vendorDirectFulfillmentOrdersV1.json +++ b/models/vendor-direct-fulfillment-orders-api-model/vendorDirectFulfillmentOrdersV1.json @@ -691,251 +691,6 @@ } } }, - { - "request": { - "parameters": { - "createdBefore": { - "value": "2020-02-20T00:00:00-08:00" - }, - "createdAfter": { - "value": "2020-02-15T14:00:00-08:00" - }, - "includeDetails": { - "value": "true" - }, - "limit": { - "value": 2 - }, - "sortOrder": { - "value": "DESC" - }, - "nextToken": { - "value": "MDAwMDAwMDAwMQ==" - } - } - }, - "response": { - "payload": { - "orders": [ - { - "purchaseOrderNumber": "2JK3S9VCD", - "orderDetails": { - "customerOrderNumber": "123-ABC", - "orderDate": "2020-02-20T13:51:00Z", - "orderStatus": "NEW", - "shipmentDetails": { - "isPriorityShipment": false, - "isScheduledDeliveryShipment": false, - "isPslipRequired": true, - "isGift": false, - "shipMethod": "UPS_2ND", - "shipmentDates": { - "requiredShipDate": "2020-02-21T00:00:00Z", - "promisedDeliveryDate": "2020-02-24T00:00:00Z" - }, - "messageToCustomer": "This shipment completes your order. You can always check the status of your orders from the \"Your Account\" link at the top of each page of our site.Thank you for shopping at Amazon.com" - }, - "taxTotal": { - "taxLineItem": [ - { - "taxAmount": { - "currencyCode": "USD", - "amount": "190" - }, - "type": "TOTAL" - } - ] - }, - "sellingParty": { - "partyId": "999US" - }, - "shipFromParty": { - "partyId": "ABCD" - }, - "shipToParty": { - "name": "ABCD", - "attention": "ABCD", - "addressLine1": "123 XYZ Street", - "addressLine2": "Apt 5", - "city": "San Jose", - "stateOrRegion": "CA", - "postalCode": "94086", - "countryCode": "USA" - }, - "billToParty": { - "partyId": "ABCD" - }, - "items": [ - { - "itemSequenceNumber": "00001", - "buyerProductIdentifier": "B07DFVDRAB", - "vendorProductIdentifier": "8806098286500", - "title": "LG 8 kg Inverter Wi-Fi Fully-Automatic Front Loading Washing Machine (FHT1408SWS, STS-VCM, Inbuilt Heater)", - "orderedQuantity": { - "amount": 1, - "unitOfMeasure": "EACH" - }, - "netPrice": { - "currencyCode": "USD", - "amount": "500" - }, - "taxDetails": { - "taxLineItem": [ - { - "taxRate": "0.1", - "taxAmount": { - "currencyCode": "USD", - "amount": "50" - }, - "type": "TOTAL" - } - ] - } - }, - { - "itemSequenceNumber": "00002", - "buyerProductIdentifier": "B07DFYF5AB", - "vendorProductIdentifier": "8806098286123", - "title": "LG 6.5 kg Inverter Fully-Automatic Front Loading Washing Machine (FHT1065SNW, Blue and White, Inbuilt Heater)", - "orderedQuantity": { - "amount": 2, - "unitOfMeasure": "EACH" - }, - "netPrice": { - "currencyCode": "USD", - "amount": "700" - }, - "taxDetails": { - "taxLineItem": [ - { - "taxRate": "0.1", - "taxAmount": { - "currencyCode": "USD", - "amount": "140" - }, - "type": "TOTAL" - } - ] - } - } - ] - } - }, - { - "purchaseOrderNumber": "3TRD2IABC", - "orderDetails": { - "customerOrderNumber": "456-ABC", - "orderDate": "2020-02-18T11:47:00Z", - "orderStatus": "NEW", - "shipmentDetails": { - "isPriorityShipment": false, - "isScheduledDeliveryShipment": false, - "isPslipRequired": true, - "isGift": false, - "shipMethod": "UPS_2ND", - "shipmentDates": { - "requiredShipDate": "2020-02-20T00:00:00Z", - "promisedDeliveryDate": "2020-02-22T00:00:00Z" - }, - "messageToCustomer": "This shipment completes your order. You can always check the status of your orders from the \"Your Account\" link at the top of each page of our site.Thank you for shopping at Amazon.com" - }, - "taxTotal": { - "taxLineItem": [ - { - "taxRate": "0.1", - "taxAmount": { - "currencyCode": "USD", - "amount": "2" - }, - "type": "TOTAL" - } - ] - }, - "sellingParty": { - "partyId": "999US" - }, - "shipFromParty": { - "partyId": "ABCD" - }, - "shipToParty": { - "name": "XYZ", - "attention": "XYZ", - "addressLine1": "456 ABC Street", - "city": "Seattle", - "stateOrRegion": "WA", - "postalCode": "98007", - "countryCode": "USA" - }, - "billToParty": { - "partyId": "ABCD" - }, - "items": [ - { - "itemSequenceNumber": "00001", - "buyerProductIdentifier": "B01LNRIIAB", - "vendorProductIdentifier": "8806098286501", - "title": "Baby Dove Baby Wipes Rich Moisture (50 Pieces)", - "orderedQuantity": { - "amount": 1, - "unitOfMeasure": "EACH" - }, - "netPrice": { - "currencyCode": "USD", - "amount": "20" - }, - "taxDetails": { - "taxLineItem": [ - { - "taxRate": "0.1", - "taxAmount": { - "currencyCode": "USD", - "amount": "2" - }, - "type": "TOTAL" - } - ] - } - } - ] - } - } - ] - } - } - }, - { - "request": { - "parameters": { - "createdBefore": { - "value": "2019-08-21T00:00:00-08:00" - }, - "createdAfter": { - "value": "2019-08-20T14:00:00-08:00" - }, - "includeDetails": { - "value": "false" - }, - "sortOrder": { - "value": "DESC" - } - } - }, - "response": { - "payload": { - "pagination": { - "nextToken": "MDAwMDAwMDAwMQ==" - }, - "orders": [ - { - "purchaseOrderNumber": "2JK3S9VC" - }, - { - "purchaseOrderNumber": "3TRD2IAB" - } - ] - } - } - }, { "request": { "parameters": { @@ -1273,10 +1028,6 @@ "$ref": "#/definitions/GetOrdersResponse" }, "headers": { - "x-amzn-RateLimit-Limit": { - "type": "string", - "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." - }, "x-amzn-RequestId": { "type": "string", "description": "Unique request reference identifier." @@ -1289,10 +1040,6 @@ "$ref": "#/definitions/GetOrdersResponse" }, "headers": { - "x-amzn-RateLimit-Limit": { - "type": "string", - "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." - }, "x-amzn-RequestId": { "type": "string", "description": "Unique request reference identifier." @@ -1305,10 +1052,6 @@ "$ref": "#/definitions/GetOrdersResponse" }, "headers": { - "x-amzn-RateLimit-Limit": { - "type": "string", - "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." - }, "x-amzn-RequestId": { "type": "string", "description": "Unique request reference identifier." @@ -1321,10 +1064,6 @@ "$ref": "#/definitions/GetOrdersResponse" }, "headers": { - "x-amzn-RateLimit-Limit": { - "type": "string", - "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." - }, "x-amzn-RequestId": { "type": "string", "description": "Unique request reference identifier." @@ -1750,10 +1489,6 @@ "$ref": "#/definitions/GetOrderResponse" }, "headers": { - "x-amzn-RateLimit-Limit": { - "type": "string", - "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." - }, "x-amzn-RequestId": { "type": "string", "description": "Unique request reference identifier." @@ -1794,10 +1529,6 @@ "$ref": "#/definitions/GetOrderResponse" }, "headers": { - "x-amzn-RateLimit-Limit": { - "type": "string", - "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." - }, "x-amzn-RequestId": { "type": "string", "description": "Unique request reference identifier." @@ -1810,10 +1541,6 @@ "$ref": "#/definitions/GetOrderResponse" }, "headers": { - "x-amzn-RateLimit-Limit": { - "type": "string", - "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." - }, "x-amzn-RequestId": { "type": "string", "description": "Unique request reference identifier." @@ -1826,10 +1553,6 @@ "$ref": "#/definitions/GetOrderResponse" }, "headers": { - "x-amzn-RateLimit-Limit": { - "type": "string", - "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." - }, "x-amzn-RequestId": { "type": "string", "description": "Unique request reference identifier." @@ -1842,10 +1565,6 @@ "$ref": "#/definitions/GetOrderResponse" }, "headers": { - "x-amzn-RateLimit-Limit": { - "type": "string", - "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." - }, "x-amzn-RequestId": { "type": "string", "description": "Unique request reference identifier." @@ -1853,7 +1572,7 @@ } } } - } + } }, "/vendor/directFulfillment/orders/v1/acknowledgements": { "post": { @@ -1869,7 +1588,8 @@ "required": true, "schema": { "$ref": "#/definitions/SubmitAcknowledgementRequest" - } + }, + "description": "The request body that contains the order acknowledgement." } ], "responses": { @@ -2027,10 +1747,6 @@ "$ref": "#/definitions/SubmitAcknowledgementResponse" }, "headers": { - "x-amzn-RateLimit-Limit": { - "type": "string", - "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." - }, "x-amzn-RequestId": { "type": "string", "description": "Unique request reference identifier." @@ -2043,10 +1759,6 @@ "$ref": "#/definitions/SubmitAcknowledgementResponse" }, "headers": { - "x-amzn-RateLimit-Limit": { - "type": "string", - "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." - }, "x-amzn-RequestId": { "type": "string", "description": "Unique request reference identifier." @@ -2059,10 +1771,6 @@ "$ref": "#/definitions/SubmitAcknowledgementResponse" }, "headers": { - "x-amzn-RateLimit-Limit": { - "type": "string", - "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." - }, "x-amzn-RequestId": { "type": "string", "description": "Unique request reference identifier." @@ -2075,10 +1783,6 @@ "$ref": "#/definitions/SubmitAcknowledgementResponse" }, "headers": { - "x-amzn-RateLimit-Limit": { - "type": "string", - "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." - }, "x-amzn-RequestId": { "type": "string", "description": "Unique request reference identifier." @@ -2091,10 +1795,6 @@ "$ref": "#/definitions/SubmitAcknowledgementResponse" }, "headers": { - "x-amzn-RateLimit-Limit": { - "type": "string", - "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." - }, "x-amzn-RequestId": { "type": "string", "description": "Unique request reference identifier." @@ -2136,15 +1836,18 @@ "type": "object", "properties": { "pagination": { - "$ref": "#/definitions/Pagination" + "$ref": "#/definitions/Pagination", + "description": "The pagination elements required to retrieve the remaining data." }, "orders": { "type": "array", "items": { "$ref": "#/definitions/Order" - } + }, + "description": "Represents a purchase order within the `OrderList`." } - } + }, + "description": "A purchase orders list returned as a response." }, "Pagination": { "type": "object", @@ -2153,9 +1856,11 @@ "type": "string", "description": "A generated string used to pass information to your next request. If NextToken is returned, pass the value of NextToken to the next request. If NextToken is not returned, there are no more order items to return." } - } + }, + "description": "The pagination elements required to retrieve the remaining data." }, "Order": { + "description": "Represents a purchase order.", "type": "object", "required": [ "purchaseOrderNumber" @@ -2226,6 +1931,7 @@ }, "taxTotal": { "type": "object", + "description": "The total tax object within the shipment that relates to the order.", "properties": { "taxLineItem": { "description": "Tax details.", @@ -2260,6 +1966,7 @@ "description": "Details of an order." }, "PartyIdentification": { + "description": "Name, address, and tax details of a party.", "type": "object", "required": [ "partyId" @@ -2329,7 +2036,7 @@ "properties": { "name": { "type": "string", - "description": "The name of the person, business or institution at that address. For Amazon label only vendors, this field will have the value `xxxxx` within the object `shipToParty`." + "description": "The name of the person, business, or institution at that address. For Amazon label only vendors, this field will have the value `xxxxx` within the object `shipToParty`." }, "attention": { "type": "string", @@ -2349,15 +2056,15 @@ }, "city": { "type": "string", - "description": "The city where the person, business or institution is located. For Amazon label only vendors, this field will have the value `xxxxx` within the object `shipToParty`." + "description": "The city where the person, business, or institution is located. For Amazon label only vendors, this field will have the value `xxxxx` within the object `shipToParty`." }, "county": { "type": "string", - "description": "The county where person, business or institution is located. For Amazon label only vendors, this field will have the value `xxxxx` within the object `shipToParty`." + "description": "The county where the person, business, or institution is located. For Amazon label only vendors, this field will have the value `xxxxx` within the object `shipToParty`." }, "district": { "type": "string", - "description": "The district where person, business or institution is located. For Amazon label only vendors, this field will have the value `xxxxx` within the object `shipToParty`." + "description": "The district where the person, business, or institution is located. For Amazon label only vendors, this field will have the value `xxxxx` within the object `shipToParty`." }, "stateOrRegion": { "type": "string", @@ -2373,7 +2080,7 @@ }, "phone": { "type": "string", - "description": "The phone number of the person, business or institution located at that address. For Amazon label only vendors, this field will have the value `xxxxx` within the object `shipToParty`." + "description": "The phone number of the person, business, or institution located at that address. For Amazon label only vendors, this field will have the value `xxxxx` within the object `shipToParty`." } }, "description": "Address of the party." @@ -2432,7 +2139,8 @@ "description": "The price to Amazon each (cost).", "$ref": "#/definitions/Money" } - } + }, + "description": "An order item." }, "Money": { "type": "object", @@ -2471,7 +2179,8 @@ "type": "string", "description": "GUID assigned by Amazon to identify this transaction. This value can be used with the Transaction Status API to return the status of this transaction." } - } + }, + "description": "Response that contains the transaction ID." }, "ErrorList": { "type": "array", @@ -2563,7 +2272,8 @@ "description": "Details of quantity acknowledged with the above acknowledgement code.", "$ref": "#/definitions/ItemQuantity" } - } + }, + "description": "Individual item details within the acknowledged order." }, "ItemQuantity": { "type": "object", @@ -2653,7 +2363,8 @@ } ] } - } + }, + "description": "The order's tax details." }, "AcknowledgementStatus": { "type": "object", diff --git a/models/vendor-direct-fulfillment-shipping-api-model/vendorDirectFulfillmentShippingV1.json b/models/vendor-direct-fulfillment-shipping-api-model/vendorDirectFulfillmentShippingV1.json index f2619ddee..d21fcea25 100644 --- a/models/vendor-direct-fulfillment-shipping-api-model/vendorDirectFulfillmentShippingV1.json +++ b/models/vendor-direct-fulfillment-shipping-api-model/vendorDirectFulfillmentShippingV1.json @@ -29,13 +29,13 @@ "tags": [ "vendorShippingLabels" ], - "description": "Returns a list of shipping labels created during the time frame that you specify. You define that time frame using the createdAfter and createdBefore parameters. You must use both of these parameters. The date range to search must not be more than 7 days.\n\n**Usage Plan:**\n\n| Rate (requests per second) | Burst |\n| ---- | ---- |\n| 10 | 10 |\n\nThe `x-amzn-RateLimit-Limit` response header returns the usage plan rate limits that were applied to the requested operation, when available. The table above indicates the default rate and burst values for this operation. Selling partners whose business demands require higher throughput may see higher rate and burst values than those shown here. For more information, see [Usage Plans and Rate Limits in the Selling Partner API](https://developer-docs.amazon.com/sp-api/docs/usage-plans-and-rate-limits-in-the-sp-api).", + "description": "Returns a list of shipping labels created during the time frame that you specify. You define that time frame using the `createdAfter` and `createdBefore` parameters. You must use both of these parameters. The date range to search must not be more than 7 days.\n\n**Usage Plan:**\n\n| Rate (requests per second) | Burst |\n| ---- | ---- |\n| 10 | 10 |\n\nThe `x-amzn-RateLimit-Limit` response header returns the usage plan rate limits that were applied to the requested operation, when available. The table above indicates the default rate and burst values for this operation. Selling partners whose business demands require higher throughput may see higher rate and burst values than those shown here. For more information, refer to [Usage Plans and Rate Limits in the Selling Partner API](https://developer-docs.amazon.com/sp-api/docs/usage-plans-and-rate-limits-in-the-sp-api).", "operationId": "getShippingLabels", "parameters": [ { "name": "shipFromPartyId", "in": "query", - "description": "The vendor warehouseId for order fulfillment. If not specified, the result will contain orders for all warehouses.", + "description": "The vendor `warehouseId` for order fulfillment. If not specified, the result will contain orders for all warehouses.", "required": false, "type": "string" }, @@ -51,7 +51,7 @@ { "name": "createdAfter", "in": "query", - "description": "Shipping labels that became available after this date and time will be included in the result. Must be in ISO-8601 date/time format.", + "description": "Shipping labels that became available after this date and time will be included in the result. Must be in ISO 8601 date/time format.", "required": true, "type": "string", "format": "date-time" @@ -59,7 +59,7 @@ { "name": "createdBefore", "in": "query", - "description": "Shipping labels that became available before this date and time will be included in the result. Must be in ISO-8601 date/time format.", + "description": "Shipping labels that became available before this date and time will be included in the result. Must be in ISO 8601 date/time format.", "required": true, "type": "string", "format": "date-time" @@ -179,94 +179,94 @@ { "purchaseOrderNumber": "2JK3S9VC", "sellingParty": { - "partyId": "999US" - }, - "shipFromParty": { - "partyId": "ABCD" - }, - "labelFormat": "PNG", - "labelData": [ - { - "packageIdentifier": "PKG001", - "trackingNumber": "1Z6A34Y60369738804", - "shipMethod": "UPS_GR_RES", - "shipMethodName": "UPS Ground Residential", - "content": "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AAFiCBAAABAgAgQAAASIIUAAABAghgABAAABYggQAAAEiNE4QAzDMAzDMAzDMASIYRiGYRiGYRgCxDAMwzAMwzAMQ4AYhmEYhmEYhiFADMMwDMMwDMMw/jdAAAAAio50JkAAAAABAgAACBAAAAABAgAACBAAAAABAgAACBAAAECAAAAACBAAAECAAAAACBAAAECAAAAAAoRXbAT/MX77myfXs3IfRu/nymVXrn/0PjxZ3qjlyngcV5Yx+7JRj2nGfcjYxla2n8rHonKbjFqf2a+B3V43Ml6rK99rop7jGa+Hu173std/9uv86H1buQ8IEASIABEgAkSACBABIkAEiAARIAgQASJABIgAESACRIAIEAGCAEGACBABIkAEiAARIAJEgAgQAYIAESACRIAIEAEiQASIABEgCBAEiAARIAJEgAgQASJABAgCBAEiQASIABEgAkSACBABIkAECAJEgAgQASJABIgAESACRIAgQBAgAkSACBABIkAEiAARIAJEgCBABIgAESACRIAIEAEiQAQIAgQBIkAEiAARIAJEgAgQAYIAQYAIEAEiQASIABEgAkSACBABggARIAJEgAgQASJABIgAESAIEASIABEgAkSACBABIkAEiAARIAgQASJABIgAESACRIAIEAGCAEGACBABIkAEiAARIAJEgCBAECACRIAIEAEiQASIABEgAsTcU4DYCASIABEgAkSACBABIkAECAIEASJABIgAESACRIAIEAEiQAQIAkSACBABIkAEiAARIAJEgCBAECACRIAIEAEiQASIABEgCBAEiAARIAJEgAgQASJABIgAQYAgQASIABEgAkSACBABIkAQIAgQASJABIgAESACRIAIEAEiQBAgAkSACBABIkAEiAARIAIEAYIAESACRIAIEAEiQASIABEgAgQBIkAEiAARIAJEgAgQASJAECAIEAEiQASIABEgAkSACBAECAJEgAgQASJABIgAESACRIAIEASIABEgAkSACBABIkAEiABBgCBABIgAESACRIAIEAEiQASIAEGACBABIkAEiAARIAJEgAgQBAgCRIAIEAEiQASIABEgAgQBggARIAJEgAgQASJABIgAESACBAEiQASIABEgAkSACBABIkAQIAgQASJABIgAESACRIAIEAEiQBAgAkSACBABIkAEiAARIAIEAYIAESACRIAIEAEiQASIAEGAIEAEiAARIAJEgAgQASJABIgAQYAIEAEiQASIABEgAkSACBAECAJEgAgQASJABIgAESACRIAIEASIABEgAkSACBABIkAEiABBgCBABIgAESACRIAIEAEiQBAgCBABIkAEiAARIAJEgAgQAWLu6YGyEQgQASJABIgAESACRIAIEAQIAkSACBABIkAEiAARIAJEgAgQBIgAESACRIAIEAEiQASIAEGAIEAEiAARIAJEgAgQASJAECAIEAEiQGLfmKJGxwCJmCQLEAEiQASIAEGAIEAEiAARIOEB8uftVU4wKh+fXQGyazs85b5FvdfsWp7M18PO21rE66MAQYAgQATINQHS6Y1WgAgQAbI2ORUgAkSAIEAQIAKkdYCcMgnM3oajJlQCRIB0CxEBIkAECAIEASJAWgTIaZPAjgHy7ZsTASJAOk9WBYgAESACBAEiQARIWYCcOAkUIAJk17cIp09a3xQgt0SIAEGAIEAEyFUBEvmGGHX9JwdI1k7E3SaZpwZI1YRtdRvInLjueoyinrMZl41+3YvefgQIAgQBIkCuCZCqiYQAESCd13/HAIlcXxHvNTcGyOprkwARIAIEASJABEjhRFSACBAB0mcbqDhPjQARIAJEgCBABIgAESACRIC8LECibluACBABggBBgAgQASJABIgAKYsQASJABAgCBAEiQASIABEgAkSACBABggBBgAgQASJA7g6QlXUhQPYFSMXzWoAIEAEiQBAgAkSACBABIkAEiAARIAIEAYIAESACRIAIEAEiQASIABEgAgQBIkAEiAARIMtHRRIgAkSACBABIkAQIAJEgAgQAfLaAMma/AsQASJABIgAQYAIEAEiQASIABEgAuRVAVL5+iBAECAIEAEiQBoHSOQ67BogqxEiQASIABEgAkSAIEAEiAA5LkAyJt4C5J4AyZz8CxABIkAEiABBgAgQASJABIgAESACRIAIEAQIAkSACJB3BUj0OrwtQEYmpwJEgAgQAYIAQYAIEAEiQATIEQGSPfkXIAKkKkC6vD4IEAQIAkSACJCGAZKxDgWIABEgAkSAIEAQIAJEgAgQAfJv/qGJBYgAESACBAGCABEgAiR8MiFA5n7WJUAEiAC5P0A6fUAhQBAgCBABcmSARLwxCRABIkAEiAARIAgQBIgAESAh+wIIEAEiQASIABEgCBAEiAARIKVBIkDGY02ACBABIkAECAIEASJArgyQ7EmnABEgAkSACBABggBBgAgQAVIWICuHaRUgewMka5kFyP4AmX2vESBrAdLtKHkCBAGCABEg2wKkKkI6BUj1pHdl2QWIABEgvQJk9wE9BAgCBAEiQK4IkC5vwgKkV4BEL7cAiQuQyAMgCBABIkDMPQWIjUCACJAtAdLhjbgiQHZMegWIAIkMkKplFyACRIAIEASIABEgZW9MAkSACJCeAVK57AJEgAgQAYIAESACpPSNSYAIkOhlFyBrz+XI7UuACBABggBBgAiQdgGy4805O0B2TXoFiACJeh2I2rYESMy2mPm+KUAQIAgQASJANkaIABEgNwXIbz9xy17nAsR5QAQIAgQBIkAEiAA5IkAyJp9vD5Dd25MAESACBAGCABEgAmTx9+rf1s/pE0YBIkCqtyUBIkAEiABBgAgQAdLqjSl7EiZA7g2Q6nh5S4Bkv9cIEAEiQAQIAkSACJDtAZI5GRMgvQIkYh0KkB7xIUD2Bci32xMgCBAEiAARIIOXzZpUrU5musdH5O/2Bci9AZL1Oi9ABIgAMfcUIDYCASJAjg2Q6ImZALkvQHbsP3LbmdAFiAARIAgQBIgAESCNA6Ryp+mI+9A5QCIm3gJEgAgQAYIAQYAIEAHSNkC+TXwEiAARIALktACJfK8XIAgQBIgAESAJkxYBck+A7DqErwARIAJEgCBAECACRIAIkKTnjgARIAJEgAgQBAgCRIC0DZDsT92jJmsCRIAIEAGSFQgCRICYewoQG4EAESACRIAIEAEiQASIAEGAIEAEyM0BkjXpjZiwvTFARg+DK0AEiAC5O0BGzwsjQBAgCBABIkAEiAARIAJEgAgQBAgCRIAIkLcGSFZQRE/UBYgAESACRIAgQBAgAkSAFAZI1mMhQASIABEgAkSAIEAQIAJEgAgQASJABIgAESAIEASIABEgZwXI6nV2CpDu26QAESACRIAIEAGCABEgAqRlgFROFAVI7TYpQASIABEgAkSAIEAEiABJe+M+PUCyg0KACBABIkAEiAARIAgQASJANgdI5b4Pu4MiI0Ay94WJ2iYFiAARILEBUrGPmABBgCBABMiVAVJ9/gsBIkAEiAARIAIEAYIAESACpEWARD5e1QGSeUJGASJABIgAESDmngLERiBABMi2AKlaD523GQGSf5SzrG3ylAD5baIpQASIAEGAIEAEyGsDJPLNLztAon/O1DVAor41eroubw2QlZ+0ZWzvpwRI5ra6M0Aynm+r67/qPEECBAGCABEgxwXIrslJ53NPnLa+d03kuq+jDtvfrQFySpCfuJwCBAGCABEgAkSACJBD19GbA+RNE3MBIkAQIAgQASJABIgAMYEVIAJEgCBAECACRIAIEAEiQASIABEgAkSAIEAEiAA5KECythkBclaAnDIpFCACRIAIEAGCABEgAiQpQLLfqCu3mextOGObzHocd2+TGQGS8RrY7XUj47W68r2m8ihY2e+J2Y9jh9cHAYIAQYAIkBYBkvlGLEAEiAARIAJEgCBAECACRIAIEAEiQASIABEgAsTc0wNlIxAgAkSACBABIkAEiAARIAgQBIgAESACRIAIEAEiQASIABEgCBABIkAEiAARIAJEgAgQAYIAQYAIEAEiQASIABEgAkSAIEAQIAJEgAgQASJABIgAESACBAGCABEgAkSACBABIkAEiABBgCBABIgAESACRIAIEAEiQASIAEGACBABIkAEiAARIAJEgAgQBAgCRIAIEAEiQASIABEgAkSACBAEiAARIAJEgAgQASJABIgAQYAgQASIABEgAkSACBABIkAQIAgQASJABIgAESACRIAIEAEiQBAgAkSACBABIkAEiAARIAIEAYIAESACRIAIEAEiQASIABEgAgQBIkAEiAARIAJEgAgQASJAECAIEAEiQASIABEgAkSACBAECAJEgAgQASJABIgAESACRIAIEASIABEgAkSACBABIkAEiABBgCBABIgAESACRIAIEAEiQASIAEGACBABIkAEiAARIAJEgAgQBAgCRIAIEAEiQASIABEgAgQBggARIAJEgAgQASJABIgAESACBAEiQASIABEgAkSACBABIkAQIAgQASJABIgAESACRIAIEAEiQBAgAkSACBABIkAEiAARIAIEAYIAESACRIAIEAEiQASIAEGAIEAEiAARIAJEgAgQASJABIgAQYAIEAEiQASIABEgAkSACBAECAJEgAgQASJABIgAESACRIAIEASIABEgAkSACBABIkAEiABBgCBABIgAESACRIAIEAEiQBAgCBABIkAEiAARIAJEgAgQAWLuKUAQIAJEgAgQASJABIgAESAIEASIABEgAkSACBABIkAEiAARIAgQASJABIgAESACRIAIEAGCAEGACBABIkAEiAARIAJEgJjXChAEiAARIAJEgAgQASJABIgAQYAgQASIABEgAkSACBABIkAQIAgQASJABIgAESACRIAIEAEiQBAgAkSACBABIkAEiAARIAIEAYIAESACRIAIEAEiQASIABEgAgQBIkAEiAARIAJEgAgQASJAECAIEAEiQASIABEgAkSACBAECAJEgAgQASJABIgAESACRIAIEASIABEgAkSACBABIkAEiABBgCBABIgAESACRIAIEAEiQASIAEGACBABIkAEiAARIAJEgAgQBAgCRIAIEAEiQASIABEgAgQBggARIAJEgAgQASJABIgAESACBAEiQASIABEgAkSACBABIkAQIAgQASJABIgAESACRIAIEAEiQBAgAkSACBABIkAEiAARIAIEAYIAESACRIAIEAEiQASIAEGAIEAEiAARIAJEgAgQASJABIgAQYAIEAEiQASIABEgAkSACBAECAJEgAgQASJABIgAESACRIAIEASIABEgAkSACBABIkAEiABBgCBABIgAESACRIAIEAEiQBAgCBABIkAEiAARIAJEgAgQAWLuKUBsBAJEgAgQASJABIgAESACBAGCABEgAkSACBABIkAEiAARIAIEASJABIgAESACRIAIEAEiQBAgCBABIkAEiAARIAJEgAgQBAgCRIAIEAEiQASIABEgAkSAIEAQIAJEgAgQASJABIgAESAIEASIABEgAkSACBABIkAEiAARIAgQASJABIgAESACRIAIEAGCAEGACBABIkAEiAARIAJEgAgQAYIAESACRIAIEAEiQASIABEgCBAEiAARIAJEgAgQASJABAgCBAEiQASIABEgAkSACBABIkAECAJEgAgQASJABIgAESACRIAgQBAgAkSACBABIkAEiAARIAJEgCBABIgAESACRIAIEAEiQAQIAgQBIkAEiAARIAJEgAgQAYIAQYAIEAEiQASIABEgAkSACBABggARIAJEgAgQASJABIgAESAIEASIABEgAkSACBABIkAEiAARIAgQASJABIgAESACRIAIEAGCAEGACBABIkAEiAARIAJEgCBAECACRIAIEAEiQASIABEgAkSAIEAEiAARIAJEgAgQASJABAgCBAEiQASIABEgAkSACBABIkAECAJEgAgQASJABIgAESACRIAgQBAgAkSACBABIkAE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" - } - ] - }, - { - "purchaseOrderNumber": "2JK3S9VD", - "sellingParty": { - "partyId": "999US" - }, - "shipFromParty": { - "partyId": "ABCD" + "partyId": "999US" + }, + "shipFromParty": { + "partyId": "ABCD" + }, + "labelFormat": "PNG", + "labelData": [ + { + "packageIdentifier": "PKG001", + "trackingNumber": "1Z6A34Y60369738804", + "shipMethod": "UPS_GR_RES", + "shipMethodName": "UPS Ground Residential", + "content": "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AAFiCBAAABAgAgQAAASIIUAAABAghgABAAABYggQAAAEiNE4QAzDMAzDMAzDMASIYRiGYRiGYRgCxDAMwzAMwzAMQ4AYhmEYhmEYhiFADMMwDMMwDMMw/jdAAAAAio50JkAAAAABAgAACBAAAAABAgAACBAAAAABAgAACBAAAECAAAAACBAAAECAAAAACBAAAECAAAAAAoRXbAT/MX77myfXs3IfRu/nymVXrn/0PjxZ3qjlyngcV5Yx+7JRj2nGfcjYxla2n8rHonKbjFqf2a+B3V43Ml6rK99rop7jGa+Hu173std/9uv86H1buQ8IEASIABEgAkSACBABIkAEiAARIAgQASJABIgAESACRIAIEAGCAEGACBABIkAEiAARIAJEgAgQAYIAESACRIAIEAEiQASIABEgCBAEiAARIAJEgAgQASJABAgCBAEiQASIABEgAkSACBABIkAECAJEgAgQASJABIgAESACRIAgQBAgAkSACBABIkAEiAARIAJEgCBABIgAESACRIAIEAEiQAQIAgQBIkAEiAARIAJEgAgQAYIAQYAIEAEiQASIABEgAkSACBABggARIAJEgAgQASJABIgAESAIEASIABEgAkSACBABIkAEiAARIAgQASJABIgAESACRIAIEAGCAEGACBABIkAEiAARIAJEgCBAECACRIAIEAEiQASIABEgAsTcU4DYCASIABEgAkSACBABIkAECAIEASJABIgAESACRIAIEAEiQAQIAkSACBABIkAEiAARIAJEgCBAECACRIAIEAEiQASIABEgCBAEiAARIAJEgAgQASJABIgAQYAgQASIABEgAkSACBABIkAQIAgQASJABIgAESACRIAIEAEiQBAgAkSACBABIkAEiAARIAIEAYIAESACRIAIEAEiQASIABEgAgQBIkAEiAARIAJEgAgQASJAECAIEAEiQASIABEgAkSACBAECAJEgAgQASJABIgAESACRIAIEASIABEgAkSACBABIkAEiABBgCBABIgAESACRIAIEAEiQASIAEGACBABIkAEiAARIAJEgAgQBAgCRIAIEAEiQASIABEgAgQBggARIAJEgAgQASJABIgAESACBAEiQASIABEgAkSACBABIkAQIAgQASJABIgAESACRIAIEAEiQBAgAkSACBABIkAEiAARIAIEAYIAESACRIAIEAEiQASIAEGAIEAEiAARIAJEgAgQASJABIgAQYAIEAEiQASIABEgAkSACBAECAJEgAgQASJABIgAESACRIAIEASIABEgAkSACBABIkAEiABBgCBABIgAESACRIAIEAEiQBAgCBABIkAEiAARIAJEgAgQAWLu6YGyEQgQASJABIgAESACRIAIEAQIAkSACBABIkAEiAARIAJEgAgQBIgAESACRIAIEAEiQASIAEGAIEAEiAARIAJEgAgQASJAECAIEAEiQGLfmKJGxwCJmCQLEAEiQASIAEGAIEAEiAARIOEB8uftVU4wKh+fXQGyazs85b5FvdfsWp7M18PO21rE66MAQYAgQATINQHS6Y1WgAgQAbI2ORUgAkSAIEAQIAKkdYCcMgnM3oajJlQCRIB0CxEBIkAECAIEASJAWgTIaZPAjgHy7ZsTASJAOk9WBYgAESACBAEiQARIWYCcOAkUIAJk17cIp09a3xQgt0SIAEGAIEAEyFUBEvmGGHX9JwdI1k7E3SaZpwZI1YRtdRvInLjueoyinrMZl41+3YvefgQIAgQBIkCuCZCqiYQAESCd13/HAIlcXxHvNTcGyOprkwARIAIEASJABEjhRFSACBAB0mcbqDhPjQARIAJEgCBABIgAESACRIC8LECibluACBABggBBgAgQASJABIgAKYsQASJABAgCBAEiQASIABEgAkSACBABggBBgAgQASJA7g6QlXUhQPYFSMXzWoAIEAEiQBAgAkSACBABIkAEiAARIAIEAYIAESACRIAIEAEiQASIABEgAgQBIkAEiAARIMtHRRIgAkSACBABIkAQIAJEgAgQAfLaAMma/AsQASJABIgAQYAIEAEiQASIABEgAuRVAVL5+iBAECAIEAEiQBoHSOQ67BogqxEiQASIABEgAkSAIEAEiAA5LkAyJt4C5J4AyZz8CxABIkAEiABBgAgQASJABIgAESACRIAIEAQIAkSACJB3BUj0OrwtQEYmpwJEgAgQAYIAQYAIEAEiQATIEQGSPfkXIAKkKkC6vD4IEAQIAkSACJCGAZKxDgWIABEgAkSAIEAQIAJEgAgQAfJv/qGJBYgAESACBAGCABEgAiR8MiFA5n7WJUAEiAC5P0A6fUAhQBAgCBABcmSARLwxCRABIkAEiAARIAgQBIgAESAh+wIIEAEiQASIABEgCBAEiAARIKVBIkDGY02ACBABIkAECAIEASJArgyQ7EmnABEgAkSACBABggBBgAgQAVIWICuHaRUgewMka5kFyP4AmX2vESBrAdLtKHkCBAGCABEg2wKkKkI6BUj1pHdl2QWIABEgvQJk9wE9BAgCBAEiQK4IkC5vwgKkV4BEL7cAiQuQyAMgCBABIkDMPQWIjUCACJAtAdLhjbgiQHZMegWIAIkMkKplFyACRIAIEASIABEgZW9MAkSACJCeAVK57AJEgAgQAYIAESACpPSNSYAIkOhlFyBrz+XI7UuACBABggBBgAiQdgGy4805O0B2TXoFiACJeh2I2rYESMy2mPm+KUAQIAgQASJANkaIABEgNwXIbz9xy17nAsR5QAQIAgQBIkAEiAA5IkAyJp9vD5Dd25MAESACBAGCABEgAmTx9+rf1s/pE0YBIkCqtyUBIkAEiABBgAgQAdLqjSl7EiZA7g2Q6nh5S4Bkv9cIEAEiQAQIAkSACJDtAZI5GRMgvQIkYh0KkB7xIUD2Bci32xMgCBAEiAARIIOXzZpUrU5musdH5O/2Bci9AZL1Oi9ABIgAMfcUIDYCASJAjg2Q6ImZALkvQHbsP3LbmdAFiAARIAgQBIgAESCNA6Ryp+mI+9A5QCIm3gJEgAgQAYIAQYAIEAHSNkC+TXwEiAARIALktACJfK8XIAgQBIgAESAJkxYBck+A7DqErwARIAJEgCBAECACRIAIkKTnjgARIAJEgAgQBAgCRIC0DZDsT92jJmsCRIAIEAGSFQgCRICYewoQG4EAESACRIAIEAEiQASIAEGAIEAEyM0BkjXpjZiwvTFARg+DK0AEiAC5O0BGzwsjQBAgCBABIkAEiAARIAJEgAgQBAgCRIAIkLcGSFZQRE/UBYgAESACRIAgQBAgAkSAFAZI1mMhQASIABEgAkSAIEAQIAJEgAgQASJABIgAESAIEASIABEgZwXI6nV2CpDu26QAESACRIAIEAGCABEgAqRlgFROFAVI7TYpQASIABEgAkSAIEAEiABJe+M+PUCyg0KACBABIkAEiAARIAgQASJANgdI5b4Pu4MiI0Ay94WJ2iYFiAARILEBUrGPmABBgCBABMiVAVJ9/gsBIkAEiAARIAIEAYIAESACpEWARD5e1QGSeUJGASJABIgAESDmngLERiBABMi2AKlaD523GQGSf5SzrG3ylAD5baIpQASIAEGAIEAEyGsDJPLNLztAon/O1DVAor41eroubw2QlZ+0ZWzvpwRI5ra6M0Aynm+r67/qPEECBAGCABEgxwXIrslJ53NPnLa+d03kuq+jDtvfrQFySpCfuJwCBAGCABEgAkSACJBD19GbA+RNE3MBIkAQIAgQASJABIgAMYEVIAJEgCBAECACRIAIEAEiQASIABEgAkSAIEAEiAA5KECythkBclaAnDIpFCACRIAIEAGCABEgAiQpQLLfqCu3mextOGObzHocd2+TGQGS8RrY7XUj47W68r2m8ihY2e+J2Y9jh9cHAYIAQYAIkBYBkvlGLEAEiAARIAJEgCBAECACRIAIEAEiQASIABEgAsTc0wNlIxAgAkSACBABIkAEiAARIAgQBIgAESACRIAIEAEiQASIABEgCBABIkAEiAARIAJEgAgQAYIAQYAIEAEiQASIABEgAkSAIEAQIAJEgAgQASJABIgAESACBAGCABEgAkSACBABIkAEiABBgCBABIgAESACRIAIEAEiQASIAEGACBABIkAEiAARIAJEgAgQBAgCRIAIEAEiQASIABEgAkSACBAEiAARIAJEgAgQASJABIgAQYAgQASIABEgAkSACBABIkAQIAgQASJABIgAESACRIAIEAEiQBAgAkSACBABIkAEiAARIAIEAYIAESACRIAIEAEiQASIABEgAgQBIkAEiAARIAJEgAgQASJAECAIEAEiQASIABEgAkSACBAECAJEgAgQASJABIgAESACRIAIEASIABEgAkSACBABIkAEiABBgCBABIgAESACRIAIEAEiQASIAEGACBABIkAEiAARIAJEgAgQBAgCRIAIEAEiQASIABEgAgQBggARIAJEgAgQASJABIgAESACBAEiQASIABEgAkSACBABIkAQIAgQASJABIgAESACRIAIEAEiQBAgAkSACBABIkAEiAARIAIEAYIAESACRIAIEAEiQASIAEGAIEAEiAARIAJEgAgQASJABIgAQYAIEAEiQASIABEgAkSACBAECAJEgAgQASJABIgAESACRIAIEASIABEgAkSACBABIkAEiABBgCBABIgAESACRIAIEAEiQBAgCBABIkAEiAARIAJEgAgQAWLuKUAQIAJEgAgQASJABIgAESAIEASIABEgAkSACBABIkAEiAARIAgQASJABIgAESACRIAIEAGCAEGACBABIkAEiAARIAJEgJjXChAEiAARIAJEgAgQASJABIgAQYAgQASIABEgAkSACBABIkAQIAgQASJABIgAESACRIAIEAEiQBAgAkSACBABIkAEiAARIAIEAYIAESACRIAIEAEiQASIABEgAgQBIkAEiAARIAJEgAgQASJAECAIEAEiQASIABEgAkSACBAECAJEgAgQASJABIgAESACRIAIEASIABEgAkSACBABIkAEiABBgCBABIgAESACRIAIEAEiQASIAEGACBABIkAEiAARIAJEgAgQBAgCRIAIEAEiQASIABEgAgQBggARIAJEgAgQASJABIgAESACBAEiQASIABEgAkSACBABIkAQIAgQASJABIgAESACRIAIEAEiQBAgAkSACBABIkAEiAARIAIEAYIAESACRIAIEAEiQASIAEGAIEAEiAARIAJEgAgQASJABIgAQYAIEAEiQASIABEgAkSACBAECAJEgAgQASJABIgAESACRIAIEASIABEgAkSACBABIkAEiABBgCBABIgAESACRIAIEAEiQBAgCBABIkAEiAARIAJEgAgQAWLuKUBsBAJEgAgQASJABIgAESACBAGCABEgAkSACBABIkAEiAARIAIEASJABIgAESACRIAIEAEiQBAgCBABIkAEiAARIAJEgAgQBAgCRIAIEAEiQASIABEgAkSAIEAQIAJEgAgQASJABIgAESAIEASIABEgAkSACBABIkAEiAARIAgQASJABIgAESACRIAIEAGCAEGACBABIkAEiAARIAJEgAgQAYIAESACRIAIEAEiQASIABEgCBAEiAARIAJEgAgQASJABAgCBAEiQASIABEgAkSACBABIkAECAJEgAgQASJABIgAESACRIAgQBAgAkSACBABIkAEiAARIAJEgCBABIgAESACRIAIEAEiQAQIAgQBIkAEiAARIAJEgAgQAYIAQYAIEAEiQASIABEgAkSACBABggARIAJEgAgQASJABIgAESAIEASIABEgAkSACBABIkAEiAARIAgQASJABIgAESACRIAIEAGCAEGACBABIkAEiAARIAJEgCBAECACRIAIEAEiQASIABEgAkSAIEAEiAARIAJEgAgQASJABAgCBAEiQASIABEgAkSACBABIkAECAJEgAgQASJABIgAESACRIAgQBAgAkSACBABIkAE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" + } + ] }, - "labelFormat": "PNG", - "labelData": [ - { - "packageIdentifier": "PKG002", - "trackingNumber": "1Z6A34Y60369738805", - "shipMethod": "UPS_GR_RES", - "shipMethodName": "UPS Ground Residential", - "content": "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AAFiCBAAABAgAgQAAASIIUAAABAghgABAAABYggQAAAEiNE4QAzDMAzDMAzDMASIYRiGYRiGYRgCxDAMwzAMwzAMQ4AYhmEYhmEYhiFADMMwDMMwDMMw/jdAAAAAio50JkAAAAABAgAACBAAAAABAgAACBAAAAABAgAACBAAAECAAAAACBAAAECAAAAACBAAAECAAAAAAoRXbAT/MX77myfXs3IfRu/nymVXrn/0PjxZ3qjlyngcV5Yx+7JRj2nGfcjYxla2n8rHonKbjFqf2a+B3V43Ml6rK99rop7jGa+Hu173std/9uv86H1buQ8IEASIABEgAkSACBABIkAEiAARIAgQASJABIgAESACRIAIEAGCAEGACBABIkAEiAARIAJEgAgQAYIAESACRIAIEAEiQASIABEgCBAEiAARIAJEgAgQASJABAgCBAEiQASIABEgAkSACBABIkAECAJEgAgQASJABIgAESACRIAgQBAgAkSACBABIkAEiAARIAJEgCBABIgAESACRIAIEAEiQAQIAgQBIkAEiAARIAJEgAgQAYIAQYAIEAEiQASIABEgAkSACBABggARIAJEgAgQASJABIgAESAIEASIABEgAkSACBABIkAEiAARIAgQASJABIgAESACRIAIEAGCAEGACBABIkAEiAARIAJEgCBAECACRIAIEAEiQASIABEgAsTcU4DYCASIABEgAkSACBABIkAECAIEASJABIgAESACRIAIEAEiQAQIAkSACBABIkAEiAARIAJEgCBAECACRIAIEAEiQASIABEgCBAEiAARIAJEgAgQASJABIgAQYAgQASIABEgAkSACBABIkAQIAgQASJABIgAESACRIAIEAEiQBAgAkSACBABIkAEiAARIAIEAYIAESACRIAIEAEiQASIABEgAgQBIkAEiAARIAJEgAgQASJAECAIEAEiQASIABEgAkSACBAECAJEgAgQASJABIgAESACRIAIEASIABEgAkSACBABIkAEiABBgCBABIgAESACRIAIEAEiQASIAEGACBABIkAEiAARIAJEgAgQBAgCRIAIEAEiQASIABEgAgQBggARIAJEgAgQASJABIgAESACBAEiQASIABEgAkSACBABIkAQIAgQASJABIgAESACRIAIEAEiQBAgAkSACBABIkAEiAARIAIEAYIAESACRIAIEAEiQASIAEGAIEAEiAARIAJEgAgQASJABIgAQYAIEAEiQASIABEgAkSACBAECAJEgAgQASJABIgAESACRIAIEASIABEgAkSACBABIkAEiABBgCBABIgAESACRIAIEAEiQBAgCBABIkAEiAARIAJEgAgQAWLu6YGyEQgQASJABIgAESACRIAIEAQIAkSACBABIkAEiAARIAJEgAgQBIgAESACRIAIEAEiQASIAEGAIEAEiAARIAJEgAgQASJAECAIEAEiQGLfmKJGxwCJmCQLEAEiQASIAEGAIEAEiAARIOEB8uftVU4wKh+fXQGyazs85b5FvdfsWp7M18PO21rE66MAQYAgQATINQHS6Y1WgAgQAbI2ORUgAkSAIEAQIAKkdYCcMgnM3oajJlQCRIB0CxEBIkAECAIEASJAWgTIaZPAjgHy7ZsTASJAOk9WBYgAESACBAEiQARIWYCcOAkUIAJk17cIp09a3xQgt0SIAEGAIEAEyFUBEvmGGHX9JwdI1k7E3SaZpwZI1YRtdRvInLjueoyinrMZl41+3YvefgQIAgQBIkCuCZCqiYQAESCd13/HAIlcXxHvNTcGyOprkwARIAIEASJABEjhRFSACBAB0mcbqDhPjQARIAJEgCBABIgAESACRIC8LECibluACBABggBBgAgQASJABIgAKYsQASJABAgCBAEiQASIABEgAkSACBABggBBgAgQASJA7g6QlXUhQPYFSMXzWoAIEAEiQBAgAkSACBABIkAEiAARIAIEAYIAESACRIAIEAEiQASIABEgAgQBIkAEiAARIMtHRRIgAkSACBABIkAQIAJEgAgQAfLaAMma/AsQASJABIgAQYAIEAEiQASIABEgAuRVAVL5+iBAECAIEAEiQBoHSOQ67BogqxEiQASIABEgAkSAIEAEiAA5LkAyJt4C5J4AyZz8CxABIkAEiABBgAgQASJABIgAESACRIAIEAQIAkSACJB3BUj0OrwtQEYmpwJEgAgQAYIAQYAIEAEiQATIEQGSPfkXIAKkKkC6vD4IEAQIAkSACJCGAZKxDgWIABEgAkSAIEAQIAJEgAgQAfJv/qGJBYgAESACBAGCABEgAiR8MiFA5n7WJUAEiAC5P0A6fUAhQBAgCBABcmSARLwxCRABIkAEiAARIAgQBIgAESAh+wIIEAEiQASIABEgCBAEiAARIKVBIkDGY02ACBABIkAECAIEASJArgyQ7EmnABEgAkSACBABggBBgAgQAVIWICuHaRUgewMka5kFyP4AmX2vESBrAdLtKHkCBAGCABEg2wKkKkI6BUj1pHdl2QWIABEgvQJk9wE9BAgCBAEiQK4IkC5vwgKkV4BEL7cAiQuQyAMgCBABIkDMPQWIjUCACJAtAdLhjbgiQHZMegWIAIkMkKplFyACRIAIEASIABEgZW9MAkSACJCeAVK57AJEgAgQAYIAESACpPSNSYAIkOhlFyBrz+XI7UuACBABggBBgAiQdgGy4805O0B2TXoFiACJeh2I2rYESMy2mPm+KUAQIAgQASJANkaIABEgNwXIbz9xy17nAsR5QAQIAgQBIkAEiAA5IkAyJp9vD5Dd25MAESACBAGCABEgAmTx9+rf1s/pE0YBIkCqtyUBIkAEiABBgAgQAdLqjSl7EiZA7g2Q6nh5S4Bkv9cIEAEiQAQIAkSACJDtAZI5GRMgvQIkYh0KkB7xIUD2Bci32xMgCBAEiAARIIOXzZpUrU5musdH5O/2Bci9AZL1Oi9ABIgAMfcUIDYCASJAjg2Q6ImZALkvQHbsP3LbmdAFiAARIAgQBIgAESCNA6Ryp+mI+9A5QCIm3gJEgAgQAYIAQYAIEAHSNkC+TXwEiAARIALktACJfK8XIAgQBIgAESAJkxYBck+A7DqErwARIAJEgCBAECACRIAIkKTnjgARIAJEgAgQBAgCRIC0DZDsT92jJmsCRIAIEAGSFQgCRICYewoQG4EAESACRIAIEAEiQASIAEGAIEAEyM0BkjXpjZiwvTFARg+DK0AEiAC5O0BGzwsjQBAgCBABIkAEiAARIAJEgAgQBAgCRIAIkLcGSFZQRE/UBYgAESACRIAgQBAgAkSAFAZI1mMhQASIABEgAkSAIEAQIAJEgAgQASJABIgAESAIEASIABEgZwXI6nV2CpDu26QAESACRIAIEAGCABEgAqRlgFROFAVI7TYpQASIABEgAkSAIEAEiABJe+M+PUCyg0KACBABIkAEiAARIAgQASJANgdI5b4Pu4MiI0Ay94WJ2iYFiAARILEBUrGPmABBgCBABMiVAVJ9/gsBIkAEiAARIAIEAYIAESACpEWARD5e1QGSeUJGASJABIgAESDmngLERiBABMi2AKlaD523GQGSf5SzrG3ylAD5baIpQASIAEGAIEAEyGsDJPLNLztAon/O1DVAor41eroubw2QlZ+0ZWzvpwRI5ra6M0Aynm+r67/qPEECBAGCABEgxwXIrslJ53NPnLa+d03kuq+jDtvfrQFySpCfuJwCBAGCABEgAkSACJBD19GbA+RNE3MBIkAQIAgQASJABIgAMYEVIAJEgCBAECACRIAIEAEiQASIABEgAkSAIEAEiAA5KECythkBclaAnDIpFCACRIAIEAGCABEgAiQpQLLfqCu3mextOGObzHocd2+TGQGS8RrY7XUj47W68r2m8ihY2e+J2Y9jh9cHAYIAQYAIkBYBkvlGLEAEiAARIAJEgCBAECACRIAIEAEiQASIABEgAsTc0wNlIxAgAkSACBABIkAEiAARIAgQBIgAESACRIAIEAEiQASIABEgCBABIkAEiAARIAJEgAgQAYIAQYAIEAEiQASIABEgAkSAIEAQIAJEgAgQASJABIgAESACBAGCABEgAkSACBABIkAEiABBgCBABIgAESACRIAIEAEiQASIAEGACBABIkAEiAARIAJEgAgQBAgCRIAIEAEiQASIABEgAkSACBAEiAARIAJEgAgQASJABIgAQYAgQASIABEgAkSACBABIkAQIAgQASJABIgAESACRIAIEAEiQBAgAkSACBABIkAEiAARIAIEAYIAESACRIAIEAEiQASIABEgAgQBIkAEiAARIAJEgAgQASJAECAIEAEiQASIABEgAkSACBAECAJEgAgQASJABIgAESACRIAIEASIABEgAkSACBABIkAEiABBgCBABIgAESACRIAIEAEiQASIAEGACBABIkAEiAARIAJEgAgQBAgCRIAIEAEiQASIABEgAgQBggARIAJEgAgQASJABIgAESACBAEiQASIABEgAkSACBABIkAQIAgQASJABIgAESACRIAIEAEiQBAgAkSACBABIkAEiAARIAIEAYIAESACRIAIEAEiQASIAEGAIEAEiAARIAJEgAgQASJABIgAQYAIEAEiQASIABEgAkSACBAECAJEgAgQASJABIgAESACRIAIEASIABEgAkSACBABIkAEiABBgCBABIgAESACRIAIEAEiQBAgCBABIkAEiAARIAJEgAgQAWLuKUAQIAJEgAgQASJABIgAESAIEASIABEgAkSACBABIkAEiAARIAgQASJABIgAESACRIAIEAGCAEGACBABIkAEiAARIAJEgJjXChAEiAARIAJEgAgQASJABIgAQYAgQASIABEgAkSACBABIkAQIAgQASJABIgAESACRIAIEAEiQBAgAkSACBABIkAEiAARIAIEAYIAESACRIAIEAEiQASIABEgAgQBIkAEiAARIAJEgAgQASJAECAIEAEiQASIABEgAkSACBAECAJEgAgQASJABIgAESACRIAIEASIABEgAkSACBABIkAEiABBgCBABIgAESACRIAIEAEiQASIAEGACBABIkAEiAARIAJEgAgQBAgCRIAIEAEiQASIABEgAgQBggARIAJEgAgQASJABIgAESACBAEiQASIABEgAkSACBABIkAQIAgQASJABIgAESACRIAIEAEiQBAgAkSACBABIkAEiAARIAIEAYIAESACRIAIEAEiQASIAEGAIEAEiAARIAJEgAgQASJABIgAQYAIEAEiQASIABEgAkSACBAECAJEgAgQASJABIgAESACRIAIEASIABEgAkSACBABIkAEiABBgCBABIgAESACRIAIEAEiQBAgCBABIkAEiAARIAJEgAgQAWLuKUBsBAJEgAgQASJABIgAESACBAGCABEgAkSACBABIkAEiAARIAIEASJABIgAESACRIAIEAEiQBAgCBABIkAEiAARIAJEgAgQBAgCRIAIEAEiQASIABEgAkSAIEAQIAJEgAgQASJABIgAESAIEASIABEgAkSACBABIkAEiAARIAgQASJABIgAESACRIAIEAGCAEGACBABIkAEiAARIAJEgAgQAYIAESACRIAIEAEiQASIABEgCBAEiAARIAJEgAgQASJABAgCBAEiQASIABEgAkSACBABIkAECAJEgAgQASJABIgAESACRIAgQBAgAkSACBABIkAEiAARIAJEgCBABIgAESACRIAIEAEiQAQIAgQBIkAEiAARIAJEgAgQAYIAQYAIEAEiQASIABEgAkSACBABggARIAJEgAgQASJABIgAESAIEASIABEgAkSACBABIkAEiAARIAgQASJABIgAESACRIAIEAGCAEGACBABIkAEiAARIAJEgCBAECACRIAIEAEiQASIABEgAkSAIEAEiAARIAJEgAgQASJABAgCBAEiQASIABEgAkSACBABIkAECAJEgAgQASJABIgAESACRIAgQBAgAkSACBABIkAE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" - } - ] - } - ] + { + "purchaseOrderNumber": "2JK3S9VD", + "sellingParty": { + "partyId": "999US" + }, + "shipFromParty": { + "partyId": "ABCD" + }, + "labelFormat": "PNG", + "labelData": [ + { + "packageIdentifier": "PKG002", + "trackingNumber": "1Z6A34Y60369738805", + "shipMethod": "UPS_GR_RES", + "shipMethodName": "UPS Ground Residential", + "content": "iVBORw0KGgoAAAANSUhEUgAAAyAAAAV4CAYAAABYfbnIAABfDUlEQVR42uzd25LjOJJAwf7/n+592UttTaZEABGBAOhuBrOZrtSFFCXhSCL5zz///POvYRiGYRiGYRhG0fjnXwAAgGwCBAAAECAAAIAAAQAAECAAAIAAAQAAyA2Q/zm81rd///Z3I387epu/jdn7EPU3I/f1yf3/6d9n7uun2/vt+maXN3O7WV2m0XU7s709eRxGH6snf/vktqO2ryfLFrG9P13PAMAlAfJ08rF6XU/+bubfRv/76v2Yvf2ZOBudAM/eh9XbydgeRv776OP5dF2PLMNP/z1imUYuH7l9ra7PmWVg7HV7JeBWozviNkZfY6M/ONi1XgAESECAzH7iPTORHp0gzk7YBEh+gDz9lLxzgERF8UxsjD420dc1s12tbn/eBNYn3tkT+E4BknUbAAJk4QpHJ26f/mZkArTyxrA6UXq6XBEBEnFfs8KgKkBWtpvZx2D2ulY+RY5ez9HXnREzI3EtQHI/LIr6mWrmZDvqejOWIeonxAAC5GGAjExcnkzkn34CmzkRG53YZ0wUoz5Nj1rGbgHyZLuZvf87AiR6W1n571nfvERufyZx8RP32X2BqiKkKkBGl2Hm2yMAAdIgQEYm2LMT2cwA+WnZBEh+gEROjiMez9nJxcwnrVlxMLp/RXWAiJDciXtEgETGwq4AyVpW2y0gQILiI2Ji9zRkZl7MI/bTGJmcrwTI06MgZQbI7H3I/qnXzLqeOarSyuMZvePqyuM0cp0r21B0gKysBwSIAAG4PEBmJ3afJnVRE6+VCfvOAFmd2N36DcjsdhPxbUFVgIxOAGfjPyL+MgNk9gMGE7vn21WnSf7bAgTo84FL1jy44uAYVXP4VgGy+mnop5/WVOwcmzk5/3OZBEh8gERuNyPbUWWAfJswZu0v0jFAMibY1E/yO9+36EPI2wZh/+tW5nMxMhSqA2TXkfraBUjU5DZiQjzzN9kBMvN3tx4FK2O76RIgmT9vmj1fxuiBISKOShWx/Zj85YVvh08gd+6EPvvGDuwJj8SJdPrrR8brc9TPa7cHyOoEeOZIO1GT7uzzNMxsJDsCpOowqJHne8g8rGzE47k7QCLPmbG6zJGH4X0aRCZ9+yf4lW/+GdeT9VMKoOY1q8sHIJH73kW8z2WEU2mAzNRZ1VF7Zg7lGzmBrQiQyEm4AOkdIJnLVBEgGet/dZmIn9xv+B1xeIBELYMTEMIdH6Q8eW5H3hcBsnjnR158n37qFHGbq0cXWn0gM54sK0dBWvnE4NPjOXM7o/dn5NPKkW1h9fFcmWhEbKOrz53ZAFk5v0TUY2Vi1zNATvoGJDocRAjcHSDRl+vyAU7rb0AA8Iad8WnhrgDJWAYRAne+nq1cfmeA7Io3AQJA9RtOq4nA6PVk/ywLeFeAVPyqRoAA8Mr46DoRmLmezJ99AQKkS4AccRQsAO55k37LRCAjQJwrBARIdIDs+OZUgADQIj6+Haa280Qg6nj3UQGS/QYPCJCO8SFAALwxT02YBYgAAQFy50+wCgPHix7Am9+URy/z2xtV9VFdqgNkdOIgPkCAnBQgxT/vyrnzTxZs5rwVMytw9XwUEcs+extRX79FnXdhdZ2Nnhsm6lwi3uhh/jVy5EzhlW9qlQEyc26ekfUPnBEgq9fZ9TC8lbcZFiCjL8y//du3/xbxM4Enn+bNFubIRjUTbrP1++nyO9ZZxFnvv50Je/WxBAHyT+gJTjPPKRL9AcrKcvhABATI6uWqXyeqv3HZ9g3IkwBZmXRHTqZnJvozk++Z259dFyshEbHOBAjcFSBPrrfLfV8NkKj7CNwTILOvDR0CZOUgJMcEyKfLPP3vq7+5i5isf7qvqwUZucxZ8bJ6/TNP1ortEAAQIBnXu+N8Q9Hx8ZoAqZ6QRgTI6uQ7+tP8iB2lKgIk4lsRAQIAVE3mZ/YN63KEvMxvgY8IkNmdd6om0yMbS8cAWYmQrHUmQACA3RPrbrdZHADvDZDoo0xFTaZnftP39PZWJucRR+haPeZ/5PWu7twqQACA3QESNV8TIIUBMnrdmffr6Q7WERPqmQCJmGBHT+Jn1plvQAAAXh2JewKk8tuPjInxk3/P/nlSVP12WmdRj7sAAQAQIP/xd5WTydUdqk8NkOj9UbLXmQABABAgZRP9p6FSuUP1k0l8VExkHNJ2Z4DMng8mYod+AQIAIECGJ4eRk8uMyfTIiWSqJuxR912AAADQNkAid8J+cp2rRxR48nffYmLl6E0jy5N1ZuId62x0eWaW3RmHAQBeECAzsQIAAAgQAAAAAQIAAAgQAAAAAQIAAAgQAABAgAAAABwQIKvno3hy7odvt/f0v2Xc96fLFnFfIpdp5vFcPRfK6H3I2uZWb3/2bwEABEjwiQhn/+7TZPe36xm97sizaf82EZ9ZppUziWedBXxk3T+JgNkAenrfItbD6skdAQC4JEBWJ+yzk/Wnk9CV2Bi5jQ4BEr0OZwMk8/ZnwwUAgIMC5Onfr4ZE5OR19d8jAmR0mVYez9n7OXq7s4/J6LdoAgQA4KUBMvpNQ8VkPWJSGREoT+5fRYDM3M+Z2FyJwtFoEiAAAALk42Vmv034Npk+PUCeLtPsfR+djM9M/p/Gy+w3IKP7aggQAIDLAmR0YhgZID9NlE8PkCfLNHPfZyfuK99+RAdI1DoXIABHT3auux4QIEXfgKz+BCsiQEYPq3tygMxc12p8RAZIdMx6IwFOmWyPftg38t729L169BD1ka+lUdfZ7XpAgCRN/n57sYs+mtXoEayiJ7EZ0TYbDd9uM3NCPvKGJEAA1l6XMj84W/k5beRrqW88QICETE5XXjhnJ+urk92nf/M0wHYGSHZkrj6WAgQgJiRW9slc+TntrdHgPQI2BMhKQMye72Nm0rozQKJ+Vvb0DeLkAJkNMgECCJD895fdASI+QICEBEjEi2bGGcUjJ7HRAZQVIBmT99kAiT7rvAAB3hYgo6+TT75hj37dzN4HUYDAwQHy9Df8MzujPT2s6rd9BqK+zYjcke/JOnzyt9Evet+uf/SxyXjRzngsRnaKrNiBEqBjgDz9m10BMvo+ccL1gACBRm+eAMRP8GePHll1/z797bcPyE67HhAgAMDrAuTJz6l3/FRq5Dqjoqf6ekCAAACvDJCZv+kUIKf+DQgQAOD6APk7KASIAAEBAgCkB8ifB3oZ/XcBIkBAgACAAHn8N6NHZRQgAgQECAAIkOlwiPqblYl35HlAos7vtON6QIAAAMcGyMyhZKMCITtAfrtM1Al/s68HBAgAcGx8RJww9enPiFbuW3SAjNzO6Il/s68HBAgAwEsmQ52uBwQIAIAAESAgQAAAxAcIEACAMyZAba4HBAgAAIAAAQAABAgAAIAAAQAABAgAACBAAAAABAgAACBAAAAABAgAACBAAAAAASJAAAAAAQIAAAgQAAAAAQIAAAgQAAAAAQIAAAgQAABAgAAAAAgQAABAgAAAAAgQAABAgAAAAAIEAABAgAAAAAIEAABAgAAAAAIEAAAQIAAAAAIEAAAQIAAAAAIEAAAQIAAAgAABAAAQIAAAgAABAAAQIAAAgAABAAAEiAABAAAECAAAIEAAAAAECAAAIEAAAAAECAAAIEAAAAABAgAAIEAAAAABAgAAIEAAAAABAgAACBAAAAABAgAACBAAAAABAgAACBAAAECAAAAACBAAAECAAAAACBAAAECAAAAAAgQAAOCwAPnvK/5xjP796mW+/d3o3367X6vrJ+r2s+47AAC0CZDZifOpATI7mc8MkKqIAgCArQEyMjleuY7Zy6x8e/Bkkj+7rlZue/Z+iRAAAI4OkNEIOD1AViMkI0BG74sIAQBAgBwUICuT+JUA+Wk9zsaQCAEA4OoAybieEwNk1zqIWicAANAqQGavU4DU/5RqZjlFCAAA7QIk4uhQAqQ2QDL2dwEAgPAA+RQhKz8JijwkrgARIAAAXBQgTwLipgDJmpB3DJC//w4AAFoEyJOQiJ5MdzgPSOa66xIgAADQNkC+hchpAVJ5JnEBAgCAACmKkJMCpGp9CRAAAARIQIScFCAbHpSyEwqKDwAAjguQnTt2C5CaExECAIAAESA/XiYjXIQKAAACRIBMX251nxgAAGgbIKcfBeuEABkJhYjzswAAwPYAmT16VOZlRu5Tp6NfVZ1RPjJsAACgJECeTHxXJswCJOYQu1HXBQAALQIEAABAgAAAAAIEAAAQIAAAAAIEAAAQIAAAAAIEAAAQIAAAgAABAAAQIFUr4tczhs+eRX3mNlfv70/X8/S2VtdBxPKNXi77fsw+Hl0eewAAAXJQiIxOdp/+zezfj0y0M25ndcIc9TjMXP/s/Z7dfjo99gAAAuSACFn998hP2qMm2SPXEzUxn50Uz3xjEnU/Zif0nR97AAAB8pIAiZgYR35y/+TfI4NiNUCiYm90Ha4sa9fHHgBAgFwcIFETzOgJ/5OfaXUIkOjYm5nEryxrx8ceAECAXB4gGdcXuYw/7awePcnNDpAnf7vyLULmZXc89gAAAuQlATIzOc6agP52FK+MoIgIkCff1kQGSHS8dHrsAQAEyOUBsjLRzJyErh4GtmuAzP60bOaxO/WxBwAQIC8JkNHJcfYkdOVITxUB8unyI5P91biKCJhujz0AgAC5OEBmJ7cCZCwqIr7BWFmGkx57AAABcnmAzEyQV88ePnpG7s4B8mR/j5G/nXncVo5q1e2xBwAQIC8KkIydp0f//oR9QHYEyLcRGTG7HnsAAAHykgD56d93TEJHj9a0e2I8csSumaN7VZ00UIAAAObaAqQ8QP7+m8hzQYxExG+X7XQiwp/uW/SJIEcj5fTHHgBAgFwWGDP7XlROQkd+vnRygIx+q1Ox7ex+7AEABEizAImYFM7uc/Dk76riKvr+RGxjs7cbGVQrJxbc/dgDAAiQxgGSOcmfmWBGTaYr94eInhRnhc/o/Ys843rlYw8AIEA2B8jM+SKyfjYT9al59KfzK38XPSF+a4BEPPYAAAKkSYCs7Ffw6UhS2T+dGbmtp38bvV6it6vofU9Wz5ny087k3R57AAABAgAACBAAAAABAgAACBAAAAABAgAACBAAAAABAgAACBAAAECAAAAACBAAAECAAAAACJBfVsT/G7PXsXL7lcv30/I++btP62rmMtnrq+L+zNzuzDrLut8V67NyOaOuf/frAgAIkIvD49PEY3SSszJBqlq+n+7D6KTpyWRz5rJZk7qn66J6u5pdj7sCZHZ9Vi7n08uM3m726wIACJCXxsfTycbMpD3isqOBM/N3qxO4iAng0wle1eMdfTurk++obSZrff79N5XLOfpBQOT9yX5uA4AAuThAZqKiy0+wVu93VYDMLPuTCW3F4x11Gx0CJHt9Pv2pU2WArGy7Va8LACBABMgRARIxkayYiK8GjwCJ/bYm+zETIADA6wMkevJwaoDsmoivBkjG41O93Lsnr9nrs2q9R63XXcsPAAKE/7eCKiaL0b/nz76ejAnl04lq5oQxKkA6xeTO9SlABAgACJDEyZ8AyQ2Q1Z+KVe+E3uGbqNHrfkOARP3cS4AAgAAJnZyceh6QiuvJmlDOBEjURDDym4vIw7BWB8iusBAgACBAXh8fmeceOClAZk8MlxUgERPBqnM0RJ5QL+v+ZU6sR5a5apI+G7kCBAAESGmMvDlARievWQES8e3Fykknd4XI7hNUZl+HAAEAAcKmSZQAGTtre/S3MhWTxI4BErE+u3/TM3IbAgQABEibCBEg+ZfPPi9D5KffVWGbcZ+q1qcAESAAIEBeECBR19XpPCCj+3d0D5Ddk9eq9dkpQDLWtwABAAEiQAIn/6vLXR0gUYFRFW7dA6Q62LoEyMh24kzoACBApiYkXSYaGZO5qoDIPJ/EzPVUHz74pACpXp8dAiTjYBICBAAESMok/cSjYM0G1q4AeTLJjVqPXQJk5+S1en2eGCDRyy1AAECAPJr8nnoekN+Wb/RwqasBEXWOiB0Tx4jHMXryGjnR7xwgO3a4nwlrAQIAAiRskj5zhKKZw5FGHAY1ejmf3qdP1zP69yP3d2b5Zh/j2cch6vGM3iZ2r8+q5Yye/Fe/LgCAAAG44MMFAECAAAAAAgQAAECAAAAAAgQAAECAAAAAAgQAABAgAgQAABAgAACAAAEAABAgAACAAAEAABAgAACAAOmzYr6OU5cF3vgc7v7acsL1f7qt7Nfd7vf/9vsFIEA2h8e3N4eZ68l48426rozl+fv+dLyN3euo+3MgOgKi1knHDwx2Pdcz1kP09VY/L7p+oNTl9fr26wcESPv4mJ1QdQ+QDpNrAXJ3gEReJipAdqzT2deVyNiqmthmrJ/KSOsapwJEgIAAeXF8/Pa30df/2+W6BEjWOqy4jajHpfNj3uUT2cjL7trud76uRK+rrKCLfJwy7nvm/a+KfQEiQECAvDw+ZieJOyajkS/UAkSAVP8MKvObqF3rL3qbyf770clg5vMjO546xKkAESAgQF4cIBmTIwHy/TorbkOA1ARI9ATkxACJnDDvuP5v22OHAFn5sKhTgETfr+xlOv36AQHScoI1elkBIkAEiACJWoZuAZL52pn9DVHVdXV5TxIggAARIFvf7KK/rhYg90xwKpYjMkB2bve7HvvbAyRyuxIgAgQQIAKkYYB8m5ydNOGOvg0BMj+pn43LiHDstN3vmpwLEAEiQAABclGAnDBxFiACpOtz5Onhj0cuL0DiDt3bJUBmJpoCRIAAAuTqAIleJ7MTsMgX7x1nYBYgNY95p0nR0wiIDpBd2323AMk41G+XCbwAESCAAHlFhOyYnGcFyKdlFSACpGOAnLDd7wqQmQg55bkjQASIAAEB8voAqX6zFiAC5JTnyMgEd2aSLEDmA+RbBJ7wfD/1ud8xQLLOM3Li9QMC5LgIyTgjefYLd9VkTIDsecy7BsjMuq4+THTFJ7iZh+Kd3c5O+cBBgNSfiPAN1w8IkNdEiAARIKe/gQqQmm2r4uzRpwXIqa9XJwaIM6EDAqR5iGS9qWSeO+Db8gkQP8GaXZ6Ic1dEfFtQvd1XhETGhO2UCfwt3+CcsF6zt4+Trh8QIFdEyO6dcKMmRwJEgDzZxyAiYk7Z7mdfRyICaWSfj1N/wiRA/tn6vH779QMCpG2MdAyQHV9dCxABEjlhPmW733X/onZUf9PzPeK6d+wvuPu5LUIAAXJohGRPRiMmOW+ckAiQuGXaESAdtvuI5+jqNrP6M62Oz/eu1y9ABAggQNqESLc30x0v2gJk/0RiV4CMLOeT6zhpu9+xfVfv4H7jc0eACEpAgGx/s78pQHa9aAuQdwZI1HMhe/+P7o9N1RnNu0+UTz1KmQARIIAAaTd5iTyKVuQb9mlvnF0CJHuSuLJ9nhggERPBXdt95np9W4DMfpN204RVgAgQECACRIAIEAEyGBC7ruO2AMl6HnR8vq++pgqQ9efF7M//Trt+QIC0e6G/IUCiJpMCRIDMxMOu69i53e/Ypm8KkB2P/60Bkn2UxtOvHxAgVwVI9ZtKxDJkTMYESM1jLkB6bfenTzZ3Phd3BvpbAiQyaE+/fkCAHBsgOz6hESACpPtzR4DUb8u7J2oZ97/yEMpv+QlW9M/5Tv97QIAc90K/69CXuwKk+ic11bcR9Wlb9WN+wyRpdR112e53T3yrdlzPfvy6BEjXo6FlfTNWeU6rLtcPCJC2L/QRb3rRb7DRb8hR17dzotDlcal4zN8SIKuPXeW2tDs+nk5YI5at4izunV7vdsborte57Pvd6foBAXJkgOz4hE+ACBABcmaA7IybzJ9XCpC+ARL5nLn5+gEBAvCKDzpuvU0AECAAjQIEABAgAACAAAEAAAQIAACAAAEAAAQIAACAAAEAAAQIAAAgQAAAAAQIAAAgQAAAAAQIAAAgQAAAAAECAAAgQAAAAAECAAAgQAAAAAECAAAIEAAAAAECAAAIEAAAAAECAAAIEAAAQIAIEAAAQIAAAAACBAAAQIAAAAACBAAAQIAAAAACBAAAECAAAAACBAAAECAAAAACBAAAECAAAIAAAQAAECAAAIAAAQAAECAAAIAAAQAABAgAAIAAAQAABAgAAIAAAQAABAgAACBAAAAABAgAACBAAAAABAgAACBAAAAAAQIAACBAAAAAAQIAACBAAAAAAQIAACBAAAAAAQIAAAgQAAAAAQIAAAgQAAAAAQIAAAgQAABAgAAAAAgQAABAgAAAAAgQAABAgAAAAAIEAABAgAAAAAIEAABAgAAAAAIEAAAQIAAAAAIEAAAQIAAAAAIEAAAQIAAAgAABAAAQIAAAgAABAAAQIAAAgAABAAAEiAABAAAECAAAIEAAAAAECAAAIEAAAAAECAAAIEAAAAABAgAAIEAAAAABAgAAIEAAAAABAgAACBAAAAABAgAACBAAAAABAgAACBAAAECAAAAACBAAAECAAAAACBAAAECAAAAAAgQAAECAAAAAAgQAAECAAAAAAgQAABAgAgQAABAgAACAAAEAABAgAACAAAEAABAgAACAAAEAAAQIAACAAAEAAAQIAACAAAEAAAQIAAAgQAAAAAQIAAAgQAAAAAQIAAAgQAAAAAECAAAgQAAAAAECAAAgQAAAAAECAAAIEAAAAAECAAAIEAAAAAECAAAIEAAAQIAAAAAIEAAAQIAAAAAIEAAAQIAAAAAIEAAAQIAAAAACBAAAQIAAAAACBAAAQIAAAAACBAAAECAAAAACBAAAECAAAAACBAAAECAAAIAAAQAAECAAAIAAAQAAECAAAIAAAQAABAgAAIAAAQAABAgAAIAAAQAAegaIYRiGYRiGYRhG0bASDMMwDMMwDMMQIIZhGIZhGIZhCBDDMAzDMAzDMAwBYhiGYRiGYRjGCQECHH0kif8dAABHHAULECAAAAIEECAAgAABBAgAgAABAQIAIEAAAQIAIEBAgAAACBBAgAAAAgQQIAAAAgQEiAABAATIx0nR7IQp43LV97PTMtx+P29YPgECAAiQxYnR7KQp43LV97PTMtx+P29YPgECAAiQiUnRn5OjT/82e50Z96X69qqX4fb7ecPyCRAAQIAIEAEiQAQIt70JLG+Hb1w3HdfRifc5+j3ftvfu9eIxFCACRIAIEAES/mI9Mjq9we1anlvezE/ZDt1n26THsc96OfF9TIAkPBARkyb7gNhHwj4gAkSA+ISu+/bnPucth23vHevnpHXS5f1LgPzwoHz7t5EVnnG56vv59Dpn72fGv2Xcz5H1svPIUxn3c+RyAkSACJBztrvs9ZZ5n0+IJ9ve/evolHVyw3Px2gDJnEDdcLmsT8UrH6NO3xLdsOwCZN+Ld5frrngz8ia4FmAnRuMt8WTbu3s9Za6X3fdThDQKkE77g1RfLnO/gKrHqNN+Mjcs+5sDZHWCcsqk/NRP7t4YH5XX0+0+V99vn+733vZOWjdd3iu8/goQASJABMgLPyXsGiBPb69b6ImPvRPBHfc5+ttZAXLmtnfiutm5XXd+zxEgAsQk3LILkAs+qd35Glg9MRQfeyeCu34WKEBse8Js/wcBAqRow3vT5ewHYdntA9LjxXnHRGjXm43f3u/5aZ3r/mfqQ523BEjHx1CY9bjOi9/f7zkKVsRRjaLu58x6iLq9kdufXdez6zNivUQtX/WyZz62bz9E5U0B0ins/Pb+zonUjut+w2T6tm1PgPS5rwKk8SfHN3wSX/ETj66X6/QYnbQtCRABUhEfb/j9/akTqROeX2+YSN+47QmzXgFy4c9hzz8T+g37IlQ++bpdrtNjdNq2JED2/lZdgPgE+sQJT9fJqyM7vWvdCZC+HwYIEAEiQATIqwOk4oV5x4S80/4fb3jzEyACxLb3z3Hrpds3fAJEgAgQASJABMiVAbJjPY6ugxu3oa6TTQFyf4C8dd2dGGYC5IAA+TYxsg9I3WTSPiA91pl9QO4MkOjf/O4KkJvfAE88WaAAuWP7O3nbEyC1QSlAkjawv//3t3/77TpG/zb6fj69jtnbzrq9iHVdcbnZ66y+vYj7KUByAmHHpPyEAHlyewKk3+11+ZmKAHnftnfyh0rZtyVADgiQ1U+GT/kG4s3nJPFve7fdNwRI5ovzjgDZ8eby9PZufBMUIALEtidAuq8XAVL8xnfDPhhvPiu7f9u/7QqQewJk1+uwADk/QDI/eb35sbLtCZCTAuTC93QBIkD8mwB5X4Ds+llS59e2G3dGf0uAdDqxmkmYALFe7oskASJABIgAESCJk7vsN6/ur20CpNftZUZIt8dYgAgQAXJ/fJQFyLdJkn1A7ANiHxABsuNToh0B0nn/DwFyR4CMHpyk0+MrQO5ffzteXzq/pr3x24+SAKk+klDEEbKijmYVsV5GLvd02TPW341H1sq4TkfB6vNCPXL5itvtEh+jE16TwJrbyzhEtACx7QmQ/t/4XX50y14/DTn50+jT1ssNy95p4u48IOcHSPYb++k/Lb01QLqfjyH6XDV+imLbEyD2d7oyQE7ZT6HLE2/Herlh2avvS8ZjJEByJmECRIDcNglcjZAnZ70/4bESIALk1AC58SAfAkSACBAB8qYXrSMDpPrNJnP/ABGyZxIYESF2TrbtCZD9h/19a3gIEAEiQATIawMkc7+I6u0u8/YESN9J4G3hIUAEyJsD5I3sA9Lgybdzvdyw7J0m7vYBuTdAIt7cBUj/7abirOJdPmn1DYhtT4D4BuTKAPnzgRj9u+yjYGUfSWtkeauPgtXlxadqW5rdziKuM+pxFyCxbyZvCJDqw7+aCNZPoG/8KdatE7Tbtj0BUvO8FCDFG2P25KrTNwmdvhG4cWK689+qHj8BMvbiXbFfxOhluwbISZ+qZkwMOk4CM/cB6fB4CpC+254A2fccFSDFb5KdfqffaT8EvyGse2wztonsT70ESF6ArLzJd4iP7MO/3jgRjD5vStYn3BkTIAFi2xMgc7eVsS0IEAEiQASIABEgRwbISROGbpPAnZ9mRv/UsPOkR4Ds3fYqbs95QM4OSAEiQASIAHltgMy+oVTtF9E1QG792c5JE8EdE/KTHtfbJ2Hdtz0B0n+7ECCJKz57cmUfkPdMSnf+W9XjJ0D6BcjIT2Ju+5TVRDBu/ey4vt2P6xsmYAJEgIiQJgHy54r/6f9XHAVr9mhI2Ufkml2G2fuy47GOvp8VR8GKOJqVo2CdGSAzk6Q3fPvxhkOkrpxhvPKnVxnLLEDese0JkPPe1wSIT7GPvL3qjdq3T7XrVIAIEAFS981A528/VpdZgLxj26t6PegYIKe+rwmQ5JW/49+q72en9XLKY5txXzIuJ0D2v1hXH+7yp2/Mdv38qnqidPM2VTXB6XguEQFy/7YnQESIABEgAkSACJCmATLyhtZh/w9vjH0nj7snSwLEttc1QKo/PBEgAkSACBABIkCuD5Cq9eGN8awJYNdPhwWIbU+ACJCrA+TbhMo+IPYBsQ+IAIl6s6yYKN3y7cfo+rYdnhMgnSb+tq29296Nk2wBIkCmHoCVf4s6StSnv4u4vd1H3co4ulSndTa7TE8v5yhY50bIybe9I0De9Oa4cwIoQGxbN8dH9WNdcX4er7EXBUjHSVmnbzWq18sN3zx12s6cB0SAnBgfo8tsAnjOJFyA2PYEyNp1CRAB0uoM6tXXmbFebtj3ptN25kzoPQLk9NveFSBveoPcNXkSIALkDeuoy09lo07S6PVVgAgQASJAvCG/PkBOnzicvs2dtn4FiG3vxpiqPESx11YBIkAEiADxhtzyMKan//xqZplNAM+YiDsRoW1PgOwPAwFy4ZM0+zrtA2IfEPuAnBMgt8TPrgB52xvljglgt2/yBIj4OO0x33GCRq+pjQIk4whBEUdtyrjOqKNLRRxh6dNtRB15KuPfZrePjHWWsY1HHI1MgJwdIBXL3mmdmwD2n4wLENueABEgVwXI7d8KVC97xn055ZwrN0zAs9aLN+fxELjltrv/Vv+ynSXLl7HT+WwEyLu2vdOXs+LQu9WxdOkHOn2OynLKfhHVy55xX04563zXCVjF4yBAzngBf2OAvOVNc/fy7Z70mHCLjxOX96RIePnPWQWIABEgAkSACJAzlvttk7+Mddztcdv9U0bb3j3LfsthfV9yMA8BIkAEiAARIJ1ve+Wkh7tPunjaG+qp3ww8uW8nHazhxm1LfOStg66HXxfbxQGyMjGyD4h9QHY/ftXPB/uAnP/mLUDOf1Ptft9PnsALkLO3vRu2dc/FFwXInw/S3/975XJPr3P2iFUZR54a+buI5VtZF5X/Vr2ud19/1OMpQObeFE6OHwGyf6Jz8+SsQ6C/bdJmIlq3zXgevjBAVidJN3xCX718p764uJ93r8e3B0iHNzsBctfk76THQ4AIjx3bzknPxZc+rnvemFcud8o+CtXLd/oLivspQKDLhOHmSRq2Petu73PRYylABIiJvQABExnPIWx7IEAEiABxPwUI1D23wbYHFwXIyiTJPiD2AXE/BQhkPW/AtgcXBkjEEY8qjnT19N8y7lvUUbBO/iakal3PvhHsPuKYAAEABMhhE6NTzoXx5pPR3X5OEucBAQBoeCb0iolt17OBdzqD+psfo07LIEAAAAEiQASIABEgAAACRIAIEAEiQACA1wZIt4mRfUDOi5Cu67p6GQQIACBAJiZHf//vT3838m+z9+XUf5tdvqp4WL1cxpHDZq9z9vFyFCwAgI0B8mSSdPv5Ll6yEZV9a1P9DVL37dNzBAAQIF8mSG864/fb4iN7v5XqfWhO2D49PwAAASJAWkZB9Y7XAkSAAAAIEMERGiQCRIAAALQLkG+TJPuA9AiPTvtyZGxLt26fniMAgAD5YXL09//+9Hff/i3jKFEVR+E6ITpWv0VY3Sayj1g1sgyzR92KWk8CBAAQIA0mRm/8hHt3fJx+nozK+7kjFAQIACBA/v33mB2eT/yNf3QoVIXIKY/DaWerFyAAgAARIOXxccLtCRABAgAgQBoHSFV0VN2+ABEgAAD2Afm35z4gO8Mj877YB8Q+IACAACk7ClbUdcwemSniKFgVk7xO8ZEZIaPrOmNberq9ZByJLeoxFSAAgABJnPjunJRVTPQ6xseO+3b7Ebgyf5oIACBAgie8WZervs7M29i1M3m39fDkOqv3P8k+uhgAgAARICXXX3mej8qdqgWIAAEABIgAaTTh3nXCwax1IkAECAAgQNpEyM5JWcdvP3ae9fy0Q8vaBwQA4OUBknHkqcyjDEVe5+okPis8Op7f4sn2Er3Njfzb7m1JgFz94vw4jldeK55cduW+VX7QEfU3UdcZ9Zqbvc6zlzHj8Y16jmQ873Y9r1fuw+j96XrAHATI9KTpLUe+yo6P3ddTtb2cOqG0bhAgAkSACBABggBp8Mb69h3PV184opd15X7tDrXTJpMCBAEiQASIABEgCBAB0ipAKs7DMXsbAkSAIEAEiAARIAIEBMhhR77qMhHv9i2IABEgAkSACBABIkAECAIkddL01iNfdZqEd/8W5IYJpXWDABEgAkSACBAEyKY32NF/e3qdXY9clP0CvStCVqLlyb89fRwqjmY1u407ChYCRIAIEAEiQPAe1/w8IJ0mZZk7fEf+feQLROZ9zTgvR/X5PGa3F+cBQYAIEAEiQAQIAuRlb9w7r7Pi249dh9h9+rcZZyavPqP57HpzJnQEiAARIAJEgOA9ToAcFSBR8ZGxc7kAESAIEAEiQASIAAEB0ihAsn9+lXHG84y/FyACBAEiQASIABEgCJCr37y7XOfuF+ZdbxCj69M+IALEi7MAESACRIAIEARI2hts5L99+rvIyd7sdWb+/Orpi0H2tyAzf/vT/8/YPqK2idltMPO+ePEXIAJEgAgQASJAECAJnw6ffo6Q7In87m81ZsJp10T6lvPNePEXIAJEgAgQASJAECALT8Dbz5LeadLf/b50O9Fit21JgAgQASJABIgAESAIEAEiQASIAEGACBABIkAECAgQASJABAgCRIAIEAEiQAQIrw2Qb5Mm+4C8L0B2TKTtA4IAESACRIAIEAHC5QEycsSjiKNgzV5u9shFHY4mddpO6KvrM3MbfHq5jPsiQBAgAkSACBABggBJ/IS308ab/c2Mw/Du2yY6nT/EeUAQIAJEgAgQAYIA2fRG2mkDrtg3xYkI92wTnc6g7kzoCBABIkAEiADBe5wAaRkgUX+/OhHI+HsBIkAQIAJEgAgQAYIAESBFk9RdR5TqdOQuASJAECACRIAIEAGCACl9M+06garYTyDzxXn0TS/zzX/0b7O3CfuAIEAEiAARIAJEgPCCAJk9ylDE7c3exux1PD2qUfZPoCJfIKp+rjW6vVRvgxlHaXMULASIABEgAkSAIECS30Cr37BPuS+ZLzTZE6DM2Om6DXY7T40XfwEiQASIABEgAgQB8m+vM1t3PMt21iF2dz5+O7+p6XCdu86u7sVfgAgQASJABIgAQYAIkPAAqVyOip3VBYgAQYAIEAEiQAQIAkSAFC975CF2s+975rcfAkSAIEAEiAARIAIEAZLyBlr9ht31vqxM2iPe0DOuN+K+2AfEPiAIEAEiQASIAEGAhL2J/v2/M67/221E3JeZJ/lvl+t6iN3oT/Cjji61cxscOVpXxbYlQASIABEgAkSACBAESLNPok+5XHY8rI6o+DjlW6nVx6/DRBUBIkAEiAARIAKE1wdIp9/3d7xc9gtJRnjMxMcJ++WMXK7Li68XfwEiQASIABEgAgQBIkDKAiQjQqIeAwEiQBAgAkSACBABAgKk6eUi1lFVeESElQARIAgQASJABIgAQYAcN0m6YR+QrCdzRnTM3E/7gAgQBIgAESACRIBAaYBUHwUr477MHvFo5nIV5/qInhB9Wo5vy159BKnZ2xtZBgGCABEgAkSACBDYFCCdNsrqT79XPjXvGCEz8RG9Xiof25Mm/F78BYgAESACRIAIEARIsw2z+vf/EfsNdIqQlfiIXi8Vj+0p27UAESACRIAIEAEiQBAgAiR0op111vOI8Bi9zwJEgCBABIgAESACBARI8wAZefOqio6VF0UBIkAQIAJEgAgQAQL2AVm4XNW+DpmH0824fvuACBAEiAARIAJEgMCWAPlzA91xHRlHPBq5b7NHgooKhV0nKFxZ9uyjYI3cz4zLCRAEiAARIAJEgOA9rug8INWTq06fbu/8NmRHfGQt+03bmQBBgAgQASJABAgC5NA34A6Xm73O1dvrGh0Vy37ydiZAECACRIAIEAGC9zgBcmSAZIVIxeMnQAQIAkSACBABIkAQIALk0ABZDZIdj58AESAIEAEiQASIAEGAHPEm3PVys9d5+xPXPiACBAEiQASIABEg0CZAso9KtfuoRtFHwYpanxWXe7p8UUccy9jOMraXzOXz4i9ABIgAESACRIAgQBImTZ3OI1F9P6vXZ6fH4ZTHdsc24cVfgAgQASJABIgAQYAEv6E8udyb9/votK/Mmx/bXduEF38BIkAEiAARIAIEASJABIgAESAIEAEiQASIAAEBIkAEiABBgAgQASJABIgA4XUBsjJpsg9I3frs9DjYB0SACBABIkAEiAARIAiQ6SfeT/+/+khJUfdl5DZ++7eM29t9ueyjRM1uL7PremQbjFg+AYIAESACRIAIEARI4qfGnb4tOOW+ZExIu32yX/n4nXyuFi/+AkSACBABIkAECAJk4InSaX+JU+5L5Jt15uVOefxOOWO7ABEgAkSACBABIkAQIAJEgAgQAYIAESACRIAIEO9BCBABIkAECAJEgAgQASJABAivDZBvkyT7gNgHZPfjZx8QBIgAESACRIAIEC4JkOwjF3W+L9VHwXq6DFGXO/HIYSOP7dN/W3lcIh9rL/4CRIAIEAEiQAQIrw+Q28/dMHu56ifr7d9sVN+e84AgQASIABEgAkSA0DBAbj979ezlqp+wt+/bUX17zoSOABEgAkSACBABggARIAJEgHjxFyACRIAIEAEiQBAgAkSACBABggARIAJEgAgQKAqQlYmRfUD6Pw72AbEPCAJEgAgQASJAvAfRLkD+3ECrLvf0OmePzDR7hKWK5ctehtmjg2UcBStqe8w+ClbFNuHFX4AIEAEiQASIAEGAHPbGHnG5U56Abz6HRqdvPDpszwgQASJABIgAESAIkCZv6qOXO+VJ+OaziHfa50OAIEAEiAARIAIE73ECRIAIEAGCABEgAkSACBABggARIAJEgAgQASJABIgAESACBAFy2Rt7xOXsA2IfkF1h4MVfgAgQASJABIgAQYAUvTGv/FvG0bmijnhUNWEdXS+7j4LVddlHtjNHwUKACBABIkAECN7jDguQUz6Jv+F+Vk96bz8/ivOAIEAEiAARIAIEDguQU/ZFuOF+Zlyu+jqrl33X4+7FX4AIEAEiQASIAEGAmNgLEAEiQBAgAkSACBABAgJEgAgQAYIAESACRIAIEAGCAFl48kb8m/tpHxD7gCBABIgAESACRIDwsgCpPgJR5tGIVu/L6Kfxket+9ohVUUf8yl722dub3c5W1oUA8eIsQASIABEgAgQBsuGT6E6fUp9yexmPww3LfsO3NgJEgAgQASJABIgAQYAkvsl2+p3+KbeXOdk5edlv2G9FgAgQASJABIgAESAIEAEiQASIAEGACBABIkAEiPcgBIgAESACBAEiQASIABEgAgQBMjGBsg9I3aTTPiBnTv69+AsQASJABIgAESAIkIU32yf/lnEUrIijGs0uw+6jYM1eZ6d1nbHOZq8z6ghdAsSLswARIAJEgAgQBEjDN+Wu/5axDB6HunV20rczXvwFiAARIAJEgAgQBMiGN+RO/5axDB6HunV22v4pXvwFiAARIAJEgAgQBIiJrwARIAIEASJABIgAESAgQASIx0GAIEAEiAARIAJEgCBAFp68Xf8tYxk8DvYBESACRIAIEAEiQAQIAmTiiZd5PdVHWIo4UtLIv+18HKLWS/XRs3avp4j1KUAEiAARIAJEgAgQBEjzSdIp54q4/ZP9U9bL7snlSc8tBIgAESACRIAIENoHSPVGesrZsm/ft+GU9dJxYilAECACRIAIEAGCABEgAkSACBAEiAARIAJEgAgQBIiJtvUiQLz4CxABIkAEiAARIAiQzZMk+zpYLydNLk96biFABIgAESACRIDQOkAyjlw0e4Sl2fuZvewRR9laWX+zR23Kvi9RRwfLWL8ZRwATIAgQASJABIgAQYAkTow6nUOj06f7uyc5Xe/LKdvLjsfdi78AESACRIAIEAGCAPn3nLOId9q/oeMEp8N9OWV72fW4e/EXIAJEgAgQASJAECACRIAIEAGCABEgAkSACBAQIAJEgAgQBIgAESACRIAIEK4MkG8TI/uA2Afkxu3FPiAIEAEiQASIAIGNAfLnBjr6b5/+rvo6Z64/637O3peny777iFERR5Davb1kHMlLgAgQASJABIgAESAIkE1vwjuvs9O5TE759P6U66zeXpwHBAEiQASIABEgCJBD34CrrrPT2dxP2X/hlOus3l6cCR0BIkAEiAARIHiPEyACRIAIEAAAASJABIgAESAAgADZGCE7r9M+IPYBsQ8IAMDBARJxxKOo68y4LxHrJeooShHXWX3UrYjHOetx2LnsAgQAECDBk6ZOn+6/+VuP6uVr+MQ44oSBAgQAECCDE6au+ze8eb+P6uXrHB879yURIACAABEgAkSACBAAAAEiQASIABEgAIAAmZg02QfEPiDdIqTzsgsQAECADE6cRv8t4zorjqp04nqpXr6OEXLKdQoQAECAAGWhJEAAAAECCBAAAAECAgQAQIAAAgQAECCAAAEAECCAAAEABAhQ+yT+6X8DALQOEMMwDMMwDMMwjKJhJRiGYRiGYRiGIUAMwzAMwzAMwxAghmEYhmEYhmEYAsQwDMMwDMMwDAFiGIZhGIZhGIYhQAzDMAzDMAzDECCGYRiGYRiGYQgQwzAMwzAMwzAMAWIYhmEYhmEYhgAxDMMwDMMwDMMQIIZhGIZhGIZhCBDDMAzDMAzDMASIYRiGYRiGYRiGADEMwzAMwzAM48wAAQCA3UzMBQgAAAgQQ4AAACBADAECAAACxBAgAAAIEEOAAACAABEgAAAgQAwBAgCAADEECAAACBBDgAAAIEAMAQIAAAJEgFD+BLrhyf/2xxEAECBGYoDM3kj09UZvoB2eNLc82Xfexs71UbneOzyfsoM2+oUOAAFiCJBWARIxUTlxglS5/ro9Xh0eRwFSFyBiBECAGAKkbYBET7Ce/m3HJ/jM5Xa8oGSvj8jLCJD9ASJGAASIcfA+IFlv7LPXFTmRXp1Ejl6m05M7a7lnt5vsiWTWZP/k51Plz84y140IARAgxksCJHrjy7w/K5OTyEl4hyf2zY9V9jac+U3BjudT5b4vFetHhAAIEEOAtJqg7AiQvy9/Ynx0m0zu3H4j1q0A2Rd5IgRAgBgCpP2kNnoydGJ8dHusovZn2rWOTwyQiPCrfr0RIQACxBAgR05qTwqQzAnXrsnk7oDpEMFdAmT1W4gdrzciBECAGALkuEmtABEg0dfdOUAi15sAAUCACBABcnGAVJ+AsXuA7Dwh5c0BsvLY7Xq9ESEAAsQQIFcESLfJy2lnX785QLIPapAdIFERIkAAECACRIAEB0inCYwAESDRkSBAABAghgDZNKntHiEn3rfT42PlPt4QIDOPw87XGxECIEAMAXJVgOyeyAiQfgGSfWjnigBZXZcCBAABIkAESNKkdveE5sYA6Xr0q7cFyMr6FCAACBABIkCKAqR6UnNTgHQ9+aAAWV9OAQKAABEgrwuQrDNY757cnLp/Stb6EyDxO4oLEAAEiCFAgnb8nVmObhGSdeK4iOWrjg8BknekqtFlFSAACBAB8soA2THJrZ7o3BogGYEoQHIC5MkO7AIEAAEiQK4LkB1BIEBiDjkbue4ESN65OgQIAALEECBNvonoetu7r9dO6HcFyMgyCxAABIgAeX2AdHhCnRQgEY+9ABEgAgQAASJArg2QU55UJ0VIdYCcFCHZP0vrGiBPl73L81t8AAgQQ4BcHyA7Jj03BUjm7QqQ/AD5n+sRIAAIEAEiQIru345QEiACpDJAniy/AAFAgAiQ9pNbAdIvQroFSJcIWbnuTs+nynPi7HjeiA8AAWIIkNRPXgVI3VnFKy4vQOpjXoAAIECMFgGSMZkWIPVP6LcFSNVkv+PPjKq28ZE3kep1Iz4ABIhxaYBETQzeEiC7n9Q3BMju7aVbGEU+PplvJKeuXwAEiLEpQJ5sLFWT8hMCZPfkp8vk/bbJaNV1VT2fbguQDucCAkCAGIUB8vSEZKcGSOVPhyqe3G8KiNV1Ubl/TeXzqepkfzvPHSM+AASIcXCAZGwwmbdXsazdP3mdWV8r6zbjsaq8rupP1Ls/nyKXZ+cbEAACxDg4QCI3muzbOmk5T3uiVwbI6HWf9rh2fj6dHiAACBDjkgCpmGx2CJAOt9/pCd9hm6i+rk6HUd7xfIpcjqo3IAAEiHFxgDzZoN7y5LnpRcCLYZ/14bEBQIAYAgQAAASIIUAAABAghgABAAABIkAAAECAGAIEAAABYggQAAAQIIYAAQBAgBgCBAAABIgAAQAAAWIIEAAABIghQAAAQIAYAgQAAAFiCBAAABAghgABAECAGAIEAAABYggQAAAQIIYAAQBAgBgCBAAABIghQGj6ojPy362v/3siY91aZkCAGNcFyOoNjV5PxMZb8ST49ndPru/pdYyup5V1m/0YdQ+Qp8u48lzYtX2vXL5iO/h2X0fW6+hjkLFMK+us6nk3er2z63X1eZK5PjJeL3c8xiISAWJcGyAjL3grl1mdJGW8gD8NjIjrj/qkcuTvZ5c9K0Cq3kxnJxDRf1dxPSsTzspPzZ+85syE4o74iLov0es7Y1vIeJ5kro+V1/OM94KVZfItFgLEuDZAov4tepIdMUme+WZh9E024m8yJsmry541Eap6I515LKPXbWV8zARs5TYx+ml41DJUbNOrk/Wd29NKOK0GW9b6WNnGsi9b9d4HAsQQIAEvwllvrqtvlE/fiGd+zpAdPRWTtdn1lfkC2GVyHvkNSsbj3TlAusXHrtfGiMuvLNPKhxBZ62PX45SxTAIEAWIIkM0vwKuXzf6kLvJTxh0TsKoA2flG2ilAMn6+1TlARu7n05/JVG7L3QMkc7L+6bVRgNR8KCRAECDGa46ClfVtw+rEuPpT/aiv1EeDYTUwdr9h7f75Vfb20O2gCtnRUH0fI37OtGvbyY6BLgGSvf2cFCDZ8S9AECCGANkQIFVvmNFvVBEBUvVb450vLB0nkZnxEb19Zq23rOXssE9W1wDpOFnfGSBZz9OVHeCzA2T1+kGAGAJkcQK38kKcOVGs2tHzlAB5OnmYPYTlbQHy5FDNldtm1ja0Gu8zP/uJWrfVARJ137IOUVz9k87M5+rK+1TEB1JZP28GAWIIkKDJ284dOlcmQdEBknV4zOwXmpsCJOPbj9XDkEZPVqoOBzt7mN2Z8+RELWNGgEQH7cwydwqQrO1v5VDcGd/YChAEiCFAEt9Aoj51nL1v2b9frzzU5YkBsvsT1BMCJOJvMp+7Wcu4ckK3qnWbHSCR6zt7n5qsAMvc/k4MkO7faoMAMY77BiTy24+n19fhTSwiQH77t8gThGVMPp9Olne8AO6Mj6hPnStO+pn1c6WsE25GrdvqCXjVz8NWviGpPPhHVpSt/Czt6bdMq/et8gMZECDGq36CFb2xVgVIZlDNTCgz1vWOF5XuAbLzp2AjZ7CPXr+ZP1XqMPnvFCCr21nm9lSx7NXrI2P/kJV1tOvACiBAjNfthF4xiak6ClbmkU9m37R2/typ8++XbwmQqglL9M8wZ0PpDQFScbmK7X/3YaBX9r+puOyn1/LOH96AADFeEyARb4wVR/LJOBHhk7/J+JlLZoB0egHcGR9RAVJx33ee0E+A9AqQHdtL9f3dddmdz0UQIMarzgMSESDRk/Df/j7qt/aRARIdX1nnpDg5QDI+na8MkIjHVYCsfUhweoDs/PbjtADJ3j4ECALEECDJb9CRk8SK8ypETVRndxyPmDxkBkinN9wuAbIS6xHLkL1sOwMk8oOQqNe3ivWdscxZ8dEh7gUICBBDgKS+SY6+2UWetXlXeO2aaEYFyO7zgFTE28phmVdvp/IgDh0DJGuiH3127YrtacffZ6+P7HPo7DhBrABBgBivC5CMN6FvL9JZbzYz35ZETPSzfjIV9Y1J9r4yqy9UlRPfjPNORE6CKg6NnT3ZqTypXdW2vvIaUHXAjN2v+5XrY+X1LuOcKVWHWgYBYhwbICuHvI26zOz+EFHnvpi5X7NHMFldjojHNurFJWLCnDEJGXk8q49I8/T6Mp4fu46wU3WemuztPfvkdpnbU1R8rDxXs9dH5YkII7YPAYIAMXwDApsDhPvfiOg5Oai4HJ4zCBBDgADgAwQAAWIIEAAABIghQAAAQIAYAgQAAAFiCBAAAASIIUAAAECAGAIEAAABYggQAAAQIIYAAQBAgBgCBAAAAWJyLkAAAECAGAIEAAABYggQAAAQIIYAAQBAgBgCBAAABIgAAQAAAWIIEAAABIghQAAAQIAYAgQAAAFiCBAAABAgAgQAAASIIUAAABAghgABAAABYggQAAAEiNE4QAzDMAzDMAzDMASIYRiGYRiGYRgCxDAMwzAMwzAMQ4AYhmEYhmEYhiFADMMwDMMwDMMw/jdAAAAAio50JkAAAAABAgAACBAAAAABAgAACBAAAAABAgAACBAAAECAAAAACBAAAECAAAAACBAAAECAAAAAAoRXbAT/MX77myfXs3IfRu/nymVXrn/0PjxZ3qjlyngcV5Yx+7JRj2nGfcjYxla2n8rHonKbjFqf2a+B3V43Ml6rK99rop7jGa+Hu173std/9uv86H1buQ8IEASIABEgAkSACBABIkAEiAARIAgQASJABIgAESACRIAIEAGCAEGACBABIkAEiAARIAJEgAgQAYIAESACRIAIEAEiQASIABEgCBAEiAARIAJEgAgQASJABAgCBAEiQASIABEgAkSACBABIkAECAJEgAgQASJABIgAESACRIAgQBAgAkSACBABIkAEiAARIAJEgCBABIgAESACRIAIEAEiQAQIAgQBIkAEiAARIAJEgAgQAYIAQYAIEAEiQASIABEgAkSACBABggARIAJEgAgQASJABIgAESAIEASIABEgAkSACBABIkAEiAARIAgQASJABIgAESACRIAIEAGCAEGACBABIkAEiAARIAJEgCBAECACRIAIEAEiQASIABEgAsTcU4DYCASIABEgAkSACBABIkAECAIEASJABIgAESACRIAIEAEiQAQIAkSACBABIkAEiAARIAJEgCBAECACRIAIEAEiQASIABEgCBAEiAARIAJEgAgQASJABIgAQYAgQASIABEgAkSACBABIkAQIAgQASJABIgAESACRIAIEAEiQBAgAkSACBABIkAEiAARIAIEAYIAESACRIAIEAEiQASIABEgAgQBIkAEiAARIAJEgAgQASJAECAIEAEiQASIABEgAkSACBAECAJEgAgQASJABIgAESACRIAIEASIABEgAkSACBABIkAEiABBgCBABIgAESACRIAIEAEiQASIAEGACBABIkAEiAARIAJEgAgQBAgCRIAIEAEiQASIABEgAgQBggARIAJEgAgQASJABIgAESACBAEiQASIABEgAkSACBABIkAQIAgQASJABIgAESACRIAIEAEiQBAgAkSACBABIkAEiAARIAIEAYIAESACRIAIEAEiQASIAEGAIEAEiAARIAJEgAgQASJABIgAQYAIEAEiQASIABEgAkSACBAECAJEgAgQASJABIgAESACRIAIEASIABEgAkSACBABIkAEiABBgCBABIgAESACRIAIEAEiQBAgCBABIkAEiAARIAJEgAgQAWLu6YGyEQgQASJABIgAESACRIAIEAQIAkSACBABIkAEiAARIAJEgAgQBIgAESACRIAIEAEiQASIAEGAIEAEiAARIAJEgAgQASJAECAIEAEiQGLfmKJGxwCJmCQLEAEiQASIAEGAIEAEiAARIOEB8uftVU4wKh+fXQGyazs85b5FvdfsWp7M18PO21rE66MAQYAgQATINQHS6Y1WgAgQAbI2ORUgAkSAIEAQIAKkdYCcMgnM3oajJlQCRIB0CxEBIkAECAIEASJAWgTIaZPAjgHy7ZsTASJAOk9WBYgAESACBAEiQARIWYCcOAkUIAJk17cIp09a3xQgt0SIAEGAIEAEyFUBEvmGGHX9JwdI1k7E3SaZpwZI1YRtdRvInLjueoyinrMZl41+3YvefgQIAgQBIkCuCZCqiYQAESCd13/HAIlcXxHvNTcGyOprkwARIAIEASJABEjhRFSACBAB0mcbqDhPjQARIAJEgCBABIgAESACRIC8LECibluACBABggBBgAgQASJABIgAKYsQASJABAgCBAEiQASIABEgAkSACBABggBBgAgQASJA7g6QlXUhQPYFSMXzWoAIEAEiQBAgAkSACBABIkAEiAARIAIEAYIAESACRIAIEAEiQASIABEgAgQBIkAEiAARIMtHRRIgAkSACBABIkAQIAJEgAgQAfLaAMma/AsQASJABIgAQYAIEAEiQASIABEgAuRVAVL5+iBAECAIEAEiQBoHSOQ67BogqxEiQASIABEgAkSAIEAEiAA5LkAyJt4C5J4AyZz8CxABIkAEiABBgAgQASJABIgAESACRIAIEAQIAkSACJB3BUj0OrwtQEYmpwJEgAgQAYIAQYAIEAEiQATIEQGSPfkXIAKkKkC6vD4IEAQIAkSACJCGAZKxDgWIABEgAkSAIEAQIAJEgAgQAfJv/qGJBYgAESACBAGCABEgAiR8MiFA5n7WJUAEiAC5P0A6fUAhQBAgCBABcmSARLwxCRABIkAEiAARIAgQBIgAESAh+wIIEAEiQASIABEgCBAEiAARIKVBIkDGY02ACBABIkAECAIEASJArgyQ7EmnABEgAkSACBABggBBgAgQAVIWICuHaRUgewMka5kFyP4AmX2vESBrAdLtKHkCBAGCABEg2wKkKkI6BUj1pHdl2QWIABEgvQJk9wE9BAgCBAEiQK4IkC5vwgKkV4BEL7cAiQuQyAMgCBABIkDMPQWIjUCACJAtAdLhjbgiQHZMegWIAIkMkKplFyACRIAIEASIABEgZW9MAkSACJCeAVK57AJEgAgQAYIAESACpPSNSYAIkOhlFyBrz+XI7UuACBABggBBgAiQdgGy4805O0B2TXoFiACJeh2I2rYESMy2mPm+KUAQIAgQASJANkaIABEgNwXIbz9xy17nAsR5QAQIAgQBIkAEiAA5IkAyJp9vD5Dd25MAESACBAGCABEgAmTx9+rf1s/pE0YBIkCqtyUBIkAEiABBgAgQAdLqjSl7EiZA7g2Q6nh5S4Bkv9cIEAEiQAQIAkSACJDtAZI5GRMgvQIkYh0KkB7xIUD2Bci32xMgCBAEiAARIIOXzZpUrU5musdH5O/2Bci9AZL1Oi9ABIgAMfcUIDYCASJAjg2Q6ImZALkvQHbsP3LbmdAFiAARIAgQBIgAESCNA6Ryp+mI+9A5QCIm3gJEgAgQAYIAQYAIEAHSNkC+TXwEiAARIALktACJfK8XIAgQBIgAESAJkxYBck+A7DqErwARIAJEgCBAECACRIAIkKTnjgARIAJEgAgQBAgCRIC0DZDsT92jJmsCRIAIEAGSFQgCRICYewoQG4EAESACRIAIEAEiQASIAEGAIEAEyM0BkjXpjZiwvTFARg+DK0AEiAC5O0BGzwsjQBAgCBABIkAEiAARIAJEgAgQBAgCRIAIkLcGSFZQRE/UBYgAESACRIAgQBAgAkSAFAZI1mMhQASIABEgAkSAIEAQIAJEgAgQASJABIgAESAIEASIABEgZwXI6nV2CpDu26QAESACRIAIEAGCABEgAqRlgFROFAVI7TYpQASIABEgAkSAIEAEiABJe+M+PUCyg0KACBABIkAEiAARIAgQASJANgdI5b4Pu4MiI0Ay94WJ2iYFiAARILEBUrGPmABBgCBABMiVAVJ9/gsBIkAEiAARIAIEAYIAESACpEWARD5e1QGSeUJGASJABIgAESDmngLERiBABMi2AKlaD523GQGSf5SzrG3ylAD5baIpQASIAEGAIEAEyGsDJPLNLztAon/O1DVAor41eroubw2QlZ+0ZWzvpwRI5ra6M0Aynm+r67/qPEECBAGCABEgxwXIrslJ53NPnLa+d03kuq+jDtvfrQFySpCfuJwCBAGCABEgAkSACJBD19GbA+RNE3MBIkAQIAgQASJABIgAMYEVIAJEgCBAECACRIAIEAEiQASIABEgAkSAIEAEiAA5KECythkBclaAnDIpFCACRIAIEAGCABEgAiQpQLLfqCu3mextOGObzHocd2+TGQGS8RrY7XUj47W68r2m8ihY2e+J2Y9jh9cHAYIAQYAIkBYBkvlGLEAEiAARIAJEgCBAECACRIAIEAEiQASIABEgAsTc0wNlIxAgAkSACBABIkAEiAARIAgQBIgAESACRIAIEAEiQASIABEgCBABIkAEiAARIAJEgAgQAYIAQYAIEAEiQASIABEgAkSAIEAQIAJEgAgQASJABIgAESACBAGCABEgAkSACBABIkAEiABBgCBABIgAESACRIAIEAEiQASIAEGACBABIkAEiAARIAJEgAgQBAgCRIAIEAEiQASIABEgAkSACBAEiAARIAJEgAgQASJABIgAQYAgQASIABEgAkSACBABIkAQIAgQASJABIgAESACRIAIEAEiQBAgAkSACBABIkAEiAARIAIEAYIAESACRIAIEAEiQASIABEgAgQBIkAEiAARIAJEgAgQASJAECAIEAEiQASIABEgAkSACBAECAJEgAgQASJABIgAESACRIAIEASIABEgAkSACBABIkAEiABBgCBABIgAESACRIAIEAEiQASIAEGACBABIkAEiAARIAJEgAgQBAgCRIAIEAEiQASIABEgAgQBggARIAJEgAgQASJABIgAESACBAEiQASIABEgAkSACBABIkAQIAgQASJABIgAESACRIAIEAEiQBAgAkSACBABIkAEiAARIAIEAYIAESACRIAIEAEiQASIAEGAIEAEiAARIAJEgAgQASJABIgAQYAIEAEiQASIABEgAkSACBAECAJEgAgQASJABIgAESACRIAIEASIABEgAkSACBABIkAEiABBgCBABIgAESACRIAIEAEiQBAgCBABIkAEiAARIAJEgAgQAWLuKUAQIAJEgAgQASJABIgAESAIEASIABEgAkSACBABIkAEiAARIAgQASJABIgAESACRIAIEAGCAEGACBABIkAEiAARIAJEgJjXChAEiAARIAJEgAgQASJABIgAQYAgQASIABEgAkSACBABIkAQIAgQASJABIgAESACRIAIEAEiQBAgAkSACBABIkAEiAARIAIEAYIAESACRIAIEAEiQASIABEgAgQBIkAEiAARIAJEgAgQASJAECAIEAEiQASIABEgAkSACBAECAJEgAgQASJABIgAESACRIAIEASIABEgAkSACBABIkAEiABBgCBABIgAESACRIAIEAEiQASIAEGACBABIkAEiAARIAJEgAgQBAgCRIAIEAEiQASIABEgAgQBggARIAJEgAgQASJABIgAESACBAEiQASIABEgAkSACBABIkAQIAgQASJABIgAESACRIAIEAEiQBAgAkSACBABIkAEiAARIAIEAYIAESACRIAIEAEiQASIAEGAIEAEiAARIAJEgAgQASJABIgAQYAIEAEiQASIABEgAkSACBAECAJEgAgQASJABIgAESACRIAIEASIABEgAkSACBABIkAEiABBgCBABIgAESACRIAIEAEiQBAgCBABIkAEiAARIAJEgAgQAWLuKUBsBAJEgAgQASJABIgAESACBAGCABEgAkSACBABIkAEiAARIAIEASJABIgAESACRIAIEAEiQBAgCBABIkAEiAARIAJEgAgQBAgCRIAIEAEiQASIABEgAkSAIEAQIAJEgAgQASJABIgAESAIEASIABEgAkSACBABIkAEiAARIAgQASJABIgAESACRIAIEAGCAEGACBABIkAEiAARIAJEgAgQAYIAESACRIAIEAEiQASIABEgCBAEiAARIAJEgAgQASJABAgCBAEiQASIABEgAkSACBABIkAECAJEgAgQASJABIgAESACRIAgQBAgAkSACBABIkAEiAARIAJEgCBABIgAESACRIAIEAEiQAQIAgQBIkAEiAARIAJEgAgQAYIAQYAIEAEiQASIABEgAkSACBABggARIAJEgAgQASJABIgAESAIEASIABEgAkSACBABIkAEiAARIAgQASJABIgAESACRIAIEAGCAEGACBABIkAEiAARIAJEgCBAECACRIAIEAEiQASIABEgAkSAIEAEiAARIAJEgAgQASJABAgCBAEiQASIABEgAkSACBABIkAECAJEgAgQASJABIgAESACRIAgQBAgAkSACBABIkAE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" + } + ] + } + ] + } } - } - }, - { - "request": { - "parameters": {} }, - "response": { - "payload": { - "shippingLabels": [ - { - "purchaseOrderNumber": "mockpurchaseOrderNumber1", - "sellingParty": { - "partyId": "999US" - }, - "shipFromParty": { - "partyId": "ABCD" - }, - "labelFormat": "PNG", - "labelData": [ - { - "packageIdentifier": "PKG001", - "trackingNumber": "1Z6A34Y60369738804", - "shipMethod": "UPS_GR_RES", - "shipMethodName": "UPS Ground Residential", - "content": "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AAFiCBAAABAgAgQAAASIIUAAABAghgABAAABYggQAAAEiNE4QAzDMAzDMAzDMASIYRiGYRiGYRgCxDAMwzAMwzAMQ4AYhmEYhmEYhiFADMMwDMMwDMMw/jdAAAAAio50JkAAAAABAgAACBAAAAABAgAACBAAAAABAgAACBAAAECAAAAACBAAAECAAAAACBAAAECAAAAAAoRXbAT/MX77myfXs3IfRu/nymVXrn/0PjxZ3qjlyngcV5Yx+7JRj2nGfcjYxla2n8rHonKbjFqf2a+B3V43Ml6rK99rop7jGa+Hu173std/9uv86H1buQ8IEASIABEgAkSACBABIkAEiAARIAgQASJABIgAESACRIAIEAGCAEGACBABIkAEiAARIAJEgAgQAYIAESACRIAIEAEiQASIABEgCBAEiAARIAJEgAgQASJABAgCBAEiQASIABEgAkSACBABIkAECAJEgAgQASJABIgAESACRIAgQBAgAkSACBABIkAEiAARIAJEgCBABIgAESACRIAIEAEiQAQIAgQBIkAEiAARIAJEgAgQAYIAQYAIEAEiQASIABEgAkSACBABggARIAJEgAgQASJABIgAESAIEASIABEgAkSACBABIkAEiAARIAgQASJABIgAESACRIAIEAGCAEGACBABIkAEiAARIAJEgCBAECACRIAIEAEiQASIABEgAsTcU4DYCASIABEgAkSACBABIkAECAIEASJABIgAESACRIAIEAEiQAQIAkSACBABIkAEiAARIAJEgCBAECACRIAIEAEiQASIABEgCBAEiAARIAJEgAgQASJABIgAQYAgQASIABEgAkSACBABIkAQIAgQASJABIgAESACRIAIEAEiQBAgAkSACBABIkAEiAARIAIEAYIAESACRIAIEAEiQASIABEgAgQBIkAEiAARIAJEgAgQASJAECAIEAEiQASIABEgAkSACBAECAJEgAgQASJABIgAESACRIAIEASIABEgAkSACBABIkAEiABBgCBABIgAESACRIAIEAEiQASIAEGACBABIkAEiAARIAJEgAgQBAgCRIAIEAEiQASIABEgAgQBggARIAJEgAgQASJABIgAESACBAEiQASIABEgAkSACBABIkAQIAgQASJABIgAESACRIAIEAEiQBAgAkSACBABIkAEiAARIAIEAYIAESACRIAIEAEiQASIAEGAIEAEiAARIAJEgAgQASJABIgAQYAIEAEiQASIABEgAkSACBAECAJEgAgQASJABIgAESACRIAIEASIABEgAkSACBABIkAEiABBgCBABIgAESACRIAIEAEiQBAgCBABIkAEiAARIAJEgAgQAWLu6YGyEQgQASJABIgAESACRIAIEAQIAkSACBABIkAEiAARIAJEgAgQBIgAESACRIAIEAEiQASIAEGAIEAEiAARIAJEgAgQASJAECAIEAEiQGLfmKJGxwCJmCQLEAEiQASIAEGAIEAEiAARIOEB8uftVU4wKh+fXQGyazs85b5FvdfsWp7M18PO21rE66MAQYAgQATINQHS6Y1WgAgQAbI2ORUgAkSAIEAQIAKkdYCcMgnM3oajJlQCRIB0CxEBIkAECAIEASJAWgTIaZPAjgHy7ZsTASJAOk9WBYgAESACBAEiQARIWYCcOAkUIAJk17cIp09a3xQgt0SIAEGAIEAEyFUBEvmGGHX9JwdI1k7E3SaZpwZI1YRtdRvInLjueoyinrMZl41+3YvefgQIAgQBIkCuCZCqiYQAESCd13/HAIlcXxHvNTcGyOprkwARIAIEASJABEjhRFSACBAB0mcbqDhPjQARIAJEgCBABIgAESACRIC8LECibluACBABggBBgAgQASJABIgAKYsQASJABAgCBAEiQASIABEgAkSACBABggBBgAgQASJA7g6QlXUhQPYFSMXzWoAIEAEiQBAgAkSACBABIkAEiAARIAIEAYIAESACRIAIEAEiQASIABEgAgQBIkAEiAARIMtHRRIgAkSACBABIkAQIAJEgAgQAfLaAMma/AsQASJABIgAQYAIEAEiQASIABEgAuRVAVL5+iBAECAIEAEiQBoHSOQ67BogqxEiQASIABEgAkSAIEAEiAA5LkAyJt4C5J4AyZz8CxABIkAEiABBgAgQASJABIgAESACRIAIEAQIAkSACJB3BUj0OrwtQEYmpwJEgAgQAYIAQYAIEAEiQATIEQGSPfkXIAKkKkC6vD4IEAQIAkSACJCGAZKxDgWIABEgAkSAIEAQIAJEgAgQAfJv/qGJBYgAESACBAGCABEgAiR8MiFA5n7WJUAEiAC5P0A6fUAhQBAgCBABcmSARLwxCRABIkAEiAARIAgQBIgAESAh+wIIEAEiQASIABEgCBAEiAARIKVBIkDGY02ACBABIkAECAIEASJArgyQ7EmnABEgAkSACBABggBBgAgQAVIWICuHaRUgewMka5kFyP4AmX2vESBrAdLtKHkCBAGCABEg2wKkKkI6BUj1pHdl2QWIABEgvQJk9wE9BAgCBAEiQK4IkC5vwgKkV4BEL7cAiQuQyAMgCBABIkDMPQWIjUCACJAtAdLhjbgiQHZMegWIAIkMkKplFyACRIAIEASIABEgZW9MAkSACJCeAVK57AJEgAgQAYIAESACpPSNSYAIkOhlFyBrz+XI7UuACBABggBBgAiQdgGy4805O0B2TXoFiACJeh2I2rYESMy2mPm+KUAQIAgQASJANkaIABEgNwXIbz9xy17nAsR5QAQIAgQBIkAEiAA5IkAyJp9vD5Dd25MAESACBAGCABEgAmTx9+rf1s/pE0YBIkCqtyUBIkAEiABBgAgQAdLqjSl7EiZA7g2Q6nh5S4Bkv9cIEAEiQAQIAkSACJDtAZI5GRMgvQIkYh0KkB7xIUD2Bci32xMgCBAEiAARIIOXzZpUrU5musdH5O/2Bci9AZL1Oi9ABIgAMfcUIDYCASJAjg2Q6ImZALkvQHbsP3LbmdAFiAARIAgQBIgAESCNA6Ryp+mI+9A5QCIm3gJEgAgQAYIAQYAIEAHSNkC+TXwEiAARIALktACJfK8XIAgQBIgAESAJkxYBck+A7DqErwARIAJEgCBAECACRIAIkKTnjgARIAJEgAgQBAgCRIC0DZDsT92jJmsCRIAIEAGSFQgCRICYewoQG4EAESACRIAIEAEiQASIAEGAIEAEyM0BkjXpjZiwvTFARg+DK0AEiAC5O0BGzwsjQBAgCBABIkAEiAARIAJEgAgQBAgCRIAIkLcGSFZQRE/UBYgAESACRIAgQBAgAkSAFAZI1mMhQASIABEgAkSAIEAQIAJEgAgQASJABIgAESAIEASIABEgZwXI6nV2CpDu26QAESACRIAIEAGCABEgAqRlgFROFAVI7TYpQASIABEgAkSAIEAEiABJe+M+PUCyg0KACBABIkAEiAARIAgQASJANgdI5b4Pu4MiI0Ay94WJ2iYFiAARILEBUrGPmABBgCBABMiVAVJ9/gsBIkAEiAARIAIEAYIAESACpEWARD5e1QGSeUJGASJABIgAESDmngLERiBABMi2AKlaD523GQGSf5SzrG3ylAD5baIpQASIAEGAIEAEyGsDJPLNLztAon/O1DVAor41eroubw2QlZ+0ZWzvpwRI5ra6M0Aynm+r67/qPEECBAGCABEgxwXIrslJ53NPnLa+d03kuq+jDtvfrQFySpCfuJwCBAGCABEgAkSACJBD19GbA+RNE3MBIkAQIAgQASJABIgAMYEVIAJEgCBAECACRIAIEAEiQASIABEgAkSAIEAEiAA5KECythkBclaAnDIpFCACRIAIEAGCABEgAiQpQLLfqCu3mextOGObzHocd2+TGQGS8RrY7XUj47W68r2m8ihY2e+J2Y9jh9cHAYIAQYAIkBYBkvlGLEAEiAARIAJEgCBAECACRIAIEAEiQASIABEgAsTc0wNlIxAgAkSACBABIkAEiAARIAgQBIgAESACRIAIEAEiQASIABEgCBABIkAEiAARIAJEgAgQAYIAQYAIEAEiQASIABEgAkSAIEAQIAJEgAgQASJABIgAESACBAGCABEgAkSACBABIkAEiABBgCBABIgAESACRIAIEAEiQASIAEGACBABIkAEiAARIAJEgAgQBAgCRIAIEAEiQASIABEgAkSACBAEiAARIAJEgAgQASJABIgAQYAgQASIABEgAkSACBABIkAQIAgQASJABIgAESACRIAIEAEiQBAgAkSACBABIkAEiAARIAIEAYIAESACRIAIEAEiQASIABEgAgQBIkAEiAARIAJEgAgQASJAECAIEAEiQASIABEgAkSACBAECAJEgAgQASJABIgAESACRIAIEASIABEgAkSACBABIkAEiABBgCBABIgAESACRIAIEAEiQASIAEGACBABIkAEiAARIAJEgAgQBAgCRIAIEAEiQASIABEgAgQBggARIAJEgAgQASJABIgAESACBAEiQASIABEgAkSACBABIkAQIAgQASJABIgAESACRIAIEAEiQBAgAkSACBABIkAEiAARIAIEAYIAESACRIAIEAEiQASIAEGAIEAEiAARIAJEgAgQASJABIgAQYAIEAEiQASIABEgAkSACBAECAJEgAgQASJABIgAESACRIAIEASIABEgAkSACBABIkAEiABBgCBABIgAESACRIAIEAEiQBAgCBABIkAEiAARIAJEgAgQAWLuKUAQIAJEgAgQASJABIgAESAIEASIABEgAkSACBABIkAEiAARIAgQASJABIgAESACRIAIEAGCAEGACBABIkAEiAARIAJEgJjXChAEiAARIAJEgAgQASJABIgAQYAgQASIABEgAkSACBABIkAQIAgQASJABIgAESACRIAIEAEiQBAgAkSACBABIkAEiAARIAIEAYIAESACRIAIEAEiQASIABEgAgQBIkAEiAARIAJEgAgQASJAECAIEAEiQASIABEgAkSACBAECAJEgAgQASJABIgAESACRIAIEASIABEgAkSACBABIkAEiABBgCBABIgAESACRIAIEAEiQASIAEGACBABIkAEiAARIAJEgAgQBAgCRIAIEAEiQASIABEgAgQBggARIAJEgAgQASJABIgAESACBAEiQASIABEgAkSACBABIkAQIAgQASJABIgAESACRIAIEAEiQBAgAkSACBABIkAEiAARIAIEAYIAESACRIAIEAEiQASIAEGAIEAEiAARIAJEgAgQASJABIgAQYAIEAEiQASIABEgAkSACBAECAJEgAgQASJABIgAESACRIAIEASIABEgAkSACBABIkAEiABBgCBABIgAESACRIAIEAEiQBAgCBABIkAEiAARIAJEgAgQAWLuKUBsBAJEgAgQASJABIgAESACBAGCABEgAkSACBABIkAEiAARIAIEASJABIgAESACRIAIEAEiQBAgCBABIkAEiAARIAJEgAgQBAgCRIAIEAEiQASIABEgAkSAIEAQIAJEgAgQASJABIgAESAIEASIABEgAkSACBABIkAEiAARIAgQASJABIgAESACRIAIEAGCAEGACBABIkAEiAARIAJEgAgQAYIAESACRIAIEAEiQASIABEgCBAEiAARIAJEgAgQASJABAgCBAEiQASIABEgAkSACBABIkAECAJEgAgQASJABIgAESACRIAgQBAgAkSACBABIkAEiAARIAJEgCBABIgAESACRIAIEAEiQAQIAgQBIkAEiAARIAJEgAgQAYIAQYAIEAEiQASIABEgAkSACBABggARIAJEgAgQASJABIgAESAIEASIABEgAkSACBABIkAEiAARIAgQASJABIgAESACRIAIEAGCAEGACBABIkAEiAARIAJEgCBAECACRIAIEAEiQASIABEgAkSAIEAEiAARIAJEgAgQASJABAgCBAEiQASIABEgAkSACBABIkAECAJEgAgQASJABIgAESACRIAgQBAgAkSACBABIkAE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" - } - ] - }, - { - "purchaseOrderNumber": "mockpurchaseOrderNumber2", - "sellingParty": { - "partyId": "999US" - }, - "shipFromParty": { - "partyId": "ABCD" + { + "request": { + "parameters": {} + }, + "response": { + "payload": { + "shippingLabels": [ + { + "purchaseOrderNumber": "mockpurchaseOrderNumber1", + "sellingParty": { + "partyId": "999US" + }, + "shipFromParty": { + "partyId": "ABCD" + }, + "labelFormat": "PNG", + "labelData": [ + { + "packageIdentifier": "PKG001", + "trackingNumber": "1Z6A34Y60369738804", + "shipMethod": "UPS_GR_RES", + "shipMethodName": "UPS Ground Residential", + "content": "iVBORw0KGgoAAAANSUhEUgAAAyAAAAV4CAYAAABYfbnIAABfDUlEQVR42uzd25LjOJJAwf7/n+592UttTaZEABGBAOhuBrOZrtSFFCXhSCL5zz///POvYRiGYRiGYRhG0fjnXwAAgGwCBAAAECAAAIAAAQAAECAAAIAAAQAAyA2Q/zm81rd///Z3I387epu/jdn7EPU3I/f1yf3/6d9n7uun2/vt+maXN3O7WV2m0XU7s709eRxGH6snf/vktqO2ryfLFrG9P13PAMAlAfJ08rF6XU/+bubfRv/76v2Yvf2ZOBudAM/eh9XbydgeRv776OP5dF2PLMNP/z1imUYuH7l9ra7PmWVg7HV7JeBWozviNkZfY6M/ONi1XgAESECAzH7iPTORHp0gzk7YBEh+gDz9lLxzgERF8UxsjD420dc1s12tbn/eBNYn3tkT+E4BknUbAAJk4QpHJ26f/mZkArTyxrA6UXq6XBEBEnFfs8KgKkBWtpvZx2D2ulY+RY5ez9HXnREzI3EtQHI/LIr6mWrmZDvqejOWIeonxAAC5GGAjExcnkzkn34CmzkRG53YZ0wUoz5Nj1rGbgHyZLuZvf87AiR6W1n571nfvERufyZx8RP32X2BqiKkKkBGl2Hm2yMAAdIgQEYm2LMT2cwA+WnZBEh+gEROjiMez9nJxcwnrVlxMLp/RXWAiJDciXtEgETGwq4AyVpW2y0gQILiI2Ji9zRkZl7MI/bTGJmcrwTI06MgZQbI7H3I/qnXzLqeOarSyuMZvePqyuM0cp0r21B0gKysBwSIAAG4PEBmJ3afJnVRE6+VCfvOAFmd2N36DcjsdhPxbUFVgIxOAGfjPyL+MgNk9gMGE7vn21WnSf7bAgTo84FL1jy44uAYVXP4VgGy+mnop5/WVOwcmzk5/3OZBEh8gERuNyPbUWWAfJswZu0v0jFAMibY1E/yO9+36EPI2wZh/+tW5nMxMhSqA2TXkfraBUjU5DZiQjzzN9kBMvN3tx4FK2O76RIgmT9vmj1fxuiBISKOShWx/Zj85YVvh08gd+6EPvvGDuwJj8SJdPrrR8brc9TPa7cHyOoEeOZIO1GT7uzzNMxsJDsCpOowqJHne8g8rGzE47k7QCLPmbG6zJGH4X0aRCZ9+yf4lW/+GdeT9VMKoOY1q8sHIJH73kW8z2WEU2mAzNRZ1VF7Zg7lGzmBrQiQyEm4AOkdIJnLVBEgGet/dZmIn9xv+B1xeIBELYMTEMIdH6Q8eW5H3hcBsnjnR158n37qFHGbq0cXWn0gM54sK0dBWvnE4NPjOXM7o/dn5NPKkW1h9fFcmWhEbKOrz53ZAFk5v0TUY2Vi1zNATvoGJDocRAjcHSDRl+vyAU7rb0AA8Iad8WnhrgDJWAYRAne+nq1cfmeA7Io3AQJA9RtOq4nA6PVk/ywLeFeAVPyqRoAA8Mr46DoRmLmezJ99AQKkS4AccRQsAO55k37LRCAjQJwrBARIdIDs+OZUgADQIj6+Haa280Qg6nj3UQGS/QYPCJCO8SFAALwxT02YBYgAAQFy50+wCgPHix7Am9+URy/z2xtV9VFdqgNkdOIgPkCAnBQgxT/vyrnzTxZs5rwVMytw9XwUEcs+extRX79FnXdhdZ2Nnhsm6lwi3uhh/jVy5EzhlW9qlQEyc26ekfUPnBEgq9fZ9TC8lbcZFiCjL8y//du3/xbxM4Enn+bNFubIRjUTbrP1++nyO9ZZxFnvv50Je/WxBAHyT+gJTjPPKRL9AcrKcvhABATI6uWqXyeqv3HZ9g3IkwBZmXRHTqZnJvozk++Z259dFyshEbHOBAjcFSBPrrfLfV8NkKj7CNwTILOvDR0CZOUgJMcEyKfLPP3vq7+5i5isf7qvqwUZucxZ8bJ6/TNP1ortEAAQIBnXu+N8Q9Hx8ZoAqZ6QRgTI6uQ7+tP8iB2lKgIk4lsRAQIAVE3mZ/YN63KEvMxvgY8IkNmdd6om0yMbS8cAWYmQrHUmQACA3RPrbrdZHADvDZDoo0xFTaZnftP39PZWJucRR+haPeZ/5PWu7twqQACA3QESNV8TIIUBMnrdmffr6Q7WERPqmQCJmGBHT+Jn1plvQAAAXh2JewKk8tuPjInxk3/P/nlSVP12WmdRj7sAAQAQIP/xd5WTydUdqk8NkOj9UbLXmQABABAgZRP9p6FSuUP1k0l8VExkHNJ2Z4DMng8mYod+AQIAIECGJ4eRk8uMyfTIiWSqJuxR912AAADQNkAid8J+cp2rRxR48nffYmLl6E0jy5N1ZuId62x0eWaW3RmHAQBeECAzsQIAAAgQAAAAAQIAAAgQAAAAAQIAAAgQAABAgAAAABwQIKvno3hy7odvt/f0v2Xc96fLFnFfIpdp5vFcPRfK6H3I2uZWb3/2bwEABEjwiQhn/+7TZPe36xm97sizaf82EZ9ZppUziWedBXxk3T+JgNkAenrfItbD6skdAQC4JEBWJ+yzk/Wnk9CV2Bi5jQ4BEr0OZwMk8/ZnwwUAgIMC5Onfr4ZE5OR19d8jAmR0mVYez9n7OXq7s4/J6LdoAgQA4KUBMvpNQ8VkPWJSGREoT+5fRYDM3M+Z2FyJwtFoEiAAAALk42Vmv034Npk+PUCeLtPsfR+djM9M/p/Gy+w3IKP7aggQAIDLAmR0YhgZID9NlE8PkCfLNHPfZyfuK99+RAdI1DoXIABHT3auux4QIEXfgKz+BCsiQEYPq3tygMxc12p8RAZIdMx6IwFOmWyPftg38t729L169BD1ka+lUdfZ7XpAgCRN/n57sYs+mtXoEayiJ7EZ0TYbDd9uM3NCPvKGJEAA1l6XMj84W/k5beRrqW88QICETE5XXjhnJ+urk92nf/M0wHYGSHZkrj6WAgQgJiRW9slc+TntrdHgPQI2BMhKQMye72Nm0rozQKJ+Vvb0DeLkAJkNMgECCJD895fdASI+QICEBEjEi2bGGcUjJ7HRAZQVIBmT99kAiT7rvAAB3hYgo6+TT75hj37dzN4HUYDAwQHy9Df8MzujPT2s6rd9BqK+zYjcke/JOnzyt9Evet+uf/SxyXjRzngsRnaKrNiBEqBjgDz9m10BMvo+ccL1gACBRm+eAMRP8GePHll1/z797bcPyE67HhAgAMDrAuTJz6l3/FRq5Dqjoqf6ekCAAACvDJCZv+kUIKf+DQgQAOD6APk7KASIAAEBAgCkB8ifB3oZ/XcBIkBAgACAAHn8N6NHZRQgAgQECAAIkOlwiPqblYl35HlAos7vtON6QIAAAMcGyMyhZKMCITtAfrtM1Al/s68HBAgAcGx8RJww9enPiFbuW3SAjNzO6Il/s68HBAgAwEsmQ52uBwQIAIAAESAgQAAAxAcIEACAMyZAba4HBAgAAIAAAQAABAgAAIAAAQAABAgAACBAAAAABAgAACBAAAAABAgAACBAAAAAASJAAAAAAQIAAAgQAAAAAQIAAAgQAAAAAQIAAAgQAABAgAAAAAgQAABAgAAAAAgQAABAgAAAAAIEAABAgAAAAAIEAABAgAAAAAIEAAAQIAAAAAIEAAAQIAAAAAIEAAAQIAAAgAABAAAQIAAAgAABAAAQIAAAgAABAAAEiAABAAAECAAAIEAAAAAECAAAIEAAAAAECAAAIEAAAAABAgAAIEAAAAABAgAAIEAAAAABAgAACBAAAAABAgAACBAAAAABAgAACBAAAECAAAAACBAAAECAAAAACBAAAECAAAAAAgQAAOCwAPnvK/5xjP796mW+/d3o3367X6vrJ+r2s+47AAC0CZDZifOpATI7mc8MkKqIAgCArQEyMjleuY7Zy6x8e/Bkkj+7rlZue/Z+iRAAAI4OkNEIOD1AViMkI0BG74sIAQBAgBwUICuT+JUA+Wk9zsaQCAEA4OoAybieEwNk1zqIWicAANAqQGavU4DU/5RqZjlFCAAA7QIk4uhQAqQ2QDL2dwEAgPAA+RQhKz8JijwkrgARIAAAXBQgTwLipgDJmpB3DJC//w4AAFoEyJOQiJ5MdzgPSOa66xIgAADQNkC+hchpAVJ5JnEBAgCAACmKkJMCpGp9CRAAAARIQIScFCAbHpSyEwqKDwAAjguQnTt2C5CaExECAIAAESA/XiYjXIQKAAACRIBMX251nxgAAGgbIKcfBeuEABkJhYjzswAAwPYAmT16VOZlRu5Tp6NfVZ1RPjJsAACgJECeTHxXJswCJOYQu1HXBQAALQIEAABAgAAAAAIEAAAQIAAAAAIEAAAQIAAAAAIEAAAQIAAAgAABAAAQIFUr4tczhs+eRX3mNlfv70/X8/S2VtdBxPKNXi77fsw+Hl0eewAAAXJQiIxOdp/+zezfj0y0M25ndcIc9TjMXP/s/Z7dfjo99gAAAuSACFn998hP2qMm2SPXEzUxn50Uz3xjEnU/Zif0nR97AAAB8pIAiZgYR35y/+TfI4NiNUCiYm90Ha4sa9fHHgBAgFwcIFETzOgJ/5OfaXUIkOjYm5nEryxrx8ceAECAXB4gGdcXuYw/7awePcnNDpAnf7vyLULmZXc89gAAAuQlATIzOc6agP52FK+MoIgIkCff1kQGSHS8dHrsAQAEyOUBsjLRzJyErh4GtmuAzP60bOaxO/WxBwAQIC8JkNHJcfYkdOVITxUB8unyI5P91biKCJhujz0AgAC5OEBmJ7cCZCwqIr7BWFmGkx57AAABcnmAzEyQV88ePnpG7s4B8mR/j5G/nXncVo5q1e2xBwAQIC8KkIydp0f//oR9QHYEyLcRGTG7HnsAAAHykgD56d93TEJHj9a0e2I8csSumaN7VZ00UIAAAObaAqQ8QP7+m8hzQYxExG+X7XQiwp/uW/SJIEcj5fTHHgBAgFwWGDP7XlROQkd+vnRygIx+q1Ox7ex+7AEABEizAImYFM7uc/Dk76riKvr+RGxjs7cbGVQrJxbc/dgDAAiQxgGSOcmfmWBGTaYr94eInhRnhc/o/Ys843rlYw8AIEA2B8jM+SKyfjYT9al59KfzK38XPSF+a4BEPPYAAAKkSYCs7Ffw6UhS2T+dGbmtp38bvV6it6vofU9Wz5ny087k3R57AAABAgAACBAAAAABAgAACBAAAAABAgAACBAAAAABAgAACBAAAECAAAAACBAAAECAAAAACJBfVsT/G7PXsXL7lcv30/I++btP62rmMtnrq+L+zNzuzDrLut8V67NyOaOuf/frAgAIkIvD49PEY3SSszJBqlq+n+7D6KTpyWRz5rJZk7qn66J6u5pdj7sCZHZ9Vi7n08uM3m726wIACJCXxsfTycbMpD3isqOBM/N3qxO4iAng0wle1eMdfTurk++obSZrff79N5XLOfpBQOT9yX5uA4AAuThAZqKiy0+wVu93VYDMLPuTCW3F4x11Gx0CJHt9Pv2pU2WArGy7Va8LACBABMgRARIxkayYiK8GjwCJ/bYm+zETIADA6wMkevJwaoDsmoivBkjG41O93Lsnr9nrs2q9R63XXcsPAAKE/7eCKiaL0b/nz76ejAnl04lq5oQxKkA6xeTO9SlABAgACJDEyZ8AyQ2Q1Z+KVe+E3uGbqNHrfkOARP3cS4AAgAAJnZyceh6QiuvJmlDOBEjURDDym4vIw7BWB8iusBAgACBAXh8fmeceOClAZk8MlxUgERPBqnM0RJ5QL+v+ZU6sR5a5apI+G7kCBAAESGmMvDlARievWQES8e3Fykknd4XI7hNUZl+HAAEAAcKmSZQAGTtre/S3MhWTxI4BErE+u3/TM3IbAgQABEibCBEg+ZfPPi9D5KffVWGbcZ+q1qcAESAAIEBeECBR19XpPCCj+3d0D5Ddk9eq9dkpQDLWtwABAAEiQAIn/6vLXR0gUYFRFW7dA6Q62LoEyMh24kzoACBApiYkXSYaGZO5qoDIPJ/EzPVUHz74pACpXp8dAiTjYBICBAAESMok/cSjYM0G1q4AeTLJjVqPXQJk5+S1en2eGCDRyy1AAECAPJr8nnoekN+Wb/RwqasBEXWOiB0Tx4jHMXryGjnR7xwgO3a4nwlrAQIAAiRskj5zhKKZw5FGHAY1ejmf3qdP1zP69yP3d2b5Zh/j2cch6vGM3iZ2r8+q5Yye/Fe/LgCAAAG44MMFAECAAAAAAgQAAECAAAAAAgQAAECAAAAAAgQAABAgAgQAABAgAACAAAEAABAgAACAAAEAABAgAACAAOmzYr6OU5cF3vgc7v7acsL1f7qt7Nfd7vf/9vsFIEA2h8e3N4eZ68l48426rozl+fv+dLyN3euo+3MgOgKi1knHDwx2Pdcz1kP09VY/L7p+oNTl9fr26wcESPv4mJ1QdQ+QDpNrAXJ3gEReJipAdqzT2deVyNiqmthmrJ/KSOsapwJEgIAAeXF8/Pa30df/2+W6BEjWOqy4jajHpfNj3uUT2cjL7trud76uRK+rrKCLfJwy7nvm/a+KfQEiQECAvDw+ZieJOyajkS/UAkSAVP8MKvObqF3rL3qbyf770clg5vMjO546xKkAESAgQF4cIBmTIwHy/TorbkOA1ARI9ATkxACJnDDvuP5v22OHAFn5sKhTgETfr+xlOv36AQHScoI1elkBIkAEiACJWoZuAZL52pn9DVHVdXV5TxIggAARIFvf7KK/rhYg90xwKpYjMkB2bve7HvvbAyRyuxIgAgQQIAKkYYB8m5ydNOGOvg0BMj+pn43LiHDstN3vmpwLEAEiQAABclGAnDBxFiACpOtz5Onhj0cuL0DiDt3bJUBmJpoCRIAAAuTqAIleJ7MTsMgX7x1nYBYgNY95p0nR0wiIDpBd2323AMk41G+XCbwAESCAAHlFhOyYnGcFyKdlFSACpGOAnLDd7wqQmQg55bkjQASIAAEB8voAqX6zFiAC5JTnyMgEd2aSLEDmA+RbBJ7wfD/1ud8xQLLOM3Li9QMC5LgIyTgjefYLd9VkTIDsecy7BsjMuq4+THTFJ7iZh+Kd3c5O+cBBgNSfiPAN1w8IkNdEiAARIKe/gQqQmm2r4uzRpwXIqa9XJwaIM6EDAqR5iGS9qWSeO+Db8gkQP8GaXZ6Ic1dEfFtQvd1XhETGhO2UCfwt3+CcsF6zt4+Trh8QIFdEyO6dcKMmRwJEgDzZxyAiYk7Z7mdfRyICaWSfj1N/wiRA/tn6vH779QMCpG2MdAyQHV9dCxABEjlhPmW733X/onZUf9PzPeK6d+wvuPu5LUIAAXJohGRPRiMmOW+ckAiQuGXaESAdtvuI5+jqNrP6M62Oz/eu1y9ABAggQNqESLc30x0v2gJk/0RiV4CMLOeT6zhpu9+xfVfv4H7jc0eACEpAgGx/s78pQHa9aAuQdwZI1HMhe/+P7o9N1RnNu0+UTz1KmQARIIAAaTd5iTyKVuQb9mlvnF0CJHuSuLJ9nhggERPBXdt95np9W4DMfpN204RVgAgQECACRIAIEAEyGBC7ruO2AMl6HnR8vq++pgqQ9efF7M//Trt+QIC0e6G/IUCiJpMCRIDMxMOu69i53e/Ypm8KkB2P/60Bkn2UxtOvHxAgVwVI9ZtKxDJkTMYESM1jLkB6bfenTzZ3Phd3BvpbAiQyaE+/fkCAHBsgOz6hESACpPtzR4DUb8u7J2oZ97/yEMpv+QlW9M/5Tv97QIAc90K/69CXuwKk+ic11bcR9Wlb9WN+wyRpdR112e53T3yrdlzPfvy6BEjXo6FlfTNWeU6rLtcPCJC2L/QRb3rRb7DRb8hR17dzotDlcal4zN8SIKuPXeW2tDs+nk5YI5at4izunV7vdsborte57Pvd6foBAXJkgOz4hE+ACBABcmaA7IybzJ9XCpC+ARL5nLn5+gEBAvCKDzpuvU0AECAAjQIEABAgAACAAAEAAAQIAACAAAEAAAQIAACAAAEAAAQIAAAgQAAAAAQIAAAgQAAAAAQIAAAgQAAAAAECAAAgQAAAAAECAAAgQAAAAAECAAAIEAAAAAECAAAIEAAAAAECAAAIEAAAQIAIEAAAQIAAAAACBAAAQIAAAAACBAAAQIAAAAACBAAAECAAAAACBAAAECAAAAACBAAAECAAAIAAAQAAECAAAIAAAQAAECAAAIAAAQAABAgAAIAAAQAABAgAAIAAAQAABAgAACBAAAAABAgAACBAAAAABAgAACBAAAAAAQIAACBAAAAAAQIAACBAAAAAAQIAACBAAAAAAQIAAAgQAAAAAQIAAAgQAAAAAQIAAAgQAABAgAAAAAgQAABAgAAAAAgQAABAgAAAAAIEAABAgAAAAAIEAABAgAAAAAIEAAAQIAAAAAIEAAAQIAAAAAIEAAAQIAAAgAABAAAQIAAAgAABAAAQIAAAgAABAAAEiAABAAAECAAAIEAAAAAECAAAIEAAAAAECAAAIEAAAAABAgAAIEAAAAABAgAAIEAAAAABAgAACBAAAAABAgAACBAAAAABAgAACBAAAECAAAAACBAAAECAAAAACBAAAECAAAAAAgQAAECAAAAAAgQAAECAAAAAAgQAABAgAgQAABAgAACAAAEAABAgAACAAAEAABAgAACAAAEAAAQIAACAAAEAAAQIAACAAAEAAAQIAAAgQAAAAAQIAAAgQAAAAAQIAAAgQAAAAAECAAAgQAAAAAECAAAgQAAAAAECAAAIEAAAAAECAAAIEAAAAAECAAAIEAAAQIAAAAAIEAAAQIAAAAAIEAAAQIAAAAAIEAAAQIAAAAACBAAAQIAAAAACBAAAQIAAAAACBAAAECAAAAACBAAAECAAAAACBAAAECAAAIAAAQAAECAAAIAAAQAAECAAAIAAAQAABAgAAIAAAQAABAgAAIAAAQAAegaIYRiGYRiGYRhG0bASDMMwDMMwDMMQIIZhGIZhGIZhCBDDMAzDMAzDMAwBYhiGYRiGYRjGCQECHH0kif8dAABHHAULECAAAAIEECAAgAABBAgAgAABAQIAIEAAAQIAIEBAgAAACBBAgAAAAgQQIAAAAgQEiAABAATIx0nR7IQp43LV97PTMtx+P29YPgECAAiQxYnR7KQp43LV97PTMtx+P29YPgECAAiQiUnRn5OjT/82e50Z96X69qqX4fb7ecPyCRAAQIAIEAEiQAQIt70JLG+Hb1w3HdfRifc5+j3ftvfu9eIxFCACRIAIEAES/mI9Mjq9we1anlvezE/ZDt1n26THsc96OfF9TIAkPBARkyb7gNhHwj4gAkSA+ISu+/bnPucth23vHevnpHXS5f1LgPzwoHz7t5EVnnG56vv59Dpn72fGv2Xcz5H1svPIUxn3c+RyAkSACJBztrvs9ZZ5n0+IJ9ve/evolHVyw3Px2gDJnEDdcLmsT8UrH6NO3xLdsOwCZN+Ld5frrngz8ia4FmAnRuMt8WTbu3s9Za6X3fdThDQKkE77g1RfLnO/gKrHqNN+Mjcs+5sDZHWCcsqk/NRP7t4YH5XX0+0+V99vn+733vZOWjdd3iu8/goQASJABMgLPyXsGiBPb69b6ImPvRPBHfc5+ttZAXLmtnfiutm5XXd+zxEgAsQk3LILkAs+qd35Glg9MRQfeyeCu34WKEBse8Js/wcBAqRow3vT5ewHYdntA9LjxXnHRGjXm43f3u/5aZ3r/mfqQ523BEjHx1CY9bjOi9/f7zkKVsRRjaLu58x6iLq9kdufXdez6zNivUQtX/WyZz62bz9E5U0B0ins/Pb+zonUjut+w2T6tm1PgPS5rwKk8SfHN3wSX/ETj66X6/QYnbQtCRABUhEfb/j9/akTqROeX2+YSN+47QmzXgFy4c9hzz8T+g37IlQ++bpdrtNjdNq2JED2/lZdgPgE+sQJT9fJqyM7vWvdCZC+HwYIEAEiQATIqwOk4oV5x4S80/4fb3jzEyACxLb3z3Hrpds3fAJEgAgQASJABMiVAbJjPY6ugxu3oa6TTQFyf4C8dd2dGGYC5IAA+TYxsg9I3WTSPiA91pl9QO4MkOjf/O4KkJvfAE88WaAAuWP7O3nbEyC1QSlAkjawv//3t3/77TpG/zb6fj69jtnbzrq9iHVdcbnZ66y+vYj7KUByAmHHpPyEAHlyewKk3+11+ZmKAHnftnfyh0rZtyVADgiQ1U+GT/kG4s3nJPFve7fdNwRI5ovzjgDZ8eby9PZufBMUIALEtidAuq8XAVL8xnfDPhhvPiu7f9u/7QqQewJk1+uwADk/QDI/eb35sbLtCZCTAuTC93QBIkD8mwB5X4Ds+llS59e2G3dGf0uAdDqxmkmYALFe7oskASJABIgAESCJk7vsN6/ur20CpNftZUZIt8dYgAgQAXJ/fJQFyLdJkn1A7ANiHxABsuNToh0B0nn/DwFyR4CMHpyk0+MrQO5ffzteXzq/pr3x24+SAKk+klDEEbKijmYVsV5GLvd02TPW341H1sq4TkfB6vNCPXL5itvtEh+jE16TwJrbyzhEtACx7QmQ/t/4XX50y14/DTn50+jT1ssNy95p4u48IOcHSPYb++k/Lb01QLqfjyH6XDV+imLbEyD2d7oyQE7ZT6HLE2/Herlh2avvS8ZjJEByJmECRIDcNglcjZAnZ70/4bESIALk1AC58SAfAkSACBAB8qYXrSMDpPrNJnP/ABGyZxIYESF2TrbtCZD9h/19a3gIEAEiQATIawMkc7+I6u0u8/YESN9J4G3hIUAEyJsD5I3sA9Lgybdzvdyw7J0m7vYBuTdAIt7cBUj/7abirOJdPmn1DYhtT4D4BuTKAPnzgRj9u+yjYGUfSWtkeauPgtXlxadqW5rdziKuM+pxFyCxbyZvCJDqw7+aCNZPoG/8KdatE7Tbtj0BUvO8FCDFG2P25KrTNwmdvhG4cWK689+qHj8BMvbiXbFfxOhluwbISZ+qZkwMOk4CM/cB6fB4CpC+254A2fccFSDFb5KdfqffaT8EvyGse2wztonsT70ESF6ArLzJd4iP7MO/3jgRjD5vStYn3BkTIAFi2xMgc7eVsS0IEAEiQASIABEgRwbISROGbpPAnZ9mRv/UsPOkR4Ds3fYqbs95QM4OSAEiQASIAHltgMy+oVTtF9E1QG792c5JE8EdE/KTHtfbJ2Hdtz0B0n+7ECCJKz57cmUfkPdMSnf+W9XjJ0D6BcjIT2Ju+5TVRDBu/ey4vt2P6xsmYAJEgIiQJgHy54r/6f9XHAVr9mhI2Ufkml2G2fuy47GOvp8VR8GKOJqVo2CdGSAzk6Q3fPvxhkOkrpxhvPKnVxnLLEDese0JkPPe1wSIT7GPvL3qjdq3T7XrVIAIEAFS981A528/VpdZgLxj26t6PegYIKe+rwmQ5JW/49+q72en9XLKY5txXzIuJ0D2v1hXH+7yp2/Mdv38qnqidPM2VTXB6XguEQFy/7YnQESIABEgAkSACJCmATLyhtZh/w9vjH0nj7snSwLEttc1QKo/PBEgAkSACBABIkCuD5Cq9eGN8awJYNdPhwWIbU+ACJCrA+TbhMo+IPYBsQ+IAIl6s6yYKN3y7cfo+rYdnhMgnSb+tq29296Nk2wBIkCmHoCVf4s6StSnv4u4vd1H3co4ulSndTa7TE8v5yhY50bIybe9I0De9Oa4cwIoQGxbN8dH9WNdcX4er7EXBUjHSVmnbzWq18sN3zx12s6cB0SAnBgfo8tsAnjOJFyA2PYEyNp1CRAB0uoM6tXXmbFebtj3ptN25kzoPQLk9NveFSBveoPcNXkSIALkDeuoy09lo07S6PVVgAgQASJAvCG/PkBOnzicvs2dtn4FiG3vxpiqPESx11YBIkAEiADxhtzyMKan//xqZplNAM+YiDsRoW1PgOwPAwFy4ZM0+zrtA2IfEPuAnBMgt8TPrgB52xvljglgt2/yBIj4OO0x33GCRq+pjQIk4whBEUdtyrjOqKNLRRxh6dNtRB15KuPfZrePjHWWsY1HHI1MgJwdIBXL3mmdmwD2n4wLENueABEgVwXI7d8KVC97xn055ZwrN0zAs9aLN+fxELjltrv/Vv+ynSXLl7HT+WwEyLu2vdOXs+LQu9WxdOkHOn2OynLKfhHVy55xX04563zXCVjF4yBAzngBf2OAvOVNc/fy7Z70mHCLjxOX96RIePnPWQWIABEgAkSACJAzlvttk7+Mddztcdv9U0bb3j3LfsthfV9yMA8BIkAEiAARIJ1ve+Wkh7tPunjaG+qp3ww8uW8nHazhxm1LfOStg66HXxfbxQGyMjGyD4h9QHY/ftXPB/uAnP/mLUDOf1Ptft9PnsALkLO3vRu2dc/FFwXInw/S3/975XJPr3P2iFUZR54a+buI5VtZF5X/Vr2ud19/1OMpQObeFE6OHwGyf6Jz8+SsQ6C/bdJmIlq3zXgevjBAVidJN3xCX718p764uJ93r8e3B0iHNzsBctfk76THQ4AIjx3bzknPxZc+rnvemFcud8o+CtXLd/oLivspQKDLhOHmSRq2Petu73PRYylABIiJvQABExnPIWx7IEAEiABxPwUI1D23wbYHFwXIyiTJPiD2AXE/BQhkPW/AtgcXBkjEEY8qjnT19N8y7lvUUbBO/iakal3PvhHsPuKYAAEABMhhE6NTzoXx5pPR3X5OEucBAQBoeCb0iolt17OBdzqD+psfo07LIEAAAAEiQASIABEgAAACRIAIEAEiQACA1wZIt4mRfUDOi5Cu67p6GQQIACBAJiZHf//vT3838m+z9+XUf5tdvqp4WL1cxpHDZq9z9vFyFCwAgI0B8mSSdPv5Ll6yEZV9a1P9DVL37dNzBAAQIF8mSG864/fb4iN7v5XqfWhO2D49PwAAASJAWkZB9Y7XAkSAAAAIEMERGiQCRIAAALQLkG+TJPuA9AiPTvtyZGxLt26fniMAgAD5YXL09//+9Hff/i3jKFEVR+E6ITpWv0VY3Sayj1g1sgyzR92KWk8CBAAQIA0mRm/8hHt3fJx+nozK+7kjFAQIACBA/v33mB2eT/yNf3QoVIXIKY/DaWerFyAAgAARIOXxccLtCRABAgAgQBoHSFV0VN2+ABEgAAD2Afm35z4gO8Mj877YB8Q+IACAACk7ClbUdcwemSniKFgVk7xO8ZEZIaPrOmNberq9ZByJLeoxFSAAgABJnPjunJRVTPQ6xseO+3b7Ebgyf5oIACBAgie8WZervs7M29i1M3m39fDkOqv3P8k+uhgAgAARICXXX3mej8qdqgWIAAEABIgAaTTh3nXCwax1IkAECAAgQNpEyM5JWcdvP3ae9fy0Q8vaBwQA4OUBknHkqcyjDEVe5+okPis8Op7f4sn2Er3Njfzb7m1JgFz94vw4jldeK55cduW+VX7QEfU3UdcZ9Zqbvc6zlzHj8Y16jmQ873Y9r1fuw+j96XrAHATI9KTpLUe+yo6P3ddTtb2cOqG0bhAgAkSACBABggBp8Mb69h3PV184opd15X7tDrXTJpMCBAEiQASIABEgCBAB0ipAKs7DMXsbAkSAIEAEiAARIAIEBMhhR77qMhHv9i2IABEgAkSACBABIkAECAIkddL01iNfdZqEd/8W5IYJpXWDABEgAkSACBAEyKY32NF/e3qdXY9clP0CvStCVqLlyb89fRwqjmY1u407ChYCRIAIEAEiQPAe1/w8IJ0mZZk7fEf+feQLROZ9zTgvR/X5PGa3F+cBQYAIEAEiQAQIAuRlb9w7r7Pi249dh9h9+rcZZyavPqP57HpzJnQEiAARIAJEgOA9ToAcFSBR8ZGxc7kAESAIEAEiQASIAAEB0ihAsn9+lXHG84y/FyACBAEiQASIABEgCJCr37y7XOfuF+ZdbxCj69M+IALEi7MAESACRIAIEARI2hts5L99+rvIyd7sdWb+/Orpi0H2tyAzf/vT/8/YPqK2idltMPO+ePEXIAJEgAgQASJAECAJnw6ffo6Q7In87m81ZsJp10T6lvPNePEXIAJEgAgQASJAECALT8Dbz5LeadLf/b50O9Fit21JgAgQASJABIgAESAIEAEiQASIAEGACBABIkAECAgQASJABAgCRIAIEAEiQAQIrw2Qb5Mm+4C8L0B2TKTtA4IAESACRIAIEAHC5QEycsSjiKNgzV5u9shFHY4mddpO6KvrM3MbfHq5jPsiQBAgAkSACBABggBJ/IS308ab/c2Mw/Du2yY6nT/EeUAQIAJEgAgQAYIA2fRG2mkDrtg3xYkI92wTnc6g7kzoCBABIkAEiADBe5wAaRkgUX+/OhHI+HsBIkAQIAJEgAgQAYIAESBFk9RdR5TqdOQuASJAECACRIAIEAGCACl9M+06garYTyDzxXn0TS/zzX/0b7O3CfuAIEAEiAARIAJEgPCCAJk9ylDE7c3exux1PD2qUfZPoCJfIKp+rjW6vVRvgxlHaXMULASIABEgAkSAIECS30Cr37BPuS+ZLzTZE6DM2Om6DXY7T40XfwEiQASIABEgAgQB8m+vM1t3PMt21iF2dz5+O7+p6XCdu86u7sVfgAgQASJABIgAQYAIkPAAqVyOip3VBYgAQYAIEAEiQAQIAkSAFC975CF2s+975rcfAkSAIEAEiAARIAIEAZLyBlr9ht31vqxM2iPe0DOuN+K+2AfEPiAIEAEiQASIAEGAhL2J/v2/M67/221E3JeZJ/lvl+t6iN3oT/Cjji61cxscOVpXxbYlQASIABEgAkSACBAESLNPok+5XHY8rI6o+DjlW6nVx6/DRBUBIkAEiAARIAKE1wdIp9/3d7xc9gtJRnjMxMcJ++WMXK7Li68XfwEiQASIABEgAgQBIkDKAiQjQqIeAwEiQBAgAkSACBABAgKk6eUi1lFVeESElQARIAgQASJABIgAQYAcN0m6YR+QrCdzRnTM3E/7gAgQBIgAESACRIBAaYBUHwUr477MHvFo5nIV5/qInhB9Wo5vy159BKnZ2xtZBgGCABEgAkSACBDYFCCdNsrqT79XPjXvGCEz8RG9Xiof25Mm/F78BYgAESACRIAIEARIsw2z+vf/EfsNdIqQlfiIXi8Vj+0p27UAESACRIAIEAEiQBAgAiR0op111vOI8Bi9zwJEgCBABIgAESACBARI8wAZefOqio6VF0UBIkAQIAJEgAgQAQL2AVm4XNW+DpmH0824fvuACBAEiAARIAJEgMCWAPlzA91xHRlHPBq5b7NHgooKhV0nKFxZ9uyjYI3cz4zLCRAEiAARIAJEgOA9rug8INWTq06fbu/8NmRHfGQt+03bmQBBgAgQASJABAgC5NA34A6Xm73O1dvrGh0Vy37ydiZAECACRIAIEAGC9zgBcmSAZIVIxeMnQAQIAkSACBABIkAQIALk0ABZDZIdj58AESAIEAEiQASIAEGAHPEm3PVys9d5+xPXPiACBAEiQASIABEg0CZAso9KtfuoRtFHwYpanxWXe7p8UUccy9jOMraXzOXz4i9ABIgAESACRIAgQBImTZ3OI1F9P6vXZ6fH4ZTHdsc24cVfgAgQASJABIgAQYAEv6E8udyb9/votK/Mmx/bXduEF38BIkAEiAARIAIEASJABIgAESAIEAEiQASIAAEBIkAEiABBgAgQASJABIgA4XUBsjJpsg9I3frs9DjYB0SACBABIkAEiAARIAiQ6SfeT/+/+khJUfdl5DZ++7eM29t9ueyjRM1uL7PremQbjFg+AYIAESACRIAIEARI4qfGnb4tOOW+ZExIu32yX/n4nXyuFi/+AkSACBABIkAECAJk4InSaX+JU+5L5Jt15uVOefxOOWO7ABEgAkSACBABIkAQIAJEgAgQAYIAESACRIAIEO9BCBABIkAECAJEgAgQASJABAivDZBvkyT7gNgHZPfjZx8QBIgAESACRIAIEC4JkOwjF3W+L9VHwXq6DFGXO/HIYSOP7dN/W3lcIh9rL/4CRIAIEAEiQAQIrw+Q28/dMHu56ifr7d9sVN+e84AgQASIABEgAkSA0DBAbj979ezlqp+wt+/bUX17zoSOABEgAkSACBABggARIAJEgHjxFyACRIAIEAEiQBAgAkSACBABggARIAJEgAgQKAqQlYmRfUD6Pw72AbEPCAJEgAgQASJAvAfRLkD+3ECrLvf0OmePzDR7hKWK5ctehtmjg2UcBStqe8w+ClbFNuHFX4AIEAEiQASIAEGAHPbGHnG5U56Abz6HRqdvPDpszwgQASJABIgAESAIkCZv6qOXO+VJ+OaziHfa50OAIEAEiAARIAIE73ECRIAIEAGCABEgAkSACBABggARIAJEgAgQASJABIgAESACBAFy2Rt7xOXsA2IfkF1h4MVfgAgQASJABIgAQYAUvTGv/FvG0bmijnhUNWEdXS+7j4LVddlHtjNHwUKACBABIkAECN7jDguQUz6Jv+F+Vk96bz8/ivOAIEAEiAARIAIEDguQU/ZFuOF+Zlyu+jqrl33X4+7FX4AIEAEiQASIAEGAmNgLEAEiQBAgAkSACBABAgJEgAgQAYIAESACRIAIEAGCAFl48kb8m/tpHxD7gCBABIgAESACRIDwsgCpPgJR5tGIVu/L6Kfxket+9ohVUUf8yl722dub3c5W1oUA8eIsQASIABEgAgQBsuGT6E6fUp9yexmPww3LfsO3NgJEgAgQASJABIgAQYAkvsl2+p3+KbeXOdk5edlv2G9FgAgQASJABIgAESAIEAEiQASIAEGACBABIkAEiPcgBIgAESACBAEiQASIABEgAgQBMjGBsg9I3aTTPiBnTv69+AsQASJABIgAESAIkIU32yf/lnEUrIijGs0uw+6jYM1eZ6d1nbHOZq8z6ghdAsSLswARIAJEgAgQBEjDN+Wu/5axDB6HunV20rczXvwFiAARIAJEgAgQBMiGN+RO/5axDB6HunV22v4pXvwFiAARIAJEgAgQBIiJrwARIAIEASJABIgAESAgQASIx0GAIEAEiAARIAJEgCBAFp68Xf8tYxk8DvYBESACRIAIEAEiQAQIAmTiiZd5PdVHWIo4UtLIv+18HKLWS/XRs3avp4j1KUAEiAARIAJEgAgQBEjzSdIp54q4/ZP9U9bL7snlSc8tBIgAESACRIAIENoHSPVGesrZsm/ft+GU9dJxYilAECACRIAIEAGCABEgAkSACBAEiAARIAJEgAgQBIiJtvUiQLz4CxABIkAEiAARIAiQzZMk+zpYLydNLk96biFABIgAESACRIDQOkAyjlw0e4Sl2fuZvewRR9laWX+zR23Kvi9RRwfLWL8ZRwATIAgQASJABIgAQYAkTow6nUOj06f7uyc5Xe/LKdvLjsfdi78AESACRIAIEAGCAPn3nLOId9q/oeMEp8N9OWV72fW4e/EXIAJEgAgQASJAECACRIAIEAGCABEgAkSACBAQIAJEgAgQBIgAESACRIAIEK4MkG8TI/uA2Afkxu3FPiAIEAEiQASIAIGNAfLnBjr6b5/+rvo6Z64/637O3peny777iFERR5Davb1kHMlLgAgQASJABIgAESAIkE1vwjuvs9O5TE759P6U66zeXpwHBAEiQASIABEgCJBD34CrrrPT2dxP2X/hlOus3l6cCR0BIkAEiAARIHiPEyACRIAIEAAAASJABIgAESAAgADZGCE7r9M+IPYBsQ8IAMDBARJxxKOo68y4LxHrJeooShHXWX3UrYjHOetx2LnsAgQAECDBk6ZOn+6/+VuP6uVr+MQ44oSBAgQAECCDE6au+ze8eb+P6uXrHB879yURIACAABEgAkSACBAAAAEiQASIABEgAIAAmZg02QfEPiDdIqTzsgsQAECADE6cRv8t4zorjqp04nqpXr6OEXLKdQoQAECAAGWhJEAAAAECCBAAAAECAgQAQIAAAgQAECCAAAEAECCAAAEABAhQ+yT+6X8DALQOEMMwDMMwDMMwjKJhJRiGYRiGYRiGIUAMwzAMwzAMwxAghmEYhmEYhmEYAsQwDMMwDMMwDAFiGIZhGIZhGIYhQAzDMAzDMAzDECCGYRiGYRiGYQgQwzAMwzAMwzAMAWIYhmEYhmEYhgAxDMMwDMMwDMMQIIZhGIZhGIZhCBDDMAzDMAzDMASIYRiGYRiGYRiGADEMwzAMwzAM48wAAQCA3UzMBQgAAAgQQ4AAACBADAECAAACxBAgAAAIEEOAAACAABEgAAAgQAwBAgCAADEECAAACBBDgAAAIEAMAQIAAAJEgFD+BLrhyf/2xxEAECBGYoDM3kj09UZvoB2eNLc82Xfexs71UbneOzyfsoM2+oUOAAFiCJBWARIxUTlxglS5/ro9Xh0eRwFSFyBiBECAGAKkbYBET7Ce/m3HJ/jM5Xa8oGSvj8jLCJD9ASJGAASIcfA+IFlv7LPXFTmRXp1Ejl6m05M7a7lnt5vsiWTWZP/k51Plz84y140IARAgxksCJHrjy7w/K5OTyEl4hyf2zY9V9jac+U3BjudT5b4vFetHhAAIEEOAtJqg7AiQvy9/Ynx0m0zu3H4j1q0A2Rd5IgRAgBgCpP2kNnoydGJ8dHusovZn2rWOTwyQiPCrfr0RIQACxBAgR05qTwqQzAnXrsnk7oDpEMFdAmT1W4gdrzciBECAGALkuEmtABEg0dfdOUAi15sAAUCACBABcnGAVJ+AsXuA7Dwh5c0BsvLY7Xq9ESEAAsQQIFcESLfJy2lnX785QLIPapAdIFERIkAAECACRIAEB0inCYwAESDRkSBAABAghgDZNKntHiEn3rfT42PlPt4QIDOPw87XGxECIEAMAXJVgOyeyAiQfgGSfWjnigBZXZcCBAABIkAESNKkdveE5sYA6Xr0q7cFyMr6FCAACBABIkCKAqR6UnNTgHQ9+aAAWV9OAQKAABEgrwuQrDNY757cnLp/Stb6EyDxO4oLEAAEiCFAgnb8nVmObhGSdeK4iOWrjg8BknekqtFlFSAACBAB8soA2THJrZ7o3BogGYEoQHIC5MkO7AIEAAEiQK4LkB1BIEBiDjkbue4ESN65OgQIAALEECBNvonoetu7r9dO6HcFyMgyCxAABIgAeX2AdHhCnRQgEY+9ABEgAgQAASJArg2QU55UJ0VIdYCcFCHZP0vrGiBPl73L81t8AAgQQ4BcHyA7Jj03BUjm7QqQ/AD5n+sRIAAIEAEiQIru345QEiACpDJAniy/AAFAgAiQ9pNbAdIvQroFSJcIWbnuTs+nynPi7HjeiA8AAWIIkNRPXgVI3VnFKy4vQOpjXoAAIECMFgGSMZkWIPVP6LcFSNVkv+PPjKq28ZE3kep1Iz4ABIhxaYBETQzeEiC7n9Q3BMju7aVbGEU+PplvJKeuXwAEiLEpQJ5sLFWT8hMCZPfkp8vk/bbJaNV1VT2fbguQDucCAkCAGIUB8vSEZKcGSOVPhyqe3G8KiNV1Ubl/TeXzqepkfzvPHSM+AASIcXCAZGwwmbdXsazdP3mdWV8r6zbjsaq8rupP1Ls/nyKXZ+cbEAACxDg4QCI3muzbOmk5T3uiVwbI6HWf9rh2fj6dHiAACBDjkgCpmGx2CJAOt9/pCd9hm6i+rk6HUd7xfIpcjqo3IAAEiHFxgDzZoN7y5LnpRcCLYZ/14bEBQIAYAgQAAASIIUAAABAghgABAAABIkAAAECAGAIEAAABYggQAAAQIIYAAQBAgBgCBAAABIgAAQAAAWIIEAAABIghQAAAQIAYAgQAAAFiCBAAABAghgABAECAGAIEAAABYggQAAAQIIYAAQBAgBgCBAAABIghQGj6ojPy362v/3siY91aZkCAGNcFyOoNjV5PxMZb8ST49ndPru/pdYyup5V1m/0YdQ+Qp8u48lzYtX2vXL5iO/h2X0fW6+hjkLFMK+us6nk3er2z63X1eZK5PjJeL3c8xiISAWJcGyAjL3grl1mdJGW8gD8NjIjrj/qkcuTvZ5c9K0Cq3kxnJxDRf1dxPSsTzspPzZ+85syE4o74iLov0es7Y1vIeJ5kro+V1/OM94KVZfItFgLEuDZAov4tepIdMUme+WZh9E024m8yJsmry541Eap6I515LKPXbWV8zARs5TYx+ml41DJUbNOrk/Wd29NKOK0GW9b6WNnGsi9b9d4HAsQQIAEvwllvrqtvlE/fiGd+zpAdPRWTtdn1lfkC2GVyHvkNSsbj3TlAusXHrtfGiMuvLNPKhxBZ62PX45SxTAIEAWIIkM0vwKuXzf6kLvJTxh0TsKoA2flG2ilAMn6+1TlARu7n05/JVG7L3QMkc7L+6bVRgNR8KCRAECDGa46ClfVtw+rEuPpT/aiv1EeDYTUwdr9h7f75Vfb20O2gCtnRUH0fI37OtGvbyY6BLgGSvf2cFCDZ8S9AECCGANkQIFVvmNFvVBEBUvVb450vLB0nkZnxEb19Zq23rOXssE9W1wDpOFnfGSBZz9OVHeCzA2T1+kGAGAJkcQK38kKcOVGs2tHzlAB5OnmYPYTlbQHy5FDNldtm1ja0Gu8zP/uJWrfVARJ137IOUVz9k87M5+rK+1TEB1JZP28GAWIIkKDJ284dOlcmQdEBknV4zOwXmpsCJOPbj9XDkEZPVqoOBzt7mN2Z8+RELWNGgEQH7cwydwqQrO1v5VDcGd/YChAEiCFAEt9Aoj51nL1v2b9frzzU5YkBsvsT1BMCJOJvMp+7Wcu4ckK3qnWbHSCR6zt7n5qsAMvc/k4MkO7faoMAMY77BiTy24+n19fhTSwiQH77t8gThGVMPp9Olne8AO6Mj6hPnStO+pn1c6WsE25GrdvqCXjVz8NWviGpPPhHVpSt/Czt6bdMq/et8gMZECDGq36CFb2xVgVIZlDNTCgz1vWOF5XuAbLzp2AjZ7CPXr+ZP1XqMPnvFCCr21nm9lSx7NXrI2P/kJV1tOvACiBAjNfthF4xiak6ClbmkU9m37R2/typ8++XbwmQqglL9M8wZ0PpDQFScbmK7X/3YaBX9r+puOyn1/LOH96AADFeEyARb4wVR/LJOBHhk7/J+JlLZoB0egHcGR9RAVJx33ee0E+A9AqQHdtL9f3dddmdz0UQIMarzgMSESDRk/Df/j7qt/aRARIdX1nnpDg5QDI+na8MkIjHVYCsfUhweoDs/PbjtADJ3j4ECALEECDJb9CRk8SK8ypETVRndxyPmDxkBkinN9wuAbIS6xHLkL1sOwMk8oOQqNe3ivWdscxZ8dEh7gUICBBDgKS+SY6+2UWetXlXeO2aaEYFyO7zgFTE28phmVdvp/IgDh0DJGuiH3127YrtacffZ6+P7HPo7DhBrABBgBivC5CMN6FvL9JZbzYz35ZETPSzfjIV9Y1J9r4yqy9UlRPfjPNORE6CKg6NnT3ZqTypXdW2vvIaUHXAjN2v+5XrY+X1LuOcKVWHWgYBYhwbICuHvI26zOz+EFHnvpi5X7NHMFldjojHNurFJWLCnDEJGXk8q49I8/T6Mp4fu46wU3WemuztPfvkdpnbU1R8rDxXs9dH5YkII7YPAYIAMXwDApsDhPvfiOg5Oai4HJ4zCBBDgADgAwQAAWIIEAAABIghQAAAQIAYAgQAAAFiCBAAAASIIUAAAECAGAIEAAABYggQAAAQIIYAAQBAgBgCBAAAAWJyLkAAAECAGAIEAAABYggQAAAQIIYAAQBAgBgCBAAABIgAAQAAAWIIEAAABIghQAAAQIAYAgQAAAFiCBAAABAgAgQAAASIIUAAABAghgABAAABYggQAAAEiNE4QAzDMAzDMAzDMASIYRiGYRiGYRgCxDAMwzAMwzAMQ4AYhmEYhmEYhiFADMMwDMMwDMMw/jdAAAAAio50JkAAAAABAgAACBAAAAABAgAACBAAAAABAgAACBAAAECAAAAACBAAAECAAAAACBAAAECAAAAAAoRXbAT/MX77myfXs3IfRu/nymVXrn/0PjxZ3qjlyngcV5Yx+7JRj2nGfcjYxla2n8rHonKbjFqf2a+B3V43Ml6rK99rop7jGa+Hu173std/9uv86H1buQ8IEASIABEgAkSACBABIkAEiAARIAgQASJABIgAESACRIAIEAGCAEGACBABIkAEiAARIAJEgAgQAYIAESACRIAIEAEiQASIABEgCBAEiAARIAJEgAgQASJABAgCBAEiQASIABEgAkSACBABIkAECAJEgAgQASJABIgAESACRIAgQBAgAkSACBABIkAEiAARIAJEgCBABIgAESACRIAIEAEiQAQIAgQBIkAEiAARIAJEgAgQAYIAQYAIEAEiQASIABEgAkSACBABggARIAJEgAgQASJABIgAESAIEASIABEgAkSACBABIkAEiAARIAgQASJABIgAESACRIAIEAGCAEGACBABIkAEiAARIAJEgCBAECACRIAIEAEiQASIABEgAsTcU4DYCASIABEgAkSACBABIkAECAIEASJABIgAESACRIAIEAEiQAQIAkSACBABIkAEiAARIAJEgCBAECACRIAIEAEiQASIABEgCBAEiAARIAJEgAgQASJABIgAQYAgQASIABEgAkSACBABIkAQIAgQASJABIgAESACRIAIEAEiQBAgAkSACBABIkAEiAARIAIEAYIAESACRIAIEAEiQASIABEgAgQBIkAEiAARIAJEgAgQASJAECAIEAEiQASIABEgAkSACBAECAJEgAgQASJABIgAESACRIAIEASIABEgAkSACBABIkAEiABBgCBABIgAESACRIAIEAEiQASIAEGACBABIkAEiAARIAJEgAgQBAgCRIAIEAEiQASIABEgAgQBggARIAJEgAgQASJABIgAESACBAEiQASIABEgAkSACBABIkAQIAgQASJABIgAESACRIAIEAEiQBAgAkSACBABIkAEiAARIAIEAYIAESACRIAIEAEiQASIAEGAIEAEiAARIAJEgAgQASJABIgAQYAIEAEiQASIABEgAkSACBAECAJEgAgQASJABIgAESACRIAIEASIABEgAkSACBABIkAEiABBgCBABIgAESACRIAIEAEiQBAgCBABIkAEiAARIAJEgAgQAWLu6YGyEQgQASJABIgAESACRIAIEAQIAkSACBABIkAEiAARIAJEgAgQBIgAESACRIAIEAEiQASIAEGAIEAEiAARIAJEgAgQASJAECAIEAEiQGLfmKJGxwCJmCQLEAEiQASIAEGAIEAEiAARIOEB8uftVU4wKh+fXQGyazs85b5FvdfsWp7M18PO21rE66MAQYAgQATINQHS6Y1WgAgQAbI2ORUgAkSAIEAQIAKkdYCcMgnM3oajJlQCRIB0CxEBIkAECAIEASJAWgTIaZPAjgHy7ZsTASJAOk9WBYgAESACBAEiQARIWYCcOAkUIAJk17cIp09a3xQgt0SIAEGAIEAEyFUBEvmGGHX9JwdI1k7E3SaZpwZI1YRtdRvInLjueoyinrMZl41+3YvefgQIAgQBIkCuCZCqiYQAESCd13/HAIlcXxHvNTcGyOprkwARIAIEASJABEjhRFSACBAB0mcbqDhPjQARIAJEgCBABIgAESACRIC8LECibluACBABggBBgAgQASJABIgAKYsQASJABAgCBAEiQASIABEgAkSACBABggBBgAgQASJA7g6QlXUhQPYFSMXzWoAIEAEiQBAgAkSACBABIkAEiAARIAIEAYIAESACRIAIEAEiQASIABEgAgQBIkAEiAARIMtHRRIgAkSACBABIkAQIAJEgAgQAfLaAMma/AsQASJABIgAQYAIEAEiQASIABEgAuRVAVL5+iBAECAIEAEiQBoHSOQ67BogqxEiQASIABEgAkSAIEAEiAA5LkAyJt4C5J4AyZz8CxABIkAEiABBgAgQASJABIgAESACRIAIEAQIAkSACJB3BUj0OrwtQEYmpwJEgAgQAYIAQYAIEAEiQATIEQGSPfkXIAKkKkC6vD4IEAQIAkSACJCGAZKxDgWIABEgAkSAIEAQIAJEgAgQAfJv/qGJBYgAESACBAGCABEgAiR8MiFA5n7WJUAEiAC5P0A6fUAhQBAgCBABcmSARLwxCRABIkAEiAARIAgQBIgAESAh+wIIEAEiQASIABEgCBAEiAARIKVBIkDGY02ACBABIkAECAIEASJArgyQ7EmnABEgAkSACBABggBBgAgQAVIWICuHaRUgewMka5kFyP4AmX2vESBrAdLtKHkCBAGCABEg2wKkKkI6BUj1pHdl2QWIABEgvQJk9wE9BAgCBAEiQK4IkC5vwgKkV4BEL7cAiQuQyAMgCBABIkDMPQWIjUCACJAtAdLhjbgiQHZMegWIAIkMkKplFyACRIAIEASIABEgZW9MAkSACJCeAVK57AJEgAgQAYIAESACpPSNSYAIkOhlFyBrz+XI7UuACBABggBBgAiQdgGy4805O0B2TXoFiACJeh2I2rYESMy2mPm+KUAQIAgQASJANkaIABEgNwXIbz9xy17nAsR5QAQIAgQBIkAEiAA5IkAyJp9vD5Dd25MAESACBAGCABEgAmTx9+rf1s/pE0YBIkCqtyUBIkAEiABBgAgQAdLqjSl7EiZA7g2Q6nh5S4Bkv9cIEAEiQAQIAkSACJDtAZI5GRMgvQIkYh0KkB7xIUD2Bci32xMgCBAEiAARIIOXzZpUrU5musdH5O/2Bci9AZL1Oi9ABIgAMfcUIDYCASJAjg2Q6ImZALkvQHbsP3LbmdAFiAARIAgQBIgAESCNA6Ryp+mI+9A5QCIm3gJEgAgQAYIAQYAIEAHSNkC+TXwEiAARIALktACJfK8XIAgQBIgAESAJkxYBck+A7DqErwARIAJEgCBAECACRIAIkKTnjgARIAJEgAgQBAgCRIC0DZDsT92jJmsCRIAIEAGSFQgCRICYewoQG4EAESACRIAIEAEiQASIAEGAIEAEyM0BkjXpjZiwvTFARg+DK0AEiAC5O0BGzwsjQBAgCBABIkAEiAARIAJEgAgQBAgCRIAIkLcGSFZQRE/UBYgAESACRIAgQBAgAkSAFAZI1mMhQASIABEgAkSAIEAQIAJEgAgQASJABIgAESAIEASIABEgZwXI6nV2CpDu26QAESACRIAIEAGCABEgAqRlgFROFAVI7TYpQASIABEgAkSAIEAEiABJe+M+PUCyg0KACBABIkAEiAARIAgQASJANgdI5b4Pu4MiI0Ay94WJ2iYFiAARILEBUrGPmABBgCBABMiVAVJ9/gsBIkAEiAARIAIEAYIAESACpEWARD5e1QGSeUJGASJABIgAESDmngLERiBABMi2AKlaD523GQGSf5SzrG3ylAD5baIpQASIAEGAIEAEyGsDJPLNLztAon/O1DVAor41eroubw2QlZ+0ZWzvpwRI5ra6M0Aynm+r67/qPEECBAGCABEgxwXIrslJ53NPnLa+d03kuq+jDtvfrQFySpCfuJwCBAGCABEgAkSACJBD19GbA+RNE3MBIkAQIAgQASJABIgAMYEVIAJEgCBAECACRIAIEAEiQASIABEgAkSAIEAEiAA5KECythkBclaAnDIpFCACRIAIEAGCABEgAiQpQLLfqCu3mextOGObzHocd2+TGQGS8RrY7XUj47W68r2m8ihY2e+J2Y9jh9cHAYIAQYAIkBYBkvlGLEAEiAARIAJEgCBAECACRIAIEAEiQASIABEgAsTc0wNlIxAgAkSACBABIkAEiAARIAgQBIgAESACRIAIEAEiQASIABEgCBABIkAEiAARIAJEgAgQAYIAQYAIEAEiQASIABEgAkSAIEAQIAJEgAgQASJABIgAESACBAGCABEgAkSACBABIkAEiABBgCBABIgAESACRIAIEAEiQASIAEGACBABIkAEiAARIAJEgAgQBAgCRIAIEAEiQASIABEgAkSACBAEiAARIAJEgAgQASJABIgAQYAgQASIABEgAkSACBABIkAQIAgQASJABIgAESACRIAIEAEiQBAgAkSACBABIkAEiAARIAIEAYIAESACRIAIEAEiQASIABEgAgQBIkAEiAARIAJEgAgQASJAECAIEAEiQASIABEgAkSACBAECAJEgAgQASJABIgAESACRIAIEASIABEgAkSACBABIkAEiABBgCBABIgAESACRIAIEAEiQASIAEGACBABIkAEiAARIAJEgAgQBAgCRIAIEAEiQASIABEgAgQBggARIAJEgAgQASJABIgAESACBAEiQASIABEgAkSACBABIkAQIAgQASJABIgAESACRIAIEAEiQBAgAkSACBABIkAEiAARIAIEAYIAESACRIAIEAEiQASIAEGAIEAEiAARIAJEgAgQASJABIgAQYAIEAEiQASIABEgAkSACBAECAJEgAgQASJABIgAESACRIAIEASIABEgAkSACBABIkAEiABBgCBABIgAESACRIAIEAEiQBAgCBABIkAEiAARIAJEgAgQAWLuKUAQIAJEgAgQASJABIgAESAIEASIABEgAkSACBABIkAEiAARIAgQASJABIgAESACRIAIEAGCAEGACBABIkAEiAARIAJEgJjXChAEiAARIAJEgAgQASJABIgAQYAgQASIABEgAkSACBABIkAQIAgQASJABIgAESACRIAIEAEiQBAgAkSACBABIkAEiAARIAIEAYIAESACRIAIEAEiQASIABEgAgQBIkAEiAARIAJEgAgQASJAECAIEAEiQASIABEgAkSACBAECAJEgAgQASJABIgAESACRIAIEASIABEgAkSACBABIkAEiABBgCBABIgAESACRIAIEAEiQASIAEGACBABIkAEiAARIAJEgAgQBAgCRIAIEAEiQASIABEgAgQBggARIAJEgAgQASJABIgAESACBAEiQASIABEgAkSACBABIkAQIAgQASJABIgAESACRIAIEAEiQBAgAkSACBABIkAEiAARIAIEAYIAESACRIAIEAEiQASIAEGAIEAEiAARIAJEgAgQASJABIgAQYAIEAEiQASIABEgAkSACBAECAJEgAgQASJABIgAESACRIAIEASIABEgAkSACBABIkAEiABBgCBABIgAESACRIAIEAEiQBAgCBABIkAEiAARIAJEgAgQAWLuKUBsBAJEgAgQASJABIgAESACBAGCABEgAkSACBABIkAEiAARIAIEASJABIgAESACRIAIEAEiQBAgCBABIkAEiAARIAJEgAgQBAgCRIAIEAEiQASIABEgAkSAIEAQIAJEgAgQASJABIgAESAIEASIABEgAkSACBABIkAEiAARIAgQASJABIgAESACRIAIEAGCAEGACBABIkAEiAARIAJEgAgQAYIAESACRIAIEAEiQASIABEgCBAEiAARIAJEgAgQASJABAgCBAEiQASIABEgAkSACBABIkAECAJEgAgQASJABIgAESACRIAgQBAgAkSACBABIkAEiAARIAJEgCBABIgAESACRIAIEAEiQAQIAgQBIkAEiAARIAJEgAgQAYIAQYAIEAEiQASIABEgAkSACBABggARIAJEgAgQASJABIgAESAIEASIABEgAkSACBABIkAEiAARIAgQASJABIgAESACRIAIEAGCAEGACBABIkAEiAARIAJEgCBAECACRIAIEAEiQASIABEgAkSAIEAEiAARIAJEgAgQASJABAgCBAEiQASIABEgAkSACBABIkAECAJEgAgQASJABIgAESACRIAgQBAgAkSACBABIkAE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" + } + ] }, - "labelFormat": "PNG", - "labelData": [ - { - "packageIdentifier": "PKG002", - "trackingNumber": "1Z6A34Y60369738805", - "shipMethod": "UPS_GR_RES", - "shipMethodName": "UPS Ground Residential", - "content": "iVBORw0KGgoAAAANSUhEUgAAAyAAAAV4CAYAAABYfbnIAABfDUlEQVR42uzd25LjOJJAwf7/n+592UttTaZEABGBAOhuBrOZrtSFFCXhSCL5zz///POvYRiGYRiGYRhG0fjnXwAAgGwCBAAAECAAAIAAAQAAECAAAIAAAQAAyA2Q/zm81rd///Z3I387epu/jdn7EPU3I/f1yf3/6d9n7uun2/vt+maXN3O7WV2m0XU7s709eRxGH6snf/vktqO2ryfLFrG9P13PAMAlAfJ08rF6XU/+bubfRv/76v2Yvf2ZOBudAM/eh9XbydgeRv776OP5dF2PLMNP/z1imUYuH7l9ra7PmWVg7HV7JeBWozviNkZfY6M/ONi1XgAESECAzH7iPTORHp0gzk7YBEh+gDz9lLxzgERF8UxsjD420dc1s12tbn/eBNYn3tkT+E4BknUbAAJk4QpHJ26f/mZkArTyxrA6UXq6XBEBEnFfs8KgKkBWtpvZx2D2ulY+RY5ez9HXnREzI3EtQHI/LIr6mWrmZDvqejOWIeonxAAC5GGAjExcnkzkn34CmzkRG53YZ0wUoz5Nj1rGbgHyZLuZvf87AiR6W1n571nfvERufyZx8RP32X2BqiKkKkBGl2Hm2yMAAdIgQEYm2LMT2cwA+WnZBEh+gEROjiMez9nJxcwnrVlxMLp/RXWAiJDciXtEgETGwq4AyVpW2y0gQILiI2Ji9zRkZl7MI/bTGJmcrwTI06MgZQbI7H3I/qnXzLqeOarSyuMZvePqyuM0cp0r21B0gKysBwSIAAG4PEBmJ3afJnVRE6+VCfvOAFmd2N36DcjsdhPxbUFVgIxOAGfjPyL+MgNk9gMGE7vn21WnSf7bAgTo84FL1jy44uAYVXP4VgGy+mnop5/WVOwcmzk5/3OZBEh8gERuNyPbUWWAfJswZu0v0jFAMibY1E/yO9+36EPI2wZh/+tW5nMxMhSqA2TXkfraBUjU5DZiQjzzN9kBMvN3tx4FK2O76RIgmT9vmj1fxuiBISKOShWx/Zj85YVvh08gd+6EPvvGDuwJj8SJdPrrR8brc9TPa7cHyOoEeOZIO1GT7uzzNMxsJDsCpOowqJHne8g8rGzE47k7QCLPmbG6zJGH4X0aRCZ9+yf4lW/+GdeT9VMKoOY1q8sHIJH73kW8z2WEU2mAzNRZ1VF7Zg7lGzmBrQiQyEm4AOkdIJnLVBEgGet/dZmIn9xv+B1xeIBELYMTEMIdH6Q8eW5H3hcBsnjnR158n37qFHGbq0cXWn0gM54sK0dBWvnE4NPjOXM7o/dn5NPKkW1h9fFcmWhEbKOrz53ZAFk5v0TUY2Vi1zNATvoGJDocRAjcHSDRl+vyAU7rb0AA8Iad8WnhrgDJWAYRAne+nq1cfmeA7Io3AQJA9RtOq4nA6PVk/ywLeFeAVPyqRoAA8Mr46DoRmLmezJ99AQKkS4AccRQsAO55k37LRCAjQJwrBARIdIDs+OZUgADQIj6+Haa280Qg6nj3UQGS/QYPCJCO8SFAALwxT02YBYgAAQFy50+wCgPHix7Am9+URy/z2xtV9VFdqgNkdOIgPkCAnBQgxT/vyrnzTxZs5rwVMytw9XwUEcs+extRX79FnXdhdZ2Nnhsm6lwi3uhh/jVy5EzhlW9qlQEyc26ekfUPnBEgq9fZ9TC8lbcZFiCjL8y//du3/xbxM4Enn+bNFubIRjUTbrP1++nyO9ZZxFnvv50Je/WxBAHyT+gJTjPPKRL9AcrKcvhABATI6uWqXyeqv3HZ9g3IkwBZmXRHTqZnJvozk++Z259dFyshEbHOBAjcFSBPrrfLfV8NkKj7CNwTILOvDR0CZOUgJMcEyKfLPP3vq7+5i5isf7qvqwUZucxZ8bJ6/TNP1ortEAAQIBnXu+N8Q9Hx8ZoAqZ6QRgTI6uQ7+tP8iB2lKgIk4lsRAQIAVE3mZ/YN63KEvMxvgY8IkNmdd6om0yMbS8cAWYmQrHUmQACA3RPrbrdZHADvDZDoo0xFTaZnftP39PZWJucRR+haPeZ/5PWu7twqQACA3QESNV8TIIUBMnrdmffr6Q7WERPqmQCJmGBHT+Jn1plvQAAAXh2JewKk8tuPjInxk3/P/nlSVP12WmdRj7sAAQAQIP/xd5WTydUdqk8NkOj9UbLXmQABABAgZRP9p6FSuUP1k0l8VExkHNJ2Z4DMng8mYod+AQIAIECGJ4eRk8uMyfTIiWSqJuxR912AAADQNkAid8J+cp2rRxR48nffYmLl6E0jy5N1ZuId62x0eWaW3RmHAQBeECAzsQIAAAgQAAAAAQIAAAgQAAAAAQIAAAgQAABAgAAAABwQIKvno3hy7odvt/f0v2Xc96fLFnFfIpdp5vFcPRfK6H3I2uZWb3/2bwEABEjwiQhn/+7TZPe36xm97sizaf82EZ9ZppUziWedBXxk3T+JgNkAenrfItbD6skdAQC4JEBWJ+yzk/Wnk9CV2Bi5jQ4BEr0OZwMk8/ZnwwUAgIMC5Onfr4ZE5OR19d8jAmR0mVYez9n7OXq7s4/J6LdoAgQA4KUBMvpNQ8VkPWJSGREoT+5fRYDM3M+Z2FyJwtFoEiAAAALk42Vmv034Npk+PUCeLtPsfR+djM9M/p/Gy+w3IKP7aggQAIDLAmR0YhgZID9NlE8PkCfLNHPfZyfuK99+RAdI1DoXIABHT3auux4QIEXfgKz+BCsiQEYPq3tygMxc12p8RAZIdMx6IwFOmWyPftg38t729L169BD1ka+lUdfZ7XpAgCRN/n57sYs+mtXoEayiJ7EZ0TYbDd9uM3NCPvKGJEAA1l6XMj84W/k5beRrqW88QICETE5XXjhnJ+urk92nf/M0wHYGSHZkrj6WAgQgJiRW9slc+TntrdHgPQI2BMhKQMye72Nm0rozQKJ+Vvb0DeLkAJkNMgECCJD895fdASI+QICEBEjEi2bGGcUjJ7HRAZQVIBmT99kAiT7rvAAB3hYgo6+TT75hj37dzN4HUYDAwQHy9Df8MzujPT2s6rd9BqK+zYjcke/JOnzyt9Evet+uf/SxyXjRzngsRnaKrNiBEqBjgDz9m10BMvo+ccL1gACBRm+eAMRP8GePHll1/z797bcPyE67HhAgAMDrAuTJz6l3/FRq5Dqjoqf6ekCAAACvDJCZv+kUIKf+DQgQAOD6APk7KASIAAEBAgCkB8ifB3oZ/XcBIkBAgACAAHn8N6NHZRQgAgQECAAIkOlwiPqblYl35HlAos7vtON6QIAAAMcGyMyhZKMCITtAfrtM1Al/s68HBAgAcGx8RJww9enPiFbuW3SAjNzO6Il/s68HBAgAwEsmQ52uBwQIAIAAESAgQAAAxAcIEACAMyZAba4HBAgAAIAAAQAABAgAAIAAAQAABAgAACBAAAAABAgAACBAAAAABAgAACBAAAAAASJAAAAAAQIAAAgQAAAAAQIAAAgQAAAAAQIAAAgQAABAgAAAAAgQAABAgAAAAAgQAABAgAAAAAIEAABAgAAAAAIEAABAgAAAAAIEAAAQIAAAAAIEAAAQIAAAAAIEAAAQIAAAgAABAAAQIAAAgAABAAAQIAAAgAABAAAEiAABAAAECAAAIEAAAAAECAAAIEAAAAAECAAAIEAAAAABAgAAIEAAAAABAgAAIEAAAAABAgAACBAAAAABAgAACBAAAAABAgAACBAAAECAAAAACBAAAECAAAAACBAAAECAAAAAAgQAAOCwAPnvK/5xjP796mW+/d3o3367X6vrJ+r2s+47AAC0CZDZifOpATI7mc8MkKqIAgCArQEyMjleuY7Zy6x8e/Bkkj+7rlZue/Z+iRAAAI4OkNEIOD1AViMkI0BG74sIAQBAgBwUICuT+JUA+Wk9zsaQCAEA4OoAybieEwNk1zqIWicAANAqQGavU4DU/5RqZjlFCAAA7QIk4uhQAqQ2QDL2dwEAgPAA+RQhKz8JijwkrgARIAAAXBQgTwLipgDJmpB3DJC//w4AAFoEyJOQiJ5MdzgPSOa66xIgAADQNkC+hchpAVJ5JnEBAgCAACmKkJMCpGp9CRAAAARIQIScFCAbHpSyEwqKDwAAjguQnTt2C5CaExECAIAAESA/XiYjXIQKAAACRIBMX251nxgAAGgbIKcfBeuEABkJhYjzswAAwPYAmT16VOZlRu5Tp6NfVZ1RPjJsAACgJECeTHxXJswCJOYQu1HXBQAALQIEAABAgAAAAAIEAAAQIAAAAAIEAAAQIAAAAAIEAAAQIAAAgAABAAAQIFUr4tczhs+eRX3mNlfv70/X8/S2VtdBxPKNXi77fsw+Hl0eewAAAXJQiIxOdp/+zezfj0y0M25ndcIc9TjMXP/s/Z7dfjo99gAAAuSACFn998hP2qMm2SPXEzUxn50Uz3xjEnU/Zif0nR97AAAB8pIAiZgYR35y/+TfI4NiNUCiYm90Ha4sa9fHHgBAgFwcIFETzOgJ/5OfaXUIkOjYm5nEryxrx8ceAECAXB4gGdcXuYw/7awePcnNDpAnf7vyLULmZXc89gAAAuQlATIzOc6agP52FK+MoIgIkCff1kQGSHS8dHrsAQAEyOUBsjLRzJyErh4GtmuAzP60bOaxO/WxBwAQIC8JkNHJcfYkdOVITxUB8unyI5P91biKCJhujz0AgAC5OEBmJ7cCZCwqIr7BWFmGkx57AAABcnmAzEyQV88ePnpG7s4B8mR/j5G/nXncVo5q1e2xBwAQIC8KkIydp0f//oR9QHYEyLcRGTG7HnsAAAHykgD56d93TEJHj9a0e2I8csSumaN7VZ00UIAAAObaAqQ8QP7+m8hzQYxExG+X7XQiwp/uW/SJIEcj5fTHHgBAgFwWGDP7XlROQkd+vnRygIx+q1Ox7ex+7AEABEizAImYFM7uc/Dk76riKvr+RGxjs7cbGVQrJxbc/dgDAAiQxgGSOcmfmWBGTaYr94eInhRnhc/o/Ys843rlYw8AIEA2B8jM+SKyfjYT9al59KfzK38XPSF+a4BEPPYAAAKkSYCs7Ffw6UhS2T+dGbmtp38bvV6it6vofU9Wz5ny087k3R57AAABAgAACBAAAAABAgAACBAAAAABAgAACBAAAAABAgAACBAAAECAAAAACBAAAECAAAAACJBfVsT/G7PXsXL7lcv30/I++btP62rmMtnrq+L+zNzuzDrLut8V67NyOaOuf/frAgAIkIvD49PEY3SSszJBqlq+n+7D6KTpyWRz5rJZk7qn66J6u5pdj7sCZHZ9Vi7n08uM3m726wIACJCXxsfTycbMpD3isqOBM/N3qxO4iAng0wle1eMdfTurk++obSZrff79N5XLOfpBQOT9yX5uA4AAuThAZqKiy0+wVu93VYDMLPuTCW3F4x11Gx0CJHt9Pv2pU2WArGy7Va8LACBABMgRARIxkayYiK8GjwCJ/bYm+zETIADA6wMkevJwaoDsmoivBkjG41O93Lsnr9nrs2q9R63XXcsPAAKE/7eCKiaL0b/nz76ejAnl04lq5oQxKkA6xeTO9SlABAgACJDEyZ8AyQ2Q1Z+KVe+E3uGbqNHrfkOARP3cS4AAgAAJnZyceh6QiuvJmlDOBEjURDDym4vIw7BWB8iusBAgACBAXh8fmeceOClAZk8MlxUgERPBqnM0RJ5QL+v+ZU6sR5a5apI+G7kCBAAESGmMvDlARievWQES8e3Fykknd4XI7hNUZl+HAAEAAcKmSZQAGTtre/S3MhWTxI4BErE+u3/TM3IbAgQABEibCBEg+ZfPPi9D5KffVWGbcZ+q1qcAESAAIEBeECBR19XpPCCj+3d0D5Ddk9eq9dkpQDLWtwABAAEiQAIn/6vLXR0gUYFRFW7dA6Q62LoEyMh24kzoACBApiYkXSYaGZO5qoDIPJ/EzPVUHz74pACpXp8dAiTjYBICBAAESMok/cSjYM0G1q4AeTLJjVqPXQJk5+S1en2eGCDRyy1AAECAPJr8nnoekN+Wb/RwqasBEXWOiB0Tx4jHMXryGjnR7xwgO3a4nwlrAQIAAiRskj5zhKKZw5FGHAY1ejmf3qdP1zP69yP3d2b5Zh/j2cch6vGM3iZ2r8+q5Yye/Fe/LgCAAAG44MMFAECAAAAAAgQAAECAAAAAAgQAAECAAAAAAgQAABAgAgQAABAgAACAAAEAABAgAACAAAEAABAgAACAAOmzYr6OU5cF3vgc7v7acsL1f7qt7Nfd7vf/9vsFIEA2h8e3N4eZ68l48426rozl+fv+dLyN3euo+3MgOgKi1knHDwx2Pdcz1kP09VY/L7p+oNTl9fr26wcESPv4mJ1QdQ+QDpNrAXJ3gEReJipAdqzT2deVyNiqmthmrJ/KSOsapwJEgIAAeXF8/Pa30df/2+W6BEjWOqy4jajHpfNj3uUT2cjL7trud76uRK+rrKCLfJwy7nvm/a+KfQEiQECAvDw+ZieJOyajkS/UAkSAVP8MKvObqF3rL3qbyf770clg5vMjO546xKkAESAgQF4cIBmTIwHy/TorbkOA1ARI9ATkxACJnDDvuP5v22OHAFn5sKhTgETfr+xlOv36AQHScoI1elkBIkAEiACJWoZuAZL52pn9DVHVdXV5TxIggAARIFvf7KK/rhYg90xwKpYjMkB2bve7HvvbAyRyuxIgAgQQIAKkYYB8m5ydNOGOvg0BMj+pn43LiHDstN3vmpwLEAEiQAABclGAnDBxFiACpOtz5Onhj0cuL0DiDt3bJUBmJpoCRIAAAuTqAIleJ7MTsMgX7x1nYBYgNY95p0nR0wiIDpBd2323AMk41G+XCbwAESCAAHlFhOyYnGcFyKdlFSACpGOAnLDd7wqQmQg55bkjQASIAAEB8voAqX6zFiAC5JTnyMgEd2aSLEDmA+RbBJ7wfD/1ud8xQLLOM3Li9QMC5LgIyTgjefYLd9VkTIDsecy7BsjMuq4+THTFJ7iZh+Kd3c5O+cBBgNSfiPAN1w8IkNdEiAARIKe/gQqQmm2r4uzRpwXIqa9XJwaIM6EDAqR5iGS9qWSeO+Db8gkQP8GaXZ6Ic1dEfFtQvd1XhETGhO2UCfwt3+CcsF6zt4+Trh8QIFdEyO6dcKMmRwJEgDzZxyAiYk7Z7mdfRyICaWSfj1N/wiRA/tn6vH779QMCpG2MdAyQHV9dCxABEjlhPmW733X/onZUf9PzPeK6d+wvuPu5LUIAAXJohGRPRiMmOW+ckAiQuGXaESAdtvuI5+jqNrP6M62Oz/eu1y9ABAggQNqESLc30x0v2gJk/0RiV4CMLOeT6zhpu9+xfVfv4H7jc0eACEpAgGx/s78pQHa9aAuQdwZI1HMhe/+P7o9N1RnNu0+UTz1KmQARIIAAaTd5iTyKVuQb9mlvnF0CJHuSuLJ9nhggERPBXdt95np9W4DMfpN204RVgAgQECACRIAIEAEyGBC7ruO2AMl6HnR8vq++pgqQ9efF7M//Trt+QIC0e6G/IUCiJpMCRIDMxMOu69i53e/Ypm8KkB2P/60Bkn2UxtOvHxAgVwVI9ZtKxDJkTMYESM1jLkB6bfenTzZ3Phd3BvpbAiQyaE+/fkCAHBsgOz6hESACpPtzR4DUb8u7J2oZ97/yEMpv+QlW9M/5Tv97QIAc90K/69CXuwKk+ic11bcR9Wlb9WN+wyRpdR112e53T3yrdlzPfvy6BEjXo6FlfTNWeU6rLtcPCJC2L/QRb3rRb7DRb8hR17dzotDlcal4zN8SIKuPXeW2tDs+nk5YI5at4izunV7vdsborte57Pvd6foBAXJkgOz4hE+ACBABcmaA7IybzJ9XCpC+ARL5nLn5+gEBAvCKDzpuvU0AECAAjQIEABAgAACAAAEAAAQIAACAAAEAAAQIAACAAAEAAAQIAAAgQAAAAAQIAAAgQAAAAAQIAAAgQAAAAAECAAAgQAAAAAECAAAgQAAAAAECAAAIEAAAAAECAAAIEAAAAAECAAAIEAAAQIAIEAAAQIAAAAACBAAAQIAAAAACBAAAQIAAAAACBAAAECAAAAACBAAAECAAAAACBAAAECAAAIAAAQAAECAAAIAAAQAAECAAAIAAAQAABAgAAIAAAQAABAgAAIAAAQAABAgAACBAAAAABAgAACBAAAAABAgAACBAAAAAAQIAACBAAAAAAQIAACBAAAAAAQIAACBAAAAAAQIAAAgQAAAAAQIAAAgQAAAAAQIAAAgQAABAgAAAAAgQAABAgAAAAAgQAABAgAAAAAIEAABAgAAAAAIEAABAgAAAAAIEAAAQIAAAAAIEAAAQIAAAAAIEAAAQIAAAgAABAAAQIAAAgAABAAAQIAAAgAABAAAEiAABAAAECAAAIEAAAAAECAAAIEAAAAAECAAAIEAAAAABAgAAIEAAAAABAgAAIEAAAAABAgAACBAAAAABAgAACBAAAAABAgAACBAAAECAAAAACBAAAECAAAAACBAAAECAAAAAAgQAAECAAAAAAgQAAECAAAAAAgQAABAgAgQAABAgAACAAAEAABAgAACAAAEAABAgAACAAAEAAAQIAACAAAEAAAQIAACAAAEAAAQIAAAgQAAAAAQIAAAgQAAAAAQIAAAgQAAAAAECAAAgQAAAAAECAAAgQAAAAAECAAAIEAAAAAECAAAIEAAAAAECAAAIEAAAQIAAAAAIEAAAQIAAAAAIEAAAQIAAAAAIEAAAQIAAAAACBAAAQIAAAAACBAAAQIAAAAACBAAAECAAAAACBAAAECAAAAACBAAAECAAAIAAAQAAECAAAIAAAQAAECAAAIAAAQAABAgAAIAAAQAABAgAAIAAAQAAegaIYRiGYRiGYRhG0bASDMMwDMMwDMMQIIZhGIZhGIZhCBDDMAzDMAzDMAwBYhiGYRiGYRjGCQECHH0kif8dAABHHAULECAAAAIEECAAgAABBAgAgAABAQIAIEAAAQIAIEBAgAAACBBAgAAAAgQQIAAAAgQEiAABAATIx0nR7IQp43LV97PTMtx+P29YPgECAAiQxYnR7KQp43LV97PTMtx+P29YPgECAAiQiUnRn5OjT/82e50Z96X69qqX4fb7ecPyCRAAQIAIEAEiQAQIt70JLG+Hb1w3HdfRifc5+j3ftvfu9eIxFCACRIAIEAES/mI9Mjq9we1anlvezE/ZDt1n26THsc96OfF9TIAkPBARkyb7gNhHwj4gAkSA+ISu+/bnPucth23vHevnpHXS5f1LgPzwoHz7t5EVnnG56vv59Dpn72fGv2Xcz5H1svPIUxn3c+RyAkSACJBztrvs9ZZ5n0+IJ9ve/evolHVyw3Px2gDJnEDdcLmsT8UrH6NO3xLdsOwCZN+Ld5frrngz8ia4FmAnRuMt8WTbu3s9Za6X3fdThDQKkE77g1RfLnO/gKrHqNN+Mjcs+5sDZHWCcsqk/NRP7t4YH5XX0+0+V99vn+733vZOWjdd3iu8/goQASJABMgLPyXsGiBPb69b6ImPvRPBHfc5+ttZAXLmtnfiutm5XXd+zxEgAsQk3LILkAs+qd35Glg9MRQfeyeCu34WKEBse8Js/wcBAqRow3vT5ewHYdntA9LjxXnHRGjXm43f3u/5aZ3r/mfqQ523BEjHx1CY9bjOi9/f7zkKVsRRjaLu58x6iLq9kdufXdez6zNivUQtX/WyZz62bz9E5U0B0ins/Pb+zonUjut+w2T6tm1PgPS5rwKk8SfHN3wSX/ETj66X6/QYnbQtCRABUhEfb/j9/akTqROeX2+YSN+47QmzXgFy4c9hzz8T+g37IlQ++bpdrtNjdNq2JED2/lZdgPgE+sQJT9fJqyM7vWvdCZC+HwYIEAEiQATIqwOk4oV5x4S80/4fb3jzEyACxLb3z3Hrpds3fAJEgAgQASJABMiVAbJjPY6ugxu3oa6TTQFyf4C8dd2dGGYC5IAA+TYxsg9I3WTSPiA91pl9QO4MkOjf/O4KkJvfAE88WaAAuWP7O3nbEyC1QSlAkjawv//3t3/77TpG/zb6fj69jtnbzrq9iHVdcbnZ66y+vYj7KUByAmHHpPyEAHlyewKk3+11+ZmKAHnftnfyh0rZtyVADgiQ1U+GT/kG4s3nJPFve7fdNwRI5ovzjgDZ8eby9PZufBMUIALEtidAuq8XAVL8xnfDPhhvPiu7f9u/7QqQewJk1+uwADk/QDI/eb35sbLtCZCTAuTC93QBIkD8mwB5X4Ds+llS59e2G3dGf0uAdDqxmkmYALFe7oskASJABIgAESCJk7vsN6/ur20CpNftZUZIt8dYgAgQAXJ/fJQFyLdJkn1A7ANiHxABsuNToh0B0nn/DwFyR4CMHpyk0+MrQO5ffzteXzq/pr3x24+SAKk+klDEEbKijmYVsV5GLvd02TPW341H1sq4TkfB6vNCPXL5itvtEh+jE16TwJrbyzhEtACx7QmQ/t/4XX50y14/DTn50+jT1ssNy95p4u48IOcHSPYb++k/Lb01QLqfjyH6XDV+imLbEyD2d7oyQE7ZT6HLE2/Herlh2avvS8ZjJEByJmECRIDcNglcjZAnZ70/4bESIALk1AC58SAfAkSACBAB8qYXrSMDpPrNJnP/ABGyZxIYESF2TrbtCZD9h/19a3gIEAEiQATIawMkc7+I6u0u8/YESN9J4G3hIUAEyJsD5I3sA9Lgybdzvdyw7J0m7vYBuTdAIt7cBUj/7abirOJdPmn1DYhtT4D4BuTKAPnzgRj9u+yjYGUfSWtkeauPgtXlxadqW5rdziKuM+pxFyCxbyZvCJDqw7+aCNZPoG/8KdatE7Tbtj0BUvO8FCDFG2P25KrTNwmdvhG4cWK689+qHj8BMvbiXbFfxOhluwbISZ+qZkwMOk4CM/cB6fB4CpC+254A2fccFSDFb5KdfqffaT8EvyGse2wztonsT70ESF6ArLzJd4iP7MO/3jgRjD5vStYn3BkTIAFi2xMgc7eVsS0IEAEiQASIABEgRwbISROGbpPAnZ9mRv/UsPOkR4Ds3fYqbs95QM4OSAEiQASIAHltgMy+oVTtF9E1QG792c5JE8EdE/KTHtfbJ2Hdtz0B0n+7ECCJKz57cmUfkPdMSnf+W9XjJ0D6BcjIT2Ju+5TVRDBu/ey4vt2P6xsmYAJEgIiQJgHy54r/6f9XHAVr9mhI2Ufkml2G2fuy47GOvp8VR8GKOJqVo2CdGSAzk6Q3fPvxhkOkrpxhvPKnVxnLLEDese0JkPPe1wSIT7GPvL3qjdq3T7XrVIAIEAFS981A528/VpdZgLxj26t6PegYIKe+rwmQ5JW/49+q72en9XLKY5txXzIuJ0D2v1hXH+7yp2/Mdv38qnqidPM2VTXB6XguEQFy/7YnQESIABEgAkSACJCmATLyhtZh/w9vjH0nj7snSwLEttc1QKo/PBEgAkSACBABIkCuD5Cq9eGN8awJYNdPhwWIbU+ACJCrA+TbhMo+IPYBsQ+IAIl6s6yYKN3y7cfo+rYdnhMgnSb+tq29296Nk2wBIkCmHoCVf4s6StSnv4u4vd1H3co4ulSndTa7TE8v5yhY50bIybe9I0De9Oa4cwIoQGxbN8dH9WNdcX4er7EXBUjHSVmnbzWq18sN3zx12s6cB0SAnBgfo8tsAnjOJFyA2PYEyNp1CRAB0uoM6tXXmbFebtj3ptN25kzoPQLk9NveFSBveoPcNXkSIALkDeuoy09lo07S6PVVgAgQASJAvCG/PkBOnzicvs2dtn4FiG3vxpiqPESx11YBIkAEiADxhtzyMKan//xqZplNAM+YiDsRoW1PgOwPAwFy4ZM0+zrtA2IfEPuAnBMgt8TPrgB52xvljglgt2/yBIj4OO0x33GCRq+pjQIk4whBEUdtyrjOqKNLRRxh6dNtRB15KuPfZrePjHWWsY1HHI1MgJwdIBXL3mmdmwD2n4wLENueABEgVwXI7d8KVC97xn055ZwrN0zAs9aLN+fxELjltrv/Vv+ynSXLl7HT+WwEyLu2vdOXs+LQu9WxdOkHOn2OynLKfhHVy55xX04563zXCVjF4yBAzngBf2OAvOVNc/fy7Z70mHCLjxOX96RIePnPWQWIABEgAkSACJAzlvttk7+Mddztcdv9U0bb3j3LfsthfV9yMA8BIkAEiAARIJ1ve+Wkh7tPunjaG+qp3ww8uW8nHazhxm1LfOStg66HXxfbxQGyMjGyD4h9QHY/ftXPB/uAnP/mLUDOf1Ptft9PnsALkLO3vRu2dc/FFwXInw/S3/975XJPr3P2iFUZR54a+buI5VtZF5X/Vr2ud19/1OMpQObeFE6OHwGyf6Jz8+SsQ6C/bdJmIlq3zXgevjBAVidJN3xCX718p764uJ93r8e3B0iHNzsBctfk76THQ4AIjx3bzknPxZc+rnvemFcud8o+CtXLd/oLivspQKDLhOHmSRq2Petu73PRYylABIiJvQABExnPIWx7IEAEiABxPwUI1D23wbYHFwXIyiTJPiD2AXE/BQhkPW/AtgcXBkjEEY8qjnT19N8y7lvUUbBO/iakal3PvhHsPuKYAAEABMhhE6NTzoXx5pPR3X5OEucBAQBoeCb0iolt17OBdzqD+psfo07LIEAAAAEiQASIABEgAAACRIAIEAEiQACA1wZIt4mRfUDOi5Cu67p6GQQIACBAJiZHf//vT3838m+z9+XUf5tdvqp4WL1cxpHDZq9z9vFyFCwAgI0B8mSSdPv5Ll6yEZV9a1P9DVL37dNzBAAQIF8mSG864/fb4iN7v5XqfWhO2D49PwAAASJAWkZB9Y7XAkSAAAAIEMERGiQCRIAAALQLkG+TJPuA9AiPTvtyZGxLt26fniMAgAD5YXL09//+9Hff/i3jKFEVR+E6ITpWv0VY3Sayj1g1sgyzR92KWk8CBAAQIA0mRm/8hHt3fJx+nozK+7kjFAQIACBA/v33mB2eT/yNf3QoVIXIKY/DaWerFyAAgAARIOXxccLtCRABAgAgQBoHSFV0VN2+ABEgAAD2Afm35z4gO8Mj877YB8Q+IACAACk7ClbUdcwemSniKFgVk7xO8ZEZIaPrOmNberq9ZByJLeoxFSAAgABJnPjunJRVTPQ6xseO+3b7Ebgyf5oIACBAgie8WZervs7M29i1M3m39fDkOqv3P8k+uhgAgAARICXXX3mej8qdqgWIAAEABIgAaTTh3nXCwax1IkAECAAgQNpEyM5JWcdvP3ae9fy0Q8vaBwQA4OUBknHkqcyjDEVe5+okPis8Op7f4sn2Er3Njfzb7m1JgFz94vw4jldeK55cduW+VX7QEfU3UdcZ9Zqbvc6zlzHj8Y16jmQ873Y9r1fuw+j96XrAHATI9KTpLUe+yo6P3ddTtb2cOqG0bhAgAkSACBABggBp8Mb69h3PV184opd15X7tDrXTJpMCBAEiQASIABEgCBAB0ipAKs7DMXsbAkSAIEAEiAARIAIEBMhhR77qMhHv9i2IABEgAkSACBABIkAECAIkddL01iNfdZqEd/8W5IYJpXWDABEgAkSACBAEyKY32NF/e3qdXY9clP0CvStCVqLlyb89fRwqjmY1u407ChYCRIAIEAEiQPAe1/w8IJ0mZZk7fEf+feQLROZ9zTgvR/X5PGa3F+cBQYAIEAEiQAQIAuRlb9w7r7Pi249dh9h9+rcZZyavPqP57HpzJnQEiAARIAJEgOA9ToAcFSBR8ZGxc7kAESAIEAEiQASIAAEB0ihAsn9+lXHG84y/FyACBAEiQASIABEgCJCr37y7XOfuF+ZdbxCj69M+IALEi7MAESACRIAIEARI2hts5L99+rvIyd7sdWb+/Orpi0H2tyAzf/vT/8/YPqK2idltMPO+ePEXIAJEgAgQASJAECAJnw6ffo6Q7In87m81ZsJp10T6lvPNePEXIAJEgAgQASJAECALT8Dbz5LeadLf/b50O9Fit21JgAgQASJABIgAESAIEAEiQASIAEGACBABIkAECAgQASJABAgCRIAIEAEiQAQIrw2Qb5Mm+4C8L0B2TKTtA4IAESACRIAIEAHC5QEycsSjiKNgzV5u9shFHY4mddpO6KvrM3MbfHq5jPsiQBAgAkSACBABggBJ/IS308ab/c2Mw/Du2yY6nT/EeUAQIAJEgAgQAYIA2fRG2mkDrtg3xYkI92wTnc6g7kzoCBABIkAEiADBe5wAaRkgUX+/OhHI+HsBIkAQIAJEgAgQAYIAESBFk9RdR5TqdOQuASJAECACRIAIEAGCACl9M+06garYTyDzxXn0TS/zzX/0b7O3CfuAIEAEiAARIAJEgPCCAJk9ylDE7c3exux1PD2qUfZPoCJfIKp+rjW6vVRvgxlHaXMULASIABEgAkSAIECS30Cr37BPuS+ZLzTZE6DM2Om6DXY7T40XfwEiQASIABEgAgQB8m+vM1t3PMt21iF2dz5+O7+p6XCdu86u7sVfgAgQASJABIgAQYAIkPAAqVyOip3VBYgAQYAIEAEiQAQIAkSAFC975CF2s+975rcfAkSAIEAEiAARIAIEAZLyBlr9ht31vqxM2iPe0DOuN+K+2AfEPiAIEAEiQASIAEGAhL2J/v2/M67/221E3JeZJ/lvl+t6iN3oT/Cjji61cxscOVpXxbYlQASIABEgAkSACBAESLNPok+5XHY8rI6o+DjlW6nVx6/DRBUBIkAEiAARIAKE1wdIp9/3d7xc9gtJRnjMxMcJ++WMXK7Li68XfwEiQASIABEgAgQBIkDKAiQjQqIeAwEiQBAgAkSACBABAgKk6eUi1lFVeESElQARIAgQASJABIgAQYAcN0m6YR+QrCdzRnTM3E/7gAgQBIgAESACRIBAaYBUHwUr477MHvFo5nIV5/qInhB9Wo5vy159BKnZ2xtZBgGCABEgAkSACBDYFCCdNsrqT79XPjXvGCEz8RG9Xiof25Mm/F78BYgAESACRIAIEARIsw2z+vf/EfsNdIqQlfiIXi8Vj+0p27UAESACRIAIEAEiQBAgAiR0op111vOI8Bi9zwJEgCBABIgAESACBARI8wAZefOqio6VF0UBIkAQIAJEgAgQAQL2AVm4XNW+DpmH0824fvuACBAEiAARIAJEgMCWAPlzA91xHRlHPBq5b7NHgooKhV0nKFxZ9uyjYI3cz4zLCRAEiAARIAJEgOA9rug8INWTq06fbu/8NmRHfGQt+03bmQBBgAgQASJABAgC5NA34A6Xm73O1dvrGh0Vy37ydiZAECACRIAIEAGC9zgBcmSAZIVIxeMnQAQIAkSACBABIkAQIALk0ABZDZIdj58AESAIEAEiQASIAEGAHPEm3PVys9d5+xPXPiACBAEiQASIABEg0CZAso9KtfuoRtFHwYpanxWXe7p8UUccy9jOMraXzOXz4i9ABIgAESACRIAgQBImTZ3OI1F9P6vXZ6fH4ZTHdsc24cVfgAgQASJABIgAQYAEv6E8udyb9/votK/Mmx/bXduEF38BIkAEiAARIAIEASJABIgAESAIEAEiQASIAAEBIkAEiABBgAgQASJABIgA4XUBsjJpsg9I3frs9DjYB0SACBABIkAEiAARIAiQ6SfeT/+/+khJUfdl5DZ++7eM29t9ueyjRM1uL7PremQbjFg+AYIAESACRIAIEARI4qfGnb4tOOW+ZExIu32yX/n4nXyuFi/+AkSACBABIkAECAJk4InSaX+JU+5L5Jt15uVOefxOOWO7ABEgAkSACBABIkAQIAJEgAgQAYIAESACRIAIEO9BCBABIkAECAJEgAgQASJABAivDZBvkyT7gNgHZPfjZx8QBIgAESACRIAIEC4JkOwjF3W+L9VHwXq6DFGXO/HIYSOP7dN/W3lcIh9rL/4CRIAIEAEiQAQIrw+Q28/dMHu56ifr7d9sVN+e84AgQASIABEgAkSA0DBAbj979ezlqp+wt+/bUX17zoSOABEgAkSACBABggARIAJEgHjxFyACRIAIEAEiQBAgAkSACBABggARIAJEgAgQKAqQlYmRfUD6Pw72AbEPCAJEgAgQASJAvAfRLkD+3ECrLvf0OmePzDR7hKWK5ctehtmjg2UcBStqe8w+ClbFNuHFX4AIEAEiQASIAEGAHPbGHnG5U56Abz6HRqdvPDpszwgQASJABIgAESAIkCZv6qOXO+VJ+OaziHfa50OAIEAEiAARIAIE73ECRIAIEAGCABEgAkSACBABggARIAJEgAgQASJABIgAESACBAFy2Rt7xOXsA2IfkF1h4MVfgAgQASJABIgAQYAUvTGv/FvG0bmijnhUNWEdXS+7j4LVddlHtjNHwUKACBABIkAECN7jDguQUz6Jv+F+Vk96bz8/ivOAIEAEiAARIAIEDguQU/ZFuOF+Zlyu+jqrl33X4+7FX4AIEAEiQASIAEGAmNgLEAEiQBAgAkSACBABAgJEgAgQAYIAESACRIAIEAGCAFl48kb8m/tpHxD7gCBABIgAESACRIDwsgCpPgJR5tGIVu/L6Kfxket+9ohVUUf8yl722dub3c5W1oUA8eIsQASIABEgAgQBsuGT6E6fUp9yexmPww3LfsO3NgJEgAgQASJABIgAQYAkvsl2+p3+KbeXOdk5edlv2G9FgAgQASJABIgAESAIEAEiQASIAEGACBABIkAEiPcgBIgAESACBAEiQASIABEgAgQBMjGBsg9I3aTTPiBnTv69+AsQASJABIgAESAIkIU32yf/lnEUrIijGs0uw+6jYM1eZ6d1nbHOZq8z6ghdAsSLswARIAJEgAgQBEjDN+Wu/5axDB6HunV20rczXvwFiAARIAJEgAgQBMiGN+RO/5axDB6HunV22v4pXvwFiAARIAJEgAgQBIiJrwARIAIEASJABIgAESAgQASIx0GAIEAEiAARIAJEgCBAFp68Xf8tYxk8DvYBESACRIAIEAEiQAQIAmTiiZd5PdVHWIo4UtLIv+18HKLWS/XRs3avp4j1KUAEiAARIAJEgAgQBEjzSdIp54q4/ZP9U9bL7snlSc8tBIgAESACRIAIENoHSPVGesrZsm/ft+GU9dJxYilAECACRIAIEAGCABEgAkSACBAEiAARIAJEgAgQBIiJtvUiQLz4CxABIkAEiAARIAiQzZMk+zpYLydNLk96biFABIgAESACRIDQOkAyjlw0e4Sl2fuZvewRR9laWX+zR23Kvi9RRwfLWL8ZRwATIAgQASJABIgAQYAkTow6nUOj06f7uyc5Xe/LKdvLjsfdi78AESACRIAIEAGCAPn3nLOId9q/oeMEp8N9OWV72fW4e/EXIAJEgAgQASJAECACRIAIEAGCABEgAkSACBAQIAJEgAgQBIgAESACRIAIEK4MkG8TI/uA2Afkxu3FPiAIEAEiQASIAIGNAfLnBjr6b5/+rvo6Z64/637O3peny777iFERR5Davb1kHMlLgAgQASJABIgAESAIkE1vwjuvs9O5TE759P6U66zeXpwHBAEiQASIABEgCJBD34CrrrPT2dxP2X/hlOus3l6cCR0BIkAEiAARIHiPEyACRIAIEAAAASJABIgAESAAgADZGCE7r9M+IPYBsQ8IAMDBARJxxKOo68y4LxHrJeooShHXWX3UrYjHOetx2LnsAgQAECDBk6ZOn+6/+VuP6uVr+MQ44oSBAgQAECCDE6au+ze8eb+P6uXrHB879yURIACAABEgAkSACBAAAAEiQASIABEgAIAAmZg02QfEPiDdIqTzsgsQAECADE6cRv8t4zorjqp04nqpXr6OEXLKdQoQAECAAGWhJEAAAAECCBAAAAECAgQAQIAAAgQAECCAAAEAECCAAAEABAhQ+yT+6X8DALQOEMMwDMMwDMMwjKJhJRiGYRiGYRiGIUAMwzAMwzAMwxAghmEYhmEYhmEYAsQwDMMwDMMwDAFiGIZhGIZhGIYhQAzDMAzDMAzDECCGYRiGYRiGYQgQwzAMwzAMwzAMAWIYhmEYhmEYhgAxDMMwDMMwDMMQIIZhGIZhGIZhCBDDMAzDMAzDMASIYRiGYRiGYRiGADEMwzAMwzAM48wAAQCA3UzMBQgAAAgQQ4AAACBADAECAAACxBAgAAAIEEOAAACAABEgAAAgQAwBAgCAADEECAAACBBDgAAAIEAMAQIAAAJEgFD+BLrhyf/2xxEAECBGYoDM3kj09UZvoB2eNLc82Xfexs71UbneOzyfsoM2+oUOAAFiCJBWARIxUTlxglS5/ro9Xh0eRwFSFyBiBECAGAKkbYBET7Ce/m3HJ/jM5Xa8oGSvj8jLCJD9ASJGAASIcfA+IFlv7LPXFTmRXp1Ejl6m05M7a7lnt5vsiWTWZP/k51Plz84y140IARAgxksCJHrjy7w/K5OTyEl4hyf2zY9V9jac+U3BjudT5b4vFetHhAAIEEOAtJqg7AiQvy9/Ynx0m0zu3H4j1q0A2Rd5IgRAgBgCpP2kNnoydGJ8dHusovZn2rWOTwyQiPCrfr0RIQACxBAgR05qTwqQzAnXrsnk7oDpEMFdAmT1W4gdrzciBECAGALkuEmtABEg0dfdOUAi15sAAUCACBABcnGAVJ+AsXuA7Dwh5c0BsvLY7Xq9ESEAAsQQIFcESLfJy2lnX785QLIPapAdIFERIkAAECACRIAEB0inCYwAESDRkSBAABAghgDZNKntHiEn3rfT42PlPt4QIDOPw87XGxECIEAMAXJVgOyeyAiQfgGSfWjnigBZXZcCBAABIkAESNKkdveE5sYA6Xr0q7cFyMr6FCAACBABIkCKAqR6UnNTgHQ9+aAAWV9OAQKAABEgrwuQrDNY757cnLp/Stb6EyDxO4oLEAAEiCFAgnb8nVmObhGSdeK4iOWrjg8BknekqtFlFSAACBAB8soA2THJrZ7o3BogGYEoQHIC5MkO7AIEAAEiQK4LkB1BIEBiDjkbue4ESN65OgQIAALEECBNvonoetu7r9dO6HcFyMgyCxAABIgAeX2AdHhCnRQgEY+9ABEgAgQAASJArg2QU55UJ0VIdYCcFCHZP0vrGiBPl73L81t8AAgQQ4BcHyA7Jj03BUjm7QqQ/AD5n+sRIAAIEAEiQIru345QEiACpDJAniy/AAFAgAiQ9pNbAdIvQroFSJcIWbnuTs+nynPi7HjeiA8AAWIIkNRPXgVI3VnFKy4vQOpjXoAAIECMFgGSMZkWIPVP6LcFSNVkv+PPjKq28ZE3kep1Iz4ABIhxaYBETQzeEiC7n9Q3BMju7aVbGEU+PplvJKeuXwAEiLEpQJ5sLFWT8hMCZPfkp8vk/bbJaNV1VT2fbguQDucCAkCAGIUB8vSEZKcGSOVPhyqe3G8KiNV1Ubl/TeXzqepkfzvPHSM+AASIcXCAZGwwmbdXsazdP3mdWV8r6zbjsaq8rupP1Ls/nyKXZ+cbEAACxDg4QCI3muzbOmk5T3uiVwbI6HWf9rh2fj6dHiAACBDjkgCpmGx2CJAOt9/pCd9hm6i+rk6HUd7xfIpcjqo3IAAEiHFxgDzZoN7y5LnpRcCLYZ/14bEBQIAYAgQAAASIIUAAABAghgABAAABIkAAAECAGAIEAAABYggQAAAQIIYAAQBAgBgCBAAABIgAAQAAAWIIEAAABIghQAAAQIAYAgQAAAFiCBAAABAghgABAECAGAIEAAABYggQAAAQIIYAAQBAgBgCBAAABIghQGj6ojPy362v/3siY91aZkCAGNcFyOoNjV5PxMZb8ST49ndPru/pdYyup5V1m/0YdQ+Qp8u48lzYtX2vXL5iO/h2X0fW6+hjkLFMK+us6nk3er2z63X1eZK5PjJeL3c8xiISAWJcGyAjL3grl1mdJGW8gD8NjIjrj/qkcuTvZ5c9K0Cq3kxnJxDRf1dxPSsTzspPzZ+85syE4o74iLov0es7Y1vIeJ5kro+V1/OM94KVZfItFgLEuDZAov4tepIdMUme+WZh9E024m8yJsmry541Eap6I515LKPXbWV8zARs5TYx+ml41DJUbNOrk/Wd29NKOK0GW9b6WNnGsi9b9d4HAsQQIAEvwllvrqtvlE/fiGd+zpAdPRWTtdn1lfkC2GVyHvkNSsbj3TlAusXHrtfGiMuvLNPKhxBZ62PX45SxTAIEAWIIkM0vwKuXzf6kLvJTxh0TsKoA2flG2ilAMn6+1TlARu7n05/JVG7L3QMkc7L+6bVRgNR8KCRAECDGa46ClfVtw+rEuPpT/aiv1EeDYTUwdr9h7f75Vfb20O2gCtnRUH0fI37OtGvbyY6BLgGSvf2cFCDZ8S9AECCGANkQIFVvmNFvVBEBUvVb450vLB0nkZnxEb19Zq23rOXssE9W1wDpOFnfGSBZz9OVHeCzA2T1+kGAGAJkcQK38kKcOVGs2tHzlAB5OnmYPYTlbQHy5FDNldtm1ja0Gu8zP/uJWrfVARJ137IOUVz9k87M5+rK+1TEB1JZP28GAWIIkKDJ284dOlcmQdEBknV4zOwXmpsCJOPbj9XDkEZPVqoOBzt7mN2Z8+RELWNGgEQH7cwydwqQrO1v5VDcGd/YChAEiCFAEt9Aoj51nL1v2b9frzzU5YkBsvsT1BMCJOJvMp+7Wcu4ckK3qnWbHSCR6zt7n5qsAMvc/k4MkO7faoMAMY77BiTy24+n19fhTSwiQH77t8gThGVMPp9Olne8AO6Mj6hPnStO+pn1c6WsE25GrdvqCXjVz8NWviGpPPhHVpSt/Czt6bdMq/et8gMZECDGq36CFb2xVgVIZlDNTCgz1vWOF5XuAbLzp2AjZ7CPXr+ZP1XqMPnvFCCr21nm9lSx7NXrI2P/kJV1tOvACiBAjNfthF4xiak6ClbmkU9m37R2/typ8++XbwmQqglL9M8wZ0PpDQFScbmK7X/3YaBX9r+puOyn1/LOH96AADFeEyARb4wVR/LJOBHhk7/J+JlLZoB0egHcGR9RAVJx33ee0E+A9AqQHdtL9f3dddmdz0UQIMarzgMSESDRk/Df/j7qt/aRARIdX1nnpDg5QDI+na8MkIjHVYCsfUhweoDs/PbjtADJ3j4ECALEECDJb9CRk8SK8ypETVRndxyPmDxkBkinN9wuAbIS6xHLkL1sOwMk8oOQqNe3ivWdscxZ8dEh7gUICBBDgKS+SY6+2UWetXlXeO2aaEYFyO7zgFTE28phmVdvp/IgDh0DJGuiH3127YrtacffZ6+P7HPo7DhBrABBgBivC5CMN6FvL9JZbzYz35ZETPSzfjIV9Y1J9r4yqy9UlRPfjPNORE6CKg6NnT3ZqTypXdW2vvIaUHXAjN2v+5XrY+X1LuOcKVWHWgYBYhwbICuHvI26zOz+EFHnvpi5X7NHMFldjojHNurFJWLCnDEJGXk8q49I8/T6Mp4fu46wU3WemuztPfvkdpnbU1R8rDxXs9dH5YkII7YPAYIAMXwDApsDhPvfiOg5Oai4HJ4zCBBDgADgAwQAAWIIEAAABIghQAAAQIAYAgQAAAFiCBAAAASIIUAAAECAGAIEAAABYggQAAAQIIYAAQBAgBgCBAAAAWJyLkAAAECAGAIEAAABYggQAAAQIIYAAQBAgBgCBAAABIgAAQAAAWIIEAAABIghQAAAQIAYAgQAAAFiCBAAABAgAgQAAASIIUAAABAghgABAAABYggQAAAEiNE4QAzDMAzDMAzDMASIYRiGYRiGYRgCxDAMwzAMwzAMQ4AYhmEYhmEYhiFADMMwDMMwDMMw/jdAAAAAio50JkAAAAABAgAACBAAAAABAgAACBAAAAABAgAACBAAAECAAAAACBAAAECAAAAACBAAAECAAAAAAoRXbAT/MX77myfXs3IfRu/nymVXrn/0PjxZ3qjlyngcV5Yx+7JRj2nGfcjYxla2n8rHonKbjFqf2a+B3V43Ml6rK99rop7jGa+Hu173std/9uv86H1buQ8IEASIABEgAkSACBABIkAEiAARIAgQASJABIgAESACRIAIEAGCAEGACBABIkAEiAARIAJEgAgQAYIAESACRIAIEAEiQASIABEgCBAEiAARIAJEgAgQASJABAgCBAEiQASIABEgAkSACBABIkAECAJEgAgQASJABIgAESACRIAgQBAgAkSACBABIkAEiAARIAJEgCBABIgAESACRIAIEAEiQAQIAgQBIkAEiAARIAJEgAgQAYIAQYAIEAEiQASIABEgAkSACBABggARIAJEgAgQASJABIgAESAIEASIABEgAkSACBABIkAEiAARIAgQASJABIgAESACRIAIEAGCAEGACBABIkAEiAARIAJEgCBAECACRIAIEAEiQASIABEgAsTcU4DYCASIABEgAkSACBABIkAECAIEASJABIgAESACRIAIEAEiQAQIAkSACBABIkAEiAARIAJEgCBAECACRIAIEAEiQASIABEgCBAEiAARIAJEgAgQASJABIgAQYAgQASIABEgAkSACBABIkAQIAgQASJABIgAESACRIAIEAEiQBAgAkSACBABIkAEiAARIAIEAYIAESACRIAIEAEiQASIABEgAgQBIkAEiAARIAJEgAgQASJAECAIEAEiQASIABEgAkSACBAECAJEgAgQASJABIgAESACRIAIEASIABEgAkSACBABIkAEiABBgCBABIgAESACRIAIEAEiQASIAEGACBABIkAEiAARIAJEgAgQBAgCRIAIEAEiQASIABEgAgQBggARIAJEgAgQASJABIgAESACBAEiQASIABEgAkSACBABIkAQIAgQASJABIgAESACRIAIEAEiQBAgAkSACBABIkAEiAARIAIEAYIAESACRIAIEAEiQASIAEGAIEAEiAARIAJEgAgQASJABIgAQYAIEAEiQASIABEgAkSACBAECAJEgAgQASJABIgAESACRIAIEASIABEgAkSACBABIkAEiABBgCBABIgAESACRIAIEAEiQBAgCBABIkAEiAARIAJEgAgQAWLu6YGyEQgQASJABIgAESACRIAIEAQIAkSACBABIkAEiAARIAJEgAgQBIgAESACRIAIEAEiQASIAEGAIEAEiAARIAJEgAgQASJAECAIEAEiQGLfmKJGxwCJmCQLEAEiQASIAEGAIEAEiAARIOEB8uftVU4wKh+fXQGyazs85b5FvdfsWp7M18PO21rE66MAQYAgQATINQHS6Y1WgAgQAbI2ORUgAkSAIEAQIAKkdYCcMgnM3oajJlQCRIB0CxEBIkAECAIEASJAWgTIaZPAjgHy7ZsTASJAOk9WBYgAESACBAEiQARIWYCcOAkUIAJk17cIp09a3xQgt0SIAEGAIEAEyFUBEvmGGHX9JwdI1k7E3SaZpwZI1YRtdRvInLjueoyinrMZl41+3YvefgQIAgQBIkCuCZCqiYQAESCd13/HAIlcXxHvNTcGyOprkwARIAIEASJABEjhRFSACBAB0mcbqDhPjQARIAJEgCBABIgAESACRIC8LECibluACBABggBBgAgQASJABIgAKYsQASJABAgCBAEiQASIABEgAkSACBABggBBgAgQASJA7g6QlXUhQPYFSMXzWoAIEAEiQBAgAkSACBABIkAEiAARIAIEAYIAESACRIAIEAEiQASIABEgAgQBIkAEiAARIMtHRRIgAkSACBABIkAQIAJEgAgQAfLaAMma/AsQASJABIgAQYAIEAEiQASIABEgAuRVAVL5+iBAECAIEAEiQBoHSOQ67BogqxEiQASIABEgAkSAIEAEiAA5LkAyJt4C5J4AyZz8CxABIkAEiABBgAgQASJABIgAESACRIAIEAQIAkSACJB3BUj0OrwtQEYmpwJEgAgQAYIAQYAIEAEiQATIEQGSPfkXIAKkKkC6vD4IEAQIAkSACJCGAZKxDgWIABEgAkSAIEAQIAJEgAgQAfJv/qGJBYgAESACBAGCABEgAiR8MiFA5n7WJUAEiAC5P0A6fUAhQBAgCBABcmSARLwxCRABIkAEiAARIAgQBIgAESAh+wIIEAEiQASIABEgCBAEiAARIKVBIkDGY02ACBABIkAECAIEASJArgyQ7EmnABEgAkSACBABggBBgAgQAVIWICuHaRUgewMka5kFyP4AmX2vESBrAdLtKHkCBAGCABEg2wKkKkI6BUj1pHdl2QWIABEgvQJk9wE9BAgCBAEiQK4IkC5vwgKkV4BEL7cAiQuQyAMgCBABIkDMPQWIjUCACJAtAdLhjbgiQHZMegWIAIkMkKplFyACRIAIEASIABEgZW9MAkSACJCeAVK57AJEgAgQAYIAESACpPSNSYAIkOhlFyBrz+XI7UuACBABggBBgAiQdgGy4805O0B2TXoFiACJeh2I2rYESMy2mPm+KUAQIAgQASJANkaIABEgNwXIbz9xy17nAsR5QAQIAgQBIkAEiAA5IkAyJp9vD5Dd25MAESACBAGCABEgAmTx9+rf1s/pE0YBIkCqtyUBIkAEiABBgAgQAdLqjSl7EiZA7g2Q6nh5S4Bkv9cIEAEiQAQIAkSACJDtAZI5GRMgvQIkYh0KkB7xIUD2Bci32xMgCBAEiAARIIOXzZpUrU5musdH5O/2Bci9AZL1Oi9ABIgAMfcUIDYCASJAjg2Q6ImZALkvQHbsP3LbmdAFiAARIAgQBIgAESCNA6Ryp+mI+9A5QCIm3gJEgAgQAYIAQYAIEAHSNkC+TXwEiAARIALktACJfK8XIAgQBIgAESAJkxYBck+A7DqErwARIAJEgCBAECACRIAIkKTnjgARIAJEgAgQBAgCRIC0DZDsT92jJmsCRIAIEAGSFQgCRICYewoQG4EAESACRIAIEAEiQASIAEGAIEAEyM0BkjXpjZiwvTFARg+DK0AEiAC5O0BGzwsjQBAgCBABIkAEiAARIAJEgAgQBAgCRIAIkLcGSFZQRE/UBYgAESACRIAgQBAgAkSAFAZI1mMhQASIABEgAkSAIEAQIAJEgAgQASJABIgAESAIEASIABEgZwXI6nV2CpDu26QAESACRIAIEAGCABEgAqRlgFROFAVI7TYpQASIABEgAkSAIEAEiABJe+M+PUCyg0KACBABIkAEiAARIAgQASJANgdI5b4Pu4MiI0Ay94WJ2iYFiAARILEBUrGPmABBgCBABMiVAVJ9/gsBIkAEiAARIAIEAYIAESACpEWARD5e1QGSeUJGASJABIgAESDmngLERiBABMi2AKlaD523GQGSf5SzrG3ylAD5baIpQASIAEGAIEAEyGsDJPLNLztAon/O1DVAor41eroubw2QlZ+0ZWzvpwRI5ra6M0Aynm+r67/qPEECBAGCABEgxwXIrslJ53NPnLa+d03kuq+jDtvfrQFySpCfuJwCBAGCABEgAkSACJBD19GbA+RNE3MBIkAQIAgQASJABIgAMYEVIAJEgCBAECACRIAIEAEiQASIABEgAkSAIEAEiAA5KECythkBclaAnDIpFCACRIAIEAGCABEgAiQpQLLfqCu3mextOGObzHocd2+TGQGS8RrY7XUj47W68r2m8ihY2e+J2Y9jh9cHAYIAQYAIkBYBkvlGLEAEiAARIAJEgCBAECACRIAIEAEiQASIABEgAsTc0wNlIxAgAkSACBABIkAEiAARIAgQBIgAESACRIAIEAEiQASIABEgCBABIkAEiAARIAJEgAgQAYIAQYAIEAEiQASIABEgAkSAIEAQIAJEgAgQASJABIgAESACBAGCABEgAkSACBABIkAEiABBgCBABIgAESACRIAIEAEiQASIAEGACBABIkAEiAARIAJEgAgQBAgCRIAIEAEiQASIABEgAkSACBAEiAARIAJEgAgQASJABIgAQYAgQASIABEgAkSACBABIkAQIAgQASJABIgAESACRIAIEAEiQBAgAkSACBABIkAEiAARIAIEAYIAESACRIAIEAEiQASIABEgAgQBIkAEiAARIAJEgAgQASJAECAIEAEiQASIABEgAkSACBAECAJEgAgQASJABIgAESACRIAIEASIABEgAkSACBABIkAEiABBgCBABIgAESACRIAIEAEiQASIAEGACBABIkAEiAARIAJEgAgQBAgCRIAIEAEiQASIABEgAgQBggARIAJEgAgQASJABIgAESACBAEiQASIABEgAkSACBABIkAQIAgQASJABIgAESACRIAIEAEiQBAgAkSACBABIkAEiAARIAIEAYIAESACRIAIEAEiQASIAEGAIEAEiAARIAJEgAgQASJABIgAQYAIEAEiQASIABEgAkSACBAECAJEgAgQASJABIgAESACRIAIEASIABEgAkSACBABIkAEiABBgCBABIgAESACRIAIEAEiQBAgCBABIkAEiAARIAJEgAgQAWLuKUAQIAJEgAgQASJABIgAESAIEASIABEgAkSACBABIkAEiAARIAgQASJABIgAESACRIAIEAGCAEGACBABIkAEiAARIAJEgJjXChAEiAARIAJEgAgQASJABIgAQYAgQASIABEgAkSACBABIkAQIAgQASJABIgAESACRIAIEAEiQBAgAkSACBABIkAEiAARIAIEAYIAESACRIAIEAEiQASIABEgAgQBIkAEiAARIAJEgAgQASJAECAIEAEiQASIABEgAkSACBAECAJEgAgQASJABIgAESACRIAIEASIABEgAkSACBABIkAEiABBgCBABIgAESACRIAIEAEiQASIAEGACBABIkAEiAARIAJEgAgQBAgCRIAIEAEiQASIABEgAgQBggARIAJEgAgQASJABIgAESACBAEiQASIABEgAkSACBABIkAQIAgQASJABIgAESACRIAIEAEiQBAgAkSACBABIkAEiAARIAIEAYIAESACRIAIEAEiQASIAEGAIEAEiAARIAJEgAgQASJABIgAQYAIEAEiQASIABEgAkSACBAECAJEgAgQASJABIgAESACRIAIEASIABEgAkSACBABIkAEiABBgCBABIgAESACRIAIEAEiQBAgCBABIkAEiAARIAJEgAgQAWLuKUBsBAJEgAgQASJABIgAESACBAGCABEgAkSACBABIkAEiAARIAIEASJABIgAESACRIAIEAEiQBAgCBABIkAEiAARIAJEgAgQBAgCRIAIEAEiQASIABEgAkSAIEAQIAJEgAgQASJABIgAESAIEASIABEgAkSACBABIkAEiAARIAgQASJABIgAESACRIAIEAGCAEGACBABIkAEiAARIAJEgAgQAYIAESACRIAIEAEiQASIABEgCBAEiAARIAJEgAgQASJABAgCBAEiQASIABEgAkSACBABIkAECAJEgAgQASJABIgAESACRIAgQBAgAkSACBABIkAEiAARIAJEgCBABIgAESACRIAIEAEiQAQIAgQBIkAEiAARIAJEgAgQAYIAQYAIEAEiQASIABEgAkSACBABggARIAJEgAgQASJABIgAESAIEASIABEgAkSACBABIkAEiAARIAgQASJABIgAESACRIAIEAGCAEGACBABIkAEiAARIAJEgCBAECACRIAIEAEiQASIABEgAkSAIEAEiAARIAJEgAgQASJABAgCBAEiQASIABEgAkSACBABIkAECAJEgAgQASJABIgAESACRIAgQBAgAkSACBABIkAE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" - } - ] - } - ] + { + "purchaseOrderNumber": "mockpurchaseOrderNumber2", + "sellingParty": { + "partyId": "999US" + }, + "shipFromParty": { + "partyId": "ABCD" + }, + "labelFormat": "PNG", + "labelData": [ + { + "packageIdentifier": "PKG002", + "trackingNumber": "1Z6A34Y60369738805", + "shipMethod": "UPS_GR_RES", + "shipMethodName": "UPS Ground Residential", + "content": "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AAFiCBAAABAgAgQAAASIIUAAABAghgABAAABYggQAAAEiNE4QAzDMAzDMAzDMASIYRiGYRiGYRgCxDAMwzAMwzAMQ4AYhmEYhmEYhiFADMMwDMMwDMMw/jdAAAAAio50JkAAAAABAgAACBAAAAABAgAACBAAAAABAgAACBAAAECAAAAACBAAAECAAAAACBAAAECAAAAAAoRXbAT/MX77myfXs3IfRu/nymVXrn/0PjxZ3qjlyngcV5Yx+7JRj2nGfcjYxla2n8rHonKbjFqf2a+B3V43Ml6rK99rop7jGa+Hu173std/9uv86H1buQ8IEASIABEgAkSACBABIkAEiAARIAgQASJABIgAESACRIAIEAGCAEGACBABIkAEiAARIAJEgAgQAYIAESACRIAIEAEiQASIABEgCBAEiAARIAJEgAgQASJABAgCBAEiQASIABEgAkSACBABIkAECAJEgAgQASJABIgAESACRIAgQBAgAkSACBABIkAEiAARIAJEgCBABIgAESACRIAIEAEiQAQIAgQBIkAEiAARIAJEgAgQAYIAQYAIEAEiQASIABEgAkSACBABggARIAJEgAgQASJABIgAESAIEASIABEgAkSACBABIkAEiAARIAgQASJABIgAESACRIAIEAGCAEGACBABIkAEiAARIAJEgCBAECACRIAIEAEiQASIABEgAsTcU4DYCASIABEgAkSACBABIkAECAIEASJABIgAESACRIAIEAEiQAQIAkSACBABIkAEiAARIAJEgCBAECACRIAIEAEiQASIABEgCBAEiAARIAJEgAgQASJABIgAQYAgQASIABEgAkSACBABIkAQIAgQASJABIgAESACRIAIEAEiQBAgAkSACBABIkAEiAARIAIEAYIAESACRIAIEAEiQASIABEgAgQBIkAEiAARIAJEgAgQASJAECAIEAEiQASIABEgAkSACBAECAJEgAgQASJABIgAESACRIAIEASIABEgAkSACBABIkAEiABBgCBABIgAESACRIAIEAEiQASIAEGACBABIkAEiAARIAJEgAgQBAgCRIAIEAEiQASIABEgAgQBggARIAJEgAgQASJABIgAESACBAEiQASIABEgAkSACBABIkAQIAgQASJABIgAESACRIAIEAEiQBAgAkSACBABIkAEiAARIAIEAYIAESACRIAIEAEiQASIAEGAIEAEiAARIAJEgAgQASJABIgAQYAIEAEiQASIABEgAkSACBAECAJEgAgQASJABIgAESACRIAIEASIABEgAkSACBABIkAEiABBgCBABIgAESACRIAIEAEiQBAgCBABIkAEiAARIAJEgAgQAWLu6YGyEQgQASJABIgAESACRIAIEAQIAkSACBABIkAEiAARIAJEgAgQBIgAESACRIAIEAEiQASIAEGAIEAEiAARIAJEgAgQASJAECAIEAEiQGLfmKJGxwCJmCQLEAEiQASIAEGAIEAEiAARIOEB8uftVU4wKh+fXQGyazs85b5FvdfsWp7M18PO21rE66MAQYAgQATINQHS6Y1WgAgQAbI2ORUgAkSAIEAQIAKkdYCcMgnM3oajJlQCRIB0CxEBIkAECAIEASJAWgTIaZPAjgHy7ZsTASJAOk9WBYgAESACBAEiQARIWYCcOAkUIAJk17cIp09a3xQgt0SIAEGAIEAEyFUBEvmGGHX9JwdI1k7E3SaZpwZI1YRtdRvInLjueoyinrMZl41+3YvefgQIAgQBIkCuCZCqiYQAESCd13/HAIlcXxHvNTcGyOprkwARIAIEASJABEjhRFSACBAB0mcbqDhPjQARIAJEgCBABIgAESACRIC8LECibluACBABggBBgAgQASJABIgAKYsQASJABAgCBAEiQASIABEgAkSACBABggBBgAgQASJA7g6QlXUhQPYFSMXzWoAIEAEiQBAgAkSACBABIkAEiAARIAIEAYIAESACRIAIEAEiQASIABEgAgQBIkAEiAARIMtHRRIgAkSACBABIkAQIAJEgAgQAfLaAMma/AsQASJABIgAQYAIEAEiQASIABEgAuRVAVL5+iBAECAIEAEiQBoHSOQ67BogqxEiQASIABEgAkSAIEAEiAA5LkAyJt4C5J4AyZz8CxABIkAEiABBgAgQASJABIgAESACRIAIEAQIAkSACJB3BUj0OrwtQEYmpwJEgAgQAYIAQYAIEAEiQATIEQGSPfkXIAKkKkC6vD4IEAQIAkSACJCGAZKxDgWIABEgAkSAIEAQIAJEgAgQAfJv/qGJBYgAESACBAGCABEgAiR8MiFA5n7WJUAEiAC5P0A6fUAhQBAgCBABcmSARLwxCRABIkAEiAARIAgQBIgAESAh+wIIEAEiQASIABEgCBAEiAARIKVBIkDGY02ACBABIkAECAIEASJArgyQ7EmnABEgAkSACBABggBBgAgQAVIWICuHaRUgewMka5kFyP4AmX2vESBrAdLtKHkCBAGCABEg2wKkKkI6BUj1pHdl2QWIABEgvQJk9wE9BAgCBAEiQK4IkC5vwgKkV4BEL7cAiQuQyAMgCBABIkDMPQWIjUCACJAtAdLhjbgiQHZMegWIAIkMkKplFyACRIAIEASIABEgZW9MAkSACJCeAVK57AJEgAgQAYIAESACpPSNSYAIkOhlFyBrz+XI7UuACBABggBBgAiQdgGy4805O0B2TXoFiACJeh2I2rYESMy2mPm+KUAQIAgQASJANkaIABEgNwXIbz9xy17nAsR5QAQIAgQBIkAEiAA5IkAyJp9vD5Dd25MAESACBAGCABEgAmTx9+rf1s/pE0YBIkCqtyUBIkAEiABBgAgQAdLqjSl7EiZA7g2Q6nh5S4Bkv9cIEAEiQAQIAkSACJDtAZI5GRMgvQIkYh0KkB7xIUD2Bci32xMgCBAEiAARIIOXzZpUrU5musdH5O/2Bci9AZL1Oi9ABIgAMfcUIDYCASJAjg2Q6ImZALkvQHbsP3LbmdAFiAARIAgQBIgAESCNA6Ryp+mI+9A5QCIm3gJEgAgQAYIAQYAIEAHSNkC+TXwEiAARIALktACJfK8XIAgQBIgAESAJkxYBck+A7DqErwARIAJEgCBAECACRIAIkKTnjgARIAJEgAgQBAgCRIC0DZDsT92jJmsCRIAIEAGSFQgCRICYewoQG4EAESACRIAIEAEiQASIAEGAIEAEyM0BkjXpjZiwvTFARg+DK0AEiAC5O0BGzwsjQBAgCBABIkAEiAARIAJEgAgQBAgCRIAIkLcGSFZQRE/UBYgAESACRIAgQBAgAkSAFAZI1mMhQASIABEgAkSAIEAQIAJEgAgQASJABIgAESAIEASIABEgZwXI6nV2CpDu26QAESACRIAIEAGCABEgAqRlgFROFAVI7TYpQASIABEgAkSAIEAEiABJe+M+PUCyg0KACBABIkAEiAARIAgQASJANgdI5b4Pu4MiI0Ay94WJ2iYFiAARILEBUrGPmABBgCBABMiVAVJ9/gsBIkAEiAARIAIEAYIAESACpEWARD5e1QGSeUJGASJABIgAESDmngLERiBABMi2AKlaD523GQGSf5SzrG3ylAD5baIpQASIAEGAIEAEyGsDJPLNLztAon/O1DVAor41eroubw2QlZ+0ZWzvpwRI5ra6M0Aynm+r67/qPEECBAGCABEgxwXIrslJ53NPnLa+d03kuq+jDtvfrQFySpCfuJwCBAGCABEgAkSACJBD19GbA+RNE3MBIkAQIAgQASJABIgAMYEVIAJEgCBAECACRIAIEAEiQASIABEgAkSAIEAEiAA5KECythkBclaAnDIpFCACRIAIEAGCABEgAiQpQLLfqCu3mextOGObzHocd2+TGQGS8RrY7XUj47W68r2m8ihY2e+J2Y9jh9cHAYIAQYAIkBYBkvlGLEAEiAARIAJEgCBAECACRIAIEAEiQASIABEgAsTc0wNlIxAgAkSACBABIkAEiAARIAgQBIgAESACRIAIEAEiQASIABEgCBABIkAEiAARIAJEgAgQAYIAQYAIEAEiQASIABEgAkSAIEAQIAJEgAgQASJABIgAESACBAGCABEgAkSACBABIkAEiABBgCBABIgAESACRIAIEAEiQASIAEGACBABIkAEiAARIAJEgAgQBAgCRIAIEAEiQASIABEgAkSACBAEiAARIAJEgAgQASJABIgAQYAgQASIABEgAkSACBABIkAQIAgQASJABIgAESACRIAIEAEiQBAgAkSACBABIkAEiAARIAIEAYIAESACRIAIEAEiQASIABEgAgQBIkAEiAARIAJEgAgQASJAECAIEAEiQASIABEgAkSACBAECAJEgAgQASJABIgAESACRIAIEASIABEgAkSACBABIkAEiABBgCBABIgAESACRIAIEAEiQASIAEGACBABIkAEiAARIAJEgAgQBAgCRIAIEAEiQASIABEgAgQBggARIAJEgAgQASJABIgAESACBAEiQASIABEgAkSACBABIkAQIAgQASJABIgAESACRIAIEAEiQBAgAkSACBABIkAEiAARIAIEAYIAESACRIAIEAEiQASIAEGAIEAEiAARIAJEgAgQASJABIgAQYAIEAEiQASIABEgAkSACBAECAJEgAgQASJABIgAESACRIAIEASIABEgAkSACBABIkAEiABBgCBABIgAESACRIAIEAEiQBAgCBABIkAEiAARIAJEgAgQAWLuKUAQIAJEgAgQASJABIgAESAIEASIABEgAkSACBABIkAEiAARIAgQASJABIgAESACRIAIEAGCAEGACBABIkAEiAARIAJEgJjXChAEiAARIAJEgAgQASJABIgAQYAgQASIABEgAkSACBABIkAQIAgQASJABIgAESACRIAIEAEiQBAgAkSACBABIkAEiAARIAIEAYIAESACRIAIEAEiQASIABEgAgQBIkAEiAARIAJEgAgQASJAECAIEAEiQASIABEgAkSACBAECAJEgAgQASJABIgAESACRIAIEASIABEgAkSACBABIkAEiABBgCBABIgAESACRIAIEAEiQASIAEGACBABIkAEiAARIAJEgAgQBAgCRIAIEAEiQASIABEgAgQBggARIAJEgAgQASJABIgAESACBAEiQASIABEgAkSACBABIkAQIAgQASJABIgAESACRIAIEAEiQBAgAkSACBABIkAEiAARIAIEAYIAESACRIAIEAEiQASIAEGAIEAEiAARIAJEgAgQASJABIgAQYAIEAEiQASIABEgAkSACBAECAJEgAgQASJABIgAESACRIAIEASIABEgAkSACBABIkAEiABBgCBABIgAESACRIAIEAEiQBAgCBABIkAEiAARIAJEgAgQAWLuKUBsBAJEgAgQASJABIgAESACBAGCABEgAkSACBABIkAEiAARIAIEASJABIgAESACRIAIEAEiQBAgCBABIkAEiAARIAJEgAgQBAgCRIAIEAEiQASIABEgAkSAIEAQIAJEgAgQASJABIgAESAIEASIABEgAkSACBABIkAEiAARIAgQASJABIgAESACRIAIEAGCAEGACBABIkAEiAARIAJEgAgQAYIAESACRIAIEAEiQASIABEgCBAEiAARIAJEgAgQASJABAgCBAEiQASIABEgAkSACBABIkAECAJEgAgQASJABIgAESACRIAgQBAgAkSACBABIkAEiAARIAJEgCBABIgAESACRIAIEAEiQAQIAgQBIkAEiAARIAJEgAgQAYIAQYAIEAEiQASIABEgAkSACBABggARIAJEgAgQASJABIgAESAIEASIABEgAkSACBABIkAEiAARIAgQASJABIgAESACRIAIEAGCAEGACBABIkAEiAARIAJEgCBAECACRIAIEAEiQASIABEgAkSAIEAEiAARIAJEgAgQASJABAgCBAEiQASIABEgAkSACBABIkAECAJEgAgQASJABIgAESACRIAgQBAgAkSACBABIkAE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" + } + ] + } + ] + } } } - } ] } }, @@ -355,10 +355,6 @@ "$ref": "#/definitions/GetShippingLabelListResponse" }, "headers": { - "x-amzn-RateLimit-Limit": { - "type": "string", - "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." - }, "x-amzn-RequestId": { "type": "string", "description": "Unique request reference identifier." @@ -371,10 +367,6 @@ "$ref": "#/definitions/GetShippingLabelListResponse" }, "headers": { - "x-amzn-RateLimit-Limit": { - "type": "string", - "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." - }, "x-amzn-RequestId": { "type": "string", "description": "Unique request reference identifier." @@ -387,10 +379,6 @@ "$ref": "#/definitions/GetShippingLabelListResponse" }, "headers": { - "x-amzn-RateLimit-Limit": { - "type": "string", - "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." - }, "x-amzn-RequestId": { "type": "string", "description": "Unique request reference identifier." @@ -403,10 +391,6 @@ "$ref": "#/definitions/GetShippingLabelListResponse" }, "headers": { - "x-amzn-RateLimit-Limit": { - "type": "string", - "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." - }, "x-amzn-RequestId": { "type": "string", "description": "Unique request reference identifier." @@ -419,7 +403,7 @@ "tags": [ "vendorShippingLabels" ], - "description": "Creates a shipping label for a purchase order and returns a transactionId for reference.\n\n**Usage Plan:**\n\n| Rate (requests per second) | Burst |\n| ---- | ---- |\n| 10 | 10 |\n\nThe `x-amzn-RateLimit-Limit` response header returns the usage plan rate limits that were applied to the requested operation, when available. The table above indicates the default rate and burst values for this operation. Selling partners whose business demands require higher throughput may see higher rate and burst values than those shown here. For more information, see [Usage Plans and Rate Limits in the Selling Partner API](https://developer-docs.amazon.com/sp-api/docs/usage-plans-and-rate-limits-in-the-sp-api).", + "description": "Creates a shipping label for a purchase order and returns a `transactionId` for reference.\n\n**Usage Plan:**\n\n| Rate (requests per second) | Burst |\n| ---- | ---- |\n| 10 | 10 |\n\nThe `x-amzn-RateLimit-Limit` response header returns the usage plan rate limits that were applied to the requested operation, when available. The table above indicates the default rate and burst values for this operation. Selling partners whose business demands require higher throughput may see higher rate and burst values than those shown here. For more information, refer to [Usage Plans and Rate Limits in the Selling Partner API](https://developer-docs.amazon.com/sp-api/docs/usage-plans-and-rate-limits-in-the-sp-api).", "operationId": "submitShippingLabelRequest", "parameters": [ { @@ -428,7 +412,8 @@ "required": true, "schema": { "$ref": "#/definitions/SubmitShippingLabelsRequest" - } + }, + "description": "Request body containing one or more shipping labels data." } ], "responses": { @@ -469,159 +454,159 @@ "containerIdentifier": "123", "trackingNumber": "XXXX", "dimensions": { - "length": "12", - "width": "12", - "height": "12", - "unitOfMeasure": "IN" - }, - "weight": { - "unitOfMeasure": "KG", - "value": "10" - }, - "packedItems": [ - { - "itemSequenceNumber": 1, - "buyerProductIdentifier": "B07DFVDRAB", - "packedQuantity": { - "amount": 1, - "unitOfMeasure": "Each" + "length": "12", + "width": "12", + "height": "12", + "unitOfMeasure": "IN" + }, + "weight": { + "unitOfMeasure": "KG", + "value": "10" + }, + "packedItems": [ + { + "itemSequenceNumber": 1, + "buyerProductIdentifier": "B07DFVDRAB", + "packedQuantity": { + "amount": 1, + "unitOfMeasure": "Each" + } } - } - ] - } - ] - } - ] + ] + } + ] + } + ] + } } } + }, + "response": { + "payload": { + "transactionId": "20190905010908-8a3b6901-ef20-412f-9270-21c021796605" + } } }, - "response": { - "payload": { - "transactionId": "20190905010908-8a3b6901-ef20-412f-9270-21c021796605" - } - } - }, - { - "request": { - "parameters": { - "body": { - "value": { - "shippingLabelRequests": [ - { - "purchaseOrderNumber": "2JK3S9VC", - "sellingParty": { - "partyId": "999US" - }, - "shipFromParty": { - "partyId": "ABCD" + { + "request": { + "parameters": { + "body": { + "value": { + "shippingLabelRequests": [ + { + "purchaseOrderNumber": "2JK3S9VC", + "sellingParty": { + "partyId": "999US" + }, + "shipFromParty": { + "partyId": "ABCD" + } } - } - ] + ] + } } } + }, + "response": { + "payload": { + "transactionId": "20190905010908-8a3b6901-ef20-412f-9270-21c021796605" + } } }, - "response": { - "payload": { - "transactionId": "20190905010908-8a3b6901-ef20-412f-9270-21c021796605" - } - } - }, - { - "request": { - "parameters": { - "body": { - "value": { - "shippingLabelRequests": [ - { - "purchaseOrderNumber": "2JK3S9VC", - "sellingParty": { - "partyId": "999US" - }, - "shipFromParty": { - "partyId": "ABCD" - }, - "containers": [ - { - "containerType": "carton", - "containerIdentifier": "123", - "trackingNumber": "XXXX", - "dimensions": { - "length": "12", - "width": "12", - "height": "12", - "unitOfMeasure": "IN" - }, - "weight": { - "unitOfMeasure": "KG", - "value": "10" - }, - "packedItems": [ - { - "itemSequenceNumber": 1, - "buyerProductIdentifier": "B07DFVDRAA", - "packedQuantity": { - "amount": 1, - "unitOfMeasure": "Each" - } + { + "request": { + "parameters": { + "body": { + "value": { + "shippingLabelRequests": [ + { + "purchaseOrderNumber": "2JK3S9VC", + "sellingParty": { + "partyId": "999US" + }, + "shipFromParty": { + "partyId": "ABCD" + }, + "containers": [ + { + "containerType": "carton", + "containerIdentifier": "123", + "trackingNumber": "XXXX", + "dimensions": { + "length": "12", + "width": "12", + "height": "12", + "unitOfMeasure": "IN" }, - { - "itemSequenceNumber": 2, - "buyerProductIdentifier": "B07DFVDRAB", - "packedQuantity": { - "amount": 1, - "unitOfMeasure": "Each" + "weight": { + "unitOfMeasure": "KG", + "value": "10" + }, + "packedItems": [ + { + "itemSequenceNumber": 1, + "buyerProductIdentifier": "B07DFVDRAA", + "packedQuantity": { + "amount": 1, + "unitOfMeasure": "Each" + } + }, + { + "itemSequenceNumber": 2, + "buyerProductIdentifier": "B07DFVDRAB", + "packedQuantity": { + "amount": 1, + "unitOfMeasure": "Each" + } } - } - ] - }, - { - "containerType": "carton", - "containerIdentifier": "1234", - "trackingNumber": "XXXX", - "dimensions": { - "length": "12", - "width": "12", - "height": "12", - "unitOfMeasure": "IN" - }, - "weight": { - "unitOfMeasure": "KG", - "value": "10" + ] }, - "packedItems": [ - { - "itemSequenceNumber": 3, - "buyerProductIdentifier": "B07DFVDRAC", - "packedQuantity": { - "amount": 1, - "unitOfMeasure": "Each" - } + { + "containerType": "carton", + "containerIdentifier": "1234", + "trackingNumber": "XXXX", + "dimensions": { + "length": "12", + "width": "12", + "height": "12", + "unitOfMeasure": "IN" }, - { - "itemSequenceNumber": 4, - "buyerProductIdentifier": "B07DFVDRAD", - "packedQuantity": { - "amount": 1, - "unitOfMeasure": "Each" + "weight": { + "unitOfMeasure": "KG", + "value": "10" + }, + "packedItems": [ + { + "itemSequenceNumber": 3, + "buyerProductIdentifier": "B07DFVDRAC", + "packedQuantity": { + "amount": 1, + "unitOfMeasure": "Each" + } + }, + { + "itemSequenceNumber": 4, + "buyerProductIdentifier": "B07DFVDRAD", + "packedQuantity": { + "amount": 1, + "unitOfMeasure": "Each" + } } - } - ] - } - ] - } - ] + ] + } + ] + } + ] + } } } - } - }, - "response": { - "payload": { - "transactionId": "20190905010908-8a3b6901-ef20-412f-9270-21c021796605" + }, + "response": { + "payload": { + "transactionId": "20190905010908-8a3b6901-ef20-412f-9270-21c021796605" + } } } - } ] } }, @@ -702,10 +687,6 @@ "$ref": "#/definitions/SubmitShippingLabelsResponse" }, "headers": { - "x-amzn-RateLimit-Limit": { - "type": "string", - "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." - }, "x-amzn-RequestId": { "type": "string", "description": "Unique request reference identifier." @@ -718,10 +699,6 @@ "$ref": "#/definitions/SubmitShippingLabelsResponse" }, "headers": { - "x-amzn-RateLimit-Limit": { - "type": "string", - "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." - }, "x-amzn-RequestId": { "type": "string", "description": "Unique request reference identifier." @@ -734,10 +711,6 @@ "$ref": "#/definitions/SubmitShippingLabelsResponse" }, "headers": { - "x-amzn-RateLimit-Limit": { - "type": "string", - "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." - }, "x-amzn-RequestId": { "type": "string", "description": "Unique request reference identifier." @@ -750,10 +723,6 @@ "$ref": "#/definitions/SubmitShippingLabelsResponse" }, "headers": { - "x-amzn-RateLimit-Limit": { - "type": "string", - "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." - }, "x-amzn-RequestId": { "type": "string", "description": "Unique request reference identifier." @@ -766,10 +735,6 @@ "$ref": "#/definitions/SubmitShippingLabelsResponse" }, "headers": { - "x-amzn-RateLimit-Limit": { - "type": "string", - "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." - }, "x-amzn-RequestId": { "type": "string", "description": "Unique request reference identifier." @@ -784,13 +749,13 @@ "tags": [ "vendorShippingLabels" ], - "description": "Returns a shipping label for the purchaseOrderNumber that you specify.\n\n**Usage Plan:**\n\n| Rate (requests per second) | Burst |\n| ---- | ---- |\n| 10 | 10 |\n\nThe `x-amzn-RateLimit-Limit` response header returns the usage plan rate limits that were applied to the requested operation, when available. The table above indicates the default rate and burst values for this operation. Selling partners whose business demands require higher throughput may see higher rate and burst values than those shown here. For more information, see [Usage Plans and Rate Limits in the Selling Partner API](https://developer-docs.amazon.com/sp-api/docs/usage-plans-and-rate-limits-in-the-sp-api).", + "description": "Returns a shipping label for the `purchaseOrderNumber` that you specify.\n\n**Usage Plan:**\n\n| Rate (requests per second) | Burst |\n| ---- | ---- |\n| 10 | 10 |\n\nThe `x-amzn-RateLimit-Limit` response header returns the usage plan rate limits that were applied to the requested operation, when available. The table above indicates the default rate and burst values for this operation. Selling partners whose business demands require higher throughput may see higher rate and burst values than those shown here. For more information, refer to [Usage Plans and Rate Limits in the Selling Partner API](https://developer-docs.amazon.com/sp-api/docs/usage-plans-and-rate-limits-in-the-sp-api).", "operationId": "getShippingLabel", "parameters": [ { "name": "purchaseOrderNumber", "in": "path", - "description": "The purchase order number for which you want to return the shipping label. It should be the same purchaseOrderNumber as received in the order.", + "description": "The purchase order number for which you want to return the shipping label. It should be the same `purchaseOrderNumber` as received in the order.", "required": true, "type": "string", "pattern": "^[a-zA-Z0-9]+$" @@ -857,42 +822,42 @@ "labelFormat": "PNG", "labelData": [ { - "packageIdentifier": "PKG001", - "trackingNumber": "1Z6A34Y60369738804", - "shipMethod": "UPS_GR_RES", - "shipMethodName": "UPS Ground Residential", - "content": "Base 64 encoded string goes here " - } - ] + "packageIdentifier": "PKG001", + "trackingNumber": "1Z6A34Y60369738804", + "shipMethod": "UPS_GR_RES", + "shipMethodName": "UPS Ground Residential", + "content": "Base 64 encoded string goes here " + } + ] + } } - } - }, - { - "request": { - "parameters": {} }, - "response": { - "payload": { - "purchaseOrderNumber": "mockpurchaseOrderNumber", - "sellingParty": { - "partyId": "999US" - }, - "shipFromParty": { - "partyId": "ABCD" - }, - "labelFormat": "PNG", - "labelData": [ - { - "packageIdentifier": "PKG001", - "trackingNumber": "1Z6A34Y60369738804", - "shipMethod": "UPS_GR_RES", - "shipMethodName": "UPS Ground Residential", - "content": "Base 64 encoded string goes here" - } - ] + { + "request": { + "parameters": {} + }, + "response": { + "payload": { + "purchaseOrderNumber": "mockpurchaseOrderNumber", + "sellingParty": { + "partyId": "999US" + }, + "shipFromParty": { + "partyId": "ABCD" + }, + "labelFormat": "PNG", + "labelData": [ + { + "packageIdentifier": "PKG001", + "trackingNumber": "1Z6A34Y60369738804", + "shipMethod": "UPS_GR_RES", + "shipMethodName": "UPS Ground Residential", + "content": "Base 64 encoded string goes here" + } + ] + } } } - } ] } }, @@ -935,15 +900,11 @@ } }, "401": { - "description": "The request's Authorization header is not formatted correctly or does not contain a valid token.", + "description": "The request's authorization header is not formatted correctly or does not contain a valid token.", "schema": { "$ref": "#/definitions/GetShippingLabelResponse" }, "headers": { - "x-amzn-RateLimit-Limit": { - "type": "string", - "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." - }, "x-amzn-RequestId": { "type": "string", "description": "Unique request reference identifier." @@ -984,10 +945,6 @@ "$ref": "#/definitions/GetShippingLabelResponse" }, "headers": { - "x-amzn-RateLimit-Limit": { - "type": "string", - "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." - }, "x-amzn-RequestId": { "type": "string", "description": "Unique request reference identifier." @@ -1000,10 +957,6 @@ "$ref": "#/definitions/GetShippingLabelResponse" }, "headers": { - "x-amzn-RateLimit-Limit": { - "type": "string", - "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." - }, "x-amzn-RequestId": { "type": "string", "description": "Unique request reference identifier." @@ -1016,10 +969,6 @@ "$ref": "#/definitions/GetShippingLabelResponse" }, "headers": { - "x-amzn-RateLimit-Limit": { - "type": "string", - "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." - }, "x-amzn-RequestId": { "type": "string", "description": "Unique request reference identifier." @@ -1032,10 +981,6 @@ "$ref": "#/definitions/GetShippingLabelResponse" }, "headers": { - "x-amzn-RateLimit-Limit": { - "type": "string", - "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." - }, "x-amzn-RequestId": { "type": "string", "description": "Unique request reference identifier." @@ -1050,7 +995,7 @@ "tags": [ "vendorShipping" ], - "description": "Submits one or more shipment confirmations for vendor orders.\n\n**Usage Plan:**\n\n| Rate (requests per second) | Burst |\n| ---- | ---- |\n| 10 | 10 |\n\nThe `x-amzn-RateLimit-Limit` response header returns the usage plan rate limits that were applied to the requested operation, when available. The table above indicates the default rate and burst values for this operation. Selling partners whose business demands require higher throughput may see higher rate and burst values than those shown here. For more information, see [Usage Plans and Rate Limits in the Selling Partner API](https://developer-docs.amazon.com/sp-api/docs/usage-plans-and-rate-limits-in-the-sp-api).", + "description": "Submits one or more shipment confirmations for vendor orders.\n\n**Usage Plan:**\n\n| Rate (requests per second) | Burst |\n| ---- | ---- |\n| 10 | 10 |\n\nThe `x-amzn-RateLimit-Limit` response header returns the usage plan rate limits that were applied to the requested operation, when available. The table above indicates the default rate and burst values for this operation. Selling partners whose business demands require higher throughput may see higher rate and burst values than those shown here. For more information, refer to [Usage Plans and Rate Limits in the Selling Partner API](https://developer-docs.amazon.com/sp-api/docs/usage-plans-and-rate-limits-in-the-sp-api).", "operationId": "submitShipmentConfirmations", "parameters": [ { @@ -1059,7 +1004,8 @@ "required": true, "schema": { "$ref": "#/definitions/SubmitShipmentConfirmationsRequest" - } + }, + "description": "Request body containing the shipment confirmations data." } ], "responses": { @@ -1100,182 +1046,182 @@ "shipFromParty": { "partyId": "VENDORWAREHOUSECODE" }, - "items": [ - { - "itemSequenceNumber": 1, - "buyerProductIdentifier": "ASIN001", - "vendorProductIdentifier": "9782700001659", - "shippedQuantity": { - "amount": 100, - "unitOfMeasure": "Each" - } - }, - { - "itemSequenceNumber": 2, - "buyerProductIdentifier": "ASIN002", - "vendorProductIdentifier": "9782700001659", - "shippedQuantity": { - "amount": 100, - "unitOfMeasure": "Each" - } - }, - { - "itemSequenceNumber": 3, - "buyerProductIdentifier": "ASIN003", - "vendorProductIdentifier": "9782700001659", - "shippedQuantity": { - "amount": 100, - "unitOfMeasure": "Each" - } - }, - { - "itemSequenceNumber": 4, - "buyerProductIdentifier": "ASIN004", - "vendorProductIdentifier": "9782700001659", - "shippedQuantity": { - "amount": 100, - "unitOfMeasure": "Each" - } - } - ], - "containers": [ - { - "containerType": "carton", - "containerIdentifier": "123", - "trackingNumber": "TRACK001", - "scacCode": "SCAC001", - "carrier": "ABCD001", - "shipMethod": "UPS", - "dimensions": { - "length": "10", - "width": "10", - "height": "10", - "unitOfMeasure": "IN" - }, - "weight": { - "unitOfMeasure": "KG", - "value": "10" - }, - "packedItems": [ - { - "itemSequenceNumber": 1, - "buyerProductIdentifier": "ASIN001", - "packedQuantity": { - "amount": 100, - "unitOfMeasure": "Each" - } + "items": [ + { + "itemSequenceNumber": 1, + "buyerProductIdentifier": "ASIN001", + "vendorProductIdentifier": "9782700001659", + "shippedQuantity": { + "amount": 100, + "unitOfMeasure": "Each" } - ] - }, - { - "containerType": "carton", - "containerIdentifier": "234", - "trackingNumber": "TRACK002", - "scacCode": "SCAC001", - "carrier": "ABCD001", - "shipMethod": "UPS", - "dimensions": { - "length": "10", - "width": "10", - "height": "10", - "unitOfMeasure": "IN" }, - "weight": { - "unitOfMeasure": "KG", - "value": "10" + { + "itemSequenceNumber": 2, + "buyerProductIdentifier": "ASIN002", + "vendorProductIdentifier": "9782700001659", + "shippedQuantity": { + "amount": 100, + "unitOfMeasure": "Each" + } }, - "packedItems": [ - { - "itemSequenceNumber": 2, - "buyerProductIdentifier": "ASIN002", - "packedQuantity": { - "amount": 100, - "unitOfMeasure": "Each" - } + { + "itemSequenceNumber": 3, + "buyerProductIdentifier": "ASIN003", + "vendorProductIdentifier": "9782700001659", + "shippedQuantity": { + "amount": 100, + "unitOfMeasure": "Each" } - ] - }, - { - "containerType": "carton", - "containerIdentifier": "ABCD", - "trackingNumber": "TRACK003", - "scacCode": "SCAC001", - "carrier": "ABCD001", - "shipMethod": "UPS", - "dimensions": { - "length": "10", - "width": "10", - "height": "10", - "unitOfMeasure": "IN" }, - "weight": { - "unitOfMeasure": "KG", - "value": "10" + { + "itemSequenceNumber": 4, + "buyerProductIdentifier": "ASIN004", + "vendorProductIdentifier": "9782700001659", + "shippedQuantity": { + "amount": 100, + "unitOfMeasure": "Each" + } + } + ], + "containers": [ + { + "containerType": "carton", + "containerIdentifier": "123", + "trackingNumber": "TRACK001", + "scacCode": "SCAC001", + "carrier": "ABCD001", + "shipMethod": "UPS", + "dimensions": { + "length": "10", + "width": "10", + "height": "10", + "unitOfMeasure": "IN" + }, + "weight": { + "unitOfMeasure": "KG", + "value": "10" + }, + "packedItems": [ + { + "itemSequenceNumber": 1, + "buyerProductIdentifier": "ASIN001", + "packedQuantity": { + "amount": 100, + "unitOfMeasure": "Each" + } + } + ] }, - "packedItems": [ - { - "itemSequenceNumber": 3, - "buyerProductIdentifier": "ASIN003", - "packedQuantity": { - "amount": 100, - "unitOfMeasure": "Each" + { + "containerType": "carton", + "containerIdentifier": "234", + "trackingNumber": "TRACK002", + "scacCode": "SCAC001", + "carrier": "ABCD001", + "shipMethod": "UPS", + "dimensions": { + "length": "10", + "width": "10", + "height": "10", + "unitOfMeasure": "IN" + }, + "weight": { + "unitOfMeasure": "KG", + "value": "10" + }, + "packedItems": [ + { + "itemSequenceNumber": 2, + "buyerProductIdentifier": "ASIN002", + "packedQuantity": { + "amount": 100, + "unitOfMeasure": "Each" + } } - } - ] - }, - { - "containerType": "carton", - "containerIdentifier": "id12", - "trackingNumber": "TRACK004", - "scacCode": "SCAC001", - "carrier": "ABCD001", - "shipMethod": "UPS", - "dimensions": { - "length": "10", - "width": "10", - "height": "10", - "unitOfMeasure": "IN" + ] }, - "weight": { - "unitOfMeasure": "KG", - "value": "10" + { + "containerType": "carton", + "containerIdentifier": "ABCD", + "trackingNumber": "TRACK003", + "scacCode": "SCAC001", + "carrier": "ABCD001", + "shipMethod": "UPS", + "dimensions": { + "length": "10", + "width": "10", + "height": "10", + "unitOfMeasure": "IN" + }, + "weight": { + "unitOfMeasure": "KG", + "value": "10" + }, + "packedItems": [ + { + "itemSequenceNumber": 3, + "buyerProductIdentifier": "ASIN003", + "packedQuantity": { + "amount": 100, + "unitOfMeasure": "Each" + } + } + ] }, - "packedItems": [ - { - "itemSequenceNumber": 4, - "buyerProductIdentifier": "ASIN004", - "packedQuantity": { - "amount": 100, - "unitOfMeasure": "Each" + { + "containerType": "carton", + "containerIdentifier": "id12", + "trackingNumber": "TRACK004", + "scacCode": "SCAC001", + "carrier": "ABCD001", + "shipMethod": "UPS", + "dimensions": { + "length": "10", + "width": "10", + "height": "10", + "unitOfMeasure": "IN" + }, + "weight": { + "unitOfMeasure": "KG", + "value": "10" + }, + "packedItems": [ + { + "itemSequenceNumber": 4, + "buyerProductIdentifier": "ASIN004", + "packedQuantity": { + "amount": 100, + "unitOfMeasure": "Each" + } } - } - ] - } - ] - } - ] + ] + } + ] + } + ] + } } } + }, + "response": { + "payload": { + "transactionId": "20190905010908-8a3b6901-ef20-412f-9270-21c021796605" + } } }, - "response": { - "payload": { - "transactionId": "20190905010908-8a3b6901-ef20-412f-9270-21c021796605" - } - } - }, - { - "request": { - "parameters": { - "body": {} - } - }, - "response": { - "payload": { - "transactionId": "mock-TransactionId-20190905010908-8a3b6901-ef20-412f-9270-21c021796605" + { + "request": { + "parameters": { + "body": {} + } + }, + "response": { + "payload": { + "transactionId": "mock-TransactionId-20190905010908-8a3b6901-ef20-412f-9270-21c021796605" + } } } - } ] } }, @@ -1357,10 +1303,6 @@ "$ref": "#/definitions/SubmitShipmentConfirmationsResponse" }, "headers": { - "x-amzn-RateLimit-Limit": { - "type": "string", - "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." - }, "x-amzn-RequestId": { "type": "string", "description": "Unique request reference identifier." @@ -1373,10 +1315,6 @@ "$ref": "#/definitions/SubmitShipmentConfirmationsResponse" }, "headers": { - "x-amzn-RateLimit-Limit": { - "type": "string", - "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." - }, "x-amzn-RequestId": { "type": "string", "description": "Unique request reference identifier." @@ -1389,10 +1327,6 @@ "$ref": "#/definitions/SubmitShipmentConfirmationsResponse" }, "headers": { - "x-amzn-RateLimit-Limit": { - "type": "string", - "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." - }, "x-amzn-RequestId": { "type": "string", "description": "Unique request reference identifier." @@ -1405,10 +1339,6 @@ "$ref": "#/definitions/SubmitShipmentConfirmationsResponse" }, "headers": { - "x-amzn-RateLimit-Limit": { - "type": "string", - "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." - }, "x-amzn-RequestId": { "type": "string", "description": "Unique request reference identifier." @@ -1421,10 +1351,6 @@ "$ref": "#/definitions/SubmitShipmentConfirmationsResponse" }, "headers": { - "x-amzn-RateLimit-Limit": { - "type": "string", - "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." - }, "x-amzn-RequestId": { "type": "string", "description": "Unique request reference identifier." @@ -1439,7 +1365,7 @@ "tags": [ "vendorShipping" ], - "description": "This API call is only to be used by Vendor-Own-Carrier (VOC) vendors. Calling this API will submit a shipment status update for the package that a vendor has shipped. It will provide the Amazon customer visibility on their order, when the package is outside of Amazon Network visibility.\n\n**Usage Plan:**\n\n| Rate (requests per second) | Burst |\n| ---- | ---- |\n| 10 | 10 |\n\nThe `x-amzn-RateLimit-Limit` response header returns the usage plan rate limits that were applied to the requested operation, when available. The table above indicates the default rate and burst values for this operation. Selling partners whose business demands require higher throughput may see higher rate and burst values than those shown here. For more information, see [Usage Plans and Rate Limits in the Selling Partner API](https://developer-docs.amazon.com/sp-api/docs/usage-plans-and-rate-limits-in-the-sp-api).", + "description": "This API call is only to be used by Vendor-Own-Carrier (VOC) vendors. Calling this API will submit a shipment status update for the package that a vendor has shipped. It will provide the Amazon customer visibility on their order, when the package is outside of Amazon Network visibility.\n\n**Usage Plan:**\n\n| Rate (requests per second) | Burst |\n| ---- | ---- |\n| 10 | 10 |\n\nThe `x-amzn-RateLimit-Limit` response header returns the usage plan rate limits that were applied to the requested operation, when available. The table above indicates the default rate and burst values for this operation. Selling partners whose business demands require higher throughput may see higher rate and burst values than those shown here. For more information, refer to [Usage Plans and Rate Limits in the Selling Partner API](https://developer-docs.amazon.com/sp-api/docs/usage-plans-and-rate-limits-in-the-sp-api).", "operationId": "submitShipmentStatusUpdates", "parameters": [ { @@ -1448,7 +1374,8 @@ "required": true, "schema": { "$ref": "#/definitions/SubmitShipmentStatusUpdatesRequest" - } + }, + "description": "Request body containing the shipment status update data." } ], "responses": { @@ -1489,41 +1416,41 @@ "reasonCode": "NS", "statusDateTime": "2020-08-07T19:56:45.632Z", "statusLocationAddress": { - "city": "Berlin", - "postalCode": "10115", - "stateOrRegion": "Berlin", - "countryCode": "DE" - }, - "shipmentSchedule": { - "estimatedDeliveryDateTime": "2020-08-07T19:56:45.632Z", - "apptWindowStartDateTime": "2020-08-07T19:56:45.632Z", - "apptWindowEndDateTime": "2020-08-07T19:56:45.632Z" + "city": "Berlin", + "postalCode": "10115", + "stateOrRegion": "Berlin", + "countryCode": "DE" + }, + "shipmentSchedule": { + "estimatedDeliveryDateTime": "2020-08-07T19:56:45.632Z", + "apptWindowStartDateTime": "2020-08-07T19:56:45.632Z", + "apptWindowEndDateTime": "2020-08-07T19:56:45.632Z" + } } } - } - ] + ] + } } } + }, + "response": { + "payload": { + "transactionId": "20190905010908-8a3b6901-ef20-412f-9270-21c021796605" + } } }, - "response": { - "payload": { - "transactionId": "20190905010908-8a3b6901-ef20-412f-9270-21c021796605" - } - } - }, - { - "request": { - "parameters": { - "body": {} - } - }, - "response": { - "payload": { - "transactionId": "mock-TransactionId-20190905010908-8a3b6901-ef20-412f-9270-21c021796605" + { + "request": { + "parameters": { + "body": {} + } + }, + "response": { + "payload": { + "transactionId": "mock-TransactionId-20190905010908-8a3b6901-ef20-412f-9270-21c021796605" + } } } - } ] } }, @@ -1605,10 +1532,6 @@ "$ref": "#/definitions/SubmitShipmentStatusUpdatesResponse" }, "headers": { - "x-amzn-RateLimit-Limit": { - "type": "string", - "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." - }, "x-amzn-RequestId": { "type": "string", "description": "Unique request reference identifier." @@ -1621,10 +1544,6 @@ "$ref": "#/definitions/SubmitShipmentStatusUpdatesResponse" }, "headers": { - "x-amzn-RateLimit-Limit": { - "type": "string", - "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." - }, "x-amzn-RequestId": { "type": "string", "description": "Unique request reference identifier." @@ -1637,10 +1556,6 @@ "$ref": "#/definitions/SubmitShipmentStatusUpdatesResponse" }, "headers": { - "x-amzn-RateLimit-Limit": { - "type": "string", - "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." - }, "x-amzn-RequestId": { "type": "string", "description": "Unique request reference identifier." @@ -1653,10 +1568,6 @@ "$ref": "#/definitions/SubmitShipmentStatusUpdatesResponse" }, "headers": { - "x-amzn-RateLimit-Limit": { - "type": "string", - "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." - }, "x-amzn-RequestId": { "type": "string", "description": "Unique request reference identifier." @@ -1669,10 +1580,6 @@ "$ref": "#/definitions/SubmitShipmentStatusUpdatesResponse" }, "headers": { - "x-amzn-RateLimit-Limit": { - "type": "string", - "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." - }, "x-amzn-RequestId": { "type": "string", "description": "Unique request reference identifier." @@ -1687,13 +1594,13 @@ "tags": [ "customerInvoices" ], - "description": "Returns a list of customer invoices created during a time frame that you specify. You define the time frame using the createdAfter and createdBefore parameters. You must use both of these parameters. The date range to search must be no more than 7 days.\n\n**Usage Plan:**\n\n| Rate (requests per second) | Burst |\n| ---- | ---- |\n| 10 | 10 |\n\nThe `x-amzn-RateLimit-Limit` response header returns the usage plan rate limits that were applied to the requested operation, when available. The table above indicates the default rate and burst values for this operation. Selling partners whose business demands require higher throughput may see higher rate and burst values than those shown here. For more information, see [Usage Plans and Rate Limits in the Selling Partner API](https://developer-docs.amazon.com/sp-api/docs/usage-plans-and-rate-limits-in-the-sp-api).", + "description": "Returns a list of customer invoices created during a time frame that you specify. You define the time frame using the `createdAfter` and `createdBefore` parameters. You must use both of these parameters. The date range to search must be no more than 7 days.\n\n**Usage Plan:**\n\n| Rate (requests per second) | Burst |\n| ---- | ---- |\n| 10 | 10 |\n\nThe `x-amzn-RateLimit-Limit` response header returns the usage plan rate limits that were applied to the requested operation, when available. The table above indicates the default rate and burst values for this operation. Selling partners whose business demands require higher throughput may see higher rate and burst values than those shown here. For more information, refer to [Usage Plans and Rate Limits in the Selling Partner API](https://developer-docs.amazon.com/sp-api/docs/usage-plans-and-rate-limits-in-the-sp-api).", "operationId": "getCustomerInvoices", "parameters": [ { "name": "shipFromPartyId", "in": "query", - "description": "The vendor warehouseId for order fulfillment. If not specified, the result will contain orders for all warehouses.", + "description": "The vendor `warehouseId` for order fulfillment. If not specified, the result will contain orders for all warehouses.", "required": false, "type": "string" }, @@ -1709,7 +1616,7 @@ { "name": "createdAfter", "in": "query", - "description": "Orders that became available after this date and time will be included in the result. Must be in ISO-8601 date/time format.", + "description": "Orders that became available after this date and time will be included in the result. Must be in ISO 8601 date/time format.", "required": true, "type": "string", "format": "date-time" @@ -1717,7 +1624,7 @@ { "name": "createdBefore", "in": "query", - "description": "Orders that became available before this date and time will be included in the result. Must be in ISO-8601 date/time format.", + "description": "Orders that became available before this date and time will be included in the result. Must be in ISO 8601 date/time format.", "required": true, "type": "string", "format": "date-time" @@ -1802,35 +1709,35 @@ "response": { "payload": { "pagination": { - "nextToken": "MDAwMDAwMDAwMQ==" - }, - "customerInvoices": [ - { - "purchaseOrderNumber": "PO98676856", - "content": "base 64 content goes here" - } - ] + "nextToken": "MDAwMDAwMDAwMQ==" + }, + "customerInvoices": [ + { + "purchaseOrderNumber": "PO98676856", + "content": "base 64 content goes here" + } + ] + } } - } - }, - { - "request": { - "parameters": {} }, - "response": { - "payload": { - "pagination": { - "nextToken": "MDAwMDAwMDAwMQ==" - }, - "customerInvoices": [ - { - "purchaseOrderNumber": "mockpurchaseOrderNumber", - "content": "base 64 content goes here" - } - ] + { + "request": { + "parameters": {} + }, + "response": { + "payload": { + "pagination": { + "nextToken": "MDAwMDAwMDAwMQ==" + }, + "customerInvoices": [ + { + "purchaseOrderNumber": "mockpurchaseOrderNumber", + "content": "base 64 content goes here" + } + ] + } } } - } ] } }, @@ -1941,10 +1848,6 @@ "$ref": "#/definitions/GetCustomerInvoiceResponse" }, "headers": { - "x-amzn-RateLimit-Limit": { - "type": "string", - "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." - }, "x-amzn-RequestId": { "type": "string", "description": "Unique request reference identifier." @@ -1957,10 +1860,6 @@ "$ref": "#/definitions/GetCustomerInvoiceResponse" }, "headers": { - "x-amzn-RateLimit-Limit": { - "type": "string", - "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." - }, "x-amzn-RequestId": { "type": "string", "description": "Unique request reference identifier." @@ -1973,10 +1872,6 @@ "$ref": "#/definitions/GetCustomerInvoiceResponse" }, "headers": { - "x-amzn-RateLimit-Limit": { - "type": "string", - "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." - }, "x-amzn-RequestId": { "type": "string", "description": "Unique request reference identifier." @@ -1989,10 +1884,6 @@ "$ref": "#/definitions/GetCustomerInvoiceResponse" }, "headers": { - "x-amzn-RateLimit-Limit": { - "type": "string", - "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." - }, "x-amzn-RequestId": { "type": "string", "description": "Unique request reference identifier." @@ -2007,7 +1898,7 @@ "tags": [ "customerInvoices" ], - "description": "Returns a customer invoice based on the purchaseOrderNumber that you specify.\n\n**Usage Plan:**\n\n| Rate (requests per second) | Burst |\n| ---- | ---- |\n| 10 | 10 |\n\nThe `x-amzn-RateLimit-Limit` response header returns the usage plan rate limits that were applied to the requested operation, when available. The table above indicates the default rate and burst values for this operation. Selling partners whose business demands require higher throughput may see higher rate and burst values than those shown here. For more information, see [Usage Plans and Rate Limits in the Selling Partner API](https://developer-docs.amazon.com/sp-api/docs/usage-plans-and-rate-limits-in-the-sp-api).", + "description": "Returns a customer invoice based on the `purchaseOrderNumber` that you specify.\n\n**Usage Plan:**\n\n| Rate (requests per second) | Burst |\n| ---- | ---- |\n| 10 | 10 |\n\nThe `x-amzn-RateLimit-Limit` response header returns the usage plan rate limits that were applied to the requested operation, when available. The table above indicates the default rate and burst values for this operation. Selling partners whose business demands require higher throughput may see higher rate and burst values than those shown here. For more information, refer to [Usage Plans and Rate Limits in the Selling Partner API](https://developer-docs.amazon.com/sp-api/docs/usage-plans-and-rate-limits-in-the-sp-api).", "operationId": "getCustomerInvoice", "parameters": [ { @@ -2113,15 +2004,11 @@ } }, "401": { - "description": "The request's Authorization header is not formatted correctly or does not contain a valid token.", + "description": "The request's authorization header is not formatted correctly or does not contain a valid token.", "schema": { "$ref": "#/definitions/GetCustomerInvoiceResponse" }, "headers": { - "x-amzn-RateLimit-Limit": { - "type": "string", - "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." - }, "x-amzn-RequestId": { "type": "string", "description": "Unique request reference identifier." @@ -2162,10 +2049,6 @@ "$ref": "#/definitions/GetCustomerInvoiceResponse" }, "headers": { - "x-amzn-RateLimit-Limit": { - "type": "string", - "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." - }, "x-amzn-RequestId": { "type": "string", "description": "Unique request reference identifier." @@ -2178,10 +2061,6 @@ "$ref": "#/definitions/GetCustomerInvoiceResponse" }, "headers": { - "x-amzn-RateLimit-Limit": { - "type": "string", - "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." - }, "x-amzn-RequestId": { "type": "string", "description": "Unique request reference identifier." @@ -2194,10 +2073,6 @@ "$ref": "#/definitions/GetCustomerInvoiceResponse" }, "headers": { - "x-amzn-RateLimit-Limit": { - "type": "string", - "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." - }, "x-amzn-RequestId": { "type": "string", "description": "Unique request reference identifier." @@ -2210,10 +2085,6 @@ "$ref": "#/definitions/GetCustomerInvoiceResponse" }, "headers": { - "x-amzn-RateLimit-Limit": { - "type": "string", - "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." - }, "x-amzn-RequestId": { "type": "string", "description": "Unique request reference identifier." @@ -2228,13 +2099,13 @@ "tags": [ "vendorShipping" ], - "description": "Returns a list of packing slips for the purchase orders that match the criteria specified. Date range to search must not be more than 7 days.\n\n**Usage Plan:**\n\n| Rate (requests per second) | Burst |\n| ---- | ---- |\n| 10 | 10 |\n\nThe `x-amzn-RateLimit-Limit` response header returns the usage plan rate limits that were applied to the requested operation, when available. The table above indicates the default rate and burst values for this operation. Selling partners whose business demands require higher throughput may see higher rate and burst values than those shown here. For more information, see [Usage Plans and Rate Limits in the Selling Partner API](https://developer-docs.amazon.com/sp-api/docs/usage-plans-and-rate-limits-in-the-sp-api).", + "description": "Returns a list of packing slips for the purchase orders that match the criteria specified. Date range to search must not be more than 7 days.\n\n**Usage Plan:**\n\n| Rate (requests per second) | Burst |\n| ---- | ---- |\n| 10 | 10 |\n\nThe `x-amzn-RateLimit-Limit` response header returns the usage plan rate limits that were applied to the requested operation, when available. The table above indicates the default rate and burst values for this operation. Selling partners whose business demands require higher throughput may see higher rate and burst values than those shown here. For more information, refer to [Usage Plans and Rate Limits in the Selling Partner API](https://developer-docs.amazon.com/sp-api/docs/usage-plans-and-rate-limits-in-the-sp-api).", "operationId": "getPackingSlips", "parameters": [ { "name": "shipFromPartyId", "in": "query", - "description": "The vendor warehouseId for order fulfillment. If not specified the result will contain orders for all warehouses.", + "description": "The vendor `warehouseId` for order fulfillment. If not specified the result will contain orders for all warehouses.", "required": false, "type": "string" }, @@ -2250,7 +2121,7 @@ { "name": "createdAfter", "in": "query", - "description": "Packing slips that became available after this date and time will be included in the result. Must be in ISO-8601 date/time format.", + "description": "Packing slips that became available after this date and time will be included in the result. Must be in ISO 8601 date/time format.", "required": true, "type": "string", "format": "date-time" @@ -2258,7 +2129,7 @@ { "name": "createdBefore", "in": "query", - "description": "Packing slips that became available before this date and time will be included in the result. Must be in ISO-8601 date/time format.", + "description": "Packing slips that became available before this date and time will be included in the result. Must be in ISO 8601 date/time format.", "required": true, "type": "string", "format": "date-time" @@ -2352,47 +2223,47 @@ "response": { "payload": { "pagination": { - "nextToken": "NEBxNEBxNEBxNR==" - }, - "packingSlips": [ - { - "purchaseOrderNumber": "UvgABdBjQ", - "content": "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MSAxMjkyIDk3NF0vSXRhbGljQW5nbGUgMC9Bc2NlbnQgOTc0L0NJRFNldCAyMiAwIFI+PgplbmRvYmoKMTkgMCBvYmo8PC9EVyAwL1N1YnR5cGUvQ0lERm9udFR5cGUyL0NJRFN5c3RlbUluZm88PC9TdXBwbGVtZW50IDAvUmVnaXN0cnkoQWRvYmUpL09yZGVyaW5nKFVDUyk+Pi9UeXBlL0ZvbnQvQmFzZUZvbnQvRUFBQUFBK0FtYXpvbkVtYmVyLVJlZ3VsYXIvRm9udERlc2NyaXB0b3IgMjAgMCBSL1dbMFs1MDAgMjYyIDM5MCA2OTAgNDgxIDc2OSA1OTIgNjAwIDYwNCA1NzAgNjQwIDc3NyAzODMgNTA5IDI0OCAyNzggNTI5IDg5MyAzNzMgMjU1IDQ2MSA1NzQgNTgwIDUyNyAyODUgNTg2IDg0MCA0MzIgNTg2IDU4NiA1ODYgNTg2IDU4NiA1NzUgNjA3IDU5MCA1ODYgNzc3IDU4NiA1ODYgNTEwIDU5MiA1ODggNTgwIDM3MyA2MjEgNjEzIDUyNiAyNDggNzA2IDUyNCA1ODggMjQ4IDYwNCA2NDIgNTg2IDQ3MiA0NzZdXS9DSURUb0dJRE1hcC9JZGVudGl0eT4+CmVuZG9iagoxNyAwIG9iajw8L1N1YnR5cGUvVHlwZTAvVHlwZS9Gb250L0Jhc2VGb250L0VBQUFBQStBbWF6b25FbWJlci1SZWd1bGFyL0VuY29kaW5nL0lkZW50aXR5LUgvVG9Vbmljb2RlIDE4IDAgUi9EZXNjZW5kYW50Rm9udHNbMTkgMCBSXT4+CmVuZG9iagoyMyAwIG9iaiA8PC9Db2xvclNwYWNlWy9JQ0NCYXNlZCA3IDAgUl0vTmFtZS9JbTMvU3VidHlwZS9JbWFnZS9IZWlnaHQgMTYwL0ZpbHRlci9GbGF0ZURlY29kZS9UeXBlL1hPYmplY3QvV2lkdGggMzc2L0xlbmd0aCA1MTA4L0JpdHNQZXJDb21wb25lbnQgOD4+c3RyZWFtCnic7Z2/rhxFGsUnu9JKKzmzLDkgsmQ5cWRZkDhBSEROECIjQIjQgYHwBrCklhaILQE5knmAEd4HMJcXwDyB7xv0np6zc/abquqenp4/1dM+P5VGM9PV1VXVX53+qrqrummMMcYYY4wxxhhjjDHGGGOMMcYYY4wxZl9+f/ny6Vdfv//Bhw5nGj77/Iuffv6lth0ZU+bN9TWs9OIf/3SYQbhz994fV1e1bcqYDSAyDx6+V711OBww3Lx121JjJsVHH39SvV04HDzAq8EVpLZxGdOCq171FuFwpPDv73+sbV/GtDz96uvqzcHhSOH9Dz6sbV/GtHj4d96htn0Z02KdmXeobV/GtFhn5h1q25cxLdaZeYfa9mVMi3Vm3qG2fRnTYp2Zd6htX8a0WGfmHWrblzEt1pl5h9r2ZUyLdWbeobZ9GdNinZl3qG1fxrRYZ+YdatuXMS3WmXmH2vZlTIt1Zt6htn0Z02KdmXeobV/GtFhn5h1q25cxLdaZeYfa9mVMi3Vm3qG2fRnTYp2Zd6htX8a0WGfmHWrblzEt1pl5h9r2ZUyLdWbeobZ9GdNinZl3qG1fxrRMR2eQkxcvfnv9+m/k6vr6+veX//ns8y+q5+p4hf3mX98hHLuMte3LmJaT6cyDh+9CRqAexddfornleUPk6oJwpACFOU0ZT2tNxpQ5mc7QUSF37t6Lm27euh2zhJhofY115hDhlLZkTBcn05meg0Znpudl39iEVjmP/pR1xrxVnExnvv/hf+96vrr6s6vR5ZuK0fClulDsGawz5q3ilOPADx6+WzzcwEYnpbLODA91rMqYTaZwv2lgo+OgTWOd2SXUsSpjNtlHZ+7cvYf2wrtIcDY++/yLm7duX6z9liRlROaf2JqkE7tUjMOQDBdjK6P99PMvMdrWfOomMkNxFxwL+cdWJM5RIN50ZonyBJOCqMh5fCSCAiJBVBTS5F79OvPRx58gArOBfZ9++XVeadYZc0aM1hmJQ+T6+hptRIIQ4+ctCw0Q8XvyRr+leKBITyaRQvEQr1//HUVDGS6WKG/j3MTRJJQ33kqL9Ykd4yaBGoCaJbXRv0uzUlfrjDlTxumMmkk//Tqjf7qgzqi7NOQowzOZZ6wLSE3ipWhTfgjVJxSjX0VJ1Bn4VD27jOthbc2AMSdghM7gCq7dcU3HTzRDtBF8Sdpdv86oOyMlwaU87+CwOxPVgJ0ahS5PRvGZrPpZ7OvFmCgFvCbkX64LvsSyoOfS33jZx0FQCtEtUXcJn0gqborqoSPSLdT/yDP2Qg6tM+ZMGaEz6mWgvRSHI5R4v84M2VRsMlvHgSF6iozcFsdYdipp1KWYEwhC8WGeWAnFCEgwL7L09oAPCB3ITIzZi111JjbhYnNAgopQS2dw9VfkZDB5p9CVsa21JxnpeiKomPIxbqgdyEyM2YtddSbKSLEJT0FntjbzY+vM1qwWU449NUQY7YZZZ8zU2FVn4rjHViGqpTNyDIaPnaJRayCIIQ43jdaZrmkUxSLn48C8g2+dMefOvHVmYAdk6y2nnXQm1kBX9XYVuXiX6vXrv0eP2AyzAmOOy7x1Zsg9muT5HHS1eOco/rmTzkArtlZvT5HpWeWP9Pj5GXO+7DM+U3xIdVI6s7XfFIe1X7z4LRkSkQSN7jd1+SFDiozqRQaiezPCq9nLOIw5EPvcbyq29ynoTHwQpT9mvAGdj7uOHgeWOHQ5IcPnNyFXccKFdcacI/s8P1N8Jj/eU66lM1sfX8kP3ZS6gaN1Jgpd8bbRTvMo95l0eQATMWZv9nweGO0IwsLnbNGik2GNw+qMHqNNnprLA5q2PAp8ycuICGz+UZESzcReOuKuOhOduvxBwTixK6bcNVlyp+Em64yZIBXnN+2qM3oqpgmjtZzinUeObhXjo5FyOjb9Me4Vu4HSTM5EiLvvqjMXm9OykDKOy6Mn0yRjys3q1hKndUPMc+kecbKGnCZjjs1h52ujURyv3xSdhCFF6J/orb16onWNJw+pvTiuMjDlntw2vt9kzpk915+BqujBNrr9xxsHviit4YBdemYW8F0tSZHpXcS+TL58BPZiZ7CYsYG1h0MUU0ZF6d53TLl4O7tZOTnJRE7rjDkvDr6eXhy9OWzK+wStQ9UvSl1rVR3q6EMi4+hxFa/RK1wxVDQtY8TBdUZDN3vOLXI4SKhrXcaQw+pMfBR2Bqv4ziBUNC1jxAid4Q1fLggcl4+LYxFdz404nDjUtS5jyDid2Zpsz+veHE4ZTmBCxmxlhM7cuXuvZ81euDpTeFfLCQJfkcB3GSjElxpMIZzSlozpYrQm8Ka2WpmeLhuRFJ9Jq94kh4euG9AHqdjDhtNYkTH9TKE50DvqfxJmOmHr+xfIRIbBj2w+xgxiCjqDXkackjxltbl567betsBhcAV4d9HJGf1k3WFDJbMyZoMp6Izar3IFtZnOEMfwMGQlvROHGjZlTMpEmgNDMtUIyjPx+1YcpJLrEnVmIrf1T25QxhSYlM5crMaEkwlBfFZnap0p5DPOnKL3pVUm4nt164aTGpMxHUxNZy6yPpS4uvoTnkNdweFLEBIl1FxIzbkY9+7IY4RT2JAx25igzjDExaAS6OHwfbsnyAmfk4H3kueHS9YopiJMx/s6rvUYM4zJ6szFyrHpX0OmWS9gBR047Lgx7x/ly1JFkhvxmqg+bqEY64yZMVPWGQa05YHL9zWrts8nBrWaaL/Pg8QZjbeqsXuPsMSj5PXGTMKlmY4zY50xE2H6OjNCbY5HUWEuworEE3lsxjpjJsW56IzUBl7HEJfjsHAJvp6uGe80TarHZJ0x0+G8dEaheN/nGKAXBg3ZOuDM8Zzq1WKdMdPkTHUmCs73P/y4dVbjTsBfgoid7H6WdcbMnnPXGQUuq4teFTyQXWWHb2nhfPNJjeLuH45kNsbsxGx0Jg9xQW+9lCGZAjkzVclDbfsypmXGOuNwYZ0x08A6M+9Q276MabHOzDvUti9jWqwz8w617cuYFuvMvENt+zKmxToz71Dbvoxpsc7MO9S2L2NarDPzDrXty5gW68y8Q237MqbFOjPvUNu+jGmxzsw71LYvY1qsM/MOte3LmBbrzLxDbfsypsU6M+9Q276MabHOzDvUti9jWqwz8w617cuYFuvMvENt+zKm5Ztvv6veFhyOFHARqW1fxrRM543zDgcPU3jjlTHk6VdTfCGIw57hwcP3aluWMf/nzfU1bLJ6u3A4YLh56/YfV1e1LcuYDSA19mpmE97/4MPTv7LTmIHAOL/5tn2HkV5H4nBeAReL31++rG1HxhhjjDHGGGOMMcYYY4wxxhhjjDHGGGOMMcYYY4wxxhhjjDHGnBN/rRgYeblcvnnz5pjZGQmK8OrVq9q5mDSon+Enuh/XttmJ58+fL1ZcXl7i56M13Jr/RMwbN24cylxH5Pb+/fvIwzvvvIPv+v/XX39lKZ48eVIlY9MHNcMqQl3tmRSuNa5tQ2QMIMoCtQJQPR4/fsyf+IKf2oWRu34i8RMXp9kskYSR4HssFP8BVfLZdFR+ksMTo/Me620gz549w14S9ry2zVtLNHVdd2Dz+pNGAu+XHgvd4H6dgb0hJhSpStcpmjdKF8UT35Er/M+2oLKPaFMHIVY+BbyprTOoGZ67Eb5okvOkts3bTDR19HSoDJ9++mmiM4gWL/39OgO7YmTZKv5BmkgKUibnQWkimqRJ3XlsRWT8iR2xey5Z2Av7ci/szgjYXa4XNiW+CnfhNRff1UdgTOYW6cRk86xyK3KFY6lciond8Z3tCzH7RycS1yvWbdQZHIUJIsNdzT9WF7s8+GSe+ZPOBovAE/R8xeMV6iUl504nnTVA3UZSLDV2pIaw0phz9FUVU7Xdc8p0FOQBezHlWspvjkTey8DZj//Q4GVFNIB+nZHvzYYTVYvQ8JRmBFqX52qRdcHyCPfv30fOdehYonwvWnJ+CDQEZKCn+D1QajgulOw+sPIZOX5HiZIEF+vai2j0LMaBxPE7SqSBKaQWT1Ce/+Tc8Tukg1+oEsmOVJWeP+USJ3XLUxbtJ8+PmQcyBtoAL0bxdO+pM2oCSF/+A0iugHETL538Do3C9+jnEFk+NqklIibS0SZ8SZz2aPn4P4kZfSH6BvzOq3Axq8hePLqaNqvxyYohla+cqLpY7Whr/Imj6LiU4gjPHT5xUJ3HpiSPrEYVjc5MTLaoM4LnArB0yiqSVT0gHVZvojPFU8b6Ufp02+JeZh7EmwLRouSE7KkzSlY3qrQpSbO4CUaLnCSdBQ0fsWnoYl3MarGwXTFjg1UN5FmN5dXR2dfQpiHjEsoPYkofYg5VJ0xKW6N3lzhpasLcGt0hFbNLTKJDmGzigwo8EVAV9nRiVpO6Tf6JTnIeuWeTmQc6rfgiM16sLuLxdI/WGX3P3fIencn7C10tK/+5j84sSvTrTDKYnLgQGt3dWvlFNzJp9cnPJJGIfB55RIu1M5Ono+5MPF/Fgbim1AseojPRbc4jF+vTOjMnoqknTnv8PlBn2N0uigk9ZKlHv84wWbgKj0q3WePFEd+P4c9wTJL0Fz/RmWblbqGwarzNavwEPyHjiWMWKx8FicMXjzYfJ0j8mdiLTJozYYQkTQ7ONJmkx+L064w6hkiqX+3zf3pOWbE+uUlV5+f9zppo6smmniYp64W9wQBk//wZbTVebWMXPo7PFPtNHDOJox8xb4qMCMoMXaYROqP4uljz6IDX34E6g+8cneCOiqPvSZaSyo/DuWplqjFVBcdeIvF0PFrTBN8jDuQmtdfVUyvqTBxQiuMzTeZW5ePAShn7JhVSrM9kL9+BOmvG6Ux0nuMgzKLkeycjP/QW8jSLXpB2STyB/OaFLqPDdSa5u3S5utcWO48y/uE6k+xLLy7pPPZUftLqm6yfggznV3bUZ14bURPiiBa+Kz95slv7TXn9KKvJWFBS2/F6lOwYj5LsJY/Ot5/OGrQseh35AyrRA4dx8md8JAa2pKcg4k/skqSpkUNEUApJmsleevwjPmiR5FwPe8Sml2c1L6ziKxEcTkfRofmYTZ5m7FIpTcXUkyrxKJfhMZKeyteBYolUe8XniLSjaoNl6areqDN6gjeeqZilWFLlWXvxELGYrDp8YlNPbV+un+ohxfpU1w+H85N+xpwdxfFkY4w5INYZY8yxyTu2xhhjjDHGGGOMMcYYY4wx5m2Ds366tnItCz0gF+cvHDVXfJrXcwSMmQGch9jTnDlRIs5DhyhhLz29f3mcVZGtM8bMBs766VnClzMd4trmSds/khpYZ8wx4HQVfqevrnkry9V0SP6p+SnL9TKzcXfGyf/kz3xmEA7B9e4erVZ24sNmSiQuNbxcrzeLT0XT+r345EG1kq3QEZnao9XavHqqjSvrLsOSvMVVC+JiwnEB3nyxX1WLEuRUIK0zHJPlSg6ahIiUGe3ZCuZctcHyLtarYMWFkfWPMqa1jt+siBUV889EtC9iKtvRj9L/caVlY0bA2cRsZRwE0KABr7mcAa1hAcbHJ39qVZZFWBKKs3ppw1zwRPHJYr0AAicIc+tyPc+Xm+Kk4BjtcrWyZVy6gZMBi3OQWQQlqHXata8S19IuQjPKtVZDs566zkUnFmEe+mVYmy5ZAJOJRKWlbvAfdqBizLhKAzUzKVf+j84LM4Z0+LRwUlGa0K254dxXNZCs4cDzGJfXMGYctHNerbSCAdsOTIvSwcZFz4G2Ry2ihsTlu5uwJidlgW0qeWdZfFqeTaNZtyy1R9q8XmGgRhH3ZeaTychc0ObViqh+zElc50HeiDIfoUbFnLNojzaXgZL6LTZf4aQ1uvOhGOZQxZf6MfOJzijBmEKylT+Tpf/yiroMy3dELygmFWPmFwhjRsOrXrOyeUqN1qCOPsnlevlcjS3ExiU9od0iDrWoeCnU+gN872RsWRINJq5dYgPX0g08aNSZKA5MIW5dbC6+pP+Tn6qW5H4Q22D0TLh6VX9uE01IHLwYs1m/GDTfq19n8pIWKyrqjOJw3/g2nMSfQVY9W9PsD7VFzRwNB//Qh9E1ESaH/2mu9C4oEepuUIKwF4cI2CT5Z3JN1NLBWgtuJ52hjlEb6ThpF+Y53pHZR2cSBSgmqB2H6wwzqXZ9PJ3Je2RFneHZ14mOKeP0xdXsPWfT7AMNUubHN5tABKIfroFH9ejpOcThQcoO3zWgns5icy3cZi0U2jFpWVt1huqkRZwWm2tmRk2LwyDNuvPFQg3RmTgqRfJ7McrVcJ1J3KTk5zidSUoaCxUrqsefiYP/ybGQgrzcxpg94PWObVBLTEe70vrV1Aet5BnvzGplfgoLnZY4qkx9oCBwnISLVO+kM2z+f62g1nHpthsrtLAb/qE3hfi8axMbS5fOIBo7j8oAew2Aa9zpKGp9l+EtCXlum82Wm2hsEwT8cv0Gt+E6w9ttKqlWX+dqeBJ5lb2oM0yKy5IDVunl+q2XcZTbOmP2hHYo+6dcJH4y+zjUEBlnjCBr508ap96zplsecQlfNtsR/SZCKVtmyxEXI0dvp0tnKKfUxuTlmEwwWchXYjJQZ/LHZqRXi/X714boTBPW8i2WlGqTVFRRZ5rN9Z8VU1cW/e9+k9kT3hqOa8zmz5PwaRb9XJbW711uriW73Fw4N9m0XL+5TAvJLrOFdospMydSvLiUbvRnkmMlC/bGxONPOgDJpuXmLa08wZ7cMj4dsMW2F0Itwm21WMNdtR1rLFnoWLlSRcV1hpOkijGVYB7fGDNNiqMoy9VbtyjssXdjjDEjKDoS8XWTW70dY4wZx1/d75ExxhhjjDHGGGOMMcYYY4wxxrxV/BdAuo2VCmVuZHN0cmVhbQplbmRvYmoKMjQgMCBvYmogPDwvQ29sb3JTcGFjZVsvSUNDQmFzZWQgOSAwIFJdL05hbWUvSW00L1N1YnR5cGUvSW1hZ2UvSGVpZ2h0IDE2MC9GaWx0ZXIvRmxhdGVEZWNvZGUvVHlwZS9YT2JqZWN0L1dpZHRoIDM3Ni9MZW5ndGggNjU4Ni9CaXRzUGVyQ29tcG9uZW50IDg+PnN0cmVhbQp4nO2dP6jj1prApTLFEl91WXhEXFevWDBcN4FAVNjFg8C6mQtvCYur6ybw3Cz3FsNDbKXigWvDA3PZYsCbrItU8wSjZqpZgQcCad5ovSTNQBi5mCZDCu335/yTLNnS/X+z+kI8ks7/3zn6znfOJ+lmWSuttNJKK6200korrbTSSiuttNJKK620oiV8+sXH1t3I53/65r5b+0Dk16ef3xFzIZ9+9ff7bvMDkKe/tyzXj7Z3VFw061nWR1/fUWkPVn76g2V50d2WuRlb1mff322ZD0y+/8Ryo7svdt2zPioBv1n4/mpz57W5e/n+I2t0VwomL+Nd8Nspq/9xSY0W/qJwpQPa8ZbqFmEt1uJkhiclMSJ95lMEfzdalfz0iTW+Zh2vLLvgQe+7ngc8e7uxPcvLX1gjjs3tVI24z8TJ6Ba4/8EaXbOK15Cx9fv35jnUGwfBtqfbrGWHO90bi9upGXGXZDo3z/2p5d6PkmHxrK/MU1fojW2ZAtnh3rPgzrilmxWoelaHj9d4fIA7S23uf/9oN/FdysayQn22UsMX7mwxHNaR1LJF7pB2NpJs+IqIG2mLeBup9AVZ5wOivBUNVH2p4Gd0XEzG3KPITKWjbfIBRfna+tdcU6Y9vKV6Ptch8n1/lq1HHbiCp3QgqxeNXYo703GlLLjJMxgl7liUv6Lr61wWIH+2vsxVe6OOKN0Mb3F3BUeo9Tuet9CxF8BlJtlMvcUW1bC7zlaumpjXHlaxM+UYUlTGnRlH8vjUNC+QqlR2I8uTQI1kGGMBpx2q0oKyldEirELHr+bes14ZZ75aTnaoNVTrdYctDGwngebaTVVcd51PK3ThqiNOuDmYlyfy6ukGvrU+0gvXnbvZx2kW0gB4kZnRlhHoorVk41lTzttdcURkvcEJGtNPZWNk7Shjl7Pjoc1tzHH3hILvWL4AWkg24mSrrKDfIaiD0aZV2L+x/ukXfTYzyHW2sqqubLEMGuexC9ujyD3SZ57iLvPSDfzlX6y/GNzzZsyGYsIs28Ebumf1omijQ0m3u0L5QPa9KMMh3xltso1LdRiT3sKLGZqhJB2cOdac8ZjuFqzpdJutXbPXkbvPSmxNh1ZWkgzuqogyzHN3aWSNtSFalD9Z/665b2nAuALOLDOHiCmdTJhwPBZ1hytxZWadHndZMS+tlH/5D0PRWAUNPuXZdcMlFPR7RFfHApbHKmotJuQZ6akeD1hzBlyIVDSuttR1kTBcZuZEiWkiBgfXBdBiMlfkuM5zXwl16VYO+M+tbzT3mRyJI3nArHpTMUzdkStHMw33KVt8zBUmEhBP9gNlBr1OHYS15RDX5yyUovnljfVxJfeeqHhP9FwudEq5LAQseauIm5tRC7VkcAdkHhHhO26M6LgDCwYKnfDoA/UugBaTUVFbimVyn4q6TIsGmNHQ/y1w32ZCRXiSu0cDjg+2JncatL7kLmsruozwRlRHi+52T3QE3wiqgb/8/Dvrf/LcFzz7rfF8kTHU8S73Hp1uROtlYA61UEsrXd6Uh6KcFXAoK9673FnBg3oXQEuTUXiOuye6x69aTafWPxjc0ehaK3qK+2rngOIKmy3HfUu0cUGwkR2k7iJP8OcDg/tn1os8d5/vrogmTbqLeqI2JveNgODy4CrlzhHR6IgUTQxeywukSaq5k4Jf85FVlYyLNrmDGqJqj4tmgpQX1kmOO5Bb+WOvl+Me7RzIBmFc1+Q+smQ81XV81DOy8A9xR4t0jFEKU3Oe+0LMWmO+Ryu4b3DHWXPv8SoxMgBGe7gTXxrcfm6Ey8CsnLuudk3u61GxpdXchSq3DO4rfTLLc7eMlHu4u4qsbFlPmNzTHe5QVbJPPHkXlXBHywOmFKVnZkVNfoA7KZaRwlqfu2suFQ5yXxgddYi7b8Zl7puOGNoyuDF3tTLPA1GhZjM6unhT+ee4gzYfrTUvMak24D4CBd9R0+ZOsm0VdzXh1eHOtqG3WOf1eyl3Htqj1cbX3Cmss7kG97G6MVeHuOt7ge3nUu5W3o4cy+XwxgC42cd9BgtIbSaWJ+Np9BrcScmMJKr93F2JW3PnVddMVdvk3qnH3VcBU8FtwWe0PZDjPlVbCkyzjHsBaKR5yKPcMC7hjgslugfzQGWylc7M5C7tmYVXYb/nuRM3bMzqIHdtrijufLf0xHbQWkWQmdXhvlErWZeiyIWHu2u/95SNtqLO3sdd6Pee3noVCyoYar293EmbjRTQYrKpaGqU5z4WynZcZb+XcMcDWhT19nGPVFxP3iS8MqWUuFNG6nctM/PrccdMyEiB+xujiPVhxFfNXQTdQ7imGJVz34j7xRM6Q4zPTG3AbSj2Pu4jcQsrrLlkVDvzhuDfBafddkqcCFXcF3KsYtID3NdqKt7IRCxQn7HoD14mbWpyx7YsosgH3Y1RoIGjDTpiiSkwGPsioQmxx2qsRL+7uGe3GeHG2hZHgjIywAToUcY4He3jPhOjh4EWk7m9Fe7c+AXuuKaI0HPfqXBt5LnzjspU7OvhfVzJndetHV/ujnmmrW2JsYbgeVtgnNXkLvuxs/a0rW8J/bAQd47oA9WmKaIp5c65daIOXtW10+VQ5+3jvtbL8mw3GVsXPR3BV/uRXHA59gL3cQ4d9mkl9+KOmbvD3TQ09d7mQe60x98Zb7KFv8HT1QgNcIF4MfI8Mcp9w8e98eEukE5vn+8IuIbpV6C4xmvIBdJp9wBGQEdAZ7Q24qp/M/NEFBRxqkIyzL8z3eoIKtqYW1GL+1aaxD3cJsdd9Wrua7W5jn3e29Km3izaZttoNuKoqhuNvfzD3P9fSGHdtCFUro9YyTUxtYRBPpYHOM/wpjRxdBd476FvZ5sbKzQEyO8D3c6jVaUke1NtTLfcSXKOhf2yjYrP9b178/r16x/e6Qu4N3wgl5Z7UX58XxVSKu9fPrtkeXU4spaWe1GeX778UD+r95L65eXzJlVouRflw3eXz17XHvMf3r6lf15fXjbC2HLflZcweF++qw7fkbcfsreXl6+bVKHlXiJvUHl896aeunn36hkM9TeXl2+bVKHlXibvn5PGfnEQ/bvX30K8Z2/hHnnWqAot93J5I+bL7179WMX+/ZuX33L3QIxnzdRMy71KcKYU8u2L12/emvTfv33z+rk0ZL5F/fLj5bMGRlDWct8j719pG5HH/nOU73LXvn3DOV6+aVaFlvse+fDDt5d75aWYSz9cvmxYhZb7fnn3qhK9Oes2sTpJCtzjIctuxDjcvXY1mQ9jPkhPbfumMm0kDbhnNH9+V0D+7PnrRlbjrhS4h3a3gvvwxhAFtujCuT25sc5sJM24k7x7+8NrIT++bTaFlsoO96Ai4i1wVwd3LS+sf5z+Z9Wzwncim7/92+/KuSfzIEjwYIn/pmHfDmMz5TJYcoqADxL6NwnTzNBJIhDOl8GcrsyDROIOJ3YQZpDrEoLSecDZx8E8lWWkUDZdhdClKJVDE1G5RJQei4j15IXwc4z8VVQ/1c3IGp/y4/LLuC9tZ+gAoKRrD7v2MrRBDO2T9J2h3QcEfbvfx4AAFJTdh2SY3ulzLBkIIXyQwi8kZO6YpZ3ZQwwJnW7fnsDFU4jgCISJg2VDhhBKpWGpFBrY/a49V6VSAfZF7ba/yPn1vDHgv/2XzKKVP1UvIFRy7zvQTPs0m9hxljr9op6ZQOtjaClxhjgYFSgsMwfoxiITGQhpA8wgIc2SODk9Y9sTGLldoIrJ50Az7Ypuu8DwrgP/d1PKDPNKnFOo2AR7KJWlzjn/NKspOe5Set7UX1S9jHV12RBvr6zEHHeSIBvi6IGBSLgvhkXuNDb7fbZNgB/1VzycAw2cLxmsDOS0dAAQgV6Oe5eKRVUD/TjEswtBEIvFtDwYoEZ0x8HVALoQOmIpS6WMlJl0WEq5Gx0w8qEHrtMFmyha+P6oHHc592EAQmBAEWMTT7k5Oe4xWCIhqHw6WYLqTx2HFe8chuTE0TExUHMncPl5VVwKID84dPrw70TPt+ncsVUCeR9B50IsSCNLDe3+sgmW/dzzfeDBbQCyoie7y7yBWw7h9/rwMZXamZfpmTTo2hMAkU5suxukBe7itoBL4SmqWJg3u7Z9CngSyKB/KqOJwBrcbZ5ARL7S0OyjglcJVOWG8q6UpQaO7UySW+B+q1LGHVRywkxSaH1Rv6toNNKYSzxxQEED9HQnMM99XsZdXDLnbr7XhqXcVRxRarY8tZ3a4B8u99gW+p1MwlOaG42KJxRtHuDkRtTSMMFEMNAvnNAWAGSg5t6tGO/cFWBqUoSQbUQ2iyCtDFWlTjC/JFClkvUaVC49HhF3+jcFJoJdgXvmoCrpymkXTHvup1NMedoVkWSg5o6zbnFeHWZCcyPWU554OZyCYBKhzBP4oY4Aawfrg70hS0VLaM+S7xFxT+1umg6dfgJrebDhuwhxbsCfCJvvApWsAz9dMCwDtEoyh2ydjJCLQMUdDb7Q3uUOyRPIM4EIF1nsiAz6gPfCgR/MHHtrAgVgFok9TNN+N5OlJmDcp6f2b0DPQPNg3kJwF3DQheEFU9hQc09xarughZDdD8HmiLt8AbXLXEaSgYo75uaclnDH5M6c+gqmV2GIxw7MmktUdiJUlpqBlUOVkqXiuSOLfYzctaRhKg8Mu1hbiIkIj2VoLC4Exvol3jGpk6otGbm3QDpbijqWobLUTFZKlho22ep5yNxLJTw9HEeuNh+w7HIfRyUyK2F1P9wPbz6BvX1Pm4wNZJd7+QtR7kPhflga7Qvel9TlviiB9UC5Pwqpy/2WB7zJXU1cO3JR4oQqCG6MNZSK3azc7FpRSIONsILU5u7fGfdqH1ANh1ODpcuB8vbkpIKu7q6qzX3bKcH18LhfQa7B/epSm3vu80q3yZ19b1kq3GckwpcG3LWzDrdfQRfEdME8wP+1E26e5p2DIl9QZglGUU6/WGaYzqkb4sCehCkY7XFAPjzeY44pX+YO9jqqRPgfrlJoGCz3aKcrct/cEXfe3SWvmzTVtS/tVDjrus7Q7qa43cjOPuMg4BNyKS3tLifQvSryDWxYloba6Sece6E9cXgw00ZvOMRosIKF8p2UYqFzj7jjJhh2GTr8OPQCjvo1b4X63Isv+90Wd77v0a8WiOW+8uApZx1622J7AgAciVod4P/UJRPaNgMaJneZb2A7y0w7/aRzL7TtQC5HubB+TJtztCmD/6dDh4KweMGdajfnHdKrc/f8nEQq6m0O+CJ3vpMFMeXBy2+ik/sNt0qcoXkQ6MQh7zEa3FUQ96ly+knnXqh21CT3RJgvodxcAxsmRD9TP5PcQw4VW5RX5V4QV8f17o4769wh78UoD57kzt42aKdwezpZ7sCAG2Z5R4bK1wjCQ+ncM2ZMwV2cxadw6gxVELuwc9xph7nulHt4f2ah4kYH4940d9Fq6UuT3EPBHQ5ENONgh7uzy90ucpfOvXLuycRxkLutuDs23S857hQ3vjHudzLg93OXvrQS7oHGfVXuc6m4stxw1dzpfgtz3O1510lvl3vuwzs85lUn0BzsW5b6MkB1GEvVHFHkzn61PruNlAdPcmdv24WdCNz9LHeguM/J72nqGZUvc1dOP+ncK+WufEk6Fj62c1HgPkHVc3N6ZudTmdfhPq7JndxnqTAklQdPzas0qfVRm2MMMmzUgcEdHXP4XIjOW+XL3JXTTzr3KriH/AQUeRwndqqm3Bx36uW6LtY6++/RjXHfVhWR536BjxfFqfKCSg+eosCWIDnslsL+UQcGd/QMLsVjeiJzmS9zV04/6dzLcR+GKaVbQj/FfXuSoscxFkYTdOEwzz11usu5c4Pcx0b863H363BP+rBUwR/VBOlL06PvFC6wB5tnOOPA5A6Iu/Mcd5mv2BxQTj/h3DPVxCmtm/BoArHwqdh8rIm9zHEHe9Pu3+R4N/+QwxW4626r3uMp2QeOzW3JuLhHmdB6nCin5kGJkEmuvYP5rJTTb+8Cv16sLBOP+9WQWtyNAY9ELfERO/GRRNfCJ1rl42G7Yfohv+pN/CvuvxsPL5UNM6Hf5/W8g9cVod+vuj9TIsbHmsZ14ufEUDPuHXMHVTC5cPBZ7btwQaV952Ki17v7pZ5fW+/ZNN8siFTaPT6rK3JPgrBwUJDgdBhUeVFuXNJgeFrX61KP+zUGvPEZ/V51rNbPVy4LlQC/mkcHnlVrXtUp920z1OA+rP8yxSOQmtzzmwXy3xrca+4y1OBuH3auPiKp+9zSQqWIGnHXn61cV2fecq8UQ027DbjPak4MOe7Cq5Z31ynu5FeD8LDo8SMHnUzx0KX2c3qRSrJowF1j328ImdylV0276+Z2tz+U3APypg0n3YLHjxx08i27By+1uZtmeP11k0603y1ucFdeNe2uc0x3HfnVhvxjevzQQSffsrsbdteR+s+lblSa+g9L1tkiKHJXXrUKdx3th6gf7fGbZJl6y+4uyF1P6nOvzdCQjUrj749YmFfJq1bhrstxL3j85Ft2twztBqTBc9gblegARCXGvs6BrsrtRwqvWoXbKMd9x/Mk3rJ78NKAe+HL/Z5VY16VcuixVlO/S69agXu3FvfbYHQb0oB74VPmjbi79bkrr5rhrqvUMwWPn3zL7jZI3aw0ed8j/0RTE+4Hn+LOcRdeNcU93jOvao+fUPTGy6kPWZpw7+RSNuHuNeCuvGrabdTtJulpOXft8cPI6i27G3hy9Hal0ftNCzNlA+6HH7wx51XpVdPc0c83KeeuPX4EWr5l99vi3uhRGiPy6GDknB1Z8sLdHvdakg8LH8FLNlnT9/nUHzIRfzVrnzTylbT773ulls+OpZmrpOW+XyKV8JCJ0sw12HLfLyOd0t0fc6Mi+i33XWn6vvamcQm1dnNa7gdkfDjLgvh1sm25H5JN0xLclnuJNOZe+fpThdR70bvlfkiq/tBflbgt9zJp/h2UZgO+5rs5LfeD4h7O1BCv5V4qV/juz6JB9nVfRWu5H5YmA37ccs9Jc9qGePXlWuX8luQmuLfSXIoD/9F91+03Ii33+5Ercu94e14iIOnlP6zfcs/Llbh7EaTcLvZsNNKfeV4f9u+13BuI3JPcuhUROvIVvtpf4Wu5HxZtv1e9SrBQMeqO+Jb7YVno1OVYjYVV3df/HhP35CYeWbgCd2NDsvyJbPNBSve3x/3EOr9+JnvfOioXI3X59kujJ8UeHffEsm7iEZ1rcS9/isbkfsjcfHzc59bxTWTzcWPukU5c/vKM8Q5a5YdPCmK+GROH+OWGkD6nHoYxHaQhKtWUTmNUsfiQWBKqTzzEAX+NGS8ldLjUX3ykEMwn5EyTnciZzoafVUvnfAQlJvwX4mL5wtoT6yzjv2EnI4h32aAE9XnLw/JFY+76WY6qRwX0lyD8ell+atbo3LLCLLTwN7as8xO8wwJL/C4ta5BlA/p9ovrrjHI5oxjBERwu8cqJGTIQRXFe+cii4JTinOCHOY/oKMVqnB/D4fkcfo4IPMWfW0YEkQekDkSpNeRpA+JCFjJtlZXYk1PvuuYbOV+ZNYI2BdSweQaU52fYAYgvwR5JjhEd/BzjBCfueOieQXCMjaeGw9HRETIMjRDFHUgd5yNLUlDIk3Ps0fTIOjqHBOfU/ccnyHxwhNXKsErwewR55CIcc89irHoj/r+bcxcKfFNtnPd4xO9b0ebkr2aNEhyMyOQcf5M5tgTbhOyOEU5Ck1Ka0aBFCfBsiVwCwkbIz8W5CEE5wYMzzAkuPcHAM4qsyj3hm2iOZUPAEWI9Sjkd32mQ/EmGl5cYYUDcKUKcUT9QxrXk8yuA74x9f/+SqOf7U7dudp/+mqvREbRnYMF/AOEIh2wAiAfwe8SwwtA6PrbCWOJERc1ag38yS6iTwAjh7jkmRhlGOTEjZzyS4XQ+GMSk6ZBjGkq1RpoPuR/jeE5xZokF9wErQI6V1VY0f7kC9xuWr/I1giEHiKEtwGhA3YCIrUGKYPAQjqEbltROwQyngRLuOgR650iAYe5WkXug+nEguYc73GO83TKcZkmtaO6B4r6z114hn90fcJZPfs5XCFoBzYMWJEQCtMvSGsAYD0XDzs4R/VmgWhijRn9Sxl2HZKwHrss9oOFMM/DZNbl/c5/MUZ4WKhTi6D6GwR5QS7BR1llK1gJBgcE+X1onT+i+R3mCt3lYxl2HCC1zkDsal3u4n1DfBNSF1+Se/fFeqVtf7lQIxiho8jPrhAxFnNugWcdwesJtPrJinASx7WTDU9tLuesQoWVYbfOcaERG21t1T0jqmiaCInexWB2IviPuJ8L0HajJtq7cq6b57Ked+ihdzTc1xqJmkZ5Y4imvs5eMKSMz7rycuwyBkX9C66YztI/mwlqSkRFkKoxTC0PP2LwpcheL1QFq+aW0Z+L0GM8HykaqKz/dI/gS7GStk3rgNuDCJaVuQNMYeGB3YDckgjsyLZ9XdYgsD2dGMI5wEVTgLiODCYlG/ZGoQ447L1ZJZ6l5lWSgV2YN3uL86cu7gbwrZdhp0RTTOA9ENxzxOI9FNzyhQXyUCe4xMMJZ92x3XlUhskDIHdeXx8q+tBR3Xq+epTxRW0dBVuSeisVtCt1zNMd1G16F4OOY5+0jq+Fm5df3wBzkj+8b1bJSqv82XllIXLWDnqodn6Q0x1RdVX+UDzsmlhNHWPfPexj1u4ch//k3DSv58CTU8+igkYoxsvjq07uE/vGXfz1cpwcvN8A9y34N//zPX1xl36Ch9L744ul//Xy4Po9A4sFAKvTzweBxvLPcSiuttNJKK6200korrbTSSiuttNJKK3co/wcLjk64CmVuZHN0cmVhbQplbmRvYmoKMjUgMCBvYmogPDwvQ29sb3JTcGFjZS9EZXZpY2VSR0IvTmFtZS9JbTEvU3VidHlwZS9JbWFnZS9IZWlnaHQgMTk4L0ZpbHRlclsvRmxhdGVEZWNvZGUvRENURGVjb2RlXS9UeXBlL1hPYmplY3QvV2lkdGggNjc2L0xlbmd0aCAzMjY5MC9CaXRzUGVyQ29tcG9uZW50IDg+PnN0cmVhbQp4nMy6ZVBcQdc1OrgT3J3BJbgECBIywACDO0EGdwtOgru7uzuDu7u7S9AQNDgkyM3zvVVvvfe798et+v7cfVadqrNr9Wqp7j57d/Xb6tsPAA4YJAcCwMHBAWT/PYC3VwCBpJ2xl4M9p4mDHY2GGo2tg4XD2wbg0384/0f2H5H/Uw24t14ALipgGL4IAY4OAI8Lh4AL9zYIoAbAARAACP+LAfgvQ0PHgENBRUZEgkf4R9DEAQCQEOHg4ZGQMFBRkBFRAPAIiEjIgH8UNHRcPHwCWm7J38Iqxu4ehERCTv7x+bDmll0yutSmvrnVK2ISeqCgVisDC6+mdhkjk+UKs4xOaFrp0j9dgv+u77/tP17c/6d3HYCJAPevxQi4AHFAzxALGOn/F9B3b2nY3/97frMemKGahP4fZL8B2v3B7o+Pz9/X3fNUs8+vrq6e7P63cjtbV1fPH72UWSBvAGpq6pzFS4fYmT9dvhH+YNX/Kuyb8l9y/wNqXd3i7x8MrzeamAmK/wsibwDf+n8SiRsSxSz/jZ39q1kWsPvl//Cxxdxfbhy9AT7uxLbUtrS02Pw9l5z6f+nQzv7+ner/aoSqv2H00FBXfpdLQ/2BnZ2i5ZKQsHBrOQO+t4sXHaZqk/NhBEjVNGyekXkJXYOZqx6VBpZh5c9OR9hm0IYPZYiByOMJCgoWK7f1eR0iFkkH40mBvIojCXPoRhWSeRwxD9Gx+erDmeG5+vyIcKqTapWJlUHqB4bMU/wDekcOs4rowV3MUPD2cLkaW8qkUH1VnULugRoqLpt6r5KTvFnrAxUHjp681Cf9du1120a7Y6ikk9j+Sf3eqXJOjlHrtRL7pn7SrNXxUovNGObpVaFJPi3PvcJpuimnYjwKn0krQHsTVu7J3HiUgYcNRMErQvvxjtm1++cDw4nvbHfY7qqNNgRV1bcYE8Y/Jj8FeYcKguZ2yb4yQyQrfOgFBgldeiMn4b3LHGHwqgVRy08dXpcnf7758vdo2W+9pF7arBAQyzmcWm8nLJeS1xSe6A7/yDRmA2+7Gdtqe36p3URbKRvFHmQQ2OsKNomy0ybXXXmX6B3Rj5lmg6JH1aKQrQI77y442KSR+4mXefkTR1Hn5qtHZRqbx2bO/nvbtHbI8HoaHWEMi9/aaV7Al2ha0j2BX6PT5C0Pzz5epzn/JoPSQU/Hlu/YWd6Wg3qLoJZgKGnpxHpxptFTDapxEKNBN+OBSAcoKwnX7DOPIjRGOi+574BY0ZulA7MtOX1nLghJU+brMJHli7C2/bHAG8A2lnwDi2h1yzqNYoDeQigpoSzRv2JR4jpJ1ALRvk40nBpSzK0U/1Oqii3JSAFy0XtAkECyECnt39Y1JTC9LtniMePTJI96XkJPGtx/I8oBDGs2AydWuYSNJlLlZ1gheiun0Si4HJAZrT7guwtzAZJVlxOTC+sSqLL6QitZCYXpf45ICjVNxCuQwk6v94+UkqXwDhy6OhUBMuyd3xmPzs5GR7uljx4Yw5sYle+7/M+YycmX24QJkhvlKeZbCg1mXaKWlrW7TH3Zglx6XuMcd/bvpuofpk4e3C43ehxc/+oGzPRMAPfE3wAc52+AW360N8DFiwIKaWe71SW7im0xw5KW3DHhbmjaBOhTuGlruBOLGqmaeiw4/9KNoWtberwpRc6js5jNczT3na5u6366PTNOwLHClwgG7dpQbFX1K6f8Tpii096B2VmM49f550+1QTkEIzHiNAZLrRhmpAqL6GHq2c6iZtRYm/EJ1TwpS7xMQiYm5cgCbRVIgRL2kA8BHs97T1uaQmOq5cjQVR7cpLJNtGD8xtFip9lK5sSN6NGZ6ZhqFQUP3f53kNbmlVC1I5TGMtqtduBesJTJdPVibo3kysUvt1Cn9sBLy2DK6M5cK/Uvd3PMENROIwQDxAZv9EDUuonrIGFc0yya7KMcwKa/8rQaayLEdB4ta1rqgT1V3iAb6BwuHT1lsxggQ+Ot7RI4sLExEH5CQUmZTcwiZhMYsIRSqV22r6RsFUJCa/jzpZEs5Be1dkjgmWlbJvXZNF+ulWmARDkP46+gGOmV5LqEz9aceJGK9KNRk7NPfEaMFVx1BL8vo9EigUomKz2jaWq4TtgbdpxTSueKsVUQu0uFWMXjrfRtXc0SJ2s3ayeI7vCDwAiiOUW8t9dtKF452WApWbqqi7xoILJyP9sP7rNn38pfb4D3hi3XWzclgjnLlEbDpKUQdzUaZmyiQe1Yup9d9vFtmWaxUUUmw+4sOXK97LRiEhBvHvD8p6ARQpkBKHL0ebshFYO13yg9lmK+z7eR7W9qs6LqbmYbChPEg1z5ZcJtMdN7mvuM6WJJOSe1VAEDOmpC4+ZKbnTLorfc98UrErHDeyd8HEHMuorSvCt63bixH9v5TiHRprY5w5Lj+AKT16/6xoP0GoeYEghxtE4e5rqqXoSC7zKyP7SpsQUvpOlEjEuXDBcisQozHZiIO7s3LFDGTteCq1SH5Mmc3AQhP5zTUiiHizlF71EpVIQiITm7shL9BVIvplapE6ag2jjhIFbN1QAfBMn8ZoJT/+EaB0u9ZjbJktnR3zMAfbM0C4F601BoGLdEFXeJv6JRWhNLADjlB7HxgcQf4z5qIzqsARs9Q+k2hgUD2avxqPhy4fhUWkYLdAmFXRs0FYqxtCvoaY7uV7Uy/F78Hh4knePlhOVrgpNCHowCbR+7811aeDVtT62Kxhbnm+EgW02xtWr3FNYopTzOQRZh1EWOv+uZI5hCtR2zLAuq/HLsbwCsJDpAnEgzmZM5wqB8IjToHTO5viryr8Vanl85c32Cehq/QUv7emFlIc4j7Lxf7YZzdJOdRjRMwylKqPby8vwSs/OdGx1UBF1k38UJCmi4M+6x9dJ62XR1f/wosvEzT93t0p3tA+nwPik2uUluIZcnb6HlFr1QdVJxg2gPu6J3GQdPiq07Ke3Qiwh4yUrJQYklDmcMm8XTRKFdOuKQhAb0TkVc6OBKLZQEJoDdwXZxbJFCrKFMt9mfPtaA0TvBdR+skwAa9rSIuziwgVlncFd5TtY1iI6SU1FRSR1M4TtF9xyyJTmXyE01PEHUJ27KNcFjvO5m7xPWOpfOfUIUXk/KvkxrHpwcOJ3E4nwySpDU4gICFXRYVJPAUDAznK9i8KnniF2NzfqdFqh4ATkv6gdNxs+qogV41fecK2iM5DE07KTwwwmOlz89ahNxqXQ+B+WX3hDoyz4Da6srvYerZWetNYsYpfhR0MhcoZM2GnFxIPRfY6p1WVF+ydbojD/gxsESYQ2TqNHw0n2U4UicHYZ3r7E3TSK+viMjFQEPJA7Vf9npHEGgvuPvIglNZGa9e6ch14sJOD/C8qksq8opvttRjMplY7KIjbEeYyfyBt30W+e2s/gZqaaa54i2R7TOHGjcRVL0OdtM40/XI6CCFoKa0Zq63wHj2zMAuuezOh9Q3De9+bWLNaZYiuMrNNEK0xnWlAvkOJwINEW2usV7jmrv4cJgQb2oElwwbSOS946YCKhVNGF0WGf/Xi3e6CtXuvctNuv3TWfkf3TfAJX7K+s7Iys3Bm0VBl9LXczimp9CPueRm/E7Z/20VcLlsQq8zsp3TiXVVB6cHG5pGjW+EUxO4XpC/ElJ1QVz+erf55z6y0e4T6cmOKcd++Tx7usH7K4JTxB+IExTcUqHZf1M6Oe7/bUc1dF3/qDqQdvZLF8KlxRwtpR/ZzLbClpbeLFXb6F01p21vVJcWiKEBKNLNcm17MpAKnCMDelyvH9MaD5SM5fQ5litAs4EB5DnV7nOVxEgt9sUzcyqxqRihCogFKBQF4n593roZG8mYaYO+8D9uf00vkfJxvv8pOnvX451GErewuWT9aaO76jYG+A1kn/lWUPtf/vWNEr6/0ZaRlD3ahCa2PgWPui1QOx/Ps2fbv5r0YFM0lTHkHRvMS7xJ6/gV5XjIM8xN7GpJyKJ7a8JEnv+yfC7oGgrBZgxY0erAA2sEr1hCPpu8HI8fbi0sucNEHsu+FTtazBkkus78+ztdr/hEIHkiu0ysyqv49RxZLSqUI404DEshKOzbRNXZAcr4SGgwEeMb/qQij/WEbkQF86VksI4y+7prmEDtJWqVu6VbZfxFcxFuZqq9KS3vtkvDy9Q/mpaBI1qzkqZz4oXdYMVDcIGOegKMdB/USQ7fWoKYvtDTs8qU662VrZf9Q4bjfvpYCHpvORQ/IOw2ZR/Mqscrq3+D036fkwIG0c0162x5MqtW9mpUZUkZwKDXEDOfPl+gd4YA3gMpSgjOBmfHkPIEMXKa9rjDTDEeaFybtn/1GBD2ELiaSav/gUZbdiBSnuKPZGMsoSjniLekdTZzzLoPJxMtB4baLZ647OHFvPjbkyh6uEXwr45D/NlFrdOmYj2CUolU5s7zOzL659HPkEhJg8F0jeA93e4ZJskgkNMA0dLjfU3wMbTRzHD2KXzGma+y6XpBoOPPBMDpi6mjhcOS5+nwfhxwnZ+S5kwb7Fo8TG+ldJWf0wdkoQJtKCyuvUrXhgU2JQqNNgPyWKzMwzinSZe07fvS/2NrRx0+GzGzHhUr2jEg4jHyG8CkMcLApVLOLVInfmB/FJBFgAGNysN7yJn6XhlkKwj9M7t8enFt3Dt4v5PV0s50z5bMkf53oCwoFn095QqLWxXRztsg77YGHnxuRjTaHqeXe560DwG1SfTeLJPySFMH23lrdgVVQOrkpaiIndIqALt0LWivmJ4ObrTe7XFNFfCfcgqYOAHQ4kfJ9LCGgvJZ3TlIaTmwmnFNCYc7BE8TZKSuMX6sgYZhHxy6e+0ex+X27Qayuj0EiFWjbnhd61NiZZZ9apPBobg51O8MGiZCt7DrEyheZHsIdCTvPDMOLm84kI+kb8ALhb5g1Ble2aBrRi9d0KRk9ZzPYT+DXB9tPMG+KSc+3q5SHPX+UrQLn76z4lA993giVD84Klr+/LL5UmFpLId3LCvwB/B8f1XcKgNxrCsXTZ02G2NLwQ/edcK+u6Uzt5GYpn0EyAjt+jsIurYABs8f0wugnew2eRityQIxxbAwPQSC8waPB4hvGpe6hBLIKKMM52y6JT8rSlgr8Q12SBwDeHnz5obHt5bXCKLzSnnGbQ8VHtCBLHvtXUNwWC7NgX4syjC37O2zgOdOugO3O3Mi0q+qsXeetySXNPl7aP/fZnAs92IJOWeFNiO4WKvZ5JjLYoA2uAiDmHCgDzEfwmMFWXUCWxTRs2/tU6tYUAFkB3P4667Id9VX5jiRai4dfupoZlrOnOPNekJvNT2LGzs5h824clWtWfzre0gUtLFRDidIaDTCIhef9BqYkxDChdO2QbQe/QvDfLPUAK31irZpM/7Qq5z+KyV671cs8lcvqwrOGOAnnSTyducBtda66A/4OW+xvXs5Kal6t69BEqRkZuUqhcyS5IObYgzcm4XhR6X7DxVP9f8vq2LINTHCJhy+BLi2mB97pvRdrnR1RM7cnJvuGFjEOgpilTXKm/lpKAmZDOtGH44qcIv8yt+rEh4kBMr4pm4jjBPWzlAPpBtX+cV6OC00mg3MwlBytm8Xg/2RGF638ZG+5p1oV0q6my/iUEtVzQxvTiVkQly6rYOq3VSszyTu1DuorBnySKbx5iGLN+hOKrueEIHyzFVaEeGRBpywMnHJmBd/h95qkl57g8+Pr7UGXc/s/PWX/5F9aCnbIFAjsG6o/dGhIll8eDlNAT9LWxaqSLYagcenuaoOV4pPG4lfz0bobVHXGtKskpY5jt4tSDDv+vVGYNeVrWkNhYuRX7cnV9CoWyHCRp+bfBOjqRSLPjs1h/TpYKChcaLL0/JCmCgzHIIkw75gIkHhB1sa+TUdSietBV+aGOSdWNu5UwO5AgaEdCnD87QYv5AGvpjPBnQy99MIEJAbKU3i1egI5LJqqCWVbz0wRGxpHVDwVpgkJhp/WNzFAuxt2vsCXKOYv2Es3FWOjZoKrFRqLhaZSiJC84L05fEJOejMF9GwQ9+sexibmI1VZSXX11tct2qvoTAU++1OlYF/nXuAIJ8+ABp2AeFzDhcVjFmBUASTrrxVAxikbKVAKlpOT/6/CiXJJ+VOoCY2VV37lXogTc+/OTMtyxNSiZJk1uH5PDaMWOHYqROfZpYZHZximme387JDZ8w5Z9INJgC9PyIyIYBtfoqJhwU4sZISSHaNmzMOJ5ucEdOKw7HkYRC9umGrw1zcd/BZmcW3fDjEI6tI6Fmj41HzChifmut/fgFub46kdkcpI4Dbs0Kgw/BwuiGgyG9m4UDj4W96QlbsU9T3bFKVf2iTTI9g+sNQIyXWGtDcsg6gsXNWP/ZFft60GqCtLlZnndCNDy74hO1q903o292Utejj5NtbJkiEyIZqqkC7U3CBXy3EKwa1FgGKOHYO2HWxlKCfOESAiMUHxre+04LSq1xZ30GmHa9WahzlfTexLdgCOmMpRtNMtwNTlshbgqZYAoxVJSNFKgwrq9tqEwCvncnLIvhkD3/vIA/3Tii7sJOLNHsZVu8r9qA6Nc6DIyT06TIm3Ibn9c4TOlPxqhIxCSjkPnopfJA+RJ2+ZeRicVdUkjCG8Oqoe9jSPZtqZfyd1cbPMFi1TavouO4AohzUyRhjqppOR4juwyzarFkPxyQiSYPcyGGz4i9oJ82ShLVwVvjDeDzod5jeVHr4cwzNCrVPkYRKnTLxhGswSuwW8RZroQLJl8xb2mItfV4FyTAlWprRTLGbr79QGNvRqXTywnbkt2SuLHrGbvZoll4+vN4nyWRKiR1HdTOWv9L/exsLH/QaqdGsDHwJrZfITJBp55n3G+2WSlWoRt6673PFiSHQKkC46Qd1zmlG3KiIhq5PitOLMWWtAqXpJmE4AnznvxNgibKSyyvy52AwHxBZQYHdUbwAs2LFZubBIwS8eCAgBMe7FasINXjouPmYOMSc5UwgxD/NwDX1EFNEMIg2yqrAXlBPF/EkJE+UWuE6Sdj7BVqP1pCP6qNfjFHDM7nbKpRS1VlEAEr5/hBqww3mc2NFHkUkcCvXfzWdI5rQk2kSVJjXpphtNZenU+UVUYxnMKOpaAeFlJGghit+J8ZXX5fNlXj8qI8hXImGVxAC1g0TKjhuK3jSNxBtLhQLqCbZfqoImyoAjaYAD9KVlZwIB8I+dw6KunpNgAFOmOKuQYJEufU7fe1YeAldan0KiTT3yRn6hRzmWhWCH/QhB0IJcmmNlkgkdPWsIKFEgI1LsSejOe6IQVswA+lqXPdY6sJBPU2oSVo329u2DELpVXcPn5C1vccYbeAjcSlzK8m/OID3g2jtfElPeCpFzHKnP/59gagqujLRLDoHKjSscbN5vo3iCaY1THbCT3SR7jJqeAu9MFhRBCjukS/NXGIFp2tifeZ5y7PkTCCarDie8XTTI1ysH2XPun1E+bhiPq5sKPszLs1BVB+BTWsda3MHK4J489BaFZfXP6vxXL1VqE3AB2jxI/qrOCRrCb/qwpFAtXi2RK+2Etj/juDbzMn9vvvQc0itCcXqmo5Zmu8hBUONtnUkbBItecvCVJNTbwwWE+HKkuV9AiKZpFN/NaioqUmf7F6nl2fM38feYR6CkmV8dNjz8u1ftDG1mvu1huA2reVXVxm5o+YZlfH9i1Zt9PCGKTOOTKI8ma5qhO89LnQJVTUnR2aAxoiSPtcHB0d/a5F4mxR96fm/kIt9LuFm72LuYernbLUAh6aDqT6ovq402zcXRk7wkm/btMzLseg4eNIxmr2kED3Hq+uPrCKZaWURU13Mp/eoC7tlVf6KF7K9Ti+Hcunr68YLFMS5l0olaC5naiv4XxiSLBJawd9tm9qPK9ZpRyLk7j7BbNC1QdHhrcgQ3lLnqLXsnuRi52tRpj118PtJMp5DmLUwoGS+JHWw3DdW6KM1h9DL3c400+MNDEDp3hLpL7HUbJPtuU43kMtszzn1dtU766rypNMR7xwsWPR4Q8OPtktCU8cdIftWu5jzCeVlNbpIsssvwHqwFSb2GHH5hQWMVgSF4s79BM3VuTrpjlsq3lCos2f98qIWX6vfjQuT9Ob6DpjA1TqrVgRz1E1UBpM8QxjunaQcNyoa4kxgxdzuaSLZcxsJfQi4lO0iSY2PpPHTHPfCIeQH78mRTPKgAL7CWcgdtEB6uWIGEcxMZzqTiH8Ak4oKadE3gkttGQttlrR9Yh9OeZ5RsCGEGlFN8hInVDgY8Tvcrjg1jF6m1gSvJRV/9FDKIOY1pHjWIhQyhiNMDwbXeA07QyEu832g/7kPkUSyBQLPUr6ZITG2B0SP5e/1mTMWKy/3cbjaqVOxBPDjowwYLS9zM0UPWUSxYtqGxyjh5vU0Dxqgpc2UY9yfBDtv0vKifUu6r2dNWGzKG97nrLU0YrAHViFU9aTVY3KihEAfb5BS5KhGjLlLT8rEEcPltZZGTVT/aU34POdnxxqrQAdYUodadFA09PNmAUyD7ERc6hKmR74gciMJMi3Gw6PHw8D1BfiN1thUzyukN/hkQop3uUR2cmo+wX4qH+0SDXlBo8xhRjJHzrYY3Cu4gqPfW6P06j3ruvnE8rVf8DJ7FGVYdsW/c2sw+uiWFkLKCILr004ZMd3rcJQguSKH3m0F86OGlARxDtLncbAbtasV43OidpLBEeal55wLERSKoiEfkMufrtmWBuQJYr0fe1BHm+estEppVVLOrjmJzHBj1YBYcJrEIHbOYC5CnNEdBfa0YbU/kCNffSUFkGC7yo/hzve690P45z4rRGF7sqAeBYBkOjJNuuvvScwho6noDyPL5QJhXbK77WCwSHE0IkW73DanJrZ3ZFaRS1G0eC+dOdne2qMlU0GRgfIFc6YHsHvv3iIV/na9lALbXZGEbIUyNbaCiMuhi6wBnaEGvnXK0GLS3ZztGvEIeMgslQvfpsv36b+AhQ24AJBtsI19BFOBIh2yWsbDZV/OCgQoQMd4I4W7QGDbjh1UOQUYt4H0hoU4+uWW1JsbqhxYKF4wE5456iUDDZg8tDSqa9rZuXjeOy0qVp8+vhmxjQy7+nxDpDnEobEuLv7el6i2ghAjk1CSo6fMcVgZIfhFn/qKEx9vKK6eMfoHbDjf1F8m+u68n+J7tOTX6BfANenNv1nwvB/OBoBDY2Navt7MSCygaoC1Bn5CiMAAzVKig/sDhR5v6SCPD3XRGIWbfADkQWmKqvwZDVELVxt1b/zT1rjMjUlFuuIOpj5WsWnSKjF+eyRszlLbS9OH837xWWxH2ZdUTXueXa7TC80i1pFcE8I7ZjzCqNFsG/Ph4wkJAVMKIQFx0BqYuQXi2xMoeZSPx6ff8MwRNi8Hj6X45ETSRwVEAR3+byaFFCESdy9pHNkmZH+2x4x9lPVcZiv0In8l50SuLKYeCcE3DCQLaUkOTmxYz2kS48WC/VNbo2TRRwXqW+zqtjDeQ8g7Ac6GXvYzfXO3FhE+sqNLJ/x7VLbf9heT1TV4s+xnUUDNTrMN7m1u3+1RzWDxtDm7qwHUeDXFZCgjpxEiUOe1n62RTNEUFH3cKWfK0mdBvu5+dG8sstTowapO6wTUNzOMaB+0jHbdqN4+CT3rTQgQeNBzG7Ky9Yed6gj+MbopsxcMWSonlE0qU4xL9GNqE36oyHxV9AdZaIM1VxSV/F5/BpcaYGTnZO0J1iVTcEpmEzFH+ezl7r278yHbvNshZV9umSmFZRvQ1sy3+QgXFGYh6ciIaOmCFd9swXTzMUM+6n00veXMQElP/WVS5F58bIYrwpR1alkTtI2VqKV9kTYmwazl3imBWK+EC8dERPdBOkuRvEWKc1H5fvCQWHNUlcRxrzaXk0CbWYlAqoxK1xMGUnIBw43bwCLq9f1LYSvjXqaT6gDgb1/bSL1rnM+cEoE6M+H/bQ43t80111O9kL+JWqgROxiHsfVySRxcrxpPEoBZnDRS7gvpSMS4FCPO8bOvXW9wuAh7Y8pW+9UMlHA6dVH4Ie1+gvZF4wgFjgkwYbluT4HdXyhsc+zyDzexwkySl5llSINP91GHSMXz+KGdEKRjXoONic+xJocmxgPh3/g7pLdRJOQavnsx/B5Y00PYFUTG+MOnN8gnatx5CNm4fp74povxp5lal0iEJWaw/0JsvvTSSDvg1M8z1osBs2Kz28C70gfcvyEgxyqNUIGbU49j0OO+nDVpD7qLZTTUk0bK8Pr/djiS0WPvY3W7u3+G2znifrJr1MMMlH7Ojy/ndMLZuaP/xZ9PtLsfCwyCxvDiOd2b0kZ5itlkggu/xQ/fYTXNkYvFbLBpay54/vHUGh6g0KRVTLgd5WMisuJm8awiW1yGKpT9EBYfEKYgLX9KMkcfGD+JYzwFJ+B5eqTHsbXPhZkVu3JP+BC9bgOpudghGRo2+0+ybTupEmmSXhQCgq3mZBZho1oCc1tsziNDd+8NE8UN0KD82Ag6SdSE1xBHESa7ZXuB0776KhRdeFOoXwrO1mcaL3IhMFjnGLAMLwfA/oSiQpikHmajnFbCHw/ST+54TDN+mOOC1HJx5bkGGmKgvEMrboOe2xPT+m9wWK65VK2TlOmEX572WVarsWK3r0m3eSQCuCCRN4dcrZT2KeuY3rzxq7josmL+S3CtTOa4z3n21Ub0wQwffkimVOAudFEHaN/eDkJiBwnu9FZGzP9uB6VS6ojc6E/0O+dLDvIPFiX6uuHN0D/tHSH788Xp+fcZ5HUf/lNz8r5vTeHzfYtcWdL/VIKkw7T+C7FXxrj2g3bHt3sZe1s01y2IJcz/5Aeu/oXJOXK+xbBVpFaqfn5YJPCyoLBqano6LEY3R97PxqvF+ilgvGgU8owaBMjgZRpEZHxSJYROjMsjSvkDRBR5TJfXa1yHnVEjt0KXkf7HntahEF35nkOnl1zRqCm/ZVhXCfI34zL6M9cqINPK13MIY/iXKV2Qy8LsMiwMqOgilyZjtlWbhDgNBtdaEtps2nISi7G6IBwjden/+mMWv8U8F6BJr3jKzXFuA6dfCcKkP0osqdDvJkZ78Ch6uyCmTNcmtKZftht3ck7Hdc4uiq4uaFVNgM7rtfCCcV7DFYjH8ugjCi/ZezMTW+n6ZiRGoW6rb2ztsqg0C/WplaIzvgQohEj4rME+TBcx+cNdDIYSn9nC1Tdcl7V93idfcZL2HLWbgazLJCBC1+dAyP5sN7HKjm6uw4WsEgVZkGjTHAAYcGlRKQWWuKpf79962GqXLq9P3+sjDjaejGo9W1peune0Lv+0/Ol66Vfx2NxV82nTV33vkM3j509rZ+rddiT0X1iBlu58+MSLXvQSTCpwuPqAFP82IEZo2Yy+D5NQVOhPJq1+U4Vh6/ExZ7fsEVwprglEQt/IGHL74utIIykBn5Z8Ol6EokxtWPSGPcrC8B7E/YHVzBQSn95eDX0J9lZO5UP7JM8LvLYDi4fT76H+lIpMSVZx7sFDsqlc7tgGL2xXDTXJm23jGmZ1LbLkaSTqexNglnNoHZBqPuYz3m/JL0HbrGfm8GBpzEcQ4oOw18GZwKIZXJzGz14b/NHshThMTETiy5DWXIC38lcJdgDk1ZVQ5qEh4BJFJbkxIjZAE+DvttqxAC+3KoZsSMJtRJQwq/TpoUOkz5w7zcr+9Gjws+hjyYILdj54SNb+WPFN+MbBQ0oUFav95MMbWods2KpffhQLx91Gmbm5FqBLSZAtr65EK0rLzCsjUaeTcJdY8j9wSZasg+XznV8OiLYOULWMKfo95ZQNFpEsm7t3cOruGLX8t1fu52t7eUK/1v15xSdm/M3QNIb4NeKhvVOdnekzxug5g0gOOI9C3WfNN8Su3gDMHi75GxSLArJaB22sZOTJFj7U2S34O0TjkhcjZuari6o0d4+LqALY1R8lcJTM1VSYqvindZ1TizkaZqb3mLf/GBhFdTtUYo8feWTY//7itZbJdz5ef7jvN7GcbRym7eoxotpCeOw4RbCtDNkcX44Opon/48wh7FtnXKI+M8ugiyPjgzjx1OzB+R3LpAb6Ripm9Cf0WO9DLRcVrMpuQQD+n6KCY+J8a7TNawA1wlVp5Mq7cQMnImFygX3aPd9QtyOjeGvrV6Pp3Tu0P5HXc6zbqpKrgDWYxv2EiuedH6SDNBSrGpPgXt4I9+AFkwul1pnm0IhkYe/kV6euZ2+Fk5fsFPKd+5Pt1jTbcr7z3jiStZmXtDMp09ofa1vgHk98lM3mdtK7atNttc/L0LwaHTwfuEfnAhpMgZq0vZVmvaxTjnpwD8yKYwxfSlHYDadrBw287fssn5ZDy2H5Qv0CvWSNIa/HGLHEwqkoh4sCEuBUtFc47KGPg/338SpqVOPupBBYp/1uUaEklZtv/4Kyi6Kbe+CTTmPZJmrw7Qpi7SvdTB1F0lr+L76MCdI3y6vhyiRuId+/EDwaSBTPmI5FLdTeGjzgLNpqZq8fb2oThDry4I58PJYc0ZPgNWaizfP1VzVxZvECfYjDmurswnBU7aMk3HIL0wT2JjCPpSv500lcIohTIam92OFp/NHzpfWh4z6Km7cWD3BGG7e/HwhYBLztrsrNkGCv3aUUEBNFLva4VFZW2ErOprmx17SIj/Bdbe64f2NpZ4PYuuvPXc9y5l/X7SaLYLd7jaazp/en9z//ZaZNevK+G2AWzGqz7PU4GeoCFPgTx/5+LrFqU/oBcrd8fhjvx/SpMOWNcbx2WnJYYrvKpHXy26t/6WxwCyoST8c0QdV5mO3QaiyR4IzZXwYmD4aD6puM2imGqC2CW1joCqqqolqQiH60o+gxEGnTCGC2stEQweT7GpiZg5+DtXXegOcMMWJvwqNiO28Xr4aDp3ea/kL8/76vrjN3fSO3u6j3oGm8xEjniTlsDLgB/OGTbP2xHsrLVLskajxnvn2BbzwyUE2ip0vERI9l87AGdqErHCoWyBeZjH5/gafWfK2HJ2rAzR2ZH2TmppqKznOvzw7vZh2YouSIrWCVC4uz0Fa8mSZTdUSVSEpEcJlxA6P44x2gnJ4/jP5S6+BLdbcGGeRkYaScrZ7LLnr6FhisiuNEvOUkp11jfLE9zHWuFLhvGDLuGpjf9pIGIfUp10eJE44ePXzq8fTnJXHP99FvhHfedtsZ1k7vaR6cm90WlQ8RguPDjHoE3cmCpOpsFoOpWUn63IrXuMvdX7G42rMV1clIhpIAv49SBWWMUFbwik/SJQggv8luqf4BrC6j86Nw6yZLUfuPBEdI68RRB8sTdJUWz1KCHeJjFt2jAAoGg8Mlznkigsxquv4p6YimrKnIoIPeu0WkdvfabkW4lod9exVW/ZxJ12J6oTuWUJhIfUBGkus1/bWpZ4YewkRbBdFBZqP5eNKrF58ROp3dO4uX9W8c6omdk4bzFVM+h4tOI7Sxb2Hr5C5cw5Jsfx3RtxkETXWtS+N7psu99qRkyk7dB8ufTU6Zs2ZlmpHJ7oXLsf+xGN/u3F0S/wjLX3LrE76lUf/+TkaL6vkdQ9nM49ZBR2g5+TtrCGdYYKf5WWf36UYlszBWRFo6JBwTVDKcWD1qpktFL3tkGg+XxXI7UYZbNwOLomdOEggxl014XPDW7FgiPhsnGZ0Ru+bZXS5qXFFgK/Xl4vjHGPglj1DKTT6BfbaDUXWbKvpPTDnUS7zlZi+6AKTNOJR6YUpSalv0FTae7Fkz02h36cgh6BR+EOJXdbjZXJuZWTmL/s/6H+zxG33cd6/WAeaK2mab17ZBtgEj9d9osGfV4iL7yylYUYlQoJ3g5oI8n2MMvWwK6HwmyG9dTQyz3Iaqsrl2UITSLS1H1La0RBZlQ5XDYvhA81EFyoMe37C6U0ukZ4Sc1bQjfNXjI3n4FluV8OLuJ/NG1nIjSFNccKqxwWtUoT/ca0SPmx6lQliwIOO8qhR65Bqb0sPkEym5skGNy3dsxKXoBC8G51twaWJ7WnJdru9sDSQo0OsVK+p26SKZLjipCg8dsfvbjv7yJyddKDqneFsjta67Xja4VTqUW16Po39BM9edWWwAovBwpJ+wBrR0Z3VHSmaiF/5orwzSJbL56OMSdrBSB+QsF2uZT467evAvOAknc3CGCXJIt3rZhixUiql/M7dKWlgiZNPbh9tArvszv8rqzHtSANJ1ivdnrd0zTtGaOowZeL2rljNJ7Kv4OvxPYlAxzAmOiepdDktrAHHqLzt/qZzvSabEBOr1WzPPtKXoPoxs2kSF1Kz5QJ03ikO3u+ywfWTeIyoz59au0hC/XB9cQbZUDtW3VurvTD//Nn2Rbej+uM3mtupfifL2nGpN7OrWLijTIr/EJFTjiT5R6JaxypWWjcZqUgT6pJUDDcMxxOo6rkLtjrQ1mTex9eRimTi6g2TXr2p0vY3Uairshn+qfCeliJ0b/T1O9mkZ9WjgPmm/CC8TnpsPLZeAkkKET15MU6VN6mFswuFYn8f3PnM9QpJhMXyEhrVXm9cQ6VCq1PokEE53dbFZ34MrZxEimaWJF6+r1V+8VyTDKpVxu84TP+yMILz8gGDFTEjKlbCVprIe7e8g7qVfr3xjob2mikhJcglw4yMw/cgkOatHebkFHOiQBNfk0ApB7mLiYkXzxjIvwtdSg4cTqYKhiRzf46T/JwCCOmLjmUVJbafwSseKhZeAhLT7KZPLO1z226EbVNS0b4BvrlLVc+WBeU3S01QJEkfjOvOVjtKyEdyVymhzQnpBEic5VfPJnFN6YFvCgMKOzAG3V6kDjjQtqaibEI+T8bHRdMkVcvw9ClYOz+byfOP09xJf6A6xOKo6iisw9JOHtJTGfbCu5Og4lCneHjqmfn51OGbW9OiMCfa2WHEl6jUUFixT/EvF6kzss14bLxKgBbmljy2c9B/uz0tFVOhceTYGjLmRIST3I5pbEJE7cOEGdTVV5d5CHqB3wCDxJQ28Sl59WFLUUajXBVoRgInhQq7MZxcAswLgV+PaqxFFwNa+43DkWWnmQOleTDQtIrZIl+oD5/FtO68X7LPrTGfPswLPo0ppCJc9SB5XaeTZczZ2nszoPu7GzzuuQy6vxvIupD1o5sws1VkzmxrZL1ZqOaRhPeEfaZajuubn1F29aW/SJk2xtIaHBN9unAYxaxLSWZk4lcVQESfImtjH/qRgIh/0YcSCfRKGx3+/LynrZ0FYaYngSf/85D5JUSnkaLWwV5T2CNLD6GOl92OQO2n/sFRP1dFwO9bfima7Vd41dYRo/PpZmBdyLbzviLPiugASPj0uGY5ZTKy4y9DgwMzfu173TpvPggPPyKB5VqpCODxZDP6DreQHcSoTUIkOHp1yRWfRJsfX8MMxTVHJcZC4AuU57Kg/rMSfedraALkluL+KwzkdOMLWk6YKY6QQDBdQ7Y9kDSL3tZhc4FNc6LLeDNIyM5z15faxzY2NuXf5Tq4nttvX045uDuMXPZUHvfYuIBR8U9w92JIx0LiIPr0sCDB9S3vqFFnUOdEQgHSwTsUWAH3kUqIRhmNP5uT8di57DtbKzu+vflmpUDCuLD++fyvCruxrSAuTAR2KTg/whC4gAdAL1dkqzSu7j1hEK62IGq1t0F/S+XTdvvOwuPz99r986pCT7RfZYccDW73waBW608lkF48/ZW4o1VrHcysvSKFYRPPzuxxDTwof/tnnshOQdHPZJQJQ7kqZSZSWZxnp1hWt80meinlGK+/tdpr9M6Hjmp/ytn01aZLtrPW4psTIwXWba4cdCp0PpoM/K3rpU0SZOlQc2GUFP2M3vt7As4mIcmNTNXHewluVK05/KqQI9qk5Yak4ft6R3btb8LRF0gULop5svwNcAjnbxKwRFASYCvWNUda3AYb+zlXWvJ7cxCZKrO2XfNrqvOtHuiGSGTj2b4SpzzHVj4HMkLycrdW3G/kXzxBJUk3M/OubI24HWgs+7sdGISlML6Md6G9kU383lZa9TaUo0pJ52KQeTQrYrfaB7T7C3fLccWt6WTjrHASw+3TFA8xmmjSRGldJ9qUHmIsNBFpu0/0N57yZNfYrbc2y/n6w+Pj839uclTb/XF49A29mii9ouiLL4iuEKQ2gyok+uTSO0lkPWyaYcYVQx7w+zHZIEpmCgf1zVmbu/Gj0mZ+D+LtjSca7Q1DeyHAqciwaHu7jRxFvkzDncxIzwhFl03hYedJSyk6A+5NwMI1SNpasLXvB8f4OxxfKWP/K8w6KnqAzgAqmNduHcnntoaBOAcExCnvdIoxxE5uFBopxtXhVSVevQ0PXmMpyybNWcsaVd8+Xt6LulGtkWgS/qXByNUPAX6OkuyZnQ+kts/fZsa5Mu4I4d7nO/VdijXW3aqPAbTnV6gzJ3y9yJMRHmSlSH6MdVGJzk4VQCvXKWXXtiVTQePe8hqZa8/hhP14H8f0UeSJrc+Tduz30aRIMpWKUdRj1MCZmkrrDn17SzMhozNaBSpE22myjnvtDVDiK6xiSX8Rhv848VU9W/H4wwD/UC27k7KmIzrNy/VJjdMIL99FHkA6ryxE9et7zDFSZFr369kOOUZlYn5izmU+efro5rozjWnAdffzV/JnTa7NZ596n6AX3443gArXcvUz5Ew+ZtWptujp6Uo7dZyp/S42UNAJt4TcnT0QzxqRnqZ1FRRmoc12BGs59GffV6eQwEZDYVE3hiqbq1L8T6lZjw7ZJnHgpf3Sj2jpoZKgcohFTlFMiZM2fqx1OI+X0FYpbymwGP0Iq5ka09QtSSQlSVC3DQErgQFufDAp346/6I+h/+07/av7+tNOOQpzLCQbYHGNlkISj9xB2Z5cYygNJBs/QaV2Ae3D/CBsbEjmL1/RGj2vHCqJ7voGrkX1nFlQZklWoC2RnasD+vzvkPpqSyNlY7A9Ufh3nawRsvm2BE/TLW7rUKzI6bVeqWCGNC8ZsxImhYKxGX6qTD4Ktzsf724b7+5YB4c5ddlTzv0AzAYiE4j8VadxWyrdCCMmiRY0uZEeXhJCWy8tjz6MX06dCF1g8QkSb0oG4PcNkV3/HuGO4mPXNFFgieZh21SndaUemMh0zO2uZixisNh89kZKTdH5mZYFTEeYIpm3JTTiyycS56fefllMyh1yXo7KK1BGUCsXSkSgyZJP4SHCGHOs6otg4Iyrio05QAX+flJj9S92Mfd0oByUKhohdozYpkHth6B8H8GxKoptxSTUeQMUx4Y+Lr+eqVfa3LNyKhRq35m9JDU/Vl4bKsYesT9WIcqSQmfCkwj+LY4YcYt2lqiraMvO0GSHWUYZIGRuZAxdRP2imepXRV+1B1sIhxAoubMxVgciyD7tPNQM7Mf2+jquZoVwSh6Ql4Gjbw700yXpzfqBPJTjn0w6FDYbM5yGXwNArENECqIBIBgR/YsDAACcVVpUSRvkPlQ7G90+rGob3eVzG70lh8Mernqwdk4hnnnIGqIzaH5vgAbqCcoeyz+P3yKduqjGrh6f4KcPtIkgZMWtli4rxGdV8CyiUI4kCfQ9nQ8k3nbho02N4QQ3HHVJLrAqhukTNBxG0anCSIzm9inSQi6j5/pjRReS2eQR4tblYxKE2EUPp60KGIQ5+Kw1Mq2TqWJEjy5jPNXjoFw1gpcOUP4R+uHkRoOfXrTzUV5NoUwyBoN4qFwfs+aHKDP5i/EKE4HoOmxx9vRE0bhSl9PNadXxlyklii8kcQafypYjtsxiSJKoLd1MxzjvFayd0A9TwPLTQVYoiHCk+7p5sDBJhS/+hGLc76y0PSfmXG0UhBpPshpOOTrjUCfSaiQrhfviG5HhV7AuZLMpcPXnIrsikGpcz305A/V9msK5czyGF0TF0mnmOhMjr8nJyg7mcTnsaNfFaSy0fuCGaxYo4yIP4ziZckg0+uO1wYZYZRgPWShwi1XVjcp2Tb5sa8sNqymG7zyHVwcZjL2vwK+eGr9MY/CxLBpNKPQfxagfbIMYxswSbOeMGTVQFLwByH9rWyW1lIPey5QHFKP8hs5pT1LxU4d8oj+DCQUpJtcLE0UOb+DWyxTGH6lLt/DC6nmbE9K7qour4Z1xBVsKIFLqVmgsH5wjmetCxl/vmAnx9HNc1Aqf1WRUQ8WntMANBMFlkN/R7sMMLbI8k+FoIVTp5KeFXi1ER2l8/FIH4/gBGtwuVgqHx9iDn+PHtjJS+FFesxauHSj3CkE/RVAJqt8/Bci2RhnX/C71leXvlk8FhlEkC7R+LAEZs06F9aVnUjFeJ/RW10+HpY1HlHpaeyTysXQLpsfymL4EjuNHzWUwXmNGJ/Hw/g3KMeFJrBUe2jrcGjzNsAohs7tAHF2A/wFaXY1C29AlVyuytQUnd9GZFgeX3s9UBcaf9e4db1VxVYmV1TUg5mGeJnIxTrUZJURzuQG2GNIp4dLOJSIheD4JGzAE46ByskIs3ToYAwcFyeG24ZPcdCknkfzOebUr6IABXr93KP3IUSggk+UNMATYVSYW6pQfq/ORAPrVByUdkhjLTTA3KAL2I6pXhmTkQkYuugVDbUErBwNNvBhTs8VxUsZoeyC5hskT9ioaYYTrFK1g20mSvuAX2uLW4c0i4sRRingAhlIgvaWzlYc2oXjK9NHC4b1rtoKZmow86tzLfIrslwMIFe9zR44Ih4d2k0zYJXMtn4GFi2jBhTixH9G78b9d27VDl8/dPVrNrxuGTV1LlcgCx8+7f3DCyTxNzEePCIOCJioMP04FmpMtYDH+6BrOJfx81e6MSrPxNCYPhOOjq8PQzLcUNaZyzMowZnev9gmyN4AbtGNdhcVQrmYVxtLYTmTrG2o0fy7EC56yPU7qFCnTPD5wQh1lhlUZlN2B3zuQDkdJdaGE2HyaDlV61BpNXUZufZ02+zOD3Sh6/PUNEOwT/s3IJvbsyDCv69AsfFnuulXm4yiJzf3G++VS1//7Mb6kOmvL5Wet8cxcjjfALLLa/d/aV5hu5fP7m9f2MkK9h4LSQ8WZXCPM0n9/L91KydKdkZH6ysAl/2sGW4dl5I7XZ1pCk5Oad5ooo8mwHm2yy7+/g5RNI/UfHs8dLp7fAGJdGkPMgo/FLJIhgrTiocu/X2rv9R5m+GtptGqf0J4/toSe+9bvdHtWe8IHKnVH5CZMfPzWc5378uGkWu++AmlO7VrHYqblVe0NUPpFo/L7rOuw/kRrD/x+uL3BFP5xDdcwFygxl2EhvbBfgPkU30oQ7bvzCFIJ0ZdpZadgeomwzIy2qd7b6qmxxRr1bOFG/wOMajwmQs/vfk5D/hvXipmLLFKgXltSh7PfK+R+DPATu4/fgm0Qh6Y65zBvcNoViuOWgtPS4jlCWIB/g7j4F90nFxcSsMqSjTF1uLRz5VzXjX6RDJ9hTnRi6gQ4kSt3Jb8BRMX/MA+i9G8lRfe1EPvrhBSZ+OuwZfBhvZ9fs0teHg6wb+hRyeXZALSNrnRtjKbt5rtGswBdEAVBXAnI6iExR17kNsuiZmaZ1IfYezDO96ot7nkB96wXqUCkFNT+0UydRmEfa6wJPfpcnvCIf+ML5qU7oggVIMssR48rv/UfM7WHiswDYNpKN5zv+VgXV2cIY3lHTmp4PUo3DDR5EULYlz0GdDDj8XCEDxV6hDSrM4n3ht25Kziq1tj6gZz28jvU0VIwUXN6ChuPBDEs8oDfNIpUZnHdDQZ6+l5sX50JpjdrLdwEjVwaB+Foho6v7va01Sgw3eswVRMvuCfXiBzLGNJtSml70/+KTdMd5ZhAXaaY0RD4xMd8Nbpjczee3gDitWtnNayHLxBRAUtfEt2HigYs2ZH546JKejNP2w/WD6xjaix9M7Zndf1f4t2lXo/ys9sUUyN+ZniL2HyLquusZWfQZgjJIKDq2d/4/Wfusum18fVpV6Ntyjh6pGX3rnDH5sXq5aa/0iUDiUX5ZSqWVbmGmW9cLQ3Zhm3aOzd4GKlq9XxRSognKy6fRNo2eatNOLjiI0Y0LiurFg8XYz6Da6R5qP9a9ZHRaMmufk71q9k5WnTtXo8+Qz+rCbedncumnDz8XEKJIKqLQvq2oH+EfpqRUCnpOv7sWL2UcxRrXyDVCIG6IPJTYzaMyn3p3hOfdup68d4siUc9e90qrp4g/cSMP6W7vL0lnCJH+kf+3K/doc9n5CTlXncyZYK98ONII4cJOp8BDBv7zOIF8/Mnr8erg4OrP27vb7vw5UVEwAycnDXTNaxg0Obq6mZUQ3KrEKemE4sKnaxchQYLX4Ec8wAIJ9KgO2ebel2oZlF9/BofTCjiWceiYy4CeHk9qTr2clZL85FHg71X2medrCOYSCKnVU26YxhlslclBtRoDyawJ1c0ZwNF+dBdmT6Nu41IPzu2qmVGGuQOUc+SOgNvmos/2fvOaNF+7pcK8cDrp6B7vB1A00T4adYjl7jVNIxGpdsj7YUk/fAhYaium7oN10OiiEVJp0oYmdE4QNVZHovgjpbLArjMFxhGMghrl66mwUeFshjF1n8aU87aVyNn58feknDKG3+0PCCtktNgr9fHq5CHqjyeWSJhJg2bw6mLpOBizCmHR7Gl6r74f5WbgaWifedWNqEFqwYafk8FIIoSWv4IAIQcYZiDjP4FU/vUf36cwbnh1Dpo10InACI7Xc+0AO97rA5t5Mo3wPwPI6Q+SAwiPWqQdrMpsm5/0wXcjqMAYALg1vQGyGBL4SLdJbZ5RIa7/x0m2OXHTDNSrlGOMYKqdxA/GCsHUfhE8CHFMMPpI+GkN0bY9nrsVZzxp56CtpZCtcMwd+BpIlQ9ydkEC+hxsjxB+ekyMNaxped0AkIopRKmS1KjHN0mgMpASveOjFsmiobnAY9na7AKycMWf1hCDmcCLZVLaGFnwzf2Iu9nj0NsyfYbwOHB57VjvVn312EGS87vjpGbvSZguTA2pXOw3zwBkiwglfxArkZUKguE0hXgLK0CxStT8n5MKKNZLGwJ89ddndcc6OKNH4BuUlkGWo2QeCyBbkTD6Pm54reHFATUeCbCWAejFmp4FuLudRArrrTZwMwYkcxxzDAa9Nr/XHtfF7uDi3sDeJSfxGm4b7fk9mfKdOfxMF0SiqmiBwxvMY/hsRzt60wrJwv/FOy7Z4AiKAELo6SrPIhpaMiKArngycwQpJqg3FQSkTy/NFggtKiJU4C7/qp4L6VXvS/Of3pWYzd9tpva867eALTifgK/n3dO/Ot3xLq0+m8MM/7tG3sPBiuX1gNULcIHTL+RtqnrkSe+HzE2hfDDN3v9oD+w2984e5158XjR7l+e0Uf0ie70/pb7LzOspS5j+NPaU7l1+waw8LXw/daxs+WwMOXLfZiP8Ve+kjwdKtz0q8lb3p+GzzRqEcKiAKrKy9Dot5IiRcGk5cr3M9veJXlvvN6f13ttyOScMcGAz5SI6DLYLP3A5MZnwazMq5+btdhewwUmzPAqHOQHT+HEqDqNY3Vd8EZz9aG6z2UWsFKlExVdND4TvV8AbhCjh+auWts7FPTBCrSKcngGjRIQqew/6R1GBUgUQdv81Y2LicKAR6/VZI3oi3n6yVIMo0kU0VB+U7J03c9Wk7iseOUQRwkndFQhBOY9LAAWcy8qAqo0+fq63K3MqGr5/MtIBEAspf7sL2awxPP85Z480xB3yqLxNYKvUA/cHMMDbKApUmTkB+senksVTvs5CxjJaWPjxhd7J/XKsKdj5eRcfz4w9lu3uPjMxfPK3d/aWBTV22LbhsypX7pNkkxrFYrhdKN+aQsK4GQCNUOYCJzcOFxpGYxJ3+4nswtzPpHiNoFQBsGvC8tw5EHCGCZVRLe577YPu81Te7b1VcFw8V5cNbT6GxO/U7hTvgyvkEwSBpwxVbYHLBP64XDUycNJ1IEBXkpFw4wpMlOaGB4qB0917Hp1qoMGVnRc35MaCGSNCm+Ng3q1A7uwLRvaCtH62qg8BTgHRJGTqz+b7sx/vI2uTd/UDVeMuSny0PrIS3Ptb5xqZioZHRdzIk0bcoh7jClfhRsyvH3CKekOkDCbeq+DjsQCRvX6+YeH1AHLJ7ApHHfiBR/hfcJqACapOUC5DegMJUxtRYbTT9nlXuuTc+8JWvylwGxMguKIQTK+zpQjhxYfQ9mG5cx+azVYqc8wdxrtGICHqN96f5xeFLDHVXNKQHAPPN+tu6D9v8p7q6i62q5L8ODu7u7uTnA5SHB3d3cI7u7uTpDgkkDwgx0guEOQA8GDO/T7fqOqxl/VXTc9uvumx5j7Zl/sq71krmc+a3JwMUqpD/XF8hA4oDkJq9IdTXSrrdxbynyZGuthMbdAajBXVAIo6OdCPHfhBMfRkkUL6gpqMZMM3Zlbw8gl4KxkKgGeM0f7kIwDhtO3nee46HaiY/qURptdT0whlu6gOBfz2Wv4WUR0uLM4cRm3+Dzz2KEBqPgL9ayH5gXE+QaS0B/JkwB/2aPp2bEphvHPKy/9dzhocCkBZF/8NdM4KihOU87JTfvnLu/eU6rbRRv+PpN92quhNtV93n+RzzmVnoSTwRD/ANC4Un2yfUg5BRHnnMSSf3mX25YKnr2kWEnkJRxaXiFl2ng/RhcSd72TGPwAtLDpvm69uxq/GPbXLzmpnzoW4/5UeBcKHif8dE/XFP75XVxEI7N0Bqfx6G/13GUtatzL6Ge1sIXA6/U/8svwkm9jEOSC9/+aZ6QQVC6nHMso9IgQHigyGfmF/7OyQLIAwRA/2D/9wqTuVNj7BA535PnvDzZmKfUTFAWmasuS8f34hka6M2hcVpdEC72n8WyTMX+kneXUwvlIj/lvQIcuAn2w+m5OlqgljV7J+1iefTWHzmR7M4WHnCW92rRTUywa7zwK/QXijLJU20INlwJQ4s+iezRgVIDye/K7MJL17y6D3Q33KZ1Us83w9bQT9JssXVVrZXTYGq01WsuhZnsXZ7dEUVotrNSWbKCcKA7KJA1MiLKjm04m/g0amjPdxlpg0M7npq3zkJKVp8CX4IL1x1B3767jdoZUNp0NXd6meku/CEYafSGFsdMA9SRIo2oza66SEDVn+bIwUQpEg7OrqzDAagbYW33HjFOjYQ85t45uk2NcdbJGA3fLhRBNrP6g5K5MlaFvIaAuXCsmwcfFAVASmlqmNSmzxLFUSMcxka0VKmosX0ShpGszAdGn+/ffyXdMD59eNvoag7fXhzPSwV/XCp6wthO/D/0uWhZKvd8xt8aSp81hVFyWMbpuqF1ND0f7pzv1QyB9yVnTDjNnPj+m6QPzSv/MNJYJ+mOhArVilNREyELDM9FVwjG6TXnG2nwU2eQifD1BJcc/tlkmorFaaxqQDlqOAsom7teDDE/WFKe5+dAYRvM2ZWoY2VceHx/vgu5L99qZ/7j7uvAjjJ8i4kZfjFuvD1xUkU3x0rD1LBUIlUvU0iP+wLRT1QLvqYUqVhMXH8ACJRRwq7DWTpbihW39+eOuxsaxvfLi7lg9je+jhVNQIUQs+WnVNqH9a79zjCzTi6Y7hiTZuI4Rl0E7m7qo7ahcQu3JMrXmbDV98N/x/hfxU2GoGSeAEB4r1BwxlDN+CHGIclUSU9ZVrYHy3wOyk75vjhtL+pbe6UFNWLOt8MRvnVO3eFL1wbdar3U9N2dQmR+AExZth1Jt1+34kiwB8S+h3CVvsg6N8CXeRuQNGGkslsHNfDsPu4j1FNpuAc3iMo1JzwMrITuR1BG0BhqZJK//RM4wSWrJ8Klf8MoL28tR/koqy8pr5DuF4fB9/5rrjuhyb9g/ZE3284R1ifjO0+f3Im+dGph85YuXxkIt12iThDoh2LISExv12Kmv5qjIqwf6okzujqRRmIPmj7ryxjb25HOIA4gJLBKyi6H2r7+2MZ6Zg5VYn+4/AJMht6dfOxi2FNSs9TEi+x7M5KRGGQT2X78IEdnJqGEgK5sXcgUDTUp9BSvCvOwxRxaZ3RElcJRd6RSQhISGWK+HSR00MomfvIZPMxkAbkcNn7GWD/8Cb679bXwnOI41soE9qOH6LH4uyVH2P/W0yB66Ulb3uDyk7KMzcYjxmFQgYXaDOvCXb8Wzpp1fQ+YDJ/jJVo0BY9/1HrjNrdactVCzmR7CL86iYBMoLaxbGeqchAOR7dVKmSvRuKpXygYhUR1QBrnrf/YQGIZIUoH7oKZWG5ATCHYxSJ12hoQuy/wxhEBWc3NF32h0sfr2sBYTzqvhrDbiUGj8IDkaZi7PkutW9fOlEqwBfyfEQQ66CbflNGKCNe6qOsz8b6HivHzcsuuEPANUV8/5mXvtKzpnLgRWT6BZ0deUWQ/WFlWyGzTeDRdpDjXEIZqf9W4nxPEFohTgAT+mj1Lpi88jUAYiRCY8s7dwT7IQLO/CWccVySy0qaJW5Azw/lKksIDpMZS/eWAjP98j2NVaqmOlphawI6FNJ9n3rNbnkfkntXzji6tOi0VbgnIWtdZTMqFHFLMWKSW2lAcSYFpwXw56khGa0wIRJnDDi3hApWfUE3jL3uiwKNDDzwr8vd1HVUFlQDeeDJ2ZgF1sPGTOrMnI2BYn2AJrnQtIpG5u3O4s3z1N1yNgDJBN9EGLmmhvKF1dD0dpwcwEMbA5UfC08FfAFpYJZJlt8frou+NxR5Fjbmbsc8Smxw58FxCmlsHGyPZoEhvMBYXkeYxUdeIlXgXJ3nsKZ/3INSNZpcGqhqAnXzAAUkmrJCbkCnfk5WIjVrqZsBjVqjWar5F4iE0snyTHjRpdrKbEfr4tmo3M9SuGO/7k1akMlsHB42sSdZ7MoWa9QxwULKjtrvKEHBBXH4qy0cVRL1S0dJ94+Uafys54NoSMzSAOq9vSqXA1PLUwTY4fUhtUce5U+E3SnzI5xHZXM0pSeVJPxI8fNEoCRU00e9li9yICV33RLReRL88NrVZ60ActqqebCiZbLnriNdJsTDMkLeOtPSWkDZGFRgezmX9lShBsHSuk4xG5eH8Cy5MJbXLD2ZNqduRufiu1X4/QAVMskQ28IlMhDf9NDEttjuYec8+9pcecqTHmNrNw92v4gu1jY+OziOnjn1GnoL+hkYqCcOFek6toIoKkUR8/lL3lAXlING412p4O8/U1hVzbmkdW52q2z4mLjaNXx1qwj/Ltn2UqizvtWUeTD0HTw0SioJahDyKNGvllbPzpenrocq25Nly57Hhr7xo7fjN+L3hdJHlZyXuQRk6w8oax7/hbebxYP71+leeu6YabrRiVfS46ls44Jdy8epUNvUjl5aHQQ51ALBmnzcCkKJ9qT8krxHNVtIgwzkHK3e3Io2OUfrjl4ORhr8iwYtR78t2RiJlccqTGTTJha1uHhGoUfcJgpHkZupz9DzWFD1i1Ux03vZJ1Ue6Me+g6XW5kisq1ZVnieX79OnpSAntRnyafW5euBRJqE4ngzxAxDVDmpKRwi5Q63ysdSANaIy6Sp+kj0Gll7mvWKZeWpZcJhyN4zFBeKyMq0+4pIybwVkDjoBDKQEVSd5y7Pi7+ucO3iyiO9cgo0dtYS5aO44c6dpk09x6gH3DmFsgsMiKjm6s0UfRRTuUUzURKVCHRLXRYvMp+nCpvzjZcl0RHqeVT/XM1pcCwKW8CCwwfOYrg/8wxqEvVHYscnjaJlGAdDVlhBECtyLVvhu5lcUdcWE9rrO5J2hohsSryf22oE9Z9MhkLCjoPekB0kukgZTDmX/rOPd/p89odqa5smWMuL7KNwpjBpkWSOYaTLqBAUXbt28/HTX83Wc7BTTOewslqsvUVkTZtgaYsJ/t90krZqSwdWg1BhiY5WZiW3xPlL/nQlw2ZSfqNtQH2ME0vAelAlpYH6ndrOO/nb617otZDoC/JxA0jLv7D1GaFckPmckYVygaopYNZZPOwkpw/YjvSUI3plCv7kTr5qCZRsIL1RrivFev97oyvHxJ863n22YDLQv+KHKEdaSpus23TLZP5TdEn1gbviJws2lX04Yn/IaeEo1cDgty8U78wfu2U0N1I8KEF+aPwbIxK1wq9Fl/WrJyeX5293nV/AEj8qFxa/iF51YRoW3gbB3ptBpwHBmbZkNUSdq9sZHDQXxPtcCiCI7DWT8YWm1VbmOnuz5wLDTzymfKf7yN7ruEmZqBC2e2FfOhHOMZ9cIQasN0K103ERlPQXCYqVE3MXPQjD/Rz97pvFyGJKNBbdB4eKo5QzTdxa+IRgqr/vZuk+A9rbXpZvnnUtHtYhJd526v5Kqmm91L5AYB0rHDUv8W+jU2fGn6dIPhf32BQeuA8Ql9irMFY93viGAwT/9/io+fPL6/BpucPz6f5auY94+/E6t+CQl2K8fiwYjP2k0qm55Y1Ehlh/ecsuHGergj+SdyZkDCeBr37GJlBxnDkW2trxPIE9nuAc8ocRlFay1HS/nLHFE6UjuKoXxePvAYj92/hQwsk5WgyOhQ/F85s+/hxsPtNDp5bbvkBT41oAiDzlJ2D8S7BPmCTatzpkxOhQW8t+v6+D4R9aiHDYgErz204kBXbLHQorjvu84MUXJDBq0aGGOlRjvW8ZYPiWKlRwyrvnkiAjvvEOPv3c8UuN3Ec7GwikqlptD0181k9n4AoGXlqXPjbh46tTSLCLbScMRL0D4BZuSFJSqIF80Ho3rCzYSDb1dsHoOn2W14UeM+fmAJvHFMIRbkTSzC5dcoCOxsvSrBVYZ+b/uDizDUJZSHWitXZ20knz4NOFlG2uPAajHZpbvAzPyJhp2us7fA+4CWgr/hlp8N2t5fMKhAm5n5MzPzNcTkIin74MYNe6SrSxTJ9i2G2VXGumQFy5atYJy9dlRbNy/UkkmARo7dgrrDMrAwqQ8zpYdRzh2A5Bts+4cRfFZT6V4gzBwBTWMSaeyxVPC16YqfdUo+IMpTiBQPapydHMDnsIoyQr0mby4z4cS2Y/6SGbY1aBngLtjGqlVlELNWLQoBZpA5ZzFrEPJmMav7hnPuzgoOow6qCg7HDKpxSRNGIUoSRLNsPaJF+SJAN6uuXxjVDZggrB/GIJqp8VhzodDZcuE9wEDLalMA7iWjyK1+KTvUsWSWqJ4pmWCompvW1wpA01h1uU9lVWtGleZO8jdjjF2k5ri6KOMjxJ2NR9oFBIC4w5lGCvPlfBZme7m0O/GHQFwIdvyYSf+dLtCiDh2bnQGPb6pTPxrynsVtfbLJ4C0dTPa9r3kqL+etUeePn66foOnLg6BwsE5g0fKndzlyJU0+y7M10wn5lxaICnDKpUF3v0u1Jst3nwNpdv5YjSOkMvEXcFAWQccOJW8yN5q2+hD2tSSxsAvFzcMZZCc+ux3kjFtpa+6eKL6r6uNgFDHDjf9sKCZx2cRogpRdp44e1yHlJJhQSkGLL5CGL3pGm/s5iwYuTkNHwsgdOQKu1mPUSSGW2ZQOGoiVU4H9tvf2Td1JSJkLym/EdPd2tPV387QzqWtaqPOTpx2gZcvMcA+Px4L7KdBCnR+Jo1itUlmfSi7bADiUzwgN0MJ0D1sdig6V3SfP/dJKvHhJEVwmhg53/fglNKCf2WJK8ybRvhOKJznIewVcp2CjBEOOdoUfBhl4coW2whR/glE9XUBxlUr3/l5u8rpQ2ftJx8ZSM9bOf+rWAB8ezDLJmZYuquEd8YSKqs5ngobmLR0jomxBnijM1zEKVIDJjGp7qD12IxWs1Pb/xfXorvixu7FjqmGj3dX3AZ6rTC1DOl472GrvMKta4nWk9ap3yIVaw4M14wTaHN2bJV7ZYB2/BSDRYP8VW0UzA0vAeLlUyaSO8qvzZeKAueGvK/x4GDeFiUl5DTeHsob7KsrvHjSY2SmH4QfyjY8JVq5o3TjlYNCAhsop7pfvGPJiPHWmKky/i9w4023ITzS0LrlAVF0qPHloM9U8BUhIoJct7Nw/f6ctph0GLSUR8fpED2Vq88F2CMA1PKRotIwFRcLf/45PVE9LzB8D3vdy8seBXmcxqHImjA2/j+fSxZplEGLJHOrVUHJWEahYxb92APlJ6NWXrhGph+oA6HQAuGxBKhdaS+l9HG+FjfeglV5pp/2Rd97eKqbsyiG3Mr+MPAJ4Q9nP/CsW6aL8BuRozpf/DE4k/0sun3hATzsV+LYmby2v+a5z7EL/3XvNSEH5nz67SQcp+zllYxAfAwuAU12H9KIoj/VOyaSs8xlucY2nGs0Ym0ZD3f5ttpn3yqzvBFHYNNjRGfB4Y/9T9WqYZ8l8LRK3Ecd+TsxfNKQzl+/51FPyY1n92KzLjLZ2OodbYt1/DdT1mi+7STAhbNKm2+oyDU0eTPxM/8TN1H9f/xq5p+aqLQfhJfhXCgKsvrunENUwlziwIx/8onwNx3avi9o6bVagN16bTUqzLrFZTw1AtE/qNJY/pT78qm69YFSubrx6GicoqBYgIRL7/quORMHcT24lsSTdt5Hdg19QGtpJn9vJbedrQzFtF8pwv8I/+GjFOfUwKIUxDroLihKgPUS90H9uyXFfElqswTjgS2ow6+j58Ef8AWPf9nPX+4dv3ZjL10ASKskHtSlIX5N9vqEorZZs5wi9bgmV3pYsv91TT16Vs28Ru6Smlsh9NZUmHycw2G1Br0pM12+n4bHVUxVBQmzEx7SQ8jDKJqMQ5AC0Pv9oLCMv9G0q7SZ8uBxzvvpC2mLmBh24IxIKPlCE7zFSDlZh5Mfo8Lwm+kHGXS7aO/7sMr1B6il+2wXTUjbPOC+cfAytfLIelm2ukghaqp4Jkj0VuFl4auklJlgknqOMvlYWCS96of8SsU7uvxaRROldcBowA99SQ+4M2bYj9QYhyxHYjNKiETVzIe32X/ozjvXKXOgy/Yl1p1jDQv8t6rzvzuiZ0wv3u+NMKzbj/jJ0SbZ0z7n6+qzURd6QqxRdNx+qpln9xQWOtI4XRjf3oOXX3Ith9zLrYJ5Qu7ym3PYl1oeOUUgs8J4vrlocd/cbpW7mPVNmESjeomZCs6eXKK/CdAOm4bm/nHLrp8SAm0vmizlkg80pOcHp1xjX6ekQs2zvhWkZ7G0cg6md1D3j2KmZETqCHr441Ld0diour69ZbIVm5p08C0WCzinnxeBGXkPa+f6zt5oVlhfhzRQHbuLhvsuPPJssupM3zm7e7Nb/wAEEnaHbJA0yI0Ph8AoNaOAOGPXE4itphO41YYHj2PTzuZ255Hx9dFOOzGjn66Q1X6LF6ohDiHeVDbgsjnM8ejlNhefKosvj1WBdgjuYRtrjBDLKKOlF76ibUFKdRZWVkygm0iE3IDNIl1BgGMXH/6AWM82D+Fg6y5zIcSrLKJEcVvW7a9WsPtwi98GfeANbSbQiBO2MbrHE7kyWXVbwWnZWzqsUYnlJEd3sBDJgvUO2uy+hojUzHOM+clQ8A8kBNbOSKk2U0xUwptyFuP2DkXOp0Vjaw2FiHPfCIsTSYoxVa04jhwa3l4Q9u/ZQ1JHAvMWzauRbcIfI+O/XqUFAkUSREYjrpszt0n2Lgyd8ni1k9pF6ozR5rK5CYhqcTN0lBn9tbGpAsPOBercq0izJEZKfJKnWYFiUNrC4jlcqxMGZV0rPR1nn7U/ek6Xm0CsP0AVjU+brwhCda/QGYnQa8Z96zvDIvhQv7ffe7t43rywP/YGhdC4QFF9roMY0hSFvkcp1SKqbB4RZQWh6fRUszeJVYitoF4Cl8BiUmNUyfK5IpainVf82a1EwSllJB8V/6z1yn77/NdWj2r577uuoptIw9mcpw2JUe76bzE5IPrwoDxQu/ho6btwqVocdID72kHLUcl/vUcSXabRYXrJsiWavNe/4wNBwCeepgH8LbutGRWJSOchd9u7p6+hni29n48hpfrBlydBgaAgzEe8dzPKESwy1MLOFKwEm75wAStzy1wocfzqjFHXqF5JbFx7njB2vjWwWvEC7QNIRmT9WRAAnsYXg8spYpO5KZFLCiI3kXakIuHh/vn/vam8Q+ABTkFx+AgpWT0mGK/3kYxXz9UjJ3NI5vs2GcDs71NfeCyPFNrXXRWyuk+bMb5u/xZB+Ckzh9c9eyZcYIBoXgQqvAtmLEc96NrVUTWwlyCI70DsRzfNQ3HNfM/iofgJJ8qDemM91H7dKSi/iCD8DWf6Zaqh+AF+8l05TqRtu8FlERUQvSmohraihhCU9y4QKLtTY31B65prjZfRd3fWQN1a6bWMH7GGvrdD+2fco5wC/TET0HWkGkvX16d5aKy/Xz3FZYAiqrnm3/QlskgzM7rzAnvCSZZKpkM7S0x5vecjGsEH/abFGb5YuewETrzAER0W+uqoUHdjjsugK8hCaX4gWQItj1xMGvPUVVGkQ2bFnszi5+XERxJAxuowhoyizUoAuqfDystXY3O1PDV4ZcDyhmsTLQRDGJkTrdtYozxWQ/WkDalImwg/mMiovaZgeiVA878yoik934OGd4dsGxPFc3bgO0S/6gDkdXFXvMODT1OO/dFA27e0zVifGotHPWn1MIC87Png2o77tojTGwoxVmxqRFXXtCk+1xU90ZBtKYU0BCiwbVZBiMTCn+oAI2F1opQFYfJkqibJQm0bYJTVMsBSGZUe72emZmT+NukUf1mM5oJfKwakvfIFZlvVxtWCQ1k5QnULDFsFuOZH2la2GGO1l5YpJk6aAwQXgcmK8oJmKQN9LzrlfWIpwBcEgnmQl2c+MiYkaFsiHXMMeFUQbImclQrt8XdZpkk3ts5WQnBRfygjISqTGLTDo/62hRMt//vYeKGvOUfimNZH/4u1m9IOmK9mqJcRM4Bcrx0jk65nnRigm650dKMBuppZOOFlpp07FCzf6bKF6xgacCUT/UYyXTG92U7e7itaZ9oF8GpGXbd313q/clM3I8Z2Ak+iXIoldut8Lu5EgaHZhqzYzftq9sToJRiDtz40/Mf8SDRfi3OY1vjCiVyi0oxOMGsL1Ny3aJjvbz06QgKDDKQ+YSy5pxuJKFZl/R8pbaHSeQ+riI5tpvIT06J7sj6qHbxUJ2QpWVAZsGp5Z9QC13QTNXv3xTSbW9RN+LAqXNTEVr1Emwi7yjkAEPIrAKmWeKTLxWpPL67s/sxqV0C9L6reF1POMXZFS7mHSsxs0XBoNiaWnA/H4HdXvU4mFjd5+ikzXqDjrhae/inVDrj0VNFYtNacdP6mnknYYQ0wH1PHiNkwQNqTOk0xsVzsBRnURMrTaVyhxXapMz7fXHNHv1bryQCLbz7VHC3bjdAq6kvatH9B99UNO809Mkmn+tlNd8qZpLvCaoThCd1Q5mESw8VL/qBWp9lfl9ls+e6Hyg8P4j/D2H8WeOIjF/QchkhPVWZsoPqCmcvU48iywLJ94q6EjgOoNqAinxxlQ+RCsBh9iR8SzzMZOlh905JyhDv+NCyP0DsPssznZ1hix51/uOQvzp8ryZCOPB6/ODaf/05bn+cLriJNo/9PYfnsQJh60ogRVdaB/ejMJYPuiYOIxKdgYAQHVHi6xSdYwGGnTWQyzjkvwhU+gDLeRBGQe1jFyFzwuPXmP4wi2laZQGdVWGOAvAynkfIh7k+5rqJdmnZaH6hXl2ie0q5Hkg9GLCB8Am4e/+mC5ZY6PU8rlbdMU4WmUmHtFQcJK4zPQF81mh4mIjvHR6jdY+IUosgju7VWgGVgKh+BBTZAmAFXPiAwBw65tsmimTuIy+VTLbJiTrDeOdpGt+2YtNaGGW9ETSW2GfAv6+qsG/gt+ZcZc5CYCOCgQsUZKdkYxH2lZu5B/NDwgoIyTuWuB4L2/WsQ+Z39lAfY4t+DJOtjsfZ67r1p/LpTdAzF+vL7RzXxRNDR3cUdR49kZ++aWfoH9lY+Xs8vzbvtgETUsmhCX9U+vYfLFvRWrV+RwK0DPT31JgnBFyVMM63FsO5pkERH5ihaGIGcIyGUx9/QBUPRTEorgnH9rP7sTDHk+LqfwmqoeeJI29buDyhxvTtGq1amKW07cgkm1rF1yd2oTz671RYnQnKOHDcPA2B3cmZayQboXr1ArKUH0AgKsgSwS5P5wbo+7cPePEmPx9GW7PA1VVBiOHBivdaHiNwRttNWpFFh54lWrAzK9xTFLWitOs17gMolC8GeOiLagVioL/ELLEf+8ZYMpBGQl0XL7aawHZhJN/jNBf5b5O0lHKWXreGmiBt6iS+7oK3DYX0c+Sj7P5hWg4JdDAyh1MB8i7GLE/tpf74GHv+kD0H4Aov4WTd5IXwQ3tk/Wfmcn0/Ja0LVa1B8j+DcgKQUwzjmjLxzgy8qSf1QI+VzI7cWNRJQPzzEzcpAxoDy32qOywqbGTpxnYubhvfeSdnKXA65szq4VMJAaplc6uQChCTnqpKCF7DQbEaaLoWNpUdetIOVQb5MEOEBfyQ98QptDFHl1BtooUPxcWW1WJ3d+8S54ij2whYgPahK2sMsYefqY0waJA3HiWDByBTjqSuBVEQjrWK30okHFd3xZMsmQeB7EVqkAqvWA98/AB4QeAZv8JJtPAHiWLv9YuVe6ADVkua7Rxrk8N4I6MU4iyvnJGncwMqVU1ryRWr/iHC3d9e30vqenqP3wIevsh1cUShHWsy3JOEaTPlmdDt7qc3cw3yq9JXCah9QsxA0AlMZqqr/WERiTHmAzJhk1qhcH51ErfcmyB3d2jim6SS7gW/Mn08D7YMPCHT9fC2X3A++QTAaUJLSHCzuLUJSpzdDdnyU/fqZHw7in4YT3CnZovoNay1dYzOnx5yygz6CHMBhTtgvuUSpqsQsaTQx90l5EXd9TPx8iGm1e3dxGkKvDb8u5+22ZP/jP0cSylk81gtmoOznzEjegRWq06/SgGbpGIBQj491bTtMsnHudsfbeNC7coZJjPlYDTNE/WZyEzvYvo/Y4RBBHBt2nOgihJh5FCSf5dtLe3orfibzUvzrc7G+f3PpfGaTFX8J9n14Sxov6OkEumc2crpFInDFFheUmb3L/f9+peZ1TT/7vTTFXRls3Tw8jBptOnfcq4KLvcWaZOH99tiT2lSf3GMMGhL/wT1vEr5wIy17TMjMVsNjclJknIIaNlhIW87uM6xAduyG2Ddo0Z352SILPUmoV1pLSvBJ+U/PgzLta+7u74+llMcYlBMESlU4QWP8lHylfGO5bLE1ad2GJgOrnsK17GkXE0v0ohaSiu9RQtd0WB4RIDRvRv31jGI+z8vIc6GhLWFLs2SfANWWpRO8q84dDZZpYC9eNP5l4rBjEtBmJ6Lx8q7IUEqNlr3x6rnKE0mB+GIqJ7C/v7a0DUXeH/ce2ugrrmq6ROXZ9sL6pTCHtGn8vE+lp2cyLVC6ZMNaeQkaNgt+p+EsrajgmWAvEOzTwhLgZto9h4VlWDRF/WpOh2zpxcnodtGSmMWnLHB2C8DiLwHmyHcFvTYrqrEzFOxvABYKvu+WJ6Jn8h7mqwpc0gyHicsYEuINCY4urjyu/YHlVBPmDr5JabjRQ4kb4isMb7FGUkZn5t3XZmnJDO1drOKSzMqkq/8xOvSTVcTmLcWVUxHu0HGUKqENIrVFfEWVjr8gfg2cJRz1LnxhAuXrKomd1lCF4MWdDEakSIBQ9dBpbKkwSRm5TvhFogtQsJSNmN1MBBXogroJc+eVE8YqyOz30YwV/1Bfe1LMyglGqVDVEjkhkdmQ/5WnWYWitALZeFQQhI7R3mz4RLrBLKk57ZY68IxoxnM0gNH0NlujMUc8O65r86vw+xfe/90n9yt0TZn6Y56fr6+guj5gOQH4h3+vpc77pweffQYec8NtNQO6/CsOysZsxI73AcfsVqg/7EopBpZ7hTqYiTZBUXCOQJx0PSTwoy2LXRwPc1MFRQh3MDtY4lSsoGl5lUqKxFuMzoLKgwTDI4XrCv6B40x1VekK+RG6Zd2wBdpba/m8AczPwpjsFLkCmeFWbeHiOCUSrI74yJuo7hOzaak1/9WVMjX1vvxd15tN9ItdWbWGFG2fMmfRBIYhXHIo2MGpfUSgxPoM9DjTcLRmuEyZGGDNvrk/HRxtFU7EvvV0CDukZQGY3yMx9qxMQ4NvjaA93Ft8iQtWFyPwA1eEmuPZaIU5Ckv0wo9DIwAfy+dU5kT4+VLQx+i6XV11Ya+Csr97agHu4uz3yp5+2TIhSMRTeoBbKWgLAOdbaN7btfggsX5GyPZwIRZa1WC12WNrPKyer1qgzz/GbJtGFNgvMXPUbaSWHbUr/3qbhI2lpzr9Sv1RSgp0RBVzWYEHkFbvquHkZHs4lGEF7qX9g7cBpirIl5YpUePlQ3uSKzVhpBDqXBMVxenLD1Vxy5A8etgl/MAQ7211cV/3ARBsdDzWJz1lmUoLG8z0QTpBaefk5JlGnfucU683YFK6Be97RptbTHTeb/RC6hubIBU3+0Nxis9lBX+H49v3k+f2W7NTy+fFs5t5OCrIRtyUIaI+Nol6c4QdPyREOzSKuPPEC62XBnFUtQOEeGJTKGi3z6buwiIxcQF9mY8KDB1kgiaUo/ldXP1RsZ8e/dYl17obEsppl+gyz7L4d0OHkSElArktAVUxPjj4TwLoTAveOtfFo6enOjnkHLoT+iSXFLhQ8cmKukVIc9og2mFsoxy5eNiLsRmnG3CcIK10SxjRbr3KTPUMjRNCYWgb6EB2nNszukc3T6Ia+cowaqbsqm7zzmNSHN35Knbwuu78J2CidB3UNIHZyR1YgjPKRc6dTOStMyLOvHF/vQk+zNQv7sOc0NcElXB9yZ9ikt2apnHZxSDbMEvF5Pnvz3e1mNFBT+7VHMI5y4jt1l7ve/N+EI3frodt/11n/FCkBZINmwGhXCk7hhGoNK5xMIvTBoe8ucbZl6mnvH2rgrbehSUn8vJbpbKUepCE7hglbqWzvY1PH5UPBr+QZHhtJNpFkCDY6Z0uJgzNmTq7vaWrs6XypqVmLWTJlIXCn8imS3UBYScSjtspxgG25PsVrBqi5CIvX8KNY+rADkHti/OqpGpdkQGY6kARVvf2zQkWyaW/fkYYSXnbOqbHoL8Al+Qt3YF2SfDJ1TqB9/gPrEwv8z2zR634a0qL1LWR2R9iV5pTcKZwaoRsLAxWgZ9SypqthOvcxmPEjsHLlrcNWYe5xDaKEHjVVhlsQToHhIXKaYo3b4+HzxO6Arjjbvygzs9iVd/JvR9UX3IKNR+5xfENX2BFaVKzAPGXZijlqmMDN2rpK2fUKDTlkPSTWP2wNa/98qZMaYjgxAYW2ObB0CwA92gQ5e7RHAq9tfYludvFF/kEIQvbKhRBKEVqdKU0esz6YIaVknLxSjyKGNiHO+Amk084HhQRvEhfMpADSErfkIvAvT7mYwqbpzZAmK8pyo+B4R85gQ+Y9DmgIwXQGDZUEdqwyuw5BSKzaD229WudHUilIsBxKys6I1Zk8absKFihp994mJwzV393yE3LsAmywkV6ty5wnCnwZZmsusU6xoR6QB/P5gZ+77URqx7iXmRMt0TqFWJcshvd+GPCcyLt+QSH24trbwll2k3ZQues/5xZSEw78XEshZH8/8MBqCY1HNA9pM/PyUka6fYKmRXcqsBq2djvNLiFqtJV1i/Ybcw8vOsIT96tbJFZ4hXfSn3eYFRkf3tNQo/Nge9hNqIMYRfGQ0qi29ky9ui6UqXXoAkrgBj9X44Zw02RL8KQySuaprBQOS95Cxs4HDKZqEy5iD3PTANZL9QuZBBGJR/DWYT6MZF8CsF7bum8rZthFgzbA6vNDJaO3JhWUBbUlWCGu8RIRDWnQXbPtWFKb4Nzlxn8D5c/jkHJtV+qE+bhbJe7CvuRv1cVZpLFQSl3qDhMdiDYtMB6Rq3p6NFoYqSEcb05NmXhalyVj8dZqPXW27PqVhzyFyCFGZxI7qklHWPZTe4HhznY6lQDt6kKyBqkrHD2AbWxZLH2qG0Xy3UAWT2/v7dlt5H33AO5u+Via33LLgukFwh4mhYFfb6u+m3m66ralXqHY0bWyxJVgRj8IjgWuaCIa4FbobDL5MrwHV3n6pW1ekSxehsrGyspFq2b17utvVVzA0yC/AzCwbnFubCwjXoJJIzVhm1/NnGmdcSATA1aeofEZhJ7U63ZhxXmU8gQ0saWlUkOZ2wcxg149qUWTW/CH/94ldcVqt0HVGFWluitu9sToMqRX26s9S5IERGslCjaU7wYJ/TZCpEJ8NE/Iwv6+Tek3Hr0NFsDeKkScJk9in9M5HR4otw0EsAZgEojj0fJFeBfoKBT77fDLLJNWZxK9O2hIN5j3/05FCsUN4YaNXmSs75PIedC4HOxtQWkBmqx/Gs+j0FCybs6upd1p+GH3gispsWJbrycjV3VWuE6nrHMQsl6YUb9norexsk+VGTGb86/RksjDuzfQ/YsdGDOZvb0K9RGcImHLnuPWW18XkxcqePYRDn8ith9g1df8s4PpSkPG4ax1cv4iE7Y9Jb5uQ0lUxqK5GhSoYznUQlq7wHfVEiTiXMuJhir7svB/+dy3kJ4ojjTcTzgMlHTJfTwV+Ry1C68a/8puQ+B1zVo8VHwj7NOs3IGxRIDBGizFFtRk0bIRZDfztwJXbSM2HwKqc5j4xECdh3rj+r+NTwVFjk5/GE60gpOsDoPAf5WRtPHp8scYFpx74pVQSboSCMCyTn9YCkSPkCJESvwEfK375MhB6n5W6r9ExUewy0K6+0uCPT7n9fevJdR6Rx103BqJlkA6EmYrxF32a8LDFdMPMN8TUPHfiuL7BUe4qtmMMziWmNMLCKgTSUnhSyjs6pv/aQYb0at0hkgn0s1VHfjGzotiMVqsfvsP/y9Nm9N3K2WXi+1rWX2W6Mcyhak5FrUDB75/3FbLLA7/IUjr6p/yUaLlXUmtU04IywDtXZW2UxVbQZFX9U2mTn1h7vztWFeLFK5/agNNlSFbIF7YHFYla8CmNZEij4RtT7gTtt2YkUaak3t+qfztFrBwsgV9VHqzXBtBVWWbomqYZN+JJcrZ0Bvog/4tLlT9BUOdahkwHiqjzSDwW9QTrKj+JvUW3qLaUl6sGSq2/g4VyZg2cVZ3qcmRW8gGrv68Q9QAvd7WbRyufr+If0PNJf+YjaJre2jdpfJ34AGsNxTCC5gVmP0DeRrdT1yq61MvW18FE8Y/R+uav4gAG+LtK8jQL6Rnl0gwkXrPS0J/cAWl+TwdRljqipJnnFqs1srQCpUP+LZAyRHp0ZBfK1AL8A42mZA5hLbdXWAYzUayeoQ4CsrkRDAXjpeTBT2v6o55T82t0wwjTXShJggntw+ibjrRr8tprShpX3KOypvN4PxTd1k3vZzxRveQdyVvhVQqt/26gjqLyB8eFLqY+du1b1g2nkX+SpBjj8b2+3zDJbSjqFvzG9/1b7wz7TP4uqwLXsjm0L5KTx3EcY6XKOfZI22qEMDVrWjnzJpXR3+iuvrcdiqEsqM2AO8qrnP6DFpAGxMO7TVAYMTPa3DlOZwnJ6PeJ84AajuQ14jJRcg2UUQ2YKasDNQp1zd8cKX5XxYK31SEocOP2/vXnztLpq0m/NXRm1f8OCGm+pgF8MSlGtMcl9230nfux2LIjrTzY1FoiQJvrKvvMetcYib3GXb5tdXqjPORRc6lt2XEXJ7nfz/d1jVEt03NksAL9DQtO3I4FYF1JLmVd/d+SgnvErcnq9paTPYPgVNgBei9m3j0CVjEkok4RsDaF0URWUNsCAxF3QiofElpf8uNVTrVo9pg7WNO9RQNcPB1P26QRq6iysBkGpbXcd07MizGRbAzIkMtmcw2QC4NiwfkqOpj1J5J82wOPqmf4+gChpiTq1Qkbhnz/Ba17TSBiqvcpWHJypT9bHxIzD5dpk4HFfIEHbxScSdO7wKpYbSRXrUwdwfh6OnFJHcjeaFG4//2FQ1zhx7yTk7uPcW6HlCLyfCTwF2WofJGBOZt1gyoVZkPn+DP3IkOLVSFWOvQABVq9TmNAFUsOs1qHxxICi16LPqhOp9EgQyYgCqhFSoOmVnojR5MiOBe7oIwHJoykMtLdeBYYLSFyh2Lg5hmLTuGuA0aiVXWXLYkSajbPhcKGQ5j9enFVEyJd0/WWyFvMj+oF8cXUYyjciULGBPcqEhOTw5SCZlOSOP2QM4PDfFEcVSkdgxVSZm4TsFfo7GIp03gMxoxs9JzZY5MueCL2/xZ6RxPmDXvA3pAJRZ1STFf90k1NbIlaJ6P1TxSKtIr8lc7CYWUQpR2pnSI+Gg9a/40EWhXoSMQzhKkxLTCRRj5g0e/g4DpzAa6KBc1w24o6XeKAZye5RaO5W7zMr7SAkhjj2IPdM3kRFMESq5Jg/tS6xNokwr1NQ0J8fHDLt9rvlY9NS9t8nSKm2x3c4scpV8vjkkezM6sdSjfgrGQStlAFQo0elljB8aWeTxVmqVQ5ncSIzw++3PqFJLpvk0IkwiOs5z8lj7+CXIik87eoXRUUh+Qxs6xYc68byvwA2xHke0S3WUyTcBbTfXEGr3F5uVQtvje4wpgKIEkbNEmqFrr/JCF0seD+uauboPefHwCBzuXW+/uX4E/yR+9Turz/WgT8X2K/K8T1YePq/o3gPvD8tOMTXuPrlxCCu8APAJ3nf89t7hu3QUHBpt6XDoeZGAtXV08hYuJi/Vvr/5tP/p8RFNx/+dihTZOfnCuK0V+R5cRfSYS3/PZTD8/lMvYL7PIZW9FWTIjgnGoB0UItNxq/mwDI7prVusqObClxCkzjqqSzLrfkGLDfNTb35Hz5sHH9YseZuW4MXD1nnkrJ5bFzZ/2GcQDCuK9umUgLnyAnQeWdTx8vd/2jokuRK0dAqFgqSZco9L21njNiIbMdiMNI+y3QLkeksMD9j6EmPPZqTJ0Jsz0SLFaEp7s8JEgNCDv6ZMXHxfeTjVkRypn9HqlcJdGaM4HULGQ70g2VF97R/Ps6Ul1v1J63nqeTO6wvPSgcLwa0rYXPvwaGghio078cjC3YvKRRxvXhuTLKJfVZF2wlUKJdwz9ER+AKkBXVMJHRiQR+ZeiHsFGp3fUIUmZkNfXSdXQIiTDBOmHkuyGaorqyVr+2Z3H50DGSXfXIThppE/MgJBaQLBD3SvLlmy5n1OcBOu1A146vNyaVMYRZxGd5sUnkJiN7mFGOzEE+iYXwQWVYrsxDBFFFYV1sgkZwfg3tc0UHBA5JpjvnTFv0lRf5bW2PtnyJB5+8PqdIV0/Tz+Srr9IlyilcLYSNM7S4A+hzPJHSQOuzLCAKztLt+wY+0g3SPNJCfRPDFV5RXjad5bP5w8RbdOdkBVzCtEDPeDzr9DriA2A8H3d7PJBJypqOULEq1Dr2X6++S/arFf6H1Zf6DJINjfIcflGeJq3VP5sdgmfceKVuMvbIc18pfZon1Qr3kll1mkMpd55W0J4CN27mWwaWZsqbTDskOqtri3eUWyPFaumwCcWHK5xn0Jixqllpq5xR4z2KguVtneXUrTOzSB08RtRhsw08wnF/t/g0B/fc/TigBchsdOZLYmYkmigY0RvcpJlQ6VJSYUq5x7WA5OWFoffR4EBmANHSZX0b6NF7TPSeyOho3K8Tv382bpO2/sHG4x3vKTAyyoyFfUa3H+amOx6q1EH7YXyEXJKztlDZE96NYnDQ0p2KT1LcNQcTuMr9Eiskux8hDsfIhX/rULk0aF8M9LtmhaSoKY1YT3H+ihy3HL7xak7hLMfgrK+1YWSAEg7Dc18T2gY8fGG5LjeKmqa2hV+KM8Jko+1gXC5X02h3WMgnQa1YYKK0wfanh7/HssnkApi/u8kGBpzeqTEB/4Hv+2VKimv9hkSVyGtQsPDryVKlRBbw7kSzXCpOaHKZVcfdPr1SIbeFtAyYhYAIm1oYLsGjKjgX2poAiOaCpeo7oyjP2nUanrgkfYQ/iQWLTHz9pcsrxYtMk5w3RU7B0RwLB/IDRvP3N2XV9vD/jdxgsBEYMI/EZQcVK6DGNFwu9Q1XU9HZuwXF5d5LLnEklgrsNvDROAMtmmGDMY1veAviiNHkLaUApL9Xy359Yw32oGTvMttk3QLOfrIU3rrGvl7hP9FJld6H6SrExWGLGf+GY1hijihJOyq4T0oTDoUUFT5AOEBaeqIfQTb1bofUvagbYf89Wsh3w8Ion4EkQnjM7YgyVzL1SwhTPzw3HNK2CPlq3Q4F5pzgF2cNGFhgpUdc4DEwY/s4U2/koccXzfS+Jk2FeF5udEZEvX3VFY1ZIhEdOl6hajzHyvsYlXks2xGdJeXL2oTGZ96CyPmpFFlSMGcLQBLuzIwjoMKlyyAYJjr9mPBXn0e2TRwARUhYuao4mYdk32rylVk0hr4bBXqMNIrL8WqNDKxwex63KXvIhBZpmq442Vbi6ekR6G50cf27Z21tWn+qsIh0qbhvdNAhA94hKiGHhXMJmMXIa8F5h5DPo8KpSxSOebldKZKSzOgbk6Hf4/7FcLhplkuLXUYA3CZTy0z9aEgRORV+hK4ippO56EAaq+qcFU1H+Jm6gEPJvNY5iY22QplVRNP9CQQhCaKlK8j2yaAcq9DxgI59pxucyt59dZv3uzSjocx9JQIi6BtUgnKdCwqPvvEQIaszCUYmD1BOYZJxPvuWv4zh7N1gUu4s9SC+trfKcviGd0IgSkuQ2ENsd7FecPBEalJgc2WlGGBDXEiAbzKzLo1LlnS/gZ3SGcfeKakIZkRXxab4qpJxxmw8W75dJGBdDz8ju+qsUwkRpGqbaTz7Obplr4od0UCHkqypSFw6LfdcSFRSrSf10YBAO6317DNtGpd0xbfrY6VWfEKwftayPM0XT1EkQ309fczig4uz37W+LfZz/zq6tujvn0HHUg7DBcKKl4I1G8bMMqyKlbiyUR30j9GeN5rcIzHign6l/LJ9Mj/eoRSBhsC/xd38ltuHI+h+IfxEFkn5ZKIyevIzblrZmHKGxPIHhzO9waekqxf+HwOFWdgilcbc403TbXm7jXKbaQS2CoUGJLgyv0UYafdIWoXgYDOmjOzjTsy/v6Dw77ydzG7AZ9U93au3Ci1LnMPHVanWbUvh+x79bbbIRbGgHRCyjD9UyFPXcwTyjhKWqWwsMFCWoUrCOQ4Oy1P88VvcX4FzBGaOO6dLLLrIz8zENuT6+E17Xs9/Bw/Q1Ulhb2mMJLDVkDV/j1/m8zLBB7lnI76EDzJpVf0P/93/p/GvgPhfO9+d0ypGasvUGezuy4NR5jGxyKHaNY+JulApsvCR6vKxpyqKdDUFFVtFbn5IkmelPc6qYmr7QTZShpK9HDF/uwIeYgfdXEKwsLjvD1O0wLxj8FeentxpzhSdYlaJ1H3lx/loUL7zhDpOqlA8ARdKAAcleR5ufhb1Fz2cpq2UNF/VwoBwzf39/auH0kEOpj3SxgibptUNXkv9Q7pxZXqjmlo5hbifQ9bOFjeojAIGgzRSm4eFbai0v9Ld4xoUt/UiFUAkJncr3j+WhxyaOs4Tpf6K5QwK1gjLAvDEIxcydlGxN3iKG37gBjyerFgBSS3ZVwDSFsWWJxvGmrEALuGhRICsw6hzidwsmX6saorBWOoNerliFpxEahudx0+XUSQMXhgsaVKD4IMcqlhKTTcTCMPURAaUQK4kUyhLpjlVzs7c48+U3cvz7bf3+GCT7dmpjauggA8A2cmqCMfczqQOJdfoMPz339MNyWmW8JvZRELw3OPIiMzbVHEgjuy4xJF0RrJeEw2d3vR38+WuSOqWciiBcPD56CX1M9hhw5aNfs0PxQODZ572lIt0cBslhFYaaTsplaYxBTNqWzcCzPOrElkUNlcqzIdKyhMVg3X/bCLHnbuefdRfk9aSb/DTfHgXharV31FJbUvMImt+dVJPF+Gx1cPlfSfvmEP/pD8xjqv2CljBqxE3GJM/RaEtLF7jXRQV1ZHo5rp+OtEr5fJVQpMgMmXQO+SMmxrGSmHG73L1VpZKleIjajEIj2Zjgh4cX4OCTJfOaxxfRAIuz7r274MDkH4k3VF4WuMhAzpdQTLaNgvKfGIHqaJM3FjhvAuqeDnxpok7sCfG0W4N+ujheoqysOnIrK2a6XoiGE/qm6cfgNOCf5qLdf93CgeAveSnncnkI9MPgNHOi83C7N8XUxy6E9XDE31vX68dxVbDBsU/tl/OLUnhUJuRm2FR0CjNH4tiGfHu8T4AO6lr3BsJzRcVIBLkX65AJM5CT54pfJnW1Al//E1O7LaOLJpE28QwWInSfqmXYgtLw9/f1Edo5AIctyfTkD6VswjaMGspfo3mGdvdjCjgYTdUo/M3ZDs4y6+1DZBYPGA6+2pXChQdTroZ8UpaG58jO2RSsy1wfyrmQ0gZ3eOdSmhw7GqR+3nUe30Ib0QS6XFv68elppa9EM/VMEvdk9uuwygpB4sFrxslrUVZSympit3kfOau2yxCiIHpjfe21f9pOvDhzuSt8TnwRcy4z6cmZO65nyB45e75xefu+TKgxNn3OO3Q0DxJqpS4oQJxDF+P3KrCgp4r0UQDg9O48fhX24qItdkjmzmhbcX+kriepFnKP8UdsIHgsCJjYZHs6LdlPM+lqPPXeJ/sFJZ/olequYFqDd5ssk4VbxKTzaMXYZca3B8P8i/7+2SB+v5iur//enlyv9hlNwa/meeB7kjShLa8Jg3PGXhrOTGTl5rl9w19rVEhGkW0fcKK0elIxJV2ABEZJlGPAR02fqV5403qvFauyI1n1CalcPsulk8Kh7akK34ML/NGe/HQ/lhJ2iySXQXF1tLbKoYdyQxJhx9+GA8h/DAesjnKHO014NM/+1ZSf/wsVty0vY7seQWZ26nxQwTVXdzMkArgUNd8147crw4vbvkJldLISlfkkU3t4sMemIEq0/4DTbhrrLvQeI4oujx4DCWe7GWjFQk60uJPkC/5vp6XKcWABZr9GnVqrSGKkQkTsa0CSRSLJuqXLGb66uzb+77XylgNTAlRqW5Jx38CvDMTuTFGm/7KUF2wZZzwhPeeHlzTPTN6OqJXWZNYA23GXqfsM/2NgJUADmwvQl6lnbKSSB9qxTY+De+HDgeG0xfvvSy5Y9C7b8DE7tSEsQD/KSEAcvCE0k5iLtvHM4JTZeC4pn5RBwDrKKd0JK2gBvvUmUlIXdIQV2g0LGAtaRk35isGnSInWJUyv3RFfbWyNycsvL0hnDR0KRq9Wz1YhhLBfAfvZe8rDK0CM6RjoCsmTP5cw3BLaWDz8Q2SWxmg6T4iQutB65shAgCRAACbWSgUWqNZJBXGP0/HDz2qjsaNjj6djpDv/x+42aN/Sjnu+/H2aefyQffTp+mrnf3b10k1/0tWB9WvtvUlQUcN+U/57DWT38OsE7mSudkWjTJQeetL/COdDw+f5Ejdo56KOaCi8znv/2nVK7YDFy6H+eWJDhX8ngcb99Qtoa1Lraeu9GAsNZ85mxT9hjQx2TgbTG8SsM0yuTN9dLQH6t/6qrkz8WZTvar+xl47ZJB0BFvjQB27FLZavhA1A5XkvKcwxYTEIPrUym5LelItndBt2tTdAyRIZJNX2bb6IbQi0TuvWSUfgBrbnQ8AuF58PrwN/IU2iIM33z/hitwyA7A3BD0eOLuGJKQYieXXZE+Q1JhSTIPgeog8qaqhG73cjQz4ABSZRER5TbvFwHExZ58TmwUaFLbj8xmtcDqxbnbUlKK9sGjNMU6xp/3ObdiIhUzMtVW6alBtltG0quEW9mxXIYS5++IV2u+GyPMQ2clVyBZiwzZjvupAgVw8CgDlmpiY6AZ3pB4ZxOQTSILmfKtThPXTRtbRHcCKpAdNQyVDnACdbLnle59KuifGAuK5GldXORUQ1WZlbTo+0AryCKJ6RGaEukKUOt/U7QuRyiT9JwavTh/vHu7eVTdf/t//Qf5/C4yPtf8DUvQX2gplbmRzdHJlYW0KZW5kb2JqCjI2IDAgb2JqIDw8L0NvbG9yU3BhY2VbL0lDQ0Jhc2VkIDcgMCBSXS9OYW1lL0ltMi9TdWJ0eXBlL0ltYWdlL0hlaWdodCA2ODIvRmlsdGVyL0ZsYXRlRGVjb2RlL1R5cGUvWE9iamVjdC9XaWR0aCAzNjYvTGVuZ3RoIDI0MDAvQml0c1BlckNvbXBvbmVudCA4Pj5zdHJlYW0KeJzt2jFOW1kUgOGdIMRCkqwC1mB2gFcQNhAWYPpM7961a9du3Vp0mSPRRBpAnvkVSx6+T7dAfu9Zt/p1zzO/fgEAXIbj8bgDPqXD4RDrsV6v7xeLm6vrWcuHpWVZn3B9+/J1CnB3e/u8Wv3bqmy323l8vmT+KDkC/h/mcPL042mS8tfPnyc+MvdPRubBP7ox4OK8vLzMnDJnjJlZPr5zJprJyH6/P8/GgIszMXn8/vjBDTMEzelFRoCP3d3ebjab967OXHP6EAR8WrvdbmLy5qUZfOZAMnPQmbcEXKIpyZu/yMyHy4fl+fcDXKKZX55Xq9M/B/in984eUxIvSYAT7XY7JQEiJQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQG6D0ryvFqdfz/AJdput2+WZApzv1icfz/AJZqDx5tTzPF4vLm6fnl5Of+WgItzd3s7x5I3Lz39eJp15v0AF2ez2UxJ3rt6OBy+ffk6Y845twRcnAnFeweSV5OauWe/359tS8BluV8sThleXmPycXCAT+j1d5nT34FMRmYIWj4spyrewQLThMfvj3PG+A//dTYZeX325urasqzPvOZcsV6vj8fjn8gUAAAAAAC/+xt439y+CmVuZHN0cmVhbQplbmRvYmoKNSAwIG9iajw8L0NvbG9yU3BhY2U8PC9EZWZhdWx0UkdCIDYgMCBSL0lDQzEzIDggMCBSPj4vUHJvY1NldFsvUERGL0ltYWdlQi9JbWFnZUMvVGV4dF0vRm9udDw8L0YzIDEwIDAgUi9GMjYgMTEgMCBSL0YyNCAxNyAwIFI+Pi9YT2JqZWN0PDwvSW0zIDIzIDAgUi9JbTQgMjQgMCBSL0ltMSAyNSAwIFIvSW0yIDI2IDAgUj4+Pj4KZW5kb2JqCjMgMCBvYmo8PC9Db250ZW50cyA0IDAgUi9CbGVlZEJveFswIDAgNjEyIDc5Ml0vVHlwZS9QYWdlL1Jlc291cmNlcyA1IDAgUi9Dcm9wQm94WzAgMCA2MTIgNzkyXS9QYXJlbnQgMSAwIFIvTWVkaWFCb3hbMCAwIDYxMiA3OTJdL1RyaW1Cb3hbMCAwIDYxMiA3OTJdPj4KZW5kb2JqCjEgMCBvYmo8PC9LaWRzWzMgMCBSXS9UeXBlL1BhZ2VzL0NvdW50IDE+PgplbmRvYmoKMjcgMCBvYmo8PC9UeXBlL0NhdGFsb2cvUGFnZXMgMSAwIFI+PgplbmRvYmoKMjggMCBvYmo8PC9Nb2REYXRlKEQ6MjAxOTAxMzAyMjQxMTBaKS9DcmVhdGlvbkRhdGUoRDoyMDE5MDEzMDIyNDExMFopL1Byb2R1Y2VyKGlUZXh0IDEuNCBcKGJ5IGxvd2FnaWUuY29tXCkpPj4KZW5kb2JqCnhyZWYKMCAyOQowMDAwMDAwMDAwIDY1NTM1IGYgCjAwMDAwNjU1NjkgMDAwMDAgbiAKMDAwMDAwMDAwMCA2NTUzNiBuIAowMDAwMDY1NDEwIDAwMDAwIG4gCjAwMDAwMDAwMTUgMDAwMDAgbiAKMDAwMDA2NTIxNyAwMDAwMCBuIAowMDAwMDA1OTcxIDAwMDAwIG4gCjAwMDAwMDMzMDcgMDAwMDAgbiAKMDAwMDAwNjgzMiAwMDAwMCBuIAowMDAwMDA2MDAzIDAwMDAwIG4gCjAwMDAwMDY4NjQgMDAwMDAgbiAKMDAwMDAxMjAwNSAwMDAwMCBuIAowMDAwMDA2OTU3IDAwMDAwIG4gCjAwMDAwMTE1OTggMDAwMDAgbiAKMDAwMDAxMTM3OSAwMDAwMCBuIAowMDAwMDA3NDgyIDAwMDAwIG4gCjAwMDAwMTEyODYgMDAwMDAgbiAKMDAwMDAxNzU5NCAwMDAwMCBuIAowMDAwMDEyMTQzIDAwMDAwIG4gCjAwMDAwMTcxNjAgMDAwMDAgbiAKMDAwMDAxNjkzOCAwMDAwMCBuIAowMDAwMDEyNjk4IDAwMDAwIG4gCjAwMDAwMTY4NDEgMDAwMDAgbiAKMDAwMDAxNzczNSAwMDAwMCBuIAowMDAwMDIzMDE2IDAwMDAwIG4gCjAwMDAwMjk3NzUgMDAwMDAgbiAKMDAwMDA2MjY0NCAwMDAwMCBuIAowMDAwMDY1NjE5IDAwMDAwIG4gCjAwMDAwNjU2NjQgMDAwMDAgbiAKdHJhaWxlcgo8PC9JbmZvIDI4IDAgUi9JRCBbPGIxMjZlODIwMDdjNzZhNmUxNTFlNzQ0Zjg2MjBmNDJmPjw1YmZlYjU4YTM5MjllZmRiZmQ2ZjU5MWM2MGIwNjc0MD5dL1Jvb3QgMjcgMCBSL1NpemUgMjk+PgpzdGFydHhyZWYKNjU3ODIKJSVFT0YK", - "contentType": "application/pdf" + "nextToken": "NEBxNEBxNEBxNR==" }, - { - "purchaseOrderNumber": "VvgCDdBjR", - "content": "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MSAxMjkyIDk3NF0vSXRhbGljQW5nbGUgMC9Bc2NlbnQgOTc0L0NJRFNldCAyMiAwIFI+PgplbmRvYmoKMTkgMCBvYmo8PC9EVyAwL1N1YnR5cGUvQ0lERm9udFR5cGUyL0NJRFN5c3RlbUluZm88PC9TdXBwbGVtZW50IDAvUmVnaXN0cnkoQWRvYmUpL09yZGVyaW5nKFVDUyk+Pi9UeXBlL0ZvbnQvQmFzZUZvbnQvRUFBQUFBK0FtYXpvbkVtYmVyLVJlZ3VsYXIvRm9udERlc2NyaXB0b3IgMjAgMCBSL1dbMFs1MDAgMjYyIDM5MCA2OTAgNDgxIDc2OSA1OTIgNjAwIDYwNCA1NzAgNjQwIDc3NyAzODMgNTA5IDI0OCAyNzggNTI5IDg5MyAzNzMgMjU1IDQ2MSA1NzQgNTgwIDUyNyAyODUgNTg2IDg0MCA0MzIgNTg2IDU4NiA1ODYgNTg2IDU4NiA1NzUgNjA3IDU5MCA1ODYgNzc3IDU4NiA1ODYgNTEwIDU5MiA1ODggNTgwIDM3MyA2MjEgNjEzIDUyNiAyNDggNzA2IDUyNCA1ODggMjQ4IDYwNCA2NDIgNTg2IDQ3MiA0NzZdXS9DSURUb0dJRE1hcC9JZGVudGl0eT4+CmVuZG9iagoxNyAwIG9iajw8L1N1YnR5cGUvVHlwZTAvVHlwZS9Gb250L0Jhc2VGb250L0VBQUFBQStBbWF6b25FbWJlci1SZWd1bGFyL0VuY29kaW5nL0lkZW50aXR5LUgvVG9Vbmljb2RlIDE4IDAgUi9EZXNjZW5kYW50Rm9udHNbMTkgMCBSXT4+CmVuZG9iagoyMyAwIG9iaiA8PC9Db2xvclNwYWNlWy9JQ0NCYXNlZCA3IDAgUl0vTmFtZS9JbTMvU3VidHlwZS9JbWFnZS9IZWlnaHQgMTYwL0ZpbHRlci9GbGF0ZURlY29kZS9UeXBlL1hPYmplY3QvV2lkdGggMzc2L0xlbmd0aCA1MTA4L0JpdHNQZXJDb21wb25lbnQgOD4+c3RyZWFtCnic7Z2/rhxFGsUnu9JKKzmzLDkgsmQ5cWRZkDhBSEROECIjQIjQgYHwBrCklhaILQE5knmAEd4HMJcXwDyB7xv0np6zc/abquqenp4/1dM+P5VGM9PV1VXVX53+qrqrummMMcYYY4wxxhhjjDHG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WrvdbmLy5qUZfOZAMnPQmbcEXKIpyZu/yMyHy4fl+fcDXKKZX55Xq9M/B/in984eUxIvSYAT7XY7JQEiJQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQG6D0ryvFqdfz/AJdput2+WZApzv1icfz/AJZqDx5tTzPF4vLm6fnl5Of+WgItzd3s7x5I3Lz39eJp15v0AF2ez2UxJ3rt6OBy+ffk6Y845twRcnAnFeweSV5OauWe/359tS8BluV8sThleXmPycXCAT+j1d5nT34FMRmYIWj4spyrewQLThMfvj3PG+A//dTYZeX325urasqzPvOZcsV6vj8fjn8gUAAAAAAC/+xt439y+CmVuZHN0cmVhbQplbmRvYmoKNSAwIG9iajw8L0NvbG9yU3BhY2U8PC9EZWZhdWx0UkdCIDYgMCBSL0lDQzEzIDggMCBSPj4vUHJvY1NldFsvUERGL0ltYWdlQi9JbWFnZUMvVGV4dF0vRm9udDw8L0YzIDEwIDAgUi9GMjYgMTEgMCBSL0YyNCAxNyAwIFI+Pi9YT2JqZWN0PDwvSW0zIDIzIDAgUi9JbTQgMjQgMCBSL0ltMSAyNSAwIFIvSW0yIDI2IDAgUj4+Pj4KZW5kb2JqCjMgMCBvYmo8PC9Db250ZW50cyA0IDAgUi9CbGVlZEJveFswIDAgNjEyIDc5Ml0vVHlwZS9QYWdlL1Jlc291cmNlcyA1IDAgUi9Dcm9wQm94WzAgMCA2MTIgNzkyXS9QYXJlbnQgMSAwIFIvTWVkaWFCb3hbMCAwIDYxMiA3OTJdL1RyaW1Cb3hbMCAwIDYxMiA3OTJdPj4KZW5kb2JqCjEgMCBvYmo8PC9LaWRzWzMgMCBSXS9UeXBlL1BhZ2VzL0NvdW50IDE+PgplbmRvYmoKMjcgMCBvYmo8PC9UeXBlL0NhdGFsb2cvUGFnZXMgMSAwIFI+PgplbmRvYmoKMjggMCBvYmo8PC9Nb2REYXRlKEQ6MjAxOTAxMzAyMjQxMTBaKS9DcmVhdGlvbkRhdGUoRDoyMDE5MDEzMDIyNDExMFopL1Byb2R1Y2VyKGlUZXh0IDEuNCBcKGJ5IGxvd2FnaWUuY29tXCkpPj4KZW5kb2JqCnhyZWYKMCAyOQowMDAwMDAwMDAwIDY1NTM1IGYgCjAwMDAwNjU1NjkgMDAwMDAgbiAKMDAwMDAwMDAwMCA2NTUzNiBuIAowMDAwMDY1NDEwIDAwMDAwIG4gCjAwMDAwMDAwMTUgMDAwMDAgbiAKMDAwMDA2NTIxNyAwMDAwMCBuIAowMDAwMDA1OTcxIDAwMDAwIG4gCjAwMDAwMDMzMDcgMDAwMDAgbiAKMDAwMDAwNjgzMiAwMDAwMCBuIAowMDAwMDA2MDAzIDAwMDAwIG4gCjAwMDAwMDY4NjQgMDAwMDAgbiAKMDAwMDAxMjAwNSAwMDAwMCBuIAowMDAwMDA2OTU3IDAwMDAwIG4gCjAwMDAwMTE1OTggMDAwMDAgbiAKMDAwMDAxMTM3OSAwMDAwMCBuIAowMDAwMDA3NDgyIDAwMDAwIG4gCjAwMDAwMTEyODYgMDAwMDAgbiAKMDAwMDAxNzU5NCAwMDAwMCBuIAowMDAwMDEyMTQzIDAwMDAwIG4gCjAwMDAwMTcxNjAgMDAwMDAgbiAKMDAwMDAxNjkzOCAwMDAwMCBuIAowMDAwMDEyNjk4IDAwMDAwIG4gCjAwMDAwMTY4NDEgMDAwMDAgbiAKMDAwMDAxNzczNSAwMDAwMCBuIAowMDAwMDIzMDE2IDAwMDAwIG4gCjAwMDAwMjk3NzUgMDAwMDAgbiAKMDAwMDA2MjY0NCAwMDAwMCBuIAowMDAwMDY1NjE5IDAwMDAwIG4gCjAwMDAwNjU2NjQgMDAwMDAgbiAKdHJhaWxlcgo8PC9JbmZvIDI4IDAgUi9JRCBbPGIxMjZlODIwMDdjNzZhNmUxNTFlNzQ0Zjg2MjBmNDJmPjw1YmZlYjU4YTM5MjllZmRiZmQ2ZjU5MWM2MGIwNjc0MD5dL1Jvb3QgMjcgMCBSL1NpemUgMjk+PgpzdGFydHhyZWYKNjU3ODIKJSVFT0YK", - "contentType": "application/pdf" - } - ] + "packingSlips": [ + { + "purchaseOrderNumber": "UvgABdBjQ", + "content": "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MSAxMjkyIDk3NF0vSXRhbGljQW5nbGUgMC9Bc2NlbnQgOTc0L0NJRFNldCAyMiAwIFI+PgplbmRvYmoKMTkgMCBvYmo8PC9EVyAwL1N1YnR5cGUvQ0lERm9udFR5cGUyL0NJRFN5c3RlbUluZm88PC9TdXBwbGVtZW50IDAvUmVnaXN0cnkoQWRvYmUpL09yZGVyaW5nKFVDUyk+Pi9UeXBlL0ZvbnQvQmFzZUZvbnQvRUFBQUFBK0FtYXpvbkVtYmVyLVJlZ3VsYXIvRm9udERlc2NyaXB0b3IgMjAgMCBSL1dbMFs1MDAgMjYyIDM5MCA2OTAgNDgxIDc2OSA1OTIgNjAwIDYwNCA1NzAgNjQwIDc3NyAzODMgNTA5IDI0OCAyNzggNTI5IDg5MyAzNzMgMjU1IDQ2MSA1NzQgNTgwIDUyNyAyODUgNTg2IDg0MCA0MzIgNTg2IDU4NiA1ODYgNTg2IDU4NiA1NzUgNjA3IDU5MCA1ODYgNzc3IDU4NiA1ODYgNTEwIDU5MiA1ODggNTgwIDM3MyA2MjEgNjEzIDUyNiAyNDggNzA2IDUyNCA1ODggMjQ4IDYwNCA2NDIgNTg2IDQ3MiA0NzZdXS9DSURUb0dJRE1hcC9JZGVudGl0eT4+CmVuZG9iagoxNyAwIG9iajw8L1N1YnR5cGUvVHlwZTAvVHlwZS9Gb250L0Jhc2VGb250L0VBQUFBQStBbWF6b25FbWJlci1SZWd1bGFyL0VuY29kaW5nL0lkZW50aXR5LUgvVG9Vbmljb2RlIDE4IDAgUi9EZXNjZW5kYW50Rm9udHNbMTkgMCBSXT4+CmVuZG9iagoyMyAwIG9iaiA8PC9Db2xvclNwYWNlWy9JQ0NCYXNlZCA3IDAgUl0vTmFtZS9JbTMvU3VidHlwZS9JbWFnZS9IZWlnaHQgMTYwL0ZpbHRlci9GbGF0ZURlY29kZS9UeXBlL1hPYmplY3QvV2lkdGggMzc2L0xlbmd0aCA1MTA4L0JpdHNQZXJDb21wb25lbnQgOD4+c3RyZWFtCnic7Z2/rhxFGsUnu9JKKzmzLDkgsmQ5cWRZkDhBSEROECIjQIjQgYHwBrCklhaILQE5knmAEd4HMJcXwDyB7xv0np6zc/abquqenp4/1dM+P5VGM9PV1VXVX53+qrqrummMMcYYY4wxxhhjjDHG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WrvdbmLy5qUZfOZAMnPQmbcEXKIpyZu/yMyHy4fl+fcDXKKZX55Xq9M/B/in984eUxIvSYAT7XY7JQEiJQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQG6D0ryvFqdfz/AJdput2+WZApzv1icfz/AJZqDx5tTzPF4vLm6fnl5Of+WgItzd3s7x5I3Lz39eJp15v0AF2ez2UxJ3rt6OBy+ffk6Y845twRcnAnFeweSV5OauWe/359tS8BluV8sThleXmPycXCAT+j1d5nT34FMRmYIWj4spyrewQLThMfvj3PG+A//dTYZeX325urasqzPvOZcsV6vj8fjn8gUAAAAAAC/+xt439y+CmVuZHN0cmVhbQplbmRvYmoKNSAwIG9iajw8L0NvbG9yU3BhY2U8PC9EZWZhdWx0UkdCIDYgMCBSL0lDQzEzIDggMCBSPj4vUHJvY1NldFsvUERGL0ltYWdlQi9JbWFnZUMvVGV4dF0vRm9udDw8L0YzIDEwIDAgUi9GMjYgMTEgMCBSL0YyNCAxNyAwIFI+Pi9YT2JqZWN0PDwvSW0zIDIzIDAgUi9JbTQgMjQgMCBSL0ltMSAyNSAwIFIvSW0yIDI2IDAgUj4+Pj4KZW5kb2JqCjMgMCBvYmo8PC9Db250ZW50cyA0IDAgUi9CbGVlZEJveFswIDAgNjEyIDc5Ml0vVHlwZS9QYWdlL1Jlc291cmNlcyA1IDAgUi9Dcm9wQm94WzAgMCA2MTIgNzkyXS9QYXJlbnQgMSAwIFIvTWVkaWFCb3hbMCAwIDYxMiA3OTJdL1RyaW1Cb3hbMCAwIDYxMiA3OTJdPj4KZW5kb2JqCjEgMCBvYmo8PC9LaWRzWzMgMCBSXS9UeXBlL1BhZ2VzL0NvdW50IDE+PgplbmRvYmoKMjcgMCBvYmo8PC9UeXBlL0NhdGFsb2cvUGFnZXMgMSAwIFI+PgplbmRvYmoKMjggMCBvYmo8PC9Nb2REYXRlKEQ6MjAxOTAxMzAyMjQxMTBaKS9DcmVhdGlvbkRhdGUoRDoyMDE5MDEzMDIyNDExMFopL1Byb2R1Y2VyKGlUZXh0IDEuNCBcKGJ5IGxvd2FnaWUuY29tXCkpPj4KZW5kb2JqCnhyZWYKMCAyOQowMDAwMDAwMDAwIDY1NTM1IGYgCjAwMDAwNjU1NjkgMDAwMDAgbiAKMDAwMDAwMDAwMCA2NTUzNiBuIAowMDAwMDY1NDEwIDAwMDAwIG4gCjAwMDAwMDAwMTUgMDAwMDAgbiAKMDAwMDA2NTIxNyAwMDAwMCBuIAowMDAwMDA1OTcxIDAwMDAwIG4gCjAwMDAwMDMzMDcgMDAwMDAgbiAKMDAwMDAwNjgzMiAwMDAwMCBuIAowMDAwMDA2MDAzIDAwMDAwIG4gCjAwMDAwMDY4NjQgMDAwMDAgbiAKMDAwMDAxMjAwNSAwMDAwMCBuIAowMDAwMDA2OTU3IDAwMDAwIG4gCjAwMDAwMTE1OTggMDAwMDAgbiAKMDAwMDAxMTM3OSAwMDAwMCBuIAowMDAwMDA3NDgyIDAwMDAwIG4gCjAwMDAwMTEyODYgMDAwMDAgbiAKMDAwMDAxNzU5NCAwMDAwMCBuIAowMDAwMDEyMTQzIDAwMDAwIG4gCjAwMDAwMTcxNjAgMDAwMDAgbiAKMDAwMDAxNjkzOCAwMDAwMCBuIAowMDAwMDEyNjk4IDAwMDAwIG4gCjAwMDAwMTY4NDEgMDAwMDAgbiAKMDAwMDAxNzczNSAwMDAwMCBuIAowMDAwMDIzMDE2IDAwMDAwIG4gCjAwMDAwMjk3NzUgMDAwMDAgbiAKMDAwMDA2MjY0NCAwMDAwMCBuIAowMDAwMDY1NjE5IDAwMDAwIG4gCjAwMDAwNjU2NjQgMDAwMDAgbiAKdHJhaWxlcgo8PC9JbmZvIDI4IDAgUi9JRCBbPGIxMjZlODIwMDdjNzZhNmUxNTFlNzQ0Zjg2MjBmNDJmPjw1YmZlYjU4YTM5MjllZmRiZmQ2ZjU5MWM2MGIwNjc0MD5dL1Jvb3QgMjcgMCBSL1NpemUgMjk+PgpzdGFydHhyZWYKNjU3ODIKJSVFT0YK", + "contentType": "application/pdf" + }, + { + "purchaseOrderNumber": "VvgCDdBjR", + "content": "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MSAxMjkyIDk3NF0vSXRhbGljQW5nbGUgMC9Bc2NlbnQgOTc0L0NJRFNldCAyMiAwIFI+PgplbmRvYmoKMTkgMCBvYmo8PC9EVyAwL1N1YnR5cGUvQ0lERm9udFR5cGUyL0NJRFN5c3RlbUluZm88PC9TdXBwbGVtZW50IDAvUmVnaXN0cnkoQWRvYmUpL09yZGVyaW5nKFVDUyk+Pi9UeXBlL0ZvbnQvQmFzZUZvbnQvRUFBQUFBK0FtYXpvbkVtYmVyLVJlZ3VsYXIvRm9udERlc2NyaXB0b3IgMjAgMCBSL1dbMFs1MDAgMjYyIDM5MCA2OTAgNDgxIDc2OSA1OTIgNjAwIDYwNCA1NzAgNjQwIDc3NyAzODMgNTA5IDI0OCAyNzggNTI5IDg5MyAzNzMgMjU1IDQ2MSA1NzQgNTgwIDUyNyAyODUgNTg2IDg0MCA0MzIgNTg2IDU4NiA1ODYgNTg2IDU4NiA1NzUgNjA3IDU5MCA1ODYgNzc3IDU4NiA1ODYgNTEwIDU5MiA1ODggNTgwIDM3MyA2MjEgNjEzIDUyNiAyNDggNzA2IDUyNCA1ODggMjQ4IDYwNCA2NDIgNTg2IDQ3MiA0NzZdXS9DSURUb0dJRE1hcC9JZGVudGl0eT4+CmVuZG9iagoxNyAwIG9iajw8L1N1YnR5cGUvVHlwZTAvVHlwZS9Gb250L0Jhc2VGb250L0VBQUFBQStBbWF6b25FbWJlci1SZWd1bGFyL0VuY29kaW5nL0lkZW50aXR5LUgvVG9Vbmljb2RlIDE4IDAgUi9EZXNjZW5kYW50Rm9udHNbMTkgMCBSXT4+CmVuZG9iagoyMyAwIG9iaiA8PC9Db2xvclNwYWNlWy9JQ0NCYXNlZCA3IDAgUl0vTmFtZS9JbTMvU3VidHlwZS9JbWFnZS9IZWlnaHQgMTYwL0ZpbHRlci9GbGF0ZURlY29kZS9UeXBlL1hPYmplY3QvV2lkdGggMzc2L0xlbmd0aCA1MTA4L0JpdHNQZXJDb21wb25lbnQgOD4+c3RyZWFtCnic7Z2/rhxFGsUnu9JKKzmzLDkgsmQ5cWRZkDhBSEROECIjQIjQgYHwBrCklhaILQE5knmAEd4HMJcXwDyB7xv0np6zc/abquqenp4/1dM+P5VGM9PV1VXVX53+qrqrummMMcYYY4wxxhhjjDHG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WrvdbmLy5qUZfOZAMnPQmbcEXKIpyZu/yMyHy4fl+fcDXKKZX55Xq9M/B/in984eUxIvSYAT7XY7JQEiJQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQE6JQG6D0ryvFqdfz/AJdput2+WZApzv1icfz/AJZqDx5tTzPF4vLm6fnl5Of+WgItzd3s7x5I3Lz39eJp15v0AF2ez2UxJ3rt6OBy+ffk6Y845twRcnAnFeweSV5OauWe/359tS8BluV8sThleXmPycXCAT+j1d5nT34FMRmYIWj4spyrewQLThMfvj3PG+A//dTYZeX325urasqzPvOZcsV6vj8fjn8gUAAAAAAC/+xt439y+CmVuZHN0cmVhbQplbmRvYmoKNSAwIG9iajw8L0NvbG9yU3BhY2U8PC9EZWZhdWx0UkdCIDYgMCBSL0lDQzEzIDggMCBSPj4vUHJvY1NldFsvUERGL0ltYWdlQi9JbWFnZUMvVGV4dF0vRm9udDw8L0YzIDEwIDAgUi9GMjYgMTEgMCBSL0YyNCAxNyAwIFI+Pi9YT2JqZWN0PDwvSW0zIDIzIDAgUi9JbTQgMjQgMCBSL0ltMSAyNSAwIFIvSW0yIDI2IDAgUj4+Pj4KZW5kb2JqCjMgMCBvYmo8PC9Db250ZW50cyA0IDAgUi9CbGVlZEJveFswIDAgNjEyIDc5Ml0vVHlwZS9QYWdlL1Jlc291cmNlcyA1IDAgUi9Dcm9wQm94WzAgMCA2MTIgNzkyXS9QYXJlbnQgMSAwIFIvTWVkaWFCb3hbMCAwIDYxMiA3OTJdL1RyaW1Cb3hbMCAwIDYxMiA3OTJdPj4KZW5kb2JqCjEgMCBvYmo8PC9LaWRzWzMgMCBSXS9UeXBlL1BhZ2VzL0NvdW50IDE+PgplbmRvYmoKMjcgMCBvYmo8PC9UeXBlL0NhdGFsb2cvUGFnZXMgMSAwIFI+PgplbmRvYmoKMjggMCBvYmo8PC9Nb2REYXRlKEQ6MjAxOTAxMzAyMjQxMTBaKS9DcmVhdGlvbkRhdGUoRDoyMDE5MDEzMDIyNDExMFopL1Byb2R1Y2VyKGlUZXh0IDEuNCBcKGJ5IGxvd2FnaWUuY29tXCkpPj4KZW5kb2JqCnhyZWYKMCAyOQowMDAwMDAwMDAwIDY1NTM1IGYgCjAwMDAwNjU1NjkgMDAwMDAgbiAKMDAwMDAwMDAwMCA2NTUzNiBuIAowMDAwMDY1NDEwIDAwMDAwIG4gCjAwMDAwMDAwMTUgMDAwMDAgbiAKMDAwMDA2NTIxNyAwMDAwMCBuIAowMDAwMDA1OTcxIDAwMDAwIG4gCjAwMDAwMDMzMDcgMDAwMDAgbiAKMDAwMDAwNjgzMiAwMDAwMCBuIAowMDAwMDA2MDAzIDAwMDAwIG4gCjAwMDAwMDY4NjQgMDAwMDAgbiAKMDAwMDAxMjAwNSAwMDAwMCBuIAowMDAwMDA2OTU3IDAwMDAwIG4gCjAwMDAwMTE1OTggMDAwMDAgbiAKMDAwMDAxMTM3OSAwMDAwMCBuIAowMDAwMDA3NDgyIDAwMDAwIG4gCjAwMDAwMTEyODYgMDAwMDAgbiAKMDAwMDAxNzU5NCAwMDAwMCBuIAowMDAwMDEyMTQzIDAwMDAwIG4gCjAwMDAwMTcxNjAgMDAwMDAgbiAKMDAwMDAxNjkzOCAwMDAwMCBuIAowMDAwMDEyNjk4IDAwMDAwIG4gCjAwMDAwMTY4NDEgMDAwMDAgbiAKMDAwMDAxNzczNSAwMDAwMCBuIAowMDAwMDIzMDE2IDAwMDAwIG4gCjAwMDAwMjk3NzUgMDAwMDAgbiAKMDAwMDA2MjY0NCAwMDAwMCBuIAowMDAwMDY1NjE5IDAwMDAwIG4gCjAwMDAwNjU2NjQgMDAwMDAgbiAKdHJhaWxlcgo8PC9JbmZvIDI4IDAgUi9JRCBbPGIxMjZlODIwMDdjNzZhNmUxNTFlNzQ0Zjg2MjBmNDJmPjw1YmZlYjU4YTM5MjllZmRiZmQ2ZjU5MWM2MGIwNjc0MD5dL1Jvb3QgMjcgMCBSL1NpemUgMjk+PgpzdGFydHhyZWYKNjU3ODIKJSVFT0YK", + "contentType": "application/pdf" + } + ] + } } - } - }, - { - "request": { - "parameters": {} }, - "response": { - "payload": { - "pagination": { - "nextToken": "NEBxNEBxNEBxNR==" - }, - "packingSlips": [ - { - "purchaseOrderNumber": "mockpurchaseOrderNumber1", - "content": "Base 64 encoded string goes here", - "contentType": "application/pdf" + { + "request": { + "parameters": {} + }, + "response": { + "payload": { + "pagination": { + "nextToken": "NEBxNEBxNEBxNR==" }, - { - "purchaseOrderNumber": "mockpurchaseOrderNumber2", - "content": "Base 64 encoded string goes here", - "contentType": "application/pdf" - } - ] + "packingSlips": [ + { + "purchaseOrderNumber": "mockpurchaseOrderNumber1", + "content": "Base 64 encoded string goes here", + "contentType": "application/pdf" + }, + { + "purchaseOrderNumber": "mockpurchaseOrderNumber2", + "content": "Base 64 encoded string goes here", + "contentType": "application/pdf" + } + ] + } } } - } ] } }, @@ -2453,10 +2324,6 @@ "$ref": "#/definitions/GetPackingSlipListResponse" }, "headers": { - "x-amzn-RateLimit-Limit": { - "type": "string", - "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." - }, "x-amzn-RequestId": { "type": "string", "description": "Unique request reference identifier." @@ -2497,10 +2364,6 @@ "$ref": "#/definitions/GetPackingSlipListResponse" }, "headers": { - "x-amzn-RateLimit-Limit": { - "type": "string", - "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." - }, "x-amzn-RequestId": { "type": "string", "description": "Unique request reference identifier." @@ -2513,10 +2376,6 @@ "$ref": "#/definitions/GetPackingSlipListResponse" }, "headers": { - "x-amzn-RateLimit-Limit": { - "type": "string", - "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." - }, "x-amzn-RequestId": { "type": "string", "description": "Unique request reference identifier." @@ -2529,10 +2388,6 @@ "$ref": "#/definitions/GetPackingSlipListResponse" }, "headers": { - "x-amzn-RateLimit-Limit": { - "type": "string", - "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." - }, "x-amzn-RequestId": { "type": "string", "description": "Unique request reference identifier." @@ -2545,10 +2400,6 @@ "$ref": "#/definitions/GetPackingSlipListResponse" }, "headers": { - "x-amzn-RateLimit-Limit": { - "type": "string", - "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." - }, "x-amzn-RequestId": { "type": "string", "description": "Unique request reference identifier." @@ -2563,13 +2414,13 @@ "tags": [ "vendorShipping" ], - "description": "Returns a packing slip based on the purchaseOrderNumber that you specify.\n\n**Usage Plan:**\n\n| Rate (requests per second) | Burst |\n| ---- | ---- |\n| 10 | 10 |\n\nThe `x-amzn-RateLimit-Limit` response header returns the usage plan rate limits that were applied to the requested operation, when available. The table above indicates the default rate and burst values for this operation. Selling partners whose business demands require higher throughput may see higher rate and burst values than those shown here. For more information, see [Usage Plans and Rate Limits in the Selling Partner API](https://developer-docs.amazon.com/sp-api/docs/usage-plans-and-rate-limits-in-the-sp-api).", + "description": "Returns a packing slip based on the `purchaseOrderNumber` that you specify.\n\n**Usage Plan:**\n\n| Rate (requests per second) | Burst |\n| ---- | ---- |\n| 10 | 10 |\n\nThe `x-amzn-RateLimit-Limit` response header returns the usage plan rate limits that were applied to the requested operation, when available. The table above indicates the default rate and burst values for this operation. Selling partners whose business demands require higher throughput may see higher rate and burst values than those shown here. For more information, refer to [Usage Plans and Rate Limits in the Selling Partner API](https://developer-docs.amazon.com/sp-api/docs/usage-plans-and-rate-limits-in-the-sp-api).", "operationId": "getPackingSlip", "parameters": [ { "name": "purchaseOrderNumber", "in": "path", - "description": "The purchaseOrderNumber for the packing slip you want.", + "description": "The `purchaseOrderNumber` for the packing slip you want.", "required": true, "type": "string", "pattern": "^[a-zA-Z0-9]+$" @@ -2672,15 +2523,11 @@ } }, "401": { - "description": "The request's Authorization header is not formatted correctly or does not contain a valid token.", + "description": "The request's authorization header is not formatted correctly or does not contain a valid token.", "schema": { "$ref": "#/definitions/GetPackingSlipResponse" }, "headers": { - "x-amzn-RateLimit-Limit": { - "type": "string", - "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." - }, "x-amzn-RequestId": { "type": "string", "description": "Unique request reference identifier." @@ -2721,10 +2568,6 @@ "$ref": "#/definitions/GetPackingSlipResponse" }, "headers": { - "x-amzn-RateLimit-Limit": { - "type": "string", - "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." - }, "x-amzn-RequestId": { "type": "string", "description": "Unique request reference identifier." @@ -2737,10 +2580,6 @@ "$ref": "#/definitions/GetPackingSlipResponse" }, "headers": { - "x-amzn-RateLimit-Limit": { - "type": "string", - "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." - }, "x-amzn-RequestId": { "type": "string", "description": "Unique request reference identifier." @@ -2753,10 +2592,6 @@ "$ref": "#/definitions/GetPackingSlipResponse" }, "headers": { - "x-amzn-RateLimit-Limit": { - "type": "string", - "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." - }, "x-amzn-RequestId": { "type": "string", "description": "Unique request reference identifier." @@ -2769,10 +2604,6 @@ "$ref": "#/definitions/GetPackingSlipResponse" }, "headers": { - "x-amzn-RateLimit-Limit": { - "type": "string", - "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." - }, "x-amzn-RequestId": { "type": "string", "description": "Unique request reference identifier." @@ -2820,13 +2651,15 @@ "type": "object", "properties": { "pagination": { - "$ref": "#/definitions/Pagination" + "$ref": "#/definitions/Pagination", + "description": "The pagination elements required to retrieve the remaining data." }, "packingSlips": { "type": "array", "items": { "$ref": "#/definitions/PackingSlip" - } + }, + "description": "An array of packing slip objects." } }, "description": "A list of packing slips." @@ -2840,7 +2673,8 @@ "errors": { "$ref": "#/definitions/ErrorList" } - } + }, + "description": "Response payload with the list of packing slips." }, "GetPackingSlipResponse": { "type": "object", @@ -2851,7 +2685,8 @@ "errors": { "$ref": "#/definitions/ErrorList" } - } + }, + "description": "Response payload with packing slip." }, "SubmitShippingLabelsRequest": { "type": "object", @@ -2860,9 +2695,11 @@ "type": "array", "items": { "$ref": "#/definitions/ShippingLabelRequest" - } + }, + "description": "An array of shipping label requests to be processed." } - } + }, + "description": "The request schema for the `submitShippingLabelRequest` operation." }, "ShippingLabelRequest": { "type": "object", @@ -2892,7 +2729,8 @@ "$ref": "#/definitions/Container" } } - } + }, + "description": "Represents the request payload for creating a shipping label, containing the purchase order number, selling party, ship from party, and a list of containers or packages in the shipment." }, "Item": { "type": "object", @@ -2907,7 +2745,7 @@ }, "buyerProductIdentifier": { "type": "string", - "description": "Buyer's Standard Identification Number (ASIN) of an item. Either buyerProductIdentifier or vendorProductIdentifier is required." + "description": "Buyer's Standard Identification Number (ASIN) of an item. Either `buyerProductIdentifier` or `vendorProductIdentifier` is required." }, "vendorProductIdentifier": { "type": "string", @@ -2933,7 +2771,7 @@ }, "buyerProductIdentifier": { "type": "string", - "description": "Buyer's Standard Identification Number (ASIN) of an item. Either buyerProductIdentifier or vendorProductIdentifier is required." + "description": "Buyer's Standard Identification Number (ASIN) of an item. Either `buyerProductIdentifier` or `vendorProductIdentifier` is required." }, "vendorProductIdentifier": { "type": "string", @@ -2943,9 +2781,11 @@ "description": "Total item quantity packed in the container.", "$ref": "#/definitions/ItemQuantity" } - } + }, + "description": "Represents an item that has been packed into a container for shipping." }, "PartyIdentification": { + "description": "Name, address and tax details of a party.", "type": "object", "required": [ "partyId" @@ -3026,20 +2866,20 @@ "properties": { "trackingNumber": { "type": "string", - "description": "This is required to be provided for every package and should match with the trackingNumber sent for the shipment confirmation." + "description": "This is required to be provided for every package and should match with the `trackingNumber` sent for the shipment confirmation." }, "statusCode": { "type": "string", - "description": "Indicates the shipment status code of the package that provides transportation information for Amazon tracking systems and ultimately for the final customer. For more information, refer to the [Additional Fields Explanation](https://developer-docs.amazon.com/sp-api/docs/vendor-direct-fulfillment-shipping-api-use-case-guide#additional-fields-explanation)." + "description": "Indicates the shipment status code for the package that provides transportation information for Amazon tracking systems and ultimately for the final customer. For more information, refer to the [Additional Fields Explanation](https://developer-docs.amazon.com/sp-api/docs/vendor-direct-fulfillment-shipping-api-use-case-guide#additional-fields-explanation)." }, "reasonCode": { "type": "string", - "description": "Provides a reason code for the status of the package that will provide additional information about the transportation status. For more information, refer to the [Additional Fields Explanation](https://developer-docs.amazon.com/sp-api/docs/vendor-direct-fulfillment-shipping-api-use-case-guide#additional-fields-explanation)." + "description": "Provides a reason code for the status for the package that will provide additional information about the transportation status. For more information, refer to the [Additional Fields Explanation](https://developer-docs.amazon.com/sp-api/docs/vendor-direct-fulfillment-shipping-api-use-case-guide#additional-fields-explanation)." }, "statusDateTime": { "type": "string", "format": "date-time", - "description": "The date and time when the shipment status was updated. This field is expected to be in ISO-8601 date/time format, with UTC time zone or UTC offset. For example, 2020-07-16T23:00:00Z or 2020-07-16T23:00:00+01:00." + "description": "The date and time when the shipment status was updated. This field is expected to be in ISO 8601 date/time format, with UTC time zone or UTC offset. For example, `2020-07-16T23:00:00Z` or `2020-07-16T23:00:00+01:00`." }, "statusLocationAddress": { "$ref": "#/definitions/Address" @@ -3050,19 +2890,20 @@ "estimatedDeliveryDateTime": { "type": "string", "format": "date-time", - "description": "Date on which the shipment is expected to reach the customer delivery location. This field is expected to be in ISO-8601 date/time format, with UTC time zone or UTC offset. For example, 2020-07-16T23:00:00Z or 2020-07-16T23:00:00+01:00." + "description": "Date on which the shipment is expected to reach the customer delivery location. This field is expected to be in ISO 8601 date/time format, with UTC time zone or UTC offset. For example, `2020-07-16T23:00:00Z` or `2020-07-16T23:00:00+01:00`." }, "apptWindowStartDateTime": { "type": "string", "format": "date-time", - "description": "This field indicates the date and time at the start of the appointment window scheduled to deliver the shipment. This field is expected to be in ISO-8601 date/time format, with UTC time zone or UTC offset. For example, 2020-07-16T23:00:00Z or 2020-07-16T23:00:00+01:00." + "description": "This field indicates the date and time at the start of the appointment window scheduled to deliver the shipment. This field is expected to be in ISO 8601 date/time format, with UTC time zone or UTC offset. For example, `2020-07-16T23:00:00Z` or `2020-07-16T23:00:00+01:00`." }, "apptWindowEndDateTime": { "type": "string", "format": "date-time", - "description": "This field indicates the date and time at the end of the appointment window scheduled to deliver the shipment. This field is expected to be in ISO-8601 date/time format, with UTC time zone or UTC offset. For example, 2020-07-16T23:00:00Z or 2020-07-16T23:00:00+01:00." + "description": "This field indicates the date and time at the end of the appointment window scheduled to deliver the shipment. This field is expected to be in ISO 8601 date/time format, with UTC time zone or UTC offset. For example, `2020-07-16T23:00:00Z` or `2020-07-16T23:00:00+01:00`." } - } + }, + "description": "Details for the scheduled delivery timeline for a shipment, including the estimated delivery date and time, as well as the start and end times of the appointment window for delivery." } }, "description": "Details for the shipment status update given by the vendor for the specific package." @@ -3261,27 +3102,27 @@ "type": "object", "properties": { "payload": { - "description": "The response payload for the submitShipmentConfirmations operation.", + "description": "The response payload for the `submitShipmentConfirmations` operation.", "$ref": "#/definitions/TransactionReference" }, "errors": { "$ref": "#/definitions/ErrorList" } }, - "description": "The response schema for the submitShipmentConfirmations operation." + "description": "The response schema for the `submitShipmentConfirmations` operation." }, "SubmitShipmentStatusUpdatesResponse": { "type": "object", "properties": { "payload": { - "description": "The response payload for the submitShipmentStatusUpdates operation.", + "description": "The response payload for the `submitShipmentStatusUpdates` operation.", "$ref": "#/definitions/TransactionReference" }, "errors": { "$ref": "#/definitions/ErrorList" } }, - "description": "The response schema for the submitShipmentStatusUpdates operation." + "description": "The response schema for the `submitShipmentStatusUpdates` operation." }, "GetShippingLabelListResponse": { "type": "object", @@ -3294,20 +3135,20 @@ "$ref": "#/definitions/ErrorList" } }, - "description": "The response schema for the getShippingLabels operation." + "description": "The response schema for the `getShippingLabels` operation." }, "GetShippingLabelResponse": { "type": "object", "properties": { "payload": { - "description": "The payload for the getShippingLabel operation.", + "description": "The payload for the `getShippingLabel` operation.", "$ref": "#/definitions/ShippingLabel" }, "errors": { "$ref": "#/definitions/ErrorList" } }, - "description": "The response schema for the getShippingLabel operation." + "description": "The response schema for the `getShippingLabel` operation." }, "ShippingLabelList": { "type": "object", @@ -3319,9 +3160,11 @@ "type": "array", "items": { "$ref": "#/definitions/ShippingLabel" - } + }, + "description": "An array containing the details of the generated shipping labels." } - } + }, + "description": "Response payload with the list of shipping labels" }, "LabelData": { "type": "object", @@ -3339,7 +3182,7 @@ }, "shipMethod": { "type": "string", - "description": "Ship method to be used for shipping the order. Amazon defines Ship Method Codes indicating shipping carrier and shipment service level. Ship Method Codes are case and format sensitive. The same ship method code should returned on the shipment confirmation. Note that the Ship Method Codes are vendor specific and will be provided to each vendor during the implementation." + "description": "Ship method to be used for shipping the order. Amazon defines ship method codes indicating shipping carrier and shipment service level. Ship method codes are case and format sensitive. The same ship method code should returned on the shipment confirmation. Note that the ship method codes are vendor specific and will be provided to each vendor during the implementation." }, "shipMethodName": { "type": "string", @@ -3400,20 +3243,21 @@ "$ref": "#/definitions/LabelData" } } - } + }, + "description": "Shipping label information for an order, including the purchase order number, selling party, ship from party, label format, and package details." }, "SubmitShippingLabelsResponse": { "type": "object", "properties": { "payload": { - "description": "The response payload for the submitShippingLabelRequest operation.", + "description": "The response payload for the `submitShippingLabelRequest` operation.", "$ref": "#/definitions/TransactionReference" }, "errors": { "$ref": "#/definitions/ErrorList" } }, - "description": "The response schema for the submitShippingLabelRequest operation." + "description": "The response schema for the `submitShippingLabelRequest` operation." }, "SubmitShipmentConfirmationsRequest": { "type": "object", @@ -3422,9 +3266,11 @@ "type": "array", "items": { "$ref": "#/definitions/ShipmentConfirmation" - } + }, + "description": "Array of `ShipmentConfirmation` objects, each representing confirmation details for a specific shipment." } - } + }, + "description": "The request schema for the `submitShipmentConfirmations` operation." }, "ShipmentConfirmation": { "type": "object", @@ -3467,7 +3313,8 @@ "$ref": "#/definitions/Container" } } - } + }, + "description": "Represents the confirmation details of a shipment, including the purchase order number and other shipment details." }, "SubmitShipmentStatusUpdatesRequest": { "type": "object", @@ -3477,9 +3324,11 @@ "items": { "$ref": "#/definitions/ShipmentStatusUpdate" }, - "minItems": 1 + "minItems": 1, + "description": "Contains a list of one or more `ShipmentStatusUpdate` objects, each representing an update to the status of a specific shipment." } - } + }, + "description": "Represents the request payload for submitting updates to the status of shipments, containing an array of one or more `ShipmentStatusUpdate` objects." }, "ShipmentStatusUpdate": { "type": "object", @@ -3507,7 +3356,8 @@ "description": "Provide the details about the status of the shipment at that particular point of time.", "$ref": "#/definitions/StatusUpdateDetails" } - } + }, + "description": "Represents an update to the status of a shipment." }, "GetCustomerInvoicesResponse": { "type": "object", @@ -3520,20 +3370,20 @@ "$ref": "#/definitions/ErrorList" } }, - "description": "The response schema for the getCustomerInvoices operation." + "description": "The response schema for the `getCustomerInvoices` operation." }, "GetCustomerInvoiceResponse": { "type": "object", "properties": { "payload": { - "description": "The payload for the getCustomerInvoice operation.", + "description": "The payload for the `getCustomerInvoice` operation.", "$ref": "#/definitions/CustomerInvoice" }, "errors": { "$ref": "#/definitions/ErrorList" } }, - "description": "The response schema for the getCustomerInvoice operation." + "description": "The response schema for the `getCustomerInvoice` operation." }, "CustomerInvoiceList": { "type": "object", @@ -3543,20 +3393,23 @@ }, "customerInvoices": { "type": "array", + "description": "Represents a customer invoice within the `CustomerInvoiceList`.", "items": { "$ref": "#/definitions/CustomerInvoice" } } - } + }, + "description": "Represents a list of customer invoices, potentially paginated." }, "Pagination": { "type": "object", "properties": { "nextToken": { "type": "string", - "description": "A generated string used to pass information to your next request. If NextToken is returned, pass the value of NextToken to the next request. If NextToken is not returned, there are no more order items to return." + "description": "A generated string used to pass information to your next request. If `NextToken` is returned, pass the value of `NextToken` to the next request. If `NextToken` is not returned, there are no more order items to return." } - } + }, + "description": "The pagination elements required to retrieve the remaining data." }, "CustomerInvoice": { "type": "object", @@ -3572,9 +3425,10 @@ }, "content": { "type": "string", - "description": "The Base64encoded customer invoice." + "description": "The `Base64encoded` customer invoice." } - } + }, + "description": "Represents a customer invoice associated with a purchase order." }, "TransactionReference": { "type": "object", @@ -3583,7 +3437,8 @@ "type": "string", "description": "GUID to identify this transaction. This value can be used with the Transaction Status API to return the status of this transaction." } - } + }, + "description": "Response containing the transaction ID." }, "ErrorList": { "type": "array", @@ -3686,7 +3541,8 @@ "$ref": "#/definitions/PackedItem" } } - } + }, + "description": "A container used for shipping and packing items." } } } \ No newline at end of file diff --git a/models/vendor-orders-api-model/vendorOrders.json b/models/vendor-orders-api-model/vendorOrders.json index 18202e16f..4f1cccdb3 100644 --- a/models/vendor-orders-api-model/vendorOrders.json +++ b/models/vendor-orders-api-model/vendorOrders.json @@ -29,7 +29,7 @@ "tags": [ "vendorOrders" ], - "description": "Returns a list of purchase orders created or changed during the time frame that you specify. You define the time frame using the `createdAfter`, `createdBefore`, `changedAfter` and `changedBefore` parameters. The date range to search must not be more than 7 days. You can choose to get only the purchase order numbers by setting `includeDetails` to false. You can then use the `getPurchaseOrder` operation to receive details for a specific purchase order.\n\n**Usage Plan:**\n\n| Rate (requests per second) | Burst |\n| ---- | ---- |\n| 10 | 10 |\n\nThe `x-amzn-RateLimit-Limit` response header returns the usage plan rate limits that were applied to the requested operation, when available. The preceding table indicates the default rate and burst values for this operation. Selling partners whose business demands require higher throughput may have higher rate and burst values than those shown here. For more information, refer to [Usage Plans and Rate Limits in the Selling Partner API](https://developer-docs.amazon.com/sp-api/docs/usage-plans-and-rate-limits-in-the-sp-api).", + "description": "Returns a list of purchase orders created or changed during the time frame that you specify. You define the time frame using the `createdAfter`, `createdBefore`, `changedAfter` and `changedBefore` parameters. The date range to search must not be more than 7 days. You can choose to get only the purchase order numbers by setting `includeDetails` to false. You can then use the `getPurchaseOrder` operation to receive details for a specific purchase order.\n\n**Usage Plan:**\n\n| Rate (requests per second) | Burst |\n| ---- | ---- |\n| 10 | 10 |\n\nThe `x-amzn-RateLimit-Limit` response header returns the usage plan rate limits that were applied to the requested operation, when available. The table above indicates the default rate and burst values for this operation. Selling partners whose business demands require higher throughput may see higher rate and burst values than those shown here. For more information, refer to [Usage Plans and Rate Limits in the Selling Partner API](https://developer-docs.amazon.com/sp-api/docs/usage-plans-and-rate-limits-in-the-sp-api).", "operationId": "getPurchaseOrders", "parameters": [ { @@ -45,7 +45,7 @@ { "name": "createdAfter", "in": "query", - "description": "Purchase orders that became available after this time will be included in the result. Must be in ISO-8601 date/time format.", + "description": "Purchase orders that became available after this time will be included in the result. Must be in ISO 8601 date/time format.", "required": false, "type": "string", "format": "date-time" @@ -53,7 +53,7 @@ { "name": "createdBefore", "in": "query", - "description": "Purchase orders that became available before this time will be included in the result. Must be in ISO-8601 date/time format.", + "description": "Purchase orders that became available before this time will be included in the result. Must be in ISO 8601 date/time format.", "required": false, "type": "string", "format": "date-time" @@ -89,7 +89,7 @@ { "name": "includeDetails", "in": "query", - "description": "When true, returns purchase orders with complete details. Otherwise, only purchase order numbers are returned. Default value is true.", + "description": "When `true`, returns purchase orders with complete details. Otherwise, only purchase order numbers are returned. Default value is `true`.", "required": false, "type": "string", "format": "boolean" @@ -97,7 +97,7 @@ { "name": "changedAfter", "in": "query", - "description": "Purchase orders that changed after this timestamp will be included in the result. Must be in ISO-8601 date/time format.", + "description": "Purchase orders that changed after this timestamp will be included in the result. Must be in ISO 8601 date/time format.", "required": false, "type": "string", "format": "date-time" @@ -105,7 +105,7 @@ { "name": "changedBefore", "in": "query", - "description": "Purchase orders that changed before this timestamp will be included in the result. Must be in ISO-8601 date/time format.", + "description": "Purchase orders that changed before this timestamp will be included in the result. Must be in ISO 8601 date/time format.", "required": false, "type": "string", "format": "date-time" @@ -113,7 +113,7 @@ { "name": "poItemState", "in": "query", - "description": "Current state of the purchase order item. If this value is Cancelled, this API will return purchase orders which have one or more items cancelled by Amazon with updated item quantity as zero.", + "description": "Current state of the purchase order item. If this value is `Cancelled`, this API will return purchase orders which have one or more items cancelled by Amazon with updated item quantity as zero.", "required": false, "type": "string", "enum": [ @@ -129,7 +129,7 @@ { "name": "isPOChanged", "in": "query", - "description": "When true, returns purchase orders which were modified after the order was placed. Vendors are required to pull the changed purchase order and fulfill the updated purchase order and not the original one. Default value is false.", + "description": "When `true`, returns purchase orders which were modified after the order was placed. Vendors are required to pull the changed purchase order and fulfill the updated purchase order and not the original one. Default value is `false`.", "required": false, "type": "string", "format": "boolean" @@ -255,13 +255,11 @@ "isBackOrderAllowed": true, "netCost": { "amount": "1800", - "currencyCode": "INR", - "unitOfMeasure": "POUNDS" + "currencyCode": "INR" }, "listPrice": { "amount": "2000", - "currencyCode": "INR", - "unitOfMeasure": "POUNDS" + "currencyCode": "INR" } } ] @@ -432,13 +430,11 @@ "isBackOrderAllowed": true, "netCost": { "amount": "94.97", - "currencyCode": "USD", - "unitOfMeasure": "POUNDS" + "currencyCode": "USD" }, "listPrice": { "amount": "94.97", - "currencyCode": "USD", - "unitOfMeasure": "POUNDS" + "currencyCode": "USD" } } ] @@ -989,8 +985,7 @@ "isBackOrderAllowed": true, "netCost": { "amount": "94.97", - "currencyCode": "INR", - "unitOfMeasure": "POUNDS" + "currencyCode": "INR" } } ] @@ -1055,15 +1050,11 @@ } }, "403": { - "description": "Indicates that access to the resource is forbidden. Possible reasons include Access Denied, Unauthorized, Expired Token, or Invalid Signature.", + "description": "Indicates that access to the resource is forbidden. Possible reasons include `Access Denied`, `Unauthorized`, `Expired Token`, or `Invalid Signature`.", "schema": { "$ref": "#/definitions/GetPurchaseOrdersResponse" }, "headers": { - "x-amzn-RateLimit-Limit": { - "type": "string", - "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." - }, "x-amzn-RequestId": { "type": "string", "description": "Unique request reference identifier." @@ -1092,10 +1083,6 @@ "$ref": "#/definitions/GetPurchaseOrdersResponse" }, "headers": { - "x-amzn-RateLimit-Limit": { - "type": "string", - "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." - }, "x-amzn-RequestId": { "type": "string", "description": "Unique request reference identifier." @@ -1108,10 +1095,6 @@ "$ref": "#/definitions/GetPurchaseOrdersResponse" }, "headers": { - "x-amzn-RateLimit-Limit": { - "type": "string", - "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." - }, "x-amzn-RequestId": { "type": "string", "description": "Unique request reference identifier." @@ -1124,10 +1107,6 @@ "$ref": "#/definitions/GetPurchaseOrdersResponse" }, "headers": { - "x-amzn-RateLimit-Limit": { - "type": "string", - "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." - }, "x-amzn-RequestId": { "type": "string", "description": "Unique request reference identifier." @@ -1140,10 +1119,6 @@ "$ref": "#/definitions/GetPurchaseOrdersResponse" }, "headers": { - "x-amzn-RateLimit-Limit": { - "type": "string", - "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." - }, "x-amzn-RequestId": { "type": "string", "description": "Unique request reference identifier." @@ -1158,7 +1133,7 @@ "tags": [ "vendorOrders" ], - "description": "Returns a purchase order based on the `purchaseOrderNumber` value that you specify.\n\n**Usage Plan:**\n\n| Rate (requests per second) | Burst |\n| ---- | ---- |\n| 10 | 10 |\n\nThe `x-amzn-RateLimit-Limit` response header returns the usage plan rate limits that were applied to the requested operation, when available. The preceding table indicates the default rate and burst values for this operation. Selling partners whose business demands require higher throughput may have higher rate and burst values than those shown here. For more information, refer to [Usage Plans and Rate Limits in the Selling Partner API](https://developer-docs.amazon.com/sp-api/docs/usage-plans-and-rate-limits-in-the-sp-api).", + "description": "Returns a purchase order based on the `purchaseOrderNumber` value that you specify.\n\n**Usage Plan:**\n\n| Rate (requests per second) | Burst |\n| ---- | ---- |\n| 10 | 10 |\n\nThe `x-amzn-RateLimit-Limit` response header returns the usage plan rate limits that were applied to the requested operation, when available. The table above indicates the default rate and burst values for this operation. Selling partners whose business demands require higher throughput may see higher rate and burst values than those shown here. For more information, refer to [Usage Plans and Rate Limits in the Selling Partner API](https://developer-docs.amazon.com/sp-api/docs/usage-plans-and-rate-limits-in-the-sp-api).", "operationId": "getPurchaseOrder", "parameters": [ { @@ -1444,15 +1419,11 @@ } }, "401": { - "description": "The request's Authorization header is not formatted correctly or does not contain a valid token.", + "description": "The request's authorization header is not formatted correctly or does not contain a valid token.", "schema": { "$ref": "#/definitions/GetPurchaseOrderResponse" }, "headers": { - "x-amzn-RateLimit-Limit": { - "type": "string", - "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." - }, "x-amzn-RequestId": { "type": "string", "description": "Unique request reference identifier." @@ -1460,15 +1431,11 @@ } }, "403": { - "description": "Indicates that access to the resource is forbidden. Possible reasons include Access Denied, Unauthorized, Expired Token, or Invalid Signature.", + "description": "Indicates that access to the resource is forbidden. Possible reasons include `Access Denied`, `Unauthorized`, `Expired Token`, or `Invalid Signature`.", "schema": { "$ref": "#/definitions/GetPurchaseOrderResponse" }, "headers": { - "x-amzn-RateLimit-Limit": { - "type": "string", - "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." - }, "x-amzn-RequestId": { "type": "string", "description": "Unique request reference identifier." @@ -1497,10 +1464,6 @@ "$ref": "#/definitions/GetPurchaseOrderResponse" }, "headers": { - "x-amzn-RateLimit-Limit": { - "type": "string", - "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." - }, "x-amzn-RequestId": { "type": "string", "description": "Unique request reference identifier." @@ -1513,10 +1476,6 @@ "$ref": "#/definitions/GetPurchaseOrderResponse" }, "headers": { - "x-amzn-RateLimit-Limit": { - "type": "string", - "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." - }, "x-amzn-RequestId": { "type": "string", "description": "Unique request reference identifier." @@ -1529,10 +1488,6 @@ "$ref": "#/definitions/GetPurchaseOrderResponse" }, "headers": { - "x-amzn-RateLimit-Limit": { - "type": "string", - "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." - }, "x-amzn-RequestId": { "type": "string", "description": "Unique request reference identifier." @@ -1545,10 +1500,6 @@ "$ref": "#/definitions/GetPurchaseOrderResponse" }, "headers": { - "x-amzn-RateLimit-Limit": { - "type": "string", - "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." - }, "x-amzn-RequestId": { "type": "string", "description": "Unique request reference identifier." @@ -1563,15 +1514,60 @@ "tags": [ "vendorOrders" ], - "description": "Submits acknowledgements for one or more purchase orders.\n\n**Usage Plan:**\n\n| Rate (requests per second) | Burst |\n| ---- | ---- |\n| 10 | 10 |\n\nThe `x-amzn-RateLimit-Limit` response header returns the usage plan rate limits that were applied to the requested operation, when available. The preceding table indicates the default rate and burst values for this operation. Selling partners whose business demands require higher throughput may have higher rate and burst values than those shown here. For more information, refer to [Usage Plans and Rate Limits in the Selling Partner API](https://developer-docs.amazon.com/sp-api/docs/usage-plans-and-rate-limits-in-the-sp-api).", + "description": "Submits acknowledgements for one or more purchase orders.\n\n**Usage Plan:**\n\n| Rate (requests per second) | Burst |\n| ---- | ---- |\n| 10 | 10 |\n\nThe `x-amzn-RateLimit-Limit` response header returns the usage plan rate limits that were applied to the requested operation, when available. The table above indicates the default rate and burst values for this operation. Selling partners whose business demands require higher throughput may see higher rate and burst values than those shown here. For more information, refer to [Usage Plans and Rate Limits in the Selling Partner API](https://developer-docs.amazon.com/sp-api/docs/usage-plans-and-rate-limits-in-the-sp-api).", "operationId": "submitAcknowledgement", "parameters": [ { "in": "body", "name": "body", + "description": "Submits acknowledgements for one or more purchase orders from a vendor.", "required": true, "schema": { - "$ref": "#/definitions/SubmitAcknowledgementRequest" + "$ref": "#/definitions/SubmitAcknowledgementRequest", + "example": { + "acknowledgements": [ + { + "purchaseOrderNumber": "L8266355", + "sellingParty": { + "partyId": "999US" + }, + "acknowledgementDate": "2019-07-17T19:17:34.304Z", + "items": [ + { + "itemSequenceNumber": "1", + "amazonProductIdentifier": "ABC123434", + "vendorProductIdentifier": "028877454078", + "orderedQuantity": { + "amount": 10, + "unitOfMeasure": "Cases" + }, + "netCost": { + "currencyCode": "USD", + "amount": "18.0" + }, + "listPrice": { + "currencyCode": "USD", + "amount": "22.2" + }, + "discountMultiplier": "0.44", + "itemAcknowledgements": [ + { + "acknowledgementCode": "Rejected", + "acknowledgedQuantity": { + "amount": 6, + "unitOfMeasure": "Cases", + "unitSize": 2 + }, + "scheduledShipDate": "2019-07-17T19:17:34.304Z", + "scheduledDeliveryDate": "2019-07-17T19:17:34.304Z", + "rejectionReason": "TemporarilyUnavailable" + } + ] + } + ] + } + ] + } } } ], @@ -1704,15 +1700,11 @@ } }, "403": { - "description": "Indicates that access to the resource is forbidden. Possible reasons include Access Denied, Unauthorized, Expired Token, or Invalid Signature.", + "description": "Indicates that access to the resource is forbidden. Possible reasons include `Access Denied`, `Unauthorized,` `Expired Token`, or `Invalid Signature`.", "schema": { "$ref": "#/definitions/SubmitAcknowledgementResponse" }, "headers": { - "x-amzn-RateLimit-Limit": { - "type": "string", - "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." - }, "x-amzn-RequestId": { "type": "string", "description": "Unique request reference identifier." @@ -1741,10 +1733,6 @@ "$ref": "#/definitions/SubmitAcknowledgementResponse" }, "headers": { - "x-amzn-RateLimit-Limit": { - "type": "string", - "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." - }, "x-amzn-RequestId": { "type": "string", "description": "Unique request reference identifier." @@ -1757,10 +1745,6 @@ "$ref": "#/definitions/SubmitAcknowledgementResponse" }, "headers": { - "x-amzn-RateLimit-Limit": { - "type": "string", - "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." - }, "x-amzn-RequestId": { "type": "string", "description": "Unique request reference identifier." @@ -1773,10 +1757,6 @@ "$ref": "#/definitions/SubmitAcknowledgementResponse" }, "headers": { - "x-amzn-RateLimit-Limit": { - "type": "string", - "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." - }, "x-amzn-RequestId": { "type": "string", "description": "Unique request reference identifier." @@ -1789,10 +1769,6 @@ "$ref": "#/definitions/SubmitAcknowledgementResponse" }, "headers": { - "x-amzn-RateLimit-Limit": { - "type": "string", - "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." - }, "x-amzn-RequestId": { "type": "string", "description": "Unique request reference identifier." @@ -1805,10 +1781,6 @@ "$ref": "#/definitions/SubmitAcknowledgementResponse" }, "headers": { - "x-amzn-RateLimit-Limit": { - "type": "string", - "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." - }, "x-amzn-RequestId": { "type": "string", "description": "Unique request reference identifier." @@ -1823,7 +1795,7 @@ "tags": [ "vendorOrders" ], - "description": "Returns purchase order statuses based on the filters that you specify. Date range to search must not be more than 7 days. You can return a list of purchase order statuses using the available filters, or a single purchase order status by providing the purchase order number.\n\n**Usage Plan:**\n\n| Rate (requests per second) | Burst |\n| ---- | ---- |\n| 10 | 10 |\n\nThe `x-amzn-RateLimit-Limit` response header returns the usage plan rate limits that were applied to the requested operation, when available. The preceding table indicates the default rate and burst values for this operation. Selling partners whose business demands require higher throughput may have higher rate and burst values than those shown here. For more information, refer to [Usage Plans and Rate Limits in the Selling Partner API](https://developer-docs.amazon.com/sp-api/docs/usage-plans-and-rate-limits-in-the-sp-api).", + "description": "Returns purchase order statuses based on the filters that you specify. Date range to search must not be more than 7 days. You can return a list of purchase order statuses using the available filters, or a single purchase order status by providing the purchase order number.\n\n**Usage Plan:**\n\n| Rate (requests per second) | Burst |\n| ---- | ---- |\n| 10 | 10 |\n\nThe `x-amzn-RateLimit-Limit` response header returns the usage plan rate limits that were applied to the requested operation, when available. The table above indicates the default rate and burst values for this operation. Selling partners whose business demands require higher throughput may see higher rate and burst values than those shown here. For more information, refer to [Usage Plans and Rate Limits in the Selling Partner API](https://developer-docs.amazon.com/sp-api/docs/usage-plans-and-rate-limits-in-the-sp-api).", "operationId": "getPurchaseOrdersStatus", "parameters": [ { @@ -1867,7 +1839,7 @@ { "name": "createdAfter", "in": "query", - "description": "Purchase orders that became available after this timestamp will be included in the result. Must be in ISO-8601 date/time format.", + "description": "Purchase orders that became available after this timestamp will be included in the result. Must be in ISO 8601 date/time format.", "required": false, "type": "string", "format": "date-time" @@ -1875,7 +1847,7 @@ { "name": "createdBefore", "in": "query", - "description": "Purchase orders that became available before this timestamp will be included in the result. Must be in ISO-8601 date/time format.", + "description": "Purchase orders that became available before this timestamp will be included in the result. Must be in ISO 8601 date/time format.", "required": false, "type": "string", "format": "date-time" @@ -1883,7 +1855,7 @@ { "name": "updatedAfter", "in": "query", - "description": "Purchase orders for which the last purchase order update happened after this timestamp will be included in the result. Must be in ISO-8601 date/time format.", + "description": "Purchase orders for which the last purchase order update happened after this timestamp will be included in the result. Must be in ISO 8601 date/time format.", "required": false, "type": "string", "format": "date-time" @@ -1891,7 +1863,7 @@ { "name": "updatedBefore", "in": "query", - "description": "Purchase orders for which the last purchase order update happened before this timestamp will be included in the result. Must be in ISO-8601 date/time format.", + "description": "Purchase orders for which the last purchase order update happened before this timestamp will be included in the result. Must be in ISO 8601 date/time format.", "required": false, "type": "string", "format": "date-time" @@ -2688,15 +2660,11 @@ } }, "403": { - "description": "Indicates that access to the resource is forbidden. Possible reasons include Access Denied, Unauthorized, Expired Token, or Invalid Signature.", + "description": "Indicates that access to the resource is forbidden. Possible reasons include `Access Denied`, `Unauthorized`, `Expired Token`, or `Invalid Signature`.", "schema": { "$ref": "#/definitions/GetPurchaseOrdersStatusResponse" }, "headers": { - "x-amzn-RateLimit-Limit": { - "type": "string", - "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." - }, "x-amzn-RequestId": { "type": "string", "description": "Unique request reference identifier." @@ -2725,10 +2693,6 @@ "$ref": "#/definitions/GetPurchaseOrdersStatusResponse" }, "headers": { - "x-amzn-RateLimit-Limit": { - "type": "string", - "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." - }, "x-amzn-RequestId": { "type": "string", "description": "Unique request reference identifier." @@ -2741,10 +2705,6 @@ "$ref": "#/definitions/GetPurchaseOrdersStatusResponse" }, "headers": { - "x-amzn-RateLimit-Limit": { - "type": "string", - "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." - }, "x-amzn-RequestId": { "type": "string", "description": "Unique request reference identifier." @@ -2757,10 +2717,6 @@ "$ref": "#/definitions/GetPurchaseOrdersStatusResponse" }, "headers": { - "x-amzn-RateLimit-Limit": { - "type": "string", - "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." - }, "x-amzn-RequestId": { "type": "string", "description": "Unique request reference identifier." @@ -2773,10 +2729,6 @@ "$ref": "#/definitions/GetPurchaseOrdersStatusResponse" }, "headers": { - "x-amzn-RateLimit-Limit": { - "type": "string", - "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." - }, "x-amzn-RequestId": { "type": "string", "description": "Unique request reference identifier." @@ -2799,7 +2751,7 @@ "$ref": "#/definitions/ErrorList" } }, - "description": "The response schema for the getPurchaseOrders operation." + "description": "The response schema for the `getPurchaseOrders` operation." }, "GetPurchaseOrderResponse": { "type": "object", @@ -2812,7 +2764,7 @@ "$ref": "#/definitions/ErrorList" } }, - "description": "The response schema for the getPurchaseOrder operation." + "description": "The response schema for the `getPurchaseOrder` operation." }, "OrderList": { "type": "object", @@ -2824,18 +2776,21 @@ "type": "array", "items": { "$ref": "#/definitions/Order" - } + }, + "description": "Represents an individual order within the `OrderList`." } - } + }, + "description": "A list of orders returned as response." }, "Pagination": { "type": "object", "properties": { "nextToken": { "type": "string", - "description": "A generated string used to pass information to your next request. If NextToken is returned, pass the value of NextToken to the next request. If NextToken is not returned, there are no more purchase order items to return." + "description": "A generated string used to pass information to your next request. If `NextToken` is returned, pass the value of `NextToken` to the next request. If `NextToken` is not returned, there are no more purchase order items to return." } - } + }, + "description": "The pagination elements required to retrieve the remaining data." }, "Order": { "type": "object", @@ -2859,11 +2814,11 @@ "x-docgen-enum-table-extension": [ { "value": "New", - "description": "The purchase order is newly created and needs to be acknowledged by vendor." + "description": "The purchase order is newly created and needs to be acknowledged by the vendor." }, { "value": "Acknowledged", - "description": "The purchase order has been acknowledged by vendor." + "description": "The purchase order has been acknowledged by the vendor." }, { "value": "Closed", @@ -2875,7 +2830,8 @@ "description": "Details of an order.", "$ref": "#/definitions/OrderDetails" } - } + }, + "description": "Represents an order placed by Amazon, including the purchase order number, current state, and order details." }, "OrderDetails": { "type": "object", @@ -2888,17 +2844,17 @@ "purchaseOrderDate": { "type": "string", "format": "date-time", - "description": "The date the purchase order was placed. Must be in ISO-8601 date/time format." + "description": "The date the purchase order was placed. Must be in ISO 8601 date/time format." }, "purchaseOrderChangedDate": { "type": "string", "format": "date-time", - "description": "The date when purchase order was last changed by Amazon after the order was placed. This date will be greater than 'purchaseOrderDate'. This means the PO data was changed on that date and vendors are required to fulfill the updated PO. The PO changes can be related to Item Quantity, Ship to Location, Ship Window etc. This field will not be present in orders that have not changed after creation. Must be in ISO-8601 date/time format." + "description": "The date when purchase order was last changed by Amazon after the order was placed. This date will be greater than 'purchaseOrderDate'. This means the PO data was changed on that date and vendors are required to fulfill the updated PO. The PO changes can be related to Item Quantity, Ship to Location, Ship Window etc. This field will not be present in orders that have not changed after creation. Must be in ISO 8601 date/time format." }, "purchaseOrderStateChangedDate": { "type": "string", "format": "date-time", - "description": "The date when current purchase order state was changed. Current purchase order state is available in the field 'purchaseOrderState'. Must be in ISO-8601 date/time format." + "description": "The date when current purchase order state was changed. Current purchase order state is available in the field 'purchaseOrderState'. Must be in ISO 8601 date/time format." }, "purchaseOrderType": { "type": "string", @@ -3104,12 +3060,12 @@ }, "portOfDelivery": { "type": "string", - "description": "The port where goods on an import purchase order must be delivered by the vendor. This should only be specified when the internationalCommercialTerms is FOB.", + "description": "The port where goods on an import purchase order must be delivered by the vendor. This should only be specified when the `internationalCommercialTerms` is `FOB`.", "maxLength": 64 }, "importContainers": { "type": "string", - "description": "Types and numbers of container(s) for import purchase orders. Can be a comma-separated list if the shipment has multiple containers. HC signifies a high-capacity container. Free-text field, limited to 64 characters. The format will be a comma-delimited list containing values of the type: $NUMBER_OF_CONTAINERS_OF_THIS_TYPE-$CONTAINER_TYPE. The list of values for the container type is: 40'(40-foot container), 40'HC (40-foot high-capacity container), 45', 45'HC, 30', 30'HC, 20', 20'HC.", + "description": "Types and numbers of container(s) for import purchase orders. Can be a comma-separated list if the shipment has multiple containers. HC signifies a high-capacity container. Free-text field, limited to 64 characters. The format will be a comma-delimited list containing values of the type: `$NUMBER_OF_CONTAINERS_OF_THIS_TYPE-$CONTAINER_TYPE`. The list of values for the container type is: `40'`(40-foot container), `40'HC` (40-foot high-capacity container), `45'`, `45'HC`, `30'`, `30'HC`, `20'`, `20'HC`.", "maxLength": 64 }, "shippingInstructions": { @@ -3121,10 +3077,11 @@ }, "DateTimeInterval": { "type": "string", - "description": "Defines a date time interval according to ISO8601. Interval is separated by double hyphen (--)." + "description": "Defines a date time interval according to ISO 8601. Interval is separated by double hyphen (--)." }, "PartyIdentification": { "type": "object", + "description": "Name, address and tax details of a party.", "required": [ "partyId" ], @@ -3170,7 +3127,7 @@ }, "taxRegistrationNumber": { "type": "string", - "description": "Tax registration number for the entity. For example, VAT ID." + "description": "Tax registration number for the entity. For example, `VAT ID`." } }, "description": "Tax registration details of the entity." @@ -3217,7 +3174,7 @@ }, "postalCode": { "type": "string", - "description": "The postal code of that address. It conatins a series of letters or digits or both, sometimes including spaces or punctuation." + "description": "The postal code of that address. It contains a series of letters or digits or both, sometimes including spaces or punctuation." }, "countryCode": { "type": "string", @@ -3260,14 +3217,15 @@ "description": "When true, we will accept backorder confirmations for this item." }, "netCost": { - "description": "The net cost of an item per each or weight unit.", + "description": "The price to Amazon each (cost).", "$ref": "#/definitions/Money" }, "listPrice": { - "description": "The list price of an item per each or weight unit.", + "description": "The price to Amazon each (list).", "$ref": "#/definitions/Money" } - } + }, + "description": "Represents an individual item in an order, including item details, quantities, pricing, and backorder information." }, "Money": { "type": "object", @@ -3279,37 +3237,9 @@ }, "amount": { "$ref": "#/definitions/Decimal" - }, - "unitOfMeasure": { - "type": "string", - "description": "The unit of measure for prices of items sold by weight. If this field is absent, the item is sold by eaches.", - "enum": [ - "POUNDS", - "OUNCES", - "GRAMS", - "KILOGRAMS" - ], - "x-docgen-enum-table-extension": [ - { - "value": "POUNDS", - "description": "Priced per Pound." - }, - { - "value": "OUNCES", - "description": "Priced per Ounce." - }, - { - "value": "GRAMS", - "description": "Priced per Gram." - }, - { - "value": "KILOGRAMS", - "description": "Priced per Kilogram." - } - ] } }, - "description": "An amount of money. Includes the currency code and an optional unit of measure for items priced by weight." + "description": "An amount of money, including units in the form of currency." }, "Decimal": { "type": "string", @@ -3319,14 +3249,14 @@ "type": "object", "properties": { "payload": { - "description": "The payload for the submitAcknowledgement operation.", + "description": "The payload for the `submitAcknowledgement` operation.", "$ref": "#/definitions/TransactionId" }, "errors": { "$ref": "#/definitions/ErrorList" } }, - "description": "The response schema for the submitAcknowledgement operation" + "description": "The response schema for the `submitAcknowledgement` operation" }, "TransactionId": { "type": "object", @@ -3335,7 +3265,8 @@ "type": "string", "description": "GUID assigned by Amazon to identify this transaction. This value can be used with the Transaction Status API to return the status of this transaction." } - } + }, + "description": "Response containing the transaction ID." }, "ErrorList": { "type": "array", @@ -3351,10 +3282,11 @@ "type": "array", "items": { "$ref": "#/definitions/OrderAcknowledgement" - } + }, + "description": "An array of order acknowledgements to be submitted." } }, - "description": "The request schema for the submitAcknowledgment operation." + "description": "The request schema for the `submitAcknowledgment` operation." }, "OrderAcknowledgement": { "type": "object", @@ -3376,7 +3308,7 @@ "acknowledgementDate": { "type": "string", "format": "date-time", - "description": "The date and time when the purchase order is acknowledged, in ISO-8601 date/time format." + "description": "The date and time when the purchase order is acknowledged, in ISO 8601 date/time format." }, "items": { "type": "array", @@ -3385,7 +3317,8 @@ "$ref": "#/definitions/OrderAcknowledgementItem" } } - } + }, + "description": "Represents an acknowledgement for an order, including the purchase order number, selling party details, acknowledgement date, and a list of acknowledged items." }, "OrderAcknowledgementItem": { "type": "object", @@ -3411,11 +3344,11 @@ "$ref": "#/definitions/ItemQuantity" }, "netCost": { - "description": "The net cost of an item per each or weight unit that must match the cost on the invoice. This is a required field. If left blank, Amazon systems will reject the file. Price information must not be zero or negative.", + "description": "The cost to Amazon, which should match the cost on the invoice. This is a required field. If this is left blank the file will reject in Amazon systems. Price information should not be zero or negative. Indicates a net unit price.", "$ref": "#/definitions/Money" }, "listPrice": { - "description": "The list price of an item per each or weight unit. Required only if a vendor sells books at list price.", + "description": "The list price. This is required only if a vendor sells books with a list price.", "$ref": "#/definitions/Money" }, "discountMultiplier": { @@ -3454,7 +3387,7 @@ }, { "value": "Backordered", - "description": "Vendor placed a backorder to fulfill the original order and provides a scheduledShipDate or scheduledDeliveryDate which is different than the expectedShipDate or expectedDeliveryDate provided in the purchase order." + "description": "Vendor placed a backorder to fulfill the original order and provides a `scheduledShipDate` or `scheduledDeliveryDate` which is different than the `expectedShipDate` or `expectedDeliveryDate` provided in the purchase order." }, { "value": "Rejected", @@ -3469,12 +3402,12 @@ "scheduledShipDate": { "type": "string", "format": "date-time", - "description": "Estimated ship date per line item. Must be in ISO-8601 date/time format." + "description": "Estimated ship date per line item. Must be in ISO 8601 date/time format." }, "scheduledDeliveryDate": { "type": "string", "format": "date-time", - "description": "Estimated delivery date per line item. Must be in ISO-8601 date/time format." + "description": "Estimated delivery date per line item. Must be in ISO 8601 date/time format." }, "rejectionReason": { "type": "string", @@ -3499,7 +3432,8 @@ } ] } - } + }, + "description": "Represents the acknowledgement details for an individual order item, including the acknowledgement code, acknowledged quantity, scheduled ship and delivery dates, and rejection reason (if applicable)." }, "ItemQuantity": { "type": "object", @@ -3544,7 +3478,7 @@ "$ref": "#/definitions/ErrorList" } }, - "description": "The response schema for the getPurchaseOrdersStatus operation." + "description": "The response schema for the `getPurchaseOrdersStatus` operation." }, "OrderListStatus": { "type": "object", @@ -3556,9 +3490,11 @@ "type": "array", "items": { "$ref": "#/definitions/OrderStatus" - } + }, + "description": "Represents an order status within the `OrderListStatus`." } - } + }, + "description": "A list of order statuses." }, "OrderStatus": { "type": "object", @@ -3596,12 +3532,12 @@ "purchaseOrderDate": { "type": "string", "format": "date-time", - "description": "The date the purchase order was placed. Must be in ISO-8601 date/time format." + "description": "The date the purchase order was placed. Must be in ISO 8601 date/time format." }, "lastUpdatedDate": { "type": "string", "format": "date-time", - "description": "The date when the purchase order was last updated. Must be in ISO-8601 date/time format." + "description": "The date when the purchase order was last updated. Must be in ISO 8601 date/time format." }, "sellingParty": { "description": "Name/Address and tax details of the selling party.", @@ -3644,11 +3580,11 @@ "description": "The vendor selected product identification of the item." }, "netCost": { - "description": "The net cost of an item per each or weight unit.", + "description": "The net cost to Amazon each (cost).", "$ref": "#/definitions/Money" }, "listPrice": { - "description": "The list price of an item per each or weight unit.", + "description": "The list Price to Amazon each (list).", "$ref": "#/definitions/Money" }, "orderedQuantity": { @@ -3751,11 +3687,12 @@ "lastReceiveDate": { "type": "string", "format": "date-time", - "description": "The date when the most recent item was received at the buyer's warehouse. Must be in ISO-8601 date/time format." + "description": "The date when the most recent item was received at the buyer's warehouse. Must be in ISO 8601 date/time format." } } } - } + }, + "description": "Represents the current status of an order item, including acknowledgement and receiving details." }, "OrderedQuantityDetails": { "type": "object", @@ -3763,7 +3700,7 @@ "updatedDate": { "type": "string", "format": "date-time", - "description": "The date when the line item quantity was updated by buyer. Must be in ISO-8601 date/time format." + "description": "The date when the line item quantity was updated by the buyer. Must be in ISO 8601 date/time format." }, "orderedQuantity": { "description": "Item quantity ordered.", @@ -3774,7 +3711,7 @@ "$ref": "#/definitions/ItemQuantity" } }, - "description": "Details of item quantity ordered" + "description": "Details of the item quantity ordered." }, "AcknowledgementStatusDetails": { "type": "object", @@ -3782,18 +3719,18 @@ "acknowledgementDate": { "type": "string", "format": "date-time", - "description": "The date when the line item was confirmed by vendor. Must be in ISO-8601 date/time format." + "description": "The date when the line item was confirmed by the vendor. Must be in ISO 8601 date/time format." }, "acceptedQuantity": { - "description": "Item quantity accepted by vendor to be shipped.", + "description": "Item quantity accepted by the vendor to be shipped.", "$ref": "#/definitions/ItemQuantity" }, "rejectedQuantity": { - "description": "Item quantity rejected by vendor.", + "description": "Item quantity rejected by the vendor.", "$ref": "#/definitions/ItemQuantity" } }, - "description": "Details of item quantity ordered" + "description": "Details of the item quantity ordered" }, "Error": { "type": "object", From 7df9e8c8636a0bf8edb143cdcf1c6211a0959c0c Mon Sep 17 00:00:00 2001 From: Jack Evoniuk Date: Thu, 27 Jun 2024 12:00:53 -0700 Subject: [PATCH 319/340] Clarify format for FreightReadyDate --- .../fulfillment-inbound-api-model/fulfillmentInboundV0.json | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/models/fulfillment-inbound-api-model/fulfillmentInboundV0.json b/models/fulfillment-inbound-api-model/fulfillmentInboundV0.json index 64b5a6a77..a7af1bade 100644 --- a/models/fulfillment-inbound-api-model/fulfillmentInboundV0.json +++ b/models/fulfillment-inbound-api-model/fulfillmentInboundV0.json @@ -5136,7 +5136,7 @@ "$ref": "#/definitions/SellerFreightClass" }, "FreightReadyDate": { - "description": "The date that the shipment will be ready to be picked up by the carrier.", + "description": "The date on which the shipment is ready for carrier pickup. Must be in YYYY-MM-DD format.", "$ref": "#/definitions/DateStringType" }, "PalletList": { @@ -5181,7 +5181,7 @@ "$ref": "#/definitions/SellerFreightClass" }, "FreightReadyDate": { - "description": "The date that the shipment will be ready to be picked up by the carrier. Must be in YYYY-MM-DD format.", + "description": "The date on which the shipment is ready for carrier pickup. Must be in YYYY-MM-DD format.", "$ref": "#/definitions/DateStringType" }, "PalletList": { From ed5fa7ab2b09fb3fb91034751e1de301b5f4f554 Mon Sep 17 00:00:00 2001 From: Gibran Waldron Date: Thu, 27 Jun 2024 14:03:33 -0700 Subject: [PATCH 320/340] Update Merchant Fulfillment v0 model with Benefits to ShippingService. --- .../merchantFulfillmentV0.json | 345 +++++++++--------- 1 file changed, 179 insertions(+), 166 deletions(-) diff --git a/models/merchant-fulfillment-api-model/merchantFulfillmentV0.json b/models/merchant-fulfillment-api-model/merchantFulfillmentV0.json index 64e4dad87..e67ff821d 100644 --- a/models/merchant-fulfillment-api-model/merchantFulfillmentV0.json +++ b/models/merchant-fulfillment-api-model/merchantFulfillmentV0.json @@ -1,7 +1,7 @@ { "swagger": "2.0", "info": { - "description": "The Selling Partner API for Merchant Fulfillment helps you build applications that let sellers purchase shipping for non-Prime and Prime orders using Amazon’s Buy Shipping Services.", + "description": "With the Selling Partner API for Merchant Fulfillment, you can build applications that sellers can use to purchase shipping for non-Prime and Prime orders using Amazon's Buy Shipping Services.", "version": "v0", "title": "Selling Partner API for Merchant Fulfillment", "contact": { @@ -29,12 +29,13 @@ "tags": [ "merchantFulfillment" ], - "description": "Returns a list of shipping service offers that satisfy the specified shipment request details.\n\n**Usage Plan:**\n\n| Rate (requests per second) | Burst |\n| ---- | ---- |\n| 5 | 10 |\n\nThe `x-amzn-RateLimit-Limit` response header returns the usage plan rate limits that were applied to the requested operation, when available. The table above indicates the default rate and burst values for this operation. Selling partners whose business demands require higher throughput may see higher rate and burst values than those shown here. For more information, see [Usage Plans and Rate Limits in the Selling Partner API](https://developer-docs.amazon.com/sp-api/docs/usage-plans-and-rate-limits-in-the-sp-api).", + "description": "Returns a list of shipping service offers that satisfy the specified shipment request details.\n\n**Usage Plan:**\n\n| Rate (requests per second) | Burst |\n| ---- | ---- |\n| 5 | 10 |\n\nThe `x-amzn-RateLimit-Limit` response header returns the usage plan rate limits that are applied to the requested operation when available. The preceding table indicates the default rate and burst values for this operation. Selling partners whose business demands require higher throughput may see higher rate and burst values than those shown here. For more information, refer to [Usage Plans and Rate Limits in the SP-API](https://developer-docs.amazon.com/sp-api/docs/usage-plans-and-rate-limits-in-the-sp-api).", "operationId": "getEligibleShipmentServices", "parameters": [ { "in": "body", "name": "body", + "description": "Request schema for GetEligibleShipmentServices operation.", "required": true, "schema": { "$ref": "#/definitions/GetEligibleShipmentServicesRequest" @@ -43,7 +44,7 @@ ], "responses": { "200": { - "description": "Success", + "description": "Success.", "schema": { "$ref": "#/definitions/GetEligibleShipmentServicesResponse" }, @@ -106,8 +107,8 @@ "payload": { "ShippingServiceList": [ { - "ShippingServiceName": "UPS 2nd Day Air\u00AE", - "CarrierName": "UPS\u00AE", + "ShippingServiceName": "UPS 2nd Day Air\\u00AE", + "CarrierName": "UPS\\u00AE", "ShippingServiceId": "UPS_PTP_2ND_DAY_AIR", "ShippingServiceOfferId": "WHgxtyn6qjGGaCzOCog1azF5HLHje5Pz3Lc2Fmt5eKoZAReW8oJ1SMumuBS8lA/Hjuglhyiu0+KRLvyJxFV0PB9YFMDhygs3VyTL0WGYkGxiuRkmuEvpqldUn9rrkWVodqnR4vx2VtXvtER/Ju6RqYoddJZGy6RS2KLzzhQ2NclN0NYXMZVqpOe5RsRBddXaGuJr7oza3M52+JzChocAHzcurIhCRynpbxfmNLzZMQEbgnpGLzuaoSMzfxg90/NaXFR/Ou01du/uKd5AbfMW/AxAKP9ht6Oi9lDHq6WkGqvjkVLW0/jj/fBgblIwcs+t", "ShipDate": "2019-10-28T16:36:36Z", @@ -141,11 +142,17 @@ { "LabelFormat": "PNG" } - ] + ], + "Benefits": { + "IncludedBenefits": [ + "CLAIMS_PROTECTED" + ], + "ExcludedBenefits": [] + } }, { - "ShippingServiceName": "UPS Next Day Air Saver\u00AE", - "CarrierName": "UPS\u00AE", + "ShippingServiceName": "UPS Next Day Air Saver\\u00AE", + "CarrierName": "UPS\\u00AE", "ShippingServiceId": "UPS_PTP_NEXT_DAY_AIR_SAVER", "ShippingServiceOfferId": "WHgxtyn6qjGGaCzOCog1azF5HLHje5Pz3Lc2Fmt5eKqqhKGQ2YZmuxsXKVXmdgdWNvfxb1qfm5bGm8NuqlqnNT3eTiJ4viTctepggbeUKUSykClJ+Qmw43zdA8wsgREhQCmb4Bbo/skapLQS1F9uwH2FgY5SfMsj/egudyocpVRT45KSQAT0H5YiXW3OyyRAae9fZ0RzDJAABHiisOyYyXnB1mtWOZqc7rlGR4yyqN7jmiT4t8dmuGPX7ptY4qskrN+6VHZO9bM9tdDS0ysHhAVv4jO3Q5sWFg4nEPaARWSsrpa6zSGMLxAOj56O3tcP", "ShipDate": "2019-10-28T16:36:36Z", @@ -179,12 +186,23 @@ { "LabelFormat": "PNG" } - ] + ], + "Benefits": { + "IncludedBenefits": [], + "ExcludedBenefits": [ + { + "Benefit": "CLAIMS_PROTECTED", + "ReasonCodes": [ + "LATE_DELIVERY_RISK" + ] + } + ] + } } ], "TemporarilyUnavailableCarrierList": [ { - "CarrierName": "UPS\u00AE" + "CarrierName": "UPS\\u00AE" }, { "CarrierName": "DHLECOMMERCE" @@ -278,15 +296,11 @@ } }, "401": { - "description": "The request's Authorization header is not formatted correctly or does not contain a valid token.", + "description": "The request's authorization header is not formatted correctly or does not contain a valid token.", "schema": { "$ref": "#/definitions/GetEligibleShipmentServicesResponse" }, "headers": { - "x-amzn-RateLimit-Limit": { - "type": "string", - "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." - }, "x-amzn-RequestId": { "type": "string", "description": "Unique request reference identifier." @@ -327,10 +341,6 @@ "$ref": "#/definitions/GetEligibleShipmentServicesResponse" }, "headers": { - "x-amzn-RateLimit-Limit": { - "type": "string", - "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." - }, "x-amzn-RequestId": { "type": "string", "description": "Unique request reference identifier." @@ -343,10 +353,6 @@ "$ref": "#/definitions/GetEligibleShipmentServicesResponse" }, "headers": { - "x-amzn-RateLimit-Limit": { - "type": "string", - "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." - }, "x-amzn-RequestId": { "type": "string", "description": "Unique request reference identifier." @@ -359,10 +365,6 @@ "$ref": "#/definitions/GetEligibleShipmentServicesResponse" }, "headers": { - "x-amzn-RateLimit-Limit": { - "type": "string", - "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." - }, "x-amzn-RequestId": { "type": "string", "description": "Unique request reference identifier." @@ -377,7 +379,7 @@ "tags": [ "merchantFulfillment" ], - "description": "Returns the shipment information for an existing shipment.\n\n**Usage Plan:**\n\n| Rate (requests per second) | Burst |\n| ---- | ---- |\n| 1 | 1 |\n\nThe `x-amzn-RateLimit-Limit` response header returns the usage plan rate limits that were applied to the requested operation, when available. The table above indicates the default rate and burst values for this operation. Selling partners whose business demands require higher throughput may see higher rate and burst values than those shown here. For more information, see [Usage Plans and Rate Limits in the Selling Partner API](https://developer-docs.amazon.com/sp-api/docs/usage-plans-and-rate-limits-in-the-sp-api).", + "description": "Returns the shipment information for an existing shipment.\n\n**Usage Plan:**\n\n| Rate (requests per second) | Burst |\n| ---- | ---- |\n| 1 | 1 |\n\nThe `x-amzn-RateLimit-Limit` response header returns the usage plan rate limits that are applied to the requested operation when available. The preceding table indicates the default rate and burst values for this operation. Selling partners whose business demands require higher throughput may see higher rate and burst values than those shown here. For more information, refer to [Usage Plans and Rate Limits in the SP-API](https://developer-docs.amazon.com/sp-api/docs/usage-plans-and-rate-limits-in-the-sp-api).", "operationId": "getShipment", "parameters": [ { @@ -391,7 +393,7 @@ ], "responses": { "200": { - "description": "Success", + "description": "Success.", "schema": { "$ref": "#/definitions/GetShipmentResponse" }, @@ -462,8 +464,8 @@ "Unit": "oz" }, "ShippingService": { - "ShippingServiceName": "UPS 2nd Day Air\u00AE", - "CarrierName": "UPS\u00AE", + "ShippingServiceName": "UPS 2nd Day Air\\u00AE", + "CarrierName": "UPS\\u00AE", "ShippingServiceId": "UPS_PTP_2ND_DAY_AIR", "ShippingServiceOfferId": "", "ShipDate": "2019-10-28T18:00:00Z", @@ -478,7 +480,18 @@ "Amount": 0.0 } }, - "RequiresAdditionalSellerInputs": false + "RequiresAdditionalSellerInputs": false, + "Benefits": { + "IncludedBenefits": [], + "ExcludedBenefits": [ + { + "Benefit": "CLAIMS_PROTECTED", + "ReasonCodes": [ + "LATE_DELIVERY_RISK" + ] + } + ] + } }, "Label": { "Dimensions": { @@ -541,15 +554,11 @@ } }, "401": { - "description": "The request's Authorization header is not formatted correctly or does not contain a valid token.", + "description": "The request's authorization header is not formatted correctly or does not contain a valid token.", "schema": { "$ref": "#/definitions/GetShipmentResponse" }, "headers": { - "x-amzn-RateLimit-Limit": { - "type": "string", - "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." - }, "x-amzn-RequestId": { "type": "string", "description": "Unique request reference identifier." @@ -590,10 +599,6 @@ "$ref": "#/definitions/GetShipmentResponse" }, "headers": { - "x-amzn-RateLimit-Limit": { - "type": "string", - "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." - }, "x-amzn-RequestId": { "type": "string", "description": "Unique request reference identifier." @@ -606,10 +611,6 @@ "$ref": "#/definitions/GetShipmentResponse" }, "headers": { - "x-amzn-RateLimit-Limit": { - "type": "string", - "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." - }, "x-amzn-RequestId": { "type": "string", "description": "Unique request reference identifier." @@ -622,10 +623,6 @@ "$ref": "#/definitions/GetShipmentResponse" }, "headers": { - "x-amzn-RateLimit-Limit": { - "type": "string", - "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." - }, "x-amzn-RequestId": { "type": "string", "description": "Unique request reference identifier." @@ -638,7 +635,7 @@ "tags": [ "merchantFulfillment" ], - "description": "Cancel the shipment indicated by the specified shipment identifier.\n\n**Usage Plan:**\n\n| Rate (requests per second) | Burst |\n| ---- | ---- |\n| 1 | 1 |\n\nThe `x-amzn-RateLimit-Limit` response header returns the usage plan rate limits that were applied to the requested operation, when available. The table above indicates the default rate and burst values for this operation. Selling partners whose business demands require higher throughput may see higher rate and burst values than those shown here. For more information, see [Usage Plans and Rate Limits in the Selling Partner API](https://developer-docs.amazon.com/sp-api/docs/usage-plans-and-rate-limits-in-the-sp-api).", + "description": "Cancel the shipment indicated by the specified shipment identifier.\n\n**Usage Plan:**\n\n| Rate (requests per second) | Burst |\n| ---- | ---- |\n| 1 | 1 |\n\nThe `x-amzn-RateLimit-Limit` response header returns the usage plan rate limits that are applied to the requested operation when available. The preceding table indicates the default rate and burst values for this operation. Selling partners whose business demands require higher throughput may see higher rate and burst values than those shown here. For more information, refer to [Usage Plans and Rate Limits in the SP-API](https://developer-docs.amazon.com/sp-api/docs/usage-plans-and-rate-limits-in-the-sp-api).", "operationId": "cancelShipment", "parameters": [ { @@ -652,7 +649,7 @@ ], "responses": { "200": { - "description": "Success", + "description": "Success.", "schema": { "$ref": "#/definitions/CancelShipmentResponse" }, @@ -723,8 +720,8 @@ "Unit": "oz" }, "ShippingService": { - "ShippingServiceName": "UPS 2nd Day Air\u00AE", - "CarrierName": "UPS\u00AE", + "ShippingServiceName": "UPS 2nd Day Air\\u00AE", + "CarrierName": "UPS\\u00AE", "ShippingServiceId": "UPS_PTP_2ND_DAY_AIR", "ShippingServiceOfferId": "", "ShipDate": "2019-10-28T18:00:00Z", @@ -798,15 +795,11 @@ } }, "401": { - "description": "The request's Authorization header is not formatted correctly or does not contain a valid token.", + "description": "The request's authorization header is not formatted correctly or does not contain a valid token.", "schema": { "$ref": "#/definitions/CancelShipmentResponse" }, "headers": { - "x-amzn-RateLimit-Limit": { - "type": "string", - "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." - }, "x-amzn-RequestId": { "type": "string", "description": "Unique request reference identifier." @@ -847,10 +840,6 @@ "$ref": "#/definitions/CancelShipmentResponse" }, "headers": { - "x-amzn-RateLimit-Limit": { - "type": "string", - "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." - }, "x-amzn-RequestId": { "type": "string", "description": "Unique request reference identifier." @@ -863,10 +852,6 @@ "$ref": "#/definitions/CancelShipmentResponse" }, "headers": { - "x-amzn-RateLimit-Limit": { - "type": "string", - "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." - }, "x-amzn-RequestId": { "type": "string", "description": "Unique request reference identifier." @@ -879,10 +864,6 @@ "$ref": "#/definitions/CancelShipmentResponse" }, "headers": { - "x-amzn-RateLimit-Limit": { - "type": "string", - "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." - }, "x-amzn-RequestId": { "type": "string", "description": "Unique request reference identifier." @@ -897,12 +878,13 @@ "tags": [ "merchantFulfillment" ], - "description": "Create a shipment with the information provided.\n\n**Usage Plan:**\n\n| Rate (requests per second) | Burst |\n| ---- | ---- |\n| 1 | 1 |\n\nThe `x-amzn-RateLimit-Limit` response header returns the usage plan rate limits that were applied to the requested operation, when available. The table above indicates the default rate and burst values for this operation. Selling partners whose business demands require higher throughput may see higher rate and burst values than those shown here. For more information, see [Usage Plans and Rate Limits in the Selling Partner API](https://developer-docs.amazon.com/sp-api/docs/usage-plans-and-rate-limits-in-the-sp-api).", + "description": "Create a shipment with the information provided.\n\n**Usage Plan:**\n\n| Rate (requests per second) | Burst |\n| ---- | ---- |\n| 1 | 1 |\n\nThe `x-amzn-RateLimit-Limit` response header returns the usage plan rate limits that are applied to the requested operation when available. The preceding table indicates the default rate and burst values for this operation. Selling partners whose business demands require higher throughput may see higher rate and burst values than those shown here. For more information, refer to [Usage Plans and Rate Limits in the SP-API](https://developer-docs.amazon.com/sp-api/docs/usage-plans-and-rate-limits-in-the-sp-api).", "operationId": "createShipment", "parameters": [ { "in": "body", "name": "body", + "description": "Request schema for `CreateShipment` operation.", "required": true, "schema": { "$ref": "#/definitions/CreateShipmentRequest" @@ -911,7 +893,7 @@ ], "responses": { "200": { - "description": "Success", + "description": "Success.", "schema": { "$ref": "#/definitions/CreateShipmentResponse" }, @@ -1018,8 +1000,8 @@ "Unit": "oz" }, "ShippingService": { - "ShippingServiceName": "UPS 2nd Day Air\u00AE", - "CarrierName": "UPS\u00AE", + "ShippingServiceName": "UPS 2nd Day Air\\u00AE", + "CarrierName": "UPS\\u00AE", "ShippingServiceId": "UPS_PTP_2ND_DAY_AIR", "ShippingServiceOfferId": "WHgxtyn6qjGGaCzOCog1azF5HLHje5Pz3Lc2Fmt5eKoZAReW8oJ1SMumuBS8lA/Hjuglhyiu0+KRLvyJxFV0PB9YFMDhygs3VyTL0WGYkGxiuRkmuEvpqldUn9rrkWVodqnR4vx2VtXvtER/Ju6RqYoddJZGy6RS2KLzzhQ2NclN0NYXMZVqpOe5RsRBddXaGuJr7oza3M52+JzChocAHzcurIhCRynpbxfmNLzZMQEbgnpGLzuaoSMzfxg90/NaXFR/Ou01du/uKd5AbfMW/AxAKP9ht6Oi9lDHq6WkGqvjkVLW0/jj/fBgblIwcs+t", "ShipDate": "2019-10-28T16:37:37Z", @@ -1036,7 +1018,13 @@ "Amount": 0 } }, - "RequiresAdditionalSellerInputs": false + "RequiresAdditionalSellerInputs": false, + "Benefits": { + "IncludedBenefits": [ + "CLAIMS_PROTECTED" + ], + "ExcludedBenefits": [] + } }, "Label": { "Dimensions": { @@ -1136,15 +1124,11 @@ } }, "401": { - "description": "The request's Authorization header is not formatted correctly or does not contain a valid token.", + "description": "The request's authorization header is not formatted correctly or does not contain a valid token.", "schema": { "$ref": "#/definitions/CreateShipmentResponse" }, "headers": { - "x-amzn-RateLimit-Limit": { - "type": "string", - "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." - }, "x-amzn-RequestId": { "type": "string", "description": "Unique request reference identifier." @@ -1185,10 +1169,6 @@ "$ref": "#/definitions/CreateShipmentResponse" }, "headers": { - "x-amzn-RateLimit-Limit": { - "type": "string", - "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." - }, "x-amzn-RequestId": { "type": "string", "description": "Unique request reference identifier." @@ -1201,10 +1181,6 @@ "$ref": "#/definitions/CreateShipmentResponse" }, "headers": { - "x-amzn-RateLimit-Limit": { - "type": "string", - "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." - }, "x-amzn-RequestId": { "type": "string", "description": "Unique request reference identifier." @@ -1217,10 +1193,6 @@ "$ref": "#/definitions/CreateShipmentResponse" }, "headers": { - "x-amzn-RateLimit-Limit": { - "type": "string", - "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." - }, "x-amzn-RequestId": { "type": "string", "description": "Unique request reference identifier." @@ -1235,12 +1207,13 @@ "tags": [ "merchantFulfillment" ], - "description": "Gets a list of additional seller inputs required for a ship method. This is generally used for international shipping.\n\n**Usage Plan:**\n\n| Rate (requests per second) | Burst |\n| ---- | ---- |\n| 1 | 1 |\n\nThe `x-amzn-RateLimit-Limit` response header returns the usage plan rate limits that were applied to the requested operation, when available. The table above indicates the default rate and burst values for this operation. Selling partners whose business demands require higher throughput may see higher rate and burst values than those shown here. For more information, see [Usage Plans and Rate Limits in the Selling Partner API](https://developer-docs.amazon.com/sp-api/docs/usage-plans-and-rate-limits-in-the-sp-api).", + "description": "Gets a list of additional seller inputs required for a ship method. This is generally used for international shipping.\n\n**Usage Plan:**\n\n| Rate (requests per second) | Burst |\n| ---- | ---- |\n| 1 | 1 |\n\nThe `x-amzn-RateLimit-Limit` response header returns the usage plan rate limits that are applied to the requested operation when available. The preceding table indicates the default rate and burst values for this operation. Selling partners whose business demands require higher throughput may see higher rate and burst values than those shown here. For more information, refer to [Usage Plans and Rate Limits in the SP-API](https://developer-docs.amazon.com/sp-api/docs/usage-plans-and-rate-limits-in-the-sp-api).", "operationId": "getAdditionalSellerInputs", "parameters": [ { "in": "body", "name": "body", + "description": "Request schema for the `GetAdditionalSellerInputs` operation.", "required": true, "schema": { "$ref": "#/definitions/GetAdditionalSellerInputsRequest" @@ -1249,7 +1222,7 @@ ], "responses": { "200": { - "description": "Success", + "description": "Success.", "schema": { "$ref": "#/definitions/GetAdditionalSellerInputsResponse" }, @@ -1357,15 +1330,11 @@ } }, "401": { - "description": "The request's Authorization header is not formatted correctly or does not contain a valid token.", + "description": "The request's authorization header is not formatted correctly or does not contain a valid token.", "schema": { "$ref": "#/definitions/GetAdditionalSellerInputsResponse" }, "headers": { - "x-amzn-RateLimit-Limit": { - "type": "string", - "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." - }, "x-amzn-RequestId": { "type": "string", "description": "Unique request reference identifier." @@ -1406,10 +1375,6 @@ "$ref": "#/definitions/GetAdditionalSellerInputsResponse" }, "headers": { - "x-amzn-RateLimit-Limit": { - "type": "string", - "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." - }, "x-amzn-RequestId": { "type": "string", "description": "Unique request reference identifier." @@ -1422,10 +1387,6 @@ "$ref": "#/definitions/GetAdditionalSellerInputsResponse" }, "headers": { - "x-amzn-RateLimit-Limit": { - "type": "string", - "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." - }, "x-amzn-RequestId": { "type": "string", "description": "Unique request reference identifier." @@ -1438,10 +1399,6 @@ "$ref": "#/definitions/GetAdditionalSellerInputsResponse" }, "headers": { - "x-amzn-RateLimit-Limit": { - "type": "string", - "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." - }, "x-amzn-RequestId": { "type": "string", "description": "Unique request reference identifier." @@ -1462,7 +1419,7 @@ "properties": { "code": { "type": "string", - "description": "An error code that identifies the type of error that occured." + "description": "An error code that identifies the type of error that occurred." }, "message": { "type": "string", @@ -1569,7 +1526,11 @@ "description": "The available shipping service options." }, "AvailableFormatOptionsForLabel": { - "$ref": "#/definitions/AvailableFormatOptionsForLabelList" + "type": "array", + "description": "The available label formats.", + "items": { + "$ref": "#/definitions/LabelFormatOption" + } }, "AvailableFormatOptionsForLabelList": { "type": "array", @@ -1812,15 +1773,61 @@ "type": "string", "description": "An Amazon-defined order identifier, in 3-7-7 format." }, + "Benefits": { + "type": "object", + "description": "Benefits that are included and excluded for each shipping offer. Benefits represents services provided by Amazon (for example, `CLAIMS_PROTECTED`) when sellers purchase shipping through Amazon. Benefit details are made available for any shipment placed on or after January 1st 2024 00:00 UTC.", + "properties": { + "IncludedBenefits": { + "$ref": "#/definitions/IncludedBenefits" + }, + "ExcludedBenefits": { + "$ref": "#/definitions/ExcludedBenefits" + } + } + }, + "IncludedBenefits": { + "type": "array", + "description": "A list of included benefits.", + "items": { + "type": "string" + } + }, + "ExcludedBenefits": { + "type": "array", + "description": "A list of excluded benefits. Refer to the `ExcludeBenefit` object for further documentation.", + "items": { + "$ref": "#/definitions/ExcludedBenefit" + } + }, + "ExcludedBenefit": { + "type": "object", + "description": "An object representing an excluded benefit that is excluded for a shipping offer or rate.", + "properties": { + "Benefit": { + "description": "A benefit that is being excluded from a shipment.", + "type": "string" + }, + "ReasonCodes": { + "$ref": "#/definitions/ExcludedBenefitReasonCodes" + } + } + }, + "ExcludedBenefitReasonCodes": { + "type": "array", + "description": "List of reasons (for example, `LATE_DELIVERY_RISK`) why a benefit is excluded for a shipping offer.", + "items": { + "type": "string" + } + }, "CancelShipmentResponse": { "type": "object", "properties": { "payload": { - "description": "The payload for the cancelShipment operation.", + "description": "The payload for the `cancelShipment` operation.", "$ref": "#/definitions/Shipment" }, "errors": { - "description": "One or more unexpected errors occurred during the cancelShipment operation.", + "description": "One or more unexpected errors occurred during the `cancelShipment` operation.", "$ref": "#/definitions/ErrorList" } }, @@ -1843,7 +1850,7 @@ ], "properties": { "ShipmentRequestDetails": { - "description": "Shipment information required for creating a shipment.", + "description": "Shipment information required to create a shipment.", "$ref": "#/definitions/ShipmentRequestDetails" }, "ShippingServiceId": { @@ -1875,7 +1882,7 @@ "$ref": "#/definitions/Shipment" }, "errors": { - "description": "One or more unexpected errors occurred during the createShipment operation.", + "description": "One or more unexpected errors occurred during the `createShipment` operation.", "$ref": "#/definitions/ErrorList" } }, @@ -1883,6 +1890,7 @@ }, "ItemLevelFields": { "type": "object", + "description": "A list of item level fields.", "required": [ "AdditionalInputs", "Asin" @@ -1936,7 +1944,7 @@ "$ref": "#/definitions/ItemLevelFieldsList" } }, - "description": "The payload for the getAdditionalSellerInputs operation." + "description": "The payload for the `getAdditionalSellerInputs` operation." }, "GetAdditionalSellerInputsResponse": { "type": "object", @@ -1972,7 +1980,7 @@ }, "CustomTextForLabel": { "type": "string", - "description": "Custom text to print on the label.\n\nNote: Custom text is only included on labels that are in ZPL format (ZPL203). FedEx does not support CustomTextForLabel.", + "description": "Custom text to print on the label. Note: Custom text is only included on labels that are in ZPL format (ZPL203). FedEx does not support `CustomTextForLabel`.", "maxLength": 14 }, "DeliveryExperienceType": { @@ -1987,15 +1995,15 @@ "x-docgen-enum-table-extension": [ { "value": "DeliveryConfirmationWithAdultSignature", - "description": "Delivery confirmation with adult signature." + "description": "Delivery confirmation with an adult signature." }, { "value": "DeliveryConfirmationWithSignature", - "description": "Delivery confirmation with signature. Required for DPD (UK)." + "description": "Delivery confirmation with a signature. Required for DPD (UK)." }, { "value": "DeliveryConfirmationWithoutSignature", - "description": "Delivery confirmation without signature." + "description": "Delivery confirmation without a signature." }, { "value": "NoTracking", @@ -2105,13 +2113,13 @@ "$ref": "#/definitions/TermsAndConditionsNotAcceptedCarrierList" } }, - "description": "The payload for the getEligibleShipmentServices operation." + "description": "The payload for the `getEligibleShipmentServices` operation." }, "GetShipmentResponse": { "type": "object", "properties": { "payload": { - "description": "The payload for the getShipment operation.", + "description": "The payload for the `getShipment` operation.", "$ref": "#/definitions/Shipment" }, "errors": { @@ -2180,7 +2188,7 @@ }, "ItemList": { "type": "array", - "description": "The list of items to be included in a shipment.", + "description": "The list of items you want to include in a shipment.", "items": { "$ref": "#/definitions/Item" } @@ -2317,25 +2325,26 @@ }, "PackageDimension": { "type": "number", + "description": "Number that represents the given package dimension.", "format": "double" }, "PackageDimensions": { "type": "object", "properties": { "Length": { - "description": "The length dimension. If you don't specify PredefinedPackageDimensions, you must specify the Length.", + "description": "The length dimension. If you don't specify `PredefinedPackageDimensions`, you must specify the length.", "$ref": "#/definitions/PackageDimension" }, "Width": { - "description": "The width dimension. If you don't specify PredefinedPackageDimensions, you must specify the Width.", + "description": "The width dimension. If you don't specify `PredefinedPackageDimensions`, you must specify the width.", "$ref": "#/definitions/PackageDimension" }, "Height": { - "description": "The height dimension. If you don't specify PredefinedPackageDimensions, you must specify the Height.", + "description": "The height dimension. If you don't specify `PredefinedPackageDimensions`, you must specify the height.", "$ref": "#/definitions/PackageDimension" }, "Unit": { - "description": "The unit of measurement. If you don't specify PredefinedPackageDimensions, you must specify the Unit.", + "description": "The unit of measurement. If you don't specify `PredefinedPackageDimensions`, you must specify the unit.", "$ref": "#/definitions/UnitOfLength" }, "PredefinedPackageDimensions": { @@ -2356,7 +2365,7 @@ }, "PredefinedPackageDimensions": { "type": "string", - "description": "An enumeration of predefined parcel tokens. If you specify a PredefinedPackageDimensions token, you are not obligated to use a branded package from a carrier. For example, if you specify the FedEx_Box_10kg token, you do not have to use that particular package from FedEx. You are only obligated to use a box that matches the dimensions specified by the token.\n\nNote: Please note that carriers can have restrictions on the type of package allowed for certain ship methods. Check the carrier website for all details. Example: Flat rate pricing is available when materials are sent by USPS in a USPS-produced Flat Rate Envelope or Box.", + "description": "An enumeration of predefined parcel tokens. If you specify a `PredefinedPackageDimensions` token, you are not obligated to use a branded package from a carrier. For example, if you specify the `FedEx_Box_10kg` token, you do not have to use that particular package from FedEx. You are only obligated to use a box that matches the dimensions specified by the token. Note: Carriers can have restrictions on the type of package allowed for certain ship methods. Check the carrier website for details. Example: Flat rate pricing is available when materials are sent by USPS in a USPS-produced Flat Rate envelope or box.", "enum": [ "FedEx_Box_10kg", "FedEx_Box_25kg", @@ -2670,14 +2679,14 @@ "$ref": "#/definitions/Weight" }, "Insurance": { - "description": "If DeclaredValue was specified in a previous call to the createShipment operation, then Insurance indicates the amount that the carrier will use to insure the shipment. If DeclaredValue was not specified with a previous call to the createShipment operation, then the shipment will be insured for the carrier's minimum insurance amount, or the combined sale prices that the items are listed for in the shipment, whichever is less.", + "description": "If you specify `DeclaredValue` in a previous call to the `createShipment` operation, then `Insurance` indicates the shipment insurance amount that the carrier uses. If `DeclaredValue` isn't with a previous call to the `createShipment` operation, then the shipment is insured for the carrier's minimum insurance amount, or the combined sale prices that the items are listed for in the shipment.", "$ref": "#/definitions/CurrencyAmount" }, "ShippingService": { "$ref": "#/definitions/ShippingService" }, "Label": { - "description": "Data for creating a shipping label and dimensions for printing the label. If the shipment is canceled, an empty Label is returned.", + "description": "Data for creating a shipping label and dimensions for printing the label. If the shipment is canceled, an empty label is returned.", "$ref": "#/definitions/Label" }, "Status": { @@ -2688,7 +2697,7 @@ "$ref": "#/definitions/TrackingId" }, "CreatedDate": { - "description": "The date and time the shipment was created.", + "description": "The date and time the shipment is created.", "$ref": "#/definitions/Timestamp" }, "LastUpdatedDate": { @@ -2696,7 +2705,7 @@ "$ref": "#/definitions/Timestamp" } }, - "description": "The details of a shipment, including the shipment status." + "description": "The details of a shipment. Includes the shipment status." }, "ShipmentId": { "type": "string", @@ -2737,7 +2746,7 @@ "$ref": "#/definitions/Weight" }, "MustArriveByDate": { - "description": "The date by which the package must arrive to keep the promise to the customer, in ISO 8601 datetime format. If MustArriveByDate is specified, only shipping service offers that can be delivered by that date are returned.", + "description": "The date by which the package must arrive to keep the promise to the customer, in ISO 8601 date-time format. If `MustArriveByDate` is specified, only shipping service offers that can be delivered by that date are returned.", "$ref": "#/definitions/Timestamp" }, "ShipDate": { @@ -2767,15 +2776,15 @@ "x-docgen-enum-table-extension": [ { "value": "Purchased", - "description": "The seller purchased a label by calling the createShipment operation." + "description": "The seller purchased a label by calling the `createShipment` operation." }, { "value": "RefundPending", - "description": "The seller requested a label refund by calling the cancelShipment operation, and the refund request is being processed by the carrier.\n\nNote:\n\n* A seller can create a new shipment for an order while Status=RefundPending for a canceled shipment.\n* After a label refund is requested by calling the cancelShipment operation, the order status of the order remains \"Shipped\"." + "description": "The seller requested a label refund by calling the `cancelShipment` operation, and the refund request is being processed by the carrier. Note: A seller can create a new shipment for an order while `Status=RefundPending` for a canceled shipment. After you request a label refund (by calling `cancelShipment`), the status of the order remains `Shipped`." }, { "value": "RefundRejected", - "description": "The label refund request was rejected by the carrier. A refund request is rejected for either of the following reasons:\n\n* The cancellation window has expired. Cancellation policies vary by carrier. For more information about carrier cancellation policies, see the Seller Central Help.\n* The carrier has already accepted the shipment for delivery." + "description": "The label refund request is rejected by the carrier. A refund request is rejected because the cancellation window has expired, or the carrier has already accepted the shipment for delivery. Cancellation policies vary by carrier. For more information about carrier cancellation policies, refer to the Seller Central Help for your marketplace." }, { "value": "RefundApplied", @@ -2851,7 +2860,7 @@ "properties": { "ShippingServiceName": { "type": "string", - "description": "A plain text representation of a carrier's shipping service. For example, \"UPS Ground\" or \"FedEx Standard Overnight\". " + "description": "A plain text representation of a carrier's shipping service. For example, UPS Ground or FedEx Standard Overnight. " }, "CarrierName": { "type": "string", @@ -2896,6 +2905,9 @@ "RequiresAdditionalSellerInputs": { "type": "boolean", "description": "When true, additional seller inputs are required." + }, + "Benefits": { + "$ref": "#/definitions/Benefits" } }, "description": "A shipping service offer made by a carrier." @@ -2923,12 +2935,12 @@ "$ref": "#/definitions/DeliveryExperienceType" }, "DeclaredValue": { - "description": "The declared value of the shipment. The carrier uses this value to determine the amount to use to insure the shipment. If DeclaredValue is greater than the carrier's minimum insurance amount, the seller is charged for the additional insurance as determined by the carrier. For information about optional insurance coverage, see the Seller Central Help [UK](https://sellercentral.amazon.co.uk/gp/help/200204080) [US](https://sellercentral.amazon.com/gp/help/200204080).", + "description": "The declared value of the shipment. The carrier uses this value to determine the amount to use to insure the shipment. If `DeclaredValue` is greater than the carrier's minimum insurance amount, the seller is charged for the additional insurance as determined by the carrier. For information about optional insurance coverage, refer to the Seller Central Help: [UK](https://sellercentral.amazon.co.uk/gp/help/200204080), [US](https://sellercentral.amazon.com/gp/help/200204080).", "$ref": "#/definitions/CurrencyAmount" }, "CarrierWillPickUp": { "type": "boolean", - "description": "When true, the carrier will pick up the package.\n\nNote: Scheduled carrier pickup is available only using Dynamex (US), DPD (UK), and Royal Mail (UK)." + "description": "When true, the carrier will pick up the package. Note: Scheduled carrier pickup is available only using Dynamex (US), DPD (UK), and Royal Mail (UK)." }, "CarrierWillPickUpOption": { "$ref": "#/definitions/CarrierWillPickUpOption" @@ -2978,7 +2990,7 @@ }, "StateOrProvinceCode": { "type": "string", - "description": "The state or province code. **Note.** Required in the Canada, US, and UK marketplaces. Also required for shipments originating from China.", + "description": "The state or province code. Note: Required in Canada, US, and UK marketplaces. Also required for shipments originating in China.", "maxLength": 30 }, "RejectedShippingService": { @@ -2992,19 +3004,19 @@ "properties": { "CarrierName": { "type": "string", - "description": "The rejected shipping carrier name. e.g. USPS" + "description": "The rejected shipping carrier name. For example, USPS." }, "ShippingServiceName": { "type": "string", - "description": "The rejected shipping service localized name. e.g. FedEx Standard Overnight" + "description": "The rejected shipping service localized name. For example, FedEx Standard Overnight." }, "ShippingServiceId": { - "description": "The rejected shipping service identifier. e.g. FEDEX_PTP_STANDARD_OVERNIGHT", + "description": "The rejected shipping service identifier. For example, `FEDEX_PTP_STANDARD_OVERNIGHT`.", "$ref": "#/definitions/ShippingServiceIdentifier" }, "RejectionReasonCode": { "type": "string", - "description": "A reason code meant to be consumed programatically. e.g. CARRIER_CANNOT_SHIP_TO_POBOX" + "description": "A reason code meant to be consumed programatically. For example, `CARRIER_CANNOT_SHIP_TO_POBOX`." }, "RejectionReasonMessage": { "type": "string", @@ -3015,7 +3027,7 @@ }, "RejectedShippingServiceList": { "type": "array", - "description": "List of services that were for some reason unavailable for this request", + "description": "List of services that are for some reason unavailable for this request", "items": { "$ref": "#/definitions/RejectedShippingService" } @@ -3062,6 +3074,7 @@ }, "Timestamp": { "type": "string", + "description": "Date-time formatted timestamp.", "format": "date-time" }, "TrackingId": { @@ -3070,7 +3083,7 @@ }, "TransparencyCode": { "type": "string", - "description": "The Transparency code associated with the item. The Transparency serial number that needs to be submitted can be determined by the following:\n\n**1D or 2D Barcode:** This has a **T** logo. Submit either the 29-character alpha-numeric identifier beginning with **AZ** or **ZA**, or the 38-character Serialized Global Trade Item Number (SGTIN).\n**2D Barcode SN:** Submit the 7- to 20-character serial number barcode, which likely has the prefix **SN**. The serial number will be applied to the same side of the packaging as the GTIN (UPC/EAN/ISBN) barcode.\n**QR code SN:** Submit the URL that the QR code generates." + "description": "The transparency code associated with the item. Determine the transparency serial number with:\n\n**1D or 2D Barcode:** This has a **T** logo. Submit either the 29-character alpha-numeric identifier beginning with **AZ** or **ZA**, or the 38-character Serialized Global Trade Item Number (SGTIN).\n**2D Barcode SN:** Submit the 7- to 20-character serial number barcode, that likely has the prefix **SN**. The serial number is applied to the same side of the packaging as the GTIN (UPC/EAN/ISBN) barcode.\n**QR code SN:** Submit the URL that the QR code generates." }, "TransparencyCodeList": { "type": "array", @@ -3166,7 +3179,7 @@ }, { "value": "FL_OZ", - "description": "Fluid Ounce - Imperial unit of volume." + "description": "Fluid ounce - Imperial unit of volume." }, { "value": "GAL", @@ -3191,11 +3204,11 @@ "description": "The measurement value." } }, - "description": "Liquid Volume." + "description": "Liquid volume." }, "DangerousGoodsDetails": { "type": "object", - "description": "Details related to any dangerous goods/items that are being shipped.", + "description": "Details related to any dangerous goods or items that are shipped.", "properties": { "UnitedNationsRegulatoryId" : { "type": "string", @@ -3204,7 +3217,7 @@ }, "TransportationRegulatoryClass" : { "type": "string", - "description": "The specific regulatory class of the item being shipped.", + "description": "The specific regulatory class of the shipped item.", "pattern": "^[1-9](\\.[1-9])?$" }, "PackingGroup" : { @@ -3251,59 +3264,59 @@ "x-docgen-enum-table-extension": [ { "value": "PI965_SECTION_IA", - "description": "Ion PI965 Section IA (LiBa)" + "description": "Ion PI965 Section IA (LiBa)." }, { "value": "PI965_SECTION_IB", - "description": "Ion PI965 Section IB (LiBa)" + "description": "Ion PI965 Section IB (LiBa)." }, { "value": "PI965_SECTION_II", - "description": "Ion PI965 Section II (LiBa)" + "description": "Ion PI965 Section II (LiBa)." }, { "value": "PI966_SECTION_I", - "description": "Ion PI966 Section I (LiBa with equipment)" + "description": "Ion PI966 Section I (LiBa with equipment)." }, { "value": "PI966_SECTION_II", - "description": "Ion PI966 Section II (LiBa with equipment)" + "description": "Ion PI966 Section II (LiBa with equipment)." }, { "value": "PI967_SECTION_I", - "description": "Ion PI967 Section I (LiBa in equipment)" + "description": "Ion PI967 Section I (LiBa in equipment)." }, { "value": "PI967_SECTION_II", - "description": "Ion PI967 Section II (LiBa in equipment)" + "description": "Ion PI967 Section II (LiBa in equipment)." }, { "value": "PI968_SECTION_IA", - "description": "Metal PI968 Section IA (LiBa)" + "description": "Metal PI968 Section IA (LiBa)." }, { "value": "PI968_SECTION_IB", - "description": "Metal PI968 Section IB (LiBa)" + "description": "Metal PI968 Section IB (LiBa)." }, { "value": "PI969_SECTION_I", - "description": "Metal PI969 Section I (LiBa with equipment)" + "description": "Metal PI969 Section I (LiBa with equipment)." }, { "value": "PI969_SECTION_II", - "description": "Metal PI969 Section II (LiBa with equipment)" + "description": "Metal PI969 Section II (LiBa with equipment)." }, { "value": "PI970_SECTION_I", - "description": "Metal PI970 Section I (LiBa in equipment)" + "description": "Metal PI970 Section I (LiBa in equipment)." }, { "value": "PI970_SECTION_II", - "description": "Metal PI970 Section II (LiBa in equipment)" + "description": "Metal PI970 Section II (LiBa in equipment)." } ] } } } } -} +} \ No newline at end of file From 28a44771c646733dfd09c508394433c6e5715086 Mon Sep 17 00:00:00 2001 From: lisa-delaney Date: Fri, 28 Jun 2024 14:45:52 -0700 Subject: [PATCH 321/340] Update Fulfillment Outbound model --- .DS_Store | Bin 0 -> 8196 bytes models/.DS_Store | Bin 0 -> 6148 bytes .../fulfillmentOutbound_2020-07-01.json | 10 +--------- 3 files changed, 1 insertion(+), 9 deletions(-) create mode 100644 .DS_Store create mode 100644 models/.DS_Store diff --git a/.DS_Store b/.DS_Store new file mode 100644 index 0000000000000000000000000000000000000000..bf745114ab5e9299f4a5a32b813404fdf56a82ce GIT binary patch literal 8196 zcmeHMYitx%6u#fIlo>n7v{ERKWmguEKx?<UE=6-X| zz30xHGvArJXO=OB=A2&7ST$ozrh}taPTe&cALqwaO$s!ngdlsyEaqkk?r6qxGFQzG z6=4Lz2!s&`BM?R)jKGZ$0ot>9ldrSyi_x$TBM?U5e;EP(eu&Y*F&W^vK>yW2onHbF z@)E#rbWU}EZxahJ8Q{1;-;~xA)dK=k1SJN9IgQ8obi!nS;{t^_gD__Zu8g2Ufq!+f zi}}+Tk^;j%j6fKHt0TbEr;Lp-hw03iQokS1j9RAaB@$;Km6T2^n=Vh6%jG?(VW*Jt z(q7JOPG@&>snc<+Oz}LO*<~7q0c}=`V|!`SHnP5fsT(wXzl^Tf}FHl2p;HvqiU*TgufLk?x+}KDEEc9CYlIdC(ZpX1e5C8;LuzMxK1? z9(1hSi0uw&6@zJOFlVJbW20s9$)ua<4rU$8+TpmSXF7Iok7w-niVIB|>gjWxtk>c% zHlS%a*Vt*$T4vs8r4?zZN`AHNqkI{6myvY||@Q8{+&oao|ZwGDTzPi|`KxPM}% zR#B;{RkOSErfX&_qc`mi8n$lQLtO<^_lEl@z_w@ZHI1yIRG_BQPLCK9mDO|S&0i3S zh&fkmimUYGGUmfM(>tKWWm#M!vM8>|+6VnQ-DHQO^A&Y}BobM4hb-^r`j)Igy-=%> z6*Xj#?sO?Y!EGk$6-9G9_Yn((sk(ZNtY~_dmChJepjy{Ns%_nQ;d!8}x<^)e2Az=+ za>f<9NK30MYo9&9FWjDXz3rohefgGJw#ss!JDkoM+Y7|OqD8wb`wy1%++>q(dQR4l z#(j$-kzT&kMqM{_a(Z6%+{#EQ(j{wOlZ|HDd6QUA&q9!2jwe&6{AUtRE*H-xE`TvV z#>%Xs7$D!{B5WyZq&=;Z?WLSM%${aP*!%1RJIPM7Gwd8Y&wgeX*)Qx@b_pd=QHcdu zj9SzofqJY%6V_t`wxJVU*o6%C!NLd}co@SYcoc{61fIk5cmXfrHN1g0aTIUk7(T>D z_!yt!b9{l*_!8&vBhKR|T)=O*gx{qKX`ZxLS|Tl#>ZF9!Agz=(OIxHJQm>SehNNNP zfmBSlJ(E3?4v;+QEkfxQdPTeh~{tG3_p>GsX7Ji%_8RW*A~Y{~MvRgHIV zyi7yE+9FZ^oB%%OCuNGyd7l?k`RZq)x-i;BNnz~2l8PcViwUVs=gBKi@Y%Pk@u)V9 z(ng3&)n!qwj8aC3E26bgO`=Q{Vj|k0Y9*A1if_9*TB~Z1g|Jp_QngabNFi=e7pfXl zgwPyqjcPo<+yi$p{^=e-KZ@T{X|C`sr@Xo^sgc1152%xkz z)!IzcuJ?lDwRVh-2kGFA&l?x$n^5PMd_6<#k*Y?_z&f#*|^M}VLT{#*KR$aOD{n1fZo*WNW ztG4&>$;LzSXsSLE$$y{yCf%xhgK<$+JGD3#x(a0(f%#rhrob zV-KKeXsopWwA%@B_^d1aLEmSJqoe+xLi{TXKOkNIIZn4hz=npmzm3J*8jgS?@J|uo z^Fbo9238xR`shHWp8!z)jL?QMza`j5S`Dl=M$rQk#uaK@g?(ZOjD{r Date: Mon, 8 Jul 2024 10:59:48 -0700 Subject: [PATCH 322/340] Added the Benefits object to Merchant Fulfillment --- .DS_Store | Bin 8196 -> 0 bytes models/.DS_Store | Bin 6148 -> 0 bytes .../merchantFulfillmentV0.json | 178 +++++++++--------- 3 files changed, 89 insertions(+), 89 deletions(-) delete mode 100644 .DS_Store delete mode 100644 models/.DS_Store diff --git a/.DS_Store b/.DS_Store deleted file mode 100644 index bf745114ab5e9299f4a5a32b813404fdf56a82ce..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 8196 zcmeHMYitx%6u#fIlo>n7v{ERKWmguEKx?<UE=6-X| zz30xHGvArJXO=OB=A2&7ST$ozrh}taPTe&cALqwaO$s!ngdlsyEaqkk?r6qxGFQzG z6=4Lz2!s&`BM?R)jKGZ$0ot>9ldrSyi_x$TBM?U5e;EP(eu&Y*F&W^vK>yW2onHbF z@)E#rbWU}EZxahJ8Q{1;-;~xA)dK=k1SJN9IgQ8obi!nS;{t^_gD__Zu8g2Ufq!+f zi}}+Tk^;j%j6fKHt0TbEr;Lp-hw03iQokS1j9RAaB@$;Km6T2^n=Vh6%jG?(VW*Jt z(q7JOPG@&>snc<+Oz}LO*<~7q0c}=`V|!`SHnP5fsT(wXzl^Tf}FHl2p;HvqiU*TgufLk?x+}KDEEc9CYlIdC(ZpX1e5C8;LuzMxK1? z9(1hSi0uw&6@zJOFlVJbW20s9$)ua<4rU$8+TpmSXF7Iok7w-niVIB|>gjWxtk>c% zHlS%a*Vt*$T4vs8r4?zZN`AHNqkI{6myvY||@Q8{+&oao|ZwGDTzPi|`KxPM}% zR#B;{RkOSErfX&_qc`mi8n$lQLtO<^_lEl@z_w@ZHI1yIRG_BQPLCK9mDO|S&0i3S zh&fkmimUYGGUmfM(>tKWWm#M!vM8>|+6VnQ-DHQO^A&Y}BobM4hb-^r`j)Igy-=%> z6*Xj#?sO?Y!EGk$6-9G9_Yn((sk(ZNtY~_dmChJepjy{Ns%_nQ;d!8}x<^)e2Az=+ za>f<9NK30MYo9&9FWjDXz3rohefgGJw#ss!JDkoM+Y7|OqD8wb`wy1%++>q(dQR4l z#(j$-kzT&kMqM{_a(Z6%+{#EQ(j{wOlZ|HDd6QUA&q9!2jwe&6{AUtRE*H-xE`TvV z#>%Xs7$D!{B5WyZq&=;Z?WLSM%${aP*!%1RJIPM7Gwd8Y&wgeX*)Qx@b_pd=QHcdu zj9SzofqJY%6V_t`wxJVU*o6%C!NLd}co@SYcoc{61fIk5cmXfrHN1g0aTIUk7(T>D z_!yt!b9{l*_!8&vBhKR|T)=O*gx{qKX`ZxLS|Tl#>ZF9!Agz=(OIxHJQm>SehNNNP zfmBSlJ(E3?4v;+QEkfxQdPTeh~{tG3_p>GsX7Ji%_8RW*A~Y{~MvRgHIV zyi7yE+9FZ^oB%%OCuNGyd7l?k`RZq)x-i;BNnz~2l8PcViwUVs=gBKi@Y%Pk@u)V9 z(ng3&)n!qwj8aC3E26bgO`=Q{Vj|k0Y9*A1if_9*TB~Z1g|Jp_QngabNFi=e7pfXl zgwPyqjcPo<+yi$p{^=e-KZ@T{X|C`sr@Xo^sgc1152%xkz z)!IzcuJ?lDwRVh-2kGFA&l?x$n^5PMd_6<#k*Y?_z&f#*|^M}VLT{#*KR$aOD{n1fZo*WNW ztG4&>$;LzSXsSLE$$y{yCf%xhgK<$+JGD3#x(a0(f%#rhrob zV-KKeXsopWwA%@B_^d1aLEmSJqoe+xLi{TXKOkNIIZn4hz=npmzm3J*8jgS?@J|uo z^Fbo9238xR`shHWp8!z)jL?QMza`j5S`Dl=M$rQk#uaK@g?(ZOjD{rISO 8601 date-time format. If `MustArriveByDate` is specified, only shipping service offers that can be delivered by that date are returned.", + "description": "The date by which the package must arrive to keep the promise to the customer, in ISO 8601 datetime format. If MustArriveByDate is specified, only shipping service offers that can be delivered by that date are returned.", "$ref": "#/definitions/Timestamp" }, "ShipDate": { @@ -2776,15 +2776,15 @@ "x-docgen-enum-table-extension": [ { "value": "Purchased", - "description": "The seller purchased a label by calling the `createShipment` operation." + "description": "The seller purchased a label by calling the createShipment operation." }, { "value": "RefundPending", - "description": "The seller requested a label refund by calling the `cancelShipment` operation, and the refund request is being processed by the carrier. Note: A seller can create a new shipment for an order while `Status=RefundPending` for a canceled shipment. After you request a label refund (by calling `cancelShipment`), the status of the order remains `Shipped`." + "description": "The seller requested a label refund by calling the cancelShipment operation, and the refund request is being processed by the carrier.\n\nNote:\n\n* A seller can create a new shipment for an order while Status=RefundPending for a canceled shipment.\n* After a label refund is requested by calling the cancelShipment operation, the order status of the order remains \"Shipped\"." }, { "value": "RefundRejected", - "description": "The label refund request is rejected by the carrier. A refund request is rejected because the cancellation window has expired, or the carrier has already accepted the shipment for delivery. Cancellation policies vary by carrier. For more information about carrier cancellation policies, refer to the Seller Central Help for your marketplace." + "description": "The label refund request was rejected by the carrier. A refund request is rejected for either of the following reasons:\n\n* The cancellation window has expired. Cancellation policies vary by carrier. For more information about carrier cancellation policies, see the Seller Central Help.\n* The carrier has already accepted the shipment for delivery." }, { "value": "RefundApplied", @@ -2860,7 +2860,7 @@ "properties": { "ShippingServiceName": { "type": "string", - "description": "A plain text representation of a carrier's shipping service. For example, UPS Ground or FedEx Standard Overnight. " + "description": "A plain text representation of a carrier's shipping service. For example, \"UPS Ground\" or \"FedEx Standard Overnight\". " }, "CarrierName": { "type": "string", @@ -2935,12 +2935,12 @@ "$ref": "#/definitions/DeliveryExperienceType" }, "DeclaredValue": { - "description": "The declared value of the shipment. The carrier uses this value to determine the amount to use to insure the shipment. If `DeclaredValue` is greater than the carrier's minimum insurance amount, the seller is charged for the additional insurance as determined by the carrier. For information about optional insurance coverage, refer to the Seller Central Help: [UK](https://sellercentral.amazon.co.uk/gp/help/200204080), [US](https://sellercentral.amazon.com/gp/help/200204080).", + "description": "The declared value of the shipment. The carrier uses this value to determine the amount to use to insure the shipment. If DeclaredValue is greater than the carrier's minimum insurance amount, the seller is charged for the additional insurance as determined by the carrier. For information about optional insurance coverage, see the Seller Central Help [UK](https://sellercentral.amazon.co.uk/gp/help/200204080) [US](https://sellercentral.amazon.com/gp/help/200204080).", "$ref": "#/definitions/CurrencyAmount" }, "CarrierWillPickUp": { "type": "boolean", - "description": "When true, the carrier will pick up the package. Note: Scheduled carrier pickup is available only using Dynamex (US), DPD (UK), and Royal Mail (UK)." + "description": "When true, the carrier will pick up the package.\n\nNote: Scheduled carrier pickup is available only using Dynamex (US), DPD (UK), and Royal Mail (UK)." }, "CarrierWillPickUpOption": { "$ref": "#/definitions/CarrierWillPickUpOption" @@ -2990,7 +2990,7 @@ }, "StateOrProvinceCode": { "type": "string", - "description": "The state or province code. Note: Required in Canada, US, and UK marketplaces. Also required for shipments originating in China.", + "description": "The state or province code. **Note.** Required in the Canada, US, and UK marketplaces. Also required for shipments originating from China.", "maxLength": 30 }, "RejectedShippingService": { @@ -3004,19 +3004,19 @@ "properties": { "CarrierName": { "type": "string", - "description": "The rejected shipping carrier name. For example, USPS." + "description": "The rejected shipping carrier name. e.g. USPS" }, "ShippingServiceName": { "type": "string", - "description": "The rejected shipping service localized name. For example, FedEx Standard Overnight." + "description": "The rejected shipping service localized name. e.g. FedEx Standard Overnight" }, "ShippingServiceId": { - "description": "The rejected shipping service identifier. For example, `FEDEX_PTP_STANDARD_OVERNIGHT`.", + "description": "The rejected shipping service identifier. e.g. FEDEX_PTP_STANDARD_OVERNIGHT", "$ref": "#/definitions/ShippingServiceIdentifier" }, "RejectionReasonCode": { "type": "string", - "description": "A reason code meant to be consumed programatically. For example, `CARRIER_CANNOT_SHIP_TO_POBOX`." + "description": "A reason code meant to be consumed programatically. e.g. CARRIER_CANNOT_SHIP_TO_POBOX" }, "RejectionReasonMessage": { "type": "string", @@ -3027,7 +3027,7 @@ }, "RejectedShippingServiceList": { "type": "array", - "description": "List of services that are for some reason unavailable for this request", + "description": "List of services that were for some reason unavailable for this request", "items": { "$ref": "#/definitions/RejectedShippingService" } @@ -3083,7 +3083,7 @@ }, "TransparencyCode": { "type": "string", - "description": "The transparency code associated with the item. Determine the transparency serial number with:\n\n**1D or 2D Barcode:** This has a **T** logo. Submit either the 29-character alpha-numeric identifier beginning with **AZ** or **ZA**, or the 38-character Serialized Global Trade Item Number (SGTIN).\n**2D Barcode SN:** Submit the 7- to 20-character serial number barcode, that likely has the prefix **SN**. The serial number is applied to the same side of the packaging as the GTIN (UPC/EAN/ISBN) barcode.\n**QR code SN:** Submit the URL that the QR code generates." + "description": "The Transparency code associated with the item. The Transparency serial number that needs to be submitted can be determined by the following:\n\n**1D or 2D Barcode:** This has a **T** logo. Submit either the 29-character alpha-numeric identifier beginning with **AZ** or **ZA**, or the 38-character Serialized Global Trade Item Number (SGTIN).\n**2D Barcode SN:** Submit the 7- to 20-character serial number barcode, which likely has the prefix **SN**. The serial number will be applied to the same side of the packaging as the GTIN (UPC/EAN/ISBN) barcode.\n**QR code SN:** Submit the URL that the QR code generates." }, "TransparencyCodeList": { "type": "array", @@ -3179,7 +3179,7 @@ }, { "value": "FL_OZ", - "description": "Fluid ounce - Imperial unit of volume." + "description": "Fluid Ounce - Imperial unit of volume." }, { "value": "GAL", @@ -3204,11 +3204,11 @@ "description": "The measurement value." } }, - "description": "Liquid volume." + "description": "Liquid Volume." }, "DangerousGoodsDetails": { "type": "object", - "description": "Details related to any dangerous goods or items that are shipped.", + "description": "Details related to any dangerous goods/items that are being shipped.", "properties": { "UnitedNationsRegulatoryId" : { "type": "string", @@ -3217,7 +3217,7 @@ }, "TransportationRegulatoryClass" : { "type": "string", - "description": "The specific regulatory class of the shipped item.", + "description": "The specific regulatory class of the item being shipped.", "pattern": "^[1-9](\\.[1-9])?$" }, "PackingGroup" : { @@ -3264,59 +3264,59 @@ "x-docgen-enum-table-extension": [ { "value": "PI965_SECTION_IA", - "description": "Ion PI965 Section IA (LiBa)." + "description": "Ion PI965 Section IA (LiBa)" }, { "value": "PI965_SECTION_IB", - "description": "Ion PI965 Section IB (LiBa)." + "description": "Ion PI965 Section IB (LiBa)" }, { "value": "PI965_SECTION_II", - "description": "Ion PI965 Section II (LiBa)." + "description": "Ion PI965 Section II (LiBa)" }, { "value": "PI966_SECTION_I", - "description": "Ion PI966 Section I (LiBa with equipment)." + "description": "Ion PI966 Section I (LiBa with equipment)" }, { "value": "PI966_SECTION_II", - "description": "Ion PI966 Section II (LiBa with equipment)." + "description": "Ion PI966 Section II (LiBa with equipment)" }, { "value": "PI967_SECTION_I", - "description": "Ion PI967 Section I (LiBa in equipment)." + "description": "Ion PI967 Section I (LiBa in equipment)" }, { "value": "PI967_SECTION_II", - "description": "Ion PI967 Section II (LiBa in equipment)." + "description": "Ion PI967 Section II (LiBa in equipment)" }, { "value": "PI968_SECTION_IA", - "description": "Metal PI968 Section IA (LiBa)." + "description": "Metal PI968 Section IA (LiBa)" }, { "value": "PI968_SECTION_IB", - "description": "Metal PI968 Section IB (LiBa)." + "description": "Metal PI968 Section IB (LiBa)" }, { "value": "PI969_SECTION_I", - "description": "Metal PI969 Section I (LiBa with equipment)." + "description": "Metal PI969 Section I (LiBa with equipment)" }, { "value": "PI969_SECTION_II", - "description": "Metal PI969 Section II (LiBa with equipment)." + "description": "Metal PI969 Section II (LiBa with equipment)" }, { "value": "PI970_SECTION_I", - "description": "Metal PI970 Section I (LiBa in equipment)." + "description": "Metal PI970 Section I (LiBa in equipment)" }, { "value": "PI970_SECTION_II", - "description": "Metal PI970 Section II (LiBa in equipment)." + "description": "Metal PI970 Section II (LiBa in equipment)" } ] } } } } -} \ No newline at end of file +} From 08b40ea43f0165c67151ec24b4888c20746a3ebe Mon Sep 17 00:00:00 2001 From: Gibran Waldron Date: Wed, 14 Aug 2024 08:15:33 -0700 Subject: [PATCH 323/340] Add unitOfMeasure to the vendorOrders model. --- .../vendor-orders-api-model/vendorOrders.json | 329 +++++++++++------- 1 file changed, 196 insertions(+), 133 deletions(-) diff --git a/models/vendor-orders-api-model/vendorOrders.json b/models/vendor-orders-api-model/vendorOrders.json index 4f1cccdb3..18202e16f 100644 --- a/models/vendor-orders-api-model/vendorOrders.json +++ b/models/vendor-orders-api-model/vendorOrders.json @@ -29,7 +29,7 @@ "tags": [ "vendorOrders" ], - "description": "Returns a list of purchase orders created or changed during the time frame that you specify. You define the time frame using the `createdAfter`, `createdBefore`, `changedAfter` and `changedBefore` parameters. The date range to search must not be more than 7 days. You can choose to get only the purchase order numbers by setting `includeDetails` to false. You can then use the `getPurchaseOrder` operation to receive details for a specific purchase order.\n\n**Usage Plan:**\n\n| Rate (requests per second) | Burst |\n| ---- | ---- |\n| 10 | 10 |\n\nThe `x-amzn-RateLimit-Limit` response header returns the usage plan rate limits that were applied to the requested operation, when available. The table above indicates the default rate and burst values for this operation. Selling partners whose business demands require higher throughput may see higher rate and burst values than those shown here. For more information, refer to [Usage Plans and Rate Limits in the Selling Partner API](https://developer-docs.amazon.com/sp-api/docs/usage-plans-and-rate-limits-in-the-sp-api).", + "description": "Returns a list of purchase orders created or changed during the time frame that you specify. You define the time frame using the `createdAfter`, `createdBefore`, `changedAfter` and `changedBefore` parameters. The date range to search must not be more than 7 days. You can choose to get only the purchase order numbers by setting `includeDetails` to false. You can then use the `getPurchaseOrder` operation to receive details for a specific purchase order.\n\n**Usage Plan:**\n\n| Rate (requests per second) | Burst |\n| ---- | ---- |\n| 10 | 10 |\n\nThe `x-amzn-RateLimit-Limit` response header returns the usage plan rate limits that were applied to the requested operation, when available. The preceding table indicates the default rate and burst values for this operation. Selling partners whose business demands require higher throughput may have higher rate and burst values than those shown here. For more information, refer to [Usage Plans and Rate Limits in the Selling Partner API](https://developer-docs.amazon.com/sp-api/docs/usage-plans-and-rate-limits-in-the-sp-api).", "operationId": "getPurchaseOrders", "parameters": [ { @@ -45,7 +45,7 @@ { "name": "createdAfter", "in": "query", - "description": "Purchase orders that became available after this time will be included in the result. Must be in ISO 8601 date/time format.", + "description": "Purchase orders that became available after this time will be included in the result. Must be in ISO-8601 date/time format.", "required": false, "type": "string", "format": "date-time" @@ -53,7 +53,7 @@ { "name": "createdBefore", "in": "query", - "description": "Purchase orders that became available before this time will be included in the result. Must be in ISO 8601 date/time format.", + "description": "Purchase orders that became available before this time will be included in the result. Must be in ISO-8601 date/time format.", "required": false, "type": "string", "format": "date-time" @@ -89,7 +89,7 @@ { "name": "includeDetails", "in": "query", - "description": "When `true`, returns purchase orders with complete details. Otherwise, only purchase order numbers are returned. Default value is `true`.", + "description": "When true, returns purchase orders with complete details. Otherwise, only purchase order numbers are returned. Default value is true.", "required": false, "type": "string", "format": "boolean" @@ -97,7 +97,7 @@ { "name": "changedAfter", "in": "query", - "description": "Purchase orders that changed after this timestamp will be included in the result. Must be in ISO 8601 date/time format.", + "description": "Purchase orders that changed after this timestamp will be included in the result. Must be in ISO-8601 date/time format.", "required": false, "type": "string", "format": "date-time" @@ -105,7 +105,7 @@ { "name": "changedBefore", "in": "query", - "description": "Purchase orders that changed before this timestamp will be included in the result. Must be in ISO 8601 date/time format.", + "description": "Purchase orders that changed before this timestamp will be included in the result. Must be in ISO-8601 date/time format.", "required": false, "type": "string", "format": "date-time" @@ -113,7 +113,7 @@ { "name": "poItemState", "in": "query", - "description": "Current state of the purchase order item. If this value is `Cancelled`, this API will return purchase orders which have one or more items cancelled by Amazon with updated item quantity as zero.", + "description": "Current state of the purchase order item. If this value is Cancelled, this API will return purchase orders which have one or more items cancelled by Amazon with updated item quantity as zero.", "required": false, "type": "string", "enum": [ @@ -129,7 +129,7 @@ { "name": "isPOChanged", "in": "query", - "description": "When `true`, returns purchase orders which were modified after the order was placed. Vendors are required to pull the changed purchase order and fulfill the updated purchase order and not the original one. Default value is `false`.", + "description": "When true, returns purchase orders which were modified after the order was placed. Vendors are required to pull the changed purchase order and fulfill the updated purchase order and not the original one. Default value is false.", "required": false, "type": "string", "format": "boolean" @@ -255,11 +255,13 @@ "isBackOrderAllowed": true, "netCost": { "amount": "1800", - "currencyCode": "INR" + "currencyCode": "INR", + "unitOfMeasure": "POUNDS" }, "listPrice": { "amount": "2000", - "currencyCode": "INR" + "currencyCode": "INR", + "unitOfMeasure": "POUNDS" } } ] @@ -430,11 +432,13 @@ "isBackOrderAllowed": true, "netCost": { "amount": "94.97", - "currencyCode": "USD" + "currencyCode": "USD", + "unitOfMeasure": "POUNDS" }, "listPrice": { "amount": "94.97", - "currencyCode": "USD" + "currencyCode": "USD", + "unitOfMeasure": "POUNDS" } } ] @@ -985,7 +989,8 @@ "isBackOrderAllowed": true, "netCost": { "amount": "94.97", - "currencyCode": "INR" + "currencyCode": "INR", + "unitOfMeasure": "POUNDS" } } ] @@ -1050,11 +1055,15 @@ } }, "403": { - "description": "Indicates that access to the resource is forbidden. Possible reasons include `Access Denied`, `Unauthorized`, `Expired Token`, or `Invalid Signature`.", + "description": "Indicates that access to the resource is forbidden. Possible reasons include Access Denied, Unauthorized, Expired Token, or Invalid Signature.", "schema": { "$ref": "#/definitions/GetPurchaseOrdersResponse" }, "headers": { + "x-amzn-RateLimit-Limit": { + "type": "string", + "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." + }, "x-amzn-RequestId": { "type": "string", "description": "Unique request reference identifier." @@ -1083,6 +1092,10 @@ "$ref": "#/definitions/GetPurchaseOrdersResponse" }, "headers": { + "x-amzn-RateLimit-Limit": { + "type": "string", + "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." + }, "x-amzn-RequestId": { "type": "string", "description": "Unique request reference identifier." @@ -1095,6 +1108,10 @@ "$ref": "#/definitions/GetPurchaseOrdersResponse" }, "headers": { + "x-amzn-RateLimit-Limit": { + "type": "string", + "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." + }, "x-amzn-RequestId": { "type": "string", "description": "Unique request reference identifier." @@ -1107,6 +1124,10 @@ "$ref": "#/definitions/GetPurchaseOrdersResponse" }, "headers": { + "x-amzn-RateLimit-Limit": { + "type": "string", + "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." + }, "x-amzn-RequestId": { "type": "string", "description": "Unique request reference identifier." @@ -1119,6 +1140,10 @@ "$ref": "#/definitions/GetPurchaseOrdersResponse" }, "headers": { + "x-amzn-RateLimit-Limit": { + "type": "string", + "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." + }, "x-amzn-RequestId": { "type": "string", "description": "Unique request reference identifier." @@ -1133,7 +1158,7 @@ "tags": [ "vendorOrders" ], - "description": "Returns a purchase order based on the `purchaseOrderNumber` value that you specify.\n\n**Usage Plan:**\n\n| Rate (requests per second) | Burst |\n| ---- | ---- |\n| 10 | 10 |\n\nThe `x-amzn-RateLimit-Limit` response header returns the usage plan rate limits that were applied to the requested operation, when available. The table above indicates the default rate and burst values for this operation. Selling partners whose business demands require higher throughput may see higher rate and burst values than those shown here. For more information, refer to [Usage Plans and Rate Limits in the Selling Partner API](https://developer-docs.amazon.com/sp-api/docs/usage-plans-and-rate-limits-in-the-sp-api).", + "description": "Returns a purchase order based on the `purchaseOrderNumber` value that you specify.\n\n**Usage Plan:**\n\n| Rate (requests per second) | Burst |\n| ---- | ---- |\n| 10 | 10 |\n\nThe `x-amzn-RateLimit-Limit` response header returns the usage plan rate limits that were applied to the requested operation, when available. The preceding table indicates the default rate and burst values for this operation. Selling partners whose business demands require higher throughput may have higher rate and burst values than those shown here. For more information, refer to [Usage Plans and Rate Limits in the Selling Partner API](https://developer-docs.amazon.com/sp-api/docs/usage-plans-and-rate-limits-in-the-sp-api).", "operationId": "getPurchaseOrder", "parameters": [ { @@ -1419,11 +1444,15 @@ } }, "401": { - "description": "The request's authorization header is not formatted correctly or does not contain a valid token.", + "description": "The request's Authorization header is not formatted correctly or does not contain a valid token.", "schema": { "$ref": "#/definitions/GetPurchaseOrderResponse" }, "headers": { + "x-amzn-RateLimit-Limit": { + "type": "string", + "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." + }, "x-amzn-RequestId": { "type": "string", "description": "Unique request reference identifier." @@ -1431,11 +1460,15 @@ } }, "403": { - "description": "Indicates that access to the resource is forbidden. Possible reasons include `Access Denied`, `Unauthorized`, `Expired Token`, or `Invalid Signature`.", + "description": "Indicates that access to the resource is forbidden. Possible reasons include Access Denied, Unauthorized, Expired Token, or Invalid Signature.", "schema": { "$ref": "#/definitions/GetPurchaseOrderResponse" }, "headers": { + "x-amzn-RateLimit-Limit": { + "type": "string", + "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." + }, "x-amzn-RequestId": { "type": "string", "description": "Unique request reference identifier." @@ -1464,6 +1497,10 @@ "$ref": "#/definitions/GetPurchaseOrderResponse" }, "headers": { + "x-amzn-RateLimit-Limit": { + "type": "string", + "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." + }, "x-amzn-RequestId": { "type": "string", "description": "Unique request reference identifier." @@ -1476,6 +1513,10 @@ "$ref": "#/definitions/GetPurchaseOrderResponse" }, "headers": { + "x-amzn-RateLimit-Limit": { + "type": "string", + "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." + }, "x-amzn-RequestId": { "type": "string", "description": "Unique request reference identifier." @@ -1488,6 +1529,10 @@ "$ref": "#/definitions/GetPurchaseOrderResponse" }, "headers": { + "x-amzn-RateLimit-Limit": { + "type": "string", + "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." + }, "x-amzn-RequestId": { "type": "string", "description": "Unique request reference identifier." @@ -1500,6 +1545,10 @@ "$ref": "#/definitions/GetPurchaseOrderResponse" }, "headers": { + "x-amzn-RateLimit-Limit": { + "type": "string", + "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." + }, "x-amzn-RequestId": { "type": "string", "description": "Unique request reference identifier." @@ -1514,60 +1563,15 @@ "tags": [ "vendorOrders" ], - "description": "Submits acknowledgements for one or more purchase orders.\n\n**Usage Plan:**\n\n| Rate (requests per second) | Burst |\n| ---- | ---- |\n| 10 | 10 |\n\nThe `x-amzn-RateLimit-Limit` response header returns the usage plan rate limits that were applied to the requested operation, when available. The table above indicates the default rate and burst values for this operation. Selling partners whose business demands require higher throughput may see higher rate and burst values than those shown here. For more information, refer to [Usage Plans and Rate Limits in the Selling Partner API](https://developer-docs.amazon.com/sp-api/docs/usage-plans-and-rate-limits-in-the-sp-api).", + "description": "Submits acknowledgements for one or more purchase orders.\n\n**Usage Plan:**\n\n| Rate (requests per second) | Burst |\n| ---- | ---- |\n| 10 | 10 |\n\nThe `x-amzn-RateLimit-Limit` response header returns the usage plan rate limits that were applied to the requested operation, when available. The preceding table indicates the default rate and burst values for this operation. Selling partners whose business demands require higher throughput may have higher rate and burst values than those shown here. For more information, refer to [Usage Plans and Rate Limits in the Selling Partner API](https://developer-docs.amazon.com/sp-api/docs/usage-plans-and-rate-limits-in-the-sp-api).", "operationId": "submitAcknowledgement", "parameters": [ { "in": "body", "name": "body", - "description": "Submits acknowledgements for one or more purchase orders from a vendor.", "required": true, "schema": { - "$ref": "#/definitions/SubmitAcknowledgementRequest", - "example": { - "acknowledgements": [ - { - "purchaseOrderNumber": "L8266355", - "sellingParty": { - "partyId": "999US" - }, - "acknowledgementDate": "2019-07-17T19:17:34.304Z", - "items": [ - { - "itemSequenceNumber": "1", - "amazonProductIdentifier": "ABC123434", - "vendorProductIdentifier": "028877454078", - "orderedQuantity": { - "amount": 10, - "unitOfMeasure": "Cases" - }, - "netCost": { - "currencyCode": "USD", - "amount": "18.0" - }, - "listPrice": { - "currencyCode": "USD", - "amount": "22.2" - }, - "discountMultiplier": "0.44", - "itemAcknowledgements": [ - { - "acknowledgementCode": "Rejected", - "acknowledgedQuantity": { - "amount": 6, - "unitOfMeasure": "Cases", - "unitSize": 2 - }, - "scheduledShipDate": "2019-07-17T19:17:34.304Z", - "scheduledDeliveryDate": "2019-07-17T19:17:34.304Z", - "rejectionReason": "TemporarilyUnavailable" - } - ] - } - ] - } - ] - } + "$ref": "#/definitions/SubmitAcknowledgementRequest" } } ], @@ -1700,11 +1704,15 @@ } }, "403": { - "description": "Indicates that access to the resource is forbidden. Possible reasons include `Access Denied`, `Unauthorized,` `Expired Token`, or `Invalid Signature`.", + "description": "Indicates that access to the resource is forbidden. Possible reasons include Access Denied, Unauthorized, Expired Token, or Invalid Signature.", "schema": { "$ref": "#/definitions/SubmitAcknowledgementResponse" }, "headers": { + "x-amzn-RateLimit-Limit": { + "type": "string", + "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." + }, "x-amzn-RequestId": { "type": "string", "description": "Unique request reference identifier." @@ -1733,6 +1741,10 @@ "$ref": "#/definitions/SubmitAcknowledgementResponse" }, "headers": { + "x-amzn-RateLimit-Limit": { + "type": "string", + "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." + }, "x-amzn-RequestId": { "type": "string", "description": "Unique request reference identifier." @@ -1745,6 +1757,10 @@ "$ref": "#/definitions/SubmitAcknowledgementResponse" }, "headers": { + "x-amzn-RateLimit-Limit": { + "type": "string", + "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." + }, "x-amzn-RequestId": { "type": "string", "description": "Unique request reference identifier." @@ -1757,6 +1773,10 @@ "$ref": "#/definitions/SubmitAcknowledgementResponse" }, "headers": { + "x-amzn-RateLimit-Limit": { + "type": "string", + "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." + }, "x-amzn-RequestId": { "type": "string", "description": "Unique request reference identifier." @@ -1769,6 +1789,10 @@ "$ref": "#/definitions/SubmitAcknowledgementResponse" }, "headers": { + "x-amzn-RateLimit-Limit": { + "type": "string", + "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." + }, "x-amzn-RequestId": { "type": "string", "description": "Unique request reference identifier." @@ -1781,6 +1805,10 @@ "$ref": "#/definitions/SubmitAcknowledgementResponse" }, "headers": { + "x-amzn-RateLimit-Limit": { + "type": "string", + "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." + }, "x-amzn-RequestId": { "type": "string", "description": "Unique request reference identifier." @@ -1795,7 +1823,7 @@ "tags": [ "vendorOrders" ], - "description": "Returns purchase order statuses based on the filters that you specify. Date range to search must not be more than 7 days. You can return a list of purchase order statuses using the available filters, or a single purchase order status by providing the purchase order number.\n\n**Usage Plan:**\n\n| Rate (requests per second) | Burst |\n| ---- | ---- |\n| 10 | 10 |\n\nThe `x-amzn-RateLimit-Limit` response header returns the usage plan rate limits that were applied to the requested operation, when available. The table above indicates the default rate and burst values for this operation. Selling partners whose business demands require higher throughput may see higher rate and burst values than those shown here. For more information, refer to [Usage Plans and Rate Limits in the Selling Partner API](https://developer-docs.amazon.com/sp-api/docs/usage-plans-and-rate-limits-in-the-sp-api).", + "description": "Returns purchase order statuses based on the filters that you specify. Date range to search must not be more than 7 days. You can return a list of purchase order statuses using the available filters, or a single purchase order status by providing the purchase order number.\n\n**Usage Plan:**\n\n| Rate (requests per second) | Burst |\n| ---- | ---- |\n| 10 | 10 |\n\nThe `x-amzn-RateLimit-Limit` response header returns the usage plan rate limits that were applied to the requested operation, when available. The preceding table indicates the default rate and burst values for this operation. Selling partners whose business demands require higher throughput may have higher rate and burst values than those shown here. For more information, refer to [Usage Plans and Rate Limits in the Selling Partner API](https://developer-docs.amazon.com/sp-api/docs/usage-plans-and-rate-limits-in-the-sp-api).", "operationId": "getPurchaseOrdersStatus", "parameters": [ { @@ -1839,7 +1867,7 @@ { "name": "createdAfter", "in": "query", - "description": "Purchase orders that became available after this timestamp will be included in the result. Must be in ISO 8601 date/time format.", + "description": "Purchase orders that became available after this timestamp will be included in the result. Must be in ISO-8601 date/time format.", "required": false, "type": "string", "format": "date-time" @@ -1847,7 +1875,7 @@ { "name": "createdBefore", "in": "query", - "description": "Purchase orders that became available before this timestamp will be included in the result. Must be in ISO 8601 date/time format.", + "description": "Purchase orders that became available before this timestamp will be included in the result. Must be in ISO-8601 date/time format.", "required": false, "type": "string", "format": "date-time" @@ -1855,7 +1883,7 @@ { "name": "updatedAfter", "in": "query", - "description": "Purchase orders for which the last purchase order update happened after this timestamp will be included in the result. Must be in ISO 8601 date/time format.", + "description": "Purchase orders for which the last purchase order update happened after this timestamp will be included in the result. Must be in ISO-8601 date/time format.", "required": false, "type": "string", "format": "date-time" @@ -1863,7 +1891,7 @@ { "name": "updatedBefore", "in": "query", - "description": "Purchase orders for which the last purchase order update happened before this timestamp will be included in the result. Must be in ISO 8601 date/time format.", + "description": "Purchase orders for which the last purchase order update happened before this timestamp will be included in the result. Must be in ISO-8601 date/time format.", "required": false, "type": "string", "format": "date-time" @@ -2660,11 +2688,15 @@ } }, "403": { - "description": "Indicates that access to the resource is forbidden. Possible reasons include `Access Denied`, `Unauthorized`, `Expired Token`, or `Invalid Signature`.", + "description": "Indicates that access to the resource is forbidden. Possible reasons include Access Denied, Unauthorized, Expired Token, or Invalid Signature.", "schema": { "$ref": "#/definitions/GetPurchaseOrdersStatusResponse" }, "headers": { + "x-amzn-RateLimit-Limit": { + "type": "string", + "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." + }, "x-amzn-RequestId": { "type": "string", "description": "Unique request reference identifier." @@ -2693,6 +2725,10 @@ "$ref": "#/definitions/GetPurchaseOrdersStatusResponse" }, "headers": { + "x-amzn-RateLimit-Limit": { + "type": "string", + "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." + }, "x-amzn-RequestId": { "type": "string", "description": "Unique request reference identifier." @@ -2705,6 +2741,10 @@ "$ref": "#/definitions/GetPurchaseOrdersStatusResponse" }, "headers": { + "x-amzn-RateLimit-Limit": { + "type": "string", + "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." + }, "x-amzn-RequestId": { "type": "string", "description": "Unique request reference identifier." @@ -2717,6 +2757,10 @@ "$ref": "#/definitions/GetPurchaseOrdersStatusResponse" }, "headers": { + "x-amzn-RateLimit-Limit": { + "type": "string", + "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." + }, "x-amzn-RequestId": { "type": "string", "description": "Unique request reference identifier." @@ -2729,6 +2773,10 @@ "$ref": "#/definitions/GetPurchaseOrdersStatusResponse" }, "headers": { + "x-amzn-RateLimit-Limit": { + "type": "string", + "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." + }, "x-amzn-RequestId": { "type": "string", "description": "Unique request reference identifier." @@ -2751,7 +2799,7 @@ "$ref": "#/definitions/ErrorList" } }, - "description": "The response schema for the `getPurchaseOrders` operation." + "description": "The response schema for the getPurchaseOrders operation." }, "GetPurchaseOrderResponse": { "type": "object", @@ -2764,7 +2812,7 @@ "$ref": "#/definitions/ErrorList" } }, - "description": "The response schema for the `getPurchaseOrder` operation." + "description": "The response schema for the getPurchaseOrder operation." }, "OrderList": { "type": "object", @@ -2776,21 +2824,18 @@ "type": "array", "items": { "$ref": "#/definitions/Order" - }, - "description": "Represents an individual order within the `OrderList`." + } } - }, - "description": "A list of orders returned as response." + } }, "Pagination": { "type": "object", "properties": { "nextToken": { "type": "string", - "description": "A generated string used to pass information to your next request. If `NextToken` is returned, pass the value of `NextToken` to the next request. If `NextToken` is not returned, there are no more purchase order items to return." + "description": "A generated string used to pass information to your next request. If NextToken is returned, pass the value of NextToken to the next request. If NextToken is not returned, there are no more purchase order items to return." } - }, - "description": "The pagination elements required to retrieve the remaining data." + } }, "Order": { "type": "object", @@ -2814,11 +2859,11 @@ "x-docgen-enum-table-extension": [ { "value": "New", - "description": "The purchase order is newly created and needs to be acknowledged by the vendor." + "description": "The purchase order is newly created and needs to be acknowledged by vendor." }, { "value": "Acknowledged", - "description": "The purchase order has been acknowledged by the vendor." + "description": "The purchase order has been acknowledged by vendor." }, { "value": "Closed", @@ -2830,8 +2875,7 @@ "description": "Details of an order.", "$ref": "#/definitions/OrderDetails" } - }, - "description": "Represents an order placed by Amazon, including the purchase order number, current state, and order details." + } }, "OrderDetails": { "type": "object", @@ -2844,17 +2888,17 @@ "purchaseOrderDate": { "type": "string", "format": "date-time", - "description": "The date the purchase order was placed. Must be in ISO 8601 date/time format." + "description": "The date the purchase order was placed. Must be in ISO-8601 date/time format." }, "purchaseOrderChangedDate": { "type": "string", "format": "date-time", - "description": "The date when purchase order was last changed by Amazon after the order was placed. This date will be greater than 'purchaseOrderDate'. This means the PO data was changed on that date and vendors are required to fulfill the updated PO. The PO changes can be related to Item Quantity, Ship to Location, Ship Window etc. This field will not be present in orders that have not changed after creation. Must be in ISO 8601 date/time format." + "description": "The date when purchase order was last changed by Amazon after the order was placed. This date will be greater than 'purchaseOrderDate'. This means the PO data was changed on that date and vendors are required to fulfill the updated PO. The PO changes can be related to Item Quantity, Ship to Location, Ship Window etc. This field will not be present in orders that have not changed after creation. Must be in ISO-8601 date/time format." }, "purchaseOrderStateChangedDate": { "type": "string", "format": "date-time", - "description": "The date when current purchase order state was changed. Current purchase order state is available in the field 'purchaseOrderState'. Must be in ISO 8601 date/time format." + "description": "The date when current purchase order state was changed. Current purchase order state is available in the field 'purchaseOrderState'. Must be in ISO-8601 date/time format." }, "purchaseOrderType": { "type": "string", @@ -3060,12 +3104,12 @@ }, "portOfDelivery": { "type": "string", - "description": "The port where goods on an import purchase order must be delivered by the vendor. This should only be specified when the `internationalCommercialTerms` is `FOB`.", + "description": "The port where goods on an import purchase order must be delivered by the vendor. This should only be specified when the internationalCommercialTerms is FOB.", "maxLength": 64 }, "importContainers": { "type": "string", - "description": "Types and numbers of container(s) for import purchase orders. Can be a comma-separated list if the shipment has multiple containers. HC signifies a high-capacity container. Free-text field, limited to 64 characters. The format will be a comma-delimited list containing values of the type: `$NUMBER_OF_CONTAINERS_OF_THIS_TYPE-$CONTAINER_TYPE`. The list of values for the container type is: `40'`(40-foot container), `40'HC` (40-foot high-capacity container), `45'`, `45'HC`, `30'`, `30'HC`, `20'`, `20'HC`.", + "description": "Types and numbers of container(s) for import purchase orders. Can be a comma-separated list if the shipment has multiple containers. HC signifies a high-capacity container. Free-text field, limited to 64 characters. The format will be a comma-delimited list containing values of the type: $NUMBER_OF_CONTAINERS_OF_THIS_TYPE-$CONTAINER_TYPE. The list of values for the container type is: 40'(40-foot container), 40'HC (40-foot high-capacity container), 45', 45'HC, 30', 30'HC, 20', 20'HC.", "maxLength": 64 }, "shippingInstructions": { @@ -3077,11 +3121,10 @@ }, "DateTimeInterval": { "type": "string", - "description": "Defines a date time interval according to ISO 8601. Interval is separated by double hyphen (--)." + "description": "Defines a date time interval according to ISO8601. Interval is separated by double hyphen (--)." }, "PartyIdentification": { "type": "object", - "description": "Name, address and tax details of a party.", "required": [ "partyId" ], @@ -3127,7 +3170,7 @@ }, "taxRegistrationNumber": { "type": "string", - "description": "Tax registration number for the entity. For example, `VAT ID`." + "description": "Tax registration number for the entity. For example, VAT ID." } }, "description": "Tax registration details of the entity." @@ -3174,7 +3217,7 @@ }, "postalCode": { "type": "string", - "description": "The postal code of that address. It contains a series of letters or digits or both, sometimes including spaces or punctuation." + "description": "The postal code of that address. It conatins a series of letters or digits or both, sometimes including spaces or punctuation." }, "countryCode": { "type": "string", @@ -3217,15 +3260,14 @@ "description": "When true, we will accept backorder confirmations for this item." }, "netCost": { - "description": "The price to Amazon each (cost).", + "description": "The net cost of an item per each or weight unit.", "$ref": "#/definitions/Money" }, "listPrice": { - "description": "The price to Amazon each (list).", + "description": "The list price of an item per each or weight unit.", "$ref": "#/definitions/Money" } - }, - "description": "Represents an individual item in an order, including item details, quantities, pricing, and backorder information." + } }, "Money": { "type": "object", @@ -3237,9 +3279,37 @@ }, "amount": { "$ref": "#/definitions/Decimal" + }, + "unitOfMeasure": { + "type": "string", + "description": "The unit of measure for prices of items sold by weight. If this field is absent, the item is sold by eaches.", + "enum": [ + "POUNDS", + "OUNCES", + "GRAMS", + "KILOGRAMS" + ], + "x-docgen-enum-table-extension": [ + { + "value": "POUNDS", + "description": "Priced per Pound." + }, + { + "value": "OUNCES", + "description": "Priced per Ounce." + }, + { + "value": "GRAMS", + "description": "Priced per Gram." + }, + { + "value": "KILOGRAMS", + "description": "Priced per Kilogram." + } + ] } }, - "description": "An amount of money, including units in the form of currency." + "description": "An amount of money. Includes the currency code and an optional unit of measure for items priced by weight." }, "Decimal": { "type": "string", @@ -3249,14 +3319,14 @@ "type": "object", "properties": { "payload": { - "description": "The payload for the `submitAcknowledgement` operation.", + "description": "The payload for the submitAcknowledgement operation.", "$ref": "#/definitions/TransactionId" }, "errors": { "$ref": "#/definitions/ErrorList" } }, - "description": "The response schema for the `submitAcknowledgement` operation" + "description": "The response schema for the submitAcknowledgement operation" }, "TransactionId": { "type": "object", @@ -3265,8 +3335,7 @@ "type": "string", "description": "GUID assigned by Amazon to identify this transaction. This value can be used with the Transaction Status API to return the status of this transaction." } - }, - "description": "Response containing the transaction ID." + } }, "ErrorList": { "type": "array", @@ -3282,11 +3351,10 @@ "type": "array", "items": { "$ref": "#/definitions/OrderAcknowledgement" - }, - "description": "An array of order acknowledgements to be submitted." + } } }, - "description": "The request schema for the `submitAcknowledgment` operation." + "description": "The request schema for the submitAcknowledgment operation." }, "OrderAcknowledgement": { "type": "object", @@ -3308,7 +3376,7 @@ "acknowledgementDate": { "type": "string", "format": "date-time", - "description": "The date and time when the purchase order is acknowledged, in ISO 8601 date/time format." + "description": "The date and time when the purchase order is acknowledged, in ISO-8601 date/time format." }, "items": { "type": "array", @@ -3317,8 +3385,7 @@ "$ref": "#/definitions/OrderAcknowledgementItem" } } - }, - "description": "Represents an acknowledgement for an order, including the purchase order number, selling party details, acknowledgement date, and a list of acknowledged items." + } }, "OrderAcknowledgementItem": { "type": "object", @@ -3344,11 +3411,11 @@ "$ref": "#/definitions/ItemQuantity" }, "netCost": { - "description": "The cost to Amazon, which should match the cost on the invoice. This is a required field. If this is left blank the file will reject in Amazon systems. Price information should not be zero or negative. Indicates a net unit price.", + "description": "The net cost of an item per each or weight unit that must match the cost on the invoice. This is a required field. If left blank, Amazon systems will reject the file. Price information must not be zero or negative.", "$ref": "#/definitions/Money" }, "listPrice": { - "description": "The list price. This is required only if a vendor sells books with a list price.", + "description": "The list price of an item per each or weight unit. Required only if a vendor sells books at list price.", "$ref": "#/definitions/Money" }, "discountMultiplier": { @@ -3387,7 +3454,7 @@ }, { "value": "Backordered", - "description": "Vendor placed a backorder to fulfill the original order and provides a `scheduledShipDate` or `scheduledDeliveryDate` which is different than the `expectedShipDate` or `expectedDeliveryDate` provided in the purchase order." + "description": "Vendor placed a backorder to fulfill the original order and provides a scheduledShipDate or scheduledDeliveryDate which is different than the expectedShipDate or expectedDeliveryDate provided in the purchase order." }, { "value": "Rejected", @@ -3402,12 +3469,12 @@ "scheduledShipDate": { "type": "string", "format": "date-time", - "description": "Estimated ship date per line item. Must be in ISO 8601 date/time format." + "description": "Estimated ship date per line item. Must be in ISO-8601 date/time format." }, "scheduledDeliveryDate": { "type": "string", "format": "date-time", - "description": "Estimated delivery date per line item. Must be in ISO 8601 date/time format." + "description": "Estimated delivery date per line item. Must be in ISO-8601 date/time format." }, "rejectionReason": { "type": "string", @@ -3432,8 +3499,7 @@ } ] } - }, - "description": "Represents the acknowledgement details for an individual order item, including the acknowledgement code, acknowledged quantity, scheduled ship and delivery dates, and rejection reason (if applicable)." + } }, "ItemQuantity": { "type": "object", @@ -3478,7 +3544,7 @@ "$ref": "#/definitions/ErrorList" } }, - "description": "The response schema for the `getPurchaseOrdersStatus` operation." + "description": "The response schema for the getPurchaseOrdersStatus operation." }, "OrderListStatus": { "type": "object", @@ -3490,11 +3556,9 @@ "type": "array", "items": { "$ref": "#/definitions/OrderStatus" - }, - "description": "Represents an order status within the `OrderListStatus`." + } } - }, - "description": "A list of order statuses." + } }, "OrderStatus": { "type": "object", @@ -3532,12 +3596,12 @@ "purchaseOrderDate": { "type": "string", "format": "date-time", - "description": "The date the purchase order was placed. Must be in ISO 8601 date/time format." + "description": "The date the purchase order was placed. Must be in ISO-8601 date/time format." }, "lastUpdatedDate": { "type": "string", "format": "date-time", - "description": "The date when the purchase order was last updated. Must be in ISO 8601 date/time format." + "description": "The date when the purchase order was last updated. Must be in ISO-8601 date/time format." }, "sellingParty": { "description": "Name/Address and tax details of the selling party.", @@ -3580,11 +3644,11 @@ "description": "The vendor selected product identification of the item." }, "netCost": { - "description": "The net cost to Amazon each (cost).", + "description": "The net cost of an item per each or weight unit.", "$ref": "#/definitions/Money" }, "listPrice": { - "description": "The list Price to Amazon each (list).", + "description": "The list price of an item per each or weight unit.", "$ref": "#/definitions/Money" }, "orderedQuantity": { @@ -3687,12 +3751,11 @@ "lastReceiveDate": { "type": "string", "format": "date-time", - "description": "The date when the most recent item was received at the buyer's warehouse. Must be in ISO 8601 date/time format." + "description": "The date when the most recent item was received at the buyer's warehouse. Must be in ISO-8601 date/time format." } } } - }, - "description": "Represents the current status of an order item, including acknowledgement and receiving details." + } }, "OrderedQuantityDetails": { "type": "object", @@ -3700,7 +3763,7 @@ "updatedDate": { "type": "string", "format": "date-time", - "description": "The date when the line item quantity was updated by the buyer. Must be in ISO 8601 date/time format." + "description": "The date when the line item quantity was updated by buyer. Must be in ISO-8601 date/time format." }, "orderedQuantity": { "description": "Item quantity ordered.", @@ -3711,7 +3774,7 @@ "$ref": "#/definitions/ItemQuantity" } }, - "description": "Details of the item quantity ordered." + "description": "Details of item quantity ordered" }, "AcknowledgementStatusDetails": { "type": "object", @@ -3719,18 +3782,18 @@ "acknowledgementDate": { "type": "string", "format": "date-time", - "description": "The date when the line item was confirmed by the vendor. Must be in ISO 8601 date/time format." + "description": "The date when the line item was confirmed by vendor. Must be in ISO-8601 date/time format." }, "acceptedQuantity": { - "description": "Item quantity accepted by the vendor to be shipped.", + "description": "Item quantity accepted by vendor to be shipped.", "$ref": "#/definitions/ItemQuantity" }, "rejectedQuantity": { - "description": "Item quantity rejected by the vendor.", + "description": "Item quantity rejected by vendor.", "$ref": "#/definitions/ItemQuantity" } }, - "description": "Details of the item quantity ordered" + "description": "Details of item quantity ordered" }, "Error": { "type": "object", From 9cc76b80bd55b794df462c817d163d0212ae803b Mon Sep 17 00:00:00 2001 From: Jack Evoniuk Date: Mon, 26 Aug 2024 10:08:07 -0700 Subject: [PATCH 324/340] Update rate limits in Catalog Items --- models/catalog-items-api-model/catalogItems_2022-04-01.json | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/models/catalog-items-api-model/catalogItems_2022-04-01.json b/models/catalog-items-api-model/catalogItems_2022-04-01.json index 1047cb99e..a73e07d33 100644 --- a/models/catalog-items-api-model/catalogItems_2022-04-01.json +++ b/models/catalog-items-api-model/catalogItems_2022-04-01.json @@ -29,7 +29,7 @@ "tags": [ "catalog" ], - "description": "Search for and return a list of Amazon catalog items and associated information either by identifier or by keywords.\n\n**Usage Plans:**\n\n| Rate (requests per second) | Burst |\n| ---- | ---- |\n| 5 | 5 |\n\nThe `x-amzn-RateLimit-Limit` response header returns the usage plan rate limits that were applied to the requested operation, when available. The table above indicates the default rate and burst values for this operation. Selling partners whose business demands require higher throughput may observe higher rate and burst values than those shown here. For more information, refer to the [Usage Plans and Rate Limits in the Selling Partner API](doc:usage-plans-and-rate-limits-in-the-sp-api).", + "description": "Search for and return a list of Amazon catalog items and associated information either by identifier or by keywords.\n\n**Usage Plans:**\n\n| Rate (requests per second) | Burst |\n| ---- | ---- |\n| 2 | 2 |\n\nThe `x-amzn-RateLimit-Limit` response header returns the usage plan rate limits that were applied to the requested operation, when available. The table above indicates the default rate and burst values for this operation. Selling partners whose business demands require higher throughput may observe higher rate and burst values than those shown here. For more information, refer to the [Usage Plans and Rate Limits in the Selling Partner API](doc:usage-plans-and-rate-limits-in-the-sp-api).", "operationId": "searchCatalogItems", "consumes": [ "application/json" @@ -1668,7 +1668,7 @@ "tags": [ "catalog" ], - "description": "Retrieves details for an item in the Amazon catalog.\n\n**Usage Plan:**\n\n| Rate (requests per second) | Burst |\n| ---- | ---- |\n| 5 | 5 |\n\nThe `x-amzn-RateLimit-Limit` response header returns the usage plan rate limits that were applied to the requested operation, when available. The table above indicates the default rate and burst values for this operation. Selling partners whose business demands require higher throughput may observe higher rate and burst values than those shown here. For more information, refer to the [Usage Plans and Rate Limits in the Selling Partner API](doc:usage-plans-and-rate-limits-in-the-sp-api).", + "description": "Retrieves details for an item in the Amazon catalog.\n\n**Usage Plan:**\n\n| Rate (requests per second) | Burst |\n| ---- | ---- |\n| 2 | 2 |\n\nThe `x-amzn-RateLimit-Limit` response header returns the usage plan rate limits that were applied to the requested operation, when available. The table above indicates the default rate and burst values for this operation. Selling partners whose business demands require higher throughput may observe higher rate and burst values than those shown here. For more information, refer to the [Usage Plans and Rate Limits in the Selling Partner API](doc:usage-plans-and-rate-limits-in-the-sp-api).", "operationId": "getCatalogItem", "consumes": [ "application/json" From 80eb7be48c280e03b18b9efa5aba165712231f45 Mon Sep 17 00:00:00 2001 From: Marc Marschall <20718963+worksasintended@users.noreply.github.com> Date: Tue, 30 Jul 2024 17:00:27 +0200 Subject: [PATCH 325/340] change mvn package org.projectlombok.lombok from version 1.18.08 to 1.18.34 --- clients/sellingpartner-api-aa-java/pom.xml | 1 + 1 file changed, 1 insertion(+) diff --git a/clients/sellingpartner-api-aa-java/pom.xml b/clients/sellingpartner-api-aa-java/pom.xml index 1f6366119..bd13e7b5f 100644 --- a/clients/sellingpartner-api-aa-java/pom.xml +++ b/clients/sellingpartner-api-aa-java/pom.xml @@ -56,6 +56,7 @@ 1.18.34 provided + com.google.code.gson From 209cd0deb34bc2934544f650f8fedf39af158395 Mon Sep 17 00:00:00 2001 From: Marc Marschall Date: Tue, 30 Jul 2024 17:11:05 +0200 Subject: [PATCH 326/340] Update pom.xml --- clients/sellingpartner-api-aa-java/pom.xml | 1 - 1 file changed, 1 deletion(-) diff --git a/clients/sellingpartner-api-aa-java/pom.xml b/clients/sellingpartner-api-aa-java/pom.xml index bd13e7b5f..1f6366119 100644 --- a/clients/sellingpartner-api-aa-java/pom.xml +++ b/clients/sellingpartner-api-aa-java/pom.xml @@ -56,7 +56,6 @@ 1.18.34 provided - com.google.code.gson From 89b8aa928dbeedfe756b58ec0159659ecea68397 Mon Sep 17 00:00:00 2001 From: ruby4406 Date: Tue, 20 Aug 2024 03:33:42 +0530 Subject: [PATCH 327/340] Merge remote-tracking branch 'origin/SPAPIDoc-2419-listingsitemsissueschange-schema' into pr/4068 --- .DS_Store | Bin 0 -> 8196 bytes models/.DS_Store | Bin 0 -> 10244 bytes .../fbaSmallandLight.json | 2271 +++++++++++++++++ 3 files changed, 2271 insertions(+) create mode 100644 .DS_Store create mode 100644 models/.DS_Store create mode 100644 models/fba-small-and-light-api-model/fbaSmallandLight.json diff --git a/.DS_Store b/.DS_Store new file mode 100644 index 0000000000000000000000000000000000000000..52e8b63df488a9c1c6351c4382e4a169552bc92e GIT binary patch literal 8196 zcmeHMU2GIp6u#fIlo>kEDJ)P&$}UtTLV=c_0s^}IL(6Z|ZD}dUc6Vol39~b0XLgHL zwCa;l;$JkzsEJQXR33~PMWYV}MIU@n{J|I>j2dJ7OEfRH)-0$4GXO=OBj-t`ZSOa5Bri)Xpmb!~HKF+TxO$sH|L_zwD+04t1d81j|%}$ve z38Dx@5r`rXMIeem6oLOj1nA7>O`hi57o$-hMIeg6Wf=j!KP2elG#SzfL4&P>x}XFg z%1eNt(LL1xfleZ%$&gM68mN*@Q9U43MOb1$sMC0YPbZoT>4cy{ok6HGgil6Tp&)oV z=_P{c3`s$wK8ipTfvFMT=~Kh<%w+~ME9&>t*-_i_{FataAyrk+sF^9xlxyXiQ-|HL zl%Mg7UPq>|pL6}LYiG;%ne1N697}7lPS^1>mSYwI1dU2|f?#Q zS2%W}(kt65b&9VNRqM-MeNpyGnN_RK*82zc4i2elZElHPf6u6IxsJEjEOT?-8SF|&}*>2k@>o${QbzZLE+IFw&S=`LNA>Taa^RX#I zL&Kh1@H+!zLl)T=v$UdT_L*eVDw$nm+KW{<2<6nAg^QM4y?ph$OqEt? zb+l;tw`xtYENm^-6N>hVe88aR?{W>UX#^wsV*M&v-p}Qo1(SLqR+s75Dq2SF_sCIU zqFG&~Xr9u4gce<>wyJAo%}@sHOxCo8s7>7{Yde&|l8Chs#?&pcGL&=kd3tG2$ZpWv zW$mndkUw~5#`E`#nojwZZqU1BdDuIgDVTf42y$hO9$5|+kK|mX+pv7M5O}>~v99mq zrrHg|G(xBKUcFD&J|Z2>a!M9~oR&{uU2aNl7mLu8Tpr$(7bS>gQ?f;uyJ;RJv>UwqF3Cz-t+ze}{g6_DMMspgllDB~mHT zu3Xfp#s?@J%wv@aT25STCQncK9G|^psT$X2P{IiInq|b+P_hViMRPo^NtC04ZE20G zS`}rW66mgPCKe&H={i-_swo%6*!7LXvXJTMBr`m-9Zm2v6WiJQX1PB%a3$ zcoDDSHN1|~cn4?j9?s%@e1MPfCBDTE_^krTyCx$UzgHr;lqxv3>l`9^8U2%0E?KTh zc-Fw{|L*C(|6j8HM~+1ih$2ASUUgThtAipj-TudG?F3yTbn(XLO$ZvOP#2WrM1yji m=!HKF={`YIxlS^q6M~Y2+Q0rGV7edF(fJ>p{{bQ|kM1wypjK4? literal 0 HcmV?d00001 diff --git a/models/.DS_Store b/models/.DS_Store new file mode 100644 index 0000000000000000000000000000000000000000..cd5aa68a204c15ed0367f3a875676bad62ead55f GIT binary patch literal 10244 zcmeI1-EI;=6vxlBXqQwIG-{}c$tK=-Q6gIrX}m$i7Z9TtYU*yGbmOv1SdbWk;o6V) zG2Z(MUi$z(g#Y=d(Z%vnEY#!-nfcGo&Ij|$nVFnfA`+Ee-667x$U>Bwxq##^LB5x9 zEUcN53{;>!QA{mzDZno`R+|f$025#WOn?b6fwMpWXSNL1rdCdw025#WzX-_v!A6u? zHagO(whko91%RedtOD}V9guBoqh+Hbt$2eVbW^BqDvXOEbaRy3re4|TNULs6!Z;to zj4X_YBGl;U-&WO0l(llo1em}$0l8dm&;fby+jD>T?=FQ@M_E8VHR+JL$h*|WQx0B! zgm(=JynfvFg2+QJU%YnU$K8DXn^;>4?25)MeFo?n?dXXbs z22CIAB)@$yil=bUayAh1J~iPH?-1wbxPWt_Qo4tMLHLrrX#5y)NgPb%NN|7%@rE2R&_hllQX~ zuFHjO?F2JVu*+gC_Q0==)%q5;7Q^y-pf}5oHg0j&DV_vreG)hY2b;fB%I7Dn(^*b} zxn~|Uo!WlXYU}+{rE~YuimFv}j#}The(Ya*_w@mKIzd16f6`C;aPc`MEb2EroMi$` zfC(@GCcp$%Mqpi!Y|H!qN5_BvU)lfTftdgkIDG;lRjpMk80YAMEIFjSYqt?!A<7`@ zjkKyJNYr&aR9(m8L0-q-LX>s$Qe{BCY;>d*B?wFZ7{LDj*iCN2TbtYSoOlz={{NKQ JljZyWKLMN3!xR7j literal 0 HcmV?d00001 diff --git a/models/fba-small-and-light-api-model/fbaSmallandLight.json b/models/fba-small-and-light-api-model/fbaSmallandLight.json new file mode 100644 index 000000000..b5e5aac98 --- /dev/null +++ b/models/fba-small-and-light-api-model/fbaSmallandLight.json @@ -0,0 +1,2271 @@ +{ + "swagger": "2.0", + "info": { + "description": "The Selling Partner API for FBA Small and Light lets you help sellers manage their listings in the Small and Light program. The program reduces the cost of fulfilling orders for small and lightweight FBA inventory. You can enroll or remove items from the program and check item eligibility and enrollment status. You can also preview the estimated program fees charged to a seller for items sold while enrolled in the program. \n\n**Note:** The FBA Small and Light program sunset in the US and EU regions on **September 26, 2023**. The program will be deprecated in the JP region on **March 31, 2024** and sunset on **April 1, 2024**. APIs announcing deprecation will no longer be supported after their deprecation date. Calls to deprecated APIs will fail beginning on their sunset date. For more information, refer to [FBA Small and Light program deprecation](https://developer-docs.amazon.com/sp-api/changelog/fba-small-and-light-program-deprecation).", + "version": "v1", + "title": "Selling Partner API for FBA Small And Light", + "contact": { + "name": "Selling Partner API Developer Support", + "url": "https://sellercentral.amazon.com/gp/mws/contactus.html" + }, + "license": { + "name": "Apache License 2.0", + "url": "http://www.apache.org/licenses/LICENSE-2.0" + } + }, + "host": "sellingpartnerapi-na.amazon.com", + "schemes": [ + "https" + ], + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "paths": { + "/fba/smallAndLight/v1/enrollments/{sellerSKU}": { + "get": { + "tags": [ + "smallAndLight" + ], + "description": "Returns the Small and Light enrollment status for the item indicated by the specified seller SKU in the specified marketplace.\n\n**Usage Plan:**\n\n| Rate (requests per second) | Burst |\n| ---- | ---- |\n| 2 | 10 |\n\nThe `x-amzn-RateLimit-Limit` response header returns the usage plan rate limits that were applied to the requested operation, when available. The table above indicates the default rate and burst values for this operation. Selling partners whose business demands require higher throughput may see higher rate and burst values than those shown here. For more information, see [Usage Plans and Rate Limits in the Selling Partner API](https://developer-docs.amazon.com/sp-api/docs/usage-plans-and-rate-limits-in-the-sp-api).", + "operationId": "getSmallAndLightEnrollmentBySellerSKU", + "deprecated": true, + "parameters": [ + { + "name": "sellerSKU", + "in": "path", + "description": "The seller SKU that identifies the item.", + "required": true, + "type": "string" + }, + { + "name": "marketplaceIds", + "in": "query", + "description": "The marketplace for which the enrollment status is retrieved. Note: Accepts a single marketplace only.", + "required": true, + "type": "array", + "items": { + "type": "string" + }, + "maxItems": 1 + } + ], + "responses": { + "200": { + "description": "Success.", + "schema": { + "$ref": "#/definitions/SmallAndLightEnrollment" + }, + "headers": { + "x-amzn-RateLimit-Limit": { + "type": "string", + "description": "Your rate limit (requests per second) for this operation." + }, + "x-amzn-RequestId": { + "type": "string", + "description": "Unique request reference identifier." + } + }, + "x-amzn-api-sandbox": { + "static": [ + { + "request": { + "parameters": { + "sellerSKU": { + "value": "SKU_ENROLLED_IN_SMALL_AND_LIGHT" + }, + "marketplaceIds": { + "value": [ + "ATVPDKIKX0DER" + ] + } + } + }, + "response": { + "marketplaceId": "ATVPDKIKX0DER", + "sellerSKU": "SKU_ENROLLED_IN_SMALL_AND_LIGHT", + "status": "ENROLLED" + } + } + ] + } + }, + "400": { + "description": "Request has missing or invalid parameters and cannot be parsed.", + "schema": { + "$ref": "#/definitions/ErrorList" + }, + "headers": { + "x-amzn-RateLimit-Limit": { + "type": "string", + "description": "Your rate limit (requests per second) for this operation." + }, + "x-amzn-RequestId": { + "type": "string", + "description": "Unique request reference identifier." + } + }, + "x-amzn-api-sandbox": { + "static": [ + { + "request": { + "parameters": { + "sellerSKU": { + "value": "SKU_400" + }, + "marketplaceIds": { + "value": [ + "ATVPDKIKX0DER" + ] + } + } + }, + "response": { + "errors": [ + { + "code": "InvalidInput", + "message": "Invalid input." + } + ] + } + } + ] + } + }, + "403": { + "description": "Indicates that access to the resource is forbidden. Possible reasons include Access Denied, Unauthorized, Expired Token, or Invalid Signature.", + "schema": { + "$ref": "#/definitions/ErrorList" + }, + "headers": { + "x-amzn-RequestId": { + "type": "string", + "description": "Unique request reference identifier." + } + }, + "x-amzn-api-sandbox": { + "static": [ + { + "request": { + "parameters": { + "sellerSKU": { + "value": "SKU_403" + }, + "marketplaceIds": { + "value": [ + "ATVPDKIKX0DER" + ] + } + } + }, + "response": { + "errors": [ + { + "code": "Unauthorized", + "message": "Access to requested resource is denied." + } + ] + } + } + ] + } + }, + "404": { + "description": "The resource specified does not exist.", + "schema": { + "$ref": "#/definitions/ErrorList" + }, + "headers": { + "x-amzn-RateLimit-Limit": { + "type": "string", + "description": "Your rate limit (requests per second) for this operation." + }, + "x-amzn-RequestId": { + "type": "string", + "description": "Unique request reference identifier." + } + }, + "x-amzn-api-sandbox": { + "static": [ + { + "request": { + "parameters": { + "sellerSKU": { + "value": "SKU_404" + }, + "marketplaceIds": { + "value": [ + "ATVPDKIKX0DER" + ] + } + } + }, + "response": { + "errors": [ + { + "code": "NotFound", + "message": "Requested resource is not found" + } + ] + } + } + ] + } + }, + "413": { + "description": "The request size exceeded the maximum accepted size.", + "schema": { + "$ref": "#/definitions/ErrorList" + }, + "headers": { + "x-amzn-RateLimit-Limit": { + "type": "string", + "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." + }, + "x-amzn-RequestId": { + "type": "string", + "description": "Unique request reference identifier." + } + }, + "x-amzn-api-sandbox": { + "static": [ + { + "request": { + "parameters": { + "sellerSKU": { + "value": "SKU_413" + }, + "marketplaceIds": { + "value": [ + "ATVPDKIKX0DER" + ] + } + } + }, + "response": { + "errors": [ + { + "code": "PayloadTooLarge", + "message": "Payload of the request is too large." + } + ] + } + } + ] + } + }, + "415": { + "description": "The request payload is in an unsupported format.", + "schema": { + "$ref": "#/definitions/ErrorList" + }, + "headers": { + "x-amzn-RateLimit-Limit": { + "type": "string", + "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." + }, + "x-amzn-RequestId": { + "type": "string", + "description": "Unique request reference identifier." + } + }, + "x-amzn-api-sandbox": { + "static": [ + { + "request": { + "parameters": { + "sellerSKU": { + "value": "SKU_415" + }, + "marketplaceIds": { + "value": [ + "ATVPDKIKX0DER" + ] + } + } + }, + "response": { + "errors": [ + { + "code": "UnsupportedType", + "message": "The entity of the request is of unsupported type." + } + ] + } + } + ] + } + }, + "429": { + "description": "The frequency of requests was greater than allowed.", + "schema": { + "$ref": "#/definitions/ErrorList" + }, + "headers": { + "x-amzn-RateLimit-Limit": { + "type": "string", + "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." + }, + "x-amzn-RequestId": { + "type": "string", + "description": "Unique request reference identifier." + } + }, + "x-amzn-api-sandbox": { + "static": [ + { + "request": { + "parameters": { + "sellerSKU": { + "value": "SKU_429" + }, + "marketplaceIds": { + "value": [ + "ATVPDKIKX0DER" + ] + } + } + }, + "response": { + "errors": [ + { + "code": "TooManyRequests", + "message": "Total number of requests exceed your allowed limits." + } + ] + } + } + ] + } + }, + "500": { + "description": "An unexpected condition occurred that prevented the server from fulfilling the request.", + "schema": { + "$ref": "#/definitions/ErrorList" + }, + "headers": { + "x-amzn-RateLimit-Limit": { + "type": "string", + "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." + }, + "x-amzn-RequestId": { + "type": "string", + "description": "Unique request reference identifier." + } + }, + "x-amzn-api-sandbox": { + "static": [ + { + "request": { + "parameters": { + "sellerSKU": { + "value": "SKU_500" + }, + "marketplaceIds": { + "value": [ + "ATVPDKIKX0DER" + ] + } + } + }, + "response": { + "errors": [ + { + "code": "InternalServerError", + "message": "Server encountered an unexpected condition while processing your request." + } + ] + } + } + ] + } + }, + "503": { + "description": "Temporary overloading or maintenance of the server.", + "schema": { + "$ref": "#/definitions/ErrorList" + }, + "headers": { + "x-amzn-RateLimit-Limit": { + "type": "string", + "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." + }, + "x-amzn-RequestId": { + "type": "string", + "description": "Unique request reference identifier." + } + }, + "x-amzn-api-sandbox": { + "static": [ + { + "request": { + "parameters": { + "sellerSKU": { + "value": "SKU_503" + }, + "marketplaceIds": { + "value": [ + "ATVPDKIKX0DER" + ] + } + } + }, + "response": { + "errors": [ + { + "code": "ServiceUnavailable", + "message": "Server is temporarily unavailable." + } + ] + } + } + ] + } + } + } + }, + "put": { + "tags": [ + "smallAndLight" + ], + "description": "Enrolls the item indicated by the specified seller SKU in the Small and Light program in the specified marketplace. If the item is not eligible, the ineligibility reasons are returned.\n\n**Usage Plan:**\n\n| Rate (requests per second) | Burst |\n| ---- | ---- |\n| 2 | 5 |\n\nThe `x-amzn-RateLimit-Limit` response header returns the usage plan rate limits that were applied to the requested operation, when available. The table above indicates the default rate and burst values for this operation. Selling partners whose business demands require higher throughput may see higher rate and burst values than those shown here. For more information, see [Usage Plans and Rate Limits in the Selling Partner API](https://developer-docs.amazon.com/sp-api/docs/usage-plans-and-rate-limits-in-the-sp-api).", + "operationId": "putSmallAndLightEnrollmentBySellerSKU", + "deprecated": true, + "parameters": [ + { + "name": "sellerSKU", + "in": "path", + "description": "The seller SKU that identifies the item.", + "required": true, + "type": "string" + }, + { + "name": "marketplaceIds", + "in": "query", + "description": "The marketplace in which to enroll the item. Note: Accepts a single marketplace only.", + "required": true, + "type": "array", + "items": { + "type": "string" + }, + "maxItems": 1 + } + ], + "responses": { + "200": { + "description": "Success.", + "schema": { + "$ref": "#/definitions/SmallAndLightEnrollment" + }, + "headers": { + "x-amzn-RateLimit-Limit": { + "type": "string", + "description": "Your rate limit (requests per second) for this operation." + }, + "x-amzn-RequestId": { + "type": "string", + "description": "Unique request reference identifier." + } + }, + "x-amzn-api-sandbox": { + "static": [ + { + "request": { + "parameters": { + "sellerSKU": { + "value": "SKU_ELIGIBLE_FOR_SMALL_AND_LIGHT" + }, + "marketplaceIds": { + "value": [ + "ATVPDKIKX0DER" + ] + } + } + }, + "response": { + "marketplaceId": "ATVPDKIKX0DER", + "sellerSKU": "SKU_ELIGIBLE_FOR_SMALL_AND_LIGHT", + "status": "ENROLLED" + } + } + ] + } + }, + "400": { + "description": "Request has missing or invalid parameters and cannot be parsed.", + "schema": { + "$ref": "#/definitions/ErrorList" + }, + "headers": { + "x-amzn-RateLimit-Limit": { + "type": "string", + "description": "Your rate limit (requests per second) for this operation." + }, + "x-amzn-RequestId": { + "type": "string", + "description": "Unique request reference identifier." + } + }, + "x-amzn-api-sandbox": { + "static": [ + { + "request": { + "parameters": { + "sellerSKU": { + "value": "SKU_400" + }, + "marketplaceIds": { + "value": [ + "ATVPDKIKX0DER" + ] + } + } + }, + "response": { + "errors": [ + { + "code": "InvalidInput", + "message": "Invalid input." + } + ] + } + } + ] + } + }, + "403": { + "description": "Indicates that access to the resource is forbidden. Possible reasons include Access Denied, Unauthorized, Expired Token, or Invalid Signature.", + "schema": { + "$ref": "#/definitions/ErrorList" + }, + "headers": { + "x-amzn-RequestId": { + "type": "string", + "description": "Unique request reference identifier." + } + }, + "x-amzn-api-sandbox": { + "static": [ + { + "request": { + "parameters": { + "sellerSKU": { + "value": "SKU_403" + }, + "marketplaceIds": { + "value": [ + "ATVPDKIKX0DER" + ] + } + } + }, + "response": { + "errors": [ + { + "code": "Unauthorized", + "message": "Access to requested resource is denied." + } + ] + } + } + ] + } + }, + "404": { + "description": "The resource specified does not exist.", + "schema": { + "$ref": "#/definitions/ErrorList" + }, + "headers": { + "x-amzn-RateLimit-Limit": { + "type": "string", + "description": "Your rate limit (requests per second) for this operation." + }, + "x-amzn-RequestId": { + "type": "string", + "description": "Unique request reference identifier." + } + }, + "x-amzn-api-sandbox": { + "static": [ + { + "request": { + "parameters": { + "sellerSKU": { + "value": "SKU_404" + }, + "marketplaceIds": { + "value": [ + "ATVPDKIKX0DER" + ] + } + } + }, + "response": { + "errors": [ + { + "code": "NotFound", + "message": "Requested resource is not found" + } + ] + } + } + ] + } + }, + "413": { + "description": "The request size exceeded the maximum accepted size.", + "schema": { + "$ref": "#/definitions/ErrorList" + }, + "headers": { + "x-amzn-RateLimit-Limit": { + "type": "string", + "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." + }, + "x-amzn-RequestId": { + "type": "string", + "description": "Unique request reference identifier." + } + }, + "x-amzn-api-sandbox": { + "static": [ + { + "request": { + "parameters": { + "sellerSKU": { + "value": "SKU_413" + }, + "marketplaceIds": { + "value": [ + "ATVPDKIKX0DER" + ] + } + } + }, + "response": { + "errors": [ + { + "code": "PayloadTooLarge", + "message": "Payload of the request is too large." + } + ] + } + } + ] + } + }, + "415": { + "description": "The request payload is in an unsupported format.", + "schema": { + "$ref": "#/definitions/ErrorList" + }, + "headers": { + "x-amzn-RateLimit-Limit": { + "type": "string", + "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." + }, + "x-amzn-RequestId": { + "type": "string", + "description": "Unique request reference identifier." + } + }, + "x-amzn-api-sandbox": { + "static": [ + { + "request": { + "parameters": { + "sellerSKU": { + "value": "SKU_415" + }, + "marketplaceIds": { + "value": [ + "ATVPDKIKX0DER" + ] + } + } + }, + "response": { + "errors": [ + { + "code": "UnsupportedType", + "message": "The entity of the request is of unsupported type." + } + ] + } + } + ] + } + }, + "429": { + "description": "The frequency of requests was greater than allowed.", + "schema": { + "$ref": "#/definitions/ErrorList" + }, + "headers": { + "x-amzn-RateLimit-Limit": { + "type": "string", + "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." + }, + "x-amzn-RequestId": { + "type": "string", + "description": "Unique request reference identifier." + } + }, + "x-amzn-api-sandbox": { + "static": [ + { + "request": { + "parameters": { + "sellerSKU": { + "value": "SKU_429" + }, + "marketplaceIds": { + "value": [ + "ATVPDKIKX0DER" + ] + } + } + }, + "response": { + "errors": [ + { + "code": "TooManyRequests", + "message": "Total number of requests exceed your allowed limits." + } + ] + } + } + ] + } + }, + "500": { + "description": "An unexpected condition occurred that prevented the server from fulfilling the request.", + "schema": { + "$ref": "#/definitions/ErrorList" + }, + "headers": { + "x-amzn-RateLimit-Limit": { + "type": "string", + "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." + }, + "x-amzn-RequestId": { + "type": "string", + "description": "Unique request reference identifier." + } + }, + "x-amzn-api-sandbox": { + "static": [ + { + "request": { + "parameters": { + "sellerSKU": { + "value": "SKU_500" + }, + "marketplaceIds": { + "value": [ + "ATVPDKIKX0DER" + ] + } + } + }, + "response": { + "errors": [ + { + "code": "InternalServerError", + "message": "Server encountered an unexpected condition while processing your request." + } + ] + } + } + ] + } + }, + "503": { + "description": "Temporary overloading or maintenance of the server.", + "schema": { + "$ref": "#/definitions/ErrorList" + }, + "headers": { + "x-amzn-RateLimit-Limit": { + "type": "string", + "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." + }, + "x-amzn-RequestId": { + "type": "string", + "description": "Unique request reference identifier." + } + }, + "x-amzn-api-sandbox": { + "static": [ + { + "request": { + "parameters": { + "sellerSKU": { + "value": "SKU_503" + }, + "marketplaceIds": { + "value": [ + "ATVPDKIKX0DER" + ] + } + } + }, + "response": { + "errors": [ + { + "code": "ServiceUnavailable", + "message": "Server is temporarily unavailable." + } + ] + } + } + ] + } + } + } + }, + "delete": { + "tags": [ + "smallAndLight" + ], + "description": "Removes the item indicated by the specified seller SKU from the Small and Light program in the specified marketplace. If the item is not eligible for disenrollment, the ineligibility reasons are returned.\n\n**Usage Plan:**\n\n| Rate (requests per second) | Burst |\n| ---- | ---- |\n| 2 | 5 |\n\nThe `x-amzn-RateLimit-Limit` response header returns the usage plan rate limits that were applied to the requested operation, when available. The table above indicates the default rate and burst values for this operation. Selling partners whose business demands require higher throughput may see higher rate and burst values than those shown here. For more information, see [Usage Plans and Rate Limits in the Selling Partner API](https://developer-docs.amazon.com/sp-api/docs/usage-plans-and-rate-limits-in-the-sp-api).", + "operationId": "deleteSmallAndLightEnrollmentBySellerSKU", + "deprecated": true, + "parameters": [ + { + "name": "sellerSKU", + "in": "path", + "description": "The seller SKU that identifies the item.", + "required": true, + "type": "string" + }, + { + "name": "marketplaceIds", + "in": "query", + "description": "The marketplace in which to remove the item from the Small and Light program. Note: Accepts a single marketplace only.", + "required": true, + "type": "array", + "items": { + "type": "string" + }, + "maxItems": 1 + } + ], + "responses": { + "204": { + "description": "Success.", + "headers": { + "x-amzn-RateLimit-Limit": { + "type": "string", + "description": "Your rate limit (requests per second) for this operation." + }, + "x-amzn-RequestId": { + "type": "string", + "description": "Unique request reference identifier." + } + }, + "x-amzn-api-sandbox": { + "static": [ + { + "request": { + "parameters": { + "sellerSKU": { + "value": "SKU_ENROLLED_FOR_SMALL_AND_LIGHT" + }, + "marketplaceIds": { + "value": [ + "ATVPDKIKX0DER" + ] + } + } + }, + "response": {} + } + ] + } + }, + "400": { + "description": "Request has missing or invalid parameters and cannot be parsed.", + "schema": { + "$ref": "#/definitions/ErrorList" + }, + "headers": { + "x-amzn-RateLimit-Limit": { + "type": "string", + "description": "Your rate limit (requests per second) for this operation." + }, + "x-amzn-RequestId": { + "type": "string", + "description": "Unique request reference identifier." + } + }, + "x-amzn-api-sandbox": { + "static": [ + { + "request": { + "parameters": { + "sellerSKU": { + "value": "SKU_400" + }, + "marketplaceIds": { + "value": [ + "ATVPDKIKX0DER" + ] + } + } + }, + "response": { + "errors": [ + { + "code": "InvalidInput", + "message": "Invalid input." + } + ] + } + } + ] + } + }, + "403": { + "description": "Indicates that access to the resource is forbidden. Possible reasons include Access Denied, Unauthorized, Expired Token, or Invalid Signature.", + "schema": { + "$ref": "#/definitions/ErrorList" + }, + "headers": { + "x-amzn-RequestId": { + "type": "string", + "description": "Unique request reference identifier." + } + }, + "x-amzn-api-sandbox": { + "static": [ + { + "request": { + "parameters": { + "sellerSKU": { + "value": "SKU_403" + }, + "marketplaceIds": { + "value": [ + "ATVPDKIKX0DER" + ] + } + } + }, + "response": { + "errors": [ + { + "code": "Unauthorized", + "message": "Access to requested resource is denied." + } + ] + } + } + ] + } + }, + "404": { + "description": "The resource specified does not exist.", + "schema": { + "$ref": "#/definitions/ErrorList" + }, + "headers": { + "x-amzn-RateLimit-Limit": { + "type": "string", + "description": "Your rate limit (requests per second) for this operation." + }, + "x-amzn-RequestId": { + "type": "string", + "description": "Unique request reference identifier." + } + }, + "x-amzn-api-sandbox": { + "static": [ + { + "request": { + "parameters": { + "sellerSKU": { + "value": "SKU_404" + }, + "marketplaceIds": { + "value": [ + "ATVPDKIKX0DER" + ] + } + } + }, + "response": { + "errors": [ + { + "code": "NotFound", + "message": "Requested resource is not found" + } + ] + } + } + ] + } + }, + "413": { + "description": "The request size exceeded the maximum accepted size.", + "schema": { + "$ref": "#/definitions/ErrorList" + }, + "headers": { + "x-amzn-RateLimit-Limit": { + "type": "string", + "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." + }, + "x-amzn-RequestId": { + "type": "string", + "description": "Unique request reference identifier." + } + }, + "x-amzn-api-sandbox": { + "static": [ + { + "request": { + "parameters": { + "sellerSKU": { + "value": "SKU_413" + }, + "marketplaceIds": { + "value": [ + "ATVPDKIKX0DER" + ] + } + } + }, + "response": { + "errors": [ + { + "code": "PayloadTooLarge", + "message": "Payload of the request is too large." + } + ] + } + } + ] + } + }, + "415": { + "description": "The request payload is in an unsupported format.", + "schema": { + "$ref": "#/definitions/ErrorList" + }, + "headers": { + "x-amzn-RateLimit-Limit": { + "type": "string", + "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." + }, + "x-amzn-RequestId": { + "type": "string", + "description": "Unique request reference identifier." + } + }, + "x-amzn-api-sandbox": { + "static": [ + { + "request": { + "parameters": { + "sellerSKU": { + "value": "SKU_415" + }, + "marketplaceIds": { + "value": [ + "ATVPDKIKX0DER" + ] + } + } + }, + "response": { + "errors": [ + { + "code": "UnsupportedType", + "message": "The entity of the request is of unsupported type." + } + ] + } + } + ] + } + }, + "429": { + "description": "The frequency of requests was greater than allowed.", + "schema": { + "$ref": "#/definitions/ErrorList" + }, + "headers": { + "x-amzn-RateLimit-Limit": { + "type": "string", + "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." + }, + "x-amzn-RequestId": { + "type": "string", + "description": "Unique request reference identifier." + } + }, + "x-amzn-api-sandbox": { + "static": [ + { + "request": { + "parameters": { + "sellerSKU": { + "value": "SKU_429" + }, + "marketplaceIds": { + "value": [ + "ATVPDKIKX0DER" + ] + } + } + }, + "response": { + "errors": [ + { + "code": "TooManyRequests", + "message": "Total number of requests exceed your allowed limits." + } + ] + } + } + ] + } + }, + "500": { + "description": "An unexpected condition occurred that prevented the server from fulfilling the request.", + "schema": { + "$ref": "#/definitions/ErrorList" + }, + "headers": { + "x-amzn-RateLimit-Limit": { + "type": "string", + "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." + }, + "x-amzn-RequestId": { + "type": "string", + "description": "Unique request reference identifier." + } + }, + "x-amzn-api-sandbox": { + "static": [ + { + "request": { + "parameters": { + "sellerSKU": { + "value": "SKU_500" + }, + "marketplaceIds": { + "value": [ + "ATVPDKIKX0DER" + ] + } + } + }, + "response": { + "errors": [ + { + "code": "InternalServerError", + "message": "Server encountered an unexpected condition while processing your request." + } + ] + } + } + ] + } + }, + "503": { + "description": "Temporary overloading or maintenance of the server.", + "schema": { + "$ref": "#/definitions/ErrorList" + }, + "headers": { + "x-amzn-RateLimit-Limit": { + "type": "string", + "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." + }, + "x-amzn-RequestId": { + "type": "string", + "description": "Unique request reference identifier." + } + }, + "x-amzn-api-sandbox": { + "static": [ + { + "request": { + "parameters": { + "sellerSKU": { + "value": "SKU_503" + }, + "marketplaceIds": { + "value": [ + "ATVPDKIKX0DER" + ] + } + } + }, + "response": { + "errors": [ + { + "code": "ServiceUnavailable", + "message": "Server is temporarily unavailable." + } + ] + } + } + ] + } + } + } + } + }, + "/fba/smallAndLight/v1/eligibilities/{sellerSKU}": { + "get": { + "tags": [ + "smallAndLight" + ], + "description": "Returns the Small and Light program eligibility status of the item indicated by the specified seller SKU in the specified marketplace. If the item is not eligible, the ineligibility reasons are returned. **Note:** The parameters associated with this operation may contain special characters that must be encoded to successfully call the API. To avoid errors with SKUs when encoding URLs, refer to [URL Encoding](https://developer-docs.amazon.com/sp-api/docs/url-encoding).\n\n**Usage Plan:**\n\n| Rate (requests per second) | Burst |\n| ---- | ---- |\n| 2 | 10 |\n\nThe `x-amzn-RateLimit-Limit` response header returns the usage plan rate limits that were applied to the requested operation, when available. The table above indicates the default rate and burst values for this operation. Selling partners whose business demands require higher throughput may see higher rate and burst values than those shown here. For more information, see [Usage Plans and Rate Limits in the Selling Partner API](https://developer-docs.amazon.com/sp-api/docs/usage-plans-and-rate-limits-in-the-sp-api).", + "operationId": "getSmallAndLightEligibilityBySellerSKU", + "deprecated": true, + "parameters": [ + { + "name": "sellerSKU", + "in": "path", + "description": "The seller SKU that identifies the item.", + "required": true, + "type": "string" + }, + { + "name": "marketplaceIds", + "in": "query", + "description": "The marketplace for which the eligibility status is retrieved. NOTE: Accepts a single marketplace only.", + "required": true, + "type": "array", + "items": { + "type": "string" + }, + "maxItems": 1 + } + ], + "responses": { + "200": { + "description": "Success.", + "schema": { + "$ref": "#/definitions/SmallAndLightEligibility" + }, + "headers": { + "x-amzn-RateLimit-Limit": { + "type": "string", + "description": "Your rate limit (requests per second) for this operation." + }, + "x-amzn-RequestId": { + "type": "string", + "description": "Unique request reference identifier." + } + }, + "x-amzn-api-sandbox": { + "static": [ + { + "request": { + "parameters": { + "sellerSKU": { + "value": "SKU_ELIGIBLE_FOR_SMALL_AND_LIGHT" + }, + "marketplaceIds": { + "value": [ + "ATVPDKIKX0DER" + ] + } + } + }, + "response": { + "marketplaceId": "ATVPDKIKX0DER", + "sellerSKU": "SKU_ELIGIBLE_FOR_SMALL_AND_LIGHT", + "status": "ELIGIBLE" + } + } + ] + } + }, + "400": { + "description": "Request has missing or invalid parameters and cannot be parsed.", + "schema": { + "$ref": "#/definitions/ErrorList" + }, + "headers": { + "x-amzn-RateLimit-Limit": { + "type": "string", + "description": "Your rate limit (requests per second) for this operation." + }, + "x-amzn-RequestId": { + "type": "string", + "description": "Unique request reference identifier." + } + }, + "x-amzn-api-sandbox": { + "static": [ + { + "request": { + "parameters": { + "sellerSKU": { + "value": "SKU_400" + }, + "marketplaceIds": { + "value": [ + "ATVPDKIKX0DER" + ] + } + } + }, + "response": { + "errors": [ + { + "code": "InvalidInput", + "message": "Invalid input." + } + ] + } + } + ] + } + }, + "403": { + "description": "Indicates that access to the resource is forbidden. Possible reasons include Access Denied, Unauthorized, Expired Token, or Invalid Signature.", + "schema": { + "$ref": "#/definitions/ErrorList" + }, + "headers": { + "x-amzn-RequestId": { + "type": "string", + "description": "Unique request reference identifier." + } + }, + "x-amzn-api-sandbox": { + "static": [ + { + "request": { + "parameters": { + "sellerSKU": { + "value": "SKU_403" + }, + "marketplaceIds": { + "value": [ + "ATVPDKIKX0DER" + ] + } + } + }, + "response": { + "errors": [ + { + "code": "Unauthorized", + "message": "Access to requested resource is denied." + } + ] + } + } + ] + } + }, + "404": { + "description": "The resource specified does not exist.", + "schema": { + "$ref": "#/definitions/ErrorList" + }, + "headers": { + "x-amzn-RateLimit-Limit": { + "type": "string", + "description": "Your rate limit (requests per second) for this operation." + }, + "x-amzn-RequestId": { + "type": "string", + "description": "Unique request reference identifier." + } + }, + "x-amzn-api-sandbox": { + "static": [ + { + "request": { + "parameters": { + "sellerSKU": { + "value": "SKU_404" + }, + "marketplaceIds": { + "value": [ + "ATVPDKIKX0DER" + ] + } + } + }, + "response": { + "errors": [ + { + "code": "NotFound", + "message": "Requested resource is not found" + } + ] + } + } + ] + } + }, + "413": { + "description": "The request size exceeded the maximum accepted size.", + "schema": { + "$ref": "#/definitions/ErrorList" + }, + "headers": { + "x-amzn-RateLimit-Limit": { + "type": "string", + "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." + }, + "x-amzn-RequestId": { + "type": "string", + "description": "Unique request reference identifier." + } + }, + "x-amzn-api-sandbox": { + "static": [ + { + "request": { + "parameters": { + "sellerSKU": { + "value": "SKU_413" + }, + "marketplaceIds": { + "value": [ + "ATVPDKIKX0DER" + ] + } + } + }, + "response": { + "errors": [ + { + "code": "PayloadTooLarge", + "message": "Payload of the request is too large." + } + ] + } + } + ] + } + }, + "415": { + "description": "The request payload is in an unsupported format.", + "schema": { + "$ref": "#/definitions/ErrorList" + }, + "headers": { + "x-amzn-RateLimit-Limit": { + "type": "string", + "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." + }, + "x-amzn-RequestId": { + "type": "string", + "description": "Unique request reference identifier." + } + }, + "x-amzn-api-sandbox": { + "static": [ + { + "request": { + "parameters": { + "sellerSKU": { + "value": "SKU_415" + }, + "marketplaceIds": { + "value": [ + "ATVPDKIKX0DER" + ] + } + } + }, + "response": { + "errors": [ + { + "code": "UnsupportedType", + "message": "The entity of the request is of unsupported type." + } + ] + } + } + ] + } + }, + "429": { + "description": "The frequency of requests was greater than allowed.", + "schema": { + "$ref": "#/definitions/ErrorList" + }, + "headers": { + "x-amzn-RateLimit-Limit": { + "type": "string", + "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." + }, + "x-amzn-RequestId": { + "type": "string", + "description": "Unique request reference identifier." + } + }, + "x-amzn-api-sandbox": { + "static": [ + { + "request": { + "parameters": { + "sellerSKU": { + "value": "SKU_429" + }, + "marketplaceIds": { + "value": [ + "ATVPDKIKX0DER" + ] + } + } + }, + "response": { + "errors": [ + { + "code": "TooManyRequests", + "message": "Total number of requests exceed your allowed limits." + } + ] + } + } + ] + } + }, + "500": { + "description": "An unexpected condition occurred that prevented the server from fulfilling the request.", + "schema": { + "$ref": "#/definitions/ErrorList" + }, + "headers": { + "x-amzn-RateLimit-Limit": { + "type": "string", + "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." + }, + "x-amzn-RequestId": { + "type": "string", + "description": "Unique request reference identifier." + } + }, + "x-amzn-api-sandbox": { + "static": [ + { + "request": { + "parameters": { + "sellerSKU": { + "value": "SKU_500" + }, + "marketplaceIds": { + "value": [ + "ATVPDKIKX0DER" + ] + } + } + }, + "response": { + "errors": [ + { + "code": "InternalServerError", + "message": "Server encountered an unexpected condition while processing your request." + } + ] + } + } + ] + } + }, + "503": { + "description": "Temporary overloading or maintenance of the server.", + "schema": { + "$ref": "#/definitions/ErrorList" + }, + "headers": { + "x-amzn-RateLimit-Limit": { + "type": "string", + "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." + }, + "x-amzn-RequestId": { + "type": "string", + "description": "Unique request reference identifier." + } + }, + "x-amzn-api-sandbox": { + "static": [ + { + "request": { + "parameters": { + "sellerSKU": { + "value": "SKU_503" + }, + "marketplaceIds": { + "value": [ + "ATVPDKIKX0DER" + ] + } + } + }, + "response": { + "errors": [ + { + "code": "ServiceUnavailable", + "message": "Server is temporarily unavailable." + } + ] + } + } + ] + } + } + } + } + }, + "/fba/smallAndLight/v1/feePreviews": { + "post": { + "tags": [ + "smallAndLight" + ], + "description": "Returns the Small and Light fee estimates for the specified items. You must include a marketplaceId parameter to retrieve the proper fee estimates for items to be sold in that marketplace. The ordering of items in the response will mirror the order of the items in the request. Duplicate ASIN/price combinations are removed.\n\n**Usage Plan:**\n\n| Rate (requests per second) | Burst |\n| ---- | ---- |\n| 1 | 3 |\n\nThe `x-amzn-RateLimit-Limit` response header returns the usage plan rate limits that were applied to the requested operation, when available. The table above indicates the default rate and burst values for this operation. Selling partners whose business demands require higher throughput may see higher rate and burst values than those shown here. For more information, see [Usage Plans and Rate Limits in the Selling Partner API](https://developer-docs.amazon.com/sp-api/docs/usage-plans-and-rate-limits-in-the-sp-api).", + "operationId": "getSmallAndLightFeePreview", + "deprecated": true, + "parameters": [ + { + "in": "body", + "name": "body", + "required": true, + "schema": { + "$ref": "#/definitions/SmallAndLightFeePreviewRequest" + } + } + ], + "responses": { + "200": { + "description": "Success.", + "schema": { + "$ref": "#/definitions/SmallAndLightFeePreviews" + }, + "headers": { + "x-amzn-RateLimit-Limit": { + "type": "string", + "description": "Your rate limit (requests per second) for this operation." + }, + "x-amzn-RequestId": { + "type": "string", + "description": "Unique request reference identifier." + } + }, + "x-amzn-api-sandbox": { + "static": [ + { + "request": { + "parameters": { + "body": { + "value": { + "marketplaceId": "ATVPDKIKX0DER", + "items": [ + { + "asin": "B076ZL9PB5", + "price": { + "currencyCode": "USD", + "amount": 6.5 + } + } + ] + } + } + } + }, + "response": { + "data": [ + { + "asin": "B076ZL9PB5", + "price": { + "amount": 6.5, + "currencyCode": "USD" + }, + "feeBreakdown": [ + { + "feeType": "FBAPerUnitFulfillmentFee", + "feeCharge": { + "amount": 0.75, + "currencyCode": "USD" + } + }, + { + "feeType": "FBAPerOrderFulfillmentFee", + "feeCharge": { + "amount": 1, + "currencyCode": "USD" + } + }, + { + "feeType": "FBAWeightBasedFee", + "feeCharge": { + "amount": 1.1, + "currencyCode": "USD" + } + }, + { + "feeType": "Commission", + "feeCharge": { + "amount": 0.98, + "currencyCode": "USD" + } + } + ], + "totalFees": { + "amount": 3.83, + "currencyCode": "USD" + }, + "errors": [] + } + ] + } + } + ] + } + }, + "400": { + "description": "Request has missing or invalid parameters and cannot be parsed.", + "schema": { + "$ref": "#/definitions/ErrorList" + }, + "headers": { + "x-amzn-RateLimit-Limit": { + "type": "string", + "description": "Your rate limit (requests per second) for this operation." + }, + "x-amzn-RequestId": { + "type": "string", + "description": "Unique request reference identifier." + } + }, + "x-amzn-api-sandbox": { + "static": [ + { + "request": { + "parameters": { + "body": { + "value": { + "marketplaceId": "TEST_CASE_400", + "items": [] + } + } + } + }, + "response": { + "errors": [ + { + "code": "InvalidInput", + "message": "Invalid input." + } + ] + } + } + ] + } + }, + "401": { + "description": "The request's Authorization header is not formatted correctly or does not contain a valid token.", + "schema": { + "$ref": "#/definitions/ErrorList" + }, + "headers": { + "x-amzn-RateLimit-Limit": { + "type": "string", + "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." + }, + "x-amzn-RequestId": { + "type": "string", + "description": "Unique request reference identifier." + } + }, + "x-amzn-api-sandbox": { + "static": [ + { + "request": { + "parameters": { + "body": { + "value": { + "marketplaceId": "TEST_CASE_401", + "items": [] + } + } + } + }, + "response": { + "errors": [ + { + "code": "Unauthorized", + "message": "Access to requested resource is denied." + } + ] + } + } + ] + } + }, + "403": { + "description": "Indicates that access to the resource is forbidden. Possible reasons include Access Denied, Unauthorized, Expired Token, or Invalid Signature.", + "schema": { + "$ref": "#/definitions/ErrorList" + }, + "headers": { + "x-amzn-RequestId": { + "type": "string", + "description": "Unique request reference identifier." + } + }, + "x-amzn-api-sandbox": { + "static": [ + { + "request": { + "parameters": { + "body": { + "value": { + "marketplaceId": "TEST_CASE_403", + "items": [] + } + } + } + }, + "response": { + "errors": [ + { + "code": "Unauthorized", + "message": "Access to requested resource is denied." + } + ] + } + } + ] + } + }, + "404": { + "description": "The resource specified does not exist.", + "schema": { + "$ref": "#/definitions/ErrorList" + }, + "headers": { + "x-amzn-RateLimit-Limit": { + "type": "string", + "description": "Your rate limit (requests per second) for this operation." + }, + "x-amzn-RequestId": { + "type": "string", + "description": "Unique request reference identifier." + } + }, + "x-amzn-api-sandbox": { + "static": [ + { + "request": { + "parameters": { + "body": { + "value": { + "marketplaceId": "TEST_CASE_404", + "items": [] + } + } + } + }, + "response": { + "errors": [ + { + "code": "NotFound", + "message": "The requested resource doesn't exist." + } + ] + } + } + ] + } + }, + "429": { + "description": "The frequency of requests was greater than allowed.", + "schema": { + "$ref": "#/definitions/ErrorList" + }, + "headers": { + "x-amzn-RateLimit-Limit": { + "type": "string", + "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." + }, + "x-amzn-RequestId": { + "type": "string", + "description": "Unique request reference identifier." + } + }, + "x-amzn-api-sandbox": { + "static": [ + { + "request": { + "parameters": { + "body": { + "value": { + "marketplaceId": "TEST_CASE_429", + "items": [] + } + } + } + }, + "response": { + "errors": [ + { + "code": "QuotaExceeded", + "message": "You exceeded your quota for the requested resource." + } + ] + } + } + ] + } + }, + "500": { + "description": "An unexpected condition occurred that prevented the server from fulfilling the request.", + "schema": { + "$ref": "#/definitions/ErrorList" + }, + "headers": { + "x-amzn-RateLimit-Limit": { + "type": "string", + "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." + }, + "x-amzn-RequestId": { + "type": "string", + "description": "Unique request reference identifier." + } + }, + "x-amzn-api-sandbox": { + "static": [ + { + "request": { + "parameters": { + "body": { + "value": { + "marketplaceId": "TEST_CASE_500", + "items": [] + } + } + } + }, + "response": { + "errors": [ + { + "code": "InternalFailure", + "message": "We encountered an internal error. Please try again." + } + ] + } + } + ] + } + }, + "503": { + "description": "Temporary overloading or maintenance of the server.", + "schema": { + "$ref": "#/definitions/ErrorList" + }, + "headers": { + "x-amzn-RateLimit-Limit": { + "type": "string", + "description": "Your rate limit (requests per second) for this operation.\n_Note:_ For this status code, the rate limit header is deprecated and no longer returned." + }, + "x-amzn-RequestId": { + "type": "string", + "description": "Unique request reference identifier." + } + }, + "x-amzn-api-sandbox": { + "static": [ + { + "request": { + "parameters": { + "body": { + "value": { + "marketplaceId": "TEST_CASE_503", + "items": [] + } + } + } + }, + "response": { + "errors": [ + { + "code": "ServiceUnavailable", + "message": "Service is temporarily unavailable. Please try again." + } + ] + } + } + ] + } + } + } + } + } + }, + "definitions": { + "MarketplaceId": { + "type": "string", + "description": "A marketplace identifier." + }, + "SellerSKU": { + "type": "string", + "description": "Identifies an item in the given marketplace. SellerSKU is qualified by the seller's SellerId, which is included with every operation that you submit." + }, + "Error": { + "type": "object", + "required": [ + "code", + "message" + ], + "properties": { + "code": { + "type": "string", + "description": "An error code that identifies the type of error that occurred." + }, + "message": { + "type": "string", + "description": "A message that describes the error condition." + }, + "details": { + "type": "string", + "description": "Additional details that can help the caller understand or fix the issue." + } + }, + "description": "Error response returned when the request is unsuccessful." + }, + "ErrorList": { + "type": "object", + "properties": { + "errors": { + "type": "array", + "items": { + "$ref": "#/definitions/Error" + } + } + }, + "description": "A list of error responses returned when a request is unsuccessful." + }, + "SmallAndLightEnrollmentStatus": { + "type": "string", + "description": "The Small and Light enrollment status of the item.", + "enum": [ + "ENROLLED", + "NOT_ENROLLED" + ], + "x-docgen-enum-table-extension": [ + { + "value": "ENROLLED", + "description": "The Small and Light enrollment status is enrolled." + }, + { + "value": "NOT_ENROLLED", + "description": "The Small and Light enrollment status is not enrolled." + } + ] + }, + "SmallAndLightEligibilityStatus": { + "type": "string", + "description": "The Small and Light eligibility status of the item.", + "enum": [ + "ELIGIBLE", + "NOT_ELIGIBLE" + ], + "x-docgen-enum-table-extension": [ + { + "value": "ELIGIBLE", + "description": "The Small and Light eligibility status is eligible." + }, + { + "value": "NOT_ELIGIBLE", + "description": "The Small and Light eligibility status is not eligible." + } + ] + }, + "SmallAndLightEnrollment": { + "type": "object", + "required": [ + "marketplaceId", + "sellerSKU", + "status" + ], + "properties": { + "marketplaceId": { + "$ref": "#/definitions/MarketplaceId" + }, + "sellerSKU": { + "$ref": "#/definitions/SellerSKU" + }, + "status": { + "$ref": "#/definitions/SmallAndLightEnrollmentStatus" + } + }, + "description": "The Small and Light enrollment status of the item indicated by the specified seller SKU." + }, + "SmallAndLightEligibility": { + "type": "object", + "required": [ + "marketplaceId", + "sellerSKU", + "status" + ], + "properties": { + "marketplaceId": { + "$ref": "#/definitions/MarketplaceId" + }, + "sellerSKU": { + "$ref": "#/definitions/SellerSKU" + }, + "status": { + "$ref": "#/definitions/SmallAndLightEligibilityStatus" + } + }, + "description": "The Small and Light eligibility status of the item indicated by the specified seller SKU." + }, + "SmallAndLightFeePreviewRequest": { + "type": "object", + "required": [ + "items", + "marketplaceId" + ], + "properties": { + "marketplaceId": { + "$ref": "#/definitions/MarketplaceId" + }, + "items": { + "type": "array", + "description": "A list of items for which to retrieve fee estimates (limit: 25).", + "items": { + "$ref": "#/definitions/Item" + }, + "maxItems": 25 + } + }, + "description": "Request schema for submitting items for which to retrieve fee estimates." + }, + "SmallAndLightFeePreviews": { + "type": "object", + "properties": { + "data": { + "type": "array", + "description": "A list of fee estimates for the requested items. The order of the fee estimates will follow the same order as the items in the request, with duplicates removed.", + "items": { + "$ref": "#/definitions/FeePreview" + } + } + } + }, + "Item": { + "type": "object", + "required": [ + "asin", + "price" + ], + "properties": { + "asin": { + "type": "string", + "description": "The Amazon Standard Identification Number (ASIN) value used to identify the item." + }, + "price": { + "description": "The price that the seller plans to charge for the item.", + "$ref": "#/definitions/MoneyType" + } + }, + "description": "An item to be sold." + }, + "FeePreview": { + "type": "object", + "properties": { + "asin": { + "type": "string", + "description": "The Amazon Standard Identification Number (ASIN) value used to identify the item." + }, + "price": { + "description": "The price that the seller plans to charge for the item.", + "$ref": "#/definitions/MoneyType" + }, + "feeBreakdown": { + "type": "array", + "description": "A list of the Small and Light fees for the item.", + "items": { + "$ref": "#/definitions/FeeLineItem" + } + }, + "totalFees": { + "description": "The total fees charged if the item participated in the Small and Light program.", + "$ref": "#/definitions/MoneyType" + }, + "errors": { + "type": "array", + "description": "One or more unexpected errors occurred during the getSmallAndLightFeePreview operation.", + "items": { + "$ref": "#/definitions/Error" + } + } + }, + "description": "The fee estimate for a specific item." + }, + "FeeLineItem": { + "type": "object", + "required": [ + "feeCharge", + "feeType" + ], + "properties": { + "feeType": { + "type": "string", + "description": "The type of fee charged to the seller.", + "enum": [ + "FBAWeightBasedFee", + "FBAPerOrderFulfillmentFee", + "FBAPerUnitFulfillmentFee", + "Commission" + ], + "x-docgen-enum-table-extension": [ + { + "value": "FBAWeightBasedFee", + "description": "The FBA weight-based fee (weight handling)." + }, + { + "value": "FBAPerOrderFulfillmentFee", + "description": "The FBA per-order fulfillment fee (order handling)." + }, + { + "value": "FBAPerUnitFulfillmentFee", + "description": "The FBA fulfillment fee (Pick & Pack)." + }, + { + "value": "Commission", + "description": "The commission - referral fee." + } + ] + }, + "feeCharge": { + "description": "Amount charged to the seller for the specific fee type.", + "$ref": "#/definitions/MoneyType" + } + }, + "description": "Fee details for a specific fee." + }, + "MoneyType": { + "type": "object", + "properties": { + "currencyCode": { + "type": "string", + "description": "The currency code in ISO 4217 format." + }, + "amount": { + "type": "number", + "description": "The monetary value." + } + } + } + } +} \ No newline at end of file From 35fb4984c7ca0c577b0f0e14451da0ad3b471005 Mon Sep 17 00:00:00 2001 From: Alexey Kosov Date: Fri, 26 Apr 2024 10:00:29 +0300 Subject: [PATCH 328/340] fix typo `NotificatonTionVersion` -> `NotificationVersion` in AnyOfferChangedNotification schema --- schemas/notifications/AnyOfferChangedNotification.json | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/schemas/notifications/AnyOfferChangedNotification.json b/schemas/notifications/AnyOfferChangedNotification.json index baa0f0be0..ec4eba724 100644 --- a/schemas/notifications/AnyOfferChangedNotification.json +++ b/schemas/notifications/AnyOfferChangedNotification.json @@ -7,7 +7,7 @@ "default": {}, "examples": [ { - "NotificatonTionVersion": "1.0", + "NotificationVersion": "1.0", "NotificationType": "ANY_OFFER_CHANGED", "PayloadVersion": "1.0", "EventTime": "2020-07-13T19:42:04.284Z", @@ -197,7 +197,7 @@ } ], "required": [ - "NotificatonTionVersion", + "NotificationVersion", "NotificationType", "PayloadVersion", "EventTime", @@ -206,10 +206,10 @@ ], "additionalProperties": true, "properties": { - "NotificatonTionVersion": { - "$id": "#/properties/NotificatonTionVersion", + "NotificationVersion": { + "$id": "#/properties/NotificationVersion", "type": "string", - "title": "The NotificatonTionVersion schema", + "title": "The NotificationVersion schema", "description": "An explanation about the purpose of this instance.", "default": "", "examples": [ From d423ad3b9b3eb3fe17d6764081a5ae8976cd45e8 Mon Sep 17 00:00:00 2001 From: Alexey Kosov Date: Fri, 26 Apr 2024 10:08:53 +0300 Subject: [PATCH 329/340] add missing `IsBuyBoxWinner` field to AnyOfferChangedNotification schema --- .../AnyOfferChangedNotification.json | 16 ++++++++++++++++ 1 file changed, 16 insertions(+) diff --git a/schemas/notifications/AnyOfferChangedNotification.json b/schemas/notifications/AnyOfferChangedNotification.json index ec4eba724..d3c0dbcc7 100644 --- a/schemas/notifications/AnyOfferChangedNotification.json +++ b/schemas/notifications/AnyOfferChangedNotification.json @@ -182,6 +182,7 @@ "State": "MI" }, "IsFulfilledByAmazon": true, + "IsBuyBoxWinner" : false, "PrimeInformation": { "IsOfferPrime": true, "IsOfferNationalPrime": false @@ -482,6 +483,7 @@ "State": "MI" }, "IsFulfilledByAmazon": true, + "IsBuyBoxWinner" : false, "PrimeInformation": { "IsOfferPrime": true, "IsOfferNationalPrime": false @@ -671,6 +673,7 @@ "State": "MI" }, "IsFulfilledByAmazon": true, + "IsBuyBoxWinner" : false, "PrimeInformation": { "IsOfferPrime": true, "IsOfferNationalPrime": false @@ -2198,6 +2201,7 @@ "State": "MI" }, "IsFulfilledByAmazon": true, + "IsBuyBoxWinner" : false, "PrimeInformation": { "IsOfferPrime": true, "IsOfferNationalPrime": false @@ -2248,6 +2252,7 @@ "State": "MI" }, "IsFulfilledByAmazon": true, + "IsBuyBoxWinner" : false, "PrimeInformation": { "IsOfferPrime": true, "IsOfferNationalPrime": false @@ -2268,6 +2273,7 @@ "Shipping", "ShipsFrom", "IsFulfilledByAmazon", + "IsBuyBoxWinner", "PrimeInformation", "IsExpeditedShippingAvailable", "IsFeaturedMerchant", @@ -2558,6 +2564,16 @@ true ] }, + "IsBuyBoxWinner": { + "$id": "#/properties/Payload/properties/AnyOfferChangedNotification/properties/Offers/items/anyOf/0/properties/IsBuyBoxWinner", + "type": "boolean", + "title": "The IsBuyBoxWinner schema", + "description": "An explanation about the purpose of this instance.", + "default": false, + "examples": [ + true + ] + }, "PrimeInformation": { "$id": "#/properties/Payload/properties/AnyOfferChangedNotification/properties/Offers/items/anyOf/0/properties/PrimeInformation", "type": "object", From 4a6b0117e13a7bbef7b6780c0c9e0d53e26b3df4 Mon Sep 17 00:00:00 2001 From: Alexey Kosov Date: Fri, 26 Apr 2024 10:42:42 +0300 Subject: [PATCH 330/340] add `date-time` format for datetime fields in AnyOfferChangedNotification schema --- schemas/notifications/AnyOfferChangedNotification.json | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/schemas/notifications/AnyOfferChangedNotification.json b/schemas/notifications/AnyOfferChangedNotification.json index d3c0dbcc7..55a34d130 100644 --- a/schemas/notifications/AnyOfferChangedNotification.json +++ b/schemas/notifications/AnyOfferChangedNotification.json @@ -240,6 +240,7 @@ "EventTime": { "$id": "#/properties/EventTime", "type": "string", + "format": "date-time", "title": "The EventTime schema", "description": "An explanation about the purpose of this instance.", "default": "", @@ -292,6 +293,7 @@ "PublishTime": { "$id": "#/properties/NotificationMetadata/properties/PublishTime", "type": "string", + "format": "date-time", "title": "The PublishTime schema", "description": "An explanation about the purpose of this instance.", "default": "", @@ -761,6 +763,7 @@ "TimeOfOfferChange": { "$id": "#/properties/Payload/properties/AnyOfferChangedNotification/properties/OfferChangeTrigger/properties/TimeOfOfferChange", "type": "string", + "format": "date-time", "title": "The TimeOfOfferChange schema", "description": "An explanation about the purpose of this instance.", "default": "", @@ -2397,6 +2400,7 @@ "AvailableDate": { "$id": "#/properties/Payload/properties/AnyOfferChangedNotification/properties/Offers/items/anyOf/0/properties/ShippingTime/properties/AvailableDate", "type": "string", + "format": "date-time", "title": "The AvailableDate schema", "description": "An explanation about the purpose of this instance.", "default": "", From 0858aaab45b86005e62fed644ac3037c968f689f Mon Sep 17 00:00:00 2001 From: Alexey Kosov Date: Fri, 26 Apr 2024 13:05:08 +0300 Subject: [PATCH 331/340] Revert "add `date-time` format for datetime fields in AnyOfferChangedNotification schema" This reverts commit 80d7964e822bd59bba4ed383e5cd26c06872237e. --- schemas/notifications/AnyOfferChangedNotification.json | 4 ---- 1 file changed, 4 deletions(-) diff --git a/schemas/notifications/AnyOfferChangedNotification.json b/schemas/notifications/AnyOfferChangedNotification.json index 55a34d130..d3c0dbcc7 100644 --- a/schemas/notifications/AnyOfferChangedNotification.json +++ b/schemas/notifications/AnyOfferChangedNotification.json @@ -240,7 +240,6 @@ "EventTime": { "$id": "#/properties/EventTime", "type": "string", - "format": "date-time", "title": "The EventTime schema", "description": "An explanation about the purpose of this instance.", "default": "", @@ -293,7 +292,6 @@ "PublishTime": { "$id": "#/properties/NotificationMetadata/properties/PublishTime", "type": "string", - "format": "date-time", "title": "The PublishTime schema", "description": "An explanation about the purpose of this instance.", "default": "", @@ -763,7 +761,6 @@ "TimeOfOfferChange": { "$id": "#/properties/Payload/properties/AnyOfferChangedNotification/properties/OfferChangeTrigger/properties/TimeOfOfferChange", "type": "string", - "format": "date-time", "title": "The TimeOfOfferChange schema", "description": "An explanation about the purpose of this instance.", "default": "", @@ -2400,7 +2397,6 @@ "AvailableDate": { "$id": "#/properties/Payload/properties/AnyOfferChangedNotification/properties/Offers/items/anyOf/0/properties/ShippingTime/properties/AvailableDate", "type": "string", - "format": "date-time", "title": "The AvailableDate schema", "description": "An explanation about the purpose of this instance.", "default": "", From 61d7341f2569ac5bcb1ab8f3299681b9f5871d4a Mon Sep 17 00:00:00 2001 From: Alexey Kosov Date: Fri, 26 Apr 2024 10:42:42 +0300 Subject: [PATCH 332/340] add `date-time` format for datetime fields in AnyOfferChangedNotification schema --- schemas/notifications/AnyOfferChangedNotification.json | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/schemas/notifications/AnyOfferChangedNotification.json b/schemas/notifications/AnyOfferChangedNotification.json index d3c0dbcc7..55a34d130 100644 --- a/schemas/notifications/AnyOfferChangedNotification.json +++ b/schemas/notifications/AnyOfferChangedNotification.json @@ -240,6 +240,7 @@ "EventTime": { "$id": "#/properties/EventTime", "type": "string", + "format": "date-time", "title": "The EventTime schema", "description": "An explanation about the purpose of this instance.", "default": "", @@ -292,6 +293,7 @@ "PublishTime": { "$id": "#/properties/NotificationMetadata/properties/PublishTime", "type": "string", + "format": "date-time", "title": "The PublishTime schema", "description": "An explanation about the purpose of this instance.", "default": "", @@ -761,6 +763,7 @@ "TimeOfOfferChange": { "$id": "#/properties/Payload/properties/AnyOfferChangedNotification/properties/OfferChangeTrigger/properties/TimeOfOfferChange", "type": "string", + "format": "date-time", "title": "The TimeOfOfferChange schema", "description": "An explanation about the purpose of this instance.", "default": "", @@ -2397,6 +2400,7 @@ "AvailableDate": { "$id": "#/properties/Payload/properties/AnyOfferChangedNotification/properties/Offers/items/anyOf/0/properties/ShippingTime/properties/AvailableDate", "type": "string", + "format": "date-time", "title": "The AvailableDate schema", "description": "An explanation about the purpose of this instance.", "default": "", From 1715aa73aefc0325af94ab2f322c71ce30dc2efd Mon Sep 17 00:00:00 2001 From: Alexey Kosov Date: Fri, 26 Apr 2024 13:05:08 +0300 Subject: [PATCH 333/340] Revert "add `date-time` format for datetime fields in AnyOfferChangedNotification schema" This reverts commit 80d7964e822bd59bba4ed383e5cd26c06872237e. --- schemas/notifications/AnyOfferChangedNotification.json | 4 ---- 1 file changed, 4 deletions(-) diff --git a/schemas/notifications/AnyOfferChangedNotification.json b/schemas/notifications/AnyOfferChangedNotification.json index 55a34d130..d3c0dbcc7 100644 --- a/schemas/notifications/AnyOfferChangedNotification.json +++ b/schemas/notifications/AnyOfferChangedNotification.json @@ -240,7 +240,6 @@ "EventTime": { "$id": "#/properties/EventTime", "type": "string", - "format": "date-time", "title": "The EventTime schema", "description": "An explanation about the purpose of this instance.", "default": "", @@ -293,7 +292,6 @@ "PublishTime": { "$id": "#/properties/NotificationMetadata/properties/PublishTime", "type": "string", - "format": "date-time", "title": "The PublishTime schema", "description": "An explanation about the purpose of this instance.", "default": "", @@ -763,7 +761,6 @@ "TimeOfOfferChange": { "$id": "#/properties/Payload/properties/AnyOfferChangedNotification/properties/OfferChangeTrigger/properties/TimeOfOfferChange", "type": "string", - "format": "date-time", "title": "The TimeOfOfferChange schema", "description": "An explanation about the purpose of this instance.", "default": "", @@ -2400,7 +2397,6 @@ "AvailableDate": { "$id": "#/properties/Payload/properties/AnyOfferChangedNotification/properties/Offers/items/anyOf/0/properties/ShippingTime/properties/AvailableDate", "type": "string", - "format": "date-time", "title": "The AvailableDate schema", "description": "An explanation about the purpose of this instance.", "default": "", From edec4675dd3b4eddbd9d2129c4cf2a75bcab13ef Mon Sep 17 00:00:00 2001 From: ruby4406 Date: Fri, 4 Oct 2024 01:20:19 +0530 Subject: [PATCH 334/340] Squashed commit of the following: commit 2b183a15f88ead1236f76351c2d4512d0b4d5222 Author: Denis Garcia Date: Sun Aug 25 07:57:13 2024 +0100 Update README.md fix a few typos in selling-partner-api-models/clients/sellingpartner-api-aa-javascript/README.md --- .../README.md | 20 +++++++++---------- 1 file changed, 10 insertions(+), 10 deletions(-) diff --git a/clients/sellingpartner-api-aa-javascript/README.md b/clients/sellingpartner-api-aa-javascript/README.md index 70e3b3df8..2ec8ba68a 100644 --- a/clients/sellingpartner-api-aa-javascript/README.md +++ b/clients/sellingpartner-api-aa-javascript/README.md @@ -4,8 +4,8 @@ This library is to help SP-API developers to create an app in JavaScript on Node.js easier than calling HTTP endpoints directly. This library comes with the following features. 1. Login with Amazon (LWA) helper that does OAuth token refresh flow. 2. This library takes care of HTTP communication with SP-API endpoints with a help of [superagent](https://www.npmjs.com/package/superagent), so you can call SP-API by just calling a right method of library that corresponds to SP-API operation. -3. Calling SP-API requires non-standard `x-amz-access-token` HTTP request header in request. The SDK generated by this library supports to include this header with token value you specify. -4. SP-API operaitons to handle restricted data are categorized as ["Restricted Operations"](https://developer-docs.amazon.com/sp-api/lang-ja_JP/docs/tokens-api-use-case-guide#restricted-operations), which requires ["Restricted Data Token" (RDT)](https://developer-docs.amazon.com/sp-api/lang-ja_JP/docs/authorization-with-the-restricted-data-token) instead of access token for tighter security. Calling restricted operation involves two seprate steps, one of wihch is calling Tokens API to retrieve RDT and the other of which is calling protected operation with RDT. This library helps to compbine these two steps into single library call. +3. Calling SP-API requires non-standard `x-amz-access-token` HTTP request header in the request. The SDK generated by this library supports to include this header with the token value you specify. +4. SP-API operations to handle restricted data are categorized as ["Restricted Operations"](https://developer-docs.amazon.com/sp-api/lang-ja_JP/docs/tokens-api-use-case-guide#restricted-operations), which requires ["Restricted Data Token" (RDT)](https://developer-docs.amazon.com/sp-api/lang-ja_JP/docs/authorization-with-the-restricted-data-token) instead of access token for tighter security. Calling restricted operation involves two separate steps, one of which is calling Tokens API to retrieve RDT and the other of which is calling protected operation with RDT. This library helps to combine these two steps into a single library call. ## Installation and Generating SDK Please note this library doesn't include SDK. You need to generate SDK with the template and script files included in this library. @@ -17,7 +17,7 @@ Please note this library doesn't include SDK. You need to generate SDK with the __CAUTION__: Please be aware that there are two major known issues with the latest JavaScript client library. 1. If you use swagger-codegen-cli newer than 2.4.29 (such as 2.4.30 or 3.x), there is a known compatibility issue with SP-API models that makes generating SDK fail. We recommend that you use swagger-codegen-cli-2.4.29 specifically. -2. Swagger codegen tool fails to generate SDK for "Merchant Fulfillment V0 API." For workaround, you need to modify a part of the API model file "merchantFulfillmentV0.json" +2. Swagger codegen tool fails to generate SDK for "Merchant Fulfillment V0 API." For a workaround, you need to modify a part of the API model file "merchantFulfillmentV0.json" ### Download swagger-codegen-cli JAR file We use `swagger-codegen-cli` executable JAR file. You can download it by the following command. @@ -41,14 +41,14 @@ You will find `models` directory and `sdk` directory under the package root.
* `models`: directory contains API models cloned from SP-API GitHub. * `sdk`: directory contains generated JavaScript SDK. -### Modify Merchant Fulfillment API model file to avoid error during SDK generation -If you want to call Merchant Fulfillment API with the generated SDK, you need to follow this instruction. There is an fatal known issue in generating Merchant Fulfillment API library. If downloading API models is successful, you should be able to find `merchantFulfillmentV0.json` file In `/models/merchant-fulfillment-api-model` directory. Open this file with an editor and find the following part. +### Modify Merchant Fulfillment API model file to avoid errors during SDK generation +If you want to call Merchant Fulfillment API with the generated SDK, you need to follow this instruction. There is a fatal known issue in generating Merchant Fulfillment API library. If downloading API models is successful, you should be able to find `merchantFulfillmentV0.json` file In `/models/merchant-fulfillment-api-model` directory. Open this file with an editor and find the following part. ``` "AvailableFormatOptionsForLabel": { "$ref": "#/definitions/AvailableFormatOptionsForLabelList" }, ``` -Since this part causes a fatal error in SDK generation for JavaScript, please replace this part with the following snipet. +Since this part causes a fatal error in SDK generation for JavaScript, please replace this part with the following snippet. ``` "AvailableFormatOptionsForLabel": { "type": "array", @@ -67,7 +67,7 @@ Found /models already exists. Would you like to delete all the fil With the correct modification in `merchantFulfillmentV0.json`, you should be able to find generated SDK for Merchant Fulfillment API. ### How to run tests -This library contains a sample programs in `sample_node_app` directory under the packagte root.
In order to run the program, you need to have LWA credential information saved in the file and name it `app.config.mjs` and put it `/src` directory. Because __client secret__ and __refresh token__ shouldn't be exposed, you must make sure that you don't commit this file to the repository. +This library contains sample programs in `sample_node_app` directory under the package root.
In order to run the program, you need to have LWA credential information saved in the file and name it `app.config.mjs` and put it `/src` directory. Because __client secret__ and __refresh token__ shouldn't be exposed, you must make sure that you don't commit this file to the repository. ```javascript export const AppConfig = { lwaClientId: "< LWA client ID >", @@ -101,7 +101,7 @@ ordersApiClient.enableAutoRetrievalRestrictedDataToken("", const ordersApi = new OrdersV0Api(ordersApiClient); const order = await ordersApi.getOrder(""); ``` -### Calling SP-API with access token +### Calling SP-API with the access token In case you manage LWA token refresh flow, you can explicitly use the access token you got yourself for your SP-API call as follows. ```javascript import { SellersApi, ApiClient as SellersApiClient } from '../../sdk/src/sellers/index.js'; @@ -112,10 +112,10 @@ sellerApiClient.applyXAmzAccessTokenToRequest(""; const lwaClient = new LwaAuthClient("", "", ""); const accessToken = await lwaClient.getAccessToken(); -``` \ No newline at end of file +``` From d5e8eaf31f910b5778a014f332b52501a03e2266 Mon Sep 17 00:00:00 2001 From: Michael Manganiello Date: Tue, 20 Aug 2024 14:43:06 -0300 Subject: [PATCH 335/340] fix: Remove schema defaults for objects with required keys There are many schemas that include `"default": {}` for keys of type object, that include required keys, making that default value invalid. Removing these invalid defaults fixes the schema conversion using tools like `go-jsonschema` [1], as now it understands the object cannot be empty. [1] https://github.com/omissis/go-jsonschema --- .../AnyOfferChangedNotification.json | 41 +------------------ .../BrandedItemContentChangeNotification.json | 5 +-- ...ventoryAvailabilityChangeNotification.json | 10 ++++- .../FeePromotionNotification.json | 24 +---------- .../FulfillmentOrderStatusNotification.json | 10 +---- .../ItemProductTypeChangeNotification.json | 5 +-- .../MfnOrderStatusChangeNotification.json | 4 -- .../OrderStatusChangeNotification.json | 6 +-- ...ductTypeDefinitionsChangeNotification.json | 5 +-- 9 files changed, 15 insertions(+), 95 deletions(-) diff --git a/schemas/notifications/AnyOfferChangedNotification.json b/schemas/notifications/AnyOfferChangedNotification.json index d3c0dbcc7..29026d0ef 100644 --- a/schemas/notifications/AnyOfferChangedNotification.json +++ b/schemas/notifications/AnyOfferChangedNotification.json @@ -4,7 +4,6 @@ "type": "object", "title": "The root schema", "description": "The root schema comprises the entire JSON document.", - "default": {}, "examples": [ { "NotificationVersion": "1.0", @@ -252,7 +251,6 @@ "type": "object", "title": "The NotificationMetadata schema", "description": "An explanation about the purpose of this instance.", - "default": {}, "examples": [ { "ApplicationId": "app-id-d0e9e693-c3ad-4373-979f-ed4ec98dd746", @@ -316,7 +314,6 @@ "type": "object", "title": "The Payload schema", "description": "An explanation about the purpose of this instance.", - "default": {}, "examples": [ { "AnyOfferChangedNotification": { @@ -507,7 +504,6 @@ "type": "object", "title": "The AnyOfferChangedNotification schema", "description": "An explanation about the purpose of this instance.", - "default": {}, "examples": [ { "SellerId": "A3TH9S8BH6GOGM", @@ -709,7 +705,6 @@ "type": "object", "title": "The OfferChangeTrigger schema", "description": "An explanation about the purpose of this instance.", - "default": {}, "examples": [ { "MarketplaceId": "ATVPDKIKX0DER", @@ -785,7 +780,6 @@ "type": "object", "title": "The Summary schema", "description": "An explanation about the purpose of this instance.", - "default": {}, "examples": [ { "NumberOfOffers": [ @@ -955,7 +949,6 @@ "type": "object", "title": "The first anyOf schema", "description": "An explanation about the purpose of this instance.", - "default": {}, "examples": [ { "Condition": "new", @@ -1059,7 +1052,6 @@ "type": "object", "title": "The first anyOf schema", "description": "An explanation about the purpose of this instance.", - "default": {}, "examples": [ { "Condition": "new", @@ -1112,7 +1104,6 @@ "type": "object", "title": "The LandedPrice schema", "description": "An explanation about the purpose of this instance.", - "default": {}, "examples": [ { "Amount": 10.0, @@ -1152,7 +1143,6 @@ "type": "object", "title": "The ListingPrice schema", "description": "An explanation about the purpose of this instance.", - "default": {}, "examples": [ { "Amount": 10.0, @@ -1192,7 +1182,6 @@ "type": "object", "title": "The Shipping schema", "description": "An explanation about the purpose of this instance.", - "default": {}, "examples": [ { "Amount": 0.0, @@ -1234,7 +1223,6 @@ "type": "object", "title": "The second anyOf schema", "description": "An explanation about the purpose of this instance.", - "default": {}, "examples": [ { "Condition": "old", @@ -1291,7 +1279,6 @@ "type": "object", "title": "The LandedPrice schema", "description": "An explanation about the purpose of this instance.", - "default": {}, "examples": [ { "Amount": 11.0, @@ -1331,7 +1318,6 @@ "type": "object", "title": "The ListingPrice schema", "description": "An explanation about the purpose of this instance.", - "default": {}, "examples": [ { "Amount": 20.0, @@ -1371,7 +1357,6 @@ "type": "object", "title": "The Shipping schema", "description": "An explanation about the purpose of this instance.", - "default": {}, "examples": [ { "Amount": 40.0, @@ -1411,7 +1396,6 @@ "type": "object", "title": "The Points schema", "description": "An explanation about the purpose of this instance.", - "default": {}, "examples": [ { "PointsNumber": 34343 @@ -1491,7 +1475,6 @@ "type": "object", "title": "The first anyOf schema", "description": "An explanation about the purpose of this instance.", - "default": {}, "examples": [ { "Condition": "new", @@ -1532,7 +1515,6 @@ "type": "object", "title": "The LandedPrice schema", "description": "An explanation about the purpose of this instance.", - "default": {}, "examples": [ { "Amount": 10.0, @@ -1572,7 +1554,6 @@ "type": "object", "title": "The ListingPrice schema", "description": "An explanation about the purpose of this instance.", - "default": {}, "examples": [ { "Amount": 10.0, @@ -1612,7 +1593,6 @@ "type": "object", "title": "The Shipping schema", "description": "An explanation about the purpose of this instance.", - "default": {}, "examples": [ { "Amount": 0.0, @@ -1654,7 +1634,6 @@ "type": "object", "title": "The second anyOf schema", "description": "An explanation about the purpose of this instance.", - "default": {}, "examples": [ { "Condition": "old", @@ -1699,7 +1678,6 @@ "type": "object", "title": "The LandedPrice schema", "description": "An explanation about the purpose of this instance.", - "default": {}, "examples": [ { "Amount": 11.0, @@ -1739,7 +1717,6 @@ "type": "object", "title": "The ListingPrice schema", "description": "An explanation about the purpose of this instance.", - "default": {}, "examples": [ { "Amount": 20.0, @@ -1779,7 +1756,6 @@ "type": "object", "title": "The Shipping schema", "description": "An explanation about the purpose of this instance.", - "default": {}, "examples": [ { "Amount": 40.0, @@ -1819,7 +1795,6 @@ "type": "object", "title": "The Points schema", "description": "An explanation about the purpose of this instance.", - "default": {}, "examples": [ { "PointsNumber": 34343 @@ -1853,7 +1828,6 @@ "type": "object", "title": "The ListPrice schema", "description": "An explanation about the purpose of this instance.", - "default": {}, "examples": [ { "Amount": 55.0, @@ -1893,7 +1867,6 @@ "type": "object", "title": "The MinimumAdvertisedPrice schema", "description": "An explanation about the purpose of this instance.", - "default": {}, "examples": [ { "Amount": 66.0, @@ -1933,7 +1906,6 @@ "type": "object", "title": "The SuggestedLowerPricePlusShipping schema", "description": "An explanation about the purpose of this instance.", - "default": {}, "examples": [ { "Amount": 77.0, @@ -2004,7 +1976,6 @@ "type": "object", "title": "The first anyOf schema", "description": "An explanation about the purpose of this instance.", - "default": {}, "examples": [ { "ProductCategoryId": "1243", @@ -2071,7 +2042,6 @@ "type": "object", "title": "The first anyOf schema", "description": "An explanation about the purpose of this instance.", - "default": {}, "examples": [ { "Condition": "new", @@ -2127,7 +2097,6 @@ "type": "object", "title": "The CompetitivePriceThreshold schema", "description": "An explanation about the purpose of this instance.", - "default": {}, "examples": [ { "Amount": 22.0, @@ -2221,7 +2190,6 @@ "type": "object", "title": "The first anyOf schema", "description": "An explanation about the purpose of this instance.", - "default": {}, "examples": [ { "SellerId": "111", @@ -2307,7 +2275,6 @@ "type": "object", "title": "The SellerFeedbackRating schema", "description": "An explanation about the purpose of this instance.", - "default": {}, "examples": [ { "FeedbackCount": 9, @@ -2347,7 +2314,6 @@ "type": "object", "title": "The ShippingTime schema", "description": "An explanation about the purpose of this instance.", - "default": {}, "examples": [ { "MinimumHours": 10, @@ -2411,7 +2377,6 @@ "type": "object", "title": "The ListingPrice schema", "description": "An explanation about the purpose of this instance.", - "default": {}, "examples": [ { "Amount": 23.0, @@ -2451,7 +2416,6 @@ "type": "object", "title": "The Points schema", "description": "An explanation about the purpose of this instance.", - "default": {}, "examples": [ { "PointsNumber": 33333 @@ -2479,7 +2443,6 @@ "type": "object", "title": "The Shipping schema", "description": "An explanation about the purpose of this instance.", - "default": {}, "examples": [ { "Amount": 110.0, @@ -2519,7 +2482,6 @@ "type": "object", "title": "The ShipsFrom schema", "description": "An explanation about the purpose of this instance.", - "default": {}, "examples": [ { "Country": "USA", @@ -2579,7 +2541,6 @@ "type": "object", "title": "The PrimeInformation schema", "description": "An explanation about the purpose of this instance.", - "default": {}, "examples": [ { "IsOfferPrime": true, @@ -2665,4 +2626,4 @@ } } } -} \ No newline at end of file +} diff --git a/schemas/notifications/BrandedItemContentChangeNotification.json b/schemas/notifications/BrandedItemContentChangeNotification.json index f14d93c8f..92af14c39 100644 --- a/schemas/notifications/BrandedItemContentChangeNotification.json +++ b/schemas/notifications/BrandedItemContentChangeNotification.json @@ -4,7 +4,6 @@ "type": "object", "title": "The root schema", "description": "The root schema comprises the entire JSON document.", - "default": {}, "examples": [ { "NotificationVersion": "1.0", @@ -93,7 +92,6 @@ "type": "object", "title": "The Payload schema", "description": "An explanation about the purpose of this instance.", - "default": {}, "examples": [ { "MarketplaceId": "ATVPDKIKX0DER", @@ -185,7 +183,6 @@ "type": "object", "title": "The NotificationMetadata schema", "description": "An explanation about the purpose of this instance.", - "default": {}, "examples": [ { "ApplicationId": "amzn1.sellerapps.app.f1234566-aaec-55a6-b123-bcb752069ec5", @@ -246,4 +243,4 @@ } }, "additionalProperties": true -} \ No newline at end of file +} diff --git a/schemas/notifications/FBAInventoryAvailabilityChangeNotification.json b/schemas/notifications/FBAInventoryAvailabilityChangeNotification.json index 063f38a66..4bd3b3dd3 100644 --- a/schemas/notifications/FBAInventoryAvailabilityChangeNotification.json +++ b/schemas/notifications/FBAInventoryAvailabilityChangeNotification.json @@ -4,7 +4,13 @@ "type": "object", "title": "The root schema", "description": "The root schema comprises the entire JSON document.", - "default": {}, + "required": [ + "NotificationVersion", + "NotificationType", + "PayloadVersion", + "EventTime", + "Payload" + ], "properties": { "NotificationVersion": { "$id": "#/properties/NotificationVersion", @@ -413,4 +419,4 @@ } }, "additionalProperties": true -} \ No newline at end of file +} diff --git a/schemas/notifications/FeePromotionNotification.json b/schemas/notifications/FeePromotionNotification.json index e770ba6fc..c1ed4fa4f 100644 --- a/schemas/notifications/FeePromotionNotification.json +++ b/schemas/notifications/FeePromotionNotification.json @@ -4,7 +4,6 @@ "type": "object", "title": "The root schema", "description": "The root schema comprises the entire JSON document.", - "default": {}, "examples": [ { "NotificationVersion": "1.0", @@ -395,7 +394,6 @@ "type": "object", "title": "The NotificationMetadata schema", "description": "An explanation about the purpose of this instance.", - "default": {}, "examples": [ { "ApplicationId": "app-id-d0e9e693-c3ad-4373-979f-ed4ec98dd746", @@ -459,7 +457,6 @@ "type": "object", "title": "The Payload schema", "description": "An explanation about the purpose of this instance.", - "default": {}, "examples": [ { "FeePromotionNotification": { @@ -793,7 +790,6 @@ "type": "object", "title": "The FeePromotionNotification schema", "description": "An explanation about the purpose of this instance.", - "default": {}, "examples": [ { "MerchantId": "AJH434853485", @@ -1171,7 +1167,6 @@ "type": "object", "title": "The PromotionActiveTimeRange schema", "description": "An explanation about the purpose of this instance.", - "default": {}, "examples": [ { "EffectiveFromDate": "2020-07-13T19:42:04.284Z", @@ -1251,7 +1246,6 @@ "type": "object", "title": "The first anyOf schema", "description": "An explanation about the purpose of this instance.", - "default": {}, "examples": [ { "IdentifierType": "identifierType", @@ -1309,7 +1303,6 @@ "type": "object", "title": "The first anyOf schema", "description": "An explanation about the purpose of this instance.", - "default": {}, "examples": [ { "IdentifierValueId": "identifierValueId1", @@ -1652,7 +1645,6 @@ "type": "object", "title": "The first anyOf schema", "description": "An explanation about the purpose of this instance.", - "default": {}, "examples": [ { "FeeType": "FeeType", @@ -1839,7 +1831,6 @@ "type": "object", "title": "The PriceThreshold schema", "description": "An explanation about the purpose of this instance.", - "default": {}, "examples": [ { "Amount": 60, @@ -1879,7 +1870,6 @@ "type": "object", "title": "The FeeDiscountMonetaryAmount schema", "description": "An explanation about the purpose of this instance.", - "default": {}, "examples": [ { "Amount": 70, @@ -1919,7 +1909,6 @@ "type": "object", "title": "The FeesEstimate schema", "description": "An explanation about the purpose of this instance.", - "default": {}, "examples": [ { "TimeOfFeesEstimated": "2020-07-13T19:42:04.284Z", @@ -2070,7 +2059,6 @@ "type": "object", "title": "The TotalFeesEstimate schema", "description": "An explanation about the purpose of this instance.", - "default": {}, "examples": [ { "Amount": 90, @@ -2242,7 +2230,6 @@ "type": "object", "title": "The first anyOf schema", "description": "An explanation about the purpose of this instance.", - "default": {}, "examples": [ { "FeeType": "feeType", @@ -2328,7 +2315,6 @@ "type": "object", "title": "The FeeAmount schema", "description": "An explanation about the purpose of this instance.", - "default": {}, "examples": [ { "Amount": 10, @@ -2368,7 +2354,6 @@ "type": "object", "title": "The TaxAmount schema", "description": "An explanation about the purpose of this instance.", - "default": {}, "examples": [ { "Amount": 20, @@ -2408,7 +2393,6 @@ "type": "object", "title": "The FeePromotion schema", "description": "An explanation about the purpose of this instance.", - "default": {}, "examples": [ { "Amount": 30, @@ -2448,7 +2432,6 @@ "type": "object", "title": "The FinalFee schema", "description": "An explanation about the purpose of this instance.", - "default": {}, "examples": [ { "Amount": 40, @@ -2540,7 +2523,6 @@ "type": "object", "title": "The first anyOf schema", "description": "An explanation about the purpose of this instance.", - "default": {}, "examples": [ { "FeeType": "feeType", @@ -2585,7 +2567,6 @@ "type": "object", "title": "The FeeAmount schema", "description": "An explanation about the purpose of this instance.", - "default": {}, "examples": [ { "Amount": 10, @@ -2625,7 +2606,6 @@ "type": "object", "title": "The TaxAmount schema", "description": "An explanation about the purpose of this instance.", - "default": {}, "examples": [ { "Amount": 20, @@ -2665,7 +2645,6 @@ "type": "object", "title": "The FeePromotion schema", "description": "An explanation about the purpose of this instance.", - "default": {}, "examples": [ { "Amount": 30, @@ -2705,7 +2684,6 @@ "type": "object", "title": "The FinalFee schema", "description": "An explanation about the purpose of this instance.", - "default": {}, "examples": [ { "Amount": 40, @@ -2769,4 +2747,4 @@ } }, "additionalProperties": true -} \ No newline at end of file +} diff --git a/schemas/notifications/FulfillmentOrderStatusNotification.json b/schemas/notifications/FulfillmentOrderStatusNotification.json index 7e6d031f1..2794e6e1b 100644 --- a/schemas/notifications/FulfillmentOrderStatusNotification.json +++ b/schemas/notifications/FulfillmentOrderStatusNotification.json @@ -4,7 +4,6 @@ "type": "object", "title": "The root schema", "description": "The root schema comprises the entire JSON document.", - "default": {}, "examples": [ { "NotificationVersion": "1.0", @@ -114,7 +113,6 @@ "type": "object", "title": "The Payload schema", "description": "An explanation about the purpose of this instance.", - "default": {}, "examples": [ { "FulfillmentOrderStatusNotification": { @@ -167,7 +165,6 @@ "type": "object", "title": "The FulfillmentOrderStatusNotification schema", "description": "An explanation about the purpose of this instance.", - "default": {}, "examples": [ { "SellerId": "A3TH9S8BH6GOGM", @@ -274,7 +271,6 @@ "type": "object", "title": "The FulfillmentShipment schema", "description": "An explanation about the purpose of this instance.", - "default": {}, "examples": [ { "FulfillmentShipmentStatus": "PROCESSED", @@ -368,7 +364,6 @@ "type": "object", "title": "The info schema", "description": "An explanation about the purpose of this instance.", - "default": {}, "examples": [ { "PackageNumber": 1, @@ -425,7 +420,6 @@ "type": "object", "title": "The first anyOf schema", "description": "An explanation about the purpose of this instance.", - "default": {}, "examples": [ { "PackageNumber": 1, @@ -483,7 +477,6 @@ "type": "object", "title": "The FulfillmentReturnItem schema", "description": "An explanation about the purpose of this instance.", - "default": {}, "examples": [ { "ReceivedDateTime": "2020-07-13T19:42:04.284Z", @@ -541,7 +534,6 @@ "type": "object", "title": "The NotificationMetadata schema", "description": "An explanation about the purpose of this instance.", - "default": {}, "examples": [ { "ApplicationId": "app-id-d0e9e693-c3ad-4373-979f-ed4ec98dd746", @@ -602,4 +594,4 @@ } }, "additionalProperties": true -} \ No newline at end of file +} diff --git a/schemas/notifications/ItemProductTypeChangeNotification.json b/schemas/notifications/ItemProductTypeChangeNotification.json index a457e8f57..aad87a7d7 100644 --- a/schemas/notifications/ItemProductTypeChangeNotification.json +++ b/schemas/notifications/ItemProductTypeChangeNotification.json @@ -4,7 +4,6 @@ "type": "object", "title": "The root schema", "description": "The root schema comprises the entire JSON document.", - "default": {}, "examples": [ { "NotificationVersion": "1.0", @@ -79,7 +78,6 @@ "type": "object", "title": "The Payload schema", "description": "An explanation about the purpose of this instance.", - "default": {}, "examples": [ { "MarketplaceId": "ATVPDKIKX0DER", @@ -143,7 +141,6 @@ "type": "object", "title": "The NotificationMetadata schema", "description": "An explanation about the purpose of this instance.", - "default": {}, "examples": [ { "ApplicationId": "amzn1.sellerapps.app.f1234566-aaec-55a6-b123-bcb752069ec5", @@ -204,4 +201,4 @@ } }, "additionalProperties": true -} \ No newline at end of file +} diff --git a/schemas/notifications/MfnOrderStatusChangeNotification.json b/schemas/notifications/MfnOrderStatusChangeNotification.json index ee4ff92a2..565cd527b 100644 --- a/schemas/notifications/MfnOrderStatusChangeNotification.json +++ b/schemas/notifications/MfnOrderStatusChangeNotification.json @@ -4,7 +4,6 @@ "type": "object", "title": "The root schema", "description": "The root schema comprises the entire JSON document.", - "default": {}, "examples": [ { "NotificationVersion": "1.0", @@ -87,7 +86,6 @@ "type": "object", "title": "The Payload schema", "description": "An explanation about the purpose of this instance.", - "default": {}, "examples": [ { "MFNOrderStatusChangeNotification": { @@ -113,7 +111,6 @@ "type": "object", "title": "The MFNOrderStatusChangeNotification schema", "description": "An explanation about the purpose of this instance.", - "default": {}, "examples": [ { "SellerId": "AXXXXXXXXXXXXX", @@ -251,7 +248,6 @@ "type": "object", "title": "The NotificationMetadata schema", "description": "An explanation about the purpose of this instance.", - "default": {}, "examples": [ { "ApplicationId": "app-id-d0e9e693-c3ad-4373-979f-ed4ec98dd746", diff --git a/schemas/notifications/OrderStatusChangeNotification.json b/schemas/notifications/OrderStatusChangeNotification.json index 680cfdf59..cc35410f6 100644 --- a/schemas/notifications/OrderStatusChangeNotification.json +++ b/schemas/notifications/OrderStatusChangeNotification.json @@ -4,7 +4,6 @@ "type": "object", "title": "The root schema", "description": "The root schema comprises the entire JSON document.", - "default": {}, "examples": [ { "NotificationVersion": "1.0", @@ -88,7 +87,6 @@ "type": "object", "title": "The Payload schema", "description": "An explanation about the purpose of this instance.", - "default": {}, "examples": [ { "OrderStatusChangeNotification": { @@ -115,7 +113,6 @@ "type": "object", "title": "The OrderStatusChangeNotification schema", "description": "An explanation about the purpose of this instance.", - "default": {}, "examples": [ { "SellerId": "AXXXXXXXXXXXXX", @@ -264,7 +261,6 @@ "type": "object", "title": "The NotificationMetadata schema", "description": "An explanation about the purpose of this instance.", - "default": {}, "examples": [ { "ApplicationId": "app-id-d0e9e693-c3ad-4373-979f-ed4ec98dd746", @@ -325,4 +321,4 @@ } }, "additionalProperties": true -} \ No newline at end of file +} diff --git a/schemas/notifications/ProductTypeDefinitionsChangeNotification.json b/schemas/notifications/ProductTypeDefinitionsChangeNotification.json index a13173877..de82be5ef 100644 --- a/schemas/notifications/ProductTypeDefinitionsChangeNotification.json +++ b/schemas/notifications/ProductTypeDefinitionsChangeNotification.json @@ -4,7 +4,6 @@ "type": "object", "title": "The root schema", "description": "The root schema comprises the entire JSON document.", - "default": {}, "examples": [ { "NotificationVersion":"1.0", @@ -82,7 +81,6 @@ "type": "object", "title": "The Payload schema", "description": "An explanation about the purpose of this instance.", - "default": {}, "examples": [ { "AccountId": "AXXXXXXXXXXX", @@ -154,7 +152,6 @@ "type": "object", "title": "The NotificationMetadata schema", "description": "An explanation about the purpose of this instance.", - "default": {}, "examples": [ { "ApplicationId": "amzn1.sellerapps.app.f1234566-aaec-55a6-b123-bcb752069ec5", @@ -215,4 +212,4 @@ } }, "additionalProperties": true -} \ No newline at end of file +} From 6a7722a6afd747760356f545ee6b551b1d54799f Mon Sep 17 00:00:00 2001 From: rubeena begum <163713192+ruby4406@users.noreply.github.com> Date: Sun, 13 Oct 2024 04:51:02 +0530 Subject: [PATCH 336/340] Create codeql.yml Signed-off-by: rubeena begum <163713192+ruby4406@users.noreply.github.com> --- .github/workflows/codeql.yml | 98 ++++++++++++++++++++++++++++++++++++ 1 file changed, 98 insertions(+) create mode 100644 .github/workflows/codeql.yml diff --git a/.github/workflows/codeql.yml b/.github/workflows/codeql.yml new file mode 100644 index 000000000..a4d74a716 --- /dev/null +++ b/.github/workflows/codeql.yml @@ -0,0 +1,98 @@ +# For most projects, this workflow file will not need changing; you simply need +# to commit it to your repository. +# +# You may wish to alter this file to override the set of languages analyzed, +# or to provide custom queries or build logic. +# +# ******** NOTE ******** +# We have attempted to detect the languages in your repository. Please check +# the `language` matrix defined below to confirm you have the correct set of +# supported CodeQL languages. +# +name: "CodeQL Advanced" + +on: + push: + branches: [ "main" ] + pull_request: + branches: [ "main" ] + schedule: + - cron: '45 7 * * 3' + +jobs: + analyze: + name: Analyze (${{ matrix.language }}) + # Runner size impacts CodeQL analysis time. To learn more, please see: + # - https://gh.io/recommended-hardware-resources-for-running-codeql + # - https://gh.io/supported-runners-and-hardware-resources + # - https://gh.io/using-larger-runners (GitHub.com only) + # Consider using larger runners or machines with greater resources for possible analysis time improvements. + runs-on: ${{ (matrix.language == 'swift' && 'macos-latest') || 'ubuntu-latest' }} + permissions: + # required for all workflows + security-events: write + + # required to fetch internal or private CodeQL packs + packages: read + + # only required for workflows in private repositories + actions: read + contents: read + + strategy: + fail-fast: false + matrix: + include: + - language: csharp + build-mode: none + - language: java-kotlin + build-mode: none # This mode only analyzes Java. Set this to 'autobuild' or 'manual' to analyze Kotlin too. + - language: javascript-typescript + build-mode: none + - language: python + build-mode: none + # CodeQL supports the following values keywords for 'language': 'c-cpp', 'csharp', 'go', 'java-kotlin', 'javascript-typescript', 'python', 'ruby', 'swift' + # Use `c-cpp` to analyze code written in C, C++ or both + # Use 'java-kotlin' to analyze code written in Java, Kotlin or both + # Use 'javascript-typescript' to analyze code written in JavaScript, TypeScript or both + # To learn more about changing the languages that are analyzed or customizing the build mode for your analysis, + # see https://docs.github.com/en/code-security/code-scanning/creating-an-advanced-setup-for-code-scanning/customizing-your-advanced-setup-for-code-scanning. + # If you are analyzing a compiled language, you can modify the 'build-mode' for that language to customize how + # your codebase is analyzed, see https://docs.github.com/en/code-security/code-scanning/creating-an-advanced-setup-for-code-scanning/codeql-code-scanning-for-compiled-languages + steps: + - name: Checkout repository + uses: actions/checkout@v4 + + # Initializes the CodeQL tools for scanning. + - name: Initialize CodeQL + uses: github/codeql-action/init@v3 + with: + languages: ${{ matrix.language }} + build-mode: ${{ matrix.build-mode }} + # If you wish to specify custom queries, you can do so here or in a config file. + # By default, queries listed here will override any specified in a config file. + # Prefix the list here with "+" to use these queries and those in the config file. + + # For more details on CodeQL's query packs, refer to: https://docs.github.com/en/code-security/code-scanning/automatically-scanning-your-code-for-vulnerabilities-and-errors/configuring-code-scanning#using-queries-in-ql-packs + # queries: security-extended,security-and-quality + + # If the analyze step fails for one of the languages you are analyzing with + # "We were unable to automatically build your code", modify the matrix above + # to set the build mode to "manual" for that language. Then modify this step + # to build your code. + # ℹ️ Command-line programs to run using the OS shell. + # 📚 See https://docs.github.com/en/actions/using-workflows/workflow-syntax-for-github-actions#jobsjob_idstepsrun + - if: matrix.build-mode == 'manual' + shell: bash + run: | + echo 'If you are using a "manual" build mode for one or more of the' \ + 'languages you are analyzing, replace this with the commands to build' \ + 'your code, for example:' + echo ' make bootstrap' + echo ' make release' + exit 1 + + - name: Perform CodeQL Analysis + uses: github/codeql-action/analyze@v3 + with: + category: "/language:${{matrix.language}}" From 14bc20fe431e45ce2ed6b6cd69c91c98a2b1d423 Mon Sep 17 00:00:00 2001 From: Alejandro Chavarria Date: Tue, 27 Apr 2021 15:32:46 -0600 Subject: [PATCH 337/340] Added basic IAM Role Implementation to C# Auth and Auth client with no STS Token reusability --- clients/sellingpartner-api-aa-csharp/Config | 26 ++ .../sellingpartner-api-aa-csharp/README.md | 51 ++-- .../SellingPartnerAPIAuthAndAuthCSharp.sln | 3 - .../AWSAuthenticationCredentialsProvider.cs | 22 ++ .../AWSSigV4Signer.cs | 138 +++++++++ .../AWSSignerHelper.cs | 267 ++++++++++++++++ .../LWAAccessTokenRequestMeta.cs | 2 +- .../templates/ApiClient.mustache | 56 +--- .../templates/Configuration.mustache | 6 + .../templates/IReadableConfiguration.mustache | 14 +- .../swagger-codegen/templates/api.mustache | 15 +- .../AWSSigV4SignerTest.cs | 88 ++++++ .../AWSSignerHelperTest.cs | 288 ++++++++++++++++++ 13 files changed, 896 insertions(+), 80 deletions(-) create mode 100644 clients/sellingpartner-api-aa-csharp/Config create mode 100644 clients/sellingpartner-api-aa-csharp/src/Amazon.SellingPartnerAPIAA/AWSAuthenticationCredentialsProvider.cs create mode 100644 clients/sellingpartner-api-aa-csharp/src/Amazon.SellingPartnerAPIAA/AWSSigV4Signer.cs create mode 100644 clients/sellingpartner-api-aa-csharp/src/Amazon.SellingPartnerAPIAA/AWSSignerHelper.cs create mode 100644 clients/sellingpartner-api-aa-csharp/test/Amazon.SellingPartnerAPIAATests/AWSSigV4SignerTest.cs create mode 100644 clients/sellingpartner-api-aa-csharp/test/Amazon.SellingPartnerAPIAATests/AWSSignerHelperTest.cs diff --git a/clients/sellingpartner-api-aa-csharp/Config b/clients/sellingpartner-api-aa-csharp/Config new file mode 100644 index 000000000..e70e978f0 --- /dev/null +++ b/clients/sellingpartner-api-aa-csharp/Config @@ -0,0 +1,26 @@ +package.SellingPartnerAPIAuthAndAuthCSharp = { + interfaces = (1.0); + + # Use NoOpBuild. See https://w.amazon.com/index.php/BrazilBuildSystem/NoOpBuild + build-system = no-op; + build-tools = { + 1.0 = { + NoOpBuild = 1.0; + }; + }; + + # Use runtime-dependencies for when you want to bring in additional + # packages when deploying. + # Use dependencies instead if you intend for these dependencies to + # be exported to other packages that build against you. + dependencies = { + 1.0 = { + }; + }; + + runtime-dependencies = { + 1.0 = { + }; + }; + +}; diff --git a/clients/sellingpartner-api-aa-csharp/README.md b/clients/sellingpartner-api-aa-csharp/README.md index be5d77126..a40dae313 100644 --- a/clients/sellingpartner-api-aa-csharp/README.md +++ b/clients/sellingpartner-api-aa-csharp/README.md @@ -38,35 +38,38 @@ restRequest = new LWAAuthorizationSigner(lwaAuthorizationCredentials).Sign(restR ``` Note the IRestRequest reference is treated as **mutable** when signed. -## RateLimitConfiguration -Interface to set and get rateLimit configurations that are used with RateLimiter. RateLimiter is used on client side to restrict the rate at which requests are made. RateLimiter Configuration takes Permit, rate which requests are made and TimeOut +## AWSSigV4Signer +Signs a request with [AWS Signature Version 4](https://docs.aws.amazon.com/general/latest/gr/signature-version-4.html) +using the provided AWS developer account credentials. + +This implementation of the IAM Role-based Authentication, will work only as long as the initial STS Token is valid (typically for 3600 seconds) and until an instance is able to refresh the STS Token on its own, otherwise, the Token needs to be reinitialized via the AWSSigV4Signer. *Example* ``` -RateLimitConfiguration rateLimitConfig = new RateLimitConfigurationOnRequests - { - RateLimitPermit = .., - WaitTimeOutInMilliSeconds = ... - }; +using RestSharp; +using Amazon.SellingPartnerAPIAA; -``` +string resource = "/my/api/path"; +RestClient restClient = new RestClient("https://..."); +IRestRequest restRequest = new RestRequest(resource, Method.GET); -## Exception -This package returns a custom LWAException when there is an error returned during LWA authorization. LWAException provides additional details like errorCode and errorDescription to help fix the issue. - -*Example* -``` -catch (LWAException e) - { - Console.WriteLine("LWA Exception when calling Selling partner API"); - Console.WriteLine(e.getErrorCode()); - Console.WriteLine(e.getErrorMessage()); - Console.WriteLine(e.Message); - } -``` +AWSAuthenticationCredentials awsAuthenticationCredentials = new AWSAuthenticationCredentials +{ + AccessKeyId = "..." + SecretKey = "..." + Region = "..." +}; -## Version -Selling Partner API Authentication/Authorization Library version 2.0. +AWSAuthenticationCredentialsProvider awsAuthenticationCredentialsProvider = new AWSAuthenticationCredentialsProvider +{ + RoleArn = "...", + RoleSessionName = "..." +}; + +restRequest = new AWSSigV4Signer(awsAuthenticationCredentials, awsAuthenticationCredentialsProvider) + .Sign(restRequest, restClient.BaseUrl.Host); +``` +Note the IRestRequest reference is treated as **mutable** when signed. ## Resources This package features Mustache templates designed for use with [swagger codegen](https://swagger.io/tools/swagger-codegen/). @@ -77,7 +80,7 @@ This package is built as a .NET Standard Library via a Visual Studio Solution wi ## Dependencies All dependencies can be installed via NuGet -- RestSharp - 106.12.0 +- RestSharp - 105.1.0 - Newtonsoft.Json 12.0.3 - NETStandard.Library 2.0.3 (platform-specific implementation requirements are documented on the [Microsoft .NET Guide](https://docs.microsoft.com/en-us/dotnet/standard/net-standard)) diff --git a/clients/sellingpartner-api-aa-csharp/SellingPartnerAPIAuthAndAuthCSharp.sln b/clients/sellingpartner-api-aa-csharp/SellingPartnerAPIAuthAndAuthCSharp.sln index 1eec521e4..cb6582ed8 100644 --- a/clients/sellingpartner-api-aa-csharp/SellingPartnerAPIAuthAndAuthCSharp.sln +++ b/clients/sellingpartner-api-aa-csharp/SellingPartnerAPIAuthAndAuthCSharp.sln @@ -20,7 +20,4 @@ Global {12B130EB-1087-4F88-BDFA-3088868C0A46}.Release|Any CPU.ActiveCfg = Release|Any CPU {12B130EB-1087-4F88-BDFA-3088868C0A46}.Release|Any CPU.Build.0 = Release|Any CPU EndGlobalSection - GlobalSection(MonoDevelopProperties) = preSolution - version = 2.0 - EndGlobalSection EndGlobal diff --git a/clients/sellingpartner-api-aa-csharp/src/Amazon.SellingPartnerAPIAA/AWSAuthenticationCredentialsProvider.cs b/clients/sellingpartner-api-aa-csharp/src/Amazon.SellingPartnerAPIAA/AWSAuthenticationCredentialsProvider.cs new file mode 100644 index 000000000..bf93f6c9b --- /dev/null +++ b/clients/sellingpartner-api-aa-csharp/src/Amazon.SellingPartnerAPIAA/AWSAuthenticationCredentialsProvider.cs @@ -0,0 +1,22 @@ +using System; +using System.Collections.Generic; +using System.Text; + +namespace Amazon.SellingPartnerAPIAA +{ + /** + * AWSAuthenticationCredentialsProvider + */ + public class AWSAuthenticationCredentialsProvider + { + /** + * AWS IAM Role ARN + */ + public String RoleArn { get; set; } + + /** + * AWS IAM Role Session Name + */ + public String RoleSessionName { get; set; } + } +} diff --git a/clients/sellingpartner-api-aa-csharp/src/Amazon.SellingPartnerAPIAA/AWSSigV4Signer.cs b/clients/sellingpartner-api-aa-csharp/src/Amazon.SellingPartnerAPIAA/AWSSigV4Signer.cs new file mode 100644 index 000000000..eab990894 --- /dev/null +++ b/clients/sellingpartner-api-aa-csharp/src/Amazon.SellingPartnerAPIAA/AWSSigV4Signer.cs @@ -0,0 +1,138 @@ +using System; +using System.Text; +using RestSharp; +using Amazon.Runtime; +using Amazon.SecurityToken; +using Amazon.SecurityToken.Model; +using System.Threading; + +namespace Amazon.SellingPartnerAPIAA +{ + public class AWSSigV4Signer + + { + public virtual AWSSignerHelper AwsSignerHelper { get; set; } + private AWSAuthenticationCredentials awsCredentials; + private AssumeRoleResponse assumeRole; + public const string SecurityTokenHeaderName = "X-Amz-Security-Token"; + + + /// + /// Constructor for AWSSigV4Signer + /// + /// AWS Developer Account Credentials + public AWSSigV4Signer(AWSAuthenticationCredentials awsAuthenticationCredentials) + { + awsCredentials = awsAuthenticationCredentials; + AwsSignerHelper = new AWSSignerHelper(); + } + + + /// + /// Overloaded Constructor for AWSSigV4Signer using IAM Role + /// + /// AWS Developer Account Credentials + /// AWS IAM Role and Session Name container + public AWSSigV4Signer(AWSAuthenticationCredentials awsAuthenticationCredentials, + AWSAuthenticationCredentialsProvider awsAuthenticationCredentialsProvider) + { + awsCredentials = awsAuthenticationCredentials; + BasicAWSCredentials basicAWSCredentials = new BasicAWSCredentials( + awsAuthenticationCredentials.AccessKeyId, awsAuthenticationCredentials.SecretKey); + AmazonSecurityTokenServiceClient sts = new AmazonSecurityTokenServiceClient(basicAWSCredentials); + CancellationTokenSource source = new CancellationTokenSource(); + CancellationToken cancellationToken = source.Token; + assumeRole = sts.AssumeRoleAsync(new AssumeRoleRequest{ + RoleArn = awsAuthenticationCredentialsProvider.RoleArn, + RoleSessionName = awsAuthenticationCredentialsProvider.RoleSessionName + }).Result; + + AwsSignerHelper = new AWSSignerHelper(); + } + + /// + /// Signs a Request with AWS Signature Version 4 + /// + /// RestRequest which needs to be signed + /// Request endpoint + /// RestRequest with AWS Signature + public IRestRequest Sign(IRestRequest request, string host) + { + DateTime signingDate = AwsSignerHelper.SetDateAndHostHeaders(request, host); + + string signedHeaders = AwsSignerHelper.ExtractSignedHeaders(request); + + string hashedCanonicalRequest = CreateCanonicalRequest(request, signedHeaders); + + string stringToSign = AwsSignerHelper.BuildStringToSign(signingDate, + hashedCanonicalRequest, + awsCredentials.Region); + + if (assumeRole != null) + { + + Credentials credentials = assumeRole.Credentials; + AwsSignerHelper.SetSessionTokenHeader(request, credentials.SessionToken); + + string signature = AwsSignerHelper.CalculateSignature(stringToSign, + signingDate, + credentials.SecretAccessKey, + awsCredentials.Region); + AwsSignerHelper.AddSignature(request, + credentials.AccessKeyId, + signedHeaders, + signature, + awsCredentials.Region, + signingDate); + + return request; + } + else + { + + + + string signature = AwsSignerHelper.CalculateSignature(stringToSign, + signingDate, + awsCredentials.SecretKey, + awsCredentials.Region); + + AwsSignerHelper.AddSignature(request, + awsCredentials.AccessKeyId, + signedHeaders, + signature, + awsCredentials.Region, + signingDate); + + return request; + } + } + + private string CreateCanonicalRequest(IRestRequest restRequest, string signedHeaders) + { + var canonicalizedRequest = new StringBuilder(); + //Request Method + canonicalizedRequest.AppendFormat("{0}\n", restRequest.Method); + + //CanonicalURI + canonicalizedRequest.AppendFormat("{0}\n", AwsSignerHelper.ExtractCanonicalURIParameters(restRequest.Resource)); + + //CanonicalQueryString + canonicalizedRequest.AppendFormat("{0}\n", AwsSignerHelper.ExtractCanonicalQueryString(restRequest)); + + //CanonicalHeaders + canonicalizedRequest.AppendFormat("{0}\n", AwsSignerHelper.ExtractCanonicalHeaders(restRequest)); + + //SignedHeaders + canonicalizedRequest.AppendFormat("{0}\n", signedHeaders); + + // Hash(digest) the payload in the body + canonicalizedRequest.AppendFormat(AwsSignerHelper.HashRequestBody(restRequest)); + + string canonicalRequest = canonicalizedRequest.ToString(); + + //Create a digest(hash) of the canonical request + return Utils.ToHex(Utils.Hash(canonicalRequest)); + } + } +} \ No newline at end of file diff --git a/clients/sellingpartner-api-aa-csharp/src/Amazon.SellingPartnerAPIAA/AWSSignerHelper.cs b/clients/sellingpartner-api-aa-csharp/src/Amazon.SellingPartnerAPIAA/AWSSignerHelper.cs new file mode 100644 index 000000000..c4ff9858c --- /dev/null +++ b/clients/sellingpartner-api-aa-csharp/src/Amazon.SellingPartnerAPIAA/AWSSignerHelper.cs @@ -0,0 +1,267 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using RestSharp; +using System.Text.RegularExpressions; +using System.Globalization; +using Amazon.SecurityToken.Model; + +namespace Amazon.SellingPartnerAPIAA +{ + public class AWSSignerHelper + { + public const string ISO8601BasicDateTimeFormat = "yyyyMMddTHHmmssZ"; + public const string ISO8601BasicDateFormat = "yyyyMMdd"; + + public const string XAmzDateHeaderName = "X-Amz-Date"; + public const string AuthorizationHeaderName = "Authorization"; + public const string CredentialSubHeaderName = "Credential"; + public const string SignatureSubHeaderName = "Signature"; + public const string SignedHeadersSubHeaderName = "SignedHeaders"; + public const string HostHeaderName = "host"; + public const string SecurityTokenHeaderName = "X-Amz-Security-Token"; + + public const string Scheme = "AWS4"; + public const string Algorithm = "HMAC-SHA256"; + public const string TerminationString = "aws4_request"; + public const string ServiceName = "execute-api"; + public const string Slash = "/"; + + private readonly static Regex CompressWhitespaceRegex = new Regex("\\s+"); + + public virtual IDateHelper DateHelper { get; set; } + + public AWSSignerHelper() + { + DateHelper = new SigningDateHelper(); + } + + /// + /// Returns URI encoded version of absolute path + /// + /// Resource path(absolute path) from the request + /// URI encoded version of absolute path + public virtual string ExtractCanonicalURIParameters(string resource) + { + string canonicalUri = string.Empty; + + if (string.IsNullOrEmpty(resource)) + { + canonicalUri = Slash; + } + else + { + if (!resource.StartsWith(Slash)) + { + canonicalUri = Slash; + } + //Split path at / into segments + IEnumerable encodedSegments = resource.Split(new char[] { '/' }, StringSplitOptions.None); + + // Encode twice + encodedSegments = encodedSegments.Select(segment => Utils.UrlEncode(segment)); + encodedSegments = encodedSegments.Select(segment => Utils.UrlEncode(segment)); + + canonicalUri += string.Join(Slash, encodedSegments.ToArray()); + } + + return canonicalUri; + } + + /// + /// Returns query parameters in canonical order with URL encoding + /// + /// RestRequest + /// Query parameters in canonical order with URL encoding + public virtual string ExtractCanonicalQueryString(IRestRequest request) + { + IDictionary queryParameters = request.Parameters + .Where(parameter => ParameterType.QueryString.Equals(parameter.Type)) + .ToDictionary(header => header.Name.Trim().ToString(), header => header.Value.ToString()); + + SortedDictionary sortedqueryParameters = new SortedDictionary(queryParameters); + + StringBuilder canonicalQueryString = new StringBuilder(); + foreach (var key in sortedqueryParameters.Keys) + { + if (canonicalQueryString.Length > 0) + { + canonicalQueryString.Append("&"); + } + canonicalQueryString.AppendFormat("{0}={1}", + Utils.UrlEncode(key), + Utils.UrlEncode(sortedqueryParameters[key])); + } + + return canonicalQueryString.ToString(); + } + + /// + /// Returns Http headers in canonical order with all header names to lowercase + /// + /// RestRequest + /// Returns Http headers in canonical order + public virtual string ExtractCanonicalHeaders(IRestRequest request) + { + IDictionary headers = request.Parameters + .Where(parameter => ParameterType.HttpHeader.Equals(parameter.Type)) + .ToDictionary(header => header.Name.Trim().ToLowerInvariant(), header => header.Value.ToString()); + + SortedDictionary sortedHeaders = new SortedDictionary(headers); + + StringBuilder headerString = new StringBuilder(); + + foreach (string headerName in sortedHeaders.Keys) + { + headerString.AppendFormat("{0}:{1}\n", + headerName, + CompressWhitespaceRegex.Replace(sortedHeaders[headerName].Trim(), " ")); + } + + return headerString.ToString(); + } + + /// + /// Returns list(as string) of Http headers in canonical order + /// + /// RestRequest + /// List of Http headers in canonical order + public virtual string ExtractSignedHeaders(IRestRequest request) + { + List rawHeaders = request.Parameters.Where(parameter => ParameterType.HttpHeader.Equals(parameter.Type)) + .Select(header => header.Name.Trim().ToLowerInvariant()) + .ToList(); + rawHeaders.Sort(StringComparer.OrdinalIgnoreCase); + + return string.Join(";", rawHeaders); + } + + /// + /// Returns hexadecimal hashed value(using SHA256) of payload in the body of request + /// + /// RestRequest + /// Hexadecimal hashed value of payload in the body of request + public virtual string HashRequestBody(IRestRequest request) + { + Parameter body = request.Parameters.FirstOrDefault(parameter => ParameterType.RequestBody.Equals(parameter.Type)); + string value = body != null ? body.Value.ToString() : string.Empty; + return Utils.ToHex(Utils.Hash(value)); + } + + /// + /// Builds the string for signing using signing date, hashed canonical request and region + /// + /// Signing Date + /// Hashed Canonical Request + /// Region + /// String to be used for signing + public virtual string BuildStringToSign(DateTime signingDate, string hashedCanonicalRequest, string region) + { + string scope = BuildScope(signingDate, region); + string stringToSign = string.Format(CultureInfo.InvariantCulture, "{0}-{1}\n{2}\n{3}\n{4}", + Scheme, + Algorithm, + signingDate.ToString(ISO8601BasicDateTimeFormat, CultureInfo.InvariantCulture), + scope, + hashedCanonicalRequest); + + return stringToSign; + } + + /// + /// Sets AWS4 mandated 'x-amz-date' and 'host' headers, returning the date/time that will + /// be used throughout the signing process. + /// + /// RestRequest + /// Request endpoint + /// Date and time used for x-amz-date, in UTC + public virtual DateTime SetDateAndHostHeaders(IRestRequest restRequest, string host) + { + restRequest.Parameters.RemoveAll(parameter => ParameterType.HttpHeader.Equals(parameter.Type) + && parameter.Name == XAmzDateHeaderName); + restRequest.Parameters.RemoveAll(parameter => ParameterType.HttpHeader.Equals(parameter.Type) + && parameter.Name == HostHeaderName); + + DateTime signingDate = DateHelper.GetUtcNow(); + + restRequest.AddHeader(XAmzDateHeaderName, signingDate.ToString(ISO8601BasicDateTimeFormat, CultureInfo.InvariantCulture)); + restRequest.AddHeader(HostHeaderName, host); + + return signingDate; + } + + /// + /// Sets AWS4 'X-Amz-Security-Token' header, used to pass the STS Token to + /// be used throughout the signing process. + /// + /// RestRequest + /// STS Session Token + public void SetSessionTokenHeader(IRestRequest restRequest, String sessionToken) + { + restRequest.Parameters.RemoveAll(parameter => ParameterType.HttpHeader.Equals(parameter.Type) + && parameter.Name == SecurityTokenHeaderName); + + restRequest.AddHeader(SecurityTokenHeaderName, sessionToken); + } + + /// + /// Calculates AWS4 signature for the string, prepared for signing + /// + /// String to be signed + /// Signing Date + /// Secret Key + /// Region + /// AWS4 Signature + public virtual string CalculateSignature(string stringToSign, + DateTime signingDate, + string secretKey, + string region) + { + string date = signingDate.ToString(ISO8601BasicDateFormat, CultureInfo.InvariantCulture); + byte[] kSecret = Encoding.UTF8.GetBytes(Scheme + secretKey); + byte[] kDate = Utils.GetKeyedHash(kSecret, date); + byte[] kRegion = Utils.GetKeyedHash(kDate, region); + byte[] kService = Utils.GetKeyedHash(kRegion, ServiceName); + byte[] kSigning = Utils.GetKeyedHash(kService, TerminationString); + + // Calculate the signature + return Utils.ToHex(Utils.GetKeyedHash(kSigning, stringToSign)); + } + + /// + /// Add a signature to a request in the form of an 'Authorization' header + /// + /// Request to be signed + /// Access Key Id + /// Signed Headers + /// The signature to add + /// AWS region for the request + /// Signature date + public virtual void AddSignature(IRestRequest restRequest, + string accessKeyId, + string signedHeaders, + string signature, + string region, + DateTime signingDate) + { + string scope = BuildScope(signingDate, region); + StringBuilder authorizationHeaderValueBuilder = new StringBuilder(); + authorizationHeaderValueBuilder.AppendFormat("{0}-{1}", Scheme, Algorithm); + authorizationHeaderValueBuilder.AppendFormat(" {0}={1}/{2},", CredentialSubHeaderName, accessKeyId, scope); + authorizationHeaderValueBuilder.AppendFormat(" {0}={1},", SignedHeadersSubHeaderName, signedHeaders); + authorizationHeaderValueBuilder.AppendFormat(" {0}={1}", SignatureSubHeaderName, signature); + + restRequest.AddHeader(AuthorizationHeaderName, authorizationHeaderValueBuilder.ToString()); + } + + private static string BuildScope(DateTime signingDate, string region) + { + return string.Format("{0}/{1}/{2}/{3}", + signingDate.ToString(ISO8601BasicDateFormat, CultureInfo.InvariantCulture), + region, + ServiceName, + TerminationString); + } + } +} diff --git a/clients/sellingpartner-api-aa-csharp/src/Amazon.SellingPartnerAPIAA/LWAAccessTokenRequestMeta.cs b/clients/sellingpartner-api-aa-csharp/src/Amazon.SellingPartnerAPIAA/LWAAccessTokenRequestMeta.cs index 1188272c5..13da49f9d 100644 --- a/clients/sellingpartner-api-aa-csharp/src/Amazon.SellingPartnerAPIAA/LWAAccessTokenRequestMeta.cs +++ b/clients/sellingpartner-api-aa-csharp/src/Amazon.SellingPartnerAPIAA/LWAAccessTokenRequestMeta.cs @@ -1,4 +1,4 @@ -using System.Collections.Generic; +using System.Collections.Generic; using Newtonsoft.Json; namespace Amazon.SellingPartnerAPIAA diff --git a/clients/sellingpartner-api-aa-csharp/src/Amazon.SellingPartnerAPIAA/resources/swagger-codegen/templates/ApiClient.mustache b/clients/sellingpartner-api-aa-csharp/src/Amazon.SellingPartnerAPIAA/resources/swagger-codegen/templates/ApiClient.mustache index 52a4e56bf..27e0e9b1e 100644 --- a/clients/sellingpartner-api-aa-csharp/src/Amazon.SellingPartnerAPIAA/resources/swagger-codegen/templates/ApiClient.mustache +++ b/clients/sellingpartner-api-aa-csharp/src/Amazon.SellingPartnerAPIAA/resources/swagger-codegen/templates/ApiClient.mustache @@ -22,8 +22,6 @@ using RestSharp.Portable.HttpClient; using RestSharp; {{/netStandard}} using Amazon.SellingPartnerAPIAA; -using RateLimiter; -using System.Threading; namespace {{packageName}}.Client { @@ -33,9 +31,8 @@ namespace {{packageName}}.Client {{>visibility}} partial class ApiClient { private LWAAuthorizationSigner lwaAuthorizationSigner; - private RateLimitConfiguration rateLimitConfig; - private TimeLimiter rateLimiter; - + private AWSSigV4Signer awsSigV4Signer; + private JsonSerializerSettings serializerSettings = new JsonSerializerSettings { ConstructorHandling = ConstructorHandling.AllowNonPublicDefaultConstructor @@ -45,10 +42,10 @@ namespace {{packageName}}.Client /// Allows for extending request processing for generated code. /// /// The RestSharp request object - /// Thrown when there is an error during LWA Authorization private void InterceptRequest(IRestRequest request) { lwaAuthorizationSigner.Sign(request); + awsSigV4Signer.Sign(request, RestClient.BaseUrl.Host); } /// @@ -73,10 +70,13 @@ namespace {{packageName}}.Client {{/netStandard}} lwaAuthorizationSigner = new LWAAuthorizationSigner(Configuration.AuthorizationCredentials); - rateLimitConfig = Configuration.RateLimitConfig; - if(rateLimitConfig != null) - { - rateLimiter = TimeLimiter.GetFromMaxCountByInterval(rateLimitConfig.getRateLimitPermit(), TimeSpan.FromSeconds(1)); + if (Configuration.AuthenticationCredentialsProvider!=null) + { + awsSigV4Signer = new AWSSigV4Signer(configuration.AuthenticationCredentials, Configuration.AuthenticationCredentialsProvider); + } + else + { + awsSigV4Signer = new AWSSigV4Signer(Configuration.AuthenticationCredentials); } } @@ -141,7 +141,7 @@ namespace {{packageName}}.Client {{/netStandard}} {{^netStandard}} {{^supportsUWP}} - request.AddFile(param.Value.Name, param.Value.Writer, param.Value.FileName, param.Value.ContentLength, param.Value.ContentType); + request.AddFile(param.Value.Name, param.Value.Writer, param.Value.FileName, param.Value.ContentType); {{/supportsUWP}} {{#supportsUWP}} byte[] paramWriter = null; @@ -194,22 +194,6 @@ namespace {{packageName}}.Client RestClient.UserAgent = Configuration.UserAgent; InterceptRequest(request); - if(rateLimitConfig != null) - { - var cancellationSource = new CancellationTokenSource(rateLimitConfig.getTimeOut()); - try - { - var response = rateLimiter.Enqueue(() => RestClient.Execute(request), cancellationSource.Token); - InterceptResponse(request, response.Result); - return response.Result; - } - catch (AggregateException e) - { - throw new ApiException(429, "Throttled at client"); - } - } - else - { {{#netStandard}} var response = RestClient.Execute(request).Result; {{/netStandard}} @@ -225,7 +209,6 @@ namespace {{packageName}}.Client InterceptResponse(request, response); return (Object) response; - } } {{#supportsAsync}} /// @@ -251,19 +234,9 @@ namespace {{packageName}}.Client path, method, queryParams, postBody, headerParams, formParams, fileParams, pathParams, contentType); InterceptRequest(request); - if (rateLimitConfig != null) - { - var cancellationSource = new CancellationTokenSource(rateLimitConfig.getTimeOut()); - var response = await rateLimiter.Enqueue(() => RestClient.ExecuteTaskAsync(request), cancellationSource.Token); - InterceptResponse(request, response); - return response; - } - else - { - var response = await RestClient.Execute{{^netStandard}}TaskAsync{{/netStandard}}(request); - InterceptResponse(request, response); - return (Object)response; - } + var response = await RestClient.Execute{{^netStandard}}TaskAsync{{/netStandard}}(request); + InterceptResponse(request, response); + return (Object)response; }{{/supportsAsync}} /// @@ -608,4 +581,3 @@ namespace {{packageName}}.Client } } } - diff --git a/clients/sellingpartner-api-aa-csharp/src/Amazon.SellingPartnerAPIAA/resources/swagger-codegen/templates/Configuration.mustache b/clients/sellingpartner-api-aa-csharp/src/Amazon.SellingPartnerAPIAA/resources/swagger-codegen/templates/Configuration.mustache index 3038689de..8518e3b02 100644 --- a/clients/sellingpartner-api-aa-csharp/src/Amazon.SellingPartnerAPIAA/resources/swagger-codegen/templates/Configuration.mustache +++ b/clients/sellingpartner-api-aa-csharp/src/Amazon.SellingPartnerAPIAA/resources/swagger-codegen/templates/Configuration.mustache @@ -275,6 +275,12 @@ namespace {{packageName}}.Client /// The RateLimitConfiguration public virtual RateLimitConfiguration RateLimitConfig { get; set; } + /// + /// Gets or sets the AWSAuthenticationCredentialsProvider for Amazon Selling Partner API Authentication + /// + /// The AWSAuthenticationCredentialsProvider + public virtual AWSAuthenticationCredentialsProvider AuthenticationCredentialsProvider { get; set; } + /// /// Gets the API key with prefix. /// diff --git a/clients/sellingpartner-api-aa-csharp/src/Amazon.SellingPartnerAPIAA/resources/swagger-codegen/templates/IReadableConfiguration.mustache b/clients/sellingpartner-api-aa-csharp/src/Amazon.SellingPartnerAPIAA/resources/swagger-codegen/templates/IReadableConfiguration.mustache index cae69555d..a280b34c6 100644 --- a/clients/sellingpartner-api-aa-csharp/src/Amazon.SellingPartnerAPIAA/resources/swagger-codegen/templates/IReadableConfiguration.mustache +++ b/clients/sellingpartner-api-aa-csharp/src/Amazon.SellingPartnerAPIAA/resources/swagger-codegen/templates/IReadableConfiguration.mustache @@ -88,11 +88,17 @@ namespace {{packageName}}.Client /// /// AuthorizationCredentials LWAAuthorizationCredentials AuthorizationCredentials { get; } - + + /// + /// Gets the AWSAuthenticationCredentials for Amazon Selling Partner API Authentication + /// + /// AuthenticationCredentials + AWSAuthenticationCredentials AuthenticationCredentials { get; } + /// - /// Gets the RateLimitConfigurationOnRequests for Amazon Selling Partner API RateLimit + /// Gets the AWSAuthenticationCredentialsProvider for Amazon Selling Partner API Authentication /// - /// RateLimitConfiguration - RateLimitConfiguration RateLimitConfig { get; } + /// AWSAuthenticationCredentialsProvider + AWSAuthenticationCredentialsProvider AuthenticationCredentialsProvider { get; } } } diff --git a/clients/sellingpartner-api-aa-csharp/src/Amazon.SellingPartnerAPIAA/resources/swagger-codegen/templates/api.mustache b/clients/sellingpartner-api-aa-csharp/src/Amazon.SellingPartnerAPIAA/resources/swagger-codegen/templates/api.mustache index 17644f225..a9b1bcc32 100644 --- a/clients/sellingpartner-api-aa-csharp/src/Amazon.SellingPartnerAPIAA/resources/swagger-codegen/templates/api.mustache +++ b/clients/sellingpartner-api-aa-csharp/src/Amazon.SellingPartnerAPIAA/resources/swagger-codegen/templates/api.mustache @@ -435,18 +435,17 @@ namespace {{packageName}}.{{apiPackage}} public class Builder { private LWAAuthorizationCredentials lwaAuthorizationCredentials; - private RateLimitConfiguration rateLimitConfiguration; + private AWSAuthenticationCredentials awsAuthenticationCredentials; public Builder SetLWAAuthorizationCredentials(LWAAuthorizationCredentials lwaAuthorizationCredentials) { this.lwaAuthorizationCredentials = lwaAuthorizationCredentials; return this; } - - - public Builder SetRateLimitConfiguration(RateLimitConfiguration rateLimitConfiguration) + + public Builder SetAWSAuthenticationCredentials(AWSAuthenticationCredentials awsAuthenticationCredentials) { - this.rateLimitConfiguration = rateLimitConfiguration; + this.awsAuthenticationCredentials = awsAuthenticationCredentials; return this; } @@ -457,11 +456,15 @@ namespace {{packageName}}.{{apiPackage}} throw new NullReferenceException("LWAAuthoriztionCredentials not set"); } + if (awsAuthenticationCredentials == null) + { + throw new NullReferenceException("AWSAuthenticationCredentials not set"); + } {{packageName}}.Client.Configuration configuration = new {{packageName}}.Client.Configuration() { AuthorizationCredentials = lwaAuthorizationCredentials, - RateLimitConfig = rateLimitConfiguration + AuthenticationCredentials = awsAuthenticationCredentials }; // default HTTP connection timeout (in milliseconds) diff --git a/clients/sellingpartner-api-aa-csharp/test/Amazon.SellingPartnerAPIAATests/AWSSigV4SignerTest.cs b/clients/sellingpartner-api-aa-csharp/test/Amazon.SellingPartnerAPIAATests/AWSSigV4SignerTest.cs new file mode 100644 index 000000000..c9b248078 --- /dev/null +++ b/clients/sellingpartner-api-aa-csharp/test/Amazon.SellingPartnerAPIAATests/AWSSigV4SignerTest.cs @@ -0,0 +1,88 @@ +using Moq; +using Xunit; +using RestSharp; +using Amazon.SellingPartnerAPIAA; +using System; + +namespace Amazon.SellingPartnerAPIAATests +{ + public class AWSSigV4SignerTest + { + private const string TestAccessKeyId = "aKey"; + private const string TestSecretKey = "sKey"; + private const string TestRegion = "us-east-1"; + private const string TestResourcePath = "iam/user"; + private const string TestHost = "sellingpartnerapi.amazon.com"; + + private RestRequest request; + private AWSSigV4Signer sigV4SignerUnderTest; + private Mock mockAWSSignerHelper; + + public AWSSigV4SignerTest() + { + request = new RestRequest(TestResourcePath, Method.GET); + + AWSAuthenticationCredentials authenticationCredentials = new AWSAuthenticationCredentials + { + AccessKeyId = TestAccessKeyId, + SecretKey = TestSecretKey, + Region = TestRegion + }; + mockAWSSignerHelper = new Mock(); + sigV4SignerUnderTest = new AWSSigV4Signer(authenticationCredentials); + sigV4SignerUnderTest.AwsSignerHelper = mockAWSSignerHelper.Object; + } + + [Fact] + public void TestSignRequest() + { + DateTime signingDate = DateTime.UtcNow; + string expectedHashedCanonicalRequest = "b7a5ea4c3179fcebed77f19ccd7d85795d4b7a1810709b55fa7ad3fd79ab6adc"; + string expectedSignedHeaders = "testSignedHeaders"; + string expectedSignature = "testSignature"; + string expectedStringToSign = "testStringToSign"; + mockAWSSignerHelper.Setup(signerHelper => signerHelper.SetDateAndHostHeaders(request, TestHost)) + .Returns(signingDate); + mockAWSSignerHelper.Setup(signerHelper => signerHelper.ExtractCanonicalURIParameters(request.Resource)) + .Returns("testURIParameters"); + mockAWSSignerHelper.Setup(signerHelper => signerHelper.ExtractCanonicalQueryString(request)) + .Returns("testCanonicalQueryString"); + mockAWSSignerHelper.Setup(signerHelper => signerHelper.ExtractCanonicalHeaders(request)) + .Returns("testCanonicalHeaders"); + mockAWSSignerHelper.Setup(signerHelper => signerHelper.ExtractSignedHeaders(request)) + .Returns(expectedSignedHeaders); + mockAWSSignerHelper.Setup(signerHelper => signerHelper.HashRequestBody(request)) + .Returns("testHashRequestBody"); + mockAWSSignerHelper.Setup(signerHelper => signerHelper.BuildStringToSign(signingDate, + expectedHashedCanonicalRequest, TestRegion)) + .Returns(expectedStringToSign); + mockAWSSignerHelper.Setup(signerHelper => signerHelper.CalculateSignature(expectedStringToSign, + signingDate, TestSecretKey, TestRegion)) + .Returns(expectedSignature); + + IRestRequest actualRestRequest = sigV4SignerUnderTest.Sign(request, TestHost); + + mockAWSSignerHelper.Verify(signerHelper => signerHelper.SetDateAndHostHeaders(request, TestHost)); + mockAWSSignerHelper.Verify(signerHelper => signerHelper.ExtractCanonicalURIParameters(request.Resource)); + mockAWSSignerHelper.Verify(signerHelper => signerHelper.ExtractCanonicalQueryString(request)); + mockAWSSignerHelper.Verify(signerHelper => signerHelper.ExtractCanonicalHeaders(request)); + mockAWSSignerHelper.Verify(signerHelper => signerHelper.ExtractSignedHeaders(request)); + mockAWSSignerHelper.Verify(signerHelper => signerHelper.HashRequestBody(request)); + mockAWSSignerHelper.Verify(signerHelper => signerHelper.BuildStringToSign(signingDate, + expectedHashedCanonicalRequest, + TestRegion)); + mockAWSSignerHelper.Verify(signerHelper => signerHelper.CalculateSignature(expectedStringToSign, + signingDate, + TestSecretKey, + TestRegion)); + mockAWSSignerHelper.Verify(signerHelper => signerHelper.AddSignature(request, + TestAccessKeyId, + expectedSignedHeaders, + expectedSignature, + TestRegion, + signingDate)); + + Assert.Equal(request, actualRestRequest); + } + } +} diff --git a/clients/sellingpartner-api-aa-csharp/test/Amazon.SellingPartnerAPIAATests/AWSSignerHelperTest.cs b/clients/sellingpartner-api-aa-csharp/test/Amazon.SellingPartnerAPIAATests/AWSSignerHelperTest.cs new file mode 100644 index 000000000..2b6c53690 --- /dev/null +++ b/clients/sellingpartner-api-aa-csharp/test/Amazon.SellingPartnerAPIAATests/AWSSignerHelperTest.cs @@ -0,0 +1,288 @@ +using System; +using Xunit; +using RestSharp; +using Amazon.SellingPartnerAPIAA; +using System.Text; +using Moq; +using Amazon.SecurityToken.Model; +using Amazon.Runtime; +using Amazon.SecurityToken; + +namespace Amazon.SellingPartnerAPIAATests +{ + public class AWSSignerHelperTest + { + private const string Slash = "/"; + private const string ISOSigningDateTime = "20200504T121212Z"; + private const string ISOSigningDate = "20200504"; + private const string TestAccessKeyId = "aKey"; + private const string TestSecretKey = "sKey"; + private const string TestRegion = "us-east-1"; + private const string TestResourcePath = "iam/user"; + private const string TestHost = "sellingpartnerapi.amazon.com"; + private const string JsonMediaType = "application/json; charset=utf-8"; + private const string TestSessionToken = "sToken"; + + private static readonly DateTime SigningDate = DateTime.Parse("2020-05-04 12:12:12"); + + private AWSSignerHelper awsSignerHelperUnderTest; + + public AWSSignerHelperTest() + { + var mockDateHelper = new Mock(); + mockDateHelper.Setup(dateHelper => dateHelper.GetUtcNow()).Returns(SigningDate); + awsSignerHelperUnderTest = new AWSSignerHelper() { DateHelper = mockDateHelper.Object }; + } + + [Fact] + public void TestExtractCanonicalURIParameters() + { + IRestRequest request = new RestRequest(TestResourcePath, Method.GET); + string result = awsSignerHelperUnderTest.ExtractCanonicalURIParameters(request.Resource); + Assert.Equal("/iam/user", result); + } + + [Fact] + public void TestExtractCanonicalURIParameters_ResourcePathWithSpace() + { + string result = awsSignerHelperUnderTest.ExtractCanonicalURIParameters("iam/ user"); + Assert.Equal("/iam/%2520user", result); + } + + [Fact] + public void TestExtractCanonicalURIParameters_EmptyResourcePath() + { + string result = awsSignerHelperUnderTest.ExtractCanonicalURIParameters(string.Empty); + Assert.Equal(Slash, result); + } + + [Fact] + public void TestExtractCanonicalURIParameters_NullResourcePath() + { + string result = awsSignerHelperUnderTest.ExtractCanonicalURIParameters(null); + Assert.Equal(Slash, result); + } + + [Fact] + public void TestExtractCanonicalURIParameters_SlashPath() + { + string result = awsSignerHelperUnderTest.ExtractCanonicalURIParameters(Slash); + Assert.Equal(Slash, result); + } + + [Fact] + public void TestExtractCanonicalQueryString() + { + IRestRequest request = new RestRequest(); + request.AddQueryParameter("Version", "2010-05-08"); + request.AddQueryParameter("Action", "ListUsers"); + request.AddQueryParameter("RequestId", "1"); + + string result = awsSignerHelperUnderTest.ExtractCanonicalQueryString(request); + //Query parameters in canonical order + Assert.Equal("Action=ListUsers&RequestId=1&Version=2010-05-08", result); + } + + [Fact] + public void TestExtractCanonicalQueryString_EmptyQueryParameters() + { + string result = awsSignerHelperUnderTest.ExtractCanonicalQueryString(new RestRequest()); + Assert.Empty(result); + } + + [Fact] + public void TestExtractCanonicalQueryString_WithUrlEncoding() + { + IRestRequest request = new RestRequest(); + request.AddQueryParameter("Action^", "ListUsers$Roles"); + string result = awsSignerHelperUnderTest.ExtractCanonicalQueryString(request); + Assert.Equal("Action%5E=ListUsers%24Roles", result); + } + + [Fact] + public void TestExtractCanonicalHeaders() + { + IRestRequest request = new RestRequest(); + request.AddHeader("X-Amz-Date", "20150830T123600Z"); + request.AddHeader("Host", "iam.amazonaws.com"); + request.AddHeader("Content-Type", JsonMediaType); + + string result = awsSignerHelperUnderTest.ExtractCanonicalHeaders(request); + Assert.Equal("content-type:application/json; charset=utf-8\nhost:iam.amazonaws.com\n" + + "x-amz-date:20150830T123600Z\n", result); + } + + [Fact] + public void TestExtractCanonicalHeaders_NoHeader() + { + string result = awsSignerHelperUnderTest.ExtractCanonicalHeaders(new RestRequest()); + Assert.Empty(result); + } + + [Fact] + public void TestExtractSignedHeaders() + { + IRestRequest request = new RestRequest(); + request.AddHeader("X-Amz-Date", "20150830T123600Z"); + request.AddHeader("Host", "iam.amazonaws.com"); + request.AddHeader("Content-Type", JsonMediaType); + + string result = awsSignerHelperUnderTest.ExtractSignedHeaders(request); + Assert.Equal("content-type;host;x-amz-date", result); + } + + [Fact] + public void TestExtractSignedHeaders_NoHeader() + { + string result = awsSignerHelperUnderTest.ExtractSignedHeaders(new RestRequest()); + Assert.Empty(result); + } + + [Fact] + public void TestHashRequestBody() + { + IRestRequest request = new RestRequest(TestResourcePath, Method.POST); + request.AddJsonBody("{\"test\":\"payload\"}"); + + string result = awsSignerHelperUnderTest.HashRequestBody(request); + Assert.NotEmpty(result); + } + + [Fact] + public void TestHashRequestBody_NoBody() + { + string result = awsSignerHelperUnderTest.HashRequestBody(new RestRequest()); + Assert.NotEmpty(result); + } + + [Fact] + public void TestBuildStringToSign() + { + string expectedCanonicalHash = "foo"; + StringBuilder expectedStringBuilder = new StringBuilder(); + expectedStringBuilder.Append("AWS4-HMAC-SHA256" + "\n"); + expectedStringBuilder.Append(ISOSigningDateTime + "\n"); + expectedStringBuilder.AppendFormat("{0}/{1}/execute-api/aws4_request\n", ISOSigningDate, TestRegion); + expectedStringBuilder.Append(expectedCanonicalHash); + + string result = awsSignerHelperUnderTest.BuildStringToSign(SigningDate, expectedCanonicalHash, TestRegion); + + Assert.Equal(expectedStringBuilder.ToString(), result); + } + + [Fact] + public void TestInitializeHeadersReturnsUtcNow() + { + Assert.Equal(SigningDate, awsSignerHelperUnderTest.SetDateAndHostHeaders(new RestRequest(), TestHost)); + } + + [Fact] + public void TestInitializeHeadersSetsUtcNowXAmzDateHeader() + { + IRestRequest request = new RestRequest(); + awsSignerHelperUnderTest.SetDateAndHostHeaders(request, TestHost); + + Parameter actualParameter = request.Parameters.Find(parameter => + ParameterType.HttpHeader.Equals(parameter.Type) && parameter.Name == AWSSignerHelper.XAmzDateHeaderName); + + Assert.Equal(ISOSigningDateTime, actualParameter.Value); + } + + [Fact] + public void TestInitializeHeadersOverwritesXAmzDateHeader() + { + IRestRequest request = new RestRequest(); + request.AddHeader(AWSSignerHelper.XAmzDateHeaderName, "foobar"); + + awsSignerHelperUnderTest.SetDateAndHostHeaders(request, TestHost); + + Parameter actualParameter = request.Parameters.Find(parameter => + ParameterType.HttpHeader.Equals(parameter.Type) && parameter.Name == AWSSignerHelper.XAmzDateHeaderName); + + Assert.Equal(ISOSigningDateTime, actualParameter.Value); + } + + [Fact] + public void TestAddSignatureToRequest() + { + IRestRequest restRequest = new RestRequest(); + string expectedAccessKeyId = TestAccessKeyId; + string expectedRegion = TestRegion; + string expectedSignature = "testCalculatedSignature"; + string expectedSignedHeaders = "header1;header2"; + + string expectedAuthorizationHeaderValue = string.Format("AWS4-HMAC-SHA256 " + + "Credential={0}/{1}/{2}/execute-api/aws4_request, SignedHeaders={3}, Signature={4}", + expectedAccessKeyId, + ISOSigningDate, + expectedRegion, + expectedSignedHeaders, + expectedSignature); + + awsSignerHelperUnderTest.AddSignature(restRequest, + expectedAccessKeyId, + expectedSignedHeaders, + expectedSignature, + expectedRegion, + SigningDate); + + Parameter actualParameter = restRequest.Parameters.Find(parameter => + ParameterType.HttpHeader.Equals(parameter.Type) && parameter.Name == AWSSignerHelper.AuthorizationHeaderName); + + Assert.Equal(expectedAuthorizationHeaderValue, actualParameter.Value); + } + + [Fact] + public void TestCalculateSignature() + { + string signature = awsSignerHelperUnderTest.CalculateSignature("testString", + SigningDate, + TestSecretKey, + TestRegion); + Assert.Equal("7e2c7c2e330123ef7468b41d8ddaf3841e6ef56959b9116b44ded5466cf96405", signature); + } + + [Fact] + public void TestInitializeHeadersSetsHostHeader() + { + IRestRequest restRequest = new RestRequest(); + + awsSignerHelperUnderTest.SetDateAndHostHeaders(restRequest, TestHost); + + Parameter actualParamter = restRequest.Parameters.Find(parameter => + ParameterType.HttpHeader.Equals(parameter.Type) && parameter.Name == AWSSignerHelper.HostHeaderName); + + Assert.Equal(TestHost, actualParamter.Value); + } + + [Fact] + public void TestInitializeHeadersOverwritesHostHeader() + { + IRestRequest restRequest = new RestRequest(); + + restRequest.AddHeader(AWSSignerHelper.HostHeaderName, "foobar"); + + awsSignerHelperUnderTest.SetDateAndHostHeaders(restRequest, TestHost); + + Parameter actualParamter = restRequest.Parameters.Find(parameter => + ParameterType.HttpHeader.Equals(parameter.Type) && parameter.Name == AWSSignerHelper.HostHeaderName); + + Assert.Equal(TestHost, actualParamter.Value); + } + + [Fact] + public void TestSetSessionHeader() + { + IRestRequest restRequest = new RestRequest(); + + restRequest.AddHeader(AWSSignerHelper.SecurityTokenHeaderName, "testName"); + + awsSignerHelperUnderTest.SetSessionTokenHeader(restRequest, TestSessionToken); + + Parameter actualParameter = restRequest.Parameters.Find(parameter => + ParameterType.HttpHeader.Equals(parameter.Type) && parameter.Name == AWSSignerHelper.SecurityTokenHeaderName); + + Assert.Equal(TestSessionToken, actualParameter.Value); + } + } +} From d9b577110565abb2cec6579e3298a4d3ef044f4d Mon Sep 17 00:00:00 2001 From: Alejandro Chavarria Date: Wed, 5 May 2021 16:05:18 -0600 Subject: [PATCH 338/340] Added AWSSDK Dependencies --- clients/sellingpartner-api-aa-csharp/README.md | 2 ++ 1 file changed, 2 insertions(+) diff --git a/clients/sellingpartner-api-aa-csharp/README.md b/clients/sellingpartner-api-aa-csharp/README.md index a40dae313..2e156f509 100644 --- a/clients/sellingpartner-api-aa-csharp/README.md +++ b/clients/sellingpartner-api-aa-csharp/README.md @@ -83,6 +83,8 @@ All dependencies can be installed via NuGet - RestSharp - 105.1.0 - Newtonsoft.Json 12.0.3 - NETStandard.Library 2.0.3 (platform-specific implementation requirements are documented on the [Microsoft .NET Guide](https://docs.microsoft.com/en-us/dotnet/standard/net-standard)) +- AWSSDK.Core 3.5.1.23 +- AWSSDK.SecurityToken 3.5.1.5 ## License Swagger Codegen templates are subject to the [Swagger Codegen License](https://github.com/swagger-api/swagger-codegen#license). From 1a897de5ff4edc9d37056b17ae7c973cb390177e Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Fri, 29 Nov 2024 10:04:42 +0000 Subject: [PATCH 339/340] Bump requests Bumps the pip group with 1 update in the /clients/sellingpartner-api-aa-python directory: [requests](https://github.com/psf/requests). Updates `requests` from 2.31.0 to 2.32.2 - [Release notes](https://github.com/psf/requests/releases) - [Changelog](https://github.com/psf/requests/blob/main/HISTORY.md) - [Commits](https://github.com/psf/requests/compare/v2.31.0...v2.32.2) --- updated-dependencies: - dependency-name: requests dependency-type: direct:production dependency-group: pip ... Signed-off-by: dependabot[bot] --- clients/sellingpartner-api-aa-python/requirements.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/clients/sellingpartner-api-aa-python/requirements.txt b/clients/sellingpartner-api-aa-python/requirements.txt index 7c107f35e..33da67a3d 100644 --- a/clients/sellingpartner-api-aa-python/requirements.txt +++ b/clients/sellingpartner-api-aa-python/requirements.txt @@ -24,7 +24,7 @@ python-dateutil==2.8.2 pytz==2023.3 PyYAML==6.0 referencing==0.29.1 -requests==2.31.0 +requests==2.32.2 rfc3339-validator==0.1.4 rfc3987==1.3.8 rpds-py==0.8.10 From fe8efb501ddb227a862c5178b707265a8b0bc3b0 Mon Sep 17 00:00:00 2001 From: rubeena begum <163713192+ruby4406@users.noreply.github.com> Date: Sun, 22 Dec 2024 07:05:47 +0530 Subject: [PATCH 340/340] Create static.yml Signed-off-by: rubeena begum <163713192+ruby4406@users.noreply.github.com> --- .github/workflows/static.yml | 43 ++++++++++++++++++++++++++++++++++++ 1 file changed, 43 insertions(+) create mode 100644 .github/workflows/static.yml diff --git a/.github/workflows/static.yml b/.github/workflows/static.yml new file mode 100644 index 000000000..f2c9e97c9 --- /dev/null +++ b/.github/workflows/static.yml @@ -0,0 +1,43 @@ +# Simple workflow for deploying static content to GitHub Pages +name: Deploy static content to Pages + +on: + # Runs on pushes targeting the default branch + push: + branches: ["main"] + + # Allows you to run this workflow manually from the Actions tab + workflow_dispatch: + +# Sets permissions of the GITHUB_TOKEN to allow deployment to GitHub Pages +permissions: + contents: read + pages: write + id-token: write + +# Allow only one concurrent deployment, skipping runs queued between the run in-progress and latest queued. +# However, do NOT cancel in-progress runs as we want to allow these production deployments to complete. +concurrency: + group: "pages" + cancel-in-progress: false + +jobs: + # Single deploy job since we're just deploying + deploy: + environment: + name: github-pages + url: ${{ steps.deployment.outputs.page_url }} + runs-on: ubuntu-latest + steps: + - name: Checkout + uses: actions/checkout@v4 + - name: Setup Pages + uses: actions/configure-pages@v5 + - name: Upload artifact + uses: actions/upload-pages-artifact@v3 + with: + # Upload entire repository + path: '.' + - name: Deploy to GitHub Pages + id: deployment + uses: actions/deploy-pages@v4